ZGlmZiAtLWdpdCBhL0FVVEhPUlMgYi9BVVRIT1JTCmluZGV4IGE3ZmE4ZjIuLmJkNmQ4OWIgMTAwNjQ0Ci0tLSBhL0FVVEhPUlMKKysrIGIvQVVUSE9SUwpAQCAtMzM0LDYgKzMzNCw3IEBACiBleGFtcGxlcy9mdW5jdGlvbnMvZnN0dHkJQ2hldCBSYW1leQogZXhhbXBsZXMvZnVuY3Rpb25zL2pqLmJhc2gJQ2hldCBSYW1leQogZXhhbXBsZXMvZnVuY3Rpb25zL25vdGlmeS5iYXNoCUNoZXQgUmFtZXkKK2V4YW1wbGVzL2xvYWRhYmxlcy9nZXRjb25mLmMJSi5ULiBDb25rbGluCiBleGFtcGxlcy9zY3JpcHRzL3NocHJvbXB0CUNoZXQgUmFtZXkKIGV4YW1wbGVzL3NjcmlwdHMvYWR2ZW50dXJlLnNoCUNoZXQgUmFtZXksIERvdWcgR3d5bgogZXhhbXBsZXMvc2NyaXB0cy9iY3NoLnNoCUNocmlzIFJvYmVydHNvbiwgQ2hldCBSYW1leQpkaWZmIC0tZ2l0IGEvQ0hBTkdFUyBiL0NIQU5HRVMKaW5kZXggM2Q3MWYxNy4uMzU5ZTEwZCAxMDA2NDQKLS0tIGEvQ0hBTkdFUworKysgYi9DSEFOR0VTCkBAIC0xLDMgKzEsMzc1IEBACitUaGlzIGRvY3VtZW50IGRldGFpbHMgdGhlIGNoYW5nZXMgYmV0d2VlbiB0aGlzIHZlcnNpb24sIGJhc2gtNC4xLXJjLAorYW5kIHRoZSBwcmV2aW91cyB2ZXJzaW9uLCBiYXNoLTQuMS1iZXRhLgorCisxLiAgQ2hhbmdlcyB0byBCYXNoCisKK2EuICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCBwcmludGYgdG8gbm90IHJldHVybiBhIHBhcnRpYWwgdmFsdWUgd2hlbiBpdAorICAgIGVuY291bnRlcmVkIGFuIGVycm9yIHdoaWxlIGNvbnZlcnRpbmcgYW4gaW50ZWdlciBhcmd1bWVudC4KKworYi4gIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIHNldHRpbmcgb25lIG9mIHRoZSBjb21wYXROTiBvcHRpb25zIHRvIG5vdAorICAgIHR1cm4gb2ZmIHRoZSBvdGhlcnMuCisKK2MuICBUaGUgKHVuZG9jdW1lbnRlZCkgLS13b3JkZXhwIG9wdGlvbiBpcyBubyBsb25nZXIgaW5jbHVkZWQgYnkgZGVmYXVsdC4KKworZC4gIEZpeGVkIGEgYnVnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQgZXhlY3V0aW9uIHRoYXQgY2F1c2VkIGl0IHRvIG5vdAorICAgIGNvcnJlY3RseSBpZ25vcmUgdGhlIGV4aXQgc3RhdHVzIHVuZGVyIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcy4KKworZS4gIEFkZGVkIGEgY29uZmlndXJlLXRpbWUgY2hlY2sgZm9yIGNvcnJlY3RseS13b3JraW5nIGFzcHJpbnRmL3NucHJpbnRmLgorCitmLiAgRml4ZWQgc29tZSBwcm9ibGVtcyB3aXRoIGxpbmUgbnVtYmVyIGNhbGN1bGF0aW9uIGFuZCBkaXNwbGF5IHdoZW4gc291cmNpbmcKKyAgICBhIGZpbGUgaW4gYW4gaW50ZXJhY3RpdmUgc2hlbGwuCisKK2cuICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCB0aGUgc2hlbGwgdG8gY3Jhc2ggd2hlbiB1c2luZyBgZGVjbGFyZSAtQSBmb289YmFyJy4KKworaC4gIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIGFuIG9mZi1ieS1vbmUgZXJyb3Igd2hlbiBjYWxjdWxhdGluZyB0aGUgZGlyZWN0b3JpZXMKKyAgICB0byBkaXNwbGF5IHdpdGggdGhlIFBST01QVF9ESVJUUklNIG9wdGlvbi4KKworMi4gIENoYW5nZXMgdG8gUmVhZGxpbmUKKworYS4gIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIGFwcGxpY2F0aW9ucyB1c2luZyB0aGUgY2FsbGJhY2sgaW50ZXJmYWNlIHRvIG5vdAorICAgIHJlYWN0IHRvIFNJR0lOVCAob3Igb3RoZXIgc2lnbmFscykgdW50aWwgYW5vdGhlciBjaGFyYWN0ZXIgYXJyaXZlZC4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitUaGlzIGRvY3VtZW50IGRldGFpbHMgdGhlIGNoYW5nZXMgYmV0d2VlbiB0aGlzIHZlcnNpb24sIGJhc2gtNC4xLWJldGEsCithbmQgdGhlIHByZXZpb3VzIHZlcnNpb24sIGJhc2gtNC4xLWFscGhhLgorCisxLiAgQ2hhbmdlcyB0byBCYXNoCisKK2EuICBGaXhlZCBhIGJ1ZyBpbiBtYXBmaWxlIHRoYXQgY2F1c2VkIHRoZSBzaGVsbCB0byBjcmFzaCBpZiBpdCB3YXMgcGFzc2VkIHRoZQorICAgIG5hbWUgb2YgYW4gYXNzb2NpYXRpdmUgYXJyYXkuCisKK2IuICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCB0aGUgc2hlbGwgdG8gaW5jb3JyZWN0bHkgc3BsaXQgY2FzZSBwYXR0ZXJucyBpZgorICAgIHRoZXkgY29udGFpbmVkIGNoYXJhY3RlcnMgaW4gJElGUy4KKworYy4gIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIHRoZSBzaGVsbCB0byBzZXQgJD8gdG8gdGhlIHdyb25nIHZhbHVlIHdoZW4gdXNpbmcKKyAgICBhIGNvbnN0cnVjdCBlbmRpbmcgd2l0aCBhIHZhcmlhYmxlIGFzc2lnbm1lbnQgd2l0aCBzZXQgLXggZW5hYmxlZCBhbmQgUFM0CisgICAgY29udGFpbmluZyBhIGNvbW1hbmQgc3Vic3RpdHV0aW9uLgorCitkLiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgdGhlIHNoZWxsIHRvIHJlYWQgY29tbWFuZHMgaW5jb3JyZWN0bHkgaWYgYW4KKyAgICBleHBhbnNpb24gZXJyb3Igb2NjdXJyZWQgdW5kZXIgY2VydGFpbiBjb25kaXRpb25zIGluIGEgdXNlci1zcGVjaWZpZWQKKyAgICBzdWJzaGVsbC4KKworZS4gIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIHRoZSBzaGVsbCB0byBzZXQgJD8gaW5jb3JyZWN0bHkgaWYgYSBwYXJzZSBlcnJvcgorICAgIG9jY3VycmVkIGluIGFuIGV2YWx1YXRpb24gY29udGV4dCAoImV2YWwiLCB0cmFwIGNvbW1hbmQsIGRvdCBzY3JpcHQsIGV0Yy4pCisKK2YuICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCB0aGUgc2hlbGwgdG8gYXR0ZW1wdCBjb21tYW5kIHN1YnN0aXR1dGlvbgorICAgIGNvbXBsZXRpb24gd2l0aGluIGEgc2luZ2xlLXF1b3RlZCBzdHJpbmcuCisKK2cuICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCB0aGUgc2hlbGwgdG8gaW5zZXJ0IGFuIGV4dHJhIHNpbmdsZSBxdW90ZSBkdXJpbmcKKyAgICB3b3JkIGNvbXBsZXRpb24uCisKK2guICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCB0aGUgc2hlbGwgdG8gY3Jhc2ggaWYgaW52b2tlZCB3aXRoIHRoZSBlbnZpcm9ubWVudAorICAgIHZhcmlhYmxlIEVNQUNTIGhhdmluZyBhIG51bGwgdmFsdWUuCisKK2kuICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCBiYXNoIHRvIGluY29ycmVjdGx5IHJlcG9ydCB0aGUgcHJlc2VuY2Ugb2YgbmV3CisgICAgbWFpbCBpbiBhIGBtYWlsZGlyJyBlbnZpcm9ubWVudC4KKworai4gIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIHRoZSBzaGVsbCB0byBub3QgcmVjb2duaXplIGEgaGVyZS1kb2N1bWVudCBlbmRpbmcKKyAgICBkZWxpbWl0ZXIgaW5zaWRlIGEgY29tbWFuZCBzdWJzdGl0dXRpb24uCisKK2suICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCB0aGUgc2hlbGwgdG8gY3Jhc2ggd2hlbiBhIGEgZHluYW1pYyBhcnJheSB2YXJpYWJsZQorICAgIHdhcyBhc3NpZ25lZCBhIHNjYWxhciB2YWx1ZS4KKworMi4gIENoYW5nZXMgdG8gUmVhZGxpbmUKKworMy4gIE5ldyBGZWF0dXJlcyBpbiBCYXNoCisKK2EuICBUaGUgbWFwZmlsZS9yZWFkYXJyYXkgYnVpbHRpbiBubyBsb25nZXIgc3RvcmVzIHRoZSBjb21tYW5kcyBpdCBpbnZva2VzIHZpYQorICAgIGNhbGxiYWNrcyBpbiB0aGUgaGlzdG9yeSBsaXN0LgorCitiLiAgVGhlcmUgaXMgYSBuZXcgYGNvbXBhdDQwJyBzaG9wdCBvcHRpb24uCisKK2MuICBUaGUgPCBhbmQgPiBvcGVyYXRvcnMgdG8gW1sgZG8gc3RyaW5nIGNvbXBhcmlzb25zIHVzaW5nIHRoZSBjdXJyZW50IGxvY2FsZQorICAgIG9ubHkgaWYgdGhlIGNvbXBhdGliaWxpdHkgbGV2ZWwgaXMgZ3JlYXRlciB0aGFuIDQwIChzZXQgdG8gNDEgYnkgZGVmYXVsdCkuCisKKzQuICBOZXcgRmVhdHVyZXMgaW4gUmVhZGxpbmUKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitUaGlzIGRvY3VtZW50IGRldGFpbHMgdGhlIGNoYW5nZXMgYmV0d2VlbiB0aGlzIHZlcnNpb24sIGJhc2gtNC4xLWFscGhhLAorYW5kIHRoZSBwcmV2aW91cyB2ZXJzaW9uLCBiYXNoLTQuMC1yZWxlYXNlLgorCisxLiAgQ2hhbmdlcyB0byBCYXNoCisKK2EuICBGaXhlZCBidWdzIGluIHRoZSBwYXJzZXIgaW52b2x2aW5nIG5ldyBwYXJzaW5nIG9mIHRoZSBjb21tYW5kcyBjb250YWluZWQKKyAgICBpbiBjb21tYW5kIHN1YnN0aXR1dGlvbiB3aGVuIHRoZSBzdWJzdGl0dXRpb24gaXMgcmVhZC4KKworYi4gIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIHRoZSBzaGVsbCB0byBkdW1wIGNvcmUgd2hlbiBwZXJmb3JtaW5nIHByb2dyYW1tYWJsZQorICAgIGNvbXBsZXRpb24gdXNpbmcgYSBzaGVsbCBmdW5jdGlvbi4KKworYy4gIEZpeGVkIGEgYnVnIGluIGBtYXBmaWxlJyB0aGF0IGNhdXNlZCBpdCB0byBpbnZva2UgY2FsbGJhY2tzIGF0IHRoZSB3cm9uZworICAgIHRpbWUuCisKK2QuICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCB0aGUgc2hlbGwgdG8gZHVtcCBjb3JlIHdoZW4gbGlzdGluZyBqb2JzIGluIHRoZQorICAgIGBleGl0JyBidWlsdGluLgorCitlLiAgRml4ZWQgc2V2ZXJhbCBidWdzIGVuY291bnRlcmVkIHdoZW4gcmVhZGluZyBzdWJzY3JpcHRzIGluIGFzc29jaWF0aXZlCisgICAgYXJyYXkgYXNzaWdubWVudHMgYW5kIGV4cGFuc2lvbnMuCisKK2YuICBGaXhlZCBhIGJ1ZyB0aGF0IHVuZGVyIHNvbWUgY2lyY3Vtc3RhbmNlcyBjYXVzZWQgYW4gYXNzb2NpYXRpdmUgYXJyYXkgdG8KKyAgICBiZSBjb252ZXJ0ZWQgdG8gYW4gaW5kZXhlZCBhcnJheS4KKworZy4gIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIHN5bnRheCBlcnJvcnMgYW5kIFNJR0lOVCBpbnRlcnJ1cHRzIHRvIG5vdCBzZXQKKyAgICAkPyB0byBhIHZhbHVlID4gMTI4LgorCitoLiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgdGhlIHNoZWxsIHRvIHJlbW92ZSBGSUZPcyBhc3NvY2lhdGVkIHdpdGggcHJvY2VzcworICAgIHN1YnN0aXR1dGlvbiBpbnNpZGUgc2hlbGwgZnVuY3Rpb25zLgorCitpLiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgdGVybWluYWwgYXR0cmlidXRlcyB0byBub3QgYmUgcmVzZXQgd2hlbiB0aGUKKyAgICBgcmVhZCcgYnVpbHRpbiB0aW1lZCBvdXQuCisKK2ouICBGaXhlZCBhIGJ1ZyBpbiBicmFjZSBleHBhbnNpb24gdGhhdCBjYXVzZWQgdW53YW50ZWQgemVybyBwYWRkaW5nIG9mIHRoZQorICAgIGV4cGFuZGVkIHRlcm1zLgorCitrLiAgRml4ZWQgYSBidWcgdGhhdCBwcmV2ZW50ZWQgdGhlIHwmIGNvbnN0cnVjdCBmcm9tIHdvcmtpbmcgYXMgaW50ZW5kZWQgd2hlbgorICAgIHVzZWQgd2l0aCBhIHNpbXBsZSBjb21tYW5kIHdpdGggYWRkaXRpb25hbCByZWRpcmVjdGlvbnMuCisKK2wuICBGaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjYXNlIHN0YXRtZW50IDsmIHRlcm1pbmF0b3IgdGhhdCBjYXVzZWQgdGhlIHNoZWxsIHRvCisgICAgZGVyZWZlcmVuY2UgYSBOVUxMIHBvaW50ZXIuCisKK20uICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCBhc3NpZ25tZW50IHN0YXRlbWVudHMgb3IgcmVkaXJlY3Rpb25zIHByZWNlZGluZworICAgIGEgc2ltcGxlIGNvbW1hbmQgbmFtZSB0byBpbmhpYml0IGFsaWFzIGV4cGFuc2lvbi4KKworbi4gIEZpeGVkIHRoZSBiZWhhdmlvciBvZiBgc2V0IC11JyB0byBjb25mb3JtIHRvIHRoZSBsYXRlc3QgUG9zaXggaW50ZXJwcmV0YXRpb246CisgICAgZXZlcnkgZXhwYW5zaW9uIG9mIGFuIHVuc2V0IHZhcmlhYmxlIGV4Y2VwdCAkQCBhbmQgJCogd2lsbCBjYXVzZSB0aGUKKyAgICBzaGVsbCB0byBleGl0LgorCitvLiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgZG91YmxlLXF1b3RlZCBleHBhbnNpb25zIG9mICQqIGluc2lkZSB3b3JkCisgICAgZXhwYW5zaW9ucyBsaWtlICR7eCMkKn0gdG8gbm90IGV4cGFuZCBwcm9wZXJseSB3aGVuICRJRlMgaXMgZW1wdHkuCisKK3AuICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCB0cmFwcyB0byBzZXQgJExJTkVOTyB0byB0aGUgd3JvbmcgdmFsdWUgd2hlbiB0aGV5CisgICAgZXhlY3V0ZS4KKworcS4gIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIG9mZi1ieS1vbmUgZXJyb3JzIHdoZW4gY29tcHV0aW5nIGhpc3RvcnkgbGluZXMgaW4KKyAgICB0aGUgYGZjJyBidWlsdGluLgorCityLiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgc29tZSB0ZXJtaW5hdGluZyBzaWduYWxzIHRvIG5vdCBleGl0IHRoZSBzaGVsbAorICAgIHF1aWNrbHkgZW5vdWdoLCBmb3JjaW5nIHRoZSBrZXJuZWwgdG8gc2VuZCB0aGUgc2lnbmFsIChlLmcuLCBTSUdTRUdWKQorICAgIG11bHRpcGxlIHRpbWVzLgorCitzLiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgdGhlIHNoZWxsIHRvIGF0dGVtcHQgdG8gYWRkIGVtcHR5IGxpbmVzIHRvIHRoZQorICAgIGhpc3RvcnkgbGlzdCB3aGVuIHJlYWRpbmcgaGVyZSBkb2N1bWVudHMuCisKK3QuICBNYWRlIHNvbWUgaW50ZXJuYWwgY2hhbmdlcyB0aGF0IGRyYW1hdGljYWxseSBzcGVlZHMgdXAgc2VxdWVudGlhbCBpbmRleGVkCisgICAgYXJyYXkgYWNjZXNzLgorCit1LiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgdGhlIHNoZWxsIHRvIHdyaXRlIHBhc3QgdGhlIGVuZCBvZiBhIHN0cmluZyB3aGVuCisgICAgY29tcGxldGluZyBhIGRvdWJsZS1xdW90ZWQgc3RyaW5nIGVuZGluZyBpbiBhIGJhY2tzbGFzaC4KKwordi4gIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIHRoZSBzaGVsbCB0byByZXBsYWNlIHRvbyBtYW55IGNoYXJhY3RlcnMgd2hlbiBhCisgICAgcGF0dGVybiBtYXRjaCB3YXMgbnVsbCBpbiBhICR7Zm9vLy9iYXJ9IGV4cGFuc2lvbi4KKwordy4gIEZpeGVkIGJ1Z3MgaW4gdGhlIGV4cGFuc2lvbiBvZiAqKiB0aGF0IGNhdXNlZCBkdXBsaWNhdGUgZGlyZWN0b3J5IG5hbWVzCisgICAgYW5kIHRoZSBjb250ZW50cyBvZiB0aGUgY3VycmVudCBkaXJlY3RvcnkgdG8gYmUgb21pdHRlZC4KKworeC4gIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkICQ/IHRvIG5vdCBiZSBzZXQgY29ycmVjdGx5IHdoZW4gcmVmZXJlbmNpbmcgYW4KKyAgICB1bnNldCB2YXJpYWJsZSB3aXRoIHNldCAtdSBhbmQgc2V0IC1lIGVuYWJsZWQuCisKK3kuICBGaXhlZCBhIGJ1ZyBjYXVzZWQgYnkgZXhlY3V0aW5nIGFuIGV4dGVybmFsIHByb2dyYW0gZnJvbSB0aGUgREVCVUcgdHJhcAorICAgIHdoaWxlIGEgcGlwZWxpbmUgd2FzIHJ1bm5pbmcuICBUaGUgZWZmZWN0IHdhcyB0byBkaXN0dXJiIHRoZSBwaXBlbGluZQorICAgIHN0YXRlLCBvY2Nhc2lvbmFsbHkgY2F1c2luZyBpdCB0byBoYW5nLgorCit6LiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgdGhlICoqIGdsb2IgZXhwYW5zaW9uIHRvIGR1bXAgY29yZSBpZiBpdAorICAgIGVuY291bnRlcmVkIGFuIHVuc2VhcmNoYWJsZSBkaXJlY3RvcnkuCisKK2FhLiBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCBgY29tbWFuZCAtdicgYW5kIGBjb21tYW5kIC1WJyB0byBub3QgaG9ub3IgdGhlCisgICAgcGF0aCBzZXQgYnkgdGhlIC1wIG9wdGlvbi4KKworYmIuIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIGJyYWNlIGV4cGFuc2lvbiB0byB0YWtlIHBsYWNlIHRvbyBzb29uIGluIHNvbWUKKyAgICBjb21wb3VuZCBhcnJheSBhc3NpZ25tZW50cy4KKworY2MuIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGZ1bmN0aW9ucycgY2hhbmdlcyB0bworICAgIFJFQURMSU5FX1BPSU5UIHRvIG5vdCBiZSByZWZsZWN0ZWQgYmFjayB0byByZWFkbGluZS4KKworZGQuIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIHRoZSBzaGVsbCB0byBkdW1wIGNvcmUgaWYgYSB0cmFwIHdhcyBleGVjdXRlZAorICAgIGR1cmluZyBhIHNoZWxsIGFzc2lnbm1lbnQgc3RhdGVtZW50LgorCitlZS4gRml4ZWQgYW4gb2ZmLWJ5LW9uZSBlcnJvciB3aGVuIGNvbXB1dGluZyB0aGUgbnVtYmVyIG9mIHBvc2l0aW9uYWwKKyAgICBwYXJhbWV0ZXJzIGZvciB0aGUgJHtAOjA6bn0gZXhwYW5zaW9uLgorCitmZi4gRml4ZWQgYSBwcm9ibGVtIHdpdGggc2V0dGluZyBDT01QX0NXT1JEIGZvciBwcm9ncmFtbWFibGUgY29tcGxldGlvbgorICAgIGZ1bmN0aW9ucyB0aGF0IGNvdWxkIGxlYXZlIGl0IHNldCB0byAtMS4KKworZ2cuIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIHRoZSBFUlIgdHJhcCB0byBiZSB0cmlnZ2VyZWQgaW4gc29tZSBjYXNlcyB3aGVyZQorICAgIGBzZXQgLWUnIHdvdWxkIG5vdCBoYXZlIGNhdXNlZCB0aGUgc2hlbGwgdG8gZXhpdC4KKworaGguIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIGNoYW5nZXMgbWFkZSBieSBgY29tcG9wdCcgdG8gbm90IHBlcnNpc3QgcGFzdCB0aGUKKyAgICBjb21wbGV0aW9uIGZ1bmN0aW9uIGluIHdoaWNoIGNvbXBvcHQgd2FzIGV4ZWN1dGVkLgorCitpaS4gRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgdGhlIGxpc3Qgb2YgaG9zdG5hbWUgY29tcGxldGlvbnMgdG8gbm90IGJlIGNsZWFyZWQKKyAgICB3aGVuIEhPU1ROQU1FIHdhcyB1bnNldC4KKworamouIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIHZhcmlhYmxlIGV4cGFuc2lvbiBpbiBoZXJlIGRvY3VtZW50cyB0byBsb29rIGluCisgICAgYW55IHRlbXBvcmFyeSBlbnZpcm9ubWVudC4KKwora2suIEJhc2ggYW5kIHJlYWRsaW5lIGNhbiBub3cgY29udmVydCBmaWxlIG5hbWVzIGJldHdlZW4gcHJlY29tcG9zZWQgYW5kCisgICAgZGVjb21wb3NlZCBVbmljb2RlIG9uIE1hYyBPUyBYICgia2V5Ym9hcmQiIGFuZCBmaWxlIHN5c3RlbSBmb3JtcywKKyAgICByZXNwZWN0aXZlbHkpLiAgVGhpcyBhZmZlY3RzIGZpbGVuYW1lIGNvbXBsZXRpb24gKHVzaW5nIG5ldworICAgIHJsX2ZpbGVuYW1lX3Jld3JpdGVfaG9vayksIGdsb2JiaW5nLCBhbmQgcmVhZGxpbmUgcmVkaXNwbGF5LgorCitsbC4gVGhlIEVSUiBhbmQgRVhJVCB0cmFwcyBub3cgc2VlIGEgbm9uLXplcm8gdmFsdWUgZm9yICQ/IHdoZW4gYSBwYXJzZXIKKyAgICBlcnJvciBhZnRlciBzZXQgLWUgaGFzIGJlZW4gZW5hYmxlZCBjYXVzZXMgdGhlIHNoZWxsIHRvIGV4aXQuCisKK21tLiBGaXhlZCBhIGJ1ZyB0aGF0IGluIGJyYWNlIGV4cGFuc2lvbiB0aGF0IGNhdXNlZCB6ZXJvLXByZWZpeGVkIHRlcm1zIHRvCisgICAgbm90IGNvbnRhaW4gdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGRpZ2l0cy4KKworbm4uIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIHRoZSBzaGVsbCB0byBmcmVlIG5vbi1hbGxvY2F0ZWQgbWVtb3J5IHdoZW4KKyAgICB1bnNldHRpbmcgYW4gYXNzb2NpYXRpdmUgYXJyYXkgd2hpY2ggaGFkIGhhZCBhIHZhbHVlIGltcGxpY2l0bHkgYXNzaWduZWQKKyAgICB0byBpbmRleCAiMCIuCisKK29vLiBGaXhlZCBhIG1lbW9yeSBsZWFrIGluIHRoZSAkeyFwcmVmaXhAfSBleHBhbnNpb24uCisKK3BwLiBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCBwcmludGYgdG8gbm90IGNvcnJlY3RseSByZXBvcnQgYWxsIHdyaXRlIGVycm9ycy4KKworcXEuIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIHNpbmdsZSBhbmQgZG91YmxlIHF1b3RlcyB0byBhY3QgYXMgZGVsaW1pdGVycworICAgIHdoZW4gc3BsaXR0aW5nIGEgY29tbWFuZCBsaW5lIGludG8gd29yZHMgZm9yIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uLgorCityci4gRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgKiogZ2xvYmJpbmcgdGhhdCBjYXVzZWQgKiovcGF0aC8qIHRvIG1hdGNoIGV2ZXJ5CisgICAgZGlyZWN0b3J5LCBub3QganVzdCB0aG9zZSBtYXRjaGluZyBgcGF0aCcuCisKK3NzLiBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCB0aGUgc2hlbGwgdG8gZHVtcCBjb3JlIHdoZW4gcnVubmluZyBgaGVscCcgd2l0aG91dAorICAgIGFyZ3VtZW50cyBpZiB0aGUgdGVybWluYWwgd2lkdGggd2FzIGZld2VyIHRoYW4gNyBjaGFyYWN0ZXJzLgorCisyLiAgQ2hhbmdlcyB0byBSZWFkbGluZQorCithLiAgVGhlIFNJR1dJTkNIIHNpZ25hbCBoYW5kbGVyIG5vdyBhdm9pZHMgY2FsbGluZyB0aGUgcmVkaXNwbGF5IGNvZGUgaWYKKyAgICBvbmUgYXJyaXZlcyB3aGlsZSBpbiB0aGUgbWlkZGxlIG9mIHJlZGlzcGxheS4KKworYi4gIENoYW5nZXMgdG8gdGhlIHRpbWVvdXQgY29kZSB0byBtYWtlIHN1cmUgdGhhdCB0aW1lb3V0IHZhbHVlcyBncmVhdGVyCisgICAgdGhhbiBvbmUgc2Vjb25kIGFyZSBoYW5kbGVkIGJldHRlci4KKworYy4gIEZpeGVkIGEgYnVnIGluIHRoZSByZWRpc3BsYXkgY29kZSB0aGF0IHdhcyB0cmlnZ2VyZWQgYnkgYSBwcm9tcHQKKyAgICBjb250YWluaW5nIGludmlzaWJsZSBjaGFyYWN0ZXJzIGV4YWN0bHkgdGhlIHdpZHRoIG9mIHRoZSBzY3JlZW4uCisKK2QuICBGaXhlZCBhIGJ1ZyBpbiB0aGUgcmVkaXNwbGF5IGNvZGUgZW5jb3VudGVyZWQgd2hlbiBydW5uaW5nIGluIGhvcml6b250YWwKKyAgICBzY3JvbGwgbW9kZS4KKworZS4gIEZpeGVkIGEgYnVnIHRoYXQgcHJldmVudGVkIG1lbnUgY29tcGxldGlvbiBmcm9tIHByb3Blcmx5IGNvbXBsZXRpbmcKKyAgICBmaWxlbmFtZXMuCisKK2YuICBGaXhlZCBhIHJlZGlzcGxheSBidWcgY2F1c2VkIGJ5IGEgbXVsdGlieXRlIGNoYXJhY3RlciBjYXVzaW5nIGEgbGluZSB0bworICAgIHdyYXAuCisKK2cuICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCBrZXkgc2VxdWVuY2VzIG9mIHR3byBjaGFyYWN0ZXJzIHRvIG5vdCBiZQorICAgIHJlY29nbml6ZWQgd2hlbiBhIGxvbmdlciBzZXF1ZW5jZSBpZGVudGljYWwgaW4gdGhlIGZpcnN0IHR3byBjaGFyYWN0ZXJzCisgICAgd2FzIGJvdW5kLgorCitoLiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgaGlzdG9yeSBleHBhbnNpb24gdG8gYmUgYXR0ZW1wdGVkIG9uICQnLi4uJworICAgIHNpbmdsZS1xdW90ZWQgc3RyaW5ncy4KKworaS4gIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIGluY29ycmVjdCByZWRpc3BsYXkgd2hlbiB0aGUgcHJvbXB0IGNvbnRhaW5lZAorICAgIG11bHRpYnl0ZSBjaGFyYWN0ZXJzIGluIGFuIGBpbnZpc2libGUnIHNlcXVlbmNlIGJyYWNrZXRlZCBieSBcWyBhbmQKKyAgICBcXS4KKworai4gIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIGhpc3RvcnkgZXhwYW5zaW9uIHRvIHNob3J0LWNpcmN1aXQgYWZ0ZXIKKyAgICBlbmNvdW50ZXJpbmcgYSBtdWx0aWJ5dGUgY2hhcmFjdGVyLgorCiszLiAgTmV3IEZlYXR1cmVzIGluIEJhc2gKKworYS4gIEhlcmUtZG9jdW1lbnRzIHdpdGhpbiAkKC4uLikgY29tbWFuZCBzdWJzdGl0dXRpb25zIG1heSBvbmNlIG1vcmUgYmUKKyAgICBkZWxpbWl0ZWQgYnkgdGhlIGNsb3NpbmcgcmlnaHQgcGFyZW4sIGluc3RlYWQgb2YgcmVxdWlyaW5nIGEgbmV3bGluZS4KKworYi4gIEJhc2gncyBmaWxlIHN0YXR1cyBjaGVja3MgKGV4ZWN1dGFibGUsIHJlYWRhYmxlLCBldGMuKSBub3cgdGFrZSBmaWxlCisgICAgc3lzdGVtIEFDTHMgaW50byBhY2NvdW50IG9uIGZpbGUgc3lzdGVtcyB0aGF0IHN1cHBvcnQgdGhlbS4KKworYy4gIEJhc2ggbm93IHBhc3NlcyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgd2l0aCBuYW1lcyB0aGF0IGFyZSBub3QgdmFsaWQKKyAgICBzaGVsbCB2YXJpYWJsZSBuYW1lcyB0aHJvdWdoIGludG8gdGhlIGVudmlyb25tZW50IHBhc3NlZCB0byBjaGlsZAorICAgIHByb2Nlc3Nlcy4KKworZC4gIFRoZSBgZXhlY3V0ZS11bml4LWNvbW1hbmQnIHJlYWRsaW5lIGZ1bmN0aW9uIG5vdyBhdHRlbXB0cyB0byBjbGVhciBhbmQKKyAgICByZXVzZSB0aGUgY3VycmVudCBsaW5lIHJhdGhlciB0aGFuIG1vdmUgdG8gYSBuZXcgb25lIGFmdGVyIHRoZSBjb21tYW5kCisgICAgZXhlY3V0ZXMuCisKK2UuICBgcHJpbnRmIC12JyBjYW4gbm93IGFzc2lnbiB2YWx1ZXMgdG8gYXJyYXkgaW5kaWNlcy4KKworZi4gIE5ldyBgY29tcGxldGUgLUUnIGFuZCBgY29tcG9wdCAtRScgb3B0aW9ucyB0aGF0IHdvcmsgb24gdGhlICJlbXB0eSIKKyAgICBjb21wbGV0aW9uOiBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhbiBlbXB0eSBjb21tYW5kIGxpbmUuCisKK2cuICBOZXcgY29tcGxldGUvY29tcGdlbi9jb21wb3B0IC1EIG9wdGlvbiB0byBkZWZpbmUgYSBgZGVmYXVsdCcgY29tcGxldGlvbjoKKyAgICBhIGNvbXBsZXRpb24gdG8gYmUgaW52b2tlZCBvbiBjb21tYW5kIGZvciB3aGljaCBubyBjb21wbGV0aW9uIGhhcyBiZWVuCisgICAgZGVmaW5lZC4gIElmIHRoaXMgZnVuY3Rpb24gcmV0dXJucyAxMjQsIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGlzCisgICAgYXR0ZW1wdGVkIGFnYWluLCBhbGxvd2luZyBhIHVzZXIgdG8gZHluYW1pY2FsbHkgYnVpbGQgYSBzZXQgb2YgY29tcGxldGlvbnMKKyAgICBhcyBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCBieSBoYXZpbmcgdGhlIGRlZmF1bHQgY29tcGxldGlvbiBmdW5jdGlvbgorICAgIGluc3RhbGwgaW5kaXZpZHVhbCBjb21wbGV0aW9uIGZ1bmN0aW9ucyBlYWNoIHRpbWUgaXQgaXMgaW52b2tlZC4KKworaC4gIFdoZW4gZGlzcGxheWluZyBhc3NvY2lhdGl2ZSBhcnJheXMsIHN1YnNjcmlwdHMgYXJlIG5vdyBxdW90ZWQuCisKK2kuICBDaGFuZ2VzIHRvIGRhYmJyZXYtZXhwYW5kIHRvIG1ha2UgaXQgbW9yZSBgZW1hY3MtbGlrZSc6IG5vIHNwYWNlIGFwcGVuZGVkCisgICAgYWZ0ZXIgbWF0Y2hlcywgY29tcGxldGlvbnMgYXJlIG5vdCBzb3J0ZWQsIGFuZCBtb3N0IHJlY2VudCBoaXN0b3J5IGVudHJpZXMKKyAgICBhcmUgcHJlc2VudGVkIGZpcnN0LgorCitqLiAgVGhlIFtbIGFuZCAoKCBjb21tYW5kcyBhcmUgbm93IHN1YmplY3QgdG8gdGhlIHNldHRpbmcgb2YgYHNldCAtZScgYW5kIHRoZQorICAgIEVSUiB0cmFwLgorCitrLiAgVGhlIHNvdXJjZS8uIGJ1aWx0aW4gbm93IHJlbW92ZXMgTlVMIGJ5dGVzIGZyb20gdGhlIGZpbGUgYmVmb3JlIGF0dGVtcHRpbmcKKyAgICB0byBwYXJzZSBjb21tYW5kcy4KKworbC4gIFRoZXJlIGlzIGEgbmV3IGNvbmZpZ3VyYXRpb24gb3B0aW9uIChpbiBjb25maWctdG9wLmgpIHRoYXQgZm9yY2VzIGJhc2ggdG8KKyAgICBmb3J3YXJkIGFsbCBoaXN0b3J5IGVudHJpZXMgdG8gc3lzbG9nLgorCittLiAgQSBuZXcgdmFyaWFibGUgJEJBU0hPUFRTIHRvIGV4cG9ydCBzaGVsbCBvcHRpb25zIHNldHRhYmxlIHVzaW5nIGBzaG9wdCcgdG8KKyAgICBjaGlsZCBwcm9jZXNzZXMuCisKK24uICBUaGVyZSBpcyBhIG5ldyBjb25mZ3VyZSBvcHRpb24gdGhhdCBmb3JjZXMgdGhlIGV4dGdsb2Igb3B0aW9uIHRvIGJlCisgICAgZW5hYmxlZCBieSBkZWZhdWx0LgorCitvLiAgTmV3IHZhcmlhYmxlICRCQVNIX1hUUkFDRUZEOyB3aGVuIHNldCB0byBhbiBpbnRlZ2VyIGJhc2ggd2lsbCB3cml0ZSB4dHJhY2UKKyAgICBvdXRwdXQgdG8gdGhhdCBmaWxlIGRlc2NyaXB0b3IuCisKK3AuICBJZiB0aGUgb3B0aW9uYWwgbGVmdC1oYW5kLXNpZGUgb2YgYSByZWRpcmVjdGlvbiBpcyBvZiB0aGUgZm9ybSB7dmFyfSwgdGhlCisgICAgc2hlbGwgYXNzaWducyB0aGUgZmlsZSBkZXNjcmlwdG9yIHVzZWQgdG8gJHZhciBvciB1c2VzICR2YXIgYXMgdGhlIGZpbGUKKyAgICBkZXNjcmlwdG9yIHRvIG1vdmUgb3IgY2xvc2UsIGRlcGVuZGluZyBvbiB0aGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IuCisKK3EuICBUaGUgPCBhbmQgPiBvcGVyYXRvcnMgdG8gdGhlIFtbIGNvbmRpdGlvbmFsIGNvbW1hbmQgbm93IGRvIHN0cmluZworICAgIGNvbXBhcmlzb24gYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IGxvY2FsZS4KKworci4gIFByb2dyYW1tYWJsZSBjb21wbGV0aW9uIG5vdyB1c2VzIHRoZSBjb21wbGV0aW9uIGZvciBgYicgaW5zdGVhZCBvZiBgYScKKyAgICB3aGVuIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkIG9uIGEgbGluZSBsaWtlOiBhICQoYiBjLgorCitzLiAgRm9yY2UgZXh0Z2xvYiBvbiB0ZW1wb3JhcmlseSB3aGVuIHBhcnNpbmcgdGhlIHBhdHRlcm4gYXJndW1lbnQgdG8KKyAgICB0aGUgPT0gYW5kICE9IG9wZXJhdG9ycyB0byB0aGUgW1sgY29tbWFuZCwgZm9yIGNvbXBhdGliaWxpdHkuCisKK3QuICBDaGFuZ2VkIHRoZSBiZWhhdmlvciBvZiBpbnRlcnJ1cHRpbmcgdGhlIHdhaXQgYnVpbHRpbiB3aGVuIGEgU0lHQ0hMRCBpcworICAgIHJlY2VpdmVkIGFuZCBhIHRyYXAgb24gU0lHQ0hMRCBpcyBzZXQgdG8gYmUgUG9zaXgtbW9kZSBvbmx5LgorCit1LiAgVGhlIHJlYWQgYnVpbHRpbiBoYXMgYSBuZXcgYC1OIG5jaGFycycgb3B0aW9uLCB3aGljaCByZWFkcyBleGFjdGx5IE5DSEFSUworICAgIGNoYXJhY3RlcnMsIGlnbm9yaW5nIGRlbGltaXRlcnMgbGlrZSBuZXdsaW5lLgorCis0LiAgTmV3IEZlYXR1cmVzIGluIFJlYWRsaW5lCisKK2EuICBOZXcgYmluZGFibGUgZnVuY3Rpb246IG1lbnUtY29tcGxldGUtYmFja3dhcmQuCisKK2IuICBJbiB0aGUgdmkgaW5zZXJ0aW9uIGtleW1hcCwgQy1uIGlzIG5vdyBib3VuZCB0byBtZW51LWNvbXBsZXRlIGJ5IGRlZmF1bHQsCisgICAgYW5kIEMtcCB0byBtZW51LWNvbXBsZXRlLWJhY2t3YXJkLgorCitjLiAgV2hlbiBpbiB2aSBjb21tYW5kIG1vZGUsIHJlcGVhdGVkbHkgaGl0dGluZyBFU0Mgbm93IGRvZXMgbm90aGluZywgZXZlbgorICAgIHdoZW4gRVNDIGludHJvZHVjZXMgYSBib3VuZCBrZXkgc2VxdWVuY2UuICBUaGlzIGlzIGNsb3NlciB0byBob3cKKyAgICBoaXN0b3JpY2FsIHZpIGJlaGF2ZXMuCisKK2QuICBOZXcgYmluZGFibGUgZnVuY3Rpb246IHNraXAtY3NpLXNlcXVlbmNlLiAgQ2FuIGJlIHVzZWQgYXMgYSBkZWZhdWx0IHRvCisgICAgY29uc3VtZSBrZXkgc2VxdWVuY2VzIGdlbmVyYXRlZCBieSBrZXlzIGxpa2UgSG9tZSBhbmQgRW5kIHdpdGhvdXQgaGF2aW5nCisgICAgdG8gYmluZCBhbGwga2V5cy4KKworZS4gIE5ldyBhcHBsaWNhdGlvbi1zZXR0YWJsZSBmdW5jdGlvbjogcmxfZmlsZW5hbWVfcmV3cml0ZV9ob29rLiAgQ2FuIGJlIHVzZWQKKyAgICB0byByZXdpdGUgb3IgbW9kaWZ5IGZpbGVuYW1lcyByZWFkIGZyb20gdGhlIGZpbGUgc3lzdGVtIGJlZm9yZSB0aGV5IGFyZQorICAgIGNvbXBhcmVkIHRvIHRoZSB3b3JkIHRvIGJlIGNvbXBsZXRlZC4KKworZi4gIE5ldyBiaW5kYWJsZSB2YXJpYWJsZTogc2tpcC1jb21wbGV0ZWQtdGV4dCwgYWN0aXZlIHdoZW4gY29tcGxldGluZyBpbiB0aGUKKyAgICBtaWRkbGUgb2YgYSB3b3JkLiAgSWYgZW5hYmxlZCwgaXQgbWVhbnMgdGhhdCBjaGFyYWN0ZXJzIGluIHRoZSBjb21wbGV0aW9uCisgICAgdGhhdCBtYXRjaCBjaGFyYWN0ZXJzIGluIHRoZSByZW1haW5kZXIgb2YgdGhlIHdvcmQgYXJlICJza2lwcGVkIiByYXRoZXIKKyAgICB0aGFuIGluc2VydGVkIGludG8gdGhlIGxpbmUuCisKK2cuICBUaGUgcHJlLXJlYWRsaW5lLTYuMCB2ZXJzaW9uIG9mIG1lbnUgY29tcGxldGlvbiBpcyBhdmFpbGFibGUgYXMKKyAgICAib2xkLW1lbnUtY29tcGxldGUiIGZvciB1c2VycyB3aG8gZG8gbm90IGxpa2UgdGhlIHJlYWRsaW5lLTYuMCB2ZXJzaW9uLgorCitoLiAgTmV3IGJpbmRhYmxlIHZhcmlhYmxlOiBlY2hvLWNvbnRyb2wtY2hhcmFjdGVycy4gIElmIGVuYWJsZWQsIGFuZCB0aGUKKyAgICB0dHkgRUNIT0NUTCBiaXQgaXMgc2V0LCBjb250cm9scyB0aGUgZWNob2luZyBvZiBjaGFyYWN0ZXJzIGNvcnJlc3BvbmRpbmcKKyAgICB0byBrZXlib2FyZC1nZW5lcmF0ZWQgc2lnbmFscy4KKworaS4gIE5ldyBiaW5kYWJsZSB2YXJpYWJsZTogZW5hYmxlLW1ldGEta2V5LiAgQ29udHJvbHMgd2hldGhlciBvciBub3QgcmVhZGxpbmUKKyAgICBzZW5kcyB0aGUgc21tL3JtbSBzZXF1ZW5jZXMgaWYgdGhlIHRlcm1pbmFsIGluZGljYXRlcyBpdCBoYXMgYSBtZXRhIGtleQorICAgIHRoYXQgZW5hYmxlcyBlaWdodC1iaXQgY2hhcmFjdGVycy4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBUaGlzIGRvY3VtZW50IGRldGFpbHMgdGhlIGNoYW5nZXMgYmV0d2VlbiB0aGlzIHZlcnNpb24sIGJhc2gtNC4wLXJlbGVhc2UsCiBhbmQgdGhlIHByZXZpb3VzIHZlcnNpb24sIGJhc2gtNC4wLXJjMS4KIApAQCAtNjAxLDcgKzk3Myw3IEBACiAgICAgYW5kIGN1cnNvciBwb3NpdGlvbiBieSBtb2RpZnlpbmcgUkVBRExJTkVfTElORV9CVUZGRVIgYW5kIFJFQURMSU5FX1BPSU5ULAogICAgIHJlc3BlY3RpdmVseS4KIAotY2MuIFRoZXJlIGlzIGEgbmV3ID4+JiByZWRpcmVjdGlvbiBvcGVyYXRvciwgd2hpY2ggYXBwZW5kcyB0aGUgc3RhbmRhcmQgb3V0cHV0CitjYy4gVGhlcmUgaXMgYSBuZXcgJj4+IHJlZGlyZWN0aW9uIG9wZXJhdG9yLCB3aGljaCBhcHBlbmRzIHRoZSBzdGFuZGFyZCBvdXRwdXQKICAgICBhbmQgc3RhbmRhcmQgZXJyb3IgdG8gdGhlIG5hbWVkIGZpbGUuCiAKIGRkLiBUaGUgcGFyc2VyIG5vdyB1bmRlcnN0YW5kcyBgfCYnIGFzIGEgc3lub255bSBmb3IgYDI+JjEgfCcsIHdoaWNoIHJlZGlyZWN0cwpkaWZmIC0tZ2l0IGEvQ09NUEFUIGIvQ09NUEFUCmluZGV4IDEzNTEyYWMuLjMyMTBjY2EgMTAwNjQ0Ci0tLSBhL0NPTVBBVAorKysgYi9DT01QQVQKQEAgLTEsMTAgKzEsMTIgQEAKK0NvbXBhdGliaWxpdHkgd2l0aCBwcmV2aW91cyB2ZXJzaW9ucworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKIFRoaXMgZG9jdW1lbnQgZGV0YWlscyB0aGUgaW5jb21wYXRpYmlsaXRpZXMgYmV0d2VlbiB0aGlzIHZlcnNpb24gb2YgYmFzaCwKLWJhc2gtNC4wLCBhbmQgdGhlIHByZXZpb3VzIHdpZGVseS1hdmFpbGFibGUgdmVyc2lvbnMsIGJhc2gtMS4xNCAod2hpY2ggaXMKLXN0aWxsIHRoZSBgc3RhbmRhcmQnIHZlcnNpb24gZm9yIGEgZmV3IExpbnV4IGRpc3RyaWJ1dGlvbnMpIGFuZCBiYXNoLTIueC4gCitiYXNoLTQuMSwgYW5kIHRoZSBwcmV2aW91cyB3aWRlbHktYXZhaWxhYmxlIHZlcnNpb25zLCBiYXNoLTIueCAod2hpY2ggaXMKK3N0aWxsIHRoZSBgc3RhbmRhcmQnIHZlcnNpb24gZm9yIGEgZmV3IExpbnV4IGRpc3RyaWJ1dGlvbnMpIGFuZCBiYXNoLTMueC4gCiBUaGVzZSB3ZXJlIGRpc2NvdmVyZWQgYnkgdXNlcnMgb2YgYmFzaC0yLnggYW5kIDMueCwgc28gdGhpcyBsaXN0IGlzIG5vdAogY29tcHJlaGVuc2l2ZS4gIFNvbWUgb2YgdGhlc2UgaW5jb21wYXRpYmlsaXRpZXMgb2NjdXIgYmV0d2VlbiB0aGUgY3VycmVudAotdmVyc2lvbiBhbmQgdmVyc2lvbnMgMi4wIGFuZCBhYm92ZS4gIChUaGUgZGlmZmVyZW5jZXMgYmV0d2VlbiBiYXNoLTEuMTQgYW5kCi1iYXNoLTIuMCB3ZXJlIHNpZ25pZmljYW50LikKK3ZlcnNpb24gYW5kIHZlcnNpb25zIDIuMCBhbmQgYWJvdmUuCiAKIDEuICBCYXNoIHVzZXMgYSBuZXcgcXVvdGluZyBzeW50YXgsICQiLi4uIiwgdG8gZG8gbG9jYWxlLXNwZWNpZmljCiAgICAgc3RyaW5nIHRyYW5zbGF0aW9uLiAgVXNlcnMgd2hvIGhhdmUgcmVsaWVkIG9uIHRoZSAodW5kb2N1bWVudGVkKQpAQCAtMjc3LDcgKzI3OSw4IEBACiAgICAgdGhhbiBhIHJlZ3VsYXIgZXhwcmVzc2lvbi4KIAogMzQuIEJhc2gtNC4wIGFsbG93cyB0aGUgYmVoYXZpb3IgaW4gdGhlIHByZXZpb3VzIGl0ZW0gdG8gYmUgbW9kaWZpZWQgdXNpbmcKLSAgICB0aGUgbm90aW9uIG9mIGEgc2hlbGwgYGNvbXBhdGliaWxpdHkgbGV2ZWwnLgorICAgIHRoZSBub3Rpb24gb2YgYSBzaGVsbCBgY29tcGF0aWJpbGl0eSBsZXZlbCcuICBJZiB0aGUgY29tcGF0MzEgc2hvcHQKKyAgICBvcHRpb24gaXMgc2V0LCBxdW90aW5nIHRoZSBwYXR0ZXJuIGhhcyBubyBzcGVjaWFsIGVmZmVjdC4KIAogMzUuIEJhc2gtMy4yIChwYXRjaGVkKSBhbmQgQmFzaC00LjAgZml4IGEgYnVnIHRoYXQgbGVhdmVzIHRoZSBzaGVsbCBpbiBhbgogICAgIGluY29uc2lzdGVudCBpbnRlcm5hbCBzdGF0ZSBmb2xsb3dpbmcgYW4gYXNzaWdubWVudCBlcnJvci4gIE9uZSBvZiB0aGUKQEAgLTMxMSwxMCArMzE0LDU0IEBACiAKIDQxLiBCZWdpbm5pbmcgd2l0aCBiYXNoLTQuMCwgd2hlbiBvbmUgb2YgdGhlIGNvbW1hbmRzIGluIGEgcGlwZWxpbmUgaXMga2lsbGVkCiAgICAgYnkgYSBTSUdJTlQgd2hpbGUgZXhlY3V0aW5nIGEgY29tbWFuZCBsaXN0LCB0aGUgc2hlbGwgYWN0cyBhcyBpZiBpdAotICAgIHJlY2VpdmVkIHRoZSBpbnRlcnJ1cHQuCisgICAgcmVjZWl2ZWQgdGhlIGludGVycnVwdC4gIFRoaXMgY2FuIGJlIGRpc2FibGVkIGJ5IHNldHRpbmcgdGhlIGNvbXBhdDMxIG9yCisgICAgY29tcGF0MzIgc2hlbGwgb3B0aW9ucy4KIAogNDIuIEJhc2gtNC4wIGNoYW5nZXMgdGhlIGhhbmRsaW5nIG9mIHRoZSBzZXQgLWUgb3B0aW9uIHNvIHRoYXQgdGhlIHNoZWxsIGV4aXRzCiAgICAgaWYgYSBwaXBlbGluZSBmYWlscyAoYW5kIG5vdCBqdXN0IGlmIHRoZSBsYXN0IGNvbW1hbmQgaW4gdGhlIGZhaWxpbmcKICAgICBwaXBlbGluZSBpcyBhIHNpbXBsZSBjb21tYW5kKS4gIFRoaXMgaXMgbm90IGFzIFBvc2l4IHNwZWNpZmllcy4gIFRoZXJlIGlzCiAgICAgd29yayB1bmRlcndheSB0byB1cGRhdGUgdGhpcyBwb3J0aW9uIG9mIHRoZSBzdGFuZGFyZDsgdGhlIGJhc2gtNC4wCiAgICAgYmVoYXZpb3IgYXR0ZW1wdHMgdG8gY2FwdHVyZSB0aGUgY29uc2Vuc3VzIGF0IHRoZSB0aW1lIG9mIHJlbGVhc2UuCisKKzQzLiBCYXNoLTQuMCBmaXhlcyBhIFBvc2l4IG1vZGUgYnVnIHRoYXQgY2F1c2VkIHRoZSAuIChzb3VyY2UpIGJ1aWx0aW4gdG8KKyAgICBzZWFyY2ggdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGZvciBpdHMgZmlsZW5hbWUgYXJndW1lbnQsIGV2ZW4gaWYgIi4iIGlzCisgICAgbm90IGluICRQQVRILiAgUG9zaXggc2F5cyB0aGF0IHRoZSBzaGVsbCBzaG91bGRuJ3QgbG9vayBpbiAkUFdEIGluIHRoaXMKKyAgICBjYXNlLgorCis0NC4gQmFzaC00LjEgdXNlcyB0aGUgY3VycmVudCBsb2NhbGUgd2hlbiBjb21wYXJpbmcgc3RyaW5ncyB1c2luZyB0aGUgPCBhbmQKKyAgICA+IG9wZXJhdG9ycyB0byB0aGUgYFtbJyBjb21tYW5kLiAgVGhpcyBjYW4gYmUgcmV2ZXJ0ZWQgdG8gdGhlIHByZXZpb3VzCisgICAgYmVoYXZpb3IgYnkgc2V0dGluZyBvbmUgb2YgdGhlIGBjb21wYXROTicgc2hvcHQgb3B0aW9ucy4KKworU2hlbGwgQ29tcGF0aWJpbGl0eSBMZXZlbAorPT09PT09PT09PT09PT09PT09PT09PT09PQorCitCYXNoLTQuMCBpbnRyb2R1Y2VkIHRoZSBjb25jZXB0IG9mIGEgYHNoZWxsIGNvbXBhdGliaWxpdHkgbGV2ZWwnLCBzcGVjaWZpZWQKK2FzIGEgc2V0IG9mIG9wdGlvbnMgdG8gdGhlIHNob3B0IGJ1aWx0aW4gKGNvbXBhdDMxLCBjb21wYXQzMiwgY29tcGF0NDAgYXQKK3RoaXMgd3JpdGluZykuICBUaGVyZSBpcyBvbmx5IG9uZSBjdXJyZW50IGNvbXBhdGliaWxpdHkgbGV2ZWwgLS0gZWFjaAorb3B0aW9uIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFRoaXMgbGlzdCBkb2VzIG5vdCBtZW50aW9uIGJlaGF2aW9yIHRoYXQgaXMKK3N0YW5kYXJkIGZvciBhIHBhcnRpY3VsYXIgdmVyc2lvbiAoZS5nLiwgc2V0dGluZyBjb21wYXQzMiBtZWFucyB0aGF0IHF1b3RpbmcKK3RoZSByaHMgb2YgdGhlIHJlZ2V4cCBtYXRjaGluZyBvcGVyYXRvciBxdW90ZXMgc3BlY2lhbCByZWdleHAgY2hhcmFjdGVycyBpbgordGhlIHdvcmQsIHdoaWNoIGlzIGRlZmF1bHQgYmVoYXZpb3IgaW4gYmFzaC0zLjIgYW5kIGFib3ZlKS4KKworY29tcGF0MzEgc2V0CisJLSB0aGUgPCBhbmQgPiBvcGVyYXRvcnMgdG8gdGhlIFtbIGNvbW1hbmQgZG8gbm90IGNvbnNpZGVyIHRoZSBjdXJyZW50CisJICBsb2NhbGUgd2hlbiBjb21wYXJpbmcgc3RyaW5ncworCS0gcXVvdGluZyB0aGUgcmhzIG9mIHRoZSByZWdleHAgbWF0Y2hpbmcgb3BlcmF0b3IgKD1+KSBoYXMgbm8KKwkgIHNwZWNpYWwgZWZmZWN0CisKK2NvbXBhdDMyIHNldAorCS0gdGhlIDwgYW5kID4gb3BlcmF0b3JzIHRvIHRoZSBbWyBjb21tYW5kIGRvIG5vdCBjb25zaWRlciB0aGUgY3VycmVudAorCSAgbG9jYWxlIHdoZW4gY29tcGFyaW5nIHN0cmluZ3MKKworY29tcGF0NDAgc2V0CisJLSB0aGUgPCBhbmQgPiBvcGVyYXRvcnMgdG8gdGhlIFtbIGNvbW1hbmQgZG8gbm90IGNvbnNpZGVyIHRoZSBjdXJyZW50CisJICBsb2NhbGUgd2hlbiBjb21wYXJpbmcgc3RyaW5ncworCS0gaW50ZXJydXB0aW5nIGEgY29tbWFuZCBsaXN0IHN1Y2ggYXMgImEgOyBiIDsgYyIgY2F1c2VzIHRoZSBleGVjdXRpb24KKwkgIG9mIHRoZSBlbnRpcmUgbGlzdCB0byBiZSBhYm9ydGVkCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ29weWluZyBhbmQgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlsZSwgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwKK2FyZSBwZXJtaXR0ZWQgaW4gYW55IG1lZGl1bSB3aXRob3V0IHJveWFsdHkgcHJvdmlkZWQgdGhlIGNvcHlyaWdodAorbm90aWNlIGFuZCB0aGlzIG5vdGljZSBhcmUgcHJlc2VydmVkLiAgVGhpcyBmaWxlIGlzIG9mZmVyZWQgYXMtaXMsCit3aXRob3V0IGFueSB3YXJyYW50eS4KZGlmZiAtLWdpdCBhL0NXUlUvY2hhbmdlbG9nIGIvQ1dSVS9jaGFuZ2Vsb2cKaW5kZXggNTQyN2VjZS4uMDg1ZmRiZCAxMDA2NDQKLS0tIGEvQ1dSVS9jaGFuZ2Vsb2cKKysrIGIvQ1dSVS9jaGFuZ2Vsb2cKQEAgLTU3NzIsNyArNTc3Miw3IEBACiBsaWIvcmVhZGxpbmUve3JsdHR5LHNpZ25hbHN9LmMKIAktIG1vdmUgYmxvY2tfc2lnaW50IGFuZCByZWxlYXNlX3NpZ2ludCBmcm9tIHJsdHR5LmMgdG8gc2lnbmFscy5jOyBhZGQKIAkgIF9ybF8gcHJlZml4IHRvIG1ha2UgdGhlbSBwdWJsaWMgdG8gdGhlIGxpYnJhcnk7IGNoYW5nZSBjYWxsZXJzLgotCSAgRnJvbSBKYW4gS3JhdGNob3ZpbCA8amFuLmtyYXRjaG92aWxAcmVkaGF0LmNvbT4KKwkgIEZyb20gSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CiAKIGxpYi9yZWFkbGluZS9ybHByaXZhdGUuaAogCS0gbmV3IGV4dGVybiBkZWNsYXJhdGlvbnMgZm9yIF9ybF9ibG9ja19zaWdpbnQgYW5kIF9ybF9yZWxlYXNlX3NpZ2ludApAQCAtNTc4MCw3ICs1NzgwLDcgQEAKIGxpYi9yZWFkbGluZS9kaXNwbGF5LmMKIAktIGFkZCBjYWxscyB0byBfcmxfYmxvY2tfc2lnaW50IGFuZCBfcmxfcmVsZWFzZV9zaWdpbnQgdG8gcmxfcmVkaXNwbGF5LAogCSAgc2luY2UgaXQgbWFuaXVwbHVhdGVzIGdsb2JhbCBkYXRhIHN0cnVjdHVyZXMuICBGaXggZnJvbSBKYW4KLQkgIEtyYXRjaG92aWwgPGphbi5rcmF0Y2hvdmlsQHJlZGhhdC5jb20+CisJICBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgogCiBidWlsdGlucy9wcmludGYuZGVmCiAJLSBjaGFuZ2UgY2FsbHMgdG8gYXNwcmludGYgYW5kIG1hbnVhbGx5IGFkZGluZyB0byB2YnVmIHRvIHVzZSBjYWxscwpAQCAtNzUyNywzICs3NTI3LDE4MDAgQEAKIAkgIEJvIEFuZHJlc2VuIDxiby5hbmRyZXNlbkB6bGluLmRrPgogCiBbYmFzaC00LjAgZnJvemVuXQorCisJCQkJICAgMi8yMAorCQkJCSAgIC0tLS0KKworW2Jhc2gtNC4wIHJlbGVhc2VkXQorCisJCQkJICAgMi8yMgorCQkJCSAgIC0tLS0KKworcGFyc2UueQorCS0gZml4IHBhcnNlX2NvbXN1YiB0byBub3QgdGVzdCBhIGNoYXJhY3RlciBmb3IgYmVpbmcgYSBwb3NzaWJsZSBzaGVsbAorCSAgbWV0YWNoYXJhY3RlciBpZiBMRVhfUEFTU05FWFQgZmxhZyBpcyBzZXQuICBGaXhlcyBidWcgcmVwb3J0ZWQgYnkKKwkgIE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworcGNvbXBsZXRlLmMKKwktIGFkZCBjYWxsIHRvIHNhdmVfcGFyc2VyX3N0YXRlIChhY2NpZGVudGFsbHkgZHJvcHBlZCBmcm9tIHBhdGNoKSB0bworCSAgZ2VuX3NoZWxsX2Z1bmN0aW9uX21hdGNoZXMuICBGaXhlcyBidWcgd2l0aCBiYXNoX2NvbXBsZXRpb24gYW5kCisJICBmaWxlL2RpcmVjdG9yeSBjb21wbGV0aW9uIHJlcG9ydGVkIGJ5IHBoaWxAQXJjdHVydXMudW5pdmVyc2UKKworTWFrZWZpbGUuaW4KKwktIGZpeCBhc3NpZ25tZW50IHRvIExERkxBR1NfRk9SX0JVSUxEIHRvIG1hdGNoIHRob3NlIGluIHN1YmRpcgorCSAgTWFrZWZpbGVzLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworYnVpbHRpbnMvbWFwZmlsZS5kZWYKKwktIG1ha2Ugc3VyZSB0aGUgY2FsbGJhY2sgcXVhbnR1bSAoLWMgb3B0aW9uIGFyZ3VtZW50KSBpcyA+IDAuICBGaXhlcworCSAgYnVnIHJlcG9ydGVkIGJ5IFN0ZXBoYW5lIENoYXpsZWFzIDxzdGVwaGFuZV9jaGF6ZWxhc0B5YWhvby5mcj4KKworCQkJCSAgIDIvMjMKKwkJCQkgICAtLS0tCitwYXJzZS55CisJLSBmaXggc2F2ZV90b2tlbl9zdGF0ZSBhbmQgcmVzdG9yZV90b2tlbl9zdGF0ZSB0byBzYXZlIGFuZCByZXN0b3JlCisJICBjdXJyZW50X3Rva2VuLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IEJlcm5kIEVnZ2luaworCSAgPG1vbm9wZWRAc3VkcmFsYS5kZT4KKworYnVpbHRpbnMvZXhpdC5kZWYKKwktIGNoZWNrIGpvYnNbaV0gYmVmb3JlIGNoZWNraW5nIHdoZXRoZXIgb3Igbm90IGl0J3MgcnVubmluZyB3aGVuCisJICB0aGUgY2hlY2tqb2JzIG9wdGlvbiBpcyBzZXQgYW5kIHdlJ3JlIGxvb2tpbmcgZm9yIHJ1bm5pbmcgam9icworCSAgYXQgZXhpdC4gIEZpeGVzIGJ1ZyByZXBvcnRlZCBieSBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKKwkJCQkgICAyLzI0CisJCQkJICAgLS0tLQorc2lnbGlzdC5jCisJLSBpbmNsdWRlIGJhc2hpbnRsLmggZm9yIGRlZmluaXRpb24gb2YgXy4gIEZpeGVzIGJ1ZyByZXBvcnRlZCBieQorCSAgR3JlZyBXb29sZWRnZSA8d29vbGVkZ0BlZWcuY2NmLm9yZz4KKworCQkJCSAgIDIvMjUKKwkJCQkgICAtLS0tCitzdWJzdC5jCisJLSBuZXcgZnVuY3Rpb24sIHNraXBfbWF0Y2hlZF9wYWlyLiAgU2ltaWxhciB0byBza2lwX3RvX2RlbGltIGFuZAorCSAgdGhlIGV4dHJhY3RfWFhYIGZhbWlseQorCS0gbW92ZSBza2lwc3Vic2NyaXB0IGhlcmUgZnJvbSBhcnJheWZ1bmMuYzsgcmUtaW1wbGVtZW50IGluIHRlcm1zIG9mCisJICBza2lwX21hdGNoZWRfcGFpci4gIEZpeGVzIGJ1Z3MgcmVwb3J0ZWQgYnkgPGFubWFzdGVyQHRlbGUyLnNlPgorCithcnJheWZ1bmMuYworCS0gcmVtb3ZlIHNraXBzdWJzY3JpcHQ7IG1vdmVkIHRvIHN1YnN0LmMKKworcGFyc2UueQorCS0gY2hhbmdlIHJlc2V0X3BhcnNlciB0byBzZXQgY3VycmVudF90b2tlbiB0byAnXG4nLiAgUmVzdCBvZiBmaXggZm9yCisJICBidWcgcmVwb3J0ZWQgYnkgQmVybmQgRWdnaW5rIDxtb25vcGVkQHN1ZHJhbGEuZGU+OyBlYXJsaWVyIGZpeCBvbgorCSAgMi8yMworCisJCQkJICAgMi8yNgorCQkJCSAgIC0tLS0KK2J1aWx0aW5zL2RlY2xhcmUuZGVmCisJLSB3aGVuIGdpdmVuIHNvbWV0aGluZyBsaWtlIGFycmF5W3hdPXkgKHdoaWNoIHNldHMgbWFraW5nX2FycmF5X3NwZWNpYWwKKwkgIHRvIDEpLCBkb24ndCBjb252ZXJ0IGFuIGFzc29jaWF0aXZlIGFycmF5IHRvIGFuIGluZGV4ZWQgYXJyYXkgKGxpbmUKKwkgIDQ5MykuICBQYXJ0IG9mIGZpeCBmb3IgYnVnIHJlcG9ydGVkIGJ5IFBpZXJyZSBHYXN0b24KKwkgIDxwaWVycmUuZ2FzdG9uQGdtYWlsLmNvbT4KKwktIGlmIG9mZnNldCA9PSAwLCBpbmRpY2F0aW5nIHRoYXQgd2UgZG8gbm90IGhhdmUgYSB2YWxpZCBhc3NpZ25tZW50LAorCSAgbWFrZSBzdXJlIGFueSBgbmFtZScgY29udGFpbmluZyBhIGBbJyBpcyBhIHZhbGlkIGFycmF5IHJlZmVyZW5jZQorCSAgYmVmb3JlIHRyeWluZyB0byBnbyBvbi4gIE5vdCBkb2luZyB0aGlzIGxlYWRzIHRvIGNyZWF0aW5nIGNyYXp5CisJICB2YXJpYWJsZXMgbGlrZSBgbmFtZVtmb29bYmFyXT1iYXgnLiAgUmVzdCBvZiBmaXggZm9yIGJ1ZyByZXBvcnRlZAorCSAgYnkgUGllcnJlIEdhc3RvbiA8cGllcnJlLmdhc3RvbkBnbWFpbC5jb20+CisKK2Fzc29jLmMKKwktIGNoYW5nZSBhc3NvY190b19hc3NpZ24gdG8gc2luZ2xlLXF1b3RlIHRoZSBhcnJheSBrZXlzIGlmIGBxdW90ZWQnIGlzCisJICBub24temVyby4gIE1ha2VzIHRoaW5ncyBlYXNpZXIgdG8gcmVhZCB3aXRoIHdlaXJkIGNoYXJhY3RlcnMgaW4gdGhlCisJICBrZXkKKworcGFyc2UueQorCS0gZml4IHBhcnNlX2NvbXN1YiB0byBub3Qgc2V0IExFWF9IRVJFREVMSU0gd2hlbiBpdCBzZWVzICI8PDwiLiAgRml4ZXMKKwkgIGJ1ZyByZXBvcnRlZCBieSBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKKwkJCQkgICAyLzI3CisJCQkJICAgLS0tLQorcGFyc2UueQorCS0gZml4IHJlcG9ydF9zeW50YXhfZXJyb3IgdG8gc2V0IGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlIHRvCisJICBFWF9CQURVU0FHRSAoMikgaW5zdGVhZCBvZiBFWF9VU0FHRSAoMjU4KSwgc2luY2UgdGhlcmUncyBub3RoaW5nCisJICB0aGF0IHdpbGwgdHJhbnNsYXRlIHRoYXQgdG8gc29tZXRoaW5nIDwgMTI4IGJlZm9yZSByZWFkaW5nIHRoZQorCSAgbmV4dCBjb21tYW5kLiAgUGFydGlhbCBmaXggZm9yIGJ1ZyByZXBvcnRlZCBieSBNaWtlIEZyeXNpbmdlcgorCSAgPHZhcGllckBnZW50b28ub3JnPgorCitzaWcuYworCS0gZml4IHNpZ2ludF9zaWdoYW5kbGVyIHRvIHNldCBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZSB0byBzaWcrMTI4CisJICBiZWZvcmUgY2FsbGluZyB0aHJvd190b190b3BfbGV2ZWwuICBSZXN0IG9mIGZpeCBmb3IgYnVnIHJlcG9ydGVkCisJICBieSBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2pvYnMuYworCS0gaWYgZm9yaygpIGZhaWxzLCBzZXQgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgdG8gMTI2IGJlZm9yZSBjYWxsaW5nCisJICB0aHJvd190b190b3BfbGV2ZWwKKworZXhlY3V0ZV9jbWQuYworCS0gZGVmZXIgY2FsbGluZyB1bmxpbmtfZmlmb19saXN0IGluIHBhcmVudCBicmFuY2ggb2YKKwkgIGV4ZWN1dGVfZGlza19jb21tYW5kIGlmIHdlJ3JlIGV4ZWN1dGluZyBpbiBhIHNoZWxsIGZ1bmN0aW9uCisJLSBjaGFuZ2UgZXhlY3V0ZV9mdW5jdGlvbiB0byBjYWxsIHVubGlua19maWZvX2xpc3QgYmVmb3JlIHJldHVybmluZworCSAgaWYgaXQncyB0aGUgdG9wLWxldmVsIGZ1bmN0aW9uCisKKwkJCQkgICAgMy8yCisJCQkJICAgIC0tLQorYnVpbHRpbnMvcmVhZC5kZWYKKwktIGlmIHJlYWQgdGltZXMgb3V0LCBtYWtlIHN1cmUgd2UgcmVtb3ZlIHRoZSB0b3AgZWxlbWVudCBmcm9tIHRoZQorCSAgdW53aW5kLXByb3RlY3Qgc3RhY2sgKHRoZSBmcmVlIG9mIGlucHV0X3N0cmluZykgYW5kIHJ1biB0aGUgcmVzdCwKKwkgIHRvIHJlc2V0IHRoZSB0dHkgYW5kIHJlYWRsaW5lIGFuZCBhbGFybSBzdGF0ZXMuICBUaGVuIHdlIGp1bXAgdG8KKwkgIGFzc2lnbmluZyB0aGUgdmFyaWFibGVzIHRvIGFueSBwYXJ0aWFsIGlucHV0LiAgRml4ZXMgYnVnIHJlcG9ydGVkCisJICBieSBDaHJpc3RvcGhlciBGLiBBLiBKb2huc29uIDxjZmFqb2huc29uQGdtYWlsLmNvbT4KKworCQkJCSAgICAzLzMKKwkJCQkgICAgLS0tCitwYXJzZS55CisJLSBicmVhayBjb21tZW50IGNoZWNraW5nIGNvZGUgaW50byBhIGNvbW1vbiBDT01NRU5UX0JFR0lOIGRlZmluZSBzbworCSAgd2UgY2FuIHVzZSBpdCBpbiBtdWx0aXBsZSBwbGFjZXMgaW4gcGFyc2VfY29tc3ViCisJLSBpbiBwYXJzZV9jb21zdWIsIGRvbid0IGFsdGVyIHRoZSBMRVhfUkVTV0RPSyBmbGFnIGlmIHdlIHJlYWQgYQorCSAgYCMnIGFuZCB3ZSdyZSBjaGVja2luZyBjb21tZW50cywgZXZlbiB0aG91Z2ggYCMnIGlzbid0IGEgYHNoZWxsIGJyZWFrJworCSAgY2hhcmFjdGVyLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IE1pa2UgRnJ5c2luZ2VyICA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2JyYWNlcy5jCisJLSBpbiBleHBhbmRfc2VxdGVybSwgZGVjcmVhc2UgdGhlIHRvdGFsIGxlbmd0aCBvZiB0aGUgcmhzIGJ5IHRoZSBsZW5ndGgKKwkgIG9mIGFueSAob3B0aW9uYWwpIGluY3JlbWVudCwgc28gd2UgZG9uJ3QgZW5kIHVwIHdpdGggdW53YW50ZWQgemVybworCSAgcGFkZGluZyBiZWNhdXNlIHRoZSByaHMgbGVuZ3RoIGlzIHdyb25nLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5CisJICBDYXJsIEFsYmluZyA8YWxiaW5nQGNvbWNhc3QubmV0PgorCisJCQkJICAgIDMvNAorCQkJCSAgICAtLS0KK2RvYy97YmFzaC4xLGJhc2hyZWYudGV4aX0KKwktIGNoYW5nZXMgdG8gY2xlYW4gdXAgc29tZSBvZiB0aGUgbGFuZ3VhZ2UgZGVzY3JpYmluZyB0aGUgZWZmZWN0cyBvZgorCSAgdGVybWluYWwgcHJvY2VzcyBncm91cHMgb24gdGhlIGFiaWxpdHkgdG8gcmVhZCBmcm9tIGFuZCB3cml0ZSB0bworCSAgdGhlIHRlcm1pbmFsCisKKwkJCQkgICAgMy81CisJCQkJICAgIC0tLQorc3VwcG9ydC9zaG9iai1jb25mCisJLSBhZGQgaG9zdF92ZW5kb3IgdG8gc3RyaW5nIHRlc3RlZCBpbiBzd2l0Y2ggdG8gaGFuZGxlIHRoaW5ncyBsaWtlCisJICBnZW50b28vZnJlZWJzZAorCS0gYmVnaW5uaW5nIHdpdGggdmVyc2lvbiA3LCBGcmVlQlNEIG5vIGxvbmdlciBoYXMgL3Vzci9iaW4vb2JqZm9ybWF0CisJICBvciBhLm91dCBiaW5hcmllcyBhbmQgbGlicmFyaWVzLiAgSXQncyBhbHdheXMgRUxGLiAgRml4IGZyb20KKwkgIFRpbW90aHkgUmVkYWVsbGkgPGRyaXp6dEBnZW50b28ub3JnPgorCitwYXJzZS55CisJLSBpbiBwYXJzZV9jb21zdWIsIGFsbG93IGNvbW1lbnRzIGlmIHdlIGFyZSByZWFkeSB0byByZWFkIGEKKwkgIHJlc2VydmVkIHdvcmQgKHRmbGFncyAmIExFWF9SRVNXRE9LKSwgaGF2ZW4ndCByZWFkIGFueXRoaW5nIGZyb20KKwkgIG9uZSB5ZXQgKGxleF9yd2xlbiA9PSAwKSBhbmQgdGhlIGN1cnJlbnQgY2hhcmFjdGVyIGlzIGEgJyMnCisKKwkJCQkgICAgMy82CisJCQkJICAgIC0tLQorcGFyc2UueQorCS0gbmV3IGxleCBmbGFnIGZvciBwYXJzZV9jb21zdWI6IExFWF9JTldPUkQuICBUdXJuIGl0IG9mZiB3aGVuCisJICB3ZSBzZWUgYSBzaGVsbCBicmVhayBjaGFyYWN0ZXI7IHR1cm4gaXQgb24gb3Iga2VlcCBpdCBvbiB3aGVuCisJICBub3QgYSBicmVhayBjaGFyYWN0ZXIuICBLZWVwIHRyYWNrIG9mIHdvcmQgbGVuZ3RoIChyZXNldCB0byAwCisJICB3aGVuIHdlIHR1cm4gb24gTEVYX0lOV09SRCB3aGVuIGl0IHdhcyBvZmYpLgorCS0gZG9uJ3QgdXNlIENPTU1FTlRfQkVHSU4gaW4gcGFyc2VfY29tc3ViIGFueSBtb3JlOyB0ZXN0CisJICB3aGV0aGVyIG9yIG5vdCBMRVhfSU5XT1JEIGlzIHNldCBhbmQgbGV4X3dsZW4gPT0gMCBpbiBhZGRpdGlvbgorCSAgdG8gdGVzdHMgZm9yIExFWF9SRVNXRE9LIGFuZCBsZXhfcndsZW4uICBDb21tZW50cyBhcmUgdmFsaWQKKwkgIHdoZW4gYXQgdGhlIHN0YXJ0IG9mIGEgd29yZAorCS0gbW92ZSBMRVhfUEFTU05FWFQgY29kZSB0byB0aGUgdG9wIG9mIHBhcnNlX2NvbXN1Yiwgc28gdGhlIHJlc3QKKwkgIG9mIHRoZSBmdW5jdGlvbiBkb2Vzbid0IGhhdmUgdG8gY2hlY2sgZm9yIHRoZSBmbGFnIGF0IGRpZmZlcmVudAorCSAgcGxhY2VzCisKKwkJCQkgICAgMy83CisJCQkJICAgIC0tLQorcGFyc2UueQorCS0gaW4gcGFyc2VfY29tc3ViLCB3aGVuIGxvb2tpbmcgZm9yIGEgcmVzZXJ2ZWQgd29yZCAoTEVYX1JFU1dET0sKKwkgIG5vbi16ZXJvKSwgYW5kIGluIGEgY2FzZSBzdGF0ZW1lbnQsIHdlIGNhbiBzZWUgZWl0aGVyIGFuIGVzYWMKKwkgIG9yIGEgcGF0dGVybiBsaXN0LiAgV2UgaGFuZGxlIGFuIGVzYWMgc2VwYXJhdGVseS4gIFdlIHNob3VsZAorCSAgdHVybiBvZmYgTEVYX1JFU1dET0sgaWYgd2Ugc2VlIGFueXRoaW5nIGJ1dCBhIG5ld2xpbmUsIHNpbmNlCisJICB3ZSdsbCBiZSByZWFkaW5nIGEgcGF0dGVybiBsaXN0LiAgT3RoZXIgcGFydCBvZiBmaXggZm9yIGJ1ZworCSAgcmVwb3J0ZWQgYnkgTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPiAocmVzdCBvZiBmaXgKKwkgIG9uIDMvMykKKworCQkJCSAgIDMvMTAKKwkJCQkgICAtLS0tCit7LixsaWIvcmVhZGxpbmV9L2RvYy9mZGwudGV4aQorCS0gdXBkYXRlZCB0byBGREwgdmVyc2lvbiAxLjMKKworCQkJCSAgIDMvMTEKKwkJCQkgICAtLS0tCitwYXJzZS55CisJLSB3aGVuIHVzaW5nIHRoZSB8JiBjb25zdHJ1Y3Qgd2l0aCBhIHNpbXBsZSBjb21tYW5kIHByZWNlZGluZyBpdCwgYWRkCisJICB0aGUgaW1wbGljaXQgcmVkaXJlY3Rpb24gdG8gdGhlIHNpbXBsZSBjb21tYW5kJ3MgcmVkaXJlY3Rpb24gbGlzdCwKKwkgIHNpbmNlIHRoZSByZWRpcmVjdGlvbnMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb21tYW5kIHN0cnVjdCBhcmUgbmV2ZXIKKwkgIGV4ZWN1dGVkLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IE1hdHQgWnl6aWsgPE1hdHRAaWNlLmZpbGVzY29wZS5jb20+CisKKwkJCQkgICAzLzE0CisJCQkJICAgLS0tLQorZXhlY3V0ZV9jbWQuYworCS0gaW4gZXhlY3V0ZV9jYXNlX2NvbW1hbmQsIGlmIDsmIGlzIHVzZWQgd2l0aCBubyBmb2xsb3dpbmcgcGF0dGVybgorCSAgbGlzdCwgbWFrZSBzdXJlIHdlIGRvbid0IHJlZmVyZW5jZSBhIE5VTEwgcG9pbnRlci4gIEJ1ZyByZXBvcnQgYW5kCisJICBmaXggZnJvbSBDbGFyayBKaWFuIFdhbmcgPGRlYXJ2b2lkQGdtYWlsLmNvbT4KKworcGFyc2UueQorCS0gbWFrZSBwYXJzZXJfc3RhdGUgZ2xvYmFsLCBzbyBvdGhlciBmaWxlcyBjYW4gdXNlIGl0CisJLSBjb21tYW5kX3dvcmRfYWNjZXB0YWJsZSBub3cgcmV0dXJucyBub24temVybyBpZiBQU1RfUkVESVJMSVNUIGJpdAorCSAgc2V0IGluIHBhcnNlcl9zdGF0ZSwgc28gd2UgYWNjZXB0IGFzc2lnbm1lbnQgc3RhdGVtZW50cyBhbmQKKwkgIHBlcmZvcm0gYWxpYXMgZXhwYW5zaW9uLiAgRml4IGZvciBidWcgcmVwb3J0ZWQgYnkgVmluY2VudAorCSAgTGVmZXZyZSA8dmluY2VudEB2aW5jMTcub3JnPiAoMi8yNC8yMDA5KQorCitwYXJzZXIuaAorCS0gYWRkIFBTVF9SRURJUkxJU1QgZmxhZywgbm90ZXMgdGhhdCBwYXJzZXIgaXMgY3VycmVudGx5IHBhcnNpbmcgYQorCSAgcmVkaXJlY3Rpb24gbGlzdCBwcmVjZWRpbmcgYSBzaW1wbGUgY29tbWFuZAorCittYWtlX2NtZC5jCisJLSBtYWtlX3NpbXBsZV9jb21tYW5kIG5vdyB0dXJucyBvbiBQU1RfUkVESVJMSVNUIGluIHBhcnNlcl9zdGF0ZSB3aGVuCisJICBjcmVhdGluZyBhIG5ldyBzaW1wbGUgY29tbWFuZAorCS0gbWFrZV9zaW1wbGVfY29tbWFuZCB0dXJucyBvZmYgUFNUX1JFRElSTElTVCBpbiBwYXJzZXJfc3RhdGUgaWYgaXQKKwkgIGFkZHMgYSBub24tcmVkaXJlY3Rpb24gdG8gdGhlIGNvbW1hbmQgaXQncyBidWlsZGluZworCS0gY2xlYW5fc2ltcGxlX2NvbW1hbmQgdHVybnMgb2ZmIFBTVF9SRURJUkxJU1QgdG8gbWFrZSBzdXJlIGl0J3Mgb2ZmCisKK3N1YnN0LmMKKwktIG5ldyBmbGFnIGZvciBwYXJhbV9leHBhbmQ6IFBGX0lHTlVOQk9VTkQsIG1lYW5zIHRvIG5vdCBleGl0IGlmIHRoZQorCSAgdmFyaWFibGUgaXMgdW5ib3VuZCBldmVuIGlmIGBzZXQgLXUnIGlzIGVuYWJsZWQKKwktIGNoYW5nZSBwYXJhbV9leHBhbmQgdG8gbm90IGNhbGwgZXJyX3VuYm91bmR2YXIgaWYgdGhlIGBwZmxhZ3MnCisJICBhcmd1bWVudCBoYXMgdGhlIFBGX0lHTlVOQk9VTkQgYml0IHNldAorCS0gcGFyYW1ldGVyX2JyYWNlX2V4cGFuZF93b3JkIG5vdyB0YWtlcyBhbiBleHRyYSBgcGZsYWdzJyBhcmd1bWVudCB0bworCSAgcGFzcyBkb3duIHRvIHBhcmFtX2V4cGFuZDsgY2hhbmdlZCBjYWxsZXJzCisJLSBjaGFuZ2VkIGNhbGwgdG8gcGFyYW1ldGVyX2JyYWNlX2V4cGFuZF93b3JkIGluIHBhcmFtZXRlcl9icmFjZV9leHBhbmQKKwkgIHRvIGFkZCBQRl9JR05VTkJPVU5EIGZsYWcgc28gJHtAOi1mb299IGRvZXNuJ3QgY2F1c2UgdGhlIHNoZWxsIHRvCisJICBleGl0IChidXQgJHtAfSBkb2VzKSB3aGVuIHRoZXJlIGFyZSBubyBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuICBGaXhlcwkKKwkgIERlYmlhbiBidWcgNTE5MTY1IGZyb20gRGFuIEphY29ic29uIDxqaWRhbm5pQGppZGFubmkub3JnPgorCitwYXJzZS55CisJLSBhZGQgY29kZSB0byBwYXJzZV9jb21zdWIgdG8gYWxsb3cgaGVyZS1kb2N1bWVudHMgd2l0aGluIGNvbW1hbmQKKwkgIHN1YnN0aXR1dGlvbnMgdG8gYmUgZGVsaW1pdGVkIGJ5IHRoZSBjbG9zaW5nIHJpZ2h0IHBhcmVuLCB3aXRoIHRoZQorCSAgdXN1YWwgd2FybmluZyBhYm91dCBoZXJlIGRvY3VtZW50cyBkZWxpbWl0ZWQgYnkgRU9GIG9uIGV4ZWN1dGlvbi4KKwkgIEZpeGVzIHJlZ3Jlc3Npb24gZnJvbSBiYXNoLTMuMiBub3RlZCBpbiBSZWQgSGF0IGJ1Z3ppbGxhIDQ4NTY2NCBieQorCSAgUmFsZiBDb3JzZXBpdXMKKworCQkJCSAgIDMvMTUKKwkJCQkgICAtLS0tCitzdWJzdC5jCisJLSBzdHJpbmdfbGlzdF9kb2xsYXJfYXQgbm93IGNoZWNrcyBmb3IgUV9QQVRRVU9URSwgd2hpY2ggZ2V0cGF0dGVybigpCisJICB1c2VzIHRvIGRlbm90ZSBRX0RPVUJMRV9RVU9URVMgKD8pLiAgRml4ZXMgYT1hYmNkIGVjaG8gIiR7YSMkKn0iCisJICB3aGVuIElGUz0gYW5kIGFyZ3MgYXJlIGBhIGInIGFzIG5vdGVkIGJ5IFN0ZXBoYW5lIENoYXpsZWFzCisJICA8c3RlcGhhbmVfY2hhemVsYXNAeWFob28uZnI+CisJLSBwYXJhbV9leHBhbmQgbm93IGNoZWNrcyBmb3IgUV9QQVRRVU9URSBhbmQgdHJlYXRzIGl0IGlkZW50aWNhbGx5CisJICB0byBRX0RPVUJMRV9RVU9URVMgd2hlbiBleHBhbmRpbmcgJCoKKwktIGV4cGFuZF93b3JkX3Vuc3BsaXQgbm93IHNldHMgV19OT1NQTElUIGluIHRoZSBmbGFncyBvZiB0aGUgd29yZCBpdAorCSAgcGFzc2VzIHRvIGV4cGFuZF93b3JkX2ludGVybmFsIGlmICRJRlMgaXMgTlVMTAorCS0gZXhwYW5kX3dvcmRfbGVhdmVfcXVvdGVkIG5vdyBzZXRzIGV4cGFuZF9ub19zcGxpdF9kb2xsYXJfc3RhciBhbmQKKwkgIHRoZSBXX05PU1BMSVQgYml0IGluIHRoZSB3b3JkIGZsYWdzIGJlZm9yZSBjYWxsaW5nCisJICBleHBhbmRfd29yZF9pbnRlcm5hbCBpZiAkSUZTIGlzIE5VTEwsIGp1c3QgbGlrZSBleHBhbmRfd29yZF91bnNwbGl0LgorCSAgSXQgaXMgbm93IHZpcnR1YWxseSBpZGVudGljYWwgdG8gZXhwYW5kX3dvcmRfdW5zcGxpdC4gIFJlc3Qgb2YgZml4IGZvcgorCSAgcHJvYmxlbXMgcmVwb3J0ZWQgYnkgU3RlcGhhbmUgQ2hhemxlYXMgPHN0ZXBoYW5lX2NoYXplbGFzQHlhaG9vLmZyPgorCisJCQkJICAgMy8yMAorCQkJCSAgIC0tLS0KK3RyYXAuYworCS0gaW4gX3J1bl90cmFwX2ludGVybmFsLCBkb24ndCBwYXNzIFNFVkFMX1JFU0VUTElORSBhcyBmbGFnIHRvCisJICBwYXJzZV9hbmRfZXhlY3V0ZSBpZiBydW5uaW5nIHRoZSBFUlIgdHJhcCAoZnVydGhlciBtb2RpZmljYXRpb24KKwkgIG9mIGNoYW5nZSBmcm9tIDEvMTIpCisKK2V4ZWN1dGVfY21kLmMKKwktIGluIGV4ZWN1dGVfc2ltcGxlX2NvbW1hbmQsIHNldCBsaW5lX251bWJlciB0byBsaW5lX251bWJlcl9mb3JfZXJyX3RyYXAKKwkgIGJlZm9yZSBjYWxsaW5nIHJ1bl9lcnJvcl90cmFwLiAgUGFydCBvZiBmaXggZm9yIGJ1ZyByZXBvcnRlZCBieQorCSAgQnJpYW4gSi4gTXVycmVsbCA8YnJpYW5AaW50ZXJsaW54LmJjLmNhPgorCS0gY2hhbmdlIG90aGVyIHBsYWNlcyBjYWxsaW5nIHJ1bl9lcnJvcl90cmFwKCkgdG8gc2V0IGFuZCB1c2UKKwkgIGxpbmVfbnVtYmVyX2Zvcl9lcnJfdHJhcAorCisJCQkJICAgMy8yMQorCQkJCSAgIC0tLS0KK2J1aWx0aW5zL2ZjLmRlZgorCS0gRXZlbiB0aG91Z2ggY29tbWFuZCBzdWJzdGl0dXRpb24gdGhyb3VnaCBwYXJzZV9hbmRfZXhlY3V0ZSB0dXJucyAKKwkgIG9mZiByZW1lbWJlcl9vbl9oaXN0b3J5LCBjb21tYW5kIHN1YnN0aXR1dGlvbiBpbiBhIHNoZWxsIHdoZW4KKwkgIHNldCAtbyBoaXN0b3J5IGhhcyBiZWVuIGVuYWJsZWQgKGludGVyYWN0aXZlIG9yIG5vdCkgc2hvdWxkIHVzZSBpdAorCSAgaW4gdGhlIGxhc3RfaGlzdCBjYWxjdWxhdGlvbiBhcyBpZiBpdCB3ZXJlIG9uLiAgU2FtZSBjYWxjdWxhdGlvbgorCSAgaW4gZmNfZ2V0aG51bSBhbmQgZmNfYnVpbHRpbi4gIEZpeGVzIGJ1ZyByZXBvcnRlZCBieQorCSAgSWFuIEtlbGxpbmcgPHNtYWxsbm93QGdtYWlsLmNvbT4gCisKK3NpZy5jCisJLSBjaGFuZ2UgdGVybXNpZ19zaWdoYW5kbGVyIHRvIHRlcm1pbmF0ZSBpbW1lZGlhdGVseSBpZiBpdCBnZXRzIGNhbGxlZAorCSAgdHdpY2Ugd2l0aCB0aGUgc2FtZSBzaWduYWwgYmVmb3JlIHRlcm1zaWdfaGFuZGxlciBnZXRzIGNhbGxlZC4gIFRoaXMKKwkgIGZpeGVzIHRoZSBgbG9vcGluZyBvbiBTSUdTRUdWJyBwaGVub21lbm9uIHJlcG9ydGVkIGJ5IExpbnV4IHVzZXJzLgorCitwYXJzZS55CisJLSBpbiByZWFkX3NlY29uZGFyeV9saW5lLCBkb24ndCB0cnkgdG8gYWRkIE5VTEwgbGluZXMgdG8gdGhlIGhpc3RvcnkKKwkgIGxpc3QuICBSZXBvcnQgYW5kIHBhdGNoIGZyb20gTHVib21pciBSaW50ZWwgPGxrdW5kcmFrQHYzLnNrPgorCisJCQkJICAgMy8yMgorCQkJCSAgIC0tLS0KK3NpZy5jCisJLSBBdWdtZW50IGNoYW5nZSBmcm9tIDMvMjEgd2l0aCBleHBsaWNpdCBjaGVjayBmb3Igc2lnbmFscyB3ZSAqZG9uJ3QqCisJICB3YW50IHRoaXMgdG8gaGFwcGVuIGZvci4gIFBhdGNoIGZyb20gTHVib21pciBSaW50ZWwgPGxrdW5kcmFrQHYzLnNrPgorCisJCQkJICAgMy8yOAorCQkJCSAgIC0tLS0KK2FycmF5LmMKKwktIGluIGFycmF5X3JlZmVyZW5jZSwgcmV0dXJuIE5VTEwgaW1tZWRpYXRlbHkgaWYgdGhlIGRlc2lyZWQgaW5kZXgKKwkgIGlzIGxhcmdlciB0aGFuIHRoZSBtYXhpbXVtCisJLSBhZGQgY2FjaGUgb2YgbGFzdCBhcnJheSByZWZlcmVuY2VkIGFuZCBsYXN0IGFycmF5IGVsZW1lbnQgcmVmZXJlbmNlZDsKKwkgIHVzZSBpbiBhcnJheV9yZWZlcmVuY2UgdG8gb3B0aW1pemUgY2FzZSBvZiBzZXF1ZW50aWFsIGFjY2VzczsKKwkgIGludmFsaWRhdGVkIHdoZXJlIG5lY2Vzc2FyeSBpbiBvdGhlciBmdW5jdGlvbnMKKwktIGFycmF5X3JzaGlmdCBuZWVkcyB0byBzZXQgbWF4X2luZGV4IHRvIDAgaWYgdGhlIGFycmF5IHdhcyBlbXB0eQorCSAgYmVmb3JlIHNoaWZ0aW5nIGluIHRoZSBuZXcgZWxlbWVudCAwCisJLSBhcnJheV9zaGlmdCBuZWVkcyB0byB1c2UgZWxlbWVudF9pbmRleChhLT5oZWFkLT5wcmV2KSB0byBzZXQgdGhlCisJICBtYXhfaW5kZXgsIG5vdCBhIHNpbXBsZSBkZWNyZW1lbnQsIHRvIGRlYWwgd2l0aCBzcGFyc2UgYXJyYXlzCisKKwkJCQkgICAgNC8xCisJCQkJICAgIC0tLQorYmFzaGxpbmUuYworCS0gaW4gYmFzaF9kZXF1b3RlX2ZpbGVuYW1lLCByZXR1cm4gcmlnaHQgYXdheSBhZnRlciBjb3B5aW5nIHRoZQorCSAgYmFja3NsYXNoIGlmIHRoZSBsYXN0IGNoYXJhY3RlciBpbiB0aGUgc3RyaW5nIHRvIGJlIGV4cGFuZGVkCisJICBpcyBhIGJhY2tzbGFzaC4gIFRoZSBvbGQgY29kZSBjb3BpZWQgYW4gZXh0cmEgTlVMIGFuZCBvdmVyd3JvdGUKKwkgIHRoZSBib3VuZHMgY2hlY2tpbmcuICBGaXhlcyBidWcgcmVwb3J0ZWQgYnkgU2hhd24gU3RhcnIKKwkgIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9NDg4NjQ5CisKKwkJCQkgICAgNC8zCisJCQkJICAgIC0tLQorc3Vic3QuYworCS0gaW4gcGF0X3N1YnN0LmMsIG1ha2Ugc3VyZSB0byBjb3B5IG9uZSBjaGFyYWN0ZXIgZnJvbSB0aGUgaW5wdXQKKwkgIHN0cmluZyBpbiB0aGUgY2FzZSBvZiBhIG51bGwgcGF0dGVybiBtYXRjaCwgc2luY2Ugd2Ugc3Vic3RpdHV0ZQorCSAgb24gdGhlIG51bGwgbWF0Y2ggYW5kIHRoZW4gaW5jcmVtZW50IHBhc3QgdGhlIGN1cnJlbnQgY2hhcmFjdGVyLgorCSAgTm90IGRvaW5nIHRoaXMgbWVhbnMgdGhhdCBlYWNoIGNoYXJhY3RlciBvZiB0aGUgb3JpZ2luYWwgc3RyaW5nCisJICBpcyByZXBsYWNlZCBiZWNhdXNlIG9mIHRoZSBudWxsIG1hdGNoZXMuICBGaXhlcyBkZWJpYW4gYnVnCisJICByZXBvcnRlZCBiaHkgTG91aXMtRGF2aWQgTWl0dGVycmFuZCA8bGRtQGFwYXJ0aWEuZnI+CisJICBodHRwOi8vYnVncy5kZWJpYW4ub3JnL2NnaS1iaW4vYnVncmVwb3J0LmNnaT9idWc9NTIyMTYwCisKK2xpYi9zaC93aW5zaXplLmMKKwktIGluY29ycG9yYXRlIGNvbnRlbnRzIG9mIHJlYWRsaW5lL3Jsd2luc2l6ZS5oIHRvIGdldCBhbGwgdGhlIHZhcmlvdXMKKwkgIHN5c3RlbSBkZXBlbmRlbmNpZXMgcmlnaHQgd2hlbiB0cnlpbmcgdG8gZmluZCBUSU9DR1dJTlNaLiAgRml4ZXMKKwkgIGJ1ZyByZXBvcnRlZCBieSBEYW4gUHJpY2UgPGRwQGVuZy5zdW4uY29tPgorCisJCQkJICAgIDQvNgorCQkJCSAgICAtLS0KK2RvYy97YmFzaC4xLGJhc2hyZWYudGV4aX0KKwktIGZpeCBkZXNjcmlwdGlvbiBvZiBjb25kaXRpb25hbCBgPicgYW5kIGA8JyB0byByZW1vdmUgc3RhdGVtZW50IHRoYXQKKwkgIHRoZSBjb21wYXJpc29uIHBheXMgYXR0ZW50aW9uIHRvIHRoZSBjdXJyZW50IGxvY2FsZSAtLSBpdCBoYXMKKwkgIGFsd2F5cyB1c2VkIHN0cmNtcAorCitsaWIvZ2xvYi9nbG9iLmMKKwktIGZpeGVkIGEgYnVnIGluIGdsb2JfZmlsZW5hbWUgdGhhdCBjYXVzZWQgZ2xvYl9kaXJfdG9fYXJyYXkgdG8gYmUKKwkgIGNhbGxlZCB0byBwcmVwZW5kIGEgKGdsb2JiZWQpIGRpcmVjdG9yeSBuYW1lIG9udG8gdGhlIHJlc3VsdHMgZnJvbQorCSAgZ2xvYl92ZWN0b3IsIHdoaWNoLCBpZiB3ZSB3ZXJlIGdsb2JiaW5nIGAqKicsIGdsb2JfdmVjdG9yIGhhcworCSAgYWxyZWFkeSBkb25lLiAgRWZmZWN0IGlzIHRvIGhhdmUgdGhlIGRpcmVjdG9yeSBuYW1lKHMpIG9uIHRoZXJlCisJICB0d2ljZS4gIEZpeGVzICJkaXIqLyoqIiBidWcgcmVwb3J0ZWQgYnkgTWF0dCBaeXppaworCSAgPE1hdHRAaWNlLmZpbGVzY29wZS5jb20+CisKKwkJCQkgICAgNC84CisJCQkJICAgIC0tLQorZG9jL3tiYXNoLjEsYmFzaHJlZi50ZXhpfQorCS0gZml4IHNob3J0IHN5bnRheCBzdW1tYXJ5IG9mIGZvciBjb21tYW5kIHRvIHJlZmxlY3QgZnVsbCBiYXNoCisJICBzeW50YXggKHdoaWNoIGlzIGEgc3VwZXJzZXQgb2YgUG9zaXggc3ludGF4KS4gIEZpeGVzIGJ1ZyByZXBvcnRlZAorCSAgYnkgUmV1YmVuIFRob21hcyA8cnJ0QHNjM2Qub3JnPgorCisJCQkJICAgNC8xMAorCQkJCSAgIC0tLS0KK3tleHByLHN1YnN0fS5jCisJLSBtYWtlIHN1cmUgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgaXMgc2V0IHRvIEVYRUNVVElPTl9GQUlMVVJFCisJICBiZWZvcmUgY2FsbGluZyBlcnJfdW5ib3VuZHZhciwgaW4gY2FzZSBzZXQgLWUgaXMgZW5hYmxlZCBhbmQKKwkgIHRoZSBzaGVsbCBleGl0cyBmcm9tIHRoZXJlLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IEZyZWRkeQorCSAgVnVsdG8gPGZ2dWx0b0BnbWFpbC5jb20+IGFuZCBQaW90ciBaaWVsaW5za2kKKwkgIDxwaW90ci56aWVsaW5za2lAZ21haWwuY29tPgorCisJCQkJICAgNC8xMQorCQkJCSAgIC0tLS0KK2pvYnMuYworCS0gaW4gcmVzdG9yZV9waXBlbGluZSwgZG9uJ3QgY2FsbCBkaXNjYXJkX3BpcGVsaW5lIHdpdGggYSBOVUxMCisJICBhcmd1bWVudAorCit0cmFwLmMKKwktIGluIHJ1bl9kZWJ1Z190cmFwLCBtYWtlIHN1cmUgdG8gc2F2ZSBhbmQgcmVzdG9yZSB0aGUgcGlwZWxpbmUsCisJICBwaXBlbGluZV9wZ3JwLCBhbmQgc3RhdGUgb2YgdGhlIHBpcGVsaW5lIGFyb3VuZCBydW5uaW5nIHRoZSBkZWJ1ZworCSAgdHJhcCwgdGhlbiByZW1vdmUgYW55IGpvYiBjcmVhdGVkIGJ5IHJ1bm5pbmcgdGhlIGRlYnVnIHRyYXAgZnJvbQorCSAgdGhlIGpvYnMgdGFibGUgd2hlbiBpdCBjb21wbGV0ZXMuICBGaXhlcyBmb3IgdHdvIGJ1Z3MgcmVwb3J0ZWQKKwkgIGJ5IGxleEB1cGMudWEKKworCQkJCSAgIDQvMTIKKwkJCQkgICAtLS0tCitsaWIvcmVhZGxpbmUvc2lnbmFscy5jCisJLSBuZXcgZnVuY3Rpb25zIHRvIGJsb2NrIGFuZCByZWxlYXNlIFNJR1dJTkNIIGxpa2UgdGhlIFNJR0lOVCBibG9ja2luZworCSAgYW5kIHJlbGVhc2luZyBmdW5jdGlvbnMKKworbGliL3JlYWRsaW5lL3JscHJpdmF0ZS5oCisJLSBuZXcgZXh0ZXJuIGRlY2xhcmF0aW9ucyBmb3IgX3JsX2Jsb2NrX3NpZ3dpbmNoIGFuZCBfcmxfcmVsZWFzZV9zaWd3aW5jaAorCitsaWIvcmVhZGxpbmUvZGlzcGxheS5jCisJLSBibG9jayBTSUdXSU5DSCBkdXJpbmcgcmVkaXNwbGF5IGxpa2UgU0lHSU5ULiAgU2hvdWxkIGZpeCBidWcgcmVwb3J0ZWQKKwkgIGJ5IE5pY29sYWkgTGlzc25lciA8bmxpc3NuZUBsaW51eDAxLm9yZz4KKworCQkJCSAgIDQvMTMKKwkJCQkgICAtLS0tCitsaWIvcmVhZGxpbmUvcmVhZGxpbmUuaAorCS0gbmV3IHJlYWRsaW5lIHN0YXRlIHZhcmlhYmxlOiBSTF9TVEFURV9SRURJU1BMQVlJTkcKKworbGliL3JlYWRsaW5lL2Rpc3BsYXkuYworCS0gaW4gcmxfcmVkaXNwbGF5LCBkb24ndCBibG9jayBTSUdXSU5DSCBkdXJpbmcgcmVkaXNwbGF5OyBqdXN0IHNldAorCSAgdGhlIFJFRElTUExBWUlORyBzdGF0ZQorCitsaWIvcmVhZGxpbmUvdGVybWluYWwuYworCS0gaW4gcmxfcmVzaXplX3Rlcm1pbmFsLCBkb24ndCBjYWxsIHJsX3JlZGlzcGxheV9hZnRlcl9zaWd3aW5jaCgpIGlmCisJICB3ZSdyZSBhbHJlYWR5IGluIHRoZSBtaWRkbGUgb2YgcmVkaXNwbGF5IChSTF9TVEFURV9SRURJU1BMQVlJTkcpLgorCSAgRml4IGZvciBidWcgcmVwb3J0ZWQgYnkgTmljb2xhaSBMaXNzbmVyIDxubGlzc25lQGxpbnV4MDEub3JnPgorCisJCQkJICAgNC8xNQorCQkJCSAgIC0tLS0KK3BhcnNlLnkKKwktIGZpeCBwYXJzZV9jb21zdWIgdG8gYWRkIGNoZWNrIGZvciBcbiB3aGVuIHNlZWluZyB3aGV0aGVyIHRoZSBjdXJyZW50CisJICBjaGFyYWN0ZXIgY2FuIGNoYW5nZSB0byBhIHN0YXRlIHdoZXJlIGEgcmVzZXJ2ZWQgd29yZCBpcyBsZWdhbCwKKwkgIHNpbmNlIGl0IGlzIG5vdCBhIHNoZWxsIG1ldGEgY2hhcmFjdGVyLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5CisJICBCZXJuZCBFZ2dpbmsgPG1vbm9wZWRAc3VkcmFsYS5kZT4uCisKKwkJCQkgICA0LzE3CisJCQkJICAgLS0tLQoram9icy5jCisJLSBuZXcgZnVuY3Rpb25zIHRvIHNhdmUgYW5kIHJlc3RvcmUgdGhlIHBncnBfcGlwZSAoc2luY2UgdGhlcmUncyBvbmx5CisJICBvbmUpOiBzYXZlX3BncnBfcGlwZSBhbmQgcmVzdG9yZV9wZ3JwX3BpcGUKKwordHJhcC5jCisJLSBydW5fZGVidWdfdHJhcCBub3cgc2F2ZXMgYW5kIHJlc3RvcmVzIHRoZSBwZ3JwX3BpcGUgYmVmb3JlIGFuZAorCSAgYWZ0ZXIgY2FsbGluZyB0aGUgZGVidWcgdHJhcAorCS0gcnVuX2RlYnVnX3RyYXAgbm93IG1ha2VzIHN1cmUgdGhlIHRlcm1pbmFsIGlzIG93bmVkIGJ5IHRoZSBwaXBlbGluZQorCSAgcGdycCBhZnRlciB0aGUgZGVidWcgdHJhcCBydW5zLiAgUmVzdCBvZiBmaXggZm9yIGJ1ZyByZXBvcnRlZCBieQorCSAgT2xla3NseSBNZWxueWsgPG8ubWVsbnlrQHVwYy51YT4gKGxleEB1cGMuY2EpCisKKwkJCQkgICA0LzE5CisJCQkJICAgLS0tLQoraW5jbHVkZS9wb3NpeHNlbGVjdC5oCisJLSBuZXcgaW5jbHVkZSBmaWxlLCBlbmNhcHN1bGF0ZXMgc2VsZWN0KDIpIGluY2x1ZGVzIGFuZCBkZWZpbmVzIGZvcgorCSAgYmFzaCBhbmQgcmVhZGxpbmUuICBJbnNwaXJlZCBieSBwYXRjaCBmcm9tIE1pa2UgRnJ5c2luZ2VyCisJICA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2xpYi9zaC9pbnB1dF9hdmFpbC5jCisJIC0gaW5jbHVkZSAicG9zaXhzZWxlY3QuaCIKKworbGliL3JlYWRsaW5lL3tpbnB1dCxwYXJlbnN9LmMKKwktIGluY2x1ZGUgInBvc2l4c2VsZWN0LmgiIGluc3RlYWQgb2YgdXNpbmcgaW5saW5lIGluY2x1ZGVzCisJLSB1c2UgbmV3IFVTRUNfVE9fVElNRVZBTCBkZWZpbmUgdG8gbWFrZSBzdXJlIHRoYXQgdmFsdWVzIGZvciB0aW1lb3V0cworCSAgZ3JlYXRlciB0aGFuIG9uZSBzZWNvbmQgYXJlIGhhbmRsZWQgcHJvcGVybHkKKworbGliL3NoL2ZwdXJnZS5jCisJLSB1cGRhdGVkIGltcGxlbWVudGF0aW9uLCB0YWtlbiBmcm9tIGdudWxpYgorCisJCQkJICAgNC8yMQorCQkJCSAgIC0tLS0KK2xpYi9nbG9iL2dsb2IuYworCS0gaW4gZmluZGRpcnMsIGRvbid0IHRyeSB0byBmcmVlIGEgcmV0dXJuIHZhbHVlIG9mIGdsb2JfZXJyb3JfcmV0dXJuCisJICBmcm9tIGdsb2JfdmVjdG9yLiAgQnVnIGFuZCBmaXggZnJvbSB3ZXJuZXJAc3VzZS5kZQorCitsaWIvcmVhZGxpbmUvc2lnbmFscy5jCisJLSBpbiBybF9lY2hvX3NpZ25hbF9jaGFyLCBjaGVjayB0aGF0IFNJR1FVSVQgYW5kIFNJR1RTVFAgYXJlIGRlZmluZWQKKwkgIGJlZm9yZSB0cnlpbmcgdG8gdXNlIHRoZW0uICBCdWcgcmVwb3J0IGFuZCBmaXggZnJvbSBWb2xrZXIgR3JhYnNjaAorCSAgPHZvZ0Bub3RqdXN0aG9zdGluZy5jb20+CisKKwkJCQkgICA0LzI0CisJCQkJICAgLS0tLQorYWNsb2NhbC5tNAorCS0gYWRkIGNvbmRpdGlvbmFsIGluY2x1c2lvbiBvZiA8c3RkaW50Lmg+IHRvIEJBU0hfQ0hFQ0tfVFlQRQorCitiYXNodHlwZXMuaCxsaWIvc2gvc3RydG9baXVdbWF4LmMKKwktIGluY2x1ZGUgPHN0ZGludC5oPiBpZiBwcmVzZW50IGZvciBhbnkgZXhpc3RpbmcgZGVjbGFyYXRpb24gb2YKKwkgIGludG1heF90IGFuZCB1aW50bWF4X3QuICBGaXhlcyBJbnRlcml4IHByb2JsZW0gcmVwb3J0ZWQgYnkKKwkgIE1hcmt1cyBEdWZ0IDxtZHVmdEBnZW50b28ub3JnPgorCitsaWIvc2gvc3RyaW5kZXguYyxleHRlcm5zLmgsYnVpbHRpbnMvY29tbW9uLmgKKwktIHJlbmFtZWQgc3RyaW5kZXggdG8gc3RyY2FzZXN0ciB0byBhZ3JlZSB3aXRoIG90aGVyIGltcGxlbWVudGF0aW9ucworCSAgKGUuZy4sIEJTRCwgTWFjT1MgWCwgZ251bGliKTsgY2hhbmdlZCBjYWxsZXJzCisKK2xpYi9zaC97c3RyaW5kZXguYyxNYWtlZmlsZS5pbn0sTWFrZWZpbGUuaW4KKwktIHJlbmFtZWQgc3RyaW5kZXguYyB0byBzdHJjYXNlc3RyLmMKKworY29uZmlndXJlLmluCisJLSBhZGQgc3RyY2FzZXN0ciB0byBjYWxsIHRvIEFDX1JFUExBQ0VfRlVOQ1MsIHRha2UgYWR2YW50YWdlIG9mCisJICBleGlzdGluZyBsaWJjIGltcGxlbWVudGF0aW9ucworCitjb25maWcuaC5pbgorCS0gYWRkIGRlZmluZSBmb3IgSEFWRV9TVFJDQVNFU1RSCisKK2xpYi9zaC9tYnNjbXAuYworCS0gZml4IG1ic2NtcCB0byByZXR1cm4gY29ycmVjdCB2YWx1ZXMgd2hlbiB0aGUgc3RyaW5ncyBkbyBub3QgY29udGFpbgorCSAgdmFsaWQgbXVsdGlieXRlIGNoYXJhY3RlcnMuICBJZGVhcyBmcm9tIGdudWxpYgorCit4c3RyY2hyLmMKKwktIG9ubHkgY29tcGFyZSBjdXJyZW50IGNoYXJhY3RlciBhZ2FpbnN0IEMgaWYgbWJsZW5ndGggPT0gMQorCit7c2hlbGwsdmFyaWFibGVzfS5jCisJLSBjaGFuZ2VkIHNvbWUgeHN0cmNociBjYWxscyBiYWNrIHRvIHN0cmNociB3aGVuIHRoZSBhcmd1bWVudHMgY2Fubm90CisJICBjb250YWluIG11bHRpYnl0ZSBjaGFyYWN0ZXJzCisKK2xpYi9zaC97eHN0cmNoci5jLE1ha2VmaWxlLmlufSxNYWtlZmlsZS5pbgorCS0gcmVuYW1lZCB4c3RyY2hyIHRvIG1ic2NocjsgcmVuYW1lZCBmaWxlIHRvIG1ic2Noci5jCisKK2FjbG9jYWwubTQKKwktIGNoYW5nZSBCQVNIX0NIRUNLX01VTFRJQllURSB0byB1c2UgQUNfUkVQTEFDRV9GVU5DUyhtYnNjaHIpCisKK2V4dGVybnMuaAorCS0gZXh0ZXJuIGRlY2xhcmF0aW9ucyBmb3IgbWJzY21wIGFuZCBtYnNjaHIsIGNvbmRpdGlvbmFsIG9uIHRoZSB1c3VhbAorCSAgSEFWRV9NQlNDTVAgYW5kIEhBVkVfTUJTQ0hSIGRlZmluZXMKKworZ2VuZXJhbC5oLHthbGlhcyxhcnJheWZ1bmMsYmFzaGxpbmUsZ2VuZXJhbCxleGVjdXRlX2NtZCxzdWJzdH0uYworCS0gY2hhbmdlZCBjYWxscyB0byB4c3RyY2hyIHRvIG1ic2NocgorCitkb2MvYmFzaC4xCisJLSB1c2UgYHBhdGhuYW1lIGV4cGFuc2lvbicgY29uc2lzdGVudGx5LCBub3QgYGZpbGVuYW1lIGV4cGFuc2lvbicgb3IKKwkgIGBmaWxlbmFtZSBnZW5lcmF0aW9uJworCitkb2MvYmFzaHJlZi50ZXhpCisJLSB1c2UgdGhlIHBocmFzZSBgZmlsZW5hbWUgZXhwYW5zaW9uJyBjb25zaXN0ZW50bHkgKHNpbmNlIHRoaXMgaXMKKwkgIHdoYXQgdGhlIEdudSBwZW9wbGUgcHJlZmVyKSBpbnN0ZWFkIG9mIGBwYXRobmFtZSBleHBhbnNpb24nIG9yCisJICBgZmlsZW5hbWUgZ2VuZXJhdGlvbicKKworYWNsb2NhbC5tNCxjb25maWcuaC5pbgorCS0gY2hlY2sgZm9yIG1ic2Nhc2VjbXAgaW4gQkFTSF9DSEVDS19NVUxUSUJZVEUsIGRlZmluZSBIQVZFX01CU0NBU0VDTVAKKwkgIGlmIGZvdW5kCisKK2xpYi9zaC97bWJzY2FzZWNtcC5jLE1ha2VmaWxlLmlufQorCS0gbmV3IGZpbGUsIGNhc2UtaW5zZW5zaXRpdmUgbXVsdGlieXRlIHN0cmluZyBjb21wYXJpc29uCisKK2V4dGVybnMuaAorCS0gZXh0ZXJuIGRlY2xhcmF0aW9uIGZvciBtYnNjYXNlY21wCisKKwkJCQkgICA0LzI1CisJCQkJICAgLS0tLQorbGliL3JlYWRsaW5lL2Rpc3BsYXkuYworCS0gaW4gX3JsX21vdmVfY3Vyc29yX3JlbGF0aXZlLCBkb24ndCBhZGp1c3QgZHBvcyBieSB3b2ZmIGlmIGl0J3MKKwkgIGFscmVhZHkgbGVzcyB0aGFuIHdvZmYgKGRvbid0IHdhbnQgaXQgbGVzcyB0aGFuIDApCisJLSBpbiBfcmxfbW92ZV9jdXJzb3JfcmVsYXRpdmUsIHNob3J0LWNpcmN1aXQgcmlnaHQgYXdheSBpZiB0aGUgY3Vyc29yCisJICBpcyBhdCBjb2x1bW5zIDAgYW5kIGBuZXcnIGlzIDAgKGRvZXNuJ3QgbWF0dGVyIGlmIGl0J3MgYSBtdWx0aWJ5dGUKKwkgIGxvY2FsZSBvciBub3QsIG9yIHdoZXRoZXIgdGhlcmUgYXJlIGludmlzaWJsZSBjaGFycyBpbiB0aGUgcHJvbXB0KQorCS0gaW4gX3JsX21vdmVfY3Vyc29yX3JlbGF0aXZlLCBnbyBhaGVhZCBhbmQgYWRqdXN0IGRwb3MgaWYKKwkgIHByb21wdF9waHlzaWNhbF9jaGFycyA+PSBfcmxfc2NyZWVud2lkdGggKHByZXZpb3VzIGNoZWNrIHdhcyBqdXN0ID4gKQorCSAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IEFuZHJlYXMgU2Nod2FiIDxzY2h3YWJAbGludXgtbTY4ay5vcmc+CisKKwkJCQkgICA0LzI4CisJCQkJICAgLS0tLQorbGliL2dsb2IvZ2xvYi5jCisJLSBpbiBnbG9iX3ZlY3RvciwgZG9uJ3QgYWRkIGFuIGVtcHR5IHBhdGhuYW1lICgiIikgaWYgd2UncmUgYWRkaW5nIHRoZQorCSAgY3VycmVjdCBkaXJlY3RvcnkgdG8gdGhlIGRpcmxpc3QgYW5kIEdYX05VTExESVIgaXMgc2V0IC0tIHdlIGNhbiBqdXN0CisJICBpZ25vcmUgaXQsIHNpbmNlIHRoZSBwYXNzZWQgZGlyZWN0b3J5IG5hbWUgKCIuIikgd2FzIGNyZWF0ZWQgYnkKKwkgIHRoZSBjYWxsZXIuICBGaXhlcyBidWcgcmVwb3J0ZWQgYnkgTWF0dCBaeXppayA8bWF0dC56eXppa0BueXUuZWR1PgorCisJCQkJICAgIDUvNQorCQkJCSAgICAtLS0KK3N1YnN0LmMKKwktIG1ha2UgZXhwYW5zaW9uIG9mICRAIGFuZCAkKiB3aGVuIHNldCAtdSBpcyBpbiBlZmZlY3QgYW5kIHRoZXJlIGFyZQorCSAgbm8gcG9zaXRpb25hbCBwYXJhbWV0ZXJzIGJlIGEgbm9uLWZhdGFsIGVycm9yLiAgVGhpcyBpcyB0aGUKKwkgIGNvbnNlbnN1cyBvZiB0aGUgYXVzdGluIGdyb3VwLCB0aG91Z2ggaXQgaXMgbm90IGhpc3RvcmljYWwgcHJhY3RpY2UuCisJICBNZXNzYWdlIGZyb20gR2VvZmYgQ2xhcmUgPDIwMDkwNTA1MDkxNTAxLkdBMTAwOTdAc3F1b25rLm1hc3FuZXQ+IG9mCisJICA1IE1heSAyMDA5IGFuZCBodHRwOi8vYXVzdGluZ3JvdXBidWdzLm5ldC92aWV3LnBocD9pZD0xNTUKKworCisJCQkJICAgNS8yMAorCQkJCSAgIC0tLS0KK2xpYi9nbG9iL2dsb2IuYworCS0gdGVudGF0aXZlIGZpeCB0byBnbG9iX2ZpbGVuYW1lIHRvIGNvbXBlbnNhdGUgZm9yIGdsb2JfdmVjdG9yIHB1dHRpbmcKKwkgIG51bGwgcGF0aG5hbWUgYXQgZnJvbnQgb2YgcmVzdWx0IHZlY3RvciB3aGVuIGRmbGFncyZHWF9OVUxMRElSLgorCSAgQ3VycmVudCBmaXggbWFudWFsbHkgcmVtb3ZlcyBlbXB0eSBzdHJpbmcgZWxlbWVudCBmcm9tIGZyb250IG9mCisJICByZXN1bHQgdmVjdG9yOyBhIGJldHRlciBmaXggd291bGQgYmUgdG8gdXNlIGEgZmxhZyBzbyBnbG9iX3ZlY3RvcgorCSAgZG9lc24ndCBhZGQgaXQgYXQgYWxsLiAgQXVnbWVudHMgcGF0Y2ggZnJvbSA0LzI4LCB3aGljaCBhcHBlYXJzIHRvCisJICBoYXZlIGJyb2tlbiBzb21lIHRoaW5ncy4gIEZpeGVzIGJ1ZyByZXBvcnRlZCBieSBNYXR0IFp5emlrCisJICA8bWF0dC56eXppa0BueXUuZWR1PgorCisJCQkJICAgNS8yMgorCQkJCSAgIC0tLS0KKworbGliL2dsb2IvZ2xvYi5jCisJLSBiZXR0ZXIgZml4IGZvciBnbG9iX2ZpbGVuYW1lOyBzdXBlcnNlZGVzIHBhdGNoIG9mIDUvMjAuICBOb3cgdGhlCisJICBjb2RlIGRvZXMgbm90IHNldCBHWF9BRERDVVJESVIgaWYgZGlyZWN0b3J5X2xlbiA9PSAwIGFuZCB0aGUKKwkgIGZ1bmN0aW9uIGhhcyBub3QgYmVlbiBjYWxsZWQgcmVjdXJzaXZlbHkgKChmbGFncyAmIEdYX0FMTERJUlMpID09IDApLgorCSAgQmV0dGVyIGZpeCBmb3IgYnVnIHJlcG9ydGVkIGJ5IE1hdHQgWnl6aWsgPG1hdHQuenl6aWtAbnl1LmVkdT4KKworTWFrZWZpbGUuaW4KKwktIGZpeCBidWlsZCByYWNlIGNvbmRpdGlvbiB0aGF0IG9jY3VycyBpbiBzb21lIG1ha2VzIGNhdXNlZCBieQorCSAgbGlicmVhZGxpbmUuYSBhbmQgbGliaGlzdG9yeS5hIGNvbnRhaW5pbmcgc29tZSBvZiB0aGUgc2FtZSBmaWxlcworCSAgKGUuZy4sIHhtYWxsb2MubykgYW5kIGNvbmZsaWN0aW5nIHdoZW4gdHJ5aW5nIHRvIGJ1aWxkIGJvdGggYXQKKwkgIHRoZSBzYW1lIHRpbWUuICBSZXBvcnRlZCBieSBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKKwkJCQkgICA1LzI1CisJCQkJICAgLS0tLQorbGliL3JlYWRsaW5lL3ZpX21vZGUuYworCS0gZml4IF9ybF92aV9pbml0aWFsaXplX2xpbmUgc28gdGhhdCB0aGUgbG9vcCBjb3VudGVyIGlzIG5vdAorCSAgdW5zaWduZWQgKGl0IGRvZXNuJ3QgbWF0dGVyLCBidXQgaXQgZWxpbWluYXRlcyBhIGNvbXBpbGVyIHdhcm5pbmcpLgorCSAgQnVnIHJlcG9ydGVkIGJ5IERhdmUgQ2Fyb2xpbmUgPGRhdmUudGhlYXJjaGl2aXN0QGdtYWlsLmNvbT4KKworCQkJCSAgIDUvMjYKKwkJCQkgICAtLS0tCitkb2Mve2Jhc2guMSxiYXNocmVmLnRleGl9CisJLSBhZGQgdGV4dCB0byB0aGUgZGVzY3JpcHRpb24gb2YgYXJyYXkgdmFyaWFibGVzIG1ha2luZyBpdCBjbGVhcgorCSAgdGhhdCBhbiBhcnJheSB2YXJpYWJsZSBpcyBub3QgY29uc2lkZXJlZCBzZXQgdW50aWwgYSBzdWJzY3JpcHQKKwkgIGhhcyBiZWVuIGFzc2lnbmVkIGEgdmFsdWUKKworCQkJCSAgIDUvMjkKKwkJCQkgICAtLS0tCitsaWIvcmVhZGxpbmUvdGV4dC5jCisJLSBmaXggcmxfY2hhbmdlX2Nhc2UgdG8gaGFuZGxlIGNhc2Ugd2hlcmUgbWJydG93YyBkb2Vzbid0IGZpbmQgYQorCSAgdmFsaWQgbXVsdGlieXRlIGNoYXJhY3RlcgorCitsaWIvcmVhZGxpbmUvdmlfbW9kZS5jCisJLSBmaXggX3JsX3ZpX2NoYW5nZV9tYmNoYXJfY2FzZSB0byBoYW5kbGUgY2FzZSB3aGVyZSBtYnJ0b3djIGRvZXNuJ3QKKwkgIGZpbmQgYSB2YWxpZCBtdWx0aWJ5dGUgY2hhcmFjdGVyCisKK2xpYi9zaC9jYXNlbW9kLmMKKwktIGZpeCBzaF9tb2RjYXNlIHRvIGhhbmRsZSBjYXNlIHdoZXJlIG1icnRvd2MgZG9lc24ndCBmaW5kIGEgdmFsaWQKKwkgIG11bHRpYnl0ZSBjaGFyYWN0ZXIKKworbGliL3JlYWRsaW5lL21idXRpbC5jCisJLSBmaXggX3JsX2ZpbmRfbmV4dF9tYmNoYXJfaW50ZXJuYWwgdG8gbm90IGNhbGwgbWJydG93YyBhdCB0aGUgZW5kIG9mCisJICB0aGUgc3RyaW5nLCBzaW5jZSBpbXBsZW1lbnRhdGlvbnMgcmV0dXJuIGRpZmZlcmVudCB2YWx1ZXMgLS0ganVzdAorCSAgYnJlYWsgdGhlIGxvb3AgaW1tZWRpYXRlbHkKKworbGliL3JlYWRsaW5lL2Rpc3BsYXkuYworCS0gZml4IHJsX3JlZGlzcGxheSB0byBtYWtlIHNhbWUgc29ydCBvZiBjdXJzb3IgcG9zaXRpb24gYWRqdXN0bWVudHMKKwkgIGJhc2VkIG9uIG11bHRpYnl0ZSBsb2NhbGUgYW5kIF9ybF9sYXN0X2NfcG9zIHdoZW4gcGVyZm9ybWluZworCSAgaG9yaXpvbnRhbCBzY3JvbGxpbmcgcmF0aGVyIHRoYW4gbGluZSB3cmFwcGluZy4gIFByb2JhYmx5IHN0aWxsCisJICBtb3JlIHRvIGRvLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IGppbUBqaW0uc2gKKworCQkJCSAgICA2LzUKKwkJCQkgICAgLS0tCitkb2Mve2Jhc2guMSxiYXNocmVmLnRleGl9CisJLSBhZGRlZCBzb21lIG1vcmUgZXhwbGFuYXRpb24gb2YgdGhlIGluaGVyaXRhbmNlIG9mIHRoZSBFUlIgdHJhcCBhdAorCSAgdGhlIHN1Z2dlc3Rpb24gb2YgVGhvbWFzIFBvc3Bpc2VrIDx0cG9Ac291cmNlcG9sZS5jaD4KKworZmluZGNtZC5jCisJLSB1c2UgZWFjY2VzcygyKSBpZiBhdmFpbGFibGUgaW4gZmlsZV9zdGF0dXMgdG8gdGFrZSBvdGhlciBmaWxlCisJICBhY2Nlc3MgbWVjaGFuaXNtcyBzdWNoIGFzIEFDTHMgaW50byBhY2NvdW50LiAgUGF0Y2ggc3VwcGxpZWQKKwkgIGJ5IHdlcm5lckBzdXNlLmRlCisKKwkJCQkgICA2LzEyCisJCQkJICAgLS0tLQoreG1hbGxvYy5jCisJLSBhbHNvIGNhbGN1bGF0ZSBsb3dlc3QgYnJrKCkgdmFsdWUgdGhlIGZpcnN0IHRpbWUgeG1hbGxvYy94cmVhbGxvYworCSAgKGFuZCB0aGVpciBzaF8gY291bnRlcnBhcnRzKSBhcmUgY2FsbGVkCisJLSBlcnJvciBtZXNzYWdlcyBjb25zb2xpZGF0ZWQgaW50byBhIHNpbmdsZSBmdW5jdGlvbiAoYWxsb2NlcnIvCisJICBzaF9hbGxvY2VycikgdG8gYXZvaWQgc3RyaW5nIGR1cGxpY2F0aW9uCisKKwkJCQkgICA2LzE2CisJCQkJICAgLS0tLQordmFyaWFibGVzLmMKKwktIGNoYW5nZXMgdG8gYWxsb3cgdmFyaWFibGVzLmMgdG8gYmUgY29tcGlsZWQgaWYgQUxJQVMgaXMgbm90IGRlZmluZWQuCisJICBCdWcgYW5kIGZpeCBmcm9tIEpvaG4gR2F0ZXdvb2QgSGFtIDx1cmFwaGFsaW51eHNlcnZlckBnbWFpbC5jb20+CisKK2xpYi9zaC9nZXRjd2QuYworCS0gZml4IHNvIHN5c3RlbXMgZGVmaW5pbmcgQlJPS0VOX0RJUkVOVF9EX0lOTyBoYXZlIHRoZSBuZWNlc3NhcnkKKwkgIGRlZmluZXMuICBGaXggZnJvbSBKYXkgS3JlbGwgPGpheS5rcmVsbEBjb3JuZWxsLmVkdT4KKworY29uZmlndXJlLmluCisJLSBhZGQgLURfQUxMX1NPVVJDRSB0byBpbnRlcml4IENGTEFHUyBmb3Igc3RydWN0IHRpbWV6b25lIGRlZmluaXRpb24uCisJICBCdWcgYW5kIGZpeCBmcm9tIEpvaG4gR2F0ZXdvb2QgSGFtIDx1cmFwaGFsaW51eHNlcnZlckBnbWFpbC5jb20+CisKKwkJCQkgICA2LzI5CisJCQkJICAgLS0tLQordmFyaWFibGVzLmMKKwktIGNoYW5nZSBpbml0aWFsaXplX3NoZWxsX3ZhcmlhYmxlcyB0byBhZGQgZW52aXJvbm1lbnQgdmFyaWFibGVzIHdpdGgKKwkgIGludmFsaWQgbmFtZXMgdG8gdGhlIHZhcmlhYmxlcyBoYXNoIHRhYmxlLCBidXQgbWFya2luZyB0aGVtIGFzCisJICBpbnZpc2libGUgYW5kIGltcG9ydGVkCisJLSBuZXcgZnVuY3Rpb24sIGV4cG9ydF9lbnZpcm9ubWVudF9jYW5kaWRhdGUuICBVc2VkIHdoZW4gY3JlYXRpbmcgdGhlCisJICBleHBvcnQgZW52aXJvbm1lbnQgZm9yIGNvbW1hbmRzIHRvIGluY2x1ZGUgdmFyaWFibGVzIHdpdGggaW52YWxpZAorCSAgbmFtZXMgaW5oZXJpdGVkIGZyb20gdGhlIGluaXRpYWwgZW52aXJvbm1lbnQuICBBcHBhcmVudGx5IHRoaXMKKwkgIGJlaGF2aW9yIGlzIHdpZGVzcHJlYWQKKwktIGNoYW5nZSBtYWtlX3Zhcl9leHBvcnRfYXJyYXkgdG8gdXNlIGV4cG9ydF9lbnZpcm9ubWVudF9jYW5kaWRhdGUKKwkgIHJhdGhlciB0aGFuIHZpc2libGVfYW5kX2V4cG9ydGVkIHRvIHRlc3QgdmFyaWFibGVzIGZvciBpbmNsdXNpb24KKwkgIGluIHRoZSBleHBvcnQgZW52aXJvbm1lbnQKKworCQkJCSAgICA3LzEKKwkJCQkgICAgLS0tCitidWlsdGlucy9yZWFkLmRlZgorCS0gZml4IGEgbWVtb3J5IGxlYWsgd2hlcmUgdGhlIG51bWJlciBvZiBmaWVsZHMgaXMgbm90IHRoZSBzYW1lIGFzCisJICB0aGUgbnVtYmVyIG9mIHZhcmlhYmxlcyBwYXNzZWQgdG8gYHJlYWQnLiAgQnVnIHJlcG9ydCBmcm9tCisJICB3ZXJuZXJAc3VzZS5kZQorCitidWlsdGlucy9jb21tYW5kLmRlZgorCS0gbW92ZSBzZWN0aW9uIG9mIGNvZGUgdGhhdCBzZXRzIFBBVEggZnJvbSAtcCBvcHRpb24gYmVmb3JlIHRoZQorCSAgdmVyYm9zZS1oYW5kbGluZyBzZWN0aW9uLCBzbyBjb21tYW5kIC12IGFuZCBjb21tYW5kIC1WIGhvbm9yCisJICB0aGUgUEFUSCBzZXQgYnkgY29tbWFuZCAtcC4gIEJ1ZyByZXBvcnQgYW5kIGZpeCBmcm9tCisJICBvaGtpQGdzc20ub3RzdWthLnRzdWt1YmEuYWMuanAKKworCQkJCSAgICA3LzkKKwkJCQkgICAgLS0tCitzdWJzdC5jCisJLSBjaGFuZ2UgYnJhY2VfZXhwYW5kX3dvcmRfbGlzdCB0byBkZWZlciBicmFjZSBleHBhbnNpb24gb24gY29tcG91bmQKKwkgIGFycmF5IGFzc2lnbm1lbnRzIHRoYXQgYXJlIGFyZ3VtZW50cyB0byBidWlsdGlucyBsaWtlIGBkZWNsYXJlJywKKwkgIGRlZmVycmluZyB0aGUgZXhwYW5zaW9uIHVudGlsIHRoZSBhc3NpZ25tZW50IHN0YXRlbWVudCBpcyBwcm9jZXNzZWQuCisJICBGaXhlcyBpbmNvbnNpc3RlbmN5IHJlcG9ydGVkIGJ5IGFncmlmZmlzQG4wMXNlLm5ldAorCisJCQkJICAgNy8xNgorCQkJCSAgIC0tLS0KK2Jhc2hsaW5lLmMKKwktIGZpeCBiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kIHRvIHNldCBybF9wb2ludCBjb3JyZWN0bHkgYmFzZWQgb24KKwkgIFJFQURMSU5FX1BPSU5ULiAgVGhlIG9sZCBtZXRob2Qgb2YgdXNpbmcgc2F2ZV9wb2ludCB3aWxsIG5vdAorCSAgd29yayBiZWNhdXNlIG1heWJlX21ha2VfcmVhZGxpbmVfbGluZSB3aWxsIGNoYW5nZSBybF9wb2ludC4gIEJ1ZworCSAgcmVwb3J0ZWQgYnkgSGVubmluZyBCZWtlbCA8aC5iZWtlbEBnb29nbGVtYWlsLmNvbT4KKwordHJhcC5jCisJLSBmaXggX3J1bl90cmFwX2ludGVybmFsIGFuZCBydW5fcGVuZGluZ190cmFwcyB0byBzYXZlIGFuZCByZXN0b3JlCisJICB2YWx1ZSBvZiBzdWJzdF9hc3NpZ25fdmFybGlzdCBzbyB0aGUgZGlzcG9zZV93b3JkcyBvbiBpdCBkb2Vzbid0CisJICBsZWF2ZSBkYW5nbGluZyBwb2ludGVycyBhZnRlciB0aGUgdHJhcCBoYW5kbGVyIHJ1bnMuICBGaXhlcyBidWcKKwkgIHJlcG9ydGVkIGJ5IE1hcmMgSGVyYmVydCA8bWFyYy5oZXJiZXJ0QGdtYWlsLmNvbT4KKworCQkJCSAgIDcvMjIKKwkJCQkgICAtLS0tCitzdWJzdC5jCisJLSBmaXggb2ZmLWJ5LW9uZSBlcnJvciBpbiBwb3NfcGFyYW1zIHdoZW4gY29tcHV0aW5nIHBvc2l0aW9uYWwKKwkgIHBhcmFtZXRlcnMgYmVnaW5uaW5nIHdpdGggaW5kZXggMC4gIEJ1ZyBhbmQgZml4IGZyb20gSXNhYWMgR29vZAorCSAgPGlzYWFjZ29vZEBnbWFpbC5jb20+CisKKwkJCQkgICA3LzI0CisJCQkJICAgLS0tLQorbGliL3JlYWRsaW5lL2Rpc3BsYXkuYworCS0gYWRkIGNvZGUgdG8gX3JsX21vdmVfY3Vyc29yX3JlbGF0aXZlIGFuZCBfcmxfY29sX3dpZHRoIHRvIHNob3J0LQorCSAgY2lyY3VpdCBhIGZldyBzcGVjaWFsIGNhc2VzOiBwcm9tcHQgc3RyaW5nIGFuZCBwcm9tcHQgc3RyaW5nIHBsdXMKKwkgIGxpbmUgY29udGVudHMsIGJvdGggc3RhcnRpbmcgZnJvbSAwLiAgU2F2ZXMgYSBidW5jaCBvZiBjYWxscyB0bworCSAgbXVsdGlieXRlIGNoYXJhY3RlciBmdW5jdGlvbnMgdXNpbmcgYWxyZWFkeS1jb21wdXRlZCBpbmZvcm1hdGlvbi4KKwkgIEFzIGEgc2lkZSBlZmZlY3QsIGZpeGVzIGJ1ZyByZXBvcnRlZCBieSBMYXNzZSBLYXJra2FpbmVuCisJICA8dHJvbmljKzhxdWdAdHJuLmlraS5maT4KKworc3Vic3QuYworCS0gZml4ZWQgYSBwcm9ibGVtIGluIHNwbGl0X2F0X2RlbGltcyB0aGF0IGNvdWxkIGxlYXZlICpjd3Agc2V0IHRvIC0xCisJICBpZiB0aGUgbGluZSBlbmRzIGluIElGUyB3aGl0ZXNwYWNlIGFuZCBTRU5USU5FTCBpcyBvbmUgb2YgdGhvc2UKKwkgIHdoaXRlc3BhY2UgY2hhcmFjdGVycy4gIEZpeGVzIHByb2JsZW0gd2l0aCBzZXR0aW5nIENPTVBfQ1dPUkQgZm9yCisJICBwcm9ncmFtbWFibGUgY29tcGxldGlvbiByZXBvcnRlZCBieSBWaWxsZSBTa3l0dGEgPHZpbGxlLnNreXR0YUBpa2kuZmk+CisKK2Jhc2hsaW5lLmMKKwktIGNoYW5nZSBiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kIHRvIGNsZWFyIHRoZSBjdXJyZW50IGxpbmUgKGlmIHRoZQorCSAgdGVybWluYWwgc3VwcGxpZXMgdGhlICJjZSIgYXR0cmlidXRlKSBpbnN0ZWFkIG9mIG1vdmluZyB0byBhIG5ldworCSAgbGluZS4gIEluc3BpcmVkIGJ5IHJlcG9ydCBmcm9tIEhlbm5pbmcgQmVrZWwgPGguYmVrZWxAZ29vZ2xlbWFpbC5jb20+CisKK2J1aWx0aW5zL3ByaW50Zi5kZWYKKwktIGNoYW5nZXMgdG8gYWxsb3cgcHJpbnRmIC12IHZhciB0byBhc3NpZ24gdG8gYXJyYXkgaW5kaWNlcywgdGhlIHdheQorCSAgdGhlIHJlYWQgYnVpbHRpbiBjYW4uICBTdWdnZXN0ZWQgYnkgQ2hyaXN0b3BoZXIgRi4gQS4gSm9obnNvbgorCSAgPGNmYWpvaG5zb25AZ21haWwuY29tPgorCitsaWIvcmVhZGxpbmUvY29tcGxldGUuYworCS0gZml4IHJsX29sZF9tZW51X2NvbXBsZXRlIGFuZCBybF9tZW51X2NvbXBsZXRlIHRvIGFwcHJvcHJpYXRlbHkgc2V0CisJICBhbmQgdW5zZXQgUkxfU1RBVEVfQ09NUExFVElORyB3aGlsZSBnZW5lcmF0aW5nIHRoZSBsaXN0IG9mIG1hdGNoZXMuCisJICBGaXhlcyBkZWJpYW4gYnVnICM1MzgwMTMgcmVwb3J0ZWQgYnkgSmVyb21lIFJleWJlcnQKKwkgIDxqcmV5YmVydEBnbWFpbC5jb20+CisKKwkJCQkgICA3LzI1CisJCQkJICAgLS0tLQorZXhlY3V0ZV9jbWQuYworCS0gY2hhbmdlIGV4ZWN1dGVfYnVpbHRpbiB0byB0ZW1wb3JhcmlseSB0dXJuIG9mZiBhbmQgcmVzdG9yZSB0aGUgRVJSCisJICB0cmFwIGZvciB0aGUgZXZhbC9zb3VyY2UvY29tbWFuZCBidWlsdGlucyBpbiB0aGUgc2FtZSB3YXkgYXMgd2UKKwkgIHRlbXBvcmFyaWx5IGRpc2FibGUgYW5kIHJlc3RvcmUgdGhlIHNldHRpbmcgb2YgdGhlIC1lIG9wdGlvbi4KKwkgIEZpeGVzIGJ1ZyByZXBvcnRlZCBieSBIZW5uaW5nIEdhcnVzIDxoZW5uaW5nLmdhcnVzQGdvb2dsZW1haWwuY29tPgorCisJCQkJICAgNy8yNworCQkJCSAgIC0tLS0KK3NoZWxsLmMKKwktIGFkZCBmZmx1c2goc3Rkb3V0KSBhbmQgZmZsdXNoKHN0ZGVycikgdG8gZXhpdF9zaGVsbCBiZWZvcmUgY2xvc2luZworCSAgYW55IGZpbGUgZGVzY3JpcHRvcnMgYXQgZXhpdCB0aW1lIChlLmcuLCBjb3Byb2MgcGlwZXMpCisKKwkJCQkgICA3LzMwCisJCQkJICAgLS0tLQorbGliL3JlYWRsaW5lL2NvbXBsZXRlLmMKKwktIG5ldyBmdW5jdGlvbiBybF9iYWNrd2FyZF9tZW51X2NvbXBsZXRlLCBqdXN0IHBhc3NlcyBuZWdhdGl2ZSBjb3VudAorCSAgYXJndW1lbnQgdG8gcmxfbWVudV9jb21wbGV0ZQorCS0gY2hhbmdlIHJsX21lbnVfY29tcGxldGUgdG8gYWN0IGFwcHJvcHJpYXRlbHkgaWYgcmxfbGFzdF9jb21tYW5kIGlzCisJICBybF9iYWNrd2FyZF9tZW51X2NvbXBsZXRlLCBzbyB3ZSBjYW4gY3ljbGUgZm9yd2FyZCBhbmQgYmFja3dhcmQKKwkgIHRocm91Z2ggdGhlIGxpc3Qgb2YgY29tcGxldGlvbnMKKworbGliL3JlYWRsaW5lL2RvYy97cmVhZGxpbmUuMyxybHVzZXIudGV4aX0sZG9jL2Jhc2guMQorCS0gZG9jdW1lbnQgbmV3ICJtZW51LWNvbXBsZXRlLWJhY2t3YXJkIiBiaW5kYWJsZSByZWFkbGluZSBmdW5jdGlvbi4KKwkgIFN1Z2dlc3RlZCBieSBKYXNvbiBTcGlybyA8amFzb25zcGlybzA0QGdtYWlsLmNvbT4KKworbGliL3JlYWRsaW5lL3ZpX2tleW1hcC5jCisJLSBhZGQgYmluZGluZyBvZiBDLW4gdG8gbWVudS1jb21wbGV0ZSBhbmQgQy1wIHRvIG1lbnUtY29tcGxldGUtYmFja3dhcmQKKwkgIGluIHZpLWluc2VydCBrZXltYXAsIGFzIHN1Z2dlc3RlZCBieSBKYXNvbiBTcGlybworCSAgPGphc29uc3Bpcm8wNEBnbWFpbC5jb20+CisKK3Bjb21wbGV0ZS5jCisJLSBmaXhlZCBhIGJ1ZyBpbiBwcm9ncmFtbWFibGVfY29tcGxldGlvbnM6IHRoZSBvcHRpb25zIGl0IHJldHVybmVkIGZyb20KKwkgIHRoZSBjb21wc3BlYyBpdCBmb3VuZCB3ZXJlIHNldCBiZWZvcmUgZ2VuZXJhdGluZyB0aGUgY29tcGxldGlvbnMsCisJICB3aGljaCBtZWFudCB0aGF0IGFueSBjaGFuZ2VzIG1hZGUgYnkgImNvbXBvcHQiIHdlcmUgb3ZlcnJpZGRlbiBhbmQKKwkgIG9ubHkgaW4gZWZmZWN0IGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIGV4ZWN1dGluZyBzaGVsbCBmdW5jdGlvbgorCSAgcmF0aGVyIHRoYW4gdGhlIGVudGlyZSBjb21wbGV0aW9uLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IFZpbGxlCisJICBTa3l0dGEgPHZpbGxlLnNreXR0YUBpa2kuZmk+CisKKwkJCQkgICA3LzMxCisJCQkJICAgLS0tLQorbGliL3JlYWRsaW5lL2tleW1hcHMuYworCS0gZml4ZWQgbWVtb3J5IGxlYWsgaW4gcmxfZGlzY2FyZF9rZXltYXAgYnkgZnJlZWluZyBzdG9yYWdlIGFzc29jaWF0ZWQKKwkgIHdpdGggaGllcmFyY2hpY2FsIGtleW1hcHMKKwktIG5ldyBjb252ZW5pZW5jZSBmdW5jdGlvbiwgcmxfZnJlZV9rZXltYXAsIHRoYXQgY2FsbHMgcmxfZGlzY2FyZF9rZXltYXAKKwkgIGFuZCBmcmVlcyB0aGUga2V5bWFwIHBhc3NlZCBhcyBhbiBhcmd1bWVudAorCitsaWIvcmVhZGxpbmUvdXRpbC5jCisJLSBuZXcgYmluZGFibGUga2V5bWFwIGZ1bmN0aW9uLCBfcmxfbnVsbF9mdW5jdGlvbiwgdG8gYmUgdXNlZCBpbnRlcm5hbGx5CisKK2xpYi9yZWFkbGluZS9ybHByaXZhdGUuaAorCS0gZXh0ZXJuIGRlY2xhcmF0aW9uIGZvciBfcmxfbnVsbF9mdW5jdGlvbgorCitsaWIvcmVhZGxpbmUvYmluZC5jCisJLSBmaXggcmxfZ2VuZXJpY19iaW5kIGluIHRoZSBjYXNlIHdoZXJlIHdlIGFyZSB0cnlpbmcgdG8gb3ZlcnJpZGUgYQorCSAga2V5bWFwIHdpdGggYSBudWxsIGZ1bmN0aW9uIChlLmcuLCB3aGVuIHRyeWluZyB0byB1bmJpbmQgaXQpLiAgV2UKKwkgIGNhbid0IHVzZSBhIE5VTEwgZnVuY3Rpb24gcG9pbnRlciBpbiBBTllPVEhFUktFWSBzaW5jZSB0aGF0J3MKKwkgIGluZGlzdGluZ3Vpc2hhYmxlIGZyb20gdGhlIGtleW1hcCBub3QgaGF2aW5nIGJlZW4gb3ZlcnJpZGRlbiBhdCBhbGwuCisJICBXZSB1c2UgIF9ybF9udWxsX2Z1bmN0aW9uIGluc3RlYWQsIHdoaWNoIHNpbXBseSBkb2VzIG5vdGhpbmcuICBXZQorCSAgY291bGQgYWRkIGFuIHJsX2RpbmcgdG8gaXQgbGF0ZXIuICBGaXhlcyBwcm9ibGVtIHdpdGggaGl0dGluZyBFU0MKKwkgIHJlcGVhdGVkbHkgd2hpbGUgaW4gdmkgY29tbWFuZCBtb2RlIHJlcG9ydGVkIGJ5IEphbWVzIFJvd2VsbAorCSAgPGpyamltbXk4MDEtbWlzYzFAeWFob28uY29tPgorCitidWlsdGlucy9iaW5kLmRlZgorCS0gY2FsbCBybF9iaW5kX2tleXNlcSBpbnN0ZWFkIG9mIHJsX3NldF9rZXkgZm9yIC1yIG9wdGlvbgorCitsaWIvcmVhZGxpbmUvcmVhZGxpbmUuYworCS0gU2V0IHZpX21vdmVtZW50X2tleW1hcFtFU0NdIHRvIF9ybF9udWxsX2Z1bmN0aW9uIGFmdGVyIGJpbmRpbmcgdGhlCisJICBhcnJvdyBrZXlzIGluIGJpbmRfYXJyb3dfa2V5cygpIHRvIGFsbG93IHZpLW1vZGUgdXNlcnMgdG8gaGl0IEVTQworCSAgbXVsdGlwbGUgdGltZXMgaW4gdmkgY29tbWFuZCBtb2RlIHdoaWxlIHN0aWxsIGFsbG93aW5nIHRoZSBhcnJvdworCSAga2V5cyB0byB3b3JrCisKKwkJCQkgICAgOC8yCisJCQkJICAgIC0tLQorYmFzaGxpbmUuYworCS0gZml4IGNsZWFyX2hvc3RuYW1lX2xpc3QgYnkgc2V0dGluZyBob3N0bmFtZV9saXN0X2luaXRpYWxpemVkIHRvIDAKKwkgIGFmdGVyIGZyZWVpbmcgYWxsIGxpc3QgbWVtYmVycy4gIEZpeGVzIGJ1ZyByZXBvcnRlZCBieSBGcmVkZHkKKwkgIFZ1bHRvIDxmdnVsdG9AZ21haWwuY29tPgorCitsaWIvcmVhZGxpbmUvZGlzcGxheS5jCisJLSBpbiB1cGRhdGVfbGluZSwgaWYgd2UgY29weSBkYXRhIGZyb20gb25lIGxpbmUgdG8gYW5vdGhlciBiZWNhdXNlIHdlCisJICBhcmUgd3JhcHBpbmcgYSBtdWx0aWJ5dGUgY2hhcmFjdGVyIGZyb20sIHNheSwgdGhlIGZpcnN0IGxpbmUgdG8gdGhlCisJICBzZWNvbmQsIHdlIG5lZWQgdG8gdXBkYXRlIE9NQVggYW5kIHRoZSBsaW5lIGluZGljZXMgdG8gYWNjb3VudCBmb3IKKwkgIHRoZSBtb3ZlZCBkYXRhLiAgQnVnIHJlcG9ydCBhbmQgZml4IGZyb20gTWFydGluIEhhbXJsZQorCSAgPG1hcnRpbi5oYW1ybGVAZ21haWwuY29tPgorCisJCQkJICAgIDgvMworCQkJCSAgICAtLS0KK3Bjb21wbGV0ZS5oCisJLSBkZWZpbmVzIGZvciBFTVBUWUNNRCAoIl9FbXB0eWNtRF8iKSBhbmQgREVGQVVMVENNRCAoIl9EZWZhdWx0Q21EXyIpCisKK2J1aWx0aW5zL2NvbXBsZXRlLmRlZgorCS0gY2hhbmdlIGNvbXBvcHRfYnVpbHRpbiB0byBtYWtlIC1FIHdvcmsgb24gdGhlICJlbXB0eSIgY29tbWFuZAorCSAgY29tcGxldGlvbgorCS0gZml4IHByaW50X2NvbXBpdGVtIGFuZCBwcmludF9jb21wb3B0cyB0byByZXBsYWNlIEVNUFRZQ01EIHdpdGggLUUKKwktIGFkZGVkIC1EIChkZWZhdWx0KSBvcHRpb24gdG8gY29tcGxldGUvY29tcGdlbi9jb21wb3B0LiAgTm8gc3VwcG9ydGluZworCSAgY29kZSB5ZXQKKworZG9jL2Jhc2guMSxsaWIvcmVhZGxpbmUvZG9jL3JsdXNlci50ZXhpCisJLSBkb2N1bWVudCBuZXcgLUQsIC1FIG9wdGlvbnMgdG8gY29tcG9wdAorCS0gZG9jdW1lbnQgbmV3IC1EIG9wdGlvbiB0byBjb21wbGV0ZS9jb21wZ2VuCisKK3NoZWxsLmgKKwktIG5ldyBkZWZpbmUsIEVYX1dFWFBDT01TVUIsIHZhbHVlIG9mIDEyNQorCS0gbmV3IGRlZmluZSwgRVhfUkVUUllGQUlMLCB2YWx1ZSBvZiAxMjQgKGZvciBwcm9ncmFtbWFibGUgY29tcGxldGlvbikKKworc3Vic3QuYworCS0gdXNlIEVYX1dFWFBDT01TVUIgaW5zdGVhZCBvZiBsaXRlcmFsIDEyNSBhcyBleGl0IHN0YXR1cyB3aGVuIGEgc2hlbGwKKwkgIGludm9rZWQgdG8gcnVuIHdvcmRleHAoMykgd2l0aCB0aGUgLW4gb3B0aW9uIHN1cHBsaWVkIGF0dGVtcHRzIGEKKwkgIGNvbW1hbmQgc3Vic3RpdHV0aW9uCisKK3Bjb21wbGV0ZS5jCisJLSBuZXcgZGVmaW5lLCBQQ09NUF9SRVRSWUZBSUwsIHVzZWQgdG8gaW5kaWNhdGUgYSAiZmFpbHVyZSwgcmV0cnkgd2l0aAorCSAgbmV4dCBjb21wbGV0aW9uIiBzdGF0dXMgdG8gdGhlIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGNvZGUKKworCQkJCSAgICA4LzQKKwkJCQkgICAgLS0tCitwY29tcGxldGUuYworCS0gY2hhbmdlZCBnZW5fc2hlbGxfZnVuY3Rpb25fbWF0Y2hlcyB0byB0YWtlIGFuIGV4dHJhIHBhcmFtZXRlcgorCSAgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgc2hlbGwgZnVuY3Rpb24gd2FzIG5vdCBmb3VuZCBvcgorCSAgcmV0dXJuZWQgdGhlIHNwZWNpYWwgImZhaWwvcmV0cnkiIHN0YXR1cywgYW5kLCBpZiBpdCB3YXMgZWl0aGVyLAorCSAgdG8gbm90IGJvdGhlciByZXR1cm5pbmcgYW55IG1hdGNoZXMgbGlzdAorCS0gY2hhbmdlZCBnZW5fY29tcHNwZWNfY29tcGxldGlvbnMgdG8gdGFrZSBhbiBleHRyYSBwYXJhbWV0ZXIgdG8gcGFzcworCSAgdGhyb3VnaCB0aGUgImZvdW5kIiBzdGF0dXMgZnJvbSBnZW5fc2hlbGxfZnVuY3Rpb25fY29tcGxldGlvbnMKKwktIG5ldyBmdW5jdGlvbiBnZW5fcHJvZ2NvbXBfY29tcGxldGlvbnMgdG8gdGFrZSBjYXJlIG9mIHNlYXJjaGluZyBmb3IKKwkgIGFuZCBldmFsdWF0aW5nIGEgY29tcHNwZWMgZm9yIGEgcGFydGljdWxhciB3b3JkLCBzYXZpbmcgaXRzIHN0YXR1cywKKwkgIGFuZCByZXR1cm5pbmcgdG8gaXRzIGNhbGxlciAocHJvZ3JhbW1hYmxlX2NvbXBsZXRpb25zKSB3aGV0aGVyIG9yCisJICBub3QgdG8gcmV0cnkgY29tcGxldGlvbi4gIFRoaXMgZnVuY3Rpb24gYWxzbyBjaGVja3Mgd2hldGhlciBhCisJICByZXRyeSBjaGFuZ2VkIHRoZSBjb21wc3BlYyBhc3NvY2lhdGVkIHdpdGggYSBjb21tYW5kIGFuZCBzaG9ydC0KKwkgIGNpcmN1aXRzIHRoZSByZXRyeSBpZiBpdCBoYXMgbm90CisJLSBjaGFuZ2VkIHByb2dyYW1tYWJsZV9jb21wbGV0aW9ucyB0byB0cnkgZGVmYXVsdCBjb21wbGV0aW9uIChpZiBzZXQpCisJICBpZiBhIHNwZWNpZmljIGNvbXBsZXRpb24gd2FzIG5vdCBmb3VuZCBmb3IgYSBjb21tYW5kCisJLSBjaGFuZ2VkIHByb2dyYW1tYWJsZV9jb21wbGV0aW9ucyB0byBpbXBsZW1lbnQgImZhaWwvcmV0cnkiIHNlbWFudGljcworCSAgZm9yIGEgc2hlbGwgZnVuY3Rpb24gdGhhdCByZXR1cm5zIDEyNCBhbmQgY2hhbmdlcyB0aGUgY29tcHNwZWMKKwkgIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29tbWFuZC4gIEFsbCBiYXNlZCBvbiBwcm9wb3NhbCBhbmQgY2hhbmdlcyBmcm9tCisJICBCZWhkYWQgRXNmYWhib2QgKFJlZCBIYXQgYnVnemlsbGEgNDc1MjI5KQorCitkb2MvYmFzaC4xLGxpYi9yZWFkbGluZS9kb2Mvcmx1c2VyLnRleGkKKwktIGRvY3VtZW50ZWQgbmV3IGR5bmFtaWMgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZnVuY3Rpb25hbGl0eQorCisJCQkJICAgIDgvNQorCQkJCSAgICAtLS0KK3N0cmluZ2xpYi5jCisJLSBmaXJzdCBhcmd1bWVudCB0byBzdWJzdHJpbmcoKSBpcyBub3cgYGNvbnN0IGNoYXIgKicKKworZXh0ZXJucy5oCisJLSBjaGFuZ2VkIGV4dGVybiBkZWNsYXJhdGlvbiBmb3Igc3Vic3RyaW5nKCkKKworc3Vic3QuYworCS0gc2tpcHN1YnNjcmlwdCBub3cgdGFrZXMgYSB0aGlyZCBGTEFHUyBhcmd1bWVudCwgcGFzc2VzIHRvCisJICBza2lwX21hdGNoZWRfcGFpcgorCS0gc2tpcF9tYXRjaGVkX3BhaXIgbm93IGludGVycHJldHMgZmxhZ3MmMSB0byBtZWFuIG5vdCB0byBwYXJzZQorCSAgbWF0Y2hlZCBwYWlycyBvZiBxdW90ZXMsIGJhY2txdW90ZXMsIG9yIHNoZWxsIHdvcmQgZXhwYW5zaW9uCisJICBjb25zdHJ1Y3RzCisKK3tzdWJzdCxnZW5lcmFsLGV4cHJ9LmMKKwktIGNoYW5nZWQgc2tpcHN1YnNjcmlwdCgpIGNhbGxlcnMKKworYXNzb2MuYworCS0gY2hhbmdlZCBhc3NvY190b19hc3NpZ24gdG8gZG91YmxlLXF1b3RlIHRoZSBrZXkgaWYgaXQgY29udGFpbnMgYW55CisJICBzaGVsbCBtZXRhY2hhcmFjdGVycworCithcnJheWZ1bmMuYworCS0gdXNlIHNraXBzdWJzY3JpcHQgaW4gcXVvdGVfYXNzaWduIHJhdGhlciB0aGFuIHF1b3RlIGFueSBnbG9iCisJICBjaGFyYWN0ZXJzIGluIHRoZSBzdWJzY3JpcHQgb2YgYW4gYXJyYXkgYXNzaWdubWVudAorCS0gaW4gYXNzaWduX2NvbXBvdW5kX2FycmF5X2xpc3QsIGNhbGwgc2tpcHN1YnNjcmlwdCB3aXRoIGEgZmxhZ3MKKwkgIGFyZ3VtZW50IG9mIDEgaWYgYXNzaWduaW5nIGFuIGFzc29jaWF0aXZlIGFycmF5IHRvIGF2b2lkIHRyeWluZworCSAgdG8gcmUtcGFyc2UgcXVvdGVkIHN0cmluZ3MKKworcmVkaXIuYworCS0gc2V0IGV4cGFuZGluZ19yZWRpciBiZWZvcmUgZXhwYW5kaW5nIGJvZHkgb2YgaGVyZSBkb2N1bWVudHMgYW5kCisJICBoZXJlIHN0cmluZ3MgdG8gYXZvaWQgbG9va2luZyBmb3IgdmFyaWFibGVzIGluIHRlbXBvcmFyeSBlbnYKKworCQkJCSAgICA4LzcKKwkJCQkgICAgLS0tCitsaWIvcmVhZGxpbmUvcmVhZGxpbmUuYworCS0gaW4gX3JsX2Rpc3BhdGNoX2NhbGxiYWNrLCByZXR1cm4gdmFsdWUgb2YgLTMgbWVhbnMgdGhhdCB3ZSBoYXZlCisJICBhZGRlZCB0byBhIGtleSBzZXF1ZW5jZSwgYnV0IHRoZXJlIGFyZSBwcmV2aW91cyBtYXRjaGVzIGluIHRoZQorCSAgc2VxdWVuY2UuICBEb24ndCBjYWxsIF9ybF9zdWJzZXFfcmVzdWx0IGlmIHdlIGdldCBhIC0zIGZyb20gYQorCSAgcHJldmlvdXMgY29udGV4dCBpbiB0aGUgY2hhaW47IGp1c3QgZ28gYmFjayB1cCB0aGUgY2hhaW4uICBSZXBvcnQKKwkgIGFuZCBmaXggZnJvbSA8ZnJlZWhhaGFAZ21haWwuY29tPgorCitiYXNobGluZS5jCisJLSBmaXhlcyB0byBoaXN0b3J5X2NvbXBsZXRpb25fZ2VuZXJhdG9yIGFuZCBiYXNoX2RhYmJyZXZfZXhwYW5kIHRvCisJICBtYWtlIGRhYmJyZXYtZXhwYW5kIGluaGliaXQgc3VwcHJlc3Npbmcgb2YgYXBwZW5kaW5nIHNwYWNlIGNoYXIKKwkgIHRvIG1hdGNoZXMuICBIYXZlIHRvIGRvIGl0IHdpdGggdGhlIGdlbmVyYXRvciB0b28gYmVjYXVzZQorCSAgcmxfbWVudV9jb21wbGV0ZSB0dXJucyBvZmYgc3VwcHJlc3NpbmcgdGhlIGFwcGVuZGVkIHNwYWNlIGluCisJICBzZXRfY29tcGxldGlvbl9kZWZhdWx0cygpLiAgU3VnZ2VzdGlvbiBmcm9tIERhbiBOaWNvbGFlc2N1CisJICA8ZGFubkBpY3MudWNpLmVkdT4KKwktIHN1cHByZXNzIGNvbXBsZXRpb24gbWF0Y2ggc29ydGluZyBpbiBiYXNoX2RhYmJyZXZfZXhwYW5kIGJ5CisJICBzZXR0aW5nIHJsX3NvcnRfY29tcGxldGlvbl9tYXRjaGVzID0gMC4gIFN1Z2dlc3Rpb24gZnJvbSBEYW4KKwkgIE5pY29sYWVzY3UgPGRhbm5AaWNzLnVjaS5lZHU+CisJLSBkb24ndCBxc29ydCBoaXN0b3J5IG1hdGNoIGxpc3QgaW4gYnVpbGRfaGlzdG9yeV9jb21wbGV0aW9uX2FycmF5CisJICBpZiBkYWJicmV2X2V4cGFuZF9hY3RpdmUgPT0gMQorCS0gc3RhcnQgdGhlIGxvb3AgaW4gYnVpbGRfaGlzdG9yeV9jb21wbGV0aW9uX2FycmF5IHRoYXQgZ2F0aGVycyB3b3JkcworCSAgZnJvbSBoaXN0b3J5IGZvciBwb3NzaWJsZSBjb21wbGV0aW9ucyBmcm9tIHRoZSBlbmQgb2YgdGhlIGxpc3QKKwkgIHJhdGhlciB0aGFuIHRoZSBiZWdpbm5pbmcuICBJdCBkb2Vzbid0IG1hdHRlciB3aGVyZSB5b3Ugc3RhcnQgaWYKKwkgIHRoZSByZXN1bHRzIGFyZSBzb3J0ZWQsIGFuZCBkYWJicmV2LWV4cGFuZCBpcyBzdXBwb3NlZCB0byBvZmZlcgorCSAgdGhlIG1vc3QgcmVjZW50IGNvbXBsZXRpb25zIGZpcnN0CisKKwkJCQkgICA4LzEyCisJCQkJICAgLS0tLQorZXhlY3V0ZV9jbWQuYworCS0gY2hhbmdlIHRvIGV4ZWN1dGVfY29tbWFuZF9pbnRlcm5hbCB0byBtYWtlIFtbIC4uLiBdXSBjb25kaXRpb25hbAorCSAgY29tbWFuZCBzdWJqZWN0IHRvIHNldHRpbmdzIG9mIGBzZXQgLWUnIGFuZCB0aGUgRVJSIHRyYXAKKworCQkJCSAgIDgvMTQKKwkJCQkgICAtLS0tCitleGVjdXRlX2NtZC5jCisJLSBjaGFuZ2UgdG8gZXhlY3V0ZV9jb21tYW5kX2ludGVybmFsIHRvIG1ha2UgKCggLi4uICkpIGFyaXRobWV0aWMKKwkgIGNvbW1hbmQgc3ViamVjdCB0byBzZXR0aW5ncyBvZiBgc2V0IC1lJyBhbmQgdGhlIEVSUiB0cmFwCisKK2xpYi9yZWFkbGluZS90ZXh0LmMKKwktIG5ldyBiaW5kYWJsZSBmdW5jdGlvbiwgcmxfc2tpcF9jc2lfc2VxdWVuY2UsIHJlYWRzIHRoZSBjaGFyYWN0ZXJzCisJICB0aGF0IG1ha2UgdXAgYSBjb250cm9sIHNlcXVlbmNlIGFzIGRlZmluZWQgYnkgRUNNQS00OC4gIFNlcXVlbmNlcworCSAgYXJlIGludHJvZHVjZWQgYnkgdGhlIENvbnRyb2wgU2VxdWVuY2UgSW5kaWNhdG9yIChDU0kpIGFuZAorCSAgY29udGFpbiBhIGRlZmluZWQgc2V0IG9mIGNoYXJhY3RlcnMuICBJbnNlcnQsIEVuZCwgUGFnZSBVcCBhbmQgc28KKwkgIG9uIGFyZSBDU0kgc2VxdWVuY2VzLiAgUmVwb3J0IGFuZCBjb2RlIGZyb20gQW5keSBLb3BwZQorCSAgPGFuZHkua29wcGVAZ21haWwuY29tPgorCitsaWIvcmVhZGxpbmUvcmVhZGxpbmUuaAorCS0gZXh0ZXJuIGRlY2xhcmF0aW9uIGZvciBybF9za2lwX2NzaV9zZXF1ZW5jZQorCitsaWIvcmVhZGxpbmUvZnVubWFwLmMKKwktIG5ldyBiaW5kYWJsZSBjb21tYW5kICJza2lwLWNzaS1zZXF1ZW5jZSIsIHJ1bnMgcmxfc2tpcF9jc2lfc2VxdWVuY2UKKworZG9jL2Jhc2guMSxsaWIvcmVhZGxpbmUvZG9jL3tyZWFkbGluZS4zLHJsdXNlci50ZXhpfQorCS0gZG9jdW1lbnRlZCBuZXcgYmluZGFibGUgY29tbWFuZCAic2tpcC1jc2ktc2VxdWVuY2UiLCB1bmJvdW5kIGJ5CisJICBkZWZhdWx0CisKK2J1aWx0aW5zL2V2YWxmaWxlLmMKKwktIGZpeCBfZXZhbGZpbGUgdG8gcmVtb3ZlIGVtYmVkZGVkIG51bGwgYnl0ZXMgZnJvbSB0aGUgZmlsZSByZWFkCisJICBpbnRvIHRoZSBzdHJpbmcuICBSZXBvcnQgYW5kIHByb3Bvc2VkIGZpeCBmcm9tIFJvbWFuIFJha3VzCisJICA8cnJha3VzQHJlZGhhdC5jb20+CisKK3tjb25maWd1cmUsY29uZmlnLmh9LmluCisJLSBjaGVjayBmb3Igc3lzbG9nKDMpLCBkZWZpbmUgSEFWRV9TWVNMT0cKKwktIGNoZWNrIGZvciBzeXNsb2cuaCwgZGVmaW5lIEhBVkVfU1lTTE9HX0gKKworY29uZmlnLXRvcC5oCisJLSBuZXcgZGVmaW5lIFNZU0xPR19ISVNUT1JZLCBkaXNhYmxlZCBieSBkZWZhdWx0CisKK2NvbmZpZy1ib3QuaAorCS0gaWYgSEFWRV9TWVNMT0cgb3IgSEFWRV9TWVNMT0dfSCBhcmUgbm90IGRlZmluZWQsIHVuZGVmIFNZU0xPR19ISVNUT1JZCisKK2Jhc2hoaXN0LmMKKwktIGlmIFNZU0xPR19ISVNUT1JZIGlzIGRlZmluZWQsIGNhbGwgYmFzaF9zeXNsb2dfaGlzdG9yeSB3aXRoIHRoZQorCSAgbGluZSBhZGRlZCB0byB0aGUgaGlzdG9yeSBpbiBiYXNoX2FkZF9oaXN0b3J5LgorCS0gbmV3IGZ1bmN0aW9uLCBiYXNoX3N5c2xvZ19oaXN0b3J5KGxpbmUpLCBzZW5kcyBsaW5lIHRvIHN5c2xvZyBhdAorCSAgdXNlci5pbmZvLiAgVGhlIGxpbmUgaXMgdHJ1bmNhdGVkIHRvIHNlbmQgbm8gbW9yZSB0aGFuIDYwMAorCSAgKFNZU0xPR19NQVhMRU4pIGJ5dGVzIHRvIHN5c2xvZy4gRmVhdHVyZSByZXF1ZXN0ZWQgYnkgbWFueSwgYW5kCisJICByZXF1aXJlZCBieSBzb21lIG5hdGlvbmFsIGxhd3MKKworc2lnLmMKKwktIGluIHRlcm1zaWdfaGFuZGxlciwgcmVzZW5kIFNJR0hVUCB0byBjaGlsZHJlbiBpZiBzdWJzaGVsbF9lbnZpcm9ubWVudAorCSAgaW5kaWNhdGVzIHdlJ3JlIGEgc2hlbGwgcGVyZm9ybWluZyBjb21tYW5kIG9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uCisKK2pvYnMuYworCS0gYWRkIENIRUNLX1RFUk1TSUcgY2FsbHMgdG8gd2FpdF9mb3IgaW4gYWRkaXRpb24gdG8gdGhlIG9uZXMgaW4KKwkgIHdhaXRjaGxkKCkKKworYnVpbHRpbnMvc2hvcHQuZGVmCisJLSBuZXcgZnVuY3Rpb25zIHNldF9iYXNob3B0cywgcGFyc2VfYmFzaG9wdHMsIGFuZCBpbml0aWFsaXplX2Jhc2hvcHRzCisJICB0byBtYW5hZ2UgbmV3IGVudmlyb25tZW50IHZhcmlhYmxlICRCQVNIT1BUUywgbGlrZSAkU0hFTExPUFRTIGJ1dAorCSAgZm9yIHNob3B0IG9wdGlvbnMKKwktIGNoYW5nZSB0b2dnbGVfc2hvcHRzIHRvIGNhbGwgc2V0X2Jhc2hvcHRzIGFmdGVyIHNldHRpbmcgb3B0aW9ucywgc28KKwkgICRCQVNIT1BUUyByZWZsZWN0cyBuZXcgdmFsdWVzCisKK3NoZWxsLmMKKwktIGNhbGwgaW5pdGlhbGl6ZV9iYXNob3B0cyBhZnRlciBjYWxsaW5nIGluaXRpYWxpemVfc2hlbGxfb3B0aW9ucyBhdAorCSAgc2hlbGwgc3RhcnR1cAorCitjb25maWd1cmUuaW4KKwktIG5ldyBjb25maWd1cmUgYGVuYWJsZScgb3B0aW9uIC0tZW5hYmxlLWV4ZW5kZWQtZ2xvYi1kZWZhdWx0LCB0bworCSAgc2V0IHRoZSBpbml0aWFsIGRlZmF1bHQgdmFsdWUgb2YgdGhlIGBleHRnbG9iJyBzaGVsbCBvcHRpb24KKworY29uZmlnLmgKKwktIG5ldyBkZWZpbmUsIEVYVEdMT0JfREVGQVVMVCwgY29udHJvbGxlZCBieSB0aGUgYGV4dGVuZGVkLWdsb2ItZGVmYXVsdCcKKwkgIGNvbmZpZ3VyZSBvcHRpb24KKworcGF0aGV4cC5jCisJIC0gaW5pdGlhbGl6ZSBleHRlbmRlZF9nbG9iIHZhcmlhYmxlIHRvIEVYVEdMT0JfREVGQVVMVAorCitkb2Mve2Jhc2guMSxiYXNocmVmLnRleGl9CisJLSBkb2N1bWVudCBuZXcgJEJBU0hPUFRTIHZhcmlhYmxlIGFuZCBpdHMgYmVoYXZpb3IKKworZG9jL2Jhc2hyZWYudGV4aQorCS0gZG9jdW1lbnQgbmV3IC0tZW5hYmxlLWV4dGVuZGVkLWdsb2ItZGVmYXVsdCBjb25maWd1cmUgb3B0aW9uCisKKwkJCQkgICA4LzE2CisJCQkJICAgLS0tLQorcHJpbnRfY21kLmMKKwktIG5ldyB2YXJpYWJsZXM6IHh0cmFjZV9mZCBhbmQgeHRyYWNlX2ZwLCB0aGUgZmlsZSBkZXNjcmlwdG9yIGFuZAorCSAgRklMRSAqIHRvIHdoaWNoIHdlIHNlbmQgYHNldCAteCcgdHJhY2luZyBvdXRwdXQuICBJZiBmZCA9PSAtMQorCSAgdGhlbiBmcCA9PSBTVERFUlIsIHRoZSBkZWZhdWx0IG1vZGUKKwktIG5ldyBmdW5jdGlvbiB4dHJhY2VfaW5pdCwgc2V0cyB4dHJhY2VfZmQgPT0gLTEgYW5kIHh0cmFjZV9mcCA9IHN0ZGVycgorCS0gbmV3IGZ1bmN0aW9uIHh0cmFjZV9zZXQgKGZkLCBmcCksIHNldHMgeHRyYWNlX2ZkIGFuZCB4dHJhY2VfZnAKKwkgIHRvIHRoZSBhcmd1bWVudHMKKwktIG5ldyBmdW5jdGlvbiB4dHJhY2VfcmVzZXQsIGhhbmRsZXMgY2xvc2luZyBvbGQgeHRyYWNlIGZkL2ZwIGFuZAorCSAgbW92aW5nIHRoZW0gYmFjayB0byAtMS9zdGRlcnIKKwktIG5ldyBmdW5jdGlvbiB4dHJhY2VfZmRjaGNrLCBjYWxscyB4dHJhY2VfcmVzZXQgaWYgdGhlIGZkIHBhc3NlZCBhcworCSAgYW4gYXJndW1lbnQgaXMgeHRyYWNlX2ZkCisJLSBjaGFuZ2UgeHRyYWNlIGZ1bmN0aW9ucyB0byBmcHJpbnRmIHRvIHh0cmFjZV9mcCBpbnN0ZWFkIG9mIHN0ZGVycgorCitzaGVsbC5jCisJLSBjYWxsIHh0cmFjZV9pbml0KCkgdmVyeSBlYXJseSBpbiBtYWluKCkKKwordmFyaWFibGVzLmMKKwktIG5ldyBzcGVjaWFsIHZhcmlhYmxlLCBCQVNIX1hUUkFDRUZELCBob2xkcyBmaWxlIGRlc2NyaXB0b3IgdXNlZCBmb3IKKwkgIHNldCAteCB0cmFjZSBvdXRwdXQuICBJbnNwaXJlZCBieSBzdWdnZXN0aW9uIGZyb20gQnJ1Y2UgS29yYgorCSAgPGJydWNlLmtvcmJAZ21haWwuY29tPgorCitkb2Mve2Jhc2guMSxiYXNocmVmLnRleGl9CisJLSBhZGRlZCBkZXNjcmlwdGlvbiBvZiBuZXcgQkFTSF9YVFJBQ0VGRCB2YXJpYWJsZQorCityZWRpci5jCisJLSBhZGQgY2FsbHMgdG8geHRyYWNlX2ZkY2hrIHRvIHRoZSByZWRpcmVjdGlvbnMgdGhhdCBjbG9zZSBmaWxlCisJICBkZXNjcmlwdG9ycywgc28gd2Ugbm90aWNlIGlmIHdlIGNsb3NlIEJBU0hfWFRSQUNFRkQgYW5kIGNvbXBlbnNhdGUKKwkgIGFjY29yZGluZ2x5IChzYW1lIHBsYWNlcyB0aGF0IGNhbGwgY29wcm9jX2ZkY2hrKCkpCisKKwkJCQkgICA4LzE4CisJCQkJICAgLS0tLQorbGliL3JlYWRsaW5lL3RleHQuYworCS0gY2hhbmdlIHRvIF9ybF9yZXBsYWNlX3RleHQgdG8gYWRkIGVycm9yIGNoZWNrczogc3RhcnQgbXVzdCBiZSA8PQorCSAgZW5kLCBhbmQgd2UgZG9uJ3QgY2FsbCBybF9pbnNlcnRfdGV4dCBpZiBwYXNzZWQgdGhlIGVtcHR5IHN0cmluZworCitjb25maWcuaC5pbgorCS0gYWRkIGRlZmluZSBmb3IgSEFWRV9JQ09OViwgYWxyZWFkeSBmb3VuZCBieSBpbnRsIGF1dG9jb25mIG1hY3JvcworCS0gYWRkIGRlZmluZSBmb3IgSEFWRV9MT0NBTEVfQ0hBUlNFVAorCithY2xvY2FsLm00CisJLSBhZGQgY2hlY2sgZm9yIGxvY2FsZV9jaGFyc2V0KCkgdG8gQkFTSF9DSEVDS19NVUxUSUJZVEUKKworbGliL3NoL2ZueGZvcm0uYworCS0gbmV3IGZpbGUgd2l0aCB0d28gcHVibGljIGZ1bmN0aW9uOiBmbnhfdG9mcyBhbmQgZm54X2Zyb21mcy4KKwkgIFByaW1hcmlseSBpbnRlbmRlZCBmb3IgdXNlIG9uIE1hY09TIFgsIHRoZXkgdXNlIGljb252IHRvIGNvbnZlcnQKKwkgIGJldHdlZW4gd2hhdGV2ZXIgdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nIGlzIGFuZCAiVVRGLTgtTUFDIiwKKwkgIGEgc3BlY2lhbCBlbmNvZGluZyBvbiBPUyBYIGluIHdoaWNoIGFsbCBjaGFyYWN0ZXJzIGFyZQorCSAgZGVjb21wb3NlZCB1bmljb2RlLCBhcyB0aGUgSEZTKyBmaWxlc3lzdGVtIHN0b3JlcyB0aGVtLiAgVGhlc2UKKwkgIGZ1bmN0aW9ucyByZXR1cm4gYSBwb2ludGVyIHRvIGEgbG9jYWwgYnVmZmVyLCBhbGxvY2F0ZWQgb25jZSBhbmQKKwkgIHJlc2l6ZWQgYXMgbmVjZXNzYXJ5LCB0byBhdm9pZCB0b28gbWFueSBhbGxvY2F0aW9uczsgY2FsbGVycworCSAgc2hvdWxkIG5vdCBmcmVlIHRoZSByZXR1cm4gdmFsdWUsIHNpbmNlIGl0IG1heSBiZSB0aGUgc3RyaW5nCisJICBwYXNzZWQKKworTWFrZWZpbGUuaW4KKwktIG1ha2Ugc3VyZSBMSUJJQ09OViBpcyBzZXQgYnkgYXV0b2NvbmYgKEBMSUJJQ09OVkApIGFuZCBhZGRlZCB0bworCSAgbGlzdCBvZiBsaW5rIGxpYnJhcmllcworCitleHRlcm5zLmgKKwktIG5ldyBleHRlcm4gZGVjbGFyYXRpb25zIGZvciBmbnhfZnJvbWZzIGFuZCBmbnhfdG9mcworCitsaWIvZ2xvYi9nbG9iLmMKKwktIGNvbnZlcnQgdGhlIGZpbGVuYW1lIHJlYWQgdXNpbmcgcmVhZGRpcigpIGluIGdsb2JfdmVjdG9yKCkgdXNpbmcKKwkgIGZueF9mcm9tZnMgYW5kIHVzZSB0aGF0IHZhbHVlIGluIHRoZSBjYWxsIHRvIHN0cm1hdGNoLiAgVGhpcworCSAgZW5zdXJlcyB0aGF0IHdlJ3JlIHVzaW5nIHRoZSBwcmVjb21wb3NlZCBVbmljb2RlIHZhbHVlIG9mIHRoZQorCSAgZmlsZW5hbWUgcmF0aGVyIHRoYW4gdGhlIG5hdGl2ZSBkZWNvbXBvc2VkIGZvcm0uICBPcmlnaW5hbCBidWcKKwkgIHJlcG9ydCBmcm9tIExlbiBMYXR0YW56aSA8bGxhdGFuemlAYXBwbGUuY29tPjsgZml4IGluc3BpcmVkIGJ5CisJICBHdWlsbGF1bWUgT3V0dGVycyA8Z3VpbGxhdW1lLm91dHRlcnNAZnJlZS5mcj4KKworCQkJCSAgIDgvMTkKKwkJCQkgICAtLS0tCitsaWIvcmVhZGxpbmUvY29tcGxldGUuYworCS0gbmV3IGNvbXBsZXRpb24gaG9vazogcmxfZmlsZW5hbWVfcmV3cml0ZV9ob29rLCBjYW4gcmV3cml0ZSBvciBtb2RpZnkKKwkgIGZpbGVuYW1lcyByZWFkIGZyb20gdGhlIGZpbGVzeXN0ZW0gYmVmb3JlIHRoZXkgYXJlIGNvbXBhcmVkIHRvIHRoZQorCSAgd29yZCB0byBiZSBjb21wbGV0ZWQKKworbGliL3JlYWRsaW5lL3JlYWRsaW5lLmgKKwktIGV4dGVybiBkZWNsYXJhdGlvbiBmb3IgcmxfZmlsZW5hbWVfcmV3cml0ZV9ob29rCisKK2xpYi9yZWFkbGluZS9kb2Mvcmx0ZWNoLnRleGkKKwktIGRvY3VtZW50IHJsX2ZpbGVuYW1lX3Jld3JpdGVfaG9vaworCitiYXNobGluZS5jCisJLSBuZXcgZnVuY3Rpb24sIGJhc2hfZmlsZW5hbWVfcmV3cml0ZV9ob29rLCBhc3NpZ25lZCB0bworCSAgcmxfZmlsZW5hbWVfcmV3cml0ZV9ob29rLiAgQ2FsbHMgZm54X2Zyb21mcyB0byBjb252ZXJ0IGZyb20KKwkgIGZpbGVzeXN0ZW0gZm9ybWF0IHRvICJpbnB1dCIgZm9ybWF0LiAgVGhpcyBtYWtlcyBjb21wbGV0aW5nCisJICBmaWxlbmFtZXMgd2l0aCBhY2NlbnRlZCBjaGFyYWN0ZXJzIHdvcmsgb24gTWFjIE9TIFgKKworCQkJCSAgIDgvMjAKKwkJCQkgICAtLS0tCitsaWIvcmVhZGxpbmUvYmluZC5jCisJLSBuZXcgYmluZGFibGUgdmFyaWFibGUgInNraXAtY29tcGxldGVkLXRleHQiLCBib3VuZCB0bworCSAgX3JsX3NraXBfY29tcGxldGVkX3RleHQuICBJZiBlbmFibGVkLCBpdCBtZWFucyB0byBub3RlIHdoZW4KKwkgIGNvbXBsZXRpbmcgYmVmb3JlIHRoZSBlbmQgb2YgYSB3b3JkIGFuZCBza2lwcGluZyBvdmVyIGNoYXJhY3RlcnMKKwkgIGFmdGVyIHJsX3BvaW50IHRoYXQgbWF0Y2ggaW4gYm90aCB0aGUgY29tcGxldGlvbiB0byBiZSBpbnNlcnRlZAorCSAgYW5kIHRoZSB3b3JkIGJlaW5nIGNvbXBsZXRlZC4gIEl0IG1lYW5zIHRoYXQgY29tcGxldGluZworCSAgYE1ha2VmaWxlJyB3aXRoIHRoZSBjdXJzb3IgYWZ0ZXIgdGhlIGBlJyByZXN1bHRzIGluIGBNYWtlZmlsZScKKwkgIGluc3RlYWQgb2YgYE1ha2VmaWxlZmlsZScuICBJbnNwaXJlZCBieSBhbiBpZGVhIGZyb20gSmFyZWQKKwkgIFlhbm92aWNoIDxwaGllcnVubmVyQGNvbWNhc3QubmV0PiBmcm9tIGJhY2sgaW4gMjAwNAorCitsaWIvcmVhZGxpbmUvcmxwcml2YXRlLmgKKwktIGV4dGVybiBkZWNsYXJhdGlvbiBmb3IgX3JsX3NraXBfY29tcGxldGVkX3RleHQKKworbGliL3JlYWRsaW5lL2NvbXBsZXRlLmMKKwktIGltcGxlbWVudCBzZW1hbnRpY3Mgb2YgX3JsX3NraXBfY29tcGxldGVkX3RleHQgaW4gaW5zZXJ0X21hdGNoOgorCSAgc2tpcCBjaGFyYWN0ZXJzIGluIGByZXBsYWNlbWVudCcgdGhhdCBtYXRjaCBjaGFycyBpbiBybF9saW5lX2J1ZmZlcgorCSAgZnJvbSB0aGUgc3RhcnQgb2YgdGhlIHdvcmQgdG8gYmUgY29tcGxldGVkCisKKwkJCQkgICA4LzIxCisJCQkJICAgLS0tLQorZXJyb3IuYworCS0gY2hhbmdlIHBhcnNlcl9lcnJvciB0byBzZXQgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgdG8gMiBiZWZvcmUKKwkgIGNhbGxpbmcgZXhpdF9zaGVsbCAoaWYgc2V0IC1lIGlzIGVuYWJsZWQpLCBzbyBhbnkgZXhpdCBvciBFUlIKKwkgIHRyYXAgZ2V0cyB0aGUgcmlnaHQgdmFsdWUgb2YgJD8uICBTdWdnZXN0aW9uIGZyb20gU3RlZmFubworCSAgTGF0dGFyaW5pIDxzdGVmYW5vLmxhdHRhcmluaUBnbWFpbC5jb20+CisKK2JyYWNlcy5jCisJLSBmaXggZXhwYW5kX3NlcXRlcm0gc28gdGhhdCBhIG5vbi16ZXJvLXByZWZpeGVkIHRlcm0gdGhhdCdzIGxvbmdlcgorCSAgdGhhbiBhIHplcm8tcHJlZml4ZWQgdGVybSBkZXRlcm1pbmVzIHRoZSBsZW5ndGggb2YgZWFjaCB0ZXJtCisJICBpbiB0aGUgYnJhY2UtZXhwYW5kZWQgc2VxdWVuY2UuICBUaGlzIG1lYW5zIHRoYXQgdGhpbmdzIGxpa2UKKwkgIHswMS4uMTAwfSB3aWxsIGhhdmUgdGhyZWUgZGlnaXRzIGluIGFsbCB0aGUgZWxlbWVudHMgb2YgdGhlCisJICBleHBhbmRlZCBsaXN0LiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IEplZmYgSGFlbWVyCisJICA8amVmZnJleS5oYWVtZXJAZ21haWwuY29tPgorCisJCQkJICAgOC8yNAorCQkJCSAgIC0tLS0KK3thcnJheWZ1bmMsdmFyaWFibGVzfS5jCisJLSB3aGVuIGluc2VydGluZyBhIHZhbHVlIGludG8gYW4gYXNzb2NpYXRpdmUgYXJyYXkgdXNpbmcgc3ludGF4IGxpa2UKKwkgIFQ9diB3aGVyZSBUIGlzIGFuIGFscmVhZHktZGVjbGFyZWQgYXNzb2NpYXRpdmUgYXJyYXkgdXNpbmcga2V5ICIwIiwKKwkgIG1ha2Ugc3VyZSB0aGUga2V5IGlzIGluIG5ld2x5LWFsbG9jYXRlZCBtZW1vcnkgc28gaXQgY2FuIGJlIGZyZWVkCisJICB3aGVuIHRoZSB2YXJpYWJsZSBpcyB1bnNldC4gIEZpeGVzIGJ1ZyByZXBvcnRlZCBhcyByZWRoYXQgNTE4NjQ0CisJICBieSBKb24gRmFpcmJhaXJuCisKKwkJCQkgICA4LzI2CisJCQkJICAgLS0tLQorbGliL3JlYWRsaW5lL2Z1bm1hcC5jCisJLSBhZGQgIm9sZC1tZW51LWNvbXBsZXRlIiBiaW5kaW5nIGZvciBybF9vbGRfbWVudV9jb21wbGV0ZQorCitsaWIvcmVhZGxpbmUvcmVhZGxpbmUuaAorCS0gYWRkIGV4dGVybiBkZWNsYXJhdGlvbiBmb3Igcmxfb2xkX21lbnVfY29tcGxldGUKKworc3Vic3QuYworCS0gZml4IG1lbW9yeSBsZWFrIHdoZW4gcHJvY2Vzc2luZyAkeyFwcmVmaXhAfS4gIE5lZWQgdG8gZGlzcG9zZSBhbGwKKwkgIHdvcmRzIGluIHRoZSB3b3JkIGxpc3QgY3JlYXRlZCBmcm9tIGFsbCBtYXRjaGluZyB2YXJpYWJsZS4gIEZpeGVzCisJICBidWcgcmVwb3J0ZWQgYnkgbXVzemlAbXVzemkua2l0ZS5odS4KKworCQkJCSAgIDgvMjkKKwkJCQkgICAtLS0tCitleGVjdXRlX2NtZC5jCisJLSBhZGQgZmZsdXNoKHN0ZG91dCkgYW5kIGZmbHVzaChzdGRlcnIpIHRvIGNoaWxkIGNvcHJvYyBjb2RlIGJlZm9yZQorCSAgY2FsbGluZyBleGl0IGFmdGVyIGV4ZWN1dGVfaW5fc3Vic2hlbGwKKworCQkJCSAgIDgvMzEKKwkJCQkgICAtLS0tCitsaWIvcmVhZGxpbmUve3tiaW5kLHJlYWRsaW5lfS5jLHJscHJpdmF0ZS5ofQorCS0gbmV3IGJpbmRhYmxlIHZhcmlhYmxlLCAiZWNoby1jb250cm9sLWNoYXJhY3RlcnMiLCBlbmFibGVkIGJ5IGRlZmF1bHQuCisJICBUaGlzIGNvbnRyb2xzIHdoZXRoZXIgb3Igbm90IHJlYWRsaW5lIGhvbm9ycyB0aGUgdHR5IEVDSE9DVEwgYml0CisJICBhbmQgZGlzcGxheXMgY2hhcmFjdGVycyBjb3JyZXNwb25kaW5nIHRvIGtleWJvYXJkLWdlbmVyYXRlZCBzaWduYWxzLgorCSAgQ29udHJvbGxlZCBieSBfcmxfZWNob19jb250cm9sX2NoYXJzIHZhcmlhYmxlLCBkZWNsYXJlZCBpbiByZWFkbGluZS5jCisKK2xpYi9yZWFkbGluZS9zaWduYWxzLmMKKwktIGlmIF9ybF9lY2hvX2NvbnRyb2xfY2hhcnMgPT0gMCwgZG9uJ3QgZ28gdGhyb3VnaCBfcmxfZWNob19zaWduYWxfY2hhcgorCisKK2xpYi9yZWFkbGluZS9kb2Mve3JlYWRsaW5lLjMscmx1c2VyLnRleGl9CisJLSBkb2N1bWVudCAiZWNoby1jb250cm9sLWNoYXJhY3RlcnMiIGJpbmRhYmxlIHZhcmlhYmxlCisKKwkJCQkgICAgOS8xCisJCQkJICAgIC0tLQorbGliL3JlYWRsaW5lL2hpc3RleHBhbmQuYworCS0gaGlzdF9zdHJpbmdfZXh0cmFjdF9zaW5nbGVfcXVvdGVkIG5vdyB0YWtlcyBhbiBhZGRpdGlvbmFsIGFyZ3VtZW50OgorCSAgYSBmbGFncyB3b3JkLiAgVGhlIG9ubHkgZGVmaW5lZCB2YWx1ZSAoZmxhZ3MgJiAxKSBhbGxvd3MgYmFja3NsYXNoCisJICB0byBxdW90ZSB0aGUgc2luZ2xlIHF1b3RlLiAgVGhpcyBpcyB0byBpbmhpYml0IGhpc3RvcnkgZXhwYW5zaW9uCisJICBpbnNpZGUgJCcuLi4nIGNvbnRhaW5pbmcgYW4gZXNjYXBlZCBzaW5nbGUgcXVvdGUuCisJLSBjaGFuZ2UgaGlzdG9yeV9leHBhbmQgdG8gY2FsbCBoaXN0X3N0cmluZ19leHRyYWN0X3NpbmdsZV9xdW90ZWQKKwkgIHdpdGggZmxhZ3MgPT0gMSBpZiBpdCBzZWVzICQnLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IFNlYW4KKwkgIERvbm5lciA8c2Vhbi5kb25uZXJAZ21haWwuY29tPgorCisJCQkJICAgIDkvMgorCQkJCSAgICAtLS0KK2J1aWx0aW5zL3ByaW50Zi5kZWYKKwktIGFkZCBhIGNhbGwgdG8gc2hfd3JlcnJvciBpZiBmZXJyb3IoKSBzdWNjZWVkcyBpbiB0aGUgUFJFVFVSTiBtYWNybywKKwkgIHRvIHByaW50IGFuIGVycm9yIG1lc3NhZ2UgaW4gdGhlIGNhc2UgdGhhdCB0aGUgZmluYWwgZmZsdXNoIGZhaWxzCisJICAoZm9yIGluc3RhbmNlLCBiZWNhdXNlIGl0IGF0dGVtcHRzIHRvIHdyaXRlIGRhdGEgdGhhdCBkaWRuJ3QgaGF2ZSBhCisJICB0cmFpbGluZyBuZXdsaW5lKS4gIEZpeGVzIGJ1ZyByZXBvcnRlZCBieSBTdGVmYW5vIExhdHRhcmluaQorCSAgPHN0ZWZhbm8ubGF0dGFyaW5pQGdtYWlsLmNvbT4KKworCQkJCSAgICA5LzcKKwkJCQkgICAgLS0tCithcnJheWZ1bmMuYworCS0gc29tZSBmaXhlcyB0byBhc3NpZ25fY29tcG91bmRfYXJyYXlfbGlzdCB0byBhdm9pZCBudWxsIHBvaW50ZXIKKwkgIGRlcmVmZXJlbmNlcyBwb2ludGVkIG91dCBieSBjbGFuZy9zY2FuLWJ1aWxkCisKK2xpYi9nbG9iL2dsb2IuYworCS0gZml4ZXMgdG8gdWRlcXVvdGVfcGF0aG5hbWUgYW5kIHdkZXF1b3RlX3BhdGhuYW1lIHRvIGF2b2lkIHBvc3NpYmxlCisJICBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2VzIHBvaW50ZWQgb3V0IGJ5IGNsYW5nL3NjYW4tYnVpbGQKKworbGliL3JlYWRsaW5lL3VuZG8uYworCS0gZml4IHRvIF9ybF9jb3B5X3VuZG9fbGlzdCAoZnVuY3Rpb24gdW51c2VkKSB0byBhdm9pZCBkZXJlZiBvZgorCSAgdW5pbml0aWFsaXplZCBwb2ludGVyIHBvaW50ZWQgb3V0IGJ5IGNsYW5nL3NjYW4tYnVpbGQKKworZ2VuZXJhbC5jCisJLSBmaXggc3RyaW5nX3RvX3JsaW10eXBlIHNvIGl0IHdvcmtzIGlmIHBhc3NlZCBhIG51bGwgcG9pbnRlciAodGhvdWdoCisJICBpdCBuZXZlciBpcykKKworYnVpbHRpbnMvbWFwZmlsZS5kZWYKKwktIGZpeCB0byBtYXBmaWxlKCkgdG8gYXZvaWQgcG9zc2libGUgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIHBvaW50ZWQJCisJICBvdXQgYnkgY2xhbmcvc2Nhbi1idWlsZAorCit2YXJpYWJsZXMuYworCS0gZml4IHRvIHZhbGlkX2V4cG9ydHN0ciB0byBhdm9pZCBwb3NzaWJsZSBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2VzCisJICBwb2ludGVkIG91dCBieSBjbGFuZy9zY2FuLWJ1aWxkCisKK2Jhc2hsaW5lLmMKKwktIGZpeCB0byBiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kIHRvIGF2b2lkIHBvc3NpYmxlIG51bGwgcG9pbnRlcgorCSAgZGVyZWZlcmVuY2UgaWYgUkVBRExJTkVfTElORSBvciBSRUFETElORV9QT0lOVCBpcyBub3QgYm91bmQKKworCQkJCSAgIDkvMTEKKwkJCQkgICAtLS0tCitbUHJheWVycyBmb3IgdGhlIHZpY3RpbWVzIG9mIDkvMTEvMjAwMV0KKworY29tbWFuZC5oCisJLSBhZGQgYHJmbGFncycgbWVtYmVyIHRvIHN0cnVjdCByZWRpcmVjdCB0byBob2xkIHByaXZhdGUgZmxhZ3MgYW5kCisJICBzdGF0ZSBpbmZvcm1hdGlvbgorCS0gY2hhbmdlIHJlZGlyZWN0b3IgdG8gYSBSRURJUkVDVEVFIGluc3RlYWQgb2YgaW50IHRvIHByZXBhcmUgZm9yCisJICBwb3NzaWJsZSBmdXR1cmUgY2hhbmdlcworCit7Y29weV9jbWQsZGlzcG9zZV9jbWQsbWFrZV9jbWQscHJpbnRfY21kLHJlZGlyfS5jCisJLSBjaGFuZ2VzIHJlc3VsdGluZyBmcm9tIHR5cGUgY2hhbmdlIG9mIGByZWRpcmVjdG9yJyBtZW1iZXIgb2Ygc3RydWN0CisJICByZWRpcmVjdDogY2hhbmdlIHgtPnJlZGlyZWN0b3IgdG8geC0+cmVkaXJlY3Rvci5kZXN0IGFuZCBhZGQgY29kZQorCSAgd2hlcmUgYXBwcm9wcmlhdGUgdG8gZGVhbCB3aXRoIHgtPnJlZGlyZWN0b3IuZmlsZW5hbWUKKworbWFrZV9jbWQuaAorCS0gY2hhbmdlIGV4dGVybiBkZWNsYXJhdGlvbiBmb3IgbWFrZV9yZWRpcmVjdGlvbgorCittYWtlX2NtZC5jCisJLSBmaXJzdCBhcmd1bWVudCBvZiBtYWtlX3JlZGlyZWN0aW9uIGlzIG5vdyBhIGBSRURJUkVDVEVFJyB0byBwcmVwYXJlCisJICBmb3IgcG9zc2libGUgZnV0dXJlIGNoYW5nZXMuICBGaXJzdCBhcmcgaXMgbm93IGFzc2lnbmVkIGRpcmVjdGx5IHRvCisJICByZWRpcmVjdG9yIG1lbWJlciBpbnN0ZWFkIG9mIGFzc2lnbmluZyBpbnQgdG8gcmVkaXJlY3Rvci5kZXN0CisKK3ttYWtlX2NtZCxyZWRpcn0uYyxwYXJzZS55CisJLSBjaGFuZ2VzIHJlc3VsdGluZyBmcm9tIHR5cGUgY2hhbmdlIG9mIGZpcnN0IGFyZ3VtZW50IHRvCisJICBtYWtlX3JlZGlyZWN0aW9uIGZyb20gaW50IHRvIFJFRElSRUNURUUuICBJbiBnZW5lcmFsLCBjaGFuZ2VzIGFyZQorCSAgdXNpbmcgUkVESVJFQ1RFRSBzZCBhbmQgYXNzaWduaW5nIG9sZCBhcmd1bWVudCB0byBzZC5kZXN0LCB0aGVuCisJICBwYXNzaW5nIHNkIHRvIG1ha2VfcmVkaXJlY3Rpb24KKworbWFrZV9jbWQuW2NoXSxwYXJzZS55CisJLSBhZGQgZm91cnRoIGFyZ3VtZW50IHRvIG1ha2VfcmVkaXJlY3Rpb246IGZsYWdzLiAgU2V0cyBpbml0aWFsIHZhbHVlCisJICBvZiBgcmZsYWdzJyBtZW1iZXIgb2Ygc3RydWN0IHJlZGlyZWN0CisJLSBjaGFuZ2VkIGFsbCBjYWxsZXJzIG9mIG1ha2VfcmVkaXJlY3Rpb24gdG8gYWRkIGZvdXJ0aCBhcmd1bWVudCBvZiAwCisKKwkJCQkgICA5LzE1CisJCQkJICAgLS0tLQorcGFyc2UueQorCS0gY2hhbmdlIHJlYWRfdG9rZW5fd29yZCB0byByZXR1cm4gUkVESVJfV09SRCBmb3IgdG9rZW5zIG9mIHRoZSBmb3JtCisJICB7dmFyfSB3aGVyZSBgdmFyJyBpcyBhIHZhbGlkIHNoZWxsIGlkZW50aWZpZXIgYW5kIHRoZSBjaGFyYWN0ZXIKKwkgIGZvbGxvd2luZyB0aGUgfSBpcyBhIGA8JyBvciBgPicKKwktIGFkZCBSRURJUl9XT1JEIHZlcnNpb25zIG9mIGFsbCBpbnB1dCBhbmQgb3V0cHV0IGZpbGUgcmVkaXJlY3Rpb25zCisJICBhbmQgaGVyZSBkb2N1bWVudHMKKworcHJpbnRfY21kLmMKKwktIGNoYW5nZSBpbnB1dCBhbmQgb3V0cHV0IGZpbGUgcmVkaXJlY3Rpb24gZGlyZWN0aW9uIGFuZCBoZXJlCisJICBkb2N1bWVudCBjYXNlcyBvZiBwcmludF9yZWRpcmVjdGlvbiB0byBwcmludCBhIHZhcm5hbWUKKwkgIHNwZWNpZmljYXRpb24gb2YgdGhlIGZvcm0ge3Zhcn0gd2hlbiBhcHByb3ByaWF0ZS4gIFN0aWxsIG5lZWQKKwkgIHRvIGZpeCByZXN0IG9mIGNhc2VzCisKK3JlZGlyLmMKKwktIGltcGxlbWVudCBSRURJUl9WQVJBU1NJR04gc2VtYW50aWNzIGZvciBmaWxlIGlucHV0IGFuZCBvdXRwdXQKKwkgIHJlZGlyZWN0aW9ucyBhbmQgaGVyZSBkb2N1bWVudHMKKworCQkJCSAgIDkvMTYKKwkJCQkgICAtLS0tCitwYXJzZS55CisJLSBhZGRlZCBSRURJUl9XT1JEIHZlcnNpb25zIG9mIHJlbWFpbmluZyByZWRpcmVjdGlvbiBjb25zdHJ1Y3RzIGV4Y2VwdAorCSAgZm9yIGVycl9hbmRfb3V0IG9uZXMKKworcmVkaXIuYworCS0gaGFuZGxlIFJFRElSX1ZBUkFTU0lHTiBzZW1hbnRpY3MgZm9yIHJlc3Qgb2YgcmVkaXJlY3Rpb24gY29uc3RydWN0cyAKKwktIGFjY29tbW9kYXRlIFJFRElSX1ZBUkFTU0lHTiB3aGVuIHRyYW5zbGF0aW5nIHJlZGlyZWN0aW9ucworCS0gbmV3IGZ1bmN0aW9uLCByZWRpcl92YXJ2YWx1ZSwgZG9lcyB2YXJpYWJsZSBsb29rdXAgZm9yIHt2fSB3aGVuCisJICByZWRpcmVjdGlvbiBuZWVkcyB0aGUgdmFsdWUgKGUuZy4sIHJfY2xvc2VfdGhpcykKKworcHJpbnRfY21kLmMKKwktIGZpeCByZXN0IG9mIGNhc2VzIHRvIHByaW50IHt2YXJuYW1lfSB3aGVuIFJFRElSX1ZBUkFTU0lHTiBpcyBzZXQgaW4KKwkgIHJlZGlyZWN0LT5yZmxhZ3MKKworZG9jL3tiYXNoLjEsYmFzaHJlZi50ZXhpfQorCS0gZG9jdW1lbnQgbmV3IHt2YXJuYW1lfSBSRURJUl9WQVJBU1NJR04gZm9ybSBvZiByZWRpcmVjdGlvbnMKKwordGVzdHMvdnJlZGlyLntyaWdodCx0ZXN0c30sdnJlZGlyWzEtNV0uc3ViCisJLSB0ZXN0cyBmb3IgbmV3IHt2YXJuYW1lfSBSRURJUl9WQVJBU1NJR04gZm9ybSBvZiByZWRpcmVjdGlvbnMKKworCQkJCSAgIDkvMTgKKwkJCQkgICAtLS0tCitzdWJzdC5jCisJLSBuZXcgZmxhZ3MgYXJndW1lbnQgdG8gc3BsaXRfYXRfZGVsaW1zOiB0aGVzZSBmbGFncyBhcmUgT1JkIHdpdGgKKwkgIFNEX05PSk1QIGFuZCBwYXNzZWQgdG8gc2tpcF90b19kZWxpbQorCS0gY2hhbmdlIHNraXBfdG9fZGVsaW0gdG8gaG9ub3IgbmV3IFNEX05PUVVPVEVERUxJTSBmbGFnIGJ5IG5vdAorCSAgY2hlY2tpbmcgd2hldGhlciBvciBub3Qgc2luZ2xlIGFuZCBkb3VibGUgcXVvdGVzIGFyZSBkZWxpbWl0ZXJzCisJICBpZiBpdCdzIHNldCBpbiBwYXNzZWQgZmxhZ3MgdW50aWwgYWZ0ZXIgc2tpcHBpbmcgcXVvdGVkIHN0cmluZ3MuCisKK3N1YnN0LmgKKwktIGNoYW5nZSBleHRlcm4gZGVjbGFyYXRpb24gZm9yIHNwbGl0X2F0X2RlbGltcworCS0gbmV3IGRlZmluZSBmb3IgU0RfTk9RVU9URURFTElNIGZsYWcKKworcGNvbXBsZXRlLmMKKwktIHBhc3MgU0RfTk9RVU9URURFTElNIGluIGZsYWdzIGFyZ3VtZW50IHRvIHNwbGl0X2F0X2RlbGltcyBzbyBzaW5nbGUKKwkgIGFuZCBkb3VibGUgcXVvdGVzLCBldmVuIHRob3VnaCB0aGV5J3JlIGluCisJICBybF9jb21wbGV0ZXJfd29yZF9icmVha19jaGFyYWN0ZXJzLCBkb24ndCBhY3QgYXMgd29yZCBkZWxpbWl0ZXJzCisJICBmb3IgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24uICBGaXhlcyBidWcgcmVwb3J0ZWQgYnkgRnJlZGR5CisJICBWdWx0byA8ZnZ1bHRvQGdtYWlsLmNvbT4KKworbGliL2dsb2IvZ2xvYi5jCisJLSBpbiBnbG9iX2ZpbGVuYW1lLCBhZnRlciByZWN1cnNpdmVseSBzY2FubmluZyBhIGRpcmVjdG9yeSBzcGVjaWZpZWQKKwkgIHdpdGggYCoqJywgdHVybiBvZmYgR1hfQUxMRElSU3xHWF9BRERDVVJESVIgYmVmb3JlIGNhbGxpbmcKKwkgIGdsb2JfdmVjdG9yIG9uIHRoZSByZXN0IG9mIHRoZSBwYXRobmFtZSwgc2luY2UgaXQgbWF5IG5vdCBhcHBseSB0bworCSAgdGhlIHJlc3Qgb2YgdGhlIHBhdHRlcm4uICBUdXJuZWQgYmFjayBvbiBpZiB0aGUgZmlsZW5hbWUgbWFrZXMgaXQKKwkgIGFwcHJvcHJpYXRlLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IEFuZGVycyBLYXNlb3JnIDxhbmRlcnNrQG1pdC5lZHU+CisKK3JlZGlyLmMKKwktIGNoYW5nZSBleGVjdXRlX251bGxfY29tbWFuZCB0byBmb3JrIGEgY2hpbGQgdG8gZXhlY3V0ZSBpZiBhbnkgb2YKKwkgIHRoZSBjb21tYW5kcyByZWRpcmVjdGlvbnMgaGF2ZSB0aGUgUkVESVJfVkFSQVNTSUdOIGZsYWcgc2V0LCBzaW5jZQorCSAgdGhvc2UgY29tbWFuZHMgYXJlIG5vdCBzdXBwb3NlZCB0byBoYXZlIHNpZGUgZWZmZWN0cworCit0ZXN0LmMKKwktIDwgYW5kID4gYmluYXJ5IG9wZXJhdG9ycyB3aWxsIG9iZXkgdGhlIGxvY2FsZSBieSB1c2luZyBzdHJjb2xsIGlmCisJICB0aGUgVEVTVF9MT0NBTEUgZmxhZyBpcyBwYXNzZWQgdG8gYmluYXJ5X3Rlc3QKKwordGVzdC5oCisJLSBuZXcgZGVmaW5lIGZvciBURVNUX0xPQ0FMRQorCitleGVjdXRlX2NtZC5jCisJLSBleGVjdXRlX2NvbmRfbm9kZSBzZXRzIFRFU1RfTE9DQUxFIHNvIFtbIHN0cjEgPCBzdHIyIF1dIChhbmQgPikKKwkgIG9iZXkgdGhlIGxvY2FsZS4gIEZpeGVzIGJ1Zy9pbmNvbXBhdGliaWxpdHkgcmVwb3J0ZWQgYnkgR3JlZworCSAgV29vbGVkZ2UgPHdvb2xlZGdAZWVnLmNjZi5vcmc+CisKK2RvYy97YmFzaC4xLGJhc2hyZWYudGV4aX0KKwktIGRvY3VtZW50ZWQgW1sgY29tbWFuZCBuZXcgbG9jYWxlLXNlbnNpdGl2ZSB0cmVhdG1lbnQgb2YgPCBhbmQgPgorCisJCQkJICAgOS8yNAorCQkJCSAgIC0tLS0KK2NvbmZpZ3VyZS5pbgorCS0gYWRkICJkYXJ3aW4xMCIgY2FzZXMgbGlrZSBkYXJ3aW44IGFuZCBkYXJ3aW45IHRvIGhhbmRsZSBsaW5raW5nIHdpdGgKKwkgIGluY2x1ZGVkIHJlYWRsaW5lIGFuZCBoaXN0b3J5IGxpYnJhcmllcworCisJCQkJICAgOS8yNgorCQkJCSAgIC0tLS0KK2xpYi9yZWFkbGluZS9kaXNwbGF5LmMKKwktIG1vZGlmeSBjaGFuZ2Ugb2YgNy8yNCB0byB1c2UgcHJvbXB0X3BoeXNpY2FsX2NoYXJzIGluc3RlYWQgb2YKKwkgIHByb21wdF92aXNpYmxlX2xlbmd0aCB0byBhY2NvdW50IGZvciB2aXNpYmxlIG11bHRpYnl0ZSBjaGFyYWN0ZXJzIGluCisJICB0aGUgbGluZSAodXN1YWxseSBpbiB0aGUgcHJvbXB0KS4gIEZpeGVzIGRlYmlhbiBidWcgIzU0NzI2NAorCSAgcmVwb3J0ZWQgYnkgUGlldHJvIEJhdHRpc3RvbiA8dG9vYmF6QGVtYWlsLml0PgorCS0gYWRkIGZsYWdzIGFyZ3VtZW50IHRvIF9ybF9jb2xfd2lkdGg7IGNoYW5nZWQgY2FsbGVycy4gIGZsYWdzID4gMAorCSAgbWVhbnMgdGhhdCBpdCdzIG9rIHRvIHVzZSB0aGUgYWxyZWFkeS1jb21wdXRlZCBwcm9tcHQgaW5mb3JtYXRpb247CisJICBmbGFncyA9PSAwIG1lYW5zIHRoYXQgd2UncmUgZXhwYW5kaW5nIHRoZSBwcm9tcHQgYW5kIHdlIHNob3VsZCBub3QKKwkgIHNob3J0LWNpcmN1aXQKKworcGFyc2UueQorCS0gaW4gZGVjb2RlX3Byb21wdF9zdHJpbmcsIHdoZW4gZXhwYW5kaW5nIFx3IGFuZCBcVyBvbiBNYWMgT1MgWCwKKwkgIHVzZSBmbnhfZnJvbWZzIHRvIGNvbnZlcnQgZnJvbSAiZmlsZXN5c3RlbSIgZm9ybSB0byAiaW5wdXQiIGZvcm0uCisJICBUaGlzIG1ha2VzICRQV0Qgd2l0aCBtdWx0aWJ5dGUgY2hhcmFjdGVycyB3b3JrIGluIHRoZSBwcm9tcHQKKwkgIHN0cmluZyBvbiBNYWMgT1MgWAorCitsaWIvc2gvZm54Zm9ybS5jCisJLSBpbiBmbnhfZnJvbWZzIGFuZCBmbnhfdG9mcywgdXNlIHRlbXBsZW4gaW5zdGVhZCBvZiBvdXRsZW4gYXMgbGFzdAorCSAgYXJndW1lbnQgaW4gY2FsbHMgdG8gaWNvbnYsIHNpbmNlIG91dGxlbiBpcyB1c2VkIHRvIGtlZXAgdHJhY2sgb2YKKwkgIHRoZSBzaXplIG9mIHRoZSBidWZmZXIsIGFuZCBpY29udiBwb3RlbnRpYWxseSBtb2RpZmllcyBpdHMKKwkgIGBvdXRieXRlc2xlZnQnIGFyZ3VtZW50CisKKwkJCQkgICA5LzI5CisJCQkJICAgLS0tLQorc3Vic3QuYworCS0gbWFrZSBza2lwX3RvX2RlbGltIHVuZGVyc3RhbmQgaG93IHRvIHNraXAgb3ZlciBwcm9jZXNzIHN1YnN0aXR1dGlvbgorCSAgY29uc3RydWN0cyB0aGUgd2F5IGl0IHNraXBzICQoLi4uKSBjb21tYW5kIHN1YnN0aXR1dGlvbgorCisJCQkJICAgOS8zMAorCQkJCSAgIC0tLS0KK2xpYi9yZWFkbGluZS90ZXJtaW5hbC5jCisJLSBkb24ndCBzZXQgdGhlIGB0ZXJtaW5hbCBoYXMgbWV0YSBrZXknIGZsYWcgaWYgdGhlIGBNVCcgY2FwYWJpbGl0eSBpcworCSAgYXZhaWxhYmxlOyB0aGF0IG1lYW5zIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudAorCisJCQkJICAgMTAvMQorCQkJCSAgIC0tLS0KK2J1aWx0aW5zL2hlbHAuZGVmCisJLSBtYWtlIHN1cmUgd2lkdGggaXMgYXQgbGVhc3QgNywgc2luY2Ugd2UgcGFzcyBgd2lkdGgvMiAtIDMnIHRvIHN0cm5jcHkKKwkgIGFzIHRoZSBsZW5ndGggYXJndW1lbnQuICBUZXJtaW5hbCB3aWR0aHMgPD0gNiBhcmUgY29udmVydGVkIHRvIDgwLgorCSAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IENocmlzIEhhbGwgPGNAcG9ib3guY28udWs+CisKK2NvbmZpZ3VyZS5pbgorCS0gY2hhbmdlZCB2ZXJzaW9uIHRvIDQuMS1hbHBoYQorCitzdWJzdC5oCisJLSBuZXcgZmxhZyBmb3Igc2tpcF90b19kZWxpbTogU0RfTk9TS0lQQ01ELCB3aGljaCBtZWFucyB0byBub3Qgc2tpcAorCSAgb3ZlciBlbWJlZGRlZCBjb21tYW5kIGFuZCBwcm9jZXNzIHN1YnN0aXR1dGlvbnMsIGJ1dCByYXRoZXIgdG8gbG9vaworCSAgZm9yIGRlbGltaXRlcnMgd2l0aGluIHRoZW0KKworc3Vic3QuYworCS0gaW1wbGVtZW50IHNlbWFudGljcyBvZiBTRF9OT1NLSVBDTUQgaW4gc2tpcF90b19kZWxpbQorCitiYXNobGluZS5jCisJLSBjYWxsIHNraXBfdG9fZGVsaW0gd2l0aCBTRF9OT1NLSVBDTUQgZnJvbSBmaW5kX2NtZF9zdGFydCwgc28KKwkgIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGNhbiB1c2UgdGhlIGNvbXBsZXRpb24gZGVmaW5lZCBmb3IgYGInIGZvcgorCSAgY29tbWFuZCBsaW5lcyBsaWtlICJhICQoYiBjIi4gIEZpeGVzIGluY29uc2lzdGVuY3kvYnVnIHJlcG9ydGVkIGJ5CisJICBGcmVkZHkgVnVsdG8gPGZ2dWx0b0BnbWFpbC5jb20+CisKK3BhcnNlci5oCisJLSByZXBsYWNlIHVudXNlZCBQU1RfQ01EVE9LRU4gcGFyc2VyIHN0YXRlIHZhbHVlIHdpdGggUFNUX0VYVFBBVCwKKwkgIG1lYW5zIGN1cnJlbnRseSBwYXJzaW5nIGFuIGV4dGVuZGVkIGdsb2IgcGF0dGVybiAoZXh0Z2xvYikKKworcGFyc2UueQorCS0gZml4IGNvbmRfbm9kZSgpIHNvIHRoYXQgZXh0ZW5kZWRfZ2xvYiBpcyBzZXQgYmVmb3JlIHBhcnNpbmcgdGhlCisJICByaHMgb2YgdGhlIGA9PScgb3IgYCE9JyBvcGVyYXRvcnMuICBGb3Iga3NoOTMgY29tcGF0aWJpbGl0eS4KKwktIHJlc2V0IGV4dGVuZGVkX2dsb2IgdG8gZ2xvYmFsIHZhbHVlIChzYXZlZCBpbiBwYXJzZV9jb25kX2NvbW1hbmQoKSkKKwkgIGluIHJlc2V0X3BhcnNlcigpCisKKwkJCQkgICAxMC81CisJCQkJICAgLS0tLQoram9icy5jCisJLSBjaGFuZ2Ugd2FpdGNobGQoKSB0byBvbmx5IGludGVycnVwdCB0aGUgd2FpdCBidWlsdGluIHdoZW4gdGhlIHNoZWxsCisJICByZWNlaXZlcyBTSUdDSExEIGluIFBvc2l4IG1vZGUuICBJdCdzIGEgcG9zaXggcmVxdWlyZW1lbnQsIGJ1dAorCSAgbWFrZXMgZWFzeSB0aGluZ3MgaGFyZCB0byBkbywgbGlrZSBydW4gYSBTSUdDSExEIHRyYXAgZm9yIGV2ZXJ5CisJICBleGl0aW5nIGNoaWxkLiAgQ2hhbmdlIHByb21wdGVkIGJ5IHF1ZXN0aW9uIGZyb20gQWxleCBFZnJvcworCSAgPHBvd2VybWFuQHBvd2VybWFuLm5hbWU+CisKK2RvYy9iYXNocmVmLnRleGkKKwktIGRvY3VtZW50IG5ldyBwb3NpeCBtb2RlIGJlaGF2aW9yIGFib3V0IFNJR0NITEQgYXJyaXZpbmcgd2hpbGUgdGhlCisJICB3YWl0IGJ1aWx0aW4gaXMgZXhlY3V0aW5nIHdoZW4gYSB0cmFwIG9uIFNJR0NITEQgaGFzIGJlZW4gc2V0CisKKwkJCQkgICAxMC82CisJCQkJICAgLS0tLQorbGliL3JlYWRsaW5lL2hpc3RleHBhbmQuYworCS0gZml4IGhpc3RfZXhwYW5kIHRvIGtlZXAgZnJvbSBzdG9wcGluZyBoaXN0b3J5IGV4cGFuc2lvbiBhZnRlciB0aGUKKwkgIGZpcnN0IG11bHRpYnl0ZSBjaGFyYWN0ZXIgKGEgYGJyZWFrJyBpbnN0ZWFkIG9mIGEgYGNvbnRpbnVlJykuCisJICBGaXhlcyBkZWJpYW4gYnVnICgjNTQ5OTMzKSByZXBvcnRlZCBieSBOaWtvbGF1cyBTY2h1bHoKKwkgIDxtaWNyb3NjaHVsekB3ZWIuZGU+CisKKwkJCQkgICAxMC84CisJCQkJICAgLS0tLQorYnVpbHRpbnMvcmVhZC5kZWYKKwktIGltcGxlbWVudCBuZXcgYC1OIG5jaGFycycgb3B0aW9uOiByZWFkIGV4YWN0bHkgTkNIQVJTIGNoYXJhY3RlcnMsCisJICBpZ25vcmluZyBhbnkgZGVsaW1pdGVyLCBhbmQgZG9uJ3Qgc3BsaXQgdGhlIHJlc3VsdCBvbiAkSUZTLgorCSAgRmVhdHVyZSByZXF1ZXN0ZWQgYnkgUmljaGFyZCBTdGFsbG1hbiA8cm1zQGdudS5vcmc+CisKK2RvYy97YmFzaC4xLGJhc2hyZWYudGV4aX0KKwktIGRvY3VtZW50IG5ldyBgcmVhZCAtTicgb3B0aW9uCisKKwkJCQkgICAxMC85CisJCQkJICAgLS0tLQorbGliL3JlYWRsaW5lL2JpbmQuYworCS0gbmV3IGJpbmRhYmxlIHZhcmlhYmxlLCAiZW5hYmxlLW1ldGEta2V5IiwgY29udHJvbHMgd2hldGhlciBvciBub3QKKwkgIHJlYWRsaW5lIGVuYWJsZXMgYW55IG1ldGEgbW9kaWZpZXIga2V5IHRoZSB0ZXJtaW5hbCBjbGFpbXMgdG8KKwkgIHN1cHBvcnQuICBTdWdnZXN0ZWQgYnkgV2VybmVyIEZpbmsgPHdlcm5lckBzdXNlLmRlPgorCitsaWIvcmVhZGxpbmUvZG9jL3tyZWFkbGluZS4zLHJsdXNlci50ZXhpfSxkb2MvYmFzaC4xCisJLSBkb2N1bWVudCBuZXcgcmVhZGxpbmUgImVuYWJsZS1tZXRhLWtleSIgYmluZGFibGUgdmFyaWFibGUKKworCQkJCSAgIDEwLzEwCisJCQkJICAgLS0tLS0KK3RyYXAuYworCS0gbmV3IGZ1bmN0aW9uLCBmcmVlX3RyYXBfc3RyaW5nKCksIGRvZXMgd2hhdCBpdCBzYXlzIGFuZCB0dXJucyBvZmYKKwkgIFNJR19UUkFQUEVEIGZsYWcgd2l0aG91dCBjaGFuZ2luZyBzaWduYWwgZGlzcG9zaXRpb24KKworW2Jhc2gtNC4xLWFscGhhIGZyb3plbl0KKworCQkJCSAgIDEwLzE2CisJCQkJICAgLS0tLS0KK2J1aWx0aW5zL21hcGZpbGUuZGVmCisJLSByZXR1cm4gYW4gZXJyb3IgaWYgdGhlIHZhcmlhYmxlIHBhc3NlZCBpcyBub3QgYW4gaW5kZXhlZCBhcnJheS4KKwkgIEZpeGVzIGJ1ZyByZXBvcnRlZCBieSBOaWNrIEhvYnNvbiA8bmljay5ob2Jzb25AeWFob28uY29tPgorCS0gY2hhbmdlIGhlbHAgdGV4dCB0byBtYWtlIGl0IGNsZWFyIHRoYXQgYW4gaW5kZXhlZCBhcnJheSBpcyByZXF1aXJlZAorCitkb2Mve2Jhc2guMSxiYXNocmVmLnRleGl9CisJLSBjaGFuZ2VkIGRlc2NyaXB0aW9uIG9mIG1hcGZpbGUgdG8gbm90ZSB0aGF0IHRoZSBhcnJheSB2YXJpYWJsZQorCSAgYXJndW1lbnQgbXVzdCBiZSBhbiBpbmRleGVkIGFycmF5LCBhbmQgbWFwZmlsZSB3aWxsIHJldHVybiBhbgorCSAgZXJyb3IgaWYgaXQgaXMgbm90CisKK3N1YnN0LmMKKwktIGNoYW5nZSBleHBhbmRfc3RyaW5nX3Vuc3BsaXQgYW5kIGV4cGFuZF9zdHJpbmdfbGVhdmVfcXVvdGVkIHRvCisJICBhZGQgdGhlIChwcmV2aW91c2x5IHVudXNlZCkgV19OT1NQTElUMiBmbGFnIHRvIHRoZSBjcmVhdGVkIHdvcmQKKwktIGNoYW5nZSBleHBhbmRfd29yZF9pbnRlcm5hbCB0byB1bmRlcnN0YW5kIFdfTk9TUExJVDIgdG8gbWVhbiB0aGF0CisJICB3ZSdyZSBub3QgZ29pbmcgdG8gc3BsaXQgb24gJElGUywgc28gd2Ugc2hvdWxkIG5vdCBxdW90ZSBhbnkKKwkgIGNoYXJhY3RlcnMgaW4gSUZTIHRoYXQgd2UgYWRkIHRvIHRoZSByZXN1bHQgc3RyaW5nLiAgRml4ZXMgYnVnCisJICByZXBvcnRlZCBieSBFbnJpcXVlIFBlcmV6LVRlcnJvbiA8ZW5yaW9Ab25saW5lLm5vPgorCS0gY2hhbmdlIGNvbmRfZXhwYW5kX3dvcmQgc2ltaWxhcmx5LiAgRml4ZXMgcmVzdCBvZiBidWcgcmVwb3J0ZWQgYnkKKwkgIEVucmlxdWUgUGVyZXotVGVycm9uIDxlbnJpb0BvbmxpbmUubm8+CisKK3BhcnNlLnkKKwktIHNhdmUgYW5kIHJlc3RvcmUgdmFsdWUgb2YgbGFzdF9jb21tYW5kX3N1YnN0X3BpZCBhcm91bmQgY2FsbCB0bworCSAgZXhwYW5kX3Byb21wdF9zdHJpbmcgaW4gZGVjb2RlX3Byb21wdF9zdHJpbmcuICBGaXhlcyBidWcgdGhhdCBjYXVzZXMKKwkgICQ/IHRvIGJlIHNldCB3cm9uZyB3aGVuIHVzaW5nIGEgY29uc3RydWN0IGxpa2UgZmFsc2UgfHwgQT0zIHdoZW4KKwkgIHNldCAteCBpcyBlbmFibGVkIGFuZCAkUFM0IGNvbnRhaW5zIGEgY29tbWFuZCBzdWJzdGl0dXRpb24uICBSZXBvcnRlZAorCSAgYnkgSmVmZiBIYWVtZXIgPGplZmZyZXkuaGFlbWVyQGdtYWlsLmNvbT4KKworCQkJCSAgIDEwLzE3CisJCQkJICAgLS0tLS0KK2V4ZWN1dGVfY21kLmMKKwktIGluIGV4ZWN1dGVfaW5fc3Vic2hlbGwsIG1ha2Ugc3VyZSB3ZSBzZXQgc2V0am1wKHJldHVybl9jYXRjaCkgYmVmb3JlCisJICBydW5uaW5nIHRoZSBjb21tYW5kLCBpbiBjYXNlIHRoZSBjb21tYW5kIG9yIGl0cyB3b3JkIGV4cGFuc2lvbgorCSAgY2FsbHMganVtcF90b190b3BfbGV2ZWwuICBGaXhlcyBidWcgcmVwb3J0ZWQgYnkgTmlscyBCZXJuaGFyZAorCSAgPG5pbHMuYmVybmhhcmRAeWFob28uZGU+CisKK3N1YnN0LmMKKwktIG5ldyBQRl9OT1NQTElUMiBmbGFnIGZvciBwYXJhbV9leHBhbmQKKwktIHBhcmFtZXRlcl9icmFjZV9leHBhbmQgdGFrZXMgYSBuZXcgYHBmbGFncycgYXJndW1lbnQsIGJlZm9yZSB0aGUKKwkgIGBvdXRwdXQnIHBhcmFtZXRlcnM7IHBhc3NlcyB0byBwYXJhbV9leHBhbmQgYXMgbmVjZXNzYXJ5CisJLSBjaGFuZ2UgcGFyYW1ldGVyX2JyYWNlX2V4cGFuZCB0byBjYWxsIHBhcmFtZXRlcl9icmFjZV9leHBhbmRfd29yZAorCSAgd2l0aCB0aGUgUEZfTk9TUExJVDIgZmxhZyBpZiB0aGUgcGZsYWdzIGFyZ3VtZW50IHRvCisJICBwYXJhbWV0ZXJfYnJhY2VfZXhwYW5kIGhhcyBpdCBzZXQKKworcGFyc2UueQorCS0gY2hhbmdlIHJlcG9ydF9zeW50YXhfZXJyb3IgdG8gc2V0IGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlIHRvCisJICBFWF9CQURTWU5UQVggaWYgcGFyc2VfYW5kX2V4ZWN1dGVfbGV2ZWwgaXMgPiAwLCBpbmRpY2F0aW5nIGEKKwkgIHN5bnRheCBlcnJvciB3aGlsZSB3ZSdyZSBleGVjdXRpbmcgYSBkb3Qgc2NyaXB0LCBldmFsIHN0cmluZywKKwkgIHRyYXAgY29tbWFuZCwgZXRjLgorCitidWlsdGlucy9ldmFsc3RyaW5nLmMKKwktIGluIHBhcnNlX2FuZF9leGVjdXRlLCBpZiBwYXJzZV9jb21tYW5kKCkgcmV0dXJucyBub24temVybywKKwkgIGluZGljYXRpbmcgYSBwYXJzZSBlcnJvciwgcHJpbnQgYSB3YXJuaW5nIG1lc3NhZ2UgaWYgdGhlIGNvbmRpdGlvbnMKKwkgIHdvdWxkIHJlcXVpcmUgIGEgcG9zaXgtbW9kZSBzaGVsbCB0byBhYm9ydCAocGFyc2UgZXJyb3IgaW4gYSBgLicKKwkgIHNjcmlwdCBvciBldmFsIHN0cmluZykKKworCQkJCSAgIDEwLzE5CisJCQkJICAgLS0tLS0KK2J1aWx0aW5zL2V2YWxmaWxlLmMKKwktIGV2ZW4gaWYgdGhlIGBjaGVjayBiaW5hcnknIGZsYWcgaXMgbm90IHBhc3NlZCB0byBfZXZhbGZpbGUsIHJldHVybiBhbgorCSAgZXJyb3IgYWZ0ZXIgcmVhZGluZyAxMjggbnVsbCBjaGFyYWN0ZXJzIGlmIGNhbGxlZCBieSBgc291cmNlJywgb24KKwkgIHRoZSBhc3N1bXB0aW9uIHRoYXQgaXQncyBwcm9iYWJseSBhIGJpbmFyeSBmaWxlLiAgW1RoaXMgd2lsbCBiZSBpbgorCSAgYmFzaC00LjEtYmV0YV0KKworCQkJCSAgIDEwLzI0CisJCQkJICAgLS0tLS0KK1tiYXNoLTQuMS1hbHBoYSByZWxlYXNlZF0KKworYmFzaGxpbmUuYworCS0gZG9uJ3QgY2FsbCBjb21tYW5kX3N1YnN0aXR1dGlvbl9jb21wbGV0aW9uX2Z1bmN0aW9uIGlmIHdlJ3JlCisJICBjb21wbGV0aW5nIGEgc3Vic3RyaW5nIGRlbGltaXRlZCBieSBhIHNpbmdsZSBxdW90ZS4gIEZpeGVzIGJ1ZworCSAgcmVwb3J0ZWQgYnkgYmFzaC1idWdzQGF0dS5jamIubmV0CisKK2xpYi9yZWFkbGluZS9jb21wbGV0ZS5jCisJLSBtYWtlIHN1cmUgX3JsX3NraXBfY29tcGxldGVkX3RleHQgZGVmYXVsdHMgdG8gMCwgYXMgdGhlCisJICBkb2N1bWVudGF0aW9uIHN0YXRlcyAoaW5jb3JyZWN0IGluIGJhc2gtNC4xLWFscGhhKQorCS0gaW4gaW5zZXJ0X21hdGNoLCBza2lwIG92ZXIgYSBjbG9zZSBxdW90ZSBpbiB0aGUgcmVwbGFjZW1lbnQgdGV4dCBpZgorCSAgdGhlIGNoYXJhY3RlciBhdCBwb2ludCB3aGVuIGNvbXBsZXRpb24gaXMgaW52b2tlZCBpcyBhIHNpbmdsZQorCSAgcXVvdGUuICBGaXhlcyBjb21wbGFpbnQgZnJvbSBiYXNoLWJ1Z3NAYXR1LmNqYi5uZXQKKworCQkJCSAgIDEwLzI2CisJCQkJICAgLS0tLS0KK3NoZWxsLmMKKwktIGluIG1haW4sIG1ha2Ugc3VyZSAiJEVNQUNTIiBpcyBub24tbnVsbCBiZWZvcmUgY2FsbGluZyBzdHJzdHIgb24gaXRzCisJICB2YWx1ZS4gIEZpeGVzIFJlZCBIYXQgYnVnIDUzMDkxMSBzdWJtaXR0ZWQgYnkgTWl0Y2hlbGwgQmVyZ2VyCisKK2J1aWx0aW5zL21hcGZpbGUuZGVmCisJLSBkb24ndCBzYXZlIGNhbGxiYWNrIGNvbW1hbmRzIGluIHNoZWxsIGhpc3RvcnkuICBTdWdnZXN0ZWQgYnkKKwkgIEphbiBTY2hhbXBlcmEgPGphbi5zY2hhbXBlcmFAd2ViLmRlPgorCittYWlsY2hlY2suYworCS0gaW4gZmlsZV9tb2RfZGF0ZV9jaGFuZ2VkLCBtYWtlIHN1cmUgdGhlIG1vZGlmaWNhdGlvbiB0aW1lIGlzIGxhdGVyCisJICB0aGFuIHRoZSBzYXZlZCBtb2RpZmljYXRpb24gZGF0ZSwgbm90IGp1c3QgdGhhdCBpdCdzIG5vdCBlcXVhbC4KKwkgIEZpeCBmcm9tIEV2Z2VuaXkgRHVzaGlzdG92IDxkdXNoaXN0b3ZAbWFpbC5ydT4KKwktIGluIGZpbGVfYWNjZXNzX2RhdGVfY2hhbmdlZCwgbWFrZSBzdXJlIHRoZSBhY2Nlc3MgdGltZSBpcyBsYXRlcgorCSAgdGhhbiB0aGUgc2F2ZWQgYWNjZXNzIHRpbWUsIG5vdCBqdXN0IHRoYXQgaXQncyBub3QgZXF1YWwKKworCQkJCSAgIDEwLzI3CisJCQkJICAgLS0tLS0KK2J1aWx0aW5zL3Nob3B0LmRlZgorCS0gYWRkZWQgbmV3IGBjb21wYXQ0MCcgY29tcGF0aWJpbGl0eSB2YXJpYWJsZSwgd2l0aCBhc3NvY2lhdGVkIGNoYW5nZXMKKwkgIHRvIHNoZWxsX2NvbXBhdGliaWxpdHlfbGV2ZWwoKSwgc2luY2UgdGhlIGRlZmF1bHQgY29tcGF0aWJpbGl0eSBsZXZlbAorCSAgaXMgbm93IDQxCisKK3Rlc3QuYworCS0gbWFrZSB0aGUgPCBhbmQgPiBvcGVyYXRvcnMgdG8gW1sgdXNlIHN0cmNvbGwoKSBvbmx5IGlmIHRoZSBzaGVsbAorCSAgY29tcGF0aWJpbGl0eSBsZXZlbCBpcyBncmVhdGVyIHRoYW4gNDAgKGl0IGlzIDQxIGJ5IGRlZmF1bHQgaW4KKwkgIGJhc2gtNC4xKQorCisJCQkJICAgMTAvMjgKKwkJCQkgICAtLS0tLQorc3VwcG9ydC9zaG9iai1jb25mCisJLSBkZWNyZWFzZSB0aGUgZGVmYXVsdCB2ZXJzaW9uIG9mIEZyZWVCU0QgdGhhdCBjcmVhdGVzIHNoYXJlZCBsaWJyYXJpZXMKKwkgIHRvIDQueC4gIEFkdmljZSBmcm9tIFBldGVyIEplcmVteSA8cGV0ZXJqZXJlbXlAYWNtLm9yZz4KKworCQkJCSAgIDExLzIKKwkJCQkgICAtLS0tCitwYXJzZS55CisJLSBjaGFuZ2UgcGFyc2VfY29tc3ViIHRvIGZyZWUgYGhlcmVkZWxpbScgYW5kIHNldCBpdCB0byAwIHdoZW5ldmVyIHRoZQorCSAgY29tc3ViIHNjYW5uZXIgZmluZHMgdGhlIGVuZCBvZiBhIGhlcmUgZG9jdW1lbnQuICBSZWFsbHkgbmVlZCB0bworCSAgaW1wbGVtZW50IGEgc3RhY2sgb2YgaGVyZSBkb2MgZGVsaW1pdGVycyBsaWtlIGluIHRoZSBwYXJzZXIgKGNhbiB3ZQorCSAgdXNlIHJlZGlyX3N0YWNrIGhlcmUsIHRvbz8pCisJLSBmaXggcGFyc2VfY29tc3ViIHRvIG5vdCBhdHRlbXB0IHRvIHJlYWQgYW5vdGhlciBoZXJlIGRvYyBkZWxpbWl0ZXIKKwkgIGFmdGVyIHNlZWluZyBhIHNoZWxsIGJyZWFrIGNoYXJhY3RlciAodGhhdCBpcyBub3QgbmV3bGluZSkgaWYgd2UKKwkgIGFscmVhZHkgaGF2ZSBvbmUuICBGaXhlcyBEZWJpYW4gYmFzaCBidWcgIzU1MzQ4NSwgc3VibWl0dGVkIGJ5CisJICBTYW11ZWwgSHltIDxzYW11ZWwuaHltQGdtYWlsLmNvbT4KKworCQkJCSAgIDExLzMKKwkJCQkgICAtLS0tCit2YXJpYWJsZXMuYworCS0gZml4IGJpbmRfdmFyaWFibGVfaW50ZXJuYWwgdG8gY2FsbCBhIHZhcmlhYmxlJ3MgZHluYW1pYyAnc2V0IGZ1bmN0aW9uJworCSAgd2l0aCB0aGUgcmlnaHQgYXJndW1lbnRzIGRlcGVuZGluZyBvbiB3aGV0aGVyIGl0cyBhbiBhc3NvY2lhdGl2ZQorCSAgYXJyYXksIGFuIGluZGV4ZWQgYXJyYXksIG9yIGEgc2NhbGFyLiAgRml4ZXMgVWJ1bnR1IGJ1ZyAjNDcxNTA0CisJICBodHRwczovL2J1Z3MubGF1bmNocGFkLm5ldC91YnVudHUvK3NvdXJjZS9iYXNoLytidWcvNDcxNTA0IHJlcG9ydGVkCisJICBieSBBSiBTbGF0ZXIgPGFqLnNsYXRlckBnbWFpbC5jb20+CisKK1tiYXNoLTQuMS1iZXRhIGZyb3plbl0KKworCQkJCSAgIDExLzExCisJCQkJICAgLS0tLS0KK2J1aWx0aW5zL3ByaW50Zi5kZWYKKwktIGluIGdldGludG1heCgpLCBpbiB0aGUgY2FzZSBvZiBhIGNvbnZlcnNpb24gZXJyb3IsIHJldHVybiB0aGUgcGFydGlhbAorCSAgdmFsdWUgYWNjdW11bGF0ZWQgc28gZmFyLCB3aGljaCBpcyBzdXBwb3NlIHRvIGJlIHdoYXQKKwkgIHN0cnRvaW1heC9zdHJ0b2xsL3N0cnRvbCByZXR1cm5zCisKKwkJCQkgICAxMS8xNworCQkJCSAgIC0tLS0tCitbYmFzaC00LjEtYmV0YSByZWxlYXNlZF0KKworCQkJCSAgIDExLzE4CisJCQkJICAgLS0tLS0KK2J1aWx0aW5zL3tjb21tb24uaCxzaG9wdC5kZWZ9LHNoZWxsLmMKKwktIGNoYW5nZWQgc2hvcHQgdmFyaWFibGUgInNldCBmdW5jdGlvbnMiIHRvIHRha2UgdGhlIG9wdGlvbiBuYW1lIGFzCisJICB0aGUgZmlyc3QgYXJndW1lbnQ7IGNoYW5nZWQgZnVuY3Rpb24gcHJvdG90eXBlcyBhbmQgY2FsbGVycworCitidWlsdGlucy9zaG9wdC5kZWYKKwktIGNoYW5nZSBzZXRfY29tcGF0aWJpbGl0eV9sZXZlbCgpIHRvIHR1cm4gb2ZmIG90aGVyIGNvbXBhdE5OIG9wdGlvbnMKKwkgIHdoZW4gb25lIGlzIHNldCAtLSBlbmZvcmNlIG11dHVhbCBleGNsdXNpdml0eS4gIEZpeGVzIHByb2JsZW0gbm90ZWQKKwkgIGJ5IEphbiBTY2hhbXBlcmEgPGphbi5zY2hhbXBlcmFAd2ViLmRlPgorCisJCQkJICAgMTEvMTkKKwkJCQkgICAtLS0tLQorbGliL3JlYWRsaW5lL3JsdHR5LmMKKwktIG1ha2Ugc3VyZSBwcmVwYXJlX3Rlcm1pbmFsX3NldHRpbmdzKCkgdGVzdHMgZm9yIHRoZSBwcmVzZW5jZSBvZgorCSAgRUNIT0NUTCBiZWZvcmUgdXNpbmcgaXQuICBGaXhlcyBidWcgcmVwb3J0ZWQgYnkgSm9hY2hpbSBTY2htaXR6CisJICA8c2NobWl0ekBocC5jb20+CisKK2NvbmZpZy10b3AuaAorCS0gbmV3IFdPUkRFWFBfT1BUSU9OIGRlZmluZSAob2ZmIGJ5IGRlZmF1bHQpCisKK3NoZWxsLmMKKwktIGRvbid0IGluY2x1ZGUgdGhlIC0td29yZGV4cCBvcHRpb24gb3IgdGhlIHN1cHBvcnRpbmcgZnVuY3Rpb24KKwkgIChydW5fd29yZGV4cCkgaWYgV09SREVYUF9PUFRJT04gaXMgbm90IGRlZmluZWQuICBTdWdnZXN0ZWQgYnkKKwkgIEFoYXJvbiBSb2JiaW5zIDxhcm5vbGRAc2tlZXZlLmNvbT4KKworZXhlY3V0ZV9jbWQuYworCS0gaW4gZXhlY3V0ZV9jb25kX25vZGUsIHR1cm4gb24gY29tc3ViX2lnbm9yZV9yZXR1cm4gaWYgdGhlIGZsYWdzCisJICBpbmRpY2F0ZSB3ZSdyZSBpZ25vcmluZyB0aGUgcmV0dXJuIHZhbHVlIGJlZm9yZSBjYWxsaW5nCisJICBjb25kX2V4cGFuZF93b3JkLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IEFuaXJiYW4gU2luaGEKKwkgIDxhc2luaGFAemV1Z21hc3lzdGVtcy5jb20+CisKKwkJCQkgICAxMS8yMAorCQkJCSAgIC0tLS0tCitsaWIvc2gvc25wcmludGYuYyxidWlsdGlucy9wcmludGYuZGVmCisJLSBjaGFuZ2UgY2hlY2sgZm9yIEhBVkVfQVNQUklOVEYgYW5kIEhBVkVfU05QUklOVEYgdG8gY2hlY2sgaWYgdmFsdWUKKwkgIGlzIDEgb3IgMCByYXRoZXIgdGhhbiB3aGV0aGVyIHRoZXkgYXJlIGRlZmluZWQgb3Igbm90LiAgVGhpcyBhbGxvd3MKKwkgIGEgdmFsdWUgb2YgMCB0byBlbmFibGUgZnVuY3Rpb24gcmVwbGFjZW1lbnQKKworY29uZmlndXJlLmluLGFjbG9jYWwubTQKKwktIG5ldyBhdXRvY29uZiBtYWNybywgQkFTSF9GVU5DX1NOUFJJTlRGLCBjaGVja3MgZm9yIHNucHJpbnRmIHByZXNlbnQKKwkgIGFuZCB3b3JraW5nIGFzIEM5OSBzcGVjaWZpZXMgd2l0aCBhIHplcm8gbGVuZ3RoIGFyZ3VtZW50LiAgSWRlYQorCSAgZnJvbSBHcmVnIFdvb2xlZGdlIDx3b29sZWRnQGVlZy5jY2Yub3JnPgorCS0gbmV3IG1hY3JvIEJBU0hfRlVOQ19WU05QUklOVEYsIGRvZXMgc2FtZSB0aGluZyBmb3IgdnNucHJpbnRmCisKKwkJCQkgICAxMS8yNQorCQkJCSAgIC0tLS0tCitzdWJzdC5jCisJLSBpbiBjb21tYW5kX3N1YnN0aXR1dGUsIG9ubHkgdGVsbCBwYXJzZV9hbmRfZXhlY3V0ZSB0byByZXNldCB0aGUgbGluZQorCSAgbnVtYmVyIGluIGFuIGludGVyYWN0aXZlIHNoZWxsIGlmIHNvdXJjZWxldmVsID09IDAgLS0gd2UnbGwgdXNlIHRoZQorCSAgbGluZSBudW1iZXJzIGZyb20gdGhlIHNvdXJjZWQgZmlsZQorCitleGVjdXRlX2NtZC5jCisJLSBpbiBleGVjdXRlX3NpbXBsZV9jb21tYW5kLCBvbmx5IHN1YnRyYWN0IGZ1bmN0aW9uX2xpbmVfbnVtYmVyIGZyb20KKwkgIGxpbmVfbnVtYmVyIGlmIHNvdXJjZWxldmVsID09IDAuICBJZiBzb3VyY2luZywgd2UnbGwgdXNlIHRoZSBsaW5lCisJICBudW1iZXJzIGZyb20gdGhlIHNvdXJjZWQgZmlsZS4gIEZpeGVzIGJ1ZyByZXBvcnRlZCBieSBIdWdvCisJICBNaWxkZW5iZXJnZXIgPEh1Z28uTWlsZGVuYmVyZ2VyQG5hbWlyLmRlPgorCitidWlsdGlucy9kZWNsYXJlLmRlZgorCS0gaW4gZGVjbGFyZV9pbnRlcm5hbCwgY2FsbCBiaW5kX2Fzc29jX3ZhcmlhYmxlIGluc3RlYWQgb2YKKwkgIGJpbmRfYXJyYXlfdmFyaWFibGUgaW4gdGhlIGNhc2Ugb2YgZGVjbGFyZSAtQSBmb289YmFyLiAgRml4ZXMgYnVnCisJICByZXBvcnRlZCBieSBCZXJuZCBFZ2dpbmsgPG1vbm9wZWRAc3VkcmFsYS5kZT4uCisKKwkJCQkgICAxMS8yNworCQkJCSAgIC0tLS0tCitsaWIvcmVhZGxpbmUvdXRpbC5jCisJLSBjaGFuZ2UgZGVjbGFyYXRpb24gZm9yIF9ybF93YWxwaGFiZXRpYyB0byB1c2UgcHJvdG90eXBlLCBhc3N1bWluZworCSAgdGhhdCBhbnkgc3lzdGVtIHdpdGggbXVsdGlieXRlIGNoYXJhY3RlcnMgaGFzIGEgY29tcGlsZXIgdGhhdCBjYW4KKwkgIGhhbmRsZSBwcm90b3R5cGVzLiAgRml4IGZvciBBSVggY29tcGlsYXRpb24gcHJvYmxlbSByZXBvcnRlZCBieQorCSAgTmljayBIaWxsbWFuIDxuaWNrX2hpbGxtYW5AbmV2ZXJib3guY29tPgorCisJCQkJICAgMTEvMjgKKwkJCQkgICAtLS0tLQorZXhlY3V0ZV9jbWQuYworCS0gbWFrZSBmdW5jbmVzdCBmaWxlLXNjb3BlIHN0YXRpYyBhbmQgdW53aW5kLXByb3RlY3QgaXRzIHZhbHVlIGluCisJICBleGVjdXRlX2Z1bmN0aW9uLCBzbyBpdCBjYW4gYmUgdXNlZCBhcyBhIHJlYWwgbWVhc3VyZSBvZiBmdW5jdGlvbgorCSAgY2FsbCBuZXN0aW5nCisKK2dlbmVyYWwuYworCS0gZml4IG9mZi1ieS1vbmUgZXJyb3IgaW4gdHJpbV9wYXRobmFtZSB0aGF0IGNhdXNlZCBpdCB0byBzaG9ydC1jaXJjdWl0CQorCSAgd2hlbiBQUk9NUFRfRElSVFJJTSA9PSBudW1iZXIgb2YgZGlyZWN0b3JpZXMgLSAxLiAgRml4ZXMgYnVnCisJICByZXBvcnRlZCBieSBEZW5uaXMgV2lsbGlhbXNvbiA8ZGVubmlzdHdpbGxpYW1zb25AZ21haWwuY29tPgorCisJCQkJICAgMTEvMjkKKwkJCQkgICAtLS0tLQoram9icy5jCisJLSB3aGVuIGZvcmsoKSByZXR1cm5zIC0xL0VBR0FJTiwgY2FsbCB3YWl0Y2hsZCgtMSwgMCkgc28gdGhlIHNoZWxsIGNhbgorCSAgcmVhcCBhbnkgZGVhZCBqb2JzIGJlZm9yZSB0cnlpbmcgZm9yayBhZ2Fpbi4gIEN1cnJlbnRseSBkaXNhYmxlZAorCSAgdW50aWwgYmFzaC00LjIgZGV2ZWxvcG1lbnQgc3RhcnRzCisKK2xpYi9yZWFkbGluZS9jb21wbGV0ZS5jCisJLSB3aGVuIGluY3JlbWVudGluZyBfcmxfaW50ZXJydXB0X2ltbWVkaWF0ZWx5LCBtYWtlIHN1cmUgaXQncyBncmVhdGVyCisJICB0aGFuIDAgYmVmb3JlIGRlY3JlbWVudGluZyBpdC4gIEluIHByYWN0aWNlLCBub3QgYSBwcm9ibGVtLCBidXQKKwkgIHRoZSByaWdodCB3YXkgdG8gZG8gaXQuICBTdWdnZXN0ZWQgYnkgSmFuIEtyYXRvY2h2aWwKKwkgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorCitsaWIvcmVhZGxpbmUvc2lnbmFscy5jCisJLSBtYWtlIHN1cmUgcmxfc2lnbmFsX2hhbmRsZXIgZG9lc24ndCBzZXQgcmxfY2F1Z2h0X3NpZ25hbCBpZgorCSAgX3JsX2ludGVycnVwdF9pbW1lZGlhdGVseSBpcyBzZXQsIHNvIFJMX0NIRUNLX1NJR05BTFMgZG9lc24ndAorCSAgY2F1c2UgaXQgdG8gYmUgcHJvY2Vzc2VkIHR3aWNlLiAgU3VnZ2VzdGVkIGJ5IEphbiBLcmF0b2NodmlsCisJICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKwktIGlmIHRoZSBjYWxsYmFjayBpbnRlcmZhY2UgaXMgYmVpbmcgdXNlZCwgdXNlIHRoZSBjb2RlIHBhdGggdGhhdAorCSAgaW1tZWRpYXRlbHkgaGFuZGxlcyBzaWduYWxzLiAgVGhpcyByZXN0b3JlcyB0aGUgcmVhZGxpbmUtNS4yCisJICBiZWhhdmlvci4gIEZpeGVzIEdEQiByZWFkbGluZSBidWcgcmVwb3J0ZWQgYnkgSmFuIEtyYXRvY2h2aWwKKwkgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorCisJCQkJICAgMTIvMTgKKwkJCQkgICAtLS0tLQorW2Jhc2gtNC4xLXJjMSByZWxlYXNlZF0KKworCQkJCSAgIDEyLzIyCisJCQkJICAgLS0tLS0KK2NvbmZpZy10b3AuaAorCS0gZG9uJ3QgaGF2ZSBTWVNMT0dfSElTVE9SWSBlbmFibGVkIGJ5IGRlZmF1bHQKKworbGliL3NoL01ha2VmaWxlLmluCisJLSBhZGQgZXhwbGljaXQgZGVwZW5kZW5jeSBvbiBwYXRobmFtZXMuaCBmb3IgcGFyYWxsZWwgbWFrZSBzdXBwb3J0CisKK2V4dGVybnMuaAorCS0gYWRkIGV4dGVybiBkZWNsYXJhdGlvbiBmb3IgeHRyYWNlX2ZkY2hrCisKK2xpYi9zaC9zbnByaW50Zi5jCisJLSBhZGQgbG9jYWwgcHJvdG90eXBlIGRlY2xhcmF0aW9ucyBmb3IgaXNpbmYsIGlzbmFuIGlmIHdlIGFyZSBwcm92aWRpbmcKKwkgIGxvY2FsIGRlZmluaXRpb25zCisKK2xpYi9zaC9mbnhmb3JtLmMKKwktIGFkZCBleHRlcm4gZGVjbGFyYXRpb24gZm9yIGdldF9sb2NhbGVfdmFyIGlmIEhBVkVfTE9DQUxFX0NIQVJTRVQgbm90CisJICBkZWZpbmVkCisKK2V4ZWN1dGVfY21kLmMKKwktIGRlZmluZSBORUVEX0ZQVVJHRV9ERUNMIHNvIHdlIHBpY2sgdXAgYW55IGV4dGVybiBkZWNsYXJhdGlvbiBmb3IKKwkgIGZwdXJnZSAoZS5nLiwgaWYgdGhlIHN5c3RlbSBkb2Vzbid0IHByb3ZpZGUgaXQpCisKK2J1aWx0aW5zL3Nob3B0LmRlZgorCS0gY29ycmVjdCBwcm90b3R5cGUgYW5kIGRlY2xhcmF0aW9uIGZvciBzZXRfc2hlbGxvcHRzX2FmdGVyX2NoYW5nZSBzbworCSAgaXQncyB0aGUgY29ycmVjdCB0eXBlIGZvciBzaG9wdF9zZXRfZnVuY190CisJLSBhZGQgbmV3IGZ1bmN0aW9uIHNob3B0X2VuYWJsZV9ob3N0bmFtZV9jb21wbGV0aW9uIHRoYXQgaXMgdGhlIGNvcnJlY3QKKwkgIHR5cGUgZm9yIHNob3B0X3NldF9mdW5jX3Q7IGp1c3QgY2FsbHMgZW5hYmxlX2hvc3RuYW1lX2NvbXBsZXRpb24gYW5kCisJICByZXR1cm5zIGl0cyByZXN1bHQKKworCQkJCSAgIDEyLzI2CisJCQkJICAgLS0tLS0KK2RvYy97YmFzaC4xLGJhc2hyZWYudGV4aX0KKwktIGFkZCBcRSBhbmQgXCIgZXNjYXBlIHNlcXVlbmNlcyB0byBBTlNJLUMgcXVvdGluZyBkZXNjcmlwdGlvbi4KKwkgIFN1Z2dlc3RlZCBieSBBaGFyb24gUm9iYmlucyA8YXJub2xkQHNrZWV2ZS5jb20+CisKKwkJCQkgICAxMi8yOQorCQkJCSAgIC0tLS0tCitkb2MvYmFzaC4xCisJLSBtYWtlIHN1cmUgc2hlbGwgYW5kIGVudmlyb25tZW50IHZhcmlhYmxlIG5hbWVzIGFyZSBhbHdheXMgaW4KKwkgIGBzbWFsbCBjYXBzJyBib2xkLiAgU3VnZ2VzdGVkIGJ5IEFoYXJvbiBSb2JiaW5zIDxhcm5vbGRAc2tlZXZlLmNvbT4KKworCQkJCSAgIDEyLzMwCisJCQkJICAgLS0tLS0KK3tleGVjdXRlX2NtZC5jLHBhcnNlLnksTWFrZWZpbGV9CisJLSBjaGFuZ2VzIGZvciBidWlsZGluZyBtaW5pbWFsIGNvbmZpZ3VyYXRpb24gZnJvbSBNYXR0aGlhcyBLbG9zZQorCSAgPGRva29AZGViaWFuLm9yZz4KKworW2Jhc2gtNC4xIGZyb3plbl0KZGlmZiAtLWdpdCBhL0lOU1RBTEwgYi9JTlNUQUxMCmluZGV4IGVlZTY0YmIuLmI2MjkzZmMgMTAwNjQ0Ci0tLSBhL0lOU1RBTEwKKysrIGIvSU5TVEFMTApAQCAtMzI2LDYgKzMyNiwxMCBAQAogICAgICBJbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBleHRlbmRlZCBwYXR0ZXJuIG1hdGNoaW5nIGZlYXR1cmVzCiAgICAgIGRlc2NyaWJlZCBhYm92ZSB1bmRlciAqbm90ZSBQYXR0ZXJuIE1hdGNoaW5nOjouCiAKK2AtLWVuYWJsZS1leHRlbmRlZC1nbG9iLWRlZmF1bHQnCisgICAgIFNldCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgRVhUR0xPQiBzaGVsbCBvcHRpb24gZGVzY3JpYmVkIGFib3ZlCisgICAgIHVuZGVyICpub3RlIFRoZSBTaG9wdCBCdWlsdGluOjogdG8gYmUgZW5hYmxlZC4KKwogYC0tZW5hYmxlLWhlbHAtYnVpbHRpbicKICAgICAgSW5jbHVkZSB0aGUgYGhlbHAnIGJ1aWx0aW4sIHdoaWNoIGRpc3BsYXlzIGhlbHAgb24gc2hlbGwgYnVpbHRpbnMKICAgICAgYW5kIHZhcmlhYmxlcyAoKm5vdGUgQmFzaCBCdWlsdGluczo6KS4KZGlmZiAtLWdpdCBhL01BTklGRVNUIGIvTUFOSUZFU1QKaW5kZXggNzM1MjcwYy4uZTQyZDdkNyAxMDA2NDQKLS0tIGEvTUFOSUZFU1QKKysrIGIvTUFOSUZFU1QKQEAgLTM4LDYgKzM4LDcgQEAKIHRlc3RzCQlkCiB0ZXN0cy9taXNjCWQKIEFCT1VULU5MUwlmCitDaGFuZ2VMb2cJcwlDV1JVL2NoYW5nZWxvZwogQ0hBTkdFUwkJZgogQ09NUEFUCQlmCiBDT1BZSU5HCQlmCkBAIC0yMTUsNiArMjE2LDcgQEAKIGluY2x1ZGUvb2NhY2hlLmgJZgogaW5jbHVkZS9wb3NpeGRpci5oCWYKIGluY2x1ZGUvcG9zaXhqbXAuaAlmCitpbmNsdWRlL3Bvc2l4c2VsZWN0LmgJZgogaW5jbHVkZS9wb3NpeHN0YXQuaAlmCiBpbmNsdWRlL3Bvc2l4dGltZS5oCWYKIGluY2x1ZGUvcG9zaXh3YWl0LmgJZgpAQCAtMzUxLDYgKzM1Myw3IEBACiBsaWIvcmVhZGxpbmUvY2hhcmRlZnMuaAlmCiBsaWIvcmVhZGxpbmUvcG9zaXhkaXIuaAlmCiBsaWIvcmVhZGxpbmUvcG9zaXhqbXAuaAlmCitsaWIvcmVhZGxpbmUvcG9zaXhzZWxlY3QuaAlmCiBsaWIvcmVhZGxpbmUvcG9zaXhzdGF0LmgJZgogbGliL3JlYWRsaW5lL2Fuc2lfc3RkbGliLmgJZgogbGliL3JlYWRsaW5lL3Jsc3RkYy5oCWYKQEAgLTM4NCw2ICszODcsNyBAQAogbGliL3NoL2ZtdHVsbG9uZy5jCWYKIGxpYi9zaC9mbXR1bG9uZy5jCWYKIGxpYi9zaC9mbXR1bWF4LmMJZgorbGliL3NoL2ZueGZvcm0uYwlmCiBsaWIvc2gvZnB1cmdlLmMJCWYKIGxpYi9zaC9nZXRjd2QuYwkJZgogbGliL3NoL2dldGVudi5jCQlmCkBAIC0zOTIsNiArMzk2LDggQEAKIGxpYi9zaC9pdG9zLmMJCWYKIGxpYi9zaC9tYWlsc3RhdC5jCWYKIGxpYi9zaC9tYWtlcGF0aC5jCWYKK2xpYi9zaC9tYnNjYXNlY21wLmMJZgorbGliL3NoL21ic2Noci5jCQlmCiBsaWIvc2gvbWJzY21wLmMJCWYKIGxpYi9zaC9tZW1zZXQuYwkJZgogbGliL3NoL21rdGltZS5jCQlmCkBAIC00MDgsOSArNDE0LDkgQEAKIGxpYi9zaC9zbnByaW50Zi5jCWYKIGxpYi9zaC9zcGVsbC5jCQlmCiBsaWIvc2gvc3RyY2FzZWNtcC5jCWYKK2xpYi9zaC9zdHJjYXNlc3RyLmMJZgogbGliL3NoL3N0cmVycm9yLmMJZgogbGliL3NoL3N0cmZ0aW1lLmMJZgotbGliL3NoL3N0cmluZGV4LmMJZgogbGliL3NoL3N0cmluZ2xpc3QuYwlmCiBsaWIvc2gvc3RyaW5ndmVjLmMJZgogbGliL3NoL3N0cm5sZW4uYwlmCkBAIC00MzIsNyArNDM4LDYgQEAKIGxpYi9zaC92cHJpbnQuYwkJZgogbGliL3NoL3djc2R1cC5jCQlmCiBsaWIvc2gvd2luc2l6ZS5jCWYKLWxpYi9zaC94c3RyY2hyLmMJZgogbGliL3NoL3pjYXRmZC5jCQlmCiBsaWIvc2gvemdldGxpbmUuYwlmCiBsaWIvc2gvem1hcGZkLmMJCWYKQEAgLTQ4MCw4ICs0ODUsMTIgQEAKIHBvL2VzLnBvCQlmCiBwby9ldC5nbW8JCWYKIHBvL2V0LnBvCQlmCitwby9maS5nbW8JCWYKK3BvL2ZpLnBvCQlmCiBwby9mci5nbW8JCWYKIHBvL2ZyLnBvCQlmCitwby9nYS5nbW8JCWYKK3BvL2dhLnBvCQlmCiBwby9odS5nbW8JCWYKIHBvL2h1LnBvCQlmCiBwby9pZC5nbW8JCWYKQEAgLTUyMSw3ICs1MzAsNiBAQAogQ1dSVS9taXNjL2hwdXgxMC1kbGZjbi5oCWYKIENXUlUvUExBVEZPUk1TCQlmCiBDV1JVL1JFQURNRQkJZgotQ1dSVS9hdWRpdC1wYXRjaAlmCiBDV1JVL2NoYW5nZWxvZwkJZgogQ1dSVS9zaC1yZWRpci1oYWNrCWYKIENXUlUvbWgtZm9sZGVyLWNvbXAJZgpAQCAtNzI0LDYgKzczMiw3IEBACiB0ZXN0cy9SRUFETUUJCWYKIHRlc3RzL0NPUFlSSUdIVAkJZgogdGVzdHMvYWxpYXMudGVzdHMJZgordGVzdHMvYWxpYXMxLnN1YglmCiB0ZXN0cy9hbGlhcy5yaWdodAlmCiB0ZXN0cy9hcHBlbmRvcC50ZXN0cwlmCiB0ZXN0cy9hcHBlbmRvcC5yaWdodAlmCkBAIC03NTIsNiArNzYxLDggQEAKIHRlc3RzL2Fzc29jMi5zdWIJZgogdGVzdHMvYXNzb2MzLnN1YglmCiB0ZXN0cy9hc3NvYzQuc3ViCWYKK3Rlc3RzL2Fzc29jNS5zdWIJZgordGVzdHMvYXNzb2M2LnN1YglmCiB0ZXN0cy9icmFjZXMudGVzdHMJZgogdGVzdHMvYnJhY2VzLnJpZ2h0CWYKIHRlc3RzL2J1aWx0aW5zLnRlc3RzCWYKQEAgLTc3MCwxMSArNzgxLDE0IEBACiB0ZXN0cy9jYXNlbW9kLnJpZ2h0CWYKIHRlc3RzL2NvbXN1Yi50ZXN0cwlmCiB0ZXN0cy9jb21zdWIucmlnaHQJZgordGVzdHMvY29tc3ViMS5zdWIJZgogdGVzdHMvY29tc3ViLWVvZi50ZXN0cwlmCiB0ZXN0cy9jb21zdWItZW9mMC5zdWIJZgogdGVzdHMvY29tc3ViLWVvZjEuc3ViCWYKIHRlc3RzL2NvbXN1Yi1lb2YyLnN1YglmCiB0ZXN0cy9jb21zdWItZW9mMy5zdWIJZgordGVzdHMvY29tc3ViLWVvZjQuc3ViCWYKK3Rlc3RzL2NvbXN1Yi1lb2Y1LnN1YglmCiB0ZXN0cy9jb21zdWItZW9mLnJpZ2h0CWYKIHRlc3RzL2NvbXN1Yi1wb3NpeC50ZXN0cwlmCiB0ZXN0cy9jb21zdWItcG9zaXgucmlnaHQJZgpAQCAtNzkxLDEyICs4MDUsMTYgQEAKIHRlc3RzL2RiZy1zdXBwb3J0LnRlc3RzCWYKIHRlc3RzL2RiZy1zdXBwb3J0Mi5yaWdodAlmCiB0ZXN0cy9kYmctc3VwcG9ydDIudGVzdHMJZgordGVzdHMvZGJnLXN1cHBvcnQzLnN1YglmCiB0ZXN0cy9kb2xsYXItYXQtc3RhcglmCiB0ZXN0cy9kb2xsYXItYXQxLnN1YglmCiB0ZXN0cy9kb2xsYXItYXQyLnN1YglmCit0ZXN0cy9kb2xsYXItYXQzLnN1YglmCiB0ZXN0cy9kb2xsYXItc3RhcjEuc3ViCWYKIHRlc3RzL2RvbGxhci1zdGFyMi5zdWIJZgogdGVzdHMvZG9sbGFyLXN0YXIzLnN1YglmCit0ZXN0cy9kb2xsYXItc3RhcjQuc3ViCWYKK3Rlc3RzL2RvbGxhci1zdGFyNS5zdWIJZgogdGVzdHMvZG9sbGFyLnJpZ2h0CWYKIHRlc3RzL2RzdGFjay50ZXN0cwlmCiB0ZXN0cy9kc3RhY2sucmlnaHQJZgpAQCAtODE4LDYgKzgzNiw3IEBACiB0ZXN0cy9leHAucmlnaHQJCWYKIHRlc3RzL2V4cDEuc3ViCQlmCiB0ZXN0cy9leHAyLnN1YgkJZgordGVzdHMvZXhwMy5zdWIJCWYKIHRlc3RzL2V4dGdsb2IudGVzdHMJZgogdGVzdHMvZXh0Z2xvYi5yaWdodAlmCiB0ZXN0cy9leHRnbG9iMS5zdWIJZgpAQCAtODM5LDkgKzg1OCwxMiBAQAogdGVzdHMvZ2V0b3B0czUuc3ViCWYKIHRlc3RzL2dldG9wdHM2LnN1YglmCiB0ZXN0cy9nZXRvcHRzNy5zdWIJZgotdGVzdHMvZ2xvYi10ZXN0CQlmCit0ZXN0cy9nbG9iLnRlc3RzCWYKIHRlc3RzL2dsb2IxLnN1YgkJZgogdGVzdHMvZ2xvYi5yaWdodAlmCit0ZXN0cy9nbG9ic3Rhci50ZXN0cwlmCit0ZXN0cy9nbG9ic3Rhci5yaWdodAlmCit0ZXN0cy9nbG9ic3RhcjEuc3ViCWYKIHRlc3RzL2hlcmVkb2MudGVzdHMJZgogdGVzdHMvaGVyZWRvYy5yaWdodAlmCiB0ZXN0cy9oZXJlZG9jMS5zdWIJZgpAQCAtODUzLDYgKzg3NSw3IEBACiB0ZXN0cy9oaXN0b3J5LnJpZ2h0CWYKIHRlc3RzL2hpc3RvcnkubGlzdAlmCTQ0NAogdGVzdHMvaGlzdG9yeTEuc3ViCWYKK3Rlc3RzL2hpc3RvcnkyLnN1YglmCiB0ZXN0cy9pZnMudGVzdHMJCWYKIHRlc3RzL2lmcy5yaWdodAkJZgogdGVzdHMvaWZzLXBvc2l4LnRlc3RzCWYKQEAgLTg5MCw2ICs5MTMsNyBAQAogdGVzdHMvbmV3LWV4cC5yaWdodAlmCiB0ZXN0cy9ucXVvdGUudGVzdHMJZgogdGVzdHMvbnF1b3RlLnJpZ2h0CWYKK3Rlc3RzL25xdW90ZTEuc3ViCWYKIHRlc3RzL25xdW90ZTEudGVzdHMJZgogdGVzdHMvbnF1b3RlMS5yaWdodAlmCiB0ZXN0cy9ucXVvdGUyLnRlc3RzCWYKQEAgLTkwOCw2ICs5MzIsNyBAQAogdGVzdHMvcHJlY2VkZW5jZQlmCiB0ZXN0cy9wcmludGYudGVzdHMJZgogdGVzdHMvcHJpbnRmLnJpZ2h0CWYKK3Rlc3RzL3ByaW50ZjIuc3ViCWYKIHRlc3RzL3F1b3RlLnRlc3RzCWYKIHRlc3RzL3F1b3RlLnJpZ2h0CWYKIHRlc3RzL3JlYWQudGVzdHMJZgpAQCAtOTY4LDYgKzk5Myw3IEBACiB0ZXN0cy9ydW4tZnVuYwkJZgogdGVzdHMvcnVuLWdldG9wdHMJZgogdGVzdHMvcnVuLWdsb2ItdGVzdAlmCit0ZXN0cy9ydW4tZ2xvYnN0YXIJZgogdGVzdHMvcnVuLWhlcmVkb2MJZgogdGVzdHMvcnVuLWhlcmVzdHIJZgogdGVzdHMvcnVuLWhpc3RleHBhbmQJZgpAQCAtMTAwNywxMSArMTAzMywxMyBAQAogdGVzdHMvcnVuLXRyYXAJCWYKIHRlc3RzL3J1bi10eXBlCQlmCiB0ZXN0cy9ydW4tdmFyZW52CWYKK3Rlc3RzL3J1bi12cmVkaXIJZgogdGVzdHMvc2V0LWUudGVzdHMJZgogdGVzdHMvc2V0LWUxLnN1YglmCiB0ZXN0cy9zZXQtZTIuc3ViCWYKIHRlc3RzL3NldC1lLnJpZ2h0CWYKIHRlc3RzL3NldC14LnRlc3RzCWYKK3Rlc3RzL3NldC14MS5zdWIJZgogdGVzdHMvc2V0LXgucmlnaHQJZgogdGVzdHMvc2hvcHQudGVzdHMJZgkKIHRlc3RzL3Nob3B0LnJpZ2h0CWYKQEAgLTEwMjgsMTUgKzEwNTYsMjQgQEAKIHRlc3RzL3RyYXAxLnN1YgkJZgk3NTUKIHRlc3RzL3RyYXAyLnN1YgkJZgk3NTUKIHRlc3RzL3RyYXAyYS5zdWIJZgk3NTUKK3Rlc3RzL3RyYXAzLnN1YgkJZgogdGVzdHMvdHlwZS50ZXN0cwlmCiB0ZXN0cy90eXBlLnJpZ2h0CWYKIHRlc3RzL3R5cGUxLnN1YgkJZgordGVzdHMvdHlwZTIuc3ViCQlmCiB0ZXN0cy92YXJlbnYucmlnaHQJZgogdGVzdHMvdmFyZW52LnNoCQlmCiB0ZXN0cy92YXJlbnYxLnN1YglmCiB0ZXN0cy92YXJlbnYyLnN1YglmCiB0ZXN0cy92ZXJzaW9uCQlmCiB0ZXN0cy92ZXJzaW9uLm1pbmkJZgordGVzdHMvdnJlZGlyLnRlc3RzCWYKK3Rlc3RzL3ZyZWRpci5yaWdodAlmCit0ZXN0cy92cmVkaXIxLnN1YglmCit0ZXN0cy92cmVkaXIyLnN1YglmCit0ZXN0cy92cmVkaXIzLnN1YglmCit0ZXN0cy92cmVkaXI0LnN1YglmCit0ZXN0cy92cmVkaXI1LnN1YglmCiB0ZXN0cy9taXNjL2Rldi10Y3AudGVzdHMJZgogdGVzdHMvbWlzYy9wZXJmLXNjcmlwdAlmCiB0ZXN0cy9taXNjL3BlcmZ0ZXN0CWYKZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluIGIvTWFrZWZpbGUuaW4KaW5kZXggYzBiZGFhOC4uZjAxZDQ5YyAxMDA2NDQKLS0tIGEvTWFrZWZpbGUuaW4KKysrIGIvTWFrZWZpbGUuaW4KQEAgLTEsNCArMSw0IEBACi0jIE1ha2VmaWxlIGZvciBiYXNoLTQuMCwgdmVyc2lvbiAzLjQKKyMgTWFrZWZpbGUgZm9yIGJhc2gtNC4wLCB2ZXJzaW9uIDMuNQogIwogIyBDb3B5cmlnaHQgKEMpIDE5OTYtMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIApAQCAtMTQ3LDcgKzE0Nyw3IEBACiBDQ0ZMQUdTX0ZPUl9CVUlMRCA9ICQoQkFTRV9DQ0ZMQUdTKSAkKENQUEZMQUdTX0ZPUl9CVUlMRCkgJChDRkxBR1NfRk9SX0JVSUxEKQogCiBMREZMQUdTID0gQExERkxBR1NAICQoU1RBVElDX0xEKSAkKExPQ0FMX0xERkxBR1MpICQoUFJPRklMRV9GTEFHUykgJChDRkxBR1MpCi1MREZMQUdTX0ZPUl9CVUlMRCA9ICQoTERGTEFHUykKK0xERkxBR1NfRk9SX0JVSUxEID0gQExERkxBR1NfRk9SX0JVSUxEQCAkKExPQ0FMX0xERkxBR1MpICQoQ0ZMQUdTX0ZPUl9CVUlMRCkKIAogSU5DTFVERVMgPSAtSS4gQFJMX0lOQ0xVREVAIC1JJChzcmNkaXIpIC1JJChCQVNISU5DRElSKSAtSSQoTElCU1JDKSAkKElOVExfSU5DKQogCkBAIC0xOTgsMTQgKzE5OCwxNCBAQAogCQkke1NIX0xJQlNSQ30vcGF0aHBoeXMuYyAke1NIX0xJQlNSQ30vc3RyaW5nbGlzdC5jIFwKIAkJJHtTSF9MSUJTUkN9L3N0cmluZ3ZlYy5jICR7U0hfTElCU1JDfS90bXBmaWxlLmMgXAogCQkke1NIX0xJQlNSQ30vc3BlbGwuYyAke1NIX0xJQlNSQ30vc3RydHJhbnMuYyBcCi0JCSR7U0hfTElCU1JDfS9zdHJpbmRleC5jICR7U0hfTElCU1JDfS9zaHF1b3RlLmMgXAorCQkke1NIX0xJQlNSQ30vc3RyY2FzZXN0ci5jICR7U0hfTElCU1JDfS9zaHF1b3RlLmMgXAogCQkke1NIX0xJQlNSQ30vc25wcmludGYuYyAke1NIX0xJQlNSQ30vbWFpbHN0YXQuYyBcCiAJCSR7U0hfTElCU1JDfS9mbXR1bG9uZy5jICR7U0hfTElCU1JDfS9mbXR1bGxvbmcuYyBcCiAJCSR7U0hfTElCU1JDfS9zdHJ0b2xsLmMgJHtTSF9MSUJTUkN9L3N0cnRvdWxsLmMgXAogCQkke1NIX0xJQlNSQ30vc3RydG9pbWF4LmMgJHtTSF9MSUJTUkN9L3N0cnRvdW1heC5jIFwKIAkJJHtTSF9MSUJTUkN9L2ZtdHVtYXguYyAke1NIX0xJQlNSQ30vbmV0Y29ubi5jIFwKIAkJJHtTSF9MSUJTUkN9L21rdGltZS5jICR7U0hfTElCU1JDfS9zdHJmdGltZS5jIFwKLQkJJHtTSF9MSUJTUkN9L21lbXNldC5jICR7U0hfTElCU1JDfS94c3RyY2hyLmMgXAorCQkke1NIX0xJQlNSQ30vbWVtc2V0LmMgJHtTSF9MSUJTUkN9L21ic2Noci5jIFwKIAkJJHtTSF9MSUJTUkN9L3pjYXRmZC5jICR7U0hfTElCU1JDfS9zaG1hdGNoLmMgXAogCQkke1NIX0xJQlNSQ30vc3Rybmxlbi5jICR7U0hfTElCU1JDfS93aW5zaXplLmMgXAogCQkke1NIX0xJQlNSQ30vZWFjY2Vzcy5jICR7U0hfTElCU1JDfS93Y3NkdXAuYyBcCkBAIC0yMTMsNyArMjEzLDggQEAKIAkJJHtTSF9MSUJTUkN9L3pnZXRsaW5lLmMgJHtTSF9MSUJTUkN9L21ic2NtcC5jIFwKIAkJJHtTSF9MSUJTUkN9L2Nhc2Vtb2QuYyAke1NIX0xJQlNSQ30vdWNvbnZlcnQuYyBcCiAJCSR7U0hfTElCU1JDfS91ZnVuY3MuYyAke1NIX0xJQlNSQ30vZmRwcmludGYuYyBcCi0JCSR7U0hfTElCU1JDfS9pbnB1dF9hdmFpbC5jCisJCSR7U0hfTElCU1JDfS9pbnB1dF9hdmFpbC5jICR7U0hfTElCU1JDfS9tYnNjYXNlY21wLmMgXAorCQkke1NIX0xJQlNSQ30vZm54Zm9ybS5jCiAKIFNITElCX0xJQiA9IC1sc2gKIFNITElCX0xJQk5BTUUgPSBsaWJzaC5hCkBAIC0zNDcsNiArMzQ4LDkgQEAKIAogTElCSU5UTF9IID0gQExJQklOVExfSEAKIAorIyBsaWJpY29udgorTElCSUNPTlYgPSBATElCSUNPTlZACisKICMgdGVzdHMKIExJQklOVEwgPSBATElCSU5UTEAKIExUTElCSU5UTCA9IEBMVExJQklOVExACkBAIC0zOTMsMTAgKzM5NywxMCBAQAogCQkgJChCQVNISU5DRElSKS9zaHR0eS5oICQoQkFTSElOQ0RJUikvdHlwZW1heC5oIFwKIAkJICQoQkFTSElOQ0RJUikvb2NhY2hlLmgKIAotTElCUkFSSUVTID0gJChTSExJQl9MSUIpICQoUkVBRExJTkVfTElCKSAkKEhJU1RPUllfTElCKSAkKFRFUk1DQVBfTElCKSAkKEdMT0JfTElCKSBcCi0JICAgICQoVElMREVfTElCKSAkKE1BTExPQ19MSUIpICQoSU5UTF9MSUIpICQoTE9DQUxfTElCUykKK0xJQlJBUklFUyA9ICQoR0xPQl9MSUIpICQoU0hMSUJfTElCKSAkKFJFQURMSU5FX0xJQikgJChISVNUT1JZX0xJQikgJChURVJNQ0FQX0xJQikgXAorCSAgICAkKFRJTERFX0xJQikgJChNQUxMT0NfTElCKSAkKElOVExfTElCKSAkKExJQklDT05WKSAkKExPQ0FMX0xJQlMpCiAKLUxJQkRFUCA9ICQoU0hMSUJfREVQKSAkKElOVExfREVQKSAkKFJFQURMSU5FX0RFUCkgJChISVNUT1JZX0RFUCkgJChURVJNQ0FQX0RFUCkgJChHTE9CX0RFUCkgXAorTElCREVQID0gJChHTE9CX0RFUCkgJChTSExJQl9ERVApICQoSU5UTF9ERVApICQoUkVBRExJTkVfREVQKSAkKEhJU1RPUllfREVQKSAkKFRFUk1DQVBfREVQKSBcCiAJICQoVElMREVfREVQKSAkKE1BTExPQ19ERVApCiAKIExJQlJBUllfTERGTEFHUyA9ICQoUkVBRExJTkVfTERGTEFHUykgJChISVNUT1JZX0xERkxBR1MpICQoR0xPQl9MREZMQUdTKSBcCkBAIC01OTUsNyArNTk5LDcgQEAKIAlAKCB7IHRlc3QgIiR7UkxfTElCRElSfSIgPSAiJHtsaWJkaXJ9IiAmJiBleGl0IDA7IH0gfHwgXAogCQljZCAke1JMX0xJQkRJUn0gJiYgJChNQUtFKSAkKE1GTEFHUykgbGlicmVhZGxpbmUuYSkgfHwgZXhpdCAxCiAKLSQoSElTVE9SWV9MSUJSQVJZKTogY29uZmlnLmggJChISVNUT1JZX1NPVVJDRSkKKyQoSElTVE9SWV9MSUJSQVJZKTogY29uZmlnLmggJChISVNUT1JZX1NPVVJDRSkgJChSRUFETElORV9ERVApCiAJQGVjaG8gbWFraW5nICRAIGluICR7SElTVF9MSUJESVJ9CiAJQCggeyB0ZXN0ICIke0hJU1RfTElCRElSfSIgPSAiJHtsaWJkaXJ9IiAmJiBleGl0IDA7IH0gfHwgXAogCQljZCAke0hJU1RfTElCRElSfSAmJiAkKE1BS0UpICQoTUZMQUdTKSBsaWJoaXN0b3J5LmEpIHx8IGV4aXQgMQpAQCAtODYwLDYgKzg2NCw3IEBACiAKICMgRmlsZXMgdGhhdCBkZXBlbmQgb24gdGhlIGRlZmluaXRpb25zIGluIGNvbmZpZy10b3AuaCwgd2hpY2ggYXJlIG5vdCBtZWFudAogIyB0byBiZSBjaGFuZ2VkCitiYXNoaGlzdC5vOiBjb25maWctdG9wLmgKIHNoZWxsLm86IGNvbmZpZy10b3AuaAogaW5wdXQubzogY29uZmlnLXRvcC5oCiB5LnRhYi5vOiBjb25maWctdG9wLmgKQEAgLTkzNSw3ICs5NDAsNyBAQAogaGFzaGNtZC5vOiBjb25maWcuaCAke0JBU0hJTkNESVJ9L3Bvc2l4c3RhdC5oIGJhc2h0eXBlcy5oIGJhc2hhbnNpLmggJHtCQVNISU5DRElSfS9hbnNpX3N0ZGxpYi5oCiBoYXNoY21kLm86IHNoZWxsLmggc3ludGF4LmggY29uZmlnLmggYmFzaGptcC5oICR7QkFTSElOQ0RJUn0vcG9zaXhqbXAuaCBjb21tYW5kLmggJHtCQVNISU5DRElSfS9zdGRjLmggZXJyb3IuaAogaGFzaGNtZC5vOiBnZW5lcmFsLmggeG1hbGxvYy5oIGJhc2h0eXBlcy5oIHZhcmlhYmxlcy5oIGFycmF5ZnVuYy5oIGNvbmZ0eXBlcy5oIGFycmF5LmggaGFzaGNtZC5oCi1oYXNoY21kLm86IGV4ZWN1dGVfY21kLmggZmluZGNtZC5oICR7QkFTSElOQ0RJUn0vc3RkYy5oIGhhc2hsaWIuaAoraGFzaGNtZC5vOiBleGVjdXRlX2NtZC5oIGZpbmRjbWQuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaCBwYXRobmFtZXMuaCBoYXNobGliLmgKIGhhc2hsaWIubzogY29uZmlnLmggYmFzaGFuc2kuaCAke0JBU0hJTkNESVJ9L2Fuc2lfc3RkbGliLmgKIGhhc2hsaWIubzogc2hlbGwuaCBzeW50YXguaCBjb25maWcuaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIGNvbW1hbmQuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaCBlcnJvci5oCiBoYXNobGliLm86IGdlbmVyYWwuaCB4bWFsbG9jLmggYmFzaHR5cGVzLmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggYXJyYXkuaCBoYXNobGliLmgKQEAgLTk0Myw2ICs5NDgsNyBAQAogaGFzaGxpYi5vOiBtYWtlX2NtZC5oIHN1YnN0Lmggc2lnLmggcGF0aG5hbWVzLmggZXh0ZXJucy5oIAogaW5wdXQubzogY29uZmlnLmggYmFzaHR5cGVzLmggJHtCQVNISU5DRElSfS9maWxlY250bC5oICR7QkFTSElOQ0RJUn0vcG9zaXhzdGF0LmggYmFzaGFuc2kuaCAke0JBU0hJTkNESVJ9L2Fuc2lfc3RkbGliLmgKIGlucHV0Lm86IGNvbW1hbmQuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaCBnZW5lcmFsLmggeG1hbGxvYy5oIGlucHV0LmggZXJyb3IuaCBleHRlcm5zLmgKK2lucHV0Lm86IHF1aXQuaAogbGlzdC5vOiBzaGVsbC5oIHN5bnRheC5oIGNvbmZpZy5oIGJhc2hqbXAuaCAke0JBU0hJTkNESVJ9L3Bvc2l4am1wLmggY29tbWFuZC5oICR7QkFTSElOQ0RJUn0vc3RkYy5oIGVycm9yLmgKIGxpc3QubzogZ2VuZXJhbC5oIHhtYWxsb2MuaCBiYXNodHlwZXMuaCB2YXJpYWJsZXMuaCBhcnJheWZ1bmMuaCBjb25mdHlwZXMuaCBhcnJheS5oIGhhc2hsaWIuaAogbGlzdC5vOiBxdWl0LmggJHtCQVNISU5DRElSfS9tYXhwYXRoLmggdW53aW5kX3Byb3QuaCBkaXNwb3NlX2NtZC5oCkBAIC0xMDA1LDcgKzEwMTEsNyBAQAogc2lnLm86IHF1aXQuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaCB1bndpbmRfcHJvdC5oIGRpc3Bvc2VfY21kLmgKIHNpZy5vOiBtYWtlX2NtZC5oIHN1YnN0Lmggc2lnLmggcGF0aG5hbWVzLmggZXh0ZXJucy5oIAogc2lnLm86IGpvYnMuaCBzaWdsaXN0LmggdHJhcC5oICQoREVGU1JDKS9jb21tb24uaCBiYXNobGluZS5oIGJhc2hoaXN0LmgKLXNpZ2xpc3QubzogY29uZmlnLmggYmFzaHR5cGVzLmggc2lnbGlzdC5oIHRyYXAuaAorc2lnbGlzdC5vOiBjb25maWcuaCBiYXNodHlwZXMuaCBzaWdsaXN0LmggdHJhcC5oIAogc3RyaW5nbGliLm86IGJhc2h0eXBlcy5oICR7QkFTSElOQ0RJUn0vY2hhcnR5cGVzLmgKIHN0cmluZ2xpYi5vOiBzaGVsbC5oIHN5bnRheC5oIGNvbmZpZy5oIGJhc2hqbXAuaCAke0JBU0hJTkNESVJ9L3Bvc2l4am1wLmggY29tbWFuZC5oICR7QkFTSElOQ0RJUn0vc3RkYy5oIGVycm9yLmgKIHN0cmluZ2xpYi5vOiBnZW5lcmFsLmggeG1hbGxvYy5oIGJhc2h0eXBlcy5oIHZhcmlhYmxlcy5oIGFycmF5ZnVuYy5oIGNvbmZ0eXBlcy5oIGFycmF5LmggaGFzaGxpYi5oCkBAIC0xMDIyLDYgKzEwMjgsNyBAQAogc3Vic3QubzogYmFzaGxpbmUuaCBiYXNoaGlzdC5oICR7R0xPQl9MSUJTUkN9L3N0cm1hdGNoLmgKIHN1YnN0Lm86ICR7QkFTSElOQ0RJUn0vY2hhcnR5cGVzLmgKIHN1YnN0Lm86ICR7QkFTSElOQ0RJUn0vc2htYnV0aWwuaAorc3Vic3QubzogJHtERUZESVJ9L2J1aWx0ZXh0LmgKIHRlc3QubzogYmFzaHR5cGVzLmggJHtCQVNISU5DRElSfS9wb3NpeHN0YXQuaCAke0JBU0hJTkNESVJ9L2ZpbGVjbnRsLmgKIHRlc3Qubzogc2hlbGwuaCBzeW50YXguaCBjb25maWcuaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIGNvbW1hbmQuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaCBlcnJvci5oCiB0ZXN0Lm86IGdlbmVyYWwuaCB4bWFsbG9jLmggYmFzaHR5cGVzLmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggYXJyYXkuaCBoYXNobGliLmgKQEAgLTEwMzQsNyArMTA0MSw3IEBACiB0cmFwLm86IHF1aXQuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaCB1bndpbmRfcHJvdC5oIGRpc3Bvc2VfY21kLmgKIHRyYXAubzogbWFrZV9jbWQuaCBzdWJzdC5oIHNpZy5oIHBhdGhuYW1lcy5oIGV4dGVybnMuaCAKIHRyYXAubzogc2lnbmFtZXMuaCAkKERFRlNSQykvY29tbW9uLmgKLXRyYXAubzogJHtERUZESVJ9L2J1aWx0ZXh0LmgKK3RyYXAubzogJHtERUZESVJ9L2J1aWx0ZXh0Lmggam9icy5oCiB1bndpbmRfcHJvdC5vOiBjb25maWcuaCBiYXNodHlwZXMuaCBiYXNoYW5zaS5oICR7QkFTSElOQ0RJUn0vYW5zaV9zdGRsaWIuaCBjb21tYW5kLmggJHtCQVNISU5DRElSfS9zdGRjLmgKIHVud2luZF9wcm90Lm86IGdlbmVyYWwuaCB4bWFsbG9jLmggdW53aW5kX3Byb3QuaCBxdWl0Lmggc2lnLmgKIHZhcmlhYmxlcy5vOiBjb25maWcuaCBiYXNodHlwZXMuaCAke0JBU0hJTkNESVJ9L3Bvc2l4c3RhdC5oIGJhc2hhbnNpLmggJHtCQVNISU5DRElSfS9hbnNpX3N0ZGxpYi5oCkBAIC0xMDQ1LDcgKzEwNTIsNyBAQAogdmFyaWFibGVzLm86IGZsYWdzLmggZXhlY3V0ZV9jbWQuaCBtYWlsY2hlY2suaCBpbnB1dC5oICQoREVGU1JDKS9jb21tb24uaAogdmFyaWFibGVzLm86IGZpbmRjbWQuaCBiYXNoaGlzdC5oIGhhc2hjbWQuaCBwYXRoZXhwLmgKIHZhcmlhYmxlcy5vOiBwY29tcGxldGUuaCAgJHtCQVNISU5DRElSfS9jaGFydHlwZXMuaAotdmFyaWFibGVzLm86ICR7QkFTSElOQ0RJUn0vcG9zaXh0aW1lLmgKK3ZhcmlhYmxlcy5vOiAke0JBU0hJTkNESVJ9L3Bvc2l4dGltZS5oIGFzc29jLmgKIHZlcnNpb24ubzogIGNvbmZ0eXBlcy5oIHBhdGNobGV2ZWwuaCB2ZXJzaW9uLmgKIHhtYWxsb2MubzogY29uZmlnLmggYmFzaHR5cGVzLmggJHtCQVNISU5DRElSfS9hbnNpX3N0ZGxpYi5oIGVycm9yLmgKIApAQCAtMTA1Niw3ICsxMDYzLDcgQEAKIGpvYnMubzogc2hlbGwuaCBzeW50YXguaCBjb25maWcuaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIGNvbW1hbmQuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaCBlcnJvci5oCiBqb2JzLm86IGdlbmVyYWwuaCB4bWFsbG9jLmggYmFzaHR5cGVzLmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggYXJyYXkuaCBoYXNobGliLmgKIGpvYnMubzogcXVpdC5oICR7QkFTSElOQ0RJUn0vbWF4cGF0aC5oIHVud2luZF9wcm90LmggZGlzcG9zZV9jbWQuaAotam9icy5vOiBtYWtlX2NtZC5oIHN1YnN0Lmggc2lnLmggcGF0aG5hbWVzLmggZXh0ZXJucy5oIAoram9icy5vOiBleGVjdXRlX2NtZC5oIG1ha2VfY21kLmggc3Vic3QuaCBzaWcuaCBwYXRobmFtZXMuaCBleHRlcm5zLmggCiBqb2JzLm86IGpvYnMuaCBmbGFncy5oICQoREVGU1JDKS9jb21tb24uaCAkKERFRkRJUikvYnVpbHRleHQuaAogam9icy5vOiAke0JBU0hJTkNESVJ9L3Bvc2l4d2FpdC5oICR7QkFTSElOQ0RJUn0vdW5pb253YWl0LmgKIGpvYnMubzogJHtCQVNISU5DRElSfS9wb3NpeHRpbWUuaApAQCAtMTA3Nyw3ICsxMDg0LDcgQEAKIGFycmF5ZnVuYy5vOiBzaGVsbC5oIHN5bnRheC5oIGNvbmZpZy5oIGJhc2hqbXAuaCAke0JBU0hJTkNESVJ9L3Bvc2l4am1wLmggY29tbWFuZC5oICR7QkFTSElOQ0RJUn0vc3RkYy5oIGVycm9yLmgKIGFycmF5ZnVuYy5vOiBnZW5lcmFsLmggeG1hbGxvYy5oIGJhc2h0eXBlcy5oIHZhcmlhYmxlcy5oIGFycmF5ZnVuYy5oIGNvbmZ0eXBlcy5oIGFycmF5LmggaGFzaGxpYi5oCiBhcnJheWZ1bmMubzogcXVpdC5oICR7QkFTSElOQ0RJUn0vbWF4cGF0aC5oIHVud2luZF9wcm90LmggZGlzcG9zZV9jbWQuaAotYXJyYXlmdW5jLm86IG1ha2VfY21kLmggc3Vic3QuaCBzaWcuaCBwYXRobmFtZXMuaCBleHRlcm5zLmggCithcnJheWZ1bmMubzogbWFrZV9jbWQuaCBzdWJzdC5oIHNpZy5oIHBhdGhuYW1lcy5oIGV4dGVybnMuaCBwYXRoZXhwLmgKIGFycmF5ZnVuYy5vOiAkKERFRlNSQykvY29tbW9uLmgKIGFycmF5ZnVuYy5vOiAke0JBU0hJTkNESVJ9L3NobWJ1dGlsLmgKIGFzc29jLm86IGNvbmZpZy5oIGJhc2hhbnNpLmggJHtCQVNISU5DRElSfS9hbnNpX3N0ZGxpYi5oCkBAIC0xMTMwLDEzICsxMTM3LDEyIEBACiBiYXNobGluZS5vOiAkKERFRlNSQykvY29tbW9uLmggJChHTE9CX0xJQlNSQykvZ2xvYi5oIGFsaWFzLmgKIGJhc2hsaW5lLm86IHBjb21wbGV0ZS5oICR7QkFTSElOQ0RJUn0vY2hhcnR5cGVzLmggaW5wdXQuaAogYnJhY2Vjb21wLm86IGNvbmZpZy5oIGJhc2hhbnNpLmggJHtCQVNISU5DRElSfS9hbnNpX3N0ZGxpYi5oCi1icmFjZWNvbXAubzogc2hlbGwuaCBzeW50YXguaCBjb25maWcuaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIGNvbW1hbmQuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaCBlcnJvci5oCi1icmFjZWNvbXAubzogZ2VuZXJhbC5oIHhtYWxsb2MuaCBiYXNodHlwZXMuaCB2YXJpYWJsZXMuaCBhcnJheWZ1bmMuaCBjb25mdHlwZXMuaCBhcnJheS5oIGhhc2hsaWIuaAorYnJhY2Vjb21wLm86IHNoZWxsLmggc3ludGF4LmggY29uZmlnLmggYmFzaGptcC5oICR7QkFTSElOQ0RJUn0vcG9zaXhqbXAuaAorYnJhY2Vjb21wLm86IGNvbW1hbmQuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaCBlcnJvci5oCiticmFjZWNvbXAubzogZ2VuZXJhbC5oIHhtYWxsb2MuaCBiYXNodHlwZXMuaCB2YXJpYWJsZXMuaCBhcnJheWZ1bmMuaCBjb25mdHlwZXMuaAorYnJhY2Vjb21wLm86IGFycmF5LmggaGFzaGxpYi5oIGFsaWFzLmggYnVpbHRpbnMuaCAKIGJyYWNlY29tcC5vOiBxdWl0LmggJHtCQVNISU5DRElSfS9tYXhwYXRoLmggdW53aW5kX3Byb3QuaCBkaXNwb3NlX2NtZC5oCiBicmFjZWNvbXAubzogbWFrZV9jbWQuaCBzdWJzdC5oIHNpZy5oIHBhdGhuYW1lcy5oIGV4dGVybnMuaCAKLWJyYWNlY29tcC5vOiBzaGVsbC5oIHN5bnRheC5oIGJhc2hqbXAuaCAke0JBU0hJTkNESVJ9L3Bvc2l4am1wLmggc2lnLmggY29tbWFuZC5oIGhhc2hsaWIuaCBidWlsdGlucy5oIGdlbmVyYWwuaCB4bWFsbG9jLmgKLWJyYWNlY29tcC5vOiBxdWl0LmggYWxpYXMuaCBjb25maWcuaCAgdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmgKLWJyYWNlY29tcC5vOiBkaXNwb3NlX2NtZC5oIG1ha2VfY21kLmggc3Vic3QuaCBleHRlcm5zLmggJHtCQVNISU5DRElSfS9zdGRjLmgKIAogIyBsaWJyYXJ5IGRlcGVuZGVuY2llcwogCkBAIC0xMjI0LDcgKzEyMzAsNyBAQAogYnVpbHRpbnMvZXZhbHN0cmluZy5vOiBxdWl0LmggdW53aW5kX3Byb3QuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaCBqb2JzLmggYnVpbHRpbnMuaAogYnVpbHRpbnMvZXZhbHN0cmluZy5vOiBkaXNwb3NlX2NtZC5oIG1ha2VfY21kLmggc3Vic3QuaCBleHRlcm5zLmggCiBidWlsdGlucy9ldmFsc3RyaW5nLm86IGpvYnMuaCBidWlsdGlucy5oIGZsYWdzLmggaW5wdXQuaCBleGVjdXRlX2NtZC5oCi1idWlsdGlucy9ldmFsc3RyaW5nLm86IGJhc2hoaXN0LmggJChERUZTUkMpL2NvbW1vbi5oCitidWlsdGlucy9ldmFsc3RyaW5nLm86IGJhc2hoaXN0LmggJChERUZTUkMpL2NvbW1vbi5oIHBhdGhuYW1lcy5oCiBidWlsdGlucy9nZXRvcHQubzogY29uZmlnLmggJHtCQVNISU5DRElSfS9tZW1hbGxvYy5oCiBidWlsdGlucy9nZXRvcHQubzogc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggY29tbWFuZC5oIGdlbmVyYWwuaCB4bWFsbG9jLmggZXJyb3IuaAogYnVpbHRpbnMvZ2V0b3B0Lm86IHZhcmlhYmxlcy5oIGFycmF5ZnVuYy5oIGNvbmZ0eXBlcy5oIHF1aXQuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaCB1bndpbmRfcHJvdC5oIGRpc3Bvc2VfY21kLmgKQEAgLTEyMzUsODAgKzEyNDEsODkgQEAKIAogIyBidWlsdGluIGRlZiBmaWxlcwogYnVpbHRpbnMvYWxpYXMubzogY29tbWFuZC5oIGNvbmZpZy5oICR7QkFTSElOQ0RJUn0vbWVtYWxsb2MuaCBlcnJvci5oIGdlbmVyYWwuaCB4bWFsbG9jLmggJHtCQVNISU5DRElSfS9tYXhwYXRoLmgKLWJ1aWx0aW5zL2FsaWFzLm86IHF1aXQuaCAkKERFRlNSQykvY29tbW9uLmgKK2J1aWx0aW5zL2FsaWFzLm86IHF1aXQuaCAkKERFRlNSQykvY29tbW9uLmggcGF0aG5hbWVzLmgKIGJ1aWx0aW5zL2FsaWFzLm86IHNoZWxsLmggc3ludGF4LmggYmFzaGptcC5oICR7QkFTSElOQ0RJUn0vcG9zaXhqbXAuaCBzaWcuaCBjb21tYW5kLmggJHtCQVNISU5DRElSfS9zdGRjLmggdW53aW5kX3Byb3QuaAogYnVpbHRpbnMvYWxpYXMubzogZGlzcG9zZV9jbWQuaCBtYWtlX2NtZC5oIHN1YnN0LmggZXh0ZXJucy5oIHZhcmlhYmxlcy5oIGFycmF5ZnVuYy5oIGNvbmZ0eXBlcy5oIAogYnVpbHRpbnMvYmluZC5vOiBjb21tYW5kLmggY29uZmlnLmggJHtCQVNISU5DRElSfS9tZW1hbGxvYy5oIGVycm9yLmggZ2VuZXJhbC5oIHhtYWxsb2MuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaAogYnVpbHRpbnMvYmluZC5vOiBkaXNwb3NlX2NtZC5oIG1ha2VfY21kLmggc3Vic3QuaCBleHRlcm5zLmggJHtCQVNISU5DRElSfS9zdGRjLmgKIGJ1aWx0aW5zL2JpbmQubzogc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oIHVud2luZF9wcm90LmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggcXVpdC5oCi1idWlsdGlucy9iaW5kLm86ICQoREVGU1JDKS9iYXNoZ2V0b3B0LmgKK2J1aWx0aW5zL2JpbmQubzogJChERUZTUkMpL2Jhc2hnZXRvcHQuaCBwYXRobmFtZXMuaAogYnVpbHRpbnMvYnJlYWsubzogY29tbWFuZC5oIGNvbmZpZy5oICR7QkFTSElOQ0RJUn0vbWVtYWxsb2MuaCBlcnJvci5oIGdlbmVyYWwuaCB4bWFsbG9jLmggJHtCQVNISU5DRElSfS9tYXhwYXRoLmgKIGJ1aWx0aW5zL2JyZWFrLm86IHNoZWxsLmggc3ludGF4LmggYmFzaGptcC5oICR7QkFTSElOQ0RJUn0vcG9zaXhqbXAuaCBzaWcuaCB1bndpbmRfcHJvdC5oIHZhcmlhYmxlcy5oIGFycmF5ZnVuYy5oIGNvbmZ0eXBlcy5oIHF1aXQuaAogYnVpbHRpbnMvYnJlYWsubzogZGlzcG9zZV9jbWQuaCBtYWtlX2NtZC5oIHN1YnN0LmggZXh0ZXJucy5oICR7QkFTSElOQ0RJUn0vc3RkYy5oCitidWlsdGlucy9icmVhay5vOiBwYXRobmFtZXMuaAogYnVpbHRpbnMvYnVpbHRpbi5vOiBjb21tYW5kLmggY29uZmlnLmggJHtCQVNISU5DRElSfS9tZW1hbGxvYy5oIGVycm9yLmggZ2VuZXJhbC5oIHhtYWxsb2MuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaAogYnVpbHRpbnMvYnVpbHRpbi5vOiBxdWl0LmggJChERUZTUkMpL2NvbW1vbi5oICQoREVGU1JDKS9iYXNoZ2V0b3B0LmgKIGJ1aWx0aW5zL2J1aWx0aW4ubzogc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oIHVud2luZF9wcm90LmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggCiBidWlsdGlucy9idWlsdGluLm86IGRpc3Bvc2VfY21kLmggbWFrZV9jbWQuaCBzdWJzdC5oIGV4dGVybnMuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaAorYnVpbHRpbnMvYnVpbHRpbi5vOiBwYXRobmFtZXMuaAogYnVpbHRpbnMvY2FsbGVyLm86IGNvbW1hbmQuaCBjb25maWcuaCAke0JBU0hJTkNESVJ9L21lbWFsbG9jLmggZXJyb3IuaCBnZW5lcmFsLmggeG1hbGxvYy5oICR7QkFTSElOQ0RJUn0vbWF4cGF0aC5oCiBidWlsdGlucy9jYWxsZXIubzogc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oIHVud2luZF9wcm90LmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmgKIGJ1aWx0aW5zL2NhbGxlci5vOiBkaXNwb3NlX2NtZC5oIG1ha2VfY21kLmggc3Vic3QuaCBleHRlcm5zLmggJHtCQVNISU5DRElSfS9zdGRjLmgKIGJ1aWx0aW5zL2NhbGxlci5vOiAkKERFRlNSQykvY29tbW9uLmggcXVpdC5oIAogYnVpbHRpbnMvY2FsbGVyLm86ICR7QkFTSElOQ0RJUn0vY2hhcnR5cGVzLmggYmFzaHR5cGVzLmgKLWJ1aWx0aW5zL2NhbGxlci5vOiAke0RFRkRJUn0vYnVpbHRleHQuaAorYnVpbHRpbnMvY2FsbGVyLm86ICR7REVGRElSfS9idWlsdGV4dC5oIHBhdGhuYW1lcy5oCiBidWlsdGlucy9jZC5vOiBjb21tYW5kLmggY29uZmlnLmggJHtCQVNISU5DRElSfS9tZW1hbGxvYy5oIGVycm9yLmggZ2VuZXJhbC5oIHhtYWxsb2MuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaAogYnVpbHRpbnMvY2Qubzogc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oIHVud2luZF9wcm90LmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmgKIGJ1aWx0aW5zL2NkLm86IGRpc3Bvc2VfY21kLmggbWFrZV9jbWQuaCBzdWJzdC5oIGV4dGVybnMuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaAotYnVpbHRpbnMvY2QubzogJChERUZTUkMpL2NvbW1vbi5oIHF1aXQuaCAKK2J1aWx0aW5zL2NkLm86ICQoREVGU1JDKS9jb21tb24uaCBxdWl0LmggcGF0aG5hbWVzLmgKIGJ1aWx0aW5zL2NvbW1hbmQubzogY29tbWFuZC5oIGNvbmZpZy5oICR7QkFTSElOQ0RJUn0vbWVtYWxsb2MuaCBlcnJvci5oIGdlbmVyYWwuaCB4bWFsbG9jLmggJHtCQVNISU5DRElSfS9tYXhwYXRoLmgKIGJ1aWx0aW5zL2NvbW1hbmQubzogcXVpdC5oICQoREVGU1JDKS9iYXNoZ2V0b3B0LmgKIGJ1aWx0aW5zL2NvbW1hbmQubzogc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oIHVud2luZF9wcm90LmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggCi1idWlsdGlucy9jb21tYW5kLm86IGRpc3Bvc2VfY21kLmggbWFrZV9jbWQuaCBzdWJzdC5oIGV4dGVybnMuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaAorYnVpbHRpbnMvY29tbWFuZC5vOiBkaXNwb3NlX2NtZC5oIG1ha2VfY21kLmggc3Vic3QuaCBleHRlcm5zLmggJHtCQVNISU5DRElSfS9zdGRjLmggcGF0aG5hbWVzLmgKIGJ1aWx0aW5zL2RlY2xhcmUubzogY29tbWFuZC5oIGNvbmZpZy5oICR7QkFTSElOQ0RJUn0vbWVtYWxsb2MuaCBlcnJvci5oIGdlbmVyYWwuaCB4bWFsbG9jLmggJHtCQVNISU5DRElSfS9tYXhwYXRoLmgKIGJ1aWx0aW5zL2RlY2xhcmUubzogc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oIHVud2luZF9wcm90LmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggcXVpdC5oCiBidWlsdGlucy9kZWNsYXJlLm86IGRpc3Bvc2VfY21kLmggbWFrZV9jbWQuaCBzdWJzdC5oIGV4dGVybnMuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaAotYnVpbHRpbnMvZGVjbGFyZS5vOiAkKERFRlNSQykvYmFzaGdldG9wdC5oCitidWlsdGlucy9kZWNsYXJlLm86ICQoREVGU1JDKS9iYXNoZ2V0b3B0LmggcGF0aG5hbWVzLmgKIGJ1aWx0aW5zL2VjaG8ubzogY29tbWFuZC5oIGNvbmZpZy5oICR7QkFTSElOQ0RJUn0vbWVtYWxsb2MuaCBlcnJvci5oIGdlbmVyYWwuaCB4bWFsbG9jLmggJHtCQVNISU5DRElSfS9tYXhwYXRoLmgKIGJ1aWx0aW5zL2VjaG8ubzogc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oIHVud2luZF9wcm90LmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggcXVpdC5oCiBidWlsdGlucy9lY2hvLm86IGRpc3Bvc2VfY21kLmggbWFrZV9jbWQuaCBzdWJzdC5oIGV4dGVybnMuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaAorYnVpbHRpbnMvZWNoby5vOiBwYXRobmFtZXMuaAogYnVpbHRpbnMvZW5hYmxlLm86IGNvbW1hbmQuaCBjb25maWcuaCAke0JBU0hJTkNESVJ9L21lbWFsbG9jLmggZXJyb3IuaCBnZW5lcmFsLmggeG1hbGxvYy5oICR7QkFTSElOQ0RJUn0vbWF4cGF0aC5oCiBidWlsdGlucy9lbmFibGUubzogc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oIHVud2luZF9wcm90LmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggcXVpdC5oCiBidWlsdGlucy9lbmFibGUubzogZGlzcG9zZV9jbWQuaCBtYWtlX2NtZC5oIHN1YnN0LmggZXh0ZXJucy5oICR7QkFTSElOQ0RJUn0vc3RkYy5oCi1idWlsdGlucy9lbmFibGUubzogcGNvbXBsZXRlLmggCitidWlsdGlucy9lbmFibGUubzogcGNvbXBsZXRlLmggcGF0aG5hbWVzLmgKIGJ1aWx0aW5zL2V2YWwubzogY29tbWFuZC5oIGNvbmZpZy5oICR7QkFTSElOQ0RJUn0vbWVtYWxsb2MuaCBlcnJvci5oIGdlbmVyYWwuaCB4bWFsbG9jLmggJHtCQVNISU5DRElSfS9tYXhwYXRoLmgKIGJ1aWx0aW5zL2V2YWwubzogc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oIHVud2luZF9wcm90LmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggcXVpdC5oIAogYnVpbHRpbnMvZXZhbC5vOiBkaXNwb3NlX2NtZC5oIG1ha2VfY21kLmggc3Vic3QuaCBleHRlcm5zLmggJHtCQVNISU5DRElSfS9zdGRjLmgKLWJ1aWx0aW5zL2V4ZWMubzogYmFzaHR5cGVzLmggCitidWlsdGlucy9ldmFsLm86IHBhdGhuYW1lcy5oCitidWlsdGlucy9leGVjLm86IGJhc2h0eXBlcy5oIHBhdGhuYW1lcy5oCiBidWlsdGlucy9leGVjLm86IGNvbW1hbmQuaCBjb25maWcuaCAke0JBU0hJTkNESVJ9L21lbWFsbG9jLmggZXJyb3IuaCBnZW5lcmFsLmggeG1hbGxvYy5oICR7QkFTSElOQ0RJUn0vbWF4cGF0aC5oCiBidWlsdGlucy9leGVjLm86IHNoZWxsLmggc3ludGF4LmggYmFzaGptcC5oICR7QkFTSElOQ0RJUn0vcG9zaXhqbXAuaCBzaWcuaCB1bndpbmRfcHJvdC5oIHZhcmlhYmxlcy5oIGFycmF5ZnVuYy5oIGNvbmZ0eXBlcy5oCiBidWlsdGlucy9leGVjLm86IGRpc3Bvc2VfY21kLmggbWFrZV9jbWQuaCBzdWJzdC5oIGV4dGVybnMuaCBleGVjdXRlX2NtZC5oIAogYnVpbHRpbnMvZXhlYy5vOiBmaW5kY21kLmggZmxhZ3MuaCBxdWl0LmggJChERUZTUkMpL2NvbW1vbi5oICR7QkFTSElOQ0RJUn0vc3RkYy5oCitidWlsdGlucy9leGVjLm86IHBhdGhuYW1lcy5oCiBidWlsdGlucy9leGl0Lm86IGJhc2h0eXBlcy5oIAogYnVpbHRpbnMvZXhpdC5vOiBjb21tYW5kLmggY29uZmlnLmggJHtCQVNISU5DRElSfS9tZW1hbGxvYy5oIGVycm9yLmggZ2VuZXJhbC5oIHhtYWxsb2MuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaAogYnVpbHRpbnMvZXhpdC5vOiBzaGVsbC5oIHN5bnRheC5oIGJhc2hqbXAuaCAke0JBU0hJTkNESVJ9L3Bvc2l4am1wLmggc2lnLmggdW53aW5kX3Byb3QuaCB2YXJpYWJsZXMuaCBhcnJheWZ1bmMuaCBjb25mdHlwZXMuaCBxdWl0LmgKIGJ1aWx0aW5zL2V4aXQubzogZGlzcG9zZV9jbWQuaCBtYWtlX2NtZC5oIHN1YnN0LmggZXh0ZXJucy5oICR7QkFTSElOQ0RJUn0vc3RkYy5oCitidWlsdGlucy9leGl0Lm86IHBhdGhuYW1lcy5oCiBidWlsdGlucy9mYy5vOiBiYXNodHlwZXMuaCAke0JBU0hJTkNESVJ9L3Bvc2l4c3RhdC5oCiBidWlsdGlucy9mYy5vOiBiYXNoYW5zaS5oICR7QkFTSElOQ0RJUn0vYW5zaV9zdGRsaWIuaCBidWlsdGlucy5oIGNvbW1hbmQuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaCAKIGJ1aWx0aW5zL2ZjLm86IGNvbW1hbmQuaCBjb25maWcuaCAke0JBU0hJTkNESVJ9L21lbWFsbG9jLmggZXJyb3IuaCBnZW5lcmFsLmggeG1hbGxvYy5oICR7QkFTSElOQ0RJUn0vbWF4cGF0aC5oCiBidWlsdGlucy9mYy5vOiBmbGFncy5oIHVud2luZF9wcm90LmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oIAogYnVpbHRpbnMvZmMubzogZGlzcG9zZV9jbWQuaCBtYWtlX2NtZC5oIHN1YnN0LmggZXh0ZXJucy5oICR7QkFTSElOQ0RJUn0vc3RkYy5oIHF1aXQuaCAKLWJ1aWx0aW5zL2ZjLm86ICQoREVGU1JDKS9iYXNoZ2V0b3B0LmggYmFzaGhpc3QuaAorYnVpbHRpbnMvZmMubzogJChERUZTUkMpL2Jhc2hnZXRvcHQuaCBiYXNoaGlzdC5oIHBhdGhuYW1lcy5oCiBidWlsdGlucy9mYy5vOiAke0JBU0hJTkNESVJ9L2NoYXJ0eXBlcy5oCiBidWlsdGlucy9mZ19iZy5vOiBiYXNodHlwZXMuaCAkKERFRlNSQykvYmFzaGdldG9wdC5oIAogYnVpbHRpbnMvZmdfYmcubzogY29tbWFuZC5oIGNvbmZpZy5oICR7QkFTSElOQ0RJUn0vbWVtYWxsb2MuaCBlcnJvci5oIGdlbmVyYWwuaCB4bWFsbG9jLmggJHtCQVNISU5DRElSfS9tYXhwYXRoLmgKIGJ1aWx0aW5zL2ZnX2JnLm86IHNoZWxsLmggc3ludGF4LmggYmFzaGptcC5oICR7QkFTSElOQ0RJUn0vcG9zaXhqbXAuaCBzaWcuaCB1bndpbmRfcHJvdC5oIHZhcmlhYmxlcy5oIGFycmF5ZnVuYy5oIGNvbmZ0eXBlcy5oIHF1aXQuaAogYnVpbHRpbnMvZmdfYmcubzogZGlzcG9zZV9jbWQuaCBtYWtlX2NtZC5oIHN1YnN0LmggZXh0ZXJucy5oICR7QkFTSElOQ0RJUn0vc3RkYy5oCitidWlsdGlucy9mZ19iZy5vOiBwYXRobmFtZXMuaAogYnVpbHRpbnMvZ2V0b3B0cy5vOiBjb21tYW5kLmggY29uZmlnLmggJHtCQVNISU5DRElSfS9tZW1hbGxvYy5oIGVycm9yLmggZ2VuZXJhbC5oIHhtYWxsb2MuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaAogYnVpbHRpbnMvZ2V0b3B0cy5vOiBzaGVsbC5oIHN5bnRheC5oIGJhc2hqbXAuaCAke0JBU0hJTkNESVJ9L3Bvc2l4am1wLmggc2lnLmggdW53aW5kX3Byb3QuaCB2YXJpYWJsZXMuaCBhcnJheWZ1bmMuaCBjb25mdHlwZXMuaCBxdWl0LmggCiBidWlsdGlucy9nZXRvcHRzLm86IGRpc3Bvc2VfY21kLmggbWFrZV9jbWQuaCBzdWJzdC5oIGV4dGVybnMuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaAorYnVpbHRpbnMvZ2V0b3B0cy5vOiBwYXRobmFtZXMuaAogYnVpbHRpbnMvaGFzaC5vOiBiYXNodHlwZXMuaCAKIGJ1aWx0aW5zL2hhc2gubzogYnVpbHRpbnMuaCBjb21tYW5kLmggZmluZGNtZC5oICR7QkFTSElOQ0RJUn0vc3RkYy5oICQoREVGU1JDKS9jb21tb24uaAogYnVpbHRpbnMvaGFzaC5vOiBjb21tYW5kLmggY29uZmlnLmggJHtCQVNISU5DRElSfS9tZW1hbGxvYy5oIGVycm9yLmggZ2VuZXJhbC5oIHhtYWxsb2MuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaAogYnVpbHRpbnMvaGFzaC5vOiBzaGVsbC5oIHN5bnRheC5oIGJhc2hqbXAuaCAke0JBU0hJTkNESVJ9L3Bvc2l4am1wLmggc2lnLmggdW53aW5kX3Byb3QuaCB2YXJpYWJsZXMuaCBhcnJheWZ1bmMuaCBjb25mdHlwZXMuaCBxdWl0LmggCitidWlsdGlucy9oYXNoLm86IHBhdGhuYW1lcy5oCiBidWlsdGlucy9oZWxwLm86IGNvbW1hbmQuaCBjb25maWcuaCAke0JBU0hJTkNESVJ9L21lbWFsbG9jLmggZXJyb3IuaCBnZW5lcmFsLmggeG1hbGxvYy5oICR7QkFTSElOQ0RJUn0vbWF4cGF0aC5oCiBidWlsdGlucy9oZWxwLm86IGRpc3Bvc2VfY21kLmggbWFrZV9jbWQuaCBzdWJzdC5oIGV4dGVybnMuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaAogYnVpbHRpbnMvaGVscC5vOiBzaGVsbC5oIHN5bnRheC5oIGJhc2hqbXAuaCAke0JBU0hJTkNESVJ9L3Bvc2l4am1wLmggc2lnLmggdW53aW5kX3Byb3QuaCB2YXJpYWJsZXMuaCBhcnJheWZ1bmMuaCBjb25mdHlwZXMuaCBxdWl0LmgKLWJ1aWx0aW5zL2hlbHAubzogJChHTE9CX0xJQlNSQykvZ2xvYi5oIAotYnVpbHRpbnMvaGlzdG9yeS5vOiBiYXNodHlwZXMuaCAKK2J1aWx0aW5zL2hlbHAubzogJChHTE9CX0xJQlNSQykvZ2xvYi5oIHBhdGhuYW1lcy5oCitidWlsdGlucy9oaXN0b3J5Lm86IGJhc2h0eXBlcy5oIHBhdGhuYW1lcy5oCiBidWlsdGlucy9oaXN0b3J5Lm86IGNvbW1hbmQuaCBjb25maWcuaCAke0JBU0hJTkNESVJ9L21lbWFsbG9jLmggZXJyb3IuaCBnZW5lcmFsLmggeG1hbGxvYy5oICR7QkFTSElOQ0RJUn0vbWF4cGF0aC5oCiBidWlsdGlucy9oaXN0b3J5Lm86IHF1aXQuaCBkaXNwb3NlX2NtZC5oIG1ha2VfY21kLmggc3Vic3QuaCBleHRlcm5zLmggJHtCQVNISU5DRElSfS9zdGRjLmgKIGJ1aWx0aW5zL2hpc3RvcnkubzogJHtCQVNISU5DRElSfS9maWxlY250bC5oIHNoZWxsLmggc3ludGF4LmggYmFzaGptcC5oICR7QkFTSElOQ0RJUn0vcG9zaXhqbXAuaCBzaWcuaCB1bndpbmRfcHJvdC5oCkBAIC0xMzE2LDg5ICsxMzMxLDEwNiBAQAogYnVpbHRpbnMvaW5saWIubzogY29tbWFuZC5oIGNvbmZpZy5oICR7QkFTSElOQ0RJUn0vbWVtYWxsb2MuaCBlcnJvci5oIGdlbmVyYWwuaCB4bWFsbG9jLmggJHtCQVNISU5DRElSfS9tYXhwYXRoLmgKIGJ1aWx0aW5zL2lubGliLm86IHNoZWxsLmggc3ludGF4LmggYmFzaGptcC5oICR7QkFTSElOQ0RJUn0vcG9zaXhqbXAuaCBzaWcuaCB1bndpbmRfcHJvdC5oIHZhcmlhYmxlcy5oIGFycmF5ZnVuYy5oIGNvbmZ0eXBlcy5oIHF1aXQuaCAKIGJ1aWx0aW5zL2lubGliLm86IGRpc3Bvc2VfY21kLmggbWFrZV9jbWQuaCBzdWJzdC5oIGV4dGVybnMuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaAorYnVpbHRpbnMvaW5saWIubzogcGF0aG5hbWVzLmgKIGJ1aWx0aW5zL2pvYnMubzogY29tbWFuZC5oIGNvbmZpZy5oICR7QkFTSElOQ0RJUn0vbWVtYWxsb2MuaCBlcnJvci5oIGdlbmVyYWwuaCB4bWFsbG9jLmggJHtCQVNISU5DRElSfS9tYXhwYXRoLmgKIGJ1aWx0aW5zL2pvYnMubzogcXVpdC5oICQoREVGU1JDKS9iYXNoZ2V0b3B0LmgKIGJ1aWx0aW5zL2pvYnMubzogc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oIHVud2luZF9wcm90LmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggCiBidWlsdGlucy9qb2JzLm86IGRpc3Bvc2VfY21kLmggbWFrZV9jbWQuaCBzdWJzdC5oIGV4dGVybnMuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaAorYnVpbHRpbnMvam9icy5vOiBwYXRobmFtZXMuaAogYnVpbHRpbnMva2lsbC5vOiBjb21tYW5kLmggY29uZmlnLmggJHtCQVNISU5DRElSfS9tZW1hbGxvYy5oIGVycm9yLmggZ2VuZXJhbC5oIHhtYWxsb2MuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaAogYnVpbHRpbnMva2lsbC5vOiBxdWl0LmggZGlzcG9zZV9jbWQuaCBtYWtlX2NtZC5oIHN1YnN0LmggZXh0ZXJucy5oICR7QkFTSElOQ0RJUn0vc3RkYy5oCiBidWlsdGlucy9raWxsLm86IHNoZWxsLmggc3ludGF4LmggYmFzaGptcC5oICR7QkFTSElOQ0RJUn0vcG9zaXhqbXAuaCBzaWcuaCB0cmFwLmggdW53aW5kX3Byb3QuaCB2YXJpYWJsZXMuaCBhcnJheWZ1bmMuaCBjb25mdHlwZXMuaCAKK2J1aWx0aW5zL2tpbGwubzogcGF0aG5hbWVzLmgKIGJ1aWx0aW5zL2xldC5vOiBjb21tYW5kLmggY29uZmlnLmggJHtCQVNISU5DRElSfS9tZW1hbGxvYy5oIGVycm9yLmggZ2VuZXJhbC5oIHhtYWxsb2MuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaAogYnVpbHRpbnMvbGV0Lm86IHF1aXQuaCBkaXNwb3NlX2NtZC5oIG1ha2VfY21kLmggc3Vic3QuaCBleHRlcm5zLmggJHtCQVNISU5DRElSfS9zdGRjLmgKIGJ1aWx0aW5zL2xldC5vOiBzaGVsbC5oIHN5bnRheC5oIGJhc2hqbXAuaCAke0JBU0hJTkNESVJ9L3Bvc2l4am1wLmggc2lnLmggdW53aW5kX3Byb3QuaCB2YXJpYWJsZXMuaCBhcnJheWZ1bmMuaCBjb25mdHlwZXMuaCAKK2J1aWx0aW5zL2xldC5vOiBwYXRobmFtZXMuaAogYnVpbHRpbnMvcHJpbnRmLm86IGNvbmZpZy5oICR7QkFTSElOQ0RJUn0vbWVtYWxsb2MuaCBiYXNoam1wLmggY29tbWFuZC5oIGVycm9yLmgKIGJ1aWx0aW5zL3ByaW50Zi5vOiBnZW5lcmFsLmggeG1hbGxvYy5oIHF1aXQuaCBkaXNwb3NlX2NtZC5oIG1ha2VfY21kLmggc3Vic3QuaAogYnVpbHRpbnMvcHJpbnRmLm86IGV4dGVybnMuaCBzaWcuaCBwYXRobmFtZXMuaCBzaGVsbC5oIHN5bnRheC5oIHVud2luZF9wcm90LmgKIGJ1aWx0aW5zL3ByaW50Zi5vOiB2YXJpYWJsZXMuaCBhcnJheWZ1bmMuaCBjb25mdHlwZXMuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaCAkKERFRlNSQykvYmFzaGdldG9wdC5oCi1idWlsdGlucy9wcmludGYubzogJHtCQVNISU5DRElSfS9jaGFydHlwZXMuaAorYnVpbHRpbnMvcHJpbnRmLm86ICR7QkFTSElOQ0RJUn0vY2hhcnR5cGVzLmggCiBidWlsdGlucy9wdXNoZC5vOiBjb21tYW5kLmggY29uZmlnLmggJHtCQVNISU5DRElSfS9tZW1hbGxvYy5oIGVycm9yLmggZ2VuZXJhbC5oIHhtYWxsb2MuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaAogYnVpbHRpbnMvcHVzaGQubzogcXVpdC5oIGRpc3Bvc2VfY21kLmggbWFrZV9jbWQuaCBzdWJzdC5oIGV4dGVybnMuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaAogYnVpbHRpbnMvcHVzaGQubzogc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oIHVud2luZF9wcm90LmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmgKLWJ1aWx0aW5zL3B1c2hkLm86ICQoREVGU1JDKS9jb21tb24uaAorYnVpbHRpbnMvcHVzaGQubzogJChERUZTUkMpL2NvbW1vbi5oIHBhdGhuYW1lcy5oCiBidWlsdGlucy9yZWFkLm86IGNvbW1hbmQuaCBjb25maWcuaCAke0JBU0hJTkNESVJ9L21lbWFsbG9jLmggZXJyb3IuaCBnZW5lcmFsLmggeG1hbGxvYy5oICR7QkFTSElOQ0RJUn0vbWF4cGF0aC5oCiBidWlsdGlucy9yZWFkLm86IHF1aXQuaCBkaXNwb3NlX2NtZC5oIG1ha2VfY21kLmggc3Vic3QuaCBleHRlcm5zLmggJHtCQVNISU5DRElSfS9zdGRjLmgKIGJ1aWx0aW5zL3JlYWQubzogc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oIHVud2luZF9wcm90LmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggCitidWlsdGlucy9yZWFkLm86IHBhdGhuYW1lcy5oCiBidWlsdGlucy9yZXR1cm4ubzogY29tbWFuZC5oIGNvbmZpZy5oICR7QkFTSElOQ0RJUn0vbWVtYWxsb2MuaCBlcnJvci5oIGdlbmVyYWwuaCB4bWFsbG9jLmggJHtCQVNISU5DRElSfS9tYXhwYXRoLmgKIGJ1aWx0aW5zL3JldHVybi5vOiBxdWl0LmggZGlzcG9zZV9jbWQuaCBtYWtlX2NtZC5oIHN1YnN0LmggZXh0ZXJucy5oICR7QkFTSElOQ0RJUn0vc3RkYy5oCiBidWlsdGlucy9yZXR1cm4ubzogc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oIHVud2luZF9wcm90LmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggCitidWlsdGlucy9yZXR1cm4ubzogcGF0aG5hbWVzLmgKIGJ1aWx0aW5zL3NldC5vOiBjb21tYW5kLmggY29uZmlnLmggJHtCQVNISU5DRElSfS9tZW1hbGxvYy5oIGVycm9yLmggZ2VuZXJhbC5oIHhtYWxsb2MuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaAogYnVpbHRpbnMvc2V0Lm86IHF1aXQuaCBkaXNwb3NlX2NtZC5oIG1ha2VfY21kLmggc3Vic3QuaCBleHRlcm5zLmggJHtCQVNISU5DRElSfS9zdGRjLmgKIGJ1aWx0aW5zL3NldC5vOiBzaGVsbC5oIHN5bnRheC5oIGJhc2hqbXAuaCAke0JBU0hJTkNESVJ9L3Bvc2l4am1wLmggc2lnLmggdW53aW5kX3Byb3QuaCB2YXJpYWJsZXMuaCBhcnJheWZ1bmMuaCBjb25mdHlwZXMuaCBmbGFncy5oCitidWlsdGlucy9zZXQubzogcGF0aG5hbWVzLmgKIGJ1aWx0aW5zL3NldGF0dHIubzogY29tbWFuZC5oIGNvbmZpZy5oICR7QkFTSElOQ0RJUn0vbWVtYWxsb2MuaCBlcnJvci5oIGdlbmVyYWwuaCB4bWFsbG9jLmggJHtCQVNISU5DRElSfS9tYXhwYXRoLmgKIGJ1aWx0aW5zL3NldGF0dHIubzogcXVpdC5oICQoREVGU1JDKS9jb21tb24uaCAkKERFRlNSQykvYmFzaGdldG9wdC5oCiBidWlsdGlucy9zZXRhdHRyLm86IHNoZWxsLmggc3ludGF4LmggYmFzaGptcC5oICR7QkFTSElOQ0RJUn0vcG9zaXhqbXAuaCBzaWcuaCB1bndpbmRfcHJvdC5oIHZhcmlhYmxlcy5oIGFycmF5ZnVuYy5oIGNvbmZ0eXBlcy5oIAogYnVpbHRpbnMvc2V0YXR0ci5vOiBkaXNwb3NlX2NtZC5oIG1ha2VfY21kLmggc3Vic3QuaCBleHRlcm5zLmggJHtCQVNISU5DRElSfS9zdGRjLmgKK2J1aWx0aW5zL3NldGF0dHIubzogcGF0aG5hbWVzLmgKIGJ1aWx0aW5zL3NoaWZ0Lm86IGNvbW1hbmQuaCBjb25maWcuaCAke0JBU0hJTkNESVJ9L21lbWFsbG9jLmggZXJyb3IuaCBnZW5lcmFsLmggeG1hbGxvYy5oICR7QkFTSElOQ0RJUn0vbWF4cGF0aC5oCiBidWlsdGlucy9zaGlmdC5vOiBxdWl0LmggZGlzcG9zZV9jbWQuaCBtYWtlX2NtZC5oIHN1YnN0LmggZXh0ZXJucy5oICR7QkFTSElOQ0RJUn0vc3RkYy5oCiBidWlsdGlucy9zaGlmdC5vOiBzaGVsbC5oIHN5bnRheC5oIGJhc2hqbXAuaCAke0JBU0hJTkNESVJ9L3Bvc2l4am1wLmggc2lnLmggdW53aW5kX3Byb3QuaCB2YXJpYWJsZXMuaCBhcnJheWZ1bmMuaCBjb25mdHlwZXMuaCAKIGJ1aWx0aW5zL3NoaWZ0Lm86IGRpc3Bvc2VfY21kLmggbWFrZV9jbWQuaCBzdWJzdC5oIGV4dGVybnMuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaAorYnVpbHRpbnMvc2hpZnQubzogcGF0aG5hbWVzLmgKIGJ1aWx0aW5zL3Nob3B0Lm86IGNvbW1hbmQuaCBjb25maWcuaCAke0JBU0hJTkNESVJ9L21lbWFsbG9jLmggZXJyb3IuaCBnZW5lcmFsLmggeG1hbGxvYy5oCiBidWlsdGlucy9zaG9wdC5vOiBxdWl0LmggZGlzcG9zZV9jbWQuaCBtYWtlX2NtZC5oIHN1YnN0LmggZXh0ZXJucy5oCiBidWlsdGlucy9zaG9wdC5vOiBzaGVsbC5oIHN5bnRheC5oIGJhc2hqbXAuaCAke0JBU0hJTkNESVJ9L3Bvc2l4am1wLmggdW53aW5kX3Byb3QuaCB2YXJpYWJsZXMuaCBhcnJheWZ1bmMuaCBjb25mdHlwZXMuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaAotYnVpbHRpbnMvc2hvcHQubzogJChERUZTUkMpL2NvbW1vbi5oICQoREVGU1JDKS9iYXNoZ2V0b3B0LmgKK2J1aWx0aW5zL3Nob3B0Lm86ICQoREVGU1JDKS9jb21tb24uaCAkKERFRlNSQykvYmFzaGdldG9wdC5oIHBhdGhuYW1lcy5oCitidWlsdGlucy9zaG9wdC5vOiBiYXNoaGlzdC5oCiBidWlsdGlucy9zb3VyY2UubzogY29tbWFuZC5oIGNvbmZpZy5oICR7QkFTSElOQ0RJUn0vbWVtYWxsb2MuaCBlcnJvci5oIGdlbmVyYWwuaCB4bWFsbG9jLmggJHtCQVNISU5DRElSfS9tYXhwYXRoLmgKIGJ1aWx0aW5zL3NvdXJjZS5vOiBxdWl0LmggZGlzcG9zZV9jbWQuaCBtYWtlX2NtZC5oIHN1YnN0LmggZXh0ZXJucy5oICR7QkFTSElOQ0RJUn0vc3RkYy5oCiBidWlsdGlucy9zb3VyY2Uubzogc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oIHVud2luZF9wcm90LmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmgKIGJ1aWx0aW5zL3NvdXJjZS5vOiBmaW5kY21kLmggJChERUZTUkMpL2Jhc2hnZXRvcHQuaCBmbGFncy5oIHRyYXAuaAorYnVpbHRpbnMvc291cmNlLm86IHBhdGhuYW1lcy5oCiBidWlsdGlucy9zdXNwZW5kLm86IGNvbW1hbmQuaCBjb25maWcuaCAke0JBU0hJTkNESVJ9L21lbWFsbG9jLmggZXJyb3IuaCBnZW5lcmFsLmggeG1hbGxvYy5oICR7QkFTSElOQ0RJUn0vbWF4cGF0aC5oCiBidWlsdGlucy9zdXNwZW5kLm86IHF1aXQuaCBkaXNwb3NlX2NtZC5oIG1ha2VfY21kLmggc3Vic3QuaCBleHRlcm5zLmggJHtCQVNISU5DRElSfS9zdGRjLmgKIGJ1aWx0aW5zL3N1c3BlbmQubzogc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oIHVud2luZF9wcm90LmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggCitidWlsdGlucy9zdXNwZW5kLm86IHBhdGhuYW1lcy5oCiBidWlsdGlucy90ZXN0Lm86IGNvbW1hbmQuaCBjb25maWcuaCAke0JBU0hJTkNESVJ9L21lbWFsbG9jLmggZXJyb3IuaCBnZW5lcmFsLmggeG1hbGxvYy5oICR7QkFTSElOQ0RJUn0vbWF4cGF0aC5oCiBidWlsdGlucy90ZXN0Lm86IHF1aXQuaCBkaXNwb3NlX2NtZC5oIG1ha2VfY21kLmggc3Vic3QuaCBleHRlcm5zLmggJHtCQVNISU5DRElSfS9zdGRjLmgKIGJ1aWx0aW5zL3Rlc3Qubzogc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oIHVud2luZF9wcm90LmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggCi1idWlsdGlucy90ZXN0Lm86IHRlc3QuaCAKK2J1aWx0aW5zL3Rlc3QubzogdGVzdC5oIHBhdGhuYW1lcy5oCiBidWlsdGlucy90aW1lcy5vOiBjb21tYW5kLmggY29uZmlnLmggJHtCQVNISU5DRElSfS9tZW1hbGxvYy5oIGVycm9yLmggZ2VuZXJhbC5oIHhtYWxsb2MuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaAogYnVpbHRpbnMvdGltZXMubzogcXVpdC5oIGRpc3Bvc2VfY21kLmggbWFrZV9jbWQuaCBzdWJzdC5oIGV4dGVybnMuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaAogYnVpbHRpbnMvdGltZXMubzogc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oIHVud2luZF9wcm90LmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggCitidWlsdGlucy90aW1lcy5vOiBwYXRobmFtZXMuaAogYnVpbHRpbnMvdHJhcC5vOiBjb21tYW5kLmggY29uZmlnLmggJHtCQVNISU5DRElSfS9tZW1hbGxvYy5oIGVycm9yLmggZ2VuZXJhbC5oIHhtYWxsb2MuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaAogYnVpbHRpbnMvdHJhcC5vOiBxdWl0LmggJChERUZTUkMpL2NvbW1vbi5oCiBidWlsdGlucy90cmFwLm86IHNoZWxsLmggc3ludGF4LmggYmFzaGptcC5oICR7QkFTSElOQ0RJUn0vcG9zaXhqbXAuaCBzaWcuaCB1bndpbmRfcHJvdC5oIHZhcmlhYmxlcy5oIGFycmF5ZnVuYy5oIGNvbmZ0eXBlcy5oIAogYnVpbHRpbnMvdHJhcC5vOiBkaXNwb3NlX2NtZC5oIG1ha2VfY21kLmggc3Vic3QuaCBleHRlcm5zLmggJHtCQVNISU5DRElSfS9zdGRjLmgKK2J1aWx0aW5zL3RyYXAubzogcGF0aG5hbWVzLmgKIGJ1aWx0aW5zL3R5cGUubzogY29tbWFuZC5oIGNvbmZpZy5oICR7QkFTSElOQ0RJUn0vbWVtYWxsb2MuaCBlcnJvci5oIGdlbmVyYWwuaCB4bWFsbG9jLmggJHtCQVNISU5DRElSfS9tYXhwYXRoLmgKIGJ1aWx0aW5zL3R5cGUubzogcXVpdC5oICQoREVGU1JDKS9jb21tb24uaCBmaW5kY21kLmgKIGJ1aWx0aW5zL3R5cGUubzogc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oIHVud2luZF9wcm90LmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmgKIGJ1aWx0aW5zL3R5cGUubzogZGlzcG9zZV9jbWQuaCBtYWtlX2NtZC5oIHN1YnN0LmggZXh0ZXJucy5oICR7QkFTSElOQ0RJUn0vc3RkYy5oCitidWlsdGlucy90eXBlLm86IHBhdGhuYW1lcy5oCiBidWlsdGlucy91bGltaXQubzogY29tbWFuZC5oIGNvbmZpZy5oICR7QkFTSElOQ0RJUn0vbWVtYWxsb2MuaCBlcnJvci5oIGdlbmVyYWwuaCB4bWFsbG9jLmggJHtCQVNISU5DRElSfS9tYXhwYXRoLmgKIGJ1aWx0aW5zL3VsaW1pdC5vOiBxdWl0LmggZGlzcG9zZV9jbWQuaCBtYWtlX2NtZC5oIHN1YnN0LmggZXh0ZXJucy5oICR7QkFTSElOQ0RJUn0vc3RkYy5oCiBidWlsdGlucy91bGltaXQubzogc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oIHVud2luZF9wcm90LmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggCitidWlsdGlucy91bGltaXQubzogcGF0aG5hbWVzLmgKIGJ1aWx0aW5zL3VtYXNrLm86IGNvbW1hbmQuaCBjb25maWcuaCAke0JBU0hJTkNESVJ9L21lbWFsbG9jLmggZXJyb3IuaCBnZW5lcmFsLmggeG1hbGxvYy5oICR7QkFTSElOQ0RJUn0vbWF4cGF0aC5oCiBidWlsdGlucy91bWFzay5vOiBxdWl0LmggZGlzcG9zZV9jbWQuaCBtYWtlX2NtZC5oIHN1YnN0LmggZXh0ZXJucy5oICR7QkFTSElOQ0RJUn0vc3RkYy5oCiBidWlsdGlucy91bWFzay5vOiBzaGVsbC5oIHN5bnRheC5oIGJhc2hqbXAuaCAke0JBU0hJTkNESVJ9L3Bvc2l4am1wLmggc2lnLmggdW53aW5kX3Byb3QuaCB2YXJpYWJsZXMuaCBhcnJheWZ1bmMuaCBjb25mdHlwZXMuaCAKLWJ1aWx0aW5zL3VtYXNrLm86ICR7QkFTSElOQ0RJUn0vY2hhcnR5cGVzLmgKK2J1aWx0aW5zL3VtYXNrLm86ICR7QkFTSElOQ0RJUn0vY2hhcnR5cGVzLmggcGF0aG5hbWVzLmgKIGJ1aWx0aW5zL3dhaXQubzogY29tbWFuZC5oIGNvbmZpZy5oICR7QkFTSElOQ0RJUn0vbWVtYWxsb2MuaCBlcnJvci5oIGdlbmVyYWwuaCB4bWFsbG9jLmggJHtCQVNISU5DRElSfS9tYXhwYXRoLmgKIGJ1aWx0aW5zL3dhaXQubzogcXVpdC5oIGRpc3Bvc2VfY21kLmggbWFrZV9jbWQuaCBzdWJzdC5oIGV4dGVybnMuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaAogYnVpbHRpbnMvd2FpdC5vOiBzaGVsbC5oIHN5bnRheC5oIGJhc2hqbXAuaCAke0JBU0hJTkNESVJ9L3Bvc2l4am1wLmggc2lnLmggdW53aW5kX3Byb3QuaCB2YXJpYWJsZXMuaCBhcnJheWZ1bmMuaCBjb25mdHlwZXMuaAotYnVpbHRpbnMvd2FpdC5vOiAke0JBU0hJTkNESVJ9L2NoYXJ0eXBlcy5oCitidWlsdGlucy93YWl0Lm86ICR7QkFTSElOQ0RJUn0vY2hhcnR5cGVzLmggcGF0aG5hbWVzLmgKIAogYnVpbHRpbnMvY29tcGxldGUubzogY29uZmlnLmggc2hlbGwuaCBzeW50YXguaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIHNpZy5oCiBidWlsdGlucy9jb21wbGV0ZS5vOiB1bndpbmRfcHJvdC5oIHZhcmlhYmxlcy5oIGFycmF5ZnVuYy5oIGNvbmZ0eXBlcy5oCiBidWlsdGlucy9jb21wbGV0ZS5vOiBiYXNodHlwZXMuaCBiYXNoYW5zaS5oICR7QkFTSElOQ0RJUn0vYW5zaV9zdGRsaWIuaAotYnVpbHRpbnMvY29tcGxldGUubzogYnVpbHRpbnMuaCAKK2J1aWx0aW5zL2NvbXBsZXRlLm86IGJ1aWx0aW5zLmggcGF0aG5hbWVzLmgKIGJ1aWx0aW5zL2NvbXBsZXRlLm86IHBjb21wbGV0ZS5oCiBidWlsdGlucy9jb21wbGV0ZS5vOiAke0RFRlNSQ30vY29tbW9uLmggJHtERUZTUkN9L2Jhc2hnZXRvcHQuaAogYnVpbHRpbnMvbWFwZmlsZS5vOiBjb21tYW5kLmggY29uZmlnLmggJHtCQVNISU5DRElSfS9tZW1hbGxvYy5oIGVycm9yLmggZ2VuZXJhbC5oIHhtYWxsb2MuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaAogYnVpbHRpbnMvbWFwZmlsZS5vOiBxdWl0LmggZGlzcG9zZV9jbWQuaCBtYWtlX2NtZC5oIHN1YnN0LmggZXh0ZXJucy5oICR7QkFTSElOQ0RJUn0vc3RkYy5oCiBidWlsdGlucy9tYXBmaWxlLm86IHNoZWxsLmggc3ludGF4LmggYmFzaGptcC5oICR7QkFTSElOQ0RJUn0vcG9zaXhqbXAuaCBzaWcuaCB1bndpbmRfcHJvdC5oIHZhcmlhYmxlcy5oIGFycmF5ZnVuYy5oIGNvbmZ0eXBlcy5oIAorYnVpbHRpbnMvbWFwZmlsZS5vOiBwYXRobmFtZXMuaAogCiAjIGxpYmludGwgZGVwZW5kZW5jaWVzCiBidWlsdGlucy9iaW5kLm86ICR7dG9wZGlyfS9iYXNoaW50bC5oICR7TElCSU5UTF9IfSAkKEJBU0hJTkNESVIpL2dldHRleHQuaApkaWZmIC0tZ2l0IGEvTkVXUyBiL05FV1MKaW5kZXggMDU1NzNjYy4uOGIxYjdiYyAxMDA2NDQKLS0tIGEvTkVXUworKysgYi9ORVdTCkBAIC0xLDMgKzEsMTIwIEBACitUaGlzIGlzIGEgdGVyc2UgZGVzY3JpcHRpb24gb2YgdGhlIG5ldyBmZWF0dXJlcyBhZGRlZCB0byBiYXNoLTQuMSBzaW5jZQordGhlIHJlbGVhc2Ugb2YgYmFzaC00LjAuICBBcyBhbHdheXMsIHRoZSBtYW51YWwgcGFnZSAoZG9jL2Jhc2guMSkgaXMKK3RoZSBwbGFjZSB0byBsb29rIGZvciBjb21wbGV0ZSBkZXNjcmlwdGlvbnMuCisKKzEuICBOZXcgRmVhdHVyZXMgaW4gQmFzaAorCithLiAgSGVyZS1kb2N1bWVudHMgd2l0aGluICQoLi4uKSBjb21tYW5kIHN1YnN0aXR1dGlvbnMgbWF5IG9uY2UgbW9yZSBiZQorICAgIGRlbGltaXRlZCBieSB0aGUgY2xvc2luZyByaWdodCBwYXJlbiwgaW5zdGVhZCBvZiByZXF1aXJpbmcgYSBuZXdsaW5lLgorCitiLiAgQmFzaCdzIGZpbGUgc3RhdHVzIGNoZWNrcyAoZXhlY3V0YWJsZSwgcmVhZGFibGUsIGV0Yy4pIG5vdyB0YWtlIGZpbGUKKyAgICBzeXN0ZW0gQUNMcyBpbnRvIGFjY291bnQgb24gZmlsZSBzeXN0ZW1zIHRoYXQgc3VwcG9ydCB0aGVtLgorCitjLiAgQmFzaCBub3cgcGFzc2VzIGVudmlyb25tZW50IHZhcmlhYmxlcyB3aXRoIG5hbWVzIHRoYXQgYXJlIG5vdCB2YWxpZAorICAgIHNoZWxsIHZhcmlhYmxlIG5hbWVzIHRocm91Z2ggaW50byB0aGUgZW52aXJvbm1lbnQgcGFzc2VkIHRvIGNoaWxkCisgICAgcHJvY2Vzc2VzLgorCitkLiAgVGhlIGBleGVjdXRlLXVuaXgtY29tbWFuZCcgcmVhZGxpbmUgZnVuY3Rpb24gbm93IGF0dGVtcHRzIHRvIGNsZWFyIGFuZAorICAgIHJldXNlIHRoZSBjdXJyZW50IGxpbmUgcmF0aGVyIHRoYW4gbW92ZSB0byBhIG5ldyBvbmUgYWZ0ZXIgdGhlIGNvbW1hbmQKKyAgICBleGVjdXRlcy4KKworZS4gIGBwcmludGYgLXYnIGNhbiBub3cgYXNzaWduIHZhbHVlcyB0byBhcnJheSBpbmRpY2VzLgorCitmLiAgTmV3IGBjb21wbGV0ZSAtRScgYW5kIGBjb21wb3B0IC1FJyBvcHRpb25zIHRoYXQgd29yayBvbiB0aGUgImVtcHR5IgorICAgIGNvbXBsZXRpb246IGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGFuIGVtcHR5IGNvbW1hbmQgbGluZS4KKworZy4gIE5ldyBjb21wbGV0ZS9jb21wZ2VuL2NvbXBvcHQgLUQgb3B0aW9uIHRvIGRlZmluZSBhIGBkZWZhdWx0JyBjb21wbGV0aW9uOgorICAgIGEgY29tcGxldGlvbiB0byBiZSBpbnZva2VkIG9uIGNvbW1hbmQgZm9yIHdoaWNoIG5vIGNvbXBsZXRpb24gaGFzIGJlZW4KKyAgICBkZWZpbmVkLiAgSWYgdGhpcyBmdW5jdGlvbiByZXR1cm5zIDEyNCwgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gaXMKKyAgICBhdHRlbXB0ZWQgYWdhaW4sIGFsbG93aW5nIGEgdXNlciB0byBkeW5hbWljYWxseSBidWlsZCBhIHNldCBvZiBjb21wbGV0aW9ucworICAgIGFzIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkIGJ5IGhhdmluZyB0aGUgZGVmYXVsdCBjb21wbGV0aW9uIGZ1bmN0aW9uCisgICAgaW5zdGFsbCBpbmRpdmlkdWFsIGNvbXBsZXRpb24gZnVuY3Rpb25zIGVhY2ggdGltZSBpdCBpcyBpbnZva2VkLgorCitoLiAgV2hlbiBkaXNwbGF5aW5nIGFzc29jaWF0aXZlIGFycmF5cywgc3Vic2NyaXB0cyBhcmUgbm93IHF1b3RlZC4KKworaS4gIENoYW5nZXMgdG8gZGFiYnJldi1leHBhbmQgdG8gbWFrZSBpdCBtb3JlIGBlbWFjcy1saWtlJzogbm8gc3BhY2UgYXBwZW5kZWQKKyAgICBhZnRlciBtYXRjaGVzLCBjb21wbGV0aW9ucyBhcmUgbm90IHNvcnRlZCwgYW5kIG1vc3QgcmVjZW50IGhpc3RvcnkgZW50cmllcworICAgIGFyZSBwcmVzZW50ZWQgZmlyc3QuCisKK2ouICBUaGUgW1sgYW5kICgoIGNvbW1hbmRzIGFyZSBub3cgc3ViamVjdCB0byB0aGUgc2V0dGluZyBvZiBgc2V0IC1lJyBhbmQgdGhlCisgICAgRVJSIHRyYXAuCisKK2suICBUaGUgc291cmNlLy4gYnVpbHRpbiBub3cgcmVtb3ZlcyBOVUwgYnl0ZXMgZnJvbSB0aGUgZmlsZSBiZWZvcmUgYXR0ZW1wdGluZworICAgIHRvIHBhcnNlIGNvbW1hbmRzLgorCitsLiAgVGhlcmUgaXMgYSBuZXcgY29uZmlndXJhdGlvbiBvcHRpb24gKGluIGNvbmZpZy10b3AuaCkgdGhhdCBmb3JjZXMgYmFzaCB0bworICAgIGZvcndhcmQgYWxsIGhpc3RvcnkgZW50cmllcyB0byBzeXNsb2cuCisKK20uICBBIG5ldyB2YXJpYWJsZSAkQkFTSE9QVFMgdG8gZXhwb3J0IHNoZWxsIG9wdGlvbnMgc2V0dGFibGUgdXNpbmcgYHNob3B0JyB0bworICAgIGNoaWxkIHByb2Nlc3Nlcy4KKworbi4gIFRoZXJlIGlzIGEgbmV3IGNvbmZndXJlIG9wdGlvbiB0aGF0IGZvcmNlcyB0aGUgZXh0Z2xvYiBvcHRpb24gdG8gYmUKKyAgICBlbmFibGVkIGJ5IGRlZmF1bHQuCisKK28uICBOZXcgdmFyaWFibGUgJEJBU0hfWFRSQUNFRkQ7IHdoZW4gc2V0IHRvIGFuIGludGVnZXIgYmFzaCB3aWxsIHdyaXRlIHh0cmFjZQorICAgIG91dHB1dCB0byB0aGF0IGZpbGUgZGVzY3JpcHRvci4KKworcC4gIElmIHRoZSBvcHRpb25hbCBsZWZ0LWhhbmQtc2lkZSBvZiBhIHJlZGlyZWN0aW9uIGlzIG9mIHRoZSBmb3JtIHt2YXJ9LCB0aGUKKyAgICBzaGVsbCBhc3NpZ25zIHRoZSBmaWxlIGRlc2NyaXB0b3IgdXNlZCB0byAkdmFyIG9yIHVzZXMgJHZhciBhcyB0aGUgZmlsZQorICAgIGRlc2NyaXB0b3IgdG8gbW92ZSBvciBjbG9zZSwgZGVwZW5kaW5nIG9uIHRoZSByZWRpcmVjdGlvbiBvcGVyYXRvci4KKworcS4gIFRoZSA8IGFuZCA+IG9wZXJhdG9ycyB0byB0aGUgW1sgY29uZGl0aW9uYWwgY29tbWFuZCBub3cgZG8gc3RyaW5nCisgICAgY29tcGFyaXNvbiBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgbG9jYWxlIGlmIHRoZSBjb21wYXRpYmlsaXR5IGxldmVsCisgICAgaXMgZ3JlYXRlciB0aGFuIDQwLgorCityLiAgUHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gbm93IHVzZXMgdGhlIGNvbXBsZXRpb24gZm9yIGBiJyBpbnN0ZWFkIG9mIGBhJworICAgIHdoZW4gY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQgb24gYSBsaW5lIGxpa2U6IGEgJChiIGMuCisKK3MuICBGb3JjZSBleHRnbG9iIG9uIHRlbXBvcmFyaWx5IHdoZW4gcGFyc2luZyB0aGUgcGF0dGVybiBhcmd1bWVudCB0bworICAgIHRoZSA9PSBhbmQgIT0gb3BlcmF0b3JzIHRvIHRoZSBbWyBjb21tYW5kLCBmb3IgY29tcGF0aWJpbGl0eS4KKwordC4gIENoYW5nZWQgdGhlIGJlaGF2aW9yIG9mIGludGVycnVwdGluZyB0aGUgd2FpdCBidWlsdGluIHdoZW4gYSBTSUdDSExEIGlzCisgICAgcmVjZWl2ZWQgYW5kIGEgdHJhcCBvbiBTSUdDSExEIGlzIHNldCB0byBiZSBQb3NpeC1tb2RlIG9ubHkuCisKK3UuICBUaGUgcmVhZCBidWlsdGluIGhhcyBhIG5ldyBgLU4gbmNoYXJzJyBvcHRpb24sIHdoaWNoIHJlYWRzIGV4YWN0bHkgTkNIQVJTCisgICAgY2hhcmFjdGVycywgaWdub3JpbmcgZGVsaW1pdGVycyBsaWtlIG5ld2xpbmUuCisKK3YuICBUaGUgbWFwZmlsZS9yZWFkYXJyYXkgYnVpbHRpbiBubyBsb25nZXIgc3RvcmVzIHRoZSBjb21tYW5kcyBpdCBpbnZva2VzIHZpYQorICAgIGNhbGxiYWNrcyBpbiB0aGUgaGlzdG9yeSBsaXN0LgorCit3LiAgVGhlcmUgaXMgYSBuZXcgYGNvbXBhdDQwJyBzaG9wdCBvcHRpb24uCisKKzIuICBOZXcgRmVhdHVyZXMgaW4gUmVhZGxpbmUKKworYS4gIE5ldyBiaW5kYWJsZSBmdW5jdGlvbjogbWVudS1jb21wbGV0ZS1iYWNrd2FyZC4KKworYi4gIEluIHRoZSB2aSBpbnNlcnRpb24ga2V5bWFwLCBDLW4gaXMgbm93IGJvdW5kIHRvIG1lbnUtY29tcGxldGUgYnkgZGVmYXVsdCwKKyAgICBhbmQgQy1wIHRvIG1lbnUtY29tcGxldGUtYmFja3dhcmQuCisKK2MuICBXaGVuIGluIHZpIGNvbW1hbmQgbW9kZSwgcmVwZWF0ZWRseSBoaXR0aW5nIEVTQyBub3cgZG9lcyBub3RoaW5nLCBldmVuCisgICAgd2hlbiBFU0MgaW50cm9kdWNlcyBhIGJvdW5kIGtleSBzZXF1ZW5jZS4gIFRoaXMgaXMgY2xvc2VyIHRvIGhvdworICAgIGhpc3RvcmljYWwgdmkgYmVoYXZlcy4KKworZC4gIE5ldyBiaW5kYWJsZSBmdW5jdGlvbjogc2tpcC1jc2ktc2VxdWVuY2UuICBDYW4gYmUgdXNlZCBhcyBhIGRlZmF1bHQgdG8KKyAgICBjb25zdW1lIGtleSBzZXF1ZW5jZXMgZ2VuZXJhdGVkIGJ5IGtleXMgbGlrZSBIb21lIGFuZCBFbmQgd2l0aG91dCBoYXZpbmcKKyAgICB0byBiaW5kIGFsbCBrZXlzLgorCitlLiAgTmV3IGFwcGxpY2F0aW9uLXNldHRhYmxlIGZ1bmN0aW9uOiBybF9maWxlbmFtZV9yZXdyaXRlX2hvb2suICBDYW4gYmUgdXNlZAorICAgIHRvIHJld2l0ZSBvciBtb2RpZnkgZmlsZW5hbWVzIHJlYWQgZnJvbSB0aGUgZmlsZSBzeXN0ZW0gYmVmb3JlIHRoZXkgYXJlCisgICAgY29tcGFyZWQgdG8gdGhlIHdvcmQgdG8gYmUgY29tcGxldGVkLgorCitmLiAgTmV3IGJpbmRhYmxlIHZhcmlhYmxlOiBza2lwLWNvbXBsZXRlZC10ZXh0LCBhY3RpdmUgd2hlbiBjb21wbGV0aW5nIGluIHRoZQorICAgIG1pZGRsZSBvZiBhIHdvcmQuICBJZiBlbmFibGVkLCBpdCBtZWFucyB0aGF0IGNoYXJhY3RlcnMgaW4gdGhlIGNvbXBsZXRpb24KKyAgICB0aGF0IG1hdGNoIGNoYXJhY3RlcnMgaW4gdGhlIHJlbWFpbmRlciBvZiB0aGUgd29yZCBhcmUgInNraXBwZWQiIHJhdGhlcgorICAgIHRoYW4gaW5zZXJ0ZWQgaW50byB0aGUgbGluZS4KKworZy4gIFRoZSBwcmUtcmVhZGxpbmUtNi4wIHZlcnNpb24gb2YgbWVudSBjb21wbGV0aW9uIGlzIGF2YWlsYWJsZSBhcworICAgICJvbGQtbWVudS1jb21wbGV0ZSIgZm9yIHVzZXJzIHdobyBkbyBub3QgbGlrZSB0aGUgcmVhZGxpbmUtNi4wIHZlcnNpb24uCisKK2guICBOZXcgYmluZGFibGUgdmFyaWFibGU6IGVjaG8tY29udHJvbC1jaGFyYWN0ZXJzLiAgSWYgZW5hYmxlZCwgYW5kIHRoZQorICAgIHR0eSBFQ0hPQ1RMIGJpdCBpcyBzZXQsIGNvbnRyb2xzIHRoZSBlY2hvaW5nIG9mIGNoYXJhY3RlcnMgY29ycmVzcG9uZGluZworICAgIHRvIGtleWJvYXJkLWdlbmVyYXRlZCBzaWduYWxzLgorCitpLiAgTmV3IGJpbmRhYmxlIHZhcmlhYmxlOiBlbmFibGUtbWV0YS1rZXkuICBDb250cm9scyB3aGV0aGVyIG9yIG5vdCByZWFkbGluZQorICAgIHNlbmRzIHRoZSBzbW0vcm1tIHNlcXVlbmNlcyBpZiB0aGUgdGVybWluYWwgaW5kaWNhdGVzIGl0IGhhcyBhIG1ldGEga2V5CisgICAgdGhhdCBlbmFibGVzIGVpZ2h0LWJpdCBjaGFyYWN0ZXJzLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBUaGlzIGlzIGEgdGVyc2UgZGVzY3JpcHRpb24gb2YgdGhlIG5ldyBmZWF0dXJlcyBhZGRlZCB0byBiYXNoLTQuMCBzaW5jZQogdGhlIHJlbGVhc2Ugb2YgYmFzaC0zLjIuICBBcyBhbHdheXMsIHRoZSBtYW51YWwgcGFnZSAoZG9jL2Jhc2guMSkgaXMKIHRoZSBwbGFjZSB0byBsb29rIGZvciBjb21wbGV0ZSBkZXNjcmlwdGlvbnMuCkBAIC0xNDEwLDMgKzE1MjcsOSBAQAogCiBmLiAgVGhlIE5FV0xJTkUgY2hhcmFjdGVyICheSikgaXMgbm93IHRyZWF0ZWQgYXMgYSBzZWFyY2ggdGVybWluYXRvciBieSB0aGUKICAgICBpbmNyZW1lbnRhbCBzZWFyY2ggZnVuY3Rpb25zLgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitDb3B5aW5nIGFuZCBkaXN0cmlidXRpb24gb2YgdGhpcyBmaWxlLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLAorYXJlIHBlcm1pdHRlZCBpbiBhbnkgbWVkaXVtIHdpdGhvdXQgcm95YWx0eSBwcm92aWRlZCB0aGUgY29weXJpZ2h0Citub3RpY2UgYW5kIHRoaXMgbm90aWNlIGFyZSBwcmVzZXJ2ZWQuICBUaGlzIGZpbGUgaXMgb2ZmZXJlZCBhcy1pcywKK3dpdGhvdXQgYW55IHdhcnJhbnR5LgpkaWZmIC0tZ2l0IGEvTk9URVMgYi9OT1RFUwppbmRleCBiOTM4ZDAyLi40ZmU5ZTZjIDEwMDY0NAotLS0gYS9OT1RFUworKysgYi9OT1RFUwpAQCAtMzQ0LDQgKzM0NCw4IEBACiAgICAgIEFwcGxlIHNoaXBzIGluYWRlcXVhdGUgZHluYW1pYyBsaWJyZWFkbGluZSBhbmQgbGliaGlzdG9yeSAicmVwbGFjZW1lbnRzIgogICAgICBhcyBzdGFuZGFyZCBsaWJyYXJpZXMuCiAKLSAgCisyMC4gIElmIHlvdSdyZSBvbiBhIHN5c3RlbSBsaWtlIFNHSSBJcml4LCBhbmQgeW91IGdldCBhbiBlcnJvciBhYm91dCBub3QKKyAgICAgYmVpbmcgYWJsZSB0byByZWZlciB0byBhIGR5bmFtaWMgc3ltYm9sCisgICAgIChsZDogbm9uLWR5bmFtaWMgcmVsb2NhdGlvbnMgcmVmZXIgdG8gZHluYW1pYyBzeW1ib2wgUEMpLCBhZGQKKyAgICAgLURORUVEX0VYVEVSTl9QQyB0byB0aGUgTE9DQUxfQ0ZMQUdTIHZhcmlhYmxlIGluIGxpYi9yZWFkbGluZS9NYWtlZmlsZS5pbgorICAgICBhbmQgcmVidWlsZC4KZGlmZiAtLWdpdCBhL1BPU0lYIGIvUE9TSVgKaW5kZXggZjZiNmIzZS4uNmM1N2I4NyAxMDA2NDQKLS0tIGEvUE9TSVgKKysrIGIvUE9TSVgKQEAgLTE2NCw2ICsxNjQsMTAgQEAKICA0Mi4gVGhlIGB1bGltaXQnIGJ1aWx0aW4gdXNlcyBhIGJsb2NrIHNpemUgb2YgNTEyIGJ5dGVzIGZvciB0aGUgYC1jJwogICAgICBhbmQgYC1mJyBvcHRpb25zLgogCisgNDMuIFRoZSBhcnJpdmFsIG9mIGBTSUdDSExEJyAgd2hlbiBhIHRyYXAgaXMgc2V0IG9uIGBTSUdDSExEJyBkb2VzIG5vdAorICAgICBpbnRlcnJ1cHQgdGhlIGB3YWl0JyBidWlsdGluIGFuZCBjYXVzZSBpdCB0byByZXR1cm4gaW1tZWRpYXRlbHkuCisgICAgIFRoZSB0cmFwIGNvbW1hbmQgaXMgcnVuIG9uY2UgZm9yIGVhY2ggY2hpbGQgdGhhdCBleGl0cy4KKwogCiBUaGVyZSBpcyBvdGhlciBQT1NJWCBiZWhhdmlvciB0aGF0IEJhc2ggZG9lcyBub3QgaW1wbGVtZW50IGJ5IGRlZmF1bHQKIGV2ZW4gd2hlbiBpbiBQT1NJWCBtb2RlLiAgU3BlY2lmaWNhbGx5OgpkaWZmIC0tZ2l0IGEvUkVBRE1FIGIvUkVBRE1FCmluZGV4IDJkNDNjZWEuLmM1YzcxNTkgMTAwNjQ0Ci0tLSBhL1JFQURNRQorKysgYi9SRUFETUUKQEAgLTEsNyArMSw3IEBACiBJbnRyb2R1Y3Rpb24KID09PT09PT09PT09PQogCi1UaGlzIGlzIEdOVSBCYXNoLCB2ZXJzaW9uIDQuMC4gIEJhc2ggaXMgdGhlIEdOVSBQcm9qZWN0J3MgQm91cm5lCitUaGlzIGlzIEdOVSBCYXNoLCB2ZXJzaW9uIDQuMS4gIEJhc2ggaXMgdGhlIEdOVSBQcm9qZWN0J3MgQm91cm5lCiBBZ2FpbiBTSGVsbCwgYSBjb21wbGV0ZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUE9TSVguMiBzaGVsbCBzcGVjLAogYnV0IGFsc28gd2l0aCBpbnRlcmFjdGl2ZSBjb21tYW5kIGxpbmUgZWRpdGluZywgam9iIGNvbnRyb2wgb24KIGFyY2hpdGVjdHVyZXMgdGhhdCBzdXBwb3J0IGl0LCBjc2gtbGlrZSBmZWF0dXJlcyBzdWNoIGFzIGhpc3RvcnkKQEAgLTE1LDggKzE1LDggQEAKIGZyb20gdGhlIFBPU0lYLjIgc3BlYyBhbmQgYSBkZXNjcmlwdGlvbiBvZiB0aGUgQmFzaCBgcG9zaXggbW9kZScuCiAKIFRoZXJlIGFyZSBzb21lIHVzZXItdmlzaWJsZSBpbmNvbXBhdGliaWxpdGllcyBiZXR3ZWVuIHRoaXMgdmVyc2lvbgotb2YgQmFzaCBhbmQgcHJldmlvdXMgd2lkZWx5LWRpc3RyaWJ1dGVkIHZlcnNpb25zLCBiYXNoLTIuMDViIGFuZAotYmFzaC0zLjIuICBGb3IgZGV0YWlscywgc2VlIHRoZSBmaWxlIENPTVBBVC4gIFRoZSBORVdTIGZpbGUgdGVyc2VseQorb2YgQmFzaCBhbmQgcHJldmlvdXMgd2lkZWx5LWRpc3RyaWJ1dGVkIHZlcnNpb25zLCBiYXNoLTMuMiBhbmQKK2Jhc2gtNC4wLiAgRm9yIGRldGFpbHMsIHNlZSB0aGUgZmlsZSBDT01QQVQuICBUaGUgTkVXUyBmaWxlIHRlcnNlbHkKIGxpc3RzIGZlYXR1cmVzIHRoYXQgYXJlIG5ldyBpbiB0aGlzIHJlbGVhc2UuIAogCiBCYXNoIGlzIGZyZWUgc29mdHdhcmUsIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgW0dOVV0gR2VuZXJhbApAQCAtODksMyArODksOCBAQAogCiBDaGV0IFJhbWV5CiBjaGV0LnJhbWV5QGNhc2UuZWR1CisKK0NvcHlpbmcgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpbGUsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sCithcmUgcGVybWl0dGVkIGluIGFueSBtZWRpdW0gd2l0aG91dCByb3lhbHR5IHByb3ZpZGVkIHRoZSBjb3B5cmlnaHQKK25vdGljZSBhbmQgdGhpcyBub3RpY2UgYXJlIHByZXNlcnZlZC4gIFRoaXMgZmlsZSBpcyBvZmZlcmVkIGFzLWlzLAord2l0aG91dCBhbnkgd2FycmFudHkuCmRpZmYgLS1naXQgYS9hY2xvY2FsLm00IGIvYWNsb2NhbC5tNAppbmRleCA1YTc0MmJjLi4xMGE0NzQxIDEwMDY0NAotLS0gYS9hY2xvY2FsLm00CisrKyBiL2FjbG9jYWwubTQKQEAgLTgwLDYgKzgwLDkgQEAKICNpZiBIQVZFX0lOVFRZUEVTX0gKICNpbmNsdWRlIDxpbnR0eXBlcy5oPgogI2VuZGlmCisjaWYgSEFWRV9TVERJTlRfSAorI2luY2x1ZGUgPHN0ZGludC5oPgorI2VuZGlmCiAkMgogXSwgYmFzaF9jdl90eXBlXyQxPXllcywgYmFzaF9jdl90eXBlXyQxPW5vKV0pCiBBQ19NU0dfUkVTVUxUKCRiYXNoX2N2X3R5cGVfJDEpCkBAIC0xNjkwLDkgKzE2OTMsMTIgQEAKIEFDX0NIRUNLX0hFQURFUlMobGFuZ2luZm8uaCkKIAogQUNfQ0hFQ0tfRlVOQyhtYnJsZW4sIEFDX0RFRklORShIQVZFX01CUkxFTikpCitBQ19DSEVDS19GVU5DKG1ic2Nhc2VjbXAsIEFDX0RFRklORShIQVZFX01CU0NNUCkpCiBBQ19DSEVDS19GVU5DKG1ic2NtcCwgQUNfREVGSU5FKEhBVkVfTUJTQ01QKSkKIEFDX0NIRUNLX0ZVTkMobWJzcnRvd2NzLCBBQ19ERUZJTkUoSEFWRV9NQlNSVE9XQ1MpKQogCitBQ19SRVBMQUNFX0ZVTkNTKG1ic2NocikKKwogQUNfQ0hFQ0tfRlVOQyh3Y3J0b21iLCBBQ19ERUZJTkUoSEFWRV9XQ1JUT01CKSkKIEFDX0NIRUNLX0ZVTkMod2NzY29sbCwgQUNfREVGSU5FKEhBVkVfV0NTQ09MTCkpCiBBQ19DSEVDS19GVU5DKHdjc2R1cCwgQUNfREVGSU5FKEhBVkVfV0NTRFVQKSkKQEAgLTE3NTMsNiArMTc1OSwxMyBAQAogICAgICAgICBBQ19ERUZJTkUoSEFWRV9XSU5UX1QsIDEsIFtzeXN0ZW1zIHNob3VsZCBkZWZpbmUgdGhpcyB0eXBlIGhlcmVdKQogZmkKIAoraWYgdGVzdCAiJGFtX2N2X2Z1bmNfaWNvbnYiID0geWVzOyB0aGVuCisJT0xETElCUz0iJExJQlMiCisJTElCUz0iJExJQlMgJExJQklDT05WIgorCUFDX0NIRUNLX0ZVTkNTKGxvY2FsZV9jaGFyc2V0KQorCUxJQlM9IiRPTERMSUJTIgorZmkKKwogXSkKIAogZG5sIG5lZWQ6IHByZWZpeCBleGVjX3ByZWZpeCBsaWJkaXIgaW5jbHVkZWRpciBDQyBURVJNQ0FQX0xJQgpAQCAtNDAxOCwzICs0MDMxLDg3IEBACiAgIEFDX0NIRUNLX0ZVTkNTX09OQ0UoW19fZnB1cmdlXSkKICAgQUNfQ0hFQ0tfREVDTFMoW2ZwdXJnZV0sICwgLCBbI2luY2x1ZGUgPHN0ZGlvLmg+XSkKIF0pCisKK0FDX0RFRlVOKFtCQVNIX0ZVTkNfU05QUklOVEZdLAorWworICBBQ19DSEVDS19GVU5DU19PTkNFKFtzbnByaW50Zl0pCisgIGlmIHRlc3QgWCRhY19jdl9mdW5jX3NucHJpbnRmID0gWHllczsgdGhlbgorICAgIEFDX0NBQ0hFX0NIRUNLKFtmb3Igc3RhbmRhcmQtY29uZm9ybWFudCBzbnByaW50Zl0sIFtiYXNoX2N2X2Z1bmNfc25wcmludGZdLAorICAgICAgW0FDX1RSWV9SVU4oWworI2luY2x1ZGUgPHN0ZGlvLmg+CisKK21haW4oKQoreworICBpbnQgbjsKKyAgbiA9IHNucHJpbnRmICgwLCAwLCAiJXMiLCAiMDEyMzQ1NiIpOworICBleGl0KG4gIT0gNyk7Cit9CitdLCBiYXNoX2N2X2Z1bmNfc25wcmludGY9eWVzLCBiYXNoX2N2X2Z1bmNfc25wcmludGY9bm8sCisgICBbQUNfTVNHX1dBUk4oW2Nhbm5vdCBjaGVjayBzdGFuZGFyZCBzbnByaW50ZiBpZiBjcm9zcy1jb21waWxpbmddKQorICAgIGJhc2hfY3ZfZnVuY19zbnByaW50Zj15ZXNdCispXSkKKyAgICBpZiB0ZXN0ICRiYXNoX2N2X2Z1bmNfc25wcmludGYgPSBubzsgdGhlbgorICAgICAgYWNfY3ZfZnVuY19zbnByaW50Zj1ubworICAgIGZpCisgIGZpCisgIGlmIHRlc3QgJGFjX2N2X2Z1bmNfc25wcmludGYgPSBubzsgdGhlbgorICAgIEFDX0RFRklORShIQVZFX1NOUFJJTlRGLCAwLAorICAgICAgW0RlZmluZSBpZiB5b3UgaGF2ZSBhIHN0YW5kYXJkLWNvbmZvcm1hbnQgc25wcmludGYgZnVuY3Rpb24uXSkKKyAgZmkKK10pCisKK0FDX0RFRlVOKFtCQVNIX0ZVTkNfVlNOUFJJTlRGXSwKK1sKKyAgQUNfQ0hFQ0tfRlVOQ1NfT05DRShbdnNucHJpbnRmXSkKKyAgaWYgdGVzdCBYJGFjX2N2X2Z1bmNfdnNucHJpbnRmID0gWHllczsgdGhlbgorICAgIEFDX0NBQ0hFX0NIRUNLKFtmb3Igc3RhbmRhcmQtY29uZm9ybWFudCB2c25wcmludGZdLCBbYmFzaF9jdl9mdW5jX3ZzbnByaW50Zl0sCisgICAgICBbQUNfVFJZX1JVTihbCisjaWYgSEFWRV9TVERBUkdfSAorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2Vsc2UKKyNpbmNsdWRlIDx2YXJhcmdzLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorCitzdGF0aWMgaW50CisjaWYgSEFWRV9TVERBUkdfSAorZm9vKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQorI2Vsc2UKK2Zvbyhmb3JtYXQsIHZhX2FsaXN0KQorICAgICBjb25zdCBjaGFyICpmb3JtYXQ7CisgICAgIHZhX2RjbAorI2VuZGlmCit7CisgIHZhX2xpc3QgYXJnczsKKyAgaW50IG47CisKKyNpZiBIQVZFX1NUREFSR19ICisgIHZhX3N0YXJ0KGFyZ3MsIGZtdCk7CisjZWxzZQorICB2YV9zdGFydChhcmdzKTsKKyNlbmRpZgorICBuID0gdnNucHJpbnRmKDAsIDAsIGZtdCwgYXJncyk7CisgIHZhX2VuZCAoYXJncyk7CisgIHJldHVybiBuOworfQorCittYWluKCkKK3sKKyAgaW50IG47CisgIG4gPSBmb28oIiVzIiwgIjAxMjM0NTYiKTsKKyAgZXhpdChuICE9IDcpOworfQorXSwgYmFzaF9jdl9mdW5jX3ZzbnByaW50Zj15ZXMsIGJhc2hfY3ZfZnVuY192c25wcmludGY9bm8sCisgICBbQUNfTVNHX1dBUk4oW2Nhbm5vdCBjaGVjayBzdGFuZGFyZCB2c25wcmludGYgaWYgY3Jvc3MtY29tcGlsaW5nXSkKKyAgICBiYXNoX2N2X2Z1bmNfdnNucHJpbnRmPXllc10KKyldKQorICAgIGlmIHRlc3QgJGJhc2hfY3ZfZnVuY192c25wcmludGYgPSBubzsgdGhlbgorICAgICAgYWNfY3ZfZnVuY192c25wcmludGY9bm8KKyAgICBmaQorICBmaQorICBpZiB0ZXN0ICRhY19jdl9mdW5jX3ZzbnByaW50ZiA9IG5vOyB0aGVuCisgICAgQUNfREVGSU5FKEhBVkVfVlNOUFJJTlRGLCAwLAorICAgICAgW0RlZmluZSBpZiB5b3UgaGF2ZSBhIHN0YW5kYXJkLWNvbmZvcm1hbnQgdnNucHJpbnRmIGZ1bmN0aW9uLl0pCisgIGZpCitdKQpkaWZmIC0tZ2l0IGEvYWxpYXMuYyBiL2FsaWFzLmMKaW5kZXggMmVlZGFkNS4uNTU4NjY1ZSAxMDA2NDQKLS0tIGEvYWxpYXMuYworKysgYi9hbGlhcy5jCkBAIC01MjYsNyArNTI2LDcgQEAKICAgICAgIC8qIElmIHRoZXJlIGlzIGEgYmFja3NsYXNoLWVzY2FwZWQgY2hhcmFjdGVyIHF1b3RlZCBpbiBUT0tFTiwKIAkgdGhlbiB3ZSBkb24ndCBkbyBhbGlhcyBleHBhbnNpb24uICBUaGlzIHNob3VsZCBjaGVjayBmb3IgYWxsCiAJIG90aGVyIHF1b3RpbmcgY2hhcmFjdGVycywgdG9vLiAqLwotICAgICAgaWYgKHhzdHJjaHIgKHRva2VuLCAnXFwnKSkKKyAgICAgIGlmIChtYnNjaHIgKHRva2VuLCAnXFwnKSkKIAlleHBhbmRfdGhpc190b2tlbiA9IDA7CiAKICAgICAgIC8qIElmIHdlIHNob3VsZCBiZSBleHBhbmRpbmcgaGVyZSwgaWYgd2UgYXJlIGV4cGFuZGluZyBhbGwgd29yZHMsIG9yIGlmCmRpZmYgLS1naXQgYS9hcnJheS5jIGIvYXJyYXkuYwppbmRleCBhOGM3NzY2Li4yN2ZlMTcwIDEwMDY0NAotLS0gYS9hcnJheS5jCisrKyBiL2FycmF5LmMKQEAgLTU1LDYgKzU1LDMxIEBACiAKIHN0YXRpYyBjaGFyICphcnJheV90b19zdHJpbmdfaW50ZXJuYWwgX19QKChBUlJBWV9FTEVNRU5UICosIEFSUkFZX0VMRU1FTlQgKiwgY2hhciAqLCBpbnQpKTsKIAorc3RhdGljIEFSUkFZICpsYXN0YXJyYXkgPSAwOworc3RhdGljIEFSUkFZX0VMRU1FTlQgKmxhc3RyZWYgPSAwOworCisjZGVmaW5lIElTX0xBU1RSRUYoYSkJKChhKSA9PSBsYXN0YXJyYXkpCisKKyNkZWZpbmUgSU5WQUxJREFURV9MQVNUUkVGKGEpIFwKK2RvIHsgXAorCWlmICgoYSkgPT0gbGFzdGFycmF5KSB7IFwKKwkJbGFzdGFycmF5ID0gMDsgXAorCQlsYXN0cmVmID0gMDsgXAorCX0gXAorfSB3aGlsZSAoMCkKKworI2RlZmluZSBTRVRfTEFTVFJFRihhLCBlKSBcCitkbyB7IFwKKwlsYXN0YXJyYXkgPSAoYSk7IFwKKwlsYXN0cmVmID0gKGUpOyBcCit9IHdoaWxlICgwKQorCisjZGVmaW5lIFVOU0VUX0xBU1RSRUYoKSBcCitkbyB7IFwKKwlsYXN0YXJyYXkgPSAwOyBcCisJbGFzdHJlZiA9IDA7IFwKK30gd2hpbGUgKDApCisKIEFSUkFZICoKIGFycmF5X2NyZWF0ZSgpCiB7CkBAIC04Nyw2ICsxMTIsNyBAQAogCWEtPmhlYWQtPm5leHQgPSBhLT5oZWFkLT5wcmV2ID0gYS0+aGVhZDsKIAlhLT5tYXhfaW5kZXggPSAtMTsKIAlhLT5udW1fZWxlbWVudHMgPSAwOworCUlOVkFMSURBVEVfTEFTVFJFRihhKTsKIH0KIAogdm9pZApAQCAtMTg1LDYgKzIxMSw3IEBACiAJaWYgKGEgPT0gMCB8fCBhcnJheV9lbXB0eShhKSB8fCBuIDw9IDApCiAJCXJldHVybiAoKEFSUkFZX0VMRU1FTlQgKilOVUxMKTsKIAorCUlOVkFMSURBVEVfTEFTVFJFRihhKTsKIAlmb3IgKGkgPSAwLCByZXQgPSBhZSA9IGVsZW1lbnRfZm9ydyhhLT5oZWFkKTsgYWUgIT0gYS0+aGVhZCAmJiBpIDwgbjsgYWUgPSBlbGVtZW50X2ZvcncoYWUpLCBpKyspCiAJCTsKIAlpZiAoYWUgPT0gYS0+aGVhZCkgewpAQCAtMjE0LDcgKzI0MSw3IEBACiAJCWVsZW1lbnRfaW5kZXgoYWUpIC09IG47CS8qIHJlbnVtYmVyIHJldGFpbmVkIGluZGljZXMgKi8KIAogCWEtPm51bV9lbGVtZW50cyAtPSBuOwkJLyogbW9kaWZ5IGJvb2trZWVwaW5nIGluZm9ybWF0aW9uICovCi0JYS0+bWF4X2luZGV4IC09IG47CisJYS0+bWF4X2luZGV4ID0gZWxlbWVudF9pbmRleChhLT5oZWFkLT5wcmV2KTsKIAogCWlmIChmbGFncyAmIEFTX0RJU1BPU0UpIHsKIAkJZm9yIChhZSA9IHJldDsgYWU7ICkgewpAQCAtMjUxLDggKzI3OCwxMCBAQAogCQluZXcgPSBhcnJheV9jcmVhdGVfZWxlbWVudCgwLCBzKTsKIAkJQUREX0JFRk9SRShhZSwgbmV3KTsKIAkJYS0+bnVtX2VsZW1lbnRzKys7Ci0JCWlmIChhcnJheV9udW1fZWxlbWVudHMoYSkgPT0gMSkJCS8qIGFycmF5IHdhcyBlbXB0eSAqLworCQlpZiAoYXJyYXlfbnVtX2VsZW1lbnRzKGEpID09IDEpCXsJLyogYXJyYXkgd2FzIGVtcHR5ICovCisJCQlhLT5tYXhfaW5kZXggPSAwOwogCQkJcmV0dXJuIDE7CisJCX0KIAl9CiAKIAkvKgpAQCAtMjYzLDYgKzI5Miw3IEBACiAKIAlhLT5tYXhfaW5kZXggPSBlbGVtZW50X2luZGV4KGEtPmhlYWQtPnByZXYpOwogCisJSU5WQUxJREFURV9MQVNUUkVGKGEpOwogCXJldHVybiAoYS0+bnVtX2VsZW1lbnRzKTsKIH0KIApAQCAtNTk0LDYgKzYyNCw3IEBACiAJCUFERF9CRUZPUkUoYS0+aGVhZCwgbmV3KTsKIAkJYS0+bWF4X2luZGV4ID0gaTsKIAkJYS0+bnVtX2VsZW1lbnRzKys7CisJCVNFVF9MQVNUUkVGKGEsIG5ldyk7CiAJCXJldHVybigwKTsKIAl9CiAJLyoKQEAgLTYwNywxMyArNjM4LDE2IEBACiAJCQlhcnJheV9kaXNwb3NlX2VsZW1lbnQobmV3KTsKIAkJCWZyZWUoZWxlbWVudF92YWx1ZShhZSkpOwogCQkJYWUtPnZhbHVlID0gdiA/IHNhdmVzdHJpbmcodikgOiAoY2hhciAqKU5VTEw7CisJCQlTRVRfTEFTVFJFRihhLCBhZSk7CiAJCQlyZXR1cm4oMCk7CiAJCX0gZWxzZSBpZiAoZWxlbWVudF9pbmRleChhZSkgPiBpKSB7CiAJCQlBRERfQkVGT1JFKGFlLCBuZXcpOwogCQkJYS0+bnVtX2VsZW1lbnRzKys7CisJCQlTRVRfTEFTVFJFRihhLCBuZXcpOwogCQkJcmV0dXJuKDApOwogCQl9CiAJfQorCUlOVkFMSURBVEVfTEFTVFJFRihhKTsKIAlyZXR1cm4gKC0xKTsJCS8qIHByb2JsZW0gKi8KIH0KIApAQCAtNjM3LDYgKzY3MSw3IEBACiAJCQlhLT5udW1fZWxlbWVudHMtLTsKIAkJCWlmIChpID09IGFycmF5X21heF9pbmRleChhKSkKIAkJCQlhLT5tYXhfaW5kZXggPSBlbGVtZW50X2luZGV4KGFlLT5wcmV2KTsKKwkJCUlOVkFMSURBVEVfTEFTVFJFRihhKTsKIAkJCXJldHVybihhZSk7CiAJCX0KIAlyZXR1cm4oKEFSUkFZX0VMRU1FTlQgKikgTlVMTCk7CkBAIC02NTQsOSArNjg5LDE5IEBACiAKIAlpZiAoYSA9PSAwIHx8IGFycmF5X2VtcHR5KGEpKQogCQlyZXR1cm4oKGNoYXIgKikgTlVMTCk7Ci0JZm9yIChhZSA9IGVsZW1lbnRfZm9ydyhhLT5oZWFkKTsgYWUgIT0gYS0+aGVhZDsgYWUgPSBlbGVtZW50X2ZvcncoYWUpKQotCQlpZiAoZWxlbWVudF9pbmRleChhZSkgPT0gaSkKKwlpZiAoaSA+IGFycmF5X21heF9pbmRleChhKSkKKwkJcmV0dXJuKChjaGFyICopTlVMTCk7CisJLyogS2VlcCByb3ZpbmcgcG9pbnRlciBpbnRvIGFycmF5IHRvIG9wdGltaXplIHNlcXVlbnRpYWwgYWNjZXNzICovCisJaWYgKGxhc3RyZWYgJiYgSVNfTEFTVFJFRihhKSkKKwkJYWUgPSAoaSA+PSBlbGVtZW50X2luZGV4KGxhc3RyZWYpKSA/IGxhc3RyZWYgOiBlbGVtZW50X2ZvcncoYS0+aGVhZCk7CisJZWxzZQorCQlhZSA9IGVsZW1lbnRfZm9ydyhhLT5oZWFkKTsKKwlmb3IgKCA7IGFlICE9IGEtPmhlYWQ7IGFlID0gZWxlbWVudF9mb3J3KGFlKSkKKwkJaWYgKGVsZW1lbnRfaW5kZXgoYWUpID09IGkpIHsKKwkJCVNFVF9MQVNUUkVGKGEsIGFlKTsKIAkJCXJldHVybihlbGVtZW50X3ZhbHVlKGFlKSk7CisJCX0KKwlVTlNFVF9MQVNUUkVGKCk7CiAJcmV0dXJuKChjaGFyICopIE5VTEwpOwogfQogCmRpZmYgLS1naXQgYS9hcnJheS5oIGIvYXJyYXkuaAppbmRleCAxMDgwZmM5Li5mYjRmNzg5IDEwMDY0NAotLS0gYS9hcnJheS5oCisrKyBiL2FycmF5LmgKQEAgLTMxLDcgKzMxLDggQEAKIAogdHlwZWRlZiBzdHJ1Y3QgYXJyYXkgewogCWVudW0gYXR5cGUJdHlwZTsKLQlhcnJheWluZF90CW1heF9pbmRleCwgbnVtX2VsZW1lbnRzOworCWFycmF5aW5kX3QJbWF4X2luZGV4OworCWludAkJbnVtX2VsZW1lbnRzOwogCXN0cnVjdCBhcnJheV9lbGVtZW50ICpoZWFkOwogfSBBUlJBWTsKIApkaWZmIC0tZ2l0IGEvYXJyYXlmdW5jLmMgYi9hcnJheWZ1bmMuYwppbmRleCBjYzMxM2Q4Li4yMThmYWYzIDEwMDY0NAotLS0gYS9hcnJheWZ1bmMuYworKysgYi9hcnJheWZ1bmMuYwpAQCAtNDA3LDYgKzQwNyw3IEBACiAgIHJldHVybiBubGlzdDsKIH0KIAorLyogQ2FsbGVycyBlbnN1cmUgdGhhdCBWQVIgaXMgbm90IE5VTEwgKi8KIHZvaWQKIGFzc2lnbl9jb21wb3VuZF9hcnJheV9saXN0ICh2YXIsIG5saXN0LCBmbGFncykKICAgICAgU0hFTExfVkFSICp2YXI7CkBAIC00MzEsOSArNDMyLDkgQEAKICAgICAgdmFsdWUuICovCiAgIGlmICgoZmxhZ3MgJiBBU1NfQVBQRU5EKSA9PSAwKQogICAgIHsKLSAgICAgIGlmIChhcnJheV9wICh2YXIpICYmIGEpCisgICAgICBpZiAoYSAmJiBhcnJheV9wICh2YXIpKQogCWFycmF5X2ZsdXNoIChhKTsKLSAgICAgIGVsc2UgaWYgKGFzc29jX3AgKHZhcikgJiYgaCkKKyAgICAgIGVsc2UgaWYgKGggJiYgYXNzb2NfcCAodmFyKSkKIAlhc3NvY19mbHVzaCAoaCk7CiAgICAgfQogCkBAIC00NDcsNyArNDQ4LDcgQEAKICAgICAgIC8qIFdlIGhhdmUgYSB3b3JkIG9mIHRoZSBmb3JtIFtpbmRdPXZhbHVlICovCiAgICAgICBpZiAoKGxpc3QtPndvcmQtPmZsYWdzICYgV19BU1NJR05NRU5UKSAmJiB3WzBdID09ICdbJykKIAl7Ci0JICBsZW4gPSBza2lwc3Vic2NyaXB0ICh3LCAwKTsKKwkgIGxlbiA9IHNraXBzdWJzY3JpcHQgKHcsIDAsICh2YXIgJiYgYXNzb2NfcCAodmFyKSAhPSAwKSk7CiAKIAkgIC8qIFhYWCAtIGNoYW5nZXMgZm9yIGArPScgKi8KICAJICBpZiAod1tsZW5dICE9ICddJyB8fCAod1tsZW4rMV0gIT0gJz0nICYmICh3W2xlbisxXSAhPSAnKycgfHwgd1tsZW4rMl0gIT0gJz0nKSkpCkBAIC01NjAsOCArNTYxLDkgQEAKIHsKICAgc2l6ZV90IHNsZW47CiAgIGludCBzYXdfZXE7Ci0gIGNoYXIgKnRlbXAsICp0OworICBjaGFyICp0ZW1wLCAqdCwgKnN1YnM7CiAgIGNvbnN0IGNoYXIgKnMsICpzZW5kOworICBpbnQgc3MsIHNlOwogICBERUNMQVJFX01CU1RBVEU7CiAKICAgc2xlbiA9IHN0cmxlbiAoc3RyaW5nKTsKQEAgLTU3Myw2ICs1NzUsMjAgQEAKICAgICB7CiAgICAgICBpZiAoKnMgPT0gJz0nKQogCXNhd19lcSA9IDE7CisgICAgICBpZiAoc2F3X2VxID09IDAgJiYgKnMgPT0gJ1snKQkJLyogbG9va3MgbGlrZSBhIHN1YnNjcmlwdCAqLworCXsKKwkgIHNzID0gcyAtIHN0cmluZzsKKwkgIHNlID0gc2tpcHN1YnNjcmlwdCAoc3RyaW5nLCBzcywgMCk7CisJICBzdWJzID0gc3Vic3RyaW5nIChzLCBzcywgc2UpOworCSAgKnQrKyA9ICdcXCc7CisJICBzdHJjcHkgKHQsIHN1YnMpOworCSAgdCArPSBzZSAtIHNzOworCSAgKnQrKyA9ICdcXCc7CisJICAqdCsrID0gJ10nOworCSAgcyArPSBzZSArIDE7CisJICBmcmVlIChzdWJzKTsKKwkgIGNvbnRpbnVlOworCX0KICAgICAgIGlmIChzYXdfZXEgPT0gMCAmJiAoZ2xvYl9jaGFyX3AgKHMpIHx8IGlzaWZzICgqcykpKQogCSp0KysgPSAnXFwnOwogCkBAIC01OTYsNyArNjEyLDcgQEAKICAgICAgIGlmIChsLT53b3JkID09IDAgfHwgbC0+d29yZC0+d29yZCA9PSAwIHx8IGwtPndvcmQtPndvcmRbMF0gPT0gJ1wwJykKIAljb250aW51ZTsJLyogc2hvdWxkIG5vdCBoYXBwZW4sIGJ1dCBqdXN0IGluIGNhc2UuLi4gKi8KICAgICAgIC8qIERvbid0IGJvdGhlciBpZiBpdCBkb2Vzbid0IGxvb2sgbGlrZSBbaW5kXT12YWx1ZSAqLwotICAgICAgaWYgKGwtPndvcmQtPndvcmRbMF0gIT0gJ1snIHx8IHhzdHJjaHIgKGwtPndvcmQtPndvcmQsICc9JykgPT0gMCkgLyogXSAqLworICAgICAgaWYgKGwtPndvcmQtPndvcmRbMF0gIT0gJ1snIHx8IG1ic2NociAobC0+d29yZC0+d29yZCwgJz0nKSA9PSAwKSAvKiBdICovCiAJY29udGludWU7CiAgICAgICBud29yZCA9IHF1b3RlX2Fzc2lnbiAobC0+d29yZC0+d29yZCk7CiAgICAgICBmcmVlIChsLT53b3JkLT53b3JkKTsKQEAgLTYxOSw3ICs2MzUsNyBAQAogICBjaGFyICpha2V5OwogICBBUlJBWV9FTEVNRU5UICphZTsKIAotICBsZW4gPSBza2lwc3Vic2NyaXB0IChzdWIsIDApOworICBsZW4gPSBza2lwc3Vic2NyaXB0IChzdWIsIDAsIDApOwogICBpZiAoc3ViW2xlbl0gIT0gJ10nIHx8IGxlbiA9PSAwKQogICAgIHsKICAgICAgIGJ1aWx0aW5fZXJyb3IgKCIlc1slczogJXMiLCB2YXItPm5hbWUsIHN1YiwgXyhiYXNoX2JhZHN1Yl9lcnJtc2cpKTsKQEAgLTcxMyw3ICs3MjksNyBAQAogICBjaGFyICp0OwogICBpbnQgciwgbGVuOwogCi0gIHQgPSB4c3RyY2hyIChuYW1lLCAnWycpOwkvKiBdICovCisgIHQgPSBtYnNjaHIgKG5hbWUsICdbJyk7CS8qIF0gKi8KICAgaWYgKHQpCiAgICAgewogICAgICAgKnQgPSAnXDAnOwpAQCAtNzIyLDcgKzczOCw3IEBACiAgICAgICBpZiAociA9PSAwKQogCXJldHVybiAwOwogICAgICAgLyogQ2hlY2sgZm9yIGEgcHJvcGVybHktdGVybWluYXRlZCBub24tYmxhbmsgc3Vic2NyaXB0LiAqLwotICAgICAgbGVuID0gc2tpcHN1YnNjcmlwdCAodCwgMCk7CisgICAgICBsZW4gPSBza2lwc3Vic2NyaXB0ICh0LCAwLCAwKTsKICAgICAgIGlmICh0W2xlbl0gIT0gJ10nIHx8IGxlbiA9PSAxKQogCXJldHVybiAwOwogICAgICAgZm9yIChyID0gMTsgciA8IGxlbjsgcisrKQpAQCAtNzczLDcgKzc4OSw3IEBACiAgIGNoYXIgKnQsICpyZXQ7CiAgIGludCBpbmQsIG5pOwogCi0gIHQgPSB4c3RyY2hyIChzLCAnWycpOworICB0ID0gbWJzY2hyIChzLCAnWycpOwogICBpZiAodCA9PSAwKQogICAgIHsKICAgICAgIGlmIChzdWJwKQpAQCAtNzgzLDcgKzc5OSw3IEBACiAgICAgICByZXR1cm4gKChjaGFyICopTlVMTCk7CiAgICAgfQogICBpbmQgPSB0IC0gczsKLSAgbmkgPSBza2lwc3Vic2NyaXB0IChzLCBpbmQpOworICBuaSA9IHNraXBzdWJzY3JpcHQgKHMsIGluZCwgMCk7CiAgIGlmIChuaSA8PSBpbmQgKyAxIHx8IHNbbmldICE9ICddJykKICAgICB7CiAgICAgICBlcnJfYmFkYXJyYXlzdWIgKHMpOwpkaWZmIC0tZ2l0IGEvYXJyYXlmdW5jLmggYi9hcnJheWZ1bmMuaAppbmRleCA0NGRkMzlkLi5jMTJmYzk5IDEwMDY0NAotLS0gYS9hcnJheWZ1bmMuaAorKysgYi9hcnJheWZ1bmMuaApAQCAtMzIsNiArMzIsOCBAQAogZXh0ZXJuIFNIRUxMX1ZBUiAqYmluZF9hcnJheV9lbGVtZW50IF9fUCgoU0hFTExfVkFSICosIGFycmF5aW5kX3QsIGNoYXIgKiwgaW50KSk7CiBleHRlcm4gU0hFTExfVkFSICphc3NpZ25fYXJyYXlfZWxlbWVudCBfX1AoKGNoYXIgKiwgY2hhciAqLCBpbnQpKTsKIAorZXh0ZXJuIFNIRUxMX1ZBUiAqYmluZF9hc3NvY192YXJpYWJsZSBfX1AoKFNIRUxMX1ZBUiAqLCBjaGFyICosIGNoYXIgKiwgY2hhciAqLCBpbnQpKTsKKwogZXh0ZXJuIFNIRUxMX1ZBUiAqZmluZF9vcl9tYWtlX2FycmF5X3ZhcmlhYmxlIF9fUCgoY2hhciAqLCBpbnQpKTsKIAogZXh0ZXJuIFNIRUxMX1ZBUiAqYXNzaWduX2FycmF5X2Zyb21fc3RyaW5nICBfX1AoKGNoYXIgKiwgY2hhciAqLCBpbnQpKTsKQEAgLTQyLDcgKzQ0LDcgQEAKIGV4dGVybiBTSEVMTF9WQVIgKmFzc2lnbl9hcnJheV92YXJfZnJvbV9zdHJpbmcgX19QKChTSEVMTF9WQVIgKiwgY2hhciAqLCBpbnQpKTsKIAogZXh0ZXJuIGludCB1bmJpbmRfYXJyYXlfZWxlbWVudCBfX1AoKFNIRUxMX1ZBUiAqLCBjaGFyICopKTsKLWV4dGVybiBpbnQgc2tpcHN1YnNjcmlwdCBfX1AoKGNvbnN0IGNoYXIgKiwgaW50KSk7CitleHRlcm4gaW50IHNraXBzdWJzY3JpcHQgX19QKChjb25zdCBjaGFyICosIGludCwgaW50KSk7CiAKIGV4dGVybiB2b2lkIHByaW50X2FycmF5X2Fzc2lnbm1lbnQgX19QKChTSEVMTF9WQVIgKiwgaW50KSk7CiBleHRlcm4gdm9pZCBwcmludF9hc3NvY19hc3NpZ25tZW50IF9fUCgoU0hFTExfVkFSICosIGludCkpOwpkaWZmIC0tZ2l0IGEvYXNzb2MuYyBiL2Fzc29jLmMKaW5kZXggNDc2ZmFjYi4uYmJjN2IxNyAxMDA2NDQKLS0tIGEvYXNzb2MuYworKysgYi9hc3NvYy5jCkBAIC00MDUsNyArNDA1LDE0IEBACiAgIGZvciAoaSA9IDA7IGkgPCBoYXNoLT5uYnVja2V0czsgaSsrKQogICAgIGZvciAodGxpc3QgPSBoYXNoX2l0ZW1zIChpLCBoYXNoKTsgdGxpc3Q7IHRsaXN0ID0gdGxpc3QtPm5leHQpCiAgICAgICB7CisjaWYgMQorCWlmIChzaF9jb250YWluc19zaGVsbF9tZXRhcyAodGxpc3QtPmtleSkpCisJICBpc3RyID0gc2hfZG91YmxlX3F1b3RlICh0bGlzdC0+a2V5KTsKKwllbHNlCisJICBpc3RyID0gdGxpc3QtPmtleTsJCisjZWxzZQogCWlzdHIgPSB0bGlzdC0+a2V5OworI2VuZGlmCiAJdnN0ciA9IHRsaXN0LT5kYXRhID8gc2hfZG91YmxlX3F1b3RlICgoY2hhciAqKXRsaXN0LT5kYXRhKSA6IChjaGFyICopMDsKIAogCWVsZW4gPSBTVFJMRU4gKGlzdHIpICsgOCArIFNUUkxFTiAodnN0cik7CkBAIC00MjMsNiArNDMwLDEwIEBACiAJICB9CiAJcmV0W3JsZW4rK10gPSAnICc7CiAKKworCWlmIChpc3RyICE9IHRsaXN0LT5rZXkpCisJICBGUkVFIChpc3RyKTsKKwogCUZSRUUgKHZzdHIpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvYmFzaGhpc3QuYyBiL2Jhc2hoaXN0LmMKaW5kZXggNWM2MWY2Ny4uYTgwOTY4ZiAxMDA2NDQKLS0tIGEvYmFzaGhpc3QuYworKysgYi9iYXNoaGlzdC5jCkBAIC0zOCw2ICszOCwxMCBAQAogCiAjaW5jbHVkZSAiYmFzaGludGwuaCIKIAorI2lmIGRlZmluZWQgKFNZU0xPR19ISVNUT1JZKQorIyAgaW5jbHVkZSA8c3lzbG9nLmg+CisjZW5kaWYKKwogI2luY2x1ZGUgInNoZWxsLmgiCiAjaW5jbHVkZSAiZmxhZ3MuaCIKICNpbmNsdWRlICJpbnB1dC5oIgpAQCAtNjkxLDYgKzY5NSwyNiBAQAogICByZXR1cm4gMDsKIH0KIAorI2lmIGRlZmluZWQgKFNZU0xPR19ISVNUT1JZKQorI2RlZmluZSBTWVNMT0dfTUFYTEVOIDYwMAorCit2b2lkCitiYXNoX3N5c2xvZ19oaXN0b3J5IChsaW5lKQorICAgICBjb25zdCBjaGFyICpsaW5lOworeworICBjaGFyIHRydW5jW1NZU0xPR19NQVhMRU5dOworCisgIGlmIChzdHJsZW4obGluZSkgPCBTWVNMT0dfTUFYTEVOKQorICAgIHN5c2xvZyAoU1lTTE9HX0ZBQ0lMSVRZfFNZU0xPR19MRVZFTCwgIkhJU1RPUlk6IFBJRD0lZCBVSUQ9JWQgJXMiLCBnZXRwaWQoKSwgY3VycmVudF91c2VyLnVpZCwgbGluZSk7CisgIGVsc2UKKyAgICB7CisgICAgICBzdHJuY3B5ICh0cnVuYywgbGluZSwgU1lTTE9HX01BWExFTik7CisgICAgICB0cnVuY1tTWVNMT0dfTUFYTEVOIC0gMV0gPSAnXDAnOworICAgICAgc3lzbG9nIChTWVNMT0dfRkFDSUxJVFl8U1lTTE9HX0xFVkVMLCAiSElTVE9SWSAoVFJVTkNBVEVEKTogUElEPSVkIFVJRD0lZCAlcyIsIGdldHBpZCgpLCBjdXJyZW50X3VzZXIudWlkLCB0cnVuYyk7CisgICAgfQorfQorI2VuZGlmCisgICAgIAkKIC8qIEFkZCBhIGxpbmUgdG8gdGhlIGhpc3RvcnkgbGlzdC4KICAgIFRoZSB2YXJpYWJsZSBDT01NQU5EX09SSUVOVEVEX0hJU1RPUlkgY29udHJvbHMgdGhlIHN0eWxlIG9mIGhpc3RvcnkKICAgIHJlbWVtYmVyaW5nOyAgd2hlbiBub24temVybywgYW5kIExJTkUgaXMgbm90IHRoZSBmaXJzdCBsaW5lIG9mIGEKQEAgLTc0Niw2ICs3NzAsMTAgQEAKICAgaWYgKGFkZF9pdCkKICAgICByZWFsbHlfYWRkX2hpc3RvcnkgKGxpbmUpOwogCisjaWYgZGVmaW5lZCAoU1lTTE9HX0hJU1RPUlkpCisgIGJhc2hfc3lzbG9nX2hpc3RvcnkgKGxpbmUpOworI2VuZGlmCisKICAgdXNpbmdfaGlzdG9yeSAoKTsKIH0KIApkaWZmIC0tZ2l0IGEvYmFzaGxpbmUuYyBiL2Jhc2hsaW5lLmMKaW5kZXggNDU5NGRjZi4uNzY1ODc3MSAxMDA2NDQKLS0tIGEvYmFzaGxpbmUuYworKysgYi9iYXNobGluZS5jCkBAIC04Miw2ICs4Miw5IEBACiBleHRlcm4gaW50IGJhc2hfYnJhY2VfY29tcGxldGlvbiBfX1AoKGludCwgaW50KSk7CiAjZW5kaWYgLyogQlJBQ0VfQ09NUExFVElPTiAqLwogCisvKiBUbyBhdm9pZCBpbmNsdWRpbmcgY3Vyc2VzLmgvdGVybS5oL3Rlcm1jYXAuaCBhbmQgdGhhdCB3aG9sZSBtZXNzLiAqLworZXh0ZXJuIGludCB0cHV0cyBfX1AoKGNvbnN0IGNoYXIgKnN0cmluZywgaW50IG5saW5lcywgaW50ICgqb3V0eCkoaW50KSkpOworCiAvKiBGb3J3YXJkIGRlY2xhcmF0aW9ucyAqLwogCiAvKiBGdW5jdGlvbnMgYm91bmQgdG8ga2V5cyBpbiBSZWFkbGluZSBmb3IgQmFzaCB1c2Vycy4gKi8KQEAgLTExMiw2ICsxMTUsNyBAQAogLyogSGVscGVyIGZ1bmN0aW9ucyBmb3IgUmVhZGxpbmUuICovCiBzdGF0aWMgY2hhciAqcmVzdG9yZV90aWxkZSBfX1AoKGNoYXIgKiwgY2hhciAqKSk7CiAKK3N0YXRpYyBjaGFyICpiYXNoX2ZpbGVuYW1lX3Jld3JpdGVfaG9vayBfX1AoKGNoYXIgKiwgaW50KSk7CiBzdGF0aWMgdm9pZCBiYXNoX2RpcmVjdG9yeV9leHBhbnNpb24gX19QKChjaGFyICoqKSk7CiBzdGF0aWMgaW50IGJhc2hfZGlyZWN0b3J5X2NvbXBsZXRpb25faG9vayBfX1AoKGNoYXIgKiopKTsKIHN0YXRpYyBpbnQgZmlsZW5hbWVfY29tcGxldGlvbl9pZ25vcmUgX19QKChjaGFyICoqKSk7CkBAIC0xNDYsNiArMTUwLDcgQEAKIHN0YXRpYyBjaGFyICpxdW90ZV93b3JkX2JyZWFrX2NoYXJzIF9fUCgoY2hhciAqKSk7CiBzdGF0aWMgY2hhciAqYmFzaF9xdW90ZV9maWxlbmFtZSBfX1AoKGNoYXIgKiwgaW50LCBjaGFyICopKTsKIAorc3RhdGljIGludCBwdXR4IF9fUCgoaW50KSk7CiBzdGF0aWMgaW50IGJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQgX19QKChpbnQsIGludCkpOwogc3RhdGljIHZvaWQgaW5pdF91bml4X2NvbW1hbmRfbWFwIF9fUCgodm9pZCkpOwogc3RhdGljIGludCBpc29sYXRlX3NlcXVlbmNlIF9fUCgoY2hhciAqLCBpbnQsIGludCwgaW50ICopKTsKQEAgLTI0NSw2ICsyNTAsOSBAQAogCiBzdGF0aWMgaW50IGRvdF9pbl9wYXRoID0gMDsKIAorLyogU2V0IHRvIG5vbi16ZXJvIHdoZW4gZGFiYnJldi1leHBhbmQgaXMgcnVubmluZyAqLworc3RhdGljIGludCBkYWJicmV2X2V4cGFuZF9hY3RpdmUgPSAwOworCiAvKiBXaGF0IGtpbmQgb2YgcXVvdGluZyBpcyBwZXJmb3JtZWQgYnkgYmFzaF9xdW90ZV9maWxlbmFtZToKIAlDT01QTEVURV9EUVVPVEUgPSBkb3VibGUtcXVvdGluZyB0aGUgZmlsZW5hbWUKIAlDT01QTEVURV9TUVVPVEUgPSBzaW5nbGVfcXVvdGluZyB0aGUgZmlsZW5hbWUKQEAgLTQ5NCw2ICs1MDIsOCBAQAogICAgICBkbyBvdGhlciBleHBhbnNpb24gb24gZGlyZWN0b3J5IG5hbWVzLiAqLwogICBybF9kaXJlY3RvcnlfY29tcGxldGlvbl9ob29rID0gYmFzaF9kaXJlY3RvcnlfY29tcGxldGlvbl9ob29rOwogCisgIHJsX2ZpbGVuYW1lX3Jld3JpdGVfaG9vayA9IGJhc2hfZmlsZW5hbWVfcmV3cml0ZV9ob29rOworCiAgIC8qIFRlbGwgdGhlIGZpbGVuYW1lIGNvbXBsZXRlciB3ZSB3YW50IGEgY2hhbmNlIHRvIGlnbm9yZSBzb21lIG5hbWVzLiAqLwogICBybF9pZ25vcmVfc29tZV9jb21wbGV0aW9uc19mdW5jdGlvbiA9IGZpbGVuYW1lX2NvbXBsZXRpb25faWdub3JlOwogCkBAIC03NDgsNyArNzU4LDcgQEAKICAgICByZXR1cm47CiAgIGZvciAoaSA9IDA7IGkgPCBob3N0bmFtZV9saXN0X2xlbmd0aDsgaSsrKQogICAgIGZyZWUgKGhvc3RuYW1lX2xpc3RbaV0pOwotICBob3N0bmFtZV9saXN0X2xlbmd0aCA9IDA7CisgIGhvc3RuYW1lX2xpc3RfbGVuZ3RoID0gaG9zdG5hbWVfbGlzdF9pbml0aWFsaXplZCA9IDA7CiB9CiAKIC8qIFJldHVybiBhIE5VTEwgdGVybWluYXRlZCBsaXN0IG9mIGhvc3RuYW1lcyB3aGljaCBiZWdpbiB3aXRoIFRFWFQuCkBAIC0xMTg3LDcgKzExOTcsNyBAQAogICByZWdpc3RlciBpbnQgcywgb3M7CiAKICAgb3MgPSAwOwotICB3aGlsZSAoKChzID0gc2tpcF90b19kZWxpbSAocmxfbGluZV9idWZmZXIsIG9zLCBDT01NQU5EX1NFUEFSQVRPUlMsIFNEX05PSk1QKSkgPD0gc3RhcnQpICYmCisgIHdoaWxlICgoKHMgPSBza2lwX3RvX2RlbGltIChybF9saW5lX2J1ZmZlciwgb3MsIENPTU1BTkRfU0VQQVJBVE9SUywgU0RfTk9KTVB8U0RfTk9TS0lQQ01EKSkgPD0gc3RhcnQpICYmCiAJIHJsX2xpbmVfYnVmZmVyW3NdKQogICAgIG9zID0gcysxOwogICByZXR1cm4gb3M7CkBAIC0xMzA1LDggKzEzMTUsOSBAQAogICAvKiBTcGVjaWFsIGhhbmRsaW5nIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbi4gIElmICpURVhUIGlzIGEgYmFja3F1b3RlLAogICAgICBpdCBjYW4gYmUgdGhlIHN0YXJ0IG9yIGVuZCBvZiBhbiBvbGQtc3R5bGUgY29tbWFuZCBzdWJzdGl0dXRpb24sIG9yCiAgICAgIHVubWF0Y2hlZC4gIElmIGl0J3MgdW5tYXRjaGVkLCBib3RoIGNhbGxzIHRvIHVuY2xvc2VkX3BhaXIgd2lsbAotICAgICBzdWNjZWVkLiAgKi8KLSAgaWYgKCp0ZXh0ID09ICdgJyAmJiAKKyAgICAgc3VjY2VlZC4gIERvbid0IGJvdGhlciBpZiByZWFkbGluZSBmb3VuZCBhIHNpbmdsZSBxdW90ZSBhbmQgd2UgYXJlCisgICAgIGNvbXBsZXRpbmcgb24gdGhlIHN1YnN0cmluZy4gICovCisgIGlmICgqdGV4dCA9PSAnYCcgJiYgcmxfY29tcGxldGlvbl9xdW90ZV9jaGFyYWN0ZXIgIT0gJ1wnJyAmJgogCShpbl9jb21tYW5kX3Bvc2l0aW9uIHx8ICh1bmNsb3NlZF9wYWlyIChybF9saW5lX2J1ZmZlciwgc3RhcnQsICJgIikgJiYKIAkJCQkgdW5jbG9zZWRfcGFpciAocmxfbGluZV9idWZmZXIsIGVuZCwgImAiKSkpKQogICAgIG1hdGNoZXMgPSBybF9jb21wbGV0aW9uX21hdGNoZXMgKHRleHQsIGNvbW1hbmRfc3Vic3RfY29tcGxldGlvbl9mdW5jdGlvbik7CkBAIC0xMzg2LDcgKzEzOTcsNyBAQAogCiAgIC8qIElmIHRoZSB3b3JkIHN0YXJ0cyBpbiBgficsIGFuZCB0aGVyZSBpcyBubyBzbGFzaCBpbiB0aGUgd29yZCwgdGhlbgogICAgICB0cnkgY29tcGxldGluZyB0aGlzIHdvcmQgYXMgYSB1c2VybmFtZS4gKi8KLSAgaWYgKCFtYXRjaGVzICYmICp0ZXh0ID09ICd+JyAmJiAheHN0cmNociAodGV4dCwgJy8nKSkKKyAgaWYgKG1hdGNoZXMgPT0wICYmICp0ZXh0ID09ICd+JyAmJiBtYnNjaHIgKHRleHQsICcvJykgPT0gMCkKICAgICBtYXRjaGVzID0gcmxfY29tcGxldGlvbl9tYXRjaGVzICh0ZXh0LCBybF91c2VybmFtZV9jb21wbGV0aW9uX2Z1bmN0aW9uKTsKIAogICAvKiBBbm90aGVyIG9uZS4gIFdoeSBub3Q/ICBJZiB0aGUgd29yZCBzdGFydHMgaW4gJ0AnLCB0aGVuIGxvb2sgdGhyb3VnaApAQCAtMjY1Miw2ICsyNjYzLDIwIEBACiAgICAgfQogfQogCisvKiBJZiBuZWNlc3NhcnksIHJld3JpdGUgZGlyZWN0b3J5IGVudHJ5ICovCitzdGF0aWMgY2hhciAqCitiYXNoX2ZpbGVuYW1lX3Jld3JpdGVfaG9vayAoZm5hbWUsIGZubGVuKQorICAgICBjaGFyICpmbmFtZTsKKyAgICAgaW50IGZubGVuOworeworICBjaGFyICpjb252OworCisgIGNvbnYgPSBmbnhfZnJvbWZzIChmbmFtZSwgZm5sZW4pOworICBpZiAoY29udiAhPSBmbmFtZSkKKyAgICBjb252ID0gc2F2ZXN0cmluZyAoY29udik7CisgIHJldHVybiBjb252OworfQorCiAvKiBIYW5kbGUgc3ltYm9saWMgbGluayByZWZlcmVuY2VzIGFuZCBvdGhlciBkaXJlY3RvcnkgbmFtZQogICAgZXhwYW5zaW9ucyB3aGlsZSBoYWNraW5nIGNvbXBsZXRpb24uICovCiBzdGF0aWMgaW50CkBAIC0yNjY2LDExICsyNjkxLDExIEBACiAgIHJldHVybl92YWx1ZSA9IHNob3VsZF9leHBhbmRfZGlybmFtZSA9IDA7CiAgIGxvY2FsX2Rpcm5hbWUgPSAqZGlybmFtZTsKIAotICBpZiAoeHN0cmNociAobG9jYWxfZGlybmFtZSwgJyQnKSkKKyAgaWYgKG1ic2NociAobG9jYWxfZGlybmFtZSwgJyQnKSkKICAgICBzaG91bGRfZXhwYW5kX2Rpcm5hbWUgPSAxOwogICBlbHNlCiAgICAgewotICAgICAgdCA9IHhzdHJjaHIgKGxvY2FsX2Rpcm5hbWUsICdgJyk7CisgICAgICB0ID0gbWJzY2hyIChsb2NhbF9kaXJuYW1lLCAnYCcpOwogICAgICAgaWYgKHQgJiYgdW5jbG9zZWRfcGFpciAobG9jYWxfZGlybmFtZSwgc3RybGVuIChsb2NhbF9kaXJuYW1lKSwgImAiKSA9PSAwKQogCXNob3VsZF9leHBhbmRfZGlybmFtZSA9IDE7CiAgICAgfQpAQCAtMjc4Nyw2ICsyODEyLDggQEAKICAgaWYgKGhsaXN0KQogICAgIHsKICAgICAgIGZvciAoaSA9IDA7IGhsaXN0W2ldOyBpKyspCisJOworICAgICAgZm9yICggLS1pOyBpID49IDA7IGktLSkKIAl7CiAJICAvKiBTZXBhcmF0ZSBlYWNoIHRva2VuLCBhbmQgcGxhY2UgaW50byBhbiBhcnJheS4gKi8KIAkgIHRva2VucyA9IGhpc3RvcnlfdG9rZW5pemUgKGhsaXN0W2ldLT5saW5lKTsKQEAgLTI4MDMsNyArMjgzMCw4IEBACiAJfQogCiAgICAgICAvKiBTb3J0IHRoZSBjb21wbGV0ZSBsaXN0IG9mIHRva2Vucy4gKi8KLSAgICAgIHFzb3J0IChoaXN0b3J5X2NvbXBsZXRpb25fYXJyYXksIGhhcnJ5X2xlbiwgc2l6ZW9mIChjaGFyICopLCAoUVNGVU5DICopc3RydmVjX3N0cmNtcCk7CisgICAgICBpZiAoZGFiYnJldl9leHBhbmRfYWN0aXZlID09IDApCisgICAgICAgIHFzb3J0IChoaXN0b3J5X2NvbXBsZXRpb25fYXJyYXksIGhhcnJ5X2xlbiwgc2l6ZW9mIChjaGFyICopLCAoUVNGVU5DICopc3RydmVjX3N0cmNtcCk7CiAgICAgfQogfQogCkBAIC0yODE5LDYgKzI4NDcsOCBAQAogICAgICBsaXN0IG9mIHN0cmluZ3MgdG8gY29tcGxldGUgb3Zlci4gKi8KICAgaWYgKHN0YXRlID09IDApCiAgICAgeworICAgICAgaWYgKGRhYmJyZXZfZXhwYW5kX2FjdGl2ZSkJLyogVGhpcyBpcyBraW5kIG9mIG1lc3N5ICovCisJcmxfY29tcGxldGlvbl9zdXBwcmVzc19hcHBlbmQgPSAxOwogICAgICAgbG9jYWxfaW5kZXggPSAwOwogICAgICAgYnVpbGRfaGlzdG9yeV9jb21wbGV0aW9uX2FycmF5ICgpOwogICAgICAgdGV4dCA9IGhpbnRfdGV4dDsKQEAgLTI4NjIsMjUgKzI4OTIsMzMgQEAKIGJhc2hfZGFiYnJldl9leHBhbmQgKGNvdW50LCBrZXkpCiAgICAgIGludCBjb3VudCwga2V5OwogewotICBpbnQgcjsKKyAgaW50IHIsIG9yaWdfc3VwcHJlc3MsIG9yaWdfc29ydDsKICAgcmxfY29tcGVudHJ5X2Z1bmNfdCAqb3JpZ19mdW5jOwogICBybF9jb21wbGV0aW9uX2Z1bmNfdCAqb3JpZ19hdHRlbXB0X2Z1bmM7CiAKICAgb3JpZ19mdW5jID0gcmxfbWVudV9jb21wbGV0aW9uX2VudHJ5X2Z1bmN0aW9uOwogICBvcmlnX2F0dGVtcHRfZnVuYyA9IHJsX2F0dGVtcHRlZF9jb21wbGV0aW9uX2Z1bmN0aW9uOworICBvcmlnX3N1cHByZXNzID0gcmxfY29tcGxldGlvbl9zdXBwcmVzc19hcHBlbmQ7CisgIG9yaWdfc29ydCA9IHJsX3NvcnRfY29tcGxldGlvbl9tYXRjaGVzOwogCiAgIHJsX21lbnVfY29tcGxldGlvbl9lbnRyeV9mdW5jdGlvbiA9IGhpc3RvcnlfY29tcGxldGlvbl9nZW5lcmF0b3I7CiAgIHJsX2F0dGVtcHRlZF9jb21wbGV0aW9uX2Z1bmN0aW9uID0gKHJsX2NvbXBsZXRpb25fZnVuY190ICopTlVMTDsKICAgcmxfZmlsZW5hbWVfY29tcGxldGlvbl9kZXNpcmVkID0gMDsKKyAgcmxfY29tcGxldGlvbl9zdXBwcmVzc19hcHBlbmQgPSAxOworICBybF9zb3J0X2NvbXBsZXRpb25fbWF0Y2hlcyA9IDA7CiAKICAgLyogWFhYIC0gdXNlIHJsX2NvbXBsZXRpb25fbW9kZSBoZXJlPyAqLworICBkYWJicmV2X2V4cGFuZF9hY3RpdmUgPSAxOwogICBpZiAocmxfbGFzdF9mdW5jID09IGJhc2hfZGFiYnJldl9leHBhbmQpCiAgICAgcmxfbGFzdF9mdW5jID0gcmxfbWVudV9jb21wbGV0ZTsKICAgciA9IHJsX21lbnVfY29tcGxldGUgKGNvdW50LCBrZXkpOworICBkYWJicmV2X2V4cGFuZF9hY3RpdmUgPSAwOwogCiAgIHJsX2xhc3RfZnVuYyA9IGJhc2hfZGFiYnJldl9leHBhbmQ7CiAgIHJsX21lbnVfY29tcGxldGlvbl9lbnRyeV9mdW5jdGlvbiA9IG9yaWdfZnVuYzsKICAgcmxfYXR0ZW1wdGVkX2NvbXBsZXRpb25fZnVuY3Rpb24gPSBvcmlnX2F0dGVtcHRfZnVuYzsKKyAgcmxfY29tcGxldGlvbl9zdXBwcmVzc19hcHBlbmQgPSBvcmlnX3N1cHByZXNzOworICBybF9zb3J0X2NvbXBsZXRpb25fbWF0Y2hlcyA9IG9yaWdfc29ydDsKIAogICByZXR1cm4gcjsKIH0KQEAgLTMyMjUsNyArMzI2Myw3IEBACiAKIAkgICpyKysgPSAqKytwOwogCSAgaWYgKCpwID09ICdcMCcpCi0JICAgIGJyZWFrOworCSAgICByZXR1cm4gcmV0OwkJLyogWFhYIC0gd2FzIGJyZWFrOyAqLwogCSAgY29udGludWU7CiAJfQogICAgICAgLyogQ2xvc2UgcXVvdGUuICovCkBAIC0zMjcxLDcgKzMzMDksNyBAQAogCX0KICAgICAgIC8qIE9LLCB3ZSBoYXZlIGFuIHVucXVvdGVkIGNoYXJhY3Rlci4gIENoZWNrIGl0cyBwcmVzZW5jZSBpbgogCSBybF9jb21wbGV0ZXJfd29yZF9icmVha19jaGFyYWN0ZXJzLiAqLwotICAgICAgaWYgKHhzdHJjaHIgKHJsX2NvbXBsZXRlcl93b3JkX2JyZWFrX2NoYXJhY3RlcnMsICpzKSkKKyAgICAgIGlmIChtYnNjaHIgKHJsX2NvbXBsZXRlcl93b3JkX2JyZWFrX2NoYXJhY3RlcnMsICpzKSkKIAkqcisrID0gJ1xcJzsKICAgICAgIC8qIFhYWCAtLSBjaGVjayBmb3Igc3RhbmRhbG9uZSB0aWxkZXMgaGVyZSBhbmQgYmFja3NsYXNoLXF1b3RlIHRoZW0gKi8KICAgICAgIGlmIChzID09IHRleHQgJiYgKnMgPT0gJ34nICYmIGZpbGVfZXhpc3RzICh0ZXh0KSkKQEAgLTMzMTMsNyArMzM1MSw3IEBACiAgICAgIHRoZSB3b3JkIGJlaW5nIGNvbXBsZXRlZCBjb250YWlucyBuZXdsaW5lcywgc2luY2UgdGhvc2UgYXJlIG5vdAogICAgICBxdW90ZWQgY29ycmVjdGx5IHVzaW5nIGJhY2tzbGFzaGVzIChhIGJhY2tzbGFzaC1uZXdsaW5lIHBhaXIgaXMKICAgICAgc3BlY2lhbCB0byB0aGUgc2hlbGwgcGFyc2VyKS4gKi8KLSAgaWYgKCpxY3AgPT0gJ1wwJyAmJiBjcyA9PSBDT01QTEVURV9CU1FVT1RFICYmIHhzdHJjaHIgKHMsICdcbicpKQorICBpZiAoKnFjcCA9PSAnXDAnICYmIGNzID09IENPTVBMRVRFX0JTUVVPVEUgJiYgbWJzY2hyIChzLCAnXG4nKSkKICAgICBjcyA9IENPTVBMRVRFX1NRVU9URTsKICAgZWxzZSBpZiAoKnFjcCA9PSAnIicpCiAgICAgY3MgPSBDT01QTEVURV9EUVVPVEU7CkBAIC0zMzIxLDExICszMzU5LDExIEBACiAgICAgY3MgPSBDT01QTEVURV9TUVVPVEU7CiAjaWYgZGVmaW5lZCAoQkFOR19ISVNUT1JZKQogICBlbHNlIGlmICgqcWNwID09ICdcMCcgJiYgaGlzdG9yeV9leHBhbnNpb24gJiYgY3MgPT0gQ09NUExFVEVfRFFVT1RFICYmCi0JICAgaGlzdG9yeV9leHBhbnNpb25faW5oaWJpdGVkID09IDAgJiYgeHN0cmNociAocywgJyEnKSkKKwkgICBoaXN0b3J5X2V4cGFuc2lvbl9pbmhpYml0ZWQgPT0gMCAmJiBtYnNjaHIgKHMsICchJykpCiAgICAgY3MgPSBDT01QTEVURV9CU1FVT1RFOwogCiAgIGlmICgqcWNwID09ICciJyAmJiBoaXN0b3J5X2V4cGFuc2lvbiAmJiBjcyA9PSBDT01QTEVURV9EUVVPVEUgJiYKLQloaXN0b3J5X2V4cGFuc2lvbl9pbmhpYml0ZWQgPT0gMCAmJiB4c3RyY2hyIChzLCAnIScpKQorCWhpc3RvcnlfZXhwYW5zaW9uX2luaGliaXRlZCA9PSAwICYmIG1ic2NociAocywgJyEnKSkKICAgICB7CiAgICAgICBjcyA9IENPTVBMRVRFX0JTUVVPVEU7CiAgICAgICAqcWNwID0gJ1wwJzsKQEAgLTMzODAsMTYgKzM0MTgsMjMgQEAKIHN0YXRpYyBLZXltYXAgY21kX3htYXA7CiAKIHN0YXRpYyBpbnQKK3B1dHgoYykKKyAgICAgaW50IGM7Cit7CisgIHB1dGMgKGMsIHJsX291dHN0cmVhbSk7Cit9CisgIAorc3RhdGljIGludAogYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZCAoY291bnQsIGtleSkKICAgICAgaW50IGNvdW50OwkvKiBpZ25vcmVkICovCiAgICAgIGludCBrZXk7CiB7CiAgIEtleW1hcCBja21hcDsJCS8qIGN1cnJlbnQga2V5bWFwICovCiAgIEtleW1hcCB4a21hcDsJCS8qIHVuaXggY29tbWFuZCBleGVjdXRpbmcga2V5bWFwICovCi0gIHJlZ2lzdGVyIGludCBpOworICByZWdpc3RlciBpbnQgaSwgcjsKICAgaW50bWF4X3QgbWk7CiAgIHNoX3BhcnNlcl9zdGF0ZV90IHBzOwotICBjaGFyICpjbWQsICp2YWx1ZSwgKmw7CisgIGNoYXIgKmNtZCwgKnZhbHVlLCAqbCwgKmwxLCAqY2U7CiAgIFNIRUxMX1ZBUiAqdjsKICAgY2hhciBpYnVmW0lOVF9TVFJMRU5fQk9VTkQoaW50KSArIDFdOwogCkBAIC0zNDI1LDEyICszNDcwLDIwIEBACiAgICAgICByZXR1cm4gMTsKICAgICB9CiAKLSAgcmxfY3JsZiAoKTsJLyogbW92ZSB0byBhIG5ldyBsaW5lICovCisgIGNlID0gcmxfZ2V0X3Rlcm1jYXAgKCJjZSIpOworICBpZiAoY2UpCS8qIGNsZWFyIGN1cnJlbnQgbGluZSAqLworICAgIHsKKyAgICAgIGZwcmludGYgKHJsX291dHN0cmVhbSwgIlxyIik7CisgICAgICB0cHV0cyAoY2UsIDEsIHB1dHgpOworICAgICAgZmZsdXNoIChybF9vdXRzdHJlYW0pOworICAgIH0KKyAgZWxzZQorICAgIHJsX2NybGYgKCk7CS8qIG1vdmUgdG8gYSBuZXcgbGluZSAqLwogCiAgIHYgPSBiaW5kX3ZhcmlhYmxlICgiUkVBRExJTkVfTElORSIsIHJsX2xpbmVfYnVmZmVyLCAwKTsKICAgaWYgKHYpCiAgICAgVlNFVEFUVFIgKHYsIGF0dF9leHBvcnRlZCk7Ci0gIGwgPSB2YWx1ZV9jZWxsICh2KTsKKyAgbCA9IHYgPyB2YWx1ZV9jZWxsICh2KSA6IDA7CiAgIHZhbHVlID0gaW50dG9zdHIgKHJsX3BvaW50LCBpYnVmLCBzaXplb2YgKGlidWYpKTsKICAgdiA9IGJpbmRfaW50X3ZhcmlhYmxlICgiUkVBRExJTkVfUE9JTlQiLCB2YWx1ZSk7CiAgIGlmICh2KQpAQCAtMzQzOCwxMSArMzQ5MSwxMiBAQAogICBhcnJheV9uZWVkc19tYWtpbmcgPSAxOwogCiAgIHNhdmVfcGFyc2VyX3N0YXRlICgmcHMpOwotICBwYXJzZV9hbmRfZXhlY3V0ZSAoY21kLCAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZCIsIFNFVkFMX05PSElTVHxTRVZBTF9OT0ZSRUUpOworICByID0gcGFyc2VfYW5kX2V4ZWN1dGUgKGNtZCwgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQiLCBTRVZBTF9OT0hJU1R8U0VWQUxfTk9GUkVFKTsKICAgcmVzdG9yZV9wYXJzZXJfc3RhdGUgKCZwcyk7CiAKICAgdiA9IGZpbmRfdmFyaWFibGUgKCJSRUFETElORV9MSU5FIik7Ci0gIGlmICh2YWx1ZV9jZWxsICh2KSAhPSBsKQorICBsMSA9IHYgPyB2YWx1ZV9jZWxsICh2KSA6IDA7CisgIGlmIChsMSAhPSBsKQogICAgIG1heWJlX21ha2VfcmVhZGxpbmVfbGluZSAodmFsdWVfY2VsbCAodikpOwogICB2ID0gZmluZF92YXJpYWJsZSAoIlJFQURMSU5FX1BPSU5UIik7CiAgIGlmICh2ICYmIGxlZ2FsX251bWJlciAodmFsdWVfY2VsbCAodiksICZtaSkpCmRpZmYgLS1naXQgYS9iYXNodHlwZXMuaCBiL2Jhc2h0eXBlcy5oCmluZGV4IGY3NzM2NTIuLjAxYWZlZjQgMTAwNjQ0Ci0tLSBhL2Jhc2h0eXBlcy5oCisrKyBiL2Jhc2h0eXBlcy5oCkBAIC0zNSw0ICszNSw4IEBACiAjICBpbmNsdWRlIDxpbnR0eXBlcy5oPgogI2VuZGlmCiAKKyNpZiBIQVZFX1NURElOVF9ICisjICBpbmNsdWRlIDxzdGRpbnQuaD4KKyNlbmRpZgorCiAjZW5kaWYgLyogX0JBU0hUWVBFU19IXyAqLwpkaWZmIC0tZ2l0IGEvYnJhY2VzLmMgYi9icmFjZXMuYwppbmRleCA0ZTBjMDhhLi40NWFiZTQ1IDEwMDY0NAotLS0gYS9icmFjZXMuYworKysgYi9icmFjZXMuYwpAQCAtMzY0LDcgKzM2NCw3IEBACiAgIGNoYXIgKnQsICpsaHMsICpyaHM7CiAgIGludCBpLCBsaHNfdCwgcmhzX3QsIGxoc192LCByaHNfdiwgaW5jciwgbGhzX2wsIHJoc19sLCB3aWR0aDsKICAgaW50bWF4X3QgdGwsIHRyOwotICBjaGFyICoqcmVzdWx0LCAqZXA7CisgIGNoYXIgKipyZXN1bHQsICplcCwgKm9lcDsKIAogICB0ID0gc3Ryc3RyICh0ZXh0LCBCUkFDRV9TRVFfU1BFQ0lGSUVSKTsKICAgaWYgKHQgPT0gMCkKQEAgLTQxMCwxMCArNDEwLDEyIEBACiAgIGluY3IgPSAxOwogICBpZiAocmhzX3QgIT0gU1RfQkFEKQogICAgIHsKKyAgICAgIG9lcCA9IGVwOwogICAgICAgaWYgKGVwICYmICplcCA9PSAnLicgJiYgZXBbMV0gPT0gJy4nICYmIGVwWzJdKQogCWluY3IgPSBzdHJ0b2ltYXggKGVwICsgMiwgJmVwLCAxMCk7CiAgICAgICBpZiAoKmVwICE9IDApCiAJcmhzX3QgPSBTVF9CQUQ7CQkJLyogaW52YWxpZCBpbmNyICovCisgICAgICB0bGVuIC09IGVwIC0gb2VwOwogICAgIH0KIAogICBpZiAobGhzX3QgIT0gcmhzX3QgfHwgbGhzX3QgPT0gU1RfQkFEIHx8IHJoc190ID09IFNUX0JBRCkKQEAgLTQ0OSw2ICs0NTEsMTEgQEAKIAl3aWR0aCA9IHJoc19sLCBsaHNfdCA9IFNUX1pJTlQ7CiAgICAgICBpZiAocmhzX2wgPiAyICYmIHJoc1swXSA9PSAnLScgJiYgcmhzWzFdID09ICcwJyAmJiB3aWR0aCA8IHJoc19sKQogCXdpZHRoID0gcmhzX2wsIGxoc190ID0gU1RfWklOVDsKKworICAgICAgaWYgKHdpZHRoIDwgbGhzX2wgJiYgbGhzX3QgPT0gU1RfWklOVCkKKyAgICAgICAgd2lkdGggPSBsaHNfbDsKKyAgICAgIGlmICh3aWR0aCA8IHJoc19sICYmIGxoc190ID09IFNUX1pJTlQpCisgICAgICAgIHdpZHRoID0gcmhzX2w7CiAgICAgfQogCiAgIHJlc3VsdCA9IG1rc2VxIChsaHNfdiwgcmhzX3YsIGluY3IsIGxoc190LCB3aWR0aCk7CmRpZmYgLS1naXQgYS9idWlsdGlucy9NYWtlZmlsZS5pbiBiL2J1aWx0aW5zL01ha2VmaWxlLmluCmluZGV4IDk2ZGZhYTMuLjQyZjhjYjggMTAwNjQ0Ci0tLSBhL2J1aWx0aW5zL01ha2VmaWxlLmluCisrKyBiL2J1aWx0aW5zL01ha2VmaWxlLmluCkBAIC0zMzMsNyArMzMzLDcgQEAKIGV2YWxzdHJpbmcubzogJCh0b3BkaXIpL2V4dGVybnMuaCAkKHRvcGRpcikvam9icy5oICQodG9wZGlyKS9idWlsdGlucy5oCiBldmFsc3RyaW5nLm86ICQodG9wZGlyKS9mbGFncy5oICQodG9wZGlyKS9pbnB1dC5oICQodG9wZGlyKS9leGVjdXRlX2NtZC5oCiBldmFsc3RyaW5nLm86ICQodG9wZGlyKS9iYXNoaGlzdC5oICQoc3JjZGlyKS9jb21tb24uaAotZXZhbHN0cmluZy5vOiAkKHRvcGRpcikvdHJhcC5oICQodG9wZGlyKS9yZWRpci5oCitldmFsc3RyaW5nLm86ICQodG9wZGlyKS90cmFwLmggJCh0b3BkaXIpL3JlZGlyLmggLi4vcGF0aG5hbWVzLmgKIGdldG9wdC5vOiAuLi9jb25maWcuaCAkKEJBU0hJTkNESVIpL21lbWFsbG9jLmgKIGdldG9wdC5vOiAkKHRvcGRpcikvc2hlbGwuaCAkKHRvcGRpcikvc3ludGF4LmggJCh0b3BkaXIpL2Jhc2hqbXAuaCAkKHRvcGRpcikvY29tbWFuZC5oCiBnZXRvcHQubzogJCh0b3BkaXIpL2dlbmVyYWwuaCAkKHRvcGRpcikveG1hbGxvYy5oICQodG9wZGlyKS9lcnJvci5oICQodG9wZGlyKS92YXJpYWJsZXMuaCAkKHRvcGRpcikvY29uZnR5cGVzLmgKQEAgLTM1MSw2MyArMzUxLDY3IEBACiBhbGlhcy5vOiAkKHRvcGRpcikvcXVpdC5oICQodG9wZGlyKS9kaXNwb3NlX2NtZC5oICQodG9wZGlyKS9tYWtlX2NtZC5oCiBhbGlhcy5vOiAkKHRvcGRpcikvc3Vic3QuaCAkKHRvcGRpcikvZXh0ZXJucy5oICQoc3JjZGlyKS9jb21tb24uaAogYWxpYXMubzogJCh0b3BkaXIpL3NoZWxsLmggJCh0b3BkaXIpL3N5bnRheC5oICQodG9wZGlyKS91bndpbmRfcHJvdC5oICQodG9wZGlyKS92YXJpYWJsZXMuaCAkKHRvcGRpcikvY29uZnR5cGVzLmgKK2FsaWFzLm86IC4uL3BhdGhuYW1lcy5oCiBiaW5kLm86ICQodG9wZGlyKS9jb21tYW5kLmggLi4vY29uZmlnLmggJChCQVNISU5DRElSKS9tZW1hbGxvYy5oICQodG9wZGlyKS9lcnJvci5oCiBiaW5kLm86ICQodG9wZGlyKS9xdWl0LmggJCh0b3BkaXIpL2Rpc3Bvc2VfY21kLmggJCh0b3BkaXIpL21ha2VfY21kLmgKIGJpbmQubzogJCh0b3BkaXIpL3N1YnN0LmggJCh0b3BkaXIpL2V4dGVybnMuaCAkKHNyY2RpcikvYmFzaGdldG9wdC5oCiBiaW5kLm86ICQodG9wZGlyKS9nZW5lcmFsLmggJCh0b3BkaXIpL3htYWxsb2MuaCAkKEJBU0hJTkNESVIpL21heHBhdGguaCAkKHRvcGRpcikvYmFzaGxpbmUuaAogYmluZC5vOiAkKHRvcGRpcikvc2hlbGwuaCAkKHRvcGRpcikvc3ludGF4LmggJCh0b3BkaXIpL3Vud2luZF9wcm90LmggJCh0b3BkaXIpL3ZhcmlhYmxlcy5oICQodG9wZGlyKS9jb25mdHlwZXMuaCAKK2JpbmQubzogLi4vcGF0aG5hbWVzLmgKIGJyZWFrLm86ICQodG9wZGlyKS9jb21tYW5kLmggLi4vY29uZmlnLmggJChCQVNISU5DRElSKS9tZW1hbGxvYy5oIAogYnJlYWsubzogJCh0b3BkaXIpL2Vycm9yLmggJCh0b3BkaXIpL2dlbmVyYWwuaCAkKHRvcGRpcikveG1hbGxvYy5oCiBicmVhay5vOiAkKHRvcGRpcikvcXVpdC5oICQodG9wZGlyKS9kaXNwb3NlX2NtZC5oICQodG9wZGlyKS9tYWtlX2NtZC5oCiBicmVhay5vOiAkKHRvcGRpcikvc3Vic3QuaCAkKHRvcGRpcikvZXh0ZXJucy5oICQoQkFTSElOQ0RJUikvbWF4cGF0aC5oCiBicmVhay5vOiAkKHRvcGRpcikvc2hlbGwuaCAkKHRvcGRpcikvc3ludGF4LmggJCh0b3BkaXIpL3Vud2luZF9wcm90LmggJCh0b3BkaXIpL3ZhcmlhYmxlcy5oICQodG9wZGlyKS9jb25mdHlwZXMuaAorYnJlYWsubzogLi4vcGF0aG5hbWVzLmgKIGJ1aWx0aW4ubzogJCh0b3BkaXIpL2NvbW1hbmQuaCAuLi9jb25maWcuaCAkKEJBU0hJTkNESVIpL21lbWFsbG9jLmgKIGJ1aWx0aW4ubzogJCh0b3BkaXIpL2Vycm9yLmggJCh0b3BkaXIpL2dlbmVyYWwuaCAkKHRvcGRpcikveG1hbGxvYy5oICQodG9wZGlyKS9leHRlcm5zLmgKIGJ1aWx0aW4ubzogJCh0b3BkaXIpL3F1aXQuaCAkKHNyY2RpcikvY29tbW9uLmggJChCQVNISU5DRElSKS9tYXhwYXRoLmgKIGJ1aWx0aW4ubzogJCh0b3BkaXIpL2Rpc3Bvc2VfY21kLmggJCh0b3BkaXIpL21ha2VfY21kLmggJCh0b3BkaXIpL3N1YnN0LmgKIGJ1aWx0aW4ubzogJCh0b3BkaXIpL3NoZWxsLmggJCh0b3BkaXIpL3N5bnRheC5oICQodG9wZGlyKS91bndpbmRfcHJvdC5oICQodG9wZGlyKS92YXJpYWJsZXMuaCAkKHRvcGRpcikvY29uZnR5cGVzLmggCi1idWlsdGluLm86ICQoc3JjZGlyKS9iYXNoZ2V0b3B0LmgKK2J1aWx0aW4ubzogJChzcmNkaXIpL2Jhc2hnZXRvcHQuaCAuLi9wYXRobmFtZXMuaAogY2FsbGVyLm86ICQodG9wZGlyKS9jb21tYW5kLmggLi4vY29uZmlnLmggJChCQVNISU5DRElSKS9tZW1hbGxvYy5oICQodG9wZGlyKS9lcnJvci5oCiBjYWxsZXIubzogJCh0b3BkaXIpL2dlbmVyYWwuaCAkKHRvcGRpcikveG1hbGxvYy5oICQodG9wZGlyKS9xdWl0LmggJCh0b3BkaXIpL2Rpc3Bvc2VfY21kLmgKIGNhbGxlci5vOiAkKHRvcGRpcikvbWFrZV9jbWQuaCAkKHRvcGRpcikvc3Vic3QuaCAkKHRvcGRpcikvZXh0ZXJucy5oCiBjYWxsZXIubzogJCh0b3BkaXIpL3NoZWxsLmggJCh0b3BkaXIpL3N5bnRheC5oICQodG9wZGlyKS91bndpbmRfcHJvdC5oICQodG9wZGlyKS92YXJpYWJsZXMuaCAkKHRvcGRpcikvY29uZnR5cGVzLmgKIGNhbGxlci5vOiAkKHNyY2RpcikvY29tbW9uLmggJChCQVNISU5DRElSKS9tYXhwYXRoLmggLi9idWlsdGV4dC5oCi1jYWxsZXIubzogJHtCQVNISU5DRElSfS9jaGFydHlwZXMuaCAkKHRvcGRpcikvYmFzaHR5cGVzLmgKK2NhbGxlci5vOiAke0JBU0hJTkNESVJ9L2NoYXJ0eXBlcy5oICQodG9wZGlyKS9iYXNodHlwZXMuaCAuLi9wYXRobmFtZXMuaAogY2QubzogJCh0b3BkaXIpL2NvbW1hbmQuaCAuLi9jb25maWcuaCAkKEJBU0hJTkNESVIpL21lbWFsbG9jLmggJCh0b3BkaXIpL2Vycm9yLmgKIGNkLm86ICQodG9wZGlyKS9nZW5lcmFsLmggJCh0b3BkaXIpL3htYWxsb2MuaCAkKHRvcGRpcikvcXVpdC5oICQodG9wZGlyKS9kaXNwb3NlX2NtZC5oCiBjZC5vOiAkKHRvcGRpcikvbWFrZV9jbWQuaCAkKHRvcGRpcikvc3Vic3QuaCAkKHRvcGRpcikvZXh0ZXJucy5oCiBjZC5vOiAkKHRvcGRpcikvc2hlbGwuaCAkKHRvcGRpcikvc3ludGF4LmggJCh0b3BkaXIpL3Vud2luZF9wcm90LmggJCh0b3BkaXIpL3ZhcmlhYmxlcy5oICQodG9wZGlyKS9jb25mdHlwZXMuaAotY2QubzogJChzcmNkaXIpL2NvbW1vbi5oICQoQkFTSElOQ0RJUikvbWF4cGF0aC5oCitjZC5vOiAkKHNyY2RpcikvY29tbW9uLmggJChCQVNISU5DRElSKS9tYXhwYXRoLmggLi4vcGF0aG5hbWVzLmgKIGNvbW1hbmQubzogJCh0b3BkaXIpL2NvbW1hbmQuaCAuLi9jb25maWcuaCAkKEJBU0hJTkNESVIpL21lbWFsbG9jLmgKIGNvbW1hbmQubzogJCh0b3BkaXIpL2Vycm9yLmggJCh0b3BkaXIpL2dlbmVyYWwuaCAkKHRvcGRpcikveG1hbGxvYy5oICQodG9wZGlyKS9leHRlcm5zLmgKIGNvbW1hbmQubzogJCh0b3BkaXIpL3F1aXQuaCAkKHNyY2RpcikvYmFzaGdldG9wdC5oICQoQkFTSElOQ0RJUikvbWF4cGF0aC5oCiBjb21tYW5kLm86ICQodG9wZGlyKS9kaXNwb3NlX2NtZC5oICQodG9wZGlyKS9tYWtlX2NtZC5oICQodG9wZGlyKS9zdWJzdC5oCiBjb21tYW5kLm86ICQodG9wZGlyKS9zaGVsbC5oICQodG9wZGlyKS9zeW50YXguaCAkKHRvcGRpcikvdW53aW5kX3Byb3QuaCAkKHRvcGRpcikvdmFyaWFibGVzLmggJCh0b3BkaXIpL2NvbmZ0eXBlcy5oIAorY29tbWFuZC5vOiAuLi9wYXRobmFtZXMuaAogZGVjbGFyZS5vOiAkKHRvcGRpcikvY29tbWFuZC5oIC4uL2NvbmZpZy5oICQoQkFTSElOQ0RJUikvbWVtYWxsb2MuaAogZGVjbGFyZS5vOiAkKHRvcGRpcikvZXJyb3IuaCAkKHRvcGRpcikvZ2VuZXJhbC5oICQodG9wZGlyKS94bWFsbG9jLmgKIGRlY2xhcmUubzogJCh0b3BkaXIpL3F1aXQuaCAkKHRvcGRpcikvZGlzcG9zZV9jbWQuaCAkKHRvcGRpcikvbWFrZV9jbWQuaAogZGVjbGFyZS5vOiAkKHRvcGRpcikvc3Vic3QuaCAkKHRvcGRpcikvZXh0ZXJucy5oICQoQkFTSElOQ0RJUikvbWF4cGF0aC5oCiBkZWNsYXJlLm86ICQodG9wZGlyKS9zaGVsbC5oICQodG9wZGlyKS9zeW50YXguaCAkKHRvcGRpcikvdW53aW5kX3Byb3QuaCAkKHRvcGRpcikvdmFyaWFibGVzLmggJCh0b3BkaXIpL2NvbmZ0eXBlcy5oCiBkZWNsYXJlLm86ICQodG9wZGlyKS9hcnJheWZ1bmMuaCAkKHNyY2RpcikvYmFzaGdldG9wdC5oCi1kZWNsYXJlLm86IC4vYnVpbHRleHQuaAorZGVjbGFyZS5vOiAuL2J1aWx0ZXh0LmggLi4vcGF0aG5hbWVzLmgKIGVjaG8ubzogJCh0b3BkaXIpL2NvbW1hbmQuaCAuLi9jb25maWcuaCAkKEJBU0hJTkNESVIpL21lbWFsbG9jLmggJCh0b3BkaXIpL2Vycm9yLmgKIGVjaG8ubzogJCh0b3BkaXIpL2dlbmVyYWwuaCAkKHRvcGRpcikveG1hbGxvYy5oICQodG9wZGlyKS9zdWJzdC5oICQodG9wZGlyKS9leHRlcm5zLmgKIGVjaG8ubzogJCh0b3BkaXIpL3F1aXQuaCAkKHRvcGRpcikvZGlzcG9zZV9jbWQuaCAkKHRvcGRpcikvbWFrZV9jbWQuaAogZWNoby5vOiAkKHRvcGRpcikvc2hlbGwuaCAkKHRvcGRpcikvc3ludGF4LmggJCh0b3BkaXIpL3Vud2luZF9wcm90LmggJCh0b3BkaXIpL3ZhcmlhYmxlcy5oICQodG9wZGlyKS9jb25mdHlwZXMuaAotZWNoby5vOiAkKEJBU0hJTkNESVIpL21heHBhdGguaAorZWNoby5vOiAkKEJBU0hJTkNESVIpL21heHBhdGguaCAuLi9wYXRobmFtZXMuaAogZW5hYmxlLm86ICQodG9wZGlyKS9jb21tYW5kLmggLi4vY29uZmlnLmggJChCQVNISU5DRElSKS9tZW1hbGxvYy5oCiBlbmFibGUubzogJCh0b3BkaXIpL2Vycm9yLmggJCh0b3BkaXIpL2dlbmVyYWwuaCAkKHRvcGRpcikveG1hbGxvYy5oCiBlbmFibGUubzogJCh0b3BkaXIpL3F1aXQuaCAkKHRvcGRpcikvZGlzcG9zZV9jbWQuaCAkKHRvcGRpcikvbWFrZV9jbWQuaAogZW5hYmxlLm86ICQodG9wZGlyKS9zdWJzdC5oICQodG9wZGlyKS9leHRlcm5zLmgKIGVuYWJsZS5vOiAkKHRvcGRpcikvc2hlbGwuaCAkKHRvcGRpcikvc3ludGF4LmggJCh0b3BkaXIpL3Vud2luZF9wcm90LmggJCh0b3BkaXIpL3ZhcmlhYmxlcy5oICQodG9wZGlyKS9jb25mdHlwZXMuaAotZW5hYmxlLm86ICQoQkFTSElOQ0RJUikvbWF4cGF0aC5oCitlbmFibGUubzogJChCQVNISU5DRElSKS9tYXhwYXRoLmggLi4vcGF0aG5hbWVzLmgKIGVuYWJsZS5vOiAkKHRvcGRpcikvcGNvbXBsZXRlLmgKIGV2YWwubzogJCh0b3BkaXIpL2NvbW1hbmQuaCAuLi9jb25maWcuaCAkKEJBU0hJTkNESVIpL21lbWFsbG9jLmgKIGV2YWwubzogJCh0b3BkaXIpL2Vycm9yLmggJCh0b3BkaXIpL2dlbmVyYWwuaCAkKHRvcGRpcikveG1hbGxvYy5oCiBldmFsLm86ICQodG9wZGlyKS9xdWl0LmggJCh0b3BkaXIpL2Rpc3Bvc2VfY21kLmggJCh0b3BkaXIpL21ha2VfY21kLmgKIGV2YWwubzogJCh0b3BkaXIpL3N1YnN0LmggJCh0b3BkaXIpL2V4dGVybnMuaCAKIGV2YWwubzogJCh0b3BkaXIpL3NoZWxsLmggJCh0b3BkaXIpL3N5bnRheC5oICQodG9wZGlyKS91bndpbmRfcHJvdC5oICQodG9wZGlyKS92YXJpYWJsZXMuaCAkKHRvcGRpcikvY29uZnR5cGVzLmgKLWV2YWwubzogJChCQVNISU5DRElSKS9tYXhwYXRoLmgKK2V2YWwubzogJChCQVNISU5DRElSKS9tYXhwYXRoLmggLi4vcGF0aG5hbWVzLmgKIGV4ZWMubzogJCh0b3BkaXIpL2Jhc2h0eXBlcy5oCiBleGVjLm86ICQodG9wZGlyKS9jb21tYW5kLmggLi4vY29uZmlnLmggJChCQVNISU5DRElSKS9tZW1hbGxvYy5oCiBleGVjLm86ICQodG9wZGlyKS9lcnJvci5oICQodG9wZGlyKS9nZW5lcmFsLmggJCh0b3BkaXIpL3htYWxsb2MuaApAQCAtNDE1LDE0ICs0MTksMTQgQEAKIGV4ZWMubzogJCh0b3BkaXIpL3N1YnN0LmggJCh0b3BkaXIpL2V4dGVybnMuaCAkKHRvcGRpcikvZmxhZ3MuaAogZXhlYy5vOiAkKHRvcGRpcikvc2hlbGwuaCAkKHRvcGRpcikvc3ludGF4LmggJCh0b3BkaXIpL3Vud2luZF9wcm90LmggJCh0b3BkaXIpL3ZhcmlhYmxlcy5oICQodG9wZGlyKS9jb25mdHlwZXMuaAogZXhlYy5vOiAkKHNyY2RpcikvY29tbW9uLmggJCh0b3BkaXIpL2V4ZWN1dGVfY21kLmggJChCQVNISU5DRElSKS9tYXhwYXRoLmgKLWV4ZWMubzogJCh0b3BkaXIpL2ZpbmRjbWQuaCAkKHRvcGRpcikvam9icy5oCitleGVjLm86ICQodG9wZGlyKS9maW5kY21kLmggJCh0b3BkaXIpL2pvYnMuaCAuLi9wYXRobmFtZXMuaAogZXhpdC5vOiAkKHRvcGRpcikvYmFzaHR5cGVzLmgKIGV4aXQubzogJCh0b3BkaXIpL2NvbW1hbmQuaCAuLi9jb25maWcuaCAkKEJBU0hJTkNESVIpL21lbWFsbG9jLmgKIGV4aXQubzogJCh0b3BkaXIpL2Vycm9yLmggJCh0b3BkaXIpL2dlbmVyYWwuaCAkKHRvcGRpcikveG1hbGxvYy5oCiBleGl0Lm86ICQodG9wZGlyKS9xdWl0LmggJCh0b3BkaXIpL2Rpc3Bvc2VfY21kLmggJCh0b3BkaXIpL21ha2VfY21kLmgKIGV4aXQubzogJCh0b3BkaXIpL3N1YnN0LmggJCh0b3BkaXIpL2V4dGVybnMuaCAgJCh0b3BkaXIpL2pvYnMuaAogZXhpdC5vOiAkKHRvcGRpcikvc2hlbGwuaCAkKHRvcGRpcikvc3ludGF4LmggJCh0b3BkaXIpL3Vud2luZF9wcm90LmggJCh0b3BkaXIpL3ZhcmlhYmxlcy5oICQodG9wZGlyKS9jb25mdHlwZXMuaAotZXhpdC5vOiAkKEJBU0hJTkNESVIpL21heHBhdGguaCAuL2J1aWx0ZXh0LmgKK2V4aXQubzogJChCQVNISU5DRElSKS9tYXhwYXRoLmggLi9idWlsdGV4dC5oIC4uL3BhdGhuYW1lcy5oCiBmYy5vOiAkKHRvcGRpcikvYmFzaHR5cGVzLmggJChCQVNISU5DRElSKS9wb3NpeHN0YXQuaAogZmMubzogJCh0b3BkaXIpL2J1aWx0aW5zLmggJCh0b3BkaXIpL2NvbW1hbmQuaCAkKHNyY2RpcikvYmFzaGdldG9wdC5oCiBmYy5vOiAkKHRvcGRpcikvYmFzaGhpc3QuaApAQCAtNDMyLDMwICs0MzYsMzIgQEAKIGZjLm86ICQodG9wZGlyKS9zdWJzdC5oICQodG9wZGlyKS9leHRlcm5zLmggJCh0b3BkaXIpL3NoZWxsLmggJCh0b3BkaXIpL3N5bnRheC5oCiBmYy5vOiAkKHRvcGRpcikvZmxhZ3MuaCAkKHRvcGRpcikvdW53aW5kX3Byb3QuaCAkKHRvcGRpcikvdmFyaWFibGVzLmggJCh0b3BkaXIpL2NvbmZ0eXBlcy5oCiBmYy5vOiAkKHRvcGRpcikvYmFzaGFuc2kuaCAkKEJBU0hJTkNESVIpL2Fuc2lfc3RkbGliLmggJChCQVNISU5DRElSKS9jaGFydHlwZXMuaAorZmMubzogLi4vcGF0aG5hbWVzLmgKIGZnX2JnLm86ICQodG9wZGlyKS9iYXNodHlwZXMuaCAkKHNyY2RpcikvYmFzaGdldG9wdC5oCiBmZ19iZy5vOiAkKHRvcGRpcikvY29tbWFuZC5oIC4uL2NvbmZpZy5oICQoQkFTSElOQ0RJUikvbWVtYWxsb2MuaAogZmdfYmcubzogJCh0b3BkaXIpL2Vycm9yLmggJCh0b3BkaXIpL2dlbmVyYWwuaCAkKHRvcGRpcikveG1hbGxvYy5oCiBmZ19iZy5vOiAkKHRvcGRpcikvcXVpdC5oICQodG9wZGlyKS9kaXNwb3NlX2NtZC5oICQodG9wZGlyKS9tYWtlX2NtZC5oCiBmZ19iZy5vOiAkKHRvcGRpcikvc3Vic3QuaCAkKHRvcGRpcikvZXh0ZXJucy5oICQoQkFTSElOQ0RJUikvbWF4cGF0aC5oCiBmZ19iZy5vOiAkKHRvcGRpcikvc2hlbGwuaCAkKHRvcGRpcikvc3ludGF4LmggJCh0b3BkaXIpL3Vud2luZF9wcm90LmggJCh0b3BkaXIpL3ZhcmlhYmxlcy5oICQodG9wZGlyKS9jb25mdHlwZXMuaAotZmdfYmcubzogJCh0b3BkaXIpL2pvYnMuaAorZmdfYmcubzogJCh0b3BkaXIpL2pvYnMuaCAuLi9wYXRobmFtZXMuaAogZ2V0b3B0cy5vOiAkKHRvcGRpcikvY29tbWFuZC5oIC4uL2NvbmZpZy5oICQoQkFTSElOQ0RJUikvbWVtYWxsb2MuaAogZ2V0b3B0cy5vOiAkKHRvcGRpcikvZXJyb3IuaCAkKHRvcGRpcikvZ2VuZXJhbC5oICQodG9wZGlyKS94bWFsbG9jLmgKIGdldG9wdHMubzogJCh0b3BkaXIpL3F1aXQuaCAkKHRvcGRpcikvZGlzcG9zZV9jbWQuaCAkKHRvcGRpcikvbWFrZV9jbWQuaAogZ2V0b3B0cy5vOiAkKHRvcGRpcikvc3Vic3QuaCAkKHRvcGRpcikvZXh0ZXJucy5oICQoQkFTSElOQ0RJUikvbWF4cGF0aC5oCiBnZXRvcHRzLm86ICQodG9wZGlyKS9zaGVsbC5oICQodG9wZGlyKS9zeW50YXguaCAkKHRvcGRpcikvdW53aW5kX3Byb3QuaCAkKHRvcGRpcikvdmFyaWFibGVzLmggJCh0b3BkaXIpL2NvbmZ0eXBlcy5oCitnZXRvcHRzLm86IC4uL3BhdGhuYW1lcy5oCiBoYXNoLm86ICQodG9wZGlyKS9idWlsdGlucy5oICQodG9wZGlyKS9jb21tYW5kLmggJCh0b3BkaXIpL3F1aXQuaAogaGFzaC5vOiAkKHRvcGRpcikvZmluZGNtZC5oICQodG9wZGlyKS9oYXNobGliLmgKIGhhc2gubzogJCh0b3BkaXIpL2NvbW1hbmQuaCAuLi9jb25maWcuaCAkKEJBU0hJTkNESVIpL21lbWFsbG9jLmgKIGhhc2gubzogJCh0b3BkaXIpL2Vycm9yLmggJCh0b3BkaXIpL2dlbmVyYWwuaCAkKHRvcGRpcikveG1hbGxvYy5oCiBoYXNoLm86ICQodG9wZGlyKS9zaGVsbC5oICQodG9wZGlyKS9zeW50YXguaCAkKHRvcGRpcikvdW53aW5kX3Byb3QuaCAkKHRvcGRpcikvdmFyaWFibGVzLmggJCh0b3BkaXIpL2NvbmZ0eXBlcy5oCi1oYXNoLm86ICQoc3JjZGlyKS9jb21tb24uaCAkKEJBU0hJTkNESVIpL21heHBhdGguaAoraGFzaC5vOiAkKHNyY2RpcikvY29tbW9uLmggJChCQVNISU5DRElSKS9tYXhwYXRoLmggLi4vcGF0aG5hbWVzLmgKIGhlbHAubzogJCh0b3BkaXIpL2NvbW1hbmQuaCAuLi9jb25maWcuaCAkKEJBU0hJTkNESVIpL21lbWFsbG9jLmgKIGhlbHAubzogJCh0b3BkaXIpL2Vycm9yLmggJCh0b3BkaXIpL2dlbmVyYWwuaCAkKHRvcGRpcikveG1hbGxvYy5oCiBoZWxwLm86ICQodG9wZGlyKS9xdWl0LmggJCh0b3BkaXIpL2Rpc3Bvc2VfY21kLmggJCh0b3BkaXIpL21ha2VfY21kLmgKIGhlbHAubzogJCh0b3BkaXIpL3N1YnN0LmggJCh0b3BkaXIpL2V4dGVybnMuaCAkKEJBU0hJTkNESVIpL21heHBhdGguaAogaGVscC5vOiAkKHRvcGRpcikvc2hlbGwuaCAkKHRvcGRpcikvc3ludGF4LmggJCh0b3BkaXIpL3Vud2luZF9wcm90LmggJCh0b3BkaXIpL3ZhcmlhYmxlcy5oICQodG9wZGlyKS9jb25mdHlwZXMuaAotaGVscC5vOiAke3NyY2Rpcn0vY29tbW9uLmgKK2hlbHAubzogJHtzcmNkaXJ9L2NvbW1vbi5oIC4uL3BhdGhuYW1lcy5oCiBoaXN0b3J5Lm86ICQodG9wZGlyKS9iYXNodHlwZXMuaAogaGlzdG9yeS5vOiAkKHRvcGRpcikvY29tbWFuZC5oIC4uL2NvbmZpZy5oICQoQkFTSElOQ0RJUikvbWVtYWxsb2MuaAogaGlzdG9yeS5vOiAkKHRvcGRpcikvZXJyb3IuaCAkKHRvcGRpcikvZ2VuZXJhbC5oICQodG9wZGlyKS94bWFsbG9jLmgKQEAgLTQ2MywyNyArNDY5LDMwIEBACiBoaXN0b3J5Lm86ICQodG9wZGlyKS9zdWJzdC5oICQodG9wZGlyKS9leHRlcm5zLmggCiBoaXN0b3J5Lm86ICR7QkFTSElOQ0RJUn0vZmlsZWNudGwuaCAkKHRvcGRpcikvc2hlbGwuaCAkKHRvcGRpcikvc3ludGF4LmggJCh0b3BkaXIpL3Vud2luZF9wcm90LmgKIGhpc3RvcnkubzogJCh0b3BkaXIpL3ZhcmlhYmxlcy5oICQodG9wZGlyKS9jb25mdHlwZXMuaCAkKHRvcGRpcikvYmFzaGhpc3QuaCAkKEJBU0hJTkNESVIpL21heHBhdGguaAoraGlzdG9yeS5vOiAuLi9wYXRobmFtZXMuaAogaW5saWIubzogJCh0b3BkaXIpL2NvbW1hbmQuaCAuLi9jb25maWcuaCAkKEJBU0hJTkNESVIpL21lbWFsbG9jLmgKIGlubGliLm86ICQodG9wZGlyKS9lcnJvci5oICQodG9wZGlyKS9nZW5lcmFsLmggJCh0b3BkaXIpL3htYWxsb2MuaAogaW5saWIubzogJCh0b3BkaXIpL3NoZWxsLmggJCh0b3BkaXIpL3N5bnRheC5oICQodG9wZGlyKS91bndpbmRfcHJvdC5oICQodG9wZGlyKS92YXJpYWJsZXMuaCAkKHRvcGRpcikvY29uZnR5cGVzLmgKIGlubGliLm86ICQoQkFTSElOQ0RJUikvbWF4cGF0aC5oICQodG9wZGlyKS9zdWJzdC5oICQodG9wZGlyKS9leHRlcm5zLmgKLWlubGliLm86ICQodG9wZGlyKS9xdWl0LmggJCh0b3BkaXIpL2Rpc3Bvc2VfY21kLmggJCh0b3BkaXIpL21ha2VfY21kLmgKK2lubGliLm86ICQodG9wZGlyKS9xdWl0LmggJCh0b3BkaXIpL2Rpc3Bvc2VfY21kLmggJCh0b3BkaXIpL21ha2VfY21kLmggLi4vcGF0aG5hbWVzLmgKIGpvYnMubzogJCh0b3BkaXIpL2NvbW1hbmQuaCAuLi9jb25maWcuaCAkKEJBU0hJTkNESVIpL21lbWFsbG9jLmggJCh0b3BkaXIpL2Vycm9yLmgKIGpvYnMubzogJCh0b3BkaXIpL2dlbmVyYWwuaCAkKHRvcGRpcikveG1hbGxvYy5oICQodG9wZGlyKS9xdWl0LmggJChzcmNkaXIpL2Jhc2hnZXRvcHQuaAogam9icy5vOiAkKEJBU0hJTkNESVIpL21heHBhdGguaCAkKHRvcGRpcikvZXh0ZXJucy5oICQodG9wZGlyKS9qb2JzLmgKIGpvYnMubzogJCh0b3BkaXIpL2Rpc3Bvc2VfY21kLmggJCh0b3BkaXIpL21ha2VfY21kLmggJCh0b3BkaXIpL3N1YnN0LmgKIGpvYnMubzogJCh0b3BkaXIpL3NoZWxsLmggJCh0b3BkaXIpL3N5bnRheC5oICQodG9wZGlyKS91bndpbmRfcHJvdC5oICQodG9wZGlyKS92YXJpYWJsZXMuaCAkKHRvcGRpcikvY29uZnR5cGVzLmggCitqb2JzLm86IC4uL3BhdGhuYW1lcy5oCiBraWxsLm86ICQodG9wZGlyKS9jb21tYW5kLmggLi4vY29uZmlnLmggJChCQVNISU5DRElSKS9tZW1hbGxvYy5oICQodG9wZGlyKS9lcnJvci5oCiBraWxsLm86ICQodG9wZGlyKS9nZW5lcmFsLmggJCh0b3BkaXIpL3htYWxsb2MuaCAkKHRvcGRpcikvc3Vic3QuaCAkKHRvcGRpcikvZXh0ZXJucy5oCiBraWxsLm86ICQodG9wZGlyKS9xdWl0LmggJCh0b3BkaXIpL2Rpc3Bvc2VfY21kLmggJCh0b3BkaXIpL21ha2VfY21kLmgKIGtpbGwubzogJCh0b3BkaXIpL3NoZWxsLmggJCh0b3BkaXIpL3N5bnRheC5oICQodG9wZGlyKS90cmFwLmggJCh0b3BkaXIpL3Vud2luZF9wcm90LmgKIGtpbGwubzogJCh0b3BkaXIpL3ZhcmlhYmxlcy5oICQodG9wZGlyKS9jb25mdHlwZXMuaCAkKEJBU0hJTkNESVIpL21heHBhdGguaAota2lsbC5vOiAkKHRvcGRpcikvam9icy5oCitraWxsLm86ICQodG9wZGlyKS9qb2JzLmggLi4vcGF0aG5hbWVzLmgKIGxldC5vOiAkKHRvcGRpcikvY29tbWFuZC5oIC4uL2NvbmZpZy5oICQoQkFTSElOQ0RJUikvbWVtYWxsb2MuaAogbGV0Lm86ICQodG9wZGlyKS9lcnJvci5oICQodG9wZGlyKS9nZW5lcmFsLmggJCh0b3BkaXIpL3htYWxsb2MuaAogbGV0Lm86ICQodG9wZGlyKS9xdWl0LmggJCh0b3BkaXIpL2Rpc3Bvc2VfY21kLmggJCh0b3BkaXIpL21ha2VfY21kLmgKIGxldC5vOiAkKHRvcGRpcikvc3Vic3QuaCAkKHRvcGRpcikvZXh0ZXJucy5oICQoQkFTSElOQ0RJUikvbWF4cGF0aC5oCiBsZXQubzogJCh0b3BkaXIpL3NoZWxsLmggJCh0b3BkaXIpL3N5bnRheC5oICQodG9wZGlyKS91bndpbmRfcHJvdC5oICQodG9wZGlyKS92YXJpYWJsZXMuaCAkKHRvcGRpcikvY29uZnR5cGVzLmgKK2xldC5vOiAuLi9wYXRobmFtZXMuaAogcHJpbnRmLm86IC4uL2NvbmZpZy5oICQoQkFTSElOQ0RJUikvbWVtYWxsb2MuaCAkKHRvcGRpcikvYmFzaGptcC5oCiBwcmludGYubzogJCh0b3BkaXIpL2NvbW1hbmQuaCAkKHRvcGRpcikvZXJyb3IuaCAkKHRvcGRpcikvZ2VuZXJhbC5oICQodG9wZGlyKS94bWFsbG9jLmgKIHByaW50Zi5vOiAkKHRvcGRpcikvcXVpdC5oICQodG9wZGlyKS9kaXNwb3NlX2NtZC5oICQodG9wZGlyKS9tYWtlX2NtZC5oCkBAIC00OTEsMTA0ICs1MDAsMTExIEBACiBwcmludGYubzogLi4vcGF0aG5hbWVzLmggJCh0b3BkaXIpL3NoZWxsLmggJCh0b3BkaXIpL3N5bnRheC5oICQodG9wZGlyKS91bndpbmRfcHJvdC5oCiBwcmludGYubzogJCh0b3BkaXIpL3ZhcmlhYmxlcy5oICQodG9wZGlyKS9jb25mdHlwZXMuaCAkKEJBU0hJTkNESVIpL3N0ZGMuaCAkKHNyY2RpcikvYmFzaGdldG9wdC5oCiBwcmludGYubzogJCh0b3BkaXIpL2Jhc2h0eXBlcy5oICR7c3JjZGlyfS9jb21tb24uaCAkKEJBU0hJTkNESVIpL2NoYXJ0eXBlcy5oCitwcmludGYubzogLi4vcGF0aG5hbWVzLmgKIHB1c2hkLm86ICQodG9wZGlyKS9jb21tYW5kLmggLi4vY29uZmlnLmggJChCQVNISU5DRElSKS9tZW1hbGxvYy5oCiBwdXNoZC5vOiAkKHRvcGRpcikvZXJyb3IuaCAkKHRvcGRpcikvZ2VuZXJhbC5oICQodG9wZGlyKS94bWFsbG9jLmgKIHB1c2hkLm86ICQodG9wZGlyKS9xdWl0LmggJCh0b3BkaXIpL2Rpc3Bvc2VfY21kLmggJCh0b3BkaXIpL21ha2VfY21kLmgKIHB1c2hkLm86ICQodG9wZGlyKS9zdWJzdC5oICQodG9wZGlyKS9leHRlcm5zLmggCiBwdXNoZC5vOiAkKHRvcGRpcikvc2hlbGwuaCAkKHRvcGRpcikvc3ludGF4LmggJCh0b3BkaXIpL3Vud2luZF9wcm90LmggJCh0b3BkaXIpL3ZhcmlhYmxlcy5oICQodG9wZGlyKS9jb25mdHlwZXMuaAogcHVzaGQubzogJChCQVNISU5DRElSKS9tYXhwYXRoLmggJChzcmNkaXIpL2NvbW1vbi5oIC4vYnVpbHRleHQuaAorcHVzaGQubzogLi4vcGF0aG5hbWVzLmgKIHJlYWQubzogJCh0b3BkaXIpL2NvbW1hbmQuaCAuLi9jb25maWcuaCAkKEJBU0hJTkNESVIpL21lbWFsbG9jLmgKIHJlYWQubzogJCh0b3BkaXIpL2Vycm9yLmggJCh0b3BkaXIpL2dlbmVyYWwuaCAkKHRvcGRpcikveG1hbGxvYy5oCiByZWFkLm86ICQodG9wZGlyKS9xdWl0LmggJCh0b3BkaXIpL2Rpc3Bvc2VfY21kLmggJCh0b3BkaXIpL21ha2VfY21kLmgKIHJlYWQubzogJCh0b3BkaXIpL3N1YnN0LmggJCh0b3BkaXIpL2V4dGVybnMuaCAkKEJBU0hJTkNESVIpL21heHBhdGguaAogcmVhZC5vOiAkKHRvcGRpcikvc2hlbGwuaCAkKHRvcGRpcikvc3ludGF4LmggJCh0b3BkaXIpL3Vud2luZF9wcm90LmggJCh0b3BkaXIpL3ZhcmlhYmxlcy5oICQodG9wZGlyKS9jb25mdHlwZXMuaAogcmVhZC5vOiAkKEJBU0hJTkNESVIpL3NodHR5LmgKLXJlYWQubzogJCh0b3BkaXIpL2FycmF5ZnVuYy5oCityZWFkLm86ICQodG9wZGlyKS9hcnJheWZ1bmMuaCAuLi9wYXRobmFtZXMuaAogcmV0dXJuLm86ICQodG9wZGlyKS9jb21tYW5kLmggLi4vY29uZmlnLmggJChCQVNISU5DRElSKS9tZW1hbGxvYy5oCiByZXR1cm4ubzogJCh0b3BkaXIpL2Vycm9yLmggJCh0b3BkaXIpL2dlbmVyYWwuaCAkKHRvcGRpcikveG1hbGxvYy5oCiByZXR1cm4ubzogJCh0b3BkaXIpL3F1aXQuaCAkKHRvcGRpcikvZGlzcG9zZV9jbWQuaCAkKHRvcGRpcikvbWFrZV9jbWQuaAogcmV0dXJuLm86ICQodG9wZGlyKS9zdWJzdC5oICQodG9wZGlyKS9leHRlcm5zLmggJChCQVNISU5DRElSKS9tYXhwYXRoLmgKIHJldHVybi5vOiAkKHRvcGRpcikvc2hlbGwuaCAkKHRvcGRpcikvc3ludGF4LmggJCh0b3BkaXIpL3Vud2luZF9wcm90LmggJCh0b3BkaXIpL3ZhcmlhYmxlcy5oICQodG9wZGlyKS9jb25mdHlwZXMuaAorcmV0dXJuLm86IC4uL3BhdGhuYW1lcy5oCiBzZXQubzogJCh0b3BkaXIpL2NvbW1hbmQuaCAuLi9jb25maWcuaCAkKEJBU0hJTkNESVIpL21lbWFsbG9jLmgKIHNldC5vOiAkKHRvcGRpcikvZ2VuZXJhbC5oICQodG9wZGlyKS94bWFsbG9jLmggJCh0b3BkaXIpL3N1YnN0LmggJCh0b3BkaXIpL2V4dGVybnMuaAogc2V0Lm86ICQodG9wZGlyKS9xdWl0LmggJCh0b3BkaXIpL2Rpc3Bvc2VfY21kLmggJCh0b3BkaXIpL21ha2VfY21kLmgKIHNldC5vOiAkKHRvcGRpcikvc2hlbGwuaCAkKHRvcGRpcikvc3ludGF4LmggJCh0b3BkaXIpL3Vud2luZF9wcm90LmggJCh0b3BkaXIpL3ZhcmlhYmxlcy5oICQodG9wZGlyKS9jb25mdHlwZXMuaAogc2V0Lm86ICQoQkFTSElOQ0RJUikvbWF4cGF0aC5oICQodG9wZGlyKS9lcnJvci5oCi1zZXQubzogJCh0b3BkaXIpL2FycmF5ZnVuYy5oCitzZXQubzogJCh0b3BkaXIpL2FycmF5ZnVuYy5oIC4uL3BhdGhuYW1lcy5oCiBzZXRhdHRyLm86ICQodG9wZGlyKS9jb21tYW5kLmggLi4vY29uZmlnLmggJChCQVNISU5DRElSKS9tZW1hbGxvYy5oCiBzZXRhdHRyLm86ICQodG9wZGlyKS9lcnJvci5oICQodG9wZGlyKS9nZW5lcmFsLmggJCh0b3BkaXIpL3htYWxsb2MuaCAkKEJBU0hJTkNESVIpL21heHBhdGguaAogc2V0YXR0ci5vOiAkKHRvcGRpcikvcXVpdC5oICQoc3JjZGlyKS9jb21tb24uaCAkKHNyY2RpcikvYmFzaGdldG9wdC5oCiBzZXRhdHRyLm86ICQodG9wZGlyKS9kaXNwb3NlX2NtZC5oICQodG9wZGlyKS9tYWtlX2NtZC5oICQodG9wZGlyKS9zdWJzdC5oCiBzZXRhdHRyLm86ICQodG9wZGlyKS9leHRlcm5zLmggCiBzZXRhdHRyLm86ICQodG9wZGlyKS9zaGVsbC5oICQodG9wZGlyKS9zeW50YXguaCAkKHRvcGRpcikvdW53aW5kX3Byb3QuaCAkKHRvcGRpcikvdmFyaWFibGVzLmggJCh0b3BkaXIpL2NvbmZ0eXBlcy5oIAotc2V0YXR0ci5vOiAkKHRvcGRpcikvYXJyYXlmdW5jLmgKK3NldGF0dHIubzogJCh0b3BkaXIpL2FycmF5ZnVuYy5oIC4uL3BhdGhuYW1lcy5oCiBzaGlmdC5vOiAkKHRvcGRpcikvY29tbWFuZC5oIC4uL2NvbmZpZy5oICQoQkFTSElOQ0RJUikvbWVtYWxsb2MuaAogc2hpZnQubzogJCh0b3BkaXIpL2Vycm9yLmggJCh0b3BkaXIpL2dlbmVyYWwuaCAkKHRvcGRpcikveG1hbGxvYy5oCiBzaGlmdC5vOiAkKHRvcGRpcikvcXVpdC5oICQodG9wZGlyKS9kaXNwb3NlX2NtZC5oICQodG9wZGlyKS9tYWtlX2NtZC5oCiBzaGlmdC5vOiAkKHRvcGRpcikvc3Vic3QuaCAkKHRvcGRpcikvZXh0ZXJucy5oICQoQkFTSElOQ0RJUikvbWF4cGF0aC5oCiBzaGlmdC5vOiAkKHRvcGRpcikvc2hlbGwuaCAkKHRvcGRpcikvc3ludGF4LmggJCh0b3BkaXIpL3Vud2luZF9wcm90LmggJCh0b3BkaXIpL3ZhcmlhYmxlcy5oICQodG9wZGlyKS9jb25mdHlwZXMuaAorc2hpZnQubzogLi4vcGF0aG5hbWVzLmgKK3Nob3B0Lm86ICQodG9wZGlyKS9jb21tYW5kLmggLi4vY29uZmlnLmggJChCQVNISU5DRElSKS9tZW1hbGxvYy5oCitzaG9wdC5vOiAkKHRvcGRpcikvZXJyb3IuaCAkKHRvcGRpcikvZ2VuZXJhbC5oICQodG9wZGlyKS94bWFsbG9jLmggCitzaG9wdC5vOiAkKHRvcGRpcikvcXVpdC5oICQodG9wZGlyKS9kaXNwb3NlX2NtZC5oICQodG9wZGlyKS9tYWtlX2NtZC5oCitzaG9wdC5vOiAkKHRvcGRpcikvc3Vic3QuaCAkKHRvcGRpcikvZXh0ZXJucy5oICQoQkFTSElOQ0RJUikvbWF4cGF0aC5oCitzaG9wdC5vOiAkKHRvcGRpcikvc2hlbGwuaCAkKHRvcGRpcikvc3ludGF4LmggJCh0b3BkaXIpL3Vud2luZF9wcm90LmggJCh0b3BkaXIpL3ZhcmlhYmxlcy5oICQodG9wZGlyKS9jb25mdHlwZXMuaAorc2hvcHQubzogJChzcmNkaXIpL2NvbW1vbi5oICQoc3JjZGlyKS9iYXNoZ2V0b3B0LmggLi4vcGF0aG5hbWVzLmgKK3Nob3B0Lm86ICQodG9wZGlyKS9iYXNoaGlzdC5oCiBzb3VyY2UubzogJCh0b3BkaXIpL2NvbW1hbmQuaCAuLi9jb25maWcuaCAkKEJBU0hJTkNESVIpL21lbWFsbG9jLmgKIHNvdXJjZS5vOiAkKHRvcGRpcikvZXJyb3IuaCAkKHRvcGRpcikvZ2VuZXJhbC5oICQodG9wZGlyKS94bWFsbG9jLmggJCh0b3BkaXIpL2ZpbmRjbWQuaAogc291cmNlLm86ICQodG9wZGlyKS9xdWl0LmggJCh0b3BkaXIpL2Rpc3Bvc2VfY21kLmggJCh0b3BkaXIpL21ha2VfY21kLmgKIHNvdXJjZS5vOiAkKHRvcGRpcikvc3Vic3QuaCAkKHRvcGRpcikvZXh0ZXJucy5oICQoQkFTSElOQ0RJUikvbWF4cGF0aC5oCiBzb3VyY2UubzogJCh0b3BkaXIpL3NoZWxsLmggJCh0b3BkaXIpL3N5bnRheC5oICQodG9wZGlyKS91bndpbmRfcHJvdC5oICQodG9wZGlyKS92YXJpYWJsZXMuaCAkKHRvcGRpcikvY29uZnR5cGVzLmgKIHNvdXJjZS5vOiAkKHNyY2RpcikvYmFzaGdldG9wdC5oICQodG9wZGlyKS9mbGFncy5oICQodG9wZGlyKS90cmFwLmgKK3NvdXJjZS5vOiAuLi9wYXRobmFtZXMuaAogc3VzcGVuZC5vOiAkKHRvcGRpcikvY29tbWFuZC5oIC4uL2NvbmZpZy5oICQoQkFTSElOQ0RJUikvbWVtYWxsb2MuaAogc3VzcGVuZC5vOiAkKHRvcGRpcikvZXJyb3IuaCAkKHRvcGRpcikvZ2VuZXJhbC5oICQodG9wZGlyKS94bWFsbG9jLmgKIHN1c3BlbmQubzogJCh0b3BkaXIpL3F1aXQuaCAkKHRvcGRpcikvZGlzcG9zZV9jbWQuaCAkKHRvcGRpcikvbWFrZV9jbWQuaAogc3VzcGVuZC5vOiAkKHRvcGRpcikvc3Vic3QuaCAkKHRvcGRpcikvZXh0ZXJucy5oICQoQkFTSElOQ0RJUikvbWF4cGF0aC5oCiBzdXNwZW5kLm86ICQodG9wZGlyKS9zaGVsbC5oICQodG9wZGlyKS9zeW50YXguaCAkKHRvcGRpcikvdW53aW5kX3Byb3QuaCAkKHRvcGRpcikvdmFyaWFibGVzLmggJCh0b3BkaXIpL2NvbmZ0eXBlcy5oCi1zdXNwZW5kLm86ICQodG9wZGlyKS9qb2JzLmgKK3N1c3BlbmQubzogJCh0b3BkaXIpL2pvYnMuaCAuLi9wYXRobmFtZXMuaAogdGVzdC5vOiAkKHRvcGRpcikvY29tbWFuZC5oIC4uL2NvbmZpZy5oICQoQkFTSElOQ0RJUikvbWVtYWxsb2MuaAogdGVzdC5vOiAkKHRvcGRpcikvZXJyb3IuaCAkKHRvcGRpcikvZ2VuZXJhbC5oICQodG9wZGlyKS94bWFsbG9jLmgKIHRlc3QubzogJCh0b3BkaXIpL3F1aXQuaCAkKHRvcGRpcikvZGlzcG9zZV9jbWQuaCAkKHRvcGRpcikvbWFrZV9jbWQuaAogdGVzdC5vOiAkKHRvcGRpcikvc3Vic3QuaCAkKHRvcGRpcikvZXh0ZXJucy5oICQoQkFTSElOQ0RJUikvbWF4cGF0aC5oCiB0ZXN0Lm86ICQodG9wZGlyKS9zaGVsbC5oICQodG9wZGlyKS9zeW50YXguaCAkKHRvcGRpcikvdW53aW5kX3Byb3QuaCAkKHRvcGRpcikvdmFyaWFibGVzLmggJCh0b3BkaXIpL2NvbmZ0eXBlcy5oCi10ZXN0Lm86ICQodG9wZGlyKS90ZXN0LmgKK3Rlc3QubzogJCh0b3BkaXIpL3Rlc3QuaCAuLi9wYXRobmFtZXMuaAogdGltZXMubzogJCh0b3BkaXIpL2NvbW1hbmQuaCAuLi9jb25maWcuaCAkKEJBU0hJTkNESVIpL21lbWFsbG9jLmgKIHRpbWVzLm86ICQodG9wZGlyKS9lcnJvci5oICQodG9wZGlyKS9nZW5lcmFsLmggJCh0b3BkaXIpL3htYWxsb2MuaAogdGltZXMubzogJCh0b3BkaXIpL3F1aXQuaCAkKHRvcGRpcikvZGlzcG9zZV9jbWQuaCAkKHRvcGRpcikvbWFrZV9jbWQuaAogdGltZXMubzogJCh0b3BkaXIpL3N1YnN0LmggJCh0b3BkaXIpL2V4dGVybnMuaCAkKEJBU0hJTkNESVIpL21heHBhdGguaAogdGltZXMubzogJCh0b3BkaXIpL3NoZWxsLmggJCh0b3BkaXIpL3N5bnRheC5oICQodG9wZGlyKS91bndpbmRfcHJvdC5oICQodG9wZGlyKS92YXJpYWJsZXMuaCAkKHRvcGRpcikvY29uZnR5cGVzLmgKLXRpbWVzLm86ICQoQkFTSElOQ0RJUikvcG9zaXh0aW1lLmgKK3RpbWVzLm86ICQoQkFTSElOQ0RJUikvcG9zaXh0aW1lLmggLi4vcGF0aG5hbWVzLmgKIHRyYXAubzogJCh0b3BkaXIpL2NvbW1hbmQuaCAuLi9jb25maWcuaCAkKEJBU0hJTkNESVIpL21lbWFsbG9jLmgKIHRyYXAubzogJCh0b3BkaXIpL2Vycm9yLmggJCh0b3BkaXIpL2dlbmVyYWwuaCAkKHRvcGRpcikveG1hbGxvYy5oICQodG9wZGlyKS9leHRlcm5zLmgKIHRyYXAubzogJCh0b3BkaXIpL3F1aXQuaCAkKHNyY2RpcikvY29tbW9uLmggJChCQVNISU5DRElSKS9tYXhwYXRoLmgKIHRyYXAubzogJCh0b3BkaXIpL2Rpc3Bvc2VfY21kLmggJCh0b3BkaXIpL21ha2VfY21kLmggJCh0b3BkaXIpL3N1YnN0LmgKIHRyYXAubzogJCh0b3BkaXIpL3NoZWxsLmggJCh0b3BkaXIpL3N5bnRheC5oICQodG9wZGlyKS91bndpbmRfcHJvdC5oICQodG9wZGlyKS92YXJpYWJsZXMuaCAkKHRvcGRpcikvY29uZnR5cGVzLmgKLXRyYXAubzogJCh0b3BkaXIpL2ZpbmRjbWQuaAordHJhcC5vOiAkKHRvcGRpcikvZmluZGNtZC5oIC4uL3BhdGhuYW1lcy5oCiB0eXBlLm86ICQodG9wZGlyKS9jb21tYW5kLmggLi4vY29uZmlnLmggJChCQVNISU5DRElSKS9tZW1hbGxvYy5oCiB0eXBlLm86ICQodG9wZGlyKS9lcnJvci5oICQodG9wZGlyKS9nZW5lcmFsLmggJCh0b3BkaXIpL3htYWxsb2MuaAogdHlwZS5vOiAkKHRvcGRpcikvcXVpdC5oICQoc3JjZGlyKS9jb21tb24uaCAkKEJBU0hJTkNESVIpL21heHBhdGguaAogdHlwZS5vOiAkKHRvcGRpcikvZGlzcG9zZV9jbWQuaCAkKHRvcGRpcikvbWFrZV9jbWQuaCAkKHRvcGRpcikvc3Vic3QuaAotdHlwZS5vOiAkKHRvcGRpcikvZXh0ZXJucy5oICQodG9wZGlyKS9oYXNoY21kLmgKK3R5cGUubzogJCh0b3BkaXIpL2V4dGVybnMuaCAkKHRvcGRpcikvaGFzaGNtZC5oIC4uL3BhdGhuYW1lcy5oCiB0eXBlLm86ICQodG9wZGlyKS9zaGVsbC5oICQodG9wZGlyKS9zeW50YXguaCAkKHRvcGRpcikvdW53aW5kX3Byb3QuaCAkKHRvcGRpcikvdmFyaWFibGVzLmggJCh0b3BkaXIpL2NvbmZ0eXBlcy5oIAogdWxpbWl0Lm86ICQodG9wZGlyKS9jb21tYW5kLmggLi4vY29uZmlnLmggJChCQVNISU5DRElSKS9tZW1hbGxvYy5oCiB1bGltaXQubzogJCh0b3BkaXIpL2Vycm9yLmggJCh0b3BkaXIpL2dlbmVyYWwuaCAkKHRvcGRpcikveG1hbGxvYy5oCiB1bGltaXQubzogJCh0b3BkaXIpL3F1aXQuaCAkKHRvcGRpcikvZGlzcG9zZV9jbWQuaCAkKHRvcGRpcikvbWFrZV9jbWQuaAogdWxpbWl0Lm86ICQodG9wZGlyKS9zdWJzdC5oICQodG9wZGlyKS9leHRlcm5zLmggJChCQVNISU5DRElSKS9tYXhwYXRoLmgKIHVsaW1pdC5vOiAkKHRvcGRpcikvc2hlbGwuaCAkKHRvcGRpcikvc3ludGF4LmggJCh0b3BkaXIpL3Vud2luZF9wcm90LmggJCh0b3BkaXIpL3ZhcmlhYmxlcy5oICQodG9wZGlyKS9jb25mdHlwZXMuaAordWxpbWl0Lm86IC4uL3BhdGhuYW1lcy5oCiB1bWFzay5vOiAkKHRvcGRpcikvY29tbWFuZC5oIC4uL2NvbmZpZy5oICQoQkFTSElOQ0RJUikvbWVtYWxsb2MuaAogdW1hc2subzogJCh0b3BkaXIpL2Vycm9yLmggJCh0b3BkaXIpL2dlbmVyYWwuaCAkKHRvcGRpcikveG1hbGxvYy5oCiB1bWFzay5vOiAkKHRvcGRpcikvcXVpdC5oICQodG9wZGlyKS9kaXNwb3NlX2NtZC5oICQodG9wZGlyKS9tYWtlX2NtZC5oCiB1bWFzay5vOiAkKHRvcGRpcikvc3Vic3QuaCAkKHRvcGRpcikvZXh0ZXJucy5oICQoQkFTSElOQ0RJUikvbWF4cGF0aC5oCiB1bWFzay5vOiAkKHRvcGRpcikvc2hlbGwuaCAkKHRvcGRpcikvc3ludGF4LmggJCh0b3BkaXIpL3Vud2luZF9wcm90LmggJCh0b3BkaXIpL3ZhcmlhYmxlcy5oICQodG9wZGlyKS9jb25mdHlwZXMuaAotdW1hc2subzogJChCQVNISU5DRElSKS9jaGFydHlwZXMuaAordW1hc2subzogJChCQVNISU5DRElSKS9jaGFydHlwZXMuaCAuLi9wYXRobmFtZXMuaAogd2FpdC5vOiAkKHRvcGRpcikvY29tbWFuZC5oIC4uL2NvbmZpZy5oICQoQkFTSElOQ0RJUikvbWVtYWxsb2MuaAogd2FpdC5vOiAkKHRvcGRpcikvZXJyb3IuaCAkKHRvcGRpcikvZ2VuZXJhbC5oICQodG9wZGlyKS94bWFsbG9jLmgKIHdhaXQubzogJCh0b3BkaXIpL3F1aXQuaCAkKHRvcGRpcikvZGlzcG9zZV9jbWQuaCAkKHRvcGRpcikvbWFrZV9jbWQuaAogd2FpdC5vOiAkKHRvcGRpcikvc3Vic3QuaCAkKHRvcGRpcikvZXh0ZXJucy5oICQoQkFTSElOQ0RJUikvbWF4cGF0aC5oCiB3YWl0Lm86ICQodG9wZGlyKS9zaGVsbC5oICQodG9wZGlyKS9zeW50YXguaCAkKHRvcGRpcikvdW53aW5kX3Byb3QuaCAkKHRvcGRpcikvdmFyaWFibGVzLmggJCh0b3BkaXIpL2NvbmZ0eXBlcy5oCiB3YWl0Lm86ICQodG9wZGlyKS9qb2JzLmgKLXdhaXQubzogJChCQVNISU5DRElSKS9jaGFydHlwZXMuaAotc2hvcHQubzogJCh0b3BkaXIpL2NvbW1hbmQuaCAuLi9jb25maWcuaCAkKEJBU0hJTkNESVIpL21lbWFsbG9jLmgKLXNob3B0Lm86ICQodG9wZGlyKS9lcnJvci5oICQodG9wZGlyKS9nZW5lcmFsLmggJCh0b3BkaXIpL3htYWxsb2MuaCAKLXNob3B0Lm86ICQodG9wZGlyKS9xdWl0LmggJCh0b3BkaXIpL2Rpc3Bvc2VfY21kLmggJCh0b3BkaXIpL21ha2VfY21kLmgKLXNob3B0Lm86ICQodG9wZGlyKS9zdWJzdC5oICQodG9wZGlyKS9leHRlcm5zLmggJChCQVNISU5DRElSKS9tYXhwYXRoLmgKLXNob3B0Lm86ICQodG9wZGlyKS9zaGVsbC5oICQodG9wZGlyKS9zeW50YXguaCAkKHRvcGRpcikvdW53aW5kX3Byb3QuaCAkKHRvcGRpcikvdmFyaWFibGVzLmggJCh0b3BkaXIpL2NvbmZ0eXBlcy5oCi1zaG9wdC5vOiAkKHNyY2RpcikvY29tbW9uLmggJChzcmNkaXIpL2Jhc2hnZXRvcHQuaAord2FpdC5vOiAkKEJBU0hJTkNESVIpL2NoYXJ0eXBlcy5oIC4uL3BhdGhuYW1lcy5oCiAKLWNvbXBsZXRlLm86IC4uL2NvbmZpZy5oIAorY29tcGxldGUubzogLi4vY29uZmlnLmggLi4vcGF0aG5hbWVzLmgKIGNvbXBsZXRlLm86ICR7dG9wZGlyfS9zaGVsbC5oICQodG9wZGlyKS9zeW50YXguaCAke3RvcGRpcn0vYmFzaGptcC5oICR7QkFTSElOQ0RJUn0vcG9zaXhqbXAuaCAke3RvcGRpcn0vc2lnLmggIAogY29tcGxldGUubzogJHt0b3BkaXJ9L3Vud2luZF9wcm90LmggJHt0b3BkaXJ9L3ZhcmlhYmxlcy5oCiBjb21wbGV0ZS5vOiAke3RvcGRpcn0vYmFzaHR5cGVzLmggJHt0b3BkaXJ9L2Jhc2hhbnNpLmggJHtCQVNISU5DRElSfS9hbnNpX3N0ZGxpYi5oCkBAIC02MDAsNyArNjE2LDcgQEAKIG1hcGZpbGUubzogJCh0b3BkaXIpL3F1aXQuaCAkKHRvcGRpcikvZGlzcG9zZV9jbWQuaCAkKHRvcGRpcikvbWFrZV9jbWQuaAogbWFwZmlsZS5vOiAkKHRvcGRpcikvc3Vic3QuaCAkKHRvcGRpcikvZXh0ZXJucy5oICQoQkFTSElOQ0RJUikvbWF4cGF0aC5oCiBtYXBmaWxlLm86ICQodG9wZGlyKS9zaGVsbC5oICQodG9wZGlyKS9zeW50YXguaCAkKHRvcGRpcikvdmFyaWFibGVzLmggJCh0b3BkaXIpL2NvbmZ0eXBlcy5oCi1tYXBmaWxlLm86ICQodG9wZGlyKS9hcnJheWZ1bmMuaAorbWFwZmlsZS5vOiAkKHRvcGRpcikvYXJyYXlmdW5jLmggLi4vcGF0aG5hbWVzLmgKIAogI2JpbmQubzogJChSTF9MSUJTUkMpY2hhcmRlZnMuaCAkKFJMX0xJQlNSQylyZWFkbGluZS5oICQoUkxfTElCU1JDKWtleW1hcHMuaAogCmRpZmYgLS1naXQgYS9idWlsdGlucy9iaW5kLmRlZiBiL2J1aWx0aW5zL2JpbmQuZGVmCmluZGV4IGZjYzNiYmIuLmQwYzk1M2IgMTAwNjQ0Ci0tLSBhL2J1aWx0aW5zL2JpbmQuZGVmCisrKyBiL2J1aWx0aW5zL2JpbmQuZGVmCkBAIC0yNTUsNyArMjU1LDcgQEAKIAogICBpZiAoKGZsYWdzICYgUkZMQUcpICYmIHJlbW92ZV9zZXEpCiAgICAgewotICAgICAgaWYgKHJsX3NldF9rZXkgKHJlbW92ZV9zZXEsIChybF9jb21tYW5kX2Z1bmNfdCAqKU5VTEwsIHJsX2dldF9rZXltYXAgKCkpICE9IDApCisgICAgICBpZiAocmxfYmluZF9rZXlzZXEgKHJlbW92ZV9zZXEsIChybF9jb21tYW5kX2Z1bmNfdCAqKU5VTEwpICE9IDApCiAJewogCSAgYnVpbHRpbl9lcnJvciAoXygiYCVzJzogY2Fubm90IHVuYmluZCIpLCByZW1vdmVfc2VxKTsKIAkgIEJJTkRfUkVUVVJOIChFWEVDVVRJT05fRkFJTFVSRSk7CmRpZmYgLS1naXQgYS9idWlsdGlucy9jb21tYW5kLmRlZiBiL2J1aWx0aW5zL2NvbW1hbmQuZGVmCmluZGV4IDc3ZjkxMjYuLjE4NDUyNzkgMTAwNjQ0Ci0tLSBhL2J1aWx0aW5zL2NvbW1hbmQuZGVmCisrKyBiL2J1aWx0aW5zL2NvbW1hbmQuZGVmCkBAIC0xMDAsNiArMTAwLDMxIEBACiAgIGlmIChsaXN0ID09IDApCiAgICAgcmV0dXJuIChFWEVDVVRJT05fU1VDQ0VTUyk7CiAKKyNpZiBkZWZpbmVkIChSRVNUUklDVEVEX1NIRUxMKQorICBpZiAodXNlX3N0YW5kYXJkX3BhdGggJiYgcmVzdHJpY3RlZCkKKyAgICB7CisgICAgICBzaF9yZXN0cmljdGVkICgiLXAiKTsKKyAgICAgIHJldHVybiAoRVhFQ1VUSU9OX0ZBSUxVUkUpOworICAgIH0KKyNlbmRpZgorCisgIGJlZ2luX3Vud2luZF9mcmFtZSAoImNvbW1hbmRfYnVpbHRpbiIpOworCisgIGlmICh1c2Vfc3RhbmRhcmRfcGF0aCkKKyAgICB7ICAgICAgCisgICAgICBvbGRfcGF0aCA9IGdldF9zdHJpbmdfdmFsdWUgKCJQQVRIIik7CisgICAgICAvKiBJZiBvbGRfcGF0aCBpcyBOVUxMLCAkUEFUSCBpcyB1bnNldC4gIElmIHNvLCB3ZSB3YW50IHRvIG1ha2Ugc3VyZQorCSBpdCdzIHVuc2V0IGFmdGVyIHRoaXMgY29tbWFuZCBjb21wbGV0ZXMuICovCisgICAgICBpZiAob2xkX3BhdGgpCisJb2xkX3BhdGggPSBzYXZlc3RyaW5nIChvbGRfcGF0aCk7CisgICAgICBhZGRfdW53aW5kX3Byb3RlY3QgKChGdW5jdGlvbiAqKXJlc3RvcmVfcGF0aCwgb2xkX3BhdGgpOworCisgICAgICBzdGFuZGFyZF9wYXRoID0gZ2V0X3N0YW5kYXJkX3BhdGggKCk7CisgICAgICBiaW5kX3ZhcmlhYmxlICgiUEFUSCIsIHN0YW5kYXJkX3BhdGggPyBzdGFuZGFyZF9wYXRoIDogIiIsIDApOworICAgICAgc3R1cGlkbHlfaGFja19zcGVjaWFsX3ZhcmlhYmxlcyAoIlBBVEgiKTsKKyAgICAgIEZSRUUgKHN0YW5kYXJkX3BhdGgpOworICAgIH0KKwogICBpZiAodmVyYm9zZSkKICAgICB7CiAgICAgICBpbnQgZm91bmQsIGFueV9mb3VuZDsKQEAgLTExMywzNyArMTM4LDE1IEBACiAKIAkgIGFueV9mb3VuZCArPSBmb3VuZDsKIAl9CisKKyAgICAgIHJ1bl91bndpbmRfZnJhbWUgKCJjb21tYW5kX2J1aWx0aW4iKTsKICAgICAgIHJldHVybiAoYW55X2ZvdW5kID8gRVhFQ1VUSU9OX1NVQ0NFU1MgOiBFWEVDVVRJT05fRkFJTFVSRSk7CiAgICAgfQogCi0jaWYgZGVmaW5lZCAoUkVTVFJJQ1RFRF9TSEVMTCkKLSAgaWYgKHVzZV9zdGFuZGFyZF9wYXRoICYmIHJlc3RyaWN0ZWQpCi0gICAgewotICAgICAgc2hfcmVzdHJpY3RlZCAoIi1wIik7Ci0gICAgICByZXR1cm4gKEVYRUNVVElPTl9GQUlMVVJFKTsKLSAgICB9Ci0jZW5kaWYKLQotICBiZWdpbl91bndpbmRfZnJhbWUgKCJjb21tYW5kX2J1aWx0aW4iKTsKLQotICAvKiBXZSBkb24ndCB3YW50IHRoaXMgdG8gYmUgcmVwYXJzZWQgKGNvbnNpZGVyIGNvbW1hbmQgZWNobyAnZm9vICYnKSwgc28KLSAgICAganVzdCBtYWtlIGEgc2ltcGxlX2NvbW1hbmQgc3RydWN0dXJlIGFuZCBjYWxsIGV4ZWN1dGVfY29tbWFuZCB3aXRoIGl0LiAqLwotICBpZiAodXNlX3N0YW5kYXJkX3BhdGgpCi0gICAgeyAgICAgIAotICAgICAgb2xkX3BhdGggPSBnZXRfc3RyaW5nX3ZhbHVlICgiUEFUSCIpOwotICAgICAgLyogSWYgb2xkX3BhdGggaXMgTlVMTCwgJFBBVEggaXMgdW5zZXQuICBJZiBzbywgd2Ugd2FudCB0byBtYWtlIHN1cmUKLQkgaXQncyB1bnNldCBhZnRlciB0aGlzIGNvbW1hbmQgY29tcGxldGVzLiAqLwotICAgICAgaWYgKG9sZF9wYXRoKQotCW9sZF9wYXRoID0gc2F2ZXN0cmluZyAob2xkX3BhdGgpOwotICAgICAgYWRkX3Vud2luZF9wcm90ZWN0ICgoRnVuY3Rpb24gKilyZXN0b3JlX3BhdGgsIG9sZF9wYXRoKTsKLQotICAgICAgc3RhbmRhcmRfcGF0aCA9IGdldF9zdGFuZGFyZF9wYXRoICgpOwotICAgICAgYmluZF92YXJpYWJsZSAoIlBBVEgiLCBzdGFuZGFyZF9wYXRoID8gc3RhbmRhcmRfcGF0aCA6ICIiLCAwKTsKLSAgICAgIEZSRUUgKHN0YW5kYXJkX3BhdGgpOwotICAgIH0KLQogI2RlZmluZSBDT01NQU5EX0JVSUxUSU5fRkxBR1MgKENNRF9OT19GVU5DVElPTlMgfCBDTURfSU5ISUJJVF9FWFBBTlNJT04gfCBDTURfQ09NTUFORF9CVUlMVElOKQogCisgIC8qIFdlIGRvbid0IHdhbnQgdGhpcyB0byBiZSByZXBhcnNlZCAoY29uc2lkZXIgY29tbWFuZCBlY2hvICdmb28gJicpLCBzbworICAgICBqdXN0IG1ha2UgYSBzaW1wbGVfY29tbWFuZCBzdHJ1Y3R1cmUgYW5kIGNhbGwgZXhlY3V0ZV9jb21tYW5kIHdpdGggaXQuICovCiAgIGNvbW1hbmQgPSBtYWtlX2JhcmVfc2ltcGxlX2NvbW1hbmQgKCk7CiAgIGNvbW1hbmQtPnZhbHVlLlNpbXBsZS0+d29yZHMgPSAoV09SRF9MSVNUICopY29weV93b3JkX2xpc3QgKGxpc3QpOwogICBjb21tYW5kLT52YWx1ZS5TaW1wbGUtPnJlZGlyZWN0cyA9IChSRURJUkVDVCAqKU5VTEw7CkBAIC0xODIsNiArMTg1LDggQEAKICAgICB9CiAgIGVsc2UKICAgICB1bmJpbmRfdmFyaWFibGUgKCJQQVRIIik7CisKKyAgc3R1cGlkbHlfaGFja19zcGVjaWFsX3ZhcmlhYmxlcyAoIlBBVEgiKTsKIH0KIAogLyogUmV0dXJuIGEgdmFsdWUgZm9yIFBBVEggdGhhdCBpcyBndWFyYW50ZWVkIHRvIGZpbmQgYWxsIG9mIHRoZSBzdGFuZGFyZApkaWZmIC0tZ2l0IGEvYnVpbHRpbnMvY29tbW9uLmMgYi9idWlsdGlucy9jb21tb24uYwppbmRleCA2YmE2NDFiLi5mMDJlOTljIDEwMDY0NAotLS0gYS9idWlsdGlucy9jb21tb24uYworKysgYi9idWlsdGlucy9jb21tb24uYwpAQCAtNjEyLDcgKzYxMiw3IEBACiAJICAgICAgbWF0Y2ggPSBTVFJFUU4gKHAtPmNvbW1hbmQsIG5hbWUsIGNsKTsKIAkgICAgfQogCSAgZWxzZSBpZiAoZmxhZ3MgJiBKTV9TVUJTVFJJTkcpCi0JICAgIG1hdGNoID0gc3RyaW5kZXggKHAtPmNvbW1hbmQsIG5hbWUpICE9IChjaGFyICopMDsKKwkgICAgbWF0Y2ggPSBzdHJjYXNlc3RyIChwLT5jb21tYW5kLCBuYW1lKSAhPSAoY2hhciAqKTA7CiAJICBlbHNlCiAJICAgIG1hdGNoID0gU1RSRVFOIChwLT5jb21tYW5kLCBuYW1lLCB3bCk7CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW5zL2NvbW1vbi5oIGIvYnVpbHRpbnMvY29tbW9uLmgKaW5kZXggZWNmOWQxYi4uZWZiYjA3OCAxMDA2NDQKLS0tIGEvYnVpbHRpbnMvY29tbW9uLmgKKysrIGIvYnVpbHRpbnMvY29tbW9uLmgKQEAgLTEzOSw3ICsxMzksMTEgQEAKIGV4dGVybiBpbnQgc2hvcHRfc2V0b3B0IF9fUCgoY2hhciAqLCBpbnQpKTsKIGV4dGVybiBpbnQgc2hvcHRfbGlzdG9wdCBfX1AoKGNoYXIgKiwgaW50KSk7CiAKLWV4dGVybiBpbnQgc2V0X2xvZ2luX3NoZWxsIF9fUCgoaW50KSk7CitleHRlcm4gaW50IHNldF9sb2dpbl9zaGVsbCBfX1AoKGNoYXIgKiwgaW50KSk7CisKK2V4dGVybiB2b2lkIHNldF9iYXNob3B0cyBfX1AoKHZvaWQpKTsKK2V4dGVybiB2b2lkIHBhcnNlX2Jhc2hvcHRzIF9fUCgoY2hhciAqKSk7CitleHRlcm4gdm9pZCBpbml0aWFsaXplX2Jhc2hvcHRzIF9fUCgoaW50KSk7CiAKIC8qIEZ1bmN0aW9ucyBmcm9tIHR5cGUuZGVmICovCiBleHRlcm4gaW50IGRlc2NyaWJlX2NvbW1hbmQgX19QKChjaGFyICosIGludCkpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbnMvY29tcGxldGUuZGVmIGIvYnVpbHRpbnMvY29tcGxldGUuZGVmCmluZGV4IGQ3ZTlhZWUuLjIyNjc3OTQgMTAwNjQ0Ci0tLSBhL2J1aWx0aW5zL2NvbXBsZXRlLmRlZgorKysgYi9idWlsdGlucy9jb21wbGV0ZS5kZWYKQEAgLTIzLDcgKzIzLDcgQEAKICRCVUlMVElOIGNvbXBsZXRlCiAkREVQRU5EU19PTiBQUk9HUkFNTUFCTEVfQ09NUExFVElPTgogJEZVTkNUSU9OIGNvbXBsZXRlX2J1aWx0aW4KLSRTSE9SVF9ET0MgY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLVcgd29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgc3VmZml4XSBbbmFtZSAuLi5dCiskU0hPUlRfRE9DIGNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy1XIHdvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TIHN1ZmZpeF0gW25hbWUgLi4uXQogU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuCiAKIEZvciBlYWNoIE5BTUUsIHNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkLiAgSWYgbm8gb3B0aW9ucwpAQCAtMzQsOSArMzQsMTQgQEAKICAgLXAJcHJpbnQgZXhpc3RpbmcgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9ucyBpbiBhIHJldXNhYmxlIGZvcm1hdAogICAtcglyZW1vdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZm9yIGVhY2ggTkFNRSwgb3IsIGlmIG5vCiAJTkFNRXMgYXJlIHN1cHBsaWVkLCBhbGwgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9ucworICAtRAlhcHBseSB0aGUgY29tcGxldGlvbnMgYW5kIGFjdGlvbnMgYXMgdGhlIGRlZmF1bHQgZm9yIGNvbW1hbmRzCisJd2l0aG91dCBhbnkgc3BlY2lmaWMgY29tcGxldGlvbiBkZWZpbmVkCisgIC1FCWFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyB0byAiZW1wdHkiIGNvbW1hbmRzIC0tCisJY29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYSBibGFuayBsaW5lCiAKIFdoZW4gY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQsIHRoZSBhY3Rpb25zIGFyZSBhcHBsaWVkIGluIHRoZSBvcmRlciB0aGUKLXVwcGVyY2FzZS1sZXR0ZXIgb3B0aW9ucyBhcmUgbGlzdGVkIGFib3ZlLgordXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuICBUaGUgLUQgb3B0aW9uIHRha2VzCitwcmVjZWRlbmNlIG92ZXIgLUUuCiAKIEV4aXQgU3RhdHVzOgogUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuCkBAIC03Miw2ICs3Nyw3IEBACiBzdHJ1Y3QgX29wdGZsYWdzIHsKICAgaW50IHBmbGFnOwogICBpbnQgcmZsYWc7CisgIGludCBEZmxhZzsKICAgaW50IEVmbGFnOwogfTsKIApAQCAtMTg3LDcgKzE5Myw3IEBACiAgIG9wdF9naXZlbiA9IDA7CiAKICAgcmVzZXRfaW50ZXJuYWxfZ2V0b3B0ICgpOwotICB3aGlsZSAoKG9wdCA9IGludGVybmFsX2dldG9wdCAobGlzdCwgImFiY2RlZmdqa286cHJzdXZBOkc6VzpQOlM6WDpGOkM6RSIpKSAhPSAtMSkKKyAgd2hpbGUgKChvcHQgPSBpbnRlcm5hbF9nZXRvcHQgKGxpc3QsICJhYmNkZWZnamtvOnByc3V2QTpHOlc6UDpTOlg6RjpDOkRFIikpICE9IC0xKQogICAgIHsKICAgICAgIG9wdF9naXZlbiA9IDE7CiAgICAgICBzd2l0Y2ggKG9wdCkKQEAgLTI3NSw2ICsyODEsMTggQEAKIAljYXNlICdDJzoKIAkgIENhcmcgPSBsaXN0X29wdGFyZzsKIAkgIGJyZWFrOworCWNhc2UgJ0QnOgorCSAgaWYgKGZsYWdwKQorCSAgICB7CisJICAgICAgZmxhZ3AtPkRmbGFnID0gMTsKKwkgICAgICBicmVhazsKKwkgICAgfQorCSAgZWxzZQorCSAgICB7CisJICAgICAgc2hfaW52YWxpZG9wdCAoIi1EIik7CisJICAgICAgYnVpbHRpbl91c2FnZSAoKTsKKwkgICAgICByZXR1cm4gKEVYX1VTQUdFKTsKKwkgICAgfQogCWNhc2UgJ0UnOgogCSAgaWYgKGZsYWdwKQogCSAgICB7CkBAIC0zMzQsNyArMzUyLDcgQEAKICAgICAgIHJldHVybiAoRVhFQ1VUSU9OX1NVQ0NFU1MpOwogICAgIH0KIAotICBvcHRfZ2l2ZW4gPSBvZmxhZ3MucGZsYWcgPSBvZmxhZ3MucmZsYWcgPSBvZmxhZ3MuRWZsYWcgPSAwOworICBvcHRfZ2l2ZW4gPSBvZmxhZ3MucGZsYWcgPSBvZmxhZ3MucmZsYWcgPSBvZmxhZ3MuRGZsYWcgPSBvZmxhZ3MuRWZsYWcgPSAwOwogCiAgIGFjdHMgPSBjb3B0cyA9ICh1bnNpZ25lZCBsb25nKTBMOwogICBHYXJnID0gV2FyZyA9IFBhcmcgPSBTYXJnID0gWGFyZyA9IEZhcmcgPSBDYXJnID0gKGNoYXIgKilOVUxMOwpAQCAtMzQ5LDcgKzM2Nyw4IEBACiAKICAgbGlzdCA9IGxvcHRlbmQ7CiAKLSAgd2wgPSBvZmxhZ3MuRWZsYWcgPyBtYWtlX3dvcmRfbGlzdCAobWFrZV9iYXJlX3dvcmQgKCJfRW1wdHljbURfIiksIChXT1JEX0xJU1QgKilOVUxMKSA6IDA7CisgIHdsID0gb2ZsYWdzLkRmbGFnID8gbWFrZV93b3JkX2xpc3QgKG1ha2VfYmFyZV93b3JkIChERUZBVUxUQ01EKSwgKFdPUkRfTElTVCAqKU5VTEwpCisgIAkJICAgIDogKG9mbGFncy5FZmxhZyA/IG1ha2Vfd29yZF9saXN0IChtYWtlX2JhcmVfd29yZCAoRU1QVFlDTUQpLCAoV09SRF9MSVNUICopTlVMTCkgOiAwKTsKIAogICAvKiAtcCBvdmVycmlkZXMgZXZlcnl0aGluZyBlbHNlICovCiAgIGlmIChvZmxhZ3MucGZsYWcgfHwgKGxpc3QgPT0gMCAmJiBvcHRfZ2l2ZW4gPT0gMCkpCkBAIC01NDAsNyArNTU5LDEyIEBACiAgIC8qIHNpbXBsZSBhcmd1bWVudHMgdGhhdCBkb24ndCByZXF1aXJlIHF1b3RpbmcgKi8KICAgUFJJTlRBUkcgKGNzLT5mdW5jbmFtZSwgIi1GIik7CiAKLSAgcHJpbnRmICgiJXNcbiIsIGNtZCk7CisgIGlmIChTVFJFUSAoY21kLCBFTVBUWUNNRCkpCisgICAgcHJpbnRmICgiLUVcbiIpOworICBlbHNlIGlmIChTVFJFUSAoY21kLCBERUZBVUxUQ01EKSkKKyAgICBwcmludGYgKCItRFxuIik7CisgIGVsc2UKKyAgICBwcmludGYgKCIlc1xuIiwgY21kKTsKIAogICByZXR1cm4gKDApOwogfQpAQCAtNTc1LDcgKzU5OSwxMiBAQAogICAgICAgUFJJTlRDT01QT1BUIChDT1BUX1BMVVNESVJTLCAicGx1c2RpcnMiKTsKICAgICB9CiAKLSAgcHJpbnRmICgiJXNcbiIsIGNtZCk7CisgIGlmIChTVFJFUSAoY21kLCBFTVBUWUNNRCkpCisgICAgcHJpbnRmICgiLUVcbiIpOworICBlbHNlIGlmIChTVFJFUSAoY21kLCBERUZBVUxUQ01EKSkKKyAgICBwcmludGYgKCItRFxuIik7CisgIGVsc2UKKyAgICBwcmludGYgKCIlc1xuIiwgY21kKTsKIH0KIAogc3RhdGljIGludApAQCAtNjgzLDcgKzcxMiw3IEBACiAgIGNzLT5maWx0ZXJwYXQgPSBTVFJEVVAgKFhhcmcpOwogCiAgIHJ2YWwgPSBFWEVDVVRJT05fRkFJTFVSRTsKLSAgc2wgPSBnZW5fY29tcHNwZWNfY29tcGxldGlvbnMgKGNzLCAiY29tcGdlbiIsIHdvcmQsIDAsIDApOworICBzbCA9IGdlbl9jb21wc3BlY19jb21wbGV0aW9ucyAoY3MsICJjb21wZ2VuIiwgd29yZCwgMCwgMCwgMCk7CiAKICAgLyogSWYgdGhlIGNvbXBzcGVjIHdhbnRzIHRoZSBiYXNoIGRlZmF1bHQgY29tcGxldGlvbnMsIHRlbXBvcmFyaWx5CiAgICAgIHR1cm4gb2ZmIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGFuZCBjYWxsIHRoZSBiYXNoIGNvbXBsZXRpb24gY29kZS4gKi8KQEAgLTcyMCw3ICs3NDksNyBAQAogJEJVSUxUSU4gY29tcG9wdAogJERFUEVORFNfT04gUFJPR1JBTU1BQkxFX0NPTVBMRVRJT04KICRGVU5DVElPTiBjb21wb3B0X2J1aWx0aW4KLSRTSE9SVF9ET0MgY29tcG9wdCBbLW98K28gb3B0aW9uXSBbbmFtZSAuLi5dCiskU0hPUlRfRE9DIGNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gWy1ERV0gW25hbWUgLi4uXQogTW9kaWZ5IG9yIGRpc3BsYXkgY29tcGxldGlvbiBvcHRpb25zLgogCiBNb2RpZnkgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm8gTkFNRXMgYXJlIHN1cHBsaWVkLApAQCAtNzI5LDYgKzc1OCw4IEBACiAKIE9wdGlvbnM6CiAJLW8gb3B0aW9uCVNldCBjb21wbGV0aW9uIG9wdGlvbiBPUFRJT04gZm9yIGVhY2ggTkFNRQorCS1ECQlDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlICJkZWZhdWx0IiBjb21tYW5kIGNvbXBsZXRpb24KKwktRQkJQ2hhbmdlIG9wdGlvbnMgZm9yIHRoZSAiZW1wdHkiIGNvbW1hbmQgY29tcGxldGlvbgogCiBVc2luZyBgK28nIGluc3RlYWQgb2YgYC1vJyB0dXJucyBvZmYgdGhlIHNwZWNpZmllZCBvcHRpb24uCiAKQEAgLTc0OSwxNSArNzgwLDE1IEBACiBjb21wb3B0X2J1aWx0aW4gKGxpc3QpCiAgICAgIFdPUkRfTElTVCAqbGlzdDsKIHsKLSAgaW50IG9wdHNfb24sIG9wdHNfb2ZmLCAqb3B0cywgb3B0LCBvaW5kLCByZXQsIEVmbGFnOwotICBXT1JEX0xJU1QgKmw7CisgIGludCBvcHRzX29uLCBvcHRzX29mZiwgKm9wdHMsIG9wdCwgb2luZCwgcmV0LCBEZmxhZywgRWZsYWc7CisgIFdPUkRfTElTVCAqbCwgKndsOwogICBDT01QU1BFQyAqY3M7CiAKLSAgb3B0c19vbiA9IG9wdHNfb2ZmID0gMDsKKyAgb3B0c19vbiA9IG9wdHNfb2ZmID0gRWZsYWcgPSBEZmxhZyA9IDA7CiAgIHJldCA9IEVYRUNVVElPTl9TVUNDRVNTOwogCiAgIHJlc2V0X2ludGVybmFsX2dldG9wdCAoKTsKLSAgd2hpbGUgKChvcHQgPSBpbnRlcm5hbF9nZXRvcHQgKGxpc3QsICIrbzoiKSkgIT0gRU9GKQorICB3aGlsZSAoKG9wdCA9IGludGVybmFsX2dldG9wdCAobGlzdCwgIitvOkRFIikpICE9IEVPRikKICAgICB7CiAgICAgICBvcHRzID0gKGxpc3Rfb3B0dHlwZSA9PSAnLScpID8gJm9wdHNfb24gOiAmb3B0c19vZmY7CiAKQEAgLTc3Miw2ICs4MDMsMTIgQEAKIAkgICAgfQogCSAgKm9wdHMgfD0gY29tcG9wdHNbb2luZF0ub3B0ZmxhZzsKIAkgIGJyZWFrOworCWNhc2UgJ0QnOgorCSAgRGZsYWcgPSAxOworCSAgYnJlYWs7CisJY2FzZSAnRSc6CisJICBFZmxhZyA9IDE7CisJICBicmVhazsKIAlkZWZhdWx0OgogCSAgYnVpbHRpbl91c2FnZSAoKTsKIAkgIHJldHVybiAoRVhfVVNBR0UpOwpAQCAtNzc5LDcgKzgxNiwxMCBAQAogICAgIH0KICAgbGlzdCA9IGxvcHRlbmQ7CiAKLSAgaWYgKGxpc3QgPT0gMCkKKyAgd2wgPSBEZmxhZyA/IG1ha2Vfd29yZF9saXN0IChtYWtlX2JhcmVfd29yZCAoREVGQVVMVENNRCksIChXT1JEX0xJU1QgKilOVUxMKQorCSAgICAgOiAoRWZsYWcgPyBtYWtlX3dvcmRfbGlzdCAobWFrZV9iYXJlX3dvcmQgKEVNUFRZQ01EKSwgKFdPUkRfTElTVCAqKU5VTEwpIDogMCk7CisKKyAgaWYgKGxpc3QgPT0gMCAmJiB3bCA9PSAwKQogICAgIHsKICAgICAgIGlmIChSTF9JU1NUQVRFIChSTF9TVEFURV9DT01QTEVUSU5HKSA9PSAwIHx8IHBjb21wX2N1cmNzID09IDApCiAJewpAQCAtODA1LDcgKzg0NSw3IEBACiAgICAgICByZXR1cm4gKHJldCk7CiAgICAgfQogCi0gIGZvciAobCA9IGxpc3Q7IGw7IGwgPSBsLT5uZXh0KQorICBmb3IgKGwgPSB3bCA/IHdsIDogbGlzdDsgbDsgbCA9IGwtPm5leHQpCiAgICAgewogICAgICAgY3MgPSBwcm9nY29tcF9zZWFyY2ggKGwtPndvcmQtPndvcmQpOwogICAgICAgaWYgKGNzID09IDApCmRpZmYgLS1naXQgYS9idWlsdGlucy9kZWNsYXJlLmRlZiBiL2J1aWx0aW5zL2RlY2xhcmUuZGVmCmluZGV4IGJkN2Q2YjYuLmEwY2U2MDUgMTAwNjQ0Ci0tLSBhL2J1aWx0aW5zL2RlY2xhcmUuZGVmCisrKyBiL2J1aWx0aW5zL2RlY2xhcmUuZGVmCkBAIC01MDMsMTQgKzUwMywxOSBAQAogCSAgICBhc3NpZ25fYXJyYXlfdmFyX2Zyb21fc3RyaW5nICh2YXIsIHZhbHVlLCBhZmxhZ3MpOwogCSAgZWxzZSBpZiAoc2ltcGxlX2FycmF5X2Fzc2lnbiAmJiBzdWJzY3JpcHRfc3RhcnQpCiAJICAgIHsKLQkgICAgICAvKiBkZWNsYXJlIFstYV0gbmFtZVtOXT12YWx1ZSAqLworCSAgICAgIC8qIGRlY2xhcmUgWy1hQV0gbmFtZVtOXT12YWx1ZSAqLwogCSAgICAgICpzdWJzY3JpcHRfc3RhcnQgPSAnWyc7CS8qIF0gKi8KIAkgICAgICB2YXIgPSBhc3NpZ25fYXJyYXlfZWxlbWVudCAobmFtZSwgdmFsdWUsIDApOwkvKiBYWFggLSBub3QgYWZsYWdzICovCiAJICAgICAgKnN1YnNjcmlwdF9zdGFydCA9ICdcMCc7CiAJICAgIH0KIAkgIGVsc2UgaWYgKHNpbXBsZV9hcnJheV9hc3NpZ24pCi0JICAgIC8qIGxldCBiaW5kX2FycmF5X3ZhcmlhYmxlIHRha2UgY2FyZSBvZiB0aGlzLiAqLwotCSAgICBiaW5kX2FycmF5X3ZhcmlhYmxlIChuYW1lLCAwLCB2YWx1ZSwgYWZsYWdzKTsKKwkgICAgeworCSAgICAgIC8qIGxldCBiaW5kX3thcnJheSxhc3NvY31fdmFyaWFibGUgdGFrZSBjYXJlIG9mIHRoaXMuICovCisJICAgICAgaWYgKGFzc29jX3AgKHZhcikpCisJCWJpbmRfYXNzb2NfdmFyaWFibGUgKHZhciwgbmFtZSwgIjAiLCB2YWx1ZSwgYWZsYWdzKTsKKwkgICAgICBlbHNlCisJCWJpbmRfYXJyYXlfdmFyaWFibGUgKG5hbWUsIDAsIHZhbHVlLCBhZmxhZ3MpOworCSAgICB9CiAJICBlbHNlCiAjZW5kaWYKIAkgIC8qIGJpbmRfdmFyaWFibGVfdmFsdWUgZHVwbGljYXRlcyB0aGUgZXNzZW50aWFsIGludGVybmFscyBvZgpkaWZmIC0tZ2l0IGEvYnVpbHRpbnMvZXZhbGZpbGUuYyBiL2J1aWx0aW5zL2V2YWxmaWxlLmMKaW5kZXggNTViNWNiNy4uOTcyZDAzOSAxMDA2NDQKLS0tIGEvYnVpbHRpbnMvZXZhbGZpbGUuYworKysgYi9idWlsdGlucy9ldmFsZmlsZS5jCkBAIC04MSw3ICs4MSw3IEBACiB7CiAgIHZvbGF0aWxlIGludCBvbGRfaW50ZXJhY3RpdmU7CiAgIHByb2NlbnZfdCBvbGRfcmV0dXJuX2NhdGNoOwotICBpbnQgcmV0dXJuX3ZhbCwgZmQsIHJlc3VsdCwgcGZsYWdzOworICBpbnQgcmV0dXJuX3ZhbCwgZmQsIHJlc3VsdCwgcGZsYWdzLCBpLCBubnVsbDsKICAgc3NpemVfdCBucjsJCQkvKiByZXR1cm4gdmFsdWUgZnJvbSByZWFkKDIpICovCiAgIGNoYXIgKnN0cmluZzsKICAgc3RydWN0IHN0YXQgZmluZm87CkBAIC0xODYsNiArMTg2LDI2IEBACiAgICAgICByZXR1cm4gKChmbGFncyAmIEZFVkFMX0JVSUxUSU4pID8gRVhfQklOQVJZX0ZJTEUgOiAtMSk7CiAgICAgfQogCisgIGkgPSBzdHJsZW4gKHN0cmluZyk7CisgIGlmIChpIDwgbnIpCisgICAgeworICAgICAgZm9yIChubnVsbCA9IGkgPSAwOyBpIDwgbnI7IGkrKykKKwlpZiAoc3RyaW5nW2ldID09ICdcMCcpCisgICAgICAgICAgeworCSAgICBtZW1tb3ZlIChzdHJpbmcraSwgc3RyaW5nK2krMSwgbnIgLSBpKTsKKwkgICAgbnItLTsKKwkgICAgLyogRXZlbiBpZiB0aGUgYGNoZWNrIGJpbmFyeScgZmxhZyBpcyBub3Qgc2V0LCB3ZSB3YW50IHRvIGF2b2lkCisJICAgICAgIHNvdXJjaW5nIGZpbGVzIHdpdGggbW9yZSB0aGFuIDI1NiBudWxsIGNoYXJhY3RlcnMgLS0gdGhhdAorCSAgICAgICBwcm9iYWJseSBpbmRpY2F0ZXMgYSBiaW5hcnkgZmlsZS4gKi8KKwkgICAgaWYgKChmbGFncyAmIEZFVkFMX0JVSUxUSU4pICYmICsrbm51bGwgPiAyNTYpCisJICAgICAgeworCQlmcmVlIChzdHJpbmcpOworCQkoKmVycmZ1bmMpIChfKCIlczogY2Fubm90IGV4ZWN1dGUgYmluYXJ5IGZpbGUiKSwgZmlsZW5hbWUpOworCQlyZXR1cm4gKChmbGFncyAmIEZFVkFMX0JVSUxUSU4pID8gRVhfQklOQVJZX0ZJTEUgOiAtMSk7CisJICAgICAgfQorICAgICAgICAgIH0KKyAgICB9CisKICAgaWYgKGZsYWdzICYgRkVWQUxfVU5XSU5EUFJPVCkKICAgICB7CiAgICAgICBiZWdpbl91bndpbmRfZnJhbWUgKCJfZXZhbGZpbGUiKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW5zL2V2YWxzdHJpbmcuYyBiL2J1aWx0aW5zL2V2YWxzdHJpbmcuYwppbmRleCBhMGZiM2UyLi40MGFiZTAwIDEwMDY0NAotLS0gYS9idWlsdGlucy9ldmFsc3RyaW5nLmMKKysrIGIvYnVpbHRpbnMvZXZhbHN0cmluZy5jCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiLi4vZXhlY3V0ZV9jbWQuaCIKICNpbmNsdWRlICIuLi9yZWRpci5oIgogI2luY2x1ZGUgIi4uL3RyYXAuaCIKKyNpbmNsdWRlICIuLi9iYXNoaW50bC5oIgogCiAjaW5jbHVkZSA8eS50YWIuaD4KIApAQCAtNTEsNiArNTIsNyBAQAogI2VuZGlmCiAKICNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJidWlsdGV4dC5oIgogCiAjaWYgIWRlZmluZWQgKGVycm5vKQogZXh0ZXJuIGludCBlcnJubzsKQEAgLTY3LDYgKzY5LDcgQEAKIGV4dGVybiBpbnQgZXhlY3V0aW5nX2xpc3Q7CiBleHRlcm4gaW50IGNvbXN1Yl9pZ25vcmVfcmV0dXJuOwogZXh0ZXJuIGludCBwb3NpeGx5X2NvcnJlY3Q7CitleHRlcm4gc2hfYnVpbHRpbl9mdW5jX3QgKnRoaXNfc2hlbGxfYnVpbHRpbjsKIAogaW50IHBhcnNlX2FuZF9leGVjdXRlX2xldmVsID0gMDsKIApAQCAtMzI0LDYgKzMyNywxOSBAQAogCXsKIAkgIGxhc3RfcmVzdWx0ID0gRVhFQ1VUSU9OX0ZBSUxVUkU7CiAKKwkgIGlmIChpbnRlcmFjdGl2ZV9zaGVsbCA9PSAwICYmIHRoaXNfc2hlbGxfYnVpbHRpbiAmJgorCSAgICAgICh0aGlzX3NoZWxsX2J1aWx0aW4gPT0gc291cmNlX2J1aWx0aW4gfHwgdGhpc19zaGVsbF9idWlsdGluID09IGV2YWxfYnVpbHRpbikgJiYKKwkgICAgICBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZSA9PSBFWF9CQURTWU5UQVggJiYgcG9zaXhseV9jb3JyZWN0KQorCSAgICB7CisjaWYgMAkvKiBYWFggLSBmb3IgYmFzaC00LjIgKi8KKwkgICAgICBzaG91bGRfanVtcF90b190b3BfbGV2ZWwgPSAxOworCSAgICAgIGNvZGUgPSBFUlJFWElUOworCSAgICAgIGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlID0gRVhfQkFEVVNBR0U7CisjZWxzZQorCSAgICAgIGludGVybmFsX3dhcm5pbmcgKF8oInN5bnRheCBlcnJvcnMgaW4gLiBvciBldmFsIHdpbGwgY2F1c2UgZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB0byBhYm9ydCBhcyBQb3NpeCByZXF1aXJlcyIpKTsKKyNlbmRpZgorCSAgICB9CisKIAkgIC8qIFNpbmNlIHdlIGFyZSBzaGVsbCBjb21wYXRpYmxlLCBzeW50YXggZXJyb3JzIGluIGEgc2NyaXB0CiAJICAgICBhYm9ydCB0aGUgZXhlY3V0aW9uIG9mIHRoZSBzY3JpcHQuICBSaWdodD8gKi8KIAkgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbnMvaGVscC5kZWYgYi9idWlsdGlucy9oZWxwLmRlZgppbmRleCAwMDRhYmUyLi5mODU3YWY5IDEwMDY0NAotLS0gYS9idWlsdGlucy9oZWxwLmRlZgorKysgYi9idWlsdGlucy9oZWxwLmRlZgpAQCAtMjMsNyArMjMsNyBAQAogJEJVSUxUSU4gaGVscAogJEZVTkNUSU9OIGhlbHBfYnVpbHRpbgogJERFUEVORFNfT04gSEVMUF9CVUlMVElOCi0kU0hPUlRfRE9DIGhlbHAgWy1kc10gW3BhdHRlcm4gLi4uXQorJFNIT1JUX0RPQyBoZWxwIFstZG1zXSBbcGF0dGVybiAuLi5dCiBEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGJ1aWx0aW4gY29tbWFuZHMuCiAKIERpc3BsYXlzIGJyaWVmIHN1bW1hcmllcyBvZiBidWlsdGluIGNvbW1hbmRzLiAgSWYgUEFUVEVSTiBpcwpAQCAtMzUwLDYgKzM1MCw4IEBACiAgIHdpZHRoIC89IDI7CiAgIGlmICh3aWR0aCA+IHNpemVvZiAoYmx1cmIpKQogICAgIHdpZHRoID0gc2l6ZW9mIChibHVyYik7CisgIGlmICh3aWR0aCA8PSAzKQorICAgIHdpZHRoID0gNDA7CiAgIGhlaWdodCA9IChudW1fc2hlbGxfYnVpbHRpbnMgKyAxKSAvIDI7CS8qIG51bWJlciBvZiByb3dzICovCiAKICAgZm9yIChpID0gMDsgaSA8IGhlaWdodDsgaSsrKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbnMva2lsbC5kZWYgYi9idWlsdGlucy9raWxsLmRlZgppbmRleCA3MzRkYTI1Li4xOGMzNjY3IDEwMDY0NAotLS0gYS9idWlsdGlucy9raWxsLmRlZgorKysgYi9idWlsdGlucy9raWxsLmRlZgpAQCAtMTIxLDYgKzEyMSw5IEBACiAJICAgICAgZWxzZQogCQlzaWcgPSBkZWNvZGVfc2lnbmFsIChzaWdzcGVjLCBkZmxhZ3MpOwogCSAgICAgIGxpc3QgPSBsaXN0LT5uZXh0OworI2lmIDAKKwkgICAgICBzYXdfc2lnbmFsKys7CS8qIFhYWCAtIGZvciBiYXNoLTQuMiAqLworI2VuZGlmCiAJICAgIH0KIAkgIGVsc2UKIAkgICAgewpAQCAtMTQxLDcgKzE0NCw3IEBACiAgICAgICAvKiBJZiB0aGlzIGlzIGEgc2lnbmFsIHNwZWNpZmljYXRpb24gdGhlbiBwcm9jZXNzIGl0LiAgV2Ugb25seSBwcm9jZXNzCiAJIHRoZSBmaXJzdCBvbmUgc2Vlbjsgb3RoZXIgYXJndW1lbnRzIG1heSBzaWduaWZ5IHByb2Nlc3MgZ3JvdXBzIChlLmcsCiAJIC1udW0gPT0gcHJvY2VzcyBncm91cCBudW0pLiAqLwotICAgICAgZWxzZSBpZiAoKCp3b3JkID09ICctJykgJiYgIXNhd19zaWduYWwpCisgICAgICBlbHNlIGlmICgqd29yZCA9PSAnLScgJiYgc2F3X3NpZ25hbCA9PSAwKQogCXsKIAkgIHNpZ3NwZWMgPSB3b3JkICsgMTsKIAkgIHNpZyA9IGRlY29kZV9zaWduYWwgKHNpZ3NwZWMsIGRmbGFncyk7CmRpZmYgLS1naXQgYS9idWlsdGlucy9tYXBmaWxlLmRlZiBiL2J1aWx0aW5zL21hcGZpbGUuZGVmCmluZGV4IGUzN2NkMjIuLjA5NDZkZTMgMTAwNjQ0Ci0tLSBhL2J1aWx0aW5zL21hcGZpbGUuZGVmCisrKyBiL2J1aWx0aW5zL21hcGZpbGUuZGVmCkBAIC0yNCwxMSArMjQsMTEgQEAKICRCVUlMVElOIG1hcGZpbGUKICRGVU5DVElPTiBtYXBmaWxlX2J1aWx0aW4KICRTSE9SVF9ET0MgbWFwZmlsZSBbLW4gY291bnRdIFstTyBvcmlnaW5dIFstcyBjb3VudF0gWy10XSBbLXUgZmRdIFstQyBjYWxsYmFja10gWy1jIHF1YW50dW1dIFthcnJheV0KLVJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBhcnJheSB2YXJpYWJsZS4KK1JlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLgogCi1SZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGFycmF5IHZhcmlhYmxlIEFSUkFZLCBvciBmcm9tCi1maWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSBNQVBGSUxFIGlzCi10aGUgZGVmYXVsdCBBUlJBWS4KK1JlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgaW5kZXhlZCBhcnJheSB2YXJpYWJsZSBBUlJBWSwgb3IKK2Zyb20gZmlsZSBkZXNjcmlwdG9yIEZEIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaWFibGUgTUFQRklMRQoraXMgdGhlIGRlZmF1bHQgQVJSQVkuCiAKIE9wdGlvbnM6CiAgIC1uIGNvdW50CUNvcHkgYXQgbW9zdCBDT1VOVCBsaW5lcy4gIElmIENPVU5UIGlzIDAsIGFsbCBsaW5lcyBhcmUgY29waWVkLgpAQCAtNTAsNyArNTAsOCBAQAogYXNzaWduaW5nIHRvIGl0LgogCiBFeGl0IFN0YXR1czoKLVJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkuCitSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIEFSUkFZIGlzIHJlYWRvbmx5IG9yCitub3QgYW4gaW5kZXhlZCBhcnJheS4KICRFTkQKIAogJEJVSUxUSU4gcmVhZGFycmF5CkBAIC03MSw2ICs3Miw3IEBACiAjZW5kaWYKIAogI2luY2x1ZGUgImJhc2hhbnNpLmgiCisjaW5jbHVkZSAiYmFzaGludGwuaCIKIAogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8ZXJybm8uaD4KQEAgLTExMCwxMCArMTEyLDEwIEBACiAgIGV4ZWNsZW4gKz0gMjsKICAgZXhlY3N0ciA9IHhtYWxsb2MgKGV4ZWNsZW4pOwogCi0gIGZsYWdzID0gMDsKKyAgZmxhZ3MgPSBTRVZBTF9OT0hJU1Q7CiAjaWYgMAogICBpZiAoaW50ZXJhY3RpdmUpCi0gICAgZmxhZ3MgfD0gU0VWQUxfTk9ISVNUfFNFVkFMX0lOVEVSQUNUOworICAgIGZsYWdzIHw9IFNFVkFMX0lOVEVSQUNUOwogI2VuZGlmCiAgIHNucHJpbnRmIChleGVjc3RyLCBleGVjbGVuLCAiJXMgJWQiLCBjYWxsYmFjaywgY3VycmVudF9pbmRleCk7CiAgIHJldHVybiBwYXJzZV9hbmRfZXhlY3V0ZShleGVjc3RyLCBOVUxMLCBmbGFncyk7CkBAIC0xNTMsMTEgKzE1NSwxNyBAQAogICBlbnRyeSA9IGZpbmRfb3JfbWFrZV9hcnJheV92YXJpYWJsZSAoYXJyYXlfbmFtZSwgMSk7CiAgIGlmIChlbnRyeSA9PSAwIHx8IHJlYWRvbmx5X3AgKGVudHJ5KSB8fCBub2Fzc2lnbl9wIChlbnRyeSkpCiAgICAgewotICAgICAgaWYgKHJlYWRvbmx5X3AgKGVudHJ5KSkKKyAgICAgIGlmIChlbnRyeSAmJiByZWFkb25seV9wIChlbnRyeSkpCiAJZXJyX3JlYWRvbmx5IChhcnJheV9uYW1lKTsKIAkKICAgICAgIHJldHVybiAoRVhFQ1VUSU9OX0ZBSUxVUkUpOwogICAgIH0KKyAgZWxzZSBpZiAoYXJyYXlfcCAoZW50cnkpID09IDApCisgICAgeworICAgICAgYnVpbHRpbl9lcnJvciAoXygiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IiksIGFycmF5X25hbWUpOworICAgICAgcmV0dXJuIChFWEVDVVRJT05fRkFJTFVSRSk7CisgICAgfQorICAgICAgCiAgIGlmIChmbGFncyAmIE1BUEZfQ0xFQVJBUlJBWSkKICAgICBhcnJheV9mbHVzaCAoYXJyYXlfY2VsbCAoZW50cnkpKTsKIApAQCAtMjgxLDcgKzI4OSw3IEBACiAJICBicmVhazsKIAljYXNlICdjJzoKIAkgIGNvZGUgPSBsZWdhbF9udW1iZXIgKGxpc3Rfb3B0YXJnLCAmaW50dmFsKTsKLQkgIGlmIChjb2RlID09IDAgfHwgaW50dmFsIDwgMCB8fCBpbnR2YWwgIT0gKHVuc2lnbmVkKWludHZhbCkKKwkgIGlmIChjb2RlID09IDAgfHwgaW50dmFsIDw9IDAgfHwgaW50dmFsICE9ICh1bnNpZ25lZClpbnR2YWwpCiAJICAgIHsKIAkgICAgICBidWlsdGluX2Vycm9yIChfKCIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIiksIGxpc3Rfb3B0YXJnKTsKIAkgICAgICByZXR1cm4gKEVYRUNVVElPTl9GQUlMVVJFKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW5zL3ByaW50Zi5kZWYgYi9idWlsdGlucy9wcmludGYuZGVmCmluZGV4IDc1N2ZjZWEuLmU0NDc2MzMgMTAwNjQ0Ci0tLSBhL2J1aWx0aW5zL3ByaW50Zi5kZWYKKysrIGIvYnVpbHRpbnMvcHJpbnRmLmRlZgpAQCAtMTM1LDcgKzEzNSw3IEBACiAgICAgeyBcCiAgICAgICBpZiAodmZsYWcpIFwKIAl7IFwKLQkgIGJpbmRfdmFyaWFibGUgICh2bmFtZSwgdmJ1ZiwgMCk7IFwKKwkgIGJpbmRfcHJpbnRmX3ZhcmlhYmxlICAodm5hbWUsIHZidWYsIDApOyBcCiAJICBzdHVwaWRseV9oYWNrX3NwZWNpYWxfdmFyaWFibGVzICh2bmFtZSk7IFwKIAl9IFwKICAgICAgIGlmIChjb252X2J1ZnNpemUgPiA0MDk2ICkgXApAQCAtMTU2LDYgKzE1Niw3IEBACiAgICAgICBmZmx1c2ggKHN0ZG91dCk7IFwKICAgICAgIGlmIChmZXJyb3IgKHN0ZG91dCkpIFwKIAl7IFwKKwkgIHNoX3dyZXJyb3IgKCk7IFwKIAkgIGNsZWFyZXJyIChzdGRvdXQpOyBcCiAJICByZXR1cm4gKEVYRUNVVElPTl9GQUlMVVJFKTsgXAogCX0gXApAQCAtMTY2LDExICsxNjcsMTEgQEAKICNkZWZpbmUgU0tJUDEgIiMnLSsgMCIKICNkZWZpbmUgTEVOTU9EUyAiaGpsTHR6IgogCi0jaWZuZGVmIEhBVkVfQVNQUklOVEYKKyNpZiAhSEFWRV9BU1BSSU5URgogZXh0ZXJuIGludCBhc3ByaW50ZiBfX1AoKGNoYXIgKiosIGNvbnN0IGNoYXIgKiwgLi4uKSkgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyAocHJpbnRmLCAyLCAzKSkpOwogI2VuZGlmCiAKLSNpZm5kZWYgSEFWRV9WU05QUklOVEYKKyNpZiAhSEFWRV9WU05QUklOVEYKIGV4dGVybiBpbnQgdnNucHJpbnRmIF9fUCgoY2hhciAqLCBzaXplX3QsIGNvbnN0IGNoYXIgKiwgLi4uKSkgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyAocHJpbnRmLCAzLCA0KSkpOwogI2VuZGlmCiAKQEAgLTE4Niw2ICsxODcsNyBAQAogc3RhdGljIGludCAgZ2V0aW50IF9fUCgodm9pZCkpOwogc3RhdGljIGludG1heF90IGdldGludG1heCBfX1AoKHZvaWQpKTsKIHN0YXRpYyB1aW50bWF4X3QgZ2V0dWludG1heCBfX1AoKHZvaWQpKTsKK3N0YXRpYyBTSEVMTF9WQVIgKmJpbmRfcHJpbnRmX3ZhcmlhYmxlIF9fUCgoY2hhciAqLCBjaGFyICosIGludCkpOwogCiAjaWYgZGVmaW5lZCAoSEFWRV9MT05HX0RPVUJMRSkgJiYgSEFWRV9ERUNMX1NUUlRPTEQgJiYgIWRlZmluZWQoU1RSVE9MRF9CUk9LRU4pCiB0eXBlZGVmIGxvbmcgZG91YmxlIGZsb2F0bWF4X3Q7CkBAIC0yMzQsNyArMjM2LDEyIEBACiAgICAgICBzd2l0Y2ggKGNoKQogCXsKIAljYXNlICd2JzoKLQkgIGlmIChsZWdhbF9pZGVudGlmaWVyICh2bmFtZSA9IGxpc3Rfb3B0YXJnKSkKKwkgIHZuYW1lID0gbGlzdF9vcHRhcmc7CisjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKKwkgIGlmIChsZWdhbF9pZGVudGlmaWVyICh2bmFtZSkgfHwgdmFsaWRfYXJyYXlfcmVmZXJlbmNlICh2bmFtZSkpCisjZWxzZQorCSAgaWYgKGxlZ2FsX2lkZW50aWZpZXIgKHZuYW1lKSkKKyNlbmRpZgogCSAgICB7CiAJICAgICAgdmZsYWcgPSAxOwogCSAgICAgIHZibGVuID0gMDsKQEAgLTk5Nyw3ICsxMDA0LDkgQEAKIAkgc2hhbGwgY29udGludWUgcHJvY2Vzc2luZyBhbnkgcmVtYWluaW5nIG9wZXJhbmRzIGFuZCBzaGFsbCB3cml0ZSB0aGUKICAgICAgICAgIHZhbHVlIGFjY3VtdWxhdGVkIGF0IHRoZSB0aW1lIHRoZSBlcnJvciB3YXMgZGV0ZWN0ZWQgdG8gc3RhbmRhcmQKIAkgb3V0cHV0LicnICBZZWNjaC4gKi8KLSAgICAgIHJldCA9IDA7CisjaWYgMAorICAgICAgcmV0ID0gMDsJCS8qIHJldHVybiBwYXJ0aWFsbHktY29udmVydGVkIHZhbHVlIGZyb20gc3RydG9pbWF4ICovCisjZW5kaWYKICAgICAgIGNvbnZlcnNpb25fZXJyb3IgPSAxOwogICAgIH0KICAgZWxzZSBpZiAoZXJybm8gPT0gRVJBTkdFKQpAQCAtMTA5MSwzICsxMTAwLDE5IEBACiAgIGdhcmdsaXN0ID0gZ2FyZ2xpc3QtPm5leHQ7CiAgIHJldHVybiAoY2gpOwogfQorCitzdGF0aWMgU0hFTExfVkFSICoKK2JpbmRfcHJpbnRmX3ZhcmlhYmxlIChuYW1lLCB2YWx1ZSwgZmxhZ3MpCisgICAgIGNoYXIgKm5hbWU7CisgICAgIGNoYXIgKnZhbHVlOworICAgICBpbnQgZmxhZ3M7Cit7CisjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKKyAgaWYgKHZhbGlkX2FycmF5X3JlZmVyZW5jZSAobmFtZSkgPT0gMCkKKyAgICByZXR1cm4gKGJpbmRfdmFyaWFibGUgKG5hbWUsIHZhbHVlLCBmbGFncykpOworICBlbHNlCisgICAgcmV0dXJuIChhc3NpZ25fYXJyYXlfZWxlbWVudCAobmFtZSwgdmFsdWUsIGZsYWdzKSk7CisjZWxzZSAvKiAhQVJSQVlfVkFSUyAqLworICByZXR1cm4gYmluZF92YXJpYWJsZSAobmFtZSwgdmFsdWUsIGZsYWdzKTsKKyNlbmRpZiAvKiAhQVJSQVlfVkFSUyAqLworfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbnMvcmVhZC5kZWYgYi9idWlsdGlucy9yZWFkLmRlZgppbmRleCA4ZmM1NjQ3Li4xZWY5MTQyIDEwMDY0NAotLS0gYS9idWlsdGlucy9yZWFkLmRlZgorKysgYi9idWlsdGlucy9yZWFkLmRlZgpAQCAtMjIsNyArMjIsNyBAQAogCiAkQlVJTFRJTiByZWFkCiAkRlVOQ1RJT04gcmVhZF9idWlsdGluCi0kU0hPUlRfRE9DIHJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1wIHByb21wdF0gWy10IHRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXQorJFNIT1JUX0RPQyByZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstTiBuY2hhcnNdIFstcCBwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0KIFJlYWQgYSBsaW5lIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGFuZCBzcGxpdCBpdCBpbnRvIGZpZWxkcy4KIAogUmVhZHMgYSBzaW5nbGUgbGluZSBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCwgb3IgZnJvbSBmaWxlIGRlc2NyaXB0b3IgRkQKQEAgLTQyLDcgKzQyLDEwIEBACiAgIC1lCQl1c2UgUmVhZGxpbmUgdG8gb2J0YWluIHRoZSBsaW5lIGluIGFuIGludGVyYWN0aXZlIHNoZWxsCiAgIC1pIHRleHQJVXNlIFRFWFQgYXMgdGhlIGluaXRpYWwgdGV4dCBmb3IgUmVhZGxpbmUKICAgLW4gbmNoYXJzCXJldHVybiBhZnRlciByZWFkaW5nIE5DSEFSUyBjaGFyYWN0ZXJzIHJhdGhlciB0aGFuIHdhaXRpbmcKLQkJZm9yIGEgbmV3bGluZQorCQlmb3IgYSBuZXdsaW5lLCBidXQgaG9ub3IgYSBkZWxpbWl0ZXIgaWYgZmV3ZXIgdGhhbiBOQ0hBUlMKKwkJY2hhcmFjdGVycyBhcmUgcmVhZCBiZWZvcmUgdGhlIGRlbGltaXRlcgorICAtTiBuY2hhcnMJcmV0dXJuIG9ubHkgYWZ0ZXIgcmVhZGluZyBleGFjdGx5IE5DSEFSUyBjaGFyYWN0ZXJzLCB1bmxlc3MKKwkJRU9GIGlzIGVuY291bnRlcmVkIG9yIHJlYWQgdGltZXMgb3V0LCBpZ25vcmluZyBhbnkgZGVsaW1pdGVyCiAgIC1wIHByb21wdAlvdXRwdXQgdGhlIHN0cmluZyBQUk9NUFQgd2l0aG91dCBhIHRyYWlsaW5nIG5ld2xpbmUgYmVmb3JlCiAJCWF0dGVtcHRpbmcgdG8gcmVhZAogICAtcgkJZG8gbm90IGFsbG93IGJhY2tzbGFzaGVzIHRvIGVzY2FwZSBhbnkgY2hhcmFjdGVycwpAQCAtMTU1LDcgKzE1OCw3IEBACiAgIHJlZ2lzdGVyIGNoYXIgKnZhcm5hbWU7CiAgIGludCBzaXplLCBpLCBuciwgcGFzc19uZXh0LCBzYXdfZXNjYXBlLCBlb2YsIG9wdCwgcmV0dmFsLCBjb2RlLCBwcmludF9wczI7CiAgIGludCBpbnB1dF9pc190dHksIGlucHV0X2lzX3BpcGUsIHVuYnVmZmVyZWRfcmVhZCwgc2tpcF9jdGxlc2MsIHNraXBfY3RsbnVsOwotICBpbnQgcmF3LCBlZGl0LCBuY2hhcnMsIHNpbGVudCwgaGF2ZV90aW1lb3V0LCBmZDsKKyAgaW50IHJhdywgZWRpdCwgbmNoYXJzLCBzaWxlbnQsIGhhdmVfdGltZW91dCwgaWdub3JlX2RlbGltLCBmZDsKICAgdW5zaWduZWQgaW50IHRtc2VjLCB0bXVzZWM7CiAgIGxvbmcgaXZhbCwgdXZhbDsKICAgaW50bWF4X3QgaW50dmFsOwpAQCAtMjExLDkgKzIxNCwxMCBAQAogICB0bXNlYyA9IHRtdXNlYyA9IDA7CQkvKiBubyB0aW1lb3V0ICovCiAgIG5yID0gbmNoYXJzID0gaW5wdXRfaXNfdHR5ID0gaW5wdXRfaXNfcGlwZSA9IHVuYnVmZmVyZWRfcmVhZCA9IGhhdmVfdGltZW91dCA9IDA7CiAgIGRlbGltID0gJ1xuJzsJCS8qIHJlYWQgdW50aWwgbmV3bGluZSAqLworICBpZ25vcmVfZGVsaW0gPSAwOwogCiAgIHJlc2V0X2ludGVybmFsX2dldG9wdCAoKTsKLSAgd2hpbGUgKChvcHQgPSBpbnRlcm5hbF9nZXRvcHQgKGxpc3QsICJlcnNhOmQ6aTpuOnA6dDp1OiIpKSAhPSAtMSkKKyAgd2hpbGUgKChvcHQgPSBpbnRlcm5hbF9nZXRvcHQgKGxpc3QsICJlcnNhOmQ6aTpuOnA6dDp1Ok46IikpICE9IC0xKQogICAgIHsKICAgICAgIHN3aXRjaCAob3B0KQogCXsKQEAgLTI1NSw2ICsyNTksOSBAQAogCSAgICAgIHRtdXNlYyA9IHV2YWw7CiAJICAgIH0KIAkgIGJyZWFrOworCWNhc2UgJ04nOgorCSAgaWdub3JlX2RlbGltID0gMTsKKwkgIGRlbGltID0gLTE7CiAJY2FzZSAnbic6CiAJICBjb2RlID0gbGVnYWxfbnVtYmVyIChsaXN0X29wdGFyZywgJmludHZhbCk7CiAJICBpZiAoY29kZSA9PSAwIHx8IGludHZhbCA8IDAgfHwgaW50dmFsICE9IChpbnQpaW50dmFsKQpAQCAtMjk5LDEwICszMDYsMTcgQEAKICAgICByZXR1cm4gKGlucHV0X2F2YWlsIChmZCkgPyBFWEVDVVRJT05fU1VDQ0VTUyA6IEVYRUNVVElPTl9GQUlMVVJFKTsKICNlbmRpZgogCisgIC8qIElmIHdlJ3JlIGFza2VkIHRvIGlnbm9yZSB0aGUgZGVsaW1pdGVyLCBtYWtlIHN1cmUgd2UgZG8uICovCisgIGlmIChpZ25vcmVfZGVsaW0pCisgICAgZGVsaW0gPSAtMTsKKwogICAvKiBJRiBJRlMgaXMgdW5zZXQsIHdlIHVzZSB0aGUgZGVmYXVsdCBvZiAiIFx0XG4iLiAqLwogICBpZnNfY2hhcnMgPSBnZXRpZnMgKCk7CiAgIGlmIChpZnNfY2hhcnMgPT0gMCkJCS8qIFhYWCAtIHNob3VsZG4ndCBoYXBwZW4gKi8KICAgICBpZnNfY2hhcnMgPSAiIjsKKyAgLyogSWYgd2Ugd2FudCB0byByZWFkIGV4YWN0bHkgTkNIQVJTIGNoYXJzLCBkb24ndCBzcGxpdCBvbiBJRlMgKi8KKyAgaWYgKGlnbm9yZV9kZWxpbSkKKyAgICBpZnNfY2hhcnMgPSAiIjsKICAgZm9yIChza2lwX2N0bGVzYyA9IHNraXBfY3RsbnVsID0gMCwgZSA9IGlmc19jaGFyczsgKmU7IGUrKykKICAgICBza2lwX2N0bGVzYyB8PSAqZSA9PSBDVExFU0MsIHNraXBfY3RsbnVsIHw9ICplID09IENUTE5VTDsKIApAQCAtNjAxLDE1ICs2MTUsMTQgQEAKICAgaWYgKHVuYnVmZmVyZWRfcmVhZCA9PSAwKQogICAgIHpzeW5jZmQgKGZkKTsKIAorICBpbnRlcnJ1cHRfaW1tZWRpYXRlbHktLTsKKyAgdGVybWluYXRlX2ltbWVkaWF0ZWx5LS07CiAgIGRpc2NhcmRfdW53aW5kX2ZyYW1lICgicmVhZF9idWlsdGluIik7CiAKICAgcmV0dmFsID0gZW9mID8gRVhFQ1VUSU9OX0ZBSUxVUkUgOiBFWEVDVVRJT05fU1VDQ0VTUzsKIAogYXNzaWduX3ZhcnM6CiAKLSAgaW50ZXJydXB0X2ltbWVkaWF0ZWx5LS07Ci0gIHRlcm1pbmF0ZV9pbW1lZGlhdGVseS0tOwotCiAjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKICAgLyogSWYgLWEgd2FzIGdpdmVuLCB0YWtlIHRoZSBzdHJpbmcgcmVhZCwgYnJlYWsgaXQgaW50byBhIGxpc3Qgb2Ygd29yZHMsCiAgICAgIGFuIGFzc2lnbiB0aGVtIHRvIGBhcnJheW5hbWUnIGluIHR1cm4uICovCmRpZmYgLS1naXQgYS9idWlsdGlucy9zaG9wdC5kZWYgYi9idWlsdGlucy9zaG9wdC5kZWYKaW5kZXggZDMwYTg2OS4uNjhjNzI0NSAxMDA2NDQKLS0tIGEvYnVpbHRpbnMvc2hvcHQuZGVmCisrKyBiL2J1aWx0aW5zL3Nob3B0LmRlZgpAQCAtMTEyLDE5ICsxMTIsMjAgQEAKIAogc3RhdGljIHZvaWQgc2hvcHRfZXJyb3IgX19QKChjaGFyICopKTsKIAotc3RhdGljIGludCBzZXRfc2hlbGxvcHRzX2FmdGVyX2NoYW5nZSBfX1AoKGludCkpOwotCi1zdGF0aWMgaW50IHNldF9jb21wYXRpYmlsaXR5X2xldmVsIF9fUCgoaW50KSk7CitzdGF0aWMgaW50IHNldF9zaGVsbG9wdHNfYWZ0ZXJfY2hhbmdlIF9fUCgoY2hhciAqLCBpbnQpKTsKK3N0YXRpYyBpbnQgc2hvcHRfZW5hYmxlX2hvc3RuYW1lX2NvbXBsZXRpb24gX19QKChjaGFyICosIGludCkpOworc3RhdGljIGludCBzZXRfY29tcGF0aWJpbGl0eV9sZXZlbCBfX1AoKGNoYXIgKiwgaW50KSk7CiAKICNpZiBkZWZpbmVkIChSRVNUUklDVEVEX1NIRUxMKQotc3RhdGljIGludCBzZXRfcmVzdHJpY3RlZF9zaGVsbCBfX1AoKGludCkpOworc3RhdGljIGludCBzZXRfcmVzdHJpY3RlZF9zaGVsbCBfX1AoKGNoYXIgKiwgaW50KSk7CiAjZW5kaWYKIAogc3RhdGljIGludCBzaG9wdF9sb2dpbl9zaGVsbDsKIHN0YXRpYyBpbnQgc2hvcHRfY29tcGF0MzE7CiBzdGF0aWMgaW50IHNob3B0X2NvbXBhdDMyOworc3RhdGljIGludCBzaG9wdF9jb21wYXQ0MDsKIAotdHlwZWRlZiBpbnQgc2hvcHRfc2V0X2Z1bmNfdCBfX1AoKGludCkpOwordHlwZWRlZiBpbnQgc2hvcHRfc2V0X2Z1bmNfdCBfX1AoKGNoYXIgKiwgaW50KSk7CiAKIHN0YXRpYyBzdHJ1Y3QgewogICBjaGFyICpuYW1lOwpAQCAtMTQ0LDYgKzE0NSw3IEBACiAjZW5kaWYKICAgeyAiY29tcGF0MzEiLCAmc2hvcHRfY29tcGF0MzEsIHNldF9jb21wYXRpYmlsaXR5X2xldmVsIH0sCiAgIHsgImNvbXBhdDMyIiwgJnNob3B0X2NvbXBhdDMyLCBzZXRfY29tcGF0aWJpbGl0eV9sZXZlbCB9LAorICB7ICJjb21wYXQ0MCIsICZzaG9wdF9jb21wYXQ0MCwgc2V0X2NvbXBhdGliaWxpdHlfbGV2ZWwgfSwKICNpZiBkZWZpbmVkIChSRUFETElORSkKICAgeyAiZGlyc3BlbGwiLCAmZGlyY29tcGxldGVfc3BlbGxpbmcsIChzaG9wdF9zZXRfZnVuY190ICopTlVMTCB9LAogI2VuZGlmCkBAIC0xNjksNyArMTcxLDcgQEAKICNpZiBkZWZpbmVkIChSRUFETElORSkKICAgeyAiaGlzdHJlZWRpdCIsICZoaXN0b3J5X3JlZWRpdGluZywgKHNob3B0X3NldF9mdW5jX3QgKilOVUxMIH0sCiAgIHsgImhpc3R2ZXJpZnkiLCAmaGlzdF92ZXJpZnksIChzaG9wdF9zZXRfZnVuY190ICopTlVMTCB9LAotICB7ICJob3N0Y29tcGxldGUiLCAmcGVyZm9ybV9ob3N0bmFtZV9jb21wbGV0aW9uLCBlbmFibGVfaG9zdG5hbWVfY29tcGxldGlvbiB9LAorICB7ICJob3N0Y29tcGxldGUiLCAmcGVyZm9ybV9ob3N0bmFtZV9jb21wbGV0aW9uLCBzaG9wdF9lbmFibGVfaG9zdG5hbWVfY29tcGxldGlvbiB9LAogI2VuZGlmCiAgIHsgImh1cG9uZXhpdCIsICZodXBfb25fZXhpdCwgKHNob3B0X3NldF9mdW5jX3QgKilOVUxMIH0sCiAgIHsgImludGVyYWN0aXZlX2NvbW1lbnRzIiwgJmludGVyYWN0aXZlX2NvbW1lbnRzLCBzZXRfc2hlbGxvcHRzX2FmdGVyX2NoYW5nZSB9LApAQCAtMTk3LDYgKzE5OSwxMCBAQAogICB7IChjaGFyICopMCwgKGludCAqKTAsIChzaG9wdF9zZXRfZnVuY190ICopTlVMTCB9CiB9OwogCisjZGVmaW5lIE5fU0hPUFRfT1BUSU9OUwkJKHNpemVvZiAoc2hvcHRfdmFycykgLyBzaXplb2YgKHNob3B0X3ZhcnNbMF0pKQorCisjZGVmaW5lIEdFVF9TSE9QVF9PUFRJT05fVkFMVUUoaSkJKCpzaG9wdF92YXJzW2ldLnZhbHVlKQorCiBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IG9uID0gIm9uIjsKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgb2ZmID0gIm9mZiI7CiAKQEAgLTM0MCw5ICszNDYsMTEgQEAKIAl7CiAJICAqc2hvcHRfdmFyc1tpbmRdLnZhbHVlID0gbW9kZTsJLyogMSBmb3Igc2V0LCAwIGZvciB1bnNldCAqLwogCSAgaWYgKHNob3B0X3ZhcnNbaW5kXS5zZXRfZnVuYykKLQkgICAgKCpzaG9wdF92YXJzW2luZF0uc2V0X2Z1bmMpIChtb2RlKTsKKwkgICAgKCpzaG9wdF92YXJzW2luZF0uc2V0X2Z1bmMpIChzaG9wdF92YXJzW2luZF0ubmFtZSwgbW9kZSk7CiAJfQogICAgIH0KKworICBzZXRfYmFzaG9wdHMgKCk7CiAgIHJldHVybiAocnZhbCk7CiB9CiAKQEAgLTQ3OSw3ICs0ODcsOCBAQAogLyogSWYgd2Ugc2V0IG9yIHVuc2V0IGludGVyYWN0aXZlX2NvbW1lbnRzIHdpdGggc2hvcHQsIG1ha2Ugc3VyZSB0aGUKICAgIGNoYW5nZSBpcyByZWZsZWN0ZWQgaW4gJFNIRUxMT1BUUy4gKi8KIHN0YXRpYyBpbnQKLXNldF9zaGVsbG9wdHNfYWZ0ZXJfY2hhbmdlIChtb2RlKQorc2V0X3NoZWxsb3B0c19hZnRlcl9jaGFuZ2UgKG9wdGlvbl9uYW1lLCBtb2RlKQorICAgICBjaGFyICpvcHRpb25fbmFtZTsKICAgICAgaW50IG1vZGU7CiB7CiAgIHNldF9zaGVsbG9wdHMgKCk7CkBAIC00ODcsMTQgKzQ5NiwzNiBAQAogfQogCiBzdGF0aWMgaW50Ci1zZXRfY29tcGF0aWJpbGl0eV9sZXZlbCAobW9kZSkKK3Nob3B0X2VuYWJsZV9ob3N0bmFtZV9jb21wbGV0aW9uIChvcHRpb25fbmFtZSwgbW9kZSkKKyAgICAgY2hhciAqb3B0aW9uX25hbWU7CisgICAgIGludCBtb2RlOworeworICByZXR1cm4gKGVuYWJsZV9ob3N0bmFtZV9jb21wbGV0aW9uIChtb2RlKSk7Cit9CisKK3N0YXRpYyBpbnQKK3NldF9jb21wYXRpYmlsaXR5X2xldmVsIChvcHRpb25fbmFtZSwgbW9kZSkKKyAgICAgY2hhciAqb3B0aW9uX25hbWU7CiAgICAgIGludCBtb2RlOwogewogICAvKiBOZWVkIHRvIGNoYW5nZSBsb2dpYyBoZXJlIGFzIHdlIGFkZCBtb3JlIGNvbXBhdGliaWxpdHkgbGV2ZWxzICovCisKKyAgLyogRmlyc3QsIGNoZWNrIG9wdGlvbl9uYW1lIHNvIHdlIGNhbiB0dXJuIG9mZiBvdGhlciBjb21wYXQgb3B0aW9ucyB3aGVuCisgICAgIG9uZSBpcyBzZXQuICovCisgIGlmIChtb2RlICYmIG9wdGlvbl9uYW1lWzZdID09ICczJyAmJiBvcHRpb25fbmFtZVs3XSA9PSAnMScpCisgICAgc2hvcHRfY29tcGF0MzIgPSBzaG9wdF9jb21wYXQ0MCA9IDA7CisgIGVsc2UgaWYgKG1vZGUgJiYgb3B0aW9uX25hbWVbNl0gPT0gJzMnICYmIG9wdGlvbl9uYW1lWzddID09ICcyJykKKyAgICBzaG9wdF9jb21wYXQzMSA9IHNob3B0X2NvbXBhdDQwID0gMDsKKyAgZWxzZSBpZiAobW9kZSAmJiBvcHRpb25fbmFtZVs2XSA9PSAnNCcgJiYgb3B0aW9uX25hbWVbN10gPT0gJzAnKQorICAgIHNob3B0X2NvbXBhdDMxID0gc2hvcHRfY29tcGF0MzIgPSAwOworCisgIC8qIFRoZW4gc2V0IHNoZWxsX2NvbXBhdGliaWxpdHlfbGV2ZWwgYmFzZWQgb24gd2hhdCByZW1haW5zICovCiAgIGlmIChzaG9wdF9jb21wYXQzMSkKICAgICBzaGVsbF9jb21wYXRpYmlsaXR5X2xldmVsID0gMzE7CiAgIGVsc2UgaWYgKHNob3B0X2NvbXBhdDMyKQogICAgIHNoZWxsX2NvbXBhdGliaWxpdHlfbGV2ZWwgPSAzMjsKKyAgZWxzZSBpZiAoc2hvcHRfY29tcGF0NDApCisgICAgc2hlbGxfY29tcGF0aWJpbGl0eV9sZXZlbCA9IDQwOwogICBlbHNlCiAgICAgc2hlbGxfY29tcGF0aWJpbGl0eV9sZXZlbCA9IERFRkFVTFRfQ09NUEFUX0xFVkVMOwogICByZXR1cm4gMDsKQEAgLTUwNCw3ICs1MzUsOCBAQAogLyogRG9uJ3QgYWxsb3cgdGhlIHZhbHVlIG9mIHJlc3RyaWN0ZWRfc2hlbGwgdG8gYmUgbW9kaWZpZWQuICovCiAKIHN0YXRpYyBpbnQKLXNldF9yZXN0cmljdGVkX3NoZWxsIChtb2RlKQorc2V0X3Jlc3RyaWN0ZWRfc2hlbGwgKG9wdGlvbl9uYW1lLCBtb2RlKQorICAgICBjaGFyICpvcHRpb25fbmFtZTsKICAgICAgaW50IG1vZGU7CiB7CiAgIHN0YXRpYyBpbnQgc2F2ZV9yZXN0cmljdGVkID0gLTE7CkBAIC01MTksNyArNTUxLDggQEAKIAogLyogTm90IHN0YXRpYyBzbyBzaGVsbC5jIGNhbiBjYWxsIGl0IHRvIGluaXRpYWxpemUgc2hvcHRfbG9naW5fc2hlbGwgKi8KIGludAotc2V0X2xvZ2luX3NoZWxsIChtb2RlKQorc2V0X2xvZ2luX3NoZWxsIChvcHRpb25fbmFtZSwgbW9kZSkKKyAgICAgY2hhciAqb3B0aW9uX25hbWU7CiAgICAgIGludCBtb2RlOwogewogICBzaG9wdF9sb2dpbl9zaGVsbCA9IGxvZ2luX3NoZWxsICE9IDA7CkBAIC01NzksMyArNjEyLDEwNCBAQAogICBwcmludF9zaG9wdCAobmFtZSwgKnNob3B0X3ZhcnNbaV0udmFsdWUsIHJldXNhYmxlID8gUEZMQUcgOiAwKTsKICAgcmV0dXJuIChzaF9jaGt3cml0ZSAoRVhFQ1VUSU9OX1NVQ0NFU1MpKTsKIH0KKwordm9pZAorc2V0X2Jhc2hvcHRzICgpCit7CisgIGNoYXIgKnZhbHVlOworICBjaGFyIHRmbGFnW05fU0hPUFRfT1BUSU9OU107CisgIGludCB2c2l6ZSwgaSwgdnB0ciwgKmlwLCBleHBvcnRlZDsKKyAgU0hFTExfVkFSICp2OworCisgIGZvciAodnNpemUgPSBpID0gMDsgc2hvcHRfdmFyc1tpXS5uYW1lOyBpKyspCisgICAgeworICAgICAgdGZsYWdbaV0gPSAwOworICAgICAgaWYgKEdFVF9TSE9QVF9PUFRJT05fVkFMVUUgKGkpKQorCXsKKwkgIHZzaXplICs9IHN0cmxlbiAoc2hvcHRfdmFyc1tpXS5uYW1lKSArIDE7CisJICB0ZmxhZ1tpXSA9IDE7CisJfQorICAgIH0KKworICB2YWx1ZSA9IChjaGFyICopeG1hbGxvYyAodnNpemUgKyAxKTsKKworICBmb3IgKGkgPSB2cHRyID0gMDsgc2hvcHRfdmFyc1tpXS5uYW1lOyBpKyspCisgICAgeworICAgICAgaWYgKHRmbGFnW2ldKQorCXsKKwkgIHN0cmNweSAodmFsdWUgKyB2cHRyLCBzaG9wdF92YXJzW2ldLm5hbWUpOworCSAgdnB0ciArPSBzdHJsZW4gKHNob3B0X3ZhcnNbaV0ubmFtZSk7CisJICB2YWx1ZVt2cHRyKytdID0gJzonOworCX0KKyAgICB9CisKKyAgaWYgKHZwdHIpCisgICAgdnB0ci0tOwkJCS8qIGN1dCBvZmYgdHJhaWxpbmcgY29sb24gKi8KKyAgdmFsdWVbdnB0cl0gPSAnXDAnOworCisgIHYgPSBmaW5kX3ZhcmlhYmxlICgiQkFTSE9QVFMiKTsKKworICAvKiBUdXJuIG9mZiB0aGUgcmVhZC1vbmx5IGF0dHJpYnV0ZSBzbyB3ZSBjYW4gYmluZCB0aGUgbmV3IHZhbHVlLCBhbmQKKyAgICAgbm90ZSB3aGV0aGVyIG9yIG5vdCB0aGUgdmFyaWFibGUgd2FzIGV4cG9ydGVkLiAqLworICBpZiAodikKKyAgICB7CisgICAgICBWVU5TRVRBVFRSICh2LCBhdHRfcmVhZG9ubHkpOworICAgICAgZXhwb3J0ZWQgPSBleHBvcnRlZF9wICh2KTsKKyAgICB9CisgIGVsc2UKKyAgICBleHBvcnRlZCA9IDA7CisKKyAgdiA9IGJpbmRfdmFyaWFibGUgKCJCQVNIT1BUUyIsIHZhbHVlLCAwKTsKKworICAvKiBUdXJuIHRoZSByZWFkLW9ubHkgYXR0cmlidXRlIGJhY2sgb24sIGFuZCB0dXJuIG9mZiB0aGUgZXhwb3J0IGF0dHJpYnV0ZQorICAgICBpZiBpdCB3YXMgc2V0IGltcGxpY2l0bHkgYnkgbWFya19tb2RpZmllZF92YXJzIGFuZCBTSEVMTE9QVFMgd2FzIG5vdAorICAgICBleHBvcnRlZCBiZWZvcmUgd2UgYm91bmQgdGhlIG5ldyB2YWx1ZS4gKi8KKyAgVlNFVEFUVFIgKHYsIGF0dF9yZWFkb25seSk7CisgIGlmIChtYXJrX21vZGlmaWVkX3ZhcnMgJiYgZXhwb3J0ZWQgPT0gMCAmJiBleHBvcnRlZF9wICh2KSkKKyAgICBWVU5TRVRBVFRSICh2LCBhdHRfZXhwb3J0ZWQpOworCisgIGZyZWUgKHZhbHVlKTsKK30KKwordm9pZAorcGFyc2VfYmFzaG9wdHMgKHZhbHVlKQorICAgICBjaGFyICp2YWx1ZTsKK3sKKyAgY2hhciAqdm5hbWU7CisgIGludCB2cHRyLCBpbmQ7CisKKyAgdnB0ciA9IDA7CisgIHdoaWxlICh2bmFtZSA9IGV4dHJhY3RfY29sb25fdW5pdCAodmFsdWUsICZ2cHRyKSkKKyAgICB7CisgICAgICBpbmQgPSBmaW5kX3Nob3B0ICh2bmFtZSk7CisgICAgICBpZiAoaW5kID49IDApCisgICAgICAgICpzaG9wdF92YXJzW2luZF0udmFsdWUgPSAxOworICAgICAgZnJlZSAodm5hbWUpOworICAgIH0KK30KKwordm9pZAoraW5pdGlhbGl6ZV9iYXNob3B0cyAobm9fYmFzaG9wdHMpCisgICAgIGludCBub19iYXNob3B0czsKK3sKKyAgY2hhciAqdGVtcDsKKyAgU0hFTExfVkFSICp2YXI7CisKKyAgaWYgKG5vX2Jhc2hvcHRzID09IDApCisgICAgeworICAgICAgdmFyID0gZmluZF92YXJpYWJsZSAoIkJBU0hPUFRTIik7CisgICAgICAvKiBzZXQgdXAgYW55IHNoZWxsIG9wdGlvbnMgd2UgbWF5IGhhdmUgaW5oZXJpdGVkLiAqLworICAgICAgaWYgKHZhciAmJiBpbXBvcnRlZF9wICh2YXIpKQorCXsKKwkgIHRlbXAgPSAoYXJyYXlfcCAodmFyKSB8fCBhc3NvY19wICh2YXIpKSA/IChjaGFyICopTlVMTCA6IHNhdmVzdHJpbmcgKHZhbHVlX2NlbGwgKHZhcikpOworCSAgaWYgKHRlbXApCisJICAgIHsKKwkgICAgICBwYXJzZV9iYXNob3B0cyAodGVtcCk7CisJICAgICAgZnJlZSAodGVtcCk7CisJICAgIH0KKwl9CisgICAgfQorCisgIC8qIFNldCB1cCB0aGUgJEJBU0hPUFRTIHZhcmlhYmxlLiAqLworICBzZXRfYmFzaG9wdHMgKCk7Cit9CmRpZmYgLS1naXQgYS9jb21tYW5kLmggYi9jb21tYW5kLmgKaW5kZXggZThhOGFhMy4uNDcwNzgxMiAxMDA2NDQKLS0tIGEvY29tbWFuZC5oCisrKyBiL2NvbW1hbmQuaApAQCAtMzUsMTEgKzM1LDE1IEBACiAgIHJfYXBwZW5kX2Vycl9hbmRfb3V0CiB9OwogCisvKiBSZWRpcmVjdGlvbiBmbGFnczsgdmFsdWVzIGZvciByZmxhZ3MgKi8KKyNkZWZpbmUgUkVESVJfVkFSQVNTSUdOCQkweDAxCisKIC8qIFJlZGlyZWN0aW9uIGVycm9ycy4gKi8KICNkZWZpbmUgQU1CSUdVT1VTX1JFRElSRUNUICAtMQogI2RlZmluZSBOT0NMT0JCRVJfUkVESVJFQ1QgIC0yCiAjZGVmaW5lIFJFU1RSSUNURURfUkVESVJFQ1QgLTMJLyogY2FuIG9ubHkgaGFwcGVuIGluIHJlc3RyaWN0ZWQgc2hlbGxzLiAqLwogI2RlZmluZSBIRVJFRE9DX1JFRElSRUNUICAgIC00ICAvKiBoZXJlLWRvYyB0ZW1wIGZpbGUgY2FuJ3QgYmUgY3JlYXRlZCAqLworI2RlZmluZSBCQURWQVJfUkVESVJFQ1QJICAgIC01ICAvKiBzb21ldGhpbmcgd3Jvbmcgd2l0aCB7dmFybmFtZX1yZWRpciAqLwogCiAjZGVmaW5lIENMT0JCRVJJTkdfUkVESVJFQ1QocmkpIFwKICAgKHJpID09IHJfb3V0cHV0X2RpcmVjdGlvbiB8fCByaSA9PSByX2Vycl9hbmRfb3V0KQpAQCAtNzMsOSArNzcsOSBAQAogI2RlZmluZSBXX1FVT1RFRAkweDAwMDAwMgkvKiBTb21lIGZvcm0gb2YgcXVvdGUgY2hhcmFjdGVyIGlzIHByZXNlbnQuICovCiAjZGVmaW5lIFdfQVNTSUdOTUVOVAkweDAwMDAwNAkvKiBUaGlzIHdvcmQgaXMgYSB2YXJpYWJsZSBhc3NpZ25tZW50LiAqLwogI2RlZmluZSBXX0dMT0JFWFAJMHgwMDAwMDgJLyogVGhpcyB3b3JkIGlzIHRoZSByZXN1bHQgb2YgYSBnbG9iIGV4cGFuc2lvbi4gKi8KLSNkZWZpbmUgV19OT1NQTElUCTB4MDAwMDEwCS8qIERvIG5vdCBwZXJmb3JtIHdvcmQgc3BsaXR0aW5nIG9uIHRoaXMgd29yZC4gKi8KKyNkZWZpbmUgV19OT1NQTElUCTB4MDAwMDEwCS8qIERvIG5vdCBwZXJmb3JtIHdvcmQgc3BsaXR0aW5nIG9uIHRoaXMgd29yZCBiZWNhdXNlIGlmcyBpcyBlbXB0eSBzdHJpbmcuICovCiAjZGVmaW5lIFdfTk9HTE9CCTB4MDAwMDIwCS8qIERvIG5vdCBwZXJmb3JtIGdsb2JiaW5nIG9uIHRoaXMgd29yZC4gKi8KLSNkZWZpbmUgV19OT1NQTElUMgkweDAwMDA0MAkvKiBEb24ndCBzcGxpdCB3b3JkIGV4Y2VwdCBmb3IgJEAgZXhwYW5zaW9uLiAqLworI2RlZmluZSBXX05PU1BMSVQyCTB4MDAwMDQwCS8qIERvbid0IHNwbGl0IHdvcmQgZXhjZXB0IGZvciAkQCBleHBhbnNpb24gKHVzaW5nIHNwYWNlcykgYmVjYXVzZSBjb250ZXh0IGRvZXMgbm90IGFsbG93IGl0LiAqLwogI2RlZmluZSBXX1RJTERFRVhQCTB4MDAwMDgwCS8qIFRpbGRlIGV4cGFuZCB0aGlzIGFzc2lnbm1lbnQgd29yZCAqLwogI2RlZmluZSBXX0RPTExBUkFUCTB4MDAwMTAwCS8qICRAIGFuZCBpdHMgc3BlY2lhbCBoYW5kbGluZyAqLwogI2RlZmluZSBXX0RPTExBUlNUQVIJMHgwMDAyMDAJLyogJCogYW5kIGl0cyBzcGVjaWFsIGhhbmRsaW5nICovCkBAIC0xMzUsNyArMTM5LDggQEAKICAgIChvciB0cmFuc2xhdG9yIGluIHJlZGlyLmMpIGVuY291bnRlcmVkIGFuIG91dC1vZi1yYW5nZSBmaWxlIGRlc2NyaXB0b3IuICovCiB0eXBlZGVmIHN0cnVjdCByZWRpcmVjdCB7CiAgIHN0cnVjdCByZWRpcmVjdCAqbmV4dDsJLyogTmV4dCBlbGVtZW50LCBvciBOVUxMLiAqLwotICBpbnQgcmVkaXJlY3RvcjsJCS8qIERlc2NyaXB0b3IgdG8gYmUgcmVkaXJlY3RlZC4gKi8KKyAgUkVESVJFQ1RFRSByZWRpcmVjdG9yOwkvKiBEZXNjcmlwdG9yIG9yIHZhcm5hbWUgdG8gYmUgcmVkaXJlY3RlZC4gKi8KKyAgaW50IHJmbGFnczsJCQkvKiBQcml2YXRlIGZsYWdzIGZvciB0aGlzIHJlZGlyZWN0aW9uICovCiAgIGludCBmbGFnczsJCQkvKiBGbGFnIHZhbHVlIGZvciBgb3BlbicuICovCiAgIGVudW0gcl9pbnN0cnVjdGlvbiAgaW5zdHJ1Y3Rpb247IC8qIFdoYXQgdG8gZG8gd2l0aCB0aGUgaW5mb3JtYXRpb24uICovCiAgIFJFRElSRUNURUUgcmVkaXJlY3RlZTsJLyogRmlsZSBkZXNjcmlwdG9yIG9yIGZpbGVuYW1lICovCmRpZmYgLS1naXQgYS9jb25maWctYm90LmggYi9jb25maWctYm90LmgKaW5kZXggNjM2M2E0Zi4uMzM0NTgxYSAxMDA2NDQKLS0tIGEvY29uZmlnLWJvdC5oCisrKyBiL2NvbmZpZy1ib3QuaApAQCAtMTI1LDYgKzEyNSwxMCBAQAogIyAgZGVmaW5lIFBQUk9NUFQgIiQgIgogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZCAoSEFWRV9TWVNMT0cpIHx8ICFkZWZpbmVkIChIQVZFX1NZU0xPR19IKQorIyAgdW5kZWYgU1lTTE9HX0hJU1RPUlkKKyNlbmRpZgorCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogLyogY2hlY2sgbXVsdGlieXRlIGNhcGFiaWxpdHkgZm9yIEkxOE4gY29kZQkqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2NvbmZpZy10b3AuaCBiL2NvbmZpZy10b3AuaAppbmRleCAyMjQzM2ZiLi4xNDdkNGY0IDEwMDY0NAotLS0gYS9jb25maWctdG9wLmgKKysrIGIvY29uZmlnLXRvcC5oCkBAIC05OCwzICs5OCwxNCBAQAogICAgbmFtZSBpcyBub3QgZm91bmQuICBJZiB5b3Ugd2FudCB0byBuYW1lIGl0IHNvbWV0aGluZyBvdGhlciB0aGFuIHRoZQogICAgZGVmYXVsdCAoImNvbW1hbmRfbm90X2ZvdW5kX2hhbmRsZSIpLCBjaGFuZ2UgaXQgaGVyZS4gKi8KIC8qICNkZWZpbmUgTk9URk9VTkRfSE9PSyAiY29tbWFuZF9ub3RfZm91bmRfaGFuZGxlIiAqLworCisvKiBEZWZpbmUgaWYgeW91IHdhbnQgZWFjaCBsaW5lIHNhdmVkIHRvIHRoZSBoaXN0b3J5IGxpc3QgaW4gYmFzaGhpc3QuYzoKKyAgIGJhc2hfYWRkX2hpc3RvcnkoKSB0byBiZSBzZW50IHRvIHN5c2xvZygpLiAqLworLyogI2RlZmluZSBTWVNMT0dfSElTVE9SWSAqLworI2lmIGRlZmluZWQgKFNZU0xPR19ISVNUT1JZKQorIyAgZGVmaW5lIFNZU0xPR19GQUNJTElUWSBMT0dfVVNFUgorIyAgZGVmaW5lIFNZU0xPR19MRVZFTCBMT0dfSU5GTworI2VuZGlmCisKKy8qIERlZmluZSBpZiB5b3Ugd2FudCB0byBpbmNsdWRlIGNvZGUgaW4gc2hlbGwuYyB0byBzdXBwb3J0IHdvcmRleHAoMykgKi8KKy8qICNkZWZpbmUgV09SREVYUF9PUFRJT04gKi8KZGlmZiAtLWdpdCBhL2NvbmZpZy5oLmluIGIvY29uZmlnLmguaW4KaW5kZXggMTRmMmMzMS4uMDczNTJkZCAxMDA2NDQKLS0tIGEvY29uZmlnLmguaW4KKysrIGIvY29uZmlnLmguaW4KQEAgLTExNSw2ICsxMTUsMTAgQEAKICAgIHBhdHRlcm4gbWF0Y2hpbmcuICovCiAjdW5kZWYgRVhURU5ERURfR0xPQgogCisvKiBEZWZpbmUgRVhUR0xPQl9ERUZBVUxUIHRvIHRoZSB2YWx1ZSB5b3UnZCBsaWtlIHRoZSBleHRnbG9iIHNoZWxsIG9wdGlvbgorICAgdG8gaGF2ZSBieSBkZWZhdWx0ICovCisjdW5kZWYgRVhUR0xPQl9ERUZBVUxUCisKIC8qIERlZmluZSBDT05EX0NPTU1BTkQgaWYgeW91IHdhbnQgdGhlIGtzaC1zdHlsZSBbWy4uLl1dIGNvbmRpdGlvbmFsCiAgICBjb21tYW5kLiAqLwogI3VuZGVmIENPTkRfQ09NTUFORApAQCAtNDk0LDYgKzQ5OCw4IEBACiAvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIC9kZXYvc3RkaW4gZGV2aWNlLiAqLwogI3VuZGVmIEhBVkVfREVWX1NURElOCiAKKy8qIFRoZSB0eXBlIG9mIGljb252J3MgYGluYnVmJyBhcmd1bWVudCAqLworI3VuZGVmIElDT05WX0NPTlNUCiAKIC8qIFR5cGUgYW5kIGJlaGF2aW9yIG9mIHNpZ25hbCBoYW5kbGluZyBmdW5jdGlvbnMuICovCiAKQEAgLTYwOCw2ICs2MTQsOSBAQAogLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBnZXR3ZCBmdW5jdGlvbi4gICovCiAjdW5kZWYgSEFWRV9HRVRXRAogCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIGljb252IGZ1bmN0aW9uLiAgKi8KKyN1bmRlZiBIQVZFX0lDT05WCisKIC8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgaW5ldF9hdG9uIGZ1bmN0aW9uLiAgKi8KICN1bmRlZiBIQVZFX0lORVRfQVRPTgogCkBAIC02NTMsMTIgKzY2MiwyMSBAQAogLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBsc3RhdCBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX0xTVEFUCiAKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgbG9jYWxlX2NoYXJzZXQgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9MT0NBTEVfQ0hBUlNFVAorCiAvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIG1icmxlbiBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX01CUkxFTgogCiAvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIG1icnRvd2MgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9NQlJUT1dDCiAKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgbWJzY2FzZWNtcCBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX01CU0NBU0VDTVAKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBtYnNjaHIgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9NQlNDSFIKKwogLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBtYnNjbXAgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9NQlNDTVAKIApAQCAtNzM4LDYgKzc1Niw5IEBACiAvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHN0cmNhc2VjbXAgZnVuY3Rpb24uICAqLwogI3VuZGVmIEhBVkVfU1RSQ0FTRUNNUAogCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHN0cmNhc2VzdHIgZnVuY3Rpb24uICAqLworI3VuZGVmIEhBVkVfU1RSQ0FTRVNUUgorCiAvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHN0cmNociBmdW5jdGlvbi4gICovCiAjdW5kZWYgSEFWRV9TVFJDSFIKIApAQCAtNzg2LDYgKzgwNyw5IEBACiAvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHN5c2NvbmYgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9TWVNDT05GCiAKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgc3lzbG9nIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU1lTTE9HCisKIC8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgdGNnZXRhdHRyIGZ1bmN0aW9uLiAgKi8KICN1bmRlZiBIQVZFX1RDR0VUQVRUUgogCkBAIC05MTEsNiArOTM1LDkgQEAKIC8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHN0ZGludC5oPiBoZWFkZXIgZmlsZS4gKi8KICN1bmRlZiBIQVZFX1NURElOVF9ICiAKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHN5c2xvZy5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1NZU0xPR19ICisKIC8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9kaXIuaD4gaGVhZGVyIGZpbGUuICAqLwogI3VuZGVmIEhBVkVfU1lTX0RJUl9ICiAKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCBlYTVkMmU0Li44NzViYmJmIDEwMDc1NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29uZmlndXJlCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgppbmRleCBlZTM0YzRiLi44NDNiZDcwIDEwMDY0NAotLS0gYS9jb25maWd1cmUuaW4KKysrIGIvY29uZmlndXJlLmluCkBAIC0xLDUgKzEsNSBAQAogZG5sCi1kbmwgQ29uZmlndXJlIHNjcmlwdCBmb3IgYmFzaC00LjAKK2RubCBDb25maWd1cmUgc2NyaXB0IGZvciBiYXNoLTQuMQogZG5sCiBkbmwgcmVwb3J0IGJ1Z3MgdG8gY2hldEBwby5jd3J1LmVkdQogZG5sCkBAIC0yMSw5ICsyMSw5IEBACiAjICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICMgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KIAotQUNfUkVWSVNJT04oW2ZvciBCYXNoIDQuMCwgdmVyc2lvbiA0LjAxM10pZG5sCitBQ19SRVZJU0lPTihbZm9yIEJhc2ggNC4xLCB2ZXJzaW9uIDQuMDE5XSlkbmwKIAotZGVmaW5lKGJhc2h2ZXJzLCA0LjApCitkZWZpbmUoYmFzaHZlcnMsIDQuMSkKIGRlZmluZShyZWxzdGF0dXMsIHJlbGVhc2UpCiAKIEFDX0lOSVQoW2Jhc2hdLCBiYXNodmVycy1yZWxzdGF0dXMsIFtidWctYmFzaEBnbnUub3JnXSkKQEAgLTE4NSw2ICsxODUsNyBAQAogb3B0X3NpbmdsZV9sb25nZG9jX3N0cmluZ3M9eWVzCiBvcHRfY2FzZW1vZF9hdHRycz15ZXMKIG9wdF9jYXNlbW9kX2V4cGFuc2lvbnM9eWVzCitvcHRfZXh0Z2xvYl9kZWZhdWx0PW5vCiAKIGRubCBvcHRpb25zIHRoYXQgYWZmZWN0IGhvdyBiYXNoIGlzIGNvbXBpbGVkIGFuZCBsaW5rZWQKIG9wdF9zdGF0aWNfbGluaz1ubwpAQCAtMjA0LDcgKzIwNSw3IEBACiAJb3B0X2V4dGVuZGVkX2dsb2I9bm8gb3B0X2NvbmRfY29tbWFuZD1ubyBvcHRfYXJpdGhfZm9yX2NvbW1hbmQ9bm8KIAlvcHRfbmV0X3JlZGlycz1ubyBvcHRfcHJvZ2NvbXA9bm8gb3B0X3NlcGFyYXRlX2hlbHA9bm8KIAlvcHRfbXVsdGlieXRlPXllcyBvcHRfY29uZF9yZWdleHA9bm8gb3B0X2NvcHJvYz1ubwotCW9wdF9jYXNlbW9kX2F0dHJzPW5vIG9wdF9jYXNlbW9kX2V4cGFuc2lvbnM9bm8KKwlvcHRfY2FzZW1vZF9hdHRycz1ubyBvcHRfY2FzZW1vZF9leHBhbnNpb25zPW5vIG9wdF9leHRnbG9iX2RlZmF1bHQ9bm8KIGZpCiAKIEFDX0FSR19FTkFCTEUoYWxpYXMsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1hbGlhc10sIFtlbmFibGUgc2hlbGwgYWxpYXNlc10pLCBvcHRfYWxpYXM9JGVuYWJsZXZhbCkKQEAgLTIyMyw2ICsyMjQsNyBAQAogQUNfQVJHX0VOQUJMRShkaXNhYmxlZC1idWlsdGlucywgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWRpc2FibGVkLWJ1aWx0aW5zXSwgW2FsbG93IGRpc2FibGVkIGJ1aWx0aW5zIHRvIHN0aWxsIGJlIGludm9rZWRdKSwgb3B0X2Rpc2FibGVkX2J1aWx0aW5zPSRlbmFibGV2YWwpCiBBQ19BUkdfRU5BQkxFKGRwYXJlbi1hcml0aG1ldGljLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZHBhcmVuLWFyaXRobWV0aWNdLCBbaW5jbHVkZSAoKC4uLikpIGNvbW1hbmRdKSwgb3B0X2RwYXJlbl9hcml0aD0kZW5hYmxldmFsKQogQUNfQVJHX0VOQUJMRShleHRlbmRlZC1nbG9iLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZXh0ZW5kZWQtZ2xvYl0sIFtpbmNsdWRlIGtzaC1zdHlsZSBleHRlbmRlZCBwYXR0ZXJuIG1hdGNoaW5nXSksIG9wdF9leHRlbmRlZF9nbG9iPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKGV4dGVuZGVkLWdsb2ItZGVmYXVsdCwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWV4dGVuZGVkLWdsb2ItZGVmYXVsdF0sIFtmb3JjZSBleHRlbmRlZCBwYXR0ZXJuIG1hdGNoaW5nIHRvIGJlIGVuYWJsZWQgYnkgZGVmYXVsdF0pLCBvcHRfZXh0Z2xvYl9kZWZhdWx0PSRlbmFibGV2YWwpCiBBQ19BUkdfRU5BQkxFKGhlbHAtYnVpbHRpbiwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWhlbHAtYnVpbHRpbl0sIFtpbmNsdWRlIHRoZSBoZWxwIGJ1aWx0aW5dKSwgb3B0X2hlbHA9JGVuYWJsZXZhbCkKIEFDX0FSR19FTkFCTEUoaGlzdG9yeSwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWhpc3RvcnldLCBbdHVybiBvbiBjb21tYW5kIGhpc3RvcnldKSwgb3B0X2hpc3Rvcnk9JGVuYWJsZXZhbCkKIEFDX0FSR19FTkFCTEUoam9iLWNvbnRyb2wsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1qb2ItY29udHJvbF0sIFtlbmFibGUgam9iIGNvbnRyb2wgZmVhdHVyZXNdKSwgb3B0X2pvYl9jb250cm9sPSRlbmFibGV2YWwpCkBAIC0yOTYsNiArMjk4LDExIEBACiBpZiB0ZXN0ICRvcHRfZXh0ZW5kZWRfZ2xvYiA9IHllcyA7IHRoZW4KIEFDX0RFRklORShFWFRFTkRFRF9HTE9CKQogZmkKK2lmIHRlc3QgJG9wdF9leHRnbG9iX2RlZmF1bHQgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShFWFRHTE9CX0RFRkFVTFQsIDEpCitlbHNlCitBQ19ERUZJTkUoRVhUR0xPQl9ERUZBVUxULCAwKQorZmkKIGlmIHRlc3QgJG9wdF9jb25kX2NvbW1hbmQgPSB5ZXMgOyB0aGVuCiBBQ19ERUZJTkUoQ09ORF9DT01NQU5EKQogZmkKQEAgLTUwMCw4ICs1MDcsOCBAQAogCWNhc2UgIiRhY19jdl9ybF92ZXJzaW9uIiBpbgogCTUqfDYqfDcqfDgqfDkqKQk7OwogCSopCW9wdF93aXRoX2luc3RhbGxlZF9yZWFkbGluZT1ubyAKLQkJQUNfTVNHX1dBUk4oaW5zdGFsbGVkIHJlYWRsaW5lIGxpYnJhcnkgaXMgdG9vIG9sZCB0byBiZSBsaW5rZWQgd2l0aCBiYXNoKQotCQlBQ19NU0dfV0FSTih1c2luZyBwcml2YXRlIGJhc2ggdmVyc2lvbikKKwkJQUNfTVNHX1dBUk4oW2luc3RhbGxlZCByZWFkbGluZSBsaWJyYXJ5IGlzIHRvbyBvbGQgdG8gYmUgbGlua2VkIHdpdGggYmFzaF0pCisJCUFDX01TR19XQVJOKFt1c2luZyBwcml2YXRlIGJhc2ggdmVyc2lvbl0pCiAJCTs7CiAJZXNhYwogZmkKQEAgLTY1MSw3ICs2NTgsOCBAQAogCiBBQ19DSEVDS19IRUFERVJTKHVuaXN0ZC5oIHN0ZGxpYi5oIHN0ZGFyZy5oIHZhcmFyZ3MuaCBsaW1pdHMuaCBzdHJpbmcuaCBcCiAJCSBtZW1vcnkuaCBsb2NhbGUuaCB0ZXJtY2FwLmggdGVybWlvLmggdGVybWlvcy5oIGRsZmNuLmggXAotCQkgc3RkZGVmLmggc3RkaW50LmggbmV0ZGIuaCBwd2QuaCBncnAuaCBzdHJpbmdzLmggcmVnZXguaCkKKwkJIHN0ZGRlZi5oIHN0ZGludC5oIG5ldGRiLmggcHdkLmggZ3JwLmggc3RyaW5ncy5oIHJlZ2V4LmggXAorCQkgc3lzbG9nLmgpCiBBQ19DSEVDS19IRUFERVJTKHN5cy9wdGUuaCBzeXMvc3RyZWFtLmggc3lzL3NlbGVjdC5oIHN5cy9maWxlLmggXAogCQkgc3lzL3Jlc291cmNlLmggc3lzL3BhcmFtLmggc3lzL3NvY2tldC5oIHN5cy9zdGF0LmggXAogCQkgc3lzL3RpbWUuaCBzeXMvdGltZXMuaCBzeXMvdHlwZXMuaCBzeXMvd2FpdC5oKQpAQCAtNzIzLDEyICs3MzEsMTMgQEAKIAkJZ2V0YWRkcmluZm8gZ2V0aG9zdGJ5bmFtZSBnZXRzZXJ2YnluYW1lIGdldHNlcnZlbnQgaW5ldF9hdG9uIFwKIAkJbWVtbW92ZSBwYXRoY29uZiBwdXRlbnYgcmFpc2UgcmVnY29tcCByZWdleGVjIFwKIAkJc2V0ZW52IHNldGxpbmVidWYgc2V0bG9jYWxlIHNldHZidWYgc2lnaW50ZXJydXB0IHN0cmNociBcCi0JCXN5c2NvbmYgdGNnZXRhdHRyIHRpbWVzIHR0eW5hbWUgdHpzZXQgdW5zZXRlbnYpCisJCXN5c2NvbmYgc3lzbG9nIHRjZ2V0YXR0ciB0aW1lcyB0dHluYW1lIHR6c2V0IHVuc2V0ZW52KQogCi1BQ19DSEVDS19GVU5DUyh2c25wcmludGYgc25wcmludGYgdmFzcHJpbnRmIGFzcHJpbnRmKQorQUNfQ0hFQ0tfRlVOQ1ModmFzcHJpbnRmIGFzcHJpbnRmKQogQUNfQ0hFQ0tfRlVOQ1MoaXNhc2NpaSBpc2JsYW5rIGlzZ3JhcGggaXNwcmludCBpc3NwYWNlIGlzeGRpZ2l0KQogQUNfQ0hFQ0tfRlVOQ1MoZ2V0cHdlbnQgZ2V0cHduYW0gZ2V0cHd1aWQpCi1BQ19SRVBMQUNFX0ZVTkNTKGdldGN3ZCBtZW1zZXQgc3RyY2FzZWNtcCBzdHJlcnJvciBzdHJmdGltZSBzdHJubGVuIHN0cnBicmsgc3Ryc3RyKQorQUNfUkVQTEFDRV9GVU5DUyhnZXRjd2QgbWVtc2V0KQorQUNfUkVQTEFDRV9GVU5DUyhzdHJjYXNlY21wIHN0cmNhc2VzdHIgc3RyZXJyb3Igc3RyZnRpbWUgc3RybmxlbiBzdHJwYnJrIHN0cnN0cikKIEFDX1JFUExBQ0VfRlVOQ1Moc3RydG9kIHN0cnRvbCBzdHJ0b3VsIHN0cnRvbGwgc3RydG91bGwgc3RydG9pbWF4IHN0cnRvdW1heCkKIEFDX1JFUExBQ0VfRlVOQ1MoZmRwcmludGYpCiAKQEAgLTkxOSw2ICs5MjgsOCBAQAogZmkKIEJBU0hfRlVOQ19QT1NJWF9TRVRKTVAKIEJBU0hfRlVOQ19TVFJDT0xMCitCQVNIX0ZVTkNfU05QUklOVEYKK0JBU0hfRlVOQ19WU05QUklOVEYKIAogZG5sIElmIHB1dGVudiBvciB1bnNldGVudiBpcyBub3QgcHJlc2VudCwgc2V0IHRoZSByaWdodCBkZWZpbmUgc28gdGhlCiBkbmwgcHJvdG90eXBlIGFuZCBkZWNsYXJhdGlvbiBpbiBsaWIvc2gvZ2V0ZW52LmMgd2lsbCBiZSBzdGFuZGFyZC1jb25mb3JtYW50CkBAIC0xMDI1LDcgKzEwMzYsNyBAQAogKnFueCopCQlMT0NBTF9DRkxBR1M9Ii1EcW54IC1GIC0zcyIgTE9DQUxfTERGTEFHUz0iLTNzIiBMT0NBTF9MSUJTPSItbHVuaXggLWxuY3Vyc2VzIiA7OwogcG93ZXJ1eCopCUxPQ0FMX0xJQlM9Ii1sZ2VuIiA7OwogY3lnd2luKikJTE9DQUxfQ0ZMQUdTPS1EUkVDWUNMRVNfUElEUyA7Owotb3Blbm50KnxpbnRlcml4KikgTE9DQUxfQ0ZMQUdTPSItRE5PX01BSU5fRU5WX0FSRyAtREJST0tFTl9ESVJFTlRfRF9JTk8gLURfUE9TSVhfU09VUkNFIiA7Oworb3Blbm50KnxpbnRlcml4KikgTE9DQUxfQ0ZMQUdTPSItRE5PX01BSU5fRU5WX0FSRyAtREJST0tFTl9ESVJFTlRfRF9JTk8gLURfUE9TSVhfU09VUkNFIC1EX0FMTF9TT1VSQ0UiIDs7CiBlc2FjCiAKIGRubCBTdGFuemEgZm9yIE9TL2NvbXBpbGVyIHBhaXItc3BlY2lmaWMgZmxhZ3MKZGlmZiAtLWdpdCBhL2NvcHlfY21kLmMgYi9jb3B5X2NtZC5jCmluZGV4IDcwMjBjNjAuLjkxMWQzNGYgMTAwNjQ0Ci0tLSBhL2NvcHlfY21kLmMKKysrIGIvY29weV9jbWQuYwpAQCAtMTEzLDcgKzExMywxNSBAQAogICBSRURJUkVDVCAqbmV3X3JlZGlyZWN0OwogCiAgIG5ld19yZWRpcmVjdCA9IChSRURJUkVDVCAqKXhtYWxsb2MgKHNpemVvZiAoUkVESVJFQ1QpKTsKKyNpZiAwCiAgIEZBU1RDT1BZICgoY2hhciAqKXJlZGlyZWN0LCAoY2hhciAqKW5ld19yZWRpcmVjdCwgKHNpemVvZiAoUkVESVJFQ1QpKSk7CisjZWxzZQorICAqbmV3X3JlZGlyZWN0ID0gKnJlZGlyZWN0OwkvKiBsZXQgdGhlIGNvbXBpbGVyIGRvIHRoZSBmYXN0IHN0cnVjdHVyZSBjb3B5ICovCisjZW5kaWYKKworICBpZiAocmVkaXJlY3QtPnJmbGFncyAmIFJFRElSX1ZBUkFTU0lHTikKKyAgICBuZXdfcmVkaXJlY3QtPnJlZGlyZWN0b3IuZmlsZW5hbWUgPSBjb3B5X3dvcmQgKHJlZGlyZWN0LT5yZWRpcmVjdG9yLmZpbGVuYW1lKTsKKwogICBzd2l0Y2ggKHJlZGlyZWN0LT5pbnN0cnVjdGlvbikKICAgICB7CiAgICAgY2FzZSByX3JlYWRpbmdfdW50aWw6CmRpZmYgLS1naXQgYS9kaXNwb3NlX2NtZC5jIGIvZGlzcG9zZV9jbWQuYwppbmRleCA0YzI1YWU1Li5jNjI0NjA1IDEwMDY0NAotLS0gYS9kaXNwb3NlX2NtZC5jCisrKyBiL2Rpc3Bvc2VfY21kLmMKQEAgLTMwOSw2ICszMDksMTAgQEAKICAgICB7CiAgICAgICB0ID0gbGlzdDsKICAgICAgIGxpc3QgPSBsaXN0LT5uZXh0OworCisgICAgICBpZiAodC0+cmZsYWdzICYgUkVESVJfVkFSQVNTSUdOKQorCWRpc3Bvc2Vfd29yZCAodC0+cmVkaXJlY3Rvci5maWxlbmFtZSk7CisKICAgICAgIHN3aXRjaCAodC0+aW5zdHJ1Y3Rpb24pCiAJewogCWNhc2Ugcl9yZWFkaW5nX3VudGlsOgpkaWZmIC0tZ2l0IGEvZG9jL0ZBUSBiL2RvYy9GQVEKaW5kZXggMjlkNDUzYS4uYmVmODEwNiAxMDA2NDQKLS0tIGEvZG9jL0ZBUQorKysgYi9kb2MvRkFRCkBAIC0xLDQgKzEsNCBAQAotVGhpcyBpcyB0aGUgQmFzaCBGQVEsIHZlcnNpb24gNC4wMSwgZm9yIEJhc2ggdmVyc2lvbiA0LjAuCitUaGlzIGlzIHRoZSBCYXNoIEZBUSwgdmVyc2lvbiA0LjExLCBmb3IgQmFzaCB2ZXJzaW9uIDQuMS4KIAogVGhpcyBkb2N1bWVudCBjb250YWlucyBhIHNldCBvZiBmcmVxdWVudGx5LWFza2VkIHF1ZXN0aW9ucyBjb25jZXJuaW5nCiBCYXNoLCB0aGUgR05VIEJvdXJuZS1BZ2FpbiBTaGVsbC4gIEJhc2ggaXMgYSBmcmVlbHktYXZhaWxhYmxlIGNvbW1hbmQKQEAgLTM2LDkgKzM2LDkgQEAKIAogU2VjdGlvbiBCOiAgVGhlIGxhdGVzdCB2ZXJzaW9uCiAKLUIxKSBXaGF0J3MgbmV3IGluIHZlcnNpb24gNC4wPwotQjIpIEFyZSB0aGVyZSBhbnkgdXNlci12aXNpYmxlIGluY29tcGF0aWJpbGl0aWVzIGJldHdlZW4gYmFzaC00LjAsCi0gICAgYmFzaC0zLjIsIGFuZCBiYXNoLTIuMDViPworQjEpIFdoYXQncyBuZXcgaW4gdmVyc2lvbiA0LjE/CitCMikgQXJlIHRoZXJlIGFueSB1c2VyLXZpc2libGUgaW5jb21wYXRpYmlsaXRpZXMgYmV0d2VlbiBiYXNoLTQuMSBhbmQKKyAgICBwcmV2aW91cyBiYXNoIHZlcnNpb25zPwogCiBTZWN0aW9uIEM6ICBEaWZmZXJlbmNlcyBmcm9tIG90aGVyIFVuaXggc2hlbGxzCiAKQEAgLTgxLDYgKzgxLDcgQEAKIEUxMykgV2h5IGRvZXMgZmlsZW5hbWUgY29tcGxldGlvbiBtaXNiZWhhdmUgaWYgYSBjb2xvbiBhcHBlYXJzIGluIHRoZSBmaWxlbmFtZT8KIEUxNCkgV2h5IGRvZXMgcXVvdGluZyB0aGUgcGF0dGVybiBhcmd1bWVudCB0byB0aGUgcmVndWxhciBleHByZXNzaW9uIG1hdGNoaW5nCiAgICAgIGNvbmRpdGlvbmFsIG9wZXJhdG9yICg9fikgY2F1c2UgbWF0Y2hpbmcgdG8gc3RvcCB3b3JraW5nPworRTE1KSBUZWxsIG1lIG1vcmUgYWJvdXQgdGhlIHNoZWxsIGNvbXBhdGliaWxpdHkgbGV2ZWwuCiAKIFNlY3Rpb24gRjogIFRoaW5ncyB0byB3YXRjaCBvdXQgZm9yIG9uIGNlcnRhaW4gVW5peCB2ZXJzaW9ucwogCkBAIC0xNDMsMjYgKzE0NCwyNiBAQAogCiBBMikgIFdoYXQncyB0aGUgbGF0ZXN0IHZlcnNpb24/CiAKLVRoZSBsYXRlc3QgdmVyc2lvbiBpcyA0LjAsIGZpcnN0IG1hZGUgYXZhaWxhYmxlIG9uIDIwIEZlYnJ1YXJ5LCAyMDA5LgorVGhlIGxhdGVzdCB2ZXJzaW9uIGlzIDQuMSwgZmlyc3QgbWFkZSBhdmFpbGFibGUgb24gMzEgRGVjZW1iZXIsIDIwMDkuCiAKIEEzKSAgV2hlcmUgY2FuIEkgZ2V0IGl0PwogCiBCYXNoIGlzIHRoZSBHTlUgcHJvamVjdCdzIHNoZWxsLCBhbmQgc28gaXMgYXZhaWxhYmxlIGZyb20gdGhlCiBtYXN0ZXIgR05VIGFyY2hpdmUgc2l0ZSwgZnRwLmdudS5vcmcsIGFuZCBpdHMgbWlycm9ycy4gIFRoZQogbGF0ZXN0IHZlcnNpb24gaXMgYWxzbyBhdmFpbGFibGUgZm9yIEZUUCBmcm9tIGZ0cC5jd3J1LmVkdS4KLVRoZSBmb2xsb3dpbmcgVVJMcyB0ZWxsIGhvdyB0byBnZXQgdmVyc2lvbiA0LjA6CitUaGUgZm9sbG93aW5nIFVSTHMgdGVsbCBob3cgdG8gZ2V0IHZlcnNpb24gNC4xOgogCi1mdHA6Ly9mdHAuZ251Lm9yZy9wdWIvZ251L2Jhc2gvYmFzaC00LjAudGFyLmd6Ci1mdHA6Ly9mdHAuY3dydS5lZHUvcHViL2Jhc2gvYmFzaC00LjAudGFyLmd6CitmdHA6Ly9mdHAuZ251Lm9yZy9wdWIvZ251L2Jhc2gvYmFzaC00LjEudGFyLmd6CitmdHA6Ly9mdHAuY3dydS5lZHUvcHViL2Jhc2gvYmFzaC00LjEudGFyLmd6CiAKIEZvcm1hdHRlZCB2ZXJzaW9ucyBvZiB0aGUgZG9jdW1lbnRhdGlvbiBhcmUgYXZhaWxhYmxlIHdpdGggdGhlIFVSTHM6CiAKLWZ0cDovL2Z0cC5nbnUub3JnL3B1Yi9nbnUvYmFzaC9iYXNoLWRvYy00LjAudGFyLmd6Ci1mdHA6Ly9mdHAuY3dydS5lZHUvcHViL2Jhc2gvYmFzaC1kb2MtNC4wLnRhci5negorZnRwOi8vZnRwLmdudS5vcmcvcHViL2dudS9iYXNoL2Jhc2gtZG9jLTQuMS50YXIuZ3oKK2Z0cDovL2Z0cC5jd3J1LmVkdS9wdWIvYmFzaC9iYXNoLWRvYy00LjEudGFyLmd6CiAKIEFueSBwYXRjaGVzIGZvciB0aGUgY3VycmVudCB2ZXJzaW9uIGFyZSBhdmFpbGFibGUgd2l0aCB0aGUgVVJMOgogCi1mdHA6Ly9mdHAuY3dydS5lZHUvcHViL2Jhc2gvYmFzaC00LjAtcGF0Y2hlcy8KK2Z0cDovL2Z0cC5jd3J1LmVkdS9wdWIvYmFzaC9iYXNoLTQuMS1wYXRjaGVzLwogCiBBNCkgIE9uIHdoYXQgbWFjaGluZXMgd2lsbCBiYXNoIHJ1bj8KIApAQCAtMTk0LDcgKzE5NSw3IEBACiAKIEN5Z251cyBvcmlnaW5hbGx5IHBvcnRlZCBiYXNoLTEuMTQuNywgYW5kIHRoYXQgcG9ydCB3YXMgcGFydCBvZiB0aGVpcgogZWFybHkgR05VLVdpbjMyICh0aGUgb3JpZ2luYWwgbmFtZSkgcmVsZWFzZXMuICBDeWdudXMgaGFzIGFsc28gZG9uZQotcG9ydHMgb2YgYmFzaC0yLjA1YiBhbmQgYmFzaC0zLjIgdG8gdGhlIENZR1dJTiBlbnZpcm9ubWVudCwgYW5kIGJvdGgKK3BvcnRzIG9mIGJhc2gtMy4yIGFuZCBiYXNoLTQuMCB0byB0aGUgQ1lHV0lOIGVudmlyb25tZW50LCBhbmQgYm90aAogYXJlIGF2YWlsYWJsZSBhcyBwYXJ0IG9mIHRoZWlyIGN1cnJlbnQgcmVsZWFzZS4KIAogQmFzaC0yLjA1YiBhbmQgbGF0ZXIgdmVyc2lvbnMgc2hvdWxkIHJlcXVpcmUgbm8gbG9jYWwgQ3lnbnVzIGNoYW5nZXMgdG8KQEAgLTIxOCw3ICsyMTksNyBAQAogCiBCYXNoLTMuMCBjb21waWxlcyBhbmQgcnVucyB3aXRoIG5vIG1vZGlmaWNhdGlvbnMgdW5kZXIgTWljcm9zb2Z0J3MgU2VydmljZXMKIGZvciBVbml4IChTRlUpLCBvbmNlIGtub3duIGFzIEludGVyaXguICBJIGRvIG5vdCBhbnRpY2lwYXRlIGFueSBwcm9ibGVtcwotd2l0aCBidWlsZGluZyBiYXNoLTQuMCwgYnV0IHdpbGwgZ2xhZGx5IGFjY2VwdCBhbnkgcGF0Y2hlcyB0aGF0IGFyZSBuZWVkZWQuCit3aXRoIGJ1aWxkaW5nIGJhc2gtNC4xLCBidXQgd2lsbCBnbGFkbHkgYWNjZXB0IGFueSBwYXRjaGVzIHRoYXQgYXJlIG5lZWRlZC4KIAogQTYpIEhvdyBjYW4gSSBidWlsZCBiYXNoIHdpdGggZ2NjPyAKIApAQCAtMzg3LDE2ICszODgsMTI0IEBACiAKIFNlY3Rpb24gQjogIFRoZSBsYXRlc3QgdmVyc2lvbgogCi1CMSkgV2hhdCdzIG5ldyBpbiB2ZXJzaW9uIDQuMD8KK0IxKSBXaGF0J3MgbmV3IGluIHZlcnNpb24gNC4xPwogCi1CYXNoLTQuMCBpcyB0aGUgZm91cnRoIG1ham9yIHJlbGVhc2Ugb2YgYmFzaC4gIFRoZXJlIGFyZSBudW1lcm91cyBuZXcgZmVhdHVyZXMsCi1zb21lIGV4cGVyaW1lbnRhbC4gIERlcGVuZGluZyBvbiBjb21tdW5pdHkgcmVjZXB0aW9uLCB0aGUgZXhwZXJpbWVudGFsCi1mZWF0dXJlcyB3aWxsIGV2b2x2ZS4KK0Jhc2gtNC4xIGlzIHRoZSBmaXJzdCByZXZpc2lvbiB0byB0aGUgZm91cnRoIG1ham9yIHJlbGVhc2Ugb2YgYmFzaC4KIAotQmFzaC00LjAgY29udGFpbnMgdGhlIGZvbGxvd2luZyBuZXcgZmVhdHVyZXMgKHNlZSB0aGUgbWFudWFsIHBhZ2UgZm9yCi1jb21wbGV0ZSBkZXNjcmlwdGlvbnMgYW5kIHRoZSBDSEFOR0VTIGFuZCBORVdTIGZpbGVzIGluIHRoZSBiYXNoLTQuMAorQmFzaC00LjEgY29udGFpbnMgdGhlIGZvbGxvd2luZyBuZXcgZmVhdHVyZXMgKHNlZSB0aGUgbWFudWFsIHBhZ2UgZm9yCitjb21wbGV0ZSBkZXNjcmlwdGlvbnMgYW5kIHRoZSBDSEFOR0VTIGFuZCBORVdTIGZpbGVzIGluIHRoZSBiYXNoLTQuMQogZGlzdHJpYnV0aW9uKToKIAorbyAgIEhlcmUtZG9jdW1lbnRzIHdpdGhpbiAkKC4uLikgY29tbWFuZCBzdWJzdGl0dXRpb25zIG1heSBvbmNlIG1vcmUgYmUKKyAgICBkZWxpbWl0ZWQgYnkgdGhlIGNsb3NpbmcgcmlnaHQgcGFyZW4sIGluc3RlYWQgb2YgcmVxdWlyaW5nIGEgbmV3bGluZS4KKworbyAgIEJhc2gncyBmaWxlIHN0YXR1cyBjaGVja3MgKGV4ZWN1dGFibGUsIHJlYWRhYmxlLCBldGMuKSBub3cgdGFrZSBmaWxlCisgICAgc3lzdGVtIEFDTHMgaW50byBhY2NvdW50IG9uIGZpbGUgc3lzdGVtcyB0aGF0IHN1cHBvcnQgdGhlbS4KKworbyAgIEJhc2ggbm93IHBhc3NlcyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgd2l0aCBuYW1lcyB0aGF0IGFyZSBub3QgdmFsaWQKKyAgICBzaGVsbCB2YXJpYWJsZSBuYW1lcyB0aHJvdWdoIGludG8gdGhlIGVudmlyb25tZW50IHBhc3NlZCB0byBjaGlsZAorICAgIHByb2Nlc3Nlcy4KKworbyAgIFRoZSBgZXhlY3V0ZS11bml4LWNvbW1hbmQnIHJlYWRsaW5lIGZ1bmN0aW9uIG5vdyBhdHRlbXB0cyB0byBjbGVhciBhbmQKKyAgICByZXVzZSB0aGUgY3VycmVudCBsaW5lIHJhdGhlciB0aGFuIG1vdmUgdG8gYSBuZXcgb25lIGFmdGVyIHRoZSBjb21tYW5kCisgICAgZXhlY3V0ZXMuCisKK28gICBgcHJpbnRmIC12JyBjYW4gbm93IGFzc2lnbiB2YWx1ZXMgdG8gYXJyYXkgaW5kaWNlcy4KKworbyAgIE5ldyBgY29tcGxldGUgLUUnIGFuZCBgY29tcG9wdCAtRScgb3B0aW9ucyB0aGF0IHdvcmsgb24gdGhlICJlbXB0eSIKKyAgICBjb21wbGV0aW9uOiBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhbiBlbXB0eSBjb21tYW5kIGxpbmUuCisKK28gICBOZXcgY29tcGxldGUvY29tcGdlbi9jb21wb3B0IC1EIG9wdGlvbiB0byBkZWZpbmUgYSBgZGVmYXVsdCcgY29tcGxldGlvbjoKKyAgICBhIGNvbXBsZXRpb24gdG8gYmUgaW52b2tlZCBvbiBjb21tYW5kIGZvciB3aGljaCBubyBjb21wbGV0aW9uIGhhcyBiZWVuCisgICAgZGVmaW5lZC4gIElmIHRoaXMgZnVuY3Rpb24gcmV0dXJucyAxMjQsIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGlzCisgICAgYXR0ZW1wdGVkIGFnYWluLCBhbGxvd2luZyBhIHVzZXIgdG8gZHluYW1pY2FsbHkgYnVpbGQgYSBzZXQgb2YgY29tcGxldGlvbnMKKyAgICBhcyBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCBieSBoYXZpbmcgdGhlIGRlZmF1bHQgY29tcGxldGlvbiBmdW5jdGlvbgorICAgIGluc3RhbGwgaW5kaXZpZHVhbCBjb21wbGV0aW9uIGZ1bmN0aW9ucyBlYWNoIHRpbWUgaXQgaXMgaW52b2tlZC4KKworbyAgIFdoZW4gZGlzcGxheWluZyBhc3NvY2lhdGl2ZSBhcnJheXMsIHN1YnNjcmlwdHMgYXJlIG5vdyBxdW90ZWQuCisKK28gICBDaGFuZ2VzIHRvIGRhYmJyZXYtZXhwYW5kIHRvIG1ha2UgaXQgbW9yZSBgZW1hY3MtbGlrZSc6IG5vIHNwYWNlIGFwcGVuZGVkCisgICAgYWZ0ZXIgbWF0Y2hlcywgY29tcGxldGlvbnMgYXJlIG5vdCBzb3J0ZWQsIGFuZCBtb3N0IHJlY2VudCBoaXN0b3J5IGVudHJpZXMKKyAgICBhcmUgcHJlc2VudGVkIGZpcnN0LgorCitvICAgVGhlIFtbIGFuZCAoKCBjb21tYW5kcyBhcmUgbm93IHN1YmplY3QgdG8gdGhlIHNldHRpbmcgb2YgYHNldCAtZScgYW5kIHRoZQorICAgIEVSUiB0cmFwLgorCitvICAgVGhlIHNvdXJjZS8uIGJ1aWx0aW4gbm93IHJlbW92ZXMgTlVMIGJ5dGVzIGZyb20gdGhlIGZpbGUgYmVmb3JlIGF0dGVtcHRpbmcKKyAgICB0byBwYXJzZSBjb21tYW5kcy4KKworbyAgIFRoZXJlIGlzIGEgbmV3IGNvbmZpZ3VyYXRpb24gb3B0aW9uIChpbiBjb25maWctdG9wLmgpIHRoYXQgZm9yY2VzIGJhc2ggdG8KKyAgICBmb3J3YXJkIGFsbCBoaXN0b3J5IGVudHJpZXMgdG8gc3lzbG9nLgorCitvICAgQSBuZXcgdmFyaWFibGUgJEJBU0hPUFRTIHRvIGV4cG9ydCBzaGVsbCBvcHRpb25zIHNldHRhYmxlIHVzaW5nIGBzaG9wdCcgdG8KKyAgICBjaGlsZCBwcm9jZXNzZXMuCisKK28gICBUaGVyZSBpcyBhIG5ldyBjb25mZ3VyZSBvcHRpb24gdGhhdCBmb3JjZXMgdGhlIGV4dGdsb2Igb3B0aW9uIHRvIGJlCisgICAgZW5hYmxlZCBieSBkZWZhdWx0LgorCitvICAgTmV3IHZhcmlhYmxlICRCQVNIX1hUUkFDRUZEOyB3aGVuIHNldCB0byBhbiBpbnRlZ2VyIGJhc2ggd2lsbCB3cml0ZSB4dHJhY2UKKyAgICBvdXRwdXQgdG8gdGhhdCBmaWxlIGRlc2NyaXB0b3IuCisKK28gICBJZiB0aGUgb3B0aW9uYWwgbGVmdC1oYW5kLXNpZGUgb2YgYSByZWRpcmVjdGlvbiBpcyBvZiB0aGUgZm9ybSB7dmFyfSwgdGhlCisgICAgc2hlbGwgYXNzaWducyB0aGUgZmlsZSBkZXNjcmlwdG9yIHVzZWQgdG8gJHZhciBvciB1c2VzICR2YXIgYXMgdGhlIGZpbGUKKyAgICBkZXNjcmlwdG9yIHRvIG1vdmUgb3IgY2xvc2UsIGRlcGVuZGluZyBvbiB0aGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IuCisKK28gICBUaGUgPCBhbmQgPiBvcGVyYXRvcnMgdG8gdGhlIFtbIGNvbmRpdGlvbmFsIGNvbW1hbmQgbm93IGRvIHN0cmluZworICAgIGNvbXBhcmlzb24gYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IGxvY2FsZS4KKworbyAgIFByb2dyYW1tYWJsZSBjb21wbGV0aW9uIG5vdyB1c2VzIHRoZSBjb21wbGV0aW9uIGZvciBgYicgaW5zdGVhZCBvZiBgYScKKyAgICB3aGVuIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkIG9uIGEgbGluZSBsaWtlOiBhICQoYiBjLgorCitvICAgRm9yY2UgZXh0Z2xvYiBvbiB0ZW1wb3JhcmlseSB3aGVuIHBhcnNpbmcgdGhlIHBhdHRlcm4gYXJndW1lbnQgdG8KKyAgICB0aGUgPT0gYW5kICE9IG9wZXJhdG9ycyB0byB0aGUgW1sgY29tbWFuZCwgZm9yIGNvbXBhdGliaWxpdHkuCisKK28gICBDaGFuZ2VkIHRoZSBiZWhhdmlvciBvZiBpbnRlcnJ1cHRpbmcgdGhlIHdhaXQgYnVpbHRpbiB3aGVuIGEgU0lHQ0hMRCBpcworICAgIHJlY2VpdmVkIGFuZCBhIHRyYXAgb24gU0lHQ0hMRCBpcyBzZXQgdG8gYmUgUG9zaXgtbW9kZSBvbmx5LgorCitvICAgVGhlIHJlYWQgYnVpbHRpbiBoYXMgYSBuZXcgYC1OIG5jaGFycycgb3B0aW9uLCB3aGljaCByZWFkcyBleGFjdGx5IE5DSEFSUworICAgIGNoYXJhY3RlcnMsIGlnbm9yaW5nIGRlbGltaXRlcnMgbGlrZSBuZXdsaW5lLgorCitvICAgVGhlIG1hcGZpbGUvcmVhZGFycmF5IGJ1aWx0aW4gbm8gbG9uZ2VyIHN0b3JlcyB0aGUgY29tbWFuZHMgaXQgaW52b2tlcyB2aWEKKyAgICBjYWxsYmFja3MgaW4gdGhlIGhpc3RvcnkgbGlzdC4KKworbyAgIFRoZXJlIGlzIGEgbmV3IGBjb21wYXQ0MCcgc2hvcHQgb3B0aW9uLgorCitvICAgVGhlIDwgYW5kID4gb3BlcmF0b3JzIHRvIFtbIGRvIHN0cmluZyBjb21wYXJpc29ucyB1c2luZyB0aGUgY3VycmVudCBsb2NhbGUKKyAgICBvbmx5IGlmIHRoZSBjb21wYXRpYmlsaXR5IGxldmVsIGlzIGdyZWF0ZXIgdGhhbiA0MCAoc2V0IHRvIDQxIGJ5IGRlZmF1bHQpLgorCitvICAgTmV3IGJpbmRhYmxlIHJlYWRsaW5lIGZ1bmN0aW9uOiBtZW51LWNvbXBsZXRlLWJhY2t3YXJkLgorCitvICAgSW4gdGhlIHJlYWRsaW5lIHZpLW1vZGUgaW5zZXJ0aW9uIGtleW1hcCwgQy1uIGlzIG5vdyBib3VuZCB0byBtZW51LWNvbXBsZXRlCisgICAgYnkgZGVmYXVsdCwgYW5kIEMtcCB0byBtZW51LWNvbXBsZXRlLWJhY2t3YXJkLgorCitvICAgV2hlbiBpbiByZWFkbGluZSB2aSBjb21tYW5kIG1vZGUsIHJlcGVhdGVkbHkgaGl0dGluZyBFU0Mgbm93IGRvZXMgbm90aGluZywKKyAgICBldmVuIHdoZW4gRVNDIGludHJvZHVjZXMgYSBib3VuZCBrZXkgc2VxdWVuY2UuICBUaGlzIGlzIGNsb3NlciB0byBob3cKKyAgICBoaXN0b3JpY2FsIHZpIGJlaGF2ZXMuCisKK28gICBOZXcgYmluZGFibGUgcmVhZGxpbmUgZnVuY3Rpb246IHNraXAtY3NpLXNlcXVlbmNlLiAgQ2FuIGJlIHVzZWQgYXMgYQorICAgIGRlZmF1bHQgdG8gY29uc3VtZSBrZXkgc2VxdWVuY2VzIGdlbmVyYXRlZCBieSBrZXlzIGxpa2UgSG9tZSBhbmQgRW5kCisgICAgd2l0aG91dCBoYXZpbmcgdG8gYmluZCBhbGwga2V5cy4KKworbyAgIE5ldyBiaW5kYWJsZSByZWFkbGluZSB2YXJpYWJsZTogc2tpcC1jb21wbGV0ZWQtdGV4dCwgYWN0aXZlIHdoZW4KKyAgICBjb21wbGV0aW5nIGluIHRoZSBtaWRkbGUgb2YgYSB3b3JkLiAgSWYgZW5hYmxlZCwgaXQgbWVhbnMgdGhhdCBjaGFyYWN0ZXJzCisgICAgaW4gdGhlIGNvbXBsZXRpb24gdGhhdCBtYXRjaCBjaGFyYWN0ZXJzIGluIHRoZSByZW1haW5kZXIgb2YgdGhlIHdvcmQgYXJlCisgICAgInNraXBwZWQiIHJhdGhlciB0aGFuIGluc2VydGVkIGludG8gdGhlIGxpbmUuCisKK28gICBUaGUgcHJlLXJlYWRsaW5lLTYuMCB2ZXJzaW9uIG9mIG1lbnUgY29tcGxldGlvbiBpcyBhdmFpbGFibGUgYXMKKyAgICAib2xkLW1lbnUtY29tcGxldGUiIGZvciB1c2VycyB3aG8gZG8gbm90IGxpa2UgdGhlIHJlYWRsaW5lLTYuMCB2ZXJzaW9uLgorCitvICAgTmV3IGJpbmRhYmxlIHJlYWRsaW5lIHZhcmlhYmxlOiBlY2hvLWNvbnRyb2wtY2hhcmFjdGVycy4gIElmIGVuYWJsZWQsIGFuZAorICAgIHRoZSB0dHkgRUNIT0NUTCBiaXQgaXMgc2V0LCBjb250cm9scyB0aGUgZWNob2luZyBvZiBjaGFyYWN0ZXJzCisgICAgY29ycmVzcG9uZGluZyB0byBrZXlib2FyZC1nZW5lcmF0ZWQgc2lnbmFscy4KKworbyAgIE5ldyBiaW5kYWJsZSByZWFkbGluZSB2YXJpYWJsZTogZW5hYmxlLW1ldGEta2V5LiAgQ29udHJvbHMgd2hldGhlciBvciBub3QKKyAgICByZWFkbGluZSBzZW5kcyB0aGUgc21tL3JtbSBzZXF1ZW5jZXMgaWYgdGhlIHRlcm1pbmFsIGluZGljYXRlcyBpdCBoYXMgYQorICAgIG1ldGEga2V5IHRoYXQgZW5hYmxlcyBlaWdodC1iaXQgY2hhcmFjdGVycy4KKworQSBzaG9ydCBmZWF0dXJlIGhpc3RvcnkgZGF0aW5nIGZyb20gQmFzaC0yLjA6CisKK0Jhc2gtNC4wIGNvbnRhaW5lZCB0aGUgZm9sbG93aW5nIG5ldyBmZWF0dXJlczoKKwogbyAgIFdoZW4gdXNpbmcgc3Vic3RyaW5nIGV4cGFuc2lvbiBvbiB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLCBhIHN0YXJ0aW5nCiAgICAgaW5kZXggb2YgMCBub3cgY2F1c2VzICQwIHRvIGJlIHByZWZpeGVkIHRvIHRoZSBsaXN0LgogCkBAIC01MzYsOCArNjQ1LDYgQEAKICAgICB3aGljaCBraWxsIHdvcmRzIGJhY2t3YXJkIGFuZCBmb3J3YXJkLCBidXQgdXNlIHRoZSBzYW1lIHdvcmQgYm91bmRhcmllcwogICAgIGFzIHNoZWxsLWZvcndhcmQtd29yZCBhbmQgc2hlbGwtYmFja3dhcmQtd29yZC4KIAotQSBzaG9ydCBmZWF0dXJlIGhpc3RvcnkgZGF0aW5nIGZyb20gQmFzaC0yLjA6Ci0KIEJhc2gtMy4yIGNvbnRhaW5lZCB0aGUgZm9sbG93aW5nIG5ldyBmZWF0dXJlczoKIAogbyBCYXNoLTMuMiBub3cgY2hlY2tzIHNoZWxsIHNjcmlwdHMgZm9yIE5VTCBjaGFyYWN0ZXJzIHJhdGhlciB0aGFuIG5vbi1wcmludGluZwpAQCAtNzk0LDEzICs5MDEsMTQgQEAKIGxvdHMgb2YgY29kZSBub3cgc21hbGxlciBhbmQgZmFzdGVyCiB0ZXN0IHN1aXRlIGdyZWF0bHkgZXhwYW5kZWQKIAotQjIpIEFyZSB0aGVyZSBhbnkgdXNlci12aXNpYmxlIGluY29tcGF0aWJpbGl0aWVzIGJldHdlZW4gYmFzaC00LjAsIGJhc2gtMy4yLAotICAgIGFuZCBiYXNoLTIuMDViPworQjIpIEFyZSB0aGVyZSBhbnkgdXNlci12aXNpYmxlIGluY29tcGF0aWJpbGl0aWVzIGJldHdlZW4gYmFzaC00LjEgYW5kCisgICAgcHJldmlvdXMgYmFzaCB2ZXJzaW9ucz8KIAotVGhlcmUgYXJlIGEgZmV3IGluY29tcGF0aWJpbGl0aWVzIGJldHdlZW4gdmVyc2lvbiA0LjAgYW5kIHZlcnNpb24gMy4yLgotVGhleSBhcmUgZGV0YWlsZWQgaW4gdGhlIGZpbGUgQ09NUEFUIGluIHRoZSBiYXNoIGRpc3RyaWJ1dGlvbi4gIFRoYXQgZmlsZQotaXMgbm90IG1lYW50IHRvIGJlIGFsbC1lbmNvbXBhc3Npbmc7IHNlbmQgbWFpbCB0byBiYXNoLW1haW50YWluZXJzQGdudS5vcmcKLWlmIGlmIHlvdSBmaW5kIHNvbWV0aGluZyB0aGF0J3Mgbm90IG1lbnRpb25lZCB0aGVyZS4KK1RoZXJlIGFyZSBhIGZldyBpbmNvbXBhdGliaWxpdGllcyBiZXR3ZWVuIHZlcnNpb24gNC4xIGFuZCBwcmV2aW91cwordmVyc2lvbnMuICBUaGV5IGFyZSBkZXRhaWxlZCBpbiB0aGUgZmlsZSBDT01QQVQgaW4gdGhlIGJhc2ggZGlzdHJpYnV0aW9uLgorVGhhdCBmaWxlIGlzIG5vdCBtZWFudCB0byBiZSBhbGwtZW5jb21wYXNzaW5nOyBzZW5kIG1haWwgdG8KK2Jhc2gtbWFpbnRhaW5lcnNAZ251Lm9yZyAob3IgYnVnLWJhc2hAZ251Lm9yZyBpZiB5b3Ugd291bGQgbGlrZQorY29tbXVuaXR5IGRpc2N1c3Npb24pIGlmIGlmIHlvdSBmaW5kIHNvbWV0aGluZyB0aGF0J3Mgbm90IG1lbnRpb25lZCB0aGVyZS4KIAogU2VjdGlvbiBDOiAgRGlmZmVyZW5jZXMgZnJvbSBvdGhlciBVbml4IHNoZWxscwogCkBAIC04MzcsNyArOTQ1LDcgQEAKIAkJICAgSElTVEZJTEVTSVpFLCBISVNUQ09OVFJPTCwgSElTVElHTk9SRSwgR0xPQklHTk9SRSwgR1JPVVBTLAogCQkgICBQUk9NUFRfQ09NTUFORCwgRkNFRElULCBGSUdOT1JFLCBJR05PUkVFT0YsIElOUFVUUkMsCiAJCSAgIFNIRUxMT1BUUywgT1BURVJSLCBIT1NURklMRSwgVE1PVVQsIEZVTkNOQU1FLCBoaXN0Y2hhcnMsCi0JCSAgIGF1dG9fcmVzdW1lLCBQUk9NUFRfRElSVFJJTQorCQkgICBhdXRvX3Jlc3VtZSwgUFJPTVBUX0RJUlRSSU0sIEJBU0hPUFRTLCBCQVNIX1hUUkFDRUZECiAJREVCVUcgdHJhcAogCUVSUiB0cmFwCiAJdmFyaWFibGUgYXJyYXlzIHdpdGggbmV3IGNvbXBvdW5kIGFzc2lnbm1lbnQgc3ludGF4CkBAIC04NDgsNyArOTU2LDcgQEAKIAliYXNoIHJldHVybiBidWlsdGluIHdpbGwgZXhpdCBhIGZpbGUgc291cmNlZCB3aXRoIGAuJwogCWJ1aWx0aW5zOiBjZCAtLy1MLy1QLCBleGVjIC1sLy1jLy1hLCBlY2hvIC1lLy1FLCBoYXNoIC1kLy1sLy1wLy10LgogCQkgIGV4cG9ydCAtbi8tZi8tcC9uYW1lPXZhbHVlLCBwd2QgLUwvLVAsCi0JCSAgcmVhZCAtZS8tcC8tYS8tdC8tbi8tZC8tcy8tdS8taSwKKwkJICByZWFkIC1lLy1wLy1hLy10Ly1uLy1kLy1zLy11Ly1pLy1OLAogCQkgIHJlYWRvbmx5IC1hLy1mL25hbWU9dmFsdWUsIHRyYXAgLWwsIHNldCArbywKIAkJICBzZXQgLWIvLW0vLW8gb3B0aW9uLy1oLy1wLy1CLy1DLy1ILy1QLAogCQkgIHVuc2V0IC1mLy12LCB1bGltaXQgLWkvLW0vLXAvLXEvLXUvLXgsCkBAIC04OTQsNiArMTAwMiw3IEBACiAJY2FzZS1tb2RpZnlpbmcgd29yZCBleHBhbnNpb25zIGFuZCB2YXJpYWJsZSBhdHRyaWJ1dGVzCiAJYXNzb2NpYXRpdmUgYXJyYXlzCiAJY29wcm9jZXNzZXMgdXNpbmcgdGhlIGBjb3Byb2MnIHJlc2VydmVkIHdvcmQgYW5kIHZhcmlhYmxlcworCXNoZWxsIGFzc2lnbm1lbnQgb2YgYSBmaWxlIGRlc2NyaXB0b3IgdXNlZCBpbiBhIHJlZGlyZWN0aW9uIHRvIGEgdmFyaWFibGUKIAogVGhpbmdzIHNoIGhhcyB0aGF0IGJhc2ggZG9lcyBub3Q6CiAJdXNlcyB2YXJpYWJsZSBTSEFDQ1QgdG8gZG8gc2hlbGwgYWNjb3VudGluZwpAQCAtOTUwLDcgKzEwNTksNyBAQAogCWJ1aWx0aW5zOiBiaW5kLCBidWlsdGluLCBjb21tYW5kLCBkZWNsYXJlLCBkaXJzLCBlY2hvIC1lLy1FLCBlbmFibGUsCiAJCSAgZXhlYyAtbC8tYy8tYSwgZmMgLXMsIGV4cG9ydCAtbi8tZi8tcCwgaGFzaCwgaGVscCwgaGlzdG9yeSwKIAkJICBqb2JzIC14Ly1yLy1zLCBraWxsIC1zLy1uLy1sLCBsb2NhbCwgbG9nb3V0LCBwb3BkLCBwdXNoZCwKLQkJICByZWFkIC1lLy1wLy1hLy10Ly1uLy1kLy1zLCByZWFkb25seSAtYS8tbi8tZi8tcCwKKwkJICByZWFkIC1lLy1wLy1hLy10Ly1uLy1kLy1zLy1OLCByZWFkb25seSAtYS8tbi8tZi8tcCwKIAkJICBzZXQgLW8gYnJhY2VleHBhbmQvLW8gaGlzdGV4cGFuZC8tbyBpbnRlcmFjdGl2ZS1jb21tZW50cy8KIAkJICAtbyBub3RpZnkvLW8gcGh5c2ljYWwvLW8gcG9zaXgvLW8gaGFzaGFsbC8tbyBvbmVjbWQvCiAJCSAgLWgvLUIvLUMvLWIvLUgvLVAsIHNldCArbywgc3VzcGVuZCwgdHJhcCAtbCwgdHlwZSwKQEAgLTk3OSw2ICsxMDg4LDcgQEAKIAljYXNlLW1vZGlmeWluZyB3b3JkIGV4cGFuc2lvbnMgYW5kIHZhcmlhYmxlIGF0dHJpYnV0ZXMKIAlhc3NvY2lhdGl2ZSBhcnJheXMKIAljb3Byb2Nlc3NlcyB1c2luZyB0aGUgYGNvcHJvYycgcmVzZXJ2ZWQgd29yZCBhbmQgdmFyaWFibGVzCisJc2hlbGwgYXNzaWdubWVudCBvZiBhIGZpbGUgZGVzY3JpcHRvciB1c2VkIGluIGEgcmVkaXJlY3Rpb24gdG8gYSB2YXJpYWJsZQogCiBUaGluZ3Mga3NoODggaGFzIG9yIHVzZXMgdGhhdCBiYXNoIGRvZXMgbm90OgogCXRyYWNrZWQgYWxpYXNlcyAoYWxpYXMgLXQpCkBAIC0xMDA2LDkgKzExMTYsOSBAQAogCiBDMykgIFdoaWNoIG5ldyBmZWF0dXJlcyBpbiBrc2gtOTMgYXJlIG5vdCBpbiBiYXNoLCBhbmQgd2hpY2ggYXJlPwogCi1UaGlzIGxpc3QgaXMgY3VycmVudCB0aHJvdWdoIGtzaDkzdCAoMTEvMDQvMjAwOCkKK1RoaXMgbGlzdCBpcyBjdXJyZW50IHRocm91Z2gga3NoOTN0KyAoMDUvMDUvMjAwOSkKIAotTmV3IHRoaW5ncyBpbiBrc2gtOTMgbm90IGluIGJhc2gtNC4wOgorTmV3IHRoaW5ncyBpbiBrc2gtOTMgbm90IGluIGJhc2gtNC4xOgogCWZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgYW5kIHZhcmlhYmxlcwogCW1hdGggbGlicmFyeSBmdW5jdGlvbnMKIAkkeyFuYW1lW3N1Yl19IG5hbWUgb2Ygc3Vic2NyaXB0IGZvciBhc3NvY2lhdGl2ZSBhcnJheQpAQCAtMTAzMSwxMCArMTE0MSwxMSBAQAogCWAuJyBjYW4gZXhlY3V0ZSBzaGVsbCBmdW5jdGlvbnMKIAlnZXRvcHRzIC1hCiAJcHJpbnRmICVCLCAlSCwgJVAsICVSLCAlVCwgJVogbW9kaWZpZXJzLCBvdXRwdXQgYmFzZSBmb3IgJWQsIGA9JyBmbGFnCi0JcmVhZCAtTiAocmVhZCAtbiBkaWZmZXJzLCB0b28pLy12CisJcmVhZCAtbi8tTiBkaWZmZXIvLXYKIAlzZXQgLW8gc2hvd21lLy1vIG11bHRpbGluZSAoYmFzaCBkZWZhdWx0KQogCWBzbGVlcCcgYW5kIGBnZXRjb25mJyBidWlsdGlucyAoYmFzaCBoYXMgbG9hZGFibGUgdmVyc2lvbnMpCiAJdHlwZXNldCAtbiBhbmQgYG5hbWVyZWYnIHZhcmlhYmxlcworCVtbIC1SIG5hbWUgXV0gKGNoZWNrcyB3aGV0aGVyIG9yIG5vdCBuYW1lIGlzIGEgbmFtZXJlZikKIAl0eXBlc2V0IC1DLy1TLy1ULy1YLy1oLy1zCiAJZXhwZXJpbWVudGFsIGB0eXBlJyBkZWZpbml0aW9ucyAoYSBsYSB0eXBlZGVmKSB1c2luZyB0eXBlc2V0CiAJbmVnYXRpdmUgc3Vic2NyaXB0cyBmb3IgaW5kZXhlZCBhcnJheSB2YXJpYWJsZXMKQEAgLTEwNDIsMTEgKzExNTMsMTEgQEAKIAlhc3NvY2lhdGl2ZSBhcnJheSBhc3NpZ25tZW50cyB1c2luZyBgOycgYXMgZWxlbWVudCBzZXBhcmF0b3IKIAljb21tYW5kIHN1YnN0aXR1dGlvbiAkKG48IykgZXhwYW5kcyB0byBjdXJyZW50IGJ5dGUgb2Zmc2V0IGZvciBmZCBOCiAJbmV3ICckeyAnIGZvcm0gb2YgY29tbWFuZCBzdWJzdGl0dXRpb24sIGV4ZWN1dGVkIGluIGN1cnJlbnQgc2hlbGwKLQluZXcgPjsvPCNwYXQvPCMjcGF0LzwjLz4jIHJlZGlyZWN0aW9ucwotCXJlZGlyZWN0aW9uIG9wZXJhdG9ycyBwcmVjZWRlZCB3aXRoIHt2YXJuYW1lfSB0byBzdG9yZSBmZCBudW1iZXIgaW4gdmFybmFtZQorCW5ldyA+Oy88PjsvPCNwYXQvPCMjcGF0LzwjLz4jIHJlZGlyZWN0aW9ucwogCWJyYWNlIGV4cGFuc2lvbiBwcmludGYtbGlrZSBmb3JtYXRzIAorCVtbIC12IHZhciBdXSBvcGVyYXRvcnMgKGNoZWNrcyB3aGV0aGVyIG9yIG5vdCB2YXIgaXMgc2V0KQogCi1OZXcgdGhpbmdzIGluIGtzaC05MyBwcmVzZW50IGluIGJhc2gtNC4wOgorTmV3IHRoaW5ncyBpbiBrc2gtOTMgcHJlc2VudCBpbiBiYXNoLTQuMToKIAlhc3NvY2lhdGl2ZSBhcnJheXMKIAlbbl08JndvcmQtIGFuZCBbbl0+JndvcmQtIHJlZGlyZWN0aW9ucyAoY29tYmluYXRpb24gZHVwIGFuZCBjbG9zZSkKICAgICAgICAgZm9yICgoIGV4cHIxOyBleHByMjsgZXhwcjMgKSkgOyBkbyBsaXN0OyBkb25lIC0gYXJpdGhtZXRpYyBmb3IgY29tbWFuZApAQCAtMTA4MCw2ICsxMTkxLDggQEAKIAl0aGUgYDsmJyBjYXNlIHN0YXRlbWVudCAiZmFsbHRocm91Z2giIHBhdHRlcm4gbGlzdCB0ZXJtaW5hdG9yCiAJY3NoLXN0eWxlIGhpc3RvcnkgZXhwYW5zaW9uIGFuZCBzZXQgLUgKIAluZWdhdGl2ZSBvZmZzZXRzIGluICR7cGFyYW06b2Zmc2V0Omxlbmd0aH0KKwlyZWRpcmVjdGlvbiBvcGVyYXRvcnMgcHJlY2VkZWQgd2l0aCB7dmFybmFtZX0gdG8gc3RvcmUgZmQgbnVtYmVyIGluIHZhcm5hbWUKKwlERUJVRyBjYW4gZm9yY2Ugc2tpcHBpbmcgZm9sbG93aW5nIGNvbW1hbmQKIAogU2VjdGlvbiBEOiAgV2h5IGRvZXMgYmFzaCBkbyBzb21lIHRoaW5ncyBkaWZmZXJlbnRseSB0aGFuIG90aGVyIFVuaXggc2hlbGxzPwogCkBAIC0xNjQxLDYgKzE3NTQsMzIgQEAKIGJhc2ggcmV2ZXJ0cyB0byB0aGUgYmFzaC0zLjEgYmVoYXZpb3Igd2l0aCByZXNwZWN0IHRvIHF1b3RpbmcgdGhlIHJocyBvZgogdGhlID1+IG9wZXJhdG9yLgogCitFMTUpIFRlbGwgbWUgbW9yZSBhYm91dCB0aGUgc2hlbGwgY29tcGF0aWJpbGl0eSBsZXZlbC4KKworQmFzaC00LjAgaW50cm9kdWNlZCB0aGUgY29uY2VwdCBvZiBhIGBzaGVsbCBjb21wYXRpYmlsaXR5IGxldmVsJywgc3BlY2lmaWVkCithcyBhIHNldCBvZiBvcHRpb25zIHRvIHRoZSBzaG9wdCBidWlsdGluIChjb21wYXQzMSwgY29tcGF0MzIsIGNvbXBhdDQwIGF0Cit0aGlzIHdyaXRpbmcpLiAgVGhlcmUgaXMgb25seSBvbmUgY3VycmVudCBjb21wYXRpYmlsaXR5IGxldmVsIC0tIGVhY2gKK29wdGlvbiBpcyBtdXR1YWxseSBleGNsdXNpdmUuICBUaGlzIGxpc3QgZG9lcyBub3QgbWVudGlvbiBiZWhhdmlvciB0aGF0IGlzCitzdGFuZGFyZCBmb3IgYSBwYXJ0aWN1bGFyIHZlcnNpb24gKGUuZy4sIHNldHRpbmcgY29tcGF0MzIgbWVhbnMgdGhhdCBxdW90aW5nCit0aGUgcmhzIG9mIHRoZSByZWdleHAgbWF0Y2hpbmcgb3BlcmF0b3IgcXVvdGVzIHNwZWNpYWwgcmVnZXhwIGNoYXJhY3RlcnMgaW4KK3RoZSB3b3JkLCB3aGljaCBpcyBkZWZhdWx0IGJlaGF2aW9yIGluIGJhc2gtMy4yIGFuZCBhYm92ZSkuCisKK2NvbXBhdDMxIHNldAorCS0gdGhlIDwgYW5kID4gb3BlcmF0b3JzIHRvIHRoZSBbWyBjb21tYW5kIGRvIG5vdCBjb25zaWRlciB0aGUgY3VycmVudAorCSAgbG9jYWxlIHdoZW4gY29tcGFyaW5nIHN0cmluZ3MKKwktIHF1b3RpbmcgdGhlIHJocyBvZiB0aGUgcmVnZXhwIG1hdGNoaW5nIG9wZXJhdG9yICg9fikgaGFzIG5vCisJICBzcGVjaWFsIGVmZmVjdAorCitjb21wYXQzMiBzZXQKKwktIHRoZSA8IGFuZCA+IG9wZXJhdG9ycyB0byB0aGUgW1sgY29tbWFuZCBkbyBub3QgY29uc2lkZXIgdGhlIGN1cnJlbnQKKwkgIGxvY2FsZSB3aGVuIGNvbXBhcmluZyBzdHJpbmdzCisKK2NvbXBhdDQwIHNldAorCS0gdGhlIDwgYW5kID4gb3BlcmF0b3JzIHRvIHRoZSBbWyBjb21tYW5kIGRvIG5vdCBjb25zaWRlciB0aGUgY3VycmVudAorCSAgbG9jYWxlIHdoZW4gY29tcGFyaW5nIHN0cmluZ3MKKwktIGludGVycnVwdGluZyBhIGNvbW1hbmQgbGlzdCBzdWNoIGFzICJhIDsgYiA7IGMiIGNhdXNlcyB0aGUgZXhlY3V0aW9uCisJICBvZiB0aGUgZW50aXJlIGxpc3QgdG8gYmUgYWJvcnRlZAorCiBTZWN0aW9uIEY6ICBUaGluZ3MgdG8gd2F0Y2ggb3V0IGZvciBvbiBjZXJ0YWluIFVuaXggdmVyc2lvbnMKIAogRjEpIFdoeSBjYW4ndCBJIHVzZSBjb21tYW5kIGxpbmUgZWRpdGluZyBpbiBteSBgY21kdG9vbCc/CkBAIC0yMDQ5LDkgKzIxODgsOSBAQAogCiBINSkgV2hlbiB3aWxsIHRoZSBuZXh0IHJlbGVhc2UgYXBwZWFyPwogCi1UaGUgbmV4dCB2ZXJzaW9uIHdpbGwgYXBwZWFyIHNvbWV0aW1lIGluIDIwMDkuICBOZXZlciBtYWtlIHByZWRpY3Rpb25zLiAKK1RoZSBuZXh0IHZlcnNpb24gd2lsbCBhcHBlYXIgc29tZXRpbWUgaW4gMjAxMC4gIE5ldmVyIG1ha2UgcHJlZGljdGlvbnMuIAogCi1UaGlzIGRvY3VtZW50IGlzIENvcHlyaWdodCAxOTk1LTIwMDkgYnkgQ2hlc3RlciBSYW1leS4KK1RoaXMgZG9jdW1lbnQgaXMgQ29weXJpZ2h0IDE5OTUtMjAxMCBieSBDaGVzdGVyIFJhbWV5LgogCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCB3aXRob3V0IHdyaXR0ZW4gYWdyZWVtZW50IGFuZAogd2l0aG91dCBsaWNlbnNlIG9yIHJveWFsdHkgZmVlcywgdG8gdXNlLCBjb3B5LCBhbmQgZGlzdHJpYnV0ZQpkaWZmIC0tZ2l0IGEvZG9jL01ha2VmaWxlLmluIGIvZG9jL01ha2VmaWxlLmluCmluZGV4IDJiYmZjM2MuLjNlMGU2OGIgMTAwNjQ0Ci0tLSBhL2RvYy9NYWtlZmlsZS5pbgorKysgYi9kb2MvTWFrZWZpbGUuaW4KQEAgLTk0LDcgKzk0LDcgQEAKIEhTVVNFUiAgICAgID0gJChSTF9MSUJESVIpL2RvYy9oc3VzZXIudGV4aQogUkxVU0VSICAgICAgPSAkKFJMX0xJQkRJUikvZG9jL3JsdXNlci50ZXhpCiAKLUJBU0hSRUZfRklMRVMgPSAkKHNyY2RpcikvYmFzaHJlZi50ZXhpICQoc3JjZGlyKS92ZXJzaW9uLnRleGkKK0JBU0hSRUZfRklMRVMgPSAkKHNyY2RpcikvYmFzaHJlZi50ZXhpICQoc3JjZGlyKS9mZGwudGV4aSAkKHNyY2RpcikvdmVyc2lvbi50ZXhpCiAKIC5TVUZGSVhFUzoJLjAgLjEgLjMgLm1zIC5wcyAudHh0IC5kdmkgLmh0bWwgLnBkZgogCmRpZmYgLS1naXQgYS9kb2MvYmFzaC4wIGIvZG9jL2Jhc2guMAppbmRleCA4MmVmMDY1Li42NzVjZDJmIDEwMDY0NAotLS0gYS9kb2MvYmFzaC4wCisrKyBiL2RvYy9iYXNoLjAKQEAgLTE5NiwyMiArMTk2LDIzIEBACiAgICAgICAgSWYgdGhlIHNoZWxsIGlzIHN0YXJ0ZWQgd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgKGdyb3VwKSBpZCBub3QgZXF1YWwgdG8KICAgICAgICB0aGUgcmVhbCB1c2VyIChncm91cCkgaWQsIGFuZCB0aGUgLQgtcAhwIG9wdGlvbiBpcyBub3Qgc3VwcGxpZWQsIG5vIHN0YXJ0dXAKICAgICAgICBmaWxlcyBhcmUgcmVhZCwgc2hlbGwgZnVuY3Rpb25zIGFyZSBub3QgaW5oZXJpdGVkIGZyb20gdGhlIGVudmlyb25tZW50LAotICAgICAgIHRoZSAgUwhTSAhIRQhFTAhMTAhMTwhPUAhQVAhUUwhTICB2YXJpYWJsZSwgaWYgaXQgYXBwZWFycyBpbiB0aGUgZW52aXJvbm1lbnQsIGlzIGlnbm9yZWQsCi0gICAgICAgYW5kIHRoZSBlZmZlY3RpdmUgdXNlciBpZCBpcyBzZXQgdG8gdGhlIHJlYWwgdXNlciBpZC4gIElmIHRoZSAtCC1wCHAgb3B0aW9uCi0gICAgICAgaXMgIHN1cHBsaWVkICBhdCAgaW52b2NhdGlvbiwgdGhlIHN0YXJ0dXAgYmVoYXZpb3IgaXMgdGhlIHNhbWUsIGJ1dCB0aGUKLSAgICAgICBlZmZlY3RpdmUgdXNlciBpZCBpcyBub3QgcmVzZXQuCisgICAgICAgdGhlICBTCFNICEhFCEVMCExMCExPCE9QCFBUCFRTCFMsICBCCEJBCEFTCFNICEhPCE9QCFBUCFRTCFMsICBDCENECERQCFBBCEFUCFRICEgsICBhbmQgIEcIR0wITE8IT0IIQkkISUcIR04ITk8IT1IIUkUIRSB2YXJpYWJsZXMsIGlmIHRoZXkKKyAgICAgICBhcHBlYXIgaW4gdGhlIGVudmlyb25tZW50LCBhcmUgaWdub3JlZCwgYW5kIHRoZSBlZmZlY3RpdmUgIHVzZXIgIGlkICBpcworICAgICAgIHNldCAgdG8gIHRoZSByZWFsIHVzZXIgaWQuICBJZiB0aGUgLQgtcAhwIG9wdGlvbiBpcyBzdXBwbGllZCBhdCBpbnZvY2F0aW9uLAorICAgICAgIHRoZSBzdGFydHVwIGJlaGF2aW9yIGlzIHRoZSBzYW1lLCBidXQgdGhlICBlZmZlY3RpdmUgIHVzZXIgIGlkICBpcyAgbm90CisgICAgICAgcmVzZXQuCiAKIEQIREUIRUYIRkkISU4ITkkISVQIVEkISU8IT04ITlMIUwotICAgICAgIFRoZSBmb2xsb3dpbmcgZGVmaW5pdGlvbnMgYXJlIHVzZWQgdGhyb3VnaG91dCB0aGUgcmVzdCAgb2YgIHRoaXMgIGRvY3UtCisgICAgICAgVGhlICBmb2xsb3dpbmcgIGRlZmluaXRpb25zICBhcmUgdXNlZCB0aHJvdWdob3V0IHRoZSByZXN0IG9mIHRoaXMgZG9jdS0KICAgICAgICBtZW50LgogICAgICAgIGIIYmwIbGEIYW4IbmsIayAgQSBzcGFjZSBvciB0YWIuCi0gICAgICAgdwh3bwhvcghyZAhkICAgQSAgc2VxdWVuY2UgIG9mICBjaGFyYWN0ZXJzICBjb25zaWRlcmVkICBhcyBhIHNpbmdsZSB1bml0IGJ5IHRoZQorICAgICAgIHcId28Ib3IIcmQIZCAgIEEgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycyBjb25zaWRlcmVkIGFzICBhICBzaW5nbGUgIHVuaXQgIGJ5ICB0aGUKICAgICAgICAgICAgICAgc2hlbGwuICBBbHNvIGtub3duIGFzIGEgdAh0bwhvawhrZQhlbghuLgotICAgICAgIG4IbmEIYW0IbWUIZSAgIEEgXwh3XwhvXwhyXwhkIGNvbnNpc3Rpbmcgb25seSBvZiAgYWxwaGFudW1lcmljICBjaGFyYWN0ZXJzICBhbmQgIHVuZGVyLQotICAgICAgICAgICAgICBzY29yZXMsICBhbmQgYmVnaW5uaW5nIHdpdGggYW4gYWxwaGFiZXRpYyBjaGFyYWN0ZXIgb3IgYW4gdW5kZXItCisgICAgICAgbghuYQhhbQhtZQhlICAgQSAgXwh3XwhvXwhyXwhkICBjb25zaXN0aW5nICBvbmx5ICBvZiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBhbmQgdW5kZXItCisgICAgICAgICAgICAgIHNjb3JlcywgYW5kIGJlZ2lubmluZyB3aXRoIGFuIGFscGhhYmV0aWMgY2hhcmFjdGVyIG9yIGFuICB1bmRlci0KICAgICAgICAgICAgICAgc2NvcmUuICBBbHNvIHJlZmVycmVkIHRvIGFzIGFuIGkIaWQIZGUIZW4IbnQIdGkIaWYIZmkIaWUIZXIIci4KICAgICAgICBtCG1lCGV0CHRhCGFjCGNoCGhhCGFyCHJhCGFjCGN0CHRlCGVyCHIKLSAgICAgICAgICAgICAgQSBjaGFyYWN0ZXIgdGhhdCwgd2hlbiB1bnF1b3RlZCwgc2VwYXJhdGVzIHdvcmRzLiAgIE9uZSAgb2YgIHRoZQorICAgICAgICAgICAgICBBICBjaGFyYWN0ZXIgIHRoYXQsICB3aGVuIHVucXVvdGVkLCBzZXBhcmF0ZXMgd29yZHMuICBPbmUgb2YgdGhlCiAgICAgICAgICAgICAgIGZvbGxvd2luZzoKICAgICAgICAgICAgICAgfAh8ICAmCCYgOwg7ICgIKCApCCkgPAg8ID4IPiBzCHNwCHBhCGFjCGNlCGUgdAh0YQhhYghiCiAgICAgICAgYwhjbwhvbghudAh0cghybwhvbAhsIG8Ib3AIcGUIZXIIcmEIYXQIdG8Ib3IIcgpAQCAtMjIyLDgxICsyMjMsODEgQEAKIFIIUkUIRVMIU0UIRVIIUlYIVkUIRUQIRCBXCFdPCE9SCFJECERTCFMKICAgICAgICBfCFJfCGVfCHNfCGVfCHJfCHZfCGVfCGQgXwh3XwhvXwhyXwhkXwhzIGFyZSB3b3JkcyB0aGF0IGhhdmUgYSBzcGVjaWFsIG1lYW5pbmcgdG8gdGhlIHNoZWxsLiAgVGhlCiAgICAgICAgZm9sbG93aW5nIHdvcmRzIGFyZSByZWNvZ25pemVkIGFzIHJlc2VydmVkIHdoZW4gdW5xdW90ZWQgYW5kIGVpdGhlciB0aGUKLSAgICAgICBmaXJzdCB3b3JkIG9mIGEgc2ltcGxlIGNvbW1hbmQgKHNlZSBTCFNICEhFCEVMCExMCEwgRwhHUghSQQhBTQhNTQhNQQhBUghSIGJlbG93KSBvciAgdGhlICB0aGlyZAorICAgICAgIGZpcnN0ICB3b3JkICBvZiBhIHNpbXBsZSBjb21tYW5kIChzZWUgUwhTSAhIRQhFTAhMTAhMIEcIR1IIUkEIQU0ITU0ITUEIQVIIUiBiZWxvdykgb3IgdGhlIHRoaXJkCiAgICAgICAgd29yZCBvZiBhIGMIY2EIYXMIc2UIZSBvciBmCGZvCG9yCHIgY29tbWFuZDoKIAotICAgICAgICEIISAgYwhjYQhhcwhzZQhlICBkCGRvCG8gZAhkbwhvbghuZQhlIGUIZWwIbGkIaWYIZiBlCGVsCGxzCHNlCGUgZQhlcwhzYQhhYwhjIGYIZmkIaSBmCGZvCG9yCHIgZghmdQh1bghuYwhjdAh0aQhpbwhvbghuIGkIaWYIZiBpCGluCG4gcwhzZQhlbAhsZQhlYwhjdAh0IHQIdGgIaGUIZW4IbiB1CHVuCG50CHRpCGlsCGwKKyAgICAgICAhCCEgYwhjYQhhcwhzZQhlICBkCGRvCG8gZAhkbwhvbghuZQhlIGUIZWwIbGkIaWYIZiBlCGVsCGxzCHNlCGUgZQhlcwhzYQhhYwhjIGYIZmkIaSBmCGZvCG9yCHIgZghmdQh1bghuYwhjdAh0aQhpbwhvbghuIGkIaWYIZiBpCGluCG4gcwhzZQhlbAhsZQhlYwhjdAh0IHQIdGgIaGUIZW4IbiAgdQh1bghudAh0aQhpbAhsCiAgICAgICAgdwh3aAhoaQhpbAhsZQhlIHsIeyB9CH0gdAh0aQhpbQhtZQhlIFsIW1sIWyBdCF1dCF0KIAogUwhTSAhIRQhFTAhMTAhMIEcIR1IIUkEIQU0ITU0ITUEIQVIIUgogICAgUwhTaQhpbQhtcAhwbAhsZQhlIEMIQ28Ib20IbW0IbWEIYW4IbmQIZHMIcwotICAgICAgIEEgXwhzXwhpXwhtXwhwXwhsXwhlIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBpcyBhIHNlcXVlbmNlIG9mIG9wdGlvbmFsICB2YXJpYWJsZSAgYXNzaWdubWVudHMgIGZvbC0KLSAgICAgICBsb3dlZCAgYnkgIGIIYmwIbGEIYW4IbmsIay1zZXBhcmF0ZWQgIHdvcmRzIGFuZCByZWRpcmVjdGlvbnMsIGFuZCB0ZXJtaW5hdGVkIGJ5IGEKKyAgICAgICBBICBfCHNfCGlfCG1fCHBfCGxfCGUgIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCAgaXMgYSBzZXF1ZW5jZSBvZiBvcHRpb25hbCB2YXJpYWJsZSBhc3NpZ25tZW50cyBmb2wtCisgICAgICAgbG93ZWQgYnkgYghibAhsYQhhbghuawhrLXNlcGFyYXRlZCB3b3JkcyBhbmQgcmVkaXJlY3Rpb25zLCBhbmQgIHRlcm1pbmF0ZWQgIGJ5ICBhCiAgICAgICAgXwhjXwhvXwhuXwh0XwhyXwhvXwhsIF8Ib18IcF8IZV8Icl8IYV8IdF8Ib18Ici4gIFRoZSBmaXJzdCB3b3JkIHNwZWNpZmllcyB0aGUgY29tbWFuZCB0byBiZSBleGVjdXRlZCwKLSAgICAgICBhbmQgIGlzICBwYXNzZWQgIGFzICBhcmd1bWVudCAgemVyby4gIFRoZSByZW1haW5pbmcgd29yZHMgYXJlIHBhc3NlZCBhcworICAgICAgIGFuZCBpcyBwYXNzZWQgYXMgYXJndW1lbnQgemVyby4gIFRoZSAgcmVtYWluaW5nICB3b3JkcyAgYXJlICBwYXNzZWQgIGFzCiAgICAgICAgYXJndW1lbnRzIHRvIHRoZSBpbnZva2VkIGNvbW1hbmQuCiAKLSAgICAgICBUaGUgcmV0dXJuIHZhbHVlIG9mIGEgXwhzXwhpXwhtXwhwXwhsXwhlIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBpcyBpdHMgZXhpdCBzdGF0dXMsICBvciAgMTI4K18IbiAgaWYKKyAgICAgICBUaGUgIHJldHVybiAgdmFsdWUgIG9mIGEgXwhzXwhpXwhtXwhwXwhsXwhlIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBpcyBpdHMgZXhpdCBzdGF0dXMsIG9yIDEyOCtfCG4gaWYKICAgICAgICB0aGUgY29tbWFuZCBpcyB0ZXJtaW5hdGVkIGJ5IHNpZ25hbCBfCG4uCiAKICAgIFAIUGkIaXAIcGUIZWwIbGkIaW4IbmUIZXMIcwotICAgICAgIEEgIF8IcF8IaV8IcF8IZV8IbF8IaV8Ibl8IZSAgaXMgIGEgc2VxdWVuY2Ugb2Ygb25lIG9yIG1vcmUgY29tbWFuZHMgc2VwYXJhdGVkIGJ5IG9uZSBvZgorICAgICAgIEEgXwhwXwhpXwhwXwhlXwhsXwhpXwhuXwhlIGlzIGEgc2VxdWVuY2Ugb2Ygb25lIG9yIG1vcmUgY29tbWFuZHMgc2VwYXJhdGVkICBieSAgb25lICBvZgogICAgICAgIHRoZSBjb250cm9sIG9wZXJhdG9ycyB8CHwgb3IgfAh8JggmLiAgVGhlIGZvcm1hdCBmb3IgYSBwaXBlbGluZSBpczoKIAogICAgICAgICAgICAgICBbdAh0aQhpbQhtZQhlIFstCC1wCHBdXSBbICEgXSBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgWyBbfAh8fHwIfCYIJl0gXwhjXwhvXwhtXwhtXwhhXwhuXwhkXwgyIC4uLiBdCiAKLSAgICAgICBUaGUgc3RhbmRhcmQgb3V0cHV0IG9mIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBpcyBjb25uZWN0ZWQgdmlhIGEgcGlwZSB0byB0aGUgIHN0YW5kYXJkCi0gICAgICAgaW5wdXQgIG9mICBfCGNfCG9fCG1fCG1fCGFfCG5fCGRfCDIuICAgVGhpcyBjb25uZWN0aW9uIGlzIHBlcmZvcm1lZCBiZWZvcmUgYW55IHJlZGlyZWMtCisgICAgICAgVGhlICBzdGFuZGFyZCBvdXRwdXQgb2YgXwhjXwhvXwhtXwhtXwhhXwhuXwhkIGlzIGNvbm5lY3RlZCB2aWEgYSBwaXBlIHRvIHRoZSBzdGFuZGFyZAorICAgICAgIGlucHV0IG9mIF8IY18Ib18IbV8IbV8IYV8Ibl8IZF8IMi4gIFRoaXMgY29ubmVjdGlvbiBpcyBwZXJmb3JtZWQgIGJlZm9yZSAgYW55ICByZWRpcmVjLQogICAgICAgIHRpb25zIHNwZWNpZmllZCBieSB0aGUgY29tbWFuZCAoc2VlIFIIUkUIRUQIREkISVIIUkUIRUMIQ1QIVEkISU8IT04ITiBiZWxvdykuICBJZiB8CHwmCCYgaXMgdXNlZCwKICAgICAgICB0aGUgc3RhbmRhcmQgZXJyb3Igb2YgXwhjXwhvXwhtXwhtXwhhXwhuXwhkIGlzIGNvbm5lY3RlZCB0byBfCGNfCG9fCG1fCG1fCGFfCG5fCGRfCDIncyBzdGFuZGFyZCBpbnB1dAotICAgICAgIHRocm91Z2ggdGhlIHBpcGU7IGl0IGlzIHNob3J0aGFuZCBmb3IgMggyPgg+JggmMQgxIHwIfC4gIFRoaXMgaW1wbGljaXQgIHJlZGlyZWN0LQorICAgICAgIHRocm91Z2ggIHRoZSBwaXBlOyBpdCBpcyBzaG9ydGhhbmQgZm9yIDIIMj4IPiYIJjEIMSB8CHwuICBUaGlzIGltcGxpY2l0IHJlZGlyZWN0LQogICAgICAgIGlvbiBvZiB0aGUgc3RhbmRhcmQgZXJyb3IgaXMgcGVyZm9ybWVkIGFmdGVyIGFueSByZWRpcmVjdGlvbnMgc3BlY2lmaWVkCiAgICAgICAgYnkgdGhlIGNvbW1hbmQuCiAKICAgICAgICBUaGUgcmV0dXJuIHN0YXR1cyBvZiBhIHBpcGVsaW5lIGlzIHRoZSBleGl0IHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kLAotICAgICAgIHVubGVzcyAgdGhlICBwCHBpCGlwCHBlCGVmCGZhCGFpCGlsCGwgIG9wdGlvbiAgaXMgZW5hYmxlZC4gIElmIHAIcGkIaXAIcGUIZWYIZmEIYWkIaWwIbCBpcyBlbmFibGVkLCB0aGUKLSAgICAgICBwaXBlbGluZSdzIHJldHVybiBzdGF0dXMgaXMgdGhlIHZhbHVlIG9mIHRoZSBsYXN0ICAocmlnaHRtb3N0KSAgY29tbWFuZAotICAgICAgIHRvICBleGl0ICB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLCBvciB6ZXJvIGlmIGFsbCBjb21tYW5kcyBleGl0IHN1Y2Nlc3MtCisgICAgICAgdW5sZXNzIHRoZSBwCHBpCGlwCHBlCGVmCGZhCGFpCGlsCGwgb3B0aW9uIGlzIGVuYWJsZWQuICBJZiAgcAhwaQhpcAhwZQhlZghmYQhhaQhpbAhsICBpcyAgZW5hYmxlZCwgIHRoZQorICAgICAgIHBpcGVsaW5lJ3MgIHJldHVybiAgc3RhdHVzIGlzIHRoZSB2YWx1ZSBvZiB0aGUgbGFzdCAocmlnaHRtb3N0KSBjb21tYW5kCisgICAgICAgdG8gZXhpdCB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLCBvciB6ZXJvIGlmIGFsbCBjb21tYW5kcyAgZXhpdCAgc3VjY2Vzcy0KICAgICAgICBmdWxseS4gIElmIHRoZSByZXNlcnZlZCB3b3JkICEIISAgcHJlY2VkZXMgYSBwaXBlbGluZSwgdGhlIGV4aXQgc3RhdHVzIG9mCi0gICAgICAgdGhhdCAgcGlwZWxpbmUgIGlzIHRoZSBsb2dpY2FsIG5lZ2F0aW9uIG9mIHRoZSBleGl0IHN0YXR1cyBhcyBkZXNjcmliZWQKLSAgICAgICBhYm92ZS4gIFRoZSBzaGVsbCB3YWl0cyBmb3IgYWxsIGNvbW1hbmRzIGluIHRoZSBwaXBlbGluZSAgdG8gIHRlcm1pbmF0ZQorICAgICAgIHRoYXQgcGlwZWxpbmUgaXMgdGhlIGxvZ2ljYWwgbmVnYXRpb24gb2YgdGhlIGV4aXQgc3RhdHVzICBhcyAgZGVzY3JpYmVkCisgICAgICAgYWJvdmUuICAgVGhlICBzaGVsbCB3YWl0cyBmb3IgYWxsIGNvbW1hbmRzIGluIHRoZSBwaXBlbGluZSB0byB0ZXJtaW5hdGUKICAgICAgICBiZWZvcmUgcmV0dXJuaW5nIGEgdmFsdWUuCiAKLSAgICAgICBJZiAgdGhlICB0CHRpCGltCG1lCGUgcmVzZXJ2ZWQgd29yZCBwcmVjZWRlcyBhIHBpcGVsaW5lLCB0aGUgZWxhcHNlZCBhcyB3ZWxsIGFzCi0gICAgICAgdXNlciBhbmQgc3lzdGVtIHRpbWUgY29uc3VtZWQgYnkgaXRzIGV4ZWN1dGlvbiBhcmUgIHJlcG9ydGVkICB3aGVuICB0aGUKLSAgICAgICBwaXBlbGluZSAgdGVybWluYXRlcy4gICBUaGUgLQgtcAhwIG9wdGlvbiBjaGFuZ2VzIHRoZSBvdXRwdXQgZm9ybWF0IHRvIHRoYXQKLSAgICAgICBzcGVjaWZpZWQgYnkgUE9TSVguICBUaGUgVAhUSQhJTQhNRQhFRghGTwhPUghSTQhNQQhBVAhUIHZhcmlhYmxlIG1heSBiZSAgc2V0ICB0byAgYSAgZm9ybWF0Ci0gICAgICAgc3RyaW5nICB0aGF0ICBzcGVjaWZpZXMgaG93IHRoZSB0aW1pbmcgaW5mb3JtYXRpb24gc2hvdWxkIGJlIGRpc3BsYXllZDsKKyAgICAgICBJZiB0aGUgdAh0aQhpbQhtZQhlIHJlc2VydmVkIHdvcmQgcHJlY2VkZXMgYSBwaXBlbGluZSwgdGhlIGVsYXBzZWQgYXMgIHdlbGwgIGFzCisgICAgICAgdXNlciAgYW5kICBzeXN0ZW0gIHRpbWUgY29uc3VtZWQgYnkgaXRzIGV4ZWN1dGlvbiBhcmUgcmVwb3J0ZWQgd2hlbiB0aGUKKyAgICAgICBwaXBlbGluZSB0ZXJtaW5hdGVzLiAgVGhlIC0ILXAIcCBvcHRpb24gY2hhbmdlcyB0aGUgb3V0cHV0IGZvcm1hdCAgdG8gIHRoYXQKKyAgICAgICBzcGVjaWZpZWQgIGJ5ICBQT1NJWC4gICBUaGUgIFQIVEkISU0ITUUIRUYIRk8IT1IIUk0ITUEIQVQIVCB2YXJpYWJsZSBtYXkgYmUgc2V0IHRvIGEgZm9ybWF0CisgICAgICAgc3RyaW5nIHRoYXQgc3BlY2lmaWVzIGhvdyB0aGUgdGltaW5nIGluZm9ybWF0aW9uIHNob3VsZCAgYmUgIGRpc3BsYXllZDsKICAgICAgICBzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIFQIVEkISU0ITUUIRUYIRk8IT1IIUk0ITUEIQVQIVCB1bmRlciBTCFNoCGhlCGVsCGxsCGwgVghWYQhhcghyaQhpYQhhYghibAhsZQhlcwhzIGJlbG93LgogCi0gICAgICAgRWFjaCBjb21tYW5kIGluIGEgcGlwZWxpbmUgaXMgZXhlY3V0ZWQgYXMgYSBzZXBhcmF0ZSBwcm9jZXNzIChpLmUuLCAgaW4KKyAgICAgICBFYWNoICBjb21tYW5kIGluIGEgcGlwZWxpbmUgaXMgZXhlY3V0ZWQgYXMgYSBzZXBhcmF0ZSBwcm9jZXNzIChpLmUuLCBpbgogICAgICAgIGEgc3Vic2hlbGwpLgogCiAgICBMCExpCGlzCHN0CHRzCHMKLSAgICAgICBBICBfCGxfCGlfCHNfCHQgIGlzIGEgc2VxdWVuY2Ugb2Ygb25lIG9yIG1vcmUgcGlwZWxpbmVzIHNlcGFyYXRlZCBieSBvbmUgb2YgdGhlCisgICAgICAgQSBfCGxfCGlfCHNfCHQgaXMgYSBzZXF1ZW5jZSBvZiBvbmUgb3IgbW9yZSBwaXBlbGluZXMgc2VwYXJhdGVkIGJ5IG9uZSAgb2YgIHRoZQogICAgICAgIG9wZXJhdG9ycyA7CDssICYIJiwgJggmJggmLCBvciB8CHx8CHwsIGFuZCBvcHRpb25hbGx5IHRlcm1pbmF0ZWQgYnkgb25lIG9mIDsIOywgJggmLCBvcgogICAgICAgIDwIPG4IbmUIZXcId2wIbGkIaW4IbmUIZT4IPi4KIAogICAgICAgIE9mIHRoZXNlIGxpc3Qgb3BlcmF0b3JzLCAmCCYmCCYgYW5kIHwIfHwIfCBoYXZlIGVxdWFsIHByZWNlZGVuY2UsIGZvbGxvd2VkIGJ5IDsIOwogICAgICAgIGFuZCAmCCYsIHdoaWNoIGhhdmUgZXF1YWwgcHJlY2VkZW5jZS4KIAotICAgICAgIEEgc2VxdWVuY2Ugb2Ygb25lIG9yIG1vcmUgbmV3bGluZXMgbWF5IGFwcGVhciBpbiBhIF8IbF8IaV8Ic18IdCAgaW5zdGVhZCAgb2YgIGEKKyAgICAgICBBICBzZXF1ZW5jZSAgb2YgIG9uZSBvciBtb3JlIG5ld2xpbmVzIG1heSBhcHBlYXIgaW4gYSBfCGxfCGlfCHNfCHQgaW5zdGVhZCBvZiBhCiAgICAgICAgc2VtaWNvbG9uIHRvIGRlbGltaXQgY29tbWFuZHMuCiAKLSAgICAgICBJZiAgYSAgY29tbWFuZCAgaXMgdGVybWluYXRlZCBieSB0aGUgY29udHJvbCBvcGVyYXRvciAmCCYsIHRoZSBzaGVsbCBleGUtCi0gICAgICAgY3V0ZXMgdGhlIGNvbW1hbmQgaW4gdGhlIF8IYl8IYV8IY18Ia18IZ18Icl8Ib18IdV8Ibl8IZCBpbiBhIHN1YnNoZWxsLiAgVGhlIHNoZWxsIGRvZXMgIG5vdAotICAgICAgIHdhaXQgIGZvciAgdGhlIGNvbW1hbmQgdG8gZmluaXNoLCBhbmQgdGhlIHJldHVybiBzdGF0dXMgaXMgMC4gIENvbW1hbmRzCi0gICAgICAgc2VwYXJhdGVkIGJ5IGEgOwg7IGFyZSBleGVjdXRlZCBzZXF1ZW50aWFsbHk7IHRoZSBzaGVsbCAgd2FpdHMgIGZvciAgZWFjaAotICAgICAgIGNvbW1hbmQgIHRvIHRlcm1pbmF0ZSBpbiB0dXJuLiAgVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlIGV4aXQgc3RhdHVzIG9mCisgICAgICAgSWYgYSBjb21tYW5kIGlzIHRlcm1pbmF0ZWQgYnkgdGhlIGNvbnRyb2wgb3BlcmF0b3IgJggmLCAgdGhlICBzaGVsbCAgZXhlLQorICAgICAgIGN1dGVzICB0aGUgY29tbWFuZCBpbiB0aGUgXwhiXwhhXwhjXwhrXwhnXwhyXwhvXwh1XwhuXwhkIGluIGEgc3Vic2hlbGwuICBUaGUgc2hlbGwgZG9lcyBub3QKKyAgICAgICB3YWl0IGZvciB0aGUgY29tbWFuZCB0byBmaW5pc2gsIGFuZCB0aGUgcmV0dXJuIHN0YXR1cyBpcyAgMC4gICBDb21tYW5kcworICAgICAgIHNlcGFyYXRlZCAgYnkgIGEgIDsIOyBhcmUgZXhlY3V0ZWQgc2VxdWVudGlhbGx5OyB0aGUgc2hlbGwgd2FpdHMgZm9yIGVhY2gKKyAgICAgICBjb21tYW5kIHRvIHRlcm1pbmF0ZSBpbiB0dXJuLiAgVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlIGV4aXQgc3RhdHVzICBvZgogICAgICAgIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuCiAKLSAgICAgICBBTkQgYW5kIE9SIGxpc3RzIGFyZSBzZXF1ZW5jZXMgb2Ygb25lIG9mIG1vcmUgIHBpcGVsaW5lcyAgc2VwYXJhdGVkICBieQotICAgICAgIHRoZSAgJggmJggmICBhbmQgIHwIfHwIfCBjb250cm9sIG9wZXJhdG9ycywgcmVzcGVjdGl2ZWx5LiAgQU5EIGFuZCBPUiBsaXN0cyBhcmUKKyAgICAgICBBTkQgIGFuZCAgT1IgIGxpc3RzIGFyZSBzZXF1ZW5jZXMgb2Ygb25lIG9mIG1vcmUgcGlwZWxpbmVzIHNlcGFyYXRlZCBieQorICAgICAgIHRoZSAmCCYmCCYgYW5kIHwIfHwIfCBjb250cm9sIG9wZXJhdG9ycywgcmVzcGVjdGl2ZWx5LiAgQU5EIGFuZCAgT1IgIGxpc3RzICBhcmUKICAgICAgICBleGVjdXRlZCB3aXRoIGxlZnQgYXNzb2NpYXRpdml0eS4gIEFuIEFORCBsaXN0IGhhcyB0aGUgZm9ybQogCiAgICAgICAgICAgICAgIF8IY18Ib18IbV8IbV8IYV8Ibl8IZF8IMSAmCCYmCCYgXwhjXwhvXwhtXwhtXwhhXwhuXwhkXwgyCiAKLSAgICAgICBfCGNfCG9fCG1fCG1fCGFfCG5fCGRfCDIgaXMgZXhlY3V0ZWQgaWYsIGFuZCBvbmx5IGlmLCBfCGNfCG9fCG1fCG1fCGFfCG5fCGRfCDEgcmV0dXJucyBhbiAgZXhpdCAgc3RhdHVzCisgICAgICAgXwhjXwhvXwhtXwhtXwhhXwhuXwhkXwgyICBpcyAgZXhlY3V0ZWQgaWYsIGFuZCBvbmx5IGlmLCBfCGNfCG9fCG1fCG1fCGFfCG5fCGRfCDEgcmV0dXJucyBhbiBleGl0IHN0YXR1cwogICAgICAgIG9mIHplcm8uCiAKICAgICAgICBBbiBPUiBsaXN0IGhhcyB0aGUgZm9ybQpAQCAtMzA0LDQ2ICszMDUsNDkgQEAKICAgICAgICAgICAgICAgXwhjXwhvXwhtXwhtXwhhXwhuXwhkXwgxIHwIfHwIfCBfCGNfCG9fCG1fCG1fCGFfCG5fCGRfCDIKIAogCi0gICAgICAgXwhjXwhvXwhtXwhtXwhhXwhuXwhkXwgyICBpcyAgZXhlY3V0ZWQgIGlmIGFuZCBvbmx5IGlmIF8IY18Ib18IbV8IbV8IYV8Ibl8IZF8IMSByZXR1cm5zIGEgbm9uLXplcm8gZXhpdAotICAgICAgIHN0YXR1cy4gIFRoZSByZXR1cm4gc3RhdHVzIG9mIEFORCBhbmQgT1IgbGlzdHMgaXMgdGhlICBleGl0ICBzdGF0dXMgIG9mCisgICAgICAgXwhjXwhvXwhtXwhtXwhhXwhuXwhkXwgyIGlzIGV4ZWN1dGVkIGlmIGFuZCBvbmx5IGlmIF8IY18Ib18IbV8IbV8IYV8Ibl8IZF8IMSByZXR1cm5zICBhICBub24temVybyAgZXhpdAorICAgICAgIHN0YXR1cy4gICBUaGUgIHJldHVybiAgc3RhdHVzIG9mIEFORCBhbmQgT1IgbGlzdHMgaXMgdGhlIGV4aXQgc3RhdHVzIG9mCiAgICAgICAgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZCBpbiB0aGUgbGlzdC4KIAogICAgQwhDbwhvbQhtcAhwbwhvdQh1bghuZAhkIEMIQ28Ib20IbW0IbWEIYW4IbmQIZHMIcwogICAgICAgIEEgXwhjXwhvXwhtXwhwXwhvXwh1XwhuXwhkIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBpcyBvbmUgb2YgdGhlIGZvbGxvd2luZzoKIAotICAgICAgIChfCGxfCGlfCHNfCHQpIF8IbF8IaV8Ic18IdCAgaXMgIGV4ZWN1dGVkIGluIGEgc3Vic2hlbGwgZW52aXJvbm1lbnQgKHNlZSBDCENPCE9NCE1NCE1BCEFOCE5ECEQgRQhFWAhYRQhFQwhDVQhVLQgtCi0gICAgICAgICAgICAgIFQIVEkISU8IT04ITiBFCEVOCE5WCFZJCElSCFJPCE9OCE5NCE1FCEVOCE5UCFQgYmVsb3cpLiAgVmFyaWFibGUgYXNzaWdubWVudHMgYW5kIGJ1aWx0aW4gIGNvbS0KLSAgICAgICAgICAgICAgbWFuZHMgIHRoYXQgIGFmZmVjdCAgdGhlICBzaGVsbCdzICBlbnZpcm9ubWVudCAgZG8gbm90IHJlbWFpbiBpbgotICAgICAgICAgICAgICBlZmZlY3QgYWZ0ZXIgdGhlIGNvbW1hbmQgY29tcGxldGVzLiAgVGhlIHJldHVybiAgc3RhdHVzICBpcyAgdGhlCisgICAgICAgKF8IbF8IaV8Ic18IdCkgXwhsXwhpXwhzXwh0IGlzIGV4ZWN1dGVkIGluIGEgc3Vic2hlbGwgZW52aXJvbm1lbnQgKHNlZSAgQwhDTwhPTQhNTQhNQQhBTghORAhEICBFCEVYCFhFCEVDCENVCFUtCC0KKyAgICAgICAgICAgICAgVAhUSQhJTwhPTghOICBFCEVOCE5WCFZJCElSCFJPCE9OCE5NCE1FCEVOCE5UCFQgYmVsb3cpLiAgVmFyaWFibGUgYXNzaWdubWVudHMgYW5kIGJ1aWx0aW4gY29tLQorICAgICAgICAgICAgICBtYW5kcyB0aGF0IGFmZmVjdCB0aGUgIHNoZWxsJ3MgIGVudmlyb25tZW50ICBkbyAgbm90ICByZW1haW4gIGluCisgICAgICAgICAgICAgIGVmZmVjdCAgYWZ0ZXIgIHRoZSAgY29tbWFuZCBjb21wbGV0ZXMuICBUaGUgcmV0dXJuIHN0YXR1cyBpcyB0aGUKICAgICAgICAgICAgICAgZXhpdCBzdGF0dXMgb2YgXwhsXwhpXwhzXwh0LgogCiAgICAgICAgeyBfCGxfCGlfCHNfCHQ7IH0KLSAgICAgICAgICAgICAgXwhsXwhpXwhzXwh0ICBpcyBzaW1wbHkgZXhlY3V0ZWQgaW4gdGhlIGN1cnJlbnQgc2hlbGwgZW52aXJvbm1lbnQuICBfCGxfCGlfCHNfCHQKLSAgICAgICAgICAgICAgbXVzdCBiZSB0ZXJtaW5hdGVkIHdpdGggYSBuZXdsaW5lIG9yIHNlbWljb2xvbi4gIFRoaXMgIGlzICBrbm93bgotICAgICAgICAgICAgICBhcyAgYSAgXwhnXwhyXwhvXwh1XwhwICBfCGNfCG9fCG1fCG1fCGFfCG5fCGQuICAgVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlIGV4aXQgc3RhdHVzIG9mCi0gICAgICAgICAgICAgIF8IbF8IaV8Ic18IdC4gIE5vdGUgdGhhdCB1bmxpa2UgdGhlIG1ldGFjaGFyYWN0ZXJzICgIKCBhbmQgKQgpLCB7CHsgYW5kIH0IfSAgYXJlCisgICAgICAgICAgICAgIF8IbF8IaV8Ic18IdCBpcyBzaW1wbHkgZXhlY3V0ZWQgaW4gdGhlIGN1cnJlbnQgc2hlbGwgZW52aXJvbm1lbnQuICAgXwhsXwhpXwhzXwh0CisgICAgICAgICAgICAgIG11c3QgIGJlICB0ZXJtaW5hdGVkIHdpdGggYSBuZXdsaW5lIG9yIHNlbWljb2xvbi4gIFRoaXMgaXMga25vd24KKyAgICAgICAgICAgICAgYXMgYSBfCGdfCHJfCG9fCHVfCHAgXwhjXwhvXwhtXwhtXwhhXwhuXwhkLiAgVGhlIHJldHVybiBzdGF0dXMgaXMgIHRoZSAgZXhpdCAgc3RhdHVzICBvZgorICAgICAgICAgICAgICBfCGxfCGlfCHNfCHQuICAgTm90ZSB0aGF0IHVubGlrZSB0aGUgbWV0YWNoYXJhY3RlcnMgKAgoIGFuZCApCCksIHsIeyBhbmQgfQh9IGFyZQogICAgICAgICAgICAgICBfCHJfCGVfCHNfCGVfCHJfCHZfCGVfCGQgXwh3XwhvXwhyXwhkXwhzIGFuZCBtdXN0IG9jY3VyIHdoZXJlIGEgcmVzZXJ2ZWQgd29yZCBpcyBwZXJtaXR0ZWQKLSAgICAgICAgICAgICAgdG8gYmUgcmVjb2duaXplZC4gIFNpbmNlIHRoZXkgZG8gbm90IGNhdXNlIGEgIHdvcmQgIGJyZWFrLCAgdGhleQotICAgICAgICAgICAgICBtdXN0ICBiZSAgc2VwYXJhdGVkICBmcm9tICBfCGxfCGlfCHNfCHQgIGJ5ICB3aGl0ZXNwYWNlIG9yIGFub3RoZXIgc2hlbGwKKyAgICAgICAgICAgICAgdG8gIGJlICByZWNvZ25pemVkLiAgIFNpbmNlIHRoZXkgZG8gbm90IGNhdXNlIGEgd29yZCBicmVhaywgdGhleQorICAgICAgICAgICAgICBtdXN0IGJlIHNlcGFyYXRlZCBmcm9tICBfCGxfCGlfCHNfCHQgIGJ5ICB3aGl0ZXNwYWNlICBvciAgYW5vdGhlciAgc2hlbGwKICAgICAgICAgICAgICAgbWV0YWNoYXJhY3Rlci4KIAogICAgICAgICgoXwhlXwh4XwhwXwhyXwhlXwhzXwhzXwhpXwhvXwhuKSkKLSAgICAgICAgICAgICAgVGhlIF8IZV8IeF8IcF8Icl8IZV8Ic18Ic18IaV8Ib18IbiBpcyBldmFsdWF0ZWQgYWNjb3JkaW5nICB0byAgdGhlICBydWxlcyAgZGVzY3JpYmVkCi0gICAgICAgICAgICAgIGJlbG93ICB1bmRlciBBCEFSCFJJCElUCFRICEhNCE1FCEVUCFRJCElDCEMgRQhFVghWQQhBTAhMVQhVQQhBVAhUSQhJTwhPTghOLiAgSWYgdGhlIHZhbHVlIG9mIHRoZSBleHByZXMtCi0gICAgICAgICAgICAgIHNpb24gaXMgbm9uLXplcm8sIHRoZSByZXR1cm4gc3RhdHVzIGlzIDA7IG90aGVyd2lzZSAgdGhlICByZXR1cm4KKyAgICAgICAgICAgICAgVGhlICBfCGVfCHhfCHBfCHJfCGVfCHNfCHNfCGlfCG9fCG4gIGlzICBldmFsdWF0ZWQgIGFjY29yZGluZyB0byB0aGUgcnVsZXMgZGVzY3JpYmVkCisgICAgICAgICAgICAgIGJlbG93IHVuZGVyIEEIQVIIUkkISVQIVEgISE0ITUUIRVQIVEkISUMIQyBFCEVWCFZBCEFMCExVCFVBCEFUCFRJCElPCE9OCE4uICBJZiB0aGUgdmFsdWUgb2YgdGhlICBleHByZXMtCisgICAgICAgICAgICAgIHNpb24gIGlzICBub24temVybywgdGhlIHJldHVybiBzdGF0dXMgaXMgMDsgb3RoZXJ3aXNlIHRoZSByZXR1cm4KICAgICAgICAgICAgICAgc3RhdHVzIGlzIDEuICBUaGlzIGlzIGV4YWN0bHkgZXF1aXZhbGVudCB0byBsCGxlCGV0CHQgIggiXwhlXwh4XwhwXwhyXwhlXwhzXwhzXwhpXwhvXwhuIggiLgogCiAgICAgICAgWwhbWwhbIF8IZV8IeF8IcF8Icl8IZV8Ic18Ic18IaV8Ib18IbiBdCF1dCF0KLSAgICAgICAgICAgICAgUmV0dXJuICBhICBzdGF0dXMgIG9mICAwIG9yIDEgZGVwZW5kaW5nIG9uIHRoZSBldmFsdWF0aW9uIG9mIHRoZQotICAgICAgICAgICAgICBjb25kaXRpb25hbCBleHByZXNzaW9uIF8IZV8IeF8IcF8Icl8IZV8Ic18Ic18IaV8Ib18Ibi4gIEV4cHJlc3Npb25zIGFyZSBjb21wb3NlZCAgb2YKLSAgICAgICAgICAgICAgdGhlICBwcmltYXJpZXMgIGRlc2NyaWJlZCAgYmVsb3cgIHVuZGVyIEMIQ08IT04ITkQIREkISVQIVEkISU8IT04ITkEIQUwITCBFCEVYCFhQCFBSCFJFCEVTCFNTCFNJCElPCE9OCE5TCFMuCi0gICAgICAgICAgICAgIFdvcmQgc3BsaXR0aW5nIGFuZCBwYXRobmFtZSBleHBhbnNpb24gYXJlIG5vdCBwZXJmb3JtZWQgIG9uICB0aGUKLSAgICAgICAgICAgICAgd29yZHMgIGJldHdlZW4gIHRoZSAgWwhbWwhbICBhbmQgIF0IXV0IXTsgdGlsZGUgZXhwYW5zaW9uLCBwYXJhbWV0ZXIgYW5kCi0gICAgICAgICAgICAgIHZhcmlhYmxlIGV4cGFuc2lvbiwgYXJpdGhtZXRpYyBleHBhbnNpb24sIGNvbW1hbmQgIHN1YnN0aXR1dGlvbiwKLSAgICAgICAgICAgICAgcHJvY2VzcyAgc3Vic3RpdHV0aW9uLCAgYW5kIHF1b3RlIHJlbW92YWwgYXJlIHBlcmZvcm1lZC4gIENvbmRpLQorICAgICAgICAgICAgICBSZXR1cm4gYSBzdGF0dXMgb2YgMCBvciAxIGRlcGVuZGluZyBvbiAgdGhlICBldmFsdWF0aW9uICBvZiAgdGhlCisgICAgICAgICAgICAgIGNvbmRpdGlvbmFsICBleHByZXNzaW9uIF8IZV8IeF8IcF8Icl8IZV8Ic18Ic18IaV8Ib18Ibi4gIEV4cHJlc3Npb25zIGFyZSBjb21wb3NlZCBvZgorICAgICAgICAgICAgICB0aGUgcHJpbWFyaWVzIGRlc2NyaWJlZCAgYmVsb3cgIHVuZGVyICBDCENPCE9OCE5ECERJCElUCFRJCElPCE9OCE5BCEFMCEwgIEUIRVgIWFAIUFIIUkUIRVMIU1MIU0kISU8IT04ITlMIUy4KKyAgICAgICAgICAgICAgV29yZCAgc3BsaXR0aW5nICBhbmQgcGF0aG5hbWUgZXhwYW5zaW9uIGFyZSBub3QgcGVyZm9ybWVkIG9uIHRoZQorICAgICAgICAgICAgICB3b3JkcyBiZXR3ZWVuIHRoZSBbCFtbCFsgYW5kICBdCF1dCF07ICB0aWxkZSAgZXhwYW5zaW9uLCAgcGFyYW1ldGVyICBhbmQKKyAgICAgICAgICAgICAgdmFyaWFibGUgIGV4cGFuc2lvbiwgYXJpdGhtZXRpYyBleHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLAorICAgICAgICAgICAgICBwcm9jZXNzIHN1YnN0aXR1dGlvbiwgYW5kIHF1b3RlIHJlbW92YWwgYXJlICBwZXJmb3JtZWQuICAgQ29uZGktCiAgICAgICAgICAgICAgIHRpb25hbCBvcGVyYXRvcnMgc3VjaCBhcyAtCC1mCGYgbXVzdCBiZSB1bnF1b3RlZCB0byBiZSByZWNvZ25pemVkIGFzCiAgICAgICAgICAgICAgIHByaW1hcmllcy4KIAorICAgICAgICAgICAgICBXaGVuIHVzZWQgd2l0aCBbCFtbCFssIFRoZSA8CDwgYW5kID4IPiBvcGVyYXRvcnMgc29ydCAgbGV4aWNvZ3JhcGhpY2FsbHkKKyAgICAgICAgICAgICAgdXNpbmcgdGhlIGN1cnJlbnQgbG9jYWxlLgorCiAgICAgICAgICAgICAgIFdoZW4gIHRoZSAgPQg9PQg9IGFuZCAhCCE9CD0gb3BlcmF0b3JzIGFyZSB1c2VkLCB0aGUgc3RyaW5nIHRvIHRoZSByaWdodAogICAgICAgICAgICAgICBvZiB0aGUgb3BlcmF0b3IgaXMgY29uc2lkZXJlZCBhIHBhdHRlcm4gYW5kIG1hdGNoZWQgYWNjb3JkaW5nIHRvCiAgICAgICAgICAgICAgIHRoZSAgcnVsZXMgZGVzY3JpYmVkIGJlbG93IHVuZGVyIFAIUGEIYXQIdHQIdGUIZXIIcm4IbiBNCE1hCGF0CHRjCGNoCGhpCGluCG5nCGcuICBJZiB0aGUgc2hlbGwKQEAgLTM4Nyw3ICszOTEsNyBAQAogICAgICAgICAgICAgICBvZiBfCGVfCHhfCHBfCHJfCGVfCHNfCHNfCGlfCG9fCG5fCDEgaXMgc3VmZmljaWVudCB0byBkZXRlcm1pbmUgdGhlICByZXR1cm4gIHZhbHVlICBvZgogICAgICAgICAgICAgICB0aGUgZW50aXJlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uCiAKLSAgICAgICBmCGZvCG9yCHIgXwhuXwhhXwhtXwhlIFsgaQhpbghuIF8Id18Ib18Icl8IZCBdIDsgZAhkbwhvIF8IbF8IaV8Ic18IdCA7IGQIZG8Ib24IbmUIZQorICAgICAgIGYIZm8Ib3IIciBfCG5fCGFfCG1fCGUgWyBbIGkIaW4IbiBbIF8Id18Ib18Icl8IZCBfCC5fCC5fCC4gXSBdIDsgXSBkCGRvCG8gXwhsXwhpXwhzXwh0IDsgZAhkbwhvbghuZQhlCiAgICAgICAgICAgICAgIFRoZSBsaXN0IG9mIHdvcmRzIGZvbGxvd2luZyBpCGluCG4gaXMgZXhwYW5kZWQsIGdlbmVyYXRpbmcgYSBsaXN0IG9mCiAgICAgICAgICAgICAgIGl0ZW1zLiAgVGhlIHZhcmlhYmxlIF8Ibl8IYV8IbV8IZSBpcyBzZXQgdG8gZWFjaCBlbGVtZW50IG9mIHRoaXMgbGlzdCBpbgogICAgICAgICAgICAgICB0dXJuLCAgYW5kICBfCGxfCGlfCHNfCHQgaXMgZXhlY3V0ZWQgZWFjaCB0aW1lLiAgSWYgdGhlIGkIaW4IbiBfCHdfCG9fCHJfCGQgaXMgb21pdC0KQEAgLTU2OCw3ICs1NzIsOCBAQAogICAgICAgIGFzIGZvbGxvd3M6CiAgICAgICAgICAgICAgIFwIXGEIYSAgICAgYWxlcnQgKGJlbGwpCiAgICAgICAgICAgICAgIFwIXGIIYiAgICAgYmFja3NwYWNlCi0gICAgICAgICAgICAgIFwIXGUIZSAgICAgYW4gZXNjYXBlIGNoYXJhY3RlcgorICAgICAgICAgICAgICBcCFxlCGUKKyAgICAgICAgICAgICAgXAhcRQhFICAgICBhbiBlc2NhcGUgY2hhcmFjdGVyCiAgICAgICAgICAgICAgIFwIXGYIZiAgICAgZm9ybSBmZWVkCiAgICAgICAgICAgICAgIFwIXG4IbiAgICAgbmV3IGxpbmUKICAgICAgICAgICAgICAgXAhccghyICAgICBjYXJyaWFnZSByZXR1cm4KQEAgLTU3Niw2ICs1ODEsNyBAQAogICAgICAgICAgICAgICBcCFx2CHYgICAgIHZlcnRpY2FsIHRhYgogICAgICAgICAgICAgICBcCFxcCFwgICAgIGJhY2tzbGFzaAogICAgICAgICAgICAgICBcCFwnCCcgICAgIHNpbmdsZSBxdW90ZQorICAgICAgICAgICAgICBcCFwiCCIgICAgIGRvdWJsZSBxdW90ZQogICAgICAgICAgICAgICBcCFxfCG5fCG5fCG4gICB0aGUgIGVpZ2h0LWJpdCAgY2hhcmFjdGVyICB3aG9zZSB2YWx1ZSBpcyB0aGUgb2N0YWwgdmFsdWUKICAgICAgICAgICAgICAgICAgICAgIF8Ibl8Ibl8IbiAob25lIHRvIHRocmVlIGRpZ2l0cykKICAgICAgICAgICAgICAgXAhceAh4XwhIXwhIICAgdGhlIGVpZ2h0LWJpdCBjaGFyYWN0ZXIgd2hvc2UgdmFsdWUgIGlzICB0aGUgIGhleGFkZWNpbWFsCkBAIC01ODUsMTAgKzU5MSwxMCBAQAogICAgICAgIFRoZSAgZXhwYW5kZWQgIHJlc3VsdCAgaXMgIHNpbmdsZS1xdW90ZWQsIGFzIGlmIHRoZSBkb2xsYXIgc2lnbiBoYWQgbm90CiAgICAgICAgYmVlbiBwcmVzZW50LgogCi0gICAgICAgQSBkb3VibGUtcXVvdGVkIHN0cmluZyBwcmVjZWRlZCBieSBhIGRvbGxhciBzaWduICAoJAgkKSAgd2lsbCAgY2F1c2UgIHRoZQotICAgICAgIHN0cmluZyAgdG8gIGJlIHRyYW5zbGF0ZWQgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IGxvY2FsZS4gIElmIHRoZSBjdXItCi0gICAgICAgcmVudCBsb2NhbGUgaXMgQwhDIG9yIFAIUE8IT1MIU0kISVgIWCwgdGhlIGRvbGxhciBzaWduIGlzIGlnbm9yZWQuICBJZiAgdGhlICBzdHJpbmcKLSAgICAgICBpcyB0cmFuc2xhdGVkIGFuZCByZXBsYWNlZCwgdGhlIHJlcGxhY2VtZW50IGlzIGRvdWJsZS1xdW90ZWQuCisgICAgICAgQSBkb3VibGUtcXVvdGVkIHN0cmluZyBwcmVjZWRlZCBieSBhIGRvbGxhciBzaWduICgkCCQiXwhzXwh0XwhyXwhpXwhuXwhnIikgd2lsbCBjYXVzZQorICAgICAgIHRoZSAgc3RyaW5nICB0byAgYmUgdHJhbnNsYXRlZCBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgbG9jYWxlLiAgSWYgdGhlCisgICAgICAgY3VycmVudCBsb2NhbGUgaXMgQwhDIG9yIFAIUE8IT1MIU0kISVgIWCwgdGhlICBkb2xsYXIgIHNpZ24gIGlzICBpZ25vcmVkLiAgIElmICB0aGUKKyAgICAgICBzdHJpbmcgaXMgdHJhbnNsYXRlZCBhbmQgcmVwbGFjZWQsIHRoZSByZXBsYWNlbWVudCBpcyBkb3VibGUtcXVvdGVkLgogCiBQCFBBCEFSCFJBCEFNCE1FCEVUCFRFCEVSCFJTCFMKICAgICAgICBBICBfCHBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHIgaXMgYW4gZW50aXR5IHRoYXQgc3RvcmVzIHZhbHVlcy4gIEl0IGNhbiBiZSBhIF8Ibl8IYV8IbV8IZSwgYSBudW0tCkBAIC02OTIsNiArNjk4LDE0IEBACiAKICAgICAgICBCCEJBCEFTCFNICEggICBFeHBhbmRzICB0byAgdGhlICBmdWxsIGZpbGUgbmFtZSB1c2VkIHRvIGludm9rZSB0aGlzIGluc3RhbmNlIG9mCiAgICAgICAgICAgICAgIGIIYmEIYXMIc2gIaC4KKyAgICAgICBCCEJBCEFTCFNICEhPCE9QCFBUCFRTCFMKKyAgICAgICAgICAgICAgQSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBlbmFibGVkIHNoZWxsIG9wdGlvbnMuICBFYWNoICB3b3JkICBpbgorICAgICAgICAgICAgICB0aGUgIGxpc3QgIGlzICBhICB2YWxpZCAgYXJndW1lbnQgZm9yIHRoZSAtCC1zCHMgb3B0aW9uIHRvIHRoZSBzCHNoCGhvCG9wCHB0CHQKKyAgICAgICAgICAgICAgYnVpbHRpbiBjb21tYW5kIChzZWUgUwhTSAhIRQhFTAhMTAhMIEIIQlUIVUkISUwITFQIVEkISU4ITiBDCENPCE9NCE1NCE1BCEFOCE5ECERTCFMgYmVsb3cpLiAgVGhlIG9wdGlvbnMKKyAgICAgICAgICAgICAgYXBwZWFyaW5nICBpbiAgQghCQQhBUwhTSAhITwhPUAhQVAhUUwhTICBhcmUgIHRob3NlIHJlcG9ydGVkIGFzIF8Ib18IbiBieSBzCHNoCGhvCG9wCHB0CHQuICBJZgorICAgICAgICAgICAgICB0aGlzIHZhcmlhYmxlIGlzIGluIHRoZSBlbnZpcm9ubWVudCB3aGVuIGIIYmEIYXMIc2gIaCAgc3RhcnRzICB1cCwgIGVhY2gKKyAgICAgICAgICAgICAgc2hlbGwgIG9wdGlvbiAgaW4gIHRoZSAgbGlzdCAgd2lsbCBiZSBlbmFibGVkIGJlZm9yZSByZWFkaW5nIGFueQorICAgICAgICAgICAgICBzdGFydHVwIGZpbGVzLiAgVGhpcyB2YXJpYWJsZSBpcyByZWFkLW9ubHkuCiAgICAgICAgQghCQQhBUwhTSAhIUAhQSQhJRAhECiAgICAgICAgICAgICAgIEV4cGFuZHMgdG8gdGhlIHByb2Nlc3MgaWQgb2YgdGhlICBjdXJyZW50ICBiCGJhCGFzCHNoCGggIHByb2Nlc3MuICAgVGhpcwogICAgICAgICAgICAgICBkaWZmZXJzICBmcm9tICAkCCQkCCQgdW5kZXIgY2VydGFpbiBjaXJjdW1zdGFuY2VzLCBzdWNoIGFzIHN1YnNoZWxscwpAQCAtNzM4LDggKzc1Miw4IEBACiAgICAgICAgICAgICAgICQIJHsIe0IIQkEIQVMIU0gISF8IX0wITEkISU4ITkUIRU4ITk8IT1sIW18IJF8IaV0IXX0IfSAgaXMgIHRoZSBsaW5lIG51bWJlciBpbiB0aGUgc291cmNlIGZpbGUgd2hlcmUKICAgICAgICAgICAgICAgJAgkewh7RghGVQhVTghOQwhDTghOQQhBTQhNRQhFWwhbXwgkXwhpXQhdfQh9IHdhcyBjYWxsZWQgKG9yICAkCCR7CHtCCEJBCEFTCFNICEhfCF9MCExJCElOCE5FCEVOCE5PCE9bCFtfCCRfCGlfCC1fCDFdCF19CH0gIGlmICByZWZlci0KICAgICAgICAgICAgICAgZW5jZWQgIHdpdGhpbiBhbm90aGVyIHNoZWxsIGZ1bmN0aW9uKS4gIFRoZSBjb3JyZXNwb25kaW5nIHNvdXJjZQotICAgICAgICAgICAgICBmaWxlIG5hbWUgaXMgJAgkewh7QghCQQhBUwhTSAhIXwhfUwhTTwhPVQhVUghSQwhDRQhFWwhbXwgkXwhpXQhdfQh9LgguICBVCFVzCHNlCGUgTAhMSQhJTghORQhFTghOTwhPIHQIdG8IbyBvCG9iCGJ0CHRhCGFpCGluCG4gdAh0aAhoZQhlICBjCGN1CHVyCHItCC0KLSAgICAgICAgICAgICAgcghyZQhlbghudAh0IGwIbGkIaW4IbmUIZSBuCG51CHVtCG1iCGJlCGVyCHIuCC4KKyAgICAgICAgICAgICAgZmlsZSBuYW1lIGlzICQIJHsIe0IIQkEIQVMIU0gISF8IX1MIU08IT1UIVVIIUkMIQ0UIRVsIW18IJF8IaV0IXX0IfS4gIFVzZSBMCExJCElOCE5FCEVOCE5PCE8gdG8gb2J0YWluIHRoZSAgY3VyLQorICAgICAgICAgICAgICByZW50IGxpbmUgbnVtYmVyLgogICAgICAgIEIIQkEIQVMIU0gISF8IX1IIUkUIRU0ITUEIQVQIVEMIQ0gISAogICAgICAgICAgICAgICBBbiAgYXJyYXkgIHZhcmlhYmxlICB3aG9zZSBtZW1iZXJzIGFyZSBhc3NpZ25lZCBieSB0aGUgPQg9fgh+IGJpbmFyeQogICAgICAgICAgICAgICBvcGVyYXRvciB0byB0aGUgWwhbWwhbIGNvbmRpdGlvbmFsIGNvbW1hbmQuICBUaGUgZWxlbWVudCB3aXRoICBpbmRleApAQCAtODA1LDE4ICs4MTksMTggQEAKICAgICAgICAgICAgICAgYmVsb3cpLgogCiAgICAgICAgQwhDTwhPTQhNUAhQXwhfVwhXTwhPUghSRAhEQghCUghSRQhFQQhBSwhLUwhTCi0gICAgICAgICAgICAgIFRoZSBzZXQgb2YgY2hhcmFjdGVycyB0aGF0IHRoZSBSZWFkbGluZSBsaWJyYXJ5IHRyZWF0cyAgYXMgIHdvcmQKKyAgICAgICAgICAgICAgVGhlIHNldCBvZiBjaGFyYWN0ZXJzIHRoYXQgdGhlIHIIcmUIZWEIYWQIZGwIbGkIaW4IbmUIZSBsaWJyYXJ5IHRyZWF0cyAgYXMgIHdvcmQKICAgICAgICAgICAgICAgc2VwYXJhdG9ycyAgd2hlbiBwZXJmb3JtaW5nIHdvcmQgY29tcGxldGlvbi4gIElmIEMIQ08IT00ITVAIUF8IX1cIV08IT1IIUkQIREIIQlIIUkUIRUEIQUsIS1MIUwogICAgICAgICAgICAgICBpcyB1bnNldCwgaXQgbG9zZXMgaXRzIHNwZWNpYWwgcHJvcGVydGllcywgZXZlbiBpZiBpdCBpcyAgc3Vic2UtCiAgICAgICAgICAgICAgIHF1ZW50bHkgcmVzZXQuCiAKICAgICAgICBDCENPCE9NCE1QCFBfCF9XCFdPCE9SCFJECERTCFMKICAgICAgICAgICAgICAgQW4gIGFycmF5IHZhcmlhYmxlIChzZWUgQQhBcghycghyYQhheQh5cwhzIGJlbG93KSBjb25zaXN0aW5nIG9mIHRoZSBpbmRpdmlkLQotICAgICAgICAgICAgICB1YWwgd29yZHMgaW4gdGhlIGN1cnJlbnQgY29tbWFuZCBsaW5lLiAgVGhlIHdvcmRzIGFyZSAgc3BsaXQgIG9uCi0gICAgICAgICAgICAgIHNoZWxsICBtZXRhY2hhcmFjdGVycyAgYXMgIHRoZSBzaGVsbCBwYXJzZXIgd291bGQgc2VwYXJhdGUgdGhlbS4KLSAgICAgICAgICAgICAgVGhpcyB2YXJpYWJsZSBpcyBhdmFpbGFibGUgb25seSBpbiBzaGVsbCAgZnVuY3Rpb25zICBpbnZva2VkICBieQotICAgICAgICAgICAgICB0aGUgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZmFjaWxpdGllcyAoc2VlIFAIUHIIcm8Ib2cIZ3IIcmEIYW0IbW0IbWEIYWIIYmwIbGUIZSBDCENvCG9tCG1wCHBsCGxlCGUtCC0KLSAgICAgICAgICAgICAgdAh0aQhpbwhvbghuIGJlbG93KS4KKyAgICAgICAgICAgICAgdWFsIHdvcmRzIGluIHRoZSBjdXJyZW50IGNvbW1hbmQgbGluZS4gIFRoZSBsaW5lIGlzICBzcGxpdCAgaW50bworICAgICAgICAgICAgICB3b3JkcyAgYXMgIHIIcmUIZWEIYWQIZGwIbGkIaW4IbmUIZSAgd291bGQgIHNwbGl0ICBpdCwgIHVzaW5nIEMIQ08IT00ITVAIUF8IX1cIV08IT1IIUkQIREIIQlIIUkUIRUEIQUsIS1MIUyBhcworICAgICAgICAgICAgICBkZXNjcmliZWQgYWJvdmUuICBUaGlzIHZhcmlhYmxlIGlzIGF2YWlsYWJsZSBvbmx5IGluIHNoZWxsIGZ1bmMtCisgICAgICAgICAgICAgIHRpb25zICBpbnZva2VkICBieSAgdGhlICBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmYWNpbGl0aWVzIChzZWUKKyAgICAgICAgICAgICAgUAhQcghybwhvZwhncghyYQhhbQhtbQhtYQhhYghibAhsZQhlIEMIQ28Ib20IbXAIcGwIbGUIZXQIdGkIaW8Ib24IbiBiZWxvdykuCiAKICAgICAgICBECERJCElSCFJTCFNUCFRBCEFDCENLCEsKICAgICAgICAgICAgICAgQW4gYXJyYXkgdmFyaWFibGUgKHNlZSBBCEFyCHJyCHJhCGF5CHlzCHMgYmVsb3cpIGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQgY29uLQpAQCAtOTM4LDE5NSArOTUyLDIwNCBAQAogICAgICAgICAgICAgICBsaXN0ICBvZiAgZGlyZWN0b3JpZXMgIGluICB3aGljaCB0aGUgc2hlbGwgbG9va3MgZm9yIGRlc3RpbmF0aW9uCiAgICAgICAgICAgICAgIGRpcmVjdG9yaWVzIHNwZWNpZmllZCBieSB0aGUgYwhjZAhkICBjb21tYW5kLiAgIEEgIHNhbXBsZSAgdmFsdWUgIGlzCiAgICAgICAgICAgICAgICIuOn46L3VzciIuCisgICAgICAgQghCQQhBUwhTSAhIXwhfWAhYVAhUUghSQQhBQwhDRQhFRghGRAhECisgICAgICAgICAgICAgIElmICBzZXQgIHRvIGFuIGludGVnZXIgY29ycmVzcG9uZGluZyB0byBhIHZhbGlkIGZpbGUgZGVzY3JpcHRvciwKKyAgICAgICAgICAgICAgYghiYQhhcwhzaAhoIHdpbGwgd3JpdGUgdGhlICB0cmFjZSAgb3V0cHV0ICBnZW5lcmF0ZWQgIHdoZW4gIF8Ic18IZV8IdCAgXwgtXwh4ICBpcworICAgICAgICAgICAgICBlbmFibGVkICB0byB0aGF0IGZpbGUgZGVzY3JpcHRvci4gIFRoZSBmaWxlIGRlc2NyaXB0b3IgaXMgY2xvc2VkCisgICAgICAgICAgICAgIHdoZW4gQghCQQhBUwhTSAhIXwhfWAhYVAhUUghSQQhBQwhDRQhFRghGRAhEIGlzIHVuc2V0IG9yIGFzc2lnbmVkIGEgbmV3IHZhbHVlLiAgIFVuc2V0dGluZworICAgICAgICAgICAgICBCCEJBCEFTCFNICEhfCF9YCFhUCFRSCFJBCEFDCENFCEVGCEZECEQgIG9yIGFzc2lnbmluZyBpdCB0aGUgZW1wdHkgc3RyaW5nIGNhdXNlcyB0aGUgdHJhY2UKKyAgICAgICAgICAgICAgb3V0cHV0IHRvIGJlIHNlbnQgdG8gdGhlICBzdGFuZGFyZCAgZXJyb3IuICAgTm90ZSAgdGhhdCAgc2V0dGluZworICAgICAgICAgICAgICBCCEJBCEFTCFNICEhfCF9YCFhUCFRSCFJBCEFDCENFCEVGCEZECEQgdG8gMiAodGhlIHN0YW5kYXJkIGVycm9yIGZpbGUgZGVzY3JpcHRvcikgYW5kIHRoZW4KKyAgICAgICAgICAgICAgdW5zZXR0aW5nIGl0IHdpbGwgcmVzdWx0IGluIHRoZSBzdGFuZGFyZCBlcnJvciBiZWluZyBjbG9zZWQuCiAgICAgICAgQwhDTwhPTAhMVQhVTQhNTghOUwhTCi0gICAgICAgICAgICAgIFVzZWQgIGJ5ICB0aGUgIHMIc2UIZWwIbGUIZWMIY3QIdCAgYnVpbHRpbiBjb21tYW5kIHRvIGRldGVybWluZSB0aGUgdGVybWluYWwKLSAgICAgICAgICAgICAgd2lkdGggd2hlbiBwcmludGluZyBzZWxlY3Rpb24gIGxpc3RzLiAgIEF1dG9tYXRpY2FsbHkgIHNldCAgdXBvbgorICAgICAgICAgICAgICBVc2VkIGJ5IHRoZSBzCHNlCGVsCGxlCGVjCGN0CHQgYnVpbHRpbiBjb21tYW5kICB0byAgZGV0ZXJtaW5lICB0aGUgIHRlcm1pbmFsCisgICAgICAgICAgICAgIHdpZHRoICB3aGVuICBwcmludGluZyAgc2VsZWN0aW9uICBsaXN0cy4gIEF1dG9tYXRpY2FsbHkgc2V0IHVwb24KICAgICAgICAgICAgICAgcmVjZWlwdCBvZiBhIFNJR1dJTkNILgogICAgICAgIEMIQ08IT00ITVAIUFIIUkUIRVAIUEwITFkIWQogICAgICAgICAgICAgICBBbiBhcnJheSB2YXJpYWJsZSBmcm9tIHdoaWNoIGIIYmEIYXMIc2gIaCByZWFkcyB0aGUgcG9zc2libGUgY29tcGxldGlvbnMKLSAgICAgICAgICAgICAgZ2VuZXJhdGVkIGJ5IGEgc2hlbGwgZnVuY3Rpb24gaW52b2tlZCBieSB0aGUgIHByb2dyYW1tYWJsZSAgY29tLQorICAgICAgICAgICAgICBnZW5lcmF0ZWQgIGJ5ICBhIHNoZWxsIGZ1bmN0aW9uIGludm9rZWQgYnkgdGhlIHByb2dyYW1tYWJsZSBjb20tCiAgICAgICAgICAgICAgIHBsZXRpb24gZmFjaWxpdHkgKHNlZSBQCFByCHJvCG9nCGdyCHJhCGFtCG1tCG1hCGFiCGJsCGxlCGUgQwhDbwhvbQhtcAhwbAhsZQhldAh0aQhpbwhvbghuIGJlbG93KS4KLSAgICAgICBFCEVNCE1BCEFDCENTCFMgIElmICBiCGJhCGFzCHNoCGggIGZpbmRzICB0aGlzIHZhcmlhYmxlIGluIHRoZSBlbnZpcm9ubWVudCB3aGVuIHRoZSBzaGVsbAotICAgICAgICAgICAgICBzdGFydHMgd2l0aCB2YWx1ZSAidCIsIGl0IGFzc3VtZXMgdGhhdCB0aGUgc2hlbGwgaXMgIHJ1bm5pbmcgIGluCisgICAgICAgRQhFTQhNQQhBQwhDUwhTICBJZiBiCGJhCGFzCHNoCGggZmluZHMgdGhpcyB2YXJpYWJsZSBpbiB0aGUgZW52aXJvbm1lbnQgIHdoZW4gIHRoZSAgc2hlbGwKKyAgICAgICAgICAgICAgc3RhcnRzICB3aXRoICB2YWx1ZSAidCIsIGl0IGFzc3VtZXMgdGhhdCB0aGUgc2hlbGwgaXMgcnVubmluZyBpbgogICAgICAgICAgICAgICBhbiBlbWFjcyBzaGVsbCBidWZmZXIgYW5kIGRpc2FibGVzIGxpbmUgZWRpdGluZy4KICAgICAgICBGCEZDCENFCEVECERJCElUCFQgVGhlIGRlZmF1bHQgZWRpdG9yIGZvciB0aGUgZghmYwhjIGJ1aWx0aW4gY29tbWFuZC4KICAgICAgICBGCEZJCElHCEdOCE5PCE9SCFJFCEUKLSAgICAgICAgICAgICAgQSAgY29sb24tc2VwYXJhdGVkICBsaXN0ICBvZiAgc3VmZml4ZXMgdG8gaWdub3JlIHdoZW4gcGVyZm9ybWluZworICAgICAgICAgICAgICBBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIHN1ZmZpeGVzICB0byAgaWdub3JlICB3aGVuICBwZXJmb3JtaW5nCiAgICAgICAgICAgICAgIGZpbGVuYW1lIGNvbXBsZXRpb24gKHNlZSBSCFJFCEVBCEFECERMCExJCElOCE5FCEUgYmVsb3cpLiAgQSBmaWxlbmFtZSB3aG9zZSBzdWYtCi0gICAgICAgICAgICAgIGZpeCAgbWF0Y2hlcyAgb25lIG9mIHRoZSBlbnRyaWVzIGluIEYIRkkISUcIR04ITk8IT1IIUkUIRSBpcyBleGNsdWRlZCBmcm9tIHRoZQorICAgICAgICAgICAgICBmaXggbWF0Y2hlcyBvbmUgb2YgdGhlIGVudHJpZXMgaW4gRghGSQhJRwhHTghOTwhPUghSRQhFIGlzIGV4Y2x1ZGVkICBmcm9tICB0aGUKICAgICAgICAgICAgICAgbGlzdCBvZiBtYXRjaGVkIGZpbGVuYW1lcy4gIEEgc2FtcGxlIHZhbHVlIGlzICIubzp+Ii4KICAgICAgICBHCEdMCExPCE9CCEJJCElHCEdOCE5PCE9SCFJFCEUKICAgICAgICAgICAgICAgQSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBwYXR0ZXJucyBkZWZpbmluZyB0aGUgc2V0IG9mIGZpbGVuYW1lcwogICAgICAgICAgICAgICB0byBiZSBpZ25vcmVkIGJ5IHBhdGhuYW1lIGV4cGFuc2lvbi4gIElmIGEgZmlsZW5hbWUgbWF0Y2hlZCBieSBhCi0gICAgICAgICAgICAgIHBhdGhuYW1lIGV4cGFuc2lvbiBwYXR0ZXJuIGFsc28gbWF0Y2hlcyBvbmUgb2YgdGhlICBwYXR0ZXJucyAgaW4KKyAgICAgICAgICAgICAgcGF0aG5hbWUgIGV4cGFuc2lvbiAgcGF0dGVybiBhbHNvIG1hdGNoZXMgb25lIG9mIHRoZSBwYXR0ZXJucyBpbgogICAgICAgICAgICAgICBHCEdMCExPCE9CCEJJCElHCEdOCE5PCE9SCFJFCEUsIGl0IGlzIHJlbW92ZWQgZnJvbSB0aGUgbGlzdCBvZiBtYXRjaGVzLgogICAgICAgIEgISEkISVMIU1QIVEMIQ08IT04ITlQIVFIIUk8IT0wITAotICAgICAgICAgICAgICBBICBjb2xvbi1zZXBhcmF0ZWQgIGxpc3QgIG9mIHZhbHVlcyBjb250cm9sbGluZyBob3cgY29tbWFuZHMgYXJlCi0gICAgICAgICAgICAgIHNhdmVkIG9uIHRoZSBoaXN0b3J5IGxpc3QuICAgSWYgIHRoZSAgbGlzdCAgb2YgIHZhbHVlcyAgaW5jbHVkZXMKLSAgICAgICAgICAgICAgXwhpXwhnXwhuXwhvXwhyXwhlXwhzXwhwXwhhXwhjXwhlLCAgbGluZXMgIHdoaWNoICBiZWdpbiB3aXRoIGEgcwhzcAhwYQhhYwhjZQhlIGNoYXJhY3RlciBhcmUgbm90Ci0gICAgICAgICAgICAgIHNhdmVkIGluIHRoZSBoaXN0b3J5IGxpc3QuICBBIHZhbHVlIG9mIF8IaV8IZ18Ibl8Ib18Icl8IZV8IZF8IdV8IcF8IcyAgY2F1c2VzICBsaW5lcworICAgICAgICAgICAgICBBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIHZhbHVlcyBjb250cm9sbGluZyAgaG93ICBjb21tYW5kcyAgYXJlCisgICAgICAgICAgICAgIHNhdmVkICBvbiAgdGhlICBoaXN0b3J5ICBsaXN0LiAgIElmICB0aGUgbGlzdCBvZiB2YWx1ZXMgaW5jbHVkZXMKKyAgICAgICAgICAgICAgXwhpXwhnXwhuXwhvXwhyXwhlXwhzXwhwXwhhXwhjXwhlLCBsaW5lcyB3aGljaCBiZWdpbiB3aXRoIGEgcwhzcAhwYQhhYwhjZQhlICBjaGFyYWN0ZXIgIGFyZSAgbm90CisgICAgICAgICAgICAgIHNhdmVkICBpbiAgdGhlIGhpc3RvcnkgbGlzdC4gIEEgdmFsdWUgb2YgXwhpXwhnXwhuXwhvXwhyXwhlXwhkXwh1XwhwXwhzIGNhdXNlcyBsaW5lcwogICAgICAgICAgICAgICBtYXRjaGluZyB0aGUgcHJldmlvdXMgaGlzdG9yeSBlbnRyeSB0byBub3QgYmUgc2F2ZWQuICBBIHZhbHVlIG9mCiAgICAgICAgICAgICAgIF8IaV8IZ18Ibl8Ib18Icl8IZV8IYl8Ib18IdF8IaCBpcyBzaG9ydGhhbmQgZm9yIF8IaV8IZ18Ibl8Ib18Icl8IZV8Ic18IcF8IYV8IY18IZSBhbmQgXwhpXwhnXwhuXwhvXwhyXwhlXwhkXwh1XwhwXwhzLiAgQSB2YWx1ZQogICAgICAgICAgICAgICBvZiBfCGVfCHJfCGFfCHNfCGVfCGRfCHVfCHBfCHMgY2F1c2VzIGFsbCBwcmV2aW91cyBsaW5lcyBtYXRjaGluZyB0aGUgY3VycmVudCBsaW5lCi0gICAgICAgICAgICAgIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgaGlzdG9yeSBsaXN0IGJlZm9yZSB0aGF0IGxpbmUgIGlzICBzYXZlZC4KLSAgICAgICAgICAgICAgQW55ICB2YWx1ZSAgbm90IGluIHRoZSBhYm92ZSBsaXN0IGlzIGlnbm9yZWQuICBJZiBICEhJCElTCFNUCFRDCENPCE9OCE5UCFRSCFJPCE9MCEwgaXMKLSAgICAgICAgICAgICAgdW5zZXQsIG9yIGRvZXMgbm90IGluY2x1ZGUgYSB2YWxpZCB2YWx1ZSwgYWxsIGxpbmVzIHJlYWQgYnkgIHRoZQorICAgICAgICAgICAgICB0byAgYmUgIHJlbW92ZWQgZnJvbSB0aGUgaGlzdG9yeSBsaXN0IGJlZm9yZSB0aGF0IGxpbmUgaXMgc2F2ZWQuCisgICAgICAgICAgICAgIEFueSB2YWx1ZSBub3QgaW4gdGhlIGFib3ZlIGxpc3QgaXMgaWdub3JlZC4gIElmICBICEhJCElTCFNUCFRDCENPCE9OCE5UCFRSCFJPCE9MCEwgIGlzCisgICAgICAgICAgICAgIHVuc2V0LCAgb3IgZG9lcyBub3QgaW5jbHVkZSBhIHZhbGlkIHZhbHVlLCBhbGwgbGluZXMgcmVhZCBieSB0aGUKICAgICAgICAgICAgICAgc2hlbGwgcGFyc2VyIGFyZSBzYXZlZCBvbiB0aGUgaGlzdG9yeSBsaXN0LCBzdWJqZWN0IHRvIHRoZSB2YWx1ZQotICAgICAgICAgICAgICBvZiBICEhJCElTCFNUCFRJCElHCEdOCE5PCE9SCFJFCEUuICBUaGUgc2Vjb25kIGFuZCBzdWJzZXF1ZW50IGxpbmVzIG9mIGEgIG11bHRpLWxpbmUKLSAgICAgICAgICAgICAgY29tcG91bmQgIGNvbW1hbmQgIGFyZSAgbm90IHRlc3RlZCwgYW5kIGFyZSBhZGRlZCB0byB0aGUgaGlzdG9yeQorICAgICAgICAgICAgICBvZiAgSAhISQhJUwhTVAhUSQhJRwhHTghOTwhPUghSRQhFLiAgVGhlIHNlY29uZCBhbmQgc3Vic2VxdWVudCBsaW5lcyBvZiBhIG11bHRpLWxpbmUKKyAgICAgICAgICAgICAgY29tcG91bmQgY29tbWFuZCBhcmUgbm90IHRlc3RlZCwgYW5kIGFyZSBhZGRlZCAgdG8gIHRoZSAgaGlzdG9yeQogICAgICAgICAgICAgICByZWdhcmRsZXNzIG9mIHRoZSB2YWx1ZSBvZiBICEhJCElTCFNUCFRDCENPCE9OCE5UCFRSCFJPCE9MCEwuCiAgICAgICAgSAhISQhJUwhTVAhURghGSQhJTAhMRQhFCiAgICAgICAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSBmaWxlIGluIHdoaWNoIGNvbW1hbmQgaGlzdG9yeSBpcyBzYXZlZCAoc2VlIEgISEkISVMIUy0ILQotICAgICAgICAgICAgICBUCFRPCE9SCFJZCFkgIGJlbG93KS4gICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBfCH5fCC9fCC5fCGJfCGFfCHNfCGhfCF9fCGhfCGlfCHNfCHRfCG9fCHJfCHkuICBJZiB1bnNldCwKLSAgICAgICAgICAgICAgdGhlIGNvbW1hbmQgaGlzdG9yeSBpcyAgbm90ICBzYXZlZCAgd2hlbiAgYW4gIGludGVyYWN0aXZlICBzaGVsbAorICAgICAgICAgICAgICBUCFRPCE9SCFJZCFkgYmVsb3cpLiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgXwh+XwgvXwguXwhiXwhhXwhzXwhoXwhfXwhoXwhpXwhzXwh0XwhvXwhyXwh5LiAgIElmICB1bnNldCwKKyAgICAgICAgICAgICAgdGhlICBjb21tYW5kICBoaXN0b3J5ICBpcyAgbm90ICBzYXZlZCAgd2hlbiBhbiBpbnRlcmFjdGl2ZSBzaGVsbAogICAgICAgICAgICAgICBleGl0cy4KICAgICAgICBICEhJCElTCFNUCFRGCEZJCElMCExFCEVTCFNJCElaCFpFCEUKICAgICAgICAgICAgICAgVGhlIG1heGltdW0gbnVtYmVyIG9mIGxpbmVzIGNvbnRhaW5lZCBpbiB0aGUgaGlzdG9yeSBmaWxlLiAgV2hlbgotICAgICAgICAgICAgICB0aGlzIHZhcmlhYmxlIGlzIGFzc2lnbmVkIGEgdmFsdWUsIHRoZSAgaGlzdG9yeSAgZmlsZSAgaXMgIHRydW4tCi0gICAgICAgICAgICAgIGNhdGVkLCAgaWYgbmVjZXNzYXJ5LCBieSByZW1vdmluZyB0aGUgb2xkZXN0IGVudHJpZXMsIHRvIGNvbnRhaW4KLSAgICAgICAgICAgICAgbm8gbW9yZSB0aGFuIHRoYXQgbnVtYmVyIG9mIGxpbmVzLiAgVGhlIGRlZmF1bHQgIHZhbHVlICBpcyAgNTAwLgorICAgICAgICAgICAgICB0aGlzICB2YXJpYWJsZSAgaXMgIGFzc2lnbmVkICBhIHZhbHVlLCB0aGUgaGlzdG9yeSBmaWxlIGlzIHRydW4tCisgICAgICAgICAgICAgIGNhdGVkLCBpZiBuZWNlc3NhcnksIGJ5IHJlbW92aW5nIHRoZSBvbGRlc3QgZW50cmllcywgdG8gIGNvbnRhaW4KKyAgICAgICAgICAgICAgbm8gIG1vcmUgIHRoYW4gIHRoYXQgbnVtYmVyIG9mIGxpbmVzLiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgNTAwLgogICAgICAgICAgICAgICBUaGUgaGlzdG9yeSBmaWxlIGlzIGFsc28gdHJ1bmNhdGVkIHRvIHRoaXMgc2l6ZSBhZnRlciB3cml0aW5nIGl0CiAgICAgICAgICAgICAgIHdoZW4gYW4gaW50ZXJhY3RpdmUgc2hlbGwgZXhpdHMuCiAgICAgICAgSAhISQhJUwhTVAhUSQhJRwhHTghOTwhPUghSRQhFCi0gICAgICAgICAgICAgIEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgcGF0dGVybnMgdXNlZCB0byBkZWNpZGUgd2hpY2ggIGNvbW1hbmQKLSAgICAgICAgICAgICAgbGluZXMgIHNob3VsZCAgYmUgIHNhdmVkICBvbiAgdGhlIGhpc3RvcnkgbGlzdC4gIEVhY2ggcGF0dGVybiBpcwotICAgICAgICAgICAgICBhbmNob3JlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaW5lIGFuZCBtdXN0ICBtYXRjaCAgdGhlICBjb20tCi0gICAgICAgICAgICAgIHBsZXRlICBsaW5lICAobm8gIGltcGxpY2l0ICBgKggqJyAgaXMgIGFwcGVuZGVkKS4gIEVhY2ggcGF0dGVybiBpcwotICAgICAgICAgICAgICB0ZXN0ZWQgYWdhaW5zdCB0aGUgbGluZSBhZnRlciB0aGUgY2hlY2tzIHNwZWNpZmllZCAgYnkgIEgISEkISVMIU1QIVEMIQ08IT04ITi0ILQotICAgICAgICAgICAgICBUCFRSCFJPCE9MCEwgIGFyZSAgYXBwbGllZC4gICBJbiAgYWRkaXRpb24gIHRvICB0aGUgbm9ybWFsIHNoZWxsIHBhdHRlcm4KKyAgICAgICAgICAgICAgQSAgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgcGF0dGVybnMgdXNlZCB0byBkZWNpZGUgd2hpY2ggY29tbWFuZAorICAgICAgICAgICAgICBsaW5lcyBzaG91bGQgYmUgc2F2ZWQgb24gdGhlICBoaXN0b3J5ICBsaXN0LiAgIEVhY2ggIHBhdHRlcm4gIGlzCisgICAgICAgICAgICAgIGFuY2hvcmVkICBhdCAgdGhlICBiZWdpbm5pbmcgb2YgdGhlIGxpbmUgYW5kIG11c3QgbWF0Y2ggdGhlIGNvbS0KKyAgICAgICAgICAgICAgcGxldGUgbGluZSAobm8gaW1wbGljaXQgIGAqCConICBpcyAgYXBwZW5kZWQpLiAgIEVhY2ggIHBhdHRlcm4gIGlzCisgICAgICAgICAgICAgIHRlc3RlZCAgYWdhaW5zdCAgdGhlIGxpbmUgYWZ0ZXIgdGhlIGNoZWNrcyBzcGVjaWZpZWQgYnkgSAhISQhJUwhTVAhUQwhDTwhPTghOLQgtCisgICAgICAgICAgICAgIFQIVFIIUk8IT0wITCBhcmUgYXBwbGllZC4gIEluICBhZGRpdGlvbiAgdG8gIHRoZSAgbm9ybWFsICBzaGVsbCAgcGF0dGVybgogICAgICAgICAgICAgICBtYXRjaGluZyBjaGFyYWN0ZXJzLCBgJggmJyBtYXRjaGVzIHRoZSBwcmV2aW91cyBoaXN0b3J5IGxpbmUuICBgJggmJwotICAgICAgICAgICAgICBtYXkgIGJlICBlc2NhcGVkICB1c2luZyAgYSAgYmFja3NsYXNoOyAgdGhlIGJhY2tzbGFzaCBpcyByZW1vdmVkCisgICAgICAgICAgICAgIG1heSBiZSBlc2NhcGVkIHVzaW5nICBhICBiYWNrc2xhc2g7ICB0aGUgIGJhY2tzbGFzaCAgaXMgIHJlbW92ZWQKICAgICAgICAgICAgICAgYmVmb3JlIGF0dGVtcHRpbmcgYSBtYXRjaC4gIFRoZSBzZWNvbmQgYW5kIHN1YnNlcXVlbnQgbGluZXMgb2YgYQogICAgICAgICAgICAgICBtdWx0aS1saW5lIGNvbXBvdW5kIGNvbW1hbmQgYXJlIG5vdCB0ZXN0ZWQsIGFuZCBhcmUgYWRkZWQgdG8gdGhlCiAgICAgICAgICAgICAgIGhpc3RvcnkgcmVnYXJkbGVzcyBvZiB0aGUgdmFsdWUgb2YgSAhISQhJUwhTVAhUSQhJRwhHTghOTwhPUghSRQhFLgogICAgICAgIEgISEkISVMIU1QIVFMIU0kISVoIWkUIRQotICAgICAgICAgICAgICBUaGUgbnVtYmVyIG9mIGNvbW1hbmRzIHRvIHJlbWVtYmVyIGluIHRoZSBjb21tYW5kICBoaXN0b3J5ICAoc2VlCisgICAgICAgICAgICAgIFRoZSAgbnVtYmVyICBvZiBjb21tYW5kcyB0byByZW1lbWJlciBpbiB0aGUgY29tbWFuZCBoaXN0b3J5IChzZWUKICAgICAgICAgICAgICAgSAhISQhJUwhTVAhUTwhPUghSWQhZIGJlbG93KS4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDUwMC4KICAgICAgICBICEhJCElTCFNUCFRUCFRJCElNCE1FCEVGCEZPCE9SCFJNCE1BCEFUCFQKLSAgICAgICAgICAgICAgSWYgIHRoaXMgIHZhcmlhYmxlICBpcyAgc2V0IGFuZCBub3QgbnVsbCwgaXRzIHZhbHVlIGlzIHVzZWQgYXMgYQorICAgICAgICAgICAgICBJZiB0aGlzIHZhcmlhYmxlIGlzIHNldCBhbmQgbm90IG51bGwsIGl0cyB2YWx1ZSAgaXMgIHVzZWQgIGFzICBhCiAgICAgICAgICAgICAgIGZvcm1hdCBzdHJpbmcgZm9yIF8Ic18IdF8Icl8IZl8IdF8IaV8IbV8IZSgzKSB0byBwcmludCB0aGUgdGltZSBzdGFtcCBhc3NvY2lhdGVkCi0gICAgICAgICAgICAgIHdpdGggIGVhY2ggIGhpc3RvcnkgIGVudHJ5IGRpc3BsYXllZCBieSB0aGUgaAhoaQhpcwhzdAh0bwhvcghyeQh5IGJ1aWx0aW4uICBJZgotICAgICAgICAgICAgICB0aGlzIHZhcmlhYmxlIGlzIHNldCwgdGltZSBzdGFtcHMgYXJlICB3cml0dGVuICB0byAgdGhlICBoaXN0b3J5Ci0gICAgICAgICAgICAgIGZpbGUgIHNvIHRoZXkgbWF5IGJlIHByZXNlcnZlZCBhY3Jvc3Mgc2hlbGwgc2Vzc2lvbnMuICBUaGlzIHVzZXMKLSAgICAgICAgICAgICAgdGhlIGhpc3RvcnkgY29tbWVudCBjaGFyYWN0ZXIgIHRvICBkaXN0aW5ndWlzaCAgdGltZXN0YW1wcyAgZnJvbQorICAgICAgICAgICAgICB3aXRoIGVhY2ggaGlzdG9yeSBlbnRyeSBkaXNwbGF5ZWQgYnkgdGhlICBoCGhpCGlzCHN0CHRvCG9yCHJ5CHkgIGJ1aWx0aW4uICAgSWYKKyAgICAgICAgICAgICAgdGhpcyAgdmFyaWFibGUgIGlzICBzZXQsICB0aW1lIHN0YW1wcyBhcmUgd3JpdHRlbiB0byB0aGUgaGlzdG9yeQorICAgICAgICAgICAgICBmaWxlIHNvIHRoZXkgbWF5IGJlIHByZXNlcnZlZCBhY3Jvc3Mgc2hlbGwgc2Vzc2lvbnMuICBUaGlzICB1c2VzCisgICAgICAgICAgICAgIHRoZSAgaGlzdG9yeSAgY29tbWVudCAgY2hhcmFjdGVyICB0byBkaXN0aW5ndWlzaCB0aW1lc3RhbXBzIGZyb20KICAgICAgICAgICAgICAgb3RoZXIgaGlzdG9yeSBsaW5lcy4KICAgICAgICBICEhPCE9NCE1FCEUgICBUaGUgaG9tZSBkaXJlY3Rvcnkgb2YgdGhlIGN1cnJlbnQgdXNlcjsgdGhlIGRlZmF1bHQgYXJndW1lbnQgZm9yCiAgICAgICAgICAgICAgIHRoZSBjCGNkCGQgYnVpbHRpbiBjb21tYW5kLiAgVGhlIHZhbHVlIG9mIHRoaXMgdmFyaWFibGUgaXMgYWxzbyB1c2VkCiAgICAgICAgICAgICAgIHdoZW4gcGVyZm9ybWluZyB0aWxkZSBleHBhbnNpb24uCiAgICAgICAgSAhITwhPUwhTVAhURghGSQhJTAhMRQhFCi0gICAgICAgICAgICAgIENvbnRhaW5zICB0aGUgIG5hbWUgIG9mICBhIGZpbGUgaW4gdGhlIHNhbWUgZm9ybWF0IGFzIF8IL18IZV8IdF8IY18IL18IaF8Ib18Ic18IdF8IcworICAgICAgICAgICAgICBDb250YWlucyB0aGUgbmFtZSBvZiBhIGZpbGUgaW4gdGhlICBzYW1lICBmb3JtYXQgIGFzICBfCC9fCGVfCHRfCGNfCC9fCGhfCG9fCHNfCHRfCHMKICAgICAgICAgICAgICAgdGhhdCBzaG91bGQgYmUgcmVhZCB3aGVuIHRoZSBzaGVsbCBuZWVkcyB0byBjb21wbGV0ZSBhIGhvc3RuYW1lLgotICAgICAgICAgICAgICBUaGUgIGxpc3QgIG9mIHBvc3NpYmxlIGhvc3RuYW1lIGNvbXBsZXRpb25zIG1heSBiZSBjaGFuZ2VkIHdoaWxlCi0gICAgICAgICAgICAgIHRoZSBzaGVsbCBpcyBydW5uaW5nOyAgdGhlICBuZXh0ICB0aW1lICBob3N0bmFtZSAgY29tcGxldGlvbiAgaXMKLSAgICAgICAgICAgICAgYXR0ZW1wdGVkICBhZnRlciB0aGUgdmFsdWUgaXMgY2hhbmdlZCwgYghiYQhhcwhzaAhoIGFkZHMgdGhlIGNvbnRlbnRzIG9mCi0gICAgICAgICAgICAgIHRoZSBuZXcgZmlsZSB0byB0aGUgZXhpc3RpbmcgbGlzdC4gIElmIEgISE8IT1MIU1QIVEYIRkkISUwITEUIRSBpcyBzZXQsIGJ1dCAgaGFzCi0gICAgICAgICAgICAgIG5vIHZhbHVlLCBiCGJhCGFzCHNoCGggYXR0ZW1wdHMgdG8gcmVhZCBfCC9fCGVfCHRfCGNfCC9fCGhfCG9fCHNfCHRfCHMgdG8gb2J0YWluIHRoZSBsaXN0IG9mCi0gICAgICAgICAgICAgIHBvc3NpYmxlIGhvc3RuYW1lIGNvbXBsZXRpb25zLiAgIFdoZW4gIEgISE8IT1MIU1QIVEYIRkkISUwITEUIRSAgaXMgIHVuc2V0LCAgdGhlCi0gICAgICAgICAgICAgIGhvc3RuYW1lIGxpc3QgaXMgY2xlYXJlZC4KLSAgICAgICBJCElGCEZTCFMgICAgVGhlICBfCElfCG5fCHRfCGVfCHJfCG5fCGFfCGwgIF8IRl8IaV8IZV8IbF8IZCAgXwhTXwhlXwhwXwhhXwhyXwhhXwh0XwhvXwhyICB0aGF0IGlzIHVzZWQgZm9yIHdvcmQgc3BsaXR0aW5nCi0gICAgICAgICAgICAgIGFmdGVyIGV4cGFuc2lvbiBhbmQgdG8gc3BsaXQgbGluZXMgIGludG8gIHdvcmRzICB3aXRoICB0aGUgIHIIcmUIZWEIYWQIZAorICAgICAgICAgICAgICBUaGUgbGlzdCBvZiBwb3NzaWJsZSBob3N0bmFtZSBjb21wbGV0aW9ucyBtYXkgYmUgIGNoYW5nZWQgIHdoaWxlCisgICAgICAgICAgICAgIHRoZSAgc2hlbGwgIGlzICBydW5uaW5nOyAgdGhlICBuZXh0ICB0aW1lIGhvc3RuYW1lIGNvbXBsZXRpb24gaXMKKyAgICAgICAgICAgICAgYXR0ZW1wdGVkIGFmdGVyIHRoZSB2YWx1ZSBpcyBjaGFuZ2VkLCBiCGJhCGFzCHNoCGggYWRkcyB0aGUgY29udGVudHMgIG9mCisgICAgICAgICAgICAgIHRoZSAgbmV3IGZpbGUgdG8gdGhlIGV4aXN0aW5nIGxpc3QuICBJZiBICEhPCE9TCFNUCFRGCEZJCElMCExFCEUgaXMgc2V0LCBidXQgaGFzCisgICAgICAgICAgICAgIG5vIHZhbHVlLCBvciBkb2VzIG5vdCBuYW1lIGEgcmVhZGFibGUgIGZpbGUsICBiCGJhCGFzCHNoCGggIGF0dGVtcHRzICB0bworICAgICAgICAgICAgICByZWFkICBfCC9fCGVfCHRfCGNfCC9fCGhfCG9fCHNfCHRfCHMgdG8gb2J0YWluIHRoZSBsaXN0IG9mIHBvc3NpYmxlIGhvc3RuYW1lIGNvbXBsZS0KKyAgICAgICAgICAgICAgdGlvbnMuICBXaGVuIEgISE8IT1MIU1QIVEYIRkkISUwITEUIRSBpcyB1bnNldCwgdGhlIGhvc3RuYW1lIGxpc3QgaXMgY2xlYXJlZC4KKyAgICAgICBJCElGCEZTCFMgICAgVGhlIF8ISV8Ibl8IdF8IZV8Icl8Ibl8IYV8IbCBfCEZfCGlfCGVfCGxfCGQgXwhTXwhlXwhwXwhhXwhyXwhhXwh0XwhvXwhyIHRoYXQgaXMgIHVzZWQgIGZvciAgd29yZCAgc3BsaXR0aW5nCisgICAgICAgICAgICAgIGFmdGVyICBleHBhbnNpb24gIGFuZCAgdG8gIHNwbGl0ICBsaW5lcyBpbnRvIHdvcmRzIHdpdGggdGhlIHIIcmUIZWEIYWQIZAogICAgICAgICAgICAgICBidWlsdGluICBjb21tYW5kLiAgIFRoZSAgZGVmYXVsdCAgdmFsdWUgIGlzICBgYDxzcGFjZT48dGFiPjxuZXctCiAgICAgICAgICAgICAgIGxpbmU+JycuCiAgICAgICAgSQhJRwhHTghOTwhPUghSRQhFRQhFTwhPRghGCiAgICAgICAgICAgICAgIENvbnRyb2xzIHRoZSBhY3Rpb24gb2YgYW4gaW50ZXJhY3RpdmUgc2hlbGwgb24gcmVjZWlwdCBvZiBhbiBFCEVPCE9GCEYKICAgICAgICAgICAgICAgY2hhcmFjdGVyIGFzIHRoZSBzb2xlIGlucHV0LiAgSWYgc2V0LCB0aGUgdmFsdWUgaXMgdGhlIG51bWJlciBvZgotICAgICAgICAgICAgICBjb25zZWN1dGl2ZSBFCEVPCE9GCEYgY2hhcmFjdGVycyB3aGljaCBtdXN0ICBiZSAgdHlwZWQgIGFzICB0aGUgIGZpcnN0Ci0gICAgICAgICAgICAgIGNoYXJhY3RlcnMgIG9uIGFuIGlucHV0IGxpbmUgYmVmb3JlIGIIYmEIYXMIc2gIaCBleGl0cy4gIElmIHRoZSB2YXJpYWJsZQotICAgICAgICAgICAgICBleGlzdHMgYnV0IGRvZXMgbm90IGhhdmUgYSBudW1lcmljIHZhbHVlLCBvciBoYXMgbm8gIHZhbHVlLCAgdGhlCi0gICAgICAgICAgICAgIGRlZmF1bHQgIHZhbHVlICBpcyAgMTAuICBJZiBpdCBkb2VzIG5vdCBleGlzdCwgRQhFTwhPRghGIHNpZ25pZmllcyB0aGUKKyAgICAgICAgICAgICAgY29uc2VjdXRpdmUgIEUIRU8IT0YIRiAgY2hhcmFjdGVycyAgd2hpY2ggIG11c3QgIGJlIHR5cGVkIGFzIHRoZSBmaXJzdAorICAgICAgICAgICAgICBjaGFyYWN0ZXJzIG9uIGFuIGlucHV0IGxpbmUgYmVmb3JlIGIIYmEIYXMIc2gIaCBleGl0cy4gIElmIHRoZSAgdmFyaWFibGUKKyAgICAgICAgICAgICAgZXhpc3RzICBidXQgIGRvZXMgbm90IGhhdmUgYSBudW1lcmljIHZhbHVlLCBvciBoYXMgbm8gdmFsdWUsIHRoZQorICAgICAgICAgICAgICBkZWZhdWx0IHZhbHVlIGlzIDEwLiAgSWYgaXQgZG9lcyBub3QgZXhpc3QsICBFCEVPCE9GCEYgIHNpZ25pZmllcyAgdGhlCiAgICAgICAgICAgICAgIGVuZCBvZiBpbnB1dCB0byB0aGUgc2hlbGwuCiAgICAgICAgSQhJTghOUAhQVQhVVAhUUghSQwhDCi0gICAgICAgICAgICAgIFRoZSBmaWxlbmFtZSBmb3IgIHRoZSAgcghyZQhlYQhhZAhkbAhsaQhpbghuZQhlICBzdGFydHVwICBmaWxlLCAgb3ZlcnJpZGluZyAgdGhlCisgICAgICAgICAgICAgIFRoZSAgZmlsZW5hbWUgIGZvciAgdGhlICByCHJlCGVhCGFkCGRsCGxpCGluCG5lCGUgIHN0YXJ0dXAgIGZpbGUsIG92ZXJyaWRpbmcgdGhlCiAgICAgICAgICAgICAgIGRlZmF1bHQgb2YgXwh+XwgvXwguXwhpXwhuXwhwXwh1Xwh0XwhyXwhjIChzZWUgUghSRQhFQQhBRAhETAhMSQhJTghORQhFIGJlbG93KS4KLSAgICAgICBMCExBCEFOCE5HCEcgICBVc2VkICB0byAgZGV0ZXJtaW5lICB0aGUgIGxvY2FsZSAgY2F0ZWdvcnkgIGZvciBhbnkgY2F0ZWdvcnkgbm90CisgICAgICAgTAhMQQhBTghORwhHICAgVXNlZCB0byBkZXRlcm1pbmUgdGhlICBsb2NhbGUgIGNhdGVnb3J5ICBmb3IgIGFueSAgY2F0ZWdvcnkgIG5vdAogICAgICAgICAgICAgICBzcGVjaWZpY2FsbHkgc2VsZWN0ZWQgd2l0aCBhIHZhcmlhYmxlIHN0YXJ0aW5nIHdpdGggTAhMQwhDXwhfLgotICAgICAgIEwITEMIQ18IX0EIQUwITEwITCBUaGlzIHZhcmlhYmxlIG92ZXJyaWRlcyB0aGUgdmFsdWUgb2YgIEwITEEIQU4ITkcIRyAgYW5kICBhbnkgIG90aGVyICBMCExDCENfCF8KKyAgICAgICBMCExDCENfCF9BCEFMCExMCEwgVGhpcyAgdmFyaWFibGUgIG92ZXJyaWRlcyAgdGhlICB2YWx1ZSAgb2YgTAhMQQhBTghORwhHIGFuZCBhbnkgb3RoZXIgTAhMQwhDXwhfCiAgICAgICAgICAgICAgIHZhcmlhYmxlIHNwZWNpZnlpbmcgYSBsb2NhbGUgY2F0ZWdvcnkuCiAgICAgICAgTAhMQwhDXwhfQwhDTwhPTAhMTAhMQQhBVAhURQhFCi0gICAgICAgICAgICAgIFRoaXMgIHZhcmlhYmxlICBkZXRlcm1pbmVzIHRoZSBjb2xsYXRpb24gb3JkZXIgdXNlZCB3aGVuIHNvcnRpbmcKLSAgICAgICAgICAgICAgdGhlIHJlc3VsdHMgb2YgcGF0aG5hbWUgZXhwYW5zaW9uLCBhbmQgZGV0ZXJtaW5lcyAgdGhlICBiZWhhdmlvcgotICAgICAgICAgICAgICBvZiAgIHJhbmdlICAgZXhwcmVzc2lvbnMsICBlcXVpdmFsZW5jZSAgY2xhc3NlcywgIGFuZCAgY29sbGF0aW5nCisgICAgICAgICAgICAgIFRoaXMgdmFyaWFibGUgZGV0ZXJtaW5lcyB0aGUgY29sbGF0aW9uIG9yZGVyIHVzZWQgIHdoZW4gIHNvcnRpbmcKKyAgICAgICAgICAgICAgdGhlICByZXN1bHRzICBvZiBwYXRobmFtZSBleHBhbnNpb24sIGFuZCBkZXRlcm1pbmVzIHRoZSBiZWhhdmlvcgorICAgICAgICAgICAgICBvZiAgcmFuZ2UgIGV4cHJlc3Npb25zLCAgZXF1aXZhbGVuY2UgIGNsYXNzZXMsICAgYW5kICAgY29sbGF0aW5nCiAgICAgICAgICAgICAgIHNlcXVlbmNlcyB3aXRoaW4gcGF0aG5hbWUgZXhwYW5zaW9uIGFuZCBwYXR0ZXJuIG1hdGNoaW5nLgogICAgICAgIEwITEMIQ18IX0MIQ1QIVFkIWVAIUEUIRQotICAgICAgICAgICAgICBUaGlzIHZhcmlhYmxlIGRldGVybWluZXMgdGhlIGludGVycHJldGF0aW9uICBvZiAgY2hhcmFjdGVycyAgYW5kCi0gICAgICAgICAgICAgIHRoZSAgYmVoYXZpb3Igb2YgY2hhcmFjdGVyIGNsYXNzZXMgd2l0aGluIHBhdGhuYW1lIGV4cGFuc2lvbiBhbmQKKyAgICAgICAgICAgICAgVGhpcyAgdmFyaWFibGUgIGRldGVybWluZXMgIHRoZSBpbnRlcnByZXRhdGlvbiBvZiBjaGFyYWN0ZXJzIGFuZAorICAgICAgICAgICAgICB0aGUgYmVoYXZpb3Igb2YgY2hhcmFjdGVyIGNsYXNzZXMgd2l0aGluIHBhdGhuYW1lIGV4cGFuc2lvbiAgYW5kCiAgICAgICAgICAgICAgIHBhdHRlcm4gbWF0Y2hpbmcuCiAgICAgICAgTAhMQwhDXwhfTQhNRQhFUwhTUwhTQQhBRwhHRQhFUwhTCi0gICAgICAgICAgICAgIFRoaXMgdmFyaWFibGUgZGV0ZXJtaW5lcyB0aGUgbG9jYWxlIHVzZWQgIHRvICB0cmFuc2xhdGUgIGRvdWJsZS0KKyAgICAgICAgICAgICAgVGhpcyAgdmFyaWFibGUgIGRldGVybWluZXMgIHRoZSBsb2NhbGUgdXNlZCB0byB0cmFuc2xhdGUgZG91YmxlLQogICAgICAgICAgICAgICBxdW90ZWQgc3RyaW5ncyBwcmVjZWRlZCBieSBhICQIJC4KICAgICAgICBMCExDCENfCF9OCE5VCFVNCE1FCEVSCFJJCElDCEMKLSAgICAgICAgICAgICAgVGhpcyAgdmFyaWFibGUgIGRldGVybWluZXMgIHRoZSAgbG9jYWxlIGNhdGVnb3J5IHVzZWQgZm9yIG51bWJlcgorICAgICAgICAgICAgICBUaGlzIHZhcmlhYmxlIGRldGVybWluZXMgdGhlIGxvY2FsZSAgY2F0ZWdvcnkgIHVzZWQgIGZvciAgbnVtYmVyCiAgICAgICAgICAgICAgIGZvcm1hdHRpbmcuCi0gICAgICAgTAhMSQhJTghORQhFUwhTICBVc2VkIGJ5IHRoZSBzCHNlCGVsCGxlCGVjCGN0CHQgIGJ1aWx0aW4gIGNvbW1hbmQgIHRvICBkZXRlcm1pbmUgIHRoZSAgY29sdW1uCi0gICAgICAgICAgICAgIGxlbmd0aCAgZm9yICBwcmludGluZyAgc2VsZWN0aW9uICBsaXN0cy4gIEF1dG9tYXRpY2FsbHkgc2V0IHVwb24KLSAgICAgICAgICAgICAgcmVjZWlwdCBvZiBhIFNJR1dJTkNILgotICAgICAgIE0ITUEIQUkISUwITCAgIElmIHRoaXMgcGFyYW1ldGVyIGlzIHNldCB0byBhIGZpbGUgbmFtZSBhbmQgdGhlICBNCE1BCEFJCElMCExQCFBBCEFUCFRICEggIHZhcmktCisgICAgICAgTAhMSQhJTghORQhFUwhTICBVc2VkICBieSAgdGhlICBzCHNlCGVsCGxlCGVjCGN0CHQgIGJ1aWx0aW4gIGNvbW1hbmQgIHRvIGRldGVybWluZSB0aGUgY29sdW1uCisgICAgICAgICAgICAgIGxlbmd0aCBmb3IgcHJpbnRpbmcgc2VsZWN0aW9uICBsaXN0cy4gICBBdXRvbWF0aWNhbGx5ICBzZXQgIHVwb24KKyAgICAgICAgICAgICAgcmVjZWlwdCBvZiBhIFMIU0kISUcIR1cIV0kISU4ITkMIQ0gISC4KKyAgICAgICBNCE1BCEFJCElMCEwgICBJZiAgdGhpcyAgcGFyYW1ldGVyIGlzIHNldCB0byBhIGZpbGUgbmFtZSBhbmQgdGhlIE0ITUEIQUkISUwITFAIUEEIQVQIVEgISCB2YXJpLQogICAgICAgICAgICAgICBhYmxlIGlzIG5vdCBzZXQsIGIIYmEIYXMIc2gIaCBpbmZvcm1zIHRoZSB1c2VyIG9mIHRoZSBhcnJpdmFsIG9mIG1haWwgaW4KICAgICAgICAgICAgICAgdGhlIHNwZWNpZmllZCBmaWxlLgogICAgICAgIE0ITUEIQUkISUwITEMIQ0gISEUIRUMIQ0sISwotICAgICAgICAgICAgICBTcGVjaWZpZXMgaG93IG9mdGVuIChpbiBzZWNvbmRzKSAgYghiYQhhcwhzaAhoICBjaGVja3MgIGZvciAgbWFpbC4gICBUaGUKLSAgICAgICAgICAgICAgZGVmYXVsdCAgaXMgIDYwIHNlY29uZHMuICBXaGVuIGl0IGlzIHRpbWUgdG8gY2hlY2sgZm9yIG1haWwsIHRoZQotICAgICAgICAgICAgICBzaGVsbCBkb2VzIHNvIGJlZm9yZSBkaXNwbGF5aW5nIHRoZSAgcHJpbWFyeSAgcHJvbXB0LiAgIElmICB0aGlzCi0gICAgICAgICAgICAgIHZhcmlhYmxlICBpcyAgdW5zZXQsICBvciAgc2V0ICB0byAgYSAgdmFsdWUgdGhhdCBpcyBub3QgYSBudW1iZXIKKyAgICAgICAgICAgICAgU3BlY2lmaWVzICBob3cgIG9mdGVuICAoaW4gIHNlY29uZHMpICBiCGJhCGFzCHNoCGggY2hlY2tzIGZvciBtYWlsLiAgVGhlCisgICAgICAgICAgICAgIGRlZmF1bHQgaXMgNjAgc2Vjb25kcy4gIFdoZW4gaXQgaXMgdGltZSB0byBjaGVjayBmb3IgIG1haWwsICB0aGUKKyAgICAgICAgICAgICAgc2hlbGwgIGRvZXMgIHNvICBiZWZvcmUgIGRpc3BsYXlpbmcgdGhlIHByaW1hcnkgcHJvbXB0LiAgSWYgdGhpcworICAgICAgICAgICAgICB2YXJpYWJsZSBpcyB1bnNldCwgb3Igc2V0IHRvICBhICB2YWx1ZSAgdGhhdCAgaXMgIG5vdCAgYSAgbnVtYmVyCiAgICAgICAgICAgICAgIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB6ZXJvLCB0aGUgc2hlbGwgZGlzYWJsZXMgbWFpbCBjaGVja2luZy4KICAgICAgICBNCE1BCEFJCElMCExQCFBBCEFUCFRICEgKLSAgICAgICAgICAgICAgQSAgY29sb24tc2VwYXJhdGVkICBsaXN0ICBvZiAgZmlsZSBuYW1lcyB0byBiZSBjaGVja2VkIGZvciBtYWlsLgorICAgICAgICAgICAgICBBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIGZpbGUgbmFtZXMgdG8gIGJlICBjaGVja2VkICBmb3IgIG1haWwuCiAgICAgICAgICAgICAgIFRoZSBtZXNzYWdlIHRvIGJlIHByaW50ZWQgd2hlbiBtYWlsIGFycml2ZXMgaW4gYSBwYXJ0aWN1bGFyIGZpbGUKLSAgICAgICAgICAgICAgbWF5ICBiZSAgc3BlY2lmaWVkICBieSBzZXBhcmF0aW5nIHRoZSBmaWxlIG5hbWUgZnJvbSB0aGUgbWVzc2FnZQorICAgICAgICAgICAgICBtYXkgYmUgc3BlY2lmaWVkIGJ5IHNlcGFyYXRpbmcgdGhlIGZpbGUgbmFtZSAgZnJvbSAgdGhlICBtZXNzYWdlCiAgICAgICAgICAgICAgIHdpdGggYSBgPycuICBXaGVuIHVzZWQgaW4gdGhlIHRleHQgb2YgdGhlIG1lc3NhZ2UsICQIJF8IXyBleHBhbmRzIHRvCiAgICAgICAgICAgICAgIHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IG1haWxmaWxlLiAgRXhhbXBsZToKICAgICAgICAgICAgICAgTQhNQQhBSQhJTAhMUAhQQQhBVAhUSAhIPScvdmFyL21haWwvYmZveD8iWW91ICBoYXZlICBtYWlsIjp+L3NoZWxsLW1haWw/IiRfICBoYXMKICAgICAgICAgICAgICAgbWFpbCEiJwotICAgICAgICAgICAgICBCCEJhCGFzCHNoCGggc3VwcGxpZXMgYSBkZWZhdWx0IHZhbHVlIGZvciB0aGlzIHZhcmlhYmxlLCBidXQgIHRoZSAgbG9jYS0KLSAgICAgICAgICAgICAgdGlvbiAgb2YgIHRoZSAgdXNlciAgbWFpbCBmaWxlcyB0aGF0IGl0IHVzZXMgaXMgc3lzdGVtIGRlcGVuZGVudAorICAgICAgICAgICAgICBCCEJhCGFzCHNoCGggIHN1cHBsaWVzICBhIGRlZmF1bHQgdmFsdWUgZm9yIHRoaXMgdmFyaWFibGUsIGJ1dCB0aGUgbG9jYS0KKyAgICAgICAgICAgICAgdGlvbiBvZiB0aGUgdXNlciBtYWlsIGZpbGVzIHRoYXQgaXQgIHVzZXMgIGlzICBzeXN0ZW0gIGRlcGVuZGVudAogICAgICAgICAgICAgICAoZS5nLiwgL3Zhci9tYWlsLyQIJFUIVVMIU0UIRVIIUikuCiAgICAgICAgTwhPUAhQVAhURQhFUghSUghSIElmIHNldCB0byB0aGUgdmFsdWUgMSwgYghiYQhhcwhzaAhoIGRpc3BsYXlzIGVycm9yIG1lc3NhZ2VzIGdlbmVyYXRlZCBieQotICAgICAgICAgICAgICB0aGUgIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyBidWlsdGluIGNvbW1hbmQgKHNlZSBTCFNICEhFCEVMCExMCEwgQghCVQhVSQhJTAhMVAhUSQhJTghOIEMIQ08IT00ITU0ITUEIQU4ITkQIRFMIUyBiZWxvdykuCi0gICAgICAgICAgICAgIE8IT1AIUFQIVEUIRVIIUlIIUiBpcyBpbml0aWFsaXplZCB0byAxIGVhY2ggdGltZSB0aGUgc2hlbGwgaXMgaW52b2tlZCAgb3IgIGEKKyAgICAgICAgICAgICAgdGhlIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyBidWlsdGluIGNvbW1hbmQgKHNlZSBTCFNICEhFCEVMCExMCEwgQghCVQhVSQhJTAhMVAhUSQhJTghOIEMIQ08IT00ITU0ITUEIQU4ITkQIRFMIUyAgYmVsb3cpLgorICAgICAgICAgICAgICBPCE9QCFBUCFRFCEVSCFJSCFIgIGlzICBpbml0aWFsaXplZCB0byAxIGVhY2ggdGltZSB0aGUgc2hlbGwgaXMgaW52b2tlZCBvciBhCiAgICAgICAgICAgICAgIHNoZWxsIHNjcmlwdCBpcyBleGVjdXRlZC4KLSAgICAgICBQCFBBCEFUCFRICEggICBUaGUgIHNlYXJjaCAgcGF0aCBmb3IgY29tbWFuZHMuICBJdCBpcyBhIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mCi0gICAgICAgICAgICAgIGRpcmVjdG9yaWVzIGluIHdoaWNoIHRoZSBzaGVsbCBsb29rcyBmb3IgY29tbWFuZHMgIChzZWUgIEMIQ08IT00ITU0ITUEIQU4ITkQIRAotICAgICAgICAgICAgICBFCEVYCFhFCEVDCENVCFVUCFRJCElPCE9OCE4gIGJlbG93KS4gICBBICB6ZXJvLWxlbmd0aCAobnVsbCkgZGlyZWN0b3J5IG5hbWUgaW4gdGhlCisgICAgICAgUAhQQQhBVAhUSAhIICAgVGhlIHNlYXJjaCBwYXRoIGZvciBjb21tYW5kcy4gIEl0IGlzIGEgY29sb24tc2VwYXJhdGVkICBsaXN0ICBvZgorICAgICAgICAgICAgICBkaXJlY3RvcmllcyAgaW4gIHdoaWNoIHRoZSBzaGVsbCBsb29rcyBmb3IgY29tbWFuZHMgKHNlZSBDCENPCE9NCE1NCE1BCEFOCE5ECEQKKyAgICAgICAgICAgICAgRQhFWAhYRQhFQwhDVQhVVAhUSQhJTwhPTghOIGJlbG93KS4gIEEgemVyby1sZW5ndGggKG51bGwpIGRpcmVjdG9yeSAgbmFtZSAgaW4gIHRoZQogICAgICAgICAgICAgICB2YWx1ZSBvZiBQCFBBCEFUCFRICEggaW5kaWNhdGVzIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4gIEEgbnVsbCBkaXJlY3RvcnkKLSAgICAgICAgICAgICAgbmFtZSAgbWF5ICBhcHBlYXIgIGFzICB0d28gIGFkamFjZW50IGNvbG9ucywgb3IgYXMgYW4gaW5pdGlhbCBvcgotICAgICAgICAgICAgICB0cmFpbGluZyBjb2xvbi4gIFRoZSBkZWZhdWx0IHBhdGggaXMgIHN5c3RlbS1kZXBlbmRlbnQsICBhbmQgIGlzCi0gICAgICAgICAgICAgIHNldCAgYnkgIHRoZSBhZG1pbmlzdHJhdG9yIHdobyBpbnN0YWxscyBiCGJhCGFzCHNoCGguICBBIGNvbW1vbiB2YWx1ZSBpcworICAgICAgICAgICAgICBuYW1lIG1heSBhcHBlYXIgYXMgdHdvIGFkamFjZW50IGNvbG9ucywgIG9yICBhcyAgYW4gIGluaXRpYWwgIG9yCisgICAgICAgICAgICAgIHRyYWlsaW5nICBjb2xvbi4gICBUaGUgIGRlZmF1bHQgcGF0aCBpcyBzeXN0ZW0tZGVwZW5kZW50LCBhbmQgaXMKKyAgICAgICAgICAgICAgc2V0IGJ5IHRoZSBhZG1pbmlzdHJhdG9yIHdobyBpbnN0YWxscyBiCGJhCGFzCHNoCGguICBBIGNvbW1vbiAgdmFsdWUgIGlzCiAgICAgICAgICAgICAgIGBgL3Vzci9nbnUvYmluOi91c3IvbG9jYWwvYmluOi91c3IvdWNiOi9iaW46L3Vzci9iaW4nJy4KICAgICAgICBQCFBPCE9TCFNJCElYCFhMCExZCFlfCF9DCENPCE9SCFJSCFJFCEVDCENUCFQKLSAgICAgICAgICAgICAgSWYgdGhpcyB2YXJpYWJsZSBpcyBpbiB0aGUgZW52aXJvbm1lbnQgIHdoZW4gIGIIYmEIYXMIc2gIaCAgc3RhcnRzLCAgdGhlCi0gICAgICAgICAgICAgIHNoZWxsICBlbnRlcnMgXwhwXwhvXwhzXwhpXwh4IF8IbV8Ib18IZF8IZSBiZWZvcmUgcmVhZGluZyB0aGUgc3RhcnR1cCBmaWxlcywgYXMgaWYKLSAgICAgICAgICAgICAgdGhlIC0ILS0ILXAIcG8Ib3MIc2kIaXgIeCBpbnZvY2F0aW9uIG9wdGlvbiBoYWQgYmVlbiBzdXBwbGllZC4gIElmIGl0ICBpcyAgc2V0Ci0gICAgICAgICAgICAgIHdoaWxlICB0aGUgIHNoZWxsIGlzIHJ1bm5pbmcsIGIIYmEIYXMIc2gIaCBlbmFibGVzIF8IcF8Ib18Ic18IaV8IeCBfCG1fCG9fCGRfCGUsIGFzIGlmIHRoZQorICAgICAgICAgICAgICBJZiAgdGhpcyAgdmFyaWFibGUgIGlzICBpbiB0aGUgZW52aXJvbm1lbnQgd2hlbiBiCGJhCGFzCHNoCGggc3RhcnRzLCB0aGUKKyAgICAgICAgICAgICAgc2hlbGwgZW50ZXJzIF8IcF8Ib18Ic18IaV8IeCBfCG1fCG9fCGRfCGUgYmVmb3JlIHJlYWRpbmcgdGhlIHN0YXJ0dXAgZmlsZXMsIGFzICBpZgorICAgICAgICAgICAgICB0aGUgIC0ILS0ILXAIcG8Ib3MIc2kIaXgIeCAgaW52b2NhdGlvbiBvcHRpb24gaGFkIGJlZW4gc3VwcGxpZWQuICBJZiBpdCBpcyBzZXQKKyAgICAgICAgICAgICAgd2hpbGUgdGhlIHNoZWxsIGlzIHJ1bm5pbmcsIGIIYmEIYXMIc2gIaCBlbmFibGVzIF8IcF8Ib18Ic18IaV8IeCBfCG1fCG9fCGRfCGUsIGFzICBpZiAgdGhlCiAgICAgICAgICAgICAgIGNvbW1hbmQgXwhzXwhlXwh0IF8ILV8IbyBfCHBfCG9fCHNfCGlfCHggaGFkIGJlZW4gZXhlY3V0ZWQuCiAgICAgICAgUAhQUghSTwhPTQhNUAhQVAhUXwhfQwhDTwhPTQhNTQhNQQhBTghORAhECiAgICAgICAgICAgICAgIElmIHNldCwgdGhlIHZhbHVlIGlzIGV4ZWN1dGVkIGFzIGEgY29tbWFuZCBwcmlvciB0byBpc3N1aW5nIGVhY2gKICAgICAgICAgICAgICAgcHJpbWFyeSBwcm9tcHQuCiAgICAgICAgUAhQUghSTwhPTQhNUAhQVAhUXwhfRAhESQhJUghSVAhUUghSSQhJTQhNCi0gICAgICAgICAgICAgIElmICBzZXQgIHRvIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiB6ZXJvLCB0aGUgdmFsdWUgaXMgdXNlZCBhcyB0aGUKKyAgICAgICAgICAgICAgSWYgc2V0IHRvIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiB6ZXJvLCB0aGUgdmFsdWUgaXMgdXNlZCAgYXMgIHRoZQogICAgICAgICAgICAgICBudW1iZXIgb2YgdHJhaWxpbmcgZGlyZWN0b3J5IGNvbXBvbmVudHMgdG8gcmV0YWluIHdoZW4gZXhwYW5kaW5nCi0gICAgICAgICAgICAgIHRoZSAgXAhcdwh3ICBhCGFuCG5kCGQgIFwIXFcIVyAgcAhwcghybwhvbQhtcAhwdAh0ICBzCHN0CHRyCHJpCGluCG5nCGcgIGUIZXMIc2MIY2EIYXAIcGUIZXMIcyAoCChzCHNlCGVlCGUgUAhQUghSTwhPTQhNUAhQVAhUSQhJTghORwhHIGJlbG93KS4KKyAgICAgICAgICAgICAgdGhlIFwIXHcIdyBhbmQgXAhcVwhXICBwcm9tcHQgIHN0cmluZyAgZXNjYXBlcyAgKHNlZSAgUAhQUghSTwhPTQhNUAhQVAhUSQhJTghORwhHICBiZWxvdykuCiAgICAgICAgICAgICAgIENoYXJhY3RlcnMgcmVtb3ZlZCBhcmUgcmVwbGFjZWQgd2l0aCBhbiBlbGxpcHNpcy4KLSAgICAgICBQCFBTCFMxCDEgICAgVGhlIHZhbHVlIG9mIHRoaXMgcGFyYW1ldGVyIGlzIGV4cGFuZGVkICAoc2VlICBQCFBSCFJPCE9NCE1QCFBUCFRJCElOCE5HCEcgIGJlbG93KQotICAgICAgICAgICAgICBhbmQgIHVzZWQgIGFzICB0aGUgIHByaW1hcnkgcHJvbXB0IHN0cmluZy4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzCisgICAgICAgUAhQUwhTMQgxICAgIFRoZSAgdmFsdWUgIG9mICB0aGlzIHBhcmFtZXRlciBpcyBleHBhbmRlZCAoc2VlIFAIUFIIUk8IT00ITVAIUFQIVEkISU4ITkcIRyBiZWxvdykKKyAgICAgICAgICAgICAgYW5kIHVzZWQgYXMgdGhlIHByaW1hcnkgcHJvbXB0IHN0cmluZy4gICBUaGUgIGRlZmF1bHQgIHZhbHVlICBpcwogICAgICAgICAgICAgICBgYFwIXHMIcy0ILVwIXHYIdlwIXCQIJCAnJy4KLSAgICAgICBQCFBTCFMyCDIgICAgVGhlIHZhbHVlIG9mIHRoaXMgcGFyYW1ldGVyIGlzIGV4cGFuZGVkIGFzIHdpdGggUAhQUwhTMQgxIGFuZCB1c2VkICBhcworICAgICAgIFAIUFMIUzIIMiAgICBUaGUgIHZhbHVlIG9mIHRoaXMgcGFyYW1ldGVyIGlzIGV4cGFuZGVkIGFzIHdpdGggUAhQUwhTMQgxIGFuZCB1c2VkIGFzCiAgICAgICAgICAgICAgIHRoZSBzZWNvbmRhcnkgcHJvbXB0IHN0cmluZy4gIFRoZSBkZWZhdWx0IGlzIGBgPgg+ICcnLgogICAgICAgIFAIUFMIUzMIMyAgICBUaGUgdmFsdWUgb2YgdGhpcyBwYXJhbWV0ZXIgaXMgdXNlZCBhcyB0aGUgcHJvbXB0IGZvciB0aGUgcwhzZQhlbAhsZQhlYwhjdAh0CiAgICAgICAgICAgICAgIGNvbW1hbmQgKHNlZSBTCFNICEhFCEVMCExMCEwgRwhHUghSQQhBTQhNTQhNQQhBUghSIGFib3ZlKS4KLSAgICAgICBQCFBTCFM0CDQgICAgVGhlIHZhbHVlIG9mIHRoaXMgcGFyYW1ldGVyIGlzIGV4cGFuZGVkICBhcyAgd2l0aCAgUAhQUwhTMQgxICBhbmQgIHRoZQotICAgICAgICAgICAgICB2YWx1ZSAgaXMgIHByaW50ZWQgIGJlZm9yZSAgZWFjaCBjb21tYW5kIGIIYmEIYXMIc2gIaCBkaXNwbGF5cyBkdXJpbmcgYW4KLSAgICAgICAgICAgICAgZXhlY3V0aW9uIHRyYWNlLiAgVGhlIGZpcnN0IGNoYXJhY3RlciBvZiBQCFBTCFM0CDQgaXMgcmVwbGljYXRlZCAgbXVsLQotICAgICAgICAgICAgICB0aXBsZSAgdGltZXMsIGFzIG5lY2Vzc2FyeSwgdG8gaW5kaWNhdGUgbXVsdGlwbGUgbGV2ZWxzIG9mIGluZGktCisgICAgICAgUAhQUwhTNAg0ICAgIFRoZSAgdmFsdWUgIG9mICB0aGlzICBwYXJhbWV0ZXIgIGlzIGV4cGFuZGVkIGFzIHdpdGggUAhQUwhTMQgxIGFuZCB0aGUKKyAgICAgICAgICAgICAgdmFsdWUgaXMgcHJpbnRlZCBiZWZvcmUgZWFjaCBjb21tYW5kICBiCGJhCGFzCHNoCGggIGRpc3BsYXlzICBkdXJpbmcgIGFuCisgICAgICAgICAgICAgIGV4ZWN1dGlvbiAgdHJhY2UuICBUaGUgZmlyc3QgY2hhcmFjdGVyIG9mIFAIUFMIUzQINCBpcyByZXBsaWNhdGVkIG11bC0KKyAgICAgICAgICAgICAgdGlwbGUgdGltZXMsIGFzIG5lY2Vzc2FyeSwgdG8gaW5kaWNhdGUgbXVsdGlwbGUgbGV2ZWxzIG9mICBpbmRpLQogICAgICAgICAgICAgICByZWN0aW9uLiAgVGhlIGRlZmF1bHQgaXMgYGArCCsgJycuCiAgICAgICAgUwhTSAhIRQhFTAhMTAhMICBUaGUgZnVsbCBwYXRobmFtZSB0byB0aGUgc2hlbGwgaXMga2VwdCBpbiB0aGlzIGVudmlyb25tZW50IHZhcmktCi0gICAgICAgICAgICAgIGFibGUuICAgSWYgIGl0IGlzIG5vdCBzZXQgd2hlbiB0aGUgc2hlbGwgc3RhcnRzLCBiCGJhCGFzCHNoCGggYXNzaWducyB0bworICAgICAgICAgICAgICBhYmxlLiAgSWYgaXQgaXMgbm90IHNldCB3aGVuIHRoZSBzaGVsbCBzdGFydHMsIGIIYmEIYXMIc2gIaCAgYXNzaWducyAgdG8KICAgICAgICAgICAgICAgaXQgdGhlIGZ1bGwgcGF0aG5hbWUgb2YgdGhlIGN1cnJlbnQgdXNlcidzIGxvZ2luIHNoZWxsLgogICAgICAgIFQIVEkISU0ITUUIRUYIRk8IT1IIUk0ITUEIQVQIVAotICAgICAgICAgICAgICBUaGUgdmFsdWUgb2YgdGhpcyBwYXJhbWV0ZXIgaXMgdXNlZCBhcyBhIGZvcm1hdCBzdHJpbmcgIHNwZWNpZnktCi0gICAgICAgICAgICAgIGluZyAgaG93ICB0aGUgdGltaW5nIGluZm9ybWF0aW9uIGZvciBwaXBlbGluZXMgcHJlZml4ZWQgd2l0aCB0aGUKLSAgICAgICAgICAgICAgdAh0aQhpbQhtZQhlIHJlc2VydmVkIHdvcmQgc2hvdWxkIGJlIGRpc3BsYXllZC4gIFRoZSAlCCUgY2hhcmFjdGVyICBpbnRyby0KLSAgICAgICAgICAgICAgZHVjZXMgIGFuICBlc2NhcGUgIHNlcXVlbmNlICB0aGF0IGlzIGV4cGFuZGVkIHRvIGEgdGltZSB2YWx1ZSBvcgotICAgICAgICAgICAgICBvdGhlciBpbmZvcm1hdGlvbi4gIFRoZSBlc2NhcGUgc2VxdWVuY2VzIGFuZCB0aGVpciBtZWFuaW5ncyAgYXJlCisgICAgICAgICAgICAgIFRoZSAgdmFsdWUgb2YgdGhpcyBwYXJhbWV0ZXIgaXMgdXNlZCBhcyBhIGZvcm1hdCBzdHJpbmcgc3BlY2lmeS0KKyAgICAgICAgICAgICAgaW5nIGhvdyB0aGUgdGltaW5nIGluZm9ybWF0aW9uIGZvciBwaXBlbGluZXMgcHJlZml4ZWQgIHdpdGggIHRoZQorICAgICAgICAgICAgICB0CHRpCGltCG1lCGUgIHJlc2VydmVkIHdvcmQgc2hvdWxkIGJlIGRpc3BsYXllZC4gIFRoZSAlCCUgY2hhcmFjdGVyIGludHJvLQorICAgICAgICAgICAgICBkdWNlcyBhbiBlc2NhcGUgc2VxdWVuY2UgdGhhdCBpcyBleHBhbmRlZCB0byAgYSAgdGltZSAgdmFsdWUgIG9yCisgICAgICAgICAgICAgIG90aGVyICBpbmZvcm1hdGlvbi4gIFRoZSBlc2NhcGUgc2VxdWVuY2VzIGFuZCB0aGVpciBtZWFuaW5ncyBhcmUKICAgICAgICAgICAgICAgYXMgZm9sbG93czsgdGhlIGJyYWNlcyBkZW5vdGUgb3B0aW9uYWwgcG9ydGlvbnMuCiAgICAgICAgICAgICAgICUIJSUIJSAgICAgICAgQSBsaXRlcmFsICUIJS4KICAgICAgICAgICAgICAgJQglWwhbXwhwXQhdWwhbbAhsXQhdUghSICBUaGUgZWxhcHNlZCB0aW1lIGluIHNlY29uZHMuCkBAIC0xMTM0LDEyMSArMTE1NywxMjQgQEAKICAgICAgICAgICAgICAgJQglWwhbXwhwXQhdWwhbbAhsXQhdUwhTICBUaGUgbnVtYmVyIG9mIENQVSBzZWNvbmRzIHNwZW50IGluIHN5c3RlbSBtb2RlLgogICAgICAgICAgICAgICAlCCVQCFAgICAgICAgIFRoZSBDUFUgcGVyY2VudGFnZSwgY29tcHV0ZWQgYXMgKCVVICsgJVMpIC8gJVIuCiAKLSAgICAgICAgICAgICAgVGhlICBvcHRpb25hbCAgXwhwIGlzIGEgZGlnaXQgc3BlY2lmeWluZyB0aGUgXwhwXwhyXwhlXwhjXwhpXwhzXwhpXwhvXwhuLCB0aGUgbnVtYmVyCisgICAgICAgICAgICAgIFRoZSBvcHRpb25hbCBfCHAgaXMgYSBkaWdpdCBzcGVjaWZ5aW5nIHRoZSBfCHBfCHJfCGVfCGNfCGlfCHNfCGlfCG9fCG4sICB0aGUgIG51bWJlcgogICAgICAgICAgICAgICBvZiBmcmFjdGlvbmFsIGRpZ2l0cyBhZnRlciBhIGRlY2ltYWwgcG9pbnQuICBBIHZhbHVlIG9mIDAgY2F1c2VzCiAgICAgICAgICAgICAgIG5vIGRlY2ltYWwgcG9pbnQgb3IgZnJhY3Rpb24gdG8gYmUgb3V0cHV0LiAgQXQgbW9zdCB0aHJlZSBwbGFjZXMKLSAgICAgICAgICAgICAgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQgbWF5IGJlIHNwZWNpZmllZDsgdmFsdWVzICBvZiAgXwhwICBncmVhdGVyCi0gICAgICAgICAgICAgIHRoYW4gIDMgYXJlIGNoYW5nZWQgdG8gMy4gIElmIF8IcCBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgdmFsdWUgMyBpcworICAgICAgICAgICAgICBhZnRlciAgdGhlICBkZWNpbWFsICBwb2ludCBtYXkgYmUgc3BlY2lmaWVkOyB2YWx1ZXMgb2YgXwhwIGdyZWF0ZXIKKyAgICAgICAgICAgICAgdGhhbiAzIGFyZSBjaGFuZ2VkIHRvIDMuICBJZiBfCHAgaXMgbm90IHNwZWNpZmllZCwgdGhlIHZhbHVlIDMgIGlzCiAgICAgICAgICAgICAgIHVzZWQuCiAKLSAgICAgICAgICAgICAgVGhlIG9wdGlvbmFsIGwIbCBzcGVjaWZpZXMgYSBsb25nZXIgZm9ybWF0LCBpbmNsdWRpbmcgbWludXRlcywgIG9mCi0gICAgICAgICAgICAgIHRoZSAgZm9ybSAgXwhNXwhNbV8IU18IUy5fCEZfCEZzLiAgIFRoZSB2YWx1ZSBvZiBfCHAgZGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdAorICAgICAgICAgICAgICBUaGUgIG9wdGlvbmFsIGwIbCBzcGVjaWZpZXMgYSBsb25nZXIgZm9ybWF0LCBpbmNsdWRpbmcgbWludXRlcywgb2YKKyAgICAgICAgICAgICAgdGhlIGZvcm0gXwhNXwhNbV8IU18IUy5fCEZfCEZzLiAgVGhlIHZhbHVlIG9mIF8IcCBkZXRlcm1pbmVzICB3aGV0aGVyICBvciAgbm90CiAgICAgICAgICAgICAgIHRoZSBmcmFjdGlvbiBpcyBpbmNsdWRlZC4KIAotICAgICAgICAgICAgICBJZiB0aGlzIHZhcmlhYmxlIGlzIG5vdCBzZXQsIGIIYmEIYXMIc2gIaCBhY3RzIGFzIGlmIGl0ICBoYWQgIHRoZSAgdmFsdWUKLSAgICAgICAgICAgICAgJAgkJwgnXAhcbghucghyZQhlYQhhbAhsXAhcdAh0JQglMwgzbAhsUghSXAhcbghudQh1cwhzZQhlcghyXAhcdAh0JQglMwgzbAhsVQhVXAhcbghucwhzeQh5cwhzJQglMwgzbAhsUwhTJwgnLiAgIElmIHRoZSB2YWx1ZSBpcyBudWxsLCBubwotICAgICAgICAgICAgICB0aW1pbmcgaW5mb3JtYXRpb24gaXMgZGlzcGxheWVkLiAgQSB0cmFpbGluZyAgbmV3bGluZSAgaXMgIGFkZGVkCisgICAgICAgICAgICAgIElmICB0aGlzICB2YXJpYWJsZSAgaXMgbm90IHNldCwgYghiYQhhcwhzaAhoIGFjdHMgYXMgaWYgaXQgaGFkIHRoZSB2YWx1ZQorICAgICAgICAgICAgICAkCCQnCCdcCFxuCG5yCHJlCGVhCGFsCGxcCFx0CHQlCCUzCDNsCGxSCFJcCFxuCG51CHVzCHNlCGVyCHJcCFx0CHQlCCUzCDNsCGxVCFVcCFxuCG5zCHN5CHlzCHMlCCUzCDNsCGxTCFMnCCcuICBJZiB0aGUgdmFsdWUgaXMgbnVsbCwgIG5vCisgICAgICAgICAgICAgIHRpbWluZyAgaW5mb3JtYXRpb24gIGlzICBkaXNwbGF5ZWQuICBBIHRyYWlsaW5nIG5ld2xpbmUgaXMgYWRkZWQKICAgICAgICAgICAgICAgd2hlbiB0aGUgZm9ybWF0IHN0cmluZyBpcyBkaXNwbGF5ZWQuCiAKLSAgICAgICBUCFRNCE1PCE9VCFVUCFQgIElmICBzZXQgIHRvICBhICB2YWx1ZSBncmVhdGVyIHRoYW4gemVybywgVAhUTQhNTwhPVQhVVAhUIGlzIHRyZWF0ZWQgYXMgdGhlCisgICAgICAgVAhUTQhNTwhPVQhVVAhUICBJZiBzZXQgdG8gYSB2YWx1ZSBncmVhdGVyIHRoYW4gemVybywgVAhUTQhNTwhPVQhVVAhUICBpcyAgdHJlYXRlZCAgYXMgIHRoZQogICAgICAgICAgICAgICBkZWZhdWx0IHRpbWVvdXQgZm9yIHRoZSByCHJlCGVhCGFkCGQgYnVpbHRpbi4gIFRoZSBzCHNlCGVsCGxlCGVjCGN0CHQgY29tbWFuZCB0ZXJtaS0KICAgICAgICAgICAgICAgbmF0ZXMgaWYgaW5wdXQgZG9lcyBub3QgYXJyaXZlIGFmdGVyIFQIVE0ITU8IT1UIVVQIVCBzZWNvbmRzIHdoZW4gaW5wdXQgaXMKLSAgICAgICAgICAgICAgY29taW5nIGZyb20gYSB0ZXJtaW5hbC4gIEluIGFuIGludGVyYWN0aXZlIHNoZWxsLCB0aGUgIHZhbHVlICBpcwotICAgICAgICAgICAgICBpbnRlcnByZXRlZCAgYXMgIHRoZSAgbnVtYmVyICBvZiBzZWNvbmRzIHRvIHdhaXQgZm9yIGlucHV0IGFmdGVyCi0gICAgICAgICAgICAgIGlzc3VpbmcgdGhlIHByaW1hcnkgcHJvbXB0LiAgQghCYQhhcwhzaAhoIHRlcm1pbmF0ZXMgYWZ0ZXIgIHdhaXRpbmcgIGZvcgorICAgICAgICAgICAgICBjb21pbmcgIGZyb20gIGEgdGVybWluYWwuICBJbiBhbiBpbnRlcmFjdGl2ZSBzaGVsbCwgdGhlIHZhbHVlIGlzCisgICAgICAgICAgICAgIGludGVycHJldGVkIGFzIHRoZSBudW1iZXIgb2Ygc2Vjb25kcyB0byAgd2FpdCAgZm9yICBpbnB1dCAgYWZ0ZXIKKyAgICAgICAgICAgICAgaXNzdWluZyAgdGhlICBwcmltYXJ5IHByb21wdC4gIEIIQmEIYXMIc2gIaCB0ZXJtaW5hdGVzIGFmdGVyIHdhaXRpbmcgZm9yCiAgICAgICAgICAgICAgIHRoYXQgbnVtYmVyIG9mIHNlY29uZHMgaWYgaW5wdXQgZG9lcyBub3QgYXJyaXZlLgogCi0gICAgICAgVAhUTQhNUAhQRAhESQhJUghSIElmICBzZXQsIEIIQmEIYXMIc2gIaCB1c2VzIGl0cyB2YWx1ZSBhcyB0aGUgbmFtZSBvZiBhIGRpcmVjdG9yeSBpbiB3aGljaAorICAgICAgIFQIVE0ITVAIUEQIREkISVIIUiBJZiBzZXQsIEIIQmEIYXMIc2gIaCB1c2VzIGl0cyB2YWx1ZSBhcyB0aGUgbmFtZSBvZiBhIGRpcmVjdG9yeSBpbiAgd2hpY2gKICAgICAgICAgICAgICAgQghCYQhhcwhzaAhoIGNyZWF0ZXMgdGVtcG9yYXJ5IGZpbGVzIGZvciB0aGUgc2hlbGwncyB1c2UuCiAKICAgICAgICBhCGF1CHV0CHRvCG9fCF9yCHJlCGVzCHN1CHVtCG1lCGUKICAgICAgICAgICAgICAgVGhpcyB2YXJpYWJsZSBjb250cm9scyBob3cgdGhlIHNoZWxsIGludGVyYWN0cyB3aXRoIHRoZSB1c2VyIGFuZAotICAgICAgICAgICAgICBqb2IgIGNvbnRyb2wuICAgSWYgdGhpcyB2YXJpYWJsZSBpcyBzZXQsIHNpbmdsZSB3b3JkIHNpbXBsZSBjb20tCisgICAgICAgICAgICAgIGpvYiBjb250cm9sLiAgSWYgdGhpcyB2YXJpYWJsZSBpcyBzZXQsIHNpbmdsZSB3b3JkICBzaW1wbGUgIGNvbS0KICAgICAgICAgICAgICAgbWFuZHMgd2l0aG91dCByZWRpcmVjdGlvbnMgYXJlIHRyZWF0ZWQgYXMgY2FuZGlkYXRlcyBmb3IgcmVzdW1wLQogICAgICAgICAgICAgICB0aW9uIG9mIGFuIGV4aXN0aW5nIHN0b3BwZWQgam9iLiAgVGhlcmUgaXMgbm8gYW1iaWd1aXR5IGFsbG93ZWQ7Ci0gICAgICAgICAgICAgIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgam9iIGJlZ2lubmluZyB3aXRoIHRoZSAgc3RyaW5nICB0eXBlZCwKLSAgICAgICAgICAgICAgdGhlICBqb2IgIG1vc3QgIHJlY2VudGx5ICBhY2Nlc3NlZCAgaXMgIHNlbGVjdGVkLiAgVGhlIF8Ibl8IYV8IbV8IZSBvZiBhCi0gICAgICAgICAgICAgIHN0b3BwZWQgam9iLCBpbiB0aGlzIGNvbnRleHQsIGlzIHRoZSBjb21tYW5kIGxpbmUgdXNlZCB0byAgc3RhcnQKLSAgICAgICAgICAgICAgaXQuICAgSWYgIHNldCB0byB0aGUgdmFsdWUgXwhlXwh4XwhhXwhjXwh0LCB0aGUgc3RyaW5nIHN1cHBsaWVkIG11c3QgbWF0Y2gKLSAgICAgICAgICAgICAgdGhlIG5hbWUgb2YgYSBzdG9wcGVkIGpvYiBleGFjdGx5OyAgaWYgIHNldCAgdG8gIF8Ic18IdV8IYl8Ic18IdF8Icl8IaV8Ibl8IZywgIHRoZQotICAgICAgICAgICAgICBzdHJpbmcgIHN1cHBsaWVkICBuZWVkcyAgdG8gIG1hdGNoICBhIHN1YnN0cmluZyBvZiB0aGUgbmFtZSBvZiBhCi0gICAgICAgICAgICAgIHN0b3BwZWQgam9iLiAgVGhlIF8Ic18IdV8IYl8Ic18IdF8Icl8IaV8Ibl8IZyB2YWx1ZSBwcm92aWRlcyBmdW5jdGlvbmFsaXR5ICBhbmFsby0KLSAgICAgICAgICAgICAgZ291cyAgdG8gdGhlICUIJT8IPyAgam9iIGlkZW50aWZpZXIgKHNlZSBKCEpPCE9CCEIgQwhDTwhPTghOVAhUUghSTwhPTAhMIGJlbG93KS4gIElmIHNldAotICAgICAgICAgICAgICB0byBhbnkgb3RoZXIgdmFsdWUsIHRoZSBzdXBwbGllZCBzdHJpbmcgbXVzdCBiZSBhICBwcmVmaXggIG9mICBhCisgICAgICAgICAgICAgIGlmICB0aGVyZSAgaXMgbW9yZSB0aGFuIG9uZSBqb2IgYmVnaW5uaW5nIHdpdGggdGhlIHN0cmluZyB0eXBlZCwKKyAgICAgICAgICAgICAgdGhlIGpvYiBtb3N0IHJlY2VudGx5IGFjY2Vzc2VkICBpcyAgc2VsZWN0ZWQuICAgVGhlICBfCG5fCGFfCG1fCGUgIG9mICBhCisgICAgICAgICAgICAgIHN0b3BwZWQgIGpvYiwgaW4gdGhpcyBjb250ZXh0LCBpcyB0aGUgY29tbWFuZCBsaW5lIHVzZWQgdG8gc3RhcnQKKyAgICAgICAgICAgICAgaXQuICBJZiBzZXQgdG8gdGhlIHZhbHVlIF8IZV8IeF8IYV8IY18IdCwgdGhlIHN0cmluZyBzdXBwbGllZCAgbXVzdCAgbWF0Y2gKKyAgICAgICAgICAgICAgdGhlICBuYW1lICBvZiAgYSAgc3RvcHBlZCAgam9iIGV4YWN0bHk7IGlmIHNldCB0byBfCHNfCHVfCGJfCHNfCHRfCHJfCGlfCG5fCGcsIHRoZQorICAgICAgICAgICAgICBzdHJpbmcgc3VwcGxpZWQgbmVlZHMgdG8gbWF0Y2ggYSBzdWJzdHJpbmcgIG9mICB0aGUgIG5hbWUgIG9mICBhCisgICAgICAgICAgICAgIHN0b3BwZWQgIGpvYi4gIFRoZSBfCHNfCHVfCGJfCHNfCHRfCHJfCGlfCG5fCGcgdmFsdWUgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBhbmFsby0KKyAgICAgICAgICAgICAgZ291cyB0byB0aGUgJQglPwg/ICBqb2IgaWRlbnRpZmllciAoc2VlIEoISk8IT0IIQiBDCENPCE9OCE5UCFRSCFJPCE9MCEwgYmVsb3cpLiAgSWYgIHNldAorICAgICAgICAgICAgICB0byAgYW55ICBvdGhlciAgdmFsdWUsIHRoZSBzdXBwbGllZCBzdHJpbmcgbXVzdCBiZSBhIHByZWZpeCBvZiBhCiAgICAgICAgICAgICAgIHN0b3BwZWQgam9iJ3MgbmFtZTsgdGhpcyBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IGFuYWxvZ291cyB0byB0aGUKICAgICAgICAgICAgICAgJQglXwhzXwh0XwhyXwhpXwhuXwhnIGpvYiBpZGVudGlmaWVyLgogCiAgICAgICAgaAhoaQhpcwhzdAh0YwhjaAhoYQhhcghycwhzCi0gICAgICAgICAgICAgIFRoZSB0d28gb3IgdGhyZWUgY2hhcmFjdGVycyB3aGljaCBjb250cm9sIGhpc3RvcnkgZXhwYW5zaW9uICBhbmQKKyAgICAgICAgICAgICAgVGhlICB0d28gb3IgdGhyZWUgY2hhcmFjdGVycyB3aGljaCBjb250cm9sIGhpc3RvcnkgZXhwYW5zaW9uIGFuZAogICAgICAgICAgICAgICB0b2tlbml6YXRpb24gKHNlZSBICEhJCElTCFNUCFRPCE9SCFJZCFkgRQhFWAhYUAhQQQhBTghOUwhTSQhJTwhPTghOIGJlbG93KS4gIFRoZSBmaXJzdCBjaGFyYWN0ZXIKLSAgICAgICAgICAgICAgaXMgdGhlIF8IaF8IaV8Ic18IdF8Ib18Icl8IeSBfCGVfCHhfCHBfCGFfCG5fCHNfCGlfCG9fCG4gY2hhcmFjdGVyLCB0aGUgY2hhcmFjdGVyIHdoaWNoICBzaWduYWxzCi0gICAgICAgICAgICAgIHRoZSAgc3RhcnQgIG9mICBhICBoaXN0b3J5ICBleHBhbnNpb24sIG5vcm1hbGx5IGAhCCEnLiAgVGhlIHNlY29uZAotICAgICAgICAgICAgICBjaGFyYWN0ZXIgaXMgdGhlIF8IcV8IdV8IaV8IY18IayBfCHNfCHVfCGJfCHNfCHRfCGlfCHRfCHVfCHRfCGlfCG9fCG4gY2hhcmFjdGVyLCB3aGljaCBpcyB1c2VkICBhcwotICAgICAgICAgICAgICBzaG9ydGhhbmQgIGZvciAgcmUtcnVubmluZyB0aGUgcHJldmlvdXMgY29tbWFuZCBlbnRlcmVkLCBzdWJzdGktCi0gICAgICAgICAgICAgIHR1dGluZyBvbmUgc3RyaW5nIGZvciBhbm90aGVyIGluIHRoZSBjb21tYW5kLiAgIFRoZSAgZGVmYXVsdCAgaXMKLSAgICAgICAgICAgICAgYF4IXicuICAgVGhlIG9wdGlvbmFsIHRoaXJkIGNoYXJhY3RlciBpcyB0aGUgY2hhcmFjdGVyIHdoaWNoIGluZGktCi0gICAgICAgICAgICAgIGNhdGVzIHRoYXQgdGhlIHJlbWFpbmRlciBvZiB0aGUgbGluZSBpcyBhIGNvbW1lbnQgd2hlbiBmb3VuZCAgYXMKLSAgICAgICAgICAgICAgdGhlICBmaXJzdCAgY2hhcmFjdGVyIG9mIGEgd29yZCwgbm9ybWFsbHkgYCMIIycuICBUaGUgaGlzdG9yeSBjb20tCisgICAgICAgICAgICAgIGlzICB0aGUgXwhoXwhpXwhzXwh0XwhvXwhyXwh5IF8IZV8IeF8IcF8IYV8Ibl8Ic18IaV8Ib18IbiBjaGFyYWN0ZXIsIHRoZSBjaGFyYWN0ZXIgd2hpY2ggc2lnbmFscworICAgICAgICAgICAgICB0aGUgc3RhcnQgb2YgYSBoaXN0b3J5ICBleHBhbnNpb24sICBub3JtYWxseSAgYCEIIScuICAgVGhlICBzZWNvbmQKKyAgICAgICAgICAgICAgY2hhcmFjdGVyICBpcyB0aGUgXwhxXwh1XwhpXwhjXwhrIF8Ic18IdV8IYl8Ic18IdF8IaV8IdF8IdV8IdF8IaV8Ib18IbiBjaGFyYWN0ZXIsIHdoaWNoIGlzIHVzZWQgYXMKKyAgICAgICAgICAgICAgc2hvcnRoYW5kIGZvciByZS1ydW5uaW5nIHRoZSBwcmV2aW91cyBjb21tYW5kICBlbnRlcmVkLCAgc3Vic3RpLQorICAgICAgICAgICAgICB0dXRpbmcgIG9uZSAgc3RyaW5nICBmb3IgYW5vdGhlciBpbiB0aGUgY29tbWFuZC4gIFRoZSBkZWZhdWx0IGlzCisgICAgICAgICAgICAgIGBeCF4nLiAgVGhlIG9wdGlvbmFsIHRoaXJkIGNoYXJhY3RlciBpcyB0aGUgY2hhcmFjdGVyIHdoaWNoICBpbmRpLQorICAgICAgICAgICAgICBjYXRlcyAgdGhhdCB0aGUgcmVtYWluZGVyIG9mIHRoZSBsaW5lIGlzIGEgY29tbWVudCB3aGVuIGZvdW5kIGFzCisgICAgICAgICAgICAgIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgYSB3b3JkLCBub3JtYWxseSBgIwgjJy4gIFRoZSAgaGlzdG9yeSAgY29tLQogICAgICAgICAgICAgICBtZW50IGNoYXJhY3RlciBjYXVzZXMgaGlzdG9yeSBzdWJzdGl0dXRpb24gdG8gYmUgc2tpcHBlZCBmb3IgdGhlCi0gICAgICAgICAgICAgIHJlbWFpbmluZyAgd29yZHMgb24gdGhlIGxpbmUuICBJdCBkb2VzIG5vdCBuZWNlc3NhcmlseSBjYXVzZSB0aGUKKyAgICAgICAgICAgICAgcmVtYWluaW5nIHdvcmRzIG9uIHRoZSBsaW5lLiAgSXQgZG9lcyBub3QgbmVjZXNzYXJpbHkgY2F1c2UgIHRoZQogICAgICAgICAgICAgICBzaGVsbCBwYXJzZXIgdG8gdHJlYXQgdGhlIHJlc3Qgb2YgdGhlIGxpbmUgYXMgYSBjb21tZW50LgogCiAgICBBCEFyCHJyCHJhCGF5CHlzCHMKLSAgICAgICBCCEJhCGFzCHNoCGggcHJvdmlkZXMgb25lLWRpbWVuc2lvbmFsIGluZGV4ZWQgYW5kIGFzc29jaWF0aXZlIGFycmF5ICB2YXJpYWJsZXMuCi0gICAgICAgQW55ICB2YXJpYWJsZSBtYXkgYmUgdXNlZCBhcyBhbiBpbmRleGVkIGFycmF5OyB0aGUgZAhkZQhlYwhjbAhsYQhhcghyZQhlIGJ1aWx0aW4gd2lsbAotICAgICAgIGV4cGxpY2l0bHkgZGVjbGFyZSBhbiBhcnJheS4gIFRoZXJlIGlzIG5vIG1heGltdW0gbGltaXQgb24gdGhlIHNpemUgIG9mCi0gICAgICAgYW4gIGFycmF5LCBub3IgYW55IHJlcXVpcmVtZW50IHRoYXQgbWVtYmVycyBiZSBpbmRleGVkIG9yIGFzc2lnbmVkIGNvbi0KLSAgICAgICB0aWd1b3VzbHkuICBJbmRleGVkIGFycmF5cyBhcmUgIHJlZmVyZW5jZWQgIHVzaW5nICBpbnRlZ2VycyAgKGluY2x1ZGluZwotICAgICAgIGFyaXRobWV0aWMgIGV4cHJlc3Npb25zKSAgIGFuZCAgYXJlICB6ZXJvLWJhc2VkOyBhc3NvY2lhdGl2ZSBhcnJheXMgYXJlCisgICAgICAgQghCYQhhcwhzaAhoICBwcm92aWRlcyBvbmUtZGltZW5zaW9uYWwgaW5kZXhlZCBhbmQgYXNzb2NpYXRpdmUgYXJyYXkgdmFyaWFibGVzLgorICAgICAgIEFueSB2YXJpYWJsZSBtYXkgYmUgdXNlZCBhcyBhbiBpbmRleGVkIGFycmF5OyB0aGUgZAhkZQhlYwhjbAhsYQhhcghyZQhlIGJ1aWx0aW4gIHdpbGwKKyAgICAgICBleHBsaWNpdGx5ICBkZWNsYXJlIGFuIGFycmF5LiAgVGhlcmUgaXMgbm8gbWF4aW11bSBsaW1pdCBvbiB0aGUgc2l6ZSBvZgorICAgICAgIGFuIGFycmF5LCBub3IgYW55IHJlcXVpcmVtZW50IHRoYXQgbWVtYmVycyBiZSBpbmRleGVkIG9yIGFzc2lnbmVkICBjb24tCisgICAgICAgdGlndW91c2x5LiAgIEluZGV4ZWQgIGFycmF5cyAgYXJlICByZWZlcmVuY2VkIHVzaW5nIGludGVnZXJzIChpbmNsdWRpbmcKKyAgICAgICBhcml0aG1ldGljIGV4cHJlc3Npb25zKSAgYW5kIGFyZSAgemVyby1iYXNlZDsgIGFzc29jaWF0aXZlICBhcnJheXMgIGFyZQogICAgICAgIHJlZmVyZW5jZWQgdXNpbmcgYXJiaXRyYXJ5IHN0cmluZ3MuCiAKLSAgICAgICBBbiBpbmRleGVkIGFycmF5IGlzIGNyZWF0ZWQgYXV0b21hdGljYWxseSBpZiBhbnkgdmFyaWFibGUgIGlzICBhc3NpZ25lZAorICAgICAgIEFuICBpbmRleGVkICBhcnJheSBpcyBjcmVhdGVkIGF1dG9tYXRpY2FsbHkgaWYgYW55IHZhcmlhYmxlIGlzIGFzc2lnbmVkCiAgICAgICAgdG8gdXNpbmcgdGhlIHN5bnRheCBfCG5fCGFfCG1fCGVbXwhzXwh1XwhiXwhzXwhjXwhyXwhpXwhwXwh0XT1fCHZfCGFfCGxfCHVfCGUuICBUaGUgXwhzXwh1XwhiXwhzXwhjXwhyXwhpXwhwXwh0IGlzIHRyZWF0ZWQgYXMKICAgICAgICBhbiBhcml0aG1ldGljIGV4cHJlc3Npb24gdGhhdCBtdXN0IGV2YWx1YXRlIHRvIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiBvcgotICAgICAgIGVxdWFsICB0byB6ZXJvLiAgVG8gZXhwbGljaXRseSBkZWNsYXJlIGFuIGluZGV4ZWQgYXJyYXksIHVzZSBkCGRlCGVjCGNsCGxhCGFyCHJlCGUgLQgtYQhhCisgICAgICAgZXF1YWwgdG8gemVyby4gIFRvIGV4cGxpY2l0bHkgZGVjbGFyZSBhbiBpbmRleGVkIGFycmF5LCB1c2UgZAhkZQhlYwhjbAhsYQhhcghyZQhlICAtCC1hCGEKICAgICAgICBfCG5fCGFfCG1fCGUgKHNlZSBTCFNICEhFCEVMCExMCEwgQghCVQhVSQhJTAhMVAhUSQhJTghOIEMIQ08IT00ITU0ITUEIQU4ITkQIRFMIUyBiZWxvdykuICBkCGRlCGVjCGNsCGxhCGFyCHJlCGUgLQgtYQhhIF8Ibl8IYV8IbV8IZVsIW18Ic18IdV8IYl8Ic18IY18Icl8IaV8IcF8IdF0IXSBpcwogICAgICAgIGFsc28gYWNjZXB0ZWQ7IHRoZSBfCHNfCHVfCGJfCHNfCGNfCHJfCGlfCHBfCHQgaXMgaWdub3JlZC4KIAogICAgICAgIEFzc29jaWF0aXZlIGFycmF5cyBhcmUgY3JlYXRlZCB1c2luZyBkCGRlCGVjCGNsCGxhCGFyCHJlCGUgLQgtQQhBIF8Ibl8IYV8IbV8IZS4KIAogICAgICAgIEF0dHJpYnV0ZXMgbWF5IGJlIHNwZWNpZmllZCBmb3IgYW4gYXJyYXkgdmFyaWFibGUgdXNpbmcgdGhlIGQIZGUIZWMIY2wIbGEIYXIIcmUIZSBhbmQKLSAgICAgICByCHJlCGVhCGFkCGRvCG9uCG5sCGx5CHkgYnVpbHRpbnMuICBFYWNoIGF0dHJpYnV0ZSBhcHBsaWVzIHRvIGFsbCBtZW1iZXJzIG9mIGFuICBhcnJheS4KKyAgICAgICByCHJlCGVhCGFkCGRvCG9uCG5sCGx5CHkgIGJ1aWx0aW5zLiAgRWFjaCBhdHRyaWJ1dGUgYXBwbGllcyB0byBhbGwgbWVtYmVycyBvZiBhbiBhcnJheS4KIAotICAgICAgIEFycmF5cyAgIGFyZSAgYXNzaWduZWQgIHRvICB1c2luZyAgY29tcG91bmQgIGFzc2lnbm1lbnRzICBvZiAgdGhlICBmb3JtCi0gICAgICAgXwhuXwhhXwhtXwhlPSgIKHZhbHVlXwgxIC4uLiB2YWx1ZV8IbikIKSwgIHdoZXJlICBlYWNoICBfCHZfCGFfCGxfCHVfCGUgIGlzICBvZiAgdGhlICBmb3JtICBbXwhzXwh1XwhiXwgtCi0gICAgICAgXwhzXwhjXwhyXwhpXwhwXwh0XT1fCHNfCHRfCHJfCGlfCG5fCGcuICAgSW5kZXhlZCAgYXJyYXkgYXNzaWdubWVudHMgZG8gbm90IHJlcXVpcmUgdGhlIGJyYWNrZXQKLSAgICAgICBhbmQgc3Vic2NyaXB0LiAgV2hlbiBhc3NpZ25pbmcgIHRvICBpbmRleGVkICBhcnJheXMsICBpZiAgdGhlICBvcHRpb25hbAotICAgICAgIGJyYWNrZXRzICBhbmQgc3Vic2NyaXB0IGFyZSBzdXBwbGllZCwgdGhhdCBpbmRleCBpcyBhc3NpZ25lZCB0bzsgb3RoZXItCisgICAgICAgQXJyYXlzICBhcmUgIGFzc2lnbmVkICB0byAgdXNpbmcgIGNvbXBvdW5kICBhc3NpZ25tZW50cyAgb2YgIHRoZSAgIGZvcm0KKyAgICAgICBfCG5fCGFfCG1fCGU9KAgodmFsdWVfCDEgIC4uLiAgdmFsdWVfCG4pCCksICB3aGVyZSAgZWFjaCAgXwh2XwhhXwhsXwh1XwhlICBpcyAgb2YgIHRoZSBmb3JtIFtfCHNfCHVfCGJfCC0KKyAgICAgICBfCHNfCGNfCHJfCGlfCHBfCHRdPV8Ic18IdF8Icl8IaV8Ibl8IZy4gIEluZGV4ZWQgYXJyYXkgYXNzaWdubWVudHMgZG8gbm90IHJlcXVpcmUgIHRoZSAgYnJhY2tldAorICAgICAgIGFuZCAgc3Vic2NyaXB0LiAgIFdoZW4gIGFzc2lnbmluZyAgdG8gIGluZGV4ZWQgIGFycmF5cywgaWYgdGhlIG9wdGlvbmFsCisgICAgICAgYnJhY2tldHMgYW5kIHN1YnNjcmlwdCBhcmUgc3VwcGxpZWQsIHRoYXQgaW5kZXggaXMgYXNzaWduZWQgdG87ICBvdGhlci0KICAgICAgICB3aXNlIHRoZSBpbmRleCBvZiB0aGUgZWxlbWVudCBhc3NpZ25lZCBpcyB0aGUgbGFzdCBpbmRleCBhc3NpZ25lZCB0byBieQogICAgICAgIHRoZSBzdGF0ZW1lbnQgcGx1cyBvbmUuICBJbmRleGluZyBzdGFydHMgYXQgemVyby4KIAogICAgICAgIFdoZW4gYXNzaWduaW5nIHRvIGFuIGFzc29jaWF0aXZlIGFycmF5LCB0aGUgc3Vic2NyaXB0IGlzIHJlcXVpcmVkLgogCi0gICAgICAgVGhpcyAgc3ludGF4IGlzIGFsc28gYWNjZXB0ZWQgYnkgdGhlIGQIZGUIZWMIY2wIbGEIYXIIcmUIZSBidWlsdGluLiAgSW5kaXZpZHVhbCBhcnJheQotICAgICAgIGVsZW1lbnRzIG1heSBiZSBhc3NpZ25lZCAgdG8gIHVzaW5nICB0aGUgIF8Ibl8IYV8IbV8IZVtfCHNfCHVfCGJfCHNfCGNfCHJfCGlfCHBfCHRdPV8Idl8IYV8IbF8IdV8IZSAgc3ludGF4CisgICAgICAgVGhpcyBzeW50YXggaXMgYWxzbyBhY2NlcHRlZCBieSB0aGUgZAhkZQhlYwhjbAhsYQhhcghyZQhlIGJ1aWx0aW4uICBJbmRpdmlkdWFsICBhcnJheQorICAgICAgIGVsZW1lbnRzICBtYXkgIGJlICBhc3NpZ25lZCAgdG8gIHVzaW5nIHRoZSBfCG5fCGFfCG1fCGVbXwhzXwh1XwhiXwhzXwhjXwhyXwhpXwhwXwh0XT1fCHZfCGFfCGxfCHVfCGUgc3ludGF4CiAgICAgICAgaW50cm9kdWNlZCBhYm92ZS4KIAotICAgICAgIEFueSAgZWxlbWVudCAgb2YgIGFuICBhcnJheSBtYXkgYmUgcmVmZXJlbmNlZCB1c2luZyAke18Ibl8IYV8IbV8IZVtfCHNfCHVfCGJfCHNfCGNfCHJfCGlfCHBfCHRdfS4KKyAgICAgICBBbnkgZWxlbWVudCBvZiBhbiBhcnJheSBtYXkgIGJlICByZWZlcmVuY2VkICB1c2luZyAgJHtfCG5fCGFfCG1fCGVbXwhzXwh1XwhiXwhzXwhjXwhyXwhpXwhwXwh0XX0uCiAgICAgICAgVGhlIGJyYWNlcyBhcmUgcmVxdWlyZWQgdG8gYXZvaWQgY29uZmxpY3RzIHdpdGggcGF0aG5hbWUgZXhwYW5zaW9uLiAgSWYKLSAgICAgICBfCHNfCHVfCGJfCHNfCGNfCHJfCGlfCHBfCHQgIGlzICBACEAgIG9yICoIKiwgdGhlIHdvcmQgZXhwYW5kcyB0byBhbGwgbWVtYmVycyBvZiBfCG5fCGFfCG1fCGUuICBUaGVzZQotICAgICAgIHN1YnNjcmlwdHMgZGlmZmVyIG9ubHkgd2hlbiB0aGUgd29yZCBhcHBlYXJzIHdpdGhpbiBkb3VibGUgcXVvdGVzLiAgIElmCisgICAgICAgXwhzXwh1XwhiXwhzXwhjXwhyXwhpXwhwXwh0IGlzIEAIQCBvciAqCCosIHRoZSB3b3JkIGV4cGFuZHMgdG8gYWxsIG1lbWJlcnMgIG9mICBfCG5fCGFfCG1fCGUuICAgVGhlc2UKKyAgICAgICBzdWJzY3JpcHRzICBkaWZmZXIgb25seSB3aGVuIHRoZSB3b3JkIGFwcGVhcnMgd2l0aGluIGRvdWJsZSBxdW90ZXMuICBJZgogICAgICAgIHRoZSB3b3JkIGlzIGRvdWJsZS1xdW90ZWQsICR7XwhuXwhhXwhtXwhlWypdfSBleHBhbmRzIHRvIGEgc2luZ2xlIHdvcmQgd2l0aCB0aGUKLSAgICAgICB2YWx1ZSBvZiBlYWNoIGFycmF5IG1lbWJlciBzZXBhcmF0ZWQgYnkgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiB0aGUgIEkISUYIRlMIUworICAgICAgIHZhbHVlICBvZiBlYWNoIGFycmF5IG1lbWJlciBzZXBhcmF0ZWQgYnkgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiB0aGUgSQhJRghGUwhTCiAgICAgICAgc3BlY2lhbCB2YXJpYWJsZSwgYW5kICR7XwhuXwhhXwhtXwhlW0BdfSBleHBhbmRzIGVhY2ggZWxlbWVudCBvZiBfCG5fCGFfCG1fCGUgdG8gYSBzZXAtCi0gICAgICAgYXJhdGUgd29yZC4gIFdoZW4gdGhlcmUgYXJlIG5vIGFycmF5ICBtZW1iZXJzLCAgJHtfCG5fCGFfCG1fCGVbQF19ICBleHBhbmRzICB0bwotICAgICAgIG5vdGhpbmcuICAgSWYgIHRoZSAgZG91YmxlLXF1b3RlZCAgZXhwYW5zaW9uICBvY2N1cnMgd2l0aGluIGEgd29yZCwgdGhlCi0gICAgICAgZXhwYW5zaW9uIG9mIHRoZSBmaXJzdCBwYXJhbWV0ZXIgaXMgam9pbmVkIHdpdGggdGhlIGJlZ2lubmluZyAgcGFydCAgb2YKLSAgICAgICB0aGUgIG9yaWdpbmFsICB3b3JkLCAgYW5kIHRoZSBleHBhbnNpb24gb2YgdGhlIGxhc3QgcGFyYW1ldGVyIGlzIGpvaW5lZAotICAgICAgIHdpdGggdGhlIGxhc3QgcGFydCBvZiB0aGUgb3JpZ2luYWwgd29yZC4gICBUaGlzICBpcyAgYW5hbG9nb3VzICB0byAgdGhlCi0gICAgICAgZXhwYW5zaW9uICBvZiAgdGhlICBzcGVjaWFsICBwYXJhbWV0ZXJzICoIKiBhbmQgQAhAIChzZWUgUwhTcAhwZQhlYwhjaQhpYQhhbAhsIFAIUGEIYXIIcmEIYW0IbWUIZXQIdGUIZXIIcnMIcwotICAgICAgIGFib3ZlKS4gICR7I18Ibl8IYV8IbV8IZVtfCHNfCHVfCGJfCHNfCGNfCHJfCGlfCHBfCHRdfSAgZXhwYW5kcyAgdG8gIHRoZSAgbGVuZ3RoICBvZiAgJHtfCG5fCGFfCG1fCGVbXwhzXwh1XwhiXwgtCi0gICAgICAgXwhzXwhjXwhyXwhpXwhwXwh0XX0uICAgSWYgXwhzXwh1XwhiXwhzXwhjXwhyXwhpXwhwXwh0IGlzICoIKiBvciBACEAsIHRoZSBleHBhbnNpb24gaXMgdGhlIG51bWJlciBvZiBlbGUtCi0gICAgICAgbWVudHMgaW4gdGhlIGFycmF5LiAgUmVmZXJlbmNpbmcgYW4gYXJyYXkgdmFyaWFibGUgd2l0aG91dCBhICBzdWJzY3JpcHQKKyAgICAgICBhcmF0ZSAgd29yZC4gICBXaGVuICB0aGVyZSAgYXJlIG5vIGFycmF5IG1lbWJlcnMsICR7XwhuXwhhXwhtXwhlW0BdfSBleHBhbmRzIHRvCisgICAgICAgbm90aGluZy4gIElmIHRoZSBkb3VibGUtcXVvdGVkIGV4cGFuc2lvbiAgb2NjdXJzICB3aXRoaW4gIGEgIHdvcmQsICB0aGUKKyAgICAgICBleHBhbnNpb24gIG9mICB0aGUgZmlyc3QgcGFyYW1ldGVyIGlzIGpvaW5lZCB3aXRoIHRoZSBiZWdpbm5pbmcgcGFydCBvZgorICAgICAgIHRoZSBvcmlnaW5hbCB3b3JkLCBhbmQgdGhlIGV4cGFuc2lvbiBvZiB0aGUgbGFzdCAgcGFyYW1ldGVyICBpcyAgam9pbmVkCisgICAgICAgd2l0aCAgdGhlICBsYXN0ICBwYXJ0ICBvZiAgdGhlIG9yaWdpbmFsIHdvcmQuICBUaGlzIGlzIGFuYWxvZ291cyB0byB0aGUKKyAgICAgICBleHBhbnNpb24gb2YgdGhlIHNwZWNpYWwgcGFyYW1ldGVycyAqCCogYW5kICBACEAgIChzZWUgIFMIU3AIcGUIZWMIY2kIaWEIYWwIbCAgUAhQYQhhcghyYQhhbQhtZQhldAh0ZQhlcghycwhzCisgICAgICAgYWJvdmUpLiAgICR7I18Ibl8IYV8IbV8IZVtfCHNfCHVfCGJfCHNfCGNfCHJfCGlfCHBfCHRdfSAgZXhwYW5kcyAgdG8gIHRoZSAgbGVuZ3RoICBvZiAke18Ibl8IYV8IbV8IZVtfCHNfCHVfCGJfCC0KKyAgICAgICBfCHNfCGNfCHJfCGlfCHBfCHRdfS4gIElmIF8Ic18IdV8IYl8Ic18IY18Icl8IaV8IcF8IdCBpcyAqCCogb3IgQAhALCB0aGUgZXhwYW5zaW9uIGlzIHRoZSBudW1iZXIgb2YgIGVsZS0KKyAgICAgICBtZW50cyAgaW4gdGhlIGFycmF5LiAgUmVmZXJlbmNpbmcgYW4gYXJyYXkgdmFyaWFibGUgd2l0aG91dCBhIHN1YnNjcmlwdAogICAgICAgIGlzIGVxdWl2YWxlbnQgdG8gcmVmZXJlbmNpbmcgdGhlIGFycmF5IHdpdGggYSBzdWJzY3JpcHQgb2YgMC4KIAorICAgICAgIEFuIGFycmF5IHZhcmlhYmxlIGlzIGNvbnNpZGVyZWQgc2V0IGlmIGEgc3Vic2NyaXB0IGhhcyBiZWVuIGFzc2lnbmVkICBhCisgICAgICAgdmFsdWUuICBUaGUgbnVsbCBzdHJpbmcgaXMgYSB2YWxpZCB2YWx1ZS4KKwogICAgICAgIFRoZSAgdQh1bghucwhzZQhldAh0ICBidWlsdGluICBpcyAgdXNlZCB0byBkZXN0cm95IGFycmF5cy4gIHUIdW4IbnMIc2UIZXQIdCBfCG5fCGFfCG1fCGVbXwhzXwh1XwhiXwhzXwhjXwhyXwhpXwhwXwh0XQogICAgICAgIGRlc3Ryb3lzIHRoZSBhcnJheSBlbGVtZW50IGF0IGluZGV4IF8Ic18IdV8IYl8Ic18IY18Icl8IaV8IcF8IdC4gIENhcmUgbXVzdCBiZSAgdGFrZW4gIHRvCi0gICAgICAgYXZvaWQgdW53YW50ZWQgc2lkZSBlZmZlY3RzIGNhdXNlZCBieSBmaWxlbmFtZSBnZW5lcmF0aW9uLiAgdQh1bghucwhzZQhldAh0IF8Ibl8IYV8IbV8IZSwKKyAgICAgICBhdm9pZCAgdW53YW50ZWQgc2lkZSBlZmZlY3RzIGNhdXNlZCBieSBwYXRobmFtZSBleHBhbnNpb24uICB1CHVuCG5zCHNlCGV0CHQgXwhuXwhhXwhtXwhlLAogICAgICAgIHdoZXJlIF8Ibl8IYV8IbV8IZSBpcyBhbiBhcnJheSwgb3IgdQh1bghucwhzZQhldAh0IF8Ibl8IYV8IbV8IZVtfCHNfCHVfCGJfCHNfCGNfCHJfCGlfCHBfCHRdLCB3aGVyZSBfCHNfCHVfCGJfCHNfCGNfCHJfCGlfCHBfCHQgaXMgICoIKgogICAgICAgIG9yIEAIQCwgcmVtb3ZlcyB0aGUgZW50aXJlIGFycmF5LgogCkBAIC0xMzgyLDE1ICsxNDA4LDE1IEBACiAgICAgICAgICAgICAgIGRpZ2l0LCBvciB3aGVuIF8IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8IciBpcyBmb2xsb3dlZCBieSBhIGNoYXJhY3RlciB3aGljaCBpcyBub3QKICAgICAgICAgICAgICAgdG8gYmUgaW50ZXJwcmV0ZWQgYXMgcGFydCBvZiBpdHMgbmFtZS4KIAotICAgICAgIElmIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyIGlzIGFuIGV4Y2xhbWF0aW9uIHBvaW50LCBhIGxldmVsIG9mCi0gICAgICAgdmFyaWFibGUgIGluZGlyZWN0aW9uICBpcyBpbnRyb2R1Y2VkLiAgQghCYQhhcwhzaAhoIHVzZXMgdGhlIHZhbHVlIG9mIHRoZSB2YXJpLQotICAgICAgIGFibGUgZm9ybWVkIGZyb20gdGhlIHJlc3Qgb2YgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyIGFzIHRoZSAgbmFtZSAgb2YgIHRoZSAgdmFyaWFibGU7Ci0gICAgICAgdGhpcyAgdmFyaWFibGUgIGlzICB0aGVuIGV4cGFuZGVkIGFuZCB0aGF0IHZhbHVlIGlzIHVzZWQgaW4gdGhlIHJlc3Qgb2YKLSAgICAgICB0aGUgc3Vic3RpdHV0aW9uLCByYXRoZXIgdGhhbiB0aGUgdmFsdWUgb2YgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyIGl0c2VsZi4gICBUaGlzICBpcwotICAgICAgIGtub3duIGFzIF8IaV8Ibl8IZF8IaV8Icl8IZV8IY18IdCBfCGVfCHhfCHBfCGFfCG5fCHNfCGlfCG9fCG4uICBUaGUgZXhjZXB0aW9ucyB0byB0aGlzIGFyZSB0aGUgZXhwYW5zaW9ucwotICAgICAgIG9mICR7IV8IcF8Icl8IZV8IZl8IaV8IeCp9IGFuZCAkeyEIIV8Ibl8IYV8IbV8IZVtfCEBdfSBkZXNjcmliZWQgYmVsb3cuICBUaGUgZXhjbGFtYXRpb24gIHBvaW50Ci0gICAgICAgbXVzdCAgaW1tZWRpYXRlbHkgIGZvbGxvdyB0aGUgbGVmdCBicmFjZSBpbiBvcmRlciB0byBpbnRyb2R1Y2UgaW5kaXJlYy0KLSAgICAgICB0aW9uLgorICAgICAgIElmIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyIGlzICBhbiAgZXhjbGFtYXRpb24gIHBvaW50ICAoIQghKSwgIGEKKyAgICAgICBsZXZlbCAgb2YgIHZhcmlhYmxlICBpbmRpcmVjdGlvbiBpcyBpbnRyb2R1Y2VkLiAgQghCYQhhcwhzaAhoIHVzZXMgdGhlIHZhbHVlIG9mCisgICAgICAgdGhlIHZhcmlhYmxlIGZvcm1lZCBmcm9tIHRoZSByZXN0IG9mIF8IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8IciBhcyB0aGUgbmFtZSBvZiB0aGUgdmFyaS0KKyAgICAgICBhYmxlOyB0aGlzIHZhcmlhYmxlIGlzIHRoZW4gZXhwYW5kZWQgYW5kIHRoYXQgdmFsdWUgaXMgdXNlZCBpbiB0aGUgcmVzdAorICAgICAgIG9mIHRoZSBzdWJzdGl0dXRpb24sIHJhdGhlciB0aGFuIHRoZSB2YWx1ZSBvZiBfCHBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHIgIGl0c2VsZi4gICBUaGlzCisgICAgICAgaXMgIGtub3duIGFzIF8IaV8Ibl8IZF8IaV8Icl8IZV8IY18IdCBfCGVfCHhfCHBfCGFfCG5fCHNfCGlfCG9fCG4uICBUaGUgZXhjZXB0aW9ucyB0byB0aGlzIGFyZSB0aGUgZXhwYW4tCisgICAgICAgc2lvbnMgb2YgJHshXwhwXwhyXwhlXwhmXwhpXwh4Kn0gYW5kICR7IQghXwhuXwhhXwhtXwhlW18IQF19IGRlc2NyaWJlZCBiZWxvdy4gIFRoZSAgZXhjbGFtYXRpb24KKyAgICAgICBwb2ludCAgbXVzdCAgaW1tZWRpYXRlbHkgIGZvbGxvdyAgdGhlICBsZWZ0IGJyYWNlIGluIG9yZGVyIHRvIGludHJvZHVjZQorICAgICAgIGluZGlyZWN0aW9uLgogCiAgICAgICAgSW4gZWFjaCBvZiB0aGUgY2FzZXMgYmVsb3csIF8Id18Ib18Icl8IZCBpcyBzdWJqZWN0IHRvIHRpbGRlIGV4cGFuc2lvbiwgcGFyYW1lLQogICAgICAgIHRlciBleHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhbmQgYXJpdGhtZXRpYyBleHBhbnNpb24uCkBAIC0xNjU1LDcgKzE2ODEsNyBAQAogICAgICAgIFRoZSBzcGVjaWFsIHBhdHRlcm4gY2hhcmFjdGVycyBoYXZlIHRoZSBmb2xsb3dpbmcgbWVhbmluZ3M6CiAKICAgICAgICAqCCogICAgICBNYXRjaGVzICBhbnkgIHN0cmluZywgaW5jbHVkaW5nIHRoZSBudWxsIHN0cmluZy4gIFdoZW4gdGhlIGcIZ2wIbG8Ib2IIYi0ILQotICAgICAgICAgICAgICBzCHN0CHRhCGFyCHIgc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQsIGFuZCAqCCogaXMgdXNlZCBpbiBhIGZpbGVuYW1lIGV4cGFuLQorICAgICAgICAgICAgICBzCHN0CHRhCGFyCHIgc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQsIGFuZCAqCCogaXMgdXNlZCBpbiBhIHBhdGhuYW1lIGV4cGFuLQogICAgICAgICAgICAgICBzaW9uICBjb250ZXh0LCAgdHdvICBhZGphY2VudCAgKggqcyAgdXNlZCBhcyBhIHNpbmdsZSBwYXR0ZXJuIHdpbGwKICAgICAgICAgICAgICAgbWF0Y2ggYWxsIGZpbGVzIGFuZCB6ZXJvIG9yIG1vcmUgZGlyZWN0b3JpZXMgYW5kIHN1YmRpcmVjdG9yaWVzLgogICAgICAgICAgICAgICBJZiAgZm9sbG93ZWQgYnkgYSAvCC8sIHR3byBhZGphY2VudCAqCCpzIHdpbGwgbWF0Y2ggb25seSBkaXJlY3RvcmllcwpAQCAtMTcyMCwzNyArMTc0Niw0NCBAQAogICAgICAgIGFueXdoZXJlIHdpdGhpbiBhIF8Ic18IaV8IbV8IcF8IbF8IZSBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgb3IgbWF5IGZvbGxvdyBhIF8IY18Ib18IbV8IbV8IYV8Ibl8IZC4gIFJlZGlyZWN0aW9ucwogICAgICAgIGFyZSBwcm9jZXNzZWQgaW4gdGhlIG9yZGVyIHRoZXkgYXBwZWFyLCBmcm9tIGxlZnQgdG8gcmlnaHQuCiAKLSAgICAgICBJbiB0aGUgZm9sbG93aW5nIGRlc2NyaXB0aW9ucywgaWYgdGhlIGZpbGUgZGVzY3JpcHRvciBudW1iZXIgIGlzICBvbWl0LQotICAgICAgIHRlZCwgIGFuZCB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIHRoZSByZWRpcmVjdGlvbiBvcGVyYXRvciBpcyA8CDwsIHRoZSByZS0KLSAgICAgICBkaXJlY3Rpb24gcmVmZXJzIHRvIHRoZSBzdGFuZGFyZCBpbnB1dCAoZmlsZSAgZGVzY3JpcHRvciAgMCkuICAgSWYgIHRoZQotICAgICAgIGZpcnN0ICBjaGFyYWN0ZXIgIG9mICB0aGUgIHJlZGlyZWN0aW9uICBvcGVyYXRvciAgaXMgPgg+LCB0aGUgcmVkaXJlY3Rpb24KKyAgICAgICBFYWNoIHJlZGlyZWN0aW9uIHRoYXQgbWF5IGJlIHByZWNlZGVkIGJ5IGEgZmlsZSBkZXNjcmlwdG9yICBudW1iZXIgIG1heQorICAgICAgIGluc3RlYWQgYmUgcHJlY2VkZWQgYnkgYSB3b3JkIG9mIHRoZSBmb3JtIHtfCHZfCGFfCHJfCG5fCGFfCG1fCGV9LiAgSW4gdGhpcyBjYXNlLCBmb3IKKyAgICAgICBlYWNoIHJlZGlyZWN0aW9uIG9wZXJhdG9yIGV4Y2VwdCA+Ji0gYW5kIDwmLSwgdGhlIHNoZWxsIHdpbGwgYWxsb2NhdGUgYQorICAgICAgIGZpbGUgIGRlc2NyaXB0b3IgIGdyZWF0ZXIgIHRoYW4gMTAgYW5kIGFzc2lnbiBpdCB0byBfCHZfCGFfCHJfCG5fCGFfCG1fCGUuICBJZiA+Ji0gb3IKKyAgICAgICA8Ji0gaXMgcHJlY2VkZWQgYnkge18Idl8IYV8Icl8Ibl8IYV8IbV8IZX0sIHRoZSB2YWx1ZSBvZiAgXwh2XwhhXwhyXwhuXwhhXwhtXwhlICBkZWZpbmVzICB0aGUgIGZpbGUKKyAgICAgICBkZXNjcmlwdG9yIHRvIGNsb3NlLgorCisgICAgICAgSW4gIHRoZSAgZm9sbG93aW5nIGRlc2NyaXB0aW9ucywgaWYgdGhlIGZpbGUgZGVzY3JpcHRvciBudW1iZXIgaXMgb21pdC0KKyAgICAgICB0ZWQsIGFuZCB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIHRoZSByZWRpcmVjdGlvbiBvcGVyYXRvciBpcyA8CDwsIHRoZSAgcmUtCisgICAgICAgZGlyZWN0aW9uICByZWZlcnMgIHRvICB0aGUgIHN0YW5kYXJkIGlucHV0IChmaWxlIGRlc2NyaXB0b3IgMCkuICBJZiB0aGUKKyAgICAgICBmaXJzdCBjaGFyYWN0ZXIgb2YgdGhlICByZWRpcmVjdGlvbiAgb3BlcmF0b3IgIGlzICA+CD4sICB0aGUgIHJlZGlyZWN0aW9uCiAgICAgICAgcmVmZXJzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQgKGZpbGUgZGVzY3JpcHRvciAxKS4KIAotICAgICAgIFRoZSB3b3JkIGZvbGxvd2luZyB0aGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IgaW4gdGhlICBmb2xsb3dpbmcgIGRlc2NyaXAtCi0gICAgICAgdGlvbnMsICB1bmxlc3MgIG90aGVyd2lzZSBub3RlZCwgaXMgc3ViamVjdGVkIHRvIGJyYWNlIGV4cGFuc2lvbiwgdGlsZGUKKyAgICAgICBUaGUgIHdvcmQgIGZvbGxvd2luZyB0aGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IgaW4gdGhlIGZvbGxvd2luZyBkZXNjcmlwLQorICAgICAgIHRpb25zLCB1bmxlc3Mgb3RoZXJ3aXNlIG5vdGVkLCBpcyBzdWJqZWN0ZWQgdG8gYnJhY2UgIGV4cGFuc2lvbiwgIHRpbGRlCiAgICAgICAgZXhwYW5zaW9uLCBwYXJhbWV0ZXIgZXhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1dGlvbiwgYXJpdGhtZXRpYyBleHBhbi0KLSAgICAgICBzaW9uLCAgcXVvdGUgIHJlbW92YWwsICBwYXRobmFtZSAgZXhwYW5zaW9uLCBhbmQgd29yZCBzcGxpdHRpbmcuICBJZiBpdAorICAgICAgIHNpb24sIHF1b3RlIHJlbW92YWwsIHBhdGhuYW1lIGV4cGFuc2lvbiwgYW5kICB3b3JkICBzcGxpdHRpbmcuICAgSWYgIGl0CiAgICAgICAgZXhwYW5kcyB0byBtb3JlIHRoYW4gb25lIHdvcmQsIGIIYmEIYXMIc2gIaCByZXBvcnRzIGFuIGVycm9yLgogCi0gICAgICAgTm90ZSB0aGF0IHRoZSBvcmRlciBvZiByZWRpcmVjdGlvbnMgaXMgc2lnbmlmaWNhbnQuICBGb3IgIGV4YW1wbGUsICB0aGUKKyAgICAgICBOb3RlICB0aGF0ICB0aGUgb3JkZXIgb2YgcmVkaXJlY3Rpb25zIGlzIHNpZ25pZmljYW50LiAgRm9yIGV4YW1wbGUsIHRoZQogICAgICAgIGNvbW1hbmQKIAogICAgICAgICAgICAgICBscyA+CD4gZGlybGlzdCAyPgg+JggmMQogCi0gICAgICAgZGlyZWN0cyAgYm90aCAgc3RhbmRhcmQgIG91dHB1dCBhbmQgc3RhbmRhcmQgZXJyb3IgdG8gdGhlIGZpbGUgXwhkXwhpXwhyXwhsXwhpXwhzXwh0LAorICAgICAgIGRpcmVjdHMgYm90aCBzdGFuZGFyZCBvdXRwdXQgYW5kIHN0YW5kYXJkIGVycm9yIHRvICB0aGUgIGZpbGUgIF8IZF8IaV8Icl8IbF8IaV8Ic18IdCwKICAgICAgICB3aGlsZSB0aGUgY29tbWFuZAogCiAgICAgICAgICAgICAgIGxzIDI+CD4mCCYxID4IPiBkaXJsaXN0CiAKLSAgICAgICBkaXJlY3RzIG9ubHkgdGhlIHN0YW5kYXJkIG91dHB1dCB0byBmaWxlIF8IZF8IaV8Icl8IbF8IaV8Ic18IdCwgYmVjYXVzZSB0aGUgIHN0YW5kYXJkCi0gICAgICAgZXJyb3IgIHdhcyBkdXBsaWNhdGVkIGFzIHN0YW5kYXJkIG91dHB1dCBiZWZvcmUgdGhlIHN0YW5kYXJkIG91dHB1dCB3YXMKLSAgICAgICByZWRpcmVjdGVkIHRvIF8IZF8IaV8Icl8IbF8IaV8Ic18IdC4KKyAgICAgICBkaXJlY3RzICBvbmx5IHRoZSBzdGFuZGFyZCBvdXRwdXQgdG8gZmlsZSBfCGRfCGlfCHJfCGxfCGlfCHNfCHQsIGJlY2F1c2UgdGhlIHN0YW5kYXJkCisgICAgICAgZXJyb3Igd2FzIGR1cGxpY2F0ZWQgZnJvbSB0aGUgc3RhbmRhcmQgb3V0cHV0IGJlZm9yZSB0aGUgc3RhbmRhcmQgIG91dC0KKyAgICAgICBwdXQgd2FzIHJlZGlyZWN0ZWQgdG8gXwhkXwhpXwhyXwhsXwhpXwhzXwh0LgogCiAgICAgICAgQghCYQhhcwhzaAhoIGhhbmRsZXMgc2V2ZXJhbCBmaWxlbmFtZXMgc3BlY2lhbGx5IHdoZW4gdGhleSBhcmUgdXNlZCBpbiByZWRpcmVjLQogICAgICAgIHRpb25zLCBhcyBkZXNjcmliZWQgaW4gdGhlIGZvbGxvd2luZyB0YWJsZToKIAogICAgICAgICAgICAgICAvCC9kCGRlCGV2CHYvCC9mCGZkCGQvCC9fCGZfCGQKLSAgICAgICAgICAgICAgICAgICAgIElmICBfCGZfCGQgIGlzICBhIHZhbGlkIGludGVnZXIsIGZpbGUgZGVzY3JpcHRvciBfCGZfCGQgaXMgZHVwbGktCisgICAgICAgICAgICAgICAgICAgICBJZiBfCGZfCGQgaXMgYSB2YWxpZCBpbnRlZ2VyLCBmaWxlIGRlc2NyaXB0b3IgIF8IZl8IZCAgaXMgIGR1cGxpLQogICAgICAgICAgICAgICAgICAgICAgY2F0ZWQuCiAgICAgICAgICAgICAgIC8IL2QIZGUIZXYIdi8IL3MIc3QIdGQIZGkIaW4IbgogICAgICAgICAgICAgICAgICAgICAgRmlsZSBkZXNjcmlwdG9yIDAgaXMgZHVwbGljYXRlZC4KQEAgLTE3NjAsMjIgKzE3OTMsMjIgQEAKICAgICAgICAgICAgICAgICAgICAgIEZpbGUgZGVzY3JpcHRvciAyIGlzIGR1cGxpY2F0ZWQuCiAgICAgICAgICAgICAgIC8IL2QIZGUIZXYIdi8IL3QIdGMIY3AIcC8IL18IaF8Ib18Ic18IdC8IL18IcF8Ib18Icl8IdAogICAgICAgICAgICAgICAgICAgICAgSWYgXwhoXwhvXwhzXwh0IGlzIGEgdmFsaWQgaG9zdG5hbWUgb3IgSW50ZXJuZXQgYWRkcmVzcywgYW5kIF8IcF8Ib18Icl8IdAotICAgICAgICAgICAgICAgICAgICAgaXMgIGFuIGludGVnZXIgcG9ydCBudW1iZXIgb3Igc2VydmljZSBuYW1lLCBiCGJhCGFzCHNoCGggYXR0ZW1wdHMKKyAgICAgICAgICAgICAgICAgICAgIGlzIGFuIGludGVnZXIgcG9ydCBudW1iZXIgb3Igc2VydmljZSBuYW1lLCBiCGJhCGFzCHNoCGggIGF0dGVtcHRzCiAgICAgICAgICAgICAgICAgICAgICB0byBvcGVuIGEgVENQIGNvbm5lY3Rpb24gdG8gdGhlIGNvcnJlc3BvbmRpbmcgc29ja2V0LgogICAgICAgICAgICAgICAvCC9kCGRlCGV2CHYvCC91CHVkCGRwCHAvCC9fCGhfCG9fCHNfCHQvCC9fCHBfCG9fCHJfCHQKICAgICAgICAgICAgICAgICAgICAgIElmIF8IaF8Ib18Ic18IdCBpcyBhIHZhbGlkIGhvc3RuYW1lIG9yIEludGVybmV0IGFkZHJlc3MsIGFuZCBfCHBfCG9fCHJfCHQKLSAgICAgICAgICAgICAgICAgICAgIGlzICBhbiBpbnRlZ2VyIHBvcnQgbnVtYmVyIG9yIHNlcnZpY2UgbmFtZSwgYghiYQhhcwhzaAhoIGF0dGVtcHRzCisgICAgICAgICAgICAgICAgICAgICBpcyBhbiBpbnRlZ2VyIHBvcnQgbnVtYmVyIG9yIHNlcnZpY2UgbmFtZSwgYghiYQhhcwhzaAhoICBhdHRlbXB0cwogICAgICAgICAgICAgICAgICAgICAgdG8gb3BlbiBhIFVEUCBjb25uZWN0aW9uIHRvIHRoZSBjb3JyZXNwb25kaW5nIHNvY2tldC4KIAogICAgICAgIEEgZmFpbHVyZSB0byBvcGVuIG9yIGNyZWF0ZSBhIGZpbGUgY2F1c2VzIHRoZSByZWRpcmVjdGlvbiB0byBmYWlsLgogCi0gICAgICAgUmVkaXJlY3Rpb25zIHVzaW5nIGZpbGUgZGVzY3JpcHRvcnMgZ3JlYXRlciB0aGFuIDkgc2hvdWxkIGJlIHVzZWQgIHdpdGgKLSAgICAgICBjYXJlLCAgYXMgdGhleSBtYXkgY29uZmxpY3Qgd2l0aCBmaWxlIGRlc2NyaXB0b3JzIHRoZSBzaGVsbCB1c2VzIGludGVyLQorICAgICAgIFJlZGlyZWN0aW9ucyAgdXNpbmcgZmlsZSBkZXNjcmlwdG9ycyBncmVhdGVyIHRoYW4gOSBzaG91bGQgYmUgdXNlZCB3aXRoCisgICAgICAgY2FyZSwgYXMgdGhleSBtYXkgY29uZmxpY3Qgd2l0aCBmaWxlIGRlc2NyaXB0b3JzIHRoZSBzaGVsbCB1c2VzICBpbnRlci0KICAgICAgICBuYWxseS4KIAogICAgUghSZQhlZAhkaQhpcghyZQhlYwhjdAh0aQhpbghuZwhnIEkISW4IbnAIcHUIdXQIdAogICAgICAgIFJlZGlyZWN0aW9uIG9mIGlucHV0IGNhdXNlcyB0aGUgZmlsZSB3aG9zZSBuYW1lIHJlc3VsdHMgZnJvbSB0aGUgZXhwYW4tCi0gICAgICAgc2lvbiAgb2YgIF8Id18Ib18Icl8IZCAgdG8gIGJlICBvcGVuZWQgZm9yIHJlYWRpbmcgb24gZmlsZSBkZXNjcmlwdG9yIF8Ibiwgb3IgdGhlCisgICAgICAgc2lvbiBvZiBfCHdfCG9fCHJfCGQgdG8gYmUgb3BlbmVkIGZvciByZWFkaW5nIG9uICBmaWxlICBkZXNjcmlwdG9yICBfCG4sICBvciAgdGhlCiAgICAgICAgc3RhbmRhcmQgaW5wdXQgKGZpbGUgZGVzY3JpcHRvciAwKSBpZiBfCG4gaXMgbm90IHNwZWNpZmllZC4KIAogICAgICAgIFRoZSBnZW5lcmFsIGZvcm1hdCBmb3IgcmVkaXJlY3RpbmcgaW5wdXQgaXM6CkBAIC0xNzgzLDI3ICsxODE2LDI3IEBACiAgICAgICAgICAgICAgIFtfCG5dPAg8Xwh3XwhvXwhyXwhkCiAKICAgIFIIUmUIZWQIZGkIaXIIcmUIZWMIY3QIdGkIaW4IbmcIZyBPCE91CHV0CHRwCHB1CHV0CHQKLSAgICAgICBSZWRpcmVjdGlvbiBvZiBvdXRwdXQgY2F1c2VzIHRoZSAgZmlsZSAgd2hvc2UgIG5hbWUgIHJlc3VsdHMgIGZyb20gIHRoZQorICAgICAgIFJlZGlyZWN0aW9uICBvZiAgb3V0cHV0ICBjYXVzZXMgIHRoZSAgZmlsZSAgd2hvc2UgbmFtZSByZXN1bHRzIGZyb20gdGhlCiAgICAgICAgZXhwYW5zaW9uIG9mIF8Id18Ib18Icl8IZCB0byBiZSBvcGVuZWQgZm9yIHdyaXRpbmcgb24gZmlsZSBkZXNjcmlwdG9yIF8Ibiwgb3IgdGhlCiAgICAgICAgc3RhbmRhcmQgb3V0cHV0IChmaWxlIGRlc2NyaXB0b3IgMSkgaWYgXwhuIGlzIG5vdCBzcGVjaWZpZWQuICBJZiB0aGUgZmlsZQotICAgICAgIGRvZXMgIG5vdCBleGlzdCBpdCBpcyBjcmVhdGVkOyBpZiBpdCBkb2VzIGV4aXN0IGl0IGlzIHRydW5jYXRlZCB0byB6ZXJvCisgICAgICAgZG9lcyBub3QgZXhpc3QgaXQgaXMgY3JlYXRlZDsgaWYgaXQgZG9lcyBleGlzdCBpdCBpcyB0cnVuY2F0ZWQgdG8gIHplcm8KICAgICAgICBzaXplLgogCiAgICAgICAgVGhlIGdlbmVyYWwgZm9ybWF0IGZvciByZWRpcmVjdGluZyBvdXRwdXQgaXM6CiAKICAgICAgICAgICAgICAgW18Ibl0+CD5fCHdfCG9fCHJfCGQKIAotICAgICAgIElmIHRoZSByZWRpcmVjdGlvbiBvcGVyYXRvciBpcyA+CD4sIGFuZCB0aGUgbghubwhvYwhjbAhsbwhvYghiYghiZQhlcghyIG9wdGlvbiB0byAgdGhlICBzCHNlCGV0CHQKLSAgICAgICBidWlsdGluICBoYXMgIGJlZW4gZW5hYmxlZCwgdGhlIHJlZGlyZWN0aW9uIHdpbGwgZmFpbCBpZiB0aGUgZmlsZSB3aG9zZQotICAgICAgIG5hbWUgcmVzdWx0cyBmcm9tIHRoZSBleHBhbnNpb24gb2YgXwh3XwhvXwhyXwhkIGV4aXN0cyBhbmQgaXMgYSAgcmVndWxhciAgZmlsZS4KKyAgICAgICBJZiAgdGhlICByZWRpcmVjdGlvbiBvcGVyYXRvciBpcyA+CD4sIGFuZCB0aGUgbghubwhvYwhjbAhsbwhvYghiYghiZQhlcghyIG9wdGlvbiB0byB0aGUgcwhzZQhldAh0CisgICAgICAgYnVpbHRpbiBoYXMgYmVlbiBlbmFibGVkLCB0aGUgcmVkaXJlY3Rpb24gd2lsbCBmYWlsIGlmIHRoZSAgZmlsZSAgd2hvc2UKKyAgICAgICBuYW1lICByZXN1bHRzICBmcm9tIHRoZSBleHBhbnNpb24gb2YgXwh3XwhvXwhyXwhkIGV4aXN0cyBhbmQgaXMgYSByZWd1bGFyIGZpbGUuCiAgICAgICAgSWYgdGhlIHJlZGlyZWN0aW9uIG9wZXJhdG9yIGlzID4IPnwIfCwgb3IgdGhlIHJlZGlyZWN0aW9uIG9wZXJhdG9yIGlzID4IPiBhbmQKICAgICAgICB0aGUgbghubwhvYwhjbAhsbwhvYghiYghiZQhlcghyIG9wdGlvbiB0byB0aGUgcwhzZQhldAh0IGJ1aWx0aW4gY29tbWFuZCBpcyBub3QgZW5hYmxlZCwgdGhlIHJlLQogICAgICAgIGRpcmVjdGlvbiBpcyBhdHRlbXB0ZWQgZXZlbiBpZiB0aGUgZmlsZSBuYW1lZCBieSBfCHdfCG9fCHJfCGQgZXhpc3RzLgogCiAgICBBCEFwCHBwCHBlCGVuCG5kCGRpCGluCG5nCGcgUghSZQhlZAhkaQhpcghyZQhlYwhjdAh0ZQhlZAhkIE8IT3UIdXQIdHAIcHUIdXQIdAotICAgICAgIFJlZGlyZWN0aW9uICBvZiAgb3V0cHV0ICBpbiAgdGhpcyAgZmFzaGlvbiAgY2F1c2VzICB0aGUgZmlsZSB3aG9zZSBuYW1lCi0gICAgICAgcmVzdWx0cyBmcm9tIHRoZSBleHBhbnNpb24gb2YgXwh3XwhvXwhyXwhkIHRvIGJlIG9wZW5lZCBmb3IgYXBwZW5kaW5nICBvbiAgZmlsZQotICAgICAgIGRlc2NyaXB0b3IgIF8IbiwgIG9yICB0aGUgc3RhbmRhcmQgb3V0cHV0IChmaWxlIGRlc2NyaXB0b3IgMSkgaWYgXwhuIGlzIG5vdAorICAgICAgIFJlZGlyZWN0aW9uIG9mIG91dHB1dCBpbiAgdGhpcyAgZmFzaGlvbiAgY2F1c2VzICB0aGUgIGZpbGUgIHdob3NlICBuYW1lCisgICAgICAgcmVzdWx0cyAgZnJvbSAgdGhlIGV4cGFuc2lvbiBvZiBfCHdfCG9fCHJfCGQgdG8gYmUgb3BlbmVkIGZvciBhcHBlbmRpbmcgb24gZmlsZQorICAgICAgIGRlc2NyaXB0b3IgXwhuLCBvciB0aGUgc3RhbmRhcmQgb3V0cHV0IChmaWxlIGRlc2NyaXB0b3IgMSkgaWYgIF8IbiAgaXMgIG5vdAogICAgICAgIHNwZWNpZmllZC4gIElmIHRoZSBmaWxlIGRvZXMgbm90IGV4aXN0IGl0IGlzIGNyZWF0ZWQuCiAKICAgICAgICBUaGUgZ2VuZXJhbCBmb3JtYXQgZm9yIGFwcGVuZGluZyBvdXRwdXQgaXM6CkBAIC0xODEyLDExICsxODQ1LDExIEBACiAKIAogICAgUghSZQhlZAhkaQhpcghyZQhlYwhjdAh0aQhpbghuZwhnIFMIU3QIdGEIYW4IbmQIZGEIYXIIcmQIZCBPCE91CHV0CHRwCHB1CHV0CHQgYQhhbghuZAhkIFMIU3QIdGEIYW4IbmQIZGEIYXIIcmQIZCBFCEVyCHJyCHJvCG9yCHIKLSAgICAgICBUaGlzIGNvbnN0cnVjdCBhbGxvd3MgYm90aCB0aGUgc3RhbmRhcmQgb3V0cHV0IChmaWxlIGRlc2NyaXB0b3IgMSkgIGFuZAotICAgICAgIHRoZSAgc3RhbmRhcmQgIGVycm9yIG91dHB1dCAoZmlsZSBkZXNjcmlwdG9yIDIpIHRvIGJlIHJlZGlyZWN0ZWQgdG8gdGhlCisgICAgICAgVGhpcyAgY29uc3RydWN0IGFsbG93cyBib3RoIHRoZSBzdGFuZGFyZCBvdXRwdXQgKGZpbGUgZGVzY3JpcHRvciAxKSBhbmQKKyAgICAgICB0aGUgc3RhbmRhcmQgZXJyb3Igb3V0cHV0IChmaWxlIGRlc2NyaXB0b3IgMikgdG8gYmUgcmVkaXJlY3RlZCAgdG8gIHRoZQogICAgICAgIGZpbGUgd2hvc2UgbmFtZSBpcyB0aGUgZXhwYW5zaW9uIG9mIF8Id18Ib18Icl8IZC4KIAotICAgICAgIFRoZXJlIGFyZSB0d28gZm9ybWF0cyBmb3IgIHJlZGlyZWN0aW5nICBzdGFuZGFyZCAgb3V0cHV0ICBhbmQgIHN0YW5kYXJkCisgICAgICAgVGhlcmUgIGFyZSAgdHdvICBmb3JtYXRzICBmb3IgIHJlZGlyZWN0aW5nIHN0YW5kYXJkIG91dHB1dCBhbmQgc3RhbmRhcmQKICAgICAgICBlcnJvcjoKIAogICAgICAgICAgICAgICAmCCY+CD5fCHdfCG9fCHJfCGQKQEAgLTE4MzAsOCArMTg2Myw4IEBACiAKIAogICAgQQhBcAhwcAhwZQhlbghuZAhkaQhpbghuZwhnIFMIU3QIdGEIYW4IbmQIZGEIYXIIcmQIZCBPCE91CHV0CHRwCHB1CHV0CHQgYQhhbghuZAhkIFMIU3QIdGEIYW4IbmQIZGEIYXIIcmQIZCBFCEVyCHJyCHJvCG9yCHIKLSAgICAgICBUaGlzIGNvbnN0cnVjdCBhbGxvd3MgYm90aCB0aGUgc3RhbmRhcmQgb3V0cHV0IChmaWxlIGRlc2NyaXB0b3IgMSkgIGFuZAotICAgICAgIHRoZSAgc3RhbmRhcmQgIGVycm9yICBvdXRwdXQgIChmaWxlIGRlc2NyaXB0b3IgMikgdG8gYmUgYXBwZW5kZWQgdG8gdGhlCisgICAgICAgVGhpcyAgY29uc3RydWN0IGFsbG93cyBib3RoIHRoZSBzdGFuZGFyZCBvdXRwdXQgKGZpbGUgZGVzY3JpcHRvciAxKSBhbmQKKyAgICAgICB0aGUgc3RhbmRhcmQgZXJyb3Igb3V0cHV0IChmaWxlIGRlc2NyaXB0b3IgMikgdG8gIGJlICBhcHBlbmRlZCAgdG8gIHRoZQogICAgICAgIGZpbGUgd2hvc2UgbmFtZSBpcyB0aGUgZXhwYW5zaW9uIG9mIF8Id18Ib18Icl8IZC4KIAogICAgICAgIFRoZSBmb3JtYXQgZm9yIGFwcGVuZGluZyBzdGFuZGFyZCBvdXRwdXQgYW5kIHN0YW5kYXJkIGVycm9yIGlzOgpAQCAtMTg0Myw5ICsxODc2LDkgQEAKICAgICAgICAgICAgICAgPgg+Pgg+Xwh3XwhvXwhyXwhkIDI+CD4mCCYxCiAKICAgIEgISGUIZXIIcmUIZSBECERvCG9jCGN1CHVtCG1lCGVuCG50CHRzCHMKLSAgICAgICBUaGlzIHR5cGUgb2YgcmVkaXJlY3Rpb24gaW5zdHJ1Y3RzIHRoZSBzaGVsbCB0byAgcmVhZCAgaW5wdXQgIGZyb20gIHRoZQorICAgICAgIFRoaXMgIHR5cGUgIG9mICByZWRpcmVjdGlvbiAgaW5zdHJ1Y3RzIHRoZSBzaGVsbCB0byByZWFkIGlucHV0IGZyb20gdGhlCiAgICAgICAgY3VycmVudCBzb3VyY2UgdW50aWwgYSBsaW5lIGNvbnRhaW5pbmcgb25seSBfCGRfCGVfCGxfCGlfCG1fCGlfCHRfCGVfCHIgKHdpdGggbm8gdHJhaWxpbmcKLSAgICAgICBibGFua3MpIGlzIHNlZW4uICBBbGwgb2YgdGhlIGxpbmVzIHJlYWQgdXAgdG8gdGhhdCBwb2ludCBhcmUgdGhlbiAgdXNlZAorICAgICAgIGJsYW5rcykgIGlzIHNlZW4uICBBbGwgb2YgdGhlIGxpbmVzIHJlYWQgdXAgdG8gdGhhdCBwb2ludCBhcmUgdGhlbiB1c2VkCiAgICAgICAgYXMgdGhlIHN0YW5kYXJkIGlucHV0IGZvciBhIGNvbW1hbmQuCiAKICAgICAgICBUaGUgZm9ybWF0IG9mIGhlcmUtZG9jdW1lbnRzIGlzOgpAQCAtMTg1NCwxOCArMTg4NywxOCBAQAogICAgICAgICAgICAgICAgICAgICAgIF8IaF8IZV8Icl8IZV8ILV8IZF8Ib18IY18IdV8IbV8IZV8Ibl8IdAogICAgICAgICAgICAgICBfCGRfCGVfCGxfCGlfCG1fCGlfCHRfCGVfCHIKIAotICAgICAgIE5vICBwYXJhbWV0ZXIgZXhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1dGlvbiwgYXJpdGhtZXRpYyBleHBhbnNpb24sIG9yCisgICAgICAgTm8gcGFyYW1ldGVyIGV4cGFuc2lvbiwgY29tbWFuZCBzdWJzdGl0dXRpb24sIGFyaXRobWV0aWMgZXhwYW5zaW9uLCAgb3IKICAgICAgICBwYXRobmFtZSBleHBhbnNpb24gaXMgcGVyZm9ybWVkIG9uIF8Id18Ib18Icl8IZC4gIElmIGFueSBjaGFyYWN0ZXJzIGluIF8Id18Ib18Icl8IZCBhcmUKLSAgICAgICBxdW90ZWQsICB0aGUgIF8IZF8IZV8IbF8IaV8IbV8IaV8IdF8IZV8IciBpcyB0aGUgcmVzdWx0IG9mIHF1b3RlIHJlbW92YWwgb24gXwh3XwhvXwhyXwhkLCBhbmQgdGhlCi0gICAgICAgbGluZXMgaW4gdGhlIGhlcmUtZG9jdW1lbnQgYXJlIG5vdCBleHBhbmRlZC4gIElmIF8Id18Ib18Icl8IZCBpcyB1bnF1b3RlZCwgIGFsbAotICAgICAgIGxpbmVzICBvZiAgdGhlIGhlcmUtZG9jdW1lbnQgYXJlIHN1YmplY3RlZCB0byBwYXJhbWV0ZXIgZXhwYW5zaW9uLCBjb20tCi0gICAgICAgbWFuZCBzdWJzdGl0dXRpb24sIGFuZCBhcml0aG1ldGljIGV4cGFuc2lvbi4gIEluIHRoZSBsYXR0ZXIgIGNhc2UsICB0aGUKLSAgICAgICBjaGFyYWN0ZXIgIHNlcXVlbmNlICBcCFw8CDxuCG5lCGV3CHdsCGxpCGluCG5lCGU+CD4gaXMgaWdub3JlZCwgYW5kIFwIXCBtdXN0IGJlIHVzZWQgdG8gcXVvdGUKKyAgICAgICBxdW90ZWQsIHRoZSBfCGRfCGVfCGxfCGlfCG1fCGlfCHRfCGVfCHIgaXMgdGhlIHJlc3VsdCBvZiBxdW90ZSByZW1vdmFsIG9uIF8Id18Ib18Icl8IZCwgIGFuZCAgdGhlCisgICAgICAgbGluZXMgIGluIHRoZSBoZXJlLWRvY3VtZW50IGFyZSBub3QgZXhwYW5kZWQuICBJZiBfCHdfCG9fCHJfCGQgaXMgdW5xdW90ZWQsIGFsbAorICAgICAgIGxpbmVzIG9mIHRoZSBoZXJlLWRvY3VtZW50IGFyZSBzdWJqZWN0ZWQgdG8gcGFyYW1ldGVyICBleHBhbnNpb24sICBjb20tCisgICAgICAgbWFuZCAgc3Vic3RpdHV0aW9uLCAgYW5kIGFyaXRobWV0aWMgZXhwYW5zaW9uLiAgSW4gdGhlIGxhdHRlciBjYXNlLCB0aGUKKyAgICAgICBjaGFyYWN0ZXIgc2VxdWVuY2UgXAhcPAg8bghuZQhldwh3bAhsaQhpbghuZQhlPgg+IGlzIGlnbm9yZWQsIGFuZCBcCFwgbXVzdCBiZSB1c2VkICB0byAgcXVvdGUKICAgICAgICB0aGUgY2hhcmFjdGVycyBcCFwsICQIJCwgYW5kIGAIYC4KIAogICAgICAgIElmIHRoZSByZWRpcmVjdGlvbiBvcGVyYXRvciBpcyA8CDw8CDwtCC0sIHRoZW4gYWxsIGxlYWRpbmcgdGFiIGNoYXJhY3RlcnMgYXJlCi0gICAgICAgc3RyaXBwZWQgIGZyb20gIGlucHV0ICBsaW5lcyAgYW5kICB0aGUgbGluZSBjb250YWluaW5nIF8IZF8IZV8IbF8IaV8IbV8IaV8IdF8IZV8Ici4gIFRoaXMKLSAgICAgICBhbGxvd3MgaGVyZS1kb2N1bWVudHMgd2l0aGluIHNoZWxsIHNjcmlwdHMgdG8gYmUgaW5kZW50ZWQgaW4gYSAgbmF0dXJhbAorICAgICAgIHN0cmlwcGVkIGZyb20gaW5wdXQgbGluZXMgYW5kICB0aGUgIGxpbmUgIGNvbnRhaW5pbmcgIF8IZF8IZV8IbF8IaV8IbV8IaV8IdF8IZV8Ici4gICBUaGlzCisgICAgICAgYWxsb3dzICBoZXJlLWRvY3VtZW50cyB3aXRoaW4gc2hlbGwgc2NyaXB0cyB0byBiZSBpbmRlbnRlZCBpbiBhIG5hdHVyYWwKICAgICAgICBmYXNoaW9uLgogCiAgICBICEhlCGVyCHJlCGUgUwhTdAh0cghyaQhpbghuZwhncwhzCkBAIC0xODgxLDIwICsxOTE0LDIwIEBACiAgICAgICAgICAgICAgIFtfCG5dPAg8JggmXwh3XwhvXwhyXwhkCiAKICAgICAgICBpcyB1c2VkIHRvIGR1cGxpY2F0ZSBpbnB1dCBmaWxlIGRlc2NyaXB0b3JzLiAgSWYgXwh3XwhvXwhyXwhkIGV4cGFuZHMgdG8gb25lIG9yCi0gICAgICAgbW9yZSAgZGlnaXRzLCAgdGhlIGZpbGUgZGVzY3JpcHRvciBkZW5vdGVkIGJ5IF8IbiBpcyBtYWRlIHRvIGJlIGEgY29weSBvZgotICAgICAgIHRoYXQgZmlsZSBkZXNjcmlwdG9yLiAgSWYgdGhlIGRpZ2l0cyBpbiBfCHdfCG9fCHJfCGQgIGRvICBub3QgIHNwZWNpZnkgIGEgIGZpbGUKLSAgICAgICBkZXNjcmlwdG9yICBvcGVuIGZvciBpbnB1dCwgYSByZWRpcmVjdGlvbiBlcnJvciBvY2N1cnMuICBJZiBfCHdfCG9fCHJfCGQgZXZhbHUtCi0gICAgICAgYXRlcyB0byAtCC0sIGZpbGUgZGVzY3JpcHRvciBfCG4gaXMgY2xvc2VkLiAgSWYgXwhuICBpcyAgbm90ICBzcGVjaWZpZWQsICB0aGUKKyAgICAgICBtb3JlIGRpZ2l0cywgdGhlIGZpbGUgZGVzY3JpcHRvciBkZW5vdGVkIGJ5IF8IbiBpcyBtYWRlIHRvIGJlIGEgIGNvcHkgIG9mCisgICAgICAgdGhhdCAgZmlsZSAgZGVzY3JpcHRvci4gICBJZiAgdGhlICBkaWdpdHMgaW4gXwh3XwhvXwhyXwhkIGRvIG5vdCBzcGVjaWZ5IGEgZmlsZQorICAgICAgIGRlc2NyaXB0b3Igb3BlbiBmb3IgaW5wdXQsIGEgcmVkaXJlY3Rpb24gZXJyb3Igb2NjdXJzLiAgSWYgXwh3XwhvXwhyXwhkICBldmFsdS0KKyAgICAgICBhdGVzICB0byAgLQgtLCAgZmlsZSAgZGVzY3JpcHRvciBfCG4gaXMgY2xvc2VkLiAgSWYgXwhuIGlzIG5vdCBzcGVjaWZpZWQsIHRoZQogICAgICAgIHN0YW5kYXJkIGlucHV0IChmaWxlIGRlc2NyaXB0b3IgMCkgaXMgdXNlZC4KIAogICAgICAgIFRoZSBvcGVyYXRvcgogCiAgICAgICAgICAgICAgIFtfCG5dPgg+JggmXwh3XwhvXwhyXwhkCiAKLSAgICAgICBpcyAgdXNlZCAgc2ltaWxhcmx5ICB0byBkdXBsaWNhdGUgb3V0cHV0IGZpbGUgZGVzY3JpcHRvcnMuICBJZiBfCG4gaXMgbm90Ci0gICAgICAgc3BlY2lmaWVkLCB0aGUgc3RhbmRhcmQgb3V0cHV0IChmaWxlIGRlc2NyaXB0b3IgMSkgIGlzICB1c2VkLiAgIElmICB0aGUKLSAgICAgICBkaWdpdHMgIGluIF8Id18Ib18Icl8IZCBkbyBub3Qgc3BlY2lmeSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIGZvciBvdXRwdXQsIGEgcmUtCi0gICAgICAgZGlyZWN0aW9uIGVycm9yIG9jY3Vycy4gIEFzIGEgc3BlY2lhbCBjYXNlLCBpZiBfCG4gaXMgb21pdHRlZCwgIGFuZCAgXwh3XwhvXwhyXwhkCisgICAgICAgaXMgdXNlZCBzaW1pbGFybHkgdG8gZHVwbGljYXRlIG91dHB1dCBmaWxlIGRlc2NyaXB0b3JzLiAgSWYgIF8IbiAgaXMgIG5vdAorICAgICAgIHNwZWNpZmllZCwgIHRoZSAgc3RhbmRhcmQgIG91dHB1dCAgKGZpbGUgZGVzY3JpcHRvciAxKSBpcyB1c2VkLiAgSWYgdGhlCisgICAgICAgZGlnaXRzIGluIF8Id18Ib18Icl8IZCBkbyBub3Qgc3BlY2lmeSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIGZvciBvdXRwdXQsIGEgIHJlLQorICAgICAgIGRpcmVjdGlvbiAgZXJyb3IgIG9jY3Vycy4gIEFzIGEgc3BlY2lhbCBjYXNlLCBpZiBfCG4gaXMgb21pdHRlZCwgYW5kIF8Id18Ib18Icl8IZAogICAgICAgIGRvZXMgbm90IGV4cGFuZCB0byBvbmUgb3IgbW9yZSBkaWdpdHMsIHRoZSBzdGFuZGFyZCBvdXRwdXQgYW5kIHN0YW5kYXJkCiAgICAgICAgZXJyb3IgYXJlIHJlZGlyZWN0ZWQgYXMgZGVzY3JpYmVkIHByZXZpb3VzbHkuCiAKQEAgLTE5MDMsNyArMTkzNiw3IEBACiAKICAgICAgICAgICAgICAgW18Ibl08CDwmCCZfCGRfCGlfCGdfCGlfCHQtCC0KIAotICAgICAgIG1vdmVzIHRoZSBmaWxlIGRlc2NyaXB0b3IgXwhkXwhpXwhnXwhpXwh0IHRvIGZpbGUgZGVzY3JpcHRvciBfCG4sIG9yICB0aGUgIHN0YW5kYXJkCisgICAgICAgbW92ZXMgIHRoZSAgZmlsZSBkZXNjcmlwdG9yIF8IZF8IaV8IZ18IaV8IdCB0byBmaWxlIGRlc2NyaXB0b3IgXwhuLCBvciB0aGUgc3RhbmRhcmQKICAgICAgICBpbnB1dCAoZmlsZSBkZXNjcmlwdG9yIDApIGlmIF8IbiBpcyBub3Qgc3BlY2lmaWVkLiAgXwhkXwhpXwhnXwhpXwh0IGlzIGNsb3NlZCBhZnRlcgogICAgICAgIGJlaW5nIGR1cGxpY2F0ZWQgdG8gXwhuLgogCkBAIC0xOTExLDcgKzE5NDQsNyBAQAogCiAgICAgICAgICAgICAgIFtfCG5dPgg+JggmXwhkXwhpXwhnXwhpXwh0LQgtCiAKLSAgICAgICBtb3ZlcyB0aGUgZmlsZSBkZXNjcmlwdG9yIF8IZF8IaV8IZ18IaV8IdCB0byBmaWxlIGRlc2NyaXB0b3IgXwhuLCBvciAgdGhlICBzdGFuZGFyZAorICAgICAgIG1vdmVzICB0aGUgIGZpbGUgZGVzY3JpcHRvciBfCGRfCGlfCGdfCGlfCHQgdG8gZmlsZSBkZXNjcmlwdG9yIF8Ibiwgb3IgdGhlIHN0YW5kYXJkCiAgICAgICAgb3V0cHV0IChmaWxlIGRlc2NyaXB0b3IgMSkgaWYgXwhuIGlzIG5vdCBzcGVjaWZpZWQuCiAKICAgIE8IT3AIcGUIZW4IbmkIaW4IbmcIZyBGCEZpCGlsCGxlCGUgRAhEZQhlcwhzYwhjcghyaQhpcAhwdAh0bwhvcghycwhzIGYIZm8Ib3IIciBSCFJlCGVhCGFkCGRpCGluCG5nCGcgYQhhbghuZAhkIFcIV3IIcmkIaXQIdGkIaW4IbmcIZwpAQCAtMTkxOSw3NCArMTk1Miw3NyBAQAogCiAgICAgICAgICAgICAgIFtfCG5dPAg8Pgg+Xwh3XwhvXwhyXwhkCiAKLSAgICAgICBjYXVzZXMgIHRoZSAgZmlsZSAgd2hvc2UgbmFtZSBpcyB0aGUgZXhwYW5zaW9uIG9mIF8Id18Ib18Icl8IZCB0byBiZSBvcGVuZWQgZm9yCi0gICAgICAgYm90aCByZWFkaW5nIGFuZCB3cml0aW5nIG9uIGZpbGUgZGVzY3JpcHRvciBfCG4sIG9yIG9uIGZpbGUgZGVzY3JpcHRvciAgMAorICAgICAgIGNhdXNlcyB0aGUgZmlsZSB3aG9zZSBuYW1lIGlzIHRoZSBleHBhbnNpb24gb2YgXwh3XwhvXwhyXwhkIHRvICBiZSAgb3BlbmVkICBmb3IKKyAgICAgICBib3RoICByZWFkaW5nIGFuZCB3cml0aW5nIG9uIGZpbGUgZGVzY3JpcHRvciBfCG4sIG9yIG9uIGZpbGUgZGVzY3JpcHRvciAwCiAgICAgICAgaWYgXwhuIGlzIG5vdCBzcGVjaWZpZWQuICBJZiB0aGUgZmlsZSBkb2VzIG5vdCBleGlzdCwgaXQgaXMgY3JlYXRlZC4KIAogQQhBTAhMSQhJQQhBUwhTRQhFUwhTCi0gICAgICAgXwhBXwhsXwhpXwhhXwhzXwhlXwhzICBhbGxvdyBhIHN0cmluZyB0byBiZSBzdWJzdGl0dXRlZCBmb3IgYSB3b3JkIHdoZW4gaXQgaXMgdXNlZCBhcwotICAgICAgIHRoZSBmaXJzdCB3b3JkIG9mIGEgc2ltcGxlIGNvbW1hbmQuICBUaGUgIHNoZWxsICBtYWludGFpbnMgIGEgIGxpc3QgIG9mCi0gICAgICAgYWxpYXNlcyAgdGhhdCAgbWF5ICBiZSBzZXQgYW5kIHVuc2V0IHdpdGggdGhlIGEIYWwIbGkIaWEIYXMIcyBhbmQgdQh1bghuYQhhbAhsaQhpYQhhcwhzIGJ1aWx0aW4KLSAgICAgICBjb21tYW5kcyAoc2VlIFMIU0gISEUIRUwITEwITCBCCEJVCFVJCElMCExUCFRJCElOCE4gQwhDTwhPTQhNTQhNQQhBTghORAhEUwhTIGJlbG93KS4gIFRoZSBmaXJzdCAgd29yZCAgb2YgIGVhY2gKLSAgICAgICBzaW1wbGUgIGNvbW1hbmQsIGlmIHVucXVvdGVkLCBpcyBjaGVja2VkIHRvIHNlZSBpZiBpdCBoYXMgYW4gYWxpYXMuICBJZgotICAgICAgIHNvLCB0aGF0IHdvcmQgaXMgcmVwbGFjZWQgYnkgdGhlIHRleHQgb2YgdGhlIGFsaWFzLiAgVGhlIGNoYXJhY3RlcnMgIC8ILywKLSAgICAgICAkCCQsICBgCGAsICBhbmQgPQg9IGFuZCBhbnkgb2YgdGhlIHNoZWxsIF8IbV8IZV8IdF8IYV8IY18IaF8IYV8Icl8IYV8IY18IdF8IZV8Icl8IcyBvciBxdW90aW5nIGNoYXJhY3RlcnMKKyAgICAgICBfCEFfCGxfCGlfCGFfCHNfCGVfCHMgYWxsb3cgYSBzdHJpbmcgdG8gYmUgc3Vic3RpdHV0ZWQgZm9yIGEgd29yZCB3aGVuIGl0IGlzIHVzZWQgIGFzCisgICAgICAgdGhlICBmaXJzdCAgd29yZCAgb2YgIGEgIHNpbXBsZSBjb21tYW5kLiAgVGhlIHNoZWxsIG1haW50YWlucyBhIGxpc3Qgb2YKKyAgICAgICBhbGlhc2VzIHRoYXQgbWF5IGJlIHNldCBhbmQgdW5zZXQgd2l0aCB0aGUgYQhhbAhsaQhpYQhhcwhzICBhbmQgIHUIdW4IbmEIYWwIbGkIaWEIYXMIcyAgYnVpbHRpbgorICAgICAgIGNvbW1hbmRzICAoc2VlICBTCFNICEhFCEVMCExMCEwgIEIIQlUIVUkISUwITFQIVEkISU4ITiBDCENPCE9NCE1NCE1BCEFOCE5ECERTCFMgYmVsb3cpLiAgVGhlIGZpcnN0IHdvcmQgb2YgZWFjaAorICAgICAgIHNpbXBsZSBjb21tYW5kLCBpZiB1bnF1b3RlZCwgaXMgY2hlY2tlZCB0byBzZWUgaWYgaXQgaGFzIGFuIGFsaWFzLiAgIElmCisgICAgICAgc28sICB0aGF0IHdvcmQgaXMgcmVwbGFjZWQgYnkgdGhlIHRleHQgb2YgdGhlIGFsaWFzLiAgVGhlIGNoYXJhY3RlcnMgLwgvLAorICAgICAgICQIJCwgYAhgLCBhbmQgPQg9IGFuZCBhbnkgb2YgdGhlIHNoZWxsIF8IbV8IZV8IdF8IYV8IY18IaF8IYV8Icl8IYV8IY18IdF8IZV8Icl8IcyBvciAgcXVvdGluZyAgY2hhcmFjdGVycwogICAgICAgIGxpc3RlZCBhYm92ZSBtYXkgbm90IGFwcGVhciBpbiBhbiBhbGlhcyBuYW1lLiAgVGhlIHJlcGxhY2VtZW50IHRleHQgbWF5Ci0gICAgICAgY29udGFpbiAgYW55ICB2YWxpZCAgc2hlbGwgIGlucHV0LCBpbmNsdWRpbmcgc2hlbGwgbWV0YWNoYXJhY3RlcnMuICBUaGUKLSAgICAgICBmaXJzdCB3b3JkIG9mIHRoZSByZXBsYWNlbWVudCB0ZXh0IGlzIHRlc3RlZCBmb3IgYWxpYXNlcywgIGJ1dCAgYSAgd29yZAotICAgICAgIHRoYXQgIGlzICBpZGVudGljYWwgdG8gYW4gYWxpYXMgYmVpbmcgZXhwYW5kZWQgaXMgbm90IGV4cGFuZGVkIGEgc2Vjb25kCi0gICAgICAgdGltZS4gIFRoaXMgbWVhbnMgdGhhdCBvbmUgbWF5IGFsaWFzIGwIbHMIcyB0byBsCGxzCHMgIC0ILUYIRiwgIGZvciAgaW5zdGFuY2UsICBhbmQKLSAgICAgICBiCGJhCGFzCHNoCGggIGRvZXMgIG5vdCB0cnkgdG8gcmVjdXJzaXZlbHkgZXhwYW5kIHRoZSByZXBsYWNlbWVudCB0ZXh0LiAgSWYgdGhlCi0gICAgICAgbGFzdCBjaGFyYWN0ZXIgb2YgdGhlIGFsaWFzIHZhbHVlIGlzIGEgXwhiXwhsXwhhXwhuXwhrLCAgdGhlbiAgdGhlICBuZXh0ICBjb21tYW5kCisgICAgICAgY29udGFpbiBhbnkgdmFsaWQgc2hlbGwgaW5wdXQsICBpbmNsdWRpbmcgIHNoZWxsICBtZXRhY2hhcmFjdGVycy4gICBUaGUKKyAgICAgICBmaXJzdCAgd29yZCAgb2YgIHRoZSByZXBsYWNlbWVudCB0ZXh0IGlzIHRlc3RlZCBmb3IgYWxpYXNlcywgYnV0IGEgd29yZAorICAgICAgIHRoYXQgaXMgaWRlbnRpY2FsIHRvIGFuIGFsaWFzIGJlaW5nIGV4cGFuZGVkIGlzIG5vdCBleHBhbmRlZCAgYSAgc2Vjb25kCisgICAgICAgdGltZS4gICBUaGlzICBtZWFucyAgdGhhdCAgb25lIG1heSBhbGlhcyBsCGxzCHMgdG8gbAhscwhzIC0ILUYIRiwgZm9yIGluc3RhbmNlLCBhbmQKKyAgICAgICBiCGJhCGFzCHNoCGggZG9lcyBub3QgdHJ5IHRvIHJlY3Vyc2l2ZWx5IGV4cGFuZCB0aGUgcmVwbGFjZW1lbnQgdGV4dC4gICBJZiAgdGhlCisgICAgICAgbGFzdCAgY2hhcmFjdGVyICBvZiAgdGhlICBhbGlhcyB2YWx1ZSBpcyBhIF8IYl8IbF8IYV8Ibl8IaywgdGhlbiB0aGUgbmV4dCBjb21tYW5kCiAgICAgICAgd29yZCBmb2xsb3dpbmcgdGhlIGFsaWFzIGlzIGFsc28gY2hlY2tlZCBmb3IgYWxpYXMgZXhwYW5zaW9uLgogCiAgICAgICAgQWxpYXNlcyBhcmUgY3JlYXRlZCBhbmQgbGlzdGVkIHdpdGggdGhlIGEIYWwIbGkIaWEIYXMIcyBjb21tYW5kLCBhbmQgcmVtb3ZlZCB3aXRoCiAgICAgICAgdGhlIHUIdW4IbmEIYWwIbGkIaWEIYXMIcyBjb21tYW5kLgogCi0gICAgICAgVGhlcmUgaXMgbm8gbWVjaGFuaXNtIGZvciB1c2luZyBhcmd1bWVudHMgaW4gdGhlIHJlcGxhY2VtZW50IHRleHQuICAgSWYKLSAgICAgICBhcmd1bWVudHMgIGFyZSAgbmVlZGVkLCAgYSBzaGVsbCBmdW5jdGlvbiBzaG91bGQgYmUgdXNlZCAoc2VlIEYIRlUIVU4ITkMIQ1QIVEkISU8IT04ITlMIUworICAgICAgIFRoZXJlICBpcyBubyBtZWNoYW5pc20gZm9yIHVzaW5nIGFyZ3VtZW50cyBpbiB0aGUgcmVwbGFjZW1lbnQgdGV4dC4gIElmCisgICAgICAgYXJndW1lbnRzIGFyZSBuZWVkZWQsIGEgc2hlbGwgZnVuY3Rpb24gc2hvdWxkIGJlICB1c2VkICAoc2VlICBGCEZVCFVOCE5DCENUCFRJCElPCE9OCE5TCFMKICAgICAgICBiZWxvdykuCiAKLSAgICAgICBBbGlhc2VzIGFyZSBub3QgZXhwYW5kZWQgd2hlbiB0aGUgc2hlbGwgaXMgbm90IGludGVyYWN0aXZlLCB1bmxlc3MgIHRoZQotICAgICAgIGUIZXgIeHAIcGEIYW4IbmQIZF8IX2EIYWwIbGkIaWEIYXMIc2UIZXMIcyAgc2hlbGwgb3B0aW9uIGlzIHNldCB1c2luZyBzCHNoCGhvCG9wCHB0CHQgKHNlZSB0aGUgZGVzY3JpcHRpb24gb2YKKyAgICAgICBBbGlhc2VzICBhcmUgbm90IGV4cGFuZGVkIHdoZW4gdGhlIHNoZWxsIGlzIG5vdCBpbnRlcmFjdGl2ZSwgdW5sZXNzIHRoZQorICAgICAgIGUIZXgIeHAIcGEIYW4IbmQIZF8IX2EIYWwIbGkIaWEIYXMIc2UIZXMIcyBzaGVsbCBvcHRpb24gaXMgc2V0IHVzaW5nIHMIc2gIaG8Ib3AIcHQIdCAoc2VlIHRoZSBkZXNjcmlwdGlvbiAgb2YKICAgICAgICBzCHNoCGhvCG9wCHB0CHQgdW5kZXIgUwhTSAhIRQhFTAhMTAhMIEIIQlUIVUkISUwITFQIVEkISU4ITiBDCENPCE9NCE1NCE1BCEFOCE5ECERTCFMgYmVsb3cpLgogCi0gICAgICAgVGhlIHJ1bGVzIGNvbmNlcm5pbmcgdGhlIGRlZmluaXRpb24gYW5kIHVzZSAgb2YgIGFsaWFzZXMgIGFyZSAgc29tZXdoYXQKLSAgICAgICBjb25mdXNpbmcuICAgQghCYQhhcwhzaAhoICBhbHdheXMgIHJlYWRzICBhdCAgbGVhc3QgIG9uZSBjb21wbGV0ZSBsaW5lIG9mIGlucHV0Ci0gICAgICAgYmVmb3JlIGV4ZWN1dGluZyBhbnkgIG9mICB0aGUgIGNvbW1hbmRzICBvbiAgdGhhdCAgbGluZS4gICBBbGlhc2VzICBhcmUKLSAgICAgICBleHBhbmRlZCAgd2hlbiAgYSBjb21tYW5kIGlzIHJlYWQsIG5vdCB3aGVuIGl0IGlzIGV4ZWN1dGVkLiAgVGhlcmVmb3JlLAotICAgICAgIGFuIGFsaWFzIGRlZmluaXRpb24gYXBwZWFyaW5nIG9uIHRoZSBzYW1lIGxpbmUgYXMgYW5vdGhlciBjb21tYW5kICBkb2VzCi0gICAgICAgbm90ICB0YWtlICBlZmZlY3QgIHVudGlsICB0aGUgbmV4dCBsaW5lIG9mIGlucHV0IGlzIHJlYWQuICBUaGUgY29tbWFuZHMKKyAgICAgICBUaGUgIHJ1bGVzICBjb25jZXJuaW5nICB0aGUgIGRlZmluaXRpb24gYW5kIHVzZSBvZiBhbGlhc2VzIGFyZSBzb21ld2hhdAorICAgICAgIGNvbmZ1c2luZy4gIEIIQmEIYXMIc2gIaCBhbHdheXMgcmVhZHMgYXQgIGxlYXN0ICBvbmUgIGNvbXBsZXRlICBsaW5lICBvZiAgaW5wdXQKKyAgICAgICBiZWZvcmUgIGV4ZWN1dGluZyAgYW55ICBvZiAgdGhlICBjb21tYW5kcyAgb24gIHRoYXQgIGxpbmUuICBBbGlhc2VzIGFyZQorICAgICAgIGV4cGFuZGVkIHdoZW4gYSBjb21tYW5kIGlzIHJlYWQsIG5vdCB3aGVuIGl0IGlzICBleGVjdXRlZC4gICBUaGVyZWZvcmUsCisgICAgICAgYW4gIGFsaWFzIGRlZmluaXRpb24gYXBwZWFyaW5nIG9uIHRoZSBzYW1lIGxpbmUgYXMgYW5vdGhlciBjb21tYW5kIGRvZXMKKyAgICAgICBub3QgdGFrZSBlZmZlY3QgdW50aWwgdGhlIG5leHQgbGluZSBvZiBpbnB1dCAgaXMgIHJlYWQuICAgVGhlICBjb21tYW5kcwogICAgICAgIGZvbGxvd2luZyB0aGUgYWxpYXMgZGVmaW5pdGlvbiBvbiB0aGF0IGxpbmUgYXJlIG5vdCBhZmZlY3RlZCBieSB0aGUgbmV3Ci0gICAgICAgYWxpYXMuICAgVGhpcyAgYmVoYXZpb3IgIGlzICBhbHNvIGFuIGlzc3VlIHdoZW4gZnVuY3Rpb25zIGFyZSBleGVjdXRlZC4KLSAgICAgICBBbGlhc2VzIGFyZSBleHBhbmRlZCB3aGVuIGEgZnVuY3Rpb24gZGVmaW5pdGlvbiBpcyByZWFkLCBub3QgIHdoZW4gIHRoZQotICAgICAgIGZ1bmN0aW9uICBpcyAgZXhlY3V0ZWQsICBiZWNhdXNlIGEgZnVuY3Rpb24gZGVmaW5pdGlvbiBpcyBpdHNlbGYgYSBjb20tCisgICAgICAgYWxpYXMuICBUaGlzIGJlaGF2aW9yIGlzIGFsc28gYW4gaXNzdWUgIHdoZW4gIGZ1bmN0aW9ucyAgYXJlICBleGVjdXRlZC4KKyAgICAgICBBbGlhc2VzICBhcmUgIGV4cGFuZGVkIHdoZW4gYSBmdW5jdGlvbiBkZWZpbml0aW9uIGlzIHJlYWQsIG5vdCB3aGVuIHRoZQorICAgICAgIGZ1bmN0aW9uIGlzIGV4ZWN1dGVkLCBiZWNhdXNlIGEgZnVuY3Rpb24gZGVmaW5pdGlvbiBpcyAgaXRzZWxmICBhICBjb20tCiAgICAgICAgcG91bmQgY29tbWFuZC4gIEFzIGEgY29uc2VxdWVuY2UsIGFsaWFzZXMgZGVmaW5lZCBpbiBhIGZ1bmN0aW9uIGFyZSBub3QKLSAgICAgICBhdmFpbGFibGUgIHVudGlsICBhZnRlciAgdGhhdCBmdW5jdGlvbiBpcyBleGVjdXRlZC4gIFRvIGJlIHNhZmUsIGFsd2F5cwotICAgICAgIHB1dCBhbGlhcyBkZWZpbml0aW9ucyBvbiBhIHNlcGFyYXRlIGxpbmUsIGFuZCBkbyBub3QgdXNlIGEIYWwIbGkIaWEIYXMIcyBpbiAgY29tLQorICAgICAgIGF2YWlsYWJsZSB1bnRpbCBhZnRlciB0aGF0IGZ1bmN0aW9uIGlzIGV4ZWN1dGVkLiAgVG8gIGJlICBzYWZlLCAgYWx3YXlzCisgICAgICAgcHV0ICBhbGlhcyBkZWZpbml0aW9ucyBvbiBhIHNlcGFyYXRlIGxpbmUsIGFuZCBkbyBub3QgdXNlIGEIYWwIbGkIaWEIYXMIcyBpbiBjb20tCiAgICAgICAgcG91bmQgY29tbWFuZHMuCiAKICAgICAgICBGb3IgYWxtb3N0IGV2ZXJ5IHB1cnBvc2UsIGFsaWFzZXMgYXJlIHN1cGVyc2VkZWQgYnkgc2hlbGwgZnVuY3Rpb25zLgogCiBGCEZVCFVOCE5DCENUCFRJCElPCE9OCE5TCFMKLSAgICAgICBBICBzaGVsbCAgZnVuY3Rpb24sICBkZWZpbmVkICBhcyAgZGVzY3JpYmVkICBhYm92ZSB1bmRlciBTCFNICEhFCEVMCExMCEwgRwhHUghSQQhBTQhNTQhNQQhBUghSLAotICAgICAgIHN0b3JlcyBhIHNlcmllcyBvZiBjb21tYW5kcyBmb3IgbGF0ZXIgZXhlY3V0aW9uLiAgV2hlbiB0aGUgIG5hbWUgIG9mICBhCi0gICAgICAgc2hlbGwgIGZ1bmN0aW9uICBpcyB1c2VkIGFzIGEgc2ltcGxlIGNvbW1hbmQgbmFtZSwgdGhlIGxpc3Qgb2YgY29tbWFuZHMKKyAgICAgICBBIHNoZWxsIGZ1bmN0aW9uLCBkZWZpbmVkICBhcyAgZGVzY3JpYmVkICBhYm92ZSAgdW5kZXIgIFMIU0gISEUIRUwITEwITCAgRwhHUghSQQhBTQhNTQhNQQhBUghSLAorICAgICAgIHN0b3JlcyAgYSAgc2VyaWVzICBvZiBjb21tYW5kcyBmb3IgbGF0ZXIgZXhlY3V0aW9uLiAgV2hlbiB0aGUgbmFtZSBvZiBhCisgICAgICAgc2hlbGwgZnVuY3Rpb24gaXMgdXNlZCBhcyBhIHNpbXBsZSBjb21tYW5kIG5hbWUsIHRoZSBsaXN0ICBvZiAgY29tbWFuZHMKICAgICAgICBhc3NvY2lhdGVkIHdpdGggdGhhdCBmdW5jdGlvbiBuYW1lIGlzIGV4ZWN1dGVkLiAgRnVuY3Rpb25zIGFyZSBleGVjdXRlZAotICAgICAgIGluICB0aGUgIGNvbnRleHQgIG9mICB0aGUgIGN1cnJlbnQgIHNoZWxsOyBubyBuZXcgcHJvY2VzcyBpcyBjcmVhdGVkIHRvCi0gICAgICAgaW50ZXJwcmV0IHRoZW0gKGNvbnRyYXN0IHRoaXMgd2l0aCB0aGUgZXhlY3V0aW9uIG9mICBhICBzaGVsbCAgc2NyaXB0KS4KLSAgICAgICBXaGVuICBhICBmdW5jdGlvbiBpcyBleGVjdXRlZCwgdGhlIGFyZ3VtZW50cyB0byB0aGUgZnVuY3Rpb24gYmVjb21lIHRoZQorICAgICAgIGluIHRoZSBjb250ZXh0IG9mIHRoZSBjdXJyZW50IHNoZWxsOyAgbm8gIG5ldyAgcHJvY2VzcyAgaXMgIGNyZWF0ZWQgIHRvCisgICAgICAgaW50ZXJwcmV0ICB0aGVtICAoY29udHJhc3QgIHRoaXMgd2l0aCB0aGUgZXhlY3V0aW9uIG9mIGEgc2hlbGwgc2NyaXB0KS4KKyAgICAgICBXaGVuIGEgZnVuY3Rpb24gaXMgZXhlY3V0ZWQsIHRoZSBhcmd1bWVudHMgdG8gdGhlIGZ1bmN0aW9uICBiZWNvbWUgIHRoZQogICAgICAgIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBkdXJpbmcgaXRzIGV4ZWN1dGlvbi4gIFRoZSBzcGVjaWFsIHBhcmFtZXRlciAjCCMgaXMKLSAgICAgICB1cGRhdGVkICB0byByZWZsZWN0IHRoZSBjaGFuZ2UuICBTcGVjaWFsIHBhcmFtZXRlciAwIGlzIHVuY2hhbmdlZC4gIFRoZQotICAgICAgIGZpcnN0IGVsZW1lbnQgb2YgdGhlIEYIRlUIVU4ITkMIQ04ITkEIQU0ITUUIRSB2YXJpYWJsZSBpcyBzZXQgdG8gdGhlIG5hbWUgb2YgdGhlICBmdW5jLQotICAgICAgIHRpb24gIHdoaWxlICB0aGUgZnVuY3Rpb24gaXMgZXhlY3V0aW5nLiAgQWxsIG90aGVyIGFzcGVjdHMgb2YgdGhlIHNoZWxsCi0gICAgICAgZXhlY3V0aW9uIGVudmlyb25tZW50IGFyZSBpZGVudGljYWwgYmV0d2VlbiBhIGZ1bmN0aW9uIGFuZCAgaXRzICBjYWxsZXIKLSAgICAgICB3aXRoIHRoZSBleGNlcHRpb24gdGhhdCB0aGUgRAhERQhFQghCVQhVRwhHIGFuZCBSCFJFCEVUCFRVCFVSCFJOCE4gdHJhcHMgKHNlZSB0aGUgZGVzY3JpcHRpb24KLSAgICAgICBvZiB0aGUgdAh0cghyYQhhcAhwIGJ1aWx0aW4gdW5kZXIgUwhTSAhIRQhFTAhMTAhMIEIIQlUIVUkISUwITFQIVEkISU4ITiBDCENPCE9NCE1NCE1BCEFOCE5ECERTCFMgYmVsb3cpIGFyZSBub3QgIGluaGVyLQotICAgICAgIGl0ZWQgIHVubGVzcyAgdGhlICBmdW5jdGlvbiBoYXMgYmVlbiBnaXZlbiB0aGUgdAh0cghyYQhhYwhjZQhlIGF0dHJpYnV0ZSAoc2VlIHRoZQotICAgICAgIGRlc2NyaXB0aW9uIG9mIHRoZSBkCGRlCGVjCGNsCGxhCGFyCHJlCGUgYnVpbHRpbiBiZWxvdykgb3IgIHRoZSAgLQgtbwhvICBmCGZ1CHVuCG5jCGN0CHRyCHJhCGFjCGNlCGUgIHNoZWxsCi0gICAgICAgb3B0aW9uICBoYXMgIGJlZW4gZW5hYmxlZCB3aXRoIHRoZSBzCHNlCGV0CHQgYnVpbHRpbiAoaW4gd2hpY2ggY2FzZSBhbGwgZnVuYy0KLSAgICAgICB0aW9ucyBpbmhlcml0IHRoZSBECERFCEVCCEJVCFVHCEcgYW5kIFIIUkUIRVQIVFUIVVIIUk4ITiB0cmFwcykuCisgICAgICAgdXBkYXRlZCB0byByZWZsZWN0IHRoZSBjaGFuZ2UuICBTcGVjaWFsIHBhcmFtZXRlciAwIGlzIHVuY2hhbmdlZC4gICBUaGUKKyAgICAgICBmaXJzdCAgZWxlbWVudCBvZiB0aGUgRghGVQhVTghOQwhDTghOQQhBTQhNRQhFIHZhcmlhYmxlIGlzIHNldCB0byB0aGUgbmFtZSBvZiB0aGUgZnVuYy0KKyAgICAgICB0aW9uIHdoaWxlIHRoZSBmdW5jdGlvbiBpcyBleGVjdXRpbmcuCisKKyAgICAgICBBbGwgb3RoZXIgYXNwZWN0cyBvZiB0aGUgIHNoZWxsICBleGVjdXRpb24gIGVudmlyb25tZW50ICBhcmUgIGlkZW50aWNhbAorICAgICAgIGJldHdlZW4gYSBmdW5jdGlvbiBhbmQgaXRzIGNhbGxlciB3aXRoIHRoZXNlIGV4Y2VwdGlvbnM6ICB0aGUgRAhERQhFQghCVQhVRwhHIGFuZAorICAgICAgIFIIUkUIRVQIVFUIVVIIUk4ITiB0cmFwcyAoc2VlIHRoZSBkZXNjcmlwdGlvbiAgb2YgIHRoZSAgdAh0cghyYQhhcAhwICBidWlsdGluICB1bmRlciAgUwhTSAhIRQhFTAhMTAhMCisgICAgICAgQghCVQhVSQhJTAhMVAhUSQhJTghOICBDCENPCE9NCE1NCE1BCEFOCE5ECERTCFMgYmVsb3cpIGFyZSBub3QgaW5oZXJpdGVkIHVubGVzcyB0aGUgZnVuY3Rpb24gaGFzIGJlZW4KKyAgICAgICBnaXZlbiB0aGUgdAh0cghyYQhhYwhjZQhlIGF0dHJpYnV0ZSAoc2VlIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgIGQIZGUIZWMIY2wIbGEIYXIIcmUIZSAgYnVpbHRpbgorICAgICAgIGJlbG93KSAgb3IgIHRoZSAtCC1vCG8gZghmdQh1bghuYwhjdAh0cghyYQhhYwhjZQhlIHNoZWxsIG9wdGlvbiBoYXMgYmVlbiBlbmFibGVkIHdpdGggdGhlIHMIc2UIZXQIdAorICAgICAgIGJ1aWx0aW4gKGluIHdoaWNoIGNhc2UgYWxsICBmdW5jdGlvbnMgIGluaGVyaXQgIHRoZSAgRAhERQhFQghCVQhVRwhHICBhbmQgIFIIUkUIRVQIVFUIVVIIUk4ITgorICAgICAgIHRyYXBzKSwgIGFuZCB0aGUgRQhFUghSUghSIHRyYXAgaXMgbm90IGluaGVyaXRlZCB1bmxlc3MgdGhlIC0ILW8IbyBlCGVyCHJyCHJ0CHRyCHJhCGFjCGNlCGUgc2hlbGwKKyAgICAgICBvcHRpb24gaGFzIGJlZW4gZW5hYmxlZC4KIAogICAgICAgIFZhcmlhYmxlcyBsb2NhbCB0byB0aGUgZnVuY3Rpb24gbWF5IGJlIGRlY2xhcmVkIHdpdGggdGhlIGwIbG8Ib2MIY2EIYWwIbCAgYnVpbHRpbgogICAgICAgIGNvbW1hbmQuICBPcmRpbmFyaWx5LCB2YXJpYWJsZXMgYW5kIHRoZWlyIHZhbHVlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlCkBAIC0yMDg3LDYgKzIxMjMsOSBAQAogICAgICAgIGJvbGljIGxpbmtzIGFuZCBvcGVyYXRlIG9uIHRoZSB0YXJnZXQgb2YgdGhlIGxpbmssIHJhdGhlciB0aGFuIHRoZSBsaW5rCiAgICAgICAgaXRzZWxmLgogCisgICAgICAgV2hlbiB1c2VkIHdpdGggWwhbWwhbLCBUaGUgPAg8IGFuZCA+CD4gb3BlcmF0b3JzIHNvcnQgIGxleGljb2dyYXBoaWNhbGx5ICB1c2luZworICAgICAgIHRoZSBjdXJyZW50IGxvY2FsZS4KKwogICAgICAgIC0ILWEIYSBfCGZfCGlfCGxfCGUKICAgICAgICAgICAgICAgVHJ1ZSBpZiBfCGZfCGlfCGxfCGUgZXhpc3RzLgogICAgICAgIC0ILWIIYiBfCGZfCGlfCGxfCGUKQEAgLTIxMjcsMjAgKzIxNjYsMjAgQEAKICAgICAgICAtCC1TCFMgXwhmXwhpXwhsXwhlCiAgICAgICAgICAgICAgIFRydWUgaWYgXwhmXwhpXwhsXwhlIGV4aXN0cyBhbmQgaXMgYSBzb2NrZXQuCiAgICAgICAgLQgtTghOIF8IZl8IaV8IbF8IZQotICAgICAgICAgICAgICBUcnVlIGlmIF8IZl8IaV8IbF8IZSBleGlzdHMgYW5kIGhhcyBiZWVuICBtb2RpZmllZCAgc2luY2UgIGl0ICB3YXMgIGxhc3QKKyAgICAgICAgICAgICAgVHJ1ZSAgaWYgIF8IZl8IaV8IbF8IZSAgZXhpc3RzICBhbmQgIGhhcyBiZWVuIG1vZGlmaWVkIHNpbmNlIGl0IHdhcyBsYXN0CiAgICAgICAgICAgICAgIHJlYWQuCiAgICAgICAgXwhmXwhpXwhsXwhlXwgxIC1uCG50CHQgXwhmXwhpXwhsXwhlXwgyCi0gICAgICAgICAgICAgIFRydWUgIGlmICBfCGZfCGlfCGxfCGVfCDEgIGlzICBuZXdlciAoYWNjb3JkaW5nIHRvIG1vZGlmaWNhdGlvbiBkYXRlKSB0aGFuCisgICAgICAgICAgICAgIFRydWUgaWYgXwhmXwhpXwhsXwhlXwgxIGlzIG5ld2VyIChhY2NvcmRpbmcgIHRvICBtb2RpZmljYXRpb24gIGRhdGUpICB0aGFuCiAgICAgICAgICAgICAgIF8IZl8IaV8IbF8IZV8IMiwgb3IgaWYgXwhmXwhpXwhsXwhlXwgxIGV4aXN0cyBhbmQgXwhmXwhpXwhsXwhlXwgyIGRvZXMgbm90LgogICAgICAgIF8IZl8IaV8IbF8IZV8IMSAtbwhvdAh0IF8IZl8IaV8IbF8IZV8IMgotICAgICAgICAgICAgICBUcnVlIGlmIF8IZl8IaV8IbF8IZV8IMSBpcyBvbGRlciB0aGFuIF8IZl8IaV8IbF8IZV8IMiwgb3IgaWYgXwhmXwhpXwhsXwhlXwgyIGV4aXN0cyBhbmQgIF8IZl8IaV8IbF8IZV8IMQorICAgICAgICAgICAgICBUcnVlICBpZiBfCGZfCGlfCGxfCGVfCDEgaXMgb2xkZXIgdGhhbiBfCGZfCGlfCGxfCGVfCDIsIG9yIGlmIF8IZl8IaV8IbF8IZV8IMiBleGlzdHMgYW5kIF8IZl8IaV8IbF8IZV8IMQogICAgICAgICAgICAgICBkb2VzIG5vdC4KICAgICAgICBfCGZfCGlfCGxfCGVfCDEgLQgtZQhlZghmIF8IZl8IaV8IbF8IZV8IMgotICAgICAgICAgICAgICBUcnVlICBpZiBfCGZfCGlfCGxfCGVfCDEgYW5kIF8IZl8IaV8IbF8IZV8IMiByZWZlciB0byB0aGUgc2FtZSBkZXZpY2UgYW5kIGlub2RlIG51bS0KKyAgICAgICAgICAgICAgVHJ1ZSBpZiBfCGZfCGlfCGxfCGVfCDEgYW5kIF8IZl8IaV8IbF8IZV8IMiByZWZlciB0byB0aGUgc2FtZSBkZXZpY2UgYW5kIGlub2RlICBudW0tCiAgICAgICAgICAgICAgIGJlcnMuCiAgICAgICAgLQgtbwhvIF8Ib18IcF8IdF8Ibl8IYV8IbV8IZQotICAgICAgICAgICAgICBUcnVlIGlmIHNoZWxsIG9wdGlvbiAgXwhvXwhwXwh0XwhuXwhhXwhtXwhlICBpcyAgZW5hYmxlZC4gICBTZWUgIHRoZSAgbGlzdCAgb2YKLSAgICAgICAgICAgICAgb3B0aW9ucyAgdW5kZXIgIHRoZSAgZGVzY3JpcHRpb24gIG9mICB0aGUgIC0ILW8IbyAgb3B0aW9uIHRvIHRoZSBzCHNlCGV0CHQKKyAgICAgICAgICAgICAgVHJ1ZSAgaWYgIHNoZWxsICBvcHRpb24gIF8Ib18IcF8IdF8Ibl8IYV8IbV8IZSAgaXMgIGVuYWJsZWQuICAgU2VlIHRoZSBsaXN0IG9mCisgICAgICAgICAgICAgIG9wdGlvbnMgdW5kZXIgdGhlIGRlc2NyaXB0aW9uICBvZiAgdGhlICAtCC1vCG8gIG9wdGlvbiAgdG8gIHRoZSAgcwhzZQhldAh0CiAgICAgICAgICAgICAgIGJ1aWx0aW4gYmVsb3cuCiAgICAgICAgLQgtegh6IF8Ic18IdF8Icl8IaV8Ibl8IZwogICAgICAgICAgICAgICBUcnVlIGlmIHRoZSBsZW5ndGggb2YgXwhzXwh0XwhyXwhpXwhuXwhnIGlzIHplcm8uCkBAIC0yMTQ5LDEyMiArMjE4OCwxMjEgQEAKICAgICAgICAgICAgICAgVHJ1ZSBpZiB0aGUgbGVuZ3RoIG9mIF8Ic18IdF8Icl8IaV8Ibl8IZyBpcyBub24temVyby4KIAogICAgICAgIF8Ic18IdF8Icl8IaV8Ibl8IZ18IMSA9CD09CD0gXwhzXwh0XwhyXwhpXwhuXwhnXwgyCi0gICAgICAgICAgICAgIFRydWUgaWYgdGhlIHN0cmluZ3MgYXJlIGVxdWFsLiAgPQg9IG1heSBiZSB1c2VkIGluIHBsYWNlIG9mID0IPT0IPSBmb3IKLSAgICAgICAgICAgICAgc3RyaWN0IFBPU0lYIGNvbXBsaWFuY2UuCisgICAgICAgXwhzXwh0XwhyXwhpXwhuXwhnXwgxID0IPSBfCHNfCHRfCHJfCGlfCG5fCGdfCDIKKyAgICAgICAgICAgICAgVHJ1ZSAgaWYgIHRoZSBzdHJpbmdzIGFyZSBlcXVhbC4gID0IPSBzaG91bGQgYmUgdXNlZCB3aXRoIHRoZSB0CHRlCGVzCHN0CHQKKyAgICAgICAgICAgICAgY29tbWFuZCBmb3IgUE9TSVggY29uZm9ybWFuY2UuCiAKICAgICAgICBfCHNfCHRfCHJfCGlfCG5fCGdfCDEgIQghPQg9IF8Ic18IdF8Icl8IaV8Ibl8IZ18IMgogICAgICAgICAgICAgICBUcnVlIGlmIHRoZSBzdHJpbmdzIGFyZSBub3QgZXF1YWwuCiAKICAgICAgICBfCHNfCHRfCHJfCGlfCG5fCGdfCDEgPAg8IF8Ic18IdF8Icl8IaV8Ibl8IZ18IMgotICAgICAgICAgICAgICBUcnVlICBpZiAgXwhzXwh0XwhyXwhpXwhuXwhnXwgxICBzb3J0cyBiZWZvcmUgXwhzXwh0XwhyXwhpXwhuXwhnXwgyIGxleGljb2dyYXBoaWNhbGx5IGluIHRoZQotICAgICAgICAgICAgICBjdXJyZW50IGxvY2FsZS4KKyAgICAgICAgICAgICAgVHJ1ZSBpZiBfCHNfCHRfCHJfCGlfCG5fCGdfCDEgc29ydHMgYmVmb3JlIF8Ic18IdF8Icl8IaV8Ibl8IZ18IMiBsZXhpY29ncmFwaGljYWxseS4KIAogICAgICAgIF8Ic18IdF8Icl8IaV8Ibl8IZ18IMSA+CD4gXwhzXwh0XwhyXwhpXwhuXwhnXwgyCi0gICAgICAgICAgICAgIFRydWUgaWYgXwhzXwh0XwhyXwhpXwhuXwhnXwgxIHNvcnRzIGFmdGVyICBfCHNfCHRfCHJfCGlfCG5fCGdfCDIgIGxleGljb2dyYXBoaWNhbGx5ICBpbiAgdGhlCi0gICAgICAgICAgICAgIGN1cnJlbnQgbG9jYWxlLgorICAgICAgICAgICAgICBUcnVlIGlmIF8Ic18IdF8Icl8IaV8Ibl8IZ18IMSBzb3J0cyBhZnRlciBfCHNfCHRfCHJfCGlfCG5fCGdfCDIgbGV4aWNvZ3JhcGhpY2FsbHkuCiAKICAgICAgICBfCGFfCHJfCGdfCDEgTwhPUAhQIF8IYV8Icl8IZ18IMgotICAgICAgICAgICAgICBPCE9QCFAgIGlzIG9uZSBvZiAtCC1lCGVxCHEsIC0ILW4IbmUIZSwgLQgtbAhsdAh0LCAtCC1sCGxlCGUsIC0ILWcIZ3QIdCwgb3IgLQgtZwhnZQhlLiAgVGhlc2UgYXJpdGhtZXRpYwotICAgICAgICAgICAgICBiaW5hcnkgb3BlcmF0b3JzIHJldHVybiB0cnVlIGlmIF8IYV8Icl8IZ18IMSBpcyBlcXVhbCB0bywgbm90IGVxdWFsICB0bywKLSAgICAgICAgICAgICAgbGVzcyAgdGhhbiwgbGVzcyB0aGFuIG9yIGVxdWFsIHRvLCBncmVhdGVyIHRoYW4sIG9yIGdyZWF0ZXIgdGhhbgotICAgICAgICAgICAgICBvciBlcXVhbCB0byBfCGFfCHJfCGdfCDIsIHJlc3BlY3RpdmVseS4gIF8IQV8Icl8IZ18IMSBhbmQgXwhhXwhyXwhnXwgyIG1heSAgYmUgIHBvc2l0aXZlCisgICAgICAgICAgICAgIE8IT1AIUCBpcyBvbmUgb2YgLQgtZQhlcQhxLCAtCC1uCG5lCGUsIC0ILWwIbHQIdCwgLQgtbAhsZQhlLCAtCC1nCGd0CHQsIG9yIC0ILWcIZ2UIZS4gIFRoZXNlICBhcml0aG1ldGljCisgICAgICAgICAgICAgIGJpbmFyeSAgb3BlcmF0b3JzIHJldHVybiB0cnVlIGlmIF8IYV8Icl8IZ18IMSBpcyBlcXVhbCB0bywgbm90IGVxdWFsIHRvLAorICAgICAgICAgICAgICBsZXNzIHRoYW4sIGxlc3MgdGhhbiBvciBlcXVhbCB0bywgZ3JlYXRlciB0aGFuLCBvciBncmVhdGVyICB0aGFuCisgICAgICAgICAgICAgIG9yICBlcXVhbCAgdG8gXwhhXwhyXwhnXwgyLCByZXNwZWN0aXZlbHkuICBfCEFfCHJfCGdfCDEgYW5kIF8IYV8Icl8IZ18IMiBtYXkgYmUgcG9zaXRpdmUKICAgICAgICAgICAgICAgb3IgbmVnYXRpdmUgaW50ZWdlcnMuCiAKIFMIU0kISU0ITVAIUEwITEUIRSBDCENPCE9NCE1NCE1BCEFOCE5ECEQgRQhFWAhYUAhQQQhBTghOUwhTSQhJTwhPTghOCi0gICAgICAgV2hlbiAgYSAgc2ltcGxlICBjb21tYW5kICBpcyBleGVjdXRlZCwgdGhlIHNoZWxsIHBlcmZvcm1zIHRoZSBmb2xsb3dpbmcKKyAgICAgICBXaGVuIGEgc2ltcGxlIGNvbW1hbmQgaXMgZXhlY3V0ZWQsIHRoZSAgc2hlbGwgIHBlcmZvcm1zICB0aGUgIGZvbGxvd2luZwogICAgICAgIGV4cGFuc2lvbnMsIGFzc2lnbm1lbnRzLCBhbmQgcmVkaXJlY3Rpb25zLCBmcm9tIGxlZnQgdG8gcmlnaHQuCiAKLSAgICAgICAxLiAgICAgVGhlIHdvcmRzIHRoYXQgdGhlIHBhcnNlciBoYXMgIG1hcmtlZCAgYXMgIHZhcmlhYmxlICBhc3NpZ25tZW50cwotICAgICAgICAgICAgICAodGhvc2UgIHByZWNlZGluZyAgdGhlICBjb21tYW5kIG5hbWUpIGFuZCByZWRpcmVjdGlvbnMgYXJlIHNhdmVkCisgICAgICAgMS4gICAgIFRoZSAgd29yZHMgIHRoYXQgIHRoZSAgcGFyc2VyIGhhcyBtYXJrZWQgYXMgdmFyaWFibGUgYXNzaWdubWVudHMKKyAgICAgICAgICAgICAgKHRob3NlIHByZWNlZGluZyB0aGUgY29tbWFuZCBuYW1lKSBhbmQgIHJlZGlyZWN0aW9ucyAgYXJlICBzYXZlZAogICAgICAgICAgICAgICBmb3IgbGF0ZXIgcHJvY2Vzc2luZy4KIAotICAgICAgIDIuICAgICBUaGUgd29yZHMgdGhhdCBhcmUgbm90IHZhcmlhYmxlIGFzc2lnbm1lbnRzIG9yIHJlZGlyZWN0aW9ucyAgYXJlCi0gICAgICAgICAgICAgIGV4cGFuZGVkLiAgIElmICBhbnkgd29yZHMgcmVtYWluIGFmdGVyIGV4cGFuc2lvbiwgdGhlIGZpcnN0IHdvcmQKLSAgICAgICAgICAgICAgaXMgdGFrZW4gdG8gYmUgdGhlIG5hbWUgb2YgdGhlIGNvbW1hbmQgYW5kIHRoZSAgcmVtYWluaW5nICB3b3JkcworICAgICAgIDIuICAgICBUaGUgIHdvcmRzIHRoYXQgYXJlIG5vdCB2YXJpYWJsZSBhc3NpZ25tZW50cyBvciByZWRpcmVjdGlvbnMgYXJlCisgICAgICAgICAgICAgIGV4cGFuZGVkLiAgSWYgYW55IHdvcmRzIHJlbWFpbiBhZnRlciBleHBhbnNpb24sIHRoZSAgZmlyc3QgIHdvcmQKKyAgICAgICAgICAgICAgaXMgIHRha2VuICB0byBiZSB0aGUgbmFtZSBvZiB0aGUgY29tbWFuZCBhbmQgdGhlIHJlbWFpbmluZyB3b3JkcwogICAgICAgICAgICAgICBhcmUgdGhlIGFyZ3VtZW50cy4KIAogICAgICAgIDMuICAgICBSZWRpcmVjdGlvbnMgYXJlIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgYWJvdmUgdW5kZXIgUghSRQhFRAhESQhJUghSRQhFQwhDVAhUSQhJTwhPTghOLgogCiAgICAgICAgNC4gICAgIFRoZSB0ZXh0IGFmdGVyIHRoZSA9CD0gaW4gZWFjaCB2YXJpYWJsZSBhc3NpZ25tZW50IHVuZGVyZ29lcyB0aWxkZQogICAgICAgICAgICAgICBleHBhbnNpb24sIHBhcmFtZXRlciBleHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhcml0aG1ldGljCi0gICAgICAgICAgICAgIGV4cGFuc2lvbiwgYW5kIHF1b3RlIHJlbW92YWwgYmVmb3JlIGJlaW5nIGFzc2lnbmVkIHRvIHRoZSAgdmFyaS0KKyAgICAgICAgICAgICAgZXhwYW5zaW9uLCAgYW5kIHF1b3RlIHJlbW92YWwgYmVmb3JlIGJlaW5nIGFzc2lnbmVkIHRvIHRoZSB2YXJpLQogICAgICAgICAgICAgICBhYmxlLgogCiAgICAgICAgSWYgbm8gY29tbWFuZCBuYW1lIHJlc3VsdHMsIHRoZSB2YXJpYWJsZSBhc3NpZ25tZW50cyBhZmZlY3QgdGhlIGN1cnJlbnQKLSAgICAgICBzaGVsbCBlbnZpcm9ubWVudC4gIE90aGVyd2lzZSwgdGhlIHZhcmlhYmxlcyBhcmUgYWRkZWQgdG8gdGhlICBlbnZpcm9uLQotICAgICAgIG1lbnQgIG9mIHRoZSBleGVjdXRlZCBjb21tYW5kIGFuZCBkbyBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHNoZWxsIGVudmktCi0gICAgICAgcm9ubWVudC4gIElmIGFueSBvZiB0aGUgYXNzaWdubWVudHMgYXR0ZW1wdHMgdG8gYXNzaWduICBhICB2YWx1ZSAgdG8gIGEKLSAgICAgICByZWFkb25seSAgdmFyaWFibGUsICBhbiBlcnJvciBvY2N1cnMsIGFuZCB0aGUgY29tbWFuZCBleGl0cyB3aXRoIGEgbm9uLQorICAgICAgIHNoZWxsICBlbnZpcm9ubWVudC4gIE90aGVyd2lzZSwgdGhlIHZhcmlhYmxlcyBhcmUgYWRkZWQgdG8gdGhlIGVudmlyb24tCisgICAgICAgbWVudCBvZiB0aGUgZXhlY3V0ZWQgY29tbWFuZCBhbmQgZG8gbm90IGFmZmVjdCB0aGUgY3VycmVudCBzaGVsbCAgZW52aS0KKyAgICAgICByb25tZW50LiAgIElmICBhbnkgIG9mICB0aGUgYXNzaWdubWVudHMgYXR0ZW1wdHMgdG8gYXNzaWduIGEgdmFsdWUgdG8gYQorICAgICAgIHJlYWRvbmx5IHZhcmlhYmxlLCBhbiBlcnJvciBvY2N1cnMsIGFuZCB0aGUgY29tbWFuZCBleGl0cyB3aXRoICBhICBub24tCiAgICAgICAgemVybyBzdGF0dXMuCiAKLSAgICAgICBJZiBubyBjb21tYW5kIG5hbWUgcmVzdWx0cywgcmVkaXJlY3Rpb25zICBhcmUgIHBlcmZvcm1lZCwgIGJ1dCAgZG8gIG5vdAotICAgICAgIGFmZmVjdCAgdGhlICBjdXJyZW50IHNoZWxsIGVudmlyb25tZW50LiAgQSByZWRpcmVjdGlvbiBlcnJvciBjYXVzZXMgdGhlCisgICAgICAgSWYgIG5vICBjb21tYW5kICBuYW1lICByZXN1bHRzLCAgcmVkaXJlY3Rpb25zIGFyZSBwZXJmb3JtZWQsIGJ1dCBkbyBub3QKKyAgICAgICBhZmZlY3QgdGhlIGN1cnJlbnQgc2hlbGwgZW52aXJvbm1lbnQuICBBIHJlZGlyZWN0aW9uIGVycm9yICBjYXVzZXMgIHRoZQogICAgICAgIGNvbW1hbmQgdG8gZXhpdCB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLgogCi0gICAgICAgSWYgdGhlcmUgaXMgYSBjb21tYW5kIG5hbWUgbGVmdCBhZnRlciBleHBhbnNpb24sIGV4ZWN1dGlvbiBwcm9jZWVkcyAgYXMKLSAgICAgICBkZXNjcmliZWQgIGJlbG93LiAgIE90aGVyd2lzZSwgdGhlIGNvbW1hbmQgZXhpdHMuICBJZiBvbmUgb2YgdGhlIGV4cGFuLQotICAgICAgIHNpb25zIGNvbnRhaW5lZCBhIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCB0aGUgZXhpdCBzdGF0dXMgb2YgdGhlICBjb21tYW5kCi0gICAgICAgaXMgIHRoZSAgZXhpdCAgc3RhdHVzICBvZiAgdGhlIGxhc3QgY29tbWFuZCBzdWJzdGl0dXRpb24gcGVyZm9ybWVkLiAgSWYKKyAgICAgICBJZiAgdGhlcmUgaXMgYSBjb21tYW5kIG5hbWUgbGVmdCBhZnRlciBleHBhbnNpb24sIGV4ZWN1dGlvbiBwcm9jZWVkcyBhcworICAgICAgIGRlc2NyaWJlZCBiZWxvdy4gIE90aGVyd2lzZSwgdGhlIGNvbW1hbmQgZXhpdHMuICBJZiBvbmUgb2YgIHRoZSAgZXhwYW4tCisgICAgICAgc2lvbnMgIGNvbnRhaW5lZCBhIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCB0aGUgZXhpdCBzdGF0dXMgb2YgdGhlIGNvbW1hbmQKKyAgICAgICBpcyB0aGUgZXhpdCBzdGF0dXMgb2YgdGhlICBsYXN0ICBjb21tYW5kICBzdWJzdGl0dXRpb24gIHBlcmZvcm1lZC4gICBJZgogICAgICAgIHRoZXJlIHdlcmUgbm8gY29tbWFuZCBzdWJzdGl0dXRpb25zLCB0aGUgY29tbWFuZCBleGl0cyB3aXRoIGEgc3RhdHVzIG9mCiAgICAgICAgemVyby4KIAogQwhDTwhPTQhNTQhNQQhBTghORAhEIEUIRVgIWEUIRUMIQ1UIVVQIVEkISU8IT04ITgotICAgICAgIEFmdGVyICBhICBjb21tYW5kICBoYXMgYmVlbiBzcGxpdCBpbnRvIHdvcmRzLCBpZiBpdCByZXN1bHRzIGluIGEgc2ltcGxlCi0gICAgICAgY29tbWFuZCBhbmQgYW4gb3B0aW9uYWwgbGlzdCBvZiBhcmd1bWVudHMsIHRoZSAgZm9sbG93aW5nICBhY3Rpb25zICBhcmUKKyAgICAgICBBZnRlciBhIGNvbW1hbmQgaGFzIGJlZW4gc3BsaXQgaW50byB3b3JkcywgaWYgaXQgcmVzdWx0cyAgaW4gIGEgIHNpbXBsZQorICAgICAgIGNvbW1hbmQgIGFuZCAgYW4gIG9wdGlvbmFsIGxpc3Qgb2YgYXJndW1lbnRzLCB0aGUgZm9sbG93aW5nIGFjdGlvbnMgYXJlCiAgICAgICAgdGFrZW4uCiAKLSAgICAgICBJZiAgdGhlICBjb21tYW5kIG5hbWUgY29udGFpbnMgbm8gc2xhc2hlcywgdGhlIHNoZWxsIGF0dGVtcHRzIHRvIGxvY2F0ZQotICAgICAgIGl0LiAgSWYgdGhlcmUgZXhpc3RzIGEgc2hlbGwgZnVuY3Rpb24gYnkgdGhhdCBuYW1lLCAgdGhhdCAgZnVuY3Rpb24gIGlzCi0gICAgICAgaW52b2tlZCAgYXMgZGVzY3JpYmVkIGFib3ZlIGluIEYIRlUIVU4ITkMIQ1QIVEkISU8IT04ITlMIUy4gIElmIHRoZSBuYW1lIGRvZXMgbm90IG1hdGNoIGEKLSAgICAgICBmdW5jdGlvbiwgdGhlIHNoZWxsIHNlYXJjaGVzIGZvciBpdCBpbiB0aGUgbGlzdCBvZiBzaGVsbCBidWlsdGlucy4gICBJZgorICAgICAgIElmIHRoZSBjb21tYW5kIG5hbWUgY29udGFpbnMgbm8gc2xhc2hlcywgdGhlIHNoZWxsIGF0dGVtcHRzICB0byAgbG9jYXRlCisgICAgICAgaXQuICAgSWYgIHRoZXJlICBleGlzdHMgYSBzaGVsbCBmdW5jdGlvbiBieSB0aGF0IG5hbWUsIHRoYXQgZnVuY3Rpb24gaXMKKyAgICAgICBpbnZva2VkIGFzIGRlc2NyaWJlZCBhYm92ZSBpbiBGCEZVCFVOCE5DCENUCFRJCElPCE9OCE5TCFMuICBJZiB0aGUgbmFtZSBkb2VzIG5vdCBtYXRjaCAgYQorICAgICAgIGZ1bmN0aW9uLCAgdGhlIHNoZWxsIHNlYXJjaGVzIGZvciBpdCBpbiB0aGUgbGlzdCBvZiBzaGVsbCBidWlsdGlucy4gIElmCiAgICAgICAgYSBtYXRjaCBpcyBmb3VuZCwgdGhhdCBidWlsdGluIGlzIGludm9rZWQuCiAKLSAgICAgICBJZiAgdGhlIG5hbWUgaXMgbmVpdGhlciBhIHNoZWxsIGZ1bmN0aW9uIG5vciBhIGJ1aWx0aW4sIGFuZCBjb250YWlucyBubwotICAgICAgIHNsYXNoZXMsIGIIYmEIYXMIc2gIaCBzZWFyY2hlcyBlYWNoIGVsZW1lbnQgb2YgdGhlIFAIUEEIQVQIVEgISCBmb3IgIGEgIGRpcmVjdG9yeSAgY29uLQotICAgICAgIHRhaW5pbmcgIGFuICBleGVjdXRhYmxlICBmaWxlICBieSB0aGF0IG5hbWUuICBCCEJhCGFzCHNoCGggdXNlcyBhIGhhc2ggdGFibGUgdG8KLSAgICAgICByZW1lbWJlciB0aGUgZnVsbCBwYXRobmFtZXMgb2YgZXhlY3V0YWJsZSBmaWxlcyAoc2VlIGgIaGEIYXMIc2gIaCAgdW5kZXIgIFMIU0gISEUIRUwITEwITAotICAgICAgIEIIQlUIVUkISUwITFQIVEkISU4ITiAgQwhDTwhPTQhNTQhNQQhBTghORAhEUwhTICBiZWxvdykuICBBIGZ1bGwgc2VhcmNoIG9mIHRoZSBkaXJlY3RvcmllcyBpbiBQCFBBCEFUCFRICEggaXMKLSAgICAgICBwZXJmb3JtZWQgb25seSBpZiB0aGUgY29tbWFuZCBpcyBub3QgZm91bmQgaW4gdGhlIGhhc2ggdGFibGUuICAgSWYgIHRoZQorICAgICAgIElmIHRoZSBuYW1lIGlzIG5laXRoZXIgYSBzaGVsbCBmdW5jdGlvbiBub3IgYSBidWlsdGluLCBhbmQgY29udGFpbnMgIG5vCisgICAgICAgc2xhc2hlcywgIGIIYmEIYXMIc2gIaCAgc2VhcmNoZXMgIGVhY2ggZWxlbWVudCBvZiB0aGUgUAhQQQhBVAhUSAhIIGZvciBhIGRpcmVjdG9yeSBjb24tCisgICAgICAgdGFpbmluZyBhbiBleGVjdXRhYmxlIGZpbGUgYnkgdGhhdCBuYW1lLiAgQghCYQhhcwhzaAhoIHVzZXMgIGEgIGhhc2ggIHRhYmxlICB0bworICAgICAgIHJlbWVtYmVyICB0aGUgIGZ1bGwgcGF0aG5hbWVzIG9mIGV4ZWN1dGFibGUgZmlsZXMgKHNlZSBoCGhhCGFzCHNoCGggdW5kZXIgUwhTSAhIRQhFTAhMTAhMCisgICAgICAgQghCVQhVSQhJTAhMVAhUSQhJTghOIEMIQ08IT00ITU0ITUEIQU4ITkQIRFMIUyBiZWxvdykuICBBIGZ1bGwgc2VhcmNoIG9mIHRoZSBkaXJlY3RvcmllcyBpbiAgUAhQQQhBVAhUSAhIICBpcworICAgICAgIHBlcmZvcm1lZCAgb25seSAgaWYgdGhlIGNvbW1hbmQgaXMgbm90IGZvdW5kIGluIHRoZSBoYXNoIHRhYmxlLiAgSWYgdGhlCiAgICAgICAgc2VhcmNoIGlzIHVuc3VjY2Vzc2Z1bCwgdGhlIHNoZWxsIHNlYXJjaGVzIGZvciBhIGRlZmluZWQgc2hlbGwgZnVuY3Rpb24KICAgICAgICBuYW1lZCBjCGNvCG9tCG1tCG1hCGFuCG5kCGRfCF9uCG5vCG90CHRfCF9mCGZvCG91CHVuCG5kCGRfCF9oCGhhCGFuCG5kCGRsCGxlCGUuICBJZiB0aGF0IGZ1bmN0aW9uIGV4aXN0cywgaXQgaXMgaW52b2tlZAotICAgICAgIHdpdGggIHRoZSAgb3JpZ2luYWwgY29tbWFuZCBhbmQgdGhlIG9yaWdpbmFsIGNvbW1hbmQncyBhcmd1bWVudHMgYXMgaXRzCi0gICAgICAgYXJndW1lbnRzLCBhbmQgdGhlIGZ1bmN0aW9uJ3MgZXhpdCBzdGF0dXMgYmVjb21lcyB0aGUgIGV4aXQgIHN0YXR1cyAgb2YKLSAgICAgICB0aGUgIHNoZWxsLiAgSWYgdGhhdCBmdW5jdGlvbiBpcyBub3QgZGVmaW5lZCwgdGhlIHNoZWxsIHByaW50cyBhbiBlcnJvcgorICAgICAgIHdpdGggdGhlIG9yaWdpbmFsIGNvbW1hbmQgYW5kIHRoZSBvcmlnaW5hbCBjb21tYW5kJ3MgYXJndW1lbnRzICBhcyAgaXRzCisgICAgICAgYXJndW1lbnRzLCAgYW5kICB0aGUgIGZ1bmN0aW9uJ3MgZXhpdCBzdGF0dXMgYmVjb21lcyB0aGUgZXhpdCBzdGF0dXMgb2YKKyAgICAgICB0aGUgc2hlbGwuICBJZiB0aGF0IGZ1bmN0aW9uIGlzIG5vdCBkZWZpbmVkLCB0aGUgc2hlbGwgcHJpbnRzIGFuICBlcnJvcgogICAgICAgIG1lc3NhZ2UgYW5kIHJldHVybnMgYW4gZXhpdCBzdGF0dXMgb2YgMTI3LgogCi0gICAgICAgSWYgdGhlIHNlYXJjaCBpcyBzdWNjZXNzZnVsLCBvciBpZiB0aGUgY29tbWFuZCAgbmFtZSAgY29udGFpbnMgIG9uZSAgb3IKKyAgICAgICBJZiAgdGhlICBzZWFyY2ggIGlzICBzdWNjZXNzZnVsLCBvciBpZiB0aGUgY29tbWFuZCBuYW1lIGNvbnRhaW5zIG9uZSBvcgogICAgICAgIG1vcmUgc2xhc2hlcywgdGhlIHNoZWxsIGV4ZWN1dGVzIHRoZSBuYW1lZCBwcm9ncmFtIGluIGEgc2VwYXJhdGUgZXhlY3UtCiAgICAgICAgdGlvbiBlbnZpcm9ubWVudC4gIEFyZ3VtZW50IDAgaXMgc2V0IHRvIHRoZSBuYW1lIGdpdmVuLCBhbmQgdGhlIHJlbWFpbi0KICAgICAgICBpbmcgYXJndW1lbnRzIHRvIHRoZSBjb21tYW5kIGFyZSBzZXQgdG8gdGhlIGFyZ3VtZW50cyBnaXZlbiwgaWYgYW55LgogCi0gICAgICAgSWYgIHRoaXMgIGV4ZWN1dGlvbiBmYWlscyBiZWNhdXNlIHRoZSBmaWxlIGlzIG5vdCBpbiBleGVjdXRhYmxlIGZvcm1hdCwKLSAgICAgICBhbmQgdGhlIGZpbGUgaXMgbm90IGEgZGlyZWN0b3J5LCBpdCBpcyBhc3N1bWVkIHRvIGJlIGEgXwhzXwhoXwhlXwhsXwhsIF8Ic18IY18Icl8IaV8IcF8IdCwgIGEKLSAgICAgICBmaWxlICBjb250YWluaW5nICBzaGVsbCBjb21tYW5kcy4gIEEgc3Vic2hlbGwgaXMgc3Bhd25lZCB0byBleGVjdXRlIGl0LgotICAgICAgIFRoaXMgc3Vic2hlbGwgcmVpbml0aWFsaXplcyBpdHNlbGYsIHNvIHRoYXQgdGhlIGVmZmVjdCBpcyBhcyBpZiAgYSAgbmV3Ci0gICAgICAgc2hlbGwgIGhhZCAgYmVlbiAgaW52b2tlZCB0byBoYW5kbGUgdGhlIHNjcmlwdCwgd2l0aCB0aGUgZXhjZXB0aW9uIHRoYXQKLSAgICAgICB0aGUgbG9jYXRpb25zIG9mIGNvbW1hbmRzIHJlbWVtYmVyZWQgYnkgIHRoZSAgcGFyZW50ICAoc2VlICBoCGhhCGFzCHNoCGggIGJlbG93CisgICAgICAgSWYgdGhpcyBleGVjdXRpb24gZmFpbHMgYmVjYXVzZSB0aGUgZmlsZSBpcyBub3QgaW4gIGV4ZWN1dGFibGUgIGZvcm1hdCwKKyAgICAgICBhbmQgIHRoZSBmaWxlIGlzIG5vdCBhIGRpcmVjdG9yeSwgaXQgaXMgYXNzdW1lZCB0byBiZSBhIF8Ic18IaF8IZV8IbF8IbCBfCHNfCGNfCHJfCGlfCHBfCHQsIGEKKyAgICAgICBmaWxlIGNvbnRhaW5pbmcgc2hlbGwgY29tbWFuZHMuICBBIHN1YnNoZWxsIGlzIHNwYXduZWQgdG8gIGV4ZWN1dGUgIGl0LgorICAgICAgIFRoaXMgIHN1YnNoZWxsICByZWluaXRpYWxpemVzIGl0c2VsZiwgc28gdGhhdCB0aGUgZWZmZWN0IGlzIGFzIGlmIGEgbmV3CisgICAgICAgc2hlbGwgaGFkIGJlZW4gaW52b2tlZCB0byBoYW5kbGUgdGhlIHNjcmlwdCwgd2l0aCAgdGhlICBleGNlcHRpb24gIHRoYXQKKyAgICAgICB0aGUgIGxvY2F0aW9ucyAgb2YgIGNvbW1hbmRzICByZW1lbWJlcmVkICBieSB0aGUgcGFyZW50IChzZWUgaAhoYQhhcwhzaAhoIGJlbG93CiAgICAgICAgdW5kZXIgUwhTSAhIRQhFTAhMTAhMIEIIQlUIVUkISUwITFQIVEkISU4ITiBDCENPCE9NCE1NCE1BCEFOCE5ECERTCFMpIGFyZSByZXRhaW5lZCBieSB0aGUgY2hpbGQuCiAKLSAgICAgICBJZiAgdGhlIHByb2dyYW0gaXMgYSBmaWxlIGJlZ2lubmluZyB3aXRoICMIIyEIISwgdGhlIHJlbWFpbmRlciBvZiB0aGUgZmlyc3QKLSAgICAgICBsaW5lIHNwZWNpZmllcyBhbiBpbnRlcnByZXRlciBmb3IgdGhlIHByb2dyYW0uICBUaGUgc2hlbGwgZXhlY3V0ZXMgIHRoZQorICAgICAgIElmIHRoZSBwcm9ncmFtIGlzIGEgZmlsZSBiZWdpbm5pbmcgd2l0aCAjCCMhCCEsIHRoZSByZW1haW5kZXIgb2YgdGhlICBmaXJzdAorICAgICAgIGxpbmUgIHNwZWNpZmllcyBhbiBpbnRlcnByZXRlciBmb3IgdGhlIHByb2dyYW0uICBUaGUgc2hlbGwgZXhlY3V0ZXMgdGhlCiAgICAgICAgc3BlY2lmaWVkIGludGVycHJldGVyIG9uIG9wZXJhdGluZyBzeXN0ZW1zIHRoYXQgZG8gbm90IGhhbmRsZSB0aGlzIGV4ZS0KICAgICAgICBjdXRhYmxlIGZvcm1hdCB0aGVtc2VsdmVzLiAgVGhlIGFyZ3VtZW50cyB0byB0aGUgaW50ZXJwcmV0ZXIgY29uc2lzdCBvZgotICAgICAgIGEgIHNpbmdsZSBvcHRpb25hbCBhcmd1bWVudCBmb2xsb3dpbmcgdGhlIGludGVycHJldGVyIG5hbWUgb24gdGhlIGZpcnN0Ci0gICAgICAgbGluZSBvZiB0aGUgcHJvZ3JhbSwgZm9sbG93ZWQgYnkgdGhlIG5hbWUgb2YgdGhlIHByb2dyYW0sICBmb2xsb3dlZCAgYnkKKyAgICAgICBhIHNpbmdsZSBvcHRpb25hbCBhcmd1bWVudCBmb2xsb3dpbmcgdGhlIGludGVycHJldGVyIG5hbWUgb24gdGhlICBmaXJzdAorICAgICAgIGxpbmUgIG9mICB0aGUgcHJvZ3JhbSwgZm9sbG93ZWQgYnkgdGhlIG5hbWUgb2YgdGhlIHByb2dyYW0sIGZvbGxvd2VkIGJ5CiAgICAgICAgdGhlIGNvbW1hbmQgYXJndW1lbnRzLCBpZiBhbnkuCiAKIEMIQ08IT00ITU0ITUEIQU4ITkQIRCBFCEVYCFhFCEVDCENVCFVUCFRJCElPCE9OCE4gRQhFTghOVghWSQhJUghSTwhPTghOTQhNRQhFTghOVAhUCi0gICAgICAgVGhlICBzaGVsbCAgaGFzIGFuIF8IZV8IeF8IZV8IY18IdV8IdF8IaV8Ib18IbiBfCGVfCG5fCHZfCGlfCHJfCG9fCG5fCG1fCGVfCG5fCHQsIHdoaWNoIGNvbnNpc3RzIG9mIHRoZSBmb2xsb3ctCisgICAgICAgVGhlIHNoZWxsIGhhcyBhbiBfCGVfCHhfCGVfCGNfCHVfCHRfCGlfCG9fCG4gXwhlXwhuXwh2XwhpXwhyXwhvXwhuXwhtXwhlXwhuXwh0LCB3aGljaCBjb25zaXN0cyBvZiAgdGhlICBmb2xsb3ctCiAgICAgICAgaW5nOgogCiAKLSAgICAgICArCG8gICAgICBvcGVuIGZpbGVzIGluaGVyaXRlZCBieSB0aGUgc2hlbGwgYXQgaW52b2NhdGlvbiwgYXMgbW9kaWZpZWQgIGJ5CisgICAgICAgKwhvICAgICAgb3BlbiAgZmlsZXMgaW5oZXJpdGVkIGJ5IHRoZSBzaGVsbCBhdCBpbnZvY2F0aW9uLCBhcyBtb2RpZmllZCBieQogICAgICAgICAgICAgICByZWRpcmVjdGlvbnMgc3VwcGxpZWQgdG8gdGhlIGUIZXgIeGUIZWMIYyBidWlsdGluCiAKLSAgICAgICArCG8gICAgICB0aGUgIGN1cnJlbnQgIHdvcmtpbmcgZGlyZWN0b3J5IGFzIHNldCBieSBjCGNkCGQsIHAIcHUIdXMIc2gIaGQIZCwgb3IgcAhwbwhvcAhwZAhkLCBvcgorICAgICAgICsIbyAgICAgIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGFzIHNldCBieSBjCGNkCGQsIHAIcHUIdXMIc2gIaGQIZCwgb3IgIHAIcG8Ib3AIcGQIZCwgIG9yCiAgICAgICAgICAgICAgIGluaGVyaXRlZCBieSB0aGUgc2hlbGwgYXQgaW52b2NhdGlvbgogCi0gICAgICAgKwhvICAgICAgdGhlIGZpbGUgY3JlYXRpb24gbW9kZSBtYXNrIGFzIHNldCBieSB1CHVtCG1hCGFzCHNrCGsgIG9yICBpbmhlcml0ZWQgIGZyb20KKyAgICAgICArCG8gICAgICB0aGUgIGZpbGUgIGNyZWF0aW9uICBtb2RlIG1hc2sgYXMgc2V0IGJ5IHUIdW0IbWEIYXMIc2sIayBvciBpbmhlcml0ZWQgZnJvbQogICAgICAgICAgICAgICB0aGUgc2hlbGwncyBwYXJlbnQKIAogICAgICAgICsIbyAgICAgIGN1cnJlbnQgdHJhcHMgc2V0IGJ5IHQIdHIIcmEIYXAIcApAQCAtMjI3MiwxNTMgKzIzMTAsMTU0IEBACiAgICAgICAgKwhvICAgICAgc2hlbGwgcGFyYW1ldGVycyB0aGF0IGFyZSBzZXQgYnkgdmFyaWFibGUgYXNzaWdubWVudCBvciB3aXRoIHMIc2UIZXQIdAogICAgICAgICAgICAgICBvciBpbmhlcml0ZWQgZnJvbSB0aGUgc2hlbGwncyBwYXJlbnQgaW4gdGhlIGVudmlyb25tZW50CiAKLSAgICAgICArCG8gICAgICBzaGVsbCBmdW5jdGlvbnMgZGVmaW5lZCBkdXJpbmcgZXhlY3V0aW9uIG9yIGluaGVyaXRlZCAgZnJvbSAgdGhlCisgICAgICAgKwhvICAgICAgc2hlbGwgIGZ1bmN0aW9ucyAgZGVmaW5lZCBkdXJpbmcgZXhlY3V0aW9uIG9yIGluaGVyaXRlZCBmcm9tIHRoZQogICAgICAgICAgICAgICBzaGVsbCdzIHBhcmVudCBpbiB0aGUgZW52aXJvbm1lbnQKIAotICAgICAgICsIbyAgICAgIG9wdGlvbnMgIGVuYWJsZWQgIGF0ICBpbnZvY2F0aW9uIChlaXRoZXIgYnkgZGVmYXVsdCBvciB3aXRoIGNvbS0KKyAgICAgICArCG8gICAgICBvcHRpb25zIGVuYWJsZWQgYXQgaW52b2NhdGlvbiAoZWl0aGVyIGJ5IGRlZmF1bHQgIG9yICB3aXRoICBjb20tCiAgICAgICAgICAgICAgIG1hbmQtbGluZSBhcmd1bWVudHMpIG9yIGJ5IHMIc2UIZXQIdAogCiAgICAgICAgKwhvICAgICAgb3B0aW9ucyBlbmFibGVkIGJ5IHMIc2gIaG8Ib3AIcHQIdAogCiAgICAgICAgKwhvICAgICAgc2hlbGwgYWxpYXNlcyBkZWZpbmVkIHdpdGggYQhhbAhsaQhpYQhhcwhzCiAKLSAgICAgICArCG8gICAgICB2YXJpb3VzIHByb2Nlc3MgSURzLCBpbmNsdWRpbmcgdGhvc2UgIG9mICBiYWNrZ3JvdW5kICBqb2JzLCAgdGhlCi0gICAgICAgICAgICAgIHZhbHVlIG9mICQIJCQIJCwgYW5kIHRoZSB2YWx1ZSBvZiAkCCRQCFBQCFBJCElECEQKKyAgICAgICArCG8gICAgICB2YXJpb3VzICBwcm9jZXNzICBJRHMsICBpbmNsdWRpbmcgIHRob3NlIG9mIGJhY2tncm91bmQgam9icywgdGhlCisgICAgICAgICAgICAgIHZhbHVlIG9mICQIJCQIJCwgYW5kIHRoZSB2YWx1ZSBvZiBQCFBQCFBJCElECEQKIAotICAgICAgIFdoZW4gIGEgIHNpbXBsZSBjb21tYW5kIG90aGVyIHRoYW4gYSBidWlsdGluIG9yIHNoZWxsIGZ1bmN0aW9uIGlzIHRvIGJlCi0gICAgICAgZXhlY3V0ZWQsIGl0IGlzIGludm9rZWQgaW4gYSBzZXBhcmF0ZSBleGVjdXRpb24gZW52aXJvbm1lbnQgIHRoYXQgIGNvbi0KLSAgICAgICBzaXN0cyAgb2YgdGhlIGZvbGxvd2luZy4gIFVubGVzcyBvdGhlcndpc2Ugbm90ZWQsIHRoZSB2YWx1ZXMgYXJlIGluaGVyLQorICAgICAgIFdoZW4gYSBzaW1wbGUgY29tbWFuZCBvdGhlciB0aGFuIGEgYnVpbHRpbiBvciBzaGVsbCBmdW5jdGlvbiBpcyAgdG8gIGJlCisgICAgICAgZXhlY3V0ZWQsICBpdCAgaXMgaW52b2tlZCBpbiBhIHNlcGFyYXRlIGV4ZWN1dGlvbiBlbnZpcm9ubWVudCB0aGF0IGNvbi0KKyAgICAgICBzaXN0cyBvZiB0aGUgZm9sbG93aW5nLiAgVW5sZXNzIG90aGVyd2lzZSBub3RlZCwgdGhlIHZhbHVlcyBhcmUgIGluaGVyLQogICAgICAgIGl0ZWQgZnJvbSB0aGUgc2hlbGwuCiAKIAotICAgICAgICsIbyAgICAgIHRoZSBzaGVsbCdzIG9wZW4gZmlsZXMsIHBsdXMgIGFueSAgbW9kaWZpY2F0aW9ucyAgYW5kICBhZGRpdGlvbnMKKyAgICAgICArCG8gICAgICB0aGUgIHNoZWxsJ3MgIG9wZW4gIGZpbGVzLCAgcGx1cyBhbnkgbW9kaWZpY2F0aW9ucyBhbmQgYWRkaXRpb25zCiAgICAgICAgICAgICAgIHNwZWNpZmllZCBieSByZWRpcmVjdGlvbnMgdG8gdGhlIGNvbW1hbmQKIAogICAgICAgICsIbyAgICAgIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5CiAKICAgICAgICArCG8gICAgICB0aGUgZmlsZSBjcmVhdGlvbiBtb2RlIG1hc2sKIAotICAgICAgICsIbyAgICAgIHNoZWxsICB2YXJpYWJsZXMgIGFuZCAgZnVuY3Rpb25zICBtYXJrZWQgIGZvciBleHBvcnQsIGFsb25nIHdpdGgKKyAgICAgICArCG8gICAgICBzaGVsbCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucyAgbWFya2VkICBmb3IgIGV4cG9ydCwgIGFsb25nICB3aXRoCiAgICAgICAgICAgICAgIHZhcmlhYmxlcyBleHBvcnRlZCBmb3IgdGhlIGNvbW1hbmQsIHBhc3NlZCBpbiB0aGUgZW52aXJvbm1lbnQKIAogICAgICAgICsIbyAgICAgIHRyYXBzIGNhdWdodCBieSB0aGUgc2hlbGwgYXJlIHJlc2V0IHRvIHRoZSB2YWx1ZXMgaW5oZXJpdGVkIGZyb20KICAgICAgICAgICAgICAgdGhlIHNoZWxsJ3MgcGFyZW50LCBhbmQgdHJhcHMgaWdub3JlZCBieSB0aGUgc2hlbGwgYXJlIGlnbm9yZWQKIAotICAgICAgIEEgIGNvbW1hbmQgIGludm9rZWQgIGluICB0aGlzICBzZXBhcmF0ZSAgZW52aXJvbm1lbnQgIGNhbm5vdCBhZmZlY3QgdGhlCisgICAgICAgQSBjb21tYW5kIGludm9rZWQgIGluICB0aGlzICBzZXBhcmF0ZSAgZW52aXJvbm1lbnQgIGNhbm5vdCAgYWZmZWN0ICB0aGUKICAgICAgICBzaGVsbCdzIGV4ZWN1dGlvbiBlbnZpcm9ubWVudC4KIAotICAgICAgIENvbW1hbmQgc3Vic3RpdHV0aW9uLCBjb21tYW5kcyBncm91cGVkIHdpdGggcGFyZW50aGVzZXMsIGFuZCAgYXN5bmNocm8tCisgICAgICAgQ29tbWFuZCAgc3Vic3RpdHV0aW9uLCBjb21tYW5kcyBncm91cGVkIHdpdGggcGFyZW50aGVzZXMsIGFuZCBhc3luY2hyby0KICAgICAgICBub3VzIGNvbW1hbmRzIGFyZSBpbnZva2VkIGluIGEgc3Vic2hlbGwgZW52aXJvbm1lbnQgdGhhdCBpcyBhIGR1cGxpY2F0ZQotICAgICAgIG9mIHRoZSBzaGVsbCBlbnZpcm9ubWVudCwgZXhjZXB0IHRoYXQgdHJhcHMgY2F1Z2h0ICBieSAgdGhlICBzaGVsbCAgYXJlCisgICAgICAgb2YgIHRoZSAgc2hlbGwgIGVudmlyb25tZW50LCAgZXhjZXB0IHRoYXQgdHJhcHMgY2F1Z2h0IGJ5IHRoZSBzaGVsbCBhcmUKICAgICAgICByZXNldCB0byB0aGUgdmFsdWVzIHRoYXQgdGhlIHNoZWxsIGluaGVyaXRlZCBmcm9tIGl0cyBwYXJlbnQgYXQgaW52b2NhLQogICAgICAgIHRpb24uICBCdWlsdGluIGNvbW1hbmRzIHRoYXQgYXJlIGludm9rZWQgYXMgcGFydCBvZiBhIHBpcGVsaW5lIGFyZSBhbHNvCiAgICAgICAgZXhlY3V0ZWQgaW4gYSBzdWJzaGVsbCBlbnZpcm9ubWVudC4gIENoYW5nZXMgbWFkZSB0byB0aGUgc3Vic2hlbGwgZW52aS0KICAgICAgICByb25tZW50IGNhbm5vdCBhZmZlY3QgdGhlIHNoZWxsJ3MgZXhlY3V0aW9uIGVudmlyb25tZW50LgogCiAgICAgICAgU3Vic2hlbGxzIHNwYXduZWQgdG8gZXhlY3V0ZSBjb21tYW5kIHN1YnN0aXR1dGlvbnMgaW5oZXJpdCB0aGUgdmFsdWUgb2YKLSAgICAgICB0aGUgIC0ILWUIZSAgb3B0aW9uICBmcm9tICB0aGUgIHBhcmVudCBzaGVsbC4gIFdoZW4gbm90IGluIHBvc2l4IG1vZGUsIEJhc2gKKyAgICAgICB0aGUgLQgtZQhlIG9wdGlvbiBmcm9tIHRoZSBwYXJlbnQgc2hlbGwuICBXaGVuICBub3QgIGluICBwb3NpeCAgbW9kZSwgIEJhc2gKICAgICAgICBjbGVhcnMgdGhlIC0ILWUIZSBvcHRpb24gaW4gc3VjaCBzdWJzaGVsbHMuCiAKLSAgICAgICBJZiBhIGNvbW1hbmQgaXMgZm9sbG93ZWQgYnkgYSAmCCYgYW5kIGpvYiAgY29udHJvbCAgaXMgIG5vdCAgYWN0aXZlLCAgdGhlCi0gICAgICAgZGVmYXVsdCAgc3RhbmRhcmQgIGlucHV0ICBmb3IgIHRoZSBjb21tYW5kIGlzIHRoZSBlbXB0eSBmaWxlIF8IL18IZF8IZV8Idl8IL18Ibl8IdV8IbF8IbC4KLSAgICAgICBPdGhlcndpc2UsIHRoZSBpbnZva2VkIGNvbW1hbmQgaW5oZXJpdHMgdGhlICBmaWxlICBkZXNjcmlwdG9ycyAgb2YgIHRoZQorICAgICAgIElmICBhICBjb21tYW5kICBpcyAgZm9sbG93ZWQgIGJ5IGEgJggmIGFuZCBqb2IgY29udHJvbCBpcyBub3QgYWN0aXZlLCB0aGUKKyAgICAgICBkZWZhdWx0IHN0YW5kYXJkIGlucHV0IGZvciB0aGUgY29tbWFuZCBpcyAgdGhlICBlbXB0eSAgZmlsZSAgXwgvXwhkXwhlXwh2XwgvXwhuXwh1XwhsXwhsLgorICAgICAgIE90aGVyd2lzZSwgIHRoZSAgaW52b2tlZCAgY29tbWFuZCAgaW5oZXJpdHMgdGhlIGZpbGUgZGVzY3JpcHRvcnMgb2YgdGhlCiAgICAgICAgY2FsbGluZyBzaGVsbCBhcyBtb2RpZmllZCBieSByZWRpcmVjdGlvbnMuCiAKIEUIRU4ITlYIVkkISVIIUk8IT04ITk0ITUUIRU4ITlQIVAotICAgICAgIFdoZW4gIGEgIHByb2dyYW0gIGlzIGludm9rZWQgaXQgaXMgZ2l2ZW4gYW4gYXJyYXkgb2Ygc3RyaW5ncyBjYWxsZWQgdGhlCisgICAgICAgV2hlbiBhIHByb2dyYW0gaXMgaW52b2tlZCBpdCBpcyBnaXZlbiBhbiBhcnJheSBvZiAgc3RyaW5ncyAgY2FsbGVkICB0aGUKICAgICAgICBfCGVfCG5fCHZfCGlfCHJfCG9fCG5fCG1fCGVfCG5fCHQuICAgVGhpcyAgaXMgIGEgIGxpc3QgIG9mICBfCG5fCGFfCG1fCGUtXwh2XwhhXwhsXwh1XwhlICBwYWlycywgIG9mICB0aGUgIGZvcm0KICAgICAgICBfCG5fCGFfCG1fCGU9Xwh2XwhhXwhsXwh1XwhlLgogCi0gICAgICAgVGhlICBzaGVsbCAgcHJvdmlkZXMgIHNldmVyYWwgIHdheXMgIHRvIG1hbmlwdWxhdGUgdGhlIGVudmlyb25tZW50LiAgT24KKyAgICAgICBUaGUgc2hlbGwgcHJvdmlkZXMgc2V2ZXJhbCB3YXlzICB0byAgbWFuaXB1bGF0ZSAgdGhlICBlbnZpcm9ubWVudC4gICBPbgogICAgICAgIGludm9jYXRpb24sIHRoZSBzaGVsbCBzY2FucyBpdHMgb3duIGVudmlyb25tZW50IGFuZCBjcmVhdGVzIGEgcGFyYW1ldGVyCi0gICAgICAgZm9yICBlYWNoIG5hbWUgZm91bmQsIGF1dG9tYXRpY2FsbHkgbWFya2luZyBpdCBmb3IgXwhlXwh4XwhwXwhvXwhyXwh0IHRvIGNoaWxkIHByby0KLSAgICAgICBjZXNzZXMuICBFeGVjdXRlZCBjb21tYW5kcyBpbmhlcml0IHRoZSAgZW52aXJvbm1lbnQuICAgVGhlICBlCGV4CHhwCHBvCG9yCHJ0CHQgIGFuZAotICAgICAgIGQIZGUIZWMIY2wIbGEIYXIIcmUIZSAgLQgteAh4ICBjb21tYW5kcyBhbGxvdyBwYXJhbWV0ZXJzIGFuZCBmdW5jdGlvbnMgdG8gYmUgYWRkZWQgdG8gYW5kCisgICAgICAgZm9yIGVhY2ggbmFtZSBmb3VuZCwgYXV0b21hdGljYWxseSBtYXJraW5nIGl0IGZvciBfCGVfCHhfCHBfCG9fCHJfCHQgdG8gY2hpbGQgIHByby0KKyAgICAgICBjZXNzZXMuICAgRXhlY3V0ZWQgIGNvbW1hbmRzICBpbmhlcml0ICB0aGUgZW52aXJvbm1lbnQuICBUaGUgZQhleAh4cAhwbwhvcghydAh0IGFuZAorICAgICAgIGQIZGUIZWMIY2wIbGEIYXIIcmUIZSAtCC14CHggY29tbWFuZHMgYWxsb3cgcGFyYW1ldGVycyBhbmQgZnVuY3Rpb25zIHRvIGJlIGFkZGVkICB0byAgYW5kCiAgICAgICAgZGVsZXRlZCBmcm9tIHRoZSBlbnZpcm9ubWVudC4gIElmIHRoZSB2YWx1ZSBvZiBhIHBhcmFtZXRlciBpbiB0aGUgZW52aS0KLSAgICAgICByb25tZW50ICBpcyAgbW9kaWZpZWQsICB0aGUgIG5ldyB2YWx1ZSBiZWNvbWVzIHBhcnQgb2YgdGhlIGVudmlyb25tZW50LAotICAgICAgIHJlcGxhY2luZyB0aGUgb2xkLiAgVGhlIGVudmlyb25tZW50IGluaGVyaXRlZCBieSBhbnkgIGV4ZWN1dGVkICBjb21tYW5kCi0gICAgICAgY29uc2lzdHMgIG9mIHRoZSBzaGVsbCdzIGluaXRpYWwgZW52aXJvbm1lbnQsIHdob3NlIHZhbHVlcyBtYXkgYmUgbW9kaS0KLSAgICAgICBmaWVkIGluIHRoZSBzaGVsbCwgbGVzcyBhbnkgcGFpcnMgcmVtb3ZlZCBieSB0aGUgIHUIdW4IbnMIc2UIZXQIdCAgY29tbWFuZCwgIHBsdXMKKyAgICAgICByb25tZW50IGlzIG1vZGlmaWVkLCB0aGUgbmV3IHZhbHVlIGJlY29tZXMgIHBhcnQgIG9mICB0aGUgIGVudmlyb25tZW50LAorICAgICAgIHJlcGxhY2luZyAgdGhlICBvbGQuICBUaGUgZW52aXJvbm1lbnQgaW5oZXJpdGVkIGJ5IGFueSBleGVjdXRlZCBjb21tYW5kCisgICAgICAgY29uc2lzdHMgb2YgdGhlIHNoZWxsJ3MgaW5pdGlhbCBlbnZpcm9ubWVudCwgd2hvc2UgdmFsdWVzIG1heSBiZSAgbW9kaS0KKyAgICAgICBmaWVkICBpbiAgdGhlICBzaGVsbCwgbGVzcyBhbnkgcGFpcnMgcmVtb3ZlZCBieSB0aGUgdQh1bghucwhzZQhldAh0IGNvbW1hbmQsIHBsdXMKICAgICAgICBhbnkgYWRkaXRpb25zIHZpYSB0aGUgZQhleAh4cAhwbwhvcghydAh0IGFuZCBkCGRlCGVjCGNsCGxhCGFyCHJlCGUgLQgteAh4IGNvbW1hbmRzLgogCi0gICAgICAgVGhlICBlbnZpcm9ubWVudCAgZm9yICBhbnkgIF8Ic18IaV8IbV8IcF8IbF8IZSBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgb3IgZnVuY3Rpb24gbWF5IGJlIGF1Z21lbnRlZAotICAgICAgIHRlbXBvcmFyaWx5IGJ5IHByZWZpeGluZyBpdCB3aXRoIHBhcmFtZXRlciAgYXNzaWdubWVudHMsICBhcyAgZGVzY3JpYmVkCisgICAgICAgVGhlIGVudmlyb25tZW50IGZvciBhbnkgXwhzXwhpXwhtXwhwXwhsXwhlIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBvciAgZnVuY3Rpb24gIG1heSAgYmUgIGF1Z21lbnRlZAorICAgICAgIHRlbXBvcmFyaWx5ICBieSAgcHJlZml4aW5nICBpdCB3aXRoIHBhcmFtZXRlciBhc3NpZ25tZW50cywgYXMgZGVzY3JpYmVkCiAgICAgICAgYWJvdmUgaW4gUAhQQQhBUghSQQhBTQhNRQhFVAhURQhFUghSUwhTLiAgVGhlc2UgYXNzaWdubWVudCBzdGF0ZW1lbnRzIGFmZmVjdCBvbmx5IHRoZSBlbnZpLQogICAgICAgIHJvbm1lbnQgc2VlbiBieSB0aGF0IGNvbW1hbmQuCiAKLSAgICAgICBJZiB0aGUgLQgtawhrIG9wdGlvbiBpcyBzZXQgKHNlZSB0aGUgcwhzZQhldAh0IGJ1aWx0aW4gY29tbWFuZCBiZWxvdyksICB0aGVuICBfCGFfCGxfCGwKLSAgICAgICBwYXJhbWV0ZXIgIGFzc2lnbm1lbnRzIGFyZSBwbGFjZWQgaW4gdGhlIGVudmlyb25tZW50IGZvciBhIGNvbW1hbmQsIG5vdAorICAgICAgIElmICB0aGUgIC0ILWsIayBvcHRpb24gaXMgc2V0IChzZWUgdGhlIHMIc2UIZXQIdCBidWlsdGluIGNvbW1hbmQgYmVsb3cpLCB0aGVuIF8IYV8IbF8IbAorICAgICAgIHBhcmFtZXRlciBhc3NpZ25tZW50cyBhcmUgcGxhY2VkIGluIHRoZSBlbnZpcm9ubWVudCBmb3IgYSBjb21tYW5kLCAgbm90CiAgICAgICAganVzdCB0aG9zZSB0aGF0IHByZWNlZGUgdGhlIGNvbW1hbmQgbmFtZS4KIAotICAgICAgIFdoZW4gYghiYQhhcwhzaAhoIGludm9rZXMgYW4gZXh0ZXJuYWwgY29tbWFuZCwgdGhlIHZhcmlhYmxlIF8IXyAgaXMgIHNldCAgdG8gIHRoZQotICAgICAgIGZ1bGwgIGZpbGUgIG5hbWUgb2YgdGhlIGNvbW1hbmQgYW5kIHBhc3NlZCB0byB0aGF0IGNvbW1hbmQgaW4gaXRzIGVudmktCisgICAgICAgV2hlbiAgYghiYQhhcwhzaAhoICBpbnZva2VzICBhbiAgZXh0ZXJuYWwgY29tbWFuZCwgdGhlIHZhcmlhYmxlIF8IXyBpcyBzZXQgdG8gdGhlCisgICAgICAgZnVsbCBmaWxlIG5hbWUgb2YgdGhlIGNvbW1hbmQgYW5kIHBhc3NlZCB0byB0aGF0IGNvbW1hbmQgaW4gIGl0cyAgZW52aS0KICAgICAgICByb25tZW50LgogCiBFCEVYCFhJCElUCFQgUwhTVAhUQQhBVAhUVQhVUwhTCi0gICAgICAgVGhlIGV4aXQgc3RhdHVzIG9mIGFuIGV4ZWN1dGVkIGNvbW1hbmQgaXMgdGhlICB2YWx1ZSAgcmV0dXJuZWQgIGJ5ICB0aGUKKyAgICAgICBUaGUgIGV4aXQgIHN0YXR1cyAgb2YgIGFuIGV4ZWN1dGVkIGNvbW1hbmQgaXMgdGhlIHZhbHVlIHJldHVybmVkIGJ5IHRoZQogICAgICAgIF8Id18IYV8IaV8IdF8IcF8IaV8IZCBzeXN0ZW0gY2FsbCBvciBlcXVpdmFsZW50IGZ1bmN0aW9uLiAgRXhpdCBzdGF0dXNlcyBmYWxsIGJldHdlZW4KLSAgICAgICAwIGFuZCAyNTUsIHRob3VnaCwgYXMgZXhwbGFpbmVkIGJlbG93LCB0aGUgc2hlbGwgbWF5IHVzZSAgdmFsdWVzICBhYm92ZQorICAgICAgIDAgIGFuZCAgMjU1LCB0aG91Z2gsIGFzIGV4cGxhaW5lZCBiZWxvdywgdGhlIHNoZWxsIG1heSB1c2UgdmFsdWVzIGFib3ZlCiAgICAgICAgMTI1IHNwZWNpYWxseS4gIEV4aXQgc3RhdHVzZXMgZnJvbSBzaGVsbCBidWlsdGlucyBhbmQgY29tcG91bmQgY29tbWFuZHMKLSAgICAgICBhcmUgYWxzbyBsaW1pdGVkIHRvIHRoaXMgcmFuZ2UuIFVuZGVyIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcywgdGhlICBzaGVsbAorICAgICAgIGFyZSAgYWxzbyBsaW1pdGVkIHRvIHRoaXMgcmFuZ2UuIFVuZGVyIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcywgdGhlIHNoZWxsCiAgICAgICAgd2lsbCB1c2Ugc3BlY2lhbCB2YWx1ZXMgdG8gaW5kaWNhdGUgc3BlY2lmaWMgZmFpbHVyZSBtb2Rlcy4KIAogICAgICAgIEZvciB0aGUgc2hlbGwncyBwdXJwb3NlcywgYSBjb21tYW5kIHdoaWNoIGV4aXRzIHdpdGggYSB6ZXJvIGV4aXQgc3RhdHVzCi0gICAgICAgaGFzIHN1Y2NlZWRlZC4gIEFuIGV4aXQgc3RhdHVzIG9mIHplcm8gaW5kaWNhdGVzIHN1Y2Nlc3MuICAgQSAgbm9uLXplcm8KLSAgICAgICBleGl0ICBzdGF0dXMgIGluZGljYXRlcyAgZmFpbHVyZS4gIFdoZW4gYSBjb21tYW5kIHRlcm1pbmF0ZXMgb24gYSBmYXRhbAorICAgICAgIGhhcyAgc3VjY2VlZGVkLiAgIEFuIGV4aXQgc3RhdHVzIG9mIHplcm8gaW5kaWNhdGVzIHN1Y2Nlc3MuICBBIG5vbi16ZXJvCisgICAgICAgZXhpdCBzdGF0dXMgaW5kaWNhdGVzIGZhaWx1cmUuICBXaGVuIGEgY29tbWFuZCB0ZXJtaW5hdGVzICBvbiAgYSAgZmF0YWwKICAgICAgICBzaWduYWwgXwhOLCBiCGJhCGFzCHNoCGggdXNlcyB0aGUgdmFsdWUgb2YgMTI4K18ITiBhcyB0aGUgZXhpdCBzdGF0dXMuCiAKLSAgICAgICBJZiBhIGNvbW1hbmQgaXMgbm90IGZvdW5kLCB0aGUgY2hpbGQgIHByb2Nlc3MgIGNyZWF0ZWQgIHRvICBleGVjdXRlICBpdAotICAgICAgIHJldHVybnMgIGEgc3RhdHVzIG9mIDEyNy4gIElmIGEgY29tbWFuZCBpcyBmb3VuZCBidXQgaXMgbm90IGV4ZWN1dGFibGUsCisgICAgICAgSWYgIGEgIGNvbW1hbmQgIGlzICBub3QgIGZvdW5kLCB0aGUgY2hpbGQgcHJvY2VzcyBjcmVhdGVkIHRvIGV4ZWN1dGUgaXQKKyAgICAgICByZXR1cm5zIGEgc3RhdHVzIG9mIDEyNy4gIElmIGEgY29tbWFuZCBpcyBmb3VuZCBidXQgaXMgbm90ICBleGVjdXRhYmxlLAogICAgICAgIHRoZSByZXR1cm4gc3RhdHVzIGlzIDEyNi4KIAogICAgICAgIElmIGEgY29tbWFuZCBmYWlscyBiZWNhdXNlIG9mIGFuIGVycm9yIGR1cmluZyBleHBhbnNpb24gb3IgcmVkaXJlY3Rpb24sCiAgICAgICAgdGhlIGV4aXQgc3RhdHVzIGlzIGdyZWF0ZXIgdGhhbiB6ZXJvLgogCi0gICAgICAgU2hlbGwgIGJ1aWx0aW4gIGNvbW1hbmRzIHJldHVybiBhIHN0YXR1cyBvZiAwIChfCHRfCHJfCHVfCGUpIGlmIHN1Y2Nlc3NmdWwsIGFuZAotICAgICAgIG5vbi16ZXJvIChfCGZfCGFfCGxfCHNfCGUpIGlmIGFuIGVycm9yIG9jY3VycyB3aGlsZSB0aGV5IGV4ZWN1dGUuICAgQWxsICBidWlsdGlucworICAgICAgIFNoZWxsIGJ1aWx0aW4gY29tbWFuZHMgcmV0dXJuIGEgc3RhdHVzIG9mIDAgKF8IdF8Icl8IdV8IZSkgaWYgIHN1Y2Nlc3NmdWwsICBhbmQKKyAgICAgICBub24temVybyAgKF8IZl8IYV8IbF8Ic18IZSkgIGlmIGFuIGVycm9yIG9jY3VycyB3aGlsZSB0aGV5IGV4ZWN1dGUuICBBbGwgYnVpbHRpbnMKICAgICAgICByZXR1cm4gYW4gZXhpdCBzdGF0dXMgb2YgMiB0byBpbmRpY2F0ZSBpbmNvcnJlY3QgdXNhZ2UuCiAKLSAgICAgICBCCEJhCGFzCHNoCGggIGl0c2VsZiAgcmV0dXJucyAgdGhlICBleGl0ICBzdGF0dXMgIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQsCi0gICAgICAgdW5sZXNzIGEgc3ludGF4IGVycm9yIG9jY3VycywgaW4gd2hpY2ggY2FzZSBpdCBleGl0cyAgd2l0aCAgYSAgbm9uLXplcm8KKyAgICAgICBCCEJhCGFzCHNoCGggaXRzZWxmIHJldHVybnMgdGhlIGV4aXQgIHN0YXR1cyAgb2YgIHRoZSAgbGFzdCAgY29tbWFuZCAgZXhlY3V0ZWQsCisgICAgICAgdW5sZXNzICBhICBzeW50YXggIGVycm9yIG9jY3VycywgaW4gd2hpY2ggY2FzZSBpdCBleGl0cyB3aXRoIGEgbm9uLXplcm8KICAgICAgICB2YWx1ZS4gIFNlZSBhbHNvIHRoZSBlCGV4CHhpCGl0CHQgYnVpbHRpbiBjb21tYW5kIGJlbG93LgogCiBTCFNJCElHCEdOCE5BCEFMCExTCFMKLSAgICAgICBXaGVuICBiCGJhCGFzCHNoCGggIGlzICBpbnRlcmFjdGl2ZSwgIGluICB0aGUgIGFic2VuY2Ugb2YgYW55IHRyYXBzLCBpdCBpZ25vcmVzCisgICAgICAgV2hlbiBiCGJhCGFzCHNoCGggaXMgaW50ZXJhY3RpdmUsIGluIHRoZSAgYWJzZW5jZSAgb2YgIGFueSAgdHJhcHMsICBpdCAgaWdub3JlcwogICAgICAgIFMIU0kISUcIR1QIVEUIRVIIUk0ITSAoc28gdGhhdCBrCGtpCGlsCGxsCGwgMAgwIGRvZXMgbm90IGtpbGwgYW4gaW50ZXJhY3RpdmUgc2hlbGwpLCBhbmQgUwhTSQhJRwhHSQhJTghOVAhUCi0gICAgICAgaXMgIGNhdWdodCBhbmQgaGFuZGxlZCAoc28gdGhhdCB0aGUgdwh3YQhhaQhpdAh0IGJ1aWx0aW4gaXMgaW50ZXJydXB0aWJsZSkuICBJbgotICAgICAgIGFsbCBjYXNlcywgYghiYQhhcwhzaAhoIGlnbm9yZXMgUwhTSQhJRwhHUQhRVQhVSQhJVAhULiAgSWYgam9iIGNvbnRyb2wgIGlzICBpbiAgZWZmZWN0LCAgYghiYQhhcwhzaAhoCisgICAgICAgaXMgY2F1Z2h0IGFuZCBoYW5kbGVkIChzbyB0aGF0IHRoZSB3CHdhCGFpCGl0CHQgYnVpbHRpbiBpcyBpbnRlcnJ1cHRpYmxlKS4gICBJbgorICAgICAgIGFsbCAgY2FzZXMsICBiCGJhCGFzCHNoCGggIGlnbm9yZXMgIFMIU0kISUcIR1EIUVUIVUkISVQIVC4gIElmIGpvYiBjb250cm9sIGlzIGluIGVmZmVjdCwgYghiYQhhcwhzaAhoCiAgICAgICAgaWdub3JlcyBTCFNJCElHCEdUCFRUCFRJCElOCE4sIFMIU0kISUcIR1QIVFQIVE8IT1UIVSwgYW5kIFMIU0kISUcIR1QIVFMIU1QIVFAIUC4KIAogICAgICAgIE5vbi1idWlsdGluIGNvbW1hbmRzIHJ1biBieSBiCGJhCGFzCHNoCGggaGF2ZSBzaWduYWwgaGFuZGxlcnMgc2V0IHRvIHRoZSB2YWx1ZXMKLSAgICAgICBpbmhlcml0ZWQgYnkgdGhlIHNoZWxsIGZyb20gaXRzIHBhcmVudC4gIFdoZW4gam9iICBjb250cm9sICBpcyAgbm90ICBpbgotICAgICAgIGVmZmVjdCwgIGFzeW5jaHJvbm91cyBjb21tYW5kcyBpZ25vcmUgUwhTSQhJRwhHSQhJTghOVAhUIGFuZCBTCFNJCElHCEdRCFFVCFVJCElUCFQgaW4gYWRkaXRpb24gdG8KLSAgICAgICB0aGVzZSBpbmhlcml0ZWQgaGFuZGxlcnMuICBDb21tYW5kcyBydW4gYXMgYSByZXN1bHQgb2YgY29tbWFuZCAgc3Vic3RpLQorICAgICAgIGluaGVyaXRlZCAgYnkgIHRoZSAgc2hlbGwgIGZyb20gaXRzIHBhcmVudC4gIFdoZW4gam9iIGNvbnRyb2wgaXMgbm90IGluCisgICAgICAgZWZmZWN0LCBhc3luY2hyb25vdXMgY29tbWFuZHMgaWdub3JlIFMIU0kISUcIR0kISU4ITlQIVCBhbmQgUwhTSQhJRwhHUQhRVQhVSQhJVAhUIGluIGFkZGl0aW9uICB0bworICAgICAgIHRoZXNlICBpbmhlcml0ZWQgaGFuZGxlcnMuICBDb21tYW5kcyBydW4gYXMgYSByZXN1bHQgb2YgY29tbWFuZCBzdWJzdGktCiAgICAgICAgdHV0aW9uIGlnbm9yZSB0aGUga2V5Ym9hcmQtZ2VuZXJhdGVkIGpvYiBjb250cm9sIHNpZ25hbHMgUwhTSQhJRwhHVAhUVAhUSQhJTghOLCBTCFNJCElHCEdUCFQtCC0KICAgICAgICBUCFRPCE9VCFUsIGFuZCBTCFNJCElHCEdUCFRTCFNUCFRQCFAuCiAKLSAgICAgICBUaGUgc2hlbGwgZXhpdHMgYnkgZGVmYXVsdCB1cG9uIHJlY2VpcHQgb2YgYSBTCFNJCElHCEdICEhVCFVQCFAuICAgQmVmb3JlICBleGl0aW5nLAotICAgICAgIGFuICBpbnRlcmFjdGl2ZSAgc2hlbGwgIHJlc2VuZHMgIHRoZSAgUwhTSQhJRwhHSAhIVQhVUAhQICB0byAgYWxsICBqb2JzLCBydW5uaW5nIG9yCisgICAgICAgVGhlICBzaGVsbCAgZXhpdHMgYnkgZGVmYXVsdCB1cG9uIHJlY2VpcHQgb2YgYSBTCFNJCElHCEdICEhVCFVQCFAuICBCZWZvcmUgZXhpdGluZywKKyAgICAgICBhbiBpbnRlcmFjdGl2ZSBzaGVsbCAgcmVzZW5kcyAgdGhlICBTCFNJCElHCEdICEhVCFVQCFAgIHRvICBhbGwgIGpvYnMsICBydW5uaW5nICBvcgogICAgICAgIHN0b3BwZWQuICBTdG9wcGVkIGpvYnMgYXJlIHNlbnQgUwhTSQhJRwhHQwhDTwhPTghOVAhUIHRvIGVuc3VyZSB0aGF0IHRoZXkgcmVjZWl2ZSB0aGUKLSAgICAgICBTCFNJCElHCEdICEhVCFVQCFAuICAgVG8gIHByZXZlbnQgdGhlIHNoZWxsIGZyb20gc2VuZGluZyB0aGUgc2lnbmFsIHRvIGEgcGFydGljdWxhcgotICAgICAgIGpvYiwgaXQgc2hvdWxkIGJlIHJlbW92ZWQgZnJvbSB0aGUgam9icyB0YWJsZSB3aXRoIHRoZSAgZAhkaQhpcwhzbwhvdwh3bghuICBidWlsdGluCi0gICAgICAgKHNlZSAgUwhTSAhIRQhFTAhMTAhMICBCCEJVCFVJCElMCExUCFRJCElOCE4gIEMIQ08IT00ITU0ITUEIQU4ITkQIRFMIUyAgYmVsb3cpICBvciBtYXJrZWQgdG8gbm90IHJlY2VpdmUgUwhTSQhJRwhHSAhIVQhVUAhQCisgICAgICAgUwhTSQhJRwhHSAhIVQhVUAhQLiAgVG8gcHJldmVudCB0aGUgc2hlbGwgZnJvbSBzZW5kaW5nIHRoZSBzaWduYWwgdG8gIGEgIHBhcnRpY3VsYXIKKyAgICAgICBqb2IsICBpdCAgc2hvdWxkIGJlIHJlbW92ZWQgZnJvbSB0aGUgam9icyB0YWJsZSB3aXRoIHRoZSBkCGRpCGlzCHNvCG93CHduCG4gYnVpbHRpbgorICAgICAgIChzZWUgUwhTSAhIRQhFTAhMTAhMIEIIQlUIVUkISUwITFQIVEkISU4ITiBDCENPCE9NCE1NCE1BCEFOCE5ECERTCFMgYmVsb3cpIG9yICBtYXJrZWQgIHRvICBub3QgIHJlY2VpdmUgIFMIU0kISUcIR0gISFUIVVAIUAogICAgICAgIHVzaW5nIGQIZGkIaXMIc28Ib3cId24IbiAtCC1oCGguCiAKLSAgICAgICBJZiB0aGUgaAhodQh1cAhwbwhvbghuZQhleAh4aQhpdAh0IHNoZWxsIG9wdGlvbiBoYXMgYmVlbiBzZXQgd2l0aCAgcwhzaAhobwhvcAhwdAh0LCAgYghiYQhhcwhzaAhoICBzZW5kcyAgYQorICAgICAgIElmICB0aGUgIGgIaHUIdXAIcG8Ib24IbmUIZXgIeGkIaXQIdCAgc2hlbGwgIG9wdGlvbiBoYXMgYmVlbiBzZXQgd2l0aCBzCHNoCGhvCG9wCHB0CHQsIGIIYmEIYXMIc2gIaCBzZW5kcyBhCiAgICAgICAgUwhTSQhJRwhHSAhIVQhVUAhQIHRvIGFsbCBqb2JzIHdoZW4gYW4gaW50ZXJhY3RpdmUgbG9naW4gc2hlbGwgZXhpdHMuCiAKLSAgICAgICBJZiAgYghiYQhhcwhzaAhoIGlzIHdhaXRpbmcgZm9yIGEgY29tbWFuZCB0byBjb21wbGV0ZSBhbmQgcmVjZWl2ZXMgYSBzaWduYWwgZm9yCisgICAgICAgSWYgYghiYQhhcwhzaAhoIGlzIHdhaXRpbmcgZm9yIGEgY29tbWFuZCB0byBjb21wbGV0ZSBhbmQgcmVjZWl2ZXMgYSBzaWduYWwgIGZvcgogICAgICAgIHdoaWNoIGEgdHJhcCBoYXMgYmVlbiBzZXQsIHRoZSB0cmFwIHdpbGwgbm90IGJlIGV4ZWN1dGVkIHVudGlsIHRoZSBjb20tCi0gICAgICAgbWFuZCAgY29tcGxldGVzLiAgIFdoZW4gYghiYQhhcwhzaAhoIGlzIHdhaXRpbmcgZm9yIGFuIGFzeW5jaHJvbm91cyBjb21tYW5kIHZpYQotICAgICAgIHRoZSB3CHdhCGFpCGl0CHQgYnVpbHRpbiwgdGhlIHJlY2VwdGlvbiBvZiBhIHNpZ25hbCBmb3Igd2hpY2ggYSB0cmFwICBoYXMgIGJlZW4KKyAgICAgICBtYW5kIGNvbXBsZXRlcy4gIFdoZW4gYghiYQhhcwhzaAhoIGlzIHdhaXRpbmcgZm9yIGFuIGFzeW5jaHJvbm91cyAgY29tbWFuZCAgdmlhCisgICAgICAgdGhlICB3CHdhCGFpCGl0CHQgIGJ1aWx0aW4sIHRoZSByZWNlcHRpb24gb2YgYSBzaWduYWwgZm9yIHdoaWNoIGEgdHJhcCBoYXMgYmVlbgogICAgICAgIHNldCB3aWxsIGNhdXNlIHRoZSB3CHdhCGFpCGl0CHQgYnVpbHRpbiB0byByZXR1cm4gaW1tZWRpYXRlbHkgd2l0aCBhbiBleGl0IHN0YS0KICAgICAgICB0dXMgZ3JlYXRlciB0aGFuIDEyOCwgaW1tZWRpYXRlbHkgYWZ0ZXIgd2hpY2ggdGhlIHRyYXAgaXMgZXhlY3V0ZWQuCiAKIEoISk8IT0IIQiBDCENPCE9OCE5UCFRSCFJPCE9MCEwKLSAgICAgICBfCEpfCG9fCGIgXwhjXwhvXwhuXwh0XwhyXwhvXwhsIHJlZmVycyB0byB0aGUgYWJpbGl0eSB0byAgc2VsZWN0aXZlbHkgIHN0b3AgIChfCHNfCHVfCHNfCHBfCGVfCG5fCGQpICB0aGUKKyAgICAgICBfCEpfCG9fCGIgIF8IY18Ib18Ibl8IdF8Icl8Ib18IbCAgcmVmZXJzICB0byAgdGhlIGFiaWxpdHkgdG8gc2VsZWN0aXZlbHkgc3RvcCAoXwhzXwh1XwhzXwhwXwhlXwhuXwhkKSB0aGUKICAgICAgICBleGVjdXRpb24gb2YgcHJvY2Vzc2VzIGFuZCBjb250aW51ZSAoXwhyXwhlXwhzXwh1XwhtXwhlKSB0aGVpciBleGVjdXRpb24gYXQgYSBsYXRlcgotICAgICAgIHBvaW50LiAgQSB1c2VyIHR5cGljYWxseSAgZW1wbG95cyAgdGhpcyAgZmFjaWxpdHkgIHZpYSAgYW4gIGludGVyYWN0aXZlCi0gICAgICAgaW50ZXJmYWNlIHN1cHBsaWVkIGpvaW50bHkgYnkgdGhlIHN5c3RlbSdzIHRlcm1pbmFsIGRyaXZlciBhbmQgYghiYQhhcwhzaAhoLgorICAgICAgIHBvaW50LiAgIEEgIHVzZXIgIHR5cGljYWxseSAgZW1wbG95cyAgdGhpcyAgZmFjaWxpdHkgdmlhIGFuIGludGVyYWN0aXZlCisgICAgICAgaW50ZXJmYWNlIHN1cHBsaWVkIGpvaW50bHkgYnkgdGhlIG9wZXJhdGluZyAgc3lzdGVtICBrZXJuZWwncyAgdGVybWluYWwKKyAgICAgICBkcml2ZXIgYW5kIGIIYmEIYXMIc2gIaC4KIAogICAgICAgIFRoZSAgc2hlbGwgIGFzc29jaWF0ZXMgIGEgIF8Ial8Ib18IYiB3aXRoIGVhY2ggcGlwZWxpbmUuICBJdCBrZWVwcyBhIHRhYmxlIG9mCiAgICAgICAgY3VycmVudGx5IGV4ZWN1dGluZyBqb2JzLCB3aGljaCBtYXkgYmUgbGlzdGVkIHdpdGggIHRoZSAgaghqbwhvYghicwhzICBjb21tYW5kLgpAQCAtMjQzOSwxMCArMjQ3OCwxMiBAQAogICAgICAgIGdlbmVyYXRlZCAgc2lnbmFscyAgc3VjaCAgYXMgUwhTSQhJRwhHSQhJTghOVAhULiAgVGhlc2UgcHJvY2Vzc2VzIGFyZSBzYWlkIHRvIGJlIGluCiAgICAgICAgdGhlIF8IZl8Ib18Icl8IZV8IZ18Icl8Ib18IdV8Ibl8IZC4gIF8IQl8IYV8IY18Ia18IZ18Icl8Ib18IdV8Ibl8IZCBwcm9jZXNzZXMgYXJlIHRob3NlIHdob3NlIHByb2Nlc3MgZ3JvdXAgIElECiAgICAgICAgZGlmZmVycyBmcm9tIHRoZSB0ZXJtaW5hbCdzOyBzdWNoIHByb2Nlc3NlcyBhcmUgaW1tdW5lIHRvIGtleWJvYXJkLWdlbi0KLSAgICAgICBlcmF0ZWQgc2lnbmFscy4gIE9ubHkgZm9yZWdyb3VuZCBwcm9jZXNzZXMgYXJlIGFsbG93ZWQgdG8gcmVhZCBmcm9tICBvcgotICAgICAgIHdyaXRlIHRvIHRoZSB0ZXJtaW5hbC4gIEJhY2tncm91bmQgcHJvY2Vzc2VzIHdoaWNoIGF0dGVtcHQgdG8gcmVhZCBmcm9tCi0gICAgICAgKHdyaXRlIHRvKSB0aGUgdGVybWluYWwgYXJlIHNlbnQgYSBTCFNJCElHCEdUCFRUCFRJCElOCE4gKAgoUwhTSQhJRwhHVAhUVAhUTwhPVQhVKQgpIHNpZ25hbCBieSB0aGUgdGVyLQotICAgICAgIG1pbmFsIGRyaXZlciwgd2hpY2gsIHVubGVzcyBjYXVnaHQsIHN1c3BlbmRzIHRoZSBwcm9jZXNzLgorICAgICAgIGVyYXRlZCBzaWduYWxzLiAgT25seSBmb3JlZ3JvdW5kIHByb2Nlc3NlcyBhcmUgYWxsb3dlZCB0byByZWFkIGZyb20gb3IsCisgICAgICAgaWYgIHRoZSAgdXNlciAgc28gIHNwZWNpZmllcyAgd2l0aCAgc3R0eSB0b3N0b3AsIHdyaXRlIHRvIHRoZSB0ZXJtaW5hbC4KKyAgICAgICBCYWNrZ3JvdW5kIHByb2Nlc3NlcyB3aGljaCBhdHRlbXB0IHRvIHJlYWQgZnJvbSAgKHdyaXRlICB0byAgd2hlbiAgc3R0eQorICAgICAgIHRvc3RvcCAgaXMgIGluIGVmZmVjdCkgdGhlIHRlcm1pbmFsIGFyZSBzZW50IGEgUwhTSQhJRwhHVAhUVAhUSQhJTghOICgIKFMIU0kISUcIR1QIVFQIVE8IT1UIVSkIKSBzaWduYWwKKyAgICAgICBieSB0aGUga2VybmVsJ3MgdGVybWluYWwgZHJpdmVyLCB3aGljaCwgIHVubGVzcyAgY2F1Z2h0LCAgc3VzcGVuZHMgIHRoZQorICAgICAgIHByb2Nlc3MuCiAKICAgICAgICBJZiAgdGhlIG9wZXJhdGluZyBzeXN0ZW0gb24gd2hpY2ggYghiYQhhcwhzaAhoIGlzIHJ1bm5pbmcgc3VwcG9ydHMgam9iIGNvbnRyb2wsCiAgICAgICAgYghiYQhhcwhzaAhoIGNvbnRhaW5zIGZhY2lsaXRpZXMgdG8gdXNlIGl0LiAgVHlwaW5nIHRoZSBfCHNfCHVfCHNfCHBfCGVfCG5fCGQgY2hhcmFjdGVyICh0eXAtCkBAIC0yNTI0LDcgKzI1NjUsOCBAQAogICAgICAgICAgICAgICBcCFx2CHYgICAgIHRoZSB2ZXJzaW9uIG9mIGIIYmEIYXMIc2gIaCAoZS5nLiwgMi4wMCkKICAgICAgICAgICAgICAgXAhcVghWICAgICB0aGUgcmVsZWFzZSBvZiBiCGJhCGFzCHNoCGgsIHZlcnNpb24gKyBwYXRjaCBsZXZlbCAoZS5nLiwgMi4wMC4wKQogICAgICAgICAgICAgICBcCFx3CHcgICAgIHRoZSBjdXJyZW50IHdvcmtpbmcgIGRpcmVjdG9yeSwgIHdpdGggICQIJEgISE8IT00ITUUIRSAgYWJicmV2aWF0ZWQKLSAgICAgICAgICAgICAgICAgICAgIHdpdGggYSB0aWxkZSAodXNlcyB0aGUgJAgkUAhQUghSTwhPTQhNUAhQVAhUXwhfRAhESQhJUghSVAhUUghSSQhJTQhNIHZhcmlhYmxlKQorICAgICAgICAgICAgICAgICAgICAgd2l0aCAgYSB0aWxkZSAodXNlcyB0aGUgdmFsdWUgb2YgdGhlIFAIUFIIUk8IT00ITVAIUFQIVF8IX0QIREkISVIIUlQIVFIIUkkISU0ITSB2YXJpLQorICAgICAgICAgICAgICAgICAgICAgYWJsZSkKICAgICAgICAgICAgICAgXAhcVwhXICAgICB0aGUgYmFzZW5hbWUgb2YgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnksIHdpdGggJAgkSAhITwhPTQhNRQhFCiAgICAgICAgICAgICAgICAgICAgICBhYmJyZXZpYXRlZCB3aXRoIGEgdGlsZGUKICAgICAgICAgICAgICAgXAhcIQghICAgICB0aGUgaGlzdG9yeSBudW1iZXIgb2YgdGhpcyBjb21tYW5kCkBAIC0yNTMyLDY2ICsyNTc0LDY2IEBACiAgICAgICAgICAgICAgIFwIXCQIJCAgICAgaWYgdGhlIGVmZmVjdGl2ZSBVSUQgaXMgMCwgYSAjCCMsIG90aGVyd2lzZSBhICQIJAogICAgICAgICAgICAgICBcCFxfCG5fCG5fCG4gICB0aGUgY2hhcmFjdGVyIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG9jdGFsIG51bWJlciBfCG5fCG5fCG4KICAgICAgICAgICAgICAgXAhcXAhcICAgICBhIGJhY2tzbGFzaAotICAgICAgICAgICAgICBcCFxbCFsgICAgIGJlZ2luIGEgc2VxdWVuY2Ugb2Ygbm9uLXByaW50aW5nIGNoYXJhY3RlcnMsIHdoaWNoICBjb3VsZAotICAgICAgICAgICAgICAgICAgICAgYmUgIHVzZWQgIHRvICBlbWJlZCAgYSB0ZXJtaW5hbCBjb250cm9sIHNlcXVlbmNlIGludG8gdGhlCisgICAgICAgICAgICAgIFwIXFsIWyAgICAgYmVnaW4gIGEgc2VxdWVuY2Ugb2Ygbm9uLXByaW50aW5nIGNoYXJhY3RlcnMsIHdoaWNoIGNvdWxkCisgICAgICAgICAgICAgICAgICAgICBiZSB1c2VkIHRvIGVtYmVkIGEgdGVybWluYWwgIGNvbnRyb2wgIHNlcXVlbmNlICBpbnRvICB0aGUKICAgICAgICAgICAgICAgICAgICAgIHByb21wdAogICAgICAgICAgICAgICBcCFxdCF0gICAgIGVuZCBhIHNlcXVlbmNlIG9mIG5vbi1wcmludGluZyBjaGFyYWN0ZXJzCiAKLSAgICAgICBUaGUgY29tbWFuZCBudW1iZXIgYW5kIHRoZSBoaXN0b3J5IG51bWJlciBhcmUgIHVzdWFsbHkgIGRpZmZlcmVudDogIHRoZQotICAgICAgIGhpc3RvcnkgIG51bWJlciBvZiBhIGNvbW1hbmQgaXMgaXRzIHBvc2l0aW9uIGluIHRoZSBoaXN0b3J5IGxpc3QsIHdoaWNoCi0gICAgICAgbWF5IGluY2x1ZGUgY29tbWFuZHMgIHJlc3RvcmVkICBmcm9tICB0aGUgIGhpc3RvcnkgIGZpbGUgIChzZWUgIEgISEkISVMIU1QIVE8IT1IIUlkIWQotICAgICAgIGJlbG93KSwgIHdoaWxlICB0aGUgIGNvbW1hbmQgIG51bWJlciBpcyB0aGUgcG9zaXRpb24gaW4gdGhlIHNlcXVlbmNlIG9mCi0gICAgICAgY29tbWFuZHMgZXhlY3V0ZWQgZHVyaW5nIHRoZSBjdXJyZW50IHNoZWxsIHNlc3Npb24uICBBZnRlciAgdGhlICBzdHJpbmcKLSAgICAgICBpcyAgZGVjb2RlZCwgIGl0IGlzIGV4cGFuZGVkIHZpYSBwYXJhbWV0ZXIgZXhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1LQotICAgICAgIHRpb24sIGFyaXRobWV0aWMgZXhwYW5zaW9uLCBhbmQgcXVvdGUgcmVtb3ZhbCwgc3ViamVjdCB0byB0aGUgdmFsdWUgIG9mCi0gICAgICAgdGhlICBwCHByCHJvCG9tCG1wCHB0CHR2CHZhCGFyCHJzCHMgIHNoZWxsIG9wdGlvbiAoc2VlIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcwhzaAhobwhvcAhwdAh0IGNvbW1hbmQKKyAgICAgICBUaGUgIGNvbW1hbmQgIG51bWJlciAgYW5kIHRoZSBoaXN0b3J5IG51bWJlciBhcmUgdXN1YWxseSBkaWZmZXJlbnQ6IHRoZQorICAgICAgIGhpc3RvcnkgbnVtYmVyIG9mIGEgY29tbWFuZCBpcyBpdHMgcG9zaXRpb24gaW4gdGhlIGhpc3RvcnkgbGlzdCwgIHdoaWNoCisgICAgICAgbWF5ICBpbmNsdWRlICBjb21tYW5kcyAgcmVzdG9yZWQgIGZyb20gIHRoZSAgaGlzdG9yeSAgZmlsZSAoc2VlIEgISEkISVMIU1QIVE8IT1IIUlkIWQorICAgICAgIGJlbG93KSwgd2hpbGUgdGhlIGNvbW1hbmQgbnVtYmVyIGlzIHRoZSBwb3NpdGlvbiAgaW4gIHRoZSAgc2VxdWVuY2UgIG9mCisgICAgICAgY29tbWFuZHMgIGV4ZWN1dGVkICBkdXJpbmcgdGhlIGN1cnJlbnQgc2hlbGwgc2Vzc2lvbi4gIEFmdGVyIHRoZSBzdHJpbmcKKyAgICAgICBpcyBkZWNvZGVkLCBpdCBpcyBleHBhbmRlZCB2aWEgcGFyYW1ldGVyIGV4cGFuc2lvbiwgIGNvbW1hbmQgIHN1YnN0aXR1LQorICAgICAgIHRpb24sICBhcml0aG1ldGljIGV4cGFuc2lvbiwgYW5kIHF1b3RlIHJlbW92YWwsIHN1YmplY3QgdG8gdGhlIHZhbHVlIG9mCisgICAgICAgdGhlIHAIcHIIcm8Ib20IbXAIcHQIdHYIdmEIYXIIcnMIcyBzaGVsbCBvcHRpb24gKHNlZSB0aGUgZGVzY3JpcHRpb24gb2YgdGhlICBzCHNoCGhvCG9wCHB0CHQgIGNvbW1hbmQKICAgICAgICB1bmRlciBTCFNICEhFCEVMCExMCEwgQghCVQhVSQhJTAhMVAhUSQhJTghOIEMIQ08IT00ITU0ITUEIQU4ITkQIRFMIUyBiZWxvdykuCiAKIFIIUkUIRUEIQUQIREwITEkISU4ITkUIRQotICAgICAgIFRoaXMgaXMgdGhlIGxpYnJhcnkgdGhhdCBoYW5kbGVzIHJlYWRpbmcgaW5wdXQgd2hlbiB1c2luZyAgYW4gIGludGVyYWMtCisgICAgICAgVGhpcyAgaXMgIHRoZSBsaWJyYXJ5IHRoYXQgaGFuZGxlcyByZWFkaW5nIGlucHV0IHdoZW4gdXNpbmcgYW4gaW50ZXJhYy0KICAgICAgICB0aXZlIHNoZWxsLCB1bmxlc3MgdGhlIC0ILS0ILW4Ibm8Ib2UIZWQIZGkIaXQIdGkIaW4IbmcIZyBvcHRpb24gaXMgZ2l2ZW4gYXQgc2hlbGwgaW52b2NhdGlvbi4KICAgICAgICBMaW5lIGVkaXRpbmcgaXMgYWxzbyB1c2VkIHdoZW4gdXNpbmcgdGhlIC0ILWUIZSBvcHRpb24gdG8gdGhlIHIIcmUIZWEIYWQIZCBidWlsdGluLgogICAgICAgIEJ5IGRlZmF1bHQsIHRoZSBsaW5lIGVkaXRpbmcgY29tbWFuZHMgYXJlIHNpbWlsYXIgdG8gdGhvc2Ugb2YgZW1hY3MuICBBCiAgICAgICAgdmktc3R5bGUgbGluZSBlZGl0aW5nIGludGVyZmFjZSBpcyBhbHNvIGF2YWlsYWJsZS4gIExpbmUgZWRpdGluZyBjYW4gYmUKLSAgICAgICBlbmFibGVkICBhdCAgYW55ICB0aW1lICB1c2luZyAgdGhlIC0ILW8IbyBlCGVtCG1hCGFjCGNzCHMgb3IgLQgtbwhvIHYIdmkIaSBvcHRpb25zIHRvIHRoZSBzCHNlCGV0CHQKLSAgICAgICBidWlsdGluIChzZWUgUwhTSAhIRQhFTAhMTAhMIEIIQlUIVUkISUwITFQIVEkISU4ITiBDCENPCE9NCE1NCE1BCEFOCE5ECERTCFMgYmVsb3cpLiAgVG8gdHVybiBvZmYgIGxpbmUgIGVkaXRpbmcKLSAgICAgICBhZnRlciAgdGhlICBzaGVsbCAgaXMgcnVubmluZywgdXNlIHRoZSArCCtvCG8gZQhlbQhtYQhhYwhjcwhzIG9yICsIK28IbyB2CHZpCGkgb3B0aW9ucyB0byB0aGUKKyAgICAgICBlbmFibGVkIGF0IGFueSB0aW1lIHVzaW5nIHRoZSAtCC1vCG8gZQhlbQhtYQhhYwhjcwhzIG9yIC0ILW8IbyAgdgh2aQhpICBvcHRpb25zICB0byAgdGhlICBzCHNlCGV0CHQKKyAgICAgICBidWlsdGluICAoc2VlICBTCFNICEhFCEVMCExMCEwgQghCVQhVSQhJTAhMVAhUSQhJTghOIEMIQ08IT00ITU0ITUEIQU4ITkQIRFMIUyBiZWxvdykuICBUbyB0dXJuIG9mZiBsaW5lIGVkaXRpbmcKKyAgICAgICBhZnRlciB0aGUgc2hlbGwgaXMgcnVubmluZywgdXNlIHRoZSArCCtvCG8gZQhlbQhtYQhhYwhjcwhzIG9yICsIK28IbyB2CHZpCGkgIG9wdGlvbnMgIHRvICB0aGUKICAgICAgICBzCHNlCGV0CHQgYnVpbHRpbi4KIAogICAgUghSZQhlYQhhZAhkbAhsaQhpbghuZQhlIE4ITm8Ib3QIdGEIYXQIdGkIaW8Ib24IbgogICAgICAgIEluIHRoaXMgc2VjdGlvbiwgdGhlIGVtYWNzLXN0eWxlIG5vdGF0aW9uIGlzIHVzZWQgdG8gZGVub3RlIGtleXN0cm9rZXMuCi0gICAgICAgQ29udHJvbCAga2V5cyAgYXJlICBkZW5vdGVkIGJ5IEMtXwhrXwhlXwh5LCBlLmcuLCBDLW4gbWVhbnMgQ29udHJvbC1OLiAgU2ltaS0KLSAgICAgICBsYXJseSwgXwhtXwhlXwh0XwhhIGtleXMgYXJlIGRlbm90ZWQgYnkgTS1fCGtfCGVfCHksIHNvIE0teCBtZWFucyBNZXRhLVguICAgKE9uICBrZXktCi0gICAgICAgYm9hcmRzICB3aXRob3V0IGEgXwhtXwhlXwh0XwhhIGtleSwgTS1fCHggbWVhbnMgRVNDIF8IeCwgaS5lLiwgcHJlc3MgdGhlIEVzY2FwZSBrZXkKKyAgICAgICBDb250cm9sIGtleXMgYXJlIGRlbm90ZWQgYnkgQy1fCGtfCGVfCHksIGUuZy4sIEMtbiAgbWVhbnMgIENvbnRyb2wtTi4gICBTaW1pLQorICAgICAgIGxhcmx5LCAgXwhtXwhlXwh0XwhhICBrZXlzIGFyZSBkZW5vdGVkIGJ5IE0tXwhrXwhlXwh5LCBzbyBNLXggbWVhbnMgTWV0YS1YLiAgKE9uIGtleS0KKyAgICAgICBib2FyZHMgd2l0aG91dCBhIF8IbV8IZV8IdF8IYSBrZXksIE0tXwh4IG1lYW5zIEVTQyBfCHgsIGkuZS4sIHByZXNzIHRoZSBFc2NhcGUgIGtleQogICAgICAgIHRoZW4gdGhlIF8IeCBrZXkuICBUaGlzIG1ha2VzIEVTQyB0aGUgXwhtXwhlXwh0XwhhIF8IcF8Icl8IZV8IZl8IaV8IeC4gIFRoZSBjb21iaW5hdGlvbiBNLUMtXwh4Ci0gICAgICAgbWVhbnMgIEVTQy1Db250cm9sLV8IeCwgb3IgcHJlc3MgdGhlIEVzY2FwZSBrZXkgdGhlbiBob2xkIHRoZSBDb250cm9sIGtleQorICAgICAgIG1lYW5zIEVTQy1Db250cm9sLV8IeCwgb3IgcHJlc3MgdGhlIEVzY2FwZSBrZXkgdGhlbiBob2xkIHRoZSBDb250cm9sICBrZXkKICAgICAgICB3aGlsZSBwcmVzc2luZyB0aGUgXwh4IGtleS4pCiAKICAgICAgICBSZWFkbGluZSBjb21tYW5kcyBtYXkgYmUgZ2l2ZW4gbnVtZXJpYyBfCGFfCHJfCGdfCHVfCG1fCGVfCG5fCHRfCHMsIHdoaWNoIG5vcm1hbGx5IGFjdCBhcwotICAgICAgIGEgIHJlcGVhdCAgY291bnQuICAgU29tZXRpbWVzLCAgaG93ZXZlciwgaXQgaXMgdGhlIHNpZ24gb2YgdGhlIGFyZ3VtZW50Ci0gICAgICAgdGhhdCBpcyBzaWduaWZpY2FudC4gIFBhc3NpbmcgYSBuZWdhdGl2ZSBhcmd1bWVudCAgdG8gIGEgIGNvbW1hbmQgIHRoYXQKLSAgICAgICBhY3RzICBpbiB0aGUgZm9yd2FyZCBkaXJlY3Rpb24gKGUuZy4sIGsIa2kIaWwIbGwIbC0ILWwIbGkIaW4IbmUIZSkgY2F1c2VzIHRoYXQgY29tbWFuZCB0bwotICAgICAgIGFjdCBpbiBhIGJhY2t3YXJkIGRpcmVjdGlvbi4gIENvbW1hbmRzIHdob3NlICBiZWhhdmlvciAgd2l0aCAgYXJndW1lbnRzCisgICAgICAgYSByZXBlYXQgY291bnQuICBTb21ldGltZXMsIGhvd2V2ZXIsIGl0IGlzIHRoZSAgc2lnbiAgb2YgIHRoZSAgYXJndW1lbnQKKyAgICAgICB0aGF0ICBpcyAgc2lnbmlmaWNhbnQuICAgUGFzc2luZyAgYSBuZWdhdGl2ZSBhcmd1bWVudCB0byBhIGNvbW1hbmQgdGhhdAorICAgICAgIGFjdHMgaW4gdGhlIGZvcndhcmQgZGlyZWN0aW9uIChlLmcuLCBrCGtpCGlsCGxsCGwtCC1sCGxpCGluCG5lCGUpIGNhdXNlcyB0aGF0IGNvbW1hbmQgIHRvCisgICAgICAgYWN0ICBpbiAgYSAgYmFja3dhcmQgZGlyZWN0aW9uLiAgQ29tbWFuZHMgd2hvc2UgYmVoYXZpb3Igd2l0aCBhcmd1bWVudHMKICAgICAgICBkZXZpYXRlcyBmcm9tIHRoaXMgYXJlIG5vdGVkIGJlbG93LgogCi0gICAgICAgV2hlbiAgYSBjb21tYW5kIGlzIGRlc2NyaWJlZCBhcyBfCGtfCGlfCGxfCGxfCGlfCG5fCGcgdGV4dCwgdGhlIHRleHQgZGVsZXRlZCBpcyBzYXZlZAorICAgICAgIFdoZW4gYSBjb21tYW5kIGlzIGRlc2NyaWJlZCBhcyBfCGtfCGlfCGxfCGxfCGlfCG5fCGcgdGV4dCwgdGhlIHRleHQgZGVsZXRlZCBpcyAgc2F2ZWQKICAgICAgICBmb3IgcG9zc2libGUgZnV0dXJlIHJldHJpZXZhbCAoXwh5XwhhXwhuXwhrXwhpXwhuXwhnKS4gIFRoZSBraWxsZWQgdGV4dCBpcyBzYXZlZCBpbiBhCiAgICAgICAgXwhrXwhpXwhsXwhsIF8Icl8IaV8Ibl8IZy4gIENvbnNlY3V0aXZlIGtpbGxzIGNhdXNlIHRoZSB0ZXh0IHRvIGJlIGFjY3VtdWxhdGVkIGludG8gb25lCiAgICAgICAgdW5pdCwgd2hpY2ggY2FuIGJlIHlhbmtlZCBhbGwgYXQgb25jZS4gIENvbW1hbmRzIHdoaWNoIGRvIG5vdCBraWxsIHRleHQKICAgICAgICBzZXBhcmF0ZSB0aGUgY2h1bmtzIG9mIHRleHQgb24gdGhlIGtpbGwgcmluZy4KIAogICAgUghSZQhlYQhhZAhkbAhsaQhpbghuZQhlIEkISW4IbmkIaXQIdGkIaWEIYWwIbGkIaXoIemEIYXQIdGkIaW8Ib24IbgotICAgICAgIFJlYWRsaW5lICBpcyAgY3VzdG9taXplZCAgYnkgcHV0dGluZyBjb21tYW5kcyBpbiBhbiBpbml0aWFsaXphdGlvbiBmaWxlCi0gICAgICAgKHRoZSBfCGlfCG5fCHBfCHVfCHRfCHJfCGMgZmlsZSkuICBUaGUgbmFtZSBvZiB0aGlzIGZpbGUgaXMgdGFrZW4gZnJvbSB0aGUgIHZhbHVlICBvZgotICAgICAgIHRoZSAgSQhJTghOUAhQVQhVVAhUUghSQwhDICB2YXJpYWJsZS4gICBJZiAgdGhhdCAgdmFyaWFibGUgIGlzICB1bnNldCwgdGhlIGRlZmF1bHQgaXMKLSAgICAgICBfCH5fCC9fCC5fCGlfCG5fCHBfCHVfCHRfCHJfCGMuICBXaGVuIGEgcHJvZ3JhbSB3aGljaCB1c2VzIHRoZSByZWFkbGluZSBsaWJyYXJ5IHN0YXJ0cyAgdXAsCisgICAgICAgUmVhZGxpbmUgaXMgY3VzdG9taXplZCBieSBwdXR0aW5nIGNvbW1hbmRzIGluICBhbiAgaW5pdGlhbGl6YXRpb24gIGZpbGUKKyAgICAgICAodGhlICBfCGlfCG5fCHBfCHVfCHRfCHJfCGMgIGZpbGUpLiAgVGhlIG5hbWUgb2YgdGhpcyBmaWxlIGlzIHRha2VuIGZyb20gdGhlIHZhbHVlIG9mCisgICAgICAgdGhlIEkISU4ITlAIUFUIVVQIVFIIUkMIQyB2YXJpYWJsZS4gIElmICB0aGF0ICB2YXJpYWJsZSAgaXMgIHVuc2V0LCAgdGhlICBkZWZhdWx0ICBpcworICAgICAgIF8Ifl8IL18ILl8IaV8Ibl8IcF8IdV8IdF8Icl8IYy4gICBXaGVuIGEgcHJvZ3JhbSB3aGljaCB1c2VzIHRoZSByZWFkbGluZSBsaWJyYXJ5IHN0YXJ0cyB1cCwKICAgICAgICB0aGUgaW5pdGlhbGl6YXRpb24gZmlsZSBpcyByZWFkLCBhbmQgdGhlIGtleSBiaW5kaW5ncyBhbmQgdmFyaWFibGVzIGFyZQotICAgICAgIHNldC4gIFRoZXJlIGFyZSBvbmx5IGEgZmV3IGJhc2ljIGNvbnN0cnVjdHMgIGFsbG93ZWQgIGluICB0aGUgIHJlYWRsaW5lCi0gICAgICAgaW5pdGlhbGl6YXRpb24gIGZpbGUuICBCbGFuayBsaW5lcyBhcmUgaWdub3JlZC4gIExpbmVzIGJlZ2lubmluZyB3aXRoIGEKLSAgICAgICAjCCMgYXJlIGNvbW1lbnRzLiAgTGluZXMgYmVnaW5uaW5nIHdpdGggYSAgJAgkICBpbmRpY2F0ZSAgY29uZGl0aW9uYWwgIGNvbi0KKyAgICAgICBzZXQuICAgVGhlcmUgIGFyZSAgb25seSAgYSBmZXcgYmFzaWMgY29uc3RydWN0cyBhbGxvd2VkIGluIHRoZSByZWFkbGluZQorICAgICAgIGluaXRpYWxpemF0aW9uIGZpbGUuICBCbGFuayBsaW5lcyBhcmUgaWdub3JlZC4gIExpbmVzIGJlZ2lubmluZyB3aXRoICBhCisgICAgICAgIwgjICBhcmUgIGNvbW1lbnRzLiAgIExpbmVzICBiZWdpbm5pbmcgd2l0aCBhICQIJCBpbmRpY2F0ZSBjb25kaXRpb25hbCBjb24tCiAgICAgICAgc3RydWN0cy4gIE90aGVyIGxpbmVzIGRlbm90ZSBrZXkgYmluZGluZ3MgYW5kIHZhcmlhYmxlIHNldHRpbmdzLgogCi0gICAgICAgVGhlICBkZWZhdWx0ICBrZXktYmluZGluZ3MgIG1heSBiZSBjaGFuZ2VkIHdpdGggYW4gXwhpXwhuXwhwXwh1Xwh0XwhyXwhjIGZpbGUuICBPdGhlcgorICAgICAgIFRoZSBkZWZhdWx0IGtleS1iaW5kaW5ncyBtYXkgYmUgY2hhbmdlZCB3aXRoIGFuICBfCGlfCG5fCHBfCHVfCHRfCHJfCGMgIGZpbGUuICAgT3RoZXIKICAgICAgICBwcm9ncmFtcyB0aGF0IHVzZSB0aGlzIGxpYnJhcnkgbWF5IGFkZCB0aGVpciBvd24gY29tbWFuZHMgYW5kIGJpbmRpbmdzLgogCiAgICAgICAgRm9yIGV4YW1wbGUsIHBsYWNpbmcKQEAgLTI1OTksMTkgKzI2NDEsMTkgQEAKICAgICAgICAgICAgICAgTS1Db250cm9sLXU6IHVuaXZlcnNhbC1hcmd1bWVudAogICAgICAgIG9yCiAgICAgICAgICAgICAgIEMtTWV0YS11OiB1bml2ZXJzYWwtYXJndW1lbnQKLSAgICAgICBpbnRvICB0aGUgXwhpXwhuXwhwXwh1Xwh0XwhyXwhjIHdvdWxkIG1ha2UgTS1DLXUgZXhlY3V0ZSB0aGUgcmVhZGxpbmUgY29tbWFuZCBfCHVfCG5fCGlfCHZfCGVfCHJfCC0KKyAgICAgICBpbnRvIHRoZSBfCGlfCG5fCHBfCHVfCHRfCHJfCGMgd291bGQgbWFrZSBNLUMtdSBleGVjdXRlIHRoZSByZWFkbGluZSBjb21tYW5kICBfCHVfCG5fCGlfCHZfCGVfCHJfCC0KICAgICAgICBfCHNfCGFfCGxfCC1fCGFfCHJfCGdfCHVfCG1fCGVfCG5fCHQuCiAKLSAgICAgICBUaGUgZm9sbG93aW5nIHN5bWJvbGljIGNoYXJhY3RlciBuYW1lcyAgYXJlICByZWNvZ25pemVkOiAgXwhSXwhVXwhCXwhPXwhVXwhULCAgXwhEXwhFXwhMLAorICAgICAgIFRoZSAgZm9sbG93aW5nICBzeW1ib2xpYyAgY2hhcmFjdGVyICBuYW1lcyBhcmUgcmVjb2duaXplZDogXwhSXwhVXwhCXwhPXwhVXwhULCBfCERfCEVfCEwsCiAgICAgICAgXwhFXwhTXwhDLCBfCExfCEZfCEQsIF8ITl8IRV8IV18ITF8ISV8ITl8IRSwgXwhSXwhFXwhULCBfCFJfCEVfCFRfCFVfCFJfCE4sIF8IU18IUF8IQywgXwhTXwhQXwhBXwhDXwhFLCBhbmQgXwhUXwhBXwhCLgogCi0gICAgICAgSW4gIGFkZGl0aW9uICB0byAgY29tbWFuZCAgbmFtZXMsIHJlYWRsaW5lIGFsbG93cyBrZXlzIHRvIGJlIGJvdW5kIHRvIGEKKyAgICAgICBJbiBhZGRpdGlvbiB0byBjb21tYW5kIG5hbWVzLCByZWFkbGluZSBhbGxvd3Mga2V5cyB0byAgYmUgIGJvdW5kICB0byAgYQogICAgICAgIHN0cmluZyB0aGF0IGlzIGluc2VydGVkIHdoZW4gdGhlIGtleSBpcyBwcmVzc2VkIChhIF8IbV8IYV8IY18Icl8IbykuCiAKICAgIFIIUmUIZWEIYWQIZGwIbGkIaW4IbmUIZSBLCEtlCGV5CHkgQghCaQhpbghuZAhkaQhpbghuZwhncwhzCi0gICAgICAgVGhlIHN5bnRheCBmb3IgY29udHJvbGxpbmcga2V5IGJpbmRpbmdzIGluIHRoZSBfCGlfCG5fCHBfCHVfCHRfCHJfCGMgZmlsZSBpcyAgc2ltcGxlLgotICAgICAgIEFsbCAgdGhhdCBpcyByZXF1aXJlZCBpcyB0aGUgbmFtZSBvZiB0aGUgY29tbWFuZCBvciB0aGUgdGV4dCBvZiBhIG1hY3JvCi0gICAgICAgYW5kIGEga2V5IHNlcXVlbmNlIHRvIHdoaWNoIGl0IHNob3VsZCBiZSBib3VuZC4gVGhlIG5hbWUgbWF5IGJlICBzcGVjaS0KKyAgICAgICBUaGUgIHN5bnRheCBmb3IgY29udHJvbGxpbmcga2V5IGJpbmRpbmdzIGluIHRoZSBfCGlfCG5fCHBfCHVfCHRfCHJfCGMgZmlsZSBpcyBzaW1wbGUuCisgICAgICAgQWxsIHRoYXQgaXMgcmVxdWlyZWQgaXMgdGhlIG5hbWUgb2YgdGhlIGNvbW1hbmQgb3IgdGhlIHRleHQgb2YgYSAgbWFjcm8KKyAgICAgICBhbmQgIGEga2V5IHNlcXVlbmNlIHRvIHdoaWNoIGl0IHNob3VsZCBiZSBib3VuZC4gVGhlIG5hbWUgbWF5IGJlIHNwZWNpLQogICAgICAgIGZpZWQgaW4gb25lIG9mIHR3byB3YXlzOiBhcyBhIHN5bWJvbGljIGtleSBuYW1lLCBwb3NzaWJseSB3aXRoIF8ITV8IZV8IdF8IYV8ILSBvcgogICAgICAgIF8IQ18Ib18Ibl8IdF8Icl8Ib18IbF8ILSBwcmVmaXhlcywgb3IgYXMgYSBrZXkgc2VxdWVuY2UuCiAKQEAgLTI2MjIsMTUgKzI2NjQsMTUgQEAKICAgICAgICAgICAgICAgTWV0YS1SdWJvdXQ6IGJhY2t3YXJkLWtpbGwtd29yZAogICAgICAgICAgICAgICBDb250cm9sLW86ICI+IG91dHB1dCIKIAotICAgICAgIEluICB0aGUgYWJvdmUgZXhhbXBsZSwgXwhDXwgtXwh1IGlzIGJvdW5kIHRvIHRoZSBmdW5jdGlvbiB1CHVuCG5pCGl2CHZlCGVyCHJzCHNhCGFsCGwtCC1hCGFyCHJnCGd1CHVtCG1lCGVuCG50CHQsCi0gICAgICAgXwhNXwgtXwhEXwhFXwhMIGlzIGJvdW5kIHRvIHRoZSBmdW5jdGlvbiBiCGJhCGFjCGNrCGt3CHdhCGFyCHJkCGQtCC1rCGtpCGlsCGxsCGwtCC13CHdvCG9yCHJkCGQsIGFuZCBfCENfCC1fCG8gaXMgYm91bmQgIHRvCi0gICAgICAgcnVuICB0aGUgbWFjcm8gZXhwcmVzc2VkIG9uIHRoZSByaWdodCBoYW5kIHNpZGUgKHRoYXQgaXMsIHRvIGluc2VydCB0aGUKKyAgICAgICBJbiB0aGUgYWJvdmUgZXhhbXBsZSwgXwhDXwgtXwh1IGlzIGJvdW5kIHRvIHRoZSBmdW5jdGlvbiAgdQh1bghuaQhpdgh2ZQhlcghycwhzYQhhbAhsLQgtYQhhcghyZwhndQh1bQhtZQhlbghudAh0LAorICAgICAgIF8ITV8ILV8IRF8IRV8ITCAgaXMgYm91bmQgdG8gdGhlIGZ1bmN0aW9uIGIIYmEIYWMIY2sIa3cId2EIYXIIcmQIZC0ILWsIa2kIaWwIbGwIbC0ILXcId28Ib3IIcmQIZCwgYW5kIF8IQ18ILV8IbyBpcyBib3VuZCB0bworICAgICAgIHJ1biB0aGUgbWFjcm8gZXhwcmVzc2VkIG9uIHRoZSByaWdodCBoYW5kIHNpZGUgKHRoYXQgaXMsIHRvIGluc2VydCAgdGhlCiAgICAgICAgdGV4dCBgYD4gb3V0cHV0JycgaW50byB0aGUgbGluZSkuCiAKLSAgICAgICBJbiB0aGUgc2Vjb25kIGZvcm0sICIIImsIa2UIZXkIeXMIc2UIZXEIcSIIIjpfCGZfCHVfCG5fCGNfCHRfCGlfCG9fCG5fCC1fCG5fCGFfCG1fCGUgIG9yICBfCG1fCGFfCGNfCHJfCG8sICBrCGtlCGV5CHlzCHNlCGVxCHEgIGRpZmZlcnMKLSAgICAgICBmcm9tICBrCGtlCGV5CHluCG5hCGFtCG1lCGUgYWJvdmUgaW4gdGhhdCBzdHJpbmdzIGRlbm90aW5nIGFuIGVudGlyZSBrZXkgc2VxdWVuY2UgbWF5Ci0gICAgICAgYmUgc3BlY2lmaWVkIGJ5IHBsYWNpbmcgdGhlIHNlcXVlbmNlIHdpdGhpbiBkb3VibGUgIHF1b3Rlcy4gICBTb21lICBHTlUKLSAgICAgICBFbWFjcyAgc3R5bGUgIGtleSBlc2NhcGVzIGNhbiBiZSB1c2VkLCBhcyBpbiB0aGUgZm9sbG93aW5nIGV4YW1wbGUsIGJ1dAorICAgICAgIEluICB0aGUgIHNlY29uZCAgZm9ybSwgICIIImsIa2UIZXkIeXMIc2UIZXEIcSIIIjpfCGZfCHVfCG5fCGNfCHRfCGlfCG9fCG5fCC1fCG5fCGFfCG1fCGUgb3IgXwhtXwhhXwhjXwhyXwhvLCBrCGtlCGV5CHlzCHNlCGVxCHEgZGlmZmVycworICAgICAgIGZyb20gawhrZQhleQh5bghuYQhhbQhtZQhlIGFib3ZlIGluIHRoYXQgc3RyaW5ncyBkZW5vdGluZyBhbiBlbnRpcmUga2V5IHNlcXVlbmNlICBtYXkKKyAgICAgICBiZSAgc3BlY2lmaWVkICBieSAgcGxhY2luZyB0aGUgc2VxdWVuY2Ugd2l0aGluIGRvdWJsZSBxdW90ZXMuICBTb21lIEdOVQorICAgICAgIEVtYWNzIHN0eWxlIGtleSBlc2NhcGVzIGNhbiBiZSB1c2VkLCBhcyBpbiB0aGUgZm9sbG93aW5nICBleGFtcGxlLCAgYnV0CiAgICAgICAgdGhlIHN5bWJvbGljIGNoYXJhY3RlciBuYW1lcyBhcmUgbm90IHJlY29nbml6ZWQuCiAKICAgICAgICAgICAgICAgIlxDLXUiOiB1bml2ZXJzYWwtYXJndW1lbnQKQEAgLTI2MzgsNyArMjY4MCw3IEBACiAgICAgICAgICAgICAgICJcZVsxMX4iOiAiRnVuY3Rpb24gS2V5IDEiCiAKICAgICAgICBJbiB0aGlzIGV4YW1wbGUsIF8IQ18ILV8IdSBpcyBhZ2FpbiBib3VuZCB0byB0aGUgZnVuY3Rpb24gdQh1bghuaQhpdgh2ZQhlcghycwhzYQhhbAhsLQgtYQhhcghyZwhndQh1bQhtZQhlbghudAh0LgotICAgICAgIF8IQ18ILV8IeCAgXwhDXwgtXwhyIGlzIGJvdW5kIHRvIHRoZSBmdW5jdGlvbiByCHJlCGUtCC1yCHJlCGVhCGFkCGQtCC1pCGluCG5pCGl0CHQtCC1mCGZpCGlsCGxlCGUsIGFuZCBfCEVfCFNfCEMgXwhbIF8IMSBfCDEgXwh+IGlzCisgICAgICAgXwhDXwgtXwh4IF8IQ18ILV8IciBpcyBib3VuZCB0byB0aGUgZnVuY3Rpb24gcghyZQhlLQgtcghyZQhlYQhhZAhkLQgtaQhpbghuaQhpdAh0LQgtZghmaQhpbAhsZQhlLCBhbmQgXwhFXwhTXwhDIF8IWyBfCDEgXwgxIF8IfiAgaXMKICAgICAgICBib3VuZCB0byBpbnNlcnQgdGhlIHRleHQgYGBGdW5jdGlvbiBLZXkgMScnLgogCiAgICAgICAgVGhlIGZ1bGwgc2V0IG9mIEdOVSBFbWFjcyBzdHlsZSBlc2NhcGUgc2VxdWVuY2VzIGlzCkBAIC0yNjQ5LDcgKzI2OTEsNyBAQAogICAgICAgICAgICAgICBcCFwiCCIgICAgIGxpdGVyYWwgIgogICAgICAgICAgICAgICBcCFwnCCcgICAgIGxpdGVyYWwgJwogCi0gICAgICAgSW4gYWRkaXRpb24gdG8gdGhlIEdOVSBFbWFjcyBzdHlsZSBlc2NhcGUgc2VxdWVuY2VzLCBhICBzZWNvbmQgIHNldCAgb2YKKyAgICAgICBJbiAgYWRkaXRpb24gIHRvICB0aGUgR05VIEVtYWNzIHN0eWxlIGVzY2FwZSBzZXF1ZW5jZXMsIGEgc2Vjb25kIHNldCBvZgogICAgICAgIGJhY2tzbGFzaCBlc2NhcGVzIGlzIGF2YWlsYWJsZToKICAgICAgICAgICAgICAgXAhcYQhhICAgICBhbGVydCAoYmVsbCkKICAgICAgICAgICAgICAgXAhcYghiICAgICBiYWNrc3BhY2UKQEAgLTI2NTksMjAgKzI3MDEsMjAgQEAKICAgICAgICAgICAgICAgXAhccghyICAgICBjYXJyaWFnZSByZXR1cm4KICAgICAgICAgICAgICAgXAhcdAh0ICAgICBob3Jpem9udGFsIHRhYgogICAgICAgICAgICAgICBcCFx2CHYgICAgIHZlcnRpY2FsIHRhYgotICAgICAgICAgICAgICBcCFxfCG5fCG5fCG4gICB0aGUgIGVpZ2h0LWJpdCAgY2hhcmFjdGVyICB3aG9zZSB2YWx1ZSBpcyB0aGUgb2N0YWwgdmFsdWUKKyAgICAgICAgICAgICAgXAhcXwhuXwhuXwhuICAgdGhlIGVpZ2h0LWJpdCBjaGFyYWN0ZXIgd2hvc2UgdmFsdWUgaXMgIHRoZSAgb2N0YWwgIHZhbHVlCiAgICAgICAgICAgICAgICAgICAgICBfCG5fCG5fCG4gKG9uZSB0byB0aHJlZSBkaWdpdHMpCi0gICAgICAgICAgICAgIFwIXHgIeF8ISF8ISCAgIHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHZhbHVlICBpcyAgdGhlICBoZXhhZGVjaW1hbAorICAgICAgICAgICAgICBcCFx4CHhfCEhfCEggICB0aGUgIGVpZ2h0LWJpdCAgY2hhcmFjdGVyICB3aG9zZSB2YWx1ZSBpcyB0aGUgaGV4YWRlY2ltYWwKICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIF8ISF8ISCAob25lIG9yIHR3byBoZXggZGlnaXRzKQogCiAgICAgICAgV2hlbiBlbnRlcmluZyB0aGUgdGV4dCBvZiBhIG1hY3JvLCBzaW5nbGUgb3IgZG91YmxlIHF1b3RlcyBtdXN0IGJlIHVzZWQKICAgICAgICB0byBpbmRpY2F0ZSBhIG1hY3JvIGRlZmluaXRpb24uICBVbnF1b3RlZCB0ZXh0IGlzIGFzc3VtZWQgdG8gYmUgYSBmdW5jLQotICAgICAgIHRpb24gIG5hbWUuICAgSW4gIHRoZSBtYWNybyBib2R5LCB0aGUgYmFja3NsYXNoIGVzY2FwZXMgZGVzY3JpYmVkIGFib3ZlCi0gICAgICAgYXJlIGV4cGFuZGVkLiAgQmFja3NsYXNoIHdpbGwgcXVvdGUgYW55IG90aGVyIGNoYXJhY3RlciAgaW4gIHRoZSAgbWFjcm8KKyAgICAgICB0aW9uIG5hbWUuICBJbiB0aGUgbWFjcm8gYm9keSwgdGhlIGJhY2tzbGFzaCAgZXNjYXBlcyAgZGVzY3JpYmVkICBhYm92ZQorICAgICAgIGFyZSAgZXhwYW5kZWQuICAgQmFja3NsYXNoICB3aWxsIHF1b3RlIGFueSBvdGhlciBjaGFyYWN0ZXIgaW4gdGhlIG1hY3JvCiAgICAgICAgdGV4dCwgaW5jbHVkaW5nICIgYW5kICcuCiAKLSAgICAgICBCCEJhCGFzCHNoCGggIGFsbG93cyB0aGUgY3VycmVudCByZWFkbGluZSBrZXkgYmluZGluZ3MgdG8gYmUgZGlzcGxheWVkIG9yIG1vZGktCi0gICAgICAgZmllZCB3aXRoIHRoZSBiCGJpCGluCG5kCGQgYnVpbHRpbiBjb21tYW5kLiAgVGhlIGVkaXRpbmcgbW9kZSBtYXkgIGJlICBzd2l0Y2hlZAotICAgICAgIGR1cmluZyAgaW50ZXJhY3RpdmUgIHVzZSBieSB1c2luZyB0aGUgLQgtbwhvIG9wdGlvbiB0byB0aGUgcwhzZQhldAh0IGJ1aWx0aW4gY29tLQorICAgICAgIEIIQmEIYXMIc2gIaCBhbGxvd3MgdGhlIGN1cnJlbnQgcmVhZGxpbmUga2V5IGJpbmRpbmdzIHRvIGJlIGRpc3BsYXllZCBvciAgbW9kaS0KKyAgICAgICBmaWVkICB3aXRoICB0aGUgYghiaQhpbghuZAhkIGJ1aWx0aW4gY29tbWFuZC4gIFRoZSBlZGl0aW5nIG1vZGUgbWF5IGJlIHN3aXRjaGVkCisgICAgICAgZHVyaW5nIGludGVyYWN0aXZlIHVzZSBieSB1c2luZyB0aGUgLQgtbwhvIG9wdGlvbiB0byB0aGUgcwhzZQhldAh0ICBidWlsdGluICBjb20tCiAgICAgICAgbWFuZCAoc2VlIFMIU0gISEUIRUwITEwITCBCCEJVCFVJCElMCExUCFRJCElOCE4gQwhDTwhPTQhNTQhNQQhBTghORAhEUwhTIGJlbG93KS4KIAogICAgUghSZQhlYQhhZAhkbAhsaQhpbghuZQhlIFYIVmEIYXIIcmkIaWEIYWIIYmwIbGUIZXMIcwpAQCAtMjY4MiwxMzIgKzI3MjQsMTQ3IEBACiAKICAgICAgICAgICAgICAgcwhzZQhldAh0IF8Idl8IYV8Icl8IaV8IYV8IYl8IbF8IZV8ILV8Ibl8IYV8IbV8IZSBfCHZfCGFfCGxfCHVfCGUKIAotICAgICAgIEV4Y2VwdCB3aGVyZSBub3RlZCwgcmVhZGxpbmUgdmFyaWFibGVzIGNhbiB0YWtlIHRoZSB2YWx1ZXMgIE8IT24IbiAgb3IgIE8IT2YIZmYIZgotICAgICAgICh3aXRob3V0ICByZWdhcmQgIHRvICBjYXNlKS4gICBVbnJlY29nbml6ZWQgdmFyaWFibGUgbmFtZXMgYXJlIGlnbm9yZWQuCi0gICAgICAgV2hlbiBhIHZhcmlhYmxlIHZhbHVlIGlzIHJlYWQsIGVtcHR5IG9yIG51bGwgdmFsdWVzLCAib24iICAoY2FzZS1pbnNlbi0KKyAgICAgICBFeGNlcHQgIHdoZXJlICBub3RlZCwgIHJlYWRsaW5lIHZhcmlhYmxlcyBjYW4gdGFrZSB0aGUgdmFsdWVzIE8IT24IbiBvciBPCE9mCGZmCGYKKyAgICAgICAod2l0aG91dCByZWdhcmQgdG8gY2FzZSkuICBVbnJlY29nbml6ZWQgIHZhcmlhYmxlICBuYW1lcyAgYXJlICBpZ25vcmVkLgorICAgICAgIFdoZW4gIGEgdmFyaWFibGUgdmFsdWUgaXMgcmVhZCwgZW1wdHkgb3IgbnVsbCB2YWx1ZXMsICJvbiIgKGNhc2UtaW5zZW4tCiAgICAgICAgc2l0aXZlKSwgYW5kICIxIiBhcmUgZXF1aXZhbGVudCB0byBPCE9uCG4uICBBbGwgb3RoZXIgdmFsdWVzIGFyZSBlcXVpdmFsZW50CiAgICAgICAgdG8gTwhPZghmZghmLiAgVGhlIHZhcmlhYmxlcyBhbmQgdGhlaXIgZGVmYXVsdCB2YWx1ZXMgYXJlOgogCiAgICAgICAgYghiZQhlbAhsbAhsLQgtcwhzdAh0eQh5bAhsZQhlICgIKGEIYXUIdWQIZGkIaWIIYmwIbGUIZSkIKQotICAgICAgICAgICAgICBDb250cm9scyB3aGF0IGhhcHBlbnMgd2hlbiByZWFkbGluZSB3YW50cyB0byByaW5nICB0aGUgIHRlcm1pbmFsCisgICAgICAgICAgICAgIENvbnRyb2xzICB3aGF0ICBoYXBwZW5zIHdoZW4gcmVhZGxpbmUgd2FudHMgdG8gcmluZyB0aGUgdGVybWluYWwKICAgICAgICAgICAgICAgYmVsbC4gIElmIHNldCB0byBuCG5vCG9uCG5lCGUsIHJlYWRsaW5lIG5ldmVyIHJpbmdzIHRoZSBiZWxsLiAgSWYgc2V0IHRvCi0gICAgICAgICAgICAgIHYIdmkIaXMIc2kIaWIIYmwIbGUIZSwgcmVhZGxpbmUgdXNlcyBhIHZpc2libGUgYmVsbCBpZiBvbmUgaXMgIGF2YWlsYWJsZS4gICBJZgorICAgICAgICAgICAgICB2CHZpCGlzCHNpCGliCGJsCGxlCGUsICByZWFkbGluZSAgdXNlcyBhIHZpc2libGUgYmVsbCBpZiBvbmUgaXMgYXZhaWxhYmxlLiAgSWYKICAgICAgICAgICAgICAgc2V0IHRvIGEIYXUIdWQIZGkIaWIIYmwIbGUIZSwgcmVhZGxpbmUgYXR0ZW1wdHMgdG8gcmluZyB0aGUgdGVybWluYWwncyBiZWxsLgogICAgICAgIGIIYmkIaW4IbmQIZC0ILXQIdHQIdHkIeS0ILXMIc3AIcGUIZWMIY2kIaWEIYWwIbC0ILWMIY2gIaGEIYXIIcnMIcyAoCChPCE9uCG4pCCkKLSAgICAgICAgICAgICAgSWYgIHNldCAgdG8gTwhPbghuLCByZWFkbGluZSBhdHRlbXB0cyB0byBiaW5kIHRoZSBjb250cm9sIGNoYXJhY3RlcnMKKyAgICAgICAgICAgICAgSWYgc2V0IHRvIE8IT24IbiwgcmVhZGxpbmUgYXR0ZW1wdHMgdG8gYmluZCB0aGUgIGNvbnRyb2wgIGNoYXJhY3RlcnMKICAgICAgICAgICAgICAgdHJlYXRlZCBzcGVjaWFsbHkgYnkgdGhlIGtlcm5lbCdzIHRlcm1pbmFsIGRyaXZlciB0byB0aGVpciByZWFkLQogICAgICAgICAgICAgICBsaW5lIGVxdWl2YWxlbnRzLgogICAgICAgIGMIY28Ib20IbW0IbWUIZW4IbnQIdC0ILWIIYmUIZWcIZ2kIaW4IbiAoCChgCGBgCGAjCCMnCCcnCCcpCCkKLSAgICAgICAgICAgICAgVGhlICBzdHJpbmcgIHRoYXQgIGlzICBpbnNlcnRlZCB3aGVuIHRoZSByZWFkbGluZSBpCGluCG5zCHNlCGVyCHJ0CHQtCC1jCGNvCG9tCG1tCG1lCGVuCG50CHQKKyAgICAgICAgICAgICAgVGhlIHN0cmluZyB0aGF0IGlzIGluc2VydGVkICB3aGVuICB0aGUgIHJlYWRsaW5lICBpCGluCG5zCHNlCGVyCHJ0CHQtCC1jCGNvCG9tCG1tCG1lCGVuCG50CHQKICAgICAgICAgICAgICAgY29tbWFuZCBpcyBleGVjdXRlZC4gIFRoaXMgY29tbWFuZCBpcyBib3VuZCB0byBNCE0tCC0jCCMgaW4gZW1hY3MgbW9kZQogICAgICAgICAgICAgICBhbmQgdG8gIwgjIGluIHZpIGNvbW1hbmQgbW9kZS4KICAgICAgICBjCGNvCG9tCG1wCHBsCGxlCGV0CHRpCGlvCG9uCG4tCC1pCGlnCGduCG5vCG9yCHJlCGUtCC1jCGNhCGFzCHNlCGUgKAgoTwhPZghmZghmKQgpCiAgICAgICAgICAgICAgIElmIHNldCB0byBPCE9uCG4sIHJlYWRsaW5lIHBlcmZvcm1zIGZpbGVuYW1lIG1hdGNoaW5nIGFuZCBjb21wbGV0aW9uCiAgICAgICAgICAgICAgIGluIGEgY2FzZS1pbnNlbnNpdGl2ZSBmYXNoaW9uLgogICAgICAgIGMIY28Ib20IbXAIcGwIbGUIZXQIdGkIaW8Ib24Ibi0ILXAIcHIIcmUIZWYIZmkIaXgIeC0ILWQIZGkIaXMIc3AIcGwIbGEIYXkIeS0ILWwIbGUIZW4IbmcIZ3QIdGgIaCAoCCgwCDApCCkKLSAgICAgICAgICAgICAgVGhlIGxlbmd0aCBpbiBjaGFyYWN0ZXJzIG9mIHRoZSBjb21tb24gcHJlZml4IG9mIGEgbGlzdCBvZiAgcG9zLQotICAgICAgICAgICAgICBzaWJsZSAgY29tcGxldGlvbnMgdGhhdCBpcyBkaXNwbGF5ZWQgd2l0aG91dCBtb2RpZmljYXRpb24uICBXaGVuCi0gICAgICAgICAgICAgIHNldCB0byBhIHZhbHVlIGdyZWF0ZXIgdGhhbiB6ZXJvLCBjb21tb24gIHByZWZpeGVzICBsb25nZXIgIHRoYW4KLSAgICAgICAgICAgICAgdGhpcyAgdmFsdWUgYXJlIHJlcGxhY2VkIHdpdGggYW4gZWxsaXBzaXMgd2hlbiBkaXNwbGF5aW5nIHBvc3NpLQorICAgICAgICAgICAgICBUaGUgIGxlbmd0aCBpbiBjaGFyYWN0ZXJzIG9mIHRoZSBjb21tb24gcHJlZml4IG9mIGEgbGlzdCBvZiBwb3MtCisgICAgICAgICAgICAgIHNpYmxlIGNvbXBsZXRpb25zIHRoYXQgaXMgZGlzcGxheWVkIHdpdGhvdXQgbW9kaWZpY2F0aW9uLiAgIFdoZW4KKyAgICAgICAgICAgICAgc2V0ICB0byAgYSAgdmFsdWUgZ3JlYXRlciB0aGFuIHplcm8sIGNvbW1vbiBwcmVmaXhlcyBsb25nZXIgdGhhbgorICAgICAgICAgICAgICB0aGlzIHZhbHVlIGFyZSByZXBsYWNlZCB3aXRoIGFuIGVsbGlwc2lzIHdoZW4gZGlzcGxheWluZyAgcG9zc2ktCiAgICAgICAgICAgICAgIGJsZSBjb21wbGV0aW9ucy4KICAgICAgICBjCGNvCG9tCG1wCHBsCGxlCGV0CHRpCGlvCG9uCG4tCC1xCHF1CHVlCGVyCHJ5CHktCC1pCGl0CHRlCGVtCG1zCHMgKAgoMQgxMAgwMAgwKQgpCi0gICAgICAgICAgICAgIFRoaXMgZGV0ZXJtaW5lcyB3aGVuIHRoZSB1c2VyIGlzIHF1ZXJpZWQgYWJvdXQgdmlld2luZyB0aGUgIG51bS0KLSAgICAgICAgICAgICAgYmVyICBvZiAgcG9zc2libGUgIGNvbXBsZXRpb25zIGdlbmVyYXRlZCBieSB0aGUgcAhwbwhvcwhzcwhzaQhpYghibAhsZQhlLQgtYwhjbwhvbQhtcAhwbAhsZQhlLQgtCi0gICAgICAgICAgICAgIHQIdGkIaW8Ib24IbnMIcyBjb21tYW5kLiAgSXQgbWF5IGJlIHNldCB0byBhbnkgaW50ZWdlciB2YWx1ZSBncmVhdGVyICB0aGFuCi0gICAgICAgICAgICAgIG9yICBlcXVhbCAgdG8gIHplcm8uICAgSWYgIHRoZSBudW1iZXIgb2YgcG9zc2libGUgY29tcGxldGlvbnMgaXMKKyAgICAgICAgICAgICAgVGhpcyAgZGV0ZXJtaW5lcyB3aGVuIHRoZSB1c2VyIGlzIHF1ZXJpZWQgYWJvdXQgdmlld2luZyB0aGUgbnVtLQorICAgICAgICAgICAgICBiZXIgb2YgcG9zc2libGUgY29tcGxldGlvbnMgZ2VuZXJhdGVkICBieSAgdGhlICBwCHBvCG9zCHNzCHNpCGliCGJsCGxlCGUtCC1jCGNvCG9tCG1wCHBsCGxlCGUtCC0KKyAgICAgICAgICAgICAgdAh0aQhpbwhvbghucwhzICBjb21tYW5kLiAgSXQgbWF5IGJlIHNldCB0byBhbnkgaW50ZWdlciB2YWx1ZSBncmVhdGVyIHRoYW4KKyAgICAgICAgICAgICAgb3IgZXF1YWwgdG8gemVyby4gIElmIHRoZSAgbnVtYmVyICBvZiAgcG9zc2libGUgIGNvbXBsZXRpb25zICBpcwogICAgICAgICAgICAgICBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIHRoaXMgdmFyaWFibGUsIHRoZSB1c2VyIGlzCi0gICAgICAgICAgICAgIGFza2VkICB3aGV0aGVyIG9yIG5vdCBoZSB3aXNoZXMgdG8gdmlldyB0aGVtOyBvdGhlcndpc2UgdGhleSBhcmUKKyAgICAgICAgICAgICAgYXNrZWQgd2hldGhlciBvciBub3QgaGUgd2lzaGVzIHRvIHZpZXcgdGhlbTsgb3RoZXJ3aXNlIHRoZXkgIGFyZQogICAgICAgICAgICAgICBzaW1wbHkgbGlzdGVkIG9uIHRoZSB0ZXJtaW5hbC4KICAgICAgICBjCGNvCG9uCG52CHZlCGVyCHJ0CHQtCC1tCG1lCGV0CHRhCGEgKAgoTwhPbghuKQgpCi0gICAgICAgICAgICAgIElmIHNldCB0byBPCE9uCG4sIHJlYWRsaW5lIHdpbGwgY29udmVydCBjaGFyYWN0ZXJzIHdpdGggIHRoZSAgZWlnaHRoCisgICAgICAgICAgICAgIElmICBzZXQgIHRvIE8IT24IbiwgcmVhZGxpbmUgd2lsbCBjb252ZXJ0IGNoYXJhY3RlcnMgd2l0aCB0aGUgZWlnaHRoCiAgICAgICAgICAgICAgIGJpdCBzZXQgdG8gYW4gQVNDSUkga2V5IHNlcXVlbmNlIGJ5IHN0cmlwcGluZyB0aGUgZWlnaHRoIGJpdCBhbmQKLSAgICAgICAgICAgICAgcHJlZml4aW5nIGFuIGVzY2FwZSBjaGFyYWN0ZXIgKGluIGVmZmVjdCwgdXNpbmcgIGVzY2FwZSAgYXMgIHRoZQorICAgICAgICAgICAgICBwcmVmaXhpbmcgIGFuICBlc2NhcGUgIGNoYXJhY3RlciAoaW4gZWZmZWN0LCB1c2luZyBlc2NhcGUgYXMgdGhlCiAgICAgICAgICAgICAgIF8IbV8IZV8IdF8IYSBfCHBfCHJfCGVfCGZfCGlfCHgpLgogICAgICAgIGQIZGkIaXMIc2EIYWIIYmwIbGUIZS0ILWMIY28Ib20IbXAIcGwIbGUIZXQIdGkIaW8Ib24IbiAoCChPCE9mCGZmCGYpCCkKICAgICAgICAgICAgICAgSWYgc2V0IHRvIE8IT24IbiwgcmVhZGxpbmUgd2lsbCBpbmhpYml0IHdvcmQgY29tcGxldGlvbi4gIENvbXBsZXRpb24KLSAgICAgICAgICAgICAgY2hhcmFjdGVycyB3aWxsIGJlIGluc2VydGVkIGludG8gdGhlIGxpbmUgYXMgaWYgIHRoZXkgIGhhZCAgYmVlbgorICAgICAgICAgICAgICBjaGFyYWN0ZXJzICB3aWxsICBiZSAgaW5zZXJ0ZWQgaW50byB0aGUgbGluZSBhcyBpZiB0aGV5IGhhZCBiZWVuCiAgICAgICAgICAgICAgIG1hcHBlZCB0byBzCHNlCGVsCGxmCGYtCC1pCGluCG5zCHNlCGVyCHJ0CHQuCiAgICAgICAgZQhlZAhkaQhpdAh0aQhpbghuZwhnLQgtbQhtbwhvZAhkZQhlICgIKGUIZW0IbWEIYWMIY3MIcykIKQogICAgICAgICAgICAgICBDb250cm9scyB3aGV0aGVyIHJlYWRsaW5lIGJlZ2lucyB3aXRoIGEgc2V0IG9mIGtleSBiaW5kaW5ncyBzaW0tCiAgICAgICAgICAgICAgIGlsYXIgdG8gXwhlXwhtXwhhXwhjXwhzIG9yIF8Idl8IaS4gIGUIZWQIZGkIaXQIdGkIaW4IbmcIZy0ILW0IbW8Ib2QIZGUIZSBjYW4gYmUgc2V0IHRvIGVpdGhlciBlCGVtCG1hCGFjCGNzCHMgb3IKICAgICAgICAgICAgICAgdgh2aQhpLgorICAgICAgIGUIZWMIY2gIaG8Iby0ILWMIY28Ib24IbnQIdHIIcm8Ib2wIbC0ILWMIY2gIaGEIYXIIcmEIYWMIY3QIdGUIZXIIcnMIcyAoCChPCE9uCG4pCCkKKyAgICAgICAgICAgICAgV2hlbiBzZXQgdG8gTwhPbghuLCBvbiBvcGVyYXRpbmcgc3lzdGVtcyB0aGF0IGluZGljYXRlIHRoZXkgIHN1cHBvcnQKKyAgICAgICAgICAgICAgaXQsIHJlYWRsaW5lIGVjaG9lcyBhIGNoYXJhY3RlciBjb3JyZXNwb25kaW5nIHRvIGEgc2lnbmFsIGdlbmVyLQorICAgICAgICAgICAgICBhdGVkIGZyb20gdGhlIGtleWJvYXJkLgogICAgICAgIGUIZW4IbmEIYWIIYmwIbGUIZS0ILWsIa2UIZXkIeXAIcGEIYWQIZCAoCChPCE9mCGZmCGYpCCkKICAgICAgICAgICAgICAgV2hlbiBzZXQgdG8gTwhPbghuLCByZWFkbGluZSB3aWxsIHRyeSB0byBlbmFibGUgdGhlIGFwcGxpY2F0aW9uIGtleS0KLSAgICAgICAgICAgICAgcGFkIHdoZW4gaXQgaXMgY2FsbGVkLiAgU29tZSBzeXN0ZW1zIG5lZWQgIHRoaXMgIHRvICBlbmFibGUgIHRoZQorICAgICAgICAgICAgICBwYWQgIHdoZW4gIGl0ICBpcyAgY2FsbGVkLiAgU29tZSBzeXN0ZW1zIG5lZWQgdGhpcyB0byBlbmFibGUgdGhlCiAgICAgICAgICAgICAgIGFycm93IGtleXMuCisgICAgICAgZQhlbghuYQhhYghibAhsZQhlLQgtbQhtZQhldAh0YQhhLQgtawhrZQhleQh5ICgIKE8IT24IbikIKQorICAgICAgICAgICAgICBXaGVuIHNldCB0byBPCE9uCG4sIHJlYWRsaW5lIHdpbGwgdHJ5IHRvIGVuYWJsZSAgYW55ICBtZXRhICBtb2RpZmllcgorICAgICAgICAgICAgICBrZXkgIHRoZSAgdGVybWluYWwgY2xhaW1zIHRvIHN1cHBvcnQgd2hlbiBpdCBpcyBjYWxsZWQuICBPbiBtYW55CisgICAgICAgICAgICAgIHRlcm1pbmFscywgdGhlIG1ldGEga2V5IGlzIHVzZWQgdG8gc2VuZCBlaWdodC1iaXQgY2hhcmFjdGVycy4KICAgICAgICBlCGV4CHhwCHBhCGFuCG5kCGQtCC10CHRpCGlsCGxkCGRlCGUgKAgoTwhPZghmZghmKQgpCi0gICAgICAgICAgICAgIElmICBzZXQgIHRvICBvCG9uCG4sICB0aWxkZSAgZXhwYW5zaW9uICBpcyAgcGVyZm9ybWVkICB3aGVuIHJlYWRsaW5lCisgICAgICAgICAgICAgIElmIHNldCAgdG8gIG8Ib24IbiwgIHRpbGRlICBleHBhbnNpb24gIGlzICBwZXJmb3JtZWQgIHdoZW4gIHJlYWRsaW5lCiAgICAgICAgICAgICAgIGF0dGVtcHRzIHdvcmQgY29tcGxldGlvbi4KICAgICAgICBoCGhpCGlzCHN0CHRvCG9yCHJ5CHktCC1wCHByCHJlCGVzCHNlCGVyCHJ2CHZlCGUtCC1wCHBvCG9pCGluCG50CHQgKAgoTwhPZghmZghmKQgpCi0gICAgICAgICAgICAgIElmIHNldCB0byBvCG9uCG4sIHRoZSBoaXN0b3J5IGNvZGUgYXR0ZW1wdHMgdG8gcGxhY2UgIHBvaW50ICBhdCAgdGhlCi0gICAgICAgICAgICAgIHNhbWUgIGxvY2F0aW9uIG9uIGVhY2ggaGlzdG9yeSBsaW5lIHJldHJpZXZlZCB3aXRoIHAIcHIIcmUIZXYIdmkIaW8Ib3UIdXMIcy0ILWgIaGkIaXMIcy0ILQorICAgICAgICAgICAgICBJZiAgc2V0ICB0byAgbwhvbghuLCB0aGUgaGlzdG9yeSBjb2RlIGF0dGVtcHRzIHRvIHBsYWNlIHBvaW50IGF0IHRoZQorICAgICAgICAgICAgICBzYW1lIGxvY2F0aW9uIG9uIGVhY2ggaGlzdG9yeSBsaW5lIHJldHJpZXZlZCB3aXRoICBwCHByCHJlCGV2CHZpCGlvCG91CHVzCHMtCC1oCGhpCGlzCHMtCC0KICAgICAgICAgICAgICAgdAh0bwhvcghyeQh5IG9yIG4IbmUIZXgIeHQIdC0ILWgIaGkIaXMIc3QIdG8Ib3IIcnkIeS4KICAgICAgICBoCGhpCGlzCHN0CHRvCG9yCHJ5CHktCC1zCHNpCGl6CHplCGUgKAgoMAgwKQgpCi0gICAgICAgICAgICAgIFNldCB0aGUgbWF4aW11bSBudW1iZXIgb2YgaGlzdG9yeSBlbnRyaWVzIHNhdmVkIGluICB0aGUgIGhpc3RvcnkKKyAgICAgICAgICAgICAgU2V0ICB0aGUgIG1heGltdW0gbnVtYmVyIG9mIGhpc3RvcnkgZW50cmllcyBzYXZlZCBpbiB0aGUgaGlzdG9yeQogICAgICAgICAgICAgICBsaXN0LiAgSWYgc2V0IHRvIHplcm8sIHRoZSBudW1iZXIgb2YgZW50cmllcyBpbiB0aGUgaGlzdG9yeSBsaXN0CiAgICAgICAgICAgICAgIGlzIG5vdCBsaW1pdGVkLgogICAgICAgIGgIaG8Ib3IIcmkIaXoIem8Ib24IbnQIdGEIYWwIbC0ILXMIc2MIY3IIcm8Ib2wIbGwIbC0ILW0IbW8Ib2QIZGUIZSAoCChPCE9mCGZmCGYpCCkKLSAgICAgICAgICAgICAgV2hlbiBzZXQgdG8gTwhPbghuLCBtYWtlcyByZWFkbGluZSB1c2UgYSBzaW5nbGUgIGxpbmUgIGZvciAgZGlzcGxheSwKKyAgICAgICAgICAgICAgV2hlbiAgc2V0ICB0byAgTwhPbghuLCBtYWtlcyByZWFkbGluZSB1c2UgYSBzaW5nbGUgbGluZSBmb3IgZGlzcGxheSwKICAgICAgICAgICAgICAgc2Nyb2xsaW5nIHRoZSBpbnB1dCBob3Jpem9udGFsbHkgb24gYSBzaW5nbGUgc2NyZWVuIGxpbmUgd2hlbiBpdAotICAgICAgICAgICAgICBiZWNvbWVzIGxvbmdlciB0aGFuIHRoZSBzY3JlZW4gd2lkdGggcmF0aGVyIHRoYW4gd3JhcHBpbmcgIHRvICBhCisgICAgICAgICAgICAgIGJlY29tZXMgIGxvbmdlciAgdGhhbiB0aGUgc2NyZWVuIHdpZHRoIHJhdGhlciB0aGFuIHdyYXBwaW5nIHRvIGEKICAgICAgICAgICAgICAgbmV3IGxpbmUuCiAgICAgICAgaQhpbghucAhwdQh1dAh0LQgtbQhtZQhldAh0YQhhICgIKE8IT2YIZmYIZikIKQotICAgICAgICAgICAgICBJZiAgc2V0IHRvIE8IT24IbiwgcmVhZGxpbmUgd2lsbCBlbmFibGUgZWlnaHQtYml0IGlucHV0ICh0aGF0IGlzLCBpdAotICAgICAgICAgICAgICB3aWxsIG5vdCBzdHJpcCB0aGUgaGlnaCAgYml0ICBmcm9tICB0aGUgIGNoYXJhY3RlcnMgIGl0ICByZWFkcyksCisgICAgICAgICAgICAgIElmIHNldCB0byBPCE9uCG4sIHJlYWRsaW5lIHdpbGwgZW5hYmxlIGVpZ2h0LWJpdCBpbnB1dCAodGhhdCBpcywgIGl0CisgICAgICAgICAgICAgIHdpbGwgIG5vdCAgc3RyaXAgIHRoZSAgaGlnaCAgYml0ICBmcm9tIHRoZSBjaGFyYWN0ZXJzIGl0IHJlYWRzKSwKICAgICAgICAgICAgICAgcmVnYXJkbGVzcyBvZiB3aGF0IHRoZSB0ZXJtaW5hbCBjbGFpbXMgaXQgY2FuIHN1cHBvcnQuICBUaGUgbmFtZQogICAgICAgICAgICAgICBtCG1lCGV0CHRhCGEtCC1mCGZsCGxhCGFnCGcgaXMgYSBzeW5vbnltIGZvciB0aGlzIHZhcmlhYmxlLgogICAgICAgIGkIaXMIc2UIZWEIYXIIcmMIY2gIaC0ILXQIdGUIZXIIcm0IbWkIaW4IbmEIYXQIdG8Ib3IIcnMIcyAoCChgCGBgCGBDCEMtCC1bCFtDCEMtCC1KCEonCCcnCCcpCCkKLSAgICAgICAgICAgICAgVGhlIHN0cmluZyBvZiBjaGFyYWN0ZXJzIHRoYXQgc2hvdWxkICB0ZXJtaW5hdGUgIGFuICBpbmNyZW1lbnRhbAotICAgICAgICAgICAgICBzZWFyY2ggIHdpdGhvdXQgIHN1YnNlcXVlbnRseSAgZXhlY3V0aW5nIHRoZSBjaGFyYWN0ZXIgYXMgYSBjb20tCi0gICAgICAgICAgICAgIG1hbmQuICBJZiB0aGlzIHZhcmlhYmxlIGhhcyBub3QgYmVlbiBnaXZlbiBhIHZhbHVlLCB0aGUgIGNoYXJhYy0KKyAgICAgICAgICAgICAgVGhlICBzdHJpbmcgIG9mICBjaGFyYWN0ZXJzIHRoYXQgc2hvdWxkIHRlcm1pbmF0ZSBhbiBpbmNyZW1lbnRhbAorICAgICAgICAgICAgICBzZWFyY2ggd2l0aG91dCBzdWJzZXF1ZW50bHkgZXhlY3V0aW5nIHRoZSBjaGFyYWN0ZXIgIGFzICBhICBjb20tCisgICAgICAgICAgICAgIG1hbmQuICAgSWYgdGhpcyB2YXJpYWJsZSBoYXMgbm90IGJlZW4gZ2l2ZW4gYSB2YWx1ZSwgdGhlIGNoYXJhYy0KICAgICAgICAgICAgICAgdGVycyBfCEVfCFNfCEMgYW5kIF8IQ18ILV8ISiB3aWxsIHRlcm1pbmF0ZSBhbiBpbmNyZW1lbnRhbCBzZWFyY2guCiAgICAgICAgawhrZQhleQh5bQhtYQhhcAhwICgIKGUIZW0IbWEIYWMIY3MIcykIKQotICAgICAgICAgICAgICBTZXQgIHRoZSBjdXJyZW50IHJlYWRsaW5lIGtleW1hcC4gIFRoZSBzZXQgb2YgdmFsaWQga2V5bWFwIG5hbWVzCi0gICAgICAgICAgICAgIGlzIF8IZV8IbV8IYV8IY18Ic18ILCBfCGVfCG1fCGFfCGNfCHNfCC1fCHNfCHRfCGFfCG5fCGRfCGFfCHJfCGRfCCwgXwhlXwhtXwhhXwhjXwhzXwgtXwhtXwhlXwh0XwhhXwgsICBfCGVfCG1fCGFfCGNfCHNfCC1fCGNfCHRfCGxfCHhfCCwgIF8Idl8IaV8ILCAgXwh2XwhpXwgtXwhjXwhvXwhtXwgtCi0gICAgICAgICAgICAgIF8IbV8IYV8Ibl8IZCwgIGFuZCAgXwh2XwhpXwgtXwhpXwhuXwhzXwhlXwhyXwh0LiAgXwh2XwhpIGlzIGVxdWl2YWxlbnQgdG8gXwh2XwhpXwgtXwhjXwhvXwhtXwhtXwhhXwhuXwhkOyBfCGVfCG1fCGFfCGNfCHMgaXMKLSAgICAgICAgICAgICAgZXF1aXZhbGVudCB0byBfCGVfCG1fCGFfCGNfCHNfCC1fCHNfCHRfCGFfCG5fCGRfCGFfCHJfCGQuICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAgXwhlXwhtXwhhXwhjXwhzOyAgdGhlCisgICAgICAgICAgICAgIFNldCB0aGUgY3VycmVudCByZWFkbGluZSBrZXltYXAuICBUaGUgc2V0IG9mIHZhbGlkIGtleW1hcCAgbmFtZXMKKyAgICAgICAgICAgICAgaXMgIF8IZV8IbV8IYV8IY18Ic18ILCAgXwhlXwhtXwhhXwhjXwhzXwgtXwhzXwh0XwhhXwhuXwhkXwhhXwhyXwhkXwgsICBfCGVfCG1fCGFfCGNfCHNfCC1fCG1fCGVfCHRfCGFfCCwgXwhlXwhtXwhhXwhjXwhzXwgtXwhjXwh0XwhsXwh4XwgsIF8Idl8IaV8ILCBfCHZfCGlfCC1fCGNfCG9fCG1fCC0KKyAgICAgICAgICAgICAgXwhtXwhhXwhuXwhkLCBhbmQgXwh2XwhpXwgtXwhpXwhuXwhzXwhlXwhyXwh0LiAgXwh2XwhpIGlzIGVxdWl2YWxlbnQgdG8gXwh2XwhpXwgtXwhjXwhvXwhtXwhtXwhhXwhuXwhkOyAgXwhlXwhtXwhhXwhjXwhzICBpcworICAgICAgICAgICAgICBlcXVpdmFsZW50ICB0byAgXwhlXwhtXwhhXwhjXwhzXwgtXwhzXwh0XwhhXwhuXwhkXwhhXwhyXwhkLiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgXwhlXwhtXwhhXwhjXwhzOyB0aGUKICAgICAgICAgICAgICAgdmFsdWUgb2YgZQhlZAhkaQhpdAh0aQhpbghuZwhnLQgtbQhtbwhvZAhkZQhlIGFsc28gYWZmZWN0cyB0aGUgZGVmYXVsdCBrZXltYXAuCiAgICAgICAgbQhtYQhhcghyawhrLQgtZAhkaQhpcghyZQhlYwhjdAh0bwhvcghyaQhpZQhlcwhzICgIKE8IT24IbikIKQogICAgICAgICAgICAgICBJZiBzZXQgdG8gTwhPbghuLCBjb21wbGV0ZWQgZGlyZWN0b3J5IG5hbWVzIGhhdmUgYSBzbGFzaCBhcHBlbmRlZC4KICAgICAgICBtCG1hCGFyCHJrCGstCC1tCG1vCG9kCGRpCGlmCGZpCGllCGVkCGQtCC1sCGxpCGluCG5lCGVzCHMgKAgoTwhPZghmZghmKQgpCi0gICAgICAgICAgICAgIElmICBzZXQgIHRvICBPCE9uCG4sICBoaXN0b3J5IGxpbmVzIHRoYXQgaGF2ZSBiZWVuIG1vZGlmaWVkIGFyZSBkaXMtCisgICAgICAgICAgICAgIElmIHNldCB0byBPCE9uCG4sIGhpc3RvcnkgbGluZXMgdGhhdCBoYXZlICBiZWVuICBtb2RpZmllZCAgYXJlICBkaXMtCiAgICAgICAgICAgICAgIHBsYXllZCB3aXRoIGEgcHJlY2VkaW5nIGFzdGVyaXNrICgqCCopLgogICAgICAgIG0IbWEIYXIIcmsIay0ILXMIc3kIeW0IbWwIbGkIaW4IbmsIa2UIZWQIZC0ILWQIZGkIaXIIcmUIZWMIY3QIdG8Ib3IIcmkIaWUIZXMIcyAoCChPCE9mCGZmCGYpCCkKICAgICAgICAgICAgICAgSWYgc2V0IHRvIE8IT24IbiwgY29tcGxldGVkIG5hbWVzIHdoaWNoIGFyZSBzeW1ib2xpYyBsaW5rcyB0byBkaXJlYy0KLSAgICAgICAgICAgICAgdG9yaWVzICAgaGF2ZSAgIGEgIHNsYXNoICBhcHBlbmRlZCAgKHN1YmplY3QgIHRvICB0aGUgIHZhbHVlICBvZgorICAgICAgICAgICAgICB0b3JpZXMgIGhhdmUgIGEgIHNsYXNoICBhcHBlbmRlZCAgKHN1YmplY3QgIHRvICB0aGUgICB2YWx1ZSAgIG9mCiAgICAgICAgICAgICAgIG0IbWEIYXIIcmsIay0ILWQIZGkIaXIIcmUIZWMIY3QIdG8Ib3IIcmkIaWUIZXMIcykuCiAgICAgICAgbQhtYQhhdAh0YwhjaAhoLQgtaAhoaQhpZAhkZAhkZQhlbghuLQgtZghmaQhpbAhsZQhlcwhzICgIKE8IT24IbikIKQotICAgICAgICAgICAgICBUaGlzIHZhcmlhYmxlLCB3aGVuIHNldCB0byBPCE9uCG4sIGNhdXNlcyByZWFkbGluZSAgdG8gIG1hdGNoICBmaWxlcwotICAgICAgICAgICAgICB3aG9zZSAgbmFtZXMgIGJlZ2luICB3aXRoICBhICBgLicgKGhpZGRlbiBmaWxlcykgd2hlbiBwZXJmb3JtaW5nCi0gICAgICAgICAgICAgIGZpbGVuYW1lIGNvbXBsZXRpb24sIHVubGVzcyB0aGUgbGVhZGluZyBgLicgaXMgc3VwcGxpZWQgIGJ5ICB0aGUKKyAgICAgICAgICAgICAgVGhpcyAgdmFyaWFibGUsICB3aGVuICBzZXQgdG8gTwhPbghuLCBjYXVzZXMgcmVhZGxpbmUgdG8gbWF0Y2ggZmlsZXMKKyAgICAgICAgICAgICAgd2hvc2UgbmFtZXMgYmVnaW4gd2l0aCBhICBgLicgIChoaWRkZW4gIGZpbGVzKSAgd2hlbiAgcGVyZm9ybWluZworICAgICAgICAgICAgICBmaWxlbmFtZSAgY29tcGxldGlvbiwgIHVubGVzcyB0aGUgbGVhZGluZyBgLicgaXMgc3VwcGxpZWQgYnkgdGhlCiAgICAgICAgICAgICAgIHVzZXIgaW4gdGhlIGZpbGVuYW1lIHRvIGJlIGNvbXBsZXRlZC4KICAgICAgICBvCG91CHV0CHRwCHB1CHV0CHQtCC1tCG1lCGV0CHRhCGEgKAgoTwhPZghmZghmKQgpCi0gICAgICAgICAgICAgIElmICBzZXQgIHRvIE8IT24IbiwgcmVhZGxpbmUgd2lsbCBkaXNwbGF5IGNoYXJhY3RlcnMgd2l0aCB0aGUgZWlnaHRoCisgICAgICAgICAgICAgIElmIHNldCB0byBPCE9uCG4sIHJlYWRsaW5lIHdpbGwgZGlzcGxheSBjaGFyYWN0ZXJzIHdpdGggIHRoZSAgZWlnaHRoCiAgICAgICAgICAgICAgIGJpdCBzZXQgZGlyZWN0bHkgcmF0aGVyIHRoYW4gYXMgYSBtZXRhLXByZWZpeGVkIGVzY2FwZSBzZXF1ZW5jZS4KICAgICAgICBwCHBhCGFnCGdlCGUtCC1jCGNvCG9tCG1wCHBsCGxlCGV0CHRpCGlvCG9uCG5zCHMgKAgoTwhPbghuKQgpCi0gICAgICAgICAgICAgIElmICBzZXQgdG8gTwhPbghuLCByZWFkbGluZSB1c2VzIGFuIGludGVybmFsIF8IbV8Ib18Icl8IZS1saWtlIHBhZ2VyIHRvIGRpcy0KKyAgICAgICAgICAgICAgSWYgc2V0IHRvIE8IT24IbiwgcmVhZGxpbmUgdXNlcyBhbiBpbnRlcm5hbCBfCG1fCG9fCHJfCGUtbGlrZSBwYWdlciB0byAgZGlzLQogICAgICAgICAgICAgICBwbGF5IGEgc2NyZWVuZnVsIG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zIGF0IGEgdGltZS4KICAgICAgICBwCHByCHJpCGluCG50CHQtCC1jCGNvCG9tCG1wCHBsCGxlCGV0CHRpCGlvCG9uCG5zCHMtCC1oCGhvCG9yCHJpCGl6CHpvCG9uCG50CHRhCGFsCGxsCGx5CHkgKAgoTwhPZghmZghmKQgpCi0gICAgICAgICAgICAgIElmIHNldCB0byBPCE9uCG4sIHJlYWRsaW5lIHdpbGwgIGRpc3BsYXkgIGNvbXBsZXRpb25zICB3aXRoICBtYXRjaGVzCi0gICAgICAgICAgICAgIHNvcnRlZCAgaG9yaXpvbnRhbGx5IGluIGFscGhhYmV0aWNhbCBvcmRlciwgcmF0aGVyIHRoYW4gZG93biB0aGUKKyAgICAgICAgICAgICAgSWYgIHNldCAgdG8gIE8IT24IbiwgIHJlYWRsaW5lIHdpbGwgZGlzcGxheSBjb21wbGV0aW9ucyB3aXRoIG1hdGNoZXMKKyAgICAgICAgICAgICAgc29ydGVkIGhvcml6b250YWxseSBpbiBhbHBoYWJldGljYWwgb3JkZXIsIHJhdGhlciB0aGFuIGRvd24gIHRoZQogICAgICAgICAgICAgICBzY3JlZW4uCiAgICAgICAgcghyZQhldgh2ZQhlcghydAh0LQgtYQhhbAhsbAhsLQgtYQhhdAh0LQgtbghuZQhldwh3bAhsaQhpbghuZQhlICgIKE8IT2YIZmYIZikIKQotICAgICAgICAgICAgICBJZiBzZXQgdG8gbwhvbghuLCByZWFkbGluZSB3aWxsIHVuZG8gYWxsIGNoYW5nZXMgIHRvICBoaXN0b3J5ICBsaW5lcworICAgICAgICAgICAgICBJZiAgc2V0ICB0byAgbwhvbghuLCByZWFkbGluZSB3aWxsIHVuZG8gYWxsIGNoYW5nZXMgdG8gaGlzdG9yeSBsaW5lcwogICAgICAgICAgICAgICBiZWZvcmUgcmV0dXJuaW5nIHdoZW4gYQhhYwhjYwhjZQhlcAhwdAh0LQgtbAhsaQhpbghuZQhlIGlzIGV4ZWN1dGVkLiAgQnkgZGVmYXVsdCwgaGlzLQotICAgICAgICAgICAgICB0b3J5IGxpbmVzIG1heSBiZSBtb2RpZmllZCAgYW5kICByZXRhaW4gIGluZGl2aWR1YWwgIHVuZG8gIGxpc3RzCisgICAgICAgICAgICAgIHRvcnkgIGxpbmVzICBtYXkgIGJlICBtb2RpZmllZCAgYW5kIHJldGFpbiBpbmRpdmlkdWFsIHVuZG8gbGlzdHMKICAgICAgICAgICAgICAgYWNyb3NzIGNhbGxzIHRvIHIIcmUIZWEIYWQIZGwIbGkIaW4IbmUIZS4KICAgICAgICBzCHNoCGhvCG93CHctCC1hCGFsCGxsCGwtCC1pCGlmCGYtCC1hCGFtCG1iCGJpCGlnCGd1CHVvCG91CHVzCHMgKAgoTwhPZghmZghmKQgpCi0gICAgICAgICAgICAgIFRoaXMgIGFsdGVycyAgdGhlICBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBjb21wbGV0aW9uIGZ1bmN0aW9ucy4KKyAgICAgICAgICAgICAgVGhpcyBhbHRlcnMgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgIHRoZSAgY29tcGxldGlvbiAgZnVuY3Rpb25zLgogICAgICAgICAgICAgICBJZiBzZXQgdG8gbwhvbghuLCB3b3JkcyB3aGljaCBoYXZlIG1vcmUgdGhhbiBvbmUgcG9zc2libGUgY29tcGxldGlvbgotICAgICAgICAgICAgICBjYXVzZSAgdGhlICBtYXRjaGVzICB0byBiZSBsaXN0ZWQgaW1tZWRpYXRlbHkgaW5zdGVhZCBvZiByaW5naW5nCisgICAgICAgICAgICAgIGNhdXNlIHRoZSBtYXRjaGVzIHRvIGJlIGxpc3RlZCBpbW1lZGlhdGVseSAgaW5zdGVhZCAgb2YgIHJpbmdpbmcKICAgICAgICAgICAgICAgdGhlIGJlbGwuCiAgICAgICAgcwhzaAhobwhvdwh3LQgtYQhhbAhsbAhsLQgtaQhpZghmLQgtdQh1bghubQhtbwhvZAhkaQhpZghmaQhpZQhlZAhkICgIKE8IT2YIZmYIZikIKQotICAgICAgICAgICAgICBUaGlzIGFsdGVycyB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgY29tcGxldGlvbiBmdW5jdGlvbnMgIGluCisgICAgICAgICAgICAgIFRoaXMgIGFsdGVycyB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgY29tcGxldGlvbiBmdW5jdGlvbnMgaW4KICAgICAgICAgICAgICAgYSBmYXNoaW9uIHNpbWlsYXIgdG8gcwhzaAhobwhvdwh3LQgtYQhhbAhsbAhsLQgtaQhpZghmLQgtYQhhbQhtYghiaQhpZwhndQh1bwhvdQh1cwhzLiAgSWYgc2V0IHRvIG8Ib24Ibiwgd29yZHMKLSAgICAgICAgICAgICAgd2hpY2ggaGF2ZSBtb3JlIHRoYW4gb25lIHBvc3NpYmxlIGNvbXBsZXRpb24gd2l0aG91dCBhbnkgIHBvc3NpLQotICAgICAgICAgICAgICBibGUgIHBhcnRpYWwgIGNvbXBsZXRpb24gKHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkb24ndCBzaGFyZSBhCi0gICAgICAgICAgICAgIGNvbW1vbiBwcmVmaXgpICBjYXVzZSAgdGhlICBtYXRjaGVzICB0byAgYmUgIGxpc3RlZCAgaW1tZWRpYXRlbHkKKyAgICAgICAgICAgICAgd2hpY2ggIGhhdmUgbW9yZSB0aGFuIG9uZSBwb3NzaWJsZSBjb21wbGV0aW9uIHdpdGhvdXQgYW55IHBvc3NpLQorICAgICAgICAgICAgICBibGUgcGFydGlhbCBjb21wbGV0aW9uICh0aGUgcG9zc2libGUgY29tcGxldGlvbnMgZG9uJ3QgIHNoYXJlICBhCisgICAgICAgICAgICAgIGNvbW1vbiAgcHJlZml4KSAgY2F1c2UgIHRoZSAgbWF0Y2hlcyAgdG8gIGJlICBsaXN0ZWQgaW1tZWRpYXRlbHkKICAgICAgICAgICAgICAgaW5zdGVhZCBvZiByaW5naW5nIHRoZSBiZWxsLgorICAgICAgIHMIc2sIa2kIaXAIcC0ILWMIY28Ib20IbXAIcGwIbGUIZXQIdGUIZWQIZC0ILXQIdGUIZXgIeHQIdCAoCChPCE9mCGZmCGYpCCkKKyAgICAgICAgICAgICAgSWYgc2V0IHRvIE8IT24IbiwgdGhpcyBhbHRlcnMgdGhlIGRlZmF1bHQgY29tcGxldGlvbiAgYmVoYXZpb3IgIHdoZW4KKyAgICAgICAgICAgICAgaW5zZXJ0aW5nICBhICBzaW5nbGUgbWF0Y2ggaW50byB0aGUgbGluZS4gIEl0J3Mgb25seSBhY3RpdmUgd2hlbgorICAgICAgICAgICAgICBwZXJmb3JtaW5nIGNvbXBsZXRpb24gaW4gdGhlIG1pZGRsZSAgb2YgIGEgIHdvcmQuICAgSWYgIGVuYWJsZWQsCisgICAgICAgICAgICAgIHJlYWRsaW5lICBkb2VzICBub3QgIGluc2VydCAgY2hhcmFjdGVycyBmcm9tIHRoZSBjb21wbGV0aW9uIHRoYXQKKyAgICAgICAgICAgICAgbWF0Y2ggY2hhcmFjdGVycyBhZnRlciBwb2ludCBpbiB0aGUgIHdvcmQgIGJlaW5nICBjb21wbGV0ZWQsICBzbworICAgICAgICAgICAgICBwb3J0aW9ucyBvZiB0aGUgd29yZCBmb2xsb3dpbmcgdGhlIGN1cnNvciBhcmUgbm90IGR1cGxpY2F0ZWQuCiAgICAgICAgdgh2aQhpcwhzaQhpYghibAhsZQhlLQgtcwhzdAh0YQhhdAh0cwhzICgIKE8IT2YIZmYIZikIKQogICAgICAgICAgICAgICBJZiAgc2V0IHRvIE8IT24IbiwgYSBjaGFyYWN0ZXIgZGVub3RpbmcgYSBmaWxlJ3MgdHlwZSBhcyByZXBvcnRlZCBieQogICAgICAgICAgICAgICBfCHNfCHRfCGFfCHQoMikgaXMgYXBwZW5kZWQgdG8gdGhlIGZpbGVuYW1lIHdoZW4gbGlzdGluZyAgcG9zc2libGUgIGNvbS0KQEAgLTMxNTcsNyArMzIxNCwxMSBAQAogICAgICAgICAgICAgICBtb3ZlcyAgXwhuICBwb3NpdGlvbnMgIGZvcndhcmQgIGluIHRoZSBsaXN0IG9mIG1hdGNoZXM7IGEgbmVnYXRpdmUKICAgICAgICAgICAgICAgYXJndW1lbnQgbWF5IGJlIHVzZWQgdG8gbW92ZSBiYWNrd2FyZCB0aHJvdWdoICB0aGUgIGxpc3QuICAgVGhpcwogICAgICAgICAgICAgICBjb21tYW5kICBpcyAgaW50ZW5kZWQgIHRvICBiZSAgYm91bmQgIHRvICBUCFRBCEFCCEIsIGJ1dCBpcyB1bmJvdW5kIGJ5Ci0gICAgICAgICAgICAgIGRlZmF1bHQuCisgICAgICAgICAgICAgIGRlZmF1bHQuCGMIYworICAgICAgIG0IbWUIZW4IbnUIdS0ILWMIY28Ib20IbXAIcGwIbGUIZXQIdGUIZS0ILWsIa3IIcmQIZAorICAgICAgICAgICAgICBJZGVudGljdwh3CGFsIHRvIG0IbWUIZW4IbnUIdS0ILWMIY28Ib20IbXAIcGwIbGUIZXQIdGUIZSwgYnV0IG1vdmVzIGJhY2t3YXJkIHRocm91Z2ggdGhlICBsaXN0CisgICAgICAgICAgICAgIG9mICBwb3NzaWJsZSAgY29tcGxldGlvbnMsICBhcyBpZiBtCG1lCGVuCG51CHUtCC1jCGNvCG9tCG1wCHBsCGxlCGV0CHRlCGUgaGFkIGJlZW4gZ2l2ZW4gYQorICAgICAgICAgICAgICBuZWdhdGl2ZSBhcmd1bWVudC4gIFRoaXMgY29tbWFuZCBpcyB1bmJvdW5kIGJ5IGRlZmF1bHQuCiAgICAgICAgZAhkZQhlbAhsZQhldAh0ZQhlLQgtYwhjaAhoYQhhcghyLQgtbwhvcghyLQgtbAhsaQhpcwhzdAh0CiAgICAgICAgICAgICAgIERlbGV0ZXMgdGhlIGNoYXJhY3RlciB1bmRlciB0aGUgY3Vyc29yIGlmIG5vdCBhdCAgdGhlICBiZWdpbm5pbmcKICAgICAgICAgICAgICAgb3IgIGVuZCAgb2YgIHRoZSAgbGluZSAobGlrZSBkCGRlCGVsCGxlCGV0CHRlCGUtCC1jCGNoCGhhCGFyCHIpLiAgSWYgYXQgdGhlIGVuZCBvZiB0aGUKQEAgLTMyNTMsNiArMzMxNCwxNCBAQAogICAgICAgICAgICAgICBBIGNoYXJhY3RlciBpcyByZWFkIGFuZCBwb2ludCBpcyBtb3ZlZCB0byAgdGhlICBwcmV2aW91cyAgb2NjdXItCiAgICAgICAgICAgICAgIHJlbmNlICBvZiAgdGhhdCBjaGFyYWN0ZXIuICBBIG5lZ2F0aXZlIGNvdW50IHNlYXJjaGVzIGZvciBzdWJzZS0KICAgICAgICAgICAgICAgcXVlbnQgb2NjdXJyZW5jZXMuCisgICAgICAgcwhzawhraQhpcAhwLQgtYwhjcwhzaQhpLQgtcwhzZQhlcQhxdQh1ZQhlbghuYwhjZQhlICgIKCkIKQorICAgICAgICAgICAgICBSZWFkIGVub3VnaCBjaGFyYWN0ZXJzIHRvIGNvbnN1bWUgYSBtdWx0aS1rZXkgc2VxdWVuY2UgIHN1Y2ggIGFzCisgICAgICAgICAgICAgIHRob3NlICBkZWZpbmVkIGZvciBrZXlzIGxpa2UgSG9tZSBhbmQgRW5kLiAgU3VjaCBzZXF1ZW5jZXMgYmVnaW4KKyAgICAgICAgICAgICAgd2l0aCBhIENvbnRyb2wgU2VxdWVuY2UgSW5kaWNhdG9yIChDU0kpLCB1c3VhbGx5IEVTQy1bLiAgSWYgdGhpcworICAgICAgICAgICAgICBzZXF1ZW5jZSAgaXMgIGJvdW5kICB0byAiXFsiLCBrZXlzIHByb2R1Y2luZyBzdWNoIHNlcXVlbmNlcyB3aWxsCisgICAgICAgICAgICAgIGhhdmUgbm8gZWZmZWN0IHVubGVzcyBleHBsaWNpdGx5IGJvdW5kIHRvICBhICByZWFkbGluZSAgY29tbWFuZCwKKyAgICAgICAgICAgICAgaW5zdGVhZCAgb2YgIGluc2VydGluZyBzdHJheSBjaGFyYWN0ZXJzIGludG8gdGhlIGVkaXRpbmcgYnVmZmVyLgorICAgICAgICAgICAgICBUaGlzIGlzIHVuYm91bmQgYnkgZGVmYXVsdCwgYnV0IHVzdWFsbHkgYm91bmQgdG8gRVNDLVsuCiAgICAgICAgaQhpbghucwhzZQhlcghydAh0LQgtYwhjbwhvbQhtbQhtZQhlbghudAh0ICgIKE0ITS0ILSMIIykIKQogICAgICAgICAgICAgICBXaXRob3V0IGEgbnVtZXJpYyBhcmd1bWVudCwgIHRoZSAgdmFsdWUgIG9mICB0aGUgIHJlYWRsaW5lICBjCGNvCG9tCG0tCC0KICAgICAgICAgICAgICAgbQhtZQhlbghudAh0LQgtYghiZQhlZwhnaQhpbghuICB2YXJpYWJsZSBpcyBpbnNlcnRlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBjdXJyZW50CkBAIC0zMzA0LDEyICszMzczLDE2IEBACiAgICAgICAgdGhlICBjCGNvCG9tCG1wCHBsCGxlCGV0CHRlCGUgIGJ1aWx0aW4gIChzZWUgIFMIU0gISEUIRUwITEwITCAgQghCVQhVSQhJTAhMVAhUSQhJTghOICBDCENPCE9NCE1NCE1BCEFOCE5ECERTCFMgYmVsb3cpLCB0aGUgcHJvLQogICAgICAgIGdyYW1tYWJsZSBjb21wbGV0aW9uIGZhY2lsaXRpZXMgYXJlIGludm9rZWQuCiAKLSAgICAgICBGaXJzdCwgdGhlIGNvbW1hbmQgbmFtZSBpcyBpZGVudGlmaWVkLiAgSWYgYSBjb21wc3BlYyBoYXMgYmVlbiAgZGVmaW5lZAotICAgICAgIGZvciB0aGF0IGNvbW1hbmQsIHRoZSBjb21wc3BlYyBpcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSBsaXN0IG9mIHBvc3NpYmxlCi0gICAgICAgY29tcGxldGlvbnMgZm9yIHRoZSB3b3JkLiAgSWYgdGhlIGNvbW1hbmQgd29yZCBpcyBhICBmdWxsICBwYXRobmFtZSwgIGEKLSAgICAgICBjb21wc3BlYyAgZm9yICB0aGUgZnVsbCBwYXRobmFtZSBpcyBzZWFyY2hlZCBmb3IgZmlyc3QuICBJZiBubyBjb21wc3BlYwotICAgICAgIGlzIGZvdW5kIGZvciB0aGUgZnVsbCBwYXRobmFtZSwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGZpbmQgIGEgIGNvbXBzcGVjCi0gICAgICAgZm9yIHRoZSBwb3J0aW9uIGZvbGxvd2luZyB0aGUgZmluYWwgc2xhc2guCisgICAgICAgRmlyc3QsIHRoZSBjb21tYW5kIG5hbWUgaXMgaWRlbnRpZmllZC4gIElmICB0aGUgIGNvbW1hbmQgIHdvcmQgIGlzICB0aGUKKyAgICAgICBlbXB0eSAgc3RyaW5nIChjb21wbGV0aW9uIGF0dGVtcHRlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIGFuIGVtcHR5IGxpbmUpLAorICAgICAgIGFueSBjb21wc3BlYyBkZWZpbmVkIHdpdGggdGhlIC0ILUUIRSBvcHRpb24gdG8gIGMIY28Ib20IbXAIcGwIbGUIZXQIdGUIZSAgaXMgIHVzZWQuICAgSWYgIGEKKyAgICAgICBjb21wc3BlYyAgaGFzICBiZWVuICBkZWZpbmVkICBmb3IgdGhhdCBjb21tYW5kLCB0aGUgY29tcHNwZWMgaXMgdXNlZCB0bworICAgICAgIGdlbmVyYXRlIHRoZSBsaXN0IG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zIGZvciB0aGUgd29yZC4gIElmIHRoZSBjb21tYW5kCisgICAgICAgd29yZCAgaXMgIGEgZnVsbCBwYXRobmFtZSwgYSBjb21wc3BlYyBmb3IgdGhlIGZ1bGwgcGF0aG5hbWUgaXMgc2VhcmNoZWQKKyAgICAgICBmb3IgZmlyc3QuICBJZiBubyBjb21wc3BlYyBpcyBmb3VuZCBmb3IgdGhlIGZ1bGwgcGF0aG5hbWUsICBhbiAgYXR0ZW1wdAorICAgICAgIGlzICBtYWRlICB0byBmaW5kIGEgY29tcHNwZWMgZm9yIHRoZSBwb3J0aW9uIGZvbGxvd2luZyB0aGUgZmluYWwgc2xhc2guCisgICAgICAgSWYgdGhvc2Ugc2VhcmNoZXMgdG8gbm90IHJlc3VsdCBpbiBhICBjb21wc3BlYywgIGFueSAgY29tcHNwZWMgIGRlZmluZWQKKyAgICAgICB3aXRoIHRoZSAtCC1ECEQgb3B0aW9uIHRvIGMIY28Ib20IbXAIcGwIbGUIZXQIdGUIZSBpcyB1c2VkIGFzIHRoZSBkZWZhdWx0LgogCiAgICAgICAgT25jZSAgYSAgY29tcHNwZWMgIGhhcyAgYmVlbiAgZm91bmQsIGl0IGlzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIGxpc3Qgb2YKICAgICAgICBtYXRjaGluZyB3b3Jkcy4gIElmIGEgY29tcHNwZWMgaXMgbm90IGZvdW5kLCB0aGUgZGVmYXVsdCAgYghiYQhhcwhzaAhoICBjb21wbGUtCkBAIC0zMzIwLDcgKzMzOTMsNyBAQAogICAgICAgIC0ILWYIZiAgb3IgLQgtZAhkIG9wdGlvbiBpcyB1c2VkIGZvciBmaWxlbmFtZSBvciBkaXJlY3RvcnkgbmFtZSBjb21wbGV0aW9uLCB0aGUKICAgICAgICBzaGVsbCB2YXJpYWJsZSBGCEZJCElHCEdOCE5PCE9SCFJFCEUgaXMgdXNlZCB0byBmaWx0ZXIgdGhlIG1hdGNoZXMuCiAKLSAgICAgICBBbnkgY29tcGxldGlvbnMgc3BlY2lmaWVkIGJ5IGEgZmlsZW5hbWUgZXhwYW5zaW9uICBwYXR0ZXJuICB0byAgdGhlICAtCC1HCEcKKyAgICAgICBBbnkgY29tcGxldGlvbnMgc3BlY2lmaWVkIGJ5IGEgcGF0aG5hbWUgZXhwYW5zaW9uICBwYXR0ZXJuICB0byAgdGhlICAtCC1HCEcKICAgICAgICBvcHRpb24gYXJlIGdlbmVyYXRlZCBuZXh0LiAgVGhlIHdvcmRzIGdlbmVyYXRlZCBieSB0aGUgcGF0dGVybiBuZWVkIG5vdAogICAgICAgIG1hdGNoIHRoZSB3b3JkIGJlaW5nIGNvbXBsZXRlZC4gIFRoZSBHCEdMCExPCE9CCEJJCElHCEdOCE5PCE9SCFJFCEUgc2hlbGwgdmFyaWFibGUgIGlzICBub3QKICAgICAgICB1c2VkIHRvIGZpbHRlciB0aGUgbWF0Y2hlcywgYnV0IHRoZSBGCEZJCElHCEdOCE5PCE9SCFJFCEUgdmFyaWFibGUgaXMgdXNlZC4KQEAgLTMzOTUsNiArMzQ2OCwyOSBAQAogICAgICAgIHRoZSB2YWx1ZSBvZiB0aGUgbQhtYQhhcghyawhrLQgtZAhkaQhpcghyZQhlYwhjdAh0bwhvcghyaQhpZQhlcwhzIHJlYWRsaW5lIHZhcmlhYmxlLCByZWdhcmRsZXNzIG9mICB0aGUKICAgICAgICBzZXR0aW5nIG9mIHRoZSBtCG1hCGFyCHJrCGstCC1zCHN5CHltCG1sCGxpCGluCG5rCGtlCGVkCGQtCC1kCGRpCGlyCHJlCGVjCGN0CHRvCG9yCHJpCGllCGVzCHMgcmVhZGxpbmUgdmFyaWFibGUuCiAKKyAgICAgICBUaGVyZSAgaXMgIHNvbWUgc3VwcG9ydCBmb3IgZHluYW1pY2FsbHkgbW9kaWZ5aW5nIGNvbXBsZXRpb25zLiAgVGhpcyBpcworICAgICAgIG1vc3QgdXNlZnVsIHdoZW4gdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIGEgZGVmYXVsdCAgY29tcGxldGlvbiAgc3BlY2ktCisgICAgICAgZmllZCAgd2l0aCAgYwhjbwhvbQhtcAhwbAhsZQhldAh0ZQhlIC0ILUQIRC4gIEl0J3MgcG9zc2libGUgZm9yIHNoZWxsIGZ1bmN0aW9ucyBleGVjdXRlZCBhcworICAgICAgIGNvbXBsZXRpb24gaGFuZGxlcnMgdG8gaW5kaWNhdGUgdGhhdCBjb21wbGV0aW9uIHNob3VsZCAgYmUgIHJldHJpZWQgIGJ5CisgICAgICAgcmV0dXJuaW5nICBhbiBleGl0IHN0YXR1cyBvZiAxMjQuICBJZiBhIHNoZWxsIGZ1bmN0aW9uIHJldHVybnMgMTI0LCBhbmQKKyAgICAgICBjaGFuZ2VzIHRoZSBjb21wc3BlYyBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbW1hbmQgb24gd2hpY2ggY29tcGxldGlvbiBpcworICAgICAgIGJlaW5nICBhdHRlbXB0ZWQgIChzdXBwbGllZCAgYXMgdGhlIGZpcnN0IGFyZ3VtZW50IHdoZW4gdGhlIGZ1bmN0aW9uIGlzCisgICAgICAgZXhlY3V0ZWQpLCBwcm9ncmFtbWFibGUgY29tcGxldGlvbiByZXN0YXJ0cyBmcm9tIHRoZSBiZWdpbm5pbmcsIHdpdGggYW4KKyAgICAgICBhdHRlbXB0IHRvIGZpbmQgYSBjb21wc3BlYyBmb3IgdGhhdCBjb21tYW5kLiAgVGhpcyBhbGxvd3MgYSBzZXQgb2YgY29tLQorICAgICAgIHBsZXRpb25zIHRvIGJlIGJ1aWx0IGR5bmFtaWNhbGx5IGFzICBjb21wbGV0aW9uICBpcyAgYXR0ZW1wdGVkLCAgcmF0aGVyCisgICAgICAgdGhhbiBiZWluZyBsb2FkZWQgYWxsIGF0IG9uY2UuCisKKyAgICAgICBGb3IgIGluc3RhbmNlLCBhc3N1bWluZyB0aGF0IHRoZXJlIGlzIGEgbGlicmFyeSBvZiBjb21wc3BlY3MsIGVhY2gga2VwdAorICAgICAgIGluIGEgZmlsZSBjb3JyZXNwb25kaW5nIHRvIHRoZSAgbmFtZSAgb2YgIHRoZSAgY29tbWFuZCwgIHRoZSAgZm9sbG93aW5nCisgICAgICAgZGVmYXVsdCBjb21wbGV0aW9uIGZ1bmN0aW9uIHdvdWxkIGxvYWQgY29tcGxldGlvbnMgZHluYW1pY2FsbHk6CisKKyAgICAgICBfY29tcGxldGlvbl9sb2FkZXIoKQorICAgICAgIHsKKyAgICAgICAgICAgIC4gIi9ldGMvYmFzaF9jb21wbGV0aW9uLmQvJDEuc2giID4vZGV2L251bGwgMj4mMSAmJiByZXR1cm4gMTI0CisgICAgICAgfQorICAgICAgIGNvbXBsZXRlIC1EIC1GIF9jb21wbGV0aW9uX2xvYWRlcgorCisKIEgISEkISVMIU1QIVE8IT1IIUlkIWQogICAgICAgIFdoZW4gIHRoZSAgLQgtbwhvICBoCGhpCGlzCHN0CHRvCG9yCHJ5CHkgIG9wdGlvbiB0byB0aGUgcwhzZQhldAh0IGJ1aWx0aW4gaXMgZW5hYmxlZCwgdGhlIHNoZWxsCiAgICAgICAgcHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgXwhoXwhpXwhzXwh0XwhvXwhyXwh5LCB0aGUgbGlzdCBvZiBjb21tYW5kcyBwcmV2aW91c2x5CkBAIC0zNDE4LDEzICszNTE0LDEzIEBACiAgICAgICAgdGhlIGRlc2NyaXB0aW9uIG9mIHMIc2gIaG8Ib3AIcHQIdCB1bmRlciBTCFNICEhFCEVMCExMCEwgQghCVQhVSQhJTAhMVAhUSQhJTghOIEMIQ08IT00ITU0ITUEIQU4ITkQIRFMIUyBiZWxvdyksIHRoZSBsaW5lcwogICAgICAgIGFyZSAgYXBwZW5kZWQgIHRvIHRoZSBoaXN0b3J5IGZpbGUsIG90aGVyd2lzZSB0aGUgaGlzdG9yeSBmaWxlIGlzIG92ZXItCiAgICAgICAgd3JpdHRlbi4gIElmIEgISEkISVMIU1QIVEYIRkkISUwITEUIRSBpcyB1bnNldCwgb3IgaWYgdGhlIGhpc3RvcnkgZmlsZSAgaXMgIHVud3JpdGFibGUsCi0gICAgICAgdGhlICBoaXN0b3J5ICBpcyAgbm90ICBzYXZlZC4gICBJZiB0aGUgdmFyaWFibGUgaXMgc2V0LCB0aW1lIHN0YW1wcyBhcmUKLSAgICAgICB3cml0dGVuIHRvIHRoZSBoaXN0b3J5IGZpbGUsIG1hcmtlZCB3aXRoIHRoZSBoaXN0b3J5IGNvbW1lbnQgY2hhcmFjdGVyLAotICAgICAgIHNvICB0aGV5IG1heSBiZSBwcmVzZXJ2ZWQgYWNyb3NzIHNoZWxsIHNlc3Npb25zLiAgVGhpcyB1c2VzIHRoZSBoaXN0b3J5Ci0gICAgICAgY29tbWVudCBjaGFyYWN0ZXIgdG8gZGlzdGluZ3Vpc2ggdGltZXN0YW1wcyBmcm9tIG90aGVyICBoaXN0b3J5ICBsaW5lcy4KLSAgICAgICBBZnRlciAgc2F2aW5nICB0aGUgaGlzdG9yeSwgdGhlIGhpc3RvcnkgZmlsZSBpcyB0cnVuY2F0ZWQgdG8gY29udGFpbiBubwotICAgICAgIG1vcmUgdGhhbiBICEhJCElTCFNUCFRGCEZJCElMCExFCEVTCFNJCElaCFpFCEUgbGluZXMuICBJZiBICEhJCElTCFNUCFRGCEZJCElMCExFCEVTCFNJCElaCFpFCEUgaXMgbm90IHNldCwgIG5vICB0cnVuY2EtCi0gICAgICAgdGlvbiBpcyBwZXJmb3JtZWQuCisgICAgICAgdGhlICBoaXN0b3J5IGlzIG5vdCBzYXZlZC4gIElmIHRoZSBICEhJCElTCFNUCFRUCFRJCElNCE1FCEVGCEZPCE9SCFJNCE1BCEFUCFQgdmFyaWFibGUgaXMgc2V0LCB0aW1lCisgICAgICAgc3RhbXBzIGFyZSB3cml0dGVuIHRvIHRoZSBoaXN0b3J5IGZpbGUsIG1hcmtlZCB3aXRoIHRoZSBoaXN0b3J5IGNvbW1lbnQKKyAgICAgICBjaGFyYWN0ZXIsICBzbyAgdGhleSBtYXkgYmUgcHJlc2VydmVkIGFjcm9zcyBzaGVsbCBzZXNzaW9ucy4gIFRoaXMgdXNlcworICAgICAgIHRoZSBoaXN0b3J5IGNvbW1lbnQgY2hhcmFjdGVyIHRvIGRpc3Rpbmd1aXNoIHRpbWVzdGFtcHMgZnJvbSBvdGhlciBoaXMtCisgICAgICAgdG9yeSBsaW5lcy4gIEFmdGVyIHNhdmluZyB0aGUgaGlzdG9yeSwgdGhlIGhpc3RvcnkgZmlsZSBpcyB0cnVuY2F0ZWQgdG8KKyAgICAgICBjb250YWluIG5vIG1vcmUgdGhhbiBICEhJCElTCFNUCFRGCEZJCElMCExFCEVTCFNJCElaCFpFCEUgbGluZXMuICBJZiBICEhJCElTCFNUCFRGCEZJCElMCExFCEVTCFNJCElaCFpFCEUgaXMgIG5vdCAgc2V0LAorICAgICAgIG5vIHRydW5jYXRpb24gaXMgcGVyZm9ybWVkLgogCiAgICAgICAgVGhlICBidWlsdGluICBjb21tYW5kIGYIZmMIYyAoc2VlIFMIU0gISEUIRUwITEwITCBCCEJVCFVJCElMCExUCFRJCElOCE4gQwhDTwhPTQhNTQhNQQhBTghORAhEUwhTIGJlbG93KSBtYXkgYmUgdXNlZAogICAgICAgIHRvIGxpc3Qgb3IgZWRpdCBhbmQgcmUtZXhlY3V0ZSBhIHBvcnRpb24gb2YgdGhlIGhpc3RvcnkgbGlzdC4gIFRoZSBoCGhpCGlzCHMtCC0KQEAgLTM0NzgsMTcgKzM1NzQsMTcgQEAKIAogICAgICAgIFNldmVyYWwgc2hlbGwgb3B0aW9ucyBzZXR0YWJsZSB3aXRoIHRoZSBzCHNoCGhvCG9wCHB0CHQgYnVpbHRpbiBtYXkgIGJlICB1c2VkICB0bwogICAgICAgIHRhaWxvciAgdGhlICBiZWhhdmlvciAgb2YgIGhpc3RvcnkgIGV4cGFuc2lvbi4gIElmIHRoZSBoCGhpCGlzCHN0CHR2CHZlCGVyCHJpCGlmCGZ5CHkgc2hlbGwKLSAgICAgICBvcHRpb24gaXMgZW5hYmxlZCAoc2VlIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcwhzaAhobwhvcAhwdAh0IGJ1aWx0aW4pLCBhbmQgcghyZQhlYQhhZAhkLQgtCi0gICAgICAgbAhsaQhpbghuZQhlIGlzIGJlaW5nIHVzZWQsIGhpc3Rvcnkgc3Vic3RpdHV0aW9ucyBhcmUgbm90IGltbWVkaWF0ZWx5IHBhc3NlZCB0bwotICAgICAgIHRoZSBzaGVsbCBwYXJzZXIuICBJbnN0ZWFkLCB0aGUgZXhwYW5kZWQgIGxpbmUgIGlzICByZWxvYWRlZCAgaW50byAgdGhlCi0gICAgICAgcghyZQhlYQhhZAhkbAhsaQhpbghuZQhlIGVkaXRpbmcgYnVmZmVyIGZvciBmdXJ0aGVyIG1vZGlmaWNhdGlvbi4gIElmIHIIcmUIZWEIYWQIZGwIbGkIaW4IbmUIZSBpcyBiZWluZwotICAgICAgIHVzZWQsIGFuZCB0aGUgaAhoaQhpcwhzdAh0cghyZQhlZQhlZAhkaQhpdAh0IHNoZWxsIG9wdGlvbiBpcyBlbmFibGVkLCBhIGZhaWxlZCBoaXN0b3J5IHN1Yi0KLSAgICAgICBzdGl0dXRpb24gd2lsbCBiZSByZWxvYWRlZCBpbnRvIHRoZSByCHJlCGVhCGFkCGRsCGxpCGluCG5lCGUgZWRpdGluZyBidWZmZXIgZm9yIGNvcnJlYy0KLSAgICAgICB0aW9uLiAgVGhlIC0ILXAIcCBvcHRpb24gdG8gdGhlIGgIaGkIaXMIc3QIdG8Ib3IIcnkIeSBidWlsdGluIGNvbW1hbmQgbWF5IGJlIHVzZWQgdG8gIHNlZQotICAgICAgIHdoYXQgYSBoaXN0b3J5IGV4cGFuc2lvbiB3aWxsIGRvIGJlZm9yZSB1c2luZyBpdC4gIFRoZSAtCC1zCHMgb3B0aW9uIHRvIHRoZQotICAgICAgIGgIaGkIaXMIc3QIdG8Ib3IIcnkIeSBidWlsdGluIG1heSBiZSB1c2VkIHRvIGFkZCBjb21tYW5kcyB0byB0aGUgZW5kIG9mICB0aGUgIGhpc3RvcnkKLSAgICAgICBsaXN0ICB3aXRob3V0ICBhY3R1YWxseSAgZXhlY3V0aW5nIHRoZW0sIHNvIHRoYXQgdGhleSBhcmUgYXZhaWxhYmxlIGZvcgotICAgICAgIHN1YnNlcXVlbnQgcmVjYWxsLgorICAgICAgIG9wdGlvbiBpcyBlbmFibGVkIChzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBzCHNoCGhvCG9wCHB0CHQgYnVpbHRpbiBiZWxvdyksIGFuZAorICAgICAgIHIIcmUIZWEIYWQIZGwIbGkIaW4IbmUIZSAgaXMgIGJlaW5nICB1c2VkLCAgaGlzdG9yeSAgc3Vic3RpdHV0aW9ucyAgYXJlIG5vdCBpbW1lZGlhdGVseQorICAgICAgIHBhc3NlZCB0byB0aGUgc2hlbGwgcGFyc2VyLiAgSW5zdGVhZCwgdGhlICBleHBhbmRlZCAgbGluZSAgaXMgIHJlbG9hZGVkCisgICAgICAgaW50byB0aGUgcghyZQhlYQhhZAhkbAhsaQhpbghuZQhlIGVkaXRpbmcgYnVmZmVyIGZvciBmdXJ0aGVyIG1vZGlmaWNhdGlvbi4gIElmIHIIcmUIZWEIYWQIZGwIbGkIaW4IbmUIZQorICAgICAgIGlzIGJlaW5nIHVzZWQsIGFuZCB0aGUgaAhoaQhpcwhzdAh0cghyZQhlZQhlZAhkaQhpdAh0IHNoZWxsIG9wdGlvbiAgaXMgIGVuYWJsZWQsICBhICBmYWlsZWQKKyAgICAgICBoaXN0b3J5ICBzdWJzdGl0dXRpb24gd2lsbCBiZSByZWxvYWRlZCBpbnRvIHRoZSByCHJlCGVhCGFkCGRsCGxpCGluCG5lCGUgZWRpdGluZyBidWZmZXIKKyAgICAgICBmb3IgY29ycmVjdGlvbi4gIFRoZSAtCC1wCHAgb3B0aW9uIHRvIHRoZSBoCGhpCGlzCHN0CHRvCG9yCHJ5CHkgYnVpbHRpbiAgY29tbWFuZCAgbWF5ICBiZQorICAgICAgIHVzZWQgIHRvICBzZWUgd2hhdCBhIGhpc3RvcnkgZXhwYW5zaW9uIHdpbGwgZG8gYmVmb3JlIHVzaW5nIGl0LiAgVGhlIC0ILXMIcworICAgICAgIG9wdGlvbiB0byB0aGUgaAhoaQhpcwhzdAh0bwhvcghyeQh5IGJ1aWx0aW4gbWF5IGJlIHVzZWQgdG8gYWRkIGNvbW1hbmRzIHRvIHRoZSBlbmQgb2YKKyAgICAgICB0aGUgIGhpc3RvcnkgIGxpc3QgIHdpdGhvdXQgIGFjdHVhbGx5ICBleGVjdXRpbmcgdGhlbSwgc28gdGhhdCB0aGV5IGFyZQorICAgICAgIGF2YWlsYWJsZSBmb3Igc3Vic2VxdWVudCByZWNhbGwuCiAKICAgICAgICBUaGUgc2hlbGwgYWxsb3dzIGNvbnRyb2wgb2YgdGhlIHZhcmlvdXMgY2hhcmFjdGVycyB1c2VkIGJ5IHRoZSAgaGlzdG9yeQogICAgICAgIGV4cGFuc2lvbiBtZWNoYW5pc20gKHNlZSB0aGUgZGVzY3JpcHRpb24gb2YgaAhoaQhpcwhzdAh0YwhjaAhoYQhhcghycwhzIGFib3ZlIHVuZGVyIFMIU2gIaGUIZWwIbGwIbApAQCAtMzU3NCw4ICszNjcwLDEyIEBACiBTCFNICEhFCEVMCExMCEwgQghCVQhVSQhJTAhMVAhUSQhJTghOIEMIQ08IT00ITU0ITUEIQU4ITkQIRFMIUwogICAgICAgIFVubGVzcyBvdGhlcndpc2Ugbm90ZWQsIGVhY2ggYnVpbHRpbiBjb21tYW5kIGRvY3VtZW50ZWQgaW4gdGhpcyBzZWN0aW9uCiAgICAgICAgYXMgYWNjZXB0aW5nIG9wdGlvbnMgcHJlY2VkZWQgYnkgLQgtIGFjY2VwdHMgLQgtLQgtIHRvIHNpZ25pZnkgdGhlIGVuZCBvZiB0aGUKLSAgICAgICBvcHRpb25zLiAgIEZvciAgZXhhbXBsZSwgIHRoZSAgOgg6LCB0CHRyCHJ1CHVlCGUsIGYIZmEIYWwIbHMIc2UIZSwgYW5kIHQIdGUIZXMIc3QIdCBidWlsdGlucyBkbyBub3QKLSAgICAgICBhY2NlcHQgb3B0aW9ucy4KKyAgICAgICBvcHRpb25zLiAgIFRoZSAgOgg6LCB0CHRyCHJ1CHVlCGUsIGYIZmEIYWwIbHMIc2UIZSwgYW5kIHQIdGUIZXMIc3QIdCBidWlsdGlucyBkbyBub3QgYWNjZXB0IG9wdGlvbnMKKyAgICAgICBhbmQgZG8gbm90IHRyZWF0IC0ILS0ILSBzcGVjaWFsbHkuICBUaGUgZQhleAh4aQhpdAh0LCBsCGxvCG9nCGdvCG91CHV0CHQsIGIIYnIIcmUIZWEIYWsIaywgYwhjbwhvbghudAh0aQhpbghudQh1ZQhlLCBsCGxlCGV0CHQsCisgICAgICAgYW5kICBzCHNoCGhpCGlmCGZ0CHQgYnVpbHRpbnMgYWNjZXB0IGFuZCBwcm9jZXNzIGFyZ3VtZW50cyBiZWdpbm5pbmcgd2l0aCAtCC0gd2l0aC0KKyAgICAgICBvdXQgcmVxdWlyaW5nIC0ILS0ILS4gIE90aGVyIGJ1aWx0aW5zIHRoYXQgYWNjZXB0ICBhcmd1bWVudHMgIGJ1dCAgYXJlICBub3QKKyAgICAgICBzcGVjaWZpZWQgIGFzIGFjY2VwdGluZyBvcHRpb25zIGludGVycHJldCBhcmd1bWVudHMgYmVnaW5uaW5nIHdpdGggLQgtIGFzCisgICAgICAgaW52YWxpZCBvcHRpb25zIGFuZCByZXF1aXJlIC0ILS0ILSB0byBwcmV2ZW50IHRoaXMgaW50ZXJwcmV0YXRpb24uCiAgICAgICAgOgg6IFtfCGFfCHJfCGdfCHVfCG1fCGVfCG5fCHRfCHNdCiAgICAgICAgICAgICAgIE5vIGVmZmVjdDsgdGhlIGNvbW1hbmQgZG9lcyBub3RoaW5nIGJleW9uZCAgZXhwYW5kaW5nICBfCGFfCHJfCGdfCHVfCG1fCGVfCG5fCHRfCHMKICAgICAgICAgICAgICAgYW5kICBwZXJmb3JtaW5nIGFueSBzcGVjaWZpZWQgcmVkaXJlY3Rpb25zLiAgQSB6ZXJvIGV4aXQgY29kZSBpcwpAQCAtMzc0NCwxOCArMzg0NCwyMiBAQAogICAgICAgICAgICAgICBUaGUgIHJldHVybiAgdmFsdWUgaXMgdHJ1ZSB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQsCiAgICAgICAgICAgICAgIG9yIG5vIG1hdGNoZXMgd2VyZSBnZW5lcmF0ZWQuCiAKLSAgICAgICBjCGNvCG9tCG1wCHBsCGxlCGV0CHRlCGUgWy0ILWEIYWIIYmMIY2QIZGUIZWYIZmcIZ2oIamsIa3MIc3UIdXYIdl0gWy0ILW8IbyBfCGNfCG9fCG1fCHBfCC1fCG9fCHBfCHRfCGlfCG9fCG5dIFstCC1FCEVdIFstCC1BCEEgXwhhXwhjXwh0XwhpXwhvXwhuXSBbLQgtRwhHIF8IZ18IbF8Ib18IYl8IcF8IYV8IdF0KLSAgICAgICBbLQgtVwhXIF8Id18Ib18Icl8IZF8IbF8IaV8Ic18IdF0gWy0ILUYIRiBfCGZfCHVfCG5fCGNfCHRfCGlfCG9fCG5dIFstCC1DCEMgXwhjXwhvXwhtXwhtXwhhXwhuXwhkXQorICAgICAgIGMIY28Ib20IbXAIcGwIbGUIZXQIdGUIZSBbLQgtYQhhYghiYwhjZAhkZQhlZghmZwhnaghqawhrcwhzdQh1dgh2XSBbLQgtbwhvIF8IY18Ib18IbV8IcF8ILV8Ib18IcF8IdF8IaV8Ib18Ibl0gWy0ILUQIREUIRV0gWy0ILUEIQSBfCGFfCGNfCHRfCGlfCG9fCG5dICBbLQgtRwhHICBfCGdfCGxfCG9fCGJfCC0KKyAgICAgICBfCHBfCGFfCHRdIFstCC1XCFcgXwh3XwhvXwhyXwhkXwhsXwhpXwhzXwh0XSBbLQgtRghGIF8IZl8IdV8Ibl8IY18IdF8IaV8Ib18Ibl0gWy0ILUMIQyBfCGNfCG9fCG1fCG1fCGFfCG5fCGRdCiAgICAgICAgICAgICAgIFstCC1YCFggXwhmXwhpXwhsXwh0XwhlXwhyXwhwXwhhXwh0XSBbLQgtUAhQIF8IcF8Icl8IZV8IZl8IaV8IeF0gWy0ILVMIUyBfCHNfCHVfCGZfCGZfCGlfCHhdIF8Ibl8IYV8IbV8IZSBbXwhuXwhhXwhtXwhlIF8ILl8ILl8ILl0KLSAgICAgICBjCGNvCG9tCG1wCHBsCGxlCGV0CHRlCGUgLQgtcAhwcghyIFstCC1FCEVdIFtfCG5fCGFfCG1fCGUgLi4uXQorICAgICAgIGMIY28Ib20IbXAIcGwIbGUIZXQIdGUIZSAtCC1wCHByCHIgWy0ILUQIREUIRV0gW18Ibl8IYV8IbV8IZSAuLi5dCiAgICAgICAgICAgICAgIFNwZWNpZnkgaG93IGFyZ3VtZW50cyB0byBlYWNoIF8Ibl8IYV8IbV8IZSBzaG91bGQgYmUgY29tcGxldGVkLiAgSWYgIHRoZQogICAgICAgICAgICAgICAtCC1wCHAgIG9wdGlvbiAgaXMgc3VwcGxpZWQsIG9yIGlmIG5vIG9wdGlvbnMgYXJlIHN1cHBsaWVkLCBleGlzdGluZwogICAgICAgICAgICAgICBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zIGFyZSBwcmludGVkIGluIGEgd2F5IHRoYXQgYWxsb3dzICB0aGVtCiAgICAgICAgICAgICAgIHRvIGJlIHJldXNlZCBhcyBpbnB1dC4gIFRoZSAtCC1yCHIgb3B0aW9uIHJlbW92ZXMgYSBjb21wbGV0aW9uIHNwZWMtCiAgICAgICAgICAgICAgIGlmaWNhdGlvbiBmb3IgZWFjaCBfCG5fCGFfCG1fCGUsIG9yLCBpZiBubyBfCG5fCGFfCG1fCGVzIGFyZSBzdXBwbGllZCwgYWxsICBjb20tCi0gICAgICAgICAgICAgIHBsZXRpb24gIHNwZWNpZmljYXRpb25zLiAgIFRoZSAgLQgtRQhFICBvcHRpb24gIGluZGljYXRlcyAgdGhhdCAgdGhlCi0gICAgICAgICAgICAgIHJlbWFpbmluZyBvcHRpb25zIGFuZCBhY3Rpb25zIHNob3VsZCBhcHBseSB0byBgYGVtcHR5JycgIGNvbW1hbmQKLSAgICAgICAgICAgICAgY29tcGxldGlvbjsgdGhhdCBpcywgY29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYSBibGFuayBsaW5lLgorICAgICAgICAgICAgICBwbGV0aW9uICBzcGVjaWZpY2F0aW9ucy4gICBUaGUgIC0ILUQIRCAgb3B0aW9uICBpbmRpY2F0ZXMgIHRoYXQgIHRoZQorICAgICAgICAgICAgICByZW1haW5pbmcgb3B0aW9ucyBhbmQgYWN0aW9ucyBzaG91bGQgYXBwbHkgIHRvICB0aGUgIGBgZGVmYXVsdCcnCisgICAgICAgICAgICAgIGNvbW1hbmQgIGNvbXBsZXRpb247ICB0aGF0IGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhIGNvbW1hbmQKKyAgICAgICAgICAgICAgZm9yIHdoaWNoIG5vIGNvbXBsZXRpb24gaGFzIHByZXZpb3VzbHkgIGJlZW4gIGRlZmluZWQuICAgVGhlICAtCC1FCEUKKyAgICAgICAgICAgICAgb3B0aW9uICBpbmRpY2F0ZXMgIHRoYXQgdGhlIHJlbWFpbmluZyBvcHRpb25zIGFuZCBhY3Rpb25zIHNob3VsZAorICAgICAgICAgICAgICBhcHBseSB0byAgYGBlbXB0eScnICBjb21tYW5kICBjb21wbGV0aW9uOyAgdGhhdCAgaXMsICBjb21wbGV0aW9uCisgICAgICAgICAgICAgIGF0dGVtcHRlZCBvbiBhIGJsYW5rIGxpbmUuCiAKICAgICAgICAgICAgICAgVGhlICBwcm9jZXNzICBvZiAgYXBwbHlpbmcgIHRoZXNlIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnMgd2hlbgogICAgICAgICAgICAgICB3b3JkIGNvbXBsZXRpb24gaXMgIGF0dGVtcHRlZCAgaXMgIGRlc2NyaWJlZCAgYWJvdmUgIHVuZGVyICBQCFByCHJvCG8tCC0KQEAgLTM4MzUsNyArMzkzOSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lcyBvZiBhbGwgc2hlbGwgdmFyaWFibGVzLiAgTWF5IGFsc28gYmUgc3BlYy0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmaWVkIGFzIC0ILXYIdi4KICAgICAgICAgICAgICAgLQgtRwhHIF8IZ18IbF8Ib18IYl8IcF8IYV8IdAotICAgICAgICAgICAgICAgICAgICAgIFRoZSBmaWxlbmFtZSBleHBhbnNpb24gcGF0dGVybiBfCGdfCGxfCG9fCGJfCHBfCGFfCHQgIGlzICBleHBhbmRlZCAgdG8KKyAgICAgICAgICAgICAgICAgICAgICBUaGUgcGF0aG5hbWUgZXhwYW5zaW9uIHBhdHRlcm4gXwhnXwhsXwhvXwhiXwhwXwhhXwh0ICBpcyAgZXhwYW5kZWQgIHRvCiAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zLgogICAgICAgICAgICAgICAtCC1XCFcgXwh3XwhvXwhyXwhkXwhsXwhpXwhzXwh0CiAgICAgICAgICAgICAgICAgICAgICAgVGhlICBfCHdfCG9fCHJfCGRfCGxfCGlfCHNfCHQgIGlzICBzcGxpdCB1c2luZyB0aGUgY2hhcmFjdGVycyBpbiB0aGUgSQhJRghGUwhTCkBAIC0zODUyLDcgKzM5NTYsNyBAQAogICAgICAgICAgICAgICAgICAgICAgIHBsZXRpb25zIGFyZSByZXRyaWV2ZWQgZnJvbSB0aGUgdmFsdWUgb2YgIHRoZSAgQwhDTwhPTQhNUAhQUghSRQhFUAhQTAhMWQhZCiAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkgdmFyaWFibGUuCiAgICAgICAgICAgICAgIC0ILVgIWCBfCGZfCGlfCGxfCHRfCGVfCHJfCHBfCGFfCHQKLSAgICAgICAgICAgICAgICAgICAgICBfCGZfCGlfCGxfCHRfCGVfCHJfCHBfCGFfCHQgIGlzICBhIHBhdHRlcm4gYXMgdXNlZCBmb3IgZmlsZW5hbWUgZXhwYW5zaW9uLgorICAgICAgICAgICAgICAgICAgICAgIF8IZl8IaV8IbF8IdF8IZV8Icl8IcF8IYV8IdCAgaXMgIGEgcGF0dGVybiBhcyB1c2VkIGZvciBwYXRobmFtZSBleHBhbnNpb24uCiAgICAgICAgICAgICAgICAgICAgICAgSXQgaXMgYXBwbGllZCB0byB0aGUgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucyBnZW5lci0KICAgICAgICAgICAgICAgICAgICAgICBhdGVkICBieSAgdGhlICBwcmVjZWRpbmcgb3B0aW9ucyBhbmQgYXJndW1lbnRzLCBhbmQgZWFjaAogICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRpb24gbWF0Y2hpbmcgXwhmXwhpXwhsXwh0XwhlXwhyXwhwXwhhXwh0IGlzIHJlbW92ZWQgZnJvbSB0aGUgIGxpc3QuCkBAIC0zODcxLDEyOSArMzk3NSwxMzQgQEAKICAgICAgICAgICAgICAgZm9yIGEgXwhuXwhhXwhtXwhlIGZvciB3aGljaCBubyBzcGVjaWZpY2F0aW9uIGV4aXN0cywgb3IgYW4gZXJyb3Igb2NjdXJzCiAgICAgICAgICAgICAgIGFkZGluZyBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbi4KIAotICAgICAgIGMIY28Ib20IbXAIcG8Ib3AIcHQIdCBbLQgtbwhvIF8Ib18IcF8IdF8IaV8Ib18Ibl0gWysIK28IbyBfCG9fCHBfCHRfCGlfCG9fCG5dIFtfCG5fCGFfCG1fCGVdCisgICAgICAgYwhjbwhvbQhtcAhwbwhvcAhwdAh0IFstCC1vCG8gXwhvXwhwXwh0XwhpXwhvXwhuXSBbLQgtRAhERQhFXSBbKwgrbwhvIF8Ib18IcF8IdF8IaV8Ib18Ibl0gW18Ibl8IYV8IbV8IZV0KICAgICAgICAgICAgICAgTW9kaWZ5ICBjb21wbGV0aW9uICBvcHRpb25zICBmb3IgIGVhY2ggIF8Ibl8IYV8IbV8IZSAgYWNjb3JkaW5nICB0byAgdGhlCiAgICAgICAgICAgICAgIF8Ib18IcF8IdF8IaV8Ib18IbnMsIG9yIGZvciB0aGUgY3VycmVudGx5LWV4ZWN1dGlvbiBjb21wbGV0aW9uIGlmICBubyAgXwhuXwhhXwhtXwhlcwogICAgICAgICAgICAgICBhcmUgIHN1cHBsaWVkLiAgIElmIG5vIF8Ib18IcF8IdF8IaV8Ib18IbnMgYXJlIGdpdmVuLCBkaXNwbGF5IHRoZSBjb21wbGV0aW9uCiAgICAgICAgICAgICAgIG9wdGlvbnMgZm9yIGVhY2ggXwhuXwhhXwhtXwhlIG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24uICAgVGhlICBwb3NzaWJsZQogICAgICAgICAgICAgICB2YWx1ZXMgIG9mICBfCG9fCHBfCHRfCGlfCG9fCG4gIGFyZSAgdGhvc2UgIHZhbGlkICBmb3IgIHRoZSBjCGNvCG9tCG1wCHBsCGxlCGV0CHRlCGUgYnVpbHRpbgotICAgICAgICAgICAgICBkZXNjcmliZWQgYWJvdmUuCisgICAgICAgICAgICAgIGRlc2NyaWJlZCBhYm92ZS4gIFRoZSAtCC1ECEQgb3B0aW9uICBpbmRpY2F0ZXMgIHRoYXQgIHRoZSAgcmVtYWluaW5nCisgICAgICAgICAgICAgIG9wdGlvbnMgc2hvdWxkIGFwcGx5IHRvIHRoZSBgYGRlZmF1bHQnJyBjb21tYW5kIGNvbXBsZXRpb247IHRoYXQKKyAgICAgICAgICAgICAgaXMsIGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgY29tbWFuZCBmb3IgIHdoaWNoICBubyAgY29tcGxldGlvbgorICAgICAgICAgICAgICBoYXMgIHByZXZpb3VzbHkgIGJlZW4gZGVmaW5lZC4gIFRoZSAtCC1FCEUgb3B0aW9uIGluZGljYXRlcyB0aGF0IHRoZQorICAgICAgICAgICAgICByZW1haW5pbmcgb3B0aW9ucyBzaG91bGQgYXBwbHkgdG8gYGBlbXB0eScnIGNvbW1hbmQgIGNvbXBsZXRpb247CisgICAgICAgICAgICAgIHRoYXQgaXMsIGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZS4KIAotICAgICAgIFRoZSByZXR1cm4gdmFsdWUgaXMgdHJ1ZSB1bmxlc3MgIGFuICBpbnZhbGlkICBvcHRpb24gIGlzICBzdXBwbGllZCwgIGFuCi0gICAgICAgYXR0ZW1wdCAgaXMgIG1hZGUgdG8gbW9kaWZ5IHRoZSBvcHRpb25zIGZvciBhIF8Ibl8IYV8IbV8IZSBmb3Igd2hpY2ggbm8gY29tcGxlLQorICAgICAgIFRoZSAgcmV0dXJuICB2YWx1ZSAgaXMgIHRydWUgIHVubGVzcyAgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuCisgICAgICAgYXR0ZW1wdCBpcyBtYWRlIHRvIG1vZGlmeSB0aGUgb3B0aW9ucyBmb3IgYSBfCG5fCGFfCG1fCGUgZm9yIHdoaWNoICBubyAgY29tcGxlLQogICAgICAgIHRpb24gc3BlY2lmaWNhdGlvbiBleGlzdHMsIG9yIGFuIG91dHB1dCBlcnJvciBvY2N1cnMuCiAKICAgICAgICBjCGNvCG9uCG50CHRpCGluCG51CHVlCGUgW18Ibl0KICAgICAgICAgICAgICAgUmVzdW1lIHRoZSBuZXh0IGl0ZXJhdGlvbiBvZiB0aGUgZW5jbG9zaW5nIGYIZm8Ib3IIciwgdwh3aAhoaQhpbAhsZQhlLCB1CHVuCG50CHRpCGlsCGwsIG9yCi0gICAgICAgICAgICAgIHMIc2UIZWwIbGUIZWMIY3QIdCAgbG9vcC4gICBJZiAgXwhuICBpcyBzcGVjaWZpZWQsIHJlc3VtZSBhdCB0aGUgXwhudGggZW5jbG9zaW5nCi0gICAgICAgICAgICAgIGxvb3AuICBfCG4gbXVzdCBiZSA+PSAxLiAgSWYgXwhuICBpcyAgZ3JlYXRlciAgdGhhbiAgdGhlICBudW1iZXIgIG9mCi0gICAgICAgICAgICAgIGVuY2xvc2luZyAgbG9vcHMsICB0aGUgIGxhc3QgIGVuY2xvc2luZyAgbG9vcCAodGhlIGBgdG9wLWxldmVsJycKKyAgICAgICAgICAgICAgcwhzZQhlbAhsZQhlYwhjdAh0IGxvb3AuICBJZiBfCG4gaXMgc3BlY2lmaWVkLCByZXN1bWUgIGF0ICB0aGUgIF8IbnRoICBlbmNsb3NpbmcKKyAgICAgICAgICAgICAgbG9vcC4gICBfCG4gIG11c3QgIGJlICA+PSAgMS4gICBJZiBfCG4gaXMgZ3JlYXRlciB0aGFuIHRoZSBudW1iZXIgb2YKKyAgICAgICAgICAgICAgZW5jbG9zaW5nIGxvb3BzLCB0aGUgIGxhc3QgIGVuY2xvc2luZyAgbG9vcCAgKHRoZSAgYGB0b3AtbGV2ZWwnJwogICAgICAgICAgICAgICBsb29wKSBpcyByZXN1bWVkLiAgVGhlIHJldHVybiB2YWx1ZSBpcyAwIHVubGVzcyBfCG4gaXMgbm90IGdyZWF0ZXIKICAgICAgICAgICAgICAgdGhhbiBvciBlcXVhbCB0byAxLgogCiAgICAgICAgZAhkZQhlYwhjbAhsYQhhcghyZQhlIFstCC1hCGFBCEFmCGZGCEZpCGlsCGxyCHJ0CHR1CHV4CHhdIFstCC1wCHBdIFtfCG5fCGFfCG1fCGVbPV8Idl8IYV8IbF8IdV8IZV0gLi4uXQogICAgICAgIHQIdHkIeXAIcGUIZXMIc2UIZXQIdCBbLQgtYQhhQQhBZghmRghGaQhpbAhscghydAh0dQh1eAh4XSBbLQgtcAhwXSBbXwhuXwhhXwhtXwhlWz1fCHZfCGFfCGxfCHVfCGVdIC4uLl0KLSAgICAgICAgICAgICAgRGVjbGFyZSAgdmFyaWFibGVzIGFuZC9vciBnaXZlIHRoZW0gYXR0cmlidXRlcy4gIElmIG5vIF8Ibl8IYV8IbV8IZXMgYXJlCi0gICAgICAgICAgICAgIGdpdmVuIHRoZW4gZGlzcGxheSB0aGUgdmFsdWVzIG9mIHZhcmlhYmxlcy4gIFRoZSAtCC1wCHAgb3B0aW9uICB3aWxsCisgICAgICAgICAgICAgIERlY2xhcmUgdmFyaWFibGVzIGFuZC9vciBnaXZlIHRoZW0gYXR0cmlidXRlcy4gIElmIG5vIF8Ibl8IYV8IbV8IZXMgIGFyZQorICAgICAgICAgICAgICBnaXZlbiAgdGhlbiBkaXNwbGF5IHRoZSB2YWx1ZXMgb2YgdmFyaWFibGVzLiAgVGhlIC0ILXAIcCBvcHRpb24gd2lsbAogICAgICAgICAgICAgICBkaXNwbGF5IHRoZSBhdHRyaWJ1dGVzIGFuZCB2YWx1ZXMgb2YgZWFjaCBfCG5fCGFfCG1fCGUuICBXaGVuIC0ILXAIcCBpcyB1c2VkCiAgICAgICAgICAgICAgIHdpdGggXwhuXwhhXwhtXwhlIGFyZ3VtZW50cywgYWRkaXRpb25hbCBvcHRpb25zIGFyZSBpZ25vcmVkLiAgV2hlbiAtCC1wCHAgaXMKLSAgICAgICAgICAgICAgc3VwcGxpZWQgIHdpdGhvdXQgXwhuXwhhXwhtXwhlIGFyZ3VtZW50cywgaXQgd2lsbCBkaXNwbGF5IHRoZSBhdHRyaWJ1dGVzCi0gICAgICAgICAgICAgIGFuZCB2YWx1ZXMgb2YgYWxsIHZhcmlhYmxlcyBoYXZpbmcgdGhlIGF0dHJpYnV0ZXMgIHNwZWNpZmllZCAgYnkKLSAgICAgICAgICAgICAgdGhlICBhZGRpdGlvbmFsICBvcHRpb25zLiAgSWYgbm8gb3RoZXIgb3B0aW9ucyBhcmUgc3VwcGxpZWQgd2l0aAotICAgICAgICAgICAgICAtCC1wCHAsIGQIZGUIZWMIY2wIbGEIYXIIcmUIZSB3aWxsIGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlcyBvZiBhbGwgIHNoZWxsCi0gICAgICAgICAgICAgIHZhcmlhYmxlcy4gICBUaGUgIC0ILWYIZiAgb3B0aW9uICB3aWxsIHJlc3RyaWN0IHRoZSBkaXNwbGF5IHRvIHNoZWxsCisgICAgICAgICAgICAgIHN1cHBsaWVkIHdpdGhvdXQgXwhuXwhhXwhtXwhlIGFyZ3VtZW50cywgaXQgd2lsbCBkaXNwbGF5IHRoZSAgYXR0cmlidXRlcworICAgICAgICAgICAgICBhbmQgIHZhbHVlcyAgb2YgYWxsIHZhcmlhYmxlcyBoYXZpbmcgdGhlIGF0dHJpYnV0ZXMgc3BlY2lmaWVkIGJ5CisgICAgICAgICAgICAgIHRoZSBhZGRpdGlvbmFsIG9wdGlvbnMuICBJZiBubyBvdGhlciBvcHRpb25zIGFyZSAgc3VwcGxpZWQgIHdpdGgKKyAgICAgICAgICAgICAgLQgtcAhwLCAgZAhkZQhlYwhjbAhsYQhhcghyZQhlIHdpbGwgZGlzcGxheSB0aGUgYXR0cmlidXRlcyBhbmQgdmFsdWVzIG9mIGFsbCBzaGVsbAorICAgICAgICAgICAgICB2YXJpYWJsZXMuICBUaGUgLQgtZghmIG9wdGlvbiB3aWxsIHJlc3RyaWN0ICB0aGUgIGRpc3BsYXkgIHRvICBzaGVsbAogICAgICAgICAgICAgICBmdW5jdGlvbnMuICBUaGUgLQgtRghGIG9wdGlvbiBpbmhpYml0cyB0aGUgZGlzcGxheSBvZiBmdW5jdGlvbiBkZWZpLQotICAgICAgICAgICAgICBuaXRpb25zOyAgb25seSB0aGUgZnVuY3Rpb24gbmFtZSBhbmQgYXR0cmlidXRlcyBhcmUgcHJpbnRlZC4gIElmCi0gICAgICAgICAgICAgIHRoZSBlCGV4CHh0CHRkCGRlCGViCGJ1CHVnCGcgc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQgIHVzaW5nICBzCHNoCGhvCG9wCHB0CHQsICB0aGUgIHNvdXJjZQorICAgICAgICAgICAgICBuaXRpb25zOyBvbmx5IHRoZSBmdW5jdGlvbiBuYW1lIGFuZCBhdHRyaWJ1dGVzIGFyZSBwcmludGVkLiAgIElmCisgICAgICAgICAgICAgIHRoZSAgZQhleAh4dAh0ZAhkZQhlYghidQh1ZwhnICBzaGVsbCAgb3B0aW9uICBpcyBlbmFibGVkIHVzaW5nIHMIc2gIaG8Ib3AIcHQIdCwgdGhlIHNvdXJjZQogICAgICAgICAgICAgICBmaWxlIG5hbWUgYW5kIGxpbmUgbnVtYmVyIHdoZXJlIHRoZSBmdW5jdGlvbiBpcyBkZWZpbmVkIGFyZSBkaXMtCi0gICAgICAgICAgICAgIHBsYXllZCBhcyB3ZWxsLiAgIFRoZSAgLQgtRghGICBvcHRpb24gIGltcGxpZXMgIC0ILWYIZi4gICBUaGUgIGZvbGxvd2luZwotICAgICAgICAgICAgICBvcHRpb25zICBjYW4gIGJlICB1c2VkICB0byByZXN0cmljdCBvdXRwdXQgdG8gdmFyaWFibGVzIHdpdGggdGhlCisgICAgICAgICAgICAgIHBsYXllZCAgYXMgIHdlbGwuICAgVGhlICAtCC1GCEYgIG9wdGlvbiAgaW1wbGllcyAgLQgtZghmLiAgVGhlIGZvbGxvd2luZworICAgICAgICAgICAgICBvcHRpb25zIGNhbiBiZSB1c2VkIHRvIHJlc3RyaWN0IG91dHB1dCAgdG8gIHZhcmlhYmxlcyAgd2l0aCAgdGhlCiAgICAgICAgICAgICAgIHNwZWNpZmllZCBhdHRyaWJ1dGUgb3IgdG8gZ2l2ZSB2YXJpYWJsZXMgYXR0cmlidXRlczoKLSAgICAgICAgICAgICAgLQgtYQhhICAgICBFYWNoIF8Ibl8IYV8IbV8IZSAgaXMgIGFuICBpbmRleGVkICBhcnJheSAgdmFyaWFibGUgIChzZWUgIEEIQXIIcnIIcmEIYXkIeXMIcworICAgICAgICAgICAgICAtCC1hCGEgICAgIEVhY2ggIF8Ibl8IYV8IbV8IZSAgaXMgIGFuICBpbmRleGVkICBhcnJheSAgdmFyaWFibGUgIChzZWUgQQhBcghycghyYQhheQh5cwhzCiAgICAgICAgICAgICAgICAgICAgICBhYm92ZSkuCi0gICAgICAgICAgICAgIC0ILUEIQSAgICAgRWFjaCAgXwhuXwhhXwhtXwhlICBpcyAgYW4gYXNzb2NpYXRpdmUgYXJyYXkgdmFyaWFibGUgKHNlZSBBCEFyCHJyCHJhCGF5CHlzCHMKKyAgICAgICAgICAgICAgLQgtQQhBICAgICBFYWNoIF8Ibl8IYV8IbV8IZSBpcyBhbiBhc3NvY2lhdGl2ZSBhcnJheSAgdmFyaWFibGUgIChzZWUgIEEIQXIIcnIIcmEIYXkIeXMIcwogICAgICAgICAgICAgICAgICAgICAgYWJvdmUpLgogICAgICAgICAgICAgICAtCC1mCGYgICAgIFVzZSBmdW5jdGlvbiBuYW1lcyBvbmx5LgogICAgICAgICAgICAgICAtCC1pCGkgICAgIFRoZSB2YXJpYWJsZSBpcyB0cmVhdGVkIGFzIGFuIGludGVnZXI7IGFyaXRobWV0aWMgZXZhbHVhLQotICAgICAgICAgICAgICAgICAgICAgdGlvbiAgKHNlZSAgQQhBUghSSQhJVAhUSAhITQhNRQhFVAhUSQhJQwhDIEUIRVYIVkEIQUwITFUIVUEIQVQIVEkISU8IT04ITiApCCkgaXMgcGVyZm9ybWVkIHdoZW4gdGhlCi0gICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSBpcyBhc3NpZ25lZCBhIHZhbHVlLgotICAgICAgICAgICAgICAtCC1sCGwgICAgIFdoZW4gdGhlIHZhcmlhYmxlIGlzIGFzc2lnbmVkICBhICB2YWx1ZSwgIGFsbCAgdXBwZXItY2FzZQotICAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVycyAgYXJlICBjb252ZXJ0ZWQgdG8gbG93ZXItY2FzZS4gIFRoZSB1cHBlci1jYXNlCisgICAgICAgICAgICAgICAgICAgICB0aW9uIChzZWUgQQhBUghSSQhJVAhUSAhITQhNRQhFVAhUSQhJQwhDIEUIRVYIVkEIQUwITFUIVUEIQVQIVEkISU8IT04ITiBhYm92ZSkgaXMgcGVyZm9ybWVkICB3aGVuCisgICAgICAgICAgICAgICAgICAgICB0aGUgdmFyaWFibGUgaXMgYXNzaWduZWQgYSB2YWx1ZS4KKyAgICAgICAgICAgICAgLQgtbAhsICAgICBXaGVuICB0aGUgIHZhcmlhYmxlICBpcyAgYXNzaWduZWQgYSB2YWx1ZSwgYWxsIHVwcGVyLWNhc2UKKyAgICAgICAgICAgICAgICAgICAgIGNoYXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0byBsb3dlci1jYXNlLiAgIFRoZSAgdXBwZXItY2FzZQogICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGlzIGRpc2FibGVkLgogICAgICAgICAgICAgICAtCC1yCHIgICAgIE1ha2UgXwhuXwhhXwhtXwhlcyByZWFkb25seS4gIFRoZXNlIG5hbWVzIGNhbm5vdCB0aGVuIGJlIGFzc2lnbmVkCiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgYnkgc3Vic2VxdWVudCBhc3NpZ25tZW50IHN0YXRlbWVudHMgb3IgdW5zZXQuCi0gICAgICAgICAgICAgIC0ILXQIdCAgICAgR2l2ZSAgZWFjaCAgXwhuXwhhXwhtXwhlICB0aGUgIF8IdF8Icl8IYV8IY18IZSBhdHRyaWJ1dGUuICBUcmFjZWQgZnVuY3Rpb25zCi0gICAgICAgICAgICAgICAgICAgICBpbmhlcml0IHRoZSBECERFCEVCCEJVCFVHCEcgIGFuZCAgUghSRQhFVAhUVQhVUghSTghOICB0cmFwcyAgZnJvbSAgdGhlICBjYWxsaW5nCi0gICAgICAgICAgICAgICAgICAgICBzaGVsbC4gICBUaGUgIHRyYWNlICBhdHRyaWJ1dGUgaGFzIG5vIHNwZWNpYWwgbWVhbmluZyBmb3IKKyAgICAgICAgICAgICAgLQgtdAh0ICAgICBHaXZlIGVhY2ggXwhuXwhhXwhtXwhlIHRoZSAgXwh0XwhyXwhhXwhjXwhlICBhdHRyaWJ1dGUuICAgVHJhY2VkICBmdW5jdGlvbnMKKyAgICAgICAgICAgICAgICAgICAgIGluaGVyaXQgIHRoZSAgRAhERQhFQghCVQhVRwhHICBhbmQgIFIIUkUIRVQIVFUIVVIIUk4ITiAgdHJhcHMgIGZyb20gdGhlIGNhbGxpbmcKKyAgICAgICAgICAgICAgICAgICAgIHNoZWxsLiAgVGhlIHRyYWNlIGF0dHJpYnV0ZSBoYXMgbm8gIHNwZWNpYWwgIG1lYW5pbmcgIGZvcgogICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGVzLgotICAgICAgICAgICAgICAtCC11CHUgICAgIFdoZW4gdGhlIHZhcmlhYmxlIGlzIGFzc2lnbmVkICBhICB2YWx1ZSwgIGFsbCAgbG93ZXItY2FzZQotICAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVycyAgYXJlICBjb252ZXJ0ZWQgdG8gdXBwZXItY2FzZS4gIFRoZSBsb3dlci1jYXNlCisgICAgICAgICAgICAgIC0ILXUIdSAgICAgV2hlbiAgdGhlICB2YXJpYWJsZSAgaXMgIGFzc2lnbmVkIGEgdmFsdWUsIGFsbCBsb3dlci1jYXNlCisgICAgICAgICAgICAgICAgICAgICBjaGFyYWN0ZXJzIGFyZSBjb252ZXJ0ZWQgdG8gdXBwZXItY2FzZS4gICBUaGUgIGxvd2VyLWNhc2UKICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBpcyBkaXNhYmxlZC4KLSAgICAgICAgICAgICAgLQgteAh4ICAgICBNYXJrIF8Ibl8IYV8IbV8IZXMgZm9yIGV4cG9ydCAgdG8gIHN1YnNlcXVlbnQgIGNvbW1hbmRzICB2aWEgIHRoZQorICAgICAgICAgICAgICAtCC14CHggICAgIE1hcmsgIF8Ibl8IYV8IbV8IZXMgIGZvciAgZXhwb3J0ICB0byAgc3Vic2VxdWVudCBjb21tYW5kcyB2aWEgdGhlCiAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudC4KIAotICAgICAgICAgICAgICBVc2luZyAgYCsnICBpbnN0ZWFkIG9mIGAtJyB0dXJucyBvZmYgdGhlIGF0dHJpYnV0ZSBpbnN0ZWFkLCB3aXRoCisgICAgICAgICAgICAgIFVzaW5nIGArJyBpbnN0ZWFkIG9mIGAtJyB0dXJucyBvZmYgdGhlIGF0dHJpYnV0ZSAgaW5zdGVhZCwgIHdpdGgKICAgICAgICAgICAgICAgdGhlIGV4Y2VwdGlvbnMgdGhhdCArCCthCGEgbWF5IG5vdCBiZSB1c2VkIHRvIGRlc3Ryb3kgYW4gYXJyYXkgdmFyaS0KLSAgICAgICAgICAgICAgYWJsZSAgYW5kICArCCtyCHIgdwh3aQhpbAhsbAhsIG4Ibm8Ib3QIdCByCHJlCGVtCG1vCG92CHZlCGUgdAh0aAhoZQhlIHIIcmUIZWEIYWQIZG8Ib24IbmwIbHkIeSBhCGF0CHR0CHRyCHJpCGliCGJ1CHV0CHRlCGUuCC4gIFcIV2gIaGUIZW4IbiB1CHVzCHNlCGVkCGQKLSAgICAgICAgICAgICAgaQhpbghuIGEIYSBmCGZ1CHVuCG5jCGN0CHRpCGlvCG9uCG4sCCwgbQhtYQhhawhrZQhlcwhzIGUIZWEIYWMIY2gIaCBfCG5fCGFfCG1fCGUgbAhsbwhvYwhjYQhhbAhsLAgsIGEIYXMIcyB3CHdpCGl0CHRoCGggdAh0aAhoZQhlIGwIbG8Ib2MIY2EIYWwIbCBjb21tYW5kLgorICAgICAgICAgICAgICBhYmxlIGFuZCArCCtyCHIgd2lsbCBub3QgcmVtb3ZlIHRoZSByZWFkb25seSBhdHRyaWJ1dGUuICAgV2hlbiAgdXNlZAorICAgICAgICAgICAgICBpbiBhIGZ1bmN0aW9uLCBtYWtlcyBlYWNoIF8Ibl8IYV8IbV8IZSBsb2NhbCwgYXMgd2l0aCB0aGUgbAhsbwhvYwhjYQhhbAhsIGNvbW1hbmQuCiAgICAgICAgICAgICAgIElmIGEgdmFyaWFibGUgbmFtZSBpcyBmb2xsb3dlZCBieSA9Xwh2XwhhXwhsXwh1XwhlLCB0aGUgdmFsdWUgb2YgdGhlIHZhcmktCi0gICAgICAgICAgICAgIGFibGUgaXMgc2V0IHRvIF8Idl8IYV8IbF8IdV8IZS4gIFRoZSByZXR1cm4gdmFsdWUgaXMgMCB1bmxlc3MgIGFuICBpbnZhbGlkCi0gICAgICAgICAgICAgIG9wdGlvbiAgaXMgIGVuY291bnRlcmVkLCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gZGVmaW5lIGEgZnVuY3Rpb24KLSAgICAgICAgICAgICAgdXNpbmcgYGAtZiBmb289YmFyJycsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBhc3NpZ24gYSB2YWx1ZSB0byAgYQotICAgICAgICAgICAgICByZWFkb25seSAgdmFyaWFibGUsICBhbiAgYXR0ZW1wdCBpcyBtYWRlIHRvIGFzc2lnbiBhIHZhbHVlIHRvIGFuCisgICAgICAgICAgICAgIGFibGUgIGlzICBzZXQgdG8gXwh2XwhhXwhsXwh1XwhlLiAgVGhlIHJldHVybiB2YWx1ZSBpcyAwIHVubGVzcyBhbiBpbnZhbGlkCisgICAgICAgICAgICAgIG9wdGlvbiBpcyBlbmNvdW50ZXJlZCwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGRlZmluZSAgYSAgZnVuY3Rpb24KKyAgICAgICAgICAgICAgdXNpbmcgIGBgLWYgZm9vPWJhcicnLCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gYXNzaWduIGEgdmFsdWUgdG8gYQorICAgICAgICAgICAgICByZWFkb25seSB2YXJpYWJsZSwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGFzc2lnbiBhICB2YWx1ZSAgdG8gIGFuCiAgICAgICAgICAgICAgIGFycmF5IHZhcmlhYmxlIHdpdGhvdXQgdXNpbmcgdGhlIGNvbXBvdW5kIGFzc2lnbm1lbnQgc3ludGF4IChzZWUKLSAgICAgICAgICAgICAgQQhBcghycghyYQhheQh5cwhzICBhYm92ZSksICBvbmUgIG9mIHRoZSBfCG5fCGFfCG1fCGVfCHMgaXMgbm90IGEgdmFsaWQgc2hlbGwgdmFyaWFibGUKKyAgICAgICAgICAgICAgQQhBcghycghyYQhheQh5cwhzIGFib3ZlKSwgb25lIG9mIHRoZSBfCG5fCGFfCG1fCGVfCHMgaXMgbm90IGEgIHZhbGlkICBzaGVsbCAgdmFyaWFibGUKICAgICAgICAgICAgICAgbmFtZSwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIHR1cm4gb2ZmIHJlYWRvbmx5IHN0YXR1cyBmb3IgYSByZWFkLQotICAgICAgICAgICAgICBvbmx5ICB2YXJpYWJsZSwgIGFuIGF0dGVtcHQgaXMgbWFkZSB0byB0dXJuIG9mZiBhcnJheSBzdGF0dXMgZm9yCi0gICAgICAgICAgICAgIGFuIGFycmF5IHZhcmlhYmxlLCBvciBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gZGlzcGxheSBhICBub24tZXhpcy0KKyAgICAgICAgICAgICAgb25seSB2YXJpYWJsZSwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIHR1cm4gb2ZmIGFycmF5ICBzdGF0dXMgIGZvcgorICAgICAgICAgICAgICBhbiAgYXJyYXkgdmFyaWFibGUsIG9yIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBkaXNwbGF5IGEgbm9uLWV4aXMtCiAgICAgICAgICAgICAgIHRlbnQgZnVuY3Rpb24gd2l0aCAtCC1mCGYuCiAKICAgICAgICBkCGRpCGlyCHJzCHMgWwhbKwgrXwhuXQhdIFsIWy0ILV8Ibl0IXSBbCFstCC1jCGNwCHBsCGx2CHZdCF0KLSAgICAgICAgICAgICAgV2l0aG91dCAgb3B0aW9ucywgIGRpc3BsYXlzICB0aGUgIGxpc3QgIG9mICBjdXJyZW50bHkgcmVtZW1iZXJlZAotICAgICAgICAgICAgICBkaXJlY3Rvcmllcy4gIFRoZSBkZWZhdWx0IGRpc3BsYXkgIGlzICBvbiAgYSAgc2luZ2xlICBsaW5lICB3aXRoCi0gICAgICAgICAgICAgIGRpcmVjdG9yeSAgbmFtZXMgIHNlcGFyYXRlZCBieSBzcGFjZXMuICBEaXJlY3RvcmllcyBhcmUgYWRkZWQgdG8KLSAgICAgICAgICAgICAgdGhlIGxpc3Qgd2l0aCAgdGhlICBwCHB1CHVzCHNoCGhkCGQgIGNvbW1hbmQ7ICB0aGUgIHAIcG8Ib3AIcGQIZCAgY29tbWFuZCAgcmVtb3ZlcworICAgICAgICAgICAgICBXaXRob3V0IG9wdGlvbnMsICBkaXNwbGF5cyAgdGhlICBsaXN0ICBvZiAgY3VycmVudGx5ICByZW1lbWJlcmVkCisgICAgICAgICAgICAgIGRpcmVjdG9yaWVzLiAgIFRoZSAgZGVmYXVsdCAgZGlzcGxheSAgaXMgIG9uICBhIHNpbmdsZSBsaW5lIHdpdGgKKyAgICAgICAgICAgICAgZGlyZWN0b3J5IG5hbWVzIHNlcGFyYXRlZCBieSBzcGFjZXMuICBEaXJlY3RvcmllcyBhcmUgIGFkZGVkICB0bworICAgICAgICAgICAgICB0aGUgIGxpc3QgIHdpdGggIHRoZSAgcAhwdQh1cwhzaAhoZAhkICBjb21tYW5kOyAgdGhlICBwCHBvCG9wCHBkCGQgY29tbWFuZCByZW1vdmVzCiAgICAgICAgICAgICAgIGVudHJpZXMgZnJvbSB0aGUgbGlzdC4KICAgICAgICAgICAgICAgKwgrXwhuICAgICBEaXNwbGF5cyB0aGUgXwhudGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdAogICAgICAgICAgICAgICAgICAgICAgc2hvd24gYnkgZAhkaQhpcghycwhzIHdoZW4gaW52b2tlZCB3aXRob3V0IG9wdGlvbnMsIHN0YXJ0aW5nIHdpdGgKICAgICAgICAgICAgICAgICAgICAgIHplcm8uCi0gICAgICAgICAgICAgIC0ILV8IbiAgICAgRGlzcGxheXMgIHRoZSAgXwhudGggIGVudHJ5ICBjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUKKyAgICAgICAgICAgICAgLQgtXwhuICAgICBEaXNwbGF5cyB0aGUgXwhudGggZW50cnkgY291bnRpbmcgZnJvbSAgdGhlICByaWdodCAgb2YgIHRoZQogICAgICAgICAgICAgICAgICAgICAgbGlzdCBzaG93biBieSBkCGRpCGlyCHJzCHMgd2hlbiBpbnZva2VkIHdpdGhvdXQgb3B0aW9ucywgc3RhcnRpbmcKICAgICAgICAgICAgICAgICAgICAgIHdpdGggemVyby4KICAgICAgICAgICAgICAgLQgtYwhjICAgICBDbGVhcnMgIHRoZSAgZGlyZWN0b3J5ICBzdGFjayAgYnkgIGRlbGV0aW5nICBhbGwgIG9mICB0aGUKICAgICAgICAgICAgICAgICAgICAgIGVudHJpZXMuCi0gICAgICAgICAgICAgIC0ILWwIbCAgICAgUHJvZHVjZXMgYSBsb25nZXIgbGlzdGluZzsgIHRoZSAgZGVmYXVsdCAgbGlzdGluZyAgZm9ybWF0CisgICAgICAgICAgICAgIC0ILWwIbCAgICAgUHJvZHVjZXMgIGEgIGxvbmdlciAgbGlzdGluZzsgIHRoZSBkZWZhdWx0IGxpc3RpbmcgZm9ybWF0CiAgICAgICAgICAgICAgICAgICAgICB1c2VzIGEgdGlsZGUgdG8gZGVub3RlIHRoZSBob21lIGRpcmVjdG9yeS4KICAgICAgICAgICAgICAgLQgtcAhwICAgICBQcmludCB0aGUgZGlyZWN0b3J5IHN0YWNrIHdpdGggb25lIGVudHJ5IHBlciBsaW5lLgotICAgICAgICAgICAgICAtCC12CHYgICAgIFByaW50ICB0aGUgIGRpcmVjdG9yeSBzdGFjayB3aXRoIG9uZSBlbnRyeSBwZXIgbGluZSwgcHJlLQorICAgICAgICAgICAgICAtCC12CHYgICAgIFByaW50IHRoZSBkaXJlY3Rvcnkgc3RhY2sgd2l0aCBvbmUgZW50cnkgcGVyICBsaW5lLCAgcHJlLQogICAgICAgICAgICAgICAgICAgICAgZml4aW5nIGVhY2ggZW50cnkgd2l0aCBpdHMgaW5kZXggaW4gdGhlIHN0YWNrLgogCi0gICAgICAgICAgICAgIFRoZSByZXR1cm4gdmFsdWUgaXMgMCB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgIF8IbgorICAgICAgICAgICAgICBUaGUgIHJldHVybiB2YWx1ZSBpcyAwIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBfCG4KICAgICAgICAgICAgICAgaW5kZXhlcyBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlyZWN0b3J5IHN0YWNrLgogCiAgICAgICAgZAhkaQhpcwhzbwhvdwh3bghuIFstCC1hCGFyCHJdIFstCC1oCGhdIFtfCGpfCG9fCGJfCHNfCHBfCGVfCGMgLi4uXQotICAgICAgICAgICAgICBXaXRob3V0ICBvcHRpb25zLCAgZWFjaCAgXwhqXwhvXwhiXwhzXwhwXwhlXwhjICBpcyAgcmVtb3ZlZCAgZnJvbSB0aGUgdGFibGUgb2YKLSAgICAgICAgICAgICAgYWN0aXZlIGpvYnMuICBJZiBfCGpfCG9fCGJfCHNfCHBfCGVfCGMgaXMgbm90IHByZXNlbnQsIGFuZCBuZWl0aGVyIC0ILWEIYSAgbghubwhvcghyICAtCC1yCHIKLSAgICAgICAgICAgICAgaQhpcwhzICBzCHN1CHVwCHBwCHBsCGxpCGllCGVkCGQsCCwgdAh0aAhoZQhlIHMIc2gIaGUIZWwIbGwIbCcIJ3MIcyBuCG5vCG90CHRpCGlvCG9uCG4gbwhvZghmIHQIdGgIaGUIZSBfCGNfCHVfCHJfCHJfCGVfCG5fCHQgXwhqXwhvXwhiIGkIaXMIcyB1CHVzCHNlCGVkCGQuCC4gIEkISWYIZgotICAgICAgICAgICAgICB0CHRoCGhlCGUgLQgtaAhoIG8Ib3AIcHQIdGkIaW8Ib24IbiBpCGlzCHMgZwhnaQhpdgh2ZQhlbghuLAgsIGUIZWEIYWMIY2gIaCBfCGpfCG9fCGJfCHNfCHBfCGVfCGMgaXMgbm90IHJlbW92ZWQgZnJvbSB0aGUgdGEtCi0gICAgICAgICAgICAgIGJsZSwgIGJ1dCBpcyBtYXJrZWQgc28gdGhhdCBTCFNJCElHCEdICEhVCFVQCFAgaXMgbm90IHNlbnQgdG8gdGhlIGpvYiBpZiB0aGUKLSAgICAgICAgICAgICAgc2hlbGwgcmVjZWl2ZXMgYSBTCFNJCElHCEdICEhVCFVQCFAuICBJZiBubyBfCGpfCG9fCGJfCHNfCHBfCGVfCGMgaXMgcHJlc2VudCwgYW5kICBuZWl0aGVyCi0gICAgICAgICAgICAgIHRoZSAgLQgtYQhhICBub3IgdGhlIC0ILXIIciBvcHRpb24gaXMgc3VwcGxpZWQsIHRoZSBfCGNfCHVfCHJfCHJfCGVfCG5fCHQgXwhqXwhvXwhiIGlzIHVzZWQuCisgICAgICAgICAgICAgIFdpdGhvdXQgb3B0aW9ucywgZWFjaCBfCGpfCG9fCGJfCHNfCHBfCGVfCGMgIGlzICByZW1vdmVkICBmcm9tICB0aGUgIHRhYmxlICBvZgorICAgICAgICAgICAgICBhY3RpdmUgIGpvYnMuICAgSWYgXwhqXwhvXwhiXwhzXwhwXwhlXwhjIGlzIG5vdCBwcmVzZW50LCBhbmQgbmVpdGhlciAtCC1hCGEgbm9yIC0ILXIIcgorICAgICAgICAgICAgICBpcyBzdXBwbGllZCwgdGhlIHNoZWxsJ3Mgbm90aW9uIG9mIHRoZSBfCGNfCHVfCHJfCHJfCGVfCG5fCHQgXwhqXwhvXwhiIGlzIHVzZWQuICAgSWYKKyAgICAgICAgICAgICAgdGhlIC0ILWgIaCBvcHRpb24gaXMgZ2l2ZW4sIGVhY2ggXwhqXwhvXwhiXwhzXwhwXwhlXwhjIGlzIG5vdCByZW1vdmVkIGZyb20gdGhlIHRhLQorICAgICAgICAgICAgICBibGUsIGJ1dCBpcyBtYXJrZWQgc28gdGhhdCBTCFNJCElHCEdICEhVCFVQCFAgaXMgbm90IHNlbnQgdG8gdGhlIGpvYiBpZiAgdGhlCisgICAgICAgICAgICAgIHNoZWxsICByZWNlaXZlcyBhIFMIU0kISUcIR0gISFUIVVAIUC4gIElmIG5vIF8Ial8Ib18IYl8Ic18IcF8IZV8IYyBpcyBwcmVzZW50LCBhbmQgbmVpdGhlcgorICAgICAgICAgICAgICB0aGUgLQgtYQhhIG5vciB0aGUgLQgtcghyIG9wdGlvbiBpcyBzdXBwbGllZCwgdGhlIF8IY18IdV8Icl8Icl8IZV8Ibl8IdCBfCGpfCG9fCGIgIGlzICB1c2VkLgogICAgICAgICAgICAgICBJZiBubyBfCGpfCG9fCGJfCHNfCHBfCGVfCGMgaXMgc3VwcGxpZWQsIHRoZSAtCC1hCGEgb3B0aW9uIG1lYW5zIHRvIHJlbW92ZSBvciBtYXJrCi0gICAgICAgICAgICAgIGFsbCAgam9iczsgIHRoZSAgLQgtcghyICBvcHRpb24gd2l0aG91dCBhIF8Ial8Ib18IYl8Ic18IcF8IZV8IYyBhcmd1bWVudCByZXN0cmljdHMKLSAgICAgICAgICAgICAgb3BlcmF0aW9uIHRvIHJ1bm5pbmcgam9icy4gIFRoZSByZXR1cm4gdmFsdWUgaXMgMCB1bmxlc3MgYSAgXwhqXwhvXwhiXwgtCisgICAgICAgICAgICAgIGFsbCBqb2JzOyB0aGUgLQgtcghyIG9wdGlvbiB3aXRob3V0ICBhICBfCGpfCG9fCGJfCHNfCHBfCGVfCGMgIGFyZ3VtZW50ICByZXN0cmljdHMKKyAgICAgICAgICAgICAgb3BlcmF0aW9uICB0byBydW5uaW5nIGpvYnMuICBUaGUgcmV0dXJuIHZhbHVlIGlzIDAgdW5sZXNzIGEgXwhqXwhvXwhiXwgtCiAgICAgICAgICAgICAgIF8Ic18IcF8IZV8IYyBkb2VzIG5vdCBzcGVjaWZ5IGEgdmFsaWQgam9iLgogCiAgICAgICAgZQhlYwhjaAhobwhvIFstCC1uCG5lCGVFCEVdIFtfCGFfCHJfCGcgLi4uXQotICAgICAgICAgICAgICBPdXRwdXQgIHRoZSAgXwhhXwhyXwhncywgIHNlcGFyYXRlZCAgYnkgc3BhY2VzLCBmb2xsb3dlZCBieSBhIG5ld2xpbmUuCisgICAgICAgICAgICAgIE91dHB1dCB0aGUgXwhhXwhyXwhncywgc2VwYXJhdGVkIGJ5IHNwYWNlcywgIGZvbGxvd2VkICBieSAgYSAgbmV3bGluZS4KICAgICAgICAgICAgICAgVGhlIHJldHVybiBzdGF0dXMgaXMgYWx3YXlzIDAuICBJZiAtCC1uCG4gaXMgc3BlY2lmaWVkLCB0aGUgdHJhaWxpbmcKLSAgICAgICAgICAgICAgbmV3bGluZSAgaXMgIHN1cHByZXNzZWQuICBJZiB0aGUgLQgtZQhlIG9wdGlvbiBpcyBnaXZlbiwgaW50ZXJwcmV0YS0KLSAgICAgICAgICAgICAgdGlvbiBvZiB0aGUgZm9sbG93aW5nIGJhY2tzbGFzaC1lc2NhcGVkIGNoYXJhY3RlcnMgIGlzICBlbmFibGVkLgotICAgICAgICAgICAgICBUaGUgIC0ILUUIRSBvcHRpb24gZGlzYWJsZXMgdGhlIGludGVycHJldGF0aW9uIG9mIHRoZXNlIGVzY2FwZSBjaGFyLQotICAgICAgICAgICAgICBhY3RlcnMsIGV2ZW4gb24gc3lzdGVtcyB3aGVyZSB0aGV5IGFyZSBpbnRlcnByZXRlZCAgYnkgIGRlZmF1bHQuCi0gICAgICAgICAgICAgIFRoZSAgeAh4cAhwZwhnXwhfZQhlYwhjaAhobwhvICBzaGVsbCBvcHRpb24gbWF5IGJlIHVzZWQgdG8gZHluYW1pY2FsbHkgZGV0ZXJtaW5lCi0gICAgICAgICAgICAgIHdoZXRoZXIgb3Igbm90IGUIZWMIY2gIaG8IbyBleHBhbmRzIHRoZXNlIGVzY2FwZSBjaGFyYWN0ZXJzIGJ5ICBkZWZhdWx0LgotICAgICAgICAgICAgICBlCGVjCGNoCGhvCG8gIGRvZXMgIG5vdCAgaW50ZXJwcmV0ICAtCC0tCC0gdG8gbWVhbiB0aGUgZW5kIG9mIG9wdGlvbnMuICBlCGVjCGNoCGhvCG8KKyAgICAgICAgICAgICAgbmV3bGluZSBpcyBzdXBwcmVzc2VkLiAgSWYgdGhlIC0ILWUIZSBvcHRpb24gaXMgIGdpdmVuLCAgaW50ZXJwcmV0YS0KKyAgICAgICAgICAgICAgdGlvbiAgb2YgIHRoZSBmb2xsb3dpbmcgYmFja3NsYXNoLWVzY2FwZWQgY2hhcmFjdGVycyBpcyBlbmFibGVkLgorICAgICAgICAgICAgICBUaGUgLQgtRQhFIG9wdGlvbiBkaXNhYmxlcyB0aGUgaW50ZXJwcmV0YXRpb24gb2YgdGhlc2UgZXNjYXBlICBjaGFyLQorICAgICAgICAgICAgICBhY3RlcnMsICBldmVuICBvbiBzeXN0ZW1zIHdoZXJlIHRoZXkgYXJlIGludGVycHJldGVkIGJ5IGRlZmF1bHQuCisgICAgICAgICAgICAgIFRoZSB4CHhwCHBnCGdfCF9lCGVjCGNoCGhvCG8gc2hlbGwgb3B0aW9uIG1heSBiZSB1c2VkIHRvICBkeW5hbWljYWxseSAgZGV0ZXJtaW5lCisgICAgICAgICAgICAgIHdoZXRoZXIgIG9yIG5vdCBlCGVjCGNoCGhvCG8gZXhwYW5kcyB0aGVzZSBlc2NhcGUgY2hhcmFjdGVycyBieSBkZWZhdWx0LgorICAgICAgICAgICAgICBlCGVjCGNoCGhvCG8gZG9lcyBub3QgaW50ZXJwcmV0IC0ILS0ILSB0byBtZWFuIHRoZSAgZW5kICBvZiAgb3B0aW9ucy4gICBlCGVjCGNoCGhvCG8KICAgICAgICAgICAgICAgaW50ZXJwcmV0cyB0aGUgZm9sbG93aW5nIGVzY2FwZSBzZXF1ZW5jZXM6CiAgICAgICAgICAgICAgIFwIXGEIYSAgICAgYWxlcnQgKGJlbGwpCiAgICAgICAgICAgICAgIFwIXGIIYiAgICAgYmFja3NwYWNlCkBAIC00MDA1LDE4NyArNDExNCwxODcgQEAKICAgICAgICAgICAgICAgXAhcdAh0ICAgICBob3Jpem9udGFsIHRhYgogICAgICAgICAgICAgICBcCFx2CHYgICAgIHZlcnRpY2FsIHRhYgogICAgICAgICAgICAgICBcCFxcCFwgICAgIGJhY2tzbGFzaAotICAgICAgICAgICAgICBcCFwwCDBfCG5fCG5fCG4gIHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHZhbHVlIGlzICB0aGUgIG9jdGFsICB2YWx1ZQorICAgICAgICAgICAgICBcCFwwCDBfCG5fCG5fCG4gIHRoZSAgZWlnaHQtYml0ICBjaGFyYWN0ZXIgIHdob3NlIHZhbHVlIGlzIHRoZSBvY3RhbCB2YWx1ZQogICAgICAgICAgICAgICAgICAgICAgXwhuXwhuXwhuICh6ZXJvIHRvIHRocmVlIG9jdGFsIGRpZ2l0cykKLSAgICAgICAgICAgICAgXAhceAh4XwhIXwhIICAgdGhlICBlaWdodC1iaXQgIGNoYXJhY3RlciAgd2hvc2UgdmFsdWUgaXMgdGhlIGhleGFkZWNpbWFsCisgICAgICAgICAgICAgIFwIXHgIeF8ISF8ISCAgIHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHZhbHVlICBpcyAgdGhlICBoZXhhZGVjaW1hbAogICAgICAgICAgICAgICAgICAgICAgdmFsdWUgXwhIXwhIIChvbmUgb3IgdHdvIGhleCBkaWdpdHMpCiAKICAgICAgICBlCGVuCG5hCGFiCGJsCGxlCGUgWy0ILWEIYV0gWy0ILWQIZG4IbnAIcHMIc10gWy0ILWYIZiBfCGZfCGlfCGxfCGVfCG5fCGFfCG1fCGVdIFtfCG5fCGFfCG1fCGUgLi4uXQotICAgICAgICAgICAgICBFbmFibGUgYW5kIGRpc2FibGUgYnVpbHRpbiBzaGVsbCBjb21tYW5kcy4gIERpc2FibGluZyBhICBidWlsdGluCisgICAgICAgICAgICAgIEVuYWJsZSAgYW5kIGRpc2FibGUgYnVpbHRpbiBzaGVsbCBjb21tYW5kcy4gIERpc2FibGluZyBhIGJ1aWx0aW4KICAgICAgICAgICAgICAgYWxsb3dzIGEgZGlzayBjb21tYW5kIHdoaWNoIGhhcyB0aGUgc2FtZSBuYW1lIGFzIGEgc2hlbGwgYnVpbHRpbgotICAgICAgICAgICAgICB0byBiZSBleGVjdXRlZCB3aXRob3V0IHNwZWNpZnlpbmcgYSBmdWxsIHBhdGhuYW1lLCAgZXZlbiAgdGhvdWdoCi0gICAgICAgICAgICAgIHRoZSAgc2hlbGwgIG5vcm1hbGx5IHNlYXJjaGVzIGZvciBidWlsdGlucyBiZWZvcmUgZGlzayBjb21tYW5kcy4KLSAgICAgICAgICAgICAgSWYgLQgtbghuIGlzIHVzZWQsIGVhY2ggIF8Ibl8IYV8IbV8IZSAgaXMgIGRpc2FibGVkOyAgb3RoZXJ3aXNlLCAgXwhuXwhhXwhtXwhlXwhzICBhcmUKKyAgICAgICAgICAgICAgdG8gIGJlICBleGVjdXRlZCB3aXRob3V0IHNwZWNpZnlpbmcgYSBmdWxsIHBhdGhuYW1lLCBldmVuIHRob3VnaAorICAgICAgICAgICAgICB0aGUgc2hlbGwgbm9ybWFsbHkgc2VhcmNoZXMgZm9yIGJ1aWx0aW5zIGJlZm9yZSAgZGlzayAgY29tbWFuZHMuCisgICAgICAgICAgICAgIElmICAtCC1uCG4gIGlzICB1c2VkLCAgZWFjaCAgXwhuXwhhXwhtXwhlICBpcyBkaXNhYmxlZDsgb3RoZXJ3aXNlLCBfCG5fCGFfCG1fCGVfCHMgYXJlCiAgICAgICAgICAgICAgIGVuYWJsZWQuICBGb3IgZXhhbXBsZSwgdG8gdXNlIHRoZSB0CHRlCGVzCHN0CHQgYmluYXJ5IGZvdW5kIHZpYSB0aGUgUAhQQQhBVAhUSAhICi0gICAgICAgICAgICAgIGluc3RlYWQgb2YgdGhlIHNoZWxsIGJ1aWx0aW4gdmVyc2lvbiwgcnVuICBgYGVuYWJsZSAgLW4gIHRlc3QnJy4KLSAgICAgICAgICAgICAgVGhlICAtCC1mCGYgIG9wdGlvbiAgbWVhbnMgdG8gbG9hZCB0aGUgbmV3IGJ1aWx0aW4gY29tbWFuZCBfCG5fCGFfCG1fCGUgZnJvbQorICAgICAgICAgICAgICBpbnN0ZWFkICBvZiAgdGhlICBzaGVsbCBidWlsdGluIHZlcnNpb24sIHJ1biBgYGVuYWJsZSAtbiB0ZXN0JycuCisgICAgICAgICAgICAgIFRoZSAtCC1mCGYgb3B0aW9uIG1lYW5zIHRvIGxvYWQgdGhlIG5ldyBidWlsdGluICBjb21tYW5kICBfCG5fCGFfCG1fCGUgIGZyb20KICAgICAgICAgICAgICAgc2hhcmVkIG9iamVjdCBfCGZfCGlfCGxfCGVfCG5fCGFfCG1fCGUsIG9uIHN5c3RlbXMgdGhhdCBzdXBwb3J0IGR5bmFtaWMgbG9hZGluZy4KLSAgICAgICAgICAgICAgVGhlICAtCC1kCGQgIG9wdGlvbiB3aWxsIGRlbGV0ZSBhIGJ1aWx0aW4gcHJldmlvdXNseSBsb2FkZWQgd2l0aCAtCC1mCGYuCisgICAgICAgICAgICAgIFRoZSAtCC1kCGQgb3B0aW9uIHdpbGwgZGVsZXRlIGEgYnVpbHRpbiBwcmV2aW91c2x5IGxvYWRlZCAgd2l0aCAgLQgtZghmLgogICAgICAgICAgICAgICBJZiBubyBfCG5fCGFfCG1fCGUgYXJndW1lbnRzIGFyZSBnaXZlbiwgb3IgaWYgdGhlIC0ILXAIcCBvcHRpb24gaXMgc3VwcGxpZWQsCiAgICAgICAgICAgICAgIGEgbGlzdCBvZiBzaGVsbCBidWlsdGlucyBpcyBwcmludGVkLiAgV2l0aCBubyBvdGhlciBvcHRpb24gYXJndS0KLSAgICAgICAgICAgICAgbWVudHMsIHRoZSBsaXN0IGNvbnNpc3RzIG9mIGFsbCBlbmFibGVkIHNoZWxsIGJ1aWx0aW5zLiAgIElmICAtCC1uCG4KLSAgICAgICAgICAgICAgaXMgIHN1cHBsaWVkLCBvbmx5IGRpc2FibGVkIGJ1aWx0aW5zIGFyZSBwcmludGVkLiAgSWYgLQgtYQhhIGlzIHN1cC0KLSAgICAgICAgICAgICAgcGxpZWQsIHRoZSBsaXN0IHByaW50ZWQgaW5jbHVkZXMgYWxsIGJ1aWx0aW5zLCB3aXRoICBhbiAgaW5kaWNhLQotICAgICAgICAgICAgICB0aW9uICBvZiB3aGV0aGVyIG9yIG5vdCBlYWNoIGlzIGVuYWJsZWQuICBJZiAtCC1zCHMgaXMgc3VwcGxpZWQsIHRoZQotICAgICAgICAgICAgICBvdXRwdXQgaXMgcmVzdHJpY3RlZCB0byB0aGUgUE9TSVggXwhzXwhwXwhlXwhjXwhpXwhhXwhsIGJ1aWx0aW5zLiAgVGhlICByZXR1cm4KLSAgICAgICAgICAgICAgdmFsdWUgIGlzICAwIHVubGVzcyBhIF8Ibl8IYV8IbV8IZSBpcyBub3QgYSBzaGVsbCBidWlsdGluIG9yIHRoZXJlIGlzIGFuCisgICAgICAgICAgICAgIG1lbnRzLCAgdGhlICBsaXN0IGNvbnNpc3RzIG9mIGFsbCBlbmFibGVkIHNoZWxsIGJ1aWx0aW5zLiAgSWYgLQgtbghuCisgICAgICAgICAgICAgIGlzIHN1cHBsaWVkLCBvbmx5IGRpc2FibGVkIGJ1aWx0aW5zIGFyZSBwcmludGVkLiAgSWYgLQgtYQhhIGlzICBzdXAtCisgICAgICAgICAgICAgIHBsaWVkLCAgdGhlICBsaXN0IHByaW50ZWQgaW5jbHVkZXMgYWxsIGJ1aWx0aW5zLCB3aXRoIGFuIGluZGljYS0KKyAgICAgICAgICAgICAgdGlvbiBvZiB3aGV0aGVyIG9yIG5vdCBlYWNoIGlzIGVuYWJsZWQuICBJZiAtCC1zCHMgaXMgc3VwcGxpZWQsICB0aGUKKyAgICAgICAgICAgICAgb3V0cHV0ICBpcyByZXN0cmljdGVkIHRvIHRoZSBQT1NJWCBfCHNfCHBfCGVfCGNfCGlfCGFfCGwgYnVpbHRpbnMuICBUaGUgcmV0dXJuCisgICAgICAgICAgICAgIHZhbHVlIGlzIDAgdW5sZXNzIGEgXwhuXwhhXwhtXwhlIGlzIG5vdCBhIHNoZWxsIGJ1aWx0aW4gb3IgdGhlcmUgIGlzICBhbgogICAgICAgICAgICAgICBlcnJvciBsb2FkaW5nIGEgbmV3IGJ1aWx0aW4gZnJvbSBhIHNoYXJlZCBvYmplY3QuCiAKICAgICAgICBlCGV2CHZhCGFsCGwgW18IYV8Icl8IZyAuLi5dCi0gICAgICAgICAgICAgIFRoZSBfCGFfCHJfCGdzIGFyZSByZWFkIGFuZCBjb25jYXRlbmF0ZWQgdG9nZXRoZXIgaW50byBhICBzaW5nbGUgIGNvbS0KLSAgICAgICAgICAgICAgbWFuZC4gICBUaGlzIGNvbW1hbmQgaXMgdGhlbiByZWFkIGFuZCBleGVjdXRlZCBieSB0aGUgc2hlbGwsIGFuZAotICAgICAgICAgICAgICBpdHMgZXhpdCBzdGF0dXMgaXMgcmV0dXJuZWQgYXMgdGhlIHZhbHVlIG9mIGUIZXYIdmEIYWwIbC4gIElmIHRoZXJlICBhcmUKKyAgICAgICAgICAgICAgVGhlICBfCGFfCHJfCGdzICBhcmUgcmVhZCBhbmQgY29uY2F0ZW5hdGVkIHRvZ2V0aGVyIGludG8gYSBzaW5nbGUgY29tLQorICAgICAgICAgICAgICBtYW5kLiAgVGhpcyBjb21tYW5kIGlzIHRoZW4gcmVhZCBhbmQgZXhlY3V0ZWQgYnkgdGhlIHNoZWxsLCAgYW5kCisgICAgICAgICAgICAgIGl0cyAgZXhpdCBzdGF0dXMgaXMgcmV0dXJuZWQgYXMgdGhlIHZhbHVlIG9mIGUIZXYIdmEIYWwIbC4gIElmIHRoZXJlIGFyZQogICAgICAgICAgICAgICBubyBfCGFfCHJfCGdfCHMsIG9yIG9ubHkgbnVsbCBhcmd1bWVudHMsIGUIZXYIdmEIYWwIbCByZXR1cm5zIDAuCiAKICAgICAgICBlCGV4CHhlCGVjCGMgWy0ILWMIY2wIbF0gWy0ILWEIYSBfCG5fCGFfCG1fCGVdIFtfCGNfCG9fCG1fCG1fCGFfCG5fCGQgW18IYV8Icl8IZ18IdV8IbV8IZV8Ibl8IdF8Ic11dCi0gICAgICAgICAgICAgIElmICBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgaXMgc3BlY2lmaWVkLCBpdCByZXBsYWNlcyB0aGUgc2hlbGwuICBObyBuZXcgcHJvY2VzcwotICAgICAgICAgICAgICBpcyBjcmVhdGVkLiAgVGhlIF8IYV8Icl8IZ18IdV8IbV8IZV8Ibl8IdF8IcyBiZWNvbWUgdGhlIGFyZ3VtZW50cyB0byBfCGNfCG9fCG1fCG1fCGFfCG5fCGQuICAgSWYKKyAgICAgICAgICAgICAgSWYgXwhjXwhvXwhtXwhtXwhhXwhuXwhkIGlzIHNwZWNpZmllZCwgaXQgcmVwbGFjZXMgdGhlIHNoZWxsLiAgTm8gbmV3ICBwcm9jZXNzCisgICAgICAgICAgICAgIGlzICBjcmVhdGVkLiAgVGhlIF8IYV8Icl8IZ18IdV8IbV8IZV8Ibl8IdF8IcyBiZWNvbWUgdGhlIGFyZ3VtZW50cyB0byBfCGNfCG9fCG1fCG1fCGFfCG5fCGQuICBJZgogICAgICAgICAgICAgICB0aGUgLQgtbAhsIG9wdGlvbiBpcyBzdXBwbGllZCwgdGhlIHNoZWxsIHBsYWNlcyBhIGRhc2ggYXQgdGhlIGJlZ2luLQotICAgICAgICAgICAgICBuaW5nIG9mIHRoZSB6ZXJvdGggYXJndW1lbnQgcGFzc2VkIHRvICBfCGNfCG9fCG1fCG1fCGFfCG5fCGQuICAgVGhpcyAgaXMgIHdoYXQKKyAgICAgICAgICAgICAgbmluZyAgb2YgIHRoZSAgemVyb3RoICBhcmd1bWVudCBwYXNzZWQgdG8gXwhjXwhvXwhtXwhtXwhhXwhuXwhkLiAgVGhpcyBpcyB3aGF0CiAgICAgICAgICAgICAgIF8IbF8Ib18IZ18IaV8IbigxKSBkb2VzLiAgVGhlIC0ILWMIYyBvcHRpb24gY2F1c2VzIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCB0byBiZSBleGVjdXRlZCB3aXRoCi0gICAgICAgICAgICAgIGFuIGVtcHR5IGVudmlyb25tZW50LiAgSWYgLQgtYQhhIGlzIHN1cHBsaWVkLCB0aGUgc2hlbGwgcGFzc2VzICBfCG5fCGFfCG1fCGUKKyAgICAgICAgICAgICAgYW4gIGVtcHR5IGVudmlyb25tZW50LiAgSWYgLQgtYQhhIGlzIHN1cHBsaWVkLCB0aGUgc2hlbGwgcGFzc2VzIF8Ibl8IYV8IbV8IZQogICAgICAgICAgICAgICBhcyB0aGUgemVyb3RoIGFyZ3VtZW50IHRvIHRoZSBleGVjdXRlZCBjb21tYW5kLiAgSWYgXwhjXwhvXwhtXwhtXwhhXwhuXwhkIGNhbi0KLSAgICAgICAgICAgICAgbm90IGJlIGV4ZWN1dGVkIGZvciBzb21lIHJlYXNvbiwgYSBub24taW50ZXJhY3RpdmUgc2hlbGwgIGV4aXRzLAotICAgICAgICAgICAgICB1bmxlc3MgIHRoZSAgc2hlbGwgIG9wdGlvbiBlCGV4CHhlCGVjCGNmCGZhCGFpCGlsCGwgaXMgZW5hYmxlZCwgaW4gd2hpY2ggY2FzZSBpdAotICAgICAgICAgICAgICByZXR1cm5zIGZhaWx1cmUuICBBbiBpbnRlcmFjdGl2ZSBzaGVsbCByZXR1cm5zICBmYWlsdXJlICBpZiAgdGhlCisgICAgICAgICAgICAgIG5vdCAgYmUgZXhlY3V0ZWQgZm9yIHNvbWUgcmVhc29uLCBhIG5vbi1pbnRlcmFjdGl2ZSBzaGVsbCBleGl0cywKKyAgICAgICAgICAgICAgdW5sZXNzIHRoZSBzaGVsbCBvcHRpb24gZQhleAh4ZQhlYwhjZghmYQhhaQhpbAhsIGlzIGVuYWJsZWQsIGluICB3aGljaCAgY2FzZSAgaXQKKyAgICAgICAgICAgICAgcmV0dXJucyAgZmFpbHVyZS4gICBBbiAgaW50ZXJhY3RpdmUgc2hlbGwgcmV0dXJucyBmYWlsdXJlIGlmIHRoZQogICAgICAgICAgICAgICBmaWxlIGNhbm5vdCBiZSBleGVjdXRlZC4gIElmIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBpcyBub3Qgc3BlY2lmaWVkLCBhbnkgcmVkaS0KICAgICAgICAgICAgICAgcmVjdGlvbnMgdGFrZSBlZmZlY3QgaW4gdGhlIGN1cnJlbnQgc2hlbGwsIGFuZCB0aGUgcmV0dXJuIHN0YXR1cwotICAgICAgICAgICAgICBpcyAgMC4gIElmIHRoZXJlIGlzIGEgcmVkaXJlY3Rpb24gZXJyb3IsIHRoZSByZXR1cm4gc3RhdHVzIGlzIDEuCisgICAgICAgICAgICAgIGlzIDAuICBJZiB0aGVyZSBpcyBhIHJlZGlyZWN0aW9uIGVycm9yLCB0aGUgcmV0dXJuIHN0YXR1cyBpcyAgMS4KIAogICAgICAgIGUIZXgIeGkIaXQIdCBbXwhuXQotICAgICAgICAgICAgICBDYXVzZSB0aGUgc2hlbGwgdG8gZXhpdCB3aXRoIGEgc3RhdHVzIG9mIF8Ibi4gIElmICBfCG4gIGlzICBvbWl0dGVkLAorICAgICAgICAgICAgICBDYXVzZSAgdGhlICBzaGVsbCAgdG8gZXhpdCB3aXRoIGEgc3RhdHVzIG9mIF8Ibi4gIElmIF8IbiBpcyBvbWl0dGVkLAogICAgICAgICAgICAgICB0aGUgZXhpdCBzdGF0dXMgaXMgdGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiAgQSB0cmFwIG9uCiAgICAgICAgICAgICAgIEUIRVgIWEkISVQIVCBpcyBleGVjdXRlZCBiZWZvcmUgdGhlIHNoZWxsIHRlcm1pbmF0ZXMuCiAKICAgICAgICBlCGV4CHhwCHBvCG9yCHJ0CHQgWy0ILWYIZm4Ibl0gW18Ibl8IYV8IbV8IZVs9Xwh3XwhvXwhyXwhkXV0gLi4uCiAgICAgICAgZQhleAh4cAhwbwhvcghydAh0IC0ILXAIcAotICAgICAgICAgICAgICBUaGUgc3VwcGxpZWQgXwhuXwhhXwhtXwhlXwhzIGFyZSBtYXJrZWQgZm9yIGF1dG9tYXRpYyBleHBvcnQgdG8gdGhlICBlbnZpLQotICAgICAgICAgICAgICByb25tZW50ICBvZiBzdWJzZXF1ZW50bHkgZXhlY3V0ZWQgY29tbWFuZHMuICBJZiB0aGUgLQgtZghmIG9wdGlvbiBpcwotICAgICAgICAgICAgICBnaXZlbiwgdGhlIF8Ibl8IYV8IbV8IZV8IcyByZWZlciB0byBmdW5jdGlvbnMuICBJZiBubyBfCG5fCGFfCG1fCGVfCHMgYXJlIGdpdmVuLCAgb3IKLSAgICAgICAgICAgICAgaWYgIHRoZSAgLQgtcAhwICBvcHRpb24gIGlzICBzdXBwbGllZCwgIGEgbGlzdCBvZiBhbGwgbmFtZXMgdGhhdCBhcmUKLSAgICAgICAgICAgICAgZXhwb3J0ZWQgaW4gdGhpcyBzaGVsbCBpcyBwcmludGVkLiAgVGhlICAtCC1uCG4gIG9wdGlvbiAgY2F1c2VzICB0aGUKLSAgICAgICAgICAgICAgZXhwb3J0ICBwcm9wZXJ0eSAgdG8gIGJlICByZW1vdmVkIGZyb20gZWFjaCBfCG5fCGFfCG1fCGUuICBJZiBhIHZhcmlhYmxlCi0gICAgICAgICAgICAgIG5hbWUgaXMgZm9sbG93ZWQgYnkgPV8Id18Ib18Icl8IZCwgdGhlIHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBpcyAgc2V0ICB0bwotICAgICAgICAgICAgICBfCHdfCG9fCHJfCGQuICAgZQhleAh4cAhwbwhvcghydAh0ICByZXR1cm5zICBhbiAgZXhpdCAgc3RhdHVzIG9mIDAgdW5sZXNzIGFuIGludmFsaWQKLSAgICAgICAgICAgICAgb3B0aW9uIGlzIGVuY291bnRlcmVkLCBvbmUgb2YgdGhlIF8Ibl8IYV8IbV8IZV8IcyBpcyAgbm90ICBhICB2YWxpZCAgc2hlbGwKKyAgICAgICAgICAgICAgVGhlICBzdXBwbGllZCBfCG5fCGFfCG1fCGVfCHMgYXJlIG1hcmtlZCBmb3IgYXV0b21hdGljIGV4cG9ydCB0byB0aGUgZW52aS0KKyAgICAgICAgICAgICAgcm9ubWVudCBvZiBzdWJzZXF1ZW50bHkgZXhlY3V0ZWQgY29tbWFuZHMuICBJZiB0aGUgLQgtZghmIG9wdGlvbiAgaXMKKyAgICAgICAgICAgICAgZ2l2ZW4sICB0aGUgXwhuXwhhXwhtXwhlXwhzIHJlZmVyIHRvIGZ1bmN0aW9ucy4gIElmIG5vIF8Ibl8IYV8IbV8IZV8IcyBhcmUgZ2l2ZW4sIG9yCisgICAgICAgICAgICAgIGlmIHRoZSAtCC1wCHAgb3B0aW9uIGlzIHN1cHBsaWVkLCBhICBsaXN0ICBvZiAgYWxsICBuYW1lcyAgdGhhdCAgYXJlCisgICAgICAgICAgICAgIGV4cG9ydGVkICBpbiAgdGhpcyAgc2hlbGwgIGlzIHByaW50ZWQuICBUaGUgLQgtbghuIG9wdGlvbiBjYXVzZXMgdGhlCisgICAgICAgICAgICAgIGV4cG9ydCBwcm9wZXJ0eSB0byBiZSByZW1vdmVkIGZyb20gZWFjaCAgXwhuXwhhXwhtXwhlLiAgIElmICBhICB2YXJpYWJsZQorICAgICAgICAgICAgICBuYW1lICBpcyAgZm9sbG93ZWQgYnkgPV8Id18Ib18Icl8IZCwgdGhlIHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBpcyBzZXQgdG8KKyAgICAgICAgICAgICAgXwh3XwhvXwhyXwhkLiAgZQhleAh4cAhwbwhvcghydAh0IHJldHVybnMgYW4gZXhpdCBzdGF0dXMgIG9mICAwICB1bmxlc3MgIGFuICBpbnZhbGlkCisgICAgICAgICAgICAgIG9wdGlvbiAgaXMgIGVuY291bnRlcmVkLCAgb25lICBvZiB0aGUgXwhuXwhhXwhtXwhlXwhzIGlzIG5vdCBhIHZhbGlkIHNoZWxsCiAgICAgICAgICAgICAgIHZhcmlhYmxlIG5hbWUsIG9yIC0ILWYIZiBpcyBzdXBwbGllZCB3aXRoIGEgXwhuXwhhXwhtXwhlIHRoYXQgaXMgbm90IGEgZnVuYy0KICAgICAgICAgICAgICAgdGlvbi4KIAogICAgICAgIGYIZmMIYyBbLQgtZQhlIF8IZV8Ibl8IYV8IbV8IZV0gWy0ILWwIbG4IbnIIcl0gW18IZl8IaV8Icl8Ic18IdF0gW18IbF8IYV8Ic18IdF0KICAgICAgICBmCGZjCGMgLQgtcwhzIFtfCHBfCGFfCHQ9XwhyXwhlXwhwXSBbXwhjXwhtXwhkXQotICAgICAgICAgICAgICBGaXggQ29tbWFuZC4gIEluIHRoZSBmaXJzdCBmb3JtLCBhIHJhbmdlIG9mIGNvbW1hbmRzIGZyb20gIF8IZl8IaV8Icl8Ic18IdAotICAgICAgICAgICAgICB0byAgXwhsXwhhXwhzXwh0ICBpcyBzZWxlY3RlZCBmcm9tIHRoZSBoaXN0b3J5IGxpc3QuICBfCEZfCGlfCHJfCHNfCHQgYW5kIF8IbF8IYV8Ic18IdCBtYXkKLSAgICAgICAgICAgICAgYmUgc3BlY2lmaWVkIGFzIGEgc3RyaW5nICh0byBsb2NhdGUgdGhlIGxhc3QgIGNvbW1hbmQgIGJlZ2lubmluZwotICAgICAgICAgICAgICB3aXRoICB0aGF0ICBzdHJpbmcpICBvciAgYXMgIGEgbnVtYmVyIChhbiBpbmRleCBpbnRvIHRoZSBoaXN0b3J5CisgICAgICAgICAgICAgIEZpeCAgQ29tbWFuZC4gIEluIHRoZSBmaXJzdCBmb3JtLCBhIHJhbmdlIG9mIGNvbW1hbmRzIGZyb20gXwhmXwhpXwhyXwhzXwh0CisgICAgICAgICAgICAgIHRvIF8IbF8IYV8Ic18IdCBpcyBzZWxlY3RlZCBmcm9tIHRoZSBoaXN0b3J5IGxpc3QuICBfCEZfCGlfCHJfCHNfCHQgYW5kICBfCGxfCGFfCHNfCHQgIG1heQorICAgICAgICAgICAgICBiZSAgc3BlY2lmaWVkICBhcyBhIHN0cmluZyAodG8gbG9jYXRlIHRoZSBsYXN0IGNvbW1hbmQgYmVnaW5uaW5nCisgICAgICAgICAgICAgIHdpdGggdGhhdCBzdHJpbmcpIG9yIGFzIGEgbnVtYmVyICAoYW4gIGluZGV4ICBpbnRvICB0aGUgIGhpc3RvcnkKICAgICAgICAgICAgICAgbGlzdCwgd2hlcmUgYSBuZWdhdGl2ZSBudW1iZXIgaXMgdXNlZCBhcyBhbiBvZmZzZXQgZnJvbSB0aGUgY3VyLQogICAgICAgICAgICAgICByZW50IGNvbW1hbmQgbnVtYmVyKS4gIElmIF8IbF8IYV8Ic18IdCBpcyBub3Qgc3BlY2lmaWVkIGl0IGlzIHNldCB0byB0aGUKLSAgICAgICAgICAgICAgY3VycmVudCBjb21tYW5kIGZvciBsaXN0aW5nIChzbyB0aGF0IGBgZmMgLWwgIC0xMCcnICBwcmludHMgIHRoZQorICAgICAgICAgICAgICBjdXJyZW50ICBjb21tYW5kICBmb3IgIGxpc3RpbmcgKHNvIHRoYXQgYGBmYyAtbCAtMTAnJyBwcmludHMgdGhlCiAgICAgICAgICAgICAgIGxhc3QgMTAgY29tbWFuZHMpIGFuZCB0byBfCGZfCGlfCHJfCHNfCHQgb3RoZXJ3aXNlLiAgSWYgXwhmXwhpXwhyXwhzXwh0IGlzIG5vdCBzcGVjLQotICAgICAgICAgICAgICBpZmllZCBpdCBpcyBzZXQgdG8gdGhlIHByZXZpb3VzIGNvbW1hbmQgZm9yIGVkaXRpbmcgYW5kIC0xNiAgZm9yCisgICAgICAgICAgICAgIGlmaWVkICBpdCBpcyBzZXQgdG8gdGhlIHByZXZpb3VzIGNvbW1hbmQgZm9yIGVkaXRpbmcgYW5kIC0xNiBmb3IKICAgICAgICAgICAgICAgbGlzdGluZy4KIAotICAgICAgICAgICAgICBUaGUgIC0ILW4IbiBvcHRpb24gc3VwcHJlc3NlcyB0aGUgY29tbWFuZCBudW1iZXJzIHdoZW4gbGlzdGluZy4gIFRoZQotICAgICAgICAgICAgICAtCC1yCHIgb3B0aW9uIHJldmVyc2VzIHRoZSBvcmRlciBvZiB0aGUgY29tbWFuZHMuICBJZiB0aGUgLQgtbAhsICBvcHRpb24KLSAgICAgICAgICAgICAgaXMgIGdpdmVuLCAgdGhlICBjb21tYW5kcyBhcmUgbGlzdGVkIG9uIHN0YW5kYXJkIG91dHB1dC4gIE90aGVyLQotICAgICAgICAgICAgICB3aXNlLCB0aGUgZWRpdG9yIGdpdmVuIGJ5IF8IZV8Ibl8IYV8IbV8IZSBpcyBpbnZva2VkIG9uIGEgZmlsZSAgY29udGFpbmluZwotICAgICAgICAgICAgICB0aG9zZSAgY29tbWFuZHMuICBJZiBfCGVfCG5fCGFfCG1fCGUgaXMgbm90IGdpdmVuLCB0aGUgdmFsdWUgb2YgdGhlIEYIRkMIQ0UIRUQIREkISVQIVAotICAgICAgICAgICAgICB2YXJpYWJsZSBpcyB1c2VkLCBhbmQgdGhlIHZhbHVlIG9mIEUIRUQIREkISVQIVE8IT1IIUiBpZiBGCEZDCENFCEVECERJCElUCFQgaXMgbm90ICBzZXQuCi0gICAgICAgICAgICAgIElmICBuZWl0aGVyICB2YXJpYWJsZSAgaXMgc2V0LCBfCHZfCGkgaXMgdXNlZC4gIFdoZW4gZWRpdGluZyBpcyBjb20tCisgICAgICAgICAgICAgIFRoZSAtCC1uCG4gb3B0aW9uIHN1cHByZXNzZXMgdGhlIGNvbW1hbmQgbnVtYmVycyB3aGVuIGxpc3RpbmcuICAgVGhlCisgICAgICAgICAgICAgIC0ILXIIciAgb3B0aW9uIHJldmVyc2VzIHRoZSBvcmRlciBvZiB0aGUgY29tbWFuZHMuICBJZiB0aGUgLQgtbAhsIG9wdGlvbgorICAgICAgICAgICAgICBpcyBnaXZlbiwgdGhlIGNvbW1hbmRzIGFyZSBsaXN0ZWQgb24gIHN0YW5kYXJkICBvdXRwdXQuICAgT3RoZXItCisgICAgICAgICAgICAgIHdpc2UsICB0aGUgZWRpdG9yIGdpdmVuIGJ5IF8IZV8Ibl8IYV8IbV8IZSBpcyBpbnZva2VkIG9uIGEgZmlsZSBjb250YWluaW5nCisgICAgICAgICAgICAgIHRob3NlIGNvbW1hbmRzLiAgSWYgXwhlXwhuXwhhXwhtXwhlIGlzIG5vdCBnaXZlbiwgdGhlIHZhbHVlIG9mIHRoZSAgRghGQwhDRQhFRAhESQhJVAhUCisgICAgICAgICAgICAgIHZhcmlhYmxlICBpcyB1c2VkLCBhbmQgdGhlIHZhbHVlIG9mIEUIRUQIREkISVQIVE8IT1IIUiBpZiBGCEZDCENFCEVECERJCElUCFQgaXMgbm90IHNldC4KKyAgICAgICAgICAgICAgSWYgbmVpdGhlciB2YXJpYWJsZSBpcyBzZXQsIF8Idl8IaSBpcyB1c2VkLiAgV2hlbiAgZWRpdGluZyAgaXMgIGNvbS0KICAgICAgICAgICAgICAgcGxldGUsIHRoZSBlZGl0ZWQgY29tbWFuZHMgYXJlIGVjaG9lZCBhbmQgZXhlY3V0ZWQuCiAKLSAgICAgICAgICAgICAgSW4gdGhlIHNlY29uZCBmb3JtLCBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgaXMgcmUtZXhlY3V0ZWQgYWZ0ZXIgIGVhY2ggIGluc3RhbmNlCi0gICAgICAgICAgICAgIG9mICBfCHBfCGFfCHQgIGlzIHJlcGxhY2VkIGJ5IF8Icl8IZV8IcC4gIEEgdXNlZnVsIGFsaWFzIHRvIHVzZSB3aXRoIHRoaXMgaXMKLSAgICAgICAgICAgICAgYGByPSJmYyAtcyInJywgc28gdGhhdCB0eXBpbmcgYGByIGNjJycgIHJ1bnMgIHRoZSAgbGFzdCAgY29tbWFuZAorICAgICAgICAgICAgICBJbiAgdGhlICBzZWNvbmQgZm9ybSwgXwhjXwhvXwhtXwhtXwhhXwhuXwhkIGlzIHJlLWV4ZWN1dGVkIGFmdGVyIGVhY2ggaW5zdGFuY2UKKyAgICAgICAgICAgICAgb2YgXwhwXwhhXwh0IGlzIHJlcGxhY2VkIGJ5IF8Icl8IZV8IcC4gIEEgdXNlZnVsIGFsaWFzIHRvIHVzZSB3aXRoICB0aGlzICBpcworICAgICAgICAgICAgICBgYHI9ImZjICAtcyInJywgIHNvICB0aGF0ICB0eXBpbmcgYGByIGNjJycgcnVucyB0aGUgbGFzdCBjb21tYW5kCiAgICAgICAgICAgICAgIGJlZ2lubmluZyB3aXRoIGBgY2MnJyBhbmQgdHlwaW5nIGBgcicnIHJlLWV4ZWN1dGVzIHRoZSBsYXN0IGNvbS0KICAgICAgICAgICAgICAgbWFuZC4KIAotICAgICAgICAgICAgICBJZiB0aGUgZmlyc3QgZm9ybSBpcyB1c2VkLCB0aGUgIHJldHVybiAgdmFsdWUgIGlzICAwICB1bmxlc3MgIGFuCi0gICAgICAgICAgICAgIGludmFsaWQgIG9wdGlvbiAgaXMgZW5jb3VudGVyZWQgb3IgXwhmXwhpXwhyXwhzXwh0IG9yIF8IbF8IYV8Ic18IdCBzcGVjaWZ5IGhpc3RvcnkKLSAgICAgICAgICAgICAgbGluZXMgb3V0IG9mIHJhbmdlLiAgSWYgdGhlIC0ILWUIZSBvcHRpb24gaXMgIHN1cHBsaWVkLCAgdGhlICByZXR1cm4KKyAgICAgICAgICAgICAgSWYgIHRoZSAgZmlyc3QgIGZvcm0gIGlzICB1c2VkLCAgdGhlIHJldHVybiB2YWx1ZSBpcyAwIHVubGVzcyBhbgorICAgICAgICAgICAgICBpbnZhbGlkIG9wdGlvbiBpcyBlbmNvdW50ZXJlZCBvciBfCGZfCGlfCHJfCHNfCHQgb3IgXwhsXwhhXwhzXwh0ICBzcGVjaWZ5ICBoaXN0b3J5CisgICAgICAgICAgICAgIGxpbmVzICBvdXQgIG9mICByYW5nZS4gIElmIHRoZSAtCC1lCGUgb3B0aW9uIGlzIHN1cHBsaWVkLCB0aGUgcmV0dXJuCiAgICAgICAgICAgICAgIHZhbHVlIGlzIHRoZSB2YWx1ZSBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkIG9yIGZhaWx1cmUgaWYgYW4KICAgICAgICAgICAgICAgZXJyb3Igb2NjdXJzIHdpdGggdGhlIHRlbXBvcmFyeSBmaWxlIG9mIGNvbW1hbmRzLiAgSWYgdGhlIHNlY29uZAotICAgICAgICAgICAgICBmb3JtICBpcyAgdXNlZCwgdGhlIHJldHVybiBzdGF0dXMgaXMgdGhhdCBvZiB0aGUgY29tbWFuZCByZS1leGUtCi0gICAgICAgICAgICAgIGN1dGVkLCB1bmxlc3MgXwhjXwhtXwhkIGRvZXMgbm90IHNwZWNpZnkgIGEgIHZhbGlkICBoaXN0b3J5ICBsaW5lLCAgaW4KKyAgICAgICAgICAgICAgZm9ybSBpcyB1c2VkLCB0aGUgcmV0dXJuIHN0YXR1cyBpcyB0aGF0IG9mIHRoZSAgY29tbWFuZCAgcmUtZXhlLQorICAgICAgICAgICAgICBjdXRlZCwgIHVubGVzcyAgXwhjXwhtXwhkICBkb2VzICBub3QgIHNwZWNpZnkgYSB2YWxpZCBoaXN0b3J5IGxpbmUsIGluCiAgICAgICAgICAgICAgIHdoaWNoIGNhc2UgZghmYwhjIHJldHVybnMgZmFpbHVyZS4KIAogICAgICAgIGYIZmcIZyBbXwhqXwhvXwhiXwhzXwhwXwhlXwhjXQotICAgICAgICAgICAgICBSZXN1bWUgIF8Ial8Ib18IYl8Ic18IcF8IZV8IYyAgaW4gdGhlIGZvcmVncm91bmQsIGFuZCBtYWtlIGl0IHRoZSBjdXJyZW50IGpvYi4KKyAgICAgICAgICAgICAgUmVzdW1lIF8Ial8Ib18IYl8Ic18IcF8IZV8IYyBpbiB0aGUgZm9yZWdyb3VuZCwgYW5kIG1ha2UgaXQgdGhlICBjdXJyZW50ICBqb2IuCiAgICAgICAgICAgICAgIElmIF8Ial8Ib18IYl8Ic18IcF8IZV8IYyBpcyBub3QgcHJlc2VudCwgdGhlIHNoZWxsJ3Mgbm90aW9uIG9mIHRoZSBfCGNfCHVfCHJfCHJfCGVfCG5fCHQgXwhqXwhvXwhiCi0gICAgICAgICAgICAgIGlzICB1c2VkLiAgIFRoZSAgcmV0dXJuIHZhbHVlIGlzIHRoYXQgb2YgdGhlIGNvbW1hbmQgcGxhY2VkIGludG8KLSAgICAgICAgICAgICAgdGhlIGZvcmVncm91bmQsIG9yIGZhaWx1cmUgaWYgcnVuIHdoZW4gam9iIGNvbnRyb2wgIGlzICBkaXNhYmxlZAorICAgICAgICAgICAgICBpcyB1c2VkLiAgVGhlIHJldHVybiB2YWx1ZSBpcyB0aGF0IG9mIHRoZSAgY29tbWFuZCAgcGxhY2VkICBpbnRvCisgICAgICAgICAgICAgIHRoZSAgZm9yZWdyb3VuZCwgIG9yIGZhaWx1cmUgaWYgcnVuIHdoZW4gam9iIGNvbnRyb2wgaXMgZGlzYWJsZWQKICAgICAgICAgICAgICAgb3IsIHdoZW4gcnVuIHdpdGggam9iIGNvbnRyb2wgZW5hYmxlZCwgaWYgXwhqXwhvXwhiXwhzXwhwXwhlXwhjIGRvZXMgbm90IHNwZWMtCi0gICAgICAgICAgICAgIGlmeSBhIHZhbGlkIGpvYiBvciBfCGpfCG9fCGJfCHNfCHBfCGVfCGMgc3BlY2lmaWVzICBhICBqb2IgIHRoYXQgIHdhcyAgc3RhcnRlZAorICAgICAgICAgICAgICBpZnkgIGEgIHZhbGlkICBqb2IgIG9yICBfCGpfCG9fCGJfCHNfCHBfCGVfCGMgc3BlY2lmaWVzIGEgam9iIHRoYXQgd2FzIHN0YXJ0ZWQKICAgICAgICAgICAgICAgd2l0aG91dCBqb2IgY29udHJvbC4KIAogICAgICAgIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyBfCG9fCHBfCHRfCHNfCHRfCHJfCGlfCG5fCGcgXwhuXwhhXwhtXwhlIFtfCGFfCHJfCGdfCHNdCi0gICAgICAgICAgICAgIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyAgaXMgdXNlZCBieSBzaGVsbCBwcm9jZWR1cmVzIHRvIHBhcnNlIHBvc2l0aW9uYWwgcGFyYW1lLQotICAgICAgICAgICAgICB0ZXJzLiAgXwhvXwhwXwh0XwhzXwh0XwhyXwhpXwhuXwhnIGNvbnRhaW5zIHRoZSBvcHRpb24gIGNoYXJhY3RlcnMgIHRvICBiZSAgcmVjb2ctCi0gICAgICAgICAgICAgIG5pemVkOyAgaWYgIGEgIGNoYXJhY3RlciAgaXMgIGZvbGxvd2VkIGJ5IGEgY29sb24sIHRoZSBvcHRpb24gaXMKLSAgICAgICAgICAgICAgZXhwZWN0ZWQgdG8gaGF2ZSBhbiBhcmd1bWVudCwgd2hpY2ggc2hvdWxkIGJlIHNlcGFyYXRlZCBmcm9tICBpdAotICAgICAgICAgICAgICBieSAgd2hpdGUgc3BhY2UuICBUaGUgY29sb24gYW5kIHF1ZXN0aW9uIG1hcmsgY2hhcmFjdGVycyBtYXkgbm90Ci0gICAgICAgICAgICAgIGJlIHVzZWQgYXMgb3B0aW9uIGNoYXJhY3RlcnMuICBFYWNoIHRpbWUgaXQgaXMgaW52b2tlZCwgIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcwotICAgICAgICAgICAgICBwbGFjZXMgIHRoZSBuZXh0IG9wdGlvbiBpbiB0aGUgc2hlbGwgdmFyaWFibGUgXwhuXwhhXwhtXwhlLCBpbml0aWFsaXppbmcKKyAgICAgICAgICAgICAgZwhnZQhldAh0bwhvcAhwdAh0cwhzIGlzIHVzZWQgYnkgc2hlbGwgcHJvY2VkdXJlcyB0byBwYXJzZSBwb3NpdGlvbmFsICBwYXJhbWUtCisgICAgICAgICAgICAgIHRlcnMuICAgXwhvXwhwXwh0XwhzXwh0XwhyXwhpXwhuXwhnICBjb250YWlucyAgdGhlICBvcHRpb24gY2hhcmFjdGVycyB0byBiZSByZWNvZy0KKyAgICAgICAgICAgICAgbml6ZWQ7IGlmIGEgY2hhcmFjdGVyIGlzIGZvbGxvd2VkIGJ5ICBhICBjb2xvbiwgIHRoZSAgb3B0aW9uICBpcworICAgICAgICAgICAgICBleHBlY3RlZCAgdG8gaGF2ZSBhbiBhcmd1bWVudCwgd2hpY2ggc2hvdWxkIGJlIHNlcGFyYXRlZCBmcm9tIGl0CisgICAgICAgICAgICAgIGJ5IHdoaXRlIHNwYWNlLiAgVGhlIGNvbG9uIGFuZCBxdWVzdGlvbiBtYXJrIGNoYXJhY3RlcnMgbWF5ICBub3QKKyAgICAgICAgICAgICAgYmUgIHVzZWQgYXMgb3B0aW9uIGNoYXJhY3RlcnMuICBFYWNoIHRpbWUgaXQgaXMgaW52b2tlZCwgZwhnZQhldAh0bwhvcAhwdAh0cwhzCisgICAgICAgICAgICAgIHBsYWNlcyB0aGUgbmV4dCBvcHRpb24gaW4gdGhlIHNoZWxsIHZhcmlhYmxlIF8Ibl8IYV8IbV8IZSwgIGluaXRpYWxpemluZwogICAgICAgICAgICAgICBfCG5fCGFfCG1fCGUgaWYgaXQgZG9lcyBub3QgZXhpc3QsIGFuZCB0aGUgaW5kZXggb2YgdGhlIG5leHQgYXJndW1lbnQgdG8KICAgICAgICAgICAgICAgYmUgcHJvY2Vzc2VkIGludG8gdGhlIHZhcmlhYmxlIE8IT1AIUFQIVEkISU4ITkQIRC4gIE8IT1AIUFQIVEkISU4ITkQIRCBpcyBpbml0aWFsaXplZCB0bwotICAgICAgICAgICAgICAxIGVhY2ggdGltZSB0aGUgc2hlbGwgb3IgYSBzaGVsbCBzY3JpcHQgIGlzICBpbnZva2VkLiAgIFdoZW4gIGFuCi0gICAgICAgICAgICAgIG9wdGlvbiAgcmVxdWlyZXMgIGFuIGFyZ3VtZW50LCBnCGdlCGV0CHRvCG9wCHB0CHRzCHMgcGxhY2VzIHRoYXQgYXJndW1lbnQgaW50bwotICAgICAgICAgICAgICB0aGUgdmFyaWFibGUgTwhPUAhQVAhUQQhBUghSRwhHLiAgVGhlIHNoZWxsIGRvZXMgbm90IHJlc2V0IE8IT1AIUFQIVEkISU4ITkQIRCAgYXV0b21hdGktCi0gICAgICAgICAgICAgIGNhbGx5OyAgaXQgIG11c3QgIGJlICBtYW51YWxseSAgcmVzZXQgIGJldHdlZW4gbXVsdGlwbGUgY2FsbHMgdG8KKyAgICAgICAgICAgICAgMSAgZWFjaCAgdGltZSAgdGhlICBzaGVsbCBvciBhIHNoZWxsIHNjcmlwdCBpcyBpbnZva2VkLiAgV2hlbiBhbgorICAgICAgICAgICAgICBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQsIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyBwbGFjZXMgdGhhdCAgYXJndW1lbnQgIGludG8KKyAgICAgICAgICAgICAgdGhlICB2YXJpYWJsZSBPCE9QCFBUCFRBCEFSCFJHCEcuICBUaGUgc2hlbGwgZG9lcyBub3QgcmVzZXQgTwhPUAhQVAhUSQhJTghORAhEIGF1dG9tYXRpLQorICAgICAgICAgICAgICBjYWxseTsgaXQgbXVzdCBiZSAgbWFudWFsbHkgIHJlc2V0ICBiZXR3ZWVuICBtdWx0aXBsZSAgY2FsbHMgIHRvCiAgICAgICAgICAgICAgIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyB3aXRoaW4gdGhlIHNhbWUgc2hlbGwgaW52b2NhdGlvbiBpZiBhIG5ldyBzZXQgb2YgcGFyYW1lLQogICAgICAgICAgICAgICB0ZXJzIGlzIHRvIGJlIHVzZWQuCiAKLSAgICAgICAgICAgICAgV2hlbiAgdGhlICBlbmQgIG9mICBvcHRpb25zIGlzIGVuY291bnRlcmVkLCBnCGdlCGV0CHRvCG9wCHB0CHRzCHMgZXhpdHMgd2l0aCBhCi0gICAgICAgICAgICAgIHJldHVybiB2YWx1ZSBncmVhdGVyIHRoYW4gemVyby4gIE8IT1AIUFQIVEkISU4ITkQIRCBpcyBzZXQgdG8gdGhlICBpbmRleCAgb2YKKyAgICAgICAgICAgICAgV2hlbiB0aGUgZW5kIG9mIG9wdGlvbnMgaXMgZW5jb3VudGVyZWQsICBnCGdlCGV0CHRvCG9wCHB0CHRzCHMgIGV4aXRzICB3aXRoICBhCisgICAgICAgICAgICAgIHJldHVybiAgdmFsdWUgIGdyZWF0ZXIgdGhhbiB6ZXJvLiAgTwhPUAhQVAhUSQhJTghORAhEIGlzIHNldCB0byB0aGUgaW5kZXggb2YKICAgICAgICAgICAgICAgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQsIGFuZCBuCG5hCGFtCG1lCGUgaXMgc2V0IHRvID8uCiAKLSAgICAgICAgICAgICAgZwhnZQhldAh0bwhvcAhwdAh0cwhzICBub3JtYWxseSAgcGFyc2VzIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMsIGJ1dCBpZiBtb3JlCisgICAgICAgICAgICAgIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyBub3JtYWxseSBwYXJzZXMgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycywgYnV0ICBpZiAgbW9yZQogICAgICAgICAgICAgICBhcmd1bWVudHMgYXJlIGdpdmVuIGluIF8IYV8Icl8IZ18IcywgZwhnZQhldAh0bwhvcAhwdAh0cwhzIHBhcnNlcyB0aG9zZSBpbnN0ZWFkLgogCi0gICAgICAgICAgICAgIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyBjYW4gcmVwb3J0IGVycm9ycyBpbiB0d28gd2F5cy4gIElmIHRoZSAgZmlyc3QgIGNoYXJhY3RlcgotICAgICAgICAgICAgICBvZiAgXwhvXwhwXwh0XwhzXwh0XwhyXwhpXwhuXwhnICBpcyAgYSAgY29sb24sIF8Ic18IaV8IbF8IZV8Ibl8IdCBlcnJvciByZXBvcnRpbmcgaXMgdXNlZC4gIEluCi0gICAgICAgICAgICAgIG5vcm1hbCBvcGVyYXRpb24gZGlhZ25vc3RpYyBtZXNzYWdlcyBhcmUgIHByaW50ZWQgIHdoZW4gIGludmFsaWQKLSAgICAgICAgICAgICAgb3B0aW9ucyAgb3IgIG1pc3NpbmcgIG9wdGlvbiAgYXJndW1lbnRzIGFyZSBlbmNvdW50ZXJlZC4gIElmIHRoZQotICAgICAgICAgICAgICB2YXJpYWJsZSBPCE9QCFBUCFRFCEVSCFJSCFIgaXMgc2V0IHRvIDAsIG5vICBlcnJvciAgbWVzc2FnZXMgIHdpbGwgIGJlICBkaXMtCisgICAgICAgICAgICAgIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyAgY2FuICByZXBvcnQgZXJyb3JzIGluIHR3byB3YXlzLiAgSWYgdGhlIGZpcnN0IGNoYXJhY3RlcgorICAgICAgICAgICAgICBvZiBfCG9fCHBfCHRfCHNfCHRfCHJfCGlfCG5fCGcgaXMgYSBjb2xvbiwgXwhzXwhpXwhsXwhlXwhuXwh0IGVycm9yICByZXBvcnRpbmcgIGlzICB1c2VkLiAgIEluCisgICAgICAgICAgICAgIG5vcm1hbCAgb3BlcmF0aW9uICBkaWFnbm9zdGljICBtZXNzYWdlcyBhcmUgcHJpbnRlZCB3aGVuIGludmFsaWQKKyAgICAgICAgICAgICAgb3B0aW9ucyBvciBtaXNzaW5nIG9wdGlvbiBhcmd1bWVudHMgIGFyZSAgZW5jb3VudGVyZWQuICAgSWYgIHRoZQorICAgICAgICAgICAgICB2YXJpYWJsZSAgTwhPUAhQVAhURQhFUghSUghSICBpcyAgc2V0ICB0byAgMCwgbm8gZXJyb3IgbWVzc2FnZXMgd2lsbCBiZSBkaXMtCiAgICAgICAgICAgICAgIHBsYXllZCwgZXZlbiBpZiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIF8Ib18IcF8IdF8Ic18IdF8Icl8IaV8Ibl8IZyBpcyBub3QgYSBjb2xvbi4KIAogICAgICAgICAgICAgICBJZiBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzZWVuLCBnCGdlCGV0CHRvCG9wCHB0CHRzCHMgcGxhY2VzID8gaW50byBfCG5fCGFfCG1fCGUgYW5kLCBpZgotICAgICAgICAgICAgICBub3QgIHNpbGVudCwgIHByaW50cyAgYW4gIGVycm9yICBtZXNzYWdlICBhbmQgdW5zZXRzIE8IT1AIUFQIVEEIQVIIUkcIRy4gIElmCi0gICAgICAgICAgICAgIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyBpcyBzaWxlbnQsIHRoZSAgb3B0aW9uICBjaGFyYWN0ZXIgIGZvdW5kICBpcyAgcGxhY2VkICBpbgorICAgICAgICAgICAgICBub3Qgc2lsZW50LCBwcmludHMgYW4gIGVycm9yICBtZXNzYWdlICBhbmQgIHVuc2V0cyAgTwhPUAhQVAhUQQhBUghSRwhHLiAgIElmCisgICAgICAgICAgICAgIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyAgaXMgIHNpbGVudCwgIHRoZSAgb3B0aW9uICBjaGFyYWN0ZXIgIGZvdW5kIGlzIHBsYWNlZCBpbgogICAgICAgICAgICAgICBPCE9QCFBUCFRBCEFSCFJHCEcgYW5kIG5vIGRpYWdub3N0aWMgbWVzc2FnZSBpcyBwcmludGVkLgogCi0gICAgICAgICAgICAgIElmICBhIHJlcXVpcmVkIGFyZ3VtZW50IGlzIG5vdCBmb3VuZCwgYW5kIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyBpcyBub3Qgc2lsZW50LAotICAgICAgICAgICAgICBhIHF1ZXN0aW9uIG1hcmsgKD8IPykgaXMgcGxhY2VkIGluIF8Ibl8IYV8IbV8IZSwgTwhPUAhQVAhUQQhBUghSRwhHIGlzICB1bnNldCwgIGFuZCAgYQotICAgICAgICAgICAgICBkaWFnbm9zdGljICBtZXNzYWdlICBpcyAgcHJpbnRlZC4gICBJZiBnCGdlCGV0CHRvCG9wCHB0CHRzCHMgaXMgc2lsZW50LCB0aGVuIGEKLSAgICAgICAgICAgICAgY29sb24gKDoIOikgaXMgcGxhY2VkIGluIF8Ibl8IYV8IbV8IZSBhbmQgTwhPUAhQVAhUQQhBUghSRwhHICBpcyAgc2V0ICB0byAgdGhlICBvcHRpb24KKyAgICAgICAgICAgICAgSWYgYSByZXF1aXJlZCBhcmd1bWVudCBpcyBub3QgZm91bmQsIGFuZCBnCGdlCGV0CHRvCG9wCHB0CHRzCHMgaXMgbm90ICBzaWxlbnQsCisgICAgICAgICAgICAgIGEgIHF1ZXN0aW9uICBtYXJrICAoPwg/KSBpcyBwbGFjZWQgaW4gXwhuXwhhXwhtXwhlLCBPCE9QCFBUCFRBCEFSCFJHCEcgaXMgdW5zZXQsIGFuZCBhCisgICAgICAgICAgICAgIGRpYWdub3N0aWMgbWVzc2FnZSBpcyBwcmludGVkLiAgSWYgZwhnZQhldAh0bwhvcAhwdAh0cwhzICBpcyAgc2lsZW50LCAgdGhlbiAgYQorICAgICAgICAgICAgICBjb2xvbiAgKDoIOikgIGlzICBwbGFjZWQgIGluICBfCG5fCGFfCG1fCGUgYW5kIE8IT1AIUFQIVEEIQVIIUkcIRyBpcyBzZXQgdG8gdGhlIG9wdGlvbgogICAgICAgICAgICAgICBjaGFyYWN0ZXIgZm91bmQuCiAKLSAgICAgICAgICAgICAgZwhnZQhldAh0bwhvcAhwdAh0cwhzICByZXR1cm5zIHRydWUgaWYgYW4gb3B0aW9uLCBzcGVjaWZpZWQgb3IgdW5zcGVjaWZpZWQsIGlzCisgICAgICAgICAgICAgIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyByZXR1cm5zIHRydWUgaWYgYW4gb3B0aW9uLCBzcGVjaWZpZWQgb3IgdW5zcGVjaWZpZWQsICBpcwogICAgICAgICAgICAgICBmb3VuZC4gIEl0IHJldHVybnMgZmFsc2UgaWYgdGhlIGVuZCBvZiBvcHRpb25zIGlzIGVuY291bnRlcmVkIG9yCiAgICAgICAgICAgICAgIGFuIGVycm9yIG9jY3Vycy4KIAogICAgICAgIGgIaGEIYXMIc2gIaCBbLQgtbAhscghyXSBbLQgtcAhwIF8IZl8IaV8IbF8IZV8Ibl8IYV8IbV8IZV0gWy0ILWQIZHQIdF0gW18Ibl8IYV8IbV8IZV0KLSAgICAgICAgICAgICAgRm9yICBlYWNoICBfCG5fCGFfCG1fCGUsIHRoZSBmdWxsIGZpbGUgbmFtZSBvZiB0aGUgY29tbWFuZCBpcyBkZXRlcm1pbmVkCisgICAgICAgICAgICAgIEZvciBlYWNoIF8Ibl8IYV8IbV8IZSwgdGhlIGZ1bGwgZmlsZSBuYW1lIG9mIHRoZSBjb21tYW5kICBpcyAgZGV0ZXJtaW5lZAogICAgICAgICAgICAgICBieSBzZWFyY2hpbmcgdGhlIGRpcmVjdG9yaWVzIGluICQIJFAIUEEIQVQIVEgISCBhbmQgcmVtZW1iZXJlZC4gIElmIHRoZSAtCC1wCHAKICAgICAgICAgICAgICAgb3B0aW9uIGlzIHN1cHBsaWVkLCBubyBwYXRoIHNlYXJjaCBpcyBwZXJmb3JtZWQsIGFuZCBfCGZfCGlfCGxfCGVfCG5fCGFfCG1fCGUgaXMKICAgICAgICAgICAgICAgdXNlZCBhcyB0aGUgZnVsbCBmaWxlIG5hbWUgb2YgdGhlIGNvbW1hbmQuICBUaGUgLQgtcghyIG9wdGlvbiBjYXVzZXMKLSAgICAgICAgICAgICAgdGhlICBzaGVsbCAgdG8gIGZvcmdldCAgYWxsIHJlbWVtYmVyZWQgbG9jYXRpb25zLiAgVGhlIC0ILWQIZCBvcHRpb24KKyAgICAgICAgICAgICAgdGhlIHNoZWxsIHRvIGZvcmdldCBhbGwgcmVtZW1iZXJlZCAgbG9jYXRpb25zLiAgIFRoZSAgLQgtZAhkICBvcHRpb24KICAgICAgICAgICAgICAgY2F1c2VzIHRoZSBzaGVsbCB0byBmb3JnZXQgdGhlIHJlbWVtYmVyZWQgbG9jYXRpb24gb2YgZWFjaCBfCG5fCGFfCG1fCGUuCi0gICAgICAgICAgICAgIElmICB0aGUgIC0ILXQIdCAgb3B0aW9uIGlzIHN1cHBsaWVkLCB0aGUgZnVsbCBwYXRobmFtZSB0byB3aGljaCBlYWNoCi0gICAgICAgICAgICAgIF8Ibl8IYV8IbV8IZSBjb3JyZXNwb25kcyBpcyBwcmludGVkLiAgSWYgIG11bHRpcGxlICBfCG5fCGFfCG1fCGUgIGFyZ3VtZW50cyAgYXJlCi0gICAgICAgICAgICAgIHN1cHBsaWVkICB3aXRoICAtCC10CHQsICB0aGUgIF8Ibl8IYV8IbV8IZSBpcyBwcmludGVkIGJlZm9yZSB0aGUgaGFzaGVkIGZ1bGwKKyAgICAgICAgICAgICAgSWYgdGhlIC0ILXQIdCBvcHRpb24gaXMgc3VwcGxpZWQsIHRoZSBmdWxsIHBhdGhuYW1lICB0byAgd2hpY2ggIGVhY2gKKyAgICAgICAgICAgICAgXwhuXwhhXwhtXwhlICBjb3JyZXNwb25kcyAgaXMgIHByaW50ZWQuICAgSWYgbXVsdGlwbGUgXwhuXwhhXwhtXwhlIGFyZ3VtZW50cyBhcmUKKyAgICAgICAgICAgICAgc3VwcGxpZWQgd2l0aCAtCC10CHQsIHRoZSBfCG5fCGFfCG1fCGUgaXMgcHJpbnRlZCAgYmVmb3JlICB0aGUgIGhhc2hlZCAgZnVsbAogICAgICAgICAgICAgICBwYXRobmFtZS4gIFRoZSAtCC1sCGwgb3B0aW9uIGNhdXNlcyBvdXRwdXQgdG8gYmUgZGlzcGxheWVkIGluIGEgZm9yLQotICAgICAgICAgICAgICBtYXQgIHRoYXQgbWF5IGJlIHJldXNlZCBhcyBpbnB1dC4gIElmIG5vIGFyZ3VtZW50cyBhcmUgZ2l2ZW4sIG9yCisgICAgICAgICAgICAgIG1hdCB0aGF0IG1heSBiZSByZXVzZWQgYXMgaW5wdXQuICBJZiBubyBhcmd1bWVudHMgYXJlIGdpdmVuLCAgb3IKICAgICAgICAgICAgICAgaWYgb25seSAtCC1sCGwgaXMgc3VwcGxpZWQsIGluZm9ybWF0aW9uIGFib3V0IHJlbWVtYmVyZWQgY29tbWFuZHMgaXMKLSAgICAgICAgICAgICAgcHJpbnRlZC4gICBUaGUgIHJldHVybiBzdGF0dXMgaXMgdHJ1ZSB1bmxlc3MgYSBfCG5fCGFfCG1fCGUgaXMgbm90IGZvdW5kCisgICAgICAgICAgICAgIHByaW50ZWQuICBUaGUgcmV0dXJuIHN0YXR1cyBpcyB0cnVlIHVubGVzcyBhIF8Ibl8IYV8IbV8IZSBpcyAgbm90ICBmb3VuZAogICAgICAgICAgICAgICBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZC4KIAogICAgICAgIGgIaGUIZWwIbHAIcCBbLQgtZAhkbQhtcwhzXSBbXwhwXwhhXwh0Xwh0XwhlXwhyXwhuXQotICAgICAgICAgICAgICBEaXNwbGF5IGhlbHBmdWwgaW5mb3JtYXRpb24gYWJvdXQgYnVpbHRpbiBjb21tYW5kcy4gIElmICBfCHBfCGFfCHRfCHRfCGVfCHJfCG4KLSAgICAgICAgICAgICAgaXMgIHNwZWNpZmllZCwgaAhoZQhlbAhscAhwIGdpdmVzIGRldGFpbGVkIGhlbHAgb24gYWxsIGNvbW1hbmRzIG1hdGNoaW5nCi0gICAgICAgICAgICAgIF8IcF8IYV8IdF8IdF8IZV8Icl8Ibjsgb3RoZXJ3aXNlIGhlbHAgZm9yIGFsbCB0aGUgYnVpbHRpbnMgYW5kICBzaGVsbCAgY29udHJvbAorICAgICAgICAgICAgICBEaXNwbGF5ICBoZWxwZnVsIGluZm9ybWF0aW9uIGFib3V0IGJ1aWx0aW4gY29tbWFuZHMuICBJZiBfCHBfCGFfCHRfCHRfCGVfCHJfCG4KKyAgICAgICAgICAgICAgaXMgc3BlY2lmaWVkLCBoCGhlCGVsCGxwCHAgZ2l2ZXMgZGV0YWlsZWQgaGVscCBvbiBhbGwgY29tbWFuZHMgIG1hdGNoaW5nCisgICAgICAgICAgICAgIF8IcF8IYV8IdF8IdF8IZV8Icl8IbjsgIG90aGVyd2lzZSAgaGVscCBmb3IgYWxsIHRoZSBidWlsdGlucyBhbmQgc2hlbGwgY29udHJvbAogICAgICAgICAgICAgICBzdHJ1Y3R1cmVzIGlzIHByaW50ZWQuCiAgICAgICAgICAgICAgIC0ILWQIZCAgICAgRGlzcGxheSBhIHNob3J0IGRlc2NyaXB0aW9uIG9mIGVhY2ggXwhwXwhhXwh0Xwh0XwhlXwhyXwhuCi0gICAgICAgICAgICAgICAtCC1tCG0gICAgRGlzcGxheSB0aGUgZGVzY3JpcHRpb24gb2YgZWFjaCBfCHBfCGFfCHRfCHRfCGVfCHJfCG4gaW4gYSBtYW5wYWdlLWxpa2UKKyAgICAgICAgICAgICAgLQgtbQhtICAgICBEaXNwbGF5IHRoZSBkZXNjcmlwdGlvbiBvZiBlYWNoIF8IcF8IYV8IdF8IdF8IZV8Icl8IbiBpbiBhIG1hbnBhZ2UtbGlrZQogICAgICAgICAgICAgICAgICAgICAgZm9ybWF0CiAgICAgICAgICAgICAgIC0ILXMIcyAgICAgRGlzcGxheSBvbmx5IGEgc2hvcnQgdXNhZ2Ugc3lub3BzaXMgZm9yIGVhY2ggXwhwXwhhXwh0Xwh0XwhlXwhyXwhuCiAgICAgICAgVGhlIHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3Mgbm8gY29tbWFuZCBtYXRjaGVzIF8IcF8IYV8IdF8IdF8IZV8Icl8Ibi4KQEAgLTQxOTgsMTMyICs0MzA3LDEzMyBAQAogICAgICAgIGgIaGkIaXMIc3QIdG8Ib3IIcnkIeSAtCC1zCHMgXwhhXwhyXwhnIFtfCGFfCHJfCGcgXwguXwguXwguXQogICAgICAgICAgICAgICBXaXRoIG5vIG9wdGlvbnMsIGRpc3BsYXkgdGhlIGNvbW1hbmQgaGlzdG9yeSBsaXN0IHdpdGggbGluZSBudW0tCiAgICAgICAgICAgICAgIGJlcnMuICBMaW5lcyBsaXN0ZWQgd2l0aCBhICoIKiBoYXZlIGJlZW4gbW9kaWZpZWQuICBBbiBhcmd1bWVudCBvZgotICAgICAgICAgICAgICBfCG4gbGlzdHMgb25seSB0aGUgbGFzdCBfCG4gbGluZXMuICBJZiB0aGUgc2hlbGwgdmFyaWFibGUgIEgISEkISVMIU1QIVFQIVEkISU0ITUUIRS0ILQotICAgICAgICAgICAgICBGCEZPCE9SCFJNCE1BCEFUCFQgIGlzICBzZXQgIGFuZCBub3QgbnVsbCwgaXQgaXMgdXNlZCBhcyBhIGZvcm1hdCBzdHJpbmcgZm9yCi0gICAgICAgICAgICAgIF8Ic18IdF8Icl8IZl8IdF8IaV8IbV8IZSgzKSB0byBkaXNwbGF5IHRoZSB0aW1lIHN0YW1wIGFzc29jaWF0ZWQgd2l0aCBlYWNoICBkaXMtCi0gICAgICAgICAgICAgIHBsYXllZCAgaGlzdG9yeSAgZW50cnkuICBObyBpbnRlcnZlbmluZyBibGFuayBpcyBwcmludGVkIGJldHdlZW4KLSAgICAgICAgICAgICAgdGhlIGZvcm1hdHRlZCB0aW1lIHN0YW1wIGFuZCB0aGUgaGlzdG9yeSBsaW5lLiAgSWYgIF8IZl8IaV8IbF8IZV8Ibl8IYV8IbV8IZSAgaXMKLSAgICAgICAgICAgICAgc3VwcGxpZWQsICBpdCAgaXMgIHVzZWQgYXMgdGhlIG5hbWUgb2YgdGhlIGhpc3RvcnkgZmlsZTsgaWYgbm90LAotICAgICAgICAgICAgICB0aGUgdmFsdWUgb2YgSAhISQhJUwhTVAhURghGSQhJTAhMRQhFIGlzIHVzZWQuICBPcHRpb25zLCBpZiBzdXBwbGllZCwgIGhhdmUgIHRoZQorICAgICAgICAgICAgICBfCG4gIGxpc3RzIG9ubHkgdGhlIGxhc3QgXwhuIGxpbmVzLiAgSWYgdGhlIHNoZWxsIHZhcmlhYmxlIEgISEkISVMIU1QIVFQIVEkISU0ITUUIRS0ILQorICAgICAgICAgICAgICBGCEZPCE9SCFJNCE1BCEFUCFQgaXMgc2V0IGFuZCBub3QgbnVsbCwgaXQgaXMgdXNlZCBhcyBhICBmb3JtYXQgIHN0cmluZyAgZm9yCisgICAgICAgICAgICAgIF8Ic18IdF8Icl8IZl8IdF8IaV8IbV8IZSgzKSAgdG8gZGlzcGxheSB0aGUgdGltZSBzdGFtcCBhc3NvY2lhdGVkIHdpdGggZWFjaCBkaXMtCisgICAgICAgICAgICAgIHBsYXllZCBoaXN0b3J5IGVudHJ5LiAgTm8gaW50ZXJ2ZW5pbmcgYmxhbmsgaXMgIHByaW50ZWQgIGJldHdlZW4KKyAgICAgICAgICAgICAgdGhlICBmb3JtYXR0ZWQgIHRpbWUgc3RhbXAgYW5kIHRoZSBoaXN0b3J5IGxpbmUuICBJZiBfCGZfCGlfCGxfCGVfCG5fCGFfCG1fCGUgaXMKKyAgICAgICAgICAgICAgc3VwcGxpZWQsIGl0IGlzIHVzZWQgYXMgdGhlIG5hbWUgb2YgdGhlIGhpc3RvcnkgIGZpbGU7ICBpZiAgbm90LAorICAgICAgICAgICAgICB0aGUgIHZhbHVlICBvZiBICEhJCElTCFNUCFRGCEZJCElMCExFCEUgaXMgdXNlZC4gIE9wdGlvbnMsIGlmIHN1cHBsaWVkLCBoYXZlIHRoZQogICAgICAgICAgICAgICBmb2xsb3dpbmcgbWVhbmluZ3M6CiAgICAgICAgICAgICAgIC0ILWMIYyAgICAgQ2xlYXIgdGhlIGhpc3RvcnkgbGlzdCBieSBkZWxldGluZyBhbGwgdGhlIGVudHJpZXMuCiAgICAgICAgICAgICAgIC0ILWQIZCBfCG9fCGZfCGZfCHNfCGVfCHQKICAgICAgICAgICAgICAgICAgICAgIERlbGV0ZSB0aGUgaGlzdG9yeSBlbnRyeSBhdCBwb3NpdGlvbiBfCG9fCGZfCGZfCHNfCGVfCHQuCi0gICAgICAgICAgICAgIC0ILWEIYSAgICAgQXBwZW5kICB0aGUgIGBgbmV3JycgaGlzdG9yeSBsaW5lcyAoaGlzdG9yeSBsaW5lcyBlbnRlcmVkCi0gICAgICAgICAgICAgICAgICAgICBzaW5jZSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBjdXJyZW50IGIIYmEIYXMIc2gIaCBzZXNzaW9uKSAgdG8gIHRoZQorICAgICAgICAgICAgICAtCC1hCGEgICAgIEFwcGVuZCB0aGUgYGBuZXcnJyBoaXN0b3J5IGxpbmVzIChoaXN0b3J5ICBsaW5lcyAgZW50ZXJlZAorICAgICAgICAgICAgICAgICAgICAgc2luY2UgIHRoZSAgYmVnaW5uaW5nIG9mIHRoZSBjdXJyZW50IGIIYmEIYXMIc2gIaCBzZXNzaW9uKSB0byB0aGUKICAgICAgICAgICAgICAgICAgICAgIGhpc3RvcnkgZmlsZS4KLSAgICAgICAgICAgICAgLQgtbghuICAgICBSZWFkICB0aGUgaGlzdG9yeSBsaW5lcyBub3QgYWxyZWFkeSByZWFkIGZyb20gdGhlIGhpc3RvcnkKLSAgICAgICAgICAgICAgICAgICAgIGZpbGUgaW50byB0aGUgY3VycmVudCAgaGlzdG9yeSAgbGlzdC4gICBUaGVzZSAgYXJlICBsaW5lcwotICAgICAgICAgICAgICAgICAgICAgYXBwZW5kZWQgIHRvICB0aGUgaGlzdG9yeSBmaWxlIHNpbmNlIHRoZSBiZWdpbm5pbmcgb2YgdGhlCisgICAgICAgICAgICAgIC0ILW4IbiAgICAgUmVhZCB0aGUgaGlzdG9yeSBsaW5lcyBub3QgYWxyZWFkeSByZWFkIGZyb20gdGhlICBoaXN0b3J5CisgICAgICAgICAgICAgICAgICAgICBmaWxlICBpbnRvICB0aGUgIGN1cnJlbnQgIGhpc3RvcnkgIGxpc3QuICBUaGVzZSBhcmUgbGluZXMKKyAgICAgICAgICAgICAgICAgICAgIGFwcGVuZGVkIHRvIHRoZSBoaXN0b3J5IGZpbGUgc2luY2UgdGhlIGJlZ2lubmluZyAgb2YgIHRoZQogICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBiCGJhCGFzCHNoCGggc2Vzc2lvbi4KICAgICAgICAgICAgICAgLQgtcghyICAgICBSZWFkIHRoZSBjb250ZW50cyBvZiB0aGUgaGlzdG9yeSBmaWxlIGFuZCB1c2UgdGhlbSBhcyB0aGUKICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgaGlzdG9yeS4KLSAgICAgICAgICAgICAgLQgtdwh3ICAgICBXcml0ZSAgdGhlIGN1cnJlbnQgaGlzdG9yeSB0byB0aGUgaGlzdG9yeSBmaWxlLCBvdmVyd3JpdC0KKyAgICAgICAgICAgICAgLQgtdwh3ICAgICBXcml0ZSB0aGUgY3VycmVudCBoaXN0b3J5IHRvIHRoZSBoaXN0b3J5IGZpbGUsICBvdmVyd3JpdC0KICAgICAgICAgICAgICAgICAgICAgIGluZyB0aGUgaGlzdG9yeSBmaWxlJ3MgY29udGVudHMuCi0gICAgICAgICAgICAgIC0ILXAIcCAgICAgUGVyZm9ybSBoaXN0b3J5IHN1YnN0aXR1dGlvbiBvbiB0aGUgIGZvbGxvd2luZyAgXwhhXwhyXwhnXwhzICBhbmQKLSAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgIHRoZSAgcmVzdWx0ICBvbiAgdGhlICBzdGFuZGFyZCBvdXRwdXQuICBEb2VzIG5vdAotICAgICAgICAgICAgICAgICAgICAgc3RvcmUgdGhlIHJlc3VsdHMgaW4gdGhlIGhpc3RvcnkgbGlzdC4gIEVhY2ggXwhhXwhyXwhnIG11c3QgIGJlCisgICAgICAgICAgICAgIC0ILXAIcCAgICAgUGVyZm9ybSAgaGlzdG9yeSAgc3Vic3RpdHV0aW9uICBvbiB0aGUgZm9sbG93aW5nIF8IYV8Icl8IZ18IcyBhbmQKKyAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhlIHJlc3VsdCBvbiAgdGhlICBzdGFuZGFyZCAgb3V0cHV0LiAgIERvZXMgIG5vdAorICAgICAgICAgICAgICAgICAgICAgc3RvcmUgIHRoZSByZXN1bHRzIGluIHRoZSBoaXN0b3J5IGxpc3QuICBFYWNoIF8IYV8Icl8IZyBtdXN0IGJlCiAgICAgICAgICAgICAgICAgICAgICBxdW90ZWQgdG8gZGlzYWJsZSBub3JtYWwgaGlzdG9yeSBleHBhbnNpb24uCi0gICAgICAgICAgICAgIC0ILXMIcyAgICAgU3RvcmUgIHRoZSAgXwhhXwhyXwhnXwhzICBpbiAgdGhlIGhpc3RvcnkgbGlzdCBhcyBhIHNpbmdsZSBlbnRyeS4KLSAgICAgICAgICAgICAgICAgICAgIFRoZSBsYXN0IGNvbW1hbmQgaW4gdGhlIGhpc3RvcnkgbGlzdCAgaXMgIHJlbW92ZWQgIGJlZm9yZQorICAgICAgICAgICAgICAtCC1zCHMgICAgIFN0b3JlIHRoZSBfCGFfCHJfCGdfCHMgaW4gdGhlIGhpc3RvcnkgbGlzdCAgYXMgIGEgIHNpbmdsZSAgZW50cnkuCisgICAgICAgICAgICAgICAgICAgICBUaGUgIGxhc3QgIGNvbW1hbmQgIGluIHRoZSBoaXN0b3J5IGxpc3QgaXMgcmVtb3ZlZCBiZWZvcmUKICAgICAgICAgICAgICAgICAgICAgIHRoZSBfCGFfCHJfCGdfCHMgYXJlIGFkZGVkLgogCi0gICAgICAgICAgICAgIElmIHRoZSBICEhJCElTCFNUCFRUCFRJCElNCE1FCEVGCEZPCE9SCFJNCE1BCEFUCFQgaXMgc2V0LCB0aGUgdGltZSBzdGFtcCBpbmZvcm1hdGlvbiBhc3NvY2ktCi0gICAgICAgICAgICAgIGF0ZWQgd2l0aCBlYWNoIGhpc3RvcnkgZW50cnkgaXMgd3JpdHRlbiAgdG8gIHRoZSAgaGlzdG9yeSAgZmlsZSwKLSAgICAgICAgICAgICAgbWFya2VkICB3aXRoICB0aGUgIGhpc3RvcnkgIGNvbW1lbnQgY2hhcmFjdGVyLiAgV2hlbiB0aGUgaGlzdG9yeQotICAgICAgICAgICAgICBmaWxlIGlzIHJlYWQsIGxpbmVzIGJlZ2lubmluZyB3aXRoIHRoZSBoaXN0b3J5IGNvbW1lbnQgY2hhcmFjdGVyCi0gICAgICAgICAgICAgIGZvbGxvd2VkICBpbW1lZGlhdGVseSAgYnkgIGEgZGlnaXQgYXJlIGludGVycHJldGVkIGFzIHRpbWVzdGFtcHMKLSAgICAgICAgICAgICAgZm9yIHRoZSBwcmV2aW91cyBoaXN0b3J5IGxpbmUuICBUaGUgcmV0dXJuIHZhbHVlIGlzIDAgdW5sZXNzICBhbgotICAgICAgICAgICAgICBpbnZhbGlkICBvcHRpb24gaXMgZW5jb3VudGVyZWQsIGFuIGVycm9yIG9jY3VycyB3aGlsZSByZWFkaW5nIG9yCi0gICAgICAgICAgICAgIHdyaXRpbmcgdGhlIGhpc3RvcnkgZmlsZSwgYW4gaW52YWxpZCBfCG9fCGZfCGZfCHNfCGVfCHQgaXMgIHN1cHBsaWVkICBhcyAgYW4KLSAgICAgICAgICAgICAgYXJndW1lbnQgdG8gLQgtZAhkLCBvciB0aGUgaGlzdG9yeSBleHBhbnNpb24gc3VwcGxpZWQgYXMgYW4gYXJndW1lbnQKLSAgICAgICAgICAgICAgdG8gLQgtcAhwIGZhaWxzLgorICAgICAgICAgICAgICBJZiB0aGUgSAhISQhJUwhTVAhUVAhUSQhJTQhNRQhFRghGTwhPUghSTQhNQQhBVAhUIHZhcmlhYmxlIGlzIHNldCwgdGhlIHRpbWUgIHN0YW1wICBpbmZvcm1hLQorICAgICAgICAgICAgICB0aW9uICBhc3NvY2lhdGVkICB3aXRoIGVhY2ggaGlzdG9yeSBlbnRyeSBpcyB3cml0dGVuIHRvIHRoZSBoaXMtCisgICAgICAgICAgICAgIHRvcnkgZmlsZSwgbWFya2VkIHdpdGggdGhlIGhpc3RvcnkgY29tbWVudCBjaGFyYWN0ZXIuICBXaGVuICB0aGUKKyAgICAgICAgICAgICAgaGlzdG9yeSAgZmlsZSAgaXMgcmVhZCwgbGluZXMgYmVnaW5uaW5nIHdpdGggdGhlIGhpc3RvcnkgY29tbWVudAorICAgICAgICAgICAgICBjaGFyYWN0ZXIgZm9sbG93ZWQgaW1tZWRpYXRlbHkgYnkgYSAgZGlnaXQgIGFyZSAgaW50ZXJwcmV0ZWQgIGFzCisgICAgICAgICAgICAgIHRpbWVzdGFtcHMgZm9yIHRoZSBwcmV2aW91cyBoaXN0b3J5IGxpbmUuICBUaGUgcmV0dXJuIHZhbHVlIGlzIDAKKyAgICAgICAgICAgICAgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGVuY291bnRlcmVkLCBhbiBlcnJvciAgb2NjdXJzICB3aGlsZQorICAgICAgICAgICAgICByZWFkaW5nICBvciAgd3JpdGluZyB0aGUgaGlzdG9yeSBmaWxlLCBhbiBpbnZhbGlkIF8Ib18IZl8IZl8Ic18IZV8IdCBpcyBzdXAtCisgICAgICAgICAgICAgIHBsaWVkIGFzIGFuIGFyZ3VtZW50IHRvIC0ILWQIZCwgb3IgdGhlIGhpc3RvcnkgZXhwYW5zaW9uIHN1cHBsaWVkIGFzCisgICAgICAgICAgICAgIGFuIGFyZ3VtZW50IHRvIC0ILXAIcCBmYWlscy4KIAogICAgICAgIGoIam8Ib2IIYnMIcyBbLQgtbAhsbghucAhwcghycwhzXSBbIF8Ial8Ib18IYl8Ic18IcF8IZV8IYyAuLi4gXQogICAgICAgIGoIam8Ib2IIYnMIcyAtCC14CHggXwhjXwhvXwhtXwhtXwhhXwhuXwhkIFsgXwhhXwhyXwhnXwhzIC4uLiBdCiAgICAgICAgICAgICAgIFRoZSBmaXJzdCBmb3JtIGxpc3RzIHRoZSBhY3RpdmUgam9icy4gIFRoZSBvcHRpb25zIGhhdmUgdGhlIGZvbC0KICAgICAgICAgICAgICAgbG93aW5nIG1lYW5pbmdzOgogICAgICAgICAgICAgICAtCC1sCGwgICAgIExpc3QgcHJvY2VzcyBJRHMgaW4gYWRkaXRpb24gdG8gdGhlIG5vcm1hbCBpbmZvcm1hdGlvbi4KLSAgICAgICAgICAgICAgLQgtcAhwICAgICBMaXN0ICBvbmx5ICB0aGUgIHByb2Nlc3MgIElEICBvZiAgdGhlIGpvYidzIHByb2Nlc3MgZ3JvdXAKKyAgICAgICAgICAgICAgLQgtcAhwICAgICBMaXN0IG9ubHkgdGhlIHByb2Nlc3MgIElEICBvZiAgdGhlICBqb2IncyAgcHJvY2VzcyAgZ3JvdXAKICAgICAgICAgICAgICAgICAgICAgIGxlYWRlci4KLSAgICAgICAgICAgICAgLQgtbghuICAgICBEaXNwbGF5IGluZm9ybWF0aW9uIG9ubHkgYWJvdXQgIGpvYnMgIHRoYXQgIGhhdmUgIGNoYW5nZWQKLSAgICAgICAgICAgICAgICAgICAgIHN0YXR1cyAgc2luY2UgdGhlIHVzZXIgd2FzIGxhc3Qgbm90aWZpZWQgb2YgdGhlaXIgc3RhdHVzLgorICAgICAgICAgICAgICAtCC1uCG4gICAgIERpc3BsYXkgIGluZm9ybWF0aW9uICBvbmx5ICBhYm91dCAgam9icyB0aGF0IGhhdmUgY2hhbmdlZAorICAgICAgICAgICAgICAgICAgICAgc3RhdHVzIHNpbmNlIHRoZSB1c2VyIHdhcyBsYXN0IG5vdGlmaWVkIG9mIHRoZWlyICBzdGF0dXMuCiAgICAgICAgICAgICAgIC0ILXIIciAgICAgUmVzdHJpY3Qgb3V0cHV0IHRvIHJ1bm5pbmcgam9icy4KICAgICAgICAgICAgICAgLQgtcwhzICAgICBSZXN0cmljdCBvdXRwdXQgdG8gc3RvcHBlZCBqb2JzLgogCi0gICAgICAgICAgICAgIElmIF8Ial8Ib18IYl8Ic18IcF8IZV8IYyBpcyBnaXZlbiwgb3V0cHV0IGlzIHJlc3RyaWN0ZWQgdG8gIGluZm9ybWF0aW9uICBhYm91dAotICAgICAgICAgICAgICB0aGF0ICBqb2IuICAgVGhlICByZXR1cm4gc3RhdHVzIGlzIDAgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzCisgICAgICAgICAgICAgIElmICBfCGpfCG9fCGJfCHNfCHBfCGVfCGMgIGlzIGdpdmVuLCBvdXRwdXQgaXMgcmVzdHJpY3RlZCB0byBpbmZvcm1hdGlvbiBhYm91dAorICAgICAgICAgICAgICB0aGF0IGpvYi4gIFRoZSByZXR1cm4gc3RhdHVzIGlzIDAgdW5sZXNzIGFuICBpbnZhbGlkICBvcHRpb24gIGlzCiAgICAgICAgICAgICAgIGVuY291bnRlcmVkIG9yIGFuIGludmFsaWQgXwhqXwhvXwhiXwhzXwhwXwhlXwhjIGlzIHN1cHBsaWVkLgogCiAgICAgICAgICAgICAgIElmIHRoZSAtCC14CHggb3B0aW9uIGlzIHN1cHBsaWVkLCBqCGpvCG9iCGJzCHMgcmVwbGFjZXMgYW55IF8Ial8Ib18IYl8Ic18IcF8IZV8IYyBmb3VuZCBpbgotICAgICAgICAgICAgICBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgIG9yICBfCGFfCHJfCGdfCHMgIHdpdGggIHRoZSBjb3JyZXNwb25kaW5nIHByb2Nlc3MgZ3JvdXAgSUQsIGFuZAorICAgICAgICAgICAgICBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgb3IgXwhhXwhyXwhnXwhzIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgIHByb2Nlc3MgIGdyb3VwICBJRCwgIGFuZAogICAgICAgICAgICAgICBleGVjdXRlcyBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgcGFzc2luZyBpdCBfCGFfCHJfCGdfCHMsIHJldHVybmluZyBpdHMgZXhpdCBzdGF0dXMuCiAKICAgICAgICBrCGtpCGlsCGxsCGwgWy0ILXMIcyBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgfCAtCC1uCG4gXwhzXwhpXwhnXwhuXwh1XwhtIHwgLQgtXwhzXwhpXwhnXwhzXwhwXwhlXwhjXSBbXwhwXwhpXwhkIHwgXwhqXwhvXwhiXwhzXwhwXwhlXwhjXSAuLi4KICAgICAgICBrCGtpCGlsCGxsCGwgLQgtbAhsIFtfCHNfCGlfCGdfCHNfCHBfCGVfCGMgfCBfCGVfCHhfCGlfCHRfCF9fCHNfCHRfCGFfCHRfCHVfCHNdCi0gICAgICAgICAgICAgIFNlbmQgdGhlIHNpZ25hbCBuYW1lZCBieSBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgIG9yICBfCHNfCGlfCGdfCG5fCHVfCG0gIHRvICB0aGUgIHByb2Nlc3NlcwotICAgICAgICAgICAgICBuYW1lZCAgYnkgIF8IcF8IaV8IZCBvciBfCGpfCG9fCGJfCHNfCHBfCGVfCGMuICBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgaXMgZWl0aGVyIGEgY2FzZS1pbnNlbnNpdGl2ZQotICAgICAgICAgICAgICBzaWduYWwgbmFtZSBzdWNoIGFzIFMIU0kISUcIR0sIS0kISUwITEwITCAod2l0aCBvciB3aXRob3V0IHRoZSBTCFNJCElHCEcgcHJlZml4KSAgb3IKLSAgICAgICAgICAgICAgYSAgc2lnbmFsICBudW1iZXI7IF8Ic18IaV8IZ18Ibl8IdV8IbSBpcyBhIHNpZ25hbCBudW1iZXIuICBJZiBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgaXMgbm90Ci0gICAgICAgICAgICAgIHByZXNlbnQsIHRoZW4gUwhTSQhJRwhHVAhURQhFUghSTQhNIGlzIGFzc3VtZWQuICBBbiBhcmd1bWVudCBvZiAtCC1sCGwgIGxpc3RzICB0aGUKLSAgICAgICAgICAgICAgc2lnbmFsICBuYW1lcy4gICBJZiBhbnkgYXJndW1lbnRzIGFyZSBzdXBwbGllZCB3aGVuIC0ILWwIbCBpcyBnaXZlbiwKLSAgICAgICAgICAgICAgdGhlIG5hbWVzIG9mIHRoZSBzaWduYWxzICBjb3JyZXNwb25kaW5nICB0byAgdGhlICBhcmd1bWVudHMgIGFyZQorICAgICAgICAgICAgICBTZW5kICB0aGUgIHNpZ25hbCAgbmFtZWQgIGJ5ICBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgb3IgXwhzXwhpXwhnXwhuXwh1XwhtIHRvIHRoZSBwcm9jZXNzZXMKKyAgICAgICAgICAgICAgbmFtZWQgYnkgXwhwXwhpXwhkIG9yIF8Ial8Ib18IYl8Ic18IcF8IZV8IYy4gIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyBpcyBlaXRoZXIgIGEgIGNhc2UtaW5zZW5zaXRpdmUKKyAgICAgICAgICAgICAgc2lnbmFsICBuYW1lIHN1Y2ggYXMgUwhTSQhJRwhHSwhLSQhJTAhMTAhMICh3aXRoIG9yIHdpdGhvdXQgdGhlIFMIU0kISUcIRyBwcmVmaXgpIG9yCisgICAgICAgICAgICAgIGEgc2lnbmFsIG51bWJlcjsgXwhzXwhpXwhnXwhuXwh1XwhtIGlzIGEgc2lnbmFsIG51bWJlci4gIElmIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyAgaXMgIG5vdAorICAgICAgICAgICAgICBwcmVzZW50LCAgdGhlbiAgUwhTSQhJRwhHVAhURQhFUghSTQhNIGlzIGFzc3VtZWQuICBBbiBhcmd1bWVudCBvZiAtCC1sCGwgbGlzdHMgdGhlCisgICAgICAgICAgICAgIHNpZ25hbCBuYW1lcy4gIElmIGFueSBhcmd1bWVudHMgYXJlIHN1cHBsaWVkIHdoZW4gLQgtbAhsICBpcyAgZ2l2ZW4sCisgICAgICAgICAgICAgIHRoZSAgbmFtZXMgIG9mICB0aGUgIHNpZ25hbHMgIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGFyZ3VtZW50cyBhcmUKICAgICAgICAgICAgICAgbGlzdGVkLCBhbmQgdGhlIHJldHVybiBzdGF0dXMgaXMgMC4gIFRoZSBfCGVfCHhfCGlfCHRfCF9fCHNfCHRfCGFfCHRfCHVfCHMgYXJndW1lbnQgdG8KLSAgICAgICAgICAgICAgLQgtbAhsIGlzIGEgbnVtYmVyIHNwZWNpZnlpbmcgZWl0aGVyIGEgc2lnbmFsICBudW1iZXIgIG9yICB0aGUgIGV4aXQKLSAgICAgICAgICAgICAgc3RhdHVzICBvZiAgYSBwcm9jZXNzIHRlcm1pbmF0ZWQgYnkgYSBzaWduYWwuICBrCGtpCGlsCGxsCGwgcmV0dXJucyB0cnVlCi0gICAgICAgICAgICAgIGlmIGF0IGxlYXN0IG9uZSBzaWduYWwgd2FzIHN1Y2Nlc3NmdWxseSBzZW50LCAgb3IgIGZhbHNlICBpZiAgYW4KKyAgICAgICAgICAgICAgLQgtbAhsICBpcyAgYSAgbnVtYmVyICBzcGVjaWZ5aW5nIGVpdGhlciBhIHNpZ25hbCBudW1iZXIgb3IgdGhlIGV4aXQKKyAgICAgICAgICAgICAgc3RhdHVzIG9mIGEgcHJvY2VzcyB0ZXJtaW5hdGVkIGJ5IGEgc2lnbmFsLiAgawhraQhpbAhsbAhsICByZXR1cm5zICB0cnVlCisgICAgICAgICAgICAgIGlmICBhdCAgbGVhc3QgIG9uZSAgc2lnbmFsIHdhcyBzdWNjZXNzZnVsbHkgc2VudCwgb3IgZmFsc2UgaWYgYW4KICAgICAgICAgICAgICAgZXJyb3Igb2NjdXJzIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGVuY291bnRlcmVkLgogCiAgICAgICAgbAhsZQhldAh0IF8IYV8Icl8IZyBbXwhhXwhyXwhnIC4uLl0KICAgICAgICAgICAgICAgRWFjaCBfCGFfCHJfCGcgaXMgYW4gYXJpdGhtZXRpYyBleHByZXNzaW9uIHRvIGJlIGV2YWx1YXRlZCAoc2VlIEEIQVIIUkkISVQIVEgISC0ILQotICAgICAgICAgICAgICBNCE1FCEVUCFRJCElDCEMgRQhFVghWQQhBTAhMVQhVQQhBVAhUSQhJTwhPTghOKS4gIElmIHRoZSBsYXN0IF8IYV8Icl8IZyBldmFsdWF0ZXMgdG8gMCwgbAhsZQhldAh0ICByZXR1cm5zCi0gICAgICAgICAgICAgIDE7IDAgaXMgcmV0dXJuZWQgb3RoZXJ3aXNlLgorICAgICAgICAgICAgICBNCE1FCEVUCFRJCElDCEMgIEUIRVYIVkEIQUwITFUIVUEIQVQIVEkISU8IT04ITiAgYWJvdmUpLiAgIElmIHRoZSBsYXN0IF8IYV8Icl8IZyBldmFsdWF0ZXMgdG8gMCwgbAhsZQhldAh0CisgICAgICAgICAgICAgIHJldHVybnMgMTsgMCBpcyByZXR1cm5lZCBvdGhlcndpc2UuCiAKICAgICAgICBsCGxvCG9jCGNhCGFsCGwgW18Ib18IcF8IdF8IaV8Ib18Ibl0gW18Ibl8IYV8IbV8IZVs9Xwh2XwhhXwhsXwh1XwhlXSAuLi5dCi0gICAgICAgICAgICAgIEZvciAgZWFjaCAgYXJndW1lbnQsIGEgbG9jYWwgdmFyaWFibGUgbmFtZWQgXwhuXwhhXwhtXwhlIGlzIGNyZWF0ZWQsIGFuZAotICAgICAgICAgICAgICBhc3NpZ25lZCBfCHZfCGFfCGxfCHVfCGUuICBUaGUgXwhvXwhwXwh0XwhpXwhvXwhuIGNhbiBiZSBhbnkgb2YgdGhlICBvcHRpb25zICBhY2NlcHRlZAorICAgICAgICAgICAgICBGb3IgZWFjaCBhcmd1bWVudCwgYSBsb2NhbCB2YXJpYWJsZSBuYW1lZCBfCG5fCGFfCG1fCGUgaXMgIGNyZWF0ZWQsICBhbmQKKyAgICAgICAgICAgICAgYXNzaWduZWQgIF8Idl8IYV8IbF8IdV8IZS4gICBUaGUgXwhvXwhwXwh0XwhpXwhvXwhuIGNhbiBiZSBhbnkgb2YgdGhlIG9wdGlvbnMgYWNjZXB0ZWQKICAgICAgICAgICAgICAgYnkgZAhkZQhlYwhjbAhsYQhhcghyZQhlLiAgV2hlbiBsCGxvCG9jCGNhCGFsCGwgaXMgdXNlZCB3aXRoaW4gYSBmdW5jdGlvbiwgaXQgY2F1c2VzIHRoZQotICAgICAgICAgICAgICB2YXJpYWJsZSBfCG5fCGFfCG1fCGUgdG8gaGF2ZSBhIHZpc2libGUgc2NvcGUgcmVzdHJpY3RlZCB0byAgdGhhdCAgZnVuYy0KKyAgICAgICAgICAgICAgdmFyaWFibGUgIF8Ibl8IYV8IbV8IZSAgdG8gaGF2ZSBhIHZpc2libGUgc2NvcGUgcmVzdHJpY3RlZCB0byB0aGF0IGZ1bmMtCiAgICAgICAgICAgICAgIHRpb24gYW5kIGl0cyBjaGlsZHJlbi4gIFdpdGggbm8gb3BlcmFuZHMsIGwIbG8Ib2MIY2EIYWwIbCB3cml0ZXMgYSBsaXN0IG9mCi0gICAgICAgICAgICAgIGxvY2FsIHZhcmlhYmxlcyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LiAgSXQgaXMgYW4gZXJyb3IgIHRvICB1c2UKKyAgICAgICAgICAgICAgbG9jYWwgIHZhcmlhYmxlcyAgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC4gIEl0IGlzIGFuIGVycm9yIHRvIHVzZQogICAgICAgICAgICAgICBsCGxvCG9jCGNhCGFsCGwgd2hlbiBub3Qgd2l0aGluIGEgZnVuY3Rpb24uICBUaGUgcmV0dXJuIHN0YXR1cyBpcyAwIHVubGVzcwotICAgICAgICAgICAgICBsCGxvCG9jCGNhCGFsCGwgaXMgdXNlZCBvdXRzaWRlIGEgZnVuY3Rpb24sIGFuIGludmFsaWQgXwhuXwhhXwhtXwhlICBpcyAgc3VwcGxpZWQsCisgICAgICAgICAgICAgIGwIbG8Ib2MIY2EIYWwIbCAgaXMgIHVzZWQgb3V0c2lkZSBhIGZ1bmN0aW9uLCBhbiBpbnZhbGlkIF8Ibl8IYV8IbV8IZSBpcyBzdXBwbGllZCwKICAgICAgICAgICAgICAgb3IgXwhuXwhhXwhtXwhlIGlzIGEgcmVhZG9ubHkgdmFyaWFibGUuCiAKICAgICAgICBsCGxvCG9nCGdvCG91CHV0CHQgRXhpdCBhIGxvZ2luIHNoZWxsLgogCi0gICAgICAgbQhtYQhhcAhwZghmaQhpbAhsZQhlICBbLQgtbghuICBfCGNfCG9fCHVfCG5fCHRdICBbLQgtTwhPIF8Ib18Icl8IaV8IZ18IaV8Ibl0gWy0ILXMIcyBfCGNfCG9fCHVfCG5fCHRdIFstCC10CHRdIFstCC11CHUgXwhmXwhkXSBbLQgtQwhDIF8IY18IYV8IbF8IbF8IYl8IYV8IY18Ia10KKyAgICAgICBtCG1hCGFwCHBmCGZpCGlsCGxlCGUgWy0ILW4IbiBfCGNfCG9fCHVfCG5fCHRdIFstCC1PCE8gXwhvXwhyXwhpXwhnXwhpXwhuXSBbLQgtcwhzIF8IY18Ib18IdV8Ibl8IdF0gWy0ILXQIdF0gWy0ILXUIdSAgXwhmXwhkXSAgWy0ILUMIQyAgXwhjXwhhXwhsXwhsXwhiXwhhXwhjXwhrXQogICAgICAgIFstCC1jCGMgXwhxXwh1XwhhXwhuXwh0Xwh1XwhtXSBbXwhhXwhyXwhyXwhhXwh5XQotICAgICAgIHIIcmUIZWEIYWQIZGEIYXIIcnIIcmEIYXkIeSAgWy0ILW4IbiBfCGNfCG9fCHVfCG5fCHRdIFstCC1PCE8gXwhvXwhyXwhpXwhnXwhpXwhuXSBbLQgtcwhzIF8IY18Ib18IdV8Ibl8IdF0gWy0ILXQIdF0gWy0ILXUIdSBfCGZfCGRdIFstCC1DCEMgXwhjXwhhXwhsXwhsXwhiXwhhXwhjXwhrXQorICAgICAgIHIIcmUIZWEIYWQIZGEIYXIIcnIIcmEIYXkIeSBbLQgtbghuIF8IY18Ib18IdV8Ibl8IdF0gWy0ILU8ITyBfCG9fCHJfCGlfCGdfCGlfCG5dIFstCC1zCHMgXwhjXwhvXwh1XwhuXwh0XSBbLQgtdAh0XSBbLQgtdQh1IF8IZl8IZF0gWy0ILUMIQyAgXwhjXwhhXwhsXwhsXwhiXwhhXwhjXwhrXQogICAgICAgIFstCC1jCGMgXwhxXwh1XwhhXwhuXwh0Xwh1XwhtXSBbXwhhXwhyXwhyXwhhXwh5XQotICAgICAgICAgICAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYXJyYXkgdmFyaWFibGUgXwhhXwhyXwhyXwhhXwh5LCBvcgotICAgICAgICAgICAgICBmcm9tIGZpbGUgZGVzY3JpcHRvciBfCGZfCGQgaWYgdGhlIC0ILXUIdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaS0KLSAgICAgICAgICAgICAgYWJsZSAgTQhNQQhBUAhQRghGSQhJTAhMRQhFICBpcyB0aGUgZGVmYXVsdCBfCGFfCHJfCHJfCGFfCHkuICBPcHRpb25zLCBpZiBzdXBwbGllZCwgaGF2ZQotICAgICAgICAgICAgICB0aGUgZm9sbG93aW5nIG1lYW5pbmdzOgotICAgICAgICAgICAgICAtCC1uCG4gICAgIENvcHkgYXQgbW9zdCBfCGNfCG9fCHVfCG5fCHQgbGluZXMuICBJZiBfCGNfCG9fCHVfCG5fCHQgaXMgMCwgYWxsICBsaW5lcyAgYXJlCisgICAgICAgICAgICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgaW5kZXhlZCBhcnJheSAgdmFyaS0KKyAgICAgICAgICAgICAgYWJsZSAgXwhhXwhyXwhyXwhhXwh5LCBvciBmcm9tIGZpbGUgZGVzY3JpcHRvciBfCGZfCGQgaWYgdGhlIC0ILXUIdSBvcHRpb24gaXMgc3VwLQorICAgICAgICAgICAgICBwbGllZC4gIFRoZSB2YXJpYWJsZSBNCE1BCEFQCFBGCEZJCElMCExFCEUgaXMgdGhlIGRlZmF1bHQgXwhhXwhyXwhyXwhhXwh5LiAgT3B0aW9ucywgIGlmCisgICAgICAgICAgICAgIHN1cHBsaWVkLCBoYXZlIHRoZSBmb2xsb3dpbmcgbWVhbmluZ3M6CisgICAgICAgICAgICAgIC0ILW4IbiAgICAgQ29weSAgYXQgIG1vc3QgXwhjXwhvXwh1XwhuXwh0IGxpbmVzLiAgSWYgXwhjXwhvXwh1XwhuXwh0IGlzIDAsIGFsbCBsaW5lcyBhcmUKICAgICAgICAgICAgICAgICAgICAgIGNvcGllZC4KLSAgICAgICAgICAgICAgLQgtTwhPICAgICBCZWdpbiAgYXNzaWduaW5nICB0byAgXwhhXwhyXwhyXwhhXwh5IGF0IGluZGV4IF8Ib18Icl8IaV8IZ18IaV8Ibi4gIFRoZSBkZWZhdWx0CisgICAgICAgICAgICAgIC0ILU8ITyAgICAgQmVnaW4gYXNzaWduaW5nIHRvIF8IYV8Icl8Icl8IYV8IeSBhdCBpbmRleCAgXwhvXwhyXwhpXwhnXwhpXwhuLiAgIFRoZSAgZGVmYXVsdAogICAgICAgICAgICAgICAgICAgICAgaW5kZXggaXMgMC4KICAgICAgICAgICAgICAgLQgtcwhzICAgICBEaXNjYXJkIHRoZSBmaXJzdCBfCGNfCG9fCHVfCG5fCHQgbGluZXMgcmVhZC4KLSAgICAgICAgICAgICAgLQgtdAh0ICAgICBSZW1vdmUgYSB0cmFpbGluZyBsaW5lIGZyb20gZWFjaCBsaW5lIHJlYWQuCi0gICAgICAgICAgICAgIC0ILXUIdSAgICAgUmVhZCBsaW5lcyBmcm9tIGZpbGUgZGVzY3JpcHRvciBfCGZfCGQgaW5zdGVhZCBvZiAgdGhlICBzdGFuLQorICAgICAgICAgICAgICAtCC10CHQgICAgIFJlbW92ZSBhIHRyYWlsaW5nIG5ld2xpbmUgZnJvbSBlYWNoIGxpbmUgcmVhZC4KKyAgICAgICAgICAgICAgLQgtdQh1ICAgICBSZWFkICBsaW5lcyAgZnJvbSBmaWxlIGRlc2NyaXB0b3IgXwhmXwhkIGluc3RlYWQgb2YgdGhlIHN0YW4tCiAgICAgICAgICAgICAgICAgICAgICBkYXJkIGlucHV0LgotICAgICAgICAgICAgICAtCC1DCEMgICAgIEV2YWx1YXRlICBfCGNfCGFfCGxfCGxfCGJfCGFfCGNfCGsgZWFjaCB0aW1lIF8IcV8IdV8IYV8Ibl8IdF8IdV8IbSBsaW5lcyBhcmUgcmVhZC4gIFRoZQorICAgICAgICAgICAgICAtCC1DCEMgICAgIEV2YWx1YXRlIF8IY18IYV8IbF8IbF8IYl8IYV8IY18IayBlYWNoIHRpbWUgXwhxXwh1XwhhXwhuXwh0Xwh1XwhtIGxpbmVzIGFyZSByZWFkLiAgIFRoZQogICAgICAgICAgICAgICAgICAgICAgLQgtYwhjIG9wdGlvbiBzcGVjaWZpZXMgXwhxXwh1XwhhXwhuXwh0Xwh1XwhtLgotICAgICAgICAgICAgICAtCC1jCGMgICAgIFNwZWNpZnkgdGhlIG51bWJlciBvZiBsaW5lcyByZWFkICBiZXR3ZWVuICBlYWNoICBjYWxsICB0bworICAgICAgICAgICAgICAtCC1jCGMgICAgIFNwZWNpZnkgIHRoZSAgbnVtYmVyICBvZiAgbGluZXMgcmVhZCBiZXR3ZWVuIGVhY2ggY2FsbCB0bwogICAgICAgICAgICAgICAgICAgICAgXwhjXwhhXwhsXwhsXwhiXwhhXwhjXwhrLgogCi0gICAgICAgICAgICAgIElmICAtCC1DCEMgIGlzICBzcGVjaWZpZWQgIHdpdGhvdXQgIC0ILWMIYywgdGhlIGRlZmF1bHQgcXVhbnR1bSBpcyA1MDAwLgorICAgICAgICAgICAgICBJZiAtCC1DCEMgaXMgc3BlY2lmaWVkIHdpdGhvdXQgLQgtYwhjLCAgdGhlICBkZWZhdWx0ICBxdWFudHVtICBpcyAgNTAwMC4KICAgICAgICAgICAgICAgV2hlbiBfCGNfCGFfCGxfCGxfCGJfCGFfCGNfCGsgaXMgZXZhbHVhdGVkLCBpdCBpcyBzdXBwbGllZCB0aGUgaW5kZXggb2YgdGhlIG5leHQKLSAgICAgICAgICAgICAgYXJyYXkgIGVsZW1lbnQgIHRvIGJlIGFzc2lnbmVkIGFzIGFuIGFkZGl0aW9uYWwgYXJndW1lbnQuICBfCGNfCGFfCGxfCGxfCC0KLSAgICAgICAgICAgICAgXwhiXwhhXwhjXwhrIGlzIGV2YWx1YXRlZCBhZnRlciB0aGUgbGluZSBpcyByZWFkIGJ1dCAgYmVmb3JlICB0aGUgIGFycmF5CisgICAgICAgICAgICAgIGFycmF5IGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYXMgYW4gYWRkaXRpb25hbCAgYXJndW1lbnQuICAgXwhjXwhhXwhsXwhsXwgtCisgICAgICAgICAgICAgIF8IYl8IYV8IY18IayAgaXMgIGV2YWx1YXRlZCAgYWZ0ZXIgdGhlIGxpbmUgaXMgcmVhZCBidXQgYmVmb3JlIHRoZSBhcnJheQogICAgICAgICAgICAgICBlbGVtZW50IGlzIGFzc2lnbmVkLgogCi0gICAgICAgICAgICAgIElmICBub3QgIHN1cHBsaWVkICB3aXRoICBhbiAgZXhwbGljaXQgb3JpZ2luLCBtCG1hCGFwCHBmCGZpCGlsCGxlCGUgd2lsbCBjbGVhcgorICAgICAgICAgICAgICBJZiBub3Qgc3VwcGxpZWQgd2l0aCBhbiAgZXhwbGljaXQgIG9yaWdpbiwgIG0IbWEIYXAIcGYIZmkIaWwIbGUIZSAgd2lsbCAgY2xlYXIKICAgICAgICAgICAgICAgXwhhXwhyXwhyXwhhXwh5IGJlZm9yZSBhc3NpZ25pbmcgdG8gaXQuCiAKLSAgICAgICAgICAgICAgbQhtYQhhcAhwZghmaQhpbAhsZQhlIHJldHVybnMgc3VjY2Vzc2Z1bGx5IHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBvciAgb3B0aW9uCi0gICAgICAgICAgICAgIGFyZ3VtZW50IGlzIHN1cHBsaWVkLCBvciBfCGFfCHJfCHJfCGFfCHkgaXMgaW52YWxpZCBvciB1bmFzc2lnbmFibGUuCisgICAgICAgICAgICAgIG0IbWEIYXAIcGYIZmkIaWwIbGUIZSAgcmV0dXJucyBzdWNjZXNzZnVsbHkgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIG9yIG9wdGlvbgorICAgICAgICAgICAgICBhcmd1bWVudCBpcyBzdXBwbGllZCwgXwhhXwhyXwhyXwhhXwh5IGlzIGludmFsaWQgb3IgIHVuYXNzaWduYWJsZSwgIG9yICBpZgorICAgICAgICAgICAgICBfCGFfCHJfCHJfCGFfCHkgaXMgbm90IGFuIGluZGV4ZWQgYXJyYXkuCiAKICAgICAgICBwCHBvCG9wCHBkCGQgWy1uCG5dIFsrXwhuXSBbLV8Ibl0KICAgICAgICAgICAgICAgUmVtb3ZlcyAgZW50cmllcyAgZnJvbSAgdGhlIGRpcmVjdG9yeSBzdGFjay4gIFdpdGggbm8gYXJndW1lbnRzLApAQCAtNDQwNiw4ICs0NTE2LDggQEAKICAgICAgICAgICAgICAgb2NjdXJzIHdoaWxlIHJlYWRpbmcgdGhlIG5hbWUgb2YgdGhlICBjdXJyZW50ICBkaXJlY3RvcnkgIG9yICBhbgogICAgICAgICAgICAgICBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZC4KIAotICAgICAgIHIIcmUIZWEIYWQIZCAgWy0ILWUIZXIIcnMIc10gWy0ILWEIYSBfCGFfCG5fCGFfCG1fCGVdIFstCC1kCGQgXwhkXwhlXwhsXwhpXwhtXSBbLQgtIF8IdF8IZV8IeF8IdF0gWy0ILW4IbiBfCG5fCGNfCGhfCGFfCHJfCHNdIFstCC1wCHAgXwhwXwhyXwhvXwhtXwhwXwh0XSBbLQgtdAh0Ci0gICAgICAgXwh0XwhpXwhtXwhlXwhvXwh1Xwh0XSBbLQgtdQh1IF8IZl8IZF0gW18Ibl8IYV8IbV8IZSAuLi5dCisgICAgICAgcghyZQhlYQhhZAhkIFstCC1lCGVyCHJzCHNdIFstCC1hCGEgXwhhXwhuXwhhXwhtXwhlXSBbLQgtZAhkIF8IZF8IZV8IbF8IaV8IbV0gWy0ILWkIaSBfCHRfCGVfCHhfCHRdIFstCC1uCG4gXwhuXwhjXwhoXwhhXwhyXwhzXSBbLQgtTghOIF8Ibl8IY18IaF8IYV8Icl8Ic10gWy0ILXAIcAorICAgICAgIF8IcF8Icl8Ib18IbV8IcF8IdF0gWy0ILXQIdCBfCHRfCGlfCG1fCGVfCG9fCHVfCHRdIFstCC11CHUgXwhmXwhkXSBbXwhuXwhhXwhtXwhlIC4uLl0KICAgICAgICAgICAgICAgT25lICBsaW5lICBpcyAgcmVhZCAgZnJvbSAgdGhlICBzdGFuZGFyZCBpbnB1dCwgb3IgZnJvbSB0aGUgZmlsZQogICAgICAgICAgICAgICBkZXNjcmlwdG9yIF8IZl8IZCBzdXBwbGllZCBhcyBhbiBhcmd1bWVudCB0byB0aGUgLQgtdQh1IG9wdGlvbiwgYW5kICB0aGUKICAgICAgICAgICAgICAgZmlyc3Qgd29yZCBpcyBhc3NpZ25lZCB0byB0aGUgZmlyc3QgXwhuXwhhXwhtXwhlLCB0aGUgc2Vjb25kIHdvcmQgdG8gdGhlCkBAIC00NDM2LDkzICs0NTQ2LDEwNyBAQAogICAgICAgICAgICAgICAgICAgICAgcGxhY2VkIGludG8gdGhlIGVkaXRpbmcgYnVmZmVyIGJlZm9yZSBlZGl0aW5nIGJlZ2lucy4KICAgICAgICAgICAgICAgLQgtbghuIF8Ibl8IY18IaF8IYV8Icl8IcwogICAgICAgICAgICAgICAgICAgICAgcghyZQhlYQhhZAhkICByZXR1cm5zIGFmdGVyIHJlYWRpbmcgXwhuXwhjXwhoXwhhXwhyXwhzIGNoYXJhY3RlcnMgcmF0aGVyIHRoYW4KLSAgICAgICAgICAgICAgICAgICAgIHdhaXRpbmcgZm9yIGEgY29tcGxldGUgbGluZSBvZiBpbnB1dC4KKyAgICAgICAgICAgICAgICAgICAgIHdhaXRpbmcgZm9yIGEgY29tcGxldGUgbGluZSBvZiBpbnB1dCwgYnV0IGhvbm9yIGEgIGRlbGltLQorICAgICAgICAgICAgICAgICAgICAgaXRlciAgaWYgZmV3ZXIgdGhhbiBfCG5fCGNfCGhfCGFfCHJfCHMgY2hhcmFjdGVycyBhcmUgcmVhZCBiZWZvcmUgdGhlCisgICAgICAgICAgICAgICAgICAgICBkZWxpbWl0ZXIuCisgICAgICAgICAgICAgIC0ILU4ITiBfCG5fCGNfCGhfCGFfCHJfCHMKKyAgICAgICAgICAgICAgICAgICAgIHIIcmUIZWEIYWQIZCByZXR1cm5zICBhZnRlciAgcmVhZGluZyAgZXhhY3RseSAgXwhuXwhjXwhoXwhhXwhyXwhzICBjaGFyYWN0ZXJzCisgICAgICAgICAgICAgICAgICAgICByYXRoZXIgIHRoYW4gd2FpdGluZyBmb3IgYSBjb21wbGV0ZSBsaW5lIG9mIGlucHV0LCB1bmxlc3MKKyAgICAgICAgICAgICAgICAgICAgIEVPRiBpcyBlbmNvdW50ZXJlZCBvciByCHJlCGVhCGFkCGQgdGltZXMgb3V0LiAgRGVsaW1pdGVyICBjaGFyYWMtCisgICAgICAgICAgICAgICAgICAgICB0ZXJzICBlbmNvdW50ZXJlZCAgaW4gdGhlIGlucHV0IGFyZSBub3QgdHJlYXRlZCBzcGVjaWFsbHkKKyAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY2F1c2UgcghyZQhlYQhhZAhkIHRvIHJldHVybiB1bnRpbCAgXwhuXwhjXwhoXwhhXwhyXwhzICBjaGFyYWN0ZXJzCisgICAgICAgICAgICAgICAgICAgICBhcmUgcmVhZC4KICAgICAgICAgICAgICAgLQgtcAhwIF8IcF8Icl8Ib18IbV8IcF8IdAogICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBfCHBfCHJfCG9fCG1fCHBfCHQgb24gc3RhbmRhcmQgZXJyb3IsIHdpdGhvdXQgYSB0cmFpbGluZyBuZXctCiAgICAgICAgICAgICAgICAgICAgICBsaW5lLCBiZWZvcmUgYXR0ZW1wdGluZyB0byByZWFkIGFueSBpbnB1dC4gIFRoZSBwcm9tcHQgaXMKICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXllZCBvbmx5IGlmIGlucHV0IGlzIGNvbWluZyBmcm9tIGEgdGVybWluYWwuCiAgICAgICAgICAgICAgIC0ILXIIciAgICAgQmFja3NsYXNoIGRvZXMgbm90IGFjdCBhcyBhbiBlc2NhcGUgY2hhcmFjdGVyLiAgVGhlIGJhY2stCi0gICAgICAgICAgICAgICAgICAgICBzbGFzaCAgaXMgY29uc2lkZXJlZCB0byBiZSBwYXJ0IG9mIHRoZSBsaW5lLiAgSW4gcGFydGljdS0KLSAgICAgICAgICAgICAgICAgICAgIGxhciwgYSBiYWNrc2xhc2gtbmV3bGluZSBwYWlyIG1heSBub3QgYmUgdXNlZCBhcyAgYSAgbGluZQorICAgICAgICAgICAgICAgICAgICAgc2xhc2ggaXMgY29uc2lkZXJlZCB0byBiZSBwYXJ0IG9mIHRoZSBsaW5lLiAgSW4gIHBhcnRpY3UtCisgICAgICAgICAgICAgICAgICAgICBsYXIsICBhICBiYWNrc2xhc2gtbmV3bGluZSBwYWlyIG1heSBub3QgYmUgdXNlZCBhcyBhIGxpbmUKICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVhdGlvbi4KICAgICAgICAgICAgICAgLQgtcwhzICAgICBTaWxlbnQgbW9kZS4gIElmIGlucHV0IGlzIGNvbWluZyBmcm9tIGEgdGVybWluYWwsIGNoYXJhYy0KICAgICAgICAgICAgICAgICAgICAgIHRlcnMgYXJlIG5vdCBlY2hvZWQuCiAgICAgICAgICAgICAgIC0ILXQIdCBfCHRfCGlfCG1fCGVfCG9fCHVfCHQKLSAgICAgICAgICAgICAgICAgICAgIENhdXNlIHIIcmUIZWEIYWQIZCB0byB0aW1lIG91dCBhbmQgcmV0dXJuIGZhaWx1cmUgaWYgIGEgIGNvbXBsZXRlCi0gICAgICAgICAgICAgICAgICAgICBsaW5lICBvZiBpbnB1dCBpcyBub3QgcmVhZCB3aXRoaW4gXwh0XwhpXwhtXwhlXwhvXwh1Xwh0IHNlY29uZHMuICBfCHRfCGlfCG1fCGVfCC0KLSAgICAgICAgICAgICAgICAgICAgIF8Ib18IdV8IdCBtYXkgYmUgYSBkZWNpbWFsIG51bWJlciAgd2l0aCAgYSAgZnJhY3Rpb25hbCAgcG9ydGlvbgotICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nICB0aGUgZGVjaW1hbCBwb2ludC4gIFRoaXMgb3B0aW9uIGlzIG9ubHkgZWZmZWMtCi0gICAgICAgICAgICAgICAgICAgICB0aXZlIGlmIHIIcmUIZWEIYWQIZCBpcyByZWFkaW5nIGlucHV0IGZyb20gYSB0ZXJtaW5hbCwgIHBpcGUsICBvcgotICAgICAgICAgICAgICAgICAgICAgb3RoZXIgIHNwZWNpYWwgIGZpbGU7ICBpdCBoYXMgbm8gZWZmZWN0IHdoZW4gcmVhZGluZyBmcm9tCi0gICAgICAgICAgICAgICAgICAgICByZWd1bGFyIGZpbGVzLiAgSWYgXwh0XwhpXwhtXwhlXwhvXwh1Xwh0IGlzIDAsIHIIcmUIZWEIYWQIZCByZXR1cm5zIHN1Y2Nlc3MgIGlmCi0gICAgICAgICAgICAgICAgICAgICBpbnB1dCAgaXMgIGF2YWlsYWJsZSAgb24gIHRoZSAgc3BlY2lmaWVkIGZpbGUgZGVzY3JpcHRvciwKLSAgICAgICAgICAgICAgICAgICAgIGZhaWx1cmUgb3RoZXJ3aXNlLiAgVGhlIGV4aXQgc3RhdHVzIGlzIGdyZWF0ZXIgIHRoYW4gIDEyOAorICAgICAgICAgICAgICAgICAgICAgQ2F1c2UgIHIIcmUIZWEIYWQIZCAgdG8gdGltZSBvdXQgYW5kIHJldHVybiBmYWlsdXJlIGlmIGEgY29tcGxldGUKKyAgICAgICAgICAgICAgICAgICAgIGxpbmUgb2YgaW5wdXQgaXMgbm90IHJlYWQgd2l0aGluIF8IdF8IaV8IbV8IZV8Ib18IdV8IdCBzZWNvbmRzLiAgIF8IdF8IaV8IbV8IZV8ILQorICAgICAgICAgICAgICAgICAgICAgXwhvXwh1Xwh0ICBtYXkgIGJlICBhICBkZWNpbWFsIG51bWJlciB3aXRoIGEgZnJhY3Rpb25hbCBwb3J0aW9uCisgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgdGhlIGRlY2ltYWwgcG9pbnQuICBUaGlzIG9wdGlvbiBpcyBvbmx5ICBlZmZlYy0KKyAgICAgICAgICAgICAgICAgICAgIHRpdmUgIGlmICByCHJlCGVhCGFkCGQgaXMgcmVhZGluZyBpbnB1dCBmcm9tIGEgdGVybWluYWwsIHBpcGUsIG9yCisgICAgICAgICAgICAgICAgICAgICBvdGhlciBzcGVjaWFsIGZpbGU7IGl0IGhhcyBubyBlZmZlY3QgIHdoZW4gIHJlYWRpbmcgIGZyb20KKyAgICAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgIGZpbGVzLiAgSWYgXwh0XwhpXwhtXwhlXwhvXwh1Xwh0IGlzIDAsIHIIcmUIZWEIYWQIZCByZXR1cm5zIHN1Y2Nlc3MgaWYKKyAgICAgICAgICAgICAgICAgICAgIGlucHV0IGlzIGF2YWlsYWJsZSAgb24gIHRoZSAgc3BlY2lmaWVkICBmaWxlICBkZXNjcmlwdG9yLAorICAgICAgICAgICAgICAgICAgICAgZmFpbHVyZSAgb3RoZXJ3aXNlLiAgIFRoZSBleGl0IHN0YXR1cyBpcyBncmVhdGVyIHRoYW4gMTI4CiAgICAgICAgICAgICAgICAgICAgICBpZiB0aGUgdGltZW91dCBpcyBleGNlZWRlZC4KICAgICAgICAgICAgICAgLQgtdQh1IF8IZl8IZCAgUmVhZCBpbnB1dCBmcm9tIGZpbGUgZGVzY3JpcHRvciBfCGZfCGQuCiAKICAgICAgICAgICAgICAgSWYgbm8gXwhuXwhhXwhtXwhlXwhzIGFyZSBzdXBwbGllZCwgdGhlIGxpbmUgcmVhZCBpcyBhc3NpZ25lZCB0byB0aGUgdmFyaS0KLSAgICAgICAgICAgICAgYWJsZSBSCFJFCEVQCFBMCExZCFkuICBUaGUgcmV0dXJuIGNvZGUgIGlzICB6ZXJvLCAgdW5sZXNzICBlbmQtb2YtZmlsZSAgaXMKLSAgICAgICAgICAgICAgZW5jb3VudGVyZWQsICByCHJlCGVhCGFkCGQgIHRpbWVzICBvdXQgKGluIHdoaWNoIGNhc2UgdGhlIHJldHVybiBjb2RlIGlzCi0gICAgICAgICAgICAgIGdyZWF0ZXIgdGhhbiAxMjgpLCBvciBhbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBpcyBzdXBwbGllZCAgYXMKKyAgICAgICAgICAgICAgYWJsZSAgUghSRQhFUAhQTAhMWQhZLiAgIFRoZSAgcmV0dXJuICBjb2RlICBpcyB6ZXJvLCB1bmxlc3MgZW5kLW9mLWZpbGUgaXMKKyAgICAgICAgICAgICAgZW5jb3VudGVyZWQsIHIIcmUIZWEIYWQIZCB0aW1lcyBvdXQgKGluIHdoaWNoIGNhc2UgdGhlICByZXR1cm4gIGNvZGUgIGlzCisgICAgICAgICAgICAgIGdyZWF0ZXIgIHRoYW4gMTI4KSwgb3IgYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IgaXMgc3VwcGxpZWQgYXMKICAgICAgICAgICAgICAgdGhlIGFyZ3VtZW50IHRvIC0ILXUIdS4KIAogICAgICAgIHIIcmUIZWEIYWQIZG8Ib24IbmwIbHkIeSBbLQgtYQhhQQhBcAhwZghmXSBbXwhuXwhhXwhtXwhlWz1fCHdfCG9fCHJfCGRdIC4uLl0KLSAgICAgICAgICAgICAgVGhlICBnaXZlbiAgXwhuXwhhXwhtXwhlXwhzIGFyZSBtYXJrZWQgcmVhZG9ubHk7IHRoZSB2YWx1ZXMgb2YgdGhlc2UgXwhuXwhhXwhtXwhlXwhzCi0gICAgICAgICAgICAgIG1heSBub3QgYmUgY2hhbmdlZCBieSBzdWJzZXF1ZW50IGFzc2lnbm1lbnQuICBJZiB0aGUgIC0ILWYIZiAgb3B0aW9uCi0gICAgICAgICAgICAgIGlzICBzdXBwbGllZCwgIHRoZSAgZnVuY3Rpb25zICBjb3JyZXNwb25kaW5nIHRvIHRoZSBfCG5fCGFfCG1fCGVfCHMgYXJlIHNvCi0gICAgICAgICAgICAgIG1hcmtlZC4gIFRoZSAgLQgtYQhhICBvcHRpb24gIHJlc3RyaWN0cyAgdGhlICB2YXJpYWJsZXMgIHRvICBpbmRleGVkCi0gICAgICAgICAgICAgIGFycmF5czsgIHRoZSAgLQgtQQhBICBvcHRpb24gIHJlc3RyaWN0cyB0aGUgdmFyaWFibGVzIHRvIGFzc29jaWF0aXZlCi0gICAgICAgICAgICAgIGFycmF5cy4gIElmIG5vIF8Ibl8IYV8IbV8IZSBhcmd1bWVudHMgYXJlIGdpdmVuLCBvciBpZiB0aGUgLQgtcAhwIG9wdGlvbiAgaXMKLSAgICAgICAgICAgICAgc3VwcGxpZWQsICBhICBsaXN0ICBvZiAgYWxsICByZWFkb25seSAgbmFtZXMgaXMgcHJpbnRlZC4gIFRoZSAtCC1wCHAKLSAgICAgICAgICAgICAgb3B0aW9uIGNhdXNlcyBvdXRwdXQgdG8gYmUgZGlzcGxheWVkIGluIGEgIGZvcm1hdCAgdGhhdCAgbWF5ICBiZQotICAgICAgICAgICAgICByZXVzZWQgIGFzICBpbnB1dC4gIElmIGEgdmFyaWFibGUgbmFtZSBpcyBmb2xsb3dlZCBieSA9Xwh3XwhvXwhyXwhkLCB0aGUKLSAgICAgICAgICAgICAgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGlzIHNldCB0byBfCHdfCG9fCHJfCGQuICBUaGUgcmV0dXJuICBzdGF0dXMgIGlzICAwCisgICAgICAgICAgICAgIFRoZSBnaXZlbiBfCG5fCGFfCG1fCGVfCHMgYXJlIG1hcmtlZCByZWFkb25seTsgdGhlIHZhbHVlcyBvZiAgdGhlc2UgIF8Ibl8IYV8IbV8IZV8IcworICAgICAgICAgICAgICBtYXkgIG5vdCAgYmUgY2hhbmdlZCBieSBzdWJzZXF1ZW50IGFzc2lnbm1lbnQuICBJZiB0aGUgLQgtZghmIG9wdGlvbgorICAgICAgICAgICAgICBpcyBzdXBwbGllZCwgdGhlIGZ1bmN0aW9ucyBjb3JyZXNwb25kaW5nIHRvICB0aGUgIF8Ibl8IYV8IbV8IZV8IcyAgYXJlICBzbworICAgICAgICAgICAgICBtYXJrZWQuICAgVGhlICAtCC1hCGEgIG9wdGlvbiAgcmVzdHJpY3RzICB0aGUgIHZhcmlhYmxlcyAgdG8gaW5kZXhlZAorICAgICAgICAgICAgICBhcnJheXM7IHRoZSAtCC1BCEEgb3B0aW9uIHJlc3RyaWN0cyAgdGhlICB2YXJpYWJsZXMgIHRvICBhc3NvY2lhdGl2ZQorICAgICAgICAgICAgICBhcnJheXMuICAgSWYgbm8gXwhuXwhhXwhtXwhlIGFyZ3VtZW50cyBhcmUgZ2l2ZW4sIG9yIGlmIHRoZSAtCC1wCHAgb3B0aW9uIGlzCisgICAgICAgICAgICAgIHN1cHBsaWVkLCBhIGxpc3Qgb2YgYWxsICByZWFkb25seSAgbmFtZXMgIGlzICBwcmludGVkLiAgIFRoZSAgLQgtcAhwCisgICAgICAgICAgICAgIG9wdGlvbiAgY2F1c2VzICBvdXRwdXQgIHRvICBiZSBkaXNwbGF5ZWQgaW4gYSBmb3JtYXQgdGhhdCBtYXkgYmUKKyAgICAgICAgICAgICAgcmV1c2VkIGFzIGlucHV0LiAgSWYgYSB2YXJpYWJsZSBuYW1lIGlzIGZvbGxvd2VkIGJ5ICA9Xwh3XwhvXwhyXwhkLCAgdGhlCisgICAgICAgICAgICAgIHZhbHVlICBvZiAgdGhlICB2YXJpYWJsZSBpcyBzZXQgdG8gXwh3XwhvXwhyXwhkLiAgVGhlIHJldHVybiBzdGF0dXMgaXMgMAogICAgICAgICAgICAgICB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZW5jb3VudGVyZWQsIG9uZSBvZiB0aGUgXwhuXwhhXwhtXwhlXwhzIGlzIG5vdAotICAgICAgICAgICAgICBhIHZhbGlkIHNoZWxsIHZhcmlhYmxlIG5hbWUsIG9yIC0ILWYIZiBpcyBzdXBwbGllZCB3aXRoIGEgXwhuXwhhXwhtXwhlICB0aGF0CisgICAgICAgICAgICAgIGEgIHZhbGlkIHNoZWxsIHZhcmlhYmxlIG5hbWUsIG9yIC0ILWYIZiBpcyBzdXBwbGllZCB3aXRoIGEgXwhuXwhhXwhtXwhlIHRoYXQKICAgICAgICAgICAgICAgaXMgbm90IGEgZnVuY3Rpb24uCiAKICAgICAgICByCHJlCGV0CHR1CHVyCHJuCG4gW18Ibl0KLSAgICAgICAgICAgICAgQ2F1c2VzICBhIGZ1bmN0aW9uIHRvIGV4aXQgd2l0aCB0aGUgcmV0dXJuIHZhbHVlIHNwZWNpZmllZCBieSBfCG4uCi0gICAgICAgICAgICAgIElmIF8IbiBpcyBvbWl0dGVkLCB0aGUgcmV0dXJuIHN0YXR1cyBpcyB0aGF0IG9mIHRoZSAgbGFzdCAgY29tbWFuZAotICAgICAgICAgICAgICBleGVjdXRlZCAgaW4gdGhlIGZ1bmN0aW9uIGJvZHkuICBJZiB1c2VkIG91dHNpZGUgYSBmdW5jdGlvbiwgYnV0Ci0gICAgICAgICAgICAgIGR1cmluZyBleGVjdXRpb24gb2YgYSBzY3JpcHQgYnkgIHRoZSAgLgguICAgKHMIc28Ib3UIdXIIcmMIY2UIZSkgIGNvbW1hbmQsICBpdAorICAgICAgICAgICAgICBDYXVzZXMgYSBmdW5jdGlvbiB0byBleGl0IHdpdGggdGhlIHJldHVybiB2YWx1ZSBzcGVjaWZpZWQgYnkgIF8Ibi4KKyAgICAgICAgICAgICAgSWYgIF8IbiAgaXMgb21pdHRlZCwgdGhlIHJldHVybiBzdGF0dXMgaXMgdGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kCisgICAgICAgICAgICAgIGV4ZWN1dGVkIGluIHRoZSBmdW5jdGlvbiBib2R5LiAgSWYgdXNlZCBvdXRzaWRlIGEgZnVuY3Rpb24sICBidXQKKyAgICAgICAgICAgICAgZHVyaW5nICBleGVjdXRpb24gIG9mICBhICBzY3JpcHQgIGJ5IHRoZSAuCC4gIChzCHNvCG91CHVyCHJjCGNlCGUpIGNvbW1hbmQsIGl0CiAgICAgICAgICAgICAgIGNhdXNlcyB0aGUgc2hlbGwgdG8gc3RvcCBleGVjdXRpbmcgdGhhdCBzY3JpcHQgYW5kIHJldHVybiBlaXRoZXIKLSAgICAgICAgICAgICAgXwhuIG9yIHRoZSBleGl0IHN0YXR1cyBvZiB0aGUgbGFzdCAgY29tbWFuZCAgZXhlY3V0ZWQgIHdpdGhpbiAgdGhlCi0gICAgICAgICAgICAgIHNjcmlwdCAgYXMgIHRoZSAgZXhpdCAgc3RhdHVzICBvZiB0aGUgc2NyaXB0LiAgSWYgdXNlZCBvdXRzaWRlIGEKLSAgICAgICAgICAgICAgZnVuY3Rpb24gYW5kIG5vdCBkdXJpbmcgZXhlY3V0aW9uIG9mIGEgc2NyaXB0IGJ5IC4ILiwgIHRoZSAgcmV0dXJuCisgICAgICAgICAgICAgIF8IbiAgb3IgIHRoZSAgZXhpdCAgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQgd2l0aGluIHRoZQorICAgICAgICAgICAgICBzY3JpcHQgYXMgdGhlIGV4aXQgc3RhdHVzIG9mIHRoZSAgc2NyaXB0LiAgIElmICB1c2VkICBvdXRzaWRlICBhCisgICAgICAgICAgICAgIGZ1bmN0aW9uICBhbmQgIG5vdCBkdXJpbmcgZXhlY3V0aW9uIG9mIGEgc2NyaXB0IGJ5IC4ILiwgdGhlIHJldHVybgogICAgICAgICAgICAgICBzdGF0dXMgaXMgZmFsc2UuICBBbnkgY29tbWFuZCBhc3NvY2lhdGVkIHdpdGggdGhlIFIIUkUIRVQIVFUIVVIIUk4ITiB0cmFwIGlzCi0gICAgICAgICAgICAgIGV4ZWN1dGVkIGJlZm9yZSBleGVjdXRpb24gcmVzdW1lcyBhZnRlciB0aGUgZnVuY3Rpb24gb3IgIHNjcmlwdC4KKyAgICAgICAgICAgICAgZXhlY3V0ZWQgIGJlZm9yZSBleGVjdXRpb24gcmVzdW1lcyBhZnRlciB0aGUgZnVuY3Rpb24gb3Igc2NyaXB0LgogCiAgICAgICAgcwhzZQhldAh0IFstCC0tCC1hCGFiCGJlCGVmCGZoCGhrCGttCG1uCG5wCHB0CHR1CHV2CHZ4CHhCCEJDCENFCEVICEhQCFBUCFRdIFstCC1vCG8gXwhvXwhwXwh0XwhpXwhvXwhuXSBbXwhhXwhyXwhnIC4uLl0KICAgICAgICBzCHNlCGV0CHQgWysIK2EIYWIIYmUIZWYIZmgIaGsIa20IbW4IbnAIcHQIdHUIdXYIdngIeEIIQkMIQ0UIRUgISFAIUFQIVF0gWysIK28IbyBfCG9fCHBfCHRfCGlfCG9fCG5dIFtfCGFfCHJfCGcgLi4uXQotICAgICAgICAgICAgICBXaXRob3V0ICBvcHRpb25zLCAgdGhlIG5hbWUgYW5kIHZhbHVlIG9mIGVhY2ggc2hlbGwgdmFyaWFibGUgYXJlCisgICAgICAgICAgICAgIFdpdGhvdXQgb3B0aW9ucywgdGhlIG5hbWUgYW5kIHZhbHVlIG9mIGVhY2ggc2hlbGwgIHZhcmlhYmxlICBhcmUKICAgICAgICAgICAgICAgZGlzcGxheWVkIGluIGEgZm9ybWF0IHRoYXQgY2FuIGJlIHJldXNlZCBhcyBpbnB1dCBmb3Igc2V0dGluZyBvcgogICAgICAgICAgICAgICByZXNldHRpbmcgdGhlIGN1cnJlbnRseS1zZXQgdmFyaWFibGVzLiAgUmVhZC1vbmx5IHZhcmlhYmxlcyBjYW4tCi0gICAgICAgICAgICAgIG5vdCBiZSByZXNldC4gIEluIF8IcF8Ib18Ic18IaV8IeCBfCG1fCG9fCGRfCGUsIG9ubHkgc2hlbGwgdmFyaWFibGVzICBhcmUgIGxpc3RlZC4KLSAgICAgICAgICAgICAgVGhlICBvdXRwdXQgIGlzICBzb3J0ZWQgIGFjY29yZGluZyAgdG8gdGhlIGN1cnJlbnQgbG9jYWxlLiAgV2hlbgotICAgICAgICAgICAgICBvcHRpb25zIGFyZSBzcGVjaWZpZWQsIHRoZXkgc2V0IG9yIHVuc2V0IHNoZWxsIGF0dHJpYnV0ZXMuICAgQW55Ci0gICAgICAgICAgICAgIGFyZ3VtZW50cyAgcmVtYWluaW5nIGFmdGVyIG9wdGlvbiBwcm9jZXNzaW5nIGFyZSB0cmVhdGVkIGFzIHZhbC0KKyAgICAgICAgICAgICAgbm90ICBiZSAgcmVzZXQuICBJbiBfCHBfCG9fCHNfCGlfCHggXwhtXwhvXwhkXwhlLCBvbmx5IHNoZWxsIHZhcmlhYmxlcyBhcmUgbGlzdGVkLgorICAgICAgICAgICAgICBUaGUgb3V0cHV0IGlzIHNvcnRlZCBhY2NvcmRpbmcgIHRvICB0aGUgIGN1cnJlbnQgIGxvY2FsZS4gICBXaGVuCisgICAgICAgICAgICAgIG9wdGlvbnMgIGFyZSBzcGVjaWZpZWQsIHRoZXkgc2V0IG9yIHVuc2V0IHNoZWxsIGF0dHJpYnV0ZXMuICBBbnkKKyAgICAgICAgICAgICAgYXJndW1lbnRzIHJlbWFpbmluZyBhZnRlciBvcHRpb24gcHJvY2Vzc2luZyBhcmUgdHJlYXRlZCBhcyAgdmFsLQogICAgICAgICAgICAgICB1ZXMgZm9yIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYW5kIGFyZSBhc3NpZ25lZCwgaW4gb3JkZXIsIHRvCi0gICAgICAgICAgICAgICQIJDEIMSwgICQIJDIIMiwgIC4ILi4ILi4ILiAgICQIJF8Ibi4gICBPcHRpb25zLCAgaWYgc3BlY2lmaWVkLCBoYXZlIHRoZSBmb2xsb3dpbmcKKyAgICAgICAgICAgICAgJAgkMQgxLCAkCCQyCDIsIC4ILi4ILi4ILiAgJAgkXwhuLiAgT3B0aW9ucywgIGlmICBzcGVjaWZpZWQsICBoYXZlICB0aGUgIGZvbGxvd2luZwogICAgICAgICAgICAgICBtZWFuaW5nczoKLSAgICAgICAgICAgICAgLQgtYQhhICAgICAgQXV0b21hdGljYWxseSBtYXJrIHZhcmlhYmxlcyAgYW5kICBmdW5jdGlvbnMgIHdoaWNoICBhcmUKLSAgICAgICAgICAgICAgICAgICAgICBtb2RpZmllZCAgb3IgIGNyZWF0ZWQgIGZvciAgZXhwb3J0IHRvIHRoZSBlbnZpcm9ubWVudCBvZgorICAgICAgICAgICAgICAtCC1hCGEgICAgICBBdXRvbWF0aWNhbGx5ICBtYXJrICB2YXJpYWJsZXMgIGFuZCAgZnVuY3Rpb25zIHdoaWNoIGFyZQorICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkIG9yIGNyZWF0ZWQgZm9yIGV4cG9ydCAgdG8gIHRoZSAgZW52aXJvbm1lbnQgIG9mCiAgICAgICAgICAgICAgICAgICAgICAgc3Vic2VxdWVudCBjb21tYW5kcy4KLSAgICAgICAgICAgICAgLQgtYghiICAgICAgUmVwb3J0IHRoZSBzdGF0dXMgb2YgdGVybWluYXRlZCBiYWNrZ3JvdW5kIGpvYnMgIGltbWVkaS0KKyAgICAgICAgICAgICAgLQgtYghiICAgICAgUmVwb3J0ICB0aGUgc3RhdHVzIG9mIHRlcm1pbmF0ZWQgYmFja2dyb3VuZCBqb2JzIGltbWVkaS0KICAgICAgICAgICAgICAgICAgICAgICBhdGVseSwgcmF0aGVyIHRoYW4gYmVmb3JlIHRoZSBuZXh0IHByaW1hcnkgcHJvbXB0LiAgVGhpcwogICAgICAgICAgICAgICAgICAgICAgIGlzIGVmZmVjdGl2ZSBvbmx5IHdoZW4gam9iIGNvbnRyb2wgaXMgZW5hYmxlZC4KLSAgICAgICAgICAgICAgLQgtZQhlICAgICAgRXhpdCBpbW1lZGlhdGVseSBpZiBhIF8Ic18IaV8IbV8IcF8IbF8IZSBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgKHNlZSBTCFNICEhFCEVMCExMCEwgIEcIR1IIUkEIQU0ITU0ITUEIQVIIUgorICAgICAgICAgICAgICAtCC1lCGUgICAgICBFeGl0ICBpbW1lZGlhdGVseSAgaWYgYSBfCHBfCGlfCHBfCGVfCGxfCGlfCG5fCGUgKHdoaWNoIG1heSBjb25zaXN0IG9mIGEKKyAgICAgICAgICAgICAgICAgICAgICBzaW5nbGUgXwhzXwhpXwhtXwhwXwhsXwhlIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCksICBhIF8Ic18IdV8IYl8Ic18IaF8IZV8IbF8IbCBjb21tYW5kIGVuY2xvc2VkICBpbgorICAgICAgICAgICAgICAgICAgICAgIHBhcmVudGhlc2VzLCAgb3Igb25lIG9mIHRoZSBjb21tYW5kcyBleGVjdXRlZCBhcyBwYXJ0IG9mCisgICAgICAgICAgICAgICAgICAgICAgYSBjb21tYW5kIGxpc3QgZW5jbG9zZWQgYnkgIGJyYWNlcyAgKHNlZSAgUwhTSAhIRQhFTAhMTAhMICBHCEdSCFJBCEFNCE1NCE1BCEFSCFIKICAgICAgICAgICAgICAgICAgICAgICBhYm92ZSkgZXhpdHMgd2l0aCBhIG5vbi16ZXJvIHN0YXR1cy4gIFRoZSBzaGVsbCBkb2VzIG5vdAogICAgICAgICAgICAgICAgICAgICAgIGV4aXQgaWYgdGhlIGNvbW1hbmQgdGhhdCBmYWlscyBpcyBwYXJ0ICBvZiAgdGhlICBjb21tYW5kCiAgICAgICAgICAgICAgICAgICAgICAgbGlzdCAgaW1tZWRpYXRlbHkgIGZvbGxvd2luZyAgYSAgdwh3aAhoaQhpbAhsZQhlIG9yIHUIdW4IbnQIdGkIaWwIbCBrZXl3b3JkLAotICAgICAgICAgICAgICAgICAgICAgIHBhcnQgb2YgdGhlIHRlc3QgaW4gYW4gaQhpZghmIHN0YXRlbWVudCwgcGFydCBvZiAgYSAgY29tbWFuZAotICAgICAgICAgICAgICAgICAgICAgIGV4ZWN1dGVkICBpbiAgYSAmCCYmCCYgb3IgfAh8fAh8IGxpc3QsIGFueSBjb21tYW5kIGluIGEgcGlwZWxpbmUKLSAgICAgICAgICAgICAgICAgICAgICBidXQgdGhlIGxhc3QsIG9yIGlmIHRoZSBjb21tYW5kJ3MgcmV0dXJuIHZhbHVlIGlzICBiZWluZwotICAgICAgICAgICAgICAgICAgICAgIGludmVydGVkICB2aWEgICEIIS4gIEZhaWxpbmcgc2ltcGxlIGNvbW1hbmRzIHRoYXQgYXJlIHBhcnQKLSAgICAgICAgICAgICAgICAgICAgICBvZiBzaGVsbCBmdW5jdGlvbnMgb3IgY29tbWFuZCBsaXN0cyBlbmNsb3NlZCAgaW4gIGJyYWNlcwotICAgICAgICAgICAgICAgICAgICAgIG9yICBwYXJlbnRoZXNlcyAgc2F0aXNmeWluZyAgdGhlIGFib3ZlIGNvbmRpdGlvbnMgZG8gbm90Ci0gICAgICAgICAgICAgICAgICAgICAgY2F1c2UgdGhlIHNoZWxsIHRvIGV4aXQuICBBIHRyYXAgb24gRQhFUghSUghSLCBpZiBzZXQsIGlzIGV4ZS0KLSAgICAgICAgICAgICAgICAgICAgICBjdXRlZCBiZWZvcmUgdGhlIHNoZWxsIGV4aXRzLgorICAgICAgICAgICAgICAgICAgICAgIHBhcnQgb2YgdGhlIHRlc3QgIGZvbGxvd2luZyAgdGhlICBpCGlmCGYgIG9yICBlCGVsCGxpCGlmCGYgIHJlc2VydmVkCisgICAgICAgICAgICAgICAgICAgICAgd29yZHMsICBwYXJ0ICBvZiBhbnkgY29tbWFuZCBleGVjdXRlZCBpbiBhICYIJiYIJiBvciB8CHx8CHwgbGlzdAorICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCB0aGUgY29tbWFuZCBmb2xsb3dpbmcgdGhlIGZpbmFsICAmCCYmCCYgIG9yICB8CHx8CHwsICBhbnkKKyAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kICBpbiBhIHBpcGVsaW5lIGJ1dCB0aGUgbGFzdCwgb3IgaWYgdGhlIGNvbW1hbmQncworICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSBpcyBiZWluZyBpbnZlcnRlZCB3aXRoICEIIS4gIEEgdHJhcCAgb24gIEUIRVIIUlIIUiwKKyAgICAgICAgICAgICAgICAgICAgICBpZiBzZXQsIGlzIGV4ZWN1dGVkIGJlZm9yZSB0aGUgc2hlbGwgZXhpdHMuICBUaGlzIG9wdGlvbgorICAgICAgICAgICAgICAgICAgICAgIGFwcGxpZXMgdG8gdGhlIHNoZWxsIGVudmlyb25tZW50IGFuZCBlYWNoIHN1YnNoZWxsIGVudmktCisgICAgICAgICAgICAgICAgICAgICAgcm9ubWVudCAgc2VwYXJhdGVseSAgKHNlZSAgQwhDTwhPTQhNTQhNQQhBTghORAhEIEUIRVgIWEUIRUMIQ1UIVVQIVEkISU8IT04ITiBFCEVOCE5WCFZJCElSCFJPCE9OCE5NCE1FCEVOCE5UCFQKKyAgICAgICAgICAgICAgICAgICAgICBhYm92ZSksIGFuZCBtYXkgY2F1c2Ugc3Vic2hlbGxzIHRvIGV4aXQgYmVmb3JlIGV4ZWN1dGluZworICAgICAgICAgICAgICAgICAgICAgIGFsbCB0aGUgY29tbWFuZHMgaW4gdGhlIHN1YnNoZWxsLgogICAgICAgICAgICAgICAtCC1mCGYgICAgICBEaXNhYmxlIHBhdGhuYW1lIGV4cGFuc2lvbi4KICAgICAgICAgICAgICAgLQgtaAhoICAgICAgUmVtZW1iZXIgIHRoZSBsb2NhdGlvbiBvZiBjb21tYW5kcyBhcyB0aGV5IGFyZSBsb29rZWQgdXAKICAgICAgICAgICAgICAgICAgICAgICBmb3IgZXhlY3V0aW9uLiAgVGhpcyBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuCkBAIC00NTQ5LDExICs0NjczLDExIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBpbnRlcmFjdGl2ZSwgdW5sZXNzIHRoZSBzaGVsbCBpcyBzdGFydGVkIHdpdGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSAtCC0tCC1uCG5vCG9lCGVkCGRpCGl0CHRpCGluCG5nCGcgb3B0aW9uLiAgVGhpcyBhbHNvICBhZmZlY3RzICB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRpbmcgaW50ZXJmYWNlIHVzZWQgZm9yIHIIcmUIZWEIYWQIZCAtCC1lCGUuCisgICAgICAgICAgICAgICAgICAgICAgZQhlcghycghyZQhleAh4aQhpdAh0IFNhbWUgYXMgLQgtZQhlLgogICAgICAgICAgICAgICAgICAgICAgIGUIZXIIcnIIcnQIdHIIcmEIYWMIY2UIZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2FtZSBhcyAtCC1FCEUuCiAgICAgICAgICAgICAgICAgICAgICAgZghmdQh1bghuYwhjdAh0cghyYQhhYwhjZQhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTYW1lIGFzIC0ILVQIVC4KLSAgICAgICAgICAgICAgICAgICAgICBlCGVyCHJyCHJlCGV4CHhpCGl0CHQgU2FtZSBhcyAtCC1lCGUuCiAgICAgICAgICAgICAgICAgICAgICAgaAhoYQhhcwhzaAhoYQhhbAhsbAhsIFNhbWUgYXMgLQgtaAhoLgogICAgICAgICAgICAgICAgICAgICAgIGgIaGkIaXMIc3QIdGUIZXgIeHAIcGEIYW4IbmQIZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2FtZSBhcyAtCC1ICEguCkBAIC00NjAwLDIwICs0NzI0LDIyIEBACiAgICAgICAgICAgICAgIC0ILXAIcCAgICAgIFR1cm4gIG9uICBfCHBfCHJfCGlfCHZfCGlfCGxfCGVfCGdfCGVfCGQgIG1vZGUuICAgSW4gdGhpcyBtb2RlLCB0aGUgJAgkRQhFTghOVghWIGFuZAogICAgICAgICAgICAgICAgICAgICAgICQIJEIIQkEIQVMIU0gISF8IX0UIRU4ITlYIViBmaWxlcyBhcmUgbm90IHByb2Nlc3NlZCwgc2hlbGwgIGZ1bmN0aW9ucyAgYXJlCiAgICAgICAgICAgICAgICAgICAgICAgbm90ICBpbmhlcml0ZWQgIGZyb20gdGhlIGVudmlyb25tZW50LCBhbmQgdGhlIFMIU0gISEUIRUwITEwITE8IT1AIUFQIVFMIUywKLSAgICAgICAgICAgICAgICAgICAgICBDCENECERQCFBBCEFUCFRICEgsIGFuZCBHCEdMCExPCE9CCEJJCElHCEdOCE5PCE9SCFJFCEUgdmFyaWFibGVzLCBpZiB0aGV5IGFwcGVhciBpbiAgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQsICBhcmUgaWdub3JlZC4gIElmIHRoZSBzaGVsbCBpcyBzdGFydGVkIHdpdGgKLSAgICAgICAgICAgICAgICAgICAgICB0aGUgZWZmZWN0aXZlIHVzZXIgKGdyb3VwKSBpZCBub3QgZXF1YWwgdG8gdGhlIHJlYWwgdXNlcgotICAgICAgICAgICAgICAgICAgICAgIChncm91cCkgIGlkLCAgYW5kICB0aGUgIC0ILXAIcCBvcHRpb24gaXMgbm90IHN1cHBsaWVkLCB0aGVzZQotICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMgYXJlIHRha2VuIGFuZCB0aGUgZWZmZWN0aXZlIHVzZXIgaWQgIGlzICBzZXQgIHRvCi0gICAgICAgICAgICAgICAgICAgICAgdGhlICByZWFsICB1c2VyICBpZC4gICBJZiAgdGhlICAtCC1wCHAgb3B0aW9uIGlzIHN1cHBsaWVkIGF0Ci0gICAgICAgICAgICAgICAgICAgICAgc3RhcnR1cCwgdGhlIGVmZmVjdGl2ZSB1c2VyIGlkIGlzICBub3QgIHJlc2V0LiAgIFR1cm5pbmcKLSAgICAgICAgICAgICAgICAgICAgICB0aGlzICBvcHRpb24gb2ZmIGNhdXNlcyB0aGUgZWZmZWN0aXZlIHVzZXIgYW5kIGdyb3VwIGlkcwotICAgICAgICAgICAgICAgICAgICAgIHRvIGJlIHNldCB0byB0aGUgcmVhbCB1c2VyIGFuZCBncm91cCBpZHMuCisgICAgICAgICAgICAgICAgICAgICAgQghCQQhBUwhTSAhITwhPUAhQVAhUUwhTLCBDCENECERQCFBBCEFUCFRICEgsICBhbmQgIEcIR0wITE8IT0IIQkkISUcIR04ITk8IT1IIUkUIRSAgdmFyaWFibGVzLCAgaWYgIHRoZXkKKyAgICAgICAgICAgICAgICAgICAgICBhcHBlYXIgaW4gdGhlIGVudmlyb25tZW50LCBhcmUgaWdub3JlZC4gIElmIHRoZSBzaGVsbCBpcworICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0ZWQgd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgKGdyb3VwKSBpZCBub3QgZXF1YWwgIHRvCisgICAgICAgICAgICAgICAgICAgICAgdGhlICByZWFsIHVzZXIgKGdyb3VwKSBpZCwgYW5kIHRoZSAtCC1wCHAgb3B0aW9uIGlzIG5vdCBzdXAtCisgICAgICAgICAgICAgICAgICAgICAgcGxpZWQsIHRoZXNlIGFjdGlvbnMgYXJlIHRha2VuIGFuZCB0aGUgZWZmZWN0aXZlIHVzZXIgaWQKKyAgICAgICAgICAgICAgICAgICAgICBpcyAgc2V0ICB0byAgdGhlIHJlYWwgdXNlciBpZC4gIElmIHRoZSAtCC1wCHAgb3B0aW9uIGlzIHN1cC0KKyAgICAgICAgICAgICAgICAgICAgICBwbGllZCBhdCBzdGFydHVwLCB0aGUgZWZmZWN0aXZlIHVzZXIgaWQgIGlzICBub3QgIHJlc2V0LgorICAgICAgICAgICAgICAgICAgICAgIFR1cm5pbmcgIHRoaXMgIG9wdGlvbiAgb2ZmIGNhdXNlcyB0aGUgZWZmZWN0aXZlIHVzZXIgYW5kCisgICAgICAgICAgICAgICAgICAgICAgZ3JvdXAgaWRzIHRvIGJlIHNldCB0byB0aGUgcmVhbCB1c2VyIGFuZCBncm91cCBpZHMuCiAgICAgICAgICAgICAgIC0ILXQIdCAgICAgIEV4aXQgYWZ0ZXIgcmVhZGluZyBhbmQgZXhlY3V0aW5nIG9uZSBjb21tYW5kLgotICAgICAgICAgICAgICAtCC11CHUgICAgICBUcmVhdCB1bnNldCB2YXJpYWJsZXMgYXMgYW4gZXJyb3Igd2hlbiBwZXJmb3JtaW5nIHBhcmFtLQotICAgICAgICAgICAgICAgICAgICAgIGV0ZXIgIGV4cGFuc2lvbi4gICBJZiBleHBhbnNpb24gaXMgYXR0ZW1wdGVkIG9uIGFuIHVuc2V0Ci0gICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUsIHRoZSBzaGVsbCBwcmludHMgYW4gZXJyb3IgbWVzc2FnZSwgYW5kLCBpZiBub3QKLSAgICAgICAgICAgICAgICAgICAgICBpbnRlcmFjdGl2ZSwgZXhpdHMgd2l0aCBhIG5vbi16ZXJvIHN0YXR1cy4KKyAgICAgICAgICAgICAgLQgtdQh1ICAgICAgVHJlYXQgdW5zZXQgdmFyaWFibGVzIGFuZCBwYXJhbWV0ZXJzIG90aGVyIHRoYW4gdGhlIHNwZS0KKyAgICAgICAgICAgICAgICAgICAgICBjaWFsICBwYXJhbWV0ZXJzICJAIiBhbmQgIioiIGFzIGFuIGVycm9yIHdoZW4gcGVyZm9ybWluZworICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlciBleHBhbnNpb24uICBJZiBleHBhbnNpb24gaXMgIGF0dGVtcHRlZCAgb24gIGFuCisgICAgICAgICAgICAgICAgICAgICAgdW5zZXQgIHZhcmlhYmxlICBvciBwYXJhbWV0ZXIsIHRoZSBzaGVsbCBwcmludHMgYW4gZXJyb3IKKyAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlLCBhbmQsIGlmIG5vdCBpbnRlcmFjdGl2ZSwgZXhpdHMgd2l0aCBhICBub24temVybworICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cy4KICAgICAgICAgICAgICAgLQgtdgh2ICAgICAgUHJpbnQgc2hlbGwgaW5wdXQgbGluZXMgYXMgdGhleSBhcmUgcmVhZC4KICAgICAgICAgICAgICAgLQgteAh4ICAgICAgQWZ0ZXIgIGV4cGFuZGluZyAgZWFjaCBfCHNfCGlfCG1fCHBfCGxfCGUgXwhjXwhvXwhtXwhtXwhhXwhuXwhkLCBmCGZvCG9yCHIgY29tbWFuZCwgYwhjYQhhcwhzZQhlCiAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZCwgcwhzZQhlbAhsZQhlYwhjdAh0IGNvbW1hbmQsIG9yIGFyaXRobWV0aWMgZghmbwhvcghyIGNvbW1hbmQsIGRpcy0KQEAgLTQ3MzIsNjEgKzQ4NTgsNzAgQEAKICAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIGIIYmEIYXMIc2gIaCBjaGFuZ2VzIGl0cyBiZWhhdmlvciB0byB0aGF0IG9mIHZlcnNpb24gMy4xCiAgICAgICAgICAgICAgICAgICAgICAgd2l0aCByZXNwZWN0IHRvIHF1b3RlZCBhcmd1bWVudHMgdG8gdGhlIGNvbmRpdGlvbmFsIGNvbS0KICAgICAgICAgICAgICAgICAgICAgICBtYW5kJ3MgPX4gb3BlcmF0b3IuCisgICAgICAgICAgICAgIGMIY28Ib20IbXAIcGEIYXQIdDMIMzIIMgorICAgICAgICAgICAgICAgICAgICAgIElmIHNldCwgYghiYQhhcwhzaAhoIGNoYW5nZXMgaXRzIGJlaGF2aW9yIHRvIHRoYXQgb2YgdmVyc2lvbiAzLjIKKyAgICAgICAgICAgICAgICAgICAgICB3aXRoIHJlc3BlY3QgdG8gbG9jYWxlLXNwZWNpZmljIHN0cmluZyAgY29tcGFyaXNvbiAgd2hlbgorICAgICAgICAgICAgICAgICAgICAgIHVzaW5nIHRoZSBjb25kaXRpb25hbCBjb21tYW5kJ3MgPCBhbmQgPiBvcGVyYXRvcnMuCisgICAgICAgICAgICAgIGMIY28Ib20IbXAIcGEIYXQIdDQINDAIMAorICAgICAgICAgICAgICAgICAgICAgIElmIHNldCwgYghiYQhhcwhzaAhoIGNoYW5nZXMgaXRzIGJlaGF2aW9yIHRvIHRoYXQgb2YgdmVyc2lvbiA0LjAKKyAgICAgICAgICAgICAgICAgICAgICB3aXRoIHJlc3BlY3QgdG8gbG9jYWxlLXNwZWNpZmljIHN0cmluZyAgY29tcGFyaXNvbiAgd2hlbgorICAgICAgICAgICAgICAgICAgICAgIHVzaW5nICB0aGUgIGNvbmRpdGlvbmFsICBjb21tYW5kJ3MgPCBhbmQgPiBvcGVyYXRvcnMgYW5kCisgICAgICAgICAgICAgICAgICAgICAgdGhlIGVmZmVjdCBvZiBpbnRlcnJ1cHRpbmcgYSBjb21tYW5kIGxpc3QuCiAgICAgICAgICAgICAgIGQIZGkIaXIIcnMIc3AIcGUIZWwIbGwIbAotICAgICAgICAgICAgICAgICAgICAgIElmICBzZXQsICBiCGJhCGFzCHNoCGggYXR0ZW1wdHMgc3BlbGxpbmcgY29ycmVjdGlvbiBvbiBkaXJlY3RvcnkKLSAgICAgICAgICAgICAgICAgICAgICBuYW1lcyBkdXJpbmcgd29yZCBjb21wbGV0aW9uIGlmIHRoZSBkaXJlY3RvcnkgbmFtZSAgaW5pLQorICAgICAgICAgICAgICAgICAgICAgIElmIHNldCwgYghiYQhhcwhzaAhoIGF0dGVtcHRzIHNwZWxsaW5nIGNvcnJlY3Rpb24gIG9uICBkaXJlY3RvcnkKKyAgICAgICAgICAgICAgICAgICAgICBuYW1lcyAgZHVyaW5nIHdvcmQgY29tcGxldGlvbiBpZiB0aGUgZGlyZWN0b3J5IG5hbWUgaW5pLQogICAgICAgICAgICAgICAgICAgICAgIHRpYWxseSBzdXBwbGllZCBkb2VzIG5vdCBleGlzdC4KLSAgICAgICAgICAgICAgZAhkbwhvdAh0ZwhnbAhsbwhvYghiIElmICBzZXQsIGIIYmEIYXMIc2gIaCBpbmNsdWRlcyBmaWxlbmFtZXMgYmVnaW5uaW5nIHdpdGggYSBgLicgaW4KKyAgICAgICAgICAgICAgZAhkbwhvdAh0ZwhnbAhsbwhvYghiIElmIHNldCwgYghiYQhhcwhzaAhoIGluY2x1ZGVzIGZpbGVuYW1lcyBiZWdpbm5pbmcgd2l0aCBhIGAuJyAgaW4KICAgICAgICAgICAgICAgICAgICAgICB0aGUgcmVzdWx0cyBvZiBwYXRobmFtZSBleHBhbnNpb24uCiAgICAgICAgICAgICAgIGUIZXgIeGUIZWMIY2YIZmEIYWkIaWwIbAogICAgICAgICAgICAgICAgICAgICAgIElmIHNldCwgYSBub24taW50ZXJhY3RpdmUgc2hlbGwgd2lsbCBub3QgZXhpdCBpZiBpdCBjYW4tCi0gICAgICAgICAgICAgICAgICAgICAgbm90ICBleGVjdXRlICB0aGUgIGZpbGUgIHNwZWNpZmllZCBhcyBhbiBhcmd1bWVudCB0byB0aGUKLSAgICAgICAgICAgICAgICAgICAgICBlCGV4CHhlCGVjCGMgYnVpbHRpbiBjb21tYW5kLiAgQW4gIGludGVyYWN0aXZlICBzaGVsbCAgZG9lcyAgbm90CisgICAgICAgICAgICAgICAgICAgICAgbm90IGV4ZWN1dGUgdGhlIGZpbGUgc3BlY2lmaWVkIGFzICBhbiAgYXJndW1lbnQgIHRvICB0aGUKKyAgICAgICAgICAgICAgICAgICAgICBlCGV4CHhlCGVjCGMgIGJ1aWx0aW4gIGNvbW1hbmQuICAgQW4gIGludGVyYWN0aXZlIHNoZWxsIGRvZXMgbm90CiAgICAgICAgICAgICAgICAgICAgICAgZXhpdCBpZiBlCGV4CHhlCGVjCGMgZmFpbHMuCiAgICAgICAgICAgICAgIGUIZXgIeHAIcGEIYW4IbmQIZF8IX2EIYWwIbGkIaWEIYXMIc2UIZXMIcwotICAgICAgICAgICAgICAgICAgICAgIElmICBzZXQsICBhbGlhc2VzICBhcmUgZXhwYW5kZWQgYXMgZGVzY3JpYmVkIGFib3ZlIHVuZGVyCisgICAgICAgICAgICAgICAgICAgICAgSWYgc2V0LCBhbGlhc2VzIGFyZSBleHBhbmRlZCBhcyAgZGVzY3JpYmVkICBhYm92ZSAgdW5kZXIKICAgICAgICAgICAgICAgICAgICAgICBBCEFMCExJCElBCEFTCFNFCEVTCFMuICBUaGlzIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgZm9yIGludGVyYWMtCiAgICAgICAgICAgICAgICAgICAgICAgdGl2ZSBzaGVsbHMuCiAgICAgICAgICAgICAgIGUIZXgIeHQIdGQIZGUIZWIIYnUIdWcIZwotICAgICAgICAgICAgICAgICAgICAgIElmICBzZXQsICBiZWhhdmlvciAgaW50ZW5kZWQgIGZvciAgdXNlICBieSAgZGVidWdnZXJzIGlzCisgICAgICAgICAgICAgICAgICAgICAgSWYgc2V0LCAgYmVoYXZpb3IgIGludGVuZGVkICBmb3IgIHVzZSAgYnkgIGRlYnVnZ2VycyAgaXMKICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVkOgogICAgICAgICAgICAgICAgICAgICAgIDEIMS4ILiAgICAgVGhlIC0ILUYIRiBvcHRpb24gdG8gdGhlIGQIZGUIZWMIY2wIbGEIYXIIcmUIZSBidWlsdGluIGRpc3BsYXlzIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlciBjb3JyZXNwb25kaW5nIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhY2ggZnVuY3Rpb24gbmFtZSBzdXBwbGllZCBhcyBhbiBhcmd1bWVudC4KLSAgICAgICAgICAgICAgICAgICAgICAyCDIuCC4gICAgIElmIHRoZSBjb21tYW5kIHJ1biBieSB0aGUgRAhERQhFQghCVQhVRwhHICB0cmFwICByZXR1cm5zICBhCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbi16ZXJvICB2YWx1ZSwgIHRoZSBuZXh0IGNvbW1hbmQgaXMgc2tpcHBlZCBhbmQKKyAgICAgICAgICAgICAgICAgICAgICAyCDIuCC4gICAgIElmICB0aGUgIGNvbW1hbmQgIHJ1biBieSB0aGUgRAhERQhFQghCVQhVRwhHIHRyYXAgcmV0dXJucyBhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbi16ZXJvIHZhbHVlLCB0aGUgbmV4dCBjb21tYW5kIGlzICBza2lwcGVkICBhbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90IGV4ZWN1dGVkLgotICAgICAgICAgICAgICAgICAgICAgIDMIMy4ILiAgICAgSWYgdGhlIGNvbW1hbmQgcnVuIGJ5IHRoZSBECERFCEVCCEJVCFVHCEcgIHRyYXAgIHJldHVybnMgIGEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgIG9mIDIsIGFuZCB0aGUgc2hlbGwgaXMgZXhlY3V0aW5nIGluIGEgc3ViLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3V0aW5lIChhIHNoZWxsIGZ1bmN0aW9uIG9yIGEgc2hlbGwgc2NyaXB0ICBleGUtCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1dGVkICBieSAgdGhlICAuCC4gIG9yIHMIc28Ib3UIdXIIcmMIY2UIZSBidWlsdGlucyksIGEgY2FsbCB0bworICAgICAgICAgICAgICAgICAgICAgIDMIMy4ILiAgICAgSWYgIHRoZSAgY29tbWFuZCAgcnVuIGJ5IHRoZSBECERFCEVCCEJVCFVHCEcgdHJhcCByZXR1cm5zIGEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgb2YgMiwgYW5kIHRoZSBzaGVsbCBpcyBleGVjdXRpbmcgaW4gYSAgc3ViLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3V0aW5lICAoYSBzaGVsbCBmdW5jdGlvbiBvciBhIHNoZWxsIHNjcmlwdCBleGUtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1dGVkIGJ5IHRoZSAuCC4gb3IgcwhzbwhvdQh1cghyYwhjZQhlICBidWlsdGlucyksICBhICBjYWxsICB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICByCHJlCGV0CHR1CHVyCHJuCG4gaXMgc2ltdWxhdGVkLgotICAgICAgICAgICAgICAgICAgICAgIDQINC4ILiAgICAgQghCQQhBUwhTSAhIXwhfQQhBUghSRwhHQwhDIGFuZCBCCEJBCEFTCFNICEhfCF9BCEFSCFJHCEdWCFYgYXJlIHVwZGF0ZWQgYXMgIGRlc2NyaWJlZAorICAgICAgICAgICAgICAgICAgICAgIDQINC4ILiAgICAgQghCQQhBUwhTSAhIXwhfQQhBUghSRwhHQwhDICBhbmQgQghCQQhBUwhTSAhIXwhfQQhBUghSRwhHVghWIGFyZSB1cGRhdGVkIGFzIGRlc2NyaWJlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGVpciBkZXNjcmlwdGlvbnMgYWJvdmUuCi0gICAgICAgICAgICAgICAgICAgICAgNQg1LgguICAgICBGdW5jdGlvbiAgdHJhY2luZyAgaXMgZW5hYmxlZDogIGNvbW1hbmQgc3Vic3RpdHUtCisgICAgICAgICAgICAgICAgICAgICAgNQg1LgguICAgICBGdW5jdGlvbiB0cmFjaW5nIGlzIGVuYWJsZWQ6ICAgY29tbWFuZCAgc3Vic3RpdHUtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpb24sIHNoZWxsIGZ1bmN0aW9ucywgYW5kIHN1YnNoZWxscyBpbnZva2VkIHdpdGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAgoIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCApCCkgaW5oZXJpdCB0aGUgRAhERQhFQghCVQhVRwhHIGFuZCBSCFJFCEVUCFRVCFVSCFJOCE4gdHJhcHMuCi0gICAgICAgICAgICAgICAgICAgICAgNgg2LgguICAgICBFcnJvciAgdHJhY2luZyBpcyBlbmFibGVkOiAgY29tbWFuZCBzdWJzdGl0dXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoZWxsIGZ1bmN0aW9ucywgYW5kICBzdWJzaGVsbHMgIGludm9rZWQgIHdpdGggICgIKAorICAgICAgICAgICAgICAgICAgICAgIDYINi4ILiAgICAgRXJyb3IgdHJhY2luZyBpcyBlbmFibGVkOiAgY29tbWFuZCAgc3Vic3RpdHV0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGVsbCAgZnVuY3Rpb25zLCAgYW5kICBzdWJzaGVsbHMgIGludm9rZWQgd2l0aCAoCCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXwhjXwhvXwhtXwhtXwhhXwhuXwhkICkIKSBpbmhlcml0IHRoZSBFCEVSCFJSCFJPCE9SCFIgdHJhcC4KICAgICAgICAgICAgICAgZQhleAh4dAh0ZwhnbAhsbwhvYghiIElmIHNldCwgdGhlIGV4dGVuZGVkIHBhdHRlcm4gbWF0Y2hpbmcgZmVhdHVyZXMgZGVzY3JpYmVkCiAgICAgICAgICAgICAgICAgICAgICAgYWJvdmUgdW5kZXIgUAhQYQhhdAh0aAhobghuYQhhbQhtZQhlIEUIRXgIeHAIcGEIYW4IbnMIc2kIaW8Ib24IbiBhcmUgZW5hYmxlZC4KICAgICAgICAgICAgICAgZQhleAh4dAh0cQhxdQh1bwhvdAh0ZQhlCi0gICAgICAgICAgICAgICAgICAgICAgSWYgc2V0LCAkCCQnXwhzXwh0XwhyXwhpXwhuXwhnJyBhbmQgICQIJCJfCHNfCHRfCHJfCGlfCG5fCGciICBxdW90aW5nICBpcyAgcGVyZm9ybWVkCi0gICAgICAgICAgICAgICAgICAgICAgd2l0aGluICAgJAgkewh7XwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyfQh9ICAgZXhwYW5zaW9ucyAgZW5jbG9zZWQgIGluICBkb3VibGUKKyAgICAgICAgICAgICAgICAgICAgICBJZiAgc2V0LCAgJAgkJ18Ic18IdF8Icl8IaV8Ibl8IZycgIGFuZCAgJAgkIl8Ic18IdF8Icl8IaV8Ibl8IZyIgcXVvdGluZyBpcyBwZXJmb3JtZWQKKyAgICAgICAgICAgICAgICAgICAgICB3aXRoaW4gICQIJHsIe18IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8Icn0IfSAgZXhwYW5zaW9ucyAgZW5jbG9zZWQgICBpbiAgIGRvdWJsZQogICAgICAgICAgICAgICAgICAgICAgIHF1b3Rlcy4gIFRoaXMgb3B0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4KICAgICAgICAgICAgICAgZghmYQhhaQhpbAhsZwhnbAhsbwhvYghiCi0gICAgICAgICAgICAgICAgICAgICAgSWYgc2V0LCBwYXR0ZXJucyB3aGljaCBmYWlsIHRvICBtYXRjaCAgZmlsZW5hbWVzICBkdXJpbmcKKyAgICAgICAgICAgICAgICAgICAgICBJZiAgc2V0LCAgcGF0dGVybnMgIHdoaWNoIGZhaWwgdG8gbWF0Y2ggZmlsZW5hbWVzIGR1cmluZwogICAgICAgICAgICAgICAgICAgICAgIHBhdGhuYW1lIGV4cGFuc2lvbiByZXN1bHQgaW4gYW4gZXhwYW5zaW9uIGVycm9yLgogICAgICAgICAgICAgICBmCGZvCG9yCHJjCGNlCGVfCF9mCGZpCGlnCGduCG5vCG9yCHJlCGUKLSAgICAgICAgICAgICAgICAgICAgICBJZiAgc2V0LCAgdGhlICBzdWZmaXhlcyAgc3BlY2lmaWVkICBieSB0aGUgRghGSQhJRwhHTghOTwhPUghSRQhFIHNoZWxsCi0gICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgY2F1c2Ugd29yZHMgdG8gYmUgaWdub3JlZCB3aGVuIHBlcmZvcm1pbmcgIHdvcmQKKyAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIHRoZSBzdWZmaXhlcyAgc3BlY2lmaWVkICBieSAgdGhlICBGCEZJCElHCEdOCE5PCE9SCFJFCEUgIHNoZWxsCisgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgIGNhdXNlIHdvcmRzIHRvIGJlIGlnbm9yZWQgd2hlbiBwZXJmb3JtaW5nIHdvcmQKICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0aW9uIGV2ZW4gaWYgdGhlIGlnbm9yZWQgd29yZHMgYXJlIHRoZSBvbmx5IHBvc3NpLQogICAgICAgICAgICAgICAgICAgICAgIGJsZSAgY29tcGxldGlvbnMuICAgU2VlICBTCFNICEhFCEVMCExMCEwgIFYIVkEIQVIIUkkISUEIQUIIQkwITEUIRVMIUyAgYWJvdmUgIGZvciAgYQotICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICBvZiAgRghGSQhJRwhHTghOTwhPUghSRQhFLiAgIFRoaXMgIG9wdGlvbiAgaXMgIGVuYWJsZWQgYnkKKyAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiBvZiAgRghGSQhJRwhHTghOTwhPUghSRQhFLiAgIFRoaXMgIG9wdGlvbiAgaXMgIGVuYWJsZWQgIGJ5CiAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdC4KICAgICAgICAgICAgICAgZwhnbAhsbwhvYghicwhzdAh0YQhhcghyCi0gICAgICAgICAgICAgICAgICAgICAgSWYgc2V0LCB0aGUgcGF0dGVybiAqCCoqCCogdXNlZCBpbiBhIGZpbGVuYW1lIGV4cGFuc2lvbiBjb24tCisgICAgICAgICAgICAgICAgICAgICAgSWYgc2V0LCB0aGUgcGF0dGVybiAqCCoqCCogdXNlZCBpbiBhIHBhdGhuYW1lIGV4cGFuc2lvbiBjb24tCiAgICAgICAgICAgICAgICAgICAgICAgdGV4dCB3aWxsIG1hdGNoIGEgZmlsZXMgYW5kIHplcm8gb3IgbW9yZSBkaXJlY3RvcmllcyBhbmQKICAgICAgICAgICAgICAgICAgICAgICBzdWJkaXJlY3Rvcmllcy4gIElmIHRoZSBwYXR0ZXJuIGlzIGZvbGxvd2VkIGJ5IGEgLwgvLCBvbmx5CiAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0b3JpZXMgYW5kIHN1YmRpcmVjdG9yaWVzIG1hdGNoLgpAQCAtNDc5NCw1OCArNDkyOSw1OCBAQAogICAgICAgICAgICAgICAgICAgICAgIElmIHNldCwgc2hlbGwgZXJyb3IgbWVzc2FnZXMgYXJlIHdyaXR0ZW4gaW4gdGhlIHN0YW5kYXJkCiAgICAgICAgICAgICAgICAgICAgICAgR05VIGVycm9yIG1lc3NhZ2UgZm9ybWF0LgogICAgICAgICAgICAgICBoCGhpCGlzCHN0CHRhCGFwCHBwCHBlCGVuCG5kCGQKLSAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIHRoZSBoaXN0b3J5IGxpc3QgaXMgYXBwZW5kZWQgdG8gdGhlICBmaWxlICBuYW1lZAotICAgICAgICAgICAgICAgICAgICAgIGJ5ICB0aGUgIHZhbHVlICBvZiAgdGhlIEgISEkISVMIU1QIVEYIRkkISUwITEUIRSB2YXJpYWJsZSB3aGVuIHRoZSBzaGVsbAorICAgICAgICAgICAgICAgICAgICAgIElmICBzZXQsICB0aGUgaGlzdG9yeSBsaXN0IGlzIGFwcGVuZGVkIHRvIHRoZSBmaWxlIG5hbWVkCisgICAgICAgICAgICAgICAgICAgICAgYnkgdGhlIHZhbHVlIG9mIHRoZSBICEhJCElTCFNUCFRGCEZJCElMCExFCEUgIHZhcmlhYmxlICB3aGVuICB0aGUgIHNoZWxsCiAgICAgICAgICAgICAgICAgICAgICAgZXhpdHMsIHJhdGhlciB0aGFuIG92ZXJ3cml0aW5nIHRoZSBmaWxlLgogICAgICAgICAgICAgICBoCGhpCGlzCHN0CHRyCHJlCGVlCGVkCGRpCGl0CHQKLSAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIGFuZCByCHJlCGVhCGFkCGRsCGxpCGluCG5lCGUgaXMgYmVpbmcgdXNlZCwgYSB1c2VyIGlzIGdpdmVuICB0aGUKKyAgICAgICAgICAgICAgICAgICAgICBJZiAgc2V0LCBhbmQgcghyZQhlYQhhZAhkbAhsaQhpbghuZQhlIGlzIGJlaW5nIHVzZWQsIGEgdXNlciBpcyBnaXZlbiB0aGUKICAgICAgICAgICAgICAgICAgICAgICBvcHBvcnR1bml0eSB0byByZS1lZGl0IGEgZmFpbGVkIGhpc3Rvcnkgc3Vic3RpdHV0aW9uLgogICAgICAgICAgICAgICBoCGhpCGlzCHN0CHR2CHZlCGVyCHJpCGlmCGZ5CHkKLSAgICAgICAgICAgICAgICAgICAgICBJZiAgc2V0LCBhbmQgcghyZQhlYQhhZAhkbAhsaQhpbghuZQhlIGlzIGJlaW5nIHVzZWQsIHRoZSByZXN1bHRzIG9mIGhpcy0KLSAgICAgICAgICAgICAgICAgICAgICB0b3J5IHN1YnN0aXR1dGlvbiBhcmUgIG5vdCAgaW1tZWRpYXRlbHkgIHBhc3NlZCAgdG8gIHRoZQotICAgICAgICAgICAgICAgICAgICAgIHNoZWxsICBwYXJzZXIuICAgSW5zdGVhZCwgIHRoZSAgcmVzdWx0aW5nIGxpbmUgaXMgbG9hZGVkCisgICAgICAgICAgICAgICAgICAgICAgSWYgc2V0LCBhbmQgcghyZQhlYQhhZAhkbAhsaQhpbghuZQhlIGlzIGJlaW5nIHVzZWQsIHRoZSByZXN1bHRzIG9mICBoaXMtCisgICAgICAgICAgICAgICAgICAgICAgdG9yeSAgc3Vic3RpdHV0aW9uICBhcmUgIG5vdCAgaW1tZWRpYXRlbHkgIHBhc3NlZCB0byB0aGUKKyAgICAgICAgICAgICAgICAgICAgICBzaGVsbCBwYXJzZXIuICBJbnN0ZWFkLCB0aGUgIHJlc3VsdGluZyAgbGluZSAgaXMgIGxvYWRlZAogICAgICAgICAgICAgICAgICAgICAgIGludG8gdGhlIHIIcmUIZWEIYWQIZGwIbGkIaW4IbmUIZSBlZGl0aW5nIGJ1ZmZlciwgYWxsb3dpbmcgZnVydGhlciBtb2RpLQogICAgICAgICAgICAgICAgICAgICAgIGZpY2F0aW9uLgogICAgICAgICAgICAgICBoCGhvCG9zCHN0CHRjCGNvCG9tCG1wCHBsCGxlCGV0CHRlCGUKICAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIGFuZCByCHJlCGVhCGFkCGRsCGxpCGluCG5lCGUgaXMgYmVpbmcgdXNlZCwgYghiYQhhcwhzaAhoIHdpbGwgYXR0ZW1wdCB0bwotICAgICAgICAgICAgICAgICAgICAgIHBlcmZvcm0gaG9zdG5hbWUgY29tcGxldGlvbiB3aGVuIGEgd29yZCBjb250YWluaW5nICBhICBACEAKLSAgICAgICAgICAgICAgICAgICAgICBpcyAgIGJlaW5nICBjb21wbGV0ZWQgIChzZWUgIEMIQ28Ib20IbXAIcGwIbGUIZXQIdGkIaW4IbmcIZyAgdW5kZXIgIFIIUkUIRUEIQUQIREwITEkISU4ITkUIRQorICAgICAgICAgICAgICAgICAgICAgIHBlcmZvcm0gIGhvc3RuYW1lICBjb21wbGV0aW9uIHdoZW4gYSB3b3JkIGNvbnRhaW5pbmcgYSBACEAKKyAgICAgICAgICAgICAgICAgICAgICBpcyAgYmVpbmcgIGNvbXBsZXRlZCAgKHNlZSAgQwhDbwhvbQhtcAhwbAhsZQhldAh0aQhpbghuZwhnICB1bmRlciAgIFIIUkUIRUEIQUQIREwITEkISU4ITkUIRQogICAgICAgICAgICAgICAgICAgICAgIGFib3ZlKS4gIFRoaXMgaXMgZW5hYmxlZCBieSBkZWZhdWx0LgogICAgICAgICAgICAgICBoCGh1CHVwCHBvCG9uCG5lCGV4CHhpCGl0CHQKICAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIGIIYmEIYXMIc2gIaCB3aWxsIHNlbmQgUwhTSQhJRwhHSAhIVQhVUAhQIHRvIGFsbCBqb2JzIHdoZW4gYW4gaW50ZXItCiAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlIGxvZ2luIHNoZWxsIGV4aXRzLgogICAgICAgICAgICAgICBpCGluCG50CHRlCGVyCHJhCGFjCGN0CHRpCGl2CHZlCGVfCF9jCGNvCG9tCG1tCG1lCGVuCG50CHRzCHMKICAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIGFsbG93IGEgd29yZCBiZWdpbm5pbmcgd2l0aCAjCCMgdG8gY2F1c2UgdGhhdCB3b3JkCi0gICAgICAgICAgICAgICAgICAgICAgYW5kIGFsbCByZW1haW5pbmcgY2hhcmFjdGVycyBvbiB0aGF0IGxpbmUgdG8gYmUgIGlnbm9yZWQKLSAgICAgICAgICAgICAgICAgICAgICBpbiAgYW4gIGludGVyYWN0aXZlICBzaGVsbCAgKHNlZSAgQwhDTwhPTQhNTQhNRQhFTghOVAhUUwhTIGFib3ZlKS4gIFRoaXMKKyAgICAgICAgICAgICAgICAgICAgICBhbmQgIGFsbCByZW1haW5pbmcgY2hhcmFjdGVycyBvbiB0aGF0IGxpbmUgdG8gYmUgaWdub3JlZAorICAgICAgICAgICAgICAgICAgICAgIGluIGFuIGludGVyYWN0aXZlICBzaGVsbCAgKHNlZSAgQwhDTwhPTQhNTQhNRQhFTghOVAhUUwhTICBhYm92ZSkuICAgVGhpcwogICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuCi0gICAgICAgICAgICAgIGwIbGkIaXQIdGgIaGkIaXMIc3QIdCBJZiBzZXQsIGFuZCB0aGUgYwhjbQhtZAhkaAhoaQhpcwhzdAh0IG9wdGlvbiAgaXMgIGVuYWJsZWQsICBtdWx0aS1saW5lCisgICAgICAgICAgICAgIGwIbGkIaXQIdGgIaGkIaXMIc3QIdCBJZiAgc2V0LCAgYW5kICB0aGUgYwhjbQhtZAhkaAhoaQhpcwhzdAh0IG9wdGlvbiBpcyBlbmFibGVkLCBtdWx0aS1saW5lCiAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZHMgYXJlIHNhdmVkIHRvIHRoZSBoaXN0b3J5IHdpdGggZW1iZWRkZWQgbmV3bGluZXMKICAgICAgICAgICAgICAgICAgICAgICByYXRoZXIgdGhhbiB1c2luZyBzZW1pY29sb24gc2VwYXJhdG9ycyB3aGVyZSBwb3NzaWJsZS4KICAgICAgICAgICAgICAgbAhsbwhvZwhnaQhpbghuXwhfcwhzaAhoZQhlbAhsbAhsCi0gICAgICAgICAgICAgICAgICAgICAgVGhlIHNoZWxsIHNldHMgdGhpcyBvcHRpb24gaWYgaXQgaXMgc3RhcnRlZCBhcyAgYSAgbG9naW4KLSAgICAgICAgICAgICAgICAgICAgICBzaGVsbCAgKHNlZSAgSQhJTghOVghWTwhPQwhDQQhBVAhUSQhJTwhPTghOICBhYm92ZSkuICAgVGhlICB2YWx1ZSBtYXkgbm90IGJlCisgICAgICAgICAgICAgICAgICAgICAgVGhlICBzaGVsbCAgc2V0cyB0aGlzIG9wdGlvbiBpZiBpdCBpcyBzdGFydGVkIGFzIGEgbG9naW4KKyAgICAgICAgICAgICAgICAgICAgICBzaGVsbCAoc2VlIEkISU4ITlYIVk8IT0MIQ0EIQVQIVEkISU8IT04ITiBhYm92ZSkuICAgVGhlICB2YWx1ZSAgbWF5ICBub3QgIGJlCiAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlZC4KICAgICAgICAgICAgICAgbQhtYQhhaQhpbAhsdwh3YQhhcghybghuCi0gICAgICAgICAgICAgICAgICAgICAgSWYgc2V0LCBhbmQgYSBmaWxlIHRoYXQgYghiYQhhcwhzaAhoIGlzIGNoZWNraW5nICBmb3IgIG1haWwgIGhhcwotICAgICAgICAgICAgICAgICAgICAgIGJlZW4gIGFjY2Vzc2VkICBzaW5jZSAgdGhlIGxhc3QgdGltZSBpdCB3YXMgY2hlY2tlZCwgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSBgYFRoZSBtYWlsIGluIF8IbV8IYV8IaV8IbF8IZl8IaV8IbF8IZSBoYXMgYmVlbiByZWFkJycgIGlzICBkaXMtCisgICAgICAgICAgICAgICAgICAgICAgSWYgIHNldCwgIGFuZCAgYSBmaWxlIHRoYXQgYghiYQhhcwhzaAhoIGlzIGNoZWNraW5nIGZvciBtYWlsIGhhcworICAgICAgICAgICAgICAgICAgICAgIGJlZW4gYWNjZXNzZWQgc2luY2UgdGhlIGxhc3QgdGltZSBpdCAgd2FzICBjaGVja2VkLCAgdGhlCisgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSAgYGBUaGUgIG1haWwgaW4gXwhtXwhhXwhpXwhsXwhmXwhpXwhsXwhlIGhhcyBiZWVuIHJlYWQnJyBpcyBkaXMtCiAgICAgICAgICAgICAgICAgICAgICAgcGxheWVkLgogICAgICAgICAgICAgICBuCG5vCG9fCF9lCGVtCG1wCHB0CHR5CHlfCF9jCGNtCG1kCGRfCF9jCGNvCG9tCG1wCHBsCGxlCGV0CHRpCGlvCG9uCG4KLSAgICAgICAgICAgICAgICAgICAgICBJZiAgc2V0LCAgYW5kICByCHJlCGVhCGFkCGRsCGxpCGluCG5lCGUgIGlzICBiZWluZyAgdXNlZCwgIGIIYmEIYXMIc2gIaCB3aWxsIG5vdAorICAgICAgICAgICAgICAgICAgICAgIElmIHNldCwgYW5kICByCHJlCGVhCGFkCGRsCGxpCGluCG5lCGUgIGlzICBiZWluZyAgdXNlZCwgIGIIYmEIYXMIc2gIaCAgd2lsbCAgbm90CiAgICAgICAgICAgICAgICAgICAgICAgYXR0ZW1wdCB0byBzZWFyY2ggdGhlIFAIUEEIQVQIVEgISCBmb3IgcG9zc2libGUgY29tcGxldGlvbnMgd2hlbgogICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkIG9uIGFuIGVtcHR5IGxpbmUuCiAgICAgICAgICAgICAgIG4Ibm8Ib2MIY2EIYXMIc2UIZWcIZ2wIbG8Ib2IIYgotICAgICAgICAgICAgICAgICAgICAgIElmICBzZXQsICBiCGJhCGFzCHNoCGggIG1hdGNoZXMgIGZpbGVuYW1lcyBpbiBhIGNhc2UtaW5zZW5zaXRpdmUKKyAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIGIIYmEIYXMIc2gIaCBtYXRjaGVzICBmaWxlbmFtZXMgIGluICBhICBjYXNlLWluc2Vuc2l0aXZlCiAgICAgICAgICAgICAgICAgICAgICAgZmFzaGlvbiB3aGVuIHBlcmZvcm1pbmcgcGF0aG5hbWUgZXhwYW5zaW9uIChzZWUgUAhQYQhhdAh0aAhobghuYQhhbQhtZQhlCiAgICAgICAgICAgICAgICAgICAgICAgRQhFeAh4cAhwYQhhbghucwhzaQhpbwhvbghuIGFib3ZlKS4KICAgICAgICAgICAgICAgbghubwhvYwhjYQhhcwhzZQhlbQhtYQhhdAh0YwhjaAhoCi0gICAgICAgICAgICAgICAgICAgICAgSWYgIHNldCwgIGIIYmEIYXMIc2gIaCAgbWF0Y2hlcyAgcGF0dGVybnMgIGluIGEgY2FzZS1pbnNlbnNpdGl2ZQorICAgICAgICAgICAgICAgICAgICAgIElmIHNldCwgYghiYQhhcwhzaAhoICBtYXRjaGVzICBwYXR0ZXJucyAgaW4gIGEgIGNhc2UtaW5zZW5zaXRpdmUKICAgICAgICAgICAgICAgICAgICAgICBmYXNoaW9uIHdoZW4gcGVyZm9ybWluZyBtYXRjaGluZyB3aGlsZSBleGVjdXRpbmcgYwhjYQhhcwhzZQhlIG9yCiAgICAgICAgICAgICAgICAgICAgICAgWwhbWwhbIGNvbmRpdGlvbmFsIGNvbW1hbmRzLgogICAgICAgICAgICAgICBuCG51CHVsCGxsCGxnCGdsCGxvCG9iCGIKLSAgICAgICAgICAgICAgICAgICAgICBJZiAgc2V0LCAgYghiYQhhcwhzaAhoIGFsbG93cyBwYXR0ZXJucyB3aGljaCBtYXRjaCBubyBmaWxlcyAoc2VlCi0gICAgICAgICAgICAgICAgICAgICAgUAhQYQhhdAh0aAhobghuYQhhbQhtZQhlIEUIRXgIeHAIcGEIYW4IbnMIc2kIaW8Ib24IbiBhYm92ZSkgdG8gZXhwYW5kIHRvICBhICBudWxsICBzdHJpbmcsCisgICAgICAgICAgICAgICAgICAgICAgSWYgc2V0LCBiCGJhCGFzCHNoCGggYWxsb3dzIHBhdHRlcm5zIHdoaWNoIG1hdGNoIG5vICBmaWxlcyAgKHNlZQorICAgICAgICAgICAgICAgICAgICAgIFAIUGEIYXQIdGgIaG4IbmEIYW0IbWUIZSAgRQhFeAh4cAhwYQhhbghucwhzaQhpbwhvbghuICBhYm92ZSkgIHRvIGV4cGFuZCB0byBhIG51bGwgc3RyaW5nLAogICAgICAgICAgICAgICAgICAgICAgIHJhdGhlciB0aGFuIHRoZW1zZWx2ZXMuCiAgICAgICAgICAgICAgIHAIcHIIcm8Ib2cIZ2MIY28Ib20IbXAIcAogICAgICAgICAgICAgICAgICAgICAgIElmIHNldCwgdGhlIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGZhY2lsaXRpZXMgKHNlZSBQCFByCHJvCG8tCC0KQEAgLTQ4NTMsNDcgKzQ5ODgsNDcgQEAKICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVkIGJ5IGRlZmF1bHQuCiAgICAgICAgICAgICAgIHAIcHIIcm8Ib20IbXAIcHQIdHYIdmEIYXIIcnMIcwogICAgICAgICAgICAgICAgICAgICAgIElmIHNldCwgcHJvbXB0IHN0cmluZ3MgdW5kZXJnbyBwYXJhbWV0ZXIgZXhwYW5zaW9uLCBjb20tCi0gICAgICAgICAgICAgICAgICAgICAgbWFuZCAgc3Vic3RpdHV0aW9uLCAgYXJpdGhtZXRpYyAgZXhwYW5zaW9uLCAgYW5kICAgcXVvdGUKLSAgICAgICAgICAgICAgICAgICAgICByZW1vdmFsICBhZnRlciAgYmVpbmcgZXhwYW5kZWQgYXMgZGVzY3JpYmVkIGluIFAIUFIIUk8IT00ITVAIUFQIVEkISU4ITkcIRworICAgICAgICAgICAgICAgICAgICAgIG1hbmQgICBzdWJzdGl0dXRpb24sICBhcml0aG1ldGljICBleHBhbnNpb24sICBhbmQgIHF1b3RlCisgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZhbCBhZnRlciBiZWluZyBleHBhbmRlZCBhcyBkZXNjcmliZWQgIGluICBQCFBSCFJPCE9NCE1QCFBUCFRJCElOCE5HCEcKICAgICAgICAgICAgICAgICAgICAgICBhYm92ZS4gIFRoaXMgb3B0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4KICAgICAgICAgICAgICAgcghyZQhlcwhzdAh0cghyaQhpYwhjdAh0ZQhlZAhkXwhfcwhzaAhoZQhlbAhsbAhsCi0gICAgICAgICAgICAgICAgICAgICAgVGhlICBzaGVsbCAgc2V0cyAgdGhpcyAgb3B0aW9uICBpZiAgaXQgIGlzICBzdGFydGVkICAgaW4KKyAgICAgICAgICAgICAgICAgICAgICBUaGUgICBzaGVsbCAgc2V0cyAgdGhpcyAgb3B0aW9uICBpZiAgaXQgIGlzICBzdGFydGVkICBpbgogICAgICAgICAgICAgICAgICAgICAgIHJlc3RyaWN0ZWQgbW9kZSAoc2VlIFIIUkUIRVMIU1QIVFIIUkkISUMIQ1QIVEUIRUQIRCBTCFNICEhFCEVMCExMCEwgYmVsb3cpLiAgVGhlIHZhbHVlCi0gICAgICAgICAgICAgICAgICAgICAgbWF5IG5vdCBiZSBjaGFuZ2VkLiAgVGhpcyBpcyBub3QgcmVzZXQgd2hlbiB0aGUgIHN0YXJ0dXAKLSAgICAgICAgICAgICAgICAgICAgICBmaWxlcyAgYXJlICBleGVjdXRlZCwgYWxsb3dpbmcgdGhlIHN0YXJ0dXAgZmlsZXMgdG8gZGlzLQorICAgICAgICAgICAgICAgICAgICAgIG1heSAgbm90IGJlIGNoYW5nZWQuICBUaGlzIGlzIG5vdCByZXNldCB3aGVuIHRoZSBzdGFydHVwCisgICAgICAgICAgICAgICAgICAgICAgZmlsZXMgYXJlIGV4ZWN1dGVkLCBhbGxvd2luZyB0aGUgc3RhcnR1cCBmaWxlcyAgdG8gIGRpcy0KICAgICAgICAgICAgICAgICAgICAgICBjb3ZlciB3aGV0aGVyIG9yIG5vdCBhIHNoZWxsIGlzIHJlc3RyaWN0ZWQuCiAgICAgICAgICAgICAgIHMIc2gIaGkIaWYIZnQIdF8IX3YIdmUIZXIIcmIIYm8Ib3MIc2UIZQotICAgICAgICAgICAgICAgICAgICAgIElmIHNldCwgdGhlIHMIc2gIaGkIaWYIZnQIdCBidWlsdGluIHByaW50cyBhbiBlcnJvciAgbWVzc2FnZSAgd2hlbgorICAgICAgICAgICAgICAgICAgICAgIElmICBzZXQsICB0aGUgcwhzaAhoaQhpZghmdAh0IGJ1aWx0aW4gcHJpbnRzIGFuIGVycm9yIG1lc3NhZ2Ugd2hlbgogICAgICAgICAgICAgICAgICAgICAgIHRoZSBzaGlmdCBjb3VudCBleGNlZWRzIHRoZSBudW1iZXIgb2YgcG9zaXRpb25hbCBwYXJhbWUtCiAgICAgICAgICAgICAgICAgICAgICAgdGVycy4KICAgICAgICAgICAgICAgcwhzbwhvdQh1cghyYwhjZQhlcAhwYQhhdAh0aAhoCiAgICAgICAgICAgICAgICAgICAgICAgSWYgc2V0LCB0aGUgcwhzbwhvdQh1cghyYwhjZQhlICguCC4pIGJ1aWx0aW4gdXNlcyB0aGUgdmFsdWUgb2YgUAhQQQhBVAhUSAhIIHRvCi0gICAgICAgICAgICAgICAgICAgICAgZmluZCAgdGhlICBkaXJlY3RvcnkgIGNvbnRhaW5pbmcgdGhlIGZpbGUgc3VwcGxpZWQgYXMgYW4KKyAgICAgICAgICAgICAgICAgICAgICBmaW5kIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgZmlsZSAgc3VwcGxpZWQgIGFzICBhbgogICAgICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50LiAgVGhpcyBvcHRpb24gaXMgZW5hYmxlZCBieSBkZWZhdWx0LgogICAgICAgICAgICAgICB4CHhwCHBnCGdfCF9lCGVjCGNoCGhvCG8KLSAgICAgICAgICAgICAgICAgICAgICBJZiAgc2V0LCAgdGhlICBlCGVjCGNoCGhvCG8gIGJ1aWx0aW4gIGV4cGFuZHMgICBiYWNrc2xhc2gtZXNjYXBlCisgICAgICAgICAgICAgICAgICAgICAgSWYgICBzZXQsICB0aGUgIGUIZWMIY2gIaG8IbyAgYnVpbHRpbiAgZXhwYW5kcyAgYmFja3NsYXNoLWVzY2FwZQogICAgICAgICAgICAgICAgICAgICAgIHNlcXVlbmNlcyBieSBkZWZhdWx0LgogICAgICAgIHMIc3UIdXMIc3AIcGUIZW4IbmQIZCBbLQgtZghmXQotICAgICAgICAgICAgICBTdXNwZW5kICB0aGUgZXhlY3V0aW9uIG9mIHRoaXMgc2hlbGwgdW50aWwgaXQgcmVjZWl2ZXMgYSBTCFNJCElHCEdDCENPCE9OCE5UCFQKKyAgICAgICAgICAgICAgU3VzcGVuZCB0aGUgZXhlY3V0aW9uIG9mIHRoaXMgc2hlbGwgdW50aWwgaXQgcmVjZWl2ZXMgYSAgUwhTSQhJRwhHQwhDTwhPTghOVAhUCiAgICAgICAgICAgICAgIHNpZ25hbC4gIEEgbG9naW4gc2hlbGwgY2Fubm90IGJlIHN1c3BlbmRlZDsgdGhlIC0ILWYIZiBvcHRpb24gY2FuIGJlCiAgICAgICAgICAgICAgIHVzZWQgdG8gb3ZlcnJpZGUgdGhpcyBhbmQgZm9yY2UgdGhlIHN1c3BlbnNpb24uICBUaGUgcmV0dXJuIHN0YS0KLSAgICAgICAgICAgICAgdHVzIGlzIDAgdW5sZXNzIHRoZSBzaGVsbCBpcyBhIGxvZ2luIHNoZWxsIGFuZCAtCC1mCGYgIGlzICBub3QgIHN1cC0KKyAgICAgICAgICAgICAgdHVzICBpcyAgMCAgdW5sZXNzIHRoZSBzaGVsbCBpcyBhIGxvZ2luIHNoZWxsIGFuZCAtCC1mCGYgaXMgbm90IHN1cC0KICAgICAgICAgICAgICAgcGxpZWQsIG9yIGlmIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkLgogICAgICAgIHQIdGUIZXMIc3QIdCBfCGVfCHhfCHBfCHIKICAgICAgICBbCFsgXwhlXwh4XwhwXwhyIF0IXQotICAgICAgICAgICAgICBSZXR1cm4gIGEgIHN0YXR1cyAgb2YgIDAgb3IgMSBkZXBlbmRpbmcgb24gdGhlIGV2YWx1YXRpb24gb2YgdGhlCi0gICAgICAgICAgICAgIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gXwhlXwh4XwhwXwhyLiAgRWFjaCBvcGVyYXRvciBhbmQgb3BlcmFuZCBtdXN0ICBiZQotICAgICAgICAgICAgICBhICBzZXBhcmF0ZSBhcmd1bWVudC4gIEV4cHJlc3Npb25zIGFyZSBjb21wb3NlZCBvZiB0aGUgcHJpbWFyaWVzCi0gICAgICAgICAgICAgIGRlc2NyaWJlZCBhYm92ZSB1bmRlciBDCENPCE9OCE5ECERJCElUCFRJCElPCE9OCE5BCEFMCEwgRQhFWAhYUAhQUghSRQhFUwhTUwhTSQhJTwhPTghOUwhTLiAgIHQIdGUIZXMIc3QIdCAgZG9lcyAgbm90CisgICAgICAgICAgICAgIFJldHVybiBhIHN0YXR1cyBvZiAwIG9yIDEgZGVwZW5kaW5nIG9uICB0aGUgIGV2YWx1YXRpb24gIG9mICB0aGUKKyAgICAgICAgICAgICAgY29uZGl0aW9uYWwgIGV4cHJlc3Npb24gXwhlXwh4XwhwXwhyLiAgRWFjaCBvcGVyYXRvciBhbmQgb3BlcmFuZCBtdXN0IGJlCisgICAgICAgICAgICAgIGEgc2VwYXJhdGUgYXJndW1lbnQuICBFeHByZXNzaW9ucyBhcmUgY29tcG9zZWQgb2YgdGhlICBwcmltYXJpZXMKKyAgICAgICAgICAgICAgZGVzY3JpYmVkICBhYm92ZSAgdW5kZXIgIEMIQ08IT04ITkQIREkISVQIVEkISU8IT04ITkEIQUwITCBFCEVYCFhQCFBSCFJFCEVTCFNTCFNJCElPCE9OCE5TCFMuICB0CHRlCGVzCHN0CHQgZG9lcyBub3QKICAgICAgICAgICAgICAgYWNjZXB0IGFueSBvcHRpb25zLCBub3IgZG9lcyBpdCBhY2NlcHQgYW5kIGlnbm9yZSBhbiBhcmd1bWVudCBvZgogICAgICAgICAgICAgICAtCC0tCC0gYXMgc2lnbmlmeWluZyB0aGUgZW5kIG9mIG9wdGlvbnMuCiAKLSAgICAgICAgICAgICAgRXhwcmVzc2lvbnMgbWF5ICBiZSAgY29tYmluZWQgIHVzaW5nICB0aGUgIGZvbGxvd2luZyAgb3BlcmF0b3JzLAorICAgICAgICAgICAgICBFeHByZXNzaW9ucyAgbWF5ICBiZSAgY29tYmluZWQgIHVzaW5nICB0aGUgIGZvbGxvd2luZyBvcGVyYXRvcnMsCiAgICAgICAgICAgICAgIGxpc3RlZCAgaW4gIGRlY3JlYXNpbmcgIG9yZGVyICBvZiAgcHJlY2VkZW5jZS4gICBUaGUgIGV2YWx1YXRpb24KICAgICAgICAgICAgICAgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50czsgc2VlIGJlbG93LgogICAgICAgICAgICAgICAhCCEgXwhlXwh4XwhwXwhyIFRydWUgaWYgXwhlXwh4XwhwXwhyIGlzIGZhbHNlLgogICAgICAgICAgICAgICAoCCggXwhlXwh4XwhwXwhyICkIKQotICAgICAgICAgICAgICAgICAgICAgUmV0dXJucyB0aGUgdmFsdWUgb2YgXwhlXwh4XwhwXwhyLiAgVGhpcyBtYXkgYmUgdXNlZCB0byAgb3ZlcnJpZGUKKyAgICAgICAgICAgICAgICAgICAgIFJldHVybnMgIHRoZSB2YWx1ZSBvZiBfCGVfCHhfCHBfCHIuICBUaGlzIG1heSBiZSB1c2VkIHRvIG92ZXJyaWRlCiAgICAgICAgICAgICAgICAgICAgICB0aGUgbm9ybWFsIHByZWNlZGVuY2Ugb2Ygb3BlcmF0b3JzLgogICAgICAgICAgICAgICBfCGVfCHhfCHBfCHJfCDEgLWEIYSBfCGVfCHhfCHBfCHJfCDIKICAgICAgICAgICAgICAgICAgICAgIFRydWUgaWYgYm90aCBfCGVfCHhfCHBfCHJfCDEgYW5kIF8IZV8IeF8IcF8Icl8IMiBhcmUgdHJ1ZS4KQEAgLTQ5MTAsNzMgKzUwNDUsNzggQEAKICAgICAgICAgICAgICAgICAgICAgIG51bGwuCiAgICAgICAgICAgICAgIDIgYXJndW1lbnRzCiAgICAgICAgICAgICAgICAgICAgICBJZiB0aGUgZmlyc3QgYXJndW1lbnQgaXMgIQghLCB0aGUgZXhwcmVzc2lvbiBpcyB0cnVlIGlmIGFuZAotICAgICAgICAgICAgICAgICAgICAgb25seSBpZiB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzIG51bGwuICBJZiB0aGUgZmlyc3QgIGFyZ3UtCi0gICAgICAgICAgICAgICAgICAgICBtZW50ICBpcyAgb25lICBvZiAgdGhlIHVuYXJ5IGNvbmRpdGlvbmFsIG9wZXJhdG9ycyBsaXN0ZWQKLSAgICAgICAgICAgICAgICAgICAgIGFib3ZlIHVuZGVyIEMIQ08IT04ITkQIREkISVQIVEkISU8IT04ITkEIQUwITCBFCEVYCFhQCFBSCFJFCEVTCFNTCFNJCElPCE9OCE5TCFMsICB0aGUgIGV4cHJlc3Npb24gIGlzCisgICAgICAgICAgICAgICAgICAgICBvbmx5ICBpZiB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzIG51bGwuICBJZiB0aGUgZmlyc3QgYXJndS0KKyAgICAgICAgICAgICAgICAgICAgIG1lbnQgaXMgb25lIG9mIHRoZSAgdW5hcnkgIGNvbmRpdGlvbmFsICBvcGVyYXRvcnMgIGxpc3RlZAorICAgICAgICAgICAgICAgICAgICAgYWJvdmUgIHVuZGVyICBDCENPCE9OCE5ECERJCElUCFRJCElPCE9OCE5BCEFMCEwgIEUIRVgIWFAIUFIIUkUIRVMIU1MIU0kISU8IT04ITlMIUywgdGhlIGV4cHJlc3Npb24gaXMKICAgICAgICAgICAgICAgICAgICAgIHRydWUgaWYgdGhlIHVuYXJ5IHRlc3QgaXMgdHJ1ZS4gIElmIHRoZSBmaXJzdCBhcmd1bWVudCBpcwogICAgICAgICAgICAgICAgICAgICAgbm90IGEgdmFsaWQgdW5hcnkgY29uZGl0aW9uYWwgb3BlcmF0b3IsIHRoZSBleHByZXNzaW9uIGlzCiAgICAgICAgICAgICAgICAgICAgICBmYWxzZS4KICAgICAgICAgICAgICAgMyBhcmd1bWVudHMKLSAgICAgICAgICAgICAgICAgICAgIElmICB0aGUgIHNlY29uZCBhcmd1bWVudCBpcyBvbmUgb2YgdGhlIGJpbmFyeSBjb25kaXRpb25hbAorICAgICAgICAgICAgICAgICAgICAgSWYgdGhlIHNlY29uZCBhcmd1bWVudCBpcyBvbmUgb2YgdGhlICBiaW5hcnkgIGNvbmRpdGlvbmFsCiAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcnMgbGlzdGVkIGFib3ZlIHVuZGVyIEMIQ08IT04ITkQIREkISVQIVEkISU8IT04ITkEIQUwITCBFCEVYCFhQCFBSCFJFCEVTCFNTCFNJCElPCE9OCE5TCFMsIHRoZQogICAgICAgICAgICAgICAgICAgICAgcmVzdWx0IG9mIHRoZSBleHByZXNzaW9uIGlzIHRoZSByZXN1bHQgb2YgdGhlIGJpbmFyeSB0ZXN0Ci0gICAgICAgICAgICAgICAgICAgICB1c2luZyB0aGUgZmlyc3QgYW5kIHRoaXJkIGFyZ3VtZW50cyBhcyBvcGVyYW5kcy4gIFRoZSAgLQgtYQhhCi0gICAgICAgICAgICAgICAgICAgICBhbmQgIC0ILW8IbyAgb3BlcmF0b3JzICBhcmUgIGNvbnNpZGVyZWQgYmluYXJ5IG9wZXJhdG9ycyB3aGVuCi0gICAgICAgICAgICAgICAgICAgICB0aGVyZSBhcmUgdGhyZWUgYXJndW1lbnRzLiAgSWYgdGhlIGZpcnN0IGFyZ3VtZW50ICBpcyAgIQghLAotICAgICAgICAgICAgICAgICAgICAgdGhlICB2YWx1ZSBpcyB0aGUgbmVnYXRpb24gb2YgdGhlIHR3by1hcmd1bWVudCB0ZXN0IHVzaW5nCisgICAgICAgICAgICAgICAgICAgICB1c2luZyAgdGhlIGZpcnN0IGFuZCB0aGlyZCBhcmd1bWVudHMgYXMgb3BlcmFuZHMuICBUaGUgLQgtYQhhCisgICAgICAgICAgICAgICAgICAgICBhbmQgLQgtbwhvIG9wZXJhdG9ycyBhcmUgIGNvbnNpZGVyZWQgIGJpbmFyeSAgb3BlcmF0b3JzICB3aGVuCisgICAgICAgICAgICAgICAgICAgICB0aGVyZSAgYXJlICB0aHJlZSBhcmd1bWVudHMuICBJZiB0aGUgZmlyc3QgYXJndW1lbnQgaXMgIQghLAorICAgICAgICAgICAgICAgICAgICAgdGhlIHZhbHVlIGlzIHRoZSBuZWdhdGlvbiBvZiB0aGUgdHdvLWFyZ3VtZW50IHRlc3QgIHVzaW5nCiAgICAgICAgICAgICAgICAgICAgICB0aGUgc2Vjb25kIGFuZCB0aGlyZCBhcmd1bWVudHMuICBJZiB0aGUgZmlyc3QgYXJndW1lbnQgaXMKICAgICAgICAgICAgICAgICAgICAgIGV4YWN0bHkgKAgoIGFuZCB0aGUgdGhpcmQgYXJndW1lbnQgaXMgZXhhY3RseSApCCksIHRoZSByZXN1bHQKLSAgICAgICAgICAgICAgICAgICAgIGlzIHRoZSBvbmUtYXJndW1lbnQgdGVzdCBvZiB0aGUgc2Vjb25kIGFyZ3VtZW50LiAgIE90aGVyLQorICAgICAgICAgICAgICAgICAgICAgaXMgIHRoZSBvbmUtYXJndW1lbnQgdGVzdCBvZiB0aGUgc2Vjb25kIGFyZ3VtZW50LiAgT3RoZXItCiAgICAgICAgICAgICAgICAgICAgICB3aXNlLCB0aGUgZXhwcmVzc2lvbiBpcyBmYWxzZS4KICAgICAgICAgICAgICAgNCBhcmd1bWVudHMKICAgICAgICAgICAgICAgICAgICAgIElmIHRoZSBmaXJzdCBhcmd1bWVudCBpcyAhCCEsIHRoZSByZXN1bHQgaXMgdGhlIG5lZ2F0aW9uIG9mCi0gICAgICAgICAgICAgICAgICAgICB0aGUgdGhyZWUtYXJndW1lbnQgZXhwcmVzc2lvbiBjb21wb3NlZCBvZiAgdGhlICByZW1haW5pbmcKKyAgICAgICAgICAgICAgICAgICAgIHRoZSAgdGhyZWUtYXJndW1lbnQgIGV4cHJlc3Npb24gY29tcG9zZWQgb2YgdGhlIHJlbWFpbmluZwogICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnRzLiAgT3RoZXJ3aXNlLCB0aGUgZXhwcmVzc2lvbiBpcyBwYXJzZWQgYW5kIGV2YWwtCi0gICAgICAgICAgICAgICAgICAgICB1YXRlZCBhY2NvcmRpbmcgdG8gIHByZWNlZGVuY2UgIHVzaW5nICB0aGUgIHJ1bGVzICBsaXN0ZWQKKyAgICAgICAgICAgICAgICAgICAgIHVhdGVkICBhY2NvcmRpbmcgIHRvICBwcmVjZWRlbmNlICB1c2luZyAgdGhlIHJ1bGVzIGxpc3RlZAogICAgICAgICAgICAgICAgICAgICAgYWJvdmUuCiAgICAgICAgICAgICAgIDUgb3IgbW9yZSBhcmd1bWVudHMKLSAgICAgICAgICAgICAgICAgICAgIFRoZSAgZXhwcmVzc2lvbiAgaXMgIHBhcnNlZCAgYW5kICBldmFsdWF0ZWQgIGFjY29yZGluZyB0bworICAgICAgICAgICAgICAgICAgICAgVGhlIGV4cHJlc3Npb24gIGlzICBwYXJzZWQgIGFuZCAgZXZhbHVhdGVkICBhY2NvcmRpbmcgIHRvCiAgICAgICAgICAgICAgICAgICAgICBwcmVjZWRlbmNlIHVzaW5nIHRoZSBydWxlcyBsaXN0ZWQgYWJvdmUuCiAKLSAgICAgICB0CHRpCGltCG1lCGVzCHMgIFByaW50IHRoZSBhY2N1bXVsYXRlZCB1c2VyIGFuZCBzeXN0ZW0gdGltZXMgZm9yICB0aGUgIHNoZWxsICBhbmQKKyAgICAgICB0CHRpCGltCG1lCGVzCHMgIFByaW50ICB0aGUgIGFjY3VtdWxhdGVkICB1c2VyIGFuZCBzeXN0ZW0gdGltZXMgZm9yIHRoZSBzaGVsbCBhbmQKICAgICAgICAgICAgICAgZm9yIHByb2Nlc3NlcyBydW4gZnJvbSB0aGUgc2hlbGwuICBUaGUgcmV0dXJuIHN0YXR1cyBpcyAwLgogCiAgICAgICAgdAh0cghyYQhhcAhwIFstCC1sCGxwCHBdIFtbXwhhXwhyXwhnXSBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgLi4uXQotICAgICAgICAgICAgICBUaGUgIGNvbW1hbmQgIF8IYV8Icl8IZyAgaXMgIHRvICBiZSAgcmVhZCAgYW5kIGV4ZWN1dGVkIHdoZW4gdGhlIHNoZWxsCi0gICAgICAgICAgICAgIHJlY2VpdmVzIHNpZ25hbChzKSBfCHNfCGlfCGdfCHNfCHBfCGVfCGMuICBJZiBfCGFfCHJfCGcgaXMgYWJzZW50IChhbmQgIHRoZXJlICBpcyAgYQotICAgICAgICAgICAgICBzaW5nbGUgIF8Ic18IaV8IZ18Ic18IcF8IZV8IYykgIG9yICAtCC0sICBlYWNoICBzcGVjaWZpZWQgc2lnbmFsIGlzIHJlc2V0IHRvIGl0cwotICAgICAgICAgICAgICBvcmlnaW5hbCBkaXNwb3NpdGlvbiAodGhlIHZhbHVlIGl0ICBoYWQgIHVwb24gIGVudHJhbmNlICB0byAgdGhlCi0gICAgICAgICAgICAgIHNoZWxsKS4gICBJZiBfCGFfCHJfCGcgaXMgdGhlIG51bGwgc3RyaW5nIHRoZSBzaWduYWwgc3BlY2lmaWVkIGJ5IGVhY2gKLSAgICAgICAgICAgICAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjIGlzIGlnbm9yZWQgYnkgdGhlIHNoZWxsIGFuZCBieSB0aGUgY29tbWFuZHMgaXQgIGludm9rZXMuCi0gICAgICAgICAgICAgIElmICBfCGFfCHJfCGcgIGlzICBub3QgcHJlc2VudCBhbmQgLQgtcAhwIGhhcyBiZWVuIHN1cHBsaWVkLCB0aGVuIHRoZSB0cmFwCi0gICAgICAgICAgICAgIGNvbW1hbmRzIGFzc29jaWF0ZWQgd2l0aCBlYWNoICBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgIGFyZSAgZGlzcGxheWVkLiAgIElmICBubwotICAgICAgICAgICAgICBhcmd1bWVudHMgIGFyZSAgc3VwcGxpZWQgb3IgaWYgb25seSAtCC1wCHAgaXMgZ2l2ZW4sIHQIdHIIcmEIYXAIcCBwcmludHMgdGhlCi0gICAgICAgICAgICAgIGxpc3Qgb2YgY29tbWFuZHMgYXNzb2NpYXRlZCB3aXRoIGVhY2ggIHNpZ25hbC4gICBUaGUgIC0ILWwIbCAgb3B0aW9uCi0gICAgICAgICAgICAgIGNhdXNlcyAgdGhlIHNoZWxsIHRvIHByaW50IGEgbGlzdCBvZiBzaWduYWwgbmFtZXMgYW5kIHRoZWlyIGNvci0KLSAgICAgICAgICAgICAgcmVzcG9uZGluZyBudW1iZXJzLiAgIEVhY2ggIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyAgaXMgIGVpdGhlciAgYSAgc2lnbmFsICBuYW1lCi0gICAgICAgICAgICAgIGRlZmluZWQgIGluICA8XwhzXwhpXwhnXwhuXwhhXwhsXwguXwhoPiwgIG9yICBhIHNpZ25hbCBudW1iZXIuICBTaWduYWwgbmFtZXMgYXJlCi0gICAgICAgICAgICAgIGNhc2UgaW5zZW5zaXRpdmUgYW5kIHRoZSBTSUcgcHJlZml4IGlzIG9wdGlvbmFsLiAgSWYgIGEgIF8Ic18IaV8IZ18Ic18IcF8IZV8IYwotICAgICAgICAgICAgICBpcyAgRQhFWAhYSQhJVAhUICgwKSB0aGUgY29tbWFuZCBfCGFfCHJfCGcgaXMgZXhlY3V0ZWQgb24gZXhpdCBmcm9tIHRoZSBzaGVsbC4KLSAgICAgICAgICAgICAgSWYgYSBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgaXMgRAhERQhFQghCVQhVRwhHLCB0aGUgY29tbWFuZCBfCGFfCHJfCGcgaXMgZXhlY3V0ZWQgYmVmb3JlICBldmVyeQotICAgICAgICAgICAgICBfCHNfCGlfCG1fCHBfCGxfCGUgXwhjXwhvXwhtXwhtXwhhXwhuXwhkLCBfCGZfCG9fCHIgY29tbWFuZCwgXwhjXwhhXwhzXwhlIGNvbW1hbmQsIF8Ic18IZV8IbF8IZV8IY18IdCBjb21tYW5kLCBldmVyeQotICAgICAgICAgICAgICBhcml0aG1ldGljIF8IZl8Ib18IciBjb21tYW5kLCBhbmQgYmVmb3JlIHRoZSBmaXJzdCBjb21tYW5kIGV4ZWN1dGVzIGluCi0gICAgICAgICAgICAgIGEgIHNoZWxsICBmdW5jdGlvbiAgKHNlZSAgUwhTSAhIRQhFTAhMTAhMICBHCEdSCFJBCEFNCE1NCE1BCEFSCFIgIGFib3ZlKS4gICBSZWZlciB0byB0aGUKLSAgICAgICAgICAgICAgZGVzY3JpcHRpb24gb2YgdGhlIGUIZXgIeHQIdGQIZGUIZWIIYnUIdWcIZyBvcHRpb24gIHRvICB0aGUgIHMIc2gIaG8Ib3AIcHQIdCAgYnVpbHRpbiAgZm9yCi0gICAgICAgICAgICAgIGRldGFpbHMgIG9mICBpdHMgZWZmZWN0IG9uIHRoZSBECERFCEVCCEJVCFVHCEcgdHJhcC4gIElmIGEgXwhzXwhpXwhnXwhzXwhwXwhlXwhjIGlzIEUIRVIIUlIIUiwKLSAgICAgICAgICAgICAgdGhlIGNvbW1hbmQgXwhhXwhyXwhnIGlzIGV4ZWN1dGVkIHdoZW5ldmVyICBhICBzaW1wbGUgIGNvbW1hbmQgIGhhcyAgYQotICAgICAgICAgICAgICBub24temVybyAgZXhpdCBzdGF0dXMsIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zLiAgVGhlCi0gICAgICAgICAgICAgIEUIRVIIUlIIUiB0cmFwIGlzIG5vdCBleGVjdXRlZCBpZiB0aGUgZmFpbGVkIGNvbW1hbmQgaXMgIHBhcnQgIG9mICB0aGUKLSAgICAgICAgICAgICAgY29tbWFuZCAgbGlzdCAgaW1tZWRpYXRlbHkgIGZvbGxvd2luZyAgYSB3CHdoCGhpCGlsCGxlCGUgb3IgdQh1bghudAh0aQhpbAhsIGtleXdvcmQsCi0gICAgICAgICAgICAgIHBhcnQgb2YgdGhlIHRlc3QgaW4gYW4gXwhpXwhmIHN0YXRlbWVudCwgcGFydCBvZiBhIGNvbW1hbmQgIGV4ZWN1dGVkCi0gICAgICAgICAgICAgIGluICBhICAmCCYmCCYgIG9yIHwIfHwIfCBsaXN0LCBvciBpZiB0aGUgY29tbWFuZCdzIHJldHVybiB2YWx1ZSBpcyBiZWluZwotICAgICAgICAgICAgICBpbnZlcnRlZCB2aWEgIQghLiAgVGhlc2UgYXJlIHRoZSBzYW1lICBjb25kaXRpb25zICBvYmV5ZWQgIGJ5ICB0aGUKLSAgICAgICAgICAgICAgZQhlcghycghyZQhleAh4aQhpdAh0IG9wdGlvbi4gIElmIGEgXwhzXwhpXwhnXwhzXwhwXwhlXwhjIGlzIFIIUkUIRVQIVFUIVVIIUk4ITiwgdGhlIGNvbW1hbmQgXwhhXwhyXwhnIGlzIGV4ZS0KLSAgICAgICAgICAgICAgY3V0ZWQgZWFjaCB0aW1lIGEgc2hlbGwgZnVuY3Rpb24gb3IgYSBzY3JpcHQgZXhlY3V0ZWQgd2l0aCB0aGUgLgguCi0gICAgICAgICAgICAgIG9yICBzCHNvCG91CHVyCHJjCGNlCGUgIGJ1aWx0aW5zICBmaW5pc2hlcyAgZXhlY3V0aW5nLiAgU2lnbmFscyBpZ25vcmVkIHVwb24KLSAgICAgICAgICAgICAgZW50cnkgdG8gdGhlIHNoZWxsIGNhbm5vdCBiZSB0cmFwcGVkIG9yIHJlc2V0LiAgVHJhcHBlZCAgc2lnbmFscwotICAgICAgICAgICAgICB0aGF0IGFyZSBub3QgYmVpbmcgaWdub3JlZCBhcmUgcmVzZXQgdG8gdGhlaXIgb3JpZ2luYWwgdmFsdWVzIGluCi0gICAgICAgICAgICAgIGEgY2hpbGQgcHJvY2VzcyB3aGVuIGl0IGlzIGNyZWF0ZWQuICBUaGUgcmV0dXJuIHN0YXR1cyBpcyAgZmFsc2UKLSAgICAgICAgICAgICAgaWYgYW55IF8Ic18IaV8IZ18Ic18IcF8IZV8IYyBpcyBpbnZhbGlkOyBvdGhlcndpc2UgdAh0cghyYQhhcAhwIHJldHVybnMgdHJ1ZS4KKyAgICAgICAgICAgICAgVGhlIGNvbW1hbmQgXwhhXwhyXwhnIGlzIHRvICBiZSAgcmVhZCAgYW5kICBleGVjdXRlZCAgd2hlbiAgdGhlICBzaGVsbAorICAgICAgICAgICAgICByZWNlaXZlcyAgc2lnbmFsKHMpICBfCHNfCGlfCGdfCHNfCHBfCGVfCGMuICAgSWYgXwhhXwhyXwhnIGlzIGFic2VudCAoYW5kIHRoZXJlIGlzIGEKKyAgICAgICAgICAgICAgc2luZ2xlIF8Ic18IaV8IZ18Ic18IcF8IZV8IYykgb3IgLQgtLCBlYWNoIHNwZWNpZmllZCAgc2lnbmFsICBpcyAgcmVzZXQgIHRvICBpdHMKKyAgICAgICAgICAgICAgb3JpZ2luYWwgIGRpc3Bvc2l0aW9uICAodGhlICB2YWx1ZSAgaXQgIGhhZCB1cG9uIGVudHJhbmNlIHRvIHRoZQorICAgICAgICAgICAgICBzaGVsbCkuICBJZiBfCGFfCHJfCGcgaXMgdGhlIG51bGwgc3RyaW5nIHRoZSBzaWduYWwgc3BlY2lmaWVkIGJ5ICBlYWNoCisgICAgICAgICAgICAgIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyAgaXMgaWdub3JlZCBieSB0aGUgc2hlbGwgYW5kIGJ5IHRoZSBjb21tYW5kcyBpdCBpbnZva2VzLgorICAgICAgICAgICAgICBJZiBfCGFfCHJfCGcgaXMgbm90IHByZXNlbnQgYW5kIC0ILXAIcCBoYXMgYmVlbiBzdXBwbGllZCwgIHRoZW4gIHRoZSAgdHJhcAorICAgICAgICAgICAgICBjb21tYW5kcyAgYXNzb2NpYXRlZCAgd2l0aCAgZWFjaCAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjICBhcmUgZGlzcGxheWVkLiAgSWYgbm8KKyAgICAgICAgICAgICAgYXJndW1lbnRzIGFyZSBzdXBwbGllZCBvciBpZiBvbmx5IC0ILXAIcCBpcyBnaXZlbiwgdAh0cghyYQhhcAhwICBwcmludHMgIHRoZQorICAgICAgICAgICAgICBsaXN0ICBvZiAgY29tbWFuZHMgIGFzc29jaWF0ZWQgIHdpdGggZWFjaCBzaWduYWwuICBUaGUgLQgtbAhsIG9wdGlvbgorICAgICAgICAgICAgICBjYXVzZXMgdGhlIHNoZWxsIHRvIHByaW50IGEgbGlzdCBvZiBzaWduYWwgbmFtZXMgYW5kIHRoZWlyICBjb3ItCisgICAgICAgICAgICAgIHJlc3BvbmRpbmcgIG51bWJlcnMuICAgRWFjaCAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjICBpcyAgZWl0aGVyICBhICBzaWduYWwgbmFtZQorICAgICAgICAgICAgICBkZWZpbmVkIGluIDxfCHNfCGlfCGdfCG5fCGFfCGxfCC5fCGg+LCBvciBhIHNpZ25hbCAgbnVtYmVyLiAgIFNpZ25hbCAgbmFtZXMgIGFyZQorICAgICAgICAgICAgICBjYXNlIGluc2Vuc2l0aXZlIGFuZCB0aGUgU0lHIHByZWZpeCBpcyBvcHRpb25hbC4KKworICAgICAgICAgICAgICBJZiAgYSAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjICBpcyAgRQhFWAhYSQhJVAhUICgwKSB0aGUgY29tbWFuZCBfCGFfCHJfCGcgaXMgZXhlY3V0ZWQgb24gZXhpdAorICAgICAgICAgICAgICBmcm9tIHRoZSBzaGVsbC4gIElmIGEgXwhzXwhpXwhnXwhzXwhwXwhlXwhjIGlzIEQIREUIRUIIQlUIVUcIRywgdGhlIGNvbW1hbmQgXwhhXwhyXwhnIGlzICBleGUtCisgICAgICAgICAgICAgIGN1dGVkICBiZWZvcmUgIGV2ZXJ5ICBfCHNfCGlfCG1fCHBfCGxfCGUgXwhjXwhvXwhtXwhtXwhhXwhuXwhkLCBfCGZfCG9fCHIgY29tbWFuZCwgXwhjXwhhXwhzXwhlIGNvbW1hbmQsCisgICAgICAgICAgICAgIF8Ic18IZV8IbF8IZV8IY18IdCBjb21tYW5kLCBldmVyeSBhcml0aG1ldGljIF8IZl8Ib18IciAgY29tbWFuZCwgIGFuZCAgYmVmb3JlICB0aGUKKyAgICAgICAgICAgICAgZmlyc3QgIGNvbW1hbmQgIGV4ZWN1dGVzICBpbiBhIHNoZWxsIGZ1bmN0aW9uIChzZWUgUwhTSAhIRQhFTAhMTAhMIEcIR1IIUkEIQU0ITU0ITUEIQVIIUgorICAgICAgICAgICAgICBhYm92ZSkuICBSZWZlciB0byB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIGUIZXgIeHQIdGQIZGUIZWIIYnUIdWcIZyBvcHRpb24gdG8gIHRoZQorICAgICAgICAgICAgICBzCHNoCGhvCG9wCHB0CHQgYnVpbHRpbiBmb3IgZGV0YWlscyBvZiBpdHMgZWZmZWN0IG9uIHRoZSBECERFCEVCCEJVCFVHCEcgdHJhcC4gIElmIGEKKyAgICAgICAgICAgICAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjIGlzIFIIUkUIRVQIVFUIVVIIUk4ITiwgdGhlIGNvbW1hbmQgXwhhXwhyXwhnIGlzIGV4ZWN1dGVkIGVhY2ggdGltZSBhIHNoZWxsCisgICAgICAgICAgICAgIGZ1bmN0aW9uIG9yIGEgc2NyaXB0IGV4ZWN1dGVkIHdpdGggdGhlIC4ILiBvciBzCHNvCG91CHVyCHJjCGNlCGUgYnVpbHRpbnMgZmluLQorICAgICAgICAgICAgICBpc2hlcyBleGVjdXRpbmcuCisKKyAgICAgICAgICAgICAgSWYgYSBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgaXMgRQhFUghSUghSLCB0aGUgY29tbWFuZCBfCGFfCHJfCGcgaXMgZXhlY3V0ZWQgd2hlbmV2ZXIgYSBzaW0tCisgICAgICAgICAgICAgIHBsZSBjb21tYW5kIGhhcyBhIG5vbi16ZXJvIGV4aXQgc3RhdHVzLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcKKyAgICAgICAgICAgICAgY29uZGl0aW9ucy4gIFRoZSBFCEVSCFJSCFIgdHJhcCBpcyBub3QgZXhlY3V0ZWQgaWYgdGhlIGZhaWxlZCAgY29tbWFuZAorICAgICAgICAgICAgICBpcyAgcGFydCAgb2YgIHRoZSAgY29tbWFuZCBsaXN0IGltbWVkaWF0ZWx5IGZvbGxvd2luZyBhIHcId2gIaGkIaWwIbGUIZSBvcgorICAgICAgICAgICAgICB1CHVuCG50CHRpCGlsCGwga2V5d29yZCwgcGFydCBvZiB0aGUgdGVzdCBpbiBhbiBfCGlfCGYgc3RhdGVtZW50LCAgcGFydCAgb2YgIGEKKyAgICAgICAgICAgICAgY29tbWFuZCAgZXhlY3V0ZWQgaW4gYSAmCCYmCCYgb3IgfAh8fAh8IGxpc3QsIG9yIGlmIHRoZSBjb21tYW5kJ3MgcmV0dXJuCisgICAgICAgICAgICAgIHZhbHVlIGlzIGJlaW5nIGludmVydGVkIHZpYSAhCCEuICBUaGVzZSBhcmUgIHRoZSAgc2FtZSAgY29uZGl0aW9ucworICAgICAgICAgICAgICBvYmV5ZWQgYnkgdGhlIGUIZXIIcnIIcmUIZXgIeGkIaXQIdCBvcHRpb24uCisKKyAgICAgICAgICAgICAgU2lnbmFscyAgaWdub3JlZCAgdXBvbiAgZW50cnkgIHRvIHRoZSBzaGVsbCBjYW5ub3QgYmUgdHJhcHBlZCBvcgorICAgICAgICAgICAgICByZXNldC4gIFRyYXBwZWQgc2lnbmFscyB0aGF0IGFyZSBub3QgYmVpbmcgaWdub3JlZCBhcmUgcmVzZXQgIHRvCisgICAgICAgICAgICAgIHRoZWlyIG9yaWdpbmFsIHZhbHVlcyBpbiBhIHN1YnNoZWxsIG9yIHN1YnNoZWxsIGVudmlyb25tZW50IHdoZW4KKyAgICAgICAgICAgICAgb25lIGlzIGNyZWF0ZWQuICBUaGUgcmV0dXJuIHN0YXR1cyBpcyBmYWxzZSBpZiAgYW55ICBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgIGlzCisgICAgICAgICAgICAgIGludmFsaWQ7IG90aGVyd2lzZSB0CHRyCHJhCGFwCHAgcmV0dXJucyB0cnVlLgogCiAgICAgICAgdAh0eQh5cAhwZQhlIFstCC1hCGFmCGZ0CHRwCHBQCFBdIF8Ibl8IYV8IbV8IZSBbXwhuXwhhXwhtXwhlIC4uLl0KICAgICAgICAgICAgICAgV2l0aCAgbm8gb3B0aW9ucywgaW5kaWNhdGUgaG93IGVhY2ggXwhuXwhhXwhtXwhlIHdvdWxkIGJlIGludGVycHJldGVkIGlmCkBAIC01MDI0LDcgKzUxNjQsOCBAQAogICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW4KICAgICAgICAgICAgICAgLQgtaQhpICAgICBUaGUgbWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzCiAgICAgICAgICAgICAgIC0ILWwIbCAgICAgVGhlIG1heGltdW0gc2l6ZSB0aGF0IG1heSBiZSBsb2NrZWQgaW50byBtZW1vcnkKLSAgICAgICAgICAgICAgLQgtbQhtICAgICBUaGUgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZQorICAgICAgICAgICAgICAtCC1tCG0gICAgIFRoZSBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplIChtYW55IHN5c3RlbXMgZG8gbm90ICBob25vcgorICAgICAgICAgICAgICAgICAgICAgdGhpcyBsaW1pdCkKICAgICAgICAgICAgICAgLQgtbghuICAgICBUaGUgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlIGRlc2NyaXB0b3JzIChtb3N0IHN5c3RlbXMKICAgICAgICAgICAgICAgICAgICAgIGRvIG5vdCBhbGxvdyB0aGlzIHZhbHVlIHRvIGJlIHNldCkKICAgICAgICAgICAgICAgLQgtcAhwICAgICBUaGUgcGlwZSBzaXplIGluIDUxMi1ieXRlIGJsb2NrcyAodGhpcyBtYXkgbm90IGJlIHNldCkKQEAgLTUwMzIsNjUgKzUxNzMsNjUgQEAKICAgICAgICAgICAgICAgLQgtcghyICAgICBUaGUgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eQogICAgICAgICAgICAgICAtCC1zCHMgICAgIFRoZSBtYXhpbXVtIHN0YWNrIHNpemUKICAgICAgICAgICAgICAgLQgtdAh0ICAgICBUaGUgbWF4aW11bSBhbW91bnQgb2YgY3B1IHRpbWUgaW4gc2Vjb25kcwotICAgICAgICAgICAgICAtCC11CHUgICAgIFRoZSAgbWF4aW11bSAgbnVtYmVyICBvZiAgcHJvY2Vzc2VzIGF2YWlsYWJsZSB0byBhIHNpbmdsZQorICAgICAgICAgICAgICAtCC11CHUgICAgIFRoZSBtYXhpbXVtIG51bWJlciBvZiBwcm9jZXNzZXMgIGF2YWlsYWJsZSAgdG8gIGEgIHNpbmdsZQogICAgICAgICAgICAgICAgICAgICAgdXNlcgotICAgICAgICAgICAgICAtCC12CHYgICAgIFRoZSBtYXhpbXVtIGFtb3VudCBvZiB2aXJ0dWFsICBtZW1vcnkgIGF2YWlsYWJsZSAgdG8gIHRoZQorICAgICAgICAgICAgICAtCC12CHYgICAgIFRoZSAgbWF4aW11bSAgYW1vdW50ICBvZiAgdmlydHVhbCBtZW1vcnkgYXZhaWxhYmxlIHRvIHRoZQogICAgICAgICAgICAgICAgICAgICAgc2hlbGwKICAgICAgICAgICAgICAgLQgteAh4ICAgICBUaGUgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2NrcwogICAgICAgICAgICAgICAtCC1UCFQgICAgIFRoZSBtYXhpbXVtIG51bWJlciBvZiB0aHJlYWRzCiAKICAgICAgICAgICAgICAgSWYgXwhsXwhpXwhtXwhpXwh0IGlzIGdpdmVuLCBpdCBpcyB0aGUgbmV3IHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UKICAgICAgICAgICAgICAgKHRoZSAtCC1hCGEgb3B0aW9uIGlzIGRpc3BsYXkgb25seSkuICBJZiBubyBvcHRpb24gaXMgZ2l2ZW4sIHRoZW4gLQgtZghmCi0gICAgICAgICAgICAgIGlzICBhc3N1bWVkLiAgVmFsdWVzIGFyZSBpbiAxMDI0LWJ5dGUgaW5jcmVtZW50cywgZXhjZXB0IGZvciAtCC10CHQsCi0gICAgICAgICAgICAgIHdoaWNoIGlzIGluIHNlY29uZHMsIC0ILXAIcCwgd2hpY2ggaXMgaW4gdW5pdHMgb2YgIDUxMi1ieXRlICBibG9ja3MsCi0gICAgICAgICAgICAgIGFuZCAgLQgtVAhULCAgLQgtYghiLCAtCC1uCG4sIGFuZCAtCC11CHUsIHdoaWNoIGFyZSB1bnNjYWxlZCB2YWx1ZXMuICBUaGUgcmV0dXJuCisgICAgICAgICAgICAgIGlzIGFzc3VtZWQuICBWYWx1ZXMgYXJlIGluIDEwMjQtYnl0ZSBpbmNyZW1lbnRzLCBleGNlcHQgZm9yICAtCC10CHQsCisgICAgICAgICAgICAgIHdoaWNoICBpcyAgaW4gc2Vjb25kcywgLQgtcAhwLCB3aGljaCBpcyBpbiB1bml0cyBvZiA1MTItYnl0ZSBibG9ja3MsCisgICAgICAgICAgICAgIGFuZCAtCC1UCFQsIC0ILWIIYiwgLQgtbghuLCBhbmQgLQgtdQh1LCB3aGljaCBhcmUgdW5zY2FsZWQgdmFsdWVzLiAgIFRoZSAgcmV0dXJuCiAgICAgICAgICAgICAgIHN0YXR1cyBpcyAwIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBvciBhcmd1bWVudCBpcyBzdXBwbGllZCwgb3IKICAgICAgICAgICAgICAgYW4gZXJyb3Igb2NjdXJzIHdoaWxlIHNldHRpbmcgYSBuZXcgbGltaXQuCiAKICAgICAgICB1CHVtCG1hCGFzCHNrCGsgWy0ILXAIcF0gWy0ILVMIU10gW18IbV8Ib18IZF8IZV0KICAgICAgICAgICAgICAgVGhlIHVzZXIgZmlsZS1jcmVhdGlvbiBtYXNrIGlzIHNldCB0byBfCG1fCG9fCGRfCGUuICBJZiBfCG1fCG9fCGRfCGUgYmVnaW5zIHdpdGgKLSAgICAgICAgICAgICAgYSBkaWdpdCwgaXQgaXMgaW50ZXJwcmV0ZWQgYXMgYW4gb2N0YWwgbnVtYmVyOyBvdGhlcndpc2UgIGl0ICBpcwotICAgICAgICAgICAgICBpbnRlcnByZXRlZCAgYXMgYSBzeW1ib2xpYyBtb2RlIG1hc2sgc2ltaWxhciB0byB0aGF0IGFjY2VwdGVkIGJ5Ci0gICAgICAgICAgICAgIF8IY18IaF8IbV8Ib18IZCgxKS4gIElmIF8IbV8Ib18IZF8IZSBpcyBvbWl0dGVkLCB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgbWFzayAgaXMKLSAgICAgICAgICAgICAgcHJpbnRlZC4gICBUaGUgIC0ILVMIUyAgb3B0aW9uIGNhdXNlcyB0aGUgbWFzayB0byBiZSBwcmludGVkIGluIHN5bS0KLSAgICAgICAgICAgICAgYm9saWMgZm9ybTsgdGhlIGRlZmF1bHQgb3V0cHV0IGlzIGFuIG9jdGFsIG51bWJlci4gICBJZiAgdGhlICAtCC1wCHAKKyAgICAgICAgICAgICAgYSAgZGlnaXQsICBpdCBpcyBpbnRlcnByZXRlZCBhcyBhbiBvY3RhbCBudW1iZXI7IG90aGVyd2lzZSBpdCBpcworICAgICAgICAgICAgICBpbnRlcnByZXRlZCBhcyBhIHN5bWJvbGljIG1vZGUgbWFzayBzaW1pbGFyIHRvIHRoYXQgYWNjZXB0ZWQgIGJ5CisgICAgICAgICAgICAgIF8IY18IaF8IbV8Ib18IZCgxKS4gICBJZiBfCG1fCG9fCGRfCGUgaXMgb21pdHRlZCwgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIG1hc2sgaXMKKyAgICAgICAgICAgICAgcHJpbnRlZC4gIFRoZSAtCC1TCFMgb3B0aW9uIGNhdXNlcyB0aGUgbWFzayB0byBiZSAgcHJpbnRlZCAgaW4gIHN5bS0KKyAgICAgICAgICAgICAgYm9saWMgIGZvcm07ICB0aGUgIGRlZmF1bHQgb3V0cHV0IGlzIGFuIG9jdGFsIG51bWJlci4gIElmIHRoZSAtCC1wCHAKICAgICAgICAgICAgICAgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbmQgXwhtXwhvXwhkXwhlIGlzIG9taXR0ZWQsIHRoZSBvdXRwdXQgaXMgaW4gYSBmb3JtCiAgICAgICAgICAgICAgIHRoYXQgbWF5IGJlIHJldXNlZCBhcyBpbnB1dC4gIFRoZSByZXR1cm4gc3RhdHVzIGlzIDAgaWYgdGhlIG1vZGUKLSAgICAgICAgICAgICAgd2FzICBzdWNjZXNzZnVsbHkgIGNoYW5nZWQgIG9yIGlmIG5vIF8IbV8Ib18IZF8IZSBhcmd1bWVudCB3YXMgc3VwcGxpZWQsCisgICAgICAgICAgICAgIHdhcyBzdWNjZXNzZnVsbHkgY2hhbmdlZCBvciBpZiBubyBfCG1fCG9fCGRfCGUgIGFyZ3VtZW50ICB3YXMgIHN1cHBsaWVkLAogICAgICAgICAgICAgICBhbmQgZmFsc2Ugb3RoZXJ3aXNlLgogCiAgICAgICAgdQh1bghuYQhhbAhsaQhpYQhhcwhzIFstYQhhXSBbXwhuXwhhXwhtXwhlIC4uLl0KLSAgICAgICAgICAgICAgUmVtb3ZlIGVhY2ggXwhuXwhhXwhtXwhlIGZyb20gdGhlIGxpc3Qgb2YgZGVmaW5lZCAgYWxpYXNlcy4gICBJZiAgLQgtYQhhICBpcwotICAgICAgICAgICAgICBzdXBwbGllZCwgIGFsbCAgYWxpYXMgZGVmaW5pdGlvbnMgYXJlIHJlbW92ZWQuICBUaGUgcmV0dXJuIHZhbHVlCisgICAgICAgICAgICAgIFJlbW92ZSAgZWFjaCAgXwhuXwhhXwhtXwhlICBmcm9tICB0aGUgbGlzdCBvZiBkZWZpbmVkIGFsaWFzZXMuICBJZiAtCC1hCGEgaXMKKyAgICAgICAgICAgICAgc3VwcGxpZWQsIGFsbCBhbGlhcyBkZWZpbml0aW9ucyBhcmUgcmVtb3ZlZC4gIFRoZSAgcmV0dXJuICB2YWx1ZQogICAgICAgICAgICAgICBpcyB0cnVlIHVubGVzcyBhIHN1cHBsaWVkIF8Ibl8IYV8IbV8IZSBpcyBub3QgYSBkZWZpbmVkIGFsaWFzLgogCiAgICAgICAgdQh1bghucwhzZQhldAh0IFstZghmdgh2XSBbXwhuXwhhXwhtXwhlIC4uLl0KLSAgICAgICAgICAgICAgRm9yIGVhY2ggXwhuXwhhXwhtXwhlLCByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgIHZhcmlhYmxlICBvciAgZnVuY3Rpb24uCisgICAgICAgICAgICAgIEZvciAgZWFjaCAgXwhuXwhhXwhtXwhlLCAgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIHZhcmlhYmxlIG9yIGZ1bmN0aW9uLgogICAgICAgICAgICAgICBJZiBubyBvcHRpb25zIGFyZSBzdXBwbGllZCwgb3IgdGhlIC0ILXYIdiBvcHRpb24gaXMgZ2l2ZW4sIGVhY2ggXwhuXwhhXwhtXwhlCi0gICAgICAgICAgICAgIHJlZmVycyB0byBhIHNoZWxsIHZhcmlhYmxlLiAgIFJlYWQtb25seSAgdmFyaWFibGVzICBtYXkgIG5vdCAgYmUKLSAgICAgICAgICAgICAgdW5zZXQuICAgSWYgIC0ILWYIZiAgaXMgc3BlY2lmaWVkLCBlYWNoIF8Ibl8IYV8IbV8IZSByZWZlcnMgdG8gYSBzaGVsbCBmdW5jLQotICAgICAgICAgICAgICB0aW9uLCBhbmQgdGhlIGZ1bmN0aW9uIGRlZmluaXRpb24gaXMgcmVtb3ZlZC4gIEVhY2ggdW5zZXQgIHZhcmktCi0gICAgICAgICAgICAgIGFibGUgIG9yIGZ1bmN0aW9uIGlzIHJlbW92ZWQgZnJvbSB0aGUgZW52aXJvbm1lbnQgcGFzc2VkIHRvIHN1Yi0KLSAgICAgICAgICAgICAgc2VxdWVudCBjb21tYW5kcy4gIElmIGFueSBvZiBSCFJBCEFOCE5ECERPCE9NCE0sIFMIU0UIRUMIQ08IT04ITkQIRFMIUywgIEwITEkISU4ITkUIRU4ITk8ITywgIEgISEkISVMIU1QIVEMIQ00ITUQIRCwKLSAgICAgICAgICAgICAgRghGVQhVTghOQwhDTghOQQhBTQhNRQhFLCBHCEdSCFJPCE9VCFVQCFBTCFMsIG9yIEQIREkISVIIUlMIU1QIVEEIQUMIQ0sISyBhcmUgdW5zZXQsIHRoZXkgbG9zZSB0aGVpciBzcGVjaWFsCi0gICAgICAgICAgICAgIHByb3BlcnRpZXMsIGV2ZW4gaWYgdGhleSBhcmUgc3Vic2VxdWVudGx5IHJlc2V0LiAgVGhlIGV4aXQgIHN0YS0KLSAgICAgICAgICAgICAgdHVzIGlzIHRydWUgdW5sZXNzIGEgXwhuXwhhXwhtXwhlIGlzIHJlYWRvbmx5LgorICAgICAgICAgICAgICByZWZlcnMgIHRvICBhICBzaGVsbCAgdmFyaWFibGUuICAgUmVhZC1vbmx5IHZhcmlhYmxlcyBtYXkgbm90IGJlCisgICAgICAgICAgICAgIHVuc2V0LiAgSWYgLQgtZghmIGlzIHNwZWNpZmllZCwgZWFjaCBfCG5fCGFfCG1fCGUgcmVmZXJzIHRvICBhICBzaGVsbCAgZnVuYy0KKyAgICAgICAgICAgICAgdGlvbiwgIGFuZCB0aGUgZnVuY3Rpb24gZGVmaW5pdGlvbiBpcyByZW1vdmVkLiAgRWFjaCB1bnNldCB2YXJpLQorICAgICAgICAgICAgICBhYmxlIG9yIGZ1bmN0aW9uIGlzIHJlbW92ZWQgZnJvbSB0aGUgZW52aXJvbm1lbnQgcGFzc2VkIHRvICBzdWItCisgICAgICAgICAgICAgIHNlcXVlbnQgIGNvbW1hbmRzLiAgIElmIGFueSBvZiBDCENPCE9NCE1QCFBfCF9XCFdPCE9SCFJECERCCEJSCFJFCEVBCEFLCEtTCFMsIFIIUkEIQU4ITkQIRE8IT00ITSwgUwhTRQhFQwhDTwhPTghORAhEUwhTLAorICAgICAgICAgICAgICBMCExJCElOCE5FCEVOCE5PCE8sIEgISEkISVMIU1QIVEMIQ00ITUQIRCwgRghGVQhVTghOQwhDTghOQQhBTQhNRQhFLCBHCEdSCFJPCE9VCFVQCFBTCFMsIG9yIEQIREkISVIIUlMIU1QIVEEIQUMIQ0sISyBhcmUgIHVuc2V0LCAgdGhleQorICAgICAgICAgICAgICBsb3NlICB0aGVpciAgc3BlY2lhbCAgcHJvcGVydGllcywgIGV2ZW4gaWYgdGhleSBhcmUgc3Vic2VxdWVudGx5CisgICAgICAgICAgICAgIHJlc2V0LiAgVGhlIGV4aXQgc3RhdHVzIGlzIHRydWUgdW5sZXNzIGEgXwhuXwhhXwhtXwhlIGlzIHJlYWRvbmx5LgogCiAgICAgICAgdwh3YQhhaQhpdAh0IFtfCG4gXwguXwguXwguXQotICAgICAgICAgICAgICBXYWl0ICBmb3IgZWFjaCBzcGVjaWZpZWQgcHJvY2VzcyBhbmQgcmV0dXJuIGl0cyB0ZXJtaW5hdGlvbiBzdGEtCi0gICAgICAgICAgICAgIHR1cy4gIEVhY2ggXwhuIG1heSBiZSBhIHByb2Nlc3MgSUQgb3IgYSBqb2IgIHNwZWNpZmljYXRpb247ICBpZiAgYQotICAgICAgICAgICAgICBqb2IgIHNwZWMgIGlzICBnaXZlbiwgIGFsbCAgcHJvY2Vzc2VzIGluIHRoYXQgam9iJ3MgcGlwZWxpbmUgYXJlCi0gICAgICAgICAgICAgIHdhaXRlZCBmb3IuICBJZiBfCG4gaXMgbm90IGdpdmVuLCBhbGwgY3VycmVudGx5IGFjdGl2ZSBjaGlsZCAgcHJvLQotICAgICAgICAgICAgICBjZXNzZXMgIGFyZSAgd2FpdGVkICBmb3IsICBhbmQgIHRoZSByZXR1cm4gc3RhdHVzIGlzIHplcm8uICBJZiBfCG4KLSAgICAgICAgICAgICAgc3BlY2lmaWVzIGEgbm9uLWV4aXN0ZW50IHByb2Nlc3Mgb3Igam9iLCB0aGUgIHJldHVybiAgc3RhdHVzICBpcwotICAgICAgICAgICAgICAxMjcuICAgT3RoZXJ3aXNlLCAgdGhlICByZXR1cm4gIHN0YXR1cyBpcyB0aGUgZXhpdCBzdGF0dXMgb2YgdGhlCisgICAgICAgICAgICAgIFdhaXQgZm9yIGVhY2ggc3BlY2lmaWVkIHByb2Nlc3MgYW5kIHJldHVybiBpdHMgdGVybWluYXRpb24gIHN0YS0KKyAgICAgICAgICAgICAgdHVzLiAgIEVhY2ggIF8IbiAgbWF5IGJlIGEgcHJvY2VzcyBJRCBvciBhIGpvYiBzcGVjaWZpY2F0aW9uOyBpZiBhCisgICAgICAgICAgICAgIGpvYiBzcGVjIGlzIGdpdmVuLCBhbGwgcHJvY2Vzc2VzICBpbiAgdGhhdCAgam9iJ3MgIHBpcGVsaW5lICBhcmUKKyAgICAgICAgICAgICAgd2FpdGVkICBmb3IuICBJZiBfCG4gaXMgbm90IGdpdmVuLCBhbGwgY3VycmVudGx5IGFjdGl2ZSBjaGlsZCBwcm8tCisgICAgICAgICAgICAgIGNlc3NlcyBhcmUgd2FpdGVkIGZvciwgYW5kIHRoZSByZXR1cm4gIHN0YXR1cyAgaXMgIHplcm8uICAgSWYgIF8IbgorICAgICAgICAgICAgICBzcGVjaWZpZXMgIGEgIG5vbi1leGlzdGVudCAgcHJvY2VzcyBvciBqb2IsIHRoZSByZXR1cm4gc3RhdHVzIGlzCisgICAgICAgICAgICAgIDEyNy4gIE90aGVyd2lzZSwgdGhlIHJldHVybiBzdGF0dXMgaXMgdGhlICBleGl0ICBzdGF0dXMgIG9mICB0aGUKICAgICAgICAgICAgICAgbGFzdCBwcm9jZXNzIG9yIGpvYiB3YWl0ZWQgZm9yLgogCiBSCFJFCEVTCFNUCFRSCFJJCElDCENUCFRFCEVECEQgUwhTSAhIRQhFTAhMTAhMCiAgICAgICAgSWYgYghiYQhhcwhzaAhoIGlzIHN0YXJ0ZWQgd2l0aCB0aGUgbmFtZSByCHJiCGJhCGFzCHNoCGgsIG9yIHRoZSAtCC1yCHIgb3B0aW9uIGlzIHN1cHBsaWVkIGF0Ci0gICAgICAgaW52b2NhdGlvbiwgIHRoZSAgc2hlbGwgYmVjb21lcyByZXN0cmljdGVkLiAgQSByZXN0cmljdGVkIHNoZWxsIGlzIHVzZWQKLSAgICAgICB0byBzZXQgdXAgYW4gZW52aXJvbm1lbnQgbW9yZSBjb250cm9sbGVkIHRoYW4gdGhlIHN0YW5kYXJkICBzaGVsbC4gICBJdAotICAgICAgIGJlaGF2ZXMgIGlkZW50aWNhbGx5ICB0byBiCGJhCGFzCHNoCGggd2l0aCB0aGUgZXhjZXB0aW9uIHRoYXQgdGhlIGZvbGxvd2luZyBhcmUKKyAgICAgICBpbnZvY2F0aW9uLCB0aGUgc2hlbGwgYmVjb21lcyByZXN0cmljdGVkLiAgQSByZXN0cmljdGVkIHNoZWxsICBpcyAgdXNlZAorICAgICAgIHRvICBzZXQgIHVwIGFuIGVudmlyb25tZW50IG1vcmUgY29udHJvbGxlZCB0aGFuIHRoZSBzdGFuZGFyZCBzaGVsbC4gIEl0CisgICAgICAgYmVoYXZlcyBpZGVudGljYWxseSB0byBiCGJhCGFzCHNoCGggd2l0aCB0aGUgZXhjZXB0aW9uIHRoYXQgdGhlICBmb2xsb3dpbmcgIGFyZQogICAgICAgIGRpc2FsbG93ZWQgb3Igbm90IHBlcmZvcm1lZDoKIAogICAgICAgICsIbyAgICAgIGNoYW5naW5nIGRpcmVjdG9yaWVzIHdpdGggYwhjZAhkCkBAIC01MDk5LDE2ICs1MjQwLDE2IEBACiAKICAgICAgICArCG8gICAgICBzcGVjaWZ5aW5nIGNvbW1hbmQgbmFtZXMgY29udGFpbmluZyAvCC8KIAotICAgICAgICsIbyAgICAgIHNwZWNpZnlpbmcgIGEgIGZpbGUgIG5hbWUgY29udGFpbmluZyBhIC8ILyBhcyBhbiBhcmd1bWVudCB0byB0aGUgLgguCisgICAgICAgKwhvICAgICAgc3BlY2lmeWluZyBhIGZpbGUgbmFtZSBjb250YWluaW5nIGEgLwgvIGFzIGFuIGFyZ3VtZW50ICB0byAgdGhlICAuCC4KICAgICAgICAgICAgICAgYnVpbHRpbiBjb21tYW5kCiAKLSAgICAgICArCG8gICAgICBTcGVjaWZ5aW5nIGEgZmlsZW5hbWUgY29udGFpbmluZyBhIHNsYXNoIGFzIGFuIGFyZ3VtZW50ICB0byAgdGhlCisgICAgICAgKwhvICAgICAgU3BlY2lmeWluZyAgYSAgZmlsZW5hbWUgY29udGFpbmluZyBhIHNsYXNoIGFzIGFuIGFyZ3VtZW50IHRvIHRoZQogICAgICAgICAgICAgICAtCC1wCHAgb3B0aW9uIHRvIHRoZSBoCGhhCGFzCHNoCGggYnVpbHRpbiBjb21tYW5kCiAKLSAgICAgICArCG8gICAgICBpbXBvcnRpbmcgIGZ1bmN0aW9uICBkZWZpbml0aW9ucyAgZnJvbSAgdGhlIHNoZWxsIGVudmlyb25tZW50IGF0CisgICAgICAgKwhvICAgICAgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb25zIGZyb20gIHRoZSAgc2hlbGwgIGVudmlyb25tZW50ICBhdAogICAgICAgICAgICAgICBzdGFydHVwCiAKLSAgICAgICArCG8gICAgICBwYXJzaW5nIHRoZSB2YWx1ZSBvZiBTCFNICEhFCEVMCExMCExPCE9QCFBUCFRTCFMgZnJvbSAgdGhlICBzaGVsbCAgZW52aXJvbm1lbnQgIGF0CisgICAgICAgKwhvICAgICAgcGFyc2luZyAgdGhlICB2YWx1ZSAgb2YgIFMIU0gISEUIRUwITEwITE8IT1AIUFQIVFMIUyBmcm9tIHRoZSBzaGVsbCBlbnZpcm9ubWVudCBhdAogICAgICAgICAgICAgICBzdGFydHVwCiAKICAgICAgICArCG8gICAgICByZWRpcmVjdGluZyBvdXRwdXQgdXNpbmcgdGhlID4sID58LCA8PiwgPiYsICY+LCBhbmQgPj4gcmVkaXJlY3QtCkBAIC01MTE3LDEwICs1MjU4LDEwIEBACiAgICAgICAgKwhvICAgICAgdXNpbmcgdGhlIGUIZXgIeGUIZWMIYyBidWlsdGluIGNvbW1hbmQgdG8gcmVwbGFjZSB0aGUgc2hlbGwgd2l0aCBhbm90aGVyCiAgICAgICAgICAgICAgIGNvbW1hbmQKIAotICAgICAgICsIbyAgICAgIGFkZGluZyAgb3IgIGRlbGV0aW5nIGJ1aWx0aW4gY29tbWFuZHMgd2l0aCB0aGUgLQgtZghmIGFuZCAtCC1kCGQgb3B0aW9ucworICAgICAgICsIbyAgICAgIGFkZGluZyBvciBkZWxldGluZyBidWlsdGluIGNvbW1hbmRzIHdpdGggdGhlIC0ILWYIZiBhbmQgIC0ILWQIZCAgb3B0aW9ucwogICAgICAgICAgICAgICB0byB0aGUgZQhlbghuYQhhYghibAhsZQhlIGJ1aWx0aW4gY29tbWFuZAogCi0gICAgICAgKwhvICAgICAgVXNpbmcgdGhlICBlCGVuCG5hCGFiCGJsCGxlCGUgIGJ1aWx0aW4gIGNvbW1hbmQgIHRvICBlbmFibGUgIGRpc2FibGVkICBzaGVsbAorICAgICAgICsIbyAgICAgIFVzaW5nICB0aGUgIGUIZW4IbmEIYWIIYmwIbGUIZSAgYnVpbHRpbiAgY29tbWFuZCAgdG8gIGVuYWJsZSAgZGlzYWJsZWQgc2hlbGwKICAgICAgICAgICAgICAgYnVpbHRpbnMKIAogICAgICAgICsIbyAgICAgIHNwZWNpZnlpbmcgdGhlIC0ILXAIcCBvcHRpb24gdG8gdGhlIGMIY28Ib20IbW0IbWEIYW4IbmQIZCBidWlsdGluIGNvbW1hbmQKQEAgLTUxMzAsMTQgKzUyNzEsMTQgQEAKICAgICAgICBUaGVzZSByZXN0cmljdGlvbnMgYXJlIGVuZm9yY2VkIGFmdGVyIGFueSBzdGFydHVwIGZpbGVzIGFyZSByZWFkLgogCiAgICAgICAgV2hlbiBhIGNvbW1hbmQgdGhhdCBpcyBmb3VuZCB0byBiZSBhIHNoZWxsIHNjcmlwdCBpcyBleGVjdXRlZCAoc2VlIEMIQ08IT00ITS0ILQotICAgICAgIE0ITUEIQU4ITkQIRCBFCEVYCFhFCEVDCENVCFVUCFRJCElPCE9OCE4gYWJvdmUpLCByCHJiCGJhCGFzCHNoCGggdHVybnMgb2ZmIGFueSByZXN0cmljdGlvbnMgIGluICB0aGUgIHNoZWxsCisgICAgICAgTQhNQQhBTghORAhEICBFCEVYCFhFCEVDCENVCFVUCFRJCElPCE9OCE4gIGFib3ZlKSwgIHIIcmIIYmEIYXMIc2gIaCB0dXJucyBvZmYgYW55IHJlc3RyaWN0aW9ucyBpbiB0aGUgc2hlbGwKICAgICAgICBzcGF3bmVkIHRvIGV4ZWN1dGUgdGhlIHNjcmlwdC4KIAogUwhTRQhFRQhFIEEIQUwITFMIU08ITwogICAgICAgIF8IQl8IYV8Ic18IaCBfCFJfCGVfCGZfCGVfCHJfCGVfCG5fCGNfCGUgXwhNXwhhXwhuXwh1XwhhXwhsLCBCcmlhbiBGb3ggYW5kIENoZXQgUmFtZXkKICAgICAgICBfCFRfCGhfCGUgXwhHXwhuXwh1IF8IUl8IZV8IYV8IZF8IbF8IaV8Ibl8IZSBfCExfCGlfCGJfCHJfCGFfCHJfCHksIEJyaWFuIEZveCBhbmQgQ2hldCBSYW1leQogICAgICAgIF8IVF8IaF8IZSBfCEdfCG5fCHUgXwhIXwhpXwhzXwh0XwhvXwhyXwh5IF8ITF8IaV8IYl8Icl8IYV8Icl8IeSwgQnJpYW4gRm94IGFuZCBDaGV0IFJhbWV5Ci0gICAgICAgXwhQXwhvXwhyXwh0XwhhXwhiXwhsXwhlICBfCE9fCHBfCGVfCHJfCGFfCHRfCGlfCG5fCGcgIF8IU18IeV8Ic18IdF8IZV8IbSAgXwhJXwhuXwh0XwhlXwhyXwhmXwhhXwhjXwhlIF8IKF8IUF8IT18IU18ISV8IWF8IKSBfCFBfCGFfCHJfCHQgXwgyXwg6IF8IU18IaF8IZV8IbF8IbCBfCGFfCG5fCGQgXwhVXwh0XwhpXwhsXwhpXwgtCisgICAgICAgXwhQXwhvXwhyXwh0XwhhXwhiXwhsXwhlIF8IT18IcF8IZV8Icl8IYV8IdF8IaV8Ibl8IZyBfCFNfCHlfCHNfCHRfCGVfCG0gXwhJXwhuXwh0XwhlXwhyXwhmXwhhXwhjXwhlIF8IKF8IUF8IT18IU18ISV8IWF8IKSBfCFBfCGFfCHJfCHQgXwgyXwg6ICBfCFNfCGhfCGVfCGxfCGwgIF8IYV8Ibl8IZCAgXwhVXwh0XwhpXwhsXwhpXwgtCiAgICAgICAgXwh0XwhpXwhlXwhzLCBJRUVFCiAgICAgICAgXwhzXwhoKDEpLCBfCGtfCHNfCGgoMSksIF8IY18Ic18IaCgxKQogICAgICAgIF8IZV8IbV8IYV8IY18IcygxKSwgXwh2XwhpKDEpCkBAIC01MTUzLDcgKzUyOTQsNyBAQAogICAgICAgIF8Ifl8IL18ILl8IYl8IYV8Ic18IaF8Icl8IYwogICAgICAgICAgICAgICBUaGUgaW5kaXZpZHVhbCBwZXItaW50ZXJhY3RpdmUtc2hlbGwgc3RhcnR1cCBmaWxlCiAgICAgICAgXwh+XwgvXwguXwhiXwhhXwhzXwhoXwhfXwhsXwhvXwhnXwhvXwh1Xwh0Ci0gICAgICAgICAgICAgIFRoZSAgaW5kaXZpZHVhbCAgbG9naW4gc2hlbGwgY2xlYW51cCBmaWxlLCBleGVjdXRlZCB3aGVuIGEgbG9naW4KKyAgICAgICAgICAgICAgVGhlIGluZGl2aWR1YWwgbG9naW4gc2hlbGwgY2xlYW51cCBmaWxlLCBleGVjdXRlZCB3aGVuICBhICBsb2dpbgogICAgICAgICAgICAgICBzaGVsbCBleGl0cwogICAgICAgIF8Ifl8IL18ILl8IaV8Ibl8IcF8IdV8IdF8Icl8IYwogICAgICAgICAgICAgICBJbmRpdmlkdWFsIF8Icl8IZV8IYV8IZF8IbF8IaV8Ibl8IZSBpbml0aWFsaXphdGlvbiBmaWxlCkBAIC01MTYzLDE4ICs1MzA0LDE4IEBACiAgICAgICAgYmZveEBnbnUub3JnCiAKICAgICAgICBDaGV0IFJhbWV5LCBDYXNlIFdlc3Rlcm4gUmVzZXJ2ZSBVbml2ZXJzaXR5Ci0gICAgICAgY2hldEBwby5jd3J1LmVkdQorICAgICAgIGNoZXQucmFtZXlAY2FzZS5lZHUKIAogQghCVQhVRwhHIFIIUkUIRVAIUE8IT1IIUlQIVFMIUwogICAgICAgIElmIHlvdSBmaW5kIGEgYnVnIGluIGIIYmEIYXMIc2gIaCwILCB5b3Ugc2hvdWxkIHJlcG9ydCBpdC4gIEJ1dCBmaXJzdCwgeW91IHNob3VsZAotICAgICAgIG1ha2UgIHN1cmUgIHRoYXQgIGl0IHJlYWxseSBpcyBhIGJ1ZywgYW5kIHRoYXQgaXQgYXBwZWFycyBpbiB0aGUgbGF0ZXN0Ci0gICAgICAgdmVyc2lvbiAgb2YgIGIIYmEIYXMIc2gIaC4gICBUaGUgIGxhdGVzdCAgdmVyc2lvbiAgaXMgIGFsd2F5cyAgYXZhaWxhYmxlICAgZnJvbQorICAgICAgIG1ha2Ugc3VyZSB0aGF0IGl0IHJlYWxseSBpcyBhIGJ1ZywgYW5kIHRoYXQgaXQgYXBwZWFycyAgaW4gIHRoZSAgbGF0ZXN0CisgICAgICAgdmVyc2lvbiAgIG9mICBiCGJhCGFzCHNoCGguICAgVGhlICBsYXRlc3QgIHZlcnNpb24gIGlzICBhbHdheXMgIGF2YWlsYWJsZSAgZnJvbQogICAgICAgIF8IZl8IdF8IcF8IOl8IL18IL18IZl8IdF8IcF8ILl8IZ18Ibl8IdV8ILl8Ib18Icl8IZ18IL18IcF8IdV8IYl8IL18IYl8IYV8Ic18IaF8ILy4KIAotICAgICAgIE9uY2UgIHlvdSAgaGF2ZSAgZGV0ZXJtaW5lZCB0aGF0IGEgYnVnIGFjdHVhbGx5IGV4aXN0cywgdXNlIHRoZSBfCGJfCGFfCHNfCGhfCGJfCHVfCGcKLSAgICAgICBjb21tYW5kIHRvIHN1Ym1pdCBhIGJ1ZyByZXBvcnQuICBJZiB5b3UgaGF2ZSBhIGZpeCwgeW91IGFyZSAgZW5jb3VyYWdlZAotICAgICAgIHRvICBtYWlsIHRoYXQgYXMgd2VsbCEgIFN1Z2dlc3Rpb25zIGFuZCBgcGhpbG9zb3BoaWNhbCcgYnVnIHJlcG9ydHMgbWF5Ci0gICAgICAgYmUgbWFpbGVkICB0byAgXwhiXwh1XwhnXwgtXwhiXwhhXwhzXwhoXwhAXwhnXwhuXwh1XwguXwhvXwhyXwhnICBvciAgcG9zdGVkICB0byAgdGhlICBVc2VuZXQgIG5ld3Nncm91cAorICAgICAgIE9uY2UgeW91IGhhdmUgZGV0ZXJtaW5lZCB0aGF0IGEgYnVnIGFjdHVhbGx5IGV4aXN0cywgIHVzZSAgdGhlICBfCGJfCGFfCHNfCGhfCGJfCHVfCGcKKyAgICAgICBjb21tYW5kICB0byBzdWJtaXQgYSBidWcgcmVwb3J0LiAgSWYgeW91IGhhdmUgYSBmaXgsIHlvdSBhcmUgZW5jb3VyYWdlZAorICAgICAgIHRvIG1haWwgdGhhdCBhcyB3ZWxsISAgU3VnZ2VzdGlvbnMgYW5kIGBwaGlsb3NvcGhpY2FsJyBidWcgcmVwb3J0cyAgbWF5CisgICAgICAgYmUgIG1haWxlZCAgdG8gIF8IYl8IdV8IZ18ILV8IYl8IYV8Ic18IaF8IQF8IZ18Ibl8IdV8ILl8Ib18Icl8IZyAgb3IgIHBvc3RlZCAgdG8gIHRoZSAgVXNlbmV0IG5ld3Nncm91cAogICAgICAgIGcIZ24IbnUIdS4ILmIIYmEIYXMIc2gIaC4ILmIIYnUIdWcIZy4KIAogICAgICAgIEFMTCBidWcgcmVwb3J0cyBzaG91bGQgaW5jbHVkZToKQEAgLTUxODUsNyArNTMyNiw3IEBACiAgICAgICAgQSBkZXNjcmlwdGlvbiBvZiB0aGUgYnVnIGJlaGF2aW91cgogICAgICAgIEEgc2hvcnQgc2NyaXB0IG9yIGByZWNpcGUnIHdoaWNoIGV4ZXJjaXNlcyB0aGUgYnVnCiAKLSAgICAgICBfCGJfCGFfCHNfCGhfCGJfCHVfCGcgIGluc2VydHMgIHRoZSBmaXJzdCB0aHJlZSBpdGVtcyBhdXRvbWF0aWNhbGx5IGludG8gdGhlIHRlbXBsYXRlCisgICAgICAgXwhiXwhhXwhzXwhoXwhiXwh1XwhnIGluc2VydHMgdGhlIGZpcnN0IHRocmVlIGl0ZW1zIGF1dG9tYXRpY2FsbHkgaW50byAgdGhlICB0ZW1wbGF0ZQogICAgICAgIGl0IHByb3ZpZGVzIGZvciBmaWxpbmcgYSBidWcgcmVwb3J0LgogCiAgICAgICAgQ29tbWVudHMgYW5kIGJ1ZyByZXBvcnRzIGNvbmNlcm5pbmcgdGhpcyBtYW51YWwgcGFnZSBzaG91bGQgYmUgZGlyZWN0ZWQKQEAgLTUyMDIsMTAgKzUzNDMsMTAgQEAKICAgICAgICBTaGVsbCBidWlsdGluIGNvbW1hbmRzIGFuZCBmdW5jdGlvbnMgYXJlIG5vdCBzdG9wcGFibGUvcmVzdGFydGFibGUuCiAKICAgICAgICBDb21wb3VuZCBjb21tYW5kcyBhbmQgY29tbWFuZCBzZXF1ZW5jZXMgb2YgdGhlIGZvcm0gYGEgOyBiIDsgYycgYXJlIG5vdAotICAgICAgIGhhbmRsZWQgIGdyYWNlZnVsbHkgIHdoZW4gIHByb2Nlc3MgIHN1c3BlbnNpb24gIGlzICBhdHRlbXB0ZWQuICAgV2hlbiBhCi0gICAgICAgcHJvY2VzcyBpcyBzdG9wcGVkLCB0aGUgc2hlbGwgaW1tZWRpYXRlbHkgZXhlY3V0ZXMgdGhlIG5leHQgY29tbWFuZCAgaW4KLSAgICAgICB0aGUgIHNlcXVlbmNlLiAgIEl0ICBzdWZmaWNlcyB0byBwbGFjZSB0aGUgc2VxdWVuY2Ugb2YgY29tbWFuZHMgYmV0d2VlbgotICAgICAgIHBhcmVudGhlc2VzIHRvIGZvcmNlIGl0IGludG8gYSBzdWJzaGVsbCwgd2hpY2ggIG1heSAgYmUgIHN0b3BwZWQgIGFzICBhCisgICAgICAgaGFuZGxlZCBncmFjZWZ1bGx5ICB3aGVuICBwcm9jZXNzICBzdXNwZW5zaW9uICBpcyAgYXR0ZW1wdGVkLiAgIFdoZW4gIGEKKyAgICAgICBwcm9jZXNzICBpcyBzdG9wcGVkLCB0aGUgc2hlbGwgaW1tZWRpYXRlbHkgZXhlY3V0ZXMgdGhlIG5leHQgY29tbWFuZCBpbgorICAgICAgIHRoZSBzZXF1ZW5jZS4gIEl0IHN1ZmZpY2VzIHRvIHBsYWNlIHRoZSBzZXF1ZW5jZSAgb2YgIGNvbW1hbmRzICBiZXR3ZWVuCisgICAgICAgcGFyZW50aGVzZXMgIHRvICBmb3JjZSAgaXQgIGludG8gIGEgc3Vic2hlbGwsIHdoaWNoIG1heSBiZSBzdG9wcGVkIGFzIGEKICAgICAgICB1bml0LgogCiAgICAgICAgQXJyYXkgdmFyaWFibGVzIG1heSBub3QgKHlldCkgYmUgZXhwb3J0ZWQuCkBAIC01MjE0LDQgKzUzNTUsNCBAQAogCiAKIAotR05VIEJhc2gtNC4wICAgICAgICAgICAgICAgICAgIDIwMDggRGVjZW1iZXIgMjkgICAgICAgICAgICAgICAgICAgICAgICBCQVNIKDEpCitHTlUgQmFzaC00LjEgICAgICAgICAgICAgICAgICAgMjAwOSBEZWNlbWJlciAyOSAgICAgICAgICAgICAgICAgICAgICAgIEJBU0goMSkKZGlmZiAtLWdpdCBhL2RvYy9iYXNoLjEgYi9kb2MvYmFzaC4xCmluZGV4IGYwNjYxNDAuLjE4OTBiM2MgMTAwNjQ0Ci0tLSBhL2RvYy9iYXNoLjEKKysrIGIvZG9jL2Jhc2guMQpAQCAtNSwxMiArNSwxMiBAQAogLlwiCUNhc2UgV2VzdGVybiBSZXNlcnZlIFVuaXZlcnNpdHkKIC5cIgljaGV0QHBvLmN3cnUuZWR1CiAuXCIKLS5cIglMYXN0IENoYW5nZTogU2F0IEZlYiAgNyAyMDo1MDo0MCBFU1QgMjAwOQorLlwiCUxhc3QgQ2hhbmdlOiBUdWUgRGVjIDI5IDE1OjM2OjE2IEVTVCAyMDA5CiAuXCIKIC5cIiBiYXNoX2J1aWx0aW5zLCBzdHJpcCBhbGwgYnV0IEJ1aWx0LUlucyBzZWN0aW9uCiAuaWYgXG4oelo9MSAuaWcgeloKIC5pZiBcbih6WT0xIC5pZyB6WQotLlRIIEJBU0ggMSAiMjAwOSBGZWJydWFyeSA3IiAiR05VIEJhc2gtNC4wIgorLlRIIEJBU0ggMSAiMjAwOSBEZWNlbWJlciAyOSIgIkdOVSBCYXNoLTQuMSIKIC5cIgogLlwiIFRoZXJlJ3Mgc29tZSBwcm9ibGVtIHdpdGggaGF2aW5nIGEgYEAnCiAuXCIgaW4gYSB0YWdnZWQgcGFyYWdyYXBoIHdpdGggdGhlIEJTRCBtYW4gbWFjcm9zLgpAQCAtNDI5LDggKzQyOSwxNSBAQAogcmVhbCB1c2VyIChncm91cCkgaWQsIGFuZCB0aGUgXGZCXC1wXGZQIG9wdGlvbiBpcyBub3Qgc3VwcGxpZWQsIG5vIHN0YXJ0dXAKIGZpbGVzIGFyZSByZWFkLCBzaGVsbCBmdW5jdGlvbnMgYXJlIG5vdCBpbmhlcml0ZWQgZnJvbSB0aGUgZW52aXJvbm1lbnQsIHRoZQogLlNNCi0uQiBTSEVMTE9QVFMKLXZhcmlhYmxlLCBpZiBpdCBhcHBlYXJzIGluIHRoZSBlbnZpcm9ubWVudCwgaXMgaWdub3JlZCwKKy5CUiBTSEVMTE9QVFMgLAorLlNNCisuQlIgQkFTSE9QVFMgLAorLlNNCisuQlIgQ0RQQVRIICwKK2FuZAorLlNNCisuQiBHTE9CSUdOT1JFCit2YXJpYWJsZXMsIGlmIHRoZXkgYXBwZWFyIGluIHRoZSBlbnZpcm9ubWVudCwgYXJlIGlnbm9yZWQsCiBhbmQgdGhlIGVmZmVjdGl2ZSB1c2VyIGlkIGlzIHNldCB0byB0aGUgcmVhbCB1c2VyIGlkLgogSWYgdGhlIFxmQlwtcFxmUCBvcHRpb24gaXMgc3VwcGxpZWQgYXQgaW52b2NhdGlvbiwgdGhlIHN0YXJ0dXAgYmVoYXZpb3IgaXMKIHRoZSBzYW1lLCBidXQgdGhlIGVmZmVjdGl2ZSB1c2VyIGlkIGlzIG5vdCByZXNldC4KQEAgLTY3Nyw2ICs2ODQsMTAgQEAKIGFzIHByaW1hcmllcy4KIC5pZiB0IC5zcCAwLjUKIC5pZiBuIC5zcCAxCitXaGVuIHVzZWQgd2l0aCBcZkJbW1xmUCwgVGhlIFxmQjxcZlAgYW5kIFxmQj5cZlAgb3BlcmF0b3JzIHNvcnQKK2xleGljb2dyYXBoaWNhbGx5IHVzaW5nIHRoZSBjdXJyZW50IGxvY2FsZS4KKy5pZiB0IC5zcCAwLjUKKy5pZiBuIC5zcCAxCiBXaGVuIHRoZSBcZkI9PVxmUCBhbmQgXGZCIT1cZlAgb3BlcmF0b3JzIGFyZSB1c2VkLCB0aGUgc3RyaW5nIHRvIHRoZQogcmlnaHQgb2YgdGhlIG9wZXJhdG9yIGlzIGNvbnNpZGVyZWQgYSBwYXR0ZXJuIGFuZCBtYXRjaGVkIGFjY29yZGluZwogdG8gdGhlIHJ1bGVzIGRlc2NyaWJlZCBiZWxvdyB1bmRlciBcZkJQYXR0ZXJuIE1hdGNoaW5nXGZQLgpAQCAtNzA1LDEwICs3MTYsMTggQEAKIEFueSBwYXJ0IG9mIHRoZSBwYXR0ZXJuIG1heSBiZSBxdW90ZWQgdG8gZm9yY2UgaXQgdG8gYmUgbWF0Y2hlZCBhcyBhCiBzdHJpbmcuCiBTdWJzdHJpbmdzIG1hdGNoZWQgYnkgcGFyZW50aGVzaXplZCBzdWJleHByZXNzaW9ucyB3aXRoaW4gdGhlIHJlZ3VsYXIKLWV4cHJlc3Npb24gYXJlIHNhdmVkIGluIHRoZSBhcnJheSB2YXJpYWJsZSBcZkJCQVNIX1JFTUFUQ0hcZlAuCi1UaGUgZWxlbWVudCBvZiBcZkJCQVNIX1JFTUFUQ0hcZlAgd2l0aCBpbmRleCAwIGlzIHRoZSBwb3J0aW9uIG9mIHRoZSBzdHJpbmcKK2V4cHJlc3Npb24gYXJlIHNhdmVkIGluIHRoZSBhcnJheSB2YXJpYWJsZQorLlNNCisuQlIgQkFTSF9SRU1BVENIIC4KK1RoZSBlbGVtZW50IG9mCisuU00KKy5CIEJBU0hfUkVNQVRDSAord2l0aCBpbmRleCAwIGlzIHRoZSBwb3J0aW9uIG9mIHRoZSBzdHJpbmcKIG1hdGNoaW5nIHRoZSBlbnRpcmUgcmVndWxhciBleHByZXNzaW9uLgotVGhlIGVsZW1lbnQgb2YgXGZCQkFTSF9SRU1BVENIXGZQIHdpdGggaW5kZXggXGZJblxmUCBpcyB0aGUgcG9ydGlvbiBvZiB0aGUKK1RoZSBlbGVtZW50IG9mCisuU00KKy5CIEJBU0hfUkVNQVRDSAord2l0aCBpbmRleCBcZkluXGZQIGlzIHRoZSBwb3J0aW9uIG9mIHRoZQogc3RyaW5nIG1hdGNoaW5nIHRoZSBcZkluXGZQdGggcGFyZW50aGVzaXplZCBzdWJleHByZXNzaW9uLgogLmlmIHQgLnNwIDAuNQogLmlmIG4gLnNwIDEKQEAgLTc1Miw3ICs3NzEsNyBAQAogdGhlIGVudGlyZSBjb25kaXRpb25hbCBleHByZXNzaW9uLgogLlJFCiAuVFAKLVxmQmZvclxmUCBcZkluYW1lXGZQIFsgXGZCaW5cZlAgXGZJd29yZFxmUCBdIDsgXGZCZG9cZlAgXGZJbGlzdFxmUCA7IFxmQmRvbmVcZlAKK1xmQmZvclxmUCBcZkluYW1lXGZQIFsgWyBcZkJpblxmUCBbIFxmSXdvcmQgLi4uXGZQIF0gXSA7IF0gXGZCZG9cZlAgXGZJbGlzdFxmUCA7IFxmQmRvbmVcZlAKIFRoZSBsaXN0IG9mIHdvcmRzIGZvbGxvd2luZyBcZkJpblxmUCBpcyBleHBhbmRlZCwgZ2VuZXJhdGluZyBhIGxpc3QKIG9mIGl0ZW1zLgogVGhlIHZhcmlhYmxlIFxmSW5hbWVcZlAgaXMgc2V0IHRvIGVhY2ggZWxlbWVudCBvZiB0aGlzIGxpc3QKQEAgLTc4Nyw2ICs4MDYsNyBAQAogLlNNCiAuQiBQQVJBTUVURVJTCiBiZWxvdykuICBUaGUKKy5TTQogLkIgUFMzCiBwcm9tcHQgaXMgdGhlbiBkaXNwbGF5ZWQgYW5kIGEgbGluZSByZWFkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0LgogSWYgdGhlIGxpbmUgY29uc2lzdHMgb2YgYSBudW1iZXIgY29ycmVzcG9uZGluZyB0byBvbmUgb2YKQEAgLTc5Nyw2ICs4MTcsNyBAQAogb3RoZXIgdmFsdWUgcmVhZCBjYXVzZXMKIC5JIG5hbWUKIHRvIGJlIHNldCB0byBudWxsLiAgVGhlIGxpbmUgcmVhZCBpcyBzYXZlZCBpbiB0aGUgdmFyaWFibGUKKy5TTQogLkJSIFJFUExZIC4KIFRoZQogLkkgbGlzdApAQCAtMTA0OSw2ICsxMDcwLDggQEAKIGJhY2tzcGFjZQogLlRQCiAuQiBcZWUKKy5UUAorLkIgXGVFCiBhbiBlc2NhcGUgY2hhcmFjdGVyCiAuVFAgICAKIC5CIFxlZgpAQCAtMTA3MSw2ICsxMDk0LDkgQEAKIC5UUAogLkIgXGVcKGFxCiBzaW5nbGUgcXVvdGUKKy5UUAorLkIgXGVcKGRxCitkb3VibGUgcXVvdGUKIC5UUCAgIAogLkIgXGVcZklubm5cZlAKIHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHZhbHVlIGlzIHRoZSBvY3RhbCB2YWx1ZSBcZklubm5cZlAKQEAgLTEwODgsOCArMTExNCw4IEBACiBUaGUgZXhwYW5kZWQgcmVzdWx0IGlzIHNpbmdsZS1xdW90ZWQsIGFzIGlmIHRoZSBkb2xsYXIgc2lnbiBoYWQKIG5vdCBiZWVuIHByZXNlbnQuCiAuUFAKLUEgZG91YmxlLXF1b3RlZCBzdHJpbmcgcHJlY2VkZWQgYnkgYSBkb2xsYXIgc2lnbiAoXGZCJFxmUCkgd2lsbCBjYXVzZQotdGhlIHN0cmluZyB0byBiZSB0cmFuc2xhdGVkIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBsb2NhbGUuCitBIGRvdWJsZS1xdW90ZWQgc3RyaW5nIHByZWNlZGVkIGJ5IGEgZG9sbGFyIHNpZ24gKFxmQiRcZlBcKGRxXGZJc3RyaW5nXGZQXChkcSkKK3dpbGwgY2F1c2UgdGhlIHN0cmluZyB0byBiZSB0cmFuc2xhdGVkIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBsb2NhbGUuCiBJZiB0aGUgY3VycmVudCBsb2NhbGUgaXMgXGZCQ1xmUCBvciBcZkJQT1NJWFxmUCwgdGhlIGRvbGxhciBzaWduCiBpcyBpZ25vcmVkLgogSWYgdGhlIHN0cmluZyBpcyB0cmFuc2xhdGVkIGFuZCByZXBsYWNlZCwgdGhlIHJlcGxhY2VtZW50IGlzCkBAIC0xMzA0LDYgKzEzMzAsMjcgQEAKIEV4cGFuZHMgdG8gdGhlIGZ1bGwgZmlsZSBuYW1lIHVzZWQgdG8gaW52b2tlIHRoaXMgaW5zdGFuY2Ugb2YKIC5CUiBiYXNoIC4KIC5UUAorLkIgQkFTSE9QVFMKK0EgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgZW5hYmxlZCBzaGVsbCBvcHRpb25zLiAgRWFjaCB3b3JkIGluCit0aGUgbGlzdCBpcyBhIHZhbGlkIGFyZ3VtZW50IGZvciB0aGUKKy5CIFwtcworb3B0aW9uIHRvIHRoZQorLkIgc2hvcHQKK2J1aWx0aW4gY29tbWFuZCAoc2VlCisuU00KKy5CICJTSEVMTCBCVUlMVElOIENPTU1BTkRTIgorYmVsb3cpLiAgVGhlIG9wdGlvbnMgYXBwZWFyaW5nIGluCisuU00KKy5CIEJBU0hPUFRTCithcmUgdGhvc2UgcmVwb3J0ZWQgYXMKKy5JIG9uCitieSBcZkJzaG9wdFxmUC4KK0lmIHRoaXMgdmFyaWFibGUgaXMgaW4gdGhlIGVudmlyb25tZW50IHdoZW4KKy5CIGJhc2gKK3N0YXJ0cyB1cCwgZWFjaCBzaGVsbCBvcHRpb24gaW4gdGhlIGxpc3Qgd2lsbCBiZSBlbmFibGVkIGJlZm9yZQorcmVhZGluZyBhbnkgc3RhcnR1cCBmaWxlcy4KK1RoaXMgdmFyaWFibGUgaXMgcmVhZC1vbmx5LgorLlRQCiAuQiBCQVNIUElECiBFeHBhbmRzIHRvIHRoZSBwcm9jZXNzIGlkIG9mIHRoZSBjdXJyZW50IFxmQmJhc2hcZlAgcHJvY2Vzcy4KIFRoaXMgZGlmZmVycyBmcm9tIFxmQiQkXGZQIHVuZGVyIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcywgc3VjaCBhcyBzdWJzaGVsbHMKQEAgLTEzMjIsOSArMTM2OSwxMiBAQAogcGFyYW1ldGVycyB0byB0aGUgY3VycmVudCBzdWJyb3V0aW5lIChzaGVsbCBmdW5jdGlvbiBvciBzY3JpcHQgZXhlY3V0ZWQKIHdpdGggXGZCLlxmUCBvciBcZkJzb3VyY2VcZlApIGlzIGF0IHRoZSB0b3Agb2YgdGhlIHN0YWNrLgogV2hlbiBhIHN1YnJvdXRpbmUgaXMgZXhlY3V0ZWQsIHRoZSBudW1iZXIgb2YgcGFyYW1ldGVycyBwYXNzZWQgaXMgcHVzaGVkIG9udG8KLVxmQkJBU0hfQVJHQ1xmUC4KLVRoZSBzaGVsbCBzZXRzIFxmQkJBU0hfQVJHQ1xmUCBvbmx5IHdoZW4gaW4gZXh0ZW5kZWQgZGVidWdnaW5nIG1vZGUKLShzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZQorLlNNCisuQlIgQkFTSF9BUkdDIC4KK1RoZSBzaGVsbCBzZXRzCisuU00KKy5CIEJBU0hfQVJHQworb25seSB3aGVuIGluIGV4dGVuZGVkIGRlYnVnZ2luZyBtb2RlIChzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZQogLkIgZXh0ZGVidWcKIG9wdGlvbiB0byB0aGUKIC5CIHNob3B0CkBAIC0xMzM1LDggKzEzODUsMTMgQEAKIGV4ZWN1dGlvbiBjYWxsIHN0YWNrLiAgVGhlIGZpbmFsIHBhcmFtZXRlciBvZiB0aGUgbGFzdCBzdWJyb3V0aW5lIGNhbGwKIGlzIGF0IHRoZSB0b3Agb2YgdGhlIHN0YWNrOyB0aGUgZmlyc3QgcGFyYW1ldGVyIG9mIHRoZSBpbml0aWFsIGNhbGwgaXMKIGF0IHRoZSBib3R0b20uICBXaGVuIGEgc3Vicm91dGluZSBpcyBleGVjdXRlZCwgdGhlIHBhcmFtZXRlcnMgc3VwcGxpZWQKLWFyZSBwdXNoZWQgb250byBcZkJCQVNIX0FSR1ZcZlAuCi1UaGUgc2hlbGwgc2V0cyBcZkJCQVNIX0FSR1ZcZlAgb25seSB3aGVuIGluIGV4dGVuZGVkIGRlYnVnZ2luZyBtb2RlCithcmUgcHVzaGVkIG9udG8KKy5TTQorLkJSIEJBU0hfQVJHViAuCitUaGUgc2hlbGwgc2V0cworLlNNCisuQiBCQVNIX0FSR1YKK29ubHkgd2hlbiBpbiBleHRlbmRlZCBkZWJ1Z2dpbmcgbW9kZQogKHNlZSB0aGUgZGVzY3JpcHRpb24gb2YgdGhlCiAuQiBleHRkZWJ1Zwogb3B0aW9uIHRvIHRoZQpAQCAtMTM1OSwxMyArMTQxNCwxOCBAQAogLlRQCiAuQiBCQVNIX0xJTkVOTwogQW4gYXJyYXkgdmFyaWFibGUgd2hvc2UgbWVtYmVycyBhcmUgdGhlIGxpbmUgbnVtYmVycyBpbiBzb3VyY2UgZmlsZXMKLWNvcnJlc3BvbmRpbmcgdG8gZWFjaCBtZW1iZXIgb2YgXGZCRlVOQ05BTUVcZlAuCitjb3JyZXNwb25kaW5nIHRvIGVhY2ggbWVtYmVyIG9mCisuU00KKy5CUiBGVU5DTkFNRSAuCiBcZkIke0JBU0hfTElORU5PW1xmUFxmSSRpXGZQXGZCXX1cZlAgaXMgdGhlIGxpbmUgbnVtYmVyIGluIHRoZSBzb3VyY2UKIGZpbGUgd2hlcmUgXGZCJHtGVU5DTkFNRVtcZlBcZkkkaVxmUFxmQl19XGZQIHdhcyBjYWxsZWQKIChvciBcZkIke0JBU0hfTElORU5PW1xmUFxmSSRpLTFcZlBcZkJdfVxmUCBpZiByZWZlcmVuY2VkIHdpdGhpbiBhbm90aGVyCiBzaGVsbCBmdW5jdGlvbikuCiBUaGUgY29ycmVzcG9uZGluZyBzb3VyY2UgZmlsZSBuYW1lIGlzIFxmQiR7QkFTSF9TT1VSQ0VbXGZQXGZJJGlcZlBcZkJdfVxmUC4KLVVzZSBcZkJMSU5FTk9cZlAgdG8gb2J0YWluIHRoZSBjdXJyZW50IGxpbmUgbnVtYmVyLgorVXNlCisuU00KKy5CIExJTkVOTwordG8gb2J0YWluIHRoZSBjdXJyZW50IGxpbmUgbnVtYmVyLgogLlRQCiAuQiBCQVNIX1JFTUFUQ0gKIEFuIGFycmF5IHZhcmlhYmxlIHdob3NlIG1lbWJlcnMgYXJlIGFzc2lnbmVkIGJ5IHRoZSBcZkI9flxmUCBiaW5hcnkKQEAgLTEzNzgsNyArMTQzOCwxMCBAQAogLlRQCiAuQiBCQVNIX1NPVVJDRQogQW4gYXJyYXkgdmFyaWFibGUgd2hvc2UgbWVtYmVycyBhcmUgdGhlIHNvdXJjZSBmaWxlbmFtZXMgY29ycmVzcG9uZGluZwotdG8gdGhlIGVsZW1lbnRzIGluIHRoZSBcZkJGVU5DTkFNRVxmUCBhcnJheSB2YXJpYWJsZS4KK3RvIHRoZSBlbGVtZW50cyBpbiB0aGUKKy5TTQorLkIgRlVOQ05BTUUKK2FycmF5IHZhcmlhYmxlLgogLlRQCiAuQiBCQVNIX1NVQlNIRUxMCiBJbmNyZW1lbnRlZCBieSBvbmUgZWFjaCB0aW1lIGEgc3Vic2hlbGwgb3Igc3Vic2hlbGwgZW52aXJvbm1lbnQgaXMgc3Bhd25lZC4KQEAgLTE0MDksNyArMTQ3Miw5IEBACiBUaGUgcmVsZWFzZSBzdGF0dXMgKGUuZy4sIFxmSWJldGExXGZQKS4KIC5UUAogLkIgQkFTSF9WRVJTSU5GT1tcZlI1XGZQXQotVGhlIHZhbHVlIG9mIFxmQk1BQ0hUWVBFXGZQLgorVGhlIHZhbHVlIG9mCisuU00KKy5CUiBNQUNIVFlQRSAuCiAuUEQKIC5SRQogLlRQCkBAIC0xNDcyLDcgKzE1MzcsOSBAQAogQW4gYXJyYXkgdmFyaWFibGUgKHNlZSBcZkJBcnJheXNcZlAgYmVsb3cpIGNvbnNpc3Rpbmcgb2YgdGhlIGluZGl2aWR1YWwKIHdvcmRzIGluIHRoZSBjdXJyZW50IGNvbW1hbmQgbGluZS4KIFRoZSBsaW5lIGlzIHNwbGl0IGludG8gd29yZHMgYXMgXGZCcmVhZGxpbmVcZlAgd291bGQgc3BsaXQgaXQsIHVzaW5nCi1cZkJDT01QX1dPUkRCUkVBS1NcZlAgYXMgZGVzY3JpYmVkIGFib3ZlLgorLlNNCisuQiBDT01QX1dPUkRCUkVBS1MKK2FzIGRlc2NyaWJlZCBhYm92ZS4KIFRoaXMgdmFyaWFibGUgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc2hlbGwgZnVuY3Rpb25zIGludm9rZWQgYnkgdGhlCiBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmYWNpbGl0aWVzIChzZWUgXGZCUHJvZ3JhbW1hYmxlIENvbXBsZXRpb25cZlAKIGJlbG93KS4KQEAgLTE3MTEsNiArMTc3OCwyOCBAQAogLmlmIHQgXGYoQ1ciLjp+Oi91c3IiXGZQLgogLmlmIG4gIi46fjovdXNyIi4KIC5UUAorLkIgQkFTSF9YVFJBQ0VGRAorSWYgc2V0IHRvIGFuIGludGVnZXIgY29ycmVzcG9uZGluZyB0byBhIHZhbGlkIGZpbGUgZGVzY3JpcHRvciwgXGZCYmFzaFxmUAord2lsbCB3cml0ZSB0aGUgdHJhY2Ugb3V0cHV0IGdlbmVyYXRlZCB3aGVuCisuaWYgdCBcZihDV3NldCAteFxmUAorLmlmIG4gXGZJc2V0IC14XGZQCitpcyBlbmFibGVkIHRvIHRoYXQgZmlsZSBkZXNjcmlwdG9yLgorVGhlIGZpbGUgZGVzY3JpcHRvciBpcyBjbG9zZWQgd2hlbgorLlNNCisuQiBCQVNIX1hUUkFDRUZECitpcyB1bnNldCBvciBhc3NpZ25lZCBhIG5ldyB2YWx1ZS4KK1Vuc2V0dGluZworLlNNCisuQiBCQVNIX1hUUkFDRUZECitvciBhc3NpZ25pbmcgaXQgdGhlIGVtcHR5IHN0cmluZyBjYXVzZXMgdGhlCit0cmFjZSBvdXRwdXQgdG8gYmUgc2VudCB0byB0aGUgc3RhbmRhcmQgZXJyb3IuCitOb3RlIHRoYXQgc2V0dGluZworLlNNCisuQiBCQVNIX1hUUkFDRUZECit0byAyICh0aGUgc3RhbmRhcmQgZXJyb3IgZmlsZQorZGVzY3JpcHRvcikgYW5kIHRoZW4gdW5zZXR0aW5nIGl0IHdpbGwgcmVzdWx0IGluIHRoZSBzdGFuZGFyZCBlcnJvcgorYmVpbmcgY2xvc2VkLgorLlRQCiAuQiBDT0xVTU5TCiBVc2VkIGJ5IHRoZSBcZkJzZWxlY3RcZlAgYnVpbHRpbiBjb21tYW5kIHRvIGRldGVybWluZSB0aGUgdGVybWluYWwgd2lkdGgKIHdoZW4gcHJpbnRpbmcgc2VsZWN0aW9uIGxpc3RzLiAgQXV0b21hdGljYWxseSBzZXQgdXBvbiByZWNlaXB0IG9mIGEgU0lHV0lOQ0guCkBAIC0xNzc1LDEyICsxODY0LDE3IEBACiBjYXVzZXMgYWxsIHByZXZpb3VzIGxpbmVzIG1hdGNoaW5nIHRoZSBjdXJyZW50IGxpbmUgdG8gYmUgcmVtb3ZlZCBmcm9tCiB0aGUgaGlzdG9yeSBsaXN0IGJlZm9yZSB0aGF0IGxpbmUgaXMgc2F2ZWQuCiBBbnkgdmFsdWUgbm90IGluIHRoZSBhYm92ZSBsaXN0IGlzIGlnbm9yZWQuCi1JZiBcZkJISVNUQ09OVFJPTFxmUCBpcyB1bnNldCwgb3IgZG9lcyBub3QgaW5jbHVkZSBhIHZhbGlkIHZhbHVlLAorSWYKKy5TTQorLkIgSElTVENPTlRST0wKK2lzIHVuc2V0LCBvciBkb2VzIG5vdCBpbmNsdWRlIGEgdmFsaWQgdmFsdWUsCiBhbGwgbGluZXMgcmVhZCBieSB0aGUgc2hlbGwgcGFyc2VyIGFyZSBzYXZlZCBvbiB0aGUgaGlzdG9yeSBsaXN0LAogc3ViamVjdCB0byB0aGUgdmFsdWUgb2YKKy5TTQogLkJSIEhJU1RJR05PUkUgLgogVGhlIHNlY29uZCBhbmQgc3Vic2VxdWVudCBsaW5lcyBvZiBhIG11bHRpLWxpbmUgY29tcG91bmQgY29tbWFuZCBhcmUKIG5vdCB0ZXN0ZWQsIGFuZCBhcmUgYWRkZWQgdG8gdGhlIGhpc3RvcnkgcmVnYXJkbGVzcyBvZiB0aGUgdmFsdWUgb2YKKy5TTQogLkJSIEhJU1RDT05UUk9MIC4KIC5UUAogLkIgSElTVEZJTEUKQEAgLTE4MDQsNiArMTg5OCw3IEBACiBiZWdpbm5pbmcgb2YgdGhlIGxpbmUgYW5kIG11c3QgbWF0Y2ggdGhlIGNvbXBsZXRlIGxpbmUgKG5vIGltcGxpY2l0CiBgXGZCKlxmUCcgaXMgYXBwZW5kZWQpLiAgRWFjaCBwYXR0ZXJuIGlzIHRlc3RlZCBhZ2FpbnN0IHRoZSBsaW5lCiBhZnRlciB0aGUgY2hlY2tzIHNwZWNpZmllZCBieQorLlNNCiAuQiBISVNUQ09OVFJPTAogYXJlIGFwcGxpZWQuCiBJbiBhZGRpdGlvbiB0byB0aGUgbm9ybWFsIHNoZWxsIHBhdHRlcm4gbWF0Y2hpbmcgY2hhcmFjdGVycywgYFxmQiZcZlAnCkBAIC0xODExLDYgKzE5MDYsNyBAQAogYmFja3NsYXNoOyB0aGUgYmFja3NsYXNoIGlzIHJlbW92ZWQgYmVmb3JlIGF0dGVtcHRpbmcgYSBtYXRjaC4KIFRoZSBzZWNvbmQgYW5kIHN1YnNlcXVlbnQgbGluZXMgb2YgYSBtdWx0aS1saW5lIGNvbXBvdW5kIGNvbW1hbmQgYXJlCiBub3QgdGVzdGVkLCBhbmQgYXJlIGFkZGVkIHRvIHRoZSBoaXN0b3J5IHJlZ2FyZGxlc3Mgb2YgdGhlIHZhbHVlIG9mCisuU00KIC5CUiBISVNUSUdOT1JFIC4KIC5UUAogLkIgSElTVFNJWkUKQEAgLTE4NDcsNyArMTk0Myw4IEBACiBJZgogLlNNCiAuQiBIT1NURklMRQotaXMgc2V0LCBidXQgaGFzIG5vIHZhbHVlLCBcZkJiYXNoXGZQIGF0dGVtcHRzIHRvIHJlYWQKK2lzIHNldCwgYnV0IGhhcyBubyB2YWx1ZSwgb3IgZG9lcyBub3QgbmFtZSBhIHJlYWRhYmxlIGZpbGUsCitcZkJiYXNoXGZQIGF0dGVtcHRzIHRvIHJlYWQKIC5GTiAvZXRjL2hvc3RzCiB0byBvYnRhaW4gdGhlIGxpc3Qgb2YgcG9zc2libGUgaG9zdG5hbWUgY29tcGxldGlvbnMuCiBXaGVuCkBAIC0xODk4LDcgKzE5OTUsMTAgQEAKIHNlbGVjdGVkIHdpdGggYSB2YXJpYWJsZSBzdGFydGluZyB3aXRoIFxmQkxDX1xmUC4KIC5UUAogLkIgTENfQUxMCi1UaGlzIHZhcmlhYmxlIG92ZXJyaWRlcyB0aGUgdmFsdWUgb2YgXGZCTEFOR1xmUCBhbmQgYW55IG90aGVyCitUaGlzIHZhcmlhYmxlIG92ZXJyaWRlcyB0aGUgdmFsdWUgb2YKKy5TTQorLkIgTEFORworYW5kIGFueSBvdGhlcgogXGZCTENfXGZQIHZhcmlhYmxlIHNwZWNpZnlpbmcgYSBsb2NhbGUgY2F0ZWdvcnkuCiAuVFAKIC5CIExDX0NPTExBVEUKQEAgLTE5MjEsNyArMjAyMSw5IEBACiAuVFAKIC5CIExJTkVTCiBVc2VkIGJ5IHRoZSBcZkJzZWxlY3RcZlAgYnVpbHRpbiBjb21tYW5kIHRvIGRldGVybWluZSB0aGUgY29sdW1uIGxlbmd0aAotZm9yIHByaW50aW5nIHNlbGVjdGlvbiBsaXN0cy4gIEF1dG9tYXRpY2FsbHkgc2V0IHVwb24gcmVjZWlwdCBvZiBhIFNJR1dJTkNILgorZm9yIHByaW50aW5nIHNlbGVjdGlvbiBsaXN0cy4gIEF1dG9tYXRpY2FsbHkgc2V0IHVwb24gcmVjZWlwdCBvZiBhCisuU00KKy5CUiBTSUdXSU5DSCAuCiAuVFAKIC5CIE1BSUwKIElmIHRoaXMgcGFyYW1ldGVyIGlzIHNldCB0byBhIGZpbGUgbmFtZSBhbmQgdGhlCkBAIC0xOTc3LDggKzIwNzksMTAgQEAKIC5TTQogLkIgQ09NTUFORCBFWEVDVVRJT04KIGJlbG93KS4KLUEgemVyby1sZW5ndGggKG51bGwpIGRpcmVjdG9yeSBuYW1lIGluIHRoZSB2YWx1ZSBvZiBcZkJQQVRIXGZQIGluZGljYXRlcyB0aGUKLWN1cnJlbnQgZGlyZWN0b3J5LgorQSB6ZXJvLWxlbmd0aCAobnVsbCkgZGlyZWN0b3J5IG5hbWUgaW4gdGhlIHZhbHVlIG9mCisuU00KKy5CIFBBVEgKK2luZGljYXRlcyB0aGUgY3VycmVudCBkaXJlY3RvcnkuCiBBIG51bGwgZGlyZWN0b3J5IG5hbWUgbWF5IGFwcGVhciBhcyB0d28gYWRqYWNlbnQgY29sb25zLCBvciBhcyBhbiBpbml0aWFsCiBvciB0cmFpbGluZyBjb2xvbi4KIFRoZSBkZWZhdWx0IHBhdGggaXMgc3lzdGVtLWRlcGVuZGVudCwKQEAgLTIwMDQsNyArMjEwOCw3IEBACiAuVFAKIC5CIFBST01QVF9ESVJUUklNCiBJZiBzZXQgdG8gYSBudW1iZXIgZ3JlYXRlciB0aGFuIHplcm8sIHRoZSB2YWx1ZSBpcyB1c2VkIGFzIHRoZSBudW1iZXIgb2YKLXRyYWlsaW5nIGRpcmVjdG9yeSBjb21wb25lbnRzIHRvIHJldGFpbiB3aGVuIGV4cGFuZGluZyB0aGUgXGZCXGV3XGZCIGFuZAordHJhaWxpbmcgZGlyZWN0b3J5IGNvbXBvbmVudHMgdG8gcmV0YWluIHdoZW4gZXhwYW5kaW5nIHRoZSBcZkJcZXdcZlAgYW5kCiBcZkJcZVdcZlAgcHJvbXB0IHN0cmluZyBlc2NhcGVzIChzZWUKIC5TTQogLkIgUFJPTVBUSU5HCkBAIC0yMDE5LDYgKzIxMjMsNyBAQAogLlRQCiAuQiBQUzIKIFRoZSB2YWx1ZSBvZiB0aGlzIHBhcmFtZXRlciBpcyBleHBhbmRlZCBhcyB3aXRoCisuU00KIC5CIFBTMQogYW5kIHVzZWQgYXMgdGhlIHNlY29uZGFyeSBwcm9tcHQgc3RyaW5nLiAgVGhlIGRlZmF1bHQgaXMKIGBgXGZCPiBcZlAnJy4KQEAgLTIwMzMsNiArMjEzOCw3IEBACiAuVFAKIC5CIFBTNAogVGhlIHZhbHVlIG9mIHRoaXMgcGFyYW1ldGVyIGlzIGV4cGFuZGVkIGFzIHdpdGgKKy5TTQogLkIgUFMxCiBhbmQgdGhlIHZhbHVlIGlzIHByaW50ZWQgYmVmb3JlIGVhY2ggY29tbWFuZAogLkIgYmFzaApAQCAtMjA5NiwxMCArMjIwMiwxNiBAQAogQSB0cmFpbGluZyBuZXdsaW5lIGlzIGFkZGVkIHdoZW4gdGhlIGZvcm1hdCBzdHJpbmcgaXMgZGlzcGxheWVkLgogLlRQCiAuQiBUTU9VVAotSWYgc2V0IHRvIGEgdmFsdWUgZ3JlYXRlciB0aGFuIHplcm8sIFxmQlRNT1VUXGZQIGlzIHRyZWF0ZWQgYXMgdGhlCitJZiBzZXQgdG8gYSB2YWx1ZSBncmVhdGVyIHRoYW4gemVybywKKy5TTQorLkIgVE1PVVQKK2lzIHRyZWF0ZWQgYXMgdGhlCiBkZWZhdWx0IHRpbWVvdXQgZm9yIHRoZSBcZkJyZWFkXGZQIGJ1aWx0aW4uCiBUaGUgXGZCc2VsZWN0XGZQIGNvbW1hbmQgdGVybWluYXRlcyBpZiBpbnB1dCBkb2VzIG5vdCBhcnJpdmUKLWFmdGVyIFxmQlRNT1VUXGZQIHNlY29uZHMgd2hlbiBpbnB1dCBpcyBjb21pbmcgZnJvbSBhIHRlcm1pbmFsLgorYWZ0ZXIKKy5TTQorLkIgVE1PVVQKK3NlY29uZHMgd2hlbiBpbnB1dCBpcyBjb21pbmcgZnJvbSBhIHRlcm1pbmFsLgogSW4gYW4gaW50ZXJhY3RpdmUgc2hlbGwsIHRoZSB2YWx1ZSBpcyBpbnRlcnByZXRlZCBhcyB0aGUKIG51bWJlciBvZiBzZWNvbmRzIHRvIHdhaXQgZm9yIGlucHV0IGFmdGVyIGlzc3VpbmcgdGhlIHByaW1hcnkgcHJvbXB0LgogLkIgQmFzaApAQCAtMjIzNiwxMiArMjM0OCwxNSBAQAogUmVmZXJlbmNpbmcgYW4gYXJyYXkgdmFyaWFibGUgd2l0aG91dCBhIHN1YnNjcmlwdCBpcyBlcXVpdmFsZW50IHRvCiByZWZlcmVuY2luZyB0aGUgYXJyYXkgd2l0aCBhIHN1YnNjcmlwdCBvZiAwLgogLlBQCitBbiBhcnJheSB2YXJpYWJsZSBpcyBjb25zaWRlcmVkIHNldCBpZiBhIHN1YnNjcmlwdCBoYXMgYmVlbiBhc3NpZ25lZCBhCit2YWx1ZS4gIFRoZSBudWxsIHN0cmluZyBpcyBhIHZhbGlkIHZhbHVlLgorLlBQCiBUaGUKIC5CIHVuc2V0CiBidWlsdGluIGlzIHVzZWQgdG8gZGVzdHJveSBhcnJheXMuICBcZkJ1bnNldFxmUCBcZkluYW1lXGZQW1xmSXN1YnNjcmlwdFxmUF0KIGRlc3Ryb3lzIHRoZSBhcnJheSBlbGVtZW50IGF0IGluZGV4IFxmSXN1YnNjcmlwdFxmUC4KLUNhcmUgbXVzdCBiZSB0YWtlbiB0byBhdm9pZCB1bndhbnRlZCBzaWRlIGVmZmVjdHMgY2F1c2VkIGJ5IGZpbGVuYW1lCi1nZW5lcmF0aW9uLgorQ2FyZSBtdXN0IGJlIHRha2VuIHRvIGF2b2lkIHVud2FudGVkIHNpZGUgZWZmZWN0cyBjYXVzZWQgYnkgcGF0aG5hbWUKK2V4cGFuc2lvbi4KIFxmQnVuc2V0XGZQIFxmSW5hbWVcZlAsIHdoZXJlIFxmSW5hbWVcZlAgaXMgYW4gYXJyYXksIG9yCiBcZkJ1bnNldFxmUCBcZkluYW1lXGZQW1xmSXN1YnNjcmlwdFxmUF0sIHdoZXJlCiBcZklzdWJzY3JpcHRcZlAgaXMgXGZCKlxmUCBvciBcZkJAXGZQLCByZW1vdmVzIHRoZSBlbnRpcmUgYXJyYXkuCkBAIC0yNDczLDcgKzI1ODgsNyBAQAogaW50ZXJwcmV0ZWQgYXMgcGFydCBvZiBpdHMgbmFtZS4KIC5QRAogLlBQCi1JZiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIFxmSXBhcmFtZXRlclxmUCBpcyBhbiBleGNsYW1hdGlvbiBwb2ludCwKK0lmIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgXGZJcGFyYW1ldGVyXGZQIGlzIGFuIGV4Y2xhbWF0aW9uIHBvaW50IChcZkIhXGZQKSwKIGEgbGV2ZWwgb2YgdmFyaWFibGUgaW5kaXJlY3Rpb24gaXMgaW50cm9kdWNlZC4KIFxmQkJhc2hcZlAgdXNlcyB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGZvcm1lZCBmcm9tIHRoZSByZXN0IG9mCiBcZklwYXJhbWV0ZXJcZlAgYXMgdGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlOyB0aGlzIHZhcmlhYmxlIGlzIHRoZW4KQEAgLTMwMjEsNyArMzEzNiw3IEBACiAuQiAqCiBNYXRjaGVzIGFueSBzdHJpbmcsIGluY2x1ZGluZyB0aGUgbnVsbCBzdHJpbmcuCiBXaGVuIHRoZSBcZkJnbG9ic3RhclxmUCBzaGVsbCBvcHRpb24gaXMgZW5hYmxlZCwgYW5kIFxmQipcZlAgaXMgdXNlZCBpbgotYSBmaWxlbmFtZSBleHBhbnNpb24gY29udGV4dCwgdHdvIGFkamFjZW50IFxmQipcZlBzIHVzZWQgYXMgYSBzaW5nbGUKK2EgcGF0aG5hbWUgZXhwYW5zaW9uIGNvbnRleHQsIHR3byBhZGphY2VudCBcZkIqXGZQcyB1c2VkIGFzIGEgc2luZ2xlCiBwYXR0ZXJuIHdpbGwgbWF0Y2ggYWxsIGZpbGVzIGFuZCB6ZXJvIG9yIG1vcmUgZGlyZWN0b3JpZXMgYW5kCiBzdWJkaXJlY3Rvcmllcy4KIElmIGZvbGxvd2VkIGJ5IGEgXGZCL1xmUCwgdHdvIGFkamFjZW50IFxmQipcZlBzIHdpbGwgbWF0Y2ggb25seSBkaXJlY3RvcmllcwpAQCAtMzA0NCw3ICszMTU5LDEwIEBACiAuQiBeCiB0aGVuIGFueSBjaGFyYWN0ZXIgbm90IGVuY2xvc2VkIGlzIG1hdGNoZWQuCiBUaGUgc29ydGluZyBvcmRlciBvZiBjaGFyYWN0ZXJzIGluIHJhbmdlIGV4cHJlc3Npb25zIGlzIGRldGVybWluZWQgYnkKLXRoZSBjdXJyZW50IGxvY2FsZSBhbmQgdGhlIHZhbHVlIG9mIHRoZSBcZkJMQ19DT0xMQVRFXGZQIHNoZWxsIHZhcmlhYmxlLAordGhlIGN1cnJlbnQgbG9jYWxlIGFuZCB0aGUgdmFsdWUgb2YgdGhlCisuU00KKy5CIExDX0NPTExBVEUKK3NoZWxsIHZhcmlhYmxlLAogaWYgc2V0LgogQSAKIC5CIFwtCkBAIC0zMTQzLDYgKzMyNjEsMTQgQEAKIFJlZGlyZWN0aW9ucyBhcmUgcHJvY2Vzc2VkIGluIHRoZSBvcmRlciB0aGV5IGFwcGVhciwgZnJvbQogbGVmdCB0byByaWdodC4KIC5QUAorRWFjaCByZWRpcmVjdGlvbiB0aGF0IG1heSBiZSBwcmVjZWRlZCBieSBhIGZpbGUgZGVzY3JpcHRvciBudW1iZXIKK21heSBpbnN0ZWFkIGJlIHByZWNlZGVkIGJ5IGEgd29yZCBvZiB0aGUgZm9ybSB7XGZJdmFybmFtZVxmUH0uCitJbiB0aGlzIGNhc2UsIGZvciBlYWNoIHJlZGlyZWN0aW9uIG9wZXJhdG9yIGV4Y2VwdAorPiYtIGFuZCA8Ji0sIHRoZSBzaGVsbCB3aWxsIGFsbG9jYXRlIGEgZmlsZSBkZXNjcmlwdG9yIGdyZWF0ZXIKK3RoYW4gMTAgYW5kIGFzc2lnbiBpdCB0byBcZkl2YXJuYW1lXGZQLiAgSWYgPiYtIG9yIDwmLSBpcyBwcmVjZWRlZAorYnkge1xmSXZhcm5hbWVcZlB9LCB0aGUgdmFsdWUgb2YgXGZJdmFybmFtZVxmUCBkZWZpbmVzIHRoZSBmaWxlCitkZXNjcmlwdG9yIHRvIGNsb3NlLgorLlBQCiBJbiB0aGUgZm9sbG93aW5nIGRlc2NyaXB0aW9ucywgaWYgdGhlIGZpbGUgZGVzY3JpcHRvciBudW1iZXIgaXMKIG9taXR0ZWQsIGFuZCB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIHRoZSByZWRpcmVjdGlvbiBvcGVyYXRvciBpcwogLkJSIDwgLApAQCAtMzU3OCw5ICszNzA0LDEwIEBACiAuQiBGVU5DTkFNRQogdmFyaWFibGUgaXMgc2V0IHRvIHRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiB3aGlsZSB0aGUgZnVuY3Rpb24KIGlzIGV4ZWN1dGluZy4KKy5QUAogQWxsIG90aGVyIGFzcGVjdHMgb2YgdGhlIHNoZWxsIGV4ZWN1dGlvbgogZW52aXJvbm1lbnQgYXJlIGlkZW50aWNhbCBiZXR3ZWVuIGEgZnVuY3Rpb24gYW5kIGl0cyBjYWxsZXIKLXdpdGggdGhlIGV4Y2VwdGlvbiB0aGF0IHRoZQord2l0aCB0aGVzZSBleGNlcHRpb25zOiAgdGhlCiAuU00KIC5CIERFQlVHCiBhbmQKQEAgLTM1OTcsNyArMzcyNCwxMiBAQAogYnVpbHRpbiBiZWxvdykgb3IgdGhlCiBcZkJcLW8gZnVuY3RyYWNlXGZQIHNoZWxsIG9wdGlvbiBoYXMgYmVlbiBlbmFibGVkIHdpdGgKIHRoZSBcZkJzZXRcZlAgYnVpbHRpbgotKGluIHdoaWNoIGNhc2UgYWxsIGZ1bmN0aW9ucyBpbmhlcml0IHRoZSBcZkJERUJVR1xmUCBhbmQgXGZCUkVUVVJOXGZQIHRyYXBzKS4KKyhpbiB3aGljaCBjYXNlIGFsbCBmdW5jdGlvbnMgaW5oZXJpdCB0aGUgXGZCREVCVUdcZlAgYW5kIFxmQlJFVFVSTlxmUCB0cmFwcyksCithbmQgdGhlCisuU00KKy5CIEVSUgordHJhcCBpcyBub3QgaW5oZXJpdGVkIHVubGVzcyB0aGUgXGZCXC1vIGVycnRyYWNlXGZQIHNoZWxsIG9wdGlvbiBoYXMKK2JlZW4gZW5hYmxlZC4KIC5QUAogVmFyaWFibGVzIGxvY2FsIHRvIHRoZSBmdW5jdGlvbiBtYXkgYmUgZGVjbGFyZWQgd2l0aCB0aGUKIC5CIGxvY2FsCkBAIC0zNzU5LDYgKzM4OTEsMTAgQEAKIC5QUAogVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsIHByaW1hcmllcyB0aGF0IG9wZXJhdGUgb24gZmlsZXMgZm9sbG93IHN5bWJvbGljCiBsaW5rcyBhbmQgb3BlcmF0ZSBvbiB0aGUgdGFyZ2V0IG9mIHRoZSBsaW5rLCByYXRoZXIgdGhhbiB0aGUgbGluayBpdHNlbGYuCisuaWYgdCAuc3AgMC41CisuaWYgbiAuc3AgMQorV2hlbiB1c2VkIHdpdGggXGZCW1tcZlAsIFRoZSBcZkI8XGZQIGFuZCBcZkI+XGZQIG9wZXJhdG9ycyBzb3J0CitsZXhpY29ncmFwaGljYWxseSB1c2luZyB0aGUgY3VycmVudCBsb2NhbGUuCiAuc3AgMQogLlBEIDAKIC5UUApAQCAtMzg2MiwxOSArMzk5OCwyMSBAQAogaXMgbm9uLXplcm8uCiAuVFAKIFxmSXN0cmluZzFcZlAgXGZCPT1cZlAgXGZJc3RyaW5nMlxmUAotVHJ1ZSBpZiB0aGUgc3RyaW5ncyBhcmUgZXF1YWwuICBcZkI9XGZQIG1heSBiZSB1c2VkIGluIHBsYWNlIG9mCi1cZkI9PVxmUCBmb3Igc3RyaWN0IFBPU0lYIGNvbXBsaWFuY2UuCisuUEQgMAorLlRQCitcZklzdHJpbmcxXGZQIFxmQj1cZlAgXGZJc3RyaW5nMlxmUAorLlBECitUcnVlIGlmIHRoZSBzdHJpbmdzIGFyZSBlcXVhbC4gIFxmQj1cZlAgc2hvdWxkIGJlIHVzZWQKK3dpdGggdGhlIFxmQnRlc3RcZlAgY29tbWFuZCBmb3IgUE9TSVggY29uZm9ybWFuY2UuCiAuVFAKIFxmSXN0cmluZzFcZlAgXGZCIT1cZlAgXGZJc3RyaW5nMlxmUAogVHJ1ZSBpZiB0aGUgc3RyaW5ncyBhcmUgbm90IGVxdWFsLgogLlRQCiBcZklzdHJpbmcxXGZQIFxmQjxcZlAgXGZJc3RyaW5nMlxmUAotVHJ1ZSBpZiBcZklzdHJpbmcxXGZQIHNvcnRzIGJlZm9yZSBcZklzdHJpbmcyXGZQIGxleGljb2dyYXBoaWNhbGx5Ci1pbiB0aGUgY3VycmVudCBsb2NhbGUuCitUcnVlIGlmIFxmSXN0cmluZzFcZlAgc29ydHMgYmVmb3JlIFxmSXN0cmluZzJcZlAgbGV4aWNvZ3JhcGhpY2FsbHkuCiAuVFAKIFxmSXN0cmluZzFcZlAgXGZCPlxmUCBcZklzdHJpbmcyXGZQCi1UcnVlIGlmIFxmSXN0cmluZzFcZlAgc29ydHMgYWZ0ZXIgXGZJc3RyaW5nMlxmUCBsZXhpY29ncmFwaGljYWxseQotaW4gdGhlIGN1cnJlbnQgbG9jYWxlLgorVHJ1ZSBpZiBcZklzdHJpbmcxXGZQIHNvcnRzIGFmdGVyIFxmSXN0cmluZzJcZlAgbGV4aWNvZ3JhcGhpY2FsbHkuCiAuVFAKIC5JIFxmSWFyZzFcZlAgXGZCT1BcZlAgXGZJYXJnMlxmUAogLlNNCkBAIC00MDA1LDcgKzQxNDMsNyBAQAogLlNIIENPTU1BTkQgRVhFQ1VUSU9OIEVOVklST05NRU5UCiBUaGUgc2hlbGwgaGFzIGFuIFxmSWV4ZWN1dGlvbiBlbnZpcm9ubWVudFxmUCwgd2hpY2ggY29uc2lzdHMgb2YgdGhlCiBmb2xsb3dpbmc6Ci0uc3AgMQorLmlmIG4gLnNwIDEKIC5JUCBcKGJ1CiBvcGVuIGZpbGVzIGluaGVyaXRlZCBieSB0aGUgc2hlbGwgYXQgaW52b2NhdGlvbiwgYXMgbW9kaWZpZWQgYnkKIHJlZGlyZWN0aW9ucyBzdXBwbGllZCB0byB0aGUgXGZCZXhlY1xmUCBidWlsdGluCkBAIC00MDMyLDE0ICs0MTcwLDE2IEBACiBzaGVsbCBhbGlhc2VzIGRlZmluZWQgd2l0aCBcZkJhbGlhc1xmUAogLklQIFwoYnUKIHZhcmlvdXMgcHJvY2VzcyBJRHMsIGluY2x1ZGluZyB0aG9zZSBvZiBiYWNrZ3JvdW5kIGpvYnMsIHRoZSB2YWx1ZQotb2YgXGZCJCRcZlAsIGFuZCB0aGUgdmFsdWUgb2YgXGZCJFBQSURcZlAKK29mIFxmQiQkXGZQLCBhbmQgdGhlIHZhbHVlIG9mCisuU00KKy5CIFBQSUQKIC5QUAogV2hlbiBhIHNpbXBsZSBjb21tYW5kIG90aGVyIHRoYW4gYSBidWlsdGluIG9yIHNoZWxsIGZ1bmN0aW9uCiBpcyB0byBiZSBleGVjdXRlZCwgaXQKIGlzIGludm9rZWQgaW4gYSBzZXBhcmF0ZSBleGVjdXRpb24gZW52aXJvbm1lbnQgdGhhdCBjb25zaXN0cyBvZgogdGhlIGZvbGxvd2luZy4gIFVubGVzcyBvdGhlcndpc2Ugbm90ZWQsIHRoZSB2YWx1ZXMgYXJlIGluaGVyaXRlZAogZnJvbSB0aGUgc2hlbGwuCi0uc3AgMQorLmlmIG4gLnNwIDEKIC5JUCBcKGJ1CiB0aGUgc2hlbGwncyBvcGVuIGZpbGVzLCBwbHVzIGFueSBtb2RpZmljYXRpb25zIGFuZCBhZGRpdGlvbnMgc3BlY2lmaWVkCiBieSByZWRpcmVjdGlvbnMgdG8gdGhlIGNvbW1hbmQKQEAgLTQyNTUsNyArNDM5NSw3IEBACiB0aGUgZXhlY3V0aW9uIG9mIHByb2Nlc3NlcyBhbmQgY29udGludWUgKFxmSXJlc3VtZVxmUCkKIHRoZWlyIGV4ZWN1dGlvbiBhdCBhIGxhdGVyIHBvaW50LiAgQSB1c2VyIHR5cGljYWxseSBlbXBsb3lzCiB0aGlzIGZhY2lsaXR5IHZpYSBhbiBpbnRlcmFjdGl2ZSBpbnRlcmZhY2Ugc3VwcGxpZWQgam9pbnRseQotYnkgdGhlIHN5c3RlbSdzIHRlcm1pbmFsIGRyaXZlciBhbmQKK2J5IHRoZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCdzIHRlcm1pbmFsIGRyaXZlciBhbmQKIC5CUiBiYXNoIC4KIC5QUAogVGhlIHNoZWxsIGFzc29jaWF0ZXMgYQpAQCAtNDI5MywxMiArNDQzMywxNSBAQAogLkkgQmFja2dyb3VuZAogcHJvY2Vzc2VzIGFyZSB0aG9zZSB3aG9zZSBwcm9jZXNzIGdyb3VwIElEIGRpZmZlcnMgZnJvbSB0aGUgdGVybWluYWwnczsKIHN1Y2ggcHJvY2Vzc2VzIGFyZSBpbW11bmUgdG8ga2V5Ym9hcmQtZ2VuZXJhdGVkIHNpZ25hbHMuCi1Pbmx5IGZvcmVncm91bmQgcHJvY2Vzc2VzIGFyZSBhbGxvd2VkIHRvIHJlYWQgZnJvbSBvciB3cml0ZSB0byB0aGUKLXRlcm1pbmFsLiAgQmFja2dyb3VuZCBwcm9jZXNzZXMgd2hpY2ggYXR0ZW1wdCB0byByZWFkIGZyb20gKHdyaXRlIHRvKSB0aGUKK09ubHkgZm9yZWdyb3VuZCBwcm9jZXNzZXMgYXJlIGFsbG93ZWQgdG8gcmVhZCBmcm9tIG9yLCBpZiB0aGUKK3VzZXIgc28gc3BlY2lmaWVzIHdpdGggXGYoQ1dzdHR5IHRvc3RvcFxmUCwgd3JpdGUgdG8gdGhlCit0ZXJtaW5hbC4KK0JhY2tncm91bmQgcHJvY2Vzc2VzIHdoaWNoIGF0dGVtcHQgdG8gcmVhZCBmcm9tICh3cml0ZSB0byB3aGVuCitcZihDV3N0dHkgdG9zdG9wXGZQIGlzIGluIGVmZmVjdCkgdGhlCiB0ZXJtaW5hbCBhcmUgc2VudCBhIAogLlNNCiAuQiBTSUdUVElOIChTSUdUVE9VKQotc2lnbmFsIGJ5IHRoZSB0ZXJtaW5hbCBkcml2ZXIsIAorc2lnbmFsIGJ5IHRoZSBrZXJuZWwncyB0ZXJtaW5hbCBkcml2ZXIsIAogd2hpY2gsIHVubGVzcyBjYXVnaHQsIHN1c3BlbmRzIHRoZSBwcm9jZXNzLgogLlBQCiBJZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSBvbiB3aGljaApAQCAtNDQ5MywxMSArNDYzNiwxOSBAQAogdGhlIHJlbGVhc2Ugb2YgXGZCYmFzaFxmUCwgdmVyc2lvbiArIHBhdGNoIGxldmVsIChlLmcuLCAyLjAwLjApCiAuVFAKIC5CIFxldwotdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnksIHdpdGggXGZCJEhPTUVcZlAgYWJicmV2aWF0ZWQgd2l0aCBhIHRpbGRlCi0odXNlcyB0aGUgXGZCJFBST01QVF9ESVJUUklNXGZQIHZhcmlhYmxlKQordGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnksIHdpdGgKKy5TTQorLkIgJEhPTUUKK2FiYnJldmlhdGVkIHdpdGggYSB0aWxkZQorKHVzZXMgdGhlIHZhbHVlIG9mIHRoZQorLlNNCisuQiBQUk9NUFRfRElSVFJJTQordmFyaWFibGUpCiAuVFAKIC5CIFxlVwotdGhlIGJhc2VuYW1lIG9mIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LCB3aXRoIFxmQiRIT01FXGZQCit0aGUgYmFzZW5hbWUgb2YgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnksIHdpdGgKKy5TTQorLkIgJEhPTUUKIGFiYnJldmlhdGVkIHdpdGggYSB0aWxkZQogLlRQCiAuQiBcZSEKQEAgLTQ4OTcsMTEgKzUwNDgsMjEgQEAKIG9yCiAuQlIgdmkgLgogLlRQCisuQiBlY2hvXC1jb250cm9sXC1jaGFyYWN0ZXJzIChPbikKK1doZW4gc2V0IHRvIFxmQk9uXGZQLCBvbiBvcGVyYXRpbmcgc3lzdGVtcyB0aGF0IGluZGljYXRlIHRoZXkgc3VwcG9ydCBpdCwKK3JlYWRsaW5lIGVjaG9lcyBhIGNoYXJhY3RlciBjb3JyZXNwb25kaW5nIHRvIGEgc2lnbmFsIGdlbmVyYXRlZCBmcm9tIHRoZQora2V5Ym9hcmQuCisuVFAKIC5CIGVuYWJsZVwta2V5cGFkIChPZmYpCiBXaGVuIHNldCB0byBcZkJPblxmUCwgcmVhZGxpbmUgd2lsbCB0cnkgdG8gZW5hYmxlIHRoZSBhcHBsaWNhdGlvbgoga2V5cGFkIHdoZW4gaXQgaXMgY2FsbGVkLiAgU29tZSBzeXN0ZW1zIG5lZWQgdGhpcyB0byBlbmFibGUgdGhlCiBhcnJvdyBrZXlzLgogLlRQCisuQiBlbmFibGVcLW1ldGFcLWtleSAoT24pCitXaGVuIHNldCB0byBcZkJPblxmUCwgcmVhZGxpbmUgd2lsbCB0cnkgdG8gZW5hYmxlIGFueSBtZXRhIG1vZGlmaWVyCitrZXkgdGhlIHRlcm1pbmFsIGNsYWltcyB0byBzdXBwb3J0IHdoZW4gaXQgaXMgY2FsbGVkLiAgT24gbWFueSB0ZXJtaW5hbHMsCit0aGUgbWV0YSBrZXkgaXMgdXNlZCB0byBzZW5kIGVpZ2h0LWJpdCBjaGFyYWN0ZXJzLgorLlRQCiAuQiBleHBhbmRcLXRpbGRlIChPZmYpCiBJZiBzZXQgdG8gXGZCb25cZlAsIHRpbGRlIGV4cGFuc2lvbiBpcyBwZXJmb3JtZWQgd2hlbiByZWFkbGluZQogYXR0ZW1wdHMgd29yZCBjb21wbGV0aW9uLgpAQCAtNTAwMCw2ICs1MTYxLDE0IEBACiBhIGNvbW1vbiBwcmVmaXgpIGNhdXNlIHRoZSBtYXRjaGVzIHRvIGJlIGxpc3RlZCBpbW1lZGlhdGVseSBpbnN0ZWFkCiBvZiByaW5naW5nIHRoZSBiZWxsLgogLlRQCisuQiBza2lwXC1jb21wbGV0ZWRcLXRleHQgKE9mZikKK0lmIHNldCB0byBcZkJPblxmUCwgdGhpcyBhbHRlcnMgdGhlIGRlZmF1bHQgY29tcGxldGlvbiBiZWhhdmlvciB3aGVuCitpbnNlcnRpbmcgYSBzaW5nbGUgbWF0Y2ggaW50byB0aGUgbGluZS4gIEl0J3Mgb25seSBhY3RpdmUgd2hlbgorcGVyZm9ybWluZyBjb21wbGV0aW9uIGluIHRoZSBtaWRkbGUgb2YgYSB3b3JkLiAgSWYgZW5hYmxlZCwgcmVhZGxpbmUKK2RvZXMgbm90IGluc2VydCBjaGFyYWN0ZXJzIGZyb20gdGhlIGNvbXBsZXRpb24gdGhhdCBtYXRjaCBjaGFyYWN0ZXJzCithZnRlciBwb2ludCBpbiB0aGUgd29yZCBiZWluZyBjb21wbGV0ZWQsIHNvIHBvcnRpb25zIG9mIHRoZSB3b3JkCitmb2xsb3dpbmcgdGhlIGN1cnNvciBhcmUgbm90IGR1cGxpY2F0ZWQuCisuVFAKIC5CIHZpc2libGVcLXN0YXRzIChPZmYpCiBJZiBzZXQgdG8gXGZCT25cZlAsIGEgY2hhcmFjdGVyIGRlbm90aW5nIGEgZmlsZSdzIHR5cGUgYXMgcmVwb3J0ZWQKIGJ5IFxmSXN0YXRcZlAoMikgaXMgYXBwZW5kZWQgdG8gdGhlIGZpbGVuYW1lIHdoZW4gbGlzdGluZyBwb3NzaWJsZQpAQCAtNTQ4NCw2ICs1NjUzLDExIEBACiBUaGlzIGNvbW1hbmQgaXMgaW50ZW5kZWQgdG8gYmUgYm91bmQgdG8gXGZCVEFCXGZQLCBidXQgaXMgdW5ib3VuZAogYnkgZGVmYXVsdC4KIC5UUAorLkIgbWVudVwtY29tcGxldGUtXGJhY2t3YXJkCitJZGVudGljYWwgdG8gXGZCbWVudVwtY29tcGxldGVcZlAsIGJ1dCBtb3ZlcyBiYWNrd2FyZCB0aHJvdWdoIHRoZSBsaXN0CitvZiBwb3NzaWJsZSBjb21wbGV0aW9ucywgYXMgaWYgXGZCbWVudVwtY29tcGxldGVcZlAgaGFkIGJlZW4gZ2l2ZW4gYQorbmVnYXRpdmUgYXJndW1lbnQuICBUaGlzIGNvbW1hbmQgaXMgdW5ib3VuZCBieSBkZWZhdWx0LgorLlRQCiAuQiBkZWxldGVcLWNoYXJcLW9yXC1saXN0CiBEZWxldGVzIHRoZSBjaGFyYWN0ZXIgdW5kZXIgdGhlIGN1cnNvciBpZiBub3QgYXQgdGhlIGJlZ2lubmluZyBvcgogZW5kIG9mIHRoZSBsaW5lIChsaWtlIFxmQmRlbGV0ZVwtY2hhclxmUCkuCkBAIC01NjE2LDYgKzU3OTAsMTUgQEAKIEEgY2hhcmFjdGVyIGlzIHJlYWQgYW5kIHBvaW50IGlzIG1vdmVkIHRvIHRoZSBwcmV2aW91cyBvY2N1cnJlbmNlIG9mIHRoYXQKIGNoYXJhY3Rlci4gIEEgbmVnYXRpdmUgY291bnQgc2VhcmNoZXMgZm9yIHN1YnNlcXVlbnQgb2NjdXJyZW5jZXMuCiAuVFAKKy5CIHNraXBcLWNzaVwtc2VxdWVuY2UgKCkKK1JlYWQgZW5vdWdoIGNoYXJhY3RlcnMgdG8gY29uc3VtZSBhIG11bHRpLWtleSBzZXF1ZW5jZSBzdWNoIGFzIHRob3NlCitkZWZpbmVkIGZvciBrZXlzIGxpa2UgSG9tZSBhbmQgRW5kLiAgU3VjaCBzZXF1ZW5jZXMgYmVnaW4gd2l0aCBhCitDb250cm9sIFNlcXVlbmNlIEluZGljYXRvciAoQ1NJKSwgdXN1YWxseSBFU0NcLVsuICBJZiB0aGlzIHNlcXVlbmNlIGlzCitib3VuZCB0byAiXGVbIiwga2V5cyBwcm9kdWNpbmcgc3VjaCBzZXF1ZW5jZXMgd2lsbCBoYXZlIG5vIGVmZmVjdAordW5sZXNzIGV4cGxpY2l0bHkgYm91bmQgdG8gYSByZWFkbGluZSBjb21tYW5kLCBpbnN0ZWFkIG9mIGluc2VydGluZworc3RyYXkgY2hhcmFjdGVycyBpbnRvIHRoZSBlZGl0aW5nIGJ1ZmZlci4gIFRoaXMgaXMgdW5ib3VuZCBieSBkZWZhdWx0LAorYnV0IHVzdWFsbHkgYm91bmQgdG8gRVNDXC1bLgorLlRQCiAuQiBpbnNlcnRcLWNvbW1lbnQgKE1cLSMpCiBXaXRob3V0IGEgbnVtZXJpYyBhcmd1bWVudCwgdGhlIHZhbHVlIG9mIHRoZSByZWFkbGluZQogLkIgY29tbWVudFwtYmVnaW4KQEAgLTU2ODIsMTIgKzU4NjUsMTcgQEAKIGJlbG93KSwgdGhlIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGZhY2lsaXRpZXMgYXJlIGludm9rZWQuCiAuUFAKIEZpcnN0LCB0aGUgY29tbWFuZCBuYW1lIGlzIGlkZW50aWZpZWQuCitJZiB0aGUgY29tbWFuZCB3b3JkIGlzIHRoZSBlbXB0eSBzdHJpbmcgKGNvbXBsZXRpb24gYXR0ZW1wdGVkIGF0IHRoZQorYmVnaW5uaW5nIG9mIGFuIGVtcHR5IGxpbmUpLCBhbnkgY29tcHNwZWMgZGVmaW5lZCB3aXRoCit0aGUgXGZCXC1FXGZQIG9wdGlvbiB0byBcZkJjb21wbGV0ZVxmUCBpcyB1c2VkLgogSWYgYSBjb21wc3BlYyBoYXMgYmVlbiBkZWZpbmVkIGZvciB0aGF0IGNvbW1hbmQsIHRoZQogY29tcHNwZWMgaXMgdXNlZCB0byBnZW5lcmF0ZSB0aGUgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucyBmb3IgdGhlIHdvcmQuCiBJZiB0aGUgY29tbWFuZCB3b3JkIGlzIGEgZnVsbCBwYXRobmFtZSwgYSBjb21wc3BlYyBmb3IgdGhlIGZ1bGwKIHBhdGhuYW1lIGlzIHNlYXJjaGVkIGZvciBmaXJzdC4KIElmIG5vIGNvbXBzcGVjIGlzIGZvdW5kIGZvciB0aGUgZnVsbCBwYXRobmFtZSwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvCiBmaW5kIGEgY29tcHNwZWMgZm9yIHRoZSBwb3J0aW9uIGZvbGxvd2luZyB0aGUgZmluYWwgc2xhc2guCitJZiB0aG9zZSBzZWFyY2hlcyB0byBub3QgcmVzdWx0IGluIGEgY29tcHNwZWMsIGFueSBjb21wc3BlYyBkZWZpbmVkIHdpdGgKK3RoZSBcZkJcLURcZlAgb3B0aW9uIHRvIFxmQmNvbXBsZXRlXGZQIGlzIHVzZWQgYXMgdGhlIGRlZmF1bHQuCiAuUFAKIE9uY2UgYSBjb21wc3BlYyBoYXMgYmVlbiBmb3VuZCwgaXQgaXMgdXNlZCB0byBnZW5lcmF0ZSB0aGUgbGlzdCBvZgogbWF0Y2hpbmcgd29yZHMuCkBAIC01NzA3LDcgKzU4OTUsNyBAQAogLkIgRklHTk9SRQogaXMgdXNlZCB0byBmaWx0ZXIgdGhlIG1hdGNoZXMuCiAuUFAKLUFueSBjb21wbGV0aW9ucyBzcGVjaWZpZWQgYnkgYSBmaWxlbmFtZSBleHBhbnNpb24gcGF0dGVybiB0byB0aGUKK0FueSBjb21wbGV0aW9ucyBzcGVjaWZpZWQgYnkgYSBwYXRobmFtZSBleHBhbnNpb24gcGF0dGVybiB0byB0aGUKIFxmQlwtR1xmUCBvcHRpb24gYXJlIGdlbmVyYXRlZCBuZXh0LgogVGhlIHdvcmRzIGdlbmVyYXRlZCBieSB0aGUgcGF0dGVybiBuZWVkIG5vdCBtYXRjaCB0aGUgd29yZAogYmVpbmcgY29tcGxldGVkLgpAQCAtNTgyMCw2ICs2MDA4LDM1IEBACiB0byBjb21wbGV0ZWQgbmFtZXMgd2hpY2ggYXJlIHN5bWJvbGljIGxpbmtzIHRvIGRpcmVjdG9yaWVzLCBzdWJqZWN0IHRvICAKIHRoZSB2YWx1ZSBvZiB0aGUgXGZCbWFya1wtZGlyZWN0b3JpZXNcZlAgcmVhZGxpbmUgdmFyaWFibGUsIHJlZ2FyZGxlc3MKIG9mIHRoZSBzZXR0aW5nIG9mIHRoZSBcZkJtYXJrLXN5bWxpbmtlZFwtZGlyZWN0b3JpZXNcZlAgcmVhZGxpbmUgdmFyaWFibGUuCisuUFAKK1RoZXJlIGlzIHNvbWUgc3VwcG9ydCBmb3IgZHluYW1pY2FsbHkgbW9kaWZ5aW5nIGNvbXBsZXRpb25zLiAgVGhpcyBpcworbW9zdCB1c2VmdWwgd2hlbiB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYSBkZWZhdWx0IGNvbXBsZXRpb24gc3BlY2lmaWVkCit3aXRoIFxmQmNvbXBsZXRlIC1EXGZQLgorSXQncyBwb3NzaWJsZSBmb3Igc2hlbGwgZnVuY3Rpb25zIGV4ZWN1dGVkIGFzIGNvbXBsZXRpb24KK2hhbmRsZXJzIHRvIGluZGljYXRlIHRoYXQgY29tcGxldGlvbiBzaG91bGQgYmUgcmV0cmllZCBieSByZXR1cm5pbmcgYW4KK2V4aXQgc3RhdHVzIG9mIDEyNC4gIElmIGEgc2hlbGwgZnVuY3Rpb24gcmV0dXJucyAxMjQsIGFuZCBjaGFuZ2VzCit0aGUgY29tcHNwZWMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb21tYW5kIG9uIHdoaWNoIGNvbXBsZXRpb24gaXMgYmVpbmcKK2F0dGVtcHRlZCAoc3VwcGxpZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50IHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGV4ZWN1dGVkKSwKK3Byb2dyYW1tYWJsZSBjb21wbGV0aW9uIHJlc3RhcnRzIGZyb20gdGhlIGJlZ2lubmluZywgd2l0aCBhbgorYXR0ZW1wdCB0byBmaW5kIGEgY29tcHNwZWMgZm9yIHRoYXQgY29tbWFuZC4gIFRoaXMgYWxsb3dzIGEgc2V0IG9mCitjb21wbGV0aW9ucyB0byBiZSBidWlsdCBkeW5hbWljYWxseSBhcyBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgcmF0aGVyIHRoYW4KK2JlaW5nIGxvYWRlZCBhbGwgYXQgb25jZS4KKy5QUAorRm9yIGluc3RhbmNlLCBhc3N1bWluZyB0aGF0IHRoZXJlIGlzIGEgbGlicmFyeSBvZiBjb21wc3BlY3MsIGVhY2gga2VwdCBpbiBhCitmaWxlIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG5hbWUgb2YgdGhlIGNvbW1hbmQsIHRoZSBmb2xsb3dpbmcgZGVmYXVsdAorY29tcGxldGlvbiBmdW5jdGlvbiB3b3VsZCBsb2FkIGNvbXBsZXRpb25zIGR5bmFtaWNhbGx5OgorLlBQCitcZihDV19jb21wbGV0aW9uX2xvYWRlcigpCisuYnIKK3sKKy5icgorCS4gIi9ldGMvYmFzaF9jb21wbGV0aW9uLmQvJDEuc2giID4vZGV2L251bGwgMj4mMSAmJiByZXR1cm4gMTI0CisuYnIKK30KKy5icgorY29tcGxldGUgLUQgLUYgX2NvbXBsZXRpb25fbG9hZGVyCisuYnIKK1xmUAogLlNIIEhJU1RPUlkKIFdoZW4gdGhlCiAuQiBcLW8gaGlzdG9yeQpAQCAtNTgyOCw3ICs2MDQ1LDEwIEBACiBidWlsdGluIGlzIGVuYWJsZWQsIHRoZSBzaGVsbCBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlCiBcZkljb21tYW5kIGhpc3RvcnlcZlAsCiB0aGUgbGlzdCBvZiBjb21tYW5kcyBwcmV2aW91c2x5IHR5cGVkLgotVGhlIHZhbHVlIG9mIHRoZSBcZkJISVNUU0laRVxmUCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZQorVGhlIHZhbHVlIG9mIHRoZQorLlNNCisuQiBISVNUU0laRQordmFyaWFibGUgaXMgdXNlZCBhcyB0aGUKIG51bWJlciBvZiBjb21tYW5kcyB0byBzYXZlIGluIGEgaGlzdG9yeSBsaXN0LgogVGhlIHRleHQgb2YgdGhlIGxhc3QKIC5TTQpAQCAtNTg4OCw3ICs2MTA4LDcgQEAKIG5vdCBzYXZlZC4KIElmIHRoZQogLlNNCi0uSElTVFRJTUVGT1JNQVQKKy5CIEhJU1RUSU1FRk9STUFUCiB2YXJpYWJsZSBpcyBzZXQsIHRpbWUgc3RhbXBzIGFyZSB3cml0dGVuIHRvIHRoZSBoaXN0b3J5IGZpbGUsIG1hcmtlZAogd2l0aCB0aGUgaGlzdG9yeSBjb21tZW50IGNoYXJhY3Rlciwgc28KIHRoZXkgbWF5IGJlIHByZXNlcnZlZCBhY3Jvc3Mgc2hlbGwgc2Vzc2lvbnMuCkBAIC01OTk0LDcgKzYyMTQsNyBAQAogLkIgaGlzdHZlcmlmeQogc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQgKHNlZSB0aGUgZGVzY3JpcHRpb24gb2YgdGhlCiAuQiBzaG9wdAotYnVpbHRpbiksIGFuZAorYnVpbHRpbiBiZWxvdyksIGFuZAogLkIgcmVhZGxpbmUKIGlzIGJlaW5nIHVzZWQsIGhpc3Rvcnkgc3Vic3RpdHV0aW9ucyBhcmUgbm90IGltbWVkaWF0ZWx5IHBhc3NlZCB0bwogdGhlIHNoZWxsIHBhcnNlci4KQEAgLTYyMTgsOCArNjQzOCwxNCBAQAogYWNjZXB0cwogLkIgXC1cLQogdG8gc2lnbmlmeSB0aGUgZW5kIG9mIHRoZSBvcHRpb25zLgotRm9yIGV4YW1wbGUsIHRoZSBcZkI6XGZQLCBcZkJ0cnVlXGZQLCBcZkJmYWxzZVxmUCwgYW5kIFxmQnRlc3RcZlAgYnVpbHRpbnMKLWRvIG5vdCBhY2NlcHQgb3B0aW9ucy4KK1RoZSBcZkI6XGZQLCBcZkJ0cnVlXGZQLCBcZkJmYWxzZVxmUCwgYW5kIFxmQnRlc3RcZlAgYnVpbHRpbnMKK2RvIG5vdCBhY2NlcHQgb3B0aW9ucyBhbmQgZG8gbm90IHRyZWF0IFxmQlwtXC1cZlAgc3BlY2lhbGx5LgorVGhlIFxmQmV4aXRcZlAsIFxmQmxvZ291dFxmUCwgXGZCYnJlYWtcZlAsIFxmQmNvbnRpbnVlXGZQLCBcZkJsZXRcZlAsCithbmQgXGZCc2hpZnRcZlAgYnVpbHRpbnMgYWNjZXB0IGFuZCBwcm9jZXNzIGFyZ3VtZW50cyBiZWdpbm5pbmcgd2l0aAorXGZCXC1cZlAgd2l0aG91dCByZXF1aXJpbmcgXGZCXC1cLVxmUC4KK090aGVyIGJ1aWx0aW5zIHRoYXQgYWNjZXB0IGFyZ3VtZW50cyBidXQgYXJlIG5vdCBzcGVjaWZpZWQgYXMgYWNjZXB0aW5nCitvcHRpb25zIGludGVycHJldCBhcmd1bWVudHMgYmVnaW5uaW5nIHdpdGggXGZCXC1cZlAgYXMgaW52YWxpZCBvcHRpb25zIGFuZAorcmVxdWlyZSBcZkJcLVwtXGZQIHRvIHByZXZlbnQgdGhpcyBpbnRlcnByZXRhdGlvbi4KIC5zcCAuNQogLlBEIDAKIC5UUApAQCAtNjM4MSwxMyArNjYwNywxNyBAQAogQ2F1c2UgXGZJc2hlbGxcLWNvbW1hbmRcZlAgdG8gYmUgZXhlY3V0ZWQgd2hlbmV2ZXIgXGZJa2V5c2VxXGZQIGlzCiBlbnRlcmVkLgogV2hlbiBcZklzaGVsbFwtY29tbWFuZFxmUCBpcyBleGVjdXRlZCwgdGhlIHNoZWxsIHNldHMgdGhlCisuU00KIC5CIFJFQURMSU5FX0xJTkUKIHZhcmlhYmxlIHRvIHRoZSBjb250ZW50cyBvZiB0aGUgXGZCcmVhZGxpbmVcZlAgbGluZSBidWZmZXIgYW5kIHRoZQorLlNNCiAuQiBSRUFETElORV9QT0lOVAogdmFyaWFibGUgdG8gdGhlIGN1cnJlbnQgbG9jYXRpb24gb2YgdGhlIGluc2VydGlvbiBwb2ludC4KIElmIHRoZSBleGVjdXRlZCBjb21tYW5kIGNoYW5nZXMgdGhlIHZhbHVlIG9mCisuU00KIC5CIFJFQURMSU5FX0xJTkUKIG9yCisuU00KIC5CUiBSRUFETElORV9QT0lOVCAsCiB0aG9zZSBuZXcgdmFsdWVzIHdpbGwgYmUgcmVmbGVjdGVkIGluIHRoZSBlZGl0aW5nIHN0YXRlLgogLlBECkBAIC02NDc1LDcgKzY3MDUsMTAgQEAKIGlzIGVxdWl2YWxlbnQgdG8KIC5TTQogLkJSICRPTERQV0QgLgotSWYgYSBub24tZW1wdHkgZGlyZWN0b3J5IG5hbWUgZnJvbSBcZkJDRFBBVEhcZlAgaXMgdXNlZCwgb3IgaWYKK0lmIGEgbm9uLWVtcHR5IGRpcmVjdG9yeSBuYW1lIGZyb20KKy5TTQorLkIgQ0RQQVRICitpcyB1c2VkLCBvciBpZgogXGZCXC1cZlAgaXMgdGhlIGZpcnN0IGFyZ3VtZW50LCBhbmQgdGhlIGRpcmVjdG9yeSBjaGFuZ2UgaXMKIHN1Y2Nlc3NmdWwsIHRoZSBhYnNvbHV0ZSBwYXRobmFtZSBvZiB0aGUgbmV3IHdvcmtpbmcgZGlyZWN0b3J5IGlzCiB3cml0dGVuIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuCkBAIC02NDk2LDYgKzY3MjksNyBAQAogb3B0aW9uIGlzIGdpdmVuLCB0aGUgc2VhcmNoIGZvcgogLkkgY29tbWFuZAogaXMgcGVyZm9ybWVkIHVzaW5nIGEgZGVmYXVsdCB2YWx1ZSBmb3IKKy5TTQogLkIgUEFUSAogdGhhdCBpcyBndWFyYW50ZWVkIHRvIGZpbmQgYWxsIG9mIHRoZSBzdGFuZGFyZCB1dGlsaXRpZXMuCiBJZiBlaXRoZXIgdGhlCkBAIC02NTQ1LDEyICs2Nzc5LDEyIEBACiBUaGUgcmV0dXJuIHZhbHVlIGlzIHRydWUgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLCBvciBubwogbWF0Y2hlcyB3ZXJlIGdlbmVyYXRlZC4KIC5UUAotXGZCY29tcGxldGVcZlAgW1xmQlwtYWJjZGVmZ2prc3V2XGZQXSBbXGZCXC1vXGZQIFxmSWNvbXAtb3B0aW9uXGZQXSBbXGZCXC1FXGZQXSBbXGZCXC1BXGZQIFxmSWFjdGlvblxmUF0gW1xmQlwtR1xmUCBcZklnbG9icGF0XGZQXSBbXGZCXC1XXGZQIFxmSXdvcmRsaXN0XGZQXSBbXGZCXC1GXGZQIFxmSWZ1bmN0aW9uXGZQXSBbXGZCXC1DXGZQIFxmSWNvbW1hbmRcZlBdCitcZkJjb21wbGV0ZVxmUCBbXGZCXC1hYmNkZWZnamtzdXZcZlBdIFtcZkJcLW9cZlAgXGZJY29tcC1vcHRpb25cZlBdIFtcZkJcLURFXGZQXSBbXGZCXC1BXGZQIFxmSWFjdGlvblxmUF0gW1xmQlwtR1xmUCBcZklnbG9icGF0XGZQXSBbXGZCXC1XXGZQIFxmSXdvcmRsaXN0XGZQXSBbXGZCXC1GXGZQIFxmSWZ1bmN0aW9uXGZQXSBbXGZCXC1DXGZQIFxmSWNvbW1hbmRcZlBdCiAuYnIKIFtcZkJcLVhcZlAgXGZJZmlsdGVycGF0XGZQXSBbXGZCXC1QXGZQIFxmSXByZWZpeFxmUF0gW1xmQlwtU1xmUCBcZklzdWZmaXhcZlBdIFxmSW5hbWVcZlAgW1xmSW5hbWUgLi4uXGZQXQogLlBEIDAKIC5UUAotXGZCY29tcGxldGVcZlAgXGZCXC1wclxmUCBbXGZCXC1FXGZQXSBbXGZJbmFtZVxmUCAuLi5dCitcZkJjb21wbGV0ZVxmUCBcZkJcLXByXGZQIFtcZkJcLURFXGZQXSBbXGZJbmFtZVxmUCAuLi5dCiAuUEQKIFNwZWNpZnkgaG93IGFyZ3VtZW50cyB0byBlYWNoIFxmSW5hbWVcZlAgc2hvdWxkIGJlIGNvbXBsZXRlZC4KIElmIHRoZSBcZkJcLXBcZlAgb3B0aW9uIGlzIHN1cHBsaWVkLCBvciBpZiBubyBvcHRpb25zIGFyZSBzdXBwbGllZCwKQEAgLTY1NTksNiArNjc5Myw5IEBACiBUaGUgXGZCXC1yXGZQIG9wdGlvbiByZW1vdmVzIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGZvcgogZWFjaCBcZkluYW1lXGZQLCBvciwgaWYgbm8gXGZJbmFtZVxmUHMgYXJlIHN1cHBsaWVkLCBhbGwKIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnMuCitUaGUgXGZCXC1EXGZQIG9wdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVtYWluaW5nIG9wdGlvbnMgYW5kIGFjdGlvbnMgc2hvdWxkCithcHBseSB0byB0aGUgYGBkZWZhdWx0JycgY29tbWFuZCBjb21wbGV0aW9uOyB0aGF0IGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZAorb24gYSBjb21tYW5kIGZvciB3aGljaCBubyBjb21wbGV0aW9uIGhhcyBwcmV2aW91c2x5IGJlZW4gZGVmaW5lZC4KIFRoZSBcZkJcLUVcZlAgb3B0aW9uIGluZGljYXRlcyB0aGF0IHRoZSByZW1haW5pbmcgb3B0aW9ucyBhbmQgYWN0aW9ucyBzaG91bGQKIGFwcGx5IHRvIGBgZW1wdHknJyBjb21tYW5kIGNvbXBsZXRpb247IHRoYXQgaXMsIGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEKIGJsYW5rIGxpbmUuCkBAIC02NjkwLDcgKzY5MjcsNyBAQAogLlJFCiAuVFAgOAogXGZCXC1HXGZQIFxmSWdsb2JwYXRcZlAKLVRoZSBmaWxlbmFtZSBleHBhbnNpb24gcGF0dGVybiBcZklnbG9icGF0XGZQIGlzIGV4cGFuZGVkIHRvIGdlbmVyYXRlCitUaGUgcGF0aG5hbWUgZXhwYW5zaW9uIHBhdHRlcm4gXGZJZ2xvYnBhdFxmUCBpcyBleHBhbmRlZCB0byBnZW5lcmF0ZQogdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zLgogLlRQIDgKIFxmQlwtV1xmUCBcZkl3b3JkbGlzdFxmUApAQCAtNjcxNSw3ICs2OTUyLDcgQEAKIGFycmF5IHZhcmlhYmxlLgogLlRQIDgKIFxmQlwtWFxmUCBcZklmaWx0ZXJwYXRcZlAKLVxmSWZpbHRlcnBhdFxmUCBpcyBhIHBhdHRlcm4gYXMgdXNlZCBmb3IgZmlsZW5hbWUgZXhwYW5zaW9uLgorXGZJZmlsdGVycGF0XGZQIGlzIGEgcGF0dGVybiBhcyB1c2VkIGZvciBwYXRobmFtZSBleHBhbnNpb24uCiBJdCBpcyBhcHBsaWVkIHRvIHRoZSBsaXN0IG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zIGdlbmVyYXRlZCBieSB0aGUKIHByZWNlZGluZyBvcHRpb25zIGFuZCBhcmd1bWVudHMsIGFuZCBlYWNoIGNvbXBsZXRpb24gbWF0Y2hpbmcKIFxmSWZpbHRlcnBhdFxmUCBpcyByZW1vdmVkIGZyb20gdGhlIGxpc3QuCkBAIC02NzM4LDcgKzY5NzUsNyBAQAogYW4gZXJyb3Igb2NjdXJzIGFkZGluZyBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbi4KIC5SRQogLlRQCi1cZkJjb21wb3B0XGZQIFtcZkJcLW9cZlAgXGZJb3B0aW9uXGZQXSBbXGZCK29cZlAgXGZJb3B0aW9uXGZQXSBbXGZJbmFtZVxmUF0KK1xmQmNvbXBvcHRcZlAgW1xmQlwtb1xmUCBcZklvcHRpb25cZlBdIFtcZkJcLURFXGZQXSBbXGZCK29cZlAgXGZJb3B0aW9uXGZQXSBbXGZJbmFtZVxmUF0KIE1vZGlmeSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggXGZJbmFtZVxmUCBhY2NvcmRpbmcgdG8gdGhlCiBcZklvcHRpb25cZlBzLCBvciBmb3IgdGhlCiBjdXJyZW50bHktZXhlY3V0aW9uIGNvbXBsZXRpb24gaWYgbm8gXGZJbmFtZVxmUHMgYXJlIHN1cHBsaWVkLgpAQCAtNjc0Niw2ICs2OTgzLDEyIEBACiBcZkluYW1lXGZQIG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24uCiBUaGUgcG9zc2libGUgdmFsdWVzIG9mIFxmSW9wdGlvblxmUCBhcmUgdGhvc2UgdmFsaWQgZm9yIHRoZSBcZkJjb21wbGV0ZVxmUAogYnVpbHRpbiBkZXNjcmliZWQgYWJvdmUuCitUaGUgXGZCXC1EXGZQIG9wdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVtYWluaW5nIG9wdGlvbnMgc2hvdWxkCithcHBseSB0byB0aGUgYGBkZWZhdWx0JycgY29tbWFuZCBjb21wbGV0aW9uOyB0aGF0IGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZAorb24gYSBjb21tYW5kIGZvciB3aGljaCBubyBjb21wbGV0aW9uIGhhcyBwcmV2aW91c2x5IGJlZW4gZGVmaW5lZC4KK1RoZSBcZkJcLUVcZlAgb3B0aW9uIGluZGljYXRlcyB0aGF0IHRoZSByZW1haW5pbmcgb3B0aW9ucyBzaG91bGQKK2FwcGx5IHRvIGBgZW1wdHknJyBjb21tYW5kIGNvbXBsZXRpb247IHRoYXQgaXMsIGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEKK2JsYW5rIGxpbmUuCiAuUFAKIFRoZSByZXR1cm4gdmFsdWUgaXMgdHJ1ZSB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuIGF0dGVtcHQKIGlzIG1hZGUgdG8gbW9kaWZ5IHRoZSBvcHRpb25zIGZvciBhIFxmSW5hbWVcZlAgZm9yIHdoaWNoIG5vIGNvbXBsZXRpb24KQEAgLTY4MjMsOCArNzA2Niw4IEBACiAuQiBcLWkKIFRoZSB2YXJpYWJsZSBpcyB0cmVhdGVkIGFzIGFuIGludGVnZXI7IGFyaXRobWV0aWMgZXZhbHVhdGlvbiAoc2VlCiAuU00KLS5CICJBUklUSE1FVElDIEVWQUxVQVRJT04iICIpICIKLWlzIHBlcmZvcm1lZCB3aGVuIHRoZSB2YXJpYWJsZSBpcyBhc3NpZ25lZCBhIHZhbHVlLgorLkIgIkFSSVRITUVUSUMgRVZBTFVBVElPTiIKK2Fib3ZlKSBpcyBwZXJmb3JtZWQgd2hlbiB0aGUgdmFyaWFibGUgaXMgYXNzaWduZWQgYSB2YWx1ZS4KIC5UUAogLkIgXC1sCiBXaGVuIHRoZSB2YXJpYWJsZSBpcyBhc3NpZ25lZCBhIHZhbHVlLCBhbGwgdXBwZXItY2FzZSBjaGFyYWN0ZXJzIGFyZQpAQCAtNjg1Myw3ICs3MDk2LDcgQEAKIFVzaW5nIGArJyBpbnN0ZWFkIG9mIGBcLScKIHR1cm5zIG9mZiB0aGUgYXR0cmlidXRlIGluc3RlYWQsCiB3aXRoIHRoZSBleGNlcHRpb25zIHRoYXQgXGZCK2FcZlAKLW1heSBub3QgYmUgdXNlZCB0byBkZXN0cm95IGFuIGFycmF5IHZhcmlhYmxlIGFuZCBcZkIrclxmQiB3aWxsIG5vdAorbWF5IG5vdCBiZSB1c2VkIHRvIGRlc3Ryb3kgYW4gYXJyYXkgdmFyaWFibGUgYW5kIFxmQityXGZQIHdpbGwgbm90CiByZW1vdmUgdGhlIHJlYWRvbmx5IGF0dHJpYnV0ZS4KIFdoZW4gdXNlZCBpbiBhIGZ1bmN0aW9uLAogbWFrZXMgZWFjaApAQCAtNjkyNiw3ICs3MTY5LDcgQEAKIGlzIHJlbW92ZWQgZnJvbSB0aGUgdGFibGUgb2YgYWN0aXZlIGpvYnMuCiBJZgogLkkgam9ic3BlYwotaXMgbm90IHByZXNlbnQsIGFuZCBuZWl0aGVyIFxmQlwtYVxmQiBub3IgXGZCXC1yXGZQIGlzIHN1cHBsaWVkLAoraXMgbm90IHByZXNlbnQsIGFuZCBuZWl0aGVyIFxmQlwtYVxmUCBub3IgXGZCXC1yXGZQIGlzIHN1cHBsaWVkLAogdGhlIHNoZWxsJ3Mgbm90aW9uIG9mIHRoZSBcZkljdXJyZW50IGpvYlxmUCBpcyB1c2VkLgogSWYgdGhlIFxmQlwtaFxmUCBvcHRpb24gaXMgZ2l2ZW4sIGVhY2gKIC5JIGpvYnNwZWMKQEAgLTcyOTUsNyArNzUzOCw5IEBACiAuc3AgMQogV2hlbiB0aGUgZW5kIG9mIG9wdGlvbnMgaXMgZW5jb3VudGVyZWQsIFxmQmdldG9wdHNcZlAgZXhpdHMgd2l0aCBhCiByZXR1cm4gdmFsdWUgZ3JlYXRlciB0aGFuIHplcm8uCi1cZkJPUFRJTkRcZlAgaXMgc2V0IHRvIHRoZSBpbmRleCBvZiB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCwKKy5TTQorLkIgT1BUSU5ECitpcyBzZXQgdG8gdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBub24tb3B0aW9uIGFyZ3VtZW50LAogYW5kIFxmQm5hbWVcZlAgaXMgc2V0IHRvID8uCiAuc3AgMQogLkIgZ2V0b3B0cwpAQCAtNzQwNyw3ICs3NjUyLDcgQEAKIC5CIFwtZAogRGlzcGxheSBhIHNob3J0IGRlc2NyaXB0aW9uIG9mIGVhY2ggXGZJcGF0dGVyblxmUAogLlRQCi0uQiBcIC1tCisuQiBcLW0KIERpc3BsYXkgdGhlIGRlc2NyaXB0aW9uIG9mIGVhY2ggXGZJcGF0dGVyblxmUCBpbiBhIG1hbnBhZ2UtbGlrZSBmb3JtYXQKIC5UUAogLkIgXC1zCkBAIC03NDM5LDcgKzc2ODQsMTAgQEAKIGxpc3RzIG9ubHkgdGhlIGxhc3QKIC5JIG4KIGxpbmVzLgotSWYgdGhlIHNoZWxsIHZhcmlhYmxlIFxmQkhJU1RUSU1FRk9STUFUXGZQIGlzIHNldCBhbmQgbm90IG51bGwsCitJZiB0aGUgc2hlbGwgdmFyaWFibGUKKy5TTQorLkIgSElTVFRJTUVGT1JNQVQKK2lzIHNldCBhbmQgbm90IG51bGwsCiBpdCBpcyB1c2VkIGFzIGEgZm9ybWF0IHN0cmluZyBmb3IgXGZJc3RyZnRpbWVcZlAoMykgdG8gZGlzcGxheQogdGhlIHRpbWUgc3RhbXAgYXNzb2NpYXRlZCB3aXRoIGVhY2ggZGlzcGxheWVkIGhpc3RvcnkgZW50cnkuCiBObyBpbnRlcnZlbmluZyBibGFuayBpcyBwcmludGVkIGJldHdlZW4gdGhlIGZvcm1hdHRlZCB0aW1lIHN0YW1wCkBAIC03NDkxLDcgKzc3MzksMTAgQEAKIGFyZSBhZGRlZC4KIC5QRAogLlBQCi1JZiB0aGUgXGZCSElTVFRJTUVGT1JNQVRcZlAgaXMgc2V0LCB0aGUgdGltZSBzdGFtcCBpbmZvcm1hdGlvbgorSWYgdGhlCisuU00KKy5CIEhJU1RUSU1FRk9STUFUCit2YXJpYWJsZSBpcyBzZXQsIHRoZSB0aW1lIHN0YW1wIGluZm9ybWF0aW9uCiBhc3NvY2lhdGVkIHdpdGggZWFjaCBoaXN0b3J5IGVudHJ5IGlzIHdyaXR0ZW4gdG8gdGhlIGhpc3RvcnkgZmlsZSwKIG1hcmtlZCB3aXRoIHRoZSBoaXN0b3J5IGNvbW1lbnQgY2hhcmFjdGVyLgogV2hlbiB0aGUgaGlzdG9yeSBmaWxlIGlzIHJlYWQsIGxpbmVzIGJlZ2lubmluZyB3aXRoIHRoZSBoaXN0b3J5CkBAIC03NjA2LDcgKzc4NTcsOCBAQAogLkkgYXJnCiBpcyBhbiBhcml0aG1ldGljIGV4cHJlc3Npb24gdG8gYmUgZXZhbHVhdGVkIChzZWUKIC5TTQotLkJSICJBUklUSE1FVElDIEVWQUxVQVRJT04iICkuCisuQiAiQVJJVEhNRVRJQyBFVkFMVUFUSU9OIgorYWJvdmUpLgogSWYgdGhlIGxhc3QKIC5JIGFyZwogZXZhbHVhdGVzIHRvIDAsCkBAIC03NjQ0LDE0ICs3ODk2LDE3IEBACiAuVFAKIFxmQnJlYWRhcnJheVxmUCBbXGZCXC1uXGZQIFxmSWNvdW50XGZQXSBbXGZCXC1PXGZQIFxmSW9yaWdpblxmUF0gW1xmQlwtc1xmUCBcZkljb3VudFxmUF0gW1xmQlwtdFxmUF0gW1xmQlwtdVxmUCBcZklmZFxmUF0gW1xmQlwtQ1xmUCBcZkljYWxsYmFja1xmUF0gW1xmQlwtY1xmUCBcZklxdWFudHVtXGZQXSBbXGZJYXJyYXlcZlBdCiAuUEQKLVJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhcnJheSB2YXJpYWJsZQorUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBpbmRleGVkIGFycmF5IHZhcmlhYmxlCiAuSVIgYXJyYXkgLAogb3IgZnJvbSBmaWxlIGRlc2NyaXB0b3IgCiAuSVIgZmQKIGlmIHRoZSAKIC5CIFwtdQogb3B0aW9uIGlzIHN1cHBsaWVkLgotVGhlIHZhcmlhYmxlIFxmQk1BUEZJTEVcZlAgaXMgdGhlIGRlZmF1bHQgXGZJYXJyYXlcZlAuCitUaGUgdmFyaWFibGUKKy5TTQorLkIgTUFQRklMRQoraXMgdGhlIGRlZmF1bHQgXGZJYXJyYXlcZlAuCiBPcHRpb25zLCBpZiBzdXBwbGllZCwgaGF2ZSB0aGUgZm9sbG93aW5nIG1lYW5pbmdzOgogLlJTCiAuUEQgMApAQCAtNzY3Miw3ICs3OTI3LDcgQEAKIERpc2NhcmQgdGhlIGZpcnN0IFxmSWNvdW50XGZQIGxpbmVzIHJlYWQuCiAuVFAKIC5CIFwtdAotUmVtb3ZlIGEgdHJhaWxpbmcgbGluZSBmcm9tIGVhY2ggbGluZSByZWFkLgorUmVtb3ZlIGEgdHJhaWxpbmcgbmV3bGluZSBmcm9tIGVhY2ggbGluZSByZWFkLgogLlRQCiAuQiBcLXUKIFJlYWQgbGluZXMgZnJvbSBmaWxlIGRlc2NyaXB0b3IgXGZJZmRcZlAgaW5zdGVhZCBvZiB0aGUgc3RhbmRhcmQgaW5wdXQuCkBAIC03NzAyLDcgKzc5NTcsOCBAQAogYmVmb3JlIGFzc2lnbmluZyB0byBpdC4KIC5QUAogXGZCbWFwZmlsZVxmUCByZXR1cm5zIHN1Y2Nlc3NmdWxseSB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gb3Igb3B0aW9uCi1hcmd1bWVudCBpcyBzdXBwbGllZCwgb3IgXGZJYXJyYXlcZlAgaXMgaW52YWxpZCBvciB1bmFzc2lnbmFibGUuCithcmd1bWVudCBpcyBzdXBwbGllZCwgXGZJYXJyYXlcZlAgaXMgaW52YWxpZCBvciB1bmFzc2lnbmFibGUsIG9yIGlmCitcZklhcnJheVxmUCBpcyBub3QgYW4gaW5kZXhlZCBhcnJheS4KIC5SRQogLlRQCiBcZkJwb3BkXGZQIFtcLVxmQm5cZlBdIFsrXGZJblxmUF0gW1wtXGZJblxmUF0KQEAgLTc4NDksNyArODEwNSw3IEBACiByZWFkaW5nIHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBvciBhbgogaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQuCiAuVFAKLVxmQnJlYWRcZlAgW1xmQlwtZXJzXGZQXSBbXGZCXC1hXGZQIFxmSWFuYW1lXGZQXSBbXGZCXC1kXGZQIFxmSWRlbGltXGZQXSBbXGZCXC1pXGZQIFxmSXRleHRcZlBdIFtcZkJcLW5cZlAgXGZJbmNoYXJzXGZQXSBbXGZCXC1wXGZQIFxmSXByb21wdFxmUF0gW1xmQlwtdFxmUCBcZkl0aW1lb3V0XGZQXSBbXGZCXC11XGZQIFxmSWZkXGZQXSBbXGZJbmFtZVxmUCAuLi5dCitcZkJyZWFkXGZQIFtcZkJcLWVyc1xmUF0gW1xmQlwtYVxmUCBcZklhbmFtZVxmUF0gW1xmQlwtZFxmUCBcZklkZWxpbVxmUF0gW1xmQlwtaVxmUCBcZkl0ZXh0XGZQXSBbXGZCXC1uXGZQIFxmSW5jaGFyc1xmUF0gW1xmQlwtTlxmUCBcZkluY2hhcnNcZlBdIFtcZkJcLXBcZlAgXGZJcHJvbXB0XGZQXSBbXGZCXC10XGZQIFxmSXRpbWVvdXRcZlBdIFtcZkJcLXVcZlAgXGZJZmRcZlBdIFtcZkluYW1lXGZQIC4uLl0KIE9uZSBsaW5lIGlzIHJlYWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQsIG9yIGZyb20gdGhlIGZpbGUgZGVzY3JpcHRvcgogXGZJZmRcZlAgc3VwcGxpZWQgYXMgYW4gYXJndW1lbnQgdG8gdGhlIFxmQlwtdVxmUCBvcHRpb24sIGFuZCB0aGUgZmlyc3Qgd29yZAogaXMgYXNzaWduZWQgdG8gdGhlIGZpcnN0CkBAIC03OTAzLDcgKzgxNTksMTYgQEAKIC5UUAogLkIgXC1uIFxmSW5jaGFyc1xmUAogXGZCcmVhZFxmUCByZXR1cm5zIGFmdGVyIHJlYWRpbmcgXGZJbmNoYXJzXGZQIGNoYXJhY3RlcnMgcmF0aGVyIHRoYW4KLXdhaXRpbmcgZm9yIGEgY29tcGxldGUgbGluZSBvZiBpbnB1dC4KK3dhaXRpbmcgZm9yIGEgY29tcGxldGUgbGluZSBvZiBpbnB1dCwgYnV0IGhvbm9yIGEgZGVsaW1pdGVyIGlmIGZld2VyCit0aGFuIFxmSW5jaGFyc1xmUCBjaGFyYWN0ZXJzIGFyZSByZWFkIGJlZm9yZSB0aGUgZGVsaW1pdGVyLgorLlRQCisuQiBcLU4gXGZJbmNoYXJzXGZQCitcZkJyZWFkXGZQIHJldHVybnMgYWZ0ZXIgcmVhZGluZyBleGFjdGx5IFxmSW5jaGFyc1xmUCBjaGFyYWN0ZXJzIHJhdGhlcgordGhhbiB3YWl0aW5nIGZvciBhIGNvbXBsZXRlIGxpbmUgb2YgaW5wdXQsIHVubGVzcyBFT0YgaXMgZW5jb3VudGVyZWQgb3IKK1xmQnJlYWRcZlAgdGltZXMgb3V0LgorRGVsaW1pdGVyIGNoYXJhY3RlcnMgZW5jb3VudGVyZWQgaW4gdGhlIGlucHV0IGFyZQorbm90IHRyZWF0ZWQgc3BlY2lhbGx5IGFuZCBkbyBub3QgY2F1c2UgXGZCcmVhZFxmUCB0byByZXR1cm4gdW50aWwKK1xmSW5jaGFyc1xmUCBjaGFyYWN0ZXJzIGFyZSByZWFkLgogLlRQCiAuQiBcLXAgXGZJcHJvbXB0XGZQCiBEaXNwbGF5IFxmSXByb21wdFxmUCBvbiBzdGFuZGFyZCBlcnJvciwgd2l0aG91dCBhCkBAIC04MDYyLDYgKzgzMjcsNyBAQAogQSB0cmFwIG9uIFxmQkVSUlxmUCwgaWYgc2V0LCBpcyBleGVjdXRlZCBiZWZvcmUgdGhlIHNoZWxsIGV4aXRzLgogVGhpcyBvcHRpb24gYXBwbGllcyB0byB0aGUgc2hlbGwgZW52aXJvbm1lbnQgYW5kIGVhY2ggc3Vic2hlbGwgZW52aXJvbm1lbnQKIHNlcGFyYXRlbHkgKHNlZQorLlNNCiAuQiAiQ09NTUFORCBFWEVDVVRJT04gRU5WSVJPTk1FTlQiCiBhYm92ZSksIGFuZCBtYXkgY2F1c2UKIHN1YnNoZWxscyB0byBleGl0IGJlZm9yZSBleGVjdXRpbmcgYWxsIHRoZSBjb21tYW5kcyBpbiB0aGUgc3Vic2hlbGwuCkBAIC04MTEzLDYgKzgzNzksMTAgQEAKIG9wdGlvbi4KIFRoaXMgYWxzbyBhZmZlY3RzIHRoZSBlZGl0aW5nIGludGVyZmFjZSB1c2VkIGZvciBcZkJyZWFkIFwtZVxmUC4KIC5UUCA4CisuQiBlcnJleGl0CitTYW1lIGFzCisuQlIgXC1lIC4KKy5UUCA4CiAuQiBlcnJ0cmFjZQogU2FtZSBhcwogLkJSIFwtRSAuCkBAIC04MTIxLDEwICs4MzkxLDYgQEAKIFNhbWUgYXMKIC5CUiBcLVQgLgogLlRQIDgKLS5CIGVycmV4aXQKLVNhbWUgYXMKLS5CUiBcLWUgLgotLlRQIDgKIC5CIGhhc2hhbGwKIFNhbWUgYXMKIC5CUiBcLWggLgpAQCAtODI0MSw4ICs4NTA3LDEyIEBACiBlbnZpcm9ubWVudCwgYW5kIHRoZQogLlNNCiAuQlIgU0hFTExPUFRTICwKKy5TTQorLkJSIEJBU0hPUFRTICwKKy5TTQogLkJSIENEUEFUSCAsCiBhbmQKKy5TTQogLkIgR0xPQklHTk9SRQogdmFyaWFibGVzLCBpZiB0aGV5IGFwcGVhciBpbiB0aGUgZW52aXJvbm1lbnQsIGFyZSBpZ25vcmVkLgogSWYgdGhlIHNoZWxsIGlzIHN0YXJ0ZWQgd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgKGdyb3VwKSBpZCBub3QgZXF1YWwgdG8gdGhlCkBAIC04NDU1LDcgKzg3MjUsMTAgQEAKIElmIHNldCwgXGZCYmFzaFxmUCBsaXN0cyB0aGUgc3RhdHVzIG9mIGFueSBzdG9wcGVkIGFuZCBydW5uaW5nIGpvYnMgYmVmb3JlCiBleGl0aW5nIGFuIGludGVyYWN0aXZlIHNoZWxsLiAgSWYgYW55IGpvYnMgYXJlIHJ1bm5pbmcsIHRoaXMgY2F1c2VzCiB0aGUgZXhpdCB0byBiZSBkZWZlcnJlZCB1bnRpbCBhIHNlY29uZCBleGl0IGlzIGF0dGVtcHRlZCB3aXRob3V0IGFuCi1pbnRlcnZlbmluZyBjb21tYW5kIChzZWUgXGZCSk9CIENPTlRST0xcZlAgYWJvdmUpLiAgVGhlIHNoZWxsIGFsd2F5cworaW50ZXJ2ZW5pbmcgY29tbWFuZCAoc2VlCisuU00KKy5CICJKT0IgQ09OVFJPTCIKK2Fib3ZlKS4gIFRoZSBzaGVsbCBhbHdheXMKIHBvc3Rwb25lcyBleGl0aW5nIGlmIGFueSBqb2JzIGFyZSBzdG9wcGVkLgogLlRQIDgKIC5CIGNoZWNrd2luc2l6ZQpAQCAtODQ4MCw2ICs4NzUzLDE5IEBACiBjaGFuZ2VzIGl0cyBiZWhhdmlvciB0byB0aGF0IG9mIHZlcnNpb24gMy4xIHdpdGggcmVzcGVjdCB0byBxdW90ZWQKIGFyZ3VtZW50cyB0byB0aGUgY29uZGl0aW9uYWwgY29tbWFuZCdzID1+IG9wZXJhdG9yLgogLlRQIDgKKy5CIGNvbXBhdDMyCitJZiBzZXQsCisuQiBiYXNoCitjaGFuZ2VzIGl0cyBiZWhhdmlvciB0byB0aGF0IG9mIHZlcnNpb24gMy4yIHdpdGggcmVzcGVjdCB0byBsb2NhbGUtc3BlY2lmaWMKK3N0cmluZyBjb21wYXJpc29uIHdoZW4gdXNpbmcgdGhlIGNvbmRpdGlvbmFsIGNvbW1hbmQncyA8IGFuZCA+IG9wZXJhdG9ycy4KKy5UUCA4CisuQiBjb21wYXQ0MAorSWYgc2V0LAorLkIgYmFzaAorY2hhbmdlcyBpdHMgYmVoYXZpb3IgdG8gdGhhdCBvZiB2ZXJzaW9uIDQuMCB3aXRoIHJlc3BlY3QgdG8gbG9jYWxlLXNwZWNpZmljCitzdHJpbmcgY29tcGFyaXNvbiB3aGVuIHVzaW5nIHRoZSBjb25kaXRpb25hbCBjb21tYW5kJ3MgPCBhbmQgPiBvcGVyYXRvcnMKK2FuZCB0aGUgZWZmZWN0IG9mIGludGVycnVwdGluZyBhIGNvbW1hbmQgbGlzdC4KKy5UUCA4CiAuQiBkaXJzcGVsbAogSWYgc2V0LAogLkIgYmFzaApAQCAtODUyNiw4ICs4ODEyLDEyIEBACiBcZkJyZXR1cm5cZlAgaXMgc2ltdWxhdGVkLgogLlRQCiAuQiA0LgotXGZCQkFTSF9BUkdDXGZQIGFuZCBcZkJCQVNIX0FSR1ZcZlAgYXJlIHVwZGF0ZWQgYXMgZGVzY3JpYmVkIGluIHRoZWlyCi1kZXNjcmlwdGlvbnMgYWJvdmUuCisuU00KKy5CIEJBU0hfQVJHQworYW5kCisuU00KKy5CIEJBU0hfQVJHVgorYXJlIHVwZGF0ZWQgYXMgZGVzY3JpYmVkIGluIHRoZWlyIGRlc2NyaXB0aW9ucyBhYm92ZS4KIC5UUAogLkIgNS4KIEZ1bmN0aW9uIHRyYWNpbmcgaXMgZW5hYmxlZDogIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBzaGVsbCBmdW5jdGlvbnMsIGFuZApAQCAtODU1NCwxNyArODg0NCwyMiBAQAogcmVzdWx0IGluIGFuIGV4cGFuc2lvbiBlcnJvci4KIC5UUCA4CiAuQiBmb3JjZV9maWdub3JlCi1JZiBzZXQsIHRoZSBzdWZmaXhlcyBzcGVjaWZpZWQgYnkgdGhlIFxmQkZJR05PUkVcZlAgc2hlbGwgdmFyaWFibGUKK0lmIHNldCwgdGhlIHN1ZmZpeGVzIHNwZWNpZmllZCBieSB0aGUKKy5TTQorLkIgRklHTk9SRQorc2hlbGwgdmFyaWFibGUKIGNhdXNlIHdvcmRzIHRvIGJlIGlnbm9yZWQgd2hlbiBwZXJmb3JtaW5nIHdvcmQgY29tcGxldGlvbiBldmVuIGlmCiB0aGUgaWdub3JlZCB3b3JkcyBhcmUgdGhlIG9ubHkgcG9zc2libGUgY29tcGxldGlvbnMuCiBTZWUKIC5TTQogXGZCU0hFTEwgVkFSSUFCTEVTXGZQCi1hYm92ZSBmb3IgYSBkZXNjcmlwdGlvbiBvZiBcZkJGSUdOT1JFXGZQLgorYWJvdmUgZm9yIGEgZGVzY3JpcHRpb24gb2YKKy5TTQorLkJSIEZJR05PUkUgLgogVGhpcyBvcHRpb24gaXMgZW5hYmxlZCBieSBkZWZhdWx0LgogLlRQIDgKIC5CIGdsb2JzdGFyCi1JZiBzZXQsIHRoZSBwYXR0ZXJuIFxmQioqXGZQIHVzZWQgaW4gYSBmaWxlbmFtZSBleHBhbnNpb24gY29udGV4dCB3aWxsCitJZiBzZXQsIHRoZSBwYXR0ZXJuIFxmQioqXGZQIHVzZWQgaW4gYSBwYXRobmFtZSBleHBhbnNpb24gY29udGV4dCB3aWxsCiBtYXRjaCBhIGZpbGVzIGFuZCB6ZXJvIG9yIG1vcmUgZGlyZWN0b3JpZXMgYW5kIHN1YmRpcmVjdG9yaWVzLgogSWYgdGhlIHBhdHRlcm4gaXMgZm9sbG93ZWQgYnkgYSBcZkIvXGZQLCBvbmx5IGRpcmVjdG9yaWVzIGFuZAogc3ViZGlyZWN0b3JpZXMgbWF0Y2guCkBAIC04NTc2LDYgKzg4NzEsNyBAQAogLkIgaGlzdGFwcGVuZAogSWYgc2V0LCB0aGUgaGlzdG9yeSBsaXN0IGlzIGFwcGVuZGVkIHRvIHRoZSBmaWxlIG5hbWVkIGJ5IHRoZSB2YWx1ZQogb2YgdGhlCisuU00KIC5CIEhJU1RGSUxFCiB2YXJpYWJsZSB3aGVuIHRoZSBzaGVsbCBleGl0cywgcmF0aGVyIHRoYW4gb3ZlcndyaXRpbmcgdGhlIGZpbGUuCiAuVFAgOApAQCAtODY0Miw3ICs4OTM4LDEwIEBACiAuQiByZWFkbGluZQogaXMgYmVpbmcgdXNlZCwKIC5CIGJhc2gKLXdpbGwgbm90IGF0dGVtcHQgdG8gc2VhcmNoIHRoZSBcZkJQQVRIXGZQIGZvciBwb3NzaWJsZSBjb21wbGV0aW9ucyB3aGVuCit3aWxsIG5vdCBhdHRlbXB0IHRvIHNlYXJjaCB0aGUKKy5TTQorLkIgUEFUSAorZm9yIHBvc3NpYmxlIGNvbXBsZXRpb25zIHdoZW4KIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkIG9uIGFuIGVtcHR5IGxpbmUuCiAuVFAgOAogLkIgbm9jYXNlZ2xvYgpAQCAtODg1OSw2ICs5MTU4LDggQEAKIGlzIGVpdGhlcgogYSBzaWduYWwgbmFtZSBkZWZpbmVkIGluIDxcZklzaWduYWwuaFxmUD4sIG9yIGEgc2lnbmFsIG51bWJlci4KIFNpZ25hbCBuYW1lcyBhcmUgY2FzZSBpbnNlbnNpdGl2ZSBhbmQgdGhlIFNJRyBwcmVmaXggaXMgb3B0aW9uYWwuCisuaWYgdCAuc3AgMC41CisuaWYgbiAuc3AgMQogSWYgYQogLkkgc2lnc3BlYwogaXMKQEAgLTg4ODYsNiArOTE4NywxNyBAQAogLkkgc2lnc3BlYwogaXMKIC5TTQorLkJSIFJFVFVSTiAsCit0aGUgY29tbWFuZAorLkkgYXJnCitpcyBleGVjdXRlZCBlYWNoIHRpbWUgYSBzaGVsbCBmdW5jdGlvbiBvciBhIHNjcmlwdCBleGVjdXRlZCB3aXRoIHRoZQorXGZCLlxmUCBvciBcZkJzb3VyY2VcZlAgYnVpbHRpbnMgZmluaXNoZXMgZXhlY3V0aW5nLgorLmlmIHQgLnNwIDAuNQorLmlmIG4gLnNwIDEKK0lmIGEKKy5JIHNpZ3NwZWMKK2lzCisuU00KIC5CUiBFUlIgLAogdGhlIGNvbW1hbmQKIC5JIGFyZwpAQCAtODkxMCwxOCArOTIyMiwxMSBAQAogYmVpbmcgaW52ZXJ0ZWQgdmlhCiAuQlIgISAuCiBUaGVzZSBhcmUgdGhlIHNhbWUgY29uZGl0aW9ucyBvYmV5ZWQgYnkgdGhlIFxmQmVycmV4aXRcZlAgb3B0aW9uLgotSWYgYQotLkkgc2lnc3BlYwotaXMKLS5TTQotLkJSIFJFVFVSTiAsCi10aGUgY29tbWFuZAotLkkgYXJnCi1pcyBleGVjdXRlZCBlYWNoIHRpbWUgYSBzaGVsbCBmdW5jdGlvbiBvciBhIHNjcmlwdCBleGVjdXRlZCB3aXRoIHRoZQotXGZCLlxmUCBvciBcZkJzb3VyY2VcZlAgYnVpbHRpbnMgZmluaXNoZXMgZXhlY3V0aW5nLgorLmlmIHQgLnNwIDAuNQorLmlmIG4gLnNwIDEKIFNpZ25hbHMgaWdub3JlZCB1cG9uIGVudHJ5IHRvIHRoZSBzaGVsbCBjYW5ub3QgYmUgdHJhcHBlZCBvciByZXNldC4KIFRyYXBwZWQgc2lnbmFscyB0aGF0IGFyZSBub3QgYmVpbmcgaWdub3JlZCBhcmUgcmVzZXQgdG8gdGhlaXIgb3JpZ2luYWwKLXZhbHVlcyBpbiBhIGNoaWxkIHByb2Nlc3Mgd2hlbiBpdCBpcyBjcmVhdGVkLgordmFsdWVzIGluIGEgc3Vic2hlbGwgb3Igc3Vic2hlbGwgZW52aXJvbm1lbnQgd2hlbiBvbmUgaXMgY3JlYXRlZC4KIFRoZSByZXR1cm4gc3RhdHVzIGlzIGZhbHNlIGlmIGFueQogLkkgc2lnc3BlYwogaXMgaW52YWxpZDsgb3RoZXJ3aXNlCkBAIC05MTY3LDYgKzk0NzIsOCBAQAogcGFzc2VkIHRvIHN1YnNlcXVlbnQgY29tbWFuZHMuCiBJZiBhbnkgb2YKIC5TTQorLkJSIENPTVBfV09SREJSRUFLUyAsCisuU00KIC5CUiBSQU5ET00gLAogLlNNCiAuQlIgU0VDT05EUyAsCkBAIC05MjIzLDEwICs5NTMwLDE0IEBACiBjaGFuZ2luZyBkaXJlY3RvcmllcyB3aXRoIFxmQmNkXGZQCiAuSVAgXChidQogc2V0dGluZyBvciB1bnNldHRpbmcgdGhlIHZhbHVlcyBvZgorLlNNCiAuQlIgU0hFTEwgLAorLlNNCiAuQlIgUEFUSCAsCisuU00KIC5CUiBFTlYgLAogb3IKKy5TTQogLkIgQkFTSF9FTlYKIC5JUCBcKGJ1CiBzcGVjaWZ5aW5nIGNvbW1hbmQgbmFtZXMgY29udGFpbmluZwpAQCAtOTI0Niw3ICs5NTU3LDEwIEBACiAuSVAgXChidQogaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb25zIGZyb20gdGhlIHNoZWxsIGVudmlyb25tZW50IGF0IHN0YXJ0dXAKIC5JUCBcKGJ1Ci1wYXJzaW5nIHRoZSB2YWx1ZSBvZiBcZkJTSEVMTE9QVFNcZlAgZnJvbSB0aGUgc2hlbGwgZW52aXJvbm1lbnQgYXQgc3RhcnR1cAorcGFyc2luZyB0aGUgdmFsdWUgb2YKKy5TTQorLkIgU0hFTExPUFRTCitmcm9tIHRoZSBzaGVsbCBlbnZpcm9ubWVudCBhdCBzdGFydHVwCiAuSVAgXChidQogcmVkaXJlY3Rpbmcgb3V0cHV0IHVzaW5nIHRoZSA+LCA+fCwgPD4sID4mLCAmPiwgYW5kID4+IHJlZGlyZWN0aW9uIG9wZXJhdG9ycwogLklQIFwoYnUKZGlmZiAtLWdpdCBhL2RvYy9iYXNoLmh0bWwgYi9kb2MvYmFzaC5odG1sCmluZGV4IDQ4NDE3NjQuLjJhYTI4MjUgMTAwNjQ0Ci0tLSBhL2RvYy9iYXNoLmh0bWwKKysrIGIvZG9jL2Jhc2guaHRtbApAQCAtMyw3ICszLDcgQEAKIDwvSEVBRD4KIDxCT0RZPjxUQUJMRSBXSURUSD0xMDAlPgogPFRSPgotPFRIIEFMSUdOPUxFRlQgd2lkdGg9MzMlPkJBU0goMSk8VEggQUxJR049Q0VOVEVSIHdpZHRoPTMzJT4yMDA4IERlY2VtYmVyIDI5PFRIIEFMSUdOPVJJR0hUIHdpZHRoPTMzJT5CQVNIKDEpCis8VEggQUxJR049TEVGVCB3aWR0aD0zMyU+QkFTSCgxKTxUSCBBTElHTj1DRU5URVIgd2lkdGg9MzMlPjIwMDkgRGVjZW1iZXIgMjk8VEggQUxJR049UklHSFQgd2lkdGg9MzMlPkJBU0goMSkKIDwvVFI+CiA8L1RBQkxFPgogPEJSPjxBIEhSRUY9IiNpbmRleCI+SW5kZXg8L0E+CkBAIC01NTUsMTAgKzU1NSwyMCBAQAogSWYgdGhlIHNoZWxsIGlzIHN0YXJ0ZWQgd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgKGdyb3VwKSBpZCBub3QgZXF1YWwgdG8gdGhlCiByZWFsIHVzZXIgKGdyb3VwKSBpZCwgYW5kIHRoZSA8Qj4tcDwvQj4gb3B0aW9uIGlzIG5vdCBzdXBwbGllZCwgbm8gc3RhcnR1cAogZmlsZXMgYXJlIHJlYWQsIHNoZWxsIGZ1bmN0aW9ucyBhcmUgbm90IGluaGVyaXRlZCBmcm9tIHRoZSBlbnZpcm9ubWVudCwgdGhlCi08Rk9OVCBTSVpFPS0xPjxCPlNIRUxMT1BUUzwvQj4KKzxGT05UIFNJWkU9LTE+PEI+U0hFTExPUFRTPC9CPiwKIAogPC9GT05UPgotdmFyaWFibGUsIGlmIGl0IGFwcGVhcnMgaW4gdGhlIGVudmlyb25tZW50LCBpcyBpZ25vcmVkLAorPEZPTlQgU0laRT0tMT48Qj5CQVNIT1BUUzwvQj4sCisKKzwvRk9OVD4KKzxGT05UIFNJWkU9LTE+PEI+Q0RQQVRIPC9CPiwKKworPC9GT05UPgorYW5kCis8Rk9OVCBTSVpFPS0xPjxCPkdMT0JJR05PUkU8L0I+CisKKzwvRk9OVD4KK3ZhcmlhYmxlcywgaWYgdGhleSBhcHBlYXIgaW4gdGhlIGVudmlyb25tZW50LCBhcmUgaWdub3JlZCwKIGFuZCB0aGUgZWZmZWN0aXZlIHVzZXIgaWQgaXMgc2V0IHRvIHRoZSByZWFsIHVzZXIgaWQuCiBJZiB0aGUgPEI+LXA8L0I+IG9wdGlvbiBpcyBzdXBwbGllZCBhdCBpbnZvY2F0aW9uLCB0aGUgc3RhcnR1cCBiZWhhdmlvciBpcwogdGhlIHNhbWUsIGJ1dCB0aGUgZWZmZWN0aXZlIHVzZXIgaWQgaXMgbm90IHJlc2V0LgpAQCAtODk1LDYgKzkwNSwxMSBAQAogPFA+CiAKIAorV2hlbiB1c2VkIHdpdGggPEI+W1s8L0I+LCBUaGUgPEI+Jmx0OzwvQj4gYW5kIDxCPiZndDs8L0I+IG9wZXJhdG9ycyBzb3J0CitsZXhpY29ncmFwaGljYWxseSB1c2luZyB0aGUgY3VycmVudCBsb2NhbGUuCis8UD4KKworCiBXaGVuIHRoZSA8Qj49PTwvQj4gYW5kIDxCPiE9PC9CPiBvcGVyYXRvcnMgYXJlIHVzZWQsIHRoZSBzdHJpbmcgdG8gdGhlCiByaWdodCBvZiB0aGUgb3BlcmF0b3IgaXMgY29uc2lkZXJlZCBhIHBhdHRlcm4gYW5kIG1hdGNoZWQgYWNjb3JkaW5nCiB0byB0aGUgcnVsZXMgZGVzY3JpYmVkIGJlbG93IHVuZGVyIDxCPlBhdHRlcm4gTWF0Y2hpbmc8L0I+LgpAQCAtOTI2LDEwICs5NDEsMjEgQEAKIEFueSBwYXJ0IG9mIHRoZSBwYXR0ZXJuIG1heSBiZSBxdW90ZWQgdG8gZm9yY2UgaXQgdG8gYmUgbWF0Y2hlZCBhcyBhCiBzdHJpbmcuCiBTdWJzdHJpbmdzIG1hdGNoZWQgYnkgcGFyZW50aGVzaXplZCBzdWJleHByZXNzaW9ucyB3aXRoaW4gdGhlIHJlZ3VsYXIKLWV4cHJlc3Npb24gYXJlIHNhdmVkIGluIHRoZSBhcnJheSB2YXJpYWJsZSA8Qj5CQVNIX1JFTUFUQ0g8L0I+LgotVGhlIGVsZW1lbnQgb2YgPEI+QkFTSF9SRU1BVENIPC9CPiB3aXRoIGluZGV4IDAgaXMgdGhlIHBvcnRpb24gb2YgdGhlIHN0cmluZworZXhwcmVzc2lvbiBhcmUgc2F2ZWQgaW4gdGhlIGFycmF5IHZhcmlhYmxlCis8Rk9OVCBTSVpFPS0xPjxCPkJBU0hfUkVNQVRDSDwvQj4uCisKKzwvRk9OVD4KK1RoZSBlbGVtZW50IG9mCis8Rk9OVCBTSVpFPS0xPjxCPkJBU0hfUkVNQVRDSDwvQj4KKworPC9GT05UPgord2l0aCBpbmRleCAwIGlzIHRoZSBwb3J0aW9uIG9mIHRoZSBzdHJpbmcKIG1hdGNoaW5nIHRoZSBlbnRpcmUgcmVndWxhciBleHByZXNzaW9uLgotVGhlIGVsZW1lbnQgb2YgPEI+QkFTSF9SRU1BVENIPC9CPiB3aXRoIGluZGV4IDxJPm48L0k+IGlzIHRoZSBwb3J0aW9uIG9mIHRoZQorVGhlIGVsZW1lbnQgb2YKKzxGT05UIFNJWkU9LTE+PEI+QkFTSF9SRU1BVENIPC9CPgorCis8L0ZPTlQ+Cit3aXRoIGluZGV4IDxJPm48L0k+IGlzIHRoZSBwb3J0aW9uIG9mIHRoZQogc3RyaW5nIG1hdGNoaW5nIHRoZSA8ST5uPC9JPnRoIHBhcmVudGhlc2l6ZWQgc3ViZXhwcmVzc2lvbi4KIDxQPgogCkBAIC05ODQsNyArMTAxMCw3IEBACiB0aGUgZW50aXJlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uCiA8L0RMPgogCi08RFQ+PEI+Zm9yPC9CPiA8ST5uYW1lPC9JPiBbIDxCPmluPC9CPiA8ST53b3JkPC9JPiBdIDsgPEI+ZG88L0I+IDxJPmxpc3Q8L0k+IDsgPEI+ZG9uZTwvQj48REQ+Cis8RFQ+PEI+Zm9yPC9CPiA8ST5uYW1lPC9JPiBbIFsgPEI+aW48L0I+IFsgPEk+d29yZCAuLi48L0k+IF0gXSA7IF0gPEI+ZG88L0I+IDxJPmxpc3Q8L0k+IDsgPEI+ZG9uZTwvQj48REQ+CiBUaGUgbGlzdCBvZiB3b3JkcyBmb2xsb3dpbmcgPEI+aW48L0I+IGlzIGV4cGFuZGVkLCBnZW5lcmF0aW5nIGEgbGlzdAogb2YgaXRlbXMuCiBUaGUgdmFyaWFibGUgPEk+bmFtZTwvST4gaXMgc2V0IHRvIGVhY2ggZWxlbWVudCBvZiB0aGlzIGxpc3QKQEAgLTEwMjAsOCArMTA0Niw5IEBACiAKIDwvRk9OVD4KIGJlbG93KS4gIFRoZQotPEI+UFMzPC9CPgorPEZPTlQgU0laRT0tMT48Qj5QUzM8L0I+CiAKKzwvRk9OVD4KIHByb21wdCBpcyB0aGVuIGRpc3BsYXllZCBhbmQgYSBsaW5lIHJlYWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQuCiBJZiB0aGUgbGluZSBjb25zaXN0cyBvZiBhIG51bWJlciBjb3JyZXNwb25kaW5nIHRvIG9uZSBvZgogdGhlIGRpc3BsYXllZCB3b3JkcywgdGhlbiB0aGUgdmFsdWUgb2YKQEAgLTEwMzMsOCArMTA2MCw5IEBACiA8ST5uYW1lPC9JPgogCiB0byBiZSBzZXQgdG8gbnVsbC4gIFRoZSBsaW5lIHJlYWQgaXMgc2F2ZWQgaW4gdGhlIHZhcmlhYmxlCi08Qj5SRVBMWTwvQj4uCis8Rk9OVCBTSVpFPS0xPjxCPlJFUExZPC9CPi4KIAorPC9GT05UPgogVGhlCiA8ST5saXN0PC9JPgogCkBAIC0xMzUyLDYgKzEzODAsOSBAQAogPERUPjxCPlxlPC9CPgogCiA8REQ+Cis8RFQ+PEI+XEU8L0I+CisKKzxERD4KIGFuIGVzY2FwZSBjaGFyYWN0ZXIKIDxEVD48Qj5cZjwvQj4KIApAQCAtMTM4MSw2ICsxNDEyLDEwIEBACiAKIDxERD4KIHNpbmdsZSBxdW90ZQorPERUPjxCPlxkcTwvQj4KKworPEREPgorZG91YmxlIHF1b3RlCiA8RFQ+PEI+XDwvQj48ST5ubm48L0k+CiAKIDxERD4KQEAgLTE0MDQsOCArMTQzOSw4IEBACiBub3QgYmVlbiBwcmVzZW50LgogPFA+CiAKLUEgZG91YmxlLXF1b3RlZCBzdHJpbmcgcHJlY2VkZWQgYnkgYSBkb2xsYXIgc2lnbiAoPEI+JDwvQj4pIHdpbGwgY2F1c2UKLXRoZSBzdHJpbmcgdG8gYmUgdHJhbnNsYXRlZCBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgbG9jYWxlLgorQSBkb3VibGUtcXVvdGVkIHN0cmluZyBwcmVjZWRlZCBieSBhIGRvbGxhciBzaWduICg8Qj4kPC9CPmRxPEk+c3RyaW5nPC9JPmRxKQord2lsbCBjYXVzZSB0aGUgc3RyaW5nIHRvIGJlIHRyYW5zbGF0ZWQgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IGxvY2FsZS4KIElmIHRoZSBjdXJyZW50IGxvY2FsZSBpcyA8Qj5DPC9CPiBvciA8Qj5QT1NJWDwvQj4sIHRoZSBkb2xsYXIgc2lnbgogaXMgaWdub3JlZC4KIElmIHRoZSBzdHJpbmcgaXMgdHJhbnNsYXRlZCBhbmQgcmVwbGFjZWQsIHRoZSByZXBsYWNlbWVudCBpcwpAQCAtMTY5NSw2ICsxNzMwLDM0IEBACiBFeHBhbmRzIHRvIHRoZSBmdWxsIGZpbGUgbmFtZSB1c2VkIHRvIGludm9rZSB0aGlzIGluc3RhbmNlIG9mCiA8Qj5iYXNoPC9CPi4KIAorPERUPjxCPkJBU0hPUFRTPC9CPgorCis8REQ+CitBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIGVuYWJsZWQgc2hlbGwgb3B0aW9ucy4gIEVhY2ggd29yZCBpbgordGhlIGxpc3QgaXMgYSB2YWxpZCBhcmd1bWVudCBmb3IgdGhlCis8Qj4tczwvQj4KKworb3B0aW9uIHRvIHRoZQorPEI+c2hvcHQ8L0I+CisKK2J1aWx0aW4gY29tbWFuZCAoc2VlCis8Rk9OVCBTSVpFPS0xPjxCPlNIRUxMIEJVSUxUSU4gQ09NTUFORFM8L0I+CisKKzwvRk9OVD4KK2JlbG93KS4gIFRoZSBvcHRpb25zIGFwcGVhcmluZyBpbgorPEZPTlQgU0laRT0tMT48Qj5CQVNIT1BUUzwvQj4KKworPC9GT05UPgorYXJlIHRob3NlIHJlcG9ydGVkIGFzCis8ST5vbjwvST4KKworYnkgPEI+c2hvcHQ8L0I+LgorSWYgdGhpcyB2YXJpYWJsZSBpcyBpbiB0aGUgZW52aXJvbm1lbnQgd2hlbgorPEI+YmFzaDwvQj4KKworc3RhcnRzIHVwLCBlYWNoIHNoZWxsIG9wdGlvbiBpbiB0aGUgbGlzdCB3aWxsIGJlIGVuYWJsZWQgYmVmb3JlCityZWFkaW5nIGFueSBzdGFydHVwIGZpbGVzLgorVGhpcyB2YXJpYWJsZSBpcyByZWFkLW9ubHkuCiA8RFQ+PEI+QkFTSFBJRDwvQj4KIAogPEREPgpAQCAtMTcxNyw5ICsxNzgwLDE0IEBACiBwYXJhbWV0ZXJzIHRvIHRoZSBjdXJyZW50IHN1YnJvdXRpbmUgKHNoZWxsIGZ1bmN0aW9uIG9yIHNjcmlwdCBleGVjdXRlZAogd2l0aCA8Qj4uPC9CPiBvciA8Qj5zb3VyY2U8L0I+KSBpcyBhdCB0aGUgdG9wIG9mIHRoZSBzdGFjay4KIFdoZW4gYSBzdWJyb3V0aW5lIGlzIGV4ZWN1dGVkLCB0aGUgbnVtYmVyIG9mIHBhcmFtZXRlcnMgcGFzc2VkIGlzIHB1c2hlZCBvbnRvCi08Qj5CQVNIX0FSR0M8L0I+LgotVGhlIHNoZWxsIHNldHMgPEI+QkFTSF9BUkdDPC9CPiBvbmx5IHdoZW4gaW4gZXh0ZW5kZWQgZGVidWdnaW5nIG1vZGUKLShzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZQorPEZPTlQgU0laRT0tMT48Qj5CQVNIX0FSR0M8L0I+LgorCis8L0ZPTlQ+CitUaGUgc2hlbGwgc2V0cworPEZPTlQgU0laRT0tMT48Qj5CQVNIX0FSR0M8L0I+CisKKzwvRk9OVD4KK29ubHkgd2hlbiBpbiBleHRlbmRlZCBkZWJ1Z2dpbmcgbW9kZSAoc2VlIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUKIDxCPmV4dGRlYnVnPC9CPgogCiBvcHRpb24gdG8gdGhlCkBAIC0xNzMzLDggKzE4MDEsMTUgQEAKIGV4ZWN1dGlvbiBjYWxsIHN0YWNrLiAgVGhlIGZpbmFsIHBhcmFtZXRlciBvZiB0aGUgbGFzdCBzdWJyb3V0aW5lIGNhbGwKIGlzIGF0IHRoZSB0b3Agb2YgdGhlIHN0YWNrOyB0aGUgZmlyc3QgcGFyYW1ldGVyIG9mIHRoZSBpbml0aWFsIGNhbGwgaXMKIGF0IHRoZSBib3R0b20uICBXaGVuIGEgc3Vicm91dGluZSBpcyBleGVjdXRlZCwgdGhlIHBhcmFtZXRlcnMgc3VwcGxpZWQKLWFyZSBwdXNoZWQgb250byA8Qj5CQVNIX0FSR1Y8L0I+LgotVGhlIHNoZWxsIHNldHMgPEI+QkFTSF9BUkdWPC9CPiBvbmx5IHdoZW4gaW4gZXh0ZW5kZWQgZGVidWdnaW5nIG1vZGUKK2FyZSBwdXNoZWQgb250bworPEZPTlQgU0laRT0tMT48Qj5CQVNIX0FSR1Y8L0I+LgorCis8L0ZPTlQ+CitUaGUgc2hlbGwgc2V0cworPEZPTlQgU0laRT0tMT48Qj5CQVNIX0FSR1Y8L0I+CisKKzwvRk9OVD4KK29ubHkgd2hlbiBpbiBleHRlbmRlZCBkZWJ1Z2dpbmcgbW9kZQogKHNlZSB0aGUgZGVzY3JpcHRpb24gb2YgdGhlCiA8Qj5leHRkZWJ1ZzwvQj4KIApAQCAtMTc2MywxMyArMTgzOCwyMCBAQAogCiA8REQ+CiBBbiBhcnJheSB2YXJpYWJsZSB3aG9zZSBtZW1iZXJzIGFyZSB0aGUgbGluZSBudW1iZXJzIGluIHNvdXJjZSBmaWxlcwotY29ycmVzcG9uZGluZyB0byBlYWNoIG1lbWJlciBvZiA8Qj5GVU5DTkFNRTwvQj4uCitjb3JyZXNwb25kaW5nIHRvIGVhY2ggbWVtYmVyIG9mCis8Rk9OVCBTSVpFPS0xPjxCPkZVTkNOQU1FPC9CPi4KKworPC9GT05UPgogPEI+JHtCQVNIX0xJTkVOT1s8L0I+PEk+JGk8L0k+PEI+XX08L0I+IGlzIHRoZSBsaW5lIG51bWJlciBpbiB0aGUgc291cmNlCiBmaWxlIHdoZXJlIDxCPiR7RlVOQ05BTUVbPC9CPjxJPiRpPC9JPjxCPl19PC9CPiB3YXMgY2FsbGVkCiAob3IgPEI+JHtCQVNIX0xJTkVOT1s8L0I+PEk+JGktMTwvST48Qj5dfTwvQj4gaWYgcmVmZXJlbmNlZCB3aXRoaW4gYW5vdGhlcgogc2hlbGwgZnVuY3Rpb24pLgotVGhlIGNvcnJlc3BvbmRpbmcgc291cmNlIGZpbGUgbmFtZSBpcyA8Qj4ke0JBU0hfU09VUkNFWzwvQj48ST4kaTwvST48Qj5dfS4KLVVzZSBMSU5FTk88L0I+IHRvIG9idGFpbiB0aGUgY3VycmVudCBsaW5lIG51bWJlci4KK1RoZSBjb3JyZXNwb25kaW5nIHNvdXJjZSBmaWxlIG5hbWUgaXMgPEI+JHtCQVNIX1NPVVJDRVs8L0I+PEk+JGk8L0k+PEI+XX08L0I+LgorVXNlCis8Rk9OVCBTSVpFPS0xPjxCPkxJTkVOTzwvQj4KKworPC9GT05UPgordG8gb2J0YWluIHRoZSBjdXJyZW50IGxpbmUgbnVtYmVyLgogPERUPjxCPkJBU0hfUkVNQVRDSDwvQj4KIAogPEREPgpAQCAtMTc4NCw3ICsxODY2LDExIEBACiAKIDxERD4KIEFuIGFycmF5IHZhcmlhYmxlIHdob3NlIG1lbWJlcnMgYXJlIHRoZSBzb3VyY2UgZmlsZW5hbWVzIGNvcnJlc3BvbmRpbmcKLXRvIHRoZSBlbGVtZW50cyBpbiB0aGUgPEI+RlVOQ05BTUU8L0I+IGFycmF5IHZhcmlhYmxlLgordG8gdGhlIGVsZW1lbnRzIGluIHRoZQorPEZPTlQgU0laRT0tMT48Qj5GVU5DTkFNRTwvQj4KKworPC9GT05UPgorYXJyYXkgdmFyaWFibGUuCiA8RFQ+PEI+QkFTSF9TVUJTSEVMTDwvQj4KIAogPEREPgpAQCAtMTgyNSw3ICsxOTExLDEwIEBACiA8RFQ+PEI+QkFTSF9WRVJTSU5GT1s8L0I+NV0KIAogPEREPgotVGhlIHZhbHVlIG9mIDxCPk1BQ0hUWVBFPC9CPi4KK1RoZSB2YWx1ZSBvZgorPEZPTlQgU0laRT0tMT48Qj5NQUNIVFlQRTwvQj4uCisKKzwvRk9OVD4KIAogPC9ETD48L0RMPgogCkBAIC0xODg1LDcgKzE5NzQsNyBAQAogPERUPjxCPkNPTVBfV09SREJSRUFLUzwvQj4KIAogPEREPgotVGhlIHNldCBvZiBjaGFyYWN0ZXJzIHRoYXQgdGhlIFJlYWRsaW5lIGxpYnJhcnkgdHJlYXRzIGFzIHdvcmQKK1RoZSBzZXQgb2YgY2hhcmFjdGVycyB0aGF0IHRoZSA8Qj5yZWFkbGluZTwvQj4gbGlicmFyeSB0cmVhdHMgYXMgd29yZAogc2VwYXJhdG9ycyB3aGVuIHBlcmZvcm1pbmcgd29yZCBjb21wbGV0aW9uLgogSWYKIDxGT05UIFNJWkU9LTE+PEI+Q09NUF9XT1JEQlJFQUtTPC9CPgpAQCAtMTg5OCw4ICsxOTg3LDExIEBACiA8REQ+CiBBbiBhcnJheSB2YXJpYWJsZSAoc2VlIDxCPkFycmF5czwvQj4gYmVsb3cpIGNvbnNpc3Rpbmcgb2YgdGhlIGluZGl2aWR1YWwKIHdvcmRzIGluIHRoZSBjdXJyZW50IGNvbW1hbmQgbGluZS4KLVRoZSB3b3JkcyBhcmUgc3BsaXQgb24gc2hlbGwgbWV0YWNoYXJhY3RlcnMgYXMgdGhlIHNoZWxsIHBhcnNlciB3b3VsZAotc2VwYXJhdGUgdGhlbS4KK1RoZSBsaW5lIGlzIHNwbGl0IGludG8gd29yZHMgYXMgPEI+cmVhZGxpbmU8L0I+IHdvdWxkIHNwbGl0IGl0LCB1c2luZworPEZPTlQgU0laRT0tMT48Qj5DT01QX1dPUkRCUkVBS1M8L0I+CisKKzwvRk9OVD4KK2FzIGRlc2NyaWJlZCBhYm92ZS4KIFRoaXMgdmFyaWFibGUgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc2hlbGwgZnVuY3Rpb25zIGludm9rZWQgYnkgdGhlCiBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmYWNpbGl0aWVzIChzZWUgPEI+UHJvZ3JhbW1hYmxlIENvbXBsZXRpb248L0I+CiBiZWxvdykuCkBAIC0yMjA0LDYgKzIyOTYsMzIgQEAKIEEgc2FtcGxlIHZhbHVlIGlzCiA8VFQ+JnF1b3Q7Ljp+Oi91c3ImcXVvdDs8L1RUPi4KIAorPERUPjxCPkJBU0hfWFRSQUNFRkQ8L0I+CisKKzxERD4KK0lmIHNldCB0byBhbiBpbnRlZ2VyIGNvcnJlc3BvbmRpbmcgdG8gYSB2YWxpZCBmaWxlIGRlc2NyaXB0b3IsIDxCPmJhc2g8L0I+Cit3aWxsIHdyaXRlIHRoZSB0cmFjZSBvdXRwdXQgZ2VuZXJhdGVkIHdoZW4KKzxUVD5zZXQgLXg8L1RUPgorCitpcyBlbmFibGVkIHRvIHRoYXQgZmlsZSBkZXNjcmlwdG9yLgorVGhlIGZpbGUgZGVzY3JpcHRvciBpcyBjbG9zZWQgd2hlbgorPEZPTlQgU0laRT0tMT48Qj5CQVNIX1hUUkFDRUZEPC9CPgorCis8L0ZPTlQ+CitpcyB1bnNldCBvciBhc3NpZ25lZCBhIG5ldyB2YWx1ZS4KK1Vuc2V0dGluZworPEZPTlQgU0laRT0tMT48Qj5CQVNIX1hUUkFDRUZEPC9CPgorCis8L0ZPTlQ+CitvciBhc3NpZ25pbmcgaXQgdGhlIGVtcHR5IHN0cmluZyBjYXVzZXMgdGhlCit0cmFjZSBvdXRwdXQgdG8gYmUgc2VudCB0byB0aGUgc3RhbmRhcmQgZXJyb3IuCitOb3RlIHRoYXQgc2V0dGluZworPEZPTlQgU0laRT0tMT48Qj5CQVNIX1hUUkFDRUZEPC9CPgorCis8L0ZPTlQ+Cit0byAyICh0aGUgc3RhbmRhcmQgZXJyb3IgZmlsZQorZGVzY3JpcHRvcikgYW5kIHRoZW4gdW5zZXR0aW5nIGl0IHdpbGwgcmVzdWx0IGluIHRoZSBzdGFuZGFyZCBlcnJvcgorYmVpbmcgY2xvc2VkLgogPERUPjxCPkNPTFVNTlM8L0I+CiAKIDxERD4KQEAgLTIyODUsMTUgKzI0MDMsMjEgQEAKIGNhdXNlcyBhbGwgcHJldmlvdXMgbGluZXMgbWF0Y2hpbmcgdGhlIGN1cnJlbnQgbGluZSB0byBiZSByZW1vdmVkIGZyb20KIHRoZSBoaXN0b3J5IGxpc3QgYmVmb3JlIHRoYXQgbGluZSBpcyBzYXZlZC4KIEFueSB2YWx1ZSBub3QgaW4gdGhlIGFib3ZlIGxpc3QgaXMgaWdub3JlZC4KLUlmIDxCPkhJU1RDT05UUk9MPC9CPiBpcyB1bnNldCwgb3IgZG9lcyBub3QgaW5jbHVkZSBhIHZhbGlkIHZhbHVlLAorSWYKKzxGT05UIFNJWkU9LTE+PEI+SElTVENPTlRST0w8L0I+CisKKzwvRk9OVD4KK2lzIHVuc2V0LCBvciBkb2VzIG5vdCBpbmNsdWRlIGEgdmFsaWQgdmFsdWUsCiBhbGwgbGluZXMgcmVhZCBieSB0aGUgc2hlbGwgcGFyc2VyIGFyZSBzYXZlZCBvbiB0aGUgaGlzdG9yeSBsaXN0LAogc3ViamVjdCB0byB0aGUgdmFsdWUgb2YKLTxCPkhJU1RJR05PUkU8L0I+LgorPEZPTlQgU0laRT0tMT48Qj5ISVNUSUdOT1JFPC9CPi4KIAorPC9GT05UPgogVGhlIHNlY29uZCBhbmQgc3Vic2VxdWVudCBsaW5lcyBvZiBhIG11bHRpLWxpbmUgY29tcG91bmQgY29tbWFuZCBhcmUKIG5vdCB0ZXN0ZWQsIGFuZCBhcmUgYWRkZWQgdG8gdGhlIGhpc3RvcnkgcmVnYXJkbGVzcyBvZiB0aGUgdmFsdWUgb2YKLTxCPkhJU1RDT05UUk9MPC9CPi4KKzxGT05UIFNJWkU9LTE+PEI+SElTVENPTlRST0w8L0I+LgogCis8L0ZPTlQ+CiA8RFQ+PEI+SElTVEZJTEU8L0I+CiAKIDxERD4KQEAgLTIzMjAsMTYgKzI0NDQsMTggQEAKIGJlZ2lubmluZyBvZiB0aGUgbGluZSBhbmQgbXVzdCBtYXRjaCB0aGUgY29tcGxldGUgbGluZSAobm8gaW1wbGljaXQKIGA8Qj4qPC9CPicgaXMgYXBwZW5kZWQpLiAgRWFjaCBwYXR0ZXJuIGlzIHRlc3RlZCBhZ2FpbnN0IHRoZSBsaW5lCiBhZnRlciB0aGUgY2hlY2tzIHNwZWNpZmllZCBieQotPEI+SElTVENPTlRST0w8L0I+Cis8Rk9OVCBTSVpFPS0xPjxCPkhJU1RDT05UUk9MPC9CPgogCis8L0ZPTlQ+CiBhcmUgYXBwbGllZC4KIEluIGFkZGl0aW9uIHRvIHRoZSBub3JtYWwgc2hlbGwgcGF0dGVybiBtYXRjaGluZyBjaGFyYWN0ZXJzLCBgPEI+JmFtcDs8L0I+JwogbWF0Y2hlcyB0aGUgcHJldmlvdXMgaGlzdG9yeSBsaW5lLiAgYDxCPiZhbXA7PC9CPicgbWF5IGJlIGVzY2FwZWQgdXNpbmcgYQogYmFja3NsYXNoOyB0aGUgYmFja3NsYXNoIGlzIHJlbW92ZWQgYmVmb3JlIGF0dGVtcHRpbmcgYSBtYXRjaC4KIFRoZSBzZWNvbmQgYW5kIHN1YnNlcXVlbnQgbGluZXMgb2YgYSBtdWx0aS1saW5lIGNvbXBvdW5kIGNvbW1hbmQgYXJlCiBub3QgdGVzdGVkLCBhbmQgYXJlIGFkZGVkIHRvIHRoZSBoaXN0b3J5IHJlZ2FyZGxlc3Mgb2YgdGhlIHZhbHVlIG9mCi08Qj5ISVNUSUdOT1JFPC9CPi4KKzxGT05UIFNJWkU9LTE+PEI+SElTVElHTk9SRTwvQj4uCiAKKzwvRk9OVD4KIDxEVD48Qj5ISVNUU0laRTwvQj4KIAogPEREPgpAQCAtMjM3NCw3ICsyNTAwLDggQEAKIDxGT05UIFNJWkU9LTE+PEI+SE9TVEZJTEU8L0I+CiAKIDwvRk9OVD4KLWlzIHNldCwgYnV0IGhhcyBubyB2YWx1ZSwgPEI+YmFzaDwvQj4gYXR0ZW1wdHMgdG8gcmVhZAoraXMgc2V0LCBidXQgaGFzIG5vIHZhbHVlLCBvciBkb2VzIG5vdCBuYW1lIGEgcmVhZGFibGUgZmlsZSwKKzxCPmJhc2g8L0I+IGF0dGVtcHRzIHRvIHJlYWQKIAogPEk+L2V0Yy9ob3N0czwvST4KIApAQCAtMjQ0Myw3ICsyNTcwLDExIEBACiA8RFQ+PEI+TENfQUxMPC9CPgogCiA8REQ+Ci1UaGlzIHZhcmlhYmxlIG92ZXJyaWRlcyB0aGUgdmFsdWUgb2YgPEI+TEFORzwvQj4gYW5kIGFueSBvdGhlcgorVGhpcyB2YXJpYWJsZSBvdmVycmlkZXMgdGhlIHZhbHVlIG9mCis8Rk9OVCBTSVpFPS0xPjxCPkxBTkc8L0I+CisKKzwvRk9OVD4KK2FuZCBhbnkgb3RoZXIKIDxCPkxDXzwvQj4gdmFyaWFibGUgc3BlY2lmeWluZyBhIGxvY2FsZSBjYXRlZ29yeS4KIDxEVD48Qj5MQ19DT0xMQVRFPC9CPgogCkBAIC0yNDcxLDcgKzI2MDIsMTAgQEAKIAogPEREPgogVXNlZCBieSB0aGUgPEI+c2VsZWN0PC9CPiBidWlsdGluIGNvbW1hbmQgdG8gZGV0ZXJtaW5lIHRoZSBjb2x1bW4gbGVuZ3RoCi1mb3IgcHJpbnRpbmcgc2VsZWN0aW9uIGxpc3RzLiAgQXV0b21hdGljYWxseSBzZXQgdXBvbiByZWNlaXB0IG9mIGEgU0lHV0lOQ0guCitmb3IgcHJpbnRpbmcgc2VsZWN0aW9uIGxpc3RzLiAgQXV0b21hdGljYWxseSBzZXQgdXBvbiByZWNlaXB0IG9mIGEKKzxGT05UIFNJWkU9LTE+PEI+U0lHV0lOQ0g8L0I+LgorCis8L0ZPTlQ+CiA8RFQ+PEI+TUFJTDwvQj4KIAogPEREPgpAQCAtMjU0NCw4ICsyNjc4LDExIEBACiAKIDwvRk9OVD4KIGJlbG93KS4KLUEgemVyby1sZW5ndGggKG51bGwpIGRpcmVjdG9yeSBuYW1lIGluIHRoZSB2YWx1ZSBvZiA8Qj5QQVRIPC9CPiBpbmRpY2F0ZXMgdGhlCi1jdXJyZW50IGRpcmVjdG9yeS4KK0EgemVyby1sZW5ndGggKG51bGwpIGRpcmVjdG9yeSBuYW1lIGluIHRoZSB2YWx1ZSBvZgorPEZPTlQgU0laRT0tMT48Qj5QQVRIPC9CPgorCis8L0ZPTlQ+CitpbmRpY2F0ZXMgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LgogQSBudWxsIGRpcmVjdG9yeSBuYW1lIG1heSBhcHBlYXIgYXMgdHdvIGFkamFjZW50IGNvbG9ucywgb3IgYXMgYW4gaW5pdGlhbAogb3IgdHJhaWxpbmcgY29sb24uCiBUaGUgZGVmYXVsdCBwYXRoIGlzIHN5c3RlbS1kZXBlbmRlbnQsCkBAIC0yNTc2LDggKzI3MTMsOCBAQAogCiA8REQ+CiBJZiBzZXQgdG8gYSBudW1iZXIgZ3JlYXRlciB0aGFuIHplcm8sIHRoZSB2YWx1ZSBpcyB1c2VkIGFzIHRoZSBudW1iZXIgb2YKLXRyYWlsaW5nIGRpcmVjdG9yeSBjb21wb25lbnRzIHRvIHJldGFpbiB3aGVuIGV4cGFuZGluZyB0aGUgPEI+XHcgYW5kCi1cVzwvQj4gcHJvbXB0IHN0cmluZyBlc2NhcGVzIChzZWUKK3RyYWlsaW5nIGRpcmVjdG9yeSBjb21wb25lbnRzIHRvIHJldGFpbiB3aGVuIGV4cGFuZGluZyB0aGUgPEI+XHc8L0I+IGFuZAorPEI+XFc8L0I+IHByb21wdCBzdHJpbmcgZXNjYXBlcyAoc2VlCiA8Rk9OVCBTSVpFPS0xPjxCPlBST01QVElORzwvQj4KIAogPC9GT05UPgpAQCAtMjU5NSw4ICsyNzMyLDkgQEAKIAogPEREPgogVGhlIHZhbHVlIG9mIHRoaXMgcGFyYW1ldGVyIGlzIGV4cGFuZGVkIGFzIHdpdGgKLTxCPlBTMTwvQj4KKzxGT05UIFNJWkU9LTE+PEI+UFMxPC9CPgogCis8L0ZPTlQ+CiBhbmQgdXNlZCBhcyB0aGUgc2Vjb25kYXJ5IHByb21wdCBzdHJpbmcuICBUaGUgZGVmYXVsdCBpcwogYGA8Qj4mZ3Q7IDwvQj4nJy4KIDxEVD48Qj5QUzM8L0I+CkBAIC0yNjE0LDggKzI3NTIsOSBAQAogCiA8REQ+CiBUaGUgdmFsdWUgb2YgdGhpcyBwYXJhbWV0ZXIgaXMgZXhwYW5kZWQgYXMgd2l0aAotPEI+UFMxPC9CPgorPEZPTlQgU0laRT0tMT48Qj5QUzE8L0I+CiAKKzwvRk9OVD4KIGFuZCB0aGUgdmFsdWUgaXMgcHJpbnRlZCBiZWZvcmUgZWFjaCBjb21tYW5kCiA8Qj5iYXNoPC9CPgogCkBAIC0yNjkyLDEwICsyODMxLDE4IEBACiA8RFQ+PEI+VE1PVVQ8L0I+CiAKIDxERD4KLUlmIHNldCB0byBhIHZhbHVlIGdyZWF0ZXIgdGhhbiB6ZXJvLCA8Qj5UTU9VVDwvQj4gaXMgdHJlYXRlZCBhcyB0aGUKK0lmIHNldCB0byBhIHZhbHVlIGdyZWF0ZXIgdGhhbiB6ZXJvLAorPEZPTlQgU0laRT0tMT48Qj5UTU9VVDwvQj4KKworPC9GT05UPgoraXMgdHJlYXRlZCBhcyB0aGUKIGRlZmF1bHQgdGltZW91dCBmb3IgdGhlIDxCPnJlYWQ8L0I+IGJ1aWx0aW4uCiBUaGUgPEI+c2VsZWN0PC9CPiBjb21tYW5kIHRlcm1pbmF0ZXMgaWYgaW5wdXQgZG9lcyBub3QgYXJyaXZlCi1hZnRlciA8Qj5UTU9VVDwvQj4gc2Vjb25kcyB3aGVuIGlucHV0IGlzIGNvbWluZyBmcm9tIGEgdGVybWluYWwuCithZnRlcgorPEZPTlQgU0laRT0tMT48Qj5UTU9VVDwvQj4KKworPC9GT05UPgorc2Vjb25kcyB3aGVuIGlucHV0IGlzIGNvbWluZyBmcm9tIGEgdGVybWluYWwuCiBJbiBhbiBpbnRlcmFjdGl2ZSBzaGVsbCwgdGhlIHZhbHVlIGlzIGludGVycHJldGVkIGFzIHRoZQogbnVtYmVyIG9mIHNlY29uZHMgdG8gd2FpdCBmb3IgaW5wdXQgYWZ0ZXIgaXNzdWluZyB0aGUgcHJpbWFyeSBwcm9tcHQuCiA8Qj5CYXNoPC9CPgpAQCAtMjg2NiwxMyArMzAxMywxNyBAQAogcmVmZXJlbmNpbmcgdGhlIGFycmF5IHdpdGggYSBzdWJzY3JpcHQgb2YgMC4KIDxQPgogCitBbiBhcnJheSB2YXJpYWJsZSBpcyBjb25zaWRlcmVkIHNldCBpZiBhIHN1YnNjcmlwdCBoYXMgYmVlbiBhc3NpZ25lZCBhCit2YWx1ZS4gIFRoZSBudWxsIHN0cmluZyBpcyBhIHZhbGlkIHZhbHVlLgorPFA+CisKIFRoZQogPEI+dW5zZXQ8L0I+CiAKIGJ1aWx0aW4gaXMgdXNlZCB0byBkZXN0cm95IGFycmF5cy4gIDxCPnVuc2V0PC9CPiA8ST5uYW1lPC9JPls8ST5zdWJzY3JpcHQ8L0k+XQogZGVzdHJveXMgdGhlIGFycmF5IGVsZW1lbnQgYXQgaW5kZXggPEk+c3Vic2NyaXB0PC9JPi4KLUNhcmUgbXVzdCBiZSB0YWtlbiB0byBhdm9pZCB1bndhbnRlZCBzaWRlIGVmZmVjdHMgY2F1c2VkIGJ5IGZpbGVuYW1lCi1nZW5lcmF0aW9uLgorQ2FyZSBtdXN0IGJlIHRha2VuIHRvIGF2b2lkIHVud2FudGVkIHNpZGUgZWZmZWN0cyBjYXVzZWQgYnkgcGF0aG5hbWUKK2V4cGFuc2lvbi4KIDxCPnVuc2V0PC9CPiA8ST5uYW1lPC9JPiwgd2hlcmUgPEk+bmFtZTwvST4gaXMgYW4gYXJyYXksIG9yCiA8Qj51bnNldDwvQj4gPEk+bmFtZTwvST5bPEk+c3Vic2NyaXB0PC9JPl0sIHdoZXJlCiA8ST5zdWJzY3JpcHQ8L0k+IGlzIDxCPio8L0I+IG9yIDxCPkA8L0I+LCByZW1vdmVzIHRoZSBlbnRpcmUgYXJyYXkuCkBAIC0zMTgwLDcgKzMzMzEsNyBAQAogPC9ETD4KIDxQPgogCi1JZiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIDxJPnBhcmFtZXRlcjwvST4gaXMgYW4gZXhjbGFtYXRpb24gcG9pbnQsCitJZiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIDxJPnBhcmFtZXRlcjwvST4gaXMgYW4gZXhjbGFtYXRpb24gcG9pbnQgKDxCPiE8L0I+KSwKIGEgbGV2ZWwgb2YgdmFyaWFibGUgaW5kaXJlY3Rpb24gaXMgaW50cm9kdWNlZC4KIDxCPkJhc2g8L0I+IHVzZXMgdGhlIHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBmb3JtZWQgZnJvbSB0aGUgcmVzdCBvZgogPEk+cGFyYW1ldGVyPC9JPiBhcyB0aGUgbmFtZSBvZiB0aGUgdmFyaWFibGU7IHRoaXMgdmFyaWFibGUgaXMgdGhlbgpAQCAtMzg1OCw3ICs0MDA5LDcgQEAKIDxERD4KIE1hdGNoZXMgYW55IHN0cmluZywgaW5jbHVkaW5nIHRoZSBudWxsIHN0cmluZy4KIFdoZW4gdGhlIDxCPmdsb2JzdGFyPC9CPiBzaGVsbCBvcHRpb24gaXMgZW5hYmxlZCwgYW5kIDxCPio8L0I+IGlzIHVzZWQgaW4KLWEgZmlsZW5hbWUgZXhwYW5zaW9uIGNvbnRleHQsIHR3byBhZGphY2VudCA8Qj4qPC9CPnMgdXNlZCBhcyBhIHNpbmdsZQorYSBwYXRobmFtZSBleHBhbnNpb24gY29udGV4dCwgdHdvIGFkamFjZW50IDxCPio8L0I+cyB1c2VkIGFzIGEgc2luZ2xlCiBwYXR0ZXJuIHdpbGwgbWF0Y2ggYWxsIGZpbGVzIGFuZCB6ZXJvIG9yIG1vcmUgZGlyZWN0b3JpZXMgYW5kCiBzdWJkaXJlY3Rvcmllcy4KIElmIGZvbGxvd2VkIGJ5IGEgPEI+LzwvQj4sIHR3byBhZGphY2VudCA8Qj4qPC9CPnMgd2lsbCBtYXRjaCBvbmx5IGRpcmVjdG9yaWVzCkBAIC0zODg2LDcgKzQwMzcsMTEgQEAKIAogdGhlbiBhbnkgY2hhcmFjdGVyIG5vdCBlbmNsb3NlZCBpcyBtYXRjaGVkLgogVGhlIHNvcnRpbmcgb3JkZXIgb2YgY2hhcmFjdGVycyBpbiByYW5nZSBleHByZXNzaW9ucyBpcyBkZXRlcm1pbmVkIGJ5Ci10aGUgY3VycmVudCBsb2NhbGUgYW5kIHRoZSB2YWx1ZSBvZiB0aGUgPEI+TENfQ09MTEFURTwvQj4gc2hlbGwgdmFyaWFibGUsCit0aGUgY3VycmVudCBsb2NhbGUgYW5kIHRoZSB2YWx1ZSBvZiB0aGUKKzxGT05UIFNJWkU9LTE+PEI+TENfQ09MTEFURTwvQj4KKworPC9GT05UPgorc2hlbGwgdmFyaWFibGUsCiBpZiBzZXQuCiBBIAogPEI+LTwvQj4KQEAgLTQwMTMsNiArNDE2OCwxNSBAQAogbGVmdCB0byByaWdodC4KIDxQPgogCitFYWNoIHJlZGlyZWN0aW9uIHRoYXQgbWF5IGJlIHByZWNlZGVkIGJ5IGEgZmlsZSBkZXNjcmlwdG9yIG51bWJlcgorbWF5IGluc3RlYWQgYmUgcHJlY2VkZWQgYnkgYSB3b3JkIG9mIHRoZSBmb3JtIHs8ST52YXJuYW1lPC9JPn0uCitJbiB0aGlzIGNhc2UsIGZvciBlYWNoIHJlZGlyZWN0aW9uIG9wZXJhdG9yIGV4Y2VwdAorJmd0OyZhbXA7LSBhbmQgJmx0OyZhbXA7LSwgdGhlIHNoZWxsIHdpbGwgYWxsb2NhdGUgYSBmaWxlIGRlc2NyaXB0b3IgZ3JlYXRlcgordGhhbiAxMCBhbmQgYXNzaWduIGl0IHRvIDxJPnZhcm5hbWU8L0k+LiAgSWYgJmd0OyZhbXA7LSBvciAmbHQ7JmFtcDstIGlzIHByZWNlZGVkCitieSB7PEk+dmFybmFtZTwvST59LCB0aGUgdmFsdWUgb2YgPEk+dmFybmFtZTwvST4gZGVmaW5lcyB0aGUgZmlsZQorZGVzY3JpcHRvciB0byBjbG9zZS4KKzxQPgorCiBJbiB0aGUgZm9sbG93aW5nIGRlc2NyaXB0aW9ucywgaWYgdGhlIGZpbGUgZGVzY3JpcHRvciBudW1iZXIgaXMKIG9taXR0ZWQsIGFuZCB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIHRoZSByZWRpcmVjdGlvbiBvcGVyYXRvciBpcwogPEI+Jmx0OzwvQj4sCkBAIC00MDYwLDcgKzQyMjQsNyBAQAogZGlyZWN0cyBvbmx5IHRoZSBzdGFuZGFyZCBvdXRwdXQgdG8gZmlsZQogPEk+ZGlybGlzdDwvST4sCiAKLWJlY2F1c2UgdGhlIHN0YW5kYXJkIGVycm9yIHdhcyBkdXBsaWNhdGVkIGFzIHN0YW5kYXJkIG91dHB1dAorYmVjYXVzZSB0aGUgc3RhbmRhcmQgZXJyb3Igd2FzIGR1cGxpY2F0ZWQgZnJvbSB0aGUgc3RhbmRhcmQgb3V0cHV0CiBiZWZvcmUgdGhlIHN0YW5kYXJkIG91dHB1dCB3YXMgcmVkaXJlY3RlZCB0bwogPEk+ZGlybGlzdDwvST4uCiAKQEAgLTQ2MjUsOSArNDc4OSwxMSBAQAogPC9GT05UPgogdmFyaWFibGUgaXMgc2V0IHRvIHRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiB3aGlsZSB0aGUgZnVuY3Rpb24KIGlzIGV4ZWN1dGluZy4KKzxQPgorCiBBbGwgb3RoZXIgYXNwZWN0cyBvZiB0aGUgc2hlbGwgZXhlY3V0aW9uCiBlbnZpcm9ubWVudCBhcmUgaWRlbnRpY2FsIGJldHdlZW4gYSBmdW5jdGlvbiBhbmQgaXRzIGNhbGxlcgotd2l0aCB0aGUgZXhjZXB0aW9uIHRoYXQgdGhlCit3aXRoIHRoZXNlIGV4Y2VwdGlvbnM6ICB0aGUKIDxGT05UIFNJWkU9LTE+PEI+REVCVUc8L0I+CiAKIDwvRk9OVD4KQEAgLTQ2NDksNyArNDgxNSwxMyBAQAogYnVpbHRpbiBiZWxvdykgb3IgdGhlCiA8Qj4tbyBmdW5jdHJhY2U8L0I+IHNoZWxsIG9wdGlvbiBoYXMgYmVlbiBlbmFibGVkIHdpdGgKIHRoZSA8Qj5zZXQ8L0I+IGJ1aWx0aW4KLShpbiB3aGljaCBjYXNlIGFsbCBmdW5jdGlvbnMgaW5oZXJpdCB0aGUgPEI+REVCVUc8L0I+IGFuZCA8Qj5SRVRVUk48L0I+IHRyYXBzKS4KKyhpbiB3aGljaCBjYXNlIGFsbCBmdW5jdGlvbnMgaW5oZXJpdCB0aGUgPEI+REVCVUc8L0I+IGFuZCA8Qj5SRVRVUk48L0I+IHRyYXBzKSwKK2FuZCB0aGUKKzxGT05UIFNJWkU9LTE+PEI+RVJSPC9CPgorCis8L0ZPTlQ+Cit0cmFwIGlzIG5vdCBpbmhlcml0ZWQgdW5sZXNzIHRoZSA8Qj4tbyBlcnJ0cmFjZTwvQj4gc2hlbGwgb3B0aW9uIGhhcworYmVlbiBlbmFibGVkLgogPFA+CiAKIFZhcmlhYmxlcyBsb2NhbCB0byB0aGUgZnVuY3Rpb24gbWF5IGJlIGRlY2xhcmVkIHdpdGggdGhlCkBAIC00ODU4LDYgKzUwMzAsMTEgQEAKIGxpbmtzIGFuZCBvcGVyYXRlIG9uIHRoZSB0YXJnZXQgb2YgdGhlIGxpbmssIHJhdGhlciB0aGFuIHRoZSBsaW5rIGl0c2VsZi4KIDxQPgogCisKK1doZW4gdXNlZCB3aXRoIDxCPltbPC9CPiwgVGhlIDxCPiZsdDs8L0I+IGFuZCA8Qj4mZ3Q7PC9CPiBvcGVyYXRvcnMgc29ydAorbGV4aWNvZ3JhcGhpY2FsbHkgdXNpbmcgdGhlIGN1cnJlbnQgbG9jYWxlLgorPFA+CisKIDxETCBDT01QQUNUPgogPERUPjxCPi1hIDwvQj48ST5maWxlPC9JPgogCkBAIC00OTg0LDE2ICs1MTYxLDE3IEBACiAKIGlzIG5vbi16ZXJvLgogPERUPjxJPnN0cmluZzE8L0k+IDxCPj09PC9CPiA8ST5zdHJpbmcyPC9JPjxERD4KLVRydWUgaWYgdGhlIHN0cmluZ3MgYXJlIGVxdWFsLiAgPEI+PTwvQj4gbWF5IGJlIHVzZWQgaW4gcGxhY2Ugb2YKLTxCPj09PC9CPiBmb3Igc3RyaWN0IFBPU0lYIGNvbXBsaWFuY2UuCisKKzxEVD48ST5zdHJpbmcxPC9JPiA8Qj49PC9CPiA8ST5zdHJpbmcyPC9JPjxERD4KKworVHJ1ZSBpZiB0aGUgc3RyaW5ncyBhcmUgZXF1YWwuICA8Qj49PC9CPiBzaG91bGQgYmUgdXNlZAord2l0aCB0aGUgPEI+dGVzdDwvQj4gY29tbWFuZCBmb3IgUE9TSVggY29uZm9ybWFuY2UuCiA8RFQ+PEk+c3RyaW5nMTwvST4gPEI+IT08L0I+IDxJPnN0cmluZzI8L0k+PEREPgogVHJ1ZSBpZiB0aGUgc3RyaW5ncyBhcmUgbm90IGVxdWFsLgogPERUPjxJPnN0cmluZzE8L0k+IDxCPiZsdDs8L0I+IDxJPnN0cmluZzI8L0k+PEREPgotVHJ1ZSBpZiA8ST5zdHJpbmcxPC9JPiBzb3J0cyBiZWZvcmUgPEk+c3RyaW5nMjwvST4gbGV4aWNvZ3JhcGhpY2FsbHkKLWluIHRoZSBjdXJyZW50IGxvY2FsZS4KK1RydWUgaWYgPEk+c3RyaW5nMTwvST4gc29ydHMgYmVmb3JlIDxJPnN0cmluZzI8L0k+IGxleGljb2dyYXBoaWNhbGx5LgogPERUPjxJPnN0cmluZzE8L0k+IDxCPiZndDs8L0I+IDxJPnN0cmluZzI8L0k+PEREPgotVHJ1ZSBpZiA8ST5zdHJpbmcxPC9JPiBzb3J0cyBhZnRlciA8ST5zdHJpbmcyPC9JPiBsZXhpY29ncmFwaGljYWxseQotaW4gdGhlIGN1cnJlbnQgbG9jYWxlLgorVHJ1ZSBpZiA8ST5zdHJpbmcxPC9JPiBzb3J0cyBhZnRlciA8ST5zdHJpbmcyPC9JPiBsZXhpY29ncmFwaGljYWxseS4KIDxEVD48ST5hcmcxPC9JPiA8Qj5PUDwvQj4gPEk+YXJnMjwvST4KIAogPEREPgpAQCAtNTE2MCw3ICs1MzM4LDcgQEAKIAogVGhlIHNoZWxsIGhhcyBhbiA8ST5leGVjdXRpb24gZW52aXJvbm1lbnQ8L0k+LCB3aGljaCBjb25zaXN0cyBvZiB0aGUKIGZvbGxvd2luZzoKLTxQPgorCiA8REwgQ09NUEFDVD4KIDxEVD4qPEREPgogb3BlbiBmaWxlcyBpbmhlcml0ZWQgYnkgdGhlIHNoZWxsIGF0IGludm9jYXRpb24sIGFzIG1vZGlmaWVkIGJ5CkBAIC01MTg4LDcgKzUzNjYsMTAgQEAKIHNoZWxsIGFsaWFzZXMgZGVmaW5lZCB3aXRoIDxCPmFsaWFzPC9CPgogPERUPio8REQ+CiB2YXJpb3VzIHByb2Nlc3MgSURzLCBpbmNsdWRpbmcgdGhvc2Ugb2YgYmFja2dyb3VuZCBqb2JzLCB0aGUgdmFsdWUKLW9mIDxCPiQkPC9CPiwgYW5kIHRoZSB2YWx1ZSBvZiA8Qj4kUFBJRDwvQj4KK29mIDxCPiQkPC9CPiwgYW5kIHRoZSB2YWx1ZSBvZgorPEZPTlQgU0laRT0tMT48Qj5QUElEPC9CPgorCis8L0ZPTlQ+CiA8L0RMPgogPFA+CiAKQEAgLTUxOTcsNyArNTM3OCw3IEBACiBpcyBpbnZva2VkIGluIGEgc2VwYXJhdGUgZXhlY3V0aW9uIGVudmlyb25tZW50IHRoYXQgY29uc2lzdHMgb2YKIHRoZSBmb2xsb3dpbmcuICBVbmxlc3Mgb3RoZXJ3aXNlIG5vdGVkLCB0aGUgdmFsdWVzIGFyZSBpbmhlcml0ZWQKIGZyb20gdGhlIHNoZWxsLgotPFA+CisKIDxETCBDT01QQUNUPgogPERUPio8REQ+CiB0aGUgc2hlbGwncyBvcGVuIGZpbGVzLCBwbHVzIGFueSBtb2RpZmljYXRpb25zIGFuZCBhZGRpdGlvbnMgc3BlY2lmaWVkCkBAIC01NDgxLDcgKzU2NjIsNyBAQAogdGhlIGV4ZWN1dGlvbiBvZiBwcm9jZXNzZXMgYW5kIGNvbnRpbnVlICg8ST5yZXN1bWU8L0k+KQogdGhlaXIgZXhlY3V0aW9uIGF0IGEgbGF0ZXIgcG9pbnQuICBBIHVzZXIgdHlwaWNhbGx5IGVtcGxveXMKIHRoaXMgZmFjaWxpdHkgdmlhIGFuIGludGVyYWN0aXZlIGludGVyZmFjZSBzdXBwbGllZCBqb2ludGx5Ci1ieSB0aGUgc3lzdGVtJ3MgdGVybWluYWwgZHJpdmVyIGFuZAorYnkgdGhlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsJ3MgdGVybWluYWwgZHJpdmVyIGFuZAogPEI+YmFzaDwvQj4uCiAKIDxQPgpAQCAtNTUzNCwxMyArNTcxNSwxNiBAQAogCiBwcm9jZXNzZXMgYXJlIHRob3NlIHdob3NlIHByb2Nlc3MgZ3JvdXAgSUQgZGlmZmVycyBmcm9tIHRoZSB0ZXJtaW5hbCdzOwogc3VjaCBwcm9jZXNzZXMgYXJlIGltbXVuZSB0byBrZXlib2FyZC1nZW5lcmF0ZWQgc2lnbmFscy4KLU9ubHkgZm9yZWdyb3VuZCBwcm9jZXNzZXMgYXJlIGFsbG93ZWQgdG8gcmVhZCBmcm9tIG9yIHdyaXRlIHRvIHRoZQotdGVybWluYWwuICBCYWNrZ3JvdW5kIHByb2Nlc3NlcyB3aGljaCBhdHRlbXB0IHRvIHJlYWQgZnJvbSAod3JpdGUgdG8pIHRoZQorT25seSBmb3JlZ3JvdW5kIHByb2Nlc3NlcyBhcmUgYWxsb3dlZCB0byByZWFkIGZyb20gb3IsIGlmIHRoZQordXNlciBzbyBzcGVjaWZpZXMgd2l0aCA8VFQ+c3R0eSB0b3N0b3A8L1RUPiwgd3JpdGUgdG8gdGhlCit0ZXJtaW5hbC4KK0JhY2tncm91bmQgcHJvY2Vzc2VzIHdoaWNoIGF0dGVtcHQgdG8gcmVhZCBmcm9tICh3cml0ZSB0byB3aGVuCis8VFQ+c3R0eSB0b3N0b3A8L1RUPiBpcyBpbiBlZmZlY3QpIHRoZQogdGVybWluYWwgYXJlIHNlbnQgYSAKIDxGT05UIFNJWkU9LTE+PEI+U0lHVFRJTiAoU0lHVFRPVSk8L0I+CiAKIDwvRk9OVD4KLXNpZ25hbCBieSB0aGUgdGVybWluYWwgZHJpdmVyLCAKK3NpZ25hbCBieSB0aGUga2VybmVsJ3MgdGVybWluYWwgZHJpdmVyLCAKIHdoaWNoLCB1bmxlc3MgY2F1Z2h0LCBzdXNwZW5kcyB0aGUgcHJvY2Vzcy4KIDxQPgogCkBAIC01ODA0LDEyICs1OTg4LDIzIEBACiA8RFQ+PEI+XHc8L0I+CiAKIDxERD4KLXRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LCB3aXRoIDxCPiRIT01FPC9CPiBhYmJyZXZpYXRlZCB3aXRoIGEgdGlsZGUKLSh1c2VzIHRoZSA8Qj4kUFJPTVBUX0RJUlRSSU08L0I+IHZhcmlhYmxlKQordGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnksIHdpdGgKKzxGT05UIFNJWkU9LTE+PEI+JEhPTUU8L0I+CisKKzwvRk9OVD4KK2FiYnJldmlhdGVkIHdpdGggYSB0aWxkZQorKHVzZXMgdGhlIHZhbHVlIG9mIHRoZQorPEZPTlQgU0laRT0tMT48Qj5QUk9NUFRfRElSVFJJTTwvQj4KKworPC9GT05UPgordmFyaWFibGUpCiA8RFQ+PEI+XFc8L0I+CiAKIDxERD4KLXRoZSBiYXNlbmFtZSBvZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSwgd2l0aCA8Qj4kSE9NRTwvQj4KK3RoZSBiYXNlbmFtZSBvZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSwgd2l0aAorPEZPTlQgU0laRT0tMT48Qj4kSE9NRTwvQj4KKworPC9GT05UPgogYWJicmV2aWF0ZWQgd2l0aCBhIHRpbGRlCiA8RFQ+PEI+XCE8L0I+CiAKQEAgLTYzNTAsMTIgKzY1NDUsMjQgQEAKIG9yCiA8Qj52aTwvQj4uCiAKKzxEVD48Qj5lY2hvLWNvbnRyb2wtY2hhcmFjdGVycyAoT24pPC9CPgorCis8REQ+CitXaGVuIHNldCB0byA8Qj5PbjwvQj4sIG9uIG9wZXJhdGluZyBzeXN0ZW1zIHRoYXQgaW5kaWNhdGUgdGhleSBzdXBwb3J0IGl0LAorcmVhZGxpbmUgZWNob2VzIGEgY2hhcmFjdGVyIGNvcnJlc3BvbmRpbmcgdG8gYSBzaWduYWwgZ2VuZXJhdGVkIGZyb20gdGhlCitrZXlib2FyZC4KIDxEVD48Qj5lbmFibGUta2V5cGFkIChPZmYpPC9CPgogCiA8REQ+CiBXaGVuIHNldCB0byA8Qj5PbjwvQj4sIHJlYWRsaW5lIHdpbGwgdHJ5IHRvIGVuYWJsZSB0aGUgYXBwbGljYXRpb24KIGtleXBhZCB3aGVuIGl0IGlzIGNhbGxlZC4gIFNvbWUgc3lzdGVtcyBuZWVkIHRoaXMgdG8gZW5hYmxlIHRoZQogYXJyb3cga2V5cy4KKzxEVD48Qj5lbmFibGUtbWV0YS1rZXkgKE9uKTwvQj4KKworPEREPgorV2hlbiBzZXQgdG8gPEI+T248L0I+LCByZWFkbGluZSB3aWxsIHRyeSB0byBlbmFibGUgYW55IG1ldGEgbW9kaWZpZXIKK2tleSB0aGUgdGVybWluYWwgY2xhaW1zIHRvIHN1cHBvcnQgd2hlbiBpdCBpcyBjYWxsZWQuICBPbiBtYW55IHRlcm1pbmFscywKK3RoZSBtZXRhIGtleSBpcyB1c2VkIHRvIHNlbmQgZWlnaHQtYml0IGNoYXJhY3RlcnMuCiA8RFQ+PEI+ZXhwYW5kLXRpbGRlIChPZmYpPC9CPgogCiA8REQ+CkBAIC02NDc3LDYgKzY2ODQsMTUgQEAKIHBvc3NpYmxlIHBhcnRpYWwgY29tcGxldGlvbiAodGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIGRvbid0IHNoYXJlCiBhIGNvbW1vbiBwcmVmaXgpIGNhdXNlIHRoZSBtYXRjaGVzIHRvIGJlIGxpc3RlZCBpbW1lZGlhdGVseSBpbnN0ZWFkCiBvZiByaW5naW5nIHRoZSBiZWxsLgorPERUPjxCPnNraXAtY29tcGxldGVkLXRleHQgKE9mZik8L0I+CisKKzxERD4KK0lmIHNldCB0byA8Qj5PbjwvQj4sIHRoaXMgYWx0ZXJzIHRoZSBkZWZhdWx0IGNvbXBsZXRpb24gYmVoYXZpb3Igd2hlbgoraW5zZXJ0aW5nIGEgc2luZ2xlIG1hdGNoIGludG8gdGhlIGxpbmUuICBJdCdzIG9ubHkgYWN0aXZlIHdoZW4KK3BlcmZvcm1pbmcgY29tcGxldGlvbiBpbiB0aGUgbWlkZGxlIG9mIGEgd29yZC4gIElmIGVuYWJsZWQsIHJlYWRsaW5lCitkb2VzIG5vdCBpbnNlcnQgY2hhcmFjdGVycyBmcm9tIHRoZSBjb21wbGV0aW9uIHRoYXQgbWF0Y2ggY2hhcmFjdGVycworYWZ0ZXIgcG9pbnQgaW4gdGhlIHdvcmQgYmVpbmcgY29tcGxldGVkLCBzbyBwb3J0aW9ucyBvZiB0aGUgd29yZAorZm9sbG93aW5nIHRoZSBjdXJzb3IgYXJlIG5vdCBkdXBsaWNhdGVkLgogPERUPjxCPnZpc2libGUtc3RhdHMgKE9mZik8L0I+CiAKIDxERD4KQEAgLTcwOTksNiArNzMxNSwxMiBAQAogdGhyb3VnaCB0aGUgbGlzdC4KIFRoaXMgY29tbWFuZCBpcyBpbnRlbmRlZCB0byBiZSBib3VuZCB0byA8Qj5UQUI8L0I+LCBidXQgaXMgdW5ib3VuZAogYnkgZGVmYXVsdC4KKzxEVD48Qj5tZW51LWNvbXBsZXRlLXJkPC9CPgorCis8REQ+CitJZGVudGljYWwgdG8gPEI+bWVudS1jb21wbGV0ZTwvQj4sIGJ1dCBtb3ZlcyBiYWNrd2FyZCB0aHJvdWdoIHRoZSBsaXN0CitvZiBwb3NzaWJsZSBjb21wbGV0aW9ucywgYXMgaWYgPEI+bWVudS1jb21wbGV0ZTwvQj4gaGFkIGJlZW4gZ2l2ZW4gYQorbmVnYXRpdmUgYXJndW1lbnQuICBUaGlzIGNvbW1hbmQgaXMgdW5ib3VuZCBieSBkZWZhdWx0LgogPERUPjxCPmRlbGV0ZS1jaGFyLW9yLWxpc3Q8L0I+CiAKIDxERD4KQEAgLTcyNzUsNiArNzQ5NywxNiBAQAogPEREPgogQSBjaGFyYWN0ZXIgaXMgcmVhZCBhbmQgcG9pbnQgaXMgbW92ZWQgdG8gdGhlIHByZXZpb3VzIG9jY3VycmVuY2Ugb2YgdGhhdAogY2hhcmFjdGVyLiAgQSBuZWdhdGl2ZSBjb3VudCBzZWFyY2hlcyBmb3Igc3Vic2VxdWVudCBvY2N1cnJlbmNlcy4KKzxEVD48Qj5za2lwLWNzaS1zZXF1ZW5jZSAoKTwvQj4KKworPEREPgorUmVhZCBlbm91Z2ggY2hhcmFjdGVycyB0byBjb25zdW1lIGEgbXVsdGkta2V5IHNlcXVlbmNlIHN1Y2ggYXMgdGhvc2UKK2RlZmluZWQgZm9yIGtleXMgbGlrZSBIb21lIGFuZCBFbmQuICBTdWNoIHNlcXVlbmNlcyBiZWdpbiB3aXRoIGEKK0NvbnRyb2wgU2VxdWVuY2UgSW5kaWNhdG9yIChDU0kpLCB1c3VhbGx5IEVTQy1bLiAgSWYgdGhpcyBzZXF1ZW5jZSBpcworYm91bmQgdG8gJnF1b3Q7XFsmcXVvdDssIGtleXMgcHJvZHVjaW5nIHN1Y2ggc2VxdWVuY2VzIHdpbGwgaGF2ZSBubyBlZmZlY3QKK3VubGVzcyBleHBsaWNpdGx5IGJvdW5kIHRvIGEgcmVhZGxpbmUgY29tbWFuZCwgaW5zdGVhZCBvZiBpbnNlcnRpbmcKK3N0cmF5IGNoYXJhY3RlcnMgaW50byB0aGUgZWRpdGluZyBidWZmZXIuICBUaGlzIGlzIHVuYm91bmQgYnkgZGVmYXVsdCwKK2J1dCB1c3VhbGx5IGJvdW5kIHRvIEVTQy1bLgogPERUPjxCPmluc2VydC1jb21tZW50IChNLSMpPC9CPgogCiA8REQ+CkBAIC03MzU5LDEyICs3NTkxLDE3IEBACiA8UD4KIAogRmlyc3QsIHRoZSBjb21tYW5kIG5hbWUgaXMgaWRlbnRpZmllZC4KK0lmIHRoZSBjb21tYW5kIHdvcmQgaXMgdGhlIGVtcHR5IHN0cmluZyAoY29tcGxldGlvbiBhdHRlbXB0ZWQgYXQgdGhlCitiZWdpbm5pbmcgb2YgYW4gZW1wdHkgbGluZSksIGFueSBjb21wc3BlYyBkZWZpbmVkIHdpdGgKK3RoZSA8Qj4tRTwvQj4gb3B0aW9uIHRvIDxCPmNvbXBsZXRlPC9CPiBpcyB1c2VkLgogSWYgYSBjb21wc3BlYyBoYXMgYmVlbiBkZWZpbmVkIGZvciB0aGF0IGNvbW1hbmQsIHRoZQogY29tcHNwZWMgaXMgdXNlZCB0byBnZW5lcmF0ZSB0aGUgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucyBmb3IgdGhlIHdvcmQuCiBJZiB0aGUgY29tbWFuZCB3b3JkIGlzIGEgZnVsbCBwYXRobmFtZSwgYSBjb21wc3BlYyBmb3IgdGhlIGZ1bGwKIHBhdGhuYW1lIGlzIHNlYXJjaGVkIGZvciBmaXJzdC4KIElmIG5vIGNvbXBzcGVjIGlzIGZvdW5kIGZvciB0aGUgZnVsbCBwYXRobmFtZSwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvCiBmaW5kIGEgY29tcHNwZWMgZm9yIHRoZSBwb3J0aW9uIGZvbGxvd2luZyB0aGUgZmluYWwgc2xhc2guCitJZiB0aG9zZSBzZWFyY2hlcyB0byBub3QgcmVzdWx0IGluIGEgY29tcHNwZWMsIGFueSBjb21wc3BlYyBkZWZpbmVkIHdpdGgKK3RoZSA8Qj4tRDwvQj4gb3B0aW9uIHRvIDxCPmNvbXBsZXRlPC9CPiBpcyB1c2VkIGFzIHRoZSBkZWZhdWx0LgogPFA+CiAKIE9uY2UgYSBjb21wc3BlYyBoYXMgYmVlbiBmb3VuZCwgaXQgaXMgdXNlZCB0byBnZW5lcmF0ZSB0aGUgbGlzdCBvZgpAQCAtNzM5MCw3ICs3NjI3LDcgQEAKIGlzIHVzZWQgdG8gZmlsdGVyIHRoZSBtYXRjaGVzLgogPFA+CiAKLUFueSBjb21wbGV0aW9ucyBzcGVjaWZpZWQgYnkgYSBmaWxlbmFtZSBleHBhbnNpb24gcGF0dGVybiB0byB0aGUKK0FueSBjb21wbGV0aW9ucyBzcGVjaWZpZWQgYnkgYSBwYXRobmFtZSBleHBhbnNpb24gcGF0dGVybiB0byB0aGUKIDxCPi1HPC9CPiBvcHRpb24gYXJlIGdlbmVyYXRlZCBuZXh0LgogVGhlIHdvcmRzIGdlbmVyYXRlZCBieSB0aGUgcGF0dGVybiBuZWVkIG5vdCBtYXRjaCB0aGUgd29yZAogYmVpbmcgY29tcGxldGVkLgpAQCAtNzUyNCw2ICs3NzYxLDQzIEBACiB0byBjb21wbGV0ZWQgbmFtZXMgd2hpY2ggYXJlIHN5bWJvbGljIGxpbmtzIHRvIGRpcmVjdG9yaWVzLCBzdWJqZWN0IHRvICAKIHRoZSB2YWx1ZSBvZiB0aGUgPEI+bWFyay1kaXJlY3RvcmllczwvQj4gcmVhZGxpbmUgdmFyaWFibGUsIHJlZ2FyZGxlc3MKIG9mIHRoZSBzZXR0aW5nIG9mIHRoZSA8Qj5tYXJrLXN5bWxpbmtlZC1kaXJlY3RvcmllczwvQj4gcmVhZGxpbmUgdmFyaWFibGUuCis8UD4KKworVGhlcmUgaXMgc29tZSBzdXBwb3J0IGZvciBkeW5hbWljYWxseSBtb2RpZnlpbmcgY29tcGxldGlvbnMuICBUaGlzIGlzCittb3N0IHVzZWZ1bCB3aGVuIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBhIGRlZmF1bHQgY29tcGxldGlvbiBzcGVjaWZpZWQKK3dpdGggPEI+Y29tcGxldGUgLUQ8L0I+LgorSXQncyBwb3NzaWJsZSBmb3Igc2hlbGwgZnVuY3Rpb25zIGV4ZWN1dGVkIGFzIGNvbXBsZXRpb24KK2hhbmRsZXJzIHRvIGluZGljYXRlIHRoYXQgY29tcGxldGlvbiBzaG91bGQgYmUgcmV0cmllZCBieSByZXR1cm5pbmcgYW4KK2V4aXQgc3RhdHVzIG9mIDEyNC4gIElmIGEgc2hlbGwgZnVuY3Rpb24gcmV0dXJucyAxMjQsIGFuZCBjaGFuZ2VzCit0aGUgY29tcHNwZWMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb21tYW5kIG9uIHdoaWNoIGNvbXBsZXRpb24gaXMgYmVpbmcKK2F0dGVtcHRlZCAoc3VwcGxpZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50IHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGV4ZWN1dGVkKSwKK3Byb2dyYW1tYWJsZSBjb21wbGV0aW9uIHJlc3RhcnRzIGZyb20gdGhlIGJlZ2lubmluZywgd2l0aCBhbgorYXR0ZW1wdCB0byBmaW5kIGEgY29tcHNwZWMgZm9yIHRoYXQgY29tbWFuZC4gIFRoaXMgYWxsb3dzIGEgc2V0IG9mCitjb21wbGV0aW9ucyB0byBiZSBidWlsdCBkeW5hbWljYWxseSBhcyBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgcmF0aGVyIHRoYW4KK2JlaW5nIGxvYWRlZCBhbGwgYXQgb25jZS4KKzxQPgorCitGb3IgaW5zdGFuY2UsIGFzc3VtaW5nIHRoYXQgdGhlcmUgaXMgYSBsaWJyYXJ5IG9mIGNvbXBzcGVjcywgZWFjaCBrZXB0IGluIGEKK2ZpbGUgY29ycmVzcG9uZGluZyB0byB0aGUgbmFtZSBvZiB0aGUgY29tbWFuZCwgdGhlIGZvbGxvd2luZyBkZWZhdWx0Citjb21wbGV0aW9uIGZ1bmN0aW9uIHdvdWxkIGxvYWQgY29tcGxldGlvbnMgZHluYW1pY2FsbHk6Cis8UD4KKworPFRUPl9jb21wbGV0aW9uX2xvYWRlcigpCis8QlI+CisKK3sKKzxCUj4KKworPFRUPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVFQ+LiAmcXVvdDsvZXRjL2Jhc2hfY29tcGxldGlvbi5kLyQxLnNoJnF1b3Q7ICZndDsvZGV2L251bGwgMiZndDsmYW1wOzEgJmFtcDsmYW1wOyByZXR1cm4gMTI0PEJSPgorPEJSPgorCit9Cis8QlI+CisKK2NvbXBsZXRlIC1EIC1GIF9jb21wbGV0aW9uX2xvYWRlcgorPEJSPgorCis8L1RUPgogPEEgTkFNRT0ibGJDVyI+Jm5ic3A7PC9BPgogPEgzPkhJU1RPUlk8L0gzPgogCkBAIC03NTM2LDcgKzc4MTAsMTEgQEAKIGJ1aWx0aW4gaXMgZW5hYmxlZCwgdGhlIHNoZWxsIHByb3ZpZGVzIGFjY2VzcyB0byB0aGUKIDxJPmNvbW1hbmQgaGlzdG9yeTwvST4sCiB0aGUgbGlzdCBvZiBjb21tYW5kcyBwcmV2aW91c2x5IHR5cGVkLgotVGhlIHZhbHVlIG9mIHRoZSA8Qj5ISVNUU0laRTwvQj4gdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUKK1RoZSB2YWx1ZSBvZiB0aGUKKzxGT05UIFNJWkU9LTE+PEI+SElTVFNJWkU8L0I+CisKKzwvRk9OVD4KK3ZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlCiBudW1iZXIgb2YgY29tbWFuZHMgdG8gc2F2ZSBpbiBhIGhpc3RvcnkgbGlzdC4KIFRoZSB0ZXh0IG9mIHRoZSBsYXN0CiA8Rk9OVCBTSVpFPS0xPjxCPkhJU1RTSVpFPC9CPgpAQCAtNzYxMCw3ICs3ODg4LDggQEAKIGlzIHVuc2V0LCBvciBpZiB0aGUgaGlzdG9yeSBmaWxlIGlzIHVud3JpdGFibGUsIHRoZSBoaXN0b3J5IGlzCiBub3Qgc2F2ZWQuCiBJZiB0aGUKLTxGT05UIFNJWkU9LTE+Cis8Rk9OVCBTSVpFPS0xPjxCPkhJU1RUSU1FRk9STUFUPC9CPgorCiA8L0ZPTlQ+CiB2YXJpYWJsZSBpcyBzZXQsIHRpbWUgc3RhbXBzIGFyZSB3cml0dGVuIHRvIHRoZSBoaXN0b3J5IGZpbGUsIG1hcmtlZAogd2l0aCB0aGUgaGlzdG9yeSBjb21tZW50IGNoYXJhY3Rlciwgc28KQEAgLTc3NDQsNyArODAyMyw3IEBACiBzaGVsbCBvcHRpb24gaXMgZW5hYmxlZCAoc2VlIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUKIDxCPnNob3B0PC9CPgogCi1idWlsdGluKSwgYW5kCitidWlsdGluIGJlbG93KSwgYW5kCiA8Qj5yZWFkbGluZTwvQj4KIAogaXMgYmVpbmcgdXNlZCwgaGlzdG9yeSBzdWJzdGl0dXRpb25zIGFyZSBub3QgaW1tZWRpYXRlbHkgcGFzc2VkIHRvCkBAIC04MDYwLDggKzgzMzksMTQgQEAKIDxCPi0tPC9CPgogCiB0byBzaWduaWZ5IHRoZSBlbmQgb2YgdGhlIG9wdGlvbnMuCi1Gb3IgZXhhbXBsZSwgdGhlIDxCPjo8L0I+LCA8Qj50cnVlPC9CPiwgPEI+ZmFsc2U8L0I+LCBhbmQgPEI+dGVzdDwvQj4gYnVpbHRpbnMKLWRvIG5vdCBhY2NlcHQgb3B0aW9ucy4KK1RoZSA8Qj46PC9CPiwgPEI+dHJ1ZTwvQj4sIDxCPmZhbHNlPC9CPiwgYW5kIDxCPnRlc3Q8L0I+IGJ1aWx0aW5zCitkbyBub3QgYWNjZXB0IG9wdGlvbnMgYW5kIGRvIG5vdCB0cmVhdCA8Qj4tLTwvQj4gc3BlY2lhbGx5LgorVGhlIDxCPmV4aXQ8L0I+LCA8Qj5sb2dvdXQ8L0I+LCA8Qj5icmVhazwvQj4sIDxCPmNvbnRpbnVlPC9CPiwgPEI+bGV0PC9CPiwKK2FuZCA8Qj5zaGlmdDwvQj4gYnVpbHRpbnMgYWNjZXB0IGFuZCBwcm9jZXNzIGFyZ3VtZW50cyBiZWdpbm5pbmcgd2l0aAorPEI+LTwvQj4gd2l0aG91dCByZXF1aXJpbmcgPEI+LS08L0I+LgorT3RoZXIgYnVpbHRpbnMgdGhhdCBhY2NlcHQgYXJndW1lbnRzIGJ1dCBhcmUgbm90IHNwZWNpZmllZCBhcyBhY2NlcHRpbmcKK29wdGlvbnMgaW50ZXJwcmV0IGFyZ3VtZW50cyBiZWdpbm5pbmcgd2l0aCA8Qj4tPC9CPiBhcyBpbnZhbGlkIG9wdGlvbnMgYW5kCityZXF1aXJlIDxCPi0tPC9CPiB0byBwcmV2ZW50IHRoaXMgaW50ZXJwcmV0YXRpb24uCiA8UD4KIAogPERMIENPTVBBQ1Q+CkBAIC04MjUxLDE4ICs4NTM2LDIyIEBACiBDYXVzZSA8ST5zaGVsbC1jb21tYW5kPC9JPiB0byBiZSBleGVjdXRlZCB3aGVuZXZlciA8ST5rZXlzZXE8L0k+IGlzCiBlbnRlcmVkLgogV2hlbiA8ST5zaGVsbC1jb21tYW5kPC9JPiBpcyBleGVjdXRlZCwgdGhlIHNoZWxsIHNldHMgdGhlCi08Qj5SRUFETElORV9MSU5FPC9CPgorPEZPTlQgU0laRT0tMT48Qj5SRUFETElORV9MSU5FPC9CPgogCis8L0ZPTlQ+CiB2YXJpYWJsZSB0byB0aGUgY29udGVudHMgb2YgdGhlIDxCPnJlYWRsaW5lPC9CPiBsaW5lIGJ1ZmZlciBhbmQgdGhlCi08Qj5SRUFETElORV9QT0lOVDwvQj4KKzxGT05UIFNJWkU9LTE+PEI+UkVBRExJTkVfUE9JTlQ8L0I+CiAKKzwvRk9OVD4KIHZhcmlhYmxlIHRvIHRoZSBjdXJyZW50IGxvY2F0aW9uIG9mIHRoZSBpbnNlcnRpb24gcG9pbnQuCiBJZiB0aGUgZXhlY3V0ZWQgY29tbWFuZCBjaGFuZ2VzIHRoZSB2YWx1ZSBvZgotPEI+UkVBRExJTkVfTElORTwvQj4KKzxGT05UIFNJWkU9LTE+PEI+UkVBRExJTkVfTElORTwvQj4KIAorPC9GT05UPgogb3IKLTxCPlJFQURMSU5FX1BPSU5UPC9CPiwKKzxGT05UIFNJWkU9LTE+PEI+UkVBRExJTkVfUE9JTlQ8L0I+LAogCis8L0ZPTlQ+CiB0aG9zZSBuZXcgdmFsdWVzIHdpbGwgYmUgcmVmbGVjdGVkIGluIHRoZSBlZGl0aW5nIHN0YXRlLgogCiA8L0RMPgpAQCAtODM3MCw3ICs4NjU5LDExIEBACiA8Rk9OVCBTSVpFPS0xPjxCPiRPTERQV0Q8L0I+LgogCiA8L0ZPTlQ+Ci1JZiBhIG5vbi1lbXB0eSBkaXJlY3RvcnkgbmFtZSBmcm9tIDxCPkNEUEFUSDwvQj4gaXMgdXNlZCwgb3IgaWYKK0lmIGEgbm9uLWVtcHR5IGRpcmVjdG9yeSBuYW1lIGZyb20KKzxGT05UIFNJWkU9LTE+PEI+Q0RQQVRIPC9CPgorCis8L0ZPTlQ+CitpcyB1c2VkLCBvciBpZgogPEI+LTwvQj4gaXMgdGhlIGZpcnN0IGFyZ3VtZW50LCBhbmQgdGhlIGRpcmVjdG9yeSBjaGFuZ2UgaXMKIHN1Y2Nlc3NmdWwsIHRoZSBhYnNvbHV0ZSBwYXRobmFtZSBvZiB0aGUgbmV3IHdvcmtpbmcgZGlyZWN0b3J5IGlzCiB3cml0dGVuIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuCkBAIC04Mzk1LDggKzg2ODgsOSBAQAogPEk+Y29tbWFuZDwvST4KIAogaXMgcGVyZm9ybWVkIHVzaW5nIGEgZGVmYXVsdCB2YWx1ZSBmb3IKLTxCPlBBVEg8L0I+Cis8Rk9OVCBTSVpFPS0xPjxCPlBBVEg8L0I+CiAKKzwvRk9OVD4KIHRoYXQgaXMgZ3VhcmFudGVlZCB0byBmaW5kIGFsbCBvZiB0aGUgc3RhbmRhcmQgdXRpbGl0aWVzLgogSWYgZWl0aGVyIHRoZQogPEI+LVY8L0I+CkBAIC04NDU2LDEyICs4NzUwLDEyIEBACiA8UD4KIFRoZSByZXR1cm4gdmFsdWUgaXMgdHJ1ZSB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQsIG9yIG5vCiBtYXRjaGVzIHdlcmUgZ2VuZXJhdGVkLgotPERUPjxCPmNvbXBsZXRlPC9CPiBbPEI+LWFiY2RlZmdqa3N1djwvQj5dIFs8Qj4tbzwvQj4gPEk+Y29tcC1vcHRpb248L0k+XSBbPEI+LUU8L0I+XSBbPEI+LUE8L0I+IDxJPmFjdGlvbjwvST5dIFs8Qj4tRzwvQj4gPEk+Z2xvYnBhdDwvST5dIFs8Qj4tVzwvQj4gPEk+d29yZGxpc3Q8L0k+XSBbPEI+LUY8L0I+IDxJPmZ1bmN0aW9uPC9JPl0gWzxCPi1DPC9CPiA8ST5jb21tYW5kPC9JPl08REQ+Cis8RFQ+PEI+Y29tcGxldGU8L0I+IFs8Qj4tYWJjZGVmZ2prc3V2PC9CPl0gWzxCPi1vPC9CPiA8ST5jb21wLW9wdGlvbjwvST5dIFs8Qj4tREU8L0I+XSBbPEI+LUE8L0I+IDxJPmFjdGlvbjwvST5dIFs8Qj4tRzwvQj4gPEk+Z2xvYnBhdDwvST5dIFs8Qj4tVzwvQj4gPEk+d29yZGxpc3Q8L0k+XSBbPEI+LUY8L0I+IDxJPmZ1bmN0aW9uPC9JPl0gWzxCPi1DPC9CPiA8ST5jb21tYW5kPC9JPl08REQ+CiA8QlI+CiAKIFs8Qj4tWDwvQj4gPEk+ZmlsdGVycGF0PC9JPl0gWzxCPi1QPC9CPiA8ST5wcmVmaXg8L0k+XSBbPEI+LVM8L0I+IDxJPnN1ZmZpeDwvST5dIDxJPm5hbWU8L0k+IFs8ST5uYW1lIC4uLjwvST5dCiAKLTxEVD48Qj5jb21wbGV0ZTwvQj4gPEI+LXByPC9CPiBbPEI+LUU8L0I+XSBbPEk+bmFtZTwvST4gLi4uXTxERD4KKzxEVD48Qj5jb21wbGV0ZTwvQj4gPEI+LXByPC9CPiBbPEI+LURFPC9CPl0gWzxJPm5hbWU8L0k+IC4uLl08REQ+CiAKIFNwZWNpZnkgaG93IGFyZ3VtZW50cyB0byBlYWNoIDxJPm5hbWU8L0k+IHNob3VsZCBiZSBjb21wbGV0ZWQuCiBJZiB0aGUgPEI+LXA8L0I+IG9wdGlvbiBpcyBzdXBwbGllZCwgb3IgaWYgbm8gb3B0aW9ucyBhcmUgc3VwcGxpZWQsCkBAIC04NDcwLDYgKzg3NjQsOSBAQAogVGhlIDxCPi1yPC9CPiBvcHRpb24gcmVtb3ZlcyBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBmb3IKIGVhY2ggPEk+bmFtZTwvST4sIG9yLCBpZiBubyA8ST5uYW1lPC9JPnMgYXJlIHN1cHBsaWVkLCBhbGwKIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnMuCitUaGUgPEI+LUQ8L0I+IG9wdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVtYWluaW5nIG9wdGlvbnMgYW5kIGFjdGlvbnMgc2hvdWxkCithcHBseSB0byB0aGUgYGBkZWZhdWx0JycgY29tbWFuZCBjb21wbGV0aW9uOyB0aGF0IGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZAorb24gYSBjb21tYW5kIGZvciB3aGljaCBubyBjb21wbGV0aW9uIGhhcyBwcmV2aW91c2x5IGJlZW4gZGVmaW5lZC4KIFRoZSA8Qj4tRTwvQj4gb3B0aW9uIGluZGljYXRlcyB0aGF0IHRoZSByZW1haW5pbmcgb3B0aW9ucyBhbmQgYWN0aW9ucyBzaG91bGQKIGFwcGx5IHRvIGBgZW1wdHknJyBjb21tYW5kIGNvbXBsZXRpb247IHRoYXQgaXMsIGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEKIGJsYW5rIGxpbmUuCkBAIC04NjM1LDcgKzg5MzIsNyBAQAogPC9ETD48L0RMPgogCiA8RFQ+PEI+LUc8L0I+IDxJPmdsb2JwYXQ8L0k+PEREPgotVGhlIGZpbGVuYW1lIGV4cGFuc2lvbiBwYXR0ZXJuIDxJPmdsb2JwYXQ8L0k+IGlzIGV4cGFuZGVkIHRvIGdlbmVyYXRlCitUaGUgcGF0aG5hbWUgZXhwYW5zaW9uIHBhdHRlcm4gPEk+Z2xvYnBhdDwvST4gaXMgZXhwYW5kZWQgdG8gZ2VuZXJhdGUKIHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucy4KIDxEVD48Qj4tVzwvQj4gPEk+d29yZGxpc3Q8L0k+PEREPgogVGhlIDxJPndvcmRsaXN0PC9JPiBpcyBzcGxpdCB1c2luZyB0aGUgY2hhcmFjdGVycyBpbiB0aGUKQEAgLTg2NTgsNyArODk1NSw3IEBACiA8L0ZPTlQ+CiBhcnJheSB2YXJpYWJsZS4KIDxEVD48Qj4tWDwvQj4gPEk+ZmlsdGVycGF0PC9JPjxERD4KLTxJPmZpbHRlcnBhdDwvST4gaXMgYSBwYXR0ZXJuIGFzIHVzZWQgZm9yIGZpbGVuYW1lIGV4cGFuc2lvbi4KKzxJPmZpbHRlcnBhdDwvST4gaXMgYSBwYXR0ZXJuIGFzIHVzZWQgZm9yIHBhdGhuYW1lIGV4cGFuc2lvbi4KIEl0IGlzIGFwcGxpZWQgdG8gdGhlIGxpc3Qgb2YgcG9zc2libGUgY29tcGxldGlvbnMgZ2VuZXJhdGVkIGJ5IHRoZQogcHJlY2VkaW5nIG9wdGlvbnMgYW5kIGFyZ3VtZW50cywgYW5kIGVhY2ggY29tcGxldGlvbiBtYXRjaGluZwogPEk+ZmlsdGVycGF0PC9JPiBpcyByZW1vdmVkIGZyb20gdGhlIGxpc3QuCkBAIC04NjgxLDcgKzg5NzgsNyBAQAogYW4gZXJyb3Igb2NjdXJzIGFkZGluZyBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbi4KIDwvREw+CiAKLTxEVD48Qj5jb21wb3B0PC9CPiBbPEI+LW88L0I+IDxJPm9wdGlvbjwvST5dIFs8Qj4rbzwvQj4gPEk+b3B0aW9uPC9JPl0gWzxJPm5hbWU8L0k+XTxERD4KKzxEVD48Qj5jb21wb3B0PC9CPiBbPEI+LW88L0I+IDxJPm9wdGlvbjwvST5dIFs8Qj4tREU8L0I+XSBbPEI+K288L0I+IDxJPm9wdGlvbjwvST5dIFs8ST5uYW1lPC9JPl08REQ+CiBNb2RpZnkgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoIDxJPm5hbWU8L0k+IGFjY29yZGluZyB0byB0aGUKIDxJPm9wdGlvbjwvST5zLCBvciBmb3IgdGhlCiBjdXJyZW50bHktZXhlY3V0aW9uIGNvbXBsZXRpb24gaWYgbm8gPEk+bmFtZTwvST5zIGFyZSBzdXBwbGllZC4KQEAgLTg2ODksNiArODk4NiwxMiBAQAogPEk+bmFtZTwvST4gb3IgdGhlIGN1cnJlbnQgY29tcGxldGlvbi4KIFRoZSBwb3NzaWJsZSB2YWx1ZXMgb2YgPEk+b3B0aW9uPC9JPiBhcmUgdGhvc2UgdmFsaWQgZm9yIHRoZSA8Qj5jb21wbGV0ZTwvQj4KIGJ1aWx0aW4gZGVzY3JpYmVkIGFib3ZlLgorVGhlIDxCPi1EPC9CPiBvcHRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIHJlbWFpbmluZyBvcHRpb25zIHNob3VsZAorYXBwbHkgdG8gdGhlIGBgZGVmYXVsdCcnIGNvbW1hbmQgY29tcGxldGlvbjsgdGhhdCBpcywgY29tcGxldGlvbiBhdHRlbXB0ZWQKK29uIGEgY29tbWFuZCBmb3Igd2hpY2ggbm8gY29tcGxldGlvbiBoYXMgcHJldmlvdXNseSBiZWVuIGRlZmluZWQuCitUaGUgPEI+LUU8L0I+IG9wdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVtYWluaW5nIG9wdGlvbnMgc2hvdWxkCithcHBseSB0byBgYGVtcHR5JycgY29tbWFuZCBjb21wbGV0aW9uOyB0aGF0IGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhCitibGFuayBsaW5lLgogPC9ETD4KIDxQPgogCkBAIC04Nzg2LDEwICs5MDg5LDEwIEBACiAKIDxERD4KIFRoZSB2YXJpYWJsZSBpcyB0cmVhdGVkIGFzIGFuIGludGVnZXI7IGFyaXRobWV0aWMgZXZhbHVhdGlvbiAoc2VlCi08Rk9OVCBTSVpFPS0xPjxCPkFSSVRITUVUSUMgRVZBTFVBVElPTiApIDwvQj4KKzxGT05UIFNJWkU9LTE+PEI+QVJJVEhNRVRJQyBFVkFMVUFUSU9OPC9CPgogCiA8L0ZPTlQ+Ci1pcyBwZXJmb3JtZWQgd2hlbiB0aGUgdmFyaWFibGUgaXMgYXNzaWduZWQgYSB2YWx1ZS4KK2Fib3ZlKSBpcyBwZXJmb3JtZWQgd2hlbiB0aGUgdmFyaWFibGUgaXMgYXNzaWduZWQgYSB2YWx1ZS4KIDxEVD48Qj4tbDwvQj4KIAogPEREPgpAQCAtODgyNSwxMSArOTEyOCwxMSBAQAogVXNpbmcgYCsnIGluc3RlYWQgb2YgYC0nCiB0dXJucyBvZmYgdGhlIGF0dHJpYnV0ZSBpbnN0ZWFkLAogd2l0aCB0aGUgZXhjZXB0aW9ucyB0aGF0IDxCPithPC9CPgotbWF5IG5vdCBiZSB1c2VkIHRvIGRlc3Ryb3kgYW4gYXJyYXkgdmFyaWFibGUgYW5kIDxCPityIHdpbGwgbm90CittYXkgbm90IGJlIHVzZWQgdG8gZGVzdHJveSBhbiBhcnJheSB2YXJpYWJsZSBhbmQgPEI+K3I8L0I+IHdpbGwgbm90CiByZW1vdmUgdGhlIHJlYWRvbmx5IGF0dHJpYnV0ZS4KIFdoZW4gdXNlZCBpbiBhIGZ1bmN0aW9uLAogbWFrZXMgZWFjaAotPC9CPjxJPm5hbWU8L0k+IGxvY2FsLCBhcyB3aXRoIHRoZSAKKzxJPm5hbWU8L0k+IGxvY2FsLCBhcyB3aXRoIHRoZSAKIDxCPmxvY2FsPC9CPgogCiBjb21tYW5kLgpAQCAtODkxMyw3ICs5MjE2LDcgQEAKIElmCiA8ST5qb2JzcGVjPC9JPgogCi1pcyBub3QgcHJlc2VudCwgYW5kIG5laXRoZXIgPEI+LWEgbm9yIC1yPC9CPiBpcyBzdXBwbGllZCwKK2lzIG5vdCBwcmVzZW50LCBhbmQgbmVpdGhlciA8Qj4tYTwvQj4gbm9yIDxCPi1yPC9CPiBpcyBzdXBwbGllZCwKIHRoZSBzaGVsbCdzIG5vdGlvbiBvZiB0aGUgPEk+Y3VycmVudCBqb2I8L0k+IGlzIHVzZWQuCiBJZiB0aGUgPEI+LWg8L0I+IG9wdGlvbiBpcyBnaXZlbiwgZWFjaAogPEk+am9ic3BlYzwvST4KQEAgLTkzNzMsNyArOTY3NiwxMCBAQAogPFA+CiBXaGVuIHRoZSBlbmQgb2Ygb3B0aW9ucyBpcyBlbmNvdW50ZXJlZCwgPEI+Z2V0b3B0czwvQj4gZXhpdHMgd2l0aCBhCiByZXR1cm4gdmFsdWUgZ3JlYXRlciB0aGFuIHplcm8uCi08Qj5PUFRJTkQ8L0I+IGlzIHNldCB0byB0aGUgaW5kZXggb2YgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQsCis8Rk9OVCBTSVpFPS0xPjxCPk9QVElORDwvQj4KKworPC9GT05UPgoraXMgc2V0IHRvIHRoZSBpbmRleCBvZiB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCwKIGFuZCA8Qj5uYW1lPC9CPiBpcyBzZXQgdG8gPy4KIDxQPgogPEI+Z2V0b3B0czwvQj4KQEAgLTk1MTYsNyArOTgyMiw3IEBACiAKIDxERD4KIERpc3BsYXkgYSBzaG9ydCBkZXNjcmlwdGlvbiBvZiBlYWNoIDxJPnBhdHRlcm48L0k+Ci08RFQ+PEI+Jm5ic3A7LW08L0I+Cis8RFQ+PEI+LW08L0I+CiAKIDxERD4KIERpc3BsYXkgdGhlIGRlc2NyaXB0aW9uIG9mIGVhY2ggPEk+cGF0dGVybjwvST4gaW4gYSBtYW5wYWdlLWxpa2UgZm9ybWF0CkBAIC05NTUwLDcgKzk4NTYsMTEgQEAKIDxJPm48L0k+CiAKIGxpbmVzLgotSWYgdGhlIHNoZWxsIHZhcmlhYmxlIDxCPkhJU1RUSU1FRk9STUFUPC9CPiBpcyBzZXQgYW5kIG5vdCBudWxsLAorSWYgdGhlIHNoZWxsIHZhcmlhYmxlCis8Rk9OVCBTSVpFPS0xPjxCPkhJU1RUSU1FRk9STUFUPC9CPgorCis8L0ZPTlQ+CitpcyBzZXQgYW5kIG5vdCBudWxsLAogaXQgaXMgdXNlZCBhcyBhIGZvcm1hdCBzdHJpbmcgZm9yIDxJPnN0cmZ0aW1lPC9JPigzKSB0byBkaXNwbGF5CiB0aGUgdGltZSBzdGFtcCBhc3NvY2lhdGVkIHdpdGggZWFjaCBkaXNwbGF5ZWQgaGlzdG9yeSBlbnRyeS4KIE5vIGludGVydmVuaW5nIGJsYW5rIGlzIHByaW50ZWQgYmV0d2VlbiB0aGUgZm9ybWF0dGVkIHRpbWUgc3RhbXAKQEAgLTk2MTQsNyArOTkyNCwxMSBAQAogPC9ETD4KIDxQPgogCi1JZiB0aGUgPEI+SElTVFRJTUVGT1JNQVQ8L0I+IGlzIHNldCwgdGhlIHRpbWUgc3RhbXAgaW5mb3JtYXRpb24KK0lmIHRoZQorPEZPTlQgU0laRT0tMT48Qj5ISVNUVElNRUZPUk1BVDwvQj4KKworPC9GT05UPgordmFyaWFibGUgaXMgc2V0LCB0aGUgdGltZSBzdGFtcCBpbmZvcm1hdGlvbgogYXNzb2NpYXRlZCB3aXRoIGVhY2ggaGlzdG9yeSBlbnRyeSBpcyB3cml0dGVuIHRvIHRoZSBoaXN0b3J5IGZpbGUsCiBtYXJrZWQgd2l0aCB0aGUgaGlzdG9yeSBjb21tZW50IGNoYXJhY3Rlci4KIFdoZW4gdGhlIGhpc3RvcnkgZmlsZSBpcyByZWFkLCBsaW5lcyBiZWdpbm5pbmcgd2l0aCB0aGUgaGlzdG9yeQpAQCAtOTc1OCw5ICsxMDA3MiwxMCBAQAogPEk+YXJnPC9JPgogCiBpcyBhbiBhcml0aG1ldGljIGV4cHJlc3Npb24gdG8gYmUgZXZhbHVhdGVkIChzZWUKLTxGT05UIFNJWkU9LTE+PEI+QVJJVEhNRVRJQyBFVkFMVUFUSU9OPC9CPikuCis8Rk9OVCBTSVpFPS0xPjxCPkFSSVRITUVUSUMgRVZBTFVBVElPTjwvQj4KIAogPC9GT05UPgorYWJvdmUpLgogSWYgdGhlIGxhc3QKIDxJPmFyZzwvST4KIApAQCAtOTgwNiw3ICsxMDEyMSw3IEBACiAKIDxEVD48Qj5yZWFkYXJyYXk8L0I+IFs8Qj4tbjwvQj4gPEk+Y291bnQ8L0k+XSBbPEI+LU88L0I+IDxJPm9yaWdpbjwvST5dIFs8Qj4tczwvQj4gPEk+Y291bnQ8L0k+XSBbPEI+LXQ8L0I+XSBbPEI+LXU8L0I+IDxJPmZkPC9JPl0gWzxCPi1DPC9CPiA8ST5jYWxsYmFjazwvST5dIFs8Qj4tYzwvQj4gPEk+cXVhbnR1bTwvST5dIFs8ST5hcnJheTwvST5dPEREPgogCi1SZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYXJyYXkgdmFyaWFibGUKK1JlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgaW5kZXhlZCBhcnJheSB2YXJpYWJsZQogPEk+YXJyYXk8L0k+LAogCiBvciBmcm9tIGZpbGUgZGVzY3JpcHRvciAKQEAgLTk4MTYsNyArMTAxMzEsMTEgQEAKIDxCPi11PC9CPgogCiBvcHRpb24gaXMgc3VwcGxpZWQuCi1UaGUgdmFyaWFibGUgPEI+TUFQRklMRTwvQj4gaXMgdGhlIGRlZmF1bHQgPEk+YXJyYXk8L0k+LgorVGhlIHZhcmlhYmxlCis8Rk9OVCBTSVpFPS0xPjxCPk1BUEZJTEU8L0I+CisKKzwvRk9OVD4KK2lzIHRoZSBkZWZhdWx0IDxJPmFycmF5PC9JPi4KIE9wdGlvbnMsIGlmIHN1cHBsaWVkLCBoYXZlIHRoZSBmb2xsb3dpbmcgbWVhbmluZ3M6CiA8REwgQ09NUEFDVD48RFQ+PEREPgogCkBAIC05ODQ1LDcgKzEwMTY0LDcgQEAKIDxEVD48Qj4tdDwvQj4KIAogPEREPgotUmVtb3ZlIGEgdHJhaWxpbmcgbGluZSBmcm9tIGVhY2ggbGluZSByZWFkLgorUmVtb3ZlIGEgdHJhaWxpbmcgbmV3bGluZSBmcm9tIGVhY2ggbGluZSByZWFkLgogPERUPjxCPi11PC9CPgogCiA8REQ+CkBAIC05ODg3LDcgKzEwMjA2LDggQEAKIDxQPgogCiA8Qj5tYXBmaWxlPC9CPiByZXR1cm5zIHN1Y2Nlc3NmdWxseSB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gb3Igb3B0aW9uCi1hcmd1bWVudCBpcyBzdXBwbGllZCwgb3IgPEk+YXJyYXk8L0k+IGlzIGludmFsaWQgb3IgdW5hc3NpZ25hYmxlLgorYXJndW1lbnQgaXMgc3VwcGxpZWQsIDxJPmFycmF5PC9JPiBpcyBpbnZhbGlkIG9yIHVuYXNzaWduYWJsZSwgb3IgaWYKKzxJPmFycmF5PC9JPiBpcyBub3QgYW4gaW5kZXhlZCBhcnJheS4KIDwvREw+CiAKIDxEVD48Qj5wb3BkPC9CPiBbLTxCPm48L0I+XSBbKzxJPm48L0k+XSBbLTxJPm48L0k+XTxERD4KQEAgLTEwMDU0LDcgKzEwMzc0LDcgQEAKIFRoZSByZXR1cm4gc3RhdHVzIGlzIDAgdW5sZXNzIGFuIGVycm9yIG9jY3VycyB3aGlsZQogcmVhZGluZyB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBkaXJlY3Rvcnkgb3IgYW4KIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLgotPERUPjxCPnJlYWQ8L0I+IFs8Qj4tZXJzPC9CPl0gWzxCPi1hPC9CPiA8ST5hbmFtZTwvST5dIFs8Qj4tZDwvQj4gPEk+ZGVsaW08L0k+XSBbPEI+LTwvQj4gPEk+dGV4dDwvST5dIFs8Qj4tbjwvQj4gPEk+bmNoYXJzPC9JPl0gWzxCPi1wPC9CPiA8ST5wcm9tcHQ8L0k+XSBbPEI+LXQ8L0I+IDxJPnRpbWVvdXQ8L0k+XSBbPEI+LXU8L0I+IDxJPmZkPC9JPl0gWzxJPm5hbWU8L0k+IC4uLl08REQ+Cis8RFQ+PEI+cmVhZDwvQj4gWzxCPi1lcnM8L0I+XSBbPEI+LWE8L0I+IDxJPmFuYW1lPC9JPl0gWzxCPi1kPC9CPiA8ST5kZWxpbTwvST5dIFs8Qj4taTwvQj4gPEk+dGV4dDwvST5dIFs8Qj4tbjwvQj4gPEk+bmNoYXJzPC9JPl0gWzxCPi1OPC9CPiA8ST5uY2hhcnM8L0k+XSBbPEI+LXA8L0I+IDxJPnByb21wdDwvST5dIFs8Qj4tdDwvQj4gPEk+dGltZW91dDwvST5dIFs8Qj4tdTwvQj4gPEk+ZmQ8L0k+XSBbPEk+bmFtZTwvST4gLi4uXTxERD4KIE9uZSBsaW5lIGlzIHJlYWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQsIG9yIGZyb20gdGhlIGZpbGUgZGVzY3JpcHRvcgogPEk+ZmQ8L0k+IHN1cHBsaWVkIGFzIGFuIGFyZ3VtZW50IHRvIHRoZSA8Qj4tdTwvQj4gb3B0aW9uLCBhbmQgdGhlIGZpcnN0IHdvcmQKIGlzIGFzc2lnbmVkIHRvIHRoZSBmaXJzdApAQCAtMTAxMjMsNyArMTA0NDMsMTcgQEAKIAogPEREPgogPEI+cmVhZDwvQj4gcmV0dXJucyBhZnRlciByZWFkaW5nIDxJPm5jaGFyczwvST4gY2hhcmFjdGVycyByYXRoZXIgdGhhbgotd2FpdGluZyBmb3IgYSBjb21wbGV0ZSBsaW5lIG9mIGlucHV0Lgord2FpdGluZyBmb3IgYSBjb21wbGV0ZSBsaW5lIG9mIGlucHV0LCBidXQgaG9ub3IgYSBkZWxpbWl0ZXIgaWYgZmV3ZXIKK3RoYW4gPEk+bmNoYXJzPC9JPiBjaGFyYWN0ZXJzIGFyZSByZWFkIGJlZm9yZSB0aGUgZGVsaW1pdGVyLgorPERUPjxCPi1OIDwvQj48ST5uY2hhcnM8L0k+CisKKzxERD4KKzxCPnJlYWQ8L0I+IHJldHVybnMgYWZ0ZXIgcmVhZGluZyBleGFjdGx5IDxJPm5jaGFyczwvST4gY2hhcmFjdGVycyByYXRoZXIKK3RoYW4gd2FpdGluZyBmb3IgYSBjb21wbGV0ZSBsaW5lIG9mIGlucHV0LCB1bmxlc3MgRU9GIGlzIGVuY291bnRlcmVkIG9yCis8Qj5yZWFkPC9CPiB0aW1lcyBvdXQuCitEZWxpbWl0ZXIgY2hhcmFjdGVycyBlbmNvdW50ZXJlZCBpbiB0aGUgaW5wdXQgYXJlCitub3QgdHJlYXRlZCBzcGVjaWFsbHkgYW5kIGRvIG5vdCBjYXVzZSA8Qj5yZWFkPC9CPiB0byByZXR1cm4gdW50aWwKKzxJPm5jaGFyczwvST4gY2hhcmFjdGVycyBhcmUgcmVhZC4KIDxEVD48Qj4tcCA8L0I+PEk+cHJvbXB0PC9JPgogCiA8REQ+CkBAIC0xMDI4MSw3ICsxMDYxMSwxMCBAQAogPERUPjxCPi1lPC9CPgogCiA8REQ+Ci1FeGl0IGltbWVkaWF0ZWx5IGlmIGEgPEk+c2ltcGxlIGNvbW1hbmQ8L0k+IChzZWUKK0V4aXQgaW1tZWRpYXRlbHkgaWYgYSA8ST5waXBlbGluZTwvST4gKHdoaWNoIG1heSBjb25zaXN0IG9mIGEgc2luZ2xlCis8ST5zaW1wbGUgY29tbWFuZDwvST4pLCAgYSA8ST5zdWJzaGVsbDwvST4gY29tbWFuZCBlbmNsb3NlZCBpbiBwYXJlbnRoZXNlcywKK29yIG9uZSBvZiB0aGUgY29tbWFuZHMgZXhlY3V0ZWQgYXMgcGFydCBvZiBhIGNvbW1hbmQgbGlzdCBlbmNsb3NlZAorYnkgYnJhY2VzIChzZWUKIDxGT05UIFNJWkU9LTE+PEI+U0hFTEwgR1JBTU1BUjwvQj4KIAogPC9GT05UPgpAQCAtMTAyOTQsMjUgKzEwNjI3LDMyIEBACiA8Qj51bnRpbDwvQj4KIAoga2V5d29yZCwgCi1wYXJ0IG9mIHRoZSB0ZXN0IGluIGFuCitwYXJ0IG9mIHRoZSB0ZXN0IGZvbGxvd2luZyB0aGUKIDxCPmlmPC9CPgogCi1zdGF0ZW1lbnQsIHBhcnQgb2YgYSBjb21tYW5kIGV4ZWN1dGVkIGluIGEKK29yCis8Qj5lbGlmPC9CPgorCityZXNlcnZlZCB3b3JkcywgcGFydCBvZiBhbnkgY29tbWFuZCBleGVjdXRlZCBpbiBhCiA8Qj4mYW1wOyZhbXA7PC9CPgogCiBvcgogPEI+fHw8L0I+CiAKLWxpc3QsCitsaXN0IGV4Y2VwdCB0aGUgY29tbWFuZCBmb2xsb3dpbmcgdGhlIGZpbmFsIDxCPiZhbXA7JmFtcDs8L0I+IG9yIDxCPnx8PC9CPiwKIGFueSBjb21tYW5kIGluIGEgcGlwZWxpbmUgYnV0IHRoZSBsYXN0LAogb3IgaWYgdGhlIGNvbW1hbmQncyByZXR1cm4gdmFsdWUgaXMKLWJlaW5nIGludmVydGVkIHZpYQorYmVpbmcgaW52ZXJ0ZWQgd2l0aAogPEI+ITwvQj4uCiAKLUZhaWxpbmcgc2ltcGxlIGNvbW1hbmRzIHRoYXQgYXJlIHBhcnQgb2Ygc2hlbGwgZnVuY3Rpb25zIG9yIGNvbW1hbmQgbGlzdHMKLWVuY2xvc2VkIGluIGJyYWNlcyBvciBwYXJlbnRoZXNlcyBzYXRpc2Z5aW5nIHRoZSBhYm92ZSBjb25kaXRpb25zIGRvIG5vdAotY2F1c2UgdGhlIHNoZWxsIHRvIGV4aXQuCiBBIHRyYXAgb24gPEI+RVJSPC9CPiwgaWYgc2V0LCBpcyBleGVjdXRlZCBiZWZvcmUgdGhlIHNoZWxsIGV4aXRzLgorVGhpcyBvcHRpb24gYXBwbGllcyB0byB0aGUgc2hlbGwgZW52aXJvbm1lbnQgYW5kIGVhY2ggc3Vic2hlbGwgZW52aXJvbm1lbnQKK3NlcGFyYXRlbHkgKHNlZQorPEZPTlQgU0laRT0tMT48Qj5DT01NQU5EIEVYRUNVVElPTiBFTlZJUk9OTUVOVDwvQj4KKworPC9GT05UPgorYWJvdmUpLCBhbmQgbWF5IGNhdXNlCitzdWJzaGVsbHMgdG8gZXhpdCBiZWZvcmUgZXhlY3V0aW5nIGFsbCB0aGUgY29tbWFuZHMgaW4gdGhlIHN1YnNoZWxsLgogPERUPjxCPi1mPC9CPgogCiA8REQ+CkBAIC0xMDM3NCw2ICsxMDcxNCwxMiBAQAogCiBvcHRpb24uCiBUaGlzIGFsc28gYWZmZWN0cyB0aGUgZWRpdGluZyBpbnRlcmZhY2UgdXNlZCBmb3IgPEI+cmVhZCAtZTwvQj4uCis8RFQ+PEI+ZXJyZXhpdDwvQj4KKworPEREPgorU2FtZSBhcworPEI+LWU8L0I+LgorCiA8RFQ+PEI+ZXJydHJhY2U8L0I+CiAKIDxERD4KQEAgLTEwMzg2LDEyICsxMDczMiw2IEBACiBTYW1lIGFzCiA8Qj4tVDwvQj4uCiAKLTxEVD48Qj5lcnJleGl0PC9CPgotCi08REQ+Ci1TYW1lIGFzCi08Qj4tZTwvQj4uCi0KIDxEVD48Qj5oYXNoYWxsPC9CPgogCiA8REQ+CkBAIC0xMDU1NywxMSArMTA4OTcsMTYgQEAKIDxGT05UIFNJWkU9LTE+PEI+U0hFTExPUFRTPC9CPiwKIAogPC9GT05UPgotPEI+Q0RQQVRIPC9CPiwKKzxGT05UIFNJWkU9LTE+PEI+QkFTSE9QVFM8L0I+LAogCis8L0ZPTlQ+Cis8Rk9OVCBTSVpFPS0xPjxCPkNEUEFUSDwvQj4sCisKKzwvRk9OVD4KIGFuZAotPEI+R0xPQklHTk9SRTwvQj4KKzxGT05UIFNJWkU9LTE+PEI+R0xPQklHTk9SRTwvQj4KIAorPC9GT05UPgogdmFyaWFibGVzLCBpZiB0aGV5IGFwcGVhciBpbiB0aGUgZW52aXJvbm1lbnQsIGFyZSBpZ25vcmVkLgogSWYgdGhlIHNoZWxsIGlzIHN0YXJ0ZWQgd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgKGdyb3VwKSBpZCBub3QgZXF1YWwgdG8gdGhlCiByZWFsIHVzZXIgKGdyb3VwKSBpZCwgYW5kIHRoZSA8Qj4tcDwvQj4gb3B0aW9uIGlzIG5vdCBzdXBwbGllZCwgdGhlc2UgYWN0aW9ucwpAQCAtMTA1NzcsOSArMTA5MjIsMTAgQEAKIDxEVD48Qj4tdTwvQj4KIAogPEREPgotVHJlYXQgdW5zZXQgdmFyaWFibGVzIGFzIGFuIGVycm9yIHdoZW4gcGVyZm9ybWluZworVHJlYXQgdW5zZXQgdmFyaWFibGVzIGFuZCBwYXJhbWV0ZXJzIG90aGVyIHRoYW4gdGhlIHNwZWNpYWwKK3BhcmFtZXRlcnMgJnF1b3Q7QCZxdW90OyBhbmQgJnF1b3Q7KiZxdW90OyBhcyBhbiBlcnJvciB3aGVuIHBlcmZvcm1pbmcKIHBhcmFtZXRlciBleHBhbnNpb24uICBJZiBleHBhbnNpb24gaXMgYXR0ZW1wdGVkIG9uIGFuCi11bnNldCB2YXJpYWJsZSwgdGhlIHNoZWxsIHByaW50cyBhbiBlcnJvciBtZXNzYWdlLCBhbmQsCit1bnNldCB2YXJpYWJsZSBvciBwYXJhbWV0ZXIsIHRoZSBzaGVsbCBwcmludHMgYW4gZXJyb3IgbWVzc2FnZSwgYW5kLAogaWYgbm90IGludGVyYWN0aXZlLCBleGl0cyB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLgogPERUPjxCPi12PC9CPgogCkBAIC0xMDgzMiw3ICsxMTE3OCwxMSBAQAogSWYgc2V0LCA8Qj5iYXNoPC9CPiBsaXN0cyB0aGUgc3RhdHVzIG9mIGFueSBzdG9wcGVkIGFuZCBydW5uaW5nIGpvYnMgYmVmb3JlCiBleGl0aW5nIGFuIGludGVyYWN0aXZlIHNoZWxsLiAgSWYgYW55IGpvYnMgYXJlIHJ1bm5pbmcsIHRoaXMgY2F1c2VzCiB0aGUgZXhpdCB0byBiZSBkZWZlcnJlZCB1bnRpbCBhIHNlY29uZCBleGl0IGlzIGF0dGVtcHRlZCB3aXRob3V0IGFuCi1pbnRlcnZlbmluZyBjb21tYW5kIChzZWUgPEI+Sk9CIENPTlRST0w8L0I+IGFib3ZlKS4gIFRoZSBzaGVsbCBhbHdheXMKK2ludGVydmVuaW5nIGNvbW1hbmQgKHNlZQorPEZPTlQgU0laRT0tMT48Qj5KT0IgQ09OVFJPTDwvQj4KKworPC9GT05UPgorYWJvdmUpLiAgVGhlIHNoZWxsIGFsd2F5cwogcG9zdHBvbmVzIGV4aXRpbmcgaWYgYW55IGpvYnMgYXJlIHN0b3BwZWQuCiA8RFQ+PEI+Y2hlY2t3aW5zaXplPC9CPgogCkBAIC0xMDg2Myw2ICsxMTIxMywyMyBAQAogCiBjaGFuZ2VzIGl0cyBiZWhhdmlvciB0byB0aGF0IG9mIHZlcnNpb24gMy4xIHdpdGggcmVzcGVjdCB0byBxdW90ZWQKIGFyZ3VtZW50cyB0byB0aGUgY29uZGl0aW9uYWwgY29tbWFuZCdzID1+IG9wZXJhdG9yLgorPERUPjxCPmNvbXBhdDMyPC9CPgorCis8REQ+CitJZiBzZXQsCis8Qj5iYXNoPC9CPgorCitjaGFuZ2VzIGl0cyBiZWhhdmlvciB0byB0aGF0IG9mIHZlcnNpb24gMy4yIHdpdGggcmVzcGVjdCB0byBsb2NhbGUtc3BlY2lmaWMKK3N0cmluZyBjb21wYXJpc29uIHdoZW4gdXNpbmcgdGhlIGNvbmRpdGlvbmFsIGNvbW1hbmQncyAmbHQ7IGFuZCAmZ3Q7IG9wZXJhdG9ycy4KKzxEVD48Qj5jb21wYXQ0MDwvQj4KKworPEREPgorSWYgc2V0LAorPEI+YmFzaDwvQj4KKworY2hhbmdlcyBpdHMgYmVoYXZpb3IgdG8gdGhhdCBvZiB2ZXJzaW9uIDQuMCB3aXRoIHJlc3BlY3QgdG8gbG9jYWxlLXNwZWNpZmljCitzdHJpbmcgY29tcGFyaXNvbiB3aGVuIHVzaW5nIHRoZSBjb25kaXRpb25hbCBjb21tYW5kJ3MgJmx0OyBhbmQgJmd0OyBvcGVyYXRvcnMKK2FuZCB0aGUgZWZmZWN0IG9mIGludGVycnVwdGluZyBhIGNvbW1hbmQgbGlzdC4KIDxEVD48Qj5kaXJzcGVsbDwvQj4KIAogPEREPgpAQCAtMTA5MjUsOCArMTEyOTIsMTQgQEAKIDxEVD48Qj40LjwvQj4KIAogPEREPgotPEI+QkFTSF9BUkdDPC9CPiBhbmQgPEI+QkFTSF9BUkdWPC9CPiBhcmUgdXBkYXRlZCBhcyBkZXNjcmliZWQgaW4gdGhlaXIKLWRlc2NyaXB0aW9ucyBhYm92ZS4KKzxGT05UIFNJWkU9LTE+PEI+QkFTSF9BUkdDPC9CPgorCis8L0ZPTlQ+CithbmQKKzxGT05UIFNJWkU9LTE+PEI+QkFTSF9BUkdWPC9CPgorCis8L0ZPTlQ+CithcmUgdXBkYXRlZCBhcyBkZXNjcmliZWQgaW4gdGhlaXIgZGVzY3JpcHRpb25zIGFib3ZlLgogPERUPjxCPjUuPC9CPgogCiA8REQ+CkBAIC0xMDk2MCwxNyArMTEzMzMsMjQgQEAKIDxEVD48Qj5mb3JjZV9maWdub3JlPC9CPgogCiA8REQ+Ci1JZiBzZXQsIHRoZSBzdWZmaXhlcyBzcGVjaWZpZWQgYnkgdGhlIDxCPkZJR05PUkU8L0I+IHNoZWxsIHZhcmlhYmxlCitJZiBzZXQsIHRoZSBzdWZmaXhlcyBzcGVjaWZpZWQgYnkgdGhlCis8Rk9OVCBTSVpFPS0xPjxCPkZJR05PUkU8L0I+CisKKzwvRk9OVD4KK3NoZWxsIHZhcmlhYmxlCiBjYXVzZSB3b3JkcyB0byBiZSBpZ25vcmVkIHdoZW4gcGVyZm9ybWluZyB3b3JkIGNvbXBsZXRpb24gZXZlbiBpZgogdGhlIGlnbm9yZWQgd29yZHMgYXJlIHRoZSBvbmx5IHBvc3NpYmxlIGNvbXBsZXRpb25zLgogU2VlCiA8Rk9OVCBTSVpFPS0xPjxCPlNIRUxMIFZBUklBQkxFUzwvQj48L0ZPTlQ+Ci1hYm92ZSBmb3IgYSBkZXNjcmlwdGlvbiBvZiA8Qj5GSUdOT1JFPC9CPi4KK2Fib3ZlIGZvciBhIGRlc2NyaXB0aW9uIG9mCis8Rk9OVCBTSVpFPS0xPjxCPkZJR05PUkU8L0I+LgorCis8L0ZPTlQ+CiBUaGlzIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuCiA8RFQ+PEI+Z2xvYnN0YXI8L0I+CiAKIDxERD4KLUlmIHNldCwgdGhlIHBhdHRlcm4gPEI+Kio8L0I+IHVzZWQgaW4gYSBmaWxlbmFtZSBleHBhbnNpb24gY29udGV4dCB3aWxsCitJZiBzZXQsIHRoZSBwYXR0ZXJuIDxCPioqPC9CPiB1c2VkIGluIGEgcGF0aG5hbWUgZXhwYW5zaW9uIGNvbnRleHQgd2lsbAogbWF0Y2ggYSBmaWxlcyBhbmQgemVybyBvciBtb3JlIGRpcmVjdG9yaWVzIGFuZCBzdWJkaXJlY3Rvcmllcy4KIElmIHRoZSBwYXR0ZXJuIGlzIGZvbGxvd2VkIGJ5IGEgPEI+LzwvQj4sIG9ubHkgZGlyZWN0b3JpZXMgYW5kCiBzdWJkaXJlY3RvcmllcyBtYXRjaC4KQEAgLTEwOTg0LDggKzExMzY0LDkgQEAKIDxERD4KIElmIHNldCwgdGhlIGhpc3RvcnkgbGlzdCBpcyBhcHBlbmRlZCB0byB0aGUgZmlsZSBuYW1lZCBieSB0aGUgdmFsdWUKIG9mIHRoZQotPEI+SElTVEZJTEU8L0I+Cis8Rk9OVCBTSVpFPS0xPjxCPkhJU1RGSUxFPC9CPgogCis8L0ZPTlQ+CiB2YXJpYWJsZSB3aGVuIHRoZSBzaGVsbCBleGl0cywgcmF0aGVyIHRoYW4gb3ZlcndyaXRpbmcgdGhlIGZpbGUuCiA8RFQ+PEI+aGlzdHJlZWRpdDwvQj4KIApAQCAtMTEwNzIsNyArMTE0NTMsMTEgQEAKIGlzIGJlaW5nIHVzZWQsCiA8Qj5iYXNoPC9CPgogCi13aWxsIG5vdCBhdHRlbXB0IHRvIHNlYXJjaCB0aGUgPEI+UEFUSDwvQj4gZm9yIHBvc3NpYmxlIGNvbXBsZXRpb25zIHdoZW4KK3dpbGwgbm90IGF0dGVtcHQgdG8gc2VhcmNoIHRoZQorPEZPTlQgU0laRT0tMT48Qj5QQVRIPC9CPgorCis8L0ZPTlQ+Citmb3IgcG9zc2libGUgY29tcGxldGlvbnMgd2hlbgogY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQgb24gYW4gZW1wdHkgbGluZS4KIDxEVD48Qj5ub2Nhc2VnbG9iPC9CPgogCkBAIC0xMTMzMSw2ICsxMTcxNiw5IEBACiBpcyBlaXRoZXIKIGEgc2lnbmFsIG5hbWUgZGVmaW5lZCBpbiAmbHQ7PEk+c2lnbmFsLmg8L0k+Jmd0Oywgb3IgYSBzaWduYWwgbnVtYmVyLgogU2lnbmFsIG5hbWVzIGFyZSBjYXNlIGluc2Vuc2l0aXZlIGFuZCB0aGUgU0lHIHByZWZpeCBpcyBvcHRpb25hbC4KKzxQPgorCisKIElmIGEKIDxJPnNpZ3NwZWM8L0k+CiAKQEAgLTExMzY1LDYgKzExNzUzLDIxIEBACiA8ST5zaWdzcGVjPC9JPgogCiBpcworPEZPTlQgU0laRT0tMT48Qj5SRVRVUk48L0I+LAorCis8L0ZPTlQ+Cit0aGUgY29tbWFuZAorPEk+YXJnPC9JPgorCitpcyBleGVjdXRlZCBlYWNoIHRpbWUgYSBzaGVsbCBmdW5jdGlvbiBvciBhIHNjcmlwdCBleGVjdXRlZCB3aXRoIHRoZQorPEI+LjwvQj4gb3IgPEI+c291cmNlPC9CPiBidWlsdGlucyBmaW5pc2hlcyBleGVjdXRpbmcuCis8UD4KKworCitJZiBhCis8ST5zaWdzcGVjPC9JPgorCitpcwogPEZPTlQgU0laRT0tMT48Qj5FUlI8L0I+LAogCiA8L0ZPTlQ+CkBAIC0xMTM5OSwyMSArMTE4MDIsMTIgQEAKIDxCPiE8L0I+LgogCiBUaGVzZSBhcmUgdGhlIHNhbWUgY29uZGl0aW9ucyBvYmV5ZWQgYnkgdGhlIDxCPmVycmV4aXQ8L0I+IG9wdGlvbi4KLUlmIGEKLTxJPnNpZ3NwZWM8L0k+Cis8UD4KIAotaXMKLTxGT05UIFNJWkU9LTE+PEI+UkVUVVJOPC9CPiwKIAotPC9GT05UPgotdGhlIGNvbW1hbmQKLTxJPmFyZzwvST4KLQotaXMgZXhlY3V0ZWQgZWFjaCB0aW1lIGEgc2hlbGwgZnVuY3Rpb24gb3IgYSBzY3JpcHQgZXhlY3V0ZWQgd2l0aCB0aGUKLTxCPi48L0I+IG9yIDxCPnNvdXJjZTwvQj4gYnVpbHRpbnMgZmluaXNoZXMgZXhlY3V0aW5nLgogU2lnbmFscyBpZ25vcmVkIHVwb24gZW50cnkgdG8gdGhlIHNoZWxsIGNhbm5vdCBiZSB0cmFwcGVkIG9yIHJlc2V0LgogVHJhcHBlZCBzaWduYWxzIHRoYXQgYXJlIG5vdCBiZWluZyBpZ25vcmVkIGFyZSByZXNldCB0byB0aGVpciBvcmlnaW5hbAotdmFsdWVzIGluIGEgY2hpbGQgcHJvY2VzcyB3aGVuIGl0IGlzIGNyZWF0ZWQuCit2YWx1ZXMgaW4gYSBzdWJzaGVsbCBvciBzdWJzaGVsbCBlbnZpcm9ubWVudCB3aGVuIG9uZSBpcyBjcmVhdGVkLgogVGhlIHJldHVybiBzdGF0dXMgaXMgZmFsc2UgaWYgYW55CiA8ST5zaWdzcGVjPC9JPgogCkBAIC0xMTU5MSw3ICsxMTk4NSw3IEBACiA8RFQ+PEI+LW08L0I+CiAKIDxERD4KLVRoZSBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplCitUaGUgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZSAobWFueSBzeXN0ZW1zIGRvIG5vdCBob25vciB0aGlzIGxpbWl0KQogPERUPjxCPi1uPC9CPgogCiA8REQ+CkBAIC0xMTczMyw2ICsxMjEyNyw5IEBACiBFYWNoIHVuc2V0IHZhcmlhYmxlIG9yIGZ1bmN0aW9uIGlzIHJlbW92ZWQgZnJvbSB0aGUgZW52aXJvbm1lbnQKIHBhc3NlZCB0byBzdWJzZXF1ZW50IGNvbW1hbmRzLgogSWYgYW55IG9mCis8Rk9OVCBTSVpFPS0xPjxCPkNPTVBfV09SREJSRUFLUzwvQj4sCisKKzwvRk9OVD4KIDxGT05UIFNJWkU9LTE+PEI+UkFORE9NPC9CPiwKIAogPC9GT05UPgpAQCAtMTE4MDksMTUgKzEyMjA2LDE5IEBACiBjaGFuZ2luZyBkaXJlY3RvcmllcyB3aXRoIDxCPmNkPC9CPgogPERUPio8REQ+CiBzZXR0aW5nIG9yIHVuc2V0dGluZyB0aGUgdmFsdWVzIG9mCi08Qj5TSEVMTDwvQj4sCis8Rk9OVCBTSVpFPS0xPjxCPlNIRUxMPC9CPiwKIAotPEI+UEFUSDwvQj4sCis8L0ZPTlQ+Cis8Rk9OVCBTSVpFPS0xPjxCPlBBVEg8L0I+LAogCi08Qj5FTlY8L0I+LAorPC9GT05UPgorPEZPTlQgU0laRT0tMT48Qj5FTlY8L0I+LAogCis8L0ZPTlQ+CiBvcgotPEI+QkFTSF9FTlY8L0I+Cis8Rk9OVCBTSVpFPS0xPjxCPkJBU0hfRU5WPC9CPgogCis8L0ZPTlQ+CiA8RFQ+KjxERD4KIHNwZWNpZnlpbmcgY29tbWFuZCBuYW1lcyBjb250YWluaW5nCiA8Qj4vPC9CPgpAQCAtMTE4NDEsNyArMTIyNDIsMTEgQEAKIDxEVD4qPEREPgogaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb25zIGZyb20gdGhlIHNoZWxsIGVudmlyb25tZW50IGF0IHN0YXJ0dXAKIDxEVD4qPEREPgotcGFyc2luZyB0aGUgdmFsdWUgb2YgPEI+U0hFTExPUFRTPC9CPiBmcm9tIHRoZSBzaGVsbCBlbnZpcm9ubWVudCBhdCBzdGFydHVwCitwYXJzaW5nIHRoZSB2YWx1ZSBvZgorPEZPTlQgU0laRT0tMT48Qj5TSEVMTE9QVFM8L0I+CisKKzwvRk9OVD4KK2Zyb20gdGhlIHNoZWxsIGVudmlyb25tZW50IGF0IHN0YXJ0dXAKIDxEVD4qPEREPgogcmVkaXJlY3Rpbmcgb3V0cHV0IHVzaW5nIHRoZSAmZ3Q7LCAmZ3Q7fCwgJmx0OyZndDssICZndDsmYW1wOywgJmFtcDsmZ3Q7LCBhbmQgJmd0OyZndDsgcmVkaXJlY3Rpb24gb3BlcmF0b3JzCiA8RFQ+KjxERD4KQEAgLTExOTU3LDcgKzEyMzYyLDcgQEAKIENoZXQgUmFtZXksIENhc2UgV2VzdGVybiBSZXNlcnZlIFVuaXZlcnNpdHkKIDxCUj4KIAotPEEgSFJFRj0ibWFpbHRvOmNoZXRAcG8uY3dydS5lZHUiPmNoZXRAcG8uY3dydS5lZHU8L0E+Cis8QSBIUkVGPSJtYWlsdG86Y2hldC5yYW1leUBjYXNlLmVkdSI+Y2hldC5yYW1leUBjYXNlLmVkdTwvQT4KIDxBIE5BTUU9ImxiREciPiZuYnNwOzwvQT4KIDxIMz5CVUcgUkVQT1JUUzwvSDM+CiAKQEAgLTEyMDU1LDcgKzEyNDYwLDcgQEAKIDxIUj4KIDxUQUJMRSBXSURUSD0xMDAlPgogPFRSPgotPFRIIEFMSUdOPUxFRlQgd2lkdGg9MzMlPkdOVSBCYXNoLTQuMDxUSCBBTElHTj1DRU5URVIgd2lkdGg9MzMlPjIwMDggRGVjZW1iZXIgMjk8VEggQUxJR049UklHSFQgd2lkdGg9MzMlPkJBU0goMSkKKzxUSCBBTElHTj1MRUZUIHdpZHRoPTMzJT5HTlUgQmFzaC00LjE8VEggQUxJR049Q0VOVEVSIHdpZHRoPTMzJT4yMDA5IERlY2VtYmVyIDI5PFRIIEFMSUdOPVJJR0hUIHdpZHRoPTMzJT5CQVNIKDEpCiA8L1RSPgogPC9UQUJMRT4KIDxIUj4KQEAgLTEyMTYxLDYgKzEyNTY2LDYgQEAKIDwvREw+CiA8SFI+CiBUaGlzIGRvY3VtZW50IHdhcyBjcmVhdGVkIGJ5IG1hbjJodG1sIGZyb20gYmFzaC4xLjxCUj4KLVRpbWU6IDA1IEZlYnJ1YXJ5IDIwMDkgMDg6MDU6MzQgRVNUCitUaW1lOiAzMCBEZWNlbWJlciAyMDA5IDEzOjA3OjM4IEVTVAogPC9CT0RZPgogPC9IVE1MPgpkaWZmIC0tZ2l0IGEvZG9jL2Jhc2gucGRmIGIvZG9jL2Jhc2gucGRmCmluZGV4IDU2M2RhZjEuLmNiMzZjNWUgMTAwNjQ0Ci0tLSBhL2RvYy9iYXNoLnBkZgorKysgYi9kb2MvYmFzaC5wZGYKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvZG9jL2Jhc2gucHMgYi9kb2MvYmFzaC5wcwppbmRleCBhMmRiYzVjLi44YjRkNTczIDEwMDY0NAotLS0gYS9kb2MvYmFzaC5wcworKysgYi9kb2MvYmFzaC5wcwpAQCAtMSwxMyArMSwxMyBAQAogJSFQUy1BZG9iZS0zLjAKICUlQ3JlYXRvcjogZ3JvZmYgdmVyc2lvbiAxLjE5LjIKLSUlQ3JlYXRpb25EYXRlOiBXZWQgRmViIDE4IDE1OjMzOjAxIDIwMDkKKyUlQ3JlYXRpb25EYXRlOiBXZWQgRGVjIDMwIDEzOjA3OjM3IDIwMDkKICUlRG9jdW1lbnROZWVkZWRSZXNvdXJjZXM6IGZvbnQgVGltZXMtUm9tYW4KICUlKyBmb250IFRpbWVzLUJvbGQKICUlKyBmb250IFRpbWVzLUl0YWxpYwogJSUrIGZvbnQgQ291cmllcgogJSUrIGZvbnQgU3ltYm9sCiAlJURvY3VtZW50U3VwcGxpZWRSZXNvdXJjZXM6IHByb2NzZXQgZ3JvcHMgMS4xOSAyCi0lJVBhZ2VzOiA2OQorJSVQYWdlczogNzAKICUlUGFnZU9yZGVyOiBBc2NlbmQKICUlRG9jdW1lbnRNZWRpYTogRGVmYXVsdCA1OTUgODQyIDAgKCkgKCkKICUlT3JpZW50YXRpb246IFBvcnRyYWl0CkBAIC0zMzEsNyArMzMxLDcgQEAKIDE0NCA2ODYuNCBRIC4zIC0uMTUodmUgXCgpLS4yNSBIKHNlZSkuMTUgRSBGNChJTlYpMi41IEUoT0NBKS0uNDA1IEUKIChUSU9OKS0uODU1IEUgRjAoYmVsbykyLjI1IEUod1wpLiktLjI1IEUgRjIoXDI1NVwyNTVsb2dpbikxMDggNzAzLjIgUSBGMAogKEVxdWkpMTQ0IDcxNS4yIFEgLS4yNSh2YSktLjI1IEcobGVudCB0bykuMjUgRSBGMjxhZDZjPjIuNSBFIEYwKC4pQQotKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUoMSkxOTUuOTUgRSAwIENnIEVQCisoR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDEpMTkwLjk1NSBFIDAgQ2cgRVAKICUlUGFnZTogMiAyCiAlJUJlZ2luUGFnZVNldHVwCiBCUApAQCAtNDUyLDggKzQ1Miw4IEBACiAoaWYgWyBcMjU1biAiJEJBU0hfRU5WIiBdOyB0aGVuIC4gIiRCQVNIX0VOViI7IGZpKTE0NCA3MDkuMiBRIEYwIC0uMihidSkKIDEwOCA3MjcuMiBTIDIuNSh0dCkuMiBHKGhlIHYpLTIuNSBFKGFsdWUgb2YgdGhlKS0uMjUgRSBGMyAtLjY2NihQQSkyLjUgRwogKFRIKS0uMTg5IEUgRjAgLS4yNSh2YSkyLjI1IEcKLShyaWFibGUgaXMgbm90IHVzZWQgdG8gc2VhcmNoIGZvciB0aGUgXDIxNGxlIG5hbWUuKS4yNSBFKEdOVSBCYXNoLTQuMCk3MgotNzY4IFEoMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFKDIpMTk1Ljk1IEUgMCBDZyBFUAorKHJpYWJsZSBpcyBub3QgdXNlZCB0byBzZWFyY2ggZm9yIHRoZSBcMjE0bGUgbmFtZS4pLjI1IEUoR05VIEJhc2gtNC4xKTcyCis3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgyKTE5MC45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDMgMwogJSVCZWdpblBhZ2VTZXR1cAogQlAKQEAgLTUyNiwxNSArNTI2LDE3IEBACiAoc2VyIFwoZ3JvdXBcKSBpZCBub3QgZXF1YWwgdG8gdGhlIHJlYWwgdXNlciBcKGdyb3VwXCkgaWQsIGFuZCB0aGUpLjE1IEYKIEYxPGFkNzA+My43MDggRSBGMCAuNTM2KG9wdGlvbiBpcyBub3Qgc3VwcGxpZWQsIG5vIHN0YXJ0dXAgXDIxNGxlcyBhcmUgXAogcmVhZCwgc2hlbGwgZnVuY3Rpb25zIGFyZSBub3QgaW5oZXJpdGVkIGZyb20gdGhlIGVuKTEwOCAzMjYuNCBSIC41MzUKLSh2aXJvbm1lbnQsIHRoZSktLjQgRiBGMyhTSEVMTE9QVFMpMTA4IDMzOC40IFEgRjAgLS4yNSh2YSkyLjQ1OSBHIC4yMQotKHJpYWJsZSwgaWYgaXQgYXBwZWFycyBpbiB0aGUgZW4pLjI1IEYgLjIxCi0odmlyb25tZW50LCBpcyBpZ25vcmVkLCBhbmQgdGhlIGVmKS0uNCBGKGZlY3RpKS0uMjUgRSAuNTEgLS4xNSh2ZSB1KS0uMjUKLUggLjIxKHNlciBpZCBpcyBzZXQgdG8gdGhlIHJlYWwpLjE1IEYgLjI2MSh1c2VyIGlkLikxMDggMzUwLjQgUiAuMjYxCi0oSWYgdGhlKTUuMjYxIEYgRjE8YWQ3MD4yLjc2MSBFIEYwIC4yNjEob3B0aW9uIGlzIHN1cHBsaWVkIGF0IGluKTIuNzYxIEYKLS0uMih2byktLjQgRyAuMjYxKGNhdGlvbiwgdGhlIHN0YXJ0dXAgYmVoYSkuMiBGIC4yNjEKLSh2aW9yIGlzIHRoZSBzYW1lLCBiKS0uMiBGIC4yNjEodXQgdGhlIGVmKS0uMiBGKGZlY3RpKS0uMjUgRSAuNTYxIC0uMTUKLSh2ZSB1KS0uMjUgSCAuMjYxKHNlciBpZCkuMTUgRihpcyBub3QgcmVzZXQuKTEwOCAzNjIuNCBRL0Y1IDEwLjk1Ci0vVGltZXMtQm9sZEAwIFNGKERFRklOSVRJT05TKTcyIDM3OS4yIFEgRjAoVGhlIGZvbGxvKTEwOCAzOTEuMiBRCisodmlyb25tZW50LCB0aGUpLS40IEYgRjMoU0hFTExPUFRTKTEwOCAzMzguNCBRIEY0KCwpQSBGMyAtLjI3KEJBKTIuOTU5IEcKKyhTSE9QVFMpLjI3IEUgRjQoLClBIEYzKENEUCkyLjk1OSBFIC0uODU1KEFUKS0uNjY2IEcoSCkuODU1IEUgRjQoLClBIEYwCisoYW5kKTIuOTU5IEUgRjMoR0xPQklHTk9SRSkzLjIwOSBFIEYwIC0uMjUodmEpMi45NTkgRyAuNzA5CisocmlhYmxlcywgaWYgdGhlKS4yNSBGIDMuMjA5KHlhKS0uMTUgRyAuNzEocHBlYXIgaW4gdGhlIGVuKS0zLjIwOSBGIC43MQorKHZpcm9ubWVudCwgYXJlKS0uNCBGIC45MDUoaWdub3JlZCwgYW5kIHRoZSBlZikxMDggMzUwLjQgUihmZWN0aSktLjI1IEUKKzEuMjA1IC0uMTUodmUgdSktLjI1IEggLjkwNChzZXIgaWQgaXMgc2V0IHRvIHRoZSByZWFsIHVzZXIgaWQuKS4xNSBGCisuOTA0KElmIHRoZSk1LjkwNCBGIEYxPGFkNzA+My40MDQgRSBGMCAuOTA0KG9wdGlvbiBpcyBzdXBwbGllZCBhdCBpbikKKzMuNDA0IEYgLS4yKHZvKS0uNCBHIC45MDQoY2F0aW9uLCB0aGUpLjIgRihzdGFydHVwIGJlaGEpMTA4IDM2Mi40IFEKKyh2aW9yIGlzIHRoZSBzYW1lLCBiKS0uMiBFKHV0IHRoZSBlZiktLjIgRShmZWN0aSktLjI1IEUgLjMgLS4xNSh2ZSB1KQorLS4yNSBIKHNlciBpZCBpcyBub3QgcmVzZXQuKS4xNSBFL0Y1IDEwLjk1L1RpbWVzLUJvbGRAMCBTRihERUZJTklUSU9OUykKKzcyIDM3OS4yIFEgRjAoVGhlIGZvbGxvKTEwOCAzOTEuMiBRCiAod2luZyBkZVwyMTRuaXRpb25zIGFyZSB1c2VkIHRocm91Z2hvdXQgdGhlIHJlc3Qgb2YgdGhpcyBkb2N1bWVudC4pLS4yNQogRSBGMShibGFuaykxMDggNDAzLjIgUSBGMCAyLjUoQXMpMTEuNTQgRyhwYWNlIG9yIHRhYiktMi41IEUoLiktLjQgRSBGMQogLS4xKHdvKTEwOCA0MTUuMiBTKHJkKS4xIEUgRjAgMi41KEFzKTEzLjg4IEcKQEAgLTU3OCw4ICs1ODAsOCBAQAogRjEoUGlwZWxpbmVzKTg3IDY5MS4yIFEgRjAoQSkxMDggNzAzLjIgUSBGMihwaXBlbGluZSkyLjk5NiBFIEYwIC40OTYoaXNcCiAgYSBzZXF1ZW5jZSBvZiBvbmUgb3IgbW9yZSBjb21tYW5kcyBzZXBhcmF0ZWQgYnkgb25lIG9mIHRoZSBjb250cm9sIG9wZVwKIHJhdG9ycykyLjk5NiBGIEYxKHwpMi45OTYgRSBGMChvcikyLjk5NiBFIEYxKHwmKTIuOTk2IEUgRjAgNS40OTYoLlQpQwotKGhlKS01LjQ5NiBFKGZvcm1hdCBmb3IgYSBwaXBlbGluZSBpczopMTA4IDcxNS4yIFEoR05VIEJhc2gtNC4wKTcyIDc2OCBRCi0oMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFKDMpMTk1Ljk1IEUgMCBDZyBFUAorKGhlKS01LjQ5NiBFKGZvcm1hdCBmb3IgYSBwaXBlbGluZSBpczopMTA4IDcxNS4yIFEoR05VIEJhc2gtNC4xKTcyIDc2OCBRCisoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoMykxOTAuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiA0IDQKICUlQmVnaW5QYWdlU2V0dXAKIEJQCkBAIC02OTgsOCArNzAwLDggQEAKIDIuNTUyKHd1KS0uMjUgRyhuZGVyKS0yLjU1MiBFIEY0IC4wNTIoQVJJVEhNRVRJQyBFVikyLjU1MiBGKEFMVSktMS4yMTUgRQogKEEtKS0uNTQgRShUSU9OKTE0NCA3MjcuMiBRL0Y1IDkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAgLjQxMShJZiB0aGUgdikKIDQuOTExIEYgLjQxMShhbHVlIG9mIHRoZSBlKS0uMjUgRiAuNDExKHhwcmVzc2lvbiBpcyBub24temVybywgdGhlIHJldHVyXAotbiBzdGF0dXMgaXMgMDsgb3RoZXJ3aXNlIHRoZSByZXR1cm4gc3RhdHVzKS0uMTUgRihHTlUgQmFzaC00LjApNzIgNzY4IFEKLSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUoNCkxOTUuOTUgRSAwIENnIEVQCituIHN0YXR1cyBpcyAwOyBvdGhlcndpc2UgdGhlIHJldHVybiBzdGF0dXMpLS4xNSBGKEdOVSBCYXNoLTQuMSk3MiA3NjggUQorKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDQpMTkwLjk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNSA1CiAlJUJlZ2luUGFnZVNldHVwCiBCUApAQCAtNzI0LDExNiArNzI2LDExOCBAQAogKHR1dGlvbiwgcHJvY2VzcyBzdWJzdGl0dXRpb24sIGFuZCBxdW90ZSByZW1vKTE0NCAxNjAuOCBSIC0uMjUodmEpLS4xNSBHCiAzLjU4MShsYSkuMjUgRyAxLjA4MShyZSBwZXJmb3JtZWQuKS0zLjU4MSBGIDEuMDgxCiAoQ29uZGl0aW9uYWwgb3BlcmF0b3JzIHN1Y2ggYXMpNi4wODEgRiBGMTxhZDY2PjMuNTgxIEUgRjAKLShtdXN0IGJlIHVucXVvdGVkIHRvIGJlIHJlY29nbml6ZWQgYXMgcHJpbWFyaWVzLikxNDQgMTcyLjggUSAuNTAzCi0oV2hlbiB0aGUpMTQ0IDE5MC44IFIgRjEoPT0pMy4wMDMgRSBGMChhbmQpMy4wMDIgRSBGMSghPSkzLjAwMiBFIEYwIC41MDIKLShvcGVyYXRvcnMgYXJlIHVzZWQsIHRoZSBzdHJpbmcgdG8gdGhlIHJpZ2h0IG9mIHRoZSBvcGVyYXRvciBpcyBjb25zaWRlXAotcmVkIGEgcGF0LSkzLjAwMiBGIDEuMjI0Ci0odGVybiBhbmQgbWF0Y2hlZCBhY2NvcmRpbmcgdG8gdGhlIHJ1bGVzIGRlc2NyaWJlZCBiZWxvKTE0NCAyMDIuOCBSCi0zLjcyNCh3dSktLjI1IEcobmRlciktMy43MjQgRSBGMSAtLjEoUGEpMy43MjQgRyh0dGVyKS4xIEUgMy43MjUobk0pLS4xNQotRyhhdGNoaW5nKS0zLjcyNSBFIEYwIDYuMjI1KC5JKUMgMy43MjUoZnQpLTYuMjI1IEcgMS4yMjUoaGUgc2hlbGwpLTMuNzI1Ci1GKG9wdGlvbikxNDQgMjE0LjggUSBGMShub2Nhc2VtYXRjaCkzLjQwNSBFIEYwIC45MDQKKyhtdXN0IGJlIHVucXVvdGVkIHRvIGJlIHJlY29nbml6ZWQgYXMgcHJpbWFyaWVzLikxNDQgMTcyLjggUQorKFdoZW4gdXNlZCB3aXRoKTE0NCAxOTAuOCBRIEYxKFtbKTIuNSBFIEYwIDIuNSgsVClDKGhlKS0yLjUgRSBGMSg8KTIuNSBFCitGMChhbmQpMi41IEUgRjEoPikyLjUgRSBGMChvcGVyYXRvcnMgc29ydCBsZSkyLjUgRQorKHhpY29ncmFwaGljYWxseSB1c2luZyB0aGUgY3VycmVudCBsb2NhbGUuKS0uMTUgRSAuNTAzKFdoZW4gdGhlKTE0NAorMjA4LjggUiBGMSg9PSkzLjAwMyBFIEYwKGFuZCkzLjAwMiBFIEYxKCE9KTMuMDAyIEUgRjAgLjUwMihvcGVyYXRvcnMgYXJcCitlIHVzZWQsIHRoZSBzdHJpbmcgdG8gdGhlIHJpZ2h0IG9mIHRoZSBvcGVyYXRvciBpcyBjb25zaWRlcmVkIGEgcGF0LSkKKzMuMDAyIEYgMS4yMjQodGVybiBhbmQgbWF0Y2hlZCBhY2NvcmRpbmcgdG8gdGhlIHJ1bGVzIGRlc2NyaWJlZCBiZWxvKTE0NAorMjIwLjggUiAzLjcyNCh3dSktLjI1IEcobmRlciktMy43MjQgRSBGMSAtLjEoUGEpMy43MjQgRyh0dGVyKS4xIEUgMy43MjUKKyhuTSktLjE1IEcoYXRjaGluZyktMy43MjUgRSBGMCA2LjIyNSguSSlDIDMuNzI1KGZ0KS02LjIyNSBHIDEuMjI1CisoaGUgc2hlbGwpLTMuNzI1IEYob3B0aW9uKTE0NCAyMzIuOCBRIEYxKG5vY2FzZW1hdGNoKTMuNDA1IEUgRjAgLjkwNAogKGlzIGVuYWJsZWQsIHRoZSBtYXRjaCBpcyBwZXJmb3JtZWQgd2l0aG91dCByZSkzLjQwNSBGIC0uMDUoZ2EpLS4xNSBHCi0uOTA0KHJkIHRvIHRoZSBjYXNlIG9mIGFscGhhYmV0aWMpLjA1IEYgMi43NTEoY2hhcmFjdGVycy4gVGhlKTE0NCAyMjYuOAorLjkwNChyZCB0byB0aGUgY2FzZSBvZiBhbHBoYWJldGljKS4wNSBGIDIuNzUxKGNoYXJhY3RlcnMuIFRoZSkxNDQgMjQ0LjgKIFIgLjI1MShyZXR1cm4gdikyLjc1MSBGIC4yNTEoYWx1ZSBpcyAwIGlmIHRoZSBzdHJpbmcgbWF0Y2hlcyBcKCktLjI1IEYKIEYxKD09KUEgRjAgMi43NTEoXClvKUMgMi43NTEocmQpLTIuNzUxIEcgLjI1MShvZXMgbm90IG1hdGNoIFwoKS0yLjc1MSBGCi1GMSghPSlBIEYwIDIuNzUxKFwpdClDIC4yNTIoaGUgcGF0dGVybiwgYW5kKS0yLjc1MSBGIDIuNSgxbykxNDQgMjM4LjggUworRjEoIT0pQSBGMCAyLjc1MShcKXQpQyAuMjUyKGhlIHBhdHRlcm4sIGFuZCktMi43NTEgRiAyLjUoMW8pMTQ0IDI1Ni44IFMKIDIuNSh0aGVyd2lzZS4gQW4pLTIuNSBGIDIuNSh5cCktLjE1IEcoYXJ0IG9mIHRoZSBwYXR0ZXJuIG1heSBiZSBxdW90ZWQgXAogdG8gZm9yY2UgaXQgdG8gYmUgbWF0Y2hlZCBhcyBhIHN0cmluZy4pLTIuNSBFIC4yNDMKLShBbiBhZGRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvcikxNDQgMjU2LjggUigsKS0uNCBFIEYxKD1+KTIuNzQzIEUgRjAKKyhBbiBhZGRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvcikxNDQgMjc0LjggUigsKS0uNCBFIEYxKD1+KTIuNzQzIEUgRjAKIDIuNzQzKCxpKUMgMi43NDMoc2EpLTIuNzQzIEcgLS4yNSh2YSktMi45NDMgRyAuMjQzCiAoaWxhYmxlLCB3aXRoIHRoZSBzYW1lIHByZWNlZGVuY2UgYXMpLjI1IEYgRjEoPT0pMi43NDMgRSBGMChhbmQpMi43NDMgRQogRjEoIT0pMi43NDMgRSBGMCA1LjI0MyguVylDIC4yNDMoaGVuIGl0IGlzKS01LjI0MyBGIDEuOTUzCiAodXNlZCwgdGhlIHN0cmluZyB0byB0aGUgcmlnaHQgb2YgdGhlIG9wZXJhdG9yIGlzIGNvbnNpZGVyZWQgYW4gZSkxNDQKLTI2OC44IFIgMS45NTQoeHRlbmRlZCByZSktLjE1IEYgMS45NTQoZ3VsYXIgZSktLjE1IEYgMS45NTQKLSh4cHJlc3Npb24gYW5kKS0uMTUgRiAuMjA3KG1hdGNoZWQgYWNjb3JkaW5nbHkgXChhcyBpbikxNDQgMjgwLjggUiBGMgorMjg2LjggUiAxLjk1NCh4dGVuZGVkIHJlKS0uMTUgRiAxLjk1NChndWxhciBlKS0uMTUgRiAxLjk1NAorKHhwcmVzc2lvbiBhbmQpLS4xNSBGIC4yMDcobWF0Y2hlZCBhY2NvcmRpbmdseSBcKGFzIGluKTE0NCAyOTguOCBSIEYyCiAtLjM3KHJlKTIuNzA3IEcgLS4xKGdlKS0uMDMgRyh4KS0uMSBFIEYwIDIuNzA3KFwoM1wpXCkuIFRoZSlCIC4yMDcKIChyZXR1cm4gdikyLjcwNyBGIC4yMDcKIChhbHVlIGlzIDAgaWYgdGhlIHN0cmluZyBtYXRjaGVzIHRoZSBwYXR0ZXJuLCBhbmQgMSktLjI1IEYgMy4zNDUKLShvdGhlcndpc2UuIElmKTE0NCAyOTIuOCBSIC44NDUodGhlIHJlKTMuMzQ1IEYgLjg0NShndWxhciBlKS0uMTUgRiAuODQ2Cisob3RoZXJ3aXNlLiBJZikxNDQgMzEwLjggUiAuODQ1KHRoZSByZSkzLjM0NSBGIC44NDUoZ3VsYXIgZSktLjE1IEYgLjg0NgogKHhwcmVzc2lvbiBpcyBzeW50YWN0aWNhbGx5IGluY29ycmVjdCwgdGhlIGNvbmRpdGlvbmFsIGUpLS4xNSBGCi0oeHByZXNzaW9uJyktLjE1IEUgMy4zNDYoc3IpLS41NSBHKGV0dXJuKS0zLjM0NiBFIC0uMjUodmEpMTQ0IDMwNC44IFMKKyh4cHJlc3Npb24nKS0uMTUgRSAzLjM0NihzciktLjU1IEcoZXR1cm4pLTMuMzQ2IEUgLS4yNSh2YSkxNDQgMzIyLjggUwogLjY2NyhsdWUgaXMgMi4pLjI1IEYgLjY2NyhJZiB0aGUgc2hlbGwgb3B0aW9uKTUuNjY3IEYgRjEobm9jYXNlbWF0Y2gpCiAzLjE2NyBFIEYwIC42NjcoaXMgZW5hYmxlZCwgdGhlIG1hdGNoIGlzIHBlcmZvcm1lZCB3aXRob3V0IHJlKTMuMTY3IEYKIC0uMDUoZ2EpLS4xNSBHIC42NjYocmQgdG8pLjA1IEYgLjM3OCh0aGUgY2FzZSBvZiBhbHBoYWJldGljIGNoYXJhY3RlcnMuKQotMTQ0IDMxNi44IFIoQW4pNS4zNzggRSAyLjg3OCh5cCktLjE1IEcgLjM3OAorMTQ0IDMzNC44IFIoQW4pNS4zNzggRSAyLjg3OCh5cCktLjE1IEcgLjM3OAogKGFydCBvZiB0aGUgcGF0dGVybiBtYXkgYmUgcXVvdGVkIHRvIGZvcmNlIGl0IHRvIGJlIG1hdGNoZWQpLTIuODc4IEYKLS4yNjUoYXMgYSBzdHJpbmcuKTE0NCAzMjguOCBSIC4yNjUKKy4yNjUoYXMgYSBzdHJpbmcuKTE0NCAzNDYuOCBSIC4yNjUKIChTdWJzdHJpbmdzIG1hdGNoZWQgYnkgcGFyZW50aGVzaXplZCBzdWJlKTUuMjY1IEYgLjI2NQogKHhwcmVzc2lvbnMgd2l0aGluIHRoZSByZSktLjE1IEYgLjI2NShndWxhciBlKS0uMTUgRiAuMjY1KHhwcmVzc2lvbiBhcmUpCi0tLjE1IEYoc2EpMTQ0IDM0MC44IFEgLS4xNSh2ZSktLjIgRyAzLjExNyhkaSkuMTUgRyAzLjExNyhudCktMy4xMTcgRwotLjYxNyhoZSBhcnJheSB2KS0zLjExNyBGKGFyaWFibGUpLS4yNSBFIEYxIC0uMyhCQSkzLjExNyBHKFNIX1JFTUEpLjMgRQotKFRDSCktLjk1IEUgRjAgNS42MTcoLlQpQyAuNjE3KGhlIGVsZW1lbnQgb2YpLTUuNjE3IEYgRjEgLS4zKEJBKTMuMTE4IEcKLShTSF9SRU1BKS4zIEUoVENIKS0uOTUgRSBGMCAuNjE4KHdpdGggaW5kZSkzLjExOCBGKHgpLS4xNSBFIDYuODgzKDBpKTE0NAotMzUyLjggUyA2Ljg4MyhzdCktNi44ODMgRyA0LjM4MgotKGhlIHBvcnRpb24gb2YgdGhlIHN0cmluZyBtYXRjaGluZyB0aGUgZW50aXJlIHJlKS02Ljg4MyBGIDQuMzgyKGd1bGFyIGUpCi0tLjE1IEYgNi44ODIoeHByZXNzaW9uLiBUaGUpLS4xNSBGIDQuMzgyKGVsZW1lbnQgb2YpNi44ODIgRiBGMSAtLjMoQkEpCi0xNDQgMzY0LjggUyhTSF9SRU1BKS4zIEUoVENIKS0uOTUgRSBGMCAyLjA4Nyh3aXRoIGluZGUpNC41ODcgRih4KS0uMTUgRQotRjIobik0LjU4NyBFIEYwIDIuMDg4KGlzIHRoZSBwb3J0aW9uIG9mIHRoZSBzdHJpbmcgbWF0Y2hpbmcgdGhlKTQuNTg3IEYKLUYyKG4pNC41ODggRSBGMCAyLjA4OCh0aCBwYXJlbnRoZXNpemVkKUIoc3ViZSkxNDQgMzc2LjggUSh4cHJlc3Npb24uKQotLS4xNSBFIC43ODYoRXhwcmVzc2lvbnMgbWF5IGJlIGNvbWJpbmVkIHVzaW5nIHRoZSBmb2xsbykxNDQgMzk0LjggUiAuNzg1CistLjE1IEYoc2EpMTQ0IDM1OC44IFEgLS4xNSh2ZSktLjIgRyAzLjA5NihkaSkuMTUgRyAzLjA5NyhudCktMy4wOTYgRworLjU5NyhoZSBhcnJheSB2KS0zLjA5NyBGKGFyaWFibGUpLS4yNSBFIEYzIC0uMjcoQkEpMy4wOTcgRyhTSF9SRU1BKS4yNyBFCisoVENIKS0uODU1IEUgRjQoLilBIEYwIC41OTcoVGhlIGVsZW1lbnQgb2YpNS4wOTcgRiBGMyAtLjI3KEJBKTMuMDk3IEcKKyhTSF9SRU1BKS4yNyBFKFRDSCktLjg1NSBFIEYwIC41OTcod2l0aCBpbmRlKTIuODQ3IEYgMy4wOTcoeDBpKS0uMTUgRyhzKQorLTMuMDk3IEUgLjA0OSh0aGUgcG9ydGlvbiBvZiB0aGUgc3RyaW5nIG1hdGNoaW5nIHRoZSBlbnRpcmUgcmUpMTQ0IDM3MC44CitSIC4wNDkoZ3VsYXIgZSktLjE1IEYgMi41NDkoeHByZXNzaW9uLiBUaGUpLS4xNSBGIC4wNDkoZWxlbWVudCBvZikyLjU0OQorRiBGMyAtLjI3KEJBKTIuNTQ5IEcoU0hfUkVNQSkuMjcgRShUQ0gpLS44NTUgRSBGMCh3aXRoIGluZGUpMTQ0IDM4Mi44IFEKKyh4KS0uMTUgRSBGMihuKTIuNSBFIEYwKGlzIHRoZSBwb3J0aW9uIG9mIHRoZSBzdHJpbmcgbWF0Y2hpbmcgdGhlKTIuNSBFCitGMihuKTIuNSBFIEYwKHRoIHBhcmVudGhlc2l6ZWQgc3ViZSlBKHhwcmVzc2lvbi4pLS4xNSBFIC43ODUKKyhFeHByZXNzaW9ucyBtYXkgYmUgY29tYmluZWQgdXNpbmcgdGhlIGZvbGxvKTE0NCA0MDAuOCBSIC43ODYKICh3aW5nIG9wZXJhdG9ycywgbGlzdGVkIGluIGRlY3JlYXNpbmcgb3JkZXIgb2YgcHJlY2UtKS0uMjUgRihkZW5jZTopMTQ0Ci00MDYuOCBRIEYxKFwoKTE0NCA0MjQuOCBRIEYyIC0uMihleCkyLjUgRyhwcikuMiBFKGVzc2lvbiktLjM3IEUgRjEoXCkpCi0yLjUgRSBGMCAuNTIyKFJldHVybnMgdGhlIHYpMTgwIDQzNi44IFIgLjUyMihhbHVlIG9mKS0uMjUgRiBGMiAtLjIoZXgpCis0MTIuOCBRIEYxKFwoKTE0NCA0MzAuOCBRIEYyIC0uMihleCkyLjUgRyhwcikuMiBFKGVzc2lvbiktLjM3IEUgRjEoXCkpCisyLjUgRSBGMCAuNTIzKFJldHVybnMgdGhlIHYpMTgwIDQ0Mi44IFIgLjUyMihhbHVlIG9mKS0uMjUgRiBGMiAtLjIoZXgpCiAzLjAyMiBHKHByKS4yIEUoZXNzaW9uKS0uMzcgRSBGMCA1LjUyMiguVClDIC41MjIoaGlzIG1heSBiZSB1c2VkIHRvIG8pCiAtNS41MjIgRiAtLjE1KHZlKS0uMTUgRyAuNTIyKHJyaWRlIHRoZSBub3JtYWwgcHJlY2VkZW5jZSBvZikuMTUgRgotKG9wZXJhdG9ycy4pMTgwIDQ0OC44IFEgRjEoISkxNDQgNDYwLjggUSBGMiAtLjIoZXgpMi41IEcocHIpLjIgRShlc3Npb24pCi0tLjM3IEUgRjAgLS4zNShUcikxODAgNDcyLjggUyh1ZSBpZikuMzUgRSBGMiAtLjIoZXgpMi41IEcocHIpLjIgRQotKGVzc2lvbiktLjM3IEUgRjAoaXMgZikyLjc0IEUoYWxzZS4pLS4xIEUgRjIgLS4yKGV4KTE0NCA0ODQuOCBTKHByKS4yIEUKKyhvcGVyYXRvcnMuKTE4MCA0NTQuOCBRIEYxKCEpMTQ0IDQ2Ni44IFEgRjIgLS4yKGV4KTIuNSBHKHByKS4yIEUoZXNzaW9uKQorLS4zNyBFIEYwIC0uMzUoVHIpMTgwIDQ3OC44IFModWUgaWYpLjM1IEUgRjIgLS4yKGV4KTIuNSBHKHByKS4yIEUKKyhlc3Npb24pLS4zNyBFIEYwKGlzIGYpMi43NCBFKGFsc2UuKS0uMSBFIEYyIC0uMihleCkxNDQgNDkwLjggUyhwcikuMiBFCiAoZXNzaW9uMSktLjM3IEUgRjEoJiYpMi41IEUgRjIgLS4yKGV4KTIuNSBHKHByKS4yIEUoZXNzaW9uMiktLjM3IEUgRjAKLS0uMzUoVHIpMTgwIDQ5Ni44IFModWUgaWYgYm90aCkuMzUgRSBGMiAtLjIoZXgpMi41IEcocHIpLjIgRShlc3Npb24xKQorLS4zNShUcikxODAgNTAyLjggUyh1ZSBpZiBib3RoKS4zNSBFIEYyIC0uMihleCkyLjUgRyhwcikuMiBFKGVzc2lvbjEpCiAtLjM3IEUgRjAoYW5kKTIuNSBFIEYyIC0uMihleCkyLjUgRyhwcikuMiBFKGVzc2lvbjIpLS4zNyBFIEYwKGFyZSB0cnVlLikKLTIuNTIgRSBGMiAtLjIoZXgpMTQ0IDUwOC44IFMocHIpLjIgRShlc3Npb24xKS0uMzcgRS9GNSAxMC9TeW1ib2wgU0YKLTxlZmVmPjIuNSBFIEYyIC0uMihleCkyLjUgRyhwcikuMiBFKGVzc2lvbjIpLS4zNyBFIEYwIC0uMzUoVHIpMTgwIDUyMC44CisyLjUyIEUgRjIgLS4yKGV4KTE0NCA1MTQuOCBTKHByKS4yIEUoZXNzaW9uMSktLjM3IEUvRjUgMTAvU3ltYm9sIFNGCis8ZWZlZj4yLjUgRSBGMiAtLjIoZXgpMi41IEcocHIpLjIgRShlc3Npb24yKS0uMzcgRSBGMCAtLjM1KFRyKTE4MCA1MjYuOAogUyh1ZSBpZiBlaXRoZXIpLjM1IEUgRjIgLS4yKGV4KTIuNSBHKHByKS4yIEUoZXNzaW9uMSktLjM3IEUgRjAob3IpMi41IEUKLUYyIC0uMihleCkyLjUgRyhwcikuMiBFKGVzc2lvbjIpLS4zNyBFIEYwKGlzIHRydWUuKTIuNTIgRShUaGUpMTQ0IDUzNy42Ci1RIEYxKCYmKTMuMjk5IEUgRjAoYW5kKTMuMjk5IEUgRjU8ZWZlZj4zLjI5OCBFIEYwIC43OTgKK0YyIC0uMihleCkyLjUgRyhwcikuMiBFKGVzc2lvbjIpLS4zNyBFIEYwKGlzIHRydWUuKTIuNTIgRShUaGUpMTQ0IDU0My42CitRIEYxKCYmKTMuMjk4IEUgRjAoYW5kKTMuMjk4IEUgRjU8ZWZlZj4zLjI5OCBFIEYwIC43OTgKIChvcGVyYXRvcnMgZG8gbm90IGUpMy4yOTggRiAtLjI1KHZhKS0uMjUgRyhsdWF0ZSkuMjUgRSBGMiAtLjIoZXgpMy4yOTggRwogKHByKS4yIEUoZXNzaW9uMiktLjM3IEUgRjAgLjc5OChpZiB0aGUgdikzLjI5OCBGIC43OTgoYWx1ZSBvZiktLjI1IEYgRjIKLS0uMihleCkzLjI5OCBHKHByKS4yIEUoZXNzaW9uMSktLjM3IEUgRjAgLjc5OChpcyBzdWYpMy4yOTggRiAuNzk4Ci0oXDIxNGNpZW50IHRvKS0uMjUgRihkZXRlcm1pbmUgdGhlIHJldHVybiB2KTE0NCA1NDkuNiBRCistLjIoZXgpMy4yOTggRyhwcikuMiBFKGVzc2lvbjEpLS4zNyBFIEYwIC43OTkoaXMgc3VmKTMuMjk4IEYgLjc5OQorKFwyMTRjaWVudCB0byktLjI1IEYoZGV0ZXJtaW5lIHRoZSByZXR1cm4gdikxNDQgNTU1LjYgUQogKGFsdWUgb2YgdGhlIGVudGlyZSBjb25kaXRpb25hbCBlKS0uMjUgRSh4cHJlc3Npb24uKS0uMTUgRSBGMSAtLjI1KGZvKQotMTA4IDU2Ni40IFMocikuMjUgRSBGMihuYW1lKTIuNSBFIEYwKFspMi41IEUgRjEoaW4pMi41IEUgRjIod29yKTIuNSBFKGQpCi0tLjM3IEUgRjAgMi41KF07KTIuNSBHIEYxKGRvKUEgRjIobGlzdCkyLjUgRSBGMCg7KTIuNSBFIEYxKGRvbmUpMi41IEUgRjAKLS40MjMoVGhlIGxpc3Qgb2YgdykxNDQgNTc4LjQgUiAuNDIzKG9yZHMgZm9sbG8pLS4xIEYod2luZyktLjI1IEUgRjEoaW4pCi0yLjkyMyBFIEYwIC40MjMoaXMgZSkyLjkyMyBGIC40MjMoeHBhbmRlZCwgZ2VuZXJhdGluZyBhIGxpc3Qgb2YgaXRlbXMuKQotLS4xNSBGIC40MjQoVGhlIHYpNS40MjQgRihhcmlhYmxlKS0uMjUgRSBGMihuYW1lKTIuOTI0IEUgRjAgLjQyNAotKGlzIHNldCB0bykyLjkyNCBGIC42NTMoZWFjaCBlbGVtZW50IG9mIHRoaXMgbGlzdCBpbiB0dXJuLCBhbmQpMTQ0IDU5MC40Ci1SIEYyKGxpc3QpMy4xNTMgRSBGMCAuNjUzKGlzIGUpMy4xNTMgRiAtLjE1KHhlKS0uMTUgRyAuNjUzCi0oY3V0ZWQgZWFjaCB0aW1lLikuMTUgRiAuNjUzKElmIHRoZSk1LjY1MyBGIEYxKGluKTMuMTUzIEUgRjIod29yKTMuMTUzIEUKLShkKS0uMzcgRSBGMCAuNjUzKGlzIG9taXR0ZWQsIHRoZSkzLjE1MyBGIEYxIC0uMjUoZm8pMy4xNTMgRyhyKS4yNSBFIEYwCi0uNjQ4KGNvbW1hbmQgZSkxNDQgNjAyLjQgUiAtLjE1KHhlKS0uMTUgRyhjdXRlcykuMTUgRSBGMihsaXN0KTMuMTQ4IEUgRjAKLS42NDgob25jZSBmb3IgZWFjaCBwb3NpdGlvbmFsIHBhcmFtZXRlciB0aGF0IGlzIHNldCBcKHNlZSkzLjE0OCBGIEYzCi0tLjY2NihQQSkzLjE0OSBHKFJBTUVURVJTKS42NjYgRSBGMChiZWxvKTIuODk5IEUod1wpLiktLjI1IEUgLjE1NAotKFRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSBlKTE0NCA2MTQuNCBSIC4xNTMKLSh4aXQgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgdGhhdCBlKS0uMTUgRiAtLjE1KHhlKS0uMTUgRyAyLjY1MwotKGN1dGVzLiBJZikuMTUgRiAuMTUzKHRoZSBlKTIuNjUzIEYgLjE1Myh4cGFuc2lvbiBvZiB0aGUgaXRlbXMpLS4xNSBGCi0oZm9sbG8pMTQ0IDYyNi40IFEod2luZyktLjI1IEUgRjEoaW4pMi41IEUgRjAKKzEwOCA1NzIuNCBTKHIpLjI1IEUgRjIobmFtZSkyLjUgRSBGMCAyLjUoW1spMi41IEcgRjEoaW4pQSBGMChbKTIuNSBFIEYyCisod29yKTIuNSBFIDIuNShkLiktLjM3IEcoLi4pLTIuNSBFIEYwIDIuNShdXTtdKTIuNSBHIEYxKGRvKUEgRjIobGlzdCkyLjUKK0UgRjAoOykyLjUgRSBGMShkb25lKTIuNSBFIEYwIC40MjQoVGhlIGxpc3Qgb2YgdykxNDQgNTg0LjQgUiAuNDI0Cisob3JkcyBmb2xsbyktLjEgRih3aW5nKS0uMjUgRSBGMShpbikyLjkyNCBFIEYwIC40MjMoaXMgZSkyLjkyNCBGIC40MjMKKyh4cGFuZGVkLCBnZW5lcmF0aW5nIGEgbGlzdCBvZiBpdGVtcy4pLS4xNSBGIC40MjMoVGhlIHYpNS40MjMgRihhcmlhYmxlKQorLS4yNSBFIEYyKG5hbWUpMi45MjMgRSBGMCAuNDIzKGlzIHNldCB0bykyLjkyMyBGIC42NTMKKyhlYWNoIGVsZW1lbnQgb2YgdGhpcyBsaXN0IGluIHR1cm4sIGFuZCkxNDQgNTk2LjQgUiBGMihsaXN0KTMuMTUzIEUgRjAKKy42NTMoaXMgZSkzLjE1MyBGIC0uMTUoeGUpLS4xNSBHIC42NTMoY3V0ZWQgZWFjaCB0aW1lLikuMTUgRiAuNjUzCisoSWYgdGhlKTUuNjUzIEYgRjEoaW4pMy4xNTMgRSBGMih3b3IpMy4xNTMgRShkKS0uMzcgRSBGMCAuNjUzCisoaXMgb21pdHRlZCwgdGhlKTMuMTUzIEYgRjEgLS4yNShmbykzLjE1MyBHKHIpLjI1IEUgRjAgLjY0OShjb21tYW5kIGUpCisxNDQgNjA4LjQgUiAtLjE1KHhlKS0uMTUgRyhjdXRlcykuMTUgRSBGMihsaXN0KTMuMTQ5IEUgRjAgLjY0OAorKG9uY2UgZm9yIGVhY2ggcG9zaXRpb25hbCBwYXJhbWV0ZXIgdGhhdCBpcyBzZXQgXChzZWUpMy4xNDggRiBGMyAtLjY2NgorKFBBKTMuMTQ4IEcoUkFNRVRFUlMpLjY2NiBFIEYwKGJlbG8pMi44OTggRSh3XCkuKS0uMjUgRSAuMTUzCisoVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlIGUpMTQ0IDYyMC40IFIgLjE1MworKHhpdCBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCB0aGF0IGUpLS4xNSBGIC0uMTUoeGUpLS4xNSBHIDIuNjU0CisoY3V0ZXMuIElmKS4xNSBGIC4xNTQodGhlIGUpMi42NTQgRiAuMTU0KHhwYW5zaW9uIG9mIHRoZSBpdGVtcyktLjE1IEYKKyhmb2xsbykxNDQgNjMyLjQgUSh3aW5nKS0uMjUgRSBGMShpbikyLjUgRSBGMAogKHJlc3VsdHMgaW4gYW4gZW1wdHkgbGlzdCwgbm8gY29tbWFuZHMgYXJlIGUpMi41IEUgLS4xNSh4ZSktLjE1IEcKLShjdXRlZCwgYW5kIHRoZSByZXR1cm4gc3RhdHVzIGlzIDAuKS4xNSBFIEYxIC0uMjUoZm8pMTA4IDY0My4yIFMocikuMjUgRQorKGN1dGVkLCBhbmQgdGhlIHJldHVybiBzdGF0dXMgaXMgMC4pLjE1IEUgRjEgLS4yNShmbykxMDggNjQ5LjIgUyhyKS4yNSBFCiBGMChcKFwoKTIuNSBFIEYyIC0uMihleCkyLjUgRyhwcjEpLjIgRSBGMCg7KTIuNSBFIEYyIC0uMihleCkyLjUgRyhwcjIpLjIKIEUgRjAoOykyLjUgRSBGMiAtLjIoZXgpMi41IEcocHIzKS4yIEUgRjAoXClcKSA7KTIuNSBFIEYxKGRvKTIuNSBFIEYyCi0obGlzdCkyLjUgRSBGMCg7KTIuNSBFIEYxKGRvbmUpMi41IEUgRjAgMS4yMzUoRmlyc3QsIHRoZSBhcml0aG1ldGljIGUpCi0xNDQgNjU1LjIgUih4cHJlc3Npb24pLS4xNSBFIEYyIC0uMihleCkzLjczNSBHKHByMSkuMiBFIEYwIDEuMjM1KGlzIGUpCi0zLjczNSBGIC0uMjUodmEpLS4yNSBHIDEuMjM2Ci0obHVhdGVkIGFjY29yZGluZyB0byB0aGUgcnVsZXMgZGVzY3JpYmVkIGJlbG8pLjI1IEYgMy43MzYod3UpLS4yNSBHCi0obmRlciktMy43MzYgRSBGMyAuNTYyKEFSSVRITUVUSUMgRVYpMTQ0IDY2Ny4yIFIoQUxVKS0xLjIxNSBFIC0uODU1KEFUKQotLS41NCBHKElPTikuODU1IEUgRjQoLilBIEYwIC41NjIoVGhlIGFyaXRobWV0aWMgZSk1LjA2MiBGKHhwcmVzc2lvbiktLjE1Ci1FIEYyIC0uMihleCkzLjA2MiBHKHByMikuMiBFIEYwIC41NjEoaXMgdGhlbiBlKTMuMDYxIEYgLS4yNSh2YSktLjI1IEcKLS41NjEobHVhdGVkIHJlcGVhdGVkbHkgdW50aWwpLjI1IEYgLjU5MShpdCBlKTE0NCA2NzkuMiBSIC0uMjUodmEpLS4yNSBHCi0uNTkxKGx1YXRlcyB0byB6ZXJvLikuMjUgRiAuNTkyKEVhY2ggdGltZSk1LjU5MSBGIEYyIC0uMihleCkzLjA5MiBHKHByMikKKyhsaXN0KTIuNSBFIEYwKDspMi41IEUgRjEoZG9uZSkyLjUgRSBGMCAxLjIzNihGaXJzdCwgdGhlIGFyaXRobWV0aWMgZSkKKzE0NCA2NjEuMiBSKHhwcmVzc2lvbiktLjE1IEUgRjIgLS4yKGV4KTMuNzM2IEcocHIxKS4yIEUgRjAgMS4yMzUoaXMgZSkKKzMuNzM2IEYgLS4yNSh2YSktLjI1IEcgMS4yMzUKKyhsdWF0ZWQgYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBkZXNjcmliZWQgYmVsbykuMjUgRiAzLjczNSh3dSktLjI1IEcKKyhuZGVyKS0zLjczNSBFIEYzIC41NjEoQVJJVEhNRVRJQyBFVikxNDQgNjczLjIgUihBTFUpLTEuMjE1IEUgLS44NTUoQVQpCistLjU0IEcoSU9OKS44NTUgRSBGNCguKUEgRjAgLjU2MShUaGUgYXJpdGhtZXRpYyBlKTUuMDYxIEYoeHByZXNzaW9uKS0uMTUKK0UgRjIgLS4yKGV4KTMuMDYxIEcocHIyKS4yIEUgRjAgLjU2MihpcyB0aGVuIGUpMy4wNjIgRiAtLjI1KHZhKS0uMjUgRworLjU2MihsdWF0ZWQgcmVwZWF0ZWRseSB1bnRpbCkuMjUgRiAuNTkyKGl0IGUpMTQ0IDY4NS4yIFIgLS4yNSh2YSktLjI1IEcKKy41OTIobHVhdGVzIHRvIHplcm8uKS4yNSBGIC41OTIoRWFjaCB0aW1lKTUuNTkyIEYgRjIgLS4yKGV4KTMuMDkyIEcocHIyKQogLjIgRSBGMCAtLjI1KGV2YSkzLjA5MiBHIC41OTIobHVhdGVzIHRvIGEgbm9uLXplcm8gdikuMjUgRihhbHVlLCktLjI1IEUKLUYyKGxpc3QpMy4wOTIgRSBGMCAuNTkyKGlzIGUpMy4wOTIgRiAtLjE1KHhlKS0uMTUgRyAuNTkyCi0oY3V0ZWQgYW5kIHRoZSBhcml0aC0pLjE1IEYgLjIyOShtZXRpYyBlKTE0NCA2OTEuMiBSKHhwcmVzc2lvbiktLjE1IEUgRjIKLS0uMihleCkyLjcyOSBHKHByMykuMiBFIEYwIC4yMjkoaXMgZSkyLjcyOSBGIC0uMjUodmEpLS4yNSBHIDIuNzI5CitGMihsaXN0KTMuMDkyIEUgRjAgLjU5MShpcyBlKTMuMDkyIEYgLS4xNSh4ZSktLjE1IEcgLjU5MQorKGN1dGVkIGFuZCB0aGUgYXJpdGgtKS4xNSBGIC4yMjgobWV0aWMgZSkxNDQgNjk3LjIgUih4cHJlc3Npb24pLS4xNSBFIEYyCistLjIoZXgpMi43MjggRyhwcjMpLjIgRSBGMCAuMjI5KGlzIGUpMi43MjggRiAtLjI1KHZhKS0uMjUgRyAyLjcyOQogKGx1YXRlZC4gSWYpLjI1IEYoYW4pMi43MjkgRSAyLjcyOSh5ZSktLjE1IEcgLjIyOQogKHhwcmVzc2lvbiBpcyBvbWl0dGVkLCBpdCBiZWhhKS0yLjg3OSBGIC0uMTUodmUpLS4yIEcgMi43Mjkoc2EpLjE1IEcKLTIuNzI5KHNpKS0yLjcyOSBHIDIuNzI5KGZpKS0yLjcyOSBHIDIuNzI4KHRlKS0yLjcyOSBHIC0uMjUodmEpLTIuOTc4IEcKLS4yMjgobHVhdGVzIHRvIDEuKS4yNSBGIC4yMjcoVGhlIHJldHVybiB2KTE0NCA3MDMuMiBSIC4yMjcKLShhbHVlIGlzIHRoZSBlKS0uMjUgRiAuMjI3KHhpdCBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBpbiktLjE1IEYgRjIKLShsaXN0KTIuNzI4IEUgRjAgLjIyOCh0aGF0IGlzIGUpMi43MjggRiAtLjE1KHhlKS0uMTUgRyAuMjI4KGN1dGVkLCBvciBmKQotLjE1IEYgLjIyOChhbHNlIGlmIGFuKS0uMSBGIDIuNzI4KHlvKS0uMTUgRyAyLjcyOChmdCktMi43MjggRyhoZSktMi43MjgKLUUgLS4xNShleCkxNDQgNzE1LjIgUyhwcmVzc2lvbnMgaXMgaW4pLjE1IEUgLS4yNSh2YSktLjQgRyhsaWQuKS4yNSBFCi0oR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDkgRmVicnVhcnkgNykxNDAuOTYgRSg1KTE5NS45NSBFIDAgQ2cgRVAKKzIuNzI5KHNpKS0yLjcyOSBHIDIuNzI5KGZpKS0yLjcyOSBHIDIuNzI5KHRlKS0yLjcyOSBHIC0uMjUodmEpLTIuOTc5IEcKKy4yMjkobHVhdGVzIHRvIDEuKS4yNSBGIC4yMjgoVGhlIHJldHVybiB2KTE0NCA3MDkuMiBSIC4yMjgKKyhhbHVlIGlzIHRoZSBlKS0uMjUgRiAuMjI4KHhpdCBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBpbiktLjE1IEYgRjIKKyhsaXN0KTIuNzI4IEUgRjAgLjIyNyh0aGF0IGlzIGUpMi43MjggRiAtLjE1KHhlKS0uMTUgRyAuMjI3KGN1dGVkLCBvciBmKQorLjE1IEYgLjIyNyhhbHNlIGlmIGFuKS0uMSBGIDIuNzI3KHlvKS0uMTUgRyAyLjcyNyhmdCktMi43MjcgRyhoZSktMi43MjcKK0UgLS4xNShleCkxNDQgNzIxLjIgUyhwcmVzc2lvbnMgaXMgaW4pLjE1IEUgLS4yNSh2YSktLjQgRyhsaWQuKS4yNSBFCisoR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDUpMTkwLjk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNiA2CiAlJUJlZ2luUGFnZVNldHVwCiBCUApAQCAtODQxLDY5ICs4NDUsNjkgQEAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQogLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihzZWxlY3QpMTA4IDg0IFEvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YKIChuYW1lKTIuNSBFIEYwKFspMi41IEUgRjEoaW4pMi41IEUgRjIod29yKTIuNSBFKGQpLS4zNyBFIEYwIDIuNShdOykyLjUgRwotRjEoZG8pQSBGMihsaXN0KTIuNSBFIEYwKDspMi41IEUgRjEoZG9uZSkyLjUgRSBGMCAuNDMzKFRoZSBsaXN0IG9mIHcpMTQ0Ci05NiBSIC40MzMob3JkcyBmb2xsbyktLjEgRih3aW5nKS0uMjUgRSBGMShpbikyLjkzMyBFIEYwIC40MzIoaXMgZSkyLjkzMwotRiAuNDMyKHhwYW5kZWQsIGdlbmVyYXRpbmcgYSBsaXN0IG9mIGl0ZW1zLiktLjE1IEYgLjQzMihUaGUgc2V0IG9mIGUpCi01LjQzMiBGIC40MzIoeHBhbmRlZCB3KS0uMTUgRihvcmRzKS0uMSBFIC44NDIKK0YxKGRvKUEgRjIobGlzdCkyLjUgRSBGMCg7KTIuNSBFIEYxKGRvbmUpMi41IEUgRjAgLjQzMihUaGUgbGlzdCBvZiB3KTE0NAorOTYgUiAuNDMyKG9yZHMgZm9sbG8pLS4xIEYod2luZyktLjI1IEUgRjEoaW4pMi45MzIgRSBGMCAuNDMyKGlzIGUpMi45MzIKK0YgLjQzMih4cGFuZGVkLCBnZW5lcmF0aW5nIGEgbGlzdCBvZiBpdGVtcy4pLS4xNSBGIC40MzMoVGhlIHNldCBvZiBlKQorNS40MzMgRiAuNDMzKHhwYW5kZWQgdyktLjE1IEYob3JkcyktLjEgRSAuODQzCiAoaXMgcHJpbnRlZCBvbiB0aGUgc3RhbmRhcmQgZXJyb3IpMTQ0IDEwOCBSIDMuMzQyKCxlKS0uNCBHIC44NDIKIChhY2ggcHJlY2VkZWQgYnkgYSBudW1iZXIpLTMuMzQyIEYgNS44NDIoLkkpLS41NSBHIDMuMzQyKGZ0KS01Ljg0MiBHKGhlKQotLTMuMzQyIEUgRjEoaW4pMy4zNDIgRSBGMih3b3IpMy4zNDIgRShkKS0uMzcgRSBGMCAuODQzCi0oaXMgb21pdHRlZCwgdGhlIHBvc2ktKTMuMzQzIEYgLjA2NCh0aW9uYWwgcGFyYW1ldGVycyBhcmUgcHJpbnRlZCBcKHNlZSkKLTE0NCAxMjAgUi9GMyA5L1RpbWVzLUJvbGRAMCBTRiAtLjY2NihQQSkyLjU2NCBHKFJBTUVURVJTKS42NjYgRSBGMChiZWxvKQotMi4zMTQgRSAyLjU2NCh3XCkuIFRoZSktLjI1IEYgRjEoUFMzKTIuNTY0IEUgRjAgLjA2NAotKHByb21wdCBpcyB0aGVuIGRpc3BsYXllZCBhbmQgYSkyLjU2NCBGIC4yMTMKKy0zLjM0MiBFIEYxKGluKTMuMzQyIEUgRjIod29yKTMuMzQyIEUoZCktLjM3IEUgRjAgLjg0MgorKGlzIG9taXR0ZWQsIHRoZSBwb3NpLSkzLjM0MiBGIC4yMDEodGlvbmFsIHBhcmFtZXRlcnMgYXJlIHByaW50ZWQgXChzZWUpCisxNDQgMTIwIFIvRjMgOS9UaW1lcy1Cb2xkQDAgU0YgLS42NjYoUEEpMi43MDEgRyhSQU1FVEVSUykuNjY2IEUgRjAoYmVsbykKKzIuNDUxIEUgMi43MDEod1wpLiBUaGUpLS4yNSBGIEYzKFBTMykyLjcwMSBFIEYwIC4yMDEKKyhwcm9tcHQgaXMgdGhlbiBkaXNwbGF5ZWQgYW5kIGEpMi40NTEgRiAuMjE0CiAobGluZSByZWFkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0LikxNDQgMTMyIFIgLjIxMwotKElmIHRoZSBsaW5lIGNvbnNpc3RzIG9mIGEgbnVtYmVyIGNvcnJlc3BvbmRpbmcgdG8gb25lIG9mIHRoZSBkaXMtKTUuMjEzCi1GIDEuNTM4KHBsYXllZCB3KTE0NCAxNDQgUiAxLjUzOChvcmRzLCB0aGVuIHRoZSB2KS0uMSBGIDEuNTM4KGFsdWUgb2YpCi0tLjI1IEYgRjIobmFtZSk0LjM5OCBFIEYwIDEuNTM3KGlzIHNldCB0byB0aGF0IHcpNC4yMTggRiA0LjAzNyhvcmQuIElmKQotLS4xIEYgMS41MzcodGhlIGxpbmUgaXMgZW1wdHkpNC4wMzcgRiA0LjAzNygsdCktLjY1IEcgMS41MzcoaGUgdyktNC4wMzcKLUYgMS41Mzcob3JkcyBhbmQpLS4xIEYgLjA2NShwcm9tcHQgYXJlIGRpc3BsYXllZCBhZykxNDQgMTU2IFIgMi41NjUKLShhaW4uIElmKS0uMDUgRiAuMDY1KEVPRiBpcyByZWFkLCB0aGUgY29tbWFuZCBjb21wbGV0ZXMuKTIuNTY1IEYoQW4pCi01LjA2NiBFIDIuNTY2KHlvKS0uMTUgRyAuMDY2KHRoZXIgdiktMi41NjYgRiAuMDY2KGFsdWUgcmVhZCBjYXVzZXMpLS4yNQotRiBGMihuYW1lKTE0NCAxNjggUSBGMCAuNzYodG8gYmUgc2V0IHRvIG51bGwuKTMuNDQgRiAuNzYKLShUaGUgbGluZSByZWFkIGlzIHNhKTUuNzYgRiAtLjE1KHZlKS0uMiBHIDMuMjU5KGRpKS4xNSBHIDMuMjU5KG50KS0zLjI1OQotRyAuNzU5KGhlIHYpLTMuMjU5IEYoYXJpYWJsZSktLjI1IEUgRjEoUkVQTCkzLjI1OSBFKFkpLS45MiBFIEYwIDUuNzU5Ci0oLlQpQyhoZSktNS43NTkgRSBGMihsaXN0KTMuMzQ5IEUgRjAgLjc1OShpcyBlKTMuOTM5IEYgLS4xNSh4ZSktLjE1IEcKLS43NTkoY3V0ZWQgYWZ0ZXIpLjE1IEYgLjA3MShlYWNoIHNlbGVjdGlvbiB1bnRpbCBhKTE0NCAxODAgUiBGMShicikyLjU3MQotRShlYWspLS4xOCBFIEYwIC4wNzEoY29tbWFuZCBpcyBlKTIuNTcxIEYgLS4xNSh4ZSktLjE1IEcgMi41NzEKLShjdXRlZC4gVGhlKS4xNSBGIC0uMTUoZXgpMi41NzEgRyAuMDcxKGl0IHN0YXR1cyBvZikuMTUgRiBGMShzZWxlY3QpCi0yLjU3MSBFIEYwIC4wNzEoaXMgdGhlIGUpMi41NzEgRiAuMDcyKHhpdCBzdGF0dXMgb2YgdGhlKS0uMTUgRgorKElmIHRoZSBsaW5lIGNvbnNpc3RzIG9mIGEgbnVtYmVyIGNvcnJlc3BvbmRpbmcgdG8gb25lIG9mIHRoZSBkaXMtKTUuMjE0CitGIDEuNTM3KHBsYXllZCB3KTE0NCAxNDQgUiAxLjUzNyhvcmRzLCB0aGVuIHRoZSB2KS0uMSBGIDEuNTM3KGFsdWUgb2YpCistLjI1IEYgRjIobmFtZSk0LjM5NyBFIEYwIDEuNTM3KGlzIHNldCB0byB0aGF0IHcpNC4yMTcgRiA0LjAzNyhvcmQuIElmKQorLS4xIEYgMS41MzgodGhlIGxpbmUgaXMgZW1wdHkpNC4wMzggRiA0LjAzOCgsdCktLjY1IEcgMS41MzgoaGUgdyktNC4wMzgKK0YgMS41Mzgob3JkcyBhbmQpLS4xIEYgLjA2Nihwcm9tcHQgYXJlIGRpc3BsYXllZCBhZykxNDQgMTU2IFIgMi41NjYKKyhhaW4uIElmKS0uMDUgRiAuMDY1KEVPRiBpcyByZWFkLCB0aGUgY29tbWFuZCBjb21wbGV0ZXMuKTIuNTY2IEYoQW4pCis1LjA2NSBFIDIuNTY1KHlvKS0uMTUgRyAuMDY1KHRoZXIgdiktMi41NjUgRiAuMDY1KGFsdWUgcmVhZCBjYXVzZXMpLS4yNQorRiBGMihuYW1lKTE0NCAxNjggUSBGMCAuOTcyKHRvIGJlIHNldCB0byBudWxsLikzLjY1MiBGIC45NzIKKyhUaGUgbGluZSByZWFkIGlzIHNhKTUuOTcyIEYgLS4xNSh2ZSktLjIgRyAzLjQ3MyhkaSkuMTUgRyAzLjQ3MyhudCkKKy0zLjQ3MyBHIC45NzMoaGUgdiktMy40NzMgRihhcmlhYmxlKS0uMjUgRSBGMyhSRVBMKTMuNDczIEUoWSktLjgyOCBFL0Y0Cis5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwKFRoZSk1LjQ3MyBFIEYyKGxpc3QpMy41NjMgRSBGMCAuOTczKGlzIGUpNC4xNTMKK0YgLS4xNSh4ZSktLjE1IEcgLjk3MyhjdXRlZCBhZnRlcikuMTUgRiAuMDcyKGVhY2ggc2VsZWN0aW9uIHVudGlsIGEpMTQ0CisxODAgUiBGMShicikyLjU3MSBFKGVhayktLjE4IEUgRjAgLjA3MShjb21tYW5kIGlzIGUpMi41NzEgRiAtLjE1KHhlKS0uMTUKK0cgMi41NzEoY3V0ZWQuIFRoZSkuMTUgRiAtLjE1KGV4KTIuNTcxIEcgLjA3MShpdCBzdGF0dXMgb2YpLjE1IEYgRjEKKyhzZWxlY3QpMi41NzEgRSBGMCAuMDcxKGlzIHRoZSBlKTIuNTcxIEYgLjA3MSh4aXQgc3RhdHVzIG9mIHRoZSktLjE1IEYKIChsYXN0IGNvbW1hbmQgZSkxNDQgMTkyIFEgLS4xNSh4ZSktLjE1IEcoY3V0ZWQgaW4pLjE1IEUgRjIobGlzdCkyLjUgRSBGMAogMi41KCxvKS42OCBHIDIuNShyeiktMi41IEcoZXJvIGlmIG5vIGNvbW1hbmRzIHdlcmUgZSktMi41IEUgLS4xNSh4ZSktLjE1CiBHKGN1dGVkLikuMTUgRSBGMShjYXNlKTEwOCAyMDguOCBRIEYyKHdvcikyLjUgRShkKS0uMzcgRSBGMShpbikyLjUgRSBGMAogMi41KFtbKTIuNSBHKFwoXSktMi41IEUgRjIocGF0dGVybikyLjUgRSBGMChbKTIuNSBFIEYxKHwpMi41IEUgRjIKIChwYXR0ZXJuKTIuNSBFIEYwIDIuNShdLikyLjUgRyguLiBcKSktMi41IEUgRjIobGlzdCkyLjUgRSBGMCg7OyBdIC4uLikKLTIuNSBFIEYxKGVzYWMpMi41IEUgRjAoQSkxNDQgMjIwLjggUSBGMShjYXNlKTMuMjY1IEUgRjAgLjc2NAotKGNvbW1hbmQgXDIxNHJzdCBlKTMuMjY1IEYoeHBhbmRzKS0uMTUgRSBGMih3b3IpMy4yNjQgRShkKS0uMzcgRSBGMAorMi41IEUgRjEoZXNhYykyLjUgRSBGMChBKTE0NCAyMjAuOCBRIEYxKGNhc2UpMy4yNjQgRSBGMCAuNzY0CisoY29tbWFuZCBcMjE0cnN0IGUpMy4yNjQgRih4cGFuZHMpLS4xNSBFIEYyKHdvcikzLjI2NCBFKGQpLS4zNyBFIEYwCiAzLjI2NCgsYSlDIC43NjQobmQgdHJpZXMgdG8gbWF0Y2ggaXQgYWcpLTMuMjY0IEYgLjc2NChhaW5zdCBlYWNoKS0uMDUgRgotRjIocGF0dGVybikzLjI2NCBFIEYwIC43NjQoaW4gdHVybiwgdXNpbmcgdGhlKTMuMjY0IEYgLjU5NQorRjIocGF0dGVybikzLjI2NCBFIEYwIC43NjUoaW4gdHVybiwgdXNpbmcgdGhlKTMuMjY0IEYgLjU5NgogKHNhbWUgbWF0Y2hpbmcgcnVsZXMgYXMgZm9yIHBhdGhuYW1lIGUpMTQ0IDIzMi44IFIgLjU5NSh4cGFuc2lvbiBcKHNlZSkKLS0uMTUgRiBGMSAtLjEoUGEpMy4wOTUgRyAuNTk2KHRobmFtZSBFeHBhbnNpb24pLjEgRiBGMChiZWxvKTMuMDk2IEUKLTMuMDk2KHdcKS4gVGhlKS0uMjUgRiBGMih3b3IpMy4wOTYgRShkKS0uMzcgRSBGMChpcykzLjA5NiBFIC0uMTUoZXgpMTQ0CistLjE1IEYgRjEgLS4xKFBhKTMuMDk1IEcgLjU5NSh0aG5hbWUgRXhwYW5zaW9uKS4xIEYgRjAoYmVsbykzLjA5NSBFCiszLjA5NSh3XCkuIFRoZSktLjI1IEYgRjIod29yKTMuMDk1IEUoZCktLjM3IEUgRjAoaXMpMy4wOTUgRSAtLjE1KGV4KTE0NAogMjQ0LjggUyAxLjA5MihwYW5kZWQgdXNpbmcgdGlsZGUgZSkuMTUgRiAxLjA5MgogKHhwYW5zaW9uLCBwYXJhbWV0ZXIgYW5kIHYpLS4xNSBGIDEuMDkyKGFyaWFibGUgZSktLjI1IEYgMS4wOTIKICh4cGFuc2lvbiwgYXJpdGhtZXRpYyBzdWJzdGl0dXRpb24sIGNvbS0pLS4xNSBGIDEuMjY4CiAobWFuZCBzdWJzdGl0dXRpb24sIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIGFuZCBxdW90ZSByZW1vKTE0NCAyNTYuOCBSIC0uMjUKICh2YSktLjE1IEcgMy43NjgobC4gRWFjaCkuMjUgRiBGMihwYXR0ZXJuKTMuNzY4IEUgRjAgLS4xNShleCkzLjc2OCBHCi0xLjI2OShhbWluZWQgaXMgZSkuMTUgRih4cGFuZGVkKS0uMTUgRSAuMzUzKHVzaW5nIHRpbGRlIGUpMTQ0IDI2OC44IFIKKzEuMjY4KGFtaW5lZCBpcyBlKS4xNSBGKHhwYW5kZWQpLS4xNSBFIC4zNTModXNpbmcgdGlsZGUgZSkxNDQgMjY4LjggUgogLjM1Myh4cGFuc2lvbiwgcGFyYW1ldGVyIGFuZCB2KS0uMTUgRiAuMzUzKGFyaWFibGUgZSktLjI1IEYgLjM1MwotKHhwYW5zaW9uLCBhcml0aG1ldGljIHN1YnN0aXR1dGlvbiwgY29tbWFuZCBzdWJzdGktKS0uMTUgRiAxLjUxNgotKHR1dGlvbiwgYW5kIHByb2Nlc3Mgc3Vic3RpdHV0aW9uLikxNDQgMjgwLjggUiAxLjUxNgotKElmIHRoZSBzaGVsbCBvcHRpb24pNi41MTYgRiBGMShub2Nhc2VtYXRjaCk0LjAxNiBFIEYwIDEuNTE3Ci0oaXMgZW5hYmxlZCwgdGhlIG1hdGNoIGlzIHBlcik0LjAxNyBGKC0pLS4yIEUgMS4zNDcoZm9ybWVkIHdpdGhvdXQgcmUpCi0xNDQgMjkyLjggUiAtLjA1KGdhKS0uMTUgRyAxLjM0NwotKHJkIHRvIHRoZSBjYXNlIG9mIGFscGhhYmV0aWMgY2hhcmFjdGVycy4pLjA1IEYgMS4zNDYKKyh4cGFuc2lvbiwgYXJpdGhtZXRpYyBzdWJzdGl0dXRpb24sIGNvbW1hbmQgc3Vic3RpLSktLjE1IEYgMS41MTcKKyh0dXRpb24sIGFuZCBwcm9jZXNzIHN1YnN0aXR1dGlvbi4pMTQ0IDI4MC44IFIgMS41MTcKKyhJZiB0aGUgc2hlbGwgb3B0aW9uKTYuNTE3IEYgRjEobm9jYXNlbWF0Y2gpNC4wMTYgRSBGMCAxLjUxNgorKGlzIGVuYWJsZWQsIHRoZSBtYXRjaCBpcyBwZXIpNC4wMTYgRigtKS0uMiBFIDEuMzQ2KGZvcm1lZCB3aXRob3V0IHJlKQorMTQ0IDI5Mi44IFIgLS4wNShnYSktLjE1IEcgMS4zNDYKKyhyZCB0byB0aGUgY2FzZSBvZiBhbHBoYWJldGljIGNoYXJhY3RlcnMuKS4wNSBGIDEuMzQ3CiAoV2hlbiBhIG1hdGNoIGlzIGZvdW5kLCB0aGUgY29ycmUtKTYuMzQ3IEYoc3BvbmRpbmcpMTQ0IDMwNC44IFEgRjIobGlzdCkKLTIuNzc2IEUgRjAgLjI3NyhpcyBlKTIuNzc2IEYgLS4xNSh4ZSktLjE1IEcgMi43NzcoY3V0ZWQuIElmKS4xNSBGKHRoZSkKKzIuNzc3IEUgRjAgLjI3NyhpcyBlKTIuNzc3IEYgLS4xNSh4ZSktLjE1IEcgMi43NzcoY3V0ZWQuIElmKS4xNSBGKHRoZSkKIDIuNzc3IEUgRjEoOzspMi43NzcgRSBGMCAuMjc3CiAob3BlcmF0b3IgaXMgdXNlZCwgbm8gc3Vic2VxdWVudCBtYXRjaGVzIGFyZSBhdHRlbXB0ZWQgYWZ0ZXIgdGhlKTIuNzc3IEYKLS44NDkoXDIxNHJzdCBwYXR0ZXJuIG1hdGNoLikxNDQgMzE2LjggUihVc2luZyk1Ljg0OSBFIEYxKDsmKTMuMzQ5IEUgRjAKKy44NDgoXDIxNHJzdCBwYXR0ZXJuIG1hdGNoLikxNDQgMzE2LjggUihVc2luZyk1Ljg0OCBFIEYxKDsmKTMuMzQ4IEUgRjAKIC44NDkoaW4gcGxhY2Ugb2YpMy4zNDkgRiBGMSg7OykzLjM0OSBFIEYwIC44NDkoY2F1c2VzIGUpMy4zNDkgRiAtLjE1KHhlKQotLS4xNSBHIC44NDkoY3V0aW9uIHRvIGNvbnRpbnVlIHdpdGggdGhlKS4xNSBGIEYyKGxpc3QpMy4zNDggRSBGMAotKGFzc29jaWF0ZWQpMy4zNDggRSAuMDc3KHdpdGggdGhlIG5lKTE0NCAzMjguOCBSIC4wNzcKLSh4dCBzZXQgb2YgcGF0dGVybnMuKS0uMTUgRihVc2luZyk1LjA3NyBFIEYxKDs7JikyLjU3NyBFIEYwIC4wNzgKLShpbiBwbGFjZSBvZikyLjU3NyBGIEYxKDs7KTIuNTc4IEUgRjAgLjA3OAotKGNhdXNlcyB0aGUgc2hlbGwgdG8gdGVzdCB0aGUgbmUpMi41NzggRiAuMDc4KHh0IHBhdHRlcm4gbGlzdCBpbiktLjE1IEYKKy0uMTUgRyAuODQ5KGN1dGlvbiB0byBjb250aW51ZSB3aXRoIHRoZSkuMTUgRiBGMihsaXN0KTMuMzQ5IEUgRjAKKyhhc3NvY2lhdGVkKTMuMzQ5IEUgLjA3OCh3aXRoIHRoZSBuZSkxNDQgMzI4LjggUiAuMDc4CisoeHQgc2V0IG9mIHBhdHRlcm5zLiktLjE1IEYoVXNpbmcpNS4wNzggRSBGMSg7OyYpMi41NzggRSBGMCAuMDc4CisoaW4gcGxhY2Ugb2YpMi41NzggRiBGMSg7OykyLjU3OCBFIEYwIC4wNzcKKyhjYXVzZXMgdGhlIHNoZWxsIHRvIHRlc3QgdGhlIG5lKTIuNTc4IEYgLjA3Nyh4dCBwYXR0ZXJuIGxpc3QgaW4pLS4xNSBGCiAuMjI3KHRoZSBzdGF0ZW1lbnQsIGlmIGFuKTE0NCAzNDAuOCBSIDEuNTI3IC0uNjUoeSwgYSktLjE1IEggLjIyNyhuZCBlKQogLjY1IEYgLS4xNSh4ZSktLjE1IEcgLjIyNyhjdXRlIGFuKS4xNSBGIDIuNzI3KHlhKS0uMTUgRyhzc29jaWF0ZWQpLTIuNzI3CiBFIEYyKGxpc3QpMi43MjcgRSBGMCAuMjI3KG9uIGEgc3VjY2Vzc2Z1bCBtYXRjaC4pMi43MjcgRiAuMjI3KFRoZSBlKQpAQCAtOTEzLDgxICs5MTcsODEgQEAKIChsaXN0KTIuNSBFIEYwKDspQSBGMSh0aGVuKTIuNSBFIEYyKGxpc3Q7KTIuNSBFIEYwKFspMi41IEUgRjEoZWxpZikyLjUgRQogRjIobGlzdCkyLjUgRSBGMCg7KUEgRjEodGhlbikyLjUgRSBGMihsaXN0KTIuNSBFIEYwIDIuNSg7XS4pQyguLiBbKS0yLjUKIEUgRjEoZWxzZSkyLjUgRSBGMihsaXN0KTIuNSBFIEYwIDIuNSg7XSlDIEYxPDhjPkEgRjAoVGhlKTE0NCAzODEuNiBRIEYxCi0oaWYpMi45NzcgRSBGMihsaXN0KTMuMDY3IEUgRjAgLjQ3OChpcyBlKTMuNjU4IEYgLS4xNSh4ZSktLjE1IEcgMi45NzgKKyhpZikyLjk3OCBFIEYyKGxpc3QpMy4wNjggRSBGMCAuNDc4KGlzIGUpMy42NTggRiAtLjE1KHhlKS0uMTUgRyAyLjk3OAogKGN1dGVkLiBJZikuMTUgRiAuNDc4KGl0cyBlKTIuOTc4IEYgLjQ3OCh4aXQgc3RhdHVzIGlzIHplcm8sIHRoZSktLjE1IEYKIEYxKHRoZW4pMi45NzggRSBGMihsaXN0KTIuOTc4IEUgRjAgLjQ3OChpcyBlKTIuOTc4IEYgLS4xNSh4ZSktLjE1IEcKLTIuOTc4KGN1dGVkLiBPdGhlcndpc2UsKS4xNSBGKGVhY2gpMi45NzggRSBGMShlbGlmKTIuOTc4IEUgRjIobGlzdCkyLjk3OAotRSBGMCAxLjA4OChpcyBlKTE0NCAzOTMuNiBSIC0uMTUoeGUpLS4xNSBHIDEuMDg4CisyLjk3OChjdXRlZC4gT3RoZXJ3aXNlLCkuMTUgRihlYWNoKTIuOTc4IEUgRjEoZWxpZikyLjk3NyBFIEYyKGxpc3QpMi45NzcKK0UgRjAgMS4wODcoaXMgZSkxNDQgMzkzLjYgUiAtLjE1KHhlKS0uMTUgRyAxLjA4NwogKGN1dGVkIGluIHR1cm4sIGFuZCBpZiBpdHMgZSkuMTUgRiAxLjA4NwogKHhpdCBzdGF0dXMgaXMgemVybywgdGhlIGNvcnJlc3BvbmRpbmcpLS4xNSBGIEYxKHRoZW4pMy41ODcgRSBGMihsaXN0KQotMy41ODcgRSBGMCAxLjA4NyhpcyBlKTMuNTg3IEYgLS4xNSh4ZSktLjE1IEcgMS4wODcoY3V0ZWQgYW5kIHRoZSkuMTUgRgotLjEwMyhjb21tYW5kIGNvbXBsZXRlcy4pMTQ0IDQwNS42IFIgLjEwMyhPdGhlcndpc2UsIHRoZSk1LjEwMyBGIEYxKGVsc2UpCiszLjU4NyBFIEYwIDEuMDg4KGlzIGUpMy41ODggRiAtLjE1KHhlKS0uMTUgRyAxLjA4OChjdXRlZCBhbmQgdGhlKS4xNSBGCisuMTA0KGNvbW1hbmQgY29tcGxldGVzLikxNDQgNDA1LjYgUiAuMTAzKE90aGVyd2lzZSwgdGhlKTUuMTA0IEYgRjEoZWxzZSkKIDIuNjAzIEUgRjIobGlzdCkyLjYwMyBFIEYwIC4xMDMoaXMgZSkyLjYwMyBGIC0uMTUoeGUpLS4xNSBHIC4xMDMKIChjdXRlZCwgaWYgcHJlc2VudC4pLjE1IEYgLjEwMyhUaGUgZSk1LjEwMyBGIC4xMDMoeGl0IHN0YXR1cyBpcyB0aGUgZSkKLS0uMTUgRiAuMTA0KHhpdCBzdGEtKS0uMTUgRih0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBlKTE0NCA0MTcuNiBRIC0uMTUKKy0uMTUgRiAuMTAzKHhpdCBzdGEtKS0uMTUgRih0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBlKTE0NCA0MTcuNiBRIC0uMTUKICh4ZSktLjE1IEcoY3V0ZWQsIG9yIHplcm8gaWYgbm8gY29uZGl0aW9uIHRlc3RlZCB0cnVlLikuMTUgRSBGMSh3aGlsZSkKIDEwOCA0MzQuNCBRIEYyKGxpc3QpMi41IEUgRjAoOylBIEYxKGRvKTIuNSBFIEYyKGxpc3QpMi41IEUgRjAoOylBIEYxCiAoZG9uZSkyLjUgRSh1bnRpbCkxMDggNDQ2LjQgUSBGMihsaXN0KTIuNSBFIEYwKDspQSBGMShkbykyLjUgRSBGMihsaXN0KQotMi41IEUgRjAoOylBIEYxKGRvbmUpMi41IEUgRjAoVGhlKTE0NCA0NTguNCBRIEYxKHdoaWxlKTMuMTA0IEUgRjAgLjYwMwotKGNvbW1hbmQgY29udGludW91c2x5IGUpMy4xMDQgRiAtLjE1KHhlKS0uMTUgRyAuNjAzKGN1dGVzIHRoZSkuMTUgRiBGMQorMi41IEUgRjAoOylBIEYxKGRvbmUpMi41IEUgRjAoVGhlKTE0NCA0NTguNCBRIEYxKHdoaWxlKTMuMTAzIEUgRjAgLjYwMworKGNvbW1hbmQgY29udGludW91c2x5IGUpMy4xMDMgRiAtLjE1KHhlKS0uMTUgRyAuNjAzKGN1dGVzIHRoZSkuMTUgRiBGMQogKGRvKTMuMTAzIEUgRjIobGlzdCkzLjEwMyBFIEYwIC42MDMoYXMgbG9uZyBhcyB0aGUgbGFzdCBjb21tYW5kIGluKTMuMTAzCi1GIEYyKGxpc3QpMy4xMDMgRSBGMChyZXR1cm5zKTMuMTAzIEUgLjQ3KGFuIGUpMTQ0IDQ3MC40IFIgLjQ3Ci0oeGl0IHN0YXR1cyBvZiB6ZXJvLiktLjE1IEYoVGhlKTUuNDcgRSBGMSh1bnRpbCkyLjk3IEUgRjAgLjQ3MQotKGNvbW1hbmQgaXMgaWRlbnRpY2FsIHRvIHRoZSkyLjk3IEYgRjEod2hpbGUpMi45NzEgRSBGMCAuNDcxKGNvbW1hbmQsIGUpCi0yLjk3MSBGIC40NzEoeGNlcHQgdGhhdCB0aGUgdGVzdCktLjE1IEYgLjA5NihpcyBuZSkxNDQgNDgyLjQgUiAtLjA1KGdhKQotLS4xNSBHIC4wOTYodGVkOyB0aGUpLjA1IEYgRjEoZG8pMi41OTYgRSBGMihsaXN0KTIuNjg2IEUgRjAgLjA5NShpcyBlKQotMy4yNzYgRiAtLjE1KHhlKS0uMTUgRyAuMDk1KGN1dGVkIGFzIGxvbmcgYXMgdGhlIGxhc3QgY29tbWFuZCBpbikuMTUgRgotRjIobGlzdCkyLjY4NSBFIEYwIC4wOTUocmV0dXJucyBhIG5vbi16ZXJvIGUpMy4yNzUgRiAuMDk1KHhpdCBzdGF0dXMuKQotLS4xNSBGIDEuMzA2KFRoZSBlKTE0NCA0OTQuNCBSIDEuMzA2KHhpdCBzdGF0dXMgb2YgdGhlKS0uMTUgRiBGMSh3aGlsZSkKLTMuODA2IEUgRjAoYW5kKTMuODA2IEUgRjEodW50aWwpMy44MDcgRSBGMCAxLjMwNyhjb21tYW5kcyBpcyB0aGUgZSkzLjgwNwotRiAxLjMwNyh4aXQgc3RhdHVzIG9mIHRoZSBsYXN0KS0uMTUgRiBGMShkbykzLjgwNyBFIEYyKGxpc3QpMy44MDcgRSBGMAotKGNvbW1hbmQpMy44MDcgRSAtLjE1KGV4ZSkxNDQgNTA2LjQgUyhjdXRlZCwgb3IgemVybyBpZiBub25lIHcpLjE1IEUKK0YgRjIobGlzdCkzLjEwNCBFIEYwKHJldHVybnMpMy4xMDQgRSAuNDcxKGFuIGUpMTQ0IDQ3MC40IFIgLjQ3MQorKHhpdCBzdGF0dXMgb2YgemVyby4pLS4xNSBGKFRoZSk1LjQ3MSBFIEYxKHVudGlsKTIuOTcxIEUgRjAgLjQ3MQorKGNvbW1hbmQgaXMgaWRlbnRpY2FsIHRvIHRoZSkyLjk3MSBGIEYxKHdoaWxlKTIuOTcgRSBGMCAuNDcoY29tbWFuZCwgZSkKKzIuOTcgRiAuNDcoeGNlcHQgdGhhdCB0aGUgdGVzdCktLjE1IEYgLjA5NShpcyBuZSkxNDQgNDgyLjQgUiAtLjA1KGdhKQorLS4xNSBHIC4wOTUodGVkOyB0aGUpLjA1IEYgRjEoZG8pMi41OTUgRSBGMihsaXN0KTIuNjg1IEUgRjAgLjA5NShpcyBlKQorMy4yNzUgRiAtLjE1KHhlKS0uMTUgRyAuMDk1KGN1dGVkIGFzIGxvbmcgYXMgdGhlIGxhc3QgY29tbWFuZCBpbikuMTUgRgorRjIobGlzdCkyLjY4NSBFIEYwIC4wOTYocmV0dXJucyBhIG5vbi16ZXJvIGUpMy4yNzYgRiAuMDk2KHhpdCBzdGF0dXMuKQorLS4xNSBGIDEuMzA3KFRoZSBlKTE0NCA0OTQuNCBSIDEuMzA3KHhpdCBzdGF0dXMgb2YgdGhlKS0uMTUgRiBGMSh3aGlsZSkKKzMuODA3IEUgRjAoYW5kKTMuODA3IEUgRjEodW50aWwpMy44MDcgRSBGMCAxLjMwNyhjb21tYW5kcyBpcyB0aGUgZSkzLjgwNworRiAxLjMwNih4aXQgc3RhdHVzIG9mIHRoZSBsYXN0KS0uMTUgRiBGMShkbykzLjgwNiBFIEYyKGxpc3QpMy44MDYgRSBGMAorKGNvbW1hbmQpMy44MDYgRSAtLjE1KGV4ZSkxNDQgNTA2LjQgUyhjdXRlZCwgb3IgemVybyBpZiBub25lIHcpLjE1IEUKIChhcyBlKS0uMSBFIC0uMTUoeGUpLS4xNSBHKGN1dGVkLikuMTUgRSBGMShDb3ByKTg3IDUyMy4yIFEob2Nlc3NlcyktLjE4Ci1FIEYwKEEpMTA4IDUzNS4yIFEgRjIoY29wcikzLjcxMyBFKG9jZXNzKS0uNDUgRSBGMCAxLjIxMwotKGlzIGEgc2hlbGwgY29tbWFuZCBwcmVjZWRlZCBieSB0aGUpMy43MTMgRiBGMShjb3ByKTMuNzEyIEUob2MpLS4xOCBFIEYwCi0ocmVzZXJ2KTMuNzEyIEUgMS4yMTIoZWQgdyktLjE1IEYgMy43MTIob3JkLiBBKS0uMSBGIDEuMjEyCi0oY29wcm9jZXNzIGlzIGUpMy43MTIgRiAtLjE1KHhlKS0uMTUgRyAxLjIxMihjdXRlZCBhc3luLSkuMTUgRiAuNTc0KGNoclwKK0UgRjAoQSkxMDggNTM1LjIgUSBGMihjb3ByKTMuNzEyIEUob2Nlc3MpLS40NSBFIEYwIDEuMjEyCisoaXMgYSBzaGVsbCBjb21tYW5kIHByZWNlZGVkIGJ5IHRoZSkzLjcxMiBGIEYxKGNvcHIpMy43MTMgRShvYyktLjE4IEUgRjAKKyhyZXNlcnYpMy43MTMgRSAxLjIxMyhlZCB3KS0uMTUgRiAzLjcxMyhvcmQuIEEpLS4xIEYgMS4yMTMKKyhjb3Byb2Nlc3MgaXMgZSkzLjcxMyBGIC0uMTUoeGUpLS4xNSBHIDEuMjEzKGN1dGVkIGFzeW4tKS4xNSBGIC41NzUoY2hyXAogb25vdXNseSBpbiBhIHN1YnNoZWxsLCBhcyBpZiB0aGUgY29tbWFuZCBoYWQgYmVlbiB0ZXJtaW5hdGVkIHdpdGggdGhlKQotMTA4IDU0Ny4yIFIgRjEoJikzLjA3NSBFIEYwIC41NzUoY29udHJvbCBvcGVyYXRvcikzLjA3NSBGIDMuMDc1KCx3KS0uNCBHCi0uNTc1KGl0aCBhIHR3KS0zLjA3NSBGKG8tKS0uMSBFIC0uMSh3YSkxMDggNTU5LjIgUyAyLjUoeXApLjEgRworMTA4IDU0Ny4yIFIgRjEoJikzLjA3NCBFIEYwIC41NzQoY29udHJvbCBvcGVyYXRvcikzLjA3NCBGIDMuMDc0KCx3KS0uNCBHCisuNTc0KGl0aCBhIHR3KS0zLjA3NCBGKG8tKS0uMSBFIC0uMSh3YSkxMDggNTU5LjIgUyAyLjUoeXApLjEgRwogKGlwZSBlc3RhYmxpc2hlZCBiZXR3ZWVuIHRoZSBlKS0yLjUgRSAtLjE1KHhlKS0uMTUgRwogKGN1dGluZyBzaGVsbCBhbmQgdGhlIGNvcHJvY2Vzcy4pLjE1IEUoVGhlIGZvcm1hdCBmb3IgYSBjb3Byb2Nlc3MgaXM6KQogMTA4IDU3NiBRIEYxKGNvcHIpMTQ0IDU5Mi44IFEob2MpLS4xOCBFIEYwKFspMi41IEUgRjIgLS4yNyhOQSlDKE1FKS4yNyBFCiBGMChdKUEgRjIoY29tbWFuZCkyLjUgRSBGMChbKTIuNSBFIEYyIC0uMzcocmUpQyhkaXIpLjM3IEUoZWN0aW9ucyktLjM3IEUKLUYwKF0pQSAuOTIzKFRoaXMgY3JlYXRlcyBhIGNvcHJvY2VzcyBuYW1lZCkxMDggNjA5LjYgUiBGMiAtLjI3KE5BKTMuNDIzCi1HKE1FKS4yNyBFIEYwIDUuOTIzKC5JKUMoZiktNS45MjMgRSBGMiAtLjI3KE5BKTMuNDIzIEcoTUUpLjI3IEUgRjAgLjkyMgotKGlzIG5vdCBzdXBwbGllZCwgdGhlIGRlZikzLjQyMyBGIC45MjIoYXVsdCBuYW1lIGlzKS0uMSBGIEYyKENPUFIpMy40MjIKLUUoT0MpLS40IEUgRjAoLilBIEYyIC0uMjcoTkEpNS45MjIgRyhNRSkuMjcgRSBGMCAuNjQKK0YwKF0pQSAuOTIyKFRoaXMgY3JlYXRlcyBhIGNvcHJvY2VzcyBuYW1lZCkxMDggNjA5LjYgUiBGMiAtLjI3KE5BKTMuNDIyCitHKE1FKS4yNyBFIEYwIDUuOTIyKC5JKUMoZiktNS45MjIgRSBGMiAtLjI3KE5BKTMuNDIyIEcoTUUpLjI3IEUgRjAgLjkyMworKGlzIG5vdCBzdXBwbGllZCwgdGhlIGRlZikzLjQyMiBGIC45MjMoYXVsdCBuYW1lIGlzKS0uMSBGIEYyKENPUFIpMy40MjMKK0UoT0MpLS40IEUgRjAoLilBIEYyIC0uMjcoTkEpNS45MjMgRyhNRSkuMjcgRSBGMCAuNjQKIChtdXN0IG5vdCBiZSBzdXBwbGllZCBpZikxMDggNjIxLjYgUiBGMihjb21tYW5kKTMuMTQgRSBGMCAuNjQoaXMgYSkzLjE0CiBGIEYyIC42NChzaW1wbGUgY29tbWFuZCkzLjE0IEYgRjAgLjY0KFwoc2VlIGFibykzLjE0IEYgLS4xNSh2ZSktLjE1IEcKIC42NChcKTsgb3RoZXJ3aXNlLCBpdCBpcyBpbnRlcnByZXRlZCBhcyB0aGUgXDIxNHJzdCkuMTUgRiAtLjEod28pMTA4CiA2MzMuNiBTIC4xNjMocmQgb2YgdGhlIHNpbXBsZSBjb21tYW5kLikuMSBGIC4xNjMoV2hlbiB0aGUgY29wcm9jIGlzIGUpCiA1LjE2MyBGIC0uMTUoeGUpLS4xNSBHIC4xNjMoY3V0ZWQsIHRoZSBzaGVsbCBjcmVhdGVzIGFuIGFycmF5IHYpLjE1IEYKLS4xNjMoYXJpYWJsZSBcKHNlZSktLjI1IEYgRjEoQXJyYXlzKTIuNjYyIEUgRjAoYmVsbykxMDggNjQ1LjYgUSAuNTExCi0od1wpIG5hbWVkKS0uMjUgRiBGMiAtLjI3KE5BKTMuMDExIEcoTUUpLjI3IEUgRjAgLjUxMShpbiB0aGUgY29udGUpMy4wMTEKKy4xNjMoYXJpYWJsZSBcKHNlZSktLjI1IEYgRjEoQXJyYXlzKTIuNjYzIEUgRjAoYmVsbykxMDggNjQ1LjYgUSAuNTEyCisod1wpIG5hbWVkKS0uMjUgRiBGMiAtLjI3KE5BKTMuMDEyIEcoTUUpLjI3IEUgRjAgLjUxMihpbiB0aGUgY29udGUpMy4wMTIKIEYgLjUxMSh4dCBvZiB0aGUgZSktLjE1IEYgLS4xNSh4ZSktLjE1IEcgLjUxMShjdXRpbmcgc2hlbGwuKS4xNSBGIC41MTEKLShUaGUgc3RhbmRhcmQgb3V0cHV0IG9mKTUuNTExIEYgRjIoY29tbWFuZCkzLjIxMiBFIEYwIC41MTIoaXMgY29ubmVjdGVkKQotMy43ODIgRiAuODExKHZpYSBhIHBpcGUgdG8gYSBcMjE0bGUgZGVzY3JpcHRvciBpbiB0aGUgZSkxMDggNjU3LjYgUiAtLjE1Ci0oeGUpLS4xNSBHIC44MShjdXRpbmcgc2hlbGwsIGFuZCB0aGF0IFwyMTRsZSBkZXNjcmlwdG9yIGlzIGFzc2lnbmVkIHRvKQotLjE1IEYgRjIgLS4yNyhOQSkzLjMxIEcoTUUpLjI3IEUgRjAgMy4zMShbMF0uIFRoZSlCIC43MTYKLShzdGFuZGFyZCBpbnB1dCBvZikxMDggNjY5LjYgUiBGMihjb21tYW5kKTMuNDE2IEUgRjAgLjcxNgotKGlzIGNvbm5lY3RlZCB2aWEgYSBwaXBlIHRvIGEgXDIxNGxlIGRlc2NyaXB0b3IgaW4gdGhlIGUpMy45ODYgRiAtLjE1Ci0oeGUpLS4xNSBHIC43MTcoY3V0aW5nIHNoZWxsLCBhbmQgdGhhdCBcMjE0bGUpLjE1IEYgLjcwMwotKGRlc2NyaXB0b3IgaXMgYXNzaWduZWQgdG8pMTA4IDY4MS42IFIgRjIgLS4yNyhOQSkzLjIwMyBHKE1FKS4yNyBFIEYwCi0zLjIwMyhbMV0uIFRoaXMpQiAuNzAzKHBpcGUgaXMgZXN0YWJsaXNoZWQgYmVmb3JlIGFuKTMuMjAzIEYgMy4yMDIoeXIpCi0tLjE1IEcgLjcwMihlZGlyZWN0aW9ucyBzcGVjaVwyMTRlZCBieSB0aGUgY29tLSktMy4yMDIgRiAxLjE4MwotKG1hbmQgXChzZWUpMTA4IDY5My42IFIgRjMoUkVESVJFQ1RJT04pMy42ODMgRSBGMChiZWxvKTMuNDMzIEUgMy42ODMKLSh3XCkuIFRoZSktLjI1IEYgMS4xODMoXDIxNGxlIGRlc2NyaXB0b3JzIGNhbiBiZSB1dGlsaXplZCBhcyBhcikzLjY4MyBGCi0xLjE4NChndW1lbnRzIHRvIHNoZWxsIGNvbW1hbmRzKS0uMTggRiAuMDcKKyhUaGUgc3RhbmRhcmQgb3V0cHV0IG9mKTUuNTExIEYgRjIoY29tbWFuZCkzLjIxMSBFIEYwIC41MTEoaXMgY29ubmVjdGVkKQorMy43ODEgRiAuODEodmlhIGEgcGlwZSB0byBhIFwyMTRsZSBkZXNjcmlwdG9yIGluIHRoZSBlKTEwOCA2NTcuNiBSIC0uMTUKKyh4ZSktLjE1IEcgLjgxMShjdXRpbmcgc2hlbGwsIGFuZCB0aGF0IFwyMTRsZSBkZXNjcmlwdG9yIGlzIGFzc2lnbmVkIHRvKQorLjE1IEYgRjIgLS4yNyhOQSkzLjMxMSBHKE1FKS4yNyBFIEYwIDMuMzExKFswXS4gVGhlKUIgLjcxNworKHN0YW5kYXJkIGlucHV0IG9mKTEwOCA2NjkuNiBSIEYyKGNvbW1hbmQpMy40MTcgRSBGMCAuNzE2CisoaXMgY29ubmVjdGVkIHZpYSBhIHBpcGUgdG8gYSBcMjE0bGUgZGVzY3JpcHRvciBpbiB0aGUgZSkzLjk4NyBGIC0uMTUKKyh4ZSktLjE1IEcgLjcxNihjdXRpbmcgc2hlbGwsIGFuZCB0aGF0IFwyMTRsZSkuMTUgRiAuNzAyCisoZGVzY3JpcHRvciBpcyBhc3NpZ25lZCB0bykxMDggNjgxLjYgUiBGMiAtLjI3KE5BKTMuMjAyIEcoTUUpLjI3IEUgRjAKKzMuMjAyKFsxXS4gVGhpcylCIC43MDMocGlwZSBpcyBlc3RhYmxpc2hlZCBiZWZvcmUgYW4pMy4yMDMgRiAzLjIwMyh5cikKKy0uMTUgRyAuNzAzKGVkaXJlY3Rpb25zIHNwZWNpXDIxNGVkIGJ5IHRoZSBjb20tKS0zLjIwMyBGIDEuMTg0CisobWFuZCBcKHNlZSkxMDggNjkzLjYgUiBGMyhSRURJUkVDVElPTikzLjY4NCBFIEYwKGJlbG8pMy40MzQgRSAzLjY4NAorKHdcKS4gVGhlKS0uMjUgRiAxLjE4MyhcMjE0bGUgZGVzY3JpcHRvcnMgY2FuIGJlIHV0aWxpemVkIGFzIGFyKTMuNjg0IEYKKzEuMTgzKGd1bWVudHMgdG8gc2hlbGwgY29tbWFuZHMpLS4xOCBGIC4wNwogKGFuZCByZWRpcmVjdGlvbnMgdXNpbmcgc3RhbmRhcmQgdykxMDggNzA1LjYgUiAuMDcob3JkIGUpLS4xIEYgMi41NwogKHhwYW5zaW9ucy4gVGhlKS0uMTUgRiAuMDcocHJvY2VzcyBpZCBvZiB0aGUgc2hlbGwgc3BhKTIuNTcgRiAuMDcKLSh3bmVkIHRvIGUpLS4xNSBGIC0uMTUoeGUpLS4xNSBHIC4wNyhjdXRlIHRoZSBjb3Byby0pLjE1IEYgLjYzMQorKHduZWQgdG8gZSktLjE1IEYgLS4xNSh4ZSktLjE1IEcgLjA3KGN1dGUgdGhlIGNvcHJvLSkuMTUgRiAuNjMyCiAoY2VzcyBpcyBhKTEwOCA3MTcuNiBSIC0uMjUodmEpLS4yIEcgLjYzMShpbGFibGUgYXMgdGhlIHYpLjI1IEYgLjYzMQogKGFsdWUgb2YgdGhlIHYpLS4yNSBGKGFyaWFibGUpLS4yNSBFIEYyIC0uMjcoTkEpMy4xMzEgRyhNRSkuMjcgRSBGMAogMy4xMzEoX1BJRC4gVGhlKUIgRjEod2FpdCkzLjEzMSBFIEYwIC0uMihidSkzLjEzMSBHIC42MzEKIChpbHRpbiBjb21tYW5kIG1heSBiZSB1c2VkIHRvIHcpLjIgRihhaXQpLS4xIEUKLShmb3IgdGhlIGNvcHJvY2VzcyB0byB0ZXJtaW5hdGUuKTEwOCA3MjkuNiBRKEdOVSBCYXNoLTQuMCk3MiA3NjggUQotKDIwMDkgRmVicnVhcnkgNykxNDAuOTYgRSg2KTE5NS45NSBFIDAgQ2cgRVAKKyhmb3IgdGhlIGNvcHJvY2VzcyB0byB0ZXJtaW5hdGUuKTEwOCA3MjkuNiBRKEdOVSBCYXNoLTQuMSk3MiA3NjggUQorKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDYpMTkwLjk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNyA3CiAlJUJlZ2luUGFnZVNldHVwCiBCUApAQCAtOTk1LDE4ICs5OTksMTggQEAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQogLS4zNSBFKFRoZSByZXR1cm4gc3RhdHVzIG9mIGEgY29wcm9jZXNzIGlzIHRoZSBlKTEwOCA4NCBRKHhpdCBzdGF0dXMgb2YpCiAtLjE1IEUvRjEgMTAvVGltZXMtSXRhbGljQDAgU0YoY29tbWFuZCkyLjUgRSBGMCguKUEvRjIgMTAvVGltZXMtQm9sZEAwCi1TRihTaGVsbCBGdW5jdGlvbiBEZVwyMTRuaXRpb25zKTg3IDEwMC44IFEgRjAgMi42OTgoQXMpMTA4IDExMi44IFMgLjE5OAotKGhlbGwgZnVuY3Rpb24gaXMgYW4gb2JqZWN0IHRoYXQgaXMgY2FsbGVkIGxpayktMi42OTggRiAyLjY5OChlYXMpLS4xIEcKLS4xOTgoaW1wbGUgY29tbWFuZCBhbmQgZSktMi42OTggRiAtLjE1KHhlKS0uMTUgRyAuMTk3CitTRihTaGVsbCBGdW5jdGlvbiBEZVwyMTRuaXRpb25zKTg3IDEwMC44IFEgRjAgMi42OTcoQXMpMTA4IDExMi44IFMgLjE5OAorKGhlbGwgZnVuY3Rpb24gaXMgYW4gb2JqZWN0IHRoYXQgaXMgY2FsbGVkIGxpayktMi42OTcgRiAyLjY5OChlYXMpLS4xIEcKKy4xOTgoaW1wbGUgY29tbWFuZCBhbmQgZSktMi42OTggRiAtLjE1KHhlKS0uMTUgRyAuMTk4CiAoY3V0ZXMgYSBjb21wb3VuZCBjb21tYW5kIHdpdGgpLjE1IEYgMi41KGFuKTEwOCAxMjQuOCBTIC41IC0uMjUoZXcgcykKIC0yLjUgSChldCBvZiBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuKS4yNSBFCiAoU2hlbGwgZnVuY3Rpb25zIGFyZSBkZWNsYXJlZCBhcyBmb2xsbyk1IEUod3M6KS0uMjUgRShbKTEwOCAxNDEuNiBRIEYyCiAoZnVuY3Rpb24pMi41IEUgRjAoXSkyLjUgRSBGMShuYW1lKTIuNSBFIEYwKFwoXCkpMi41IEUgRjEKIChjb21wb3VuZFwyNTVjb21tYW5kKTIuNSBFIEYwKFspMi41IEUgRjEgLS4zNyhyZSlDKGRpcikuMzcgRShlY3Rpb24pLS4zNwotRSBGMChdKUEgMS40MDIoVGhpcyBkZVwyMTRuZXMgYSBmdW5jdGlvbiBuYW1lZCkxNDQgMTUzLjYgUiBGMShuYW1lKTMuOTAyCitFIEYwKF0pQSAxLjQwMyhUaGlzIGRlXDIxNG5lcyBhIGZ1bmN0aW9uIG5hbWVkKTE0NCAxNTMuNiBSIEYxKG5hbWUpMy45MDIKIEUgRjAgNi40MDIoLlQpQyAxLjQwMihoZSByZXNlcnYpLTYuNDAyIEYgMS40MDIoZWQgdyktLjE1IEYob3JkKS0uMSBFIEYyCi0oZnVuY3Rpb24pMy45MDIgRSBGMCAxLjQwMihpcyBvcHRpb25hbC4pMy45MDIgRiAxLjQwMyhJZiB0aGUpNi40MDIgRiBGMgotKGZ1bmN0aW9uKTMuOTAzIEUgRjAocmVzZXJ2KTE0NCAxNjUuNiBRIC4xNjIoZWQgdyktLjE1IEYgLjE2MgorKGZ1bmN0aW9uKTMuOTAyIEUgRjAgMS40MDIoaXMgb3B0aW9uYWwuKTMuOTAyIEYgMS40MDIoSWYgdGhlKTYuNDAyIEYgRjIKKyhmdW5jdGlvbikzLjkwMiBFIEYwKHJlc2VydikxNDQgMTY1LjYgUSAuMTYyKGVkIHcpLS4xNSBGIC4xNjIKIChvcmQgaXMgc3VwcGxpZWQsIHRoZSBwYXJlbnRoZXNlcyBhcmUgb3B0aW9uYWwuKS0uMSBGKFRoZSk1LjE2MiBFIEYxCiAoYm9keSkyLjY2MiBFIEYwIC4xNjIob2YgdGhlIGZ1bmN0aW9uIGlzIHRoZSBjb21wb3VuZCkyLjY2MiBGKGNvbW1hbmQpCiAxNDQgMTc3LjYgUSBGMShjb21wb3VuZFwyNTVjb21tYW5kKTIuNzg0IEUgRjAoXChzZWUpMy4zNTQgRSBGMiAuMDg0CkBAIC0xMDE1LDE3ICsxMDE5LDE3IEBACiAob2YgY29tbWFuZHMgYmV0d2VlbiB7IGFuZCB9LCBiKTIuNTQ0IEYgLjA0NCh1dCBtYXkgYmUgYW4pLS4yIEYgMi41NDQKICh5YyktLjE1IEcgLjA0NChvbW1hbmQgbGlzdGVkIHVuZGVyKS0yLjU0NCBGIEYyIC4wNDQoQ29tcG91bmQgQ29tbWFuZHMpCiAyLjU0NCBGIEYwKGFibykxNDQgMjAxLjYgUSAtLjE1KHZlKS0uMTUgRyguKS4xNSBFIEYxCi0oY29tcG91bmRcMjU1Y29tbWFuZCk2LjY3IEUgRjAgMS42NyhpcyBlKTQuMTcgRiAtLjE1KHhlKS0uMTUgRyAxLjY3MQorKGNvbXBvdW5kXDI1NWNvbW1hbmQpNi42NzEgRSBGMCAxLjY3MShpcyBlKTQuMTcxIEYgLS4xNSh4ZSktLjE1IEcgMS42NzEKIChjdXRlZCB3aGVuZSkuMTUgRiAtLjE1KHZlKS0uMjUgRyhyKS4xNSBFIEYxKG5hbWUpNC4xNzEgRSBGMCAxLjY3MQotKGlzIHNwZWNpXDIxNGVkIGFzIHRoZSBuYW1lIG9mIGEgc2ltcGxlKTQuMTcxIEYgMy4wMDkoY29tbWFuZC4gQW4pMTQ0CisoaXMgc3BlY2lcMjE0ZWQgYXMgdGhlIG5hbWUgb2YgYSBzaW1wbGUpNC4xNzEgRiAzLjAwOChjb21tYW5kLiBBbikxNDQKIDIxMy42IFIgMy4wMDkoeXIpLS4xNSBHIC41MDkoZWRpcmVjdGlvbnMgXChzZWUpLTMuMDA5IEYvRjMgOQogL1RpbWVzLUJvbGRAMCBTRihSRURJUkVDVElPTikzLjAwOSBFIEYwKGJlbG8pMi43NTkgRSAuNTA5Ci0od1wpIHNwZWNpXDIxNGVkIHdoZW4gYSBmdW5jdGlvbiBpcyBkZVwyMTRuZWQgYXJlKS0uMjUgRiAuNTgKLShwZXJmb3JtZWQgd2hlbiB0aGUgZnVuY3Rpb24gaXMgZSkxNDQgMjI1LjYgUiAtLjE1KHhlKS0uMTUgRyAzLjA4Ci0oY3V0ZWQuIFRoZSkuMTUgRiAtLjE1KGV4KTMuMDgxIEcgLjU4MQorKHdcKSBzcGVjaVwyMTRlZCB3aGVuIGEgZnVuY3Rpb24gaXMgZGVcMjE0bmVkIGFyZSktLjI1IEYgLjU4MQorKHBlcmZvcm1lZCB3aGVuIHRoZSBmdW5jdGlvbiBpcyBlKTE0NCAyMjUuNiBSIC0uMTUoeGUpLS4xNSBHIDMuMDgxCisoY3V0ZWQuIFRoZSkuMTUgRiAtLjE1KGV4KTMuMDgxIEcgLjU4CiAoaXQgc3RhdHVzIG9mIGEgZnVuY3Rpb24gZGVcMjE0bml0aW9uIGlzIHplcm8gdW5sZXNzIGEpLjE1IEYgLjE3NyhzeW50YVwKIHggZXJyb3Igb2NjdXJzIG9yIGEgcmVhZG9ubHkgZnVuY3Rpb24gd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZSkxNDQKLTIzNy42IFIgMi42NzcoeGlzdHMuIFdoZW4pLS4xNSBGIC0uMTUoZXhlKTIuNjc3IEcgLjE3NyhjdXRlZCwgdGhlKS4xNSBGCisyMzcuNiBSIDIuNjc4KHhpc3RzLiBXaGVuKS0uMTUgRiAtLjE1KGV4ZSkyLjY3OCBHIC4xNzgoY3V0ZWQsIHRoZSkuMTUgRgogLS4xNShleCkxNDQgMjQ5LjYgUyAuNjQoaXQgc3RhdHVzIG9mIGEgZnVuY3Rpb24gaXMgdGhlIGUpLjE1IEYgLjY0CiAoeGl0IHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGUpLS4xNSBGIC0uMTUoeGUpLS4xNSBHIC42NAogKGN1dGVkIGluIHRoZSBib2R5KS4xNSBGIDUuNjQoLlwoKS0uNjUgRyhTZWUpLTUuNjQgRSBGMyhGVU5DLSkzLjE0IEUKQEAgLTEwMzQsNDQ0NyArMTAzOCw0NTg5IEBACiAyOTAuNCBSIDEuMjgyIC0uMTUodmUgcyktLjI1IEggLjk4MihoZWxsLCBvciBhbiBpbnRlcmFjdGkpLjE1IEYgMS4yODIKIC0uMTUodmUgcyktLjI1IEggLjk4MihoZWxsIGluIHdoaWNoIHRoZSkuMTUgRiBGMihpbnRlcmFjdGkpMy40ODIgRSAtLjEKICh2ZSktLjEgRyhfY29tbWVudHMpLjEgRSBGMCAuOTgyKG9wdGlvbiB0byB0aGUpMy40ODIgRiBGMihzaG9wdCkzLjQ4MiBFCi1GMCAtLjIoYnUpMTA4IDMwMi40IFMgLjk1MShpbHRpbiBpcyBlbmFibGVkIFwoc2VlKS4yIEYgRjMgLjk1MihTSEVMTCBCKQotMy40NTEgRihVSUwpLS4wOSBFIC45NTIoVElOIENPTU1BTkRTKS0uODI4IEYgRjAoYmVsbykzLjIwMiBFIC45NTIKLSh3XCksIGEgdyktLjI1IEYgLjk1MihvcmQgYmUpLS4xIEYgLjk1MihnaW5uaW5nIHdpdGgpLS4xNSBGIEYyKCMpMy40NTIgRQotRjAgLjk1MihjYXVzZXMgdGhhdCB3KTMuNDUyIEYob3JkKS0uMSBFIC42MDUKK0YwIC0uMihidSkxMDggMzAyLjQgUyAuOTUyKGlsdGluIGlzIGVuYWJsZWQgXChzZWUpLjIgRiBGMyAuOTUyKFNIRUxMIEIpCiszLjQ1MiBGKFVJTCktLjA5IEUgLjk1MihUSU4gQ09NTUFORFMpLS44MjggRiBGMChiZWxvKTMuMjAyIEUgLjk1MgorKHdcKSwgYSB3KS0uMjUgRiAuOTUyKG9yZCBiZSktLjEgRiAuOTUyKGdpbm5pbmcgd2l0aCktLjE1IEYgRjIoIykzLjQ1MSBFCitGMCAuOTUxKGNhdXNlcyB0aGF0IHcpMy40NTEgRihvcmQpLS4xIEUgLjYwNAogKGFuZCBhbGwgcmVtYWluaW5nIGNoYXJhY3RlcnMgb24gdGhhdCBsaW5lIHRvIGJlIGlnbm9yZWQuKTEwOCAzMTQuNCBSCi0uNjA0KEFuIGludGVyYWN0aSk1LjYwNSBGIC45MDQgLS4xNSh2ZSBzKS0uMjUgSCAuNjA0KGhlbGwgd2l0aG91dCB0aGUpCi0uMTUgRiBGMihpbnRlcmFjdGkpMy4xMDQgRSAtLjEodmUpLS4xIEcoX2NvbS0pLjEgRShtZW50cykxMDggMzI2LjQgUSBGMAotMS4zMzYob3B0aW9uIGVuYWJsZWQgZG9lcyBub3QgYWxsbykzLjgzNiBGIDMuODM2KHdjKS0uMjUgRyAzLjgzNgotKG9tbWVudHMuIFRoZSktMy44MzYgRiBGMihpbnRlcmFjdGkpMy44MzYgRSAtLjEodmUpLS4xIEcoX2NvbW1lbnRzKS4xIEUKLUYwIDEuMzM3KG9wdGlvbiBpcyBvbiBieSBkZWYpMy44MzcgRiAxLjMzNyhhdWx0IGluKS0uMSBGKGludGVyYWN0aSkxMDgKKy42MDUoQW4gaW50ZXJhY3RpKTUuNjA1IEYgLjkwNSAtLjE1KHZlIHMpLS4yNSBIIC42MDUoaGVsbCB3aXRob3V0IHRoZSkKKy4xNSBGIEYyKGludGVyYWN0aSkzLjEwNSBFIC0uMSh2ZSktLjEgRyhfY29tLSkuMSBFKG1lbnRzKTEwOCAzMjYuNCBRIEYwCisxLjMzNyhvcHRpb24gZW5hYmxlZCBkb2VzIG5vdCBhbGxvKTMuODM3IEYgMy44Mzcod2MpLS4yNSBHIDMuODM2Cisob21tZW50cy4gVGhlKS0zLjgzNyBGIEYyKGludGVyYWN0aSkzLjgzNiBFIC0uMSh2ZSktLjEgRyhfY29tbWVudHMpLjEgRQorRjAgMS4zMzYob3B0aW9uIGlzIG9uIGJ5IGRlZikzLjgzNiBGIDEuMzM2KGF1bHQgaW4pLS4xIEYoaW50ZXJhY3RpKTEwOAogMzM4LjQgUSAuMyAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzLikuMTUgRSBGNCAtLjExKFFVKTcyIDM1NS4yIFMgLS40MzgoT1QpCi0uMTEgRyhJTkcpLjQzOCBFIEYxKFF1b3RpbmcpMTA4IDM2Ny4yIFEgRjAgLjQ3OChpcyB1c2VkIHRvIHJlbW8pMi45NzggRgorLjExIEcoSU5HKS40MzggRSBGMShRdW90aW5nKTEwOCAzNjcuMiBRIEYwIC40NzcoaXMgdXNlZCB0byByZW1vKTIuOTc3IEYKIC43NzcgLS4xNSh2ZSB0KS0uMTUgSCAuNDc3CiAoaGUgc3BlY2lhbCBtZWFuaW5nIG9mIGNlcnRhaW4gY2hhcmFjdGVycyBvciB3KS4xNSBGIC40NzcKLShvcmRzIHRvIHRoZSBzaGVsbC4pLS4xIEYgLjQ3NyhRdW90aW5nIGNhbiBiZSk1LjQ3NyBGIC4xODQKKyhvcmRzIHRvIHRoZSBzaGVsbC4pLS4xIEYgLjQ3OChRdW90aW5nIGNhbiBiZSk1LjQ3OCBGIC4xODUKICh1c2VkIHRvIGRpc2FibGUgc3BlY2lhbCB0cmVhdG1lbnQgZm9yIHNwZWNpYWwgY2hhcmFjdGVycywgdG8gcHJlKTEwOAotMzc5LjIgUiAtLjE1KHZlKS0uMjUgRyAuMTg1KG50IHJlc2VydikuMTUgRiAuMTg1KGVkIHcpLS4xNSBGIC4xODUKKzM3OS4yIFIgLS4xNSh2ZSktLjI1IEcgLjE4NShudCByZXNlcnYpLjE1IEYgLjE4NChlZCB3KS0uMTUgRiAuMTg0CiAob3JkcyBmcm9tIGJlaW5nIHJlY29nbml6ZWQgYXMpLS4xIEYoc3VjaCwgYW5kIHRvIHByZSkxMDggMzkxLjIgUSAtLjE1Ci0odmUpLS4yNSBHKG50IHBhcmFtZXRlciBlKS4xNSBFKHhwYW5zaW9uLiktLjE1IEUgLjI4OShFYWNoIG9mIHRoZSkxMDgKLTQwOCBSIEYxKG1ldGFjKTIuNzg5IEUoaGFyKS0uMTUgRShhY3RlciktLjE1IEUocyktLjEgRSBGMCAuMjg4Ci0obGlzdGVkIGFibykyLjc4OSBGIC41ODggLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYzKERFRklOSVRJT05TKQorKHZlKS0uMjUgRyhudCBwYXJhbWV0ZXIgZSkuMTUgRSh4cGFuc2lvbi4pLS4xNSBFIC4yODgoRWFjaCBvZiB0aGUpMTA4Cis0MDggUiBGMShtZXRhYykyLjc4OCBFKGhhciktLjE1IEUoYWN0ZXIpLS4xNSBFKHMpLS4xIEUgRjAgLjI4OAorKGxpc3RlZCBhYm8pMi43ODggRiAuNTg4IC0uMTUodmUgdSktLjE1IEgobmRlcikuMTUgRSBGMyhERUZJTklUSU9OUykKIDIuNzg4IEUgRjAgLjI4OChoYXMgc3BlY2lhbCBtZWFuaW5nIHRvIHRoZSBzaGVsbCBhbmQgbXVzdCBiZSkyLjUzOCBGCi0ocXVvdGVkIGlmIGl0IGlzIHRvIHJlcHJlc2VudCBpdHNlbGYuKTEwOCA0MjAgUSAxLjM0NAorKHF1b3RlZCBpZiBpdCBpcyB0byByZXByZXNlbnQgaXRzZWxmLikxMDggNDIwIFEgMS4zNDUKIChXaGVuIHRoZSBjb21tYW5kIGhpc3RvcnkgZSkxMDggNDM2LjggUiAxLjM0NCh4cGFuc2lvbiBmKS0uMTUgRiAxLjM0NAogKGFjaWxpdGllcyBhcmUgYmVpbmcgdXNlZCBcKHNlZSktLjEgRiBGMyhISVNUKTMuODQ0IEUoT1IpLS4xNjIgRSAzLjU5NAotKFlFKS0uMzE1IEcoWFApLTMuNTk0IEUoQU5TSU9OKS0uNjY2IEUgRjAoYmVsbykzLjU5NSBFIDEuMzQ1KHdcKSwgdGhlKQorKFlFKS0uMzE1IEcoWFApLTMuNTk0IEUoQU5TSU9OKS0uNjY2IEUgRjAoYmVsbykzLjU5NCBFIDEuMzQ0KHdcKSwgdGhlKQogLS4yNSBGIEYxKGhpc3RvcnkgZSkxMDggNDQ4LjggUSh4cGFuc2lvbiktLjIgRSBGMChjaGFyYWN0ZXIpMi41IEUgMi41CiAoLHUpLS40IEcoc3VhbGx5KS0yLjUgRSBGMighKTIuNSBFIEYwIDIuNSgsbSlDKHVzdCBiZSBxdW90ZWQgdG8gcHJlKS0yLjUKIEUgLS4xNSh2ZSktLjI1IEcobnQgaGlzdG9yeSBlKS4xNSBFKHhwYW5zaW9uLiktLjE1IEUKIChUaGVyZSBhcmUgdGhyZWUgcXVvdGluZyBtZWNoYW5pc21zOiB0aGUpMTA4IDQ2NS42IFEgRjEoZXNjYXBlIGMpMi41IEUKIChoYXIpLS4xNSBFKGFjdGVyKS0uMTUgRSBGMCAyLjUoLHMpLjczIEcKLShpbmdsZSBxdW90ZXMsIGFuZCBkb3VibGUgcXVvdGVzLiktMi41IEUgMi45NzUoQW4pMTA4IDQ4Mi40IFMgLjQ3NQotKG9uLXF1b3RlZCBiYWNrc2xhc2ggXCgpLTIuOTc1IEYgRjIoXFwpQSBGMCAyLjk3NChcKWkpQyAyLjk3NChzdCktMi45NzQKKyhpbmdsZSBxdW90ZXMsIGFuZCBkb3VibGUgcXVvdGVzLiktMi41IEUgMi45NzQoQW4pMTA4IDQ4Mi40IFMgLjQ3NAorKG9uLXF1b3RlZCBiYWNrc2xhc2ggXCgpLTIuOTc0IEYgRjIoXFwpQSBGMCAyLjk3NChcKWkpQyAyLjk3NChzdCktMi45NzQKIEcoaGUpLTIuOTc0IEUgRjEgLjQ3NChlc2NhcGUgYykyLjk3NCBGKGhhciktLjE1IEUoYWN0ZXIpLS4xNSBFIEYwIDUuNDc0CiAoLkkpLjczIEcgMi45NzQodHApLTUuNDc0IEcocmVzZXJ2KS0yLjk3NCBFIC40NzQoZXMgdGhlIGxpdGVyYWwgdiktLjE1IEYKLS40NzQoYWx1ZSBvZiB0aGUgbmUpLS4yNSBGIC40NzQoeHQgY2hhcmFjdGVyIHRoYXQpLS4xNSBGKGZvbGxvKTEwOCA0OTQuNAotUSAxLjU1Myh3cywgd2l0aCB0aGUgZSktLjI1IEYgMS41NTMoeGNlcHRpb24gb2YgPG5lKS0uMTUgRiA0LjA1MworLjQ3NChhbHVlIG9mIHRoZSBuZSktLjI1IEYgLjQ3NSh4dCBjaGFyYWN0ZXIgdGhhdCktLjE1IEYoZm9sbG8pMTA4IDQ5NC40CitRIDEuNTU0KHdzLCB3aXRoIHRoZSBlKS0uMjUgRiAxLjU1Myh4Y2VwdGlvbiBvZiA8bmUpLS4xNSBGIDQuMDUzCiAod2xpbmU+LiBJZiktLjI1IEYoYSk0LjA1MyBFIEYyKFxcKTQuMDUzIEUgRjAoPG5lKUEgMS41NTMKLSh3bGluZT4gcGFpciBhcHBlYXJzLCBhbmQgdGhlIGJhY2tzbGFzaCBpcyBub3QgaXRzZWxmKS0uMjUgRiAxLjEyMwotKHF1b3RlZCwgdGhlKTEwOCA1MDYuNCBSIEYyKFxcKTMuNjIzIEUgRjAoPG5lKUEgMS4xMjIKKyh3bGluZT4gcGFpciBhcHBlYXJzLCBhbmQgdGhlIGJhY2tzbGFzaCBpcyBub3QgaXRzZWxmKS0uMjUgRiAxLjEyMgorKHF1b3RlZCwgdGhlKTEwOCA1MDYuNCBSIEYyKFxcKTMuNjIyIEUgRjAoPG5lKUEgMS4xMjIKICh3bGluZT4gaXMgdHJlYXRlZCBhcyBhIGxpbmUgY29udGludWF0aW9uIFwodGhhdCBpcywgaXQgaXMgcmVtbyktLjI1IEYKLS0uMTUodmUpLS4xNSBHIDMuNjIyKGRmKS4xNSBHIDEuMTIyKHJvbSB0aGUgaW5wdXQgc3RyZWFtIGFuZCktMy42MjIgRgorLS4xNSh2ZSktLjE1IEcgMy42MjIoZGYpLjE1IEcgMS4xMjMocm9tIHRoZSBpbnB1dCBzdHJlYW0gYW5kKS0zLjYyMiBGCiAoZWYpMTA4IDUxOC40IFEoZmVjdGkpLS4yNSBFIC0uMTUodmUpLS4yNSBHKGx5IGlnbm9yZWRcKS4pLjE1IEUgLjI5NQogKEVuY2xvc2luZyBjaGFyYWN0ZXJzIGluIHNpbmdsZSBxdW90ZXMgcHJlc2VydikxMDggNTM1LjIgUiAuMjk1CiAoZXMgdGhlIGxpdGVyYWwgdiktLjE1IEYgLjI5NShhbHVlIG9mIGVhY2ggY2hhcmFjdGVyIHdpdGhpbiB0aGUgcXVvdGVzLikKIC0uMjUgRiAyLjc5NShBcyk1LjI5NSBHKGluLSktMi43OTUgRQogKGdsZSBxdW90ZSBtYXkgbm90IG9jY3VyIGJldHdlZW4gc2luZ2xlIHF1b3RlcywgZSkxMDggNTQ3LjIgUSAtLjE1KHZlKQotLS4yNSBHIDIuNShudykuMTUgRyhoZW4gcHJlY2VkZWQgYnkgYSBiYWNrc2xhc2guKS0yLjUgRSAuMDM0CistLjI1IEcgMi41KG53KS4xNSBHKGhlbiBwcmVjZWRlZCBieSBhIGJhY2tzbGFzaC4pLTIuNSBFIC4wMzMKIChFbmNsb3NpbmcgY2hhcmFjdGVycyBpbiBkb3VibGUgcXVvdGVzIHByZXNlcnYpMTA4IDU2NCBSIC4wMzQKIChlcyB0aGUgbGl0ZXJhbCB2KS0uMTUgRiAuMDM0CiAoYWx1ZSBvZiBhbGwgY2hhcmFjdGVycyB3aXRoaW4gdGhlIHF1b3Rlcywgd2l0aCB0aGUpLS4yNSBGIC0uMTUoZXgpMTA4Ci01NzYgUyAuODI3KGNlcHRpb24gb2YpLjE1IEYgRjIoJCkzLjMyNyBFIEYwKCwpQSBGMjw5Mj4zLjMyOCBFIEYwKCwpQSBGMgorNTc2IFMgLjgyOChjZXB0aW9uIG9mKS4xNSBGIEYyKCQpMy4zMjggRSBGMCgsKUEgRjI8OTI+My4zMjggRSBGMCgsKUEgRjIKIChcXCkzLjMyOCBFIEYwIDMuMzI4KCxhKUMgLjgyOChuZCwgd2hlbiBoaXN0b3J5IGUpLTMuMzI4IEYgLjgyOAogKHhwYW5zaW9uIGlzIGVuYWJsZWQsKS0uMTUgRiBGMighKTMuMzI4IEUgRjAgNS44MjgoLlQpQyAuODI4CiAoaGUgY2hhcmFjdGVycyktNS44MjggRiBGMigkKTMuMzI4IEUgRjAoYW5kKTMuMzI4IEUgRjI8OTI+My4zMjggRSBGMAotLjgyOChyZXRhaW4gdGhlaXIgc3BlY2lhbCkzLjMyOCBGIC4wNzUobWVhbmluZyB3aXRoaW4gZG91YmxlIHF1b3Rlcy4pMTA4CisuODI3KHJldGFpbiB0aGVpciBzcGVjaWFsKTMuMzI4IEYgLjA3NChtZWFuaW5nIHdpdGhpbiBkb3VibGUgcXVvdGVzLikxMDgKIDU4OCBSIC4wNzQoVGhlIGJhY2tzbGFzaCByZXRhaW5zIGl0cyBzcGVjaWFsIG1lYW5pbmcgb25seSB3aGVuIGZvbGxvKQotNS4wNzUgRiAuMDc0KHdlZCBieSBvbmUgb2YgdGhlKS0uMjUgRihmb2xsbykxMDggNjAwIFEgLjIwNAotKHdpbmcgY2hhcmFjdGVyczopLS4yNSBGIEYyKCQpMi43MDQgRSBGMCgsKUEgRjI8OTI+Mi43MDQgRSBGMCgsKUEgRjIoIikKLTMuNTM3IEUgRjAoLCkuODMzIEUgRjIoXFwpMi43MDQgRSBGMCAyLjcwNCgsbylDKHIpLTIuNzA0IEUgRjIoPG5ld2xpbmU+KQotMi43MDUgRSBGMCA1LjIwNSguQSlDIC4yMDUKLShkb3VibGUgcXVvdGUgbWF5IGJlIHF1b3RlZCB3aXRoaW4gZG91YmxlIHF1b3RlcyBieSBwcmUtKS0yLjUgRiAuMDgyCis1LjA3NCBGIC4wNzUod2VkIGJ5IG9uZSBvZiB0aGUpLS4yNSBGKGZvbGxvKTEwOCA2MDAgUSAuMjA1Cisod2luZyBjaGFyYWN0ZXJzOiktLjI1IEYgRjIoJCkyLjcwNSBFIEYwKCwpQSBGMjw5Mj4yLjcwNSBFIEYwKCwpQSBGMigiKQorMy41MzggRSBGMCgsKS44MzMgRSBGMihcXCkyLjcwNSBFIEYwIDIuNzA1KCxvKUMociktMi43MDUgRSBGMig8bmV3bGluZT4pCisyLjcwNSBFIEYwIDUuMjA1KC5BKUMgLjIwNAorKGRvdWJsZSBxdW90ZSBtYXkgYmUgcXVvdGVkIHdpdGhpbiBkb3VibGUgcXVvdGVzIGJ5IHByZS0pLTIuNSBGIC4wODEKIChjZWRpbmcgaXQgd2l0aCBhIGJhY2tzbGFzaC4pMTA4IDYxMiBSIC4wODIoSWYgZW5hYmxlZCwgaGlzdG9yeSBlKTUuMDgyCi1GIC4wODIoeHBhbnNpb24gd2lsbCBiZSBwZXJmb3JtZWQgdW5sZXNzIGFuKS0uMTUgRiBGMighKTIuNTgxIEUgRjAgLjA4MQotKGFwcGVhcmluZyBpbiBkb3VibGUpNS4wODEgRihxdW90ZXMgaXMgZXNjYXBlZCB1c2luZyBhIGJhY2tzbGFzaC4pMTA4CitGIC4wODIoeHBhbnNpb24gd2lsbCBiZSBwZXJmb3JtZWQgdW5sZXNzIGFuKS0uMTUgRiBGMighKTIuNTgyIEUgRjAgLjA4MgorKGFwcGVhcmluZyBpbiBkb3VibGUpNS4wODIgRihxdW90ZXMgaXMgZXNjYXBlZCB1c2luZyBhIGJhY2tzbGFzaC4pMTA4CiA2MjQgUShUaGUgYmFja3NsYXNoIHByZWNlZGluZyB0aGUpNSBFIEYyKCEpMi41IEUgRjAoaXMgbm90IHJlbW8pNSBFIC0uMTUKICh2ZSktLjE1IEcoZC4pLjE1IEUoVGhlIHNwZWNpYWwgcGFyYW1ldGVycykxMDggNjQwLjggUSBGMigqKTIuNSBFIEYwCiAoYW5kKTIuNSBFIEYyKEApMi41IEUgRjAoaGEpMi41IEUgLjMgLS4xNSh2ZSBzKS0uMiBICiAocGVjaWFsIG1lYW5pbmcgd2hlbiBpbiBkb3VibGUgcXVvdGVzIFwoc2VlKS4xNSBFIEYzIC0uNjY2KFBBKTIuNSBHCi0oUkFNRVRFUlMpLjY2NiBFIEYwKGJlbG8pMi4yNSBFKHdcKS4pLS4yNSBFIC0uOChXbykxMDggNjU3LjYgUyAuMjExCi0ocmRzIG9mIHRoZSBmb3JtKS44IEYgRjIoJCkyLjcxMSBFIEYwPDA4PkEgRjEoc3RyaW5nKUEgRjAgMi43MTE8MDg2MT5DCi0uMjExKHJlIHRyZWF0ZWQgc3BlY2lhbGx5KS0yLjcxMSBGIDUuMjExKC5UKS0uNjUgRyAuMjExKGhlIHcpLTUuMjExIEYKLS4yMTEob3JkIGUpLS4xIEYgLjIxMih4cGFuZHMgdG8pLS4xNSBGIEYxKHN0cmluZykyLjcxMiBFIEYwIDIuNzEyKCx3KUMKLS4yMTIoaXRoIGJhY2tzbGFzaC1lc2NhcGVkIGNoYXIpLTIuNzEyIEYoLSktLjIgRSAuNjA1Ci0oYWN0ZXJzIHJlcGxhY2VkIGFzIHNwZWNpXDIxNGVkIGJ5IHRoZSBBTlNJIEMgc3RhbmRhcmQuKTEwOCA2NjkuNiBSIC42MDQKKyhSQU1FVEVSUykuNjY2IEUgRjAoYmVsbykyLjI1IEUod1wpLiktLjI1IEUgLS44KFdvKTEwOCA2NTcuNiBTIC4yMTIKKyhyZHMgb2YgdGhlIGZvcm0pLjggRiBGMigkKTIuNzEyIEUgRjA8MDg+QSBGMShzdHJpbmcpQSBGMCAyLjcxMjwwODYxPkMKKy4yMTEocmUgdHJlYXRlZCBzcGVjaWFsbHkpLTIuNzEyIEYgNS4yMTEoLlQpLS42NSBHIC4yMTEoaGUgdyktNS4yMTEgRgorLjIxMShvcmQgZSktLjEgRiAuMjExKHhwYW5kcyB0byktLjE1IEYgRjEoc3RyaW5nKTIuNzExIEUgRjAgMi43MTEoLHcpQworLjIxMShpdGggYmFja3NsYXNoLWVzY2FwZWQgY2hhciktMi43MTEgRigtKS0uMiBFIC42MDQKKyhhY3RlcnMgcmVwbGFjZWQgYXMgc3BlY2lcMjE0ZWQgYnkgdGhlIEFOU0kgQyBzdGFuZGFyZC4pMTA4IDY2OS42IFIgLjYwNQogKEJhY2tzbGFzaCBlc2NhcGUgc2VxdWVuY2VzLCBpZiBwcmVzZW50LCBhcmUgZGVjb2RlZCk1LjYwNSBGKGFzIGZvbGxvKQogMTA4IDY4MS42IFEod3M6KS0uMjUgRSBGMihcXGEpMTQ0IDY5My42IFEgRjAoYWxlcnQgXChiZWxsXCkpMjguMjIgRSBGMgogKFxcYikxNDQgNzA1LjYgUSBGMChiYWNrc3BhY2UpMjcuNjYgRSBGMihcXGUpMTQ0IDcxNy42IFEgRjAKLShhbiBlc2NhcGUgY2hhcmFjdGVyKTI4Ljc4IEUoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDkgRmVicnVhcnkgNykKLTE0MC45NiBFKDcpMTk1Ljk1IEUgMCBDZyBFUAorKEdOVSBCYXNoLTQuMSk3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg3KTE5MC45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDggOAogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoXFxmKTE0NCA4NCBRIEYwKGZvcm0gZmVlZCkyOS44OSBFIEYxKFxcbikKLTE0NCA5NiBRIEYwKG5lKTI3LjY2IEUgMi41KHdsKS0uMjUgRyhpbmUpLTIuNSBFIEYxKFxccikxNDQgMTA4IFEgRjAKLShjYXJyaWFnZSByZXR1cm4pMjguNzggRSBGMShcXHQpMTQ0IDEyMCBRIEYwKGhvcml6b250YWwgdGFiKTI5Ljg5IEUgRjEKLShcXHYpMTQ0IDEzMiBRIEYwIC0uMTUodmUpMjguMjIgRyhydGljYWwgdGFiKS4xNSBFIEYxKFxcXFwpMTQ0IDE0NCBRIEYwCi0oYmFja3NsYXNoKTMwLjQ0IEUgRjE8NWMwOD4xNDQgMTU2IFEgRjAoc2luZ2xlIHF1b3RlKTMwLjQ0IEUgRjEoXFwpMTQ0Ci0xNjggUS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihubm4pQSBGMCh0aGUgZWlnaHQtYml0IGNoYXJhY3RlciB3aG9zZSB2KQotMTguMjIgRShhbHVlIGlzIHRoZSBvY3RhbCB2KS0uMjUgRShhbHVlKS0uMjUgRSBGMihubm4pMi41IEUgRjAKLShcKG9uZSB0byB0aHJlZSBkaWdpdHNcKSkyLjUgRSBGMShcXHgpMTQ0IDE4MCBRIEYyKEhIKUEgRjAKLSh0aGUgZWlnaHQtYml0IGNoYXJhY3RlciB3aG9zZSB2KTEzLjc4IEUoYWx1ZSBpcyB0aGUgaGUpLS4yNSBFCi0oeGFkZWNpbWFsIHYpLS4xNSBFKGFsdWUpLS4yNSBFIEYyKEhIKTIuNSBFIEYwKFwob25lIG9yIHR3KTIuNSBFIDIuNShvaCkKLS0uMSBHIC4zIC0uMTUoZXggZCktMi41IEgoaWdpdHNcKSkuMTUgRSBGMShcXGMpMTQ0IDE5MiBRIEYyKHgpQSBGMCAyLjUKLShhYykyNC4zNCBHKG9udHJvbC0pLTIuNSBFIEYyKHgpQSBGMChjaGFyYWN0ZXIpMi41IEUoVGhlIGUpMTA4IDIwOC44IFEoXAoteHBhbmRlZCByZXN1bHQgaXMgc2luZ2xlLXF1b3RlZCwgYXMgaWYgdGhlIGRvbGxhciBzaWduIGhhZCBub3QgYmVlbiBwcmVcCi1zZW50LiktLjE1IEUgMi45ODUoQWQpMTA4IDIyNS42IFMgLjQ4NQotKG91YmxlLXF1b3RlZCBzdHJpbmcgcHJlY2VkZWQgYnkgYSBkb2xsYXIgc2lnbiBcKCktMi45ODUgRiBGMSgkKUEgRjAKLTIuOTg2KFwpdylDIC40ODYoaWxsIGNhdXNlIHRoZSBzdHJpbmcgdG8gYmUgdHJhbnNsYXRlZCBhY2NvcmRpbmcgdG8gdGhlKQotLTIuOTg2IEYgLjExOChjdXJyZW50IGxvY2FsZS4pMTA4IDIzNy42IFIgLjExOChJZiB0aGUgY3VycmVudCBsb2NhbGUgaXMpCi01LjExOCBGIEYxKEMpMi42MTggRSBGMChvcikyLjYxOCBFIEYxKFBPU0lYKTIuNjE4IEUgRjAgMi42MTgoLHQpQyAuMTE3Ci0oaGUgZG9sbGFyIHNpZ24gaXMgaWdub3JlZC4pLTIuNjE4IEYgLjExNwotKElmIHRoZSBzdHJpbmcgaXMgdHJhbnNsYXRlZCBhbmQpNS4xMTcgRgotKHJlcGxhY2VkLCB0aGUgcmVwbGFjZW1lbnQgaXMgZG91YmxlLXF1b3RlZC4pMTA4IDI0OS42IFEvRjMgMTAuOTUKLS9UaW1lcy1Cb2xkQDAgU0YgLS44MShQQSk3MiAyNjYuNCBTKFJBTUVURVJTKS44MSBFIEYwKEEpMTA4IDI3OC40IFEgRjIKLShwYXIpNC41OTIgRShhbWV0ZXIpLS4xNSBFIEYwIC44NDIoaXMgYW4gZW50aXR5IHRoYXQgc3RvcmVzIHYpNC4wNzIgRgotMy4zNDIoYWx1ZXMuIEl0KS0uMjUgRiAuODQyKGNhbiBiZSBhKTMuMzQyIEYgRjIobmFtZSkzLjM0MyBFIEYwIDMuMzQzCi0oLGFuKS4xOCBHKHVtYmVyKS0zLjM0MyBFIDMuMzQzKCxvKS0uNCBHIDMuMzQzKHJvKS0zLjM0MyBHIC44NDMKLShuZSBvZiB0aGUgc3BlY2lhbCBjaGFyYWN0ZXJzKS0zLjM0MyBGIC44MjMobGlzdGVkIGJlbG8pMTA4IDI5MC40IFIKKy0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoXFxFKTE0NCA4NCBRIEYwKGFuIGVzY2FwZSBjaGFyYWN0ZXIpMjYuNTUgRQorRjEoXFxmKTE0NCA5NiBRIEYwKGZvcm0gZmVlZCkyOS44OSBFIEYxKFxcbikxNDQgMTA4IFEgRjAobmUpMjcuNjYgRSAyLjUKKyh3bCktLjI1IEcoaW5lKS0yLjUgRSBGMShcXHIpMTQ0IDEyMCBRIEYwKGNhcnJpYWdlIHJldHVybikyOC43OCBFIEYxCisoXFx0KTE0NCAxMzIgUSBGMChob3Jpem9udGFsIHRhYikyOS44OSBFIEYxKFxcdikxNDQgMTQ0IFEgRjAgLS4xNSh2ZSkKKzI4LjIyIEcocnRpY2FsIHRhYikuMTUgRSBGMShcXFxcKTE0NCAxNTYgUSBGMChiYWNrc2xhc2gpMzAuNDQgRSBGMTw1YzA4PgorMTQ0IDE2OCBRIEYwKHNpbmdsZSBxdW90ZSkzMC40NCBFIEYxKFxcIikxNDQgMTgwIFEgRjAoZG91YmxlIHF1b3RlKTI3LjY3CitFIEYxKFxcKTE0NCAxOTIgUS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihubm4pQSBGMAorKHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHYpMTguMjIgRShhbHVlIGlzIHRoZSBvY3RhbCB2KS0uMjUgRQorKGFsdWUpLS4yNSBFIEYyKG5ubikyLjUgRSBGMChcKG9uZSB0byB0aHJlZSBkaWdpdHNcKSkyLjUgRSBGMShcXHgpMTQ0CisyMDQgUSBGMihISClBIEYwKHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHYpMTMuNzggRShhbHVlIGlzIHRoZSBoZSkKKy0uMjUgRSh4YWRlY2ltYWwgdiktLjE1IEUoYWx1ZSktLjI1IEUgRjIoSEgpMi41IEUgRjAoXChvbmUgb3IgdHcpMi41IEUKKzIuNShvaCktLjEgRyAuMyAtLjE1KGV4IGQpLTIuNSBIKGlnaXRzXCkpLjE1IEUgRjEoXFxjKTE0NCAyMTYgUSBGMih4KUEKK0YwIDIuNShhYykyNC4zNCBHKG9udHJvbC0pLTIuNSBFIEYyKHgpQSBGMChjaGFyYWN0ZXIpMi41IEUoVGhlIGUpMTA4CisyMzIuOCBRKHhwYW5kZWQgcmVzdWx0IGlzIHNpbmdsZS1xdW90ZWQsIGFzIGlmIHRoZSBkb2xsYXIgc2lnbiBoYWQgbm90IFwKK2JlZW4gcHJlc2VudC4pLS4xNSBFIDIuNjQoQWQpMTA4IDI0OS42IFMgLjE0Cisob3VibGUtcXVvdGVkIHN0cmluZyBwcmVjZWRlZCBieSBhIGRvbGxhciBzaWduIFwoKS0yLjY0IEYgRjEoJClBIEYwKCIpQQorRjIoc3RyaW5nKUEgRjAgLjE0KCJcKSB3aWxsIGNhdXNlIHRoZSBzdHJpbmcgdG8gYmUgdHJhbnNsYXRlZCBhY2NvcmRpbmcpCitCIC40OTUodG8gdGhlIGN1cnJlbnQgbG9jYWxlLikxMDggMjYxLjYgUiAuNDk1KElmIHRoZSBjdXJyZW50IGxvY2FsZSBpcykKKzUuNDk1IEYgRjEoQykyLjk5NSBFIEYwKG9yKTIuOTk1IEUgRjEoUE9TSVgpMi45OTUgRSBGMCAyLjk5NSgsdClDIC40OTUKKyhoZSBkb2xsYXIgc2lnbiBpcyBpZ25vcmVkLiktMi45OTUgRiAuNDk2KElmIHRoZSBzdHJpbmcgaXMgdHJhbnMtKTUuNDk2CitGKGxhdGVkIGFuZCByZXBsYWNlZCwgdGhlIHJlcGxhY2VtZW50IGlzIGRvdWJsZS1xdW90ZWQuKTEwOCAyNzMuNiBRL0YzCisxMC45NS9UaW1lcy1Cb2xkQDAgU0YgLS44MShQQSk3MiAyOTAuNCBTKFJBTUVURVJTKS44MSBFIEYwKEEpMTA4IDMwMi40IFEKK0YyKHBhcik0LjU5MyBFKGFtZXRlciktLjE1IEUgRjAgLjg0MyhpcyBhbiBlbnRpdHkgdGhhdCBzdG9yZXMgdik0LjA3MyBGCiszLjM0MyhhbHVlcy4gSXQpLS4yNSBGIC44NDMoY2FuIGJlIGEpMy4zNDMgRiBGMihuYW1lKTMuMzQyIEUgRjAgMy4zNDIKKygsYW4pLjE4IEcodW1iZXIpLTMuMzQyIEUgMy4zNDIoLG8pLS40IEcgMy4zNDIocm8pLTMuMzQyIEcgLjg0MgorKG5lIG9mIHRoZSBzcGVjaWFsIGNoYXJhY3RlcnMpLTMuMzQyIEYgLjgyMihsaXN0ZWQgYmVsbykxMDggMzE0LjQgUgogMy4zMjMod3UpLS4yNSBHKG5kZXIpLTMuMzIzIEUgRjEgLjgyMyhTcGVjaWFsIFApMy4zMjMgRihhcmFtZXRlcnMpLS4xIEUKIEYwIDUuODIzKC5BKUMgRjIodmFyaWFibGUpLTIuMjEgRSBGMCAuODIzKGlzIGEgcGFyYW1ldGVyIGRlbm90ZWQgYnkgYSkKIDMuNTAzIEYgRjIobmFtZSkzLjMyMyBFIEYwIDUuODIzKC5BKS4xOCBHIC0uMjUodmEpLTIuNSBHIC44MjMKLShyaWFibGUgaGFzIGEpLjI1IEYgRjIodmFsdWUpMTA4IDMwMi40IFEgRjAgLjM2OChhbmQgemVybyBvciBtb3JlKTIuODY4Ci1GIEYyKGF0dHJpYikyLjg2OCBFKHV0ZXMpLS4yIEUgRjAgNS4zNjkoLkEpQyh0dHJpYiktNS4zNjkgRSAuMzY5Ci0odXRlcyBhcmUgYXNzaWduZWQgdXNpbmcgdGhlKS0uMiBGIEYxKGRlY2xhcikyLjg2OSBFKGUpLS4xOCBFIEYwIC0uMihidSkKLTIuODY5IEcgLjM2OShpbHRpbiBjb21tYW5kIFwoc2VlKS4yIEYgRjEoZGVjbGFyKTIuODY5IEUoZSktLjE4IEUgRjAKLShiZWxvKTEwOCAzMTQuNCBRIDIuNSh3aSktLjI1IEcobiktMi41IEUvRjQgOS9UaW1lcy1Cb2xkQDAgU0YoU0hFTEwgQikKKyhyaWFibGUgaGFzIGEpLjI1IEYgRjIodmFsdWUpMTA4IDMyNi40IFEgRjAgLjM2OShhbmQgemVybyBvciBtb3JlKTIuODY5CitGIEYyKGF0dHJpYikyLjg2OSBFKHV0ZXMpLS4yIEUgRjAgNS4zNjkoLkEpQyh0dHJpYiktNS4zNjkgRSAuMzY5CisodXRlcyBhcmUgYXNzaWduZWQgdXNpbmcgdGhlKS0uMiBGIEYxKGRlY2xhcikyLjg2OCBFKGUpLS4xOCBFIEYwIC0uMihidSkKKzIuODY4IEcgLjM2OChpbHRpbiBjb21tYW5kIFwoc2VlKS4yIEYgRjEoZGVjbGFyKTIuODY4IEUoZSktLjE4IEUgRjAKKyhiZWxvKTEwOCAzMzguNCBRIDIuNSh3aSktLjI1IEcobiktMi41IEUvRjQgOS9UaW1lcy1Cb2xkQDAgU0YoU0hFTEwgQikKIDIuNSBFKFVJTCktLjA5IEUoVElOIENPTU1BTkRTKS0uODI4IEUvRjUgOS9UaW1lcy1Sb21hbkAwIFNGKFwpLilBIEYwCi0yLjc1NShBcCkxMDggMzMxLjIgUyAuMjU1KGFyYW1ldGVyIGlzIHNldCBpZiBpdCBoYXMgYmVlbiBhc3NpZ25lZCBhIHYpCi0tMi43NTUgRiAyLjc1NChhbHVlLiBUaGUpLS4yNSBGIC4yNTQobnVsbCBzdHJpbmcgaXMgYSB2KTIuNzU0IEYgLjI1NAotKGFsaWQgdiktLjI1IEYgMi43NTQoYWx1ZS4gT25jZSktLjI1IEYgMi43NTQoYXYpMi43NTQgRyAuMjU0Ci0oYXJpYWJsZSBpcyBzZXQsIGl0KS0zLjAwNCBGKG1heSBiZSB1bnNldCBvbmx5IGJ5IHVzaW5nIHRoZSkxMDggMzQzLjIgUQorMi43NTQoQXApMTA4IDM1NS4yIFMgLjI1NChhcmFtZXRlciBpcyBzZXQgaWYgaXQgaGFzIGJlZW4gYXNzaWduZWQgYSB2KQorLTIuNzU0IEYgMi43NTQoYWx1ZS4gVGhlKS0uMjUgRiAuMjU0KG51bGwgc3RyaW5nIGlzIGEgdikyLjc1NCBGIC4yNTUKKyhhbGlkIHYpLS4yNSBGIDIuNzU1KGFsdWUuIE9uY2UpLS4yNSBGIDIuNzU1KGF2KTIuNzU1IEcgLjI1NQorKGFyaWFibGUgaXMgc2V0LCBpdCktMy4wMDUgRihtYXkgYmUgdW5zZXQgb25seSBieSB1c2luZyB0aGUpMTA4IDM2Ny4yIFEKIEYxKHVuc2V0KTIuNSBFIEYwIC0uMihidSkyLjUgRyhpbHRpbiBjb21tYW5kIFwoc2VlKS4yIEUgRjQoU0hFTEwgQikyLjUgRQotKFVJTCktLjA5IEUoVElOIENPTU1BTkRTKS0uODI4IEUgRjAoYmVsbykyLjI1IEUod1wpLiktLjI1IEUoQSkxMDggMzYwIFEKKyhVSUwpLS4wOSBFKFRJTiBDT01NQU5EUyktLjgyOCBFIEYwKGJlbG8pMi4yNSBFKHdcKS4pLS4yNSBFKEEpMTA4IDM4NCBRCiBGMih2YXJpYWJsZSkyLjc5IEUgRjAobWF5IGJlIGFzc2lnbmVkIHRvIGJ5IGEgc3RhdGVtZW50IG9mIHRoZSBmb3JtKTIuNjgKLUUgRjIobmFtZSkxNDQgMzc2LjggUSBGMCg9WylBIEYyKHZhbHVlKUEgRjAoXSlBKElmKTEwOCAzOTMuNiBRIEYyKHZhbHVlKQotMy4wMjIgRSBGMCAuMjMyKGlzIG5vdCBnaSkyLjkxMiBGIC0uMTUodmUpLS4yNSBHIC4yMzIobiwgdGhlIHYpLjE1IEYKLS4yMzIoYXJpYWJsZSBpcyBhc3NpZ25lZCB0aGUgbnVsbCBzdHJpbmcuKS0uMjUgRihBbGwpNS4yMzMgRSBGMih2YWx1ZXMpCi0zLjAyMyBFIEYwKHVuZGVyKTMuMDAzIEUgLjIzMyhnbyB0aWxkZSBlKS0uMTggRiAuMjMzCi0oeHBhbnNpb24sIHBhcmFtZXRlciktLjE1IEYgLjUxNShhbmQgdikxMDggNDA1LjYgUiAuNTE1KGFyaWFibGUgZSktLjI1IEYKK0UgRjIobmFtZSkxNDQgNDAwLjggUSBGMCg9WylBIEYyKHZhbHVlKUEgRjAoXSlBKElmKTEwOCA0MTcuNiBRIEYyKHZhbHVlKQorMy4wMjMgRSBGMCAuMjMzKGlzIG5vdCBnaSkyLjkxMyBGIC0uMTUodmUpLS4yNSBHIC4yMzMobiwgdGhlIHYpLjE1IEYKKy4yMzIoYXJpYWJsZSBpcyBhc3NpZ25lZCB0aGUgbnVsbCBzdHJpbmcuKS0uMjUgRihBbGwpNS4yMzIgRSBGMih2YWx1ZXMpCiszLjAyMiBFIEYwKHVuZGVyKTMuMDAyIEUgLjIzMihnbyB0aWxkZSBlKS0uMTggRiAuMjMyCisoeHBhbnNpb24sIHBhcmFtZXRlciktLjE1IEYgLjUxNShhbmQgdikxMDggNDI5LjYgUiAuNTE1KGFyaWFibGUgZSktLjI1IEYKIC41MTUoeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhcml0aG1ldGljIGUpLS4xNSBGIC41MTUKICh4cGFuc2lvbiwgYW5kIHF1b3RlIHJlbW8pLS4xNSBGIC0uMjUodmEpLS4xNSBHIDMuMDE1KGxcKCkuMjUgRyhzZWUpCi0tMy4wMTUgRSBGNChFWFApMy4wMTUgRShBTlNJT04pLS42NjYgRSBGMChiZWxvKTEwOCA0MTcuNiBRIDIuNjk4Ci0od1wpLiBJZiktLjI1IEYgLjE5OCh0aGUgdikyLjY5OCBGIC4xOTgoYXJpYWJsZSBoYXMgaXRzKS0uMjUgRiBGMQorLTMuMDE1IEUgRjQoRVhQKTMuMDE1IEUoQU5TSU9OKS0uNjY2IEUgRjAoYmVsbykxMDggNDQxLjYgUSAyLjY5OQorKHdcKS4gSWYpLS4yNSBGIC4xOTkodGhlIHYpMi42OTkgRiAuMTk5KGFyaWFibGUgaGFzIGl0cyktLjI1IEYgRjEKIChpbnRlZ2VyKTIuNjk4IEUgRjAoYXR0cmliKTIuNjk4IEUgLjE5OCh1dGUgc2V0LCB0aGVuKS0uMiBGIEYyKHZhbHVlKQotMi45ODggRSBGMCAuMTk4KGlzIGUpMi44NzggRiAtLjI1KHZhKS0uMjUgRyAuMTk5Ci0obHVhdGVkIGFzIGFuIGFyaXRobWV0aWMgZSkuMjUgRiAuMTk5KHhwcmVzc2lvbiBlKS0uMTUgRiAtLjE1KHZlKS0uMjUgRwotKG4pLjE1IEUgLjkwMihpZiB0aGUgJFwoXCguLi5cKVwpIGUpMTA4IDQyOS42IFIgLjkwMgorMi45ODggRSBGMCAuMTk4KGlzIGUpMi44NzggRiAtLjI1KHZhKS0uMjUgRyAuMTk4CisobHVhdGVkIGFzIGFuIGFyaXRobWV0aWMgZSkuMjUgRiAuMTk4KHhwcmVzc2lvbiBlKS0uMTUgRiAtLjE1KHZlKS0uMjUgRworKG4pLjE1IEUgLjkwMShpZiB0aGUgJFwoXCguLi5cKVwpIGUpMTA4IDQ1My42IFIgLjkwMQogKHhwYW5zaW9uIGlzIG5vdCB1c2VkIFwoc2VlKS0uMTUgRiBGMSAuOTAxKEFyaXRobWV0aWMgRXhwYW5zaW9uKTMuNDAxIEYKLUYwKGJlbG8pMy40MDEgRSAzLjQwMSh3XCkuIFcpLS4yNSBGIC45MDEKLShvcmQgc3BsaXR0aW5nIGlzIG5vdCBwZXJmb3JtZWQsKS0uOCBGIDEuMTc4KHdpdGggdGhlIGUpMTA4IDQ0MS42IFIKLTEuMTc4KHhjZXB0aW9uIG9mKS0uMTUgRiBGMSgiJEAiKTMuNjc4IEUgRjAgMS4xNzgoYXMgZSkzLjY3OCBGIDEuMTc5Ci0oeHBsYWluZWQgYmVsbyktLjE1IEYgMy42Nzkod3UpLS4yNSBHKG5kZXIpLTMuNjc5IEUgRjEgMS4xNzkoU3BlY2lhbCBQKQotMy42NzkgRihhcmFtZXRlcnMpLS4xIEUgRjAgNi4xNzkoLlApQyAxLjE3OShhdGhuYW1lIGUpLTYuMzI5IEYgMS4xNzkKLSh4cGFuc2lvbiBpcyBub3QpLS4xNSBGIDMuNjQ5KHBlcmZvcm1lZC4gQXNzaWdubWVudCkxMDggNDUzLjYgUiAxLjE0OQotKHN0YXRlbWVudHMgbWF5IGFsc28gYXBwZWFyIGFzIGFyKTMuNjQ5IEYgMS4xNDgoZ3VtZW50cyB0byB0aGUpLS4xOCBGIEYxCi0oYWxpYXMpMy42NDggRSBGMCgsKUEgRjEoZGVjbGFyKTMuNjQ4IEUoZSktLjE4IEUgRjAoLClBIEYxKHR5cGVzZXQpMy42NDgKLUUgRjAoLClBIEYxKGV4cG9ydCkzLjY0OCBFIEYwKCwpQSBGMSAtLjE4KHJlKTEwOCA0NjUuNiBTKGFkb25seSkuMTggRSBGMAorRjAoYmVsbykzLjQwMSBFIDMuNDAyKHdcKS4gVyktLjI1IEYgLjkwMgorKG9yZCBzcGxpdHRpbmcgaXMgbm90IHBlcmZvcm1lZCwpLS44IEYgMS4xNzkod2l0aCB0aGUgZSkxMDggNDY1LjYgUgorMS4xNzkoeGNlcHRpb24gb2YpLS4xNSBGIEYxKCIkQCIpMy42NzkgRSBGMCAxLjE3OShhcyBlKTMuNjc5IEYgMS4xNzkKKyh4cGxhaW5lZCBiZWxvKS0uMTUgRiAzLjY3OSh3dSktLjI1IEcobmRlciktMy42NzkgRSBGMSAxLjE3OChTcGVjaWFsIFApCiszLjY3OCBGKGFyYW1ldGVycyktLjEgRSBGMCA2LjE3OCguUClDIDEuMTc4KGF0aG5hbWUgZSktNi4zMjggRiAxLjE3OAorKHhwYW5zaW9uIGlzIG5vdCktLjE1IEYgMy42NDgocGVyZm9ybWVkLiBBc3NpZ25tZW50KTEwOCA0NzcuNiBSIDEuMTQ4Cisoc3RhdGVtZW50cyBtYXkgYWxzbyBhcHBlYXIgYXMgYXIpMy42NDggRiAxLjE0OShndW1lbnRzIHRvIHRoZSktLjE4IEYgRjEKKyhhbGlhcykzLjY0OSBFIEYwKCwpQSBGMShkZWNsYXIpMy42NDkgRShlKS0uMTggRSBGMCgsKUEgRjEodHlwZXNldCkzLjY0OQorRSBGMCgsKUEgRjEoZXhwb3J0KTMuNjQ5IEUgRjAoLClBIEYxIC0uMTgocmUpMTA4IDQ4OS42IFMoYWRvbmx5KS4xOCBFIEYwCiAyLjUoLGEpQyhuZCktMi41IEUgRjEobG9jYWwpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluIGNvbW1hbmRzLikuMiBFCi0uMzc2KEluIHRoZSBjb250ZSkxMDggNDgyLjQgUiAuMzc2CisuMzc3KEluIHRoZSBjb250ZSkxMDggNTA2LjQgUiAuMzc3CiAoeHQgd2hlcmUgYW4gYXNzaWdubWVudCBzdGF0ZW1lbnQgaXMgYXNzaWduaW5nIGEgdiktLjE1IEYgLjM3NgotKGFsdWUgdG8gYSBzaGVsbCB2KS0uMjUgRiAuMzc3KGFyaWFibGUgb3IgYXJyYXkgaW5kZSktLjI1IEYgLjM3NworKGFsdWUgdG8gYSBzaGVsbCB2KS0uMjUgRiAuMzc2KGFyaWFibGUgb3IgYXJyYXkgaW5kZSktLjI1IEYgLjM3NgogKHgsIHRoZSArPSktLjE1IEYgLjI1NwotKG9wZXJhdG9yIGNhbiBiZSB1c2VkIHRvIGFwcGVuZCB0byBvciBhZGQgdG8gdGhlIHYpMTA4IDQ5NC40IFIoYXJpYWJsZScpCisob3BlcmF0b3IgY2FuIGJlIHVzZWQgdG8gYXBwZW5kIHRvIG9yIGFkZCB0byB0aGUgdikxMDggNTE4LjQgUihhcmlhYmxlJykKIC0uMjUgRSAyLjc1NyhzcCktLjU1IEcocmUpLTIuNzU3IEUgLjI1Nyh2aW91cyB2KS0uMjUgRiAyLjc1NyhhbHVlLiBXaGVuKQotLS4yNSBGIC4yNTcoKz0gaXMgYXBwbGllZCB0byBhIHYpMi43NTcgRihhcmlhYmxlKS0uMjUgRSAuMzcyCi0oZm9yIHdoaWNoIHRoZSBpbnRlKTEwOCA1MDYuNCBSIC4zNzIoZ2VyIGF0dHJpYiktLjE1IEYgLjM3MgorLS4yNSBGIC4yNTcoKz0gaXMgYXBwbGllZCB0byBhIHYpMi43NTcgRihhcmlhYmxlKS0uMjUgRSAuMzczCisoZm9yIHdoaWNoIHRoZSBpbnRlKTEwOCA1MzAuNCBSIC4zNzMoZ2VyIGF0dHJpYiktLjE1IEYgLjM3MgogKHV0ZSBoYXMgYmVlbiBzZXQsKS0uMiBGIEYyKHZhbHVlKTIuODcyIEUgRjAgLjM3MihpcyBlKTIuODcyIEYgLS4yNSh2YSkKLS0uMjUgRyAuMzcyKGx1YXRlZCBhcyBhbiBhcml0aG1ldGljIGUpLjI1IEYgLjM3MwotKHhwcmVzc2lvbiBhbmQgYWRkZWQgdG8gdGhlKS0uMTUgRiAtLjI1KHZhKTEwOCA1MTguNCBTKHJpYWJsZScpLjI1IEUKLTIuODg5KHNjKS0uNTUgRyAuMzg5KHVycmVudCB2KS0yLjg4OSBGIC4zODkoYWx1ZSwgd2hpY2ggaXMgYWxzbyBlKS0uMjUgRgorLS4yNSBHIC4zNzIobHVhdGVkIGFzIGFuIGFyaXRobWV0aWMgZSkuMjUgRiAuMzcyCisoeHByZXNzaW9uIGFuZCBhZGRlZCB0byB0aGUpLS4xNSBGIC0uMjUodmEpMTA4IDU0Mi40IFMocmlhYmxlJykuMjUgRQorMi44ODgoc2MpLS41NSBHIC4zODgodXJyZW50IHYpLTIuODg4IEYgLjM4OChhbHVlLCB3aGljaCBpcyBhbHNvIGUpLS4yNSBGCiAtLjI1KHZhKS0uMjUgRyAyLjg4OShsdWF0ZWQuIFdoZW4pLjI1IEYgLjM4OQotKCs9IGlzIGFwcGxpZWQgdG8gYW4gYXJyYXkgdikyLjg4OSBGIC4zODgoYXJpYWJsZSB1c2luZyBjb21wb3VuZCktLjI1IEYKLS4xODUoYXNzaWdubWVudCBcKHNlZSkxMDggNTMwLjQgUiBGMShBcnJheXMpMi42ODUgRSBGMChiZWxvKTIuNjg1IEUgLjE4NQorKCs9IGlzIGFwcGxpZWQgdG8gYW4gYXJyYXkgdikyLjg4OSBGIC4zODkoYXJpYWJsZSB1c2luZyBjb21wb3VuZCktLjI1IEYKKy4xODYoYXNzaWdubWVudCBcKHNlZSkxMDggNTU0LjQgUiBGMShBcnJheXMpMi42ODYgRSBGMChiZWxvKTIuNjg2IEUgLjE4NgogKHdcKSwgdGhlIHYpLS4yNSBGKGFyaWFibGUnKS0uMjUgRSAyLjY4NShzdiktLjU1IEcgLjE4NQotKGFsdWUgaXMgbm90IHVuc2V0IFwoYXMgaXQgaXMgd2hlbiB1c2luZyA9XCksIGFuZCBuZSktMi45MzUgRiAyLjY4Nih3dikKLS0uMjUgRyAuMTg2KGFsdWVzIGFyZSktMi45MzYgRiAxLjM4NShhcHBlbmRlZCB0byB0aGUgYXJyYXkgYmUpMTA4IDU0Mi40Ci1SIDEuMzg0KGdpbm5pbmcgYXQgb25lIGdyZWF0ZXIgdGhhbiB0aGUgYXJyYXknKS0uMTUgRiAzLjg4NChzbSktLjU1IEcKLTEuMzg0KGF4aW11bSBpbmRlKS0zLjg4NCBGIDMuODg0KHhcKCktLjE1IEcgMS4zODQoZm9yIGluZGUpLTMuODg0IEYgLS4xNQotKHhlKS0uMTUgRyAzLjg4NChkYSkuMTUgRyAxLjM4NChycmF5c1wpIG9yKS0zLjg4NCBGIC4xMjIKLShhZGRlZCBhcyBhZGRpdGlvbmFsIGspMTA4IDU1NC40IFIgLS4xNShleSktLjEgRzxhZDc2Pi4xNSBFIC4xMjIKKyhhbHVlIGlzIG5vdCB1bnNldCBcKGFzIGl0IGlzIHdoZW4gdXNpbmcgPVwpLCBhbmQgbmUpLTIuOTM1IEYgMi42ODUod3YpCistLjI1IEcgLjE4NShhbHVlcyBhcmUpLTIuOTM1IEYgMS4zODQoYXBwZW5kZWQgdG8gdGhlIGFycmF5IGJlKTEwOCA1NjYuNAorUiAxLjM4NChnaW5uaW5nIGF0IG9uZSBncmVhdGVyIHRoYW4gdGhlIGFycmF5JyktLjE1IEYgMy44ODUoc20pLS41NSBHCisxLjM4NShheGltdW0gaW5kZSktMy44ODUgRiAzLjg4NSh4XCgpLS4xNSBHIDEuMzg1KGZvciBpbmRlKS0zLjg4NSBGIC0uMTUKKyh4ZSktLjE1IEcgMy44ODUoZGEpLjE1IEcgMS4zODUocnJheXNcKSBvciktMy44ODUgRiAuMTIzCisoYWRkZWQgYXMgYWRkaXRpb25hbCBrKTEwOCA1NzguNCBSIC0uMTUoZXkpLS4xIEc8YWQ3Nj4uMTUgRSAuMTIzCiAoYWx1ZSBwYWlycyBpbiBhbiBhc3NvY2lhdGkpLS4yNSBGIC40MjMgLS4xNSh2ZSBhKS0uMjUgSChycmF5KS4xNSBFCi01LjEyMyguVyktLjY1IEcgLjEyMyhoZW4gYXBwbGllZCB0byBhIHN0cmluZy12KS01LjEyMyBGIC4xMjMoYWx1ZWQgdikKLS0uMjUgRihhcmlhYmxlLCktLjI1IEUgRjIodmFsdWUpMi42MjMgRSBGMChpcyBlKTEwOCA1NjYuNCBRCis1LjEyMyguVyktLjY1IEcgLjEyMihoZW4gYXBwbGllZCB0byBhIHN0cmluZy12KS01LjEyMyBGIC4xMjIoYWx1ZWQgdikKKy0uMjUgRihhcmlhYmxlLCktLjI1IEUgRjIodmFsdWUpMi42MjIgRSBGMChpcyBlKTEwOCA1OTAuNCBRCiAoeHBhbmRlZCBhbmQgYXBwZW5kZWQgdG8gdGhlIHYpLS4xNSBFKGFyaWFibGUnKS0uMjUgRSAyLjUoc3YpLS41NSBHCi0oYWx1ZS4pLTIuNzUgRSBGMSAtLjIoUG8pODcgNTgzLjIgUyhzaXRpb25hbCBQKS4yIEUoYXJhbWV0ZXJzKS0uMSBFIEYwCi0oQSkxMDggNTk1LjIgUSBGMiAuNzA2KHBvc2l0aW9uYWwgcGFyKTQuNDU2IEYoYW1ldGVyKS0uMTUgRSBGMCAuNzA2KGlzIFwKKyhhbHVlLiktMi43NSBFIEYxIC0uMihQbyk4NyA2MDcuMiBTKHNpdGlvbmFsIFApLjIgRShhcmFtZXRlcnMpLS4xIEUgRjAKKyhBKTEwOCA2MTkuMiBRIEYyIC43MDUocG9zaXRpb25hbCBwYXIpNC40NTUgRihhbWV0ZXIpLS4xNSBFIEYwIC43MDYoaXMgXAogYSBwYXJhbWV0ZXIgZGVub3RlZCBieSBvbmUgb3IgbW9yZSBkaWdpdHMsIG90aGVyIHRoYW4gdGhlIHNpbmdsZSBkaWdpdCBcCi0wLikzLjkzNiBGKFBvc2ktKTUuNzA1IEUgLjQ0NAotKHRpb25hbCBwYXJhbWV0ZXJzIGFyZSBhc3NpZ25lZCBmcm9tIHRoZSBzaGVsbCcpMTA4IDYwNy4yIFIgMi45NDQoc2EpCiswLikzLjkzNSBGKFBvc2ktKTUuNzA2IEUgLjQ0NQorKHRpb25hbCBwYXJhbWV0ZXJzIGFyZSBhc3NpZ25lZCBmcm9tIHRoZSBzaGVsbCcpMTA4IDYzMS4yIFIgMi45NDQoc2EpCiAtLjU1IEcgLS4xOChyZyktMi45NDQgRyAuNDQ0KHVtZW50cyB3aGVuIGl0IGlzIGluKS4xOCBGIC0uMih2byktLjQgRyAtLjEKLShrZSkuMiBHIC40NDUoZCwgYW5kIG1heSBiZSByZWFzc2lnbmVkIHVzaW5nKS4xIEYodGhlKTEwOCA2MTkuMiBRIEYxCi0oc2V0KTMuMzM0IEUgRjAgLS4yKGJ1KTMuMzM0IEcgLjgzNChpbHRpbiBjb21tYW5kLikuMiBGIC44MzMoUG9zaXRpb25hbFwKLSBwYXJhbWV0ZXJzIG1heSBub3QgYmUgYXNzaWduZWQgdG8gd2l0aCBhc3NpZ25tZW50IHN0YXRlbWVudHMuKTUuODM0IEYKLShUaGUpNS44MzMgRSAuMzM0KHBvc2l0aW9uYWwgcGFyYW1ldGVycyBhcmUgdGVtcG9yYXJpbHkgcmVwbGFjZWQgd2hlbiBhXAotIHNoZWxsIGZ1bmN0aW9uIGlzIGUpMTA4IDYzMS4yIFIgLS4xNSh4ZSktLjE1IEcgLjMzNChjdXRlZCBcKHNlZSkuMTUgRgotRjQoRlVOQ1RJT05TKTIuODM0IEUgRjAoYmVsbykyLjU4NCBFKHdcKS4pLS4yNSBFIDEuNDA0KFdoZW4gYSBwb3NpdGlvbmFcCi1sIHBhcmFtZXRlciBjb25zaXN0aW5nIG9mIG1vcmUgdGhhbiBhIHNpbmdsZSBkaWdpdCBpcyBlKTEwOCA2NDggUiAxLjQwMwotKHhwYW5kZWQsIGl0IG11c3QgYmUgZW5jbG9zZWQgaW4pLS4xNSBGKGJyYWNlcyBcKHNlZSkxMDggNjYwIFEgRjQoRVhQKQotMi41IEUoQU5TSU9OKS0uNjY2IEUgRjAoYmVsbykyLjI1IEUod1wpLiktLjI1IEUgRjEoU3BlY2lhbCBQKTg3IDY3Ni44IFEKLShhcmFtZXRlcnMpLS4xIEUgRjAgMS42NzQoVGhlIHNoZWxsIHRyZWF0cyBzZSkxMDggNjg4LjggUiAtLjE1KHZlKS0uMjUgRwotMS42NzQocmFsIHBhcmFtZXRlcnMgc3BlY2lhbGx5KS4xNSBGIDYuNjc1KC5UKS0uNjUgRyAxLjY3NQorKGtlKS4yIEcgLjQ0NChkLCBhbmQgbWF5IGJlIHJlYXNzaWduZWQgdXNpbmcpLjEgRih0aGUpMTA4IDY0My4yIFEgRjEKKyhzZXQpMy4zMzMgRSBGMCAtLjIoYnUpMy4zMzMgRyAuODMzKGlsdGluIGNvbW1hbmQuKS4yIEYgLjgzNChQb3NpdGlvbmFsXAorIHBhcmFtZXRlcnMgbWF5IG5vdCBiZSBhc3NpZ25lZCB0byB3aXRoIGFzc2lnbm1lbnQgc3RhdGVtZW50cy4pNS44MzMgRgorKFRoZSk1LjgzNCBFIC4zMzQocG9zaXRpb25hbCBwYXJhbWV0ZXJzIGFyZSB0ZW1wb3JhcmlseSByZXBsYWNlZCB3aGVuIGFcCisgc2hlbGwgZnVuY3Rpb24gaXMgZSkxMDggNjU1LjIgUiAtLjE1KHhlKS0uMTUgRyAuMzMzKGN1dGVkIFwoc2VlKS4xNSBGCitGNChGVU5DVElPTlMpMi44MzMgRSBGMChiZWxvKTIuNTgzIEUod1wpLiktLjI1IEUgMS40MDMoV2hlbiBhIHBvc2l0aW9uYVwKK2wgcGFyYW1ldGVyIGNvbnNpc3Rpbmcgb2YgbW9yZSB0aGFuIGEgc2luZ2xlIGRpZ2l0IGlzIGUpMTA4IDY3MiBSIDEuNDA0CisoeHBhbmRlZCwgaXQgbXVzdCBiZSBlbmNsb3NlZCBpbiktLjE1IEYoYnJhY2VzIFwoc2VlKTEwOCA2ODQgUSBGNChFWFApCisyLjUgRShBTlNJT04pLS42NjYgRSBGMChiZWxvKTIuMjUgRSh3XCkuKS0uMjUgRSBGMShTcGVjaWFsIFApODcgNzAwLjggUQorKGFyYW1ldGVycyktLjEgRSBGMCAxLjY3NShUaGUgc2hlbGwgdHJlYXRzIHNlKTEwOCA3MTIuOCBSIC0uMTUodmUpLS4yNSBHCisxLjY3NShyYWwgcGFyYW1ldGVycyBzcGVjaWFsbHkpLjE1IEYgNi42NzUoLlQpLS42NSBHIDEuNjc0CiAoaGVzZSBwYXJhbWV0ZXJzIG1heSBvbmx5IGJlIHJlZmVyZW5jZWQ7IGFzc2lnbm1lbnQgdG8pLTYuNjc1IEYKLSh0aGVtIGlzIG5vdCBhbGxvKTEwOCA3MDAuOCBRKHdlZC4pLS4yNSBFIEYxKCopMTA4IDcxMi44IFEgRjAgLjYwNgotKEV4cGFuZHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycywgc3RhcnRpbmcgZnJvbSBvbmUuKTMxIEYgLjYwNQotKFdoZW4gdGhlIGUpNS42MDUgRiAuNjA1KHhwYW5zaW9uIG9jY3VycyB3aXRoaW4gZG91LSktLjE1IEYgMS40MzIKLShibGUgcXVvdGVzLCBpdCBlKTE0NCA3MjQuOCBSIDEuNDMyKHhwYW5kcyB0byBhIHNpbmdsZSB3KS0uMTUgRiAxLjQzMgotKG9yZCB3aXRoIHRoZSB2KS0uMSBGIDEuNDMzCi0oYWx1ZSBvZiBlYWNoIHBhcmFtZXRlciBzZXBhcmF0ZWQgYnkgdGhlIFwyMTRyc3QpLS4yNSBGKEdOVSBCYXNoLTQuMCk3MgotNzY4IFEoMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFKDgpMTk1Ljk1IEUgMCBDZyBFUAorKHRoZW0gaXMgbm90IGFsbG8pMTA4IDcyNC44IFEod2VkLiktLjI1IEUoR05VIEJhc2gtNC4xKTcyIDc2OCBRCisoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoOCkxOTAuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiA5IDkKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUgLjMzNShjaGFyYWN0ZXIgb2YgdGhlKTE0NCA4NCBSL0YxIDkvVGltZXMtQm9sZEAwIFNGKElGUykyLjgzNSBFCi1GMCAuMzM1KHNwZWNpYWwgdikyLjU4NSBGIDIuODM1KGFyaWFibGUuIFRoYXQpLS4yNSBGIC4zMzUoaXMsICIpMi44MzUgRgotL0YyIDEwL1RpbWVzLUJvbGRAMCBTRigkKilBIEYwIDIuODM0KCJpKUMgMi44MzQoc2UpLTIuODM0IEcocXVpKS0yLjgzNCBFCi0tLjI1KHZhKS0uMjUgRyAuMzM0KGxlbnQgdG8gIikuMjUgRiBGMigkMSlBL0YzIDEwL1RpbWVzLUl0YWxpY0AwIFNGKGMpQQotRjIoJDIpQSBGMyhjKUEgRjIoLi4uKUEgRjAgLjMzNCgiLCB3aGVyZSlCIEYzKGMpMy4wMzQgRSBGMCAuMzM0Ci0oaXMgdGhlIFwyMTRyc3QpMy4xNDQgRiAuNDg3KGNoYXJhY3RlciBvZiB0aGUgdikxNDQgOTYgUiAuNDg3Ci0oYWx1ZSBvZiB0aGUpLS4yNSBGIEYxKElGUykyLjk4NyBFIEYwIC0uMjUodmEpMi43MzcgRyAyLjk4NyhyaWFibGUuIElmKQotLjI1IEYgRjEoSUZTKTIuOTg3IEUgRjAgLjQ4NwotKGlzIHVuc2V0LCB0aGUgcGFyYW1ldGVycyBhcmUgc2VwYXJhdGVkIGJ5IHNwYWNlcy4pMi43MzcgRihJZikxNDQgMTA4IFEKLUYxKElGUykyLjUgRSBGMChpcyBudWxsLCB0aGUgcGFyYW1ldGVycyBhcmUgam9pbmVkIHdpdGhvdXQgaW50ZXJ2KTIuMjUgRQotKGVuaW5nIHNlcGFyYXRvcnMuKS0uMTUgRSBGMihAKTEwOCAxMjAgUSBGMCAuNjA2Ci0oRXhwYW5kcyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLCBzdGFydGluZyBmcm9tIG9uZS4pMjYuNyBGIC42MDUKLShXaGVuIHRoZSBlKTUuNjA1IEYgLjYwNSh4cGFuc2lvbiBvY2N1cnMgd2l0aGluIGRvdS0pLS4xNSBGIC4xMTMKLShibGUgcXVvdGVzLCBlYWNoIHBhcmFtZXRlciBlKTE0NCAxMzIgUiAuMTEzKHhwYW5kcyB0byBhIHNlcGFyYXRlIHcpLS4xNQotRiAyLjYxNChvcmQuIFRoYXQpLS4xIEYgLjExNChpcywgIikyLjYxNCBGIEYyKCRAKUEgRjAgMi42MTQoImkpQyAyLjYxNAotKHNlKS0yLjYxNCBHKHF1aSktMi42MTQgRSAtLjI1KHZhKS0uMjUgRyAuMTE0KGxlbnQgdG8gIikuMjUgRiBGMigkMSlBIEYwCi0yLjYxNCgiIilDIEYyKCQyKS0yLjYxNCBFIEYwIDIuNjE0KCIuKUMoLi4pLTIuNjE0IEUgLjEzNQotKElmIHRoZSBkb3VibGUtcXVvdGVkIGUpMTQ0IDE0NCBSIC4xMzUoeHBhbnNpb24gb2NjdXJzIHdpdGhpbiBhIHcpLS4xNSBGCi0uMTM1KG9yZCwgdGhlIGUpLS4xIEYgLjEzNCh4cGFuc2lvbiBvZiB0aGUgXDIxNHJzdCBwYXJhbWV0ZXIgaXMgam9pbmVkKQotLS4xNSBGIC4xNSh3aXRoIHRoZSBiZSkxNDQgMTU2IFIgLjE1KGdpbm5pbmcgcGFydCBvZiB0aGUgb3JpZ2luYWwgdyktLjE1Ci1GIC4xNTEob3JkLCBhbmQgdGhlIGUpLS4xIEYgLjE1MQotKHhwYW5zaW9uIG9mIHRoZSBsYXN0IHBhcmFtZXRlciBpcyBqb2luZWQgd2l0aCktLjE1IEYgLjMzOAotKHRoZSBsYXN0IHBhcnQgb2YgdGhlIG9yaWdpbmFsIHcpMTQ0IDE2OCBSIDIuODM4KG9yZC4gV2hlbiktLjEgRiAuMzM3Ci0odGhlcmUgYXJlIG5vIHBvc2l0aW9uYWwgcGFyYW1ldGVycywgIikyLjgzOCBGIEYyKCRAKUEgRjAgMi44MzcoImEpQyhuZCkKLS0yLjgzNyBFIEYyKCRAKTIuODM3IEUgRjAgLS4xNShleCkyLjgzNyBHKHBhbmQpLjE1IEUKLSh0byBub3RoaW5nIFwoaS5lLiwgdGhlKTE0NCAxODAgUSAyLjUoeWEpLS4xNSBHKHJlIHJlbW8pLTIuNSBFIC0uMTUodmUpCi0tLjE1IEcoZFwpLikuMTUgRSBGMigjKTEwOCAxOTIgUSBGMAotKEV4cGFuZHMgdG8gdGhlIG51bWJlciBvZiBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgaW4gZGVjaW1hbC4pMzEgRSBGMig/KQotMTA4IDIwNCBRIEYwKEV4cGFuZHMgdG8gdGhlIGUpMzEgRSh4aXQgc3RhdHVzIG9mIHRoZSBtb3N0IHJlY2VudGx5IGUpCi0tLjE1IEUgLS4xNSh4ZSktLjE1IEcoY3V0ZWQgZm9yZSkuMTUgRShncm91bmQgcGlwZWxpbmUuKS0uMTUgRSBGMjxhZD4xMDgKLTIxNiBRIEYwIC44ODEKKy0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoKikxMDggODQgUSBGMCAuNjA1CisoRXhwYW5kcyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLCBzdGFydGluZyBmcm9tIG9uZS4pMzEgRiAuNjA2CisoV2hlbiB0aGUgZSk1LjYwNSBGIC42MDYoeHBhbnNpb24gb2NjdXJzIHdpdGhpbiBkb3UtKS0uMTUgRiAuMDg0CisoYmxlIHF1b3RlcywgaXQgZSkxNDQgOTYgUiAuMDg0KHhwYW5kcyB0byBhIHNpbmdsZSB3KS0uMTUgRiAuMDg0Cisob3JkIHdpdGggdGhlIHYpLS4xIEYgLjA4NAorKGFsdWUgb2YgZWFjaCBwYXJhbWV0ZXIgc2VwYXJhdGVkIGJ5IHRoZSBcMjE0cnN0IGNoYXIpLS4yNSBGKC0pLS4yIEUKKy4wMDMoYWN0ZXIgb2YgdGhlKTE0NCAxMDggUi9GMiA5L1RpbWVzLUJvbGRAMCBTRihJRlMpMi41MDMgRSBGMCAuMDAzCisoc3BlY2lhbCB2KTIuMjUzIEYgMi41MDMoYXJpYWJsZS4gVGhhdCktLjI1IEYgLjAwMyhpcywgIikyLjUwMyBGIEYxKCQqKUEKK0YwIDIuNTAzKCJpKUMgMi41MDMoc2UpLTIuNTAzIEcocXVpKS0yLjUwMyBFIC0uMjUodmEpLS4yNSBHIC4wMDMKKyhsZW50IHRvICIpLjI1IEYgRjEoJDEpQS9GMyAxMC9UaW1lcy1JdGFsaWNAMCBTRihjKUEgRjEoJDIpQSBGMyhjKUEgRjEKKyguLi4pQSBGMCAuMDAzKCIsIHdoZXJlKUIgRjMoYykyLjcwMyBFIEYwIC4wMDQoaXMgdGhlIFwyMTRyc3QgY2hhcikyLjgxMworRigtKS0uMiBFIC43NjkoYWN0ZXIgb2YgdGhlIHYpMTQ0IDEyMCBSIC43NjkoYWx1ZSBvZiB0aGUpLS4yNSBGIEYyKElGUykKKzMuMjY5IEUgRjAgLS4yNSh2YSkzLjAxOSBHIDMuMjY5KHJpYWJsZS4gSWYpLjI1IEYgRjIoSUZTKTMuMjY4IEUgRjAgLjc2OAorKGlzIHVuc2V0LCB0aGUgcGFyYW1ldGVycyBhcmUgc2VwYXJhdGVkIGJ5IHNwYWNlcy4pMy4wMTggRihJZik1Ljc2OCBFIEYyCisoSUZTKTE0NCAxMzIgUSBGMChpcyBudWxsLCB0aGUgcGFyYW1ldGVycyBhcmUgam9pbmVkIHdpdGhvdXQgaW50ZXJ2KTIuMjUKK0UoZW5pbmcgc2VwYXJhdG9ycy4pLS4xNSBFIEYxKEApMTA4IDE0NCBRIEYwIC42MDUKKyhFeHBhbmRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMsIHN0YXJ0aW5nIGZyb20gb25lLikyNi43IEYgLjYwNgorKFdoZW4gdGhlIGUpNS42MDUgRiAuNjA2KHhwYW5zaW9uIG9jY3VycyB3aXRoaW4gZG91LSktLjE1IEYgLjExNAorKGJsZSBxdW90ZXMsIGVhY2ggcGFyYW1ldGVyIGUpMTQ0IDE1NiBSIC4xMTQoeHBhbmRzIHRvIGEgc2VwYXJhdGUgdyktLjE1CitGIDIuNjE0KG9yZC4gVGhhdCktLjEgRiAuMTEzKGlzLCAiKTIuNjEzIEYgRjEoJEApQSBGMCAyLjYxMygiaSlDIDIuNjEzCisoc2UpLTIuNjEzIEcocXVpKS0yLjYxMyBFIC0uMjUodmEpLS4yNSBHIC4xMTMobGVudCB0byAiKS4yNSBGIEYxKCQxKUEgRjAKKzIuNjEzKCIiKUMgRjEoJDIpLTIuNjEzIEUgRjAgMi42MTMoIi4pQyguLiktMi42MTMgRSAuMTM0CisoSWYgdGhlIGRvdWJsZS1xdW90ZWQgZSkxNDQgMTY4IFIgLjEzNCh4cGFuc2lvbiBvY2N1cnMgd2l0aGluIGEgdyktLjE1IEYKKy4xMzUob3JkLCB0aGUgZSktLjEgRiAuMTM1KHhwYW5zaW9uIG9mIHRoZSBcMjE0cnN0IHBhcmFtZXRlciBpcyBqb2luZWQpCistLjE1IEYgLjE1MSh3aXRoIHRoZSBiZSkxNDQgMTgwIFIgLjE1MShnaW5uaW5nIHBhcnQgb2YgdGhlIG9yaWdpbmFsIHcpCistLjE1IEYgLjE1MShvcmQsIGFuZCB0aGUgZSktLjEgRiAuMTUKKyh4cGFuc2lvbiBvZiB0aGUgbGFzdCBwYXJhbWV0ZXIgaXMgam9pbmVkIHdpdGgpLS4xNSBGIC4zMzcKKyh0aGUgbGFzdCBwYXJ0IG9mIHRoZSBvcmlnaW5hbCB3KTE0NCAxOTIgUiAyLjgzNyhvcmQuIFdoZW4pLS4xIEYgLjMzOAorKHRoZXJlIGFyZSBubyBwb3NpdGlvbmFsIHBhcmFtZXRlcnMsICIpMi44MzcgRiBGMSgkQClBIEYwIDIuODM4KCJhKUMobmQpCistMi44MzggRSBGMSgkQCkyLjgzOCBFIEYwIC0uMTUoZXgpMi44MzggRyhwYW5kKS4xNSBFCisodG8gbm90aGluZyBcKGkuZS4sIHRoZSkxNDQgMjA0IFEgMi41KHlhKS0uMTUgRyhyZSByZW1vKS0yLjUgRSAtLjE1KHZlKQorLS4xNSBHKGRcKS4pLjE1IEUgRjEoIykxMDggMjE2IFEgRjAKKyhFeHBhbmRzIHRvIHRoZSBudW1iZXIgb2YgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIGluIGRlY2ltYWwuKTMxIEUgRjEoPykKKzEwOCAyMjggUSBGMChFeHBhbmRzIHRvIHRoZSBlKTMxIEUoeGl0IHN0YXR1cyBvZiB0aGUgbW9zdCByZWNlbnRseSBlKQorLS4xNSBFIC0uMTUoeGUpLS4xNSBHKGN1dGVkIGZvcmUpLjE1IEUoZ3JvdW5kIHBpcGVsaW5lLiktLjE1IEUgRjE8YWQ+MTA4CisyNDAgUSBGMCAuODgyCiAoRXhwYW5kcyB0byB0aGUgY3VycmVudCBvcHRpb24gXDIxNWFncyBhcyBzcGVjaVwyMTRlZCB1cG9uIGluKTMwLjMgRiAtLjIKLSh2byktLjQgRyAuODgxKGNhdGlvbiwgYnkgdGhlKS4yIEYgRjIoc2V0KTMuMzgyIEUgRjAgLS4yKGJ1KTMuMzgyIEcgLjg4MgorKHZvKS0uNCBHIC44ODEoY2F0aW9uLCBieSB0aGUpLjIgRiBGMShzZXQpMy4zODEgRSBGMCAtLjIoYnUpMy4zODEgRyAuODgxCiAoaWx0aW4gY29tbWFuZCwgb3IpLjIgRih0aG9zZSBzZXQgYnkgdGhlIHNoZWxsIGl0c2VsZiBcKHN1Y2ggYXMgdGhlKTE0NAotMjI4IFEgRjI8YWQ2OT4yLjUgRSBGMChvcHRpb25cKS4pMi41IEUgRjIoJCkxMDggMjQwIFEgRjAgLjIxNAorMjUyIFEgRjE8YWQ2OT4yLjUgRSBGMChvcHRpb25cKS4pMi41IEUgRjEoJCkxMDggMjY0IFEgRjAgLjIxNAogKEV4cGFuZHMgdG8gdGhlIHByb2Nlc3MgSUQgb2YgdGhlIHNoZWxsLikzMSBGIC4yMTQKIChJbiBhIFwoXCkgc3Vic2hlbGwsIGl0IGUpNS4yMTQgRiAuMjE0CiAoeHBhbmRzIHRvIHRoZSBwcm9jZXNzIElEIG9mIHRoZSBjdXJyZW50KS0uMTUgRgotKHNoZWxsLCBub3QgdGhlIHN1YnNoZWxsLikxNDQgMjUyIFEgRjIoISkxMDggMjY0IFEgRjAKKyhzaGVsbCwgbm90IHRoZSBzdWJzaGVsbC4pMTQ0IDI3NiBRIEYxKCEpMTA4IDI4OCBRIEYwCiAoRXhwYW5kcyB0byB0aGUgcHJvY2VzcyBJRCBvZiB0aGUgbW9zdCByZWNlbnRseSBlKTMyLjY3IEUgLS4xNSh4ZSktLjE1IEcKLShjdXRlZCBiYWNrZ3JvdW5kIFwoYXN5bmNocm9ub3VzXCkgY29tbWFuZC4pLjE1IEUgRjIoMCkxMDggMjc2IFEgRjAKLTEuNjkxKEV4cGFuZHMgdG8gdGhlIG5hbWUgb2YgdGhlIHNoZWxsIG9yIHNoZWxsIHNjcmlwdC4pMzEgRiAxLjY5MgotKFRoaXMgaXMgc2V0IGF0IHNoZWxsIGluaXRpYWxpemF0aW9uLik2LjY5MiBGKElmKTYuNjkyIEUgRjIoYmFzaCk0LjE5MiBFCi1GMChpcyk0LjE5MiBFKGluKTE0NCAyODggUSAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMy4wNzgoZHcpLjEgRyAuNTc4Ci0oaXRoIGEgXDIxNGxlIG9mIGNvbW1hbmRzLCktMy4wNzggRiBGMigkMCkzLjA3OCBFIEYwIC41NzgKLShpcyBzZXQgdG8gdGhlIG5hbWUgb2YgdGhhdCBcMjE0bGUuKTMuMDc4IEYoSWYpNS41NzcgRSBGMihiYXNoKTMuMDc3IEUKLUYwIC41NzcoaXMgc3RhcnRlZCB3aXRoIHRoZSkzLjA3NyBGIEYyPGFkNjM+My4wNzcgRSBGMCAuMzY4Ci0ob3B0aW9uLCB0aGVuKTE0NCAzMDAgUiBGMigkMCkyLjg2OSBFIEYwIC4zNjkoaXMgc2V0IHRvIHRoZSBcMjE0cnN0IGFyKQorKGN1dGVkIGJhY2tncm91bmQgXChhc3luY2hyb25vdXNcKSBjb21tYW5kLikuMTUgRSBGMSgwKTEwOCAzMDAgUSBGMAorMS42OTIoRXhwYW5kcyB0byB0aGUgbmFtZSBvZiB0aGUgc2hlbGwgb3Igc2hlbGwgc2NyaXB0LikzMSBGIDEuNjkxCisoVGhpcyBpcyBzZXQgYXQgc2hlbGwgaW5pdGlhbGl6YXRpb24uKTYuNjkyIEYoSWYpNi42OTEgRSBGMShiYXNoKTQuMTkxIEUKK0YwKGlzKTQuMTkxIEUoaW4pMTQ0IDMxMiBRIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAzLjA3NyhkdykuMSBHIC41NzcKKyhpdGggYSBcMjE0bGUgb2YgY29tbWFuZHMsKS0zLjA3NyBGIEYxKCQwKTMuMDc3IEUgRjAgLjU3OAorKGlzIHNldCB0byB0aGUgbmFtZSBvZiB0aGF0IFwyMTRsZS4pMy4wNzcgRihJZik1LjU3OCBFIEYxKGJhc2gpMy4wNzggRQorRjAgLjU3OChpcyBzdGFydGVkIHdpdGggdGhlKTMuMDc4IEYgRjE8YWQ2Mz4zLjA3OCBFIEYwIC4zNjkKKyhvcHRpb24sIHRoZW4pMTQ0IDMyNCBSIEYxKCQwKTIuODY5IEUgRjAgLjM2OShpcyBzZXQgdG8gdGhlIFwyMTRyc3QgYXIpCiAyLjg2OSBGIC4zNjkoZ3VtZW50IGFmdGVyIHRoZSBzdHJpbmcgdG8gYmUgZSktLjE4IEYgLS4xNSh4ZSktLjE1IEcgLjM2OQotKGN1dGVkLCBpZiBvbmUgaXMgcHJlc2VudC4pLjE1IEYoT3RoZXIpNS4zNjkgRSgtKS0uMiBFCi0od2lzZSwgaXQgaXMgc2V0IHRvIHRoZSBcMjE0bGUgbmFtZSB1c2VkIHRvIGluKTE0NCAzMTIgUSAtLjIodm8pLS40IEcKLS0uMShrZSkuMiBHIEYyKGJhc2gpMi42IEUgRjAgMi41KCxhKUMgMi41KHNnKS0yLjUgRyAtMi4xNSAtLjI1KGl2IGUpLTIuNQotSCAyLjUobmIpLjI1IEcgMi41KHlhKS0yLjUgRyAtLjE4KHJnKS0yLjUgRyh1bWVudCB6ZXJvLikuMTggRSBGMihfKTEwOAotMzI0IFEgRjAgLjA1NShBdCBzaGVsbCBzdGFydHVwLCBzZXQgdG8gdGhlIGFic29sdXRlIHBhdGhuYW1lIHVzZWQgdG8gaW4pCi0zMSBGIC0uMih2byktLjQgRyAuMjU1IC0uMShrZSB0KS4yIEggLjA1NAotKGhlIHNoZWxsIG9yIHNoZWxsIHNjcmlwdCBiZWluZyBlKS4xIEYgLS4xNSh4ZSktLjE1IEcoY3V0ZWQpLjE1IEUgLjY5MQotKGFzIHBhc3NlZCBpbiB0aGUgZW4pMTQ0IDMzNiBSIC42OTEodmlyb25tZW50IG9yIGFyKS0uNCBGIC42OTEKLShndW1lbnQgbGlzdC4pLS4xOCBGKFN1YnNlcXVlbnRseSk1LjY5MSBFIDMuMTkxKCxlKS0uNjUgRyAuNjkyCi0oeHBhbmRzIHRvIHRoZSBsYXN0IGFyKS0zLjM0MSBGIC42OTIoZ3VtZW50IHRvIHRoZSktLjE4IEYocHJlKTE0NCAzNDggUQotLjU3MSh2aW91cyBjb21tYW5kLCBhZnRlciBlKS0uMjUgRiAzLjA3MSh4cGFuc2lvbi4gQWxzbyktLjE1IEYgLjU3MQotKHNldCB0byB0aGUgZnVsbCBwYXRobmFtZSB1c2VkIHRvIGluKTMuMDcxIEYgLS4yKHZvKS0uNCBHIC43NyAtLjEoa2UgZSkKLS4yIEggLjU3KGFjaCBjb21tYW5kKS4xIEYgLS4xNShleGUpMTQ0IDM2MCBTIDEuNgorKGN1dGVkLCBpZiBvbmUgaXMgcHJlc2VudC4pLjE1IEYoT3RoZXIpNS4zNjggRSgtKS0uMiBFCisod2lzZSwgaXQgaXMgc2V0IHRvIHRoZSBcMjE0bGUgbmFtZSB1c2VkIHRvIGluKTE0NCAzMzYgUSAtLjIodm8pLS40IEcKKy0uMShrZSkuMiBHIEYxKGJhc2gpMi42IEUgRjAgMi41KCxhKUMgMi41KHNnKS0yLjUgRyAtMi4xNSAtLjI1KGl2IGUpLTIuNQorSCAyLjUobmIpLjI1IEcgMi41KHlhKS0yLjUgRyAtLjE4KHJnKS0yLjUgRyh1bWVudCB6ZXJvLikuMTggRSBGMShfKTEwOAorMzQ4IFEgRjAgLjA1NChBdCBzaGVsbCBzdGFydHVwLCBzZXQgdG8gdGhlIGFic29sdXRlIHBhdGhuYW1lIHVzZWQgdG8gaW4pCiszMSBGIC0uMih2byktLjQgRyAuMjU1IC0uMShrZSB0KS4yIEggLjA1NQorKGhlIHNoZWxsIG9yIHNoZWxsIHNjcmlwdCBiZWluZyBlKS4xIEYgLS4xNSh4ZSktLjE1IEcoY3V0ZWQpLjE1IEUgLjY5MgorKGFzIHBhc3NlZCBpbiB0aGUgZW4pMTQ0IDM2MCBSIC42OTIodmlyb25tZW50IG9yIGFyKS0uNCBGIC42OTEKKyhndW1lbnQgbGlzdC4pLS4xOCBGKFN1YnNlcXVlbnRseSk1LjY5MSBFIDMuMTkxKCxlKS0uNjUgRyAuNjkxCisoeHBhbmRzIHRvIHRoZSBsYXN0IGFyKS0zLjM0MSBGIC42OTEoZ3VtZW50IHRvIHRoZSktLjE4IEYocHJlKTE0NCAzNzIgUQorLjU3KHZpb3VzIGNvbW1hbmQsIGFmdGVyIGUpLS4yNSBGIDMuMDcoeHBhbnNpb24uIEFsc28pLS4xNSBGIC41NzEKKyhzZXQgdG8gdGhlIGZ1bGwgcGF0aG5hbWUgdXNlZCB0byBpbikzLjA3MSBGIC0uMih2byktLjQgRyAuNzcxIC0uMShrZSBlKQorLjIgSCAuNTcxKGFjaCBjb21tYW5kKS4xIEYgLS4xNShleGUpMTQ0IDM4NCBTIDEuNgogKGN1dGVkIGFuZCBwbGFjZWQgaW4gdGhlIGVuKS4xNSBGIDEuNih2aXJvbm1lbnQgZSktLjQgRiAxLjYKICh4cG9ydGVkIHRvIHRoYXQgY29tbWFuZC4pLS4xNSBGIDEuNihXaGVuIGNoZWNraW5nIG1haWwsIHRoaXMpNi42IEYKIChwYXJhbWV0ZXIgaG9sZHMgdGhlIG5hbWUgb2YgdGhlIG1haWwgXDIxNGxlIGN1cnJlbnRseSBiZWluZyBjaGVjaykxNDQKLTM3MiBRKGVkLiktLjEgRSBGMihTaGVsbCBWKTg3IDM4OC44IFEoYXJpYWJsZXMpLS45MiBFIEYwKFRoZSBmb2xsbykxMDgKLTQwMC44IFEod2luZyB2KS0uMjUgRShhcmlhYmxlcyBhcmUgc2V0IGJ5IHRoZSBzaGVsbDopLS4yNSBFIEYyIC0uMyhCQSkKLTEwOCA0MTcuNiBTKFNIKS4zIEUgRjAoRXhwYW5kcyB0byB0aGUgZnVsbCBcMjE0bGUgbmFtZSB1c2VkIHRvIGluKTkuMDcgRQotLS4yKHZvKS0uNCBHIC4yIC0uMShrZSB0KS4yIEgoaGlzIGluc3RhbmNlIG9mKS4xIEUgRjIoYmFzaCkyLjUgRSBGMCguKUEKLUYyIC0uMyhCQSkxMDggNDI5LjYgUyhTSFBJRCkuMyBFIEYwIC4zNjEKLShFeHBhbmRzIHRvIHRoZSBwcm9jZXNzIGlkIG9mIHRoZSBjdXJyZW50KTE0NCA0NDEuNiBSIEYyKGJhc2gpMi44NjEgRSBGMAotMi44NjEocHJvY2Vzcy4gVGhpcykyLjg2MSBGKGRpZikyLjg2IEUgLjM2KGZlcnMgZnJvbSktLjI1IEYgRjIoJCQpMi44NiBFCi1GMCAuMzYodW5kZXIgY2VydGFpbiBjaXJjdW0tKTIuODYgRgotKHN0YW5jZXMsIHN1Y2ggYXMgc3Vic2hlbGxzIHRoYXQgZG8gbm90IHJlcXVpcmUpMTQ0IDQ1My42IFEgRjIoYmFzaCkyLjUKLUUgRjAodG8gYmUgcmUtaW5pdGlhbGl6ZWQuKTIuNSBFIEYyIC0uMyhCQSkxMDggNDY1LjYgUyhTSF9BTElBU0VTKS4zIEUKLUYwIDEuMTk1KEFuIGFzc29jaWF0aSkxNDQgNDc3LjYgUiAxLjQ5NSAtLjE1KHZlIGEpLS4yNSBIIDEuMTk1KHJyYXkgdikKKzM5NiBRKGVkLiktLjEgRSBGMShTaGVsbCBWKTg3IDQxMi44IFEoYXJpYWJsZXMpLS45MiBFIEYwKFRoZSBmb2xsbykxMDgKKzQyNC44IFEod2luZyB2KS0uMjUgRShhcmlhYmxlcyBhcmUgc2V0IGJ5IHRoZSBzaGVsbDopLS4yNSBFIEYxIC0uMyhCQSkKKzEwOCA0NDEuNiBTKFNIKS4zIEUgRjAoRXhwYW5kcyB0byB0aGUgZnVsbCBcMjE0bGUgbmFtZSB1c2VkIHRvIGluKTkuMDcgRQorLS4yKHZvKS0uNCBHIC4yIC0uMShrZSB0KS4yIEgoaGlzIGluc3RhbmNlIG9mKS4xIEUgRjEoYmFzaCkyLjUgRSBGMCguKUEKK0YxIC0uMyhCQSkxMDggNDUzLjYgUyhTSE9QVFMpLjMgRSBGMCAyLjU0OChBYykxNDQgNDY1LjYgUyAuMDQ5Cisob2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBlbmFibGVkIHNoZWxsIG9wdGlvbnMuKS0yLjU0OCBGIC4wNDkoRWFjaCB3KQorNS4wNDkgRiAuMDQ5KG9yZCBpbiB0aGUgbGlzdCBpcyBhIHYpLS4xIEYgLjA0OShhbGlkIGFyKS0uMjUgRiAuMDQ5CisoZ3VtZW50IGZvciB0aGUpLS4xOCBGIEYxPGFkNzM+Mi41NDkgRSBGMCAxLjM5OChvcHRpb24gdG8gdGhlKTE0NCA0NzcuNgorUiBGMShzaG9wdCkzLjg5OCBFIEYwIC0uMihidSkzLjg5OCBHIDEuMzk4KGlsdGluIGNvbW1hbmQgXChzZWUpLjIgRiBGMgorMS4zOTgoU0hFTEwgQikzLjg5OCBGKFVJTCktLjA5IEUgMS4zOTgoVElOIENPTU1BTkRTKS0uODI4IEYgRjAoYmVsbykKKzMuNjQ4IEUgMy44OTgod1wpLiBUaGUpLS4yNSBGKG9wdGlvbnMpMy44OTggRSAuNDc2KGFwcGVhcmluZyBpbikxNDQKKzQ4OS42IFIgRjIgLS4yNyhCQSkyLjk3NiBHKFNIT1BUUykuMjcgRSBGMCAuNDc2KGFyZSB0aG9zZSByZXBvcnRlZCBhcykKKzIuNzI2IEYgRjMob24pMy4yMDYgRSBGMChieSkzLjIxNyBFIEYxKHNob3B0KTIuOTc3IEUgRjAgNS40NzcoLkkpQyAyLjk3NworKGZ0KS01LjQ3NyBHIC40NzcoaGlzIHYpLTIuOTc3IEYgLjQ3NyhhcmlhYmxlIGlzIGluIHRoZSBlbiktLjI1IEYKKyh2aXJvbm1lbnQpLS40IEUod2hlbikxNDQgNTAxLjYgUSBGMShiYXNoKTMuMTQyIEUgRjAgLjY0MihzdGFydHMgdXAsIGVhXAorY2ggc2hlbGwgb3B0aW9uIGluIHRoZSBsaXN0IHdpbGwgYmUgZW5hYmxlZCBiZWZvcmUgcmVhZGluZyBhbikzLjE0MiBGCiszLjE0MSh5cyktLjE1IEcgLjY0MSh0YXJ0dXAgXDIxNGxlcy4pLTMuMTQxIEYoVGhpcyB2KTE0NCA1MTMuNiBRCisoYXJpYWJsZSBpcyByZWFkLW9ubHkpLS4yNSBFKC4pLS42NSBFIEYxIC0uMyhCQSkxMDggNTI1LjYgUyhTSFBJRCkuMyBFCitGMCAuMzYoRXhwYW5kcyB0byB0aGUgcHJvY2VzcyBpZCBvZiB0aGUgY3VycmVudCkxNDQgNTM3LjYgUiBGMShiYXNoKQorMi44NjEgRSBGMCAyLjg2MShwcm9jZXNzLiBUaGlzKTIuODYxIEYoZGlmKTIuODYxIEUgLjM2MShmZXJzIGZyb20pLS4yNSBGCitGMSgkJCkyLjg2MSBFIEYwIC4zNjEodW5kZXIgY2VydGFpbiBjaXJjdW0tKTIuODYxIEYKKyhzdGFuY2VzLCBzdWNoIGFzIHN1YnNoZWxscyB0aGF0IGRvIG5vdCByZXF1aXJlKTE0NCA1NDkuNiBRIEYxKGJhc2gpMi41CitFIEYwKHRvIGJlIHJlLWluaXRpYWxpemVkLikyLjUgRSBGMSAtLjMoQkEpMTA4IDU2MS42IFMoU0hfQUxJQVNFUykuMyBFCitGMCAxLjE5NShBbiBhc3NvY2lhdGkpMTQ0IDU3My42IFIgMS40OTUgLS4xNSh2ZSBhKS0uMjUgSCAxLjE5NShycmF5IHYpCiAuMTUgRiAxLjE5NShhcmlhYmxlIHdob3NlIG1lbWJlcnMgY29ycmVzcG9uZCB0byB0aGUgaW50ZXJuYWwgbGlzdCBvZiBhbFwKLWlhc2VzIGFzIG1haW4tKS0uMjUgRiAuMzE5KHRhaW5lZCBieSB0aGUpMTQ0IDQ4OS42IFIgRjIoYWxpYXMpMi44MTkgRSBGMAotLS4yKGJ1KTIuODE5IEcgLjMxOChpbHRpbiBFbGVtZW50cyBhZGRlZCB0byB0aGlzIGFycmF5IGFwcGVhciBpbiB0aGUgYWxcCitpYXNlcyBhcyBtYWluLSktLjI1IEYgLjMxOCh0YWluZWQgYnkgdGhlKTE0NCA1ODUuNiBSIEYxKGFsaWFzKTIuODE4IEUgRjAKKy0uMihidSkyLjgxOCBHIC4zMTgoaWx0aW4gRWxlbWVudHMgYWRkZWQgdG8gdGhpcyBhcnJheSBhcHBlYXIgaW4gdGhlIGFsXAogaWFzIGxpc3Q7IHVuc2V0dGluZyBhcnJheSBlbGUtKS4yIEYobWVudHMgY2F1c2UgYWxpYXNlcyB0byBiZSByZW1vKTE0NAotNTAxLjYgUSAtLjE1KHZlKS0uMTUgRyAyLjUoZGYpLjE1IEcocm9tIHRoZSBhbGlhcyBsaXN0LiktMi41IEUgRjIgLS4zCi0oQkEpMTA4IDUxMy42IFMoU0hfQVJHQykuMyBFIEYwIC45MzQoQW4gYXJyYXkgdikxNDQgNTI1LjYgUiAuOTM0Cis1OTcuNiBRIC0uMTUodmUpLS4xNSBHIDIuNShkZikuMTUgRyhyb20gdGhlIGFsaWFzIGxpc3QuKS0yLjUgRSBGMSAtLjMKKyhCQSkxMDggNjA5LjYgUyhTSF9BUkdDKS4zIEUgRjAgLjkzNShBbiBhcnJheSB2KTE0NCA2MjEuNiBSIC45MzUKIChhcmlhYmxlIHdob3NlIHYpLS4yNSBGIC45MzQKIChhbHVlcyBhcmUgdGhlIG51bWJlciBvZiBwYXJhbWV0ZXJzIGluIGVhY2ggZnJhbWUgb2YgdGhlIGN1cnJlbnQpLS4yNSBGCi1GMihiYXNoKTMuNDM1IEUgRjAgLS4xNShleGUpMTQ0IDUzNy42IFMgLjUzNShjdXRpb24gY2FsbCBzdGFjay4pLjE1IEYKK0YxKGJhc2gpMy40MzQgRSBGMCAtLjE1KGV4ZSkxNDQgNjMzLjYgUyAuNTM1KGN1dGlvbiBjYWxsIHN0YWNrLikuMTUgRgogLjUzNShUaGUgbnVtYmVyIG9mIHBhcmFtZXRlcnMgdG8gdGhlIGN1cnJlbnQgc3Vicm91dGluZSBcKHNoZWxsIGZ1bmN0aW9cCi1uIG9yIHNjcmlwdCk1LjUzNSBGIC0uMTUoZXhlKTE0NCA1NDkuNiBTIC4xNDEoY3V0ZWQgd2l0aCkuMTUgRiBGMiguKQotMi42NDEgRSBGMChvcikyLjY0MSBFIEYyKHNvdXIpMi42NDEgRShjZSktLjE4IEUgRjAgMi42NDEoXClpKUMgMi42NDEoc2EpCi0tMi42NDEgRyAyLjY0MSh0dCktMi42NDEgRyAuMTQyKGhlIHRvcCBvZiB0aGUgc3RhY2suKS0yLjY0MSBGIC4xNDIKLShXaGVuIGEgc3Vicm91dGluZSBpcyBlKTUuMTQyIEYgLS4xNSh4ZSktLjE1IEcgLjE0MgotKGN1dGVkLCB0aGUgbnVtYmVyIG9mKS4xNSBGIDEuNTI1KHBhcmFtZXRlcnMgcGFzc2VkIGlzIHB1c2hlZCBvbnRvKTE0NAotNTYxLjYgUiBGMiAtLjMoQkEpNC4wMjQgRyhTSF9BUkdDKS4zIEUgRjAgNi41MjQoLlQpQyAxLjUyNAotKGhlIHNoZWxsIHNldHMpLTYuNTI0IEYgRjIgLS4zKEJBKTQuMDI0IEcoU0hfQVJHQykuMyBFIEYwIDEuNTI0Ci0ob25seSB3aGVuIGluKTQuMDI0IEYgLS4xNShleCkxNDQgNTczLjYgUyh0ZW5kZWQgZGViKS4xNSBFCi0odWdnaW5nIG1vZGUgXChzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSktLjIgRSBGMihleHRkZWIpMi41IEUodWcpLS4yIEUKLUYwKG9wdGlvbiB0byB0aGUpMi41IEUgRjIoc2hvcHQpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluIGJlbG8pLjIgRQotKHdcKSktLjI1IEUgRjIgLS4zKEJBKTEwOCA1ODUuNiBTKFNIX0FSR1YpLjMgRSBGMCAuOTc5KEFuIGFycmF5IHYpMTQ0Ci01OTcuNiBSIC45NzkoYXJpYWJsZSBjb250YWluaW5nIGFsbCBvZiB0aGUgcGFyYW1ldGVycyBpbiB0aGUgY3VycmVudCkKLS0uMjUgRiBGMihiYXNoKTMuNDggRSBGMCAtLjE1KGV4ZSkzLjQ4IEcgLjk4KGN1dGlvbiBjYWxsIHN0YWNrLikuMTUgRgotKFRoZSk1Ljk4IEUgLjI3NShcMjE0bmFsIHBhcmFtZXRlciBvZiB0aGUgbGFzdCBzdWJyb3V0aW5lIGNhbGwgaXMgYXQgdGhcCi1lIHRvcCBvZiB0aGUgc3RhY2s7IHRoZSBcMjE0cnN0IHBhcmFtZXRlciBvZiB0aGUgaW5pdGlhbCkxNDQgNjA5LjYgUgotMS40MjQoY2FsbCBpcyBhdCB0aGUgYm90dG9tLikxNDQgNjIxLjYgUiAxLjQyNChXaGVuIGEgc3Vicm91dGluZSBpcyBlKQorbiBvciBzY3JpcHQpNS41MzUgRiAtLjE1KGV4ZSkxNDQgNjQ1LjYgUyAuMTQyKGN1dGVkIHdpdGgpLjE1IEYgRjEoLikKKzIuNjQyIEUgRjAob3IpMi42NDIgRSBGMShzb3VyKTIuNjQyIEUoY2UpLS4xOCBFIEYwIDIuNjQyKFwpaSlDIDIuNjQyKHNhKQorLTIuNjQyIEcgMi42NDIodHQpLTIuNjQyIEcgLjE0MihoZSB0b3Agb2YgdGhlIHN0YWNrLiktMi42NDIgRiAuMTQxCisoV2hlbiBhIHN1YnJvdXRpbmUgaXMgZSk1LjE0MSBGIC0uMTUoeGUpLS4xNSBHIC4xNDEKKyhjdXRlZCwgdGhlIG51bWJlciBvZikuMTUgRiAyLjYzKHBhcmFtZXRlcnMgcGFzc2VkIGlzIHB1c2hlZCBvbnRvKTE0NAorNjU3LjYgUiBGMiAtLjI3KEJBKTUuMTMgRyhTSF9BUkdDKS4yNyBFL0Y0IDkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAKKzIuNjMoVGhlIHNoZWxsIHNldHMpNy4xMyBGIEYyIC0uMjcoQkEpNS4xMzEgRyhTSF9BUkdDKS4yNyBFIEYwIDIuNjMxCisob25seSB3aGVuIGluKTQuODgxIEYgLS4xNShleCkxNDQgNjY5LjYgUyh0ZW5kZWQgZGViKS4xNSBFCisodWdnaW5nIG1vZGUgXChzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSktLjIgRSBGMShleHRkZWIpMi41IEUodWcpLS4yIEUKK0YwKG9wdGlvbiB0byB0aGUpMi41IEUgRjEoc2hvcHQpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluIGJlbG8pLjIgRQorKHdcKSktLjI1IEUgRjEgLS4zKEJBKTEwOCA2ODEuNiBTKFNIX0FSR1YpLjMgRSBGMCAuOTgoQW4gYXJyYXkgdikxNDQKKzY5My42IFIgLjk3OShhcmlhYmxlIGNvbnRhaW5pbmcgYWxsIG9mIHRoZSBwYXJhbWV0ZXJzIGluIHRoZSBjdXJyZW50KQorLS4yNSBGIEYxKGJhc2gpMy40NzkgRSBGMCAtLjE1KGV4ZSkzLjQ3OSBHIC45NzkoY3V0aW9uIGNhbGwgc3RhY2suKS4xNSBGCisoVGhlKTUuOTc5IEUgLjI3NShcMjE0bmFsIHBhcmFtZXRlciBvZiB0aGUgbGFzdCBzdWJyb3V0aW5lIGNhbGwgaXMgYXQgdFwKK2hlIHRvcCBvZiB0aGUgc3RhY2s7IHRoZSBcMjE0cnN0IHBhcmFtZXRlciBvZiB0aGUgaW5pdGlhbCkxNDQgNzA1LjYgUgorMS40MjQoY2FsbCBpcyBhdCB0aGUgYm90dG9tLikxNDQgNzE3LjYgUiAxLjQyNChXaGVuIGEgc3Vicm91dGluZSBpcyBlKQogNi40MjQgRiAtLjE1KHhlKS0uMTUgRyAxLjQyNAotKGN1dGVkLCB0aGUgcGFyYW1ldGVycyBzdXBwbGllZCBhcmUgcHVzaGVkIG9udG8pLjE1IEYgRjIgLS4zKEJBKTE0NAotNjMzLjYgUyhTSF9BUkdWKS4zIEUgRjAgNi4wOTEoLlQpQyAxLjA5MShoZSBzaGVsbCBzZXRzKS02LjA5MSBGIEYyIC0uMwotKEJBKTMuNTkxIEcoU0hfQVJHVikuMyBFIEYwIDEuMDkxKG9ubHkgd2hlbiBpbiBlKTMuNTkxIEYgMS4wOTEKLSh4dGVuZGVkIGRlYiktLjE1IEYgMS4wOSh1Z2dpbmcgbW9kZSBcKHNlZSB0aGUpLS4yIEYoZGVzY3JpcHRpb24gb2YgdGhlKQotMTQ0IDY0NS42IFEgRjIoZXh0ZGViKTIuNSBFKHVnKS0uMiBFIEYwKG9wdGlvbiB0byB0aGUpMi41IEUgRjIoc2hvcHQpMi41Ci1FIEYwIC0uMihidSkyLjUgRyhpbHRpbiBiZWxvKS4yIEUod1wpKS0uMjUgRSBGMiAtLjMoQkEpMTA4IDY1Ny42IFMKLShTSF9DTURTKS4zIEUgRjAgLjY2NyhBbiBhc3NvY2lhdGkpMTQ0IDY2OS42IFIgLjk2NyAtLjE1KHZlIGEpLS4yNSBICi0uNjY3KHJyYXkgdikuMTUgRiAuNjY4KGFyaWFibGUgd2hvc2UgbWVtYmVycyBjb3JyZXNwb25kIHRvIHRoZSBpbnRlcm5hbFwKLSBoYXNoIHRhYmxlIG9mIGNvbW1hbmRzKS0uMjUgRiAuMTQ3KGFzIG1haW50YWluZWQgYnkgdGhlKTE0NCA2ODEuNiBSIEYyCi0oaGFzaCkyLjY0NyBFIEYwIC0uMihidSkyLjY0NiBHIDIuNjQ2KGlsdGluLiBFbGVtZW50cykuMiBGIC4xNDYKLShhZGRlZCB0byB0aGlzIGFycmF5IGFwcGVhciBpbiB0aGUgaGFzaCB0YWJsZTsgdW5zZXR0aW5nKTIuNjQ2IEYKLShhcnJheSBlbGVtZW50cyBjYXVzZSBjb21tYW5kcyB0byBiZSByZW1vKTE0NCA2OTMuNiBRIC0uMTUodmUpLS4xNSBHIDIuNQotKGRmKS4xNSBHKHJvbSB0aGUgaGFzaCB0YWJsZS4pLTIuNSBFIEYyIC0uMyhCQSkxMDggNzA1LjYgUyhTSF9DT01NQU5EKS4zCi1FIEYwIDEuMjQyKFRoZSBjb21tYW5kIGN1cnJlbnRseSBiZWluZyBlKTE0NCA3MTcuNiBSIC0uMTUoeGUpLS4xNSBHCi0xLjI0MyhjdXRlZCBvciBhYm91dCB0byBiZSBlKS4xNSBGIC0uMTUoeGUpLS4xNSBHIDEuMjQzCi0oY3V0ZWQsIHVubGVzcyB0aGUgc2hlbGwgaXMgZSkuMTUgRiAtLjE1KHhlKS0uMTUgRyAxLjI0MyhjdXRpbmcgYSkuMTUgRgotKGNvbW1hbmQgYXMgdGhlIHJlc3VsdCBvZiBhIHRyYXAsIGluIHdoaWNoIGNhc2UgaXQgaXMgdGhlIGNvbW1hbmQgZSkxNDQKLTcyOS42IFEgLS4xNSh4ZSktLjE1IEcoY3V0aW5nIGF0IHRoZSB0aW1lIG9mIHRoZSB0cmFwLikuMTUgRQotKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUoOSkxOTUuOTUgRSAwIENnIEVQCisoY3V0ZWQsIHRoZSBwYXJhbWV0ZXJzIHN1cHBsaWVkIGFyZSBwdXNoZWQgb250bykuMTUgRiBGMiAtLjI3KEJBKTE0NAorNzI5LjYgUyhTSF9BUkdWKS4yNyBFIEY0KC4pQSBGMCAyLjE5NyhUaGUgc2hlbGwgc2V0cyk2LjY5NyBGIEYyIC0uMjcoQkEpCis0LjY5NyBHKFNIX0FSR1YpLjI3IEUgRjAgMi4xOTcob25seSB3aGVuIGluIGUpNC40NDcgRiAyLjE5Nyh4dGVuZGVkIGRlYikKKy0uMTUgRiAyLjE5Nyh1Z2dpbmcgbW9kZSBcKHNlZSB0aGUpLS4yIEYoR05VIEJhc2gtNC4xKTcyIDc2OCBRCisoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoOSkxOTAuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiAxMCAxMAogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YgLS4zKEJBKTEwOCA4NCBTKFNIX0VYRUNVVElPTl9TVFJJTkcpLjMgRSBGMAotKFRoZSBjb21tYW5kIGFyKTE0NCA5NiBRKGd1bWVudCB0byB0aGUpLS4xOCBFIEYxPGFkNjM+Mi41IEUgRjAoaW4pMi41IEUKLS0uMih2byktLjQgRyhjYXRpb24gb3B0aW9uLikuMiBFIEYxIC0uMyhCQSkxMDggMTA4IFMoU0hfTElORU5PKS4zIEUgRjAKLS4wMzQoQW4gYXJyYXkgdikxNDQgMTIwIFIgLjAzNChhcmlhYmxlIHdob3NlIG1lbWJlcnMgYXJlIHRoZSBsaW5lIG51bWJlXAotcnMgaW4gc291cmNlIFwyMTRsZXMgY29ycmVzcG9uZGluZyB0byBlYWNoIG1lbS0pLS4yNSBGIDIuOTQ0KGJlciBvZikxNDQKLTEzMiBSIEYxKEZVTkNOKTUuNDQ0IEUoQU1FKS0uMiBFIEYwKC4pQSBGMSgke0IpNy45NDQgRShBU0hfTElORU5PWyktLjMgRQotL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGKCRpKUEgRjEoXX0pQSBGMCAyLjk0NAotKGlzIHRoZSBsaW5lIG51bWJlciBpbiB0aGUgc291cmNlIFwyMTRsZSB3aGVyZSk1LjQ0NCBGIEYxKCR7RlVOQ04pMTQ0Ci0xNDQgUShBTUVbKS0uMiBFIEYyKCRpKUEgRjEoXX0pQSBGMCAtLjEod2EpMy4zMTIgRyAzLjMxMShzYykuMSBHIC44MTEKLShhbGxlZCBcKG9yKS0zLjMxMSBGIEYxKCR7QikzLjMxMSBFKEFTSF9MSU5FTk9bKS0uMyBFIEYyKCRpLTEpQSBGMShdfSlBCi1GMCAuODExKGlmIHJlZmVyZW5jZWQgd2l0aGluIGFub3RoZXIgc2hlbGwpMy4zMTEgRiA0LjU2NwotKGZ1bmN0aW9uXCkuIFRoZSkxNDQgMTU2IFIgMi4wNjcoY29ycmVzcG9uZGluZyBzb3VyY2UgXDIxNGxlIG5hbWUgaXMpCi00LjU2NyBGIEYxKCR7Qik0LjU2NyBFKEFTSF9TT1VSQ0VbKS0uMyBFIEYyKCRpKUEgRjEoXX0pQSBGMCA3LjA2NyguVSlDCi0oc2UpLTcuMDY3IEUgRjEoTElORU5PKTQuNTY3IEUgRjAodG8pNC41NjcgRQotKG9idGFpbiB0aGUgY3VycmVudCBsaW5lIG51bWJlcikxNDQgMTY4IFEoLiktLjU1IEUgRjEgLS4zKEJBKTEwOCAxODAgUwotKFNIX1JFTUEpLjMgRShUQ0gpLS45NSBFIEYwIC4wMDYoQW4gYXJyYXkgdikxNDQgMTkyIFIgLjAwNgotKGFyaWFibGUgd2hvc2UgbWVtYmVycyBhcmUgYXNzaWduZWQgYnkgdGhlKS0uMjUgRiBGMSg9fikyLjUwNiBFIEYwIC4wMDUKLShiaW5hcnkgb3BlcmF0b3IgdG8gdGhlKTIuNTA2IEYgRjEoW1spMi41MDUgRSBGMCAuMDA1KGNvbmRpdGlvbmFsIGNvbS0pCi0yLjUwNSBGIDIuNTA2KG1hbmQuIFRoZSkxNDQgMjA0IFIgLjAwNyhlbGVtZW50IHdpdGggaW5kZSkyLjUwNiBGIDIuNTA3CistLjM1IEUoZGVzY3JpcHRpb24gb2YgdGhlKTE0NCA4NCBRL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihleHRkZWIpMi41IEUKKyh1ZyktLjIgRSBGMChvcHRpb24gdG8gdGhlKTIuNSBFIEYxKHNob3B0KTIuNSBFIEYwIC0uMihidSkyLjUgRworKGlsdGluIGJlbG8pLjIgRSh3XCkpLS4yNSBFIEYxIC0uMyhCQSkxMDggOTYgUyhTSF9DTURTKS4zIEUgRjAgLjY2OAorKEFuIGFzc29jaWF0aSkxNDQgMTA4IFIgLjk2OCAtLjE1KHZlIGEpLS4yNSBIIC42NjgocnJheSB2KS4xNSBGIC42NjgoYXJcCitpYWJsZSB3aG9zZSBtZW1iZXJzIGNvcnJlc3BvbmQgdG8gdGhlIGludGVybmFsIGhhc2ggdGFibGUgb2YgY29tbWFuZHMpCistLjI1IEYgLjE0NihhcyBtYWludGFpbmVkIGJ5IHRoZSkxNDQgMTIwIFIgRjEoaGFzaCkyLjY0NiBFIEYwIC0uMihidSkKKzIuNjQ2IEcgMi42NDYoaWx0aW4uIEVsZW1lbnRzKS4yIEYgLjE0NgorKGFkZGVkIHRvIHRoaXMgYXJyYXkgYXBwZWFyIGluIHRoZSBoYXNoIHRhYmxlOyB1bnNldHRpbmcpMi42NDYgRgorKGFycmF5IGVsZW1lbnRzIGNhdXNlIGNvbW1hbmRzIHRvIGJlIHJlbW8pMTQ0IDEzMiBRIC0uMTUodmUpLS4xNSBHIDIuNQorKGRmKS4xNSBHKHJvbSB0aGUgaGFzaCB0YWJsZS4pLTIuNSBFIEYxIC0uMyhCQSkxMDggMTQ0IFMoU0hfQ09NTUFORCkuMyBFCitGMCAxLjI0MyhUaGUgY29tbWFuZCBjdXJyZW50bHkgYmVpbmcgZSkxNDQgMTU2IFIgLS4xNSh4ZSktLjE1IEcgMS4yNDMKKyhjdXRlZCBvciBhYm91dCB0byBiZSBlKS4xNSBGIC0uMTUoeGUpLS4xNSBHIDEuMjQyCisoY3V0ZWQsIHVubGVzcyB0aGUgc2hlbGwgaXMgZSkuMTUgRiAtLjE1KHhlKS0uMTUgRyAxLjI0MihjdXRpbmcgYSkuMTUgRgorKGNvbW1hbmQgYXMgdGhlIHJlc3VsdCBvZiBhIHRyYXAsIGluIHdoaWNoIGNhc2UgaXQgaXMgdGhlIGNvbW1hbmQgZSkxNDQKKzE2OCBRIC0uMTUoeGUpLS4xNSBHKGN1dGluZyBhdCB0aGUgdGltZSBvZiB0aGUgdHJhcC4pLjE1IEUgRjEgLS4zKEJBKTEwOAorMTgwIFMoU0hfRVhFQ1VUSU9OX1NUUklORykuMyBFIEYwKFRoZSBjb21tYW5kIGFyKTE0NCAxOTIgUQorKGd1bWVudCB0byB0aGUpLS4xOCBFIEYxPGFkNjM+Mi41IEUgRjAoaW4pMi41IEUgLS4yKHZvKS0uNCBHCisoY2F0aW9uIG9wdGlvbi4pLjIgRSBGMSAtLjMoQkEpMTA4IDIwNCBTKFNIX0xJTkVOTykuMyBFIEYwIC4wMzQKKyhBbiBhcnJheSB2KTE0NCAyMTYgUiAuMDM0KGFyaWFibGUgd2hvc2UgbWVtYmVycyBhcmUgdGhlIGxpbmUgbnVtYmVycyBpXAorbiBzb3VyY2UgXDIxNGxlcyBjb3JyZXNwb25kaW5nIHRvIGVhY2ggbWVtLSktLjI1IEYgMy40OTEoYmVyIG9mKTE0NCAyMjgKK1IvRjIgOS9UaW1lcy1Cb2xkQDAgU0YoRlVOQ04pNS45OTEgRShBTUUpLS4xOCBFL0YzIDkvVGltZXMtUm9tYW5AMCBTRiguKQorQSBGMSgke0IpNy45OTEgRShBU0hfTElORU5PWyktLjMgRS9GNCAxMC9UaW1lcy1JdGFsaWNAMCBTRigkaSlBIEYxKF19KUEKK0YwIDMuNDkxKGlzIHRoZSBsaW5lIG51bWJlciBpbiB0aGUgc291cmNlIFwyMTRsZSB3aGVyZSk1Ljk5MSBGIEYxCisoJHtGVU5DTikxNDQgMjQwIFEoQU1FWyktLjIgRSBGNCgkaSlBIEYxKF19KUEgRjAgLS4xKHdhKTMuMzExIEcgMy4zMTEKKyhzYykuMSBHIC44MTEoYWxsZWQgXChvciktMy4zMTEgRiBGMSgke0IpMy4zMTEgRShBU0hfTElORU5PWyktLjMgRSBGNAorKCRpLTEpQSBGMShdfSlBIEYwIC44MTEoaWYgcmVmZXJlbmNlZCB3aXRoaW4gYW5vdGhlciBzaGVsbCkzLjMxMSBGIDQuOTg3CisoZnVuY3Rpb25cKS4gVGhlKTE0NCAyNTIgUiAyLjQ4Nyhjb3JyZXNwb25kaW5nIHNvdXJjZSBcMjE0bGUgbmFtZSBpcykKKzQuOTg3IEYgRjEoJHtCKTQuOTg2IEUoQVNIX1NPVVJDRVspLS4zIEUgRjQoJGkpQSBGMShdfSlBIEYwIDcuNDg2KC5VKUMKKyhzZSktNy40ODYgRSBGMihMSU5FTk8pNC45ODYgRSBGMCh0byk0LjczNiBFCisob2J0YWluIHRoZSBjdXJyZW50IGxpbmUgbnVtYmVyKTE0NCAyNjQgUSguKS0uNTUgRSBGMSAtLjMoQkEpMTA4IDI3NiBTCisoU0hfUkVNQSkuMyBFKFRDSCktLjk1IEUgRjAgLjAwNShBbiBhcnJheSB2KTE0NCAyODggUiAuMDA1CisoYXJpYWJsZSB3aG9zZSBtZW1iZXJzIGFyZSBhc3NpZ25lZCBieSB0aGUpLS4yNSBGIEYxKD1+KTIuNTA2IEUgRjAgLjAwNgorKGJpbmFyeSBvcGVyYXRvciB0byB0aGUpMi41MDYgRiBGMShbWykyLjUwNiBFIEYwIC4wMDYoY29uZGl0aW9uYWwgY29tLSkKKzIuNTA2IEYgMi41MDcobWFuZC4gVGhlKTE0NCAzMDAgUiAuMDA3KGVsZW1lbnQgd2l0aCBpbmRlKTIuNTA3IEYgMi41MDcKICh4MGkpLS4xNSBHIDIuNTA3KHN0KS0yLjUwNyBHIC4wMDcKLShoZSBwb3J0aW9uIG9mIHRoZSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGVudGlyZSByZSktMi41MDcgRiAuMDA3KGd1bGFyIGUpCi0tLjE1IEYoeHByZXNzaW9uLiktLjE1IEUgLjk5OChUaGUgZWxlbWVudCB3aXRoIGluZGUpMTQ0IDIxNiBSKHgpLS4xNSBFCi1GMihuKTMuNDk4IEUgRjAgLjk5NyhpcyB0aGUgcG9ydGlvbiBvZiB0aGUgc3RyaW5nIG1hdGNoaW5nIHRoZSkzLjQ5OCBGCi1GMihuKTMuNDk3IEUgRjAgLjk5Nyh0aCBwYXJlbnRoZXNpemVkIHN1YmUpQih4cHJlcy0pLS4xNSBFIDIuNQotKHNpb24uIFRoaXMpMTQ0IDIyOCBSIC0uMjUodmEpMi41IEcocmlhYmxlIGlzIHJlYWQtb25seSkuMjUgRSguKS0uNjUgRQotRjEgLS4zKEJBKTEwOCAyNDAgUyhTSF9TT1VSQ0UpLjMgRSBGMCAuODg5KEFuIGFycmF5IHYpMTQ0IDI1MiBSIC44ODkoYXJcCi1pYWJsZSB3aG9zZSBtZW1iZXJzIGFyZSB0aGUgc291cmNlIFwyMTRsZW5hbWVzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGVsZVwKLW1lbnRzIGluIHRoZSktLjI1IEYgRjEoRlVOQ04pMTQ0IDI2NCBRKEFNRSktLjIgRSBGMChhcnJheSB2KTIuNSBFCi0oYXJpYWJsZS4pLS4yNSBFIEYxIC0uMyhCQSkxMDggMjc2IFMoU0hfU1VCU0hFTEwpLjMgRSBGMCAuNDAyCi0oSW5jcmVtZW50ZWQgYnkgb25lIGVhY2ggdGltZSBhIHN1YnNoZWxsIG9yIHN1YnNoZWxsIGVuKTE0NCAyODggUiAuNDAxCi0odmlyb25tZW50IGlzIHNwYSktLjQgRiAyLjkwMSh3bmVkLiBUaGUpLS4xNSBGIC40MDEoaW5pdGlhbCB2KTIuOTAxIEYKLS40MDEoYWx1ZSBpcyktLjI1IEYoMC4pMTQ0IDMwMCBRIEYxIC0uMyhCQSkxMDggMzEyIFMoU0hfVkVSU0lORk8pLjMgRSBGMAotMi42NDQoQXIpMTQ0IDMyNCBTIC4xNDQoZWFkb25seSBhcnJheSB2KS0yLjY0NCBGIC4xNDQKKyhoZSBwb3J0aW9uIG9mIHRoZSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGVudGlyZSByZSktMi41MDcgRiAuMDA2KGd1bGFyIGUpCistLjE1IEYoeHByZXNzaW9uLiktLjE1IEUgLjk5NyhUaGUgZWxlbWVudCB3aXRoIGluZGUpMTQ0IDMxMiBSKHgpLS4xNSBFCitGNChuKTMuNDk3IEUgRjAgLjk5NyhpcyB0aGUgcG9ydGlvbiBvZiB0aGUgc3RyaW5nIG1hdGNoaW5nIHRoZSkzLjQ5NyBGCitGNChuKTMuNDk4IEUgRjAgLjk5OCh0aCBwYXJlbnRoZXNpemVkIHN1YmUpQih4cHJlcy0pLS4xNSBFIDIuNQorKHNpb24uIFRoaXMpMTQ0IDMyNCBSIC0uMjUodmEpMi41IEcocmlhYmxlIGlzIHJlYWQtb25seSkuMjUgRSguKS0uNjUgRQorRjEgLS4zKEJBKTEwOCAzMzYgUyhTSF9TT1VSQ0UpLjMgRSBGMCAuODkoQW4gYXJyYXkgdikxNDQgMzQ4IFIgLjg4OShhcmlcCithYmxlIHdob3NlIG1lbWJlcnMgYXJlIHRoZSBzb3VyY2UgXDIxNGxlbmFtZXMgY29ycmVzcG9uZGluZyB0byB0aGUgZWxlbVwKK2VudHMgaW4gdGhlKS0uMjUgRiBGMihGVU5DTikxNDQgMzYwIFEoQU1FKS0uMTggRSBGMChhcnJheSB2KTIuMjUgRQorKGFyaWFibGUuKS0uMjUgRSBGMSAtLjMoQkEpMTA4IDM3MiBTKFNIX1NVQlNIRUxMKS4zIEUgRjAgLjQwMQorKEluY3JlbWVudGVkIGJ5IG9uZSBlYWNoIHRpbWUgYSBzdWJzaGVsbCBvciBzdWJzaGVsbCBlbikxNDQgMzg0IFIgLjQwMQorKHZpcm9ubWVudCBpcyBzcGEpLS40IEYgMi45MDIod25lZC4gVGhlKS0uMTUgRiAuNDAyKGluaXRpYWwgdikyLjkwMiBGCisuNDAyKGFsdWUgaXMpLS4yNSBGKDAuKTE0NCAzOTYgUSBGMSAtLjMoQkEpMTA4IDQwOCBTKFNIX1ZFUlNJTkZPKS4zIEUgRjAKKzIuNjQ1KEFyKTE0NCA0MjAgUyAuMTQ1KGVhZG9ubHkgYXJyYXkgdiktMi42NDUgRiAuMTQ0CiAoYXJpYWJsZSB3aG9zZSBtZW1iZXJzIGhvbGQgdiktLjI1IEYgLjE0NAotKGVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgdGhpcyBpbnN0YW5jZSBvZiktLjE1IEYgRjEoYmFzaCkyLjY0NSBFIEYwIDUuMTQ1Ci0oLlQpQyhoZSktNS4xNDUgRSAtLjI1KHZhKTE0NCAzMzYgUworKGVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgdGhpcyBpbnN0YW5jZSBvZiktLjE1IEYgRjEoYmFzaCkyLjY0NCBFIEYwIDUuMTQ0CisoLlQpQyhoZSktNS4xNDQgRSAtLjI1KHZhKTE0NCA0MzIgUwogKGx1ZXMgYXNzaWduZWQgdG8gdGhlIGFycmF5IG1lbWJlcnMgYXJlIGFzIGZvbGxvKS4yNSBFKHdzOiktLjI1IEUgRjEgLS4zCi0oQkEpMTQ0IDM1NCBTKFNIX1ZFUlNJTkZPWykuMyBFIEYwKDApQSBGMShdKUEgRjAoVGhlIG1ham9yIHYpMjQuNzQgRQotKGVyc2lvbiBudW1iZXIgXCh0aGUpLS4xNSBFIEYyIC0uMzcocmUpMi41IEcobGVhc2UpLjM3IEUgRjAoXCkuKUEgRjEgLS4zCi0oQkEpMTQ0IDM2NiBTKFNIX1ZFUlNJTkZPWykuMyBFIEYwKDEpQSBGMShdKUEgRjAoVGhlIG1pbm9yIHYpMjQuNzQgRQotKGVyc2lvbiBudW1iZXIgXCh0aGUpLS4xNSBFIEYyKHZlcikyLjUgRShzaW9uKS0uMSBFIEYwKFwpLilBIEYxIC0uMyhCQSkKLTE0NCAzNzggUyhTSF9WRVJTSU5GT1spLjMgRSBGMCgyKUEgRjEoXSlBIEYwKFRoZSBwYXRjaCBsZSkyNC43NCBFIC0uMTUKLSh2ZSktLjI1IEcobC4pLjE1IEUgRjEgLS4zKEJBKTE0NCAzOTAgUyhTSF9WRVJTSU5GT1spLjMgRSBGMCgzKUEgRjEoXSlBCi1GMChUaGUgYikyNC43NCBFKHVpbGQgdiktLjIgRShlcnNpb24uKS0uMTUgRSBGMSAtLjMoQkEpMTQ0IDQwMiBTCisoQkEpMTQ0IDQ1MCBTKFNIX1ZFUlNJTkZPWykuMyBFIEYwKDApQSBGMShdKUEgRjAoVGhlIG1ham9yIHYpMjQuNzQgRQorKGVyc2lvbiBudW1iZXIgXCh0aGUpLS4xNSBFIEY0IC0uMzcocmUpMi41IEcobGVhc2UpLjM3IEUgRjAoXCkuKUEgRjEgLS4zCisoQkEpMTQ0IDQ2MiBTKFNIX1ZFUlNJTkZPWykuMyBFIEYwKDEpQSBGMShdKUEgRjAoVGhlIG1pbm9yIHYpMjQuNzQgRQorKGVyc2lvbiBudW1iZXIgXCh0aGUpLS4xNSBFIEY0KHZlcikyLjUgRShzaW9uKS0uMSBFIEYwKFwpLilBIEYxIC0uMyhCQSkKKzE0NCA0NzQgUyhTSF9WRVJTSU5GT1spLjMgRSBGMCgyKUEgRjEoXSlBIEYwKFRoZSBwYXRjaCBsZSkyNC43NCBFIC0uMTUKKyh2ZSktLjI1IEcobC4pLjE1IEUgRjEgLS4zKEJBKTE0NCA0ODYgUyhTSF9WRVJTSU5GT1spLjMgRSBGMCgzKUEgRjEoXSlBCitGMChUaGUgYikyNC43NCBFKHVpbGQgdiktLjIgRShlcnNpb24uKS0uMTUgRSBGMSAtLjMoQkEpMTQ0IDQ5OCBTCiAoU0hfVkVSU0lORk9bKS4zIEUgRjAoNClBIEYxKF0pQSBGMChUaGUgcmVsZWFzZSBzdGF0dXMgXChlLmcuLCkyNC43NCBFCi1GMihiZXRhMSkyLjUgRSBGMChcKS4pQSBGMSAtLjMoQkEpMTQ0IDQxNCBTKFNIX1ZFUlNJTkZPWykuMyBFIEYwKDUpQSBGMQotKF0pQSBGMChUaGUgdikyNC43NCBFKGFsdWUgb2YpLS4yNSBFIEYxKE1BKTIuNSBFKENIVFlQRSktLjU1IEUgRjAoLilBIEYxCi0tLjMoQkEpMTA4IDQzMC44IFMoU0hfVkVSU0lPTikuMyBFIEYwCi0oRXhwYW5kcyB0byBhIHN0cmluZyBkZXNjcmliaW5nIHRoZSB2KTE0NCA0NDIuOCBRCitGNChiZXRhMSkyLjUgRSBGMChcKS4pQSBGMSAtLjMoQkEpMTQ0IDUxMCBTKFNIX1ZFUlNJTkZPWykuMyBFIEYwKDUpQSBGMQorKF0pQSBGMChUaGUgdikyNC43NCBFKGFsdWUgb2YpLS4yNSBFIEYyKE1BKTIuNSBFKENIVFlQRSktLjQ5NSBFIEYzKC4pQQorRjEgLS4zKEJBKTEwOCA1MjYuOCBTKFNIX1ZFUlNJT04pLjMgRSBGMAorKEV4cGFuZHMgdG8gYSBzdHJpbmcgZGVzY3JpYmluZyB0aGUgdikxNDQgNTM4LjggUQogKGVyc2lvbiBvZiB0aGlzIGluc3RhbmNlIG9mKS0uMTUgRSBGMShiYXNoKTIuNSBFIEYwKC4pQSBGMShDT01QX0NXKTEwOAotNDU5LjYgUShPUkQpLS4xIEUgRjAgLjM5NyhBbiBpbmRlKTE0NCA0NzEuNiBSIDIuODk3KHhpKS0uMTUgRyhudG8pLTIuODk3Cis1NTUuNiBRKE9SRCktLjEgRSBGMCAuMzk2KEFuIGluZGUpMTQ0IDU2Ny42IFIgMi44OTYoeGkpLS4xNSBHKG50byktMi44OTYKIEUgRjEoJHtDT01QX1cpMi44OTYgRShPUkRTfSktLjEgRSBGMCAuMzk2KG9mIHRoZSB3KTIuODk2IEYgLjM5NgotKG9yZCBjb250YWluaW5nIHRoZSBjdXJyZW50IGN1cnNvciBwb3NpdGlvbi4pLS4xIEYgLjM5NihUaGlzIHYpNS4zOTYgRgotKGFyaS0pLS4yNSBFIDEuMTgoYWJsZSBpcyBhKTE0NCA0ODMuNiBSIC0uMjUodmEpLS4yIEcgMS4xODEKKyhvcmQgY29udGFpbmluZyB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24uKS0uMSBGIC4zOTcoVGhpcyB2KTUuMzk3IEYKKyhhcmktKS0uMjUgRSAxLjE4MShhYmxlIGlzIGEpMTQ0IDU3OS42IFIgLS4yNSh2YSktLjIgRyAxLjE4MQogKGlsYWJsZSBvbmx5IGluIHNoZWxsIGZ1bmN0aW9ucyBpbikuMjUgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMy42ODEKLShkYikuMSBHIDMuNjgxKHl0KS0zLjY4MSBHIDEuMTgxKGhlIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGYpLTMuNjgxIEYKLTEuMTgxKGFjaWxpdGllcyBcKHNlZSktLjEgRiBGMShQcikxNDQgNDk1LjYgUShvZ3JhbW1hYmxlIENvbXBsZXRpb24pLS4xOAotRSBGMChiZWxvKTIuNSBFKHdcKS4pLS4yNSBFIEYxKENPTVBfS0VZKTEwOCA1MTIuNCBRIEYwKFRoZSBrKTE0NCA1MjQuNCBRCisoZGIpLjEgRyAzLjY4MSh5dCktMy42ODEgRyAxLjE4KGhlIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGYpLTMuNjgxIEYKKzEuMTgoYWNpbGl0aWVzIFwoc2VlKS0uMSBGIEYxKFByKTE0NCA1OTEuNiBRKG9ncmFtbWFibGUgQ29tcGxldGlvbiktLjE4CitFIEYwKGJlbG8pMi41IEUod1wpLiktLjI1IEUgRjEoQ09NUF9LRVkpMTA4IDYwOC40IFEgRjAoVGhlIGspMTQ0IDYyMC40IFEKIC4zIC0uMTUoZXkgXCgpLS4xIEgob3IgXDIxNG5hbCBrKS4xNSBFIC4zIC0uMTUoZXkgbyktLjEgSCAyLjUoZmFrKS4xNSBHCiAuMyAtLjE1KGV5IHMpLTIuNiBIKGVxdWVuY2VcKSB1c2VkIHRvIGluKS4xNSBFIC0uMih2byktLjQgRyAuMiAtLjEoa2UgdCkKLS4yIEgoaGUgY3VycmVudCBjb21wbGV0aW9uIGZ1bmN0aW9uLikuMSBFIEYxKENPTVBfTElORSkxMDggNTQxLjIgUSBGMAotMS4yMDgoVGhlIGN1cnJlbnQgY29tbWFuZCBsaW5lLikxNDQgNTUzLjIgUiAxLjIwOChUaGlzIHYpNi4yMDggRiAxLjIwOAorLjIgSChoZSBjdXJyZW50IGNvbXBsZXRpb24gZnVuY3Rpb24uKS4xIEUgRjEoQ09NUF9MSU5FKTEwOCA2MzcuMiBRIEYwCisxLjIwNyhUaGUgY3VycmVudCBjb21tYW5kIGxpbmUuKTE0NCA2NDkuMiBSIDEuMjA4KFRoaXMgdik2LjIwOCBGIDEuMjA4CiAoYXJpYWJsZSBpcyBhKS0uMjUgRiAtLjI1KHZhKS0uMiBHIDEuMjA4Ci0oaWxhYmxlIG9ubHkgaW4gc2hlbGwgZnVuY3Rpb25zIGFuZCBlKS4yNSBGIDEuMjA3KHh0ZXJuYWwgY29tLSktLjE1IEYKLTIuODQ4KG1hbmRzIGluKTE0NCA1NjUuMiBSIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyA1LjM0OShkYikuMSBHIDUuMzQ5CisoaWxhYmxlIG9ubHkgaW4gc2hlbGwgZnVuY3Rpb25zIGFuZCBlKS4yNSBGIDEuMjA4KHh0ZXJuYWwgY29tLSktLjE1IEYKKzIuODQ5KG1hbmRzIGluKTE0NCA2NjEuMiBSIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyA1LjM0OShkYikuMSBHIDUuMzQ5CiAoeXQpLTUuMzQ5IEcgMi44NDkoaGUgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZiktNS4zNDkgRiAyLjg0OQotKGFjaWxpdGllcyBcKHNlZSktLjEgRiBGMShQcik1LjM0OSBFIDIuODQ5KG9ncmFtbWFibGUgQ29tcGxldGlvbiktLjE4IEYKLUYwKGJlbG8pMTQ0IDU3Ny4yIFEod1wpLiktLjI1IEUgRjEoQ09NUF9QT0lOVCkxMDggNTk0IFEgRjAgLjY2NwotKFRoZSBpbmRlKTE0NCA2MDYgUiAzLjE2Nyh4byktLjE1IEcgMy4xNjcoZnQpLTMuMTY3IEcgLjY2NgotKGhlIGN1cnJlbnQgY3Vyc29yIHBvc2l0aW9uIHJlbGF0aSktMy4xNjcgRiAuOTY2IC0uMTUodmUgdCktLjI1IEggMy4xNjYKKyhhY2lsaXRpZXMgXChzZWUpLS4xIEYgRjEoUHIpNS4zNDkgRSAyLjg0OChvZ3JhbW1hYmxlIENvbXBsZXRpb24pLS4xOCBGCitGMChiZWxvKTE0NCA2NzMuMiBRKHdcKS4pLS4yNSBFIEYxKENPTVBfUE9JTlQpMTA4IDY5MCBRIEYwIC42NjYKKyhUaGUgaW5kZSkxNDQgNzAyIFIgMy4xNjYoeG8pLS4xNSBHIDMuMTY2KGZ0KS0zLjE2NiBHIC42NjYKKyhoZSBjdXJyZW50IGN1cnNvciBwb3NpdGlvbiByZWxhdGkpLTMuMTY2IEYgLjk2NiAtLjE1KHZlIHQpLS4yNSBIIDMuMTY2CiAob3QpLjE1IEcgLjY2NihoZSBiZSktMy4xNjYgRiAuNjY2KGdpbm5pbmcgb2YgdGhlIGN1cnJlbnQgY29tbWFuZC4pLS4xNQotRiAuNjY2KElmIHRoZSk1LjY2NiBGIC41MzQKK0YgLjY2NyhJZiB0aGUpNS42NjcgRiAuNTM1CiAoY3VycmVudCBjdXJzb3IgcG9zaXRpb24gaXMgYXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBjb21tYW5kLCB0aGUgdikxNDQKLTYxOCBSIC41MzUoYWx1ZSBvZiB0aGlzIHYpLS4yNSBGIC41MzUoYXJpYWJsZSBpcyBlcXVhbCB0byktLjI1IEYgRjEKLSgkeyNDT01QX0xJTkV9KTE0NCA2MzAgUSBGMCA3LjAwNiguVClDIDIuMDA2KGhpcyB2KS03LjAwNiBGIDIuMDA2Ci0oYXJpYWJsZSBpcyBhKS0uMjUgRiAtLjI1KHZhKS0uMiBHIDIuMDA1Ci0oaWxhYmxlIG9ubHkgaW4gc2hlbGwgZnVuY3Rpb25zIGFuZCBlKS4yNSBGIDIuMDA1KHh0ZXJuYWwgY29tbWFuZHMpLS4xNQotRihpbikxNDQgNjQyIFEgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuNShkYikuMSBHIDIuNSh5dCktMi41IEcKLShoZSBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmKS0yLjUgRShhY2lsaXRpZXMgXChzZWUpLS4xIEUgRjEoUHIpMi41IEUKLShvZ3JhbW1hYmxlIENvbXBsZXRpb24pLS4xOCBFIEYwKGJlbG8pMi41IEUod1wpLiktLjI1IEUgRjEoQ09NUF9UWVBFKTEwOAotNjU4LjggUSBGMCAuMDQxKFNldCB0byBhbiBpbnRlKTE0NCA2NzAuOCBSIC4wNDEoZ2VyIHYpLS4xNSBGIC4wNDEoYWx1ZSBcCi1jb3JyZXNwb25kaW5nIHRvIHRoZSB0eXBlIG9mIGNvbXBsZXRpb24gYXR0ZW1wdGVkIHRoYXQgY2F1c2VkIGEgY29tcGxldFwKLWlvbiktLjI1IEYgLjMzOChmdW5jdGlvbiB0byBiZSBjYWxsZWQ6KTE0NCA2ODIuOCBSIEYyIC0uNShUQSkyLjgzNyBHKEIpCi0uNSBFIEYwIDIuODM3KCxmKUMgLjMzNyhvciBub3JtYWwgY29tcGxldGlvbiwpLTIuODM3IEYgRjIoPykyLjgzNyBFIEYwCi0yLjgzNygsZilDIC4zMzcob3IgbGlzdGluZyBjb21wbGV0aW9ucyBhZnRlciBzdWNjZXNzaSktMi44MzcgRiAuNjM3IC0uMTUKLSh2ZSB0KS0uMjUgSChhYnMsKS4xNSBFIEYyKCEpMTQ0IDY5NC44IFEgRjAgNC4wOTEoLGYpQyAxLjU5MQotKG9yIGxpc3RpbmcgYWx0ZXJuYXRpKS00LjA5MSBGIC0uMTUodmUpLS4yNSBHIDQuMDkyKHNvKS4xNSBHIDQuMDkyKG5wKQotLTQuMDkyIEcgMS41OTIoYXJ0aWFsIHcpLTQuMDkyIEYgMS41OTIob3JkIGNvbXBsZXRpb24sKS0uMSBGIEYyKEApNC4wOTIKLUUgRjAgNC4wOTIoLHQpQyA0LjA5MihvbCktNC4wOTIgRyAxLjU5Mihpc3QgY29tcGxldGlvbnMgaWYgdGhlIHcpLTQuMDkyCi1GIDEuNTkyKG9yZCBpcyBub3QpLS4xIEYgMS41NTModW5tb2RpXDIxNGVkLCBvcikxNDQgNzA2LjggUiBGMiglKTQuMDUzIEUKLUYwIDQuMDUyKCxmKUMgMS41NTIob3IgbWVudSBjb21wbGV0aW9uLiktNC4wNTIgRiAxLjU1MihUaGlzIHYpNi41NTIgRgotMS41NTIoYXJpYWJsZSBpcyBhKS0uMjUgRiAtLjI1KHZhKS0uMiBHIDEuNTUyCi0oaWxhYmxlIG9ubHkgaW4gc2hlbGwgZnVuY3Rpb25zIGFuZCkuMjUgRiAtLjE1KGV4KTE0NCA3MTguOCBTIDIuOTI4Ci0odGVybmFsIGNvbW1hbmRzIGluKS4xNSBGIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyA1LjQyOShkYikuMSBHIDUuNDI5Ci0oeXQpLTUuNDI5IEcgMi45MjkoaGUgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZiktNS40MjkgRiAyLjkyOQotKGFjaWxpdGllcyBcKHNlZSktLjEgRiBGMShQcik1LjQyOSBFKG9ncmFtbWFibGUpLS4xOCBFKENvbXBsZXRpb24pMTQ0Ci03MzAuOCBRIEYwKGJlbG8pMi41IEUod1wpLiktLjI1IEUoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDkgRmVicnVhcnkgNykKLTE0MC45NiBFKDEwKTE5MC45NSBFIDAgQ2cgRVAKKzcxNCBSIC41MzQoYWx1ZSBvZiB0aGlzIHYpLS4yNSBGIC41MzQoYXJpYWJsZSBpcyBlcXVhbCB0byktLjI1IEYgRjEKKygkeyNDT01QX0xJTkV9KTE0NCA3MjYgUSBGMCA3LjAwNSguVClDIDIuMDA1KGhpcyB2KS03LjAwNSBGIDIuMDA1CisoYXJpYWJsZSBpcyBhKS0uMjUgRiAtLjI1KHZhKS0uMiBHIDIuMDA2CisoaWxhYmxlIG9ubHkgaW4gc2hlbGwgZnVuY3Rpb25zIGFuZCBlKS4yNSBGIDIuMDA2KHh0ZXJuYWwgY29tbWFuZHMpLS4xNQorRihHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoMTApMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogMTEgMTEKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKENPTVBfVykxMDggODQgUShPUkRCUkVBS1MpLS4xIEUgRjAgMS4zMzYKLShUaGUgc2V0IG9mIGNoYXJhY3RlcnMgdGhhdCB0aGUpMTQ0IDk2IFIgRjEgLS4xOChyZSkzLjgzNiBHKGFkbGluZSkuMTggRQotRjAgMS4zMzYobGlicmFyeSB0cmVhdHMgYXMgdykzLjgzNiBGIDEuMzM1Ci0ob3JkIHNlcGFyYXRvcnMgd2hlbiBwZXJmb3JtaW5nIHcpLS4xIEYob3JkKS0uMSBFIDMuMTI1KGNvbXBsZXRpb24uIElmKQotMTQ0IDEwOCBSL0YyIDkvVGltZXMtQm9sZEAwIFNGKENPTVBfVykzLjEyNSBFKE9SREJSRUFLUyktLjA5IEUgRjAgLjYyNgotKGlzIHVuc2V0LCBpdCBsb3NlcyBpdHMgc3BlY2lhbCBwcm9wZXJ0aWVzLCBlKTIuODc1IEYgLS4xNSh2ZSktLjI1IEcKLTMuMTI2KG5pKS4xNSBHIDMuMTI2KGZpKS0zLjEyNiBHIDMuMTI2KHRpKS0zLjEyNiBHIDMuMTI2KHNzKS0zLjEyNiBHCi0odWJzZS0pLTMuMTI2IEUocXVlbnRseSByZXNldC4pMTQ0IDEyMCBRIEYxKENPTVBfVykxMDggMTM2LjggUShPUkRTKS0uMQotRSBGMCAuNjU0KEFuIGFycmF5IHYpMTQ0IDE0OC44IFIgLjY1NChhcmlhYmxlIFwoc2VlKS0uMjUgRiBGMShBcnJheXMpCi0zLjE1NCBFIEYwKGJlbG8pMy4xNTQgRSAuNjU0KHdcKSBjb25zaXN0aW5nIG9mIHRoZSBpbmRpKS0uMjUgRiAuNjUzCi0odmlkdWFsIHcpLS4yNSBGIC42NTMob3JkcyBpbiB0aGUgY3VycmVudCBjb21tYW5kKS0uMSBGIDMuNTM3KGxpbmUuIFRoZSkKLTE0NCAxNjAuOCBSIDEuMDM3KGxpbmUgaXMgc3BsaXQgaW50byB3KTMuNTM3IEYgMS4wMzcob3JkcyBhcyktLjEgRiBGMQotLS4xOChyZSkzLjUzNyBHKGFkbGluZSkuMTggRSBGMCAtLjEod28pMy41MzcgRyAxLjAzNwotKHVsZCBzcGxpdCBpdCwgdXNpbmcpLjEgRiBGMShDT01QX1cpMy41MzggRShPUkRCUkVBS1MpLS4xIEUgRjAoYXMpMy41MzgKLUUgLjgzMihkZXNjcmliZWQgYWJvKTE0NCAxNzIuOCBSIC0uMTUodmUpLS4xNSBHIDUuODMyKC5UKS4xNSBHIC44MzIKLShoaXMgdiktNS44MzIgRiAuODMyKGFyaWFibGUgaXMgYSktLjI1IEYgLS4yNSh2YSktLjIgRyAuODMxCi0oaWxhYmxlIG9ubHkgaW4gc2hlbGwgZnVuY3Rpb25zIGluKS4yNSBGIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAzLjMzMQotKGRiKS4xIEcgMy4zMzEoeXQpLTMuMzMxIEcgLjgzMShoZSBwcm9ncmFtbWFibGUpLTMuMzMxIEYoY29tcGxldGlvbiBmKQotMTQ0IDE4NC44IFEoYWNpbGl0aWVzIFwoc2VlKS0uMSBFIEYxKFByKTIuNSBFKG9ncmFtbWFibGUgQ29tcGxldGlvbiktLjE4Ci1FIEYwKGJlbG8pMi41IEUod1wpLiktLjI1IEUgRjEoRElSU1QpMTA4IDIwMS42IFEgLS41NShBQyktLjkgRyhLKS41NSBFCi1GMCAyLjI2KEFuIGFycmF5IHYpMTQ0IDIxMy42IFIgMi4yNihhcmlhYmxlIFwoc2VlKS0uMjUgRiBGMShBcnJheXMpNC43NgorLS4zNSBFKGluKTE0NCA4NCBRIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAyLjUoZGIpLjEgRyAyLjUoeXQpLTIuNSBHCisoaGUgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZiktMi41IEUoYWNpbGl0aWVzIFwoc2VlKS0uMSBFL0YxIDEwCisvVGltZXMtQm9sZEAwIFNGKFByKTIuNSBFKG9ncmFtbWFibGUgQ29tcGxldGlvbiktLjE4IEUgRjAoYmVsbykyLjUgRQorKHdcKS4pLS4yNSBFIEYxKENPTVBfVFlQRSkxMDggMTAwLjggUSBGMCAuMDQyKFNldCB0byBhbiBpbnRlKTE0NCAxMTIuOCBSCisuMDQyKGdlciB2KS0uMTUgRiAuMDQxKGFsdWUgY29ycmVzcG9uZGluZyB0byB0aGUgdHlwZSBvZiBjb21wbGV0aW9uIGF0dFwKK2VtcHRlZCB0aGF0IGNhdXNlZCBhIGNvbXBsZXRpb24pLS4yNSBGIC4zMzcoZnVuY3Rpb24gdG8gYmUgY2FsbGVkOikxNDQKKzEyNC44IFIvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YgLS41KFRBKTIuODM3IEcoQikuNSBFIEYwIDIuODM3KCxmKUMgLjMzNworKG9yIG5vcm1hbCBjb21wbGV0aW9uLCktMi44MzcgRiBGMig/KTIuODM3IEUgRjAgMi44MzcoLGYpQyAuMzM3Cisob3IgbGlzdGluZyBjb21wbGV0aW9ucyBhZnRlciBzdWNjZXNzaSktMi44MzcgRiAuNjM4IC0uMTUodmUgdCktLjI1IEgKKyhhYnMsKS4xNSBFIEYyKCEpMTQ0IDEzNi44IFEgRjAgNC4wOTIoLGYpQyAxLjU5MihvciBsaXN0aW5nIGFsdGVybmF0aSkKKy00LjA5MiBGIC0uMTUodmUpLS4yNSBHIDQuMDkyKHNvKS4xNSBHIDQuMDkyKG5wKS00LjA5MiBHIDEuNTkyKGFydGlhbCB3KQorLTQuMDkyIEYgMS41OTIob3JkIGNvbXBsZXRpb24sKS0uMSBGIEYyKEApNC4wOTIgRSBGMCA0LjA5MigsdClDIDQuMDkyCisob2wpLTQuMDkyIEcgMS41OTIoaXN0IGNvbXBsZXRpb25zIGlmIHRoZSB3KS00LjA5MiBGIDEuNTkxKG9yZCBpcyBub3QpCistLjEgRiAxLjU1Mih1bm1vZGlcMjE0ZWQsIG9yKTE0NCAxNDguOCBSIEYyKCUpNC4wNTIgRSBGMCA0LjA1MigsZilDCisxLjU1MihvciBtZW51IGNvbXBsZXRpb24uKS00LjA1MiBGIDEuNTUyKFRoaXMgdik2LjU1MiBGIDEuNTUyCisoYXJpYWJsZSBpcyBhKS0uMjUgRiAtLjI1KHZhKS0uMiBHIDEuNTUyCisoaWxhYmxlIG9ubHkgaW4gc2hlbGwgZnVuY3Rpb25zIGFuZCkuMjUgRiAtLjE1KGV4KTE0NCAxNjAuOCBTIDIuOTI5CisodGVybmFsIGNvbW1hbmRzIGluKS4xNSBGIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyA1LjQyOShkYikuMSBHIDUuNDI5CisoeXQpLTUuNDI5IEcgMi45MjkoaGUgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZiktNS40MjkgRiAyLjkyOQorKGFjaWxpdGllcyBcKHNlZSktLjEgRiBGMShQcik1LjQyOCBFKG9ncmFtbWFibGUpLS4xOCBFKENvbXBsZXRpb24pMTQ0CisxNzIuOCBRIEYwKGJlbG8pMi41IEUod1wpLiktLjI1IEUgRjEoQ09NUF9XKTEwOCAxODkuNiBRKE9SREJSRUFLUyktLjEgRQorRjAgMS4zMzUoVGhlIHNldCBvZiBjaGFyYWN0ZXJzIHRoYXQgdGhlKTE0NCAyMDEuNiBSIEYxIC0uMTgocmUpMy44MzYgRworKGFkbGluZSkuMTggRSBGMCAxLjMzNihsaWJyYXJ5IHRyZWF0cyBhcyB3KTMuODM2IEYgMS4zMzYKKyhvcmQgc2VwYXJhdG9ycyB3aGVuIHBlcmZvcm1pbmcgdyktLjEgRihvcmQpLS4xIEUgMy4xMjYoY29tcGxldGlvbi4gSWYpCisxNDQgMjEzLjYgUi9GMyA5L1RpbWVzLUJvbGRAMCBTRihDT01QX1cpMy4xMjYgRShPUkRCUkVBS1MpLS4wOSBFIEYwIC42MjYKKyhpcyB1bnNldCwgaXQgbG9zZXMgaXRzIHNwZWNpYWwgcHJvcGVydGllcywgZSkyLjg3NiBGIC0uMTUodmUpLS4yNSBHCiszLjEyNShuaSkuMTUgRyAzLjEyNShmaSktMy4xMjUgRyAzLjEyNSh0aSktMy4xMjUgRyAzLjEyNShzcyktMy4xMjUgRworKHVic2UtKS0zLjEyNSBFKHF1ZW50bHkgcmVzZXQuKTE0NCAyMjUuNiBRIEYxKENPTVBfVykxMDggMjQyLjQgUShPUkRTKQorLS4xIEUgRjAgLjY1MyhBbiBhcnJheSB2KTE0NCAyNTQuNCBSIC42NTMoYXJpYWJsZSBcKHNlZSktLjI1IEYgRjEKKyhBcnJheXMpMy4xNTMgRSBGMChiZWxvKTMuMTUzIEUgLjY1NCh3XCkgY29uc2lzdGluZyBvZiB0aGUgaW5kaSktLjI1IEYKKy42NTQodmlkdWFsIHcpLS4yNSBGIC42NTQob3JkcyBpbiB0aGUgY3VycmVudCBjb21tYW5kKS0uMSBGIDQuMzMzCisobGluZS4gVGhlKTE0NCAyNjYuNCBSIDEuODMyKGxpbmUgaXMgc3BsaXQgaW50byB3KTQuMzMyIEYgMS44MzIob3JkcyBhcykKKy0uMSBGIEYxIC0uMTgocmUpNC4zMzIgRyhhZGxpbmUpLjE4IEUgRjAgLS4xKHdvKTQuMzMyIEcgMS44MzIKKyh1bGQgc3BsaXQgaXQsIHVzaW5nKS4xIEYgRjMoQ09NUF9XKTQuMzMyIEUoT1JEQlJFQUtTKS0uMDkgRSBGMChhcyk0LjA4MgorRSAuODMxKGRlc2NyaWJlZCBhYm8pMTQ0IDI3OC40IFIgLS4xNSh2ZSktLjE1IEcgNS44MzEoLlQpLjE1IEcgLjgzMQorKGhpcyB2KS01LjgzMSBGIC44MzEoYXJpYWJsZSBpcyBhKS0uMjUgRiAtLjI1KHZhKS0uMiBHIC44MzIKKyhpbGFibGUgb25seSBpbiBzaGVsbCBmdW5jdGlvbnMgaW4pLjI1IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDMuMzMyCisoZGIpLjEgRyAzLjMzMih5dCktMy4zMzIgRyAuODMyKGhlIHByb2dyYW1tYWJsZSktMy4zMzIgRihjb21wbGV0aW9uIGYpCisxNDQgMjkwLjQgUShhY2lsaXRpZXMgXChzZWUpLS4xIEUgRjEoUHIpMi41IEUob2dyYW1tYWJsZSBDb21wbGV0aW9uKS0uMTgKK0UgRjAoYmVsbykyLjUgRSh3XCkuKS0uMjUgRSBGMShESVJTVCkxMDggMzA3LjIgUSAtLjU1KEFDKS0uOSBHKEspLjU1IEUKK0YwIDIuMjYoQW4gYXJyYXkgdikxNDQgMzE5LjIgUiAyLjI2KGFyaWFibGUgXChzZWUpLS4yNSBGIEYxKEFycmF5cyk0Ljc2CiBFIEYwKGJlbG8pNC43NiBFIDIuMjYKICh3XCkgY29udGFpbmluZyB0aGUgY3VycmVudCBjb250ZW50cyBvZiB0aGUgZGlyZWN0b3J5IHN0YWNrLiktLjI1IEYKLTEuMDk1KERpcmVjdG9yaWVzIGFwcGVhciBpbiB0aGUgc3RhY2sgaW4gdGhlIG9yZGVyIHRoZSkxNDQgMjI1LjYgUiAzLjU5NAotKHlhKS0uMTUgRyAxLjA5NChyZSBkaXNwbGF5ZWQgYnkgdGhlKS0zLjU5NCBGIEYxKGRpcnMpMy41OTQgRSBGMCAtLjIoYnUpCi0zLjU5NCBHIDMuNTk0KGlsdGluLiBBc3NpZ25pbmcpLjIgRih0bykzLjU5NCBFIDEuNDMxCi0obWVtYmVycyBvZiB0aGlzIGFycmF5IHYpMTQ0IDIzNy42IFIgMS40MzIKKzEuMDk0KERpcmVjdG9yaWVzIGFwcGVhciBpbiB0aGUgc3RhY2sgaW4gdGhlIG9yZGVyIHRoZSkxNDQgMzMxLjIgUiAzLjU5NAorKHlhKS0uMTUgRyAxLjA5NShyZSBkaXNwbGF5ZWQgYnkgdGhlKS0zLjU5NCBGIEYxKGRpcnMpMy41OTUgRSBGMCAtLjIoYnUpCiszLjU5NSBHIDMuNTk1KGlsdGluLiBBc3NpZ25pbmcpLjIgRih0bykzLjU5NSBFIDEuNDMyCisobWVtYmVycyBvZiB0aGlzIGFycmF5IHYpMTQ0IDM0My4yIFIgMS40MzIKIChhcmlhYmxlIG1heSBiZSB1c2VkIHRvIG1vZGlmeSBkaXJlY3RvcmllcyBhbHJlYWR5IGluIHRoZSBzdGFjaywgYiktLjI1Ci1GIDEuNDMyKHV0IHRoZSktLjIgRiBGMShwdXNoZCkxNDQgMjQ5LjYgUSBGMChhbmQpMi43NDYgRSBGMShwb3BkKTIuNzQ2IEUKK0YgMS40MzEodXQgdGhlKS0uMiBGIEYxKHB1c2hkKTE0NCAzNTUuMiBRIEYwKGFuZCkyLjc0NiBFIEYxKHBvcGQpMi43NDYgRQogRjAgLS4yKGJ1KTIuNzQ2IEcgLjI0NihpbHRpbnMgbXVzdCBiZSB1c2VkIHRvIGFkZCBhbmQgcmVtbykuMiBGIC41NDYKIC0uMTUodmUgZCktLjE1IEggMi43NDYoaXJlY3Rvcmllcy4gQXNzaWdubWVudCkuMTUgRiAuMjQ2KHRvIHRoaXMgdikyLjc0NgotRihhcmlhYmxlKS0uMjUgRSAuMzUod2lsbCBub3QgY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeSkxNDQgMjYxLjYgUgotNS4zNSguSSktLjY1IEcoZiktNS4zNSBFIEYyKERJUlNUKTIuODUgRSAtLjQ5NShBQyktLjgxIEcoSykuNDk1IEUgRjAgLjM1Ci0oaXMgdW5zZXQsIGl0IGxvc2VzIGl0cyBzcGVjaWFsIHByb3BlcnRpZXMsIGUpMi42IEYgLS4xNSh2ZSktLjI1IEcgMi44NTEKLShuaSkuMTUgRyhmKS0yLjg1MSBFKGl0IGlzIHN1YnNlcXVlbnRseSByZXNldC4pMTQ0IDI3My42IFEgRjEoRVVJRCkxMDgKLTI5MC40IFEgRjAgMS4xMDQoRXhwYW5kcyB0byB0aGUgZWYpMTEgRihmZWN0aSktLjI1IEUgMS40MDMgLS4xNSh2ZSB1KQotLS4yNSBIIDEuMTAzKHNlciBJRCBvZiB0aGUgY3VycmVudCB1c2VyKS4xNSBGIDMuNjAzKCxpKS0uNCBHIDEuMTAzCi0obml0aWFsaXplZCBhdCBzaGVsbCBzdGFydHVwLiktMy42MDMgRiAxLjEwMyhUaGlzIHYpNi4xMDMgRiAxLjEwMwotKGFyaWFibGUgaXMpLS4yNSBGKHJlYWRvbmx5KTE0NCAzMDIuNCBRKC4pLS42NSBFIEYxKEZVTkNOKTEwOCAzMTkuMiBRCi0oQU1FKS0uMiBFIEYwIC40NzgoQW4gYXJyYXkgdikxNDQgMzMxLjIgUiAuNDc5CitGKGFyaWFibGUpLS4yNSBFIC4zNTEod2lsbCBub3QgY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeSkxNDQgMzY3LjIgUgorNS4zNSguSSktLjY1IEcoZiktNS4zNSBFIEYzKERJUlNUKTIuODUgRSAtLjQ5NShBQyktLjgxIEcoSykuNDk1IEUgRjAgLjM1CisoaXMgdW5zZXQsIGl0IGxvc2VzIGl0cyBzcGVjaWFsIHByb3BlcnRpZXMsIGUpMi42IEYgLS4xNSh2ZSktLjI1IEcgMi44NQorKG5pKS4xNSBHKGYpLTIuODUgRShpdCBpcyBzdWJzZXF1ZW50bHkgcmVzZXQuKTE0NCAzNzkuMiBRIEYxKEVVSUQpMTA4CiszOTYgUSBGMCAxLjEwMyhFeHBhbmRzIHRvIHRoZSBlZikxMSBGKGZlY3RpKS0uMjUgRSAxLjQwMyAtLjE1KHZlIHUpLS4yNQorSCAxLjEwMyhzZXIgSUQgb2YgdGhlIGN1cnJlbnQgdXNlcikuMTUgRiAzLjYwMygsaSktLjQgRyAxLjEwMworKG5pdGlhbGl6ZWQgYXQgc2hlbGwgc3RhcnR1cC4pLTMuNjAzIEYgMS4xMDQoVGhpcyB2KTYuMTAzIEYgMS4xMDQKKyhhcmlhYmxlIGlzKS0uMjUgRihyZWFkb25seSkxNDQgNDA4IFEoLiktLjY1IEUgRjEoRlVOQ04pMTA4IDQyNC44IFEoQU1FKQorLS4yIEUgRjAgLjQ3OShBbiBhcnJheSB2KTE0NCA0MzYuOCBSIC40NzkKIChhcmlhYmxlIGNvbnRhaW5pbmcgdGhlIG5hbWVzIG9mIGFsbCBzaGVsbCBmdW5jdGlvbnMgY3VycmVudGx5IGluIHRoZSBlKQotLS4yNSBGIC0uMTUoeGUpLS4xNSBHIC40NzkoY3V0aW9uIGNhbGwgc3RhY2suKS4xNSBGIC4yNzcKLShUaGUgZWxlbWVudCB3aXRoIGluZGUpMTQ0IDM0My4yIFIgMi43NzcoeDBpKS0uMTUgRyAyLjc3NyhzdCktMi43NzcgRwotLjI3NihoZSBuYW1lIG9mIGFuKS0yLjc3NyBGIDIuNzc2KHljKS0uMTUgRyh1cnJlbnRseS1lKS0yLjc3NiBFIC0uMTUoeGUpCi0tLjE1IEcgLjI3NihjdXRpbmcgc2hlbGwgZnVuY3Rpb24uKS4xNSBGIC4yNzYoVGhlIGJvdHRvbS1tb3N0KTUuMjc2IEYKLS4yNShlbGVtZW50IGlzKTE0NCAzNTUuMiBSL0YzIDEwL0NvdXJpZXJAMCBTRigibWFpbiIpMi43NSBFIEYwIDUuMjUoLlQpQworLS4yNSBGIC0uMTUoeGUpLS4xNSBHIC40NzgoY3V0aW9uIGNhbGwgc3RhY2suKS4xNSBGIC4yNzYKKyhUaGUgZWxlbWVudCB3aXRoIGluZGUpMTQ0IDQ0OC44IFIgMi43NzYoeDBpKS0uMTUgRyAyLjc3NihzdCktMi43NzYgRworLjI3NihoZSBuYW1lIG9mIGFuKS0yLjc3NiBGIDIuNzc3KHljKS0uMTUgRyh1cnJlbnRseS1lKS0yLjc3NyBFIC0uMTUoeGUpCistLjE1IEcgLjI3NyhjdXRpbmcgc2hlbGwgZnVuY3Rpb24uKS4xNSBGIC4yNzcoVGhlIGJvdHRvbS1tb3N0KTUuMjc3IEYKKy4yNShlbGVtZW50IGlzKTE0NCA0NjAuOCBSL0Y0IDEwL0NvdXJpZXJAMCBTRigibWFpbiIpMi43NSBFIEYwIDUuMjUoLlQpQwogLjI1KGhpcyB2KS01LjI1IEYgLjI1KGFyaWFibGUgZSktLjI1IEYgLjI1CiAoeGlzdHMgb25seSB3aGVuIGEgc2hlbGwgZnVuY3Rpb24gaXMgZSktLjE1IEYgLS4xNSh4ZSktLjE1IEcgMi43NQotKGN1dGluZy4gQXNzaWdubWVudHMpLjE1IEYodG8pMi43NSBFIEYyKEZVTkNOKTE0NCAzNjcuMiBRKEFNRSktLjE4IEUgRjAKLShoYSkyLjYzNSBFIC42ODUgLS4xNSh2ZSBuKS0uMiBIIDIuODg1KG9lKS4xNSBHIC0uMjUoZmYpLTIuODg1IEcgLjM4NQotKGVjdCBhbmQgcmV0dXJuIGFuIGVycm9yIHN0YXR1cy4pLjI1IEYoSWYpNS4zODUgRSBGMihGVU5DTikyLjg4NSBFKEFNRSkKLS0uMTggRSBGMCAuMzg0KGlzIHVuc2V0LCBpdCBsb3NlcyBpdHMgc3BlY2lhbCkyLjYzNCBGKHByb3BlcnRpZXMsIGUpMTQ0Ci0zNzkuMiBRIC0uMTUodmUpLS4yNSBHIDIuNShuaSkuMTUgRyAyLjUoZmkpLTIuNSBHIDIuNSh0aSktMi41IEcgMi41KHNzKQotLTIuNSBHKHVic2VxdWVudGx5IHJlc2V0LiktMi41IEUgRjEoR1IpMTA4IDM5NiBRKE9VUFMpLS4zIEUgRjAgMS4yMjgKLShBbiBhcnJheSB2KTE0NCA0MDggUiAxLjIyOChhcmlhYmxlIGNvbnRhaW5pbmcgdGhlIGxpc3Qgb2YgZ3JvdXBzIG9mIHdoXAotaWNoIHRoZSBjdXJyZW50IHVzZXIgaXMgYSBtZW1iZXIpLS4yNSBGIDYuMjI5KC5BKS0uNTUgRyhzc2lnbi0pLTYuMjI5IEUKLS41OTcobWVudHMgdG8pMTQ0IDQyMCBSIEYyKEdSKTMuMDk3IEUoT1VQUyktLjI3IEUgRjAoaGEpMi44NDcgRSAuODk3CisoY3V0aW5nLiBBc3NpZ25tZW50cykuMTUgRih0bykyLjc1IEUgRjMoRlVOQ04pMTQ0IDQ3Mi44IFEoQU1FKS0uMTggRSBGMAorKGhhKTIuNjM0IEUgLjY4NCAtLjE1KHZlIG4pLS4yIEggMi44ODQob2UpLjE1IEcgLS4yNShmZiktMi44ODQgRyAuMzg0CisoZWN0IGFuZCByZXR1cm4gYW4gZXJyb3Igc3RhdHVzLikuMjUgRihJZik1LjM4NSBFIEYzKEZVTkNOKTIuODg1IEUoQU1FKQorLS4xOCBFIEYwIC4zODUoaXMgdW5zZXQsIGl0IGxvc2VzIGl0cyBzcGVjaWFsKTIuNjM1IEYocHJvcGVydGllcywgZSkxNDQKKzQ4NC44IFEgLS4xNSh2ZSktLjI1IEcgMi41KG5pKS4xNSBHIDIuNShmaSktMi41IEcgMi41KHRpKS0yLjUgRyAyLjUoc3MpCistMi41IEcodWJzZXF1ZW50bHkgcmVzZXQuKS0yLjUgRSBGMShHUikxMDggNTAxLjYgUShPVVBTKS0uMyBFIEYwIDEuMjI5CisoQW4gYXJyYXkgdikxNDQgNTEzLjYgUiAxLjIyOChhcmlhYmxlIGNvbnRhaW5pbmcgdGhlIGxpc3Qgb2YgZ3JvdXBzIG9mIFwKK3doaWNoIHRoZSBjdXJyZW50IHVzZXIgaXMgYSBtZW1iZXIpLS4yNSBGIDYuMjI4KC5BKS0uNTUgRyhzc2lnbi0pLTYuMjI4CitFIC41OTYobWVudHMgdG8pMTQ0IDUyNS42IFIgRjMoR1IpMy4wOTYgRShPVVBTKS0uMjcgRSBGMChoYSkyLjg0NyBFIC44OTcKIC0uMTUodmUgbiktLjIgSCAzLjA5NyhvZSkuMTUgRyAtLjI1KGZmKS0zLjA5NyBHIC41OTcKLShlY3QgYW5kIHJldHVybiBhbiBlcnJvciBzdGF0dXMuKS4yNSBGKElmKTUuNTk3IEUgRjIoR1IpMy4wOTcgRShPVVBTKQorKGVjdCBhbmQgcmV0dXJuIGFuIGVycm9yIHN0YXR1cy4pLjI1IEYoSWYpNS41OTcgRSBGMyhHUikzLjA5NyBFKE9VUFMpCiAtLjI3IEUgRjAgLjU5NyhpcyB1bnNldCwgaXQgbG9zZXMgaXRzIHNwZS0pMi44NDcgRihjaWFsIHByb3BlcnRpZXMsIGUpCi0xNDQgNDMyIFEgLS4xNSh2ZSktLjI1IEcgMi41KG5pKS4xNSBHIDIuNShmaSktMi41IEcgMi41KHRpKS0yLjUgRyAyLjUKLShzcyktMi41IEcodWJzZXF1ZW50bHkgcmVzZXQuKS0yLjUgRSBGMShISVNUQ01EKTEwOCA0NDguOCBRIEYwIC4zNTUKLShUaGUgaGlzdG9yeSBudW1iZXIpMTQ0IDQ2MC44IFIgMi44NTUoLG8pLS40IEcgMi44NTUocmkpLTIuODU1IEcobmRlKQotLTIuODU1IEUgMi44NTYoeGkpLS4xNSBHIDIuODU2KG50KS0yLjg1NiBHIC4zNTYKLShoZSBoaXN0b3J5IGxpc3QsIG9mIHRoZSBjdXJyZW50IGNvbW1hbmQuKS0yLjg1NiBGKElmKTUuMzU2IEUgRjIKLShISVNUQ01EKTIuODU2IEUgRjAgLjM1NihpcyB1bnNldCwgaXQpMi42MDYgRgotKGxvc2VzIGl0cyBzcGVjaWFsIHByb3BlcnRpZXMsIGUpMTQ0IDQ3Mi44IFEgLS4xNSh2ZSktLjI1IEcgMi41KG5pKS4xNSBHCisxNDQgNTM3LjYgUSAtLjE1KHZlKS0uMjUgRyAyLjUobmkpLjE1IEcgMi41KGZpKS0yLjUgRyAyLjUodGkpLTIuNSBHIDIuNQorKHNzKS0yLjUgRyh1YnNlcXVlbnRseSByZXNldC4pLTIuNSBFIEYxKEhJU1RDTUQpMTA4IDU1NC40IFEgRjAgLjM1NgorKFRoZSBoaXN0b3J5IG51bWJlcikxNDQgNTY2LjQgUiAyLjg1NigsbyktLjQgRyAyLjg1NihyaSktMi44NTYgRyhuZGUpCistMi44NTYgRSAyLjg1Nih4aSktLjE1IEcgMi44NTYobnQpLTIuODU2IEcgLjM1NgorKGhlIGhpc3RvcnkgbGlzdCwgb2YgdGhlIGN1cnJlbnQgY29tbWFuZC4pLTIuODU2IEYoSWYpNS4zNTYgRSBGMworKEhJU1RDTUQpMi44NTUgRSBGMCAuMzU1KGlzIHVuc2V0LCBpdCkyLjYwNSBGCisobG9zZXMgaXRzIHNwZWNpYWwgcHJvcGVydGllcywgZSkxNDQgNTc4LjQgUSAtLjE1KHZlKS0uMjUgRyAyLjUobmkpLjE1IEcKIDIuNShmaSktMi41IEcgMi41KHRpKS0yLjUgRyAyLjUoc3MpLTIuNSBHKHVic2VxdWVudGx5IHJlc2V0LiktMi41IEUgRjEKLShIT1NUTikxMDggNDg5LjYgUShBTUUpLS4yIEUgRjAKLShBdXRvbWF0aWNhbGx5IHNldCB0byB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBob3N0LikxNDQgNTAxLjYgUSBGMQotKEhPU1RUWVBFKTEwOCA1MTguNCBRIEYwIC4yMjMoQXV0b21hdGljYWxseSBzZXQgdG8gYSBzdHJpbmcgdGhhdCB1bmlxdWVcCi1seSBkZXNjcmliZXMgdGhlIHR5cGUgb2YgbWFjaGluZSBvbiB3aGljaCkxNDQgNTMwLjQgUiBGMShiYXNoKTIuNzIyIEUgRjAKLS4yMjIoaXMgZSkyLjcyMiBGIC0uMTUoeGUpLS4xNSBHKGN1dC0pLjE1IEUgMi41KGluZy4gVGhlKTE0NCA1NDIuNCBSCi0oZGVmKTIuNSBFKGF1bHQgaXMgc3lzdGVtLWRlcGVuZGVudC4pLS4xIEUgRjEoTElORU5PKTEwOCA1NTkuMiBRIEYwCi0xLjQwOChFYWNoIHRpbWUgdGhpcyBwYXJhbWV0ZXIgaXMgcmVmZXJlbmNlZCwgdGhlIHNoZWxsIHN1YnN0aXR1dGVzIGEgZFwKLWVjaW1hbCBudW1iZXIgcmVwcmVzZW50aW5nIHRoZSkxNDQgNTcxLjIgUiAuMDc4KGN1cnJlbnQgc2VxdWVudGlhbCBsaW5lXAotIG51bWJlciBcKHN0YXJ0aW5nIHdpdGggMVwpIHdpdGhpbiBhIHNjcmlwdCBvciBmdW5jdGlvbi4pMTQ0IDU4My4yIFIKLS4wNzgoV2hlbiBub3QgaW4gYSBzY3JpcHQgb3IpNS4wNzggRiAuMzA2KGZ1bmN0aW9uLCB0aGUgdikxNDQgNTk1LjIgUgotLjMwNihhbHVlIHN1YnN0aXR1dGVkIGlzIG5vdCBndWFyYW50ZWVkIHRvIGJlIG1lYW5pbmdmdWwuKS0uMjUgRihJZikKLTUuMzA3IEUgRjIoTElORU5PKTIuODA3IEUgRjAgLjMwNyhpcyB1bnNldCwgaXQgbG9zZXMgaXRzKTIuNTU3IEYKLShzcGVjaWFsIHByb3BlcnRpZXMsIGUpMTQ0IDYwNy4yIFEgLS4xNSh2ZSktLjI1IEcgMi41KG5pKS4xNSBHIDIuNShmaSkKLS0yLjUgRyAyLjUodGkpLTIuNSBHIDIuNShzcyktMi41IEcodWJzZXF1ZW50bHkgcmVzZXQuKS0yLjUgRSBGMShNQSkxMDgKLTYyNCBRKENIVFlQRSktLjU1IEUgRjAgLjg5OChBdXRvbWF0aWNhbGx5IHNldCB0byBhIHN0cmluZyB0aGF0IGZ1bGx5IGRlXAotc2NyaWJlcyB0aGUgc3lzdGVtIHR5cGUgb24gd2hpY2gpMTQ0IDYzNiBSIEYxKGJhc2gpMy4zOTggRSBGMCAuODk4KGlzIGUpCi0zLjM5OCBGIC0uMTUoeGUpLS4xNSBHIC44OTgoY3V0aW5nLCBpbikuMTUgRih0aGUgc3RhbmRhcmQgR05VKTE0NCA2NDggUQotL0Y0IDEwL1RpbWVzLUl0YWxpY0AwIFNGKGNwdS1jb21wYW55LXN5c3RlbSkyLjUgRSBGMCAyLjUoZm9ybWF0LiBUaGUpMi41Ci1GKGRlZikyLjUgRShhdWx0IGlzIHN5c3RlbS1kZXBlbmRlbnQuKS0uMSBFIEYxKE9MRFBXRCkxMDggNjY0LjggUSBGMAotKFRoZSBwcmUpMTQ0IDY3Ni44IFEodmlvdXMgdyktLjI1IEUob3JraW5nIGRpcmVjdG9yeSBhcyBzZXQgYnkgdGhlKS0uMSBFCi1GMShjZCkyLjUgRSBGMChjb21tYW5kLikyLjUgRSBGMShPUFQpMTA4IDY5My42IFEoQVJHKS0uOSBFIEYwIDEuNjI2Ci0oVGhlIHYpMTQ0IDcwNS42IFIgMS42MjcoYWx1ZSBvZiB0aGUgbGFzdCBvcHRpb24gYXIpLS4yNSBGIDEuNjI3Ci0oZ3VtZW50IHByb2Nlc3NlZCBieSB0aGUpLS4xOCBGIEYxKGdldG9wdHMpNC4xMjcgRSBGMCAtLjIoYnUpNC4xMjcgRwotMS42MjcoaWx0aW4gY29tbWFuZCBcKHNlZSkuMiBGIEYyKFNIRUxMKTQuMTI3IEUgLS4wOShCVSkxNDQgNzE3LjYgUyhJTCkKLS4wOSBFKFRJTiBDT01NQU5EUyktLjgyOCBFIEYwKGJlbG8pMi4yNSBFKHdcKS4pLS4yNSBFKEdOVSBCYXNoLTQuMCk3MgotNzY4IFEoMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFKDExKTE5MC45NSBFIDAgQ2cgRVAKKyhIT1NUTikxMDggNTk1LjIgUShBTUUpLS4yIEUgRjAKKyhBdXRvbWF0aWNhbGx5IHNldCB0byB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBob3N0LikxNDQgNjA3LjIgUSBGMQorKEhPU1RUWVBFKTEwOCA2MjQgUSBGMCAuMjIyKEF1dG9tYXRpY2FsbHkgc2V0IHRvIGEgc3RyaW5nIHRoYXQgdW5pcXVlbHlcCisgZGVzY3JpYmVzIHRoZSB0eXBlIG9mIG1hY2hpbmUgb24gd2hpY2gpMTQ0IDYzNiBSIEYxKGJhc2gpMi43MjMgRSBGMAorLjIyMyhpcyBlKTIuNzIzIEYgLS4xNSh4ZSktLjE1IEcoY3V0LSkuMTUgRSAyLjUoaW5nLiBUaGUpMTQ0IDY0OCBSKGRlZikKKzIuNSBFKGF1bHQgaXMgc3lzdGVtLWRlcGVuZGVudC4pLS4xIEUgRjEoTElORU5PKTEwOCA2NjQuOCBRIEYwIDEuNDA4KEVhXAorY2ggdGltZSB0aGlzIHBhcmFtZXRlciBpcyByZWZlcmVuY2VkLCB0aGUgc2hlbGwgc3Vic3RpdHV0ZXMgYSBkZWNpbWFsIG5cCit1bWJlciByZXByZXNlbnRpbmcgdGhlKTE0NCA2NzYuOCBSIC4wNzgoY3VycmVudCBzZXF1ZW50aWFsIGxpbmUgbnVtYmVyIFwKK1woc3RhcnRpbmcgd2l0aCAxXCkgd2l0aGluIGEgc2NyaXB0IG9yIGZ1bmN0aW9uLikxNDQgNjg4LjggUiAuMDc5CisoV2hlbiBub3QgaW4gYSBzY3JpcHQgb3IpNS4wNzggRiAuMzA3KGZ1bmN0aW9uLCB0aGUgdikxNDQgNzAwLjggUiAuMzA3CisoYWx1ZSBzdWJzdGl0dXRlZCBpcyBub3QgZ3VhcmFudGVlZCB0byBiZSBtZWFuaW5nZnVsLiktLjI1IEYoSWYpNS4zMDYgRQorRjMoTElORU5PKTIuODA2IEUgRjAgLjMwNihpcyB1bnNldCwgaXQgbG9zZXMgaXRzKTIuNTU2IEYKKyhzcGVjaWFsIHByb3BlcnRpZXMsIGUpMTQ0IDcxMi44IFEgLS4xNSh2ZSktLjI1IEcgMi41KG5pKS4xNSBHIDIuNShmaSkKKy0yLjUgRyAyLjUodGkpLTIuNSBHIDIuNShzcyktMi41IEcodWJzZXF1ZW50bHkgcmVzZXQuKS0yLjUgRQorKEdOVSBCYXNoLTQuMSk3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgxMSkxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiAxMiAxMgogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoT1BUSU5EKTEwOCA4NCBRIEYwIDEuNjUyKFRoZSBpbmRlKTE0NCA5NiBSCi00LjE1Mih4byktLjE1IEcgNC4xNTIoZnQpLTQuMTUyIEcgMS42NTIoaGUgbmUpLTQuMTUyIEYgMS42NTIoeHQgYXIpLS4xNQotRiAxLjY1MihndW1lbnQgdG8gYmUgcHJvY2Vzc2VkIGJ5IHRoZSktLjE4IEYgRjEoZ2V0b3B0cyk0LjE1MSBFIEYwIC0uMgotKGJ1KTQuMTUxIEcgMS42NTEoaWx0aW4gY29tbWFuZCBcKHNlZSkuMiBGL0YyIDkvVGltZXMtQm9sZEAwIFNGKFNIRUxMKQotNC4xNTEgRSAtLjA5KEJVKTE0NCAxMDggUyhJTCkuMDkgRShUSU4gQ09NTUFORFMpLS44MjggRSBGMChiZWxvKTIuMjUgRQotKHdcKS4pLS4yNSBFIEYxKE9TVFlQRSkxMDggMTI0LjggUSBGMCAuMzI5KEF1dG9tYXRpY2FsbHkgc2V0IHRvIGEgc3RyaW5cCi1nIHRoYXQgZGVzY3JpYmVzIHRoZSBvcGVyYXRpbmcgc3lzdGVtIG9uIHdoaWNoKTE0NCAxMzYuOCBSIEYxKGJhc2gpMi44MwotRSBGMCAuMzMoaXMgZSkyLjgzIEYgLS4xNSh4ZSktLjE1IEcgMi44MyhjdXRpbmcuIFRoZSkuMTUgRihkZWYpMTQ0IDE0OC44Ci1RKGF1bHQgaXMgc3lzdGVtLWRlcGVuZGVudC4pLS4xIEUgRjEoUElQRVNUKTEwOCAxNjUuNiBRIC0uOTUoQVQpLS45IEcKLShVUykuOTUgRSBGMCAuNjEoQW4gYXJyYXkgdikxNDQgMTc3LjYgUiAuNjEoYXJpYWJsZSBcKHNlZSktLjI1IEYgRjEKLShBcnJheXMpMy4xMSBFIEYwKGJlbG8pMy4xMSBFIC42MSh3XCkgY29udGFpbmluZyBhIGxpc3Qgb2YgZSktLjI1IEYgLjYxCi0oeGl0IHN0YXR1cyB2KS0uMTUgRiAuNjEoYWx1ZXMgZnJvbSB0aGUgcHJvY2Vzc2VzIGluKS0uMjUgRgotKHRoZSBtb3N0LXJlY2VudGx5LWUpMTQ0IDE4OS42IFEgLS4xNSh4ZSktLjE1IEcoY3V0ZWQgZm9yZSkuMTUgRQorLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihNQSkxMDggODQgUShDSFRZUEUpLS41NSBFIEYwIC44OTgoQXV0b21hdGlcCitjYWxseSBzZXQgdG8gYSBzdHJpbmcgdGhhdCBmdWxseSBkZXNjcmliZXMgdGhlIHN5c3RlbSB0eXBlIG9uIHdoaWNoKTE0NAorOTYgUiBGMShiYXNoKTMuMzk4IEUgRjAgLjg5OShpcyBlKTMuMzk4IEYgLS4xNSh4ZSktLjE1IEcgLjg5OQorKGN1dGluZywgaW4pLjE1IEYodGhlIHN0YW5kYXJkIEdOVSkxNDQgMTA4IFEvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YKKyhjcHUtY29tcGFueS1zeXN0ZW0pMi41IEUgRjAgMi41KGZvcm1hdC4gVGhlKTIuNSBGKGRlZikyLjUgRQorKGF1bHQgaXMgc3lzdGVtLWRlcGVuZGVudC4pLS4xIEUgRjEoT0xEUFdEKTEwOCAxMjQuOCBRIEYwKFRoZSBwcmUpMTQ0CisxMzYuOCBRKHZpb3VzIHcpLS4yNSBFKG9ya2luZyBkaXJlY3RvcnkgYXMgc2V0IGJ5IHRoZSktLjEgRSBGMShjZCkyLjUgRQorRjAoY29tbWFuZC4pMi41IEUgRjEoT1BUKTEwOCAxNTMuNiBRKEFSRyktLjkgRSBGMCAxLjYyNyhUaGUgdikxNDQgMTY1LjYKK1IgMS42MjcoYWx1ZSBvZiB0aGUgbGFzdCBvcHRpb24gYXIpLS4yNSBGIDEuNjI3KGd1bWVudCBwcm9jZXNzZWQgYnkgdGhlKQorLS4xOCBGIEYxKGdldG9wdHMpNC4xMjcgRSBGMCAtLjIoYnUpNC4xMjcgRyAxLjYyNihpbHRpbiBjb21tYW5kIFwoc2VlKS4yCitGL0YzIDkvVGltZXMtQm9sZEAwIFNGKFNIRUxMKTQuMTI2IEUgLS4wOShCVSkxNDQgMTc3LjYgUyhJTCkuMDkgRQorKFRJTiBDT01NQU5EUyktLjgyOCBFIEYwKGJlbG8pMi4yNSBFKHdcKS4pLS4yNSBFIEYxKE9QVElORCkxMDggMTk0LjQgUQorRjAgMS42NTEoVGhlIGluZGUpMTQ0IDIwNi40IFIgNC4xNTEoeG8pLS4xNSBHIDQuMTUxKGZ0KS00LjE1MSBHIDEuNjUxCisoaGUgbmUpLTQuMTUxIEYgMS42NTEoeHQgYXIpLS4xNSBGIDEuNjUyKGd1bWVudCB0byBiZSBwcm9jZXNzZWQgYnkgdGhlKQorLS4xOCBGIEYxKGdldG9wdHMpNC4xNTIgRSBGMCAtLjIoYnUpNC4xNTIgRyAxLjY1MihpbHRpbiBjb21tYW5kIFwoc2VlKS4yCitGIEYzKFNIRUxMKTQuMTUyIEUgLS4wOShCVSkxNDQgMjE4LjQgUyhJTCkuMDkgRShUSU4gQ09NTUFORFMpLS44MjggRSBGMAorKGJlbG8pMi4yNSBFKHdcKS4pLS4yNSBFIEYxKE9TVFlQRSkxMDggMjM1LjIgUSBGMCAuMzI5KEF1dG9tYXRpY2FsbHkgc2VcCit0IHRvIGEgc3RyaW5nIHRoYXQgZGVzY3JpYmVzIHRoZSBvcGVyYXRpbmcgc3lzdGVtIG9uIHdoaWNoKTE0NCAyNDcuMiBSCitGMShiYXNoKTIuODI5IEUgRjAgLjMyOShpcyBlKTIuODI5IEYgLS4xNSh4ZSktLjE1IEcgMi44MjkoY3V0aW5nLiBUaGUpCisuMTUgRihkZWYpMTQ0IDI1OS4yIFEoYXVsdCBpcyBzeXN0ZW0tZGVwZW5kZW50LiktLjEgRSBGMShQSVBFU1QpMTA4IDI3NgorUSAtLjk1KEFUKS0uOSBHKFVTKS45NSBFIEYwIC42MShBbiBhcnJheSB2KTE0NCAyODggUiAuNjEoYXJpYWJsZSBcKHNlZSkKKy0uMjUgRiBGMShBcnJheXMpMy4xMSBFIEYwKGJlbG8pMy4xMSBFIC42MSh3XCkgY29udGFpbmluZyBhIGxpc3Qgb2YgZSkKKy0uMjUgRiAuNjEoeGl0IHN0YXR1cyB2KS0uMTUgRiAuNjEoYWx1ZXMgZnJvbSB0aGUgcHJvY2Vzc2VzIGluKS0uMjUgRgorKHRoZSBtb3N0LXJlY2VudGx5LWUpMTQ0IDMwMCBRIC0uMTUoeGUpLS4xNSBHKGN1dGVkIGZvcmUpLjE1IEUKIChncm91bmQgcGlwZWxpbmUgXCh3aGljaCBtYXkgY29udGFpbiBvbmx5IGEgc2luZ2xlIGNvbW1hbmRcKS4pLS4xNSBFIEYxCi0oUFBJRCkxMDggMjA2LjQgUSBGMChUaGUgcHJvY2VzcyBJRCBvZiB0aGUgc2hlbGwnKTEyLjY3IEUgMi41KHNwKS0uNTUgRworKFBQSUQpMTA4IDMxNi44IFEgRjAoVGhlIHByb2Nlc3MgSUQgb2YgdGhlIHNoZWxsJykxMi42NyBFIDIuNShzcCktLjU1IEcKIDIuNShhcmVudC4gVGhpcyktMi41IEYgLS4yNSh2YSkyLjUgRyhyaWFibGUgaXMgcmVhZG9ubHkpLjI1IEUoLiktLjY1IEUKLUYxKFBXRCkxMDggMjIzLjIgUSBGMChUaGUgY3VycmVudCB3KTEyLjY3IEUKK0YxKFBXRCkxMDggMzMzLjYgUSBGMChUaGUgY3VycmVudCB3KTEyLjY3IEUKIChvcmtpbmcgZGlyZWN0b3J5IGFzIHNldCBieSB0aGUpLS4xIEUgRjEoY2QpMi41IEUgRjAoY29tbWFuZC4pMi41IEUgRjEKLShSQU5ET00pMTA4IDI0MCBRIEYwIC41NjUKLShFYWNoIHRpbWUgdGhpcyBwYXJhbWV0ZXIgaXMgcmVmZXJlbmNlZCwgYSByYW5kb20gaW50ZSkxNDQgMjUyIFIgLjU2NgotKGdlciBiZXR3ZWVuIDAgYW5kIDMyNzY3IGlzIGdlbmVyYXRlZC4pLS4xNSBGKFRoZSk1LjU2NiBFIC4wMQotKHNlcXVlbmNlIG9mIHJhbmRvbSBudW1iZXJzIG1heSBiZSBpbml0aWFsaXplZCBieSBhc3NpZ25pbmcgYSB2KTE0NCAyNjQKLVIgLjAxKGFsdWUgdG8pLS4yNSBGIEYyKFJBTkRPTSkyLjUxIEUvRjMgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMChJZikKLTQuNTEgRSBGMihSQU5ET00pMi41MSBFIEYwKGlzKTIuMjYgRQotKHVuc2V0LCBpdCBsb3NlcyBpdHMgc3BlY2lhbCBwcm9wZXJ0aWVzLCBlKTE0NCAyNzYgUSAtLjE1KHZlKS0uMjUgRyAyLjUKLShuaSkuMTUgRyAyLjUoZmkpLTIuNSBHIDIuNSh0aSktMi41IEcgMi41KHNzKS0yLjUgRyh1YnNlcXVlbnRseSByZXNldC4pCi0tMi41IEUgRjEoUkVQTCkxMDggMjkyLjggUShZKS0uOTIgRSBGMAotKFNldCB0byB0aGUgbGluZSBvZiBpbnB1dCByZWFkIGJ5IHRoZSkxNDQgMzA0LjggUSBGMSAtLjE4KHJlKTIuNSBHKGFkKQorKFJBTkRPTSkxMDggMzUwLjQgUSBGMCAuNTY2CisoRWFjaCB0aW1lIHRoaXMgcGFyYW1ldGVyIGlzIHJlZmVyZW5jZWQsIGEgcmFuZG9tIGludGUpMTQ0IDM2Mi40IFIgLjU2NQorKGdlciBiZXR3ZWVuIDAgYW5kIDMyNzY3IGlzIGdlbmVyYXRlZC4pLS4xNSBGKFRoZSk1LjU2NSBFIC4wMQorKHNlcXVlbmNlIG9mIHJhbmRvbSBudW1iZXJzIG1heSBiZSBpbml0aWFsaXplZCBieSBhc3NpZ25pbmcgYSB2KTE0NAorMzc0LjQgUiAuMDEoYWx1ZSB0byktLjI1IEYgRjMoUkFORE9NKTIuNTEgRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwCisoSWYpNC41MSBFIEYzKFJBTkRPTSkyLjUxIEUgRjAoaXMpMi4yNiBFCisodW5zZXQsIGl0IGxvc2VzIGl0cyBzcGVjaWFsIHByb3BlcnRpZXMsIGUpMTQ0IDM4Ni40IFEgLS4xNSh2ZSktLjI1IEcKKzIuNShuaSkuMTUgRyAyLjUoZmkpLTIuNSBHIDIuNSh0aSktMi41IEcgMi41KHNzKS0yLjUgRworKHVic2VxdWVudGx5IHJlc2V0LiktMi41IEUgRjEoUkVQTCkxMDggNDAzLjIgUShZKS0uOTIgRSBGMAorKFNldCB0byB0aGUgbGluZSBvZiBpbnB1dCByZWFkIGJ5IHRoZSkxNDQgNDE1LjIgUSBGMSAtLjE4KHJlKTIuNSBHKGFkKQogLjE4IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluIGNvbW1hbmQgd2hlbiBubyBhcikuMiBFCi0oZ3VtZW50cyBhcmUgc3VwcGxpZWQuKS0uMTggRSBGMShTRUNPTkRTKTEwOCAzMjEuNiBRIEYwIC43OTUoRWFjaCB0aW1lIFwKLXRoaXMgcGFyYW1ldGVyIGlzIHJlZmVyZW5jZWQsIHRoZSBudW1iZXIgb2Ygc2Vjb25kcyBzaW5jZSBzaGVsbCBpbikxNDQKLTMzMy42IFIgLS4yKHZvKS0uNCBHIC43OTUoY2F0aW9uIGlzIHJldHVybmVkLikuMiBGIC43MTMoSWYgYSB2KTE0NCAzNDUuNgotUiAuNzEyKGFsdWUgaXMgYXNzaWduZWQgdG8pLS4yNSBGIEYyKFNFQ09ORFMpMy4yMTIgRSBGMygsKUEgRjAgLjcxMgotKHRoZSB2KTIuOTYyIEYgLjcxMgotKGFsdWUgcmV0dXJuZWQgdXBvbiBzdWJzZXF1ZW50IHJlZmVyZW5jZXMgaXMgdGhlIG51bWJlciktLjI1IEYgLjQwNwotKG9mIHNlY29uZHMgc2luY2UgdGhlIGFzc2lnbm1lbnQgcGx1cyB0aGUgdikxNDQgMzU3LjYgUiAuNDA4Ci0oYWx1ZSBhc3NpZ25lZC4pLS4yNSBGKElmKTUuNDA4IEUgRjIoU0VDT05EUykyLjkwOCBFIEYwIC40MDgKLShpcyB1bnNldCwgaXQgbG9zZXMgaXRzIHNwZWNpYWwpMi42NTggRihwcm9wZXJ0aWVzLCBlKTE0NCAzNjkuNiBRIC0uMTUKLSh2ZSktLjI1IEcgMi41KG5pKS4xNSBHIDIuNShmaSktMi41IEcgMi41KHRpKS0yLjUgRyAyLjUoc3MpLTIuNSBHCi0odWJzZXF1ZW50bHkgcmVzZXQuKS0yLjUgRSBGMShTSEVMTE9QVFMpMTA4IDM4Ni40IFEgRjAgMy4yNjMoQWMpMTQ0Ci0zOTguNCBTIC43NjMob2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBlbmFibGVkIHNoZWxsIG9wdGlvbnMuKS0zLjI2MyBGIC43NjMKKyhndW1lbnRzIGFyZSBzdXBwbGllZC4pLS4xOCBFIEYxKFNFQ09ORFMpMTA4IDQzMiBRIEYwIC43OTUoRWFjaCB0aW1lIHRoXAoraXMgcGFyYW1ldGVyIGlzIHJlZmVyZW5jZWQsIHRoZSBudW1iZXIgb2Ygc2Vjb25kcyBzaW5jZSBzaGVsbCBpbikxNDQgNDQ0CitSIC0uMih2byktLjQgRyAuNzk1KGNhdGlvbiBpcyByZXR1cm5lZC4pLjIgRiAuNzEyKElmIGEgdikxNDQgNDU2IFIgLjcxMgorKGFsdWUgaXMgYXNzaWduZWQgdG8pLS4yNSBGIEYzKFNFQ09ORFMpMy4yMTIgRSBGNCgsKUEgRjAgLjcxMih0aGUgdikKKzIuOTYyIEYgLjcxMihhbHVlIHJldHVybmVkIHVwb24gc3Vic2VxdWVudCByZWZlcmVuY2VzIGlzIHRoZSBudW1iZXIpLS4yNQorRiAuNDA4KG9mIHNlY29uZHMgc2luY2UgdGhlIGFzc2lnbm1lbnQgcGx1cyB0aGUgdikxNDQgNDY4IFIgLjQwOAorKGFsdWUgYXNzaWduZWQuKS0uMjUgRihJZik1LjQwOCBFIEYzKFNFQ09ORFMpMi45MDggRSBGMCAuNDA3CisoaXMgdW5zZXQsIGl0IGxvc2VzIGl0cyBzcGVjaWFsKTIuNjU4IEYocHJvcGVydGllcywgZSkxNDQgNDgwIFEgLS4xNSh2ZSkKKy0uMjUgRyAyLjUobmkpLjE1IEcgMi41KGZpKS0yLjUgRyAyLjUodGkpLTIuNSBHIDIuNShzcyktMi41IEcKKyh1YnNlcXVlbnRseSByZXNldC4pLTIuNSBFIEYxKFNIRUxMT1BUUykxMDggNDk2LjggUSBGMCAzLjI2MihBYykxNDQKKzUwOC44IFMgLjc2MyhvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIGVuYWJsZWQgc2hlbGwgb3B0aW9ucy4pLTMuMjYyIEYgLjc2MwogKEVhY2ggdyk1Ljc2MyBGIC43NjMob3JkIGluIHRoZSBsaXN0IGlzIGEgdiktLjEgRiAuNzYzKGFsaWQgYXIpLS4yNSBGCi0uNzYzKGd1bWVudCBmb3IgdGhlKS0uMTggRiBGMTxhZDZmPjE0NCA0MTAuNCBRIEYwIDEuMTczKG9wdGlvbiB0byB0aGUpCi0zLjY3MyBGIEYxKHNldCkzLjY3MyBFIEYwIC0uMihidSkzLjY3MyBHIDEuMTczKGlsdGluIGNvbW1hbmQgXChzZWUpLjIgRgotRjIgMS4xNzQoU0hFTEwgQikzLjY3NCBGKFVJTCktLjA5IEUgMS4xNzQoVElOIENPTU1BTkRTKS0uODI4IEYgRjAoYmVsbykKLTMuNDI0IEUgMy42NzQod1wpLiBUaGUpLS4yNSBGKG9wdGlvbnMpMy42NzQgRSAuMDIoYXBwZWFyaW5nIGluKTE0NCA0MjIuNAotUiBGMihTSEVMTE9QVFMpMi41MiBFIEYwIC4wMTkoYXJlIHRob3NlIHJlcG9ydGVkIGFzKTIuMjcgRi9GNCAxMAotL1RpbWVzLUl0YWxpY0AwIFNGKG9uKTIuNzQ5IEUgRjAoYnkpMi43NTkgRSBGMSAuMDE5KHNldCBcMjU1bykyLjUxOSBGIEYwCi01LjAxOSguSSlDIDIuNTE5KGZ0KS01LjAxOSBHIC4wMTkoaGlzIHYpLTIuNTE5IEYgLjAxOQotKGFyaWFibGUgaXMgaW4gdGhlIGVuKS0uMjUgRih2aXJvbm1lbnQpLS40IEUod2hlbikxNDQgNDM0LjQgUSBGMShiYXNoKQotMy4xNDEgRSBGMCAuNjQyKHN0YXJ0cyB1cCwgZWFjaCBzaGVsbCBvcHRpb24gaW4gdGhlIGxpc3Qgd2lsbCBiZSBlbmFibGVcCi1kIGJlZm9yZSByZWFkaW5nIGFuKTMuMTQxIEYgMy4xNDIoeXMpLS4xNSBHIC42NDIodGFydHVwIFwyMTRsZXMuKS0zLjE0MgotRihUaGlzIHYpMTQ0IDQ0Ni40IFEoYXJpYWJsZSBpcyByZWFkLW9ubHkpLS4yNSBFKC4pLS42NSBFIEYxKFNITCkxMDgKLTQ2My4yIFEoVkwpLS45MiBFIEYwKEluY3JlbWVudGVkIGJ5IG9uZSBlYWNoIHRpbWUgYW4gaW5zdGFuY2Ugb2YpMTQ0Ci00NzUuMiBRIEYxKGJhc2gpMi41IEUgRjAoaXMgc3RhcnRlZC4pMi41IEUgRjEoVUlEKTEwOCA0OTIgUSBGMAorLjc2MyhndW1lbnQgZm9yIHRoZSktLjE4IEYgRjE8YWQ2Zj4xNDQgNTIwLjggUSBGMCAxLjE3NChvcHRpb24gdG8gdGhlKQorMy42NzQgRiBGMShzZXQpMy42NzQgRSBGMCAtLjIoYnUpMy42NzQgRyAxLjE3NChpbHRpbiBjb21tYW5kIFwoc2VlKS4yIEYKK0YzIDEuMTczKFNIRUxMIEIpMy42NzMgRihVSUwpLS4wOSBFIDEuMTczKFRJTiBDT01NQU5EUyktLjgyOCBGIEYwKGJlbG8pCiszLjQyMyBFIDMuNjczKHdcKS4gVGhlKS0uMjUgRihvcHRpb25zKTMuNjczIEUgLjAxOShhcHBlYXJpbmcgaW4pMTQ0Cis1MzIuOCBSIEYzKFNIRUxMT1BUUykyLjUxOSBFIEYwIC4wMTkoYXJlIHRob3NlIHJlcG9ydGVkIGFzKTIuMjY5IEYgRjIKKyhvbikyLjc0OSBFIEYwKGJ5KTIuNzU5IEUgRjEgLjAxOShzZXQgXDI1NW8pMi41MTkgRiBGMCA1LjAxOSguSSlDIDIuNTE5CisoZnQpLTUuMDE5IEcgLjAxOShoaXMgdiktMi41MTkgRiAuMDIoYXJpYWJsZSBpcyBpbiB0aGUgZW4pLS4yNSBGCisodmlyb25tZW50KS0uNCBFKHdoZW4pMTQ0IDU0NC44IFEgRjEoYmFzaCkzLjE0MiBFIEYwIC42NDIoc3RhcnRzIHVwLCBlYVwKK2NoIHNoZWxsIG9wdGlvbiBpbiB0aGUgbGlzdCB3aWxsIGJlIGVuYWJsZWQgYmVmb3JlIHJlYWRpbmcgYW4pMy4xNDIgRgorMy4xNDEoeXMpLS4xNSBHIC42NDEodGFydHVwIFwyMTRsZXMuKS0zLjE0MSBGKFRoaXMgdikxNDQgNTU2LjggUQorKGFyaWFibGUgaXMgcmVhZC1vbmx5KS0uMjUgRSguKS0uNjUgRSBGMShTSEwpMTA4IDU3My42IFEoVkwpLS45MiBFIEYwCisoSW5jcmVtZW50ZWQgYnkgb25lIGVhY2ggdGltZSBhbiBpbnN0YW5jZSBvZikxNDQgNTg1LjYgUSBGMShiYXNoKTIuNSBFCitGMChpcyBzdGFydGVkLikyLjUgRSBGMShVSUQpMTA4IDYwMi40IFEgRjAKIChFeHBhbmRzIHRvIHRoZSB1c2VyIElEIG9mIHRoZSBjdXJyZW50IHVzZXIpMTcuNjcgRSAyLjUoLGkpLS40IEcKIChuaXRpYWxpemVkIGF0IHNoZWxsIHN0YXJ0dXAuKS0yLjUgRShUaGlzIHYpNSBFKGFyaWFibGUgaXMgcmVhZG9ubHkpLS4yNQotRSguKS0uNjUgRSAuOTk0KFRoZSBmb2xsbykxMDggNTA4LjggUiAuOTk0KHdpbmcgdiktLjI1IEYgLjk5NAorRSguKS0uNjUgRSAuOTkzKFRoZSBmb2xsbykxMDggNjE5LjIgUiAuOTkzKHdpbmcgdiktLjI1IEYgLjk5NAogKGFyaWFibGVzIGFyZSB1c2VkIGJ5IHRoZSBzaGVsbC4pLS4yNSBGIC45OTQoSW4gc29tZSBjYXNlcywpNS45OTQgRiBGMQotKGJhc2gpMy40OTQgRSBGMCAuOTk0KGFzc2lnbnMgYSBkZWYpMy40OTQgRiAuOTk0KGF1bHQgdiktLjEgRiAuOTkzCi0oYWx1ZSB0byBhIHYpLS4yNSBGKGFyaWFibGU7KS0uMjUgRSh0aGVzZSBjYXNlcyBhcmUgbm90ZWQgYmVsbykxMDggNTIwLjgKLVEgLS42NSh3LiktLjI1IEcgRjEgLS4zKEJBKTEwOCA1MzcuNiBTKFNIX0VOVikuMyBFIEYwIC41MDUKLShJZiB0aGlzIHBhcmFtZXRlciBpcyBzZXQgd2hlbikxNDQgNTQ5LjYgUiBGMShiYXNoKTMuMDA1IEUgRjAgLjUwNShpcyBlKQotMy4wMDUgRiAtLjE1KHhlKS0uMTUgRyAuNTA2KGN1dGluZyBhIHNoZWxsIHNjcmlwdCwgaXRzIHYpLjE1IEYgLjUwNgotKGFsdWUgaXMgaW50ZXJwcmV0ZWQgYXMgYSBcMjE0bGVuYW1lKS0uMjUgRiAuMzU1Ci0oY29udGFpbmluZyBjb21tYW5kcyB0byBpbml0aWFsaXplIHRoZSBzaGVsbCwgYXMgaW4pMTQ0IDU2MS42IFIgRjQKLSh+Ly5iYXNocikyLjg1NSBFKGMpLS4zNyBFIEYwIDUuMzU0KC5UKS4zMSBHIC4zNTQoaGUgdiktNS4zNTQgRiAuMzU0Ci0oYWx1ZSBvZiktLjI1IEYgRjIgLS4yNyhCQSkyLjg1NCBHKFNIX0VOVikuMjcgRSBGMCAuMzU0KGlzIHN1YmplY3RlZCkKLTIuNjA0IEYgLjUyNSh0byBwYXJhbWV0ZXIgZSkxNDQgNTczLjYgUiAuNTI1CisoYmFzaCkzLjQ5NCBFIEYwIC45OTQoYXNzaWducyBhIGRlZikzLjQ5NCBGIC45OTQoYXVsdCB2KS0uMSBGIC45OTQKKyhhbHVlIHRvIGEgdiktLjI1IEYoYXJpYWJsZTspLS4yNSBFKHRoZXNlIGNhc2VzIGFyZSBub3RlZCBiZWxvKTEwOCA2MzEuMgorUSAtLjY1KHcuKS0uMjUgRyBGMSAtLjMoQkEpMTA4IDY0OCBTKFNIX0VOVikuMyBFIEYwIC41MDYKKyhJZiB0aGlzIHBhcmFtZXRlciBpcyBzZXQgd2hlbikxNDQgNjYwIFIgRjEoYmFzaCkzLjAwNiBFIEYwIC41MDYoaXMgZSkKKzMuMDA2IEYgLS4xNSh4ZSktLjE1IEcgLjUwNShjdXRpbmcgYSBzaGVsbCBzY3JpcHQsIGl0cyB2KS4xNSBGIC41MDUKKyhhbHVlIGlzIGludGVycHJldGVkIGFzIGEgXDIxNGxlbmFtZSktLjI1IEYgLjM1NAorKGNvbnRhaW5pbmcgY29tbWFuZHMgdG8gaW5pdGlhbGl6ZSB0aGUgc2hlbGwsIGFzIGluKTE0NCA2NzIgUiBGMgorKH4vLmJhc2hyKTIuODU1IEUoYyktLjM3IEUgRjAgNS4zNTUoLlQpLjMxIEcgLjM1NShoZSB2KS01LjM1NSBGIC4zNTUKKyhhbHVlIG9mKS0uMjUgRiBGMyAtLjI3KEJBKTIuODU1IEcoU0hfRU5WKS4yNyBFIEYwIC4zNTUoaXMgc3ViamVjdGVkKQorMi42MDUgRiAuNTI1KHRvIHBhcmFtZXRlciBlKTE0NCA2ODQgUiAuNTI1CiAoeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhbmQgYXJpdGhtZXRpYyBlKS0uMTUgRiAuNTI1Ci0oeHBhbnNpb24gYmVmb3JlIGJlaW5nIGludGVycHJldGVkKS0uMTUgRihhcyBhIFwyMTRsZSBuYW1lLikxNDQgNTg1LjYgUQotRjIgLS42NjYoUEEpNSBHKFRIKS0uMTg5IEUgRjAKLShpcyBub3QgdXNlZCB0byBzZWFyY2ggZm9yIHRoZSByZXN1bHRhbnQgXDIxNGxlIG5hbWUuKTIuMjUgRSBGMShDRFApMTA4Ci01OTcuNiBRIC0uOTUoQVQpLS43NCBHKEgpLjk1IEUgRjAgMS4yNDgoVGhlIHNlYXJjaCBwYXRoIGZvciB0aGUpMTQ0Ci02MDkuNiBSIEYxKGNkKTMuNzQ4IEUgRjAgMy43NDgoY29tbWFuZC4gVGhpcykzLjc0OCBGIDEuMjQ3Ci0oaXMgYSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBkaXJlY3RvcmllcyBpbiB3aGljaCB0aGUpMy43NDggRiAzLjc5NQotKHNoZWxsIGxvb2tzIGZvciBkZXN0aW5hdGlvbiBkaXJlY3RvcmllcyBzcGVjaVwyMTRlZCBieSB0aGUpMTQ0IDYyMS42IFIKLUYxKGNkKTYuMjk1IEUgRjAgNi4yOTYoY29tbWFuZC4gQSk2LjI5NiBGIDMuNzk2KHNhbXBsZSB2KTYuMjk2IEYgMy43OTYKLShhbHVlIGlzKS0uMjUgRi9GNSAxMC9Db3VyaWVyQDAgU0YoIi46fjovdXNyIikxNDQgNjMzLjYgUSBGMCguKUEgRjEKLShDT0xVTU5TKTEwOCA2NDUuNiBRIEYwIC40MjUoVXNlZCBieSB0aGUpMTQ0IDY1Ny42IFIgRjEoc2VsZWN0KTIuOTI1IEUKLUYwIC0uMihidSkyLjkyNSBHIC40MjUoaWx0aW4gY29tbWFuZCB0byBkZXRlcm1pbmUgdGhlIHRlcm1pbmFsIHdpZHRoIHdoXAotZW4gcHJpbnRpbmcgc2VsZWN0aW9uIGxpc3RzLikuMiBGCi0oQXV0b21hdGljYWxseSBzZXQgdXBvbiByZWNlaXB0IG9mIGEgU0lHV0lOQ0guKTE0NCA2NjkuNiBRIEYxKENPTVBSRVBMKQotMTA4IDY4MS42IFEoWSktLjkyIEUgRjAgLjg0NyhBbiBhcnJheSB2KTE0NCA2OTMuNiBSIC44NDgKLShhcmlhYmxlIGZyb20gd2hpY2gpLS4yNSBGIEYxKGJhc2gpMy4zNDggRSBGMCAuODQ4Ci0ocmVhZHMgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIGdlbmVyYXRlZCBieSBhIHNoZWxsIGZ1bmN0aW9uKTMuMzQ4IEYKLShpbikxNDQgNzA1LjYgUSAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMi41KGRiKS4xIEcgMi41KHl0KS0yLjUgRwotKGhlIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGYpLTIuNSBFKGFjaWxpdHkgXChzZWUpLS4xIEUgRjEoUHIpMi41IEUKLShvZ3JhbW1hYmxlIENvbXBsZXRpb24pLS4xOCBFIEYwKGJlbG8pMi41IEUod1wpLiktLjI1IEUoR05VIEJhc2gtNC4wKTcyCi03NjggUSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUoMTIpMTkwLjk1IEUgMCBDZyBFUAorKHhwYW5zaW9uIGJlZm9yZSBiZWluZyBpbnRlcnByZXRlZCktLjE1IEYoYXMgYSBcMjE0bGUgbmFtZS4pMTQ0IDY5NiBRIEYzCistLjY2NihQQSk1IEcoVEgpLS4xODkgRSBGMAorKGlzIG5vdCB1c2VkIHRvIHNlYXJjaCBmb3IgdGhlIHJlc3VsdGFudCBcMjE0bGUgbmFtZS4pMi4yNSBFCisoR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDEyKTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDEzIDEzCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihFTUEpMTA4IDg0IFEoQ1MpLS41NSBFIEYwKElmKTE0NCA5NiBRIEYxCi0oYmFzaCkyLjUzNiBFIEYwIC4wMzYoXDIxNG5kcyB0aGlzIHYpMi41MzYgRiAuMDM2KGFyaWFibGUgaW4gdGhlIGVuKS0uMjUKLUYgLjAzNih2aXJvbm1lbnQgd2hlbiB0aGUgc2hlbGwgc3RhcnRzIHdpdGggdiktLjQgRihhbHVlKS0uMjUgRS9GMiAxMAotL0NvdXJpZXJAMCBTRih0KTIuNTM1IEUgRjAgMi41MzUoLGkpQyAyLjUzNSh0YSktMi41MzUgRyAuMDM1Ci0oc3N1bWVzIHRoYXQgdGhlKS0yLjUzNSBGKHNoZWxsIGlzIHJ1bm5pbmcgaW4gYW4gZW1hY3Mgc2hlbGwgYikxNDQgMTA4IFEKLSh1ZiktLjIgRShmZXIgYW5kIGRpc2FibGVzIGxpbmUgZWRpdGluZy4pLS4yNSBFIEYxKEZDRURJVCkxMDggMTIwIFEgRjAKLShUaGUgZGVmKTE0NCAxMzIgUShhdWx0IGVkaXRvciBmb3IgdGhlKS0uMSBFIEYxKGZjKTIuNSBFIEYwIC0uMihidSkyLjUgRwotKGlsdGluIGNvbW1hbmQuKS4yIEUgRjEoRklHTk9SRSkxMDggMTQ0IFEgRjAgMi41OTgoQWMpMTQ0IDE1NiBTIC4wOTgKKy0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoQ0RQKTEwOCA4NCBRIC0uOTUoQVQpLS43NCBHKEgpLjk1IEUgRjAKKzEuMjQ3KFRoZSBzZWFyY2ggcGF0aCBmb3IgdGhlKTE0NCA5NiBSIEYxKGNkKTMuNzQ3IEUgRjAgMy43NDcKKyhjb21tYW5kLiBUaGlzKTMuNzQ3IEYgMS4yNDgKKyhpcyBhIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIGRpcmVjdG9yaWVzIGluIHdoaWNoIHRoZSkzLjc0NyBGIDMuNzk2Cisoc2hlbGwgbG9va3MgZm9yIGRlc3RpbmF0aW9uIGRpcmVjdG9yaWVzIHNwZWNpXDIxNGVkIGJ5IHRoZSkxNDQgMTA4IFIgRjEKKyhjZCk2LjI5NSBFIEYwIDYuMjk1KGNvbW1hbmQuIEEpNi4yOTUgRiAzLjc5NShzYW1wbGUgdik2LjI5NSBGIDMuNzk1CisoYWx1ZSBpcyktLjI1IEYvRjIgMTAvQ291cmllckAwIFNGKCIuOn46L3VzciIpMTQ0IDEyMCBRIEYwKC4pQSBGMSAtLjMKKyhCQSkxMDggMTMyIFMoU0hfWFRSQSkuMyBFKENFRkQpLS41NSBFIEYwIC40OChJZiBzZXQgdG8gYW4gaW50ZSkxNDQgMTQ0CitSIC40OChnZXIgY29ycmVzcG9uZGluZyB0byBhIHYpLS4xNSBGIC40ODEoYWxpZCBcMjE0bGUgZGVzY3JpcHRvciktLjI1IEYKKygsKS0uNCBFIEYxKGJhc2gpMi45ODEgRSBGMCAuNDgxKHdpbGwgd3JpdGUgdGhlIHRyYWNlIG91dHB1dCBnZW5lcikyLjk4MQorRigtKS0uMiBFIDMuMTE0KGF0ZWQgd2hlbikxNDQgMTU2IFIgRjIgMy4xMTQoc2V0IC14KTUuNjE0IEYgRjAgMy4xMTQKKyhpcyBlbmFibGVkIHRvIHRoYXQgXDIxNGxlIGRlc2NyaXB0b3IpNS42MTQgRiA4LjExNCguVCktLjU1IEcgMy4xMTQKKyhoZSBcMjE0bGUgZGVzY3JpcHRvciBpcyBjbG9zZWQgd2hlbiktOC4xMTQgRi9GMyA5L1RpbWVzLUJvbGRAMCBTRiAtLjI3CisoQkEpMTQ0IDE2OCBTKFNIX1hUUkEpLjI3IEUoQ0VGRCktLjQ5NSBFIEYwIC4xMzgKKyhpcyB1bnNldCBvciBhc3NpZ25lZCBhIG5lKTIuMzg4IEYgMi42Mzgod3YpLS4yNSBHIDIuNjM4CisoYWx1ZS4gVW5zZXR0aW5nKS0yLjg4OCBGIEYzIC0uMjcoQkEpMi42MzggRyhTSF9YVFJBKS4yNyBFKENFRkQpLS40OTUgRQorRjAgLjEzOChvciBhc3NpZ25pbmcgaXQpMi4zODggRiAyLjUzMSh0aGUgZW1wdHkgc3RyaW5nIGNhdXNlcyB0aGUgdHJhY2VcCisgb3V0cHV0IHRvIGJlIHNlbnQgdG8gdGhlIHN0YW5kYXJkIGVycm9yKTE0NCAxODAgUiA3LjUzKC5OKS0uNTUgRyAyLjUzCisob3RlIHRoYXQgc2V0dGluZyktNy41MyBGIEYzIC0uMjcoQkEpMTQ0IDE5MiBTKFNIX1hUUkEpLjI3IEUoQ0VGRCktLjQ5NQorRSBGMCAuNzQodG8gMiBcKHRoZSBzdGFuZGFyZCBlcnJvciBcMjE0bGUgZGVzY3JpcHRvclwpIGFuZCB0aGVuIHVuc2V0dGlcCituZyBpdCB3aWxsIHJlc3VsdCBpbiB0aGUpMi45OSBGKHN0YW5kYXJkIGVycm9yIGJlaW5nIGNsb3NlZC4pMTQ0IDIwNCBRCitGMShDT0xVTU5TKTEwOCAyMTYgUSBGMCAuNDI1KFVzZWQgYnkgdGhlKTE0NCAyMjggUiBGMShzZWxlY3QpMi45MjUgRSBGMAorLS4yKGJ1KTIuOTI1IEcgLjQyNShpbHRpbiBjb21tYW5kIHRvIGRldGVybWluZSB0aGUgdGVybWluYWwgd2lkdGggd2hlbiBcCitwcmludGluZyBzZWxlY3Rpb24gbGlzdHMuKS4yIEYKKyhBdXRvbWF0aWNhbGx5IHNldCB1cG9uIHJlY2VpcHQgb2YgYSBTSUdXSU5DSC4pMTQ0IDI0MCBRIEYxKENPTVBSRVBMKTEwOAorMjUyIFEoWSktLjkyIEUgRjAgLjg0NyhBbiBhcnJheSB2KTE0NCAyNjQgUiAuODQ4KGFyaWFibGUgZnJvbSB3aGljaCktLjI1CitGIEYxKGJhc2gpMy4zNDggRSBGMCAuODQ4CisocmVhZHMgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIGdlbmVyYXRlZCBieSBhIHNoZWxsIGZ1bmN0aW9uKTMuMzQ4IEYKKyhpbikxNDQgMjc2IFEgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuNShkYikuMSBHIDIuNSh5dCktMi41IEcKKyhoZSBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmKS0yLjUgRShhY2lsaXR5IFwoc2VlKS0uMSBFIEYxKFByKTIuNSBFCisob2dyYW1tYWJsZSBDb21wbGV0aW9uKS0uMTggRSBGMChiZWxvKTIuNSBFKHdcKS4pLS4yNSBFIEYxKEVNQSkxMDggMjg4IFEKKyhDUyktLjU1IEUgRjAoSWYpMTQ0IDMwMCBRIEYxKGJhc2gpMi41MzYgRSBGMCAuMDM2KFwyMTRuZHMgdGhpcyB2KTIuNTM2CitGIC4wMzYoYXJpYWJsZSBpbiB0aGUgZW4pLS4yNSBGIC4wMzYKKyh2aXJvbm1lbnQgd2hlbiB0aGUgc2hlbGwgc3RhcnRzIHdpdGggdiktLjQgRihhbHVlKS0uMjUgRSBGMih0KTIuNTM1IEUKK0YwIDIuNTM1KCxpKUMgMi41MzUodGEpLTIuNTM1IEcgLjAzNShzc3VtZXMgdGhhdCB0aGUpLTIuNTM1IEYKKyhzaGVsbCBpcyBydW5uaW5nIGluIGFuIGVtYWNzIHNoZWxsIGIpMTQ0IDMxMiBRKHVmKS0uMiBFCisoZmVyIGFuZCBkaXNhYmxlcyBsaW5lIGVkaXRpbmcuKS0uMjUgRSBGMShGQ0VESVQpMTA4IDMyNCBRIEYwKFRoZSBkZWYpCisxNDQgMzM2IFEoYXVsdCBlZGl0b3IgZm9yIHRoZSktLjEgRSBGMShmYykyLjUgRSBGMCAtLjIoYnUpMi41IEcKKyhpbHRpbiBjb21tYW5kLikuMiBFIEYxKEZJR05PUkUpMTA4IDM0OCBRIEYwIDIuNTk4KEFjKTE0NCAzNjAgUyAuMDk4CiAob2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBzdWYpLTIuNTk4IEY8OGM3OD4tLjI1IEUgLjA5OAotKGVzIHRvIGlnbm9yZSB3aGVuIHBlcmZvcm1pbmcgXDIxNGxlbmFtZSBjb21wbGV0aW9uIFwoc2VlKS0uMTUgRi9GMyA5Ci0vVGltZXMtQm9sZEAwIFNGKFJFQURMSU5FKTIuNTk5IEUgRjAoYmVsbykxNDQgMTY4IFEgMi43MDUod1wpLiBBKS0uMjUgRgotLjIwNShcMjE0bGVuYW1lIHdob3NlIHN1ZikyLjcwNSBGIC4yMDUKLShcMjE0eCBtYXRjaGVzIG9uZSBvZiB0aGUgZW50cmllcyBpbiktLjI1IEYgRjMoRklHTk9SRSkyLjcwNSBFIEYwIC4yMDUKLShpcyBlKTIuNDU1IEYgLjIwNCh4Y2x1ZGVkIGZyb20gdGhlIGxpc3QpLS4xNSBGKG9mIG1hdGNoZWQgXDIxNGxlbmFtZXMuKQotMTQ0IDE4MCBRIDIuNShBcyk1IEcoYW1wbGUgdiktMi41IEUoYWx1ZSBpcyktLjI1IEUgRjIoIi5vOn4iKTIuNSBFIEYwKC4pCi1BIEYxKEdMT0JJR05PUkUpMTA4IDE5MiBRIEYwIDMuMTE4KEFjKTE0NCAyMDQgUyAuNjE4KG9sb24tc2VwYXJhdGVkIGxpc1wKLXQgb2YgcGF0dGVybnMgZGVcMjE0bmluZyB0aGUgc2V0IG9mIFwyMTRsZW5hbWVzIHRvIGJlIGlnbm9yZWQgYnkgcGF0aG5hXAotbWUgZSktMy4xMTggRih4cGFuLSktLjE1IEUgMy4xMzIoc2lvbi4gSWYpMTQ0IDIxNiBSIDMuMTMyPDYxOGM+My4xMzIgRwotLjYzMihsZW5hbWUgbWF0Y2hlZCBieSBhIHBhdGhuYW1lIGUpLTMuMTMyIEYgLjYzMgorKGVzIHRvIGlnbm9yZSB3aGVuIHBlcmZvcm1pbmcgXDIxNGxlbmFtZSBjb21wbGV0aW9uIFwoc2VlKS0uMTUgRiBGMworKFJFQURMSU5FKTIuNTk5IEUgRjAoYmVsbykxNDQgMzcyIFEgMi43MDUod1wpLiBBKS0uMjUgRiAuMjA1CisoXDIxNGxlbmFtZSB3aG9zZSBzdWYpMi43MDUgRiAuMjA1KFwyMTR4IG1hdGNoZXMgb25lIG9mIHRoZSBlbnRyaWVzIGluKQorLS4yNSBGIEYzKEZJR05PUkUpMi43MDUgRSBGMCAuMjA1KGlzIGUpMi40NTUgRiAuMjA0CisoeGNsdWRlZCBmcm9tIHRoZSBsaXN0KS0uMTUgRihvZiBtYXRjaGVkIFwyMTRsZW5hbWVzLikxNDQgMzg0IFEgMi41KEFzKTUKK0coYW1wbGUgdiktMi41IEUoYWx1ZSBpcyktLjI1IEUgRjIoIi5vOn4iKTIuNSBFIEYwKC4pQSBGMShHTE9CSUdOT1JFKTEwOAorMzk2IFEgRjAgMy4xMTgoQWMpMTQ0IDQwOCBTIC42MTgob2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBwYXR0ZXJucyBkZVwyMTRcCituaW5nIHRoZSBzZXQgb2YgXDIxNGxlbmFtZXMgdG8gYmUgaWdub3JlZCBieSBwYXRobmFtZSBlKS0zLjExOCBGKHhwYW4tKQorLS4xNSBFIDMuMTMyKHNpb24uIElmKTE0NCA0MjAgUiAzLjEzMjw2MThjPjMuMTMyIEcgLjYzMgorKGxlbmFtZSBtYXRjaGVkIGJ5IGEgcGF0aG5hbWUgZSktMy4xMzIgRiAuNjMyCiAoeHBhbnNpb24gcGF0dGVybiBhbHNvIG1hdGNoZXMgb25lIG9mIHRoZSBwYXR0ZXJucyBpbiktLjE1IEYgRjMKLShHTE9CSUdOT1JFKTE0NCAyMjggUS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLClBIEYwKGl0IGlzIHJlbW8pMi4yNSBFCisoR0xPQklHTk9SRSkxNDQgNDMyIFEvRjQgOS9UaW1lcy1Sb21hbkAwIFNGKCwpQSBGMChpdCBpcyByZW1vKTIuMjUgRQogLS4xNSh2ZSktLjE1IEcgMi41KGRmKS4xNSBHKHJvbSB0aGUgbGlzdCBvZiBtYXRjaGVzLiktMi41IEUgRjEKLShISVNUQ09OVFIpMTA4IDI0MCBRKE9MKS0uMyBFIEYwIDIuNjUzKEFjKTE0NCAyNTIgUyAuMTUzCisoSElTVENPTlRSKTEwOCA0NDQgUShPTCktLjMgRSBGMCAyLjY1MyhBYykxNDQgNDU2IFMgLjE1MwogKG9sb24tc2VwYXJhdGVkIGxpc3Qgb2YgdiktMi42NTMgRiAuMTUzKGFsdWVzIGNvbnRyb2xsaW5nIGhvKS0uMjUgRgogMi42NTMod2MpLS4yNSBHIC4xNTMob21tYW5kcyBhcmUgc2EpLTIuNjUzIEYgLS4xNSh2ZSktLjIgRyAyLjY1MyhkbykuMTUKIEcgMi42NTMobnQpLTIuNjUzIEcgLjE1MyhoZSBoaXN0b3J5IGxpc3QuKS0yLjY1MyBGIC4xNTQoSWYgdGhlIGxpc3QpCi01LjE1MyBGIC40OTEob2YgdikxNDQgMjY0IFIgLjQ5MShhbHVlcyBpbmNsdWRlcyktLjI1IEYvRjUgMTAKKzUuMTUzIEYgLjQ5MShvZiB2KTE0NCA0NjggUiAuNDkxKGFsdWVzIGluY2x1ZGVzKS0uMjUgRi9GNSAxMAogL1RpbWVzLUl0YWxpY0AwIFNGKGlnbm9yKTIuOTkxIEUoZXNwYWNlKS0uMzcgRSBGMCAyLjk5MSgsbCkuMTggRyAuNDkxCiAoaW5lcyB3aGljaCBiZSktMi45OTEgRiAuNDkxKGdpbiB3aXRoIGEpLS4xNSBGIEYxKHNwYWNlKTIuOTkxIEUgRjAgLjQ5CiAoY2hhcmFjdGVyIGFyZSBub3Qgc2EpMi45OTEgRiAtLjE1KHZlKS0uMiBHIDIuOTkoZGkpLjE1IEcgMi45OShudCktMi45OQotRyAuNDkoaGUgaGlzLSktMi45OSBGIC41NTcodG9yeSBsaXN0LikxNDQgMjc2IFIgMy4wNTcoQXYpNS41NTcgRyAuNTU3CitHIC40OShoZSBoaXMtKS0yLjk5IEYgLjU1Nyh0b3J5IGxpc3QuKTE0NCA0ODAgUiAzLjA1NyhBdik1LjU1NyBHIC41NTcKIChhbHVlIG9mKS0zLjMwNyBGIEY1KGlnbm9yKTMuMDY3IEUoZWR1cHMpLS4zNyBFIEYwIC41NTcKIChjYXVzZXMgbGluZXMgbWF0Y2hpbmcgdGhlIHByZSkzLjMyNyBGIC41NTgKICh2aW91cyBoaXN0b3J5IGVudHJ5IHRvIG5vdCBiZSBzYSktLjI1IEYgLS4xNSh2ZSktLjIgRyhkLikuMTUgRSAyLjk1OQotKEF2KTE0NCAyODggUyAuNDU5KGFsdWUgb2YpLTMuMjA5IEYgRjUoaWdub3IpMi45NjkgRShlYm90aCktLjM3IEUgRjAKKyhBdikxNDQgNDkyIFMgLjQ1OShhbHVlIG9mKS0zLjIwOSBGIEY1KGlnbm9yKTIuOTY5IEUoZWJvdGgpLS4zNyBFIEYwCiAuNDU5KGlzIHNob3J0aGFuZCBmb3IpMy4yMzkgRiBGNShpZ25vcikyLjk1OSBFKGVzcGFjZSktLjM3IEUgRjAoYW5kKQogMi45NTkgRSBGNShpZ25vcikyLjk1OCBFKGVkdXBzKS0uMzcgRSBGMCA1LjQ1OCguQSlDIC0uMjUodmEpLTIuNSBHIC40NTgKIChsdWUgb2YpLjI1IEYgRjUoZXIpMi45NTggRShhc2VkdXBzKS0uMTUgRSBGMChjYXVzZXMpMi45NTggRSAuNjk4Ci0oYWxsIHByZSkxNDQgMzAwIFIgLjY5OAorKGFsbCBwcmUpMTQ0IDUwNCBSIC42OTgKICh2aW91cyBsaW5lcyBtYXRjaGluZyB0aGUgY3VycmVudCBsaW5lIHRvIGJlIHJlbW8pLS4yNSBGIC0uMTUodmUpLS4xNSBHCiAzLjE5OChkZikuMTUgRyAuNjk5KHJvbSB0aGUgaGlzdG9yeSBsaXN0IGJlZm9yZSB0aGF0IGxpbmUgaXMpLTMuMTk4IEYKLShzYSkxNDQgMzEyIFEgLS4xNSh2ZSktLjIgRyA0LjI5NyhkLiBBbikuMTUgRiA0LjI5Nyh5diktLjE1IEcgMS43OTcKLShhbHVlIG5vdCBpbiB0aGUgYWJvKS00LjU0NyBGIDIuMDk3IC0uMTUodmUgbCktLjE1IEggMS43OTcKLShpc3QgaXMgaWdub3JlZC4pLjE1IEYoSWYpNi43OTcgRSBGMShISVNUQ09OVFIpNC4yOTcgRShPTCktLjMgRSBGMCAxLjc5NwotKGlzIHVuc2V0LCBvciBkb2VzIG5vdCk0LjI5NyBGIC42MTIoaW5jbHVkZSBhIHYpMTQ0IDMyNCBSIC42MTIoYWxpZCB2KQotLS4yNSBGIC42MTIoYWx1ZSwgYWxsIGxpbmVzIHJlYWQgYnkgdGhlIHNoZWxsIHBhcnNlciBhcmUgc2EpLS4yNSBGIC0uMTUKLSh2ZSktLjIgRyAzLjExMihkbykuMTUgRyAzLjExMihudCktMy4xMTIgRyAuNjEyCi0oaGUgaGlzdG9yeSBsaXN0LCBzdWJqZWN0IHRvIHRoZSktMy4xMTIgRiAtLjI1KHZhKTE0NCAzMzYgUyAuOTg2KGx1ZSBvZikKLS4yNSBGIEYxKEhJU1RJR05PUkUpMy40ODYgRSBGMCA1Ljk4NiguVClDIC45ODYKLShoZSBzZWNvbmQgYW5kIHN1YnNlcXVlbnQgbGluZXMgb2YgYSBtdWx0aS1saW5lIGNvbXBvdW5kIGNvbW1hbmQpLTUuOTg2Ci1GKGFyZSBub3QgdGVzdGVkLCBhbmQgYXJlIGFkZGVkIHRvIHRoZSBoaXN0b3J5IHJlKTE0NCAzNDggUSAtLjA1KGdhKS0uMTUKLUcocmRsZXNzIG9mIHRoZSB2KS4wNSBFKGFsdWUgb2YpLS4yNSBFIEYxKEhJU1RDT05UUikyLjUgRShPTCktLjMgRSBGMCguKQotQSBGMShISVNURklMRSkxMDggMzYwIFEgRjAgLjE4MQotKFRoZSBuYW1lIG9mIHRoZSBcMjE0bGUgaW4gd2hpY2ggY29tbWFuZCBoaXN0b3J5IGlzIHNhKTE0NCAzNzIgUiAtLjE1Cisoc2EpMTQ0IDUxNiBRIC0uMTUodmUpLS4yIEcgMi43NjQoZC4gQW4pLjE1IEYgMi43NjQoeXYpLS4xNSBHIC4yNjQKKyhhbHVlIG5vdCBpbiB0aGUgYWJvKS0zLjAxNCBGIC41NjMgLS4xNSh2ZSBsKS0uMTUgSCAuMjYzCisoaXN0IGlzIGlnbm9yZWQuKS4xNSBGKElmKTUuMjYzIEUgRjMoSElTVENPTlRSKTIuNzYzIEUoT0wpLS4yNyBFIEYwIC4yNjMKKyhpcyB1bnNldCwgb3IgZG9lcyBub3QgaW5jbHVkZSkyLjUxMyBGIDIuOTQxKGF2KTE0NCA1MjggUyAuNDQxKGFsaWQgdikKKy0zLjE5MSBGIC40NDEoYWx1ZSwgYWxsIGxpbmVzIHJlYWQgYnkgdGhlIHNoZWxsIHBhcnNlciBhcmUgc2EpLS4yNSBGCistLjE1KHZlKS0uMiBHIDIuOTQyKGRvKS4xNSBHIDIuOTQyKG50KS0yLjk0MiBHIC40NDIKKyhoZSBoaXN0b3J5IGxpc3QsIHN1YmplY3QgdG8gdGhlIHYpLTIuOTQyIEYgLjQ0MihhbHVlIG9mKS0uMjUgRiBGMworKEhJU1RJR05PUkUpMTQ0IDU0MCBRIEY0KC4pQSBGMCAxLjk4MShUaGUgc2Vjb25kIGFuZCBzdWJzZXF1ZW50IGxpbmVzIG9cCitmIGEgbXVsdGktbGluZSBjb21wb3VuZCBjb21tYW5kIGFyZSBub3QpNi40ODIgRgorKHRlc3RlZCwgYW5kIGFyZSBhZGRlZCB0byB0aGUgaGlzdG9yeSByZSkxNDQgNTUyIFEgLS4wNShnYSktLjE1IEcKKyhyZGxlc3Mgb2YgdGhlIHYpLjA1IEUoYWx1ZSBvZiktLjI1IEUgRjMoSElTVENPTlRSKTIuNSBFKE9MKS0uMjcgRSBGNCguKQorQSBGMShISVNURklMRSkxMDggNTY0IFEgRjAgLjE4MQorKFRoZSBuYW1lIG9mIHRoZSBcMjE0bGUgaW4gd2hpY2ggY29tbWFuZCBoaXN0b3J5IGlzIHNhKTE0NCA1NzYgUiAtLjE1CiAodmUpLS4yIEcgMi42ODEoZFwoKS4xNSBHKHNlZSktMi42ODEgRSBGMyhISVNUKTIuNjgxIEUoT1IpLS4xNjIgRShZKQogLS4zMTUgRSBGMChiZWxvKTIuNDMxIEUgMi42ODIod1wpLiBUaGUpLS4yNSBGKGRlZikyLjY4MiBFIC4xODIoYXVsdCB2KQotLS4xIEYoYWx1ZSktLjI1IEUoaXMpMTQ0IDM4NCBRIEY1KH4vLmJhc2hfaGlzdG9yeSkyLjUgRSBGMCA1KC5JKUMgMi41CistLjEgRihhbHVlKS0uMjUgRShpcykxNDQgNTg4IFEgRjUofi8uYmFzaF9oaXN0b3J5KTIuNSBFIEYwIDUoLkkpQyAyLjUKIChmdSktNSBHKG5zZXQsIHRoZSBjb21tYW5kIGhpc3RvcnkgaXMgbm90IHNhKS0yLjUgRSAtLjE1KHZlKS0uMiBHIDIuNQogKGR3KS4xNSBHKGhlbiBhbiBpbnRlcmFjdGkpLTIuNSBFIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbCBlKS4xNSBFCi0oeGl0cy4pLS4xNSBFIEYxKEhJU1RGSUxFU0laRSkxMDggMzk2IFEgRjAgMS42MjMKLShUaGUgbWF4aW11bSBudW1iZXIgb2YgbGluZXMgY29udGFpbmVkIGluIHRoZSBoaXN0b3J5IFwyMTRsZS4pMTQ0IDQwOCBSCisoeGl0cy4pLS4xNSBFIEYxKEhJU1RGSUxFU0laRSkxMDggNjAwIFEgRjAgMS42MjMKKyhUaGUgbWF4aW11bSBudW1iZXIgb2YgbGluZXMgY29udGFpbmVkIGluIHRoZSBoaXN0b3J5IFwyMTRsZS4pMTQ0IDYxMiBSCiAxLjYyMihXaGVuIHRoaXMgdik2LjYyMyBGIDEuNjIyKGFyaWFibGUgaXMgYXNzaWduZWQgYSktLjI1IEYgLS4yNSh2YSkxNDQKLTQyMCBTIC4zMDUobHVlLCB0aGUgaGlzdG9yeSBcMjE0bGUgaXMgdHJ1bmNhdGVkLCBpZiBuZWNlc3NhcnkpLjI1IEYKKzYyNCBTIC4zMDUobHVlLCB0aGUgaGlzdG9yeSBcMjE0bGUgaXMgdHJ1bmNhdGVkLCBpZiBuZWNlc3NhcnkpLjI1IEYKIDIuODA1KCxiKS0uNjUgRyAyLjgwNSh5ciktMi44MDUgRyhlbW8pLTIuODA1IEUgLjMwNQogKHZpbmcgdGhlIG9sZGVzdCBlbnRyaWVzLCB0byBjb250YWluIG5vIG1vcmUpLS4xNSBGIC42MDIKLSh0aGFuIHRoYXQgbnVtYmVyIG9mIGxpbmVzLikxNDQgNDMyIFIgLjYwMihUaGUgZGVmKTUuNjAyIEYgLjYwMihhdWx0IHYpCisodGhhbiB0aGF0IG51bWJlciBvZiBsaW5lcy4pMTQ0IDYzNiBSIC42MDIoVGhlIGRlZik1LjYwMiBGIC42MDIoYXVsdCB2KQogLS4xIEYgLjYwMihhbHVlIGlzIDUwMC4pLS4yNSBGIC42MDEKIChUaGUgaGlzdG9yeSBcMjE0bGUgaXMgYWxzbyB0cnVuY2F0ZWQgdG8gdGhpcyBzaXplKTUuNjAyIEYKLShhZnRlciB3cml0aW5nIGl0IHdoZW4gYW4gaW50ZXJhY3RpKTE0NCA0NDQgUSAuMyAtLjE1KHZlIHMpLS4yNSBICi0oaGVsbCBlKS4xNSBFKHhpdHMuKS0uMTUgRSBGMShISVNUSUdOT1JFKTEwOCA0NTYgUSBGMCAyLjY1NyhBYykxNDQgNDY4IFMKKyhhZnRlciB3cml0aW5nIGl0IHdoZW4gYW4gaW50ZXJhY3RpKTE0NCA2NDggUSAuMyAtLjE1KHZlIHMpLS4yNSBICisoaGVsbCBlKS4xNSBFKHhpdHMuKS0uMTUgRSBGMShISVNUSUdOT1JFKTEwOCA2NjAgUSBGMCAyLjY1NyhBYykxNDQgNjcyIFMKIC4xNTcob2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBwYXR0ZXJucyB1c2VkIHRvIGRlY2lkZSB3aGljaCBjb21tYW5kIGxpbmVzXAogIHNob3VsZCBiZSBzYSktMi42NTcgRiAtLjE1KHZlKS0uMiBHIDIuNjU4KGRvKS4xNSBHIDIuNjU4KG50KS0yLjY1OCBHCi0uMTU4KGhlIGhpcy0pLTIuNjU4IEYgLjcwOCh0b3J5IGxpc3QuKTE0NCA0ODAgUiAuNzA4CisuMTU4KGhlIGhpcy0pLTIuNjU4IEYgLjcwOCh0b3J5IGxpc3QuKTE0NCA2ODQgUiAuNzA4CiAoRWFjaCBwYXR0ZXJuIGlzIGFuY2hvcmVkIGF0IHRoZSBiZSk1LjcwOCBGIC43MDcKIChnaW5uaW5nIG9mIHRoZSBsaW5lIGFuZCBtdXN0IG1hdGNoIHRoZSBjb21wbGV0ZSBsaW5lKS0uMTUgRiAuNjI1Ci0oXChubyBpbXBsaWNpdCBgKTE0NCA0OTIgUiBGMSgqKUEgRjAgMy4xMjUoJ2kpQyAzLjEyNShzYSktMy4xMjUgRyAzLjEyNQorKFwobm8gaW1wbGljaXQgYCkxNDQgNjk2IFIgRjEoKilBIEYwIDMuMTI1KCdpKUMgMy4xMjUoc2EpLTMuMTI1IEcgMy4xMjUKIChwcGVuZGVkXCkuIEVhY2gpLTMuMTI1IEYgLjYyNihwYXR0ZXJuIGlzIHRlc3RlZCBhZykzLjEyNSBGIC42MjYKLShhaW5zdCB0aGUgbGluZSBhZnRlciB0aGUgY2hlY2tzIHNwZWNpXDIxNGVkIGJ5KS0uMDUgRiBGMShISVNUQ09OVFIpMTQ0Ci01MDQgUShPTCktLjMgRSBGMCAxLjE1NShhcmUgYXBwbGllZC4pMy42NTUgRiAxLjE1NAotKEluIGFkZGl0aW9uIHRvIHRoZSBub3JtYWwgc2hlbGwgcGF0dGVybiBtYXRjaGluZyBjaGFyYWN0ZXJzLCBgKTYuMTU0IEYKLUYxKCYpQSBGMCgnKUEgMi41MTQobWF0Y2hlcyB0aGUgcHJlKTE0NCA1MTYgUiAyLjUxNCh2aW91cyBoaXN0b3J5IGxpbmUuKQorKGFpbnN0IHRoZSBsaW5lIGFmdGVyIHRoZSBjaGVja3Mgc3BlY2lcMjE0ZWQgYnkpLS4wNSBGIEYzKEhJU1RDT05UUikxNDQKKzcwOCBRKE9MKS0uMjcgRSBGMCAxLjc5MyhhcmUgYXBwbGllZC4pNC4wNDMgRiAxLjc5MworKEluIGFkZGl0aW9uIHRvIHRoZSBub3JtYWwgc2hlbGwgcGF0dGVybiBtYXRjaGluZyBjaGFyYWN0ZXJzLCBgKTYuNzkzIEYKK0YxKCYpQSBGMCgnKUEgMi41MTQobWF0Y2hlcyB0aGUgcHJlKTE0NCA3MjAgUiAyLjUxNCh2aW91cyBoaXN0b3J5IGxpbmUuKQogLS4yNSBGKGApNy41MTQgRSBGMSgmKUEgRjAgNS4wMTQoJ20pQyAyLjUxNAotKGF5IGJlIGVzY2FwZWQgdXNpbmcgYSBiYWNrc2xhc2g7IHRoZSBiYWNrc2xhc2ggaXMpLTUuMDE0IEYocmVtbykxNDQgNTI4Ci1RIC0uMTUodmUpLS4xNSBHIDMuMzUzKGRiKS4xNSBHIC44NTMoZWZvcmUgYXR0ZW1wdGluZyBhIG1hdGNoLiktMy4zNTMgRgotLjg1MihUaGUgc2Vjb25kIGFuZCBzdWJzZXF1ZW50IGxpbmVzIG9mIGEgbXVsdGktbGluZSBjb21wb3VuZCk1Ljg1MiBGCi0oY29tbWFuZCBhcmUgbm90IHRlc3RlZCwgYW5kIGFyZSBhZGRlZCB0byB0aGUgaGlzdG9yeSByZSkxNDQgNTQwIFEgLS4wNQotKGdhKS0uMTUgRyhyZGxlc3Mgb2YgdGhlIHYpLjA1IEUoYWx1ZSBvZiktLjI1IEUgRjEoSElTVElHTk9SRSkyLjUgRSBGMAotKC4pQSBGMShISVNUU0laRSkxMDggNTUyIFEgRjAgMS45NDIKLShUaGUgbnVtYmVyIG9mIGNvbW1hbmRzIHRvIHJlbWVtYmVyIGluIHRoZSBjb21tYW5kIGhpc3RvcnkgXChzZWUpMTQ0IDU2NAotUiBGMyhISVNUKTQuNDQzIEUoT1IpLS4xNjIgRShZKS0uMzE1IEUgRjAoYmVsbyk0LjE5MyBFIDQuNDQzKHdcKS4gVGhlKQotLS4yNSBGKGRlZikxNDQgNTc2IFEoYXVsdCB2KS0uMSBFKGFsdWUgaXMgNTAwLiktLjI1IEUgRjEoSElTVFRJTUVGT1JNQSkKLTEwOCA1ODggUShUKS0uOTUgRSBGMCAuOTUyKElmIHRoaXMgdikxNDQgNjAwIFIgLjk1MgotKGFyaWFibGUgaXMgc2V0IGFuZCBub3QgbnVsbCwgaXRzIHYpLS4yNSBGIC45NTEKLShhbHVlIGlzIHVzZWQgYXMgYSBmb3JtYXQgc3RyaW5nIGZvciktLjI1IEYgRjUoc3RyZnRpbWUpMy40NTEgRSBGMCAuOTUxCi0oXCgzXCkgdG8gcHJpbnQgdGhlKUIgLjY3MgotKHRpbWUgc3RhbXAgYXNzb2NpYXRlZCB3aXRoIGVhY2ggaGlzdG9yeSBlbnRyeSBkaXNwbGF5ZWQgYnkgdGhlKTE0NCA2MTIKLVIgRjEoaGlzdG9yeSkzLjE3MyBFIEYwIC0uMihidSkzLjE3MyBHIDMuMTczKGlsdGluLiBJZikuMiBGIC42NzModGhpcyB2KQotMy4xNzMgRiAuNjczKGFyaWFibGUgaXMpLS4yNSBGIC4xNDQKLShzZXQsIHRpbWUgc3RhbXBzIGFyZSB3cml0dGVuIHRvIHRoZSBoaXN0b3J5IFwyMTRsZSBzbyB0aGUpMTQ0IDYyNCBSCi0yLjY0NCh5bSktLjE1IEcgLjE0NChheSBiZSBwcmVzZXJ2KS0yLjY0NCBGIC4xNDQKLShlZCBhY3Jvc3Mgc2hlbGwgc2Vzc2lvbnMuKS0uMTUgRihUaGlzKTUuMTQ0IEUodXNlcyB0aGUgaGlzdG9yeSBjb21tZW50XAotIGNoYXJhY3RlciB0byBkaXN0aW5ndWlzaCB0aW1lc3RhbXBzIGZyb20gb3RoZXIgaGlzdG9yeSBsaW5lcy4pMTQ0IDYzNiBRCi1GMShIT01FKTEwOCA2NDggUSBGMCAxLjI3Ci0oVGhlIGhvbWUgZGlyZWN0b3J5IG9mIHRoZSBjdXJyZW50IHVzZXI7IHRoZSBkZWYpMTQ0IDY2MCBSIDEuMjcoYXVsdCBhcikKLS0uMSBGIDEuMjcoZ3VtZW50IGZvciB0aGUpLS4xOCBGIEYxKGNkKTMuNzcgRSBGMCAtLjIoYnUpMy43NyBHIDEuMjcKLShpbHRpbiBjb21tYW5kLikuMiBGKFRoZSk2LjI3IEUgLS4yNSh2YSkxNDQgNjcyIFMobHVlIG9mIHRoaXMgdikuMjUgRQotKGFyaWFibGUgaXMgYWxzbyB1c2VkIHdoZW4gcGVyZm9ybWluZyB0aWxkZSBlKS0uMjUgRSh4cGFuc2lvbi4pLS4xNSBFIEYxCi0oSE9TVEZJTEUpMTA4IDY4NCBRIEYwIDEuMDE1Ci0oQ29udGFpbnMgdGhlIG5hbWUgb2YgYSBcMjE0bGUgaW4gdGhlIHNhbWUgZm9ybWF0IGFzKTE0NCA2OTYgUiBGNQotKC9ldGMvaG9zdHMpNS4xODEgRSBGMCAxLjAxNSh0aGF0IHNob3VsZCBiZSByZWFkIHdoZW4gdGhlIHNoZWxsKTUuMTgxIEYKLS41NShuZWVkcyB0byBjb21wbGV0ZSBhIGhvc3RuYW1lLikxNDQgNzA4IFIgLjU1MQotKFRoZSBsaXN0IG9mIHBvc3NpYmxlIGhvc3RuYW1lIGNvbXBsZXRpb25zIG1heSBiZSBjaGFuZ2VkIHdoaWxlKTUuNTUxIEYKLTEuMDU5KHRoZSBzaGVsbCBpcyBydW5uaW5nOyB0aGUgbmUpMTQ0IDcyMCBSIDEuMDU5Ci0oeHQgdGltZSBob3N0bmFtZSBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCBhZnRlciB0aGUgdiktLjE1IEYgMS4wNTgKLShhbHVlIGlzIGNoYW5nZWQsKS0uMjUgRihHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFCi0oMTMpMTkwLjk1IEUgMCBDZyBFUAorKGF5IGJlIGVzY2FwZWQgdXNpbmcgYSBiYWNrc2xhc2g7IHRoZSBiYWNrc2xhc2ggaXMpLTUuMDE0IEYKKyhHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoMTMpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogMTQgMTQKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGJhc2gpMTQ0IDg0IFEgRjAgLjcxNQotKGFkZHMgdGhlIGNvbnRlbnRzIG9mIHRoZSBuZSkzLjIxNSBGIDMuMjE1PDc3OGM+LS4yNSBHIC43MTUobGUgdG8gdGhlIGUpCi0tMy4yMTUgRiAuNzE1KHhpc3RpbmcgbGlzdC4pLS4xNSBGKElmKTUuNzE2IEUvRjIgOS9UaW1lcy1Cb2xkQDAgU0YKLShIT1NURklMRSkzLjIxNiBFIEYwIC43MTYoaXMgc2V0LCBiKTIuOTY2IEYgLjcxNih1dCBoYXMgbm8gdiktLjIgRgotKGFsdWUsKS0uMjUgRSBGMShiYXNoKTE0NCA5NiBRIEYwIDIuMjM2KGF0dGVtcHRzIHRvIHJlYWQpNC43MzYgRi9GMyAxMAotL1RpbWVzLUl0YWxpY0AwIFNGKC9ldGMvaG9zdHMpNi40MDEgRSBGMCAyLjIzNQotKHRvIG9idGFpbiB0aGUgbGlzdCBvZiBwb3NzaWJsZSBob3N0bmFtZSBjb21wbGV0aW9ucy4pNi40MDEgRihXaGVuKTcuMjM1Ci1FIEYyKEhPU1RGSUxFKTE0NCAxMDggUSBGMChpcyB1bnNldCwgdGhlIGhvc3RuYW1lIGxpc3QgaXMgY2xlYXJlZC4pMi4yNQotRSBGMShJRlMpMTA4IDEyMCBRIEYwKFRoZSkyMC40NCBFIEYzIC41NTUoSW50ZXJuYWwgRikzLjYzNSBGIC41NTUKKy0uMzUgRShyZW1vKTE0NCA4NCBRIC0uMTUodmUpLS4xNSBHIDMuMzUzKGRiKS4xNSBHIC44NTMKKyhlZm9yZSBhdHRlbXB0aW5nIGEgbWF0Y2guKS0zLjM1MyBGIC44NTIKKyhUaGUgc2Vjb25kIGFuZCBzdWJzZXF1ZW50IGxpbmVzIG9mIGEgbXVsdGktbGluZSBjb21wb3VuZCk1Ljg1MiBGCisoY29tbWFuZCBhcmUgbm90IHRlc3RlZCwgYW5kIGFyZSBhZGRlZCB0byB0aGUgaGlzdG9yeSByZSkxNDQgOTYgUSAtLjA1CisoZ2EpLS4xNSBHKHJkbGVzcyBvZiB0aGUgdikuMDUgRShhbHVlIG9mKS0uMjUgRS9GMSA5L1RpbWVzLUJvbGRAMCBTRgorKEhJU1RJR05PUkUpMi41IEUvRjIgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQS9GMyAxMC9UaW1lcy1Cb2xkQDAgU0YKKyhISVNUU0laRSkxMDggMTA4IFEgRjAgMS45NDIKKyhUaGUgbnVtYmVyIG9mIGNvbW1hbmRzIHRvIHJlbWVtYmVyIGluIHRoZSBjb21tYW5kIGhpc3RvcnkgXChzZWUpMTQ0IDEyMAorUiBGMShISVNUKTQuNDQzIEUoT1IpLS4xNjIgRShZKS0uMzE1IEUgRjAoYmVsbyk0LjE5MyBFIDQuNDQzKHdcKS4gVGhlKQorLS4yNSBGKGRlZikxNDQgMTMyIFEoYXVsdCB2KS0uMSBFKGFsdWUgaXMgNTAwLiktLjI1IEUgRjMoSElTVFRJTUVGT1JNQSkKKzEwOCAxNDQgUShUKS0uOTUgRSBGMCAuOTUyKElmIHRoaXMgdikxNDQgMTU2IFIgLjk1MgorKGFyaWFibGUgaXMgc2V0IGFuZCBub3QgbnVsbCwgaXRzIHYpLS4yNSBGIC45NTEKKyhhbHVlIGlzIHVzZWQgYXMgYSBmb3JtYXQgc3RyaW5nIGZvciktLjI1IEYvRjQgMTAvVGltZXMtSXRhbGljQDAgU0YKKyhzdHJmdGltZSkzLjQ1MSBFIEYwIC45NTEoXCgzXCkgdG8gcHJpbnQgdGhlKUIgLjY3MgorKHRpbWUgc3RhbXAgYXNzb2NpYXRlZCB3aXRoIGVhY2ggaGlzdG9yeSBlbnRyeSBkaXNwbGF5ZWQgYnkgdGhlKTE0NCAxNjgKK1IgRjMoaGlzdG9yeSkzLjE3MyBFIEYwIC0uMihidSkzLjE3MyBHIDMuMTczKGlsdGluLiBJZikuMiBGIC42NzModGhpcyB2KQorMy4xNzMgRiAuNjczKGFyaWFibGUgaXMpLS4yNSBGIC4xNDQKKyhzZXQsIHRpbWUgc3RhbXBzIGFyZSB3cml0dGVuIHRvIHRoZSBoaXN0b3J5IFwyMTRsZSBzbyB0aGUpMTQ0IDE4MCBSCisyLjY0NCh5bSktLjE1IEcgLjE0NChheSBiZSBwcmVzZXJ2KS0yLjY0NCBGIC4xNDQKKyhlZCBhY3Jvc3Mgc2hlbGwgc2Vzc2lvbnMuKS0uMTUgRihUaGlzKTUuMTQ0IEUodXNlcyB0aGUgaGlzdG9yeSBjb21tZW50XAorIGNoYXJhY3RlciB0byBkaXN0aW5ndWlzaCB0aW1lc3RhbXBzIGZyb20gb3RoZXIgaGlzdG9yeSBsaW5lcy4pMTQ0IDE5MiBRCitGMyhIT01FKTEwOCAyMDQgUSBGMCAxLjI3CisoVGhlIGhvbWUgZGlyZWN0b3J5IG9mIHRoZSBjdXJyZW50IHVzZXI7IHRoZSBkZWYpMTQ0IDIxNiBSIDEuMjcoYXVsdCBhcikKKy0uMSBGIDEuMjcoZ3VtZW50IGZvciB0aGUpLS4xOCBGIEYzKGNkKTMuNzcgRSBGMCAtLjIoYnUpMy43NyBHIDEuMjcKKyhpbHRpbiBjb21tYW5kLikuMiBGKFRoZSk2LjI3IEUgLS4yNSh2YSkxNDQgMjI4IFMobHVlIG9mIHRoaXMgdikuMjUgRQorKGFyaWFibGUgaXMgYWxzbyB1c2VkIHdoZW4gcGVyZm9ybWluZyB0aWxkZSBlKS0uMjUgRSh4cGFuc2lvbi4pLS4xNSBFIEYzCisoSE9TVEZJTEUpMTA4IDI0MCBRIEYwIDEuMDE1CisoQ29udGFpbnMgdGhlIG5hbWUgb2YgYSBcMjE0bGUgaW4gdGhlIHNhbWUgZm9ybWF0IGFzKTE0NCAyNTIgUiBGNAorKC9ldGMvaG9zdHMpNS4xODEgRSBGMCAxLjAxNSh0aGF0IHNob3VsZCBiZSByZWFkIHdoZW4gdGhlIHNoZWxsKTUuMTgxIEYKKy41NShuZWVkcyB0byBjb21wbGV0ZSBhIGhvc3RuYW1lLikxNDQgMjY0IFIgLjU1MQorKFRoZSBsaXN0IG9mIHBvc3NpYmxlIGhvc3RuYW1lIGNvbXBsZXRpb25zIG1heSBiZSBjaGFuZ2VkIHdoaWxlKTUuNTUxIEYKKzEuMDU5KHRoZSBzaGVsbCBpcyBydW5uaW5nOyB0aGUgbmUpMTQ0IDI3NiBSIDEuMDU5CisoeHQgdGltZSBob3N0bmFtZSBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCBhZnRlciB0aGUgdiktLjE1IEYgMS4wNTgKKyhhbHVlIGlzIGNoYW5nZWQsKS0uMjUgRiBGMyhiYXNoKTE0NCAyODggUSBGMCAuMTM4CisoYWRkcyB0aGUgY29udGVudHMgb2YgdGhlIG5lKTIuNjM4IEYgMi42Mzg8Nzc4Yz4tLjI1IEcgLjEzOChsZSB0byB0aGUgZSkKKy0yLjYzOCBGIC4xMzgoeGlzdGluZyBsaXN0LiktLjE1IEYoSWYpNS4xMzggRSBGMShIT1NURklMRSkyLjYzOCBFIEYwCisuMTM4KGlzIHNldCwgYikyLjM4OCBGIC4xMzkodXQgaGFzIG5vIHYpLS4yIEYgLjEzOShhbHVlLCBvciktLjI1IEYgLjUxOAorKGRvZXMgbm90IG5hbWUgYSByZWFkYWJsZSBcMjE0bGUsKTE0NCAzMDAgUiBGMyhiYXNoKTMuMDE4IEUgRjAgLjUxOAorKGF0dGVtcHRzIHRvIHJlYWQpMy4wMTggRiBGNCgvZXRjL2hvc3RzKTQuNjgzIEUgRjAgLjUxNworKHRvIG9idGFpbiB0aGUgbGlzdCBvZiBwb3NzaWJsZSBob3N0LSk0LjY4MyBGKG5hbWUgY29tcGxldGlvbnMuKTE0NCAzMTIKK1EoV2hlbik1IEUgRjEoSE9TVEZJTEUpMi41IEUgRjAoaXMgdW5zZXQsIHRoZSBob3N0bmFtZSBsaXN0IGlzIGNsZWFyZWQuKQorMi4yNSBFIEYzKElGUykxMDggMzI0IFEgRjAoVGhlKTIwLjQ0IEUgRjQgLjU1NShJbnRlcm5hbCBGKTMuNjM1IEYgLjU1NQogKGllbGQgU2VwYXIpLS40NSBGKGF0b3IpLS4xNSBFIEYwIC41NTUodGhhdCBpcyB1c2VkIGZvciB3KTMuNzg1IEYgLjU1NgogKG9yZCBzcGxpdHRpbmcgYWZ0ZXIgZSktLjEgRiAuNTU2KHhwYW5zaW9uIGFuZCB0byBzcGxpdCBsaW5lcyBpbnRvKS0uMTUKLUYgLS4xKHdvKTE0NCAxMzIgUyhyZHMgd2l0aCB0aGUpLjEgRSBGMSAtLjE4KHJlKTIuNSBHKGFkKS4xOCBFIEYwIC0uMgorRiAtLjEod28pMTQ0IDMzNiBTKHJkcyB3aXRoIHRoZSkuMSBFIEYzIC0uMTgocmUpMi41IEcoYWQpLjE4IEUgRjAgLS4yCiAoYnUpMi41IEcoaWx0aW4gY29tbWFuZC4pLjIgRShUaGUgZGVmKTUgRShhdWx0IHYpLS4xIEUoYWx1ZSBpcyBgKS0uMjUgRQotKGA8c3BhY2U+PHRhYj48bmUpLS43NCBFKHdsaW5lPicpLS4yNSBFKCcuKS0uNzQgRSBGMShJR05PUkVFT0YpMTA4IDE0NCBRCi1GMCAuNTAzKENvbnRyb2xzIHRoZSBhY3Rpb24gb2YgYW4gaW50ZXJhY3RpKTE0NCAxNTYgUiAuODAzIC0uMTUodmUgcykKLS0uMjUgSCAuNTAzKGhlbGwgb24gcmVjZWlwdCBvZiBhbikuMTUgRiBGMihFT0YpMy4wMDMgRSBGMCAuNTAzCisoYDxzcGFjZT48dGFiPjxuZSktLjc0IEUod2xpbmU+JyktLjI1IEUoJy4pLS43NCBFIEYzKElHTk9SRUVPRikxMDggMzQ4IFEKK0YwIC41MDMoQ29udHJvbHMgdGhlIGFjdGlvbiBvZiBhbiBpbnRlcmFjdGkpMTQ0IDM2MCBSIC44MDMgLS4xNSh2ZSBzKQorLS4yNSBIIC41MDMoaGVsbCBvbiByZWNlaXB0IG9mIGFuKS4xNSBGIEYxKEVPRikzLjAwMyBFIEYwIC41MDMKIChjaGFyYWN0ZXIgYXMgdGhlIHNvbGUgaW5wdXQuKTIuNzUzIEYgLjUwMyhJZiBzZXQsKTUuNTAzIEYgLjQyNih0aGUgdikKLTE0NCAxNjggUiAuNDI2KGFsdWUgaXMgdGhlIG51bWJlciBvZiBjb25zZWN1dGkpLS4yNSBGIC0uMTUodmUpLS4yNSBHIEYyCisxNDQgMzcyIFIgLjQyNihhbHVlIGlzIHRoZSBudW1iZXIgb2YgY29uc2VjdXRpKS0uMjUgRiAtLjE1KHZlKS0uMjUgRyBGMQogKEVPRikzLjA3NiBFIEYwIC40MjYKIChjaGFyYWN0ZXJzIHdoaWNoIG11c3QgYmUgdHlwZWQgYXMgdGhlIFwyMTRyc3QgY2hhcmFjdGVycykyLjY3NiBGIC4zMDMKLShvbiBhbiBpbnB1dCBsaW5lIGJlZm9yZSkxNDQgMTgwIFIgRjEoYmFzaCkyLjgwMiBFIEYwIC0uMTUoZXgpMi44MDIgRworKG9uIGFuIGlucHV0IGxpbmUgYmVmb3JlKTE0NCAzODQgUiBGMyhiYXNoKTIuODAyIEUgRjAgLS4xNShleCkyLjgwMiBHCiAyLjgwMihpdHMuIElmKS4xNSBGIC4zMDIodGhlIHYpMi44MDIgRiAuMzAyKGFyaWFibGUgZSktLjI1IEYgLjMwMgogKHhpc3RzIGIpLS4xNSBGIC4zMDIodXQgZG9lcyBub3QgaGEpLS4yIEYgLjYwMiAtLjE1KHZlIGEgbiktLjIgSCAuMzAyCi0odW1lcmljIHYpLjE1IEYgLjMwMihhbHVlLCBvciBoYXMpLS4yNSBGKG5vIHYpMTQ0IDE5MiBRKGFsdWUsIHRoZSBkZWYpCisodW1lcmljIHYpLjE1IEYgLjMwMihhbHVlLCBvciBoYXMpLS4yNSBGKG5vIHYpMTQ0IDM5NiBRKGFsdWUsIHRoZSBkZWYpCiAtLjI1IEUoYXVsdCB2KS0uMSBFKGFsdWUgaXMgMTAuKS0uMjUgRShJZiBpdCBkb2VzIG5vdCBlKTUgRSh4aXN0LCktLjE1IEUKLUYyKEVPRikyLjUgRSBGMChzaWduaVwyMTRlcyB0aGUgZW5kIG9mIGlucHV0IHRvIHRoZSBzaGVsbC4pMi4yNSBFIEYxCi0oSU5QVVRSQykxMDggMjA0IFEgRjAgMS40MzUoVGhlIFwyMTRsZW5hbWUgZm9yIHRoZSkxNDQgMjE2IFIgRjEgLS4xOChyZSkKK0YxKEVPRikyLjUgRSBGMChzaWduaVwyMTRlcyB0aGUgZW5kIG9mIGlucHV0IHRvIHRoZSBzaGVsbC4pMi4yNSBFIEYzCisoSU5QVVRSQykxMDggNDA4IFEgRjAgMS40MzUoVGhlIFwyMTRsZW5hbWUgZm9yIHRoZSkxNDQgNDIwIFIgRjMgLS4xOChyZSkKIDMuOTM2IEcoYWRsaW5lKS4xOCBFIEYwIDEuNDM2KHN0YXJ0dXAgXDIxNGxlLCBvKTMuOTM2IEYgLS4xNSh2ZSktLjE1IEcKLTEuNDM2KHJyaWRpbmcgdGhlIGRlZikuMTUgRiAxLjQzNihhdWx0IG9mKS0uMSBGIEYzKH4vLmlucHV0cik1LjYwMiBFKGMpCi0tLjM3IEUgRjAoXChzZWUpNS42MDIgRSBGMihSRUFETElORSkzLjkzNiBFIEYwKGJlbG8pMTQ0IDIyOCBRKHdcKS4pLS4yNQotRSBGMShMQU5HKTEwOCAyNDAgUSBGMCAxLjI0KFVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBsb2NhbGUgY2F0ZSk3LjExIEYKKzEuNDM2KHJyaWRpbmcgdGhlIGRlZikuMTUgRiAxLjQzNihhdWx0IG9mKS0uMSBGIEY0KH4vLmlucHV0cik1LjYwMiBFKGMpCistLjM3IEUgRjAoXChzZWUpNS42MDIgRSBGMShSRUFETElORSkzLjkzNiBFIEYwKGJlbG8pMTQ0IDQzMiBRKHdcKS4pLS4yNQorRSBGMyhMQU5HKTEwOCA0NDQgUSBGMCAxLjI0KFVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBsb2NhbGUgY2F0ZSk3LjExIEYKIDEuMjM5KGdvcnkgZm9yIGFuKS0uMTUgRiAzLjczOSh5YyktLjE1IEcoYXRlKS0zLjczOSBFIDEuMjM5CiAoZ29yeSBub3Qgc3BlY2lcMjE0Y2FsbHkgc2VsZWN0ZWQgd2l0aCBhIHYpLS4xNSBGKGFyaWFibGUpLS4yNSBFCi0oc3RhcnRpbmcgd2l0aCkxNDQgMjUyIFEgRjEoTENfKTIuNSBFIEYwKC4pQSBGMShMQ19BTEwpMTA4IDI2NCBRIEYwIC43NjQKLShUaGlzIHYpMTQ0IDI3NiBSIC43NjQoYXJpYWJsZSBvKS0uMjUgRiAtLjE1KHZlKS0uMTUgRyAuNzY0Ci0ocnJpZGVzIHRoZSB2KS4xNSBGIC43NjQoYWx1ZSBvZiktLjI1IEYgRjEoTEFORykzLjI2NCBFIEYwIC43NjQoYW5kIGFuKQotMy4yNjQgRiAzLjI2NCh5byktLjE1IEcodGhlciktMy4yNjQgRSBGMShMQ18pMy4yNjQgRSBGMCAtLjI1KHZhKTMuMjY0IEcKLS43NjQocmlhYmxlIHNwZWNpZnlpbmcgYSBsb2NhbGUgY2F0ZS0pLjI1IEYoZ29yeSkxNDQgMjg4IFEoLiktLjY1IEUgRjEKLShMQ19DT0xMQSkxMDggMzAwIFEoVEUpLS45NSBFIEYwIC40MTIoVGhpcyB2KTE0NCAzMTIgUiAuNDEyKGFyaWFibGUgZGV0XAorKHN0YXJ0aW5nIHdpdGgpMTQ0IDQ1NiBRIEYzKExDXykyLjUgRSBGMCguKUEgRjMoTENfQUxMKTEwOCA0NjggUSBGMCAuOTczCisoVGhpcyB2KTE0NCA0ODAgUiAuOTczKGFyaWFibGUgbyktLjI1IEYgLS4xNSh2ZSktLjE1IEcgLjk3MworKHJyaWRlcyB0aGUgdikuMTUgRiAuOTczKGFsdWUgb2YpLS4yNSBGIEYxKExBTkcpMy40NzMgRSBGMCAuOTczKGFuZCBhbikKKzMuMjIzIEYgMy40NzMoeW8pLS4xNSBHKHRoZXIpLTMuNDczIEUgRjMoTENfKTMuNDczIEUgRjAgLS4yNSh2YSkzLjQ3MyBHCisuOTc0KHJpYWJsZSBzcGVjaWZ5aW5nIGEgbG9jYWxlIGNhdGUtKS4yNSBGKGdvcnkpMTQ0IDQ5MiBRKC4pLS42NSBFIEYzCisoTENfQ09MTEEpMTA4IDUwNCBRKFRFKS0uOTUgRSBGMCAuNDEyKFRoaXMgdikxNDQgNTE2IFIgLjQxMihhcmlhYmxlIGRldFwKIGVybWluZXMgdGhlIGNvbGxhdGlvbiBvcmRlciB1c2VkIHdoZW4gc29ydGluZyB0aGUgcmVzdWx0cyBvZiBwYXRobmFtZSBlKQotLS4yNSBGKHhwYW5zaW9uLCktLjE1IEUgMS40NjQoYW5kIGRldGVybWluZXMgdGhlIGJlaGEpMTQ0IDMyNCBSIDEuNDY0CistLjI1IEYoeHBhbnNpb24sKS0uMTUgRSAxLjQ2NChhbmQgZGV0ZXJtaW5lcyB0aGUgYmVoYSkxNDQgNTI4IFIgMS40NjQKICh2aW9yIG9mIHJhbmdlIGUpLS4yIEYgMS40NjUoeHByZXNzaW9ucywgZXF1aSktLjE1IEYgLS4yNSh2YSktLjI1IEcKIDEuNDY1KGxlbmNlIGNsYXNzZXMsIGFuZCBjb2xsYXRpbmcgc2VxdWVuY2VzKS4yNSBGKHdpdGhpbiBwYXRobmFtZSBlKTE0NAotMzM2IFEoeHBhbnNpb24gYW5kIHBhdHRlcm4gbWF0Y2hpbmcuKS0uMTUgRSBGMShMQ19DVFlQRSkxMDggMzQ4IFEgRjAKLTEuOTM2KFRoaXMgdikxNDQgMzYwIFIgMS45MzYKKzU0MCBRKHhwYW5zaW9uIGFuZCBwYXR0ZXJuIG1hdGNoaW5nLiktLjE1IEUgRjMoTENfQ1RZUEUpMTA4IDU1MiBRIEYwCisxLjkzNihUaGlzIHYpMTQ0IDU2NCBSIDEuOTM2CiAoYXJpYWJsZSBkZXRlcm1pbmVzIHRoZSBpbnRlcnByZXRhdGlvbiBvZiBjaGFyYWN0ZXJzIGFuZCB0aGUgYmVoYSktLjI1IEYKLTEuOTM1KHZpb3Igb2YgY2hhcmFjdGVyIGNsYXNzZXMpLS4yIEYod2l0aGluIHBhdGhuYW1lIGUpMTQ0IDM3MiBRCi0oeHBhbnNpb24gYW5kIHBhdHRlcm4gbWF0Y2hpbmcuKS0uMTUgRSBGMShMQ19NRVNTQSkxMDggMzg0IFEoR0VTKS0uNTUgRQotRjAoVGhpcyB2KTE0NCAzOTYgUShhcmlhYmxlIGRldGVybWluZXMgdGhlIGxvY2FsZSB1c2VkIHRvIHRyYW5zbGF0ZSBkb3VcCi1ibGUtcXVvdGVkIHN0cmluZ3MgcHJlY2VkZWQgYnkgYSktLjI1IEUgRjEoJCkyLjUgRSBGMCguKUEgRjEoTENfTlVNRVJJQykKLTEwOCA0MDggUSBGMChUaGlzIHYpMTQ0IDQyMCBRKGFyaWFibGUgZGV0ZXJtaW5lcyB0aGUgbG9jYWxlIGNhdGUpLS4yNSBFCi0oZ29yeSB1c2VkIGZvciBudW1iZXIgZm9ybWF0dGluZy4pLS4xNSBFIEYxKExJTkVTKTEwOCA0MzIgUSBGMCAxLjIxOAotKFVzZWQgYnkgdGhlKTUuOTkgRiBGMShzZWxlY3QpMy43MTggRSBGMCAtLjIoYnUpMy43MTggRyAxLjIxOShpbHRpbiBjb21cCisxLjkzNSh2aW9yIG9mIGNoYXJhY3RlciBjbGFzc2VzKS0uMiBGKHdpdGhpbiBwYXRobmFtZSBlKTE0NCA1NzYgUQorKHhwYW5zaW9uIGFuZCBwYXR0ZXJuIG1hdGNoaW5nLiktLjE1IEUgRjMoTENfTUVTU0EpMTA4IDU4OCBRKEdFUyktLjU1IEUKK0YwKFRoaXMgdikxNDQgNjAwIFEoYXJpYWJsZSBkZXRlcm1pbmVzIHRoZSBsb2NhbGUgdXNlZCB0byB0cmFuc2xhdGUgZG91XAorYmxlLXF1b3RlZCBzdHJpbmdzIHByZWNlZGVkIGJ5IGEpLS4yNSBFIEYzKCQpMi41IEUgRjAoLilBIEYzKExDX05VTUVSSUMpCisxMDggNjEyIFEgRjAoVGhpcyB2KTE0NCA2MjQgUShhcmlhYmxlIGRldGVybWluZXMgdGhlIGxvY2FsZSBjYXRlKS0uMjUgRQorKGdvcnkgdXNlZCBmb3IgbnVtYmVyIGZvcm1hdHRpbmcuKS0uMTUgRSBGMyhMSU5FUykxMDggNjM2IFEgRjAgMS4yMTgKKyhVc2VkIGJ5IHRoZSk1Ljk5IEYgRjMoc2VsZWN0KTMuNzE4IEUgRjAgLS4yKGJ1KTMuNzE4IEcgMS4yMTkoaWx0aW4gY29tXAogbWFuZCB0byBkZXRlcm1pbmUgdGhlIGNvbHVtbiBsZW5ndGggZm9yIHByaW50aW5nIHNlbGVjdGlvbiBsaXN0cy4pLjIgRgotKEF1dG9tYXRpY2FsbHkgc2V0IHVwb24gcmVjZWlwdCBvZiBhIFNJR1dJTkNILikxNDQgNDQ0IFEgRjEoTUFJTCkxMDggNDU2Ci1RIEYwIC4xODgoSWYgdGhpcyBwYXJhbWV0ZXIgaXMgc2V0IHRvIGEgXDIxNGxlIG5hbWUgYW5kIHRoZSk4Ljc4IEYgRjIKLShNQUlMUCkyLjY4NyBFIC0uODU1KEFUKS0uNjY2IEcoSCkuODU1IEUgRjAgLS4yNSh2YSkyLjQzNyBHIC4xODcKLShyaWFibGUgaXMgbm90IHNldCwpLjI1IEYgRjEoYmFzaCkyLjY4NyBFIEYwIC4xODcoaW5mb3JtcyB0aGUgdXNlcikyLjY4NwotRihvZiB0aGUgYXJyaSkxNDQgNDY4IFEgLS4yNSh2YSktLjI1IEcgMi41KGxvKS4yNSBHIDIuNShmbSktMi41IEcKLShhaWwgaW4gdGhlIHNwZWNpXDIxNGVkIFwyMTRsZS4pLTIuNSBFIEYxKE1BSUxDSEVDSykxMDggNDgwIFEgRjAgLjA5OAotKFNwZWNpXDIxNGVzIGhvKTE0NCA0OTIgUiAyLjU5OCh3byktLjI1IEcgLjA5OChmdGVuIFwoaW4gc2Vjb25kc1wpKQotLTIuNTk4IEYgRjEoYmFzaCkyLjU5OCBFIEYwIC4wOTgoY2hlY2tzIGZvciBtYWlsLikyLjU5OCBGIC4wOTgoVGhlIGRlZikKKyhBdXRvbWF0aWNhbGx5IHNldCB1cG9uIHJlY2VpcHQgb2YgYSkxNDQgNjQ4IFEgRjEoU0lHV0lOQ0gpMi41IEUgRjIoLilBCitGMyhNQUlMKTEwOCA2NjAgUSBGMCAuMTg4CisoSWYgdGhpcyBwYXJhbWV0ZXIgaXMgc2V0IHRvIGEgXDIxNGxlIG5hbWUgYW5kIHRoZSk4Ljc4IEYgRjEoTUFJTFApMi42ODcKK0UgLS44NTUoQVQpLS42NjYgRyhIKS44NTUgRSBGMCAtLjI1KHZhKTIuNDM3IEcgLjE4NyhyaWFibGUgaXMgbm90IHNldCwpCisuMjUgRiBGMyhiYXNoKTIuNjg3IEUgRjAgLjE4NyhpbmZvcm1zIHRoZSB1c2VyKTIuNjg3IEYob2YgdGhlIGFycmkpMTQ0Cis2NzIgUSAtLjI1KHZhKS0uMjUgRyAyLjUobG8pLjI1IEcgMi41KGZtKS0yLjUgRworKGFpbCBpbiB0aGUgc3BlY2lcMjE0ZWQgXDIxNGxlLiktMi41IEUgRjMoTUFJTENIRUNLKTEwOCA2ODQgUSBGMCAuMDk4CisoU3BlY2lcMjE0ZXMgaG8pMTQ0IDY5NiBSIDIuNTk4KHdvKS0uMjUgRyAuMDk4KGZ0ZW4gXChpbiBzZWNvbmRzXCkpCistMi41OTggRiBGMyhiYXNoKTIuNTk4IEUgRjAgLjA5OChjaGVja3MgZm9yIG1haWwuKTIuNTk4IEYgLjA5OChUaGUgZGVmKQogNS4wOTggRiAuMDk4KGF1bHQgaXMgNjAgc2Vjb25kcy4pLS4xIEYgLjA5OShXaGVuIGl0IGlzIHRpbWUpNS4wOTkgRiAuMjI0CiAodG8gY2hlY2sgZm9yIG1haWwsIHRoZSBzaGVsbCBkb2VzIHNvIGJlZm9yZSBkaXNwbGF5aW5nIHRoZSBwcmltYXJ5IHByb1wKLW1wdC4pMTQ0IDUwNCBSIC4yMjMoSWYgdGhpcyB2KTUuMjIzIEYgLjIyMyhhcmlhYmxlIGlzIHVuc2V0LCktLjI1IEYgLjA2NgotKG9yIHNldCB0byBhIHYpMTQ0IDUxNiBSIC4wNjYoYWx1ZSB0aGF0IGlzIG5vdCBhIG51bWJlciBncmVhdGVyIHRoYW4gb3JcCi0gZXF1YWwgdG8gemVybywgdGhlIHNoZWxsIGRpc2FibGVzIG1haWwgY2hlY2tpbmcuKS0uMjUgRiBGMShNQUlMUCkxMDgKLTUyOCBRIC0uOTUoQVQpLS43NCBHKEgpLjk1IEUgRjAgMi44MTUoQWMpMTQ0IDU0MCBTIC4zMTQKLShvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIFwyMTRsZSBuYW1lcyB0byBiZSBjaGVjayktMi44MTUgRiAuMzE0Ci0oZWQgZm9yIG1haWwuKS0uMSBGIC4zMTQoVGhlIG1lc3NhZ2UgdG8gYmUgcHJpbnRlZCB3aGVuIG1haWwpNS4zMTQgRgotKGFycmkpMTQ0IDU1MiBRIC0uMTUodmUpLS4yNSBHIDMuNDIoc2kpLjE1IEcgMy40MihuYXApLTMuNDIgRyAuOTIoYXJ0aWNcCi11bGFyIFwyMTRsZSBtYXkgYmUgc3BlY2lcMjE0ZWQgYnkgc2VwYXJhdGluZyB0aGUgXDIxNGxlIG5hbWUgZnJvbSB0aGUgbVwKLWVzc2FnZSB3aXRoIGEpLTMuNDIgRiAyLjgwOChgPycuIFdoZW4pMTQ0IDU2NCBSIC4zMDgodXNlZCBpbiB0aGUgdGUpCi0yLjgwOCBGIC4zMDgoeHQgb2YgdGhlIG1lc3NhZ2UsKS0uMTUgRiBGMSgkXykyLjgwOCBFIEYwIC0uMTUoZXgpMi44MDggRwotLjMwOChwYW5kcyB0byB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBtYWlsXDIxNGxlLikuMTUgRihFeGFtLSk1LjMwNyBFCi0ocGxlOikxNDQgNTc2IFEgRjEoTUFJTFApMTQ0IDU4OCBRIC0uOTUoQVQpLS43NCBHKEgpLjk1IEUgRjAoPVwwMTAvdilBCi0oYXIvbWFpbC9iZm94PyJZKS0uMjUgRShvdSBoYSktMS4xIEUgLjMgLS4xNSh2ZSBtKS0uMiBICi0oYWlsIjp+L3NoZWxsXDI1NW1haWw/IiRfIGhhcyBtYWlsISJcMDEwKS4xNSBFIEYxKEJhc2gpMTQ0IDYwMCBRIEYwIC4zODgKLShzdXBwbGllcyBhIGRlZikyLjg4OCBGIC4zODgoYXVsdCB2KS0uMSBGIC4zODgoYWx1ZSBmb3IgdGhpcyB2KS0uMjUgRgotLjM4OChhcmlhYmxlLCBiKS0uMjUgRiAuMzg5Ci0odXQgdGhlIGxvY2F0aW9uIG9mIHRoZSB1c2VyIG1haWwgXDIxNGxlcyB0aGF0IGl0IHVzZXMgaXMpLS4yIEYKLShzeXN0ZW0gZGVwZW5kZW50IFwoZS5nLiwgL3YpMTQ0IDYxMiBRKGFyL21haWwvKS0uMjUgRSBGMSgkVVNFUilBIEYwCi0oXCkuKUEgRjEoT1BURVJSKTEwOCA2MjQgUSBGMCAuMzkoSWYgc2V0IHRvIHRoZSB2KTE0NCA2MzYgUiAuMzkoYWx1ZSAxLCkKLS0uMjUgRiBGMShiYXNoKTIuODkgRSBGMCAuMzg5KGRpc3BsYXlzIGVycm9yIG1lc3NhZ2VzIGdlbmVyYXRlZCBieSB0aGUpCi0yLjg4OSBGIEYxKGdldG9wdHMpMi44ODkgRSBGMCAtLjIoYnUpMi44ODkgRyAuMzg5KGlsdGluIGNvbW1hbmQgXChzZWUpLjIKLUYgRjIgLjM1OShTSEVMTCBCKTE0NCA2NDggUihVSUwpLS4wOSBFIC4zNTkoVElOIENPTU1BTkRTKS0uODI4IEYgRjAKLShiZWxvKTIuNjA5IEUod1wpLiktLjI1IEUgRjIoT1BURVJSKTUuMzU5IEUgRjAgLjM2Ci0oaXMgaW5pdGlhbGl6ZWQgdG8gMSBlYWNoIHRpbWUgdGhlIHNoZWxsIGlzIGluKTIuNjA5IEYgLS4yKHZvKS0uNCBHIC0uMQotKGtlKS4yIEcoZCkuMSBFKG9yIGEgc2hlbGwgc2NyaXB0IGlzIGUpMTQ0IDY2MCBRIC0uMTUoeGUpLS4xNSBHKGN1dGVkLikKLS4xNSBFIEYxIC0uNzQoUEEpMTA4IDY3MiBTKFRIKS0uMjEgRSBGMCAuNTg4Ci0oVGhlIHNlYXJjaCBwYXRoIGZvciBjb21tYW5kcy4pOS45MSBGIC41ODcKLShJdCBpcyBhIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIGRpcmVjdG9yaWVzIGluIHdoaWNoIHRoZSBzaGVsbCBsb29rcykKLTUuNTg4IEYgLjQ3MShmb3IgY29tbWFuZHMgXChzZWUpMTQ0IDY4NCBSIEYyIC40NzEoQ09NTUFORCBFWEVDVVRJT04pCi0yLjk3MSBGIEYwKGJlbG8pMi43MjIgRSAyLjk3Mih3XCkuIEEpLS4yNSBGIC40NzIKLSh6ZXJvLWxlbmd0aCBcKG51bGxcKSBkaXJlY3RvcnkgbmFtZSBpbiB0aGUpMi45NzIgRiAtLjI1KHZhKTE0NCA2OTYgUwotLjM0NShsdWUgb2YpLjI1IEYgRjEgLS43NChQQSkyLjg0NSBHKFRIKS0uMjEgRSBGMCAuMzQ1Ci0oaW5kaWNhdGVzIHRoZSBjdXJyZW50IGRpcmVjdG9yeSkyLjg0NSBGIDUuMzQ1KC5BKS0uNjUgRyAuMzQ0Ci0obnVsbCBkaXJlY3RvcnkgbmFtZSBtYXkgYXBwZWFyIGFzIHR3KS0yLjUgRiAyLjg0NChvYSktLjEgRyhkamFjZW50KQotLTIuODQ0IEUgLjg2Nyhjb2xvbnMsIG9yIGFzIGFuIGluaXRpYWwgb3IgdHJhaWxpbmcgY29sb24uKTE0NCA3MDggUiAuODY4Ci0oVGhlIGRlZik1Ljg2OCBGIC44NjgoYXVsdCBwYXRoIGlzIHN5c3RlbS1kZXBlbmRlbnQsIGFuZCBpcyBzZXQgYnkgdGhlKQotLS4xIEYgMjYuMzI5KGFkbWluaXN0cmF0b3Igd2hvIGluc3RhbGxzKTE0NCA3MjAgUiBGMShiYXNoKTI4LjgyOSBFIEYwCi0zMS4zMjkoLkEpQyAyNi4zMjgoY29tbW9uIHYpLTIuNTAxIEYgMjYuMzI4KGFsdWUgaXMpLS4yNSBGKEdOVSBCYXNoLTQuMCkKLTcyIDc2OCBRKDIwMDkgRmVicnVhcnkgNykxNDAuOTYgRSgxNCkxOTAuOTUgRSAwIENnIEVQCittcHQuKTE0NCA3MDggUiAuMjIzKElmIHRoaXMgdik1LjIyMyBGIC4yMjMoYXJpYWJsZSBpcyB1bnNldCwpLS4yNSBGIC4wNjYKKyhvciBzZXQgdG8gYSB2KTE0NCA3MjAgUiAuMDY2KGFsdWUgdGhhdCBpcyBub3QgYSBudW1iZXIgZ3JlYXRlciB0aGFuIG9yXAorIGVxdWFsIHRvIHplcm8sIHRoZSBzaGVsbCBkaXNhYmxlcyBtYWlsIGNoZWNraW5nLiktLjI1IEYoR05VIEJhc2gtNC4xKTcyCis3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgxNCkxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiAxNSAxNQogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRS9GMSAxMC9Db3VyaWVyQDAgU0YKLSgvdXNyL2dudS9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci91Y2I6L2JpbjovdXNyL2JpbikxNDQgODQgUSBGMCguKUEvRjIKLTEwL1RpbWVzLUJvbGRAMCBTRihQT1NJWEwpMTA4IDk2IFEoWV9DT1JSRUNUKS0uOTIgRSBGMCAuNDcxKElmIHRoaXMgdikKLTE0NCAxMDggUiAuNDcxKGFyaWFibGUgaXMgaW4gdGhlIGVuKS0uMjUgRiAuNDcxKHZpcm9ubWVudCB3aGVuKS0uNCBGIEYyCi0oYmFzaCkyLjk3MSBFIEYwIC40NzEoc3RhcnRzLCB0aGUgc2hlbGwgZW50ZXJzKTIuOTcxIEYvRjMgMTAKLS9UaW1lcy1JdGFsaWNAMCBTRiAuNDcyKHBvc2l4IG1vZGUpMi45NzIgRiBGMCAuNDcyKGJlZm9yZSByZWFkaW5nKTIuOTcyCi1GIC4wMTEodGhlIHN0YXJ0dXAgXDIxNGxlcywgYXMgaWYgdGhlKTE0NCAxMjAgUiBGMihcMjU1XDI1NXBvc2l4KTIuNTExIEUKLUYwKGluKTIuNTExIEUgLS4yKHZvKS0uNCBHIC4wMTEoY2F0aW9uIG9wdGlvbiBoYWQgYmVlbiBzdXBwbGllZC4pLjIgRgotLjAxMShJZiBpdCBpcyBzZXQgd2hpbGUgdGhlIHNoZWxsIGlzKTUuMDExIEYocnVubmluZywpMTQ0IDEzMiBRIEYyKGJhc2gpCi0yLjUgRSBGMChlbmFibGVzKTIuNSBFIEYzKHBvc2l4IG1vZGUpMi41IEUgRjAgMi41KCxhKUMgMi41KHNpKS0yLjUgRyAyLjUKLShmdCktMi41IEcoaGUgY29tbWFuZCktMi41IEUgRjEoc2V0IC1vIHBvc2l4KTIuNSBFIEYwKGhhZCBiZWVuIGUpMi41IEUKLS0uMTUoeGUpLS4xNSBHKGN1dGVkLikuMTUgRSBGMihQUikxMDggMTQ0IFEoT01QVF9DT01NQU5EKS0uMyBFIEYwCi0oSWYgc2V0LCB0aGUgdikxNDQgMTU2IFEoYWx1ZSBpcyBlKS0uMjUgRSAtLjE1KHhlKS0uMTUgRwotKGN1dGVkIGFzIGEgY29tbWFuZCBwcmlvciB0byBpc3N1aW5nIGVhY2ggcHJpbWFyeSBwcm9tcHQuKS4xNSBFIEYyKFBSKQotMTA4IDE2OCBRKE9NUFRfRElSKS0uMyBFKFRSSU0pLS40IEUgRjAgLjY3NgotKElmIHNldCB0byBhIG51bWJlciBncmVhdGVyIHRoYW4gemVybywgdGhlIHYpMTQ0IDE4MCBSIC42NzYKLShhbHVlIGlzIHVzZWQgYXMgdGhlIG51bWJlciBvZiB0cmFpbGluZyBkaXJlY3RvcnkgY29tcG8tKS0uMjUgRiAuMzQKLShuZW50cyB0byByZXRhaW4gd2hlbiBlKTE0NCAxOTIgUiAuMzQoeHBhbmRpbmcgdGhlKS0uMTUgRiBGMiAuMzM5Ci0oXFx3IGFuZCBcXFcgcHIpMi44NCBGIC4zMzkob21wdCBzdHJpbmcgZXNjYXBlcyBcKHNlZSktLjE4IEYvRjQgOQotL1RpbWVzLUJvbGRAMCBTRihQUikyLjgzOSBFKE9NUFRJTkcpLS4yNyBFIEYwKGJlbG8pMi41ODkgRSh3XCkuKS0uMjUgRQotKENoYXJhY3RlcnMgcmVtbykxNDQgMjA0IFEgLS4xNSh2ZSktLjE1IEcgMi41KGRhKS4xNSBHCi0ocmUgcmVwbGFjZWQgd2l0aCBhbiBlbGxpcHNpcy4pLTIuNSBFIEYyKFBTMSkxMDggMjE2IFEgRjAgLjA2NChUaGUgdikKKy0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoTUFJTFApMTA4IDg0IFEgLS45NShBVCktLjc0IEcoSCkuOTUgRSBGMAorMi44MTUoQWMpMTQ0IDk2IFMgLjMxNChvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIFwyMTRsZSBuYW1lcyB0byBiZSBjaGVjaykKKy0yLjgxNSBGIC4zMTQoZWQgZm9yIG1haWwuKS0uMSBGIC4zMTQKKyhUaGUgbWVzc2FnZSB0byBiZSBwcmludGVkIHdoZW4gbWFpbCk1LjMxNCBGKGFycmkpMTQ0IDEwOCBRIC0uMTUodmUpLS4yNQorRyAzLjQyKHNpKS4xNSBHIDMuNDIobmFwKS0zLjQyIEcgLjkyKGFydGljdWxhciBcMjE0bGUgbWF5IGJlIHNwZWNpXDIxNGVcCitkIGJ5IHNlcGFyYXRpbmcgdGhlIFwyMTRsZSBuYW1lIGZyb20gdGhlIG1lc3NhZ2Ugd2l0aCBhKS0zLjQyIEYgMi44MDgKKyhgPycuIFdoZW4pMTQ0IDEyMCBSIC4zMDgodXNlZCBpbiB0aGUgdGUpMi44MDggRiAuMzA4CisoeHQgb2YgdGhlIG1lc3NhZ2UsKS0uMTUgRiBGMSgkXykyLjgwOCBFIEYwIC0uMTUoZXgpMi44MDggRyAuMzA4CisocGFuZHMgdG8gdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgbWFpbFwyMTRsZS4pLjE1IEYoRXhhbS0pNS4zMDcgRShwbGU6KQorMTQ0IDEzMiBRIEYxKE1BSUxQKTE0NCAxNDQgUSAtLjk1KEFUKS0uNzQgRyhIKS45NSBFIEYwKD1cMDEwL3YpQQorKGFyL21haWwvYmZveD8iWSktLjI1IEUob3UgaGEpLTEuMSBFIC4zIC0uMTUodmUgbSktLjIgSAorKGFpbCI6fi9zaGVsbFwyNTVtYWlsPyIkXyBoYXMgbWFpbCEiXDAxMCkuMTUgRSBGMShCYXNoKTE0NCAxNTYgUSBGMCAuMzg4Cisoc3VwcGxpZXMgYSBkZWYpMi44ODggRiAuMzg4KGF1bHQgdiktLjEgRiAuMzg4KGFsdWUgZm9yIHRoaXMgdiktLjI1IEYKKy4zODgoYXJpYWJsZSwgYiktLjI1IEYgLjM4OQorKHV0IHRoZSBsb2NhdGlvbiBvZiB0aGUgdXNlciBtYWlsIFwyMTRsZXMgdGhhdCBpdCB1c2VzIGlzKS0uMiBGCisoc3lzdGVtIGRlcGVuZGVudCBcKGUuZy4sIC92KTE0NCAxNjggUShhci9tYWlsLyktLjI1IEUgRjEoJFVTRVIpQSBGMAorKFwpLilBIEYxKE9QVEVSUikxMDggMTgwIFEgRjAgLjM5KElmIHNldCB0byB0aGUgdikxNDQgMTkyIFIgLjM5KGFsdWUgMSwpCistLjI1IEYgRjEoYmFzaCkyLjg5IEUgRjAgLjM4OShkaXNwbGF5cyBlcnJvciBtZXNzYWdlcyBnZW5lcmF0ZWQgYnkgdGhlKQorMi44ODkgRiBGMShnZXRvcHRzKTIuODg5IEUgRjAgLS4yKGJ1KTIuODg5IEcgLjM4OShpbHRpbiBjb21tYW5kIFwoc2VlKS4yCitGL0YyIDkvVGltZXMtQm9sZEAwIFNGIC4zNTkoU0hFTEwgQikxNDQgMjA0IFIoVUlMKS0uMDkgRSAuMzU5CisoVElOIENPTU1BTkRTKS0uODI4IEYgRjAoYmVsbykyLjYwOSBFKHdcKS4pLS4yNSBFIEYyKE9QVEVSUik1LjM1OSBFIEYwCisuMzYoaXMgaW5pdGlhbGl6ZWQgdG8gMSBlYWNoIHRpbWUgdGhlIHNoZWxsIGlzIGluKTIuNjA5IEYgLS4yKHZvKS0uNCBHCistLjEoa2UpLjIgRyhkKS4xIEUob3IgYSBzaGVsbCBzY3JpcHQgaXMgZSkxNDQgMjE2IFEgLS4xNSh4ZSktLjE1IEcKKyhjdXRlZC4pLjE1IEUgRjEgLS43NChQQSkxMDggMjI4IFMoVEgpLS4yMSBFIEYwIC41ODgKKyhUaGUgc2VhcmNoIHBhdGggZm9yIGNvbW1hbmRzLik5LjkxIEYgLjU4NworKEl0IGlzIGEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgZGlyZWN0b3JpZXMgaW4gd2hpY2ggdGhlIHNoZWxsIGxvb2tzKQorNS41ODggRiAuNDcxKGZvciBjb21tYW5kcyBcKHNlZSkxNDQgMjQwIFIgRjIgLjQ3MShDT01NQU5EIEVYRUNVVElPTikKKzIuOTcxIEYgRjAoYmVsbykyLjcyMiBFIDIuOTcyKHdcKS4gQSktLjI1IEYgLjQ3MgorKHplcm8tbGVuZ3RoIFwobnVsbFwpIGRpcmVjdG9yeSBuYW1lIGluIHRoZSkyLjk3MiBGIC0uMjUodmEpMTQ0IDI1MiBTCisuNTM2KGx1ZSBvZikuMjUgRiBGMiAtLjY2NihQQSkzLjAzNiBHKFRIKS0uMTg5IEUgRjAgLjUzNQorKGluZGljYXRlcyB0aGUgY3VycmVudCBkaXJlY3RvcnkpMi43ODYgRiA1LjUzNSguQSktLjY1IEcgLjUzNQorKG51bGwgZGlyZWN0b3J5IG5hbWUgbWF5IGFwcGVhciBhcyB0dyktMi41IEYgMy4wMzUob2EpLS4xIEcoZGphY2VudCkKKy0zLjAzNSBFIC44NjcoY29sb25zLCBvciBhcyBhbiBpbml0aWFsIG9yIHRyYWlsaW5nIGNvbG9uLikxNDQgMjY0IFIgLjg2OAorKFRoZSBkZWYpNS44NjggRiAuODY4KGF1bHQgcGF0aCBpcyBzeXN0ZW0tZGVwZW5kZW50LCBhbmQgaXMgc2V0IGJ5IHRoZSkKKy0uMSBGIDI2LjMyOShhZG1pbmlzdHJhdG9yIHdobyBpbnN0YWxscykxNDQgMjc2IFIgRjEoYmFzaCkyOC44MjkgRSBGMAorMzEuMzI5KC5BKUMgMjYuMzI4KGNvbW1vbiB2KS0yLjUwMSBGIDI2LjMyOChhbHVlIGlzKS0uMjUgRi9GMyAxMAorL0NvdXJpZXJAMCBTRigvdXNyL2dudS9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci91Y2I6L2JpbjovdXNyL2JpbikxNDQgMjg4CitRIEYwKC4pQSBGMShQT1NJWEwpMTA4IDMwMCBRKFlfQ09SUkVDVCktLjkyIEUgRjAgLjQ3MShJZiB0aGlzIHYpMTQ0IDMxMgorUiAuNDcxKGFyaWFibGUgaXMgaW4gdGhlIGVuKS0uMjUgRiAuNDcxKHZpcm9ubWVudCB3aGVuKS0uNCBGIEYxKGJhc2gpCisyLjk3MSBFIEYwIC40NzEoc3RhcnRzLCB0aGUgc2hlbGwgZW50ZXJzKTIuOTcxIEYvRjQgMTAvVGltZXMtSXRhbGljQDAgU0YKKy40NzIocG9zaXggbW9kZSkyLjk3MiBGIEYwIC40NzIoYmVmb3JlIHJlYWRpbmcpMi45NzIgRiAuMDExCisodGhlIHN0YXJ0dXAgXDIxNGxlcywgYXMgaWYgdGhlKTE0NCAzMjQgUiBGMShcMjU1XDI1NXBvc2l4KTIuNTExIEUgRjAKKyhpbikyLjUxMSBFIC0uMih2byktLjQgRyAuMDExKGNhdGlvbiBvcHRpb24gaGFkIGJlZW4gc3VwcGxpZWQuKS4yIEYgLjAxMQorKElmIGl0IGlzIHNldCB3aGlsZSB0aGUgc2hlbGwgaXMpNS4wMTEgRihydW5uaW5nLCkxNDQgMzM2IFEgRjEoYmFzaCkyLjUKK0UgRjAoZW5hYmxlcykyLjUgRSBGNChwb3NpeCBtb2RlKTIuNSBFIEYwIDIuNSgsYSlDIDIuNShzaSktMi41IEcgMi41KGZ0KQorLTIuNSBHKGhlIGNvbW1hbmQpLTIuNSBFIEYzKHNldCAtbyBwb3NpeCkyLjUgRSBGMChoYWQgYmVlbiBlKTIuNSBFIC0uMTUKKyh4ZSktLjE1IEcoY3V0ZWQuKS4xNSBFIEYxKFBSKTEwOCAzNDggUShPTVBUX0NPTU1BTkQpLS4zIEUgRjAKKyhJZiBzZXQsIHRoZSB2KTE0NCAzNjAgUShhbHVlIGlzIGUpLS4yNSBFIC0uMTUoeGUpLS4xNSBHCisoY3V0ZWQgYXMgYSBjb21tYW5kIHByaW9yIHRvIGlzc3VpbmcgZWFjaCBwcmltYXJ5IHByb21wdC4pLjE1IEUgRjEoUFIpCisxMDggMzcyIFEoT01QVF9ESVIpLS4zIEUoVFJJTSktLjQgRSBGMCAuNjc2CisoSWYgc2V0IHRvIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiB6ZXJvLCB0aGUgdikxNDQgMzg0IFIgLjY3NgorKGFsdWUgaXMgdXNlZCBhcyB0aGUgbnVtYmVyIG9mIHRyYWlsaW5nIGRpcmVjdG9yeSBjb21wby0pLS4yNSBGIC45MjMKKyhuZW50cyB0byByZXRhaW4gd2hlbiBlKTE0NCAzOTYgUiAuOTIzKHhwYW5kaW5nIHRoZSktLjE1IEYgRjEoXFx3KTMuNDIzCitFIEYwKGFuZCkzLjQyMyBFIEYxKFxcVykzLjQyMyBFIEYwIC45MjMocHJvbXB0IHN0cmluZyBlc2NhcGVzIFwoc2VlKQorMy40MjMgRiBGMihQUikzLjQyMyBFKE9NUFRJTkcpLS4yNyBFIEYwKGJlbG8pMy4xNzMgRSh3XCkuKS0uMjUgRQorKENoYXJhY3RlcnMgcmVtbykxNDQgNDA4IFEgLS4xNSh2ZSktLjE1IEcgMi41KGRhKS4xNSBHCisocmUgcmVwbGFjZWQgd2l0aCBhbiBlbGxpcHNpcy4pLTIuNSBFIEYxKFBTMSkxMDggNDIwIFEgRjAgLjA2NChUaGUgdikKIDE5LjMzIEYgLjA2NShhbHVlIG9mIHRoaXMgcGFyYW1ldGVyIGlzIGUpLS4yNSBGIC4wNjUoeHBhbmRlZCBcKHNlZSktLjE1Ci1GIEY0KFBSKTIuNTY1IEUoT01QVElORyktLjI3IEUgRjAoYmVsbykyLjMxNSBFIC4wNjUKLSh3XCkgYW5kIHVzZWQgYXMgdGhlIHByaW1hcnkgcHJvbXB0KS0uMjUgRiAyLjUoc3RyaW5nLiBUaGUpMTQ0IDIyOCBSCi0oZGVmKTIuNSBFKGF1bHQgdiktLjEgRShhbHVlIGlzIGApLS4yNSBFKGApLS43NCBFIEYyKFxcc1wyNTVcXHZcXCQpQSBGMAotLS43NCgnJykyLjUgRyguKS43NCBFIEYyKFBTMikxMDggMjQwIFEgRjAgLjAwNShUaGUgdikxOS4zMyBGIC4wMDUKLShhbHVlIG9mIHRoaXMgcGFyYW1ldGVyIGlzIGUpLS4yNSBGIC4wMDUoeHBhbmRlZCBhcyB3aXRoKS0uMTUgRiBGMihQUzEpCi0yLjUwNSBFIEYwIC4wMDQoYW5kIHVzZWQgYXMgdGhlIHNlY29uZGFyeSBwcm9tcHQgc3RyaW5nLikyLjUwNSBGKFRoZSkKLTUuMDA0IEUoZGVmKTE0NCAyNTIgUShhdWx0IGlzIGApLS4xIEUoYCktLjc0IEUgRjIoPilBIEYwIC0uNzQoJycpMi41IEcKLSguKS43NCBFIEYyKFBTMykxMDggMjY0IFEgRjAgMS4xMTUoVGhlIHYpMTkuMzMgRiAxLjExNQotKGFsdWUgb2YgdGhpcyBwYXJhbWV0ZXIgaXMgdXNlZCBhcyB0aGUgcHJvbXB0IGZvciB0aGUpLS4yNSBGIEYyKHNlbGVjdCkKLTMuNjE1IEUgRjAgMS4xMTYoY29tbWFuZCBcKHNlZSkzLjYxNiBGIEY0IDEuMTE2KFNIRUxMIEdSQU0tKTMuNjE2IEYoTUFSKQotMTQ0IDI3NiBRIEYwKGFibykyLjI1IEUgLS4xNSh2ZSktLjE1IEcoXCkuKS4xNSBFIEYyKFBTNCkxMDggMjg4IFEgRjAKLTEuMDk5KFRoZSB2KTE5LjMzIEYgMS4wOTkoYWx1ZSBvZiB0aGlzIHBhcmFtZXRlciBpcyBlKS0uMjUgRiAxLjA5OQotKHhwYW5kZWQgYXMgd2l0aCktLjE1IEYgRjIoUFMxKTMuNTk5IEUgRjAgMS4wOTkoYW5kIHRoZSB2KTMuNTk5IEYgMS4wOTgKLShhbHVlIGlzIHByaW50ZWQgYmVmb3JlIGVhY2ggY29tLSktLjI1IEYobWFuZCkxNDQgMzAwIFEgRjIoYmFzaCkzLjcyNSBFCi1GMCAxLjIyNShkaXNwbGF5cyBkdXJpbmcgYW4gZSkzLjcyNSBGIC0uMTUoeGUpLS4xNSBHIDEuMjI1Ci0oY3V0aW9uIHRyYWNlLikuMTUgRiAxLjIyNihUaGUgXDIxNHJzdCBjaGFyYWN0ZXIgb2YpNi4yMjUgRiBGNChQUzQpMy43MjYKLUUgRjAgMS4yMjYoaXMgcmVwbGljYXRlZCBtdWx0aXBsZSkzLjQ3NiBGKHRpbWVzLCBhcyBuZWNlc3NhcnkpMTQ0IDMxMiBRCi0yLjUoLHQpLS42NSBHIDIuNShvaSktMi41IEcobmRpY2F0ZSBtdWx0aXBsZSBsZSktMi41IEUgLS4xNSh2ZSktLjI1IEcKLShscyBvZiBpbmRpcmVjdGlvbi4pLjE1IEUoVGhlIGRlZik1IEUoYXVsdCBpcyBgKS0uMSBFKGApLS43NCBFIEYyKCspQSBGMAotLS43NCgnJykyLjUgRyguKS43NCBFIEYyKFNIRUxMKTEwOCAzMjQgUSBGMCAuNjY0Ci0oVGhlIGZ1bGwgcGF0aG5hbWUgdG8gdGhlIHNoZWxsIGlzIGspMTQ0IDMzNiBSIC42NjQoZXB0IGluIHRoaXMgZW4pLS4xIEYKK0YgRjIoUFIpMi41NjUgRShPTVBUSU5HKS0uMjcgRSBGMChiZWxvKTIuMzE1IEUgLjA2NQorKHdcKSBhbmQgdXNlZCBhcyB0aGUgcHJpbWFyeSBwcm9tcHQpLS4yNSBGIDIuNShzdHJpbmcuIFRoZSkxNDQgNDMyIFIKKyhkZWYpMi41IEUoYXVsdCB2KS0uMSBFKGFsdWUgaXMgYCktLjI1IEUoYCktLjc0IEUgRjEoXFxzXDI1NVxcdlxcJClBIEYwCistLjc0KCcnKTIuNSBHKC4pLjc0IEUgRjEoUFMyKTEwOCA0NDQgUSBGMCAuMTE4KFRoZSB2KTE5LjMzIEYgLjExOAorKGFsdWUgb2YgdGhpcyBwYXJhbWV0ZXIgaXMgZSktLjI1IEYgLjExOCh4cGFuZGVkIGFzIHdpdGgpLS4xNSBGIEYyKFBTMSkKKzIuNjE3IEUgRjAgLjExNyhhbmQgdXNlZCBhcyB0aGUgc2Vjb25kYXJ5IHByb21wdCBzdHJpbmcuKTIuMzY3IEYoVGhlKQorNS4xMTcgRShkZWYpMTQ0IDQ1NiBRKGF1bHQgaXMgYCktLjEgRShgKS0uNzQgRSBGMSg+KUEgRjAgLS43NCgnJykyLjUgRworKC4pLjc0IEUgRjEoUFMzKTEwOCA0NjggUSBGMCAxLjExNShUaGUgdikxOS4zMyBGIDEuMTE1CisoYWx1ZSBvZiB0aGlzIHBhcmFtZXRlciBpcyB1c2VkIGFzIHRoZSBwcm9tcHQgZm9yIHRoZSktLjI1IEYgRjEoc2VsZWN0KQorMy42MTUgRSBGMCAxLjExNihjb21tYW5kIFwoc2VlKTMuNjE2IEYgRjIgMS4xMTYoU0hFTEwgR1JBTS0pMy42MTYgRihNQVIpCisxNDQgNDgwIFEgRjAoYWJvKTIuMjUgRSAtLjE1KHZlKS0uMTUgRyhcKS4pLjE1IEUgRjEoUFM0KTEwOCA0OTIgUSBGMAorLjEwMShUaGUgdikxOS4zMyBGIC4xMDEoYWx1ZSBvZiB0aGlzIHBhcmFtZXRlciBpcyBlKS0uMjUgRiAuMTAxCisoeHBhbmRlZCBhcyB3aXRoKS0uMTUgRiBGMihQUzEpMi42IEUgRjAgLjEoYW5kIHRoZSB2KTIuMzUgRiAuMQorKGFsdWUgaXMgcHJpbnRlZCBiZWZvcmUgZWFjaCBjb21tYW5kKS0uMjUgRiBGMShiYXNoKTE0NCA1MDQgUSBGMCAuMjkxCisoZGlzcGxheXMgZHVyaW5nIGFuIGUpMi43OTEgRiAtLjE1KHhlKS0uMTUgRyAuMjkyKGN1dGlvbiB0cmFjZS4pLjE1IEYKKy4yOTIoVGhlIFwyMTRyc3QgY2hhcmFjdGVyIG9mKTUuMjkyIEYgRjIoUFM0KTIuNzkyIEUgRjAgLjI5MgorKGlzIHJlcGxpY2F0ZWQgbXVsdGlwbGUgdGltZXMsIGFzKTIuNTQyIEYobmVjZXNzYXJ5KTE0NCA1MTYgUSAyLjUoLHQpCistLjY1IEcgMi41KG9pKS0yLjUgRyhuZGljYXRlIG11bHRpcGxlIGxlKS0yLjUgRSAtLjE1KHZlKS0uMjUgRworKGxzIG9mIGluZGlyZWN0aW9uLikuMTUgRShUaGUgZGVmKTUgRShhdWx0IGlzIGApLS4xIEUoYCktLjc0IEUgRjEoKylBIEYwCistLjc0KCcnKTIuNSBHKC4pLjc0IEUgRjEoU0hFTEwpMTA4IDUyOCBRIEYwIC42NjQKKyhUaGUgZnVsbCBwYXRobmFtZSB0byB0aGUgc2hlbGwgaXMgaykxNDQgNTQwIFIgLjY2NChlcHQgaW4gdGhpcyBlbiktLjEgRgogLjY2NCh2aXJvbm1lbnQgdiktLjQgRiAzLjE2NChhcmlhYmxlLiBJZiktLjI1IEYgLjY2MwotKGl0IGlzIG5vdCBzZXQgd2hlbiB0aGUgc2hlbGwpMy4xNjQgRihzdGFydHMsKTE0NCAzNDggUSBGMihiYXNoKTIuNSBFIEYwCisoaXQgaXMgbm90IHNldCB3aGVuIHRoZSBzaGVsbCkzLjE2NCBGKHN0YXJ0cywpMTQ0IDU1MiBRIEYxKGJhc2gpMi41IEUgRjAKIChhc3NpZ25zIHRvIGl0IHRoZSBmdWxsIHBhdGhuYW1lIG9mIHRoZSBjdXJyZW50IHVzZXInKTIuNSBFIDIuNShzbCktLjU1Ci1HKG9naW4gc2hlbGwuKS0yLjUgRSBGMihUSU1FRk9STUEpMTA4IDM2MCBRKFQpLS45NSBFIEYwIC44MjYoVGhlIHYpMTQ0Ci0zNzIgUiAuODI2CitHKG9naW4gc2hlbGwuKS0yLjUgRSBGMShUSU1FRk9STUEpMTA4IDU2NCBRKFQpLS45NSBFIEYwIC44MjYoVGhlIHYpMTQ0Cis1NzYgUiAuODI2CiAoYWx1ZSBvZiB0aGlzIHBhcmFtZXRlciBpcyB1c2VkIGFzIGEgZm9ybWF0IHN0cmluZyBzcGVjaWZ5aW5nIGhvKS0uMjUgRgogMy4zMjcod3QpLS4yNSBHIC44MjcoaGUgdGltaW5nIGluZm9ybWF0aW9uIGZvciktMy4zMjcgRiAuNjQ5Ci0ocGlwZWxpbmVzIHByZVwyMTR4KTE0NCAzODQgUiAuNjQ5KGVkIHdpdGggdGhlKS0uMTUgRiBGMih0aW1lKTMuMTQ5IEUgRjAKKyhwaXBlbGluZXMgcHJlXDIxNHgpMTQ0IDU4OCBSIC42NDkoZWQgd2l0aCB0aGUpLS4xNSBGIEYxKHRpbWUpMy4xNDkgRSBGMAogKHJlc2VydikzLjE0OSBFIC42NDkoZWQgdyktLjE1IEYgLjY0OChvcmQgc2hvdWxkIGJlIGRpc3BsYXllZC4pLS4xIEYKLShUaGUpNS42NDggRSBGMiglKTMuMTQ4IEUgRjAgLjY0OChjaGFyYWN0ZXIgaW50cm9kdWNlcykzLjE0OCBGIC43MTEKLShhbiBlc2NhcGUgc2VxdWVuY2UgdGhhdCBpcyBlKTE0NCAzOTYgUiAuNzExKHhwYW5kZWQgdG8gYSB0aW1lIHYpLS4xNSBGCisoVGhlKTUuNjQ4IEUgRjEoJSkzLjE0OCBFIEYwIC42NDgoY2hhcmFjdGVyIGludHJvZHVjZXMpMy4xNDggRiAuNzExCisoYW4gZXNjYXBlIHNlcXVlbmNlIHRoYXQgaXMgZSkxNDQgNjAwIFIgLjcxMSh4cGFuZGVkIHRvIGEgdGltZSB2KS0uMTUgRgogLjcxMihhbHVlIG9yIG90aGVyIGluZm9ybWF0aW9uLiktLjI1IEYgLjcxMihUaGUgZXNjYXBlIHNlcXVlbmNlcyk1LjcxMiBGCi0oYW5kIHRoZWlyIG1lYW5pbmdzIGFyZSBhcyBmb2xsbykxNDQgNDA4IFEKLSh3czsgdGhlIGJyYWNlcyBkZW5vdGUgb3B0aW9uYWwgcG9ydGlvbnMuKS0uMjUgRSBGMiglJSkxNDQgNDI2IFEgRjAgMi41Ci0oQWwpMzAgRyhpdGVyYWwpLTIuNSBFIEYyKCUpMi41IEUgRjAoLilBIEYyKCVbKTE0NCA0MzggUSBGMyhwKUEgRjIKLShdW2xdUilBIEYwKFRoZSBlbGFwc2VkIHRpbWUgaW4gc2Vjb25kcy4pMTEuNjggRSBGMiglWykxNDQgNDUwIFEgRjMocClBCi1GMihdW2xdVSlBIEYwKFRoZSBudW1iZXIgb2YgQ1BVIHNlY29uZHMgc3BlbnQgaW4gdXNlciBtb2RlLikxMS42OCBFIEYyCi0oJVspMTQ0IDQ2MiBRIEYzKHApQSBGMihdW2xdUylBIEYwCi0oVGhlIG51bWJlciBvZiBDUFUgc2Vjb25kcyBzcGVudCBpbiBzeXN0ZW0gbW9kZS4pMTMuMzQgRSBGMiglUCkxNDQgNDc0IFEKKyhhbmQgdGhlaXIgbWVhbmluZ3MgYXJlIGFzIGZvbGxvKTE0NCA2MTIgUQorKHdzOyB0aGUgYnJhY2VzIGRlbm90ZSBvcHRpb25hbCBwb3J0aW9ucy4pLS4yNSBFIEYxKCUlKTE0NCA2MzAgUSBGMCAyLjUKKyhBbCkzMCBHKGl0ZXJhbCktMi41IEUgRjEoJSkyLjUgRSBGMCguKUEgRjEoJVspMTQ0IDY0MiBRIEY0KHApQSBGMQorKF1bbF1SKUEgRjAoVGhlIGVsYXBzZWQgdGltZSBpbiBzZWNvbmRzLikxMS42OCBFIEYxKCVbKTE0NCA2NTQgUSBGNChwKUEKK0YxKF1bbF1VKUEgRjAoVGhlIG51bWJlciBvZiBDUFUgc2Vjb25kcyBzcGVudCBpbiB1c2VyIG1vZGUuKTExLjY4IEUgRjEKKyglWykxNDQgNjY2IFEgRjQocClBIEYxKF1bbF1TKUEgRjAKKyhUaGUgbnVtYmVyIG9mIENQVSBzZWNvbmRzIHNwZW50IGluIHN5c3RlbSBtb2RlLikxMy4zNCBFIEYxKCVQKTE0NCA2NzggUQogRjAoVGhlIENQVSBwZXJjZW50YWdlLCBjb21wdXRlZCBhcyBcKCVVICsgJVNcKSAvICVSLikzMy44OSBFIC44NwotKFRoZSBvcHRpb25hbCkxNDQgNDkwLjggUiBGMyhwKTMuMzcgRSBGMCAuODcoaXMgYSBkaWdpdCBzcGVjaWZ5aW5nIHRoZSkKLTMuMzcgRiBGMyhwcikzLjM3IEUoZWNpc2lvbiktLjM3IEUgRjAgMy4zNygsdClDIC44NworKFRoZSBvcHRpb25hbCkxNDQgNjk0LjggUiBGNChwKTMuMzcgRSBGMCAuODcoaXMgYSBkaWdpdCBzcGVjaWZ5aW5nIHRoZSkKKzMuMzcgRiBGNChwcikzLjM3IEUoZWNpc2lvbiktLjM3IEUgRjAgMy4zNygsdClDIC44NwogKGhlIG51bWJlciBvZiBmcmFjdGlvbmFsIGRpZ2l0cyBhZnRlciBhIGRlY2ltYWwpLTMuMzcgRiAyLjUyNShwb2ludC4gQSkKLTE0NCA1MDIuOCBSIC0uMjUodmEpMi41MjUgRyAuMDI1CisxNDQgNzA2LjggUiAtLjI1KHZhKTIuNTI1IEcgLjAyNQogKGx1ZSBvZiAwIGNhdXNlcyBubyBkZWNpbWFsIHBvaW50IG9yIGZyYWN0aW9uIHRvIGJlIG91dHB1dC4pLjI1IEYgLjAyNgogKEF0IG1vc3QgdGhyZWUgcGxhY2VzIGFmdGVyIHRoZSk1LjAyNSBGIC41MzgKLShkZWNpbWFsIHBvaW50IG1heSBiZSBzcGVjaVwyMTRlZDsgdikxNDQgNTE0LjggUiAuNTM4KGFsdWVzIG9mKS0uMjUgRiBGMworKGRlY2ltYWwgcG9pbnQgbWF5IGJlIHNwZWNpXDIxNGVkOyB2KTE0NCA3MTguOCBSIC41MzgoYWx1ZXMgb2YpLS4yNSBGIEY0CiAocCkzLjAzOCBFIEYwIC41MzcoZ3JlYXRlciB0aGFuIDMgYXJlIGNoYW5nZWQgdG8gMy4pMy4wMzcgRihJZik1LjUzNyBFCi1GMyhwKTMuMDM3IEUgRjAgLjUzNyhpcyBub3Qgc3BlY2lcMjE0ZWQsKTMuMDM3IEYodGhlIHYpMTQ0IDUyNi44IFEKLShhbHVlIDMgaXMgdXNlZC4pLS4yNSBFIC42NjcoVGhlIG9wdGlvbmFsKTE0NCA1NDMuNiBSIEYyKGwpMy4xNjcgRSBGMAotLjY2OChzcGVjaVwyMTRlcyBhIGxvbmdlciBmb3JtYXQsIGluY2x1ZGluZyBtaW51dGVzLCBvZiB0aGUgZm9ybSkzLjE2OCBGCi1GMyhNTSkzLjE2OCBFIEYwKG0pQSBGMyhTUylBIEYwKC4pQSBGMyhGRilBIEYwIDMuMTY4KHMuIFRoZSlCIC0uMjUodmEpCi0zLjE2OCBHKGx1ZSkuMjUgRShvZikxNDQgNTU1LjYgUSBGMyhwKTIuNSBFIEYwCi0oZGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCB0aGUgZnJhY3Rpb24gaXMgaW5jbHVkZWQuKTIuNSBFIC4wMDEKLShJZiB0aGlzIHYpMTQ0IDU3Mi40IFIgLjAwMShhcmlhYmxlIGlzIG5vdCBzZXQsKS0uMjUgRiBGMihiYXNoKTIuNTAxIEUKLUYwIC4wMDEoYWN0cyBhcyBpZiBpdCBoYWQgdGhlIHYpMi41MDEgRihhbHVlKS0uMjUgRSBGMigkXDAxMFxcbnIpMi41IEUKLShlYWxcXHQlM2xSXFxudXNlclxcdCUzbFVcXG5zeXMlM2xTXDAxMCktLjE4IEUgRjAoLilBIC40OTQoSWYgdGhlIHYpMTQ0Ci01ODQuNCBSIC40OTQoYWx1ZSBpcyBudWxsLCBubyB0aW1pbmcgaW5mb3JtYXRpb24gaXMgZGlzcGxheWVkLiktLjI1IEYKLTIuOTk0KEF0KTUuNDk0IEcgLjQ5NChyYWlsaW5nIG5lKS0yLjk5NCBGIC40OTQKLSh3bGluZSBpcyBhZGRlZCB3aGVuIHRoZSBmb3IpLS4yNSBGKC0pLS4yIEUobWF0IHN0cmluZyBpcyBkaXNwbGF5ZWQuKTE0NAotNTk2LjQgUSBGMihUTU9VVCkxMDggNjEzLjIgUSBGMCAuNzE4KElmIHNldCB0byBhIHYpMTQ0IDYyNS4yIFIgLjcxNwotKGFsdWUgZ3JlYXRlciB0aGFuIHplcm8sKS0uMjUgRiBGMihUTU9VVCkzLjIxNyBFIEYwIC43MTcKLShpcyB0cmVhdGVkIGFzIHRoZSBkZWYpMy4yMTcgRiAuNzE3KGF1bHQgdGltZW91dCBmb3IgdGhlKS0uMSBGIEYyIC0uMTgKLShyZSkzLjIxNyBHKGFkKS4xOCBFIEYwIC0uMihidSkzLjIxNyBHKGlsdGluLikuMiBFKFRoZSkxNDQgNjM3LjIgUSBGMgotKHNlbGVjdCkyLjU0MiBFIEYwIC4wNDIoY29tbWFuZCB0ZXJtaW5hdGVzIGlmIGlucHV0IGRvZXMgbm90IGFycmkpMi41NDIKLUYgLjM0MiAtLjE1KHZlIGEpLS4yNSBIKGZ0ZXIpLjE1IEUgRjIoVE1PVVQpMi41NDIgRSBGMCAuMDQyCi0oc2Vjb25kcyB3aGVuIGlucHV0IGlzIGNvbS0pMi41NDIgRiAuODg2KGluZyBmcm9tIGEgdGVybWluYWwuKTE0NCA2NDkuMgotUiAuODg2KEluIGFuIGludGVyYWN0aSk1Ljg4NiBGIDEuMTg1IC0uMTUodmUgcyktLjI1IEggLjg4NShoZWxsLCB0aGUgdikKLS4xNSBGIC44ODUoYWx1ZSBpcyBpbnRlcnByZXRlZCBhcyB0aGUgbnVtYmVyIG9mIHNlY29uZHMgdG8pLS4yNSBGIC0uMQotKHdhKTE0NCA2NjEuMiBTIC41NDYoaXQgZm9yIGlucHV0IGFmdGVyIGlzc3VpbmcgdGhlIHByaW1hcnkgcHJvbXB0LikuMSBGCi1GMihCYXNoKTUuNTQ2IEUgRjAgLjU0Nih0ZXJtaW5hdGVzIGFmdGVyIHcpMy4wNDYgRiAuNTQ2Ci0oYWl0aW5nIGZvciB0aGF0IG51bWJlciBvZiktLjEgRihzZWNvbmRzIGlmIGlucHV0IGRvZXMgbm90IGFycmkpMTQ0Ci02NzMuMiBRIC0uMTUodmUpLS4yNSBHKC4pLjE1IEUgRjIoVE1QRElSKTEwOCA2OTAgUSBGMCAuMjc0KElmIHNldCwpMTQ0Ci03MDIgUiBGMihCYXNoKTIuNzc0IEUgRjAgLjI3NCh1c2VzIGl0cyB2KTIuNzc0IEYgLjI3NAotKGFsdWUgYXMgdGhlIG5hbWUgb2YgYSBkaXJlY3RvcnkgaW4gd2hpY2gpLS4yNSBGIEYyKEJhc2gpMi43NzMgRSBGMCAuMjczCi0oY3JlYXRlcyB0ZW1wb3JhcnkgXDIxNGxlcyBmb3IgdGhlKTIuNzczIEYoc2hlbGwnKTE0NCA3MTQgUSAyLjUoc3UpLS41NQotRyhzZS4pLTIuNSBFKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUoMTUpMTkwLjk1IEUKLTAgQ2cgRVAKK0Y0KHApMy4wMzcgRSBGMCAuNTM3KGlzIG5vdCBzcGVjaVwyMTRlZCwpMy4wMzcgRih0aGUgdikxNDQgNzMwLjggUQorKGFsdWUgMyBpcyB1c2VkLiktLjI1IEUoR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFCisoMTUpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogMTYgMTYKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGF1dG9fcikxMDggODQgUShlc3VtZSktLjE4IEUgRjAgLjUzKFRoaXMgdikKLTE0NCA5NiBSIC41MyhhcmlhYmxlIGNvbnRyb2xzIGhvKS0uMjUgRiAzLjAzKHd0KS0uMjUgRyAuNTMxCistLjM1IEUgLjY2NyhUaGUgb3B0aW9uYWwpMTQ0IDg0IFIvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGwpMy4xNjcgRSBGMAorLjY2OChzcGVjaVwyMTRlcyBhIGxvbmdlciBmb3JtYXQsIGluY2x1ZGluZyBtaW51dGVzLCBvZiB0aGUgZm9ybSkzLjE2OCBGCisvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YoTU0pMy4xNjggRSBGMChtKUEgRjIoU1MpQSBGMCguKUEgRjIoRkYpQSBGMAorMy4xNjgocy4gVGhlKUIgLS4yNSh2YSkzLjE2OCBHKGx1ZSkuMjUgRShvZikxNDQgOTYgUSBGMihwKTIuNSBFIEYwCisoZGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCB0aGUgZnJhY3Rpb24gaXMgaW5jbHVkZWQuKTIuNSBFIC4wMDEKKyhJZiB0aGlzIHYpMTQ0IDExMi44IFIgLjAwMShhcmlhYmxlIGlzIG5vdCBzZXQsKS0uMjUgRiBGMShiYXNoKTIuNTAxIEUKK0YwIC4wMDEoYWN0cyBhcyBpZiBpdCBoYWQgdGhlIHYpMi41MDEgRihhbHVlKS0uMjUgRSBGMSgkXDAxMFxcbnIpMi41IEUKKyhlYWxcXHQlM2xSXFxudXNlclxcdCUzbFVcXG5zeXMlM2xTXDAxMCktLjE4IEUgRjAoLilBIC40OTQoSWYgdGhlIHYpMTQ0CisxMjQuOCBSIC40OTQoYWx1ZSBpcyBudWxsLCBubyB0aW1pbmcgaW5mb3JtYXRpb24gaXMgZGlzcGxheWVkLiktLjI1IEYKKzIuOTk0KEF0KTUuNDk0IEcgLjQ5NChyYWlsaW5nIG5lKS0yLjk5NCBGIC40OTQKKyh3bGluZSBpcyBhZGRlZCB3aGVuIHRoZSBmb3IpLS4yNSBGKC0pLS4yIEUobWF0IHN0cmluZyBpcyBkaXNwbGF5ZWQuKTE0NAorMTM2LjggUSBGMShUTU9VVCkxMDggMTUzLjYgUSBGMCAuOTQxKElmIHNldCB0byBhIHYpMTQ0IDE2NS42IFIgLjk0MQorKGFsdWUgZ3JlYXRlciB0aGFuIHplcm8sKS0uMjUgRi9GMyA5L1RpbWVzLUJvbGRAMCBTRihUTU9VVCkzLjQ0MSBFIEYwCisuOTQxKGlzIHRyZWF0ZWQgYXMgdGhlIGRlZikzLjE5MSBGIC45NDEoYXVsdCB0aW1lb3V0IGZvciB0aGUpLS4xIEYgRjEKKy0uMTgocmUpMy40NDEgRyhhZCkuMTggRSBGMCAtLjIoYnUpMy40NDEgRyhpbHRpbi4pLjIgRShUaGUpMTQ0IDE3Ny42IFEKK0YxKHNlbGVjdCkyLjgxIEUgRjAgLjMxKGNvbW1hbmQgdGVybWluYXRlcyBpZiBpbnB1dCBkb2VzIG5vdCBhcnJpKTIuODEgRgorLjYxMSAtLjE1KHZlIGEpLS4yNSBIKGZ0ZXIpLjE1IEUgRjMoVE1PVVQpMi44MTEgRSBGMCAuMzExCisoc2Vjb25kcyB3aGVuIGlucHV0IGlzIGNvbS0pMi41NjEgRiAuODg2KGluZyBmcm9tIGEgdGVybWluYWwuKTE0NCAxODkuNgorUiAuODg2KEluIGFuIGludGVyYWN0aSk1Ljg4NiBGIDEuMTg1IC0uMTUodmUgcyktLjI1IEggLjg4NShoZWxsLCB0aGUgdikKKy4xNSBGIC44ODUoYWx1ZSBpcyBpbnRlcnByZXRlZCBhcyB0aGUgbnVtYmVyIG9mIHNlY29uZHMgdG8pLS4yNSBGIC0uMQorKHdhKTE0NCAyMDEuNiBTIC41NDYoaXQgZm9yIGlucHV0IGFmdGVyIGlzc3VpbmcgdGhlIHByaW1hcnkgcHJvbXB0LikuMSBGCitGMShCYXNoKTUuNTQ2IEUgRjAgLjU0Nih0ZXJtaW5hdGVzIGFmdGVyIHcpMy4wNDYgRiAuNTQ2CisoYWl0aW5nIGZvciB0aGF0IG51bWJlciBvZiktLjEgRihzZWNvbmRzIGlmIGlucHV0IGRvZXMgbm90IGFycmkpMTQ0CisyMTMuNiBRIC0uMTUodmUpLS4yNSBHKC4pLjE1IEUgRjEoVE1QRElSKTEwOCAyMzAuNCBRIEYwIC4yNzQoSWYgc2V0LCkxNDQKKzI0Mi40IFIgRjEoQmFzaCkyLjc3NCBFIEYwIC4yNzQodXNlcyBpdHMgdikyLjc3NCBGIC4yNzQKKyhhbHVlIGFzIHRoZSBuYW1lIG9mIGEgZGlyZWN0b3J5IGluIHdoaWNoKS0uMjUgRiBGMShCYXNoKTIuNzczIEUgRjAgLjI3MworKGNyZWF0ZXMgdGVtcG9yYXJ5IFwyMTRsZXMgZm9yIHRoZSkyLjc3MyBGKHNoZWxsJykxNDQgMjU0LjQgUSAyLjUoc3UpCistLjU1IEcoc2UuKS0yLjUgRSBGMShhdXRvX3IpMTA4IDI3MS4yIFEoZXN1bWUpLS4xOCBFIEYwIC41MyhUaGlzIHYpMTQ0CisyODMuMiBSIC41MyhhcmlhYmxlIGNvbnRyb2xzIGhvKS0uMjUgRiAzLjAzKHd0KS0uMjUgRyAuNTMxCiAoaGUgc2hlbGwgaW50ZXJhY3RzIHdpdGggdGhlIHVzZXIgYW5kIGpvYiBjb250cm9sLiktMy4wMyBGIC41MzEKLShJZiB0aGlzIHYpNS41MzEgRiAuNTMxKGFyaWFibGUgaXMgc2V0LCktLjI1IEYgLjUzOShzaW5nbGUgdykxNDQgMTA4IFIKKyhJZiB0aGlzIHYpNS41MzEgRiAuNTMxKGFyaWFibGUgaXMgc2V0LCktLjI1IEYgLjUzOShzaW5nbGUgdykxNDQgMjk1LjIgUgogLjUzOChvcmQgc2ltcGxlIGNvbW1hbmRzIHdpdGhvdXQgcmVkaXJlY3Rpb25zIGFyZSB0cmVhdGVkIGFzIGNhbmRpZGF0ZXNcCi0gZm9yIHJlc3VtcHRpb24gb2YgYW4pLS4xIEYgLS4xNShleCkxNDQgMTIwIFMgLjM2Nihpc3Rpbmcgc3RvcHBlZCBqb2IpCisgZm9yIHJlc3VtcHRpb24gb2YgYW4pLS4xIEYgLS4xNShleCkxNDQgMzA3LjIgUyAuMzY2KGlzdGluZyBzdG9wcGVkIGpvYikKIC4xNSBGIDUuMzY2KC5UKS0uNCBHIC4zNjYoaGVyZSBpcyBubyBhbWJpZ3VpdHkgYWxsbyktNS4zNjYgRiAuMzY2CiAod2VkOyBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGpvYiBiZSktLjI1IEYgLjM2NyhnaW5uaW5nIHdpdGgpLS4xNSBGCiAxLjEyNSh0aGUgc3RyaW5nIHR5cGVkLCB0aGUgam9iIG1vc3QgcmVjZW50bHkgYWNjZXNzZWQgaXMgc2VsZWN0ZWQuKTE0NAotMTMyIFIoVGhlKTYuMTI1IEUvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YobmFtZSkzLjk4NSBFIEYwIDEuMTI0Ci0ob2YgYSBzdG9wcGVkIGpvYiwgaW4gdGhpcykzLjgwNSBGKGNvbnRlKTE0NCAxNDQgUSAxLjEzMgorMzE5LjIgUihUaGUpNi4xMjUgRSBGMihuYW1lKTMuOTg1IEUgRjAgMS4xMjQob2YgYSBzdG9wcGVkIGpvYiwgaW4gdGhpcykKKzMuODA1IEYoY29udGUpMTQ0IDMzMS4yIFEgMS4xMzIKICh4dCwgaXMgdGhlIGNvbW1hbmQgbGluZSB1c2VkIHRvIHN0YXJ0IGl0LiktLjE1IEYgMS4xMzMoSWYgc2V0IHRvIHRoZSB2KQogNi4xMzMgRihhbHVlKS0uMjUgRSBGMiAtLjIoZXgpMy42MzMgRyhhY3QpLjIgRSBGMCAzLjYzMygsdCkuNjggRyAxLjEzMwogKGhlIHN0cmluZyBzdXBwbGllZCBtdXN0KS0zLjYzMyBGIC42MjUKLShtYXRjaCB0aGUgbmFtZSBvZiBhIHN0b3BwZWQgam9iIGUpMTQ0IDE1NiBSIC42MjQoeGFjdGx5OyBpZiBzZXQgdG8pLS4xNQotRiBGMihzdWJzdHJpbmcpMy4xMjQgRSBGMCAzLjEyNCgsdCkuMjIgRyAuNjI0CisobWF0Y2ggdGhlIG5hbWUgb2YgYSBzdG9wcGVkIGpvYiBlKTE0NCAzNDMuMiBSIC42MjQoeGFjdGx5OyBpZiBzZXQgdG8pCistLjE1IEYgRjIoc3Vic3RyaW5nKTMuMTI0IEUgRjAgMy4xMjQoLHQpLjIyIEcgLjYyNAogKGhlIHN0cmluZyBzdXBwbGllZCBuZWVkcyB0byBtYXRjaCBhKS0zLjEyNCBGIC44ODQKLShzdWJzdHJpbmcgb2YgdGhlIG5hbWUgb2YgYSBzdG9wcGVkIGpvYikxNDQgMTY4IFIgNS44ODQoLlQpLS40IEcoaGUpCisoc3Vic3RyaW5nIG9mIHRoZSBuYW1lIG9mIGEgc3RvcHBlZCBqb2IpMTQ0IDM1NS4yIFIgNS44ODQoLlQpLS40IEcoaGUpCiAtNS44ODQgRSBGMihzdWJzdHJpbmcpMy43MjQgRSBGMCAtLjI1KHZhKTMuNjA0IEcgLjg4NShsdWUgcHJvKS4yNSBGIC44ODUKLSh2aWRlcyBmdW5jdGlvbmFsaXR5IGFuYWxvZ291cyB0byktLjE1IEYodGhlKTE0NCAxODAgUSBGMSglPykzLjMzNCBFIEYwCi0uODM0KGpvYiBpZGVudGlcMjE0ZXIgXChzZWUpNS44MzQgRi9GMyA5L1RpbWVzLUJvbGRAMCBTRiAuODM0KEpPQiBDT05UUikKLTMuMzM0IEYoT0wpLS4yNyBFIEYwKGJlbG8pMy4wODQgRSAzLjMzNCh3XCkuIElmKS0uMjUgRiAuODM0KHNldCB0byBhbikKLTMuMzM0IEYgMy4zMzQoeW8pLS4xNSBHIC44MzQodGhlciB2KS0zLjMzNCBGIC44MzMKLShhbHVlLCB0aGUgc3VwcGxpZWQgc3RyaW5nKS0uMjUgRiAuMzE1Ci0obXVzdCBiZSBhIHByZVwyMTR4IG9mIGEgc3RvcHBlZCBqb2InKTE0NCAxOTIgUiAyLjgxNihzbiktLjU1IEcgLjMxNgorKHZpZGVzIGZ1bmN0aW9uYWxpdHkgYW5hbG9nb3VzIHRvKS0uMTUgRih0aGUpMTQ0IDM2Ny4yIFEgRjEoJT8pMy4zMzQgRQorRjAgLjgzNChqb2IgaWRlbnRpXDIxNGVyIFwoc2VlKTUuODM0IEYgRjMgLjgzNChKT0IgQ09OVFIpMy4zMzQgRihPTCktLjI3CitFIEYwKGJlbG8pMy4wODQgRSAzLjMzNCh3XCkuIElmKS0uMjUgRiAuODM0KHNldCB0byBhbikzLjMzNCBGIDMuMzM0KHlvKQorLS4xNSBHIC44MzQodGhlciB2KS0zLjMzNCBGIC44MzMoYWx1ZSwgdGhlIHN1cHBsaWVkIHN0cmluZyktLjI1IEYgLjMxNQorKG11c3QgYmUgYSBwcmVcMjE0eCBvZiBhIHN0b3BwZWQgam9iJykxNDQgMzc5LjIgUiAyLjgxNihzbiktLjU1IEcgLjMxNgogKGFtZTsgdGhpcyBwcm8pLTIuODE2IEYgLjMxNih2aWRlcyBmdW5jdGlvbmFsaXR5IGFuYWxvZ291cyB0byB0aGUpLS4xNSBGCi1GMSglKTIuODE2IEUgRjIoc3RyaW5nKUEgRjAoam9iKTIuODE2IEUoaWRlbnRpXDIxNGVyKTE0NCAyMDQgUSguKS0uNTUgRQotRjEoaGlzdGNoYXJzKTEwOCAyMjAuOCBRIEYwIDIuMDcoVGhlIHR3KTE0NCAyMzIuOCBSIDQuNTcob28pLS4xIEcgNC41NwotKHJ0KS00LjU3IEcgMi4wNyhocmVlIGNoYXJhY3RlcnMgd2hpY2ggY29udHJvbCBoaXN0b3J5IGUpLTQuNTcgRiAyLjA3CitGMSglKTIuODE2IEUgRjIoc3RyaW5nKUEgRjAoam9iKTIuODE2IEUoaWRlbnRpXDIxNGVyKTE0NCAzOTEuMiBRKC4pLS41NQorRSBGMShoaXN0Y2hhcnMpMTA4IDQwOCBRIEYwIDIuMDcoVGhlIHR3KTE0NCA0MjAgUiA0LjU3KG9vKS0uMSBHIDQuNTcocnQpCistNC41NyBHIDIuMDcoaHJlZSBjaGFyYWN0ZXJzIHdoaWNoIGNvbnRyb2wgaGlzdG9yeSBlKS00LjU3IEYgMi4wNwogKHhwYW5zaW9uIGFuZCB0b2spLS4xNSBGIDIuMDcoZW5pemF0aW9uIFwoc2VlKS0uMSBGIEYzKEhJU1QpNC41NjkgRShPUikKLS0uMTYyIEUoWSktLjMxNSBFKEVYUCkxNDQgMjQ0LjggUShBTlNJT04pLS42NjYgRSBGMChiZWxvKTMuNDY1IEUgMy43MTUKKy0uMTYyIEUoWSktLjMxNSBFKEVYUCkxNDQgNDMyIFEoQU5TSU9OKS0uNjY2IEUgRjAoYmVsbykzLjQ2NSBFIDMuNzE1CiAod1wpLiBUaGUpLS4yNSBGIDEuMjE1KFwyMTRyc3QgY2hhcmFjdGVyIGlzIHRoZSkzLjcxNSBGIEYyIDEuMjE2CiAoaGlzdG9yeSBlKTMuNzE1IEYoeHBhbnNpb24pLS4yIEUgRjAoY2hhcmFjdGVyKTMuNzE2IEUgMy43MTYoLHQpLS40IEcKIDEuMjE2KGhlIGNoYXJhY3RlciB3aGljaCktMy43MTYgRiAuNzk4KHNpZ25hbHMgdGhlIHN0YXJ0IG9mIGEgaGlzdG9yeSBlKQotMTQ0IDI1Ni44IFIgLjc5OCh4cGFuc2lvbiwgbm9ybWFsbHkgYCktLjE1IEYgRjEoISlBIEYwIDMuMjk4KCcuIFRoZSlCCi0uNzk4KHNlY29uZCBjaGFyYWN0ZXIgaXMgdGhlKTMuMjk4IEYgRjIocXVpYykzLjI5OCBFIDMuMjk4KGtzKS0uMiBHCi0odWJzdGl0dS0pLTMuMjk4IEUodGlvbikxNDQgMjY4LjggUSBGMChjaGFyYWN0ZXIpMi43MzkgRSAyLjczOSgsdyktLjQgRworMTQ0IDQ0NCBSIC43OTgoeHBhbnNpb24sIG5vcm1hbGx5IGApLS4xNSBGIEYxKCEpQSBGMCAzLjI5OCgnLiBUaGUpQiAuNzk4Cisoc2Vjb25kIGNoYXJhY3RlciBpcyB0aGUpMy4yOTggRiBGMihxdWljKTMuMjk4IEUgMy4yOTgoa3MpLS4yIEcKKyh1YnN0aXR1LSktMy4yOTggRSh0aW9uKTE0NCA0NTYgUSBGMChjaGFyYWN0ZXIpMi43MzkgRSAyLjczOSgsdyktLjQgRwogLjIzOShoaWNoIGlzIHVzZWQgYXMgc2hvcnRoYW5kIGZvciByZS1ydW5uaW5nIHRoZSBwcmUpLTIuNzM5IEYgLjI0CiAodmlvdXMgY29tbWFuZCBlbnRlcmVkLCBzdWJzdGl0dXQtKS0uMjUgRiAuNTc2Ci0oaW5nIG9uZSBzdHJpbmcgZm9yIGFub3RoZXIgaW4gdGhlIGNvbW1hbmQuKTE0NCAyODAuOCBSIC41NzUoVGhlIGRlZikKLTUuNTc1IEYgLjU3NShhdWx0IGlzIGApLS4xIEYgRjEoXilBIEYwIDMuMDc1KCcuIFRoZSlCIC41NzUKKyhpbmcgb25lIHN0cmluZyBmb3IgYW5vdGhlciBpbiB0aGUgY29tbWFuZC4pMTQ0IDQ2OCBSIC41NzUoVGhlIGRlZik1LjU3NQorRiAuNTc1KGF1bHQgaXMgYCktLjEgRiBGMSheKUEgRjAgMy4wNzUoJy4gVGhlKUIgLjU3NQogKG9wdGlvbmFsIHRoaXJkIGNoYXJhY3RlciBpcyB0aGUpMy4wNzUgRiAuMjIzKGNoYXJhY3RlciB3aGljaCBpbmRpY2F0ZXNcCiAgdGhhdCB0aGUgcmVtYWluZGVyIG9mIHRoZSBsaW5lIGlzIGEgY29tbWVudCB3aGVuIGZvdW5kIGFzIHRoZSBcMjE0cnN0IFwKLWNoYXIpMTQ0IDI5Mi44IFIoLSktLjIgRSAxLjI5NChhY3RlciBvZiBhIHcpMTQ0IDMwNC44IFIgMS4yOTQKK2NoYXIpMTQ0IDQ4MCBSKC0pLS4yIEUgMS4yOTQoYWN0ZXIgb2YgYSB3KTE0NCA0OTIgUiAxLjI5NAogKG9yZCwgbm9ybWFsbHkgYCktLjEgRiBGMSgjKUEgRjAgMy43OTQoJy4gVGhlKUIgMS4yOTMKIChoaXN0b3J5IGNvbW1lbnQgY2hhcmFjdGVyIGNhdXNlcyBoaXN0b3J5IHN1YnN0aXR1dGlvbiB0byBiZSkzLjc5NCBGCi0uMzc5KHNraXBwZWQgZm9yIHRoZSByZW1haW5pbmcgdykxNDQgMzE2LjggUiAuMzc5KG9yZHMgb24gdGhlIGxpbmUuKS0uMQotRiAuMzgoSXQgZG9lcyBub3QgbmVjZXNzYXJpbHkgY2F1c2UgdGhlIHNoZWxsIHBhcnNlciB0byB0cmVhdCk1LjM3OSBGCi0odGhlIHJlc3Qgb2YgdGhlIGxpbmUgYXMgYSBjb21tZW50LikxNDQgMzI4LjggUSBGMShBcnJheXMpODcgMzQ1LjYgUQotKEJhc2gpMTA4IDM1Ny42IFEgRjAocHJvKTMuMzkxIEUgLjg5MSh2aWRlcyBvbmUtZGltZW5zaW9uYWwgaW5kZSktLjE1IEYKLS0uMTUoeGUpLS4xNSBHIDMuMzkxKGRhKS4xNSBHIC44OTEobmQgYXNzb2NpYXRpKS0zLjM5MSBGIDEuMTkxIC0uMTUKLSh2ZSBhKS0uMjUgSCAuODkxKHJyYXkgdikuMTUgRiAzLjM5MShhcmlhYmxlcy4gQW4pLS4yNSBGIDMuMzkxKHl2KS0uMTUgRwotLjg5KGFyaWFibGUgbWF5IGJlIHVzZWQgYXMgYW4pLTMuNjQxIEYoaW5kZSkxMDggMzY5LjYgUSAtLjE1KHhlKS0uMTUgRworLjM3OShza2lwcGVkIGZvciB0aGUgcmVtYWluaW5nIHcpMTQ0IDUwNCBSIC4zNzkob3JkcyBvbiB0aGUgbGluZS4pLS4xIEYKKy4zOChJdCBkb2VzIG5vdCBuZWNlc3NhcmlseSBjYXVzZSB0aGUgc2hlbGwgcGFyc2VyIHRvIHRyZWF0KTUuMzc5IEYKKyh0aGUgcmVzdCBvZiB0aGUgbGluZSBhcyBhIGNvbW1lbnQuKTE0NCA1MTYgUSBGMShBcnJheXMpODcgNTMyLjggUShCYXNoKQorMTA4IDU0NC44IFEgRjAocHJvKTMuMzkxIEUgLjg5MSh2aWRlcyBvbmUtZGltZW5zaW9uYWwgaW5kZSktLjE1IEYgLS4xNQorKHhlKS0uMTUgRyAzLjM5MShkYSkuMTUgRyAuODkxKG5kIGFzc29jaWF0aSktMy4zOTEgRiAxLjE5MSAtLjE1KHZlIGEpCistLjI1IEggLjg5MShycmF5IHYpLjE1IEYgMy4zOTEoYXJpYWJsZXMuIEFuKS0uMjUgRiAzLjM5MSh5diktLjE1IEcgLjg5CisoYXJpYWJsZSBtYXkgYmUgdXNlZCBhcyBhbiktMy42NDEgRihpbmRlKTEwOCA1NTYuOCBRIC0uMTUoeGUpLS4xNSBHCiAyLjU3MyhkYSkuMTUgRyAuMDczKHJyYXk7IHRoZSktMi41NzMgRiBGMShkZWNsYXIpMi41NzMgRShlKS0uMTggRSBGMCAtLjIKIChidSkyLjU3MyBHIC4wNzMoaWx0aW4gd2lsbCBlKS4yIEYgLjA3Myh4cGxpY2l0bHkgZGVjbGFyZSBhbiBhcnJheSktLjE1CiBGIDUuMDczKC5UKS0uNjUgRyAuMDc0KGhlcmUgaXMgbm8gbWF4aW11bSBsaW1pdCBvbiB0aGUgc2l6ZSBvZiktNS4wNzMgRgotLjMyOShhbiBhcnJheSkxMDggMzgxLjYgUiAyLjgyOSgsbiktLjY1IEcgLjMyOShvciBhbiktMi44MjkgRiAyLjgyOSh5cikKKy4zMjkoYW4gYXJyYXkpMTA4IDU2OC44IFIgMi44MjkoLG4pLS42NSBHIC4zMjkob3IgYW4pLTIuODI5IEYgMi44MjkoeXIpCiAtLjE1IEcgLjMyOShlcXVpcmVtZW50IHRoYXQgbWVtYmVycyBiZSBpbmRlKS0yLjgyOSBGIC0uMTUoeGUpLS4xNSBHCiAyLjgyOShkbykuMTUgRyAyLjgyOShyYSktMi44MjkgRyAuMzI4KHNzaWduZWQgY29udGlndW91c2x5KS0yLjgyOSBGCiA1LjMyOCguSSktLjY1IEcobmRlKS01LjMyOCBFIC0uMTUoeGUpLS4xNSBHIDIuODI4KGRhKS4xNSBHIC4zMjgKLShycmF5cyBhcmUgcmVmZXIpLTIuODI4IEYoLSktLjIgRSAxLjM4NihlbmNlZCB1c2luZyBpbnRlKTEwOCAzOTMuNiBSCisocnJheXMgYXJlIHJlZmVyKS0yLjgyOCBGKC0pLS4yIEUgMS4zODYoZW5jZWQgdXNpbmcgaW50ZSkxMDggNTgwLjggUgogMS4zODYoZ2VycyBcKGluY2x1ZGluZyBhcml0aG1ldGljIGUpLS4xNSBGIDMuODg3KHhwcmVzc2lvbnNcKSBhbmQpLS4xNSBGCiAxLjM4NyhhcmUgemVyby1iYXNlZDsgYXNzb2NpYXRpKTMuODg3IEYgMS42ODcgLS4xNSh2ZSBhKS0uMjUgSCAxLjM4NwotKHJyYXlzIGFyZSByZWZlcikuMTUgRigtKS0uMiBFKGVuY2VkIHVzaW5nIGFyYml0cmFyeSBzdHJpbmdzLikxMDggNDA1LjYKLVEgMi40NjMoQW4gaW5kZSkxMDggNDIyLjQgUiAtLjE1KHhlKS0uMTUgRyA0Ljk2MyhkYSkuMTUgRyAyLjQ2MworKHJyYXlzIGFyZSByZWZlcikuMTUgRigtKS0uMiBFKGVuY2VkIHVzaW5nIGFyYml0cmFyeSBzdHJpbmdzLikxMDggNTkyLjgKK1EgMi40NjMoQW4gaW5kZSkxMDggNjA5LjYgUiAtLjE1KHhlKS0uMTUgRyA0Ljk2MyhkYSkuMTUgRyAyLjQ2MwogKHJyYXkgaXMgY3JlYXRlZCBhdXRvbWF0aWNhbGx5IGlmIGFuKS00Ljk2MyBGIDQuOTYzKHl2KS0uMTUgRyAyLjQ2MgogKGFyaWFibGUgaXMgYXNzaWduZWQgdG8gdXNpbmcgdGhlIHN5bnRheCktNS4yMTMgRiBGMihuYW1lKTQuOTYyIEUgRjAoWylBCi1GMihzdWItKUEoc2NyaXB0KTEwOCA0MzQuNCBRIEYwKF09KUEgRjIodmFsdWUpQSBGMCA1LjY4MiguVClDKGhlKS01LjY4MgorRjIoc3ViLSlBKHNjcmlwdCkxMDggNjIxLjYgUSBGMChdPSlBIEYyKHZhbHVlKUEgRjAgNS42ODIoLlQpQyhoZSktNS42ODIKIEUgRjIoc3Vic2NyaXB0KTMuNTIyIEUgRjAgLjY4MihpcyB0cmVhdGVkIGFzIGFuIGFyaXRobWV0aWMgZSkzLjg2MiBGCiAuNjgyKHhwcmVzc2lvbiB0aGF0IG11c3QgZSktLjE1IEYgLS4yNSh2YSktLjI1IEcgLjY4MgotKGx1YXRlIHRvIGEgbnVtYmVyIGdyZWF0ZXIpLjI1IEYgLjc1KHRoYW4gb3IgZXF1YWwgdG8gemVyby4pMTA4IDQ0Ni40IFIKKyhsdWF0ZSB0byBhIG51bWJlciBncmVhdGVyKS4yNSBGIC43NSh0aGFuIG9yIGVxdWFsIHRvIHplcm8uKTEwOCA2MzMuNiBSCiAyLjM0OSAtLjgoVG8gZSk1Ljc0OSBIIC43NDkoeHBsaWNpdGx5IGRlY2xhcmUgYW4gaW5kZSkuNjUgRiAtLjE1KHhlKS0uMTUKIEcgMy4yNDkoZGEpLjE1IEcocnJheSktMy4yNDkgRSAzLjI0OSgsdSktLjY1IEcoc2UpLTMuMjQ5IEUgRjEoZGVjbGFyKQogMy4yNDkgRSAzLjI0OTw2NWFkPi0uMTggRyhhKS0zLjI0OSBFIEYyKG5hbWUpMy4yNDkgRSBGMChcKHNlZSkzLjI0OSBFIEYzCi0uNzQ5KFNIRUxMIEIpMy4yNDkgRihVSUwpLS4wOSBFKFRJTiktLjgyOCBFKENPTU1BTkRTKTEwOCA0NTguNCBRIEYwCisuNzQ5KFNIRUxMIEIpMy4yNDkgRihVSUwpLS4wOSBFKFRJTiktLjgyOCBFKENPTU1BTkRTKTEwOCA2NDUuNiBRIEYwCiAoYmVsbykyLjI1IEUod1wpLiktLjI1IEUgRjEoZGVjbGFyKTUgRSAyLjU8NjVhZD4tLjE4IEcoYSktMi41IEUgRjIobmFtZSkKIDIuNSBFIEYxKFspQSBGMihzdWJzY3JpcHQpQSBGMShdKUEgRjAoaXMgYWxzbyBhY2NlcHRlZDsgdGhlKTIuNSBFIEYyCi0oc3Vic2NyaXB0KTIuNSBFIEYwKGlzIGlnbm9yZWQuKTIuNSBFKEFzc29jaWF0aSkxMDggNDc1LjIgUSAuMyAtLjE1Cisoc3Vic2NyaXB0KTIuNSBFIEYwKGlzIGlnbm9yZWQuKTIuNSBFKEFzc29jaWF0aSkxMDggNjYyLjQgUSAuMyAtLjE1CiAodmUgYSktLjI1IEgocnJheXMgYXJlIGNyZWF0ZWQgdXNpbmcpLjE1IEUgRjEoZGVjbGFyKTIuNSBFIDIuNTw2NWFkPi0uMTgKLUcoQSktMi41IEUgRjIobmFtZSkyLjUgRSBGMCguKUEoQXR0cmliKTEwOCA0OTIgUSAuOTQKK0coQSktMi41IEUgRjIobmFtZSkyLjUgRSBGMCguKUEoQXR0cmliKTEwOCA2NzkuMiBRIC45NAogKHV0ZXMgbWF5IGJlIHNwZWNpXDIxNGVkIGZvciBhbiBhcnJheSB2KS0uMiBGIC45NDEoYXJpYWJsZSB1c2luZyB0aGUpCiAtLjI1IEYgRjEoZGVjbGFyKTMuNDQxIEUoZSktLjE4IEUgRjAoYW5kKTMuNDQxIEUgRjEgLS4xOChyZSkzLjQ0MSBHCiAoYWRvbmx5KS4xOCBFIEYwIC0uMihidSkzLjQ0MSBHIDMuNDQxKGlsdGlucy4gRWFjaCkuMiBGKGF0dHJpYikzLjQ0MSBFCi0odXRlKS0uMiBFKGFwcGxpZXMgdG8gYWxsIG1lbWJlcnMgb2YgYW4gYXJyYXkpMTA4IDUwNCBRKC4pLS42NSBFIDEuNjQ3Ci0oQXJyYXlzIGFyZSBhc3NpZ25lZCB0byB1c2luZyBjb21wb3VuZCBhc3NpZ25tZW50cyBvZiB0aGUgZm9ybSkxMDggNTIwLjgKLVIgRjIobmFtZSk0LjE0NyBFIEYwKD0pQSBGMShcKClBIEYwIC0uMjUodmEpQyhsdWUpLjI1IEUgRjIoMSlBIEYwIDEuNjQ3CisodXRlKS0uMiBFKGFwcGxpZXMgdG8gYWxsIG1lbWJlcnMgb2YgYW4gYXJyYXkpMTA4IDY5MS4yIFEoLiktLjY1IEUgMS42NDcKKyhBcnJheXMgYXJlIGFzc2lnbmVkIHRvIHVzaW5nIGNvbXBvdW5kIGFzc2lnbm1lbnRzIG9mIHRoZSBmb3JtKTEwOCA3MDggUgorRjIobmFtZSk0LjE0NyBFIEYwKD0pQSBGMShcKClBIEYwIC0uMjUodmEpQyhsdWUpLjI1IEUgRjIoMSlBIEYwIDEuNjQ3CiAoLi4uIHYpNC4xNDcgRihhbHVlKS0uMjUgRSBGMihuKUEgRjEoXCkpQSBGMCA0LjE0NygsdylDIDEuNjQ3KGhlcmUgZWFjaCkKLS00LjE0NyBGIEYyKHZhbHVlKTEwOCA1MzIuOCBRIEYwIC4xMjIoaXMgb2YgdGhlIGZvcm0gWykyLjYyMiBGIEYyCistNC4xNDcgRiBGMih2YWx1ZSkxMDggNzIwIFEgRjAgLjEyMihpcyBvZiB0aGUgZm9ybSBbKTIuNjIyIEYgRjIKIChzdWJzY3JpcHQpQSBGMChdPSlBIEYyKHN0cmluZylBIEYwIDUuMTIyKC5JKUMobmRlKS01LjEyMiBFIC0uMTUoeGUpLS4xNQogRyAyLjYyMihkYSkuMTUgRyAuMTIyKHJyYXkgYXNzaWdubWVudHMgZG8gbm90IHJlcXVpcmUgdGhlIGJyYWNrKS0yLjYyMiBGCi0uMTIyKGV0IGFuZCBzdWJzY3JpcHQuKS0uMSBGIC4xNjQoV2hlbiBhc3NpZ25pbmcgdG8gaW5kZSkxMDggNTQ0LjggUgotLS4xNSh4ZSktLjE1IEcgMi42NjMoZGEpLjE1IEcgLjE2MyhycmF5cywgaWYgdGhlIG9wdGlvbmFsIGJyYWNrKS0yLjY2MyBGCi0uMTYzKGV0cyBhbmQgc3Vic2NyaXB0IGFyZSBzdXBwbGllZCwgdGhhdCBpbmRlKS0uMSBGIDIuNjYzKHhpKS0uMTUgRwotMi42NjMoc2EpLTIuNjYzIEcoc3NpZ25lZCktMi42NjMgRSAxLjQxKHRvOyBvdGhlcndpc2UgdGhlIGluZGUpMTA4IDU1Ni44Ci1SIDMuOTEoeG8pLS4xNSBHIDMuOTEoZnQpLTMuOTEgRyAxLjQxCi0oaGUgZWxlbWVudCBhc3NpZ25lZCBpcyB0aGUgbGFzdCBpbmRlKS0zLjkxIEYgMy45MTEoeGEpLS4xNSBHIDEuNDExCi0oc3NpZ25lZCB0byBieSB0aGUgc3RhdGVtZW50IHBsdXMgb25lLiktMy45MTEgRihJbmRlKTEwOCA1NjguOCBRCi0oeGluZyBzdGFydHMgYXQgemVyby4pLS4xNSBFKFdoZW4gYXNzaWduaW5nIHRvIGFuIGFzc29jaWF0aSkxMDggNTg1LjYgUQotLjMgLS4xNSh2ZSBhKS0uMjUgSChycmF5KS4xNSBFIDIuNSgsdCktLjY1IEcoaGUgc3Vic2NyaXB0IGlzIHJlcXVpcmVkLikKLS0yLjUgRSAuMjQoVGhpcyBzeW50YXggaXMgYWxzbyBhY2NlcHRlZCBieSB0aGUpMTA4IDYwMi40IFIgRjEoZGVjbGFyKQotMi43NCBFKGUpLS4xOCBFIEYwIC0uMihidSkyLjczOSBHIDIuNzM5KGlsdGluLiBJbmRpKS4yIEYgLjIzOQotKHZpZHVhbCBhcnJheSBlbGVtZW50cyBtYXkgYmUgYXNzaWduZWQgdG8gdXNpbmcgdGhlKS0uMjUgRiBGMihuYW1lKTEwOAotNjE0LjQgUSBGMChbKUEgRjIoc3Vic2NyaXB0KUEgRjAoXT0pQSBGMih2YWx1ZSlBIEYwCi0oc3ludGF4IGludHJvZHVjZWQgYWJvKTIuNSBFIC0uMTUodmUpLS4xNSBHKC4pLjE1IEUoQW4pMTA4IDYzMS4yIFEgMy41NzUKLSh5ZSktLjE1IEcgMS4wNzUobGVtZW50IG9mIGFuIGFycmF5IG1heSBiZSByZWZlcmVuY2VkIHVzaW5nICR7KS0zLjU3NSBGCi1GMihuYW1lKUEgRjAoWylBIEYyKHN1YnNjcmlwdClBIEYwIDMuNTc1KF19LiBUaGUpQiAxLjA3NgotKGJyYWNlcyBhcmUgcmVxdWlyZWQgdG8gYSkzLjU3NiBGIC0uMih2byktLjIgRyhpZCkuMiBFIDEuNTQyCi0oY29uXDIxNWljdHMgd2l0aCBwYXRobmFtZSBlKTEwOCA2NDMuMiBSIDQuMDQxKHhwYW5zaW9uLiBJZiktLjE1IEYgRjIKLShzdWJzY3JpcHQpNC4wNDEgRSBGMChpcyk0LjA0MSBFIEYxKEApNC4wNDEgRSBGMChvcik0LjA0MSBFIEYxKCopNC4wNDEgRQotRjAgNC4wNDEoLHQpQyAxLjU0MShoZSB3KS00LjA0MSBGIDEuNTQxKG9yZCBlKS0uMSBGIDEuNTQxCi0oeHBhbmRzIHRvIGFsbCBtZW1iZXJzIG9mKS0uMTUgRiBGMihuYW1lKTQuMDQxIEUgRjAoLilBIDEuMDU2Ci0oVGhlc2Ugc3Vic2NyaXB0cyBkaWYpMTA4IDY1NS4yIFIgMS4wNTYoZmVyIG9ubHkgd2hlbiB0aGUgdyktLjI1IEYgMS4wNTcKLShvcmQgYXBwZWFycyB3aXRoaW4gZG91YmxlIHF1b3Rlcy4pLS4xIEYgMS4wNTcoSWYgdGhlIHcpNi4wNTcgRiAxLjA1NwotKG9yZCBpcyBkb3VibGUtcXVvdGVkLCktLjEgRigkeykxMDggNjY3LjIgUSBGMihuYW1lKUEgRjAgLjUyMShbKl19IGUpQgotLjUyMSh4cGFuZHMgdG8gYSBzaW5nbGUgdyktLjE1IEYgLjUyMShvcmQgd2l0aCB0aGUgdiktLjEgRiAuNTIKLShhbHVlIG9mIGVhY2ggYXJyYXkgbWVtYmVyIHNlcGFyYXRlZCBieSB0aGUgXDIxNHJzdCBjaGFyYWN0ZXIpLS4yNSBGCi0xLjM3NChvZiB0aGUpMTA4IDY3OS4yIFIgRjMoSUZTKTMuODc0IEUgRjAgMS4zNzQoc3BlY2lhbCB2KTMuNjI0IEYgMS4zNzUKLShhcmlhYmxlLCBhbmQgJHspLS4yNSBGIEYyKG5hbWUpQSBGMCAxLjM3NShbQF19IGUpQiAxLjM3NQotKHhwYW5kcyBlYWNoIGVsZW1lbnQgb2YpLS4xNSBGIEYyKG5hbWUpMy44NzUgRSBGMCAxLjM3NSh0byBhIHNlcGFyYXRlIHcpCi0zLjg3NSBGIDMuODc1KG9yZC4gV2hlbiktLjEgRiAyLjAyOCh0aGVyZSBhcmUgbm8gYXJyYXkgbWVtYmVycywgJHspMTA4Ci02OTEuMiBSIEYyKG5hbWUpQSBGMCAyLjAyOChbQF19IGUpQiAyLjAyOCh4cGFuZHMgdG8gbm90aGluZy4pLS4xNSBGCi0yLjAyNyhJZiB0aGUgZG91YmxlLXF1b3RlZCBlKTcuMDI4IEYgMi4wMjcoeHBhbnNpb24gb2NjdXJzKS0uMTUgRiAuNzU4Ci0od2l0aGluIGEgdykxMDggNzAzLjIgUiAuNzU5KG9yZCwgdGhlIGUpLS4xIEYgLjc1OQotKHhwYW5zaW9uIG9mIHRoZSBcMjE0cnN0IHBhcmFtZXRlciBpcyBqb2luZWQgd2l0aCB0aGUgYmUpLS4xNSBGIC43NTkKLShnaW5uaW5nIHBhcnQgb2YgdGhlIG9yaWdpbmFsIHcpLS4xNSBGKG9yZCwpLS4xIEUgLjUxNihhbmQgdGhlIGUpMTA4Ci03MTUuMiBSIC41MTYoeHBhbnNpb24gb2YgdGhlIGxhc3QgcGFyYW1ldGVyIGlzIGpvaW5lZCB3aXRoIHRoZSBsYXN0IHBhclwKLXQgb2YgdGhlIG9yaWdpbmFsIHcpLS4xNSBGIDMuMDE1KG9yZC4gVGhpcyktLjEgRiAuNTE1KGlzIGFuYWxvZ291cykzLjAxNQotRiAuMjI3KHRvIHRoZSBlKTEwOCA3MjcuMiBSIC4yMjgoeHBhbnNpb24gb2YgdGhlIHNwZWNpYWwgcGFyYW1ldGVycyktLjE1Ci1GIEYxKCopMi43MjggRSBGMChhbmQpMi43MjggRSBGMShAKTIuNzI4IEUgRjAoXChzZWUpMi43MjggRSBGMSAuMjI4Ci0oU3BlY2lhbCBQKTIuNzI4IEYoYXJhbWV0ZXJzKS0uMSBFIEYwKGFibykyLjcyOCBFIC0uMTUodmUpLS4xNSBHIDIuNzI4Ci0oXCkuICR7IykuMTUgRiBGMihuYW1lKUEgRjAoWylBIEYyKHN1YnNjcmlwdClBIEYwKF19KUEoR05VIEJhc2gtNC4wKTcyCi03NjggUSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUoMTYpMTkwLjk1IEUgMCBDZyBFUAorLjEyMihldCBhbmQgc3Vic2NyaXB0LiktLjEgRihHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkKKzEzNS45NjUgRSgxNikxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiAxNyAxNwogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRSAtLjE1KGV4KTEwOCA4NCBTIC44ODYocGFuZHMgdG8gdGhlIGxlbmd0aCBvZiAkeykuMTUgRi9GMSAxMAotL1RpbWVzLUl0YWxpY0AwIFNGKG5hbWUpQSBGMChbKUEgRjEoc3Vic2NyaXB0KUEgRjAgMy4zODYoXX0uIElmKUIgRjEKLShzdWJzY3JpcHQpMy4zODYgRSBGMChpcykzLjM4NiBFL0YyIDEwL1RpbWVzLUJvbGRAMCBTRigqKTMuMzg2IEUgRjAob3IpCi0zLjM4NiBFIEYyKEApMy4zODYgRSBGMCAzLjM4NigsdClDIC44ODYoaGUgZSktMy4zODYgRiAuODg2Ci0oeHBhbnNpb24gaXMgdGhlIG51bWJlciBvZiBlbGUtKS0uMTUgRiAuNDYyKG1lbnRzIGluIHRoZSBhcnJheSkxMDggOTYgUgotNS40NjIoLlIpLS42NSBHIC40NjIoZWZlcmVuY2luZyBhbiBhcnJheSB2KS01LjQ2MiBGIC40NjMKKy0uMzUgRSAuMTY0KFdoZW4gYXNzaWduaW5nIHRvIGluZGUpMTA4IDg0IFIgLS4xNSh4ZSktLjE1IEcgMi42NjMoZGEpLjE1CitHIC4xNjMocnJheXMsIGlmIHRoZSBvcHRpb25hbCBicmFjayktMi42NjMgRiAuMTYzCisoZXRzIGFuZCBzdWJzY3JpcHQgYXJlIHN1cHBsaWVkLCB0aGF0IGluZGUpLS4xIEYgMi42NjMoeGkpLS4xNSBHIDIuNjYzCisoc2EpLTIuNjYzIEcoc3NpZ25lZCktMi42NjMgRSAxLjQxKHRvOyBvdGhlcndpc2UgdGhlIGluZGUpMTA4IDk2IFIgMy45MQorKHhvKS0uMTUgRyAzLjkxKGZ0KS0zLjkxIEcgMS40MShoZSBlbGVtZW50IGFzc2lnbmVkIGlzIHRoZSBsYXN0IGluZGUpCistMy45MSBGIDMuOTExKHhhKS0uMTUgRyAxLjQxMShzc2lnbmVkIHRvIGJ5IHRoZSBzdGF0ZW1lbnQgcGx1cyBvbmUuKQorLTMuOTExIEYoSW5kZSkxMDggMTA4IFEoeGluZyBzdGFydHMgYXQgemVyby4pLS4xNSBFCisoV2hlbiBhc3NpZ25pbmcgdG8gYW4gYXNzb2NpYXRpKTEwOCAxMjQuOCBRIC4zIC0uMTUodmUgYSktLjI1IEgocnJheSkuMTUKK0UgMi41KCx0KS0uNjUgRyhoZSBzdWJzY3JpcHQgaXMgcmVxdWlyZWQuKS0yLjUgRSAuMjQKKyhUaGlzIHN5bnRheCBpcyBhbHNvIGFjY2VwdGVkIGJ5IHRoZSkxMDggMTQxLjYgUi9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YKKyhkZWNsYXIpMi43NCBFKGUpLS4xOCBFIEYwIC0uMihidSkyLjczOSBHIDIuNzM5KGlsdGluLiBJbmRpKS4yIEYgLjIzOQorKHZpZHVhbCBhcnJheSBlbGVtZW50cyBtYXkgYmUgYXNzaWduZWQgdG8gdXNpbmcgdGhlKS0uMjUgRi9GMiAxMAorL1RpbWVzLUl0YWxpY0AwIFNGKG5hbWUpMTA4IDE1My42IFEgRjAoWylBIEYyKHN1YnNjcmlwdClBIEYwKF09KUEgRjIKKyh2YWx1ZSlBIEYwKHN5bnRheCBpbnRyb2R1Y2VkIGFibykyLjUgRSAtLjE1KHZlKS0uMTUgRyguKS4xNSBFKEFuKTEwOAorMTcwLjQgUSAzLjU3NSh5ZSktLjE1IEcgMS4wNzUKKyhsZW1lbnQgb2YgYW4gYXJyYXkgbWF5IGJlIHJlZmVyZW5jZWQgdXNpbmcgJHspLTMuNTc1IEYgRjIobmFtZSlBIEYwKFspQQorRjIoc3Vic2NyaXB0KUEgRjAgMy41NzUoXX0uIFRoZSlCIDEuMDc2KGJyYWNlcyBhcmUgcmVxdWlyZWQgdG8gYSkzLjU3NiBGCistLjIodm8pLS4yIEcoaWQpLjIgRSAxLjU0Mihjb25cMjE1aWN0cyB3aXRoIHBhdGhuYW1lIGUpMTA4IDE4Mi40IFIgNC4wNDEKKyh4cGFuc2lvbi4gSWYpLS4xNSBGIEYyKHN1YnNjcmlwdCk0LjA0MSBFIEYwKGlzKTQuMDQxIEUgRjEoQCk0LjA0MSBFIEYwCisob3IpNC4wNDEgRSBGMSgqKTQuMDQxIEUgRjAgNC4wNDEoLHQpQyAxLjU0MShoZSB3KS00LjA0MSBGIDEuNTQxKG9yZCBlKQorLS4xIEYgMS41NDEoeHBhbmRzIHRvIGFsbCBtZW1iZXJzIG9mKS0uMTUgRiBGMihuYW1lKTQuMDQxIEUgRjAoLilBIDEuMDU2CisoVGhlc2Ugc3Vic2NyaXB0cyBkaWYpMTA4IDE5NC40IFIgMS4wNTYoZmVyIG9ubHkgd2hlbiB0aGUgdyktLjI1IEYgMS4wNTcKKyhvcmQgYXBwZWFycyB3aXRoaW4gZG91YmxlIHF1b3Rlcy4pLS4xIEYgMS4wNTcoSWYgdGhlIHcpNi4wNTcgRiAxLjA1NworKG9yZCBpcyBkb3VibGUtcXVvdGVkLCktLjEgRigkeykxMDggMjA2LjQgUSBGMihuYW1lKUEgRjAgLjUyMShbKl19IGUpQgorLjUyMSh4cGFuZHMgdG8gYSBzaW5nbGUgdyktLjE1IEYgLjUyMShvcmQgd2l0aCB0aGUgdiktLjEgRiAuNTIKKyhhbHVlIG9mIGVhY2ggYXJyYXkgbWVtYmVyIHNlcGFyYXRlZCBieSB0aGUgXDIxNHJzdCBjaGFyYWN0ZXIpLS4yNSBGCisxLjM3NChvZiB0aGUpMTA4IDIxOC40IFIvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoSUZTKTMuODc0IEUgRjAgMS4zNzQKKyhzcGVjaWFsIHYpMy42MjQgRiAxLjM3NShhcmlhYmxlLCBhbmQgJHspLS4yNSBGIEYyKG5hbWUpQSBGMCAxLjM3NQorKFtAXX0gZSlCIDEuMzc1KHhwYW5kcyBlYWNoIGVsZW1lbnQgb2YpLS4xNSBGIEYyKG5hbWUpMy44NzUgRSBGMCAxLjM3NQorKHRvIGEgc2VwYXJhdGUgdykzLjg3NSBGIDMuODc1KG9yZC4gV2hlbiktLjEgRiAyLjAyOAorKHRoZXJlIGFyZSBubyBhcnJheSBtZW1iZXJzLCAkeykxMDggMjMwLjQgUiBGMihuYW1lKUEgRjAgMi4wMjgoW0BdfSBlKUIKKzIuMDI4KHhwYW5kcyB0byBub3RoaW5nLiktLjE1IEYgMi4wMjcoSWYgdGhlIGRvdWJsZS1xdW90ZWQgZSk3LjAyOCBGCisyLjAyNyh4cGFuc2lvbiBvY2N1cnMpLS4xNSBGIC43NTgod2l0aGluIGEgdykxMDggMjQyLjQgUiAuNzU5Cisob3JkLCB0aGUgZSktLjEgRiAuNzU5CisoeHBhbnNpb24gb2YgdGhlIFwyMTRyc3QgcGFyYW1ldGVyIGlzIGpvaW5lZCB3aXRoIHRoZSBiZSktLjE1IEYgLjc1OQorKGdpbm5pbmcgcGFydCBvZiB0aGUgb3JpZ2luYWwgdyktLjE1IEYob3JkLCktLjEgRSAuNTE2KGFuZCB0aGUgZSkxMDgKKzI1NC40IFIgLjUxNih4cGFuc2lvbiBvZiB0aGUgbGFzdCBwYXJhbWV0ZXIgaXMgam9pbmVkIHdpdGggdGhlIGxhc3QgcGFyXAordCBvZiB0aGUgb3JpZ2luYWwgdyktLjE1IEYgMy4wMTUob3JkLiBUaGlzKS0uMSBGIC41MTUoaXMgYW5hbG9nb3VzKTMuMDE1CitGIC4yMjcodG8gdGhlIGUpMTA4IDI2Ni40IFIgLjIyOCh4cGFuc2lvbiBvZiB0aGUgc3BlY2lhbCBwYXJhbWV0ZXJzKS0uMTUKK0YgRjEoKikyLjcyOCBFIEYwKGFuZCkyLjcyOCBFIEYxKEApMi43MjggRSBGMChcKHNlZSkyLjcyOCBFIEYxIC4yMjgKKyhTcGVjaWFsIFApMi43MjggRihhcmFtZXRlcnMpLS4xIEUgRjAoYWJvKTIuNzI4IEUgLS4xNSh2ZSktLjE1IEcgMi43MjgKKyhcKS4gJHsjKS4xNSBGIEYyKG5hbWUpQSBGMChbKUEgRjIoc3Vic2NyaXB0KUEgRjAoXX0pQSAtLjE1KGV4KTEwOCAyNzguNAorUyAuODg2KHBhbmRzIHRvIHRoZSBsZW5ndGggb2YgJHspLjE1IEYgRjIobmFtZSlBIEYwKFspQSBGMihzdWJzY3JpcHQpQQorRjAgMy4zODYoXX0uIElmKUIgRjIoc3Vic2NyaXB0KTMuMzg2IEUgRjAoaXMpMy4zODYgRSBGMSgqKTMuMzg2IEUgRjAob3IpCiszLjM4NiBFIEYxKEApMy4zODYgRSBGMCAzLjM4NigsdClDIC44ODYoaGUgZSktMy4zODYgRiAuODg2CisoeHBhbnNpb24gaXMgdGhlIG51bWJlciBvZiBlbGUtKS0uMTUgRiAuNDYyKG1lbnRzIGluIHRoZSBhcnJheSkxMDggMjkwLjQKK1IgNS40NjIoLlIpLS42NSBHIC40NjIoZWZlcmVuY2luZyBhbiBhcnJheSB2KS01LjQ2MiBGIC40NjMKIChhcmlhYmxlIHdpdGhvdXQgYSBzdWJzY3JpcHQgaXMgZXF1aSktLjI1IEYgLS4yNSh2YSktLjI1IEcgLjQ2MwotKGxlbnQgdG8gcmVmZXJlbmNpbmcgdGhlIGFycmF5KS4yNSBGKHdpdGggYSBzdWJzY3JpcHQgb2YgMC4pMTA4IDEwOCBRCi0oVGhlKTEwOCAxMjQuOCBRIEYyKHVuc2V0KTIuNzY3IEUgRjAgLS4yKGJ1KTIuNzY3IEcgLjI2NwotKGlsdGluIGlzIHVzZWQgdG8gZGVzdHJvKS4yIEYgMi43NjcoeWEpLS4xIEcocnJheXMuKS0yLjc2NyBFIEYyKHVuc2V0KQotNS4yNjcgRSBGMShuYW1lKTIuNzY3IEUgRjAoWylBIEYxKHN1YnNjcmlwdClBIEYwIDIuNzY3KF1kKUMoZXN0cm8pLTIuNzY3Ci1FIC4yNjcoeXMgdGhlIGFycmF5IGVsZW1lbnQgYXQgaW5kZSktLjEgRih4KS0uMTUgRSBGMShzdWItKTIuNzY2IEUKLShzY3JpcHQpMTA4IDEzNi44IFEgRjAgNi4zOCguQylDIDEuMzgoYXJlIG11c3QgYmUgdGFrKS02LjM4IEYgMS4zOAotKGVuIHRvIGEpLS4xIEYgLS4yKHZvKS0uMiBHIDEuMzgoaWQgdW53KS4yIEYgMS4zOChhbnRlZCBzaWRlIGVmKS0uMSBGCi0xLjM4KGZlY3RzIGNhdXNlZCBieSBcMjE0bGVuYW1lIGdlbmVyYXRpb24uKS0uMjUgRiBGMih1bnNldCk2LjM4IEUgRjEKLShuYW1lKTMuODggRSBGMCgsKUEod2hlcmUpMTA4IDE0OC44IFEgRjEobmFtZSkyLjUgRSBGMChpcyBhbiBhcnJheSkyLjUgRQotMi41KCxvKS0uNjUgRyhyKS0yLjUgRSBGMih1bnNldCkyLjUgRSBGMShuYW1lKTIuNSBFIEYwKFspQSBGMShzdWJzY3JpcHQpCi1BIEYwKF0sIHdoZXJlKUEgRjEoc3Vic2NyaXB0KTIuNSBFIEYwKGlzKTIuNSBFIEYyKCopMi41IEUgRjAob3IpMi41IEUgRjIKLShAKTIuNSBFIEYwIDIuNSgscilDKGVtbyktMi41IEUgLS4xNSh2ZSktLjE1IEcgMi41KHN0KS4xNSBHCi0oaGUgZW50aXJlIGFycmF5KS0yLjUgRSguKS0uNjUgRShUaGUpMTA4IDE2NS42IFEgRjIoZGVjbGFyKTMuNTc0IEUoZSkKLS0uMTggRSBGMCgsKUEgRjIobG9jYWwpMy41NzQgRSBGMCAzLjU3NCgsYSlDKG5kKS0zLjU3NCBFIEYyIC0uMTgocmUpCi0zLjU3NCBHKGFkb25seSkuMTggRSBGMCAtLjIoYnUpMy41NzQgRyAxLjA3MyhpbHRpbnMgZWFjaCBhY2NlcHQgYSkuMiBGCi1GMjxhZDYxPjMuNTczIEUgRjAgMS4wNzMob3B0aW9uIHRvIHNwZWNpZnkgYW4gaW5kZSkzLjU3MyBGIC0uMTUoeGUpLS4xNQotRyAzLjU3MyhkYSkuMTUgRyAxLjA3MyhycmF5IGFuZCBhKS0zLjU3MyBGIEYyPGFkNDE+My41NzMgRSBGMCAuNzUxCi0ob3B0aW9uIHRvIHNwZWNpZnkgYW4gYXNzb2NpYXRpKTEwOCAxNzcuNiBSIDEuMDUxIC0uMTUodmUgYSktLjI1IEgocnJheSkKLS4xNSBFIDUuNzUxKC5UKS0uNjUgRyhoZSktNS43NTEgRSBGMiAtLjE4KHJlKTMuMjUxIEcoYWQpLjE4IEUgRjAgLS4yKGJ1KQotMy4yNTEgRyAuNzUyKGlsdGluIGFjY2VwdHMgYSkuMiBGIEYyPGFkNjE+My4yNTIgRSBGMCAuNzUyCi0ob3B0aW9uIHRvIGFzc2lnbiBhIGxpc3Qgb2YgdykzLjI1MiBGIC43NTIob3JkcyByZWFkKS0uMSBGIC41MDIKLShmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCB0byBhbiBhcnJheSkxMDggMTg5LjYgUiA1LjUwMiguVCktLjY1IEcoaGUpCi0tNS41MDIgRSBGMihzZXQpMy4wMDIgRSBGMChhbmQpMy4wMDIgRSBGMihkZWNsYXIpMy4wMDIgRShlKS0uMTggRSBGMCAtLjIKKyhsZW50IHRvIHJlZmVyZW5jaW5nIHRoZSBhcnJheSkuMjUgRih3aXRoIGEgc3Vic2NyaXB0IG9mIDAuKTEwOCAzMDIuNCBRCisuMTY4KEFuIGFycmF5IHYpMTA4IDMxOS4yIFIgLjE2OAorKGFyaWFibGUgaXMgY29uc2lkZXJlZCBzZXQgaWYgYSBzdWJzY3JpcHQgaGFzIGJlZW4gYXNzaWduZWQgYSB2KS0uMjUgRgorMi42NjgoYWx1ZS4gVGhlKS0uMjUgRiAuMTY4KG51bGwgc3RyaW5nIGlzIGEgdikyLjY2OCBGIC4xNjgoYWxpZCB2KS0uMjUKK0YoYWx1ZS4pLS4yNSBFKFRoZSkxMDggMzM2IFEgRjEodW5zZXQpMi43NjYgRSBGMCAtLjIoYnUpMi43NjYgRyAuMjY3CisoaWx0aW4gaXMgdXNlZCB0byBkZXN0cm8pLjIgRiAyLjc2Nyh5YSktLjEgRyhycmF5cy4pLTIuNzY3IEUgRjEodW5zZXQpCis1LjI2NyBFIEYyKG5hbWUpMi43NjcgRSBGMChbKUEgRjIoc3Vic2NyaXB0KUEgRjAgMi43NjcoXWQpQyhlc3RybyktMi43NjcKK0UgLjI2Nyh5cyB0aGUgYXJyYXkgZWxlbWVudCBhdCBpbmRlKS0uMSBGKHgpLS4xNSBFIEYyKHN1Yi0pMi43NjcgRQorKHNjcmlwdCkxMDggMzQ4IFEgRjAgNi4yMDUoLkMpQyAxLjIwNShhcmUgbXVzdCBiZSB0YWspLTYuMjA1IEYgMS4yMDUKKyhlbiB0byBhKS0uMSBGIC0uMih2byktLjIgRyAxLjIwNShpZCB1bncpLjIgRiAxLjIwNShhbnRlZCBzaWRlIGVmKS0uMSBGCisxLjIwNChmZWN0cyBjYXVzZWQgYnkgcGF0aG5hbWUgZSktLjI1IEYoeHBhbnNpb24uKS0uMTUgRSBGMSh1bnNldCk2LjIwNAorRSBGMihuYW1lKTMuNzA0IEUgRjAoLClBKHdoZXJlKTEwOCAzNjAgUSBGMihuYW1lKTIuNSBFIEYwKGlzIGFuIGFycmF5KQorMi41IEUgMi41KCxvKS0uNjUgRyhyKS0yLjUgRSBGMSh1bnNldCkyLjUgRSBGMihuYW1lKTIuNSBFIEYwKFspQSBGMgorKHN1YnNjcmlwdClBIEYwKF0sIHdoZXJlKUEgRjIoc3Vic2NyaXB0KTIuNSBFIEYwKGlzKTIuNSBFIEYxKCopMi41IEUgRjAKKyhvcikyLjUgRSBGMShAKTIuNSBFIEYwIDIuNSgscilDKGVtbyktMi41IEUgLS4xNSh2ZSktLjE1IEcgMi41KHN0KS4xNSBHCisoaGUgZW50aXJlIGFycmF5KS0yLjUgRSguKS0uNjUgRShUaGUpMTA4IDM3Ni44IFEgRjEoZGVjbGFyKTMuNTczIEUoZSkKKy0uMTggRSBGMCgsKUEgRjEobG9jYWwpMy41NzMgRSBGMCAzLjU3MygsYSlDKG5kKS0zLjU3MyBFIEYxIC0uMTgocmUpCiszLjU3MyBHKGFkb25seSkuMTggRSBGMCAtLjIoYnUpMy41NzMgRyAxLjA3MyhpbHRpbnMgZWFjaCBhY2NlcHQgYSkuMiBGCitGMTxhZDYxPjMuNTczIEUgRjAgMS4wNzMob3B0aW9uIHRvIHNwZWNpZnkgYW4gaW5kZSkzLjU3MyBGIC0uMTUoeGUpLS4xNQorRyAzLjU3NChkYSkuMTUgRyAxLjA3NChycmF5IGFuZCBhKS0zLjU3NCBGIEYxPGFkNDE+My41NzQgRSBGMCAuNzUyCisob3B0aW9uIHRvIHNwZWNpZnkgYW4gYXNzb2NpYXRpKTEwOCAzODguOCBSIDEuMDUyIC0uMTUodmUgYSktLjI1IEgocnJheSkKKy4xNSBFIDUuNzUyKC5UKS0uNjUgRyhoZSktNS43NTIgRSBGMSAtLjE4KHJlKTMuMjUyIEcoYWQpLjE4IEUgRjAgLS4yKGJ1KQorMy4yNTIgRyAuNzUyKGlsdGluIGFjY2VwdHMgYSkuMiBGIEYxPGFkNjE+My4yNTIgRSBGMCAuNzUxCisob3B0aW9uIHRvIGFzc2lnbiBhIGxpc3Qgb2YgdykzLjI1MSBGIC43NTEob3JkcyByZWFkKS0uMSBGIC41MDIKKyhmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCB0byBhbiBhcnJheSkxMDggNDAwLjggUiA1LjUwMiguVCktLjY1IEcoaGUpCistNS41MDIgRSBGMShzZXQpMy4wMDIgRSBGMChhbmQpMy4wMDIgRSBGMShkZWNsYXIpMy4wMDIgRShlKS0uMTggRSBGMCAtLjIKIChidSkzLjAwMiBHIC41MDIoaWx0aW5zIGRpc3BsYXkgYXJyYXkgdikuMiBGIC41MDIoYWx1ZXMgaW4gYSB3KS0uMjUgRgotLjUwMihheSB0aGF0IGFsbG8pLS4xIEYod3MpLS4yNSBFKHRoZW0gdG8gYmUgcmV1c2VkIGFzIGFzc2lnbm1lbnRzLikxMDgKLTIwMS42IFEvRjMgMTAuOTUvVGltZXMtQm9sZEAwIFNGKEVYUCk3MiAyMTguNCBRKEFOU0lPTiktLjgxIEUgRjAgLjc2KEV4XAorLjUwMyhheSB0aGF0IGFsbG8pLS4xIEYod3MpLS4yNSBFKHRoZW0gdG8gYmUgcmV1c2VkIGFzIGFzc2lnbm1lbnRzLikxMDgKKzQxMi44IFEvRjQgMTAuOTUvVGltZXMtQm9sZEAwIFNGKEVYUCk3MiA0MjkuNiBRKEFOU0lPTiktLjgxIEUgRjAgLjc2KEV4XAogcGFuc2lvbiBpcyBwZXJmb3JtZWQgb24gdGhlIGNvbW1hbmQgbGluZSBhZnRlciBpdCBoYXMgYmVlbiBzcGxpdCBpbnRvIHcpCi0xMDggMjMwLjQgUiAzLjI2KG9yZHMuIFRoZXJlKS0uMSBGIC43NihhcmUgc2UpMy4yNiBGIC0uMTUodmUpLS4yNSBHIDMuMjYKLShuaykuMTUgRyAuNzYoaW5kcyBvZiktMy4yNiBGIC0uMTUoZXgpMTA4IDI0Mi40IFMgLjM3Ci0ocGFuc2lvbiBwZXJmb3JtZWQ6KS4xNSBGIEYxKGJyKTIuODY5IEUgLjM2OShhY2UgZSktLjE1IEYoeHBhbnNpb24pLS4yIEUKLUYwKCwpLjI0IEUgRjEgLjM2OSh0aWxkZSBlKTIuODY5IEYoeHBhbnNpb24pLS4yIEUgRjAoLCkuMjQgRSBGMShwYXIpCi0yLjg2OSBFIC4zNjkoYW1ldGVyIGFuZCB2YXJpYWJsZSBlKS0uMTUgRih4cGFuc2lvbiktLjIgRSBGMCgsKS4yNCBFIEYxCi0uMzY5KGNvbW1hbmQgc3ViLSkyLjg2OSBGKHN0aXR1dGlvbikxMDggMjU0LjQgUSBGMCgsKS4yNCBFIEYxCi0oYXJpdGhtZXRpYyBlKTIuNSBFKHhwYW5zaW9uKS0uMiBFIEYwKCwpLjI0IEUgRjEod29yKTIuNSBFIDIuNShkcyktLjM3IEcKLShwbGl0dGluZyktMi41IEUgRjAgMi41KCxhKS4yMiBHKG5kKS0yLjUgRSBGMShwYXRobmFtZSBlKTIuNSBFKHhwYW5zaW9uKQotLS4yIEUgRjAoLikuMjQgRSAuNDcoVGhlIG9yZGVyIG9mIGUpMTA4IDI3MS4yIFIgLjQ3MQorMTA4IDQ0MS42IFIgMy4yNihvcmRzLiBUaGVyZSktLjEgRiAuNzYoYXJlIHNlKTMuMjYgRiAtLjE1KHZlKS0uMjUgRyAzLjI2CisobmspLjE1IEcgLjc2KGluZHMgb2YpLTMuMjYgRiAtLjE1KGV4KTEwOCA0NTMuNiBTIC4zNjkKKyhwYW5zaW9uIHBlcmZvcm1lZDopLjE1IEYgRjIoYnIpMi44NjkgRSAuMzY5KGFjZSBlKS0uMTUgRih4cGFuc2lvbiktLjIgRQorRjAoLCkuMjQgRSBGMiAuMzY5KHRpbGRlIGUpMi44NjkgRih4cGFuc2lvbiktLjIgRSBGMCgsKS4yNCBFIEYyKHBhcikKKzIuODY5IEUgLjM2OShhbWV0ZXIgYW5kIHZhcmlhYmxlIGUpLS4xNSBGKHhwYW5zaW9uKS0uMiBFIEYwKCwpLjI0IEUgRjIKKy4zNyhjb21tYW5kIHN1Yi0pMi44NjkgRihzdGl0dXRpb24pMTA4IDQ2NS42IFEgRjAoLCkuMjQgRSBGMgorKGFyaXRobWV0aWMgZSkyLjUgRSh4cGFuc2lvbiktLjIgRSBGMCgsKS4yNCBFIEYyKHdvcikyLjUgRSAyLjUoZHMpLS4zNyBHCisocGxpdHRpbmcpLTIuNSBFIEYwIDIuNSgsYSkuMjIgRyhuZCktMi41IEUgRjIocGF0aG5hbWUgZSkyLjUgRSh4cGFuc2lvbikKKy0uMiBFIEYwKC4pLjI0IEUgLjQ3MShUaGUgb3JkZXIgb2YgZSkxMDggNDgyLjQgUiAuNDcxCiAoeHBhbnNpb25zIGlzOiBicmFjZSBlKS0uMTUgRiAuNDcxKHhwYW5zaW9uLCB0aWxkZSBlKS0uMTUgRiAuNDcxCi0oeHBhbnNpb24sIHBhcmFtZXRlciktLjE1IEYgMi45NzEoLHYpLS40IEcgLjQ3MQotKGFyaWFibGUgYW5kIGFyaXRobWV0aWMgZSktMy4yMjEgRih4cGFuc2lvbiktLjE1IEUKLShhbmQgY29tbWFuZCBzdWJzdGl0dXRpb24gXChkb25lIGluIGEgbGVmdC10by1yaWdodCBmKTEwOCAyODMuMiBRCisoeHBhbnNpb24sIHBhcmFtZXRlciktLjE1IEYgMi45NzEoLHYpLS40IEcgLjQ3KGFyaWFibGUgYW5kIGFyaXRobWV0aWMgZSkKKy0zLjIyMSBGKHhwYW5zaW9uKS0uMTUgRQorKGFuZCBjb21tYW5kIHN1YnN0aXR1dGlvbiBcKGRvbmUgaW4gYSBsZWZ0LXRvLXJpZ2h0IGYpMTA4IDQ5NC40IFEKIChhc2hpb25cKSwgdyktLjEgRShvcmQgc3BsaXR0aW5nLCBhbmQgcGF0aG5hbWUgZSktLjEgRSh4cGFuc2lvbi4pLS4xNSBFCi0oT24gc3lzdGVtcyB0aGF0IGNhbiBzdXBwb3J0IGl0LCB0aGVyZSBpcyBhbiBhZGRpdGlvbmFsIGUpMTA4IDMwMCBRCi0oeHBhbnNpb24gYSktLjE1IEUgLS4yNSh2YSktLjIgRyhpbGFibGU6KS4yNSBFIEYxKHByKTIuNSBFCi0ob2Nlc3Mgc3Vic3RpdHV0aW9uKS0uNDUgRSBGMCguKUEgMS40ODcoT25seSBicmFjZSBlKTEwOCAzMTYuOCBSIDEuNDg3Ci0oeHBhbnNpb24sIHcpLS4xNSBGIDEuNDg3KG9yZCBzcGxpdHRpbmcsIGFuZCBwYXRobmFtZSBlKS0uMSBGIDEuNDg3Ci0oeHBhbnNpb24gY2FuIGNoYW5nZSB0aGUgbnVtYmVyIG9mIHcpLS4xNSBGIDEuNDg2KG9yZHMgb2YgdGhlKS0uMSBGIC0uMTUKLShleCkxMDggMzI4LjggUyAxLjE2NChwYW5zaW9uOyBvdGhlciBlKS4xNSBGIDEuMTY0KHhwYW5zaW9ucyBlKS0uMTUgRgotMS4xNjQoeHBhbmQgYSBzaW5nbGUgdyktLjE1IEYgMS4xNjUob3JkIHRvIGEgc2luZ2xlIHcpLS4xIEYgMy42NjUKLShvcmQuIFRoZSktLjEgRiAxLjE2NShvbmx5IGUpMy42NjUgRiAxLjE2NSh4Y2VwdGlvbnMgdG8gdGhpcyBhcmUgdGhlKQotLS4xNSBGIC0uMTUoZXgpMTA4IDM0MC44IFMocGFuc2lvbnMgb2YgIikuMTUgRSBGMigkQClBIEYwIDIuNSgiYSlDKG5kICIpCi0tMi41IEUgRjIoJHspQSBGMShuYW1lKUEgRjIoW0BdfSlBIEYwIDIuNSgiYSlDIDIuNShzZSktMi41IEcKLSh4cGxhaW5lZCBhYm8pLTIuNjUgRSAuMyAtLjE1KHZlIFwoKS0uMTUgSChzZWUpLjE1IEUvRjQgOS9UaW1lcy1Cb2xkQDAKLVNGIC0uNjY2KFBBKTIuNSBHKFJBTUVURVJTKS42NjYgRS9GNSA5L1RpbWVzLVJvbWFuQDAgU0YoXCkuKUEgRjIKLShCcmFjZSBFeHBhbnNpb24pODcgMzU3LjYgUSBGMShCcikxMDguNTggMzY5LjYgUSAuNjA2KGFjZSBlKS0uMTUgRgotKHhwYW5zaW9uKS0uMiBFIEYwIC42MDYKKyhPbiBzeXN0ZW1zIHRoYXQgY2FuIHN1cHBvcnQgaXQsIHRoZXJlIGlzIGFuIGFkZGl0aW9uYWwgZSkxMDggNTExLjIgUQorKHhwYW5zaW9uIGEpLS4xNSBFIC0uMjUodmEpLS4yIEcoaWxhYmxlOikuMjUgRSBGMihwcikyLjUgRQorKG9jZXNzIHN1YnN0aXR1dGlvbiktLjQ1IEUgRjAoLilBIDEuNDg2KE9ubHkgYnJhY2UgZSkxMDggNTI4IFIgMS40ODYKKyh4cGFuc2lvbiwgdyktLjE1IEYgMS40ODYob3JkIHNwbGl0dGluZywgYW5kIHBhdGhuYW1lIGUpLS4xIEYgMS40ODcKKyh4cGFuc2lvbiBjYW4gY2hhbmdlIHRoZSBudW1iZXIgb2YgdyktLjE1IEYgMS40ODcob3JkcyBvZiB0aGUpLS4xIEYgLS4xNQorKGV4KTEwOCA1NDAgUyAxLjE2NShwYW5zaW9uOyBvdGhlciBlKS4xNSBGIDEuMTY1KHhwYW5zaW9ucyBlKS0uMTUgRgorMS4xNjUoeHBhbmQgYSBzaW5nbGUgdyktLjE1IEYgMS4xNjUob3JkIHRvIGEgc2luZ2xlIHcpLS4xIEYgMy42NjUKKyhvcmQuIFRoZSktLjEgRiAxLjE2NChvbmx5IGUpMy42NjUgRiAxLjE2NCh4Y2VwdGlvbnMgdG8gdGhpcyBhcmUgdGhlKQorLS4xNSBGIC0uMTUoZXgpMTA4IDU1MiBTKHBhbnNpb25zIG9mICIpLjE1IEUgRjEoJEApQSBGMCAyLjUoImEpQyhuZCAiKQorLTIuNSBFIEYxKCR7KUEgRjIobmFtZSlBIEYxKFtAXX0pQSBGMCAyLjUoImEpQyAyLjUoc2UpLTIuNSBHCisoeHBsYWluZWQgYWJvKS0yLjY1IEUgLjMgLS4xNSh2ZSBcKCktLjE1IEgoc2VlKS4xNSBFIEYzIC0uNjY2KFBBKTIuNSBHCisoUkFNRVRFUlMpLjY2NiBFL0Y1IDkvVGltZXMtUm9tYW5AMCBTRihcKS4pQSBGMShCcmFjZSBFeHBhbnNpb24pODcgNTY4LjgKK1EgRjIoQnIpMTA4LjU4IDU4MC44IFEgLjYwNihhY2UgZSktLjE1IEYoeHBhbnNpb24pLS4yIEUgRjAgLjYwNgogKGlzIGEgbWVjaGFuaXNtIGJ5IHdoaWNoIGFyYml0cmFyeSBzdHJpbmdzIG1heSBiZSBnZW5lcmF0ZWQuKTMuMzQ2IEYKLS42MDYoVGhpcyBtZWNoYW5pc20gaXMgc2ltaWxhcik1LjYwNiBGKHRvKTEwOCAzODEuNiBRIEYxIC40MTUKKy42MDYoVGhpcyBtZWNoYW5pc20gaXMgc2ltaWxhcik1LjYwNiBGKHRvKTEwOCA1OTIuOCBRIEYyIC40MTUKIChwYXRobmFtZSBlKTIuOTE1IEYoeHBhbnNpb24pLS4yIEUgRjAgMi45MTUoLGIpQyAuNDE1CiAodXQgdGhlIFwyMTRsZW5hbWVzIGdlbmVyYXRlZCBuZWVkIG5vdCBlKS0zLjExNSBGIDIuOTE1KHhpc3QuIFApLS4xNSBGCiAuNDE1KGF0dGVybnMgdG8gYmUgYnJhY2UgZSktLjE1IEYgLjQxNSh4cGFuZGVkIHRhayktLjE1IEYgMi45MTUoZXQpLS4xIEcKLShoZSktMi45MTUgRSAuMTUyKGZvcm0gb2YgYW4gb3B0aW9uYWwpMTA4IDM5My42IFIgRjEocHIpMi42NTIgRShlYW1ibGUpCisoaGUpLTIuOTE1IEUgLjE1MShmb3JtIG9mIGFuIG9wdGlvbmFsKTEwOCA2MDQuOCBSIEYyKHByKTIuNjUxIEUoZWFtYmxlKQogLS4zNyBFIEYwIDIuNjUxKCxmKS4xOCBHKG9sbG8pLTIuNjUxIEUgLjE1MQogKHdlZCBieSBlaXRoZXIgYSBzZXJpZXMgb2YgY29tbWEtc2VwYXJhdGVkIHN0cmluZ3Mgb3IgYSBzZXF1ZW5jZSBlKS0uMjUKLUYoeHByZXMtKS0uMTUgRSAuNTYzKHNpb24gYmV0d2VlbiBhIHBhaXIgb2YgYnJhY2VzLCBmb2xsbykxMDggNDA1LjYgUgotLjU2Myh3ZWQgYnkgYW4gb3B0aW9uYWwpLS4yNSBGIEYxKHBvc3RzY3JpcHQpMy4wNjMgRSBGMCA1LjU2MyguVCkuNjggRworRih4cHJlcy0pLS4xNSBFIC41NjMoc2lvbiBiZXR3ZWVuIGEgcGFpciBvZiBicmFjZXMsIGZvbGxvKTEwOCA2MTYuOCBSCisuNTYzKHdlZCBieSBhbiBvcHRpb25hbCktLjI1IEYgRjIocG9zdHNjcmlwdCkzLjA2MyBFIEYwIDUuNTYzKC5UKS42OCBHCiAuNTYzKGhlIHByZWFtYmxlIGlzIHByZVwyMTR4KS01LjU2MyBGIC41NjMoZWQgdG8gZWFjaCBzdHJpbmcpLS4xNSBGIC42NTkKIChjb250YWluZWQgd2l0aGluIHRoZSBicmFjZXMsIGFuZCB0aGUgcG9zdHNjcmlwdCBpcyB0aGVuIGFwcGVuZGVkIHRvIGVhXAotY2ggcmVzdWx0aW5nIHN0cmluZywgZSkxMDggNDE3LjYgUiAuNjU4KHhwYW5kaW5nIGxlZnQgdG8pLS4xNSBGKHJpZ2h0LikKLTEwOCA0MjkuNiBRIC43MTgoQnJhY2UgZSkxMDggNDQ2LjQgUiAuNzE5KHhwYW5zaW9ucyBtYXkgYmUgbmVzdGVkLiktLjE1CitjaCByZXN1bHRpbmcgc3RyaW5nLCBlKTEwOCA2MjguOCBSIC42NTkoeHBhbmRpbmcgbGVmdCB0byktLjE1IEYocmlnaHQuKQorMTA4IDY0MC44IFEgLjcxOShCcmFjZSBlKTEwOCA2NTcuNiBSIC43MTkoeHBhbnNpb25zIG1heSBiZSBuZXN0ZWQuKS0uMTUKIEYgLjcxOShUaGUgcmVzdWx0cyBvZiBlYWNoIGUpNS43MTkgRiAuNzE5CiAoeHBhbmRlZCBzdHJpbmcgYXJlIG5vdCBzb3J0ZWQ7IGxlZnQgdG8gcmlnaHQgb3JkZXIgaXMpLS4xNSBGKHByZXNlcnYpCi0xMDggNDU4LjQgUSAyLjUoZWQuIEYpLS4xNSBGKG9yIGUpLS4xNSBFKHhhbXBsZSwgYSktLjE1IEUgRjIoeylBIEYwCi0oZCxjLGIpQSBGMih9KUEgRjAgMi41KGVlKUMoeHBhbmRzIGludG8gYGFkZSBhY2UgYWJlJy4pLTIuNjUgRSAzLjI0MyhBcykKLTEwOCA0NzUuMiBTIC43NDMoZXF1ZW5jZSBlKS0zLjI0MyBGIC43NDMoeHByZXNzaW9uIHRhayktLjE1IEYgLjc0MwotKGVzIHRoZSBmb3JtKS0uMSBGIEYyKHspMy4yNDMgRSBGMSh4KUEgRjIoLi4pQSBGMSh5KUEgRjIoWy4uKUEgRjEoaW5jcilBCi1GMihdfSlBIEYwIDMuMjQzKCx3KUMoaGVyZSktMy4yNDMgRSBGMSh4KTMuMjQzIEUgRjAoYW5kKTMuMjQyIEUgRjEoeSkKLTMuMjQyIEUgRjAgLjc0MihhcmUgZWl0aGVyIGludGUpMy4yNDIgRiAuNzQyKGdlcnMgb3Igc2luZ2xlIGNoYXJhY3RlcnMsKQotLS4xNSBGKGFuZCkxMDggNDg3LjIgUSBGMShpbmNyKTMuMDMxIEUgRjAgMy4wMzEoLGEpQyAzLjAzMihubyktMy4wMzEgRworMTA4IDY2OS42IFEgMi41KGVkLiBGKS0uMTUgRihvciBlKS0uMTUgRSh4YW1wbGUsIGEpLS4xNSBFIEYxKHspQSBGMAorKGQsYyxiKUEgRjEofSlBIEYwIDIuNShlZSlDKHhwYW5kcyBpbnRvIGBhZGUgYWNlIGFiZScuKS0yLjY1IEUgMy4yNDIoQXMpCisxMDggNjg2LjQgUyAuNzQyKGVxdWVuY2UgZSktMy4yNDIgRiAuNzQyKHhwcmVzc2lvbiB0YWspLS4xNSBGIC43NDIKKyhlcyB0aGUgZm9ybSktLjEgRiBGMSh7KTMuMjQyIEUgRjIoeClBIEYxKC4uKUEgRjIoeSlBIEYxKFsuLilBIEYyKGluY3IpQQorRjEoXX0pQSBGMCAzLjI0MigsdylDKGhlcmUpLTMuMjQyIEUgRjIoeCkzLjI0MiBFIEYwKGFuZCkzLjI0MyBFIEYyKHkpCiszLjI0MyBFIEYwIC43NDMoYXJlIGVpdGhlciBpbnRlKTMuMjQzIEYgLjc0MyhnZXJzIG9yIHNpbmdsZSBjaGFyYWN0ZXJzLCkKKy0uMTUgRihhbmQpMTA4IDY5OC40IFEgRjIoaW5jcikzLjAzMiBFIEYwIDMuMDMyKCxhKUMgMy4wMzIobm8pLTMuMDMyIEcKIC41MzIocHRpb25hbCBpbmNyZW1lbnQsIGlzIGFuIGludGUpLTMuMDMyIEYoZ2VyKS0uMTUgRSA1LjUzMiguVyktLjU1IEcKIC41MzIoaGVuIGludGUpLTUuNTMyIEYgLjUzMihnZXJzIGFyZSBzdXBwbGllZCwgdGhlIGUpLS4xNSBGIC41MzIKLSh4cHJlc3Npb24gZSktLjE1IEYgLjUzMih4cGFuZHMgdG8gZWFjaCktLjE1IEYgLjA3OChudW1iZXIgYmV0d2VlbikxMDgKLTQ5OS4yIFIgRjEoeCkyLjU3OCBFIEYwKGFuZCkyLjU3OCBFIEYxKHkpMi41NzggRSBGMCAyLjU3OCgsaSlDKG5jbHVzaSkKLS0yLjU3OCBFIC0uMTUodmUpLS4yNSBHIDUuMDc4KC5TKS4xNSBHIC4wNzgodXBwbGllZCBpbnRlKS01LjA3OCBGIC4wNzcKLShnZXJzIG1heSBiZSBwcmVcMjE0eCktLjE1IEYgLjA3NyhlZCB3aXRoKS0uMTUgRiBGMSgwKTIuNTc3IEUgRjAgLjA3NwotKHRvIGZvcmNlIGVhY2ggdGVybSB0byBoYSkyLjU3NyBGIC4zNzcgLS4xNSh2ZSB0KS0uMiBIKGhlKS4xNSBFIC4wMTQKLShzYW1lIHdpZHRoLikxMDggNTExLjIgUiAuMDE0KFdoZW4gZWl0aGVyKTUuMDE0IEYgRjEoeCkyLjUxNCBFIEYwKG9yKQotMi41MTQgRSBGMSh5KTIuNTE0IEUgRjAoYmUpMi41MTQgRSAuMDE1KGdpbnMgd2l0aCBhIHplcm8sIHRoZSBzaGVsbCBhdHRcCi1lbXB0cyB0byBmb3JjZSBhbGwgZ2VuZXJhdGVkIHRlcm1zIHRvIGNvbnRhaW4pLS4xNSBGIDEuMTQzCi0odGhlIHNhbWUgbnVtYmVyIG9mIGRpZ2l0cywgemVyby1wYWRkaW5nIHdoZXJlIG5lY2Vzc2FyeSkxMDggNTIzLjIgUgotNi4xNDMoLlcpLS42NSBHIDEuMTQzKGhlbiBjaGFyYWN0ZXJzIGFyZSBzdXBwbGllZCwgdGhlIGUpLTYuMTQzIEYKLSh4cHJlc3Npb24pLS4xNSBFIC0uMTUoZXgpMTA4IDUzNS4yIFMgLjU0MShwYW5kcyB0byBlYWNoIGNoYXJhY3RlciBsZSkKLS4xNSBGIC41NDEoeGljb2dyYXBoaWNhbGx5IGJldHdlZW4pLS4xNSBGIEYxKHgpMy4wNDEgRSBGMChhbmQpMy4wNDIgRSBGMQotKHkpMy4wNDIgRSBGMCAzLjA0MigsaSlDKG5jbHVzaSktMy4wNDIgRSAtLjE1KHZlKS0uMjUgRyA1LjU0MiguTikuMTUgRwotLjU0MihvdGUgdGhhdCBib3RoKS01LjU0MiBGIEYxKHgpMy4wNDIgRSBGMChhbmQpMy4wNDIgRSBGMSh5KTMuMDQyIEUgRjAKLS41NDIobXVzdCBiZSBvZikzLjA0MiBGIC4xODModGhlIHNhbWUgdHlwZS4pMTA4IDU0Ny4yIFIgLjE4MgotKFdoZW4gdGhlIGluY3JlbWVudCBpcyBzdXBwbGllZCwgaXQgaXMgdXNlZCBhcyB0aGUgZGlmKTUuMTgzIEYgLjE4MgotKGZlcmVuY2UgYmV0d2VlbiBlYWNoIHRlcm0uKS0uMjUgRiAuMTgyKFRoZSBkZWYpNS4xODIgRihhdWx0KS0uMSBFCi0oaW5jcmVtZW50IGlzIDEgb3IgLTEgYXMgYXBwcm9wcmlhdGUuKTEwOCA1NTkuMiBRIC41ODEoQnJhY2UgZSkxMDggNTc2IFIKLS41ODEoeHBhbnNpb24gaXMgcGVyZm9ybWVkIGJlZm9yZSBhbiktLjE1IEYgMy4wODEoeW8pLS4xNSBHIC41ODEodGhlciBlKQotLTMuMDgxIEYgLjU4MSh4cGFuc2lvbnMsIGFuZCBhbiktLjE1IEYgMy4wODIoeWMpLS4xNSBHIC41ODIKLShoYXJhY3RlcnMgc3BlY2lhbCB0byBvdGhlciBlKS0zLjA4MiBGKHhwYW5zaW9ucyktLjE1IEUgLjAxNgotKGFyZSBwcmVzZXJ2KTEwOCA1ODggUiAuMDE2KGVkIGluIHRoZSByZXN1bHQuKS0uMTUgRiAuMDE2Ci0oSXQgaXMgc3RyaWN0bHkgdGUpNS4wMTYgRih4dHVhbC4pLS4xNSBFIEYyKEJhc2gpNS4wMTYgRSBGMCAuMDE1Ci0oZG9lcyBub3QgYXBwbHkgYW4pMi41MTYgRiAyLjUxNSh5cyktLjE1IEcgLjAxNQotKHludGFjdGljIGludGVycHJldGF0aW9uIHRvIHRoZSBjb24tKS0yLjUxNSBGKHRlKTEwOCA2MDAgUSh4dCBvZiB0aGUgZSkKLS0uMTUgRSh4cGFuc2lvbiBvciB0aGUgdGUpLS4xNSBFKHh0IGJldHdlZW4gdGhlIGJyYWNlcy4pLS4xNSBFIDMuNjMyKEFjKQotMTA4IDYxNi44IFMgMS4xMzIob3JyZWN0bHktZm9ybWVkIGJyYWNlIGUpLTMuNjMyIEYgMS4xMzIoeHBhbnNpb24gbXVzdCBcCi1jb250YWluIHVucXVvdGVkIG9wZW5pbmcgYW5kIGNsb3NpbmcgYnJhY2VzLCBhbmQgYXQgbGVhc3Qgb25lKS0uMTUgRgotMy40NDEodW5xdW90ZWQgY29tbWEgb3IgYSB2KTEwOCA2MjguOCBSIDMuNDQxKGFsaWQgc2VxdWVuY2UgZSktLjI1IEYKLTUuOTQxKHhwcmVzc2lvbi4gQW4pLS4xNSBGIDUuOTQxKHlpKS0uMTUgRyAzLjQ0MQotKG5jb3JyZWN0bHkgZm9ybWVkIGJyYWNlIGUpLTUuOTQxIEYgMy40NCh4cGFuc2lvbiBpcyBsZWZ0KS0uMTUgRiAyLjc1NQotKHVuY2hhbmdlZC4gQSkxMDggNjQwLjggUiBGMih7KTIuNzU1IEUgRjAob3IpMi43NTUgRSBGMigsKTIuNzU1IEUgRjAKLS4yNTUobWF5IGJlIHF1b3RlZCB3aXRoIGEgYmFja3NsYXNoIHRvIHByZSkyLjc1NSBGIC0uMTUodmUpLS4yNSBHIC4yNTUKLShudCBpdHMgYmVpbmcgY29uc2lkZXJlZCBwYXJ0IG9mIGEgYnJhY2UgZSkuMTUgRih4cHJlcy0pLS4xNSBFIDIuOTExCi0oc2lvbi4gVCkxMDggNjUyLjggUiAyLjkxMShvYSktLjggRyAtLjIodm8pLTMuMTExIEcgLjQxMQotKGlkIGNvblwyMTVpY3RzIHdpdGggcGFyYW1ldGVyIGUpLjIgRiAuNDExKHhwYW5zaW9uLCB0aGUgc3RyaW5nKS0uMTUgRgotRjIoJHspMi45MTEgRSBGMCAuNDEoaXMgbm90IGNvbnNpZGVyZWQgZWxpZ2libGUgZm9yIGJyYWNlIGUpMi45MTEgRgotKHhwYW4tKS0uMTUgRShzaW9uLikxMDggNjY0LjggUSAxLjQ3NihUaGlzIGNvbnN0cnVjdCBpcyB0eXBpY2FsbHkgdXNlZCBcCi1hcyBzaG9ydGhhbmQgd2hlbiB0aGUgY29tbW9uIHByZVwyMTR4IG9mIHRoZSBzdHJpbmdzIHRvIGJlIGdlbmVyYXRlZCBpcykKLTEwOCA2ODEuNiBSKGxvbmdlciB0aGFuIGluIHRoZSBhYm8pMTA4IDY5My42IFEgLjMgLS4xNSh2ZSBleCktLjE1IEgKLShhbXBsZTopLjE1IEUobWtkaXIgL3Vzci9sb2NhbC9zcmMvYmFzaC97b2xkLG5lKTE0NCA3MTAuNCBRIC0uNjUodywpLS4yNQotRyhkaXN0LGIpLjY1IEUodWdzfSktLjIgRShvcikxMDggNzIyLjQgUShHTlUgQmFzaC00LjApNzIgNzY4IFEKLSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUoMTcpMTkwLjk1IEUgMCBDZyBFUAorKHhwcmVzc2lvbiBlKS0uMTUgRiAuNTMxKHhwYW5kcyB0byBlYWNoKS0uMTUgRiAuMDc3KG51bWJlciBiZXR3ZWVuKTEwOAorNzEwLjQgUiBGMih4KTIuNTc3IEUgRjAoYW5kKTIuNTc3IEUgRjIoeSkyLjU3NyBFIEYwIDIuNTc3KCxpKUMobmNsdXNpKQorLTIuNTc3IEUgLS4xNSh2ZSktLjI1IEcgNS4wNzcoLlMpLjE1IEcgLjA3Nyh1cHBsaWVkIGludGUpLTUuMDc3IEYgLjA3NworKGdlcnMgbWF5IGJlIHByZVwyMTR4KS0uMTUgRiAuMDc3KGVkIHdpdGgpLS4xNSBGIEYyKDApMi41NzcgRSBGMCAuMDc4CisodG8gZm9yY2UgZWFjaCB0ZXJtIHRvIGhhKTIuNTc4IEYgLjM3OCAtLjE1KHZlIHQpLS4yIEgoaGUpLjE1IEUgLjAxNQorKHNhbWUgd2lkdGguKTEwOCA3MjIuNCBSIC4wMTUoV2hlbiBlaXRoZXIpNS4wMTUgRiBGMih4KTIuNTE1IEUgRjAob3IpCisyLjUxNSBFIEYyKHkpMi41MTUgRSBGMChiZSkyLjUxNSBFIC4wMTQoZ2lucyB3aXRoIGEgemVybywgdGhlIHNoZWxsIGF0dFwKK2VtcHRzIHRvIGZvcmNlIGFsbCBnZW5lcmF0ZWQgdGVybXMgdG8gY29udGFpbiktLjE1IEYoR05VIEJhc2gtNC4xKTcyIDc2OAorUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgxNykxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiAxOCAxOAogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRShjaG8pMTQ0IDg0IFEod24gcm9vdCAvdXNyL3t1Y2Ive2UpLS4yNSBFKHgsZWRpdH0sbGliL3tlKS0uMTUgRQotKHg/Lj8qLGhvKS0uMTUgRSh3X2UpLS4yNSBFKHh9fSktLjE1IEUgLjYxOChCcmFjZSBlKTEwOCAxMDAuOCBSIC42MTgKKy0uMzUgRSAxLjE0Myh0aGUgc2FtZSBudW1iZXIgb2YgZGlnaXRzLCB6ZXJvLXBhZGRpbmcgd2hlcmUgbmVjZXNzYXJ5KTEwOAorODQgUiA2LjE0MyguVyktLjY1IEcgMS4xNDMoaGVuIGNoYXJhY3RlcnMgYXJlIHN1cHBsaWVkLCB0aGUgZSktNi4xNDMgRgorKHhwcmVzc2lvbiktLjE1IEUgLS4xNShleCkxMDggOTYgUyAuNTQyKHBhbmRzIHRvIGVhY2ggY2hhcmFjdGVyIGxlKS4xNSBGCisuNTQyKHhpY29ncmFwaGljYWxseSBiZXR3ZWVuKS0uMTUgRi9GMSAxMC9UaW1lcy1JdGFsaWNAMCBTRih4KTMuMDQyIEUgRjAKKyhhbmQpMy4wNDIgRSBGMSh5KTMuMDQyIEUgRjAgMy4wNDIoLGkpQyhuY2x1c2kpLTMuMDQyIEUgLS4xNSh2ZSktLjI1IEcKKzUuNTQyKC5OKS4xNSBHIC41NDIob3RlIHRoYXQgYm90aCktNS41NDIgRiBGMSh4KTMuMDQxIEUgRjAoYW5kKTMuMDQxIEUKK0YxKHkpMy4wNDEgRSBGMCAuNTQxKG11c3QgYmUgb2YpMy4wNDEgRiAuMTgyKHRoZSBzYW1lIHR5cGUuKTEwOCAxMDggUgorLjE4MihXaGVuIHRoZSBpbmNyZW1lbnQgaXMgc3VwcGxpZWQsIGl0IGlzIHVzZWQgYXMgdGhlIGRpZik1LjE4MiBGIC4xODMKKyhmZXJlbmNlIGJldHdlZW4gZWFjaCB0ZXJtLiktLjI1IEYgLjE4MyhUaGUgZGVmKTUuMTgzIEYoYXVsdCktLjEgRQorKGluY3JlbWVudCBpcyAxIG9yIC0xIGFzIGFwcHJvcHJpYXRlLikxMDggMTIwIFEgLjU4MihCcmFjZSBlKTEwOCAxMzYuOCBSCisuNTgyKHhwYW5zaW9uIGlzIHBlcmZvcm1lZCBiZWZvcmUgYW4pLS4xNSBGIDMuMDgyKHlvKS0uMTUgRyAuNTgxKHRoZXIgZSkKKy0zLjA4MiBGIC41ODEoeHBhbnNpb25zLCBhbmQgYW4pLS4xNSBGIDMuMDgxKHljKS0uMTUgRyAuNTgxCisoaGFyYWN0ZXJzIHNwZWNpYWwgdG8gb3RoZXIgZSktMy4wODEgRih4cGFuc2lvbnMpLS4xNSBFIC4wMTUKKyhhcmUgcHJlc2VydikxMDggMTQ4LjggUiAuMDE1KGVkIGluIHRoZSByZXN1bHQuKS0uMTUgRiAuMDE1CisoSXQgaXMgc3RyaWN0bHkgdGUpNS4wMTUgRih4dHVhbC4pLS4xNSBFL0YyIDEwL1RpbWVzLUJvbGRAMCBTRihCYXNoKQorNS4wMTYgRSBGMCAuMDE2KGRvZXMgbm90IGFwcGx5IGFuKTIuNTE2IEYgMi41MTYoeXMpLS4xNSBHIC4wMTYKKyh5bnRhY3RpYyBpbnRlcnByZXRhdGlvbiB0byB0aGUgY29uLSktMi41MTYgRih0ZSkxMDggMTYwLjggUQorKHh0IG9mIHRoZSBlKS0uMTUgRSh4cGFuc2lvbiBvciB0aGUgdGUpLS4xNSBFKHh0IGJldHdlZW4gdGhlIGJyYWNlcy4pCistLjE1IEUgMy42MzMoQWMpMTA4IDE3Ny42IFMgMS4xMzMob3JyZWN0bHktZm9ybWVkIGJyYWNlIGUpLTMuNjMzIEYgMS4xMzIKKyh4cGFuc2lvbiBtdXN0IGNvbnRhaW4gdW5xdW90ZWQgb3BlbmluZyBhbmQgY2xvc2luZyBicmFjZXMsIGFuZCBhdCBsZWFzXAordCBvbmUpLS4xNSBGIDMuNDQodW5xdW90ZWQgY29tbWEgb3IgYSB2KTEwOCAxODkuNiBSIDMuNDQxCisoYWxpZCBzZXF1ZW5jZSBlKS0uMjUgRiA1Ljk0MSh4cHJlc3Npb24uIEFuKS0uMTUgRiA1Ljk0MSh5aSktLjE1IEcgMy40NDEKKyhuY29ycmVjdGx5IGZvcm1lZCBicmFjZSBlKS01Ljk0MSBGIDMuNDQxKHhwYW5zaW9uIGlzIGxlZnQpLS4xNSBGIDIuNzU1CisodW5jaGFuZ2VkLiBBKTEwOCAyMDEuNiBSIEYyKHspMi43NTUgRSBGMChvcikyLjc1NSBFIEYyKCwpMi43NTUgRSBGMAorLjI1NShtYXkgYmUgcXVvdGVkIHdpdGggYSBiYWNrc2xhc2ggdG8gcHJlKTIuNzU1IEYgLS4xNSh2ZSktLjI1IEcgLjI1NQorKG50IGl0cyBiZWluZyBjb25zaWRlcmVkIHBhcnQgb2YgYSBicmFjZSBlKS4xNSBGKHhwcmVzLSktLjE1IEUgMi45MQorKHNpb24uIFQpMTA4IDIxMy42IFIgMi45MShvYSktLjggRyAtLjIodm8pLTMuMTEgRyAuNDEKKyhpZCBjb25cMjE1aWN0cyB3aXRoIHBhcmFtZXRlciBlKS4yIEYgLjQxMSh4cGFuc2lvbiwgdGhlIHN0cmluZyktLjE1IEYKK0YyKCR7KTIuOTExIEUgRjAgLjQxMShpcyBub3QgY29uc2lkZXJlZCBlbGlnaWJsZSBmb3IgYnJhY2UgZSkyLjkxMSBGCisoeHBhbi0pLS4xNSBFKHNpb24uKTEwOCAyMjUuNiBRIDEuNDc2KFRoaXMgY29uc3RydWN0IGlzIHR5cGljYWxseSB1c2VkIFwKK2FzIHNob3J0aGFuZCB3aGVuIHRoZSBjb21tb24gcHJlXDIxNHggb2YgdGhlIHN0cmluZ3MgdG8gYmUgZ2VuZXJhdGVkIGlzKQorMTA4IDI0Mi40IFIobG9uZ2VyIHRoYW4gaW4gdGhlIGFibykxMDggMjU0LjQgUSAuMyAtLjE1KHZlIGV4KS0uMTUgSAorKGFtcGxlOikuMTUgRShta2RpciAvdXNyL2xvY2FsL3NyYy9iYXNoL3tvbGQsbmUpMTQ0IDI3MS4yIFEgLS42NSh3LCktLjI1CitHKGRpc3QsYikuNjUgRSh1Z3N9KS0uMiBFKG9yKTEwOCAyODMuMiBRKGNobykxNDQgMjk1LjIgUQorKHduIHJvb3QgL3Vzci97dWNiL3tlKS0uMjUgRSh4LGVkaXR9LGxpYi97ZSktLjE1IEUoeD8uPyosaG8pLS4xNSBFKHdfZSkKKy0uMjUgRSh4fX0pLS4xNSBFIC42MTgoQnJhY2UgZSkxMDggMzEyIFIgLjYxOAogKHhwYW5zaW9uIGludHJvZHVjZXMgYSBzbGlnaHQgaW5jb21wYXRpYmlsaXR5IHdpdGggaGlzdG9yaWNhbCB2KS0uMTUgRgotLjYxOChlcnNpb25zIG9mKS0uMTUgRi9GMSAxMC9UaW1lcy1Cb2xkQDAgU0Yoc2gpMy4xMTggRSBGMCguKUEgRjEoc2gpCi01LjYxOCBFIEYwIC42MTgoZG9lcyBub3QgdHJlYXQgb3Blbi0pMy4xMTggRiAuMjQ3Ci0oaW5nIG9yIGNsb3NpbmcgYnJhY2VzIHNwZWNpYWxseSB3aGVuIHRoZSkxMDggMTEyLjggUiAyLjc0Nyh5YSktLjE1IEcKLS4yNDcocHBlYXIgYXMgcGFydCBvZiBhIHcpLTIuNzQ3IEYgLjI0OChvcmQsIGFuZCBwcmVzZXJ2KS0uMSBGIC4yNDgKLShlcyB0aGVtIGluIHRoZSBvdXRwdXQuKS0uMTUgRiBGMShCYXNoKTUuMjQ4IEUgRjAocmVtbykxMDggMTI0LjggUSAtLjE1CisuNjE4KGVyc2lvbnMgb2YpLS4xNSBGIEYyKHNoKTMuMTE4IEUgRjAoLilBIEYyKHNoKTUuNjE4IEUgRjAgLjYxOAorKGRvZXMgbm90IHRyZWF0IG9wZW4tKTMuMTE4IEYgLjI0OAorKGluZyBvciBjbG9zaW5nIGJyYWNlcyBzcGVjaWFsbHkgd2hlbiB0aGUpMTA4IDMyNCBSIDIuNzQ4KHlhKS0uMTUgRyAuMjQ3CisocHBlYXIgYXMgcGFydCBvZiBhIHcpLTIuNzQ4IEYgLjI0NyhvcmQsIGFuZCBwcmVzZXJ2KS0uMSBGIC4yNDcKKyhlcyB0aGVtIGluIHRoZSBvdXRwdXQuKS0uMTUgRiBGMihCYXNoKTUuMjQ3IEUgRjAocmVtbykxMDggMzM2IFEgLS4xNQogKHZlKS0uMTUgRyAzLjUzKHNiKS4xNSBHIDEuMDMocmFjZXMgZnJvbSB3KS0zLjUzIEYgMS4wMwogKG9yZHMgYXMgYSBjb25zZXF1ZW5jZSBvZiBicmFjZSBlKS0uMSBGIDMuNTMoeHBhbnNpb24uIEYpLS4xNSBGIDEuMDMKLShvciBlKS0uMTUgRiAxLjAzKHhhbXBsZSwgYSB3KS0uMTUgRiAxLjAzKG9yZCBlbnRlcmVkIHRvKS0uMSBGIEYxKHNoKQotMy41MyBFIEYwKGFzKTMuNTMgRS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihcMjE0bGV7MSwyfSkxMDggMTM2LjggUSBGMAotLjUxNChhcHBlYXJzIGlkZW50aWNhbGx5IGluIHRoZSBvdXRwdXQuKTMuMDE0IEYgLjUxNShUaGUgc2FtZSB3KTUuNTE1IEYKLS41MTUob3JkIGlzIG91dHB1dCBhcyktLjEgRiBGMiAuNTE1KFwyMTRsZTEgXDIxNGxlMik0LjkyNSBGIEYwIC41MTUKLShhZnRlciBlKTMuMDM1IEYgLjUxNSh4cGFuc2lvbiBieSktLjE1IEYgRjEoYmFzaCkzLjAxNSBFIEYwKC4pQSAuNDM3Ci0oSWYgc3RyaWN0IGNvbXBhdGliaWxpdHkgd2l0aCkxMDggMTQ4LjggUiBGMShzaCkyLjkzNiBFIEYwIC40MzYKLShpcyBkZXNpcmVkLCBzdGFydCkyLjkzNiBGIEYxKGJhc2gpMi45MzYgRSBGMCAuNDM2KHdpdGggdGhlKTIuOTM2IEYgRjEKLSgrQikyLjkzNiBFIEYwIC40MzYob3B0aW9uIG9yIGRpc2FibGUgYnJhY2UgZSkyLjkzNiBGIC40MzYKLSh4cGFuc2lvbiB3aXRoIHRoZSktLjE1IEYgRjEoK0IpMTA4IDE2MC44IFEgRjAob3B0aW9uIHRvIHRoZSkyLjUgRSBGMQotKHNldCkyLjUgRSBGMChjb21tYW5kIFwoc2VlKTIuNSBFL0YzIDkvVGltZXMtQm9sZEAwIFNGKFNIRUxMIEIpMi41IEUKLShVSUwpLS4wOSBFKFRJTiBDT01NQU5EUyktLjgyOCBFIEYwKGJlbG8pMi4yNSBFKHdcKS4pLS4yNSBFIEYxIC0uMTgoVGkpCi04NyAxNzcuNiBTKGxkZSBFeHBhbnNpb24pLjE4IEUgRjAgMS4wODYoSWYgYSB3KTEwOCAxODkuNiBSIDEuMDg2KG9yZCBiZSkKLS0uMSBGIDEuMDg2KGdpbnMgd2l0aCBhbiB1bnF1b3RlZCB0aWxkZSBjaGFyYWN0ZXIgXChgKS0uMTUgRiBGMSh+KUEgRjAKLTEuMDg3KCdcKSwgYWxsIG9mIHRoZSBjaGFyYWN0ZXJzIHByZWNlZGluZyB0aGUgXDIxNHJzdCB1bnF1b3RlZClCIC4xODUoXAotc2xhc2ggXChvciBhbGwgY2hhcmFjdGVycywgaWYgdGhlcmUgaXMgbm8gdW5xdW90ZWQgc2xhc2hcKSBhcmUgY29uc2lkZXJcCi1lZCBhKTEwOCAyMDEuNiBSIEYyKHRpbGRlLXByKTIuNjg1IEUoZVwyMTR4KS0uMzcgRSBGMCA1LjE4NSguSSlDIDIuNjg1Ci0oZm4pLTUuMTg1IEcgLjE4NShvbmUgb2YgdGhlIGNoYXJhY3RlcnMpLTIuNjg1IEYgLjcyNShpbiB0aGUgdGlsZGUtcHJlXAotXDIxNHggYXJlIHF1b3RlZCwgdGhlIGNoYXJhY3RlcnMgaW4gdGhlIHRpbGRlLXByZVwyMTR4IGZvbGxvKTEwOCAyMTMuNiBSCi0uNzI2KHdpbmcgdGhlIHRpbGRlIGFyZSB0cmVhdGVkIGFzIGEgcG9zc2libGUpLS4yNSBGIEYyKGxvKTEwOCAyMjUuNiBRCi0uNTIzKGdpbiBuYW1lKS0uMSBGIEYwIDUuNTIzKC5JKUMgMy4wMjMoZnQpLTUuNTIzIEcgLjUyMworKG9yIGUpLS4xNSBGIDEuMDMoeGFtcGxlLCBhIHcpLS4xNSBGIDEuMDMob3JkIGVudGVyZWQgdG8pLS4xIEYgRjIoc2gpCiszLjUzIEUgRjAoYXMpMy41MyBFIEYxKFwyMTRsZXsxLDJ9KTEwOCAzNDggUSBGMCAuNTE1CisoYXBwZWFycyBpZGVudGljYWxseSBpbiB0aGUgb3V0cHV0LikzLjAxNSBGIC41MTUoVGhlIHNhbWUgdyk1LjUxNSBGIC41MTUKKyhvcmQgaXMgb3V0cHV0IGFzKS0uMSBGIEYxIC41MTQoXDIxNGxlMSBcMjE0bGUyKTQuOTI1IEYgRjAgLjUxNChhZnRlciBlKQorMy4wMzQgRiAuNTE0KHhwYW5zaW9uIGJ5KS0uMTUgRiBGMihiYXNoKTMuMDE0IEUgRjAoLilBIC40MzYKKyhJZiBzdHJpY3QgY29tcGF0aWJpbGl0eSB3aXRoKTEwOCAzNjAgUiBGMihzaCkyLjkzNiBFIEYwIC40MzYKKyhpcyBkZXNpcmVkLCBzdGFydCkyLjkzNiBGIEYyKGJhc2gpMi45MzYgRSBGMCAuNDM2KHdpdGggdGhlKTIuOTM2IEYgRjIKKygrQikyLjkzNiBFIEYwIC40MzYob3B0aW9uIG9yIGRpc2FibGUgYnJhY2UgZSkyLjkzNiBGIC40MzcKKyh4cGFuc2lvbiB3aXRoIHRoZSktLjE1IEYgRjIoK0IpMTA4IDM3MiBRIEYwKG9wdGlvbiB0byB0aGUpMi41IEUgRjIoc2V0KQorMi41IEUgRjAoY29tbWFuZCBcKHNlZSkyLjUgRS9GMyA5L1RpbWVzLUJvbGRAMCBTRihTSEVMTCBCKTIuNSBFKFVJTCktLjA5CitFKFRJTiBDT01NQU5EUyktLjgyOCBFIEYwKGJlbG8pMi4yNSBFKHdcKS4pLS4yNSBFIEYyIC0uMTgoVGkpODcgMzg4LjggUworKGxkZSBFeHBhbnNpb24pLjE4IEUgRjAgMS4wODcoSWYgYSB3KTEwOCA0MDAuOCBSIDEuMDg3KG9yZCBiZSktLjEgRgorMS4wODcoZ2lucyB3aXRoIGFuIHVucXVvdGVkIHRpbGRlIGNoYXJhY3RlciBcKGApLS4xNSBGIEYyKH4pQSBGMCAxLjA4NgorKCdcKSwgYWxsIG9mIHRoZSBjaGFyYWN0ZXJzIHByZWNlZGluZyB0aGUgXDIxNHJzdCB1bnF1b3RlZClCIC4xODUoc2xhc2hcCisgXChvciBhbGwgY2hhcmFjdGVycywgaWYgdGhlcmUgaXMgbm8gdW5xdW90ZWQgc2xhc2hcKSBhcmUgY29uc2lkZXJlZCBhKQorMTA4IDQxMi44IFIgRjEodGlsZGUtcHIpMi42ODUgRShlXDIxNHgpLS4zNyBFIEYwIDUuMTg1KC5JKUMgMi42ODUoZm4pCistNS4xODUgRyAuMTg1KG9uZSBvZiB0aGUgY2hhcmFjdGVycyktMi42ODUgRiAuNzI2KGluIHRoZSB0aWxkZS1wcmVcMjE0eFwKKyBhcmUgcXVvdGVkLCB0aGUgY2hhcmFjdGVycyBpbiB0aGUgdGlsZGUtcHJlXDIxNHggZm9sbG8pMTA4IDQyNC44IFIgLjcyNQorKHdpbmcgdGhlIHRpbGRlIGFyZSB0cmVhdGVkIGFzIGEgcG9zc2libGUpLS4yNSBGIEYxKGxvKTEwOCA0MzYuOCBRIC41MjIKKyhnaW4gbmFtZSktLjEgRiBGMCA1LjUyMiguSSlDIDMuMDIyKGZ0KS01LjUyMiBHIC41MjIKIChoaXMgbG9naW4gbmFtZSBpcyB0aGUgbnVsbCBzdHJpbmcsIHRoZSB0aWxkZSBpcyByZXBsYWNlZCB3aXRoIHRoZSB2KQotLTMuMDIzIEYgLjUyMihhbHVlIG9mIHRoZSBzaGVsbCBwYXJhbWV0ZXIpLS4yNSBGIEYzKEhPTUUpMTA4IDIzNy42IFEvRjQKLTkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAoSWYpNC43ODYgRSBGMyhIT01FKTIuNzg2IEUgRjAgLjI4NwotKGlzIHVuc2V0LCB0aGUgaG9tZSBkaXJlY3Rvcnkgb2YgdGhlIHVzZXIgZSkyLjUzNiBGIC0uMTUoeGUpLS4xNSBHIC4yODcKLShjdXRpbmcgdGhlIHNoZWxsIGlzIHN1YnN0aXR1dGVkIGluc3RlYWQuKS4xNSBGKE90aGVyKTUuMjg3IEUoLSktLjIgRSh3XAorLTMuMDIyIEYgLjUyMyhhbHVlIG9mIHRoZSBzaGVsbCBwYXJhbWV0ZXIpLS4yNSBGIEYzKEhPTUUpMTA4IDQ0OC44IFEvRjQKKzkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAoSWYpNC43ODcgRSBGMyhIT01FKTIuNzg3IEUgRjAgLjI4NworKGlzIHVuc2V0LCB0aGUgaG9tZSBkaXJlY3Rvcnkgb2YgdGhlIHVzZXIgZSkyLjUzNyBGIC0uMTUoeGUpLS4xNSBHIC4yODYKKyhjdXRpbmcgdGhlIHNoZWxsIGlzIHN1YnN0aXR1dGVkIGluc3RlYWQuKS4xNSBGKE90aGVyKTUuMjg2IEUoLSktLjIgRSh3XAogaXNlLCB0aGUgdGlsZGUtcHJlXDIxNHggaXMgcmVwbGFjZWQgd2l0aCB0aGUgaG9tZSBkaXJlY3RvcnkgYXNzb2NpYXRlZCBcCi13aXRoIHRoZSBzcGVjaVwyMTRlZCBsb2dpbiBuYW1lLikxMDggMjQ5LjYgUSAuMDkzCi0oSWYgdGhlIHRpbGRlLXByZVwyMTR4IGlzIGEgYH4rJywgdGhlIHYpMTA4IDI2Ni40IFIgLjA5Mgord2l0aCB0aGUgc3BlY2lcMjE0ZWQgbG9naW4gbmFtZS4pMTA4IDQ2MC44IFEgLjA5MgorKElmIHRoZSB0aWxkZS1wcmVcMjE0eCBpcyBhIGB+KycsIHRoZSB2KTEwOCA0NzcuNiBSIC4wOTIKIChhbHVlIG9mIHRoZSBzaGVsbCB2KS0uMjUgRihhcmlhYmxlKS0uMjUgRSBGMyhQV0QpMi41OTIgRSBGMCAuMDkyCi0ocmVwbGFjZXMgdGhlIHRpbGRlLXByZVwyMTR4LikyLjM0MiBGIC4wOTIoSWYgdGhlIHRpbGRlLXByZVwyMTR4IGlzKQotNS4wOTIgRiAzLjQwMyhhYCkxMDggMjc4LjQgUyAuOTAzKH5cMjU1JywgdGhlIHYpLTMuNDAzIEYgLjkwMworKHJlcGxhY2VzIHRoZSB0aWxkZS1wcmVcMjE0eC4pMi4zNDIgRiAuMDkzKElmIHRoZSB0aWxkZS1wcmVcMjE0eCBpcykKKzUuMDkzIEYgMy40MDQoYWApMTA4IDQ4OS42IFMgLjkwNCh+XDI1NScsIHRoZSB2KS0zLjQwNCBGIC45MDQKIChhbHVlIG9mIHRoZSBzaGVsbCB2KS0uMjUgRihhcmlhYmxlKS0uMjUgRSBGMyhPTERQV0QpMy40MDQgRSBGNCgsKUEgRjAKLS45MDQoaWYgaXQgaXMgc2V0LCBpcyBzdWJzdGl0dXRlZC4pMy4xNTQgRiAuOTA0KElmIHRoZSBjaGFyYWN0ZXJzIGZvbGxvKQotNS45MDQgRiAuOTA0KHdpbmcgdGhlKS0uMjUgRiAxLjY0MgotKHRpbGRlIGluIHRoZSB0aWxkZS1wcmVcMjE0eCBjb25zaXN0IG9mIGEgbnVtYmVyKTEwOCAyOTAuNCBSIEYyKE4pNC4xNDIKLUUgRjAgNC4xNDIoLG8pQyAxLjY0MihwdGlvbmFsbHkgcHJlXDIxNHgpLTQuMTQyIEYgMS42NDEKLShlZCBieSBhIGArJyBvciBhIGBcMjU1JywgdGhlIHRpbGRlLXByZVwyMTR4IGlzKS0uMTUgRiAxLjQzNyhyZXBsYWNlZCB3XAorLjkwNChpZiBpdCBpcyBzZXQsIGlzIHN1YnN0aXR1dGVkLikzLjE1NCBGIC45MDMoSWYgdGhlIGNoYXJhY3RlcnMgZm9sbG8pCis1LjkwMyBGIC45MDMod2luZyB0aGUpLS4yNSBGIDEuNjQxCisodGlsZGUgaW4gdGhlIHRpbGRlLXByZVwyMTR4IGNvbnNpc3Qgb2YgYSBudW1iZXIpMTA4IDUwMS42IFIgRjEoTik0LjE0MQorRSBGMCA0LjE0MigsbylDIDEuNjQyKHB0aW9uYWxseSBwcmVcMjE0eCktNC4xNDIgRiAxLjY0MgorKGVkIGJ5IGEgYCsnIG9yIGEgYFwyNTUnLCB0aGUgdGlsZGUtcHJlXDIxNHggaXMpLS4xNSBGIDEuNDM4KHJlcGxhY2VkIHdcCiBpdGggdGhlIGNvcnJlc3BvbmRpbmcgZWxlbWVudCBmcm9tIHRoZSBkaXJlY3Rvcnkgc3RhY2ssIGFzIGl0IHcpMTA4Ci0zMDIuNCBSIDEuNDM4KG91bGQgYmUgZGlzcGxheWVkIGJ5IHRoZSktLjEgRiBGMShkaXJzKTMuOTM4IEUgRjAgLS4yKGJ1KQotMTA4IDMxNC40IFMgLjQ1NShpbHRpbiBpbikuMiBGIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAyLjk1NShkdykuMSBHCi0uNDU1KGl0aCB0aGUgdGlsZGUtcHJlXDIxNHggYXMgYW4gYXIpLTIuOTU1IEYgMi45NTQoZ3VtZW50LiBJZiktLjE4IEYKLS40NTQodGhlIGNoYXJhY3RlcnMgZm9sbG8pMi45NTQgRiAuNDU0Cis1MTMuNiBSIDEuNDM3KG91bGQgYmUgZGlzcGxheWVkIGJ5IHRoZSktLjEgRiBGMihkaXJzKTMuOTM3IEUgRjAgLS4yKGJ1KQorMTA4IDUyNS42IFMgLjQ1NChpbHRpbiBpbikuMiBGIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAyLjk1NChkdykuMSBHCisuNDU0KGl0aCB0aGUgdGlsZGUtcHJlXDIxNHggYXMgYW4gYXIpLTIuOTU0IEYgMi45NTQoZ3VtZW50LiBJZiktLjE4IEYKKy40NTQodGhlIGNoYXJhY3RlcnMgZm9sbG8pMi45NTQgRiAuNDU1CiAod2luZyB0aGUgdGlsZGUgaW4gdGhlIHRpbGRlLXByZVwyMTR4KS0uMjUgRgogKGNvbnNpc3Qgb2YgYSBudW1iZXIgd2l0aG91dCBhIGxlYWRpbmcgYCsnIG9yIGBcMjU1JywgYCsnIGlzIGFzc3VtZWQuKQotMTA4IDMyNi40IFEoSWYgdGhlIGxvZ2luIG5hbWUgaXMgaW4pMTA4IDM0My4yIFEgLS4yNSh2YSktLjQgRworMTA4IDUzNy42IFEoSWYgdGhlIGxvZ2luIG5hbWUgaXMgaW4pMTA4IDU1NC40IFEgLS4yNSh2YSktLjQgRwogKGxpZCwgb3IgdGhlIHRpbGRlIGUpLjI1IEUoeHBhbnNpb24gZiktLjE1IEUoYWlscywgdGhlIHcpLS4xIEUKLShvcmQgaXMgdW5jaGFuZ2VkLiktLjEgRSAuMTY2KEVhY2ggdikxMDggMzYwIFIgLjE2NworKG9yZCBpcyB1bmNoYW5nZWQuKS0uMSBFIC4xNjcoRWFjaCB2KTEwOCA1NzEuMiBSIC4xNjcKIChhcmlhYmxlIGFzc2lnbm1lbnQgaXMgY2hlY2spLS4yNSBGIC4xNjcoZWQgZm9yIHVucXVvdGVkIHRpbGRlLXByZVwyMTR4KQotLS4xIEYgLjE2NyhlcyBpbW1lZGlhdGVseSBmb2xsbyktLjE1IEYgLjE2Nyh3aW5nIGEpLS4yNSBGIEYxKDopMi42NjcgRQotRjAgLjE2NyhvciB0aGUgXDIxNHJzdCkyLjY2NyBGIEYxKD0pMi42NjcgRSBGMCA1LjE2NyguSSlDKG4pLTUuMTY3IEUKLS4yODIodGhlc2UgY2FzZXMsIHRpbGRlIGUpMTA4IDM3MiBSIC4yODIoeHBhbnNpb24gaXMgYWxzbyBwZXJmb3JtZWQuKQorLS4xIEYgLjE2NyhlcyBpbW1lZGlhdGVseSBmb2xsbyktLjE1IEYgLjE2Nyh3aW5nIGEpLS4yNSBGIEYyKDopMi42NjcgRQorRjAgLjE2NyhvciB0aGUgXDIxNHJzdCkyLjY2NyBGIEYyKD0pMi42NjYgRSBGMCA1LjE2NiguSSlDKG4pLTUuMTY2IEUKKy4yODEodGhlc2UgY2FzZXMsIHRpbGRlIGUpMTA4IDU4My4yIFIgLjI4Mih4cGFuc2lvbiBpcyBhbHNvIHBlcmZvcm1lZC4pCiAtLjE1IEYoQ29uc2VxdWVudGx5KTUuMjgyIEUgMi43ODIoLG8pLS42NSBHIC4yODIKIChuZSBtYXkgdXNlIFwyMTRsZSBuYW1lcyB3aXRoIHRpbGRlcyBpbiBhc3NpZ24tKS0yLjc4MiBGKG1lbnRzIHRvKTEwOAotMzg0IFEgRjMgLS42NjYoUEEpMi41IEcoVEgpLS4xODkgRSBGNCgsKUEgRjMoTUFJTFApMi4yNSBFIC0uODU1KEFUKS0uNjY2Ci1HKEgpLjg1NSBFIEY0KCwpQSBGMChhbmQpMi4yNSBFIEYzKENEUCkyLjUgRSAtLjg1NShBVCktLjY2NiBHKEgpLjg1NSBFCi1GNCgsKUEgRjAoYW5kIHRoZSBzaGVsbCBhc3NpZ25zIHRoZSBlKTIuMjUgRSh4cGFuZGVkIHYpLS4xNSBFKGFsdWUuKS0uMjUKLUUgRjEgLS4xKFBhKTg3IDQwMC44IFMocmFtZXRlciBFeHBhbnNpb24pLjEgRSBGMCAxLjYwNShUaGUgYCkxMDggNDEyLjggUgotRjEoJClBIEYwIDQuMTA1KCdjKUMgMS42MDUoaGFyYWN0ZXIgaW50cm9kdWNlcyBwYXJhbWV0ZXIgZSktNC4xMDUgRgotMS42MDYoeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBvciBhcml0aG1ldGljIGUpLS4xNSBGIDQuMTA2Ci0oeHBhbnNpb24uIFRoZSktLjE1IEYgLjQwNyhwYXJhbWV0ZXIgbmFtZSBvciBzeW1ib2wgdG8gYmUgZSkxMDggNDI0LjggUgotLjQwNyh4cGFuZGVkIG1heSBiZSBlbmNsb3NlZCBpbiBicmFjZXMsIHdoaWNoIGFyZSBvcHRpb25hbCBiKS0uMTUgRiAuNDA2Ci0odXQgc2VydiktLjIgRiAyLjkwNihldCktLjE1IEcgMi45MDYob3ApLTIuOTA2IEcocm8tKS0yLjkwNiBFIC4wMzIKLSh0ZWN0IHRoZSB2KTEwOCA0MzYuOCBSIC4wMzIoYXJpYWJsZSB0byBiZSBlKS0uMjUgRiAuMDMyCi0oeHBhbmRlZCBmcm9tIGNoYXJhY3RlcnMgaW1tZWRpYXRlbHkgZm9sbG8pLS4xNSBGIC4wMzMKLSh3aW5nIGl0IHdoaWNoIGNvdWxkIGJlIGludGVycHJldGVkIGFzIHBhcnQpLS4yNSBGKG9mIHRoZSBuYW1lLikxMDgKLTQ0OC44IFEgMS4xOQorNTk1LjIgUSBGMyAtLjY2NihQQSkyLjUgRyhUSCktLjE4OSBFIEY0KCwpQSBGMyhNQUlMUCkyLjI1IEUgLS44NTUoQVQpCistLjY2NiBHKEgpLjg1NSBFIEY0KCwpQSBGMChhbmQpMi4yNSBFIEYzKENEUCkyLjUgRSAtLjg1NShBVCktLjY2NiBHKEgpCisuODU1IEUgRjQoLClBIEYwKGFuZCB0aGUgc2hlbGwgYXNzaWducyB0aGUgZSkyLjI1IEUoeHBhbmRlZCB2KS0uMTUgRQorKGFsdWUuKS0uMjUgRSBGMiAtLjEoUGEpODcgNjEyIFMocmFtZXRlciBFeHBhbnNpb24pLjEgRSBGMCAxLjYwNihUaGUgYCkKKzEwOCA2MjQgUiBGMigkKUEgRjAgNC4xMDYoJ2MpQyAxLjYwNihoYXJhY3RlciBpbnRyb2R1Y2VzIHBhcmFtZXRlciBlKQorLTQuMTA2IEYgMS42MDUoeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBvciBhcml0aG1ldGljIGUpLS4xNSBGCis0LjEwNSh4cGFuc2lvbi4gVGhlKS0uMTUgRiAuNDA2KHBhcmFtZXRlciBuYW1lIG9yIHN5bWJvbCB0byBiZSBlKTEwOCA2MzYKK1IgLjQwNyh4cGFuZGVkIG1heSBiZSBlbmNsb3NlZCBpbiBicmFjZXMsIHdoaWNoIGFyZSBvcHRpb25hbCBiKS0uMTUgRgorLjQwNyh1dCBzZXJ2KS0uMiBGIDIuOTA3KGV0KS0uMTUgRyAyLjkwNyhvcCktMi45MDcgRyhyby0pLTIuOTA3IEUgLjAzMworKHRlY3QgdGhlIHYpMTA4IDY0OCBSIC4wMzMoYXJpYWJsZSB0byBiZSBlKS0uMjUgRiAuMDMzCisoeHBhbmRlZCBmcm9tIGNoYXJhY3RlcnMgaW1tZWRpYXRlbHkgZm9sbG8pLS4xNSBGIC4wMzIKKyh3aW5nIGl0IHdoaWNoIGNvdWxkIGJlIGludGVycHJldGVkIGFzIHBhcnQpLS4yNSBGKG9mIHRoZSBuYW1lLikxMDggNjYwCitRIDEuMTg5CiAoV2hlbiBicmFjZXMgYXJlIHVzZWQsIHRoZSBtYXRjaGluZyBlbmRpbmcgYnJhY2UgaXMgdGhlIFwyMTRyc3QgYCkxMDgKLTQ2NS42IFIgRjEofSlBIEYwIDMuNjg5KCduKUMgMS4xODkKLShvdCBlc2NhcGVkIGJ5IGEgYmFja3NsYXNoIG9yIHdpdGhpbiBhKS0zLjY4OSBGIDIuMTUKLShxdW90ZWQgc3RyaW5nLCBhbmQgbm90IHdpdGhpbiBhbiBlbWJlZGRlZCBhcml0aG1ldGljIGUpMTA4IDQ3Ny42IFIgMi4xNQotKHhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1dGlvbiwgb3IgcGFyYW1ldGVyKS0uMTUgRiAtLjE1KGV4KTEwOCA0ODkuNiBTCi0ocGFuc2lvbi4pLjE1IEUoJHspMTA4IDUwNi40IFEgRjIocGFyKUEoYW1ldGVyKS0uMTUgRSBGMCh9KUEgMS4yMDUKLShUaGUgdikxNDQgNTE4LjQgUiAxLjIwNShhbHVlIG9mKS0uMjUgRiBGMihwYXIpMy43MDUgRShhbWV0ZXIpLS4xNSBFIEYwCi0xLjIwNChpcyBzdWJzdGl0dXRlZC4pMy43MDUgRiAxLjIwNChUaGUgYnJhY2VzIGFyZSByZXF1aXJlZCB3aGVuKTYuMjA0IEYKLUYyKHBhcik0Ljk1NCBFKGFtZXRlciktLjE1IEUgRjAgMS4yMDQoaXMgYSBwb3NpdGlvbmFsKTQuNDM0IEYgLjI2NAotKHBhcmFtZXRlciB3aXRoIG1vcmUgdGhhbiBvbmUgZGlnaXQsIG9yIHdoZW4pMTQ0IDUzMC40IFIgRjIocGFyKTQuMDE0IEUKLShhbWV0ZXIpLS4xNSBFIEYwIC4yNjQoaXMgZm9sbG8pMy40OTQgRiAuMjY0Ci0od2VkIGJ5IGEgY2hhcmFjdGVyIHdoaWNoIGlzIG5vdCB0byktLjI1IEYKLShiZSBpbnRlcnByZXRlZCBhcyBwYXJ0IG9mIGl0cyBuYW1lLikxNDQgNTQyLjQgUSAxLjUwOQotKElmIHRoZSBcMjE0cnN0IGNoYXJhY3RlciBvZikxMDggNTU5LjIgUiBGMihwYXIpNC4wMDkgRShhbWV0ZXIpLS4xNSBFIEYwCi0xLjUwOShpcyBhbiBlKTQuMDA5IEYgMS41MDkoeGNsYW1hdGlvbiBwb2ludCwgYSBsZSktLjE1IEYgLS4xNSh2ZSktLjI1IEcKLTQuMDA5KGxvKS4xNSBHIDQuMDA4KGZ2KS00LjAwOSBHIDEuNTA4Ci0oYXJpYWJsZSBpbmRpcmVjdGlvbiBpcyBpbnRyb2R1Y2VkLiktNC4yNTggRiBGMShCYXNoKTEwOCA1NzEuMiBRIEYwIC4xMDYKLSh1c2VzIHRoZSB2KTIuNjA2IEYgLjEwNihhbHVlIG9mIHRoZSB2KS0uMjUgRiAuMTA2Ci0oYXJpYWJsZSBmb3JtZWQgZnJvbSB0aGUgcmVzdCBvZiktLjI1IEYgRjIocGFyKTIuNjA2IEUoYW1ldGVyKS0uMTUgRSBGMAotLjEwNihhcyB0aGUgbmFtZSBvZiB0aGUgdikyLjYwNiBGIC4xMDYoYXJpYWJsZTsgdGhpcyB2KS0uMjUgRihhcmktKS0uMjUKLUUgLjM1MihhYmxlIGlzIHRoZW4gZSkxMDggNTgzLjIgUiAuMzUyKHhwYW5kZWQgYW5kIHRoYXQgdiktLjE1IEYgLjM1MQotKGFsdWUgaXMgdXNlZCBpbiB0aGUgcmVzdCBvZiB0aGUgc3Vic3RpdHV0aW9uLCByYXRoZXIgdGhhbiB0aGUgdiktLjI1IEYKLS4zNTEoYWx1ZSBvZiktLjI1IEYgRjIocGFyKTIuODUxIEUoYW1lLSktLjE1IEUodGVyKTEwOCA1OTUuMiBRIEYwIDIuNTE5Ci0oaXRzZWxmLiBUaGlzKTIuNTE5IEYgLjAxOShpcyBrbm8pMi41MTkgRiAuMDE5KHduIGFzKS0uMjUgRiBGMihpbmRpcikKLTIuNTE5IEUgLjAxOShlY3QgZSktLjM3IEYoeHBhbnNpb24pLS4yIEUgRjAgNS4wMTkoLlQpQyAuMDE5KGhlIGUpLTUuMDE5Ci1GIC4wMih4Y2VwdGlvbnMgdG8gdGhpcyBhcmUgdGhlIGUpLS4xNSBGIC4wMih4cGFuc2lvbnMgb2YgJHshKS0uMTUgRiBGMgotKHByKUEoZVwyMTR4KS0uMzcgRSBGMCAuMDIoKn0gYW5kKUIoJHspMTA4IDYwNy4yIFEgRjEoISlBIEYyKG5hbWUpQSBGMAotKFspQSBGMihAKUEgRjAgLjc2MyhdfSBkZXNjcmliZWQgYmVsbylCIDQuNTYzIC0uNjUody4gVCktLjI1IEggLjc2MwotKGhlIGUpLjY1IEYgLjc2Myh4Y2xhbWF0aW9uIHBvaW50IG11c3QgaW1tZWRpYXRlbHkgZm9sbG8pLS4xNSBGIDMuMjYzCi0od3QpLS4yNSBHIC43NjMoaGUgbGVmdCBicmFjZSBpbiBvcmRlciB0byktMy4yNjMgRgotKGludHJvZHVjZSBpbmRpcmVjdGlvbi4pMTA4IDYxOS4yIFEgLjMzNChJbiBlYWNoIG9mIHRoZSBjYXNlcyBiZWxvKTEwOAotNjM2IFIgLS42NSh3LCktLjI1IEcgRjIod29yKTMuNDg0IEUoZCktLjM3IEUgRjAgLjMzNAotKGlzIHN1YmplY3QgdG8gdGlsZGUgZSkyLjgzNCBGIC4zMzQoeHBhbnNpb24sIHBhcmFtZXRlciBlKS0uMTUgRiAuMzM0Ci0oeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCktLjE1IEYoYW5kIGFyaXRobWV0aWMgZSkxMDggNjQ4IFEKLSh4cGFuc2lvbi4pLS4xNSBFIC42OTgoV2hlbiBub3QgcGVyZm9ybWluZyBzdWJzdHJpbmcgZSkxMDggNjY0LjggUiAuNjk4Ci0oeHBhbnNpb24sIHVzaW5nIHRoZSBmb3JtcyBkb2N1bWVudGVkIGJlbG8pLS4xNSBGIC0uNjUodywpLS4yNSBHIEYxCi0oYmFzaCkzLjg0OCBFIEYwIC42OTcodGVzdHMgZm9yIGEgcGFyYW1ldGVyKTMuMTk4IEYKLSh0aGF0IGlzIHVuc2V0IG9yIG51bGwuKTEwOCA2NzYuOCBRKE9taXR0aW5nIHRoZSBjb2xvbiByZXN1bHRzIGluIGEgdGVzXAotdCBvbmx5IGZvciBhIHBhcmFtZXRlciB0aGF0IGlzIHVuc2V0Lik1IEUoJHspMTA4IDY5My42IFEgRjIocGFyKUEKLShhbWV0ZXIpLS4xNSBFIEYxPDNhYWQ+QSBGMih3b3IpQShkKS0uMzcgRSBGMCh9KUEgRjEgLjcyMihVc2UgRGVmYXVsdCBWKQotMTQ0IDcwNS42IFIoYWx1ZXMpLS45MiBFIEYwIDUuNzIyKC5JKUMoZiktNS43MjIgRSBGMihwYXIpNC40NzIgRShhbWV0ZXIpCi0tLjE1IEUgRjAgLjcyMyhpcyB1bnNldCBvciBudWxsLCB0aGUgZSkzLjk1MiBGIC43MjMoeHBhbnNpb24gb2YpLS4xNSBGCi1GMih3b3IpMy41NjMgRShkKS0uMzcgRSBGMCAuNzIzKGlzIHN1YnN0aXR1dGVkLikzLjk5MyBGKE90aGVyKTUuNzIzIEUoLSkKLS0uMiBFKHdpc2UsIHRoZSB2KTE0NCA3MTcuNiBRKGFsdWUgb2YpLS4yNSBFIEYyKHBhcikzLjc1IEUoYW1ldGVyKS0uMTUgRQotRjAoaXMgc3Vic3RpdHV0ZWQuKTMuMjMgRShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFCi0oMTgpMTkwLjk1IEUgMCBDZyBFUAorNjc2LjggUiBGMih9KUEgRjAgMy42OSgnbilDIDEuMTkob3QgZXNjYXBlZCBieSBhIGJhY2tzbGFzaCBvciB3aXRoaW4gYSkKKy0zLjY5IEYgMi4xNShxdW90ZWQgc3RyaW5nLCBhbmQgbm90IHdpdGhpbiBhbiBlbWJlZGRlZCBhcml0aG1ldGljIGUpMTA4Cis2ODguOCBSIDIuMTUoeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBvciBwYXJhbWV0ZXIpLS4xNSBGIC0uMTUKKyhleCkxMDggNzAwLjggUyhwYW5zaW9uLikuMTUgRShHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkKKzEzNS45NjUgRSgxOCkxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiAxOSAxOQogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRSgkeykxMDggODQgUS9GMSAxMC9UaW1lcy1JdGFsaWNAMCBTRihwYXIpQShhbWV0ZXIpLS4xNSBFL0YyIDEwCi0vVGltZXMtQm9sZEAwIFNGKDo9KUEgRjEod29yKUEoZCktLjM3IEUgRjAofSlBIEYyIDIuMDA1Ci0oQXNzaWduIERlZmF1bHQgVikxNDQgOTYgUihhbHVlcyktLjkyIEUgRjAgNy4wMDUoLkkpQyhmKS03LjAwNSBFIEYxKHBhcikKLTUuNzU1IEUoYW1ldGVyKS0uMTUgRSBGMCAyLjAwNShpcyB1bnNldCBvciBudWxsLCB0aGUgZSk1LjIzNSBGIDIuMDA0Ci0oeHBhbnNpb24gb2YpLS4xNSBGIEYxKHdvcik0Ljg0NCBFKGQpLS4zNyBFIEYwIDIuMDA0KGlzIGFzc2lnbmVkIHRvKQotNS4yNzQgRiBGMShwYXIpMTQ0IDEwOCBRKGFtZXRlciktLjE1IEUgRjAgNS4yNzgoLlQpLjczIEcgLjI3OChoZSB2KQotLTUuMjc4IEYgLjI3OChhbHVlIG9mKS0uMjUgRiBGMShwYXIpNC4wMjggRShhbWV0ZXIpLS4xNSBFIEYwIC4yNzgKLShpcyB0aGVuIHN1YnN0aXR1dGVkLikzLjUwOCBGIC4yNzkKKy0uMzUgRSgkeykxMDggODQgUS9GMSAxMC9UaW1lcy1JdGFsaWNAMCBTRihwYXIpQShhbWV0ZXIpLS4xNSBFIEYwKH0pQQorMS4yMDQoVGhlIHYpMTQ0IDk2IFIgMS4yMDQoYWx1ZSBvZiktLjI1IEYgRjEocGFyKTMuNzA0IEUoYW1ldGVyKS0uMTUgRQorRjAgMS4yMDQoaXMgc3Vic3RpdHV0ZWQuKTMuNzA0IEYgMS4yMDQoVGhlIGJyYWNlcyBhcmUgcmVxdWlyZWQgd2hlbikKKzYuMjA0IEYgRjEocGFyKTQuOTU1IEUoYW1ldGVyKS0uMTUgRSBGMCAxLjIwNShpcyBhIHBvc2l0aW9uYWwpNC40MzUgRgorLjI2NChwYXJhbWV0ZXIgd2l0aCBtb3JlIHRoYW4gb25lIGRpZ2l0LCBvciB3aGVuKTE0NCAxMDggUiBGMShwYXIpNC4wMTQKK0UoYW1ldGVyKS0uMTUgRSBGMCAuMjY0KGlzIGZvbGxvKTMuNDk0IEYgLjI2NAorKHdlZCBieSBhIGNoYXJhY3RlciB3aGljaCBpcyBub3QgdG8pLS4yNSBGCisoYmUgaW50ZXJwcmV0ZWQgYXMgcGFydCBvZiBpdHMgbmFtZS4pMTQ0IDEyMCBRIC42ODUKKyhJZiB0aGUgXDIxNHJzdCBjaGFyYWN0ZXIgb2YpMTA4IDEzNi44IFIgRjEocGFyKTMuMTg1IEUoYW1ldGVyKS0uMTUgRSBGMAorLjY4NShpcyBhbiBlKTMuMTg1IEYgLjY4NSh4Y2xhbWF0aW9uIHBvaW50IFwoKS0uMTUgRi9GMiAxMC9UaW1lcy1Cb2xkQDAKK1NGKCEpQSBGMCAuNjg1KFwpLCBhIGxlKUIgLS4xNSh2ZSktLjI1IEcgMy4xODYobG8pLjE1IEcgMy4xODYoZnYpLTMuMTg2CitHIC42ODYoYXJpYWJsZSBpbmRpcmVjdGlvbiBpcyBpbnRyb2R1Y2VkLiktMy40MzYgRiBGMihCYXNoKTEwOCAxNDguOCBRCitGMCAuMTA2KHVzZXMgdGhlIHYpMi42MDYgRiAuMTA2KGFsdWUgb2YgdGhlIHYpLS4yNSBGIC4xMDYKKyhhcmlhYmxlIGZvcm1lZCBmcm9tIHRoZSByZXN0IG9mKS0uMjUgRiBGMShwYXIpMi42MDYgRShhbWV0ZXIpLS4xNSBFIEYwCisuMTA2KGFzIHRoZSBuYW1lIG9mIHRoZSB2KTIuNjA2IEYgLjEwNihhcmlhYmxlOyB0aGlzIHYpLS4yNSBGKGFyaS0pLS4yNQorRSAuMzUxKGFibGUgaXMgdGhlbiBlKTEwOCAxNjAuOCBSIC4zNTEoeHBhbmRlZCBhbmQgdGhhdCB2KS0uMTUgRiAuMzUyCisoYWx1ZSBpcyB1c2VkIGluIHRoZSByZXN0IG9mIHRoZSBzdWJzdGl0dXRpb24sIHJhdGhlciB0aGFuIHRoZSB2KS0uMjUgRgorLjM1MihhbHVlIG9mKS0uMjUgRiBGMShwYXIpMi44NTIgRShhbWUtKS0uMTUgRSh0ZXIpMTA4IDE3Mi44IFEgRjAgMi41MgorKGl0c2VsZi4gVGhpcykyLjUyIEYgLjAyKGlzIGtubykyLjUyIEYgLjAyKHduIGFzKS0uMjUgRiBGMShpbmRpcikyLjUyIEUKKy4wMihlY3QgZSktLjM3IEYoeHBhbnNpb24pLS4yIEUgRjAgNS4wMTkoLlQpQyAuMDE5KGhlIGUpLTUuMDE5IEYgLjAxOQorKHhjZXB0aW9ucyB0byB0aGlzIGFyZSB0aGUgZSktLjE1IEYgLjAxOSh4cGFuc2lvbnMgb2YgJHshKS0uMTUgRiBGMShwcilBCisoZVwyMTR4KS0uMzcgRSBGMCAuMDE5KCp9IGFuZClCKCR7KTEwOCAxODQuOCBRIEYyKCEpQSBGMShuYW1lKUEgRjAoWylBCitGMShAKUEgRjAgLjc2MihdfSBkZXNjcmliZWQgYmVsbylCIDQuNTYzIC0uNjUody4gVCktLjI1IEggLjc2MyhoZSBlKS42NQorRiAuNzYzKHhjbGFtYXRpb24gcG9pbnQgbXVzdCBpbW1lZGlhdGVseSBmb2xsbyktLjE1IEYgMy4yNjMod3QpLS4yNSBHCisuNzYzKGhlIGxlZnQgYnJhY2UgaW4gb3JkZXIgdG8pLTMuMjYzIEYoaW50cm9kdWNlIGluZGlyZWN0aW9uLikxMDggMTk2LjgKK1EgLjMzNChJbiBlYWNoIG9mIHRoZSBjYXNlcyBiZWxvKTEwOCAyMTMuNiBSIC0uNjUodywpLS4yNSBHIEYxKHdvcikzLjQ4NAorRShkKS0uMzcgRSBGMCAuMzM0KGlzIHN1YmplY3QgdG8gdGlsZGUgZSkyLjgzNCBGIC4zMzQKKyh4cGFuc2lvbiwgcGFyYW1ldGVyIGUpLS4xNSBGIC4zMzQoeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCktLjE1CitGKGFuZCBhcml0aG1ldGljIGUpMTA4IDIyNS42IFEoeHBhbnNpb24uKS0uMTUgRSAuNjk3CisoV2hlbiBub3QgcGVyZm9ybWluZyBzdWJzdHJpbmcgZSkxMDggMjQyLjQgUiAuNjk4CisoeHBhbnNpb24sIHVzaW5nIHRoZSBmb3JtcyBkb2N1bWVudGVkIGJlbG8pLS4xNSBGIC0uNjUodywpLS4yNSBHIEYyCisoYmFzaCkzLjg0OCBFIEYwIC42OTgodGVzdHMgZm9yIGEgcGFyYW1ldGVyKTMuMTk4IEYKKyh0aGF0IGlzIHVuc2V0IG9yIG51bGwuKTEwOCAyNTQuNCBRKE9taXR0aW5nIHRoZSBjb2xvbiByZXN1bHRzIGluIGEgdGVzXAordCBvbmx5IGZvciBhIHBhcmFtZXRlciB0aGF0IGlzIHVuc2V0Lik1IEUoJHspMTA4IDI3MS4yIFEgRjEocGFyKUEKKyhhbWV0ZXIpLS4xNSBFIEYyPDNhYWQ+QSBGMSh3b3IpQShkKS0uMzcgRSBGMCh9KUEgRjIgLjcyMyhVc2UgRGVmYXVsdCBWKQorMTQ0IDI4My4yIFIoYWx1ZXMpLS45MiBFIEYwIDUuNzIzKC5JKUMoZiktNS43MjMgRSBGMShwYXIpNC40NzMgRShhbWV0ZXIpCistLjE1IEUgRjAgLjcyMyhpcyB1bnNldCBvciBudWxsLCB0aGUgZSkzLjk1MyBGIC43MjIoeHBhbnNpb24gb2YpLS4xNSBGCitGMSh3b3IpMy41NjIgRShkKS0uMzcgRSBGMCAuNzIyKGlzIHN1YnN0aXR1dGVkLikzLjk5MiBGKE90aGVyKTUuNzIyIEUoLSkKKy0uMiBFKHdpc2UsIHRoZSB2KTE0NCAyOTUuMiBRKGFsdWUgb2YpLS4yNSBFIEYxKHBhcikzLjc1IEUoYW1ldGVyKS0uMTUgRQorRjAoaXMgc3Vic3RpdHV0ZWQuKTMuMjMgRSgkeykxMDggMzA3LjIgUSBGMShwYXIpQShhbWV0ZXIpLS4xNSBFIEYyKDo9KUEKK0YxKHdvcilBKGQpLS4zNyBFIEYwKH0pQSBGMiAyLjAwNChBc3NpZ24gRGVmYXVsdCBWKTE0NCAzMTkuMiBSKGFsdWVzKQorLS45MiBFIEYwIDcuMDA0KC5JKUMoZiktNy4wMDQgRSBGMShwYXIpNS43NTQgRShhbWV0ZXIpLS4xNSBFIEYwIDIuMDA1CisoaXMgdW5zZXQgb3IgbnVsbCwgdGhlIGUpNS4yMzQgRiAyLjAwNSh4cGFuc2lvbiBvZiktLjE1IEYgRjEod29yKTQuODQ1IEUKKyhkKS0uMzcgRSBGMCAyLjAwNShpcyBhc3NpZ25lZCB0byk1LjI3NSBGIEYxKHBhcikxNDQgMzMxLjIgUShhbWV0ZXIpLS4xNQorRSBGMCA1LjI3OSguVCkuNzMgRyAuMjc5KGhlIHYpLTUuMjc5IEYgLjI3OShhbHVlIG9mKS0uMjUgRiBGMShwYXIpNC4wMjkKK0UoYW1ldGVyKS0uMTUgRSBGMCAuMjc4KGlzIHRoZW4gc3Vic3RpdHV0ZWQuKTMuNTA4IEYgLjI3OAogKFBvc2l0aW9uYWwgcGFyYW1ldGVycyBhbmQgc3BlY2lhbCBwYXJhbS0pNS4yNzggRgotKGV0ZXJzIG1heSBub3QgYmUgYXNzaWduZWQgdG8gaW4gdGhpcyB3KTE0NCAxMjAgUShheSktLjEgRSguKS0uNjUgRSgkeykKLTEwOCAxMzIgUSBGMShwYXIpQShhbWV0ZXIpLS4xNSBFIEYyKDo/KUEgRjEod29yKUEoZCktLjM3IEUgRjAofSlBIEYyCi0uNTM1KERpc3BsYXkgRXJyKTE0NCAxNDQgUiAuNTM1KG9yIGlmIE51bGwgb3IgVW5zZXQpLS4xOCBGIEYwIDUuNTM1KC5JKUMKLShmKS01LjUzNSBFIEYxKHBhcik0LjI4NSBFKGFtZXRlciktLjE1IEUgRjAgLjUzNQorKGV0ZXJzIG1heSBub3QgYmUgYXNzaWduZWQgdG8gaW4gdGhpcyB3KTE0NCAzNDMuMiBRKGF5KS0uMSBFKC4pLS42NSBFCisoJHspMTA4IDM1NS4yIFEgRjEocGFyKUEoYW1ldGVyKS0uMTUgRSBGMig6PylBIEYxKHdvcilBKGQpLS4zNyBFIEYwKH0pQQorRjIgLjUzNShEaXNwbGF5IEVycikxNDQgMzY3LjIgUiAuNTM1KG9yIGlmIE51bGwgb3IgVW5zZXQpLS4xOCBGIEYwIDUuNTM1CisoLkkpQyhmKS01LjUzNSBFIEYxKHBhcik0LjI4NSBFKGFtZXRlciktLjE1IEUgRjAgLjUzNQogKGlzIG51bGwgb3IgdW5zZXQsIHRoZSBlKTMuNzY1IEYgLjUzNSh4cGFuc2lvbiBvZiktLjE1IEYgRjEod29yKTMuMDM1IEUKLShkKS0uMzcgRSBGMCAuNTM1KFwob3IgYSBtZXMtKTMuMDM1IEYgLjY2MShzYWdlIHRvIHRoYXQgZWYpMTQ0IDE1NiBSCi0uNjYxKGZlY3QgaWYpLS4yNSBGIEYxKHdvcikzLjUwMSBFKGQpLS4zNyBFIEYwIC42NjIoaXMgbm90IHByZXNlbnRcKSBpc1wKLSB3cml0dGVuIHRvIHRoZSBzdGFuZGFyZCBlcnJvciBhbmQgdGhlIHNoZWxsLCBpZiBpdCBpcyBub3QpMy45MzEgRgotKGludGVyYWN0aSkxNDQgMTY4IFEgLS4xNSh2ZSktLjI1IEcgMi41KCxlKS4xNSBHIDIuNSh4aXRzLiBPdGhlcndpc2UsKQorKGQpLS4zNyBFIEYwIC41MzUoXChvciBhIG1lcy0pMy4wMzUgRiAuNjYyKHNhZ2UgdG8gdGhhdCBlZikxNDQgMzc5LjIgUgorLjY2MihmZWN0IGlmKS0uMjUgRiBGMSh3b3IpMy41MDIgRShkKS0uMzcgRSBGMCAuNjYxKGlzIG5vdCBwcmVzZW50XCkgaXNcCisgd3JpdHRlbiB0byB0aGUgc3RhbmRhcmQgZXJyb3IgYW5kIHRoZSBzaGVsbCwgaWYgaXQgaXMgbm90KTMuOTMyIEYKKyhpbnRlcmFjdGkpMTQ0IDM5MS4yIFEgLS4xNSh2ZSktLjI1IEcgMi41KCxlKS4xNSBHIDIuNSh4aXRzLiBPdGhlcndpc2UsKQogLTIuNjUgRih0aGUgdikyLjUgRShhbHVlIG9mKS0uMjUgRSBGMShwYXIpMi41IEUoYW1ldGVyKS0uMTUgRSBGMAotKGlzIHN1YnN0aXR1dGVkLikyLjUgRSgkeykxMDggMTgwIFEgRjEocGFyKUEoYW1ldGVyKS0uMTUgRSBGMig6KylBIEYxCi0od29yKUEoZCktLjM3IEUgRjAofSlBIEYyIC43NDUoVXNlIEFsdGVyKTE0NCAxOTIgUiAuNzQ1KG5hdGUgViktLjE1IEYKKyhpcyBzdWJzdGl0dXRlZC4pMi41IEUoJHspMTA4IDQwMy4yIFEgRjEocGFyKUEoYW1ldGVyKS0uMTUgRSBGMig6KylBIEYxCisod29yKUEoZCktLjM3IEUgRjAofSlBIEYyIC43NDUoVXNlIEFsdGVyKTE0NCA0MTUuMiBSIC43NDUobmF0ZSBWKS0uMTUgRgogKGFsdWUpLS45MiBFIEYwIDUuNzQ1KC5JKUMoZiktNS43NDUgRSBGMShwYXIpNC40OTUgRShhbWV0ZXIpLS4xNSBFIEYwCiAuNzQ1KGlzIG51bGwgb3IgdW5zZXQsIG5vdGhpbmcgaXMgc3Vic3RpdHV0ZWQsIG90aGVyd2lzZSB0aGUgZSkzLjk3NSBGCi0oeHBhbi0pLS4xNSBFKHNpb24gb2YpMTQ0IDIwNCBRIEYxKHdvcikyLjg0IEUoZCktLjM3IEUgRjAKLShpcyBzdWJzdGl0dXRlZC4pMy4yNyBFKCR7KTEwOCAyMTYgUSBGMShwYXIpQShhbWV0ZXIpLS4xNSBFIEYyKDopQSBGMQotKG9mKUEoZnNldCktLjE4IEUgRjAofSlBKCR7KTEwOCAyMjggUSBGMShwYXIpQShhbWV0ZXIpLS4xNSBFIEYyKDopQSBGMQotKG9mKUEoZnNldCktLjE4IEUgRjIoOilBIEYxKGxlbmd0aClBIEYwKH0pQSBGMiAuNzk2Ci0oU3Vic3RyaW5nIEV4cGFuc2lvbi4pMTQ0IDI0MCBSIEYwIC43OTYoRXhwYW5kcyB0byB1cCB0byk1Ljc5NiBGIEYxCisoeHBhbi0pLS4xNSBFKHNpb24gb2YpMTQ0IDQyNy4yIFEgRjEod29yKTIuODQgRShkKS0uMzcgRSBGMAorKGlzIHN1YnN0aXR1dGVkLikzLjI3IEUoJHspMTA4IDQzOS4yIFEgRjEocGFyKUEoYW1ldGVyKS0uMTUgRSBGMig6KUEgRjEKKyhvZilBKGZzZXQpLS4xOCBFIEYwKH0pQSgkeykxMDggNDUxLjIgUSBGMShwYXIpQShhbWV0ZXIpLS4xNSBFIEYyKDopQSBGMQorKG9mKUEoZnNldCktLjE4IEUgRjIoOilBIEYxKGxlbmd0aClBIEYwKH0pQSBGMiAuNzk3CisoU3Vic3RyaW5nIEV4cGFuc2lvbi4pMTQ0IDQ2My4yIFIgRjAgLjc5NihFeHBhbmRzIHRvIHVwIHRvKTUuNzk3IEYgRjEKIChsZW5ndGgpMy4yOTYgRSBGMCAuNzk2KGNoYXJhY3RlcnMgb2YpMy4yOTYgRiBGMShwYXIpMy4yOTYgRShhbWV0ZXIpLS4xNQotRSBGMCAuNzk3KHN0YXJ0aW5nIGF0IHRoZSBjaGFyYWN0ZXIpMy4yOTYgRiAuMjI5KHNwZWNpXDIxNGVkIGJ5KTE0NCAyNTIKLVIgRjEob2YpMi43MjkgRShmc2V0KS0uMTggRSBGMCA1LjIyOSguSSlDKGYpLTUuMjI5IEUgRjEobGVuZ3RoKTIuNzI5IEUKLUYwIC4yMjkoaXMgb21pdHRlZCwgZSkyLjcyOSBGIC4yMjkoeHBhbmRzIHRvIHRoZSBzdWJzdHJpbmcgb2YpLS4xNSBGIEYxCi0ocGFyKTIuNzI5IEUoYW1ldGVyKS0uMTUgRSBGMCAuMjI4KHN0YXJ0aW5nIGF0IHRoZSBjaGFyKTIuNzI4IEYoLSktLjIgRQotLjQzMihhY3RlciBzcGVjaVwyMTRlZCBieSkxNDQgMjY0IFIgRjEob2YpMi45MzMgRShmc2V0KS0uMTggRSBGMCguKUEgRjEKLShsZW5ndGgpNS40MzMgRSBGMChhbmQpMi45MzMgRSBGMShvZikyLjkzMyBFKGZzZXQpLS4xOCBFIEYwIC40MzMKLShhcmUgYXJpdGhtZXRpYyBlKTIuOTMzIEYgLjQzMyh4cHJlc3Npb25zIFwoc2VlKS0uMTUgRi9GMyA5L1RpbWVzLUJvbGRAMAotU0YgLjQzMyhBUklUSE1FVElDIEVWKTIuOTMzIEYoQUxVLSktMS4yMTUgRSAtLjg1NShBVCkxNDQgMjc2IFMoSU9OKS44NTUKLUUgRjAoYmVsbykyLjU3NyBFKHdcKS4pLS4yNSBFIEYxKGxlbmd0aCk1LjMyNyBFIEYwIC4zMjcobXVzdCBlKTIuODI3IEYKLS0uMjUodmEpLS4yNSBHIC4zMjYobHVhdGUgdG8gYSBudW1iZXIgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHplcm8uKS4yNQotRihJZik1LjMyNiBFIEYxKG9mKTIuODI2IEUoZnNldCktLjE4IEUgRjAgLS4yNShldmEpMi44MjYgRyhsdWF0ZXMpLjI1IEUKLS4wMTUodG8gYSBudW1iZXIgbGVzcyB0aGFuIHplcm8sIHRoZSB2KTE0NCAyODggUiAuMDE1CitFIEYwIC43OTYoc3RhcnRpbmcgYXQgdGhlIGNoYXJhY3RlcikzLjI5NiBGIC4yMjgoc3BlY2lcMjE0ZWQgYnkpMTQ0Cis0NzUuMiBSIEYxKG9mKTIuNzI4IEUoZnNldCktLjE4IEUgRjAgNS4yMjgoLkkpQyhmKS01LjIyOCBFIEYxKGxlbmd0aCkKKzIuNzI4IEUgRjAgLjIyOShpcyBvbWl0dGVkLCBlKTIuNzI5IEYgLjIyOSh4cGFuZHMgdG8gdGhlIHN1YnN0cmluZyBvZikKKy0uMTUgRiBGMShwYXIpMi43MjkgRShhbWV0ZXIpLS4xNSBFIEYwIC4yMjkoc3RhcnRpbmcgYXQgdGhlIGNoYXIpMi43MjkgRgorKC0pLS4yIEUgLjQzMyhhY3RlciBzcGVjaVwyMTRlZCBieSkxNDQgNDg3LjIgUiBGMShvZikyLjkzMyBFKGZzZXQpLS4xOCBFCitGMCguKUEgRjEobGVuZ3RoKTUuNDMzIEUgRjAoYW5kKTIuOTMzIEUgRjEob2YpMi45MzMgRShmc2V0KS0uMTggRSBGMAorLjQzMyhhcmUgYXJpdGhtZXRpYyBlKTIuOTMzIEYgLjQzMyh4cHJlc3Npb25zIFwoc2VlKS0uMTUgRi9GMyA5CisvVGltZXMtQm9sZEAwIFNGIC40MzIoQVJJVEhNRVRJQyBFVikyLjkzMyBGKEFMVS0pLTEuMjE1IEUgLS44NTUoQVQpMTQ0Cis0OTkuMiBTKElPTikuODU1IEUgRjAoYmVsbykyLjU3NiBFKHdcKS4pLS4yNSBFIEYxKGxlbmd0aCk1LjMyNiBFIEYwIC4zMjYKKyhtdXN0IGUpMi44MjYgRiAtLjI1KHZhKS0uMjUgRyAuMzI2CisobHVhdGUgdG8gYSBudW1iZXIgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHplcm8uKS4yNSBGKElmKTUuMzI3IEUgRjEKKyhvZikyLjgyNyBFKGZzZXQpLS4xOCBFIEYwIC0uMjUoZXZhKTIuODI3IEcobHVhdGVzKS4yNSBFIC4wMTYKKyh0byBhIG51bWJlciBsZXNzIHRoYW4gemVybywgdGhlIHYpMTQ0IDUxMS4yIFIgLjAxNQogKGFsdWUgaXMgdXNlZCBhcyBhbiBvZiktLjI1IEYgLjAxNShmc2V0IGZyb20gdGhlIGVuZCBvZiB0aGUgdiktLjI1IEYKLS4wMTYoYWx1ZSBvZiktLjI1IEYgRjEocGFyKTIuNTE2IEUoYW1ldGVyKS0uMTUgRSBGMCA1LjAxNiguSSlDKGYpLTUuMDE2Ci1FIEYxKHBhcikxNDQgMzAwIFEoYW1ldGVyKS0uMTUgRSBGMChpcykzLjI1IEUgRjIoQCkzLjI1IEUgRjAgMy4yNSgsdClDCisuMDE1KGFsdWUgb2YpLS4yNSBGIEYxKHBhcikyLjUxNSBFKGFtZXRlciktLjE1IEUgRjAgNS4wMTUoLkkpQyhmKS01LjAxNQorRSBGMShwYXIpMTQ0IDUyMy4yIFEoYW1ldGVyKS0uMTUgRSBGMChpcykzLjI1IEUgRjIoQCkzLjI1IEUgRjAgMy4yNSgsdClDCiAuNzUoaGUgcmVzdWx0IGlzKS0zLjI1IEYgRjEobGVuZ3RoKTMuMjUgRSBGMCAuNzUKIChwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYmUpMy4yNSBGIC43NShnaW5uaW5nIGF0KS0uMTUgRiBGMShvZikzLjI1IEUKIChmc2V0KS0uMTggRSBGMCA1Ljc1KC5JKUMoZiktNS43NSBFIEYxKHBhcikzLjI1IEUoYW1ldGVyKS0uMTUgRSBGMCAuNzUKLShpcyBhbikzLjI1IEYoaW5kZSkxNDQgMzEyIFEgLS4xNSh4ZSktLjE1IEcgMi43MDEoZGEpLjE1IEcgLjIwMQotKHJyYXkgbmFtZSBzdWJzY3JpcHRlZCBieSBAIG9yICosIHRoZSByZXN1bHQgaXMgdGhlKS0yLjcwMSBGIEYxKGxlbmd0aCkKLTIuNzAxIEUgRjAgLjIwMihtZW1iZXJzIG9mIHRoZSBhcnJheSBiZSkyLjcwMSBGKGdpbm5pbmcpLS4xNSBFIDEuMjgzCi0od2l0aCAkeykxNDQgMzI0IFIgRjEocGFyKUEoYW1ldGVyKS0uMTUgRSBGMChbKUEgRjEob2YpQShmc2V0KS0uMTggRSBGMAotMy43ODMoXX0uIEEpQihuZSkzLjc4MyBFIC0uMDUoZ2EpLS4xNSBHKHRpKS4wNSBFIC0uMTUodmUpLS4yNSBHIEYxKG9mKQotMy45MzMgRShmc2V0KS0uMTggRSBGMCAxLjI4MihpcyB0YWspMy43ODIgRiAxLjI4MihlbiByZWxhdGkpLS4xIEYgMS41ODIKLS0uMTUodmUgdCktLjI1IEggMy43ODIob28pLjE1IEcgMS4yODIobmUgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtKS0zLjc4MgotRihpbmRlKTE0NCAzMzYgUSAzLjQzNCh4byktLjE1IEcgMy40MzQoZnQpLTMuNDM0IEcgLjkzNAotKGhlIHNwZWNpXDIxNGVkIGFycmF5KS0zLjQzNCBGIDUuOTM0KC5TKS0uNjUgRyAuOTM1KHVic3RyaW5nIGUpLTUuOTM0IEYKLS45MzUoeHBhbnNpb24gYXBwbGllZCB0byBhbiBhc3NvY2lhdGkpLS4xNSBGIDEuMjM1IC0uMTUodmUgYSktLjI1IEggLjkzNQotKHJyYXkgcHJvZHVjZXMgdW5kZS0pLjE1IEYgLjI2MihcMjE0bmVkIHJlc3VsdHMuKTE0NCAzNDggUiAuMjYxCi0oTm90ZSB0aGF0IGEgbmUpNS4yNjIgRiAtLjA1KGdhKS0uMTUgRyh0aSkuMDUgRSAuNTYxIC0uMTUodmUgbyktLjI1IEgKKyhpcyBhbikzLjI1IEYoaW5kZSkxNDQgNTM1LjIgUSAtLjE1KHhlKS0uMTUgRyAyLjcwMihkYSkuMTUgRyAuMjAxCisocnJheSBuYW1lIHN1YnNjcmlwdGVkIGJ5IEAgb3IgKiwgdGhlIHJlc3VsdCBpcyB0aGUpLTIuNzAyIEYgRjEobGVuZ3RoKQorMi43MDEgRSBGMCAuMjAxKG1lbWJlcnMgb2YgdGhlIGFycmF5IGJlKTIuNzAxIEYoZ2lubmluZyktLjE1IEUgMS4yODIKKyh3aXRoICR7KTE0NCA1NDcuMiBSIEYxKHBhcilBKGFtZXRlciktLjE1IEUgRjAoWylBIEYxKG9mKUEoZnNldCktLjE4IEUKK0YwIDMuNzgyKF19LiBBKUIobmUpMy43ODIgRSAtLjA1KGdhKS0uMTUgRyh0aSkuMDUgRSAtLjE1KHZlKS0uMjUgRyBGMQorKG9mKTMuOTMyIEUoZnNldCktLjE4IEUgRjAgMS4yODIoaXMgdGFrKTMuNzgyIEYgMS4yODIoZW4gcmVsYXRpKS0uMSBGCisxLjU4MiAtLjE1KHZlIHQpLS4yNSBIIDMuNzgyKG9vKS4xNSBHIDEuMjgzKG5lIGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSkKKy0zLjc4MiBGKGluZGUpMTQ0IDU1OS4yIFEgMy40MzUoeG8pLS4xNSBHIDMuNDM1KGZ0KS0zLjQzNSBHIC45MzUKKyhoZSBzcGVjaVwyMTRlZCBhcnJheSktMy40MzUgRiA1LjkzNSguUyktLjY1IEcgLjkzNSh1YnN0cmluZyBlKS01LjkzNSBGCisuOTM1KHhwYW5zaW9uIGFwcGxpZWQgdG8gYW4gYXNzb2NpYXRpKS0uMTUgRiAxLjIzNCAtLjE1KHZlIGEpLS4yNSBIIC45MzQKKyhycmF5IHByb2R1Y2VzIHVuZGUtKS4xNSBGIC4yNjEoXDIxNG5lZCByZXN1bHRzLikxNDQgNTcxLjIgUiAuMjYxCisoTm90ZSB0aGF0IGEgbmUpNS4yNjEgRiAtLjA1KGdhKS0uMTUgRyh0aSkuMDUgRSAuNTYxIC0uMTUodmUgbyktLjI1IEgKIC0uMjUoZmYpLjE1IEcgLjI2MQogKHNldCBtdXN0IGJlIHNlcGFyYXRlZCBmcm9tIHRoZSBjb2xvbiBieSBhdCBsZWFzdCBvbmUgc3BhY2UgdG8pLjI1IEYgLS4yCi0oYXZvKTE0NCAzNjAgUyAuMTU0KGlkIGJlaW5nIGNvbmZ1c2VkIHdpdGggdGhlIDotIGUpLjIgRiAyLjY1NQotKHhwYW5zaW9uLiBTdWJzdHJpbmcpLS4xNSBGKGluZGUpMi42NTUgRSAuMTU1CisoYXZvKTE0NCA1ODMuMiBTIC4xNTUoaWQgYmVpbmcgY29uZnVzZWQgd2l0aCB0aGUgOi0gZSkuMiBGIDIuNjU1CisoeHBhbnNpb24uIFN1YnN0cmluZyktLjE1IEYoaW5kZSkyLjY1NSBFIC4xNTQKICh4aW5nIGlzIHplcm8tYmFzZWQgdW5sZXNzIHRoZSBwb3NpdGlvbmFsKS0uMTUgRiAuNTMyCi0ocGFyYW1ldGVycyBhcmUgdXNlZCwgaW4gd2hpY2ggY2FzZSB0aGUgaW5kZSkxNDQgMzcyIFIgLjUzMgorKHBhcmFtZXRlcnMgYXJlIHVzZWQsIGluIHdoaWNoIGNhc2UgdGhlIGluZGUpMTQ0IDU5NS4yIFIgLjUzMgogKHhpbmcgc3RhcnRzIGF0IDEgYnkgZGVmKS0uMTUgRiAzLjAzMihhdWx0LiBJZiktLjEgRiBGMShvZikzLjAzMiBFKGZzZXQpCiAtLjE4IEUgRjAgLjUzMihpcyAwLCBhbmQgdGhlIHBvc2ktKTMuMDMyIEYodGlvbmFsIHBhcmFtZXRlcnMgYXJlIHVzZWQsKQotMTQ0IDM4NCBRIEYyKCQwKTIuNSBFIEYwKGlzIHByZVwyMTR4KTIuNSBFKGVkIHRvIHRoZSBsaXN0LiktLjE1IEUoJHspMTA4Ci00MDAuOCBRIEYyKCEpQSBGMShwcilBKGVcMjE0eCktLjM3IEUgRjIoKilBIEYwKH0pQSgkeykxMDggNDEyLjggUSBGMighKUEKLUYxKHByKUEoZVwyMTR4KS0uMzcgRSBGMihAKUEgRjAofSlBIEYyIC4wODQoTmFtZXMgbWF0Y2hpbmcgcHIpMTQ0IDQyNC44Ci1SKGVcMjE0eC4pLS4xOCBFIEYwIC4wODQoRXhwYW5kcyB0byB0aGUgbmFtZXMgb2Ygdik1LjA4NCBGIC4wODQKLShhcmlhYmxlcyB3aG9zZSBuYW1lcyBiZSktLjI1IEYgLjA4NShnaW4gd2l0aCktLjE1IEYgRjEocHIpMi41ODUgRQotKGVcMjE0eCktLjM3IEUgRjAgMi41ODUoLHMpQyhlcGEtKS0yLjU4NSBFIC4yNTgKLShyYXRlZCBieSB0aGUgXDIxNHJzdCBjaGFyYWN0ZXIgb2YgdGhlKTE0NCA0MzYuOCBSIEYzKElGUykyLjc1OCBFIEYwCi0uMjU3KHNwZWNpYWwgdikyLjUwNyBGIDIuNzU3KGFyaWFibGUuIFdoZW4pLS4yNSBGIEYxKEApMi43NTcgRSBGMCAuMjU3Ci0oaXMgdXNlZCBhbmQgdGhlIGUpMi43NTcgRiAuMjU3KHhwYW5zaW9uIGFwcGVhcnMpLS4xNSBGCi0od2l0aGluIGRvdWJsZSBxdW90ZXMsIGVhY2ggdikxNDQgNDQ4LjggUShhcmlhYmxlIG5hbWUgZSktLjI1IEUKLSh4cGFuZHMgdG8gYSBzZXBhcmF0ZSB3KS0uMTUgRShvcmQuKS0uMSBFKCR7KTEwOCA0NjUuNiBRIEYyKCEpQSBGMShuYW1lKQotQSBGMChbKUEgRjEoQClBIEYwKF19KUEoJHspMTA4IDQ3Ny42IFEgRjIoISlBIEYxKG5hbWUpQSBGMChbKUEgRjEoKilBIEYwCi0oXX0pQSBGMiAyLjAzNShMaXN0IG9mIGFycmF5IGspMTQ0IDQ4OS42IFIoZXlzLiktLjEgRSBGMChJZik3LjAzNiBFIEYxCisxNDQgNjA3LjIgUSBGMigkMCkyLjUgRSBGMChpcyBwcmVcMjE0eCkyLjUgRShlZCB0byB0aGUgbGlzdC4pLS4xNSBFKCR7KQorMTA4IDYyNCBRIEYyKCEpQSBGMShwcilBKGVcMjE0eCktLjM3IEUgRjIoKilBIEYwKH0pQSgkeykxMDggNjM2IFEgRjIoISlBCitGMShwcilBKGVcMjE0eCktLjM3IEUgRjIoQClBIEYwKH0pQSBGMiAuMDg1KE5hbWVzIG1hdGNoaW5nIHByKTE0NCA2NDggUgorKGVcMjE0eC4pLS4xOCBFIEYwIC4wODQoRXhwYW5kcyB0byB0aGUgbmFtZXMgb2Ygdik1LjA4NSBGIC4wODQKKyhhcmlhYmxlcyB3aG9zZSBuYW1lcyBiZSktLjI1IEYgLjA4NChnaW4gd2l0aCktLjE1IEYgRjEocHIpMi41ODQgRQorKGVcMjE0eCktLjM3IEUgRjAgMi41ODQoLHMpQyhlcGEtKS0yLjU4NCBFIC4yNTcKKyhyYXRlZCBieSB0aGUgXDIxNHJzdCBjaGFyYWN0ZXIgb2YgdGhlKTE0NCA2NjAgUiBGMyhJRlMpMi43NTcgRSBGMCAuMjU3Cisoc3BlY2lhbCB2KTIuNTA3IEYgMi43NTcoYXJpYWJsZS4gV2hlbiktLjI1IEYgRjEoQCkyLjc1OCBFIEYwIC4yNTgKKyhpcyB1c2VkIGFuZCB0aGUgZSkyLjc1OCBGIC4yNTgoeHBhbnNpb24gYXBwZWFycyktLjE1IEYKKyh3aXRoaW4gZG91YmxlIHF1b3RlcywgZWFjaCB2KTE0NCA2NzIgUShhcmlhYmxlIG5hbWUgZSktLjI1IEUKKyh4cGFuZHMgdG8gYSBzZXBhcmF0ZSB3KS0uMTUgRShvcmQuKS0uMSBFKCR7KTEwOCA2ODguOCBRIEYyKCEpQSBGMShuYW1lKQorQSBGMChbKUEgRjEoQClBIEYwKF19KUEoJHspMTA4IDcwMC44IFEgRjIoISlBIEYxKG5hbWUpQSBGMChbKUEgRjEoKilBIEYwCisoXX0pQSBGMiAyLjAzNihMaXN0IG9mIGFycmF5IGspMTQ0IDcxMi44IFIoZXlzLiktLjEgRSBGMChJZik3LjAzNiBFIEYxCiAobmFtZSk0LjUzNiBFIEYwIDIuMDM2KGlzIGFuIGFycmF5IHYpNC41MzYgRiAyLjAzNihhcmlhYmxlLCBlKS0uMjUgRgogMi4wMzYoeHBhbmRzIHRvIHRoZSBsaXN0IG9mIGFycmF5IGluZGljZXMgXChrKS0uMTUgRiAtLjE1KGV5KS0uMSBHKHNcKSkKLS4xNSBFIC41OTYoYXNzaWduZWQgaW4pMTQ0IDUwMS42IFIgRjEobmFtZSkzLjA5NiBFIEYwIDUuNTk2KC5JKUMoZikKLS01LjU5NiBFIEYxKG5hbWUpMy4wOTYgRSBGMCAuNTk1KGlzIG5vdCBhbiBhcnJheSkzLjA5NiBGIDMuMDk1KCxlKS0uNjUgRwotLjU5NSh4cGFuZHMgdG8gMCBpZiktMy4yNDUgRiBGMShuYW1lKTMuMDk1IEUgRjAgLjU5NQotKGlzIHNldCBhbmQgbnVsbCBvdGhlcndpc2UuKTMuMDk1IEYoV2hlbik1LjU5NSBFIEYxKEApMTQ0IDUxMy42IFEgRjAKLShpcyB1c2VkIGFuZCB0aGUgZSkyLjUgRSh4cGFuc2lvbiBhcHBlYXJzIHdpdGhpbiBkb3VibGUgcXVvdGVzLCBlYWNoIGspCi0tLjE1IEUgLjMgLS4xNShleSBleCktLjEgSChwYW5kcyB0byBhIHNlcGFyYXRlIHcpLjE1IEUob3JkLiktLjEgRSgkeykxMDgKLTUzMC40IFEgRjIoIylBIEYxKHBhcilBKGFtZXRlciktLjE1IEUgRjAofSlBIEYyIC0uMShQYSkxNDQgNTQyLjQgUyAuNDcKLShyYW1ldGVyIGxlbmd0aC4pLjEgRiBGMCAuNDcxKFRoZSBsZW5ndGggaW4gY2hhcmFjdGVycyBvZiB0aGUgdik1LjQ3IEYKLS40NzEoYWx1ZSBvZiktLjI1IEYgRjEocGFyKTIuOTcxIEUoYW1ldGVyKS0uMTUgRSBGMCAuNDcxCi0oaXMgc3Vic3RpdHV0ZWQuKTIuOTcxIEYoSWYpNS40NzEgRSBGMShwYXIpNC4yMjEgRShhbWUtKS0uMTUgRSh0ZXIpMTQ0Ci01NTQuNCBRIEYwKGlzKTQuNDM5IEUgRjIoKikzLjcwOSBFIEYwKG9yKTMuNzA5IEUgRjIoQCkzLjcwOSBFIEYwIDMuNzA4Ci0oLHQpQyAxLjIwOChoZSB2KS0zLjcwOCBGIDEuMjA4Ci0oYWx1ZSBzdWJzdGl0dXRlZCBpcyB0aGUgbnVtYmVyIG9mIHBvc2l0aW9uYWwgcGFyYW1ldGVycy4pLS4yNSBGKElmKQotNi4yMDggRSBGMShwYXIpNC45NTggRShhbWV0ZXIpLS4xNSBFIEYwIDEuMjA4KGlzIGFuKTQuNDM4IEYKLShhcnJheSBuYW1lIHN1YnNjcmlwdGVkIGJ5KTE0NCA1NjYuNCBRIEYyKCopMi41IEUgRjAob3IpMi41IEUgRjIoQCkyLjUgRQotRjAgMi41KCx0KUMoaGUgdiktMi41IEUKLShhbHVlIHN1YnN0aXR1dGVkIGlzIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGFycmF5KS0uMjUgRSguKS0uNjUgRQotKCR7KTEwOCA1ODMuMiBRIEYxKHBhcilBKGFtZXRlciktLjE1IEUgRjIoIylBIEYxKHdvcilBKGQpLS4zNyBFIEYwKH0pQQotKCR7KTEwOCA1OTUuMiBRIEYxKHBhcilBKGFtZXRlciktLjE1IEUgRjIoIyMpQSBGMSh3b3IpQShkKS0uMzcgRSBGMCh9KUEKLUYyKFJlbW8pMTQ0IDYwNy4yIFEgMS4zOTYgLS4xKHZlIG0pLS4xIEggMS4xOTYoYXRjaGluZyBwcikuMSBGIDEuMTk2Ci0oZVwyMTR4IHBhdHRlciktLjE4IEYobi4pLS4xNSBFIEYwKFRoZSk2LjE5NiBFIEYxKHdvcik0LjAzNiBFKGQpLS4zNyBFCi1GMCAxLjE5NihpcyBlKTQuNDY2IEYgMS4xOTYKLSh4cGFuZGVkIHRvIHByb2R1Y2UgYSBwYXR0ZXJuIGp1c3QgYXMgaW4gcGF0aC0pLS4xNSBGIC4xNTIobmFtZSBlKTE0NAotNjE5LjIgUiAyLjY1Mih4cGFuc2lvbi4gSWYpLS4xNSBGIC4xNTIodGhlIHBhdHRlcm4gbWF0Y2hlcyB0aGUgYmUpMi42NTIKLUYgLjE1MihnaW5uaW5nIG9mIHRoZSB2KS0uMTUgRiAuMTUyKGFsdWUgb2YpLS4yNSBGIEYxKHBhcikyLjY1MiBFCi0oYW1ldGVyKS0uMTUgRSBGMCAyLjY1MigsdCkuNzMgRyAuMTUxKGhlbiB0aGUgcmVzdWx0IG9mKS0yLjY1MiBGIDEuNAotKHRoZSBlKTE0NCA2MzEuMiBSIDEuNCh4cGFuc2lvbiBpcyB0aGUgZSktLjE1IEYgMS40KHhwYW5kZWQgdiktLjE1IEYgMS40Ci0oYWx1ZSBvZiktLjI1IEYgRjEocGFyKTUuMTUgRShhbWV0ZXIpLS4xNSBFIEYwIDEuNAotKHdpdGggdGhlIHNob3J0ZXN0IG1hdGNoaW5nIHBhdHRlcm4gXCh0aGUgYCk0LjYzIEYoYCktLjc0IEUgRjIoIylBIEYwCi0tLjc0KCcnKUMgLjI4MShjYXNlXCkgb3IgdGhlIGxvbmdlc3QgbWF0Y2hpbmcgcGF0dGVybiBcKHRoZSBgKTE0NCA2NDMuMgotUihgKS0uNzQgRSBGMigjIylBIEYwIDEuNzYxIC0uNzQoJycgYylEIC4yODEoYXNlXCkgZGVsZXRlZC4pLjc0IEYoSWYpCi01LjI4MSBFIEYxKHBhcik0LjAzMSBFKGFtZXRlciktLjE1IEUgRjAoaXMpMy41MTEgRSBGMihAKTIuNzgxIEUgRjAob3IpCi0yLjc4MSBFIEYyKCopMi43ODEgRSBGMCAyLjc4MSgsdClDIC4yODEoaGUgcGF0dGVybiktMi43ODEgRihyZW1vKTE0NAotNjU1LjIgUSAtLjI1KHZhKS0uMTUgRyAzLjI3NChsbykuMjUgRyAuNzc0Ci0ocGVyYXRpb24gaXMgYXBwbGllZCB0byBlYWNoIHBvc2l0aW9uYWwgcGFyYW1ldGVyIGluIHR1cm4sIGFuZCB0aGUgZSkKLS0zLjI3NCBGIC43NzQoeHBhbnNpb24gaXMgdGhlIHJlc3VsLSktLjE1IEYgLjQwMih0YW50IGxpc3QuKTE0NCA2NjcuMiBSCi0oSWYpNS40MDIgRSBGMShwYXIpNC4xNTIgRShhbWV0ZXIpLS4xNSBFIEYwIC40MDEoaXMgYW4gYXJyYXkgdikzLjYzMiBGCi0uNDAxKGFyaWFibGUgc3Vic2NyaXB0ZWQgd2l0aCktLjI1IEYgRjIoQCkyLjkwMSBFIEYwKG9yKTIuOTAxIEUgRjIoKikKLTIuOTAxIEUgRjAgMi45MDEoLHQpQyAuNDAxKGhlIHBhdHRlcm4gcmVtbyktMi45MDEgRiAtLjI1KHZhKS0uMTUgRyAyLjkwMQotKGxvKS4yNSBHKHBlcmF0aW9uKS0yLjkwMSBFCi0oaXMgYXBwbGllZCB0byBlYWNoIG1lbWJlciBvZiB0aGUgYXJyYXkgaW4gdHVybiwgYW5kIHRoZSBlKTE0NCA2NzkuMiBRCi0oeHBhbnNpb24gaXMgdGhlIHJlc3VsdGFudCBsaXN0LiktLjE1IEUoJHspMTA4IDY5NiBRIEYxKHBhcilBKGFtZXRlcikKLS0uMTUgRSBGMiglKUEgRjEod29yKUEoZCktLjM3IEUgRjAofSlBKEdOVSBCYXNoLTQuMCk3MiA3NjggUQotKDIwMDkgRmVicnVhcnkgNykxNDAuOTYgRSgxOSkxOTAuOTUgRSAwIENnIEVQCisuMTUgRSAuNTk1KGFzc2lnbmVkIGluKTE0NCA3MjQuOCBSIEYxKG5hbWUpMy4wOTUgRSBGMCA1LjU5NSguSSlDKGYpCistNS41OTUgRSBGMShuYW1lKTMuMDk1IEUgRjAgLjU5NShpcyBub3QgYW4gYXJyYXkpMy4wOTUgRiAzLjA5NSgsZSktLjY1IEcKKy41OTUoeHBhbmRzIHRvIDAgaWYpLTMuMjQ1IEYgRjEobmFtZSkzLjA5NSBFIEYwIC41OTYKKyhpcyBzZXQgYW5kIG51bGwgb3RoZXJ3aXNlLikzLjA5NSBGKFdoZW4pNS41OTYgRShHTlUgQmFzaC00LjEpNzIgNzY4IFEKKygyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgxOSkxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiAyMCAyMAogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRSgkeykxMDggODQgUS9GMSAxMC9UaW1lcy1JdGFsaWNAMCBTRihwYXIpQShhbWV0ZXIpLS4xNSBFL0YyIDEwCi0vVGltZXMtQm9sZEAwIFNGKCUlKUEgRjEod29yKUEoZCktLjM3IEUgRjAofSlBIEYyKFJlbW8pMTQ0IDk2IFEgLjM0NiAtLjEKLSh2ZSBtKS0uMSBIIC4xNDYoYXRjaGluZyBzdWZcMjE0eCBwYXR0ZXIpLjEgRihuLiktLjE1IEUgRjAoVGhlKTUuMTQ2IEUKLUYxKHdvcikyLjY0NiBFKGQpLS4zNyBFIEYwIC4xNDcoaXMgZSkyLjY0NyBGIC4xNDcKLSh4cGFuZGVkIHRvIHByb2R1Y2UgYSBwYXR0ZXJuIGp1c3QgYXMgaW4gcGF0aG5hbWUpLS4xNSBGIC0uMTUoZXgpMTQ0IDEwOAotUyAzLjA4OChwYW5zaW9uLiBJZikuMTUgRiAuNTg4CistLjM1IEUvRjEgMTAvVGltZXMtSXRhbGljQDAgU0YoQCkxNDQgODQgUSBGMChpcyB1c2VkIGFuZCB0aGUgZSkyLjUgRQorKHhwYW5zaW9uIGFwcGVhcnMgd2l0aGluIGRvdWJsZSBxdW90ZXMsIGVhY2ggayktLjE1IEUgLjMgLS4xNShleSBleCktLjEKK0gocGFuZHMgdG8gYSBzZXBhcmF0ZSB3KS4xNSBFKG9yZC4pLS4xIEUoJHspMTA4IDEwMC44IFEvRjIgMTAKKy9UaW1lcy1Cb2xkQDAgU0YoIylBIEYxKHBhcilBKGFtZXRlciktLjE1IEUgRjAofSlBIEYyIC0uMShQYSkxNDQgMTEyLjggUworLjQ3MShyYW1ldGVyIGxlbmd0aC4pLjEgRiBGMCAuNDcxKFRoZSBsZW5ndGggaW4gY2hhcmFjdGVycyBvZiB0aGUgdikKKzUuNDcxIEYgLjQ3MShhbHVlIG9mKS0uMjUgRiBGMShwYXIpMi45NzEgRShhbWV0ZXIpLS4xNSBFIEYwIC40NworKGlzIHN1YnN0aXR1dGVkLikyLjk3IEYoSWYpNS40NyBFIEYxKHBhcik0LjIyIEUoYW1lLSktLjE1IEUodGVyKTE0NAorMTI0LjggUSBGMChpcyk0LjQzOCBFIEYyKCopMy43MDggRSBGMChvcikzLjcwOCBFIEYyKEApMy43MDggRSBGMCAzLjcwOAorKCx0KUMgMS4yMDgoaGUgdiktMy43MDggRiAxLjIwOAorKGFsdWUgc3Vic3RpdHV0ZWQgaXMgdGhlIG51bWJlciBvZiBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuKS0uMjUgRihJZikKKzYuMjA5IEUgRjEocGFyKTQuOTU5IEUoYW1ldGVyKS0uMTUgRSBGMCAxLjIwOShpcyBhbik0LjQzOSBGCisoYXJyYXkgbmFtZSBzdWJzY3JpcHRlZCBieSkxNDQgMTM2LjggUSBGMigqKTIuNSBFIEYwKG9yKTIuNSBFIEYyKEApMi41IEUKK0YwIDIuNSgsdClDKGhlIHYpLTIuNSBFCisoYWx1ZSBzdWJzdGl0dXRlZCBpcyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBhcnJheSktLjI1IEUoLiktLjY1IEUKKygkeykxMDggMTUzLjYgUSBGMShwYXIpQShhbWV0ZXIpLS4xNSBFIEYyKCMpQSBGMSh3b3IpQShkKS0uMzcgRSBGMCh9KUEKKygkeykxMDggMTY1LjYgUSBGMShwYXIpQShhbWV0ZXIpLS4xNSBFIEYyKCMjKUEgRjEod29yKUEoZCktLjM3IEUgRjAofSlBCitGMihSZW1vKTE0NCAxNzcuNiBRIDEuMzk2IC0uMSh2ZSBtKS0uMSBIIDEuMTk2KGF0Y2hpbmcgcHIpLjEgRiAxLjE5NgorKGVcMjE0eCBwYXR0ZXIpLS4xOCBGKG4uKS0uMTUgRSBGMChUaGUpNi4xOTYgRSBGMSh3b3IpNC4wMzYgRShkKS0uMzcgRQorRjAgMS4xOTYoaXMgZSk0LjQ2NiBGIDEuMTk2CisoeHBhbmRlZCB0byBwcm9kdWNlIGEgcGF0dGVybiBqdXN0IGFzIGluIHBhdGgtKS0uMTUgRiAuMTUxKG5hbWUgZSkxNDQKKzE4OS42IFIgMi42NTEoeHBhbnNpb24uIElmKS0uMTUgRiAuMTUyKHRoZSBwYXR0ZXJuIG1hdGNoZXMgdGhlIGJlKTIuNjUyCitGIC4xNTIoZ2lubmluZyBvZiB0aGUgdiktLjE1IEYgLjE1MihhbHVlIG9mKS0uMjUgRiBGMShwYXIpMi42NTIgRQorKGFtZXRlciktLjE1IEUgRjAgMi42NTIoLHQpLjczIEcgLjE1MihoZW4gdGhlIHJlc3VsdCBvZiktMi42NTIgRiAxLjQKKyh0aGUgZSkxNDQgMjAxLjYgUiAxLjQoeHBhbnNpb24gaXMgdGhlIGUpLS4xNSBGIDEuNCh4cGFuZGVkIHYpLS4xNSBGIDEuNAorKGFsdWUgb2YpLS4yNSBGIEYxKHBhcik1LjE1IEUoYW1ldGVyKS0uMTUgRSBGMCAxLjQKKyh3aXRoIHRoZSBzaG9ydGVzdCBtYXRjaGluZyBwYXR0ZXJuIFwodGhlIGApNC42MyBGKGApLS43NCBFIEYyKCMpQSBGMAorLS43NCgnJylDIC4yODEoY2FzZVwpIG9yIHRoZSBsb25nZXN0IG1hdGNoaW5nIHBhdHRlcm4gXCh0aGUgYCkxNDQgMjEzLjYKK1IoYCktLjc0IEUgRjIoIyMpQSBGMCAxLjc2MSAtLjc0KCcnIGMpRCAuMjgxKGFzZVwpIGRlbGV0ZWQuKS43NCBGKElmKQorNS4yODEgRSBGMShwYXIpNC4wMzEgRShhbWV0ZXIpLS4xNSBFIEYwKGlzKTMuNTExIEUgRjIoQCkyLjc4MSBFIEYwKG9yKQorMi43ODEgRSBGMigqKTIuNzgyIEUgRjAgMi43ODIoLHQpQyAuMjgyKGhlIHBhdHRlcm4pLTIuNzgyIEYocmVtbykxNDQKKzIyNS42IFEgLS4yNSh2YSktLjE1IEcgMy4yNzQobG8pLjI1IEcgLjc3NAorKHBlcmF0aW9uIGlzIGFwcGxpZWQgdG8gZWFjaCBwb3NpdGlvbmFsIHBhcmFtZXRlciBpbiB0dXJuLCBhbmQgdGhlIGUpCistMy4yNzQgRiAuNzc0KHhwYW5zaW9uIGlzIHRoZSByZXN1bC0pLS4xNSBGIC40MDEodGFudCBsaXN0LikxNDQgMjM3LjYgUgorKElmKTUuNDAxIEUgRjEocGFyKTQuMTUxIEUoYW1ldGVyKS0uMTUgRSBGMCAuNDAxKGlzIGFuIGFycmF5IHYpMy42MzEgRgorLjQwMShhcmlhYmxlIHN1YnNjcmlwdGVkIHdpdGgpLS4yNSBGIEYyKEApMi45MDEgRSBGMChvcikyLjkwMSBFIEYyKCopCisyLjkwMSBFIEYwIDIuOTAyKCx0KUMgLjQwMihoZSBwYXR0ZXJuIHJlbW8pLTIuOTAyIEYgLS4yNSh2YSktLjE1IEcgMi45MDIKKyhsbykuMjUgRyhwZXJhdGlvbiktMi45MDIgRQorKGlzIGFwcGxpZWQgdG8gZWFjaCBtZW1iZXIgb2YgdGhlIGFycmF5IGluIHR1cm4sIGFuZCB0aGUgZSkxNDQgMjQ5LjYgUQorKHhwYW5zaW9uIGlzIHRoZSByZXN1bHRhbnQgbGlzdC4pLS4xNSBFKCR7KTEwOCAyNjYuNCBRIEYxKHBhcilBKGFtZXRlcikKKy0uMTUgRSBGMiglKUEgRjEod29yKUEoZCktLjM3IEUgRjAofSlBKCR7KTEwOCAyNzguNCBRIEYxKHBhcilBKGFtZXRlcikKKy0uMTUgRSBGMiglJSlBIEYxKHdvcilBKGQpLS4zNyBFIEYwKH0pQSBGMihSZW1vKTE0NCAyOTAuNCBRIC4zNDcgLS4xCisodmUgbSktLjEgSCAuMTQ3KGF0Y2hpbmcgc3VmXDIxNHggcGF0dGVyKS4xIEYobi4pLS4xNSBFIEYwKFRoZSk1LjE0NyBFCitGMSh3b3IpMi42NDcgRShkKS0uMzcgRSBGMCAuMTQ3KGlzIGUpMi42NDcgRiAuMTQ2CisoeHBhbmRlZCB0byBwcm9kdWNlIGEgcGF0dGVybiBqdXN0IGFzIGluIHBhdGhuYW1lKS0uMTUgRiAtLjE1KGV4KTE0NAorMzAyLjQgUyAzLjA4OChwYW5zaW9uLiBJZikuMTUgRiAuNTg4CiAodGhlIHBhdHRlcm4gbWF0Y2hlcyBhIHRyYWlsaW5nIHBvcnRpb24gb2YgdGhlIGUpMy4wODggRiAuNTg4KHhwYW5kZWQgdikKIC0uMTUgRiAuNTg4KGFsdWUgb2YpLS4yNSBGIEYxKHBhcikzLjA4OCBFKGFtZXRlciktLjE1IEUgRjAgMy4wODgoLHQpLjczCi1HIC41ODgoaGVuIHRoZSktMy4wODggRiAuMjI2KHJlc3VsdCBvZiB0aGUgZSkxNDQgMTIwIFIgLjIyNgorRyAuNTg4KGhlbiB0aGUpLTMuMDg4IEYgLjIyNihyZXN1bHQgb2YgdGhlIGUpMTQ0IDMxNC40IFIgLjIyNgogKHhwYW5zaW9uIGlzIHRoZSBlKS0uMTUgRiAuMjI2KHhwYW5kZWQgdiktLjE1IEYgLjIyNihhbHVlIG9mKS0uMjUgRiBGMQogKHBhcikzLjk3NiBFKGFtZXRlciktLjE1IEUgRjAgLjIyNgotKHdpdGggdGhlIHNob3J0ZXN0IG1hdGNoaW5nIHBhdHRlcm4gXCh0aGUpMy40NTYgRiAtLjc0KGBgKTE0NCAxMzIgUyBGMgotKCUpLjc0IEUgRjAgMS41MjIgLS43NCgnJyBjKUQgLjA0MgorKHdpdGggdGhlIHNob3J0ZXN0IG1hdGNoaW5nIHBhdHRlcm4gXCh0aGUpMy40NTYgRiAtLjc0KGBgKTE0NCAzMjYuNCBTIEYyCisoJSkuNzQgRSBGMCAxLjUyMSAtLjc0KCcnIGMpRCAuMDQyCiAoYXNlXCkgb3IgdGhlIGxvbmdlc3QgbWF0Y2hpbmcgcGF0dGVybiBcKHRoZSBgKS43NCBGKGApLS43NCBFIEYyKCUlKUEgRjAKIDEuNTIyIC0uNzQoJycgYylEIC4wNDIoYXNlXCkgZGVsZXRlZC4pLjc0IEYoSWYpNS4wNDIgRSBGMShwYXIpMy43OTIgRQotKGFtZXRlciktLjE1IEUgRjAoaXMpMy4yNzIgRSBGMihAKTIuNTQxIEUgRjAob3IpMi41NDEgRSBGMigqKTIuNTQxIEUgRjAKLTIuNTQxKCx0KUMoaGUpLTIuNTQxIEUgLjQ0KHBhdHRlcm4gcmVtbykxNDQgMTQ0IFIgLS4yNSh2YSktLjE1IEcgMi45NAotKGxvKS4yNSBHIC40NDEKKyhhbWV0ZXIpLS4xNSBFIEYwKGlzKTMuMjcyIEUgRjIoQCkyLjU0MiBFIEYwKG9yKTIuNTQyIEUgRjIoKikyLjU0MiBFIEYwCisyLjU0MigsdClDKGhlKS0yLjU0MiBFIC40NDEocGF0dGVybiByZW1vKTE0NCAzMzguNCBSIC0uMjUodmEpLS4xNSBHCisyLjk0MShsbykuMjUgRyAuNDQxCiAocGVyYXRpb24gaXMgYXBwbGllZCB0byBlYWNoIHBvc2l0aW9uYWwgcGFyYW1ldGVyIGluIHR1cm4sIGFuZCB0aGUgZSkKLS0yLjk0IEYgLjQ0MSh4cGFuc2lvbiBpcyB0aGUpLS4xNSBGIC4yNDEocmVzdWx0YW50IGxpc3QuKTE0NCAxNTYgUihJZikKLTUuMjQxIEUgRjEocGFyKTMuOTkxIEUoYW1ldGVyKS0uMTUgRSBGMCAuMjQxKGlzIGFuIGFycmF5IHYpMy40NzEgRiAuMjQxCi0oYXJpYWJsZSBzdWJzY3JpcHRlZCB3aXRoKS0uMjUgRiBGMihAKTIuNzQxIEUgRjAob3IpMi43NCBFIEYyKCopMi43NCBFCi1GMCAyLjc0KCx0KUMgLjI0KGhlIHBhdHRlcm4gcmVtbyktMi43NCBGIC0uMjUodmEpLS4xNSBHIDIuNzQobG8pLjI1IEcKLShwZXIpLTIuNzQgRSgtKS0uMiBFCi0oYXRpb24gaXMgYXBwbGllZCB0byBlYWNoIG1lbWJlciBvZiB0aGUgYXJyYXkgaW4gdHVybiwgYW5kIHRoZSBlKTE0NCAxNjgKLVEoeHBhbnNpb24gaXMgdGhlIHJlc3VsdGFudCBsaXN0LiktLjE1IEUoJHspMTA4IDE4NC44IFEgRjEocGFyKUEoYW1ldGVyKQotLS4xNSBFIEYyKC8pQSBGMShwYXR0ZXJuKUEgRjIoLylBIEYxKHN0cmluZylBIEYwKH0pQSBGMiAtLjEoUGEpMTQ0IDE5Ni44Ci1TKHR0ZXIpLjEgRSAzLjYwNihucyktLjE1IEcodWJzdGl0dXRpb24uKS0zLjYwNiBFIEYwKFRoZSk2LjEwNiBFIEYxCi0ocGF0dGVybikzLjYwNiBFIEYwIDEuMTA2KGlzIGUpMy42MDYgRiAxLjEwNworLTIuOTQxIEYgLjQ0KHhwYW5zaW9uIGlzIHRoZSktLjE1IEYgLjI0KHJlc3VsdGFudCBsaXN0LikxNDQgMzUwLjQgUihJZikKKzUuMjQgRSBGMShwYXIpMy45OSBFKGFtZXRlciktLjE1IEUgRjAgLjI0KGlzIGFuIGFycmF5IHYpMy40NyBGIC4yNDEKKyhhcmlhYmxlIHN1YnNjcmlwdGVkIHdpdGgpLS4yNSBGIEYyKEApMi43NDEgRSBGMChvcikyLjc0MSBFIEYyKCopMi43NDEgRQorRjAgMi43NDEoLHQpQyAuMjQxKGhlIHBhdHRlcm4gcmVtbyktMi43NDEgRiAtLjI1KHZhKS0uMTUgRyAyLjc0MShsbykuMjUKK0cocGVyKS0yLjc0MSBFKC0pLS4yIEUKKyhhdGlvbiBpcyBhcHBsaWVkIHRvIGVhY2ggbWVtYmVyIG9mIHRoZSBhcnJheSBpbiB0dXJuLCBhbmQgdGhlIGUpMTQ0CiszNjIuNCBRKHhwYW5zaW9uIGlzIHRoZSByZXN1bHRhbnQgbGlzdC4pLS4xNSBFKCR7KTEwOCAzNzkuMiBRIEYxKHBhcilBCisoYW1ldGVyKS0uMTUgRSBGMigvKUEgRjEocGF0dGVybilBIEYyKC8pQSBGMShzdHJpbmcpQSBGMCh9KUEgRjIgLS4xKFBhKQorMTQ0IDM5MS4yIFModHRlcikuMSBFIDMuNjA3KG5zKS0uMTUgRyh1YnN0aXR1dGlvbi4pLTMuNjA3IEUgRjAoVGhlKTYuMTA3CitFIEYxKHBhdHRlcm4pMy42MDcgRSBGMCAxLjEwNyhpcyBlKTMuNjA3IEYgMS4xMDYKICh4cGFuZGVkIHRvIHByb2R1Y2UgYSBwYXR0ZXJuIGp1c3QgYXMgaW4gcGF0aG5hbWUgZSktLjE1IEYoeHBhbi0pLS4xNSBFCi0oc2lvbi4pMTQ0IDIwOC44IFEgRjEgLS44KFBhKTYuMDM0IEcgLS4xNShyYSkuOCBHKG1ldGVyKS4xNSBFIEYwIDEuMDM0Ci0oaXMgZSkzLjUzNCBGIDEuMDMzKHhwYW5kZWQgYW5kIHRoZSBsb25nZXN0IG1hdGNoIG9mKS0uMTUgRiBGMShwYXR0ZXJuKQotMy41MzMgRSBGMChhZykzLjUzMyBFIDEuMDMzKGFpbnN0IGl0cyB2KS0uMDUgRiAxLjAzMwotKGFsdWUgaXMgcmVwbGFjZWQgd2l0aCktLjI1IEYgRjEoc3RyaW5nKTE0NCAyMjAuOCBRIEYwIDUuMTYoLkkpQyhmKS01LjE2Ci1FIEYxKHBhdHRlcm4pMi42NiBFIEYwKGJlKTIuNjYgRSAuMTYoZ2lucyB3aXRoKS0uMTUgRiBGMigvKTIuNjYgRSBGMAotMi42NigsYSlDIC4xNjEobGwgbWF0Y2hlcyBvZiktMi42NiBGIEYxKHBhdHRlcm4pMi42NjEgRSBGMCAuMTYxCi0oYXJlIHJlcGxhY2VkIHdpdGgpMi42NjEgRiBGMShzdHJpbmcpMi42NjEgRSBGMCA1LjE2MSguTilDIC4xNjEKLShvcm1hbGx5IG9ubHkgdGhlKS01LjE2MSBGIC44MDcoXDIxNHJzdCBtYXRjaCBpcyByZXBsYWNlZC4pMTQ0IDIzMi44IFIKLShJZik1LjgwNyBFIEYxKHBhdHRlcm4pMy4zMDcgRSBGMChiZSkzLjMwNyBFIC44MDcoZ2lucyB3aXRoKS0uMTUgRiBGMigjKQotMy4zMDcgRSBGMCAzLjMwNigsaSlDIDMuMzA2KHRtKS0zLjMwNiBHIC44MDYodXN0IG1hdGNoIGF0IHRoZSBiZSktMy4zMDYKLUYgLjgwNihnaW5uaW5nIG9mIHRoZSBlKS0uMTUgRih4cGFuZGVkKS0uMTUgRSAtLjI1KHZhKTE0NCAyNDQuOCBTIC42MgotKGx1ZSBvZikuMjUgRiBGMShwYXIpMy4xMiBFKGFtZXRlciktLjE1IEUgRjAgNS42MiguSSlDKGYpLTUuNjIgRSBGMQotKHBhdHRlcm4pMy4xMiBFIEYwKGJlKTMuMTIgRSAuNjIoZ2lucyB3aXRoKS0uMTUgRiBGMiglKTMuMTIgRSBGMCAzLjEyCi0oLGkpQyAzLjEyMSh0bSktMy4xMiBHIC42MjEodXN0IG1hdGNoIGF0IHRoZSBlbmQgb2YgdGhlIGUpLTMuMTIxIEYgLjYyMQotKHhwYW5kZWQgdiktLjE1IEYgLjYyMShhbHVlIG9mKS0uMjUgRiBGMShwYXIpMTQ0IDI1Ni44IFEoYW1ldGVyKS0uMTUgRQotRjAgNi4yNTQoLkkpQyhmKS02LjI1NCBFIEYxKHN0cmluZykzLjc1NCBFIEYwIDEuMjUzKGlzIG51bGwsIG1hdGNoZXMgb2YpCisoc2lvbi4pMTQ0IDQwMy4yIFEgRjEgLS44KFBhKTYuMDMzIEcgLS4xNShyYSkuOCBHKG1ldGVyKS4xNSBFIEYwIDEuMDMzCisoaXMgZSkzLjUzMyBGIDEuMDMzKHhwYW5kZWQgYW5kIHRoZSBsb25nZXN0IG1hdGNoIG9mKS0uMTUgRiBGMShwYXR0ZXJuKQorMy41MzMgRSBGMChhZykzLjUzMyBFIDEuMDM0KGFpbnN0IGl0cyB2KS0uMDUgRiAxLjAzNAorKGFsdWUgaXMgcmVwbGFjZWQgd2l0aCktLjI1IEYgRjEoc3RyaW5nKTE0NCA0MTUuMiBRIEYwIDUuMTYxKC5JKUMoZikKKy01LjE2MSBFIEYxKHBhdHRlcm4pMi42NjEgRSBGMChiZSkyLjY2MSBFIC4xNjEoZ2lucyB3aXRoKS0uMTUgRiBGMigvKQorMi42NjEgRSBGMCAyLjY2MSgsYSlDIC4xNjEobGwgbWF0Y2hlcyBvZiktMi42NjEgRiBGMShwYXR0ZXJuKTIuNjYxIEUgRjAKKy4xNihhcmUgcmVwbGFjZWQgd2l0aCkyLjY2MSBGIEYxKHN0cmluZykyLjY2IEUgRjAgNS4xNiguTilDIC4xNgorKG9ybWFsbHkgb25seSB0aGUpLTUuMTYgRiAuODA2KFwyMTRyc3QgbWF0Y2ggaXMgcmVwbGFjZWQuKTE0NCA0MjcuMiBSCisoSWYpNS44MDYgRSBGMShwYXR0ZXJuKTMuMzA2IEUgRjAoYmUpMy4zMDYgRSAuODA2KGdpbnMgd2l0aCktLjE1IEYgRjIoIykKKzMuMzA2IEUgRjAgMy4zMDYoLGkpQyAzLjMwNyh0bSktMy4zMDYgRyAuODA3KHVzdCBtYXRjaCBhdCB0aGUgYmUpLTMuMzA3CitGIC44MDcoZ2lubmluZyBvZiB0aGUgZSktLjE1IEYoeHBhbmRlZCktLjE1IEUgLS4yNSh2YSkxNDQgNDM5LjIgUyAuNjIxCisobHVlIG9mKS4yNSBGIEYxKHBhcikzLjEyMSBFKGFtZXRlciktLjE1IEUgRjAgNS42MjEoLkkpQyhmKS01LjYyMSBFIEYxCisocGF0dGVybikzLjEyMSBFIEYwKGJlKTMuMTIxIEUgLjYyMShnaW5zIHdpdGgpLS4xNSBGIEYyKCUpMy4xMjEgRSBGMAorMy4xMjEoLGkpQyAzLjEyMSh0bSktMy4xMjEgRyAuNjIodXN0IG1hdGNoIGF0IHRoZSBlbmQgb2YgdGhlIGUpLTMuMTIxIEYKKy42Mih4cGFuZGVkIHYpLS4xNSBGIC42MihhbHVlIG9mKS0uMjUgRiBGMShwYXIpMTQ0IDQ1MS4yIFEoYW1ldGVyKS0uMTUgRQorRjAgNi4yNTMoLkkpQyhmKS02LjI1MyBFIEYxKHN0cmluZykzLjc1MyBFIEYwIDEuMjUzKGlzIG51bGwsIG1hdGNoZXMgb2YpCiAzLjc1MyBGIEYxKHBhdHRlcm4pMy43NTMgRSBGMCAxLjI1MyhhcmUgZGVsZXRlZCBhbmQgdGhlKTMuNzUzIEYgRjIoLykKLTMuNzUzIEUgRjAoZm9sbG8pMy43NTMgRSh3aW5nKS0uMjUgRSBGMShwYXR0ZXJuKTMuNzUzIEUgRjAgMS4yNTMobWF5IGJlKQotMy43NTMgRiAyLjY3OChvbWl0dGVkLiBJZikxNDQgMjY4LjggUiBGMShwYXIpMy45MjggRShhbWV0ZXIpLS4xNSBFIEYwCi0oaXMpMy40MDggRSBGMihAKTIuNjc4IEUgRjAob3IpMi42NzggRSBGMigqKTIuNjc5IEUgRjAgMi42NzkoLHQpQyAuMTc5CiszLjc1MyBFIEYwKGZvbGxvKTMuNzUzIEUod2luZyktLjI1IEUgRjEocGF0dGVybikzLjc1MyBFIEYwIDEuMjU0KG1heSBiZSkKKzMuNzU0IEYgMi42Nzkob21pdHRlZC4gSWYpMTQ0IDQ2My4yIFIgRjEocGFyKTMuOTI5IEUoYW1ldGVyKS0uMTUgRSBGMAorKGlzKTMuNDA5IEUgRjIoQCkyLjY3OSBFIEYwKG9yKTIuNjc5IEUgRjIoKikyLjY3OSBFIEYwIDIuNjc5KCx0KUMgLjE3OAogKGhlIHN1YnN0aXR1dGlvbiBvcGVyYXRpb24gaXMgYXBwbGllZCB0byBlYWNoIHBvc2l0aW9uYWwgcGFyYW1ldGVyKQotLTIuNjc5IEYgLjYxOShpbiB0dXJuLCBhbmQgdGhlIGUpMTQ0IDI4MC44IFIgLjYxOQorLTIuNjc5IEYgLjYxOChpbiB0dXJuLCBhbmQgdGhlIGUpMTQ0IDQ3NS4yIFIgLjYxOQogKHhwYW5zaW9uIGlzIHRoZSByZXN1bHRhbnQgbGlzdC4pLS4xNSBGKElmKTUuNjE5IEUgRjEocGFyKTQuMzY5IEUKLShhbWV0ZXIpLS4xNSBFIEYwIC42MTgoaXMgYW4gYXJyYXkgdikzLjg0OSBGIC42MTgKLShhcmlhYmxlIHN1YnNjcmlwdGVkIHdpdGgpLS4yNSBGIEYyKEApMTQ0IDI5Mi44IFEgRjAob3IpMy4yMjMgRSBGMigqKQotMy4yMjMgRSBGMCAzLjIyMygsdClDIC43MjMoaGUgc3Vic3RpdHV0aW9uIG9wZXJhdGlvbiBpcyBhcHBsaWVkIHRvIGVhY2hcCi0gbWVtYmVyIG9mIHRoZSBhcnJheSBpbiB0dXJuLCBhbmQgdGhlIGUpLTMuMjIzIEYoeHBhbi0pLS4xNSBFCi0oc2lvbiBpcyB0aGUgcmVzdWx0YW50IGxpc3QuKTE0NCAzMDQuOCBRKCR7KTEwOCAzMjEuNiBRIEYxKHBhcilBKGFtZXRlcikKLS0uMTUgRSBGMiheKUEgRjEocGF0dGVybilBIEYwKH0pQSgkeykxMDggMzMzLjYgUSBGMShwYXIpQShhbWV0ZXIpLS4xNSBFCi1GMiheXilBIEYxKHBhdHRlcm4pQSBGMCh9KUEoJHspMTA4IDM0NS42IFEgRjEocGFyKUEoYW1ldGVyKS0uMTUgRSBGMigsKUEKLUYxKHBhdHRlcm4pQSBGMCh9KUEoJHspMTA4IDM1Ny42IFEgRjEocGFyKUEoYW1ldGVyKS0uMTUgRSBGMigsLClBIEYxCi0ocGF0dGVybilBIEYwKH0pQSBGMiAuNDM4KENhc2UgbW9kaVwyMTRjYXRpb24uKTE0NCAzNjkuNiBSIEYwIC40MzgKLShUaGlzIGUpNS40MzggRiAuNDM3Ci0oeHBhbnNpb24gbW9kaVwyMTRlcyB0aGUgY2FzZSBvZiBhbHBoYWJldGljIGNoYXJhY3RlcnMgaW4pLS4xNSBGIEYxKHBhcikKLTIuOTM3IEUoYW1ldGVyKS0uMTUgRSBGMCA1LjQzNyguVClDKGhlKS01LjQzNyBFIEYxKHBhdHRlcm4pMTQ0IDM4MS42IFEKLUYwIC44MTMoaXMgZSkzLjMxMyBGIC44MTMKLSh4cGFuZGVkIHRvIHByb2R1Y2UgYSBwYXR0ZXJuIGp1c3QgYXMgaW4gcGF0aG5hbWUgZSktLjE1IEYgMy4zMTQKLSh4cGFuc2lvbi4gVGhlKS0uMTUgRiBGMiheKTMuMzE0IEUgRjAgLjgxNChvcGVyYXRvciBjb24pMy4zMTQgRiAtLjE1KHZlKQotLS40IEcocnRzKS4xNSBFKGxvKTE0NCAzOTMuNiBRIC4xODEod2VyY2FzZSBsZXR0ZXJzIG1hdGNoaW5nKS0uMjUgRiBGMQorKGFtZXRlciktLjE1IEUgRjAgLjYxOShpcyBhbiBhcnJheSB2KTMuODQ5IEYgLjYxOQorKGFyaWFibGUgc3Vic2NyaXB0ZWQgd2l0aCktLjI1IEYgRjIoQCkxNDQgNDg3LjIgUSBGMChvcikzLjIyNCBFIEYyKCopCiszLjIyNCBFIEYwIDMuMjI0KCx0KUMgLjcyMyhoZSBzdWJzdGl0dXRpb24gb3BlcmF0aW9uIGlzIGFwcGxpZWQgdG8gZWFjaFwKKyBtZW1iZXIgb2YgdGhlIGFycmF5IGluIHR1cm4sIGFuZCB0aGUgZSktMy4yMjQgRih4cGFuLSktLjE1IEUKKyhzaW9uIGlzIHRoZSByZXN1bHRhbnQgbGlzdC4pMTQ0IDQ5OS4yIFEoJHspMTA4IDUxNiBRIEYxKHBhcilBKGFtZXRlcikKKy0uMTUgRSBGMiheKUEgRjEocGF0dGVybilBIEYwKH0pQSgkeykxMDggNTI4IFEgRjEocGFyKUEoYW1ldGVyKS0uMTUgRSBGMgorKF5eKUEgRjEocGF0dGVybilBIEYwKH0pQSgkeykxMDggNTQwIFEgRjEocGFyKUEoYW1ldGVyKS0uMTUgRSBGMigsKUEgRjEKKyhwYXR0ZXJuKUEgRjAofSlBKCR7KTEwOCA1NTIgUSBGMShwYXIpQShhbWV0ZXIpLS4xNSBFIEYyKCwsKUEgRjEKKyhwYXR0ZXJuKUEgRjAofSlBIEYyIC40MzcoQ2FzZSBtb2RpXDIxNGNhdGlvbi4pMTQ0IDU2NCBSIEYwIC40MzcoVGhpcyBlKQorNS40MzcgRiAuNDM4KHhwYW5zaW9uIG1vZGlcMjE0ZXMgdGhlIGNhc2Ugb2YgYWxwaGFiZXRpYyBjaGFyYWN0ZXJzIGluKQorLS4xNSBGIEYxKHBhcikyLjkzOCBFKGFtZXRlciktLjE1IEUgRjAgNS40MzgoLlQpQyhoZSktNS40MzggRSBGMQorKHBhdHRlcm4pMTQ0IDU3NiBRIEYwIC44MTQoaXMgZSkzLjMxNCBGIC44MTMKKyh4cGFuZGVkIHRvIHByb2R1Y2UgYSBwYXR0ZXJuIGp1c3QgYXMgaW4gcGF0aG5hbWUgZSktLjE1IEYgMy4zMTMKKyh4cGFuc2lvbi4gVGhlKS0uMTUgRiBGMiheKTMuMzEzIEUgRjAgLjgxMyhvcGVyYXRvciBjb24pMy4zMTMgRiAtLjE1KHZlKQorLS40IEcocnRzKS4xNSBFKGxvKTE0NCA1ODggUSAuMTgod2VyY2FzZSBsZXR0ZXJzIG1hdGNoaW5nKS0uMjUgRiBGMQogKHBhdHRlcm4pMi42ODEgRSBGMCAuMTgxKHRvIHVwcGVyY2FzZTsgdGhlKTIuNjgxIEYgRjIoLCkyLjY4MSBFIEYwIC4xODEKLShvcGVyYXRvciBjb24pMi42ODEgRiAtLjE1KHZlKS0uNCBHIC4xOChydHMgbWF0Y2hpbmcgdXBwZXJjYXNlIGxldHRlcnMpCi0uMTUgRiAuMDg1KHRvIGxvKTE0NCA0MDUuNiBSIDIuNTg1KHdlcmNhc2UuIFRoZSktLjI1IEYgRjIoXl4pMi41ODUgRSBGMAorKG9wZXJhdG9yIGNvbikyLjY4MSBGIC0uMTUodmUpLS40IEcgLjE4MShydHMgbWF0Y2hpbmcgdXBwZXJjYXNlIGxldHRlcnMpCisuMTUgRiAuMDg1KHRvIGxvKTE0NCA2MDAgUiAyLjU4NSh3ZXJjYXNlLiBUaGUpLS4yNSBGIEYyKF5eKTIuNTg1IEUgRjAKIChhbmQpMi41ODUgRSBGMigsLCkyLjU4NSBFIEYwIC0uMTUoZXgpMi41ODUgRyAuMDg1KHBhbnNpb25zIGNvbikuMTUgRgogLS4xNSh2ZSktLjQgRyAuMDg1KHJ0IGVhY2ggbWF0Y2hlZCBjaGFyYWN0ZXIgaW4gdGhlIGUpLjE1IEYgLjA4NQotKHhwYW5kZWQgdiktLjE1IEYgLjA4NShhbHVlOyB0aGUpLS4yNSBGIEYyKF4pMi41ODUgRSBGMChhbmQpMTQ0IDQxNy42IFEKLUYyKCwpMy40MzUgRSBGMCAtLjE1KGV4KTMuNDM1IEcgLjkzNShwYW5zaW9ucyBtYXRjaCBhbmQgY29uKS4xNSBGIC0uMTUKLSh2ZSktLjQgRyAuOTM0KHJ0IG9ubHkgdGhlIFwyMTRyc3QgY2hhcmFjdGVyIGluIHRoZSBlKS4xNSBGIC45MzQKLSh4cGFuZGVkIHYpLS4xNSBGIDMuNDM0KGFsdWUuLiBJZiktLjI1IEYgRjEocGF0dGVybikzLjQzNCBFIEYwKGlzKTMuNDM0Ci1FIDEuMTIob21pdHRlZCwgaXQgaXMgdHJlYXRlZCBsaWspMTQ0IDQyOS42IFIgMy42MihlYSktLjEgRyBGMig/KUEgRjAKLTMuNjIoLHcpQyAxLjEyKGhpY2ggbWF0Y2hlcyBlKS0zLjYyIEYgLS4xNSh2ZSktLjI1IEcgMS4xMjEocnkgY2hhcmFjdGVyKQotLjE1IEYgNi4xMjEoLkkpLS41NSBHKGYpLTYuMTIxIEUgRjEocGFyKTQuODcxIEUoYW1ldGVyKS0uMTUgRSBGMChpcykKLTQuMzUxIEUgRjIoQCkzLjYyMSBFIEYwKG9yKTMuNjIxIEUgRjIoKikzLjYyMSBFIEYwIDMuNjIxKCx0KUMgMS4xMjEKLShoZSBjYXNlKS0zLjYyMSBGIDEuMzM1KG1vZGlcMjE0Y2F0aW9uIG9wZXJhdGlvbiBpcyBhcHBsaWVkIHRvIGVhY2ggcG9zXAotaXRpb25hbCBwYXJhbWV0ZXIgaW4gdHVybiwgYW5kIHRoZSBlKTE0NCA0NDEuNiBSIDEuMzM1KHhwYW5zaW9uIGlzIHRoZSkKLS0uMTUgRiAxLjMwOChyZXN1bHRhbnQgbGlzdC4pMTQ0IDQ1My42IFIoSWYpNi4zMDggRSBGMShwYXIpNS4wNTggRQotKGFtZXRlciktLjE1IEUgRjAgMS4zMDgoaXMgYW4gYXJyYXkgdik0LjUzOCBGIDEuMzA4Ci0oYXJpYWJsZSBzdWJzY3JpcHRlZCB3aXRoKS0uMjUgRiBGMihAKTMuODA4IEUgRjAob3IpMy44MDggRSBGMigqKTMuODA4IEUKLUYwIDMuODA4KCx0KUMgMS4zMDgoaGUgY2FzZSBtb2RpXDIxNGNhdGlvbiktMy44MDggRgorKHhwYW5kZWQgdiktLjE1IEYgLjA4NShhbHVlOyB0aGUpLS4yNSBGIEYyKF4pMi41ODUgRSBGMChhbmQpMTQ0IDYxMiBRIEYyCisoLCkzLjQzNCBFIEYwIC0uMTUoZXgpMy40MzQgRyAuOTM0KHBhbnNpb25zIG1hdGNoIGFuZCBjb24pLjE1IEYgLS4xNSh2ZSkKKy0uNCBHIC45MzQocnQgb25seSB0aGUgXDIxNHJzdCBjaGFyYWN0ZXIgaW4gdGhlIGUpLjE1IEYgLjkzNSh4cGFuZGVkIHYpCistLjE1IEYgMy40MzUoYWx1ZS4uIElmKS0uMjUgRiBGMShwYXR0ZXJuKTMuNDM1IEUgRjAoaXMpMy40MzUgRSAxLjEyMQorKG9taXR0ZWQsIGl0IGlzIHRyZWF0ZWQgbGlrKTE0NCA2MjQgUiAzLjYyMShlYSktLjEgRyBGMig/KUEgRjAgMy42MjEoLHcpCitDIDEuMTIxKGhpY2ggbWF0Y2hlcyBlKS0zLjYyMSBGIC0uMTUodmUpLS4yNSBHIDEuMTIxKHJ5IGNoYXJhY3RlcikuMTUgRgorNi4xMiguSSktLjU1IEcoZiktNi4xMiBFIEYxKHBhcik0Ljg3IEUoYW1ldGVyKS0uMTUgRSBGMChpcyk0LjM1IEUgRjIoQCkKKzMuNjIgRSBGMChvcikzLjYyIEUgRjIoKikzLjYyIEUgRjAgMy42MigsdClDIDEuMTIoaGUgY2FzZSktMy42MiBGIDEuMzM1CisobW9kaVwyMTRjYXRpb24gb3BlcmF0aW9uIGlzIGFwcGxpZWQgdG8gZWFjaCBwb3NpdGlvbmFsIHBhcmFtZXRlciBpbiB0dVwKK3JuLCBhbmQgdGhlIGUpMTQ0IDYzNiBSIDEuMzM1KHhwYW5zaW9uIGlzIHRoZSktLjE1IEYgMS4zMDgKKyhyZXN1bHRhbnQgbGlzdC4pMTQ0IDY0OCBSKElmKTYuMzA4IEUgRjEocGFyKTUuMDU4IEUoYW1ldGVyKS0uMTUgRSBGMAorMS4zMDgoaXMgYW4gYXJyYXkgdik0LjUzOCBGIDEuMzA4KGFyaWFibGUgc3Vic2NyaXB0ZWQgd2l0aCktLjI1IEYgRjIoQCkKKzMuODA4IEUgRjAob3IpMy44MDggRSBGMigqKTMuODA4IEUgRjAgMy44MDgoLHQpQyAxLjMwOAorKGhlIGNhc2UgbW9kaVwyMTRjYXRpb24pLTMuODA4IEYKIChvcGVyYXRpb24gaXMgYXBwbGllZCB0byBlYWNoIG1lbWJlciBvZiB0aGUgYXJyYXkgaW4gdHVybiwgYW5kIHRoZSBlKTE0NAotNDY1LjYgUSh4cGFuc2lvbiBpcyB0aGUgcmVzdWx0YW50IGxpc3QuKS0uMTUgRSBGMihDb21tYW5kIFN1YnN0aXR1dGlvbikKLTg3IDQ4Mi40IFEgRjEgMS42OTgoQ29tbWFuZCBzdWJzdGl0dXRpb24pMTA4IDQ5NC40IFIgRjAoYWxsbyk0LjE5OCBFCi0xLjY5Nyh3cyB0aGUgb3V0cHV0IG9mIGEgY29tbWFuZCB0byByZXBsYWNlIHRoZSBjb21tYW5kIG5hbWUuKS0uMjUgRgotMS42OTcoVGhlcmUgYXJlIHR3KTYuNjk3IEYobyktLjEgRShmb3JtczopMTA4IDUwNi40IFEgRjIoJFwoKTE0NCA1MjggUQotRjEoY29tbWFuZClBIEYyKFwpKTEuNjY2IEUgRjAob3IpMTA4IDU0MCBRIEYyPDkyPjE0NCA1NTIgUSBGMShjb21tYW5kKUEKLUYyPDkyPkEoQmFzaCkxMDggNTY4LjggUSBGMCAuMDE5KHBlcmZvcm1zIHRoZSBlKTIuNTE5IEYgLjAxOQotKHhwYW5zaW9uIGJ5IGUpLS4xNSBGIC0uMTUoeGUpLS4xNSBHKGN1dGluZykuMTUgRSBGMShjb21tYW5kKTIuNTE5IEUgRjAKLS4wMihhbmQgcmVwbGFjaW5nIHRoZSBjb21tYW5kIHN1YnN0aXR1dGlvbiB3aXRoIHRoZSBzdGFuLSkyLjUxOSBGIC43NjgKLShkYXJkIG91dHB1dCBvZiB0aGUgY29tbWFuZCwgd2l0aCBhbikxMDggNTgwLjggUiAzLjI2OCh5dCktLjE1IEcgLjc2OAotKHJhaWxpbmcgbmUpLTMuMjY4IEYgLjc2OCh3bGluZXMgZGVsZXRlZC4pLS4yNSBGIC43NjgoRW1iZWRkZWQgbmUpNS43NjgKLUYgLjc2OCh3bGluZXMgYXJlIG5vdCBkZWxldGVkLCBiKS0uMjUgRih1dCktLjIgRSh0aGUpMTA4IDU5Mi44IFEgMy4yMTgKLSh5bSktLjE1IEcgLjcxOChheSBiZSByZW1vKS0zLjIxOCBGIC0uMTUodmUpLS4xNSBHIDMuMjE4KGRkKS4xNSBHIC43MTkKLSh1cmluZyB3KS0zLjIxOCBGIC43MTkob3JkIHNwbGl0dGluZy4pLS4xIEYgLjcxOQotKFRoZSBjb21tYW5kIHN1YnN0aXR1dGlvbik1LjcxOSBGIEYyKCRcKGNhdCkzLjIxOSBFIEYxKFwyMTRsZSkzLjIxOSBFIEYyCi0oXCkpQSBGMCAuNzE5KGNhbiBiZSByZXBsYWNlZCBieSB0aGUpMy4yMTkgRihlcXVpKTEwOCA2MDQuOCBRIC0uMjUodmEpCi0tLjI1IEcobGVudCBiKS4yNSBFKHV0IGYpLS4yIEUoYXN0ZXIpLS4xIEUgRjIoJFwoPCkyLjUgRSBGMShcMjE0bGUpMi41IEUKLUYyKFwpKUEgRjAoLilBIDEuNzI0KFdoZW4gdGhlIG9sZC1zdHlsZSBiYWNrcXVvdGUgZm9ybSBvZiBzdWJzdGl0dXRpb24gXAotaXMgdXNlZCwgYmFja3NsYXNoIHJldGFpbnMgaXRzIGxpdGVyYWwgbWVhbmluZyBlKTEwOCA2MjEuNiBSKHhjZXB0KS0uMTUKLUUgLjMxNCh3aGVuIGZvbGxvKTEwOCA2MzMuNiBSIC4zMTQod2VkIGJ5KS0uMjUgRiBGMigkKTIuODE0IEUgRjAoLClBIEYyCi08OTI+Mi44MTQgRSBGMCAyLjgxNCgsbylDKHIpLTIuODE0IEUgRjIoXFwpMi44MTQgRSBGMCA1LjMxNCguVClDIC4zMTUoaFwKLWUgXDIxNHJzdCBiYWNrcXVvdGUgbm90IHByZWNlZGVkIGJ5IGEgYmFja3NsYXNoIHRlcm1pbmF0ZXMgdGhlIGNvbW1hbmQgXAotc3ViLSktNS4zMTQgRiAzLjg4NyhzdGl0dXRpb24uIFdoZW4pMTA4IDY0NS42IFIgMS4zODcodXNpbmcgdGhlICRcKCkKLTMuODg3IEYgRjEoY29tbWFuZCkuODMzIEUgRjAgMy44ODcoXClmKTEuNjY2IEcgMS4zODYKLShvcm0sIGFsbCBjaGFyYWN0ZXJzIGJldHdlZW4gdGhlIHBhcmVudGhlc2VzIG1hayktMy44ODcgRiAzLjg4NihldSktLjEgRwotMy44ODYocHQpLTMuODg2IEcgMS4zODYoaGUgY29tLSktMy44ODYgRgotKG1hbmQ7IG5vbmUgYXJlIHRyZWF0ZWQgc3BlY2lhbGx5KTEwOCA2NTcuNiBRKC4pLS42NSBFIC44OTQKLShDb21tYW5kIHN1YnN0aXR1dGlvbnMgbWF5IGJlIG5lc3RlZC4pMTA4IDY3NC40IFIgMi40OTQgLS44KFRvIG4pNS44OTQgSAotLjg5NChlc3Qgd2hlbiB1c2luZyB0aGUgYmFja3F1b3RlZCBmb3JtLCBlc2NhcGUgdGhlIGlubmVyIGJhY2stKS44IEYKLShxdW90ZXMgd2l0aCBiYWNrc2xhc2hlcy4pMTA4IDY4Ni40IFEgLjQyMgotKElmIHRoZSBzdWJzdGl0dXRpb24gYXBwZWFycyB3aXRoaW4gZG91YmxlIHF1b3RlcywgdykxMDggNzAzLjIgUiAuNDIyCi0ob3JkIHNwbGl0dGluZyBhbmQgcGF0aG5hbWUgZSktLjEgRiAuNDIyKHhwYW5zaW9uIGFyZSBub3QgcGVyZm9ybWVkKS0uMTUKLUYob24gdGhlIHJlc3VsdHMuKTEwOCA3MTUuMiBRKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA5IEZlYnJ1YXJ5IDcpCi0xNDAuOTYgRSgyMCkxOTAuOTUgRSAwIENnIEVQCis2NjAgUSh4cGFuc2lvbiBpcyB0aGUgcmVzdWx0YW50IGxpc3QuKS0uMTUgRSBGMihDb21tYW5kIFN1YnN0aXR1dGlvbik4NworNjc2LjggUSBGMSAxLjY5NyhDb21tYW5kIHN1YnN0aXR1dGlvbikxMDggNjg4LjggUiBGMChhbGxvKTQuMTk3IEUgMS42OTcKKyh3cyB0aGUgb3V0cHV0IG9mIGEgY29tbWFuZCB0byByZXBsYWNlIHRoZSBjb21tYW5kIG5hbWUuKS0uMjUgRiAxLjY5OAorKFRoZXJlIGFyZSB0dyk2LjY5OCBGKG8pLS4xIEUoZm9ybXM6KTEwOCA3MDAuOCBRIEYyKCRcKCkxNDQgNzIyLjQgUSBGMQorKGNvbW1hbmQpQSBGMihcKSkxLjY2NiBFIEYwKEdOVSBCYXNoLTQuMSk3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KQorMTM1Ljk2NSBFKDIwKTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDIxIDIxCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihBcml0aG1ldGljIEV4cGFuc2lvbik4NyA4NCBRIEYwIDEuMDM0Ci0oQXJpdGhtZXRpYyBlKTEwOCA5NiBSIDEuMDM0KHhwYW5zaW9uIGFsbG8pLS4xNSBGIDEuMDM0KHdzIHRoZSBlKS0uMjUgRgotLS4yNSh2YSktLjI1IEcgMS4wMzQobHVhdGlvbiBvZiBhbiBhcml0aG1ldGljIGUpLjI1IEYgMS4wMzUKKy0uMzUgRShvcikxMDggODQgUS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0Y8OTI+MTQ0IDk2IFEvRjIgMTAKKy9UaW1lcy1JdGFsaWNAMCBTRihjb21tYW5kKUEgRjE8OTI+QShCYXNoKTEwOCAxMTIuOCBRIEYwIC4wMgorKHBlcmZvcm1zIHRoZSBlKTIuNTIgRiAuMDIoeHBhbnNpb24gYnkgZSktLjE1IEYgLS4xNSh4ZSktLjE1IEcoY3V0aW5nKQorLjE1IEUgRjIoY29tbWFuZCkyLjUxOSBFIEYwIC4wMTkKKyhhbmQgcmVwbGFjaW5nIHRoZSBjb21tYW5kIHN1YnN0aXR1dGlvbiB3aXRoIHRoZSBzdGFuLSkyLjUxOSBGIC43NjgKKyhkYXJkIG91dHB1dCBvZiB0aGUgY29tbWFuZCwgd2l0aCBhbikxMDggMTI0LjggUiAzLjI2OCh5dCktLjE1IEcgLjc2OAorKHJhaWxpbmcgbmUpLTMuMjY4IEYgLjc2OCh3bGluZXMgZGVsZXRlZC4pLS4yNSBGIC43NjgoRW1iZWRkZWQgbmUpNS43NjgKK0YgLjc2OCh3bGluZXMgYXJlIG5vdCBkZWxldGVkLCBiKS0uMjUgRih1dCktLjIgRSh0aGUpMTA4IDEzNi44IFEgMy4yMTkKKyh5bSktLjE1IEcgLjcxOShheSBiZSByZW1vKS0zLjIxOSBGIC0uMTUodmUpLS4xNSBHIDMuMjE5KGRkKS4xNSBHIC43MTkKKyh1cmluZyB3KS0zLjIxOSBGIC43MTkob3JkIHNwbGl0dGluZy4pLS4xIEYgLjcxOQorKFRoZSBjb21tYW5kIHN1YnN0aXR1dGlvbik1LjcxOSBGIEYxKCRcKGNhdCkzLjIxOSBFIEYyKFwyMTRsZSkzLjIxOSBFIEYxCisoXCkpQSBGMCAuNzE4KGNhbiBiZSByZXBsYWNlZCBieSB0aGUpMy4yMTkgRihlcXVpKTEwOCAxNDguOCBRIC0uMjUodmEpCistLjI1IEcobGVudCBiKS4yNSBFKHV0IGYpLS4yIEUoYXN0ZXIpLS4xIEUgRjEoJFwoPCkyLjUgRSBGMihcMjE0bGUpMi41IEUKK0YxKFwpKUEgRjAoLilBIDEuNzI0KFdoZW4gdGhlIG9sZC1zdHlsZSBiYWNrcXVvdGUgZm9ybSBvZiBzdWJzdGl0dXRpb24gXAoraXMgdXNlZCwgYmFja3NsYXNoIHJldGFpbnMgaXRzIGxpdGVyYWwgbWVhbmluZyBlKTEwOCAxNjUuNiBSKHhjZXB0KS0uMTUKK0UgLjMxNSh3aGVuIGZvbGxvKTEwOCAxNzcuNiBSIC4zMTUod2VkIGJ5KS0uMjUgRiBGMSgkKTIuODE1IEUgRjAoLClBIEYxCis8OTI+Mi44MTUgRSBGMCAyLjgxNSgsbylDKHIpLTIuODE1IEUgRjEoXFwpMi44MTUgRSBGMCA1LjMxNSguVClDIC4zMTQoaFwKK2UgXDIxNHJzdCBiYWNrcXVvdGUgbm90IHByZWNlZGVkIGJ5IGEgYmFja3NsYXNoIHRlcm1pbmF0ZXMgdGhlIGNvbW1hbmQgXAorc3ViLSktNS4zMTUgRiAzLjg4NihzdGl0dXRpb24uIFdoZW4pMTA4IDE4OS42IFIgMS4zODYodXNpbmcgdGhlICRcKCkKKzMuODg2IEYgRjIoY29tbWFuZCkuODMzIEUgRjAgMy44ODYoXClmKTEuNjY2IEcgMS4zODcKKyhvcm0sIGFsbCBjaGFyYWN0ZXJzIGJldHdlZW4gdGhlIHBhcmVudGhlc2VzIG1hayktMy44ODYgRiAzLjg4NyhldSktLjEgRworMy44ODcocHQpLTMuODg3IEcgMS4zODcoaGUgY29tLSktMy44ODcgRgorKG1hbmQ7IG5vbmUgYXJlIHRyZWF0ZWQgc3BlY2lhbGx5KTEwOCAyMDEuNiBRKC4pLS42NSBFIC44OTQKKyhDb21tYW5kIHN1YnN0aXR1dGlvbnMgbWF5IGJlIG5lc3RlZC4pMTA4IDIxOC40IFIgMi40OTQgLS44KFRvIG4pNS44OTQgSAorLjg5NChlc3Qgd2hlbiB1c2luZyB0aGUgYmFja3F1b3RlZCBmb3JtLCBlc2NhcGUgdGhlIGlubmVyIGJhY2stKS44IEYKKyhxdW90ZXMgd2l0aCBiYWNrc2xhc2hlcy4pMTA4IDIzMC40IFEgLjQyMgorKElmIHRoZSBzdWJzdGl0dXRpb24gYXBwZWFycyB3aXRoaW4gZG91YmxlIHF1b3RlcywgdykxMDggMjQ3LjIgUiAuNDIyCisob3JkIHNwbGl0dGluZyBhbmQgcGF0aG5hbWUgZSktLjEgRiAuNDIzKHhwYW5zaW9uIGFyZSBub3QgcGVyZm9ybWVkKS0uMTUKK0Yob24gdGhlIHJlc3VsdHMuKTEwOCAyNTkuMiBRIEYxKEFyaXRobWV0aWMgRXhwYW5zaW9uKTg3IDI3NiBRIEYwIDEuMDM1CisoQXJpdGhtZXRpYyBlKTEwOCAyODggUiAxLjAzNSh4cGFuc2lvbiBhbGxvKS0uMTUgRiAxLjAzNSh3cyB0aGUgZSktLjI1IEYKKy0uMjUodmEpLS4yNSBHIDEuMDM0KGx1YXRpb24gb2YgYW4gYXJpdGhtZXRpYyBlKS4yNSBGIDEuMDM0CiAoeHByZXNzaW9uIGFuZCB0aGUgc3Vic3RpdHV0aW9uIG9mIHRoZSByZXN1bHQuKS0uMTUgRgotKFRoZSBmb3JtYXQgZm9yIGFyaXRobWV0aWMgZSkxMDggMTA4IFEoeHBhbnNpb24gaXM6KS0uMTUgRSBGMSgkXChcKCkxNDQKLTEyNC44IFEvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YgLS4yKGV4KUMocHIpLjIgRShlc3Npb24pLS4zNyBFIEYxKFwpXCkpQQotRjAoVGhlKTEwOCAxNDEuNiBRIEYyIC0uMihleCkyLjY2NiBHKHByKS4yIEUoZXNzaW9uKS0uMzcgRSBGMCAuMTY1Ci0oaXMgdHJlYXRlZCBhcyBpZiBpdCB3ZXJlIHdpdGhpbiBkb3VibGUgcXVvdGVzLCBiKTIuOTA2IEYgLjE2NQotKHV0IGEgZG91YmxlIHF1b3RlIGluc2lkZSB0aGUgcGFyZW50aGVzZXMgaXMgbm90KS0uMiBGIDEuMDc0Ci0odHJlYXRlZCBzcGVjaWFsbHkpMTA4IDE1My42IFIgNi4wNzQoLkEpLS42NSBHIDEuMDc0KGxsIHRvayktNi4wNzQgRgorKFRoZSBmb3JtYXQgZm9yIGFyaXRobWV0aWMgZSkxMDggMzAwIFEoeHBhbnNpb24gaXM6KS0uMTUgRSBGMSgkXChcKCkxNDQKKzMxNi44IFEgRjIgLS4yKGV4KUMocHIpLjIgRShlc3Npb24pLS4zNyBFIEYxKFwpXCkpQSBGMChUaGUpMTA4IDMzMy42IFEKK0YyIC0uMihleCkyLjY2NSBHKHByKS4yIEUoZXNzaW9uKS0uMzcgRSBGMCAuMTY1CisoaXMgdHJlYXRlZCBhcyBpZiBpdCB3ZXJlIHdpdGhpbiBkb3VibGUgcXVvdGVzLCBiKTIuOTA1IEYgLjE2NgorKHV0IGEgZG91YmxlIHF1b3RlIGluc2lkZSB0aGUgcGFyZW50aGVzZXMgaXMgbm90KS0uMiBGIDEuMDc1CisodHJlYXRlZCBzcGVjaWFsbHkpMTA4IDM0NS42IFIgNi4wNzUoLkEpLS42NSBHIDEuMDc0KGxsIHRvayktNi4wNzUgRgogMS4wNzQoZW5zIGluIHRoZSBlKS0uMSBGIDEuMDc0KHhwcmVzc2lvbiB1bmRlciktLjE1IEYgMS4wNzQKLShnbyBwYXJhbWV0ZXIgZSktLjE4IEYgMS4wNzQoeHBhbnNpb24sIHN0cmluZyBlKS0uMTUgRiAxLjA3NQotKHhwYW5zaW9uLCBjb21tYW5kKS0uMTUgRihzdWJzdGl0dXRpb24sIGFuZCBxdW90ZSByZW1vKTEwOCAxNjUuNiBRIC0uMjUKKyhnbyBwYXJhbWV0ZXIgZSktLjE4IEYgMS4wNzQoeHBhbnNpb24sIHN0cmluZyBlKS0uMTUgRiAxLjA3NAorKHhwYW5zaW9uLCBjb21tYW5kKS0uMTUgRihzdWJzdGl0dXRpb24sIGFuZCBxdW90ZSByZW1vKTEwOCAzNTcuNiBRIC0uMjUKICh2YSktLjE1IEcgMi41KGwuIEFyaXRobWV0aWMpLjI1IEYgLS4xNShleCkyLjUgRwotKHBhbnNpb25zIG1heSBiZSBuZXN0ZWQuKS4xNSBFIDEuMzc5KFRoZSBlKTEwOCAxODIuNCBSIC0uMjUodmEpLS4yNSBHCisocGFuc2lvbnMgbWF5IGJlIG5lc3RlZC4pLjE1IEUgMS4zNzgoVGhlIGUpMTA4IDM3NC40IFIgLS4yNSh2YSktLjI1IEcKIDEuMzc4KGx1YXRpb24gaXMgcGVyZm9ybWVkIGFjY29yZGluZyB0byB0aGUgcnVsZXMgbGlzdGVkIGJlbG8pLjI1IEYKIDMuODc4KHd1KS0uMjUgRyhuZGVyKS0zLjg3OCBFL0YzIDkvVGltZXMtQm9sZEAwIFNGIDEuMzc4KEFSSVRITUVUSUMgRVYpCiAzLjg3OCBGKEFMVSktMS4yMTUgRSAtLjg1NShBVCktLjU0IEcoSU9OKS44NTUgRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLikKLUEgRjAoSWYpNS44NzggRSBGMiAtLjIoZXgpMTA4IDE5NC40IFMocHIpLjIgRShlc3Npb24pLS4zNyBFIEYwKGlzIGluKQorQSBGMChJZik1Ljg3OSBFIEYyIC0uMihleCkxMDggMzg2LjQgUyhwcikuMiBFKGVzc2lvbiktLjM3IEUgRjAoaXMgaW4pCiAyLjc0IEUgLS4yNSh2YSktLjQgRyhsaWQsKS4yNSBFIEYxKGJhc2gpMi41IEUgRjAKIChwcmludHMgYSBtZXNzYWdlIGluZGljYXRpbmcgZikyLjUgRShhaWx1cmUgYW5kIG5vIHN1YnN0aXR1dGlvbiBvY2N1cnMuKQotLS4xIEUgRjEoUHIpODcgMjExLjIgUShvY2VzcyBTdWJzdGl0dXRpb24pLS4xOCBFIEYyKFByKTEwOCAyMjMuMiBRIC45NworLS4xIEUgRjEoUHIpODcgNDAzLjIgUShvY2VzcyBTdWJzdGl0dXRpb24pLS4xOCBFIEYyKFByKTEwOCA0MTUuMiBRIC45NzEKIChvY2VzcyBzdWJzdGl0dXRpb24pLS40NSBGIEYwIC45NzEKLShpcyBzdXBwb3J0ZWQgb24gc3lzdGVtcyB0aGF0IHN1cHBvcnQgbmFtZWQgcGlwZXMgXCgpMy40NyBGIEYyKEZJRk9zKUEKLUYwIDMuNDcxKFwpbylDIDMuNDcxKHJ0KS0zLjQ3MSBHKGhlKS0zLjQ3MSBFIEYxKC9kZSkzLjQ3MSBFKHYvZmQpLS4xNSBFCi1GMCAuOTcxKG1ldGhvZCBvZikzLjQ3MSBGIC4wMjIobmFtaW5nIG9wZW4gXDIxNGxlcy4pMTA4IDIzNS4yIFIgLjAyMQotKEl0IHRhayk1LjAyMiBGIC4wMjEoZXMgdGhlIGZvcm0gb2YpLS4xIEYgRjEoPFwoKTIuNTIxIEUgRjIobGlzdClBIEYxCi0oXCkpLjgzMyBFIEYwKG9yKTIuNTIxIEUgRjEoPlwoKTIuNTIxIEUgRjIobGlzdClBIEYxKFwpKS44MzMgRSBGMCA1LjAyMQotKC5UKUMgLjAyMShoZSBwcm9jZXNzKS01LjAyMSBGIEYyKGxpc3QpMi41MjEgRSBGMCAuMDIxCi0oaXMgcnVuIHdpdGggaXRzIGlucHV0IG9yIG91dHB1dCBjb24tKTIuNTIxIEYgLjA1OChuZWN0ZWQgdG8gYSkxMDggMjQ3LjIKLVIgRjIoRklGTykyLjU1OCBFIEYwIC4wNTgob3Igc29tZSBcMjE0bGUgaW4pMi41NTggRiBGMSgvZGUpMi41NTggRSh2L2ZkKQorKGlzIHN1cHBvcnRlZCBvbiBzeXN0ZW1zIHRoYXQgc3VwcG9ydCBuYW1lZCBwaXBlcyBcKCkzLjQ3MSBGIEYyKEZJRk9zKUEKK0YwIDMuNDcoXClvKUMgMy40NyhydCktMy40NyBHKGhlKS0zLjQ3IEUgRjEoL2RlKTMuNDcgRSh2L2ZkKS0uMTUgRSBGMAorLjk3KG1ldGhvZCBvZikzLjQ3IEYgLjAyMShuYW1pbmcgb3BlbiBcMjE0bGVzLikxMDggNDI3LjIgUiAuMDIxKEl0IHRhaykKKzUuMDIxIEYgLjAyMShlcyB0aGUgZm9ybSBvZiktLjEgRiBGMSg8XCgpMi41MjEgRSBGMihsaXN0KUEgRjEoXCkpLjgzMyBFCitGMChvcikyLjUyMSBFIEYxKD5cKCkyLjUyMSBFIEYyKGxpc3QpQSBGMShcKSkuODMzIEUgRjAgNS4wMjEoLlQpQyAuMDIxCisoaGUgcHJvY2VzcyktNS4wMjEgRiBGMihsaXN0KTIuNTIxIEUgRjAgLjAyMQorKGlzIHJ1biB3aXRoIGl0cyBpbnB1dCBvciBvdXRwdXQgY29uLSkyLjUyMSBGIC4wNTkobmVjdGVkIHRvIGEpMTA4IDQzOS4yCitSIEYyKEZJRk8pMi41NTkgRSBGMCAuMDU4KG9yIHNvbWUgXDIxNGxlIGluKTIuNTU5IEYgRjEoL2RlKTIuNTU4IEUodi9mZCkKIC0uMTUgRSBGMCA1LjA1OCguVClDIC4wNTgoaGUgbmFtZSBvZiB0aGlzIFwyMTRsZSBpcyBwYXNzZWQgYXMgYW4gYXIpCi0tNS4wNTggRiAuMDU5KGd1bWVudCB0byB0aGUgY3VycmVudCBjb20tKS0uMTggRiAuMTMxCi0obWFuZCBhcyB0aGUgcmVzdWx0IG9mIHRoZSBlKTEwOCAyNTkuMiBSIDIuNjMxKHhwYW5zaW9uLiBJZiktLjE1IEYodGhlKQorLTUuMDU4IEYgLjA1OChndW1lbnQgdG8gdGhlIGN1cnJlbnQgY29tLSktLjE4IEYgLjEzCisobWFuZCBhcyB0aGUgcmVzdWx0IG9mIHRoZSBlKTEwOCA0NTEuMiBSIDIuNjMoeHBhbnNpb24uIElmKS0uMTUgRih0aGUpCiAyLjYzIEUgRjEoPlwoKTIuNjMgRSBGMihsaXN0KUEgRjEoXCkpLjgzMyBFIEYwIC4xMwotKGZvcm0gaXMgdXNlZCwgd3JpdGluZyB0byB0aGUgXDIxNGxlIHdpbGwgcHJvKTIuNjMgRiAuMTModmlkZSBpbnB1dCBmb3IpCi0tLjE1IEYgRjIobGlzdCkyLjYzIEUgRjAoLilBKElmIHRoZSkxMDggMjcxLjIgUSBGMSg8XCgpMi41IEUgRjIobGlzdClBCi1GMShcKSkuODMzIEUgRjAoZm9ybSBpcyB1c2VkLCB0aGUgXDIxNGxlIHBhc3NlZCBhcyBhbiBhcikyLjUgRQorKGZvcm0gaXMgdXNlZCwgd3JpdGluZyB0byB0aGUgXDIxNGxlIHdpbGwgcHJvKTIuNjMgRiAuMTMxCisodmlkZSBpbnB1dCBmb3IpLS4xNSBGIEYyKGxpc3QpMi42MzEgRSBGMCguKUEoSWYgdGhlKTEwOCA0NjMuMiBRIEYxKDxcKCkKKzIuNSBFIEYyKGxpc3QpQSBGMShcKSkuODMzIEUgRjAKKyhmb3JtIGlzIHVzZWQsIHRoZSBcMjE0bGUgcGFzc2VkIGFzIGFuIGFyKTIuNSBFCiAoZ3VtZW50IHNob3VsZCBiZSByZWFkIHRvIG9idGFpbiB0aGUgb3V0cHV0IG9mKS0uMTggRSBGMihsaXN0KTIuNSBFIEYwCi0oLilBIC44OTYoV2hlbiBhKTEwOCAyODggUiAtLjI1KHZhKS0uMiBHIC44OTYoaWxhYmxlLCBwcm9jZXNzIHN1YnN0aXR1dFwKLWlvbiBpcyBwZXJmb3JtZWQgc2ltdWx0YW5lb3VzbHkgd2l0aCBwYXJhbWV0ZXIgYW5kIHYpLjI1IEYgLjg5NworKC4pQSAuODk3KFdoZW4gYSkxMDggNDgwIFIgLS4yNSh2YSktLjIgRyAuODk2KGlsYWJsZSwgcHJvY2VzcyBzdWJzdGl0dXRcCitpb24gaXMgcGVyZm9ybWVkIHNpbXVsdGFuZW91c2x5IHdpdGggcGFyYW1ldGVyIGFuZCB2KS4yNSBGIC44OTYKIChhcmlhYmxlIGUpLS4yNSBGKHhwYW5zaW9uLCktLjE1IEUKLShjb21tYW5kIHN1YnN0aXR1dGlvbiwgYW5kIGFyaXRobWV0aWMgZSkxMDggMzAwIFEoeHBhbnNpb24uKS0uMTUgRSBGMQotLS43NShXbyk4NyAzMTYuOCBTKHJkIFNwbGl0dGluZykuNzUgRSBGMCAxLjE0MwotKFRoZSBzaGVsbCBzY2FucyB0aGUgcmVzdWx0cyBvZiBwYXJhbWV0ZXIgZSkxMDggMzI4LjggUiAxLjE0MgotKHhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1dGlvbiwgYW5kIGFyaXRobWV0aWMgZSktLjE1IEYgMS4xNDIKLSh4cGFuc2lvbiB0aGF0KS0uMTUgRihkaWQgbm90IG9jY3VyIHdpdGhpbiBkb3VibGUgcXVvdGVzIGZvcikxMDggMzQwLjggUQorKGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhbmQgYXJpdGhtZXRpYyBlKTEwOCA0OTIgUSh4cGFuc2lvbi4pLS4xNSBFIEYxCistLjc1KFdvKTg3IDUwOC44IFMocmQgU3BsaXR0aW5nKS43NSBFIEYwIDEuMTQyCisoVGhlIHNoZWxsIHNjYW5zIHRoZSByZXN1bHRzIG9mIHBhcmFtZXRlciBlKTEwOCA1MjAuOCBSIDEuMTQzCisoeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhbmQgYXJpdGhtZXRpYyBlKS0uMTUgRiAxLjE0MworKHhwYW5zaW9uIHRoYXQpLS4xNSBGKGRpZCBub3Qgb2NjdXIgd2l0aGluIGRvdWJsZSBxdW90ZXMgZm9yKTEwOCA1MzIuOCBRCiBGMih3b3IpMi41IEUgMi41KGRzKS0uMzcgRyhwbGl0dGluZyktMi41IEUgRjAoLikuMjIgRSAuMDYzCi0oVGhlIHNoZWxsIHRyZWF0cyBlYWNoIGNoYXJhY3RlciBvZikxMDggMzU3LjYgUiBGMyhJRlMpMi41NjMgRSBGMCAuMDYzCisoVGhlIHNoZWxsIHRyZWF0cyBlYWNoIGNoYXJhY3RlciBvZikxMDggNTQ5LjYgUiBGMyhJRlMpMi41NjMgRSBGMCAuMDYzCiAoYXMgYSBkZWxpbWl0ZXIpMi4zMTMgRiAyLjU2MygsYSktLjQgRyAuMDYzCiAobmQgc3BsaXRzIHRoZSByZXN1bHRzIG9mIHRoZSBvdGhlciBlKS0yLjU2MyBGIC4wNjMoeHBhbnNpb25zIGludG8gdykKLS0uMTUgRihvcmRzKS0uMSBFIDEuNzg5KG9uIHRoZXNlIGNoYXJhY3RlcnMuKTEwOCAzNjkuNiBSKElmKTYuNzg5IEUgRjMKLShJRlMpNC4yODkgRSBGMCAxLjc4OChpcyB1bnNldCwgb3IgaXRzIHYpNC4wMzkgRiAxLjc4OChhbHVlIGlzIGUpLS4yNSBGCi0oeGFjdGx5KS0uMTUgRSBGMSg8c3BhY2U+PHRhYj48bmV3bGluZT4pNC4yODggRSBGMCA0LjI4OCgsdClDIDEuNzg4Ci0oaGUgZGVmKS00LjI4OCBGIDEuNzg4KGF1bHQsIHRoZW4pLS4xIEYgLjAyMShzZXF1ZW5jZXMgb2YpMTA4IDM4MS42IFIgRjEKLSg8c3BhY2U+KTIuNTIxIEUgRjAoLClBIEYxKDx0YWI+KTIuNTIxIEUgRjAgMi41MjEoLGEpQyhuZCktMi41MjEgRSBGMQorLS4xNSBGKG9yZHMpLS4xIEUgMS43ODgob24gdGhlc2UgY2hhcmFjdGVycy4pMTA4IDU2MS42IFIoSWYpNi43ODggRSBGMworKElGUyk0LjI4OCBFIEYwIDEuNzg4KGlzIHVuc2V0LCBvciBpdHMgdik0LjAzOCBGIDEuNzg5KGFsdWUgaXMgZSktLjI1IEYKKyh4YWN0bHkpLS4xNSBFIEYxKDxzcGFjZT48dGFiPjxuZXdsaW5lPik0LjI4OSBFIEYwIDQuMjg5KCx0KUMgMS43ODkKKyhoZSBkZWYpLTQuMjg5IEYgMS43ODkoYXVsdCwgdGhlbiktLjEgRiAuMDIyKHNlcXVlbmNlcyBvZikxMDggNTczLjYgUiBGMQorKDxzcGFjZT4pMi41MjIgRSBGMCgsKUEgRjEoPHRhYj4pMi41MjIgRSBGMCAyLjUyMSgsYSlDKG5kKS0yLjUyMSBFIEYxCiAoPG5ld2xpbmU+KTIuNTIxIEUgRjAgLjAyMShhdCB0aGUgYmUpMi41MjEgRiAuMDIxCi0oZ2lubmluZyBhbmQgZW5kIG9mIHRoZSByZXN1bHRzIG9mIHRoZSBwcmUpLS4xNSBGIC4wMjIodmlvdXMgZSktLjI1IEYKLSh4cGFuLSktLjE1IEUgLjU4NihzaW9ucyBhcmUgaWdub3JlZCwgYW5kIGFuKTEwOCAzOTMuNiBSIDMuMDg2KHlzKS0uMTUgRworKGdpbm5pbmcgYW5kIGVuZCBvZiB0aGUgcmVzdWx0cyBvZiB0aGUgcHJlKS0uMTUgRiAuMDIxKHZpb3VzIGUpLS4yNSBGCisoeHBhbi0pLS4xNSBFIC41ODUoc2lvbnMgYXJlIGlnbm9yZWQsIGFuZCBhbikxMDggNTg1LjYgUiAzLjA4Nih5cyktLjE1IEcKIC41ODYoZXF1ZW5jZSBvZiktMy4wODYgRiBGMyhJRlMpMy4wODYgRSBGMCAuNTg2Ci0oY2hhcmFjdGVycyBub3QgYXQgdGhlIGJlKTIuODM2IEYgLjU4NihnaW5uaW5nIG9yIGVuZCBzZXJ2KS0uMTUgRiAuNTg1Ci0oZXMgdG8gZGVsaW1pdCB3KS0uMTUgRihvcmRzLiktLjEgRShJZikxMDggNDA1LjYgUSBGMyhJRlMpMy42MTcgRSBGMAorKGNoYXJhY3RlcnMgbm90IGF0IHRoZSBiZSkyLjgzNiBGIC41ODYoZ2lubmluZyBvciBlbmQgc2VydiktLjE1IEYgLjU4NgorKGVzIHRvIGRlbGltaXQgdyktLjE1IEYob3Jkcy4pLS4xIEUoSWYpMTA4IDU5Ny42IFEgRjMoSUZTKTMuNjE3IEUgRjAKIDEuMTE3KGhhcyBhIHYpMy4zNjcgRiAxLjExNyhhbHVlIG90aGVyIHRoYW4gdGhlIGRlZiktLjI1IEYgMS4xMTcKIChhdWx0LCB0aGVuIHNlcXVlbmNlcyBvZiB0aGUgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzKS0uMSBGIEYxKHNwYWNlKTMuNjE3CiBFIEYwKGFuZCkzLjYxNyBFIEYxKHRhYikzLjYxNyBFIEYwKGFyZSkzLjYxNyBFIC4zMTUoaWdub3JlZCBhdCB0aGUgYmUpCi0xMDggNDE3LjYgUiAuMzE1KGdpbm5pbmcgYW5kIGVuZCBvZiB0aGUgdyktLjE1IEYgLjMxNQorMTA4IDYwOS42IFIgLjMxNShnaW5uaW5nIGFuZCBlbmQgb2YgdGhlIHcpLS4xNSBGIC4zMTUKIChvcmQsIGFzIGxvbmcgYXMgdGhlIHdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIGluIHRoZSB2KS0uMSBGIC4zMTUKLShhbHVlIG9mKS0uMjUgRiBGMyhJRlMpMi44MTUgRSBGMChcKGFuKTIuNTY1IEUgRjMoSUZTKTEwOCA0MjkuNiBRIEYwCi0xLjA1Myh3aGl0ZXNwYWNlIGNoYXJhY3RlclwpLikzLjMwMyBGKEFuKTYuMDUzIEUgMy41NTMoeWMpLS4xNSBHIDEuMDUzCi0oaGFyYWN0ZXIgaW4pLTMuNTUzIEYgRjMoSUZTKTMuNTUzIEUgRjAgMS4wNTModGhhdCBpcyBub3QpMy4zMDMgRiBGMwotKElGUykzLjU1MyBFIEYwIDEuMDU0KHdoaXRlc3BhY2UsIGFsb25nIHdpdGggYW4pMy4zMDQgRiAzLjU1NCh5YSktLjE1IEcKLShkamFjZW50KS0zLjU1NCBFIEYzKElGUykzLjU1NCBFIEYwIC4zMzIKLSh3aGl0ZXNwYWNlIGNoYXJhY3RlcnMsIGRlbGltaXRzIGEgXDIxNGVsZC4pMTA4IDQ0MS42IFIgMi44MzIoQXMpNS4zMzIgRwotLjMzMihlcXVlbmNlIG9mKS0yLjgzMiBGIEYzKElGUykyLjgzMiBFIEYwIC4zMzEKKyhhbHVlIG9mKS0uMjUgRiBGMyhJRlMpMi44MTUgRSBGMChcKGFuKTIuNTY2IEUgRjMoSUZTKTEwOCA2MjEuNiBRIEYwCisxLjA1NCh3aGl0ZXNwYWNlIGNoYXJhY3RlclwpLikzLjMwNCBGKEFuKTYuMDU0IEUgMy41NTQoeWMpLS4xNSBHIDEuMDU0CisoaGFyYWN0ZXIgaW4pLTMuNTU0IEYgRjMoSUZTKTMuNTU0IEUgRjAgMS4wNTModGhhdCBpcyBub3QpMy4zMDMgRiBGMworKElGUykzLjU1MyBFIEYwIDEuMDUzKHdoaXRlc3BhY2UsIGFsb25nIHdpdGggYW4pMy4zMDMgRiAzLjU1Myh5YSktLjE1IEcKKyhkamFjZW50KS0zLjU1MyBFIEYzKElGUykzLjU1MyBFIEYwIC4zMzEKKyh3aGl0ZXNwYWNlIGNoYXJhY3RlcnMsIGRlbGltaXRzIGEgXDIxNGVsZC4pMTA4IDYzMy42IFIgMi44MzEoQXMpNS4zMzEgRworLjMzMihlcXVlbmNlIG9mKS0yLjgzMSBGIEYzKElGUykyLjgzMiBFIEYwIC4zMzIKICh3aGl0ZXNwYWNlIGNoYXJhY3RlcnMgaXMgYWxzbyB0cmVhdGVkIGFzIGEgZGVsaW0tKTIuNTgyIEYoaXRlcikxMDgKLTQ1My42IFEgNSguSSktLjU1IEcgMi41KGZ0KS01IEcoaGUgdiktMi41IEUoYWx1ZSBvZiktLjI1IEUgRjMoSUZTKTIuNSBFCi1GMChpcyBudWxsLCBubyB3KTIuMjUgRShvcmQgc3BsaXR0aW5nIG9jY3Vycy4pLS4xIEUgMS44NzgKLShFeHBsaWNpdCBudWxsIGFyKTEwOCA0NzAuNCBSIDEuODc4KGd1bWVudHMgXCgpLS4xOCBGIEYxIC44MzMoIiIpLjgzMyBHCis2NDUuNiBRIDUoLkkpLS41NSBHIDIuNShmdCktNSBHKGhlIHYpLTIuNSBFKGFsdWUgb2YpLS4yNSBFIEYzKElGUykyLjUgRQorRjAoaXMgbnVsbCwgbm8gdykyLjI1IEUob3JkIHNwbGl0dGluZyBvY2N1cnMuKS0uMSBFIDEuODc5CisoRXhwbGljaXQgbnVsbCBhcikxMDggNjYyLjQgUiAxLjg3OShndW1lbnRzIFwoKS0uMTggRiBGMSAuODMzKCIiKS44MzMgRwogRjAob3IpMy41NDUgRSBGMSAuODMzPDA4MDg+NS4yMTEgRyBGMCA0LjM3OChcKWEpQyAxLjg3OChyZSByZXRhaW5lZC4pCi0tNC4zNzggRiAxLjg3OChVbnF1b3RlZCBpbXBsaWNpdCBudWxsIGFyKTYuODc4IEYgMS44NzkKLShndW1lbnRzLCByZXN1bHRpbmcgZnJvbSB0aGUpLS4xOCBGIC0uMTUoZXgpMTA4IDQ4Mi40IFMgLjE3NwotKHBhbnNpb24gb2YgcGFyYW1ldGVycyB0aGF0IGhhKS4xNSBGIC40NzcgLS4xNSh2ZSBuKS0uMiBIIDIuNjc3KG92KS4xNSBHCi0uMTc3KGFsdWVzLCBhcmUgcmVtbyktMi45MjcgRiAtLjE1KHZlKS0uMTUgRyAyLjY3NihkLiBJZikuMTUgRiAyLjY3NihhcCkKLTIuNjc2IEcgLjE3NihhcmFtZXRlciB3aXRoIG5vIHYpLTIuNjc2IEYgLjE3NihhbHVlIGlzIGUpLS4yNSBGIC4xNzYKLSh4cGFuZGVkIHdpdGhpbiktLjE1IEYoZG91YmxlIHF1b3RlcywgYSBudWxsIGFyKTEwOCA0OTQuNCBRCi0oZ3VtZW50IHJlc3VsdHMgYW5kIGlzIHJldGFpbmVkLiktLjE4IEUoTm90ZSB0aGF0IGlmIG5vIGUpMTA4IDUxMS4yIFEKLSh4cGFuc2lvbiBvY2N1cnMsIG5vIHNwbGl0dGluZyBpcyBwZXJmb3JtZWQuKS0uMTUgRSBGMSAtLjEoUGEpODcgNTI4IFMKLSh0aG5hbWUgRXhwYW5zaW9uKS4xIEUgRjAgLjM3KEFmdGVyIHcpMTA4IDU0MCBSIC4zNwotKG9yZCBzcGxpdHRpbmcsIHVubGVzcyB0aGUpLS4xIEYgRjE8YWQ2Nj4yLjg3IEUgRjAgLjM3Ci0ob3B0aW9uIGhhcyBiZWVuIHNldCwpMi44NyBGIEYxKGJhc2gpMi44NyBFIEYwIC4zNzEoc2NhbnMgZWFjaCB3KTIuODcxIEYKLS4zNzEob3JkIGZvciB0aGUgY2hhcmFjdGVycyktLjEgRiBGMSgqKTIuODcxIEUgRjAoLClBIEYxKD8pMi44NzEgRSBGMAotMi44NzEoLGEpQyhuZCktMi44NzEgRSBGMShbKTIuODcxIEUgRjAoLilBIC42NzgKLShJZiBvbmUgb2YgdGhlc2UgY2hhcmFjdGVycyBhcHBlYXJzLCB0aGVuIHRoZSB3KTEwOCA1NTIgUiAuNjc3Ci0ob3JkIGlzIHJlKS0uMSBGIC0uMDUoZ2EpLS4xNSBHIC42NzcocmRlZCBhcyBhKS4wNSBGIEYyKHBhdHRlcm4pMy4xNzcgRQotRjAgMy4xNzcoLGEpLjI0IEcgLjY3NyhuZCByZXBsYWNlZCB3aXRoIGFuIGFscGhhYmV0aS0pLTMuMTc3IEYgMS40NTYKLShjYWxseSBzb3J0ZWQgbGlzdCBvZiBcMjE0bGUgbmFtZXMgbWF0Y2hpbmcgdGhlIHBhdHRlcm4uKTEwOCA1NjQgUiAxLjQ1NwotKElmIG5vIG1hdGNoaW5nIFwyMTRsZSBuYW1lcyBhcmUgZm91bmQsIGFuZCB0aGUgc2hlbGwpNi40NTcgRihvcHRpb24pMTA4Ci01NzYgUSBGMShudWxsZ2xvYikyLjUzOCBFIEYwIC4wMzgoaXMgbm90IGVuYWJsZWQsIHRoZSB3KTIuNTM4IEYgLjAzOAotKG9yZCBpcyBsZWZ0IHVuY2hhbmdlZC4pLS4xIEYgLjAzOChJZiB0aGUpNS4wMzggRiBGMShudWxsZ2xvYikyLjUzOCBFIEYwCi0uMDM4KG9wdGlvbiBpcyBzZXQsIGFuZCBubyBtYXRjaGVzIGFyZSkyLjUzOCBGIC4zMDUoZm91bmQsIHRoZSB3KTEwOCA1ODgKLVIgLjMwNShvcmQgaXMgcmVtbyktLjEgRiAtLjE1KHZlKS0uMTUgRyAyLjgwNShkLiBJZikuMTUgRih0aGUpMi44MDUgRSBGMQotKGZhaWxnbG9iKTIuODA1IEUgRjAgLjMwNQotKHNoZWxsIG9wdGlvbiBpcyBzZXQsIGFuZCBubyBtYXRjaGVzIGFyZSBmb3VuZCwgYW4gZXJyb3IgbWVzc2FnZSkyLjgwNSBGCi0uOTI5KGlzIHByaW50ZWQgYW5kIHRoZSBjb21tYW5kIGlzIG5vdCBlKTEwOCA2MDAgUiAtLjE1KHhlKS0uMTUgRyAzLjQyOAotKGN1dGVkLiBJZikuMTUgRiAuOTI4KHRoZSBzaGVsbCBvcHRpb24pMy40MjggRiBGMShub2Nhc2VnbG9iKTMuNDI4IEUgRjAKLS45MjgoaXMgZW5hYmxlZCwgdGhlIG1hdGNoIGlzIHBlcikzLjQyOCBGKC0pLS4yIEUgLjAzMgotKGZvcm1lZCB3aXRob3V0IHJlKTEwOCA2MTIgUiAtLjA1KGdhKS0uMTUgRyAuMDMyCi0ocmQgdG8gdGhlIGNhc2Ugb2YgYWxwaGFiZXRpYyBjaGFyYWN0ZXJzLikuMDUgRiAuMDMzCi0oV2hlbiBhIHBhdHRlcm4gaXMgdXNlZCBmb3IgcGF0aG5hbWUgZSk1LjAzMyBGKHhwYW5zaW9uLCktLjE1IEUgLjEwNQotKHRoZSBjaGFyYWN0ZXIpMTA4IDYyNCBSIEYxIC0uNjMoYGApMi42MDUgRyAtLjU1KC4nKS42MyBHKCcpLS4wOCBFIEYwCi0uMTA1KGF0IHRoZSBzdGFydCBvZiBhIG5hbWUgb3IgaW1tZWRpYXRlbHkgZm9sbG8pNS4xMDUgRiAuMTA0Ci0od2luZyBhIHNsYXNoIG11c3QgYmUgbWF0Y2hlZCBlKS0uMjUgRih4cGxpY2l0bHkpLS4xNSBFIDIuNjA0KCx1KS0uNjUgRwotKG5sZXNzKS0yLjYwNCBFIC44ODcodGhlIHNoZWxsIG9wdGlvbikxMDggNjM2IFIgRjEoZG90Z2xvYikzLjM4NyBFIEYwCi0uODg3KGlzIHNldC4pMy4zODcgRiAuODg4Ci0oV2hlbiBtYXRjaGluZyBhIHBhdGhuYW1lLCB0aGUgc2xhc2ggY2hhcmFjdGVyIG11c3QgYWwpNS44ODcgRiAtLjEod2EpCi0tLjEgRyAuODg4KHlzIGJlIG1hdGNoZWQpLjEgRiAtLjE1KGV4KTEwOCA2NDggUyhwbGljaXRseSkuMTUgRSA2LjE2NiguSSkKLS0uNjUgRyAzLjY2NihubyktNi4xNjYgRyAxLjE2Nih0aGVyIGNhc2VzLCB0aGUpLTMuNjY2IEYgRjEgLS42MyhgYCkzLjY2NgotRyAtLjU1KC4nKS42MyBHKCcpLS4wOCBFIEYwIDEuMTY2KGNoYXJhY3RlciBpcyBub3QgdHJlYXRlZCBzcGVjaWFsbHkpCi02LjE2NiBGIDYuMTY1KC5TKS0uNjUgRyAxLjE2NShlZSB0aGUgZGVzY3JpcHRpb24gb2YpLTYuMTY1IEYgRjEoc2hvcHQpCi0zLjY2NSBFIEYwKGJlbG8pMy42NjUgRSh3KS0uMjUgRSh1bmRlcikxMDggNjYwIFEgRjMgLjQ3NyhTSEVMTCBCKTIuOTc3IEYKLShVSUwpLS4wOSBFIC40NzcoVElOIENPTU1BTkRTKS0uODI4IEYgRjAgLjQ3Nyhmb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUpCi0yLjcyNyBGIEYxKG5vY2FzZWdsb2IpMi45NzggRSBGMCgsKUEgRjEobnVsbGdsb2IpMi45NzggRSBGMCgsKUEgRjEKLShmYWlsZ2xvYikyLjk3OCBFIEYwIDIuOTc4KCxhKUMobmQpLTIuOTc4IEUgRjEoZG90Z2xvYikyLjk3OCBFIEYwCi0oc2hlbGwgb3B0aW9ucy4pMTA4IDY3MiBRKFRoZSkxMDggNjg4LjggUSBGMyhHTE9CSUdOT1JFKTIuNjMxIEUgRjAgLjEzMQotKHNoZWxsIHYpMi4zODEgRiAuMTMxCi0oYXJpYWJsZSBtYXkgYmUgdXNlZCB0byByZXN0cmljdCB0aGUgc2V0IG9mIFwyMTRsZSBuYW1lcyBtYXRjaGluZyBhKS0uMjUKLUYgRjIocGF0dGVybikyLjYzIEUgRjAgNS4xMyguSSkuMjQgRyhmKS01LjEzIEUgRjMoR0xPLSkyLjYzIEUoQklHTk9SRSkKLTEwOCA3MDAuOCBRIEYwIDIuMDE1KGlzIHNldCwgZWFjaCBtYXRjaGluZyBcMjE0bGUgbmFtZSB0aGF0IGFsc28gbWF0Y2hlXAotcyBvbmUgb2YgdGhlIHBhdHRlcm5zIGluKTQuMjY0IEYgRjMoR0xPQklHTk9SRSk0LjUxNSBFIEYwKGlzKTQuMjY1IEUKLShyZW1vKTEwOCA3MTIuOCBRIC0uMTUodmUpLS4xNSBHIDIuNTA0KGRmKS4xNSBHIC4wMDQKLShyb20gdGhlIGxpc3Qgb2YgbWF0Y2hlcy4pLTIuNTA0IEYgLjAwMyhUaGUgXDIxNGxlIG5hbWVzKTUuMDAzIEYgRjEgLS42MwotKGBgKTIuNTAzIEcgLS41NSguJykuNjMgRygnKS0uMDggRSBGMChhbmQpNS4wMDMgRSBGMSAtLjYzKGBgKTIuNTAzIEcoLi4pCi0uNjMgRSAtLjYzKCcnKS0uNTUgRyBGMCAuMDAzKGFyZSBhbCk1LjYzMyBGIC0uMSh3YSktLjEgRyAuMDAzCi0oeXMgaWdub3JlZCB3aGVuKS4xIEYgRjMoR0xPQklHTk9SRSkyLjUwMyBFIEYwKGlzKTIuMjUzIEUgLjA0NQotKHNldCBhbmQgbm90IG51bGwuKTEwOCA3MjQuOCBSKEhvKTUuMDQ1IEUod2UpLS4yNSBFIC0uMTUodmUpLS4yNSBHIC44NDUKLS0uNChyLCBzKS4xNSBIKGV0dGluZykuNCBFIEYzKEdMT0JJR05PUkUpMi41NDUgRSBGMCAuMDQ2Ci0odG8gYSBub24tbnVsbCB2KTIuMjk2IEYgLjA0NihhbHVlIGhhcyB0aGUgZWYpLS4yNSBGIC4wNDYKLShmZWN0IG9mIGVuYWJsaW5nIHRoZSktLjI1IEYgRjEoZG90Z2xvYikyLjU0NiBFIEYwKEdOVSBCYXNoLTQuMCk3MiA3NjggUQotKDIwMDkgRmVicnVhcnkgNykxNDAuOTYgRSgyMSkxOTAuOTUgRSAwIENnIEVQCistNC4zNzggRiAxLjg3OChVbnF1b3RlZCBpbXBsaWNpdCBudWxsIGFyKTYuODc4IEYgMS44NzgKKyhndW1lbnRzLCByZXN1bHRpbmcgZnJvbSB0aGUpLS4xOCBGIC0uMTUoZXgpMTA4IDY3NC40IFMgLjE3NgorKHBhbnNpb24gb2YgcGFyYW1ldGVycyB0aGF0IGhhKS4xNSBGIC40NzYgLS4xNSh2ZSBuKS0uMiBIIDIuNjc2KG92KS4xNSBHCisuMTc2KGFsdWVzLCBhcmUgcmVtbyktMi45MjYgRiAtLjE1KHZlKS0uMTUgRyAyLjY3NihkLiBJZikuMTUgRiAyLjY3NyhhcCkKKzIuNjc3IEcgLjE3NyhhcmFtZXRlciB3aXRoIG5vIHYpLTIuNjc3IEYgLjE3NyhhbHVlIGlzIGUpLS4yNSBGIC4xNzcKKyh4cGFuZGVkIHdpdGhpbiktLjE1IEYoZG91YmxlIHF1b3RlcywgYSBudWxsIGFyKTEwOCA2ODYuNCBRCisoZ3VtZW50IHJlc3VsdHMgYW5kIGlzIHJldGFpbmVkLiktLjE4IEUoTm90ZSB0aGF0IGlmIG5vIGUpMTA4IDcwMy4yIFEKKyh4cGFuc2lvbiBvY2N1cnMsIG5vIHNwbGl0dGluZyBpcyBwZXJmb3JtZWQuKS0uMTUgRShHTlUgQmFzaC00LjEpNzIgNzY4CitRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDIxKTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDIyIDIyCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFIC42MTQoc2hlbGwgb3B0aW9uLCBzbyBhbGwgb3RoZXIgXDIxNGxlIG5hbWVzIGJlKTEwOCA4NCBSIC42MTQKLShnaW5uaW5nIHdpdGggYSktLjE1IEYvRjEgMTAvVGltZXMtQm9sZEAwIFNGIC0uNjMoYGApMy4xMTQgRyAtLjU1KC4nKS42MwotRygnKS0uMDggRSBGMCAuNjE0KHdpbGwgbWF0Y2guKTUuNjE0IEYgMi4yMTMgLS44KFRvIGcpNS42MTQgSCAuNjEzCi0oZXQgdGhlIG9sZCBiZWhhKS44IEYgLjYxMyh2aW9yIG9mIGlnbm9yaW5nKS0uMiBGIC40NTYoXDIxNGxlIG5hbWVzIGJlKQotMTA4IDk2IFIgLjQ1NihnaW5uaW5nIHdpdGggYSktLjE1IEYgRjEgLS42MyhgYCkyLjk1NyBHIC0uNTUoLicpLjYzIEcoJykKLS0uMDggRSBGMCAyLjk1NygsbSlDKGFrKS0yLjk1NyBFKGUpLS4xIEUgRjEgLS42MyhgYCkyLjk1NyBHKC4qJykuNjMgRSgnKQotLS42MyBFIEYwIC40NTcob25lIG9mIHRoZSBwYXR0ZXJucyBpbik1LjQ1NyBGL0YyIDkvVGltZXMtQm9sZEAwIFNGCi0oR0xPQklHTk9SRSkyLjk1NyBFL0YzIDkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAoVGhlKTQuOTU3IEUgRjEoZG90Z2xvYikKLTIuOTU3IEUgRjAgLjQ1NyhvcHRpb24gaXMpMi45NTcgRihkaXNhYmxlZCB3aGVuKTEwOCAxMDggUSBGMihHTE9CSUdOT1JFKQotMi41IEUgRjAoaXMgdW5zZXQuKTIuMjUgRSBGMSAtLjEoUGEpMTA4IDEyNC44IFModHRlcikuMSBFIDIuNShuTSktLjE1IEcKLShhdGNoaW5nKS0yLjUgRSBGMChBbikxMDggMTQxLjYgUSAzLjEzOCh5YyktLjE1IEcgLjYzOChoYXJhY3RlciB0aGF0IGFwXAotcGVhcnMgaW4gYSBwYXR0ZXJuLCBvdGhlciB0aGFuIHRoZSBzcGVjaWFsIHBhdHRlcm4gY2hhcmFjdGVycyBkZXNjcmliZWRcCi0gYmVsbyktMy4xMzggRiAxLjkzOCAtLjY1KHcsIG0pLS4yNSBIKGF0Y2hlcykuNjUgRSAzLjYyKGl0c2VsZi4gVGhlKTEwOAotMTUzLjYgUiAxLjEyKE5VTCBjaGFyYWN0ZXIgbWF5IG5vdCBvY2N1ciBpbiBhIHBhdHRlcm4uKTMuNjIgRiAzLjYyKEFiKQotNi4xMiBHIDEuMTIoYWNrc2xhc2ggZXNjYXBlcyB0aGUgZm9sbG8pLTMuNjIgRiAxLjEyKHdpbmcgY2hhcmFjdGVyOyB0aGUpCi0tLjI1IEYgLjU3Nihlc2NhcGluZyBiYWNrc2xhc2ggaXMgZGlzY2FyZGVkIHdoZW4gbWF0Y2hpbmcuKTEwOCAxNjUuNiBSCi0uNTc2KFRoZSBzcGVjaWFsIHBhdHRlcm4gY2hhcmFjdGVycyBtdXN0IGJlIHF1b3RlZCBpZiB0aGUpNS41NzYgRiAzLjA3NgotKHlhKS0uMTUgRyhyZSktMy4wNzYgRSh0byBiZSBtYXRjaGVkIGxpdGVyYWxseSkxMDggMTc3LjYgUSguKS0uNjUgRQotKFRoZSBzcGVjaWFsIHBhdHRlcm4gY2hhcmFjdGVycyBoYSkxMDggMTk0LjQgUSAuMyAtLjE1KHZlIHQpLS4yIEgKLShoZSBmb2xsbykuMTUgRSh3aW5nIG1lYW5pbmdzOiktLjI1IEUgRjEoKikxMDggMjExLjIgUSBGMCAuNDU1Ci0oTWF0Y2hlcyBhbikzMSBGIDIuOTU1KHlzKS0uMTUgRyAuNDU1KHRyaW5nLCBpbmNsdWRpbmcgdGhlIG51bGwgc3RyaW5nLikKLS0yLjk1NSBGIC40NTUoV2hlbiB0aGUpNS40NTUgRiBGMShnbG9ic3RhcikyLjk1NSBFIEYwIC40NTUKLShzaGVsbCBvcHRpb24gaXMgZW5hYmxlZCwgYW5kKTIuOTU1IEYgRjEoKikyLjk1NSBFIEYwKGlzKTIuOTU1IEUgLjU3NgotKHVzZWQgaW4gYSBcMjE0bGVuYW1lIGUpMTQ0IDIyMy4yIFIgLjU3Nih4cGFuc2lvbiBjb250ZSktLjE1IEYgLjU3NQotKHh0LCB0dyktLjE1IEYgMy4wNzUob2EpLS4xIEcoZGphY2VudCktMy4wNzUgRSBGMSgqKTMuMDc1IEUgRjAgMy4wNzUoc3UpCi1DIC41NzUoc2VkIGFzIGEgc2luZ2xlIHBhdHRlcm4gd2lsbCBtYXRjaCBhbGwgXDIxNGxlcyktMy4wNzUgRiAxLjE4MwotKGFuZCB6ZXJvIG9yIG1vcmUgZGlyZWN0b3JpZXMgYW5kIHN1YmRpcmVjdG9yaWVzLikxNDQgMjM1LjIgUiAxLjE4MworLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRiAtLjEoUGEpODcgODQgUyh0aG5hbWUgRXhwYW5zaW9uKS4xIEUgRjAKKy4zNzEoQWZ0ZXIgdykxMDggOTYgUiAuMzcxKG9yZCBzcGxpdHRpbmcsIHVubGVzcyB0aGUpLS4xIEYgRjE8YWQ2Nj4yLjg3MQorRSBGMCAuMzcxKG9wdGlvbiBoYXMgYmVlbiBzZXQsKTIuODcxIEYgRjEoYmFzaCkyLjg3MSBFIEYwIC4zNworKHNjYW5zIGVhY2ggdykyLjg3IEYgLjM3KG9yZCBmb3IgdGhlIGNoYXJhY3RlcnMpLS4xIEYgRjEoKikyLjg3IEUgRjAoLClBCitGMSg/KTIuODcgRSBGMCAyLjg3KCxhKUMobmQpLTIuODcgRSBGMShbKTIuODcgRSBGMCguKUEgLjY3NworKElmIG9uZSBvZiB0aGVzZSBjaGFyYWN0ZXJzIGFwcGVhcnMsIHRoZW4gdGhlIHcpMTA4IDEwOCBSIC42NzcKKyhvcmQgaXMgcmUpLS4xIEYgLS4wNShnYSktLjE1IEcgLjY3NyhyZGVkIGFzIGEpLjA1IEYvRjIgMTAKKy9UaW1lcy1JdGFsaWNAMCBTRihwYXR0ZXJuKTMuMTc3IEUgRjAgMy4xNzcoLGEpLjI0IEcgLjY3OAorKG5kIHJlcGxhY2VkIHdpdGggYW4gYWxwaGFiZXRpLSktMy4xNzcgRiAxLjQ1NworKGNhbGx5IHNvcnRlZCBsaXN0IG9mIFwyMTRsZSBuYW1lcyBtYXRjaGluZyB0aGUgcGF0dGVybi4pMTA4IDEyMCBSIDEuNDU2CisoSWYgbm8gbWF0Y2hpbmcgXDIxNGxlIG5hbWVzIGFyZSBmb3VuZCwgYW5kIHRoZSBzaGVsbCk2LjQ1NyBGKG9wdGlvbikxMDgKKzEzMiBRIEYxKG51bGxnbG9iKTIuNTM3IEUgRjAgLjAzOChpcyBub3QgZW5hYmxlZCwgdGhlIHcpMi41MzcgRiAuMDM4Cisob3JkIGlzIGxlZnQgdW5jaGFuZ2VkLiktLjEgRiAuMDM4KElmIHRoZSk1LjAzOCBGIEYxKG51bGxnbG9iKTIuNTM4IEUgRjAKKy4wMzgob3B0aW9uIGlzIHNldCwgYW5kIG5vIG1hdGNoZXMgYXJlKTIuNTM4IEYgLjMwNihmb3VuZCwgdGhlIHcpMTA4IDE0NAorUiAuMzA2KG9yZCBpcyByZW1vKS0uMSBGIC0uMTUodmUpLS4xNSBHIDIuODA2KGQuIElmKS4xNSBGKHRoZSkyLjgwNSBFIEYxCisoZmFpbGdsb2IpMi44MDUgRSBGMCAuMzA1Cisoc2hlbGwgb3B0aW9uIGlzIHNldCwgYW5kIG5vIG1hdGNoZXMgYXJlIGZvdW5kLCBhbiBlcnJvciBtZXNzYWdlKTIuODA1IEYKKy45MjgoaXMgcHJpbnRlZCBhbmQgdGhlIGNvbW1hbmQgaXMgbm90IGUpMTA4IDE1NiBSIC0uMTUoeGUpLS4xNSBHIDMuNDI4CisoY3V0ZWQuIElmKS4xNSBGIC45MjgodGhlIHNoZWxsIG9wdGlvbikzLjQyOCBGIEYxKG5vY2FzZWdsb2IpMy40MjggRSBGMAorLjkyOShpcyBlbmFibGVkLCB0aGUgbWF0Y2ggaXMgcGVyKTMuNDI5IEYoLSktLjIgRSAuMDMzCisoZm9ybWVkIHdpdGhvdXQgcmUpMTA4IDE2OCBSIC0uMDUoZ2EpLS4xNSBHIC4wMzMKKyhyZCB0byB0aGUgY2FzZSBvZiBhbHBoYWJldGljIGNoYXJhY3RlcnMuKS4wNSBGIC4wMzIKKyhXaGVuIGEgcGF0dGVybiBpcyB1c2VkIGZvciBwYXRobmFtZSBlKTUuMDMyIEYoeHBhbnNpb24sKS0uMTUgRSAuMTA0CisodGhlIGNoYXJhY3RlcikxMDggMTgwIFIgRjEgLS42MyhgYCkyLjYwNCBHIC0uNTUoLicpLjYzIEcoJyktLjA4IEUgRjAKKy4xMDQoYXQgdGhlIHN0YXJ0IG9mIGEgbmFtZSBvciBpbW1lZGlhdGVseSBmb2xsbyk1LjEwNCBGIC4xMDUKKyh3aW5nIGEgc2xhc2ggbXVzdCBiZSBtYXRjaGVkIGUpLS4yNSBGKHhwbGljaXRseSktLjE1IEUgMi42MDUoLHUpLS42NSBHCisobmxlc3MpLTIuNjA1IEUgLjg4OCh0aGUgc2hlbGwgb3B0aW9uKTEwOCAxOTIgUiBGMShkb3RnbG9iKTMuMzg4IEUgRjAKKy44ODgoaXMgc2V0LikzLjM4OCBGIC44ODcKKyhXaGVuIG1hdGNoaW5nIGEgcGF0aG5hbWUsIHRoZSBzbGFzaCBjaGFyYWN0ZXIgbXVzdCBhbCk1Ljg4OCBGIC0uMSh3YSkKKy0uMSBHIC44ODcoeXMgYmUgbWF0Y2hlZCkuMSBGIC0uMTUoZXgpMTA4IDIwNCBTKHBsaWNpdGx5KS4xNSBFIDYuMTY1KC5JKQorLS42NSBHIDMuNjY1KG5vKS02LjE2NSBHIDEuMTY1KHRoZXIgY2FzZXMsIHRoZSktMy42NjUgRiBGMSAtLjYzKGBgKTMuNjY1CitHIC0uNTUoLicpLjYzIEcoJyktLjA4IEUgRjAgMS4xNjYoY2hhcmFjdGVyIGlzIG5vdCB0cmVhdGVkIHNwZWNpYWxseSkKKzYuMTY1IEYgNi4xNjYoLlMpLS42NSBHIDEuMTY2KGVlIHRoZSBkZXNjcmlwdGlvbiBvZiktNi4xNjYgRiBGMShzaG9wdCkKKzMuNjY2IEUgRjAoYmVsbykzLjY2NiBFKHcpLS4yNSBFKHVuZGVyKTEwOCAyMTYgUS9GMyA5L1RpbWVzLUJvbGRAMCBTRgorLjQ3OChTSEVMTCBCKTIuOTc4IEYoVUlMKS0uMDkgRSAuNDc4KFRJTiBDT01NQU5EUyktLjgyOCBGIEYwIC40NzcKKyhmb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUpMi43MjggRiBGMShub2Nhc2VnbG9iKTIuOTc3IEUgRjAoLClBIEYxCisobnVsbGdsb2IpMi45NzcgRSBGMCgsKUEgRjEoZmFpbGdsb2IpMi45NzcgRSBGMCAyLjk3NygsYSlDKG5kKS0yLjk3NyBFCitGMShkb3RnbG9iKTIuOTc3IEUgRjAoc2hlbGwgb3B0aW9ucy4pMTA4IDIyOCBRKFRoZSkxMDggMjQ0LjggUSBGMworKEdMT0JJR05PUkUpMi42MyBFIEYwIC4xMyhzaGVsbCB2KTIuMzggRiAuMTMxCisoYXJpYWJsZSBtYXkgYmUgdXNlZCB0byByZXN0cmljdCB0aGUgc2V0IG9mIFwyMTRsZSBuYW1lcyBtYXRjaGluZyBhKS0uMjUKK0YgRjIocGF0dGVybikyLjYzMSBFIEYwIDUuMTMxKC5JKS4yNCBHKGYpLTUuMTMxIEUgRjMoR0xPLSkyLjYzMSBFCisoQklHTk9SRSkxMDggMjU2LjggUSBGMCAyLjAxNShpcyBzZXQsIGVhY2ggbWF0Y2hpbmcgXDIxNGxlIG5hbWUgdGhhdCBhbFwKK3NvIG1hdGNoZXMgb25lIG9mIHRoZSBwYXR0ZXJucyBpbik0LjI2NSBGIEYzKEdMT0JJR05PUkUpNC41MTUgRSBGMChpcykKKzQuMjY0IEUocmVtbykxMDggMjY4LjggUSAtLjE1KHZlKS0uMTUgRyAyLjUwMyhkZikuMTUgRyAuMDAzCisocm9tIHRoZSBsaXN0IG9mIG1hdGNoZXMuKS0yLjUwMyBGIC4wMDMoVGhlIFwyMTRsZSBuYW1lcyk1LjAwMyBGIEYxIC0uNjMKKyhgYCkyLjUwMyBHIC0uNTUoLicpLjYzIEcoJyktLjA4IEUgRjAoYW5kKTUuMDAzIEUgRjEgLS42MyhgYCkyLjUwMyBHKC4uKQorLjYzIEUgLS42MygnJyktLjU1IEcgRjAgLjAwNChhcmUgYWwpNS42MzMgRiAtLjEod2EpLS4xIEcgLjAwNAorKHlzIGlnbm9yZWQgd2hlbikuMSBGIEYzKEdMT0JJR05PUkUpMi41MDQgRSBGMChpcykyLjI1NCBFIC4wNDYKKyhzZXQgYW5kIG5vdCBudWxsLikxMDggMjgwLjggUihIbyk1LjA0NiBFKHdlKS0uMjUgRSAtLjE1KHZlKS0uMjUgRyAuODQ2CistLjQociwgcykuMTUgSChldHRpbmcpLjQgRSBGMyhHTE9CSUdOT1JFKTIuNTQ2IEUgRjAgLjA0NgorKHRvIGEgbm9uLW51bGwgdikyLjI5NiBGIC4wNDUoYWx1ZSBoYXMgdGhlIGVmKS0uMjUgRiAuMDQ1CisoZmVjdCBvZiBlbmFibGluZyB0aGUpLS4yNSBGIEYxKGRvdGdsb2IpMi41NDUgRSBGMCAuNjEzCisoc2hlbGwgb3B0aW9uLCBzbyBhbGwgb3RoZXIgXDIxNGxlIG5hbWVzIGJlKTEwOCAyOTIuOCBSIC42MTQKKyhnaW5uaW5nIHdpdGggYSktLjE1IEYgRjEgLS42MyhgYCkzLjExNCBHIC0uNTUoLicpLjYzIEcoJyktLjA4IEUgRjAgLjYxNAorKHdpbGwgbWF0Y2guKTUuNjE0IEYgMi4yMTQgLS44KFRvIGcpNS42MTQgSCAuNjE0KGV0IHRoZSBvbGQgYmVoYSkuOCBGCisuNjE0KHZpb3Igb2YgaWdub3JpbmcpLS4yIEYgLjQ1NyhcMjE0bGUgbmFtZXMgYmUpMTA4IDMwNC44IFIgLjQ1NworKGdpbm5pbmcgd2l0aCBhKS0uMTUgRiBGMSAtLjYzKGBgKTIuOTU3IEcgLS41NSguJykuNjMgRygnKS0uMDggRSBGMAorMi45NTcoLG0pQyhhayktMi45NTcgRShlKS0uMSBFIEYxIC0uNjMoYGApMi45NTcgRyguKicpLjYzIEUoJyktLjYzIEUgRjAKKy40NTcob25lIG9mIHRoZSBwYXR0ZXJucyBpbik1LjQ1NyBGIEYzKEdMT0JJR05PUkUpMi45NTcgRS9GNCA5CisvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAoVGhlKTQuOTU3IEUgRjEoZG90Z2xvYikyLjk1NiBFIEYwIC40NTYKKyhvcHRpb24gaXMpMi45NTYgRihkaXNhYmxlZCB3aGVuKTEwOCAzMTYuOCBRIEYzKEdMT0JJR05PUkUpMi41IEUgRjAKKyhpcyB1bnNldC4pMi4yNSBFIEYxIC0uMShQYSkxMDggMzMzLjYgUyh0dGVyKS4xIEUgMi41KG5NKS0uMTUgRyhhdGNoaW5nKQorLTIuNSBFIEYwKEFuKTEwOCAzNTAuNCBRIDMuMTM4KHljKS0uMTUgRyAuNjM4KGhhcmFjdGVyIHRoYXQgYXBwZWFycyBpbiBcCithIHBhdHRlcm4sIG90aGVyIHRoYW4gdGhlIHNwZWNpYWwgcGF0dGVybiBjaGFyYWN0ZXJzIGRlc2NyaWJlZCBiZWxvKQorLTMuMTM4IEYgMS45MzggLS42NSh3LCBtKS0uMjUgSChhdGNoZXMpLjY1IEUgMy42MihpdHNlbGYuIFRoZSkxMDggMzYyLjQKK1IgMS4xMihOVUwgY2hhcmFjdGVyIG1heSBub3Qgb2NjdXIgaW4gYSBwYXR0ZXJuLikzLjYyIEYgMy42MihBYik2LjEyIEcKKzEuMTIoYWNrc2xhc2ggZXNjYXBlcyB0aGUgZm9sbG8pLTMuNjIgRiAxLjEyKHdpbmcgY2hhcmFjdGVyOyB0aGUpLS4yNSBGCisuNTc2KGVzY2FwaW5nIGJhY2tzbGFzaCBpcyBkaXNjYXJkZWQgd2hlbiBtYXRjaGluZy4pMTA4IDM3NC40IFIgLjU3NgorKFRoZSBzcGVjaWFsIHBhdHRlcm4gY2hhcmFjdGVycyBtdXN0IGJlIHF1b3RlZCBpZiB0aGUpNS41NzYgRiAzLjA3Nih5YSkKKy0uMTUgRyhyZSktMy4wNzYgRSh0byBiZSBtYXRjaGVkIGxpdGVyYWxseSkxMDggMzg2LjQgUSguKS0uNjUgRQorKFRoZSBzcGVjaWFsIHBhdHRlcm4gY2hhcmFjdGVycyBoYSkxMDggNDAzLjIgUSAuMyAtLjE1KHZlIHQpLS4yIEgKKyhoZSBmb2xsbykuMTUgRSh3aW5nIG1lYW5pbmdzOiktLjI1IEUgRjEoKikxMDggNDIwIFEgRjAgLjQ1NShNYXRjaGVzIGFuKQorMzEgRiAyLjk1NSh5cyktLjE1IEcgLjQ1NSh0cmluZywgaW5jbHVkaW5nIHRoZSBudWxsIHN0cmluZy4pLTIuOTU1IEYKKy40NTUoV2hlbiB0aGUpNS40NTUgRiBGMShnbG9ic3RhcikyLjk1NSBFIEYwIC40NTUKKyhzaGVsbCBvcHRpb24gaXMgZW5hYmxlZCwgYW5kKTIuOTU1IEYgRjEoKikyLjk1NSBFIEYwKGlzKTIuOTU1IEUgLjMxNAorKHVzZWQgaW4gYSBwYXRobmFtZSBlKTE0NCA0MzIgUiAuMzE0KHhwYW5zaW9uIGNvbnRlKS0uMTUgRiAuMzE0KHh0LCB0dykKKy0uMTUgRiAyLjgxNChvYSktLjEgRyhkamFjZW50KS0yLjgxNCBFIEYxKCopMi44MTQgRSBGMCAyLjgxNChzdSlDIC4zMTQKKyhzZWQgYXMgYSBzaW5nbGUgcGF0dGVybiB3aWxsIG1hdGNoIGFsbCBcMjE0bGVzKS0yLjgxNCBGIDEuMTgzCisoYW5kIHplcm8gb3IgbW9yZSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMuKTE0NCA0NDQgUiAxLjE4MwogKElmIGZvbGxvKTYuMTgzIEYgMS4xODMod2VkIGJ5IGEpLS4yNSBGIEYxKC8pMy42ODMgRSBGMCAzLjY4MygsdClDIDEuMzgzCi0tLjEod28gYSktMy42ODMgSChkamFjZW50KS4xIEUgRjEoKikzLjY4MyBFIEYwIDMuNjg0KHN3KUMgMS4xODQKLShpbGwgbWF0Y2gpLTMuNjg0IEYob25seSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMuKTE0NCAyNDcuMiBRIEYxCi0oPykxMDggMjU5LjIgUSBGMChNYXRjaGVzIGFuKTMxIEUgMi41KHlzKS0uMTUgRyhpbmdsZSBjaGFyYWN0ZXIpLTIuNSBFCi0oLiktLjU1IEUgRjEoWy4uLl0pMTA4IDI3MS4yIFEgRjAgLjI1NyhNYXRjaGVzIGFuKTIxLjg0IEYgMi43NTcoeW8pLS4xNQotRyAuMjU3KG5lIG9mIHRoZSBlbmNsb3NlZCBjaGFyYWN0ZXJzLiktMi43NTcgRiAyLjc1NyhBcCk1LjI1NyBHIC4yNTcKLShhaXIgb2YgY2hhcmFjdGVycyBzZXBhcmF0ZWQgYnkgYSBoKS0yLjc1NyBGIC4yNTYoeXBoZW4gZGVub3RlcyBhKS0uMDUgRgotL0Y0IDEwL1RpbWVzLUl0YWxpY0AwIFNGIC0uMTUocmEpMTQ0IDI4My4yIFMobmcpLjE1IEUgMy4yODkoZWUpLS4xIEcKLSh4cHIpLTMuNDg5IEUoZXNzaW9uKS0uMzcgRSBGMCAzLjI4OSg7YSlDIDEuMDg5IC0uMTUobnkgYyktMy4yODkgSCAuNzg5CistLjEod28gYSktMy42ODMgSChkamFjZW50KS4xIEUgRjEoKikzLjY4MyBFIEYwIDMuNjgzKHN3KUMgMS4xODMKKyhpbGwgbWF0Y2gpLTMuNjgzIEYob25seSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMuKTE0NCA0NTYgUSBGMSg/KQorMTA4IDQ2OCBRIEYwKE1hdGNoZXMgYW4pMzEgRSAyLjUoeXMpLS4xNSBHKGluZ2xlIGNoYXJhY3RlciktMi41IEUoLiktLjU1CitFIEYxKFsuLi5dKTEwOCA0ODAgUSBGMCAuMjU2KE1hdGNoZXMgYW4pMjEuODQgRiAyLjc1Nih5byktLjE1IEcgLjI1NworKG5lIG9mIHRoZSBlbmNsb3NlZCBjaGFyYWN0ZXJzLiktMi43NTYgRiAyLjc1NyhBcCk1LjI1NyBHIC4yNTcKKyhhaXIgb2YgY2hhcmFjdGVycyBzZXBhcmF0ZWQgYnkgYSBoKS0yLjc1NyBGIC4yNTcoeXBoZW4gZGVub3RlcyBhKS0uMDUgRgorRjIgLS4xNShyYSkxNDQgNDkyIFMobmcpLjE1IEUgMy4yOShlZSktLjEgRyh4cHIpLTMuNDkgRShlc3Npb24pLS4zNyBFIEYwCiszLjI5KDthKUMgMS4wOSAtLjE1KG55IGMpLTMuMjkgSCAuNzg5CiAoaGFyYWN0ZXIgdGhhdCBzb3J0cyBiZXR3ZWVuIHRob3NlIHR3KS4xNSBGIDMuMjg5KG9jKS0uMSBHIC43ODkKLShoYXJhY3RlcnMsIGluY2x1c2kpLTMuMjg5IEYgLS4xNSh2ZSktLjI1IEcgMy4yOSgsdSkuMTUgRyAuNzkKLShzaW5nIHRoZSBjdXIpLTMuMjkgRigtKS0uMiBFIC4zNShyZW50IGxvY2FsZScpMTQ0IDI5NS4yIFIgMi44NShzYyktLjU1Ci1HIC4zNShvbGxhdGluZyBzZXF1ZW5jZSBhbmQgY2hhcmFjdGVyIHNldCwgaXMgbWF0Y2hlZC4pLTIuODUgRiAuMzQ5Ci0oSWYgdGhlIFwyMTRyc3QgY2hhcmFjdGVyIGZvbGxvKTUuMzQ5IEYgLjM0OSh3aW5nIHRoZSktLjI1IEYgRjEoWykyLjg0OQotRSBGMCAuNTYzKGlzIGEpMTQ0IDMwNy4yIFIgRjEoISkzLjA2MyBFIEYwIC41NjMob3IgYSk1LjU2MyBGIEYxKF4pMy4wNjMKLUUgRjAgLjU2NCh0aGVuIGFuKTMuMDYzIEYgMy4wNjQoeWMpLS4xNSBHIC41NjQKLShoYXJhY3RlciBub3QgZW5jbG9zZWQgaXMgbWF0Y2hlZC4pLTMuMDY0IEYgLjU2NAotKFRoZSBzb3J0aW5nIG9yZGVyIG9mIGNoYXJhY3RlcnMgaW4gcmFuZ2UpNS41NjQgRiAtLjE1KGV4KTE0NCAzMTkuMiBTCi0xLjEwMihwcmVzc2lvbnMgaXMgZGV0ZXJtaW5lZCBieSB0aGUgY3VycmVudCBsb2NhbGUgYW5kIHRoZSB2KS4xNSBGCi0xLjEwMihhbHVlIG9mIHRoZSktLjI1IEYgRjEoTENfQ09MTEEpMy42MDIgRShURSktLjk1IEUgRjAgMS4xMDIoc2hlbGwgdikKLTMuNjAyIEYoYXJpLSktLjI1IEUgLjA4OChhYmxlLCBpZiBzZXQuKTE0NCAzMzEuMiBSKEEpNS4wODggRSBGMTxhZD4yLjU4OAotRSBGMCAuMDg4KG1heSBiZSBtYXRjaGVkIGJ5IGluY2x1ZGluZyBpdCBhcyB0aGUgXDIxNHJzdCBvciBsYXN0IGNoYXJhY3RcCi1lciBpbiB0aGUgc2V0LikyLjU4OCBGKEEpNS4wODkgRSBGMShdKTIuNTg5IEUgRjAgLjA4OShtYXkgYmUpMi41ODkgRgotKG1hdGNoZWQgYnkgaW5jbHVkaW5nIGl0IGFzIHRoZSBcMjE0cnN0IGNoYXJhY3RlciBpbiB0aGUgc2V0LikxNDQgMzQzLjIKLVEgLS40KFdpKTE0NCAzNjEuMiBTKHRoaW4pLjQgRSBGMShbKTIuOTE1IEUgRjAoYW5kKTIuOTE1IEUgRjEoXSkyLjkxNSBFCi1GMCgsKUEgRjQgLS4xNShjaCkyLjkxNSBHKGFyKS4xNSBFIC40MTUoYWN0ZXIgY2xhc3NlcyktLjE1IEYgRjAgLjQxNQotKGNhbiBiZSBzcGVjaVwyMTRlZCB1c2luZyB0aGUgc3ludGF4KTIuOTE1IEYgRjEoWzopMi45MTUgRSBGNChjbGFzcylBIEYxCi0oOl0pQSBGMCAyLjkxNCgsdylDKGhlcmUpLTIuOTE0IEUgRjQoY2xhc3MpMi45MTQgRSBGMCAuNDE0KGlzIG9uZSBvZikKLTIuOTE0IEYodGhlIGZvbGxvKTE0NCAzNzMuMiBRCisoaGFyYWN0ZXJzLCBpbmNsdXNpKS0zLjI4OSBGIC0uMTUodmUpLS4yNSBHIDMuMjg5KCx1KS4xNSBHIC43ODkKKyhzaW5nIHRoZSBjdXIpLTMuMjg5IEYoLSktLjIgRSAuMzQ5KHJlbnQgbG9jYWxlJykxNDQgNTA0IFIgMi44NDkoc2MpLS41NQorRyAuMzQ5KG9sbGF0aW5nIHNlcXVlbmNlIGFuZCBjaGFyYWN0ZXIgc2V0LCBpcyBtYXRjaGVkLiktMi44NDkgRiAuMzUKKyhJZiB0aGUgXDIxNHJzdCBjaGFyYWN0ZXIgZm9sbG8pNS4zNDkgRiAuMzUod2luZyB0aGUpLS4yNSBGIEYxKFspMi44NSBFCitGMCAuNTY0KGlzIGEpMTQ0IDUxNiBSIEYxKCEpMy4wNjQgRSBGMCAuNTY0KG9yIGEpNS41NjQgRiBGMSheKTMuMDY0IEUgRjAKKy41NjQodGhlbiBhbikzLjA2NCBGIDMuMDY0KHljKS0uMTUgRyAuNTY0CisoaGFyYWN0ZXIgbm90IGVuY2xvc2VkIGlzIG1hdGNoZWQuKS0zLjA2NCBGIC41NjMKKyhUaGUgc29ydGluZyBvcmRlciBvZiBjaGFyYWN0ZXJzIGluIHJhbmdlKTUuNTY0IEYgLS4xNShleCkxNDQgNTI4IFMgLjQ2NworKHByZXNzaW9ucyBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBjdXJyZW50IGxvY2FsZSBhbmQgdGhlIHYpLjE1IEYgLjQ2NworKGFsdWUgb2YgdGhlKS0uMjUgRiBGMyhMQ19DT0xMQSkyLjk2NyBFKFRFKS0uODU1IEUgRjAgLjQ2NyhzaGVsbCB2KTIuNzE3CitGKGFyaWFibGUsKS0uMjUgRSAxLjA3NyhpZiBzZXQuKTE0NCA1NDAgUihBKTYuMDc3IEUgRjE8YWQ+My41NzcgRSBGMAorMS4wNzcobWF5IGJlIG1hdGNoZWQgYnkgaW5jbHVkaW5nIGl0IGFzIHRoZSBcMjE0cnN0IG9yIGxhc3QgY2hhcmFjdGVyIGlcCituIHRoZSBzZXQuKTMuNTc3IEYoQSk2LjA3NiBFIEYxKF0pMy41NzYgRSBGMCAxLjA3NihtYXkgYmUpMy41NzYgRgorKG1hdGNoZWQgYnkgaW5jbHVkaW5nIGl0IGFzIHRoZSBcMjE0cnN0IGNoYXJhY3RlciBpbiB0aGUgc2V0LikxNDQgNTUyIFEKKy0uNChXaSkxNDQgNTcwIFModGhpbikuNCBFIEYxKFspMi45MTQgRSBGMChhbmQpMi45MTQgRSBGMShdKTIuOTE0IEUgRjAKKygsKUEgRjIgLS4xNShjaCkyLjkxNCBHKGFyKS4xNSBFIC40MTQoYWN0ZXIgY2xhc3NlcyktLjE1IEYgRjAgLjQxNQorKGNhbiBiZSBzcGVjaVwyMTRlZCB1c2luZyB0aGUgc3ludGF4KTIuOTE1IEYgRjEoWzopMi45MTUgRSBGMihjbGFzcylBIEYxCisoOl0pQSBGMCAyLjkxNSgsdylDKGhlcmUpLTIuOTE1IEUgRjIoY2xhc3MpMi45MTUgRSBGMCAuNDE1KGlzIG9uZSBvZikKKzIuOTE1IEYodGhlIGZvbGxvKTE0NCA1ODIgUQogKHdpbmcgY2xhc3NlcyBkZVwyMTRuZWQgaW4gdGhlIFBPU0lYIHN0YW5kYXJkOiktLjI1IEUgRjEgNS40MjEKLShhbG51bSBhbHBoYSBhc2NpaSBibGFuayBjbnRybCBkaWdpdCBncmFwaCBsbykxNDQgMzg1LjIgUiA1LjQyMQotKHdlciBwcmludCBwdW5jdCBzcGFjZSB1cHBlciB3KS0uMSBGKG9yZCktLjEgRSh4ZGlnaXQpMTQ0IDM5Ny4yIFEgRjAKLTIuNTE5KEFjKTE0NCA0MDkuMiBTIC4wMTkoaGFyYWN0ZXIgY2xhc3MgbWF0Y2hlcyBhbiktMi41MTkgRiAyLjUxOSh5YykKLS0uMTUgRyAuMDE5KGhhcmFjdGVyIGJlbG9uZ2luZyB0byB0aGF0IGNsYXNzLiktMi41MTkgRihUaGUpNS4wMTggRSBGMQotLS4xKHdvKTIuNTE4IEcocmQpLjEgRSBGMCAuMDE4KGNoYXJhY3RlciBjbGFzcyBtYXRjaGVzKTIuNTE4IEYKLShsZXR0ZXJzLCBkaWdpdHMsIGFuZCB0aGUgY2hhcmFjdGVyIF8uKTE0NCA0MjEuMiBRIC0uNChXaSkxNDQgNDM5LjIgUwotKHRoaW4pLjQgRSBGMShbKTMuNTQ2IEUgRjAoYW5kKTMuNTQ2IEUgRjEoXSkzLjU0NiBFIEYwIDMuNTQ2KCxhKUMobikKLS0zLjU0NiBFIEY0IDEuMDQ2KGVxdWl2YWxlbmNlIGNsYXNzKTMuNTQ2IEYgRjAgMS4wNDYKLShjYW4gYmUgc3BlY2lcMjE0ZWQgdXNpbmcgdGhlIHN5bnRheCkzLjU0NiBGIEYxKFs9KTMuNTQ3IEUgRjQoYylBIEYxKD1dKQotQSBGMCAzLjU0NygsdylDIDEuMDQ3KGhpY2ggbWF0Y2hlcyBhbGwpLTMuNTQ3IEYoY2hhcmFjdGVycyB3aXRoIHRoZSBzYW1cCisoYWxudW0gYWxwaGEgYXNjaWkgYmxhbmsgY250cmwgZGlnaXQgZ3JhcGggbG8pMTQ0IDU5NCBSIDUuNDIxCisod2VyIHByaW50IHB1bmN0IHNwYWNlIHVwcGVyIHcpLS4xIEYob3JkKS0uMSBFKHhkaWdpdCkxNDQgNjA2IFEgRjAgMi41MTgKKyhBYykxNDQgNjE4IFMgLjAxOChoYXJhY3RlciBjbGFzcyBtYXRjaGVzIGFuKS0yLjUxOCBGIDIuNTE4KHljKS0uMTUgRworLjAxOShoYXJhY3RlciBiZWxvbmdpbmcgdG8gdGhhdCBjbGFzcy4pLTIuNTE4IEYoVGhlKTUuMDE5IEUgRjEgLS4xKHdvKQorMi41MTkgRyhyZCkuMSBFIEYwIC4wMTkoY2hhcmFjdGVyIGNsYXNzIG1hdGNoZXMpMi41MTkgRgorKGxldHRlcnMsIGRpZ2l0cywgYW5kIHRoZSBjaGFyYWN0ZXIgXy4pMTQ0IDYzMCBRIC0uNChXaSkxNDQgNjQ4IFModGhpbikKKy40IEUgRjEoWykzLjU0NyBFIEYwKGFuZCkzLjU0NyBFIEYxKF0pMy41NDcgRSBGMCAzLjU0NygsYSlDKG4pLTMuNTQ3IEUKK0YyIDEuMDQ2KGVxdWl2YWxlbmNlIGNsYXNzKTMuNTQ2IEYgRjAgMS4wNDYKKyhjYW4gYmUgc3BlY2lcMjE0ZWQgdXNpbmcgdGhlIHN5bnRheCkzLjU0NiBGIEYxKFs9KTMuNTQ2IEUgRjIoYylBIEYxKD1dKQorQSBGMCAzLjU0NigsdylDIDEuMDQ2KGhpY2ggbWF0Y2hlcyBhbGwpLTMuNTQ2IEYoY2hhcmFjdGVycyB3aXRoIHRoZSBzYW1cCiBlIGNvbGxhdGlvbiB3ZWlnaHQgXChhcyBkZVwyMTRuZWQgYnkgdGhlIGN1cnJlbnQgbG9jYWxlXCkgYXMgdGhlIGNoYXJhY1wKLXRlcikxNDQgNDUxLjIgUSBGNChjKTIuNSBFIEYwKC4pQSAtLjQoV2kpMTQ0IDQ2OS4yIFModGhpbikuNCBFIEYxKFspMi41Ci1FIEYwKGFuZCkyLjUgRSBGMShdKTIuNSBFIEYwIDIuNSgsdClDKGhlIHN5bnRheCktMi41IEUgRjEoWy4pMi41IEUgRjQKLShzeW1ib2wpQSBGMSguXSlBIEYwKG1hdGNoZXMgdGhlIGNvbGxhdGluZyBzeW1ib2wpMi41IEUgRjQoc3ltYm9sKTIuNSBFCi1GMCguKUEgLjcwNShJZiB0aGUpMTA4IDQ4NiBSIEYxKGV4dGdsb2IpMy4yMDUgRSBGMCAuNzA1Ci0oc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQgdXNpbmcgdGhlKTMuMjA1IEYgRjEoc2hvcHQpMy4yMDUgRSBGMCAtLjIoYnUpCi0zLjIwNSBHIC43MDQoaWx0aW4sIHNlKS4yIEYgLS4xNSh2ZSktLjI1IEcgLjcwNChyYWwgZSkuMTUgRiAuNzA0Ci0oeHRlbmRlZCBwYXR0ZXJuIG1hdGNoaW5nIG9wZXJhdG9ycyktLjE1IEYgLjI1NShhcmUgcmVjb2duaXplZC4pMTA4IDQ5OAotUiAuMjU1KEluIHRoZSBmb2xsbyk1LjI1NSBGIC4yNTUod2luZyBkZXNjcmlwdGlvbiwgYSktLjI1IEYgRjQKK3RlcikxNDQgNjYwIFEgRjIoYykyLjUgRSBGMCguKUEgLS40KFdpKTE0NCA2NzggUyh0aGluKS40IEUgRjEoWykyLjUgRSBGMAorKGFuZCkyLjUgRSBGMShdKTIuNSBFIEYwIDIuNSgsdClDKGhlIHN5bnRheCktMi41IEUgRjEoWy4pMi41IEUgRjIKKyhzeW1ib2wpQSBGMSguXSlBIEYwKG1hdGNoZXMgdGhlIGNvbGxhdGluZyBzeW1ib2wpMi41IEUgRjIoc3ltYm9sKTIuNSBFCitGMCguKUEgLjcwNChJZiB0aGUpMTA4IDY5NC44IFIgRjEoZXh0Z2xvYikzLjIwNCBFIEYwIC43MDUKKyhzaGVsbCBvcHRpb24gaXMgZW5hYmxlZCB1c2luZyB0aGUpMy4yMDQgRiBGMShzaG9wdCkzLjIwNSBFIEYwIC0uMihidSkKKzMuMjA1IEcgLjcwNShpbHRpbiwgc2UpLjIgRiAtLjE1KHZlKS0uMjUgRyAuNzA1KHJhbCBlKS4xNSBGIC43MDUKKyh4dGVuZGVkIHBhdHRlcm4gbWF0Y2hpbmcgb3BlcmF0b3JzKS0uMTUgRiAuMjU2KGFyZSByZWNvZ25pemVkLikxMDgKKzcwNi44IFIgLjI1NihJbiB0aGUgZm9sbG8pNS4yNTYgRiAuMjU2KHdpbmcgZGVzY3JpcHRpb24sIGEpLS4yNSBGIEYyCiAocGF0dGVybi1saXN0KTIuNzU1IEUgRjAgLjI1NQotKGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwYXR0ZXJucyBzZXBhcmF0ZWQgYnkgYSkyLjc1NSBGIEYxKHwpMi43NTYgRQorKGlzIGEgbGlzdCBvZiBvbmUgb3IgbW9yZSBwYXR0ZXJucyBzZXBhcmF0ZWQgYnkgYSkyLjc1NSBGIEYxKHwpMi43NTUgRQogRjAoLilBKENvbXBvc2l0ZSBwYXR0ZXJucyBtYXkgYmUgZm9ybWVkIHVzaW5nIG9uZSBvciBtb3JlIG9mIHRoZSBmb2xsbykKLTEwOCA1MTAgUSh3aW5nIHN1Yi1wYXR0ZXJuczopLS4yNSBFIEYxKD9cKCkxNDQgNTM0IFEgRjQocGF0dGVybi1saXN0KQotLjgzMyBFIEYxKFwpKS44MzMgRSBGMChNYXRjaGVzIHplcm8gb3Igb25lIG9jY3VycmVuY2Ugb2YgdGhlIGdpKTE4MCA1NDYKLVEgLS4xNSh2ZSktLjI1IEcgMi41KG5wKS4xNSBHKGF0dGVybnMpLTIuNSBFIEYxKCpcKCkxNDQgNTU4IFEgRjQKLShwYXR0ZXJuLWxpc3QpLjgzMyBFIEYxKFwpKS44MzMgRSBGMAotKE1hdGNoZXMgemVybyBvciBtb3JlIG9jY3VycmVuY2VzIG9mIHRoZSBnaSkxODAgNTcwIFEgLS4xNSh2ZSktLjI1IEcgMi41Ci0obnApLjE1IEcoYXR0ZXJucyktMi41IEUgRjEoK1woKTE0NCA1ODIgUSBGNChwYXR0ZXJuLWxpc3QpLjgzMyBFIEYxKFwpKQotLjgzMyBFIEYwKE1hdGNoZXMgb25lIG9yIG1vcmUgb2NjdXJyZW5jZXMgb2YgdGhlIGdpKTE4MCA1OTQgUSAtLjE1KHZlKQotLS4yNSBHIDIuNShucCkuMTUgRyhhdHRlcm5zKS0yLjUgRSBGMShAXCgpMTQ0IDYwNiBRIEY0KHBhdHRlcm4tbGlzdCkuODMzCi1FIEYxKFwpKS44MzMgRSBGMChNYXRjaGVzIG9uZSBvZiB0aGUgZ2kpMTgwIDYxOCBRIC0uMTUodmUpLS4yNSBHIDIuNShucCkKLS4xNSBHKGF0dGVybnMpLTIuNSBFIEYxKCFcKCkxNDQgNjMwIFEgRjQocGF0dGVybi1saXN0KS44MzMgRSBGMShcKSkuODMzCi1FIEYwKE1hdGNoZXMgYW4pMTgwIDY0MiBRKHl0aGluZyBlKS0uMTUgRSh4Y2VwdCBvbmUgb2YgdGhlIGdpKS0uMTUgRQotLS4xNSh2ZSktLjI1IEcgMi41KG5wKS4xNSBHKGF0dGVybnMpLTIuNSBFIEYxKFF1b3RlIFJlbW8pODcgNjU4LjggUSAtLjEKLSh2YSktLjEgRyhsKS4xIEUgRjAgMS4xMTMoQWZ0ZXIgdGhlIHByZWNlZGluZyBlKTEwOCA2NzAuOCBSIDEuMTEzCi0oeHBhbnNpb25zLCBhbGwgdW5xdW90ZWQgb2NjdXJyZW5jZXMgb2YgdGhlIGNoYXJhY3RlcnMpLS4xNSBGIEYxKFxcKQotMy42MTMgRSBGMCgsKUEgRjE8MDg+My42MTIgRSBGMCAzLjYxMigsYSlDKG5kKS0zLjYxMiBFIEYxKCIpNC40NDUgRSBGMAotMS4xMTIodGhhdCBkaWQgbm90IHJlc3VsdCk0LjQ0NSBGKGZyb20gb25lIG9mIHRoZSBhYm8pMTA4IDY4Mi44IFEgLjMKLS0uMTUodmUgZXgpLS4xNSBIKHBhbnNpb25zIGFyZSByZW1vKS4xNSBFIC0uMTUodmUpLS4xNSBHKGQuKS4xNSBFL0Y1Ci0xMC45NS9UaW1lcy1Cb2xkQDAgU0YoUkVESVJFQ1RJT04pNzIgNjk5LjYgUSBGMCAuNTQ1Ci0oQmVmb3JlIGEgY29tbWFuZCBpcyBlKTEwOCA3MTEuNiBSIC0uMTUoeGUpLS4xNSBHIC41NDUKLShjdXRlZCwgaXRzIGlucHV0IGFuZCBvdXRwdXQgbWF5IGJlKS4xNSBGIEY0IC0uMzcocmUpMy4wNDUgRyhkaXIpLjM3IEUKLShlY3RlZCktLjM3IEUgRjAgLjU0NSh1c2luZyBhIHNwZWNpYWwgbm90YXRpb24gaW50ZXJwcmV0ZWQpMy44MTUgRiAyLjc3Ci0oYnkgdGhlIHNoZWxsLikxMDggNzIzLjYgUiAyLjc2OShSZWRpcmVjdGlvbiBtYXkgYWxzbyBiZSB1c2VkIHRvIG9wZW4gYVwKLW5kIGNsb3NlIFwyMTRsZXMgZm9yIHRoZSBjdXJyZW50IHNoZWxsIGUpNy43NyBGIC0uMTUoeGUpLS4xNSBHKGN1dGlvbikKLS4xNSBFKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUoMjIpMTkwLjk1IEUgMCBDZyBFUAorMTA4IDcxOC44IFEod2luZyBzdWItcGF0dGVybnM6KS0uMjUgRShHTlUgQmFzaC00LjEpNzIgNzY4IFEKKygyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgyMikxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiAyMyAyMwogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRShlbikxMDggODQgUSAzLjM2KHZpcm9ubWVudC4gVGhlKS0uNCBGKGZvbGxvKTMuMzYgRSAuODYKLSh3aW5nIHJlZGlyZWN0aW9uIG9wZXJhdG9ycyBtYXkgcHJlY2VkZSBvciBhcHBlYXIgYW4pLS4yNSBGIC44NgotKHl3aGVyZSB3aXRoaW4gYSktLjE1IEYvRjEgMTAvVGltZXMtSXRhbGljQDAgU0YgLjg2KHNpbXBsZSBjb20tKTMuNyBGCi0obWFuZCkxMDggOTYgUSBGMChvciBtYXkgZm9sbG8pMy4yNyBFIDIuNSh3YSktLjI1IEcgRjEoY29tbWFuZClBIEYwIDUKLSguUikuNzcgRyhlZGlyZWN0aW9ucyBhcmUgcHJvY2Vzc2VkIGluIHRoZSBvcmRlciB0aGUpLTUgRSAyLjUoeWEpLS4xNSBHCi0ocHBlYXIpLTIuNSBFIDIuNSgsZiktLjQgRyhyb20gbGVmdCB0byByaWdodC4pLTIuNSBFIC4yODQoSW4gdGhlIGZvbGxvKQotMTA4IDExMi44IFIgLjI4Myh3aW5nIGRlc2NyaXB0aW9ucywgaWYgdGhlIFwyMTRsZSBkZXNjcmlwdG9yIG51bWJlciBpcyBcCi1vbWl0dGVkLCBhbmQgdGhlIFwyMTRyc3QgY2hhcmFjdGVyIG9mIHRoZSByZWRpcmVjdC0pLS4yNSBGIC41MTIKLShpb24gb3BlcmF0b3IgaXMpMTA4IDEyNC44IFIvRjIgMTAvVGltZXMtQm9sZEAwIFNGKDwpMy4wMTIgRSBGMCAzLjAxMgotKCx0KUMgLjUxMgorLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRig/XCgpMTQ0IDg0IFEvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YKKyhwYXR0ZXJuLWxpc3QpLjgzMyBFIEYxKFwpKS44MzMgRSBGMAorKE1hdGNoZXMgemVybyBvciBvbmUgb2NjdXJyZW5jZSBvZiB0aGUgZ2kpMTgwIDk2IFEgLS4xNSh2ZSktLjI1IEcgMi41CisobnApLjE1IEcoYXR0ZXJucyktMi41IEUgRjEoKlwoKTE0NCAxMDggUSBGMihwYXR0ZXJuLWxpc3QpLjgzMyBFIEYxKFwpKQorLjgzMyBFIEYwKE1hdGNoZXMgemVybyBvciBtb3JlIG9jY3VycmVuY2VzIG9mIHRoZSBnaSkxODAgMTIwIFEgLS4xNSh2ZSkKKy0uMjUgRyAyLjUobnApLjE1IEcoYXR0ZXJucyktMi41IEUgRjEoK1woKTE0NCAxMzIgUSBGMihwYXR0ZXJuLWxpc3QpLjgzMworRSBGMShcKSkuODMzIEUgRjAoTWF0Y2hlcyBvbmUgb3IgbW9yZSBvY2N1cnJlbmNlcyBvZiB0aGUgZ2kpMTgwIDE0NCBRCistLjE1KHZlKS0uMjUgRyAyLjUobnApLjE1IEcoYXR0ZXJucyktMi41IEUgRjEoQFwoKTE0NCAxNTYgUSBGMgorKHBhdHRlcm4tbGlzdCkuODMzIEUgRjEoXCkpLjgzMyBFIEYwKE1hdGNoZXMgb25lIG9mIHRoZSBnaSkxODAgMTY4IFEKKy0uMTUodmUpLS4yNSBHIDIuNShucCkuMTUgRyhhdHRlcm5zKS0yLjUgRSBGMSghXCgpMTQ0IDE4MCBRIEYyCisocGF0dGVybi1saXN0KS44MzMgRSBGMShcKSkuODMzIEUgRjAoTWF0Y2hlcyBhbikxODAgMTkyIFEoeXRoaW5nIGUpLS4xNQorRSh4Y2VwdCBvbmUgb2YgdGhlIGdpKS0uMTUgRSAtLjE1KHZlKS0uMjUgRyAyLjUobnApLjE1IEcoYXR0ZXJucyktMi41IEUKK0YxKFF1b3RlIFJlbW8pODcgMjA4LjggUSAtLjEodmEpLS4xIEcobCkuMSBFIEYwIDEuMTEyCisoQWZ0ZXIgdGhlIHByZWNlZGluZyBlKTEwOCAyMjAuOCBSIDEuMTEyCisoeHBhbnNpb25zLCBhbGwgdW5xdW90ZWQgb2NjdXJyZW5jZXMgb2YgdGhlIGNoYXJhY3RlcnMpLS4xNSBGIEYxKFxcKQorMy42MTMgRSBGMCgsKUEgRjE8MDg+My42MTMgRSBGMCAzLjYxMygsYSlDKG5kKS0zLjYxMyBFIEYxKCIpNC40NDYgRSBGMAorMS4xMTModGhhdCBkaWQgbm90IHJlc3VsdCk0LjQ0NiBGKGZyb20gb25lIG9mIHRoZSBhYm8pMTA4IDIzMi44IFEgLjMKKy0uMTUodmUgZXgpLS4xNSBIKHBhbnNpb25zIGFyZSByZW1vKS4xNSBFIC0uMTUodmUpLS4xNSBHKGQuKS4xNSBFL0YzCisxMC45NS9UaW1lcy1Cb2xkQDAgU0YoUkVESVJFQ1RJT04pNzIgMjQ5LjYgUSBGMCAuNTQ1CisoQmVmb3JlIGEgY29tbWFuZCBpcyBlKTEwOCAyNjEuNiBSIC0uMTUoeGUpLS4xNSBHIC41NDUKKyhjdXRlZCwgaXRzIGlucHV0IGFuZCBvdXRwdXQgbWF5IGJlKS4xNSBGIEYyIC0uMzcocmUpMy4wNDUgRyhkaXIpLjM3IEUKKyhlY3RlZCktLjM3IEUgRjAgLjU0NSh1c2luZyBhIHNwZWNpYWwgbm90YXRpb24gaW50ZXJwcmV0ZWQpMy44MTUgRiAuNjE2CisoYnkgdGhlIHNoZWxsLikxMDggMjczLjYgUiAuNjE3KFJlZGlyZWN0aW9uIG1heSBhbHNvIGJlIHVzZWQgdG8gb3BlbiBhblwKK2QgY2xvc2UgXDIxNGxlcyBmb3IgdGhlIGN1cnJlbnQgc2hlbGwgZSk1LjYxNiBGIC0uMTUoeGUpLS4xNSBHIC42MTcKKyhjdXRpb24gZW4pLjE1IEYodmlyb24tKS0uNCBFIDMuMjc1KG1lbnQuIFRoZSkxMDggMjg1LjYgUihmb2xsbykzLjI3NSBFCisuNzc0KHdpbmcgcmVkaXJlY3Rpb24gb3BlcmF0b3JzIG1heSBwcmVjZWRlIG9yIGFwcGVhciBhbiktLjI1IEYgLjc3NAorKHl3aGVyZSB3aXRoaW4gYSktLjE1IEYgRjIgLjc3NChzaW1wbGUgY29tbWFuZCkzLjYxNCBGIEYwKG9yKTQuMDQ0IEUKKyhtYXkgZm9sbG8pMTA4IDI5Ny42IFEgMi41KHdhKS0uMjUgRyBGMihjb21tYW5kKUEgRjAgNSguUikuNzcgRworKGVkaXJlY3Rpb25zIGFyZSBwcm9jZXNzZWQgaW4gdGhlIG9yZGVyIHRoZSktNSBFIDIuNSh5YSktLjE1IEcocHBlYXIpCistMi41IEUgMi41KCxmKS0uNCBHKHJvbSBsZWZ0IHRvIHJpZ2h0LiktMi41IEUgLjc3MShFYWNoIHJlZGlyZWN0aW9uIHRoYVwKK3QgbWF5IGJlIHByZWNlZGVkIGJ5IGEgXDIxNGxlIGRlc2NyaXB0b3IgbnVtYmVyIG1heSBpbnN0ZWFkIGJlIHByZWNlZGVkXAorIGJ5IGEgdykxMDggMzE0LjQgUiAuNzcyKG9yZCBvZiktLjEgRiAuMjkzKHRoZSBmb3JtIHspMTA4IDMyNi40IFIgRjIKKyh2YXJuYW1lKUEgRjAgMi43OTMofS4gSW4pQiAuMjkzCisodGhpcyBjYXNlLCBmb3IgZWFjaCByZWRpcmVjdGlvbiBvcGVyYXRvciBlKTIuNzkzIEYgLjI5MworKHhjZXB0ID4mLSBhbmQgPCYtLCB0aGUgc2hlbGwgd2lsbCBhbGxvY2F0ZSktLjE1IEYgMy40OTg8NjE4Yz4xMDggMzM4LjQKK1MgLjk5OShsZSBkZXNjcmlwdG9yIGdyZWF0ZXIgdGhhbiAxMCBhbmQgYXNzaWduIGl0IHRvKS0zLjQ5OCBGIEYyCisodmFybmFtZSkzLjQ5OSBFIEYwIDUuOTk5KC5JKUMgMy40OTkoZj4pLTUuOTk5IEcgLjk5OQorKCYtIG9yIDwmLSBpcyBwcmVjZWRlZCBieSB7KS0zLjQ5OSBGIEYyKHZhcm5hbWUpQSBGMCAuOTk5KH0sIHRoZSlCIC0uMjUKKyh2YSkxMDggMzUwLjQgUyhsdWUgb2YpLjI1IEUgRjIodmFybmFtZSkyLjUgRSBGMAorKGRlXDIxNG5lcyB0aGUgXDIxNGxlIGRlc2NyaXB0b3IgdG8gY2xvc2UuKTIuNSBFIC4yODQoSW4gdGhlIGZvbGxvKTEwOAorMzY3LjIgUiAuMjgzKHdpbmcgZGVzY3JpcHRpb25zLCBpZiB0aGUgXDIxNGxlIGRlc2NyaXB0b3IgbnVtYmVyIGlzIG9taXRcCit0ZWQsIGFuZCB0aGUgXDIxNHJzdCBjaGFyYWN0ZXIgb2YgdGhlIHJlZGlyZWN0LSktLjI1IEYgLjUxMgorKGlvbiBvcGVyYXRvciBpcykxMDggMzc5LjIgUiBGMSg8KTMuMDEyIEUgRjAgMy4wMTIoLHQpQyAuNTEyCiAoaGUgcmVkaXJlY3Rpb24gcmVmZXJzIHRvIHRoZSBzdGFuZGFyZCBpbnB1dCBcKFwyMTRsZSBkZXNjcmlwdG9yIDBcKS4pCiAtMy4wMTIgRiAuNTEyKElmIHRoZSBcMjE0cnN0IGNoYXJhY3RlciBvZiB0aGUpNS41MTIgRgotKHJlZGlyZWN0aW9uIG9wZXJhdG9yIGlzKTEwOCAxMzYuOCBRIEYyKD4pMi41IEUgRjAgMi41KCx0KUMKKyhyZWRpcmVjdGlvbiBvcGVyYXRvciBpcykxMDggMzkxLjIgUSBGMSg+KTIuNSBFIEYwIDIuNSgsdClDCiAoaGUgcmVkaXJlY3Rpb24gcmVmZXJzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQgXChcMjE0bGUgZGVzY3JpcHRvciAxXCkuKQotLTIuNSBFIC44MjUoVGhlIHcpMTA4IDE1My42IFIgLjgyNShvcmQgZm9sbG8pLS4xIEYgLjgyNAorLTIuNSBFIC44MjUoVGhlIHcpMTA4IDQwOCBSIC44MjUob3JkIGZvbGxvKS0uMSBGIC44MjQKICh3aW5nIHRoZSByZWRpcmVjdGlvbiBvcGVyYXRvciBpbiB0aGUgZm9sbG8pLS4yNSBGIC44MjQKICh3aW5nIGRlc2NyaXB0aW9ucywgdW5sZXNzIG90aGVyd2lzZSBub3RlZCwgaXMgc3ViLSktLjI1IEYgLjc3MgotKGplY3RlZCB0byBicmFjZSBlKTEwOCAxNjUuNiBSIC43NzMoeHBhbnNpb24sIHRpbGRlIGUpLS4xNSBGIC43NzMKKyhqZWN0ZWQgdG8gYnJhY2UgZSkxMDggNDIwIFIgLjc3Myh4cGFuc2lvbiwgdGlsZGUgZSktLjE1IEYgLjc3MwogKHhwYW5zaW9uLCBwYXJhbWV0ZXIgZSktLjE1IEYgLjc3MwogKHhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1dGlvbiwgYXJpdGhtZXRpYyBlKS0uMTUgRih4cGFuLSktLjE1IEUgLjg0NAotKHNpb24sIHF1b3RlIHJlbW8pMTA4IDE3Ny42IFIgLS4yNSh2YSktLjE1IEcgLjg0MyhsLCBwYXRobmFtZSBlKS4yNSBGCi0uODQzKHhwYW5zaW9uLCBhbmQgdyktLjE1IEYgLjg0MyhvcmQgc3BsaXR0aW5nLiktLjEgRiAuODQzKElmIGl0IGUpNS44NDMKLUYgLjg0Myh4cGFuZHMgdG8gbW9yZSB0aGFuIG9uZSB3KS0uMTUgRihvcmQsKS0uMSBFIEYyKGJhc2gpMy4zNDMgRSBGMAotKHJlcG9ydHMgYW4gZXJyb3IpMTA4IDE4OS42IFEoLiktLjU1IEUKLShOb3RlIHRoYXQgdGhlIG9yZGVyIG9mIHJlZGlyZWN0aW9ucyBpcyBzaWduaVwyMTRjYW50LikxMDggMjA2LjQgUSAtLjE1Ci0oRm8pNSBHIDIuNShyZSkuMTUgRyh4YW1wbGUsIHRoZSBjb21tYW5kKS0yLjY1IEUobHMpMTQ0IDIyMy4yIFEgRjIoPikyLjUKLUUgRjAoZGlybGlzdCAyKTIuNSBFIEYyKD4mKUEgRjAoMSlBCi0oZGlyZWN0cyBib3RoIHN0YW5kYXJkIG91dHB1dCBhbmQgc3RhbmRhcmQgZXJyb3IgdG8gdGhlIFwyMTRsZSkxMDggMjQwIFEKLUYxKGRpcmxpc3QpMi41IEUgRjAgMi41KCx3KS42OCBHKGhpbGUgdGhlIGNvbW1hbmQpLTIuNSBFKGxzIDIpMTQ0IDI1Ni44Ci1RIEYyKD4mKUEgRjAoMSlBIEYyKD4pMi41IEUgRjAoZGlybGlzdCkyLjUgRSAuNTI3Ci0oZGlyZWN0cyBvbmx5IHRoZSBzdGFuZGFyZCBvdXRwdXQgdG8gXDIxNGxlKTEwOCAyNzMuNiBSIEYxKGRpcmxpc3QpMy4wMjcKLUUgRjAgMy4wMjcoLGIpLjY4IEcgLjUyNyhlY2F1c2UgdGhlIHN0YW5kYXJkIGVycm9yIHcpLTMuMDI3IEYgLjUyNworKHNpb24sIHF1b3RlIHJlbW8pMTA4IDQzMiBSIC0uMjUodmEpLS4xNSBHIC44NDMobCwgcGF0aG5hbWUgZSkuMjUgRiAuODQzCisoeHBhbnNpb24sIGFuZCB3KS0uMTUgRiAuODQzKG9yZCBzcGxpdHRpbmcuKS0uMSBGIC44NDMoSWYgaXQgZSk1Ljg0MyBGCisuODQzKHhwYW5kcyB0byBtb3JlIHRoYW4gb25lIHcpLS4xNSBGKG9yZCwpLS4xIEUgRjEoYmFzaCkzLjM0MyBFIEYwCisocmVwb3J0cyBhbiBlcnJvcikxMDggNDQ0IFEoLiktLjU1IEUKKyhOb3RlIHRoYXQgdGhlIG9yZGVyIG9mIHJlZGlyZWN0aW9ucyBpcyBzaWduaVwyMTRjYW50LikxMDggNDYwLjggUSAtLjE1CisoRm8pNSBHIDIuNShyZSkuMTUgRyh4YW1wbGUsIHRoZSBjb21tYW5kKS0yLjY1IEUobHMpMTQ0IDQ3Ny42IFEgRjEoPikyLjUKK0UgRjAoZGlybGlzdCAyKTIuNSBFIEYxKD4mKUEgRjAoMSlBCisoZGlyZWN0cyBib3RoIHN0YW5kYXJkIG91dHB1dCBhbmQgc3RhbmRhcmQgZXJyb3IgdG8gdGhlIFwyMTRsZSkxMDggNDk0LjQKK1EgRjIoZGlybGlzdCkyLjUgRSBGMCAyLjUoLHcpLjY4IEcoaGlsZSB0aGUgY29tbWFuZCktMi41IEUobHMgMikxNDQKKzUxMS4yIFEgRjEoPiYpQSBGMCgxKUEgRjEoPikyLjUgRSBGMChkaXJsaXN0KTIuNSBFIC41MjcKKyhkaXJlY3RzIG9ubHkgdGhlIHN0YW5kYXJkIG91dHB1dCB0byBcMjE0bGUpMTA4IDUyOCBSIEYyKGRpcmxpc3QpMy4wMjcgRQorRjAgMy4wMjcoLGIpLjY4IEcgLjUyNyhlY2F1c2UgdGhlIHN0YW5kYXJkIGVycm9yIHcpLTMuMDI3IEYgLjUyNwogKGFzIGR1cGxpY2F0ZWQgZnJvbSB0aGUgc3RhbmRhcmQpLS4xIEYKLShvdXRwdXQgYmVmb3JlIHRoZSBzdGFuZGFyZCBvdXRwdXQgdykxMDggMjg1LjYgUShhcyByZWRpcmVjdGVkIHRvKS0uMSBFCi1GMShkaXJsaXN0KTIuNSBFIEYwKC4pLjY4IEUgRjIoQmFzaCkxMDggMzAyLjQgUSBGMCAuNTk5KGhhbmRsZXMgc2UpMy4wOTkKLUYgLS4xNSh2ZSktLjI1IEcgLjU5OShyYWwgXDIxNGxlbmFtZXMgc3BlY2lhbGx5IHdoZW4gdGhlKS4xNSBGIDMuMDk5KHlhKQorKG91dHB1dCBiZWZvcmUgdGhlIHN0YW5kYXJkIG91dHB1dCB3KTEwOCA1NDAgUShhcyByZWRpcmVjdGVkIHRvKS0uMSBFIEYyCisoZGlybGlzdCkyLjUgRSBGMCguKS42OCBFIEYxKEJhc2gpMTA4IDU1Ni44IFEgRjAgLjU5OShoYW5kbGVzIHNlKTMuMDk5IEYKKy0uMTUodmUpLS4yNSBHIC41OTkocmFsIFwyMTRsZW5hbWVzIHNwZWNpYWxseSB3aGVuIHRoZSkuMTUgRiAzLjA5OSh5YSkKIC0uMTUgRyAuNTk4KHJlIHVzZWQgaW4gcmVkaXJlY3Rpb25zLCBhcyBkZXNjcmliZWQgaW4gdGhlIGZvbGxvKS0zLjA5OSBGCi0od2luZyktLjI1IEUodGFibGU6KTEwOCAzMTQuNCBRIEYyKC9kZSkxNDQgMzMxLjIgUSh2L2ZkLyktLjE1IEUgRjEoZmQpQQotRjAoSWYpMTgwIDM0My4yIFEgRjEoZmQpMi41IEUgRjAoaXMgYSB2KTIuNSBFKGFsaWQgaW50ZSktLjI1IEUoZ2VyKS0uMTUKLUUgMi41PDJjOGM+LS40IEcobGUgZGVzY3JpcHRvciktMi41IEUgRjEoZmQpMi41IEUgRjAoaXMgZHVwbGljYXRlZC4pMi41Ci1FIEYyKC9kZSkxNDQgMzU1LjIgUSh2L3N0ZGluKS0uMTUgRSBGMChGaWxlIGRlc2NyaXB0b3IgMCBpcyBkdXBsaWNhdGVkLikKLTE4MCAzNjcuMiBRIEYyKC9kZSkxNDQgMzc5LjIgUSh2L3N0ZG91dCktLjE1IEUgRjAKLShGaWxlIGRlc2NyaXB0b3IgMSBpcyBkdXBsaWNhdGVkLikxODAgMzkxLjIgUSBGMigvZGUpMTQ0IDQwMy4yIFEKLSh2L3N0ZGVyciktLjE1IEUgRjAoRmlsZSBkZXNjcmlwdG9yIDIgaXMgZHVwbGljYXRlZC4pMTgwIDQxNS4yIFEgRjIoL2RlKQotMTQ0IDQyNy4yIFEodi90Y3AvKS0uMTUgRSBGMShob3N0KUEgRjIoLylBIEYxKHBvcnQpQSBGMChJZikxODAgNDM5LjIgUQotRjEoaG9zdCkyLjk5NiBFIEYwIC40OTYoaXMgYSB2KTIuOTk2IEYgLjQ5NgotKGFsaWQgaG9zdG5hbWUgb3IgSW50ZXJuZXQgYWRkcmVzcywgYW5kKS0uMjUgRiBGMShwb3J0KTIuOTk3IEUgRjAgLjQ5NworKHdpbmcpLS4yNSBFKHRhYmxlOikxMDggNTY4LjggUSBGMSgvZGUpMTQ0IDU4NS42IFEodi9mZC8pLS4xNSBFIEYyKGZkKUEKK0YwKElmKTE4MCA1OTcuNiBRIEYyKGZkKTIuNSBFIEYwKGlzIGEgdikyLjUgRShhbGlkIGludGUpLS4yNSBFKGdlciktLjE1CitFIDIuNTwyYzhjPi0uNCBHKGxlIGRlc2NyaXB0b3IpLTIuNSBFIEYyKGZkKTIuNSBFIEYwKGlzIGR1cGxpY2F0ZWQuKTIuNQorRSBGMSgvZGUpMTQ0IDYwOS42IFEodi9zdGRpbiktLjE1IEUgRjAoRmlsZSBkZXNjcmlwdG9yIDAgaXMgZHVwbGljYXRlZC4pCisxODAgNjIxLjYgUSBGMSgvZGUpMTQ0IDYzMy42IFEodi9zdGRvdXQpLS4xNSBFIEYwCisoRmlsZSBkZXNjcmlwdG9yIDEgaXMgZHVwbGljYXRlZC4pMTgwIDY0NS42IFEgRjEoL2RlKTE0NCA2NTcuNiBRCisodi9zdGRlcnIpLS4xNSBFIEYwKEZpbGUgZGVzY3JpcHRvciAyIGlzIGR1cGxpY2F0ZWQuKTE4MCA2NjkuNiBRIEYxKC9kZSkKKzE0NCA2ODEuNiBRKHYvdGNwLyktLjE1IEUgRjIoaG9zdClBIEYxKC8pQSBGMihwb3J0KUEgRjAoSWYpMTgwIDY5My42IFEKK0YyKGhvc3QpMi45OTYgRSBGMCAuNDk2KGlzIGEgdikyLjk5NiBGIC40OTYKKyhhbGlkIGhvc3RuYW1lIG9yIEludGVybmV0IGFkZHJlc3MsIGFuZCktLjI1IEYgRjIocG9ydCkyLjk5NyBFIEYwIC40OTcKIChpcyBhbiBpbnRlKTIuOTk3IEYgLjQ5NyhnZXIgcG9ydCBudW1iZXIgb3Igc2VyKS0uMTUgRigtKS0uMiBFCi0odmljZSBuYW1lLCkxODAgNDUxLjIgUSBGMihiYXNoKTIuNSBFIEYwCisodmljZSBuYW1lLCkxODAgNzA1LjYgUSBGMShiYXNoKTIuNSBFIEYwCiAoYXR0ZW1wdHMgdG8gb3BlbiBhIFRDUCBjb25uZWN0aW9uIHRvIHRoZSBjb3JyZXNwb25kaW5nIHNvY2spMi41IEUoZXQuKQotLS4xIEUgRjIoL2RlKTE0NCA0NjMuMiBRKHYvdWRwLyktLjE1IEUgRjEoaG9zdClBIEYyKC8pQSBGMShwb3J0KUEgRjAoSWYpCi0xODAgNDc1LjIgUSBGMShob3N0KTIuOTk3IEUgRjAgLjQ5NyhpcyBhIHYpMi45OTcgRiAuNDk3Ci0oYWxpZCBob3N0bmFtZSBvciBJbnRlcm5ldCBhZGRyZXNzLCBhbmQpLS4yNSBGIEYxKHBvcnQpMi45OTYgRSBGMCAuNDk2Ci0oaXMgYW4gaW50ZSkyLjk5NiBGIC40OTYoZ2VyIHBvcnQgbnVtYmVyIG9yIHNlciktLjE1IEYoLSktLjIgRQotKHZpY2UgbmFtZSwpMTgwIDQ4Ny4yIFEgRjIoYmFzaCkyLjUgRSBGMAotKGF0dGVtcHRzIHRvIG9wZW4gYSBVRFAgY29ubmVjdGlvbiB0byB0aGUgY29ycmVzcG9uZGluZyBzb2NrKTIuNSBFKGV0LikKLS0uMSBFIDIuNShBZikxMDggNTA0IFMKLShhaWx1cmUgdG8gb3BlbiBvciBjcmVhdGUgYSBcMjE0bGUgY2F1c2VzIHRoZSByZWRpcmVjdGlvbiB0byBmKS0yLjYgRQotKGFpbC4pLS4xIEUgLjk0NihSZWRpcmVjdGlvbnMgdXNpbmcgXDIxNGxlIGRlc2NyaXB0b3JzIGdyZWF0ZXIgdGhhbiA5IHNcCi1ob3VsZCBiZSB1c2VkIHdpdGggY2FyZSwgYXMgdGhlKTEwOCA1MjAuOCBSIDMuNDQ3KHltKS0uMTUgRyAuOTQ3Ci0oYXkgY29uXDIxNWljdCB3aXRoIFwyMTRsZSktMy40NDcgRgotKGRlc2NyaXB0b3JzIHRoZSBzaGVsbCB1c2VzIGludGVybmFsbHkpMTA4IDUzMi44IFEoLiktLjY1IEUgRjIoUmVkaXIpODcKLTU0OS42IFEoZWN0aW5nIElucHV0KS0uMTggRSBGMCAuMzkxCi0oUmVkaXJlY3Rpb24gb2YgaW5wdXQgY2F1c2VzIHRoZSBcMjE0bGUgd2hvc2UgbmFtZSByZXN1bHRzIGZyb20gdGhlIGUpCi0xMDggNTYxLjYgUiAuMzkxKHhwYW5zaW9uIG9mKS0uMTUgRiBGMSh3b3IpMy4yMzEgRShkKS0uMzcgRSBGMCAuMzkxCi0odG8gYmUgb3BlbmVkIGZvciByZWFkLSkzLjY2MSBGKGluZyBvbiBcMjE0bGUgZGVzY3JpcHRvcikxMDggNTczLjYgUSBGMQotKG4pMi41IEUgRjAgMi41KCxvKS4yNCBHIDIuNShydCktMi41IEcKLShoZSBzdGFuZGFyZCBpbnB1dCBcKFwyMTRsZSBkZXNjcmlwdG9yIDBcKSBpZiktMi41IEUgRjEobikyLjg2IEUgRjAKLShpcyBub3Qgc3BlY2lcMjE0ZWQuKTIuNzQgRQotKFRoZSBnZW5lcmFsIGZvcm1hdCBmb3IgcmVkaXJlY3RpbmcgaW5wdXQgaXM6KTEwOCA1OTAuNCBRKFspMTQ0IDYwNy4yIFEKLUYxKG4pQSBGMChdKUEgRjIoPClBIEYxKHdvcilBKGQpLS4zNyBFIEYyKFJlZGlyKTg3IDYyNCBRKGVjdGluZyBPdXRwdXQpCi0tLjE4IEUgRjAgLjE3NAotKFJlZGlyZWN0aW9uIG9mIG91dHB1dCBjYXVzZXMgdGhlIFwyMTRsZSB3aG9zZSBuYW1lIHJlc3VsdHMgZnJvbSB0aGUgZSkKLTEwOCA2MzYgUiAuMTc1KHhwYW5zaW9uIG9mKS0uMTUgRiBGMSh3b3IpMy4wMTUgRShkKS0uMzcgRSBGMCAuMTc1Ci0odG8gYmUgb3BlbmVkIGZvciB3cml0LSkzLjQ0NSBGIC44MjUoaW5nIG9uIFwyMTRsZSBkZXNjcmlwdG9yKTEwOCA2NDggUgotRjEobikzLjMyNSBFIEYwIDMuMzI1KCxvKS4yNCBHIDMuMzI1KHJ0KS0zLjMyNSBHIC44MjQKLShoZSBzdGFuZGFyZCBvdXRwdXQgXChcMjE0bGUgZGVzY3JpcHRvciAxXCkgaWYpLTMuMzI1IEYgRjEobikzLjY4NCBFIEYwCi0uODI0KGlzIG5vdCBzcGVjaVwyMTRlZC4pMy41NjQgRiAuODI0KElmIHRoZSBcMjE0bGUgZG9lcyBub3QpNS44MjQgRgotLS4xNShleCkxMDggNjYwIFMoaXN0IGl0IGlzIGNyZWF0ZWQ7IGlmIGl0IGRvZXMgZSkuMTUgRQotKHhpc3QgaXQgaXMgdHJ1bmNhdGVkIHRvIHplcm8gc2l6ZS4pLS4xNSBFCi0oVGhlIGdlbmVyYWwgZm9ybWF0IGZvciByZWRpcmVjdGluZyBvdXRwdXQgaXM6KTEwOCA2NzYuOCBRKFspMTQ0IDY5My42IFEKLUYxKG4pQSBGMChdKUEgRjIoPilBIEYxKHdvcilBKGQpLS4zNyBFIEYwIC4xNTQKLShJZiB0aGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IgaXMpMTA4IDcxMC40IFIgRjIoPikyLjY1NCBFIEYwIDIuNjU0KCxhKUMKLS4xNTQobmQgdGhlKS0yLjY1NCBGIEYyKG5vY2xvYikyLjY1NCBFKGJlciktLjEgRSBGMCAuMTU0KG9wdGlvbiB0byB0aGUpCi0yLjY1NCBGIEYyKHNldCkyLjY1NSBFIEYwIC0uMihidSkyLjY1NSBHIC4xNTUKLShpbHRpbiBoYXMgYmVlbiBlbmFibGVkLCB0aGUgcmVkaXJlY3Rpb24pLjIgRiAxLjc2KHdpbGwgZikxMDggNzIyLjQgUgotMS43NihhaWwgaWYgdGhlIFwyMTRsZSB3aG9zZSBuYW1lIHJlc3VsdHMgZnJvbSB0aGUgZSktLjEgRiAxLjc1OQotKHhwYW5zaW9uIG9mKS0uMTUgRiBGMSh3b3IpNC4yNTkgRShkKS0uMzcgRSBGMCAtLjE1KGV4KTQuMjU5IEcgMS43NTkKLShpc3RzIGFuZCBpcyBhIHJlKS4xNSBGIDEuNzU5KGd1bGFyIFwyMTRsZS4pLS4xNSBGIDEuNzU5KElmIHRoZSk2Ljc1OSBGCi0oR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDkgRmVicnVhcnkgNykxNDAuOTYgRSgyMykxOTAuOTUgRSAwIENnIEVQCistLjEgRShHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoMjMpMTg1Ljk1NSBFIDAgQ2cKK0VQCiAlJVBhZ2U6IDI0IDI0CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFIC41OTQocmVkaXJlY3Rpb24gb3BlcmF0b3IgaXMpMTA4IDg0IFIvRjEgMTAvVGltZXMtQm9sZEAwIFNGKD58KQotMy4wOTQgRSBGMCAzLjA5NCgsbylDIDMuMDk0KHJ0KS0zLjA5NCBHIC41OTQoaGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IgaXMpCi0tMy4wOTQgRiBGMSg+KTMuMDk0IEUgRjAgLjU5NShhbmQgdGhlKTMuMDk0IEYgRjEobm9jbG9iKTMuMDk1IEUoYmVyKS0uMQotRSBGMCAuNTk1KG9wdGlvbiB0byB0aGUpMy4wOTUgRiBGMShzZXQpMy4wOTUgRSBGMCAtLjIoYnUpMy4wOTUgRyAuNTk1Ci0oaWx0aW4gY29tLSkuMiBGKG1hbmQgaXMgbm90IGVuYWJsZWQsIHRoZSByZWRpcmVjdGlvbiBpcyBhdHRlbXB0ZWQgZSkxMDgKLTk2IFEgLS4xNSh2ZSktLjI1IEcgMi41KG5pKS4xNSBHIDIuNShmdCktMi41IEcoaGUgXDIxNGxlIG5hbWVkIGJ5KS0yLjUgRQotL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGKHdvcikyLjUgRShkKS0uMzcgRSBGMCAtLjE1KGV4KTIuNSBHKGlzdHMuKS4xNSBFCi1GMSAtLjI1KEFwKTg3IDExMi44IFMocGVuZGluZyBSZWRpcikuMjUgRShlY3RlZCBPdXRwdXQpLS4xOCBFIEYwIC42NDIKLShSZWRpcmVjdGlvbiBvZiBvdXRwdXQgaW4gdGhpcyBmKTEwOCAxMjQuOCBSIC42NDIKKy0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoL2RlKTE0NCA4NCBRKHYvdWRwLyktLjE1IEUvRjIgMTAKKy9UaW1lcy1JdGFsaWNAMCBTRihob3N0KUEgRjEoLylBIEYyKHBvcnQpQSBGMChJZikxODAgOTYgUSBGMihob3N0KTIuOTk3CitFIEYwIC40OTcoaXMgYSB2KTIuOTk3IEYgLjQ5NyhhbGlkIGhvc3RuYW1lIG9yIEludGVybmV0IGFkZHJlc3MsIGFuZCkKKy0uMjUgRiBGMihwb3J0KTIuOTk2IEUgRjAgLjQ5NihpcyBhbiBpbnRlKTIuOTk2IEYgLjQ5NgorKGdlciBwb3J0IG51bWJlciBvciBzZXIpLS4xNSBGKC0pLS4yIEUodmljZSBuYW1lLCkxODAgMTA4IFEgRjEoYmFzaCkyLjUKK0UgRjAoYXR0ZW1wdHMgdG8gb3BlbiBhIFVEUCBjb25uZWN0aW9uIHRvIHRoZSBjb3JyZXNwb25kaW5nIHNvY2spMi41IEUKKyhldC4pLS4xIEUgMi41KEFmKTEwOCAxMjQuOCBTCisoYWlsdXJlIHRvIG9wZW4gb3IgY3JlYXRlIGEgXDIxNGxlIGNhdXNlcyB0aGUgcmVkaXJlY3Rpb24gdG8gZiktMi42IEUKKyhhaWwuKS0uMSBFIC45NDYoUmVkaXJlY3Rpb25zIHVzaW5nIFwyMTRsZSBkZXNjcmlwdG9ycyBncmVhdGVyIHRoYW4gOSBzXAoraG91bGQgYmUgdXNlZCB3aXRoIGNhcmUsIGFzIHRoZSkxMDggMTQxLjYgUiAzLjQ0Nyh5bSktLjE1IEcgLjk0NworKGF5IGNvblwyMTVpY3Qgd2l0aCBcMjE0bGUpLTMuNDQ3IEYKKyhkZXNjcmlwdG9ycyB0aGUgc2hlbGwgdXNlcyBpbnRlcm5hbGx5KTEwOCAxNTMuNiBRKC4pLS42NSBFIEYxKFJlZGlyKTg3CisxNzAuNCBRKGVjdGluZyBJbnB1dCktLjE4IEUgRjAgLjM5MQorKFJlZGlyZWN0aW9uIG9mIGlucHV0IGNhdXNlcyB0aGUgXDIxNGxlIHdob3NlIG5hbWUgcmVzdWx0cyBmcm9tIHRoZSBlKQorMTA4IDE4Mi40IFIgLjM5MSh4cGFuc2lvbiBvZiktLjE1IEYgRjIod29yKTMuMjMxIEUoZCktLjM3IEUgRjAgLjM5MQorKHRvIGJlIG9wZW5lZCBmb3IgcmVhZC0pMy42NjEgRihpbmcgb24gXDIxNGxlIGRlc2NyaXB0b3IpMTA4IDE5NC40IFEgRjIKKyhuKTIuNSBFIEYwIDIuNSgsbykuMjQgRyAyLjUocnQpLTIuNSBHCisoaGUgc3RhbmRhcmQgaW5wdXQgXChcMjE0bGUgZGVzY3JpcHRvciAwXCkgaWYpLTIuNSBFIEYyKG4pMi44NiBFIEYwCisoaXMgbm90IHNwZWNpXDIxNGVkLikyLjc0IEUKKyhUaGUgZ2VuZXJhbCBmb3JtYXQgZm9yIHJlZGlyZWN0aW5nIGlucHV0IGlzOikxMDggMjExLjIgUShbKTE0NCAyMjggUSBGMgorKG4pQSBGMChdKUEgRjEoPClBIEYyKHdvcilBKGQpLS4zNyBFIEYxKFJlZGlyKTg3IDI0NC44IFEoZWN0aW5nIE91dHB1dCkKKy0uMTggRSBGMCAuMTc0CisoUmVkaXJlY3Rpb24gb2Ygb3V0cHV0IGNhdXNlcyB0aGUgXDIxNGxlIHdob3NlIG5hbWUgcmVzdWx0cyBmcm9tIHRoZSBlKQorMTA4IDI1Ni44IFIgLjE3NSh4cGFuc2lvbiBvZiktLjE1IEYgRjIod29yKTMuMDE1IEUoZCktLjM3IEUgRjAgLjE3NQorKHRvIGJlIG9wZW5lZCBmb3Igd3JpdC0pMy40NDUgRiAuODI1KGluZyBvbiBcMjE0bGUgZGVzY3JpcHRvcikxMDggMjY4LjgKK1IgRjIobikzLjMyNSBFIEYwIDMuMzI1KCxvKS4yNCBHIDMuMzI1KHJ0KS0zLjMyNSBHIC44MjQKKyhoZSBzdGFuZGFyZCBvdXRwdXQgXChcMjE0bGUgZGVzY3JpcHRvciAxXCkgaWYpLTMuMzI1IEYgRjIobikzLjY4NCBFIEYwCisuODI0KGlzIG5vdCBzcGVjaVwyMTRlZC4pMy41NjQgRiAuODI0KElmIHRoZSBcMjE0bGUgZG9lcyBub3QpNS44MjQgRgorLS4xNShleCkxMDggMjgwLjggUyhpc3QgaXQgaXMgY3JlYXRlZDsgaWYgaXQgZG9lcyBlKS4xNSBFCisoeGlzdCBpdCBpcyB0cnVuY2F0ZWQgdG8gemVybyBzaXplLiktLjE1IEUKKyhUaGUgZ2VuZXJhbCBmb3JtYXQgZm9yIHJlZGlyZWN0aW5nIG91dHB1dCBpczopMTA4IDI5Ny42IFEoWykxNDQgMzE0LjQgUQorRjIobilBIEYwKF0pQSBGMSg+KUEgRjIod29yKUEoZCktLjM3IEUgRjAgLjE1NAorKElmIHRoZSByZWRpcmVjdGlvbiBvcGVyYXRvciBpcykxMDggMzMxLjIgUiBGMSg+KTIuNjU0IEUgRjAgMi42NTQoLGEpQworLjE1NChuZCB0aGUpLTIuNjU0IEYgRjEobm9jbG9iKTIuNjU0IEUoYmVyKS0uMSBFIEYwIC4xNTQob3B0aW9uIHRvIHRoZSkKKzIuNjU0IEYgRjEoc2V0KTIuNjU1IEUgRjAgLS4yKGJ1KTIuNjU1IEcgLjE1NQorKGlsdGluIGhhcyBiZWVuIGVuYWJsZWQsIHRoZSByZWRpcmVjdGlvbikuMiBGIC42NTgod2lsbCBmKTEwOCAzNDMuMiBSCisuNjU4KGFpbCBpZiB0aGUgXDIxNGxlIHdob3NlIG5hbWUgcmVzdWx0cyBmcm9tIHRoZSBlKS0uMSBGIC42NTgKKyh4cGFuc2lvbiBvZiktLjE1IEYgRjIod29yKTMuMTU4IEUoZCktLjM3IEUgRjAgLS4xNShleCkzLjE1OCBHIC42NTcKKyhpc3RzIGFuZCBpcyBhIHJlKS4xNSBGIC42NTcoZ3VsYXIgXDIxNGxlLiktLjE1IEYgLjY1NyhJZiB0aGUgcmVkaS0pCis1LjY1NyBGIC40MDgocmVjdGlvbiBvcGVyYXRvciBpcykxMDggMzU1LjIgUiBGMSg+fCkyLjkwOSBFIEYwIDIuOTA5KCxvKUMKKzIuOTA5KHJ0KS0yLjkwOSBHIC40MDkoaGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IgaXMpLTIuOTA5IEYgRjEoPikyLjkwOSBFCitGMCAuNDA5KGFuZCB0aGUpMi45MDkgRiBGMShub2Nsb2IpMi45MDkgRShiZXIpLS4xIEUgRjAgLjQwOQorKG9wdGlvbiB0byB0aGUpMi45MDkgRiBGMShzZXQpMi45MDkgRSBGMCAtLjIoYnUpMi45MDkgRyAuNDA5CisoaWx0aW4gY29tbWFuZCkuMiBGKGlzIG5vdCBlbmFibGVkLCB0aGUgcmVkaXJlY3Rpb24gaXMgYXR0ZW1wdGVkIGUpMTA4CiszNjcuMiBRIC0uMTUodmUpLS4yNSBHIDIuNShuaSkuMTUgRyAyLjUoZnQpLTIuNSBHKGhlIFwyMTRsZSBuYW1lZCBieSkKKy0yLjUgRSBGMih3b3IpMi41IEUoZCktLjM3IEUgRjAgLS4xNShleCkyLjUgRyhpc3RzLikuMTUgRSBGMSAtLjI1KEFwKTg3CiszODQgUyhwZW5kaW5nIFJlZGlyKS4yNSBFKGVjdGVkIE91dHB1dCktLjE4IEUgRjAgLjY0MgorKFJlZGlyZWN0aW9uIG9mIG91dHB1dCBpbiB0aGlzIGYpMTA4IDM5NiBSIC42NDIKIChhc2hpb24gY2F1c2VzIHRoZSBcMjE0bGUgd2hvc2UgbmFtZSByZXN1bHRzIGZyb20gdGhlIGUpLS4xIEYgLjY0MQogKHhwYW5zaW9uIG9mKS0uMTUgRiBGMih3b3IpMy40ODEgRShkKS0uMzcgRSBGMCAuNjQxKHRvIGJlKTMuOTExIEYgLjQ3MwotKG9wZW5lZCBmb3IgYXBwZW5kaW5nIG9uIFwyMTRsZSBkZXNjcmlwdG9yKTEwOCAxMzYuOCBSIEYyKG4pMi45NzMgRSBGMAorKG9wZW5lZCBmb3IgYXBwZW5kaW5nIG9uIFwyMTRsZSBkZXNjcmlwdG9yKTEwOCA0MDggUiBGMihuKTIuOTczIEUgRjAKIDIuOTc0KCxvKS4yNCBHIDIuOTc0KHJ0KS0yLjk3NCBHIC40NzQKIChoZSBzdGFuZGFyZCBvdXRwdXQgXChcMjE0bGUgZGVzY3JpcHRvciAxXCkgaWYpLTIuOTc0IEYgRjIobikzLjMzNCBFIEYwCiAuNDc0KGlzIG5vdCBzcGVjaVwyMTRlZC4pMy4yMTQgRihJZik1LjQ3NCBFKHRoZSBcMjE0bGUgZG9lcyBub3QgZSkxMDgKLTE0OC44IFEoeGlzdCBpdCBpcyBjcmVhdGVkLiktLjE1IEUKLShUaGUgZ2VuZXJhbCBmb3JtYXQgZm9yIGFwcGVuZGluZyBvdXRwdXQgaXM6KTEwOCAxNjUuNiBRKFspMTQ0IDE4Mi40IFEKLUYyKG4pQSBGMChdKUEgRjEoPj4pQSBGMih3b3IpQShkKS0uMzcgRSBGMShSZWRpcik4NyAyMDQgUQorNDIwIFEoeGlzdCBpdCBpcyBjcmVhdGVkLiktLjE1IEUKKyhUaGUgZ2VuZXJhbCBmb3JtYXQgZm9yIGFwcGVuZGluZyBvdXRwdXQgaXM6KTEwOCA0MzYuOCBRKFspMTQ0IDQ1My42IFEKK0YyKG4pQSBGMChdKUEgRjEoPj4pQSBGMih3b3IpQShkKS0uMzcgRSBGMShSZWRpcik4NyA0NzUuMiBRCiAoZWN0aW5nIFN0YW5kYXJkIE91dHB1dCBhbmQgU3RhbmRhcmQgRXJyKS0uMTggRShvciktLjE4IEUgRjAgLjI0OQotKFRoaXMgY29uc3RydWN0IGFsbG8pMTA4IDIxNiBSIC4yNDkod3MgYm90aCB0aGUgc3RhbmRhcmQgb3V0cHV0IFwoXDIxNGxcCi1lIGRlc2NyaXB0b3IgMVwpIGFuZCB0aGUgc3RhbmRhcmQgZXJyb3Igb3V0cHV0IFwoXDIxNGxlIGRlc2NyaXAtKS0uMjUgRgotKHRvciAyXCkgdG8gYmUgcmVkaXJlY3RlZCB0byB0aGUgXDIxNGxlIHdob3NlIG5hbWUgaXMgdGhlIGUpMTA4IDIyOCBRCi0oeHBhbnNpb24gb2YpLS4xNSBFIEYyKHdvcikyLjUgRShkKS0uMzcgRSBGMCguKS43NyBFKFRoZXJlIGFyZSB0dykxMDgKLTI0NC44IFEgMi41KG9mKS0uMSBHCi0ob3JtYXRzIGZvciByZWRpcmVjdGluZyBzdGFuZGFyZCBvdXRwdXQgYW5kIHN0YW5kYXJkIGVycm9yOiktMi41IEUgRjEKLSgmPikxNDQgMjYxLjYgUSBGMih3b3IpQShkKS0uMzcgRSBGMChhbmQpMTA4IDI3My42IFEgRjEoPiYpMTQ0IDI4NS42IFEKLUYyKHdvcilBKGQpLS4zNyBFIEYwKE9mIHRoZSB0dykxMDggMzAyLjQgUSAyLjUob2YpLS4xIEcKLShvcm1zLCB0aGUgXDIxNHJzdCBpcyBwcmVmZXJyZWQuKS0yLjUgRShUaGlzIGlzIHNlbWFudGljYWxseSBlcXVpKTUgRQotLS4yNSh2YSktLjI1IEcobGVudCB0bykuMjUgRSBGMSg+KTE0NCAzMTkuMiBRIEYyKHdvcilBKGQpLS4zNyBFIEYwKDIpMi41Ci1FIEYxKD4mKUEgRjAoMSlBIEYxIC0uMjUoQXApODcgMzQwLjggUwotKHBlbmRpbmcgU3RhbmRhcmQgT3V0cHV0IGFuZCBTdGFuZGFyZCBFcnIpLjI1IEUob3IpLS4xOCBFIEYwIC4yNDgKLShUaGlzIGNvbnN0cnVjdCBhbGxvKTEwOCAzNTIuOCBSIC4yNDkod3MgYm90aCB0aGUgc3RhbmRhcmQgb3V0cHV0IFwoXAorKFRoaXMgY29uc3RydWN0IGFsbG8pMTA4IDQ4Ny4yIFIgLjI0OSh3cyBib3RoIHRoZSBzdGFuZGFyZCBvdXRwdXQgXChcCiBcMjE0bGUgZGVzY3JpcHRvciAxXCkgYW5kIHRoZSBzdGFuZGFyZCBlcnJvciBvdXRwdXQgXChcMjE0bGUgZGVzY3JpcC0pCi0tLjI1IEYodG9yIDJcKSB0byBiZSBhcHBlbmRlZCB0byB0aGUgXDIxNGxlIHdob3NlIG5hbWUgaXMgdGhlIGUpMTA4Ci0zNjQuOCBRKHhwYW5zaW9uIG9mKS0uMTUgRSBGMih3b3IpMi41IEUoZCktLjM3IEUgRjAoLikuNzcgRQorLS4yNSBGKHRvciAyXCkgdG8gYmUgcmVkaXJlY3RlZCB0byB0aGUgXDIxNGxlIHdob3NlIG5hbWUgaXMgdGhlIGUpMTA4Cis0OTkuMiBRKHhwYW5zaW9uIG9mKS0uMTUgRSBGMih3b3IpMi41IEUoZCktLjM3IEUgRjAoLikuNzcgRQorKFRoZXJlIGFyZSB0dykxMDggNTE2IFEgMi41KG9mKS0uMSBHCisob3JtYXRzIGZvciByZWRpcmVjdGluZyBzdGFuZGFyZCBvdXRwdXQgYW5kIHN0YW5kYXJkIGVycm9yOiktMi41IEUgRjEKKygmPikxNDQgNTMyLjggUSBGMih3b3IpQShkKS0uMzcgRSBGMChhbmQpMTA4IDU0NC44IFEgRjEoPiYpMTQ0IDU1Ni44IFEKK0YyKHdvcilBKGQpLS4zNyBFIEYwKE9mIHRoZSB0dykxMDggNTczLjYgUSAyLjUob2YpLS4xIEcKKyhvcm1zLCB0aGUgXDIxNHJzdCBpcyBwcmVmZXJyZWQuKS0yLjUgRShUaGlzIGlzIHNlbWFudGljYWxseSBlcXVpKTUgRQorLS4yNSh2YSktLjI1IEcobGVudCB0bykuMjUgRSBGMSg+KTE0NCA1OTAuNCBRIEYyKHdvcilBKGQpLS4zNyBFIEYwKDIpMi41CitFIEYxKD4mKUEgRjAoMSlBIEYxIC0uMjUoQXApODcgNjEyIFMKKyhwZW5kaW5nIFN0YW5kYXJkIE91dHB1dCBhbmQgU3RhbmRhcmQgRXJyKS4yNSBFKG9yKS0uMTggRSBGMCAuMjQ4CisoVGhpcyBjb25zdHJ1Y3QgYWxsbykxMDggNjI0IFIgLjI0OSh3cyBib3RoIHRoZSBzdGFuZGFyZCBvdXRwdXQgXChcMjE0bFwKK2UgZGVzY3JpcHRvciAxXCkgYW5kIHRoZSBzdGFuZGFyZCBlcnJvciBvdXRwdXQgXChcMjE0bGUgZGVzY3JpcC0pLS4yNSBGCisodG9yIDJcKSB0byBiZSBhcHBlbmRlZCB0byB0aGUgXDIxNGxlIHdob3NlIG5hbWUgaXMgdGhlIGUpMTA4IDYzNiBRCisoeHBhbnNpb24gb2YpLS4xNSBFIEYyKHdvcikyLjUgRShkKS0uMzcgRSBGMCguKS43NyBFCiAoVGhlIGZvcm1hdCBmb3IgYXBwZW5kaW5nIHN0YW5kYXJkIG91dHB1dCBhbmQgc3RhbmRhcmQgZXJyb3IgaXM6KTEwOAotMzgxLjYgUSBGMSgmPj4pMTQ0IDM5OC40IFEgRjIod29yKUEoZCktLjM3IEUgRjAKLShUaGlzIGlzIHNlbWFudGljYWxseSBlcXVpKTEwOCA0MTUuMiBRIC0uMjUodmEpLS4yNSBHKGxlbnQgdG8pLjI1IEUgRjEKLSg+PikxNDQgNDMyIFEgRjIod29yKUEoZCktLjM3IEUgRjAoMikyLjUgRSBGMSg+JilBIEYwKDEpQSBGMShIZXIpODcKLTQ0OC44IFEgMi41KGVEKS0uMTggRyhvY3VtZW50cyktMi41IEUgRjAgLjMzKFRoaXMgdHlwZSBvZiByZWRpcmVjdGlvbiBpXAotbnN0cnVjdHMgdGhlIHNoZWxsIHRvIHJlYWQgaW5wdXQgZnJvbSB0aGUgY3VycmVudCBzb3VyY2UgdW50aWwgYSBsaW5lIGNcCi1vbnRhaW5pbmcgb25seSkxMDggNDYwLjggUiBGMihkZWxpbWl0ZXIpMTA4LjM1IDQ3Mi44IFEgRjAgLjYxNAotKFwod2l0aCBubyB0cmFpbGluZyBibGFua3NcKSBpcyBzZWVuLikzLjg0NCBGIC42MTUKLShBbGwgb2YgdGhlIGxpbmVzIHJlYWQgdXAgdG8gdGhhdCBwb2ludCBhcmUgdGhlbiB1c2VkIGFzIHRoZSBzdGFuLSk1LjYxNQotRihkYXJkIGlucHV0IGZvciBhIGNvbW1hbmQuKTEwOCA0ODQuOCBRCi0oVGhlIGZvcm1hdCBvZiBoZXJlLWRvY3VtZW50cyBpczopMTA4IDUwMS42IFEgRjEoPDwpMTQ0IDUxOC40IFEgRjAoWylBCi1GMTxhZD5BIEYwKF0pQSBGMih3b3IpQShkKS0uMzcgRShoZXIpMTY0IDUzMC40IFEoZS1kb2N1bWVudCktLjM3IEUKLShkZWxpbWl0ZXIpMTQ0IDU0Mi40IFEgRjAgLjEyOChObyBwYXJhbWV0ZXIgZSkxMDggNTU5LjIgUiAuMTI3Ci0oeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhcml0aG1ldGljIGUpLS4xNSBGIC4xMjcKLSh4cGFuc2lvbiwgb3IgcGF0aG5hbWUgZSktLjE1IEYgLjEyNyh4cGFuc2lvbiBpcyBwZXJmb3JtZWQpLS4xNSBGKG9uKTEwOAotNTcxLjIgUSBGMih3b3IpMy4yNzQgRShkKS0uMzcgRSBGMCA1Ljc3NCguSSkuNzcgRyAzLjI3NChmYSktNS43NzQgRwotMS4wNzQgLS4xNShueSBjKS0zLjI3NCBIIC43NzQoaGFyYWN0ZXJzIGluKS4xNSBGIEYyKHdvcikzLjYxNCBFKGQpLS4zNyBFCi1GMCAuNzc0KGFyZSBxdW90ZWQsIHRoZSk0LjA0NCBGIEYyKGRlbGltaXRlcikzLjYyNCBFIEYwIC43NzQKLShpcyB0aGUgcmVzdWx0IG9mIHF1b3RlIHJlbW8pNC4wMDQgRiAtLjI1KHZhKS0uMTUgRyAzLjI3NShsbykuMjUgRyhuKQotLTMuMjc1IEUgRjIod29yKTMuMjc1IEUoZCktLjM3IEUgRjAgMy4yNzUoLGEpLjc3IEcobmQpLTMuMjc1IEUgLjkwNQotKHRoZSBsaW5lcyBpbiB0aGUgaGVyZS1kb2N1bWVudCBhcmUgbm90IGUpMTA4IDU4My4yIFIgMy40MDUoeHBhbmRlZC4gSWYpCi0tLjE1IEYgRjIod29yKTMuNDA1IEUoZCktLjM3IEUgRjAgLjkwNAotKGlzIHVucXVvdGVkLCBhbGwgbGluZXMgb2YgdGhlIGhlcmUtZG9jdW1lbnQgYXJlKTMuNDA1IEYgLjY5NAotKHN1YmplY3RlZCB0byBwYXJhbWV0ZXIgZSkxMDggNTk1LjIgUiAuNjk1Ci0oeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhbmQgYXJpdGhtZXRpYyBlKS0uMTUgRiAzLjE5NQotKHhwYW5zaW9uLiBJbiktLjE1IEYgLjY5NSh0aGUgbGF0dGVyIGNhc2UsIHRoZSkzLjE5NSBGCi0oY2hhcmFjdGVyIHNlcXVlbmNlKTEwOCA2MDcuMiBRIEYxKFxcPG5ld2xpbmU+KTIuNSBFIEYwKGlzIGlnbm9yZWQsIGFuZCkKLTIuNSBFIEYxKFxcKTIuNSBFIEYwKG11c3QgYmUgdXNlZCB0byBxdW90ZSB0aGUgY2hhcmFjdGVycykyLjUgRSBGMShcXCkKLTIuNSBFIEYwKCwpQSBGMSgkKTIuNSBFIEYwIDIuNSgsYSlDKG5kKS0yLjUgRSBGMTw5Mj4yLjUgRSBGMCguKUEgLjYwMgotKElmIHRoZSByZWRpcmVjdGlvbiBvcGVyYXRvciBpcykxMDggNjI0IFIgRjEoPDxcMjU1KTMuMTAxIEUgRjAgMy4xMDEoLHQpCi1DIC42MDEoaGVuIGFsbCBsZWFkaW5nIHRhYiBjaGFyYWN0ZXJzIGFyZSBzdHJpcHBlZCBmcm9tIGlucHV0IGxpbmVzIGFuZFwKLSB0aGUgbGluZSktMy4xMDEgRihjb250YWluaW5nKTEwOCA2MzYgUSBGMihkZWxpbWl0ZXIpMi41IEUgRjAgNSguVCkuNzMgRwotKGhpcyBhbGxvKS01IEUKLSh3cyBoZXJlLWRvY3VtZW50cyB3aXRoaW4gc2hlbGwgc2NyaXB0cyB0byBiZSBpbmRlbnRlZCBpbiBhIG5hdHVyYWwgZikKLS0uMjUgRShhc2hpb24uKS0uMSBFIEYxKEhlcik4NyA2NTIuOCBRIDIuNShlUyktLjE4IEcodHJpbmdzKS0yLjUgRSBGMAotMi41KEF2KTEwOCA2NjQuOCBTKGFyaWFudCBvZiBoZXJlIGRvY3VtZW50cywgdGhlIGZvcm1hdCBpczopLTIuNzUgRSBGMQotKDw8PCkxNDQgNjgxLjYgUSBGMih3b3IpQShkKS0uMzcgRSBGMChUaGUpMTA4IDY5OC40IFEgRjIod29yKTIuNSBFKGQpCi0tLjM3IEUgRjAoaXMgZSkyLjUgRQotKHhwYW5kZWQgYW5kIHN1cHBsaWVkIHRvIHRoZSBjb21tYW5kIG9uIGl0cyBzdGFuZGFyZCBpbnB1dC4pLS4xNSBFCi0oR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDkgRmVicnVhcnkgNykxNDAuOTYgRSgyNCkxOTAuOTUgRSAwIENnIEVQCis2NTIuOCBRIEYxKCY+PikxNDQgNjY5LjYgUSBGMih3b3IpQShkKS0uMzcgRSBGMAorKFRoaXMgaXMgc2VtYW50aWNhbGx5IGVxdWkpMTA4IDY4Ni40IFEgLS4yNSh2YSktLjI1IEcobGVudCB0bykuMjUgRSBGMQorKD4+KTE0NCA3MDMuMiBRIEYyKHdvcilBKGQpLS4zNyBFIEYwKDIpMi41IEUgRjEoPiYpQSBGMCgxKUEKKyhHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoMjQpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogMjUgMjUKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKER1cGxpY2F0aW5nIEZpbGUgRGVzY3JpcHRvcnMpODcgODQgUSBGMAotKFRoZSByZWRpcmVjdGlvbiBvcGVyYXRvcikxMDggOTYgUShbKTE0NCAxMTIuOCBRL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGCi0obilBIEYwKF0pQSBGMSg8JilBIEYyKHdvcilBKGQpLS4zNyBFIEYwIC4xMjYKLShpcyB1c2VkIHRvIGR1cGxpY2F0ZSBpbnB1dCBcMjE0bGUgZGVzY3JpcHRvcnMuKTEwOCAxMjkuNiBSKElmKTUuMTI3IEUKLUYyKHdvcikyLjk2NyBFKGQpLS4zNyBFIEYwIC0uMTUoZXgpMy4zOTcgRyAuMTI3CistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKEhlcik4NyA4NCBRIDIuNShlRCktLjE4IEcob2N1bWVudHMpLTIuNSBFCitGMCAuMzMoVGhpcyB0eXBlIG9mIHJlZGlyZWN0aW9uIGluc3RydWN0cyB0aGUgc2hlbGwgdG8gcmVhZCBpbnB1dCBmcm9tIFwKK3RoZSBjdXJyZW50IHNvdXJjZSB1bnRpbCBhIGxpbmUgY29udGFpbmluZyBvbmx5KTEwOCA5NiBSL0YyIDEwCisvVGltZXMtSXRhbGljQDAgU0YoZGVsaW1pdGVyKTEwOC4zNSAxMDggUSBGMCAuNjE0CisoXCh3aXRoIG5vIHRyYWlsaW5nIGJsYW5rc1wpIGlzIHNlZW4uKTMuODQ0IEYgLjYxNQorKEFsbCBvZiB0aGUgbGluZXMgcmVhZCB1cCB0byB0aGF0IHBvaW50IGFyZSB0aGVuIHVzZWQgYXMgdGhlIHN0YW4tKTUuNjE1CitGKGRhcmQgaW5wdXQgZm9yIGEgY29tbWFuZC4pMTA4IDEyMCBRKFRoZSBmb3JtYXQgb2YgaGVyZS1kb2N1bWVudHMgaXM6KQorMTA4IDEzNi44IFEgRjEoPDwpMTQ0IDE1My42IFEgRjAoWylBIEYxPGFkPkEgRjAoXSlBIEYyKHdvcilBKGQpLS4zNyBFCisoaGVyKTE2NCAxNjUuNiBRKGUtZG9jdW1lbnQpLS4zNyBFKGRlbGltaXRlcikxNDQgMTc3LjYgUSBGMCAuMTI4CisoTm8gcGFyYW1ldGVyIGUpMTA4IDE5NC40IFIgLjEyNworKHhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1dGlvbiwgYXJpdGhtZXRpYyBlKS0uMTUgRiAuMTI3CisoeHBhbnNpb24sIG9yIHBhdGhuYW1lIGUpLS4xNSBGIC4xMjcoeHBhbnNpb24gaXMgcGVyZm9ybWVkKS0uMTUgRihvbikxMDgKKzIwNi40IFEgRjIod29yKTMuMjc0IEUoZCktLjM3IEUgRjAgNS43NzQoLkkpLjc3IEcgMy4yNzQoZmEpLTUuNzc0IEcKKzEuMDc0IC0uMTUobnkgYyktMy4yNzQgSCAuNzc0KGhhcmFjdGVycyBpbikuMTUgRiBGMih3b3IpMy42MTQgRShkKS0uMzcgRQorRjAgLjc3NChhcmUgcXVvdGVkLCB0aGUpNC4wNDQgRiBGMihkZWxpbWl0ZXIpMy42MjQgRSBGMCAuNzc0CisoaXMgdGhlIHJlc3VsdCBvZiBxdW90ZSByZW1vKTQuMDA0IEYgLS4yNSh2YSktLjE1IEcgMy4yNzUobG8pLjI1IEcobikKKy0zLjI3NSBFIEYyKHdvcikzLjI3NSBFKGQpLS4zNyBFIEYwIDMuMjc1KCxhKS43NyBHKG5kKS0zLjI3NSBFIC45MDUKKyh0aGUgbGluZXMgaW4gdGhlIGhlcmUtZG9jdW1lbnQgYXJlIG5vdCBlKTEwOCAyMTguNCBSIDMuNDA1KHhwYW5kZWQuIElmKQorLS4xNSBGIEYyKHdvcikzLjQwNSBFKGQpLS4zNyBFIEYwIC45MDQKKyhpcyB1bnF1b3RlZCwgYWxsIGxpbmVzIG9mIHRoZSBoZXJlLWRvY3VtZW50IGFyZSkzLjQwNSBGIC42OTQKKyhzdWJqZWN0ZWQgdG8gcGFyYW1ldGVyIGUpMTA4IDIzMC40IFIgLjY5NQorKHhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1dGlvbiwgYW5kIGFyaXRobWV0aWMgZSktLjE1IEYgMy4xOTUKKyh4cGFuc2lvbi4gSW4pLS4xNSBGIC42OTUodGhlIGxhdHRlciBjYXNlLCB0aGUpMy4xOTUgRgorKGNoYXJhY3RlciBzZXF1ZW5jZSkxMDggMjQyLjQgUSBGMShcXDxuZXdsaW5lPikyLjUgRSBGMChpcyBpZ25vcmVkLCBhbmQpCisyLjUgRSBGMShcXCkyLjUgRSBGMChtdXN0IGJlIHVzZWQgdG8gcXVvdGUgdGhlIGNoYXJhY3RlcnMpMi41IEUgRjEoXFwpCisyLjUgRSBGMCgsKUEgRjEoJCkyLjUgRSBGMCAyLjUoLGEpQyhuZCktMi41IEUgRjE8OTI+Mi41IEUgRjAoLilBIC42MDIKKyhJZiB0aGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IgaXMpMTA4IDI1OS4yIFIgRjEoPDxcMjU1KTMuMTAxIEUgRjAgMy4xMDEKKygsdClDIC42MDEoaGVuIGFsbCBsZWFkaW5nIHRhYiBjaGFyYWN0ZXJzIGFyZSBzdHJpcHBlZCBmcm9tIGlucHV0IGxpbmVzXAorIGFuZCB0aGUgbGluZSktMy4xMDEgRihjb250YWluaW5nKTEwOCAyNzEuMiBRIEYyKGRlbGltaXRlcikyLjUgRSBGMCA1CisoLlQpLjczIEcoaGlzIGFsbG8pLTUgRQorKHdzIGhlcmUtZG9jdW1lbnRzIHdpdGhpbiBzaGVsbCBzY3JpcHRzIHRvIGJlIGluZGVudGVkIGluIGEgbmF0dXJhbCBmKQorLS4yNSBFKGFzaGlvbi4pLS4xIEUgRjEoSGVyKTg3IDI4OCBRIDIuNShlUyktLjE4IEcodHJpbmdzKS0yLjUgRSBGMCAyLjUKKyhBdikxMDggMzAwIFMoYXJpYW50IG9mIGhlcmUgZG9jdW1lbnRzLCB0aGUgZm9ybWF0IGlzOiktMi43NSBFIEYxKDw8PCkKKzE0NCAzMTYuOCBRIEYyKHdvcilBKGQpLS4zNyBFIEYwKFRoZSkxMDggMzMzLjYgUSBGMih3b3IpMi41IEUoZCktLjM3IEUKK0YwKGlzIGUpMi41IEUKKyh4cGFuZGVkIGFuZCBzdXBwbGllZCB0byB0aGUgY29tbWFuZCBvbiBpdHMgc3RhbmRhcmQgaW5wdXQuKS0uMTUgRSBGMQorKER1cGxpY2F0aW5nIEZpbGUgRGVzY3JpcHRvcnMpODcgMzUwLjQgUSBGMChUaGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IpMTA4CiszNjIuNCBRKFspMTQ0IDM3OS4yIFEgRjIobilBIEYwKF0pQSBGMSg8JilBIEYyKHdvcilBKGQpLS4zNyBFIEYwIC4xMjYKKyhpcyB1c2VkIHRvIGR1cGxpY2F0ZSBpbnB1dCBcMjE0bGUgZGVzY3JpcHRvcnMuKTEwOCAzOTYgUihJZik1LjEyNyBFIEYyCisod29yKTIuOTY3IEUoZCktLjM3IEUgRjAgLS4xNShleCkzLjM5NyBHIC4xMjcKIChwYW5kcyB0byBvbmUgb3IgbW9yZSBkaWdpdHMsIHRoZSBcMjE0bGUgZGVzY3JpcHRvciBkZW5vdGVkKS4xNSBGKGJ5KTEwOAotMTQxLjYgUSBGMihuKTMuMzE4IEUgRjAgLjQ1OChpcyBtYWRlIHRvIGJlIGEgY29wKTMuMTk4IEYgMi45NTgoeW8pLS4xIEcKKzQwOCBRIEYyKG4pMy4zMTggRSBGMCAuNDU4KGlzIG1hZGUgdG8gYmUgYSBjb3ApMy4xOTggRiAyLjk1OCh5byktLjEgRwogMi45NTgoZnQpLTIuOTU4IEcgLjQ1NyhoYXQgXDIxNGxlIGRlc2NyaXB0b3IpLTIuOTU4IEYgNS40NTcoLkkpLS41NSBHCiAyLjk1NyhmdCktNS40NTcgRyAuNDU3KGhlIGRpZ2l0cyBpbiktMi45NTcgRiBGMih3b3IpMy4yOTcgRShkKS0uMzcgRSBGMAogLjQ1NyhkbyBub3Qgc3BlY2lmeSBhIFwyMTRsZSBkZXNjcmlwdG9yIG9wZW4pMy43MjcgRiAuMTQ5Ci0oZm9yIGlucHV0LCBhIHJlZGlyZWN0aW9uIGVycm9yIG9jY3Vycy4pMTA4IDE1My42IFIoSWYpNS4xNDkgRSBGMih3b3IpCisoZm9yIGlucHV0LCBhIHJlZGlyZWN0aW9uIGVycm9yIG9jY3Vycy4pMTA4IDQyMCBSKElmKTUuMTQ5IEUgRjIod29yKQogMi45ODkgRShkKS0uMzcgRSBGMCAtLjI1KGV2YSkzLjQxOSBHIC4xNDkobHVhdGVzIHRvKS4yNSBGIEYxPGFkPjIuNjQ5IEUKIEYwIDIuNjU8MmM4Yz5DIC4xNShsZSBkZXNjcmlwdG9yKS0yLjY1IEYgRjIobikzLjAxIEUgRjAgLjE1KGlzIGNsb3NlZC4pCiAyLjg5IEYoSWYpNS4xNSBFIEYyKG4pMy4wMSBFIEYwIC4xNShpcyBub3Qgc3BlY2lcMjE0ZWQsKTIuODkgRgotKHRoZSBzdGFuZGFyZCBpbnB1dCBcKFwyMTRsZSBkZXNjcmlwdG9yIDBcKSBpcyB1c2VkLikxMDggMTY1LjYgUQotKFRoZSBvcGVyYXRvcikxMDggMTgyLjQgUShbKTE0NCAxOTkuMiBRIEYyKG4pQSBGMChdKUEgRjEoPiYpQSBGMih3b3IpQQorKHRoZSBzdGFuZGFyZCBpbnB1dCBcKFwyMTRsZSBkZXNjcmlwdG9yIDBcKSBpcyB1c2VkLikxMDggNDMyIFEKKyhUaGUgb3BlcmF0b3IpMTA4IDQ0OC44IFEoWykxNDQgNDY1LjYgUSBGMihuKUEgRjAoXSlBIEYxKD4mKUEgRjIod29yKUEKIChkKS0uMzcgRSBGMCAuNDQ0Ci0oaXMgdXNlZCBzaW1pbGFybHkgdG8gZHVwbGljYXRlIG91dHB1dCBcMjE0bGUgZGVzY3JpcHRvcnMuKTEwOCAyMTYgUihJZikKLTUuNDQ0IEUgRjIobikzLjMwNCBFIEYwIC40NDMKKyhpcyB1c2VkIHNpbWlsYXJseSB0byBkdXBsaWNhdGUgb3V0cHV0IFwyMTRsZSBkZXNjcmlwdG9ycy4pMTA4IDQ4Mi40IFIKKyhJZik1LjQ0NCBFIEYyKG4pMy4zMDQgRSBGMCAuNDQzCiAoaXMgbm90IHNwZWNpXDIxNGVkLCB0aGUgc3RhbmRhcmQgb3V0cHV0IFwoXDIxNGxlIGRlc2NyaXAtKTMuMTgzIEYgMS4zNTcKLSh0b3IgMVwpIGlzIHVzZWQuKTEwOCAyMjggUiAxLjM1NyhJZiB0aGUgZGlnaXRzIGluKTYuMzU3IEYgRjIod29yKTQuMTk3Ci1FKGQpLS4zNyBFIEYwIDEuMzU4KGRvIG5vdCBzcGVjaWZ5IGEgXDIxNGxlIGRlc2NyaXB0b3Igb3BlbiBmb3Igb3V0cHV0LFwKLSBhIHJlZGlyZWN0aW9uIGVycm9yKTQuNjI3IEYgMi41OTcob2NjdXJzLiBBcykxMDggMjQwIFIgMi41OTcoYXMpMi41OTcgRwotLjA5NyhwZWNpYWwgY2FzZSwgaWYpLTIuNTk3IEYgRjIobikyLjU5NiBFIEYwIC4wOTYoaXMgb21pdHRlZCwgYW5kKTIuNTk2Ci1GIEYyKHdvcikyLjU5NiBFKGQpLS4zNyBFIEYwIC4wOTYoZG9lcyBub3QgZSkyLjU5NiBGIC4wOTYKLSh4cGFuZCB0byBvbmUgb3IgbW9yZSBkaWdpdHMsIHRoZSBzdGFuZGFyZCBvdXQtKS0uMTUgRgotKHB1dCBhbmQgc3RhbmRhcmQgZXJyb3IgYXJlIHJlZGlyZWN0ZWQgYXMgZGVzY3JpYmVkIHByZSkxMDggMjUyIFEKLSh2aW91c2x5KS0uMjUgRSguKS0uNjUgRSBGMShNbyk4NyAyNjguOCBRKHZpbmcgRmlsZSBEZXNjcmlwdG9ycyktLjEgRSBGMAotKFRoZSByZWRpcmVjdGlvbiBvcGVyYXRvcikxMDggMjgwLjggUShbKTE0NCAyOTcuNiBRIEYyKG4pQSBGMChdKUEgRjEoPCYpCi1BIEYyKGRpZ2l0KUEgRjE8YWQ+QSBGMChtbykxMDggMzE0LjQgUSAtLjE1KHZlKS0uMTUgRyAzLjAzNShzdCkuMTUgRwotLjUzNShoZSBcMjE0bGUgZGVzY3JpcHRvciktMy4wMzUgRiBGMihkaWdpdCkzLjAzNSBFIEYwIC41MzUKKyh0b3IgMVwpIGlzIHVzZWQuKTEwOCA0OTQuNCBSIDEuMzU3KElmIHRoZSBkaWdpdHMgaW4pNi4zNTcgRiBGMih3b3IpCis0LjE5NyBFKGQpLS4zNyBFIEYwIDEuMzU4KGRvIG5vdCBzcGVjaWZ5IGEgXDIxNGxlIGRlc2NyaXB0b3Igb3BlbiBmb3Igb1wKK3V0cHV0LCBhIHJlZGlyZWN0aW9uIGVycm9yKTQuNjI3IEYgMi41OTcob2NjdXJzLiBBcykxMDggNTA2LjQgUiAyLjU5NworKGFzKTIuNTk3IEcgLjA5NyhwZWNpYWwgY2FzZSwgaWYpLTIuNTk3IEYgRjIobikyLjU5NiBFIEYwIC4wOTYKKyhpcyBvbWl0dGVkLCBhbmQpMi41OTYgRiBGMih3b3IpMi41OTYgRShkKS0uMzcgRSBGMCAuMDk2KGRvZXMgbm90IGUpCisyLjU5NiBGIC4wOTYoeHBhbmQgdG8gb25lIG9yIG1vcmUgZGlnaXRzLCB0aGUgc3RhbmRhcmQgb3V0LSktLjE1IEYKKyhwdXQgYW5kIHN0YW5kYXJkIGVycm9yIGFyZSByZWRpcmVjdGVkIGFzIGRlc2NyaWJlZCBwcmUpMTA4IDUxOC40IFEKKyh2aW91c2x5KS0uMjUgRSguKS0uNjUgRSBGMShNbyk4NyA1MzUuMiBRKHZpbmcgRmlsZSBEZXNjcmlwdG9ycyktLjEgRSBGMAorKFRoZSByZWRpcmVjdGlvbiBvcGVyYXRvcikxMDggNTQ3LjIgUShbKTE0NCA1NjQgUSBGMihuKUEgRjAoXSlBIEYxKDwmKUEKK0YyKGRpZ2l0KUEgRjE8YWQ+QSBGMChtbykxMDggNTgwLjggUSAtLjE1KHZlKS0uMTUgRyAzLjAzNShzdCkuMTUgRyAuNTM1CisoaGUgXDIxNGxlIGRlc2NyaXB0b3IpLTMuMDM1IEYgRjIoZGlnaXQpMy4wMzUgRSBGMCAuNTM1CiAodG8gXDIxNGxlIGRlc2NyaXB0b3IpMy4wMzUgRiBGMihuKTMuMDM1IEUgRjAgMy4wMzUoLG8pLjI0IEcgMy4wMzUocnQpCiAtMy4wMzUgRyAuNTM2KGhlIHN0YW5kYXJkIGlucHV0IFwoXDIxNGxlIGRlc2NyaXB0b3IgMFwpIGlmKS0zLjAzNSBGIEYyCi0obikzLjAzNiBFIEYwIC41MzYoaXMgbm90IHNwZWNpLSkzLjAzNiBGKFwyMTRlZC4pMTA4IDMyNi40IFEgRjIoZGlnaXQpNQorKG4pMy4wMzYgRSBGMCAuNTM2KGlzIG5vdCBzcGVjaS0pMy4wMzYgRihcMjE0ZWQuKTEwOCA1OTIuOCBRIEYyKGRpZ2l0KTUKIEUgRjAoaXMgY2xvc2VkIGFmdGVyIGJlaW5nIGR1cGxpY2F0ZWQgdG8pMi41IEUgRjIobikyLjUgRSBGMCguKUEKLShTaW1pbGFybHkpMTA4IDM0My4yIFEgMi41KCx0KS0uNjUgRyhoZSByZWRpcmVjdGlvbiBvcGVyYXRvciktMi41IEUoWykKLTE0NCAzNjAgUSBGMihuKUEgRjAoXSlBIEYxKD4mKUEgRjIoZGlnaXQpQSBGMTxhZD5BIEYwKG1vKTEwOCAzNzYuOCBRCisoU2ltaWxhcmx5KTEwOCA2MDkuNiBRIDIuNSgsdCktLjY1IEcoaGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IpLTIuNSBFKFspCisxNDQgNjI2LjQgUSBGMihuKUEgRjAoXSlBIEYxKD4mKUEgRjIoZGlnaXQpQSBGMTxhZD5BIEYwKG1vKTEwOCA2NDMuMiBRCiAtLjE1KHZlKS0uMTUgRyAyLjc4NihzdCkuMTUgRyAuMjg2KGhlIFwyMTRsZSBkZXNjcmlwdG9yKS0yLjc4NiBGIEYyCiAoZGlnaXQpMi43ODYgRSBGMCAuMjg2KHRvIFwyMTRsZSBkZXNjcmlwdG9yKTIuNzg2IEYgRjIobikyLjc4NiBFIEYwCiAyLjc4NigsbykuMjQgRyAyLjc4NihydCktMi43ODYgRyAuMjg1CiAoaGUgc3RhbmRhcmQgb3V0cHV0IFwoXDIxNGxlIGRlc2NyaXB0b3IgMVwpIGlmKS0yLjc4NiBGIEYyKG4pMi43ODUgRSBGMAotLjI4NShpcyBub3Qgc3BlY2ktKTIuNzg1IEYoXDIxNGVkLikxMDggMzg4LjggUSBGMQotKE9wZW5pbmcgRmlsZSBEZXNjcmlwdG9ycyBmKTg3IDQwNS42IFEob3IgUmVhZGluZyBhbmQgV3JpdGluZyktLjI1IEUgRjAKLShUaGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IpMTA4IDQxNy42IFEoWykxNDQgNDM0LjQgUSBGMihuKUEgRjAoXSlBIEYxKDw+KQotQSBGMih3b3IpQShkKS0uMzcgRSBGMCAxLjM0OShjYXVzZXMgdGhlIFwyMTRsZSB3aG9zZSBuYW1lIGlzIHRoZSBlKTEwOAotNDUxLjIgUiAxLjM0OSh4cGFuc2lvbiBvZiktLjE1IEYgRjIod29yKTQuMTg5IEUoZCktLjM3IEUgRjAgMS4zNDkKKy4yODUoaXMgbm90IHNwZWNpLSkyLjc4NSBGKFwyMTRlZC4pMTA4IDY1NS4yIFEgRjEKKyhPcGVuaW5nIEZpbGUgRGVzY3JpcHRvcnMgZik4NyA2NzIgUShvciBSZWFkaW5nIGFuZCBXcml0aW5nKS0uMjUgRSBGMAorKFRoZSByZWRpcmVjdGlvbiBvcGVyYXRvcikxMDggNjg0IFEoWykxNDQgNzAwLjggUSBGMihuKUEgRjAoXSlBIEYxKDw+KUEKK0YyKHdvcilBKGQpLS4zNyBFIEYwIDEuMzQ5KGNhdXNlcyB0aGUgXDIxNGxlIHdob3NlIG5hbWUgaXMgdGhlIGUpMTA4Cis3MTcuNiBSIDEuMzQ5KHhwYW5zaW9uIG9mKS0uMTUgRiBGMih3b3IpNC4xODkgRShkKS0uMzcgRSBGMCAxLjM0OQogKHRvIGJlIG9wZW5lZCBmb3IgYm90aCByZWFkaW5nIGFuZCB3cml0aW5nIG9uIFwyMTRsZSk0LjYxOSBGKGRlc2NyaXB0b3IpCi0xMDggNDYzLjIgUSBGMihuKTIuNSBFIEYwIDIuNSgsbykuMjQgRyAyLjUocm8pLTIuNSBHIDIuNTw2ZThjPi0yLjUgRworMTA4IDcyOS42IFEgRjIobikyLjUgRSBGMCAyLjUoLG8pLjI0IEcgMi41KHJvKS0yLjUgRyAyLjU8NmU4Yz4tMi41IEcKIChsZSBkZXNjcmlwdG9yIDAgaWYpLTIuNSBFIEYyKG4pMi44NiBFIEYwKGlzIG5vdCBzcGVjaVwyMTRlZC4pMi43NCBFCi0oSWYgdGhlIFwyMTRsZSBkb2VzIG5vdCBlKTUgRSh4aXN0LCBpdCBpcyBjcmVhdGVkLiktLjE1IEUvRjMgMTAuOTUKLS9UaW1lcy1Cb2xkQDAgU0YoQUxJQVNFUyk3MiA0ODAgUSBGMihBbGlhc2VzKTEwOCA0OTIgUSBGMChhbGxvKTMuMTc0IEUKLTMuMTc0KHdhcyktLjI1IEcgLjY3NCh0cmluZyB0byBiZSBzdWJzdGl0dXRlZCBmb3IgYSB3KS0zLjE3NCBGIC42NzQKLShvcmQgd2hlbiBpdCBpcyB1c2VkIGFzIHRoZSBcMjE0cnN0IHcpLS4xIEYgLjY3MwotKG9yZCBvZiBhIHNpbXBsZSBjb21tYW5kLiktLjEgRiAuMzk0KFRoZSBzaGVsbCBtYWludGFpbnMgYSBsaXN0IG9mIGFsaWFcCi1zZXMgdGhhdCBtYXkgYmUgc2V0IGFuZCB1bnNldCB3aXRoIHRoZSkxMDggNTA0IFIgRjEoYWxpYXMpMi44OTQgRSBGMAotKGFuZCkyLjg5NCBFIEYxKHVuYWxpYXMpMi44OTQgRSBGMCAtLjIoYnUpMi44OTQgRyAuMzk0KGlsdGluIGNvbW1hbmRzKS4yCi1GKFwoc2VlKTEwOCA1MTYgUS9GNCA5L1RpbWVzLUJvbGRAMCBTRiAxLjk4KFNIRUxMIEIpNC40OCBGKFVJTCktLjA5IEUKLTEuOTgoVElOIENPTU1BTkRTKS0uODI4IEYgRjAoYmVsbyk0LjIzIEUgNC40OCh3XCkuIFRoZSktLjI1IEYgMS45OAotKFwyMTRyc3Qgdyk0LjQ4IEYgMS45Nzkob3JkIG9mIGVhY2ggc2ltcGxlIGNvbW1hbmQsIGlmIHVucXVvdGVkLCBpcyktLjEKLUYoY2hlY2spMTA4IDUyOCBRIC40NzIoZWQgdG8gc2VlIGlmIGl0IGhhcyBhbiBhbGlhcy4pLS4xIEYgLjQ3MgotKElmIHNvLCB0aGF0IHcpNS40NzIgRiAuNDczKG9yZCBpcyByZXBsYWNlZCBieSB0aGUgdGUpLS4xIEYgLjQ3MwotKHh0IG9mIHRoZSBhbGlhcy4pLS4xNSBGIC40NzMoVGhlIGNoYXJhY3RlcnMpNS40NzMgRiBGMSgvKTIuOTczIEUgRjAoLClBCi1GMSgkKTIuOTczIEUgRjAoLClBIEYxPDkyPjIuOTczIEUgRjAoLClBKGFuZCkxMDggNTQwIFEgRjEoPSkzLjYxMiBFIEYwCi0xLjExMihhbmQgYW4pMy42MTIgRiAzLjYxMih5byktLjE1IEcgMy42MTIoZnQpLTMuNjEyIEcgMS4xMTIoaGUgc2hlbGwpCi0tMy42MTIgRiBGMihtZXRhYykzLjYxMiBFKGhhciktLjE1IEUoYWN0ZXIpLS4xNSBFKHMpLS4xIEUgRjAgMS4xMTIKLShvciBxdW90aW5nIGNoYXJhY3RlcnMgbGlzdGVkIGFibykzLjYxMiBGIDEuNDExIC0uMTUodmUgbSktLjE1IEggMS4xMTEKLShheSBub3QgYXBwZWFyIGluIGFuIGFsaWFzKS4xNSBGIDMuNjE5KG5hbWUuIFRoZSkxMDggNTUyIFIgMS4xMTkKLShyZXBsYWNlbWVudCB0ZSkzLjYxOSBGIDEuMTE5KHh0IG1heSBjb250YWluIGFuKS0uMTUgRiAzLjYxOSh5diktLjE1IEcKLTEuMTE5KGFsaWQgc2hlbGwgaW5wdXQsIGluY2x1ZGluZyBzaGVsbCBtZXRhY2hhcmFjdGVycy4pLTMuODY5IEYgMS4xMgotKFRoZSBcMjE0cnN0KTYuMTIgRiAtLjEod28pMTA4IDU2NCBTIC41MTQocmQgb2YgdGhlIHJlcGxhY2VtZW50IHRlKS4xIEYKLS41MTQoeHQgaXMgdGVzdGVkIGZvciBhbGlhc2VzLCBiKS0uMTUgRiAuNTE0KHV0IGEgdyktLjIgRiAuNTEzCi0ob3JkIHRoYXQgaXMgaWRlbnRpY2FsIHRvIGFuIGFsaWFzIGJlaW5nIGUpLS4xIEYgLjUxMyh4cGFuZGVkIGlzKS0uMTUgRgotLjI5NShub3QgZSkxMDggNTc2IFIgLjI5NSh4cGFuZGVkIGEgc2Vjb25kIHRpbWUuKS0uMTUgRiAuMjk2Ci0oVGhpcyBtZWFucyB0aGF0IG9uZSBtYXkgYWxpYXMpNS4yOTUgRiBGMShscykyLjc5NiBFIEYwKHRvKTIuNzk2IEUgRjEKLS4yOTYobHMgXDI1NUYpMi43OTYgRiBGMCAyLjc5NigsZilDIC4yOTYob3IgaW5zdGFuY2UsIGFuZCktMi43OTYgRiBGMQotKGJhc2gpMi43OTYgRSBGMCAuMjk2KGRvZXMgbm90IHRyeSkyLjc5NiBGIC41NDModG8gcmVjdXJzaSkxMDggNTg4IFIKLS0uMTUodmUpLS4yNSBHIC41NDMobHkgZSkuMTUgRiAuNTQzKHhwYW5kIHRoZSByZXBsYWNlbWVudCB0ZSktLjE1IEYKLTMuMDQzKHh0LiBJZiktLjE1IEYgLjU0Myh0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgdGhlIGFsaWFzIHYpMy4wNDMgRiAuNTQyCi0oYWx1ZSBpcyBhKS0uMjUgRiBGMihibGFuaykzLjA0MiBFIEYwIDMuMDQyKCx0KS42NyBHIC41NDIoaGVuIHRoZSBuZSkKLS0zLjA0MiBGKHh0KS0uMTUgRShjb21tYW5kIHcpMTA4IDYwMCBRKG9yZCBmb2xsbyktLjEgRQotKHdpbmcgdGhlIGFsaWFzIGlzIGFsc28gY2hlY2spLS4yNSBFKGVkIGZvciBhbGlhcyBlKS0uMSBFKHhwYW5zaW9uLiktLjE1Ci1FKEFsaWFzZXMgYXJlIGNyZWF0ZWQgYW5kIGxpc3RlZCB3aXRoIHRoZSkxMDggNjE2LjggUSBGMShhbGlhcykyLjUgRSBGMAotKGNvbW1hbmQsIGFuZCByZW1vKTIuNSBFIC0uMTUodmUpLS4xNSBHIDIuNShkdykuMTUgRyhpdGggdGhlKS0yLjUgRSBGMQotKHVuYWxpYXMpMi41IEUgRjAoY29tbWFuZC4pMi41IEUgLjI4NAotKFRoZXJlIGlzIG5vIG1lY2hhbmlzbSBmb3IgdXNpbmcgYXIpMTA4IDYzMy42IFIgLjI4NAotKGd1bWVudHMgaW4gdGhlIHJlcGxhY2VtZW50IHRlKS0uMTggRiAyLjc4NCh4dC4gSWYpLS4xNSBGKGFyKTIuNzg0IEUKLS4yODQoZ3VtZW50cyBhcmUgbmVlZGVkLCBhIHNoZWxsIGZ1bmMtKS0uMTggRih0aW9uIHNob3VsZCBiZSB1c2VkIFwoc2VlKQotMTA4IDY0NS42IFEgRjQoRlVOQ1RJT05TKTIuNSBFIEYwKGJlbG8pMi4yNSBFKHdcKS4pLS4yNSBFIDEuMjIKLShBbGlhc2VzIGFyZSBub3QgZSkxMDggNjYyLjQgUiAxLjIyCi0oeHBhbmRlZCB3aGVuIHRoZSBzaGVsbCBpcyBub3QgaW50ZXJhY3RpKS0uMTUgRiAtLjE1KHZlKS0uMjUgRyAzLjcyKCx1KQotLjE1IEcgMS4yMihubGVzcyB0aGUpLTMuNzIgRiBGMShleHBhbmRfYWxpYXNlcykzLjcyIEUgRjAgMS4yMgotKHNoZWxsIG9wdGlvbiBpcyBzZXQpMy43MiBGKHVzaW5nKTEwOCA2NzQuNCBRIEYxKHNob3B0KTIuNSBFIEYwCi0oXChzZWUgdGhlIGRlc2NyaXB0aW9uIG9mKTIuNSBFIEYxKHNob3B0KTIuNSBFIEYwKHVuZGVyKTIuNSBFIEY0Ci0oU0hFTEwgQikyLjUgRShVSUwpLS4wOSBFKFRJTiBDT01NQU5EUyktLjgyOCBFIEYwKGJlbG8pMi4yNSBFKHdcKS4pLS4yNQotRSAuNDM1Ci0oVGhlIHJ1bGVzIGNvbmNlcm5pbmcgdGhlIGRlXDIxNG5pdGlvbiBhbmQgdXNlIG9mIGFsaWFzZXMgYXJlIHNvbWUpMTA4Ci02OTEuMiBSIC40MzYod2hhdCBjb25mdXNpbmcuKS0uMjUgRiBGMShCYXNoKTUuNDM2IEUgRjAoYWwpMi45MzYgRSAtLjEKLSh3YSktLjEgRyAuNDM2KHlzIHJlYWRzIGF0IGxlYXN0KS4xIEYgLjMzOAotKG9uZSBjb21wbGV0ZSBsaW5lIG9mIGlucHV0IGJlZm9yZSBlKTEwOCA3MDMuMiBSIC0uMTUoeGUpLS4xNSBHIC4zMzgKLShjdXRpbmcgYW4pLjE1IEYgMi44MzgoeW8pLS4xNSBHIDIuODM4KGZ0KS0yLjgzOCBHIC4zMzgKLShoZSBjb21tYW5kcyBvbiB0aGF0IGxpbmUuKS0yLjgzOCBGIC4zMzcoQWxpYXNlcyBhcmUgZSk1LjMzNyBGIC4zMzcKLSh4cGFuZGVkIHdoZW4pLS4xNSBGIDMuNDAzKGFjKTEwOCA3MTUuMiBTIC45MDQKLShvbW1hbmQgaXMgcmVhZCwgbm90IHdoZW4gaXQgaXMgZSktMy40MDMgRiAtLjE1KHhlKS0uMTUgRyAzLjQwNAotKGN1dGVkLiBUaGVyZWZvcmUsKS4xNSBGIC45MDQKLShhbiBhbGlhcyBkZVwyMTRuaXRpb24gYXBwZWFyaW5nIG9uIHRoZSBzYW1lIGxpbmUgYXMpMy40MDQgRiAxLjE2MgotKGFub3RoZXIgY29tbWFuZCBkb2VzIG5vdCB0YWspMTA4IDcyNy4yIFIgMy42NjIoZWUpLS4xIEcgLS4yNShmZiktMy42NjIKLUcgMS4xNjIoZWN0IHVudGlsIHRoZSBuZSkuMjUgRiAxLjE2Mih4dCBsaW5lIG9mIGlucHV0IGlzIHJlYWQuKS0uMTUgRgotMS4xNjEoVGhlIGNvbW1hbmRzIGZvbGxvKTYuMTYxIEYgMS4xNjEod2luZyB0aGUpLS4yNSBGKEdOVSBCYXNoLTQuMCk3MgotNzY4IFEoMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFKDI1KTE5MC45NSBFIDAgQ2cgRVAKKyhJZiB0aGUgXDIxNGxlIGRvZXMgbm90IGUpNSBFKHhpc3QsIGl0IGlzIGNyZWF0ZWQuKS0uMTUgRShHTlUgQmFzaC00LjEpCis3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgyNSkxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiAyNiAyNgogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRSAuMjc3KGFsaWFzIGRlXDIxNG5pdGlvbiBvbiB0aGF0IGxpbmUgYXJlIG5vdCBhZikxMDggODQgUiAuMjc3CistLjM1IEUvRjEgMTAuOTUvVGltZXMtQm9sZEAwIFNGKEFMSUFTRVMpNzIgODQgUS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRgorKEFsaWFzZXMpMTA4IDk2IFEgRjAoYWxsbykzLjE3NCBFIDMuMTc0KHdhcyktLjI1IEcgLjY3NAorKHRyaW5nIHRvIGJlIHN1YnN0aXR1dGVkIGZvciBhIHcpLTMuMTc0IEYgLjY3NAorKG9yZCB3aGVuIGl0IGlzIHVzZWQgYXMgdGhlIFwyMTRyc3QgdyktLjEgRiAuNjczCisob3JkIG9mIGEgc2ltcGxlIGNvbW1hbmQuKS0uMSBGIC4zOTQoVGhlIHNoZWxsIG1haW50YWlucyBhIGxpc3Qgb2YgYWxpYVwKK3NlcyB0aGF0IG1heSBiZSBzZXQgYW5kIHVuc2V0IHdpdGggdGhlKTEwOCAxMDggUi9GMyAxMC9UaW1lcy1Cb2xkQDAgU0YKKyhhbGlhcykyLjg5NCBFIEYwKGFuZCkyLjg5NCBFIEYzKHVuYWxpYXMpMi44OTQgRSBGMCAtLjIoYnUpMi44OTQgRyAuMzk0CisoaWx0aW4gY29tbWFuZHMpLjIgRihcKHNlZSkxMDggMTIwIFEvRjQgOS9UaW1lcy1Cb2xkQDAgU0YgMS45OChTSEVMTCBCKQorNC40OCBGKFVJTCktLjA5IEUgMS45OChUSU4gQ09NTUFORFMpLS44MjggRiBGMChiZWxvKTQuMjMgRSA0LjQ4Cisod1wpLiBUaGUpLS4yNSBGIDEuOTgoXDIxNHJzdCB3KTQuNDggRiAxLjk3OQorKG9yZCBvZiBlYWNoIHNpbXBsZSBjb21tYW5kLCBpZiB1bnF1b3RlZCwgaXMpLS4xIEYoY2hlY2spMTA4IDEzMiBRIC40NzIKKyhlZCB0byBzZWUgaWYgaXQgaGFzIGFuIGFsaWFzLiktLjEgRiAuNDcyKElmIHNvLCB0aGF0IHcpNS40NzIgRiAuNDczCisob3JkIGlzIHJlcGxhY2VkIGJ5IHRoZSB0ZSktLjEgRiAuNDczKHh0IG9mIHRoZSBhbGlhcy4pLS4xNSBGIC40NzMKKyhUaGUgY2hhcmFjdGVycyk1LjQ3MyBGIEYzKC8pMi45NzMgRSBGMCgsKUEgRjMoJCkyLjk3MyBFIEYwKCwpQSBGMzw5Mj4KKzIuOTczIEUgRjAoLClBKGFuZCkxMDggMTQ0IFEgRjMoPSkzLjYxMiBFIEYwIDEuMTEyKGFuZCBhbikzLjYxMiBGIDMuNjEyCisoeW8pLS4xNSBHIDMuNjEyKGZ0KS0zLjYxMiBHIDEuMTEyKGhlIHNoZWxsKS0zLjYxMiBGIEYyKG1ldGFjKTMuNjEyIEUKKyhoYXIpLS4xNSBFKGFjdGVyKS0uMTUgRShzKS0uMSBFIEYwIDEuMTEyCisob3IgcXVvdGluZyBjaGFyYWN0ZXJzIGxpc3RlZCBhYm8pMy42MTIgRiAxLjQxMSAtLjE1KHZlIG0pLS4xNSBIIDEuMTExCisoYXkgbm90IGFwcGVhciBpbiBhbiBhbGlhcykuMTUgRiAzLjYxOShuYW1lLiBUaGUpMTA4IDE1NiBSIDEuMTE5CisocmVwbGFjZW1lbnQgdGUpMy42MTkgRiAxLjExOSh4dCBtYXkgY29udGFpbiBhbiktLjE1IEYgMy42MTkoeXYpLS4xNSBHCisxLjExOShhbGlkIHNoZWxsIGlucHV0LCBpbmNsdWRpbmcgc2hlbGwgbWV0YWNoYXJhY3RlcnMuKS0zLjg2OSBGIDEuMTIKKyhUaGUgXDIxNHJzdCk2LjEyIEYgLS4xKHdvKTEwOCAxNjggUyAuNTE0KHJkIG9mIHRoZSByZXBsYWNlbWVudCB0ZSkuMSBGCisuNTE0KHh0IGlzIHRlc3RlZCBmb3IgYWxpYXNlcywgYiktLjE1IEYgLjUxNCh1dCBhIHcpLS4yIEYgLjUxMworKG9yZCB0aGF0IGlzIGlkZW50aWNhbCB0byBhbiBhbGlhcyBiZWluZyBlKS0uMSBGIC41MTMoeHBhbmRlZCBpcyktLjE1IEYKKy4yOTUobm90IGUpMTA4IDE4MCBSIC4yOTUoeHBhbmRlZCBhIHNlY29uZCB0aW1lLiktLjE1IEYgLjI5NgorKFRoaXMgbWVhbnMgdGhhdCBvbmUgbWF5IGFsaWFzKTUuMjk1IEYgRjMobHMpMi43OTYgRSBGMCh0bykyLjc5NiBFIEYzCisuMjk2KGxzIFwyNTVGKTIuNzk2IEYgRjAgMi43OTYoLGYpQyAuMjk2KG9yIGluc3RhbmNlLCBhbmQpLTIuNzk2IEYgRjMKKyhiYXNoKTIuNzk2IEUgRjAgLjI5Nihkb2VzIG5vdCB0cnkpMi43OTYgRiAuNTQzKHRvIHJlY3Vyc2kpMTA4IDE5MiBSCistLjE1KHZlKS0uMjUgRyAuNTQzKGx5IGUpLjE1IEYgLjU0Myh4cGFuZCB0aGUgcmVwbGFjZW1lbnQgdGUpLS4xNSBGCiszLjA0Myh4dC4gSWYpLS4xNSBGIC41NDModGhlIGxhc3QgY2hhcmFjdGVyIG9mIHRoZSBhbGlhcyB2KTMuMDQzIEYgLjU0MgorKGFsdWUgaXMgYSktLjI1IEYgRjIoYmxhbmspMy4wNDIgRSBGMCAzLjA0MigsdCkuNjcgRyAuNTQyKGhlbiB0aGUgbmUpCistMy4wNDIgRih4dCktLjE1IEUoY29tbWFuZCB3KTEwOCAyMDQgUShvcmQgZm9sbG8pLS4xIEUKKyh3aW5nIHRoZSBhbGlhcyBpcyBhbHNvIGNoZWNrKS0uMjUgRShlZCBmb3IgYWxpYXMgZSktLjEgRSh4cGFuc2lvbi4pLS4xNQorRShBbGlhc2VzIGFyZSBjcmVhdGVkIGFuZCBsaXN0ZWQgd2l0aCB0aGUpMTA4IDIyMC44IFEgRjMoYWxpYXMpMi41IEUgRjAKKyhjb21tYW5kLCBhbmQgcmVtbykyLjUgRSAtLjE1KHZlKS0uMTUgRyAyLjUoZHcpLjE1IEcoaXRoIHRoZSktMi41IEUgRjMKKyh1bmFsaWFzKTIuNSBFIEYwKGNvbW1hbmQuKTIuNSBFIC4yODQKKyhUaGVyZSBpcyBubyBtZWNoYW5pc20gZm9yIHVzaW5nIGFyKTEwOCAyMzcuNiBSIC4yODQKKyhndW1lbnRzIGluIHRoZSByZXBsYWNlbWVudCB0ZSktLjE4IEYgMi43ODQoeHQuIElmKS0uMTUgRihhcikyLjc4NCBFCisuMjg0KGd1bWVudHMgYXJlIG5lZWRlZCwgYSBzaGVsbCBmdW5jLSktLjE4IEYodGlvbiBzaG91bGQgYmUgdXNlZCBcKHNlZSkKKzEwOCAyNDkuNiBRIEY0KEZVTkNUSU9OUykyLjUgRSBGMChiZWxvKTIuMjUgRSh3XCkuKS0uMjUgRSAxLjIyCisoQWxpYXNlcyBhcmUgbm90IGUpMTA4IDI2Ni40IFIgMS4yMgorKHhwYW5kZWQgd2hlbiB0aGUgc2hlbGwgaXMgbm90IGludGVyYWN0aSktLjE1IEYgLS4xNSh2ZSktLjI1IEcgMy43MigsdSkKKy4xNSBHIDEuMjIobmxlc3MgdGhlKS0zLjcyIEYgRjMoZXhwYW5kX2FsaWFzZXMpMy43MiBFIEYwIDEuMjIKKyhzaGVsbCBvcHRpb24gaXMgc2V0KTMuNzIgRih1c2luZykxMDggMjc4LjQgUSBGMyhzaG9wdCkyLjUgRSBGMAorKFwoc2VlIHRoZSBkZXNjcmlwdGlvbiBvZikyLjUgRSBGMyhzaG9wdCkyLjUgRSBGMCh1bmRlcikyLjUgRSBGNAorKFNIRUxMIEIpMi41IEUoVUlMKS0uMDkgRShUSU4gQ09NTUFORFMpLS44MjggRSBGMChiZWxvKTIuMjUgRSh3XCkuKS0uMjUKK0UgLjQzNQorKFRoZSBydWxlcyBjb25jZXJuaW5nIHRoZSBkZVwyMTRuaXRpb24gYW5kIHVzZSBvZiBhbGlhc2VzIGFyZSBzb21lKTEwOAorMjk1LjIgUiAuNDM2KHdoYXQgY29uZnVzaW5nLiktLjI1IEYgRjMoQmFzaCk1LjQzNiBFIEYwKGFsKTIuOTM2IEUgLS4xCisod2EpLS4xIEcgLjQzNih5cyByZWFkcyBhdCBsZWFzdCkuMSBGIC4zMzgKKyhvbmUgY29tcGxldGUgbGluZSBvZiBpbnB1dCBiZWZvcmUgZSkxMDggMzA3LjIgUiAtLjE1KHhlKS0uMTUgRyAuMzM4CisoY3V0aW5nIGFuKS4xNSBGIDIuODM4KHlvKS0uMTUgRyAyLjgzOChmdCktMi44MzggRyAuMzM4CisoaGUgY29tbWFuZHMgb24gdGhhdCBsaW5lLiktMi44MzggRiAuMzM3KEFsaWFzZXMgYXJlIGUpNS4zMzcgRiAuMzM3CisoeHBhbmRlZCB3aGVuKS0uMTUgRiAzLjQwMyhhYykxMDggMzE5LjIgUyAuOTA0Cisob21tYW5kIGlzIHJlYWQsIG5vdCB3aGVuIGl0IGlzIGUpLTMuNDAzIEYgLS4xNSh4ZSktLjE1IEcgMy40MDQKKyhjdXRlZC4gVGhlcmVmb3JlLCkuMTUgRiAuOTA0CisoYW4gYWxpYXMgZGVcMjE0bml0aW9uIGFwcGVhcmluZyBvbiB0aGUgc2FtZSBsaW5lIGFzKTMuNDA0IEYgMS4xNjIKKyhhbm90aGVyIGNvbW1hbmQgZG9lcyBub3QgdGFrKTEwOCAzMzEuMiBSIDMuNjYyKGVlKS0uMSBHIC0uMjUoZmYpLTMuNjYyCitHIDEuMTYyKGVjdCB1bnRpbCB0aGUgbmUpLjI1IEYgMS4xNjIoeHQgbGluZSBvZiBpbnB1dCBpcyByZWFkLiktLjE1IEYKKzEuMTYxKFRoZSBjb21tYW5kcyBmb2xsbyk2LjE2MSBGIDEuMTYxKHdpbmcgdGhlKS0uMjUgRiAuMjc3CisoYWxpYXMgZGVcMjE0bml0aW9uIG9uIHRoYXQgbGluZSBhcmUgbm90IGFmKTEwOCAzNDMuMiBSIC4yNzcKIChmZWN0ZWQgYnkgdGhlIG5lKS0uMjUgRiAyLjc3Nyh3YSktLjI1IEcgMi43NzcobGlhcy4gVGhpcyktMi43NzcgRihiZWhhKQogMi43NzcgRSAuMjc3KHZpb3IgaXMgYWxzbyBhbiBpc3N1ZSB3aGVuIGZ1bmN0aW9ucyktLjIgRiAuNjk5KGFyZSBlKTEwOAotOTYgUiAtLjE1KHhlKS0uMTUgRyAzLjE5OShjdXRlZC4gQWxpYXNlcykuMTUgRiAuNjk5KGFyZSBlKTMuMTk5IEYgLjY5OShcCi14cGFuZGVkIHdoZW4gYSBmdW5jdGlvbiBkZVwyMTRuaXRpb24gaXMgcmVhZCwgbm90IHdoZW4gdGhlIGZ1bmN0aW9uIGlzIFwKLWUpLS4xNSBGIC0uMTUoeGUpLS4xNSBHKGN1dGVkLCkuMTUgRSAuNDk0Ci0oYmVjYXVzZSBhIGZ1bmN0aW9uIGRlXDIxNG5pdGlvbiBpcyBpdHNlbGYgYSBjb21wb3VuZCBjb21tYW5kLikxMDggMTA4IFIKLS40OTUoQXMgYSBjb25zZXF1ZW5jZSwgYWxpYXNlcyBkZVwyMTRuZWQgaW4gYSBmdW5jLSk1LjQ5NCBGIC4wODUKLSh0aW9uIGFyZSBub3QgYSkxMDggMTIwIFIgLS4yNSh2YSktLjIgRyAuMDg0CiszNTUuMiBSIC0uMTUoeGUpLS4xNSBHIDMuMTk5KGN1dGVkLiBBbGlhc2VzKS4xNSBGIC42OTkoYXJlIGUpMy4xOTkgRgorLjY5OSh4cGFuZGVkIHdoZW4gYSBmdW5jdGlvbiBkZVwyMTRuaXRpb24gaXMgcmVhZCwgbm90IHdoZW4gdGhlIGZ1bmN0aW9cCituIGlzIGUpLS4xNSBGIC0uMTUoeGUpLS4xNSBHKGN1dGVkLCkuMTUgRSAuNDk0CisoYmVjYXVzZSBhIGZ1bmN0aW9uIGRlXDIxNG5pdGlvbiBpcyBpdHNlbGYgYSBjb21wb3VuZCBjb21tYW5kLikxMDggMzY3LjIKK1IgLjQ5NShBcyBhIGNvbnNlcXVlbmNlLCBhbGlhc2VzIGRlXDIxNG5lZCBpbiBhIGZ1bmMtKTUuNDk0IEYgLjA4NQorKHRpb24gYXJlIG5vdCBhKTEwOCAzNzkuMiBSIC0uMjUodmEpLS4yIEcgLjA4NAogKGlsYWJsZSB1bnRpbCBhZnRlciB0aGF0IGZ1bmN0aW9uIGlzIGUpLjI1IEYgLS4xNSh4ZSktLjE1IEcgMi41ODQKIChjdXRlZC4gVCkuMTUgRiAyLjU4NChvYiktLjggRyAyLjU4NChlcyktMi41ODQgRyAuMDg0KGFmZSwgYWwpLTIuNTg0IEYKIC0uMSh3YSktLjEgRyAuMDg0KHlzIHB1dCBhbGlhcyBkZVwyMTRuaXRpb25zIG9uIGEgc2VwYS0pLjEgRgotKHJhdGUgbGluZSwgYW5kIGRvIG5vdCB1c2UpMTA4IDEzMiBRL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihhbGlhcykyLjUgRQotRjAoaW4gY29tcG91bmQgY29tbWFuZHMuKTIuNSBFIC0uMTUoRm8pMTA4IDE0OC44IFMgMi41KHJhKS4xNSBHKGxtb3N0IGUpCi0tMi41IEUgLS4xNSh2ZSktLjI1IEcKLShyeSBwdXJwb3NlLCBhbGlhc2VzIGFyZSBzdXBlcnNlZGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucy4pLjE1IEUvRjIgMTAuOTUKLS9UaW1lcy1Cb2xkQDAgU0YoRlVOQ1RJT05TKTcyIDE2NS42IFEgRjAgMy40NjcoQXMpMTA4IDE3Ny42IFMgLjk2NworKHJhdGUgbGluZSwgYW5kIGRvIG5vdCB1c2UpMTA4IDM5MS4yIFEgRjMoYWxpYXMpMi41IEUgRjAKKyhpbiBjb21wb3VuZCBjb21tYW5kcy4pMi41IEUgLS4xNShGbykxMDggNDA4IFMgMi41KHJhKS4xNSBHKGxtb3N0IGUpLTIuNQorRSAtLjE1KHZlKS0uMjUgRyhyeSBwdXJwb3NlLCBhbGlhc2VzIGFyZSBzdXBlcnNlZGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucy4pCisuMTUgRSBGMShGVU5DVElPTlMpNzIgNDI0LjggUSBGMCAzLjQ2NyhBcykxMDggNDM2LjggUyAuOTY3CiAoaGVsbCBmdW5jdGlvbiwgZGVcMjE0bmVkIGFzIGRlc2NyaWJlZCBhYm8pLTMuNDY3IEYgMS4yNjcgLS4xNSh2ZSB1KS0uMTUKLUgobmRlcikuMTUgRS9GMyA5L1RpbWVzLUJvbGRAMCBTRiAuOTY3KFNIRUxMIEdSQU1NQVIpMy40NjcgRi9GNCA5Ci0vVGltZXMtUm9tYW5AMCBTRigsKUEgRjAgLjk2OChzdG9yZXMgYSBzZXJpZXMgb2YgY29tbWFuZHMgZm9yKTMuMjE3IEYKLTEuMDAyKGxhdGVyIGUpMTA4IDE4OS42IFIgLS4xNSh4ZSktLjE1IEcgMy41MDIoY3V0aW9uLiBXaGVuKS4xNSBGIDEuMDAyCi0odGhlIG5hbWUgb2YgYSBzaGVsbCBmdW5jdGlvbiBpcyB1c2VkIGFzIGEgc2ltcGxlIGNvbW1hbmQgbmFtZSwgdGhlIGxpc1wKLXQgb2YgY29tLSkzLjUwMiBGIC4zMTUobWFuZHMgYXNzb2NpYXRlZCB3aXRoIHRoYXQgZnVuY3Rpb24gbmFtZSBpcyBlKTEwOAotMjAxLjYgUiAtLjE1KHhlKS0uMTUgRyAyLjgxNihjdXRlZC4gRnVuY3Rpb25zKS4xNSBGIC4zMTYoYXJlIGUpMi44MTYgRgotLS4xNSh4ZSktLjE1IEcgLjMxNihjdXRlZCBpbiB0aGUgY29udGUpLjE1IEYgLjMxNih4dCBvZiB0aGUgY3VycmVudCktLjE1Ci1GIC4wMzYoc2hlbGw7IG5vIG5lKTEwOCAyMTMuNiBSIDIuNTM2KHdwKS0uMjUgRyAuMDM2CitIKG5kZXIpLjE1IEUgRjQgLjk2NyhTSEVMTCBHUkFNTUFSKTMuNDY3IEYvRjUgOS9UaW1lcy1Sb21hbkAwIFNGKCwpQSBGMAorLjk2OChzdG9yZXMgYSBzZXJpZXMgb2YgY29tbWFuZHMgZm9yKTMuMjE3IEYgMS4wMDIobGF0ZXIgZSkxMDggNDQ4LjggUgorLS4xNSh4ZSktLjE1IEcgMy41MDIoY3V0aW9uLiBXaGVuKS4xNSBGIDEuMDAyKHRoZSBuYW1lIG9mIGEgc2hlbGwgZnVuY3RcCitpb24gaXMgdXNlZCBhcyBhIHNpbXBsZSBjb21tYW5kIG5hbWUsIHRoZSBsaXN0IG9mIGNvbS0pMy41MDIgRiAuMzE1CisobWFuZHMgYXNzb2NpYXRlZCB3aXRoIHRoYXQgZnVuY3Rpb24gbmFtZSBpcyBlKTEwOCA0NjAuOCBSIC0uMTUoeGUpLS4xNQorRyAyLjgxNihjdXRlZC4gRnVuY3Rpb25zKS4xNSBGIC4zMTYoYXJlIGUpMi44MTYgRiAtLjE1KHhlKS0uMTUgRyAuMzE2CisoY3V0ZWQgaW4gdGhlIGNvbnRlKS4xNSBGIC4zMTYoeHQgb2YgdGhlIGN1cnJlbnQpLS4xNSBGIC4wMzYKKyhzaGVsbDsgbm8gbmUpMTA4IDQ3Mi44IFIgMi41MzYod3ApLS4yNSBHIC4wMzYKIChyb2Nlc3MgaXMgY3JlYXRlZCB0byBpbnRlcnByZXQgdGhlbSBcKGNvbnRyYXN0IHRoaXMgd2l0aCB0aGUgZSktMi41MzYgRgogLS4xNSh4ZSktLjE1IEcgLjAzNihjdXRpb24gb2YgYSBzaGVsbCBzY3JpcHRcKS4pLjE1IEYgLjAzNShXaGVuIGEpNS4wMzUKLUYgLjYzOShmdW5jdGlvbiBpcyBlKTEwOCAyMjUuNiBSIC0uMTUoeGUpLS4xNSBHIC42MzkoY3V0ZWQsIHRoZSBhcikuMTUgRgorRiAuNjM5KGZ1bmN0aW9uIGlzIGUpMTA4IDQ4NC44IFIgLS4xNSh4ZSktLjE1IEcgLjYzOShjdXRlZCwgdGhlIGFyKS4xNSBGCiAuNjM5CiAoZ3VtZW50cyB0byB0aGUgZnVuY3Rpb24gYmVjb21lIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgZHVyaW5nIGl0cyBlKQotLS4xOCBGIC0uMTUoeGUpLS4xNSBHKGN1dGlvbi4pLjE1IEUgLjUzMyhUaGUgc3BlY2lhbCBwYXJhbWV0ZXIpMTA4IDIzNy42Ci1SIEYxKCMpMy4wMzMgRSBGMCAuNTMyKGlzIHVwZGF0ZWQgdG8gcmVcMjE1ZWN0IHRoZSBjaGFuZ2UuKTMuMDMzIEYgLjUzMgorLS4xOCBGIC0uMTUoeGUpLS4xNSBHKGN1dGlvbi4pLjE1IEUgLjUzMyhUaGUgc3BlY2lhbCBwYXJhbWV0ZXIpMTA4IDQ5Ni44CitSIEYzKCMpMy4wMzMgRSBGMCAuNTMyKGlzIHVwZGF0ZWQgdG8gcmVcMjE1ZWN0IHRoZSBjaGFuZ2UuKTMuMDMzIEYgLjUzMgogKFNwZWNpYWwgcGFyYW1ldGVyIDAgaXMgdW5jaGFuZ2VkLik1LjUzMiBGIC41MzIoVGhlIFwyMTRyc3QgZWxlLSk1LjUzMiBGCi0xLjAxNyhtZW50IG9mIHRoZSkxMDggMjQ5LjYgUiBGMyhGVU5DTikzLjUxNyBFKEFNRSktLjE4IEUgRjAgLS4yNSh2YSkKLTMuMjY3IEcgMS4wMTcKLShyaWFibGUgaXMgc2V0IHRvIHRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiB3aGlsZSB0aGUgZnVuY3Rpb24gaXMgZSkuMjUgRgotLS4xNSh4ZSktLjE1IEcgMy41MTgoY3V0aW5nLiBBbGwpLjE1IEYgMS4yODUKLShvdGhlciBhc3BlY3RzIG9mIHRoZSBzaGVsbCBlKTEwOCAyNjEuNiBSIC0uMTUoeGUpLS4xNSBHIDEuMjg1Ci0oY3V0aW9uIGVuKS4xNSBGIDEuMjg1Ci0odmlyb25tZW50IGFyZSBpZGVudGljYWwgYmV0d2VlbiBhIGZ1bmN0aW9uIGFuZCBpdHMgY2FsbGVyIHdpdGggdGhlKS0uNAotRiAtLjE1KGV4KTEwOCAyNzMuNiBTIDIuMDI5KGNlcHRpb24gdGhhdCB0aGUpLjE1IEYgRjMoREVCKTQuNTI5IEUoVUcpCi0tLjA5IEUgRjAoYW5kKTQuMjc5IEUgRjEoUkVUVVJOKTQuNTI5IEUgRjAgMi4wMjkKLSh0cmFwcyBcKHNlZSB0aGUgZGVzY3JpcHRpb24gb2YgdGhlKTQuNTI5IEYgRjEodHJhcCk0LjUzIEUgRjAgLS4yKGJ1KQotNC41MyBHIDIuMDMoaWx0aW4gdW5kZXIpLjIgRiBGMyhTSEVMTCk0LjUzIEUgLS4wOShCVSkxMDggMjg1LjYgUyhJTCkuMDkKLUUgLjQ3OShUSU4gQ09NTUFORFMpLS44MjggRiBGMChiZWxvKTIuNzI5IEUgLjQ3OQorKG1lbnQgb2YgdGhlKTEwOCA1MDguOCBRIEY0KEZVTkNOKTIuNSBFKEFNRSktLjE4IEUgRjAgLS4yNSh2YSkyLjI1IEcKKyhyaWFibGUgaXMgc2V0IHRvIHRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiB3aGlsZSB0aGUgZnVuY3Rpb24gaXMgZSkuMjUgRQorLS4xNSh4ZSktLjE1IEcoY3V0aW5nLikuMTUgRSAxLjI1KEFsbCBvdGhlciBhc3BlY3RzIG9mIHRoZSBzaGVsbCBlKTEwOAorNTI1LjYgUiAtLjE1KHhlKS0uMTUgRyAxLjI1KGN1dGlvbiBlbikuMTUgRiAxLjI1Cisodmlyb25tZW50IGFyZSBpZGVudGljYWwgYmV0d2VlbiBhIGZ1bmN0aW9uIGFuZCBpdHMgY2FsbGVyIHdpdGgpLS40IEYKKzEuMDQ5KHRoZXNlIGUpMTA4IDUzNy42IFIgMy41NDgoeGNlcHRpb25zOiB0aGUpLS4xNSBGIEY0KERFQikzLjU0OCBFKFVHKQorLS4wOSBFIEYwKGFuZCkzLjI5OCBFIEYzKFJFVFVSTikzLjU0OCBFIEYwIDEuMDQ4CisodHJhcHMgXChzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSkzLjU0OCBGIEYzKHRyYXApMy41NDggRSBGMCAtLjIoYnUpCiszLjU0OCBHIDEuMDQ4KGlsdGluIHVuZGVyKS4yIEYgRjQoU0hFTEwpMy41NDggRSAtLjA5KEJVKTEwOCA1NDkuNiBTKElMKQorLjA5IEUgLjQ3OChUSU4gQ09NTUFORFMpLS44MjggRiBGMChiZWxvKTIuNzI4IEUgLjQ3OQogKHdcKSBhcmUgbm90IGluaGVyaXRlZCB1bmxlc3MgdGhlIGZ1bmN0aW9uIGhhcyBiZWVuIGdpKS0uMjUgRiAtLjE1KHZlKQotLS4yNSBHIDIuOTc4KG50KS4xNSBHKGhlKS0yLjk3OCBFIEYxKHRyYWNlKTIuOTc4IEUgRjAoYXR0cmliKTIuOTc4IEUKLS40NzgodXRlIFwoc2VlKS0uMiBGIC40Mih0aGUgZGVzY3JpcHRpb24gb2YgdGhlKTEwOCAyOTcuNiBSIEYzKGRlY2xhcikKKy0uMjUgRyAyLjk3OShudCkuMTUgRyhoZSktMi45NzkgRSBGMyh0cmFjZSkyLjk3OSBFIEYwKGF0dHJpYikyLjk3OSBFCisuNDc5KHV0ZSBcKHNlZSktLjIgRiAuNDIxKHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUpMTA4IDU2MS42IFIgRjQoZGVjbGFyKQogMi45MiBFKGUpLS4xNjIgRSBGMCAtLjIoYnUpMi42NyBHIC40MihpbHRpbiBiZWxvKS4yIEYgLjQyKHdcKSBvciB0aGUpCi0tLjI1IEYgRjEgLjQyKFwyNTVvIGZ1bmN0cmFjZSkyLjkyIEYgRjAgLjQyCi0oc2hlbGwgb3B0aW9uIGhhcyBiZWVuIGVuYWJsZWQgd2l0aCB0aGUpMi45MiBGIEYxKHNldCkyLjkyMSBFIEYwIC0uMihidSkKLTEwOCAzMDkuNiBTKGlsdGluIFwoaW4gd2hpY2ggY2FzZSBhbGwgZnVuY3Rpb25zIGluaGVyaXQgdGhlKS4yIEUgRjEoREVCKQotMi41IEUoVUcpLS4xIEUgRjAoYW5kKTIuNSBFIEYxKFJFVFVSTikyLjUgRSBGMCh0cmFwc1wpLikyLjUgRSAtMS4xMShWYSkKLTEwOCAzMjYuNCBTIC42NTYocmlhYmxlcyBsb2NhbCB0byB0aGUgZnVuY3Rpb24gbWF5IGJlIGRlY2xhcmVkIHdpdGggdGhlKQotMS4xMSBGIEYxKGxvY2FsKTMuMTU1IEUgRjAgLS4yKGJ1KTMuMTU1IEcgLjY1NShpbHRpbiBjb21tYW5kLikuMiBGCi0oT3JkaW5hcmlseSk1LjY1NSBFIDMuMTU1KCx2KS0uNjUgRyAuNjU1KGFyaWFibGVzIGFuZCktMy40MDUgRih0aGVpciB2KQotMTA4IDMzOC40IFEoYWx1ZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBmdW5jdGlvbiBhbmQgaXRzIGNhbGxlciktLjI1IEUKLSguKS0uNTUgRSAuMDQzKElmIHRoZSBiKTEwOCAzNTUuMiBSIC4wNDModWlsdGluIGNvbW1hbmQpLS4yIEYgRjEgLS4xOAotKHJlKTIuNTQzIEcodHVyKS4xOCBFKG4pLS4xNSBFIEYwIC4wNDMoaXMgZSkyLjU0MyBGIC0uMTUoeGUpLS4xNSBHIC4wNDMKKy0uMjUgRiBGMyAuNDIoXDI1NW8gZnVuY3RyYWNlKTIuOTIgRiBGMCAuNDIKKyhzaGVsbCBvcHRpb24gaGFzIGJlZW4gZW5hYmxlZCB3aXRoIHRoZSkyLjkyIEYgRjMoc2V0KTIuOTIgRSBGMCAtLjIoYnUpCisxMDggNTczLjYgUyAuMDcxKGlsdGluIFwoaW4gd2hpY2ggY2FzZSBhbGwgZnVuY3Rpb25zIGluaGVyaXQgdGhlKS4yIEYgRjMKKyhERUIpMi41NzIgRShVRyktLjEgRSBGMChhbmQpMi41NzIgRSBGMyhSRVRVUk4pMi41NzIgRSBGMCAuMDcyCisodHJhcHNcKSwgYW5kIHRoZSkyLjU3MiBGIEY0KEVSUikyLjU3MiBFIEYwIC4wNzIodHJhcCBpcyBub3QgaW5oZXIpMi4zMjIKK0YoLSktLjIgRShpdGVkIHVubGVzcyB0aGUpMTA4IDU4NS42IFEgRjMoXDI1NW8gZXJydHJhY2UpMi41IEUgRjAKKyhzaGVsbCBvcHRpb24gaGFzIGJlZW4gZW5hYmxlZC4pMi41IEUgLTEuMTEoVmEpMTA4IDYwMi40IFMgLjY1NgorKHJpYWJsZXMgbG9jYWwgdG8gdGhlIGZ1bmN0aW9uIG1heSBiZSBkZWNsYXJlZCB3aXRoIHRoZSkxLjExIEYgRjMobG9jYWwpCiszLjE1NSBFIEYwIC0uMihidSkzLjE1NSBHIC42NTUoaWx0aW4gY29tbWFuZC4pLjIgRihPcmRpbmFyaWx5KTUuNjU1IEUKKzMuMTU1KCx2KS0uNjUgRyAuNjU1KGFyaWFibGVzIGFuZCktMy40MDUgRih0aGVpciB2KTEwOCA2MTQuNCBRCisoYWx1ZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBmdW5jdGlvbiBhbmQgaXRzIGNhbGxlciktLjI1IEUoLiktLjU1IEUKKy4wNDMoSWYgdGhlIGIpMTA4IDYzMS4yIFIgLjA0Myh1aWx0aW4gY29tbWFuZCktLjIgRiBGMyAtLjE4KHJlKTIuNTQzIEcKKyh0dXIpLjE4IEUobiktLjE1IEUgRjAgLjA0MyhpcyBlKTIuNTQzIEYgLS4xNSh4ZSktLjE1IEcgLjA0MwogKGN1dGVkIGluIGEgZnVuY3Rpb24sIHRoZSBmdW5jdGlvbiBjb21wbGV0ZXMgYW5kIGUpLjE1IEYgLS4xNSh4ZSktLjE1IEcKLS4wNDQoY3V0aW9uIHJlc3VtZXMgd2l0aCkuMTUgRiAxLjAxMih0aGUgbmUpMTA4IDM2Ny4yIFIgMS4wMTIKKy4wNDQoY3V0aW9uIHJlc3VtZXMgd2l0aCkuMTUgRiAxLjAxMih0aGUgbmUpMTA4IDY0My4yIFIgMS4wMTIKICh4dCBjb21tYW5kIGFmdGVyIHRoZSBmdW5jdGlvbiBjYWxsLiktLjE1IEYoQW4pNi4wMTEgRSAzLjUxMSh5YyktLjE1IEcKLTEuMDExKG9tbWFuZCBhc3NvY2lhdGVkIHdpdGggdGhlKS0zLjUxMSBGIEYxKFJFVFVSTikzLjUxMSBFIEYwIDEuMDExCi0odHJhcCBpcyBlKTMuNTExIEYgLS4xNSh4ZSktLjE1IEcoY3V0ZWQpLjE1IEUgLjIxMyhiZWZvcmUgZSkxMDggMzc5LjIgUgorMS4wMTEob21tYW5kIGFzc29jaWF0ZWQgd2l0aCB0aGUpLTMuNTExIEYgRjMoUkVUVVJOKTMuNTExIEUgRjAgMS4wMTEKKyh0cmFwIGlzIGUpMy41MTEgRiAtLjE1KHhlKS0uMTUgRyhjdXRlZCkuMTUgRSAuMjEzKGJlZm9yZSBlKTEwOCA2NTUuMiBSCiAtLjE1KHhlKS0uMTUgRyAuMjEzKGN1dGlvbiByZXN1bWVzLikuMTUgRiAuMjEzCiAoV2hlbiBhIGZ1bmN0aW9uIGNvbXBsZXRlcywgdGhlIHYpNS4yMTMgRiAuMjE0CiAoYWx1ZXMgb2YgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBhbmQgdGhlIHNwZS0pLS4yNSBGKGNpYWwgcGFyYW1ldGVyKQotMTA4IDM5MS4yIFEgRjEoIykyLjUgRSBGMChhcmUgcmVzdG9yZWQgdG8gdGhlIHYpMi41IEUoYWx1ZXMgdGhlKS0uMjUgRQorMTA4IDY2Ny4yIFEgRjMoIykyLjUgRSBGMChhcmUgcmVzdG9yZWQgdG8gdGhlIHYpMi41IEUoYWx1ZXMgdGhlKS0uMjUgRQogMi41KHloKS0uMTUgRyhhZCBwcmlvciB0byB0aGUgZnVuY3Rpb24nKS0yLjUgRSAyLjUoc2UpLS41NSBHIC0uMTUoeGUpCiAtMi42NSBHKGN1dGlvbi4pLjE1IEUgMS4zNTkKLShGdW5jdGlvbiBuYW1lcyBhbmQgZGVcMjE0bml0aW9ucyBtYXkgYmUgbGlzdGVkIHdpdGggdGhlKTEwOCA0MDggUiBGMQotPGFkNjY+My44NTggRSBGMCAxLjM1OChvcHRpb24gdG8gdGhlKTMuODU4IEYgRjEoZGVjbGFyKTMuODU4IEUoZSktLjE4IEUKLUYwKG9yKTMuODU4IEUgRjEodHlwZXNldCkzLjg1OCBFIEYwIC0uMihidSkzLjg1OCBHIDEuMzU4KGlsdGluIGNvbS0pLjIgRgotMy4zOShtYW5kcy4gVGhlKTEwOCA0MjAgUiBGMTxhZDQ2PjMuMzkgRSBGMCAuODkob3B0aW9uIHRvKTMuMzkgRiBGMQotKGRlY2xhcikzLjM5IEUoZSktLjE4IEUgRjAob3IpMy4zOSBFIEYxKHR5cGVzZXQpMy4zOSBFIEYwIC44OQorKEZ1bmN0aW9uIG5hbWVzIGFuZCBkZVwyMTRuaXRpb25zIG1heSBiZSBsaXN0ZWQgd2l0aCB0aGUpMTA4IDY4NCBSIEYzCis8YWQ2Nj4zLjg1OCBFIEYwIDEuMzU4KG9wdGlvbiB0byB0aGUpMy44NTggRiBGMyhkZWNsYXIpMy44NTggRShlKS0uMTggRQorRjAob3IpMy44NTggRSBGMyh0eXBlc2V0KTMuODU4IEUgRjAgLS4yKGJ1KTMuODU4IEcgMS4zNTgoaWx0aW4gY29tLSkuMiBGCiszLjM5KG1hbmRzLiBUaGUpMTA4IDY5NiBSIEYzPGFkNDY+My4zOSBFIEYwIC44OShvcHRpb24gdG8pMy4zOSBGIEYzCisoZGVjbGFyKTMuMzkgRShlKS0uMTggRSBGMChvcikzLjM5IEUgRjModHlwZXNldCkzLjM5IEUgRjAgLjg5CiAod2lsbCBsaXN0IHRoZSBmdW5jdGlvbiBuYW1lcyBvbmx5IFwoYW5kIG9wdGlvbmFsbHkgdGhlIHNvdXJjZSkzLjM5IEYKLS4zMjcoXDIxNGxlIGFuZCBsaW5lIG51bWJlcikxMDggNDMyIFIgMi44MjcoLGkpLS40IEcgMi44MjcoZnQpLTIuODI3IEcKLShoZSktMi44MjcgRSBGMShleHRkZWIpMi44MjcgRSh1ZyktLjIgRSBGMCAuMzI2CisuMzI3KFwyMTRsZSBhbmQgbGluZSBudW1iZXIpMTA4IDcwOCBSIDIuODI3KCxpKS0uNCBHIDIuODI3KGZ0KS0yLjgyNyBHCisoaGUpLTIuODI3IEUgRjMoZXh0ZGViKTIuODI3IEUodWcpLS4yIEUgRjAgLjMyNgogKHNoZWxsIG9wdGlvbiBpcyBlbmFibGVkXCkuKTIuODI3IEYgLjMyNihGdW5jdGlvbnMgbWF5IGJlIGUpNS4zMjYgRiAuMzI2Ci0oeHBvcnRlZCBzbyB0aGF0IHN1YnNoZWxscyktLjE1IEYgMS4yOTcoYXV0b21hdGljYWxseSBoYSkxMDggNDQ0IFIgMS41OTcKLS0uMTUodmUgdCktLjIgSCAxLjI5NyhoZW0gZGVcMjE0bmVkIHdpdGggdGhlKS4xNSBGIEYxPGFkNjY+My43OTcgRSBGMAotMS4yOTcob3B0aW9uIHRvIHRoZSkzLjc5NyBGIEYxKGV4cG9ydCkzLjc5OCBFIEYwIC0uMihidSkzLjc5OCBHIDMuNzk4Ci0oaWx0aW4uIEEpLjIgRiAxLjI5OChmdW5jdGlvbiBkZVwyMTRuaXRpb24gbWF5IGJlKTMuNzk4IEYgLjE2MQotKGRlbGV0ZWQgdXNpbmcgdGhlKTEwOCA0NTYgUiBGMTxhZDY2PjIuNjYxIEUgRjAgLjE2MShvcHRpb24gdG8gdGhlKTIuNjYxCi1GIEYxKHVuc2V0KTIuNjYxIEUgRjAgLS4yKGJ1KTIuNjYxIEcgMi42NjEoaWx0aW4uIE5vdGUpLjIgRiAuMTYKLSh0aGF0IHNoZWxsIGZ1bmN0aW9ucyBhbmQgdikyLjY2MSBGIC4xNihhcmlhYmxlcyB3aXRoIHRoZSBzYW1lIG5hbWUpLS4yNQotRiAxLjMyNShtYXkgcmVzdWx0IGluIG11bHRpcGxlIGlkZW50aWNhbGx5LW5hbWVkIGVudHJpZXMgaW4gdGhlIGVuKTEwOAotNDY4IFIgMS4zMjUodmlyb25tZW50IHBhc3NlZCB0byB0aGUgc2hlbGwnKS0uNCBGIDMuODI1KHNjKS0uNTUgRyAzLjgyNQotKGhpbGRyZW4uIENhcmUpLTMuODI1IEYoc2hvdWxkIGJlIHRhaykxMDggNDgwIFEKLShlbiBpbiBjYXNlcyB3aGVyZSB0aGlzIG1heSBjYXVzZSBhIHByb2JsZW0uKS0uMSBFCi0oRnVuY3Rpb25zIG1heSBiZSByZWN1cnNpKTEwOCA0OTYuOCBRIC0uMTUodmUpLS4yNSBHIDUoLk4pLjE1IEcgMi41KG9sKQotLTUgRyhpbWl0IGlzIGltcG9zZWQgb24gdGhlIG51bWJlciBvZiByZWN1cnNpKS0yLjUgRSAuMyAtLjE1KHZlIGMpLS4yNSBICi0oYWxscy4pLjE1IEUgRjIoQVJJVEhNRVRJQyBFVik3MiA1MTMuNiBRKEFMVSktMS40NzggRSAtMS4wNChBVCktLjY1NyBHCi0oSU9OKTEuMDQgRSBGMCAyLjI5OChUaGUgc2hlbGwgYWxsbykxMDggNTI1LjYgUiAyLjI5Nyh3cyBhcml0aG1ldGljIGUpCi0tLjI1IEYgMi4yOTcoeHByZXNzaW9ucyB0byBiZSBlKS0uMTUgRiAtLjI1KHZhKS0uMjUgRyAyLjI5NwotKGx1YXRlZCwgdW5kZXIgY2VydGFpbiBjaXJjdW1zdGFuY2VzIFwoc2VlIHRoZSkuMjUgRiBGMShsZXQpNC43OTcgRSBGMAotKGFuZCk0Ljc5NyBFIEYxKGRlY2xhcikxMDggNTM3LjYgUShlKS0uMTggRSBGMCAtLjIoYnUpMi43MDUgRyAuMjA1Ci0oaWx0aW4gY29tbWFuZHMgYW5kKS4yIEYgRjEgLjIwNShBcml0aG1ldGljIEV4cGFuc2lvbikyLjcwNSBGIEYwIDIuNzA1Ci0oXCkuIEV2KUIgLjIwNShhbHVhdGlvbiBpcyBkb25lIGluIFwyMTR4KS0uMjUgRiAuMjA2KGVkLXdpZHRoIGludGUpLS4xNQotRiAuMjA2KGdlcnMgd2l0aCBubyktLjE1IEYgLjQyOShjaGVjayBmb3IgbykxMDggNTQ5LjYgUiAtLjE1KHZlKS0uMTUgRwotKHJcMjE1bykuMTUgRSAxLjcyOSAtLjY1KHcsIHQpLS4yNSBIIC40MjkoaG91Z2ggZGkpLjY1IEYgLjQyOAotKHZpc2lvbiBieSAwIGlzIHRyYXBwZWQgYW5kIFwyMTVhZ2dlZCBhcyBhbiBlcnJvciktLjI1IEYgNS40MjgoLlQpLS41NSBHCi0uNDI4KGhlIG9wZXJhdG9ycyBhbmQgdGhlaXIgcHJlY2UtKS01LjQyOCBGIDEuOTE5KGRlbmNlLCBhc3NvY2lhdGkpMTA4Ci01NjEuNiBSKHZpdHkpLS4yNSBFIDQuNDE5KCxhKS0uNjUgRyAxLjkxOShuZCB2KS00LjQxOSBGIDEuOTE5Ci0oYWx1ZXMgYXJlIHRoZSBzYW1lIGFzIGluIHRoZSBDIGxhbmd1YWdlLiktLjI1IEYgMS45MihUaGUgZm9sbG8pNi45MiBGCi0xLjkyKHdpbmcgbGlzdCBvZiBvcGVyYXRvcnMgaXMpLS4yNSBGKGdyb3VwZWQgaW50byBsZSkxMDggNTczLjYgUSAtLjE1Ci0odmUpLS4yNSBHKGxzIG9mIGVxdWFsLXByZWNlZGVuY2Ugb3BlcmF0b3JzLikuMTUgRShUaGUgbGUpNSBFIC0uMTUodmUpCi0tLjI1IEcobHMgYXJlIGxpc3RlZCBpbiBvcmRlciBvZiBkZWNyZWFzaW5nIHByZWNlZGVuY2UuKS4xNSBFL0Y1IDEwCi0vVGltZXMtSXRhbGljQDAgU0YoaWQpMTA4IDU5MC40IFEgRjEoKyspQSBGNShpZCkyLjUgRSBGMTxhZGFkPkEgRjAgLS4yNQotKHZhKTE0NCA2MDIuNCBTKHJpYWJsZSBwb3N0LWluY3JlbWVudCBhbmQgcG9zdC1kZWNyZW1lbnQpLjI1IEUgRjEoKyspMTA4Ci02MTQuNCBRIEY1KGlkKUEgRjE8YWRhZD4yLjUgRSBGNShpZClBIEYwIC0uMjUodmEpMTQ0IDYyNi40IFMKLShyaWFibGUgcHJlLWluY3JlbWVudCBhbmQgcHJlLWRlY3JlbWVudCkuMjUgRSBGMSAyLjU8YWQyYj4xMDggNjM4LjQgUyBGMAotKHVuYXJ5IG1pbnVzIGFuZCBwbHVzKTE5LjYgRSBGMSAyLjUoIX4pMTA4IDY1MC40IFMgRjAKLShsb2dpY2FsIGFuZCBiaXR3aXNlIG5lKTI0LjM0IEUgLS4wNShnYSktLjE1IEcodGlvbikuMDUgRSBGMSgqKikxMDgKLTY2Mi40IFEgRjAgLS4xNShleCkyNiBHKHBvbmVudGlhdGlvbikuMTUgRSBGMSAyLjUoKi8lKTEwOCA2NzQuNCBTIEYwCi0obXVsdGlwbGljYXRpb24sIGRpKTEwLjcyIEUodmlzaW9uLCByZW1haW5kZXIpLS4yNSBFIEYxIDIuNTwyYmFkPjEwOAotNjg2LjQgUyBGMChhZGRpdGlvbiwgc3VidHJhY3Rpb24pMTkuNiBFIEYxKDw8ID4+KTEwOCA2OTguNCBRIEYwCi0obGVmdCBhbmQgcmlnaHQgYml0d2lzZSBzaGlmdHMpMTAuNyBFKEdOVSBCYXNoLTQuMCk3MiA3NjggUQotKDIwMDkgRmVicnVhcnkgNykxNDAuOTYgRSgyNikxOTAuOTUgRSAwIENnIEVQCisoeHBvcnRlZCBzbyB0aGF0IHN1YnNoZWxscyktLjE1IEYgMS4yOTcoYXV0b21hdGljYWxseSBoYSkxMDggNzIwIFIgMS41OTcKKy0uMTUodmUgdCktLjIgSCAxLjI5NyhoZW0gZGVcMjE0bmVkIHdpdGggdGhlKS4xNSBGIEYzPGFkNjY+My43OTcgRSBGMAorMS4yOTcob3B0aW9uIHRvIHRoZSkzLjc5NyBGIEYzKGV4cG9ydCkzLjc5OCBFIEYwIC0uMihidSkzLjc5OCBHIDMuNzk4CisoaWx0aW4uIEEpLjIgRiAxLjI5OChmdW5jdGlvbiBkZVwyMTRuaXRpb24gbWF5IGJlKTMuNzk4IEYoR05VIEJhc2gtNC4xKQorNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoMjYpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogMjcgMjcKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKDw9ID49IDwgPikxMDggODQgUSBGMChjb21wYXJpc29uKTE0NCA5NiBRCi1GMSg9PSAhPSkxMDggMTA4IFEgRjAoZXF1YWxpdHkgYW5kIGluZXF1YWxpdHkpMTMuMDcgRSBGMSgmKTEwOCAxMjAgUSBGMAotKGJpdHdpc2UgQU5EKTI3LjY3IEUgRjEoXikxMDggMTMyIFEgRjAoYml0d2lzZSBlKTMyLjY3IEUoeGNsdXNpKS0uMTUgRQotLjMgLS4xNSh2ZSBPKS0uMjUgSChSKS4xNSBFIEYxKHwpMTA4IDE0NCBRIEYwKGJpdHdpc2UgT1IpMzMuOCBFIEYxKCYmKQotMTA4IDE1NiBRIEYwKGxvZ2ljYWwgQU5EKTE5LjM0IEUgRjEofHwpMTA4IDE2OCBRIEYwKGxvZ2ljYWwgT1IpMzEuNiBFL0YyCi0xMC9UaW1lcy1JdGFsaWNAMCBTRiAtLjIoZXgpMTA4IDE4MCBTKHByKS4yIEUgRjEoPylBIEYyIC0uMihleClDKHByKS4yIEUKLUYxKDopQSBGMiAtLjIoZXgpQyhwcikuMiBFIEYwKGNvbmRpdGlvbmFsIG9wZXJhdG9yKTE0NCAxOTIgUSBGMSAyLjUoPSopCi0xMDggMjA0IFMgMi41KD0vKS0yLjUgRyAyLjUoPSUpLTIuNSBHIDIuNSg9KyktMi41IEcgMi41PDNkYWQ+LTIuNSBHIDIuNQotKD08KS0yLjUgRyg8PSA+Pj0gJj0gXj0gfD0pLTIuNSBFIEYwKGFzc2lnbm1lbnQpMTQ0IDIxNiBRIEYyIC0uMihleCkxMDgKLTIyOCBTKHByMSkuMiBFIEYxKCwpMi41IEUgRjIgLS4yKGV4KTIuNSBHKHByMikuMiBFIEYwKGNvbW1hKTE0NCAyNDAgUQotLjY4KFNoZWxsIHYpMTA4IDI1Ni44IFIgLjY4KGFyaWFibGVzIGFyZSBhbGxvKS0uMjUgRiAuNjgKKy0uMzUgRSAuMTYxKGRlbGV0ZWQgdXNpbmcgdGhlKTEwOCA4NCBSL0YxIDEwL1RpbWVzLUJvbGRAMCBTRjxhZDY2PjIuNjYxCitFIEYwIC4xNjEob3B0aW9uIHRvIHRoZSkyLjY2MSBGIEYxKHVuc2V0KTIuNjYxIEUgRjAgLS4yKGJ1KTIuNjYxIEcgMi42NjEKKyhpbHRpbi4gTm90ZSkuMiBGIC4xNih0aGF0IHNoZWxsIGZ1bmN0aW9ucyBhbmQgdikyLjY2MSBGIC4xNgorKGFyaWFibGVzIHdpdGggdGhlIHNhbWUgbmFtZSktLjI1IEYgMS4zMjUKKyhtYXkgcmVzdWx0IGluIG11bHRpcGxlIGlkZW50aWNhbGx5LW5hbWVkIGVudHJpZXMgaW4gdGhlIGVuKTEwOCA5NiBSCisxLjMyNSh2aXJvbm1lbnQgcGFzc2VkIHRvIHRoZSBzaGVsbCcpLS40IEYgMy44MjUoc2MpLS41NSBHIDMuODI1CisoaGlsZHJlbi4gQ2FyZSktMy44MjUgRihzaG91bGQgYmUgdGFrKTEwOCAxMDggUQorKGVuIGluIGNhc2VzIHdoZXJlIHRoaXMgbWF5IGNhdXNlIGEgcHJvYmxlbS4pLS4xIEUKKyhGdW5jdGlvbnMgbWF5IGJlIHJlY3Vyc2kpMTA4IDEyNC44IFEgLS4xNSh2ZSktLjI1IEcgNSguTikuMTUgRyAyLjUob2wpCistNSBHKGltaXQgaXMgaW1wb3NlZCBvbiB0aGUgbnVtYmVyIG9mIHJlY3Vyc2kpLTIuNSBFIC4zIC0uMTUodmUgYyktLjI1IEgKKyhhbGxzLikuMTUgRS9GMiAxMC45NS9UaW1lcy1Cb2xkQDAgU0YoQVJJVEhNRVRJQyBFVik3MiAxNDEuNiBRKEFMVSkKKy0xLjQ3OCBFIC0xLjA0KEFUKS0uNjU3IEcoSU9OKTEuMDQgRSBGMCAyLjI5OChUaGUgc2hlbGwgYWxsbykxMDggMTUzLjYgUgorMi4yOTcod3MgYXJpdGhtZXRpYyBlKS0uMjUgRiAyLjI5Nyh4cHJlc3Npb25zIHRvIGJlIGUpLS4xNSBGIC0uMjUodmEpCistLjI1IEcgMi4yOTcobHVhdGVkLCB1bmRlciBjZXJ0YWluIGNpcmN1bXN0YW5jZXMgXChzZWUgdGhlKS4yNSBGIEYxKGxldCkKKzQuNzk3IEUgRjAoYW5kKTQuNzk3IEUgRjEoZGVjbGFyKTEwOCAxNjUuNiBRKGUpLS4xOCBFIEYwIC0uMihidSkyLjcwNSBHCisuMjA1KGlsdGluIGNvbW1hbmRzIGFuZCkuMiBGIEYxIC4yMDUoQXJpdGhtZXRpYyBFeHBhbnNpb24pMi43MDUgRiBGMAorMi43MDUoXCkuIEV2KUIgLjIwNShhbHVhdGlvbiBpcyBkb25lIGluIFwyMTR4KS0uMjUgRiAuMjA2KGVkLXdpZHRoIGludGUpCistLjE1IEYgLjIwNihnZXJzIHdpdGggbm8pLS4xNSBGIC40MjkoY2hlY2sgZm9yIG8pMTA4IDE3Ny42IFIgLS4xNSh2ZSkKKy0uMTUgRyhyXDIxNW8pLjE1IEUgMS43MjkgLS42NSh3LCB0KS0uMjUgSCAuNDI5KGhvdWdoIGRpKS42NSBGIC40MjgKKyh2aXNpb24gYnkgMCBpcyB0cmFwcGVkIGFuZCBcMjE1YWdnZWQgYXMgYW4gZXJyb3IpLS4yNSBGIDUuNDI4KC5UKS0uNTUgRworLjQyOChoZSBvcGVyYXRvcnMgYW5kIHRoZWlyIHByZWNlLSktNS40MjggRiAxLjkxOShkZW5jZSwgYXNzb2NpYXRpKTEwOAorMTg5LjYgUih2aXR5KS0uMjUgRSA0LjQxOSgsYSktLjY1IEcgMS45MTkobmQgdiktNC40MTkgRiAxLjkxOQorKGFsdWVzIGFyZSB0aGUgc2FtZSBhcyBpbiB0aGUgQyBsYW5ndWFnZS4pLS4yNSBGIDEuOTIoVGhlIGZvbGxvKTYuOTIgRgorMS45Mih3aW5nIGxpc3Qgb2Ygb3BlcmF0b3JzIGlzKS0uMjUgRihncm91cGVkIGludG8gbGUpMTA4IDIwMS42IFEgLS4xNQorKHZlKS0uMjUgRyhscyBvZiBlcXVhbC1wcmVjZWRlbmNlIG9wZXJhdG9ycy4pLjE1IEUoVGhlIGxlKTUgRSAtLjE1KHZlKQorLS4yNSBHKGxzIGFyZSBsaXN0ZWQgaW4gb3JkZXIgb2YgZGVjcmVhc2luZyBwcmVjZWRlbmNlLikuMTUgRS9GMyAxMAorL1RpbWVzLUl0YWxpY0AwIFNGKGlkKTEwOCAyMTguNCBRIEYxKCsrKUEgRjMoaWQpMi41IEUgRjE8YWRhZD5BIEYwIC0uMjUKKyh2YSkxNDQgMjMwLjQgUyhyaWFibGUgcG9zdC1pbmNyZW1lbnQgYW5kIHBvc3QtZGVjcmVtZW50KS4yNSBFIEYxKCsrKTEwOAorMjQyLjQgUSBGMyhpZClBIEYxPGFkYWQ+Mi41IEUgRjMoaWQpQSBGMCAtLjI1KHZhKTE0NCAyNTQuNCBTCisocmlhYmxlIHByZS1pbmNyZW1lbnQgYW5kIHByZS1kZWNyZW1lbnQpLjI1IEUgRjEgMi41PGFkMmI+MTA4IDI2Ni40IFMgRjAKKyh1bmFyeSBtaW51cyBhbmQgcGx1cykxOS42IEUgRjEgMi41KCF+KTEwOCAyNzguNCBTIEYwCisobG9naWNhbCBhbmQgYml0d2lzZSBuZSkyNC4zNCBFIC0uMDUoZ2EpLS4xNSBHKHRpb24pLjA1IEUgRjEoKiopMTA4CisyOTAuNCBRIEYwIC0uMTUoZXgpMjYgRyhwb25lbnRpYXRpb24pLjE1IEUgRjEgMi41KCovJSkxMDggMzAyLjQgUyBGMAorKG11bHRpcGxpY2F0aW9uLCBkaSkxMC43MiBFKHZpc2lvbiwgcmVtYWluZGVyKS0uMjUgRSBGMSAyLjU8MmJhZD4xMDgKKzMxNC40IFMgRjAoYWRkaXRpb24sIHN1YnRyYWN0aW9uKTE5LjYgRSBGMSg8PCA+PikxMDggMzI2LjQgUSBGMAorKGxlZnQgYW5kIHJpZ2h0IGJpdHdpc2Ugc2hpZnRzKTEwLjcgRSBGMSg8PSA+PSA8ID4pMTA4IDMzOC40IFEgRjAKKyhjb21wYXJpc29uKTE0NCAzNTAuNCBRIEYxKD09ICE9KTEwOCAzNjIuNCBRIEYwKGVxdWFsaXR5IGFuZCBpbmVxdWFsaXR5KQorMTMuMDcgRSBGMSgmKTEwOCAzNzQuNCBRIEYwKGJpdHdpc2UgQU5EKTI3LjY3IEUgRjEoXikxMDggMzg2LjQgUSBGMAorKGJpdHdpc2UgZSkzMi42NyBFKHhjbHVzaSktLjE1IEUgLjMgLS4xNSh2ZSBPKS0uMjUgSChSKS4xNSBFIEYxKHwpMTA4CiszOTguNCBRIEYwKGJpdHdpc2UgT1IpMzMuOCBFIEYxKCYmKTEwOCA0MTAuNCBRIEYwKGxvZ2ljYWwgQU5EKTE5LjM0IEUgRjEKKyh8fCkxMDggNDIyLjQgUSBGMChsb2dpY2FsIE9SKTMxLjYgRSBGMyAtLjIoZXgpMTA4IDQzNC40IFMocHIpLjIgRSBGMSg/KQorQSBGMyAtLjIoZXgpQyhwcikuMiBFIEYxKDopQSBGMyAtLjIoZXgpQyhwcikuMiBFIEYwCisoY29uZGl0aW9uYWwgb3BlcmF0b3IpMTQ0IDQ0Ni40IFEgRjEgMi41KD0qKTEwOCA0NTguNCBTIDIuNSg9LyktMi41IEcKKzIuNSg9JSktMi41IEcgMi41KD0rKS0yLjUgRyAyLjU8M2RhZD4tMi41IEcgMi41KD08KS0yLjUgRworKDw9ID4+PSAmPSBePSB8PSktMi41IEUgRjAoYXNzaWdubWVudCkxNDQgNDcwLjQgUSBGMyAtLjIoZXgpMTA4IDQ4Mi40IFMKKyhwcjEpLjIgRSBGMSgsKTIuNSBFIEYzIC0uMihleCkyLjUgRyhwcjIpLjIgRSBGMChjb21tYSkxNDQgNDk0LjQgUSAuNjgKKyhTaGVsbCB2KTEwOCA1MTEuMiBSIC42OChhcmlhYmxlcyBhcmUgYWxsbyktLjI1IEYgLjY4CiAod2VkIGFzIG9wZXJhbmRzOyBwYXJhbWV0ZXIgZSktLjI1IEYgLjY4CiAoeHBhbnNpb24gaXMgcGVyZm9ybWVkIGJlZm9yZSB0aGUgZSktLjE1IEYgLjY4KHhwcmVzc2lvbiBpcyBlKS0uMTUgRgotLS4yNSh2YSktLjI1IEcobHUtKS4yNSBFIDMuNTA3KGF0ZWQuIFcpMTA4IDI2OC44IFIgMS4wMDcoaXRoaW4gYW4gZSktLjQKKy0uMjUodmEpLS4yNSBHKGx1LSkuMjUgRSAzLjUwNyhhdGVkLiBXKTEwOCA1MjMuMiBSIDEuMDA3KGl0aGluIGFuIGUpLS40CiBGIDEuMDA3KHhwcmVzc2lvbiwgc2hlbGwgdiktLjE1IEYgMS4wMDcKIChhcmlhYmxlcyBtYXkgYWxzbyBiZSByZWZlcmVuY2VkIGJ5IG5hbWUgd2l0aG91dCB1c2luZyB0aGUgcGFyYW1ldGVyKQotLS4yNSBGIC0uMTUoZXgpMTA4IDI4MC44IFMgMS4wNDEocGFuc2lvbiBzeW50YXguKS4xNSBGIDMuNTQxKEFzKTYuMDQxIEcKKy0uMjUgRiAtLjE1KGV4KTEwOCA1MzUuMiBTIDEuMDQxKHBhbnNpb24gc3ludGF4LikuMTUgRiAzLjU0MShBcyk2LjA0MSBHCiAxLjA0MShoZWxsIHYpLTMuNTQxIEYgMS4wNDEoYXJpYWJsZSB0aGF0IGlzIG51bGwgb3IgdW5zZXQgZSktLjI1IEYgLS4yNQogKHZhKS0uMjUgRyAxLjA0KGx1YXRlcyB0byAwIHdoZW4gcmVmZXJlbmNlZCBieSBuYW1lIHdpdGhvdXQpLjI1IEYgMS40NjYKLSh1c2luZyB0aGUgcGFyYW1ldGVyIGUpMTA4IDI5Mi44IFIgMS40NjYoeHBhbnNpb24gc3ludGF4LiktLjE1IEYgMS40NjcKKyh1c2luZyB0aGUgcGFyYW1ldGVyIGUpMTA4IDU0Ny4yIFIgMS40NjYoeHBhbnNpb24gc3ludGF4LiktLjE1IEYgMS40NjcKIChUaGUgdik2LjQ2NiBGIDEuNDY3KGFsdWUgb2YgYSB2KS0uMjUgRiAxLjQ2NyhhcmlhYmxlIGlzIGUpLS4yNSBGIC0uMjUKICh2YSktLjI1IEcgMS40NjcobHVhdGVkIGFzIGFuIGFyaXRobWV0aWMgZSkuMjUgRih4cHJlc3Npb24pLS4xNSBFIDEuMzkKLSh3aGVuIGl0IGlzIHJlZmVyZW5jZWQsIG9yIHdoZW4gYSB2KTEwOCAzMDQuOCBSIDEuMzg5Cisod2hlbiBpdCBpcyByZWZlcmVuY2VkLCBvciB3aGVuIGEgdikxMDggNTU5LjIgUiAxLjM4OQogKGFyaWFibGUgd2hpY2ggaGFzIGJlZW4gZ2kpLS4yNSBGIC0uMTUodmUpLS4yNSBHIDMuODg5KG50KS4xNSBHKGhlKQotLTMuODg5IEUgRjIoaW50ZSkzLjg4OSBFIC0uMShnZSktLjQgRyhyKS4xIEUgRjAoYXR0cmliKTMuODg5IEUgMS4zODkKKy0zLjg4OSBFIEYzKGludGUpMy44ODkgRSAtLjEoZ2UpLS40IEcocikuMSBFIEYwKGF0dHJpYikzLjg4OSBFIDEuMzg5CiAodXRlIHVzaW5nKS0uMiBGIEYxKGRlY2xhcikzLjg4OSBFIDMuODg5KGUtKS0uMTggRyhpKS0zLjg4OSBFIEYwKGlzKQotMy44ODkgRSAuMzQzKGFzc2lnbmVkIGEgdikxMDggMzE2LjggUiAyLjg0MyhhbHVlLiBBKS0uMjUgRiAuMzQzKG51bGwgdikKKzMuODg5IEUgLjM0Myhhc3NpZ25lZCBhIHYpMTA4IDU3MS4yIFIgMi44NDMoYWx1ZS4gQSktLjI1IEYgLjM0MyhudWxsIHYpCiAyLjg0MyBGIC4zNDMoYWx1ZSBlKS0uMjUgRiAtLjI1KHZhKS0uMjUgRyAuMzQzKGx1YXRlcyB0byAwLikuMjUgRiAyLjg0MwogKEFzKTUuMzQzIEcgLjM0MyhoZWxsIHYpLTIuODQzIEYgLjM0MyhhcmlhYmxlIG5lZWQgbm90IGhhKS0uMjUgRiAuNjQzCiAtLjE1KHZlIGkpLS4yIEggLjM0Myh0cyBpbnRlKS4xNSBGIC4zNDQoZ2VyIGF0dHJpYiktLjE1IEYgLjM0NAotKHV0ZSB0dXJuZWQgb24pLS4yIEYodG8gYmUgdXNlZCBpbiBhbiBlKTEwOCAzMjguOCBRKHhwcmVzc2lvbi4pLS4xNSBFCisodXRlIHR1cm5lZCBvbiktLjIgRih0byBiZSB1c2VkIGluIGFuIGUpMTA4IDU4My4yIFEoeHByZXNzaW9uLiktLjE1IEUKIDEuNDA2KENvbnN0YW50cyB3aXRoIGEgbGVhZGluZyAwIGFyZSBpbnRlcnByZXRlZCBhcyBvY3RhbCBudW1iZXJzLikxMDgKLTM0NS42IFIgMy45MDYoQWwpNi40MDYgRyAxLjQwNihlYWRpbmcgMHggb3IgMFggZGVub3RlcyBoZSktMy45MDYgRgotKHhhZGVjaW1hbC4pLS4xNSBFIC41ODkoT3RoZXJ3aXNlLCBudW1iZXJzIHRhaykxMDggMzU3LjYgUiAzLjA4OShldCktLjEKLUcgLjU4OShoZSBmb3JtIFspLTMuMDg5IEYgRjIoYmFzZSMpQSBGMCAuNTg5KF1uLCB3aGVyZSlCIEYyKGJhc2UpMy4wODkgRQorNjAwIFIgMy45MDYoQWwpNi40MDYgRyAxLjQwNihlYWRpbmcgMHggb3IgMFggZGVub3RlcyBoZSktMy45MDYgRgorKHhhZGVjaW1hbC4pLS4xNSBFIC41ODkoT3RoZXJ3aXNlLCBudW1iZXJzIHRhaykxMDggNjEyIFIgMy4wODkoZXQpLS4xIEcKKy41ODkoaGUgZm9ybSBbKS0zLjA4OSBGIEYzKGJhc2UjKUEgRjAgLjU4OShdbiwgd2hlcmUpQiBGMyhiYXNlKTMuMDg5IEUKIEYwIC41OShpcyBhIGRlY2ltYWwgbnVtYmVyIGJldHdlZW4gMiBhbmQgNjQgcmVwcmVzZW50LSkzLjA4OSBGIC4wOTMKLShpbmcgdGhlIGFyaXRobWV0aWMgYmFzZSwgYW5kKTEwOCAzNjkuNiBSIEYyKG4pMi41OTMgRSBGMCAuMDkzCi0oaXMgYSBudW1iZXIgaW4gdGhhdCBiYXNlLikyLjU5MyBGKElmKTUuMDkzIEUgRjIoYmFzZSMpMi41OTMgRSBGMCAuMDkyCisoaW5nIHRoZSBhcml0aG1ldGljIGJhc2UsIGFuZCkxMDggNjI0IFIgRjMobikyLjU5MyBFIEYwIC4wOTMKKyhpcyBhIG51bWJlciBpbiB0aGF0IGJhc2UuKTIuNTkzIEYoSWYpNS4wOTMgRSBGMyhiYXNlIykyLjU5MyBFIEYwIC4wOTIKIChpcyBvbWl0dGVkLCB0aGVuIGJhc2UgMTAgaXMgdXNlZC4pMi41OTMgRiAuMDkyKFRoZSBkaWdpdHMpNS4wOTIgRiAuMDY0Ci0oZ3JlYXRlciB0aGFuIDkgYXJlIHJlcHJlc2VudGVkIGJ5IHRoZSBsbykxMDggMzgxLjYgUiAuMDY0CisoZ3JlYXRlciB0aGFuIDkgYXJlIHJlcHJlc2VudGVkIGJ5IHRoZSBsbykxMDggNjM2IFIgLjA2NAogKHdlcmNhc2UgbGV0dGVycywgdGhlIHVwcGVyY2FzZSBsZXR0ZXJzLCBALCBhbmQgXywgaW4gdGhhdCBvcmRlciktLjI1IEYKLTUuMDY1KC5JKS0uNTUgRyhmKS01LjA2NSBFIEYyKGJhc2UpMi41NjUgRSBGMCAuNDMzCi0oaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDM2LCBsbykxMDggMzkzLjYgUiAuNDMyKHdlcmNhc2UgYW5kIHVwcGVyY2FzZVwKLSBsZXR0ZXJzIG1heSBiZSB1c2VkIGludGVyY2hhbmdlYWJseSB0byByZXByZXNlbnQgbnVtLSktLjI1IEYKLShiZXJzIGJldHdlZW4gMTAgYW5kIDM1LikxMDggNDA1LjYgUSAuMjM0KE9wZXJhdG9ycyBhcmUgZSkxMDggNDIyLjQgUgotLS4yNSh2YSktLjI1IEcgLjIzNChsdWF0ZWQgaW4gb3JkZXIgb2YgcHJlY2VkZW5jZS4pLjI1IEYoU3ViLWUpNS4yMzQgRQotLjIzNCh4cHJlc3Npb25zIGluIHBhcmVudGhlc2VzIGFyZSBlKS0uMTUgRiAtLjI1KHZhKS0uMjUgRyAuMjM1Ci0obHVhdGVkIFwyMTRyc3QgYW5kIG1heSkuMjUgRiAtLjE1KG92ZSkxMDggNDM0LjQgUwotKHJyaWRlIHRoZSBwcmVjZWRlbmNlIHJ1bGVzIGFibykuMTUgRSAtLjE1KHZlKS0uMTUgRyguKS4xNSBFL0YzIDEwLjk1Ci0vVGltZXMtQm9sZEAwIFNGKENPTkRJVElPTik3MiA0NTEuMiBRKEFMIEVYUFJFU1NJT05TKS0uMjE5IEUgRjAgLjI1NgotKENvbmRpdGlvbmFsIGUpMTA4IDQ2My4yIFIgLjI1Nih4cHJlc3Npb25zIGFyZSB1c2VkIGJ5IHRoZSktLjE1IEYgRjEoW1spCi0yLjc1NSBFIEYwIC4yNTUoY29tcG91bmQgY29tbWFuZCBhbmQgdGhlKTIuNzU1IEYgRjEodGVzdCkyLjc1NSBFIEYwKGFuZCkKLTIuNzU1IEUgRjEoWykyLjc1NSBFIEYwIC0uMihidSkyLjc1NSBHIC4yNTUoaWx0aW4gY29tbWFuZHMgdG8gdGVzdCkuMiBGCi0uNzcoXDIxNGxlIGF0dHJpYikxMDggNDc1LjIgUiAuNzcKKzUuMDY1KC5JKS0uNTUgRyhmKS01LjA2NSBFIEYzKGJhc2UpMi41NjUgRSBGMCAuNDMzCisoaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDM2LCBsbykxMDggNjQ4IFIgLjQzMih3ZXJjYXNlIGFuZCB1cHBlcmNhc2UgbFwKK2V0dGVycyBtYXkgYmUgdXNlZCBpbnRlcmNoYW5nZWFibHkgdG8gcmVwcmVzZW50IG51bS0pLS4yNSBGCisoYmVycyBiZXR3ZWVuIDEwIGFuZCAzNS4pMTA4IDY2MCBRIC4yMzQoT3BlcmF0b3JzIGFyZSBlKTEwOCA2NzYuOCBSIC0uMjUKKyh2YSktLjI1IEcgLjIzNChsdWF0ZWQgaW4gb3JkZXIgb2YgcHJlY2VkZW5jZS4pLjI1IEYoU3ViLWUpNS4yMzQgRSAuMjM0CisoeHByZXNzaW9ucyBpbiBwYXJlbnRoZXNlcyBhcmUgZSktLjE1IEYgLS4yNSh2YSktLjI1IEcgLjIzNQorKGx1YXRlZCBcMjE0cnN0IGFuZCBtYXkpLjI1IEYgLS4xNShvdmUpMTA4IDY4OC44IFMKKyhycmlkZSB0aGUgcHJlY2VkZW5jZSBydWxlcyBhYm8pLjE1IEUgLS4xNSh2ZSktLjE1IEcoLikuMTUgRSBGMgorKENPTkRJVElPTik3MiA3MDUuNiBRKEFMIEVYUFJFU1NJT05TKS0uMjE5IEUgRjAgLjI1NihDb25kaXRpb25hbCBlKTEwOAorNzE3LjYgUiAuMjU2KHhwcmVzc2lvbnMgYXJlIHVzZWQgYnkgdGhlKS0uMTUgRiBGMShbWykyLjc1NSBFIEYwIC4yNTUKKyhjb21wb3VuZCBjb21tYW5kIGFuZCB0aGUpMi43NTUgRiBGMSh0ZXN0KTIuNzU1IEUgRjAoYW5kKTIuNzU1IEUgRjEoWykKKzIuNzU1IEUgRjAgLS4yKGJ1KTIuNzU1IEcgLjI1NShpbHRpbiBjb21tYW5kcyB0byB0ZXN0KS4yIEYgLjc3CisoXDIxNGxlIGF0dHJpYikxMDggNzI5LjYgUiAuNzcKICh1dGVzIGFuZCBwZXJmb3JtIHN0cmluZyBhbmQgYXJpdGhtZXRpYyBjb21wYXJpc29ucy4pLS4yIEYgLjc3Ci0oRXhwcmVzc2lvbnMgYXJlIGZvcm1lZCBmcm9tIHRoZSBmb2xsbyk1Ljc3IEYod2luZyktLjI1IEUgMS4wNDEKLSh1bmFyeSBvciBiaW5hcnkgcHJpbWFyaWVzLikxMDggNDg3LjIgUiAxLjA0MShJZiBhbik2LjA0MSBGKHkpLS4xNSBFIEYyCi0oXDIxNGxlKTMuNTQxIEUgRjAoYXIpMy41NDEgRSAxLjA0Ci0oZ3VtZW50IHRvIG9uZSBvZiB0aGUgcHJpbWFyaWVzIGlzIG9mIHRoZSBmb3JtKS0uMTggRiBGMigvZGUpMy41NCBFCi0odi9mZC9uKS0uMTUgRSBGMCAzLjU0KCx0KUMgMS4wNChoZW4gXDIxNGxlKS0zLjU0IEYoZGVzY3JpcHRvcikxMDggNDk5LjIKLVEgRjIobikzLjc4OCBFIEYwIDEuMjg5KGlzIGNoZWNrKTMuNzg4IEYgMy43ODkoZWQuIElmKS0uMSBGKHRoZSkzLjc4OSBFCi1GMihcMjE0bGUpMy43ODkgRSBGMChhcikzLjc4OSBFIDEuMjg5Ci0oZ3VtZW50IHRvIG9uZSBvZiB0aGUgcHJpbWFyaWVzIGlzIG9uZSBvZiktLjE4IEYgRjIoL2RlKTMuNzg5IEUodi9zdGRpbikKLS0uMTUgRSBGMCgsKUEgRjIoL2RlKTMuNzg5IEUodi9zdGRvdXQpLS4xNSBFIEYwIDMuNzg5KCxvKUMociktMy43ODkgRSBGMgotKC9kZSkxMDggNTExLjIgUSh2L3N0ZGVyciktLjE1IEUgRjAgMi41PDJjOGM+QwotKGxlIGRlc2NyaXB0b3IgMCwgMSwgb3IgMiwgcmVzcGVjdGkpLTIuNSBFIC0uMTUodmUpLS4yNSBHKGx5KS4xNSBFIDIuNQotKCxpKS0uNjUgRyAyLjUoc2MpLTIuNSBHKGhlY2spLTIuNSBFKGVkLiktLjEgRSAuNzIyCi0oVW5sZXNzIG90aGVyd2lzZSBzcGVjaVwyMTRlZCwgcHJpbWFyaWVzIHRoYXQgb3BlcmF0ZSBvbiBcMjE0bGVzIGZvbGxvKQotMTA4IDUyOCBSIDMuMjIxKHdzKS0uMjUgRyAuNzIxKHltYm9saWMgbGlua3MgYW5kIG9wZXJhdGUgb24gdGhlIHRhcikKLS0zLjIyMSBGKGdldCktLjE4IEUob2YgdGhlIGxpbmssIHJhdGhlciB0aGFuIHRoZSBsaW5rIGl0c2VsZi4pMTA4IDU0MCBRCi1GMTxhZDYxPjEwOCA1NjQgUSBGMihcMjE0bGUpMi41IEUgRjAgLS4zNShUcikxMC41OCBHKHVlIGlmKS4zNSBFIEYyCi0oXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpMi41IEcoaXN0cy4pLjE1IEUgRjE8YWQ2Mj4xMDggNTc2IFEgRjIoXDIxNGxlKQotMi41IEUgRjAgLS4zNShUcikxMC4wMiBHKHVlIGlmKS4zNSBFIEYyKFwyMTRsZSkyLjUgRSBGMCAtLjE1KGV4KTIuNSBHCi0oaXN0cyBhbmQgaXMgYSBibG9jayBzcGVjaWFsIFwyMTRsZS4pLjE1IEUgRjE8YWQ2Mz4xMDggNTg4IFEgRjIoXDIxNGxlKQotMi41IEUgRjAgLS4zNShUcikxMS4xNCBHKHVlIGlmKS4zNSBFIEYyKFwyMTRsZSkyLjUgRSBGMCAtLjE1KGV4KTIuNSBHCi0oaXN0cyBhbmQgaXMgYSBjaGFyYWN0ZXIgc3BlY2lhbCBcMjE0bGUuKS4xNSBFIEYxPGFkNjQ+MTA4IDYwMCBRIEYyCi0oXDIxNGxlKTIuNSBFIEYwIC0uMzUoVHIpMTAuMDIgRyh1ZSBpZikuMzUgRSBGMihcMjE0bGUpMi41IEUgRjAgLS4xNShleCkKLTIuNSBHKGlzdHMgYW5kIGlzIGEgZGlyZWN0b3J5KS4xNSBFKC4pLS42NSBFIEYxPGFkNjU+MTA4IDYxMiBRIEYyCi0oXDIxNGxlKTIuNSBFIEYwIC0uMzUoVHIpMTEuMTQgRyh1ZSBpZikuMzUgRSBGMihcMjE0bGUpMi41IEUgRjAgLS4xNShleCkKLTIuNSBHKGlzdHMuKS4xNSBFIEYxPGFkNjY+MTA4IDYyNCBRIEYyKFwyMTRsZSkyLjUgRSBGMCAtLjM1KFRyKTEyLjI1IEcKLSh1ZSBpZikuMzUgRSBGMihcMjE0bGUpMi41IEUgRjAgLS4xNShleCkyLjUgRyhpc3RzIGFuZCBpcyBhIHJlKS4xNSBFCi0oZ3VsYXIgXDIxNGxlLiktLjE1IEUgRjE8YWQ2Nz4xMDggNjM2IFEgRjIoXDIxNGxlKTIuNSBFIEYwIC0uMzUoVHIpMTAuNTgKLUcodWUgaWYpLjM1IEUgRjIoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpMi41IEcKLShpc3RzIGFuZCBpcyBzZXQtZ3JvdXAtaWQuKS4xNSBFIEYxPGFkNjg+MTA4IDY0OCBRIEYyKFwyMTRsZSkyLjUgRSBGMAotLS4zNShUcikxMC4wMiBHKHVlIGlmKS4zNSBFIEYyKFwyMTRsZSkyLjUgRSBGMCAtLjE1KGV4KTIuNSBHCi0oaXN0cyBhbmQgaXMgYSBzeW1ib2xpYyBsaW5rLikuMTUgRSBGMTxhZDZiPjEwOCA2NjAgUSBGMihcMjE0bGUpMi41IEUgRjAKLS0uMzUoVHIpMTAuMDIgRyh1ZSBpZikuMzUgRSBGMihcMjE0bGUpMi41IEUgRjAgLS4xNShleCkyLjUgRwotKGlzdHMgYW5kIGl0cyBgKS4xNSBFKGBzdGljayktLjc0IEUoeScpLS4xNSBFIDIuNSgnYiktLjc0IEcoaXQgaXMgc2V0LikKLS0yLjUgRSBGMTxhZDcwPjEwOCA2NzIgUSBGMihcMjE0bGUpMi41IEUgRjAgLS4zNShUcikxMC4wMiBHKHVlIGlmKS4zNSBFCi1GMihcMjE0bGUpMi41IEUgRjAgLS4xNShleCkyLjUgRyhpc3RzIGFuZCBpcyBhIG5hbWVkIHBpcGUgXChGSUZPXCkuKS4xNQotRSBGMTxhZDcyPjEwOCA2ODQgUSBGMihcMjE0bGUpMi41IEUgRjAgLS4zNShUcikxMS4xNCBHKHVlIGlmKS4zNSBFIEYyCi0oXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpMi41IEcoaXN0cyBhbmQgaXMgcmVhZGFibGUuKS4xNSBFIEYxPGFkNzM+MTA4Ci02OTYgUSBGMihcMjE0bGUpMi41IEUgRjAgLS4zNShUcikxMS42OSBHKHVlIGlmKS4zNSBFIEYyKFwyMTRsZSkyLjUgRSBGMAotLS4xNShleCkyLjUgRyhpc3RzIGFuZCBoYXMgYSBzaXplIGdyZWF0ZXIgdGhhbiB6ZXJvLikuMTUgRSBGMTxhZDc0PjEwOAotNzA4IFEgRjIoZmQpMi41IEUgRjAgLS4zNShUcikxNi42OSBHKHVlIGlmIFwyMTRsZSBkZXNjcmlwdG9yKS4zNSBFIEYyCi0oZmQpNC40NyBFIEYwKGlzIG9wZW4gYW5kIHJlZmVycyB0byBhIHRlcm1pbmFsLikzLjI3IEUoR05VIEJhc2gtNC4wKTcyCi03NjggUSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUoMjcpMTkwLjk1IEUgMCBDZyBFUAorKEV4cHJlc3Npb25zIGFyZSBmb3JtZWQgZnJvbSB0aGUgZm9sbG8pNS43NyBGKHdpbmcpLS4yNSBFKEdOVSBCYXNoLTQuMSkKKzcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDI3KTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDI4IDI4CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRjxhZDc1PjEwOCA4NCBRL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGCi0oXDIxNGxlKTIuNSBFIEYwIC0uMzUoVHIpMTAuMDIgRyh1ZSBpZikuMzUgRSBGMihcMjE0bGUpMi41IEUgRjAgLS4xNShleCkKLTIuNSBHKGlzdHMgYW5kIGl0cyBzZXQtdXNlcikuMTUgRSgtaWQgYml0IGlzIHNldC4pLS4yIEUgRjE8YWQ3Nz4xMDggOTYgUQotRjIoXDIxNGxlKTIuNSBFIEYwIC0uMzUoVHIpOC4zNiBHKHVlIGlmKS4zNSBFIEYyKFwyMTRsZSkyLjUgRSBGMCAtLjE1Ci0oZXgpMi41IEcoaXN0cyBhbmQgaXMgd3JpdGFibGUuKS4xNSBFIEYxPGFkNzg+MTA4IDEwOCBRIEYyKFwyMTRsZSkyLjUgRQotRjAgLS4zNShUcikxMC41OCBHKHVlIGlmKS4zNSBFIEYyKFwyMTRsZSkyLjUgRSBGMCAtLjE1KGV4KTIuNSBHCi0oaXN0cyBhbmQgaXMgZSkuMTUgRSAtLjE1KHhlKS0uMTUgRyhjdXRhYmxlLikuMTUgRSBGMTxhZDRmPjEwOCAxMjAgUSBGMgotKFwyMTRsZSkyLjUgRSBGMCAtLjM1KFRyKTcuOCBHKHVlIGlmKS4zNSBFIEYyKFwyMTRsZSkyLjUgRSBGMCAtLjE1KGV4KQorLS4zNSBFIDEuMDQxKHVuYXJ5IG9yIGJpbmFyeSBwcmltYXJpZXMuKTEwOCA4NCBSIDEuMDQxKElmIGFuKTYuMDQxIEYoeSkKKy0uMTUgRS9GMSAxMC9UaW1lcy1JdGFsaWNAMCBTRihcMjE0bGUpMy41NDEgRSBGMChhcikzLjU0MSBFIDEuMDQKKyhndW1lbnQgdG8gb25lIG9mIHRoZSBwcmltYXJpZXMgaXMgb2YgdGhlIGZvcm0pLS4xOCBGIEYxKC9kZSkzLjU0IEUKKyh2L2ZkL24pLS4xNSBFIEYwIDMuNTQoLHQpQyAxLjA0KGhlbiBcMjE0bGUpLTMuNTQgRihkZXNjcmlwdG9yKTEwOCA5NiBRCitGMShuKTMuNzg4IEUgRjAgMS4yODkoaXMgY2hlY2spMy43ODggRiAzLjc4OShlZC4gSWYpLS4xIEYodGhlKTMuNzg5IEUgRjEKKyhcMjE0bGUpMy43ODkgRSBGMChhcikzLjc4OSBFIDEuMjg5CisoZ3VtZW50IHRvIG9uZSBvZiB0aGUgcHJpbWFyaWVzIGlzIG9uZSBvZiktLjE4IEYgRjEoL2RlKTMuNzg5IEUodi9zdGRpbikKKy0uMTUgRSBGMCgsKUEgRjEoL2RlKTMuNzg5IEUodi9zdGRvdXQpLS4xNSBFIEYwIDMuNzg5KCxvKUMociktMy43ODkgRSBGMQorKC9kZSkxMDggMTA4IFEodi9zdGRlcnIpLS4xNSBFIEYwIDIuNTwyYzhjPkMKKyhsZSBkZXNjcmlwdG9yIDAsIDEsIG9yIDIsIHJlc3BlY3RpKS0yLjUgRSAtLjE1KHZlKS0uMjUgRyhseSkuMTUgRSAyLjUKKygsaSktLjY1IEcgMi41KHNjKS0yLjUgRyhoZWNrKS0yLjUgRShlZC4pLS4xIEUgLjcyMgorKFVubGVzcyBvdGhlcndpc2Ugc3BlY2lcMjE0ZWQsIHByaW1hcmllcyB0aGF0IG9wZXJhdGUgb24gXDIxNGxlcyBmb2xsbykKKzEwOCAxMjQuOCBSIDMuMjIxKHdzKS0uMjUgRyAuNzIxKHltYm9saWMgbGlua3MgYW5kIG9wZXJhdGUgb24gdGhlIHRhcikKKy0zLjIyMSBGKGdldCktLjE4IEUob2YgdGhlIGxpbmssIHJhdGhlciB0aGFuIHRoZSBsaW5rIGl0c2VsZi4pMTA4IDEzNi44CitRKFdoZW4gdXNlZCB3aXRoKTEwOCAxNTQuOCBRL0YyIDEwL1RpbWVzLUJvbGRAMCBTRihbWykyLjUgRSBGMCAyLjUoLFQpQworKGhlKS0yLjUgRSBGMig8KTIuNSBFIEYwKGFuZCkyLjUgRSBGMig+KTIuNSBFIEYwKG9wZXJhdG9ycyBzb3J0IGxlKTIuNSBFCisoeGljb2dyYXBoaWNhbGx5IHVzaW5nIHRoZSBjdXJyZW50IGxvY2FsZS4pLS4xNSBFIEYyPGFkNjE+MTA4IDE3OC44IFEgRjEKKyhcMjE0bGUpMi41IEUgRjAgLS4zNShUcikxMC41OCBHKHVlIGlmKS4zNSBFIEYxKFwyMTRsZSkyLjUgRSBGMCAtLjE1KGV4KQorMi41IEcoaXN0cy4pLjE1IEUgRjI8YWQ2Mj4xMDggMTkwLjggUSBGMShcMjE0bGUpMi41IEUgRjAgLS4zNShUcikxMC4wMiBHCisodWUgaWYpLjM1IEUgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpMi41IEcKKyhpc3RzIGFuZCBpcyBhIGJsb2NrIHNwZWNpYWwgXDIxNGxlLikuMTUgRSBGMjxhZDYzPjEwOCAyMDIuOCBRIEYxCisoXDIxNGxlKTIuNSBFIEYwIC0uMzUoVHIpMTEuMTQgRyh1ZSBpZikuMzUgRSBGMShcMjE0bGUpMi41IEUgRjAgLS4xNShleCkKKzIuNSBHKGlzdHMgYW5kIGlzIGEgY2hhcmFjdGVyIHNwZWNpYWwgXDIxNGxlLikuMTUgRSBGMjxhZDY0PjEwOCAyMTQuOCBRCitGMShcMjE0bGUpMi41IEUgRjAgLS4zNShUcikxMC4wMiBHKHVlIGlmKS4zNSBFIEYxKFwyMTRsZSkyLjUgRSBGMCAtLjE1CisoZXgpMi41IEcoaXN0cyBhbmQgaXMgYSBkaXJlY3RvcnkpLjE1IEUoLiktLjY1IEUgRjI8YWQ2NT4xMDggMjI2LjggUSBGMQorKFwyMTRsZSkyLjUgRSBGMCAtLjM1KFRyKTExLjE0IEcodWUgaWYpLjM1IEUgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpCisyLjUgRyhpc3RzLikuMTUgRSBGMjxhZDY2PjEwOCAyMzguOCBRIEYxKFwyMTRsZSkyLjUgRSBGMCAtLjM1KFRyKTEyLjI1IEcKKyh1ZSBpZikuMzUgRSBGMShcMjE0bGUpMi41IEUgRjAgLS4xNShleCkyLjUgRyhpc3RzIGFuZCBpcyBhIHJlKS4xNSBFCisoZ3VsYXIgXDIxNGxlLiktLjE1IEUgRjI8YWQ2Nz4xMDggMjUwLjggUSBGMShcMjE0bGUpMi41IEUgRjAgLS4zNShUcikKKzEwLjU4IEcodWUgaWYpLjM1IEUgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpMi41IEcKKyhpc3RzIGFuZCBpcyBzZXQtZ3JvdXAtaWQuKS4xNSBFIEYyPGFkNjg+MTA4IDI2Mi44IFEgRjEoXDIxNGxlKTIuNSBFIEYwCistLjM1KFRyKTEwLjAyIEcodWUgaWYpLjM1IEUgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpMi41IEcKKyhpc3RzIGFuZCBpcyBhIHN5bWJvbGljIGxpbmsuKS4xNSBFIEYyPGFkNmI+MTA4IDI3NC44IFEgRjEoXDIxNGxlKTIuNSBFCitGMCAtLjM1KFRyKTEwLjAyIEcodWUgaWYpLjM1IEUgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpMi41IEcKKyhpc3RzIGFuZCBpdHMgYCkuMTUgRShgc3RpY2spLS43NCBFKHknKS0uMTUgRSAyLjUoJ2IpLS43NCBHKGl0IGlzIHNldC4pCistMi41IEUgRjI8YWQ3MD4xMDggMjg2LjggUSBGMShcMjE0bGUpMi41IEUgRjAgLS4zNShUcikxMC4wMiBHKHVlIGlmKS4zNQorRSBGMShcMjE0bGUpMi41IEUgRjAgLS4xNShleCkyLjUgRyhpc3RzIGFuZCBpcyBhIG5hbWVkIHBpcGUgXChGSUZPXCkuKQorLjE1IEUgRjI8YWQ3Mj4xMDggMjk4LjggUSBGMShcMjE0bGUpMi41IEUgRjAgLS4zNShUcikxMS4xNCBHKHVlIGlmKS4zNSBFCitGMShcMjE0bGUpMi41IEUgRjAgLS4xNShleCkyLjUgRyhpc3RzIGFuZCBpcyByZWFkYWJsZS4pLjE1IEUgRjI8YWQ3Mz4xMDgKKzMxMC44IFEgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMzUoVHIpMTEuNjkgRyh1ZSBpZikuMzUgRSBGMShcMjE0bGUpMi41IEUKK0YwIC0uMTUoZXgpMi41IEcoaXN0cyBhbmQgaGFzIGEgc2l6ZSBncmVhdGVyIHRoYW4gemVyby4pLjE1IEUgRjI8YWQ3ND4KKzEwOCAzMjIuOCBRIEYxKGZkKTIuNSBFIEYwIC0uMzUoVHIpMTYuNjkgRyh1ZSBpZiBcMjE0bGUgZGVzY3JpcHRvcikuMzUgRQorRjEoZmQpNC40NyBFIEYwKGlzIG9wZW4gYW5kIHJlZmVycyB0byBhIHRlcm1pbmFsLikzLjI3IEUgRjI8YWQ3NT4xMDgKKzMzNC44IFEgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMzUoVHIpMTAuMDIgRyh1ZSBpZikuMzUgRSBGMShcMjE0bGUpMi41IEUKK0YwIC0uMTUoZXgpMi41IEcoaXN0cyBhbmQgaXRzIHNldC11c2VyKS4xNSBFKC1pZCBiaXQgaXMgc2V0LiktLjIgRSBGMgorPGFkNzc+MTA4IDM0Ni44IFEgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMzUoVHIpOC4zNiBHKHVlIGlmKS4zNSBFIEYxCisoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpMi41IEcoaXN0cyBhbmQgaXMgd3JpdGFibGUuKS4xNSBFIEYyPGFkNzg+MTA4CiszNTguOCBRIEYxKFwyMTRsZSkyLjUgRSBGMCAtLjM1KFRyKTEwLjU4IEcodWUgaWYpLjM1IEUgRjEoXDIxNGxlKTIuNSBFCitGMCAtLjE1KGV4KTIuNSBHKGlzdHMgYW5kIGlzIGUpLjE1IEUgLS4xNSh4ZSktLjE1IEcoY3V0YWJsZS4pLjE1IEUgRjIKKzxhZDRmPjEwOCAzNzAuOCBRIEYxKFwyMTRsZSkyLjUgRSBGMCAtLjM1KFRyKTcuOCBHKHVlIGlmKS4zNSBFIEYxCisoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpMi41IEcoaXN0cyBhbmQgaXMgbykuMTUgRSh3bmVkIGJ5IHRoZSBlZiktLjI1IEUKKyhmZWN0aSktLjI1IEUgLjMgLS4xNSh2ZSB1KS0uMjUgSChzZXIgaWQuKS4xNSBFIEYyPGFkNDc+MTA4IDM4Mi44IFEgRjEKKyhcMjE0bGUpMi41IEUgRjAgLS4zNShUcik3LjggRyh1ZSBpZikuMzUgRSBGMShcMjE0bGUpMi41IEUgRjAgLS4xNShleCkKIDIuNSBHKGlzdHMgYW5kIGlzIG8pLjE1IEUod25lZCBieSB0aGUgZWYpLS4yNSBFKGZlY3RpKS0uMjUgRSAuMyAtLjE1Ci0odmUgdSktLjI1IEgoc2VyIGlkLikuMTUgRSBGMTxhZDQ3PjEwOCAxMzIgUSBGMihcMjE0bGUpMi41IEUgRjAgLS4zNShUcikKLTcuOCBHKHVlIGlmKS4zNSBFIEYyKFwyMTRsZSkyLjUgRSBGMCAtLjE1KGV4KTIuNSBHKGlzdHMgYW5kIGlzIG8pLjE1IEUKLSh3bmVkIGJ5IHRoZSBlZiktLjI1IEUoZmVjdGkpLS4yNSBFIC4zIC0uMTUodmUgZyktLjI1IEgocm91cCBpZC4pLjE1IEUKLUYxPGFkNGM+MTA4IDE0NCBRIEYyKFwyMTRsZSkyLjUgRSBGMCAtLjM1KFRyKTguOTEgRyh1ZSBpZikuMzUgRSBGMgotKFwyMTRsZSkyLjUgRSBGMCAtLjE1KGV4KTIuNSBHKGlzdHMgYW5kIGlzIGEgc3ltYm9saWMgbGluay4pLjE1IEUgRjEKLTxhZDUzPjEwOCAxNTYgUSBGMihcMjE0bGUpMi41IEUgRjAgLS4zNShUcikxMC4wMiBHKHVlIGlmKS4zNSBFIEYyCi0oXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpMi41IEcoaXN0cyBhbmQgaXMgYSBzb2NrKS4xNSBFKGV0LiktLjEgRSBGMQotPGFkNGU+MTA4IDE2OCBRIEYyKFwyMTRsZSkyLjUgRSBGMCAtLjM1KFRyKTguMzYgRyh1ZSBpZikuMzUgRSBGMihcMjE0bGUpCi0yLjUgRSBGMCAtLjE1KGV4KTIuNSBHKGlzdHMgYW5kIGhhcyBiZWVuIG1vZGlcMjE0ZWQgc2luY2UgaXQgdykuMTUgRQotKGFzIGxhc3QgcmVhZC4pLS4xIEUgRjIoXDIxNGxlMSkxMDggMTgwIFEgRjA8YWQ+Mi41IEUgRjEobnQpQSBGMgotKFwyMTRsZTIpMi41IEUgRjAgLS4zNShUcikxNDQgMTkyIFMgLjAzOCh1ZSBpZikuMzUgRiBGMihcMjE0bGUxKTIuNTM4IEUKLUYwIC4wMzkoaXMgbmUpMi41MzkgRiAuMDM5Ci0od2VyIFwoYWNjb3JkaW5nIHRvIG1vZGlcMjE0Y2F0aW9uIGRhdGVcKSB0aGFuKS0uMjUgRiBGMihcMjE0bGUyKTIuNTM5IEUKLUYwIDIuNTM5KCxvKUMgMi41MzkocmkpLTIuNTM5IEcoZiktMi41MzkgRSBGMihcMjE0bGUxKTIuNTM5IEUgRjAgLS4xNQotKGV4KTIuNTM5IEcgLjAzOShpc3RzIGFuZCkuMTUgRiBGMihcMjE0bGUyKTIuNTM5IEUgRjAgLjAzOShkb2VzIG5vdC4pCi0yLjUzOSBGIEYyKFwyMTRsZTEpMTA4IDIwNCBRIEYwPGFkPjIuNSBFIEYxKG90KUEgRjIoXDIxNGxlMikyLjUgRSBGMAotLS4zNShUcikxNDQgMjE2IFModWUgaWYpLjM1IEUgRjIoXDIxNGxlMSkyLjUgRSBGMChpcyBvbGRlciB0aGFuKTIuNSBFIEYyCi0oXDIxNGxlMikyLjUgRSBGMCAyLjUoLG8pQyAyLjUocmkpLTIuNSBHKGYpLTIuNSBFIEYyKFwyMTRsZTIpMi41IEUgRjAKLS0uMTUoZXgpMi41IEcoaXN0cyBhbmQpLjE1IEUgRjIoXDIxNGxlMSkyLjUgRSBGMChkb2VzIG5vdC4pMi41IEUgRjIKLShcMjE0bGUxKTEwOCAyMjggUSBGMShcMjU1ZWYpMi41IEUgRjIoXDIxNGxlMikyLjUgRSBGMCAtLjM1KFRyKTE0NCAyNDAgUwotKHVlIGlmKS4zNSBFIEYyKFwyMTRsZTEpMi41IEUgRjAoYW5kKTIuNSBFIEYyKFwyMTRsZTIpMi41IEUgRjAKLShyZWZlciB0byB0aGUgc2FtZSBkZSkyLjUgRSh2aWNlIGFuZCBpbm9kZSBudW1iZXJzLiktLjI1IEUgRjE8YWQ2Zj4xMDgKLTI1MiBRIEYyKG9wdG5hbWUpMi41IEUgRjAgLS4zNShUcikxNDQgMjY0IFMgMS4xNDQodWUgaWYgc2hlbGwgb3B0aW9uKS4zNQotRiBGMihvcHRuYW1lKTMuODc0IEUgRjAgMS4xNDQoaXMgZW5hYmxlZC4pMy44MjQgRiAxLjE0MwotKFNlZSB0aGUgbGlzdCBvZiBvcHRpb25zIHVuZGVyIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUpNi4xNDQgRiBGMTxhZDZmPgotMy42NDMgRSBGMChvcHRpb24gdG8gdGhlKTE0NCAyNzYgUSBGMShzZXQpMi41IEUgRjAgLS4yKGJ1KTIuNSBHCi0oaWx0aW4gYmVsbykuMiBFIC0uNjUody4pLS4yNSBHIEYxPGFkN2E+MTA4IDI4OCBRIEYyKHN0cmluZykyLjUgRSBGMAotLS4zNShUcikxNDQgMzAwIFModWUgaWYgdGhlIGxlbmd0aCBvZikuMzUgRSBGMihzdHJpbmcpMi41IEUgRjAoaXMgemVyby4pCi0yLjUgRSBGMihzdHJpbmcpMTA4IDMxMiBRIEYxPGFkNmU+MTA4IDMyNCBRIEYyKHN0cmluZykyLjUgRSBGMCAtLjM1KFRyKQotMTQ0IDMzNiBTKHVlIGlmIHRoZSBsZW5ndGggb2YpLjM1IEUgRjIoc3RyaW5nKTIuODQgRSBGMChpcyBub24temVyby4pCi0yLjcyIEUgRjIoc3RyaW5nMSkxMDggMzUyLjggUSBGMSg9PSkyLjUgRSBGMihzdHJpbmcyKTIuNSBFIEYwIC0uMzUoVHIpCi0xNDQgMzY0LjggUyh1ZSBpZiB0aGUgc3RyaW5ncyBhcmUgZXF1YWwuKS4zNSBFIEYxKD0pNSBFIEYwCi0obWF5IGJlIHVzZWQgaW4gcGxhY2Ugb2YpMi41IEUgRjEoPT0pMi41IEUgRjAKLShmb3Igc3RyaWN0IFBPU0lYIGNvbXBsaWFuY2UuKTIuNSBFIEYyKHN0cmluZzEpMTA4IDM4MS42IFEgRjEoIT0pMi41IEUKLUYyKHN0cmluZzIpMi41IEUgRjAgLS4zNShUcikxNDQgMzkzLjYgUwotKHVlIGlmIHRoZSBzdHJpbmdzIGFyZSBub3QgZXF1YWwuKS4zNSBFIEYyKHN0cmluZzEpMTA4IDQxMC40IFEgRjEoPCkyLjUKLUUgRjIoc3RyaW5nMikyLjUgRSBGMCAtLjM1KFRyKTE0NCA0MjIuNCBTKHVlIGlmKS4zNSBFIEYyKHN0cmluZzEpMi41IEUKLUYwKHNvcnRzIGJlZm9yZSkyLjUgRSBGMihzdHJpbmcyKTIuNSBFIEYwKGxlKTIuNSBFCi0oeGljb2dyYXBoaWNhbGx5IGluIHRoZSBjdXJyZW50IGxvY2FsZS4pLS4xNSBFIEYyKHN0cmluZzEpMTA4IDQzOS4yIFEgRjEKLSg+KTIuNSBFIEYyKHN0cmluZzIpMi41IEUgRjAgLS4zNShUcikxNDQgNDUxLjIgUyh1ZSBpZikuMzUgRSBGMihzdHJpbmcxKQotMi41IEUgRjAoc29ydHMgYWZ0ZXIpMi41IEUgRjIoc3RyaW5nMikyLjUgRSBGMChsZSkyLjUgRQotKHhpY29ncmFwaGljYWxseSBpbiB0aGUgY3VycmVudCBsb2NhbGUuKS0uMTUgRSBGMihhcikxMDguMzMgNDY4IFEoZzEpCi0tLjM3IEUgRjEoT1ApMi41IEUgRjIoYXIpMi41IEUoZzIpLS4zNyBFL0YzIDkvVGltZXMtQm9sZEAwIFNGKE9QKTE0NCA0ODAKLVEgRjAgLjM4NShpcyBvbmUgb2YpMi42MzQgRiBGMShcMjU1ZXEpMi44ODUgRSBGMCgsKUEgRjEoXDI1NW5lKTIuODg1IEUKLUYwKCwpQSBGMShcMjU1bHQpMi44ODUgRSBGMCgsKUEgRjEoXDI1NWxlKTIuODg1IEUgRjAoLClBIEYxKFwyNTVndCkyLjg4NQotRSBGMCAyLjg4NSgsbylDKHIpLTIuODg1IEUgRjEoXDI1NWdlKTIuODg1IEUgRjAgNS4zODUoLlQpQyAuMzg1Ci0oaGVzZSBhcml0aG1ldGljIGJpbmFyeSBvcGVyYXRvcnMgcmV0dXJuIHRydWUgaWYpLTUuMzg1IEYgRjIoYXIpMi44ODUgRQotKGcxKS0uMzcgRSBGMCAuODQ1KGlzIGVxdWFsIHRvLCBub3QgZXF1YWwgdG8sIGxlc3MgdGhhbiwgbGVzcyB0aGFuIG9yIGVcCi1xdWFsIHRvLCBncmVhdGVyIHRoYW4sIG9yIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0bykxNDQgNDkyIFIgRjIoYXIpMTQ0Ci01MDQgUShnMiktLjM3IEUgRjAgMi41KCxyKUMoZXNwZWN0aSktMi41IEUgLS4xNSh2ZSktLjI1IEcobHkpLjE1IEUoLikKLS0uNjUgRSBGMihBcik2LjAxIEUoZzEpLS4zNyBFIEYwKGFuZCkyLjUgRSBGMihhcikyLjgzIEUoZzIpLS4zNyBFIEYwCi0obWF5IGJlIHBvc2l0aSkyLjUyIEUgLjMgLS4xNSh2ZSBvKS0uMjUgSCAyLjUocm4pLjE1IEcgLTIuMjUgLS4xNShlZyBhKQotLTIuNSBIKHRpKS4xNSBFIC4zIC0uMTUodmUgaSktLjI1IEgobnRlKS4xNSBFKGdlcnMuKS0uMTUgRS9GNCAxMC45NQotL1RpbWVzLUJvbGRAMCBTRihTSU1QTEUgQ09NTUFORCBFWFApNzIgNTIwLjggUShBTlNJT04pLS44MSBFIEYwIC42MTMKLShXaGVuIGEgc2ltcGxlIGNvbW1hbmQgaXMgZSkxMDggNTMyLjggUiAtLjE1KHhlKS0uMTUgRyAuNjE0Ci0oY3V0ZWQsIHRoZSBzaGVsbCBwZXJmb3JtcyB0aGUgZm9sbG8pLjE1IEYgLjYxNCh3aW5nIGUpLS4yNSBGIC42MTQKLSh4cGFuc2lvbnMsIGFzc2lnbm1lbnRzLCBhbmQgcmVkaS0pLS4xNSBGKHJlY3Rpb25zLCBmcm9tIGxlZnQgdG8gcmlnaHQuKQotMTA4IDU0NC44IFEgMjYoMS4gVGhlKTEwOCA1NjEuNiBSIC0uMSh3byk0LjM0OSBHIDEuODQ5Ci0ocmRzIHRoYXQgdGhlIHBhcnNlciBoYXMgbWFyaykuMSBGIDEuODQ4KGVkIGFzIHYpLS4xIEYgMS44NDgKLShhcmlhYmxlIGFzc2lnbm1lbnRzIFwodGhvc2UgcHJlY2VkaW5nIHRoZSBjb21tYW5kKS0uMjUgRgotKG5hbWVcKSBhbmQgcmVkaXJlY3Rpb25zIGFyZSBzYSkxNDQgNTczLjYgUSAtLjE1KHZlKS0uMiBHIDIuNShkZikuMTUgRwotKG9yIGxhdGVyIHByb2Nlc3NpbmcuKS0yLjUgRSAyNigyLiBUaGUpMTA4IDU5MC40IFIgLS4xKHdvKTMuNjYzIEcgMS4xNjMKLShyZHMgdGhhdCBhcmUgbm90IHYpLjEgRiAxLjE2NAotKGFyaWFibGUgYXNzaWdubWVudHMgb3IgcmVkaXJlY3Rpb25zIGFyZSBlKS0uMjUgRiAzLjY2NCh4cGFuZGVkLiBJZiktLjE1Ci1GKGFuKTMuNjY0IEUgMy42NjQoeXcpLS4xNSBHIDEuMTY0KG9yZHMgcmVtYWluKS0zLjc2NCBGIC43NzYoYWZ0ZXIgZSkxNDQKLTYwMi40IFIgLjc3Nih4cGFuc2lvbiwgdGhlIFwyMTRyc3QgdyktLjE1IEYgLjc3NihvcmQgaXMgdGFrKS0uMSBGIC43NzUKLShlbiB0byBiZSB0aGUgbmFtZSBvZiB0aGUgY29tbWFuZCBhbmQgdGhlIHJlbWFpbmluZyB3KS0uMSBGKG9yZHMpLS4xIEUKLShhcmUgdGhlIGFyKTE0NCA2MTQuNCBRKGd1bWVudHMuKS0uMTggRSAyNigzLiBSZWRpcmVjdGlvbnMpMTA4IDYzMS4yIFIKLShhcmUgcGVyZm9ybWVkIGFzIGRlc2NyaWJlZCBhYm8pMi41IEUgLjMgLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYzCi0oUkVESVJFQ1RJT04pMi41IEUvRjUgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMCAyNig0LiBUaGUpMTA4IDY0OCBSKHRlKQotMy4yMTYgRSAuNzE3KHh0IGFmdGVyIHRoZSktLjE1IEYgRjEoPSkzLjIxNyBFIEYwIC43MTcoaW4gZWFjaCB2KTMuMjE3IEYKLS43MTcoYXJpYWJsZSBhc3NpZ25tZW50IHVuZGVyKS0uMjUgRiAuNzE3KGdvZXMgdGlsZGUgZSktLjE4IEYgLjcxNwotKHhwYW5zaW9uLCBwYXJhbWV0ZXIgZSktLjE1IEYoeHBhbnNpb24sKS0uMTUgRSAuMzQKLShjb21tYW5kIHN1YnN0aXR1dGlvbiwgYXJpdGhtZXRpYyBlKTE0NCA2NjAgUiAuMzM5Ci0oeHBhbnNpb24sIGFuZCBxdW90ZSByZW1vKS0uMTUgRiAtLjI1KHZhKS0uMTUgRyAyLjgzOShsYikuMjUgRyAuMzM5Ci0oZWZvcmUgYmVpbmcgYXNzaWduZWQgdG8gdGhlIHYpLTIuODM5IEYoYXJpLSktLjI1IEUoYWJsZS4pMTQ0IDY3MiBRIC4zMzIKLShJZiBubyBjb21tYW5kIG5hbWUgcmVzdWx0cywgdGhlIHYpMTA4IDY4OC44IFIgLjMzMgotKGFyaWFibGUgYXNzaWdubWVudHMgYWYpLS4yNSBGIC4zMzIoZmVjdCB0aGUgY3VycmVudCBzaGVsbCBlbiktLjI1IEYKLTIuODMzKHZpcm9ubWVudC4gT3RoZXJ3aXNlLCktLjQgRih0aGUpMi44MzMgRSAtLjI1KHZhKTEwOCA3MDAuOCBTIC43NTcKLShyaWFibGVzIGFyZSBhZGRlZCB0byB0aGUgZW4pLjI1IEYgLjc1Nyh2aXJvbm1lbnQgb2YgdGhlIGUpLS40IEYgLS4xNQotKHhlKS0uMTUgRyAuNzU3KGN1dGVkIGNvbW1hbmQgYW5kIGRvIG5vdCBhZikuMTUgRiAuNzU3Ci0oZmVjdCB0aGUgY3VycmVudCBzaGVsbCBlbiktLjI1IEYodmktKS0uNCBFIDMuMTc2KHJvbm1lbnQuIElmKTEwOCA3MTIuOAotUihhbikzLjE3NiBFIDMuMTc2KHlvKS0uMTUgRyAzLjE3NihmdCktMy4xNzYgRyAuNjc3Ci0oaGUgYXNzaWdubWVudHMgYXR0ZW1wdHMgdG8gYXNzaWduIGEgdiktMy4xNzYgRiAuNjc3Ci0oYWx1ZSB0byBhIHJlYWRvbmx5IHYpLS4yNSBGIC42NzcoYXJpYWJsZSwgYW4gZXJyb3Igb2NjdXJzLCBhbmQpLS4yNSBGCi0odGhlIGNvbW1hbmQgZSkxMDggNzI0LjggUSh4aXRzIHdpdGggYSBub24temVybyBzdGF0dXMuKS0uMTUgRQotKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUoMjgpMTkwLjk1IEUgMCBDZyBFUAorKHZlIGcpLS4yNSBIKHJvdXAgaWQuKS4xNSBFIEYyPGFkNGM+MTA4IDM5NC44IFEgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMzUKKyhUcik4LjkxIEcodWUgaWYpLjM1IEUgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpMi41IEcKKyhpc3RzIGFuZCBpcyBhIHN5bWJvbGljIGxpbmsuKS4xNSBFIEYyPGFkNTM+MTA4IDQwNi44IFEgRjEoXDIxNGxlKTIuNSBFCitGMCAtLjM1KFRyKTEwLjAyIEcodWUgaWYpLjM1IEUgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpMi41IEcKKyhpc3RzIGFuZCBpcyBhIHNvY2spLjE1IEUoZXQuKS0uMSBFIEYyPGFkNGU+MTA4IDQxOC44IFEgRjEoXDIxNGxlKTIuNSBFCitGMCAtLjM1KFRyKTguMzYgRyh1ZSBpZikuMzUgRSBGMShcMjE0bGUpMi41IEUgRjAgLS4xNShleCkyLjUgRworKGlzdHMgYW5kIGhhcyBiZWVuIG1vZGlcMjE0ZWQgc2luY2UgaXQgdykuMTUgRShhcyBsYXN0IHJlYWQuKS0uMSBFIEYxCisoXDIxNGxlMSkxMDggNDMwLjggUSBGMDxhZD4yLjUgRSBGMihudClBIEYxKFwyMTRsZTIpMi41IEUgRjAgLS4zNShUcikxNDQKKzQ0Mi44IFMgLjAzOCh1ZSBpZikuMzUgRiBGMShcMjE0bGUxKTIuNTM4IEUgRjAgLjAzOShpcyBuZSkyLjUzOSBGIC4wMzkKKyh3ZXIgXChhY2NvcmRpbmcgdG8gbW9kaVwyMTRjYXRpb24gZGF0ZVwpIHRoYW4pLS4yNSBGIEYxKFwyMTRsZTIpMi41MzkgRQorRjAgMi41MzkoLG8pQyAyLjUzOShyaSktMi41MzkgRyhmKS0yLjUzOSBFIEYxKFwyMTRsZTEpMi41MzkgRSBGMCAtLjE1CisoZXgpMi41MzkgRyAuMDM5KGlzdHMgYW5kKS4xNSBGIEYxKFwyMTRsZTIpMi41MzkgRSBGMCAuMDM5KGRvZXMgbm90LikKKzIuNTM5IEYgRjEoXDIxNGxlMSkxMDggNDU0LjggUSBGMDxhZD4yLjUgRSBGMihvdClBIEYxKFwyMTRsZTIpMi41IEUgRjAKKy0uMzUoVHIpMTQ0IDQ2Ni44IFModWUgaWYpLjM1IEUgRjEoXDIxNGxlMSkyLjUgRSBGMChpcyBvbGRlciB0aGFuKTIuNSBFCitGMShcMjE0bGUyKTIuNSBFIEYwIDIuNSgsbylDIDIuNShyaSktMi41IEcoZiktMi41IEUgRjEoXDIxNGxlMikyLjUgRSBGMAorLS4xNShleCkyLjUgRyhpc3RzIGFuZCkuMTUgRSBGMShcMjE0bGUxKTIuNSBFIEYwKGRvZXMgbm90LikyLjUgRSBGMQorKFwyMTRsZTEpMTA4IDQ3OC44IFEgRjIoXDI1NWVmKTIuNSBFIEYxKFwyMTRsZTIpMi41IEUgRjAgLS4zNShUcikxNDQKKzQ5MC44IFModWUgaWYpLjM1IEUgRjEoXDIxNGxlMSkyLjUgRSBGMChhbmQpMi41IEUgRjEoXDIxNGxlMikyLjUgRSBGMAorKHJlZmVyIHRvIHRoZSBzYW1lIGRlKTIuNSBFKHZpY2UgYW5kIGlub2RlIG51bWJlcnMuKS0uMjUgRSBGMjxhZDZmPjEwOAorNTAyLjggUSBGMShvcHRuYW1lKTIuNSBFIEYwIC0uMzUoVHIpMTQ0IDUxNC44IFMgMS4xNDQKKyh1ZSBpZiBzaGVsbCBvcHRpb24pLjM1IEYgRjEob3B0bmFtZSkzLjg3NCBFIEYwIDEuMTQ0KGlzIGVuYWJsZWQuKTMuODI0CitGIDEuMTQzKFNlZSB0aGUgbGlzdCBvZiBvcHRpb25zIHVuZGVyIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUpNi4xNDQgRiBGMgorPGFkNmY+My42NDMgRSBGMChvcHRpb24gdG8gdGhlKTE0NCA1MjYuOCBRIEYyKHNldCkyLjUgRSBGMCAtLjIoYnUpMi41IEcKKyhpbHRpbiBiZWxvKS4yIEUgLS42NSh3LiktLjI1IEcgRjI8YWQ3YT4xMDggNTM4LjggUSBGMShzdHJpbmcpMi41IEUgRjAKKy0uMzUoVHIpMTQ0IDU1MC44IFModWUgaWYgdGhlIGxlbmd0aCBvZikuMzUgRSBGMShzdHJpbmcpMi41IEUgRjAKKyhpcyB6ZXJvLikyLjUgRSBGMShzdHJpbmcpMTA4IDU2Mi44IFEgRjI8YWQ2ZT4xMDggNTc0LjggUSBGMShzdHJpbmcpMi41CitFIEYwIC0uMzUoVHIpMTQ0IDU4Ni44IFModWUgaWYgdGhlIGxlbmd0aCBvZikuMzUgRSBGMShzdHJpbmcpMi44NCBFIEYwCisoaXMgbm9uLXplcm8uKTIuNzIgRSBGMShzdHJpbmcxKTEwOCA2MDMuNiBRIEYyKD09KTIuNSBFIEYxKHN0cmluZzIpMi41IEUKKyhzdHJpbmcxKTEwOCA2MTUuNiBRIEYyKD0pMi41IEUgRjEoc3RyaW5nMikyLjUgRSBGMCAtLjM1KFRyKTE0NCA2MjcuNiBTCisodWUgaWYgdGhlIHN0cmluZ3MgYXJlIGVxdWFsLikuMzUgRSBGMig9KTUgRSBGMChzaG91bGQgYmUgdXNlZCB3aXRoIHRoZSkKKzIuNSBFIEYyKHRlc3QpMi41IEUgRjAoY29tbWFuZCBmb3IgUE9TSVggY29uZm9ybWFuY2UuKTIuNSBFIEYxKHN0cmluZzEpCisxMDggNjQ0LjQgUSBGMighPSkyLjUgRSBGMShzdHJpbmcyKTIuNSBFIEYwIC0uMzUoVHIpMTQ0IDY1Ni40IFMKKyh1ZSBpZiB0aGUgc3RyaW5ncyBhcmUgbm90IGVxdWFsLikuMzUgRSBGMShzdHJpbmcxKTEwOCA2NzMuMiBRIEYyKDwpMi41CitFIEYxKHN0cmluZzIpMi41IEUgRjAgLS4zNShUcikxNDQgNjg1LjIgUyh1ZSBpZikuMzUgRSBGMShzdHJpbmcxKTIuNSBFCitGMChzb3J0cyBiZWZvcmUpMi41IEUgRjEoc3RyaW5nMikyLjUgRSBGMChsZSkyLjUgRSh4aWNvZ3JhcGhpY2FsbHkpLS4xNQorRSguKS0uNjUgRSBGMShzdHJpbmcxKTEwOCA3MDIgUSBGMig+KTIuNSBFIEYxKHN0cmluZzIpMi41IEUgRjAgLS4zNShUcikKKzE0NCA3MTQgUyh1ZSBpZikuMzUgRSBGMShzdHJpbmcxKTIuNSBFIEYwKHNvcnRzIGFmdGVyKTIuNSBFIEYxKHN0cmluZzIpCisyLjUgRSBGMChsZSkyLjUgRSh4aWNvZ3JhcGhpY2FsbHkpLS4xNSBFKC4pLS42NSBFKEdOVSBCYXNoLTQuMSk3MiA3NjggUQorKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDI4KTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDI5IDI5CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFIC4xNShJZiBubyBjb21tYW5kIG5hbWUgcmVzdWx0cywgcmVkaXJlY3Rpb25zIGFyZSBwZXJmb3JtZWQsIGIpMTA4Ci04NCBSIC4xNDkodXQgZG8gbm90IGFmKS0uMiBGIC4xNDkoZmVjdCB0aGUgY3VycmVudCBzaGVsbCBlbiktLjI1IEYgMi42NDkKLSh2aXJvbm1lbnQuIEEpLS40IEYocmVkaXJlY3Rpb24gZXJyb3IgY2F1c2VzIHRoZSBjb21tYW5kIHRvIGUpMTA4IDk2IFEKLSh4aXQgd2l0aCBhIG5vbi16ZXJvIHN0YXR1cy4pLS4xNSBFIDEuMDY0Ci0oSWYgdGhlcmUgaXMgYSBjb21tYW5kIG5hbWUgbGVmdCBhZnRlciBlKTEwOCAxMTIuOCBSIDEuMDY0KHhwYW5zaW9uLCBlKQorLS4zNSBFL0YxIDEwL1RpbWVzLUl0YWxpY0AwIFNGKGFyKTEwOC4zMyA4NCBRKGcxKS0uMzcgRS9GMiAxMAorL1RpbWVzLUJvbGRAMCBTRihPUCkyLjUgRSBGMShhcikyLjUgRShnMiktLjM3IEUvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoT1ApCisxNDQgOTYgUSBGMCAuMzg1KGlzIG9uZSBvZikyLjYzNCBGIEYyKFwyNTVlcSkyLjg4NSBFIEYwKCwpQSBGMihcMjU1bmUpCisyLjg4NSBFIEYwKCwpQSBGMihcMjU1bHQpMi44ODUgRSBGMCgsKUEgRjIoXDI1NWxlKTIuODg1IEUgRjAoLClBIEYyCisoXDI1NWd0KTIuODg1IEUgRjAgMi44ODUoLG8pQyhyKS0yLjg4NSBFIEYyKFwyNTVnZSkyLjg4NSBFIEYwIDUuMzg1KC5UKUMKKy4zODUoaGVzZSBhcml0aG1ldGljIGJpbmFyeSBvcGVyYXRvcnMgcmV0dXJuIHRydWUgaWYpLTUuMzg1IEYgRjEoYXIpCisyLjg4NSBFKGcxKS0uMzcgRSBGMCAuODQ1KGlzIGVxdWFsIHRvLCBub3QgZXF1YWwgdG8sIGxlc3MgdGhhbiwgbGVzcyB0aFwKK2FuIG9yIGVxdWFsIHRvLCBncmVhdGVyIHRoYW4sIG9yIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0bykxNDQgMTA4IFIgRjEKKyhhcikxNDQgMTIwIFEoZzIpLS4zNyBFIEYwIDIuNSgscilDKGVzcGVjdGkpLTIuNSBFIC0uMTUodmUpLS4yNSBHKGx5KS4xNQorRSguKS0uNjUgRSBGMShBcik2LjAxIEUoZzEpLS4zNyBFIEYwKGFuZCkyLjUgRSBGMShhcikyLjgzIEUoZzIpLS4zNyBFIEYwCisobWF5IGJlIHBvc2l0aSkyLjUyIEUgLjMgLS4xNSh2ZSBvKS0uMjUgSCAyLjUocm4pLjE1IEcgLTIuMjUgLS4xNShlZyBhKQorLTIuNSBIKHRpKS4xNSBFIC4zIC0uMTUodmUgaSktLjI1IEgobnRlKS4xNSBFKGdlcnMuKS0uMTUgRS9GNCAxMC45NQorL1RpbWVzLUJvbGRAMCBTRihTSU1QTEUgQ09NTUFORCBFWFApNzIgMTM2LjggUShBTlNJT04pLS44MSBFIEYwIC42MTMKKyhXaGVuIGEgc2ltcGxlIGNvbW1hbmQgaXMgZSkxMDggMTQ4LjggUiAtLjE1KHhlKS0uMTUgRyAuNjE0CisoY3V0ZWQsIHRoZSBzaGVsbCBwZXJmb3JtcyB0aGUgZm9sbG8pLjE1IEYgLjYxNCh3aW5nIGUpLS4yNSBGIC42MTQKKyh4cGFuc2lvbnMsIGFzc2lnbm1lbnRzLCBhbmQgcmVkaS0pLS4xNSBGKHJlY3Rpb25zLCBmcm9tIGxlZnQgdG8gcmlnaHQuKQorMTA4IDE2MC44IFEgMjYoMS4gVGhlKTEwOCAxNzcuNiBSIC0uMSh3byk0LjM0OSBHIDEuODQ5CisocmRzIHRoYXQgdGhlIHBhcnNlciBoYXMgbWFyaykuMSBGIDEuODQ4KGVkIGFzIHYpLS4xIEYgMS44NDgKKyhhcmlhYmxlIGFzc2lnbm1lbnRzIFwodGhvc2UgcHJlY2VkaW5nIHRoZSBjb21tYW5kKS0uMjUgRgorKG5hbWVcKSBhbmQgcmVkaXJlY3Rpb25zIGFyZSBzYSkxNDQgMTg5LjYgUSAtLjE1KHZlKS0uMiBHIDIuNShkZikuMTUgRworKG9yIGxhdGVyIHByb2Nlc3NpbmcuKS0yLjUgRSAyNigyLiBUaGUpMTA4IDIwNi40IFIgLS4xKHdvKTMuNjYzIEcgMS4xNjMKKyhyZHMgdGhhdCBhcmUgbm90IHYpLjEgRiAxLjE2NAorKGFyaWFibGUgYXNzaWdubWVudHMgb3IgcmVkaXJlY3Rpb25zIGFyZSBlKS0uMjUgRiAzLjY2NCh4cGFuZGVkLiBJZiktLjE1CitGKGFuKTMuNjY0IEUgMy42NjQoeXcpLS4xNSBHIDEuMTY0KG9yZHMgcmVtYWluKS0zLjc2NCBGIC43NzYoYWZ0ZXIgZSkxNDQKKzIxOC40IFIgLjc3Nih4cGFuc2lvbiwgdGhlIFwyMTRyc3QgdyktLjE1IEYgLjc3NihvcmQgaXMgdGFrKS0uMSBGIC43NzUKKyhlbiB0byBiZSB0aGUgbmFtZSBvZiB0aGUgY29tbWFuZCBhbmQgdGhlIHJlbWFpbmluZyB3KS0uMSBGKG9yZHMpLS4xIEUKKyhhcmUgdGhlIGFyKTE0NCAyMzAuNCBRKGd1bWVudHMuKS0uMTggRSAyNigzLiBSZWRpcmVjdGlvbnMpMTA4IDI0Ny4yIFIKKyhhcmUgcGVyZm9ybWVkIGFzIGRlc2NyaWJlZCBhYm8pMi41IEUgLjMgLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYzCisoUkVESVJFQ1RJT04pMi41IEUvRjUgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMCAyNig0LiBUaGUpMTA4IDI2NCBSKHRlKQorMy4yMTYgRSAuNzE3KHh0IGFmdGVyIHRoZSktLjE1IEYgRjIoPSkzLjIxNyBFIEYwIC43MTcoaW4gZWFjaCB2KTMuMjE3IEYKKy43MTcoYXJpYWJsZSBhc3NpZ25tZW50IHVuZGVyKS0uMjUgRiAuNzE3KGdvZXMgdGlsZGUgZSktLjE4IEYgLjcxNworKHhwYW5zaW9uLCBwYXJhbWV0ZXIgZSktLjE1IEYoeHBhbnNpb24sKS0uMTUgRSAuMzQKKyhjb21tYW5kIHN1YnN0aXR1dGlvbiwgYXJpdGhtZXRpYyBlKTE0NCAyNzYgUiAuMzM5CisoeHBhbnNpb24sIGFuZCBxdW90ZSByZW1vKS0uMTUgRiAtLjI1KHZhKS0uMTUgRyAyLjgzOShsYikuMjUgRyAuMzM5CisoZWZvcmUgYmVpbmcgYXNzaWduZWQgdG8gdGhlIHYpLTIuODM5IEYoYXJpLSktLjI1IEUoYWJsZS4pMTQ0IDI4OCBRIC4zMzIKKyhJZiBubyBjb21tYW5kIG5hbWUgcmVzdWx0cywgdGhlIHYpMTA4IDMwNC44IFIgLjMzMgorKGFyaWFibGUgYXNzaWdubWVudHMgYWYpLS4yNSBGIC4zMzIoZmVjdCB0aGUgY3VycmVudCBzaGVsbCBlbiktLjI1IEYKKzIuODMzKHZpcm9ubWVudC4gT3RoZXJ3aXNlLCktLjQgRih0aGUpMi44MzMgRSAtLjI1KHZhKTEwOCAzMTYuOCBTIC43NTcKKyhyaWFibGVzIGFyZSBhZGRlZCB0byB0aGUgZW4pLjI1IEYgLjc1Nyh2aXJvbm1lbnQgb2YgdGhlIGUpLS40IEYgLS4xNQorKHhlKS0uMTUgRyAuNzU3KGN1dGVkIGNvbW1hbmQgYW5kIGRvIG5vdCBhZikuMTUgRiAuNzU3CisoZmVjdCB0aGUgY3VycmVudCBzaGVsbCBlbiktLjI1IEYodmktKS0uNCBFIDMuMTc2KHJvbm1lbnQuIElmKTEwOCAzMjguOAorUihhbikzLjE3NiBFIDMuMTc2KHlvKS0uMTUgRyAzLjE3NihmdCktMy4xNzYgRyAuNjc3CisoaGUgYXNzaWdubWVudHMgYXR0ZW1wdHMgdG8gYXNzaWduIGEgdiktMy4xNzYgRiAuNjc3CisoYWx1ZSB0byBhIHJlYWRvbmx5IHYpLS4yNSBGIC42NzcoYXJpYWJsZSwgYW4gZXJyb3Igb2NjdXJzLCBhbmQpLS4yNSBGCisodGhlIGNvbW1hbmQgZSkxMDggMzQwLjggUSh4aXRzIHdpdGggYSBub24temVybyBzdGF0dXMuKS0uMTUgRSAuMTUKKyhJZiBubyBjb21tYW5kIG5hbWUgcmVzdWx0cywgcmVkaXJlY3Rpb25zIGFyZSBwZXJmb3JtZWQsIGIpMTA4IDM1Ny42IFIKKy4xNDkodXQgZG8gbm90IGFmKS0uMiBGIC4xNDkoZmVjdCB0aGUgY3VycmVudCBzaGVsbCBlbiktLjI1IEYgMi42NDkKKyh2aXJvbm1lbnQuIEEpLS40IEYocmVkaXJlY3Rpb24gZXJyb3IgY2F1c2VzIHRoZSBjb21tYW5kIHRvIGUpMTA4IDM2OS42CitRKHhpdCB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLiktLjE1IEUgMS4wNjQKKyhJZiB0aGVyZSBpcyBhIGNvbW1hbmQgbmFtZSBsZWZ0IGFmdGVyIGUpMTA4IDM4Ni40IFIgMS4wNjQoeHBhbnNpb24sIGUpCiAtLjE1IEYgLS4xNSh4ZSktLjE1IEcgMS4wNjQoY3V0aW9uIHByb2NlZWRzIGFzIGRlc2NyaWJlZCBiZWxvKS4xNSBGCiA0Ljg2NCAtLjY1KHcuIE8pLS4yNSBIIDEuMDY0KHRoZXJ3aXNlLCB0aGUpLjY1IEYgLjA2OShjb21tYW5kIGUpMTA4Ci0xMjQuOCBSIDIuNTY5KHhpdHMuIElmKS0uMTUgRiAuMDY5KG9uZSBvZiB0aGUgZSkyLjU2OSBGIC4wNjkKKzM5OC40IFIgMi41NjkoeGl0cy4gSWYpLS4xNSBGIC4wNjkob25lIG9mIHRoZSBlKTIuNTY5IEYgLjA2OQogKHhwYW5zaW9ucyBjb250YWluZWQgYSBjb21tYW5kIHN1YnN0aXR1dGlvbiwgdGhlIGUpLS4xNSBGIC4wNjgKLSh4aXQgc3RhdHVzIG9mIHRoZSBjb21tYW5kKS0uMTUgRiAuNDY2KGlzIHRoZSBlKTEwOCAxMzYuOCBSIC40NjYKKyh4aXQgc3RhdHVzIG9mIHRoZSBjb21tYW5kKS0uMTUgRiAuNDY2KGlzIHRoZSBlKTEwOCA0MTAuNCBSIC40NjYKICh4aXQgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgc3Vic3RpdHV0aW9uIHBlcmZvcm1lZC4pLS4xNSBGIC40NjcKLShJZiB0aGVyZSB3ZXJlIG5vIGNvbW1hbmQgc3Vic3RpdHV0aW9ucywgdGhlKTUuNDY2IEYoY29tbWFuZCBlKTEwOCAxNDguOAotUSh4aXRzIHdpdGggYSBzdGF0dXMgb2YgemVyby4pLS4xNSBFL0YxIDEwLjk1L1RpbWVzLUJvbGRAMCBTRgotKENPTU1BTkQgRVhFQ1VUSU9OKTcyIDE2NS42IFEgRjAgLjU0NwotKEFmdGVyIGEgY29tbWFuZCBoYXMgYmVlbiBzcGxpdCBpbnRvIHcpMTA4IDE3Ny42IFIgLjU0NgorKElmIHRoZXJlIHdlcmUgbm8gY29tbWFuZCBzdWJzdGl0dXRpb25zLCB0aGUpNS40NjYgRihjb21tYW5kIGUpMTA4IDQyMi40CitRKHhpdHMgd2l0aCBhIHN0YXR1cyBvZiB6ZXJvLiktLjE1IEUgRjQoQ09NTUFORCBFWEVDVVRJT04pNzIgNDM5LjIgUSBGMAorLjU0NyhBZnRlciBhIGNvbW1hbmQgaGFzIGJlZW4gc3BsaXQgaW50byB3KTEwOCA0NTEuMiBSIC41NDYKIChvcmRzLCBpZiBpdCByZXN1bHRzIGluIGEgc2ltcGxlIGNvbW1hbmQgYW5kIGFuIG9wdGlvbmFsIGxpc3Qgb2YgYXIpLS4xCi1GKGd1LSktLjE4IEUobWVudHMsIHRoZSBmb2xsbykxMDggMTg5LjYgUSh3aW5nIGFjdGlvbnMgYXJlIHRhayktLjI1IEUKK0YoZ3UtKS0uMTggRShtZW50cywgdGhlIGZvbGxvKTEwOCA0NjMuMiBRKHdpbmcgYWN0aW9ucyBhcmUgdGFrKS0uMjUgRQogKGVuLiktLjEgRSAuMzc5KElmIHRoZSBjb21tYW5kIG5hbWUgY29udGFpbnMgbm8gc2xhc2hlcywgdGhlIHNoZWxsIGF0dGVcCi1tcHRzIHRvIGxvY2F0ZSBpdC4pMTA4IDIwNi40IFIgLjM3OShJZiB0aGVyZSBlKTUuMzc5IEYgLjM3OQorbXB0cyB0byBsb2NhdGUgaXQuKTEwOCA0ODAgUiAuMzc5KElmIHRoZXJlIGUpNS4zNzkgRiAuMzc5CiAoeGlzdHMgYSBzaGVsbCBmdW5jdGlvbiBieSktLjE1IEYgLjI0Nih0aGF0IG5hbWUsIHRoYXQgZnVuY3Rpb24gaXMgaW4pCi0xMDggMjE4LjQgUiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMi43NDYoZGEpLjEgRyAyLjc0NihzZCktMi43NDYgRwotLjI0Nihlc2NyaWJlZCBhYm8pLTIuNzQ2IEYgLjU0NiAtLjE1KHZlIGkpLS4xNSBIKG4pLjE1IEUvRjIgOQotL1RpbWVzLUJvbGRAMCBTRihGVU5DVElPTlMpMi43NDYgRS9GMyA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIC4yNDYKLShJZiB0aGUgbmFtZSBkb2VzIG5vdCBtYXRjaCBhIGZ1bmMtKTQuNzQ2IEYKLSh0aW9uLCB0aGUgc2hlbGwgc2VhcmNoZXMgZm9yIGl0IGluIHRoZSBsaXN0IG9mIHNoZWxsIGIpMTA4IDIzMC40IFEgMi41CisxMDggNDkyIFIgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuNzQ2KGRhKS4xIEcgMi43NDYoc2QpLTIuNzQ2IEcgLjI0NgorKGVzY3JpYmVkIGFibyktMi43NDYgRiAuNTQ2IC0uMTUodmUgaSktLjE1IEgobikuMTUgRSBGMyhGVU5DVElPTlMpMi43NDYKK0UgRjUoLilBIEYwIC4yNDYoSWYgdGhlIG5hbWUgZG9lcyBub3QgbWF0Y2ggYSBmdW5jLSk0Ljc0NiBGCisodGlvbiwgdGhlIHNoZWxsIHNlYXJjaGVzIGZvciBpdCBpbiB0aGUgbGlzdCBvZiBzaGVsbCBiKTEwOCA1MDQgUSAyLjUKICh1aWx0aW5zLiBJZiktLjIgRiAyLjUoYW0pMi41IEcoYXRjaCBpcyBmb3VuZCwgdGhhdCBiKS0yLjUgRQogKHVpbHRpbiBpcyBpbiktLjIgRSAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcoZC4pLjEgRSAuMzA5Ci0oSWYgdGhlIG5hbWUgaXMgbmVpdGhlciBhIHNoZWxsIGZ1bmN0aW9uIG5vciBhIGIpMTA4IDI0Ny4yIFIgLjMxCi0odWlsdGluLCBhbmQgY29udGFpbnMgbm8gc2xhc2hlcywpLS4yIEYvRjQgMTAvVGltZXMtQm9sZEAwIFNGKGJhc2gpMi44MQotRSBGMCAuMzEoc2VhcmNoZXMgZWFjaCBlbGVtZW50IG9mKTIuODEgRih0aGUpMTA4IDI1OS4yIFEgRjIgLS42NjYoUEEpCi0zLjE2MyBHKFRIKS0uMTg5IEUgRjAgLjY2Mihmb3IgYSBkaXJlY3RvcnkgY29udGFpbmluZyBhbiBlKTIuOTEzIEYgLS4xNQotKHhlKS0uMTUgRyAuNjYyKGN1dGFibGUgXDIxNGxlIGJ5IHRoYXQgbmFtZS4pLjE1IEYgRjQoQmFzaCk1LjY2MiBFIEYwCi0uNjYyKHVzZXMgYSBoYXNoIHRhYmxlIHRvIHJlbWVtYmVyKTMuMTYyIEYgMS45MTQKLSh0aGUgZnVsbCBwYXRobmFtZXMgb2YgZSkxMDggMjcxLjIgUiAtLjE1KHhlKS0uMTUgRyAxLjkxNQotKGN1dGFibGUgXDIxNGxlcyBcKHNlZSkuMTUgRiBGNChoYXNoKTQuNDE1IEUgRjAodW5kZXIpNC40MTUgRSBGMiAxLjkxNQotKFNIRUxMIEIpNC40MTUgRihVSUwpLS4wOSBFIDEuOTE1KFRJTiBDT01NQU5EUyktLjgyOCBGIEYwKGJlbG8pNC4xNjUgRQotNC40MTUod1wpLiBBKS0uMjUgRihmdWxsKTQuNDE1IEUgLjcyKHNlYXJjaCBvZiB0aGUgZGlyZWN0b3JpZXMgaW4pMTA4Ci0yODMuMiBSIEYyIC0uNjY2KFBBKTMuMjIgRyhUSCktLjE4OSBFIEYwIC43MTkKKyhJZiB0aGUgbmFtZSBpcyBuZWl0aGVyIGEgc2hlbGwgZnVuY3Rpb24gbm9yIGEgYikxMDggNTIwLjggUiAuMzEKKyh1aWx0aW4sIGFuZCBjb250YWlucyBubyBzbGFzaGVzLCktLjIgRiBGMihiYXNoKTIuODEgRSBGMCAuMzEKKyhzZWFyY2hlcyBlYWNoIGVsZW1lbnQgb2YpMi44MSBGKHRoZSkxMDggNTMyLjggUSBGMyAtLjY2NihQQSkzLjE2MyBHKFRIKQorLS4xODkgRSBGMCAuNjYyKGZvciBhIGRpcmVjdG9yeSBjb250YWluaW5nIGFuIGUpMi45MTMgRiAtLjE1KHhlKS0uMTUgRworLjY2MihjdXRhYmxlIFwyMTRsZSBieSB0aGF0IG5hbWUuKS4xNSBGIEYyKEJhc2gpNS42NjIgRSBGMCAuNjYyCisodXNlcyBhIGhhc2ggdGFibGUgdG8gcmVtZW1iZXIpMy4xNjIgRiAxLjkxNCh0aGUgZnVsbCBwYXRobmFtZXMgb2YgZSkxMDgKKzU0NC44IFIgLS4xNSh4ZSktLjE1IEcgMS45MTUoY3V0YWJsZSBcMjE0bGVzIFwoc2VlKS4xNSBGIEYyKGhhc2gpNC40MTUgRQorRjAodW5kZXIpNC40MTUgRSBGMyAxLjkxNShTSEVMTCBCKTQuNDE1IEYoVUlMKS0uMDkgRSAxLjkxNShUSU4gQ09NTUFORFMpCistLjgyOCBGIEYwKGJlbG8pNC4xNjUgRSA0LjQxNSh3XCkuIEEpLS4yNSBGKGZ1bGwpNC40MTUgRSAuNzIKKyhzZWFyY2ggb2YgdGhlIGRpcmVjdG9yaWVzIGluKTEwOCA1NTYuOCBSIEYzIC0uNjY2KFBBKTMuMjIgRyhUSCktLjE4OSBFCitGMCAuNzE5CiAoaXMgcGVyZm9ybWVkIG9ubHkgaWYgdGhlIGNvbW1hbmQgaXMgbm90IGZvdW5kIGluIHRoZSBoYXNoIHRhYmxlLikyLjk3IEYKIC43MTkoSWYgdGhlKTUuNzE5IEYgLjk1NihzZWFyY2ggaXMgdW5zdWNjZXNzZnVsLCB0aGUgc2hlbGwgc2VhcmNoZXMgZm9yXAotIGEgZGVcMjE0bmVkIHNoZWxsIGZ1bmN0aW9uIG5hbWVkKTEwOCAyOTUuMiBSIEY0KGNvbW1hbmRfbm90X2YpMy40NTYgRQotKG91bmRfaGFuLSktLjI1IEUoZGxlKTEwOCAzMDcuMiBRIEYwIDUuMjc4KC5JKUMgMi43NzgoZnQpLTUuMjc4IEcgLjI3OAorIGEgZGVcMjE0bmVkIHNoZWxsIGZ1bmN0aW9uIG5hbWVkKTEwOCA1NjguOCBSIEYyKGNvbW1hbmRfbm90X2YpMy40NTYgRQorKG91bmRfaGFuLSktLjI1IEUoZGxlKTEwOCA1ODAuOCBRIEYwIDUuMjc4KC5JKUMgMi43NzgoZnQpLTUuMjc4IEcgLjI3OAogKGhhdCBmdW5jdGlvbiBlKS0yLjc3OCBGIC4yNzgoeGlzdHMsIGl0IGlzIGluKS0uMTUgRiAtLjIodm8pLS40IEcgLS4xCiAoa2UpLjIgRyAyLjc3OChkdykuMSBHIC4yNzcKIChpdGggdGhlIG9yaWdpbmFsIGNvbW1hbmQgYW5kIHRoZSBvcmlnaW5hbCBjb21tYW5kJyktMi43NzggRiAyLjc3NyhzYSkKLS0uNTUgRyAtLjE4KHJnKS0yLjc3NyBHKHVtZW50cykuMTggRSAuNzc1KGFzIGl0cyBhcikxMDggMzE5LjIgUiAuNzc1CistLjU1IEcgLS4xOChyZyktMi43NzcgRyh1bWVudHMpLjE4IEUgLjc3NShhcyBpdHMgYXIpMTA4IDU5Mi44IFIgLjc3NQogKGd1bWVudHMsIGFuZCB0aGUgZnVuY3Rpb24nKS0uMTggRiAzLjI3NShzZSktLjU1IEcgLjc3NQogKHhpdCBzdGF0dXMgYmVjb21lcyB0aGUgZSktMy40MjUgRiAuNzc1KHhpdCBzdGF0dXMgb2YgdGhlIHNoZWxsLiktLjE1IEYKIC43NzYoSWYgdGhhdCBmdW5jdGlvbiBpcyBub3QpNS43NzYgRgotKGRlXDIxNG5lZCwgdGhlIHNoZWxsIHByaW50cyBhbiBlcnJvciBtZXNzYWdlIGFuZCByZXR1cm5zIGFuIGUpMTA4IDMzMS4yCisoZGVcMjE0bmVkLCB0aGUgc2hlbGwgcHJpbnRzIGFuIGVycm9yIG1lc3NhZ2UgYW5kIHJldHVybnMgYW4gZSkxMDggNjA0LjgKIFEoeGl0IHN0YXR1cyBvZiAxMjcuKS0uMTUgRSAxLjA4OShJZiB0aGUgc2VhcmNoIGlzIHN1Y2Nlc3NmdWwsIG9yIGlmIHRoXAotZSBjb21tYW5kIG5hbWUgY29udGFpbnMgb25lIG9yIG1vcmUgc2xhc2hlcywgdGhlIHNoZWxsIGUpMTA4IDM0OCBSIC0uMTUKLSh4ZSktLjE1IEcgMS4wODkoY3V0ZXMgdGhlKS4xNSBGIC4xOTcobmFtZWQgcHJvZ3JhbSBpbiBhIHNlcGFyYXRlIGUpMTA4Ci0zNjAgUiAtLjE1KHhlKS0uMTUgRyAuMTk3KGN1dGlvbiBlbikuMTUgRiAyLjY5OCh2aXJvbm1lbnQuIEFyKS0uNCBGIC4xOTgKLShndW1lbnQgMCBpcyBzZXQgdG8gdGhlIG5hbWUgZ2kpLS4xOCBGIC0uMTUodmUpLS4yNSBHIC4xOTgKLShuLCBhbmQgdGhlIHJlbWFpbi0pLjE1IEYoaW5nIGFyKTEwOCAzNzIgUQorZSBjb21tYW5kIG5hbWUgY29udGFpbnMgb25lIG9yIG1vcmUgc2xhc2hlcywgdGhlIHNoZWxsIGUpMTA4IDYyMS42IFIKKy0uMTUoeGUpLS4xNSBHIDEuMDg5KGN1dGVzIHRoZSkuMTUgRiAuMTk3KG5hbWVkIHByb2dyYW0gaW4gYSBzZXBhcmF0ZSBlKQorMTA4IDYzMy42IFIgLS4xNSh4ZSktLjE1IEcgLjE5NyhjdXRpb24gZW4pLjE1IEYgMi42OTgodmlyb25tZW50LiBBciktLjQKK0YgLjE5OChndW1lbnQgMCBpcyBzZXQgdG8gdGhlIG5hbWUgZ2kpLS4xOCBGIC0uMTUodmUpLS4yNSBHIC4xOTgKKyhuLCBhbmQgdGhlIHJlbWFpbi0pLjE1IEYoaW5nIGFyKTEwOCA2NDUuNiBRCiAoZ3VtZW50cyB0byB0aGUgY29tbWFuZCBhcmUgc2V0IHRvIHRoZSBhciktLjE4IEUoZ3VtZW50cyBnaSktLjE4IEUgLS4xNQotKHZlKS0uMjUgRyhuLCBpZiBhbikuMTUgRSAtLjY1KHkuKS0uMTUgRyAxLjgwOShJZiB0aGlzIGUpMTA4IDM4OC44IFIKKyh2ZSktLjI1IEcobiwgaWYgYW4pLjE1IEUgLS42NSh5LiktLjE1IEcgMS44MDkoSWYgdGhpcyBlKTEwOCA2NjIuNCBSCiAtLjE1KHhlKS0uMTUgRyAxLjgwOShjdXRpb24gZikuMTUgRiAxLjgwOQogKGFpbHMgYmVjYXVzZSB0aGUgXDIxNGxlIGlzIG5vdCBpbiBlKS0uMSBGIC0uMTUoeGUpLS4xNSBHIDEuODA5CiAoY3V0YWJsZSBmb3JtYXQsIGFuZCB0aGUgXDIxNGxlIGlzIG5vdCBhIGRpcmVjdG9yeSkuMTUgRiA0LjMwOSgsaSktLjY1IEcKLTQuMzA5KHRpKS00LjMwOSBHKHMpLTQuMzA5IEUgLjY3Nyhhc3N1bWVkIHRvIGJlIGEpMTA4IDQwMC44IFIvRjUgMTAKLS9UaW1lcy1JdGFsaWNAMCBTRiAuNjc4KHNoZWxsIHNjcmlwdCkzLjE3NyBGIEYwIDMuMTc4KCxhXDIxNClDIC42NzgKKzQuMzA5KHRpKS00LjMwOSBHKHMpLTQuMzA5IEUgLjY3Nyhhc3N1bWVkIHRvIGJlIGEpMTA4IDY3NC40IFIgRjEgLjY3OAorKHNoZWxsIHNjcmlwdCkzLjE3NyBGIEYwIDMuMTc4KCxhXDIxNClDIC42NzgKIChsZSBjb250YWluaW5nIHNoZWxsIGNvbW1hbmRzLiktMy4xNzggRiAzLjE3OChBcyk1LjY3OCBHIC42NzgKICh1YnNoZWxsIGlzIHNwYSktMy4xNzggRiAuNjc4KHduZWQgdG8gZSktLjE1IEYgLS4xNSh4ZSktLjE1IEcgLjY3OAogKGN1dGUgaXQuKS4xNSBGKFRoaXMpNS42NzggRSAuMzMKLShzdWJzaGVsbCByZWluaXRpYWxpemVzIGl0c2VsZiwgc28gdGhhdCB0aGUgZWYpMTA4IDQxMi44IFIgLjMzCisoc3Vic2hlbGwgcmVpbml0aWFsaXplcyBpdHNlbGYsIHNvIHRoYXQgdGhlIGVmKTEwOCA2ODYuNCBSIC4zMwogKGZlY3QgaXMgYXMgaWYgYSBuZSktLjI1IEYgMi44Mjkod3MpLS4yNSBHIC4zMjkoaGVsbCBoYWQgYmVlbiBpbiktMi44MjkKIEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuODI5KGR0KS4xIEcgMi44Mjkob2gpLTIuODI5IEcgLjMyOQotKGFuZGxlIHRoZSBzY3JpcHQsIHdpdGgpLTIuODI5IEYgMS4yMTkodGhlIGUpMTA4IDQyNC44IFIgMS4yMTkKKyhhbmRsZSB0aGUgc2NyaXB0LCB3aXRoKS0yLjgyOSBGIDEuMjE5KHRoZSBlKTEwOCA2OTguNCBSIDEuMjE5CiAoeGNlcHRpb24gdGhhdCB0aGUgbG9jYXRpb25zIG9mIGNvbW1hbmRzIHJlbWVtYmVyZWQgYnkgdGhlIHBhcmVudCBcKHNlZSkKLS0uMTUgRiBGNChoYXNoKTMuNzE5IEUgRjAoYmVsbykzLjcxOSBFIDMuNzE5KHd1KS0uMjUgRyhuZGVyKS0zLjcxOSBFIEYyCi0oU0hFTEwpMy43MTkgRSAtLjA5KEJVKTEwOCA0MzYuOCBTKElMKS4wOSBFKFRJTiBDT01NQU5EUyktLjgyOCBFIEYzKFwpKUEKLUYwKGFyZSByZXRhaW5lZCBieSB0aGUgY2hpbGQuKTIuMjUgRSAuMzQ4KElmIHRoZSBwcm9ncmFtIGlzIGEgXDIxNGxlIGJlKQotMTA4IDQ1My42IFIgLjM0OChnaW5uaW5nIHdpdGgpLS4xNSBGIEY0KCMhKTIuODQ4IEUgRjAgMi44NDgoLHQpQyAuMzQ3KGhcCi1lIHJlbWFpbmRlciBvZiB0aGUgXDIxNHJzdCBsaW5lIHNwZWNpXDIxNGVzIGFuIGludGVycHJldGVyIGZvciB0aGUgcHJvLSkKLS0yLjg0OCBGIDMuMTc4KGdyYW0uIFRoZSkxMDggNDY1LjYgUiAuNjc4KHNoZWxsIGUpMy4xNzggRiAtLjE1KHhlKS0uMTUgRwotLjY3OChjdXRlcyB0aGUgc3BlY2lcMjE0ZWQgaW50ZXJwcmV0ZXIgb24gb3BlcmF0aW5nIHN5c3RlbXMgdGhhdCBkbyBub3RcCi0gaGFuZGxlIHRoaXMgZSkuMTUgRiAtLjE1KHhlKS0uMTUgRyhjdXRhYmxlKS4xNSBFIDEuMTkzKGZvcm1hdCB0aGVtc2VsdikKLTEwOCA0NzcuNiBSIDMuNjkzKGVzLiBUaGUpLS4xNSBGKGFyKTMuNjkzIEUgMS4xOTMKLShndW1lbnRzIHRvIHRoZSBpbnRlcnByZXRlciBjb25zaXN0IG9mIGEgc2luZ2xlIG9wdGlvbmFsIGFyKS0uMTggRiAxLjE5MgotKGd1bWVudCBmb2xsbyktLjE4IEYgMS4xOTIod2luZyB0aGUpLS4yNSBGIDEuMTMKLShpbnRlcnByZXRlciBuYW1lIG9uIHRoZSBcMjE0cnN0IGxpbmUgb2YgdGhlIHByb2dyYW0sIGZvbGxvKTEwOCA0ODkuNiBSCi0xLjEzMSh3ZWQgYnkgdGhlIG5hbWUgb2YgdGhlIHByb2dyYW0sIGZvbGxvKS0uMjUgRiAxLjEzMSh3ZWQgYnkgdGhlKS0uMjUKLUYoY29tbWFuZCBhcikxMDggNTAxLjYgUShndW1lbnRzLCBpZiBhbiktLjE4IEUgLS42NSh5LiktLjE1IEcgRjEKLShDT01NQU5EIEVYRUNVVElPTiBFTlZJUik3MiA1MTguNCBRKE9OTUVOVCktLjMyOSBFIEYwKFRoZSBzaGVsbCBoYXMgYW4pCi0xMDggNTMwLjQgUSBGNSAtLjIoZXgpMi41IEcoZWN1dGlvbiBlbikuMiBFKHZpciktLjQgRShvbm1lbnQpLS40NSBFIEYwCi0yLjUoLHcpQyhoaWNoIGNvbnNpc3RzIG9mIHRoZSBmb2xsbyktMi41IEUod2luZzopLS4yNSBFIDMyLjU8ODM2Zj4xMDgKLTU1OS4yIFMgMS40MDYocGVuIFwyMTRsZXMgaW5oZXJpdGVkIGJ5IHRoZSBzaGVsbCBhdCBpbiktMzIuNSBGIC0uMih2bykKLS0uNCBHIDEuNDA1KGNhdGlvbiwgYXMgbW9kaVwyMTRlZCBieSByZWRpcmVjdGlvbnMgc3VwcGxpZWQgdG8gdGhlKS4yIEYKLUY0KGV4ZWMpMy45MDUgRSBGMCAtLjIoYnUpMTQ0IDU3MS4yIFMoaWx0aW4pLjIgRSAzMi41PDgzNzQ+MTA4IDU4OCBTCi0oaGUgY3VycmVudCB3KS0zMi41IEUob3JraW5nIGRpcmVjdG9yeSBhcyBzZXQgYnkpLS4xIEUgRjQoY2QpMi41IEUgRjAoLCkKLUEgRjQocHVzaGQpMi41IEUgRjAgMi41KCxvKUMociktMi41IEUgRjQocG9wZCkyLjUgRSBGMCAyLjUoLG8pQyAyLjUocmkpCi0tMi41IEcobmhlcml0ZWQgYnkgdGhlIHNoZWxsIGF0IGluKS0yLjUgRSAtLjIodm8pLS40IEcoY2F0aW9uKS4yIEUgMzIuNQotPDgzNzQ+MTA4IDYwNC44IFMoaGUgXDIxNGxlIGNyZWF0aW9uIG1vZGUgbWFzayBhcyBzZXQgYnkpLTMyLjUgRSBGNAotKHVtYXNrKTIuNSBFIEYwKG9yIGluaGVyaXRlZCBmcm9tIHRoZSBzaGVsbCcpMi41IEUgMi41KHNwKS0uNTUgRyhhcmVudCkKLS0yLjUgRSAzMi41PDgzNjM+MTA4IDYyMS42IFModXJyZW50IHRyYXBzIHNldCBieSktMzIuNSBFIEY0KHRyYXApMi41IEUKLUYwIDMyLjU8ODM3Mz4xMDggNjM4LjQgUyAuMjU2KGhlbGwgcGFyYW1ldGVycyB0aGF0IGFyZSBzZXQgYnkgdiktMzIuNSBGCi0uMjU2KGFyaWFibGUgYXNzaWdubWVudCBvciB3aXRoKS0uMjUgRiBGNChzZXQpMi43NTYgRSBGMCAuMjU3Ci0ob3IgaW5oZXJpdGVkIGZyb20gdGhlIHNoZWxsJykyLjc1NiBGIDIuNzU3KHNwKS0uNTUgRyhhcmVudCktMi43NTcgRQotKGluIHRoZSBlbikxNDQgNjUwLjQgUSh2aXJvbm1lbnQpLS40IEUgMzIuNTw4MzczPjEwOCA2NjcuMiBTCi0oaGVsbCBmdW5jdGlvbnMgZGVcMjE0bmVkIGR1cmluZyBlKS0zMi41IEUgLS4xNSh4ZSktLjE1IEcKLShjdXRpb24gb3IgaW5oZXJpdGVkIGZyb20gdGhlIHNoZWxsJykuMTUgRSAyLjUoc3ApLS41NSBHCi0oYXJlbnQgaW4gdGhlIGVuKS0yLjUgRSh2aXJvbm1lbnQpLS40IEUgMzIuNTw4MzZmPjEwOCA2ODQgUwotKHB0aW9ucyBlbmFibGVkIGF0IGluKS0zMi41IEUgLS4yKHZvKS0uNCBHKGNhdGlvbiBcKGVpdGhlciBieSBkZWYpLjIgRQotKGF1bHQgb3Igd2l0aCBjb21tYW5kLWxpbmUgYXIpLS4xIEUoZ3VtZW50c1wpIG9yIGJ5KS0uMTggRSBGNChzZXQpMi41IEUKLUYwIDMyLjU8ODM2Zj4xMDggNzAwLjggUyhwdGlvbnMgZW5hYmxlZCBieSktMzIuNSBFIEY0KHNob3B0KTIuNSBFIEYwCi0zMi41PDgzNzM+MTA4IDcxNy42IFMoaGVsbCBhbGlhc2VzIGRlXDIxNG5lZCB3aXRoKS0zMi41IEUgRjQoYWxpYXMpMi41IEUKLUYwKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUoMjkpMTkwLjk1IEUgMCBDZyBFUAorLS4xNSBGIEYyKGhhc2gpMy43MTkgRSBGMChiZWxvKTMuNzE5IEUgMy43MTkod3UpLS4yNSBHKG5kZXIpLTMuNzE5IEUgRjMKKyhTSEVMTCkzLjcxOSBFIC0uMDkoQlUpMTA4IDcxMC40IFMoSUwpLjA5IEUoVElOIENPTU1BTkRTKS0uODI4IEUgRjUoXCkpQQorRjAoYXJlIHJldGFpbmVkIGJ5IHRoZSBjaGlsZC4pMi4yNSBFIDEuMzc1CisoSWYgdGhlIHByb2dyYW0gaXMgYSBcMjE0bGUgYmUpMTA4IDcyNy4yIFIgMS4zNzQoZ2lubmluZyB3aXRoKS0uMTUgRiBGMgorKCMhKTMuODc0IEUgRjAgMy44NzQoLHQpQyAxLjM3NAorKGhlIHJlbWFpbmRlciBvZiB0aGUgXDIxNHJzdCBsaW5lIHNwZWNpXDIxNGVzIGFuIGludGVycHJldGVyIGZvciB0aGUpCistMy44NzQgRihHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoMjkpMTg1Ljk1NSBFIDAKK0NnIEVQCiAlJVBhZ2U6IDMwIDMwCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFIDMyLjU8ODM3Nj4xMDggODQgUworLS4zNSBFIDUuNDg1KHByb2dyYW0uIFRoZSkxMDggODQgUiAyLjk4NShzaGVsbCBlKTUuNDg1IEYgLS4xNSh4ZSktLjE1IEcKKzIuOTg2KGN1dGVzIHRoZSBzcGVjaVwyMTRlZCBpbnRlcnByZXRlciBvbiBvcGVyYXRpbmcgc3lzdGVtcyB0aGF0IGRvIG5vXAordCBoYW5kbGUgdGhpcykuMTUgRiAtLjE1KGV4ZSkxMDggOTYgUyAuNzYyKGN1dGFibGUgZm9ybWF0IHRoZW1zZWx2KS4xNSBGCiszLjI2Mihlcy4gVGhlKS0uMTUgRihhcikzLjI2MiBFIC43NjEKKyhndW1lbnRzIHRvIHRoZSBpbnRlcnByZXRlciBjb25zaXN0IG9mIGEgc2luZ2xlIG9wdGlvbmFsIGFyKS0uMTggRiAuNzYxCisoZ3VtZW50IGZvbC0pLS4xOCBGKGxvKTEwOCAxMDggUSAuMTU2Cisod2luZyB0aGUgaW50ZXJwcmV0ZXIgbmFtZSBvbiB0aGUgXDIxNHJzdCBsaW5lIG9mIHRoZSBwcm9ncmFtLCBmb2xsbykKKy0uMjUgRiAuMTU3KHdlZCBieSB0aGUgbmFtZSBvZiB0aGUgcHJvZ3JhbSwgZm9sbG8pLS4yNSBGKHdlZCktLjI1IEUKKyhieSB0aGUgY29tbWFuZCBhcikxMDggMTIwIFEoZ3VtZW50cywgaWYgYW4pLS4xOCBFIC0uNjUoeS4pLS4xNSBHL0YxCisxMC45NS9UaW1lcy1Cb2xkQDAgU0YoQ09NTUFORCBFWEVDVVRJT04gRU5WSVIpNzIgMTM2LjggUShPTk1FTlQpLS4zMjkgRQorRjAoVGhlIHNoZWxsIGhhcyBhbikxMDggMTQ4LjggUS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRiAtLjIoZXgpMi41IEcKKyhlY3V0aW9uIGVuKS4yIEUodmlyKS0uNCBFKG9ubWVudCktLjQ1IEUgRjAgMi41KCx3KUMKKyhoaWNoIGNvbnNpc3RzIG9mIHRoZSBmb2xsbyktMi41IEUod2luZzopLS4yNSBFIDMyLjU8ODM2Zj4xMDggMTY1LjYgUworMS40MDYocGVuIFwyMTRsZXMgaW5oZXJpdGVkIGJ5IHRoZSBzaGVsbCBhdCBpbiktMzIuNSBGIC0uMih2byktLjQgRworMS40MDUoY2F0aW9uLCBhcyBtb2RpXDIxNGVkIGJ5IHJlZGlyZWN0aW9ucyBzdXBwbGllZCB0byB0aGUpLjIgRi9GMyAxMAorL1RpbWVzLUJvbGRAMCBTRihleGVjKTMuOTA1IEUgRjAgLS4yKGJ1KTE0NCAxNzcuNiBTKGlsdGluKS4yIEUgMzIuNQorPDgzNzQ+MTA4IDE5NC40IFMoaGUgY3VycmVudCB3KS0zMi41IEUob3JraW5nIGRpcmVjdG9yeSBhcyBzZXQgYnkpLS4xIEUKK0YzKGNkKTIuNSBFIEYwKCwpQSBGMyhwdXNoZCkyLjUgRSBGMCAyLjUoLG8pQyhyKS0yLjUgRSBGMyhwb3BkKTIuNSBFIEYwCisyLjUoLG8pQyAyLjUocmkpLTIuNSBHKG5oZXJpdGVkIGJ5IHRoZSBzaGVsbCBhdCBpbiktMi41IEUgLS4yKHZvKS0uNCBHCisoY2F0aW9uKS4yIEUgMzIuNTw4Mzc0PjEwOCAyMTEuMiBTCisoaGUgXDIxNGxlIGNyZWF0aW9uIG1vZGUgbWFzayBhcyBzZXQgYnkpLTMyLjUgRSBGMyh1bWFzaykyLjUgRSBGMAorKG9yIGluaGVyaXRlZCBmcm9tIHRoZSBzaGVsbCcpMi41IEUgMi41KHNwKS0uNTUgRyhhcmVudCktMi41IEUgMzIuNQorPDgzNjM+MTA4IDIyOCBTKHVycmVudCB0cmFwcyBzZXQgYnkpLTMyLjUgRSBGMyh0cmFwKTIuNSBFIEYwIDMyLjU8ODM3Mz4KKzEwOCAyNDQuOCBTIC4yNTYoaGVsbCBwYXJhbWV0ZXJzIHRoYXQgYXJlIHNldCBieSB2KS0zMi41IEYgLjI1NgorKGFyaWFibGUgYXNzaWdubWVudCBvciB3aXRoKS0uMjUgRiBGMyhzZXQpMi43NTYgRSBGMCAuMjU3Cisob3IgaW5oZXJpdGVkIGZyb20gdGhlIHNoZWxsJykyLjc1NiBGIDIuNzU3KHNwKS0uNTUgRyhhcmVudCktMi43NTcgRQorKGluIHRoZSBlbikxNDQgMjU2LjggUSh2aXJvbm1lbnQpLS40IEUgMzIuNTw4MzczPjEwOCAyNzMuNiBTCisoaGVsbCBmdW5jdGlvbnMgZGVcMjE0bmVkIGR1cmluZyBlKS0zMi41IEUgLS4xNSh4ZSktLjE1IEcKKyhjdXRpb24gb3IgaW5oZXJpdGVkIGZyb20gdGhlIHNoZWxsJykuMTUgRSAyLjUoc3ApLS41NSBHCisoYXJlbnQgaW4gdGhlIGVuKS0yLjUgRSh2aXJvbm1lbnQpLS40IEUgMzIuNTw4MzZmPjEwOCAyOTAuNCBTCisocHRpb25zIGVuYWJsZWQgYXQgaW4pLTMyLjUgRSAtLjIodm8pLS40IEcoY2F0aW9uIFwoZWl0aGVyIGJ5IGRlZikuMiBFCisoYXVsdCBvciB3aXRoIGNvbW1hbmQtbGluZSBhciktLjEgRShndW1lbnRzXCkgb3IgYnkpLS4xOCBFIEYzKHNldCkyLjUgRQorRjAgMzIuNTw4MzZmPjEwOCAzMDcuMiBTKHB0aW9ucyBlbmFibGVkIGJ5KS0zMi41IEUgRjMoc2hvcHQpMi41IEUgRjAKKzMyLjU8ODM3Mz4xMDggMzI0IFMoaGVsbCBhbGlhc2VzIGRlXDIxNG5lZCB3aXRoKS0zMi41IEUgRjMoYWxpYXMpMi41IEUKK0YwIDMyLjU8ODM3Nj4xMDggMzQwLjggUwogKGFyaW91cyBwcm9jZXNzIElEcywgaW5jbHVkaW5nIHRob3NlIG9mIGJhY2tncm91bmQgam9icywgdGhlIHYpLTMyLjc1IEUKLShhbHVlIG9mKS0uMjUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoJCQpMi41IEUgRjAgMi41KCxhKUMobmQgdGhlIHYpLTIuNQotRShhbHVlIG9mKS0uMjUgRSBGMSgkUFBJRCkyLjUgRSBGMCAuNDI3Ci0oV2hlbiBhIHNpbXBsZSBjb21tYW5kIG90aGVyIHRoYW4gYSBiKTEwOCAxMDAuOCBSIC40MjYKKyhhbHVlIG9mKS0uMjUgRSBGMygkJCkyLjUgRSBGMCAyLjUoLGEpQyhuZCB0aGUgdiktMi41IEUoYWx1ZSBvZiktLjI1IEUKKy9GNCA5L1RpbWVzLUJvbGRAMCBTRihQUElEKTIuNSBFIEYwIC40MjcKKyhXaGVuIGEgc2ltcGxlIGNvbW1hbmQgb3RoZXIgdGhhbiBhIGIpMTA4IDM1Ny42IFIgLjQyNgogKHVpbHRpbiBvciBzaGVsbCBmdW5jdGlvbiBpcyB0byBiZSBlKS0uMiBGIC0uMTUoeGUpLS4xNSBHIC40MjYKIChjdXRlZCwgaXQgaXMgaW4pLjE1IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuOTI2KGRpKS4xIEcgMi45MjYobmFzKQotLTIuOTI2IEcoZXBhcmF0ZSktMi45MjYgRSAtLjE1KGV4ZSkxMDggMTEyLjggUyAuMTMzKGN1dGlvbiBlbikuMTUgRiAuMTMzCistMi45MjYgRyhlcGFyYXRlKS0yLjkyNiBFIC0uMTUoZXhlKTEwOCAzNjkuNiBTIC4xMzMoY3V0aW9uIGVuKS4xNSBGIC4xMzMKICh2aXJvbm1lbnQgdGhhdCBjb25zaXN0cyBvZiB0aGUgZm9sbG8pLS40IEYgMi42MzQod2luZy4gVW5sZXNzKS0uMjUgRgogLjEzNChvdGhlcndpc2Ugbm90ZWQsIHRoZSB2KTIuNjM0IEYgLjEzNChhbHVlcyBhcmUgaW5oZXJpdGVkIGZyb20pLS4yNSBGCi0odGhlIHNoZWxsLikxMDggMTI0LjggUSAzMi41PDgzNzQ+MTA4IDE1My42IFMgMS4wNTYoaGUgc2hlbGwnKS0zMi41IEYKKyh0aGUgc2hlbGwuKTEwOCAzODEuNiBRIDMyLjU8ODM3ND4xMDggMzk4LjQgUyAxLjA1NihoZSBzaGVsbCcpLTMyLjUgRgogMy41NTYoc28pLS41NSBHIDEuMDU2KHBlbiBcMjE0bGVzLCBwbHVzIGFuKS0zLjU1NiBGIDMuNTU2KHltKS0uMTUgRwogMS4wNTYKIChvZGlcMjE0Y2F0aW9ucyBhbmQgYWRkaXRpb25zIHNwZWNpXDIxNGVkIGJ5IHJlZGlyZWN0aW9ucyB0byB0aGUgY29tLSkKLS0zLjU1NiBGKG1hbmQpMTQ0IDE2NS42IFEgMzIuNTw4Mzc0PjEwOCAxODIuNCBTKGhlIGN1cnJlbnQgdyktMzIuNSBFCi0ob3JraW5nIGRpcmVjdG9yeSktLjEgRSAzMi41PDgzNzQ+MTA4IDE5OS4yIFMKLShoZSBcMjE0bGUgY3JlYXRpb24gbW9kZSBtYXNrKS0zMi41IEUgMzIuNTw4MzczPjEwOCAyMTYgUyAuODU2KGhlbGwgdikKKy0zLjU1NiBGKG1hbmQpMTQ0IDQxMC40IFEgMzIuNTw4Mzc0PjEwOCA0MjcuMiBTKGhlIGN1cnJlbnQgdyktMzIuNSBFCisob3JraW5nIGRpcmVjdG9yeSktLjEgRSAzMi41PDgzNzQ+MTA4IDQ0NCBTCisoaGUgXDIxNGxlIGNyZWF0aW9uIG1vZGUgbWFzayktMzIuNSBFIDMyLjU8ODM3Mz4xMDggNDYwLjggUyAuODU2KGhlbGwgdikKIC0zMi41IEYgLjg1NyhhcmlhYmxlcyBhbmQgZnVuY3Rpb25zIG1hcmspLS4yNSBGIC44NTcoZWQgZm9yIGUpLS4xIEYgLjg1NwogKHhwb3J0LCBhbG9uZyB3aXRoIHYpLS4xNSBGIC44NTcoYXJpYWJsZXMgZSktLjI1IEYgLjg1NwotKHhwb3J0ZWQgZm9yIHRoZSBjb21tYW5kLCktLjE1IEYocGFzc2VkIGluIHRoZSBlbikxNDQgMjI4IFEodmlyb25tZW50KQotLS40IEUgMzIuNTw4Mzc0PjEwOCAyNDQuOCBTIC4zMDcKKyh4cG9ydGVkIGZvciB0aGUgY29tbWFuZCwpLS4xNSBGKHBhc3NlZCBpbiB0aGUgZW4pMTQ0IDQ3Mi44IFEodmlyb25tZW50KQorLS40IEUgMzIuNTw4Mzc0PjEwOCA0ODkuNiBTIC4zMDcKIChyYXBzIGNhdWdodCBieSB0aGUgc2hlbGwgYXJlIHJlc2V0IHRvIHRoZSB2KS0zMi41IEYgLjMwNgogKGFsdWVzIGluaGVyaXRlZCBmcm9tIHRoZSBzaGVsbCcpLS4yNSBGIDIuODA2KHNwKS0uNTUgRyAuMzA2Ci0oYXJlbnQsIGFuZCB0cmFwcyBpZ25vcmVkKS0yLjgwNiBGKGJ5IHRoZSBzaGVsbCBhcmUgaWdub3JlZCkxNDQgMjU2LjggUQotMi41KEFjKTEwOCAyNzMuNiBTKG9tbWFuZCBpbiktMi41IEUgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuNShkaSkuMSBHCisoYXJlbnQsIGFuZCB0cmFwcyBpZ25vcmVkKS0yLjgwNiBGKGJ5IHRoZSBzaGVsbCBhcmUgaWdub3JlZCkxNDQgNTAxLjYgUQorMi41KEFjKTEwOCA1MTguNCBTKG9tbWFuZCBpbiktMi41IEUgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuNShkaSkuMSBHCiAyLjUobnQpLTIuNSBHKGhpcyBzZXBhcmF0ZSBlbiktMi41IEUodmlyb25tZW50IGNhbm5vdCBhZiktLjQgRQogKGZlY3QgdGhlIHNoZWxsJyktLjI1IEUgMi41KHNlKS0uNTUgRyAtLjE1KHhlKS0yLjY1IEcoY3V0aW9uIGVuKS4xNSBFCiAodmlyb25tZW50LiktLjQgRSAuNTc3KENvbW1hbmQgc3Vic3RpdHV0aW9uLCBjb21tYW5kcyBncm91cGVkIHdpdGggcGFyZVwKLW50aGVzZXMsIGFuZCBhc3luY2hyb25vdXMgY29tbWFuZHMgYXJlIGluKTEwOCAyOTAuNCBSIC0uMih2byktLjQgRyAtLjEKLShrZSkuMiBHIDMuMDc4KGRpKS4xIEcobiktMy4wNzggRSAyLjc0NShhcykxMDggMzAyLjQgUyAuMjQ1KHVic2hlbGwgZW4pCitudGhlc2VzLCBhbmQgYXN5bmNocm9ub3VzIGNvbW1hbmRzIGFyZSBpbikxMDggNTM1LjIgUiAtLjIodm8pLS40IEcgLS4xCisoa2UpLjIgRyAzLjA3OChkaSkuMSBHKG4pLTMuMDc4IEUgMi43NDUoYXMpMTA4IDU0Ny4yIFMgLjI0NSh1YnNoZWxsIGVuKQogLTIuNzQ1IEYgLjI0NSh2aXJvbm1lbnQgdGhhdCBpcyBhIGR1cGxpY2F0ZSBvZiB0aGUgc2hlbGwgZW4pLS40IEYgLjI0NAogKHZpcm9ubWVudCwgZSktLjQgRiAuMjQ0KHhjZXB0IHRoYXQgdHJhcHMgY2F1Z2h0IGJ5IHRoZSBzaGVsbCBhcmUpLS4xNSBGCi0uMzU4KHJlc2V0IHRvIHRoZSB2KTEwOCAzMTQuNCBSIC4zNTgKKy4zNTgocmVzZXQgdG8gdGhlIHYpMTA4IDU1OS4yIFIgLjM1OAogKGFsdWVzIHRoYXQgdGhlIHNoZWxsIGluaGVyaXRlZCBmcm9tIGl0cyBwYXJlbnQgYXQgaW4pLS4yNSBGIC0uMih2byktLjQKIEcgMi44NTgoY2F0aW9uLiBCdWlsdGluKS4yIEYgLjM1OShjb21tYW5kcyB0aGF0IGFyZSBpbikyLjg1OSBGIC0uMih2bykKLS0uNCBHIC0uMShrZSkuMiBHKGQpLjEgRSAuODU3KGFzIHBhcnQgb2YgYSBwaXBlbGluZSBhcmUgYWxzbyBlKTEwOCAzMjYuNAorLS40IEcgLS4xKGtlKS4yIEcoZCkuMSBFIC44NTcoYXMgcGFydCBvZiBhIHBpcGVsaW5lIGFyZSBhbHNvIGUpMTA4IDU3MS4yCiBSIC0uMTUoeGUpLS4xNSBHIC44NTYoY3V0ZWQgaW4gYSBzdWJzaGVsbCBlbikuMTUgRiAzLjM1NgogKHZpcm9ubWVudC4gQ2hhbmdlcyktLjQgRiAuODU2KG1hZGUgdG8gdGhlIHN1YnNoZWxsIGVuKTMuMzU2IEYodmlyb24tKQotLS40IEUobWVudCBjYW5ub3QgYWYpMTA4IDMzOC40IFEoZmVjdCB0aGUgc2hlbGwnKS0uMjUgRSAyLjUoc2UpLS41NSBHCistLjQgRShtZW50IGNhbm5vdCBhZikxMDggNTgzLjIgUShmZWN0IHRoZSBzaGVsbCcpLS4yNSBFIDIuNShzZSktLjU1IEcKIC0uMTUoeGUpLTIuNjUgRyhjdXRpb24gZW4pLjE1IEUodmlyb25tZW50LiktLjQgRSAxLjM3NihTdWJzaGVsbHMgc3BhKTEwOAotMzU1LjIgUiAxLjM3Nih3bmVkIHRvIGUpLS4xNSBGIC0uMTUoeGUpLS4xNSBHIDEuMzc3Cis2MDAgUiAxLjM3Nih3bmVkIHRvIGUpLS4xNSBGIC0uMTUoeGUpLS4xNSBHIDEuMzc3CiAoY3V0ZSBjb21tYW5kIHN1YnN0aXR1dGlvbnMgaW5oZXJpdCB0aGUgdikuMTUgRiAxLjM3NyhhbHVlIG9mIHRoZSktLjI1IEYKLUYxPGFkNjU+My44NzcgRSBGMCAxLjM3NyhvcHRpb24gZnJvbSB0aGUgcGFyZW50KTMuODc3IEYgMi41KHNoZWxsLiBXaGVuKQotMTA4IDM2Ny4yIFIobm90IGluIHBvc2l4IG1vZGUsIEJhc2ggY2xlYXJzIHRoZSkyLjUgRSBGMTxhZDY1PjIuNSBFIEYwCi0ob3B0aW9uIGluIHN1Y2ggc3Vic2hlbGxzLikyLjUgRSAuNDA1KElmIGEgY29tbWFuZCBpcyBmb2xsbykxMDggMzg0IFIKLS40MDUod2VkIGJ5IGEpLS4yNSBGIEYxKCYpMi45MDUgRSBGMCAuNDA0KGFuZCBqb2IgY29udHJvbCBpcyBub3QgYWN0aSkKK0YzPGFkNjU+My44NzcgRSBGMCAxLjM3NyhvcHRpb24gZnJvbSB0aGUgcGFyZW50KTMuODc3IEYgMi41KHNoZWxsLiBXaGVuKQorMTA4IDYxMiBSKG5vdCBpbiBwb3NpeCBtb2RlLCBCYXNoIGNsZWFycyB0aGUpMi41IEUgRjM8YWQ2NT4yLjUgRSBGMAorKG9wdGlvbiBpbiBzdWNoIHN1YnNoZWxscy4pMi41IEUgLjQwNShJZiBhIGNvbW1hbmQgaXMgZm9sbG8pMTA4IDYyOC44IFIKKy40MDUod2VkIGJ5IGEpLS4yNSBGIEYzKCYpMi45MDUgRSBGMCAuNDA0KGFuZCBqb2IgY29udHJvbCBpcyBub3QgYWN0aSkKIDIuOTA1IEYgLS4xNSh2ZSktLjI1IEcgMi45MDQoLHQpLjE1IEcgLjQwNChoZSBkZWYpLTIuOTA0IEYgLjQwNAogKGF1bHQgc3RhbmRhcmQgaW5wdXQgZm9yIHRoZSBjb21tYW5kKS0uMSBGIC4xOTcoaXMgdGhlIGVtcHR5IFwyMTRsZSkxMDgKLTM5NiBSL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGKC9kZSkyLjY5NyBFKHYvbnVsbCktLjE1IEUgRjAgNS4xOTcoLk8pQwotLjE5Nyh0aGVyd2lzZSwgdGhlIGluKS01LjE5NyBGIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAyLjY5NyhkYykuMSBHCi0uMTk4KG9tbWFuZCBpbmhlcml0cyB0aGUgXDIxNGxlIGRlc2NyaXB0b3JzIG9mIHRoZSBjYWxsaW5nIHNoZWxsKS0yLjY5NwotRihhcyBtb2RpXDIxNGVkIGJ5IHJlZGlyZWN0aW9ucy4pMTA4IDQwOCBRL0YzIDEwLjk1L1RpbWVzLUJvbGRAMCBTRgotKEVOVklSKTcyIDQyNC44IFEoT05NRU5UKS0uMzI5IEUgRjAgMi4zNTQoV2hlbiBhIHByb2dyYW0gaXMgaW4pMTA4IDQzNi44Ci1SIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyA0Ljg1MyhkaSkuMSBHIDQuODUzKHRpKS00Ljg1MyBHIDQuODUzKHNnKQotLTQuODUzIEcgLTIuMTUgLS4yNShpdiBlKS00Ljg1MyBIIDQuODUzKG5hKS4yNSBHIDQuODUzKG5hKS00Ljg1MyBHIDIuMzUzCis2NDAuOCBSIEYyKC9kZSkyLjY5NyBFKHYvbnVsbCktLjE1IEUgRjAgNS4xOTcoLk8pQyAuMTk3CisodGhlcndpc2UsIHRoZSBpbiktNS4xOTcgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMi42OTcoZGMpLjEgRyAuMTk4Cisob21tYW5kIGluaGVyaXRzIHRoZSBcMjE0bGUgZGVzY3JpcHRvcnMgb2YgdGhlIGNhbGxpbmcgc2hlbGwpLTIuNjk3IEYKKyhhcyBtb2RpXDIxNGVkIGJ5IHJlZGlyZWN0aW9ucy4pMTA4IDY1Mi44IFEgRjEoRU5WSVIpNzIgNjY5LjYgUShPTk1FTlQpCistLjMyOSBFIEYwIDIuMzU0KFdoZW4gYSBwcm9ncmFtIGlzIGluKTEwOCA2ODEuNiBSIC0uMih2byktLjQgRyAtLjEoa2UpLjIKK0cgNC44NTMoZGkpLjEgRyA0Ljg1Myh0aSktNC44NTMgRyA0Ljg1MyhzZyktNC44NTMgRyAtMi4xNSAtLjI1KGl2IGUpCistNC44NTMgSCA0Ljg1MyhuYSkuMjUgRyA0Ljg1MyhuYSktNC44NTMgRyAyLjM1MwogKHJyYXkgb2Ygc3RyaW5ncyBjYWxsZWQgdGhlKS00Ljg1MyBGIEYyKGVuKTQuODUzIEUodmlyKS0uNCBFKG9ubWVudCktLjQ1Ci1FIEYwIDcuMzUzKC5UKS42OCBHIDIuMzUzKGhpcyBpcyBhIGxpc3Qgb2YpLTcuMzUzIEYgRjIobmFtZSkxMDggNDQ4LjggUQorRSBGMCA3LjM1MyguVCkuNjggRyAyLjM1MyhoaXMgaXMgYSBsaXN0IG9mKS03LjM1MyBGIEYyKG5hbWUpMTA4IDY5My42IFEKIEYwPGFkPkEgRjIodmFsdWUpQSBGMChwYWlycywgb2YgdGhlIGZvcm0pMi41IEUgRjIobmFtZSkyLjUgRSBGMCg9KUEgRjIKLSh2YWx1ZSlBIEYwKC4pLjE4IEUgMS40ODUoVGhlIHNoZWxsIHBybykxMDggNDY1LjYgUiAxLjQ4NSh2aWRlcyBzZSktLjE1CisodmFsdWUpQSBGMCguKS4xOCBFIDEuNDg1KFRoZSBzaGVsbCBwcm8pMTA4IDcxMC40IFIgMS40ODUodmlkZXMgc2UpLS4xNQogRiAtLjE1KHZlKS0uMjUgRyAxLjQ4NShyYWwgdykuMTUgRiAxLjQ4NShheXMgdG8gbWFuaXB1bGF0ZSB0aGUgZW4pLS4xIEYKIDMuOTg1KHZpcm9ubWVudC4gT24pLS40IEYoaW4pMy45ODUgRSAtLjIodm8pLS40IEcgMS40ODYKLShjYXRpb24sIHRoZSBzaGVsbCBzY2FucyBpdHMgbykuMiBGKHduKS0uMjUgRShlbikxMDggNDc3LjYgUSAuMTQ0KHZpcm9uXAotbWVudCBhbmQgY3JlYXRlcyBhIHBhcmFtZXRlciBmb3IgZWFjaCBuYW1lIGZvdW5kLCBhdXRvbWF0aWNhbGx5IG1hcmtpbmdcCi0gaXQgZm9yKS0uNCBGIEYyIC0uMihleCkyLjY0MyBHKHBvcnQpLjIgRSBGMCAuMTQzKHRvIGNoaWxkIHByby0pMy4zMjMgRgotMi43MDMoY2Vzc2VzLiBFeCkxMDggNDg5LjYgUiAuMjAzKGVjdXRlZCBjb21tYW5kcyBpbmhlcml0IHRoZSBlbiktLjE1IEYKLTIuNzAzKHZpcm9ubWVudC4gVGhlKS0uNCBGIEYxKGV4cG9ydCkyLjcwMyBFIEYwKGFuZCkyLjcwMyBFIEYxKGRlY2xhcikKLTIuNzAzIEUgMi43MDM8NjVhZD4tLjE4IEcoeCktMi43MDMgRSBGMCAuMjAzKGNvbW1hbmRzIGFsbG8pMi43MDMgRiAyLjcwNAotKHdwKS0uMjUgRyhhcmFtLSktMi43MDQgRSAxLjE1MwotKGV0ZXJzIGFuZCBmdW5jdGlvbnMgdG8gYmUgYWRkZWQgdG8gYW5kIGRlbGV0ZWQgZnJvbSB0aGUgZW4pMTA4IDUwMS42IFIKLTMuNjUzKHZpcm9ubWVudC4gSWYpLS40IEYgMS4xNTModGhlIHYpMy42NTMgRiAxLjE1MwotKGFsdWUgb2YgYSBwYXJhbWV0ZXIgaW4gdGhlKS0uMjUgRihlbikxMDggNTEzLjYgUSAuNjQKLSh2aXJvbm1lbnQgaXMgbW9kaVwyMTRlZCwgdGhlIG5lKS0uNCBGIDMuMTQod3YpLS4yNSBHIC42NAotKGFsdWUgYmVjb21lcyBwYXJ0IG9mIHRoZSBlbiktMy4zOSBGIC42NCh2aXJvbm1lbnQsIHJlcGxhY2luZyB0aGUgb2xkLikKLS0uNCBGIC42NChUaGUgZW4pNS42NCBGKHZpcm9uLSktLjQgRSAuNTgobWVudCBpbmhlcml0ZWQgYnkgYW4pMTA4IDUyNS42Ci1SIDMuMDgoeWUpLS4xNSBHIC0uMTUoeGUpLTMuMjMgRyAuNTgKLShjdXRlZCBjb21tYW5kIGNvbnNpc3RzIG9mIHRoZSBzaGVsbCcpLjE1IEYgMy4wOChzaSktLjU1IEcgLjU4Ci0obml0aWFsIGVuKS0zLjA4IEYgLjU4KHZpcm9ubWVudCwgd2hvc2UgdiktLjQgRiAuNTgoYWx1ZXMgbWF5IGJlKS0uMjUgRgotLjMobW9kaVwyMTRlZCBpbiB0aGUgc2hlbGwsIGxlc3MgYW4pMTA4IDUzNy42IFIgMi44KHlwKS0uMTUgRyAuMwotKGFpcnMgcmVtbyktMi44IEYgLS4xNSh2ZSktLjE1IEcgMi44KGRiKS4xNSBHIDIuODAxKHl0KS0yLjggRyhoZSktMi44MDEKLUUgRjEodW5zZXQpMi44MDEgRSBGMCAuMzAxKGNvbW1hbmQsIHBsdXMgYW4pMi44MDEgRiAyLjgwMSh5YSktLjE1IEcgLjMwMQotKGRkaXRpb25zIHZpYSB0aGUpLTIuODAxIEYgRjEoZXhwb3J0KTIuODAxIEUgRjAoYW5kKTIuODAxIEUgRjEoZGVjbGFyKQotMTA4IDU0OS42IFEgMi41PDY1YWQ+LS4xOCBHKHgpLTIuNSBFIEYwKGNvbW1hbmRzLikyLjUgRSAuNTYzKFRoZSBlbikxMDgKLTU2Ni40IFIgLjU2Myh2aXJvbm1lbnQgZm9yIGFuKS0uNCBGKHkpLS4xNSBFIEYyIC41NjMoc2ltcGxlIGNvbW1hbmQpCi0zLjQwMyBGIEYwIC41NjIKLShvciBmdW5jdGlvbiBtYXkgYmUgYXVnbWVudGVkIHRlbXBvcmFyaWx5IGJ5IHByZVwyMTR4aW5nIGl0IHdpdGgpMy44MzMgRgotLjIwMihwYXJhbWV0ZXIgYXNzaWdubWVudHMsIGFzIGRlc2NyaWJlZCBhYm8pMTA4IDU3OC40IFIgLjUwMiAtLjE1KHZlIGkpCi0tLjE1IEgobikuMTUgRS9GNCA5L1RpbWVzLUJvbGRAMCBTRiAtLjY2NihQQSkyLjcwMiBHKFJBTUVURVJTKS42NjYgRS9GNQotOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMCAuMjAyKFRoZXNlIGFzc2lnbm1lbnQgc3RhdGVtZW50cyBhZik0LjcwMiBGCi0uMjAzKGZlY3Qgb25seSB0aGUpLS4yNSBGKGVuKTEwOCA1OTAuNCBRCi0odmlyb25tZW50IHNlZW4gYnkgdGhhdCBjb21tYW5kLiktLjQgRSAuODEoSWYgdGhlKTEwOCA2MDcuMiBSIEYxPGFkNmI+Ci0zLjMxIEUgRjAgLjgxKG9wdGlvbiBpcyBzZXQgXChzZWUgdGhlKTMuMzEgRiBGMShzZXQpMy4zMSBFIEYwIC0uMihidSkKLTMuMzEgRyAuODEoaWx0aW4gY29tbWFuZCBiZWxvKS4yIEYgLjgxKHdcKSwgdGhlbiktLjI1IEYgRjIoYWxsKTMuNjQgRSBGMAotLjgxKHBhcmFtZXRlciBhc3NpZ25tZW50cyBhcmUgcGxhY2VkIGluKTMuODIgRih0aGUgZW4pMTA4IDYxOS4yIFEKLSh2aXJvbm1lbnQgZm9yIGEgY29tbWFuZCwgbm90IGp1c3QgdGhvc2UgdGhhdCBwcmVjZWRlIHRoZSBjb21tYW5kIG5hbWUuKQotLS40IEUoV2hlbikxMDggNjM2IFEgRjEoYmFzaCkzLjM5NiBFIEYwKGluKTMuMzk2IEUgLS4yKHZvKS0uNCBHIC0uMShrZSkKLS4yIEcgMy4zOTYoc2EpLjEgRyAzLjM5NyhuZSktMy4zOTYgRyAuODk3KHh0ZXJuYWwgY29tbWFuZCwgdGhlIHYpLTMuNTQ3Ci1GKGFyaWFibGUpLS4yNSBFIEYxKF8pMy4zOTcgRSBGMCAuODk3Ci0oaXMgc2V0IHRvIHRoZSBmdWxsIFwyMTRsZSBuYW1lIG9mIHRoZSBjb21tYW5kIGFuZCkzLjM5NyBGCi0ocGFzc2VkIHRvIHRoYXQgY29tbWFuZCBpbiBpdHMgZW4pMTA4IDY0OCBRKHZpcm9ubWVudC4pLS40IEUgRjMoRVhJVCBTVCkKLTcyIDY2NC44IFEgLTEuMDQoQVQpLS45ODYgRyhVUykxLjA0IEUgRjAgLjE1MShUaGUgZSkxMDggNjc2LjggUiAuMTUxCi0oeGl0IHN0YXR1cyBvZiBhbiBlKS0uMTUgRiAtLjE1KHhlKS0uMTUgRyAuMTUxKGN1dGVkIGNvbW1hbmQgaXMgdGhlIHYpCi0uMTUgRiAuMTUoYWx1ZSByZXR1cm5lZCBieSB0aGUpLS4yNSBGIEYyKHdhaXRwaWQpMi42NSBFIEYwIC4xNQotKHN5c3RlbSBjYWxsIG9yIGVxdWkpMi42NSBGIC0uMjUodmEpLS4yNSBHIC4xNShsZW50IGZ1bmMtKS4yNSBGIDIuODQ3Ci0odGlvbi4gRXhpdCkxMDggNjg4LjggUiAuMzQ3KHN0YXR1c2VzIGYpMi44NDcgRiAuMzQ3Ci0oYWxsIGJldHdlZW4gMCBhbmQgMjU1LCB0aG91Z2gsIGFzIGUpLS4xIEYgLjM0Nyh4cGxhaW5lZCBiZWxvKS0uMTUgRgotMS42NDcgLS42NSh3LCB0KS0uMjUgSCAuMzQ3KGhlIHNoZWxsIG1heSB1c2UgdikuNjUgRiAuMzQ4KGFsdWVzIGFibyktLjI1Ci1GIC42NDggLS4xNSh2ZSAxKS0uMTUgSCgyNSkuMTUgRShzcGVjaWFsbHkpMTA4IDcwMC44IFEgNS42NzQoLkUpLS42NSBHCi0uNjc0KHhpdCBzdGF0dXNlcyBmcm9tIHNoZWxsIGIpLTUuNjc0IEYgLjY3MwotKHVpbHRpbnMgYW5kIGNvbXBvdW5kIGNvbW1hbmRzIGFyZSBhbHNvIGxpbWl0ZWQgdG8gdGhpcyByYW5nZS4gVW5kZXIpLS4yCi1GKGNlcnRhaW4gY2lyY3Vtc3RhbmNlcywgdGhlIHNoZWxsIHdpbGwgdXNlIHNwZWNpYWwgdikxMDggNzEyLjggUQotKGFsdWVzIHRvIGluZGljYXRlIHNwZWNpXDIxNGMgZiktLjI1IEUoYWlsdXJlIG1vZGVzLiktLjEgRSAtLjE1KEZvKTEwOAotNzI5LjYgUyAzLjM3MihydCkuMTUgRyAuODcyKGhlIHNoZWxsJyktMy4zNzIgRiAzLjM3MihzcCktLjU1IEcgLjg3MwotKHVycG9zZXMsIGEgY29tbWFuZCB3aGljaCBlKS0zLjM3MiBGIC44NzMoeGl0cyB3aXRoIGEgemVybyBlKS0uMTUgRiAuODczCi0oeGl0IHN0YXR1cyBoYXMgc3VjY2VlZGVkLiktLjE1IEYgLjg3MyhBbiBlKTUuODczIEYgLjg3Myh4aXQgc3RhdHVzIG9mKQotLS4xNSBGKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUoMzApMTkwLjk1IEUgMCBDZwotRVAKKyhjYXRpb24sIHRoZSBzaGVsbCBzY2FucyBpdHMgbykuMiBGKHduKS0uMjUgRShlbikxMDggNzIyLjQgUSAxLjQzMSh2aXJvXAorbm1lbnQgYW5kIGNyZWF0ZXMgYSBwYXJhbWV0ZXIgZm9yIGVhY2ggbmFtZSBmb3VuZCwgYXV0b21hdGljYWxseSBtYXJraW5cCitnIGl0IGZvciktLjQgRiBGMiAtLjIoZXgpMy45MyBHKHBvcnQpLjIgRSBGMCAxLjQzKHRvIGNoaWxkKTQuNjEgRgorKEdOVSBCYXNoLTQuMSk3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgzMCkxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiAzMSAzMQogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRSAuMDQ5KHplcm8gaW5kaWNhdGVzIHN1Y2Nlc3MuKTEwOCA4NCBSIDIuNTQ5KEFuKTUuMDQ5IEcgLjA0OQorLS4zNSBFIDQuMTc3KHByb2Nlc3Nlcy4gRXgpMTA4IDg0IFIgMS42NzcKKyhlY3V0ZWQgY29tbWFuZHMgaW5oZXJpdCB0aGUgZW4pLS4xNSBGIDQuMTc3KHZpcm9ubWVudC4gVGhlKS0uNCBGL0YxIDEwCisvVGltZXMtQm9sZEAwIFNGKGV4cG9ydCk0LjE3OCBFIEYwKGFuZCk0LjE3OCBFIEYxKGRlY2xhcik0LjE3OCBFIDQuMTc4Cis8NjVhZD4tLjE4IEcoeCktNC4xNzggRSBGMCAxLjY3OChjb21tYW5kcyBhbGxvKTQuMTc4IEYodyktLjI1IEUgLjY0NworKHBhcmFtZXRlcnMgYW5kIGZ1bmN0aW9ucyB0byBiZSBhZGRlZCB0byBhbmQgZGVsZXRlZCBmcm9tIHRoZSBlbikxMDggOTYKK1IgMy4xNDcodmlyb25tZW50LiBJZiktLjQgRiAuNjQ2KHRoZSB2KTMuMTQ2IEYgLjY0NgorKGFsdWUgb2YgYSBwYXJhbWV0ZXIgaW4pLS4yNSBGIC41MTModGhlIGVuKTEwOCAxMDggUiAuNTEzCisodmlyb25tZW50IGlzIG1vZGlcMjE0ZWQsIHRoZSBuZSktLjQgRiAzLjAxMyh3diktLjI1IEcgLjUxMworKGFsdWUgYmVjb21lcyBwYXJ0IG9mIHRoZSBlbiktMy4yNjMgRiAuNTEzCisodmlyb25tZW50LCByZXBsYWNpbmcgdGhlIG9sZC4pLS40IEYgLjUxNChUaGUgZW4pNS41MTQgRih2aS0pLS40IEUgLjUyMworKHJvbm1lbnQgaW5oZXJpdGVkIGJ5IGFuKTEwOCAxMjAgUiAzLjAyMih5ZSktLjE1IEcgLS4xNSh4ZSktMy4xNzIgRyAuNTIyCisoY3V0ZWQgY29tbWFuZCBjb25zaXN0cyBvZiB0aGUgc2hlbGwnKS4xNSBGIDMuMDIyKHNpKS0uNTUgRyAuNTIyCisobml0aWFsIGVuKS0zLjAyMiBGIC41MjIodmlyb25tZW50LCB3aG9zZSB2KS0uNCBGIC41MjIoYWx1ZXMgbWF5KS0uMjUgRgorLjU3OChiZSBtb2RpXDIxNGVkIGluIHRoZSBzaGVsbCwgbGVzcyBhbikxMDggMTMyIFIgMy4wNzgoeXApLS4xNSBHIC41NzgKKyhhaXJzIHJlbW8pLTMuMDc4IEYgLS4xNSh2ZSktLjE1IEcgMy4wNzgoZGIpLjE1IEcgMy4wNzgoeXQpLTMuMDc4IEcoaGUpCistMy4wNzggRSBGMSh1bnNldCkzLjA3OCBFIEYwIC41NzkoY29tbWFuZCwgcGx1cyBhbikzLjA3OCBGIDMuMDc5KHlhKS0uMTUKK0cgLjU3OShkZGl0aW9ucyB2aWEgdGhlKS0zLjA3OSBGIEYxKGV4cG9ydCkzLjA3OSBFIEYwKGFuZCkxMDggMTQ0IFEgRjEKKyhkZWNsYXIpMi41IEUgMi41PDY1YWQ+LS4xOCBHKHgpLTIuNSBFIEYwKGNvbW1hbmRzLikyLjUgRSAuNTYzKFRoZSBlbikKKzEwOCAxNjAuOCBSIC41NjModmlyb25tZW50IGZvciBhbiktLjQgRih5KS0uMTUgRS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRgorLjU2MyhzaW1wbGUgY29tbWFuZCkzLjQwMyBGIEYwIC41NjIKKyhvciBmdW5jdGlvbiBtYXkgYmUgYXVnbWVudGVkIHRlbXBvcmFyaWx5IGJ5IHByZVwyMTR4aW5nIGl0IHdpdGgpMy44MzMgRgorLjIwMihwYXJhbWV0ZXIgYXNzaWdubWVudHMsIGFzIGRlc2NyaWJlZCBhYm8pMTA4IDE3Mi44IFIgLjUwMiAtLjE1KHZlIGkpCistLjE1IEgobikuMTUgRS9GMyA5L1RpbWVzLUJvbGRAMCBTRiAtLjY2NihQQSkyLjcwMiBHKFJBTUVURVJTKS42NjYgRS9GNAorOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMCAuMjAyKFRoZXNlIGFzc2lnbm1lbnQgc3RhdGVtZW50cyBhZik0LjcwMiBGCisuMjAzKGZlY3Qgb25seSB0aGUpLS4yNSBGKGVuKTEwOCAxODQuOCBRCisodmlyb25tZW50IHNlZW4gYnkgdGhhdCBjb21tYW5kLiktLjQgRSAuODEoSWYgdGhlKTEwOCAyMDEuNiBSIEYxPGFkNmI+CiszLjMxIEUgRjAgLjgxKG9wdGlvbiBpcyBzZXQgXChzZWUgdGhlKTMuMzEgRiBGMShzZXQpMy4zMSBFIEYwIC0uMihidSkKKzMuMzEgRyAuODEoaWx0aW4gY29tbWFuZCBiZWxvKS4yIEYgLjgxKHdcKSwgdGhlbiktLjI1IEYgRjIoYWxsKTMuNjQgRSBGMAorLjgxKHBhcmFtZXRlciBhc3NpZ25tZW50cyBhcmUgcGxhY2VkIGluKTMuODIgRih0aGUgZW4pMTA4IDIxMy42IFEKKyh2aXJvbm1lbnQgZm9yIGEgY29tbWFuZCwgbm90IGp1c3QgdGhvc2UgdGhhdCBwcmVjZWRlIHRoZSBjb21tYW5kIG5hbWUuKQorLS40IEUoV2hlbikxMDggMjMwLjQgUSBGMShiYXNoKTMuMzk2IEUgRjAoaW4pMy4zOTYgRSAtLjIodm8pLS40IEcgLS4xCisoa2UpLjIgRyAzLjM5NihzYSkuMSBHIDMuMzk3KG5lKS0zLjM5NiBHIC44OTcoeHRlcm5hbCBjb21tYW5kLCB0aGUgdikKKy0zLjU0NyBGKGFyaWFibGUpLS4yNSBFIEYxKF8pMy4zOTcgRSBGMCAuODk3CisoaXMgc2V0IHRvIHRoZSBmdWxsIFwyMTRsZSBuYW1lIG9mIHRoZSBjb21tYW5kIGFuZCkzLjM5NyBGCisocGFzc2VkIHRvIHRoYXQgY29tbWFuZCBpbiBpdHMgZW4pMTA4IDI0Mi40IFEodmlyb25tZW50LiktLjQgRS9GNSAxMC45NQorL1RpbWVzLUJvbGRAMCBTRihFWElUIFNUKTcyIDI1OS4yIFEgLTEuMDQoQVQpLS45ODYgRyhVUykxLjA0IEUgRjAgLjE1MQorKFRoZSBlKTEwOCAyNzEuMiBSIC4xNTEoeGl0IHN0YXR1cyBvZiBhbiBlKS0uMTUgRiAtLjE1KHhlKS0uMTUgRyAuMTUxCisoY3V0ZWQgY29tbWFuZCBpcyB0aGUgdikuMTUgRiAuMTUoYWx1ZSByZXR1cm5lZCBieSB0aGUpLS4yNSBGIEYyCisod2FpdHBpZCkyLjY1IEUgRjAgLjE1KHN5c3RlbSBjYWxsIG9yIGVxdWkpMi42NSBGIC0uMjUodmEpLS4yNSBHIC4xNQorKGxlbnQgZnVuYy0pLjI1IEYgMi44NDcodGlvbi4gRXhpdCkxMDggMjgzLjIgUiAuMzQ3KHN0YXR1c2VzIGYpMi44NDcgRgorLjM0NyhhbGwgYmV0d2VlbiAwIGFuZCAyNTUsIHRob3VnaCwgYXMgZSktLjEgRiAuMzQ3KHhwbGFpbmVkIGJlbG8pLS4xNSBGCisxLjY0NyAtLjY1KHcsIHQpLS4yNSBIIC4zNDcoaGUgc2hlbGwgbWF5IHVzZSB2KS42NSBGIC4zNDgoYWx1ZXMgYWJvKS0uMjUKK0YgLjY0OCAtLjE1KHZlIDEpLS4xNSBIKDI1KS4xNSBFKHNwZWNpYWxseSkxMDggMjk1LjIgUSA1LjY3NCguRSktLjY1IEcKKy42NzQoeGl0IHN0YXR1c2VzIGZyb20gc2hlbGwgYiktNS42NzQgRiAuNjczCisodWlsdGlucyBhbmQgY29tcG91bmQgY29tbWFuZHMgYXJlIGFsc28gbGltaXRlZCB0byB0aGlzIHJhbmdlLiBVbmRlciktLjIKK0YoY2VydGFpbiBjaXJjdW1zdGFuY2VzLCB0aGUgc2hlbGwgd2lsbCB1c2Ugc3BlY2lhbCB2KTEwOCAzMDcuMiBRCisoYWx1ZXMgdG8gaW5kaWNhdGUgc3BlY2lcMjE0YyBmKS0uMjUgRShhaWx1cmUgbW9kZXMuKS0uMSBFIC0uMTUoRm8pMTA4CiszMjQgUyAzLjM3MihydCkuMTUgRyAuODcyKGhlIHNoZWxsJyktMy4zNzIgRiAzLjM3MihzcCktLjU1IEcgLjg3MworKHVycG9zZXMsIGEgY29tbWFuZCB3aGljaCBlKS0zLjM3MiBGIC44NzMoeGl0cyB3aXRoIGEgemVybyBlKS0uMTUgRiAuODczCisoeGl0IHN0YXR1cyBoYXMgc3VjY2VlZGVkLiktLjE1IEYgLjg3MyhBbiBlKTUuODczIEYgLjg3Myh4aXQgc3RhdHVzIG9mKQorLS4xNSBGIC4wNDkoemVybyBpbmRpY2F0ZXMgc3VjY2Vzcy4pMTA4IDMzNiBSIDIuNTQ5KEFuKTUuMDQ5IEcgLjA0OQogKG9uLXplcm8gZSktMi41NDkgRiAuMDQ5KHhpdCBzdGF0dXMgaW5kaWNhdGVzIGYpLS4xNSBGIDIuNTQ5CiAoYWlsdXJlLiBXaGVuKS0uMSBGIDIuNTQ5KGFjKTIuNTQ5IEcgLjA0OChvbW1hbmQgdGVybWluYXRlcyBvbiBhIGYpCi0tMi41NDkgRiAuMDQ4KGF0YWwgc2lnLSktLjEgRihuYWwpMTA4IDk2IFEvRjEgMTAvVGltZXMtSXRhbGljQDAgU0YoTikyLjUKLUUgRjAoLClBL0YyIDEwL1RpbWVzLUJvbGRAMCBTRihiYXNoKTIuNSBFIEYwKHVzZXMgdGhlIHYpMi41IEUKLShhbHVlIG9mIDEyOCspLS4yNSBFIEYxKE4pQSBGMChhcyB0aGUgZSkyLjUgRSh4aXQgc3RhdHVzLiktLjE1IEUgLjQwNAotKElmIGEgY29tbWFuZCBpcyBub3QgZm91bmQsIHRoZSBjaGlsZCBwcm9jZXNzIGNyZWF0ZWQgdG8gZSkxMDggMTEyLjggUgorLTIuNTQ5IEYgLjA0OChhdGFsIHNpZy0pLS4xIEYobmFsKTEwOCAzNDggUSBGMihOKTIuNSBFIEYwKCwpQSBGMShiYXNoKQorMi41IEUgRjAodXNlcyB0aGUgdikyLjUgRShhbHVlIG9mIDEyOCspLS4yNSBFIEYyKE4pQSBGMChhcyB0aGUgZSkyLjUgRQorKHhpdCBzdGF0dXMuKS0uMTUgRSAuNDA0CisoSWYgYSBjb21tYW5kIGlzIG5vdCBmb3VuZCwgdGhlIGNoaWxkIHByb2Nlc3MgY3JlYXRlZCB0byBlKTEwOCAzNjQuOCBSCiAtLjE1KHhlKS0uMTUgRyAuNDA0KGN1dGUgaXQgcmV0dXJucyBhIHN0YXR1cyBvZiAxMjcuKS4xNSBGIC40MDUKLShJZiBhIGNvbW1hbmQgaXMpNS40MDUgRihmb3VuZCBiKTEwOCAxMjQuOCBRKHV0IGlzIG5vdCBlKS0uMiBFIC0uMTUoeGUpCi0tLjE1IEcoY3V0YWJsZSwgdGhlIHJldHVybiBzdGF0dXMgaXMgMTI2LikuMTUgRShJZiBhIGNvbW1hbmQgZikxMDggMTQxLjYKKyhJZiBhIGNvbW1hbmQgaXMpNS40MDUgRihmb3VuZCBiKTEwOCAzNzYuOCBRKHV0IGlzIG5vdCBlKS0uMiBFIC0uMTUoeGUpCistLjE1IEcoY3V0YWJsZSwgdGhlIHJldHVybiBzdGF0dXMgaXMgMTI2LikuMTUgRShJZiBhIGNvbW1hbmQgZikxMDggMzkzLjYKIFEoYWlscyBiZWNhdXNlIG9mIGFuIGVycm9yIGR1cmluZyBlKS0uMSBFCiAoeHBhbnNpb24gb3IgcmVkaXJlY3Rpb24sIHRoZSBlKS0uMTUgRSh4aXQgc3RhdHVzIGlzIGdyZWF0ZXIgdGhhbiB6ZXJvLikKLS0uMTUgRSAuMDgxKFNoZWxsIGIpMTA4IDE1OC40IFIgLjA4MQotKHVpbHRpbiBjb21tYW5kcyByZXR1cm4gYSBzdGF0dXMgb2YgMCBcKCktLjIgRiBGMSh0cnVlKUEgRjAgMi41ODEoXClpKUMKLTIuNTgxKGZzKS0yLjU4MSBHIC4wOCh1Y2Nlc3NmdWwsIGFuZCBub24temVybyBcKCktMi41ODEgRiBGMShmYWxzZSlBIEYwCistLjE1IEUgLjA4MShTaGVsbCBiKTEwOCA0MTAuNCBSIC4wODEKKyh1aWx0aW4gY29tbWFuZHMgcmV0dXJuIGEgc3RhdHVzIG9mIDAgXCgpLS4yIEYgRjIodHJ1ZSlBIEYwIDIuNTgxKFwpaSlDCisyLjU4MShmcyktMi41ODEgRyAuMDgodWNjZXNzZnVsLCBhbmQgbm9uLXplcm8gXCgpLTIuNTgxIEYgRjIoZmFsc2UpQSBGMAogMi41OChcKWkpQyAyLjU4KGZhKS0yLjU4IEcgMi41OChuZSktMi41OCBHIC4wOChycm9yIG9jY3VycyB3aGlsZSktMi41OCBGCi0odGhlKTEwOCAxNzAuNCBRIDIuNSh5ZSktLjE1IEcgLS4xNSh4ZSktMi42NSBHIDIuNShjdXRlLiBBbGwpLjE1IEYgLS4yCisodGhlKTEwOCA0MjIuNCBRIDIuNSh5ZSktLjE1IEcgLS4xNSh4ZSktMi42NSBHIDIuNShjdXRlLiBBbGwpLjE1IEYgLS4yCiAoYnUpMi41IEcoaWx0aW5zIHJldHVybiBhbiBlKS4yIEUKLSh4aXQgc3RhdHVzIG9mIDIgdG8gaW5kaWNhdGUgaW5jb3JyZWN0IHVzYWdlLiktLjE1IEUgRjIoQmFzaCkxMDggMTg3LjIgUQorKHhpdCBzdGF0dXMgb2YgMiB0byBpbmRpY2F0ZSBpbmNvcnJlY3QgdXNhZ2UuKS0uMTUgRSBGMShCYXNoKTEwOCA0MzkuMiBRCiBGMCAuMjAxKGl0c2VsZiByZXR1cm5zIHRoZSBlKTIuNzAxIEYgLjIwMgogKHhpdCBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBlKS0uMTUgRiAtLjE1KHhlKS0uMTUgRyAuMjAyCi0oY3V0ZWQsIHVubGVzcyBhIHN5bnRheCBlcnJvciBvY2N1cnMsIGluIHdoaWNoIGNhc2UpLjE1IEYoaXQgZSkxMDggMTk5LjIKLVEoeGl0cyB3aXRoIGEgbm9uLXplcm8gdiktLjE1IEUgMi41KGFsdWUuIFNlZSktLjI1IEYoYWxzbyB0aGUpMi41IEUgRjIKLShleGl0KTIuNSBFIEYwIC0uMihidSkyLjUgRyhpbHRpbiBjb21tYW5kIGJlbG8pLjIgRSAtLjY1KHcuKS0uMjUgRy9GMwotMTAuOTUvVGltZXMtQm9sZEAwIFNGKFNJR04pNzIgMjE2IFEoQUxTKS0uMjE5IEUgRjAoV2hlbikxMDggMjI4IFEgRjIKLShiYXNoKTMuMTgzIEUgRjAgLjY4MyhpcyBpbnRlcmFjdGkpMy4xODMgRiAtLjE1KHZlKS0uMjUgRyAzLjE4MygsaSkuMTUgRwotMy4xODMobnQpLTMuMTgzIEcgLjY4MyhoZSBhYnNlbmNlIG9mIGFuKS0zLjE4MyBGIDMuMTgzKHl0KS0uMTUgRyAuNjgzCi0ocmFwcywgaXQgaWdub3JlcyktMy4xODMgRi9GNCA5L1RpbWVzLUJvbGRAMCBTRihTSUdURVJNKTMuMTgzIEUgRjAgLjY4MgotKFwoc28gdGhhdCkyLjkzMyBGIEYyIC42ODIoa2lsbCAwKTMuMTgyIEYgRjAgLjY4Mihkb2VzIG5vdCBraWxsIGFuKTMuMTgyCi1GKGludGVyYWN0aSkxMDggMjQwIFEgLjc1NyAtLjE1KHZlIHMpLS4yNSBIIC40NTcoaGVsbFwpLCBhbmQpLjE1IEYgRjQKLShTSUdJTlQpMi45NTcgRSBGMCAuNDU4KGlzIGNhdWdodCBhbmQgaGFuZGxlZCBcKHNvIHRoYXQgdGhlKTIuNzA3IEYgRjIKLSh3YWl0KTIuOTU4IEUgRjAgLS4yKGJ1KTIuOTU4IEcgLjQ1OChpbHRpbiBpcyBpbnRlcnJ1cHRpYmxlXCkuKS4yIEYgLjQ1OAotKEluIGFsbCBjYXNlcywpNS40NTggRiBGMihiYXNoKTEwOCAyNTIgUSBGMChpZ25vcmVzKTIuNSBFIEY0KFNJR1EpMi41IEUKLShVSVQpLS4wOSBFL0Y1IDkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAoSWYgam9iIGNvbnRyb2wgaXMgaW4gZWYpNC41IEUKLShmZWN0LCktLjI1IEUgRjIoYmFzaCkyLjUgRSBGMChpZ25vcmVzKTIuNSBFIEY0KFNJR1RUSU4pMi41IEUgRjUoLClBIEY0Ci0oU0lHVFQpMi4yNSBFKE9VKS0uMTYyIEUgRjUoLClBIEYwKGFuZCkyLjI1IEUgRjQoU0lHVFNUUCkyLjUgRSBGNSguKUEgRjAKLShOb24tYikxMDggMjY4LjggUSAxLjA2NSh1aWx0aW4gY29tbWFuZHMgcnVuIGJ5KS0uMiBGIEYyKGJhc2gpMy41NjUgRSBGMAotKGhhKTMuNTY1IEUgMS4zNjUgLS4xNSh2ZSBzKS0uMiBIIDEuMDY1KGlnbmFsIGhhbmRsZXJzIHNldCB0byB0aGUgdikuMTUKLUYgMS4wNjQoYWx1ZXMgaW5oZXJpdGVkIGJ5IHRoZSBzaGVsbCBmcm9tIGl0cyktLjI1IEYgMy4yNDcocGFyZW50LiBXaGVuKQotMTA4IDI4MC44IFIgLjc0Nyhqb2IgY29udHJvbCBpcyBub3QgaW4gZWYpMy4yNDcgRiAuNzQ3Ci0oZmVjdCwgYXN5bmNocm9ub3VzIGNvbW1hbmRzIGlnbm9yZSktLjI1IEYgRjQoU0lHSU5UKTMuMjQ4IEUgRjAoYW5kKQotMi45OTggRSBGNChTSUdRKTMuMjQ4IEUoVUlUKS0uMDkgRSBGMCAuNzQ4KGluIGFkZGktKTIuOTk4IEYgLjY1MwotKHRpb24gdG8gdGhlc2UgaW5oZXJpdGVkIGhhbmRsZXJzLikxMDggMjkyLjggUiAuNjUzCisoY3V0ZWQsIHVubGVzcyBhIHN5bnRheCBlcnJvciBvY2N1cnMsIGluIHdoaWNoIGNhc2UpLjE1IEYoaXQgZSkxMDggNDUxLjIKK1EoeGl0cyB3aXRoIGEgbm9uLXplcm8gdiktLjE1IEUgMi41KGFsdWUuIFNlZSktLjI1IEYoYWxzbyB0aGUpMi41IEUgRjEKKyhleGl0KTIuNSBFIEYwIC0uMihidSkyLjUgRyhpbHRpbiBjb21tYW5kIGJlbG8pLjIgRSAtLjY1KHcuKS0uMjUgRyBGNQorKFNJR04pNzIgNDY4IFEoQUxTKS0uMjE5IEUgRjAoV2hlbikxMDggNDgwIFEgRjEoYmFzaCkzLjE4MyBFIEYwIC42ODMKKyhpcyBpbnRlcmFjdGkpMy4xODMgRiAtLjE1KHZlKS0uMjUgRyAzLjE4MygsaSkuMTUgRyAzLjE4MyhudCktMy4xODMgRworLjY4MyhoZSBhYnNlbmNlIG9mIGFuKS0zLjE4MyBGIDMuMTgzKHl0KS0uMTUgRyAuNjgzKHJhcHMsIGl0IGlnbm9yZXMpCistMy4xODMgRiBGMyhTSUdURVJNKTMuMTgzIEUgRjAgLjY4MihcKHNvIHRoYXQpMi45MzMgRiBGMSAuNjgyKGtpbGwgMCkKKzMuMTgyIEYgRjAgLjY4Mihkb2VzIG5vdCBraWxsIGFuKTMuMTgyIEYoaW50ZXJhY3RpKTEwOCA0OTIgUSAuNzU3IC0uMTUKKyh2ZSBzKS0uMjUgSCAuNDU3KGhlbGxcKSwgYW5kKS4xNSBGIEYzKFNJR0lOVCkyLjk1NyBFIEYwIC40NTgKKyhpcyBjYXVnaHQgYW5kIGhhbmRsZWQgXChzbyB0aGF0IHRoZSkyLjcwNyBGIEYxKHdhaXQpMi45NTggRSBGMCAtLjIoYnUpCisyLjk1OCBHIC40NTgoaWx0aW4gaXMgaW50ZXJydXB0aWJsZVwpLikuMiBGIC40NTgoSW4gYWxsIGNhc2VzLCk1LjQ1OCBGCitGMShiYXNoKTEwOCA1MDQgUSBGMChpZ25vcmVzKTIuNSBFIEYzKFNJR1EpMi41IEUoVUlUKS0uMDkgRSBGNCguKUEgRjAKKyhJZiBqb2IgY29udHJvbCBpcyBpbiBlZik0LjUgRShmZWN0LCktLjI1IEUgRjEoYmFzaCkyLjUgRSBGMChpZ25vcmVzKTIuNQorRSBGMyhTSUdUVElOKTIuNSBFIEY0KCwpQSBGMyhTSUdUVCkyLjI1IEUoT1UpLS4xNjIgRSBGNCgsKUEgRjAoYW5kKTIuMjUKK0UgRjMoU0lHVFNUUCkyLjUgRSBGNCguKUEgRjAoTm9uLWIpMTA4IDUyMC44IFEgMS4wNjUKKyh1aWx0aW4gY29tbWFuZHMgcnVuIGJ5KS0uMiBGIEYxKGJhc2gpMy41NjUgRSBGMChoYSkzLjU2NSBFIDEuMzY1IC0uMTUKKyh2ZSBzKS0uMiBIIDEuMDY1KGlnbmFsIGhhbmRsZXJzIHNldCB0byB0aGUgdikuMTUgRiAxLjA2NAorKGFsdWVzIGluaGVyaXRlZCBieSB0aGUgc2hlbGwgZnJvbSBpdHMpLS4yNSBGIDMuMjQ3KHBhcmVudC4gV2hlbikxMDgKKzUzMi44IFIgLjc0Nyhqb2IgY29udHJvbCBpcyBub3QgaW4gZWYpMy4yNDcgRiAuNzQ3CisoZmVjdCwgYXN5bmNocm9ub3VzIGNvbW1hbmRzIGlnbm9yZSktLjI1IEYgRjMoU0lHSU5UKTMuMjQ4IEUgRjAoYW5kKQorMi45OTggRSBGMyhTSUdRKTMuMjQ4IEUoVUlUKS0uMDkgRSBGMCAuNzQ4KGluIGFkZGktKTIuOTk4IEYgLjY1MworKHRpb24gdG8gdGhlc2UgaW5oZXJpdGVkIGhhbmRsZXJzLikxMDggNTQ0LjggUiAuNjUzCiAoQ29tbWFuZHMgcnVuIGFzIGEgcmVzdWx0IG9mIGNvbW1hbmQgc3Vic3RpdHV0aW9uIGlnbm9yZSB0aGUgayk1LjY1MyBGCi0tLjE1KGV5KS0uMSBHKGJvYXJkLSkuMTUgRShnZW5lcmF0ZWQgam9iIGNvbnRyb2wgc2lnbmFscykxMDggMzA0LjggUSBGNAotKFNJR1RUSU4pMi41IEUgRjUoLClBIEY0KFNJR1RUKTIuMjUgRShPVSktLjE2MiBFIEY1KCwpQSBGMChhbmQpMi4yNSBFIEY0Ci0oU0lHVFNUUCkyLjUgRSBGNSguKUEgRjAgMi4wNDUoVGhlIHNoZWxsIGUpMTA4IDMyMS42IFIgMi4wNDUKLSh4aXRzIGJ5IGRlZiktLjE1IEYgMi4wNDUoYXVsdCB1cG9uIHJlY2VpcHQgb2YgYSktLjEgRiBGNChTSUdIVVApNC41NDUgRQotRjUoLilBIEYwIDIuMDQ1KEJlZm9yZSBlKTYuNTQ1IEYgMi4wNDUoeGl0aW5nLCBhbiBpbnRlcmFjdGkpLS4xNSBGIDIuMzQ2Ci0tLjE1KHZlIHMpLS4yNSBIIDIuMDQ2KGhlbGwgcmVzZW5kcyB0aGUpLjE1IEYgRjQoU0lHSFVQKTEwOCAzMzMuNiBRIEYwCistLjE1KGV5KS0uMSBHKGJvYXJkLSkuMTUgRShnZW5lcmF0ZWQgam9iIGNvbnRyb2wgc2lnbmFscykxMDggNTU2LjggUSBGMworKFNJR1RUSU4pMi41IEUgRjQoLClBIEYzKFNJR1RUKTIuMjUgRShPVSktLjE2MiBFIEY0KCwpQSBGMChhbmQpMi4yNSBFIEYzCisoU0lHVFNUUCkyLjUgRSBGNCguKUEgRjAgMi4wNDUoVGhlIHNoZWxsIGUpMTA4IDU3My42IFIgMi4wNDUKKyh4aXRzIGJ5IGRlZiktLjE1IEYgMi4wNDUoYXVsdCB1cG9uIHJlY2VpcHQgb2YgYSktLjEgRiBGMyhTSUdIVVApNC41NDUgRQorRjQoLilBIEYwIDIuMDQ1KEJlZm9yZSBlKTYuNTQ1IEYgMi4wNDUoeGl0aW5nLCBhbiBpbnRlcmFjdGkpLS4xNSBGIDIuMzQ2CistLjE1KHZlIHMpLS4yNSBIIDIuMDQ2KGhlbGwgcmVzZW5kcyB0aGUpLjE1IEYgRjMoU0lHSFVQKTEwOCA1ODUuNiBRIEYwCiAxLjAwNSh0byBhbGwgam9icywgcnVubmluZyBvciBzdG9wcGVkLikzLjI1NSBGIDEuMDA0Ci0oU3RvcHBlZCBqb2JzIGFyZSBzZW50KTYuMDA1IEYgRjQoU0lHQ09OVCkzLjUwNCBFIEYwIDEuMDA0CisoU3RvcHBlZCBqb2JzIGFyZSBzZW50KTYuMDA1IEYgRjMoU0lHQ09OVCkzLjUwNCBFIEYwIDEuMDA0CiAodG8gZW5zdXJlIHRoYXQgdGhlKTMuMjU0IEYgMy41MDQoeXIpLS4xNSBHKGVjZWkpLTMuNTA0IEUgMS4zMDQgLS4xNQotKHZlIHQpLS4yNSBIKGhlKS4xNSBFIEY0KFNJR0hVUCkxMDggMzQ1LjYgUSBGNSguKUEgRjAgMi41MjkgLS44KFRvIHApCisodmUgdCktLjI1IEgoaGUpLjE1IEUgRjMoU0lHSFVQKTEwOCA1OTcuNiBRIEY0KC4pQSBGMCAyLjUyOSAtLjgoVG8gcCkKIDUuNDI5IEgocmUpLjggRSAtLjE1KHZlKS0uMjUgRyAuOTMobnQgdGhlIHNoZWxsIGZyb20gc2VuZGluZyB0aGUgc2lnbmFsXAogIHRvIGEgcGFydGljdWxhciBqb2IsIGl0IHNob3VsZCBiZSByZW1vKS4xNSBGIC0uMTUodmUpLS4xNSBHIDMuNDMoZGYpLjE1Ci1HIC45Myhyb20gdGhlKS0zLjQzIEYgMS4zNTcoam9icyB0YWJsZSB3aXRoIHRoZSkxMDggMzU3LjYgUiBGMihkaXNvKQotMy44NTcgRSh3biktLjEgRSBGMCAtLjIoYnUpMy44NTcgRyAxLjM1NyhpbHRpbiBcKHNlZSkuMiBGIEY0IDEuMzU2CitHIC45Myhyb20gdGhlKS0zLjQzIEYgMS4zNTcoam9icyB0YWJsZSB3aXRoIHRoZSkxMDggNjA5LjYgUiBGMShkaXNvKQorMy44NTcgRSh3biktLjEgRSBGMCAtLjIoYnUpMy44NTcgRyAxLjM1NyhpbHRpbiBcKHNlZSkuMiBGIEYzIDEuMzU2CiAoU0hFTEwgQikzLjg1NiBGKFVJTCktLjA5IEUgMS4zNTYoVElOIENPTU1BTkRTKS0uODI4IEYgRjAoYmVsbykzLjYwNiBFCi0xLjM1Nih3XCkgb3IgbWFyayktLjI1IEYgMS4zNTYoZWQgdG8gbm90IHJlY2VpKS0uMSBGIC0uMTUodmUpLS4yNSBHIEY0Ci0oU0lHSFVQKTEwOCAzNjkuNiBRIEYwKHVzaW5nKTIuMjUgRSBGMihkaXNvKTIuNSBFKHduIFwyNTVoKS0uMSBFIEYwKC4pQQotLjE2NihJZiB0aGUpMTA4IDM4Ni40IFIgRjIoaHVwb25leGl0KTIuNjY2IEUgRjAgLjE2NgotKHNoZWxsIG9wdGlvbiBoYXMgYmVlbiBzZXQgd2l0aCkyLjY2NiBGIEYyKHNob3B0KTIuNjY2IEUgRjAoLClBIEYyKGJhc2gpCi0yLjY2NiBFIEYwIC4xNjYoc2VuZHMgYSkyLjY2NiBGIEY0KFNJR0hVUCkyLjY2NiBFIEYwIC4xNjYKKzEuMzU2KHdcKSBvciBtYXJrKS0uMjUgRiAxLjM1NihlZCB0byBub3QgcmVjZWkpLS4xIEYgLS4xNSh2ZSktLjI1IEcgRjMKKyhTSUdIVVApMTA4IDYyMS42IFEgRjAodXNpbmcpMi4yNSBFIEYxKGRpc28pMi41IEUod24gXDI1NWgpLS4xIEUgRjAoLilBCisuMTY2KElmIHRoZSkxMDggNjM4LjQgUiBGMShodXBvbmV4aXQpMi42NjYgRSBGMCAuMTY2Cisoc2hlbGwgb3B0aW9uIGhhcyBiZWVuIHNldCB3aXRoKTIuNjY2IEYgRjEoc2hvcHQpMi42NjYgRSBGMCgsKUEgRjEoYmFzaCkKKzIuNjY2IEUgRjAgLjE2NihzZW5kcyBhKTIuNjY2IEYgRjMoU0lHSFVQKTIuNjY2IEUgRjAgLjE2NgogKHRvIGFsbCBqb2JzIHdoZW4gYW4gaW50ZXJhY3RpKTIuNDE2IEYgLS4xNSh2ZSktLjI1IEcobG9naW4gc2hlbGwgZSkxMDgKLTM5OC40IFEoeGl0cy4pLS4xNSBFKElmKTEwOCA0MTUuMiBRIEYyKGJhc2gpMy4wNDcgRSBGMCAuNTQ3KGlzIHcpMy4wNDcgRgorNjUwLjQgUSh4aXRzLiktLjE1IEUoSWYpMTA4IDY2Ny4yIFEgRjEoYmFzaCkzLjA0NyBFIEYwIC41NDcoaXMgdykzLjA0NyBGCiAuNTQ2KGFpdGluZyBmb3IgYSBjb21tYW5kIHRvIGNvbXBsZXRlIGFuZCByZWNlaSktLjEgRiAtLjE1KHZlKS0uMjUgRwogMy4wNDYoc2FzKS4xNSBHIC41NDYoaWduYWwgZm9yIHdoaWNoIGEgdHJhcCBoYXMgYmVlbiBzZXQsIHRoZSB0cmFwKQotLTMuMDQ2IEYgLjY2Mih3aWxsIG5vdCBiZSBlKTEwOCA0MjcuMiBSIC0uMTUoeGUpLS4xNSBHIC42NjIKLShjdXRlZCB1bnRpbCB0aGUgY29tbWFuZCBjb21wbGV0ZXMuKS4xNSBGKFdoZW4pNS42NjMgRSBGMihiYXNoKTMuMTYzIEUKKy0zLjA0NiBGIC42NjIod2lsbCBub3QgYmUgZSkxMDggNjc5LjIgUiAtLjE1KHhlKS0uMTUgRyAuNjYyCisoY3V0ZWQgdW50aWwgdGhlIGNvbW1hbmQgY29tcGxldGVzLikuMTUgRihXaGVuKTUuNjYzIEUgRjEoYmFzaCkzLjE2MyBFCiBGMCAuNjYzKGlzIHcpMy4xNjMgRiAuNjYzKGFpdGluZyBmb3IgYW4gYXN5bmNocm9ub3VzIGNvbW1hbmQpLS4xIEYgLjk5Ci0odmlhIHRoZSkxMDggNDM5LjIgUiBGMih3YWl0KTMuNDkgRSBGMCAtLjIoYnUpMy40OSBHIC45OShpbHRpbiwgdGhlIHJlY1wKLWVwdGlvbiBvZiBhIHNpZ25hbCBmb3Igd2hpY2ggYSB0cmFwIGhhcyBiZWVuIHNldCB3aWxsIGNhdXNlIHRoZSkuMiBGIEYyCisodmlhIHRoZSkxMDggNjkxLjIgUiBGMSh3YWl0KTMuNDkgRSBGMCAtLjIoYnUpMy40OSBHIC45OShpbHRpbiwgdGhlIHJlY1wKK2VwdGlvbiBvZiBhIHNpZ25hbCBmb3Igd2hpY2ggYSB0cmFwIGhhcyBiZWVuIHNldCB3aWxsIGNhdXNlIHRoZSkuMiBGIEYxCiAod2FpdCkzLjQ5IEUgRjAgLS4yKGJ1KTMuNDkgRyAuOTkoaWx0aW4gdG8pLjIgRgotKHJldHVybiBpbW1lZGlhdGVseSB3aXRoIGFuIGUpMTA4IDQ1MS4yIFEKKyhyZXR1cm4gaW1tZWRpYXRlbHkgd2l0aCBhbiBlKTEwOCA3MDMuMiBRCiAoeGl0IHN0YXR1cyBncmVhdGVyIHRoYW4gMTI4LCBpbW1lZGlhdGVseSBhZnRlciB3aGljaCB0aGUgdHJhcCBpcyBlKS0uMTUKLUUgLS4xNSh4ZSktLjE1IEcoY3V0ZWQuKS4xNSBFIEYzKEpPQiBDT05UUik3MiA0NjggUShPTCktLjMyOSBFIEYxIC0uMjUKLShKbykxMDggNDgwIFMgNC41NjcoYmMpLjI1IEcob250ciktNC41NjcgRShvbCktLjQ1IEUgRjAgMi4wNjcKLShyZWZlcnMgdG8gdGhlIGFiaWxpdHkgdG8gc2VsZWN0aSk1LjA3NyBGIC0uMTUodmUpLS4yNSBHIDIuMDY3Ci0obHkgc3RvcCBcKCkuMTUgRiBGMShzdXNwZW5kKUEgRjAgNC41NjcoXCl0KUMgMi4wNjgoaGUgZSktNC41NjcgRiAtLjE1Ci0oeGUpLS4xNSBHIDIuMDY4KGN1dGlvbiBvZiBwcm9jZXNzZXMgYW5kIGNvbnRpbnVlKS4xNSBGKFwoKTEwOCA0OTIgUSBGMQotLS4zNyhyZSlDKHN1bWUpLjM3IEUgRjAgMy4yMDIoXCl0KUMgLjcwMihoZWlyIGUpLTMuMjAyIEYgLS4xNSh4ZSktLjE1IEcKLS43MDIoY3V0aW9uIGF0IGEgbGF0ZXIgcG9pbnQuKS4xNSBGIDMuMjAyKEF1KTUuNzAyIEcgLjcwMgotKHNlciB0eXBpY2FsbHkgZW1wbG8pLTMuMjAyIEYgLjcwMih5cyB0aGlzIGYpLS4xIEYgLjcwMgotKGFjaWxpdHkgdmlhIGFuIGludGVyYWN0aSktLjEgRiAxLjAwMSAtLjE1KHZlIGkpLS4yNSBIKG50ZXJmKS4xNSBFKGFjZSkKLS0uMSBFKHN1cHBsaWVkIGpvaW50bHkgYnkgdGhlIHN5c3RlbScpMTA4IDUwNCBRIDIuNShzdCktLjU1IEcKLShlcm1pbmFsIGRyaSktMi41IEUgLS4xNSh2ZSktLjI1IEcgMi41KHJhKS4xNSBHKG5kKS0yLjUgRSBGMihiYXNoKTIuNSBFCi1GMCguKUEgLjc4NChUaGUgc2hlbGwgYXNzb2NpYXRlcyBhKTEwOCA1MjAuOCBSIEYxKGpvYik1LjAyNCBFIEYwIC43ODQKLSh3aXRoIGVhY2ggcGlwZWxpbmUuKTMuNTE0IEYgLjc4NChJdCBrKTUuNzg0IEYgLjc4NQotKGVlcHMgYSB0YWJsZSBvZiBjdXJyZW50bHkgZSktLjEgRiAtLjE1KHhlKS0uMTUgRyAuNzg1Ci0oY3V0aW5nIGpvYnMsIHdoaWNoIG1heSBiZSkuMTUgRiAuMzQxKGxpc3RlZCB3aXRoIHRoZSkxMDggNTMyLjggUiBGMgotKGpvYnMpMi44NDEgRSBGMCAyLjg0MShjb21tYW5kLiBXaGVuKTIuODQxIEYgRjIoYmFzaCkyLjg0MSBFIEYwIC4zNDEKLShzdGFydHMgYSBqb2IgYXN5bmNocm9ub3VzbHkgXChpbiB0aGUpMi44NDEgRiBGMShiYWMpMi44NCBFKGtnciktLjIgRQotKG91bmQpLS40NSBFIEYwIC4zNChcKSwgaXQgcHJpbnRzIGEgbGluZSkuNzcgRih0aGF0IGxvb2tzIGxpaykxMDggNTQ0LjgKLVEoZTopLS4xIEUoWzFdIDI1NjQ3KTE0NCA1NjEuNiBRIC4yNDEoaW5kaWNhdGluZyB0aGF0IHRoaXMgam9iIGlzIGpvYiBuXAotdW1iZXIgMSBhbmQgdGhhdCB0aGUgcHJvY2VzcyBJRCBvZiB0aGUgbGFzdCBwcm9jZXNzIGluIHRoZSBwaXBlbGluZSBhc3NcCi1vY2lhdGVkKTEwOCA1NzguNCBSIC43MzMod2l0aCB0aGlzIGpvYiBpcyAyNTY0Ny4pMTA4IDU5MC40IFIgLjczMgotKEFsbCBvZiB0aGUgcHJvY2Vzc2VzIGluIGEgc2luZ2xlIHBpcGVsaW5lIGFyZSBtZW1iZXJzIG9mIHRoZSBzYW1lIGpvYikKLTUuNzMzIEYoLiktLjQgRSBGMihCYXNoKTUuNzMyIEUgRjAodXNlcykzLjIzMiBFKHRoZSkxMDggNjAyLjQgUSBGMShqb2IpCi00LjI0IEUgRjAoYWJzdHJhY3Rpb24gYXMgdGhlIGJhc2lzIGZvciBqb2IgY29udHJvbC4pMi43MyBFIDMuMDYyIC0uOAotKFRvIGYpMTA4IDYxOS4yIFQgMS40NjIoYWNpbGl0YXRlIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgdXNlciBpbnRlcmYpCi0uNyBGIDEuNDYzKGFjZSB0byBqb2IgY29udHJvbCwgdGhlIG9wZXJhdGluZyBzeXN0ZW0gbWFpbnRhaW5zIHRoZSktLjEgRgotLjg3MShub3Rpb24gb2YgYSkxMDggNjMxLjIgUiBGMShjdXJyKTMuMzcxIEUgLjg3MShlbnQgdGVybWluYWwgcHIpLS4zNyBGCi0uODcxKG9jZXNzIGdyKS0uNDUgRiAuODcxKG91cCBJRCktLjQ1IEYgRjAgNS44NzEoLk0pQyAuODcKLShlbWJlcnMgb2YgdGhpcyBwcm9jZXNzIGdyb3VwIFwocHJvY2Vzc2VzIHdob3NlIHByb2Nlc3MpLTUuODcxIEYgLjAyMwotKGdyb3VwIElEIGlzIGVxdWFsIHRvIHRoZSBjdXJyZW50IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgSURcKSByZWNlaSkxMDgKLTY0My4yIFIgLjMyMyAtLjE1KHZlIGspLS4yNSBIIC0uMTUoZXkpLjA1IEcgLjAyMwotKGJvYXJkLWdlbmVyYXRlZCBzaWduYWxzIHN1Y2ggYXMpLjE1IEYgRjQoU0lHLSkyLjUyMyBFKElOVCkxMDggNjU1LjIgUQotRjUoLilBIEYwIDEuMzQ3KFRoZXNlIHByb2Nlc3NlcyBhcmUgc2FpZCB0byBiZSBpbiB0aGUpNS44NDcgRiBGMShmb3IpCi0zLjg0NiBFIC0uNChlZyktLjM3IEcgLS40NShybykuNCBHKHVuZCkuNDUgRSBGMCguKS43NyBFIEYxKEJhYyk2LjkyNiBFCi0oa2dyKS0uMiBFKG91bmQpLS40NSBFIEYwIDEuMzQ2KHByb2Nlc3NlcyBhcmUgdGhvc2Ugd2hvc2UgcHJvY2Vzcyk0LjYxNgotRiAuMTQ1KGdyb3VwIElEIGRpZikxMDggNjY3LjIgUiAuMTQ1KGZlcnMgZnJvbSB0aGUgdGVybWluYWwnKS0uMjUgRiAuMTQ2Ci0oczsgc3VjaCBwcm9jZXNzZXMgYXJlIGltbXVuZSB0byBrKS0uNTUgRiAtLjE1KGV5KS0uMSBHIC4xNDYKLShib2FyZC1nZW5lcmF0ZWQgc2lnbmFscy4pLjE1IEYgLjE0NihPbmx5IGZvcmUtKTUuMTQ2IEYgLjA0MgotKGdyb3VuZCBwcm9jZXNzZXMgYXJlIGFsbG8pMTA4IDY3OS4yIFIgLjA0MgotKHdlZCB0byByZWFkIGZyb20gb3Igd3JpdGUgdG8gdGhlIHRlcm1pbmFsLiktLjI1IEYgLjA0MgotKEJhY2tncm91bmQgcHJvY2Vzc2VzIHdoaWNoIGF0dGVtcHQgdG8pNS4wNDIgRiAxLjYzOQotKHJlYWQgZnJvbSBcKHdyaXRlIHRvXCkgdGhlIHRlcm1pbmFsIGFyZSBzZW50IGEpMTA4IDY5MS4yIFIgRjQgMS42NAotKFNJR1RUSU4gXChTSUdUVCk0LjE0IEYoT1VcKSktLjE2MiBFIEYwIDEuNjQoc2lnbmFsIGJ5IHRoZSB0ZXJtaW5hbCBkcmkpCi0zLjg5IEYgLS4xNSh2ZSktLjI1IEcgMi40NCAtLjQociwgdykuMTUgSChoaWNoLCkuNCBFCi0odW5sZXNzIGNhdWdodCwgc3VzcGVuZHMgdGhlIHByb2Nlc3MuKTEwOCA3MDMuMiBRIDEuMDg4Ci0oSWYgdGhlIG9wZXJhdGluZyBzeXN0ZW0gb24gd2hpY2gpMTA4IDcyMCBSIEYyKGJhc2gpMy41ODggRSBGMCAxLjA4OAotKGlzIHJ1bm5pbmcgc3VwcG9ydHMgam9iIGNvbnRyb2wsKTMuNTg4IEYgRjIoYmFzaCkzLjU4NyBFIEYwIDEuMDg3Ci0oY29udGFpbnMgZikzLjU4NyBGIDEuMDg3KGFjaWxpdGllcyB0byB1c2UgaXQuKS0uMSBGKEdOVSBCYXNoLTQuMCk3MiA3NjgKLVEoMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFKDMxKTE5MC45NSBFIDAgQ2cgRVAKK0UgLS4xNSh4ZSktLjE1IEcoY3V0ZWQuKS4xNSBFKEdOVSBCYXNoLTQuMSk3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KQorMTM1Ljk2NSBFKDMxKTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDMyIDMyCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFIC0uOChUeSkxMDggODQgUyAuMzAxKHBpbmcgdGhlKS44IEYvRjEgMTAvVGltZXMtSXRhbGljQDAgU0YKLShzdXNwZW5kKTMuMTQxIEUgRjAgLjMwMShjaGFyYWN0ZXIgXCh0eXBpY2FsbHkpMy41NzEgRi9GMiAxMAotL1RpbWVzLUJvbGRAMCBTRiheWikyLjgwMSBFIEYwIDIuODAxKCxDKUMgLjMwMQorLS4zNSBFL0YxIDEwLjk1L1RpbWVzLUJvbGRAMCBTRihKT0IgQ09OVFIpNzIgODQgUShPTCktLjMyOSBFL0YyIDEwCisvVGltZXMtSXRhbGljQDAgU0YgLS4yNShKbykxMDggOTYgUyA0LjU2NyhiYykuMjUgRyhvbnRyKS00LjU2NyBFKG9sKS0uNDUKK0UgRjAgMi4wNjcocmVmZXJzIHRvIHRoZSBhYmlsaXR5IHRvIHNlbGVjdGkpNS4wNzcgRiAtLjE1KHZlKS0uMjUgRyAyLjA2NworKGx5IHN0b3AgXCgpLjE1IEYgRjIoc3VzcGVuZClBIEYwIDQuNTY3KFwpdClDIDIuMDY4KGhlIGUpLTQuNTY3IEYgLS4xNQorKHhlKS0uMTUgRyAyLjA2OChjdXRpb24gb2YgcHJvY2Vzc2VzIGFuZCBjb250aW51ZSkuMTUgRihcKCkxMDggMTA4IFEgRjIKKy0uMzcocmUpQyhzdW1lKS4zNyBFIEYwIDMuMjAyKFwpdClDIC43MDIoaGVpciBlKS0zLjIwMiBGIC0uMTUoeGUpLS4xNSBHCisuNzAyKGN1dGlvbiBhdCBhIGxhdGVyIHBvaW50LikuMTUgRiAzLjIwMihBdSk1LjcwMiBHIC43MDIKKyhzZXIgdHlwaWNhbGx5IGVtcGxvKS0zLjIwMiBGIC43MDIoeXMgdGhpcyBmKS0uMSBGIC43MDIKKyhhY2lsaXR5IHZpYSBhbiBpbnRlcmFjdGkpLS4xIEYgMS4wMDEgLS4xNSh2ZSBpKS0uMjUgSChudGVyZikuMTUgRShhY2UpCistLjEgRShzdXBwbGllZCBqb2ludGx5IGJ5IHRoZSBvcGVyYXRpbmcgc3lzdGVtIGspMTA4IDEyMCBRKGVybmVsJyktLjEgRQorMi41KHN0KS0uNTUgRyhlcm1pbmFsIGRyaSktMi41IEUgLS4xNSh2ZSktLjI1IEcgMi41KHJhKS4xNSBHKG5kKS0yLjUgRQorL0YzIDEwL1RpbWVzLUJvbGRAMCBTRihiYXNoKTIuNSBFIEYwKC4pQSAuNzg0KFRoZSBzaGVsbCBhc3NvY2lhdGVzIGEpMTA4CisxMzYuOCBSIEYyKGpvYik1LjAyNCBFIEYwIC43ODQod2l0aCBlYWNoIHBpcGVsaW5lLikzLjUxNCBGIC43ODQoSXQgaykKKzUuNzg0IEYgLjc4NShlZXBzIGEgdGFibGUgb2YgY3VycmVudGx5IGUpLS4xIEYgLS4xNSh4ZSktLjE1IEcgLjc4NQorKGN1dGluZyBqb2JzLCB3aGljaCBtYXkgYmUpLjE1IEYgLjM0MShsaXN0ZWQgd2l0aCB0aGUpMTA4IDE0OC44IFIgRjMKKyhqb2JzKTIuODQxIEUgRjAgMi44NDEoY29tbWFuZC4gV2hlbikyLjg0MSBGIEYzKGJhc2gpMi44NDEgRSBGMCAuMzQxCisoc3RhcnRzIGEgam9iIGFzeW5jaHJvbm91c2x5IFwoaW4gdGhlKTIuODQxIEYgRjIoYmFjKTIuODQgRShrZ3IpLS4yIEUKKyhvdW5kKS0uNDUgRSBGMCAuMzQoXCksIGl0IHByaW50cyBhIGxpbmUpLjc3IEYodGhhdCBsb29rcyBsaWspMTA4IDE2MC44CitRKGU6KS0uMSBFKFsxXSAyNTY0NykxNDQgMTc3LjYgUSAuMjQxKGluZGljYXRpbmcgdGhhdCB0aGlzIGpvYiBpcyBqb2IgblwKK3VtYmVyIDEgYW5kIHRoYXQgdGhlIHByb2Nlc3MgSUQgb2YgdGhlIGxhc3QgcHJvY2VzcyBpbiB0aGUgcGlwZWxpbmUgYXNzXAorb2NpYXRlZCkxMDggMTk0LjQgUiAuNzMzKHdpdGggdGhpcyBqb2IgaXMgMjU2NDcuKTEwOCAyMDYuNCBSIC43MzIKKyhBbGwgb2YgdGhlIHByb2Nlc3NlcyBpbiBhIHNpbmdsZSBwaXBlbGluZSBhcmUgbWVtYmVycyBvZiB0aGUgc2FtZSBqb2IpCis1LjczMyBGKC4pLS40IEUgRjMoQmFzaCk1LjczMiBFIEYwKHVzZXMpMy4yMzIgRSh0aGUpMTA4IDIxOC40IFEgRjIoam9iKQorNC4yNCBFIEYwKGFic3RyYWN0aW9uIGFzIHRoZSBiYXNpcyBmb3Igam9iIGNvbnRyb2wuKTIuNzMgRSAzLjA2MiAtLjgKKyhUbyBmKTEwOCAyMzUuMiBUIDEuNDYyKGFjaWxpdGF0ZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIHVzZXIgaW50ZXJmKQorLjcgRiAxLjQ2MyhhY2UgdG8gam9iIGNvbnRyb2wsIHRoZSBvcGVyYXRpbmcgc3lzdGVtIG1haW50YWlucyB0aGUpLS4xIEYKKy44NzEobm90aW9uIG9mIGEpMTA4IDI0Ny4yIFIgRjIoY3VycikzLjM3MSBFIC44NzEoZW50IHRlcm1pbmFsIHByKS0uMzcgRgorLjg3MShvY2VzcyBnciktLjQ1IEYgLjg3MShvdXAgSUQpLS40NSBGIEYwIDUuODcxKC5NKUMgLjg3CisoZW1iZXJzIG9mIHRoaXMgcHJvY2VzcyBncm91cCBcKHByb2Nlc3NlcyB3aG9zZSBwcm9jZXNzKS01Ljg3MSBGIC4wMjMKKyhncm91cCBJRCBpcyBlcXVhbCB0byB0aGUgY3VycmVudCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwIElEXCkgcmVjZWkpMTA4CisyNTkuMiBSIC4zMjMgLS4xNSh2ZSBrKS0uMjUgSCAtLjE1KGV5KS4wNSBHIC4wMjMKKyhib2FyZC1nZW5lcmF0ZWQgc2lnbmFscyBzdWNoIGFzKS4xNSBGL0Y0IDkvVGltZXMtQm9sZEAwIFNGKFNJRy0pMi41MjMgRQorKElOVCkxMDggMjcxLjIgUS9GNSA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIDEuMzQ3CisoVGhlc2UgcHJvY2Vzc2VzIGFyZSBzYWlkIHRvIGJlIGluIHRoZSk1Ljg0NyBGIEYyKGZvcikzLjg0NiBFIC0uNChlZykKKy0uMzcgRyAtLjQ1KHJvKS40IEcodW5kKS40NSBFIEYwKC4pLjc3IEUgRjIoQmFjKTYuOTI2IEUoa2dyKS0uMiBFKG91bmQpCistLjQ1IEUgRjAgMS4zNDYocHJvY2Vzc2VzIGFyZSB0aG9zZSB3aG9zZSBwcm9jZXNzKTQuNjE2IEYgLjE0NQorKGdyb3VwIElEIGRpZikxMDggMjgzLjIgUiAuMTQ1KGZlcnMgZnJvbSB0aGUgdGVybWluYWwnKS0uMjUgRiAuMTQ2Cisoczsgc3VjaCBwcm9jZXNzZXMgYXJlIGltbXVuZSB0byBrKS0uNTUgRiAtLjE1KGV5KS0uMSBHIC4xNDYKKyhib2FyZC1nZW5lcmF0ZWQgc2lnbmFscy4pLjE1IEYgLjE0NihPbmx5IGZvcmUtKTUuMTQ2IEYgLjE2CisoZ3JvdW5kIHByb2Nlc3NlcyBhcmUgYWxsbykxMDggMjk1LjIgUiAuMTYod2VkIHRvIHJlYWQgZnJvbSBvciktLjI1IEYKKzIuNjYoLGkpLS40IEcgMi42NihmdCktMi42NiBHIC4xNihoZSB1c2VyIHNvIHNwZWNpXDIxNGVzIHdpdGgpLTIuNjYgRi9GNgorMTAvQ291cmllckAwIFNGIC4xNihzdHR5IHRvc3RvcCkyLjY2IEYgRjAgMi42NigsdylDIC4xNihyaXRlIHRvIHRoZSB0ZXIpCistMi42NiBGKC0pLS4yIEUgMy4wNTEobWluYWwuIEJhY2tncm91bmQpMTA4IDMwNy4yIFIgLjU1MQorKHByb2Nlc3NlcyB3aGljaCBhdHRlbXB0IHRvIHJlYWQgZnJvbSBcKHdyaXRlIHRvIHdoZW4pMy4wNTEgRiBGNiAuNTUxCisoc3R0eSB0b3N0b3ApMy4wNTEgRiBGMCAuNTUyKGlzIGluIGVmKTMuMDUyIEYgLjU1MihmZWN0XCkgdGhlKS0uMjUgRgorLjcxOCh0ZXJtaW5hbCBhcmUgc2VudCBhKTEwOCAzMTkuMiBSIEY0IC43MTgoU0lHVFRJTiBcKFNJR1RUKTMuMjE4IEYKKyhPVVwpKS0uMTYyIEUgRjAgLjcxOChzaWduYWwgYnkgdGhlIGspMi45NjggRihlcm5lbCcpLS4xIEUgMy4yMTcoc3QpLS41NQorRyAuNzE3KGVybWluYWwgZHJpKS0zLjIxNyBGIC0uMTUodmUpLS4yNSBHIDEuNTE3IC0uNChyLCB3KS4xNSBIIC43MTcKKyhoaWNoLCB1bmxlc3MgY2F1Z2h0LCBzdXMtKS40IEYocGVuZHMgdGhlIHByb2Nlc3MuKTEwOCAzMzEuMiBRIDEuMDg3CisoSWYgdGhlIG9wZXJhdGluZyBzeXN0ZW0gb24gd2hpY2gpMTA4IDM0OCBSIEYzKGJhc2gpMy41ODcgRSBGMCAxLjA4OAorKGlzIHJ1bm5pbmcgc3VwcG9ydHMgam9iIGNvbnRyb2wsKTMuNTg4IEYgRjMoYmFzaCkzLjU4OCBFIEYwIDEuMDg4CisoY29udGFpbnMgZikzLjU4OCBGIDEuMDg4KGFjaWxpdGllcyB0byB1c2UgaXQuKS0uMSBGIC0uOChUeSkxMDggMzYwIFMKKy4zMDIocGluZyB0aGUpLjggRiBGMihzdXNwZW5kKTMuMTQyIEUgRjAgLjMwMihjaGFyYWN0ZXIgXCh0eXBpY2FsbHkpCiszLjU3MiBGIEYzKF5aKTIuODAxIEUgRjAgMi44MDEoLEMpQyAuMzAxCiAob250cm9sLVpcKSB3aGlsZSBhIHByb2Nlc3MgaXMgcnVubmluZyBjYXVzZXMgdGhhdCBwcm9jZXNzIHRvIGJlKS0yLjgwMQotRiAyLjE0MyhzdG9wcGVkIGFuZCByZXR1cm5zIGNvbnRyb2wgdG8pMTA4IDk2IFIgRjIoYmFzaCk0LjY0MiBFIEYwIDcuMTQyCi0oLlQpQyAyLjE0Mih5cGluZyB0aGUpLTcuOTQyIEYgRjEgMi4xNDIoZGVsYXllZCBzdXNwZW5kKTQuOTkyIEYgRjAgMi4xNDIKLShjaGFyYWN0ZXIgXCh0eXBpY2FsbHkpNS40MTIgRiBGMiheWSk0LjY0MiBFIEYwIDQuNjQyKCxDKUMob250cm9sLVlcKSkKLS00LjY0MiBFIC4wMjEoY2F1c2VzIHRoZSBwcm9jZXNzIHRvIGJlIHN0b3BwZWQgd2hlbiBpdCBhdHRlbXB0cyB0byByZWFkXAotIGlucHV0IGZyb20gdGhlIHRlcm1pbmFsLCBhbmQgY29udHJvbCB0byBiZSByZXR1cm5lZCkxMDggMTA4IFIodG8pMTA4Ci0xMjAgUSBGMihiYXNoKTMuMzkyIEUgRjAgNS44OTIoLlQpQyAuODkyCitGIDIuMTQyKHN0b3BwZWQgYW5kIHJldHVybnMgY29udHJvbCB0bykxMDggMzcyIFIgRjMoYmFzaCk0LjY0MiBFIEYwCis3LjE0MiguVClDIDIuMTQyKHlwaW5nIHRoZSktNy45NDIgRiBGMiAyLjE0MihkZWxheWVkIHN1c3BlbmQpNC45OTIgRiBGMAorMi4xNDMoY2hhcmFjdGVyIFwodHlwaWNhbGx5KTUuNDEzIEYgRjMoXlkpNC42NDMgRSBGMCA0LjY0MygsQylDCisob250cm9sLVlcKSktNC42NDMgRSAuMDIxKGNhdXNlcyB0aGUgcHJvY2VzcyB0byBiZSBzdG9wcGVkIHdoZW4gaXQgYXR0ZVwKK21wdHMgdG8gcmVhZCBpbnB1dCBmcm9tIHRoZSB0ZXJtaW5hbCwgYW5kIGNvbnRyb2wgdG8gYmUgcmV0dXJuZWQpMTA4IDM4NAorUih0bykxMDggMzk2IFEgRjMoYmFzaCkzLjM5MiBFIEYwIDUuODkyKC5UKUMgLjg5MgogKGhlIHVzZXIgbWF5IHRoZW4gbWFuaXB1bGF0ZSB0aGUgc3RhdGUgb2YgdGhpcyBqb2IsIHVzaW5nIHRoZSktNS44OTIgRgotRjIoYmcpMy4zOTIgRSBGMCAuODkyKGNvbW1hbmQgdG8gY29udGludWUgaXQgaW4gdGhlKTMuMzkyIEYgLjg5NAotKGJhY2tncm91bmQsIHRoZSkxMDggMTMyIFIgRjIoZmcpMy4zOTQgRSBGMCAuODk1Ci0oY29tbWFuZCB0byBjb250aW51ZSBpdCBpbiB0aGUgZm9yZSkzLjM5NCBGIC44OTUoZ3JvdW5kLCBvciB0aGUpLS4xNSBGCi1GMihraWxsKTMuMzk1IEUgRjAgLjg5NShjb21tYW5kIHRvIGtpbGwgaXQuKTMuMzk1IEYoQSk1Ljg5NSBFIEYyKF5aKQotMy4zOTUgRSBGMCh0YWspMy4zOTUgRShlcyktLjEgRShlZikxMDggMTQ0IFEgLjk0OShmZWN0IGltbWVkaWF0ZWx5KS0uMjUKLUYgMy40NDkoLGEpLS42NSBHIC45NDgobmQgaGFzIHRoZSBhZGRpdGlvbmFsIHNpZGUgZWYpLTMuNDQ5IEYgLjk0OAorRjMoYmcpMy4zOTIgRSBGMCAuODkyKGNvbW1hbmQgdG8gY29udGludWUgaXQgaW4gdGhlKTMuMzkyIEYgLjg5NQorKGJhY2tncm91bmQsIHRoZSkxMDggNDA4IFIgRjMoZmcpMy4zOTUgRSBGMCAuODk1CisoY29tbWFuZCB0byBjb250aW51ZSBpdCBpbiB0aGUgZm9yZSkzLjM5NSBGIC44OTUoZ3JvdW5kLCBvciB0aGUpLS4xNSBGCitGMyhraWxsKTMuMzk1IEUgRjAgLjg5NChjb21tYW5kIHRvIGtpbGwgaXQuKTMuMzk1IEYoQSk1Ljg5NCBFIEYzKF5aKQorMy4zOTQgRSBGMCh0YWspMy4zOTQgRShlcyktLjEgRShlZikxMDggNDIwIFEgLjk0OChmZWN0IGltbWVkaWF0ZWx5KS0uMjUKK0YgMy40NDgoLGEpLS42NSBHIC45NDgobmQgaGFzIHRoZSBhZGRpdGlvbmFsIHNpZGUgZWYpLTMuNDQ4IEYgLjk0OAogKGZlY3Qgb2YgY2F1c2luZyBwZW5kaW5nIG91dHB1dCBhbmQgdHlwZWFoZWFkIHRvIGJlIGRpcy0pLS4yNSBGKGNhcmRlZC4pCi0xMDggMTU2IFEgLjc3NyhUaGVyZSBhcmUgYSBudW1iZXIgb2YgdykxMDggMTcyLjggUiAuNzc3Ci0oYXlzIHRvIHJlZmVyIHRvIGEgam9iIGluIHRoZSBzaGVsbC4pLS4xIEYgLjc3NyhUaGUgY2hhcmFjdGVyKTUuNzc3IEYgRjIKLSglKTMuMjc3IEUgRjAgLjc3NyhpbnRyb2R1Y2VzIGEgam9iIHNwZWNpXDIxNGNhdGlvbikzLjI3NyBGKFwoKTEwOCAxODQuOAotUSBGMShqb2JzcGVjKUEgRjAgMy40NTgoXCkuIEpvYilCKG51bWJlcikzLjQ1OCBFIEYxKG4pMy44MTggRSBGMCAuOTU3Ci0obWF5IGJlIHJlZmVycmVkIHRvIGFzKTMuNjk3IEYgRjIoJW4pMy40NTcgRSBGMCA1Ljk1NyguQSlDIC45NTcKKzEwOCA0MzIgUSAuNzc3KFRoZXJlIGFyZSBhIG51bWJlciBvZiB3KTEwOCA0NDguOCBSIC43NzcKKyhheXMgdG8gcmVmZXIgdG8gYSBqb2IgaW4gdGhlIHNoZWxsLiktLjEgRiAuNzc3KFRoZSBjaGFyYWN0ZXIpNS43NzcgRiBGMworKCUpMy4yNzcgRSBGMCAuNzc3KGludHJvZHVjZXMgYSBqb2Igc3BlY2lcMjE0Y2F0aW9uKTMuMjc3IEYoXCgpMTA4IDQ2MC44CitRIEYyKGpvYnNwZWMpQSBGMCAzLjQ1NyhcKS4gSm9iKUIobnVtYmVyKTMuNDU3IEUgRjIobikzLjgxNyBFIEYwIC45NTcKKyhtYXkgYmUgcmVmZXJyZWQgdG8gYXMpMy42OTcgRiBGMyglbikzLjQ1NyBFIEYwIDUuOTU3KC5BKUMgLjk1NwogKGpvYiBtYXkgYWxzbyBiZSByZWZlcnJlZCB0byB1c2luZyBhIHByZVwyMTR4IG9mIHRoZSktMi41IEYgLjU5KG5hbWUgdXNcCiBlZCB0byBzdGFydCBpdCwgb3IgdXNpbmcgYSBzdWJzdHJpbmcgdGhhdCBhcHBlYXJzIGluIGl0cyBjb21tYW5kIGxpbmUuKQotMTA4IDE5Ni44IFIgLS4xNShGbyk1LjU5IEcgMy4wOShyZSkuMTUgRyh4YW1wbGUsKS0zLjI0IEUgRjIoJWNlKTMuMDkgRQotRjAgLjU5KHJlZmVycyB0byBhKTMuMDkgRihzdG9wcGVkKTEwOCAyMDguOCBRIEYyKGNlKTMuNDY0IEUgRjAoam9iKTMuNDY0Ci1FIDUuOTY0KC5JKS0uNCBHIDMuNDYzKGZhcCktNS45NjQgRyAuOTYzCi0ocmVcMjE0eCBtYXRjaGVzIG1vcmUgdGhhbiBvbmUgam9iLCktMy40NjMgRiBGMihiYXNoKTMuNDYzIEUgRjAgLjk2MwotKHJlcG9ydHMgYW4gZXJyb3IpMy40NjMgRiA1Ljk2MyguVSktLjU1IEcoc2luZyktNS45NjMgRSBGMiglP2NlKTMuNDYzIEUKLUYwIDMuNDYzKCxvKUMgMy40NjMobnQpLTMuNDYzIEcgLjk2MyhoZSBvdGhlciktMy40NjMgRiAuMDg2Ci0oaGFuZCwgcmVmZXJzIHRvIGFuKTEwOCAyMjAuOCBSIDIuNTg3KHlqKS0uMTUgRyAuMDg3Ci0ob2IgY29udGFpbmluZyB0aGUgc3RyaW5nKS0yLjU4NyBGIEYyKGNlKTIuNTg3IEUgRjAgLjA4NworMTA4IDQ3Mi44IFIgLS4xNShGbyk1LjU5IEcgMy4wOShyZSkuMTUgRyh4YW1wbGUsKS0zLjI0IEUgRjMoJWNlKTMuMDkgRQorRjAgLjU5KHJlZmVycyB0byBhKTMuMDkgRihzdG9wcGVkKTEwOCA0ODQuOCBRIEYzKGNlKTMuNDYzIEUgRjAoam9iKTMuNDYzCitFIDUuOTYzKC5JKS0uNCBHIDMuNDYzKGZhcCktNS45NjMgRyAuOTYzCisocmVcMjE0eCBtYXRjaGVzIG1vcmUgdGhhbiBvbmUgam9iLCktMy40NjMgRiBGMyhiYXNoKTMuNDYzIEUgRjAgLjk2MworKHJlcG9ydHMgYW4gZXJyb3IpMy40NjMgRiA1Ljk2MyguVSktLjU1IEcoc2luZyktNS45NjMgRSBGMyglP2NlKTMuNDYzIEUKK0YwIDMuNDY0KCxvKUMgMy40NjQobnQpLTMuNDY0IEcgLjk2NChoZSBvdGhlciktMy40NjQgRiAuMDg3CisoaGFuZCwgcmVmZXJzIHRvIGFuKTEwOCA0OTYuOCBSIDIuNTg3KHlqKS0uMTUgRyAuMDg3Cisob2IgY29udGFpbmluZyB0aGUgc3RyaW5nKS0yLjU4NyBGIEYzKGNlKTIuNTg3IEUgRjAgLjA4NwogKGluIGl0cyBjb21tYW5kIGxpbmUuKTIuNTg3IEYgLjA4NwotKElmIHRoZSBzdWJzdHJpbmcgbWF0Y2hlcyBtb3JlIHRoYW4gb25lKTUuMDg3IEYoam9iLCkxMDggMjMyLjggUSBGMgorKElmIHRoZSBzdWJzdHJpbmcgbWF0Y2hlcyBtb3JlIHRoYW4gb25lKTUuMDg3IEYoam9iLCkxMDggNTA4LjggUSBGMwogKGJhc2gpMi41MTggRSBGMCAuMDE4KHJlcG9ydHMgYW4gZXJyb3IpMi41MTggRiA1LjAxOCguVCktLjU1IEcgLjAxOAotKGhlIHN5bWJvbHMpLTUuMDE4IEYgRjIoJSUpMi41MTggRSBGMChhbmQpMi41MTggRSBGMiglKykyLjUxOCBFIEYwIC4wMTgKKyhoZSBzeW1ib2xzKS01LjAxOCBGIEYzKCUlKTIuNTE4IEUgRjAoYW5kKTIuNTE4IEUgRjMoJSspMi41MTggRSBGMCAuMDE4CiAocmVmZXIgdG8gdGhlIHNoZWxsJykyLjUxOCBGIDIuNTE4KHNuKS0uNTUgRyAuMDE4KG90aW9uIG9mIHRoZSktMi41MTggRgotRjEoY3VycikyLjUxOCBFIC4wMTgoZW50IGpvYiktLjM3IEYgRjAgMi41MTgoLHcpLjIzIEcgLjAxOChoaWNoIGlzKQotLTIuNTE4IEYgLjQ5NCh0aGUgbGFzdCBqb2Igc3RvcHBlZCB3aGlsZSBpdCB3KTEwOCAyNDQuOCBSIC40OTUKK0YyKGN1cnIpMi41MTggRSAuMDE4KGVudCBqb2IpLS4zNyBGIEYwIDIuNTE4KCx3KS4yMyBHIC4wMTgoaGljaCBpcykKKy0yLjUxOCBGIC40OTUodGhlIGxhc3Qgam9iIHN0b3BwZWQgd2hpbGUgaXQgdykxMDggNTIwLjggUiAuNDk1CiAoYXMgaW4gdGhlIGZvcmUpLS4xIEYgLjQ5NShncm91bmQgb3Igc3RhcnRlZCBpbiB0aGUgYmFja2dyb3VuZC4pLS4xNSBGCi0oVGhlKTUuNDk1IEUgRjEocHIpNC4yNDUgRSAtLjE1KGV2KS0uMzcgRyAuNDk1KGlvdXMgam9iKS4xNSBGIEYwIC40OTUKLShtYXkgYmUpMy4yMjUgRiAuNzg4KHJlZmVyZW5jZWQgdXNpbmcpMTA4IDI1Ni44IFIgRjI8MjVhZD4zLjI4OCBFIEYwCi01Ljc4OCguSSlDIDMuMjg4KGZ0KS01Ljc4OCBHIC43ODcoaGVyZSBpcyBvbmx5IGEgc2luZ2xlIGpvYiwpLTMuMjg4IEYgRjIKLSglKykzLjI4NyBFIEYwKGFuZCkzLjI4NyBFIEYyPDI1YWQ+My4yODcgRSBGMCAuNzg3Ci0oY2FuIGJvdGggYmUgdXNlZCB0byByZWZlciB0byB0aGF0IGpvYikzLjI4NyBGIDUuNzg3KC5JKS0uNCBHKG4pLTUuNzg3IEUKLS4yNTYob3V0cHV0IHBlcnRhaW5pbmcgdG8gam9icyBcKGUuZy4sIHRoZSBvdXRwdXQgb2YgdGhlKTEwOCAyNjguOCBSIEYyCisoVGhlKTUuNDk0IEUgRjIocHIpNC4yNDQgRSAtLjE1KGV2KS0uMzcgRyAuNDk0KGlvdXMgam9iKS4xNSBGIEYwIC40OTQKKyhtYXkgYmUpMy4yMjQgRiAuNzg3KHJlZmVyZW5jZWQgdXNpbmcpMTA4IDUzMi44IFIgRjM8MjVhZD4zLjI4NyBFIEYwCis1Ljc4NyguSSlDIDMuMjg3KGZ0KS01Ljc4NyBHIC43ODcoaGVyZSBpcyBvbmx5IGEgc2luZ2xlIGpvYiwpLTMuMjg3IEYgRjMKKyglKykzLjI4NyBFIEYwKGFuZCkzLjI4NyBFIEYzPDI1YWQ+My4yODcgRSBGMCAuNzg4CisoY2FuIGJvdGggYmUgdXNlZCB0byByZWZlciB0byB0aGF0IGpvYikzLjI4NyBGIDUuNzg4KC5JKS0uNCBHKG4pLTUuNzg4IEUKKy4yNTcob3V0cHV0IHBlcnRhaW5pbmcgdG8gam9icyBcKGUuZy4sIHRoZSBvdXRwdXQgb2YgdGhlKTEwOCA1NDQuOCBSIEYzCiAoam9icykyLjc1NiBFIEYwIC4yNTYoY29tbWFuZFwpLCB0aGUgY3VycmVudCBqb2IgaXMgYWwpMi43NTYgRiAtLjEod2EpCi0tLjEgRyAuMjU3KHlzIFwyMTVhZ2dlZCB3aXRoIGEpLjEgRiBGMigrKTIuNzU3IEUgRjAoLClBIC40MTEKLShhbmQgdGhlIHByZSkxMDggMjgwLjggUiAuNDExKHZpb3VzIGpvYiB3aXRoIGEpLS4yNSBGIEYyPGFkPjIuOTExIEUgRjAKLTUuNDExKC5BKUMgLjQxMShzaW5nbGUgJSBcKHdpdGggbm8gYWNjb21wYW4pLTIuNSBGIC40MQorLS4xIEcgLjI1Nih5cyBcMjE1YWdnZWQgd2l0aCBhKS4xIEYgRjMoKykyLjc1NiBFIEYwKCwpQSAuNDEoYW5kIHRoZSBwcmUpCisxMDggNTU2LjggUiAuNDEodmlvdXMgam9iIHdpdGggYSktLjI1IEYgRjM8YWQ+Mi45MSBFIEYwIDUuNDEoLkEpQyAuNDExCisoc2luZ2xlICUgXCh3aXRoIG5vIGFjY29tcGFuKS0yLjUgRiAuNDExCiAoeWluZyBqb2Igc3BlY2lcMjE0Y2F0aW9uXCkgYWxzbyByZWZlcnMgdG8gdGhlIGN1ciktLjE1IEYoLSktLjIgRQotKHJlbnQgam9iKTEwOCAyOTIuOCBRKC4pLS40IEUgLjQ0MwotKFNpbXBseSBuYW1pbmcgYSBqb2IgY2FuIGJlIHVzZWQgdG8gYnJpbmcgaXQgaW50byB0aGUgZm9yZSkxMDggMzA5LjYgUgotKGdyb3VuZDopLS4xNSBFIEYyKCUxKTIuOTQ0IEUgRjAgLjQ0NChpcyBhIHN5bm9uKTIuOTQ0IEYgLjQ0NCh5bSBmb3IpCi0tLjE1IEYgRjIgLS42MyhgYCkyLjk0NCBHIC40NDQoZmcgJTEnKS42MyBGKCcpLS42MyBFIEYwIDIuOTQ0KCxiKUMKLShyaW5naW5nKS0yLjk0NCBFIDEuNDczKGpvYiAxIGZyb20gdGhlIGJhY2tncm91bmQgaW50byB0aGUgZm9yZSkxMDgKLTMyMS42IFIgMy45NzMoZ3JvdW5kLiBTaW1pbGFybHkpLS4xNSBGKCwpLS42NSBFIEYyIC0uNjMoYGApMy45NzIgRyAxLjQ3MgotKCUxICYnKS42MyBGKCcpLS42MyBFIEYwIDEuNDcyKHJlc3VtZXMgam9iIDEgaW4gdGhlIGJhY2tncm91bmQsKTMuOTcyIEYKLShlcXVpKTEwOCAzMzMuNiBRIC0uMjUodmEpLS4yNSBHKGxlbnQgdG8pLjI1IEUgRjIgLS42MyhgYCkyLjUgRyhiZyAlMScpCi0uNjMgRSgnKS0uNjMgRSBGMCguKUEgLjEzKFRoZSBzaGVsbCBsZWFybnMgaW1tZWRpYXRlbHkgd2hlbmUpMTA4IDM1MC40IFIKLS0uMTUodmUpLS4yNSBHIDIuNjMocmFqKS4xNSBHIC4xMyhvYiBjaGFuZ2VzIHN0YXRlLiktMi42MyBGKE5vcm1hbGx5KQotNS4xMzEgRSgsKS0uNjUgRSBGMihiYXNoKTIuNjMxIEUgRjAgLS4xKHdhKTIuNjMxIEcgLjEzMQotKGl0cyB1bnRpbCBpdCBpcyBhYm91dCB0byBwcmludCBhKS4xIEYgLjE1OAotKHByb21wdCBiZWZvcmUgcmVwb3J0aW5nIGNoYW5nZXMgaW4gYSBqb2InKTEwOCAzNjIuNCBSIDIuNjU4KHNzKS0uNTUgRwotLjE1OCh0YXR1cyBzbyBhcyB0byBub3QgaW50ZXJydXB0IGFuKS0yLjY1OCBGIDIuNjU3KHlvKS0uMTUgRyAuMTU3Ci0odGhlciBvdXRwdXQuKS0yLjY1NyBGIC4xNTcoSWYgdGhlKTUuMTU3IEYgRjI8YWQ2Mj4yLjY1NyBFIEYwIC4xNTcKLShvcHRpb24gdG8pMi42NTcgRih0aGUpMTA4IDM3NC40IFEgRjIoc2V0KTMuOTUxIEUgRjAgLS4yKGJ1KTMuOTUxIEcKLTEuNDUxKGlsdGluIGNvbW1hbmQgaXMgZW5hYmxlZCwpLjIgRiBGMihiYXNoKTMuOTUxIEUgRjAgMS40NTIKLShyZXBvcnRzIHN1Y2ggY2hhbmdlcyBpbW1lZGlhdGVseSkzLjk1MSBGIDYuNDUyKC5BKS0uNjUgRyAxLjc1MiAtLjE1Ci0obnkgdCktNi40NTIgSCAxLjQ1MihyYXAgb24pLjE1IEYvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoU0lHQ0hMRCkzLjk1MiBFCi1GMChpcykzLjcwMiBFIC0uMTUoZXhlKTEwOCAzODYuNCBTKGN1dGVkIGZvciBlYWNoIGNoaWxkIHRoYXQgZSkuMTUgRQotKHhpdHMuKS0uMTUgRSAuMDMzKElmIGFuIGF0dGVtcHQgdG8gZSkxMDggNDAzLjIgUih4aXQpLS4xNSBFIEYyKGJhc2gpCi0yLjUzMyBFIEYwIC4wMzMoaXMgbWFkZSB3aGlsZSBqb2JzIGFyZSBzdG9wcGVkIFwob3IpMi41MzMgRiAyLjUzMigsaSktLjQKLUcgMi41MzIoZnQpLTIuNTMyIEcoaGUpLTIuNTMyIEUgRjIoY2hlY2tqb2JzKTIuNTMyIEUgRjAgLjAzMgotKHNoZWxsIG9wdGlvbiBoYXMgYmVlbiBlbmFibGVkKTIuNTMyIEYgMi4wMTkodXNpbmcgdGhlKTEwOCA0MTUuMiBSIEYyCi0oc2hvcHQpNC41MTkgRSBGMCAtLjIoYnUpNC41MTkgRyAyLjAxOQotKGlsdGluLCBydW5uaW5nXCksIHRoZSBzaGVsbCBwcmludHMgYSB3KS4yIEYgMi4wMgotKGFybmluZyBtZXNzYWdlLCBhbmQsIGlmIHRoZSktLjEgRiBGMihjaGVja2pvYnMpNC41MiBFIEYwIDIuMDIKLShvcHRpb24gaXMpNC41MiBGIC40NTkoZW5hYmxlZCwgbGlzdHMgdGhlIGpvYnMgYW5kIHRoZWlyIHN0YXR1c2VzLikxMDgKLTQyNy4yIFIoVGhlKTUuNDU5IEUgRjIoam9icykyLjk1OSBFIEYwIC40NTgKLShjb21tYW5kIG1heSB0aGVuIGJlIHVzZWQgdG8gaW5zcGVjdCB0aGVpciBzdGF0dXMuKTIuOTU4IEYgLjQ1OChJZiBhKQotNS40NTggRiAuNjAzKHNlY29uZCBhdHRlbXB0IHRvIGUpMTA4IDQzOS4yIFIgLjYwNAorKHJlbnQgam9iKTEwOCA1NjguOCBRKC4pLS40IEUgLjQ0NAorKFNpbXBseSBuYW1pbmcgYSBqb2IgY2FuIGJlIHVzZWQgdG8gYnJpbmcgaXQgaW50byB0aGUgZm9yZSkxMDggNTg1LjYgUgorKGdyb3VuZDopLS4xNSBFIEYzKCUxKTIuOTQzIEUgRjAgLjQ0MyhpcyBhIHN5bm9uKTIuOTQzIEYgLjQ0Myh5bSBmb3IpCistLjE1IEYgRjMgLS42MyhgYCkyLjk0MyBHIC40NDMoZmcgJTEnKS42MyBGKCcpLS42MyBFIEYwIDIuOTQzKCxiKUMKKyhyaW5naW5nKS0yLjk0MyBFIDEuNDcyKGpvYiAxIGZyb20gdGhlIGJhY2tncm91bmQgaW50byB0aGUgZm9yZSkxMDgKKzU5Ny42IFIgMy45NzIoZ3JvdW5kLiBTaW1pbGFybHkpLS4xNSBGKCwpLS42NSBFIEYzIC0uNjMoYGApMy45NzMgRyAxLjQ3MworKCUxICYnKS42MyBGKCcpLS42MyBFIEYwIDEuNDczKHJlc3VtZXMgam9iIDEgaW4gdGhlIGJhY2tncm91bmQsKTMuOTczIEYKKyhlcXVpKTEwOCA2MDkuNiBRIC0uMjUodmEpLS4yNSBHKGxlbnQgdG8pLjI1IEUgRjMgLS42MyhgYCkyLjUgRyhiZyAlMScpCisuNjMgRSgnKS0uNjMgRSBGMCguKUEgLjEzMShUaGUgc2hlbGwgbGVhcm5zIGltbWVkaWF0ZWx5IHdoZW5lKTEwOCA2MjYuNAorUiAtLjE1KHZlKS0uMjUgRyAyLjYzMShyYWopLjE1IEcgLjEzMShvYiBjaGFuZ2VzIHN0YXRlLiktMi42MzEgRgorKE5vcm1hbGx5KTUuMTMxIEUoLCktLjY1IEUgRjMoYmFzaCkyLjYzMSBFIEYwIC0uMSh3YSkyLjYzIEcgLjEzCisoaXRzIHVudGlsIGl0IGlzIGFib3V0IHRvIHByaW50IGEpLjEgRiAuMTU3CisocHJvbXB0IGJlZm9yZSByZXBvcnRpbmcgY2hhbmdlcyBpbiBhIGpvYicpMTA4IDYzOC40IFIgMi42NTcoc3MpLS41NSBHCisuMTU3KHRhdHVzIHNvIGFzIHRvIG5vdCBpbnRlcnJ1cHQgYW4pLTIuNjU3IEYgMi42NTgoeW8pLS4xNSBHIC4xNTgKKyh0aGVyIG91dHB1dC4pLTIuNjU4IEYgLjE1OChJZiB0aGUpNS4xNTggRiBGMzxhZDYyPjIuNjU4IEUgRjAgLjE1OAorKG9wdGlvbiB0bykyLjY1OCBGKHRoZSkxMDggNjUwLjQgUSBGMyhzZXQpMy45NTIgRSBGMCAtLjIoYnUpMy45NTIgRworMS40NTIoaWx0aW4gY29tbWFuZCBpcyBlbmFibGVkLCkuMiBGIEYzKGJhc2gpMy45NTIgRSBGMCAxLjQ1MQorKHJlcG9ydHMgc3VjaCBjaGFuZ2VzIGltbWVkaWF0ZWx5KTMuOTUyIEYgNi40NTEoLkEpLS42NSBHIDEuNzUxIC0uMTUKKyhueSB0KS02LjQ1MSBIIDEuNDUxKHJhcCBvbikuMTUgRiBGNChTSUdDSExEKTMuOTUxIEUgRjAoaXMpMy43MDEgRSAtLjE1CisoZXhlKTEwOCA2NjIuNCBTKGN1dGVkIGZvciBlYWNoIGNoaWxkIHRoYXQgZSkuMTUgRSh4aXRzLiktLjE1IEUgLjAzMgorKElmIGFuIGF0dGVtcHQgdG8gZSkxMDggNjc5LjIgUih4aXQpLS4xNSBFIEYzKGJhc2gpMi41MzIgRSBGMCAuMDMyCisoaXMgbWFkZSB3aGlsZSBqb2JzIGFyZSBzdG9wcGVkIFwob3IpMi41MzIgRiAyLjUzMygsaSktLjQgRyAyLjUzMyhmdCkKKy0yLjUzMyBHKGhlKS0yLjUzMyBFIEYzKGNoZWNram9icykyLjUzMyBFIEYwIC4wMzMKKyhzaGVsbCBvcHRpb24gaGFzIGJlZW4gZW5hYmxlZCkyLjUzMyBGIDIuMDIodXNpbmcgdGhlKTEwOCA2OTEuMiBSIEYzCisoc2hvcHQpNC41MiBFIEYwIC0uMihidSk0LjUyIEcgMi4wMgorKGlsdGluLCBydW5uaW5nXCksIHRoZSBzaGVsbCBwcmludHMgYSB3KS4yIEYgMi4wMTkKKyhhcm5pbmcgbWVzc2FnZSwgYW5kLCBpZiB0aGUpLS4xIEYgRjMoY2hlY2tqb2JzKTQuNTE5IEUgRjAgMi4wMTkKKyhvcHRpb24gaXMpNC41MTkgRiAuNDU4KGVuYWJsZWQsIGxpc3RzIHRoZSBqb2JzIGFuZCB0aGVpciBzdGF0dXNlcy4pMTA4Cis3MDMuMiBSKFRoZSk1LjQ1OCBFIEYzKGpvYnMpMi45NTggRSBGMCAuNDU5CisoY29tbWFuZCBtYXkgdGhlbiBiZSB1c2VkIHRvIGluc3BlY3QgdGhlaXIgc3RhdHVzLikyLjk1OCBGIC40NTkoSWYgYSkKKzUuNDU5IEYgLjYwNChzZWNvbmQgYXR0ZW1wdCB0byBlKTEwOCA3MTUuMiBSIC42MDQKICh4aXQgaXMgbWFkZSB3aXRob3V0IGFuIGludGVydiktLjE1IEYgLjYwNAogKGVuaW5nIGNvbW1hbmQsIHRoZSBzaGVsbCBkb2VzIG5vdCBwcmludCBhbm90aGVyIHcpLS4xNSBGKGFybmluZywpLS4xIEUKLShhbmQgYW4pMTA4IDQ1MS4yIFEgMi41KHlzKS0uMTUgRyh0b3BwZWQgam9icyBhcmUgdGVybWluYXRlZC4pLTIuNSBFL0Y0Ci0xMC45NS9UaW1lcy1Cb2xkQDAgU0YoUFIpNzIgNDY4IFEoT01QVElORyktLjMyOSBFIEYwIC42NDUoV2hlbiBlKTEwOCA0ODAKLVIgLS4xNSh4ZSktLjE1IEcgLjY0NShjdXRpbmcgaW50ZXJhY3RpKS4xNSBGIC0uMTUodmUpLS4yNSBHKGx5KS4xNSBFKCwpCi0tLjY1IEUgRjIoYmFzaCkzLjE0NSBFIEYwIC42NDUoZGlzcGxheXMgdGhlIHByaW1hcnkgcHJvbXB0KTMuMTQ1IEYgRjMKLShQUzEpMy4xNDUgRSBGMCAuNjQ1KHdoZW4gaXQgaXMgcmVhZHkgdG8gcmVhZCBhIGNvbW1hbmQsKTIuODk1IEYgMS44MjUKLShhbmQgdGhlIHNlY29uZGFyeSBwcm9tcHQpMTA4IDQ5MiBSIEYzKFBTMik0LjMyNSBFIEYwIDEuODI1Ci0od2hlbiBpdCBuZWVkcyBtb3JlIGlucHV0IHRvIGNvbXBsZXRlIGEgY29tbWFuZC4pNC4wNzUgRiBGMihCYXNoKTYuODI2IEUKLUYwKGFsbG8pNC4zMjYgRSAxLjgyNih3cyB0aGVzZSktLjI1IEYgMS40OTkocHJvbXB0IHN0cmluZ3MgdG8gYmUgY3VzdG9tXAotaXplZCBieSBpbnNlcnRpbmcgYSBudW1iZXIgb2YgYmFja3NsYXNoLWVzY2FwZWQgc3BlY2lhbCBjaGFyYWN0ZXJzIHRoYXRcCi0gYXJlKTEwOCA1MDQgUihkZWNvZGVkIGFzIGZvbGxvKTEwOCA1MTYgUSh3czopLS4yNSBFIEYyKFxcYSkxNDQgNTI4IFEgRjAKLShhbiBBU0NJSSBiZWxsIGNoYXJhY3RlciBcKDA3XCkpMjguMjIgRSBGMihcXGQpMTQ0IDU0MCBRIEYwCi0odGhlIGRhdGUgaW4gIlcpMjcuNjYgRShlZWtkYXkgTW9udGggRGF0ZSIgZm9ybWF0IFwoZS5nLiwgIlQpLS44IEUKLSh1ZSBNYXkgMjYiXCkpLS40NSBFIEYyKFxcRHspMTQ0IDU1MiBRIEYxKGZvcm1hdClBIEYyKH0pQSBGMCh0aGUpMTgwIDU2NAotUSBGMShmb3JtYXQpMy45MjYgRSBGMCAxLjQyNihpcyBwYXNzZWQgdG8pMy45MjYgRiBGMShzdHJmdGltZSkzLjkyNiBFIEYwCi0xLjQyNyhcKDNcKSBhbmQgdGhlIHJlc3VsdCBpcyBpbnNlcnRlZCBpbnRvIHRoZSBwcm9tcHQgc3RyaW5nOyBhbilCCi0oZW1wdHkpMTgwIDU3NiBRIEYxKGZvcm1hdCkyLjUgRSBGMAotKHJlc3VsdHMgaW4gYSBsb2NhbGUtc3BlY2lcMjE0YyB0aW1lIHJlcHJlc2VudGF0aW9uLikyLjUgRQotKFRoZSBicmFjZXMgYXJlIHJlcXVpcmVkKTUgRSBGMihcXGUpMTQ0IDU4OCBRIEYwCi0oYW4gQVNDSUkgZXNjYXBlIGNoYXJhY3RlciBcKDAzM1wpKTI4Ljc4IEUgRjIoXFxoKTE0NCA2MDAgUSBGMAotKHRoZSBob3N0bmFtZSB1cCB0byB0aGUgXDIxNHJzdCBgLikyNy42NiBFKCcpLS43IEUgRjIoXFxIKTE0NCA2MTIgUSBGMAotKHRoZSBob3N0bmFtZSkyNS40NCBFIEYyKFxcaikxNDQgNjI0IFEgRjAKLSh0aGUgbnVtYmVyIG9mIGpvYnMgY3VycmVudGx5IG1hbmFnZWQgYnkgdGhlIHNoZWxsKTI5Ljg5IEUgRjIoXFxsKTE0NAotNjM2IFEgRjAodGhlIGJhc2VuYW1lIG9mIHRoZSBzaGVsbCcpMzAuNDQgRSAyLjUoc3QpLS41NSBHKGVybWluYWwgZGUpCi0tMi41IEUodmljZSBuYW1lKS0uMjUgRSBGMihcXG4pMTQ0IDY0OCBRIEYwKG5lKTI3LjY2IEUod2xpbmUpLS4yNSBFIEYyCi0oXFxyKTE0NCA2NjAgUSBGMChjYXJyaWFnZSByZXR1cm4pMjguNzggRSBGMihcXHMpMTQ0IDY3MiBRIEYwCi0odGhlIG5hbWUgb2YgdGhlIHNoZWxsLCB0aGUgYmFzZW5hbWUgb2YpMjkuMzMgRSBGMigkMCkyLjUgRSBGMAotKFwodGhlIHBvcnRpb24gZm9sbG8pMi41IEUod2luZyB0aGUgXDIxNG5hbCBzbGFzaFwpKS0uMjUgRSBGMihcXHQpMTQ0Ci02ODQgUSBGMCh0aGUgY3VycmVudCB0aW1lIGluIDI0LWhvdXIgSEg6TU06U1MgZm9ybWF0KTI5Ljg5IEUgRjIoXFxUKTE0NAotNjk2IFEgRjAodGhlIGN1cnJlbnQgdGltZSBpbiAxMi1ob3VyIEhIOk1NOlNTIGZvcm1hdCkyNi41NSBFIEYyKFxcQCkxNDQKLTcwOCBRIEYwKHRoZSBjdXJyZW50IHRpbWUgaW4gMTItaG91ciBhbS9wbSBmb3JtYXQpMjMuOTIgRShHTlUgQmFzaC00LjApCi03MiA3NjggUSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUoMzIpMTkwLjk1IEUgMCBDZyBFUAorKGFuZCBhbikxMDggNzI3LjIgUSAyLjUoeXMpLS4xNSBHKHRvcHBlZCBqb2JzIGFyZSB0ZXJtaW5hdGVkLiktMi41IEUKKyhHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoMzIpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogMzMgMzMKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKFxcQSkxNDQgODQgUSBGMAotKHRoZSBjdXJyZW50IHRpbWUgaW4gMjQtaG91ciBISDpNTSBmb3JtYXQpMjYgRSBGMShcXHUpMTQ0IDk2IFEgRjAKLSh0aGUgdXNlcm5hbWUgb2YgdGhlIGN1cnJlbnQgdXNlcikyNy42NiBFIEYxKFxcdikxNDQgMTA4IFEgRjAodGhlIHYpCi0yOC4yMiBFKGVyc2lvbiBvZiktLjE1IEUgRjEoYmFzaCkyLjUgRSBGMChcKGUuZy4sIDIuMDBcKSkyLjUgRSBGMShcXFYpCi0xNDQgMTIwIFEgRjAodGhlIHJlbGVhc2Ugb2YpMjYgRSBGMShiYXNoKTIuNSBFIEYwIDIuNSgsdilDCistLjM1IEUvRjEgMTAuOTUvVGltZXMtQm9sZEAwIFNGKFBSKTcyIDg0IFEoT01QVElORyktLjMyOSBFIEYwIC42NDQKKyhXaGVuIGUpMTA4IDk2IFIgLS4xNSh4ZSktLjE1IEcgLjY0NChjdXRpbmcgaW50ZXJhY3RpKS4xNSBGIC0uMTUodmUpLS4yNQorRyhseSkuMTUgRSgsKS0uNjUgRS9GMiAxMC9UaW1lcy1Cb2xkQDAgU0YoYmFzaCkzLjE0NCBFIEYwIC42NDUKKyhkaXNwbGF5cyB0aGUgcHJpbWFyeSBwcm9tcHQpMy4xNDUgRi9GMyA5L1RpbWVzLUJvbGRAMCBTRihQUzEpMy4xNDUgRSBGMAorLjY0NSh3aGVuIGl0IGlzIHJlYWR5IHRvIHJlYWQgYSBjb21tYW5kLCkyLjg5NSBGIDEuODI2CisoYW5kIHRoZSBzZWNvbmRhcnkgcHJvbXB0KTEwOCAxMDggUiBGMyhQUzIpNC4zMjYgRSBGMCAxLjgyNQorKHdoZW4gaXQgbmVlZHMgbW9yZSBpbnB1dCB0byBjb21wbGV0ZSBhIGNvbW1hbmQuKTQuMDc2IEYgRjIoQmFzaCk2LjgyNSBFCitGMChhbGxvKTQuMzI1IEUgMS44MjUod3MgdGhlc2UpLS4yNSBGIDEuNDk5KHByb21wdCBzdHJpbmdzIHRvIGJlIGN1c3RvbVwKK2l6ZWQgYnkgaW5zZXJ0aW5nIGEgbnVtYmVyIG9mIGJhY2tzbGFzaC1lc2NhcGVkIHNwZWNpYWwgY2hhcmFjdGVycyB0aGF0XAorIGFyZSkxMDggMTIwIFIoZGVjb2RlZCBhcyBmb2xsbykxMDggMTMyIFEod3M6KS0uMjUgRSBGMihcXGEpMTQ0IDE0NCBRIEYwCisoYW4gQVNDSUkgYmVsbCBjaGFyYWN0ZXIgXCgwN1wpKTI4LjIyIEUgRjIoXFxkKTE0NCAxNTYgUSBGMAorKHRoZSBkYXRlIGluICJXKTI3LjY2IEUoZWVrZGF5IE1vbnRoIERhdGUiIGZvcm1hdCBcKGUuZy4sICJUKS0uOCBFCisodWUgTWF5IDI2IlwpKS0uNDUgRSBGMihcXER7KTE0NCAxNjggUS9GNCAxMC9UaW1lcy1JdGFsaWNAMCBTRihmb3JtYXQpQQorRjIofSlBIEYwKHRoZSkxODAgMTgwIFEgRjQoZm9ybWF0KTMuOTI3IEUgRjAgMS40MjcoaXMgcGFzc2VkIHRvKTMuOTI3IEYKK0Y0KHN0cmZ0aW1lKTMuOTI3IEUgRjAgMS40MjcKKyhcKDNcKSBhbmQgdGhlIHJlc3VsdCBpcyBpbnNlcnRlZCBpbnRvIHRoZSBwcm9tcHQgc3RyaW5nOyBhbilCKGVtcHR5KTE4MAorMTkyIFEgRjQoZm9ybWF0KTIuNSBFIEYwCisocmVzdWx0cyBpbiBhIGxvY2FsZS1zcGVjaVwyMTRjIHRpbWUgcmVwcmVzZW50YXRpb24uKTIuNSBFCisoVGhlIGJyYWNlcyBhcmUgcmVxdWlyZWQpNSBFIEYyKFxcZSkxNDQgMjA0IFEgRjAKKyhhbiBBU0NJSSBlc2NhcGUgY2hhcmFjdGVyIFwoMDMzXCkpMjguNzggRSBGMihcXGgpMTQ0IDIxNiBRIEYwCisodGhlIGhvc3RuYW1lIHVwIHRvIHRoZSBcMjE0cnN0IGAuKTI3LjY2IEUoJyktLjcgRSBGMihcXEgpMTQ0IDIyOCBRIEYwCisodGhlIGhvc3RuYW1lKTI1LjQ0IEUgRjIoXFxqKTE0NCAyNDAgUSBGMAorKHRoZSBudW1iZXIgb2Ygam9icyBjdXJyZW50bHkgbWFuYWdlZCBieSB0aGUgc2hlbGwpMjkuODkgRSBGMihcXGwpMTQ0CisyNTIgUSBGMCh0aGUgYmFzZW5hbWUgb2YgdGhlIHNoZWxsJykzMC40NCBFIDIuNShzdCktLjU1IEcoZXJtaW5hbCBkZSkKKy0yLjUgRSh2aWNlIG5hbWUpLS4yNSBFIEYyKFxcbikxNDQgMjY0IFEgRjAobmUpMjcuNjYgRSh3bGluZSktLjI1IEUgRjIKKyhcXHIpMTQ0IDI3NiBRIEYwKGNhcnJpYWdlIHJldHVybikyOC43OCBFIEYyKFxccykxNDQgMjg4IFEgRjAKKyh0aGUgbmFtZSBvZiB0aGUgc2hlbGwsIHRoZSBiYXNlbmFtZSBvZikyOS4zMyBFIEYyKCQwKTIuNSBFIEYwCisoXCh0aGUgcG9ydGlvbiBmb2xsbykyLjUgRSh3aW5nIHRoZSBcMjE0bmFsIHNsYXNoXCkpLS4yNSBFIEYyKFxcdCkxNDQKKzMwMCBRIEYwKHRoZSBjdXJyZW50IHRpbWUgaW4gMjQtaG91ciBISDpNTTpTUyBmb3JtYXQpMjkuODkgRSBGMihcXFQpMTQ0CiszMTIgUSBGMCh0aGUgY3VycmVudCB0aW1lIGluIDEyLWhvdXIgSEg6TU06U1MgZm9ybWF0KTI2LjU1IEUgRjIoXFxAKTE0NAorMzI0IFEgRjAodGhlIGN1cnJlbnQgdGltZSBpbiAxMi1ob3VyIGFtL3BtIGZvcm1hdCkyMy45MiBFIEYyKFxcQSkxNDQgMzM2CitRIEYwKHRoZSBjdXJyZW50IHRpbWUgaW4gMjQtaG91ciBISDpNTSBmb3JtYXQpMjYgRSBGMihcXHUpMTQ0IDM0OCBRIEYwCisodGhlIHVzZXJuYW1lIG9mIHRoZSBjdXJyZW50IHVzZXIpMjcuNjYgRSBGMihcXHYpMTQ0IDM2MCBRIEYwKHRoZSB2KQorMjguMjIgRShlcnNpb24gb2YpLS4xNSBFIEYyKGJhc2gpMi41IEUgRjAoXChlLmcuLCAyLjAwXCkpMi41IEUgRjIoXFxWKQorMTQ0IDM3MiBRIEYwKHRoZSByZWxlYXNlIG9mKTI2IEUgRjIoYmFzaCkyLjUgRSBGMCAyLjUoLHYpQwogKGVyc2lvbiArIHBhdGNoIGxlKS0yLjY1IEUgLS4xNSh2ZSktLjI1IEcgMi41KGxcKCkuMTUgRyhlLmcuLCAyLjAwLjBcKSkKLS0yLjUgRSBGMShcXHcpMTQ0IDEzMiBRIEYwIDQuMjg4KHRoZSBjdXJyZW50IHcpMjYgRiA0LjI4OAotKG9ya2luZyBkaXJlY3RvcnkpLS4xIEYgNi43ODcoLHcpLS42NSBHKGl0aCktNi43ODcgRSBGMSgkSE9NRSk2Ljc4NyBFIEYwCi0oYWJicmUpNi43ODcgRSA0LjI4Nyh2aWF0ZWQgd2l0aCBhIHRpbGRlIFwodXNlcyB0aGUpLS4yNSBGIEYxKCRQUikxODAKLTE0NCBRKE9NUFRfRElSKS0uMyBFKFRSSU0pLS40IEUgRjAgLS4yNSh2YSkyLjUgRyhyaWFibGVcKSkuMjUgRSBGMShcXFcpCi0xNDQgMTU2IFEgRjAodGhlIGJhc2VuYW1lIG9mIHRoZSBjdXJyZW50IHcpMjMuMjIgRShvcmtpbmcgZGlyZWN0b3J5KS0uMQotRSAyLjUoLHcpLS42NSBHKGl0aCktMi41IEUgRjEoJEhPTUUpMi41IEUgRjAoYWJicmUpMi41IEUKLSh2aWF0ZWQgd2l0aCBhIHRpbGRlKS0uMjUgRSBGMShcXCEpMTQ0IDE2OCBRIEYwCi0odGhlIGhpc3RvcnkgbnVtYmVyIG9mIHRoaXMgY29tbWFuZCkyOS44OSBFIEYxKFxcIykxNDQgMTgwIFEgRjAKLSh0aGUgY29tbWFuZCBudW1iZXIgb2YgdGhpcyBjb21tYW5kKTI4LjIyIEUgRjEoXFwkKTE0NCAxOTIgUSBGMAotKGlmIHRoZSBlZikyOC4yMiBFKGZlY3RpKS0uMjUgRSAuMyAtLjE1KHZlIFUpLS4yNSBIKElEIGlzIDAsIGEpLjE1IEUgRjEKLSgjKTIuNSBFIEYwIDIuNSgsbylDKHRoZXJ3aXNlIGEpLTIuNSBFIEYxKCQpMi41IEUoXFwpMTQ0IDIwNCBRL0YyIDEwCi0vVGltZXMtSXRhbGljQDAgU0Yobm5uKUEgRjAKLSh0aGUgY2hhcmFjdGVyIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG9jdGFsIG51bWJlcikxOC4yMiBFIEYyKG5ubikyLjUgRSBGMQotKFxcXFwpMTQ0IDIxNiBRIEYwIDIuNShhYikzMC40NCBHKGFja3NsYXNoKS0yLjUgRSBGMShcXFspMTQ0IDIyOCBRIEYwCi0oYmUpMjkuODkgRSAxLjI1NyhnaW4gYSBzZXF1ZW5jZSBvZiBub24tcHJpbnRpbmcgY2hhcmFjdGVycywgd2hpY2ggY291bFwKLWQgYmUgdXNlZCB0byBlbWJlZCBhIHRlcm1pbmFsKS0uMTUgRihjb250cm9sIHNlcXVlbmNlIGludG8gdGhlIHByb21wdCkKLTE4MCAyNDAgUSBGMShcXF0pMTQ0IDI1MiBRIEYwKGVuZCBhIHNlcXVlbmNlIG9mIG5vbi1wcmludGluZyBjaGFyYWN0ZXJzKQotMjkuODkgRSAuMTIoVGhlIGNvbW1hbmQgbnVtYmVyIGFuZCB0aGUgaGlzdG9yeSBudW1iZXIgYXJlIHVzdWFsbHkgZGlmKQotMTA4IDI2OC44IFIgLjExOShmZXJlbnQ6IHRoZSBoaXN0b3J5IG51bWJlciBvZiBhIGNvbW1hbmQgaXMgaXRzKS0uMjUgRgotMS41ODUocG9zaXRpb24gaW4gdGhlIGhpc3RvcnkgbGlzdCwgd2hpY2ggbWF5IGluY2x1ZGUgY29tbWFuZHMgcmVzdG9yZWRcCi0gZnJvbSB0aGUgaGlzdG9yeSBcMjE0bGUgXChzZWUpMTA4IDI4MC44IFIvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoSElTVCkKLTQuMDg1IEUoT1IpLS4xNjIgRShZKS0uMzE1IEUgRjAoYmVsbykxMDggMjkyLjggUSAuNTQxKHdcKSwgd2hpbGUgdGhlIGNvXAotbW1hbmQgbnVtYmVyIGlzIHRoZSBwb3NpdGlvbiBpbiB0aGUgc2VxdWVuY2Ugb2YgY29tbWFuZHMgZSktLjI1IEYgLS4xNQotKHhlKS0uMTUgRyAuNTQoY3V0ZWQgZHVyaW5nIHRoZSBjdXIpLjE1IEYoLSktLjIgRSAuNTQ2Ci0ocmVudCBzaGVsbCBzZXNzaW9uLikxMDggMzA0LjggUiAuNTQ2Ci0oQWZ0ZXIgdGhlIHN0cmluZyBpcyBkZWNvZGVkLCBpdCBpcyBlKTUuNTQ2IEYgLjU0NgorLTIuNSBFIEYyKFxcdykxNDQgMzg0IFEgRjAgLjExNSh0aGUgY3VycmVudCB3KTI2IEYgLjExNQorKG9ya2luZyBkaXJlY3RvcnkpLS4xIEYgMi42MTUoLHcpLS42NSBHKGl0aCktMi42MTUgRSBGMygkSE9NRSkyLjYxNSBFIEYwCisoYWJicmUpMi4zNjUgRSAuMTE2KHZpYXRlZCB3aXRoIGEgdGlsZGUgXCh1c2VzIHRoZSB2KS0uMjUgRiAuMTE2CisoYWx1ZSBvZiB0aGUpLS4yNSBGIEYzKFBSKTE4MCAzOTYgUShPTVBUX0RJUiktLjI3IEUoVFJJTSktLjM2IEUgRjAgLS4yNQorKHZhKTIuMjUgRyhyaWFibGVcKSkuMjUgRSBGMihcXFcpMTQ0IDQwOCBRIEYwCisodGhlIGJhc2VuYW1lIG9mIHRoZSBjdXJyZW50IHcpMjMuMjIgRShvcmtpbmcgZGlyZWN0b3J5KS0uMSBFIDIuNSgsdykKKy0uNjUgRyhpdGgpLTIuNSBFIEYzKCRIT01FKTIuNSBFIEYwKGFiYnJlKTIuMjUgRSh2aWF0ZWQgd2l0aCBhIHRpbGRlKQorLS4yNSBFIEYyKFxcISkxNDQgNDIwIFEgRjAodGhlIGhpc3RvcnkgbnVtYmVyIG9mIHRoaXMgY29tbWFuZCkyOS44OSBFIEYyCisoXFwjKTE0NCA0MzIgUSBGMCh0aGUgY29tbWFuZCBudW1iZXIgb2YgdGhpcyBjb21tYW5kKTI4LjIyIEUgRjIoXFwkKTE0NAorNDQ0IFEgRjAoaWYgdGhlIGVmKTI4LjIyIEUoZmVjdGkpLS4yNSBFIC4zIC0uMTUodmUgVSktLjI1IEgoSUQgaXMgMCwgYSkKKy4xNSBFIEYyKCMpMi41IEUgRjAgMi41KCxvKUModGhlcndpc2UgYSktMi41IEUgRjIoJCkyLjUgRShcXCkxNDQgNDU2IFEKK0Y0KG5ubilBIEYwKHRoZSBjaGFyYWN0ZXIgY29ycmVzcG9uZGluZyB0byB0aGUgb2N0YWwgbnVtYmVyKTE4LjIyIEUgRjQKKyhubm4pMi41IEUgRjIoXFxcXCkxNDQgNDY4IFEgRjAgMi41KGFiKTMwLjQ0IEcoYWNrc2xhc2gpLTIuNSBFIEYyKFxcWykKKzE0NCA0ODAgUSBGMChiZSkyOS44OSBFIDEuMjU3KGdpbiBhIHNlcXVlbmNlIG9mIG5vbi1wcmludGluZyBjaGFyYWN0ZXJzXAorLCB3aGljaCBjb3VsZCBiZSB1c2VkIHRvIGVtYmVkIGEgdGVybWluYWwpLS4xNSBGCisoY29udHJvbCBzZXF1ZW5jZSBpbnRvIHRoZSBwcm9tcHQpMTgwIDQ5MiBRIEYyKFxcXSkxNDQgNTA0IFEgRjAKKyhlbmQgYSBzZXF1ZW5jZSBvZiBub24tcHJpbnRpbmcgY2hhcmFjdGVycykyOS44OSBFIC4xMTkKKyhUaGUgY29tbWFuZCBudW1iZXIgYW5kIHRoZSBoaXN0b3J5IG51bWJlciBhcmUgdXN1YWxseSBkaWYpMTA4IDUyMC44IFIKKy4xMihmZXJlbnQ6IHRoZSBoaXN0b3J5IG51bWJlciBvZiBhIGNvbW1hbmQgaXMgaXRzKS0uMjUgRiAxLjU4NShwb3NpdGlvXAorbiBpbiB0aGUgaGlzdG9yeSBsaXN0LCB3aGljaCBtYXkgaW5jbHVkZSBjb21tYW5kcyByZXN0b3JlZCBmcm9tIHRoZSBoaXNcCit0b3J5IFwyMTRsZSBcKHNlZSkxMDggNTMyLjggUiBGMyhISVNUKTQuMDg0IEUoT1IpLS4xNjIgRShZKS0uMzE1IEUgRjAKKyhiZWxvKTEwOCA1NDQuOCBRIC41NDEod1wpLCB3aGlsZSB0aGUgY29tbWFuZCBudW1iZXIgaXMgdGhlIHBvc2l0aW9uIGluXAorIHRoZSBzZXF1ZW5jZSBvZiBjb21tYW5kcyBlKS0uMjUgRiAtLjE1KHhlKS0uMTUgRyAuNTQxCisoY3V0ZWQgZHVyaW5nIHRoZSBjdXIpLjE1IEYoLSktLjIgRSAuNTQ2KHJlbnQgc2hlbGwgc2Vzc2lvbi4pMTA4IDU1Ni44IFIKKy41NDYoQWZ0ZXIgdGhlIHN0cmluZyBpcyBkZWNvZGVkLCBpdCBpcyBlKTUuNTQ2IEYgLjU0NgogKHhwYW5kZWQgdmlhIHBhcmFtZXRlciBlKS0uMTUgRiAuNTQ2KHhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1LSktLjE1IEYKLS4zNTIodGlvbiwgYXJpdGhtZXRpYyBlKTEwOCAzMTYuOCBSIC4zNTIoeHBhbnNpb24sIGFuZCBxdW90ZSByZW1vKS0uMTUgRgotLS4yNSh2YSktLjE1IEcgLjM1MihsLCBzdWJqZWN0IHRvIHRoZSB2KS4yNSBGIC4zNTIoYWx1ZSBvZiB0aGUpLS4yNSBGIEYxCi0ocHIpMi44NTIgRShvbXB0diktLjE4IEUoYXJzKS0uMSBFIEYwIC4zNTEoc2hlbGwgb3B0aW9uIFwoc2VlIHRoZSkyLjg1MgotRihkZXNjcmlwdGlvbiBvZiB0aGUpMTA4IDMyOC44IFEgRjEoc2hvcHQpMi41IEUgRjAoY29tbWFuZCB1bmRlcikyLjUgRQorLjM1MSh0aW9uLCBhcml0aG1ldGljIGUpMTA4IDU2OC44IFIgLjM1Mih4cGFuc2lvbiwgYW5kIHF1b3RlIHJlbW8pLS4xNSBGCistLjI1KHZhKS0uMTUgRyAuMzUyKGwsIHN1YmplY3QgdG8gdGhlIHYpLjI1IEYgLjM1MihhbHVlIG9mIHRoZSktLjI1IEYgRjIKKyhwcikyLjg1MiBFKG9tcHR2KS0uMTggRShhcnMpLS4xIEUgRjAgLjM1MihzaGVsbCBvcHRpb24gXChzZWUgdGhlKTIuODUyCitGKGRlc2NyaXB0aW9uIG9mIHRoZSkxMDggNTgwLjggUSBGMihzaG9wdCkyLjUgRSBGMChjb21tYW5kIHVuZGVyKTIuNSBFCiBGMyhTSEVMTCBCKTIuNSBFKFVJTCktLjA5IEUoVElOIENPTU1BTkRTKS0uODI4IEUgRjAoYmVsbykyLjI1IEUod1wpLikKLS0uMjUgRS9GNCAxMC45NS9UaW1lcy1Cb2xkQDAgU0YoUkVBRExJTkUpNzIgMzQ1LjYgUSBGMCAuMTUKKy0uMjUgRSBGMShSRUFETElORSk3MiA1OTcuNiBRIEYwIC4xNTEKIChUaGlzIGlzIHRoZSBsaWJyYXJ5IHRoYXQgaGFuZGxlcyByZWFkaW5nIGlucHV0IHdoZW4gdXNpbmcgYW4gaW50ZXJhY3RpKQotMTA4IDM1Ny42IFIgLjQ1MSAtLjE1KHZlIHMpLS4yNSBIIC4xNTEoaGVsbCwgdW5sZXNzIHRoZSkuMTUgRiBGMQotKFwyNTVcMjU1bm9lZGl0aW5nKTIuNjUxIEUgRjAob3B0aW9uKTIuNjUxIEUgMS4yMDkoaXMgZ2kpMTA4IDM2OS42IFIKLS0uMTUodmUpLS4yNSBHIDMuNzA5KG5hKS4xNSBHIDMuNzA5KHRzKS0zLjcwOSBHIDEuMjA5KGhlbGwgaW4pLTMuNzA5IEYKLS0uMih2byktLjQgRyAzLjcwOShjYXRpb24uIExpbmUpLjIgRiAxLjIwOAotKGVkaXRpbmcgaXMgYWxzbyB1c2VkIHdoZW4gdXNpbmcgdGhlKTMuNzA5IEYgRjE8YWQ2NT4zLjcwOCBFIEYwIDEuMjA4Ci0ob3B0aW9uIHRvIHRoZSkzLjcwOCBGIEYxIC0uMTgocmUpMy43MDggRyhhZCkuMTggRSBGMCAtLjIoYnUpMy43MDggRwotMy43MDgoaWx0aW4uIEJ5KS4yIEYoZGVmKTEwOCAzODEuNiBRIC45NDkKKzEwOCA2MDkuNiBSIC40NSAtLjE1KHZlIHMpLS4yNSBIIC4xNShoZWxsLCB1bmxlc3MgdGhlKS4xNSBGIEYyCisoXDI1NVwyNTVub2VkaXRpbmcpMi42NSBFIEYwKG9wdGlvbikyLjY1IEUgMS4yMDgoaXMgZ2kpMTA4IDYyMS42IFIgLS4xNQorKHZlKS0uMjUgRyAzLjcwOChuYSkuMTUgRyAzLjcwOCh0cyktMy43MDggRyAxLjIwOChoZWxsIGluKS0zLjcwOCBGIC0uMgorKHZvKS0uNCBHIDMuNzA4KGNhdGlvbi4gTGluZSkuMiBGIDEuMjA4CisoZWRpdGluZyBpcyBhbHNvIHVzZWQgd2hlbiB1c2luZyB0aGUpMy43MDggRiBGMjxhZDY1PjMuNzA5IEUgRjAgMS4yMDkKKyhvcHRpb24gdG8gdGhlKTMuNzA5IEYgRjIgLS4xOChyZSkzLjcwOSBHKGFkKS4xOCBFIEYwIC0uMihidSkzLjcwOSBHCiszLjcwOShpbHRpbi4gQnkpLjIgRihkZWYpMTA4IDYzMy42IFEgLjk1CiAoYXVsdCwgdGhlIGxpbmUgZWRpdGluZyBjb21tYW5kcyBhcmUgc2ltaWxhciB0byB0aG9zZSBvZiBlbWFjcy4pLS4xIEYKLTMuNDUoQXYpNS45NSBHIC45NShpLXN0eWxlIGxpbmUgZWRpdGluZyBpbnRlcmYpLTMuNDUgRiAuOTUoYWNlIGlzIGFsc28pCi0tLjEgRiAtLjIoYXYpMTA4IDM5My42IFMgMy4zNShhaWxhYmxlLiBMaW5lKS0uMDUgRiAuODUKKzMuNDQ5KEF2KTUuOTQ5IEcgLjk0OShpLXN0eWxlIGxpbmUgZWRpdGluZyBpbnRlcmYpLTMuNDQ5IEYgLjk0OQorKGFjZSBpcyBhbHNvKS0uMSBGIC0uMihhdikxMDggNjQ1LjYgUyAzLjM1KGFpbGFibGUuIExpbmUpLS4wNSBGIC44NQogKGVkaXRpbmcgY2FuIGJlIGVuYWJsZWQgYXQgYW4pMy4zNSBGIDMuMzUoeXQpLS4xNSBHIC44NShpbWUgdXNpbmcgdGhlKQotLTMuMzUgRiBGMSAuODUoXDI1NW8gZW1hY3MpMy4zNSBGIEYwKG9yKTMuMzUgRSBGMSAuODUoXDI1NW8gdmkpMy4zNSBGIEYwCi0uODUob3B0aW9ucyB0byB0aGUpMy4zNSBGIEYxKHNldCkzLjM1IEUgRjAgLS4yKGJ1KTMuMzUgRyhpbHRpbikuMiBFCi0oXChzZWUpMTA4IDQwNS42IFEgRjMgLjc2MihTSEVMTCBCKTMuMjYyIEYoVUlMKS0uMDkgRSAuNzYyKFRJTiBDT01NQU5EUykKLS0uODI4IEYgRjAoYmVsbykzLjAxMiBFIDMuMjYyKHdcKS4gVCktLjI1IEYgMy4yNjMob3QpLS44IEcgLjc2Myh1cm4gb2YpCistMy4zNSBGIEYyIC44NShcMjU1byBlbWFjcykzLjM1IEYgRjAob3IpMy4zNSBFIEYyIC44NShcMjU1byB2aSkzLjM1IEYgRjAKKy44NShvcHRpb25zIHRvIHRoZSkzLjM1IEYgRjIoc2V0KTMuMzUgRSBGMCAtLjIoYnUpMy4zNSBHKGlsdGluKS4yIEUKKyhcKHNlZSkxMDggNjU3LjYgUSBGMyAuNzYzKFNIRUxMIEIpMy4yNjMgRihVSUwpLS4wOSBFIC43NjMoVElOIENPTU1BTkRTKQorLS44MjggRiBGMChiZWxvKTMuMDEzIEUgMy4yNjMod1wpLiBUKS0uMjUgRiAzLjI2MyhvdCktLjggRyAuNzYzKHVybiBvZikKIC0zLjI2MyBGIDMuMjYzKGZsKS0uMjUgRyAuNzYzCi0oaW5lIGVkaXRpbmcgYWZ0ZXIgdGhlIHNoZWxsIGlzIHJ1bm5pbmcsIHVzZSB0aGUpLTMuMjYzIEYgRjEoK28pMy4yNjMgRQotKGVtYWNzKTEwOCA0MTcuNiBRIEYwKG9yKTIuNSBFIEYxKCtvIHZpKTIuNSBFIEYwKG9wdGlvbnMgdG8gdGhlKTIuNSBFIEYxCi0oc2V0KTIuNSBFIEYwIC0uMihidSkyLjUgRyhpbHRpbi4pLjIgRSBGMShSZWFkbGluZSBOb3RhdGlvbik4NyA0MzQuNCBRCi1GMCAuNTY4KEluIHRoaXMgc2VjdGlvbiwgdGhlIGVtYWNzLXN0eWxlIG5vdGF0aW9uIGlzIHVzZWQgdG8gZGVub3RlIGspCi0xMDggNDQ2LjQgUiAtLjE1KGV5KS0uMSBHKHN0cm9rKS4xNSBFIDMuMDY3KGVzLiBDb250cm9sKS0uMSBGIC0uMShrZSkKLTMuMDY3IEcgLjU2Nyh5cyBhcmUgZGVub3RlZCBieSBDXDI1NSktLjA1IEYgRjIgLS4xKGtlKUMoeSktLjIgRSBGMCgsKUEKLTEuMTUyKGUuZy4sIENcMjU1biBtZWFucyBDb250cm9sXDI1NU4uKTEwOCA0NTguNCBSKFNpbWlsYXJseSk2LjE1MiBFKCwpCi0tLjY1IEUgRjIobWV0YSk0LjAzMiBFIEYwIC0uMShrZSkzLjkxMyBHIDEuMTUzKHlzIGFyZSBkZW5vdGVkIGJ5IE1cMjU1KQotLS4wNSBGIEYyIC0uMShrZSlDKHkpLS4yIEUgRjAgMy42NTMoLHMpQyAzLjY1MyhvTSktMy42NTMgRyAxLjE1MwotKFwyNTV4IG1lYW5zIE1ldGFcMjU1WC4pLTMuNjUzIEYoXChPbik2LjE1MyBFIC0uMShrZSkxMDggNDcwLjQgUyAuODMxCi0oeWJvYXJkcyB3aXRob3V0IGEpLS4wNSBGIEYyKG1ldGEpMy43MTEgRSBGMCAtLjEoa2UpMy41OTEgRyAyLjEzMSAtLjY1Ci0oeSwgTSktLjA1IEg8YWQ+LjY1IEUgRjIoeClBIEYwIC44MzEobWVhbnMgRVNDKTMuMzMxIEYgRjIoeCkzLjMzMSBFIEYwCi0zLjMzMSgsaSlDIC44MyguZS4sIHByZXNzIHRoZSBFc2NhcGUgayktMy4zMzEgRiAxLjEzIC0uMTUoZXkgdCktLjEgSCAuODMKLShoZW4gdGhlKS4xNSBGIEYyKHgpNC4xIEUgRjAgLS4xKGtlKTMuODYgRyA0LjYzIC0uNjUoeS4gVCktLjA1IEggLjgzCi0oaGlzIG1haykuNjUgRihlcyktLjEgRSAuNTk5KEVTQyB0aGUpMTA4IDQ4Mi40IFIgRjIgLjU5OShtZXRhIHByKTMuMDk5IEYKLShlXDIxNHgpLS4zNyBFIEYwIDUuNTk5KC5UKUMgLjU5OShoZSBjb21iaW5hdGlvbiBNXDI1NUNcMjU1KS01LjU5OSBGIEYyCi0oeClBIEYwIC41OTkobWVhbnMgRVNDXDI1NUNvbnRyb2xcMjU1KTMuMDk5IEYgRjIoeClBIEYwIDMuMDk5KCxvKUMgMy4wOTkKLShycCktMy4wOTkgRyAuNihyZXNzIHRoZSBFc2NhcGUgayktMy4wOTkgRiAuOSAtLjE1KGV5IHQpLS4xIEggLjYKLShoZW4gaG9sZCkuMTUgRih0aGUgQ29udHJvbCBrKTEwOCA0OTQuNCBRIC4zIC0uMTUoZXkgdyktLjEgSAotKGhpbGUgcHJlc3NpbmcgdGhlKS4xNSBFIEYyKHgpMy4yNyBFIEYwIC0uMShrZSkzLjAzIEcgLS42NSh5LiktLjA1IEcoXCkpCi0uNjUgRSAuNjIoUmVhZGxpbmUgY29tbWFuZHMgbWF5IGJlIGdpKTEwOCA1MTEuMiBSIC0uMTUodmUpLS4yNSBHIDMuMTE5Ci0obm4pLjE1IEcodW1lcmljKS0zLjExOSBFIEYyKGFyKTMuMTE5IEUoZ3VtZW50cyktLjM3IEUgRjAgMy4xMTkoLHcpLjI3IEcKLS42MTkoaGljaCBub3JtYWxseSBhY3QgYXMgYSByZXBlYXQgY291bnQuKS0zLjExOSBGKFNvbWV0aW1lcywpNS42MTkgRQotKGhvKTEwOCA1MjMuMiBRKHdlKS0uMjUgRSAtLjE1KHZlKS0uMjUgRyAxLjQxOCAtLjQociwgaSkuMTUgSCAzLjExOCh0aSkKLS40IEcgMy4xMTkoc3QpLTMuMTE4IEcgLjYxOShoZSBzaWduIG9mIHRoZSBhciktMy4xMTkgRiAuNjE5Ci0oZ3VtZW50IHRoYXQgaXMgc2lnbmlcMjE0Y2FudC4pLS4xOCBGIC0uMTUoUGEpNS42MTkgRyAuNjE5KHNzaW5nIGEgbmUpCi0uMTUgRiAtLjA1KGdhKS0uMTUgRyh0aSkuMDUgRSAuOTE5IC0uMTUodmUgYSktLjI1IEggLS4xOChyZykuMTUgRyAuNjE5Ci0odW1lbnQgdG8gYSBjb21tYW5kIHRoYXQpLjE4IEYgMS4wMTkoYWN0cyBpbiB0aGUgZm9ydykxMDggNTM1LjIgUiAxLjAxOAotKGFyZCBkaXJlY3Rpb24gXChlLmcuLCktLjEgRiBGMShraWxsXDI1NWxpbmUpMy41MTggRSBGMCAzLjUxOChcKWMpQwotMS4wMTgoYXVzZXMgdGhhdCBjb21tYW5kIHRvIGFjdCBpbiBhIGJhY2t3KS0zLjUxOCBGIDEuMDE4Ci0oYXJkIGRpcmVjdGlvbi4pLS4xIEYoQ29tLSk2LjAxOCBFKG1hbmRzIHdob3NlIGJlaGEpMTA4IDU0Ny4yIFEKLSh2aW9yIHdpdGggYXIpLS4yIEUoZ3VtZW50cyBkZSktLjE4IEUodmlhdGVzIGZyb20gdGhpcyBhcmUgbm90ZWQgYmVsbykKLS0uMjUgRSAtLjY1KHcuKS0uMjUgRyAuODExKFdoZW4gYSBjb21tYW5kIGlzIGRlc2NyaWJlZCBhcykxMDggNTY0IFIgRjIKLShraWxsaW5nKTMuMzExIEUgRjAodGUpMy4zMTEgRSAuODExKHh0LCB0aGUgdGUpLS4xNSBGIC44MTEKLSh4dCBkZWxldGVkIGlzIHNhKS0uMTUgRiAtLjE1KHZlKS0uMiBHIDMuMzExKGRmKS4xNSBHIC44MTIKLShvciBwb3NzaWJsZSBmdXR1cmUgcmV0cmllKS0zLjMxMSBGIC0uMjUodmEpLS4yNSBHIDMuMzEyKGxcKCkuMjUgRyBGMgotKHlhbmstKS0zLjMxMiBFKGluZykxMDggNTc2IFEgRjAgMi41MjkoXCkuIFRoZSlCIC4wMjkoa2lsbGVkIHRlKTIuNTI5IEYKLS4wMjkoeHQgaXMgc2EpLS4xNSBGIC0uMTUodmUpLS4yIEcgMi41MjkoZGkpLjE1IEcgMi41MjkobmEpLTIuNTI5IEcgRjIKLS4wMjkoa2lsbCByaW5nKUIgRjAgNS4wMjkoLkMpQyhvbnNlY3V0aSktNS4wMjkgRSAuMzI5IC0uMTUodmUgayktLjI1IEgKLS4wMjkoaWxscyBjYXVzZSB0aGUgdGUpLjE1IEYgLjAyOSh4dCB0byBiZSBhY2N1bXVsYXRlZCBpbnRvIG9uZSB1bml0LCkKLS0uMTUgRiAuNTY3KHdoaWNoIGNhbiBiZSB5YW5rKTEwOCA1ODggUiAuNTY3KGVkIGFsbCBhdCBvbmNlLiktLjEgRiAuNTY3Ci0oQ29tbWFuZHMgd2hpY2ggZG8gbm90IGtpbGwgdGUpNS41NjcgRiAuNTY3Ci0oeHQgc2VwYXJhdGUgdGhlIGNodW5rcyBvZiB0ZSktLjE1IEYgLjU2Nyh4dCBvbiB0aGUga2lsbCktLjE1IEYocmluZy4pCi0xMDggNjAwIFEgRjEoUmVhZGxpbmUgSW5pdGlhbGl6YXRpb24pODcgNjE2LjggUSBGMCAuMDkxKFJlYWRsaW5lIGlzIGN1c1wKLXRvbWl6ZWQgYnkgcHV0dGluZyBjb21tYW5kcyBpbiBhbiBpbml0aWFsaXphdGlvbiBcMjE0bGUgXCh0aGUpMTA4IDYyOC44Ci1SIEYyKGlucHV0cikyLjU5MSBFKGMpLS4zNyBFIEYwIDIuNTkxKFwyMTRsZVwpLiBUaGUpMi41OTEgRiAuMDkxCi0obmFtZSBvZiB0aGlzIFwyMTRsZSkyLjU5MSBGIC4xOTYoaXMgdGFrKTEwOCA2NDAuOCBSIC4xOTYoZW4gZnJvbSB0aGUgdikKLS0uMSBGIC4xOTYoYWx1ZSBvZiB0aGUpLS4yNSBGIEYzKElOUFVUUkMpMi42OTYgRSBGMCAtLjI1KHZhKTIuNDQ2IEcKLTIuNjk2KHJpYWJsZS4gSWYpLjI1IEYgLjE5Nih0aGF0IHYpMi42OTYgRiAuMTk2Ci0oYXJpYWJsZSBpcyB1bnNldCwgdGhlIGRlZiktLjI1IEYgLjE5NihhdWx0IGlzKS0uMSBGIEYyKH4vLmlucHV0cikyLjY5NgotRShjKS0uMzcgRSBGMCA1LjE5NiguVykuMzEgRyAuMTk3KGhlbiBhKS01LjE5NiBGIDEuMDM0KHByb2dyYW0gd2hpY2ggdXNcCi1lcyB0aGUgcmVhZGxpbmUgbGlicmFyeSBzdGFydHMgdXAsIHRoZSBpbml0aWFsaXphdGlvbiBcMjE0bGUgaXMgcmVhZCwgYVwKLW5kIHRoZSBrKTEwOCA2NTIuOCBSIDEuMzM0IC0uMTUoZXkgYiktLjEgSCAxLjAzNChpbmRpbmdzIGFuZCkuMTUgRiAtLjI1Ci0odmEpMTA4IDY2NC44IFMgMS4xNDkocmlhYmxlcyBhcmUgc2V0LikuMjUgRiAxLjE0OShUaGVyZSBhcmUgb25seSBhIGZlKQotNi4xNDkgRiAzLjY0OSh3YiktLjI1IEcgMS4xNDkoYXNpYyBjb25zdHJ1Y3RzIGFsbG8pLTMuNjQ5IEYgMS4xNQotKHdlZCBpbiB0aGUgcmVhZGxpbmUgaW5pdGlhbGl6YXRpb24gXDIxNGxlLiktLjI1IEYoQmxhbmspNi4xNSBFIC43MzcKLShsaW5lcyBhcmUgaWdub3JlZC4pMTA4IDY3Ni44IFIgLjczNyhMaW5lcyBiZSk1LjczNyBGIC43MzcKLShnaW5uaW5nIHdpdGggYSktLjE1IEYgRjEoIykzLjIzNyBFIEYwIC43MzcoYXJlIGNvbW1lbnRzLikzLjIzNyBGIC43MzcKLShMaW5lcyBiZSk1LjczNyBGIC43MzcoZ2lubmluZyB3aXRoIGEpLS4xNSBGIEYxKCQpMy4yMzcgRSBGMCAuNzM2Ci0oaW5kaWNhdGUgY29uZGl0aW9uYWwpMy4yMzYgRiAyLjUoY29uc3RydWN0cy4gT3RoZXIpMTA4IDY4OC44IFIKLShsaW5lcyBkZW5vdGUgaykyLjUgRSAuMyAtLjE1KGV5IGIpLS4xIEgoaW5kaW5ncyBhbmQgdikuMTUgRQotKGFyaWFibGUgc2V0dGluZ3MuKS0uMjUgRSAuOTg2KFRoZSBkZWYpMTA4IDcwNS42IFIgLjk4NihhdWx0IGspLS4xIEYKLS0uMTUoZXkpLS4xIEcgLjk4NygtYmluZGluZ3MgbWF5IGJlIGNoYW5nZWQgd2l0aCBhbikuMTUgRiBGMihpbnB1dHIpCi0zLjQ5NyBFKGMpLS4zNyBFIEYwIDMuNDg3KFwyMTRsZS4gT3RoZXIpMy43OTcgRiAuOTg3Ci0ocHJvZ3JhbXMgdGhhdCB1c2UgdGhpcyBsaWJyYXJ5IG1heSkzLjQ4NyBGKGFkZCB0aGVpciBvKTEwOCA3MTcuNiBRCi0od24gY29tbWFuZHMgYW5kIGJpbmRpbmdzLiktLjI1IEUoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDkgRmVicnVhcnkgNykKLTE0MC45NiBFKDMzKTE5MC45NSBFIDAgQ2cgRVAKKyhpbmUgZWRpdGluZyBhZnRlciB0aGUgc2hlbGwgaXMgcnVubmluZywgdXNlIHRoZSktMy4yNjMgRiBGMigrbykzLjI2MiBFCisoZW1hY3MpMTA4IDY2OS42IFEgRjAob3IpMi41IEUgRjIoK28gdmkpMi41IEUgRjAob3B0aW9ucyB0byB0aGUpMi41IEUgRjIKKyhzZXQpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluLikuMiBFIEYyKFJlYWRsaW5lIE5vdGF0aW9uKTg3IDY4Ni40IFEKK0YwIC41NjcoSW4gdGhpcyBzZWN0aW9uLCB0aGUgZW1hY3Mtc3R5bGUgbm90YXRpb24gaXMgdXNlZCB0byBkZW5vdGUgaykKKzEwOCA2OTguNCBSIC0uMTUoZXkpLS4xIEcoc3Ryb2spLjE1IEUgMy4wNjgoZXMuIENvbnRyb2wpLS4xIEYgLS4xKGtlKQorMy4wNjggRyAuNTY4KHlzIGFyZSBkZW5vdGVkIGJ5IENcMjU1KS0uMDUgRiBGNCAtLjEoa2UpQyh5KS0uMiBFIEYwKCwpQQorMS4xNTMoZS5nLiwgQ1wyNTVuIG1lYW5zIENvbnRyb2xcMjU1Ti4pMTA4IDcxMC40IFIoU2ltaWxhcmx5KTYuMTUzIEUoLCkKKy0uNjUgRSBGNChtZXRhKTQuMDMzIEUgRjAgLS4xKGtlKTMuOTEzIEcgMS4xNTMoeXMgYXJlIGRlbm90ZWQgYnkgTVwyNTUpCistLjA1IEYgRjQgLS4xKGtlKUMoeSktLjIgRSBGMCAzLjY1MigscylDIDMuNjUyKG9NKS0zLjY1MiBHIDEuMTUyCisoXDI1NXggbWVhbnMgTWV0YVwyNTVYLiktMy42NTIgRihcKE9uKTYuMTUyIEUgLS4xKGtlKTEwOCA3MjIuNCBTIC44MworKHlib2FyZHMgd2l0aG91dCBhKS0uMDUgRiBGNChtZXRhKTMuNzEgRSBGMCAtLjEoa2UpMy41OSBHIDIuMTMgLS42NQorKHksIE0pLS4wNSBIPGFkPi42NSBFIEY0KHgpQSBGMCAuODMobWVhbnMgRVNDKTMuMzMgRiBGNCh4KTMuMzMgRSBGMCAzLjMzCisoLGkpQyAuODMxKC5lLiwgcHJlc3MgdGhlIEVzY2FwZSBrKS0zLjMzIEYgMS4xMzEgLS4xNShleSB0KS0uMSBIIC44MzEKKyhoZW4gdGhlKS4xNSBGIEY0KHgpNC4xMDEgRSBGMCAtLjEoa2UpMy44NjEgRyA0LjYzMSAtLjY1KHkuIFQpLS4wNSBICisuODMxKGhpcyBtYWspLjY1IEYoZXMpLS4xIEUoR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpCisxMzUuOTY1IEUoMzMpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogMzQgMzQKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUgLS4xNShGbykxMDggODQgUyAyLjUocmUpLjE1IEcoeGFtcGxlLCBwbGFjaW5nKS0yLjY1IEUKLShNXDI1NUNvbnRyb2xcMjU1dTogdW5pKTE0NCAxMDAuOCBRIC0uMTUodmUpLS4yNSBHKHJzYWxcMjU1YXIpLjE1IEUKLShndW1lbnQpLS4xOCBFKG9yKTEwOCAxMTIuOCBRKENcMjU1TWV0YVwyNTV1OiB1bmkpMTQ0IDEyNC44IFEgLS4xNSh2ZSkKLS0uMjUgRyhyc2FsXDI1NWFyKS4xNSBFKGd1bWVudCktLjE4IEUoaW50byB0aGUpMTA4IDEzNi44IFEvRjEgMTAKLS9UaW1lcy1JdGFsaWNAMCBTRihpbnB1dHIpMi41MSBFKGMpLS4zNyBFIEYwIC0uMSh3bykyLjgxIEcodWxkIG1haykuMSBFCi0yLjUoZU0pLS4xIEcoXDI1NUNcMjU1dSBlKS0yLjUgRSAtLjE1KHhlKS0uMTUgRwotKGN1dGUgdGhlIHJlYWRsaW5lIGNvbW1hbmQpLjE1IEUgRjEodW5pdmVyKTIuNSBFKHNhbFwyNTVhciktLjEgRShndW1lbnQpCi0tLjM3IEUgRjAoLikuNjggRSAxLjI2MShUaGUgZm9sbG8pMTA4IDE1My42IFIgMS4yNjEKLSh3aW5nIHN5bWJvbGljIGNoYXJhY3RlciBuYW1lcyBhcmUgcmVjb2duaXplZDopLS4yNSBGIEYxIC0uNChSVSkzLjc2MSBHCi0oQk9VVCkuNCBFIEYwKCwpMS4yNyBFIEYxKERFTCkzLjc2MSBFIEYwKCwpLjUzIEUgRjEoRVNDKTMuNzYxIEUgRjAoLCkuNzIKLUUgRjEoTEZEKTMuNzYxIEUgRjAoLCkuMjggRSBGMShORVdMSU5FKTMuNzYgRSBGMCgsKS43MyBFIEYxKFJFVCkzLjc2IEUKLUYwKCwpMS4yNyBFIEYxKFJFVFVSTikxMDggMTY1LjYgUSBGMCgsKTEuMSBFIEYxKFNQQykyLjUgRSBGMCgsKS43MiBFIEYxCi0oU1ApMi41IEUgLS4zKEFDKS0uOSBHKEUpLjMgRSBGMCAyLjUoLGEpLjczIEcobmQpLTIuNSBFIEYxIC0uNShUQSkyLjUgRwotKEIpLjUgRSBGMCguKS4yNyBFIC4yMDkoSW4gYWRkaXRpb24gdG8gY29tbWFuZCBuYW1lcywgcmVhZGxpbmUgYWxsbykxMDgKLTE4Mi40IFIgLjIwOSh3cyBrKS0uMjUgRiAtLjE1KGV5KS0uMSBHIDIuNzA5KHN0KS4xNSBHIDIuNzA5KG9iKS0yLjcwOSBHCi0yLjcwOShlYiktMi43MDkgRyAuMjA5KG91bmQgdG8gYSBzdHJpbmcgdGhhdCBpcyBpbnNlcnRlZCB3aGVuIHRoZSBrKQotLTIuNzA5IEYgLjUwOSAtLjE1KGV5IGkpLS4xIEgocykuMTUgRShwcmVzc2VkIFwoYSkxMDggMTk0LjQgUSBGMShtYWNyKQotMi41IEUobyktLjQ1IEUgRjAoXCkuKUEvRjIgMTAvVGltZXMtQm9sZEAwIFNGKFJlYWRsaW5lIEspODcgMjExLjIgUQotKGV5IEJpbmRpbmdzKS0uMjUgRSBGMCAuMzY2KFRoZSBzeW50YXggZm9yIGNvbnRyb2xsaW5nIGspMTA4IDIyMy4yIFIKLS42NjYgLS4xNShleSBiKS0uMSBIIC4zNjYoaW5kaW5ncyBpbiB0aGUpLjE1IEYgRjEoaW5wdXRyKTIuODc2IEUoYyktLjM3Ci1FIEYwIC4zNjYoXDIxNGxlIGlzIHNpbXBsZS4pMy4xNzYgRiAuMzY2Ci0oQWxsIHRoYXQgaXMgcmVxdWlyZWQgaXMgdGhlIG5hbWUgb2YgdGhlKTUuMzY2IEYgLjM4Mihjb21tYW5kIG9yIHRoZSB0ZSkKLTEwOCAyMzUuMiBSIC4zODMoeHQgb2YgYSBtYWNybyBhbmQgYSBrKS0uMTUgRiAuNjgzIC0uMTUoZXkgcyktLjEgSCAuMzgzCistLjM1IEUgLjYoRVNDIHRoZSkxMDggODQgUi9GMSAxMC9UaW1lcy1JdGFsaWNAMCBTRiAuNihtZXRhIHByKTMuMSBGCisoZVwyMTR4KS0uMzcgRSBGMCA1LjYoLlQpQyAuNihoZSBjb21iaW5hdGlvbiBNXDI1NUNcMjU1KS01LjYgRiBGMSh4KUEgRjAKKy41OTkobWVhbnMgRVNDXDI1NUNvbnRyb2xcMjU1KTMuMDk5IEYgRjEoeClBIEYwIDMuMDk5KCxvKUMgMy4wOTkocnApCistMy4wOTkgRyAuNTk5KHJlc3MgdGhlIEVzY2FwZSBrKS0zLjA5OSBGIC44OTkgLS4xNShleSB0KS0uMSBIIC41OTkKKyhoZW4gaG9sZCkuMTUgRih0aGUgQ29udHJvbCBrKTEwOCA5NiBRIC4zIC0uMTUoZXkgdyktLjEgSAorKGhpbGUgcHJlc3NpbmcgdGhlKS4xNSBFIEYxKHgpMy4yNyBFIEYwIC0uMShrZSkzLjAzIEcgLS42NSh5LiktLjA1IEcoXCkpCisuNjUgRSAuNjE5KFJlYWRsaW5lIGNvbW1hbmRzIG1heSBiZSBnaSkxMDggMTEyLjggUiAtLjE1KHZlKS0uMjUgRyAzLjExOQorKG5uKS4xNSBHKHVtZXJpYyktMy4xMTkgRSBGMShhcikzLjExOSBFKGd1bWVudHMpLS4zNyBFIEYwIDMuMTE5KCx3KS4yNyBHCisuNjE5KGhpY2ggbm9ybWFsbHkgYWN0IGFzIGEgcmVwZWF0IGNvdW50LiktMy4xMTkgRihTb21ldGltZXMsKTUuNjIgRShobykKKzEwOCAxMjQuOCBRKHdlKS0uMjUgRSAtLjE1KHZlKS0uMjUgRyAxLjQxOSAtLjQociwgaSkuMTUgSCAzLjExOSh0aSkuNCBHCiszLjExOShzdCktMy4xMTkgRyAuNjE5KGhlIHNpZ24gb2YgdGhlIGFyKS0zLjExOSBGIC42MTkKKyhndW1lbnQgdGhhdCBpcyBzaWduaVwyMTRjYW50LiktLjE4IEYgLS4xNShQYSk1LjYxOSBHIC42MTkoc3NpbmcgYSBuZSkKKy4xNSBGIC0uMDUoZ2EpLS4xNSBHKHRpKS4wNSBFIC45MTkgLS4xNSh2ZSBhKS0uMjUgSCAtLjE4KHJnKS4xNSBHIC42MTkKKyh1bWVudCB0byBhIGNvbW1hbmQgdGhhdCkuMTggRiAxLjAxOChhY3RzIGluIHRoZSBmb3J3KTEwOCAxMzYuOCBSIDEuMDE4CisoYXJkIGRpcmVjdGlvbiBcKGUuZy4sKS0uMSBGL0YyIDEwL1RpbWVzLUJvbGRAMCBTRihraWxsXDI1NWxpbmUpMy41MTggRQorRjAgMy41MTgoXCljKUMgMS4wMTgoYXVzZXMgdGhhdCBjb21tYW5kIHRvIGFjdCBpbiBhIGJhY2t3KS0zLjUxOCBGIDEuMDE5CisoYXJkIGRpcmVjdGlvbi4pLS4xIEYoQ29tLSk2LjAxOSBFKG1hbmRzIHdob3NlIGJlaGEpMTA4IDE0OC44IFEKKyh2aW9yIHdpdGggYXIpLS4yIEUoZ3VtZW50cyBkZSktLjE4IEUodmlhdGVzIGZyb20gdGhpcyBhcmUgbm90ZWQgYmVsbykKKy0uMjUgRSAtLjY1KHcuKS0uMjUgRyAuODEyKFdoZW4gYSBjb21tYW5kIGlzIGRlc2NyaWJlZCBhcykxMDggMTY1LjYgUiBGMQorKGtpbGxpbmcpMy4zMTEgRSBGMCh0ZSkzLjMxMSBFIC44MTEoeHQsIHRoZSB0ZSktLjE1IEYgLjgxMQorKHh0IGRlbGV0ZWQgaXMgc2EpLS4xNSBGIC0uMTUodmUpLS4yIEcgMy4zMTEoZGYpLjE1IEcgLjgxMQorKG9yIHBvc3NpYmxlIGZ1dHVyZSByZXRyaWUpLTMuMzExIEYgLS4yNSh2YSktLjI1IEcgMy4zMTEobFwoKS4yNSBHIEYxCisoeWFuay0pLTMuMzExIEUoaW5nKTEwOCAxNzcuNiBRIEYwIDIuNTI5KFwpLiBUaGUpQiAuMDI5KGtpbGxlZCB0ZSkyLjUyOQorRiAuMDI5KHh0IGlzIHNhKS0uMTUgRiAtLjE1KHZlKS0uMiBHIDIuNTI5KGRpKS4xNSBHIDIuNTI5KG5hKS0yLjUyOSBHIEYxCisuMDI5KGtpbGwgcmluZylCIEYwIDUuMDI5KC5DKUMob25zZWN1dGkpLTUuMDI5IEUgLjMyOSAtLjE1KHZlIGspLS4yNSBICisuMDI5KGlsbHMgY2F1c2UgdGhlIHRlKS4xNSBGIC4wMjkoeHQgdG8gYmUgYWNjdW11bGF0ZWQgaW50byBvbmUgdW5pdCwpCistLjE1IEYgLjU2Nyh3aGljaCBjYW4gYmUgeWFuaykxMDggMTg5LjYgUiAuNTY3KGVkIGFsbCBhdCBvbmNlLiktLjEgRgorLjU2NyhDb21tYW5kcyB3aGljaCBkbyBub3Qga2lsbCB0ZSk1LjU2NyBGIC41NjcKKyh4dCBzZXBhcmF0ZSB0aGUgY2h1bmtzIG9mIHRlKS0uMTUgRiAuNTY3KHh0IG9uIHRoZSBraWxsKS0uMTUgRihyaW5nLikKKzEwOCAyMDEuNiBRIEYyKFJlYWRsaW5lIEluaXRpYWxpemF0aW9uKTg3IDIxOC40IFEgRjAgLjA5MShSZWFkbGluZSBpcyBjXAordXN0b21pemVkIGJ5IHB1dHRpbmcgY29tbWFuZHMgaW4gYW4gaW5pdGlhbGl6YXRpb24gXDIxNGxlIFwodGhlKTEwOAorMjMwLjQgUiBGMShpbnB1dHIpMi41OTEgRShjKS0uMzcgRSBGMCAyLjU5MShcMjE0bGVcKS4gVGhlKTIuNTkxIEYgLjA5MgorKG5hbWUgb2YgdGhpcyBcMjE0bGUpMi41OTEgRiAuMTk3KGlzIHRhaykxMDggMjQyLjQgUiAuMTk2KGVuIGZyb20gdGhlIHYpCistLjEgRiAuMTk2KGFsdWUgb2YgdGhlKS0uMjUgRi9GMyA5L1RpbWVzLUJvbGRAMCBTRihJTlBVVFJDKTIuNjk2IEUgRjAKKy0uMjUodmEpMi40NDYgRyAyLjY5NihyaWFibGUuIElmKS4yNSBGIC4xOTYodGhhdCB2KTIuNjk2IEYgLjE5NgorKGFyaWFibGUgaXMgdW5zZXQsIHRoZSBkZWYpLS4yNSBGIC4xOTYoYXVsdCBpcyktLjEgRiBGMSh+Ly5pbnB1dHIpMi42OTYKK0UoYyktLjM3IEUgRjAgNS4xOTYoLlcpLjMxIEcgLjE5NihoZW4gYSktNS4xOTYgRiAxLjAzNChwcm9ncmFtIHdoaWNoIHVzXAorZXMgdGhlIHJlYWRsaW5lIGxpYnJhcnkgc3RhcnRzIHVwLCB0aGUgaW5pdGlhbGl6YXRpb24gXDIxNGxlIGlzIHJlYWQsIGFcCituZCB0aGUgaykxMDggMjU0LjQgUiAxLjMzNSAtLjE1KGV5IGIpLS4xIEggMS4wMzUoaW5kaW5ncyBhbmQpLjE1IEYgLS4yNQorKHZhKTEwOCAyNjYuNCBTIDEuMTUocmlhYmxlcyBhcmUgc2V0LikuMjUgRiAxLjE1KFRoZXJlIGFyZSBvbmx5IGEgZmUpCis2LjE1IEYgMy42NDkod2IpLS4yNSBHIDEuMTQ5KGFzaWMgY29uc3RydWN0cyBhbGxvKS0zLjY0OSBGIDEuMTQ5Cisod2VkIGluIHRoZSByZWFkbGluZSBpbml0aWFsaXphdGlvbiBcMjE0bGUuKS0uMjUgRihCbGFuayk2LjE0OSBFIC43MzYKKyhsaW5lcyBhcmUgaWdub3JlZC4pMTA4IDI3OC40IFIgLjczNyhMaW5lcyBiZSk1LjczNyBGIC43MzcKKyhnaW5uaW5nIHdpdGggYSktLjE1IEYgRjIoIykzLjIzNyBFIEYwIC43MzcoYXJlIGNvbW1lbnRzLikzLjIzNyBGIC43MzcKKyhMaW5lcyBiZSk1LjczNyBGIC43MzcoZ2lubmluZyB3aXRoIGEpLS4xNSBGIEYyKCQpMy4yMzcgRSBGMCAuNzM3CisoaW5kaWNhdGUgY29uZGl0aW9uYWwpMy4yMzcgRiAyLjUoY29uc3RydWN0cy4gT3RoZXIpMTA4IDI5MC40IFIKKyhsaW5lcyBkZW5vdGUgaykyLjUgRSAuMyAtLjE1KGV5IGIpLS4xIEgoaW5kaW5ncyBhbmQgdikuMTUgRQorKGFyaWFibGUgc2V0dGluZ3MuKS0uMjUgRSAuOTg3KFRoZSBkZWYpMTA4IDMwNy4yIFIgLjk4NyhhdWx0IGspLS4xIEYKKy0uMTUoZXkpLS4xIEcgLjk4NygtYmluZGluZ3MgbWF5IGJlIGNoYW5nZWQgd2l0aCBhbikuMTUgRiBGMShpbnB1dHIpCiszLjQ5NyBFKGMpLS4zNyBFIEYwIDMuNDg3KFwyMTRsZS4gT3RoZXIpMy43OTcgRiAuOTg3CisocHJvZ3JhbXMgdGhhdCB1c2UgdGhpcyBsaWJyYXJ5IG1heSkzLjQ4NyBGKGFkZCB0aGVpciBvKTEwOCAzMTkuMiBRCisod24gY29tbWFuZHMgYW5kIGJpbmRpbmdzLiktLjI1IEUgLS4xNShGbykxMDggMzM2IFMgMi41KHJlKS4xNSBHCisoeGFtcGxlLCBwbGFjaW5nKS0yLjY1IEUoTVwyNTVDb250cm9sXDI1NXU6IHVuaSkxNDQgMzUyLjggUSAtLjE1KHZlKS0uMjUKK0cocnNhbFwyNTVhcikuMTUgRShndW1lbnQpLS4xOCBFKG9yKTEwOCAzNjQuOCBRKENcMjU1TWV0YVwyNTV1OiB1bmkpMTQ0CiszNzYuOCBRIC0uMTUodmUpLS4yNSBHKHJzYWxcMjU1YXIpLjE1IEUoZ3VtZW50KS0uMTggRShpbnRvIHRoZSkxMDggMzg4LjgKK1EgRjEoaW5wdXRyKTIuNTEgRShjKS0uMzcgRSBGMCAtLjEod28pMi44MSBHKHVsZCBtYWspLjEgRSAyLjUoZU0pLS4xIEcKKyhcMjU1Q1wyNTV1IGUpLTIuNSBFIC0uMTUoeGUpLS4xNSBHKGN1dGUgdGhlIHJlYWRsaW5lIGNvbW1hbmQpLjE1IEUgRjEKKyh1bml2ZXIpMi41IEUoc2FsXDI1NWFyKS0uMSBFKGd1bWVudCktLjM3IEUgRjAoLikuNjggRSAxLjI2KFRoZSBmb2xsbykKKzEwOCA0MDUuNiBSIDEuMjYxKHdpbmcgc3ltYm9saWMgY2hhcmFjdGVyIG5hbWVzIGFyZSByZWNvZ25pemVkOiktLjI1IEYKK0YxIC0uNChSVSkzLjc2MSBHKEJPVVQpLjQgRSBGMCgsKTEuMjcgRSBGMShERUwpMy43NjEgRSBGMCgsKS41MyBFIEYxCisoRVNDKTMuNzYxIEUgRjAoLCkuNzIgRSBGMShMRkQpMy43NjEgRSBGMCgsKS4yOCBFIEYxKE5FV0xJTkUpMy43NjEgRSBGMAorKCwpLjczIEUgRjEoUkVUKTMuNzYxIEUgRjAoLCkxLjI3IEUgRjEoUkVUVVJOKTEwOCA0MTcuNiBRIEYwKCwpMS4xIEUgRjEKKyhTUEMpMi41IEUgRjAoLCkuNzIgRSBGMShTUCkyLjUgRSAtLjMoQUMpLS45IEcoRSkuMyBFIEYwIDIuNSgsYSkuNzMgRworKG5kKS0yLjUgRSBGMSAtLjUoVEEpMi41IEcoQikuNSBFIEYwKC4pLjI3IEUgLjIwOQorKEluIGFkZGl0aW9uIHRvIGNvbW1hbmQgbmFtZXMsIHJlYWRsaW5lIGFsbG8pMTA4IDQzNC40IFIgLjIwOSh3cyBrKS0uMjUKK0YgLS4xNShleSktLjEgRyAyLjcwOShzdCkuMTUgRyAyLjcwOShvYiktMi43MDkgRyAyLjcwOShlYiktMi43MDkgRyAuMjA5Cisob3VuZCB0byBhIHN0cmluZyB0aGF0IGlzIGluc2VydGVkIHdoZW4gdGhlIGspLTIuNzA5IEYgLjUwOSAtLjE1KGV5IGkpCistLjEgSChzKS4xNSBFKHByZXNzZWQgXChhKTEwOCA0NDYuNCBRIEYxKG1hY3IpMi41IEUobyktLjQ1IEUgRjAoXCkuKUEgRjIKKyhSZWFkbGluZSBLKTg3IDQ2My4yIFEoZXkgQmluZGluZ3MpLS4yNSBFIEYwIC4zNjYKKyhUaGUgc3ludGF4IGZvciBjb250cm9sbGluZyBrKTEwOCA0NzUuMiBSIC42NjYgLS4xNShleSBiKS0uMSBIIC4zNjYKKyhpbmRpbmdzIGluIHRoZSkuMTUgRiBGMShpbnB1dHIpMi44NzYgRShjKS0uMzcgRSBGMCAuMzY2CisoXDIxNGxlIGlzIHNpbXBsZS4pMy4xNzYgRiAuMzY2KEFsbCB0aGF0IGlzIHJlcXVpcmVkIGlzIHRoZSBuYW1lIG9mIHRoZSkKKzUuMzY2IEYgLjM4Myhjb21tYW5kIG9yIHRoZSB0ZSkxMDggNDg3LjIgUiAuMzgzKHh0IG9mIGEgbWFjcm8gYW5kIGEgaykKKy0uMTUgRiAuNjgzIC0uMTUoZXkgcyktLjEgSCAuMzgzCiAoZXF1ZW5jZSB0byB3aGljaCBpdCBzaG91bGQgYmUgYm91bmQuIFRoZSBuYW1lIG1heSBiZSBzcGVjaS0pLjE1IEYgLjg1MwotKFwyMTRlZCBpbiBvbmUgb2YgdHcpMTA4IDI0Ny4yIFIgMy4zNTMob3cpLS4xIEcgLjg1MworKFwyMTRlZCBpbiBvbmUgb2YgdHcpMTA4IDQ5OS4yIFIgMy4zNTMob3cpLS4xIEcgLjg1MwogKGF5czogYXMgYSBzeW1ib2xpYyBrKS0zLjQ1MyBGIDEuMTUzIC0uMTUoZXkgbiktLjEgSCAuODUzCiAoYW1lLCBwb3NzaWJseSB3aXRoKS4xNSBGIEYxKE1ldGFcMjU1KTMuMzUzIEUgRjAob3IpMy4zNTMgRSBGMShDb250cikKIDMuMzUzIEUob2xcMjU1KS0uNDUgRSBGMChwcmVcMjE0eCkzLjM1MyBFIC44NTMoZXMsIG9yIGFzIGEgayktLjE1IEYgLS4xNQotKGV5KS0uMSBHKHNlcXVlbmNlLikxMDggMjU5LjIgUSAxLjU0MShXaGVuIHVzaW5nIHRoZSBmb3JtKTEwOCAyNzYgUiBGMgotLS4xKGtlKTQuMDQxIEcoeW5hbWUpLjEgRSBGMCg6KUEgRjEoZnVuY3Rpb25cMjU1bmFtZSkuODMzIEUgRjAob3IpNC4wNDEKKyhleSktLjEgRyhzZXF1ZW5jZS4pMTA4IDUxMS4yIFEgMS41NDIoV2hlbiB1c2luZyB0aGUgZm9ybSkxMDggNTI4IFIgRjIKKy0uMShrZSk0LjA0MiBHKHluYW1lKS4xIEUgRjAoOilBIEYxKGZ1bmN0aW9uXDI1NW5hbWUpLjgzMyBFIEYwKG9yKTQuMDQyCiBFIEYxKG1hY3IpNC4wNDIgRShvKS0uNDUgRSBGMCgsKUEgRjEgLS4xKGtlKTQuMDQyIEcoeW5hbWUpLS4yIEUgRjAgMS41NDIKLShpcyB0aGUgbmFtZSBvZiBhIGspNC4yMjIgRiAxLjg0MiAtLjE1KGV5IHMpLS4xIEggMS41NDIocGVsbGVkIG91dCBpbikKLS4xNSBGIDIuNShFbmdsaXNoLiBGKTEwOCAyODggUihvciBlKS0uMTUgRSh4YW1wbGU6KS0uMTUgRQotKENvbnRyb2wtdTogdW5pKTE0NCAzMTIgUSAtLjE1KHZlKS0uMjUgRyhyc2FsXDI1NWFyKS4xNSBFKGd1bWVudCktLjE4IEUKLShNZXRhLVJ1Ym91dDogYmFja3cpMTQ0IDMyNCBRKGFyZC1raWxsLXcpLS4xIEUob3JkKS0uMSBFCi0oQ29udHJvbC1vOiAiPiBvdXRwdXQiKTE0NCAzMzYgUSAuNjk5KEluIHRoZSBhYm8pMTA4IDM1Mi44IFIgLjk5OCAtLjE1CisoaXMgdGhlIG5hbWUgb2YgYSBrKTQuMjIyIEYgMS44NDEgLS4xNShleSBzKS0uMSBIIDEuNTQxKHBlbGxlZCBvdXQgaW4pCisuMTUgRiAyLjUoRW5nbGlzaC4gRikxMDggNTQwIFIob3IgZSktLjE1IEUoeGFtcGxlOiktLjE1IEUKKyhDb250cm9sLXU6IHVuaSkxNDQgNTY0IFEgLS4xNSh2ZSktLjI1IEcocnNhbFwyNTVhcikuMTUgRShndW1lbnQpLS4xOCBFCisoTWV0YS1SdWJvdXQ6IGJhY2t3KTE0NCA1NzYgUShhcmQta2lsbC13KS0uMSBFKG9yZCktLjEgRQorKENvbnRyb2wtbzogIj4gb3V0cHV0IikxNDQgNTg4IFEgLjY5OChJbiB0aGUgYWJvKTEwOCA2MDQuOCBSIC45OTggLS4xNQogKHZlIGV4KS0uMTUgSChhbXBsZSwpLjE1IEUgRjEoQ1wyNTV1KTMuMDM4IEUgRjAgLjY5OAogKGlzIGJvdW5kIHRvIHRoZSBmdW5jdGlvbikzLjQ0OCBGIEYyKHVuaSkzLjE5OCBFIC0uMSh2ZSktLjEgRwogKHJzYWxcMjU1YXIpLjEgRShndW1lbnQpLS4xIEUgRjAoLClBIEYxKE1cMjU1REVMKTMuODc4IEUgRjAgLjY5OAotKGlzIGJvdW5kIHRvIHRoZSBmdW5jLSkzLjcyOCBGKHRpb24pMTA4IDM2NC44IFEgRjIKLShiYWNrd2FyZFwyNTVraWxsXDI1NXcpMi43NTggRShvcmQpLS4xIEUgRjAgMi43NTgoLGEpQyhuZCktMi43NTggRSBGMQotKENcMjU1bykyLjU5OCBFIEYwIC4yNTgoaXMgYm91bmQgdG8gcnVuIHRoZSBtYWNybyBlKTIuOTM4IEYgLjI1OQorKGlzIGJvdW5kIHRvIHRoZSBmdW5jLSkzLjcyOCBGKHRpb24pMTA4IDYxNi44IFEgRjIKKyhiYWNrd2FyZFwyNTVraWxsXDI1NXcpMi43NTkgRShvcmQpLS4xIEUgRjAgMi43NTkoLGEpQyhuZCktMi43NTkgRSBGMQorKENcMjU1bykyLjU5OSBFIEYwIC4yNTgoaXMgYm91bmQgdG8gcnVuIHRoZSBtYWNybyBlKTIuOTM5IEYgLjI1OAogKHhwcmVzc2VkIG9uIHRoZSByaWdodCBoYW5kIHNpZGUgXCh0aGF0IGlzLCB0byktLjE1IEYoaW5zZXJ0IHRoZSB0ZSkxMDgKLTM3Ni44IFEoeHQpLS4xNSBFL0YzIDEwL0NvdXJpZXJAMCBTRiA2KD5vKTIuNSBHKHV0cHV0KS02IEUgRjAKLShpbnRvIHRoZSBsaW5lXCkuKTIuNSBFIC4wNTYoSW4gdGhlIHNlY29uZCBmb3JtLCkxMDggMzkzLjYgUiBGMigiaykyLjU1NgotRShleXNlcSIpLS4xIEUgRjAoOilBIEYxKGZ1bmN0aW9uXDI1NW5hbWUpLjgzMyBFIEYwKG9yKTIuNTU2IEUgRjEobWFjcikKLTIuNTU2IEUobyktLjQ1IEUgRjAoLClBIEYyIC0uMShrZSkyLjU1NiBHKHlzZXEpLjEgRSBGMChkaWYpMi41NTUgRSAuMDU1Ci0oZmVycyBmcm9tKS0uMjUgRiBGMiAtLjEoa2UpMi41NTUgRyh5bmFtZSkuMSBFIEYwKGFibykyLjU1NSBFIC4zNTUgLS4xNQotKHZlIGkpLS4xNSBIIDIuNTU1KG50KS4xNSBHIC4wNTUoaGF0IHN0cmluZ3MpLTIuNTU1IEYgMS4yODQKLShkZW5vdGluZyBhbiBlbnRpcmUgaykxMDggNDA1LjYgUiAxLjU4NCAtLjE1KGV5IHMpLS4xIEggMS4yODQoZXF1ZW5jZSBtXAorNjI4LjggUSh4dCktLjE1IEUvRjQgMTAvQ291cmllckAwIFNGIDYoPm8pMi41IEcodXRwdXQpLTYgRSBGMAorKGludG8gdGhlIGxpbmVcKS4pMi41IEUgLjA1NShJbiB0aGUgc2Vjb25kIGZvcm0sKTEwOCA2NDUuNiBSIEYyKCJrKTIuNTU1CitFKGV5c2VxIiktLjEgRSBGMCg6KUEgRjEoZnVuY3Rpb25cMjU1bmFtZSkuODMzIEUgRjAob3IpMi41NTUgRSBGMShtYWNyKQorMi41NTUgRShvKS0uNDUgRSBGMCgsKUEgRjIgLS4xKGtlKTIuNTU1IEcoeXNlcSkuMSBFIEYwKGRpZikyLjU1NiBFIC4wNTYKKyhmZXJzIGZyb20pLS4yNSBGIEYyIC0uMShrZSkyLjU1NiBHKHluYW1lKS4xIEUgRjAoYWJvKTIuNTU2IEUgLjM1NiAtLjE1CisodmUgaSktLjE1IEggMi41NTYobnQpLjE1IEcgLjA1NihoYXQgc3RyaW5ncyktMi41NTYgRiAxLjI4NAorKGRlbm90aW5nIGFuIGVudGlyZSBrKTEwOCA2NTcuNiBSIDEuNTg0IC0uMTUoZXkgcyktLjEgSCAxLjI4NChlcXVlbmNlIG1cCiBheSBiZSBzcGVjaVwyMTRlZCBieSBwbGFjaW5nIHRoZSBzZXF1ZW5jZSB3aXRoaW4gZG91YmxlIHF1b3Rlcy4pLjE1IEYKLShTb21lKTYuMjg0IEUgLjM4NihHTlUgRW1hY3Mgc3R5bGUgaykxMDggNDE3LjYgUiAuNjg2IC0uMTUoZXkgZSktLjEgSAotLjM4NShzY2FwZXMgY2FuIGJlIHVzZWQsIGFzIGluIHRoZSBmb2xsbykuMTUgRiAuMzg1KHdpbmcgZSktLjI1IEYgLjM4NQotKHhhbXBsZSwgYiktLjE1IEYgLjM4NSh1dCB0aGUgc3ltYm9saWMgY2hhcmFjdGVyIG5hbWVzKS0uMiBGCi0oYXJlIG5vdCByZWNvZ25pemVkLikxMDggNDI5LjYgUSgiXFxDXDI1NXUiOiB1bmkpMTQ0IDQ1My42IFEgLS4xNSh2ZSkKKyhTb21lKTYuMjg0IEUgLjM4NShHTlUgRW1hY3Mgc3R5bGUgaykxMDggNjY5LjYgUiAuNjg1IC0uMTUoZXkgZSktLjEgSAorLjM4NShzY2FwZXMgY2FuIGJlIHVzZWQsIGFzIGluIHRoZSBmb2xsbykuMTUgRiAuMzg1KHdpbmcgZSktLjI1IEYgLjM4NgorKHhhbXBsZSwgYiktLjE1IEYgLjM4Nih1dCB0aGUgc3ltYm9saWMgY2hhcmFjdGVyIG5hbWVzKS0uMiBGCisoYXJlIG5vdCByZWNvZ25pemVkLikxMDggNjgxLjYgUSgiXFxDXDI1NXUiOiB1bmkpMTQ0IDcwNS42IFEgLS4xNSh2ZSkKIC0uMjUgRyhyc2FsXDI1NWFyKS4xNSBFKGd1bWVudCktLjE4IEUKLSgiXFxDXDI1NXhcXENcMjU1ciI6IHJlXDI1NXJlYWRcMjU1aW5pdFwyNTVcMjE0bGUpMTQ0IDQ2NS42IFEKLSgiXFxlWzExfiI6ICJGdW5jdGlvbiBLKTE0NCA0NzcuNiBRIC4zIC0uMTUoZXkgMSktLjI1IEgoIikuMTUgRSAuMzE0Ci0oSW4gdGhpcyBlKTEwOCA0OTQuNCBSKHhhbXBsZSwpLS4xNSBFIEYxKENcMjU1dSkyLjY1NCBFIEYwIC4zMTQoaXMgYWcpCi0zLjA2NCBGIC4zMTUoYWluIGJvdW5kIHRvIHRoZSBmdW5jdGlvbiktLjA1IEYgRjIodW5pKTIuODE1IEUgLS4xKHZlKS0uMQotRyhyc2FsXDI1NWFyKS4xIEUoZ3VtZW50KS0uMSBFIEYwKC4pQSBGMSAuMzE1KENcMjU1eCBDXDI1NXIpNS4xNTUgRiBGMAotLjMxNShpcyBib3VuZCB0byB0aGUgZnVuYy0pMy41NDUgRih0aW9uKTEwOCA1MDYuNCBRIEYyIC0uMTgocmUpMi41IEcKLTxhZDcyPi4xOCBFKGVhZFwyNTVpbml0XDI1NVwyMTRsZSktLjE4IEUgRjAgMi41KCxhKUMobmQpLTIuNSBFIEYxCi0oRVNDIFsgMSAxIH4pMy4wMSBFIEYwKGlzIGJvdW5kIHRvIGluc2VydCB0aGUgdGUpMy45NCBFKHh0KS0uMTUgRSBGMwotKEZ1bmN0aW9uIEtleSAxKTIuNSBFIEYwKC4pQQotKFRoZSBmdWxsIHNldCBvZiBHTlUgRW1hY3Mgc3R5bGUgZXNjYXBlIHNlcXVlbmNlcyBpcykxMDggNTIzLjIgUSBGMgotPDVjNDNhZD4xNDQgNTM1LjIgUSBGMChjb250cm9sIHByZVwyMTR4KTIwLjMgRSBGMjw1YzRkYWQ+MTQ0IDU0Ny4yIFEgRjAKLShtZXRhIHByZVwyMTR4KTE4LjA4IEUgRjIoXFxlKTE0NCA1NTkuMiBRIEYwKGFuIGVzY2FwZSBjaGFyYWN0ZXIpMjguNzggRQotRjIoXFxcXCkxNDQgNTcxLjIgUSBGMChiYWNrc2xhc2gpMzAuNDQgRSBGMihcXCIpMTQ0IDU4My4yIFEgRjAKLShsaXRlcmFsICIpMjcuNjcgRSBGMjw1YzA4PjE0NCA1OTUuMiBRIEYwKGxpdGVyYWwgXDAxMCkzMC40NCBFKEluIGFkZGl0XAotaW9uIHRvIHRoZSBHTlUgRW1hY3Mgc3R5bGUgZXNjYXBlIHNlcXVlbmNlcywgYSBzZWNvbmQgc2V0IG9mIGJhY2tzbGFzaCBcCi1lc2NhcGVzIGlzIGEpMTA4IDYxMiBRIC0uMjUodmEpLS4yIEcoaWxhYmxlOikuMjUgRSBGMihcXGEpMTQ0IDYyNCBRIEYwCi0oYWxlcnQgXChiZWxsXCkpMjguMjIgRSBGMihcXGIpMTQ0IDYzNiBRIEYwKGJhY2tzcGFjZSkyNy42NiBFIEYyKFxcZCkxNDQKLTY0OCBRIEYwKGRlbGV0ZSkyNy42NiBFIEYyKFxcZikxNDQgNjYwIFEgRjAoZm9ybSBmZWVkKTI5Ljg5IEUgRjIoXFxuKTE0NAotNjcyIFEgRjAobmUpMjcuNjYgRSh3bGluZSktLjI1IEUgRjIoXFxyKTE0NCA2ODQgUSBGMChjYXJyaWFnZSByZXR1cm4pCi0yOC43OCBFIEYyKFxcdCkxNDQgNjk2IFEgRjAoaG9yaXpvbnRhbCB0YWIpMjkuODkgRSBGMihcXHYpMTQ0IDcwOCBRIEYwCi0tLjE1KHZlKTI4LjIyIEcocnRpY2FsIHRhYikuMTUgRShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwOSBGZWJydWFyeSA3KQotMTQwLjk2IEUoMzQpMTkwLjk1IEUgMCBDZyBFUAorKCJcXENcMjU1eFxcQ1wyNTVyIjogcmVcMjU1cmVhZFwyNTVpbml0XDI1NVwyMTRsZSkxNDQgNzE3LjYgUQorKCJcXGVbMTF+IjogIkZ1bmN0aW9uIEspMTQ0IDcyOS42IFEgLjMgLS4xNShleSAxKS0uMjUgSCgiKS4xNSBFCisoR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDM0KTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDM1IDM1CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihcXCkxNDQgODQgUS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihubm4pQQotRjAodGhlIGVpZ2h0LWJpdCBjaGFyYWN0ZXIgd2hvc2UgdikxOC4yMiBFKGFsdWUgaXMgdGhlIG9jdGFsIHYpLS4yNSBFCi0oYWx1ZSktLjI1IEUgRjIobm5uKTIuNSBFIEYwKFwob25lIHRvIHRocmVlIGRpZ2l0c1wpKTIuNSBFIEYxKFxceCkxNDQgOTYKLVEgRjIoSEgpQSBGMCh0aGUgZWlnaHQtYml0IGNoYXJhY3RlciB3aG9zZSB2KTEzLjc4IEUoYWx1ZSBpcyB0aGUgaGUpLS4yNQotRSh4YWRlY2ltYWwgdiktLjE1IEUoYWx1ZSktLjI1IEUgRjIoSEgpMi41IEUgRjAoXChvbmUgb3IgdHcpMi41IEUgMi41Ci0ob2gpLS4xIEcgLjMgLS4xNShleCBkKS0yLjUgSChpZ2l0c1wpKS4xNSBFIDEuMTQyKFdoZW4gZW50ZXJpbmcgdGhlIHRlKQotMTA4IDExMi44IFIgMS4xNDEoeHQgb2YgYSBtYWNybywgc2luZ2xlIG9yIGRvdWJsZSBxdW90ZXMgbXVzdCBiZSB1c2VkIHRcCi1vIGluZGljYXRlIGEgbWFjcm8gZGVcMjE0bml0aW9uLiktLjE1IEYgLjA4OShVbnF1b3RlZCB0ZSkxMDggMTI0LjggUgotLjA4OSh4dCBpcyBhc3N1bWVkIHRvIGJlIGEgZnVuY3Rpb24gbmFtZS4pLS4xNSBGIC4wOShJbiB0aGUgbWFjcm8gYm9keSkKLTUuMDg5IEYgMi41OSgsdCktLjY1IEcgLjA5KGhlIGJhY2tzbGFzaCBlc2NhcGVzIGRlc2NyaWJlZCBhYm8pLTIuNTkgRgotLS4xNSh2ZSktLjE1IEcoYXJlIGUpMTA4IDEzNi44IFEgMi41KHhwYW5kZWQuIEJhY2tzbGFzaCktLjE1IEYKLSh3aWxsIHF1b3RlIGFuKTIuNSBFIDIuNSh5byktLjE1IEcodGhlciBjaGFyYWN0ZXIgaW4gdGhlIG1hY3JvIHRlKS0yLjUgRQotKHh0LCBpbmNsdWRpbmcgIiBhbmQgXDAxMC4pLS4xNSBFIEYxKEJhc2gpMTA4IDE1My42IFEgRjAoYWxsbykyLjkzIEUgLjQzCi0od3MgdGhlIGN1cnJlbnQgcmVhZGxpbmUgayktLjI1IEYgLjczIC0uMTUoZXkgYiktLjEgSCAuNDI5Ci0oaW5kaW5ncyB0byBiZSBkaXNwbGF5ZWQgb3IgbW9kaVwyMTRlZCB3aXRoIHRoZSkuMTUgRiBGMShiaW5kKTIuOTI5IEUgRjAKLS0uMihidSkyLjkyOSBHIC40MjkoaWx0aW4gY29tbWFuZC4pLjIgRiAuMDQ1Ci0oVGhlIGVkaXRpbmcgbW9kZSBtYXkgYmUgc3dpdGNoZWQgZHVyaW5nIGludGVyYWN0aSkxMDggMTY1LjYgUiAuMzQ1IC0uMTUKLSh2ZSB1KS0uMjUgSCAuMDQ2KHNlIGJ5IHVzaW5nIHRoZSkuMTUgRiBGMTxhZDZmPjIuNTQ2IEUgRjAgLjA0NgotKG9wdGlvbiB0byB0aGUpMi41NDYgRiBGMShzZXQpMi41NDYgRSBGMCAtLjIoYnUpMi41NDYgRyAuMDQ2Ci0oaWx0aW4gY29tbWFuZCkuMiBGKFwoc2VlKTEwOCAxNzcuNiBRL0YzIDkvVGltZXMtQm9sZEAwIFNGKFNIRUxMIEIpMi41IEUKLShVSUwpLS4wOSBFKFRJTiBDT01NQU5EUyktLjgyOCBFIEYwKGJlbG8pMi4yNSBFKHdcKS4pLS4yNSBFIEYxCi0oUmVhZGxpbmUgVik4NyAxOTQuNCBRKGFyaWFibGVzKS0uOTIgRSBGMCAuMDQ0KFJlYWRsaW5lIGhhcyB2KTEwOCAyMDYuNAotUiAuMDQzKGFyaWFibGVzIHRoYXQgY2FuIGJlIHVzZWQgdG8gZnVydGhlciBjdXN0b21pemUgaXRzIGJlaGEpLS4yNSBGCistLjM1IEUgLjMxNShJbiB0aGlzIGUpMTA4IDg0IFIoeGFtcGxlLCktLjE1IEUvRjEgMTAvVGltZXMtSXRhbGljQDAgU0YKKyhDXDI1NXUpMi42NTUgRSBGMCAuMzE1KGlzIGFnKTMuMDY1IEYgLjMxNShhaW4gYm91bmQgdG8gdGhlIGZ1bmN0aW9uKQorLS4wNSBGL0YyIDEwL1RpbWVzLUJvbGRAMCBTRih1bmkpMi44MTUgRSAtLjEodmUpLS4xIEcocnNhbFwyNTVhcikuMSBFCisoZ3VtZW50KS0uMSBFIEYwKC4pQSBGMSAuMzE1KENcMjU1eCBDXDI1NXIpNS4xNTUgRiBGMCAuMzE0CisoaXMgYm91bmQgdG8gdGhlIGZ1bmMtKTMuNTQ0IEYodGlvbikxMDggOTYgUSBGMiAtLjE4KHJlKTIuNSBHPGFkNzI+LjE4IEUKKyhlYWRcMjU1aW5pdFwyNTVcMjE0bGUpLS4xOCBFIEYwIDIuNSgsYSlDKG5kKS0yLjUgRSBGMShFU0MgWyAxIDEgfikzLjAxCitFIEYwKGlzIGJvdW5kIHRvIGluc2VydCB0aGUgdGUpMy45NCBFKHh0KS0uMTUgRS9GMyAxMC9Db3VyaWVyQDAgU0YKKyhGdW5jdGlvbiBLZXkgMSkyLjUgRSBGMCguKUEKKyhUaGUgZnVsbCBzZXQgb2YgR05VIEVtYWNzIHN0eWxlIGVzY2FwZSBzZXF1ZW5jZXMgaXMpMTA4IDExMi44IFEgRjIKKzw1YzQzYWQ+MTQ0IDEyNC44IFEgRjAoY29udHJvbCBwcmVcMjE0eCkyMC4zIEUgRjI8NWM0ZGFkPjE0NCAxMzYuOCBRIEYwCisobWV0YSBwcmVcMjE0eCkxOC4wOCBFIEYyKFxcZSkxNDQgMTQ4LjggUSBGMChhbiBlc2NhcGUgY2hhcmFjdGVyKTI4Ljc4IEUKK0YyKFxcXFwpMTQ0IDE2MC44IFEgRjAoYmFja3NsYXNoKTMwLjQ0IEUgRjIoXFwiKTE0NCAxNzIuOCBRIEYwCisobGl0ZXJhbCAiKTI3LjY3IEUgRjI8NWMwOD4xNDQgMTg0LjggUSBGMChsaXRlcmFsIFwwMTApMzAuNDQgRShJbiBhZGRpdFwKK2lvbiB0byB0aGUgR05VIEVtYWNzIHN0eWxlIGVzY2FwZSBzZXF1ZW5jZXMsIGEgc2Vjb25kIHNldCBvZiBiYWNrc2xhc2ggXAorZXNjYXBlcyBpcyBhKTEwOCAyMDEuNiBRIC0uMjUodmEpLS4yIEcoaWxhYmxlOikuMjUgRSBGMihcXGEpMTQ0IDIxMy42IFEKK0YwKGFsZXJ0IFwoYmVsbFwpKTI4LjIyIEUgRjIoXFxiKTE0NCAyMjUuNiBRIEYwKGJhY2tzcGFjZSkyNy42NiBFIEYyCisoXFxkKTE0NCAyMzcuNiBRIEYwKGRlbGV0ZSkyNy42NiBFIEYyKFxcZikxNDQgMjQ5LjYgUSBGMChmb3JtIGZlZWQpMjkuODkKK0UgRjIoXFxuKTE0NCAyNjEuNiBRIEYwKG5lKTI3LjY2IEUod2xpbmUpLS4yNSBFIEYyKFxccikxNDQgMjczLjYgUSBGMAorKGNhcnJpYWdlIHJldHVybikyOC43OCBFIEYyKFxcdCkxNDQgMjg1LjYgUSBGMChob3Jpem9udGFsIHRhYikyOS44OSBFIEYyCisoXFx2KTE0NCAyOTcuNiBRIEYwIC0uMTUodmUpMjguMjIgRyhydGljYWwgdGFiKS4xNSBFIEYyKFxcKTE0NCAzMDkuNiBRCitGMShubm4pQSBGMCh0aGUgZWlnaHQtYml0IGNoYXJhY3RlciB3aG9zZSB2KTE4LjIyIEUoYWx1ZSBpcyB0aGUgb2N0YWwgdikKKy0uMjUgRShhbHVlKS0uMjUgRSBGMShubm4pMi41IEUgRjAoXChvbmUgdG8gdGhyZWUgZGlnaXRzXCkpMi41IEUgRjIoXFx4KQorMTQ0IDMyMS42IFEgRjEoSEgpQSBGMCh0aGUgZWlnaHQtYml0IGNoYXJhY3RlciB3aG9zZSB2KTEzLjc4IEUKKyhhbHVlIGlzIHRoZSBoZSktLjI1IEUoeGFkZWNpbWFsIHYpLS4xNSBFKGFsdWUpLS4yNSBFIEYxKEhIKTIuNSBFIEYwCisoXChvbmUgb3IgdHcpMi41IEUgMi41KG9oKS0uMSBHIC4zIC0uMTUoZXggZCktMi41IEgoaWdpdHNcKSkuMTUgRSAxLjE0MQorKFdoZW4gZW50ZXJpbmcgdGhlIHRlKTEwOCAzMzguNCBSIDEuMTQxKHh0IG9mIGEgbWFjcm8sIHNpbmdsZSBvciBkb3VibGVcCisgcXVvdGVzIG11c3QgYmUgdXNlZCB0byBpbmRpY2F0ZSBhIG1hY3JvIGRlXDIxNG5pdGlvbi4pLS4xNSBGIC4wOQorKFVucXVvdGVkIHRlKTEwOCAzNTAuNCBSIC4wOSh4dCBpcyBhc3N1bWVkIHRvIGJlIGEgZnVuY3Rpb24gbmFtZS4pLS4xNSBGCisuMDg5KEluIHRoZSBtYWNybyBib2R5KTUuMDg5IEYgMi41ODkoLHQpLS42NSBHIC4wODkKKyhoZSBiYWNrc2xhc2ggZXNjYXBlcyBkZXNjcmliZWQgYWJvKS0yLjU4OSBGIC0uMTUodmUpLS4xNSBHKGFyZSBlKTEwOAorMzYyLjQgUSAyLjUoeHBhbmRlZC4gQmFja3NsYXNoKS0uMTUgRih3aWxsIHF1b3RlIGFuKTIuNSBFIDIuNSh5byktLjE1IEcKKyh0aGVyIGNoYXJhY3RlciBpbiB0aGUgbWFjcm8gdGUpLTIuNSBFKHh0LCBpbmNsdWRpbmcgIiBhbmQgXDAxMC4pLS4xNSBFCitGMihCYXNoKTEwOCAzNzkuMiBRIEYwKGFsbG8pMi45MjkgRSAuNDI5KHdzIHRoZSBjdXJyZW50IHJlYWRsaW5lIGspLS4yNQorRiAuNzI5IC0uMTUoZXkgYiktLjEgSCAuNDI5CisoaW5kaW5ncyB0byBiZSBkaXNwbGF5ZWQgb3IgbW9kaVwyMTRlZCB3aXRoIHRoZSkuMTUgRiBGMihiaW5kKTIuOTMgRSBGMAorLS4yKGJ1KTIuOTMgRyAuNDMoaWx0aW4gY29tbWFuZC4pLjIgRiAuMDQ2CisoVGhlIGVkaXRpbmcgbW9kZSBtYXkgYmUgc3dpdGNoZWQgZHVyaW5nIGludGVyYWN0aSkxMDggMzkxLjIgUiAuMzQ2IC0uMTUKKyh2ZSB1KS0uMjUgSCAuMDQ2KHNlIGJ5IHVzaW5nIHRoZSkuMTUgRiBGMjxhZDZmPjIuNTQ1IEUgRjAgLjA0NQorKG9wdGlvbiB0byB0aGUpMi41NDUgRiBGMihzZXQpMi41NDUgRSBGMCAtLjIoYnUpMi41NDUgRyAuMDQ1CisoaWx0aW4gY29tbWFuZCkuMiBGKFwoc2VlKTEwOCA0MDMuMiBRL0Y0IDkvVGltZXMtQm9sZEAwIFNGKFNIRUxMIEIpMi41IEUKKyhVSUwpLS4wOSBFKFRJTiBDT01NQU5EUyktLjgyOCBFIEYwKGJlbG8pMi4yNSBFKHdcKS4pLS4yNSBFIEYyCisoUmVhZGxpbmUgVik4NyA0MjAgUShhcmlhYmxlcyktLjkyIEUgRjAgLjA0MyhSZWFkbGluZSBoYXMgdikxMDggNDMyIFIKKy4wNDMoYXJpYWJsZXMgdGhhdCBjYW4gYmUgdXNlZCB0byBmdXJ0aGVyIGN1c3RvbWl6ZSBpdHMgYmVoYSktLjI1IEYKICh2aW9yKS0uMiBFIDUuMDQzKC5BKS0uNTUgRyAtLjI1KHZhKS0yLjUgRyAuMDQzCi0ocmlhYmxlIG1heSBiZSBzZXQgaW4gdGhlKS4yNSBGIEYyKGlucHUtKTIuNTUzIEUodHIpMTA4IDIxOC40IFEoYyktLjM3IEUKLUYwKFwyMTRsZSB3aXRoIGEgc3RhdGVtZW50IG9mIHRoZSBmb3JtKTIuODEgRSBGMShzZXQpMTQ0IDIzNS4yIFEgRjIKKyhyaWFibGUgbWF5IGJlIHNldCBpbiB0aGUpLjI1IEYgRjEoaW5wdS0pMi41NTQgRSh0cikxMDggNDQ0IFEoYyktLjM3IEUKK0YwKFwyMTRsZSB3aXRoIGEgc3RhdGVtZW50IG9mIHRoZSBmb3JtKTIuODEgRSBGMihzZXQpMTQ0IDQ2MC44IFEgRjEKICh2YXJpYWJsZVwyNTVuYW1lIHZhbHVlKTIuNSBFIEYwIC43OShFeGNlcHQgd2hlcmUgbm90ZWQsIHJlYWRsaW5lIHYpMTA4Ci0yNTIgUiAuNzkoYXJpYWJsZXMgY2FuIHRhayktLjI1IEYgMy4yOShldCktLjEgRyAuNzkoaGUgdiktMy4yOSBGKGFsdWVzKQotLS4yNSBFIEYxKE9uKTMuMjkgRSBGMChvcikzLjI5IEUgRjEoT2ZmKTMuMjkgRSBGMCAuNzkoXCh3aXRob3V0IHJlKTMuMjkKLUYgLS4wNShnYSktLjE1IEcgLjc5KHJkIHRvIGNhc2VcKS4pLjA1IEYoVW5yZWNvZy0pNS43OSBFIC40NDkobml6ZWQgdikKLTEwOCAyNjQgUiAuNDQ4KGFyaWFibGUgbmFtZXMgYXJlIGlnbm9yZWQuKS0uMjUgRiAuNDQ4KFdoZW4gYSB2KTUuNDQ4IEYKLS40NDgoYXJpYWJsZSB2KS0uMjUgRiAuNDQ4KGFsdWUgaXMgcmVhZCwgZW1wdHkgb3IgbnVsbCB2KS0uMjUgRiAuNDQ4Ci0oYWx1ZXMsICJvbiIgXChjYXNlLWluc2Vuc2ktKS0uMjUgRih0aSkxMDggMjc2IFEgLS4xNSh2ZSktLjI1IEcgLjQ2NwotKFwpLCBhbmQgIjEiIGFyZSBlcXVpKS4xNSBGIC0uMjUodmEpLS4yNSBHIC40NjgobGVudCB0bykuMjUgRiBGMShPbikKLTIuOTY4IEUgRjAgNS40NjgoLkEpQyAuNDY4KGxsIG90aGVyIHYpLTUuNDY4IEYgLjQ2OChhbHVlcyBhcmUgZXF1aSktLjI1Ci1GIC0uMjUodmEpLS4yNSBHIC40NjgobGVudCB0bykuMjUgRiBGMShPZmYpMi45NjggRSBGMCA1LjQ2OCguVClDIC40NjgKLShoZSB2KS01LjQ2OCBGIC40NjgoYXJpYWJsZXMgYW5kIHRoZWlyIGRlZiktLjI1IEYoYXVsdCktLjEgRSAtLjI1KHZhKTEwOAotMjg4IFMobHVlcyBhcmU6KS4yNSBFIEYxKGJlbGxcMjU1c3R5bGUgXChhdWRpYmxlXCkpMTA4IDMwNC44IFEgRjAgLjAxMQotKENvbnRyb2xzIHdoYXQgaGFwcGVucyB3aGVuIHJlYWRsaW5lIHcpMTQ0IDMxNi44IFIgLjAxMQotKGFudHMgdG8gcmluZyB0aGUgdGVybWluYWwgYmVsbC4pLS4xIEYgLjAxKElmIHNldCB0byk1LjAxIEYgRjEobm9uZSkyLjUxCi1FIEYwIDIuNTEoLHIpQyAuMDEoZWFkbGluZSBuZSktMi41MSBGIC0uMTUodmUpLS4yNSBHKHIpLjE1IEUgLjk0Ci0ocmluZ3MgdGhlIGJlbGwuKTE0NCAzMjguOCBSIC45NChJZiBzZXQgdG8pNS45NCBGIEYxKHZpc2libGUpMy40NCBFIEYwCi0zLjQ0KCxyKUMgLjk0KGVhZGxpbmUgdXNlcyBhIHZpc2libGUgYmVsbCBpZiBvbmUgaXMgYSktMy40NCBGIC0uMjUodmEpCi0tLjIgRyAzLjQ0KGlsYWJsZS4gSWYpLjI1IEYgLjk0KHNldCB0bykzLjQ0IEYgRjEoYXVkaWJsZSkzLjQ0IEUgRjAoLClBCi0ocmVhZGxpbmUgYXR0ZW1wdHMgdG8gcmluZyB0aGUgdGVybWluYWwnKTE0NCAzNDAuOCBRIDIuNShzYiktLjU1IEcoZWxsLikKLS0yLjUgRSBGMShiaW5kXDI1NXR0eVwyNTVzcGVjaWFsXDI1NWNoYXJzIFwoT25cKSkxMDggMzUyLjggUSBGMCAuMDU2Ci0oSWYgc2V0IHRvKTE0NCAzNjQuOCBSIEYxKE9uKTIuNTU2IEUgRjAgMi41NTYoLHIpQyAuMDU2KGVhZGxpbmUgYXR0ZW1wdFwKLXMgdG8gYmluZCB0aGUgY29udHJvbCBjaGFyYWN0ZXJzIHRyZWF0ZWQgc3BlY2lhbGx5IGJ5IHRoZSBrKS0yLjU1NiBGCi0oZXJuZWwnKS0uMSBFIDIuNTU1KHN0KS0uNTUgRyhlcm1pLSktMi41NTUgRShuYWwgZHJpKTE0NCAzNzYuOCBRIC0uMTUKKzQ3Ny42IFIgLjc5KGFyaWFibGVzIGNhbiB0YWspLS4yNSBGIDMuMjkoZXQpLS4xIEcgLjc5KGhlIHYpLTMuMjkgRgorKGFsdWVzKS0uMjUgRSBGMihPbikzLjI5IEUgRjAob3IpMy4yOSBFIEYyKE9mZikzLjI5IEUgRjAgLjc5CisoXCh3aXRob3V0IHJlKTMuMjkgRiAtLjA1KGdhKS0uMTUgRyAuNzkocmQgdG8gY2FzZVwpLikuMDUgRihVbnJlY29nLSkKKzUuNzkgRSAuNDQ4KG5pemVkIHYpMTA4IDQ4OS42IFIgLjQ0OChhcmlhYmxlIG5hbWVzIGFyZSBpZ25vcmVkLiktLjI1IEYKKy40NDgoV2hlbiBhIHYpNS40NDggRiAuNDQ4KGFyaWFibGUgdiktLjI1IEYgLjQ0OAorKGFsdWUgaXMgcmVhZCwgZW1wdHkgb3IgbnVsbCB2KS0uMjUgRiAuNDQ5KGFsdWVzLCAib24iIFwoY2FzZS1pbnNlbnNpLSkKKy0uMjUgRih0aSkxMDggNTAxLjYgUSAtLjE1KHZlKS0uMjUgRyAuNDY4KFwpLCBhbmQgIjEiIGFyZSBlcXVpKS4xNSBGCistLjI1KHZhKS0uMjUgRyAuNDY4KGxlbnQgdG8pLjI1IEYgRjIoT24pMi45NjggRSBGMCA1LjQ2OCguQSlDIC40NjgKKyhsbCBvdGhlciB2KS01LjQ2OCBGIC40NjgoYWx1ZXMgYXJlIGVxdWkpLS4yNSBGIC0uMjUodmEpLS4yNSBHIC40NjgKKyhsZW50IHRvKS4yNSBGIEYyKE9mZikyLjk2OCBFIEYwIDUuNDY4KC5UKUMgLjQ2NyhoZSB2KS01LjQ2OCBGIC40NjcKKyhhcmlhYmxlcyBhbmQgdGhlaXIgZGVmKS0uMjUgRihhdWx0KS0uMSBFIC0uMjUodmEpMTA4IDUxMy42IFMobHVlcyBhcmU6KQorLjI1IEUgRjIoYmVsbFwyNTVzdHlsZSBcKGF1ZGlibGVcKSkxMDggNTMwLjQgUSBGMCAuMDEKKyhDb250cm9scyB3aGF0IGhhcHBlbnMgd2hlbiByZWFkbGluZSB3KTE0NCA1NDIuNCBSIC4wMTEKKyhhbnRzIHRvIHJpbmcgdGhlIHRlcm1pbmFsIGJlbGwuKS0uMSBGIC4wMTEoSWYgc2V0IHRvKTUuMDExIEYgRjIobm9uZSkKKzIuNTExIEUgRjAgMi41MTEoLHIpQyAuMDExKGVhZGxpbmUgbmUpLTIuNTExIEYgLS4xNSh2ZSktLjI1IEcocikuMTUgRQorLjk0KHJpbmdzIHRoZSBiZWxsLikxNDQgNTU0LjQgUiAuOTQoSWYgc2V0IHRvKTUuOTQgRiBGMih2aXNpYmxlKTMuNDQgRQorRjAgMy40NCgscilDIC45NChlYWRsaW5lIHVzZXMgYSB2aXNpYmxlIGJlbGwgaWYgb25lIGlzIGEpLTMuNDQgRiAtLjI1CisodmEpLS4yIEcgMy40NChpbGFibGUuIElmKS4yNSBGIC45NChzZXQgdG8pMy40NCBGIEYyKGF1ZGlibGUpMy40NCBFIEYwCisoLClBKHJlYWRsaW5lIGF0dGVtcHRzIHRvIHJpbmcgdGhlIHRlcm1pbmFsJykxNDQgNTY2LjQgUSAyLjUoc2IpLS41NSBHCisoZWxsLiktMi41IEUgRjIoYmluZFwyNTV0dHlcMjU1c3BlY2lhbFwyNTVjaGFycyBcKE9uXCkpMTA4IDU3OC40IFEgRjAKKy4wNTUoSWYgc2V0IHRvKTE0NCA1OTAuNCBSIEYyKE9uKTIuNTU1IEUgRjAgMi41NTUoLHIpQyAuMDU2KGVhZGxpbmUgYXR0XAorZW1wdHMgdG8gYmluZCB0aGUgY29udHJvbCBjaGFyYWN0ZXJzIHRyZWF0ZWQgc3BlY2lhbGx5IGJ5IHRoZSBrKS0yLjU1NSBGCisoZXJuZWwnKS0uMSBFIDIuNTU2KHN0KS0uNTUgRyhlcm1pLSktMi41NTYgRShuYWwgZHJpKTE0NCA2MDIuNCBRIC0uMTUKICh2ZSktLjI1IEcgMi41KHJ0KS4xNSBHIDIuNShvdCktMi41IEcoaGVpciByZWFkbGluZSBlcXVpKS0yLjUgRSAtLjI1KHZhKQotLS4yNSBHKGxlbnRzLikuMjUgRSBGMShjb21tZW50XDI1NWJlZ2luIFwoYCkxMDggMzg4LjggUShgIycpLS42MyBFKCdcKSkKLS0uNjMgRSBGMCAuODg0KFRoZSBzdHJpbmcgdGhhdCBpcyBpbnNlcnRlZCB3aGVuIHRoZSByZWFkbGluZSkxNDQgNDAwLjggUgotRjEoaW5zZXJ0XDI1NWNvbW1lbnQpMy4zODUgRSBGMCAuODg1KGNvbW1hbmQgaXMgZSkzLjM4NSBGIC0uMTUoeGUpLS4xNSBHCi0zLjM4NShjdXRlZC4gVGhpcykuMTUgRihjb20tKTMuMzg1IEUobWFuZCBpcyBib3VuZCB0bykxNDQgNDEyLjggUSBGMQotKE1cMjU1IykyLjUgRSBGMChpbiBlbWFjcyBtb2RlIGFuZCB0bykyLjUgRSBGMSgjKTIuNSBFIEYwCi0oaW4gdmkgY29tbWFuZCBtb2RlLikyLjUgRSBGMShjb21wbGV0aW9uXDI1NWlnbm9yKTEwOCA0MjQuOCBRCi0oZVwyNTVjYXNlIFwoT2ZmXCkpLS4xOCBFIEYwKElmIHNldCB0bykxNDQgNDM2LjggUSBGMShPbikyLjUgRSBGMCAyLjUKKy0uMjUgRyhsZW50cy4pLjI1IEUgRjIoY29tbWVudFwyNTViZWdpbiBcKGApMTA4IDYxNC40IFEoYCMnKS0uNjMgRSgnXCkpCistLjYzIEUgRjAgLjg4NShUaGUgc3RyaW5nIHRoYXQgaXMgaW5zZXJ0ZWQgd2hlbiB0aGUgcmVhZGxpbmUpMTQ0IDYyNi40IFIKK0YyKGluc2VydFwyNTVjb21tZW50KTMuMzg1IEUgRjAgLjg4NChjb21tYW5kIGlzIGUpMy4zODQgRiAtLjE1KHhlKS0uMTUgRworMy4zODQoY3V0ZWQuIFRoaXMpLjE1IEYoY29tLSkzLjM4NCBFKG1hbmQgaXMgYm91bmQgdG8pMTQ0IDYzOC40IFEgRjIKKyhNXDI1NSMpMi41IEUgRjAoaW4gZW1hY3MgbW9kZSBhbmQgdG8pMi41IEUgRjIoIykyLjUgRSBGMAorKGluIHZpIGNvbW1hbmQgbW9kZS4pMi41IEUgRjIoY29tcGxldGlvblwyNTVpZ25vcikxMDggNjUwLjQgUQorKGVcMjU1Y2FzZSBcKE9mZlwpKS0uMTggRSBGMChJZiBzZXQgdG8pMTQ0IDY2Mi40IFEgRjIoT24pMi41IEUgRjAgMi41CiAoLHIpQyhlYWRsaW5lIHBlcmZvcm1zIFwyMTRsZW5hbWUgbWF0Y2hpbmcgYW5kIGNvbXBsZXRpb24gaW4gYSBjYXNlXDI1NVwKLWluc2Vuc2l0aSktMi41IEUgLjMgLS4xNSh2ZSBmKS0uMjUgSChhc2hpb24uKS4wNSBFIEYxKGNvbXBsZXRpb25cMjU1cHIpCi0xMDggNDQ4LjggUShlXDIxNHhcMjU1ZGlzcGxheVwyNTVsZW5ndGggXCgwXCkpLS4xOCBFIEYwIC44MjkoVGhlIGxlbmd0aFwKK2luc2Vuc2l0aSktMi41IEUgLjMgLS4xNSh2ZSBmKS0uMjUgSChhc2hpb24uKS4wNSBFIEYyKGNvbXBsZXRpb25cMjU1cHIpCisxMDggNjc0LjQgUShlXDIxNHhcMjU1ZGlzcGxheVwyNTVsZW5ndGggXCgwXCkpLS4xOCBFIEYwIC44MjkoVGhlIGxlbmd0aFwKICBpbiBjaGFyYWN0ZXJzIG9mIHRoZSBjb21tb24gcHJlXDIxNHggb2YgYSBsaXN0IG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zXAotIHRoYXQgaXMgZGlzcGxheWVkKTE0NCA0NjAuOCBSIDEuMjc0KHdpdGhvdXQgbW9kaVwyMTRjYXRpb24uKTE0NCA0NzIuOCBSCi0xLjI3NChXaGVuIHNldCB0byBhIHYpNi4yNzQgRiAxLjI3NAotKGFsdWUgZ3JlYXRlciB0aGFuIHplcm8sIGNvbW1vbiBwcmVcMjE0eCktLjI1IEYgMS4yNzUKLShlcyBsb25nZXIgdGhhbiB0aGlzKS0uMTUgRiAtLjI1KHZhKTE0NCA0ODQuOCBTKGx1ZSBhcmUgcmVwbGFjZWQgd2l0aCBhXAotbiBlbGxpcHNpcyB3aGVuIGRpc3BsYXlpbmcgcG9zc2libGUgY29tcGxldGlvbnMuKS4yNSBFIEYxCi0oY29tcGxldGlvblwyNTVxdWVyeVwyNTVpdGVtcyBcKDEwMFwpKTEwOCA0OTYuOCBRIEYwIC41MwotKFRoaXMgZGV0ZXJtaW5lcyB3aGVuIHRoZSB1c2VyIGlzIHF1ZXJpZWQgYWJvdXQgdmllKTE0NCA1MDguOCBSIC41MjkKLSh3aW5nIHRoZSBudW1iZXIgb2YgcG9zc2libGUgY29tcGxldGlvbnMgZ2VuLSktLjI1IEYgLjU2KGVyYXRlZCBieSB0aGUpCi0xNDQgNTIwLjggUiBGMShwb3NzaWJsZVwyNTVjb21wbGV0aW9ucykzLjA2IEUgRjAgMy4wNihjb21tYW5kLiBJdCkzLjA2IEYKLS41NjEobWF5IGJlIHNldCB0byBhbikzLjA2MSBGIDMuMDYxKHlpKS0uMTUgRyhudGUpLTMuMDYxIEUgLjU2MShnZXIgdikKLS0uMTUgRiAuNTYxKGFsdWUgZ3JlYXRlciB0aGFuIG9yKS0uMjUgRiAuNzgzKGVxdWFsIHRvIHplcm8uKTE0NCA1MzIuOCBSCi0uNzgzKElmIHRoZSBudW1iZXIgb2YgcG9zc2libGUgY29tcGxldGlvbnMgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIFwKLXRoZSB2KTUuNzgzIEYgLjc4MihhbHVlIG9mIHRoaXMpLS4yNSBGIC0uMjUodmEpMTQ0IDU0NC44IFMgLjIzNwotKHJpYWJsZSwgdGhlIHVzZXIgaXMgYXNrKS4yNSBGIC4yMzcoZWQgd2hldGhlciBvciBub3QgaGUgd2lzaGVzIHRvIHZpZSkKLS0uMSBGIDIuNzM3KHd0KS0uMjUgRyAuMjM3KGhlbTsgb3RoZXJ3aXNlIHRoZSktMi43MzcgRiAyLjczNyh5YSktLjE1IEcKLS4yMzcocmUgc2ltcGx5IGxpc3RlZCktMi43MzcgRihvbiB0aGUgdGVybWluYWwuKTE0NCA1NTYuOCBRIEYxKGNvbikxMDgKLTU2OC44IFEgLS4xKHZlKS0uNCBHKHJ0XDI1NW1ldGEgXChPblwpKS4xIEUgRjAgLjYxMyhJZiBzZXQgdG8pMTQ0IDU4MC44Ci1SIEYxKE9uKTMuMTEzIEUgRjAgMy4xMTMoLHIpQyAuNjEzKGVhZGxpbmUgd2lsbCBjb24pLTMuMTEzIEYgLS4xNSh2ZSktLjQKLUcgLjYxMyhydCBjaGFyYWN0ZXJzIHdpdGggdGhlIGVpZ2h0aCBiaXQgc2V0IHRvIGFuIEFTQ0lJIGspLjE1IEYgLjkxMgotLS4xNShleSBzKS0uMSBIIC42MTIoZXF1ZW5jZSBieSkuMTUgRiAuNTQxCi0oc3RyaXBwaW5nIHRoZSBlaWdodGggYml0IGFuZCBwcmVcMjE0eGluZyBhbiBlc2NhcGUgY2hhcmFjdGVyIFwoaW4gZWYpCi0xNDQgNTkyLjggUiAuNTQxKGZlY3QsIHVzaW5nIGVzY2FwZSBhcyB0aGUpLS4yNSBGIEYyIC41NDIobWV0YSBwcikzLjA0MgotRihlLSktLjM3IEU8OGM3OD4xNDQgNjA0LjggUSBGMChcKS4pQSBGMShkaXNhYmxlXDI1NWNvbXBsZXRpb24gXChPZmZcKSkKLTEwOCA2MTYuOCBRIEYwIC4wMzgoSWYgc2V0IHRvKTE0NCA2MjguOCBSIEYxKE9uKTIuNTM4IEUgRjAgMi41MzgoLHIpQwotLjAzOChlYWRsaW5lIHdpbGwgaW5oaWJpdCB3KS0yLjUzOCBGIC4wMzgob3JkIGNvbXBsZXRpb24uKS0uMSBGIC4wMzgKLShDb21wbGV0aW9uIGNoYXJhY3RlcnMgd2lsbCBiZSBpbnNlcnRlZCBpbnRvIHRoZSk1LjAzOCBGKGxpbmUgYXMgaWYgdGhlKQotMTQ0IDY0MC44IFEgMi41KHloKS0uMTUgRyhhZCBiZWVuIG1hcHBlZCB0byktMi41IEUgRjEoc2VsZi1pbnNlcnQpMi41IEUKLUYwKC4pQSBGMShlZGl0aW5nXDI1NW1vZGUgXChlbWFjc1wpKTEwOCA2NTIuOCBRIEYwIC4yNTIKLShDb250cm9scyB3aGV0aGVyIHJlYWRsaW5lIGJlKTE0NCA2NjQuOCBSIC4yNTMoZ2lucyB3aXRoIGEgc2V0IG9mIGspLS4xNQotRiAuNTUzIC0uMTUoZXkgYiktLjEgSCAuMjUzKGluZGluZ3Mgc2ltaWxhciB0bykuMTUgRiBGMihlbWFjcykyLjc1MyBFIEYwCi0ob3IpMi43NTMgRSBGMih2aSkyLjc1MyBFIEYwKC4pQSBGMShlZGl0aW5nXDI1NW1vZGUpNS4yNTMgRSBGMAotKGNhbiBiZSBzZXQgdG8gZWl0aGVyKTE0NCA2NzYuOCBRIEYxKGVtYWNzKTIuNSBFIEYwKG9yKTIuNSBFIEYxKHZpKTIuNSBFCi1GMCguKUEgRjEoZW5hYmxlXDI1NWspMTA4IDY4OC44IFEoZXlwYWQgXChPZmZcKSktLjEgRSBGMCAuODkzCi0oV2hlbiBzZXQgdG8pMTQ0IDcwMC44IFIgRjEoT24pMy4zOTMgRSBGMCAzLjM5MygscilDIC44OTMKLShlYWRsaW5lIHdpbGwgdHJ5IHRvIGVuYWJsZSB0aGUgYXBwbGljYXRpb24gayktMy4zOTMgRiAtLjE1KGV5KS0uMSBHCi0uODkzKHBhZCB3aGVuIGl0IGlzIGNhbGxlZC4pLjE1IEYgLjg5MihTb21lIHN5cy0pNS44OTMgRgotKHRlbXMgbmVlZCB0aGlzIHRvIGVuYWJsZSB0aGUgYXJybykxNDQgNzEyLjggUSAyLjUod2spLS4yNSBHIC0uMTUoZXkpCi0tMi42IEcocy4pLjE1IEUoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDkgRmVicnVhcnkgNykxNDAuOTYgRSgzNSkxOTAuOTUKLUUgMCBDZyBFUAorIHRoYXQgaXMgZGlzcGxheWVkKTE0NCA2ODYuNCBSIDEuMjc1KHdpdGhvdXQgbW9kaVwyMTRjYXRpb24uKTE0NCA2OTguNCBSCisxLjI3NShXaGVuIHNldCB0byBhIHYpNi4yNzUgRiAxLjI3NAorKGFsdWUgZ3JlYXRlciB0aGFuIHplcm8sIGNvbW1vbiBwcmVcMjE0eCktLjI1IEYgMS4yNzQKKyhlcyBsb25nZXIgdGhhbiB0aGlzKS0uMTUgRiAtLjI1KHZhKTE0NCA3MTAuNCBTKGx1ZSBhcmUgcmVwbGFjZWQgd2l0aCBhXAorbiBlbGxpcHNpcyB3aGVuIGRpc3BsYXlpbmcgcG9zc2libGUgY29tcGxldGlvbnMuKS4yNSBFKEdOVSBCYXNoLTQuMSk3MgorNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoMzUpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogMzYgMzYKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGV4cGFuZFwyNTV0aWxkZSBcKE9mZlwpKTEwOCA4NCBRIEYwCi0oSWYgc2V0IHRvKTE0NCA5NiBRIEYxKG9uKTIuNSBFIEYwIDIuNSgsdClDKGlsZGUgZSktMi41IEUKLSh4cGFuc2lvbiBpcyBwZXJmb3JtZWQgd2hlbiByZWFkbGluZSBhdHRlbXB0cyB3KS0uMTUgRShvcmQgY29tcGxldGlvbi4pCi0tLjEgRSBGMShoaXN0b3J5XDI1NXByKTEwOCAxMDggUShlc2VyKS0uMTggRSAtLjEodmUpLS4xIEcKLShcMjU1cG9pbnQgXChPZmZcKSkuMSBFIEYwIDEuNDkyKElmIHNldCB0bykxNDQgMTIwIFIgRjEob24pMy45OTIgRSBGMAotMy45OTIoLHQpQyAxLjQ5MyhoZSBoaXN0b3J5IGNvZGUgYXR0ZW1wdHMgdG8gcGxhY2UgcG9pbnQgYXQgdGhlIHNhbWUgbG9cCi1jYXRpb24gb24gZWFjaCBoaXN0b3J5IGxpbmUpLTMuOTkyIEYocmV0cmllKTE0NCAxMzIgUSAtLjE1KHZlKS0uMjUgRyAyLjUKLShkdykuMTUgRyhpdGgpLTIuNSBFIEYxKHByKTIuNSBFIC0uMTUoZXYpLS4xOCBHKGlvdXMtaGlzdG9yeSkuMTUgRSBGMAotKG9yKTIuNSBFIEYxKG5leHQtaGlzdG9yeSkyLjUgRSBGMCguKUEgRjEoaGlzdG9yeVwyNTVzaXplIFwoMFwpKTEwOCAxNDQKLVEgRjAgLjQ2MyhTZXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGhpc3RvcnkgZW50cmllcyBzYSkxNDQgMTU2IFIgLS4xNQotKHZlKS0uMiBHIDIuOTYzKGRpKS4xNSBHIDIuOTYzKG50KS0yLjk2MyBHIC40NjMoaGUgaGlzdG9yeSBsaXN0LiktMi45NjMKLUYgLjQ2MihJZiBzZXQgdG8gemVybywgdGhlIG51bWJlciBvZik1LjQ2MyBGCi0oZW50cmllcyBpbiB0aGUgaGlzdG9yeSBsaXN0IGlzIG5vdCBsaW1pdGVkLikxNDQgMTY4IFEgRjEKLShob3Jpem9udGFsXDI1NXNjcikxMDggMTgwIFEob2xsXDI1NW1vZGUgXChPZmZcKSktLjE4IEUgRjAgLjQ0OAotKFdoZW4gc2V0IHRvKTE0NCAxOTIgUiBGMShPbikyLjk0OCBFIEYwIDIuOTQ4KCxtKUMoYWspLTIuOTQ4IEUgLjQ0OAotKGVzIHJlYWRsaW5lIHVzZSBhIHNpbmdsZSBsaW5lIGZvciBkaXNwbGF5KS0uMSBGIDIuOTQ4KCxzKS0uNjUgRyAuNDQ5CistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGNvbXBsZXRpb25cMjU1cXVlcnlcMjU1aXRlbXMgXCgxMDBcKSkxMDggODQKK1EgRjAgLjUyOShUaGlzIGRldGVybWluZXMgd2hlbiB0aGUgdXNlciBpcyBxdWVyaWVkIGFib3V0IHZpZSkxNDQgOTYgUgorLjUzKHdpbmcgdGhlIG51bWJlciBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucyBnZW4tKS0uMjUgRiAuNTYxCisoZXJhdGVkIGJ5IHRoZSkxNDQgMTA4IFIgRjEocG9zc2libGVcMjU1Y29tcGxldGlvbnMpMy4wNjEgRSBGMCAzLjA2MQorKGNvbW1hbmQuIEl0KTMuMDYxIEYgLjU2MShtYXkgYmUgc2V0IHRvIGFuKTMuMDYxIEYgMy4wNih5aSktLjE1IEcobnRlKQorLTMuMDYgRSAuNTYoZ2VyIHYpLS4xNSBGIC41NihhbHVlIGdyZWF0ZXIgdGhhbiBvciktLjI1IEYgLjc4MgorKGVxdWFsIHRvIHplcm8uKTE0NCAxMjAgUiAuNzgzKElmIHRoZSBudW1iZXIgb2YgcG9zc2libGUgY29tcGxldGlvbnMgaXNcCisgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSB2KTUuNzgyIEYgLjc4MyhhbHVlIG9mIHRoaXMpLS4yNSBGIC0uMjUKKyh2YSkxNDQgMTMyIFMgLjIzNyhyaWFibGUsIHRoZSB1c2VyIGlzIGFzaykuMjUgRiAuMjM3CisoZWQgd2hldGhlciBvciBub3QgaGUgd2lzaGVzIHRvIHZpZSktLjEgRiAyLjczNyh3dCktLjI1IEcgLjIzNworKGhlbTsgb3RoZXJ3aXNlIHRoZSktMi43MzcgRiAyLjczNyh5YSktLjE1IEcgLjIzNyhyZSBzaW1wbHkgbGlzdGVkKQorLTIuNzM3IEYob24gdGhlIHRlcm1pbmFsLikxNDQgMTQ0IFEgRjEoY29uKTEwOCAxNTYgUSAtLjEodmUpLS40IEcKKyhydFwyNTVtZXRhIFwoT25cKSkuMSBFIEYwIC42MTIoSWYgc2V0IHRvKTE0NCAxNjggUiBGMShPbikzLjExMiBFIEYwCiszLjExMigscilDIC42MTMoZWFkbGluZSB3aWxsIGNvbiktMy4xMTIgRiAtLjE1KHZlKS0uNCBHIC42MTMKKyhydCBjaGFyYWN0ZXJzIHdpdGggdGhlIGVpZ2h0aCBiaXQgc2V0IHRvIGFuIEFTQ0lJIGspLjE1IEYgLjkxMyAtLjE1CisoZXkgcyktLjEgSCAuNjEzKGVxdWVuY2UgYnkpLjE1IEYgLjU0MQorKHN0cmlwcGluZyB0aGUgZWlnaHRoIGJpdCBhbmQgcHJlXDIxNHhpbmcgYW4gZXNjYXBlIGNoYXJhY3RlciBcKGluIGVmKQorMTQ0IDE4MCBSIC41NDEoZmVjdCwgdXNpbmcgZXNjYXBlIGFzIHRoZSktLjI1IEYvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YKKy41NDEobWV0YSBwcikzLjA0MSBGKGUtKS0uMzcgRTw4Yzc4PjE0NCAxOTIgUSBGMChcKS4pQSBGMQorKGRpc2FibGVcMjU1Y29tcGxldGlvbiBcKE9mZlwpKTEwOCAyMDQgUSBGMCAuMDM4KElmIHNldCB0bykxNDQgMjE2IFIgRjEKKyhPbikyLjUzOCBFIEYwIDIuNTM4KCxyKUMgLjAzOChlYWRsaW5lIHdpbGwgaW5oaWJpdCB3KS0yLjUzOCBGIC4wMzgKKyhvcmQgY29tcGxldGlvbi4pLS4xIEYgLjAzOAorKENvbXBsZXRpb24gY2hhcmFjdGVycyB3aWxsIGJlIGluc2VydGVkIGludG8gdGhlKTUuMDM4IEYobGluZSBhcyBpZiB0aGUpCisxNDQgMjI4IFEgMi41KHloKS0uMTUgRyhhZCBiZWVuIG1hcHBlZCB0byktMi41IEUgRjEoc2VsZi1pbnNlcnQpMi41IEUgRjAKKyguKUEgRjEoZWRpdGluZ1wyNTVtb2RlIFwoZW1hY3NcKSkxMDggMjQwIFEgRjAgLjI1MworKENvbnRyb2xzIHdoZXRoZXIgcmVhZGxpbmUgYmUpMTQ0IDI1MiBSIC4yNTMoZ2lucyB3aXRoIGEgc2V0IG9mIGspLS4xNSBGCisuNTUzIC0uMTUoZXkgYiktLjEgSCAuMjUzKGluZGluZ3Mgc2ltaWxhciB0bykuMTUgRiBGMihlbWFjcykyLjc1MiBFIEYwCisob3IpMi43NTIgRSBGMih2aSkyLjc1MiBFIEYwKC4pQSBGMShlZGl0aW5nXDI1NW1vZGUpNS4yNTIgRSBGMAorKGNhbiBiZSBzZXQgdG8gZWl0aGVyKTE0NCAyNjQgUSBGMShlbWFjcykyLjUgRSBGMChvcikyLjUgRSBGMSh2aSkyLjUgRQorRjAoLilBIEYxKGVjaG9cMjU1Y29udHIpMTA4IDI3NiBRKG9sXDI1NWNoYXJhY3RlcnMgXChPblwpKS0uMTggRSBGMCAxLjIxCisoV2hlbiBzZXQgdG8pMTQ0IDI4OCBSIEYxKE9uKTMuNzEgRSBGMCAzLjcxKCxvKUMgMy43MShubyktMy43MSBHIDEuMjExCisocGVyYXRpbmcgc3lzdGVtcyB0aGF0IGluZGljYXRlIHRoZSktMy43MSBGIDMuNzExKHlzKS0uMTUgRyAxLjIxMQorKHVwcG9ydCBpdCwgcmVhZGxpbmUgZWNob2VzIGEgY2hhcmFjdGVyKS0zLjcxMSBGCisoY29ycmVzcG9uZGluZyB0byBhIHNpZ25hbCBnZW5lcmF0ZWQgZnJvbSB0aGUgaykxNDQgMzAwIFEgLS4xNShleSktLjEgRworKGJvYXJkLikuMTUgRSBGMShlbmFibGVcMjU1aykxMDggMzEyIFEoZXlwYWQgXChPZmZcKSktLjEgRSBGMCAuODkzCisoV2hlbiBzZXQgdG8pMTQ0IDMyNCBSIEYxKE9uKTMuMzkzIEUgRjAgMy4zOTMoLHIpQyAuODkzCisoZWFkbGluZSB3aWxsIHRyeSB0byBlbmFibGUgdGhlIGFwcGxpY2F0aW9uIGspLTMuMzkzIEYgLS4xNShleSktLjEgRworLjg5MyhwYWQgd2hlbiBpdCBpcyBjYWxsZWQuKS4xNSBGIC44OTIoU29tZSBzeXMtKTUuODkzIEYKKyh0ZW1zIG5lZWQgdGhpcyB0byBlbmFibGUgdGhlIGFycm8pMTQ0IDMzNiBRIDIuNSh3ayktLjI1IEcgLS4xNShleSktMi42CitHKHMuKS4xNSBFIEYxKGVuYWJsZVwyNTVtZXRhXDI1NWspMTA4IDM0OCBRKGV5IFwoT25cKSktLjEgRSBGMCAuNjQKKyhXaGVuIHNldCB0bykxNDQgMzYwIFIgRjEoT24pMy4xNCBFIEYwIDMuMTQoLHIpQyAuNjQKKyhlYWRsaW5lIHdpbGwgdHJ5IHRvIGVuYWJsZSBhbiktMy4xNCBGIDMuMTQoeW0pLS4xNSBHIC42NAorKGV0YSBtb2RpXDIxNGVyIGspLTMuMTQgRiAuOTQgLS4xNShleSB0KS0uMSBIIC42NAorKGhlIHRlcm1pbmFsIGNsYWltcyB0byBzdXBwb3J0KS4xNSBGKHdoZW4gaXQgaXMgY2FsbGVkLikxNDQgMzcyIFEKKyhPbiBtYW4pNSBFIDIuNSh5dCktLjE1IEcoZXJtaW5hbHMsIHRoZSBtZXRhIGspLTIuNSBFIC4zIC0uMTUoZXkgaSktLjEgSAorMi41KHN1KS4xNSBHKHNlZCB0byBzZW5kIGVpZ2h0LWJpdCBjaGFyYWN0ZXJzLiktMi41IEUgRjEKKyhleHBhbmRcMjU1dGlsZGUgXChPZmZcKSkxMDggMzg0IFEgRjAoSWYgc2V0IHRvKTE0NCAzOTYgUSBGMShvbikyLjUgRSBGMAorMi41KCx0KUMoaWxkZSBlKS0yLjUgRSh4cGFuc2lvbiBpcyBwZXJmb3JtZWQgd2hlbiByZWFkbGluZSBhdHRlbXB0cyB3KQorLS4xNSBFKG9yZCBjb21wbGV0aW9uLiktLjEgRSBGMShoaXN0b3J5XDI1NXByKTEwOCA0MDggUShlc2VyKS0uMTggRSAtLjEKKyh2ZSktLjEgRyhcMjU1cG9pbnQgXChPZmZcKSkuMSBFIEYwIDEuNDkzKElmIHNldCB0bykxNDQgNDIwIFIgRjEob24pCiszLjk5MyBFIEYwIDMuOTkzKCx0KUMgMS40OTMoaGUgaGlzdG9yeSBjb2RlIGF0dGVtcHRzIHRvIHBsYWNlIHBvaW50IGF0IFwKK3RoZSBzYW1lIGxvY2F0aW9uIG9uIGVhY2ggaGlzdG9yeSBsaW5lKS0zLjk5MyBGKHJldHJpZSkxNDQgNDMyIFEgLS4xNQorKHZlKS0uMjUgRyAyLjUoZHcpLjE1IEcoaXRoKS0yLjUgRSBGMShwcikyLjUgRSAtLjE1KGV2KS0uMTggRworKGlvdXMtaGlzdG9yeSkuMTUgRSBGMChvcikyLjUgRSBGMShuZXh0LWhpc3RvcnkpMi41IEUgRjAoLilBIEYxCisoaGlzdG9yeVwyNTVzaXplIFwoMFwpKTEwOCA0NDQgUSBGMCAuNDYyCisoU2V0IHRoZSBtYXhpbXVtIG51bWJlciBvZiBoaXN0b3J5IGVudHJpZXMgc2EpMTQ0IDQ1NiBSIC0uMTUodmUpLS4yIEcKKzIuOTYzKGRpKS4xNSBHIDIuOTYzKG50KS0yLjk2MyBHIC40NjMoaGUgaGlzdG9yeSBsaXN0LiktMi45NjMgRiAuNDYzCisoSWYgc2V0IHRvIHplcm8sIHRoZSBudW1iZXIgb2YpNS40NjMgRgorKGVudHJpZXMgaW4gdGhlIGhpc3RvcnkgbGlzdCBpcyBub3QgbGltaXRlZC4pMTQ0IDQ2OCBRIEYxCisoaG9yaXpvbnRhbFwyNTVzY3IpMTA4IDQ4MCBRKG9sbFwyNTVtb2RlIFwoT2ZmXCkpLS4xOCBFIEYwIC40NDkKKyhXaGVuIHNldCB0bykxNDQgNDkyIFIgRjEoT24pMi45NDkgRSBGMCAyLjk0OSgsbSlDKGFrKS0yLjk0OSBFIC40NDgKKyhlcyByZWFkbGluZSB1c2UgYSBzaW5nbGUgbGluZSBmb3IgZGlzcGxheSktLjEgRiAyLjk0OCgscyktLjY1IEcgLjQ0OAogKGNyb2xsaW5nIHRoZSBpbnB1dCBob3Jpem9udGFsbHkgb24gYSktMi45NDggRiAxLjE5NChzaW5nbGUgc2NyZWVuIGxpbmVcCiAgd2hlbiBpdCBiZWNvbWVzIGxvbmdlciB0aGFuIHRoZSBzY3JlZW4gd2lkdGggcmF0aGVyIHRoYW4gd3JhcHBpbmcgdG8gYVwKLSBuZSkxNDQgMjA0IFIodyktLjI1IEUobGluZS4pMTQ0IDIxNiBRIEYxKGlucHV0XDI1NW1ldGEgXChPZmZcKSkxMDggMjI4Ci1RIEYwIC4yMjcoSWYgc2V0IHRvKTE0NCAyNDAgUiBGMShPbikyLjcyNyBFIEYwIDIuNzI3KCxyKUMgLjIyOChlYWRsaW5lIFwKKyBuZSkxNDQgNTA0IFIodyktLjI1IEUobGluZS4pMTQ0IDUxNiBRIEYxKGlucHV0XDI1NW1ldGEgXChPZmZcKSkxMDggNTI4CitRIEYwIC4yMjgoSWYgc2V0IHRvKTE0NCA1NDAgUiBGMShPbikyLjcyOCBFIEYwIDIuNzI4KCxyKUMgLjIyNyhlYWRsaW5lIFwKIHdpbGwgZW5hYmxlIGVpZ2h0LWJpdCBpbnB1dCBcKHRoYXQgaXMsIGl0IHdpbGwgbm90IHN0cmlwIHRoZSBoaWdoIGJpdCBmXAotcm9tIHRoZSBjaGFyKS0yLjcyNyBGKC0pLS4yIEUgLjk1NyhhY3RlcnMgaXQgcmVhZHNcKSwgcmUpMTQ0IDI1MiBSIC0uMDUKK3JvbSB0aGUgY2hhciktMi43MjggRigtKS0uMiBFIC45NTYoYWN0ZXJzIGl0IHJlYWRzXCksIHJlKTE0NCA1NTIgUiAtLjA1CiAoZ2EpLS4xNSBHIC45NTYocmRsZXNzIG9mIHdoYXQgdGhlIHRlcm1pbmFsIGNsYWltcyBpdCBjYW4gc3VwcG9ydC4pLjA1IEYKLS45NTYoVGhlIG5hbWUpNS45NTYgRiBGMShtZXRhXDI1NVwyMTVhZykzLjQ1NiBFIEYwIC45NTYoaXMgYSkzLjQ1NiBGCi0oc3lub24pMTQ0IDI2NCBRKHltIGZvciB0aGlzIHYpLS4xNSBFKGFyaWFibGUuKS0uMjUgRSBGMShpc2VhcikxMDggMjc2IFEKKy45NTcoVGhlIG5hbWUpNS45NTYgRiBGMShtZXRhXDI1NVwyMTVhZykzLjQ1NyBFIEYwIC45NTcoaXMgYSkzLjQ1NyBGCisoc3lub24pMTQ0IDU2NCBRKHltIGZvciB0aGlzIHYpLS4xNSBFKGFyaWFibGUuKS0uMjUgRSBGMShpc2VhcikxMDggNTc2IFEKIChjaFwyNTV0ZXJtaW5hdG9ycyBcKGApLS4xOCBFKGBDXDI1NVtDXDI1NUonKS0uNjMgRSgnXCkpLS42MyBFIEYwIC40MzkoXAogVGhlIHN0cmluZyBvZiBjaGFyYWN0ZXJzIHRoYXQgc2hvdWxkIHRlcm1pbmF0ZSBhbiBpbmNyZW1lbnRhbCBzZWFyY2ggd2lcCi10aG91dCBzdWJzZXF1ZW50bHkgZSkxNDQgMjg4IFIgLS4xNSh4ZSktLjE1IEcoY3V0LSkuMTUgRSAuOTM1Ci0oaW5nIHRoZSBjaGFyYWN0ZXIgYXMgYSBjb21tYW5kLikxNDQgMzAwIFIgLjkzNShJZiB0aGlzIHYpNS45MzUgRiAuOTM1Ci0oYXJpYWJsZSBoYXMgbm90IGJlZW4gZ2kpLS4yNSBGIC0uMTUodmUpLS4yNSBHIDMuNDM0KG5hdikuMTUgRyAuOTM0Ci0oYWx1ZSwgdGhlIGNoYXJhY3RlcnMpLTMuNjg0IEYvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YoRVNDKTMuNDM0IEUgRjAKLShhbmQpMTQ0IDMxMiBRIEYyKENcMjU1SikyLjUgRSBGMCh3aWxsIHRlcm1pbmF0ZSBhbiBpbmNyZW1lbnRhbCBzZWFyY2guKQotMi41IEUgRjEgLS4xKGtlKTEwOCAzMjQgUyh5bWFwIFwoZW1hY3NcKSkuMSBFIEYwIDIuMDIKLShTZXQgdGhlIGN1cnJlbnQgcmVhZGxpbmUgaykxNDQgMzM2IFIgLS4xNShleSktLjEgRyA0LjUyMShtYXAuIFRoZSkuMTUgRgotMi4wMjEoc2V0IG9mIHYpNC41MjEgRiAyLjAyMShhbGlkIGspLS4yNSBGIC0uMTUoZXkpLS4xIEcgMi4wMjEKLShtYXAgbmFtZXMgaXMpLjE1IEYgRjIgMi4wMjEoZW1hY3MsIGVtYWNzXDI1NXN0YW5kYXIpNC41MjEgRihkLCktLjM3IEUKLS4wNjkoZW1hY3NcMjU1bWV0YSwgZW1hY3NcMjU1Y3RseCwgdmksIHZpXDI1NWNvbW1hbmQpMTQ0IDM0OCBSIEYwIDIuNTY4Ci0oLGEpQyhuZCktMi41NjggRSBGMih2aVwyNTVpbnNlcnQpMi41NjggRSBGMCguKS42OCBFIEYyKHZpKTUuMDY4IEUgRjAKLS4wNjgoaXMgZXF1aSkyLjU2OCBGIC0uMjUodmEpLS4yNSBHIC4wNjgobGVudCB0bykuMjUgRiBGMih2aVwyNTVjb21tYW5kKQotMi41NjggRSBGMCg7KUEgRjIoZW1hY3MpMi41NjggRSBGMCAxLjU0MyhpcyBlcXVpKTE0NCAzNjAgUiAtLjI1KHZhKS0uMjUKLUcgMS41NDMobGVudCB0bykuMjUgRiBGMihlbWFjc1wyNTVzdGFuZGFyKTQuMDQ0IEUoZCktLjM3IEUgRjAgNi41NDQoLlQpQwordGhvdXQgc3Vic2VxdWVudGx5IGUpMTQ0IDU4OCBSIC0uMTUoeGUpLS4xNSBHKGN1dC0pLjE1IEUgLjkzNAorKGluZyB0aGUgY2hhcmFjdGVyIGFzIGEgY29tbWFuZC4pMTQ0IDYwMCBSIC45MzUoSWYgdGhpcyB2KTUuOTM1IEYgLjkzNQorKGFyaWFibGUgaGFzIG5vdCBiZWVuIGdpKS0uMjUgRiAtLjE1KHZlKS0uMjUgRyAzLjQzNShuYXYpLjE1IEcgLjkzNQorKGFsdWUsIHRoZSBjaGFyYWN0ZXJzKS0zLjY4NSBGIEYyKEVTQykzLjQzNSBFIEYwKGFuZCkxNDQgNjEyIFEgRjIKKyhDXDI1NUopMi41IEUgRjAod2lsbCB0ZXJtaW5hdGUgYW4gaW5jcmVtZW50YWwgc2VhcmNoLikyLjUgRSBGMSAtLjEoa2UpCisxMDggNjI0IFMoeW1hcCBcKGVtYWNzXCkpLjEgRSBGMCAyLjAyMShTZXQgdGhlIGN1cnJlbnQgcmVhZGxpbmUgaykxNDQKKzYzNiBSIC0uMTUoZXkpLS4xIEcgNC41MjEobWFwLiBUaGUpLjE1IEYgMi4wMjEoc2V0IG9mIHYpNC41MjEgRiAyLjAyMQorKGFsaWQgayktLjI1IEYgLS4xNShleSktLjEgRyAyLjAyMShtYXAgbmFtZXMgaXMpLjE1IEYgRjIgMi4wMgorKGVtYWNzLCBlbWFjc1wyNTVzdGFuZGFyKTQuNTIgRihkLCktLjM3IEUgLjA2OAorKGVtYWNzXDI1NW1ldGEsIGVtYWNzXDI1NWN0bHgsIHZpLCB2aVwyNTVjb21tYW5kKTE0NCA2NDggUiBGMCAyLjU2OCgsYSlDCisobmQpLTIuNTY4IEUgRjIodmlcMjU1aW5zZXJ0KTIuNTY4IEUgRjAoLikuNjggRSBGMih2aSk1LjA2OCBFIEYwIC4wNjgKKyhpcyBlcXVpKTIuNTY4IEYgLS4yNSh2YSktLjI1IEcgLjA2OChsZW50IHRvKS4yNSBGIEYyKHZpXDI1NWNvbW1hbmQpCisyLjU2OSBFIEYwKDspQSBGMihlbWFjcykyLjU2OSBFIEYwIDEuNTQ0KGlzIGVxdWkpMTQ0IDY2MCBSIC0uMjUodmEpLS4yNQorRyAxLjU0NChsZW50IHRvKS4yNSBGIEYyKGVtYWNzXDI1NXN0YW5kYXIpNC4wNDQgRShkKS0uMzcgRSBGMCA2LjU0NCguVClDCiAxLjU0NChoZSBkZWYpLTYuNTQ0IEYgMS41NDQoYXVsdCB2KS0uMSBGIDEuNTQ0KGFsdWUgaXMpLS4yNSBGIEYyKGVtYWNzKQogNC4wNDQgRSBGMCA0LjA0NCg7dCkuMjcgRyAxLjU0NChoZSB2KS00LjA0NCBGIDEuNTQ0KGFsdWUgb2YpLS4yNSBGIEYxCi0oZWRpdGluZ1wyNTVtb2RlKTQuMDQ0IEUgRjAoYWxzbyk0LjA0NCBFKGFmKTE0NCAzNzIgUShmZWN0cyB0aGUgZGVmKS0uMjUKLUUoYXVsdCBrKS0uMSBFIC0uMTUoZXkpLS4xIEcobWFwLikuMTUgRSBGMShtYXJrXDI1NWRpcikxMDggMzg0IFEKLShlY3RvcmllcyBcKE9uXCkpLS4xOCBFIEYwKElmIHNldCB0bykxNDQgMzk2IFEgRjEoT24pMi41IEUgRjAgMi41KCxjKUMKKyhlZGl0aW5nXDI1NW1vZGUpNC4wNDMgRSBGMChhbHNvKTQuMDQzIEUoYWYpMTQ0IDY3MiBRKGZlY3RzIHRoZSBkZWYpLS4yNQorRShhdWx0IGspLS4xIEUgLS4xNShleSktLjEgRyhtYXAuKS4xNSBFIEYxKG1hcmtcMjU1ZGlyKTEwOCA2ODQgUQorKGVjdG9yaWVzIFwoT25cKSktLjE4IEUgRjAoSWYgc2V0IHRvKTE0NCA2OTYgUSBGMShPbikyLjUgRSBGMCAyLjUoLGMpQwogKG9tcGxldGVkIGRpcmVjdG9yeSBuYW1lcyBoYSktMi41IEUgLjMgLS4xNSh2ZSBhIHMpLS4yIEgobGFzaCBhcHBlbmRlZC4pCi0uMTUgRSBGMShtYXJrXDI1NW1vZGlcMjE0ZWRcMjU1bGluZXMgXChPZmZcKSkxMDggNDA4IFEgRjAoSWYgc2V0IHRvKTE0NAotNDIwIFEgRjEoT24pMi41IEUgRjAgMi41KCxoKUMoaXN0b3J5IGxpbmVzIHRoYXQgaGEpLTIuNSBFIC4zIC0uMTUodmUgYikKLS0uMiBIKGVlbiBtb2RpXDIxNGVkIGFyZSBkaXNwbGF5ZWQgd2l0aCBhIHByZWNlZGluZyBhc3RlcmlzayBcKCkuMTUgRSBGMQotKCopQSBGMChcKS4pQSBGMShtYXJrXDI1NXN5bWxpbmspMTA4IDQzMiBRKGVkXDI1NWRpciktLjEgRQotKGVjdG9yaWVzIFwoT2ZmXCkpLS4xOCBFIEYwIC4xNzUoSWYgc2V0IHRvKTE0NCA0NDQgUiBGMShPbikyLjY3NSBFIEYwCi0yLjY3NSgsYylDIC4xNzUKLShvbXBsZXRlZCBuYW1lcyB3aGljaCBhcmUgc3ltYm9saWMgbGlua3MgdG8gZGlyZWN0b3JpZXMgaGEpLTIuNjc1IEYgLjQ3NQotLS4xNSh2ZSBhIHMpLS4yIEggLjE3NShsYXNoIGFwcGVuZGVkIFwoc3ViLSkuMTUgRihqZWN0IHRvIHRoZSB2KTE0NCA0NTYKLVEoYWx1ZSBvZiktLjI1IEUgRjEobWFya1wyNTVkaXIpMi41IEUoZWN0b3JpZXMpLS4xOCBFIEYwKFwpLilBIEYxCi0obWF0Y2hcMjU1aGlkZGVuXDI1NVwyMTRsZXMgXChPblwpKTEwOCA0NjggUSBGMCAuMTkyKFRoaXMgdikxNDQgNDgwIFIKLS4xOTIoYXJpYWJsZSwgd2hlbiBzZXQgdG8pLS4yNSBGIEYxKE9uKTIuNjkyIEUgRjAgMi42OTIoLGMpQyAuMTkyCi0oYXVzZXMgcmVhZGxpbmUgdG8gbWF0Y2ggXDIxNGxlcyB3aG9zZSBuYW1lcyBiZSktMi42OTIgRiAuMTkzCi0oZ2luIHdpdGggYSBgLiktLjE1IEYgMi42OTMoJ1woKS0uNyBHKGhpZGRlbiktMi42OTMgRSAxLjAyNAotKFwyMTRsZXNcKSB3aGVuIHBlcmZvcm1pbmcgXDIxNGxlbmFtZSBjb21wbGV0aW9uLCB1bmxlc3MgdGhlIGxlYWRpbmcgYC4pCi0xNDQgNDkyIFIgMy41MjMoJ2kpLS43IEcgMy41MjMoc3MpLTMuNTIzIEcgMS4wMjMKLSh1cHBsaWVkIGJ5IHRoZSB1c2VyIGluIHRoZSktMy41MjMgRihcMjE0bGVuYW1lIHRvIGJlIGNvbXBsZXRlZC4pMTQ0IDUwNAotUSBGMShvdXRwdXRcMjU1bWV0YSBcKE9mZlwpKTEwOCA1MTYgUSBGMCAuNTA2KElmIHNldCB0bykxNDQgNTI4IFIgRjEoT24pCi0zLjAwNiBFIEYwIDMuMDA2KCxyKUMgLjUwNyhlYWRsaW5lIHdpbGwgZGlzcGxheSBjaGFyYWN0ZXJzIHdpdGggdGhlIGVpZ1wKLWh0aCBiaXQgc2V0IGRpcmVjdGx5IHJhdGhlciB0aGFuIGFzIGEgbWV0YS0pLTMuMDA2IEYocHJlXDIxNHgpMTQ0IDU0MCBRCi0oZWQgZXNjYXBlIHNlcXVlbmNlLiktLjE1IEUgRjEocGFnZVwyNTVjb21wbGV0aW9ucyBcKE9uXCkpMTA4IDU1MiBRIEYwCi0uODA5KElmIHNldCB0bykxNDQgNTY0IFIgRjEoT24pMy4zMDggRSBGMCAzLjMwOCgscilDIC44MDgKLShlYWRsaW5lIHVzZXMgYW4gaW50ZXJuYWwpLTMuMzA4IEYgRjIobW9yKTMuMzA4IEUoZSktLjM3IEUgRjAoLWxpaylBCi0zLjMwOChlcCktLjEgRyAuODA4KGFnZXIgdG8gZGlzcGxheSBhIHNjcmVlbmZ1bCBvZiBwb3NzaWJsZSBjb21wbGUtKQotLTMuMzA4IEYodGlvbnMgYXQgYSB0aW1lLikxNDQgNTc2IFEgRjEKLShwcmludFwyNTVjb21wbGV0aW9uc1wyNTVob3Jpem9udGFsbHkgXChPZmZcKSkxMDggNTg4IFEgRjAgMS4zMTgKLShJZiBzZXQgdG8pMTQ0IDYwMCBSIEYxKE9uKTMuODE4IEUgRjAgMy44MTgoLHIpQyAxLjMxOShlYWRsaW5lIHdpbGwgZGlzXAotcGxheSBjb21wbGV0aW9ucyB3aXRoIG1hdGNoZXMgc29ydGVkIGhvcml6b250YWxseSBpbiBhbHBoYWJldGljYWwpLTMuODE4Ci1GKG9yZGVyKTE0NCA2MTIgUSAyLjUoLHIpLS40IEcoYXRoZXIgdGhhbiBkbyktMi41IEUod24gdGhlIHNjcmVlbi4pLS4yNQotRSBGMSAtMi4yOSAtLjE4KHJlIHYpMTA4IDYyNCBUKGVydFwyNTVhbGxcMjU1YXRcMjU1bmV3bGluZSBcKE9mZlwpKS4wOCBFCi1GMCAuODczKElmIHNldCB0bykxNDQgNjM2IFIgRjEob24pMy4zNzMgRSBGMCAzLjM3MygscilDIC44NzIKLShlYWRsaW5lIHdpbGwgdW5kbyBhbGwgY2hhbmdlcyB0byBoaXN0b3J5IGxpbmVzIGJlZm9yZSByZXR1cm5pbmcgd2hlbikKLS0zLjM3MyBGIEYxKGFjY2VwdFwyNTVsaW5lKTMuMzcyIEUgRjAoaXMpMy4zNzIgRSAtLjE1KGV4ZSkxNDQgNjQ4IFMKLTIuNjg2KGN1dGVkLiBCeSkuMTUgRihkZWYpMi42ODYgRSAuMTg2Ci0oYXVsdCwgaGlzdG9yeSBsaW5lcyBtYXkgYmUgbW9kaVwyMTRlZCBhbmQgcmV0YWluIGluZGkpLS4xIEYgLjE4NgotKHZpZHVhbCB1bmRvIGxpc3RzIGFjcm9zcyBjYWxscyB0byktLjI1IEYgRjEgLS4xOChyZSkxNDQgNjYwIFMoYWRsaW5lKQotLjE4IEUgRjAoLilBIEYxKHNobykxMDggNjcyIFEod1wyNTVhbGxcMjU1aWZcMjU1YW1iaWd1b3VzIFwoT2ZmXCkpLS4xIEUKLUYwIC40NzgoVGhpcyBhbHRlcnMgdGhlIGRlZikxNDQgNjg0IFIgLjQ3OChhdWx0IGJlaGEpLS4xIEYgLjQ3OAotKHZpb3Igb2YgdGhlIGNvbXBsZXRpb24gZnVuY3Rpb25zLiktLjIgRiAuNDc3KElmIHNldCB0byk1LjQ3NyBGIEYxKG9uKQotMi45NzcgRSBGMCAyLjk3NygsdylDIC40Nzcob3JkcyB3aGljaCBoYSktMy4wNzcgRiAuNzc3IC0uMTUodmUgbSktLjIgSAotKG9yZSkuMTUgRSAxLjI2NCh0aGFuIG9uZSBwb3NzaWJsZSBjb21wbGV0aW9uIGNhdXNlIHRoZSBtYXRjaGVzIHRvIGJlIGxcCi1pc3RlZCBpbW1lZGlhdGVseSBpbnN0ZWFkIG9mIHJpbmdpbmcgdGhlKTE0NCA2OTYgUihiZWxsLikxNDQgNzA4IFEKLShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFKDM2KTE5MC45NSBFIDAgQ2cgRVAKKy4xNSBFKEdOVSBCYXNoLTQuMSk3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgzNikxODUuOTU1IEUgMCBDZworRVAKICUlUGFnZTogMzcgMzcKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKHNobykxMDggODQgUQotKHdcMjU1YWxsXDI1NWlmXDI1NXVubW9kaVwyMTRlZCBcKE9mZlwpKS0uMSBFIEYwIDUuMzQ2Ci0oVGhpcyBhbHRlcnMgdGhlIGRlZikxNDQgOTYgUiA1LjM0NihhdWx0IGJlaGEpLS4xIEYgNS4zNDUKLSh2aW9yIG9mIHRoZSBjb21wbGV0aW9uIGZ1bmN0aW9ucyBpbiBhIGYpLS4yIEYgNS4zNDUoYXNoaW9uIHNpbWlsYXIgdG8pCi0tLjEgRiBGMShzaG8pMTQ0IDEwOCBRKHdcMjU1YWxsXDI1NWlmXDI1NWFtYmlndW91cyktLjEgRSBGMCA2LjkyMiguSSlDCi00LjQyMihmcyktNi45MjIgRyAxLjkyMihldCB0byktNC40MjIgRiBGMShvbik0LjQyMiBFIEYwIDQuNDIyKCx3KUMgMS45MjIKLShvcmRzIHdoaWNoIGhhKS00LjUyMiBGIDIuMjIzIC0uMTUodmUgbSktLjIgSCAxLjkyMwotKG9yZSB0aGFuIG9uZSBwb3NzaWJsZSBjb21wbGV0aW9uKS4xNSBGIDEuMDQod2l0aG91dCBhbikxNDQgMTIwIFIgMy41NAorLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihtYXJrXDI1NW1vZGlcMjE0ZWRcMjU1bGluZXMgXChPZmZcKSkxMDggODQKK1EgRjAoSWYgc2V0IHRvKTE0NCA5NiBRIEYxKE9uKTIuNSBFIEYwIDIuNSgsaClDKGlzdG9yeSBsaW5lcyB0aGF0IGhhKQorLTIuNSBFIC4zIC0uMTUodmUgYiktLjIgSAorKGVlbiBtb2RpXDIxNGVkIGFyZSBkaXNwbGF5ZWQgd2l0aCBhIHByZWNlZGluZyBhc3RlcmlzayBcKCkuMTUgRSBGMSgqKUEKK0YwKFwpLilBIEYxKG1hcmtcMjU1c3ltbGluaykxMDggMTA4IFEoZWRcMjU1ZGlyKS0uMSBFKGVjdG9yaWVzIFwoT2ZmXCkpCistLjE4IEUgRjAgLjE3NShJZiBzZXQgdG8pMTQ0IDEyMCBSIEYxKE9uKTIuNjc1IEUgRjAgMi42NzUoLGMpQyAuMTc1Cisob21wbGV0ZWQgbmFtZXMgd2hpY2ggYXJlIHN5bWJvbGljIGxpbmtzIHRvIGRpcmVjdG9yaWVzIGhhKS0yLjY3NSBGIC40NzUKKy0uMTUodmUgYSBzKS0uMiBIIC4xNzUobGFzaCBhcHBlbmRlZCBcKHN1Yi0pLjE1IEYoamVjdCB0byB0aGUgdikxNDQgMTMyCitRKGFsdWUgb2YpLS4yNSBFIEYxKG1hcmtcMjU1ZGlyKTIuNSBFKGVjdG9yaWVzKS0uMTggRSBGMChcKS4pQSBGMQorKG1hdGNoXDI1NWhpZGRlblwyNTVcMjE0bGVzIFwoT25cKSkxMDggMTQ0IFEgRjAgLjE5MyhUaGlzIHYpMTQ0IDE1NiBSCisuMTkzKGFyaWFibGUsIHdoZW4gc2V0IHRvKS0uMjUgRiBGMShPbikyLjY5MyBFIEYwIDIuNjkzKCxjKUMgLjE5MgorKGF1c2VzIHJlYWRsaW5lIHRvIG1hdGNoIFwyMTRsZXMgd2hvc2UgbmFtZXMgYmUpLTIuNjkzIEYgLjE5MgorKGdpbiB3aXRoIGEgYC4pLS4xNSBGIDIuNjkyKCdcKCktLjcgRyhoaWRkZW4pLTIuNjkyIEUgMS4wMjMKKyhcMjE0bGVzXCkgd2hlbiBwZXJmb3JtaW5nIFwyMTRsZW5hbWUgY29tcGxldGlvbiwgdW5sZXNzIHRoZSBsZWFkaW5nIGAuKQorMTQ0IDE2OCBSIDMuNTIzKCdpKS0uNyBHIDMuNTIzKHNzKS0zLjUyMyBHIDEuMDI0CisodXBwbGllZCBieSB0aGUgdXNlciBpbiB0aGUpLTMuNTIzIEYoXDIxNGxlbmFtZSB0byBiZSBjb21wbGV0ZWQuKTE0NCAxODAKK1EgRjEob3V0cHV0XDI1NW1ldGEgXChPZmZcKSkxMDggMTkyIFEgRjAgLjUwNyhJZiBzZXQgdG8pMTQ0IDIwNCBSIEYxKE9uKQorMy4wMDcgRSBGMCAzLjAwNygscilDIC41MDcoZWFkbGluZSB3aWxsIGRpc3BsYXkgY2hhcmFjdGVycyB3aXRoIHRoZSBlaWdcCitodGggYml0IHNldCBkaXJlY3RseSByYXRoZXIgdGhhbiBhcyBhIG1ldGEtKS0zLjAwNyBGKHByZVwyMTR4KTE0NCAyMTYgUQorKGVkIGVzY2FwZSBzZXF1ZW5jZS4pLS4xNSBFIEYxKHBhZ2VcMjU1Y29tcGxldGlvbnMgXChPblwpKTEwOCAyMjggUSBGMAorLjgwOChJZiBzZXQgdG8pMTQ0IDI0MCBSIEYxKE9uKTMuMzA4IEUgRjAgMy4zMDgoLHIpQyAuODA4CisoZWFkbGluZSB1c2VzIGFuIGludGVybmFsKS0zLjMwOCBGL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGKG1vcikzLjMwOCBFCisoZSktLjM3IEUgRjAoLWxpaylBIDMuMzA4KGVwKS0uMSBHIC44MDgKKyhhZ2VyIHRvIGRpc3BsYXkgYSBzY3JlZW5mdWwgb2YgcG9zc2libGUgY29tcGxlLSktMy4zMDggRgorKHRpb25zIGF0IGEgdGltZS4pMTQ0IDI1MiBRIEYxCisocHJpbnRcMjU1Y29tcGxldGlvbnNcMjU1aG9yaXpvbnRhbGx5IFwoT2ZmXCkpMTA4IDI2NCBRIEYwIDEuMzE5CisoSWYgc2V0IHRvKTE0NCAyNzYgUiBGMShPbikzLjgxOSBFIEYwIDMuODE5KCxyKUMgMS4zMTgoZWFkbGluZSB3aWxsIGRpc1wKK3BsYXkgY29tcGxldGlvbnMgd2l0aCBtYXRjaGVzIHNvcnRlZCBob3Jpem9udGFsbHkgaW4gYWxwaGFiZXRpY2FsKS0zLjgxOQorRihvcmRlcikxNDQgMjg4IFEgMi41KCxyKS0uNCBHKGF0aGVyIHRoYW4gZG8pLTIuNSBFKHduIHRoZSBzY3JlZW4uKS0uMjUKK0UgRjEgLTIuMjkgLS4xOChyZSB2KTEwOCAzMDAgVChlcnRcMjU1YWxsXDI1NWF0XDI1NW5ld2xpbmUgXChPZmZcKSkuMDggRQorRjAgLjg3MihJZiBzZXQgdG8pMTQ0IDMxMiBSIEYxKG9uKTMuMzcyIEUgRjAgMy4zNzIoLHIpQyAuODczCisoZWFkbGluZSB3aWxsIHVuZG8gYWxsIGNoYW5nZXMgdG8gaGlzdG9yeSBsaW5lcyBiZWZvcmUgcmV0dXJuaW5nIHdoZW4pCistMy4zNzIgRiBGMShhY2NlcHRcMjU1bGluZSkzLjM3MyBFIEYwKGlzKTMuMzczIEUgLS4xNShleGUpMTQ0IDMyNCBTCisyLjY4NihjdXRlZC4gQnkpLjE1IEYoZGVmKTIuNjg2IEUgLjE4NgorKGF1bHQsIGhpc3RvcnkgbGluZXMgbWF5IGJlIG1vZGlcMjE0ZWQgYW5kIHJldGFpbiBpbmRpKS0uMSBGIC4xODYKKyh2aWR1YWwgdW5kbyBsaXN0cyBhY3Jvc3MgY2FsbHMgdG8pLS4yNSBGIEYxIC0uMTgocmUpMTQ0IDMzNiBTKGFkbGluZSkKKy4xOCBFIEYwKC4pQSBGMShzaG8pMTA4IDM0OCBRKHdcMjU1YWxsXDI1NWlmXDI1NWFtYmlndW91cyBcKE9mZlwpKS0uMSBFCitGMCAuNDc3KFRoaXMgYWx0ZXJzIHRoZSBkZWYpMTQ0IDM2MCBSIC40NzcoYXVsdCBiZWhhKS0uMSBGIC40NzcKKyh2aW9yIG9mIHRoZSBjb21wbGV0aW9uIGZ1bmN0aW9ucy4pLS4yIEYgLjQ3OChJZiBzZXQgdG8pNS40NzggRiBGMShvbikKKzIuOTc4IEUgRjAgMi45NzgoLHcpQyAuNDc4KG9yZHMgd2hpY2ggaGEpLTMuMDc4IEYgLjc3OCAtLjE1KHZlIG0pLS4yIEgKKyhvcmUpLjE1IEUgMS4yNjQodGhhbiBvbmUgcG9zc2libGUgY29tcGxldGlvbiBjYXVzZSB0aGUgbWF0Y2hlcyB0byBiZSBsXAoraXN0ZWQgaW1tZWRpYXRlbHkgaW5zdGVhZCBvZiByaW5naW5nIHRoZSkxNDQgMzcyIFIoYmVsbC4pMTQ0IDM4NCBRIEYxCisoc2hvKTEwOCAzOTYgUSh3XDI1NWFsbFwyNTVpZlwyNTV1bm1vZGlcMjE0ZWQgXChPZmZcKSktLjEgRSBGMCA1LjM0NQorKFRoaXMgYWx0ZXJzIHRoZSBkZWYpMTQ0IDQwOCBSIDUuMzQ1KGF1bHQgYmVoYSktLjEgRiA1LjM0NQorKHZpb3Igb2YgdGhlIGNvbXBsZXRpb24gZnVuY3Rpb25zIGluIGEgZiktLjIgRiA1LjM0Nihhc2hpb24gc2ltaWxhciB0bykKKy0uMSBGIEYxKHNobykxNDQgNDIwIFEod1wyNTVhbGxcMjU1aWZcMjU1YW1iaWd1b3VzKS0uMSBFIEYwIDYuOTIzKC5JKUMKKzQuNDIzKGZzKS02LjkyMyBHIDEuOTIzKGV0IHRvKS00LjQyMyBGIEYxKG9uKTQuNDIzIEUgRjAgNC40MjMoLHcpQyAxLjkyMworKG9yZHMgd2hpY2ggaGEpLTQuNTIzIEYgMi4yMjIgLS4xNSh2ZSBtKS0uMiBIIDEuOTIyCisob3JlIHRoYW4gb25lIHBvc3NpYmxlIGNvbXBsZXRpb24pLjE1IEYgMS4wMzkod2l0aG91dCBhbikxNDQgNDMyIFIgMy41MzkKICh5cCktLjE1IEcgMS4wMzkKLShvc3NpYmxlIHBhcnRpYWwgY29tcGxldGlvbiBcKHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkb24nKS0zLjU0IEYKLTMuNTM5KHRzKS0uMTggRyAxLjAzOShoYXJlIGEgY29tbW9uIHByZVwyMTR4XCkpLTMuNTM5IEYoY2F1c2UgdGhlIG1hdGNoXAotZXMgdG8gYmUgbGlzdGVkIGltbWVkaWF0ZWx5IGluc3RlYWQgb2YgcmluZ2luZyB0aGUgYmVsbC4pMTQ0IDEzMiBRIEYxCi0odmlzaWJsZVwyNTVzdGF0cyBcKE9mZlwpKTEwOCAxNDQgUSBGMCAuODQ2KElmIHNldCB0bykxNDQgMTU2IFIgRjEoT24pCisob3NzaWJsZSBwYXJ0aWFsIGNvbXBsZXRpb24gXCh0aGUgcG9zc2libGUgY29tcGxldGlvbnMgZG9uJyktMy41MzkgRgorMy41MzkodHMpLS4xOCBHIDEuMDQoaGFyZSBhIGNvbW1vbiBwcmVcMjE0eFwpKS0zLjUzOSBGKGNhdXNlIHRoZSBtYXRjaGVcCitzIHRvIGJlIGxpc3RlZCBpbW1lZGlhdGVseSBpbnN0ZWFkIG9mIHJpbmdpbmcgdGhlIGJlbGwuKTE0NCA0NDQgUSBGMQorKHNraXBcMjU1Y29tcGxldGVkXDI1NXRleHQgXChPZmZcKSkxMDggNDU2IFEgRjAgLjA5NShJZiBzZXQgdG8pMTQ0IDQ2OCBSCitGMShPbikyLjU5NSBFIEYwIDIuNTk1KCx0KUMgLjA5NShoaXMgYWx0ZXJzIHRoZSBkZWYpLTIuNTk1IEYgLjA5NQorKGF1bHQgY29tcGxldGlvbiBiZWhhKS0uMSBGIC4wOTQKKyh2aW9yIHdoZW4gaW5zZXJ0aW5nIGEgc2luZ2xlIG1hdGNoIGludG8gdGhlIGxpbmUuKS0uMiBGKEl0JykxNDQgNDgwIFEKKzIuNTQ1KHNvKS0uNTUgRyAuMDQ1KG5seSBhY3RpKS0yLjU0NSBGIC4zNDUgLS4xNSh2ZSB3KS0uMjUgSCAuMDQ2CisoaGVuIHBlcmZvcm1pbmcgY29tcGxldGlvbiBpbiB0aGUgbWlkZGxlIG9mIGEgdykuMTUgRiAyLjU0NihvcmQuIElmKS0uMQorRiAuMDQ2KGVuYWJsZWQsIHJlYWRsaW5lIGRvZXMgbm90KTIuNTQ2IEYgMS4zOTQoaW5zZXJ0IGNoYXJhY3RlcnMgZnJvbSBcCit0aGUgY29tcGxldGlvbiB0aGF0IG1hdGNoIGNoYXJhY3RlcnMgYWZ0ZXIgcG9pbnQgaW4gdGhlIHcpMTQ0IDQ5MiBSCisxLjM5NChvcmQgYmVpbmcgY29tLSktLjEgRihwbGV0ZWQsIHNvIHBvcnRpb25zIG9mIHRoZSB3KTE0NCA1MDQgUQorKG9yZCBmb2xsbyktLjEgRSh3aW5nIHRoZSBjdXJzb3IgYXJlIG5vdCBkdXBsaWNhdGVkLiktLjI1IEUgRjEKKyh2aXNpYmxlXDI1NXN0YXRzIFwoT2ZmXCkpMTA4IDUxNiBRIEYwIC44NDYoSWYgc2V0IHRvKTE0NCA1MjggUiBGMShPbikKIDMuMzQ2IEUgRjAgMy4zNDYoLGFjKUMgLjg0NihoYXJhY3RlciBkZW5vdGluZyBhIFwyMTRsZScpLTMuMzQ2IEYgMy4zNDYKLShzdCktLjU1IEcgLjg0Nih5cGUgYXMgcmVwb3J0ZWQgYnkpLTMuMzQ2IEYvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YKLShzdGF0KTMuMzQ2IEUgRjAgLjg0NihcKDJcKSBpcyBhcHBlbmRlZCB0byB0aGUgXDIxNGxlbmFtZSlCCi0od2hlbiBsaXN0aW5nIHBvc3NpYmxlIGNvbXBsZXRpb25zLikxNDQgMTY4IFEgRjEKLShSZWFkbGluZSBDb25kaXRpb25hbCBDb25zdHJ1Y3RzKTg3IDE4NC44IFEgRjAgLjA1Ci0oUmVhZGxpbmUgaW1wbGVtZW50cyBhIGYpMTA4IDE5Ni44IFIgLjA1KGFjaWxpdHkgc2ltaWxhciBpbiBzcGlyaXQgdG8gdFwKKyhzdCktLjU1IEcgLjg0Nih5cGUgYXMgcmVwb3J0ZWQgYnkpLTMuMzQ2IEYgRjIoc3RhdCkzLjM0NiBFIEYwIC44NDYKKyhcKDJcKSBpcyBhcHBlbmRlZCB0byB0aGUgXDIxNGxlbmFtZSlCCisod2hlbiBsaXN0aW5nIHBvc3NpYmxlIGNvbXBsZXRpb25zLikxNDQgNTQwIFEgRjEKKyhSZWFkbGluZSBDb25kaXRpb25hbCBDb25zdHJ1Y3RzKTg3IDU1Ni44IFEgRjAgLjA1CisoUmVhZGxpbmUgaW1wbGVtZW50cyBhIGYpMTA4IDU2OC44IFIgLjA1KGFjaWxpdHkgc2ltaWxhciBpbiBzcGlyaXQgdG8gdFwKIGhlIGNvbmRpdGlvbmFsIGNvbXBpbGF0aW9uIGZlYXR1cmVzIG9mIHRoZSBDIHByZXByb2Nlc3NvciktLjEgRiAuMDk2Ci0od2hpY2ggYWxsbykxMDggMjA4LjggUiAuMDk2KHdzIGspLS4yNSBGIC4zOTYgLS4xNShleSBiKS0uMSBIIC4wOTYKKyh3aGljaCBhbGxvKTEwOCA1ODAuOCBSIC4wOTYod3MgayktLjI1IEYgLjM5NiAtLjE1KGV5IGIpLS4xIEggLjA5NgogKGluZGluZ3MgYW5kIHYpLjE1IEYgLjA5NgogKGFyaWFibGUgc2V0dGluZ3MgdG8gYmUgcGVyZm9ybWVkIGFzIHRoZSByZXN1bHQgb2YgdGVzdHMuKS0uMjUgRiAuMDk3Ci0oVGhlcmUgYXJlIGZvdXIgcGFyc2VyKTUuMDk2IEYoZGlyZWN0aSkxMDggMjIwLjggUSAtLjE1KHZlKS0uMjUgRyAyLjUKLShzdSkuMTUgRyhzZWQuKS0yLjUgRSBGMSgkaWYpMTA4IDIzNy42IFEgRjAoVGhlKTI0Ljg5IEUgRjEoJGlmKTIuOTYzIEUKKyhUaGVyZSBhcmUgZm91ciBwYXJzZXIpNS4wOTYgRihkaXJlY3RpKTEwOCA1OTIuOCBRIC0uMTUodmUpLS4yNSBHIDIuNQorKHN1KS4xNSBHKHNlZC4pLTIuNSBFIEYxKCRpZikxMDggNjA5LjYgUSBGMChUaGUpMjQuODkgRSBGMSgkaWYpMi45NjMgRQogRjAgLjQ2Myhjb25zdHJ1Y3QgYWxsbykyLjk2MyBGIC40NjIod3MgYmluZGluZ3MgdG8gYmUgbWFkZSBiYXNlZCBvbiB0aGVcCiAgZWRpdGluZyBtb2RlLCB0aGUgdGVybWluYWwgYmVpbmcgdXNlZCwpLS4yNSBGIC40NzcKLShvciB0aGUgYXBwbGljYXRpb24gdXNpbmcgcmVhZGxpbmUuKTE0NCAyNDkuNiBSIC40NzcoVGhlIHRlKTUuNDc3IEYgLjQ3NworKG9yIHRoZSBhcHBsaWNhdGlvbiB1c2luZyByZWFkbGluZS4pMTQ0IDYyMS42IFIgLjQ3NyhUaGUgdGUpNS40NzcgRiAuNDc3CiAoeHQgb2YgdGhlIHRlc3QgZSktLjE1IEYgLjQ3NwogKHh0ZW5kcyB0byB0aGUgZW5kIG9mIHRoZSBsaW5lOyBubyBjaGFyYWN0ZXJzKS0uMTUgRgotKGFyZSByZXF1aXJlZCB0byBpc29sYXRlIGl0LikxNDQgMjYxLjYgUSBGMShtb2RlKTE0NCAyNzguNCBRIEYwKFRoZSkKKyhhcmUgcmVxdWlyZWQgdG8gaXNvbGF0ZSBpdC4pMTQ0IDYzMy42IFEgRjEobW9kZSkxNDQgNjUwLjQgUSBGMChUaGUpCiAxMi42NyBFIEYxKG1vZGU9KTMuNzEyIEUgRjAgMS4yMTIoZm9ybSBvZiB0aGUpMy43MTIgRiBGMSgkaWYpMy43MTEgRSBGMAogKGRpcmVjdGkpMy43MTEgRSAxLjUxMSAtLjE1KHZlIGkpLS4yNSBIIDMuNzExKHN1KS4xNSBHIDEuMjExCiAoc2VkIHRvIHRlc3Qgd2hldGhlciByZWFkbGluZSBpcyBpbiBlbWFjcyBvciB2aSktMy43MTEgRiAzLjA2NQotKG1vZGUuIFRoaXMpMTgwIDI5MC40IFIgLjU2NShtYXkgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSkzLjA2NSBGCisobW9kZS4gVGhpcykxODAgNjYyLjQgUiAuNTY1KG1heSBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlKTMuMDY1IEYKIEYxIC41NjUoc2V0IGspMy4wNjUgRihleW1hcCktLjEgRSBGMCAuNTY1KGNvbW1hbmQsIGZvciBpbnN0YW5jZSwgdG8pCi0zLjA2NSBGIC43MzUoc2V0IGJpbmRpbmdzIGluIHRoZSkxODAgMzAyLjQgUiBGMihlbWFjc1wyNTVzdGFuZGFyKTMuMjM1IEUKKzMuMDY1IEYgLjczNShzZXQgYmluZGluZ3MgaW4gdGhlKTE4MCA2NzQuNCBSIEYyKGVtYWNzXDI1NXN0YW5kYXIpMy4yMzUgRQogKGQpLS4zNyBFIEYwKGFuZCkzLjIzNSBFIEYyKGVtYWNzXDI1NWN0bHgpMy4yMzUgRSBGMCAtLjEoa2UpMy4yMzUgRyAuNzM1Ci0oeW1hcHMgb25seSBpZiByZWFkbGluZSBpcyBzdGFydGluZyktLjA1IEYob3V0IGluIGVtYWNzIG1vZGUuKTE4MCAzMTQuNAotUSBGMSh0ZXJtKTE0NCAzMzEuMiBRIEYwKFRoZSkxNS40NiBFIEYxKHRlcm09KTMuMTk2IEUgRjAgLjY5NgorKHltYXBzIG9ubHkgaWYgcmVhZGxpbmUgaXMgc3RhcnRpbmcpLS4wNSBGKG91dCBpbiBlbWFjcyBtb2RlLikxODAgNjg2LjQKK1EgRjEodGVybSkxNDQgNzAzLjIgUSBGMChUaGUpMTUuNDYgRSBGMSh0ZXJtPSkzLjE5NiBFIEYwIC42OTYKIChmb3JtIG1heSBiZSB1c2VkIHRvIGluY2x1ZGUgdGVybWluYWwtc3BlY2lcMjE0YyBrKTMuMTk2IEYgLjk5NiAtLjE1Ci0oZXkgYiktLjEgSCAuNjk3KGluZGluZ3MsIHBlcmhhcHMgdG8gYmluZCkuMTUgRiAuNjU0KHRoZSBrKTE4MCAzNDMuMiBSCisoZXkgYiktLjEgSCAuNjk3KGluZGluZ3MsIHBlcmhhcHMgdG8gYmluZCkuMTUgRiAuNjU0KHRoZSBrKTE4MCA3MTUuMiBSCiAuOTU0IC0uMTUoZXkgcyktLjEgSCAuNjU0KGVxdWVuY2VzIG91dHB1dCBieSB0aGUgdGVybWluYWwnKS4xNSBGIDMuMTU0CiAoc2YpLS41NSBHIC42NTQodW5jdGlvbiBrKS0zLjE1NCBGIC0uMTUoZXkpLS4xIEcgMy4xNTQocy4gVGhlKS4xNSBGIC0uMQotKHdvKTMuMTU0IEcgLjY1NChyZCBvbiB0aGUgcmlnaHQgc2lkZSBvZikuMSBGKHRoZSkxODAgMzU1LjIgUSBGMSg9KTMuMjMxCisod28pMy4xNTQgRyAuNjU0KHJkIG9uIHRoZSByaWdodCBzaWRlIG9mKS4xIEYodGhlKTE4MCA3MjcuMiBRIEYxKD0pMy4yMzEKIEUgRjAgLjczMShpcyB0ZXN0ZWQgYWcpMy4yMzEgRiAuNzMyKGFpbnN0IHRoZSBib3RoIGZ1bGwgbmFtZSBvZiB0aGUgdGVyXAotbWluYWwgYW5kIHRoZSBwb3J0aW9uIG9mIHRoZSB0ZXJtaW5hbCktLjA1IEYobmFtZSBiZWZvcmUgdGhlIFwyMTRyc3QpMTgwCi0zNjcuMiBRIEYxPGFkPjIuNSBFIEYwIDUoLlQpQyhoaXMgYWxsbyktNSBFKHdzKS0uMjUgRSBGMihzdW4pMi44NCBFIEYwCi0odG8gbWF0Y2ggYm90aCkyLjc0IEUgRjIoc3VuKTIuODQgRSBGMChhbmQpMi43NCBFIEYyKHN1blwyNTVjbWQpMi41IEUgRjAKLTIuNSgsZikuNzcgRyhvciBpbnN0YW5jZS4pLTIuNSBFIEYxKGFwcGxpY2F0aW9uKTE0NCAzODQgUSBGMChUaGUpMTgwIDM5NgotUSBGMShhcHBsaWNhdGlvbikzLjAwMyBFIEYwIC41MDMKLShjb25zdHJ1Y3QgaXMgdXNlZCB0byBpbmNsdWRlIGFwcGxpY2F0aW9uLXNwZWNpXDIxNGMgc2V0dGluZ3MuKTMuMDAzIEYKLS41MDMoRWFjaCBwcm9ncmFtKTUuNTAzIEYgLjExNCh1c2luZyB0aGUgcmVhZGxpbmUgbGlicmFyeSBzZXRzIHRoZSkxODAKLTQwOCBSIEYyIC4xMTQoYXBwbGljYXRpb24gbmFtZSkyLjYxNCBGIEYwIDIuNjE0KCxhKUMgLjExNAotKG5kIGFuIGluaXRpYWxpemF0aW9uIFwyMTRsZSBjYW4gdGVzdCBmb3IgYSktMi42MTQgRiAuNTAxKHBhcnRpY3VsYXIgdikKLTE4MCA0MjAgUiAzLjAwMShhbHVlLiBUaGlzKS0uMjUgRiAuNTAxKGNvdWxkIGJlIHVzZWQgdG8gYmluZCBrKTMuMDAxIEYKLS44MDEgLS4xNShleSBzKS0uMSBIIC41KGVxdWVuY2VzIHRvIGZ1bmN0aW9ucyB1c2VmdWwgZm9yIGEgc3BlLSkuMTUgRgotLjM5NihjaVwyMTRjIHByb2dyYW0uKTE4MCA0MzIgUiAtLjE1KEZvKTUuMzk2IEcgMi44OTYocmkpLjE1IEcgLjM5NgotKG5zdGFuY2UsIHRoZSBmb2xsbyktMi44OTYgRiAuMzk2KHdpbmcgY29tbWFuZCBhZGRzIGEgayktLjI1IEYgLjY5NiAtLjE1Ci0oZXkgcyktLjEgSCAuMzk3KGVxdWVuY2UgdGhhdCBxdW90ZXMgdGhlKS4xNSBGKGN1cnJlbnQgb3IgcHJlKTE4MCA0NDQgUQotKHZpb3VzIHcpLS4yNSBFKG9yZCBpbiBCYXNoOiktLjEgRSBGMSgkaWYpMTgwIDQ2OCBRIEYwKEJhc2gpMi41IEUgMi41Ci0oI1EpMTgwIDQ4MCBTKHVvdGUgdGhlIGN1cnJlbnQgb3IgcHJlKS0yLjUgRSh2aW91cyB3KS0uMjUgRShvcmQpLS4xIEUKLSgiXFxDXDI1NXhxIjogIlxcZWJcXCJcXGVmXFwiIikxODAgNDkyIFEgRjEoJGVuZGlmKTE4MCA1MDQgUSgkZW5kaWYpMTA4Ci01MjAuOCBRIEYwKFRoaXMgY29tbWFuZCwgYXMgc2VlbiBpbiB0aGUgcHJlKTkuMzMgRSh2aW91cyBlKS0uMjUgRQotKHhhbXBsZSwgdGVybWluYXRlcyBhbiktLjE1IEUgRjEoJGlmKTIuNSBFIEYwKGNvbW1hbmQuKTIuNSBFIEYxKCRlbHNlKQotMTA4IDUzNy42IFEgRjAoQ29tbWFuZHMgaW4gdGhpcyBicmFuY2ggb2YgdGhlKTE1LjQ1IEUgRjEoJGlmKTIuNSBFIEYwCi0oZGlyZWN0aSkyLjUgRSAuMyAtLjE1KHZlIGEpLS4yNSBIKHJlIGUpLjE1IEUgLS4xNSh4ZSktLjE1IEcKLShjdXRlZCBpZiB0aGUgdGVzdCBmKS4xNSBFKGFpbHMuKS0uMSBFIEYxKCRpbmNsdWRlKTEwOCA1NTQuNCBRIEYwIC4zNTcKLShUaGlzIGRpcmVjdGkpMTQ0IDU2Ni40IFIgLjY1NyAtLjE1KHZlIHQpLS4yNSBIKGFrKS4xNSBFIC4zNTcKLShlcyBhIHNpbmdsZSBcMjE0bGVuYW1lIGFzIGFuIGFyKS0uMSBGIC4zNTYKLShndW1lbnQgYW5kIHJlYWRzIGNvbW1hbmRzIGFuZCBiaW5kaW5ncyBmcm9tIHRoYXQpLS4xOCBGIDIuNShcMjE0bGUuIEYpCi0xNDQgNTc4LjQgUihvciBlKS0uMTUgRSh4YW1wbGUsIHRoZSBmb2xsbyktLjE1IEUod2luZyBkaXJlY3RpKS0uMjUgRSAuMwotLS4xNSh2ZSB3KS0uMjUgSChvdWxkIHJlYWQpLjA1IEUgRjIoL2V0Yy9pbnB1dHIpMi41IEUoYyktLjM3IEUgRjAoOilBIEYxCi0oJGluY2x1ZGUpMTQ0IDYwMi40IFEgRjIoL2V0Yy9pbnB1dHIpNS44MzMgRShjKS0uMzcgRSBGMShTZWFyKTg3IDYxOS4yIFEKLShjaGluZyktLjE4IEUgRjAgLjgzNChSZWFkbGluZSBwcm8pMTA4IDYzMS4yIFIgLjgzNAotKHZpZGVzIGNvbW1hbmRzIGZvciBzZWFyY2hpbmcgdGhyb3VnaCB0aGUgY29tbWFuZCBoaXN0b3J5IFwoc2VlKS0uMTUgRgotL0YzIDkvVGltZXMtQm9sZEAwIFNGKEhJU1QpMy4zMzUgRShPUiktLjE2MiBFKFkpLS4zMTUgRSBGMChiZWxvKTMuMDg1IEUKLS44MzUod1wpIGZvciBsaW5lcyktLjI1IEYoY29udGFpbmluZyBhIHNwZWNpXDIxNGVkIHN0cmluZy4pMTA4IDY0My4yIFEKLShUaGVyZSBhcmUgdHcpNSBFIDIuNShvcyktLjEgRyhlYXJjaCBtb2RlczopLTIuNSBFIEYyKGluY3IpMi41MSBFCi0oZW1lbnRhbCktLjM3IEUgRjAoYW5kKTMuMDEgRSBGMihub24taW5jcikyLjUgRShlbWVudGFsKS0uMzcgRSBGMCguKS41MQotRSAuNjk4KEluY3JlbWVudGFsIHNlYXJjaGVzIGJlKTEwOCA2NjAgUiAuNjk4Ci0oZ2luIGJlZm9yZSB0aGUgdXNlciBoYXMgXDIxNG5pc2hlZCB0eXBpbmcgdGhlIHNlYXJjaCBzdHJpbmcuKS0uMTUgRgotLjY5NyhBcyBlYWNoIGNoYXJhY3RlciBvZiB0aGUpNS42OTcgRiAuMTEyCi0oc2VhcmNoIHN0cmluZyBpcyB0eXBlZCwgcmVhZGxpbmUgZGlzcGxheXMgdGhlIG5lKTEwOCA2NzIgUiAuMTEyCi0oeHQgZW50cnkgZnJvbSB0aGUgaGlzdG9yeSBtYXRjaGluZyB0aGUgc3RyaW5nIHR5cGVkIHNvIGYpLS4xNSBGKGFyKS0uMQotRSA1LjExMyguQSktLjU1IEcobiktNS4xMTMgRSAuNTQyCi0oaW5jcmVtZW50YWwgc2VhcmNoIHJlcXVpcmVzIG9ubHkgYXMgbWFuKTEwOCA2ODQgUiAzLjA0Mih5YyktLjE1IEcgLjU0MgotKGhhcmFjdGVycyBhcyBuZWVkZWQgdG8gXDIxNG5kIHRoZSBkZXNpcmVkIGhpc3RvcnkgZW50cnkpLTMuMDQyIEYgNS41NDEKLSguVCktLjY1IEcgLjU0MShoZSBjaGFyKS01LjU0MSBGKC0pLS4yIEUgLjIyNChhY3RlcnMgcHJlc2VudCBpbiB0aGUgdikKLTEwOCA2OTYgUiAuMjI0KGFsdWUgb2YgdGhlKS0uMjUgRiBGMShpc2VhcikyLjcyNCBFKGNoLXRlcm1pbmF0b3JzKS0uMTggRQotRjAgLS4yNSh2YSkyLjcyNCBHIC4yMjQKLShyaWFibGUgYXJlIHVzZWQgdG8gdGVybWluYXRlIGFuIGluY3JlbWVudGFsIHNlYXJjaC4pLjI1IEYgLjY2Ci0oSWYgdGhhdCB2KTEwOCA3MDggUiAuNjYoYXJpYWJsZSBoYXMgbm90IGJlZW4gYXNzaWduZWQgYSB2KS0uMjUgRiAuNjYKLShhbHVlIHRoZSBFc2NhcGUgYW5kIENvbnRyb2wtSiBjaGFyYWN0ZXJzIHdpbGwgdGVybWluYXRlIGFuIGluY3JlLSktLjI1Ci1GIC4wOTYobWVudGFsIHNlYXJjaC4pMTA4IDcyMCBSIC4wOTYoQ29udHJvbC1HIHdpbGwgYWJvcnQgYW4gaW5jcmVtZW50YVwKLWwgc2VhcmNoIGFuZCByZXN0b3JlIHRoZSBvcmlnaW5hbCBsaW5lLik1LjA5NiBGIC4wOTcoV2hlbiB0aGUgc2VhcmNoIGlzKQotNS4wOTcgRihHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFKDM3KTE5MC45NSBFIDAgQ2cKLUVQCittaW5hbCBhbmQgdGhlIHBvcnRpb24gb2YgdGhlIHRlcm1pbmFsKS0uMDUgRihHTlUgQmFzaC00LjEpNzIgNzY4IFEKKygyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgzNykxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiAzOCAzOAogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRSh0ZXJtaW5hdGVkLCB0aGUgaGlzdG9yeSBlbnRyeSBjb250YWluaW5nIHRoZSBzZWFyY2ggc3RyaW5nIGJlY29tXAotZXMgdGhlIGN1cnJlbnQgbGluZS4pMTA4IDg0IFEgMi45MzkgLS44KFRvIFwyMTQpMTA4IDEwMC44IFQgMS4zMzkobmQgb3RcCi1oZXIgbWF0Y2hpbmcgZW50cmllcyBpbiB0aGUgaGlzdG9yeSBsaXN0LCB0eXBlIENvbnRyb2wtUyBvciBDb250cm9sLVIgYVwKLXMgYXBwcm9wcmlhdGUuKS44IEYgMS4zMzgoVGhpcyB3aWxsKTYuMzM4IEYgLjY3NChzZWFyY2ggYmFja3cpMTA4IDExMi44Ci1SIC42NzQoYXJkIG9yIGZvcncpLS4xIEYgLjY3NChhcmQgaW4gdGhlIGhpc3RvcnkgZm9yIHRoZSBuZSktLjEgRiAuNjc1CistLjM1IEUobmFtZSBiZWZvcmUgdGhlIFwyMTRyc3QpMTgwIDg0IFEvRjEgMTAvVGltZXMtQm9sZEAwIFNGPGFkPjIuNSBFCitGMCA1KC5UKUMoaGlzIGFsbG8pLTUgRSh3cyktLjI1IEUvRjIgMTAvVGltZXMtSXRhbGljQDAgU0Yoc3VuKTIuODQgRSBGMAorKHRvIG1hdGNoIGJvdGgpMi43NCBFIEYyKHN1bikyLjg0IEUgRjAoYW5kKTIuNzQgRSBGMihzdW5cMjU1Y21kKTIuNSBFIEYwCisyLjUoLGYpLjc3IEcob3IgaW5zdGFuY2UuKS0yLjUgRSBGMShhcHBsaWNhdGlvbikxNDQgMTAwLjggUSBGMChUaGUpMTgwCisxMTIuOCBRIEYxKGFwcGxpY2F0aW9uKTMuMDAzIEUgRjAgLjUwMworKGNvbnN0cnVjdCBpcyB1c2VkIHRvIGluY2x1ZGUgYXBwbGljYXRpb24tc3BlY2lcMjE0YyBzZXR0aW5ncy4pMy4wMDMgRgorLjUwMyhFYWNoIHByb2dyYW0pNS41MDMgRiAuMTE0KHVzaW5nIHRoZSByZWFkbGluZSBsaWJyYXJ5IHNldHMgdGhlKTE4MAorMTI0LjggUiBGMiAuMTE0KGFwcGxpY2F0aW9uIG5hbWUpMi42MTQgRiBGMCAyLjYxNCgsYSlDIC4xMTQKKyhuZCBhbiBpbml0aWFsaXphdGlvbiBcMjE0bGUgY2FuIHRlc3QgZm9yIGEpLTIuNjE0IEYgLjUwMShwYXJ0aWN1bGFyIHYpCisxODAgMTM2LjggUiAzLjAwMShhbHVlLiBUaGlzKS0uMjUgRiAuNTAxKGNvdWxkIGJlIHVzZWQgdG8gYmluZCBrKTMuMDAxIEYKKy44MDEgLS4xNShleSBzKS0uMSBIIC41KGVxdWVuY2VzIHRvIGZ1bmN0aW9ucyB1c2VmdWwgZm9yIGEgc3BlLSkuMTUgRgorLjM5NihjaVwyMTRjIHByb2dyYW0uKTE4MCAxNDguOCBSIC0uMTUoRm8pNS4zOTYgRyAyLjg5NihyaSkuMTUgRyAuMzk2CisobnN0YW5jZSwgdGhlIGZvbGxvKS0yLjg5NiBGIC4zOTYod2luZyBjb21tYW5kIGFkZHMgYSBrKS0uMjUgRiAuNjk2IC0uMTUKKyhleSBzKS0uMSBIIC4zOTcoZXF1ZW5jZSB0aGF0IHF1b3RlcyB0aGUpLjE1IEYoY3VycmVudCBvciBwcmUpMTgwIDE2MC44CitRKHZpb3VzIHcpLS4yNSBFKG9yZCBpbiBCYXNoOiktLjEgRSBGMSgkaWYpMTgwIDE4NC44IFEgRjAoQmFzaCkyLjUgRSAyLjUKKygjUSkxODAgMTk2LjggUyh1b3RlIHRoZSBjdXJyZW50IG9yIHByZSktMi41IEUodmlvdXMgdyktLjI1IEUob3JkKS0uMSBFCisoIlxcQ1wyNTV4cSI6ICJcXGViXFwiXFxlZlxcIiIpMTgwIDIwOC44IFEgRjEoJGVuZGlmKTE4MCAyMjAuOCBRKCRlbmRpZikKKzEwOCAyMzcuNiBRIEYwKFRoaXMgY29tbWFuZCwgYXMgc2VlbiBpbiB0aGUgcHJlKTkuMzMgRSh2aW91cyBlKS0uMjUgRQorKHhhbXBsZSwgdGVybWluYXRlcyBhbiktLjE1IEUgRjEoJGlmKTIuNSBFIEYwKGNvbW1hbmQuKTIuNSBFIEYxKCRlbHNlKQorMTA4IDI1NC40IFEgRjAoQ29tbWFuZHMgaW4gdGhpcyBicmFuY2ggb2YgdGhlKTE1LjQ1IEUgRjEoJGlmKTIuNSBFIEYwCisoZGlyZWN0aSkyLjUgRSAuMyAtLjE1KHZlIGEpLS4yNSBIKHJlIGUpLjE1IEUgLS4xNSh4ZSktLjE1IEcKKyhjdXRlZCBpZiB0aGUgdGVzdCBmKS4xNSBFKGFpbHMuKS0uMSBFIEYxKCRpbmNsdWRlKTEwOCAyNzEuMiBRIEYwIC4zNTcKKyhUaGlzIGRpcmVjdGkpMTQ0IDI4My4yIFIgLjY1NyAtLjE1KHZlIHQpLS4yNSBIKGFrKS4xNSBFIC4zNTcKKyhlcyBhIHNpbmdsZSBcMjE0bGVuYW1lIGFzIGFuIGFyKS0uMSBGIC4zNTYKKyhndW1lbnQgYW5kIHJlYWRzIGNvbW1hbmRzIGFuZCBiaW5kaW5ncyBmcm9tIHRoYXQpLS4xOCBGIDIuNShcMjE0bGUuIEYpCisxNDQgMjk1LjIgUihvciBlKS0uMTUgRSh4YW1wbGUsIHRoZSBmb2xsbyktLjE1IEUod2luZyBkaXJlY3RpKS0uMjUgRSAuMworLS4xNSh2ZSB3KS0uMjUgSChvdWxkIHJlYWQpLjA1IEUgRjIoL2V0Yy9pbnB1dHIpMi41IEUoYyktLjM3IEUgRjAoOilBIEYxCisoJGluY2x1ZGUpMTQ0IDMxOS4yIFEgRjIoL2V0Yy9pbnB1dHIpNS44MzMgRShjKS0uMzcgRSBGMShTZWFyKTg3IDMzNiBRCisoY2hpbmcpLS4xOCBFIEYwIC44MzQoUmVhZGxpbmUgcHJvKTEwOCAzNDggUiAuODM0CisodmlkZXMgY29tbWFuZHMgZm9yIHNlYXJjaGluZyB0aHJvdWdoIHRoZSBjb21tYW5kIGhpc3RvcnkgXChzZWUpLS4xNSBGCisvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoSElTVCkzLjMzNSBFKE9SKS0uMTYyIEUoWSktLjMxNSBFIEYwKGJlbG8pMy4wODUgRQorLjgzNSh3XCkgZm9yIGxpbmVzKS0uMjUgRihjb250YWluaW5nIGEgc3BlY2lcMjE0ZWQgc3RyaW5nLikxMDggMzYwIFEKKyhUaGVyZSBhcmUgdHcpNSBFIDIuNShvcyktLjEgRyhlYXJjaCBtb2RlczopLTIuNSBFIEYyKGluY3IpMi41MSBFCisoZW1lbnRhbCktLjM3IEUgRjAoYW5kKTMuMDEgRSBGMihub24taW5jcikyLjUgRShlbWVudGFsKS0uMzcgRSBGMCguKS41MQorRSAuNjk4KEluY3JlbWVudGFsIHNlYXJjaGVzIGJlKTEwOCAzNzYuOCBSIC42OTgKKyhnaW4gYmVmb3JlIHRoZSB1c2VyIGhhcyBcMjE0bmlzaGVkIHR5cGluZyB0aGUgc2VhcmNoIHN0cmluZy4pLS4xNSBGCisuNjk3KEFzIGVhY2ggY2hhcmFjdGVyIG9mIHRoZSk1LjY5NyBGIC4xMTIKKyhzZWFyY2ggc3RyaW5nIGlzIHR5cGVkLCByZWFkbGluZSBkaXNwbGF5cyB0aGUgbmUpMTA4IDM4OC44IFIgLjExMgorKHh0IGVudHJ5IGZyb20gdGhlIGhpc3RvcnkgbWF0Y2hpbmcgdGhlIHN0cmluZyB0eXBlZCBzbyBmKS0uMTUgRihhciktLjEKK0UgNS4xMTMoLkEpLS41NSBHKG4pLTUuMTEzIEUgLjU0MgorKGluY3JlbWVudGFsIHNlYXJjaCByZXF1aXJlcyBvbmx5IGFzIG1hbikxMDggNDAwLjggUiAzLjA0Mih5YyktLjE1IEcKKy41NDIoaGFyYWN0ZXJzIGFzIG5lZWRlZCB0byBcMjE0bmQgdGhlIGRlc2lyZWQgaGlzdG9yeSBlbnRyeSktMy4wNDIgRgorNS41NDEoLlQpLS42NSBHIC41NDEoaGUgY2hhciktNS41NDEgRigtKS0uMiBFIC4yMjQKKyhhY3RlcnMgcHJlc2VudCBpbiB0aGUgdikxMDggNDEyLjggUiAuMjI0KGFsdWUgb2YgdGhlKS0uMjUgRiBGMShpc2VhcikKKzIuNzI0IEUoY2gtdGVybWluYXRvcnMpLS4xOCBFIEYwIC0uMjUodmEpMi43MjQgRyAuMjI0CisocmlhYmxlIGFyZSB1c2VkIHRvIHRlcm1pbmF0ZSBhbiBpbmNyZW1lbnRhbCBzZWFyY2guKS4yNSBGIC42NgorKElmIHRoYXQgdikxMDggNDI0LjggUiAuNjYoYXJpYWJsZSBoYXMgbm90IGJlZW4gYXNzaWduZWQgYSB2KS0uMjUgRiAuNjYKKyhhbHVlIHRoZSBFc2NhcGUgYW5kIENvbnRyb2wtSiBjaGFyYWN0ZXJzIHdpbGwgdGVybWluYXRlIGFuIGluY3JlLSktLjI1CitGIC4wOTYobWVudGFsIHNlYXJjaC4pMTA4IDQzNi44IFIgLjA5NihDb250cm9sLUcgd2lsbCBhYm9ydCBhbiBpbmNyZW1lblwKK3RhbCBzZWFyY2ggYW5kIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGxpbmUuKTUuMDk2IEYgLjA5NworKFdoZW4gdGhlIHNlYXJjaCBpcyk1LjA5NyBGKHRlcm1pbmF0ZWQsIHRoZSBoaXN0b3J5IGVudHJ5IGNvbnRhaW5pbmcgdGhcCitlIHNlYXJjaCBzdHJpbmcgYmVjb21lcyB0aGUgY3VycmVudCBsaW5lLikxMDggNDQ4LjggUSAyLjkzOSAtLjgoVG8gXDIxNCkKKzEwOCA0NjUuNiBUIDEuMzM5KG5kIG90aGVyIG1hdGNoaW5nIGVudHJpZXMgaW4gdGhlIGhpc3RvcnkgbGlzdCwgdHlwZSBDXAorb250cm9sLVMgb3IgQ29udHJvbC1SIGFzIGFwcHJvcHJpYXRlLikuOCBGIDEuMzM4KFRoaXMgd2lsbCk2LjMzOCBGIC42NzQKKyhzZWFyY2ggYmFja3cpMTA4IDQ3Ny42IFIgLjY3NChhcmQgb3IgZm9ydyktLjEgRiAuNjc0CisoYXJkIGluIHRoZSBoaXN0b3J5IGZvciB0aGUgbmUpLS4xIEYgLjY3NQogKHh0IGVudHJ5IG1hdGNoaW5nIHRoZSBzZWFyY2ggc3RyaW5nIHR5cGVkIHNvIGYpLS4xNSBGKGFyKS0uMSBFIDUuNjc1Ci0oLkEpLS41NSBHIC0uMTUobnkpLTUuNjc1IEcgLjE3NShvdGhlciBrKTEwOCAxMjQuOCBSIC40NzUgLS4xNShleSBzKS0uMQorKC5BKS0uNTUgRyAtLjE1KG55KS01LjY3NSBHIC4xNzUob3RoZXIgaykxMDggNDg5LjYgUiAuNDc1IC0uMTUoZXkgcyktLjEKIEggLjE3NAogKGVxdWVuY2UgYm91bmQgdG8gYSByZWFkbGluZSBjb21tYW5kIHdpbGwgdGVybWluYXRlIHRoZSBzZWFyY2ggYW5kIGUpLjE1CiBGIC0uMTUoeGUpLS4xNSBHIC4xNzQoY3V0ZSB0aGF0IGNvbW1hbmQuKS4xNSBGIC0uMTUoRm8pNS4xNzQgRyhyKS4xNSBFCi0uNTQoaW5zdGFuY2UsIGEpMTA4IDEzNi44IFIvRjEgMTAvVGltZXMtSXRhbGljQDAgU0YobmUpMy4wNCBFKHdsaW5lKS0uMTUKLUUgRjAgLjU0MSh3aWxsIHRlcm1pbmF0ZSB0aGUgc2VhcmNoIGFuZCBhY2NlcHQgdGhlIGxpbmUsIHRoZXJlYnkgZSkzLjA0Ci1GIC0uMTUoeGUpLS4xNSBHIC41NDEoY3V0aW5nIHRoZSBjb21tYW5kIGZyb20gdGhlKS4xNSBGKGhpc3RvcnkgbGlzdC4pCi0xMDggMTQ4LjggUSAuNjUzKFJlYWRsaW5lIHJlbWVtYmVycyB0aGUgbGFzdCBpbmNyZW1lbnRhbCBzZWFyY2ggc3RyaW5nLikKLTEwOCAxNjUuNiBSIC42NTMoSWYgdHcpNS42NTMgRiAzLjE1MyhvQyktLjEgRyAuNjUzCisuNTQoaW5zdGFuY2UsIGEpMTA4IDUwMS42IFIgRjIobmUpMy4wNCBFKHdsaW5lKS0uMTUgRSBGMCAuNTQxCisod2lsbCB0ZXJtaW5hdGUgdGhlIHNlYXJjaCBhbmQgYWNjZXB0IHRoZSBsaW5lLCB0aGVyZWJ5IGUpMy4wNCBGIC0uMTUKKyh4ZSktLjE1IEcgLjU0MShjdXRpbmcgdGhlIGNvbW1hbmQgZnJvbSB0aGUpLjE1IEYoaGlzdG9yeSBsaXN0LikxMDgKKzUxMy42IFEgLjY1MyhSZWFkbGluZSByZW1lbWJlcnMgdGhlIGxhc3QgaW5jcmVtZW50YWwgc2VhcmNoIHN0cmluZy4pMTA4Cis1MzAuNCBSIC42NTMoSWYgdHcpNS42NTMgRiAzLjE1MyhvQyktLjEgRyAuNjUzCiAob250cm9sLVJzIGFyZSB0eXBlZCB3aXRob3V0IGFuKS0zLjE1MyBGIDMuMTUyKHlpKS0uMTUgRyhudGVydiktMy4xNTIgRQotKGVuLSktLjE1IEUoaW5nIGNoYXJhY3RlcnMgZGVcMjE0bmluZyBhIG5lKTEwOCAxNzcuNiBRIDIuNSh3cyktLjI1IEcKKyhlbi0pLS4xNSBFKGluZyBjaGFyYWN0ZXJzIGRlXDIxNG5pbmcgYSBuZSkxMDggNTQyLjQgUSAyLjUod3MpLS4yNSBHCiAoZWFyY2ggc3RyaW5nLCBhbiktMi41IEUgMi41KHlyKS0uMTUgRyhlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyBpcyB1c2VkLikKIC0yLjUgRSAuNTY3KE5vbi1pbmNyZW1lbnRhbCBzZWFyY2hlcyByZWFkIHRoZSBlbnRpcmUgc2VhcmNoIHN0cmluZyBiZWZvXAotcmUgc3RhcnRpbmcgdG8gc2VhcmNoIGZvciBtYXRjaGluZyBoaXN0b3J5IGxpbmVzLikxMDggMTk0LjQgUihUaGUgc2VhcmNcCityZSBzdGFydGluZyB0byBzZWFyY2ggZm9yIG1hdGNoaW5nIGhpc3RvcnkgbGluZXMuKTEwOCA1NTkuMiBSKFRoZSBzZWFyY1wKIGggc3RyaW5nIG1heSBiZSB0eXBlZCBieSB0aGUgdXNlciBvciBiZSBwYXJ0IG9mIHRoZSBjb250ZW50cyBvZiB0aGUgY3VyXAotcmVudCBsaW5lLikxMDggMjA2LjQgUS9GMiAxMC9UaW1lcy1Cb2xkQDAgU0YoUmVhZGxpbmUgQ29tbWFuZCBOYW1lcyk4NwotMjIzLjIgUSBGMCAxLjM5MihUaGUgZm9sbG8pMTA4IDIzNS4yIFIgMS4zOTEKK3JlbnQgbGluZS4pMTA4IDU3MS4yIFEgRjEoUmVhZGxpbmUgQ29tbWFuZCBOYW1lcyk4NyA1ODggUSBGMCAxLjM5MgorKFRoZSBmb2xsbykxMDggNjAwIFIgMS4zOTEKICh3aW5nIGlzIGEgbGlzdCBvZiB0aGUgbmFtZXMgb2YgdGhlIGNvbW1hbmRzIGFuZCB0aGUgZGVmKS0uMjUgRiAxLjM5MQogKGF1bHQgayktLjEgRiAxLjY5MSAtLjE1KGV5IHMpLS4xIEggMS4zOTEoZXF1ZW5jZXMgdG8gd2hpY2ggdGhlKS4xNSBGCi0zLjg5MSh5YSktLjE1IEcocmUpLTMuODkxIEUgMi42MjEoYm91bmQuIENvbW1hbmQpMTA4IDI0Ny4yIFIgLjEyMQorMy44OTEoeWEpLS4xNSBHKHJlKS0zLjg5MSBFIDIuNjIxKGJvdW5kLiBDb21tYW5kKTEwOCA2MTIgUiAuMTIxCiAobmFtZXMgd2l0aG91dCBhbiBhY2NvbXBhbikyLjYyMSBGIC4xMjEoeWluZyBrKS0uMTUgRiAuNDIxIC0uMTUoZXkgcyktLjEKIEggLjEyMihlcXVlbmNlIGFyZSB1bmJvdW5kIGJ5IGRlZikuMTUgRiAyLjYyMihhdWx0LiBJbiktLjEgRiAuMTIyCi0odGhlIGZvbGxvKTIuNjIyIEYod2luZyktLjI1IEUoZGVzY3JpcHRpb25zLCkxMDggMjU5LjIgUSBGMShwb2ludCkzLjQxMQotRSBGMCAuOTExKHJlZmVycyB0byB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24sIGFuZCkzLjQxMSBGIEYxKG1hcmspCi0zLjQxMSBFIEYwIC45MShyZWZlcnMgdG8gYSBjdXJzb3IgcG9zaXRpb24gc2EpMy40MTEgRiAtLjE1KHZlKS0uMiBHIDMuNDEKLShkYikuMTUgRyAzLjQxKHl0KS0zLjQxIEcoaGUpLTMuNDEgRSBGMihzZXRcMjU1bWFyaykxMDggMjcxLjIgUSBGMCAyLjUKKyh0aGUgZm9sbG8pMi42MjIgRih3aW5nKS0uMjUgRShkZXNjcmlwdGlvbnMsKTEwOCA2MjQgUSBGMihwb2ludCkzLjQxMSBFCitGMCAuOTExKHJlZmVycyB0byB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24sIGFuZCkzLjQxMSBGIEYyKG1hcmspMy40MTEKK0UgRjAgLjkxKHJlZmVycyB0byBhIGN1cnNvciBwb3NpdGlvbiBzYSkzLjQxMSBGIC0uMTUodmUpLS4yIEcgMy40MShkYikKKy4xNSBHIDMuNDEoeXQpLTMuNDEgRyhoZSktMy40MSBFIEYxKHNldFwyNTVtYXJrKTEwOCA2MzYgUSBGMCAyLjUKIChjb21tYW5kLiBUaGUpMi41IEYodGUpMi41IEUKLSh4dCBiZXR3ZWVuIHRoZSBwb2ludCBhbmQgbWFyayBpcyByZWZlcnJlZCB0byBhcyB0aGUpLS4xNSBFIEYxIC0uMzcocmUpCi0yLjUgRyhnaW9uKS0uMDMgRSBGMCguKUEgRjIoQ29tbWFuZHMgZik4NyAyODggUShvciBNbyktLjI1IEUodmluZyktLjEgRQotKGJlZ2lubmluZ1wyNTVvZlwyNTVsaW5lIFwoQ1wyNTVhXCkpMTA4IDMwMCBRIEYwKE1vKTE0NCAzMTIgUSAuMyAtLjE1Ci0odmUgdCktLjE1IEggMi41KG90KS4xNSBHKGhlIHN0YXJ0IG9mIHRoZSBjdXJyZW50IGxpbmUuKS0yLjUgRSBGMgotKGVuZFwyNTVvZlwyNTVsaW5lIFwoQ1wyNTVlXCkpMTA4IDMyNCBRIEYwKE1vKTE0NCAzMzYgUSAuMyAtLjE1KHZlIHQpCi0tLjE1IEggMi41KG90KS4xNSBHKGhlIGVuZCBvZiB0aGUgbGluZS4pLTIuNSBFIEYyIC0uMjUoZm8pMTA4IDM0OCBTCi0ocndhcmRcMjU1Y2hhciBcKENcMjU1ZlwpKS4yNSBFIEYwKE1vKTE0NCAzNjAgUSAuMyAtLjE1KHZlIGYpLS4xNSBIKG9ydykKLS4xNSBFKGFyZCBhIGNoYXJhY3RlciktLjEgRSguKS0uNTUgRSBGMihiYWNrd2FyZFwyNTVjaGFyIFwoQ1wyNTViXCkpMTA4Ci0zNzIgUSBGMChNbykxNDQgMzg0IFEgLjMgLS4xNSh2ZSBiKS0uMTUgSChhY2sgYSBjaGFyYWN0ZXIpLjE1IEUoLiktLjU1IEUKLUYyIC0uMjUoZm8pMTA4IDM5NiBTKHJ3YXJkXDI1NXcpLjI1IEUob3JkIFwoTVwyNTVmXCkpLS4xIEUgRjAoTW8pMTQ0IDQwOAotUSAuODIyIC0uMTUodmUgZiktLjE1IEgob3J3KS4xNSBFIC41MjIoYXJkIHRvIHRoZSBlbmQgb2YgdGhlIG5lKS0uMSBGCi0uNTIzKHh0IHcpLS4xNSBGIDMuMDIzKG9yZC4gVyktLjEgRiAuNTIzCi0ob3JkcyBhcmUgY29tcG9zZWQgb2YgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgXChsZXQtKS0uOCBGCi0odGVycyBhbmQgZGlnaXRzXCkuKTE0NCA0MjAgUSBGMihiYWNrd2FyZFwyNTV3KTEwOCA0MzIgUShvcmQgXChNXDI1NWJcKSkKLS0uMSBFIEYwKE1vKTE0NCA0NDQgUSAxLjcxIC0uMTUodmUgYiktLjE1IEggMS40MQotKGFjayB0byB0aGUgc3RhcnQgb2YgdGhlIGN1cnJlbnQgb3IgcHJlKS4xNSBGIDEuNDEodmlvdXMgdyktLjI1IEYgMy45MQotKG9yZC4gVyktLjEgRiAxLjQxKG9yZHMgYXJlIGNvbXBvc2VkIG9mIGFscGhhbnVtZXJpYyktLjggRgotKGNoYXJhY3RlcnMgXChsZXR0ZXJzIGFuZCBkaWdpdHNcKS4pMTQ0IDQ1NiBRIEYyKHNoZWxsXDI1NWYpMTA4IDQ2OCBRCi0ob3J3YXJkXDI1NXcpLS4yNSBFKG9yZCktLjEgRSBGMChNbykxNDQgNDgwIFEgLjc4NCAtLjE1KHZlIGYpLS4xNSBIKG9ydykKLS4xNSBFIC40ODQoYXJkIHRvIHRoZSBlbmQgb2YgdGhlIG5lKS0uMSBGIC40ODQoeHQgdyktLjE1IEYgMi45ODQob3JkLiBXKQotLS4xIEYgLjQ4NChvcmRzIGFyZSBkZWxpbWl0ZWQgYnkgbm9uLXF1b3RlZCBzaGVsbCBtZXRhY2hhcmFjLSktLjggRgotKHRlcnMuKTE0NCA0OTIgUSBGMihzaGVsbFwyNTViYWNrd2FyZFwyNTV3KTEwOCA1MDQgUShvcmQpLS4xIEUgRjAoTW8pMTQ0Ci01MTYgUSAuOTA5IC0uMTUodmUgYiktLjE1IEggLjYwOShhY2sgdG8gdGhlIHN0YXJ0IG9mIHRoZSBjdXJyZW50IG9yIHByZSkKLS4xNSBGIC42MDkodmlvdXMgdyktLjI1IEYgMy4xMDkob3JkLiBXKS0uMSBGIC42MDgKLShvcmRzIGFyZSBkZWxpbWl0ZWQgYnkgbm9uLXF1b3RlZCBzaGVsbCktLjggRihtZXRhY2hhcmFjdGVycy4pMTQ0IDUyOCBRCi1GMihjbGVhclwyNTVzY3IpMTA4IDU0MCBRKGVlbiBcKENcMjU1bFwpKS0uMTggRSBGMCAuOTkzCi0oQ2xlYXIgdGhlIHNjcmVlbiBsZWEpMTQ0IDU1MiBSIC45OTMKLSh2aW5nIHRoZSBjdXJyZW50IGxpbmUgYXQgdGhlIHRvcCBvZiB0aGUgc2NyZWVuLiktLjIgRiAtLjQoV2kpNS45OTMgRwotLjk5Myh0aCBhbiBhcikuNCBGIC45OTMoZ3VtZW50LCByZWZyZXNoIHRoZSktLjE4IEYKLShjdXJyZW50IGxpbmUgd2l0aG91dCBjbGVhcmluZyB0aGUgc2NyZWVuLikxNDQgNTY0IFEgRjIgLS4xOChyZSkxMDggNTc2Ci1TKGRyYXdcMjU1Y3VycikuMTggRShlbnRcMjU1bGluZSktLjE4IEUgRjAoUmVmcmVzaCB0aGUgY3VycmVudCBsaW5lLikxNDQKLTU4OCBRIEYyKENvbW1hbmRzIGYpODcgNjA0LjggUShvciBNYW5pcHVsYXRpbmcgdGhlIEhpc3RvcnkpLS4yNSBFCi0oYWNjZXB0XDI1NWxpbmUgXChOZXdsaW5lLCBSZXR1cikxMDggNjE2LjggUShuXCkpLS4xNSBFIEYwIC4xNTkKLShBY2NlcHQgdGhlIGxpbmUgcmUpMTQ0IDYyOC44IFIgLS4wNShnYSktLjE1IEcgLjE1OQotKHJkbGVzcyBvZiB3aGVyZSB0aGUgY3Vyc29yIGlzLikuMDUgRiAuMTU4KElmIHRoaXMgbGluZSBpcyBub24tZW1wdHkpCi01LjE1OCBGIDIuNjU4KCxhKS0uNjUgRyAuMTU4KGRkIGl0IHRvIHRoZSBoaXN0b3J5IGxpc3QpLTIuNjU4IEYgLjY5OQotKGFjY29yZGluZyB0byB0aGUgc3RhdGUgb2YgdGhlKTE0NCA2NDAuOCBSL0YzIDkvVGltZXMtQm9sZEAwIFNGCi0oSElTVENPTlRSKTMuMTk5IEUoT0wpLS4yNyBFIEYwIC0uMjUodmEpMi45NDkgRyAzLjE5OShyaWFibGUuIElmKS4yNSBGCi0uNjk5KHRoZSBsaW5lIGlzIGEgbW9kaVwyMTRlZCBoaXN0b3J5IGxpbmUsIHRoZW4pMy4xOTkgRgotKHJlc3RvcmUgdGhlIGhpc3RvcnkgbGluZSB0byBpdHMgb3JpZ2luYWwgc3RhdGUuKTE0NCA2NTIuOCBRIEYyKHByKTEwOAotNjY0LjggUSAtLjE1KGV2KS0uMTggRyhpb3VzXDI1NWhpc3RvcnkgXChDXDI1NXBcKSkuMTUgRSBGMAotKEZldGNoIHRoZSBwcmUpMTQ0IDY3Ni44IFEodmlvdXMgY29tbWFuZCBmcm9tIHRoZSBoaXN0b3J5IGxpc3QsIG1vKS0uMjUKLUUodmluZyBiYWNrIGluIHRoZSBsaXN0LiktLjE1IEUgRjIobmV4dFwyNTVoaXN0b3J5IFwoQ1wyNTVuXCkpMTA4IDY4OC44Ci1RIEYwKEZldGNoIHRoZSBuZSkxNDQgNzAwLjggUSh4dCBjb21tYW5kIGZyb20gdGhlIGhpc3RvcnkgbGlzdCwgbW8pLS4xNQotRSh2aW5nIGZvcncpLS4xNSBFKGFyZCBpbiB0aGUgbGlzdC4pLS4xIEUoR05VIEJhc2gtNC4wKTcyIDc2OCBRCi0oMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFKDM4KTE5MC45NSBFIDAgQ2cgRVAKKyh4dCBiZXR3ZWVuIHRoZSBwb2ludCBhbmQgbWFyayBpcyByZWZlcnJlZCB0byBhcyB0aGUpLS4xNSBFIEYyIC0uMzcocmUpCisyLjUgRyhnaW9uKS0uMDMgRSBGMCguKUEgRjEoQ29tbWFuZHMgZik4NyA2NTIuOCBRKG9yIE1vKS0uMjUgRSh2aW5nKS0uMQorRShiZWdpbm5pbmdcMjU1b2ZcMjU1bGluZSBcKENcMjU1YVwpKTEwOCA2NjQuOCBRIEYwKE1vKTE0NCA2NzYuOCBRIC4zCistLjE1KHZlIHQpLS4xNSBIIDIuNShvdCkuMTUgRyhoZSBzdGFydCBvZiB0aGUgY3VycmVudCBsaW5lLiktMi41IEUgRjEKKyhlbmRcMjU1b2ZcMjU1bGluZSBcKENcMjU1ZVwpKTEwOCA2ODguOCBRIEYwKE1vKTE0NCA3MDAuOCBRIC4zIC0uMTUKKyh2ZSB0KS0uMTUgSCAyLjUob3QpLjE1IEcoaGUgZW5kIG9mIHRoZSBsaW5lLiktMi41IEUoR05VIEJhc2gtNC4xKTcyIDc2OAorUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgzOCkxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiAzOSAzOQogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoYmVnaW5uaW5nXDI1NW9mXDI1NWhpc3RvcnkgXChNXDI1NTxcKSkxMDgKLTg0IFEgRjAoTW8pMTQ0IDk2IFEgLjMgLS4xNSh2ZSB0KS0uMTUgSCAyLjUob3QpLjE1IEcKLShoZSBcMjE0cnN0IGxpbmUgaW4gdGhlIGhpc3RvcnkpLTIuNSBFKC4pLS42NSBFIEYxCi0oZW5kXDI1NW9mXDI1NWhpc3RvcnkgXChNXDI1NT5cKSkxMDggMTA4IFEgRjAoTW8pMTQ0IDEyMCBRIC4zIC0uMTUodmUgdCkKLS0uMTUgSCAyLjUob3QpLjE1IEcoaGUgZW5kIG9mIHRoZSBpbnB1dCBoaXN0b3J5KS0yLjUgRSAyLjUoLGkpLS42NSBHCi0oLmUuLCB0aGUgbGluZSBjdXJyZW50bHkgYmVpbmcgZW50ZXJlZC4pLTIuNSBFIEYxIC0yLjI5IC0uMTgocmUgdikxMDgKLTEzMiBUKGVyc2VcMjU1c2VhcikuMDggRShjaFwyNTVoaXN0b3J5IFwoQ1wyNTVyXCkpLS4xOCBFIEYwIDEuNDcxCi0oU2VhcmNoIGJhY2t3KTE0NCAxNDQgUiAxLjQ3MShhcmQgc3RhcnRpbmcgYXQgdGhlIGN1cnJlbnQgbGluZSBhbmQgbW8pCi0tLjEgRiAxLjQ3KHZpbmcgYHVwJyB0aHJvdWdoIHRoZSBoaXN0b3J5IGFzIG5lY2Vzc2FyeSktLjE1IEYoLiktLjY1IEUKLShUaGlzIGlzIGFuIGluY3JlbWVudGFsIHNlYXJjaC4pMTQ0IDE1NiBRIEYxIC0uMjUoZm8pMTA4IDE2OCBTCistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGIC0uMjUoZm8pMTA4IDg0IFMocndhcmRcMjU1Y2hhciBcKENcMjU1ZlwpKQorLjI1IEUgRjAoTW8pMTQ0IDk2IFEgLjMgLS4xNSh2ZSBmKS0uMTUgSChvcncpLjE1IEUoYXJkIGEgY2hhcmFjdGVyKS0uMSBFCisoLiktLjU1IEUgRjEoYmFja3dhcmRcMjU1Y2hhciBcKENcMjU1YlwpKTEwOCAxMDggUSBGMChNbykxNDQgMTIwIFEgLjMKKy0uMTUodmUgYiktLjE1IEgoYWNrIGEgY2hhcmFjdGVyKS4xNSBFKC4pLS41NSBFIEYxIC0uMjUoZm8pMTA4IDEzMiBTCisocndhcmRcMjU1dykuMjUgRShvcmQgXChNXDI1NWZcKSktLjEgRSBGMChNbykxNDQgMTQ0IFEgLjgyMiAtLjE1KHZlIGYpCistLjE1IEgob3J3KS4xNSBFIC41MjIoYXJkIHRvIHRoZSBlbmQgb2YgdGhlIG5lKS0uMSBGIC41MjMoeHQgdyktLjE1IEYKKzMuMDIzKG9yZC4gVyktLjEgRiAuNTIzCisob3JkcyBhcmUgY29tcG9zZWQgb2YgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgXChsZXQtKS0uOCBGCisodGVycyBhbmQgZGlnaXRzXCkuKTE0NCAxNTYgUSBGMShiYWNrd2FyZFwyNTV3KTEwOCAxNjggUShvcmQgXChNXDI1NWJcKSkKKy0uMSBFIEYwKE1vKTE0NCAxODAgUSAxLjcxIC0uMTUodmUgYiktLjE1IEggMS40MQorKGFjayB0byB0aGUgc3RhcnQgb2YgdGhlIGN1cnJlbnQgb3IgcHJlKS4xNSBGIDEuNDEodmlvdXMgdyktLjI1IEYgMy45MQorKG9yZC4gVyktLjEgRiAxLjQxKG9yZHMgYXJlIGNvbXBvc2VkIG9mIGFscGhhbnVtZXJpYyktLjggRgorKGNoYXJhY3RlcnMgXChsZXR0ZXJzIGFuZCBkaWdpdHNcKS4pMTQ0IDE5MiBRIEYxKHNoZWxsXDI1NWYpMTA4IDIwNCBRCisob3J3YXJkXDI1NXcpLS4yNSBFKG9yZCktLjEgRSBGMChNbykxNDQgMjE2IFEgLjc4NCAtLjE1KHZlIGYpLS4xNSBIKG9ydykKKy4xNSBFIC40ODQoYXJkIHRvIHRoZSBlbmQgb2YgdGhlIG5lKS0uMSBGIC40ODQoeHQgdyktLjE1IEYgMi45ODQob3JkLiBXKQorLS4xIEYgLjQ4NChvcmRzIGFyZSBkZWxpbWl0ZWQgYnkgbm9uLXF1b3RlZCBzaGVsbCBtZXRhY2hhcmFjLSktLjggRgorKHRlcnMuKTE0NCAyMjggUSBGMShzaGVsbFwyNTViYWNrd2FyZFwyNTV3KTEwOCAyNDAgUShvcmQpLS4xIEUgRjAoTW8pMTQ0CisyNTIgUSAuOTA5IC0uMTUodmUgYiktLjE1IEggLjYwOShhY2sgdG8gdGhlIHN0YXJ0IG9mIHRoZSBjdXJyZW50IG9yIHByZSkKKy4xNSBGIC42MDkodmlvdXMgdyktLjI1IEYgMy4xMDkob3JkLiBXKS0uMSBGIC42MDgKKyhvcmRzIGFyZSBkZWxpbWl0ZWQgYnkgbm9uLXF1b3RlZCBzaGVsbCktLjggRihtZXRhY2hhcmFjdGVycy4pMTQ0IDI2NCBRCitGMShjbGVhclwyNTVzY3IpMTA4IDI3NiBRKGVlbiBcKENcMjU1bFwpKS0uMTggRSBGMCAuOTkzCisoQ2xlYXIgdGhlIHNjcmVlbiBsZWEpMTQ0IDI4OCBSIC45OTMKKyh2aW5nIHRoZSBjdXJyZW50IGxpbmUgYXQgdGhlIHRvcCBvZiB0aGUgc2NyZWVuLiktLjIgRiAtLjQoV2kpNS45OTMgRworLjk5Myh0aCBhbiBhcikuNCBGIC45OTMoZ3VtZW50LCByZWZyZXNoIHRoZSktLjE4IEYKKyhjdXJyZW50IGxpbmUgd2l0aG91dCBjbGVhcmluZyB0aGUgc2NyZWVuLikxNDQgMzAwIFEgRjEgLS4xOChyZSkxMDggMzEyCitTKGRyYXdcMjU1Y3VycikuMTggRShlbnRcMjU1bGluZSktLjE4IEUgRjAoUmVmcmVzaCB0aGUgY3VycmVudCBsaW5lLikxNDQKKzMyNCBRIEYxKENvbW1hbmRzIGYpODcgMzQwLjggUShvciBNYW5pcHVsYXRpbmcgdGhlIEhpc3RvcnkpLS4yNSBFCisoYWNjZXB0XDI1NWxpbmUgXChOZXdsaW5lLCBSZXR1cikxMDggMzUyLjggUShuXCkpLS4xNSBFIEYwIC4xNTkKKyhBY2NlcHQgdGhlIGxpbmUgcmUpMTQ0IDM2NC44IFIgLS4wNShnYSktLjE1IEcgLjE1OQorKHJkbGVzcyBvZiB3aGVyZSB0aGUgY3Vyc29yIGlzLikuMDUgRiAuMTU4KElmIHRoaXMgbGluZSBpcyBub24tZW1wdHkpCis1LjE1OCBGIDIuNjU4KCxhKS0uNjUgRyAuMTU4KGRkIGl0IHRvIHRoZSBoaXN0b3J5IGxpc3QpLTIuNjU4IEYgLjY5OQorKGFjY29yZGluZyB0byB0aGUgc3RhdGUgb2YgdGhlKTE0NCAzNzYuOCBSL0YyIDkvVGltZXMtQm9sZEAwIFNGCisoSElTVENPTlRSKTMuMTk5IEUoT0wpLS4yNyBFIEYwIC0uMjUodmEpMi45NDkgRyAzLjE5OShyaWFibGUuIElmKS4yNSBGCisuNjk5KHRoZSBsaW5lIGlzIGEgbW9kaVwyMTRlZCBoaXN0b3J5IGxpbmUsIHRoZW4pMy4xOTkgRgorKHJlc3RvcmUgdGhlIGhpc3RvcnkgbGluZSB0byBpdHMgb3JpZ2luYWwgc3RhdGUuKTE0NCAzODguOCBRIEYxKHByKTEwOAorNDAwLjggUSAtLjE1KGV2KS0uMTggRyhpb3VzXDI1NWhpc3RvcnkgXChDXDI1NXBcKSkuMTUgRSBGMAorKEZldGNoIHRoZSBwcmUpMTQ0IDQxMi44IFEodmlvdXMgY29tbWFuZCBmcm9tIHRoZSBoaXN0b3J5IGxpc3QsIG1vKS0uMjUKK0UodmluZyBiYWNrIGluIHRoZSBsaXN0LiktLjE1IEUgRjEobmV4dFwyNTVoaXN0b3J5IFwoQ1wyNTVuXCkpMTA4IDQyNC44CitRIEYwKEZldGNoIHRoZSBuZSkxNDQgNDM2LjggUSh4dCBjb21tYW5kIGZyb20gdGhlIGhpc3RvcnkgbGlzdCwgbW8pLS4xNQorRSh2aW5nIGZvcncpLS4xNSBFKGFyZCBpbiB0aGUgbGlzdC4pLS4xIEUgRjEKKyhiZWdpbm5pbmdcMjU1b2ZcMjU1aGlzdG9yeSBcKE1cMjU1PFwpKTEwOCA0NDguOCBRIEYwKE1vKTE0NCA0NjAuOCBRIC4zCistLjE1KHZlIHQpLS4xNSBIIDIuNShvdCkuMTUgRyhoZSBcMjE0cnN0IGxpbmUgaW4gdGhlIGhpc3RvcnkpLTIuNSBFKC4pCistLjY1IEUgRjEoZW5kXDI1NW9mXDI1NWhpc3RvcnkgXChNXDI1NT5cKSkxMDggNDcyLjggUSBGMChNbykxNDQgNDg0LjggUQorLjMgLS4xNSh2ZSB0KS0uMTUgSCAyLjUob3QpLjE1IEcoaGUgZW5kIG9mIHRoZSBpbnB1dCBoaXN0b3J5KS0yLjUgRSAyLjUKKygsaSktLjY1IEcoLmUuLCB0aGUgbGluZSBjdXJyZW50bHkgYmVpbmcgZW50ZXJlZC4pLTIuNSBFIEYxIC0yLjI5IC0uMTgKKyhyZSB2KTEwOCA0OTYuOCBUKGVyc2VcMjU1c2VhcikuMDggRShjaFwyNTVoaXN0b3J5IFwoQ1wyNTVyXCkpLS4xOCBFIEYwCisxLjQ3MShTZWFyY2ggYmFja3cpMTQ0IDUwOC44IFIgMS40NzEKKyhhcmQgc3RhcnRpbmcgYXQgdGhlIGN1cnJlbnQgbGluZSBhbmQgbW8pLS4xIEYgMS40NworKHZpbmcgYHVwJyB0aHJvdWdoIHRoZSBoaXN0b3J5IGFzIG5lY2Vzc2FyeSktLjE1IEYoLiktLjY1IEUKKyhUaGlzIGlzIGFuIGluY3JlbWVudGFsIHNlYXJjaC4pMTQ0IDUyMC44IFEgRjEgLS4yNShmbykxMDggNTMyLjggUwogKHJ3YXJkXDI1NXNlYXIpLjI1IEUoY2hcMjU1aGlzdG9yeSBcKENcMjU1c1wpKS0uMTggRSBGMCAxLjEzMQotKFNlYXJjaCBmb3J3KTE0NCAxODAgUiAxLjEzMShhcmQgc3RhcnRpbmcgYXQgdGhlIGN1cnJlbnQgbGluZSBhbmQgbW8pLS4xCi1GIDEuMTMyKHZpbmcgYGRvKS0uMTUgRiAxLjEzMih3bicgdGhyb3VnaCB0aGUgaGlzdG9yeSBhcyBuZWNlc3NhcnkpLS4yNQotRiguKS0uNjUgRShUaGlzIGlzIGFuIGluY3JlbWVudGFsIHNlYXJjaC4pMTQ0IDE5MiBRIEYxKG5vblwyNTVpbmNyKTEwOAotMjA0IFEoZW1lbnRhbFwyNTVyKS0uMTggRSAtMi4zIC0uMTUoZXYgZSktLjE4IEgocnNlXDI1NXNlYXIpLjE1IEUKLShjaFwyNTVoaXN0b3J5IFwoTVwyNTVwXCkpLS4xOCBFIEYwIC4xNjUoU2VhcmNoIGJhY2t3KTE0NCAyMTYgUiAuMTY0KGFyXAotZCB0aHJvdWdoIHRoZSBoaXN0b3J5IHN0YXJ0aW5nIGF0IHRoZSBjdXJyZW50IGxpbmUgdXNpbmcgYSBub24taW5jcmVtZW5cCi10YWwgc2VhcmNoIGZvciktLjEgRiAyLjUoYXMpMTQ0IDIyOCBTKHRyaW5nIHN1cHBsaWVkIGJ5IHRoZSB1c2VyKS0yLjUgRQotKC4pLS41NSBFIEYxKG5vblwyNTVpbmNyKTEwOCAyNDAgUShlbWVudGFsXDI1NWYpLS4xOCBFKG9yd2FyZFwyNTVzZWFyKQotLS4yNSBFKGNoXDI1NWhpc3RvcnkgXChNXDI1NW5cKSktLjE4IEUgRjAgMS4zNTMoU2VhcmNoIGZvcncpMTQ0IDI1MiBSCi0xLjM1NChhcmQgdGhyb3VnaCB0aGUgaGlzdG9yeSB1c2luZyBhIG5vbi1pbmNyZW1lbnRhbCBzZWFyY2ggZm9yIGEgc3RyaVwKLW5nIHN1cHBsaWVkIGJ5IHRoZSktLjEgRih1c2VyKTE0NCAyNjQgUSguKS0uNTUgRSBGMShoaXN0b3J5XDI1NXNlYXIpMTA4Ci0yNzYgUShjaFwyNTVmKS0uMTggRShvcndhcmQpLS4yNSBFIEYwIC4yNDkoU2VhcmNoIGZvcncpMTQ0IDI4OCBSIC4yNDkoYVwKLXJkIHRocm91Z2ggdGhlIGhpc3RvcnkgZm9yIHRoZSBzdHJpbmcgb2YgY2hhcmFjdGVycyBiZXR3ZWVuIHRoZSBzdGFydCBvXAotZiB0aGUgY3VycmVudCBsaW5lKS0uMSBGKGFuZCB0aGUgcG9pbnQuKTE0NCAzMDAgUQotKFRoaXMgaXMgYSBub24taW5jcmVtZW50YWwgc2VhcmNoLik1IEUgRjEoaGlzdG9yeVwyNTVzZWFyKTEwOCAzMTIgUQotKGNoXDI1NWJhY2t3YXJkKS0uMTggRSBGMCAuOTUoU2VhcmNoIGJhY2t3KTE0NCAzMjQgUiAuOTUxKGFyZCB0aHJvdWdoIHRcCi1oZSBoaXN0b3J5IGZvciB0aGUgc3RyaW5nIG9mIGNoYXJhY3RlcnMgYmV0d2VlbiB0aGUgc3RhcnQgb2YgdGhlIGN1cnJlblwKLXQpLS4xIEYobGluZSBhbmQgdGhlIHBvaW50LikxNDQgMzM2IFEoVGhpcyBpcyBhIG5vbi1pbmNyZW1lbnRhbCBzZWFyY2guKQotNSBFIEYxKHlhbmtcMjU1bnRoXDI1NWFyKTEwOCAzNDggUSAyLjUoZ1woKS0uMSBHPDRkYWQ0M2FkNzkyOT4tMi41IEUgRjAKLS42MjIoSW5zZXJ0IHRoZSBcMjE0cnN0IGFyKTE0NCAzNjAgUiAuNjIyKGd1bWVudCB0byB0aGUgcHJlKS0uMTggRiAuNjIyCi0odmlvdXMgY29tbWFuZCBcKHVzdWFsbHkgdGhlIHNlY29uZCB3KS0uMjUgRiAuNjIyKG9yZCBvbiB0aGUgcHJlKS0uMSBGCi0uNjIyKHZpb3VzIGxpbmVcKSktLjI1IEYgLjc5NChhdCBwb2ludC4pMTQ0IDM3MiBSIC0uNChXaSk1Ljc5NCBHIC43OTQKLSh0aCBhbiBhcikuNCBGKGd1bWVudCktLjE4IEUvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YobikzLjI5NCBFIEYwIDMuMjk0Ci0oLGkpLjI0IEcgLjc5NChuc2VydCB0aGUpLTMuMjk0IEYgRjIobikzLjI5NCBFIEYwIC43OTQodGggdylCIC43OTQKLShvcmQgZnJvbSB0aGUgcHJlKS0uMSBGIC43OTQodmlvdXMgY29tbWFuZCBcKHRoZSB3KS0uMjUgRiAuNzk1Ci0ob3JkcyBpbiB0aGUpLS4xIEYocHJlKTE0NCAzODQgUSAuMjkyKHZpb3VzIGNvbW1hbmQgYmUpLS4yNSBGIC4yOTIKLShnaW4gd2l0aCB3KS0uMTUgRiAuMjkxKG9yZCAwXCkuKS0uMSBGIDIuNzkxKEFuKTUuMjkxIEcgLTIuMjUgLS4xNShlZyBhKQotLTIuNzkxIEgodGkpLjE1IEUgLjU5MSAtLjE1KHZlIGEpLS4yNSBIIC0uMTgocmcpLjE1IEcgLjI5MQotKHVtZW50IGluc2VydHMgdGhlKS4xOCBGIEYyKG4pMi43OTEgRSBGMCAuMjkxKHRoIHcpQiAuMjkxCi0ob3JkIGZyb20gdGhlIGVuZCBvZiktLjEgRiAuMjgxKHRoZSBwcmUpMTQ0IDM5NiBSIC4yODEodmlvdXMgY29tbWFuZC4pCi0tLjI1IEYgLjI4MShPbmNlIHRoZSBhcik1LjI4MSBGKGd1bWVudCktLjE4IEUgRjIobikyLjc4MSBFIEYwIC4yODEKLShpcyBjb21wdXRlZCwgdGhlIGFyKTIuNzgxIEYgLjI4MShndW1lbnQgaXMgZSktLjE4IEYgLjI4MgotKHh0cmFjdGVkIGFzIGlmIHRoZSAiISktLjE1IEYgRjIobilBIEYwKCIpQShoaXN0b3J5IGUpMTQ0IDQwOCBRCi0oeHBhbnNpb24gaGFkIGJlZW4gc3BlY2lcMjE0ZWQuKS0uMTUgRSBGMSh5YW5rXDI1NWxhc3RcMjU1YXIpMTA4IDQyMCBRCi0yLjUoZ1woKS0uMSBHIC0xLjY2NyhNXDI1NS4gLCktMi41IEYgLTEuNjY3KE1cMjU1XyBcKSkyLjUgRiBGMCAxLjMwOAotKEluc2VydCB0aGUgbGFzdCBhcikxNDQgNDMyIFIgMS4zMDgoZ3VtZW50IHRvIHRoZSBwcmUpLS4xOCBGIDEuMzA3Ci0odmlvdXMgY29tbWFuZCBcKHRoZSBsYXN0IHcpLS4yNSBGIDEuMzA3KG9yZCBvZiB0aGUgcHJlKS0uMSBGIDEuMzA3Ci0odmlvdXMgaGlzdG9yeSBlbnRyeVwpLiktLjI1IEYgLS40KFdpKTE0NCA0NDQgUyAuNzM1KHRoIGFuIGFyKS40IEYgLjczNQotKGd1bWVudCwgYmVoYSktLjE4IEYgMS4wMzUgLS4xNSh2ZSBleCktLjIgSCAuNzM1KGFjdGx5IGxpaykuMTUgRihlKS0uMSBFCi1GMSh5YW5rXDI1NW50aFwyNTVhcikzLjIzNSBFKGcpLS4xIEUgRjAgNS43MzYoLlMpQyh1Y2Nlc3NpKS01LjczNiBFCi0xLjAzNiAtLjE1KHZlIGMpLS4yNSBIIC43MzYoYWxscyB0bykuMTUgRiBGMSh5YW5rXDI1NWxhc3RcMjU1YXIpMy4yMzYgRQotKGcpLS4xIEUgRjAobW8pMy4yMzYgRSAtLjE1KHZlKS0uMTUgRyAuNzI4Ci0oYmFjayB0aHJvdWdoIHRoZSBoaXN0b3J5IGxpc3QsIGluc2VydGluZyB0aGUgbGFzdCBhcikxNDQgNDU2IFIgLjcyOAotKGd1bWVudCBvZiBlYWNoIGxpbmUgaW4gdHVybi4pLS4xOCBGIC43MjgoVGhlIGhpc3RvcnkgZSk1LjcyOCBGKHhwYW4tKQotLS4xNSBFIC4xNChzaW9uIGYpMTQ0IDQ2OCBSIC4xNChhY2lsaXRpZXMgYXJlIHVzZWQgdG8gZSktLjEgRiAuMTQKLSh4dHJhY3QgdGhlIGxhc3QgYXIpLS4xNSBGIC4xNChndW1lbnQsIGFzIGlmIHRoZSAiISQiIGhpc3RvcnkgZSktLjE4IEYKLS4xNCh4cGFuc2lvbiBoYWQgYmVlbiBzcGVjaS0pLS4xNSBGKFwyMTRlZC4pMTQ0IDQ4MCBRIEYxCi0oc2hlbGxcMjU1ZXhwYW5kXDI1NWxpbmUgXChNXDI1NUNcMjU1ZVwpKTEwOCA0OTIgUSBGMCAuNjIzCi0oRXhwYW5kIHRoZSBsaW5lIGFzIHRoZSBzaGVsbCBkb2VzLikxNDQgNTA0IFIgLjYyMgotKFRoaXMgcGVyZm9ybXMgYWxpYXMgYW5kIGhpc3RvcnkgZSk1LjYyMiBGIC42MjIKLSh4cGFuc2lvbiBhcyB3ZWxsIGFzIGFsbCBvZiB0aGUpLS4xNSBGKHNoZWxsIHcpMTQ0IDUxNiBRKG9yZCBlKS0uMSBFIDIuNQotKHhwYW5zaW9ucy4gU2VlKS0uMTUgRi9GMyA5L1RpbWVzLUJvbGRAMCBTRihISVNUKTIuNSBFKE9SKS0uMTYyIEUgMi4yNQotKFlFKS0uMzE1IEcoWFApLTIuMjUgRShBTlNJT04pLS42NjYgRSBGMChiZWxvKTIuMjUgRSAyLjUod2YpLS4yNSBHCi0ob3IgYSBkZXNjcmlwdGlvbiBvZiBoaXN0b3J5IGUpLTIuNSBFKHhwYW5zaW9uLiktLjE1IEUgRjEKLShoaXN0b3J5XDI1NWV4cGFuZFwyNTVsaW5lIFwoTVwyNTVeXCkpMTA4IDUyOCBRIEYwIC45MzgKLShQZXJmb3JtIGhpc3RvcnkgZSkxNDQgNTQwIFIgLjkzOSh4cGFuc2lvbiBvbiB0aGUgY3VycmVudCBsaW5lLiktLjE1IEYKLShTZWUpNS45MzkgRSBGMyhISVNUKTMuNDM5IEUoT1IpLS4xNjIgRSAzLjE4OShZRSktLjMxNSBHKFhQKS0zLjE4OSBFCi0oQU5TSU9OKS0uNjY2IEUgRjAoYmVsbykzLjE4OSBFIDMuNDM5KHdmKS0uMjUgRyAuOTM5KG9yIGEgZGVzY3JpcC0pCi0tMy40MzkgRih0aW9uIG9mIGhpc3RvcnkgZSkxNDQgNTUyIFEoeHBhbnNpb24uKS0uMTUgRSBGMShtYWdpY1wyNTVzcGFjZSkKLTEwOCA1NjQgUSBGMCAxLjYyNyhQZXJmb3JtIGhpc3RvcnkgZSkxNDQgNTc2IFIgMS42MjcKLSh4cGFuc2lvbiBvbiB0aGUgY3VycmVudCBsaW5lIGFuZCBpbnNlcnQgYSBzcGFjZS4pLS4xNSBGKFNlZSk2LjYyNiBFIEYzCi0oSElTVCk0LjEyNiBFKE9SKS0uMTYyIEUgMy44NzYoWUUpLS4zMTUgRyhYUCktMy44NzYgRShBTlNJT04pLS42NjYgRSBGMAotKGJlbG8pMTQ0IDU4OCBRIDIuNSh3ZiktLjI1IEcob3IgYSBkZXNjcmlwdGlvbiBvZiBoaXN0b3J5IGUpLTIuNSBFCi0oeHBhbnNpb24uKS0uMTUgRSBGMShhbGlhc1wyNTVleHBhbmRcMjU1bGluZSkxMDggNjAwIFEgRjAgLjM5NAotKFBlcmZvcm0gYWxpYXMgZSkxNDQgNjEyIFIgLjM5NCh4cGFuc2lvbiBvbiB0aGUgY3VycmVudCBsaW5lLiktLjE1IEYKLShTZWUpNS4zOTUgRSBGMyhBTElBU0VTKTIuODk1IEUgRjAoYWJvKTIuNjQ1IEUgLjY5NSAtLjE1KHZlIGYpLS4xNSBICi0uMzk1KG9yIGEgZGVzY3JpcHRpb24gb2YgYWxpYXMgZSkuMTUgRih4cGFuLSktLjE1IEUoc2lvbi4pMTQ0IDYyNCBRIEYxCi0oaGlzdG9yeVwyNTVhbmRcMjU1YWxpYXNcMjU1ZXhwYW5kXDI1NWxpbmUpMTA4IDYzNiBRIEYwCi0oUGVyZm9ybSBoaXN0b3J5IGFuZCBhbGlhcyBlKTE0NCA2NDggUSh4cGFuc2lvbiBvbiB0aGUgY3VycmVudCBsaW5lLikKLS0uMTUgRSBGMShpbnNlcnRcMjU1bGFzdFwyNTVhcikxMDggNjYwIFEoZ3VtZW50IFwoTVwyNTUuKS0uMSBFIDIuNSgsTSkKLS44MzMgRyAtMS42NjcoXDI1NV8gXCkpLTIuNSBGIEYwIDIuNShBcykxNDQgNjcyIFMoeW5vbiktMi41IEUoeW0gZm9yKQotLS4xNSBFIEYxKHlhbmtcMjU1bGFzdFwyNTVhcikyLjUgRShnKS0uMSBFIEYwKC4pQSBGMQotKG9wZXJhdGVcMjU1YW5kXDI1NWdldFwyNTVuZXh0IFwoQ1wyNTVvXCkpMTA4IDY4NCBRIEYwIC45NDgKLShBY2NlcHQgdGhlIGN1cnJlbnQgbGluZSBmb3IgZSkxNDQgNjk2IFIgLS4xNSh4ZSktLjE1IEcgLjk0OAotKGN1dGlvbiBhbmQgZmV0Y2ggdGhlIG5lKS4xNSBGIC45NDgoeHQgbGluZSByZWxhdGkpLS4xNSBGIDEuMjQ3IC0uMTUKLSh2ZSB0KS0uMjUgSCAzLjQ0NyhvdCkuMTUgRyAuOTQ3KGhlIGN1cnJlbnQgbGluZSBmcm9tIHRoZSktMy40NDcgRgotKGhpc3RvcnkgZm9yIGVkaXRpbmcuKTE0NCA3MDggUShBbik1IEUgMi41KHlhKS0uMTUgRyAtLjE4KHJnKS0yLjUgRwotKHVtZW50IGlzIGlnbm9yZWQuKS4xOCBFKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUKLSgzOSkxOTAuOTUgRSAwIENnIEVQCisoU2VhcmNoIGZvcncpMTQ0IDU0NC44IFIgMS4xMzEoYXJkIHN0YXJ0aW5nIGF0IHRoZSBjdXJyZW50IGxpbmUgYW5kIG1vKQorLS4xIEYgMS4xMzIodmluZyBgZG8pLS4xNSBGIDEuMTMyKHduJyB0aHJvdWdoIHRoZSBoaXN0b3J5IGFzIG5lY2Vzc2FyeSkKKy0uMjUgRiguKS0uNjUgRShUaGlzIGlzIGFuIGluY3JlbWVudGFsIHNlYXJjaC4pMTQ0IDU1Ni44IFEgRjEKKyhub25cMjU1aW5jcikxMDggNTY4LjggUShlbWVudGFsXDI1NXIpLS4xOCBFIC0yLjMgLS4xNShldiBlKS0uMTggSAorKHJzZVwyNTVzZWFyKS4xNSBFKGNoXDI1NWhpc3RvcnkgXChNXDI1NXBcKSktLjE4IEUgRjAgLjE2NShTZWFyY2ggYmFja3cpCisxNDQgNTgwLjggUiAuMTY0KGFyZCB0aHJvdWdoIHRoZSBoaXN0b3J5IHN0YXJ0aW5nIGF0IHRoZSBjdXJyZW50IGxpbmUgdVwKK3NpbmcgYSBub24taW5jcmVtZW50YWwgc2VhcmNoIGZvciktLjEgRiAyLjUoYXMpMTQ0IDU5Mi44IFMKKyh0cmluZyBzdXBwbGllZCBieSB0aGUgdXNlciktMi41IEUoLiktLjU1IEUgRjEobm9uXDI1NWluY3IpMTA4IDYwNC44IFEKKyhlbWVudGFsXDI1NWYpLS4xOCBFKG9yd2FyZFwyNTVzZWFyKS0uMjUgRShjaFwyNTVoaXN0b3J5IFwoTVwyNTVuXCkpLS4xOAorRSBGMCAxLjM1MyhTZWFyY2ggZm9ydykxNDQgNjE2LjggUiAxLjM1NChhcmQgdGhyb3VnaCB0aGUgaGlzdG9yeSB1c2luZyBcCithIG5vbi1pbmNyZW1lbnRhbCBzZWFyY2ggZm9yIGEgc3RyaW5nIHN1cHBsaWVkIGJ5IHRoZSktLjEgRih1c2VyKTE0NAorNjI4LjggUSguKS0uNTUgRSBGMShoaXN0b3J5XDI1NXNlYXIpMTA4IDY0MC44IFEoY2hcMjU1ZiktLjE4IEUob3J3YXJkKQorLS4yNSBFIEYwIC4yNDkoU2VhcmNoIGZvcncpMTQ0IDY1Mi44IFIgLjI0OShhcmQgdGhyb3VnaCB0aGUgaGlzdG9yeSBmb3JcCisgdGhlIHN0cmluZyBvZiBjaGFyYWN0ZXJzIGJldHdlZW4gdGhlIHN0YXJ0IG9mIHRoZSBjdXJyZW50IGxpbmUpLS4xIEYKKyhhbmQgdGhlIHBvaW50LikxNDQgNjY0LjggUShUaGlzIGlzIGEgbm9uLWluY3JlbWVudGFsIHNlYXJjaC4pNSBFIEYxCisoaGlzdG9yeVwyNTVzZWFyKTEwOCA2NzYuOCBRKGNoXDI1NWJhY2t3YXJkKS0uMTggRSBGMCAuOTUoU2VhcmNoIGJhY2t3KQorMTQ0IDY4OC44IFIgLjk1MShhcmQgdGhyb3VnaCB0aGUgaGlzdG9yeSBmb3IgdGhlIHN0cmluZyBvZiBjaGFyYWN0ZXJzIGJcCitldHdlZW4gdGhlIHN0YXJ0IG9mIHRoZSBjdXJyZW50KS0uMSBGKGxpbmUgYW5kIHRoZSBwb2ludC4pMTQ0IDcwMC44IFEKKyhUaGlzIGlzIGEgbm9uLWluY3JlbWVudGFsIHNlYXJjaC4pNSBFKEdOVSBCYXNoLTQuMSk3MiA3NjggUQorKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDM5KTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDQwIDQwCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRgotKGVkaXRcMjU1YW5kXDI1NWV4ZWN1dGVcMjU1Y29tbWFuZCBcKENcMjU1eENcMjU1ZVwpKTEwOCA4NCBRIEYwKEluKTE0NAotOTYgUSAtLjIodm8pLS40IEcgMS4yMjYgLS4xKGtlIGEpLjIgSCAzLjUyNihuZSkuMSBHIDEuMDI2CistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKHlhbmtcMjU1bnRoXDI1NWFyKTEwOCA4NCBRIDIuNShnXCgpLS4xIEcKKzw0ZGFkNDNhZDc5Mjk+LTIuNSBFIEYwIC42MjIoSW5zZXJ0IHRoZSBcMjE0cnN0IGFyKTE0NCA5NiBSIC42MjIKKyhndW1lbnQgdG8gdGhlIHByZSktLjE4IEYgLjYyMih2aW91cyBjb21tYW5kIFwodXN1YWxseSB0aGUgc2Vjb25kIHcpLS4yNQorRiAuNjIyKG9yZCBvbiB0aGUgcHJlKS0uMSBGIC42MjIodmlvdXMgbGluZVwpKS0uMjUgRiAuNzk0KGF0IHBvaW50LikxNDQKKzEwOCBSIC0uNChXaSk1Ljc5NCBHIC43OTQodGggYW4gYXIpLjQgRihndW1lbnQpLS4xOCBFL0YyIDEwCisvVGltZXMtSXRhbGljQDAgU0YobikzLjI5NCBFIEYwIDMuMjk0KCxpKS4yNCBHIC43OTQobnNlcnQgdGhlKS0zLjI5NCBGCitGMihuKTMuMjk0IEUgRjAgLjc5NCh0aCB3KUIgLjc5NChvcmQgZnJvbSB0aGUgcHJlKS0uMSBGIC43OTQKKyh2aW91cyBjb21tYW5kIFwodGhlIHcpLS4yNSBGIC43OTUob3JkcyBpbiB0aGUpLS4xIEYocHJlKTE0NCAxMjAgUSAuMjkyCisodmlvdXMgY29tbWFuZCBiZSktLjI1IEYgLjI5MihnaW4gd2l0aCB3KS0uMTUgRiAuMjkxKG9yZCAwXCkuKS0uMSBGCisyLjc5MShBbik1LjI5MSBHIC0yLjI1IC0uMTUoZWcgYSktMi43OTEgSCh0aSkuMTUgRSAuNTkxIC0uMTUodmUgYSktLjI1IEgKKy0uMTgocmcpLjE1IEcgLjI5MSh1bWVudCBpbnNlcnRzIHRoZSkuMTggRiBGMihuKTIuNzkxIEUgRjAgLjI5MSh0aCB3KUIKKy4yOTEob3JkIGZyb20gdGhlIGVuZCBvZiktLjEgRiAuMjgxKHRoZSBwcmUpMTQ0IDEzMiBSIC4yODEKKyh2aW91cyBjb21tYW5kLiktLjI1IEYgLjI4MShPbmNlIHRoZSBhcik1LjI4MSBGKGd1bWVudCktLjE4IEUgRjIobikyLjc4MQorRSBGMCAuMjgxKGlzIGNvbXB1dGVkLCB0aGUgYXIpMi43ODEgRiAuMjgxKGd1bWVudCBpcyBlKS0uMTggRiAuMjgyCisoeHRyYWN0ZWQgYXMgaWYgdGhlICIhKS0uMTUgRiBGMihuKUEgRjAoIilBKGhpc3RvcnkgZSkxNDQgMTQ0IFEKKyh4cGFuc2lvbiBoYWQgYmVlbiBzcGVjaVwyMTRlZC4pLS4xNSBFIEYxKHlhbmtcMjU1bGFzdFwyNTVhcikxMDggMTU2IFEKKzIuNShnXCgpLS4xIEcgLTEuNjY3KE1cMjU1LiAsKS0yLjUgRiAtMS42NjcoTVwyNTVfIFwpKTIuNSBGIEYwIDEuMzA4CisoSW5zZXJ0IHRoZSBsYXN0IGFyKTE0NCAxNjggUiAxLjMwOChndW1lbnQgdG8gdGhlIHByZSktLjE4IEYgMS4zMDcKKyh2aW91cyBjb21tYW5kIFwodGhlIGxhc3QgdyktLjI1IEYgMS4zMDcob3JkIG9mIHRoZSBwcmUpLS4xIEYgMS4zMDcKKyh2aW91cyBoaXN0b3J5IGVudHJ5XCkuKS0uMjUgRiAtLjQoV2kpMTQ0IDE4MCBTIC43MzUodGggYW4gYXIpLjQgRiAuNzM1CisoZ3VtZW50LCBiZWhhKS0uMTggRiAxLjAzNSAtLjE1KHZlIGV4KS0uMiBIIC43MzUoYWN0bHkgbGlrKS4xNSBGKGUpLS4xIEUKK0YxKHlhbmtcMjU1bnRoXDI1NWFyKTMuMjM1IEUoZyktLjEgRSBGMCA1LjczNiguUylDKHVjY2Vzc2kpLTUuNzM2IEUKKzEuMDM2IC0uMTUodmUgYyktLjI1IEggLjczNihhbGxzIHRvKS4xNSBGIEYxKHlhbmtcMjU1bGFzdFwyNTVhcikzLjIzNiBFCisoZyktLjEgRSBGMChtbykzLjIzNiBFIC0uMTUodmUpLS4xNSBHIC43MjgKKyhiYWNrIHRocm91Z2ggdGhlIGhpc3RvcnkgbGlzdCwgaW5zZXJ0aW5nIHRoZSBsYXN0IGFyKTE0NCAxOTIgUiAuNzI4CisoZ3VtZW50IG9mIGVhY2ggbGluZSBpbiB0dXJuLiktLjE4IEYgLjcyOChUaGUgaGlzdG9yeSBlKTUuNzI4IEYoeHBhbi0pCistLjE1IEUgLjE0KHNpb24gZikxNDQgMjA0IFIgLjE0KGFjaWxpdGllcyBhcmUgdXNlZCB0byBlKS0uMSBGIC4xNAorKHh0cmFjdCB0aGUgbGFzdCBhciktLjE1IEYgLjE0KGd1bWVudCwgYXMgaWYgdGhlICIhJCIgaGlzdG9yeSBlKS0uMTggRgorLjE0KHhwYW5zaW9uIGhhZCBiZWVuIHNwZWNpLSktLjE1IEYoXDIxNGVkLikxNDQgMjE2IFEgRjEKKyhzaGVsbFwyNTVleHBhbmRcMjU1bGluZSBcKE1cMjU1Q1wyNTVlXCkpMTA4IDIyOCBRIEYwIC42MjMKKyhFeHBhbmQgdGhlIGxpbmUgYXMgdGhlIHNoZWxsIGRvZXMuKTE0NCAyNDAgUiAuNjIyCisoVGhpcyBwZXJmb3JtcyBhbGlhcyBhbmQgaGlzdG9yeSBlKTUuNjIyIEYgLjYyMgorKHhwYW5zaW9uIGFzIHdlbGwgYXMgYWxsIG9mIHRoZSktLjE1IEYoc2hlbGwgdykxNDQgMjUyIFEob3JkIGUpLS4xIEUgMi41CisoeHBhbnNpb25zLiBTZWUpLS4xNSBGL0YzIDkvVGltZXMtQm9sZEAwIFNGKEhJU1QpMi41IEUoT1IpLS4xNjIgRSAyLjI1CisoWUUpLS4zMTUgRyhYUCktMi4yNSBFKEFOU0lPTiktLjY2NiBFIEYwKGJlbG8pMi4yNSBFIDIuNSh3ZiktLjI1IEcKKyhvciBhIGRlc2NyaXB0aW9uIG9mIGhpc3RvcnkgZSktMi41IEUoeHBhbnNpb24uKS0uMTUgRSBGMQorKGhpc3RvcnlcMjU1ZXhwYW5kXDI1NWxpbmUgXChNXDI1NV5cKSkxMDggMjY0IFEgRjAgLjkzOAorKFBlcmZvcm0gaGlzdG9yeSBlKTE0NCAyNzYgUiAuOTM5KHhwYW5zaW9uIG9uIHRoZSBjdXJyZW50IGxpbmUuKS0uMTUgRgorKFNlZSk1LjkzOSBFIEYzKEhJU1QpMy40MzkgRShPUiktLjE2MiBFIDMuMTg5KFlFKS0uMzE1IEcoWFApLTMuMTg5IEUKKyhBTlNJT04pLS42NjYgRSBGMChiZWxvKTMuMTg5IEUgMy40Mzkod2YpLS4yNSBHIC45Mzkob3IgYSBkZXNjcmlwLSkKKy0zLjQzOSBGKHRpb24gb2YgaGlzdG9yeSBlKTE0NCAyODggUSh4cGFuc2lvbi4pLS4xNSBFIEYxKG1hZ2ljXDI1NXNwYWNlKQorMTA4IDMwMCBRIEYwIDEuNjI3KFBlcmZvcm0gaGlzdG9yeSBlKTE0NCAzMTIgUiAxLjYyNworKHhwYW5zaW9uIG9uIHRoZSBjdXJyZW50IGxpbmUgYW5kIGluc2VydCBhIHNwYWNlLiktLjE1IEYoU2VlKTYuNjI2IEUgRjMKKyhISVNUKTQuMTI2IEUoT1IpLS4xNjIgRSAzLjg3NihZRSktLjMxNSBHKFhQKS0zLjg3NiBFKEFOU0lPTiktLjY2NiBFIEYwCisoYmVsbykxNDQgMzI0IFEgMi41KHdmKS0uMjUgRyhvciBhIGRlc2NyaXB0aW9uIG9mIGhpc3RvcnkgZSktMi41IEUKKyh4cGFuc2lvbi4pLS4xNSBFIEYxKGFsaWFzXDI1NWV4cGFuZFwyNTVsaW5lKTEwOCAzMzYgUSBGMCAuMzk0CisoUGVyZm9ybSBhbGlhcyBlKTE0NCAzNDggUiAuMzk0KHhwYW5zaW9uIG9uIHRoZSBjdXJyZW50IGxpbmUuKS0uMTUgRgorKFNlZSk1LjM5NSBFIEYzKEFMSUFTRVMpMi44OTUgRSBGMChhYm8pMi42NDUgRSAuNjk1IC0uMTUodmUgZiktLjE1IEgKKy4zOTUob3IgYSBkZXNjcmlwdGlvbiBvZiBhbGlhcyBlKS4xNSBGKHhwYW4tKS0uMTUgRShzaW9uLikxNDQgMzYwIFEgRjEKKyhoaXN0b3J5XDI1NWFuZFwyNTVhbGlhc1wyNTVleHBhbmRcMjU1bGluZSkxMDggMzcyIFEgRjAKKyhQZXJmb3JtIGhpc3RvcnkgYW5kIGFsaWFzIGUpMTQ0IDM4NCBRKHhwYW5zaW9uIG9uIHRoZSBjdXJyZW50IGxpbmUuKQorLS4xNSBFIEYxKGluc2VydFwyNTVsYXN0XDI1NWFyKTEwOCAzOTYgUShndW1lbnQgXChNXDI1NS4pLS4xIEUgMi41KCxNKQorLjgzMyBHIC0xLjY2NyhcMjU1XyBcKSktMi41IEYgRjAgMi41KEFzKTE0NCA0MDggUyh5bm9uKS0yLjUgRSh5bSBmb3IpCistLjE1IEUgRjEoeWFua1wyNTVsYXN0XDI1NWFyKTIuNSBFKGcpLS4xIEUgRjAoLilBIEYxCisob3BlcmF0ZVwyNTVhbmRcMjU1Z2V0XDI1NW5leHQgXChDXDI1NW9cKSkxMDggNDIwIFEgRjAgLjk0OAorKEFjY2VwdCB0aGUgY3VycmVudCBsaW5lIGZvciBlKTE0NCA0MzIgUiAtLjE1KHhlKS0uMTUgRyAuOTQ4CisoY3V0aW9uIGFuZCBmZXRjaCB0aGUgbmUpLjE1IEYgLjk0OCh4dCBsaW5lIHJlbGF0aSktLjE1IEYgMS4yNDcgLS4xNQorKHZlIHQpLS4yNSBIIDMuNDQ3KG90KS4xNSBHIC45NDcoaGUgY3VycmVudCBsaW5lIGZyb20gdGhlKS0zLjQ0NyBGCisoaGlzdG9yeSBmb3IgZWRpdGluZy4pMTQ0IDQ0NCBRKEFuKTUgRSAyLjUoeWEpLS4xNSBHIC0uMTgocmcpLTIuNSBHCisodW1lbnQgaXMgaWdub3JlZC4pLjE4IEUgRjEKKyhlZGl0XDI1NWFuZFwyNTVleGVjdXRlXDI1NWNvbW1hbmQgXChDXDI1NXhDXDI1NWVcKSkxMDggNDU2IFEgRjAoSW4pMTQ0Cis0NjggUSAtLjIodm8pLS40IEcgMS4yMjYgLS4xKGtlIGEpLjIgSCAzLjUyNihuZSkuMSBHIDEuMDI2CiAoZGl0b3Igb24gdGhlIGN1cnJlbnQgY29tbWFuZCBsaW5lLCBhbmQgZSktMy41MjYgRiAtLjE1KHhlKS0uMTUgRyAxLjAyNgogKGN1dGUgdGhlIHJlc3VsdCBhcyBzaGVsbCBjb21tYW5kcy4pLjE1IEYgRjEoQmFzaCk2LjAyNiBFIEYwCi0oYXR0ZW1wdHMgdG8gaW4pMTQ0IDEwOCBRIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRy9GMiA5L1RpbWVzLUJvbGRAMCBTRgotKCRWSVNVKTIuNiBFKEFMKS0uNTQgRS9GMyA5L1RpbWVzLVJvbWFuQDAgU0YoLClBIEYyKCRFRElUKTIuMjUgRShPUikKLS0uMTYyIEUgRjMoLClBIEYwKGFuZCkyLjI1IEUvRjQgMTAvVGltZXMtSXRhbGljQDAgU0YoZW1hY3MpMi41IEUgRjAKLShhcyB0aGUgZWRpdG9yKTIuNSBFIDIuNSgsaSktLjQgRyAyLjUobnQpLTIuNSBHKGhhdCBvcmRlciktMi41IEUoLiktLjU1Ci1FIEYxKENvbW1hbmRzIGYpODcgMTI0LjggUShvciBDaGFuZ2luZyBUKS0uMjUgRShleHQpLS45MiBFCi0oZGVsZXRlXDI1NWNoYXIgXChDXDI1NWRcKSkxMDggMTM2LjggUSBGMCAuMzU4Ci0oRGVsZXRlIHRoZSBjaGFyYWN0ZXIgYXQgcG9pbnQuKTE0NCAxNDguOCBSIC4zNTgoSWYgcG9pbnQgaXMgYXQgdGhlIGJlKQorKGF0dGVtcHRzIHRvIGluKTE0NCA0ODAgUSAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgRjMoJFZJU1UpMi42IEUoQUwpCistLjU0IEUvRjQgOS9UaW1lcy1Sb21hbkAwIFNGKCwpQSBGMygkRURJVCkyLjI1IEUoT1IpLS4xNjIgRSBGNCgsKUEgRjAKKyhhbmQpMi4yNSBFIEYyKGVtYWNzKTIuNSBFIEYwKGFzIHRoZSBlZGl0b3IpMi41IEUgMi41KCxpKS0uNCBHIDIuNShudCkKKy0yLjUgRyhoYXQgb3JkZXIpLTIuNSBFKC4pLS41NSBFIEYxKENvbW1hbmRzIGYpODcgNDk2LjggUShvciBDaGFuZ2luZyBUKQorLS4yNSBFKGV4dCktLjkyIEUoZGVsZXRlXDI1NWNoYXIgXChDXDI1NWRcKSkxMDggNTA4LjggUSBGMCAuMzU4CisoRGVsZXRlIHRoZSBjaGFyYWN0ZXIgYXQgcG9pbnQuKTE0NCA1MjAuOCBSIC4zNTgoSWYgcG9pbnQgaXMgYXQgdGhlIGJlKQogNS4zNTggRiAuMzU4KGdpbm5pbmcgb2YgdGhlIGxpbmUsIHRoZXJlIGFyZSBubyBjaGFyYWN0ZXJzIGluIHRoZSktLjE1IEYKLShsaW5lLCBhbmQgdGhlIGxhc3QgY2hhcmFjdGVyIHR5cGVkIHcpMTQ0IDE2MC44IFEoYXMgbm90IGJvdW5kIHRvKS0uMSBFCi1GMShkZWxldGVcMjU1Y2hhcikyLjUgRSBGMCAyLjUoLHQpQyhoZW4gcmV0dXJuKS0yLjUgRSBGMihFT0YpMi41IEUgRjMoLikKLUEgRjEoYmFja3dhcmRcMjU1ZGVsZXRlXDI1NWNoYXIgXChSdWJvdXRcKSkxMDggMTcyLjggUSBGMCAuNTUyCi0oRGVsZXRlIHRoZSBjaGFyYWN0ZXIgYmVoaW5kIHRoZSBjdXJzb3IpMTQ0IDE4NC44IFIgNS41NTMoLlcpLS41NSBHIC41NTMKKyhsaW5lLCBhbmQgdGhlIGxhc3QgY2hhcmFjdGVyIHR5cGVkIHcpMTQ0IDUzMi44IFEoYXMgbm90IGJvdW5kIHRvKS0uMSBFCitGMShkZWxldGVcMjU1Y2hhcikyLjUgRSBGMCAyLjUoLHQpQyhoZW4gcmV0dXJuKS0yLjUgRSBGMyhFT0YpMi41IEUgRjQoLikKK0EgRjEoYmFja3dhcmRcMjU1ZGVsZXRlXDI1NWNoYXIgXChSdWJvdXRcKSkxMDggNTQ0LjggUSBGMCAuNTUyCisoRGVsZXRlIHRoZSBjaGFyYWN0ZXIgYmVoaW5kIHRoZSBjdXJzb3IpMTQ0IDU1Ni44IFIgNS41NTMoLlcpLS41NSBHIC41NTMKIChoZW4gZ2kpLTUuNTUzIEYgLS4xNSh2ZSktLjI1IEcgMy4wNTMobmFuKS4xNSBHIC41NTModW1lcmljIGFyKS0zLjA1MyBGCiAuNTUzKGd1bWVudCwgc2EpLS4xOCBGIC44NTMgLS4xNSh2ZSB0KS0uMiBIIC41NTMoaGUgZGVsZXRlZCB0ZSkuMTUgRgotLjU1Myh4dCBvbiktLjE1IEYodGhlIGtpbGwgcmluZy4pMTQ0IDE5Ni44IFEgRjEgLS4yNShmbykxMDggMjA4LjggUworLjU1Myh4dCBvbiktLjE1IEYodGhlIGtpbGwgcmluZy4pMTQ0IDU2OC44IFEgRjEgLS4yNShmbykxMDggNTgwLjggUwogKHJ3YXJkXDI1NWJhY2t3YXJkXDI1NWRlbGV0ZVwyNTVjaGFyKS4yNSBFIEYwIC40NzQKLShEZWxldGUgdGhlIGNoYXJhY3RlciB1bmRlciB0aGUgY3Vyc29yKTE0NCAyMjAuOCBSIDIuOTc0KCx1KS0uNCBHIC40NzQKKyhEZWxldGUgdGhlIGNoYXJhY3RlciB1bmRlciB0aGUgY3Vyc29yKTE0NCA1OTIuOCBSIDIuOTc0KCx1KS0uNCBHIC40NzQKIChubGVzcyB0aGUgY3Vyc29yIGlzIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUsIGluIHdoaWNoIGNhc2UgdGhlKS0yLjk3NCBGCi0oY2hhcmFjdGVyIGJlaGluZCB0aGUgY3Vyc29yIGlzIGRlbGV0ZWQuKTE0NCAyMzIuOCBRIEYxCi0ocXVvdGVkXDI1NWluc2VydCBcKENcMjU1cSwgQ1wyNTV2XCkpMTA4IDI0NC44IFEgRjAgLjc3OChBZGQgdGhlIG5lKTE0NAotMjU2LjggUiAuNzc5KHh0IGNoYXJhY3RlciB0eXBlZCB0byB0aGUgbGluZSB2KS0uMTUgRiAzLjI3OQorKGNoYXJhY3RlciBiZWhpbmQgdGhlIGN1cnNvciBpcyBkZWxldGVkLikxNDQgNjA0LjggUSBGMQorKHF1b3RlZFwyNTVpbnNlcnQgXChDXDI1NXEsIENcMjU1dlwpKTEwOCA2MTYuOCBRIEYwIC43NzgoQWRkIHRoZSBuZSkxNDQKKzYyOC44IFIgLjc3OSh4dCBjaGFyYWN0ZXIgdHlwZWQgdG8gdGhlIGxpbmUgdiktLjE1IEYgMy4yNzkKIChlcmJhdGltLiBUaGlzKS0uMTUgRiAuNzc5KGlzIGhvKTMuMjc5IEYgMy4yNzkod3QpLS4yNSBHIDMuMjc5KG9pKS0zLjI3OQogRyAuNzc5KG5zZXJ0IGNoYXJhY3RlcnMgbGlrKS0zLjI3OSBGKGUpLS4xIEUgRjEoQ1wyNTVxKTMuMjc5IEUgRjAgMy4yNzkKLSgsZilDKG9yKS0zLjI3OSBFIC0uMTUoZXgpMTQ0IDI2OC44IFMoYW1wbGUuKS4xNSBFIEYxCi0odGFiXDI1NWluc2VydCBcKENcMjU1diBUKTEwOCAyODAuOCBRKEFCXCkpLS45IEUgRjAKLShJbnNlcnQgYSB0YWIgY2hhcmFjdGVyKTE0NCAyOTIuOCBRKC4pLS41NSBFIEYxCi0oc2VsZlwyNTVpbnNlcnQgXChhLCBiLCBBLCAxLCAhLCAuLi5cKSkxMDggMzA0LjggUSBGMAotKEluc2VydCB0aGUgY2hhcmFjdGVyIHR5cGVkLikxNDQgMzE2LjggUSBGMQotKHRyYW5zcG9zZVwyNTVjaGFycyBcKENcMjU1dFwpKTEwOCAzMjguOCBRIEYwIC4zMjIKLShEcmFnIHRoZSBjaGFyYWN0ZXIgYmVmb3JlIHBvaW50IGZvcncpMTQ0IDM0MC44IFIgLjMyMShhcmQgbyktLjEgRiAtLjE1CisoLGYpQyhvciktMy4yNzkgRSAtLjE1KGV4KTE0NCA2NDAuOCBTKGFtcGxlLikuMTUgRSBGMQorKHRhYlwyNTVpbnNlcnQgXChDXDI1NXYgVCkxMDggNjUyLjggUShBQlwpKS0uOSBFIEYwCisoSW5zZXJ0IGEgdGFiIGNoYXJhY3RlcikxNDQgNjY0LjggUSguKS0uNTUgRSBGMQorKHNlbGZcMjU1aW5zZXJ0IFwoYSwgYiwgQSwgMSwgISwgLi4uXCkpMTA4IDY3Ni44IFEgRjAKKyhJbnNlcnQgdGhlIGNoYXJhY3RlciB0eXBlZC4pMTQ0IDY4OC44IFEgRjEKKyh0cmFuc3Bvc2VcMjU1Y2hhcnMgXChDXDI1NXRcKSkxMDggNzAwLjggUSBGMCAuMzIyCisoRHJhZyB0aGUgY2hhcmFjdGVyIGJlZm9yZSBwb2ludCBmb3J3KTE0NCA3MTIuOCBSIC4zMjEoYXJkIG8pLS4xIEYgLS4xNQogKHZlKS0uMTUgRyAyLjgyMShydCkuMTUgRyAuMzIxKGhlIGNoYXJhY3RlciBhdCBwb2ludCwgbW8pLTIuODIxIEYgLjMyMQogKHZpbmcgcG9pbnQgZm9ydyktLjE1IEYgLjMyMShhcmQgYXMgd2VsbC4pLS4xIEYgMS4xODIKIChJZiBwb2ludCBpcyBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lLCB0aGVuIHRoaXMgdHJhbnNwb3NlcyB0aGUgdHcpMTQ0Ci0zNTIuOCBSIDMuNjgzKG9jKS0uMSBHIDEuMTgzKGhhcmFjdGVycyBiZWZvcmUgcG9pbnQuKS0zLjY4MyBGKE5lKTYuMTgzIEUKLS0uMDUoZ2EpLS4xNSBHKHRpKS4wNSBFIC0uMTUodmUpLS4yNSBHKGFyKTE0NCAzNjQuOCBRKGd1bWVudHMgaGEpLS4xOCBFCi0uMyAtLjE1KHZlIG4pLS4yIEggMi41KG9lKS4xNSBHIC0uMjUoZmYpLTIuNSBHKGVjdC4pLjI1IEUgRjEKLSh0cmFuc3Bvc2VcMjU1dykxMDggMzc2LjggUShvcmRzIFwoTVwyNTV0XCkpLS4xIEUgRjAgLjAyNChEcmFnIHRoZSB3KTE0NAotMzg4LjggUiAuMDI0KG9yZCBiZWZvcmUgcG9pbnQgcGFzdCB0aGUgdyktLjEgRiAuMDIzKG9yZCBhZnRlciBwb2ludCwgbW8pCi0tLjEgRiAuMDIzKHZpbmcgcG9pbnQgbyktLjE1IEYgLS4xNSh2ZSktLjE1IEcgMi41MjMocnQpLjE1IEcgLjAyMyhoYXQgdykKLS0yLjUyMyBGIC4wMjMob3JkIGFzIHdlbGwuKS0uMSBGIC4wMjMoSWYgcG9pbnQpNS4wMjMgRgotKGlzIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUsIHRoaXMgdHJhbnNwb3NlcyB0aGUgbGFzdCB0dykxNDQgNDAwLjggUSAyLjUKLShvdyktLjEgRyhvcmRzIG9uIHRoZSBsaW5lLiktMi42IEUgRjEodXBjYXNlXDI1NXcpMTA4IDQxMi44IFEKLShvcmQgXChNXDI1NXVcKSktLjEgRSBGMCAxLjY5OChVcHBlcmNhc2UgdGhlIGN1cnJlbnQgXChvciBmb2xsbykxNDQKLTQyNC44IFIgMS42OTgod2luZ1wpIHcpLS4yNSBGIDQuMTk4KG9yZC4gVyktLjEgRiAxLjY5OChpdGggYSBuZSktLjQgRgotLS4wNShnYSktLjE1IEcodGkpLjA1IEUgMS45OTkgLS4xNSh2ZSBhKS0uMjUgSCAtLjE4KHJnKS4xNSBHIDEuNjk5Ci0odW1lbnQsIHVwcGVyY2FzZSB0aGUgcHJlKS4xOCBGKHZpb3VzKS0uMjUgRSAtLjEod28pMTQ0IDQzNi44IFMocmQsIGIpLjEKLUUodXQgZG8gbm90IG1vKS0uMiBFIC4zIC0uMTUodmUgcCktLjE1IEgob2ludC4pLjE1IEUgRjEoZG8pMTA4IDQ0OC44IFEKLSh3bmNhc2VcMjU1dyktLjEgRShvcmQgXChNXDI1NWxcKSktLjEgRSBGMChMbykxNDQgNDYwLjggUSAxLjY0OAotKHdlcmNhc2UgdGhlIGN1cnJlbnQgXChvciBmb2xsbyktLjI1IEYgMS42NDgod2luZ1wpIHcpLS4yNSBGIDQuMTQ4Ci0ob3JkLiBXKS0uMSBGIDEuNjQ3KGl0aCBhIG5lKS0uNCBGIC0uMDUoZ2EpLS4xNSBHKHRpKS4wNSBFIDEuOTQ3IC0uMTUKLSh2ZSBhKS0uMjUgSCAtLjE4KHJnKS4xNSBHIDEuNjQ3KHVtZW50LCBsbykuMTggRiAxLjY0Nyh3ZXJjYXNlIHRoZSBwcmUpCi0tLjI1IEYodmlvdXMpLS4yNSBFIC0uMSh3bykxNDQgNDcyLjggUyhyZCwgYikuMSBFKHV0IGRvIG5vdCBtbyktLjIgRSAuMwotLS4xNSh2ZSBwKS0uMTUgSChvaW50LikuMTUgRSBGMShjYXBpdGFsaXplXDI1NXcpMTA4IDQ4NC44IFEKLShvcmQgXChNXDI1NWNcKSktLjEgRSBGMCAxLjk3NChDYXBpdGFsaXplIHRoZSBjdXJyZW50IFwob3IgZm9sbG8pMTQ0Ci00OTYuOCBSIDEuOTc0KHdpbmdcKSB3KS0uMjUgRiA0LjQ3NChvcmQuIFcpLS4xIEYgMS45NzQoaXRoIGEgbmUpLS40IEYKLS0uMDUoZ2EpLS4xNSBHKHRpKS4wNSBFIDIuMjc0IC0uMTUodmUgYSktLjI1IEggLS4xOChyZykuMTUgRyAxLjk3NQotKHVtZW50LCBjYXBpdGFsaXplIHRoZSBwcmUpLjE4IEYodmlvdXMpLS4yNSBFIC0uMSh3bykxNDQgNTA4LjggUyhyZCwgYikKLS4xIEUodXQgZG8gbm90IG1vKS0uMiBFIC4zIC0uMTUodmUgcCktLjE1IEgob2ludC4pLjE1IEUgRjEgLS4xKG92ZSkxMDgKLTUyMC44IFMocndyaXRlXDI1NW1vZGUpLjEgRSBGMCAtLjgoVG8pMTQ0IDUzMi44IFMgLjQzOChnZ2xlIG8pLjggRiAtLjE1Ci0odmUpLS4xNSBHIC40MzgocndyaXRlIG1vZGUuKS4xNSBGIC0uNChXaSk1LjQzOCBHIC40MzgodGggYW4gZSkuNCBGIC40MzgKLSh4cGxpY2l0IHBvc2l0aSktLjE1IEYgLjczNyAtLjE1KHZlIG4pLS4yNSBIIC40MzcodW1lcmljIGFyKS4xNSBGIC40MzcKLShndW1lbnQsIHN3aXRjaGVzIHRvIG8pLS4xOCBGIC0uMTUodmUpLS4xNSBHIC40MzcocndyaXRlIG1vZGUuKS4xNSBGIC0uNAotKFdpKTE0NCA1NDQuOCBTIC43OCh0aCBhbiBlKS40IEYgLjc4MSh4cGxpY2l0IG5vbi1wb3NpdGkpLS4xNSBGIDEuMDgxCi0tLjE1KHZlIG4pLS4yNSBIIC43ODEodW1lcmljIGFyKS4xNSBGIC43ODEKLShndW1lbnQsIHN3aXRjaGVzIHRvIGluc2VydCBtb2RlLiktLjE4IEYgLjc4MShUaGlzIGNvbW1hbmQgYWYpNS43ODEgRgotKGZlY3RzKS0uMjUgRShvbmx5KTE0NCA1NTYuOCBRIEYxKGVtYWNzKTQuMzk1IEUgRjAobW9kZTspNC4zOTUgRSBGMSh2aSkKLTQuMzk1IEUgRjAgMS44OTQobW9kZSBkb2VzIG8pNC4zOTUgRiAtLjE1KHZlKS0uMTUgRyAxLjg5NChyd3JpdGUgZGlmKS4xNQotRihmZXJlbnRseSktLjI1IEUgNi44OTQoLkUpLS42NSBHIDEuODk0KGFjaCBjYWxsIHRvKS02Ljg5NCBGIEY0IC0uMzcocmUpCi00LjM5NCBHKGFkbGluZVwoXCkpLjM3IEUgRjAgMS44OTQoc3RhcnRzIGluIGluc2VydCk0LjM5NCBGIDMuOTY4Ci0obW9kZS4gSW4pMTQ0IDU2OC44IFIgLS4xNShvdmUpMy45NjggRyAxLjQ2OAotKHJ3cml0ZSBtb2RlLCBjaGFyYWN0ZXJzIGJvdW5kIHRvKS4xNSBGIEYxKHNlbGZcMjU1aW5zZXJ0KTMuOTY5IEUgRjAKLTEuNDY5KHJlcGxhY2UgdGhlIHRlKTMuOTY5IEYgMS40NjkoeHQgYXQgcG9pbnQgcmF0aGVyIHRoYW4pLS4xNSBGIC45NTgKLShwdXNoaW5nIHRoZSB0ZSkxNDQgNTgwLjggUiAuOTU4KHh0IHRvIHRoZSByaWdodC4pLS4xNSBGIC45NTcKLShDaGFyYWN0ZXJzIGJvdW5kIHRvKTUuOTU4IEYgRjEoYmFja3dhcmRcMjU1ZGVsZXRlXDI1NWNoYXIpMy40NTcgRSBGMAotLjk1NyhyZXBsYWNlIHRoZSBjaGFyYWN0ZXIpMy40NTcgRihiZWZvcmUgcG9pbnQgd2l0aCBhIHNwYWNlLikxNDQgNTkyLjgKLVEoQnkgZGVmKTUgRShhdWx0LCB0aGlzIGNvbW1hbmQgaXMgdW5ib3VuZC4pLS4xIEUgRjEoS2lsbGluZyBhbmQgWSk4NwotNjA5LjYgUShhbmtpbmcpLS44NSBFKGtpbGxcMjU1bGluZSBcKENcMjU1a1wpKTEwOCA2MjEuNiBRIEYwCi0oS2lsbCB0aGUgdGUpMTQ0IDYzMy42IFEoeHQgZnJvbSBwb2ludCB0byB0aGUgZW5kIG9mIHRoZSBsaW5lLiktLjE1IEUgRjEKLShiYWNrd2FyZFwyNTVraWxsXDI1NWxpbmUgXChDXDI1NXggUnVib3V0XCkpMTA4IDY0NS42IFEgRjAoS2lsbCBiYWNrdykKLTE0NCA2NTcuNiBRKGFyZCB0byB0aGUgYmUpLS4xIEUoZ2lubmluZyBvZiB0aGUgbGluZS4pLS4xNSBFIEYxCi0odW5peFwyNTVsaW5lXDI1NWRpc2NhcmQgXChDXDI1NXVcKSkxMDggNjY5LjYgUSBGMChLaWxsIGJhY2t3KTE0NCA2ODEuNgotUShhcmQgZnJvbSBwb2ludCB0byB0aGUgYmUpLS4xIEUoZ2lubmluZyBvZiB0aGUgbGluZS4pLS4xNSBFCi0oVGhlIGtpbGxlZCB0ZSk1IEUoeHQgaXMgc2EpLS4xNSBFIC0uMTUodmUpLS4yIEcgMi41KGRvKS4xNSBHIDIuNShudCkKLS0yLjUgRyhoZSBraWxsLXJpbmcuKS0yLjUgRSBGMShraWxsXDI1NXdob2xlXDI1NWxpbmUpMTA4IDY5My42IFEgRjAKLShLaWxsIGFsbCBjaGFyYWN0ZXJzIG9uIHRoZSBjdXJyZW50IGxpbmUsIG5vIG1hdHRlciB3aGVyZSBwb2ludCBpcy4pMTQ0Ci03MDUuNiBRKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUoNDApMTkwLjk1IEUgMCBDZwotRVAKKzcyNC44IFIgMy42ODMob2MpLS4xIEcgMS4xODMoaGFyYWN0ZXJzIGJlZm9yZSBwb2ludC4pLTMuNjgzIEYoTmUpNi4xODMgRQorLS4wNShnYSktLjE1IEcodGkpLjA1IEUgLS4xNSh2ZSktLjI1IEcoR05VIEJhc2gtNC4xKTcyIDc2OCBRCisoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoNDApMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNDEgNDEKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGtpbGxcMjU1dykxMDggODQgUShvcmQgXChNXDI1NWRcKSktLjEgRSBGMAotLjcyOChLaWxsIGZyb20gcG9pbnQgdG8gdGhlIGVuZCBvZiB0aGUgY3VycmVudCB3KTE0NCA5NiBSIC43MjkKKy0uMzUgRShhcikxNDQgODQgUShndW1lbnRzIGhhKS0uMTggRSAuMyAtLjE1KHZlIG4pLS4yIEggMi41KG9lKS4xNSBHCistLjI1KGZmKS0yLjUgRyhlY3QuKS4yNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRih0cmFuc3Bvc2VcMjU1dykxMDggOTYgUQorKG9yZHMgXChNXDI1NXRcKSktLjEgRSBGMCAuMDI0KERyYWcgdGhlIHcpMTQ0IDEwOCBSIC4wMjQKKyhvcmQgYmVmb3JlIHBvaW50IHBhc3QgdGhlIHcpLS4xIEYgLjAyMyhvcmQgYWZ0ZXIgcG9pbnQsIG1vKS0uMSBGIC4wMjMKKyh2aW5nIHBvaW50IG8pLS4xNSBGIC0uMTUodmUpLS4xNSBHIDIuNTIzKHJ0KS4xNSBHIC4wMjMoaGF0IHcpLTIuNTIzIEYKKy4wMjMob3JkIGFzIHdlbGwuKS0uMSBGIC4wMjMoSWYgcG9pbnQpNS4wMjMgRgorKGlzIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUsIHRoaXMgdHJhbnNwb3NlcyB0aGUgbGFzdCB0dykxNDQgMTIwIFEgMi41Cisob3cpLS4xIEcob3JkcyBvbiB0aGUgbGluZS4pLTIuNiBFIEYxKHVwY2FzZVwyNTV3KTEwOCAxMzIgUQorKG9yZCBcKE1cMjU1dVwpKS0uMSBFIEYwIDEuNjk4KFVwcGVyY2FzZSB0aGUgY3VycmVudCBcKG9yIGZvbGxvKTE0NCAxNDQKK1IgMS42OTgod2luZ1wpIHcpLS4yNSBGIDQuMTk4KG9yZC4gVyktLjEgRiAxLjY5OChpdGggYSBuZSktLjQgRiAtLjA1KGdhKQorLS4xNSBHKHRpKS4wNSBFIDEuOTk5IC0uMTUodmUgYSktLjI1IEggLS4xOChyZykuMTUgRyAxLjY5OQorKHVtZW50LCB1cHBlcmNhc2UgdGhlIHByZSkuMTggRih2aW91cyktLjI1IEUgLS4xKHdvKTE0NCAxNTYgUyhyZCwgYikuMSBFCisodXQgZG8gbm90IG1vKS0uMiBFIC4zIC0uMTUodmUgcCktLjE1IEgob2ludC4pLjE1IEUgRjEoZG8pMTA4IDE2OCBRCisod25jYXNlXDI1NXcpLS4xIEUob3JkIFwoTVwyNTVsXCkpLS4xIEUgRjAoTG8pMTQ0IDE4MCBRIDEuNjQ4Cisod2VyY2FzZSB0aGUgY3VycmVudCBcKG9yIGZvbGxvKS0uMjUgRiAxLjY0OCh3aW5nXCkgdyktLjI1IEYgNC4xNDgKKyhvcmQuIFcpLS4xIEYgMS42NDcoaXRoIGEgbmUpLS40IEYgLS4wNShnYSktLjE1IEcodGkpLjA1IEUgMS45NDcgLS4xNQorKHZlIGEpLS4yNSBIIC0uMTgocmcpLjE1IEcgMS42NDcodW1lbnQsIGxvKS4xOCBGIDEuNjQ3KHdlcmNhc2UgdGhlIHByZSkKKy0uMjUgRih2aW91cyktLjI1IEUgLS4xKHdvKTE0NCAxOTIgUyhyZCwgYikuMSBFKHV0IGRvIG5vdCBtbyktLjIgRSAuMworLS4xNSh2ZSBwKS0uMTUgSChvaW50LikuMTUgRSBGMShjYXBpdGFsaXplXDI1NXcpMTA4IDIwNCBRCisob3JkIFwoTVwyNTVjXCkpLS4xIEUgRjAgMS45NzQoQ2FwaXRhbGl6ZSB0aGUgY3VycmVudCBcKG9yIGZvbGxvKTE0NCAyMTYKK1IgMS45NzQod2luZ1wpIHcpLS4yNSBGIDQuNDc0KG9yZC4gVyktLjEgRiAxLjk3NChpdGggYSBuZSktLjQgRiAtLjA1KGdhKQorLS4xNSBHKHRpKS4wNSBFIDIuMjc0IC0uMTUodmUgYSktLjI1IEggLS4xOChyZykuMTUgRyAxLjk3NQorKHVtZW50LCBjYXBpdGFsaXplIHRoZSBwcmUpLjE4IEYodmlvdXMpLS4yNSBFIC0uMSh3bykxNDQgMjI4IFMocmQsIGIpLjEKK0UodXQgZG8gbm90IG1vKS0uMiBFIC4zIC0uMTUodmUgcCktLjE1IEgob2ludC4pLjE1IEUgRjEgLS4xKG92ZSkxMDggMjQwCitTKHJ3cml0ZVwyNTVtb2RlKS4xIEUgRjAgLS44KFRvKTE0NCAyNTIgUyAuNDM4KGdnbGUgbykuOCBGIC0uMTUodmUpLS4xNQorRyAuNDM4KHJ3cml0ZSBtb2RlLikuMTUgRiAtLjQoV2kpNS40MzggRyAuNDM4KHRoIGFuIGUpLjQgRiAuNDM4CisoeHBsaWNpdCBwb3NpdGkpLS4xNSBGIC43MzcgLS4xNSh2ZSBuKS0uMjUgSCAuNDM3KHVtZXJpYyBhcikuMTUgRiAuNDM3CisoZ3VtZW50LCBzd2l0Y2hlcyB0byBvKS0uMTggRiAtLjE1KHZlKS0uMTUgRyAuNDM3KHJ3cml0ZSBtb2RlLikuMTUgRiAtLjQKKyhXaSkxNDQgMjY0IFMgLjc4KHRoIGFuIGUpLjQgRiAuNzgxKHhwbGljaXQgbm9uLXBvc2l0aSktLjE1IEYgMS4wODEgLS4xNQorKHZlIG4pLS4yNSBIIC43ODEodW1lcmljIGFyKS4xNSBGIC43ODEoZ3VtZW50LCBzd2l0Y2hlcyB0byBpbnNlcnQgbW9kZS4pCistLjE4IEYgLjc4MShUaGlzIGNvbW1hbmQgYWYpNS43ODEgRihmZWN0cyktLjI1IEUob25seSkxNDQgMjc2IFEgRjEKKyhlbWFjcyk0LjM5NSBFIEYwKG1vZGU7KTQuMzk1IEUgRjEodmkpNC4zOTUgRSBGMCAxLjg5NChtb2RlIGRvZXMgbyk0LjM5NQorRiAtLjE1KHZlKS0uMTUgRyAxLjg5NChyd3JpdGUgZGlmKS4xNSBGKGZlcmVudGx5KS0uMjUgRSA2Ljg5NCguRSktLjY1IEcKKzEuODk0KGFjaCBjYWxsIHRvKS02Ljg5NCBGL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGIC0uMzcocmUpNC4zOTQgRworKGFkbGluZVwoXCkpLjM3IEUgRjAgMS44OTQoc3RhcnRzIGluIGluc2VydCk0LjM5NCBGIDMuOTY4KG1vZGUuIEluKTE0NAorMjg4IFIgLS4xNShvdmUpMy45NjggRyAxLjQ2OChyd3JpdGUgbW9kZSwgY2hhcmFjdGVycyBib3VuZCB0bykuMTUgRiBGMQorKHNlbGZcMjU1aW5zZXJ0KTMuOTY5IEUgRjAgMS40NjkocmVwbGFjZSB0aGUgdGUpMy45NjkgRiAxLjQ2OQorKHh0IGF0IHBvaW50IHJhdGhlciB0aGFuKS0uMTUgRiAuOTU4KHB1c2hpbmcgdGhlIHRlKTE0NCAzMDAgUiAuOTU4CisoeHQgdG8gdGhlIHJpZ2h0LiktLjE1IEYgLjk1NyhDaGFyYWN0ZXJzIGJvdW5kIHRvKTUuOTU4IEYgRjEKKyhiYWNrd2FyZFwyNTVkZWxldGVcMjU1Y2hhcikzLjQ1NyBFIEYwIC45NTcocmVwbGFjZSB0aGUgY2hhcmFjdGVyKTMuNDU3CitGKGJlZm9yZSBwb2ludCB3aXRoIGEgc3BhY2UuKTE0NCAzMTIgUShCeSBkZWYpNSBFCisoYXVsdCwgdGhpcyBjb21tYW5kIGlzIHVuYm91bmQuKS0uMSBFIEYxKEtpbGxpbmcgYW5kIFkpODcgMzI4LjggUQorKGFua2luZyktLjg1IEUoa2lsbFwyNTVsaW5lIFwoQ1wyNTVrXCkpMTA4IDM0MC44IFEgRjAoS2lsbCB0aGUgdGUpMTQ0CiszNTIuOCBRKHh0IGZyb20gcG9pbnQgdG8gdGhlIGVuZCBvZiB0aGUgbGluZS4pLS4xNSBFIEYxCisoYmFja3dhcmRcMjU1a2lsbFwyNTVsaW5lIFwoQ1wyNTV4IFJ1Ym91dFwpKTEwOCAzNjQuOCBRIEYwKEtpbGwgYmFja3cpCisxNDQgMzc2LjggUShhcmQgdG8gdGhlIGJlKS0uMSBFKGdpbm5pbmcgb2YgdGhlIGxpbmUuKS0uMTUgRSBGMQorKHVuaXhcMjU1bGluZVwyNTVkaXNjYXJkIFwoQ1wyNTV1XCkpMTA4IDM4OC44IFEgRjAoS2lsbCBiYWNrdykxNDQgNDAwLjgKK1EoYXJkIGZyb20gcG9pbnQgdG8gdGhlIGJlKS0uMSBFKGdpbm5pbmcgb2YgdGhlIGxpbmUuKS0uMTUgRQorKFRoZSBraWxsZWQgdGUpNSBFKHh0IGlzIHNhKS0uMTUgRSAtLjE1KHZlKS0uMiBHIDIuNShkbykuMTUgRyAyLjUobnQpCistMi41IEcoaGUga2lsbC1yaW5nLiktMi41IEUgRjEoa2lsbFwyNTV3aG9sZVwyNTVsaW5lKTEwOCA0MTIuOCBRIEYwCisoS2lsbCBhbGwgY2hhcmFjdGVycyBvbiB0aGUgY3VycmVudCBsaW5lLCBubyBtYXR0ZXIgd2hlcmUgcG9pbnQgaXMuKTE0NAorNDI0LjggUSBGMShraWxsXDI1NXcpMTA4IDQzNi44IFEob3JkIFwoTVwyNTVkXCkpLS4xIEUgRjAgLjcyOAorKEtpbGwgZnJvbSBwb2ludCB0byB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IHcpMTQ0IDQ0OC44IFIgLjcyOQogKG9yZCwgb3IgaWYgYmV0d2VlbiB3KS0uMSBGIC43Mjkob3JkcywgdG8gdGhlIGVuZCBvZiB0aGUgbmUpLS4xIEYgLjcyOQotKHh0IHcpLS4xNSBGKG9yZC4pLS4xIEUgLS44KFdvKTE0NCAxMDggUworKHh0IHcpLS4xNSBGKG9yZC4pLS4xIEUgLS44KFdvKTE0NCA0NjAuOCBTCiAocmQgYm91bmRhcmllcyBhcmUgdGhlIHNhbWUgYXMgdGhvc2UgdXNlZCBieSkuOCBFIEYxIC0uMjUoZm8pMi41IEcKLShyd2FyZFwyNTV3KS4yNSBFKG9yZCktLjEgRSBGMCguKUEgRjEoYmFja3dhcmRcMjU1a2lsbFwyNTV3KTEwOCAxMjAgUQotKG9yZCBcKE1cMjU1UnVib3V0XCkpLS4xIEUgRjAoS2lsbCB0aGUgdykxNDQgMTMyIFEob3JkIGJlaGluZCBwb2ludC4pLS4xCi1FIC0uOChXbyk1IEcocmQgYm91bmRhcmllcyBhcmUgdGhlIHNhbWUgYXMgdGhvc2UgdXNlZCBieSkuOCBFIEYxCi0oYmFja3dhcmRcMjU1dykyLjUgRShvcmQpLS4xIEUgRjAoLilBIEYxKHNoZWxsXDI1NWtpbGxcMjU1dykxMDggMTQ0IFEKKyhyd2FyZFwyNTV3KS4yNSBFKG9yZCktLjEgRSBGMCguKUEgRjEoYmFja3dhcmRcMjU1a2lsbFwyNTV3KTEwOCA0NzIuOCBRCisob3JkIFwoTVwyNTVSdWJvdXRcKSktLjEgRSBGMChLaWxsIHRoZSB3KTE0NCA0ODQuOCBRKG9yZCBiZWhpbmQgcG9pbnQuKQorLS4xIEUgLS44KFdvKTUgRyhyZCBib3VuZGFyaWVzIGFyZSB0aGUgc2FtZSBhcyB0aG9zZSB1c2VkIGJ5KS44IEUgRjEKKyhiYWNrd2FyZFwyNTV3KTIuNSBFKG9yZCktLjEgRSBGMCguKUEgRjEoc2hlbGxcMjU1a2lsbFwyNTV3KTEwOCA0OTYuOCBRCiAob3JkIFwoTVwyNTVkXCkpLS4xIEUgRjAgLjcyOQotKEtpbGwgZnJvbSBwb2ludCB0byB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IHcpMTQ0IDE1NiBSIC43MjgKKyhLaWxsIGZyb20gcG9pbnQgdG8gdGhlIGVuZCBvZiB0aGUgY3VycmVudCB3KTE0NCA1MDguOCBSIC43MjgKIChvcmQsIG9yIGlmIGJldHdlZW4gdyktLjEgRiAuNzI4KG9yZHMsIHRvIHRoZSBlbmQgb2YgdGhlIG5lKS0uMSBGIC43MjgKLSh4dCB3KS0uMTUgRihvcmQuKS0uMSBFIC0uOChXbykxNDQgMTY4IFMKKyh4dCB3KS0uMTUgRihvcmQuKS0uMSBFIC0uOChXbykxNDQgNTIwLjggUwogKHJkIGJvdW5kYXJpZXMgYXJlIHRoZSBzYW1lIGFzIHRob3NlIHVzZWQgYnkpLjggRSBGMShzaGVsbFwyNTVmKTIuNSBFCiAob3J3YXJkXDI1NXcpLS4yNSBFKG9yZCktLjEgRSBGMCguKUEgRjEoc2hlbGxcMjU1YmFja3dhcmRcMjU1a2lsbFwyNTV3KQotMTA4IDE4MCBRKG9yZCBcKE1cMjU1UnVib3V0XCkpLS4xIEUgRjAgMy4wMjUoS2lsbCB0aGUgdykxNDQgMTkyIFIgMy4wMjUKLShvcmQgYmVoaW5kIHBvaW50LiktLjEgRiAtLjgoV28pOC4wMjUgRyAzLjAyNQorMTA4IDUzMi44IFEob3JkIFwoTVwyNTVSdWJvdXRcKSktLjEgRSBGMCAzLjAyNShLaWxsIHRoZSB3KTE0NCA1NDQuOCBSCiszLjAyNShvcmQgYmVoaW5kIHBvaW50LiktLjEgRiAtLjgoV28pOC4wMjUgRyAzLjAyNQogKHJkIGJvdW5kYXJpZXMgYXJlIHRoZSBzYW1lIGFzIHRob3NlIHVzZWQgYnkpLjggRiBGMShzaGVsbFwyNTViYWNrLSkKLTUuNTI1IEUod2FyZFwyNTV3KTE0NCAyMDQgUShvcmQpLS4xIEUgRjAoLilBIEYxKHVuaXhcMjU1dykxMDggMjE2IFEKLShvcmRcMjU1cnVib3V0IFwoQ1wyNTV3XCkpLS4xIEUgRjAgLjM2NShLaWxsIHRoZSB3KTE0NCAyMjggUiAuMzY1Cis1LjUyNSBFKHdhcmRcMjU1dykxNDQgNTU2LjggUShvcmQpLS4xIEUgRjAoLilBIEYxKHVuaXhcMjU1dykxMDggNTY4LjggUQorKG9yZFwyNTVydWJvdXQgXChDXDI1NXdcKSktLjEgRSBGMCAuMzY1KEtpbGwgdGhlIHcpMTQ0IDU4MC44IFIgLjM2NQogKG9yZCBiZWhpbmQgcG9pbnQsIHVzaW5nIHdoaXRlIHNwYWNlIGFzIGEgdyktLjEgRiAuMzY0KG9yZCBib3VuZGFyeSktLjEKIEYgNS4zNjQoLlQpLS42NSBHIC4zNjQoaGUga2lsbGVkIHRlKS01LjM2NCBGIC4zNjQoeHQgaXMgc2EpLS4xNSBGIC0uMTUKICh2ZSktLjIgRyAyLjg2NChkbykuMTUgRyAyLjg2NChudCktMi44NjQgRyhoZSktMi44NjQgRShraWxsLXJpbmcuKTE0NAotMjQwIFEgRjEodW5peFwyNTVcMjE0bGVuYW1lXDI1NXJ1Ym91dCkxMDggMjUyIFEgRjAgLjE2NihLaWxsIHRoZSB3KTE0NAotMjY0IFIgLjE2NgorNTkyLjggUSBGMSh1bml4XDI1NVwyMTRsZW5hbWVcMjU1cnVib3V0KTEwOCA2MDQuOCBRIEYwIC4xNjYoS2lsbCB0aGUgdykKKzE0NCA2MTYuOCBSIC4xNjYKIChvcmQgYmVoaW5kIHBvaW50LCB1c2luZyB3aGl0ZSBzcGFjZSBhbmQgdGhlIHNsYXNoIGNoYXJhY3RlciBhcyB0aGUgdykKLS0uMSBGIC4xNjcob3JkIGJvdW5kYXJpZXMuKS0uMSBGKFRoZSk1LjE2NyBFKGtpbGxlZCB0ZSkxNDQgMjc2IFEKKy0uMSBGIC4xNjcob3JkIGJvdW5kYXJpZXMuKS0uMSBGKFRoZSk1LjE2NyBFKGtpbGxlZCB0ZSkxNDQgNjI4LjggUQogKHh0IGlzIHNhKS0uMTUgRSAtLjE1KHZlKS0uMiBHIDIuNShkbykuMTUgRyAyLjUobnQpLTIuNSBHKGhlIGtpbGwtcmluZy4pCi0tMi41IEUgRjEoZGVsZXRlXDI1NWhvcml6b250YWxcMjU1c3BhY2UgXChNXDI1NVxcXCkpMTA4IDI4OCBRIEYwCi0oRGVsZXRlIGFsbCBzcGFjZXMgYW5kIHRhYnMgYXJvdW5kIHBvaW50LikxNDQgMzAwIFEgRjEoa2lsbFwyNTVyKTEwOCAzMTIKLVEoZWdpb24pLS4xOCBFIEYwKEtpbGwgdGhlIHRlKTE0NCAzMjQgUSh4dCBpbiB0aGUgY3VycmVudCByZSktLjE1IEUKLShnaW9uLiktLjE1IEUgRjEoY29weVwyNTVyKTEwOCAzMzYgUShlZ2lvblwyNTVhc1wyNTVraWxsKS0uMTggRSBGMChDb3ApCi0xNDQgMzQ4IFEgMi41KHl0KS0uMSBHKGhlIHRlKS0yLjUgRSh4dCBpbiB0aGUgcmUpLS4xNSBFCi0oZ2lvbiB0byB0aGUga2lsbCBiKS0uMTUgRSh1ZiktLjIgRShmZXIpLS4yNSBFKC4pLS41NSBFIEYxCi0oY29weVwyNTViYWNrd2FyZFwyNTV3KTEwOCAzNjAgUShvcmQpLS4xIEUgRjAoQ29wKTE0NCAzNzIgUSA0LjgwMSh5dCktLjEKLUcgMi4zMDEoaGUgdyktNC44MDEgRiAyLjMwMShvcmQgYmVmb3JlIHBvaW50IHRvIHRoZSBraWxsIGIpLS4xIEYodWYpLS4yCi1FKGZlciktLjI1IEUgNy4zMDEoLlQpLS41NSBHIDIuMzAxKGhlIHcpLTcuMzAxIEYgMi4zCi0ob3JkIGJvdW5kYXJpZXMgYXJlIHRoZSBzYW1lIGFzKS0uMSBGIEYxKGJhY2stKTQuOCBFKHdhcmRcMjU1dykxNDQgMzg0IFEKLShvcmQpLS4xIEUgRjAoLilBIEYxKGNvcHlcMjU1ZikxMDggMzk2IFEob3J3YXJkXDI1NXcpLS4yNSBFKG9yZCktLjEgRSBGMAotKENvcCkxNDQgNDA4IFEgNC41MDcoeXQpLS4xIEcgMi4wMDcoaGUgdyktNC41MDcgRiAyLjAwNyhvcmQgZm9sbG8pLS4xIEYKLTIuMDA3KHdpbmcgcG9pbnQgdG8gdGhlIGtpbGwgYiktLjI1IEYodWYpLS4yIEUoZmVyKS0uMjUgRSA3LjAwOCguVCktLjU1Ci1HIDIuMDA4KGhlIHcpLTcuMDA4IEYgMi4wMDgob3JkIGJvdW5kYXJpZXMgYXJlIHRoZSBzYW1lIGFzKS0uMSBGIEYxIC0uMjUKLShmbyk0LjUwOCBHIC0uMzcoci0pLjI1IEcod2FyZFwyNTV3KTE0NCA0MjAgUShvcmQpLS4xIEUgRjAoLilBIEYxCi0oeWFuayBcKENcMjU1eVwpKTEwOCA0MzIgUSBGMCAtMShZYSkxNDQgNDQ0IFMKLShuayB0aGUgdG9wIG9mIHRoZSBraWxsIHJpbmcgaW50byB0aGUgYikxIEUodWYpLS4yIEUoZmVyIGF0IHBvaW50LiktLjI1Ci1FIEYxKHlhbmtcMjU1cG9wIFwoTVwyNTV5XCkpMTA4IDQ1NiBRIEYwCi0oUm90YXRlIHRoZSBraWxsIHJpbmcsIGFuZCB5YW5rIHRoZSBuZSkxNDQgNDY4IFEgMi41KHd0KS0uMjUgRyAyLjUKLShvcC4gT25seSktMi41IEYgLS4xKHdvKTIuNSBHKHJrcyBmb2xsbykuMSBFKHdpbmcpLS4yNSBFIEYxKHlhbmspMi41IEUKLUYwKG9yKTIuNSBFIEYxKHlhbmtcMjU1cG9wKTIuNSBFIEYwKC4pQSBGMShOdW1lcmljIEFyKTg3IDQ4NC44IFEKLShndW1lbnRzKS0uMSBFKGRpZ2l0XDI1NWFyKTEwOCA0OTYuOCBRCi0oZ3VtZW50IFwoTVwyNTUwLCBNXDI1NTEsIC4uLiwgTVwyNTVcMjU1XCkpLS4xIEUgRjAgLjY0MgotKEFkZCB0aGlzIGRpZ2l0IHRvIHRoZSBhcikxNDQgNTA4LjggUiAuNjQxCi0oZ3VtZW50IGFscmVhZHkgYWNjdW11bGF0aW5nLCBvciBzdGFydCBhIG5lKS0uMTggRiAzLjE0MSh3YSktLjI1IEcgLS4xOAotKHJnKS0zLjE0MSBHIDMuMTQxKHVtZW50LiBNXDI1NVwyNTUpLjE4IEYgLjY0MShzdGFydHMgYSBuZSkzLjE0MSBGKGctKQotLS4xNSBFKGF0aSkxNDQgNTIwLjggUSAuMyAtLjE1KHZlIGEpLS4yNSBIIC0uMTgocmcpLjE1IEcodW1lbnQuKS4xOCBFIEYxCi0odW5pKTEwOCA1MzIuOCBRIC0uMSh2ZSktLjEgRyhyc2FsXDI1NWFyKS4xIEUoZ3VtZW50KS0uMSBFIEYwIC43NzgKLShUaGlzIGlzIGFub3RoZXIgdykxNDQgNTQ0LjggUiAuNzc5KGF5IHRvIHNwZWNpZnkgYW4gYXIpLS4xIEYgMy4yNzkKLShndW1lbnQuIElmKS0uMTggRiAuNzc5KHRoaXMgY29tbWFuZCBpcyBmb2xsbykzLjI3OSBGIC43NzkKLSh3ZWQgYnkgb25lIG9yIG1vcmUgZGlnaXRzLCktLjI1IEYgMS4zNzYKLShvcHRpb25hbGx5IHdpdGggYSBsZWFkaW5nIG1pbnVzIHNpZ24sIHRob3NlIGRpZ2l0cyBkZVwyMTRuZSB0aGUgYXIpMTQ0Ci01NTYuOCBSIDMuODc2KGd1bWVudC4gSWYpLS4xOCBGIDEuMzc2KHRoZSBjb21tYW5kIGlzIGZvbC0pMy44NzYgRihsbykxNDQKLTU2OC44IFEgMS4xNyh3ZWQgYnkgZGlnaXRzLCBlKS0uMjUgRiAtLjE1KHhlKS0uMTUgRyhjdXRpbmcpLjE1IEUgRjEodW5pKQotMy42NyBFIC0uMSh2ZSktLjEgRyhyc2FsXDI1NWFyKS4xIEUoZ3VtZW50KS0uMSBFIEYwKGFnKTMuNjcgRSAxLjE3Ci0oYWluIGVuZHMgdGhlIG51bWVyaWMgYXIpLS4wNSBGIDEuMTcoZ3VtZW50LCBiKS0uMTggRiAxLjE3KHV0IGlzIG90aGVyKQotLS4yIEYoLSktLjIgRSAuODk5KHdpc2UgaWdub3JlZC4pMTQ0IDU4MC44IFIgLjg5OAotKEFzIGEgc3BlY2lhbCBjYXNlLCBpZiB0aGlzIGNvbW1hbmQgaXMgaW1tZWRpYXRlbHkgZm9sbG8pNS44OTkgRiAuODk4Ci0od2VkIGJ5IGEgY2hhcmFjdGVyIHRoYXQgaXMpLS4yNSBGIC4yNDMKLShuZWl0aGVyIGEgZGlnaXQgb3IgbWludXMgc2lnbiwgdGhlIGFyKTE0NCA1OTIuOCBSIC4yNDMKLShndW1lbnQgY291bnQgZm9yIHRoZSBuZSktLjE4IEYgLjI0Myh4dCBjb21tYW5kIGlzIG11bHRpcGxpZWQgYnkgZm91cikKLS0uMTUgRiA1LjI0MyguVCktLjU1IEcoaGUpLTUuMjQzIEUoYXIpMTQ0IDYwNC44IFEgLjM3OAotKGd1bWVudCBjb3VudCBpcyBpbml0aWFsbHkgb25lLCBzbyBlKS0uMTggRiAtLjE1KHhlKS0uMTUgRyAuMzc4Ci0oY3V0aW5nIHRoaXMgZnVuY3Rpb24gdGhlIFwyMTRyc3QgdGltZSBtYWspLjE1IEYgLjM3OChlcyB0aGUgYXIpLS4xIEYKLS4zNzgoZ3VtZW50IGNvdW50KS0uMTggRihmb3VyKTE0NCA2MTYuOCBRIDIuNSgsYXMpLS40IEcoZWNvbmQgdGltZSBtYWspCi0tMi41IEUoZXMgdGhlIGFyKS0uMSBFKGd1bWVudCBjb3VudCBzaXh0ZWVuLCBhbmQgc28gb24uKS0uMTggRSBGMQotKENvbXBsZXRpbmcpODcgNjMzLjYgUShjb21wbGV0ZSBcKFQpMTA4IDY0NS42IFEoQUJcKSktLjkgRSBGMCAxLjEzNwotKEF0dGVtcHQgdG8gcGVyZm9ybSBjb21wbGV0aW9uIG9uIHRoZSB0ZSkxNDQgNjU3LjYgUiAxLjEzNwotKHh0IGJlZm9yZSBwb2ludC4pLS4xNSBGIEYxKEJhc2gpNi4xMzcgRSBGMCAxLjEzNwotKGF0dGVtcHRzIGNvbXBsZXRpb24gdHJlYXRpbmcgdGhlKTMuNjM3IEYodGUpMTQ0IDY2OS42IFEgLjUzMyh4dCBhcyBhIHYpCi0tLjE1IEYgLjUzMyhhcmlhYmxlIFwoaWYgdGhlIHRlKS0uMjUgRiAuNTMzKHh0IGJlKS0uMTUgRiAuNTMzKGdpbnMgd2l0aCkKLS0uMTUgRiBGMSgkKTMuMDMzIEUgRjAgLjUzMyhcKSwgdXNlcm5hbWUgXChpZiB0aGUgdGUpQiAuNTMyKHh0IGJlKS0uMTUgRgotLjUzMihnaW5zIHdpdGgpLS4xNSBGIEYxKH4pMy4wMzIgRSBGMCAuNTMyKFwpLCBob3N0bmFtZSBcKGlmIHRoZSlCKHRlKQotMTQ0IDY4MS42IFEgLjcwMSh4dCBiZSktLjE1IEYgLjcwMShnaW5zIHdpdGgpLS4xNSBGIEYxKEApMy4yMDEgRSBGMCAuNzAxCi0oXCksIG9yIGNvbW1hbmQgXChpbmNsdWRpbmcgYWxpYXNlcyBhbmQgZnVuY3Rpb25zXCkgaW4gdHVybi4pQiAuNzAyCi0oSWYgbm9uZSBvZiB0aGVzZSBwcm8tKTUuNzAxIEYKLShkdWNlcyBhIG1hdGNoLCBcMjE0bGVuYW1lIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkLikxNDQgNjkzLjYgUSBGMQotKHBvc3NpYmxlXDI1NWNvbXBsZXRpb25zIFwoTVwyNTU/XCkpMTA4IDcwNS42IFEgRjAKLShMaXN0IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBvZiB0aGUgdGUpMTQ0IDcxNy42IFEoeHQgYmVmb3JlIHBvaW50LikKLS0uMTUgRShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFKDQxKTE5MC45NSBFIDAgQ2cKLUVQCistMi41IEUgRjEoZGVsZXRlXDI1NWhvcml6b250YWxcMjU1c3BhY2UgXChNXDI1NVxcXCkpMTA4IDY0MC44IFEgRjAKKyhEZWxldGUgYWxsIHNwYWNlcyBhbmQgdGFicyBhcm91bmQgcG9pbnQuKTE0NCA2NTIuOCBRIEYxKGtpbGxcMjU1cikxMDgKKzY2NC44IFEoZWdpb24pLS4xOCBFIEYwKEtpbGwgdGhlIHRlKTE0NCA2NzYuOCBRKHh0IGluIHRoZSBjdXJyZW50IHJlKQorLS4xNSBFKGdpb24uKS0uMTUgRSBGMShjb3B5XDI1NXIpMTA4IDY4OC44IFEoZWdpb25cMjU1YXNcMjU1a2lsbCktLjE4IEUKK0YwKENvcCkxNDQgNzAwLjggUSAyLjUoeXQpLS4xIEcoaGUgdGUpLTIuNSBFKHh0IGluIHRoZSByZSktLjE1IEUKKyhnaW9uIHRvIHRoZSBraWxsIGIpLS4xNSBFKHVmKS0uMiBFKGZlciktLjI1IEUoLiktLjU1IEUoR05VIEJhc2gtNC4xKTcyCis3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg0MSkxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiA0MiA0MgogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoaW5zZXJ0XDI1NWNvbXBsZXRpb25zIFwoTVwyNTUqXCkpMTA4IDg0IFEKLUYwIC43ODMoSW5zZXJ0IGFsbCBjb21wbGV0aW9ucyBvZiB0aGUgdGUpMTQ0IDk2IFIgLjc4MworLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihjb3B5XDI1NWJhY2t3YXJkXDI1NXcpMTA4IDg0IFEob3JkKS0uMSBFIEYwCisoQ29wKTE0NCA5NiBRIDQuODAxKHl0KS0uMSBHIDIuMzAxKGhlIHcpLTQuODAxIEYgMi4zMDEKKyhvcmQgYmVmb3JlIHBvaW50IHRvIHRoZSBraWxsIGIpLS4xIEYodWYpLS4yIEUoZmVyKS0uMjUgRSA3LjMwMSguVCktLjU1CitHIDIuMzAxKGhlIHcpLTcuMzAxIEYgMi4zKG9yZCBib3VuZGFyaWVzIGFyZSB0aGUgc2FtZSBhcyktLjEgRiBGMShiYWNrLSkKKzQuOCBFKHdhcmRcMjU1dykxNDQgMTA4IFEob3JkKS0uMSBFIEYwKC4pQSBGMShjb3B5XDI1NWYpMTA4IDEyMCBRCisob3J3YXJkXDI1NXcpLS4yNSBFKG9yZCktLjEgRSBGMChDb3ApMTQ0IDEzMiBRIDQuNTA3KHl0KS0uMSBHIDIuMDA3CisoaGUgdyktNC41MDcgRiAyLjAwNyhvcmQgZm9sbG8pLS4xIEYgMi4wMDcod2luZyBwb2ludCB0byB0aGUga2lsbCBiKS0uMjUKK0YodWYpLS4yIEUoZmVyKS0uMjUgRSA3LjAwOCguVCktLjU1IEcgMi4wMDgoaGUgdyktNy4wMDggRiAyLjAwOAorKG9yZCBib3VuZGFyaWVzIGFyZSB0aGUgc2FtZSBhcyktLjEgRiBGMSAtLjI1KGZvKTQuNTA4IEcgLS4zNyhyLSkuMjUgRworKHdhcmRcMjU1dykxNDQgMTQ0IFEob3JkKS0uMSBFIEYwKC4pQSBGMSh5YW5rIFwoQ1wyNTV5XCkpMTA4IDE1NiBRIEYwIC0xCisoWWEpMTQ0IDE2OCBTKG5rIHRoZSB0b3Agb2YgdGhlIGtpbGwgcmluZyBpbnRvIHRoZSBiKTEgRSh1ZiktLjIgRQorKGZlciBhdCBwb2ludC4pLS4yNSBFIEYxKHlhbmtcMjU1cG9wIFwoTVwyNTV5XCkpMTA4IDE4MCBRIEYwCisoUm90YXRlIHRoZSBraWxsIHJpbmcsIGFuZCB5YW5rIHRoZSBuZSkxNDQgMTkyIFEgMi41KHd0KS0uMjUgRyAyLjUKKyhvcC4gT25seSktMi41IEYgLS4xKHdvKTIuNSBHKHJrcyBmb2xsbykuMSBFKHdpbmcpLS4yNSBFIEYxKHlhbmspMi41IEUKK0YwKG9yKTIuNSBFIEYxKHlhbmtcMjU1cG9wKTIuNSBFIEYwKC4pQSBGMShOdW1lcmljIEFyKTg3IDIwOC44IFEKKyhndW1lbnRzKS0uMSBFKGRpZ2l0XDI1NWFyKTEwOCAyMjAuOCBRCisoZ3VtZW50IFwoTVwyNTUwLCBNXDI1NTEsIC4uLiwgTVwyNTVcMjU1XCkpLS4xIEUgRjAgLjY0MgorKEFkZCB0aGlzIGRpZ2l0IHRvIHRoZSBhcikxNDQgMjMyLjggUiAuNjQxCisoZ3VtZW50IGFscmVhZHkgYWNjdW11bGF0aW5nLCBvciBzdGFydCBhIG5lKS0uMTggRiAzLjE0MSh3YSktLjI1IEcgLS4xOAorKHJnKS0zLjE0MSBHIDMuMTQxKHVtZW50LiBNXDI1NVwyNTUpLjE4IEYgLjY0MShzdGFydHMgYSBuZSkzLjE0MSBGKGctKQorLS4xNSBFKGF0aSkxNDQgMjQ0LjggUSAuMyAtLjE1KHZlIGEpLS4yNSBIIC0uMTgocmcpLjE1IEcodW1lbnQuKS4xOCBFIEYxCisodW5pKTEwOCAyNTYuOCBRIC0uMSh2ZSktLjEgRyhyc2FsXDI1NWFyKS4xIEUoZ3VtZW50KS0uMSBFIEYwIC43NzgKKyhUaGlzIGlzIGFub3RoZXIgdykxNDQgMjY4LjggUiAuNzc5KGF5IHRvIHNwZWNpZnkgYW4gYXIpLS4xIEYgMy4yNzkKKyhndW1lbnQuIElmKS0uMTggRiAuNzc5KHRoaXMgY29tbWFuZCBpcyBmb2xsbykzLjI3OSBGIC43NzkKKyh3ZWQgYnkgb25lIG9yIG1vcmUgZGlnaXRzLCktLjI1IEYgMS4zNzYKKyhvcHRpb25hbGx5IHdpdGggYSBsZWFkaW5nIG1pbnVzIHNpZ24sIHRob3NlIGRpZ2l0cyBkZVwyMTRuZSB0aGUgYXIpMTQ0CisyODAuOCBSIDMuODc2KGd1bWVudC4gSWYpLS4xOCBGIDEuMzc2KHRoZSBjb21tYW5kIGlzIGZvbC0pMy44NzYgRihsbykxNDQKKzI5Mi44IFEgMS4xNyh3ZWQgYnkgZGlnaXRzLCBlKS0uMjUgRiAtLjE1KHhlKS0uMTUgRyhjdXRpbmcpLjE1IEUgRjEodW5pKQorMy42NyBFIC0uMSh2ZSktLjEgRyhyc2FsXDI1NWFyKS4xIEUoZ3VtZW50KS0uMSBFIEYwKGFnKTMuNjcgRSAxLjE3CisoYWluIGVuZHMgdGhlIG51bWVyaWMgYXIpLS4wNSBGIDEuMTcoZ3VtZW50LCBiKS0uMTggRiAxLjE3KHV0IGlzIG90aGVyKQorLS4yIEYoLSktLjIgRSAuODk5KHdpc2UgaWdub3JlZC4pMTQ0IDMwNC44IFIgLjg5OAorKEFzIGEgc3BlY2lhbCBjYXNlLCBpZiB0aGlzIGNvbW1hbmQgaXMgaW1tZWRpYXRlbHkgZm9sbG8pNS44OTkgRiAuODk4Cisod2VkIGJ5IGEgY2hhcmFjdGVyIHRoYXQgaXMpLS4yNSBGIC4yNDMKKyhuZWl0aGVyIGEgZGlnaXQgb3IgbWludXMgc2lnbiwgdGhlIGFyKTE0NCAzMTYuOCBSIC4yNDMKKyhndW1lbnQgY291bnQgZm9yIHRoZSBuZSktLjE4IEYgLjI0Myh4dCBjb21tYW5kIGlzIG11bHRpcGxpZWQgYnkgZm91cikKKy0uMTUgRiA1LjI0MyguVCktLjU1IEcoaGUpLTUuMjQzIEUoYXIpMTQ0IDMyOC44IFEgLjM3OAorKGd1bWVudCBjb3VudCBpcyBpbml0aWFsbHkgb25lLCBzbyBlKS0uMTggRiAtLjE1KHhlKS0uMTUgRyAuMzc4CisoY3V0aW5nIHRoaXMgZnVuY3Rpb24gdGhlIFwyMTRyc3QgdGltZSBtYWspLjE1IEYgLjM3OChlcyB0aGUgYXIpLS4xIEYKKy4zNzgoZ3VtZW50IGNvdW50KS0uMTggRihmb3VyKTE0NCAzNDAuOCBRIDIuNSgsYXMpLS40IEcoZWNvbmQgdGltZSBtYWspCistMi41IEUoZXMgdGhlIGFyKS0uMSBFKGd1bWVudCBjb3VudCBzaXh0ZWVuLCBhbmQgc28gb24uKS0uMTggRSBGMQorKENvbXBsZXRpbmcpODcgMzU3LjYgUShjb21wbGV0ZSBcKFQpMTA4IDM2OS42IFEoQUJcKSktLjkgRSBGMCAxLjEzNworKEF0dGVtcHQgdG8gcGVyZm9ybSBjb21wbGV0aW9uIG9uIHRoZSB0ZSkxNDQgMzgxLjYgUiAxLjEzNworKHh0IGJlZm9yZSBwb2ludC4pLS4xNSBGIEYxKEJhc2gpNi4xMzcgRSBGMCAxLjEzNworKGF0dGVtcHRzIGNvbXBsZXRpb24gdHJlYXRpbmcgdGhlKTMuNjM3IEYodGUpMTQ0IDM5My42IFEgLjUzMyh4dCBhcyBhIHYpCistLjE1IEYgLjUzMyhhcmlhYmxlIFwoaWYgdGhlIHRlKS0uMjUgRiAuNTMzKHh0IGJlKS0uMTUgRiAuNTMzKGdpbnMgd2l0aCkKKy0uMTUgRiBGMSgkKTMuMDMzIEUgRjAgLjUzMyhcKSwgdXNlcm5hbWUgXChpZiB0aGUgdGUpQiAuNTMyKHh0IGJlKS0uMTUgRgorLjUzMihnaW5zIHdpdGgpLS4xNSBGIEYxKH4pMy4wMzIgRSBGMCAuNTMyKFwpLCBob3N0bmFtZSBcKGlmIHRoZSlCKHRlKQorMTQ0IDQwNS42IFEgLjcwMSh4dCBiZSktLjE1IEYgLjcwMShnaW5zIHdpdGgpLS4xNSBGIEYxKEApMy4yMDEgRSBGMCAuNzAxCisoXCksIG9yIGNvbW1hbmQgXChpbmNsdWRpbmcgYWxpYXNlcyBhbmQgZnVuY3Rpb25zXCkgaW4gdHVybi4pQiAuNzAyCisoSWYgbm9uZSBvZiB0aGVzZSBwcm8tKTUuNzAxIEYKKyhkdWNlcyBhIG1hdGNoLCBcMjE0bGVuYW1lIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkLikxNDQgNDE3LjYgUSBGMQorKHBvc3NpYmxlXDI1NWNvbXBsZXRpb25zIFwoTVwyNTU/XCkpMTA4IDQyOS42IFEgRjAKKyhMaXN0IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBvZiB0aGUgdGUpMTQ0IDQ0MS42IFEoeHQgYmVmb3JlIHBvaW50LikKKy0uMTUgRSBGMShpbnNlcnRcMjU1Y29tcGxldGlvbnMgXChNXDI1NSpcKSkxMDggNDUzLjYgUSBGMCAuNzgzCisoSW5zZXJ0IGFsbCBjb21wbGV0aW9ucyBvZiB0aGUgdGUpMTQ0IDQ2NS42IFIgLjc4MwogKHh0IGJlZm9yZSBwb2ludCB0aGF0IHcpLS4xNSBGIC43ODMob3VsZCBoYSktLjEgRiAxLjA4MyAtLjE1KHZlIGIpLS4yIEgKLS43ODMoZWVuIGdlbmVyYXRlZCBieSkuMTUgRiBGMShwb3NzaWJsZVwyNTVjb20tKTMuMjgyIEUocGxldGlvbnMpMTQ0IDEwOAotUSBGMCguKUEgRjEobWVudVwyNTVjb21wbGV0ZSkxMDggMTIwIFEgRjAgLjkyOChTaW1pbGFyIHRvKTE0NCAxMzIgUiBGMQotKGNvbXBsZXRlKTMuNDI4IEUgRjAgMy40MjgoLGIpQyAuOTI5KHV0IHJlcGxhY2VzIHRoZSB3KS0zLjYyOCBGIC45MjkKLShvcmQgdG8gYmUgY29tcGxldGVkIHdpdGggYSBzaW5nbGUgbWF0Y2ggZnJvbSB0aGUgbGlzdCBvZiktLjEgRiAxLjE5NAotKHBvc3NpYmxlIGNvbXBsZXRpb25zLikxNDQgMTQ0IFIgMS4xOTQoUmVwZWF0ZWQgZSk2LjE5NCBGIC0uMTUoeGUpLS4xNSBHCi0xLjE5NChjdXRpb24gb2YpLjE1IEYgRjEobWVudVwyNTVjb21wbGV0ZSkzLjY5NCBFIEYwIDEuMTkzCisuNzgzKGVlbiBnZW5lcmF0ZWQgYnkpLjE1IEYgRjEocG9zc2libGVcMjU1Y29tLSkzLjI4MiBFKHBsZXRpb25zKTE0NAorNDc3LjYgUSBGMCguKUEgRjEobWVudVwyNTVjb21wbGV0ZSkxMDggNDg5LjYgUSBGMCAuOTI4KFNpbWlsYXIgdG8pMTQ0Cis1MDEuNiBSIEYxKGNvbXBsZXRlKTMuNDI4IEUgRjAgMy40MjgoLGIpQyAuOTI5KHV0IHJlcGxhY2VzIHRoZSB3KS0zLjYyOAorRiAuOTI5KG9yZCB0byBiZSBjb21wbGV0ZWQgd2l0aCBhIHNpbmdsZSBtYXRjaCBmcm9tIHRoZSBsaXN0IG9mKS0uMSBGCisxLjE5NChwb3NzaWJsZSBjb21wbGV0aW9ucy4pMTQ0IDUxMy42IFIgMS4xOTQoUmVwZWF0ZWQgZSk2LjE5NCBGIC0uMTUKKyh4ZSktLjE1IEcgMS4xOTQoY3V0aW9uIG9mKS4xNSBGIEYxKG1lbnVcMjU1Y29tcGxldGUpMy42OTQgRSBGMCAxLjE5MwogKHN0ZXBzIHRocm91Z2ggdGhlIGxpc3Qgb2YgcG9zc2libGUpMy42OTQgRiAuODI4Ci0oY29tcGxldGlvbnMsIGluc2VydGluZyBlYWNoIG1hdGNoIGluIHR1cm4uKTE0NCAxNTYgUiAuODI4CisoY29tcGxldGlvbnMsIGluc2VydGluZyBlYWNoIG1hdGNoIGluIHR1cm4uKTE0NCA1MjUuNiBSIC44MjgKIChBdCB0aGUgZW5kIG9mIHRoZSBsaXN0IG9mIGNvbXBsZXRpb25zLCB0aGUgYmVsbCBpcyBydW5nKTUuODI4IEYgLjcyNwotKFwoc3ViamVjdCB0byB0aGUgc2V0dGluZyBvZikxNDQgMTY4IFIgRjEoYmVsbFwyNTVzdHlsZSkzLjIyNyBFIEYwIDMuMjI3Ci0oXClhKUMgLjcyNyhuZCB0aGUgb3JpZ2luYWwgdGUpLTMuMjI3IEYgLjcyNyh4dCBpcyByZXN0b3JlZC4pLS4xNSBGIC43MjcKLShBbiBhcik1LjcyNyBGIC43MjcoZ3VtZW50IG9mKS0uMTggRi9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihuKTMuMjI3IEUKLUYwKG1vKTMuMjI3IEUgLS4xNSh2ZSktLjE1IEcocykuMTUgRSBGMihuKTMuMjI3IEUgRjAgMS43MwotKHBvc2l0aW9ucyBmb3J3KTE0NCAxODAgUiAxLjczKGFyZCBpbiB0aGUgbGlzdCBvZiBtYXRjaGVzOyBhIG5lKS0uMSBGCisoXChzdWJqZWN0IHRvIHRoZSBzZXR0aW5nIG9mKTE0NCA1MzcuNiBSIEYxKGJlbGxcMjU1c3R5bGUpMy4yMjcgRSBGMAorMy4yMjcoXClhKUMgLjcyNyhuZCB0aGUgb3JpZ2luYWwgdGUpLTMuMjI3IEYgLjcyNyh4dCBpcyByZXN0b3JlZC4pLS4xNSBGCisuNzI3KEFuIGFyKTUuNzI3IEYgLjcyNyhndW1lbnQgb2YpLS4xOCBGL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGKG4pMy4yMjcKK0UgRjAobW8pMy4yMjcgRSAtLjE1KHZlKS0uMTUgRyhzKS4xNSBFIEYyKG4pMy4yMjcgRSBGMCAxLjczCisocG9zaXRpb25zIGZvcncpMTQ0IDU0OS42IFIgMS43MyhhcmQgaW4gdGhlIGxpc3Qgb2YgbWF0Y2hlczsgYSBuZSktLjEgRgogLS4wNShnYSktLjE1IEcodGkpLjA1IEUgMi4wMyAtLjE1KHZlIGEpLS4yNSBIIC0uMTgocmcpLjE1IEcgMS43MwogKHVtZW50IG1heSBiZSB1c2VkIHRvIG1vKS4xOCBGIDIuMDMgLS4xNSh2ZSBiKS0uMTUgSChhY2t3KS4xNSBFKGFyZCktLjEKLUUodGhyb3VnaCB0aGUgbGlzdC4pMTQ0IDE5MiBRKFRoaXMgY29tbWFuZCBpcyBpbnRlbmRlZCB0byBiZSBib3VuZCB0byk1Ci1FIEYxIC0uOShUQSkyLjUgRyhCKS45IEUgRjAgMi41KCxiKUModXQgaXMgdW5ib3VuZCBieSBkZWYpLTIuNyBFKGF1bHQuKQotLS4xIEUgRjEoZGVsZXRlXDI1NWNoYXJcMjU1b3JcMjU1bGlzdCkxMDggMjA0IFEgRjAgLjIzNAotKERlbGV0ZXMgdGhlIGNoYXJhY3RlciB1bmRlciB0aGUgY3Vyc29yIGlmIG5vdCBhdCB0aGUgYmUpMTQ0IDIxNiBSIC4yMzQKLShnaW5uaW5nIG9yIGVuZCBvZiB0aGUgbGluZSBcKGxpayktLjE1IEYoZSktLjEgRSBGMShkZWxldGVcMjU1Y2hhcikyLjczNAotRSBGMChcKS4pQSAuNDI1KElmIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUsIGJlaGEpMTQ0IDIyOCBSIC0uMTUodmUpLS4yIEcKLTIuOTI1KHNpKS4xNSBHIC40MjUoZGVudGljYWxseSB0byktMi45MjUgRiBGMShwb3NzaWJsZVwyNTVjb21wbGV0aW9ucykKLTIuOTI1IEUgRjAgNS40MjUoLlQpQyAuNDI1KGhpcyBjb21tYW5kIGlzIHVuYm91bmQpLTUuNDI1IEYoYnkgZGVmKTE0NAotMjQwIFEoYXVsdC4pLS4xIEUgRjEoY29tcGxldGVcMjU1XDIxNGxlbmFtZSBcKE1cMjU1L1wpKTEwOCAyNTIgUSBGMAotKEF0dGVtcHQgXDIxNGxlbmFtZSBjb21wbGV0aW9uIG9uIHRoZSB0ZSkxNDQgMjY0IFEoeHQgYmVmb3JlIHBvaW50LiktLjE1Ci1FIEYxKHBvc3NpYmxlXDI1NVwyMTRsZW5hbWVcMjU1Y29tcGxldGlvbnMgXChDXDI1NXggL1wpKTEwOCAyNzYgUSBGMAotKExpc3QgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIG9mIHRoZSB0ZSkxNDQgMjg4IFEKK0UodGhyb3VnaCB0aGUgbGlzdC4pMTQ0IDU2MS42IFEoVGhpcyBjb21tYW5kIGlzIGludGVuZGVkIHRvIGJlIGJvdW5kIHRvKQorNSBFIEYxIC0uOShUQSkyLjUgRyhCKS45IEUgRjAgMi41KCxiKUModXQgaXMgdW5ib3VuZCBieSBkZWYpLTIuNyBFCisoYXVsdC4pLS4xIEUgRjEobWVudVwyNTVjb21wbGV0ZS0pMTA4IDU3My42IFEodykxMCBJKGspLTcuMjIgLTEwIE0oYykKKy01LjU2IC0xMCBNKHJkKTIuNzggMTAgTSBGMCAuODIoSWRlbnRpY2FsIHRvKTE0NCA1ODUuNiBSIEYxCisobWVudVwyNTVjb21wbGV0ZSkzLjMyIEUgRjAgMy4zMigsYilDIC44Mih1dCBtbyktMy41MiBGIC0uMTUodmUpLS4xNSBHCiszLjMyKHNiKS4xNSBHKGFja3cpLTMuMzIgRSAuODIKKyhhcmQgdGhyb3VnaCB0aGUgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucywgYXMgaWYpLS4xIEYgRjEKKyhtZW51XDI1NWNvbXBsZXRlKTE0NCA1OTcuNiBRIEYwKGhhZCBiZWVuIGdpKTIuNSBFIC0uMTUodmUpLS4yNSBHIDIuNQorKG5hbikuMTUgRyAtMi4yNSAtLjE1KGVnIGEpLTIuNSBIKHRpKS4xNSBFIC4zIC0uMTUodmUgYSktLjI1IEggLS4xOChyZykKKy4xNSBHIDIuNSh1bWVudC4gVGhpcykuMTggRihjb21tYW5kIGlzIHVuYm91bmQgYnkgZGVmKTIuNSBFKGF1bHQuKS0uMSBFCitGMShkZWxldGVcMjU1Y2hhclwyNTVvclwyNTVsaXN0KTEwOCA2MDkuNiBRIEYwIC4yMzQKKyhEZWxldGVzIHRoZSBjaGFyYWN0ZXIgdW5kZXIgdGhlIGN1cnNvciBpZiBub3QgYXQgdGhlIGJlKTE0NCA2MjEuNiBSCisuMjM0KGdpbm5pbmcgb3IgZW5kIG9mIHRoZSBsaW5lIFwobGlrKS0uMTUgRihlKS0uMSBFIEYxKGRlbGV0ZVwyNTVjaGFyKQorMi43MzUgRSBGMChcKS4pQSAuNDI1KElmIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUsIGJlaGEpMTQ0IDYzMy42IFIgLS4xNQorKHZlKS0uMiBHIDIuOTI1KHNpKS4xNSBHIC40MjUoZGVudGljYWxseSB0byktMi45MjUgRiBGMQorKHBvc3NpYmxlXDI1NWNvbXBsZXRpb25zKTIuOTI1IEUgRjAgNS40MjUoLlQpQyAuNDI1CisoaGlzIGNvbW1hbmQgaXMgdW5ib3VuZCktNS40MjUgRihieSBkZWYpMTQ0IDY0NS42IFEoYXVsdC4pLS4xIEUgRjEKKyhjb21wbGV0ZVwyNTVcMjE0bGVuYW1lIFwoTVwyNTUvXCkpMTA4IDY1Ny42IFEgRjAKKyhBdHRlbXB0IFwyMTRsZW5hbWUgY29tcGxldGlvbiBvbiB0aGUgdGUpMTQ0IDY2OS42IFEoeHQgYmVmb3JlIHBvaW50LikKKy0uMTUgRSBGMShwb3NzaWJsZVwyNTVcMjE0bGVuYW1lXDI1NWNvbXBsZXRpb25zIFwoQ1wyNTV4IC9cKSkxMDggNjgxLjYgUQorRjAoTGlzdCB0aGUgcG9zc2libGUgY29tcGxldGlvbnMgb2YgdGhlIHRlKTE0NCA2OTMuNiBRCiAoeHQgYmVmb3JlIHBvaW50LCB0cmVhdGluZyBpdCBhcyBhIFwyMTRsZW5hbWUuKS0uMTUgRSBGMQotKGNvbXBsZXRlXDI1NXVzZXIpMTA4IDMwMCBRKG5hbWUgXChNXDI1NX5cKSktLjE1IEUgRjAKLShBdHRlbXB0IGNvbXBsZXRpb24gb24gdGhlIHRlKTE0NCAzMTIgUQotKHh0IGJlZm9yZSBwb2ludCwgdHJlYXRpbmcgaXQgYXMgYSB1c2VybmFtZS4pLS4xNSBFIEYxKHBvc3NpYmxlXDI1NXVzZXIpCi0xMDggMzI0IFEobmFtZVwyNTVjb21wbGV0aW9ucyBcKENcMjU1eCB+XCkpLS4xNSBFIEYwCi0oTGlzdCB0aGUgcG9zc2libGUgY29tcGxldGlvbnMgb2YgdGhlIHRlKTE0NCAzMzYgUQotKHh0IGJlZm9yZSBwb2ludCwgdHJlYXRpbmcgaXQgYXMgYSB1c2VybmFtZS4pLS4xNSBFIEYxKGNvbXBsZXRlXDI1NXYpMTA4Ci0zNDggUShhcmlhYmxlIFwoTVwyNTUkXCkpLS4xIEUgRjAoQXR0ZW1wdCBjb21wbGV0aW9uIG9uIHRoZSB0ZSkxNDQgMzYwIFEKLSh4dCBiZWZvcmUgcG9pbnQsIHRyZWF0aW5nIGl0IGFzIGEgc2hlbGwgdiktLjE1IEUoYXJpYWJsZS4pLS4yNSBFIEYxCi0ocG9zc2libGVcMjU1dikxMDggMzcyIFEoYXJpYWJsZVwyNTVjb21wbGV0aW9ucyBcKENcMjU1eCAkXCkpLS4xIEUgRjAKLShMaXN0IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBvZiB0aGUgdGUpMTQ0IDM4NCBRCi0oeHQgYmVmb3JlIHBvaW50LCB0cmVhdGluZyBpdCBhcyBhIHNoZWxsIHYpLS4xNSBFKGFyaWFibGUuKS0uMjUgRSBGMQotKGNvbXBsZXRlXDI1NWhvc3RuYW1lIFwoTVwyNTVAXCkpMTA4IDM5NiBRIEYwCi0oQXR0ZW1wdCBjb21wbGV0aW9uIG9uIHRoZSB0ZSkxNDQgNDA4IFEKLSh4dCBiZWZvcmUgcG9pbnQsIHRyZWF0aW5nIGl0IGFzIGEgaG9zdG5hbWUuKS0uMTUgRSBGMQotKHBvc3NpYmxlXDI1NWhvc3RuYW1lXDI1NWNvbXBsZXRpb25zIFwoQ1wyNTV4IEBcKSkxMDggNDIwIFEgRjAKLShMaXN0IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBvZiB0aGUgdGUpMTQ0IDQzMiBRCi0oeHQgYmVmb3JlIHBvaW50LCB0cmVhdGluZyBpdCBhcyBhIGhvc3RuYW1lLiktLjE1IEUgRjEKLShjb21wbGV0ZVwyNTVjb21tYW5kIFwoTVwyNTUhXCkpMTA4IDQ0NCBRIEYwIC41ODEKLShBdHRlbXB0IGNvbXBsZXRpb24gb24gdGhlIHRlKTE0NCA0NTYgUiAuNTgxCi0oeHQgYmVmb3JlIHBvaW50LCB0cmVhdGluZyBpdCBhcyBhIGNvbW1hbmQgbmFtZS4pLS4xNSBGIC41OAotKENvbW1hbmQgY29tcGxlLSk1LjU4IEYgLjcxNSh0aW9uIGF0dGVtcHRzIHRvIG1hdGNoIHRoZSB0ZSkxNDQgNDY4IFIKLS43MTUoeHQgYWcpLS4xNSBGIC43MTUoYWluc3QgYWxpYXNlcywgcmVzZXJ2KS0uMDUgRiAuNzE1KGVkIHcpLS4xNSBGCi0uNzE1KG9yZHMsIHNoZWxsIGZ1bmN0aW9ucywgc2hlbGwgYiktLjEgRiAuNzE1KHVpbHRpbnMsIGFuZCktLjIgRgotKFwyMTRuYWxseSBlKTE0NCA0ODAgUSAtLjE1KHhlKS0uMTUgRwotKGN1dGFibGUgXDIxNGxlbmFtZXMsIGluIHRoYXQgb3JkZXIpLjE1IEUoLiktLjU1IEUgRjEKLShwb3NzaWJsZVwyNTVjb21tYW5kXDI1NWNvbXBsZXRpb25zIFwoQ1wyNTV4ICFcKSkxMDggNDkyIFEgRjAKLShMaXN0IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBvZiB0aGUgdGUpMTQ0IDUwNCBRCi0oeHQgYmVmb3JlIHBvaW50LCB0cmVhdGluZyBpdCBhcyBhIGNvbW1hbmQgbmFtZS4pLS4xNSBFIEYxCi0oZHluYW1pY1wyNTVjb21wbGV0ZVwyNTVoaXN0b3J5IFwoTVwyNTVUKTEwOCA1MTYgUShBQlwpKS0uOSBFIEYwIC40MjUKLShBdHRlbXB0IGNvbXBsZXRpb24gb24gdGhlIHRlKTE0NCA1MjggUiAuNDI1Ci0oeHQgYmVmb3JlIHBvaW50LCBjb21wYXJpbmcgdGhlIHRlKS0uMTUgRiAuNDI1KHh0IGFnKS0uMTUgRiAuNDI0Ci0oYWluc3QgbGluZXMgZnJvbSB0aGUgaGlzdG9yeSBsaXN0KS0uMDUgRgotKGZvciBwb3NzaWJsZSBjb21wbGV0aW9uIG1hdGNoZXMuKTE0NCA1NDAgUSBGMShkYWIpMTA4IDU1MiBRKGJyKS0uMSBFCi0tLjE1KGV2KS0uMTggRyhcMjU1ZXhwYW5kKS4xNSBFIEYwIC42MQotKEF0dGVtcHQgbWVudSBjb21wbGV0aW9uIG9uIHRoZSB0ZSkxNDQgNTY0IFIgLjYxMQotKHh0IGJlZm9yZSBwb2ludCwgY29tcGFyaW5nIHRoZSB0ZSktLjE1IEYgLjYxMSh4dCBhZyktLjE1IEYgLjYxMQotKGFpbnN0IGxpbmVzIGZyb20gdGhlIGhpcy0pLS4wNSBGCi0odG9yeSBsaXN0IGZvciBwb3NzaWJsZSBjb21wbGV0aW9uIG1hdGNoZXMuKTE0NCA1NzYgUSBGMQotKGNvbXBsZXRlXDI1NWludG9cMjU1YnJhY2VzIFwoTVwyNTV7XCkpMTA4IDU4OCBRIEYwIC40KFBlcmZvcm0gXDIxNGxlbmFcCi1tZSBjb21wbGV0aW9uIGFuZCBpbnNlcnQgdGhlIGxpc3Qgb2YgcG9zc2libGUgY29tcGxldGlvbnMgZW5jbG9zZWQgd2l0aFwKLWluIGJyYWNlcyBzbykxNDQgNjAwIFIodGhlIGxpc3QgaXMgYSkxNDQgNjEyIFEgLS4yNSh2YSktLjIgRwotKGlsYWJsZSB0byB0aGUgc2hlbGwgXChzZWUpLjI1IEUgRjEoQnJhY2UgRXhwYW5zaW9uKTIuNSBFIEYwKGFibykyLjUgRQotLS4xNSh2ZSktLjE1IEcoXCkuKS4xNSBFIEYxIC0uMjUoS2UpODcgNjI4LjggUyh5Ym9hcmQgTWFjcikuMjUgRShvcyktLjE4Ci1FKHN0YXJ0XDI1NWtiZFwyNTVtYWNyKTEwOCA2NDAuOCBRIDIuNShvXCgpLS4xOCBHKENcMjU1eCBcKCktMi41IEUoXCkpCi0uODMzIEUgRjAoQmUpMTQ0IDY1Mi44IFEoZ2luIHNhKS0uMTUgRQotKHZpbmcgdGhlIGNoYXJhY3RlcnMgdHlwZWQgaW50byB0aGUgY3VycmVudCBrKS0uMiBFIC0uMTUoZXkpLS4xIEcKLShib2FyZCBtYWNyby4pLjE1IEUgRjEoZW5kXDI1NWtiZFwyNTVtYWNyKTEwOCA2NjQuOCBRIDIuNShvXCgpLS4xOCBHCi0oQ1wyNTV4IFwpKS0yLjUgRShcKSkuODMzIEUgRjAoU3RvcCBzYSkxNDQgNjc2LjggUQotKHZpbmcgdGhlIGNoYXJhY3RlcnMgdHlwZWQgaW50byB0aGUgY3VycmVudCBrKS0uMiBFIC0uMTUoZXkpLS4xIEcKLShib2FyZCBtYWNybyBhbmQgc3RvcmUgdGhlIGRlXDIxNG5pdGlvbi4pLjE1IEUgRjEKLShjYWxsXDI1NWxhc3RcMjU1a2JkXDI1NW1hY3IpMTA4IDY4OC44IFEgMi41KG9cKCktLjE4IEcoQ1wyNTV4IGVcKSktMi41Ci1FIEYwKFJlLWUpMTQ0IDcwMC44IFEgLS4xNSh4ZSktLjE1IEcgLjk5OShjdXRlIHRoZSBsYXN0IGspLjE1IEYgLS4xNShleSkKLS0uMSBHIC45OTkoYm9hcmQgbWFjcm8gZGVcMjE0bmVkLCBieSBtYWtpbmcgdGhlIGNoYXJhY3RlcnMgaW4gdGhlIG1hY3JvXAotIGFwcGVhciBhcyBpZikuMTUgRih0eXBlZCBhdCB0aGUgaykxNDQgNzEyLjggUSAtLjE1KGV5KS0uMSBHKGJvYXJkLikuMTUKLUUoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDkgRmVicnVhcnkgNykxNDAuOTYgRSg0MikxOTAuOTUgRSAwIENnIEVQCisoY29tcGxldGVcMjU1dXNlcikxMDggNzA1LjYgUShuYW1lIFwoTVwyNTV+XCkpLS4xNSBFIEYwCisoQXR0ZW1wdCBjb21wbGV0aW9uIG9uIHRoZSB0ZSkxNDQgNzE3LjYgUQorKHh0IGJlZm9yZSBwb2ludCwgdHJlYXRpbmcgaXQgYXMgYSB1c2VybmFtZS4pLS4xNSBFKEdOVSBCYXNoLTQuMSk3MiA3NjgKK1EoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoNDIpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNDMgNDMKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKE1pc2NlbGxhbmVvdXMpODcgODQgUSAtLjE4KHJlKTEwOCA5NiBTCi08YWQ3Mj4uMTggRShlYWRcMjU1aW5pdFwyNTVcMjE0bGUgXChDXDI1NXggQ1wyNTVyXCkpLS4xOCBFIEYwIDEuNzc3Ci0oUmVhZCBpbiB0aGUgY29udGVudHMgb2YgdGhlKTE0NCAxMDggUi9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihpbnB1dHIpCi00LjI3NyBFKGMpLS4zNyBFIEYwIDEuNzc2KFwyMTRsZSwgYW5kIGluY29ycG9yYXRlIGFuKTQuMjc2IEYgNC4yNzYoeWIpCi0tLjE1IEcgMS43NzYoaW5kaW5ncyBvciB2KS00LjI3NiBGIDEuNzc2KGFyaWFibGUgYXNzaWdubWVudHMpLS4yNSBGCi0oZm91bmQgdGhlcmUuKTE0NCAxMjAgUSBGMShhYm9ydCBcKENcMjU1Z1wpKTEwOCAxMzIgUSBGMCAzLjI0OAotKEFib3J0IHRoZSBjdXJyZW50IGVkaXRpbmcgY29tbWFuZCBhbmQgcmluZyB0aGUgdGVybWluYWwnKTE0NCAxNDQgUgotNS43NDkoc2IpLS41NSBHIDMuMjQ5KGVsbCBcKHN1YmplY3QgdG8gdGhlIHNldHRpbmcgb2YpLTUuNzQ5IEYgRjEKLShiZWxsXDI1NXN0eWxlKTE0NCAxNTYgUSBGMChcKS4pQSBGMShkb1wyNTV1cHBlcikxMDggMTY4IFEoY2FzZVwyNTV2KQotLS4xOCBFKGVyc2lvbiBcKE1cMjU1YSwgTVwyNTViLCBNXDI1NSktLjEgRSBGMih4KUEgRjEgMi41KCwuKUMoLi5cKSktMi41Ci1FIEYwIDEuNzU2KElmIHRoZSBtZXRhXDIxNGVkIGNoYXJhY3RlcikxNDQgMTgwIFIgRjIoeCk0LjI1NiBFIEYwIDEuNzU1Ci0oaXMgbG8pNC4yNTYgRiAxLjc1NQorLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihwb3NzaWJsZVwyNTV1c2VyKTEwOCA4NCBRCisobmFtZVwyNTVjb21wbGV0aW9ucyBcKENcMjU1eCB+XCkpLS4xNSBFIEYwCisoTGlzdCB0aGUgcG9zc2libGUgY29tcGxldGlvbnMgb2YgdGhlIHRlKTE0NCA5NiBRCisoeHQgYmVmb3JlIHBvaW50LCB0cmVhdGluZyBpdCBhcyBhIHVzZXJuYW1lLiktLjE1IEUgRjEoY29tcGxldGVcMjU1dikxMDgKKzEwOCBRKGFyaWFibGUgXChNXDI1NSRcKSktLjEgRSBGMChBdHRlbXB0IGNvbXBsZXRpb24gb24gdGhlIHRlKTE0NCAxMjAgUQorKHh0IGJlZm9yZSBwb2ludCwgdHJlYXRpbmcgaXQgYXMgYSBzaGVsbCB2KS0uMTUgRShhcmlhYmxlLiktLjI1IEUgRjEKKyhwb3NzaWJsZVwyNTV2KTEwOCAxMzIgUShhcmlhYmxlXDI1NWNvbXBsZXRpb25zIFwoQ1wyNTV4ICRcKSktLjEgRSBGMAorKExpc3QgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIG9mIHRoZSB0ZSkxNDQgMTQ0IFEKKyh4dCBiZWZvcmUgcG9pbnQsIHRyZWF0aW5nIGl0IGFzIGEgc2hlbGwgdiktLjE1IEUoYXJpYWJsZS4pLS4yNSBFIEYxCisoY29tcGxldGVcMjU1aG9zdG5hbWUgXChNXDI1NUBcKSkxMDggMTU2IFEgRjAKKyhBdHRlbXB0IGNvbXBsZXRpb24gb24gdGhlIHRlKTE0NCAxNjggUQorKHh0IGJlZm9yZSBwb2ludCwgdHJlYXRpbmcgaXQgYXMgYSBob3N0bmFtZS4pLS4xNSBFIEYxCisocG9zc2libGVcMjU1aG9zdG5hbWVcMjU1Y29tcGxldGlvbnMgXChDXDI1NXggQFwpKTEwOCAxODAgUSBGMAorKExpc3QgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIG9mIHRoZSB0ZSkxNDQgMTkyIFEKKyh4dCBiZWZvcmUgcG9pbnQsIHRyZWF0aW5nIGl0IGFzIGEgaG9zdG5hbWUuKS0uMTUgRSBGMQorKGNvbXBsZXRlXDI1NWNvbW1hbmQgXChNXDI1NSFcKSkxMDggMjA0IFEgRjAgLjU4CisoQXR0ZW1wdCBjb21wbGV0aW9uIG9uIHRoZSB0ZSkxNDQgMjE2IFIgLjU4MQorKHh0IGJlZm9yZSBwb2ludCwgdHJlYXRpbmcgaXQgYXMgYSBjb21tYW5kIG5hbWUuKS0uMTUgRiAuNTgxCisoQ29tbWFuZCBjb21wbGUtKTUuNTgxIEYgLjcxNSh0aW9uIGF0dGVtcHRzIHRvIG1hdGNoIHRoZSB0ZSkxNDQgMjI4IFIKKy43MTUoeHQgYWcpLS4xNSBGIC43MTUoYWluc3QgYWxpYXNlcywgcmVzZXJ2KS0uMDUgRiAuNzE1KGVkIHcpLS4xNSBGCisuNzE1KG9yZHMsIHNoZWxsIGZ1bmN0aW9ucywgc2hlbGwgYiktLjEgRiAuNzE1KHVpbHRpbnMsIGFuZCktLjIgRgorKFwyMTRuYWxseSBlKTE0NCAyNDAgUSAtLjE1KHhlKS0uMTUgRworKGN1dGFibGUgXDIxNGxlbmFtZXMsIGluIHRoYXQgb3JkZXIpLjE1IEUoLiktLjU1IEUgRjEKKyhwb3NzaWJsZVwyNTVjb21tYW5kXDI1NWNvbXBsZXRpb25zIFwoQ1wyNTV4ICFcKSkxMDggMjUyIFEgRjAKKyhMaXN0IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBvZiB0aGUgdGUpMTQ0IDI2NCBRCisoeHQgYmVmb3JlIHBvaW50LCB0cmVhdGluZyBpdCBhcyBhIGNvbW1hbmQgbmFtZS4pLS4xNSBFIEYxCisoZHluYW1pY1wyNTVjb21wbGV0ZVwyNTVoaXN0b3J5IFwoTVwyNTVUKTEwOCAyNzYgUShBQlwpKS0uOSBFIEYwIC40MjQKKyhBdHRlbXB0IGNvbXBsZXRpb24gb24gdGhlIHRlKTE0NCAyODggUiAuNDI1CisoeHQgYmVmb3JlIHBvaW50LCBjb21wYXJpbmcgdGhlIHRlKS0uMTUgRiAuNDI1KHh0IGFnKS0uMTUgRiAuNDI1CisoYWluc3QgbGluZXMgZnJvbSB0aGUgaGlzdG9yeSBsaXN0KS0uMDUgRgorKGZvciBwb3NzaWJsZSBjb21wbGV0aW9uIG1hdGNoZXMuKTE0NCAzMDAgUSBGMShkYWIpMTA4IDMxMiBRKGJyKS0uMSBFCistLjE1KGV2KS0uMTggRyhcMjU1ZXhwYW5kKS4xNSBFIEYwIC42MTEKKyhBdHRlbXB0IG1lbnUgY29tcGxldGlvbiBvbiB0aGUgdGUpMTQ0IDMyNCBSIC42MTEKKyh4dCBiZWZvcmUgcG9pbnQsIGNvbXBhcmluZyB0aGUgdGUpLS4xNSBGIC42MSh4dCBhZyktLjE1IEYgLjYxCisoYWluc3QgbGluZXMgZnJvbSB0aGUgaGlzLSktLjA1IEYKKyh0b3J5IGxpc3QgZm9yIHBvc3NpYmxlIGNvbXBsZXRpb24gbWF0Y2hlcy4pMTQ0IDMzNiBRIEYxCisoY29tcGxldGVcMjU1aW50b1wyNTVicmFjZXMgXChNXDI1NXtcKSkxMDggMzQ4IFEgRjAgLjQoUGVyZm9ybSBcMjE0bGVuYVwKK21lIGNvbXBsZXRpb24gYW5kIGluc2VydCB0aGUgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucyBlbmNsb3NlZCB3aXRoXAoraW4gYnJhY2VzIHNvKTE0NCAzNjAgUih0aGUgbGlzdCBpcyBhKTE0NCAzNzIgUSAtLjI1KHZhKS0uMiBHCisoaWxhYmxlIHRvIHRoZSBzaGVsbCBcKHNlZSkuMjUgRSBGMShCcmFjZSBFeHBhbnNpb24pMi41IEUgRjAoYWJvKTIuNSBFCistLjE1KHZlKS0uMTUgRyhcKS4pLjE1IEUgRjEgLS4yNShLZSk4NyAzODguOCBTKHlib2FyZCBNYWNyKS4yNSBFKG9zKS0uMTgKK0Uoc3RhcnRcMjU1a2JkXDI1NW1hY3IpMTA4IDQwMC44IFEgMi41KG9cKCktLjE4IEcoQ1wyNTV4IFwoKS0yLjUgRShcKSkKKy44MzMgRSBGMChCZSkxNDQgNDEyLjggUShnaW4gc2EpLS4xNSBFCisodmluZyB0aGUgY2hhcmFjdGVycyB0eXBlZCBpbnRvIHRoZSBjdXJyZW50IGspLS4yIEUgLS4xNShleSktLjEgRworKGJvYXJkIG1hY3JvLikuMTUgRSBGMShlbmRcMjU1a2JkXDI1NW1hY3IpMTA4IDQyNC44IFEgMi41KG9cKCktLjE4IEcKKyhDXDI1NXggXCkpLTIuNSBFKFwpKS44MzMgRSBGMChTdG9wIHNhKTE0NCA0MzYuOCBRCisodmluZyB0aGUgY2hhcmFjdGVycyB0eXBlZCBpbnRvIHRoZSBjdXJyZW50IGspLS4yIEUgLS4xNShleSktLjEgRworKGJvYXJkIG1hY3JvIGFuZCBzdG9yZSB0aGUgZGVcMjE0bml0aW9uLikuMTUgRSBGMQorKGNhbGxcMjU1bGFzdFwyNTVrYmRcMjU1bWFjcikxMDggNDQ4LjggUSAyLjUob1woKS0uMTggRyhDXDI1NXggZVwpKS0yLjUKK0UgRjAoUmUtZSkxNDQgNDYwLjggUSAtLjE1KHhlKS0uMTUgRyAxKGN1dGUgdGhlIGxhc3QgaykuMTUgRiAtLjE1KGV5KS0uMQorRyAuOTk5KGJvYXJkIG1hY3JvIGRlXDIxNG5lZCwgYnkgbWFraW5nIHRoZSBjaGFyYWN0ZXJzIGluIHRoZSBtYWNybyBhcHBcCitlYXIgYXMgaWYpLjE1IEYodHlwZWQgYXQgdGhlIGspMTQ0IDQ3Mi44IFEgLS4xNShleSktLjEgRyhib2FyZC4pLjE1IEUgRjEKKyhNaXNjZWxsYW5lb3VzKTg3IDQ4OS42IFEgLS4xOChyZSkxMDggNTAxLjYgUzxhZDcyPi4xOCBFCisoZWFkXDI1NWluaXRcMjU1XDIxNGxlIFwoQ1wyNTV4IENcMjU1clwpKS0uMTggRSBGMCAxLjc3NgorKFJlYWQgaW4gdGhlIGNvbnRlbnRzIG9mIHRoZSkxNDQgNTEzLjYgUi9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihpbnB1dHIpCis0LjI3NiBFKGMpLS4zNyBFIEYwIDEuNzc3KFwyMTRsZSwgYW5kIGluY29ycG9yYXRlIGFuKTQuMjc2IEYgNC4yNzcoeWIpCistLjE1IEcgMS43NzcoaW5kaW5ncyBvciB2KS00LjI3NyBGIDEuNzc3KGFyaWFibGUgYXNzaWdubWVudHMpLS4yNSBGCisoZm91bmQgdGhlcmUuKTE0NCA1MjUuNiBRIEYxKGFib3J0IFwoQ1wyNTVnXCkpMTA4IDUzNy42IFEgRjAgMy4yNDkKKyhBYm9ydCB0aGUgY3VycmVudCBlZGl0aW5nIGNvbW1hbmQgYW5kIHJpbmcgdGhlIHRlcm1pbmFsJykxNDQgNTQ5LjYgUgorNS43NDgoc2IpLS41NSBHIDMuMjQ4KGVsbCBcKHN1YmplY3QgdG8gdGhlIHNldHRpbmcgb2YpLTUuNzQ4IEYgRjEKKyhiZWxsXDI1NXN0eWxlKTE0NCA1NjEuNiBRIEYwKFwpLilBIEYxKGRvXDI1NXVwcGVyKTEwOCA1NzMuNiBRCisoY2FzZVwyNTV2KS0uMTggRShlcnNpb24gXChNXDI1NWEsIE1cMjU1YiwgTVwyNTUpLS4xIEUgRjIoeClBIEYxIDIuNSgsLikKK0MoLi5cKSktMi41IEUgRjAgMS43NTUoSWYgdGhlIG1ldGFcMjE0ZWQgY2hhcmFjdGVyKTE0NCA1ODUuNiBSIEYyKHgpCis0LjI1NSBFIEYwIDEuNzU1KGlzIGxvKTQuMjU1IEYgMS43NTYKICh3ZXJjYXNlLCBydW4gdGhlIGNvbW1hbmQgdGhhdCBpcyBib3VuZCB0byB0aGUgY29ycmVzcG9uZGluZyktLjI1IEYKLSh1cHBlcmNhc2UgY2hhcmFjdGVyKTE0NCAxOTIgUSguKS0uNTUgRSBGMShwcikxMDggMjA0IFEKLShlXDIxNHhcMjU1bWV0YSBcKEVTQ1wpKS0uMTggRSBGMChNZXRhZnkgdGhlIG5lKTE0NCAyMTYgUQorKHVwcGVyY2FzZSBjaGFyYWN0ZXIpMTQ0IDU5Ny42IFEoLiktLjU1IEUgRjEocHIpMTA4IDYwOS42IFEKKyhlXDIxNHhcMjU1bWV0YSBcKEVTQ1wpKS0uMTggRSBGMChNZXRhZnkgdGhlIG5lKTE0NCA2MjEuNiBRCiAoeHQgY2hhcmFjdGVyIHR5cGVkLiktLjE1IEUvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoRVNDKTUgRSBGMShmKTIuMjUgRSBGMAogKGlzIGVxdWkpMi41IEUgLS4yNSh2YSktLjI1IEcobGVudCB0bykuMjUgRSBGMShNZXRhXDI1NWYpMi41IEUgRjAoLilBIEYxCi0odW5kbyBcKENcMjU1XywgQ1wyNTV4IENcMjU1dVwpKTEwOCAyMjggUSBGMAotKEluY3JlbWVudGFsIHVuZG8sIHNlcGFyYXRlbHkgcmVtZW1iZXJlZCBmb3IgZWFjaCBsaW5lLikxNDQgMjQwIFEgRjEKLS0yLjI5IC0uMTgocmUgdikxMDggMjUyIFQoZXJ0XDI1NWxpbmUgXChNXDI1NXJcKSkuMDggRSBGMCAxLjA5NQotKFVuZG8gYWxsIGNoYW5nZXMgbWFkZSB0byB0aGlzIGxpbmUuKTE0NCAyNjQgUiAxLjA5NShUaGlzIGlzIGxpayk2LjA5NSBGCi0zLjU5NShlZSktLjEgRyAtLjE1KHhlKS0zLjc0NSBHIDEuMDk1KGN1dGluZyB0aGUpLjE1IEYgRjEodW5kbykzLjU5NSBFCisodW5kbyBcKENcMjU1XywgQ1wyNTV4IENcMjU1dVwpKTEwOCA2MzMuNiBRIEYwCisoSW5jcmVtZW50YWwgdW5kbywgc2VwYXJhdGVseSByZW1lbWJlcmVkIGZvciBlYWNoIGxpbmUuKTE0NCA2NDUuNiBRIEYxCistMi4yOSAtLjE4KHJlIHYpMTA4IDY1Ny42IFQoZXJ0XDI1NWxpbmUgXChNXDI1NXJcKSkuMDggRSBGMCAxLjA5NQorKFVuZG8gYWxsIGNoYW5nZXMgbWFkZSB0byB0aGlzIGxpbmUuKTE0NCA2NjkuNiBSIDEuMDk1KFRoaXMgaXMgbGlrKTYuMDk1CitGIDMuNTk1KGVlKS0uMSBHIC0uMTUoeGUpLTMuNzQ1IEcgMS4wOTUoY3V0aW5nIHRoZSkuMTUgRiBGMSh1bmRvKTMuNTk1IEUKIEYwIDEuMDk1KGNvbW1hbmQgZW5vdWdoIHRpbWVzIHRvKTMuNTk1IEYKLShyZXR1cm4gdGhlIGxpbmUgdG8gaXRzIGluaXRpYWwgc3RhdGUuKTE0NCAyNzYgUSBGMQotKHRpbGRlXDI1NWV4cGFuZCBcKE1cMjU1JlwpKTEwOCAyODggUSBGMChQZXJmb3JtIHRpbGRlIGUpMTQ0IDMwMCBRCi0oeHBhbnNpb24gb24gdGhlIGN1cnJlbnQgdyktLjE1IEUob3JkLiktLjEgRSBGMQotKHNldFwyNTVtYXJrIFwoQ1wyNTVALCBNXDI1NTxzcGFjZT5cKSkxMDggMzEyIFEgRjAKLShTZXQgdGhlIG1hcmsgdG8gdGhlIHBvaW50LikxNDQgMzI0IFEoSWYgYSBudW1lcmljIGFyKTUgRQotKGd1bWVudCBpcyBzdXBwbGllZCwgdGhlIG1hcmsgaXMgc2V0IHRvIHRoYXQgcG9zaXRpb24uKS0uMTggRSBGMQotKGV4Y2hhbmdlXDI1NXBvaW50XDI1NWFuZFwyNTVtYXJrIFwoQ1wyNTV4IENcMjU1eFwpKTEwOCAzMzYgUSBGMChTdykxNDQKLTM0OCBRIC4yODMoYXAgdGhlIHBvaW50IHdpdGggdGhlIG1hcmsuKS0uMSBGIC4yODMKLShUaGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24gaXMgc2V0IHRvIHRoZSBzYSk1LjI4MyBGIC0uMTUodmUpLS4yIEcKLTIuNzgyKGRwKS4xNSBHIC4yODIob3NpdGlvbiwgYW5kIHRoZSBvbGQpLTIuNzgyIEYoY3Vyc29yIHBvc2l0aW9uIGlzIHNhKQotMTQ0IDM2MCBRIC0uMTUodmUpLS4yIEcgMi41KGRhKS4xNSBHIDIuNShzdCktMi41IEcoaGUgbWFyay4pLTIuNSBFIEYxCi0oY2hhcmFjdGVyXDI1NXNlYXIpMTA4IDM3MiBRKGNoIFwoQ1wyNTVdXCkpLS4xOCBFIEYwIDMuMDM1KEFjKTE0NCAzODQgUwotLjUzNShoYXJhY3RlciBpcyByZWFkIGFuZCBwb2ludCBpcyBtbyktMy4wMzUgRiAtLjE1KHZlKS0uMTUgRyAzLjAzNShkdCkKLS4xNSBHIDMuMDM1KG90KS0zLjAzNSBHIC41MzUoaGUgbmUpLTMuMDM1IEYgLjUzNQotKHh0IG9jY3VycmVuY2Ugb2YgdGhhdCBjaGFyYWN0ZXIpLS4xNSBGIDUuNTM2KC5BKS0uNTUgRyhuZSktMi41IEUgLS4wNQotKGdhKS0uMTUgRyh0aSkuMDUgRSAuODM2IC0uMTUodmUgYyktLjI1IEgob3VudCkuMTUgRShzZWFyY2hlcyBmb3IgcHJlKQotMTQ0IDM5NiBRKHZpb3VzIG9jY3VycmVuY2VzLiktLjI1IEUgRjEoY2hhcmFjdGVyXDI1NXNlYXIpMTA4IDQwOCBRCi0oY2hcMjU1YmFja3dhcmQgXChNXDI1NUNcMjU1XVwpKS0uMTggRSBGMCAzLjU0NChBYykxNDQgNDIwIFMgMS4wNDQKLShoYXJhY3RlciBpcyByZWFkIGFuZCBwb2ludCBpcyBtbyktMy41NDQgRiAtLjE1KHZlKS0uMTUgRyAzLjU0NChkdCkuMTUgRwotMy41NDQob3QpLTMuNTQ0IEcgMS4wNDQoaGUgcHJlKS0zLjU0NCBGIDEuMDQ0Ci0odmlvdXMgb2NjdXJyZW5jZSBvZiB0aGF0IGNoYXJhY3RlciktLjI1IEYgNi4wNDMoLkEpLS41NSBHKG5lKS0yLjUgRQotLS4wNShnYSktLjE1IEcodGkpLjA1IEUgLS4xNSh2ZSktLjI1IEcKLShjb3VudCBzZWFyY2hlcyBmb3Igc3Vic2VxdWVudCBvY2N1cnJlbmNlcy4pMTQ0IDQzMiBRIEYxCi0oaW5zZXJ0XDI1NWNvbW1lbnQgXChNXDI1NSNcKSkxMDggNDQ0IFEgRjAgLS40KFdpKTE0NCA0NTYgUyAuNDgKLSh0aG91dCBhIG51bWVyaWMgYXIpLjQgRiAuNDgoZ3VtZW50LCB0aGUgdiktLjE4IEYgLjQ4MQotKGFsdWUgb2YgdGhlIHJlYWRsaW5lKS0uMjUgRiBGMShjb21tZW50XDI1NWJlZ2luKTIuOTgxIEUgRjAgLS4yNSh2YSkKLTIuOTgxIEcgLjQ4MShyaWFibGUgaXMgaW5zZXJ0ZWQgYXQgdGhlKS4yNSBGKGJlKTE0NCA0NjggUSAuMDk4Ci0oZ2lubmluZyBvZiB0aGUgY3VycmVudCBsaW5lLiktLjE1IEYgLjA5OChJZiBhIG51bWVyaWMgYXIpNS4wOTggRiAuMDk3Ci0oZ3VtZW50IGlzIHN1cHBsaWVkLCB0aGlzIGNvbW1hbmQgYWN0cyBhcyBhIHRvZ2dsZTopLS4xOCBGKGlmKTUuMDk3IEUKLS4zMjEodGhlIGNoYXJhY3RlcnMgYXQgdGhlIGJlKTE0NCA0ODAgUiAuMzIxCi0oZ2lubmluZyBvZiB0aGUgbGluZSBkbyBub3QgbWF0Y2ggdGhlIHYpLS4xNSBGIC4zMjEoYWx1ZSBvZiktLjI1IEYgRjEKLShjb21tZW50XDI1NWJlZ2luKTIuODIxIEUgRjAgMi44MjIoLHQpQyAuMzIyKGhlIHYpLTIuODIyIEYgLjMyMihhbHVlIGlzKQotLS4yNSBGIC44MzIoaW5zZXJ0ZWQsIG90aGVyd2lzZSB0aGUgY2hhcmFjdGVycyBpbikxNDQgNDkyIFIgRjEKLShjb21tZW50XDI1NWJlZ2luKTMuMzMyIEUgRjAgLjgzMShhcmUgZGVsZXRlZCBmcm9tIHRoZSBiZSkzLjMzMiBGIC44MzEKLShnaW5uaW5nIG9mIHRoZSBsaW5lLiktLjE1IEYgMS40NjgKLShJbiBlaXRoZXIgY2FzZSwgdGhlIGxpbmUgaXMgYWNjZXB0ZWQgYXMgaWYgYSBuZSkxNDQgNTA0IFIgMS40NjgKLSh3bGluZSBoYWQgYmVlbiB0eXBlZC4pLS4yNSBGIDEuNDY5KFRoZSBkZWYpNi40NjkgRiAxLjQ2OShhdWx0IHYpLS4xIEYKLTEuNDY5KGFsdWUgb2YpLS4yNSBGIEYxKGNvbS0pMy45NjkgRShtZW50XDI1NWJlZ2luKTE0NCA1MTYgUSBGMCAuODQKLShjYXVzZXMgdGhpcyBjb21tYW5kIHRvIG1haykzLjM0IEYgMy4zMzkoZXQpLS4xIEcgLjgzOQotKGhlIGN1cnJlbnQgbGluZSBhIHNoZWxsIGNvbW1lbnQuKS0zLjMzOSBGIC44MzkoSWYgYSBudW1lcmljIGFyKTUuODM5IEYKLShndS0pLS4xOCBFKG1lbnQgY2F1c2VzIHRoZSBjb21tZW50IGNoYXJhY3RlciB0byBiZSByZW1vKTE0NCA1MjggUSAtLjE1Ci0odmUpLS4xNSBHKGQsIHRoZSBsaW5lIHdpbGwgYmUgZSkuMTUgRSAtLjE1KHhlKS0uMTUgRwotKGN1dGVkIGJ5IHRoZSBzaGVsbC4pLjE1IEUgRjEoZ2xvYlwyNTVjb21wbGV0ZVwyNTV3KTEwOCA1NDAgUQotKG9yZCBcKE1cMjU1Z1wpKS0uMSBFIEYwIC43OTEoVGhlIHcpMTQ0IDU1MiBSIC43OTEKLShvcmQgYmVmb3JlIHBvaW50IGlzIHRyZWF0ZWQgYXMgYSBwYXR0ZXJuIGZvciBwYXRobmFtZSBlKS0uMSBGIC43OTIKLSh4cGFuc2lvbiwgd2l0aCBhbiBhc3RlcmlzayBpbXBsaWNpdGx5KS0uMTUgRiAyLjUoYXBwZW5kZWQuIFRoaXMpMTQ0IDU2NAotUihwYXR0ZXJuIGlzIHVzZWQgdG8gZ2VuZXJhdGUgYSBsaXN0IG9mIG1hdGNoaW5nIFwyMTRsZSBuYW1lcyBmb3IgcG9zc2lcCi1ibGUgY29tcGxldGlvbnMuKTIuNSBFIEYxKGdsb2JcMjU1ZXhwYW5kXDI1NXcpMTA4IDU3NiBRCi0ob3JkIFwoQ1wyNTV4ICpcKSktLjEgRSBGMCAuMzcyKFRoZSB3KTE0NCA1ODggUiAuMzcyCi0ob3JkIGJlZm9yZSBwb2ludCBpcyB0cmVhdGVkIGFzIGEgcGF0dGVybiBmb3IgcGF0aG5hbWUgZSktLjEgRiAuMzcxCi0oeHBhbnNpb24sIGFuZCB0aGUgbGlzdCBvZiBtYXRjaGluZyBcMjE0bGUpLS4xNSBGIC41MTYKLShuYW1lcyBpcyBpbnNlcnRlZCwgcmVwbGFjaW5nIHRoZSB3KTE0NCA2MDAgUiAzLjAxNihvcmQuIElmKS0uMSBGIDMuMDE2Ci0oYW4pMy4wMTYgRyAuNTE2KHVtZXJpYyBhciktMy4wMTYgRiAuNTE2Ci0oZ3VtZW50IGlzIHN1cHBsaWVkLCBhbiBhc3RlcmlzayBpcyBhcHBlbmRlZCktLjE4IEYoYmVmb3JlIHBhdGhuYW1lIGUpCi0xNDQgNjEyIFEoeHBhbnNpb24uKS0uMTUgRSBGMShnbG9iXDI1NWxpc3RcMjU1ZXhwYW5zaW9ucyBcKENcMjU1eCBnXCkpCi0xMDggNjI0IFEgRjAgLjkyMyhUaGUgbGlzdCBvZiBlKTE0NCA2MzYgUiAuOTIzKHhwYW5zaW9ucyB0aGF0IHcpLS4xNSBGCi0uOTIzKG91bGQgaGEpLS4xIEYgMS4yMjMgLS4xNSh2ZSBiKS0uMiBIIC45MjMoZWVuIGdlbmVyYXRlZCBieSkuMTUgRiBGMQotKGdsb2JcMjU1ZXhwYW5kXDI1NXcpMy40MjMgRShvcmQpLS4xIEUgRjAgLjkyMyhpcyBkaXNwbGF5ZWQsIGFuZCkzLjQyMyBGCi0uODcyKHRoZSBsaW5lIGlzIHJlZHJhKTE0NCA2NDggUiAzLjM3Mih3bi4gSWYpLS4xNSBGIDMuMzcyKGFuKTMuMzcyIEcKLS44NzIodW1lcmljIGFyKS0zLjM3MiBGIC44NzIKLShndW1lbnQgaXMgc3VwcGxpZWQsIGFuIGFzdGVyaXNrIGlzIGFwcGVuZGVkIGJlZm9yZSBwYXRobmFtZSktLjE4IEYgLS4xNQotKGV4KTE0NCA2NjAgUyhwYW5zaW9uLikuMTUgRSBGMShkdW1wXDI1NWZ1bmN0aW9ucykxMDggNjcyIFEgRjAgLjYyNwotKFByaW50IGFsbCBvZiB0aGUgZnVuY3Rpb25zIGFuZCB0aGVpciBrKTE0NCA2ODQgUiAuOTI3IC0uMTUoZXkgYiktLjEgSAotLjYyNihpbmRpbmdzIHRvIHRoZSByZWFkbGluZSBvdXRwdXQgc3RyZWFtLikuMTUgRiAuNjI2KElmIGEgbnVtZXJpYyBhcikKLTUuNjI2IEYoZ3UtKS0uMTggRQotKG1lbnQgaXMgc3VwcGxpZWQsIHRoZSBvdXRwdXQgaXMgZm9ybWF0dGVkIGluIHN1Y2ggYSB3KTE0NCA2OTYgUQotKGF5IHRoYXQgaXQgY2FuIGJlIG1hZGUgcGFydCBvZiBhbiktLjEgRSBGMihpbnB1dHIpMi41IEUoYyktLjM3IEUgRjAKLShcMjE0bGUuKTIuNSBFKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUoNDMpMTkwLjk1Ci1FIDAgQ2cgRVAKKyhyZXR1cm4gdGhlIGxpbmUgdG8gaXRzIGluaXRpYWwgc3RhdGUuKTE0NCA2ODEuNiBRIEYxCisodGlsZGVcMjU1ZXhwYW5kIFwoTVwyNTUmXCkpMTA4IDY5My42IFEgRjAoUGVyZm9ybSB0aWxkZSBlKTE0NCA3MDUuNiBRCisoeHBhbnNpb24gb24gdGhlIGN1cnJlbnQgdyktLjE1IEUob3JkLiktLjEgRShHTlUgQmFzaC00LjEpNzIgNzY4IFEKKygyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg0MykxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiA0NCA0NAogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoZHVtcFwyNTV2KTEwOCA4NCBRKGFyaWFibGVzKS0uMSBFIEYwIDEuNzk5Ci0oUHJpbnQgYWxsIG9mIHRoZSBzZXR0YWJsZSByZWFkbGluZSB2KTE0NCA5NiBSIDEuNzk5Ci0oYXJpYWJsZXMgYW5kIHRoZWlyIHYpLS4yNSBGIDEuOChhbHVlcyB0byB0aGUgcmVhZGxpbmUgb3V0cHV0IHN0cmVhbS4pCi0tLjI1IEYgMS44KElmIGEpNi44IEYgLjMwNShudW1lcmljIGFyKTE0NCAxMDggUiAuMzA0CistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKHNldFwyNTVtYXJrIFwoQ1wyNTVALCBNXDI1NTxzcGFjZT5cKSkxMDggODQKK1EgRjAoU2V0IHRoZSBtYXJrIHRvIHRoZSBwb2ludC4pMTQ0IDk2IFEoSWYgYSBudW1lcmljIGFyKTUgRQorKGd1bWVudCBpcyBzdXBwbGllZCwgdGhlIG1hcmsgaXMgc2V0IHRvIHRoYXQgcG9zaXRpb24uKS0uMTggRSBGMQorKGV4Y2hhbmdlXDI1NXBvaW50XDI1NWFuZFwyNTVtYXJrIFwoQ1wyNTV4IENcMjU1eFwpKTEwOCAxMDggUSBGMChTdykxNDQKKzEyMCBRIC4yODIoYXAgdGhlIHBvaW50IHdpdGggdGhlIG1hcmsuKS0uMSBGIC4yODMKKyhUaGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24gaXMgc2V0IHRvIHRoZSBzYSk1LjI4MyBGIC0uMTUodmUpLS4yIEcKKzIuNzgzKGRwKS4xNSBHIC4yODMob3NpdGlvbiwgYW5kIHRoZSBvbGQpLTIuNzgzIEYoY3Vyc29yIHBvc2l0aW9uIGlzIHNhKQorMTQ0IDEzMiBRIC0uMTUodmUpLS4yIEcgMi41KGRhKS4xNSBHIDIuNShzdCktMi41IEcoaGUgbWFyay4pLTIuNSBFIEYxCisoY2hhcmFjdGVyXDI1NXNlYXIpMTA4IDE0NCBRKGNoIFwoQ1wyNTVdXCkpLS4xOCBFIEYwIDMuMDM2KEFjKTE0NCAxNTYgUworLjUzNihoYXJhY3RlciBpcyByZWFkIGFuZCBwb2ludCBpcyBtbyktMy4wMzYgRiAtLjE1KHZlKS0uMTUgRyAzLjAzNShkdCkKKy4xNSBHIDMuMDM1KG90KS0zLjAzNSBHIC41MzUoaGUgbmUpLTMuMDM1IEYgLjUzNQorKHh0IG9jY3VycmVuY2Ugb2YgdGhhdCBjaGFyYWN0ZXIpLS4xNSBGIDUuNTM1KC5BKS0uNTUgRyhuZSktMi41IEUgLS4wNQorKGdhKS0uMTUgRyh0aSkuMDUgRSAuODM1IC0uMTUodmUgYyktLjI1IEgob3VudCkuMTUgRShzZWFyY2hlcyBmb3IgcHJlKQorMTQ0IDE2OCBRKHZpb3VzIG9jY3VycmVuY2VzLiktLjI1IEUgRjEoY2hhcmFjdGVyXDI1NXNlYXIpMTA4IDE4MCBRCisoY2hcMjU1YmFja3dhcmQgXChNXDI1NUNcMjU1XVwpKS0uMTggRSBGMCAzLjU0MyhBYykxNDQgMTkyIFMgMS4wNDMKKyhoYXJhY3RlciBpcyByZWFkIGFuZCBwb2ludCBpcyBtbyktMy41NDMgRiAtLjE1KHZlKS0uMTUgRyAzLjU0NChkdCkuMTUgRworMy41NDQob3QpLTMuNTQ0IEcgMS4wNDQoaGUgcHJlKS0zLjU0NCBGIDEuMDQ0CisodmlvdXMgb2NjdXJyZW5jZSBvZiB0aGF0IGNoYXJhY3RlciktLjI1IEYgNi4wNDQoLkEpLS41NSBHKG5lKS0yLjUgRQorLS4wNShnYSktLjE1IEcodGkpLjA1IEUgLS4xNSh2ZSktLjI1IEcKKyhjb3VudCBzZWFyY2hlcyBmb3Igc3Vic2VxdWVudCBvY2N1cnJlbmNlcy4pMTQ0IDIwNCBRIEYxCisoc2tpcFwyNTVjc2lcMjU1c2VxdWVuY2UgXChcKSkxMDggMjE2IFEgRjAgMS44MjcKKyhSZWFkIGVub3VnaCBjaGFyYWN0ZXJzIHRvIGNvbnN1bWUgYSBtdWx0aS1rKTE0NCAyMjggUiAyLjEyNiAtLjE1KGV5IHMpCistLjEgSCAxLjgyNihlcXVlbmNlIHN1Y2ggYXMgdGhvc2UgZGVcMjE0bmVkIGZvciBrKS4xNSBGIC0uMTUoZXkpLS4xIEcKKzQuMzI2KHNsKS4xNSBHKGlrKS00LjMyNiBFKGUpLS4xIEUgLjc5KEhvbWUgYW5kIEVuZC4pMTQ0IDI0MCBSIC43OTEKKyhTdWNoIHNlcXVlbmNlcyBiZSk1Ljc5IEYgLjc5MQorKGdpbiB3aXRoIGEgQ29udHJvbCBTZXF1ZW5jZSBJbmRpY2F0b3IgXChDU0lcKSwgdXN1YWxseSBFU0NcMjU1Wy4pLS4xNSBGCisuMzMyKElmIHRoaXMgc2VxdWVuY2UgaXMgYm91bmQgdG8gIlxcWyIsIGspMTQ0IDI1MiBSIC0uMTUoZXkpLS4xIEcgMi44MzEKKyhzcCkuMTUgRyAuMzMxKHJvZHVjaW5nIHN1Y2ggc2VxdWVuY2VzIHdpbGwgaGEpLTIuODMxIEYgLjYzMSAtLjE1KHZlIG4pCistLjIgSCAyLjgzMShvZSkuMTUgRyAtLjI1KGZmKS0yLjgzMSBHIC4zMzEoZWN0IHVubGVzcyBlKS4yNSBGKHhwbGljLSkKKy0uMTUgRSAuMDI2KGl0bHkgYm91bmQgdG8gYSByZWFkbGluZSBjb21tYW5kLCBpbnN0ZWFkIG9mIGluc2VydGluZyBzdHJhXAoreSBjaGFyYWN0ZXJzIGludG8gdGhlIGVkaXRpbmcgYikxNDQgMjY0IFIodWYpLS4yIEUoZmVyKS0uMjUgRSA1LjAyNiguVCkKKy0uNTUgRyhoaXMpLTUuMDI2IEUoaXMgdW5ib3VuZCBieSBkZWYpMTQ0IDI3NiBRKGF1bHQsIGIpLS4xIEUKKyh1dCB1c3VhbGx5IGJvdW5kIHRvIEVTQ1wyNTVbLiktLjIgRSBGMShpbnNlcnRcMjU1Y29tbWVudCBcKE1cMjU1I1wpKTEwOAorMjg4IFEgRjAgLS40KFdpKTE0NCAzMDAgUyAuNDgxKHRob3V0IGEgbnVtZXJpYyBhcikuNCBGIC40ODEKKyhndW1lbnQsIHRoZSB2KS0uMTggRiAuNDgxKGFsdWUgb2YgdGhlIHJlYWRsaW5lKS0uMjUgRiBGMQorKGNvbW1lbnRcMjU1YmVnaW4pMi45ODEgRSBGMCAtLjI1KHZhKTIuOTgxIEcgLjQ4CisocmlhYmxlIGlzIGluc2VydGVkIGF0IHRoZSkuMjUgRihiZSkxNDQgMzEyIFEgLjA5NworKGdpbm5pbmcgb2YgdGhlIGN1cnJlbnQgbGluZS4pLS4xNSBGIC4wOTgoSWYgYSBudW1lcmljIGFyKTUuMDk3IEYgLjA5OAorKGd1bWVudCBpcyBzdXBwbGllZCwgdGhpcyBjb21tYW5kIGFjdHMgYXMgYSB0b2dnbGU6KS0uMTggRihpZik1LjA5OCBFCisuMzIyKHRoZSBjaGFyYWN0ZXJzIGF0IHRoZSBiZSkxNDQgMzI0IFIgLjMyMQorKGdpbm5pbmcgb2YgdGhlIGxpbmUgZG8gbm90IG1hdGNoIHRoZSB2KS0uMTUgRiAuMzIxKGFsdWUgb2YpLS4yNSBGIEYxCisoY29tbWVudFwyNTViZWdpbikyLjgyMSBFIEYwIDIuODIxKCx0KUMgLjMyMShoZSB2KS0yLjgyMSBGIC4zMjEoYWx1ZSBpcykKKy0uMjUgRiAuODMxKGluc2VydGVkLCBvdGhlcndpc2UgdGhlIGNoYXJhY3RlcnMgaW4pMTQ0IDMzNiBSIEYxCisoY29tbWVudFwyNTViZWdpbikzLjMzMSBFIEYwIC44MzIoYXJlIGRlbGV0ZWQgZnJvbSB0aGUgYmUpMy4zMzEgRiAuODMyCisoZ2lubmluZyBvZiB0aGUgbGluZS4pLS4xNSBGIDEuNDY5CisoSW4gZWl0aGVyIGNhc2UsIHRoZSBsaW5lIGlzIGFjY2VwdGVkIGFzIGlmIGEgbmUpMTQ0IDM0OCBSIDEuNDY4Cisod2xpbmUgaGFkIGJlZW4gdHlwZWQuKS0uMjUgRiAxLjQ2OChUaGUgZGVmKTYuNDY4IEYgMS40NjgoYXVsdCB2KS0uMSBGCisxLjQ2OChhbHVlIG9mKS0uMjUgRiBGMShjb20tKTMuOTY4IEUobWVudFwyNTViZWdpbikxNDQgMzYwIFEgRjAgLjgzOQorKGNhdXNlcyB0aGlzIGNvbW1hbmQgdG8gbWFrKTMuMzM5IEYgMy4zMzkoZXQpLS4xIEcgLjgzOQorKGhlIGN1cnJlbnQgbGluZSBhIHNoZWxsIGNvbW1lbnQuKS0zLjMzOSBGIC44NChJZiBhIG51bWVyaWMgYXIpNS44NCBGCisoZ3UtKS0uMTggRShtZW50IGNhdXNlcyB0aGUgY29tbWVudCBjaGFyYWN0ZXIgdG8gYmUgcmVtbykxNDQgMzcyIFEgLS4xNQorKHZlKS0uMTUgRyhkLCB0aGUgbGluZSB3aWxsIGJlIGUpLjE1IEUgLS4xNSh4ZSktLjE1IEcKKyhjdXRlZCBieSB0aGUgc2hlbGwuKS4xNSBFIEYxKGdsb2JcMjU1Y29tcGxldGVcMjU1dykxMDggMzg0IFEKKyhvcmQgXChNXDI1NWdcKSktLjEgRSBGMCAuNzkyKFRoZSB3KTE0NCAzOTYgUiAuNzkxCisob3JkIGJlZm9yZSBwb2ludCBpcyB0cmVhdGVkIGFzIGEgcGF0dGVybiBmb3IgcGF0aG5hbWUgZSktLjEgRiAuNzkxCisoeHBhbnNpb24sIHdpdGggYW4gYXN0ZXJpc2sgaW1wbGljaXRseSktLjE1IEYgMi41KGFwcGVuZGVkLiBUaGlzKTE0NCA0MDgKK1IocGF0dGVybiBpcyB1c2VkIHRvIGdlbmVyYXRlIGEgbGlzdCBvZiBtYXRjaGluZyBcMjE0bGUgbmFtZXMgZm9yIHBvc3NpXAorYmxlIGNvbXBsZXRpb25zLikyLjUgRSBGMShnbG9iXDI1NWV4cGFuZFwyNTV3KTEwOCA0MjAgUQorKG9yZCBcKENcMjU1eCAqXCkpLS4xIEUgRjAgLjM3MShUaGUgdykxNDQgNDMyIFIgLjM3MgorKG9yZCBiZWZvcmUgcG9pbnQgaXMgdHJlYXRlZCBhcyBhIHBhdHRlcm4gZm9yIHBhdGhuYW1lIGUpLS4xIEYgLjM3MgorKHhwYW5zaW9uLCBhbmQgdGhlIGxpc3Qgb2YgbWF0Y2hpbmcgXDIxNGxlKS0uMTUgRiAuNTE2CisobmFtZXMgaXMgaW5zZXJ0ZWQsIHJlcGxhY2luZyB0aGUgdykxNDQgNDQ0IFIgMy4wMTYob3JkLiBJZiktLjEgRiAzLjAxNgorKGFuKTMuMDE2IEcgLjUxNih1bWVyaWMgYXIpLTMuMDE2IEYgLjUxNgorKGd1bWVudCBpcyBzdXBwbGllZCwgYW4gYXN0ZXJpc2sgaXMgYXBwZW5kZWQpLS4xOCBGKGJlZm9yZSBwYXRobmFtZSBlKQorMTQ0IDQ1NiBRKHhwYW5zaW9uLiktLjE1IEUgRjEoZ2xvYlwyNTVsaXN0XDI1NWV4cGFuc2lvbnMgXChDXDI1NXggZ1wpKQorMTA4IDQ2OCBRIEYwIC45MjMoVGhlIGxpc3Qgb2YgZSkxNDQgNDgwIFIgLjkyMyh4cGFuc2lvbnMgdGhhdCB3KS0uMTUgRgorLjkyMyhvdWxkIGhhKS0uMSBGIDEuMjIzIC0uMTUodmUgYiktLjIgSCAuOTIzKGVlbiBnZW5lcmF0ZWQgYnkpLjE1IEYgRjEKKyhnbG9iXDI1NWV4cGFuZFwyNTV3KTMuNDIzIEUob3JkKS0uMSBFIEYwIC45MjMoaXMgZGlzcGxheWVkLCBhbmQpMy40MjMgRgorLjg3Mih0aGUgbGluZSBpcyByZWRyYSkxNDQgNDkyIFIgMy4zNzIod24uIElmKS0uMTUgRiAzLjM3MihhbikzLjM3MiBHCisuODcyKHVtZXJpYyBhciktMy4zNzIgRiAuODcyCisoZ3VtZW50IGlzIHN1cHBsaWVkLCBhbiBhc3RlcmlzayBpcyBhcHBlbmRlZCBiZWZvcmUgcGF0aG5hbWUpLS4xOCBGIC0uMTUKKyhleCkxNDQgNTA0IFMocGFuc2lvbi4pLjE1IEUgRjEoZHVtcFwyNTVmdW5jdGlvbnMpMTA4IDUxNiBRIEYwIC42MjYKKyhQcmludCBhbGwgb2YgdGhlIGZ1bmN0aW9ucyBhbmQgdGhlaXIgaykxNDQgNTI4IFIgLjkyNiAtLjE1KGV5IGIpLS4xIEgKKy42MjcoaW5kaW5ncyB0byB0aGUgcmVhZGxpbmUgb3V0cHV0IHN0cmVhbS4pLjE1IEYgLjYyNyhJZiBhIG51bWVyaWMgYXIpCis1LjYyNyBGKGd1LSktLjE4IEUKKyhtZW50IGlzIHN1cHBsaWVkLCB0aGUgb3V0cHV0IGlzIGZvcm1hdHRlZCBpbiBzdWNoIGEgdykxNDQgNTQwIFEKKyhheSB0aGF0IGl0IGNhbiBiZSBtYWRlIHBhcnQgb2YgYW4pLS4xIEUvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YoaW5wdXRyKQorMi41IEUoYyktLjM3IEUgRjAoXDIxNGxlLikyLjUgRSBGMShkdW1wXDI1NXYpMTA4IDU1MiBRKGFyaWFibGVzKS0uMSBFIEYwCisxLjgoUHJpbnQgYWxsIG9mIHRoZSBzZXR0YWJsZSByZWFkbGluZSB2KTE0NCA1NjQgUiAxLjc5OQorKGFyaWFibGVzIGFuZCB0aGVpciB2KS0uMjUgRiAxLjc5OShhbHVlcyB0byB0aGUgcmVhZGxpbmUgb3V0cHV0IHN0cmVhbS4pCistLjI1IEYgMS43OTkoSWYgYSk2Ljc5OSBGIC4zMDQobnVtZXJpYyBhcikxNDQgNTc2IFIgLjMwNAogKGd1bWVudCBpcyBzdXBwbGllZCwgdGhlIG91dHB1dCBpcyBmb3JtYXR0ZWQgaW4gc3VjaCBhIHcpLS4xOCBGIC4zMDQKLShheSB0aGF0IGl0IGNhbiBiZSBtYWRlIHBhcnQgb2YgYW4pLS4xIEYvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YoaW5wdXRyKQotMTQ0IDEyMCBRKGMpLS4zNyBFIEYwKFwyMTRsZS4pMi41IEUgRjEoZHVtcFwyNTVtYWNyKTEwOCAxMzIgUShvcyktLjE4IEUKLUYwIC41OTIoUHJpbnQgYWxsIG9mIHRoZSByZWFkbGluZSBrKTE0NCAxNDQgUiAuODkyIC0uMTUoZXkgcyktLjEgSCAuNTkyCi0oZXF1ZW5jZXMgYm91bmQgdG8gbWFjcm9zIGFuZCB0aGUgc3RyaW5ncyB0aGUpLjE1IEYgMy4wOTMoeW8pLS4xNSBHCi0zLjA5Myh1dHB1dC4gSWYpLTMuMDkzIEYgMy4wOTMoYW4pMy4wOTMgRyh1bWVyaWMpLTMuMDkzIEUoYXIpMTQ0IDE1NiBRCisoYXkgdGhhdCBpdCBjYW4gYmUgbWFkZSBwYXJ0IG9mIGFuKS0uMSBGIEYyKGlucHV0cikxNDQgNTg4IFEoYyktLjM3IEUgRjAKKyhcMjE0bGUuKTIuNSBFIEYxKGR1bXBcMjU1bWFjcikxMDggNjAwIFEob3MpLS4xOCBFIEYwIC41OTMKKyhQcmludCBhbGwgb2YgdGhlIHJlYWRsaW5lIGspMTQ0IDYxMiBSIC44OTMgLS4xNShleSBzKS0uMSBIIC41OTIKKyhlcXVlbmNlcyBib3VuZCB0byBtYWNyb3MgYW5kIHRoZSBzdHJpbmdzIHRoZSkuMTUgRiAzLjA5Mih5byktLjE1IEcKKzMuMDkyKHV0cHV0LiBJZiktMy4wOTIgRiAzLjA5MihhbikzLjA5MiBHKHVtZXJpYyktMy4wOTIgRShhcikxNDQgNjI0IFEKIC41MjgoZ3VtZW50IGlzIHN1cHBsaWVkLCB0aGUgb3V0cHV0IGlzIGZvcm1hdHRlZCBpbiBzdWNoIGEgdyktLjE4IEYgLjUyOAotKGF5IHRoYXQgaXQgY2FuIGJlIG1hZGUgcGFydCBvZiBhbiktLjEgRiBGMihpbnB1dHIpMy4wMjcgRShjKS0uMzcgRSBGMAotKFwyMTRsZS4pMTQ0IDE2OCBRIEYxKGRpc3BsYXlcMjU1c2hlbGxcMjU1dikxMDggMTgwIFEKLShlcnNpb24gXChDXDI1NXggQ1wyNTV2XCkpLS4xIEUgRjAoRGlzcGxheSB2KTE0NCAxOTIgUQorKGF5IHRoYXQgaXQgY2FuIGJlIG1hZGUgcGFydCBvZiBhbiktLjEgRiBGMihpbnB1dHIpMy4wMjggRShjKS0uMzcgRSBGMAorKFwyMTRsZS4pMTQ0IDYzNiBRIEYxKGRpc3BsYXlcMjU1c2hlbGxcMjU1dikxMDggNjQ4IFEKKyhlcnNpb24gXChDXDI1NXggQ1wyNTV2XCkpLS4xIEUgRjAoRGlzcGxheSB2KTE0NCA2NjAgUQogKGVyc2lvbiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY3VycmVudCBpbnN0YW5jZSBvZiktLjE1IEUgRjEoYmFzaCkyLjUgRQotRjAoLilBIEYxKFByKTg3IDIwOC44IFEob2dyYW1tYWJsZSBDb21wbGV0aW9uKS0uMTggRSBGMCAuMTQ2KFdoZW4gdykxMDgKLTIyMC44IFIgLjE0NyhvcmQgY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQgZm9yIGFuIGFyKS0uMSBGIC4xNDcKK0YwKC4pQSBGMShQcik4NyA2NzYuOCBRKG9ncmFtbWFibGUgQ29tcGxldGlvbiktLjE4IEUgRjAgLjE0NyhXaGVuIHcpMTA4Cis2ODguOCBSIC4xNDcob3JkIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkIGZvciBhbiBhciktLjEgRiAuMTQ3CiAoZ3VtZW50IHRvIGEgY29tbWFuZCBmb3Igd2hpY2ggYSBjb21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbiBcKGEpLS4xOCBGCi1GMihjb21wc3BlYykxMDggMjMyLjggUSBGMCAzLjgyOShcKWgpQyAxLjMyOQotKGFzIGJlZW4gZGVcMjE0bmVkIHVzaW5nIHRoZSktMy44MjkgRiBGMShjb21wbGV0ZSkzLjgyOSBFIEYwIC0uMihidSkKK0YyKGNvbXBzcGVjKTEwOCA3MDAuOCBRIEYwIDMuODI4KFwpaClDIDEuMzI5CisoYXMgYmVlbiBkZVwyMTRuZWQgdXNpbmcgdGhlKS0zLjgyOCBGIEYxKGNvbXBsZXRlKTMuODI5IEUgRjAgLS4yKGJ1KQogMy44MjkgRyAxLjMyOShpbHRpbiBcKHNlZSkuMiBGL0YzIDkvVGltZXMtQm9sZEAwIFNGIDEuMzI5KFNIRUxMIEIpMy44MjkKLUYoVUlMKS0uMDkgRSAxLjMyOShUSU4gQ09NTUFORFMpLS44MjggRiBGMChiZWxvKTMuNTc5IEUgMS4zMjgod1wpLCB0aGUpCi0tLjI1IEYocHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZikxMDggMjQ0LjggUShhY2lsaXRpZXMgYXJlIGluKS0uMSBFIC0uMgotKHZvKS0uNCBHIC0uMShrZSkuMiBHKGQuKS4xIEUgLjMzMwotKEZpcnN0LCB0aGUgY29tbWFuZCBuYW1lIGlzIGlkZW50aVwyMTRlZC4pMTA4IDI2MS42IFIgLjMzNAotKElmIGEgY29tcHNwZWMgaGFzIGJlZW4gZGVcMjE0bmVkIGZvciB0aGF0IGNvbW1hbmQsIHRoZSBjb21wc3BlYyBpcykKLTUuMzMzIEYgLjU4NwotKHVzZWQgdG8gZ2VuZXJhdGUgdGhlIGxpc3Qgb2YgcG9zc2libGUgY29tcGxldGlvbnMgZm9yIHRoZSB3KTEwOCAyNzMuNiBSCi0zLjA4NyhvcmQuIElmKS0uMSBGIC41ODcodGhlIGNvbW1hbmQgdykzLjA4NyBGIC41ODYKLShvcmQgaXMgYSBmdWxsIHBhdGhuYW1lLCBhKS0uMSBGIDEuMTgKLShjb21wc3BlYyBmb3IgdGhlIGZ1bGwgcGF0aG5hbWUgaXMgc2VhcmNoZWQgZm9yIFwyMTRyc3QuKTEwOCAyODUuNiBSCi0xLjE4MShJZiBubyBjb21wc3BlYyBpcyBmb3VuZCBmb3IgdGhlIGZ1bGwgcGF0aG5hbWUsIGFuKTYuMTgxIEYKLShhdHRlbXB0IGlzIG1hZGUgdG8gXDIxNG5kIGEgY29tcHNwZWMgZm9yIHRoZSBwb3J0aW9uIGZvbGxvKTEwOCAyOTcuNiBRCi0od2luZyB0aGUgXDIxNG5hbCBzbGFzaC4pLS4yNSBFIC44MTcoT25jZSBhIGNvbXBzcGVjIGhhcyBiZWVuIGZvdW5kLCBpdFwKLSBpcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSBsaXN0IG9mIG1hdGNoaW5nIHcpMTA4IDMxNC40IFIgMy4zMTcob3Jkcy4gSWYpCi0tLjEgRiAzLjMxNyhhYykzLjMxNyBHIC44MTcob21wc3BlYyBpcyBub3QpLTMuMzE3IEYoZm91bmQsIHRoZSBkZWYpMTA4Ci0zMjYuNCBRKGF1bHQpLS4xIEUgRjEoYmFzaCkyLjUgRSBGMChjb21wbGV0aW9uIGFzIGRlc2NyaWJlZCBhYm8pMi41IEUgLjMKLS0uMTUodmUgdSktLjE1IEgobmRlcikuMTUgRSBGMShDb21wbGV0aW5nKTIuNSBFIEYwKGlzIHBlcmZvcm1lZC4pMi41IEUKLS40NjMoRmlyc3QsIHRoZSBhY3Rpb25zIHNwZWNpXDIxNGVkIGJ5IHRoZSBjb21wc3BlYyBhcmUgdXNlZC4pMTA4IDM0My4yCi1SIC40NjQoT25seSBtYXRjaGVzIHdoaWNoIGFyZSBwcmVcMjE0eCk1LjQ2NCBGIC40NjQoZWQgYnkgdGhlIHcpLS4xNSBGCi0uNDY0KG9yZCBiZWluZyktLjEgRiAuNTk2KGNvbXBsZXRlZCBhcmUgcmV0dXJuZWQuKTEwOCAzNTUuMiBSIC41OTYKLShXaGVuIHRoZSk1LjU5NiBGIEYxPGFkNjY+My4wOTYgRSBGMChvcikzLjA5NSBFIEYxPGFkNjQ+My4wOTUgRSBGMCAuNTk1Ci0ob3B0aW9uIGlzIHVzZWQgZm9yIFwyMTRsZW5hbWUgb3IgZGlyZWN0b3J5IG5hbWUgY29tcGxldGlvbiwgdGhlKTMuMDk1IEYKLShzaGVsbCB2KTEwOCAzNjcuMiBRKGFyaWFibGUpLS4yNSBFIEYzKEZJR05PUkUpMi41IEUgRjAKLShpcyB1c2VkIHRvIFwyMTRsdGVyIHRoZSBtYXRjaGVzLikyLjI1IEUoQW4pMTA4IDM4NCBRIDIuNTg1KHljKS0uMTUgRwotLjA4NShvbXBsZXRpb25zIHNwZWNpXDIxNGVkIGJ5IGEgXDIxNGxlbmFtZSBlKS0yLjU4NSBGIC4wODUKLSh4cGFuc2lvbiBwYXR0ZXJuIHRvIHRoZSktLjE1IEYgRjE8YWQ0Nz4yLjU4NSBFIEYwIC4wODUKLShvcHRpb24gYXJlIGdlbmVyYXRlZCBuZSkyLjU4NSBGIDIuNTg1KHh0LiBUaGUpLS4xNSBGIC0uMSh3bykyLjU4NSBHCi0ocmRzKS4xIEUgLjg0NChnZW5lcmF0ZWQgYnkgdGhlIHBhdHRlcm4gbmVlZCBub3QgbWF0Y2ggdGhlIHcpMTA4IDM5NiBSCi0uODQ0KG9yZCBiZWluZyBjb21wbGV0ZWQuKS0uMSBGKFRoZSk1Ljg0NCBFIEYzKEdMT0JJR05PUkUpMy4zNDMgRSBGMAotLjg0MyhzaGVsbCB2KTMuMDkzIEYgLjg0MyhhcmlhYmxlIGlzKS0uMjUgRgotKG5vdCB1c2VkIHRvIFwyMTRsdGVyIHRoZSBtYXRjaGVzLCBiKTEwOCA0MDggUSh1dCB0aGUpLS4yIEUgRjMoRklHTk9SRSkKLTIuNSBFIEYwIC0uMjUodmEpMi4yNSBHKHJpYWJsZSBpcyB1c2VkLikuMjUgRShOZSkxMDggNDI0LjggUSAuMzIKLSh4dCwgdGhlIHN0cmluZyBzcGVjaVwyMTRlZCBhcyB0aGUgYXIpLS4xNSBGIC4zMihndW1lbnQgdG8gdGhlKS0uMTggRiBGMQotPGFkNTc+Mi44MiBFIEYwIC4zMjEob3B0aW9uIGlzIGNvbnNpZGVyZWQuKTIuODIxIEYgLjMyMQotKFRoZSBzdHJpbmcgaXMgXDIxNHJzdCBzcGxpdCB1c2luZyB0aGUpNS4zMjEgRiAuNDEzKGNoYXJhY3RlcnMgaW4gdGhlKQotMTA4IDQzNi44IFIgRjMoSUZTKTIuOTEzIEUgRjAgLjQxMihzcGVjaWFsIHYpMi42NjMgRiAuNDEyCi0oYXJpYWJsZSBhcyBkZWxpbWl0ZXJzLiktLjI1IEYgLjQxMihTaGVsbCBxdW90aW5nIGlzIGhvbm9yZWQuKTUuNDEyIEYKLS40MTIoRWFjaCB3KTUuNDEyIEYgLjQxMihvcmQgaXMgdGhlbiBlKS0uMSBGKHhwYW5kZWQpLS4xNSBFIC4wOTEKLSh1c2luZyBicmFjZSBlKTEwOCA0NDguOCBSIC4wOTEoeHBhbnNpb24sIHRpbGRlIGUpLS4xNSBGIC4wOTIKLSh4cGFuc2lvbiwgcGFyYW1ldGVyIGFuZCB2KS0uMTUgRiAuMDkyKGFyaWFibGUgZSktLjI1IEYgLjA5MgotKHhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1dGlvbiwgYW5kIGFyaXRoLSktLjE1IEYgMS4zOTcobWV0aWMgZSkxMDgKLTQ2MC44IFIgMS4zOTYoeHBhbnNpb24sIGFzIGRlc2NyaWJlZCBhYm8pLS4xNSBGIDEuNjk2IC0uMTUodmUgdSktLjE1IEgKLShuZGVyKS4xNSBFIEYzKEVYUCkzLjg5NiBFKEFOU0lPTiktLjY2NiBFL0Y0IDkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAKLTEuMzk2KFRoZSByZXN1bHRzIGFyZSBzcGxpdCB1c2luZyB0aGUgcnVsZXMgZGVzY3JpYmVkKTUuODk2IEYoYWJvKTEwOAotNDcyLjggUSAuNTA5IC0uMTUodmUgdSktLjE1IEgobmRlcikuMTUgRSBGMSAtLjc1KFdvKTIuNzA5IEcgLjIwOQotKHJkIFNwbGl0dGluZykuNzUgRiBGMCA1LjIwOSguVClDIC4yMDkoaGUgcmVzdWx0cyBvZiB0aGUgZSktNS4yMDkgRiAuMjA5Ci0oeHBhbnNpb24gYXJlIHByZVwyMTR4LW1hdGNoZWQgYWcpLS4xNSBGIC4yMShhaW5zdCB0aGUgdyktLjA1IEYgLjIxCi0ob3JkIGJlaW5nIGNvbS0pLS4xIEYocGxldGVkLCBhbmQgdGhlIG1hdGNoaW5nIHcpMTA4IDQ4NC44IFEKLShvcmRzIGJlY29tZSB0aGUgcG9zc2libGUgY29tcGxldGlvbnMuKS0uMSBFIDEuMjM4Ci0oQWZ0ZXIgdGhlc2UgbWF0Y2hlcyBoYSkxMDggNTAxLjYgUiAxLjUzOCAtLjE1KHZlIGIpLS4yIEggMS4yMzgKLShlZW4gZ2VuZXJhdGVkLCBhbikuMTUgRiAzLjczOCh5cyktLjE1IEcgMS4yMzcKLShoZWxsIGZ1bmN0aW9uIG9yIGNvbW1hbmQgc3BlY2lcMjE0ZWQgd2l0aCB0aGUpLTMuNzM4IEYgRjE8YWQ0Nj4zLjczNyBFCi1GMChhbmQpMy43MzcgRSBGMTxhZDQzPjMuNzM3IEUgRjAgMy4zNzUob3B0aW9ucyBpcyBpbikxMDggNTEzLjYgUiAtLjIKLSh2byktLjQgRyAtLjEoa2UpLjIgRyA1Ljg3NShkLiBXaGVuKS4xIEYgMy4zNzUKLSh0aGUgY29tbWFuZCBvciBmdW5jdGlvbiBpcyBpbik1Ljg3NSBGIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAzLjM3NQotKGQsIHRoZSkuMSBGIEYzKENPTVBfTElORSk1Ljg3NiBFIEY0KCwpQSBGMyhDT01QX1BPSU5UKTUuNjI2IEUgRjQoLClBIEYzCi0oQ09NUF9LRVkpMTA4IDUyNS42IFEgRjQoLClBIEYwKGFuZCkyLjQwOCBFIEYzKENPTVBfVFlQRSkyLjY1OCBFIEYwIC0uMjUKLSh2YSkyLjQwOCBHIC4xNTcocmlhYmxlcyBhcmUgYXNzaWduZWQgdikuMjUgRiAuMTU3Ci0oYWx1ZXMgYXMgZGVzY3JpYmVkIGFibyktLjI1IEYgLjQ1NyAtLjE1KHZlIHUpLS4xNSBIKG5kZXIpLjE1IEUgRjEgLjE1NwotKFNoZWxsIFYpMi42NTcgRihhcmlhYmxlcyktLjkyIEUgRjAgNS4xNTcoLkkpQyhmKS01LjE1NyBFIDMuNDg1KGFzKTEwOAotNTM3LjYgUyAuOTg2KGhlbGwgZnVuY3Rpb24gaXMgYmVpbmcgaW4pLTMuNDg1IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHCi0uOTg2KGQsIHRoZSkuMSBGIEYzKENPTVBfVykzLjQ4NiBFKE9SRFMpLS4wOSBFIEYwKGFuZCkzLjIzNiBFIEYzCi0oQ09NUF9DVykzLjQ4NiBFKE9SRCktLjA5IEUgRjAgLS4yNSh2YSkzLjIzNiBHIC45ODYKLShyaWFibGVzIGFyZSBhbHNvIHNldC4pLjI1IEYoV2hlbik1Ljk4NiBFIC42MDkKLSh0aGUgZnVuY3Rpb24gb3IgY29tbWFuZCBpcyBpbikxMDggNTQ5LjYgUiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgLjYwOAotKGQsIHRoZSBcMjE0cnN0IGFyKS4xIEYgLjYwOChndW1lbnQgaXMgdGhlIG5hbWUgb2YgdGhlIGNvbW1hbmQgd2hvc2UgYXIpCi0tLjE4IEYgLjYwOChndW1lbnRzIGFyZSktLjE4IEYgLjA3MyhiZWluZyBjb21wbGV0ZWQsIHRoZSBzZWNvbmQgYXIpMTA4Ci01NjEuNiBSIC4wNzMoZ3VtZW50IGlzIHRoZSB3KS0uMTggRiAuMDczCi0ob3JkIGJlaW5nIGNvbXBsZXRlZCwgYW5kIHRoZSB0aGlyZCBhciktLjEgRiAuMDczKGd1bWVudCBpcyB0aGUgdyktLjE4IEYKLS4wNzMob3JkIHByZS0pLS4xIEYgLjYwOChjZWRpbmcgdGhlIHcpMTA4IDU3My42IFIgLjYwNwotKG9yZCBiZWluZyBjb21wbGV0ZWQgb24gdGhlIGN1cnJlbnQgY29tbWFuZCBsaW5lLiktLjEgRiAuNjA3Ci0oTm8gXDIxNGx0ZXJpbmcgb2YgdGhlIGdlbmVyYXRlZCBjb21wbGV0aW9ucyk1LjYwNyBGKGFnKTEwOCA1ODUuNiBRIC4wOTMKLShhaW5zdCB0aGUgdyktLjA1IEYgLjA5MyhvcmQgYmVpbmcgY29tcGxldGVkIGlzIHBlcmZvcm1lZDsgdGhlIGZ1bmN0aW9uXAotIG9yIGNvbW1hbmQgaGFzIGNvbXBsZXRlIGZyZWVkb20gaW4gZ2VuZXJhdC0pLS4xIEYoaW5nIHRoZSBtYXRjaGVzLikxMDgKLTU5Ny42IFEoQW4pMTA4IDYxNC40IFEgMi45MzgoeWYpLS4xNSBHIC40MzcodW5jdGlvbiBzcGVjaVwyMTRlZCB3aXRoKQotLTIuOTM4IEYgRjE8YWQ0Nj4yLjkzNyBFIEYwIC40MzcoaXMgaW4pMi45MzcgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcKLTIuOTM3PDY0OGM+LjEgRyAyLjkzNyhyc3QuIFRoZSktMi45MzcgRiAuNDM3KGZ1bmN0aW9uIG1heSB1c2UgYW4pMi45MzcgRgotMi45MzcoeW8pLS4xNSBHIDIuOTM3KGZ0KS0yLjkzNyBHIC40MzcoaGUgc2hlbGwgZiktMi45MzcgRiAuNDM3Ci0oYWNpbGl0aWVzLCBpbmNsdWRpbmcpLS4xIEYodGhlKTEwOCA2MjYuNCBRIEYxKGNvbXBnZW4pMi45NTYgRSBGMCAtLjIKLShidSkyLjk1NiBHIC40NTYoaWx0aW4gZGVzY3JpYmVkIGJlbG8pLjIgRiAxLjc1NiAtLjY1KHcsIHQpLS4yNSBIIDIuOTU2Ci0ob2cpLjY1IEcgLjQ1NihlbmVyYXRlIHRoZSBtYXRjaGVzLiktMi45NTYgRiAuNDU3Ci0oSXQgbXVzdCBwdXQgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIGluIHRoZSk1LjQ1NiBGIEYzKENPTVBSRVBMKTEwOAotNjM4LjQgUShZKS0uODI4IEUgRjAoYXJyYXkgdikyLjI1IEUoYXJpYWJsZS4pLS4yNSBFKE5lKTEwOCA2NTUuMiBRIC4wODEKLSh4dCwgYW4pLS4xNSBGIDIuNTgxKHljKS0uMTUgRyAuMDgxKG9tbWFuZCBzcGVjaVwyMTRlZCB3aXRoIHRoZSktMi41ODEgRgotRjE8YWQ0Mz4yLjU4MSBFIEYwIC4wODEob3B0aW9uIGlzIGluKTIuNTgxIEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHCi0yLjU4MShkaSkuMSBHIDIuNTgobmEpLTIuNTgxIEcgMi41OChuZSktMi41OCBHIC0uNChudiktMi41OCBHIC4wOAotKGlyb25tZW50IGVxdWkpLjQgRiAtLjI1KHZhKS0uMjUgRyAuMDgobGVudCB0byBjb21tYW5kIHN1Yi0pLjI1IEYgMi44NTgKLShzdGl0dXRpb24uIEl0KTEwOCA2NjcuMiBSIC4zNTkoc2hvdWxkIHByaW50IGEgbGlzdCBvZiBjb21wbGV0aW9ucywgb25lXAotIHBlciBsaW5lLCB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LikyLjg1OCBGIC4zNTkoQmFja3NsYXNoIG1heSBiZSB1c2VkKQotNS4zNTkgRih0byBlc2NhcGUgYSBuZSkxMDggNjc5LjIgUSh3bGluZSwgaWYgbmVjZXNzYXJ5KS0uMjUgRSguKS0uNjUgRQotLjM3NyhBZnRlciBhbGwgb2YgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIGFyZSBnZW5lcmF0ZWQsIGFuKTEwOCA2OTYgUgotMi44Nzc8Nzk4Yz4tLjE1IEcgLjM3NyhsdGVyIHNwZWNpXDIxNGVkIHdpdGggdGhlKS0yLjg3NyBGIEYxPGFkNTg+Mi44NzYKLUUgRjAgLjM3NihvcHRpb24gaXMgYXBwbGllZCB0byB0aGUpMi44NzYgRiAzLjE4MShsaXN0LiBUaGUpMTA4IDcwOCBSCi0uNjgxKFwyMTRsdGVyIGlzIGEgcGF0dGVybiBhcyB1c2VkIGZvciBwYXRobmFtZSBlKTMuMTgxIEYgLjY4MQotKHhwYW5zaW9uOyBhKS0uMTUgRiBGMSgmKTMuMTgxIEUgRjAgLjY4MgotKGluIHRoZSBwYXR0ZXJuIGlzIHJlcGxhY2VkIHdpdGggdGhlIHRlKTMuMTgyIEYgLjY4Mih4dCBvZiktLjE1IEYgLjUyMwotKHRoZSB3KTEwOCA3MjAgUiAuNTIzKG9yZCBiZWluZyBjb21wbGV0ZWQuKS0uMSBGIDMuMDIzKEFsKTUuNTIzIEcKLShpdGVyYWwpLTMuMDIzIEUgRjEoJikzLjAyMyBFIEYwIC41MjIKLShtYXkgYmUgZXNjYXBlZCB3aXRoIGEgYmFja3NsYXNoOyB0aGUgYmFja3NsYXNoIGlzIHJlbW8pMy4wMjIgRiAtLjE1KHZlKQotLS4xNSBHIDMuMDIyKGRiKS4xNSBHKGVmb3JlKS0zLjAyMiBFKEdOVSBCYXNoLTQuMCk3MiA3NjggUQotKDIwMDkgRmVicnVhcnkgNykxNDAuOTYgRSg0NCkxOTAuOTUgRSAwIENnIEVQCitGKFVJTCktLjA5IEUgMS4zMjkoVElOIENPTU1BTkRTKS0uODI4IEYgRjAoYmVsbykzLjU3OSBFIDEuMzI5KHdcKSwgdGhlKQorLS4yNSBGKHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGYpMTA4IDcxMi44IFEoYWNpbGl0aWVzIGFyZSBpbiktLjEgRSAtLjIKKyh2byktLjQgRyAtLjEoa2UpLjIgRyhkLikuMSBFIC40OTgKKyhGaXJzdCwgdGhlIGNvbW1hbmQgbmFtZSBpcyBpZGVudGlcMjE0ZWQuKTEwOCA3MjkuNiBSIC40OTgKKyhJZiB0aGUgY29tbWFuZCB3KTUuNDk4IEYgLjQ5NworKG9yZCBpcyB0aGUgZW1wdHkgc3RyaW5nIFwoY29tcGxldGlvbiBhdHRlbXB0ZWQgYXQpLS4xIEYoR05VIEJhc2gtNC4xKTcyCis3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg0NCkxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiA0NSA0NQogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRSAuODQ5KGF0dGVtcHRpbmcgYSBtYXRjaC4pMTA4IDg0IFIoQW4pNS44NDkgRSAzLjM0OSh5YyktLjE1IEcgLjg0OQorLS4zNSBFIC4yMzModGhlIGJlKTEwOCA4NCBSIC4yMzMoZ2lubmluZyBvZiBhbiBlbXB0eSBsaW5lXCksIGFuKS0uMTUgRgorMi43MzMoeWMpLS4xNSBHIC4yMzMob21wc3BlYyBkZVwyMTRuZWQgd2l0aCB0aGUpLTIuNzMzIEYvRjEgMTAKKy9UaW1lcy1Cb2xkQDAgU0Y8YWQ0NT4yLjczMyBFIEYwIC4yMzMob3B0aW9uIHRvKTIuNzMzIEYgRjEoY29tcGxldGUpCisyLjczMyBFIEYwIC4yMzMoaXMgdXNlZC4pMi43MzMgRiAuMjM0KElmIGEgY29tcC0pNS4yMzQgRiAuNDgxKHNwZWMgaGFzIFwKK2JlZW4gZGVcMjE0bmVkIGZvciB0aGF0IGNvbW1hbmQsIHRoZSBjb21wc3BlYyBpcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSBsXAoraXN0IG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zKTEwOCA5NiBSIC44MjIoZm9yIHRoZSB3KTEwOCAxMDggUiAzLjMyMgorKG9yZC4gSWYpLS4xIEYgLjgyMih0aGUgY29tbWFuZCB3KTMuMzIyIEYgLjgyMyhvcmQgaXMgYSBmdWxsIHBhdGhuYW1lLCBcCithIGNvbXBzcGVjIGZvciB0aGUgZnVsbCBwYXRobmFtZSBpcyBzZWFyY2hlZCBmb3IpLS4xIEYgMi44NjcKKyhcMjE0cnN0LiBJZikxMDggMTIwIFIgLjM2NihubyBjb21wc3BlYyBpcyBmb3VuZCBmb3IgdGhlIGZ1bGwgcGF0aG5hbWUsXAorIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBcMjE0bmQgYSBjb21wc3BlYyBmb3IgdGhlIHBvcnRpb24pMi44NjcgRihmb2xsbykKKzEwOCAxMzIgUSAuNDIxKHdpbmcgdGhlIFwyMTRuYWwgc2xhc2guKS0uMjUgRiAuNDIyCisoSWYgdGhvc2Ugc2VhcmNoZXMgdG8gbm90IHJlc3VsdCBpbiBhIGNvbXBzcGVjLCBhbik1LjQyMSBGIDIuOTIyKHljKS0uMTUKK0cgLjQyMihvbXBzcGVjIGRlXDIxNG5lZCB3aXRoIHRoZSktMi45MjIgRiBGMTxhZDQ0PjIuOTIyIEUgRjAob3B0aW9uIHRvKQorMTA4IDE0NCBRIEYxKGNvbXBsZXRlKTIuNSBFIEYwKGlzIHVzZWQgYXMgdGhlIGRlZikyLjUgRShhdWx0LiktLjEgRSAuODE3CisoT25jZSBhIGNvbXBzcGVjIGhhcyBiZWVuIGZvdW5kLCBpdCBpcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSBsaXN0IG9mIG1hdFwKK2NoaW5nIHcpMTA4IDE2MC44IFIgMy4zMTcob3Jkcy4gSWYpLS4xIEYgMy4zMTcoYWMpMy4zMTcgRyAuODE3Cisob21wc3BlYyBpcyBub3QpLTMuMzE3IEYoZm91bmQsIHRoZSBkZWYpMTA4IDE3Mi44IFEoYXVsdCktLjEgRSBGMShiYXNoKQorMi41IEUgRjAoY29tcGxldGlvbiBhcyBkZXNjcmliZWQgYWJvKTIuNSBFIC4zIC0uMTUodmUgdSktLjE1IEgobmRlcikuMTUKK0UgRjEoQ29tcGxldGluZykyLjUgRSBGMChpcyBwZXJmb3JtZWQuKTIuNSBFIC40NjMKKyhGaXJzdCwgdGhlIGFjdGlvbnMgc3BlY2lcMjE0ZWQgYnkgdGhlIGNvbXBzcGVjIGFyZSB1c2VkLikxMDggMTg5LjYgUgorLjQ2NChPbmx5IG1hdGNoZXMgd2hpY2ggYXJlIHByZVwyMTR4KTUuNDY0IEYgLjQ2NChlZCBieSB0aGUgdyktLjE1IEYKKy40NjQob3JkIGJlaW5nKS0uMSBGIC41OTYoY29tcGxldGVkIGFyZSByZXR1cm5lZC4pMTA4IDIwMS42IFIgLjU5NgorKFdoZW4gdGhlKTUuNTk2IEYgRjE8YWQ2Nj4zLjA5NiBFIEYwKG9yKTMuMDk1IEUgRjE8YWQ2ND4zLjA5NSBFIEYwIC41OTUKKyhvcHRpb24gaXMgdXNlZCBmb3IgXDIxNGxlbmFtZSBvciBkaXJlY3RvcnkgbmFtZSBjb21wbGV0aW9uLCB0aGUpMy4wOTUgRgorKHNoZWxsIHYpMTA4IDIxMy42IFEoYXJpYWJsZSktLjI1IEUvRjIgOS9UaW1lcy1Cb2xkQDAgU0YoRklHTk9SRSkyLjUgRQorRjAoaXMgdXNlZCB0byBcMjE0bHRlciB0aGUgbWF0Y2hlcy4pMi4yNSBFKEFuKTEwOCAyMzAuNCBRIDQuMDg0KHljKS0uMTUKK0cgMS41ODQob21wbGV0aW9ucyBzcGVjaVwyMTRlZCBieSBhIHBhdGhuYW1lIGUpLTQuMDg0IEYgMS41ODQKKyh4cGFuc2lvbiBwYXR0ZXJuIHRvIHRoZSktLjE1IEYgRjE8YWQ0Nz40LjA4NCBFIEYwIDEuNTg0Cisob3B0aW9uIGFyZSBnZW5lcmF0ZWQgbmUpNC4wODQgRiA0LjA4NCh4dC4gVGhlKS0uMTUgRiAtLjEod28pMTA4IDI0Mi40IFMKKy41NTUocmRzIGdlbmVyYXRlZCBieSB0aGUgcGF0dGVybiBuZWVkIG5vdCBtYXRjaCB0aGUgdykuMSBGIC41NTQKKyhvcmQgYmVpbmcgY29tcGxldGVkLiktLjEgRihUaGUpNS41NTQgRSBGMihHTE9CSUdOT1JFKTMuMDU0IEUgRjAgLjU1NAorKHNoZWxsIHYpMi44MDQgRihhcmktKS0uMjUgRQorKGFibGUgaXMgbm90IHVzZWQgdG8gXDIxNGx0ZXIgdGhlIG1hdGNoZXMsIGIpMTA4IDI1NC40IFEodXQgdGhlKS0uMiBFIEYyCisoRklHTk9SRSkyLjUgRSBGMCAtLjI1KHZhKTIuMjUgRyhyaWFibGUgaXMgdXNlZC4pLjI1IEUoTmUpMTA4IDI3MS4yIFEKKy4zMih4dCwgdGhlIHN0cmluZyBzcGVjaVwyMTRlZCBhcyB0aGUgYXIpLS4xNSBGIC4zMihndW1lbnQgdG8gdGhlKS0uMTggRgorRjE8YWQ1Nz4yLjgyIEUgRjAgLjMyMShvcHRpb24gaXMgY29uc2lkZXJlZC4pMi44MjEgRiAuMzIxCisoVGhlIHN0cmluZyBpcyBcMjE0cnN0IHNwbGl0IHVzaW5nIHRoZSk1LjMyMSBGIC40MTMoY2hhcmFjdGVycyBpbiB0aGUpCisxMDggMjgzLjIgUiBGMihJRlMpMi45MTMgRSBGMCAuNDEyKHNwZWNpYWwgdikyLjY2MyBGIC40MTIKKyhhcmlhYmxlIGFzIGRlbGltaXRlcnMuKS0uMjUgRiAuNDEyKFNoZWxsIHF1b3RpbmcgaXMgaG9ub3JlZC4pNS40MTIgRgorLjQxMihFYWNoIHcpNS40MTIgRiAuNDEyKG9yZCBpcyB0aGVuIGUpLS4xIEYoeHBhbmRlZCktLjE1IEUgLjA5MQorKHVzaW5nIGJyYWNlIGUpMTA4IDI5NS4yIFIgLjA5MSh4cGFuc2lvbiwgdGlsZGUgZSktLjE1IEYgLjA5MgorKHhwYW5zaW9uLCBwYXJhbWV0ZXIgYW5kIHYpLS4xNSBGIC4wOTIoYXJpYWJsZSBlKS0uMjUgRiAuMDkyCisoeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhbmQgYXJpdGgtKS0uMTUgRiAxLjM5NyhtZXRpYyBlKTEwOAorMzA3LjIgUiAxLjM5Nih4cGFuc2lvbiwgYXMgZGVzY3JpYmVkIGFibyktLjE1IEYgMS42OTYgLS4xNSh2ZSB1KS0uMTUgSAorKG5kZXIpLjE1IEUgRjIoRVhQKTMuODk2IEUoQU5TSU9OKS0uNjY2IEUvRjMgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMAorMS4zOTYoVGhlIHJlc3VsdHMgYXJlIHNwbGl0IHVzaW5nIHRoZSBydWxlcyBkZXNjcmliZWQpNS44OTYgRihhYm8pMTA4CiszMTkuMiBRIC41MDkgLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYxIC0uNzUoV28pMi43MDkgRyAuMjA5CisocmQgU3BsaXR0aW5nKS43NSBGIEYwIDUuMjA5KC5UKUMgLjIwOShoZSByZXN1bHRzIG9mIHRoZSBlKS01LjIwOSBGIC4yMDkKKyh4cGFuc2lvbiBhcmUgcHJlXDIxNHgtbWF0Y2hlZCBhZyktLjE1IEYgLjIxKGFpbnN0IHRoZSB3KS0uMDUgRiAuMjEKKyhvcmQgYmVpbmcgY29tLSktLjEgRihwbGV0ZWQsIGFuZCB0aGUgbWF0Y2hpbmcgdykxMDggMzMxLjIgUQorKG9yZHMgYmVjb21lIHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucy4pLS4xIEUgMS4yMzgKKyhBZnRlciB0aGVzZSBtYXRjaGVzIGhhKTEwOCAzNDggUiAxLjUzOCAtLjE1KHZlIGIpLS4yIEggMS4yMzgKKyhlZW4gZ2VuZXJhdGVkLCBhbikuMTUgRiAzLjczOCh5cyktLjE1IEcgMS4yMzcKKyhoZWxsIGZ1bmN0aW9uIG9yIGNvbW1hbmQgc3BlY2lcMjE0ZWQgd2l0aCB0aGUpLTMuNzM4IEYgRjE8YWQ0Nj4zLjczNyBFCitGMChhbmQpMy43MzcgRSBGMTxhZDQzPjMuNzM3IEUgRjAgMy4zNzUob3B0aW9ucyBpcyBpbikxMDggMzYwIFIgLS4yKHZvKQorLS40IEcgLS4xKGtlKS4yIEcgNS44NzUoZC4gV2hlbikuMSBGIDMuMzc1CisodGhlIGNvbW1hbmQgb3IgZnVuY3Rpb24gaXMgaW4pNS44NzUgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMy4zNzUKKyhkLCB0aGUpLjEgRiBGMihDT01QX0xJTkUpNS44NzYgRSBGMygsKUEgRjIoQ09NUF9QT0lOVCk1LjYyNiBFIEYzKCwpQSBGMgorKENPTVBfS0VZKTEwOCAzNzIgUSBGMygsKUEgRjAoYW5kKTIuNDA4IEUgRjIoQ09NUF9UWVBFKTIuNjU4IEUgRjAgLS4yNQorKHZhKTIuNDA4IEcgLjE1NyhyaWFibGVzIGFyZSBhc3NpZ25lZCB2KS4yNSBGIC4xNTcKKyhhbHVlcyBhcyBkZXNjcmliZWQgYWJvKS0uMjUgRiAuNDU3IC0uMTUodmUgdSktLjE1IEgobmRlcikuMTUgRSBGMSAuMTU3CisoU2hlbGwgVikyLjY1NyBGKGFyaWFibGVzKS0uOTIgRSBGMCA1LjE1NyguSSlDKGYpLTUuMTU3IEUgMy40ODUoYXMpMTA4CiszODQgUyAuOTg2KGhlbGwgZnVuY3Rpb24gaXMgYmVpbmcgaW4pLTMuNDg1IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHCisuOTg2KGQsIHRoZSkuMSBGIEYyKENPTVBfVykzLjQ4NiBFKE9SRFMpLS4wOSBFIEYwKGFuZCkzLjIzNiBFIEYyCisoQ09NUF9DVykzLjQ4NiBFKE9SRCktLjA5IEUgRjAgLS4yNSh2YSkzLjIzNiBHIC45ODYKKyhyaWFibGVzIGFyZSBhbHNvIHNldC4pLjI1IEYoV2hlbik1Ljk4NiBFIC42MDkKKyh0aGUgZnVuY3Rpb24gb3IgY29tbWFuZCBpcyBpbikxMDggMzk2IFIgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIC42MDgKKyhkLCB0aGUgXDIxNHJzdCBhcikuMSBGIC42MDgoZ3VtZW50IGlzIHRoZSBuYW1lIG9mIHRoZSBjb21tYW5kIHdob3NlIGFyKQorLS4xOCBGIC42MDgoZ3VtZW50cyBhcmUpLS4xOCBGIC4wNzMoYmVpbmcgY29tcGxldGVkLCB0aGUgc2Vjb25kIGFyKTEwOAorNDA4IFIgLjA3MyhndW1lbnQgaXMgdGhlIHcpLS4xOCBGIC4wNzMKKyhvcmQgYmVpbmcgY29tcGxldGVkLCBhbmQgdGhlIHRoaXJkIGFyKS0uMSBGIC4wNzMoZ3VtZW50IGlzIHRoZSB3KS0uMTggRgorLjA3MyhvcmQgcHJlLSktLjEgRiAuNjA4KGNlZGluZyB0aGUgdykxMDggNDIwIFIgLjYwNworKG9yZCBiZWluZyBjb21wbGV0ZWQgb24gdGhlIGN1cnJlbnQgY29tbWFuZCBsaW5lLiktLjEgRiAuNjA3CisoTm8gXDIxNGx0ZXJpbmcgb2YgdGhlIGdlbmVyYXRlZCBjb21wbGV0aW9ucyk1LjYwNyBGKGFnKTEwOCA0MzIgUSAuMDkzCisoYWluc3QgdGhlIHcpLS4wNSBGIC4wOTMob3JkIGJlaW5nIGNvbXBsZXRlZCBpcyBwZXJmb3JtZWQ7IHRoZSBmdW5jdGlvblwKKyBvciBjb21tYW5kIGhhcyBjb21wbGV0ZSBmcmVlZG9tIGluIGdlbmVyYXQtKS0uMSBGKGluZyB0aGUgbWF0Y2hlcy4pMTA4Cis0NDQgUShBbikxMDggNDYwLjggUSAyLjkzOCh5ZiktLjE1IEcgLjQzNyh1bmN0aW9uIHNwZWNpXDIxNGVkIHdpdGgpCistMi45MzggRiBGMTxhZDQ2PjIuOTM3IEUgRjAgLjQzNyhpcyBpbikyLjkzNyBGIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRworMi45Mzc8NjQ4Yz4uMSBHIDIuOTM3KHJzdC4gVGhlKS0yLjkzNyBGIC40MzcoZnVuY3Rpb24gbWF5IHVzZSBhbikyLjkzNyBGCisyLjkzNyh5byktLjE1IEcgMi45MzcoZnQpLTIuOTM3IEcgLjQzNyhoZSBzaGVsbCBmKS0yLjkzNyBGIC40MzcKKyhhY2lsaXRpZXMsIGluY2x1ZGluZyktLjEgRih0aGUpMTA4IDQ3Mi44IFEgRjEoY29tcGdlbikyLjk1NiBFIEYwIC0uMgorKGJ1KTIuOTU2IEcgLjQ1NihpbHRpbiBkZXNjcmliZWQgYmVsbykuMiBGIDEuNzU2IC0uNjUodywgdCktLjI1IEggMi45NTYKKyhvZykuNjUgRyAuNDU2KGVuZXJhdGUgdGhlIG1hdGNoZXMuKS0yLjk1NiBGIC40NTcKKyhJdCBtdXN0IHB1dCB0aGUgcG9zc2libGUgY29tcGxldGlvbnMgaW4gdGhlKTUuNDU2IEYgRjIoQ09NUFJFUEwpMTA4Cis0ODQuOCBRKFkpLS44MjggRSBGMChhcnJheSB2KTIuMjUgRShhcmlhYmxlLiktLjI1IEUoTmUpMTA4IDUwMS42IFEgLjA4MQorKHh0LCBhbiktLjE1IEYgMi41ODEoeWMpLS4xNSBHIC4wODEob21tYW5kIHNwZWNpXDIxNGVkIHdpdGggdGhlKS0yLjU4MSBGCitGMTxhZDQzPjIuNTgxIEUgRjAgLjA4MShvcHRpb24gaXMgaW4pMi41ODEgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcKKzIuNTgxKGRpKS4xIEcgMi41OChuYSktMi41ODEgRyAyLjU4KG5lKS0yLjU4IEcgLS40KG52KS0yLjU4IEcgLjA4CisoaXJvbm1lbnQgZXF1aSkuNCBGIC0uMjUodmEpLS4yNSBHIC4wOChsZW50IHRvIGNvbW1hbmQgc3ViLSkuMjUgRiAyLjg1OAorKHN0aXR1dGlvbi4gSXQpMTA4IDUxMy42IFIgLjM1OShzaG91bGQgcHJpbnQgYSBsaXN0IG9mIGNvbXBsZXRpb25zLCBvbmVcCisgcGVyIGxpbmUsIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuKTIuODU4IEYgLjM1OShCYWNrc2xhc2ggbWF5IGJlIHVzZWQpCis1LjM1OSBGKHRvIGVzY2FwZSBhIG5lKTEwOCA1MjUuNiBRKHdsaW5lLCBpZiBuZWNlc3NhcnkpLS4yNSBFKC4pLS42NSBFCisuMzc3KEFmdGVyIGFsbCBvZiB0aGUgcG9zc2libGUgY29tcGxldGlvbnMgYXJlIGdlbmVyYXRlZCwgYW4pMTA4IDU0Mi40IFIKKzIuODc3PDc5OGM+LS4xNSBHIC4zNzcobHRlciBzcGVjaVwyMTRlZCB3aXRoIHRoZSktMi44NzcgRiBGMTxhZDU4PjIuODc2CitFIEYwIC4zNzYob3B0aW9uIGlzIGFwcGxpZWQgdG8gdGhlKTIuODc2IEYgMy4xODEobGlzdC4gVGhlKTEwOCA1NTQuNCBSCisuNjgxKFwyMTRsdGVyIGlzIGEgcGF0dGVybiBhcyB1c2VkIGZvciBwYXRobmFtZSBlKTMuMTgxIEYgLjY4MQorKHhwYW5zaW9uOyBhKS0uMTUgRiBGMSgmKTMuMTgxIEUgRjAgLjY4MgorKGluIHRoZSBwYXR0ZXJuIGlzIHJlcGxhY2VkIHdpdGggdGhlIHRlKTMuMTgyIEYgLjY4Mih4dCBvZiktLjE1IEYgLjUyMworKHRoZSB3KTEwOCA1NjYuNCBSIC41MjMob3JkIGJlaW5nIGNvbXBsZXRlZC4pLS4xIEYgMy4wMjMoQWwpNS41MjMgRworKGl0ZXJhbCktMy4wMjMgRSBGMSgmKTMuMDIzIEUgRjAgLjUyMgorKG1heSBiZSBlc2NhcGVkIHdpdGggYSBiYWNrc2xhc2g7IHRoZSBiYWNrc2xhc2ggaXMgcmVtbykzLjAyMiBGIC0uMTUodmUpCistLjE1IEcgMy4wMjIoZGIpLjE1IEcoZWZvcmUpLTMuMDIyIEUgLjg0OShhdHRlbXB0aW5nIGEgbWF0Y2guKTEwOCA1NzguNAorUihBbik1Ljg0OSBFIDMuMzQ5KHljKS0uMTUgRyAuODQ5CiAob21wbGV0aW9uIHRoYXQgbWF0Y2hlcyB0aGUgcGF0dGVybiB3aWxsIGJlIHJlbW8pLTMuMzQ5IEYgLS4xNSh2ZSktLjE1IEcKLTMuMzUoZGYpLjE1IEcgLjg1KHJvbSB0aGUgbGlzdC4pLTMuMzUgRiAzLjM1KEFsKTUuODUgRyhlYWRpbmcpLTMuMzUgRS9GMQotMTAvVGltZXMtQm9sZEAwIFNGKCEpMy4zNSBFIEYwKG5lKTEwOCA5NiBRIC0uMDUoZ2EpLS4xNSBHCiszLjM1KGRmKS4xNSBHIC44NShyb20gdGhlIGxpc3QuKS0zLjM1IEYgMy4zNShBbCk1Ljg1IEcoZWFkaW5nKS0zLjM1IEUgRjEKKyghKTMuMzUgRSBGMChuZSkxMDggNTkwLjQgUSAtLjA1KGdhKS0uMTUgRwogKHRlcyB0aGUgcGF0dGVybjsgaW4gdGhpcyBjYXNlIGFuKS4wNSBFIDIuNSh5YyktLjE1IEcKIChvbXBsZXRpb24gbm90IG1hdGNoaW5nIHRoZSBwYXR0ZXJuIHdpbGwgYmUgcmVtbyktMi41IEUgLS4xNSh2ZSktLjE1IEcKLShkLikuMTUgRShGaW5hbGx5KTEwOCAxMTIuOCBRIDMuMDg3KCxhKS0uNjUgRyAuODg3IC0uMTUobnkgcCktMy4wODcgSAorKGQuKS4xNSBFKEZpbmFsbHkpMTA4IDYwNy4yIFEgMy4wODcoLGEpLS42NSBHIC44ODcgLS4xNShueSBwKS0zLjA4NyBICiAuNTg3KHJlXDIxNHggYW5kIHN1ZikuMTUgRiAuNTg3KFwyMTR4IHNwZWNpXDIxNGVkIHdpdGggdGhlKS0uMjUgRiBGMQogPGFkNTA+My4wODcgRSBGMChhbmQpMy4wODcgRSBGMTxhZDUzPjMuMDg3IEUgRjAgLjU4NwogKG9wdGlvbnMgYXJlIGFkZGVkIHRvIGVhY2ggbWVtYmVyIG9mIHRoZSBjb20tKTMuMDg3IEYocGxldGlvbiBsaXN0LCBhbmRcCiAgdGhlIHJlc3VsdCBpcyByZXR1cm5lZCB0byB0aGUgcmVhZGxpbmUgY29tcGxldGlvbiBjb2RlIGFzIHRoZSBsaXN0IG9mIFwKLXBvc3NpYmxlIGNvbXBsZXRpb25zLikxMDggMTI0LjggUSAuMjQ2KElmIHRoZSBwcmUpMTA4IDE0MS42IFIgLjI0NworcG9zc2libGUgY29tcGxldGlvbnMuKTEwOCA2MTkuMiBRIC4yNDYoSWYgdGhlIHByZSkxMDggNjM2IFIgLjI0NwogKHZpb3VzbHktYXBwbGllZCBhY3Rpb25zIGRvIG5vdCBnZW5lcmF0ZSBhbiktLjI1IEYgMi43NDcoeW0pLS4xNSBHIC4yNDcKIChhdGNoZXMsIGFuZCB0aGUpLTIuNzQ3IEYgRjEgLjI0NyhcMjU1byBkaXIpMi43NDcgRihuYW1lcyktLjE1IEUgRjAgLjI0NwotKG9wdGlvbiB3KTIuNzQ3IEYgLjI0NyhhcyBzdXBwbGllZCB0byktLjEgRiBGMShjb21wbGV0ZSkxMDggMTUzLjYgUSBGMAorKG9wdGlvbiB3KTIuNzQ3IEYgLjI0NyhhcyBzdXBwbGllZCB0byktLjEgRiBGMShjb21wbGV0ZSkxMDggNjQ4IFEgRjAKICh3aGVuIHRoZSBjb21wc3BlYyB3KTIuNSBFCiAoYXMgZGVcMjE0bmVkLCBkaXJlY3RvcnkgbmFtZSBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZC4pLS4xIEUgLjQ2MgotKElmIHRoZSkxMDggMTcwLjQgUiBGMSAuNDYyKFwyNTVvIHBsdXNkaXJzKTIuOTYyIEYgRjAgLjQ2MihvcHRpb24gdykKKyhJZiB0aGUpMTA4IDY2NC44IFIgRjEgLjQ2MihcMjU1byBwbHVzZGlycykyLjk2MiBGIEYwIC40NjIob3B0aW9uIHcpCiAyLjk2MiBGIC40NjIoYXMgc3VwcGxpZWQgdG8pLS4xIEYgRjEoY29tcGxldGUpMi45NjIgRSBGMCAuNDYyCiAod2hlbiB0aGUgY29tcHNwZWMgdykyLjk2MiBGIC40NjIoYXMgZGVcMjE0bmVkLCBkaXJlY3RvcnkgbmFtZSBjb20tKS0uMQotRihwbGV0aW9uIGlzIGF0dGVtcHRlZCBhbmQgYW4pMTA4IDE4Mi40IFEgMi41KHltKS0uMTUgRworRihwbGV0aW9uIGlzIGF0dGVtcHRlZCBhbmQgYW4pMTA4IDY3Ni44IFEgMi41KHltKS0uMTUgRwogKGF0Y2hlcyBhcmUgYWRkZWQgdG8gdGhlIHJlc3VsdHMgb2YgdGhlIG90aGVyIGFjdGlvbnMuKS0yLjUgRSAuNTU5Ci0oQnkgZGVmKTEwOCAxOTkuMiBSIC41NTkoYXVsdCwgaWYgYSBjb21wc3BlYyBpcyBmb3VuZCwgd2hhdGUpLS4xIEYgLS4xNQorKEJ5IGRlZikxMDggNjkzLjYgUiAuNTU5KGF1bHQsIGlmIGEgY29tcHNwZWMgaXMgZm91bmQsIHdoYXRlKS0uMSBGIC0uMTUKICh2ZSktLjI1IEcgMy4wNTkocmkpLjE1IEcgMy4wNTkodGcpLTMuMDU5IEcgLjU2CiAoZW5lcmF0ZXMgaXMgcmV0dXJuZWQgdG8gdGhlIGNvbXBsZXRpb24gY29kZSBhcyB0aGUgZnVsbCBzZXQpLTMuMDU5IEYKLS42MzIob2YgcG9zc2libGUgY29tcGxldGlvbnMuKTEwOCAyMTEuMiBSIC42MzIoVGhlIGRlZik1LjYzMiBGKGF1bHQpLS4xCisuNjMyKG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zLikxMDggNzA1LjYgUiAuNjMyKFRoZSBkZWYpNS42MzIgRihhdWx0KS0uMQogRSBGMShiYXNoKTMuMTMyIEUgRjAgLjYzMQogKGNvbXBsZXRpb25zIGFyZSBub3QgYXR0ZW1wdGVkLCBhbmQgdGhlIHJlYWRsaW5lIGRlZikzLjEzMSBGIC42MzEKLShhdWx0IG9mIFwyMTRsZS0pLS4xIEYgLjU1OChuYW1lIGNvbXBsZXRpb24gaXMgZGlzYWJsZWQuKTEwOCAyMjMuMiBSCisoYXVsdCBvZiBcMjE0bGUtKS0uMSBGIC41NTgobmFtZSBjb21wbGV0aW9uIGlzIGRpc2FibGVkLikxMDggNzE3LjYgUgogLjU1OChJZiB0aGUpNS41NTggRiBGMSAuNTU5KFwyNTVvIGJhc2hkZWZhdWx0KTMuMDU5IEYgRjAgLjU1OShvcHRpb24gdykKIDMuMDU5IEYgLjU1OShhcyBzdXBwbGllZCB0byktLjEgRiBGMShjb21wbGV0ZSkzLjA1OSBFIEYwIC41NTkKLSh3aGVuIHRoZSBjb21wc3BlYykzLjA1OSBGIC0uMSh3YSkxMDggMjM1LjIgUyAzLjE3MihzZCkuMSBHIC42NzIKKyh3aGVuIHRoZSBjb21wc3BlYykzLjA1OSBGIC0uMSh3YSkxMDggNzI5LjYgUyAzLjE3MihzZCkuMSBHIC42NzIKIChlXDIxNG5lZCwgdGhlKS0zLjE3MiBGIEYxKGJhc2gpMy4xNzIgRSBGMChkZWYpMy4xNzIgRSAuNjcxCiAoYXVsdCBjb21wbGV0aW9ucyBhcmUgYXR0ZW1wdGVkIGlmIHRoZSBjb21wc3BlYyBnZW5lcmF0ZXMgbm8gbWF0Y2hlcy4pCi0tLjEgRiAuNjcxKElmIHRoZSk1LjY3MSBGIEYxPGFkNmY+My4xNzEgRShkZWZhdWx0KTEwOCAyNDcuMiBRIEYwIDEuMjA3Ci0ob3B0aW9uIHcpMy43MDYgRiAxLjIwNyhhcyBzdXBwbGllZCB0byktLjEgRiBGMShjb21wbGV0ZSkzLjcwNyBFIEYwCi0xLjIwNyh3aGVuIHRoZSBjb21wc3BlYyB3KTMuNzA3IEYgMS4yMDcoYXMgZGVcMjE0bmVkLCByZWFkbGluZScpLS4xIEYKLTMuNzA3KHNkKS0uNTUgRyhlZiktMy43MDcgRSAxLjIwNyhhdWx0IGNvbXBsZXRpb24pLS4xIEYKLSh3aWxsIGJlIHBlcmZvcm1lZCBpZiB0aGUgY29tcHNwZWMgXChhbmQsIGlmIGF0dGVtcHRlZCwgdGhlIGRlZikxMDgKLTI1OS4yIFEoYXVsdCktLjEgRSBGMShiYXNoKTIuNSBFIEYwKGNvbXBsZXRpb25zXCkgZ2VuZXJhdGUgbm8gbWF0Y2hlcy4pCi0yLjUgRSAuMjQ1KFdoZW4gYSBjb21wc3BlYyBpbmRpY2F0ZXMgdGhhdCBkaXJlY3RvcnkgbmFtZSBjb21wbGV0aW9uIGlzIFwKLWRlc2lyZWQsIHRoZSBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmdW5jLSkxMDggMjc2IFIgLjYzMih0aW9ucyBmb3JjZSByXAotZWFkbGluZSB0byBhcHBlbmQgYSBzbGFzaCB0byBjb21wbGV0ZWQgbmFtZXMgd2hpY2ggYXJlIHN5bWJvbGljIGxpbmtzIHRcCi1vIGRpcmVjdG9yaWVzLCBzdWJqZWN0KTEwOCAyODggUiAyLjc2Mih0byB0aGUgdikxMDggMzAwIFIgMi43NjIKLShhbHVlIG9mIHRoZSktLjI1IEYgRjEobWFya1wyNTVkaXIpNS4yNjIgRShlY3RvcmllcyktLjE4IEUgRjAgMi43NjEKLShyZWFkbGluZSB2KTUuMjYyIEYgMi43NjEoYXJpYWJsZSwgcmUpLS4yNSBGIC0uMDUoZ2EpLS4xNSBHIDIuNzYxCi0ocmRsZXNzIG9mIHRoZSBzZXR0aW5nIG9mIHRoZSkuMDUgRiBGMShtYXJrLXN5bS0pNS4yNjEgRShsaW5rKTEwOCAzMTIgUQotKGVkXDI1NWRpciktLjEgRShlY3RvcmllcyktLjE4IEUgRjAocmVhZGxpbmUgdikyLjUgRShhcmlhYmxlLiktLjI1IEUvRjIKLTEwLjk1L1RpbWVzLUJvbGRAMCBTRihISVNUKTcyIDMyOC44IFEoT1IpLS4xOTcgRShZKS0uMzgzIEUgRjAgLjM3MQotKFdoZW4gdGhlKTEwOCAzNDAuOCBSIEYxIC4zNzEoXDI1NW8gaGlzdG9yeSkyLjg3MSBGIEYwIC4zNzEKLShvcHRpb24gdG8gdGhlKTIuODcxIEYgRjEoc2V0KTIuODcyIEUgRjAgLS4yKGJ1KTIuODcyIEcgLjM3MgotKGlsdGluIGlzIGVuYWJsZWQsIHRoZSBzaGVsbCBwcm8pLjIgRiAuMzcyKHZpZGVzIGFjY2VzcyB0byB0aGUpLS4xNSBGL0YzCi0xMC9UaW1lcy1JdGFsaWNAMCBTRiAuMzcyKGNvbW1hbmQgaGlzdG9yeSkyLjg3MiBGIEYwKCwpQSAuMDMyCi0odGhlIGxpc3Qgb2YgY29tbWFuZHMgcHJlKTEwOCAzNTIuOCBSIC4wMzEodmlvdXNseSB0eXBlZC4pLS4yNSBGIC4wMzEKLShUaGUgdik1LjAzMSBGIC4wMzEoYWx1ZSBvZiB0aGUpLS4yNSBGIEYxKEhJU1RTSVpFKTIuNTMxIEUgRjAgLS4yNSh2YSkKLTIuNTMxIEcgLjAzMShyaWFibGUgaXMgdXNlZCBhcyB0aGUgbnVtYmVyIG9mIGNvbS0pLjI1IEYgLjQyOQotKG1hbmRzIHRvIHNhKTEwOCAzNjQuOCBSIC43MjkgLS4xNSh2ZSBpKS0uMiBIIDIuOTI5KG5haCkuMTUgRyAuNDI5Ci0oaXN0b3J5IGxpc3QuKS0yLjkyOSBGIC40MjkoVGhlIHRlKTUuNDI5IEYgLjQyOSh4dCBvZiB0aGUgbGFzdCktLjE1IEYvRjQKLTkvVGltZXMtQm9sZEAwIFNGKEhJU1RTSVpFKTIuOTMgRSBGMCAuNDMoY29tbWFuZHMgXChkZWYpMi42OCBGIC40MwotKGF1bHQgNTAwXCkgaXMgc2EpLS4xIEYgLS4xNSh2ZSktLjIgRyAyLjkzKGQuIFRoZSkuMTUgRihzaGVsbCkyLjkzIEUKLS4yODcoc3RvcmVzIGVhY2ggY29tbWFuZCBpbiB0aGUgaGlzdG9yeSBsaXN0IHByaW9yIHRvIHBhcmFtZXRlciBhbmQgdikKLTEwOCAzNzYuOCBSIC4yODcoYXJpYWJsZSBlKS0uMjUgRiAuMjg3KHhwYW5zaW9uIFwoc2VlKS0uMTUgRiBGNChFWFApCi0yLjc4NyBFKEFOU0lPTiktLjY2NiBFIEYwKGFibykyLjUzNyBFIC0uMTUodmUpLS4xNSBHKFwpKS4xNSBFIC0uMihidSkxMDgKLTM4OC44IFMgNC4wNjUodGEpLjIgRyAxLjU2NShmdGVyIGhpc3RvcnkgZSktNC4wNjUgRiAxLjU2NQotKHhwYW5zaW9uIGlzIHBlcmZvcm1lZCwgc3ViamVjdCB0byB0aGUgdiktLjE1IEYgMS41NjUKLShhbHVlcyBvZiB0aGUgc2hlbGwgdiktLjI1IEYoYXJpYWJsZXMpLS4yNSBFIEY0KEhJU1RJR05PUkUpNC4wNjUgRSBGMAotKGFuZCkzLjgxNiBFIEY0KEhJU1RDT05UUikxMDggNDAwLjggUShPTCktLjI3IEUvRjUgOS9UaW1lcy1Sb21hbkAwIFNGKC4pCi1BIEYwIC4wODIKLShPbiBzdGFydHVwLCB0aGUgaGlzdG9yeSBpcyBpbml0aWFsaXplZCBmcm9tIHRoZSBcMjE0bGUgbmFtZWQgYnkgdGhlIHYpCi0xMDggNDE3LjYgUihhcmlhYmxlKS0uMjUgRSBGNChISVNURklMRSkyLjU4MiBFIEYwKFwoZGVmKTIuMzMyIEUoYXVsdCktLjEKLUUgRjMofi8uYmFzaF9oaXN0b3J5KTIuNTgyIEUgRjAoXCkuKUEgLjMxNShUaGUgXDIxNGxlIG5hbWVkIGJ5IHRoZSB2KTEwOAotNDI5LjYgUiAuMzE1KGFsdWUgb2YpLS4yNSBGIEY0KEhJU1RGSUxFKTIuODE1IEUgRjAgLjMxNQotKGlzIHRydW5jYXRlZCwgaWYgbmVjZXNzYXJ5KTIuNTY1IEYgMi44MTUoLHQpLS42NSBHIDIuODE1KG9jKS0yLjgxNSBHCi0uMzE1KG9udGFpbiBubyBtb3JlIHRoYW4gdGhlIG51bWJlciBvZiktMi44MTUgRiAuNTMyCi0obGluZXMgc3BlY2lcMjE0ZWQgYnkgdGhlIHYpMTA4IDQ0MS42IFIgLjUzMihhbHVlIG9mKS0uMjUgRiBGNAotKEhJU1RGSUxFU0laRSkzLjAzMiBFIEY1KC4pQSBGMCAuNTMyCi0oV2hlbiB0aGUgaGlzdG9yeSBcMjE0bGUgaXMgcmVhZCwgbGluZXMgYmUpNS4wMzIgRiAuNTMyCi0oZ2lubmluZyB3aXRoIHRoZSBoaXMtKS0uMTUgRiAxLjE1OCh0b3J5IGNvbW1lbnQgY2hhcmFjdGVyIGZvbGxvKTEwOAotNDUzLjYgUiAxLjE1OSh3ZWQgaW1tZWRpYXRlbHkgYnkgYSBkaWdpdCBhcmUgaW50ZXJwcmV0ZWQgYXMgdGltZXN0YW1wcyBcCi1mb3IgdGhlIHByZWNlZGluZyktLjI1IEYgLjA1MyhoaXN0b3J5IGxpbmUuKTEwOCA0NjUuNiBSIC4wNTMKLShUaGVzZSB0aW1lc3RhbXBzIGFyZSBvcHRpb25hbGx5IGRpc3BsYXllZCBkZXBlbmRpbmcgb24gdGhlIHYpNS4wNTMgRgotLjA1MihhbHVlIG9mIHRoZSktLjI1IEYgRjQoSElTVFRJTUVGT1JNQSkyLjU1MiBFKFQpLS44NTUgRSBGMCAtLjI1KHZhKQotMTA4IDQ3Ny42IFMgNC4zODYocmlhYmxlLiBXaGVuKS4yNSBGIDEuODg2KGFuIGludGVyYWN0aSk0LjM4NiBGIDIuMTg3Ci0tLjE1KHZlIHMpLS4yNSBIIDEuODg3KGhlbGwgZSkuMTUgRiAxLjg4Nyh4aXRzLCB0aGUgbGFzdCktLjE1IEYgRjQKLSgkSElTVFNJWkUpNC4zODcgRSBGMCAxLjg4NyhsaW5lcyBhcmUgY29waWVkIGZyb20gdGhlIGhpc3RvcnkgbGlzdCB0bykKLTQuMTM3IEYgRjQoJEhJU1RGSUxFKTEwOCA0ODkuNiBRIEY1KC4pQSBGMCAuMDU2KElmIHRoZSk0LjU1NiBGIEYxCi0oaGlzdGFwcGVuZCkyLjU1NiBFIEYwIC4wNTYKLShzaGVsbCBvcHRpb24gaXMgZW5hYmxlZCBcKHNlZSB0aGUgZGVzY3JpcHRpb24gb2YpMi41NTYgRiBGMShzaG9wdCkyLjU1NgotRSBGMCh1bmRlcikyLjU1NiBFIEY0IC4wNTYoU0hFTEwgQikyLjU1NiBGKFVJTCktLjA5IEUoVElOKS0uODI4IEUKLShDT01NQU5EUykxMDggNTAxLjYgUSBGMChiZWxvKTIuNjcxIEUgLjQyMih3XCksIHRoZSBsaW5lcyBhcmUgYXBwZW5kZWQgXAotdG8gdGhlIGhpc3RvcnkgXDIxNGxlLCBvdGhlcndpc2UgdGhlIGhpc3RvcnkgXDIxNGxlIGlzIG8pLS4yNSBGIC0uMTUodmUpCi0tLjE1IEcgMi45MjIocndyaXR0ZW4uIElmKS4xNSBGIEY0KEhJU1RGSUxFKTEwOCA1MTMuNiBRIEYwIDEuMTE0KGlzIHVuc1wKLWV0LCBvciBpZiB0aGUgaGlzdG9yeSBcMjE0bGUgaXMgdW53cml0YWJsZSwgdGhlIGhpc3RvcnkgaXMgbm90IHNhKTMuMzY0Ci1GIC0uMTUodmUpLS4yIEcgMy42MTQoZC4gSWYpLjE1IEYodGhlKTMuNjE0IEUgRjUgLS4yMjUodmEpMy42MTMgRyAxLjExMwotKHJpYWJsZSBpcyBzZXQsIHRpbWUpLjIyNSBGIDEuMjUxCi0oc3RhbXBzIGFyZSB3cml0dGVuIHRvIHRoZSBoaXN0b3J5IFwyMTRsZSwgbWFyaykxMDggNTI1LjYgUihlZCktLjA5IEUgRjAKLTEuMjUyKHdpdGggdGhlIGhpc3RvcnkgY29tbWVudCBjaGFyYWN0ZXIpMy41MDIgRiAzLjc1MigscyktLjQgRyAzLjc1MgotKG90KS0zLjc1MiBHKGhlKS0zLjc1MiBFIDMuNzUyKHltKS0uMTUgRyAxLjI1MihheSBiZSBwcmVzZXJ2KS0zLjc1MiBGCi0oZWQpLS4xNSBFIC4xMDUoYWNyb3NzIHNoZWxsIHNlc3Npb25zLikxMDggNTM3LjYgUiAuMTA1KFRoaXMgdXNlcyB0aGUgaFwKLWlzdG9yeSBjb21tZW50IGNoYXJhY3RlciB0byBkaXN0aW5ndWlzaCB0aW1lc3RhbXBzIGZyb20gb3RoZXIgaGlzdG9yeSkKLTUuMTA1IEYgMi42MDQobGluZXMuIEFmdGVyKTEwOCA1NDkuNiBSKHNhKTIuNjA0IEUgLjEwNCh2aW5nIHRoZSBoaXN0b3J5KQotLS4yIEYgMi42MDQoLHQpLS42NSBHIC4xMDQKLShoZSBoaXN0b3J5IFwyMTRsZSBpcyB0cnVuY2F0ZWQgdG8gY29udGFpbiBubyBtb3JlIHRoYW4pLTIuNjA0IEYgRjQKLShISVNURklMRVNJWkUpMi42MDUgRSBGMCAyLjYwNShsaW5lcy4gSWYpMi4zNTUgRiBGNChISVNURklMRVNJWkUpMTA4Ci01NjEuNiBRIEYwKGlzIG5vdCBzZXQsIG5vIHRydW5jYXRpb24gaXMgcGVyZm9ybWVkLikyLjI1IEUgMS4yOTQoVGhlIGIpCi0xMDggNTc4LjQgUiAxLjI5NCh1aWx0aW4gY29tbWFuZCktLjIgRiBGMShmYykzLjc5NCBFIEYwKFwoc2VlKTMuNzk0IEUgRjQKLTEuMjkzKFNIRUxMIEIpMy43OTQgRihVSUwpLS4wOSBFIDEuMjkzKFRJTiBDT01NQU5EUyktLjgyOCBGIEYwKGJlbG8pCi0zLjU0MyBFIDEuMjkzKHdcKSBtYXkgYmUgdXNlZCB0byBsaXN0IG9yIGVkaXQgYW5kIHJlLSktLjI1IEYgLS4xNShleGUpCi0xMDggNTkwLjQgUyAuNjczKGN1dGUgYSBwb3J0aW9uIG9mIHRoZSBoaXN0b3J5IGxpc3QuKS4xNSBGKFRoZSk1LjY3MyBFCi1GMShoaXN0b3J5KTMuMTczIEUgRjAgLS4yKGJ1KTMuMTczIEcgLjY3MwotKGlsdGluIG1heSBiZSB1c2VkIHRvIGRpc3BsYXkgb3IgbW9kaWZ5IHRoZSBoaXN0b3J5IGxpc3QpLjIgRiAuMjgKLShhbmQgbWFuaXB1bGF0ZSB0aGUgaGlzdG9yeSBcMjE0bGUuKTEwOCA2MDIuNCBSIC4yNzkKLShXaGVuIHVzaW5nIGNvbW1hbmQtbGluZSBlZGl0aW5nLCBzZWFyY2ggY29tbWFuZHMgYXJlIGEpNS4yNzkgRiAtLjI1KHZhKQotLS4yIEcgLjI3OShpbGFibGUgaW4gZWFjaCkuMjUgRihlZGl0aW5nIG1vZGUgdGhhdCBwcm8pMTA4IDYxNC40IFEKLSh2aWRlIGFjY2VzcyB0byB0aGUgaGlzdG9yeSBsaXN0LiktLjE1IEUgMS40ODUoVGhlIHNoZWxsIGFsbG8pMTA4IDYzMS4yCi1SIDEuNDg1KHdzIGNvbnRyb2wgbyktLjI1IEYgLS4xNSh2ZSktLjE1IEcgMy45ODYocncpLjE1IEcgMS40ODYKLShoaWNoIGNvbW1hbmRzIGFyZSBzYSktMy45ODYgRiAtLjE1KHZlKS0uMiBHIDMuOTg2KGRvKS4xNSBHIDMuOTg2KG50KQotLTMuOTg2IEcgMS40ODYoaGUgaGlzdG9yeSBsaXN0LiktMy45ODYgRihUaGUpNi40ODYgRSBGNChISVNUQ09OVFIpMy45ODYKLUUoT0wpLS4yNyBFIEYwKGFuZCkzLjczNiBFIEY0KEhJU1RJR05PUkUpMTA4IDY0My4yIFEgRjAgLS4yNSh2YSkyLjcwOCBHCi0uNDU4KHJpYWJsZXMgbWF5IGJlIHNldCB0byBjYXVzZSB0aGUgc2hlbGwgdG8gc2EpLjI1IEYgLjc1NyAtLjE1KHZlIG8pCi0tLjIgSCAuNDU3KG5seSBhIHN1YnNldCBvZiB0aGUgY29tbWFuZHMgZW50ZXJlZC4pLjE1IEYoVGhlKTUuNDU3IEUgRjEKLShjbWRoaXN0KTEwOCA2NTUuMiBRIEYwIC43NQotKHNoZWxsIG9wdGlvbiwgaWYgZW5hYmxlZCwgY2F1c2VzIHRoZSBzaGVsbCB0byBhdHRlbXB0IHRvIHNhKTMuMjUgRiAxLjA1Ci0tLjE1KHZlIGUpLS4yIEggLjc1KGFjaCBsaW5lIG9mIGEgbXVsdGktbGluZSBjb21tYW5kIGluKS4xNSBGIDEuMDc3Ci0odGhlIHNhbWUgaGlzdG9yeSBlbnRyeSkxMDggNjY3LjIgUiAzLjU3NygsYSktLjY1IEcgMS4wNzcKLShkZGluZyBzZW1pY29sb25zIHdoZXJlIG5lY2Vzc2FyeSB0byBwcmVzZXJ2KS0zLjU3NyBGIDMuNTc3KGVzKS0uMTUgRwotMS4wNzcoeW50YWN0aWMgY29ycmVjdG5lc3MuKS0zLjU3NyBGKFRoZSk2LjA3NyBFIEYxKGxpdGhpc3QpMy41NzYgRSBGMAotLjM3MyhzaGVsbCBvcHRpb24gY2F1c2VzIHRoZSBzaGVsbCB0byBzYSkxMDggNjc5LjIgUiAuNjc0IC0uMTUodmUgdCktLjIKLUggLjM3NChoZSBjb21tYW5kIHdpdGggZW1iZWRkZWQgbmUpLjE1IEYgLjM3NAotKHdsaW5lcyBpbnN0ZWFkIG9mIHNlbWljb2xvbnMuKS0uMjUgRiAuMzc0KFNlZSB0aGUpNS4zNzQgRiAuMzE5Ci0oZGVzY3JpcHRpb24gb2YgdGhlKTEwOCA2OTEuMiBSIEYxKHNob3B0KTIuODE5IEUgRjAgLS4yKGJ1KTIuODE5IEcgLjMxOAotKGlsdGluIGJlbG8pLjIgRiAyLjgxOCh3dSktLjI1IEcobmRlciktMi44MTggRSBGNCAuMzE4KFNIRUxMIEIpMi44MTggRgotKFVJTCktLjA5IEUgLjMxOChUSU4gQ09NTUFORFMpLS44MjggRiBGMCAuMzE4Ci0oZm9yIGluZm9ybWF0aW9uIG9uIHNldHRpbmcgYW5kKTIuNTY4IEYodW5zZXR0aW5nIHNoZWxsIG9wdGlvbnMuKTEwOAotNzAzLjIgUShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFKDQ1KTE5MC45NSBFIDAgQ2cKLUVQCistLjEgRiAuNjcxKElmIHRoZSk1LjY3MSBGIEYxPGFkNmY+My4xNzEgRSBGMChHTlUgQmFzaC00LjEpNzIgNzY4IFEKKygyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg0NSkxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiA0NiA0NgogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRS9GMSAxMC45NS9UaW1lcy1Cb2xkQDAgU0YoSElTVCk3MiA4NCBRKE9SKS0uMTk3IEUgMi43MzgoWUUpLS4zODMgRwotKFhQKS0yLjczOCBFKEFOU0lPTiktLjgxIEUgRjAgLjYxKFRoZSBzaGVsbCBzdXBwb3J0cyBhIGhpc3RvcnkgZSkxMDggOTYKLVIgLjYxMSh4cGFuc2lvbiBmZWF0dXJlIHRoYXQgaXMgc2ltaWxhciB0byB0aGUgaGlzdG9yeSBlKS0uMTUgRiAuNjExCi0oeHBhbnNpb24gaW4pLS4xNSBGL0YyIDEwL1RpbWVzLUJvbGRAMCBTRihjc2guKTMuMTExIEUgRjAgLjYxMQotKFRoaXMgc2VjdGlvbik1LjYxMSBGIC44NzEoZGVzY3JpYmVzIHdoYXQgc3ludGF4IGZlYXR1cmVzIGFyZSBhKTEwOCAxMDgKKy0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoZGVmYXVsdCkxMDggODQgUSBGMCAxLjIwNyhvcHRpb24gdykzLjcwNiBGCisxLjIwNyhhcyBzdXBwbGllZCB0byktLjEgRiBGMShjb21wbGV0ZSkzLjcwNyBFIEYwIDEuMjA3Cisod2hlbiB0aGUgY29tcHNwZWMgdykzLjcwNyBGIDEuMjA3KGFzIGRlXDIxNG5lZCwgcmVhZGxpbmUnKS0uMSBGIDMuNzA3Cisoc2QpLS41NSBHKGVmKS0zLjcwNyBFIDEuMjA3KGF1bHQgY29tcGxldGlvbiktLjEgRgorKHdpbGwgYmUgcGVyZm9ybWVkIGlmIHRoZSBjb21wc3BlYyBcKGFuZCwgaWYgYXR0ZW1wdGVkLCB0aGUgZGVmKTEwOCA5NiBRCisoYXVsdCktLjEgRSBGMShiYXNoKTIuNSBFIEYwKGNvbXBsZXRpb25zXCkgZ2VuZXJhdGUgbm8gbWF0Y2hlcy4pMi41IEUKKy4yNDUoV2hlbiBhIGNvbXBzcGVjIGluZGljYXRlcyB0aGF0IGRpcmVjdG9yeSBuYW1lIGNvbXBsZXRpb24gaXMgZGVzaXJlXAorZCwgdGhlIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGZ1bmMtKTEwOCAxMTIuOCBSIC42MzIodGlvbnMgZm9yY2UgcmVhZGxcCitpbmUgdG8gYXBwZW5kIGEgc2xhc2ggdG8gY29tcGxldGVkIG5hbWVzIHdoaWNoIGFyZSBzeW1ib2xpYyBsaW5rcyB0byBkaVwKK3JlY3Rvcmllcywgc3ViamVjdCkxMDggMTI0LjggUiAyLjc2Mih0byB0aGUgdikxMDggMTM2LjggUiAyLjc2MgorKGFsdWUgb2YgdGhlKS0uMjUgRiBGMShtYXJrXDI1NWRpcik1LjI2MiBFKGVjdG9yaWVzKS0uMTggRSBGMCAyLjc2MQorKHJlYWRsaW5lIHYpNS4yNjIgRiAyLjc2MShhcmlhYmxlLCByZSktLjI1IEYgLS4wNShnYSktLjE1IEcgMi43NjEKKyhyZGxlc3Mgb2YgdGhlIHNldHRpbmcgb2YgdGhlKS4wNSBGIEYxKG1hcmstc3ltLSk1LjI2MSBFKGxpbmspMTA4IDE0OC44CitRKGVkXDI1NWRpciktLjEgRShlY3RvcmllcyktLjE4IEUgRjAocmVhZGxpbmUgdikyLjUgRShhcmlhYmxlLiktLjI1IEUKKy4xOShUaGVyZSBpcyBzb21lIHN1cHBvcnQgZm9yIGR5bmFtaWNhbGx5IG1vZGlmeWluZyBjb21wbGV0aW9ucy4pMTA4CisxNjUuNiBSIC4xOTEoVGhpcyBpcyBtb3N0IHVzZWZ1bCB3aGVuIHVzZWQgaW4gY29tYmluYS0pNS4xOTEgRiAxLjMzCisodGlvbiB3aXRoIGEgZGVmKTEwOCAxNzcuNiBSIDEuMzMoYXVsdCBjb21wbGV0aW9uIHNwZWNpXDIxNGVkIHdpdGgpLS4xIEYKK0YxIDEuMzMoY29tcGxldGUgLUQpMy44MyBGIEYwIDYuMzMoLkkpQyh0JyktNi4zMyBFIDMuODMoc3ApLS41NSBHIDEuMzMKKyhvc3NpYmxlIGZvciBzaGVsbCBmdW5jdGlvbnMgZSktMy44MyBGIC0uMTUoeGUpLS4xNSBHIDEuMzMoY3V0ZWQgYXMpLjE1CitGIC45Myhjb21wbGV0aW9uIGhhbmRsZXJzIHRvIGluZGljYXRlIHRoYXQgY29tcGxldGlvbiBzaG91bGQgYmUgcmV0cmllZFwKKyBieSByZXR1cm5pbmcgYW4gZSkxMDggMTg5LjYgUiAuOTMoeGl0IHN0YXR1cyBvZiAxMjQuKS0uMTUgRiAuOTMoSWYgYSkKKzUuOTMgRiAuMShzaGVsbCBmdW5jdGlvbiByZXR1cm5zIDEyNCwgYW5kIGNoYW5nZXMgdGhlIGNvbXBzcGVjIGFzc29jaWF0XAorZWQgd2l0aCB0aGUgY29tbWFuZCBvbiB3aGljaCBjb21wbGV0aW9uIGlzKTEwOCAyMDEuNiBSIC42NjUKKyhiZWluZyBhdHRlbXB0ZWQgXChzdXBwbGllZCBhcyB0aGUgXDIxNHJzdCBhcikxMDggMjEzLjYgUiAuNjY2CisoZ3VtZW50IHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGUpLS4xOCBGIC0uMTUoeGUpLS4xNSBHIC42NjYKKyhjdXRlZFwpLCBwcm9ncmFtbWFibGUgY29tcGxldGlvbikuMTUgRiAxLjEzOShyZXN0YXJ0cyBmcm9tIHRoZSBiZSkxMDgKKzIyNS42IFIgMS4xMzkKKyhnaW5uaW5nLCB3aXRoIGFuIGF0dGVtcHQgdG8gXDIxNG5kIGEgY29tcHNwZWMgZm9yIHRoYXQgY29tbWFuZC4pLS4xNSBGCisxLjEzOShUaGlzIGFsbG8pNi4xMzkgRiAxLjEzOCh3cyBhIHNldCBvZiktLjI1IEYoY29tcGxldGlvbnMgdG8gYmUgYikxMDgKKzIzNy42IFEodWlsdCBkeW5hbWljYWxseSBhcyBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgcmF0aGVyIHRoYW4gYmVpbmcgXAorbG9hZGVkIGFsbCBhdCBvbmNlLiktLjIgRSAtLjE1KEZvKTEwOCAyNTQuNCBTIDIuNjM2KHJpKS4xNSBHIC4xMzcKKyhuc3RhbmNlLCBhc3N1bWluZyB0aGF0IHRoZXJlIGlzIGEgbGlicmFyeSBvZiBjb21wc3BlY3MsIGVhY2ggayktMi42MzYgRgorLjEzNyhlcHQgaW4gYSBcMjE0bGUgY29ycmVzcG9uZGluZyB0byB0aGUgbmFtZSBvZiktLjEgRgorKHRoZSBjb21tYW5kLCB0aGUgZm9sbG8pMTA4IDI2Ni40IFEod2luZyBkZWYpLS4yNSBFCisoYXVsdCBjb21wbGV0aW9uIGZ1bmN0aW9uIHcpLS4xIEUob3VsZCBsb2FkIGNvbXBsZXRpb25zIGR5bmFtaWNhbGx5OiktLjEKK0UvRjIgMTAvQ291cmllckAwIFNGKF9jb21wbGV0aW9uX2xvYWRlclwoXCkpMTA4IDI4My4yIFEoeykxMDggMjk1LjIgUSA2CisoLiIpMTQ0IDMwNy4yIFMKKygvZXRjL2Jhc2hfY29tcGxldGlvbi5kLyQxLnNoIiA+L2Rldi9udWxsIDI+JjEgJiYgcmV0dXJuIDEyNCktNiBFKH0pMTA4CiszMTkuMiBRKGNvbXBsZXRlIC1EIC1GIF9jb21wbGV0aW9uX2xvYWRlcikxMDggMzMxLjIgUS9GMyAxMC45NQorL1RpbWVzLUJvbGRAMCBTRihISVNUKTcyIDM2MCBRKE9SKS0uMTk3IEUoWSktLjM4MyBFIEYwIC4zNzIoV2hlbiB0aGUpMTA4CiszNzIgUiBGMSAuMzcyKFwyNTVvIGhpc3RvcnkpMi44NzIgRiBGMCAuMzcyKG9wdGlvbiB0byB0aGUpMi44NzIgRiBGMQorKHNldCkyLjg3MiBFIEYwIC0uMihidSkyLjg3MiBHIC4zNzIoaWx0aW4gaXMgZW5hYmxlZCwgdGhlIHNoZWxsIHBybykuMiBGCisuMzcxKHZpZGVzIGFjY2VzcyB0byB0aGUpLS4xNSBGL0Y0IDEwL1RpbWVzLUl0YWxpY0AwIFNGIC4zNzEKKyhjb21tYW5kIGhpc3RvcnkpMi44NzEgRiBGMCgsKUEgLjMwNCh0aGUgbGlzdCBvZiBjb21tYW5kcyBwcmUpMTA4IDM4NCBSCisuMzA0KHZpb3VzbHkgdHlwZWQuKS0uMjUgRiAuMzA0KFRoZSB2KTUuMzA0IEYgLjMwNChhbHVlIG9mIHRoZSktLjI1IEYvRjUKKzkvVGltZXMtQm9sZEAwIFNGKEhJU1RTSVpFKTIuODA0IEUgRjAgLS4yNSh2YSkyLjU1NCBHIC4zMDUKKyhyaWFibGUgaXMgdXNlZCBhcyB0aGUgbnVtYmVyIG9mIGNvbS0pLjI1IEYgLjQzKG1hbmRzIHRvIHNhKTEwOCAzOTYgUgorLjczIC0uMTUodmUgaSktLjIgSCAyLjkzKG5haCkuMTUgRyAuNDMoaXN0b3J5IGxpc3QuKS0yLjkzIEYgLjQzKFRoZSB0ZSkKKzUuNDMgRiAuNDI5KHh0IG9mIHRoZSBsYXN0KS0uMTUgRiBGNShISVNUU0laRSkyLjkyOSBFIEYwIC40MjkKKyhjb21tYW5kcyBcKGRlZikyLjY3OSBGIC40MjkoYXVsdCA1MDBcKSBpcyBzYSktLjEgRiAtLjE1KHZlKS0uMiBHIDIuOTI5CisoZC4gVGhlKS4xNSBGKHNoZWxsKTIuOTI5IEUgLjI4NworKHN0b3JlcyBlYWNoIGNvbW1hbmQgaW4gdGhlIGhpc3RvcnkgbGlzdCBwcmlvciB0byBwYXJhbWV0ZXIgYW5kIHYpMTA4Cis0MDggUiAuMjg3KGFyaWFibGUgZSktLjI1IEYgLjI4Nyh4cGFuc2lvbiBcKHNlZSktLjE1IEYgRjUoRVhQKTIuNzg3IEUKKyhBTlNJT04pLS42NjYgRSBGMChhYm8pMi41MzcgRSAtLjE1KHZlKS0uMTUgRyhcKSkuMTUgRSAtLjIoYnUpMTA4IDQyMCBTCis0LjA2Nih0YSkuMiBHIDEuNTY1KGZ0ZXIgaGlzdG9yeSBlKS00LjA2NiBGIDEuNTY1CisoeHBhbnNpb24gaXMgcGVyZm9ybWVkLCBzdWJqZWN0IHRvIHRoZSB2KS0uMTUgRiAxLjU2NQorKGFsdWVzIG9mIHRoZSBzaGVsbCB2KS0uMjUgRihhcmlhYmxlcyktLjI1IEUgRjUoSElTVElHTk9SRSk0LjA2NSBFIEYwCisoYW5kKTMuODE1IEUgRjUoSElTVENPTlRSKTEwOCA0MzIgUShPTCktLjI3IEUvRjYgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQQorRjAgLjA4MgorKE9uIHN0YXJ0dXAsIHRoZSBoaXN0b3J5IGlzIGluaXRpYWxpemVkIGZyb20gdGhlIFwyMTRsZSBuYW1lZCBieSB0aGUgdikKKzEwOCA0NDguOCBSKGFyaWFibGUpLS4yNSBFIEY1KEhJU1RGSUxFKTIuNTgzIEUgRjAoXChkZWYpMi4zMzMgRShhdWx0KS0uMQorRSBGNCh+Ly5iYXNoX2hpc3RvcnkpMi41ODMgRSBGMChcKS4pQSAuMzE1KFRoZSBcMjE0bGUgbmFtZWQgYnkgdGhlIHYpMTA4Cis0NjAuOCBSIC4zMTUoYWx1ZSBvZiktLjI1IEYgRjUoSElTVEZJTEUpMi44MTUgRSBGMCAuMzE1CisoaXMgdHJ1bmNhdGVkLCBpZiBuZWNlc3NhcnkpMi41NjUgRiAyLjgxNSgsdCktLjY1IEcgMi44MTUob2MpLTIuODE1IEcKKy4zMTUob250YWluIG5vIG1vcmUgdGhhbiB0aGUgbnVtYmVyIG9mKS0yLjgxNSBGIC41MzIKKyhsaW5lcyBzcGVjaVwyMTRlZCBieSB0aGUgdikxMDggNDcyLjggUiAuNTMyKGFsdWUgb2YpLS4yNSBGIEY1CisoSElTVEZJTEVTSVpFKTMuMDMyIEUgRjYoLilBIEYwIC41MzIKKyhXaGVuIHRoZSBoaXN0b3J5IFwyMTRsZSBpcyByZWFkLCBsaW5lcyBiZSk1LjAzMiBGIC41MzIKKyhnaW5uaW5nIHdpdGggdGhlIGhpcy0pLS4xNSBGIDEuMTU5KHRvcnkgY29tbWVudCBjaGFyYWN0ZXIgZm9sbG8pMTA4Cis0ODQuOCBSIDEuMTU4KHdlZCBpbW1lZGlhdGVseSBieSBhIGRpZ2l0IGFyZSBpbnRlcnByZXRlZCBhcyB0aW1lc3RhbXBzIFwKK2ZvciB0aGUgcHJlY2VkaW5nKS0uMjUgRiAuMDUyKGhpc3RvcnkgbGluZS4pMTA4IDQ5Ni44IFIgLjA1MworKFRoZXNlIHRpbWVzdGFtcHMgYXJlIG9wdGlvbmFsbHkgZGlzcGxheWVkIGRlcGVuZGluZyBvbiB0aGUgdik1LjA1MiBGCisuMDUzKGFsdWUgb2YgdGhlKS0uMjUgRiBGNShISVNUVElNRUZPUk1BKTIuNTUzIEUoVCktLjg1NSBFIEYwIC0uMjUodmEpCisxMDggNTA4LjggUyA0LjM4NyhyaWFibGUuIFdoZW4pLjI1IEYgMS44ODcoYW4gaW50ZXJhY3RpKTQuMzg3IEYgMi4xODcKKy0uMTUodmUgcyktLjI1IEggMS44ODcoaGVsbCBlKS4xNSBGIDEuODg3KHhpdHMsIHRoZSBsYXN0KS0uMTUgRiBGNQorKCRISVNUU0laRSk0LjM4NyBFIEYwIDEuODg3KGxpbmVzIGFyZSBjb3BpZWQgZnJvbSB0aGUgaGlzdG9yeSBsaXN0IHRvKQorNC4xMzcgRiBGNSgkSElTVEZJTEUpMTA4IDUyMC44IFEgRjYoLilBIEYwIC4wNTYoSWYgdGhlKTQuNTU2IEYgRjEKKyhoaXN0YXBwZW5kKTIuNTU2IEUgRjAgLjA1NgorKHNoZWxsIG9wdGlvbiBpcyBlbmFibGVkIFwoc2VlIHRoZSBkZXNjcmlwdGlvbiBvZikyLjU1NiBGIEYxKHNob3B0KTIuNTU2CitFIEYwKHVuZGVyKTIuNTU2IEUgRjUgLjA1NihTSEVMTCBCKTIuNTU2IEYoVUlMKS0uMDkgRShUSU4pLS44MjggRQorKENPTU1BTkRTKTEwOCA1MzIuOCBRIEYwKGJlbG8pMi42NzIgRSAuNDIyKHdcKSwgdGhlIGxpbmVzIGFyZSBhcHBlbmRlZCBcCit0byB0aGUgaGlzdG9yeSBcMjE0bGUsIG90aGVyd2lzZSB0aGUgaGlzdG9yeSBcMjE0bGUgaXMgbyktLjI1IEYgLS4xNSh2ZSkKKy0uMTUgRyAyLjkyMShyd3JpdHRlbi4gSWYpLjE1IEYgRjUoSElTVEZJTEUpMTA4IDU0NC44IFEgRjAgLjQzNShpcyB1bnNlXAordCwgb3IgaWYgdGhlIGhpc3RvcnkgXDIxNGxlIGlzIHVud3JpdGFibGUsIHRoZSBoaXN0b3J5IGlzIG5vdCBzYSkyLjY4NCBGCistLjE1KHZlKS0uMiBHIDIuOTM1KGQuIElmKS4xNSBGKHRoZSkyLjkzNSBFIEY1KEhJU1RUSU1FRk9STUEpMi45MzUgRShUKQorLS44NTUgRSBGMCAtLjI1KHZhKTEwOCA1NTYuOCBTIC45MTcKKyhyaWFibGUgaXMgc2V0LCB0aW1lIHN0YW1wcyBhcmUgd3JpdHRlbiB0byB0aGUgaGlzdG9yeSBcMjE0bGUsIG1hcmspLjI1CitGIC45MTYoZWQgd2l0aCB0aGUgaGlzdG9yeSBjb21tZW50IGNoYXJhY3RlciktLjEgRiAzLjQxNigscyktLjQgRyhvKQorLTMuNDE2IEUodGhlKTEwOCA1NjguOCBRIDMuMDgyKHltKS0uMTUgRyAuNTgyKGF5IGJlIHByZXNlcnYpLTMuMDgyIEYKKy41ODIoZWQgYWNyb3NzIHNoZWxsIHNlc3Npb25zLiktLjE1IEYgLjU4MworKFRoaXMgdXNlcyB0aGUgaGlzdG9yeSBjb21tZW50IGNoYXJhY3RlciB0byBkaXN0aW5ndWlzaCB0aW1lLSk1LjU4MyBGCisuOTg3KHN0YW1wcyBmcm9tIG90aGVyIGhpc3RvcnkgbGluZXMuKTEwOCA1ODAuOCBSIC45ODcoQWZ0ZXIgc2EpNS45ODcgRgorLjk4Nyh2aW5nIHRoZSBoaXN0b3J5KS0uMiBGIDMuNDg2KCx0KS0uNjUgRyAuOTg2CisoaGUgaGlzdG9yeSBcMjE0bGUgaXMgdHJ1bmNhdGVkIHRvIGNvbnRhaW4gbm8gbW9yZSktMy40ODYgRih0aGFuKTEwOAorNTkyLjggUSBGNShISVNURklMRVNJWkUpMi41IEUgRjAgMi41KGxpbmVzLiBJZikyLjI1IEYgRjUoSElTVEZJTEVTSVpFKQorMi41IEUgRjAoaXMgbm90IHNldCwgbm8gdHJ1bmNhdGlvbiBpcyBwZXJmb3JtZWQuKTIuMjUgRSAxLjI5MyhUaGUgYikxMDgKKzYwOS42IFIgMS4yOTModWlsdGluIGNvbW1hbmQpLS4yIEYgRjEoZmMpMy43OTMgRSBGMChcKHNlZSkzLjc5MyBFIEY1CisxLjI5MyhTSEVMTCBCKTMuNzkzIEYoVUlMKS0uMDkgRSAxLjI5MyhUSU4gQ09NTUFORFMpLS44MjggRiBGMChiZWxvKQorMy41NDMgRSAxLjI5NCh3XCkgbWF5IGJlIHVzZWQgdG8gbGlzdCBvciBlZGl0IGFuZCByZS0pLS4yNSBGIC0uMTUoZXhlKQorMTA4IDYyMS42IFMgLjY3NChjdXRlIGEgcG9ydGlvbiBvZiB0aGUgaGlzdG9yeSBsaXN0LikuMTUgRihUaGUpNS42NzMgRQorRjEoaGlzdG9yeSkzLjE3MyBFIEYwIC0uMihidSkzLjE3MyBHIC42NzMKKyhpbHRpbiBtYXkgYmUgdXNlZCB0byBkaXNwbGF5IG9yIG1vZGlmeSB0aGUgaGlzdG9yeSBsaXN0KS4yIEYgLjI3OQorKGFuZCBtYW5pcHVsYXRlIHRoZSBoaXN0b3J5IFwyMTRsZS4pMTA4IDYzMy42IFIgLjI3OQorKFdoZW4gdXNpbmcgY29tbWFuZC1saW5lIGVkaXRpbmcsIHNlYXJjaCBjb21tYW5kcyBhcmUgYSk1LjI3OSBGIC0uMjUodmEpCistLjIgRyAuMjgoaWxhYmxlIGluIGVhY2gpLjI1IEYoZWRpdGluZyBtb2RlIHRoYXQgcHJvKTEwOCA2NDUuNiBRCisodmlkZSBhY2Nlc3MgdG8gdGhlIGhpc3RvcnkgbGlzdC4pLS4xNSBFIDEuNDg2KFRoZSBzaGVsbCBhbGxvKTEwOCA2NjIuNAorUiAxLjQ4Nih3cyBjb250cm9sIG8pLS4yNSBGIC0uMTUodmUpLS4xNSBHIDMuOTg2KHJ3KS4xNSBHIDEuNDg2CisoaGljaCBjb21tYW5kcyBhcmUgc2EpLTMuOTg2IEYgLS4xNSh2ZSktLjIgRyAzLjk4NihkbykuMTUgRyAzLjk4NihudCkKKy0zLjk4NiBHIDEuNDg2KGhlIGhpc3RvcnkgbGlzdC4pLTMuOTg2IEYoVGhlKTYuNDg1IEUgRjUoSElTVENPTlRSKTMuOTg1CitFKE9MKS0uMjcgRSBGMChhbmQpMy43MzUgRSBGNShISVNUSUdOT1JFKTEwOCA2NzQuNCBRIEYwIC0uMjUodmEpMi43MDcgRworLjQ1NyhyaWFibGVzIG1heSBiZSBzZXQgdG8gY2F1c2UgdGhlIHNoZWxsIHRvIHNhKS4yNSBGIC43NTggLS4xNSh2ZSBvKQorLS4yIEggLjQ1OChubHkgYSBzdWJzZXQgb2YgdGhlIGNvbW1hbmRzIGVudGVyZWQuKS4xNSBGKFRoZSk1LjQ1OCBFIEYxCisoY21kaGlzdCkxMDggNjg2LjQgUSBGMCAuNzUKKyhzaGVsbCBvcHRpb24sIGlmIGVuYWJsZWQsIGNhdXNlcyB0aGUgc2hlbGwgdG8gYXR0ZW1wdCB0byBzYSkzLjI1IEYgMS4wNQorLS4xNSh2ZSBlKS0uMiBIIC43NShhY2ggbGluZSBvZiBhIG11bHRpLWxpbmUgY29tbWFuZCBpbikuMTUgRiAxLjA3NworKHRoZSBzYW1lIGhpc3RvcnkgZW50cnkpMTA4IDY5OC40IFIgMy41NzcoLGEpLS42NSBHIDEuMDc3CisoZGRpbmcgc2VtaWNvbG9ucyB3aGVyZSBuZWNlc3NhcnkgdG8gcHJlc2VydiktMy41NzcgRiAzLjU3NyhlcyktLjE1IEcKKzEuMDc3KHludGFjdGljIGNvcnJlY3RuZXNzLiktMy41NzcgRihUaGUpNi4wNzcgRSBGMShsaXRoaXN0KTMuNTc3IEUgRjAKKy4zNzQoc2hlbGwgb3B0aW9uIGNhdXNlcyB0aGUgc2hlbGwgdG8gc2EpMTA4IDcxMC40IFIgLjY3NCAtLjE1KHZlIHQpLS4yCitIIC4zNzQoaGUgY29tbWFuZCB3aXRoIGVtYmVkZGVkIG5lKS4xNSBGIC4zNzMKKyh3bGluZXMgaW5zdGVhZCBvZiBzZW1pY29sb25zLiktLjI1IEYgLjM3MyhTZWUgdGhlKTUuMzczIEYgLjMxOAorKGRlc2NyaXB0aW9uIG9mIHRoZSkxMDggNzIyLjQgUiBGMShzaG9wdCkyLjgxOCBFIEYwIC0uMihidSkyLjgxOCBHIC4zMTgKKyhpbHRpbiBiZWxvKS4yIEYgMi44MTgod3UpLS4yNSBHKG5kZXIpLTIuODE4IEUgRjUgLjMxOChTSEVMTCBCKTIuODE4IEYKKyhVSUwpLS4wOSBFIC4zMTgoVElOIENPTU1BTkRTKS0uODI4IEYgRjAgLjMxOQorKGZvciBpbmZvcm1hdGlvbiBvbiBzZXR0aW5nIGFuZCkyLjU2OCBGKEdOVSBCYXNoLTQuMSk3MiA3NjggUQorKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDQ2KTE4NS45NTUgRSAwIENnIEVQCislJVBhZ2U6IDQ3IDQ3CislJUJlZ2luUGFnZVNldHVwCitCUAorJSVFbmRQYWdlU2V0dXAKKy9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQorLS4zNSBFKHVuc2V0dGluZyBzaGVsbCBvcHRpb25zLikxMDggODQgUS9GMSAxMC45NS9UaW1lcy1Cb2xkQDAgU0YoSElTVCkKKzcyIDEwMC44IFEoT1IpLS4xOTcgRSAyLjczOChZRSktLjM4MyBHKFhQKS0yLjczOCBFKEFOU0lPTiktLjgxIEUgRjAgLjYxMQorKFRoZSBzaGVsbCBzdXBwb3J0cyBhIGhpc3RvcnkgZSkxMDggMTEyLjggUiAuNjExCisoeHBhbnNpb24gZmVhdHVyZSB0aGF0IGlzIHNpbWlsYXIgdG8gdGhlIGhpc3RvcnkgZSktLjE1IEYgLjYxCisoeHBhbnNpb24gaW4pLS4xNSBGL0YyIDEwL1RpbWVzLUJvbGRAMCBTRihjc2guKTMuMTEgRSBGMCAuNjEKKyhUaGlzIHNlY3Rpb24pNS42MSBGIC44NyhkZXNjcmliZXMgd2hhdCBzeW50YXggZmVhdHVyZXMgYXJlIGEpMTA4IDEyNC44CiBSIC0uMjUodmEpLS4yIEcgMy4zNzEoaWxhYmxlLiBUaGlzKS4yNSBGIC44NzEoZmVhdHVyZSBpcyBlbmFibGVkIGJ5IGRlZikKLTMuMzcxIEYgLjg3KGF1bHQgZm9yIGludGVyYWN0aSktLjEgRiAxLjE3IC0uMTUodmUgcyktLjI1IEggLjg3Ci0oaGVsbHMsIGFuZCkuMTUgRiAyLjAxMyhjYW4gYmUgZGlzYWJsZWQgdXNpbmcgdGhlKTEwOCAxMjAgUiBGMigrSCk0LjUxNAotRSBGMCAyLjAxNChvcHRpb24gdG8gdGhlKTQuNTE0IEYgRjIoc2V0KTQuNTE0IEUgRjAgLS4yKGJ1KTQuNTE0IEcgMi4wMTQKLShpbHRpbiBjb21tYW5kIFwoc2VlKS4yIEYvRjMgOS9UaW1lcy1Cb2xkQDAgU0YgMi4wMTQoU0hFTEwgQik0LjUxNCBGCi0oVUlMKS0uMDkgRSAyLjAxNChUSU4gQ09NTUFORFMpLS44MjggRiBGMChiZWxvKTEwOCAxMzIgUSAyLjUKKzMuMzcxIEYgLjg3MShhdWx0IGZvciBpbnRlcmFjdGkpLS4xIEYgMS4xNzEgLS4xNSh2ZSBzKS0uMjUgSCAuODcxCisoaGVsbHMsIGFuZCkuMTUgRiAyLjAxNChjYW4gYmUgZGlzYWJsZWQgdXNpbmcgdGhlKTEwOCAxMzYuOCBSIEYyKCtIKQorNC41MTQgRSBGMCAyLjAxNChvcHRpb24gdG8gdGhlKTQuNTE0IEYgRjIoc2V0KTQuNTE0IEUgRjAgLS4yKGJ1KTQuNTE0IEcKKzIuMDE0KGlsdGluIGNvbW1hbmQgXChzZWUpLjIgRi9GMyA5L1RpbWVzLUJvbGRAMCBTRiAyLjAxMyhTSEVMTCBCKTQuNTEzCitGKFVJTCktLjA5IEUgMi4wMTMoVElOIENPTU1BTkRTKS0uODI4IEYgRjAoYmVsbykxMDggMTQ4LjggUSAyLjUKICh3XCkuIE5vbi1pbnRlcmFjdGkpLS4yNSBGIC4zIC0uMTUodmUgcyktLjI1IEgKIChoZWxscyBkbyBub3QgcGVyZm9ybSBoaXN0b3J5IGUpLjE1IEUoeHBhbnNpb24gYnkgZGVmKS0uMTUgRShhdWx0LiktLjEgRQotMS4zMDYoSGlzdG9yeSBlKTEwOCAxNDguOCBSIDEuMzA2KHhwYW5zaW9ucyBpbnRyb2R1Y2UgdyktLjE1IEYgMS4zMDYob3JcCisxLjMwNShIaXN0b3J5IGUpMTA4IDE2NS42IFIgMS4zMDUoeHBhbnNpb25zIGludHJvZHVjZSB3KS0uMTUgRiAxLjMwNihvclwKIGRzIGZyb20gdGhlIGhpc3RvcnkgbGlzdCBpbnRvIHRoZSBpbnB1dCBzdHJlYW0sIG1ha2luZyBpdCBlYXN5IHRvIHJlcGVhXAotdCktLjEgRiAuMjA5KGNvbW1hbmRzLCBpbnNlcnQgdGhlIGFyKTEwOCAxNjAuOCBSIC4yMDkoZ3VtZW50cyB0byBhIHByZSkKLS0uMTggRiAuMjEKK3QpLS4xIEYgLjIxKGNvbW1hbmRzLCBpbnNlcnQgdGhlIGFyKTEwOCAxNzcuNiBSIC4yMShndW1lbnRzIHRvIGEgcHJlKQorLS4xOCBGIC4yMDkKICh2aW91cyBjb21tYW5kIGludG8gdGhlIGN1cnJlbnQgaW5wdXQgbGluZSwgb3IgXDIxNHggZXJyb3JzIGluIHByZSktLjI1Ci1GKHZpb3VzKS0uMjUgRShjb21tYW5kcyBxdWlja2x5KTEwOCAxNzIuOCBRKC4pLS42NSBFIDEuMTY0KEhpc3RvcnkgZSkxMDgKLTE4OS42IFIgMS4xNjMoeHBhbnNpb24gaXMgcGVyZm9ybWVkIGltbWVkaWF0ZWx5IGFmdGVyIGEgY29tcGxldGUgbGluZSBpXAotcyByZWFkLCBiZWZvcmUgdGhlIHNoZWxsIGJyZWFrcyBpdCBpbnRvKS0uMTUgRiAtLjEod28pMTA4IDIwMS42IFMgMy4yCitGKHZpb3VzKS0uMjUgRShjb21tYW5kcyBxdWlja2x5KTEwOCAxODkuNiBRKC4pLS42NSBFIDEuMTYzKEhpc3RvcnkgZSkxMDgKKzIwNi40IFIgMS4xNjMoeHBhbnNpb24gaXMgcGVyZm9ybWVkIGltbWVkaWF0ZWx5IGFmdGVyIGEgY29tcGxldGUgbGluZSBpXAorcyByZWFkLCBiZWZvcmUgdGhlIHNoZWxsIGJyZWFrcyBpdCBpbnRvKS0uMTUgRiAtLjEod28pMTA4IDIxOC40IFMgMy4yCiAocmRzLiBJdCkuMSBGKHRhaykzLjIgRSAuNyhlcyBwbGFjZSBpbiB0dyktLjEgRiAzLjIob3ApLS4xIEcgMy4yCiAoYXJ0cy4gVGhlKS0zLjIgRiAuNwogKFwyMTRyc3QgaXMgdG8gZGV0ZXJtaW5lIHdoaWNoIGxpbmUgZnJvbSB0aGUgaGlzdG9yeSBsaXN0IHRvIHVzZSBkdXJpbmcpCi0zLjIgRiA0LjM2OChzdWJzdGl0dXRpb24uIFRoZSkxMDggMjEzLjYgUiAxLjg2OChzZWNvbmQgaXMgdG8gc2VsZWN0IHBvclwKLXRpb25zIG9mIHRoYXQgbGluZSBmb3IgaW5jbHVzaW9uIGludG8gdGhlIGN1cnJlbnQgb25lLik0LjM2OCBGIDEuODY3Ci0oVGhlIGxpbmUpNi44NjcgRiAuNjYyKHNlbGVjdGVkIGZyb20gdGhlIGhpc3RvcnkgaXMgdGhlKTEwOCAyMjUuNiBSL0Y0Ci0xMC9UaW1lcy1JdGFsaWNAMCBTRiAtLjE1KGV2KTMuMTYyIEcoZW50KS4xNSBFIEYwIDMuMTYyKCxhKUMgLjY2MwotKG5kIHRoZSBwb3J0aW9ucyBvZiB0aGF0IGxpbmUgdGhhdCBhcmUgYWN0ZWQgdXBvbiBhcmUpLTMuMTYyIEYgRjQod29yKQotMy4xNjMgRShkcyktLjM3IEUgRjAgNS42NjMoLlYpQyhhcmlvdXMpLTYuNzczIEUgRjQobW9kaVwyMTRlcikxMDggMjM3LjYKLVEocyktLjEgRSBGMCAuMjI3KGFyZSBhKTIuNzI3IEYgLS4yNSh2YSktLjIgRyAuMjI3Ci0oaWxhYmxlIHRvIG1hbmlwdWxhdGUgdGhlIHNlbGVjdGVkIHcpLjI1IEYgMi43Mjcob3Jkcy4gVGhlKS0uMSBGIC4yMjYKLShsaW5lIGlzIGJyb2spMi43MjYgRiAuMjI2KGVuIGludG8gdyktLjEgRiAuMjI2KG9yZHMgaW4gdGhlIHNhbWUgZiktLjEgRgotKGFzaGlvbiktLjEgRSAuMzUxKGFzIHdoZW4gcmVhZGluZyBpbnB1dCwgc28gdGhhdCBzZSkxMDggMjQ5LjYgUiAtLjE1Ci0odmUpLS4yNSBHKHJhbCkuMTUgRSBGNChtZXRhYykyLjg1MiBFKGhhciktLjE1IEUoYWN0ZXIpLS4xNSBFIEYwIC4zNTIKLSgtc2VwYXJhdGVkIHcpQiAuMzUyKG9yZHMgc3Vycm91bmRlZCBieSBxdW90ZXMgYXJlIGNvbnNpZGVyZWQpLS4xIEYgLjYyNQotKG9uZSB3KTEwOCAyNjEuNiBSIDMuMTI1KG9yZC4gSGlzdG9yeSktLjEgRiAtLjE1KGV4KTMuMTI1IEcgLjYyNAotKHBhbnNpb25zIGFyZSBpbnRyb2R1Y2VkIGJ5IHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBoaXN0b3J5IGUpLjE1IEYgLjYyNAotKHhwYW5zaW9uIGNoYXJhY3RlciktLjE1IEYgMy4xMjQoLHcpLS40IEcoaGljaCktMy4xMjQgRShpcykxMDggMjczLjYgUQorMy4yIEYgNC4zNjcoc3Vic3RpdHV0aW9uLiBUaGUpMTA4IDIzMC40IFIgMS44Njgoc2Vjb25kIGlzIHRvIHNlbGVjdCBwb3JcCit0aW9ucyBvZiB0aGF0IGxpbmUgZm9yIGluY2x1c2lvbiBpbnRvIHRoZSBjdXJyZW50IG9uZS4pNC4zNjcgRiAxLjg2OAorKFRoZSBsaW5lKTYuODY4IEYgLjY2MyhzZWxlY3RlZCBmcm9tIHRoZSBoaXN0b3J5IGlzIHRoZSkxMDggMjQyLjQgUi9GNAorMTAvVGltZXMtSXRhbGljQDAgU0YgLS4xNShldikzLjE2MyBHKGVudCkuMTUgRSBGMCAzLjE2MygsYSlDIC42NjMKKyhuZCB0aGUgcG9ydGlvbnMgb2YgdGhhdCBsaW5lIHRoYXQgYXJlIGFjdGVkIHVwb24gYXJlKS0zLjE2MyBGIEY0KHdvcikKKzMuMTYyIEUoZHMpLS4zNyBFIEYwIDUuNjYyKC5WKUMoYXJpb3VzKS02Ljc3MiBFIEY0KG1vZGlcMjE0ZXIpMTA4IDI1NC40CitRKHMpLS4xIEUgRjAgLjIyNihhcmUgYSkyLjcyNiBGIC0uMjUodmEpLS4yIEcgLjIyNgorKGlsYWJsZSB0byBtYW5pcHVsYXRlIHRoZSBzZWxlY3RlZCB3KS4yNSBGIDIuNzI2KG9yZHMuIFRoZSktLjEgRiAuMjI3CisobGluZSBpcyBicm9rKTIuNzI2IEYgLjIyNyhlbiBpbnRvIHcpLS4xIEYgLjIyNyhvcmRzIGluIHRoZSBzYW1lIGYpLS4xIEYKKyhhc2hpb24pLS4xIEUgLjM1MihhcyB3aGVuIHJlYWRpbmcgaW5wdXQsIHNvIHRoYXQgc2UpMTA4IDI2Ni40IFIgLS4xNQorKHZlKS0uMjUgRyhyYWwpLjE1IEUgRjQobWV0YWMpMi44NTIgRShoYXIpLS4xNSBFKGFjdGVyKS0uMTUgRSBGMCAuMzUxCisoLXNlcGFyYXRlZCB3KUIgLjM1MShvcmRzIHN1cnJvdW5kZWQgYnkgcXVvdGVzIGFyZSBjb25zaWRlcmVkKS0uMSBGIC42MjQKKyhvbmUgdykxMDggMjc4LjQgUiAzLjEyNChvcmQuIEhpc3RvcnkpLS4xIEYgLS4xNShleCkzLjEyNCBHIC42MjQKKyhwYW5zaW9ucyBhcmUgaW50cm9kdWNlZCBieSB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgaGlzdG9yeSBlKS4xNSBGIC42MjUKKyh4cGFuc2lvbiBjaGFyYWN0ZXIpLS4xNSBGIDMuMTI1KCx3KS0uNCBHKGhpY2gpLTMuMTI1IEUoaXMpMTA4IDI5MC40IFEKIEYyKCEpMy4zMzMgRSBGMChieSBkZWYpMy4zMzMgRSAyLjUoYXVsdC4gT25seSktLjEgRihiYWNrc2xhc2ggXCgpMi41IEUKIEYyKFxcKS44MzMgRSBGMCAyLjUoXClhKS44MzMgRyhuZCBzaW5nbGUgcXVvdGVzIGNhbiBxdW90ZSB0aGUgaGlzdG9yeSBlKQotLTIuNSBFKHhwYW5zaW9uIGNoYXJhY3RlciktLjE1IEUoLiktLjU1IEUoU2UpMTA4IDI5MC40IFEgLS4xNSh2ZSktLjI1IEcKKy0yLjUgRSh4cGFuc2lvbiBjaGFyYWN0ZXIpLS4xNSBFKC4pLS41NSBFKFNlKTEwOCAzMDcuMiBRIC0uMTUodmUpLS4yNSBHCiAuMDMocmFsIGNoYXJhY3RlcnMgaW5oaWJpdCBoaXN0b3J5IGUpLjE1IEYgLjAzCiAoeHBhbnNpb24gaWYgZm91bmQgaW1tZWRpYXRlbHkgZm9sbG8pLS4xNSBGIC4wMyh3aW5nIHRoZSBoaXN0b3J5IGUpLS4yNQotRiAuMDMoeHBhbnNpb24gY2hhcmFjdGVyKS0uMTUgRigsKS0uNCBFIC0yLjE1IC0uMjUoZXYgZSkxMDggMzAyLjQgVAotMy4xNjMobmkpLjI1IEcgMy4xNjMoZmkpLTMuMTYzIEcgMy4xNjIodGkpLTMuMTYzIEcgMy4xNjIoc3UpLTMuMTYyIEcKK0YgLjAzKHhwYW5zaW9uIGNoYXJhY3RlciktLjE1IEYoLCktLjQgRSAtMi4xNSAtLjI1KGV2IGUpMTA4IDMxOS4yIFQKKzMuMTYyKG5pKS4yNSBHIDMuMTYyKGZpKS0zLjE2MiBHIDMuMTYyKHRpKS0zLjE2MiBHIDMuMTYyKHN1KS0zLjE2MiBHCiAuNjYyKG5xdW90ZWQ6IHNwYWNlLCB0YWIsIG5lKS0zLjE2MiBGIC42NjIod2xpbmUsIGNhcnJpYWdlIHJldHVybiwgYW5kKQogLS4yNSBGIEYyKD0pMy4xNjIgRSBGMCA1LjY2MiguSSlDIDMuMTYyKGZ0KS01LjY2MiBHKGhlKS0zLjE2MiBFIEYyCi0oZXh0Z2xvYikzLjE2MiBFIEYwIC42NjIoc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQsKTMuMTYyIEYgRjIoXCgpMy4xNjIgRQotRjAod2lsbCBhbHNvIGluaGliaXQgZSkxMDggMzE0LjQgUSh4cGFuc2lvbi4pLS4xNSBFKFNlKTEwOCAzMzEuMiBRIC0uMTUKLSh2ZSktLjI1IEcgLjEwOShyYWwgc2hlbGwgb3B0aW9ucyBzZXR0YWJsZSB3aXRoIHRoZSkuMTUgRiBGMihzaG9wdCkyLjYwOQotRSBGMCAtLjIoYnUpMi42MDkgRyAuMTEoaWx0aW4gbWF5IGJlIHVzZWQgdG8gdGFpbG9yIHRoZSBiZWhhKS4yIEYgLjExCi0odmlvciBvZiBoaXN0b3J5IGUpLS4yIEYoeHBhbnNpb24uKS0uMTUgRSAxLjI1OShJZiB0aGUpMTA4IDM0My4yIFIgRjIKLShoaXN0dikzLjc1OSBFKGVyaWZ5KS0uMSBFIEYwIDEuMjU5Ci0oc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQgXChzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSkzLjc1OSBGIEYyKHNob3B0KQotMy43NTkgRSBGMCAtLjIoYnUpMy43NTkgRyAxLjI1OShpbHRpblwpLCBhbmQpLjIgRiBGMiAtLjE4KHJlKTMuNzU4IEcKLShhZGxpbmUpLjE4IEUgRjAgMS4yNTgoaXMgYmVpbmcpMy43NTggRiAxLjQ5Nyh1c2VkLCBoaXN0b3J5IHN1YnN0aXR1dGlvXAotbnMgYXJlIG5vdCBpbW1lZGlhdGVseSBwYXNzZWQgdG8gdGhlIHNoZWxsIHBhcnNlcikxMDggMzU1LjIgUiA2LjQ5OCguSSkKLS0uNTUgRyAxLjQ5OChuc3RlYWQsIHRoZSBlKS02LjQ5OCBGIDEuNDk4KHhwYW5kZWQgbGluZSBpcyktLjE1IEYgMi4yMjgKLShyZWxvYWRlZCBpbnRvIHRoZSkxMDggMzY3LjIgUiBGMiAtLjE4KHJlKTQuNzI4IEcoYWRsaW5lKS4xOCBFIEYwIDIuMjI4Ci0oZWRpdGluZyBiKTQuNzI4IEYodWYpLS4yIEUgMi4yMjgoZmVyIGZvciBmdXJ0aGVyIG1vZGlcMjE0Y2F0aW9uLiktLjI1IEYKLShJZik3LjIyOCBFIEYyIC0uMTgocmUpNC43MjggRyhhZGxpbmUpLjE4IEUgRjAgMi4yMjgKLShpcyBiZWluZyB1c2VkLCBhbmQgdGhlKTQuNzI4IEYgRjIoaGlzdHIpMTA4IDM3OS4yIFEoZWVkaXQpLS4xOCBFIEYwCi0xLjIwMihzaGVsbCBvcHRpb24gaXMgZW5hYmxlZCwgYSBmKTMuNzAyIEYgMS4yMDIKKyhleHRnbG9iKTMuMTYyIEUgRjAgLjY2MihzaGVsbCBvcHRpb24gaXMgZW5hYmxlZCwpMy4xNjIgRiBGMihcKCkzLjE2MyBFCitGMCh3aWxsIGFsc28gaW5oaWJpdCBlKTEwOCAzMzEuMiBRKHhwYW5zaW9uLiktLjE1IEUoU2UpMTA4IDM0OCBRIC0uMTUKKyh2ZSktLjI1IEcgLjExKHJhbCBzaGVsbCBvcHRpb25zIHNldHRhYmxlIHdpdGggdGhlKS4xNSBGIEYyKHNob3B0KTIuNjEgRQorRjAgLS4yKGJ1KTIuNjEgRyAuMTA5KGlsdGluIG1heSBiZSB1c2VkIHRvIHRhaWxvciB0aGUgYmVoYSkuMiBGIC4xMDkKKyh2aW9yIG9mIGhpc3RvcnkgZSktLjIgRih4cGFuc2lvbi4pLS4xNSBFIDEuMTQyKElmIHRoZSkxMDggMzYwIFIgRjIKKyhoaXN0dikzLjY0MyBFKGVyaWZ5KS0uMSBFIEYwIDEuMTQzCisoc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQgXChzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSkzLjY0MyBGIEYyKHNob3B0KQorMy42NDMgRSBGMCAtLjIoYnUpMy42NDMgRyAxLjE0MyhpbHRpbiBiZWxvKS4yIEYgMS4xNDMod1wpLCBhbmQpLS4yNSBGIEYyCistLjE4KHJlKTMuNjQzIEcoYWRsaW5lKS4xOCBFIEYwKGlzKTMuNjQzIEUgLjQ2MShiZWluZyB1c2VkLCBoaXN0b3J5IHN1YlwKK3N0aXR1dGlvbnMgYXJlIG5vdCBpbW1lZGlhdGVseSBwYXNzZWQgdG8gdGhlIHNoZWxsIHBhcnNlcikxMDggMzcyIFIgNS40NgorKC5JKS0uNTUgRyAuNDYobnN0ZWFkLCB0aGUgZSktNS40NiBGIC40Nih4cGFuZGVkIGxpbmUpLS4xNSBGIDEuNTE1CisoaXMgcmVsb2FkZWQgaW50byB0aGUpMTA4IDM4NCBSIEYyIC0uMTgocmUpNC4wMTUgRyhhZGxpbmUpLjE4IEUgRjAgMS41MTUKKyhlZGl0aW5nIGIpNC4wMTUgRih1ZiktLjIgRSAxLjUxNihmZXIgZm9yIGZ1cnRoZXIgbW9kaVwyMTRjYXRpb24uKS0uMjUgRgorKElmKTYuNTE2IEUgRjIgLS4xOChyZSk0LjAxNiBHKGFkbGluZSkuMTggRSBGMCAxLjUxNgorKGlzIGJlaW5nIHVzZWQsIGFuZCB0aGUpNC4wMTYgRiBGMihoaXN0cikxMDggMzk2IFEoZWVkaXQpLS4xOCBFIEYwIDEuMjAyCisoc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQsIGEgZikzLjcwMiBGIDEuMjAyCiAoYWlsZWQgaGlzdG9yeSBzdWJzdGl0dXRpb24gd2lsbCBiZSByZWxvYWRlZCBpbnRvIHRoZSktLjEgRiBGMiAtLjE4KHJlKQotMy43MDIgRyhhZGxpbmUpLjE4IEUgRjAoZWRpdGluZykzLjcwMiBFIC0uMihidSkxMDggMzkxLjIgUyAtLjI1KGZmKS4yIEcKLTEuMTYxKGVyIGZvciBjb3JyZWN0aW9uLikuMjUgRihUaGUpNi4xNjEgRSBGMjxhZDcwPjMuNjYxIEUgRjAgMS4xNjEKLShvcHRpb24gdG8gdGhlKTMuNjYxIEYgRjIoaGlzdG9yeSkzLjY2MSBFIEYwIC0uMihidSkzLjY2MSBHIDEuMTYKLShpbHRpbiBjb21tYW5kIG1heSBiZSB1c2VkIHRvIHNlZSB3aGF0IGEgaGlzdG9yeSkuMiBGIC0uMTUoZXgpMTA4IDQwMy4yCi1TIC4wNTUocGFuc2lvbiB3aWxsIGRvIGJlZm9yZSB1c2luZyBpdC4pLjE1IEYoVGhlKTUuMDU1IEUgRjI8YWQ3Mz4yLjU1NQotRSBGMCAuMDU1KG9wdGlvbiB0byB0aGUpMi41NTUgRiBGMihoaXN0b3J5KTIuNTU2IEUgRjAgLS4yKGJ1KTIuNTU2IEcKLS4wNTYoaWx0aW4gbWF5IGJlIHVzZWQgdG8gYWRkIGNvbW1hbmRzIHRvIHRoZSkuMiBGCi0oZW5kIG9mIHRoZSBoaXN0b3J5IGxpc3Qgd2l0aG91dCBhY3R1YWxseSBlKTEwOCA0MTUuMiBRIC0uMTUoeGUpLS4xNSBHCiszLjcwMiBHKGFkbGluZSkuMTggRSBGMChlZGl0aW5nKTMuNzAyIEUgLS4yKGJ1KTEwOCA0MDggUyAtLjI1KGZmKS4yIEcKKzEuMTYoZXIgZm9yIGNvcnJlY3Rpb24uKS4yNSBGKFRoZSk2LjE2IEUgRjI8YWQ3MD4zLjY2IEUgRjAgMS4xNgorKG9wdGlvbiB0byB0aGUpMy42NiBGIEYyKGhpc3RvcnkpMy42NiBFIEYwIC0uMihidSkzLjY2MSBHIDEuMTYxCisoaWx0aW4gY29tbWFuZCBtYXkgYmUgdXNlZCB0byBzZWUgd2hhdCBhIGhpc3RvcnkpLjIgRiAtLjE1KGV4KTEwOCA0MjAgUworLjA1NihwYW5zaW9uIHdpbGwgZG8gYmVmb3JlIHVzaW5nIGl0LikuMTUgRihUaGUpNS4wNTYgRSBGMjxhZDczPjIuNTU2IEUKK0YwIC4wNTYob3B0aW9uIHRvIHRoZSkyLjU1NiBGIEYyKGhpc3RvcnkpMi41NTUgRSBGMCAtLjIoYnUpMi41NTUgRyAuMDU1CisoaWx0aW4gbWF5IGJlIHVzZWQgdG8gYWRkIGNvbW1hbmRzIHRvIHRoZSkuMiBGCisoZW5kIG9mIHRoZSBoaXN0b3J5IGxpc3Qgd2l0aG91dCBhY3R1YWxseSBlKTEwOCA0MzIgUSAtLjE1KHhlKS0uMTUgRwogKGN1dGluZyB0aGVtLCBzbyB0aGF0IHRoZSkuMTUgRSAyLjUoeWEpLS4xNSBHKHJlIGEpLTIuNSBFIC0uMjUodmEpLS4yIEcKLShpbGFibGUgZm9yIHN1YnNlcXVlbnQgcmVjYWxsLikuMjUgRSAyLjIoVGhlIHNoZWxsIGFsbG8pMTA4IDQzMiBSIDIuMgorKGlsYWJsZSBmb3Igc3Vic2VxdWVudCByZWNhbGwuKS4yNSBFIDIuMihUaGUgc2hlbGwgYWxsbykxMDggNDQ4LjggUiAyLjIKICh3cyBjb250cm9sIG9mIHRoZSB2KS0uMjUgRiAyLjIoYXJpb3VzIGNoYXJhY3RlcnMgdXNlZCBieSB0aGUgaGlzdG9yeSBlKQotLS4yNSBGIDIuMih4cGFuc2lvbiBtZWNoYW5pc20gXChzZWUgdGhlKS0uMTUgRiAxLjE0NihkZXNjcmlwdGlvbiBvZikxMDgKLTQ0NCBSIEYyKGhpc3RjaGFycykzLjY0NiBFIEYwKGFibykzLjY0NiBFIDEuNDQ2IC0uMTUodmUgdSktLjE1IEgobmRlcikKLS4xNSBFIEYyIDEuMTQ2KFNoZWxsIFYpMy42NDYgRihhcmlhYmxlcyktLjkyIEUgRjAgMy42NDYoXCkuIFRoZSlCIDEuMTQ3CistLjI1IEYgMi4yKHhwYW5zaW9uIG1lY2hhbmlzbSBcKHNlZSB0aGUpLS4xNSBGIDEuMTQ3KGRlc2NyaXB0aW9uIG9mKTEwOAorNDYwLjggUiBGMihoaXN0Y2hhcnMpMy42NDcgRSBGMChhYm8pMy42NDcgRSAxLjQ0NyAtLjE1KHZlIHUpLS4xNSBIKG5kZXIpCisuMTUgRSBGMiAxLjE0NyhTaGVsbCBWKTMuNjQ3IEYoYXJpYWJsZXMpLS45MiBFIEYwIDMuNjQ2KFwpLiBUaGUpQiAxLjE0NgogKHNoZWxsIHVzZXMgdGhlIGhpc3RvcnkgY29tbWVudCBjaGFyYWN0ZXIgdG8pMy42NDYgRgotKG1hcmsgaGlzdG9yeSB0aW1lc3RhbXBzIHdoZW4gd3JpdGluZyB0aGUgaGlzdG9yeSBcMjE0bGUuKTEwOCA0NTYgUSBGMgotKEV2KTg3IDQ3Mi44IFEoZW50IERlc2lnbmF0b3JzKS0uMSBFIEYwKEFuIGUpMTA4IDQ4NC44IFEgLS4xNSh2ZSktLjI1IEcKKyhtYXJrIGhpc3RvcnkgdGltZXN0YW1wcyB3aGVuIHdyaXRpbmcgdGhlIGhpc3RvcnkgXDIxNGxlLikxMDggNDcyLjggUSBGMgorKEV2KTg3IDQ4OS42IFEoZW50IERlc2lnbmF0b3JzKS0uMSBFIEYwKEFuIGUpMTA4IDUwMS42IFEgLS4xNSh2ZSktLjI1IEcKIChudCBkZXNpZ25hdG9yIGlzIGEgcmVmZXJlbmNlIHRvIGEgY29tbWFuZCBsaW5lIGVudHJ5IGluIHRoZSBoaXN0b3J5IGxpXAotc3QuKS4xNSBFIEYyKCEpMTA4IDUwMS42IFEgRjAgMS42MDgoU3RhcnQgYSBoaXN0b3J5IHN1YnN0aXR1dGlvbiwgZSkKLTMyLjY3IEYgMS42MDgoeGNlcHQgd2hlbiBmb2xsbyktLjE1IEYgMS42MDcod2VkIGJ5IGEpLS4yNSBGIEYyKGJsYW5rKQotNC4xMDcgRSBGMCA0LjEwNygsbilDIC0uMjUoZXcpLTQuMTA3IEcgMS42MDcKLShsaW5lLCBjYXJyaWFnZSByZXR1cm4sID0gb3IgXCgpLjI1IEYoXCh3aGVuIHRoZSkxNDQgNTEzLjYgUSBGMihleHRnbG9iKQorc3QuKS4xNSBFIEYyKCEpMTA4IDUxOC40IFEgRjAgMS42MDcoU3RhcnQgYSBoaXN0b3J5IHN1YnN0aXR1dGlvbiwgZSkKKzMyLjY3IEYgMS42MDcoeGNlcHQgd2hlbiBmb2xsbyktLjE1IEYgMS42MDcod2VkIGJ5IGEpLS4yNSBGIEYyKGJsYW5rKQorNC4xMDcgRSBGMCA0LjEwNygsbilDIC0uMjUoZXcpLTQuMTA3IEcgMS42MDgKKyhsaW5lLCBjYXJyaWFnZSByZXR1cm4sID0gb3IgXCgpLjI1IEYoXCh3aGVuIHRoZSkxNDQgNTMwLjQgUSBGMihleHRnbG9iKQogMi41IEUgRjAoc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQgdXNpbmcgdGhlKTIuNSBFIEYyKHNob3B0KTIuNSBFIEYwIC0uMgotKGJ1KTIuNSBHKGlsdGluXCkuKS4yIEUgRjIoISkxMDggNTI1LjYgUSBGNChuKUEgRjAKLShSZWZlciB0byBjb21tYW5kIGxpbmUpMjcuNjcgRSBGNChuKTIuNSBFIEYwKC4pLjI0IEUgRjI8MjFhZD4xMDggNTM3LjYgUQorKGJ1KTIuNSBHKGlsdGluXCkuKS4yIEUgRjIoISkxMDggNTQyLjQgUSBGNChuKUEgRjAKKyhSZWZlciB0byBjb21tYW5kIGxpbmUpMjcuNjcgRSBGNChuKTIuNSBFIEYwKC4pLjI0IEUgRjI8MjFhZD4xMDggNTU0LjQgUQogRjQobilBIEYwKFJlZmVyIHRvIHRoZSBjdXJyZW50IGNvbW1hbmQgbGluZSBtaW51cykyMS45NyBFIEY0KG4pMi41IEUgRjAKLSguKS4yNCBFIEYyKCEhKTEwOCA1NDkuNiBRIEYwKFJlZmVyIHRvIHRoZSBwcmUpMjkuMzQgRSh2aW91cyBjb21tYW5kLikKLS0uMjUgRShUaGlzIGlzIGEgc3lub24pNSBFKHltIGZvciBgIVwyNTUxJy4pLS4xNSBFIEYyKCEpMTA4IDU2MS42IFEgRjQKKyguKS4yNCBFIEYyKCEhKTEwOCA1NjYuNCBRIEYwKFJlZmVyIHRvIHRoZSBwcmUpMjkuMzQgRSh2aW91cyBjb21tYW5kLikKKy0uMjUgRShUaGlzIGlzIGEgc3lub24pNSBFKHltIGZvciBgIVwyNTUxJy4pLS4xNSBFIEYyKCEpMTA4IDU3OC40IFEgRjQKIChzdHJpbmcpQSBGMChSZWZlciB0byB0aGUgbW9zdCByZWNlbnQgY29tbWFuZCBzdGFydGluZyB3aXRoKTkuMzMgRSBGNAotKHN0cmluZykyLjUgRSBGMCguKS4yMiBFIEYyKCE/KTEwOCA1NzMuNiBRIEY0KHN0cmluZylBIEYyKFs/XSlBIEYwIDEuMDIyCi0oUmVmZXIgdG8gdGhlIG1vc3QgcmVjZW50IGNvbW1hbmQgY29udGFpbmluZykxNDQgNTg1LjYgUiBGNChzdHJpbmcpMy41MjIKKyhzdHJpbmcpMi41IEUgRjAoLikuMjIgRSBGMighPykxMDggNTkwLjQgUSBGNChzdHJpbmcpQSBGMihbP10pQSBGMCAxLjAyMgorKFJlZmVyIHRvIHRoZSBtb3N0IHJlY2VudCBjb21tYW5kIGNvbnRhaW5pbmcpMTQ0IDYwMi40IFIgRjQoc3RyaW5nKTMuNTIyCiBFIEYwIDYuMDIyKC5UKS4yMiBHIDEuMDIyKGhlIHRyYWlsaW5nKS02LjAyMiBGIEYyKD8pMy41MjIgRSBGMCAxLjAyMgotKG1heSBiZSBvbWl0dGVkIGlmKTMuNTIyIEYgRjQoc3RyaW5nKTMuODYyIEUgRjAoaXMpMy43NDIgRShmb2xsbykxNDQKLTU5Ny42IFEod2VkIGltbWVkaWF0ZWx5IGJ5IGEgbmUpLS4yNSBFKHdsaW5lLiktLjI1IEUvRjUgMTIvVGltZXMtQm9sZEAwCi1TRiheKTEwOCA2MTQuNiBRIEY0KHN0cmluZzEpLTUgSSBGNSheKTUgSSBGNChzdHJpbmcyKS01IEkgRjUoXik1IEkgRjAKLTIuNjMoUXVpY2sgc3Vic3RpdHV0aW9uLikxNDQgNjIxLjYgUiAyLjYyOQorKG1heSBiZSBvbWl0dGVkIGlmKTMuNTIyIEYgRjQoc3RyaW5nKTMuODYxIEUgRjAoaXMpMy43NDEgRShmb2xsbykxNDQKKzYxNC40IFEod2VkIGltbWVkaWF0ZWx5IGJ5IGEgbmUpLS4yNSBFKHdsaW5lLiktLjI1IEUvRjUgMTIvVGltZXMtQm9sZEAwCitTRiheKTEwOCA2MzEuNCBRIEY0KHN0cmluZzEpLTUgSSBGNSheKTUgSSBGNChzdHJpbmcyKS01IEkgRjUoXik1IEkgRjAKKzIuNjI5KFF1aWNrIHN1YnN0aXR1dGlvbi4pMTQ0IDYzOC40IFIgMi42MjkKIChSZXBlYXQgdGhlIGxhc3QgY29tbWFuZCwgcmVwbGFjaW5nKTcuNjI5IEYgRjQoc3RyaW5nMSk1LjQ2OSBFIEYwKHdpdGgpCiA1LjEyOSBFIEY0KHN0cmluZzIpNS4xMjkgRSBGMCA3LjYyOSguRSkuMDIgRyhxdWkpLTcuNjI5IEUgLS4yNSh2YSktLjI1IEcKLTIuNjI5KGxlbnQgdG8pLjI1IEYgLS43NChgYCkxNDQgNjMzLjYgUyghITpzLykuNzQgRSBGNChzdHJpbmcxKUEgRjAoLylBCisyLjYzKGxlbnQgdG8pLjI1IEYgLS43NChgYCkxNDQgNjUwLjQgUyghITpzLykuNzQgRSBGNChzdHJpbmcxKUEgRjAoLylBCiBGNChzdHJpbmcyKUEgRjAoLycpQSAyLjUoJ1woKS0uNzQgRyhzZWUpLTIuNSBFIEYyKE1vZGlcMjE0ZXJzKTIuNSBFIEYwCi0oYmVsbykyLjUgRSh3XCkuKS0uMjUgRSBGMighIykxMDggNjQ1LjYgUSBGMAorKGJlbG8pMi41IEUod1wpLiktLjI1IEUgRjIoISMpMTA4IDY2Mi40IFEgRjAKIChUaGUgZW50aXJlIGNvbW1hbmQgbGluZSB0eXBlZCBzbyBmKTI3LjY3IEUoYXIpLS4xIEUoLiktLjU1IEUgRjIgLS43NQotKFdvKTg3IDY2Mi40IFMocmQgRGVzaWduYXRvcnMpLjc1IEUgRjAgLS44KFdvKTEwOCA2NzQuNCBTIDEuMzEzCisoV28pODcgNjc5LjIgUyhyZCBEZXNpZ25hdG9ycykuNzUgRSBGMCAtLjgoV28pMTA4IDY5MS4yIFMgMS4zMTQKIChyZCBkZXNpZ25hdG9ycyBhcmUgdXNlZCB0byBzZWxlY3QgZGVzaXJlZCB3KS44IEYgMS4zMTQob3JkcyBmcm9tIHRoZSBlKQotLS4xIEYgLS4xNSh2ZSktLjI1IEcgMy44MTQobnQuIEEpLjE1IEYgRjIoOikzLjgxNCBFIEYwIDEuMzE0Ci0oc2VwYXJhdGVzIHRoZSBlKTMuODE0IEYgLS4xNSh2ZSktLjI1IEcgMS4zMTQobnQgc3BlY2lcMjE0Y2F0aW9uKS4xNSBGCi0uNTMoZnJvbSB0aGUgdykxMDggNjg2LjQgUiAuNTI5KG9yZCBkZXNpZ25hdG9yKS0uMSBGIDUuNTI5KC5JKS0uNTUgRworLS4xIEYgLS4xNSh2ZSktLjI1IEcgMy44MTQobnQuIEEpLjE1IEYgRjIoOikzLjgxNCBFIEYwIDEuMzEzCisoc2VwYXJhdGVzIHRoZSBlKTMuODEzIEYgLS4xNSh2ZSktLjI1IEcgMS4zMTMobnQgc3BlY2lcMjE0Y2F0aW9uKS4xNSBGCisuNTI5KGZyb20gdGhlIHcpMTA4IDcwMy4yIFIgLjUyOShvcmQgZGVzaWduYXRvciktLjEgRiA1LjUyOSguSSktLjU1IEcKIDMuMDI5KHRtKS01LjUyOSBHIC41MjkoYXkgYmUgb21pdHRlZCBpZiB0aGUgdyktMy4wMjkgRiAuNTI5CiAob3JkIGRlc2lnbmF0b3IgYmUpLS4xIEYgLjUyOShnaW5zIHdpdGggYSktLjE1IEYgRjIoXikzLjAyOSBFIEYwKCwpQSBGMgogKCQpMy4wMjkgRSBGMCgsKUEgRjIoKikzLjAyOSBFIEYwKCwpQSBGMjxhZD4zLjAyOSBFIEYwIDMuMDI5KCxvKUMocikKLS0zLjAyOSBFIEYyKCUpMy4wMjkgRSBGMCA1LjUyOSguVylDKG9yZHMpLTYuMzI5IEUgMS4zCi0oYXJlIG51bWJlcmVkIGZyb20gdGhlIGJlKTEwOCA2OTguNCBSIDEuMwotKGdpbm5pbmcgb2YgdGhlIGxpbmUsIHdpdGggdGhlIFwyMTRyc3QgdyktLjE1IEYgMS4zMDEKLShvcmQgYmVpbmcgZGVub3RlZCBieSAwIFwoemVyb1wpLiktLjEgRiAtLjgoV28pNi4zMDEgRyAxLjMwMShyZHMgYXJlKS44Ci1GKGluc2VydGVkIGludG8gdGhlIGN1cnJlbnQgbGluZSBzZXBhcmF0ZWQgYnkgc2luZ2xlIHNwYWNlcy4pMTA4IDcxMC40IFEKLShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFKDQ2KTE5MC45NSBFIDAgQ2cgRVAKLSUlUGFnZTogNDcgNDcKKy0zLjAyOSBFIEYyKCUpMy4wMjkgRSBGMCA1LjUzKC5XKUMob3JkcyktNi4zMyBFIDEuMzAxCisoYXJlIG51bWJlcmVkIGZyb20gdGhlIGJlKTEwOCA3MTUuMiBSIDEuMzAxCisoZ2lubmluZyBvZiB0aGUgbGluZSwgd2l0aCB0aGUgXDIxNHJzdCB3KS0uMTUgRiAxLjMKKyhvcmQgYmVpbmcgZGVub3RlZCBieSAwIFwoemVyb1wpLiktLjEgRiAtLjgoV28pNi4zIEcgMS4zKHJkcyBhcmUpLjggRgorKGluc2VydGVkIGludG8gdGhlIGN1cnJlbnQgbGluZSBzZXBhcmF0ZWQgYnkgc2luZ2xlIHNwYWNlcy4pMTA4IDcyNy4yIFEKKyhHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoNDcpMTg1Ljk1NSBFIDAgQ2cgRVAKKyUlUGFnZTogNDggNDgKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cApAQCAtNTQ4OSwxMCArNTYzNSwxMCBAQAogKG9yZCBtYXRjaGVkIGJ5IHRoZSBtb3N0IHJlY2VudCBgPyktLjEgRSBGMihzdHJpbmcpQSBGMCg/JyBzZWFyY2guKUEgRjIKICh4KTEwOC43NyAxNTYgUSBGMTxhZD5BIEYyKHkpQSBGMCAyLjUoQXIpMjAuNjUgRyhhbmdlIG9mIHcpLTIuNSBFCiAob3JkczsgYFwyNTUpLS4xIEUgRjIoeSlBIEYwIDIuNSgnYSlDKGJicmUpLTIuNSBFKHZpYXRlcyBgMFwyNTUpLS4yNSBFCi1GMih5KUEgRjAoJy4pQSBGMSgqKTEwOCAxNjggUSBGMCAuMzE2KEFsbCBvZiB0aGUgdykzMSBGIC4zMTYob3JkcyBiKS0uMQotRiAuMzE2KHV0IHRoZSB6ZXJvdGguKS0uMiBGIC4zMTUoVGhpcyBpcyBhIHN5bm9uKTUuMzE1IEYgLjMxNSh5bSBmb3IgYCkKK0YyKHkpQSBGMCgnLilBIEYxKCopMTA4IDE2OCBRIEYwIC4zMTUoQWxsIG9mIHRoZSB3KTMxIEYgLjMxNShvcmRzIGIpLS4xCitGIC4zMTUodXQgdGhlIHplcm90aC4pLS4yIEYgLjMxNShUaGlzIGlzIGEgc3lub24pNS4zMTUgRiAuMzE1KHltIGZvciBgKQogLS4xNSBGIEYyKDFcMjU1JClBIEYwIDIuODE1KCcuIEl0KUIgLjMxNShpcyBub3QgYW4gZXJyb3IgdG8gdXNlKTIuODE1IEYKLUYxKCopMi44MTUgRSBGMCAuMzE1KGlmIHRoZXJlIGlzKTIuODE1IEYoanVzdCBvbmUgdykxNDQgMTgwIFEKK0YxKCopMi44MTYgRSBGMCAuMzE2KGlmIHRoZXJlIGlzKTIuODE2IEYoanVzdCBvbmUgdykxNDQgMTgwIFEKIChvcmQgaW4gdGhlIGUpLS4xIEUgLS4xNSh2ZSktLjI1IEcKIChudDsgdGhlIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZCBpbiB0aGF0IGNhc2UuKS4xNSBFIEYxKHgqKTEwOCAxOTIgUSBGMAogKEFiYnJlKTI2IEUodmlhdGVzKS0uMjUgRSBGMih4XDI1NSQpMi41IEUgRjAoLilBIEYxPDc4YWQ+MTA4IDIwNCBRIEYwCkBAIC01NTAwLDEwICs1NjQ2LDEwIEBACiAyLjUgRSBGMCAyLjUoLGIpQyh1dCBvbWl0cyB0aGUgbGFzdCB3KS0yLjcgRShvcmQuKS0uMSBFKElmIGEgdykxMDggMjIwLjgKIFEob3JkIGRlc2lnbmF0b3IgaXMgc3VwcGxpZWQgd2l0aG91dCBhbiBlKS0uMSBFIC0uMTUodmUpLS4yNSBHCiAobnQgc3BlY2lcMjE0Y2F0aW9uLCB0aGUgcHJlKS4xNSBFKHZpb3VzIGNvbW1hbmQgaXMgdXNlZCBhcyB0aGUgZSktLjI1IEUKLS0uMTUodmUpLS4yNSBHKG50LikuMTUgRSBGMShNb2RpXDIxNGVycyk4NyAyMzcuNiBRIEYwIC4xODMKLShBZnRlciB0aGUgb3B0aW9uYWwgdykxMDggMjQ5LjYgUiAuMTgzKG9yZCBkZXNpZ25hdG9yKS0uMSBGIDIuNjgzKCx0KS0uNAotRyAuMTg0KGhlcmUgbWF5IGFwcGVhciBhIHNlcXVlbmNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSBmb2xsbyktMi42ODMgRgotLjE4NCh3aW5nIG1vZGlcMjE0ZXJzLCktLjI1IEYoZWFjaCBwcmVjZWRlZCBieSBhIGA6Jy4pMTA4IDI2MS42IFEgRjEoaCkKKy0uMTUodmUpLS4yNSBHKG50LikuMTUgRSBGMShNb2RpXDIxNGVycyk4NyAyMzcuNiBRIEYwIC4xODQKKyhBZnRlciB0aGUgb3B0aW9uYWwgdykxMDggMjQ5LjYgUiAuMTg0KG9yZCBkZXNpZ25hdG9yKS0uMSBGIDIuNjg0KCx0KS0uNAorRyAuMTgzKGhlcmUgbWF5IGFwcGVhciBhIHNlcXVlbmNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSBmb2xsbyktMi42ODQgRgorLjE4Myh3aW5nIG1vZGlcMjE0ZXJzLCktLjI1IEYoZWFjaCBwcmVjZWRlZCBieSBhIGA6Jy4pMTA4IDI2MS42IFEgRjEoaCkKIDEwOCAyNzguNCBRIEYwKFJlbW8pMzAuNDQgRSAuMyAtLjE1KHZlIGEgdCktLjE1IEgKIChyYWlsaW5nIFwyMTRsZSBuYW1lIGNvbXBvbmVudCwgbGVhKS4xNSBFKHZpbmcgb25seSB0aGUgaGVhZC4pLS4yIEUgRjEKICh0KTEwOCAyOTAuNCBRIEYwKFJlbW8pMzIuNjcgRSAuMyAtLjE1KHZlIGEpLS4xNSBICkBAIC01NTE4LDI0ODEgKzU2NjQsMjUzOSBAQAogLS4xIEUgRjEoeCkxMDggMzUwLjQgUSBGMChRdW90ZSB0aGUgc3Vic3RpdHV0ZWQgdykzMSBFKG9yZHMgYXMgd2l0aCktLjEKIEUgRjEocSkyLjUgRSBGMCAyLjUoLGIpQyh1dCBicmVhayBpbnRvIHcpLTIuNyBFKG9yZHMgYXQpLS4xIEUgRjEoYmxhbmtzKQogMi41IEUgRjAoYW5kIG5lKTIuNSBFKHdsaW5lcy4pLS4yNSBFIEYxKHMvKTEwOCAzNjIuNCBRIEYyKG9sZClBIEYxKC8pQQotRjIobmUpQSh3KS0uMTUgRSBGMSgvKUEgRjAoU3Vic3RpdHV0ZSkxNDQgMzc0LjQgUSBGMihuZSkzLjA4MiBFKHcpLS4xNSBFCi1GMCAuMjIxKGZvciB0aGUgXDIxNHJzdCBvY2N1cnJlbmNlIG9mKTMuMDMyIEYgRjIob2xkKTIuOTUxIEUgRjAgLjIyMQorRjIobmUpQSh3KS0uMTUgRSBGMSgvKUEgRjAoU3Vic3RpdHV0ZSkxNDQgMzc0LjQgUSBGMihuZSkzLjA4MSBFKHcpLS4xNSBFCitGMCAuMjIxKGZvciB0aGUgXDIxNHJzdCBvY2N1cnJlbmNlIG9mKTMuMDMxIEYgRjIob2xkKTIuOTUxIEUgRjAgLjIyMQogKGluIHRoZSBlKTMuNDkxIEYgLS4xNSh2ZSktLjI1IEcgLjIyMShudCBsaW5lLikuMTUgRihBbik1LjIyMSBFIDIuNzIxCi0oeWQpLS4xNSBHIC4yMjEoZWxpbWl0ZXIgY2FuIGJlIHVzZWQgaW4gcGxhY2UpLTIuNzIxIEYgLjYxNihvZiAvLikxNDQKKyh5ZCktLjE1IEcgLjIyMShlbGltaXRlciBjYW4gYmUgdXNlZCBpbiBwbGFjZSktMi43MjEgRiAuNjE3KG9mIC8uKTE0NAogMzg2LjQgUiAuNjE3CiAoVGhlIFwyMTRuYWwgZGVsaW1pdGVyIGlzIG9wdGlvbmFsIGlmIGl0IGlzIHRoZSBsYXN0IGNoYXJhY3RlciBvZiB0aGUgZSkKLTUuNjE2IEYgLS4xNSh2ZSktLjI1IEcgLjYxNyhudCBsaW5lLikuMTUgRiAuNjE3KFRoZSBkZWxpbWl0ZXIgbWF5KTUuNjE3Cis1LjYxNyBGIC0uMTUodmUpLS4yNSBHIC42MTcobnQgbGluZS4pLjE1IEYgLjYxNihUaGUgZGVsaW1pdGVyIG1heSk1LjYxNgogRiAuNjY2KGJlIHF1b3RlZCBpbikxNDQgMzk4LjQgUiBGMihvbGQpMy4zOTYgRSBGMChhbmQpMy45MzYgRSBGMihuZSkKIDMuNTI2IEUodyktLjE1IEUgRjAgLjY2Nih3aXRoIGEgc2luZ2xlIGJhY2tzbGFzaC4pMy40NzYgRiAuNjY2CiAoSWYgJiBhcHBlYXJzIGluKTUuNjY2IEYgRjIobmUpMy4xNjYgRSh3KS0uMTUgRSBGMCAzLjE2NigsaSkuMzEgRyAzLjE2NgogKHRpKS0zLjE2NiBHIDMuMTY2KHNyKS0zLjE2NiBHIC42NjYoZXBsYWNlZCBieSktMy4xNjYgRiBGMihvbGQpMy4xNjYgRQotRjAgNS42NjYoLkEpLjc3IEcgLjI3NChzaW5nbGUgYmFja3NsYXNoIHdpbGwgcXVvdGUgdGhlICYuKTE0NCA0MTAuNCBSCi0oSWYpNS4yNzQgRSBGMihvbGQpMy4wMDQgRSBGMCAuMjc0KGlzIG51bGwsIGl0IGlzIHNldCB0byB0aGUgbGFzdCkzLjU0NAotRiBGMihvbGQpMy4wMDUgRSBGMCAuMjc1KHN1YnN0aXR1dGVkLCBvcikzLjU0NSBGIDIuNzc1KCxpKS0uNCBHIDIuNzc1Ci0oZm4pLTIuNzc1IEcgMi43NzUob3ApLTIuNzc1IEcocmUpLTIuNzc1IEUodmktKS0uMjUgRQorRjAgNS42NjYoLkEpLjc3IEcgLjI3NShzaW5nbGUgYmFja3NsYXNoIHdpbGwgcXVvdGUgdGhlICYuKTE0NCA0MTAuNCBSCisoSWYpNS4yNzUgRSBGMihvbGQpMy4wMDQgRSBGMCAuMjc0KGlzIG51bGwsIGl0IGlzIHNldCB0byB0aGUgbGFzdCkzLjU0NAorRiBGMihvbGQpMy4wMDQgRSBGMCAuMjc0KHN1YnN0aXR1dGVkLCBvcikzLjU0NCBGIDIuNzc0KCxpKS0uNCBHIDIuNzc0CisoZm4pLTIuNzc0IEcgMi43NzQob3ApLTIuNzc0IEcocmUpLTIuNzc0IEUodmktKS0uMjUgRQogKG91cyBoaXN0b3J5IHN1YnN0aXR1dGlvbnMgdG9vayBwbGFjZSwgdGhlIGxhc3QpMTQ0IDQyMi40IFEgRjIoc3RyaW5nKQogMi44NCBFIEYwKGluIGEpMi43MiBFIEYxKCE/KTIuNSBFIEYyKHN0cmluZylBIEYxKFs/XSlBIEYwKHNlYXJjaC4pNSBFIEYxCiAoJikxMDggNDM0LjQgUSBGMChSZXBlYXQgdGhlIHByZSkyNy42NyBFKHZpb3VzIHN1YnN0aXR1dGlvbi4pLS4yNSBFIEYxCi0oZykxMDggNDQ2LjQgUSBGMCAuMzk4KENhdXNlIGNoYW5nZXMgdG8gYmUgYXBwbGllZCBvKTMxIEYgLS4xNSh2ZSktLjE1IEcKLTIuODk4KHJ0KS4xNSBHIC4zOTgoaGUgZW50aXJlIGUpLTIuODk4IEYgLS4xNSh2ZSktLjI1IEcgLjM5OChudCBsaW5lLikKLS4xNSBGIC4zOTcoVGhpcyBpcyB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYCk1LjM5OCBGIEYxKDpzKUEgRjAgMi44OTcKLSgnXCgpQyhlLmcuLCktMi44OTcgRShgKTE0NCA0NTguNCBRIEYxKDpncy8pQSBGMihvbGQpQSBGMSgvKUEgRjIobmUpQSh3KQotLS4xNSBFIEYxKC8pQSBGMCAxLjIxOCgnXCkgb3IgYClCIEYxKDomKUEgRjAgMy43MTgoJy4gSWYpQiAxLjIxOAotKHVzZWQgd2l0aCBgKTMuNzE4IEYgRjEoOnMpQSBGMCAxLjIxOCgnLCBhbilCIDMuNzE4KHlkKS0uMTUgRyAxLjIxOQotKGVsaW1pdGVyIGNhbiBiZSB1c2VkIGluIHBsYWNlIG9mIC8sIGFuZCB0aGUgXDIxNG5hbCktMy43MTggRiAuMDkKKyhnKTEwOCA0NDYuNCBRIEYwIC4zOTcoQ2F1c2UgY2hhbmdlcyB0byBiZSBhcHBsaWVkIG8pMzEgRiAtLjE1KHZlKS0uMTUgRworMi44OTcocnQpLjE1IEcgLjM5OChoZSBlbnRpcmUgZSktMi44OTcgRiAtLjE1KHZlKS0uMjUgRyAuMzk4KG50IGxpbmUuKQorLjE1IEYgLjM5OChUaGlzIGlzIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBgKTUuMzk4IEYgRjEoOnMpQSBGMCAyLjg5OAorKCdcKClDKGUuZy4sKS0yLjg5OCBFKGApMTQ0IDQ1OC40IFEgRjEoOmdzLylBIEYyKG9sZClBIEYxKC8pQSBGMihuZSlBKHcpCistLjE1IEUgRjEoLylBIEYwIDEuMjE5KCdcKSBvciBgKUIgRjEoOiYpQSBGMCAzLjcxOSgnLiBJZilCIDEuMjE5CisodXNlZCB3aXRoIGApMy43MTkgRiBGMSg6cylBIEYwIDEuMjE4KCcsIGFuKUIgMy43MTgoeWQpLS4xNSBHIDEuMjE4CisoZWxpbWl0ZXIgY2FuIGJlIHVzZWQgaW4gcGxhY2Ugb2YgLywgYW5kIHRoZSBcMjE0bmFsKS0zLjcxOCBGIC4wODkKIChkZWxpbWl0ZXIgaXMgb3B0aW9uYWwgaWYgaXQgaXMgdGhlIGxhc3QgY2hhcmFjdGVyIG9mIHRoZSBlKTE0NCA0NzAuNCBSCi0tLjE1KHZlKS0uMjUgRyAuMDg5KG50IGxpbmUuKS4xNSBGKEFuKTUuMDg5IEUgRjEoYSkyLjU4OSBFIEYwIC4wODkKLShtYXkgYmUgdXNlZCBhcyBhIHN5bm9uKTIuNTg5IEYgLjA4OSh5bSBmb3IpLS4xNSBGIEYxKGcpMTQ0IDQ4Mi40IFEgRjAKLSguKUEgRjEoRykxMDggNDk0LjQgUSBGMChBcHBseSB0aGUgZm9sbG8pMjguMjIgRSh3aW5nIGApLS4yNSBFIEYxKHMpQSBGMAotMi41KCdtKUMob2RpXDIxNGVyIG9uY2UgdG8gZWFjaCB3KS0yLjUgRShvcmQgaW4gdGhlIGUpLS4xIEUgLS4xNSh2ZSktLjI1Ci1HKG50IGxpbmUuKS4xNSBFL0YzIDEwLjk1L1RpbWVzLUJvbGRAMCBTRihTSEVMTCBCKTcyIDUxMS4yIFEoVUlMKS0uMTEgRQotKFRJTiBDT01NQU5EUyktMS4wMDcgRSBGMCAuMDYyKFVubGVzcyBvdGhlcndpc2Ugbm90ZWQsIGVhY2ggYikxMDggNTIzLjIKKy0uMTUodmUpLS4yNSBHIC4wOShudCBsaW5lLikuMTUgRihBbik1LjA5IEUgRjEoYSkyLjU5IEUgRjAgLjA5CisobWF5IGJlIHVzZWQgYXMgYSBzeW5vbikyLjU5IEYgLjA5KHltIGZvciktLjE1IEYgRjEoZykxNDQgNDgyLjQgUSBGMCguKUEKK0YxKEcpMTA4IDQ5NC40IFEgRjAoQXBwbHkgdGhlIGZvbGxvKTI4LjIyIEUod2luZyBgKS0uMjUgRSBGMShzKUEgRjAgMi41CisoJ20pQyhvZGlcMjE0ZXIgb25jZSB0byBlYWNoIHcpLTIuNSBFKG9yZCBpbiB0aGUgZSktLjEgRSAtLjE1KHZlKS0uMjUgRworKG50IGxpbmUuKS4xNSBFL0YzIDEwLjk1L1RpbWVzLUJvbGRAMCBTRihTSEVMTCBCKTcyIDUxMS4yIFEoVUlMKS0uMTEgRQorKFRJTiBDT01NQU5EUyktMS4wMDcgRSBGMCAuMDYzKFVubGVzcyBvdGhlcndpc2Ugbm90ZWQsIGVhY2ggYikxMDggNTIzLjIKIFIgLjA2Mih1aWx0aW4gY29tbWFuZCBkb2N1bWVudGVkIGluIHRoaXMgc2VjdGlvbiBhcyBhY2NlcHRpbmcgb3B0aW9ucyBwXAotcmVjZWRlZCBieSktLjIgRiBGMTxhZD4xMDggNTM1LjIgUSBGMChhY2NlcHRzKTMuOCBFIEYxPGFkYWQ+My44IEUgRjAgMS4zCi0odG8gc2lnbmlmeSB0aGUgZW5kIG9mIHRoZSBvcHRpb25zLikzLjggRiAtLjE1KEZvKTYuMyBHIDMuOChyZSkuMTUgRyAxLjMKLSh4YW1wbGUsIHRoZSktMy45NSBGIEYxKDopMy44IEUgRjAoLClBIEYxKHRydWUpMy44IEUgRjAoLClBIEYxKGZhbHNlKTMuOAotRSBGMCAzLjgoLGEpQyhuZCktMy44IEUgRjEodGVzdCkzLjggRSBGMCAtLjIoYnUpMy44IEcgMS4zKGlsdGlucyBkbyBub3QpCi0uMiBGKGFjY2VwdCBvcHRpb25zLikxMDggNTQ3LjIgUSBGMSg6KTEwOCA1NjUuMiBRIEYwKFspMi41IEUgRjIoYXIpQQotKGd1bWVudHMpLS4zNyBFIEYwKF0pQSAuNDUxKE5vIGVmKTE0NCA1NzcuMiBSIC40NTEKLShmZWN0OyB0aGUgY29tbWFuZCBkb2VzIG5vdGhpbmcgYmUpLS4yNSBGIC40NTIoeW9uZCBlKS0uMTUgRih4cGFuZGluZykKLS0uMTUgRSBGMihhcikzLjI4MiBFKGd1bWVudHMpLS4zNyBFIEYwIC40NTIoYW5kIHBlcmZvcm1pbmcgYW4pMy4yMjIgRgotMi45NTIoeXMpLS4xNSBHKHBlY2lcMjE0ZWQpLTIuOTUyIEUgMi41KHJlZGlyZWN0aW9ucy4gQSkxNDQgNTg5LjIgUgotKHplcm8gZSkyLjUgRSh4aXQgY29kZSBpcyByZXR1cm5lZC4pLS4xNSBFIEYxKC4pMTEwLjUgNjA2IFEgRjIKK3JlY2VkZWQgYnkpLS4yIEYgRjE8YWQ+MTA4IDUzNS4yIFEgRjAoYWNjZXB0cykyLjUzMyBFIEYxPGFkYWQ+Mi41MzMgRSBGMAorLjAzNCh0byBzaWduaWZ5IHRoZSBlbmQgb2YgdGhlIG9wdGlvbnMuKTIuNTMzIEYoVGhlKTUuMDM0IEUgRjEoOikyLjUzNCBFCitGMCgsKUEgRjEodHJ1ZSkyLjUzNCBFIEYwKCwpQSBGMShmYWxzZSkyLjUzNCBFIEYwIDIuNTM0KCxhKUMobmQpLTIuNTM0IEUKK0YxKHRlc3QpMi41MzQgRSBGMCAtLjIoYnUpMi41MzQgRyAuMDM0KGlsdGlucyBkbyBub3QgYWNjZXB0IG9wdGlvbnMgYW5kKQorLjIgRiAuMDc4KGRvIG5vdCB0cmVhdCkxMDggNTQ3LjIgUiBGMTxhZGFkPjIuNTc3IEUgRjAoc3BlY2lhbGx5KTIuNTc3IEUKKzUuMDc3KC5UKS0uNjUgRyhoZSktNS4wNzcgRSBGMShleGl0KTIuNTc3IEUgRjAoLClBIEYxKGxvZ291dCkyLjU3NyBFIEYwCisoLClBIEYxKGJyKTIuNTc3IEUoZWFrKS0uMTggRSBGMCgsKUEgRjEoY29udGludWUpMi41NzcgRSBGMCgsKUEgRjEobGV0KQorMi41NzcgRSBGMCAyLjU3NygsYSlDKG5kKS0yLjU3NyBFIEYxKHNoaWZ0KTIuNTc3IEUgRjAgLS4yKGJ1KTIuNTc3IEcKKy4wNzcoaWx0aW5zIGFjY2VwdCBhbmQgcHJvY2VzcyBhcikuMiBGKGd1LSktLjE4IEUgLjMxOShtZW50cyBiZSkxMDgKKzU1OS4yIFIgLjMxOShnaW5uaW5nIHdpdGgpLS4xNSBGIEYxPGFkPjIuODE5IEUgRjAgLjMxOQorKHdpdGhvdXQgcmVxdWlyaW5nKTIuODE5IEYgRjE8YWRhZD4yLjgxOSBFIEYwIDUuMzE5KC5PKUMgLjMxOSh0aGVyIGIpCistNS4zMTkgRiAuMzE5KHVpbHRpbnMgdGhhdCBhY2NlcHQgYXIpLS4yIEYgLjMyKGd1bWVudHMgYiktLjE4IEYgLjMyCisodXQgYXJlIG5vdCBzcGVjaVwyMTRlZCBhcyktLjIgRiAxLjE0NChhY2NlcHRpbmcgb3B0aW9ucyBpbnRlcnByZXQgYXIpCisxMDggNTcxLjIgUiAxLjE0NChndW1lbnRzIGJlKS0uMTggRiAxLjE0NChnaW5uaW5nIHdpdGgpLS4xNSBGIEYxPGFkPgorMy42NDMgRSBGMCAxLjE0MyhhcyBpbikzLjY0MyBGIC0uMjUodmEpLS40IEcgMS4xNDMKKyhsaWQgb3B0aW9ucyBhbmQgcmVxdWlyZSkuMjUgRiBGMTxhZGFkPjMuNjQzIEUgRjAgMS4xNDModG8gcHJlKTMuNjQzIEYKKy0uMTUodmUpLS4yNSBHIDEuMTQzKG50IHRoaXMpLjE1IEYoaW50ZXJwcmV0YXRpb24uKTEwOCA1ODMuMiBRIEYxKDopMTA4Cis2MDEuMiBRIEYwKFspMi41IEUgRjIoYXIpQShndW1lbnRzKS0uMzcgRSBGMChdKUEgLjQ1MShObyBlZikxNDQgNjEzLjIgUgorLjQ1MShmZWN0OyB0aGUgY29tbWFuZCBkb2VzIG5vdGhpbmcgYmUpLS4yNSBGIC40NTIoeW9uZCBlKS0uMTUgRgorKHhwYW5kaW5nKS0uMTUgRSBGMihhcikzLjI4MiBFKGd1bWVudHMpLS4zNyBFIEYwIC40NTIoYW5kIHBlcmZvcm1pbmcgYW4pCiszLjIyMiBGIDIuOTUyKHlzKS0uMTUgRyhwZWNpXDIxNGVkKS0yLjk1MiBFIDIuNShyZWRpcmVjdGlvbnMuIEEpMTQ0Cis2MjUuMiBSKHplcm8gZSkyLjUgRSh4aXQgY29kZSBpcyByZXR1cm5lZC4pLS4xNSBFIEYxKC4pMTEwLjUgNjQyIFEgRjIKIChcMjE0bGVuYW1lKTYuNjY2IEUgRjAoWykyLjUgRSBGMihhcilBKGd1bWVudHMpLS4zNyBFIEYwKF0pQSBGMShzb3VyKTEwOAotNjE4IFEoY2UpLS4xOCBFIEYyKFwyMTRsZW5hbWUpMi41IEUgRjAoWykyLjUgRSBGMihhcilBKGd1bWVudHMpLS4zNyBFIEYwCi0oXSlBIDEuMDIoUmVhZCBhbmQgZSkxNDQgNjMwIFIgLS4xNSh4ZSktLjE1IEcgMS4wMihjdXRlIGNvbW1hbmRzIGZyb20pCis2NTQgUShjZSktLjE4IEUgRjIoXDIxNGxlbmFtZSkyLjUgRSBGMChbKTIuNSBFIEYyKGFyKUEoZ3VtZW50cyktLjM3IEUgRjAKKyhdKUEgMS4wMihSZWFkIGFuZCBlKTE0NCA2NjYgUiAtLjE1KHhlKS0uMTUgRyAxLjAyKGN1dGUgY29tbWFuZHMgZnJvbSkKIC4xNSBGIEYyKFwyMTRsZW5hbWUpNS40MyBFIEYwIDEuMDIoaW4gdGhlIGN1cnJlbnQgc2hlbGwgZW4pMy43IEYgMS4wMgogKHZpcm9ubWVudCBhbmQgcmV0dXJuIHRoZSBlKS0uNCBGKHhpdCktLjE1IEUgMS42OAotKHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGUpMTQ0IDY0MiBSIC0uMTUoeGUpLS4xNSBHIDEuNjgoY3V0ZWQgZnJvbSkKKyhzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBlKTE0NCA2NzggUiAtLjE1KHhlKS0uMTUgRyAxLjY4KGN1dGVkIGZyb20pCiAuMTUgRiBGMihcMjE0bGVuYW1lKTQuMTggRSBGMCA2LjY4KC5JKS4xOCBHKGYpLTYuNjggRSBGMihcMjE0bGVuYW1lKTYuMDkKLUUgRjAgMS42OChkb2VzIG5vdCBjb250YWluIGEgc2xhc2gsIFwyMTRsZSk0LjM2IEYgLjYwOChuYW1lcyBpbikxNDQgNjU0CitFIEYwIDEuNjgoZG9lcyBub3QgY29udGFpbiBhIHNsYXNoLCBcMjE0bGUpNC4zNiBGIC42MDgobmFtZXMgaW4pMTQ0IDY5MAogUi9GNCA5L1RpbWVzLUJvbGRAMCBTRiAtLjY2NihQQSkzLjEwOCBHKFRIKS0uMTg5IEUgRjAgLjYwOAogKGFyZSB1c2VkIHRvIFwyMTRuZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcpMi44NTggRiBGMihcMjE0bGVuYW1lKTMuMTA4CiBFIEYwIDUuNjA4KC5UKS4xOCBHIC42MDgoaGUgXDIxNGxlIHNlYXJjaGVkIGZvciBpbiktNS42MDggRiBGNCAtLjY2NihQQSkKLTMuMTA4IEcoVEgpLS4xODkgRSBGMCAuODMyKG5lZWQgbm90IGJlIGUpMTQ0IDY2NiBSIC0uMTUoeGUpLS4xNSBHIDMuMzMyCiszLjEwOCBHKFRIKS0uMTg5IEUgRjAgLjgzMihuZWVkIG5vdCBiZSBlKTE0NCA3MDIgUiAtLjE1KHhlKS0uMTUgRyAzLjMzMgogKGN1dGFibGUuIFdoZW4pLjE1IEYgRjEoYmFzaCkzLjMzMiBFIEYwIC44MzIoaXMgbm90IGluKTMuMzMyIEYgRjIgLjgzMgogKHBvc2l4IG1vZGUpMy4zMzIgRiBGMCAzLjMzMigsdClDIC44MzMKIChoZSBjdXJyZW50IGRpcmVjdG9yeSBpcyBzZWFyY2hlZCBpZiBubyktMy4zMzIgRiAuOTgyCi0oXDIxNGxlIGlzIGZvdW5kIGluKTE0NCA2NzggUiBGNCAtLjY2NihQQSkzLjQ4MSBHKFRIKS0uMTg5IEUvRjUgOQorKFwyMTRsZSBpcyBmb3VuZCBpbikxNDQgNzE0IFIgRjQgLS42NjYoUEEpMy40ODEgRyhUSCktLjE4OSBFL0Y1IDkKIC9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMCAuOTgxKElmIHRoZSk1LjQ4MSBGIEYxKHNvdXIpMy40ODEgRShjZXBhdGgpLS4xOAogRSBGMCAuOTgxKG9wdGlvbiB0byB0aGUpMy40ODEgRiBGMShzaG9wdCkzLjQ4MSBFIEYwIC0uMihidSkzLjQ4MSBHIC45ODEKLShpbHRpbiBjb21tYW5kIGlzIHR1cm5lZCBvZikuMiBGIC45ODEoZiwgdGhlKS0uMjUgRiBGNCAtLjY2NihQQSkxNDQgNjkwCisoaWx0aW4gY29tbWFuZCBpcyB0dXJuZWQgb2YpLjIgRiAuOTgxKGYsIHRoZSktLjI1IEYgRjQgLS42NjYoUEEpMTQ0IDcyNgogUyhUSCktLjE4OSBFIEYwIC4xMTIoaXMgbm90IHNlYXJjaGVkLikyLjM2MiBGIC4xMTIoSWYgYW4pNS4xMTIgRih5KS0uMTUKIEUgRjIoYXIpMi42MTIgRShndW1lbnRzKS0uMzcgRSBGMCAuMTEyKGFyZSBzdXBwbGllZCwgdGhlKTIuNjEyIEYgMi42MTIKLSh5YiktLjE1IEcgLjExMihlY29tZSB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIHdoZW4pLTIuNjEyIEYgRjIKLShcMjE0bGVuYW1lKTE0NCA3MDIgUSBGMCAuMzQyKGlzIGUpMi44NDIgRiAtLjE1KHhlKS0uMTUgRyAyLjg0MgotKGN1dGVkLiBPdGhlcndpc2UpLjE1IEYgLjM0Mih0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIGFyZSB1bmNoYW5nZWQuKQotMi44NDIgRiAuMzQxKFRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSk1LjM0MSBGIC43MTYKLShzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBlKTE0NCA3MTQgUiAuNzE2Ci0oeGl0ZWQgd2l0aGluIHRoZSBzY3JpcHQgXCgwIGlmIG5vIGNvbW1hbmRzIGFyZSBlKS0uMTUgRiAtLjE1KHhlKS0uMTUgRwotLjcxNihjdXRlZFwpLCBhbmQgZikuMTUgRiAuNzE2KGFsc2UgaWYpLS4xIEYgRjIoXDIxNGxlbmFtZSkxNDUuOTEgNzI2IFEKLUYwKGlzIG5vdCBmb3VuZCBvciBjYW5ub3QgYmUgcmVhZC4pMi42OCBFKEdOVSBCYXNoLTQuMCk3MiA3NjggUQotKDIwMDkgRmVicnVhcnkgNykxNDAuOTYgRSg0NykxOTAuOTUgRSAwIENnIEVQCi0lJVBhZ2U6IDQ4IDQ4Ci0lJUJlZ2luUGFnZVNldHVwCi1CUAotJSVFbmRQYWdlU2V0dXAKLS9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihhbGlhcykxMDggODQgUSBGMChbKTIuNSBFIEYxPGFkNzA+QSBGMCAyLjUKLShdWylDL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGKG5hbWUpLTIuNSBFIEYwKFs9KUEgRjIodmFsdWUpQSBGMCAyLjUoXS4pQwotKC4uXSktMi41IEUgRjEoQWxpYXMpMTQ0IDk2IFEgRjAgMi43MjUod2l0aCBubyBhcik1LjIyNSBGIDIuNzI0Ci0oZ3VtZW50cyBvciB3aXRoIHRoZSktLjE4IEYgRjE8YWQ3MD41LjIyNCBFIEYwIDIuNzI0Ci0ob3B0aW9uIHByaW50cyB0aGUgbGlzdCBvZiBhbGlhc2VzIGluIHRoZSBmb3JtKTUuMjI0IEYgRjEoYWxpYXMpNS4yMjQgRQotRjIobmFtZSkxNDQgMTA4IFEgRjAoPSlBIEYyKHZhbHVlKUEgRjAgLjU4KG9uIHN0YW5kYXJkIG91dHB1dC4pMy4wOCBGCi0uNTgoV2hlbiBhcik1LjU4IEYgLjU4Ci0oZ3VtZW50cyBhcmUgc3VwcGxpZWQsIGFuIGFsaWFzIGlzIGRlXDIxNG5lZCBmb3IgZWFjaCktLjE4IEYgRjIobmFtZSkKLTMuMDggRSBGMCh3aG9zZSkxNDQgMTIwIFEgRjIodmFsdWUpMi44OTUgRSBGMCAuMzk1KGlzIGdpKTIuODk1IEYgLS4xNQotKHZlKS0uMjUgRyAyLjg5NShuLiBBKS4xNSBGIC4zOTUodHJhaWxpbmcgc3BhY2UgaW4pMi44OTUgRiBGMih2YWx1ZSkKLTUuMzk1IEUgRjAgLjM5NShjYXVzZXMgdGhlIG5lKTIuODk1IEYgLjM5NSh4dCB3KS0uMTUgRiAuMzk1Ci0ob3JkIHRvIGJlIGNoZWNrKS0uMSBGIC4zOTUoZWQgZm9yIGFsaWFzIHN1Yi0pLS4xIEYgLjA1NAotKHN0aXR1dGlvbiB3aGVuIHRoZSBhbGlhcyBpcyBlKTE0NCAxMzIgUiAyLjU1NCh4cGFuZGVkLiBGKS0uMTUgRiAuMDU0Ci0ob3IgZWFjaCktLjE1IEYgRjIobmFtZSkyLjU1NCBFIEYwIC4wNTQoaW4gdGhlIGFyKTIuNTU0IEYgLjA1NAotKGd1bWVudCBsaXN0IGZvciB3aGljaCBubyktLjE4IEYgRjIodmFsdWUpMi41NTQgRSBGMCAuMDU0KGlzIHN1cC0pMi41NTQKLUYgMS4zMTQocGxpZWQsIHRoZSBuYW1lIGFuZCB2KTE0NCAxNDQgUiAxLjMxNAotKGFsdWUgb2YgdGhlIGFsaWFzIGlzIHByaW50ZWQuKS0uMjUgRiBGMShBbGlhcyk2LjMxNCBFIEYwIDEuMzE0Ci0ocmV0dXJucyB0cnVlIHVubGVzcyBhKTMuODE0IEYgRjIobmFtZSkzLjgxNCBFIEYwIDEuMzEzKGlzIGdpKTMuODE0IEYKLS0uMTUodmUpLS4yNSBHIDMuODEzKG5mKS4xNSBHKG9yKS0zLjgxMyBFCi0od2hpY2ggbm8gYWxpYXMgaGFzIGJlZW4gZGVcMjE0bmVkLikxNDQgMTU2IFEgRjEoYmcpMTA4IDE3Mi44IFEgRjAoWykyLjUKLUUgRjIoam9ic3BlYylBIEYwKC4uLl0pMi41IEUgLjc0NChSZXN1bWUgZWFjaCBzdXNwZW5kZWQgam9iKTE0NCAxODQuOCBSCi1GMihqb2JzcGVjKTMuMjQ0IEUgRjAgLjc0NQotKGluIHRoZSBiYWNrZ3JvdW5kLCBhcyBpZiBpdCBoYWQgYmVlbiBzdGFydGVkIHdpdGgpMy4yNDQgRiBGMSgmKTMuMjQ1IEUKLUYwIDUuNzQ1KC5JKUMoZiktNS43NDUgRSBGMihqb2ItKTQuOTg1IEUoc3BlYykxNDQgMTk2LjggUSBGMCAuNjcyCi0oaXMgbm90IHByZXNlbnQsIHRoZSBzaGVsbCcpMy40ODIgRiAzLjE3MihzbiktLjU1IEcgLjY3MihvdGlvbiBvZiB0aGUpCi0tMy4xNzIgRiBGMihjdXJyKTMuMTcyIEUgLjY3MihlbnQgam9iKS0uMzcgRiBGMCAuNjcyKGlzIHVzZWQuKTMuMTcyIEYgRjEKLShiZyk1LjY3MSBFIEYyKGpvYnNwZWMpNC45MTEgRSBGMCAuNjcxKHJldHVybnMgMCB1bmxlc3MgcnVuKTMuNDgxIEYgLjQxOAotKHdoZW4gam9iIGNvbnRyb2wgaXMgZGlzYWJsZWQgb3IpMTQ0IDIwOC44IFIgMi45MTkoLHcpLS40IEcgLjQxOQotKGhlbiBydW4gd2l0aCBqb2IgY29udHJvbCBlbmFibGVkLCBhbiktMi45MTkgRiAyLjkxOSh5cyktLjE1IEcKLShwZWNpXDIxNGVkKS0yLjkxOSBFIEYyKGpvYnNwZWMpMi45MTkgRSBGMCAtLjEod2EpMi45MTkgRyAyLjkxOShzbikuMSBHCi0ob3QpLTIuOTE5IEUoZm91bmQgb3IgdykxNDQgMjIwLjggUShhcyBzdGFydGVkIHdpdGhvdXQgam9iIGNvbnRyb2wuKS0uMQotRSBGMShiaW5kKTEwOCAyMzcuNiBRIEYwKFspMi41IEUgRjE8YWQ2ZD5BIEYyIC0uMShrZSkyLjUgRyh5bWFwKS0uMiBFIEYwCi0yLjUoXVspQyBGMShcMjU1bHBzdlBTViktMi41IEUgRjAoXSlBIEYxKGJpbmQpMTA4IDI0OS42IFEgRjAoWykyLjUgRSBGMQotPGFkNmQ+QSBGMiAtLjEoa2UpMi41IEcoeW1hcCktLjIgRSBGMCAyLjUoXVspQyBGMTxhZDcxPi0yLjUgRSBGMgotKGZ1bmN0aW9uKTIuNSBFIEYwIDIuNShdWylDIEYxPGFkNzU+LTIuNSBFIEYyKGZ1bmN0aW9uKTIuNSBFIEYwIDIuNShdWylDCi1GMTxhZDcyPi0yLjUgRSBGMiAtLjEoa2UpMi41IEcoeXNlcSktLjIgRSBGMChdKUEgRjEoYmluZCkxMDggMjYxLjYgUSBGMAotKFspMi41IEUgRjE8YWQ2ZD5BIEYyIC0uMShrZSkyLjUgRyh5bWFwKS0uMiBFIEYwKF0pQSBGMTxhZDY2PjIuNSBFIEYyCi0oXDIxNGxlbmFtZSkyLjUgRSBGMShiaW5kKTEwOCAyNzMuNiBRIEYwKFspMi41IEUgRjE8YWQ2ZD5BIEYyIC0uMShrZSkyLjUKLUcoeW1hcCktLjIgRSBGMChdKUEgRjE8YWQ3OD4yLjUgRSBGMiAtLjEoa2UpMi41IEcoeXNlcSktLjIgRSBGMCg6KUEgRjIKLShzaGVsbFwyNTVjb21tYW5kKUEgRjEoYmluZCkxMDggMjg1LjYgUSBGMChbKTIuNSBFIEYxPGFkNmQ+QSBGMiAtLjEoa2UpCi0yLjUgRyh5bWFwKS0uMiBFIEYwKF0pQSBGMiAtLjEoa2UpMi41IEcoeXNlcSktLjIgRSBGMCg6KUEgRjIKLShmdW5jdGlvblwyNTVuYW1lKUEgRjEoYmluZCkxMDggMjk3LjYgUSBGMiAtLjM3KHJlKTIuNSBHCi0oYWRsaW5lXDI1NWNvbW1hbmQpLjM3IEUgRjAgLjIzOShEaXNwbGF5IGN1cnJlbnQpMTQ0IDMwOS42IFIgRjEgLS4xOChyZSkKLTIuNzM5IEcoYWRsaW5lKS4xOCBFIEYwIC0uMShrZSkyLjczOSBHIDIuNzM5KHlhKS0uMDUgRyAuMjM5Ci0obmQgZnVuY3Rpb24gYmluZGluZ3MsIGJpbmQgYSBrKS0yLjczOSBGIC41MzkgLS4xNShleSBzKS0uMSBIIC4yMzgKLShlcXVlbmNlIHRvIGEpLjE1IEYgRjEgLS4xOChyZSkyLjczOCBHKGFkbGluZSkuMTggRSBGMCAuMjM4KGZ1bmN0aW9uIG9yKQotMi43MzggRiAuNDc1KG1hY3JvLCBvciBzZXQgYSkxNDQgMzIxLjYgUiBGMSAtLjE4KHJlKTIuOTc1IEcoYWRsaW5lKS4xOCBFCi1GMCAtLjI1KHZhKTIuOTc1IEcgMi45NzUocmlhYmxlLiBFYWNoKS4yNSBGIC40NzYobm9uLW9wdGlvbiBhcikyLjk3NiBGCi0uNDc2KGd1bWVudCBpcyBhIGNvbW1hbmQgYXMgaXQgdyktLjE4IEYgLjQ3NihvdWxkIGFwcGVhciBpbiktLjEgRiBGMgotKC5pbnB1dHIpMTQ0IDMzMy42IFEoYyktLjM3IEUgRjAgMi45ODQoLGIpLjMxIEcgLjQ4NAotKHV0IGVhY2ggYmluZGluZyBvciBjb21tYW5kIG11c3QgYmUgcGFzc2VkIGFzIGEgc2VwYXJhdGUgYXIpLTMuMTg0IEYKLS40ODMoZ3VtZW50OyBlLmcuLCAnIlxcQ1wyNTV4XFxDXDI1NXIiOiktLjE4IEYgMi41Ci0ocmVcMjU1cmVhZFwyNTVpbml0XDI1NVwyMTRsZScuIE9wdGlvbnMsKTE0NCAzNDUuNiBSKGlmIHN1cHBsaWVkLCBoYSkyLjUKLUUgLjMgLS4xNSh2ZSB0KS0uMiBIKGhlIGZvbGxvKS4xNSBFKHdpbmcgbWVhbmluZ3M6KS0uMjUgRSBGMTxhZDZkPjE0NAotMzU3LjYgUSBGMiAtLjEoa2UpMi41IEcoeW1hcCktLjIgRSBGMChVc2UpMTgwIDM2OS42IFEgRjIgLS4xKGtlKTUuMTU4IEcKLSh5bWFwKS0uMiBFIEYwIDIuNjU4KGFzIHRoZSBrKTUuMzQ4IEYgLS4xNShleSktLjEgRyAyLjY1OChtYXAgdG8gYmUgYWYpCi0uMTUgRiAyLjY1OShmZWN0ZWQgYnkgdGhlIHN1YnNlcXVlbnQgYmluZGluZ3MuKS0uMjUgRihBY2NlcHRhYmxlKTcuNjU5IEUKLUYyIC0uMShrZSkxODAgMzgxLjYgUyh5bWFwKS0uMiBFIEYwIDMuMTkzKG5hbWVzIGFyZSk1Ljg4MyBGIEYyIDMuMTkzCi0oZW1hY3MsIGVtYWNzXDI1NXN0YW5kYXIpNS42OTMgRiAzLjE5MgotKGQsIGVtYWNzXDI1NW1ldGEsIGVtYWNzXDI1NWN0bHgsIHZpLCB2aVwyNTVtbyktLjM3IEYodmUpLS4xIEUoLCktLjEgRQotKHZpXDI1NWNvbW1hbmQpMTgwIDM5My42IFEgRjAgNC40MjkoLGEpQyhuZCktNC40MjkgRSBGMih2aVwyNTVpbnNlcnQpCi00LjQyOSBFIEYwKC4pLjY4IEUgRjIodmkpNi45MjkgRSBGMCAxLjkyOShpcyBlcXVpKTQuNDI5IEYgLS4yNSh2YSktLjI1IEcKLTEuOTI5KGxlbnQgdG8pLjI1IEYgRjIodmlcMjU1Y29tbWFuZCk0LjQyOSBFIEYwKDspQSBGMihlbWFjcyk0LjQyOSBFIEYwCi0xLjkyOShpcyBlcXVpKTQuNDI5IEYgLS4yNSh2YSktLjI1IEcgMS45MyhsZW50IHRvKS4yNSBGIEYyCi0oZW1hY3NcMjU1c3RhbmRhcikxODAgNDA1LjYgUShkKS0uMzcgRSBGMCguKUEgRjE8YWQ2Yz4xNDQgNDE3LjYgUSBGMAotKExpc3QgdGhlIG5hbWVzIG9mIGFsbCkyNy41MiBFIEYxIC0uMTgocmUpMi41IEcoYWRsaW5lKS4xOCBFIEYwCi0oZnVuY3Rpb25zLikyLjUgRSBGMTxhZDcwPjE0NCA0MjkuNiBRIEYwKERpc3BsYXkpMjQuNzQgRSBGMSAtLjE4KHJlKTIuNQotRyhhZGxpbmUpLjE4IEUgRjAoZnVuY3Rpb24gbmFtZXMgYW5kIGJpbmRpbmdzIGluIHN1Y2ggYSB3KTIuNSBFCi0oYXkgdGhhdCB0aGUpLS4xIEUgMi41KHljKS0uMTUgRyhhbiBiZSByZS1yZWFkLiktMi41IEUgRjE8YWQ1MD4xNDQgNDQxLjYKLVEgRjAoTGlzdCBjdXJyZW50KTI0LjE5IEUgRjEgLS4xOChyZSkyLjUgRyhhZGxpbmUpLjE4IEUgRjAKLShmdW5jdGlvbiBuYW1lcyBhbmQgYmluZGluZ3MuKTIuNSBFIEYxPGFkNzM+MTQ0IDQ1My42IFEgRjAoRGlzcGxheSkyNi40MQotRSBGMSAtLjE4KHJlKTMuNjU1IEcoYWRsaW5lKS4xOCBFIEYwIC0uMShrZSkzLjY1NSBHIDMuNjU1KHlzKS0uMDUgRwotMS4xNTUoZXF1ZW5jZXMgYm91bmQgdG8gbWFjcm9zIGFuZCB0aGUgc3RyaW5ncyB0aGUpLTMuNjU1IEYgMy42NTUoeW8pCi0tLjE1IEcgMS4xNTUodXRwdXQgaW4gc3VjaCBhKS0zLjY1NSBGIC0uMSh3YSkxODAgNDY1LjYgUyAyLjUoeXQpLjEgRwotKGhhdCB0aGUpLTIuNSBFIDIuNSh5YyktLjE1IEcoYW4gYmUgcmUtcmVhZC4pLTIuNSBFIEYxPGFkNTM+MTQ0IDQ3Ny42IFEKLUYwKERpc3BsYXkpMjQuNzQgRSBGMSAtLjE4KHJlKTIuNSBHKGFkbGluZSkuMTggRSBGMCAtLjEoa2UpMi41IEcgMi41KHlzKQotLS4wNSBHKGVxdWVuY2VzIGJvdW5kIHRvIG1hY3JvcyBhbmQgdGhlIHN0cmluZ3MgdGhlKS0yLjUgRSAyLjUoeW8pLS4xNSBHCi0odXRwdXQuKS0yLjUgRSBGMTxhZDc2PjE0NCA0ODkuNiBRIEYwKERpc3BsYXkpMjUuMyBFIEYxIC0uMTgocmUpMi41IEcKLShhZGxpbmUpLjE4IEUgRjAgLS4yNSh2YSkyLjUgRyhyaWFibGUgbmFtZXMgYW5kIHYpLjI1IEUKLShhbHVlcyBpbiBzdWNoIGEgdyktLjI1IEUoYXkgdGhhdCB0aGUpLS4xIEUgMi41KHljKS0uMTUgRwotKGFuIGJlIHJlLXJlYWQuKS0yLjUgRSBGMTxhZDU2PjE0NCA1MDEuNiBRIEYwKExpc3QgY3VycmVudCkyMy4wOCBFIEYxCi0tLjE4KHJlKTIuNSBHKGFkbGluZSkuMTggRSBGMCAtLjI1KHZhKTIuNSBHKHJpYWJsZSBuYW1lcyBhbmQgdikuMjUgRQotKGFsdWVzLiktLjI1IEUgRjE8YWQ2Nj4xNDQgNTEzLjYgUSBGMihcMjE0bGVuYW1lKTIuNSBFIEYwKFJlYWQgaykxODAKLTUyNS42IFEgLjMgLS4xNShleSBiKS0uMSBIKGluZGluZ3MgZnJvbSkuMTUgRSBGMihcMjE0bGVuYW1lKTIuNSBFIEYwKC4pQQotRjE8YWQ3MT4xNDQgNTM3LjYgUSBGMihmdW5jdGlvbikyLjUgRSBGMChRdWVyeSBhYm91dCB3aGljaCBrKTE4MCA1NDkuNiBRCi0tLjE1KGV5KS0uMSBHIDIuNShzaSkuMTUgRyAtMS45IC0uNChudiBvKS0yLjUgSCAuMiAtLjEoa2UgdCkuNCBICi0oaGUgbmFtZWQpLjEgRSBGMihmdW5jdGlvbikyLjUgRSBGMCguKUEgRjE8YWQ3NT4xNDQgNTYxLjYgUSBGMihmdW5jdGlvbikKLTIuNSBFIEYwKFVuYmluZCBhbGwgaykxODAgNTczLjYgUSAtLjE1KGV5KS0uMSBHIDIuNShzYikuMTUgRwotKG91bmQgdG8gdGhlIG5hbWVkKS0yLjUgRSBGMihmdW5jdGlvbikyLjUgRSBGMCguKUEgRjE8YWQ3Mj4xNDQgNTg1LjYgUQotRjIgLS4xKGtlKTIuNSBHKHlzZXEpLS4yIEUgRjAoUmVtbykxODAgNTk3LjYgUSAuMyAtLjE1KHZlIGEpLS4xNSBIIC4zCi0tLjE1KG55IGMpLjE1IEgodXJyZW50IGJpbmRpbmcgZm9yKS4xNSBFIEYyIC0uMShrZSkyLjUgRyh5c2VxKS0uMiBFIEYwCi0oLilBIEYxPGFkNzg+MTQ0IDYwOS42IFEgRjIgLS4xKGtlKTIuNSBHKHlzZXEpLS4yIEUgRjEoOilBIEYyCi0oc2hlbGxcMjU1Y29tbWFuZClBIEYwKENhdXNlKTE4MCA2MjEuNiBRIEYyKHNoZWxsXDI1NWNvbW1hbmQpNC4zMjUgRSBGMAotMS44MjUodG8gYmUgZSk0LjMyNSBGIC0uMTUoeGUpLS4xNSBHIDEuODI1KGN1dGVkIHdoZW5lKS4xNSBGIC0uMTUodmUpCi0tLjI1IEcocikuMTUgRSBGMiAtLjEoa2UpNC4zMjUgRyh5c2VxKS0uMiBFIEYwIDEuODI1KGlzIGVudGVyZWQuKTQuMzI1IEYKLShXaGVuKTYuODI1IEUgRjIoc2hlbGxcMjU1Y29tLSk0LjMyNSBFKG1hbmQpMTgwIDYzMy42IFEgRjAgMS4xMTMoaXMgZSkKLTMuNjE0IEYgLS4xNSh4ZSktLjE1IEcgMS4xMTMoY3V0ZWQsIHRoZSBzaGVsbCBzZXRzIHRoZSkuMTUgRiBGMQotKFJFQURMSU5FX0xJTkUpMy42MTMgRSBGMCAtLjI1KHZhKTMuNjEzIEcgMS4xMTMKLShyaWFibGUgdG8gdGhlIGNvbnRlbnRzIG9mIHRoZSkuMjUgRiBGMSAtLjE4KHJlKTE4MCA2NDUuNiBTKGFkbGluZSkuMTggRQotRjAgLjU4NihsaW5lIGIpMy4wODYgRih1ZiktLjIgRSAuNTg2KGZlciBhbmQgdGhlKS0uMjUgRiBGMQotKFJFQURMSU5FX1BPSU5UKTMuMDg3IEUgRjAgLS4yNSh2YSkzLjA4NyBHIC41ODcKLShyaWFibGUgdG8gdGhlIGN1cnJlbnQgbG9jYXRpb24gb2YgdGhlKS4yNSBGIDEuMjQxKGluc2VydGlvbiBwb2ludC4pMTgwCi02NTcuNiBSIDEuMjQxKElmIHRoZSBlKTYuMjQxIEYgLS4xNSh4ZSktLjE1IEcgMS4yNDEKLShjdXRlZCBjb21tYW5kIGNoYW5nZXMgdGhlIHYpLjE1IEYgMS4yNDEoYWx1ZSBvZiktLjI1IEYgRjEKLShSRUFETElORV9MSU5FKTMuNzQxIEUgRjAob3IpMy43NCBFIEYxKFJFQURMSU5FX1BPSU5UKTE4MCA2NjkuNiBRIEYwIDIuNQotKCx0KUMoaG9zZSBuZSktMi41IEUgMi41KHd2KS0uMjUgRwotKGFsdWVzIHdpbGwgYmUgcmVcMjE1ZWN0ZWQgaW4gdGhlIGVkaXRpbmcgc3RhdGUuKS0yLjc1IEUoVGhlIHJldHVybiB2KQotMTQ0IDY4Ni40IFEoYWx1ZSBpcyAwIHVubGVzcyBhbiB1bnJlY29nbml6ZWQgb3B0aW9uIGlzIGdpKS0uMjUgRSAtLjE1Ci0odmUpLS4yNSBHIDIuNShubykuMTUgRyAyLjUocmEpLTIuNSBHIDIuNShuZSktMi41IEcocnJvciBvY2N1cnJlZC4pLTIuNQotRSBGMShicikxMDggNzAzLjIgUShlYWspLS4xOCBFIEYwKFspMi41IEUgRjIobilBIEYwKF0pQSAuMDU0Ci0oRXhpdCBmcm9tIHdpdGhpbiBhKTE0NCA3MTUuMiBSIEYxIC0uMjUoZm8pMi41NTQgRyhyKS4yNSBFIEYwKCwpQSBGMQotKHdoaWxlKTIuNTU0IEUgRjAoLClBIEYxKHVudGlsKTIuNTU1IEUgRjAgMi41NTUoLG8pQyhyKS0yLjU1NSBFIEYxCi0oc2VsZWN0KTIuNTU1IEUgRjAgMi41NTUobG9vcC4gSWYpMi41NTUgRiBGMihuKTIuNTU1IEUgRjAgLjA1NQotKGlzIHNwZWNpXDIxNGVkLCBicmVhaykyLjU1NSBGIEYyKG4pMi41NTUgRSBGMChsZSkyLjU1NSBFIC0uMTUodmUpLS4yNSBHCi0obHMuKS4xNSBFIEYyKG4pNS40MTUgRSBGMCAuMDU1KG11c3QgYmUpMi43OTUgRi9GMyAxMC9TeW1ib2wgU0Y8YjM+Mi41NTUKLUUgRjAoMS4pMi41NTUgRShJZikxNDQgNzI3LjIgUSBGMihuKTMuMDc1IEUgRjAgLjIxNShpcyBncmVhdGVyIHRoYW4gdGhlXAotIG51bWJlciBvZiBlbmNsb3NpbmcgbG9vcHMsIGFsbCBlbmNsb3NpbmcgbG9vcHMgYXJlIGUpMi45NTUgRiAyLjcxNAotKHhpdGVkLiBUaGUpLS4xNSBGIC4yMTQocmV0dXJuIHYpMi43MTQgRihhbHVlKS0uMjUgRShHTlUgQmFzaC00LjApNzIgNzY4Ci1RKDIwMDkgRmVicnVhcnkgNykxNDAuOTYgRSg0OCkxOTAuOTUgRSAwIENnIEVQCisoeWIpLS4xNSBHIC4xMTIoZWNvbWUgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyB3aGVuKS0yLjYxMiBGCisoR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDQ4KTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDQ5IDQ5CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFKGlzIDAgdW5sZXNzKTE0NCA4NCBRL0YxIDEwL1RpbWVzLUl0YWxpY0AwIFNGKG4pMi41IEUgRjAKLShpcyBub3QgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuKTIuNSBFL0YyIDEwL1RpbWVzLUJvbGRAMCBTRiAtLjIoYnUpCi0xMDggMTAwLjggUyhpbHRpbikuMiBFIEYxKHNoZWxsXDI1NWIpMi41IEUodWlsdGluKS0uMiBFIEYwKFspMi41IEUgRjEKLShhcilBKGd1bWVudHMpLS4zNyBFIEYwKF0pQShFeCkxNDQgMTEyLjggUSAuNzkyCi0oZWN1dGUgdGhlIHNwZWNpXDIxNGVkIHNoZWxsIGIpLS4xNSBGIC43OTIodWlsdGluLCBwYXNzaW5nIGl0KS0uMiBGIEYxCi0oYXIpMy4yOTMgRShndW1lbnRzKS0uMzcgRSBGMCAzLjI5MygsYSkuMjcgRyAuNzkzKG5kIHJldHVybiBpdHMgZSktMy4yOTMKLUYgLjc5Myh4aXQgc3RhdHVzLiktLjE1IEYgLjc5MyhUaGlzIGlzIHVzZWZ1bCk1Ljc5MyBGIC42MTYKLSh3aGVuIGRlXDIxNG5pbmcgYSBmdW5jdGlvbiB3aG9zZSBuYW1lIGlzIHRoZSBzYW1lIGFzIGEgc2hlbGwgYikxNDQKLTEyNC44IFIgLjYxNSh1aWx0aW4sIHJldGFpbmluZyB0aGUgZnVuY3Rpb25hbGl0eSBvZiktLjIgRiAuNTcodGhlIGIpMTQ0Ci0xMzYuOCBSIC41Nyh1aWx0aW4gd2l0aGluIHRoZSBmdW5jdGlvbi4pLS4yIEYoVGhlKTUuNTcgRSBGMihjZCkzLjA3IEUgRjAKLS0uMihidSkzLjA3IEcgLjU3KGlsdGluIGlzIGNvbW1vbmx5IHJlZGVcMjE0bmVkIHRoaXMgdykuMiBGKGF5KS0uMSBFCi01LjU3KC5UKS0uNjUgRyAuNTcoaGUgcmV0dXJuIHN0YXR1cyktNS41NyBGKGlzIGYpMTQ0IDE0OC44IFEoYWxzZSBpZiktLjEKLUUgRjEoc2hlbGxcMjU1YikyLjg0IEUodWlsdGluKS0uMiBFIEYwKGlzIG5vdCBhIHNoZWxsIGIpMi43NCBFCi0odWlsdGluIGNvbW1hbmQuKS0uMiBFIEYyKGNhbGxlcikxMDggMTY1LjYgUSBGMChbKTIuNSBFIEYxIC0uMihleClDKHByKQotLjIgRSBGMChdKUEgLjI1NChSZXR1cm5zIHRoZSBjb250ZSkxNDQgMTc3LjYgUiAuMjU0KHh0IG9mIGFuKS0uMTUgRgotMi43NTQoeWEpLS4xNSBHKGN0aSktMi43NTQgRSAuNTU0IC0uMTUodmUgcyktLjI1IEggLjI1NAotKHVicm91dGluZSBjYWxsIFwoYSBzaGVsbCBmdW5jdGlvbiBvciBhIHNjcmlwdCBlKS4xNSBGIC0uMTUoeGUpLS4xNSBHCi0uMjU0KGN1dGVkIHdpdGggdGhlKS4xNSBGIEYyKC4pMi43NTMgRSBGMChvcikyLjc1MyBFIEYyKHNvdXIpMTQ0IDE4OS42IFEKLShjZSktLjE4IEUgRjAgLS4yKGJ1KTMuMDYyIEcgMy4wNjIoaWx0aW5zLiBXKS4yIEYoaXRob3V0KS0uNCBFIEYxIC0uMgotKGV4KTMuMDYyIEcocHIpLjIgRSBGMCgsKUEgRjIoY2FsbGVyKTMuMDYyIEUgRjAgLjU2MgotKGRpc3BsYXlzIHRoZSBsaW5lIG51bWJlciBhbmQgc291cmNlIFwyMTRsZW5hbWUgb2YgdGhlIGN1cnJlbnQpMy4wNjIgRgotLjI1NChzdWJyb3V0aW5lIGNhbGwuKTE0NCAyMDEuNiBSIC4yNTQoSWYgYSBub24tbmUpNS4yNTQgRiAtLjA1KGdhKS0uMTUKLUcodGkpLjA1IEUgLjU1NCAtLjE1KHZlIGkpLS4yNSBIKG50ZSkuMTUgRSAuMjUzKGdlciBpcyBzdXBwbGllZCBhcyktLjE1Ci1GIEYxIC0uMihleCkyLjc1MyBHKHByKS4yIEUgRjAoLClBIEYyKGNhbGxlcikyLjc1MyBFIEYwIC4yNTMKLShkaXNwbGF5cyB0aGUgbGluZSBudW1iZXIpMi43NTMgRiAyLjc1MygscyktLjQgRyh1Yi0pLTIuNzUzIEUgMS4zMjcocm91XAotdGluZSBuYW1lLCBhbmQgc291cmNlIFwyMTRsZSBjb3JyZXNwb25kaW5nIHRvIHRoYXQgcG9zaXRpb24gaW4gdGhlIGN1cnJcCi1lbnQgZSkxNDQgMjEzLjYgUiAtLjE1KHhlKS0uMTUgRyAxLjMyOChjdXRpb24gY2FsbCBzdGFjay4pLjE1IEYgLjAwMQotKFRoaXMgZSkxNDQgMjI1LjYgUiAuMDAxKHh0cmEgaW5mb3JtYXRpb24gbWF5IGJlIHVzZWQsIGZvciBlKS0uMTUgRiAuMDAxCi0oeGFtcGxlLCB0byBwcmludCBhIHN0YWNrIHRyYWNlLiktLjE1IEYoVGhlIGN1cnJlbnQgZnJhbWUgaXMgZnJhbWUpNSBFCi0zLjAxOSgwLiBUaGUpMTQ0IDIzNy42IFIgLjUxOShyZXR1cm4gdikzLjAxOSBGIC41MTkKLShhbHVlIGlzIDAgdW5sZXNzIHRoZSBzaGVsbCBpcyBub3QgZSktLjI1IEYgLS4xNSh4ZSktLjE1IEcgLjUyCi0oY3V0aW5nIGEgc3Vicm91dGluZSBjYWxsIG9yKS4xNSBGIEYxIC0uMihleCkzLjAyIEcocHIpLjIgRSBGMCAuNTIKLShkb2VzIG5vdCBjb3JyZS0pMy4wMiBGKHNwb25kIHRvIGEgdikxNDQgMjQ5LjYgUQotKGFsaWQgcG9zaXRpb24gaW4gdGhlIGNhbGwgc3RhY2suKS0uMjUgRSBGMihjZCkxMDggMjY2LjQgUSBGMChbKTIuNSBFIEYyCi0oXDI1NUx8LVApQSBGMCAyLjUoXVspQyBGMShkaXIpLTIuNSBFIEYwKF0pQSAuMjEKLShDaGFuZ2UgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHRvKTE0NCAyNzguNCBSIEYxKGRpcikyLjcxIEUgRjAgNS4yMSguVClDCi0uMjEoaGUgdiktNS4yMSBGKGFyaWFibGUpLS4yNSBFL0YzIDkvVGltZXMtQm9sZEAwIFNGKEhPTUUpMi43MSBFIEYwIC4yMQotKGlzIHRoZSBkZWYpMi40NiBGKGF1bHQpLS4xIEUgRjEoZGlyKTIuNzEgRSBGMCA1LjIxKC5UKS43MyBHIC4yMShoZSB2KQotLTUuMjEgRihhcmlhYmxlKS0uMjUgRSBGMyhDRFApMi43MSBFIC0uODU1KEFUKS0uNjY2IEcoSCkuODU1IEUgRjAgLjc3NgotKGRlXDIxNG5lcyB0aGUgc2VhcmNoIHBhdGggZm9yIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZykxNDQgMjkwLjQgUiBGMQotKGRpcikzLjI3NiBFIEYwIDUuNzc3KC5BKS43MyBHKGx0ZXJuYXRpKS01Ljc3NyBFIDEuMDc3IC0uMTUodmUgZCktLjI1IEgKLS43NzcoaXJlY3RvcnkgbmFtZXMgaW4pLjE1IEYgRjMoQ0RQKTMuMjc3IEUgLS44NTUoQVQpLS42NjYgRyhIKS44NTUgRSBGMAotLjc2NChhcmUgc2VwYXJhdGVkIGJ5IGEgY29sb24gXCg6XCkuKTE0NCAzMDIuNCBSIDMuMjY0KEFuKTUuNzY0IEcgLjc2NAotKHVsbCBkaXJlY3RvcnkgbmFtZSBpbiktMy4yNjQgRiBGMyhDRFApMy4yNjQgRSAtLjg1NShBVCktLjY2NiBHKEgpLjg1NSBFCi1GMCAuNzY0KGlzIHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50IGRpcmVjLSkzLjAxNCBGKHRvcnkpMTQ0IDMxNC40IFEgMi45NzMKLSgsaSktLjY1IEcgLjQ3MyguZS4sIGApLTIuOTczIEYoYCktLjc0IEUgRjIoLilBIEYwIC0uNzQoJycpQyA1LjQ3MyguSSkKLS43NCBHKGYpLTUuNDczIEUgRjEoZGlyKTMuMzIzIEUgRjAoYmUpMy43MDMgRSAuNDc0Ci0oZ2lucyB3aXRoIGEgc2xhc2ggXCgvXCksIHRoZW4pLS4xNSBGIEYzKENEUCkyLjk3NCBFIC0uODU1KEFUKS0uNjY2IEcoSCkKLS44NTUgRSBGMCAuNDc0KGlzIG5vdCB1c2VkLiBUaGUpMi43MjQgRiBGMjxhZDUwPjIuOTc0IEUgRjAgLjQ3NAotKG9wdGlvbiBzYXlzIHRvIHVzZSkyLjk3NCBGIC41OCh0aGUgcGgpMTQ0IDMyNi40IFIgLjU4Ci0oeXNpY2FsIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgaW5zdGVhZCBvZiBmb2xsbyktLjA1IEYgLjU3OQotKHdpbmcgc3ltYm9saWMgbGlua3MgXChzZWUgYWxzbyB0aGUpLS4yNSBGIEYyPGFkNTA+My4wNzkgRSBGMCAuNTc5Ci0ob3B0aW9uIHRvIHRoZSkzLjA3OSBGIEYyKHNldCkxNDQgMzM4LjQgUSBGMCAtLjIoYnUpMy4zODMgRyAuODgzCi0oaWx0aW4gY29tbWFuZFwpOyB0aGUpLjIgRiBGMjxhZDRjPjMuMzgzIEUgRjAgLjg4NAotKG9wdGlvbiBmb3JjZXMgc3ltYm9saWMgbGlua3MgdG8gYmUgZm9sbG8pMy4zODQgRiAzLjM4NCh3ZWQuIEFuKS0uMjUgRgotKGFyKTMuMzg0IEUgLjg4NChndW1lbnQgb2YpLS4xOCBGIEYyPGFkPjMuMzg0IEUgRjAoaXMpMy4zODQgRShlcXVpKTE0NAotMzUwLjQgUSAtLjI1KHZhKS0uMjUgRyAuMDYzKGxlbnQgdG8pLjI1IEYgRjMoJE9MRFBXRCkyLjU2MyBFL0Y0IDkKLS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMCAuMDYzKElmIGEgbm9uLWVtcHR5IGRpcmVjdG9yeSBuYW1lIGZyb20pNC41NjMgRgotRjIoQ0RQKTIuNTYyIEUgLS45NShBVCktLjc0IEcoSCkuOTUgRSBGMCAuMDYyKGlzIHVzZWQsIG9yIGlmKTIuNTYyIEYgRjIKLTxhZD4yLjU2MiBFIEYwIC4wNjIoaXMgdGhlIFwyMTRyc3QpMi41NjIgRihhcikxNDQgMzYyLjQgUSAuMTE2KGd1bWVudCwgXAotYW5kIHRoZSBkaXJlY3RvcnkgY2hhbmdlIGlzIHN1Y2Nlc3NmdWwsIHRoZSBhYnNvbHV0ZSBwYXRobmFtZSBvZiB0aGUgbmUpCi0tLjE4IEYgMi42MTYod3cpLS4yNSBHIC4xMTYob3JraW5nIGRpcmVjLSktMi43MTYgRiAxLjE2NQotKHRvcnkgaXMgd3JpdHRlbiB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LikxNDQgMzc0LjQgUiAxLjE2NChUaGUgcmV0dXJuIHYpCi02LjE2NCBGIDEuMTY0KGFsdWUgaXMgdHJ1ZSBpZiB0aGUgZGlyZWN0b3J5IHcpLS4yNSBGIDEuMTY0Ci0oYXMgc3VjY2Vzc2Z1bGx5KS0uMSBGKGNoYW5nZWQ7IGYpMTQ0IDM4Ni40IFEoYWxzZSBvdGhlcndpc2UuKS0uMSBFIEYyCi0oY29tbWFuZCkxMDggNDAzLjIgUSBGMChbKTIuNSBFIEYyKFwyNTVwVnYpQSBGMChdKUEgRjEoY29tbWFuZCkyLjUgRSBGMAotKFspMi41IEUgRjEoYXIpQShnKS0uMzcgRSBGMCguLi5dKTIuNSBFKFJ1bikxNDQgNDE1LjIgUSBGMShjb21tYW5kKTIuOTU2Ci1FIEYwKHdpdGgpMy41MjcgRSBGMShhcikzLjA4NyBFKGdzKS0uMzcgRSBGMCAuMjU3Ci0oc3VwcHJlc3NpbmcgdGhlIG5vcm1hbCBzaGVsbCBmdW5jdGlvbiBsb29rdXAuIE9ubHkgYikzLjAyNyBGIC4yNTcKLSh1aWx0aW4gY29tbWFuZHMgb3IpLS4yIEYgLjUwMihjb21tYW5kcyBmb3VuZCBpbiB0aGUpMTQ0IDQyNy4yIFIgRjMKLS0uNjY2KFBBKTMuMDAyIEcoVEgpLS4xODkgRSBGMCAuNTAyKGFyZSBlKTIuNzUyIEYgLS4xNSh4ZSktLjE1IEcgMy4wMDIKLShjdXRlZC4gSWYpLjE1IEYodGhlKTMuMDAyIEUgRjI8YWQ3MD4zLjAwMiBFIEYwIC41MDIob3B0aW9uIGlzIGdpKTMuMDAyCi1GIC0uMTUodmUpLS4yNSBHIC41MDEobiwgdGhlIHNlYXJjaCBmb3IpLjE1IEYgRjEoY29tbWFuZCkzLjIwMSBFIEYwKGlzKQotMy43NzEgRSAuMjMxKHBlcmZvcm1lZCB1c2luZyBhIGRlZikxNDQgNDM5LjIgUiAuMjMxKGF1bHQgdiktLjEgRiAuMjMxCi0oYWx1ZSBmb3IpLS4yNSBGIEYyIC0uNzQoUEEpMi43MzEgRyhUSCktLjIxIEUgRjAgLjIzMQotKHRoYXQgaXMgZ3VhcmFudGVlZCB0byBcMjE0bmQgYWxsIG9mIHRoZSBzdGFuZGFyZCB1dGlsaXRpZXMuKTIuNzMxIEYoSWYpCi01LjIzMiBFIC4xNzUoZWl0aGVyIHRoZSkxNDQgNDUxLjIgUiBGMjxhZDU2PjIuNjc1IEUgRjAob3IpMi42NzUgRSBGMgotPGFkNzY+Mi42NzUgRSBGMCAuMTc1KG9wdGlvbiBpcyBzdXBwbGllZCwgYSBkZXNjcmlwdGlvbiBvZikyLjY3NSBGIEYxCi0oY29tbWFuZCkyLjg3NSBFIEYwIC4xNzQoaXMgcHJpbnRlZC4pMy40NDUgRihUaGUpNS4xNzQgRSBGMjxhZDc2PjIuNjc0IEUKLUYwIC4xNzQob3B0aW9uIGNhdXNlcykyLjY3NCBGIDMuMTEoYXMpMTQ0IDQ2My4yIFMgLjYxKGluZ2xlIHcpLTMuMTEgRgotLjYxKG9yZCBpbmRpY2F0aW5nIHRoZSBjb21tYW5kIG9yIFwyMTRsZSBuYW1lIHVzZWQgdG8gaW4pLS4xIEYgLS4yKHZvKQotLS40IEcgLS4xKGtlKS4yIEcgRjEoY29tbWFuZCkzLjQxIEUgRjAgLjYxKHRvIGJlIGRpc3BsYXllZDsgdGhlKTMuODggRgotRjI8YWQ1Nj4xNDQgNDc1LjIgUSBGMCAuMjUob3B0aW9uIHByb2R1Y2VzIGEgbW9yZSB2KTIuNzUgRiAuMjUKLShlcmJvc2UgZGVzY3JpcHRpb24uKS0uMTUgRiAuMjQ5KElmIHRoZSk1LjI1IEYgRjI8YWQ1Nj4yLjc0OSBFIEYwKG9yKQotMi43NDkgRSBGMjxhZDc2PjIuNzQ5IEUgRjAgLjI0OShvcHRpb24gaXMgc3VwcGxpZWQsIHRoZSBlKTIuNzQ5IEYgLjI0OQotKHhpdCBzdGF0dXMpLS4xNSBGIDEuMDA0KGlzIDAgaWYpMTQ0IDQ4Ny4yIFIgRjEoY29tbWFuZCkzLjcwNCBFIEYwIC0uMQotKHdhKTQuMjc0IEcgMy41MDQoc2YpLjEgRyAxLjAwNShvdW5kLCBhbmQgMSBpZiBub3QuKS0zLjUwNCBGIDEuMDA1Ci0oSWYgbmVpdGhlciBvcHRpb24gaXMgc3VwcGxpZWQgYW5kIGFuIGVycm9yIG9jY3VycmVkIG9yKTYuMDA1IEYgRjEKLShjb21tYW5kKTE0NC4yIDQ5OS4yIFEgRjAgMS41OTkoY2Fubm90IGJlIGZvdW5kLCB0aGUgZSk0Ljg2OSBGIDEuNTk5Ci0oeGl0IHN0YXR1cyBpcyAxMjcuKS0uMTUgRiAxLjU5OShPdGhlcndpc2UsIHRoZSBlKTYuNTk5IEYgMS41OTgKLSh4aXQgc3RhdHVzIG9mIHRoZSktLjE1IEYgRjIoY29tbWFuZCk0LjA5OCBFIEYwIC0uMihidSkxNDQgNTExLjIgUwotKGlsdGluIGlzIHRoZSBlKS4yIEUoeGl0IHN0YXR1cyBvZiktLjE1IEUgRjEoY29tbWFuZCkyLjUgRSBGMCguKS43NyBFIEYyCi0oY29tcGdlbikxMDggNTI4IFEgRjAoWykyLjUgRSBGMShvcHRpb24pQSBGMCAyLjUoXVspQyBGMSh3b3IpLTIuNSBFKGQpCi0tLjM3IEUgRjAoXSlBIC4wMTIoR2VuZXJhdGUgcG9zc2libGUgY29tcGxldGlvbiBtYXRjaGVzIGZvcikxNDQgNTQwIFIgRjEKLSh3b3IpMi41MTMgRShkKS0uMzcgRSBGMCAuMDEzKGFjY29yZGluZyB0byB0aGUpMi41MTMgRiBGMShvcHRpb24pMi41MTMgRQotRjAgLjAxMyhzLCB3aGljaCBtYXkgYmUgYW4pQiAyLjUxMyh5byktLjE1IEcocHRpb24pLTIuNTEzIEUgLjk4MgotKGFjY2VwdGVkIGJ5IHRoZSkxNDQgNTUyIFIgRjIoY29tcGxldGUpMy40ODIgRSBGMCAtLjIoYnUpMy40ODEgRyAuOTgxCi0oaWx0aW4gd2l0aCB0aGUgZSkuMiBGIC45ODEoeGNlcHRpb24gb2YpLS4xNSBGIEYyPGFkNzA+My40ODEgRSBGMChhbmQpCi0zLjQ4MSBFIEYyPGFkNzI+My40ODEgRSBGMCAzLjQ4MSgsYSlDIC45ODEobmQgd3JpdGUgdGhlIG1hdGNoZXMgdG8gdGhlKQotLTMuNDgxIEYgMS40MTUoc3RhbmRhcmQgb3V0cHV0LikxNDQgNTY0IFIgMS40MTUoV2hlbiB1c2luZyB0aGUpNi40MTUgRgotRjI8YWQ0Nj4zLjkxNSBFIEYwKG9yKTMuOTE1IEUgRjI8YWQ0Mz4zLjkxNSBFIEYwIDEuNDE1KG9wdGlvbnMsIHRoZSB2KQotMy45MTUgRiAxLjQxNShhcmlvdXMgc2hlbGwgdiktLjI1IEYgMS40MTUoYXJpYWJsZXMgc2V0IGJ5IHRoZSBwcm8tKS0uMjUKLUYoZ3JhbW1hYmxlIGNvbXBsZXRpb24gZikxNDQgNTc2IFEoYWNpbGl0aWVzLCB3aGlsZSBhKS0uMSBFIC0uMjUodmEpLS4yCi1HKGlsYWJsZSwgd2lsbCBub3QgaGEpLjI1IEUgLjMgLS4xNSh2ZSB1KS0uMiBIKHNlZnVsIHYpLjE1IEUoYWx1ZXMuKS0uMjUKLUUgLjM1MihUaGUgbWF0Y2hlcyB3aWxsIGJlIGdlbmVyYXRlZCBpbiB0aGUgc2FtZSB3KTE0NCA2MDAgUiAuMzUyCi0oYXkgYXMgaWYgdGhlIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGNvZGUgaGFkIGdlbi0pLS4xIEYgLjAyKGVyYXRlZCB0aFwKLWVtIGRpcmVjdGx5IGZyb20gYSBjb21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbiB3aXRoIHRoZSBzYW1lIFwyMTVhZ3MuKTE0NAotNjEyIFIoSWYpNS4wMiBFIEYxKHdvcikyLjUyIEUoZCktLjM3IEUgRjAgLjAyKGlzIHNwZWNpXDIxNGVkLCBvbmx5KTIuNTIKLUYodGhvc2UgY29tcGxldGlvbnMgbWF0Y2hpbmcpMTQ0IDYyNCBRIEYxKHdvcikyLjUgRShkKS0uMzcgRSBGMAotKHdpbGwgYmUgZGlzcGxheWVkLikyLjUgRShUaGUgcmV0dXJuIHYpMTQ0IDY0OCBRCi0oYWx1ZSBpcyB0cnVlIHVubGVzcyBhbiBpbiktLjI1IEUgLS4yNSh2YSktLjQgRwotKGxpZCBvcHRpb24gaXMgc3VwcGxpZWQsIG9yIG5vIG1hdGNoZXMgd2VyZSBnZW5lcmF0ZWQuKS4yNSBFIEYyCi0oY29tcGxldGUpMTA4IDY2NC44IFEgRjAoWykzLjAzNCBFIEYyKFwyNTVhYmNkZWZnamtzdXYpQSBGMCAzLjAzNChdWylDCi1GMjxhZDZmPi0zLjAzNCBFIEYxKGNvbXAtb3B0aW9uKTMuMDM0IEUgRjAgMy4wMzQoXVspQyBGMjxhZDQ1Pi0zLjAzNCBFCi1GMCAzLjAzMyhdWylDIEYyPGFkNDE+LTMuMDMzIEUgRjEoYWN0aW9uKTMuMDMzIEUgRjAgMy4wMzMoXVspQyBGMjxhZDQ3PgotLTMuMDMzIEUgRjEoZ2xvYnBhdCkzLjAzMyBFIEYwIDMuMDMzKF1bKUMgRjI8YWQ1Nz4tMy4wMzMgRSBGMSh3b3IpMy4wMzMKLUUoZGxpc3QpLS4zNyBFIEYwIDMuMDMzKF1bKUMgRjI8YWQ0Nj4tMy4wMzMgRSBGMShmdW5jdGlvbikzLjAzMyBFIEYwKF0pQQotKFspMTA4IDY3Ni44IFEgRjI8YWQ0Mz5BIEYxKGNvbW1hbmQpMi41IEUgRjAoXSlBKFspMTQ0IDY4OC44IFEgRjI8YWQ1OD5BCi1GMShcMjE0bHRlcnBhdCkyLjUgRSBGMCAyLjUoXVspQyBGMjxhZDUwPi0yLjUgRSBGMShwcikyLjUgRShlXDIxNHgpLS4zNwotRSBGMCAyLjUoXVspQyBGMjxhZDUzPi0yLjUgRSBGMShzdWYpMi41IEU8OGM3OD4tLjE4IEUgRjAoXSlBIEYxKG5hbWUpMi41Ci1FIEYwKFspMi41IEUgRjEobmFtZSAuLi4pQSBGMChdKUEgRjIoY29tcGxldGUgXDI1NXByKTEwOCA3MDAuOCBRIEYwKFspCi0yLjUgRSBGMjxhZDQ1PkEgRjAgMi41KF1bKUMgRjEobmFtZSktMi41IEUgRjAoLi4uXSkyLjUgRSAuNjM0Ci0oU3BlY2lmeSBobykxNDQgNzEyLjggUiAzLjEzNCh3YSktLjI1IEcgLS4xOChyZyktMy4xMzQgRyAuNjM0Ci0odW1lbnRzIHRvIGVhY2gpLjE4IEYgRjEobmFtZSkzLjEzNCBFIEYwIC42MzQoc2hvdWxkIGJlIGNvbXBsZXRlZC4pMy4xMzQKLUYgLjYzMyhJZiB0aGUpNS42MzQgRiBGMjxhZDcwPjMuMTMzIEUgRjAgLjYzMwotKG9wdGlvbiBpcyBzdXBwbGllZCwgb3IgaWYgbm8pMy4xMzMgRiAuMTM5KG9wdGlvbnMgYXJlIHN1cHBsaWVkLCBlKTE0NAotNzI0LjggUiAuMTM5KHhpc3RpbmcgY29tcGxldGlvbiBzcGVjaVwyMTRjYXRpb25zIGFyZSBwcmludGVkIGluIGEgdyktLjE1Ci1GIC4xNChheSB0aGF0IGFsbG8pLS4xIEYgLjE0KHdzIHRoZW0gdG8gYmUpLS4yNSBGKEdOVSBCYXNoLTQuMCk3MiA3NjggUQotKDIwMDkgRmVicnVhcnkgNykxNDAuOTYgRSg0OSkxOTAuOTUgRSAwIENnIEVQCistLjM1IEUvRjEgMTAvVGltZXMtSXRhbGljQDAgU0YoXDIxNGxlbmFtZSkxNDQgODQgUSBGMCAuMzQyKGlzIGUpMi44NDIgRgorLS4xNSh4ZSktLjE1IEcgMi44NDIoY3V0ZWQuIE90aGVyd2lzZSkuMTUgRiAuMzQyCisodGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBhcmUgdW5jaGFuZ2VkLikyLjg0MiBGIC4zNDEKKyhUaGUgcmV0dXJuIHN0YXR1cyBpcyB0aGUpNS4zNDEgRiAuNzE2KHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGUpMTQ0Cis5NiBSIC43MTYoeGl0ZWQgd2l0aGluIHRoZSBzY3JpcHQgXCgwIGlmIG5vIGNvbW1hbmRzIGFyZSBlKS0uMTUgRiAtLjE1CisoeGUpLS4xNSBHIC43MTYoY3V0ZWRcKSwgYW5kIGYpLjE1IEYgLjcxNihhbHNlIGlmKS0uMSBGIEYxKFwyMTRsZW5hbWUpCisxNDUuOTEgMTA4IFEgRjAoaXMgbm90IGZvdW5kIG9yIGNhbm5vdCBiZSByZWFkLikyLjY4IEUvRjIgMTAKKy9UaW1lcy1Cb2xkQDAgU0YoYWxpYXMpMTA4IDEyNC44IFEgRjAoWykyLjUgRSBGMjxhZDcwPkEgRjAgMi41KF1bKUMgRjEKKyhuYW1lKS0yLjUgRSBGMChbPSlBIEYxKHZhbHVlKUEgRjAgMi41KF0uKUMoLi5dKS0yLjUgRSBGMihBbGlhcykxNDQKKzEzNi44IFEgRjAgMi43MjUod2l0aCBubyBhcik1LjIyNSBGIDIuNzI0KGd1bWVudHMgb3Igd2l0aCB0aGUpLS4xOCBGIEYyCis8YWQ3MD41LjIyNCBFIEYwIDIuNzI0KG9wdGlvbiBwcmludHMgdGhlIGxpc3Qgb2YgYWxpYXNlcyBpbiB0aGUgZm9ybSkKKzUuMjI0IEYgRjIoYWxpYXMpNS4yMjQgRSBGMShuYW1lKTE0NCAxNDguOCBRIEYwKD0pQSBGMSh2YWx1ZSlBIEYwIC41OAorKG9uIHN0YW5kYXJkIG91dHB1dC4pMy4wOCBGIC41OChXaGVuIGFyKTUuNTggRiAuNTgKKyhndW1lbnRzIGFyZSBzdXBwbGllZCwgYW4gYWxpYXMgaXMgZGVcMjE0bmVkIGZvciBlYWNoKS0uMTggRiBGMShuYW1lKQorMy4wOCBFIEYwKHdob3NlKTE0NCAxNjAuOCBRIEYxKHZhbHVlKTIuODk1IEUgRjAgLjM5NShpcyBnaSkyLjg5NSBGIC0uMTUKKyh2ZSktLjI1IEcgMi44OTUobi4gQSkuMTUgRiAuMzk1KHRyYWlsaW5nIHNwYWNlIGluKTIuODk1IEYgRjEodmFsdWUpCis1LjM5NSBFIEYwIC4zOTUoY2F1c2VzIHRoZSBuZSkyLjg5NSBGIC4zOTUoeHQgdyktLjE1IEYgLjM5NQorKG9yZCB0byBiZSBjaGVjayktLjEgRiAuMzk1KGVkIGZvciBhbGlhcyBzdWItKS0uMSBGIC4wNTQKKyhzdGl0dXRpb24gd2hlbiB0aGUgYWxpYXMgaXMgZSkxNDQgMTcyLjggUiAyLjU1NCh4cGFuZGVkLiBGKS0uMTUgRiAuMDU0Cisob3IgZWFjaCktLjE1IEYgRjEobmFtZSkyLjU1NCBFIEYwIC4wNTQoaW4gdGhlIGFyKTIuNTU0IEYgLjA1NAorKGd1bWVudCBsaXN0IGZvciB3aGljaCBubyktLjE4IEYgRjEodmFsdWUpMi41NTQgRSBGMCAuMDU0KGlzIHN1cC0pMi41NTQKK0YgMS4zMTQocGxpZWQsIHRoZSBuYW1lIGFuZCB2KTE0NCAxODQuOCBSIDEuMzE0CisoYWx1ZSBvZiB0aGUgYWxpYXMgaXMgcHJpbnRlZC4pLS4yNSBGIEYyKEFsaWFzKTYuMzE0IEUgRjAgMS4zMTQKKyhyZXR1cm5zIHRydWUgdW5sZXNzIGEpMy44MTQgRiBGMShuYW1lKTMuODE0IEUgRjAgMS4zMTMoaXMgZ2kpMy44MTQgRgorLS4xNSh2ZSktLjI1IEcgMy44MTMobmYpLjE1IEcob3IpLTMuODEzIEUKKyh3aGljaCBubyBhbGlhcyBoYXMgYmVlbiBkZVwyMTRuZWQuKTE0NCAxOTYuOCBRIEYyKGJnKTEwOCAyMTMuNiBRIEYwKFspCisyLjUgRSBGMShqb2JzcGVjKUEgRjAoLi4uXSkyLjUgRSAuNzQ0KFJlc3VtZSBlYWNoIHN1c3BlbmRlZCBqb2IpMTQ0CisyMjUuNiBSIEYxKGpvYnNwZWMpMy4yNDQgRSBGMCAuNzQ1CisoaW4gdGhlIGJhY2tncm91bmQsIGFzIGlmIGl0IGhhZCBiZWVuIHN0YXJ0ZWQgd2l0aCkzLjI0NCBGIEYyKCYpMy4yNDUgRQorRjAgNS43NDUoLkkpQyhmKS01Ljc0NSBFIEYxKGpvYi0pNC45ODUgRShzcGVjKTE0NCAyMzcuNiBRIEYwIC42NzIKKyhpcyBub3QgcHJlc2VudCwgdGhlIHNoZWxsJykzLjQ4MiBGIDMuMTcyKHNuKS0uNTUgRyAuNjcyKG90aW9uIG9mIHRoZSkKKy0zLjE3MiBGIEYxKGN1cnIpMy4xNzIgRSAuNjcyKGVudCBqb2IpLS4zNyBGIEYwIC42NzIoaXMgdXNlZC4pMy4xNzIgRiBGMgorKGJnKTUuNjcxIEUgRjEoam9ic3BlYyk0LjkxMSBFIEYwIC42NzEocmV0dXJucyAwIHVubGVzcyBydW4pMy40ODEgRiAuNDE4Cisod2hlbiBqb2IgY29udHJvbCBpcyBkaXNhYmxlZCBvcikxNDQgMjQ5LjYgUiAyLjkxOSgsdyktLjQgRyAuNDE5CisoaGVuIHJ1biB3aXRoIGpvYiBjb250cm9sIGVuYWJsZWQsIGFuKS0yLjkxOSBGIDIuOTE5KHlzKS0uMTUgRworKHBlY2lcMjE0ZWQpLTIuOTE5IEUgRjEoam9ic3BlYykyLjkxOSBFIEYwIC0uMSh3YSkyLjkxOSBHIDIuOTE5KHNuKS4xIEcKKyhvdCktMi45MTkgRShmb3VuZCBvciB3KTE0NCAyNjEuNiBRKGFzIHN0YXJ0ZWQgd2l0aG91dCBqb2IgY29udHJvbC4pLS4xCitFIEYyKGJpbmQpMTA4IDI3OC40IFEgRjAoWykyLjUgRSBGMjxhZDZkPkEgRjEgLS4xKGtlKTIuNSBHKHltYXApLS4yIEUgRjAKKzIuNShdWylDIEYyKFwyNTVscHN2UFNWKS0yLjUgRSBGMChdKUEgRjIoYmluZCkxMDggMjkwLjQgUSBGMChbKTIuNSBFIEYyCis8YWQ2ZD5BIEYxIC0uMShrZSkyLjUgRyh5bWFwKS0uMiBFIEYwIDIuNShdWylDIEYyPGFkNzE+LTIuNSBFIEYxCisoZnVuY3Rpb24pMi41IEUgRjAgMi41KF1bKUMgRjI8YWQ3NT4tMi41IEUgRjEoZnVuY3Rpb24pMi41IEUgRjAgMi41KF1bKUMKK0YyPGFkNzI+LTIuNSBFIEYxIC0uMShrZSkyLjUgRyh5c2VxKS0uMiBFIEYwKF0pQSBGMihiaW5kKTEwOCAzMDIuNCBRIEYwCisoWykyLjUgRSBGMjxhZDZkPkEgRjEgLS4xKGtlKTIuNSBHKHltYXApLS4yIEUgRjAoXSlBIEYyPGFkNjY+Mi41IEUgRjEKKyhcMjE0bGVuYW1lKTIuNSBFIEYyKGJpbmQpMTA4IDMxNC40IFEgRjAoWykyLjUgRSBGMjxhZDZkPkEgRjEgLS4xKGtlKTIuNQorRyh5bWFwKS0uMiBFIEYwKF0pQSBGMjxhZDc4PjIuNSBFIEYxIC0uMShrZSkyLjUgRyh5c2VxKS0uMiBFIEYwKDopQSBGMQorKHNoZWxsXDI1NWNvbW1hbmQpQSBGMihiaW5kKTEwOCAzMjYuNCBRIEYwKFspMi41IEUgRjI8YWQ2ZD5BIEYxIC0uMShrZSkKKzIuNSBHKHltYXApLS4yIEUgRjAoXSlBIEYxIC0uMShrZSkyLjUgRyh5c2VxKS0uMiBFIEYwKDopQSBGMQorKGZ1bmN0aW9uXDI1NW5hbWUpQSBGMihiaW5kKTEwOCAzMzguNCBRIEYxIC0uMzcocmUpMi41IEcKKyhhZGxpbmVcMjU1Y29tbWFuZCkuMzcgRSBGMCAuMjM5KERpc3BsYXkgY3VycmVudCkxNDQgMzUwLjQgUiBGMiAtLjE4KHJlKQorMi43MzkgRyhhZGxpbmUpLjE4IEUgRjAgLS4xKGtlKTIuNzM5IEcgMi43MzkoeWEpLS4wNSBHIC4yMzkKKyhuZCBmdW5jdGlvbiBiaW5kaW5ncywgYmluZCBhIGspLTIuNzM5IEYgLjUzOSAtLjE1KGV5IHMpLS4xIEggLjIzOAorKGVxdWVuY2UgdG8gYSkuMTUgRiBGMiAtLjE4KHJlKTIuNzM4IEcoYWRsaW5lKS4xOCBFIEYwIC4yMzgoZnVuY3Rpb24gb3IpCisyLjczOCBGIC40NzUobWFjcm8sIG9yIHNldCBhKTE0NCAzNjIuNCBSIEYyIC0uMTgocmUpMi45NzUgRyhhZGxpbmUpLjE4IEUKK0YwIC0uMjUodmEpMi45NzUgRyAyLjk3NShyaWFibGUuIEVhY2gpLjI1IEYgLjQ3Nihub24tb3B0aW9uIGFyKTIuOTc2IEYKKy40NzYoZ3VtZW50IGlzIGEgY29tbWFuZCBhcyBpdCB3KS0uMTggRiAuNDc2KG91bGQgYXBwZWFyIGluKS0uMSBGIEYxCisoLmlucHV0cikxNDQgMzc0LjQgUShjKS0uMzcgRSBGMCAyLjk4NCgsYikuMzEgRyAuNDg0CisodXQgZWFjaCBiaW5kaW5nIG9yIGNvbW1hbmQgbXVzdCBiZSBwYXNzZWQgYXMgYSBzZXBhcmF0ZSBhciktMy4xODQgRgorLjQ4MyhndW1lbnQ7IGUuZy4sICciXFxDXDI1NXhcXENcMjU1ciI6KS0uMTggRiAyLjUKKyhyZVwyNTVyZWFkXDI1NWluaXRcMjU1XDIxNGxlJy4gT3B0aW9ucywpMTQ0IDM4Ni40IFIoaWYgc3VwcGxpZWQsIGhhKTIuNQorRSAuMyAtLjE1KHZlIHQpLS4yIEgoaGUgZm9sbG8pLjE1IEUod2luZyBtZWFuaW5nczopLS4yNSBFIEYyPGFkNmQ+MTQ0CiszOTguNCBRIEYxIC0uMShrZSkyLjUgRyh5bWFwKS0uMiBFIEYwKFVzZSkxODAgNDEwLjQgUSBGMSAtLjEoa2UpNS4xNTggRworKHltYXApLS4yIEUgRjAgMi42NTgoYXMgdGhlIGspNS4zNDggRiAtLjE1KGV5KS0uMSBHIDIuNjU4KG1hcCB0byBiZSBhZikKKy4xNSBGIDIuNjU5KGZlY3RlZCBieSB0aGUgc3Vic2VxdWVudCBiaW5kaW5ncy4pLS4yNSBGKEFjY2VwdGFibGUpNy42NTkgRQorRjEgLS4xKGtlKTE4MCA0MjIuNCBTKHltYXApLS4yIEUgRjAgMy4xOTMobmFtZXMgYXJlKTUuODgzIEYgRjEgMy4xOTMKKyhlbWFjcywgZW1hY3NcMjU1c3RhbmRhcik1LjY5MyBGIDMuMTkyCisoZCwgZW1hY3NcMjU1bWV0YSwgZW1hY3NcMjU1Y3RseCwgdmksIHZpXDI1NW1vKS0uMzcgRih2ZSktLjEgRSgsKS0uMSBFCisodmlcMjU1Y29tbWFuZCkxODAgNDM0LjQgUSBGMCA0LjQyOSgsYSlDKG5kKS00LjQyOSBFIEYxKHZpXDI1NWluc2VydCkKKzQuNDI5IEUgRjAoLikuNjggRSBGMSh2aSk2LjkyOSBFIEYwIDEuOTI5KGlzIGVxdWkpNC40MjkgRiAtLjI1KHZhKS0uMjUgRworMS45MjkobGVudCB0bykuMjUgRiBGMSh2aVwyNTVjb21tYW5kKTQuNDI5IEUgRjAoOylBIEYxKGVtYWNzKTQuNDI5IEUgRjAKKzEuOTI5KGlzIGVxdWkpNC40MjkgRiAtLjI1KHZhKS0uMjUgRyAxLjkzKGxlbnQgdG8pLjI1IEYgRjEKKyhlbWFjc1wyNTVzdGFuZGFyKTE4MCA0NDYuNCBRKGQpLS4zNyBFIEYwKC4pQSBGMjxhZDZjPjE0NCA0NTguNCBRIEYwCisoTGlzdCB0aGUgbmFtZXMgb2YgYWxsKTI3LjUyIEUgRjIgLS4xOChyZSkyLjUgRyhhZGxpbmUpLjE4IEUgRjAKKyhmdW5jdGlvbnMuKTIuNSBFIEYyPGFkNzA+MTQ0IDQ3MC40IFEgRjAoRGlzcGxheSkyNC43NCBFIEYyIC0uMTgocmUpMi41CitHKGFkbGluZSkuMTggRSBGMChmdW5jdGlvbiBuYW1lcyBhbmQgYmluZGluZ3MgaW4gc3VjaCBhIHcpMi41IEUKKyhheSB0aGF0IHRoZSktLjEgRSAyLjUoeWMpLS4xNSBHKGFuIGJlIHJlLXJlYWQuKS0yLjUgRSBGMjxhZDUwPjE0NCA0ODIuNAorUSBGMChMaXN0IGN1cnJlbnQpMjQuMTkgRSBGMiAtLjE4KHJlKTIuNSBHKGFkbGluZSkuMTggRSBGMAorKGZ1bmN0aW9uIG5hbWVzIGFuZCBiaW5kaW5ncy4pMi41IEUgRjI8YWQ3Mz4xNDQgNDk0LjQgUSBGMChEaXNwbGF5KTI2LjQxCitFIEYyIC0uMTgocmUpMy42NTUgRyhhZGxpbmUpLjE4IEUgRjAgLS4xKGtlKTMuNjU1IEcgMy42NTUoeXMpLS4wNSBHCisxLjE1NShlcXVlbmNlcyBib3VuZCB0byBtYWNyb3MgYW5kIHRoZSBzdHJpbmdzIHRoZSktMy42NTUgRiAzLjY1NSh5bykKKy0uMTUgRyAxLjE1NSh1dHB1dCBpbiBzdWNoIGEpLTMuNjU1IEYgLS4xKHdhKTE4MCA1MDYuNCBTIDIuNSh5dCkuMSBHCisoaGF0IHRoZSktMi41IEUgMi41KHljKS0uMTUgRyhhbiBiZSByZS1yZWFkLiktMi41IEUgRjI8YWQ1Mz4xNDQgNTE4LjQgUQorRjAoRGlzcGxheSkyNC43NCBFIEYyIC0uMTgocmUpMi41IEcoYWRsaW5lKS4xOCBFIEYwIC0uMShrZSkyLjUgRyAyLjUoeXMpCistLjA1IEcoZXF1ZW5jZXMgYm91bmQgdG8gbWFjcm9zIGFuZCB0aGUgc3RyaW5ncyB0aGUpLTIuNSBFIDIuNSh5byktLjE1IEcKKyh1dHB1dC4pLTIuNSBFIEYyPGFkNzY+MTQ0IDUzMC40IFEgRjAoRGlzcGxheSkyNS4zIEUgRjIgLS4xOChyZSkyLjUgRworKGFkbGluZSkuMTggRSBGMCAtLjI1KHZhKTIuNSBHKHJpYWJsZSBuYW1lcyBhbmQgdikuMjUgRQorKGFsdWVzIGluIHN1Y2ggYSB3KS0uMjUgRShheSB0aGF0IHRoZSktLjEgRSAyLjUoeWMpLS4xNSBHCisoYW4gYmUgcmUtcmVhZC4pLTIuNSBFIEYyPGFkNTY+MTQ0IDU0Mi40IFEgRjAoTGlzdCBjdXJyZW50KTIzLjA4IEUgRjIKKy0uMTgocmUpMi41IEcoYWRsaW5lKS4xOCBFIEYwIC0uMjUodmEpMi41IEcocmlhYmxlIG5hbWVzIGFuZCB2KS4yNSBFCisoYWx1ZXMuKS0uMjUgRSBGMjxhZDY2PjE0NCA1NTQuNCBRIEYxKFwyMTRsZW5hbWUpMi41IEUgRjAoUmVhZCBrKTE4MAorNTY2LjQgUSAuMyAtLjE1KGV5IGIpLS4xIEgoaW5kaW5ncyBmcm9tKS4xNSBFIEYxKFwyMTRsZW5hbWUpMi41IEUgRjAoLilBCitGMjxhZDcxPjE0NCA1NzguNCBRIEYxKGZ1bmN0aW9uKTIuNSBFIEYwKFF1ZXJ5IGFib3V0IHdoaWNoIGspMTgwIDU5MC40IFEKKy0uMTUoZXkpLS4xIEcgMi41KHNpKS4xNSBHIC0xLjkgLS40KG52IG8pLTIuNSBIIC4yIC0uMShrZSB0KS40IEgKKyhoZSBuYW1lZCkuMSBFIEYxKGZ1bmN0aW9uKTIuNSBFIEYwKC4pQSBGMjxhZDc1PjE0NCA2MDIuNCBRIEYxKGZ1bmN0aW9uKQorMi41IEUgRjAoVW5iaW5kIGFsbCBrKTE4MCA2MTQuNCBRIC0uMTUoZXkpLS4xIEcgMi41KHNiKS4xNSBHCisob3VuZCB0byB0aGUgbmFtZWQpLTIuNSBFIEYxKGZ1bmN0aW9uKTIuNSBFIEYwKC4pQSBGMjxhZDcyPjE0NCA2MjYuNCBRCitGMSAtLjEoa2UpMi41IEcoeXNlcSktLjIgRSBGMChSZW1vKTE4MCA2MzguNCBRIC4zIC0uMTUodmUgYSktLjE1IEggLjMKKy0uMTUobnkgYykuMTUgSCh1cnJlbnQgYmluZGluZyBmb3IpLjE1IEUgRjEgLS4xKGtlKTIuNSBHKHlzZXEpLS4yIEUgRjAKKyguKUEgRjI8YWQ3OD4xNDQgNjUwLjQgUSBGMSAtLjEoa2UpMi41IEcoeXNlcSktLjIgRSBGMig6KUEgRjEKKyhzaGVsbFwyNTVjb21tYW5kKUEgRjAoQ2F1c2UpMTgwIDY2Mi40IFEgRjEoc2hlbGxcMjU1Y29tbWFuZCk0LjMyNSBFIEYwCisxLjgyNSh0byBiZSBlKTQuMzI1IEYgLS4xNSh4ZSktLjE1IEcgMS44MjUoY3V0ZWQgd2hlbmUpLjE1IEYgLS4xNSh2ZSkKKy0uMjUgRyhyKS4xNSBFIEYxIC0uMShrZSk0LjMyNSBHKHlzZXEpLS4yIEUgRjAgMS44MjUoaXMgZW50ZXJlZC4pNC4zMjUgRgorKFdoZW4pNi44MjUgRSBGMShzaGVsbFwyNTVjb20tKTQuMzI1IEUobWFuZCkxODAgNjc0LjQgUSBGMCAxLjc2NShpcyBlKQorNC4yNjUgRiAtLjE1KHhlKS0uMTUgRyAxLjc2NShjdXRlZCwgdGhlIHNoZWxsIHNldHMgdGhlKS4xNSBGL0YzIDkKKy9UaW1lcy1Cb2xkQDAgU0YoUkVBRExJTkVfTElORSk0LjI2NSBFIEYwIC0uMjUodmEpNC4wMTUgRyAxLjc2NQorKHJpYWJsZSB0byB0aGUgY29udGVudHMgb2YgdGhlKS4yNSBGIEYyIC0uMTgocmUpMTgwIDY4Ni40IFMoYWRsaW5lKS4xOCBFCitGMCAxLjM1MyhsaW5lIGIpMy44NTIgRih1ZiktLjIgRSAxLjM1MyhmZXIgYW5kIHRoZSktLjI1IEYgRjMKKyhSRUFETElORV9QT0lOVCkzLjg1MyBFIEYwIC0uMjUodmEpMy42MDMgRyAxLjM1MworKHJpYWJsZSB0byB0aGUgY3VycmVudCBsb2NhdGlvbiBvZiB0aGUpLjI1IEYgMi4wMTIoaW5zZXJ0aW9uIHBvaW50LikxODAKKzY5OC40IFIgMi4wMTEoSWYgdGhlIGUpNy4wMTIgRiAtLjE1KHhlKS0uMTUgRyAyLjAxMQorKGN1dGVkIGNvbW1hbmQgY2hhbmdlcyB0aGUgdikuMTUgRiAyLjAxMShhbHVlIG9mKS0uMjUgRiBGMworKFJFQURMSU5FX0xJTkUpNC41MTEgRSBGMChvcik0LjI2MSBFIEYzKFJFQURMSU5FX1BPSU5UKTE4MCA3MTAuNCBRL0Y0IDkKKy9UaW1lcy1Sb21hbkAwIFNGKCwpQSBGMCh0aG9zZSBuZSkyLjI1IEUgMi41KHd2KS0uMjUgRworKGFsdWVzIHdpbGwgYmUgcmVcMjE1ZWN0ZWQgaW4gdGhlIGVkaXRpbmcgc3RhdGUuKS0yLjc1IEUoVGhlIHJldHVybiB2KQorMTQ0IDcyNy4yIFEoYWx1ZSBpcyAwIHVubGVzcyBhbiB1bnJlY29nbml6ZWQgb3B0aW9uIGlzIGdpKS0uMjUgRSAtLjE1CisodmUpLS4yNSBHIDIuNShubykuMTUgRyAyLjUocmEpLTIuNSBHIDIuNShuZSktMi41IEcocnJvciBvY2N1cnJlZC4pLTIuNQorRShHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoNDkpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNTAgNTAKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUgLjMxKHJldXNlZCBhcyBpbnB1dC4pMTQ0IDg0IFIoVGhlKTUuMzEgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YKLTxhZDcyPjIuODEgRSBGMCAuMzEob3B0aW9uIHJlbW8pMi44MSBGIC0uMTUodmUpLS4xNSBHIDIuODEoc2FjKS4xNSBHIC4zMQotKG9tcGxldGlvbiBzcGVjaVwyMTRjYXRpb24gZm9yIGVhY2gpLTIuODEgRi9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRgotKG5hbWUpMi44MSBFIEYwIDIuODEoLG8pQyAxLjExIC0uNChyLCBpKS0yLjgxIEggMi44MShmbikuNCBHKG8pLTIuODEgRQotRjIobmFtZSkyLjgxIEUgRjAocylBIDEuMzkyCi0oYXJlIHN1cHBsaWVkLCBhbGwgY29tcGxldGlvbiBzcGVjaVwyMTRjYXRpb25zLikxNDQgOTYgUihUaGUpNi4zOTIgRSBGMQotPGFkNDU+My44OTIgRSBGMCAxLjM5MyhvcHRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIHJlbWFpbmluZyBvcHRpb25zKTMuODkzCi1GIDEuMzA0KGFuZCBhY3Rpb25zIHNob3VsZCBhcHBseSB0byBgKTE0NCAxMDggUihgZW1wdHknKS0uNzQgRSAzLjgwNCgnYykKLS0uNzQgRyAxLjMwNChvbW1hbmQgY29tcGxldGlvbjsgdGhhdCBpcywgY29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYSkKLS0zLjgwNCBGKGJsYW5rIGxpbmUuKTE0NCAxMjAgUSAxLjQzNwotKFRoZSBwcm9jZXNzIG9mIGFwcGx5aW5nIHRoZXNlIGNvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9ucyB3aGVuIHcpMTQ0Ci0xNDQgUiAxLjQzOChvcmQgY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQgaXMpLS4xIEYoZGVzY3JpYmVkIGFibykxNDQgMTU2IFEKLS4zIC0uMTUodmUgdSktLjE1IEgobmRlcikuMTUgRSBGMShQcikyLjUgRShvZ3JhbW1hYmxlIENvbXBsZXRpb24pLS4xOCBFCi1GMCguKUEgLjU1NihPdGhlciBvcHRpb25zLCBpZiBzcGVjaVwyMTRlZCwgaGEpMTQ0IDE4MCBSIC44NTYgLS4xNSh2ZSB0KQotLS4yIEggLjU1NShoZSBmb2xsbykuMTUgRiAuNTU1KHdpbmcgbWVhbmluZ3MuKS0uMjUgRiAuNTU1KFRoZSBhcik1LjU1NSBGCi0uNTU1KGd1bWVudHMgdG8gdGhlKS0uMTggRiBGMTxhZDQ3PjMuMDU1IEUgRjAoLClBIEYxPGFkNTc+My4wNTUgRSBGMAotMy4wNTUoLGEpQyhuZCktMy4wNTUgRSBGMTxhZDU4PjMuMDU1IEUgRjAgLjcyMgotKG9wdGlvbnMgXChhbmQsIGlmIG5lY2Vzc2FyeSkxNDQgMTkyIFIgMy4yMjIoLHQpLS42NSBHKGhlKS0zLjIyMiBFIEYxCi08YWQ1MD4zLjIyMiBFIEYwKGFuZCkzLjIyMiBFIEYxPGFkNTM+My4yMjIgRSBGMCAuNzIzCi0ob3B0aW9uc1wpIHNob3VsZCBiZSBxdW90ZWQgdG8gcHJvdGVjdCB0aGVtIGZyb20gZSkzLjIyMiBGKHhwYW4tKS0uMTUgRQotKHNpb24gYmVmb3JlIHRoZSkxNDQgMjA0IFEgRjEoY29tcGxldGUpMi41IEUgRjAgLS4yKGJ1KTIuNSBHCi0oaWx0aW4gaXMgaW4pLjIgRSAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcoZC4pLjEgRSBGMTxhZDZmPjE0NCAyMTYgUSBGMgotKGNvbXAtb3B0aW9uKTIuNSBFIEYwKFRoZSkxODQgMjI4IFEgRjIoY29tcC1vcHRpb24pMi43OTEgRSBGMCAuMjkxCi0oY29udHJvbHMgc2UpMi43OTEgRiAtLjE1KHZlKS0uMjUgRyAuMjkxKHJhbCBhc3BlY3RzIG9mIHRoZSBjb21wc3BlYycpCi0uMTUgRiAyLjc5MShzYiktLjU1IEcoZWhhKS0yLjc5MSBFIC4yOTEodmlvciBiZSktLjIgRiAuMjkxCi0oeW9uZCB0aGUgc2ltcGxlKS0uMTUgRihnZW5lcmF0aW9uIG9mIGNvbXBsZXRpb25zLikxODQgMjQwIFEgRjIKLShjb21wLW9wdGlvbik1IEUgRjAobWF5IGJlIG9uZSBvZjopMi41IEUgRjEoYmFzaGRlZmF1bHQpMTg0IDI1MiBRIEYwCi0uMjgxKFBlcmZvcm0gdGhlIHJlc3Qgb2YgdGhlIGRlZikyMjQgMjY0IFIoYXVsdCktLjEgRSBGMShiYXNoKTIuNzgxIEUgRjAKLS4yODEoY29tcGxldGlvbnMgaWYgdGhlIGNvbXBzcGVjIGdlbmVyYXRlcyBubykyLjc4MSBGKG1hdGNoZXMuKTIyNCAyNzYgUQotRjEoZGVmYXVsdCkxODQgMjg4IFEgRjAgMi44NzYoVXNlIHJlYWRsaW5lJykxMCBGIDUuMzc2KHNkKS0uNTUgRyhlZikKLS01LjM3NiBFIDIuODc1KGF1bHQgXDIxNGxlbmFtZSBjb21wbGV0aW9uIGlmIHRoZSBjb21wc3BlYyBnZW5lcmF0ZXMgbm8pCi0tLjEgRihtYXRjaGVzLikyMjQgMzAwIFEgRjEoZGlyKTE4NCAzMTIgUShuYW1lcyktLjE1IEUgRjAoUGVyZm9ybSBkaXJlY1wKLXRvcnkgbmFtZSBjb21wbGV0aW9uIGlmIHRoZSBjb21wc3BlYyBnZW5lcmF0ZXMgbm8gbWF0Y2hlcy4pMjI0IDMyNCBRIEYxCi0oXDIxNGxlbmFtZXMpMTg0IDMzNiBRIEYwIC0uNyhUZSkyMjQgMzQ4IFMgLjEzNyhsbCByZWFkbGluZSB0aGF0IHRoZSBjb1wKLW1wc3BlYyBnZW5lcmF0ZXMgXDIxNGxlbmFtZXMsIHNvIGl0IGNhbiBwZXJmb3JtIGFuKS43IEYgMi42Mzc8Nzk4Yz4tLjE1Ci1HKGxlLSktMi42MzcgRSAuMTM0KG5hbWVcMjU1c3BlY2lcMjE0YyBwcm9jZXNzaW5nIFwobGlrKTIyNCAzNjAgUiAyLjYzNAotKGVhKS0uMSBHIC4xMzQoZGRpbmcgYSBzbGFzaCB0byBkaXJlY3RvcnkgbmFtZXMsIHF1b3Rpbmcgc3BlLSktMi42MzQgRgotLjQ1KGNpYWwgY2hhcmFjdGVycywgb3Igc3VwcHJlc3NpbmcgdHJhaWxpbmcgc3BhY2VzXCkuKTIyNCAzNzIgUiAuNDUKLShJbnRlbmRlZCB0byBiZSB1c2VkIHdpdGggc2hlbGwpNS40NSBGKGZ1bmN0aW9ucy4pMjI0IDM4NCBRIEYxKG5vc3BhY2UpCi0xODQgMzk2IFEgRjAgLS43KFRlKTYuMTEgRyAuMjIKLShsbCByZWFkbGluZSBub3QgdG8gYXBwZW5kIGEgc3BhY2UgXCh0aGUgZGVmKS43IEYgLjIyKGF1bHRcKSB0byB3KS0uMSBGCi0uMjIob3JkcyBjb21wbGV0ZWQgYXQgdGhlIGVuZCktLjEgRihvZiB0aGUgbGluZS4pMjI0IDQwOCBRIEYxKHBsdXNkaXJzKQotMTg0IDQyMCBRIEYwIDEuOTg1KEFmdGVyIGFuKTUuNTQgRiA0LjQ4NSh5bSktLjE1IEcgMS45ODUKLShhdGNoZXMgZGVcMjE0bmVkIGJ5IHRoZSBjb21wc3BlYyBhcmUgZ2VuZXJhdGVkLCBkaXJlY3RvcnkgbmFtZSktNC40ODUgRgotLjU4NChjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCBhbmQgYW4pMjI0IDQzMiBSIDMuMDg0KHltKS0uMTUgRyAuNTg0Ci0oYXRjaGVzIGFyZSBhZGRlZCB0byB0aGUgcmVzdWx0cyBvZiB0aGUgb3RoZXIpLTMuMDg0IEYoYWN0aW9ucy4pMjI0IDQ0NAotUSBGMTxhZDQxPjE0NCA0NTYgUSBGMihhY3Rpb24pMi41IEUgRjAoVGhlKTE4NCA0NjggUSBGMihhY3Rpb24pMi41IEUgRjAKLShtYXkgYmUgb25lIG9mIHRoZSBmb2xsbykyLjUgRQotKHdpbmcgdG8gZ2VuZXJhdGUgYSBsaXN0IG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zOiktLjI1IEUgRjEoYWxpYXMpMTg0Ci00ODAgUSBGMChBbGlhcyBuYW1lcy4pMjAuNTUgRShNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ2MT4yLjUKLUUgRjAoLilBIEYxKGFycmF5dikxODQgNDkyIFEoYXIpLS4xIEUgRjAoQXJyYXkgdikyMjQgNTA0IFEKLShhcmlhYmxlIG5hbWVzLiktLjI1IEUgRjEgNC43KGJpbmRpbmcgUmVhZGxpbmUpMTg0IDUxNiBSIEYwIC0uMShrZSkyLjUgRwotMi41KHliKS0uMDUgRyhpbmRpbmcgbmFtZXMuKS0yLjUgRSBGMSAtLjIoYnUpMTg0IDUyOCBTKGlsdGluKS4yIEUgRjAKLShOYW1lcyBvZiBzaGVsbCBiKTExLjg1IEUodWlsdGluIGNvbW1hbmRzLiktLjIgRQotKE1heSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTUgRSBGMTxhZDYyPjIuNSBFIEYwKC4pQSBGMShjb21tYW5kKTE4NCA1NDAKLVEgRjAoQ29tbWFuZCBuYW1lcy4pMjI0IDU1MiBRKE1heSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTUgRSBGMTxhZDYzPjIuNQotRSBGMCguKUEgRjEoZGlyKTE4NCA1NjQgUShlY3RvcnkpLS4xOCBFIEYwKERpcmVjdG9yeSBuYW1lcy4pMjI0IDU3NiBRCi0oTWF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpNSBFIEYxPGFkNjQ+Mi41IEUgRjAoLilBIEYxKGRpc2FibGVkKTE4NCA1ODgKLVEgRjAoTmFtZXMgb2YgZGlzYWJsZWQgc2hlbGwgYikyMjQgNjAwIFEodWlsdGlucy4pLS4yIEUgRjEoZW5hYmxlZCkxODQKLTYxMiBRIEYwKE5hbWVzIG9mIGVuYWJsZWQgc2hlbGwgYik2LjY2IEUodWlsdGlucy4pLS4yIEUgRjEoZXhwb3J0KTE4NAotNjI0IFEgRjAoTmFtZXMgb2YgZSkxMi4yMyBFKHhwb3J0ZWQgc2hlbGwgdiktLjE1IEUgMi41KGFyaWFibGVzLiBNYXkpCi0tLjI1IEYoYWxzbyBiZSBzcGVjaVwyMTRlZCBhcykyLjUgRSBGMTxhZDY1PjIuNSBFIEYwKC4pQSBGMShcMjE0bGUpMTg0Ci02MzYgUSBGMChGaWxlIG5hbWVzLikyNy4yMiBFKE1heSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTUgRSBGMTxhZDY2PjIuNQotRSBGMCguKUEgRjEoZnVuY3Rpb24pMTg0IDY0OCBRIEYwKE5hbWVzIG9mIHNoZWxsIGZ1bmN0aW9ucy4pMjI0IDY2MCBRIEYxCi0oZ3IpMTg0IDY3MiBRKG91cCktLjE4IEUgRjAoR3JvdXAgbmFtZXMuKTE0LjYyIEUKLShNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ2Nz4yLjUgRSBGMCguKUEgRjEoaGVscHRvcGljKTE4NAotNjg0IFEgRjAoSGVscCB0b3BpY3MgYXMgYWNjZXB0ZWQgYnkgdGhlKTIyNCA2OTYgUSBGMShoZWxwKTIuNSBFIEYwIC0uMgotKGJ1KTIuNSBHKGlsdGluLikuMiBFKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUoNTApCi0xOTAuOTUgRSAwIENnIEVQCistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGJyKTEwOCA4NCBRKGVhayktLjE4IEUgRjAoWykyLjUgRS9GMiAxMAorL1RpbWVzLUl0YWxpY0AwIFNGKG4pQSBGMChdKUEgLjA1NChFeGl0IGZyb20gd2l0aGluIGEpMTQ0IDk2IFIgRjEgLS4yNQorKGZvKTIuNTU0IEcocikuMjUgRSBGMCgsKUEgRjEod2hpbGUpMi41NTQgRSBGMCgsKUEgRjEodW50aWwpMi41NTUgRSBGMAorMi41NTUoLG8pQyhyKS0yLjU1NSBFIEYxKHNlbGVjdCkyLjU1NSBFIEYwIDIuNTU1KGxvb3AuIElmKTIuNTU1IEYgRjIobikKKzIuNTU1IEUgRjAgLjA1NShpcyBzcGVjaVwyMTRlZCwgYnJlYWspMi41NTUgRiBGMihuKTIuNTU1IEUgRjAobGUpMi41NTUgRQorLS4xNSh2ZSktLjI1IEcobHMuKS4xNSBFIEYyKG4pNS40MTUgRSBGMCAuMDU1KG11c3QgYmUpMi43OTUgRi9GMyAxMAorL1N5bWJvbCBTRjxiMz4yLjU1NSBFIEYwKDEuKTIuNTU1IEUoSWYpMTQ0IDEwOCBRIEYyKG4pMy4wNzUgRSBGMCAuMjE1KGlcCitzIGdyZWF0ZXIgdGhhbiB0aGUgbnVtYmVyIG9mIGVuY2xvc2luZyBsb29wcywgYWxsIGVuY2xvc2luZyBsb29wcyBhcmUgZSkKKzIuOTU1IEYgMi43MTQoeGl0ZWQuIFRoZSktLjE1IEYgLjIxNChyZXR1cm4gdikyLjcxNCBGKGFsdWUpLS4yNSBFCisoaXMgMCB1bmxlc3MpMTQ0IDEyMCBRIEYyKG4pMi41IEUgRjAoaXMgbm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLikKKzIuNSBFIEYxIC0uMihidSkxMDggMTM2LjggUyhpbHRpbikuMiBFIEYyKHNoZWxsXDI1NWIpMi41IEUodWlsdGluKS0uMiBFCitGMChbKTIuNSBFIEYyKGFyKUEoZ3VtZW50cyktLjM3IEUgRjAoXSlBKEV4KTE0NCAxNDguOCBRIC43OTIKKyhlY3V0ZSB0aGUgc3BlY2lcMjE0ZWQgc2hlbGwgYiktLjE1IEYgLjc5Mih1aWx0aW4sIHBhc3NpbmcgaXQpLS4yIEYgRjIKKyhhcikzLjI5MyBFKGd1bWVudHMpLS4zNyBFIEYwIDMuMjkzKCxhKS4yNyBHIC43OTMobmQgcmV0dXJuIGl0cyBlKS0zLjI5MworRiAuNzkzKHhpdCBzdGF0dXMuKS0uMTUgRiAuNzkzKFRoaXMgaXMgdXNlZnVsKTUuNzkzIEYgLjYxNgorKHdoZW4gZGVcMjE0bmluZyBhIGZ1bmN0aW9uIHdob3NlIG5hbWUgaXMgdGhlIHNhbWUgYXMgYSBzaGVsbCBiKTE0NAorMTYwLjggUiAuNjE1KHVpbHRpbiwgcmV0YWluaW5nIHRoZSBmdW5jdGlvbmFsaXR5IG9mKS0uMiBGIC41Nyh0aGUgYikxNDQKKzE3Mi44IFIgLjU3KHVpbHRpbiB3aXRoaW4gdGhlIGZ1bmN0aW9uLiktLjIgRihUaGUpNS41NyBFIEYxKGNkKTMuMDcgRSBGMAorLS4yKGJ1KTMuMDcgRyAuNTcoaWx0aW4gaXMgY29tbW9ubHkgcmVkZVwyMTRuZWQgdGhpcyB3KS4yIEYoYXkpLS4xIEUKKzUuNTcoLlQpLS42NSBHIC41NyhoZSByZXR1cm4gc3RhdHVzKS01LjU3IEYoaXMgZikxNDQgMTg0LjggUShhbHNlIGlmKS0uMQorRSBGMihzaGVsbFwyNTViKTIuODQgRSh1aWx0aW4pLS4yIEUgRjAoaXMgbm90IGEgc2hlbGwgYikyLjc0IEUKKyh1aWx0aW4gY29tbWFuZC4pLS4yIEUgRjEoY2FsbGVyKTEwOCAyMDEuNiBRIEYwKFspMi41IEUgRjIgLS4yKGV4KUMocHIpCisuMiBFIEYwKF0pQSAuMjU0KFJldHVybnMgdGhlIGNvbnRlKTE0NCAyMTMuNiBSIC4yNTQoeHQgb2YgYW4pLS4xNSBGCisyLjc1NCh5YSktLjE1IEcoY3RpKS0yLjc1NCBFIC41NTQgLS4xNSh2ZSBzKS0uMjUgSCAuMjU0CisodWJyb3V0aW5lIGNhbGwgXChhIHNoZWxsIGZ1bmN0aW9uIG9yIGEgc2NyaXB0IGUpLjE1IEYgLS4xNSh4ZSktLjE1IEcKKy4yNTQoY3V0ZWQgd2l0aCB0aGUpLjE1IEYgRjEoLikyLjc1MyBFIEYwKG9yKTIuNzUzIEUgRjEoc291cikxNDQgMjI1LjYgUQorKGNlKS0uMTggRSBGMCAtLjIoYnUpMy4wNjIgRyAzLjA2MihpbHRpbnMuIFcpLjIgRihpdGhvdXQpLS40IEUgRjIgLS4yCisoZXgpMy4wNjIgRyhwcikuMiBFIEYwKCwpQSBGMShjYWxsZXIpMy4wNjIgRSBGMCAuNTYyCisoZGlzcGxheXMgdGhlIGxpbmUgbnVtYmVyIGFuZCBzb3VyY2UgXDIxNGxlbmFtZSBvZiB0aGUgY3VycmVudCkzLjA2MiBGCisuMjU0KHN1YnJvdXRpbmUgY2FsbC4pMTQ0IDIzNy42IFIgLjI1NChJZiBhIG5vbi1uZSk1LjI1NCBGIC0uMDUoZ2EpLS4xNQorRyh0aSkuMDUgRSAuNTU0IC0uMTUodmUgaSktLjI1IEgobnRlKS4xNSBFIC4yNTMoZ2VyIGlzIHN1cHBsaWVkIGFzKS0uMTUKK0YgRjIgLS4yKGV4KTIuNzUzIEcocHIpLjIgRSBGMCgsKUEgRjEoY2FsbGVyKTIuNzUzIEUgRjAgLjI1MworKGRpc3BsYXlzIHRoZSBsaW5lIG51bWJlcikyLjc1MyBGIDIuNzUzKCxzKS0uNCBHKHViLSktMi43NTMgRSAxLjMyNyhyb3VcCit0aW5lIG5hbWUsIGFuZCBzb3VyY2UgXDIxNGxlIGNvcnJlc3BvbmRpbmcgdG8gdGhhdCBwb3NpdGlvbiBpbiB0aGUgY3VyclwKK2VudCBlKTE0NCAyNDkuNiBSIC0uMTUoeGUpLS4xNSBHIDEuMzI4KGN1dGlvbiBjYWxsIHN0YWNrLikuMTUgRiAuMDAxCisoVGhpcyBlKTE0NCAyNjEuNiBSIC4wMDEoeHRyYSBpbmZvcm1hdGlvbiBtYXkgYmUgdXNlZCwgZm9yIGUpLS4xNSBGIC4wMDEKKyh4YW1wbGUsIHRvIHByaW50IGEgc3RhY2sgdHJhY2UuKS0uMTUgRihUaGUgY3VycmVudCBmcmFtZSBpcyBmcmFtZSk1IEUKKzMuMDE5KDAuIFRoZSkxNDQgMjczLjYgUiAuNTE5KHJldHVybiB2KTMuMDE5IEYgLjUxOQorKGFsdWUgaXMgMCB1bmxlc3MgdGhlIHNoZWxsIGlzIG5vdCBlKS0uMjUgRiAtLjE1KHhlKS0uMTUgRyAuNTIKKyhjdXRpbmcgYSBzdWJyb3V0aW5lIGNhbGwgb3IpLjE1IEYgRjIgLS4yKGV4KTMuMDIgRyhwcikuMiBFIEYwIC41MgorKGRvZXMgbm90IGNvcnJlLSkzLjAyIEYoc3BvbmQgdG8gYSB2KTE0NCAyODUuNiBRCisoYWxpZCBwb3NpdGlvbiBpbiB0aGUgY2FsbCBzdGFjay4pLS4yNSBFIEYxKGNkKTEwOCAzMDIuNCBRIEYwKFspMi41IEUgRjEKKyhcMjU1THwtUClBIEYwIDIuNShdWylDIEYyKGRpciktMi41IEUgRjAoXSlBIC4yMQorKENoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkgdG8pMTQ0IDMxNC40IFIgRjIoZGlyKTIuNzEgRSBGMCA1LjIxKC5UKUMKKy4yMShoZSB2KS01LjIxIEYoYXJpYWJsZSktLjI1IEUvRjQgOS9UaW1lcy1Cb2xkQDAgU0YoSE9NRSkyLjcxIEUgRjAgLjIxCisoaXMgdGhlIGRlZikyLjQ2IEYoYXVsdCktLjEgRSBGMihkaXIpMi43MSBFIEYwIDUuMjEoLlQpLjczIEcgLjIxKGhlIHYpCistNS4yMSBGKGFyaWFibGUpLS4yNSBFIEY0KENEUCkyLjcxIEUgLS44NTUoQVQpLS42NjYgRyhIKS44NTUgRSBGMCAuNzc2CisoZGVcMjE0bmVzIHRoZSBzZWFyY2ggcGF0aCBmb3IgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nKTE0NCAzMjYuNCBSIEYyCisoZGlyKTMuMjc2IEUgRjAgNS43NzcoLkEpLjczIEcobHRlcm5hdGkpLTUuNzc3IEUgMS4wNzcgLS4xNSh2ZSBkKS0uMjUgSAorLjc3NyhpcmVjdG9yeSBuYW1lcyBpbikuMTUgRiBGNChDRFApMy4yNzcgRSAtLjg1NShBVCktLjY2NiBHKEgpLjg1NSBFIEYwCisuNzY0KGFyZSBzZXBhcmF0ZWQgYnkgYSBjb2xvbiBcKDpcKS4pMTQ0IDMzOC40IFIgMy4yNjQoQW4pNS43NjQgRyAuNzY0CisodWxsIGRpcmVjdG9yeSBuYW1lIGluKS0zLjI2NCBGIEY0KENEUCkzLjI2NCBFIC0uODU1KEFUKS0uNjY2IEcoSCkuODU1IEUKK0YwIC43NjQoaXMgdGhlIHNhbWUgYXMgdGhlIGN1cnJlbnQgZGlyZWMtKTMuMDE0IEYodG9yeSkxNDQgMzUwLjQgUSAyLjk3MworKCxpKS0uNjUgRyAuNDczKC5lLiwgYCktMi45NzMgRihgKS0uNzQgRSBGMSguKUEgRjAgLS43NCgnJylDIDUuNDczKC5JKQorLjc0IEcoZiktNS40NzMgRSBGMihkaXIpMy4zMjMgRSBGMChiZSkzLjcwMyBFIC40NzQKKyhnaW5zIHdpdGggYSBzbGFzaCBcKC9cKSwgdGhlbiktLjE1IEYgRjQoQ0RQKTIuOTc0IEUgLS44NTUoQVQpLS42NjYgRyhIKQorLjg1NSBFIEYwIC40NzQoaXMgbm90IHVzZWQuIFRoZSkyLjcyNCBGIEYxPGFkNTA+Mi45NzQgRSBGMCAuNDc0Cisob3B0aW9uIHNheXMgdG8gdXNlKTIuOTc0IEYgLjU4KHRoZSBwaCkxNDQgMzYyLjQgUiAuNTgKKyh5c2ljYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSBpbnN0ZWFkIG9mIGZvbGxvKS0uMDUgRiAuNTc5Cisod2luZyBzeW1ib2xpYyBsaW5rcyBcKHNlZSBhbHNvIHRoZSktLjI1IEYgRjE8YWQ1MD4zLjA3OSBFIEYwIC41NzkKKyhvcHRpb24gdG8gdGhlKTMuMDc5IEYgRjEoc2V0KTE0NCAzNzQuNCBRIEYwIC0uMihidSkzLjM4MyBHIC44ODMKKyhpbHRpbiBjb21tYW5kXCk7IHRoZSkuMiBGIEYxPGFkNGM+My4zODMgRSBGMCAuODg0Cisob3B0aW9uIGZvcmNlcyBzeW1ib2xpYyBsaW5rcyB0byBiZSBmb2xsbykzLjM4NCBGIDMuMzg0KHdlZC4gQW4pLS4yNSBGCisoYXIpMy4zODQgRSAuODg0KGd1bWVudCBvZiktLjE4IEYgRjE8YWQ+My4zODQgRSBGMChpcykzLjM4NCBFKGVxdWkpMTQ0CiszODYuNCBRIC0uMjUodmEpLS4yNSBHIC4zMTYobGVudCB0bykuMjUgRiBGNCgkT0xEUFdEKTIuODE2IEUvRjUgOQorL1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIC4zMTYoSWYgYSBub24tZW1wdHkgZGlyZWN0b3J5IG5hbWUgZnJvbSk0LjgxNiBGCitGNChDRFApMi44MTUgRSAtLjg1NShBVCktLjY2NiBHKEgpLjg1NSBFIEYwIC4zMTUoaXMgdXNlZCwgb3IgaWYpMi41NjUgRgorRjE8YWQ+Mi44MTUgRSBGMCAuMzE1KGlzIHRoZSBcMjE0cnN0KTIuODE1IEYoYXIpMTQ0IDM5OC40IFEgLjExNihndW1lbnRcCissIGFuZCB0aGUgZGlyZWN0b3J5IGNoYW5nZSBpcyBzdWNjZXNzZnVsLCB0aGUgYWJzb2x1dGUgcGF0aG5hbWUgb2YgdGhlIFwKK25lKS0uMTggRiAyLjYxNih3dyktLjI1IEcgLjExNihvcmtpbmcgZGlyZWMtKS0yLjcxNiBGIDEuMTY1CisodG9yeSBpcyB3cml0dGVuIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuKTE0NCA0MTAuNCBSIDEuMTY0KFRoZSByZXR1cm4gdikKKzYuMTY0IEYgMS4xNjQoYWx1ZSBpcyB0cnVlIGlmIHRoZSBkaXJlY3RvcnkgdyktLjI1IEYgMS4xNjQKKyhhcyBzdWNjZXNzZnVsbHkpLS4xIEYoY2hhbmdlZDsgZikxNDQgNDIyLjQgUShhbHNlIG90aGVyd2lzZS4pLS4xIEUgRjEKKyhjb21tYW5kKTEwOCA0MzkuMiBRIEYwKFspMi41IEUgRjEoXDI1NXBWdilBIEYwKF0pQSBGMihjb21tYW5kKTIuNSBFIEYwCisoWykyLjUgRSBGMihhcilBKGcpLS4zNyBFIEYwKC4uLl0pMi41IEUoUnVuKTE0NCA0NTEuMiBRIEYyKGNvbW1hbmQpMi45NTYKK0UgRjAod2l0aCkzLjUyNyBFIEYyKGFyKTMuMDg3IEUoZ3MpLS4zNyBFIEYwIC4yNTcKKyhzdXBwcmVzc2luZyB0aGUgbm9ybWFsIHNoZWxsIGZ1bmN0aW9uIGxvb2t1cC4gT25seSBiKTMuMDI3IEYgLjI1NworKHVpbHRpbiBjb21tYW5kcyBvciktLjIgRiAuNTAyKGNvbW1hbmRzIGZvdW5kIGluIHRoZSkxNDQgNDYzLjIgUiBGNAorLS42NjYoUEEpMy4wMDIgRyhUSCktLjE4OSBFIEYwIC41MDIoYXJlIGUpMi43NTIgRiAtLjE1KHhlKS0uMTUgRyAzLjAwMgorKGN1dGVkLiBJZikuMTUgRih0aGUpMy4wMDIgRSBGMTxhZDcwPjMuMDAyIEUgRjAgLjUwMihvcHRpb24gaXMgZ2kpMy4wMDIKK0YgLS4xNSh2ZSktLjI1IEcgLjUwMShuLCB0aGUgc2VhcmNoIGZvcikuMTUgRiBGMihjb21tYW5kKTMuMjAxIEUgRjAoaXMpCiszLjc3MSBFIC4zOTkocGVyZm9ybWVkIHVzaW5nIGEgZGVmKTE0NCA0NzUuMiBSIC4zOTkoYXVsdCB2KS0uMSBGIC4zOTkKKyhhbHVlIGZvciktLjI1IEYgRjQgLS42NjYoUEEpMi44OTkgRyhUSCktLjE4OSBFIEYwIC40CisodGhhdCBpcyBndWFyYW50ZWVkIHRvIFwyMTRuZCBhbGwgb2YgdGhlIHN0YW5kYXJkIHV0aWxpdGllcy4pMi42NDkgRihJZikKKzUuNCBFIC4xNzUoZWl0aGVyIHRoZSkxNDQgNDg3LjIgUiBGMTxhZDU2PjIuNjc1IEUgRjAob3IpMi42NzUgRSBGMTxhZDc2PgorMi42NzUgRSBGMCAuMTc1KG9wdGlvbiBpcyBzdXBwbGllZCwgYSBkZXNjcmlwdGlvbiBvZikyLjY3NSBGIEYyKGNvbW1hbmQpCisyLjg3NSBFIEYwIC4xNzQoaXMgcHJpbnRlZC4pMy40NDUgRihUaGUpNS4xNzQgRSBGMTxhZDc2PjIuNjc0IEUgRjAgLjE3NAorKG9wdGlvbiBjYXVzZXMpMi42NzQgRiAzLjExKGFzKTE0NCA0OTkuMiBTIC42MShpbmdsZSB3KS0zLjExIEYgLjYxCisob3JkIGluZGljYXRpbmcgdGhlIGNvbW1hbmQgb3IgXDIxNGxlIG5hbWUgdXNlZCB0byBpbiktLjEgRiAtLjIodm8pLS40IEcKKy0uMShrZSkuMiBHIEYyKGNvbW1hbmQpMy40MSBFIEYwIC42MSh0byBiZSBkaXNwbGF5ZWQ7IHRoZSkzLjg4IEYgRjEKKzxhZDU2PjE0NCA1MTEuMiBRIEYwIC4yNShvcHRpb24gcHJvZHVjZXMgYSBtb3JlIHYpMi43NSBGIC4yNQorKGVyYm9zZSBkZXNjcmlwdGlvbi4pLS4xNSBGIC4yNDkoSWYgdGhlKTUuMjUgRiBGMTxhZDU2PjIuNzQ5IEUgRjAob3IpCisyLjc0OSBFIEYxPGFkNzY+Mi43NDkgRSBGMCAuMjQ5KG9wdGlvbiBpcyBzdXBwbGllZCwgdGhlIGUpMi43NDkgRiAuMjQ5CisoeGl0IHN0YXR1cyktLjE1IEYgMS4wMDQoaXMgMCBpZikxNDQgNTIzLjIgUiBGMihjb21tYW5kKTMuNzA0IEUgRjAgLS4xCisod2EpNC4yNzQgRyAzLjUwNChzZikuMSBHIDEuMDA1KG91bmQsIGFuZCAxIGlmIG5vdC4pLTMuNTA0IEYgMS4wMDUKKyhJZiBuZWl0aGVyIG9wdGlvbiBpcyBzdXBwbGllZCBhbmQgYW4gZXJyb3Igb2NjdXJyZWQgb3IpNi4wMDUgRiBGMgorKGNvbW1hbmQpMTQ0LjIgNTM1LjIgUSBGMCAxLjU5OShjYW5ub3QgYmUgZm91bmQsIHRoZSBlKTQuODY5IEYgMS41OTkKKyh4aXQgc3RhdHVzIGlzIDEyNy4pLS4xNSBGIDEuNTk5KE90aGVyd2lzZSwgdGhlIGUpNi41OTkgRiAxLjU5OAorKHhpdCBzdGF0dXMgb2YgdGhlKS0uMTUgRiBGMShjb21tYW5kKTQuMDk4IEUgRjAgLS4yKGJ1KTE0NCA1NDcuMiBTCisoaWx0aW4gaXMgdGhlIGUpLjIgRSh4aXQgc3RhdHVzIG9mKS0uMTUgRSBGMihjb21tYW5kKTIuNSBFIEYwKC4pLjc3IEUgRjEKKyhjb21wZ2VuKTEwOCA1NjQgUSBGMChbKTIuNSBFIEYyKG9wdGlvbilBIEYwIDIuNShdWylDIEYyKHdvciktMi41IEUoZCkKKy0uMzcgRSBGMChdKUEgLjAxMihHZW5lcmF0ZSBwb3NzaWJsZSBjb21wbGV0aW9uIG1hdGNoZXMgZm9yKTE0NCA1NzYgUiBGMgorKHdvcikyLjUxMyBFKGQpLS4zNyBFIEYwIC4wMTMoYWNjb3JkaW5nIHRvIHRoZSkyLjUxMyBGIEYyKG9wdGlvbikyLjUxMyBFCitGMCAuMDEzKHMsIHdoaWNoIG1heSBiZSBhbilCIDIuNTEzKHlvKS0uMTUgRyhwdGlvbiktMi41MTMgRSAuOTgyCisoYWNjZXB0ZWQgYnkgdGhlKTE0NCA1ODggUiBGMShjb21wbGV0ZSkzLjQ4MiBFIEYwIC0uMihidSkzLjQ4MSBHIC45ODEKKyhpbHRpbiB3aXRoIHRoZSBlKS4yIEYgLjk4MSh4Y2VwdGlvbiBvZiktLjE1IEYgRjE8YWQ3MD4zLjQ4MSBFIEYwKGFuZCkKKzMuNDgxIEUgRjE8YWQ3Mj4zLjQ4MSBFIEYwIDMuNDgxKCxhKUMgLjk4MShuZCB3cml0ZSB0aGUgbWF0Y2hlcyB0byB0aGUpCistMy40ODEgRiAxLjQxNShzdGFuZGFyZCBvdXRwdXQuKTE0NCA2MDAgUiAxLjQxNShXaGVuIHVzaW5nIHRoZSk2LjQxNSBGCitGMTxhZDQ2PjMuOTE1IEUgRjAob3IpMy45MTUgRSBGMTxhZDQzPjMuOTE1IEUgRjAgMS40MTUob3B0aW9ucywgdGhlIHYpCiszLjkxNSBGIDEuNDE1KGFyaW91cyBzaGVsbCB2KS0uMjUgRiAxLjQxNShhcmlhYmxlcyBzZXQgYnkgdGhlIHByby0pLS4yNQorRihncmFtbWFibGUgY29tcGxldGlvbiBmKTE0NCA2MTIgUShhY2lsaXRpZXMsIHdoaWxlIGEpLS4xIEUgLS4yNSh2YSktLjIKK0coaWxhYmxlLCB3aWxsIG5vdCBoYSkuMjUgRSAuMyAtLjE1KHZlIHUpLS4yIEgoc2VmdWwgdikuMTUgRShhbHVlcy4pLS4yNQorRSAuMzUyKFRoZSBtYXRjaGVzIHdpbGwgYmUgZ2VuZXJhdGVkIGluIHRoZSBzYW1lIHcpMTQ0IDYzNiBSIC4zNTIKKyhheSBhcyBpZiB0aGUgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gY29kZSBoYWQgZ2VuLSktLjEgRiAuMDIoZXJhdGVkIHRoXAorZW0gZGlyZWN0bHkgZnJvbSBhIGNvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9uIHdpdGggdGhlIHNhbWUgXDIxNWFncy4pMTQ0Cis2NDggUihJZik1LjAyIEUgRjIod29yKTIuNTIgRShkKS0uMzcgRSBGMCAuMDIoaXMgc3BlY2lcMjE0ZWQsIG9ubHkpMi41MgorRih0aG9zZSBjb21wbGV0aW9ucyBtYXRjaGluZykxNDQgNjYwIFEgRjIod29yKTIuNSBFKGQpLS4zNyBFIEYwCisod2lsbCBiZSBkaXNwbGF5ZWQuKTIuNSBFKFRoZSByZXR1cm4gdikxNDQgNjg0IFEKKyhhbHVlIGlzIHRydWUgdW5sZXNzIGFuIGluKS0uMjUgRSAtLjI1KHZhKS0uNCBHCisobGlkIG9wdGlvbiBpcyBzdXBwbGllZCwgb3Igbm8gbWF0Y2hlcyB3ZXJlIGdlbmVyYXRlZC4pLjI1IEUgRjEKKyhjb21wbGV0ZSkxMDggNzAwLjggUSBGMChbKTMuNzI5IEUgRjEoXDI1NWFiY2RlZmdqa3N1dilBIEYwIDMuNzI5KF1bKUMKK0YxPGFkNmY+LTMuNzI5IEUgRjIoY29tcC1vcHRpb24pMy43MjkgRSBGMCAzLjcyOShdWylDIEYxKFwyNTVERSktMy43MjkgRQorRjAgMy43MjgoXVspQyBGMTxhZDQxPi0zLjcyOCBFIEYyKGFjdGlvbikzLjcyOCBFIEYwIDMuNzI4KF1bKUMgRjE8YWQ0Nz4KKy0zLjcyOCBFIEYyKGdsb2JwYXQpMy43MjggRSBGMCAzLjcyOChdWylDIEYxPGFkNTc+LTMuNzI4IEUgRjIod29yKTMuNzI4CitFKGRsaXN0KS0uMzcgRSBGMCAzLjcyOChdWylDIEYxPGFkNDY+LTMuNzI4IEUgRjIoZnVuYy0pMy43MjggRSh0aW9uKTEwOAorNzEyLjggUSBGMCAyLjUoXVspQyBGMTxhZDQzPi0yLjUgRSBGMihjb21tYW5kKTIuNSBFIEYwKF0pQShbKTE0NCA3MjQuOCBRCitGMTxhZDU4PkEgRjIoXDIxNGx0ZXJwYXQpMi41IEUgRjAgMi41KF1bKUMgRjE8YWQ1MD4tMi41IEUgRjIocHIpMi41IEUKKyhlXDIxNHgpLS4zNyBFIEYwIDIuNShdWylDIEYxPGFkNTM+LTIuNSBFIEYyKHN1ZikyLjUgRTw4Yzc4Pi0uMTggRSBGMChdKQorQSBGMihuYW1lKTIuNSBFIEYwKFspMi41IEUgRjIobmFtZSAuLi4pQSBGMChdKUEoR05VIEJhc2gtNC4xKTcyIDc2OCBRCisoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoNTApMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNTEgNTEKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGhvc3RuYW1lKTE4NCA4NCBRIEYwKEhvc3RuYW1lcywgYXMgdGFrKTIyNAotOTYgUShlbiBmcm9tIHRoZSBcMjE0bGUgc3BlY2lcMjE0ZWQgYnkgdGhlKS0uMSBFL0YyIDkvVGltZXMtQm9sZEAwIFNGCi0oSE9TVEZJTEUpMi41IEUgRjAoc2hlbGwgdikyLjI1IEUoYXJpYWJsZS4pLS4yNSBFIEYxKGpvYikxODQgMTA4IFEgRjAKLShKb2IgbmFtZXMsIGlmIGpvYiBjb250cm9sIGlzIGFjdGkpMjYuMTEgRSAtLjE1KHZlKS0uMjUgRyA1KC5NKS4xNSBHCi0oYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyktNSBFIEYxPGFkNmE+Mi41IEUgRjAoLilBIEYxIC0uMShrZSkxODQgMTIwIFMKLSh5dykuMSBFKG9yZCktLjEgRSBGMChTaGVsbCByZXNlcnYpMjI0IDEzMiBRKGVkIHcpLS4xNSBFIDIuNShvcmRzLiBNYXkpCi0tLjEgRihhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTIuNSBFIEYxPGFkNmI+Mi41IEUgRjAoLilBIEYxKHJ1bm5pbmcpMTg0Ci0xNDQgUSBGMChOYW1lcyBvZiBydW5uaW5nIGpvYnMsIGlmIGpvYiBjb250cm9sIGlzIGFjdGkpNS41NCBFIC0uMTUodmUpCi0tLjI1IEcoLikuMTUgRSBGMShzZXIpMTg0IDE1NiBRKHZpY2UpLS4xIEUgRjAoU2VydmljZSBuYW1lcy4pMTAuNjcgRQotKE1heSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTUgRSBGMTxhZDczPjIuNSBFIEYwKC4pQSBGMShzZXRvcHQpMTg0IDE2OCBRCi1GMCAtMS4xMShWYSkxNC40NSBHKGxpZCBhcikxLjExIEUoZ3VtZW50cyBmb3IgdGhlKS0uMTggRSBGMTxhZDZmPjIuNSBFCi1GMChvcHRpb24gdG8gdGhlKTIuNSBFIEYxKHNldCkyLjUgRSBGMCAtLjIoYnUpMi41IEcoaWx0aW4uKS4yIEUgRjEKLShzaG9wdCkxODQgMTgwIFEgRjAoU2hlbGwgb3B0aW9uIG5hbWVzIGFzIGFjY2VwdGVkIGJ5IHRoZSkxNi42NiBFIEYxCi0oc2hvcHQpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluLikuMiBFIEYxKHNpZ25hbCkxODQgMTkyIFEgRjAKLShTaWduYWwgbmFtZXMuKTE0Ljk5IEUgRjEoc3RvcHBlZCkxODQgMjA0IFEgRjAKLShOYW1lcyBvZiBzdG9wcGVkIGpvYnMsIGlmIGpvYiBjb250cm9sIGlzIGFjdGkpNi42NiBFIC0uMTUodmUpLS4yNSBHKC4pCi0uMTUgRSBGMSh1c2VyKTE4NCAyMTYgUSBGMChVc2VyIG5hbWVzLikyMS42NyBFCi0oTWF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpNSBFIEYxPGFkNzU+Mi41IEUgRjAoLilBIEYxIC0uMSh2YSkxODQgMjI4IFMKLShyaWFibGUpLjEgRSBGMChOYW1lcyBvZiBhbGwgc2hlbGwgdik1LjEgRSAyLjUoYXJpYWJsZXMuIE1heSktLjI1IEYKLShhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTIuNSBFIEYxPGFkNzY+Mi41IEUgRjAoLilBIEYxPGFkNDc+MTQ0IDI0MCBRL0YzCi0xMC9UaW1lcy1JdGFsaWNAMCBTRihnbG9icGF0KTIuNSBFIEYwIDEuNDEoVGhlIFwyMTRsZW5hbWUgZSkxODQgMjUyIFIKLTEuNDExKHhwYW5zaW9uIHBhdHRlcm4pLS4xNSBGIEYzKGdsb2JwYXQpMy45MTEgRSBGMCAxLjQxMShpcyBlKTMuOTExIEYKLTEuNDExKHhwYW5kZWQgdG8gZ2VuZXJhdGUgdGhlIHBvc3NpYmxlIGNvbXBsZS0pLS4xNSBGKHRpb25zLikxODQgMjY0IFEKLUYxPGFkNTc+MTQ0IDI3NiBRIEYzKHdvcikyLjUgRShkbGlzdCktLjM3IEUgRjAoVGhlKTE4NCAyODggUSBGMyh3b3IpMy42NAotRShkbGlzdCktLjM3IEUgRjAgMS4xNChpcyBzcGxpdCB1c2luZyB0aGUgY2hhcmFjdGVycyBpbiB0aGUpMy42NCBGIEYyCi0oSUZTKTMuNjQgRSBGMCAxLjEzOShzcGVjaWFsIHYpMy4zOSBGIDEuMTM5KGFyaWFibGUgYXMgZGVsaW1pdGVycywgYW5kKQotLS4yNSBGIDIuMDA3KGVhY2ggcmVzdWx0YW50IHcpMTg0IDMwMCBSIDIuMDA3KG9yZCBpcyBlKS0uMSBGIDQuNTA3Ci0oeHBhbmRlZC4gVGhlKS0uMTUgRiAyLjAwOChwb3NzaWJsZSBjb21wbGV0aW9ucyBhcmUgdGhlIG1lbWJlcnMgb2YgdGhlKQotNC41MDcgRihyZXN1bHRhbnQgbGlzdCB3aGljaCBtYXRjaCB0aGUgdykxODQgMzEyIFEob3JkIGJlaW5nIGNvbXBsZXRlZC4pCi0tLjEgRSBGMTxhZDQzPjE0NCAzMjQgUSBGMyhjb21tYW5kKTIuNSBFKGNvbW1hbmQpMTg0IDMzNiBRIEYwIDEuMDU2Ci0oaXMgZSkzLjU1NiBGIC0uMTUoeGUpLS4xNSBHIDEuMDU2KGN1dGVkIGluIGEgc3Vic2hlbGwgZW4pLjE1IEYgMS4wNTYKLSh2aXJvbm1lbnQsIGFuZCBpdHMgb3V0cHV0IGlzIHVzZWQgYXMgdGhlIHBvc3NpYmxlKS0uNCBGKGNvbXBsZXRpb25zLikKLTE4NCAzNDggUSBGMTxhZDQ2PjE0NCAzNjAgUSBGMyhmdW5jdGlvbikyLjUgRSBGMCAxLjE4Ci0oVGhlIHNoZWxsIGZ1bmN0aW9uKTE4NCAzNzIgUiBGMyhmdW5jdGlvbikzLjY4IEUgRjAgMS4xODEoaXMgZSkzLjY4MSBGCi0tLjE1KHhlKS0uMTUgRyAxLjE4MShjdXRlZCBpbiB0aGUgY3VycmVudCBzaGVsbCBlbikuMTUgRiAzLjY4MQotKHZpcm9ubWVudC4gV2hlbiktLjQgRiAxLjE4MShpdCBcMjE0bi0pMy42ODEgRiAuOTMyCi0oaXNoZXMsIHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBhcmUgcmV0cmllKTE4NCAzODQgUiAtLjE1KHZlKS0uMjUgRwotMy40MzIoZGYpLjE1IEcgLjkzMihyb20gdGhlIHYpLTMuNDMyIEYgLjkzMihhbHVlIG9mIHRoZSktLjI1IEYgRjIKLShDT01QUkVQTCkzLjQzMSBFKFkpLS44MjggRSBGMChhcnJheSkzLjE4MSBFIC0uMjUodmEpMTg0IDM5NiBTKHJpYWJsZS4pCi0uMjUgRSBGMTxhZDU4PjE0NCA0MDggUSBGMyhcMjE0bHRlcnBhdCkyLjUgRShcMjE0bHRlcnBhdCkxODQgNDIwIFEgRjAKLS43MzMoaXMgYSBwYXR0ZXJuIGFzIHVzZWQgZm9yIFwyMTRsZW5hbWUgZSkzLjIzMyBGIDMuMjMzKHhwYW5zaW9uLiBJdCkKLS0uMTUgRiAuNzMzKGlzIGFwcGxpZWQgdG8gdGhlIGxpc3Qgb2YgcG9zc2libGUpMy4yMzMgRiAxLjU5NgotKGNvbXBsZXRpb25zIGdlbmVyYXRlZCBieSB0aGUgcHJlY2VkaW5nIG9wdGlvbnMgYW5kIGFyKTE4NCA0MzIgUiAxLjU5NgotKGd1bWVudHMsIGFuZCBlYWNoIGNvbXBsZXRpb24pLS4xOCBGKG1hdGNoaW5nKTE4NCA0NDQgUSBGMyhcMjE0bHRlcnBhdCkKLTMuMjA0IEUgRjAgLjcwNChpcyByZW1vKTMuMjA0IEYgLS4xNSh2ZSktLjE1IEcgMy4yMDQoZGYpLjE1IEcgLjcwNAotKHJvbSB0aGUgbGlzdC4pLTMuMjA0IEYgMy4yMDQoQWwpNS43MDQgRyhlYWRpbmcpLTMuMjA0IEUgRjEoISkzLjIwNCBFIEYwCi0oaW4pMy4yMDQgRSBGMyhcMjE0bHRlcnBhdCkzLjIwNSBFIEYwKG5lKTMuMjA1IEUgLS4wNShnYSktLjE1IEcgLjcwNQotKHRlcyB0aGUgcGF0dGVybjspLjA1IEYoaW4gdGhpcyBjYXNlLCBhbikxODQgNDU2IFEgMi41KHljKS0uMTUgRwotKG9tcGxldGlvbiBub3QgbWF0Y2hpbmcpLTIuNSBFIEYzKFwyMTRsdGVycGF0KTIuNSBFIEYwKGlzIHJlbW8pMi41IEUKLS0uMTUodmUpLS4xNSBHKGQuKS4xNSBFIEYxPGFkNTA+MTQ0IDQ2OCBRIEYzKHByKTIuNSBFKGVcMjE0eCktLjM3IEUocHIpCi0xODQgNDgwIFEoZVwyMTR4KS0uMzcgRSBGMCAuNTM1KGlzIGFkZGVkIGF0IHRoZSBiZSkzLjAzNSBGIC41MzQKLShnaW5uaW5nIG9mIGVhY2ggcG9zc2libGUgY29tcGxldGlvbiBhZnRlciBhbGwgb3RoZXIgb3B0aW9ucyBoYSktLjE1IEYKLS0uMTUodmUpLS4yIEcoYmVlbiBhcHBsaWVkLikxODQgNDkyIFEgRjE8YWQ1Mz4xNDQgNTA0IFEgRjMoc3VmKTIuNSBFCi0yLjgxKFwyMTR4IHN1ZiktLjE4IEY8OGM3OD4tLjE4IEUgRjAKLShpcyBhcHBlbmRlZCB0byBlYWNoIHBvc3NpYmxlIGNvbXBsZXRpb24gYWZ0ZXIgYWxsIG90aGVyIG9wdGlvbnMgaGEpMi41Ci1FIC4zIC0uMTUodmUgYiktLjIgSChlZW4gYXBwbGllZC4pLjE1IEUgLjQ2NihUaGUgcmV0dXJuIHYpMTQ0IDUyMC44IFIKLS40NjYoYWx1ZSBpcyB0cnVlIHVubGVzcyBhbiBpbiktLjI1IEYgLS4yNSh2YSktLjQgRyAuNDY2Ci0obGlkIG9wdGlvbiBpcyBzdXBwbGllZCwgYW4gb3B0aW9uIG90aGVyIHRoYW4pLjI1IEYgRjE8YWQ3MD4yLjk2NyBFIEYwCi0ob3IpMi45NjcgRSBGMTxhZDcyPjIuOTY3IEUgRjAgLjQ2NyhpcyBzdXAtKTIuOTY3IEYgMS4zNjIKLShwbGllZCB3aXRob3V0IGEpMTQ0IDUzMi44IFIgRjMobmFtZSkzLjg2MiBFIEYwKGFyKTMuODYyIEUgMS4zNjEKLShndW1lbnQsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byByZW1vKS0uMTggRiAxLjY2MSAtLjE1KHZlIGEgYyktLjE1IEgKLTEuMzYxKG9tcGxldGlvbiBzcGVjaVwyMTRjYXRpb24gZm9yIGEpLjE1IEYgRjMobmFtZSkxNDQgNTQ0LjggUSBGMAotKGZvciB3aGljaCBubyBzcGVjaVwyMTRjYXRpb24gZSkyLjUgRQotKHhpc3RzLCBvciBhbiBlcnJvciBvY2N1cnMgYWRkaW5nIGEgY29tcGxldGlvbiBzcGVjaVwyMTRjYXRpb24uKS0uMTUgRQotRjEoY29tcG9wdCkxMDggNTYxLjYgUSBGMChbKTIuNSBFIEYxPGFkNmY+QSBGMyhvcHRpb24pMi41IEUgRjAgMi41KF1bKUMKLUYxKCtvKS0yLjUgRSBGMyhvcHRpb24pMi41IEUgRjAgMi41KF1bKUMgRjMobmFtZSktMi41IEUgRjAoXSlBIC40NDcKLShNb2RpZnkgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoKTE0NCA1NzMuNiBSIEYzKG5hbWUpMi45NDcgRSBGMCAuNDQ3Ci0oYWNjb3JkaW5nIHRvIHRoZSkyLjk0NyBGIEYzKG9wdGlvbikyLjk0NyBFIEYwIC40NDcKLShzLCBvciBmb3IgdGhlIGN1cnJlbnRseS1lKUIgLS4xNSh4ZSktLjE1IEcoY3V0aW9uKS4xNSBFIC43MjYKLShjb21wbGV0aW9uIGlmIG5vKTE0NCA1ODUuNiBSIEYzKG5hbWUpMy4yMjYgRSBGMCAzLjIyNihzYSlDIC43MjYKLShyZSBzdXBwbGllZC4pLTMuMjI2IEYgLjcyNShJZiBubyk1LjcyNSBGIEYzKG9wdGlvbikzLjIyNSBFIEYwIDMuMjI1KHNhKQotQyAuNzI1KHJlIGdpKS0zLjIyNSBGIC0uMTUodmUpLS4yNSBHIC43MjUKLShuLCBkaXNwbGF5IHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yKS4xNSBGKGVhY2gpMTQ0IDU5Ny42IFEgRjMobmFtZSkKLTMuMjIzIEUgRjAgLjcyMyhvciB0aGUgY3VycmVudCBjb21wbGV0aW9uLikzLjIyMyBGIC43MjQoVGhlIHBvc3NpYmxlIHYpCi01LjcyNCBGIC43MjQoYWx1ZXMgb2YpLS4yNSBGIEYzKG9wdGlvbikzLjIyNCBFIEYwIC43MjQoYXJlIHRob3NlIHYpMy4yMjQKLUYgLjcyNChhbGlkIGZvciB0aGUpLS4yNSBGIEYxKGNvbS0pMy4yMjQgRShwbGV0ZSkxNDQgNjA5LjYgUSBGMCAtLjIoYnUpCi0yLjUgRyhpbHRpbiBkZXNjcmliZWQgYWJvKS4yIEUgLS4xNSh2ZSktLjE1IEcoLikuMTUgRSAuMzI3KFRoZSByZXR1cm4gdikKLTEwOCA2MjYuNCBSIC4zMjcoYWx1ZSBpcyB0cnVlIHVubGVzcyBhbiBpbiktLjI1IEYgLS4yNSh2YSktLjQgRyAuMzI3Ci0obGlkIG9wdGlvbiBpcyBzdXBwbGllZCwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIG1vZGlmeSB0aGUgb3B0aW9ucyBmb3IgYSkKLS4yNSBGIEYzKG5hbWUpMTA4IDYzOC40IFEgRjAoZm9yIHdoaWNoIG5vIGNvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9uIGUpCi0yLjUgRSh4aXN0cywgb3IgYW4gb3V0cHV0IGVycm9yIG9jY3Vycy4pLS4xNSBFIEYxKGNvbnRpbnVlKTEwOCA2NTUuMiBRCi1GMChbKTIuNSBFIEYzKG4pQSBGMChdKUEgMS43NTMoUmVzdW1lIHRoZSBuZSkxNDQgNjY3LjIgUiAxLjc1MwotKHh0IGl0ZXJhdGlvbiBvZiB0aGUgZW5jbG9zaW5nKS0uMTUgRiBGMSAtLjI1KGZvKTQuMjU0IEcocikuMjUgRSBGMCgsKUEKLUYxKHdoaWxlKTQuMjU0IEUgRjAoLClBIEYxKHVudGlsKTQuMjU0IEUgRjAgNC4yNTQoLG8pQyhyKS00LjI1NCBFIEYxCi0oc2VsZWN0KTQuMjU0IEUgRjAgNC4yNTQobG9vcC4gSWYpNC4yNTQgRiBGMyhuKTQuNjE0IEUgRjAgMS43NTQKLShpcyBzcGVjaVwyMTRlZCwpNC40OTQgRiAxLjIwOShyZXN1bWUgYXQgdGhlKTE0NCA2NzkuMiBSIEYzKG4pMy43MDkgRSBGMAotMS4yMDkodGggZW5jbG9zaW5nIGxvb3AuKUIgRjMobik2LjU2OSBFIEYwIDEuMjA5KG11c3QgYmUpMy45NDkgRi9GNCAxMAotL1N5bWJvbCBTRjxiMz4zLjcwOSBFIEYwIDMuNzA5KDEuIElmKTMuNzA5IEYgRjMobik0LjA2OSBFIEYwIDEuMjA5Ci0oaXMgZ3JlYXRlciB0aGFuIHRoZSBudW1iZXIgb2YgZW5jbG9zaW5nKTMuOTQ5IEYgLjUxMwotKGxvb3BzLCB0aGUgbGFzdCBlbmNsb3NpbmcgbG9vcCBcKHRoZSBgKTE0NCA2OTEuMiBSKGB0b3AtbGUpLS43NCBFIC0uMTUKLSh2ZSktLjI1IEcobCcpLjE1IEUgMy4wMTMoJ2wpLS43NCBHIC41MTMob29wXCkgaXMgcmVzdW1lZC4pLTMuMDEzIEYgLjUxNAotKFRoZSByZXR1cm4gdik1LjUxNCBGIC41MTQoYWx1ZSBpcyAwIHVubGVzcyktLjI1IEYgRjMobikzLjAxNCBFIEYwKGlzKQotMy4wMTQgRShub3QgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuKTE0NCA3MDMuMiBRKEdOVSBCYXNoLTQuMCk3MiA3NjgKLVEoMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFKDUxKTE5MC45NSBFIDAgQ2cgRVAKKy0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoY29tcGxldGUgXDI1NXByKTEwOCA4NCBRIEYwKFspMi41IEUgRjEKKyhcMjU1REUpQSBGMCAyLjUoXVspQy9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihuYW1lKS0yLjUgRSBGMCguLi5dKTIuNSBFCisuNjM0KFNwZWNpZnkgaG8pMTQ0IDk2IFIgMy4xMzQod2EpLS4yNSBHIC0uMTgocmcpLTMuMTM0IEcgLjYzNAorKHVtZW50cyB0byBlYWNoKS4xOCBGIEYyKG5hbWUpMy4xMzQgRSBGMCAuNjM0KHNob3VsZCBiZSBjb21wbGV0ZWQuKTMuMTM0CitGIC42MzMoSWYgdGhlKTUuNjM0IEYgRjE8YWQ3MD4zLjEzMyBFIEYwIC42MzMKKyhvcHRpb24gaXMgc3VwcGxpZWQsIG9yIGlmIG5vKTMuMTMzIEYgLjEzOShvcHRpb25zIGFyZSBzdXBwbGllZCwgZSkxNDQKKzEwOCBSIC4xMzkoeGlzdGluZyBjb21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbnMgYXJlIHByaW50ZWQgaW4gYSB3KS0uMTUgRgorLjE0KGF5IHRoYXQgYWxsbyktLjEgRiAuMTQod3MgdGhlbSB0byBiZSktLjI1IEYgLjMxKHJldXNlZCBhcyBpbnB1dC4pMTQ0CisxMjAgUihUaGUpNS4zMSBFIEYxPGFkNzI+Mi44MSBFIEYwIC4zMShvcHRpb24gcmVtbykyLjgxIEYgLS4xNSh2ZSktLjE1IEcKKzIuODEoc2FjKS4xNSBHIC4zMShvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9uIGZvciBlYWNoKS0yLjgxIEYgRjIobmFtZSkKKzIuODEgRSBGMCAyLjgxKCxvKUMgMS4xMSAtLjQociwgaSktMi44MSBIIDIuODEoZm4pLjQgRyhvKS0yLjgxIEUgRjIKKyhuYW1lKTIuODEgRSBGMChzKUEgMS4zNDYKKyhhcmUgc3VwcGxpZWQsIGFsbCBjb21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbnMuKTE0NCAxMzIgUihUaGUpNi4zNDcgRSBGMQorPGFkNDQ+My44NDcgRSBGMCAxLjM0NyhvcHRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIHJlbWFpbmluZyBvcHRpb25zKTMuODQ3CitGIC41KGFuZCBhY3Rpb25zIHNob3VsZCBhcHBseSB0byB0aGUgYCkxNDQgMTQ0IFIoYGRlZiktLjc0IEUoYXVsdCcpLS4xIEUKKzMoJ2MpLS43NCBHIC41KG9tbWFuZCBjb21wbGV0aW9uOyB0aGF0IGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiktMyBGCiszLjQ1NShhYykxNDQgMTU2IFMgLjk1NShvbW1hbmQgZm9yIHdoaWNoIG5vIGNvbXBsZXRpb24gaGFzIHByZSktMy40NTUgRgorLjk1NSh2aW91c2x5IGJlZW4gZGVcMjE0bmVkLiktLjI1IEYoVGhlKTUuOTU1IEUgRjE8YWQ0NT4zLjQ1NSBFIEYwIC45NTUKKyhvcHRpb24gaW5kaWNhdGVzIHRoYXQpMy40NTUgRiAuMDY1CisodGhlIHJlbWFpbmluZyBvcHRpb25zIGFuZCBhY3Rpb25zIHNob3VsZCBhcHBseSB0byBgKTE0NCAxNjggUihgZW1wdHknKQorLS43NCBFIDIuNTY0KCdjKS0uNzQgRyAuMDY0KG9tbWFuZCBjb21wbGV0aW9uOyB0aGF0IGlzLCBjb21wbGUtKS0yLjU2NCBGCisodGlvbiBhdHRlbXB0ZWQgb24gYSBibGFuayBsaW5lLikxNDQgMTgwIFEgMS40MzcKKyhUaGUgcHJvY2VzcyBvZiBhcHBseWluZyB0aGVzZSBjb21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbnMgd2hlbiB3KTE0NAorMjA0IFIgMS40Mzgob3JkIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkIGlzKS0uMSBGKGRlc2NyaWJlZCBhYm8pMTQ0IDIxNiBRCisuMyAtLjE1KHZlIHUpLS4xNSBIKG5kZXIpLjE1IEUgRjEoUHIpMi41IEUob2dyYW1tYWJsZSBDb21wbGV0aW9uKS0uMTggRQorRjAoLilBIC41NTYoT3RoZXIgb3B0aW9ucywgaWYgc3BlY2lcMjE0ZWQsIGhhKTE0NCAyNDAgUiAuODU2IC0uMTUodmUgdCkKKy0uMiBIIC41NTUoaGUgZm9sbG8pLjE1IEYgLjU1NSh3aW5nIG1lYW5pbmdzLiktLjI1IEYgLjU1NShUaGUgYXIpNS41NTUgRgorLjU1NShndW1lbnRzIHRvIHRoZSktLjE4IEYgRjE8YWQ0Nz4zLjA1NSBFIEYwKCwpQSBGMTxhZDU3PjMuMDU1IEUgRjAKKzMuMDU1KCxhKUMobmQpLTMuMDU1IEUgRjE8YWQ1OD4zLjA1NSBFIEYwIC43MjIKKyhvcHRpb25zIFwoYW5kLCBpZiBuZWNlc3NhcnkpMTQ0IDI1MiBSIDMuMjIyKCx0KS0uNjUgRyhoZSktMy4yMjIgRSBGMQorPGFkNTA+My4yMjIgRSBGMChhbmQpMy4yMjIgRSBGMTxhZDUzPjMuMjIyIEUgRjAgLjcyMworKG9wdGlvbnNcKSBzaG91bGQgYmUgcXVvdGVkIHRvIHByb3RlY3QgdGhlbSBmcm9tIGUpMy4yMjIgRih4cGFuLSktLjE1IEUKKyhzaW9uIGJlZm9yZSB0aGUpMTQ0IDI2NCBRIEYxKGNvbXBsZXRlKTIuNSBFIEYwIC0uMihidSkyLjUgRworKGlsdGluIGlzIGluKS4yIEUgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHKGQuKS4xIEUgRjE8YWQ2Zj4xNDQgMjc2IFEgRjIKKyhjb21wLW9wdGlvbikyLjUgRSBGMChUaGUpMTg0IDI4OCBRIEYyKGNvbXAtb3B0aW9uKTIuNzkxIEUgRjAgLjI5MQorKGNvbnRyb2xzIHNlKTIuNzkxIEYgLS4xNSh2ZSktLjI1IEcgLjI5MShyYWwgYXNwZWN0cyBvZiB0aGUgY29tcHNwZWMnKQorLjE1IEYgMi43OTEoc2IpLS41NSBHKGVoYSktMi43OTEgRSAuMjkxKHZpb3IgYmUpLS4yIEYgLjI5MQorKHlvbmQgdGhlIHNpbXBsZSktLjE1IEYoZ2VuZXJhdGlvbiBvZiBjb21wbGV0aW9ucy4pMTg0IDMwMCBRIEYyCisoY29tcC1vcHRpb24pNSBFIEYwKG1heSBiZSBvbmUgb2Y6KTIuNSBFIEYxKGJhc2hkZWZhdWx0KTE4NCAzMTIgUSBGMAorLjI4MShQZXJmb3JtIHRoZSByZXN0IG9mIHRoZSBkZWYpMjI0IDMyNCBSKGF1bHQpLS4xIEUgRjEoYmFzaCkyLjc4MSBFIEYwCisuMjgxKGNvbXBsZXRpb25zIGlmIHRoZSBjb21wc3BlYyBnZW5lcmF0ZXMgbm8pMi43ODEgRihtYXRjaGVzLikyMjQgMzM2IFEKK0YxKGRlZmF1bHQpMTg0IDM0OCBRIEYwIDIuODc2KFVzZSByZWFkbGluZScpMTAgRiA1LjM3NihzZCktLjU1IEcoZWYpCistNS4zNzYgRSAyLjg3NShhdWx0IFwyMTRsZW5hbWUgY29tcGxldGlvbiBpZiB0aGUgY29tcHNwZWMgZ2VuZXJhdGVzIG5vKQorLS4xIEYobWF0Y2hlcy4pMjI0IDM2MCBRIEYxKGRpcikxODQgMzcyIFEobmFtZXMpLS4xNSBFIEYwKFBlcmZvcm0gZGlyZWNcCit0b3J5IG5hbWUgY29tcGxldGlvbiBpZiB0aGUgY29tcHNwZWMgZ2VuZXJhdGVzIG5vIG1hdGNoZXMuKTIyNCAzODQgUSBGMQorKFwyMTRsZW5hbWVzKTE4NCAzOTYgUSBGMCAtLjcoVGUpMjI0IDQwOCBTIC4xMzcobGwgcmVhZGxpbmUgdGhhdCB0aGUgY29cCittcHNwZWMgZ2VuZXJhdGVzIFwyMTRsZW5hbWVzLCBzbyBpdCBjYW4gcGVyZm9ybSBhbikuNyBGIDIuNjM3PDc5OGM+LS4xNQorRyhsZS0pLTIuNjM3IEUgLjEzNChuYW1lXDI1NXNwZWNpXDIxNGMgcHJvY2Vzc2luZyBcKGxpaykyMjQgNDIwIFIgMi42MzQKKyhlYSktLjEgRyAuMTM0KGRkaW5nIGEgc2xhc2ggdG8gZGlyZWN0b3J5IG5hbWVzLCBxdW90aW5nIHNwZS0pLTIuNjM0IEYKKy40NShjaWFsIGNoYXJhY3RlcnMsIG9yIHN1cHByZXNzaW5nIHRyYWlsaW5nIHNwYWNlc1wpLikyMjQgNDMyIFIgLjQ1CisoSW50ZW5kZWQgdG8gYmUgdXNlZCB3aXRoIHNoZWxsKTUuNDUgRihmdW5jdGlvbnMuKTIyNCA0NDQgUSBGMShub3NwYWNlKQorMTg0IDQ1NiBRIEYwIC0uNyhUZSk2LjExIEcgLjIyCisobGwgcmVhZGxpbmUgbm90IHRvIGFwcGVuZCBhIHNwYWNlIFwodGhlIGRlZikuNyBGIC4yMihhdWx0XCkgdG8gdyktLjEgRgorLjIyKG9yZHMgY29tcGxldGVkIGF0IHRoZSBlbmQpLS4xIEYob2YgdGhlIGxpbmUuKTIyNCA0NjggUSBGMShwbHVzZGlycykKKzE4NCA0ODAgUSBGMCAxLjk4NShBZnRlciBhbik1LjU0IEYgNC40ODUoeW0pLS4xNSBHIDEuOTg1CisoYXRjaGVzIGRlXDIxNG5lZCBieSB0aGUgY29tcHNwZWMgYXJlIGdlbmVyYXRlZCwgZGlyZWN0b3J5IG5hbWUpLTQuNDg1IEYKKy41ODQoY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQgYW5kIGFuKTIyNCA0OTIgUiAzLjA4NCh5bSktLjE1IEcgLjU4NAorKGF0Y2hlcyBhcmUgYWRkZWQgdG8gdGhlIHJlc3VsdHMgb2YgdGhlIG90aGVyKS0zLjA4NCBGKGFjdGlvbnMuKTIyNCA1MDQKK1EgRjE8YWQ0MT4xNDQgNTE2IFEgRjIoYWN0aW9uKTIuNSBFIEYwKFRoZSkxODQgNTI4IFEgRjIoYWN0aW9uKTIuNSBFIEYwCisobWF5IGJlIG9uZSBvZiB0aGUgZm9sbG8pMi41IEUKKyh3aW5nIHRvIGdlbmVyYXRlIGEgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9uczopLS4yNSBFIEYxKGFsaWFzKTE4NAorNTQwIFEgRjAoQWxpYXMgbmFtZXMuKTIwLjU1IEUoTWF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpNSBFIEYxPGFkNjE+Mi41CitFIEYwKC4pQSBGMShhcnJheXYpMTg0IDU1MiBRKGFyKS0uMSBFIEYwKEFycmF5IHYpMjI0IDU2NCBRCisoYXJpYWJsZSBuYW1lcy4pLS4yNSBFIEYxIDQuNyhiaW5kaW5nIFJlYWRsaW5lKTE4NCA1NzYgUiBGMCAtLjEoa2UpMi41IEcKKzIuNSh5YiktLjA1IEcoaW5kaW5nIG5hbWVzLiktMi41IEUgRjEgLS4yKGJ1KTE4NCA1ODggUyhpbHRpbikuMiBFIEYwCisoTmFtZXMgb2Ygc2hlbGwgYikxMS44NSBFKHVpbHRpbiBjb21tYW5kcy4pLS4yIEUKKyhNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ2Mj4yLjUgRSBGMCguKUEgRjEoY29tbWFuZCkxODQgNjAwCitRIEYwKENvbW1hbmQgbmFtZXMuKTIyNCA2MTIgUShNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ2Mz4yLjUKK0UgRjAoLilBIEYxKGRpcikxODQgNjI0IFEoZWN0b3J5KS0uMTggRSBGMChEaXJlY3RvcnkgbmFtZXMuKTIyNCA2MzYgUQorKE1heSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTUgRSBGMTxhZDY0PjIuNSBFIEYwKC4pQSBGMShkaXNhYmxlZCkxODQgNjQ4CitRIEYwKE5hbWVzIG9mIGRpc2FibGVkIHNoZWxsIGIpMjI0IDY2MCBRKHVpbHRpbnMuKS0uMiBFIEYxKGVuYWJsZWQpMTg0Cis2NzIgUSBGMChOYW1lcyBvZiBlbmFibGVkIHNoZWxsIGIpNi42NiBFKHVpbHRpbnMuKS0uMiBFIEYxKGV4cG9ydCkxODQKKzY4NCBRIEYwKE5hbWVzIG9mIGUpMTIuMjMgRSh4cG9ydGVkIHNoZWxsIHYpLS4xNSBFIDIuNShhcmlhYmxlcy4gTWF5KQorLS4yNSBGKGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpMi41IEUgRjE8YWQ2NT4yLjUgRSBGMCguKUEgRjEoXDIxNGxlKTE4NAorNjk2IFEgRjAoRmlsZSBuYW1lcy4pMjcuMjIgRShNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ2Nj4yLjUKK0UgRjAoLilBKEdOVSBCYXNoLTQuMSk3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg1MSkxODUuOTU1IEUgMAorQ2cgRVAKICUlUGFnZTogNTIgNTIKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGRlY2xhcikxMDggODQgUShlKS0uMTggRSBGMChbKTIuNSBFIEYxCi0oXDI1NWFBZkZpbHJ0dXgpQSBGMCAyLjUoXVspQyBGMTxhZDcwPi0yLjUgRSBGMCAyLjUoXVspQy9GMiAxMAotL1RpbWVzLUl0YWxpY0AwIFNGKG5hbWUpLTIuNSBFIEYwKFs9KUEgRjIodmFsdWUpQSBGMCAyLjUoXS4pQyguLl0pLTIuNSBFCi1GMSh0eXBlc2V0KTEwOCA5NiBRIEYwKFspMi41IEUgRjEoXDI1NWFBZkZpbHJ0dXgpQSBGMCAyLjUoXVspQyBGMTxhZDcwPgotLTIuNSBFIEYwIDIuNShdWylDIEYyKG5hbWUpLTIuNSBFIEYwKFs9KUEgRjIodmFsdWUpQSBGMCAyLjUoXS4pQyguLl0pCi0tMi41IEUgMS4yNjUoRGVjbGFyZSB2KTE0NCAxMDggUiAxLjI2NShhcmlhYmxlcyBhbmQvb3IgZ2kpLS4yNSBGIDEuNTY1Ci0tLjE1KHZlIHQpLS4yNSBIIDEuMjY1KGhlbSBhdHRyaWIpLjE1IEYgMy43NjUodXRlcy4gSWYpLS4yIEYobm8pMy43NjUgRQotRjIobmFtZSkzLjc2NSBFIEYwIDMuNzY1KHNhKUMgMS4yNjUocmUgZ2kpLTMuNzY1IEYgLS4xNSh2ZSktLjI1IEcgMy43NjQKLShudCkuMTUgRyAxLjI2NChoZW4gZGlzcGxheSB0aGUgdiktMy43NjQgRiAxLjI2NChhbHVlcyBvZiktLjI1IEYgLS4yNQotKHZhKTE0NCAxMjAgUyAzLjQ4MihyaWFibGVzLiBUaGUpLjI1IEYgRjE8YWQ3MD4zLjQ4MiBFIEYwIC45ODIKLShvcHRpb24gd2lsbCBkaXNwbGF5IHRoZSBhdHRyaWIpMy40ODIgRiAuOTgyKHV0ZXMgYW5kIHYpLS4yIEYgLjk4MwotKGFsdWVzIG9mIGVhY2gpLS4yNSBGIEYyKG5hbWUpMy40ODMgRSBGMCA1Ljk4MyguVykuMTggRyhoZW4pLTUuOTgzIEUgRjEKLTxhZDcwPjMuNDgzIEUgRjAgLjk4MyhpcyB1c2VkKTMuNDgzIEYod2l0aCkxNDQgMTMyIFEgRjIobmFtZSkzLjU4IEUgRjAKLShhcikzLjU4IEUgMS4wNzkoZ3VtZW50cywgYWRkaXRpb25hbCBvcHRpb25zIGFyZSBpZ25vcmVkLiktLjE4IEYoV2hlbikKLTYuMDc5IEUgRjE8YWQ3MD4zLjU3OSBFIEYwIDEuMDc5KGlzIHN1cHBsaWVkIHdpdGhvdXQpMy41NzkgRiBGMihuYW1lKQotMy41NzkgRSBGMChhcikzLjU3OSBFKGd1LSktLjE4IEUgLjE1KG1lbnRzLCBpdCB3aWxsIGRpc3BsYXkgdGhlIGF0dHJpYikKLTE0NCAxNDQgUiAuMTUodXRlcyBhbmQgdiktLjIgRiAuMTUxKGFsdWVzIG9mIGFsbCB2KS0uMjUgRiAuMTUxCi0oYXJpYWJsZXMgaGEpLS4yNSBGIC4xNTEodmluZyB0aGUgYXR0cmliKS0uMiBGIC4xNTEKLSh1dGVzIHNwZWNpXDIxNGVkIGJ5IHRoZSktLjIgRiAuMDQ3KGFkZGl0aW9uYWwgb3B0aW9ucy4pMTQ0IDE1NiBSIC4wNDcKLShJZiBubyBvdGhlciBvcHRpb25zIGFyZSBzdXBwbGllZCB3aXRoKTUuMDQ3IEYgRjE8YWQ3MD4yLjU0NyBFIEYwKCwpQSBGMQotKGRlY2xhcikyLjU0NyBFKGUpLS4xOCBFIEYwIC4wNDYod2lsbCBkaXNwbGF5IHRoZSBhdHRyaWIpMi41NDYgRiAuMDQ2Ci0odXRlcyBhbmQpLS4yIEYgLS4yNSh2YSkxNDQgMTY4IFMgMS4zNjIobHVlcyBvZiBhbGwgc2hlbGwgdikuMjUgRiAzLjg2MgotKGFyaWFibGVzLiBUaGUpLS4yNSBGIEYxPGFkNjY+My44NjIgRSBGMCAxLjM2MwotKG9wdGlvbiB3aWxsIHJlc3RyaWN0IHRoZSBkaXNwbGF5IHRvIHNoZWxsIGZ1bmN0aW9ucy4pMy44NjIgRihUaGUpNi4zNjMKLUUgRjE8YWQ0Nj4zLjg2MyBFIEYwIDIuNDIyKG9wdGlvbiBpbmhpYml0cyB0aGUgZGlzcGxheSBvZiBmdW5jdGlvbiBkZVwKLVwyMTRuaXRpb25zOyBvbmx5IHRoZSBmdW5jdGlvbiBuYW1lIGFuZCBhdHRyaWIpMTQ0IDE4MCBSIDIuNDIyKHV0ZXMgYXJlKQotLS4yIEYgMi42NjMocHJpbnRlZC4gSWYpMTQ0IDE5MiBSKHRoZSkyLjY2MyBFIEYxKGV4dGRlYikyLjY2MyBFKHVnKS0uMiBFCi1GMCAuMTY0KHNoZWxsIG9wdGlvbiBpcyBlbmFibGVkIHVzaW5nKTIuNjYzIEYgRjEoc2hvcHQpMi42NjQgRSBGMCAyLjY2NAotKCx0KUMgLjE2NChoZSBzb3VyY2UgXDIxNGxlIG5hbWUgYW5kIGxpbmUgbnVtYmVyKS0yLjY2NCBGIDEuMzgyCi0od2hlcmUgdGhlIGZ1bmN0aW9uIGlzIGRlXDIxNG5lZCBhcmUgZGlzcGxheWVkIGFzIHdlbGwuKTE0NCAyMDQgUihUaGUpCi02LjM4MiBFIEYxPGFkNDY+My44ODIgRSBGMCAxLjM4MihvcHRpb24gaW1wbGllcykzLjg4MiBGIEYxPGFkNjY+My44ODIgRQotRjAgNi4zODIoLlQpQyAxLjM4MihoZSBmb2xsbyktNi4zODIgRih3aW5nKS0uMjUgRSAuNzkzCi0ob3B0aW9ucyBjYW4gYmUgdXNlZCB0byByZXN0cmljdCBvdXRwdXQgdG8gdikxNDQgMjE2IFIgLjc5NAotKGFyaWFibGVzIHdpdGggdGhlIHNwZWNpXDIxNGVkIGF0dHJpYiktLjI1IEYgLjc5NCh1dGUgb3IgdG8gZ2kpLS4yIEYKLTEuMDk0IC0uMTUodmUgdiktLjI1IEgoYXJpYWJsZXMpLS4xIEUoYXR0cmliKTE0NCAyMjggUSh1dGVzOiktLjIgRSBGMQotPGFkNjE+MTQ0IDI0MCBRIEYwKEVhY2gpMjUuMyBFIEYyKG5hbWUpMi41IEUgRjAoaXMgYW4gaW5kZSkyLjUgRSAtLjE1Ci0oeGUpLS4xNSBHIDIuNShkYSkuMTUgRyhycmF5IHYpLTIuNSBFKGFyaWFibGUgXChzZWUpLS4yNSBFIEYxKEFycmF5cykyLjUKLUUgRjAoYWJvKTIuNSBFIC0uMTUodmUpLS4xNSBHKFwpLikuMTUgRSBGMTxhZDQxPjE0NCAyNTIgUSBGMChFYWNoKTIzLjA4Ci1FIEYyKG5hbWUpMi41IEUgRjAoaXMgYW4gYXNzb2NpYXRpKTIuNSBFIC4zIC0uMTUodmUgYSktLjI1IEgocnJheSB2KS4xNQotRShhcmlhYmxlIFwoc2VlKS0uMjUgRSBGMShBcnJheXMpMi41IEUgRjAoYWJvKTIuNSBFIC0uMTUodmUpLS4xNSBHKFwpLikKLS4xNSBFIEYxPGFkNjY+MTQ0IDI2NCBRIEYwKFVzZSBmdW5jdGlvbiBuYW1lcyBvbmx5KTI2Ljk3IEUoLiktLjY1IEUgRjEKLTxhZDY5PjE0NCAyNzYgUSBGMCAuNTU4KFRoZSB2KTI3LjUyIEYgLjU1OAotKGFyaWFibGUgaXMgdHJlYXRlZCBhcyBhbiBpbnRlKS0uMjUgRiAuNTU4KGdlcjsgYXJpdGhtZXRpYyBlKS0uMTUgRiAtLjI1Ci0odmEpLS4yNSBHIC41NTgobHVhdGlvbiBcKHNlZSkuMjUgRi9GMyA5L1RpbWVzLUJvbGRAMCBTRiAuNTU3Ci0oQVJJVEhNRVRJQyBFVikzLjA1OCBGKEFMVSktMS4yMTUgRShBLSktLjU0IEUoVElPTiBcKSkxODAgMjg4IFEgRjAKLShpcyBwZXJmb3JtZWQgd2hlbiB0aGUgdikyLjI1IEUoYXJpYWJsZSBpcyBhc3NpZ25lZCBhIHYpLS4yNSBFKGFsdWUuKQotLS4yNSBFIEYxPGFkNmM+MTQ0IDMwMCBRIEYwIC45MDkoV2hlbiB0aGUgdikyNy41MiBGIC45MDkKLShhcmlhYmxlIGlzIGFzc2lnbmVkIGEgdiktLjI1IEYgLjkwOShhbHVlLCBhbGwgdXBwZXIpLS4yNSBGIC45MDkKLSgtY2FzZSBjaGFyYWN0ZXJzIGFyZSBjb24pLS4yIEYgLS4xNSh2ZSktLjQgRyAuOTEocnRlZCB0byBsbykuMTUgRih3ZXIpCi0tLjI1IEUoLSktLjIgRSAyLjUoY2FzZS4gVGhlKTE4MCAzMTIgUih1cHBlcikyLjUgRSgtY2FzZSBhdHRyaWIpLS4yIEUKLSh1dGUgaXMgZGlzYWJsZWQuKS0uMiBFIEYxPGFkNzI+MTQ0IDMyNCBRIEYwKE1haykyNS44NiBFKGUpLS4xIEUgRjIKLShuYW1lKTUuMDQ3IEUgRjAgNS4wNDcoc3IpQyhlYWRvbmx5KS01LjA0NyBFIDcuNTQ3KC5UKS0uNjUgRyAyLjU0NgotKGhlc2UgbmFtZXMgY2Fubm90IHRoZW4gYmUgYXNzaWduZWQgdiktNy41NDcgRiAyLjU0NgotKGFsdWVzIGJ5IHN1YnNlcXVlbnQpLS4yNSBGKGFzc2lnbm1lbnQgc3RhdGVtZW50cyBvciB1bnNldC4pMTgwIDMzNiBRIEYxCi08YWQ3ND4xNDQgMzQ4IFEgRjAoR2kpMjYuOTcgRSAuNzI5IC0uMTUodmUgZSktLjI1IEgoYWNoKS4xNSBFIEYyKG5hbWUpCi0yLjkyOSBFIEYwKHRoZSkyLjkyOSBFIEYyKHRyKTIuOTI5IEUoYWNlKS0uMTUgRSBGMChhdHRyaWIpMi45MjkgRSAyLjkyOQotKHV0ZS4gVCktLjIgRiAuNDI5KHJhY2VkIGZ1bmN0aW9ucyBpbmhlcml0IHRoZSktLjM1IEYgRjEoREVCKTIuOTI5IEUoVUcpCi0tLjEgRSBGMChhbmQpMi45MyBFIEYxKFJFVFVSTikyLjkzIEUgRjAodHJhcHMgZnJvbSB0aGUgY2FsbGluZyBzaGVsbC4pCi0xODAgMzYwIFEoVGhlIHRyYWNlIGF0dHJpYik1IEUodXRlIGhhcyBubyBzcGVjaWFsIG1lYW5pbmcgZm9yIHYpLS4yIEUKLShhcmlhYmxlcy4pLS4yNSBFIEYxPGFkNzU+MTQ0IDM3MiBRIEYwIC45MShXaGVuIHRoZSB2KTI0Ljc0IEYgLjkwOQotKGFyaWFibGUgaXMgYXNzaWduZWQgYSB2KS0uMjUgRiAuOTA5KGFsdWUsIGFsbCBsbyktLjI1IEYod2VyKS0uMjUgRSAuOTA5Ci0oLWNhc2UgY2hhcmFjdGVycyBhcmUgY29uKS0uMiBGIC0uMTUodmUpLS40IEcgLjkwOShydGVkIHRvIHVwcGVyKS4xNSBGCi0oLSktLjIgRSAyLjUoY2FzZS4gVGhlKTE4MCAzODQgUihsbykyLjUgRSh3ZXIpLS4yNSBFKC1jYXNlIGF0dHJpYiktLjIgRQotKHV0ZSBpcyBkaXNhYmxlZC4pLS4yIEUgRjE8YWQ3OD4xNDQgMzk2IFEgRjAoTWFyaykyNS4zIEUgRjIobmFtZSkyLjUgRQotRjAgMi41KHNmKUMob3IgZSktMi41IEUoeHBvcnQgdG8gc3Vic2VxdWVudCBjb21tYW5kcyB2aWEgdGhlIGVuKS0uMTUgRQotKHZpcm9ubWVudC4pLS40IEUgLjEyKFVzaW5nIGArJyBpbnN0ZWFkIG9mIGBcMjU1JyB0dXJucyBvZikxNDQgNDEyLjggUgotMi42MihmdCktLjI1IEcgLjEyKGhlIGF0dHJpYiktMi42MiBGIC4xMjEodXRlIGluc3RlYWQsIHdpdGggdGhlIGUpLS4yIEYKLS4xMjEoeGNlcHRpb25zIHRoYXQpLS4xNSBGIEYxKCthKTIuNjIxIEUgRjAgLjEyMShtYXkgbm90IGJlIHVzZWQpMi42MjEgRgotMS4yMzcodG8gZGVzdHJvKTE0NCA0MjQuOCBSIDMuNzM3KHlhKS0uMSBHIDMuNzM3KG5hKS0zLjczNyBHIDEuMjM3Ci0ocnJheSB2KS0zLjczNyBGIDEuMjM3KGFyaWFibGUgYW5kKS0uMjUgRiBGMSAxLjIzNygrciB3aWxsIG5vdCByKTMuNzM3IEYKLShlbW8pLS4xOCBFIDEuNDM3IC0uMSh2ZSB0KS0uMSBIIDEuMjM3KGhlIHIpLjEgRiAxLjIzNyhlYWRvbmx5IGF0dHJpYikKLS0uMTggRiAzLjczNyh1dGUuIFdoZW4pLS4yIEYgMS4yMzYodXNlZCBpbiBhKTMuNzM3IEYgLjMxMShmdW5jdGlvbiwgbWFrKQotMTQ0IDQzNi44IFIgLjMxMShlcyBlYWNoKS0uMSBGIEYyKG5hbWUpMi44MTEgRSBGMSAuMzExCi0obG9jYWwsIGFzIHdpdGggdGhlIGxvY2FsKTIuODExIEYgRjAgMi44MTEoY29tbWFuZC4gSWYpMi44MTEgRiAyLjgxMShhdikKLTIuODExIEcgLjMxMihhcmlhYmxlIG5hbWUgaXMgZm9sbG8pLTMuMDYxIEYgLjMxMih3ZWQgYnkpLS4yNSBGKD0pMTQ0Ci00NDguOCBRIEYyKHZhbHVlKUEgRjAgMy4yMzkoLHQpQyAuNzM5KGhlIHYpLTMuMjM5IEYgLjczOShhbHVlIG9mIHRoZSB2KQotLS4yNSBGIC43MzkoYXJpYWJsZSBpcyBzZXQgdG8pLS4yNSBGIEYyKHZhbHVlKTMuMjM4IEUgRjAgNS43MzgoLlQpQyAuNzM4Ci0oaGUgcmV0dXJuIHYpLTUuNzM4IEYgLjczOChhbHVlIGlzIDAgdW5sZXNzIGFuIGluKS0uMjUgRiAtLjI1KHZhKS0uNCBHCi0uNzM4KGxpZCBvcHRpb24gaXMpLjI1IEYgLjYwMwotKGVuY291bnRlcmVkLCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gZGVcMjE0bmUgYSBmdW5jdGlvbiB1c2luZykxNDQgNDYwLjgKLVIvRjQgMTAvQ291cmllckAwIFNGIC42MDMoXDI1NWYgZm9vPWJhcikzLjEwMyBGIEYwIDMuMTAzKCxhKUMgMy4xMDMobmEpCi0tMy4xMDMgRyAuNjA0KHR0ZW1wdCBpcyBtYWRlIHRvKS0zLjEwMyBGIDEuMjQzKGFzc2lnbiBhIHYpMTQ0IDQ3Mi44IFIKLTEuMjQzKGFsdWUgdG8gYSByZWFkb25seSB2KS0uMjUgRiAxLjI0MgotKGFyaWFibGUsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBhc3NpZ24gYSB2KS0uMjUgRiAxLjI0MgotKGFsdWUgdG8gYW4gYXJyYXkgdiktLjI1IEYoYXJpYWJsZSktLjI1IEUgMS4zODYKLSh3aXRob3V0IHVzaW5nIHRoZSBjb21wb3VuZCBhc3NpZ25tZW50IHN5bnRheCBcKHNlZSkxNDQgNDg0LjggUiBGMQotKEFycmF5cykzLjg4NiBFIEYwKGFibykzLjg4NiBFIC0uMTUodmUpLS4xNSBHIDEuMzg2KFwpLCBvbmUgb2YgdGhlKS4xNSBGCi1GMihuYW1lcykzLjg4NiBFIEYwIDEuMzg2KGlzIG5vdCBhKTMuODg2IEYgLS4yNSh2YSkxNDQgNDk2LjggUyAuMTcyCi0obGlkIHNoZWxsIHYpLjI1IEYgLjE3MShhcmlhYmxlIG5hbWUsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byB0dXJuIG9mKS0uMjUKLUYgMi42NzEoZnIpLS4yNSBHIC4xNzEoZWFkb25seSBzdGF0dXMgZm9yIGEgcmVhZG9ubHkgdiktMi42NzEgRiAuMTcxCi0oYXJpYWJsZSwgYW4pLS4yNSBGIC45NihhdHRlbXB0IGlzIG1hZGUgdG8gdHVybiBvZikxNDQgNTA4LjggUiAzLjQ2KGZhKQotLS4yNSBHIC45NihycmF5IHN0YXR1cyBmb3IgYW4gYXJyYXkgdiktMy40NiBGIC45NgotKGFyaWFibGUsIG9yIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBkaXNwbGF5IGEpLS4yNSBGKG5vbi1lKTE0NCA1MjAuOCBRCi0oeGlzdGVudCBmdW5jdGlvbiB3aXRoKS0uMTUgRSBGMTxhZDY2PjIuNSBFIEYwKC4pQSBGMShkaXJzIFsrKTEwOCA1MzcuNgotUSBGMihuKUEgRjEgMi41KF1bKUM8YWQ+LTIuNSBFIEYyKG4pQSBGMSAyLjUoXVspQyhcMjU1Y3Bsdl0pLTIuNSBFIEYwCi0tLjQoV2kpMTQ0IDU0OS42IFMgLjMyOQotKHRob3V0IG9wdGlvbnMsIGRpc3BsYXlzIHRoZSBsaXN0IG9mIGN1cnJlbnRseSByZW1lbWJlcmVkIGRpcmVjdG9yaWVzLikKLS40IEYgLjMyOChUaGUgZGVmKTUuMzI4IEYgLjMyOChhdWx0IGRpc3BsYXkgaXMgb24gYSktLjEgRiAxLjIzOAotKHNpbmdsZSBsaW5lIHdpdGggZGlyZWN0b3J5IG5hbWVzIHNlcGFyYXRlZCBieSBzcGFjZXMuKTE0NCA1NjEuNiBSIDEuMjM4Ci0oRGlyZWN0b3JpZXMgYXJlIGFkZGVkIHRvIHRoZSBsaXN0IHdpdGggdGhlKTYuMjM4IEYgRjEocHVzaGQpMTQ0IDU3My42IFEKLUYwKGNvbW1hbmQ7IHRoZSkyLjUgRSBGMShwb3BkKTIuNSBFIEYwKGNvbW1hbmQgcmVtbykyLjUgRSAtLjE1KHZlKS0uMTUgRwotMi41KHNlKS4xNSBHKG50cmllcyBmcm9tIHRoZSBsaXN0LiktMi41IEUgRjEoKykxNDQgNTg1LjYgUSBGMihuKUEgRjAKLTEuNTY1KERpc3BsYXlzIHRoZSkyNS4zIEYgRjIobik0LjA2NSBFIEYwIDEuNTY1Ci0odGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdCBzaG8pQiAxLjU2NCh3biBieSktLjI1IEYgRjEKLShkaXJzKTQuMDY0IEUgRjAgMS41NjQod2hlbiBpbik0LjA2NCBGIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyhkKS4xIEUKLSh3aXRob3V0IG9wdGlvbnMsIHN0YXJ0aW5nIHdpdGggemVyby4pMTgwIDU5Ny42IFEgRjE8YWQ+MTQ0IDYwOS42IFEgRjIKLShuKUEgRjAgMS4xOTQoRGlzcGxheXMgdGhlKTI1LjMgRiBGMihuKTMuNjk0IEUgRjAgMS4xOTQKLSh0aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdCBzaG8pQiAxLjE5NCh3biBieSktLjI1IEYKLUYxKGRpcnMpMy42OTQgRSBGMCAxLjE5NCh3aGVuIGluKTMuNjk0IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHKGQpLjEgRQotKHdpdGhvdXQgb3B0aW9ucywgc3RhcnRpbmcgd2l0aCB6ZXJvLikxODAgNjIxLjYgUSBGMTxhZDYzPjE0NCA2MzMuNiBRIEYwCi0oQ2xlYXJzIHRoZSBkaXJlY3Rvcnkgc3RhY2sgYnkgZGVsZXRpbmcgYWxsIG9mIHRoZSBlbnRyaWVzLikyNS44NiBFIEYxCi08YWQ2Yz4xNDQgNjQ1LjYgUSBGMCAuMzI0KFByb2R1Y2VzIGEgbG9uZ2VyIGxpc3Rpbmc7IHRoZSBkZWYpMjcuNTIgRgotLjMyNChhdWx0IGxpc3RpbmcgZm9ybWF0IHVzZXMgYSB0aWxkZSB0byBkZW5vdGUgdGhlIGhvbWUgZGlyZWMtKS0uMSBGCi0odG9yeSkxODAgNjU3LjYgUSguKS0uNjUgRSBGMTxhZDcwPjE0NCA2NjkuNiBRIEYwCi0oUHJpbnQgdGhlIGRpcmVjdG9yeSBzdGFjayB3aXRoIG9uZSBlbnRyeSBwZXIgbGluZS4pMjQuNzQgRSBGMTxhZDc2PjE0NAotNjgxLjYgUSBGMCAuMjcyKFByaW50IHRoZSBkaXJlY3Rvcnkgc3RhY2sgd2l0aCBvbmUgZW50cnkgcGVyIGxpbmUsIHByZVwKLVwyMTR4aW5nIGVhY2ggZW50cnkgd2l0aCBpdHMgaW5kZSkyNS4zIEYgMi43NzMoeGkpLS4xNSBHIDIuNzczKG50KS0yLjc3MwotRyhoZSktMi43NzMgRShzdGFjay4pMTgwIDY5My42IFEgLjI1OChUaGUgcmV0dXJuIHYpMTQ0IDcxMC40IFIgLjI1OAotKGFsdWUgaXMgMCB1bmxlc3MgYW4gaW4pLS4yNSBGIC0uMjUodmEpLS40IEcgLjI1OAotKGxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IpLjI1IEYgRjIobikyLjc1OCBFIEYwKGluZGUpMi43NTggRSAtLjE1KHhlKQotLS4xNSBHIDIuNzU4KHNiKS4xNSBHIC0uMTUoZXkpLTIuNzU4IEcgLjI1OChvbmQgdGhlIGVuZCBvZiB0aGUgZGlyZWMtKQotLjE1IEYodG9yeSBzdGFjay4pMTQ0IDcyMi40IFEoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDkgRmVicnVhcnkgNykKLTE0MC45NiBFKDUyKTE5MC45NSBFIDAgQ2cgRVAKKy0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoZnVuY3Rpb24pMTg0IDg0IFEgRjAKKyhOYW1lcyBvZiBzaGVsbCBmdW5jdGlvbnMuKTIyNCA5NiBRIEYxKGdyKTE4NCAxMDggUShvdXApLS4xOCBFIEYwCisoR3JvdXAgbmFtZXMuKTE0LjYyIEUoTWF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpNSBFIEYxPGFkNjc+Mi41IEUgRjAoLikKK0EgRjEoaGVscHRvcGljKTE4NCAxMjAgUSBGMChIZWxwIHRvcGljcyBhcyBhY2NlcHRlZCBieSB0aGUpMjI0IDEzMiBRIEYxCisoaGVscCkyLjUgRSBGMCAtLjIoYnUpMi41IEcoaWx0aW4uKS4yIEUgRjEoaG9zdG5hbWUpMTg0IDE0NCBRIEYwCisoSG9zdG5hbWVzLCBhcyB0YWspMjI0IDE1NiBRKGVuIGZyb20gdGhlIFwyMTRsZSBzcGVjaVwyMTRlZCBieSB0aGUpLS4xIEUKKy9GMiA5L1RpbWVzLUJvbGRAMCBTRihIT1NURklMRSkyLjUgRSBGMChzaGVsbCB2KTIuMjUgRShhcmlhYmxlLiktLjI1IEUKK0YxKGpvYikxODQgMTY4IFEgRjAoSm9iIG5hbWVzLCBpZiBqb2IgY29udHJvbCBpcyBhY3RpKTI2LjExIEUgLS4xNSh2ZSkKKy0uMjUgRyA1KC5NKS4xNSBHKGF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpLTUgRSBGMTxhZDZhPjIuNSBFIEYwKC4pQSBGMQorLS4xKGtlKTE4NCAxODAgUyh5dykuMSBFKG9yZCktLjEgRSBGMChTaGVsbCByZXNlcnYpMjI0IDE5MiBRKGVkIHcpLS4xNSBFCisyLjUob3Jkcy4gTWF5KS0uMSBGKGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpMi41IEUgRjE8YWQ2Yj4yLjUgRSBGMCguKUEgRjEKKyhydW5uaW5nKTE4NCAyMDQgUSBGMChOYW1lcyBvZiBydW5uaW5nIGpvYnMsIGlmIGpvYiBjb250cm9sIGlzIGFjdGkpNS41NAorRSAtLjE1KHZlKS0uMjUgRyguKS4xNSBFIEYxKHNlcikxODQgMjE2IFEodmljZSktLjEgRSBGMChTZXJ2aWNlIG5hbWVzLikKKzEwLjY3IEUoTWF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpNSBFIEYxPGFkNzM+Mi41IEUgRjAoLilBIEYxKHNldG9wdCkKKzE4NCAyMjggUSBGMCAtMS4xMShWYSkxNC40NSBHKGxpZCBhcikxLjExIEUoZ3VtZW50cyBmb3IgdGhlKS0uMTggRSBGMQorPGFkNmY+Mi41IEUgRjAob3B0aW9uIHRvIHRoZSkyLjUgRSBGMShzZXQpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluLikKKy4yIEUgRjEoc2hvcHQpMTg0IDI0MCBRIEYwKFNoZWxsIG9wdGlvbiBuYW1lcyBhcyBhY2NlcHRlZCBieSB0aGUpMTYuNjYgRQorRjEoc2hvcHQpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluLikuMiBFIEYxKHNpZ25hbCkxODQgMjUyIFEgRjAKKyhTaWduYWwgbmFtZXMuKTE0Ljk5IEUgRjEoc3RvcHBlZCkxODQgMjY0IFEgRjAKKyhOYW1lcyBvZiBzdG9wcGVkIGpvYnMsIGlmIGpvYiBjb250cm9sIGlzIGFjdGkpNi42NiBFIC0uMTUodmUpLS4yNSBHKC4pCisuMTUgRSBGMSh1c2VyKTE4NCAyNzYgUSBGMChVc2VyIG5hbWVzLikyMS42NyBFCisoTWF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpNSBFIEYxPGFkNzU+Mi41IEUgRjAoLilBIEYxIC0uMSh2YSkxODQgMjg4IFMKKyhyaWFibGUpLjEgRSBGMChOYW1lcyBvZiBhbGwgc2hlbGwgdik1LjEgRSAyLjUoYXJpYWJsZXMuIE1heSktLjI1IEYKKyhhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTIuNSBFIEYxPGFkNzY+Mi41IEUgRjAoLilBIEYxPGFkNDc+MTQ0IDMwMCBRL0YzCisxMC9UaW1lcy1JdGFsaWNAMCBTRihnbG9icGF0KTIuNSBFIEYwIDEuMDA3KFRoZSBwYXRobmFtZSBlKTE4NCAzMTIgUgorMS4wMDcoeHBhbnNpb24gcGF0dGVybiktLjE1IEYgRjMoZ2xvYnBhdCkzLjUwNyBFIEYwIDEuMDA3KGlzIGUpMy41MDcgRgorMS4wMDgoeHBhbmRlZCB0byBnZW5lcmF0ZSB0aGUgcG9zc2libGUgY29tcGxlLSktLjE1IEYodGlvbnMuKTE4NCAzMjQgUQorRjE8YWQ1Nz4xNDQgMzM2IFEgRjMod29yKTIuNSBFKGRsaXN0KS0uMzcgRSBGMChUaGUpMTg0IDM0OCBRIEYzKHdvcikzLjY0CitFKGRsaXN0KS0uMzcgRSBGMCAxLjE0KGlzIHNwbGl0IHVzaW5nIHRoZSBjaGFyYWN0ZXJzIGluIHRoZSkzLjY0IEYgRjIKKyhJRlMpMy42NCBFIEYwIDEuMTM5KHNwZWNpYWwgdikzLjM5IEYgMS4xMzkoYXJpYWJsZSBhcyBkZWxpbWl0ZXJzLCBhbmQpCistLjI1IEYgMi4wMDcoZWFjaCByZXN1bHRhbnQgdykxODQgMzYwIFIgMi4wMDcob3JkIGlzIGUpLS4xIEYgNC41MDcKKyh4cGFuZGVkLiBUaGUpLS4xNSBGIDIuMDA4KHBvc3NpYmxlIGNvbXBsZXRpb25zIGFyZSB0aGUgbWVtYmVycyBvZiB0aGUpCis0LjUwNyBGKHJlc3VsdGFudCBsaXN0IHdoaWNoIG1hdGNoIHRoZSB3KTE4NCAzNzIgUShvcmQgYmVpbmcgY29tcGxldGVkLikKKy0uMSBFIEYxPGFkNDM+MTQ0IDM4NCBRIEYzKGNvbW1hbmQpMi41IEUoY29tbWFuZCkxODQgMzk2IFEgRjAgMS4wNTYKKyhpcyBlKTMuNTU2IEYgLS4xNSh4ZSktLjE1IEcgMS4wNTYoY3V0ZWQgaW4gYSBzdWJzaGVsbCBlbikuMTUgRiAxLjA1NgorKHZpcm9ubWVudCwgYW5kIGl0cyBvdXRwdXQgaXMgdXNlZCBhcyB0aGUgcG9zc2libGUpLS40IEYoY29tcGxldGlvbnMuKQorMTg0IDQwOCBRIEYxPGFkNDY+MTQ0IDQyMCBRIEYzKGZ1bmN0aW9uKTIuNSBFIEYwIDEuMTgKKyhUaGUgc2hlbGwgZnVuY3Rpb24pMTg0IDQzMiBSIEYzKGZ1bmN0aW9uKTMuNjggRSBGMCAxLjE4MShpcyBlKTMuNjgxIEYKKy0uMTUoeGUpLS4xNSBHIDEuMTgxKGN1dGVkIGluIHRoZSBjdXJyZW50IHNoZWxsIGVuKS4xNSBGIDMuNjgxCisodmlyb25tZW50LiBXaGVuKS0uNCBGIDEuMTgxKGl0IFwyMTRuLSkzLjY4MSBGIC45MzIKKyhpc2hlcywgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIGFyZSByZXRyaWUpMTg0IDQ0NCBSIC0uMTUodmUpLS4yNSBHCiszLjQzMihkZikuMTUgRyAuOTMyKHJvbSB0aGUgdiktMy40MzIgRiAuOTMyKGFsdWUgb2YgdGhlKS0uMjUgRiBGMgorKENPTVBSRVBMKTMuNDMxIEUoWSktLjgyOCBFIEYwKGFycmF5KTMuMTgxIEUgLS4yNSh2YSkxODQgNDU2IFMocmlhYmxlLikKKy4yNSBFIEYxPGFkNTg+MTQ0IDQ2OCBRIEYzKFwyMTRsdGVycGF0KTIuNSBFKFwyMTRsdGVycGF0KTE4NCA0ODAgUSBGMAorLjQ1NShpcyBhIHBhdHRlcm4gYXMgdXNlZCBmb3IgcGF0aG5hbWUgZSkyLjk1NSBGIDIuOTU2KHhwYW5zaW9uLiBJdCktLjE1CitGIC40NTYoaXMgYXBwbGllZCB0byB0aGUgbGlzdCBvZiBwb3NzaWJsZSkyLjk1NiBGIDEuNTk2CisoY29tcGxldGlvbnMgZ2VuZXJhdGVkIGJ5IHRoZSBwcmVjZWRpbmcgb3B0aW9ucyBhbmQgYXIpMTg0IDQ5MiBSIDEuNTk2CisoZ3VtZW50cywgYW5kIGVhY2ggY29tcGxldGlvbiktLjE4IEYobWF0Y2hpbmcpMTg0IDUwNCBRIEYzKFwyMTRsdGVycGF0KQorMy4yMDQgRSBGMCAuNzA0KGlzIHJlbW8pMy4yMDQgRiAtLjE1KHZlKS0uMTUgRyAzLjIwNChkZikuMTUgRyAuNzA0Cisocm9tIHRoZSBsaXN0LiktMy4yMDQgRiAzLjIwNChBbCk1LjcwNCBHKGVhZGluZyktMy4yMDQgRSBGMSghKTMuMjA0IEUgRjAKKyhpbikzLjIwNCBFIEYzKFwyMTRsdGVycGF0KTMuMjA1IEUgRjAobmUpMy4yMDUgRSAtLjA1KGdhKS0uMTUgRyAuNzA1CisodGVzIHRoZSBwYXR0ZXJuOykuMDUgRihpbiB0aGlzIGNhc2UsIGFuKTE4NCA1MTYgUSAyLjUoeWMpLS4xNSBHCisob21wbGV0aW9uIG5vdCBtYXRjaGluZyktMi41IEUgRjMoXDIxNGx0ZXJwYXQpMi41IEUgRjAoaXMgcmVtbykyLjUgRQorLS4xNSh2ZSktLjE1IEcoZC4pLjE1IEUgRjE8YWQ1MD4xNDQgNTI4IFEgRjMocHIpMi41IEUoZVwyMTR4KS0uMzcgRShwcikKKzE4NCA1NDAgUShlXDIxNHgpLS4zNyBFIEYwIC41MzUoaXMgYWRkZWQgYXQgdGhlIGJlKTMuMDM1IEYgLjUzNAorKGdpbm5pbmcgb2YgZWFjaCBwb3NzaWJsZSBjb21wbGV0aW9uIGFmdGVyIGFsbCBvdGhlciBvcHRpb25zIGhhKS0uMTUgRgorLS4xNSh2ZSktLjIgRyhiZWVuIGFwcGxpZWQuKTE4NCA1NTIgUSBGMTxhZDUzPjE0NCA1NjQgUSBGMyhzdWYpMi41IEUKKzIuODEoXDIxNHggc3VmKS0uMTggRjw4Yzc4Pi0uMTggRSBGMAorKGlzIGFwcGVuZGVkIHRvIGVhY2ggcG9zc2libGUgY29tcGxldGlvbiBhZnRlciBhbGwgb3RoZXIgb3B0aW9ucyBoYSkyLjUKK0UgLjMgLS4xNSh2ZSBiKS0uMiBIKGVlbiBhcHBsaWVkLikuMTUgRSAuNDY2KFRoZSByZXR1cm4gdikxNDQgNTgwLjggUgorLjQ2NihhbHVlIGlzIHRydWUgdW5sZXNzIGFuIGluKS0uMjUgRiAtLjI1KHZhKS0uNCBHIC40NjYKKyhsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbiBvcHRpb24gb3RoZXIgdGhhbikuMjUgRiBGMTxhZDcwPjIuOTY3IEUgRjAKKyhvcikyLjk2NyBFIEYxPGFkNzI+Mi45NjcgRSBGMCAuNDY3KGlzIHN1cC0pMi45NjcgRiAxLjM2MgorKHBsaWVkIHdpdGhvdXQgYSkxNDQgNTkyLjggUiBGMyhuYW1lKTMuODYyIEUgRjAoYXIpMy44NjIgRSAxLjM2MQorKGd1bWVudCwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIHJlbW8pLS4xOCBGIDEuNjYxIC0uMTUodmUgYSBjKS0uMTUgSAorMS4zNjEob21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbiBmb3IgYSkuMTUgRiBGMyhuYW1lKTE0NCA2MDQuOCBRIEYwCisoZm9yIHdoaWNoIG5vIHNwZWNpXDIxNGNhdGlvbiBlKTIuNSBFCisoeGlzdHMsIG9yIGFuIGVycm9yIG9jY3VycyBhZGRpbmcgYSBjb21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbi4pLS4xNSBFCitGMShjb21wb3B0KTEwOCA2MjEuNiBRIEYwKFspMi41IEUgRjE8YWQ2Zj5BIEYzKG9wdGlvbikyLjUgRSBGMCAyLjUoXVspQworRjEoXDI1NURFKS0yLjUgRSBGMCAyLjUoXVspQyBGMSgrbyktMi41IEUgRjMob3B0aW9uKTIuNSBFIEYwIDIuNShdWylDIEYzCisobmFtZSktMi41IEUgRjAoXSlBIC40NDcoTW9kaWZ5IGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCkxNDQgNjMzLjYgUgorRjMobmFtZSkyLjk0NyBFIEYwIC40NDcoYWNjb3JkaW5nIHRvIHRoZSkyLjk0NyBGIEYzKG9wdGlvbikyLjk0NyBFIEYwCisuNDQ3KHMsIG9yIGZvciB0aGUgY3VycmVudGx5LWUpQiAtLjE1KHhlKS0uMTUgRyhjdXRpb24pLjE1IEUgLjcyNgorKGNvbXBsZXRpb24gaWYgbm8pMTQ0IDY0NS42IFIgRjMobmFtZSkzLjIyNiBFIEYwIDMuMjI2KHNhKUMgLjcyNgorKHJlIHN1cHBsaWVkLiktMy4yMjYgRiAuNzI1KElmIG5vKTUuNzI1IEYgRjMob3B0aW9uKTMuMjI1IEUgRjAgMy4yMjUoc2EpCitDIC43MjUocmUgZ2kpLTMuMjI1IEYgLS4xNSh2ZSktLjI1IEcgLjcyNQorKG4sIGRpc3BsYXkgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IpLjE1IEYoZWFjaCkxNDQgNjU3LjYgUSBGMyhuYW1lKQorMy4yMjMgRSBGMCAuNzIzKG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24uKTMuMjIzIEYgLjcyNChUaGUgcG9zc2libGUgdikKKzUuNzI0IEYgLjcyNChhbHVlcyBvZiktLjI1IEYgRjMob3B0aW9uKTMuMjI0IEUgRjAgLjcyNChhcmUgdGhvc2UgdikzLjIyNAorRiAuNzI0KGFsaWQgZm9yIHRoZSktLjI1IEYgRjEoY29tLSkzLjIyNCBFKHBsZXRlKTE0NCA2NjkuNiBRIEYwIC0uMihidSkKKzIuNzk4IEcgLjI5OChpbHRpbiBkZXNjcmliZWQgYWJvKS4yIEYgLS4xNSh2ZSktLjE1IEcgNS4yOTcoLlQpLjE1IEcoaGUpCistNS4yOTcgRSBGMTxhZDQ0PjIuNzk3IEUgRjAgLjI5NworKG9wdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVtYWluaW5nIG9wdGlvbnMgc2hvdWxkIGFwcGx5IHRvKTIuNzk3IEYKKzEuMjI3KHRoZSBgKTE0NCA2ODEuNiBSKGBkZWYpLS43NCBFKGF1bHQnKS0uMSBFIDMuNzI3KCdjKS0uNzQgRyAxLjIyOChvXAorbW1hbmQgY29tcGxldGlvbjsgdGhhdCBpcywgY29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYSBjb21tYW5kIGZvciB3aGljaCBcCitubyktMy43MjcgRiAyLjE3OChjb21wbGV0aW9uIGhhcyBwcmUpMTQ0IDY5My42IFIgMi4xNzgKKyh2aW91c2x5IGJlZW4gZGVcMjE0bmVkLiktLjI1IEYoVGhlKTcuMTc4IEUgRjE8YWQ0NT40LjY3OCBFIEYwIDIuMTc3Cisob3B0aW9uIGluZGljYXRlcyB0aGF0IHRoZSByZW1haW5pbmcgb3B0aW9ucyk0LjY3NyBGKHNob3VsZCBhcHBseSB0byBgKQorMTQ0IDcwNS42IFEoYGVtcHR5JyktLjc0IEUgMi41KCdjKS0uNzQgRworKG9tbWFuZCBjb21wbGV0aW9uOyB0aGF0IGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhIGJsYW5rIGxpbmUuKS0yLjUKK0UgLjMyNyhUaGUgcmV0dXJuIHYpMTA4IDcyMi40IFIgLjMyNyhhbHVlIGlzIHRydWUgdW5sZXNzIGFuIGluKS0uMjUgRgorLS4yNSh2YSktLjQgRyAuMzI3CisobGlkIG9wdGlvbiBpcyBzdXBwbGllZCwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIG1vZGlmeSB0aGUgb3B0aW9ucyBmb3IgYSkKKy4yNSBGKEdOVSBCYXNoLTQuMSk3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg1MikxODUuOTU1IEUgMCBDZworRVAKICUlUGFnZTogNTMgNTMKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGRpc28pMTA4IDg0IFEod24pLS4xIEUgRjAoWykyLjUgRSBGMQotKFwyNTVhcilBIEYwIDIuNShdWylDIEYxPGFkNjg+LTIuNSBFIEYwIDIuNShdWylDL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGCi0oam9ic3BlYyktMi41IEUgRjAoLi4uXSkyLjUgRSAtLjQoV2kpMTQ0IDk2IFMgLjI5NSh0aG91dCBvcHRpb25zLCBlYWNoKQotLjQgRiBGMihqb2JzcGVjKTQuNTM1IEUgRjAgLjI5NShpcyByZW1vKTMuMTA1IEYgLS4xNSh2ZSktLjE1IEcgMi43OTUoZGYpCi0uMTUgRyAuMjk1KHJvbSB0aGUgdGFibGUgb2YgYWN0aSktMi43OTUgRiAuNTk1IC0uMTUodmUgaiktLjI1IEggMi43OTUKLShvYnMuIElmKS4xNSBGIEYyKGpvYnNwZWMpNC41MzUgRSBGMCAuMjk1KGlzIG5vdCBwcmVzZW50LCkzLjEwNSBGIC4yNDQKLShhbmQgbmVpdGhlcikxNDQgMTA4IFIgRjEgLjI0MyhcMjU1YSBub3IgXDI1NXIgaXMgc3VwcGxpZWQsIHRoZSBzaGVsbCcpCi0yLjc0NCBGIDIuNzQzKHNuKS0uMzcgRyAuMjQzKG90aW9uIG9mIHRoZSktMi43NDMgRiBGMihjdXJyKTIuNzQzIEUgLjI0MwotKGVudCBqb2IpLS4zNyBGIEYxIC4yNDMoaXMgdXNlZC4pMi43NDMgRiAuMjQzKElmIHRoZSBcMjU1aCBvcHRpb24pNS4yNDMKLUYgLjMzMyhpcyBnaSkxNDQgMTIwIFIgLS4xKHZlKS0uMSBHIC4zMzMobiwgZWFjaCkuMSBGIEYyKGpvYnNwZWMpNC41NzQgRQotRjAgLjMzNChpcyBub3QgcmVtbykzLjE0NCBGIC0uMTUodmUpLS4xNSBHIDIuODM0KGRmKS4xNSBHIC4zMzQKLShyb20gdGhlIHRhYmxlLCBiKS0yLjgzNCBGIC4zMzQodXQgaXMgbWFyayktLjIgRiAuMzM0KGVkIHNvIHRoYXQpLS4xIEYKLS9GMyA5L1RpbWVzLUJvbGRAMCBTRihTSUdIVVApMi44MzQgRSBGMCAuMzM0KGlzIG5vdCBzZW50IHRvKTIuNTg0IEYgMS4xOQotKHRoZSBqb2IgaWYgdGhlIHNoZWxsIHJlY2VpKTE0NCAxMzIgUiAtLjE1KHZlKS0uMjUgRyAzLjY4OShzYSkuMTUgRyBGMwotKFNJR0hVUClBL0Y0IDkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAgMS4xODkoSWYgbm8pNS42ODkgRiBGMihqb2JzcGVjKQotNS40MjkgRSBGMCAxLjE4OShpcyBwcmVzZW50LCBhbmQgbmVpdGhlciB0aGUpMy45OTkgRiBGMTxhZDYxPjMuNjg5IEUgRjAKLTEuMTg5KG5vciB0aGUpMy42ODkgRiBGMTxhZDcyPjMuNjg5IEUgRjAgMS41Njkob3B0aW9uIGlzIHN1cHBsaWVkLCB0aGUpCi0xNDQgMTQ0IFIgRjIoY3Vycik0LjA2OSBFIDEuNTY5KGVudCBqb2IpLS4zNyBGIEYwIDEuNTY5KGlzIHVzZWQuKTQuMDY5IEYKLTEuNTY5KElmIG5vKTYuNTY5IEYgRjIoam9ic3BlYyk1LjgwOSBFIEYwIDEuNTcoaXMgc3VwcGxpZWQsIHRoZSk0LjM4IEYKLUYxPGFkNjE+NC4wNyBFIEYwIDEuNTcob3B0aW9uIG1lYW5zIHRvKTQuMDcgRihyZW1vKTE0NCAxNTYgUSAuOTA0IC0uMTUKLSh2ZSBvKS0uMTUgSCAzLjEwNChybSkuMTUgRyAuNjA0KGFyayBhbGwgam9iczsgdGhlKS0zLjEwNCBGIEYxPGFkNzI+Ci0zLjEwMyBFIEYwIC42MDMob3B0aW9uIHdpdGhvdXQgYSkzLjEwMyBGIEYyKGpvYnNwZWMpNC44NDMgRSBGMChhcikzLjQxMwotRSAuNjAzKGd1bWVudCByZXN0cmljdHMgb3BlcmF0aW9uIHRvIHJ1bm5pbmcpLS4xOCBGIDIuNShqb2JzLiBUaGUpMTQ0Ci0xNjggUihyZXR1cm4gdikyLjUgRShhbHVlIGlzIDAgdW5sZXNzIGEpLS4yNSBFIEYyKGpvYnNwZWMpNC4yNCBFIEYwCi0oZG9lcyBub3Qgc3BlY2lmeSBhIHYpMi44MSBFKGFsaWQgam9iKS0uMjUgRSguKS0uNCBFIEYxKGVjaG8pMTA4IDE4NC44IFEKLUYwKFspMi41IEUgRjEoXDI1NW5lRSlBIEYwIDIuNShdWylDIEYyKGFyKS0yLjUgRShnKS0uMzcgRSBGMCguLi5dKTIuNSBFCi0uMzk0KE91dHB1dCB0aGUpMTQ0IDE5Ni44IFIgRjIoYXIpMi44OTQgRShnKS0uMzcgRSBGMCAuMzk0Ci0ocywgc2VwYXJhdGVkIGJ5IHNwYWNlcywgZm9sbG8pQiAuMzk1KHdlZCBieSBhIG5lKS0uMjUgRiAyLjg5NQotKHdsaW5lLiBUaGUpLS4yNSBGIC4zOTUocmV0dXJuIHN0YXR1cyBpcyBhbCkyLjg5NSBGIC0uMSh3YSktLjEgRyAuMzk1Ci0oeXMgMC4pLjEgRihJZik1LjM5NSBFIEYxPGFkNmU+Mi44OTUgRSBGMCAuNTQ5Ci0oaXMgc3BlY2lcMjE0ZWQsIHRoZSB0cmFpbGluZyBuZSkxNDQgMjA4LjggUiAuNTQ4KHdsaW5lIGlzIHN1cHByZXNzZWQuKQotLS4yNSBGIC41NDgoSWYgdGhlKTUuNTQ4IEYgRjE8YWQ2NT4zLjA0OCBFIEYwIC41NDgob3B0aW9uIGlzIGdpKTMuMDQ4IEYKLS0uMTUodmUpLS4yNSBHIC41NDgobiwgaW50ZXJwcmV0YXRpb24gb2YgdGhlIGZvbC0pLjE1IEYobG8pMTQ0IDIyMC44IFEKLS4wNTIod2luZyBiYWNrc2xhc2gtZXNjYXBlZCBjaGFyYWN0ZXJzIGlzIGVuYWJsZWQuKS0uMjUgRihUaGUpNS4wNTIgRSBGMQotPGFkNDU+Mi41NTIgRSBGMCAuMDUzKG9wdGlvbiBkaXNhYmxlcyB0aGUgaW50ZXJwcmV0YXRpb24gb2YgdGhlc2UpMi41NTMKLUYgMS41MDMoZXNjYXBlIGNoYXJhY3RlcnMsIGUpMTQ0IDIzMi44IFIgLS4xNSh2ZSktLjI1IEcgNC4wMDMobm8pLjE1IEcKLTQuMDAzKG5zKS00LjAwMyBHIDEuNTAyKHlzdGVtcyB3aGVyZSB0aGUpLTQuMDAzIEYgNC4wMDIoeWEpLS4xNSBHIDEuNTAyCi0ocmUgaW50ZXJwcmV0ZWQgYnkgZGVmKS00LjAwMiBGIDQuMDAyKGF1bHQuIFRoZSktLjEgRiBGMSh4cGdfZWNobyk0LjAwMgotRSBGMChzaGVsbCk0LjAwMiBFIC4wMDkKLShvcHRpb24gbWF5IGJlIHVzZWQgdG8gZHluYW1pY2FsbHkgZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90KTE0NCAyNDQuOCBSCi1GMShlY2hvKTIuNTA5IEUgRjAgLS4xNShleCkyLjUxIEcgLjAxKHBhbmRzIHRoZXNlIGVzY2FwZSBjaGFyYWN0ZXJzKS4xNQotRiAuNjYoYnkgZGVmKTE0NCAyNTYuOCBSKGF1bHQuKS0uMSBFIEYxKGVjaG8pNS42NiBFIEYwIC42NgotKGRvZXMgbm90IGludGVycHJldCkzLjE2IEYgRjE8YWRhZD4zLjE2IEUgRjAgLjY1OQotKHRvIG1lYW4gdGhlIGVuZCBvZiBvcHRpb25zLikzLjE1OSBGIEYxKGVjaG8pNS42NTkgRSBGMCAuNjU5Ci0oaW50ZXJwcmV0cyB0aGUgZm9sbG8pMy4xNTkgRih3aW5nKS0uMjUgRShlc2NhcGUgc2VxdWVuY2VzOikxNDQgMjY4LjggUQotRjEoXFxhKTE0NCAyODAuOCBRIEYwKGFsZXJ0IFwoYmVsbFwpKTI4LjIyIEUgRjEoXFxiKTE0NCAyOTIuOCBRIEYwCi0oYmFja3NwYWNlKTI3LjY2IEUgRjEoXFxjKTE0NCAzMDQuOCBRIEYwKHN1cHByZXNzIGZ1cnRoZXIgb3V0cHV0KTI4Ljc4IEUKLUYxKFxcZSkxNDQgMzE2LjggUSBGMChhbiBlc2NhcGUgY2hhcmFjdGVyKTI4Ljc4IEUgRjEoXFxmKTE0NCAzMjguOCBRIEYwCi0oZm9ybSBmZWVkKTI5Ljg5IEUgRjEoXFxuKTE0NCAzNDAuOCBRIEYwKG5lKTI3LjY2IEUgMi41KHdsKS0uMjUgRyhpbmUpCi0tMi41IEUgRjEoXFxyKTE0NCAzNTIuOCBRIEYwKGNhcnJpYWdlIHJldHVybikyOC43OCBFIEYxKFxcdCkxNDQgMzY0LjggUQotRjAoaG9yaXpvbnRhbCB0YWIpMjkuODkgRSBGMShcXHYpMTQ0IDM3Ni44IFEgRjAgLS4xNSh2ZSkyOC4yMiBHCi0ocnRpY2FsIHRhYikuMTUgRSBGMShcXFxcKTE0NCAzODguOCBRIEYwKGJhY2tzbGFzaCkzMC40NCBFIEYxKFxcMCkxNDQKLTQwMC44IFEgRjIobm5uKUEgRjAodGhlIGVpZ2h0LWJpdCBjaGFyYWN0ZXIgd2hvc2UgdikxMy4yMiBFCi0oYWx1ZSBpcyB0aGUgb2N0YWwgdiktLjI1IEUoYWx1ZSktLjI1IEUgRjIobm5uKTIuNSBFIEYwCi0oXCh6ZXJvIHRvIHRocmVlIG9jdGFsIGRpZ2l0c1wpKTIuNSBFIEYxKFxceCkxNDQgNDEyLjggUSBGMihISClBIEYwCi0odGhlIGVpZ2h0LWJpdCBjaGFyYWN0ZXIgd2hvc2UgdikxMy43OCBFKGFsdWUgaXMgdGhlIGhlKS0uMjUgRQotKHhhZGVjaW1hbCB2KS0uMTUgRShhbHVlKS0uMjUgRSBGMihISCkyLjUgRSBGMChcKG9uZSBvciB0dykyLjUgRSAyLjUob2gpCi0tLjEgRyAuMyAtLjE1KGV4IGQpLTIuNSBIKGlnaXRzXCkpLjE1IEUgRjEoZW5hYmxlKTEwOCA0MjkuNiBRIEYwKFspMi41IEUKLUYxPGFkNjE+QSBGMCAyLjUoXVspQyBGMShcMjU1ZG5wcyktMi41IEUgRjAgMi41KF1bKUMgRjE8YWQ2Nj4tMi41IEUgRjIKLShcMjE0bGVuYW1lKTIuNSBFIEYwIDIuNShdWylDIEYyKG5hbWUpLTIuNSBFIEYwKC4uLl0pMi41IEUgLjI3NwotKEVuYWJsZSBhbmQgZGlzYWJsZSBiKTE0NCA0NDEuNiBSIC4yNzgodWlsdGluIHNoZWxsIGNvbW1hbmRzLiktLjIgRiAuMjc4Ci0oRGlzYWJsaW5nIGEgYik1LjI3OCBGIC4yNzgodWlsdGluIGFsbG8pLS4yIEYgLjI3OAotKHdzIGEgZGlzayBjb21tYW5kIHdoaWNoIGhhcyktLjI1IEYgLjgzNCh0aGUgc2FtZSBuYW1lIGFzIGEgc2hlbGwgYikxNDQKLTQ1My42IFIgLjgzNCh1aWx0aW4gdG8gYmUgZSktLjIgRiAtLjE1KHhlKS0uMTUgRyAuODM0Ci0oY3V0ZWQgd2l0aG91dCBzcGVjaWZ5aW5nIGEgZnVsbCBwYXRobmFtZSwgZSkuMTUgRiAtLjE1KHZlKS0uMjUgRyAzLjMzMwotKG50KS4xNSBHKGhvdWdoKS0zLjMzMyBFIC45ODkodGhlIHNoZWxsIG5vcm1hbGx5IHNlYXJjaGVzIGZvciBiKTE0NAotNDY1LjYgUiAuOTg5KHVpbHRpbnMgYmVmb3JlIGRpc2sgY29tbWFuZHMuKS0uMiBGKElmKTUuOTg5IEUgRjE8YWQ2ZT4KLTMuNDg5IEUgRjAgLjk5KGlzIHVzZWQsIGVhY2gpMy40OSBGIEYyKG5hbWUpMy40OSBFIEYwIC45OShpcyBkaXMtKTMuNDkgRgotMS41ODIoYWJsZWQ7IG90aGVyd2lzZSwpMTQ0IDQ3Ny42IFIgRjIobmFtZXMpNC4wODIgRSBGMCAxLjU4MgotKGFyZSBlbmFibGVkLik0LjA4MiBGIC0uMTUoRm8pNi41ODIgRyA0LjA4MihyZSkuMTUgRyAxLjU4MgotKHhhbXBsZSwgdG8gdXNlIHRoZSktNC4yMzIgRiBGMSh0ZXN0KTQuMDgyIEUgRjAgMS41ODIKLShiaW5hcnkgZm91bmQgdmlhIHRoZSk0LjA4MiBGIEYzIC0uNjY2KFBBKTQuMDgxIEcoVEgpLS4xODkgRSBGMCAuMDgKLShpbnN0ZWFkIG9mIHRoZSBzaGVsbCBiKTE0NCA0ODkuNiBSIC4wOCh1aWx0aW4gdiktLjIgRiAuMDgoZXJzaW9uLCBydW4pCi0tLjE1IEYvRjUgMTAvQ291cmllckAwIFNGIC4wODEoZW5hYmxlIC1uIHRlc3QpMi41OCBGIEYwIDUuMDgxKC5UKUMoaGUpCi0tNS4wODEgRSBGMTxhZDY2PjIuNTgxIEUgRjAgLjA4MShvcHRpb24gbWVhbnMgdG8gbG9hZCB0aGUgbmUpMi41ODEgRih3KQotLS4yNSBFIC0uMihidSkxNDQgNTAxLjYgUyAxLjUyNShpbHRpbiBjb21tYW5kKS4yIEYgRjIobmFtZSk0LjM4NSBFIEYwCi0xLjUyNChmcm9tIHNoYXJlZCBvYmplY3QpNC4yMDQgRiBGMihcMjE0bGVuYW1lKTQuMDI0IEUgRjAgNC4wMjQoLG8pLjE4IEcKLTQuMDI0KG5zKS00LjAyNCBHIDEuNTI0KHlzdGVtcyB0aGF0IHN1cHBvcnQgZHluYW1pYyBsb2FkaW5nLiktNC4wMjQgRgotKFRoZSkxNDQgNTEzLjYgUSBGMTxhZDY0PjIuODY2IEUgRjAgLjM2NihvcHRpb24gd2lsbCBkZWxldGUgYSBiKTIuODY2IEYKLS4zNjYodWlsdGluIHByZSktLjIgRiAuMzY2KHZpb3VzbHkgbG9hZGVkIHdpdGgpLS4yNSBGIEYxPGFkNjY+Mi44NjcgRSBGMAotNS4zNjcoLkkpQyAyLjg2NyhmbiktNS4zNjcgRyhvKS0yLjg2NyBFIEYyKG5hbWUpMi44NjcgRSBGMChhcikyLjg2NyBFCi0uMzY3KGd1bWVudHMgYXJlIGdpKS0uMTggRiAtLjE1KHZlKS0uMjUgRyAuMzY3KG4sIG9yKS4xNSBGIC4zOTkoaWYgdGhlKQotMTQ0IDUyNS42IFIgRjE8YWQ3MD4yLjg5OSBFIEYwIC4zOTkKLShvcHRpb24gaXMgc3VwcGxpZWQsIGEgbGlzdCBvZiBzaGVsbCBiKTIuODk5IEYgLjM5OSh1aWx0aW5zIGlzIHByaW50ZWQuKQotLS4yIEYgLS40KFdpKTUuMzk5IEcgLjM5OSh0aCBubyBvdGhlciBvcHRpb24gYXIpLjQgRiAuMzk4KGd1bWVudHMsIHRoZSkKLS0uMTggRiAuMDk4KGxpc3QgY29uc2lzdHMgb2YgYWxsIGVuYWJsZWQgc2hlbGwgYikxNDQgNTM3LjYgUiAyLjU5OAotKHVpbHRpbnMuIElmKS0uMiBGIEYxPGFkNmU+Mi41OTggRSBGMCAuMDk4KGlzIHN1cHBsaWVkLCBvbmx5IGRpc2FibGVkIGIpCi0yLjU5OCBGIC4wOTkodWlsdGlucyBhcmUgcHJpbnRlZC4pLS4yIEYoSWYpNS4wOTkgRSBGMTxhZDYxPjIuNTk5IEUgRjAKLTEuOTE3KGlzIHN1cHBsaWVkLCB0aGUgbGlzdCBwcmludGVkIGluY2x1ZGVzIGFsbCBiKTE0NCA1NDkuNiBSIDEuOTE2Ci0odWlsdGlucywgd2l0aCBhbiBpbmRpY2F0aW9uIG9mIHdoZXRoZXIgb3Igbm90IGVhY2ggaXMpLS4yIEYgMi44NzgKLShlbmFibGVkLiBJZikxNDQgNTYxLjYgUiBGMTxhZDczPjIuODc4IEUgRjAgLjM3OQotKGlzIHN1cHBsaWVkLCB0aGUgb3V0cHV0IGlzIHJlc3RyaWN0ZWQgdG8gdGhlIFBPU0lYKTIuODc4IEYgRjIoc3BlY2lhbCkKLTIuODc5IEUgRjAgLS4yKGJ1KTIuODc5IEcgMi44NzkoaWx0aW5zLiBUaGUpLjIgRiAuMzc5KHJldHVybiB2KTIuODc5IEYKLShhbHVlKS0uMjUgRSAuOTk1KGlzIDAgdW5sZXNzIGEpMTQ0IDU3My42IFIgRjIobmFtZSkzLjg1NSBFIEYwIC45OTQKLShpcyBub3QgYSBzaGVsbCBiKTMuNjc1IEYgLjk5NCh1aWx0aW4gb3IgdGhlcmUgaXMgYW4gZXJyb3IgbG9hZGluZyBhIG5lKQotLS4yIEYgMy40OTQod2IpLS4yNSBHIC45OTQodWlsdGluIGZyb20gYSBzaGFyZWQpLTMuNjk0IEYob2JqZWN0LikxNDQKLTU4NS42IFEgRjEgLTIuMyAtLjE1KGV2IGEpMTA4IDYwMi40IFQobCkuMTUgRSBGMChbKTIuNSBFIEYyKGFyKUEoZyktLjM3Ci1FIEYwKC4uLl0pMi41IEUoVGhlKTE0NCA2MTQuNCBRIEYyKGFyKTMuMTcgRShnKS0uMzcgRSBGMCAzLjE3KHNhKUMgLjY3MQotKHJlIHJlYWQgYW5kIGNvbmNhdGVuYXRlZCB0b2dldGhlciBpbnRvIGEgc2luZ2xlIGNvbW1hbmQuKS0zLjE3IEYgLjY3MQotKFRoaXMgY29tbWFuZCBpcyB0aGVuIHJlYWQpNS42NzEgRiAuNDk1KGFuZCBlKTE0NCA2MjYuNCBSIC0uMTUoeGUpLS4xNSBHCi0uNDk1KGN1dGVkIGJ5IHRoZSBzaGVsbCwgYW5kIGl0cyBlKS4xNSBGIC40OTUKLSh4aXQgc3RhdHVzIGlzIHJldHVybmVkIGFzIHRoZSB2KS0uMTUgRiAuNDk1KGFsdWUgb2YpLS4yNSBGIEYxIC0yLjMgLS4xNQotKGV2IGEpMi45OTUgSChsKS4xNSBFIEYwIDUuNDk1KC5JKUMgMi45OTUoZnQpLTUuNDk1IEcgLjQ5NShoZXJlIGFyZSBubykKLS0yLjk5NSBGIEYyKGFyKTIuOTk1IEUoZ3MpLS4zNyBFIEYwKCwpLjI3IEUob3Igb25seSBudWxsIGFyKTE0NCA2MzguNCBRCi0oZ3VtZW50cywpLS4xOCBFIEYxIC0yLjMgLS4xNShldiBhKTIuNSBIKGwpLjE1IEUgRjAocmV0dXJucyAwLikyLjUgRSBGMQotKGV4ZWMpMTA4IDY1NS4yIFEgRjAoWykyLjUgRSBGMShcMjU1Y2wpQSBGMCAyLjUoXVspQyBGMTxhZDYxPi0yLjUgRSBGMgotKG5hbWUpMi41IEUgRjAgMi41KF1bKUMgRjIoY29tbWFuZCktMi41IEUgRjAoWykyLjUgRSBGMihhcilBKGd1bWVudHMpCi0tLjM3IEUgRjAoXV0pQShJZikxNDQgNjY3LjIgUSBGMihjb21tYW5kKTMuMDA1IEUgRjAgLjMwNQotKGlzIHNwZWNpXDIxNGVkLCBpdCByZXBsYWNlcyB0aGUgc2hlbGwuKTMuNTc1IEYgLjMwNShObyBuZSk1LjMwNSBGIDIuODA1Ci0od3ApLS4yNSBHIC4zMDYocm9jZXNzIGlzIGNyZWF0ZWQuKS0yLjgwNSBGKFRoZSk1LjMwNiBFIEYyKGFyKTMuMTM2IEUKLShndW1lbnRzKS0uMzcgRSBGMChiZWNvbWUpMy4wNzYgRSAuMTc3KHRoZSBhcikxNDQgNjc5LjIgUiAuMTc3Ci0oZ3VtZW50cyB0byktLjE4IEYgRjIoY29tbWFuZCkyLjY3NiBFIEYwIDUuMTc2KC5JKUMgMi42NzYoZnQpLTUuMTc2IEcKLShoZSktMi42NzYgRSBGMTxhZDZjPjIuNjc2IEUgRjAgLjE3NgotKG9wdGlvbiBpcyBzdXBwbGllZCwgdGhlIHNoZWxsIHBsYWNlcyBhIGRhc2ggYXQgdGhlIGJlKTIuNjc2IEYgLjE3NgotKGdpbm5pbmcgb2YpLS4xNSBGIC40OTkodGhlIHplcm90aCBhcikxNDQgNjkxLjIgUiAuNDk5KGd1bWVudCBwYXNzZWQgdG8pCi0tLjE4IEYgRjIoY29tbWFuZCkyLjk5OSBFIEYwIDUuNDk5KC5UKS43NyBHIC40OTkoaGlzIGlzIHdoYXQpLTUuNDk5IEYgRjIKLShsbykyLjk5OSBFKGdpbiktLjEgRSBGMCAuNDk5KFwoMVwpIGRvZXMuKS4yNCBGKFRoZSk1LjUgRSBGMTxhZDYzPjMgRSBGMAotLjUob3B0aW9uIGNhdXNlcykzIEYgRjIoY29tLSkzLjIgRShtYW5kKTE0NCA3MDMuMiBRIEYwIC42MzkodG8gYmUgZSkKLTMuOTA5IEYgLS4xNSh4ZSktLjE1IEcgLjYzOChjdXRlZCB3aXRoIGFuIGVtcHR5IGVuKS4xNSBGIDMuMTM4Ci0odmlyb25tZW50LiBJZiktLjQgRiBGMTxhZDYxPjMuMTM4IEUgRjAgLjYzOAotKGlzIHN1cHBsaWVkLCB0aGUgc2hlbGwgcGFzc2VzKTMuMTM4IEYgRjIobmFtZSkzLjQ5OCBFIEYwIC42MzgoYXMgdGhlKQotMy4zMTggRiAxLjA3Nyh6ZXJvdGggYXIpMTQ0IDcxNS4yIFIgMS4wNzcoZ3VtZW50IHRvIHRoZSBlKS0uMTggRiAtLjE1Ci0oeGUpLS4xNSBHIDEuMDc3KGN1dGVkIGNvbW1hbmQuKS4xNSBGKElmKTYuMDc3IEUgRjIoY29tbWFuZCkzLjc3NyBFIEYwCi0xLjA3NyhjYW5ub3QgYmUgZSk0LjM0NyBGIC0uMTUoeGUpLS4xNSBHIDEuMDc3KGN1dGVkIGZvciBzb21lIHJlYXNvbiwgYSkKLS4xNSBGKG5vbi1pbnRlcmFjdGkpMTQ0IDcyNy4yIFEgMi4wMDIgLS4xNSh2ZSBzKS0uMjUgSCAxLjcwMihoZWxsIGUpLjE1Ci1GIDEuNzAyKHhpdHMsIHVubGVzcyB0aGUgc2hlbGwgb3B0aW9uKS0uMTUgRiBGMShleGVjZmFpbCk0LjIwMSBFIEYwCi0xLjcwMShpcyBlbmFibGVkLCBpbiB3aGljaCBjYXNlIGl0IHJldHVybnMpNC4yMDEgRihHTlUgQmFzaC00LjApNzIgNzY4IFEKLSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUoNTMpMTkwLjk1IEUgMCBDZyBFUAorLS4zNSBFL0YxIDEwL1RpbWVzLUl0YWxpY0AwIFNGKG5hbWUpMTA4IDg0IFEgRjAKKyhmb3Igd2hpY2ggbm8gY29tcGxldGlvbiBzcGVjaVwyMTRjYXRpb24gZSkyLjUgRQorKHhpc3RzLCBvciBhbiBvdXRwdXQgZXJyb3Igb2NjdXJzLiktLjE1IEUvRjIgMTAvVGltZXMtQm9sZEAwIFNGCisoY29udGludWUpMTA4IDEwMC44IFEgRjAoWykyLjUgRSBGMShuKUEgRjAoXSlBIDEuNzU0KFJlc3VtZSB0aGUgbmUpMTQ0CisxMTIuOCBSIDEuNzU0KHh0IGl0ZXJhdGlvbiBvZiB0aGUgZW5jbG9zaW5nKS0uMTUgRiBGMiAtLjI1KGZvKTQuMjU0IEcocikKKy4yNSBFIEYwKCwpQSBGMih3aGlsZSk0LjI1NCBFIEYwKCwpQSBGMih1bnRpbCk0LjI1NCBFIEYwIDQuMjU0KCxvKUMocikKKy00LjI1NCBFIEYyKHNlbGVjdCk0LjI1NCBFIEYwIDQuMjUzKGxvb3AuIElmKTQuMjU0IEYgRjEobik0LjYxMyBFIEYwCisxLjc1MyhpcyBzcGVjaVwyMTRlZCwpNC40OTMgRiAxLjIwOChyZXN1bWUgYXQgdGhlKTE0NCAxMjQuOCBSIEYxKG4pMy43MDkKK0UgRjAgMS4yMDkodGggZW5jbG9zaW5nIGxvb3AuKUIgRjEobik2LjU2OSBFIEYwIDEuMjA5KG11c3QgYmUpMy45NDkgRi9GMworMTAvU3ltYm9sIFNGPGIzPjMuNzA5IEUgRjAgMy43MDkoMS4gSWYpMy43MDkgRiBGMShuKTQuMDY5IEUgRjAgMS4yMDkKKyhpcyBncmVhdGVyIHRoYW4gdGhlIG51bWJlciBvZiBlbmNsb3NpbmcpMy45NDkgRiAuNTE0CisobG9vcHMsIHRoZSBsYXN0IGVuY2xvc2luZyBsb29wIFwodGhlIGApMTQ0IDEzNi44IFIoYHRvcC1sZSktLjc0IEUgLS4xNQorKHZlKS0uMjUgRyhsJykuMTUgRSAzLjAxNCgnbCktLjc0IEcgLjUxNChvb3BcKSBpcyByZXN1bWVkLiktMy4wMTQgRiAuNTEzCisoVGhlIHJldHVybiB2KTUuNTEzIEYgLjUxMyhhbHVlIGlzIDAgdW5sZXNzKS0uMjUgRiBGMShuKTMuMDEzIEUgRjAoaXMpCiszLjAxMyBFKG5vdCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMS4pMTQ0IDE0OC44IFEgRjIoZGVjbGFyKTEwOCAxNjUuNgorUShlKS0uMTggRSBGMChbKTIuNSBFIEYyKFwyNTVhQWZGaWxydHV4KUEgRjAgMi41KF1bKUMgRjI8YWQ3MD4tMi41IEUgRjAKKzIuNShdWylDIEYxKG5hbWUpLTIuNSBFIEYwKFs9KUEgRjEodmFsdWUpQSBGMCAyLjUoXS4pQyguLl0pLTIuNSBFIEYyCisodHlwZXNldCkxMDggMTc3LjYgUSBGMChbKTIuNSBFIEYyKFwyNTVhQWZGaWxydHV4KUEgRjAgMi41KF1bKUMgRjI8YWQ3MD4KKy0yLjUgRSBGMCAyLjUoXVspQyBGMShuYW1lKS0yLjUgRSBGMChbPSlBIEYxKHZhbHVlKUEgRjAgMi41KF0uKUMoLi5dKQorLTIuNSBFIDEuMjY0KERlY2xhcmUgdikxNDQgMTg5LjYgUiAxLjI2NChhcmlhYmxlcyBhbmQvb3IgZ2kpLS4yNSBGIDEuNTY0CistLjE1KHZlIHQpLS4yNSBIIDEuMjY0KGhlbSBhdHRyaWIpLjE1IEYgMy43NjUodXRlcy4gSWYpLS4yIEYobm8pMy43NjUgRQorRjEobmFtZSkzLjc2NSBFIEYwIDMuNzY1KHNhKUMgMS4yNjUocmUgZ2kpLTMuNzY1IEYgLS4xNSh2ZSktLjI1IEcgMy43NjUKKyhudCkuMTUgRyAxLjI2NShoZW4gZGlzcGxheSB0aGUgdiktMy43NjUgRiAxLjI2NShhbHVlcyBvZiktLjI1IEYgLS4yNQorKHZhKTE0NCAyMDEuNiBTIDMuNDgzKHJpYWJsZXMuIFRoZSkuMjUgRiBGMjxhZDcwPjMuNDgzIEUgRjAgLjk4MworKG9wdGlvbiB3aWxsIGRpc3BsYXkgdGhlIGF0dHJpYikzLjQ4MyBGIC45ODModXRlcyBhbmQgdiktLjIgRiAuOTgyCisoYWx1ZXMgb2YgZWFjaCktLjI1IEYgRjEobmFtZSkzLjQ4MiBFIEYwIDUuOTgyKC5XKS4xOCBHKGhlbiktNS45ODIgRSBGMgorPGFkNzA+My40ODIgRSBGMCAuOTgyKGlzIHVzZWQpMy40ODIgRih3aXRoKTE0NCAyMTMuNiBRIEYxKG5hbWUpMy41NzkgRQorRjAoYXIpMy41NzkgRSAxLjA3OShndW1lbnRzLCBhZGRpdGlvbmFsIG9wdGlvbnMgYXJlIGlnbm9yZWQuKS0uMTggRgorKFdoZW4pNi4wNzkgRSBGMjxhZDcwPjMuNTc5IEUgRjAgMS4wNzkoaXMgc3VwcGxpZWQgd2l0aG91dCkzLjU3OSBGIEYxCisobmFtZSkzLjU4IEUgRjAoYXIpMy41OCBFKGd1LSktLjE4IEUgLjE1MQorKG1lbnRzLCBpdCB3aWxsIGRpc3BsYXkgdGhlIGF0dHJpYikxNDQgMjI1LjYgUiAuMTUxKHV0ZXMgYW5kIHYpLS4yIEYKKy4xNTEoYWx1ZXMgb2YgYWxsIHYpLS4yNSBGIC4xNShhcmlhYmxlcyBoYSktLjI1IEYgLjE1KHZpbmcgdGhlIGF0dHJpYikKKy0uMiBGIC4xNSh1dGVzIHNwZWNpXDIxNGVkIGJ5IHRoZSktLjIgRiAuMDQ2KGFkZGl0aW9uYWwgb3B0aW9ucy4pMTQ0CisyMzcuNiBSIC4wNDYoSWYgbm8gb3RoZXIgb3B0aW9ucyBhcmUgc3VwcGxpZWQgd2l0aCk1LjA0NiBGIEYyPGFkNzA+Mi41NDcKK0UgRjAoLClBIEYyKGRlY2xhcikyLjU0NyBFKGUpLS4xOCBFIEYwIC4wNDcod2lsbCBkaXNwbGF5IHRoZSBhdHRyaWIpCisyLjU0NyBGIC4wNDcodXRlcyBhbmQpLS4yIEYgLS4yNSh2YSkxNDQgMjQ5LjYgUyAxLjM2MworKGx1ZXMgb2YgYWxsIHNoZWxsIHYpLjI1IEYgMy44NjMoYXJpYWJsZXMuIFRoZSktLjI1IEYgRjI8YWQ2Nj4zLjg2MyBFIEYwCisxLjM2MihvcHRpb24gd2lsbCByZXN0cmljdCB0aGUgZGlzcGxheSB0byBzaGVsbCBmdW5jdGlvbnMuKTMuODYzIEYoVGhlKQorNi4zNjIgRSBGMjxhZDQ2PjMuODYyIEUgRjAgMi40MjIob3B0aW9uIGluaGliaXRzIHRoZSBkaXNwbGF5IG9mIGZ1bmN0aW9cCituIGRlXDIxNG5pdGlvbnM7IG9ubHkgdGhlIGZ1bmN0aW9uIG5hbWUgYW5kIGF0dHJpYikxNDQgMjYxLjYgUiAyLjQyMworKHV0ZXMgYXJlKS0uMiBGIDIuNjY0KHByaW50ZWQuIElmKTE0NCAyNzMuNiBSKHRoZSkyLjY2NCBFIEYyKGV4dGRlYikKKzIuNjY0IEUodWcpLS4yIEUgRjAgLjE2NChzaGVsbCBvcHRpb24gaXMgZW5hYmxlZCB1c2luZykyLjY2NCBGIEYyKHNob3B0KQorMi42NjQgRSBGMCAyLjY2NCgsdClDIC4xNjMoaGUgc291cmNlIFwyMTRsZSBuYW1lIGFuZCBsaW5lIG51bWJlciktMi42NjQKK0YgMS4zODIod2hlcmUgdGhlIGZ1bmN0aW9uIGlzIGRlXDIxNG5lZCBhcmUgZGlzcGxheWVkIGFzIHdlbGwuKTE0NCAyODUuNgorUihUaGUpNi4zODIgRSBGMjxhZDQ2PjMuODgyIEUgRjAgMS4zODIob3B0aW9uIGltcGxpZXMpMy44ODIgRiBGMjxhZDY2PgorMy44ODIgRSBGMCA2LjM4MiguVClDIDEuMzgyKGhlIGZvbGxvKS02LjM4MiBGKHdpbmcpLS4yNSBFIC43OTQKKyhvcHRpb25zIGNhbiBiZSB1c2VkIHRvIHJlc3RyaWN0IG91dHB1dCB0byB2KTE0NCAyOTcuNiBSIC43OTQKKyhhcmlhYmxlcyB3aXRoIHRoZSBzcGVjaVwyMTRlZCBhdHRyaWIpLS4yNSBGIC43OTModXRlIG9yIHRvIGdpKS0uMiBGCisxLjA5MyAtLjE1KHZlIHYpLS4yNSBIKGFyaWFibGVzKS0uMSBFKGF0dHJpYikxNDQgMzA5LjYgUSh1dGVzOiktLjIgRSBGMgorPGFkNjE+MTQ0IDMyMS42IFEgRjAoRWFjaCkyNS4zIEUgRjEobmFtZSkyLjUgRSBGMChpcyBhbiBpbmRlKTIuNSBFIC0uMTUKKyh4ZSktLjE1IEcgMi41KGRhKS4xNSBHKHJyYXkgdiktMi41IEUoYXJpYWJsZSBcKHNlZSktLjI1IEUgRjIoQXJyYXlzKTIuNQorRSBGMChhYm8pMi41IEUgLS4xNSh2ZSktLjE1IEcoXCkuKS4xNSBFIEYyPGFkNDE+MTQ0IDMzMy42IFEgRjAoRWFjaCkKKzIzLjA4IEUgRjEobmFtZSkyLjUgRSBGMChpcyBhbiBhc3NvY2lhdGkpMi41IEUgLjMgLS4xNSh2ZSBhKS0uMjUgSAorKHJyYXkgdikuMTUgRShhcmlhYmxlIFwoc2VlKS0uMjUgRSBGMihBcnJheXMpMi41IEUgRjAoYWJvKTIuNSBFIC0uMTUodmUpCistLjE1IEcoXCkuKS4xNSBFIEYyPGFkNjY+MTQ0IDM0NS42IFEgRjAoVXNlIGZ1bmN0aW9uIG5hbWVzIG9ubHkpMjYuOTcgRQorKC4pLS42NSBFIEYyPGFkNjk+MTQ0IDM1Ny42IFEgRjAgLjU1NyhUaGUgdikyNy41MiBGIC41NTgKKyhhcmlhYmxlIGlzIHRyZWF0ZWQgYXMgYW4gaW50ZSktLjI1IEYgLjU1OChnZXI7IGFyaXRobWV0aWMgZSktLjE1IEYgLS4yNQorKHZhKS0uMjUgRyAuNTU4KGx1YXRpb24gXChzZWUpLjI1IEYvRjQgOS9UaW1lcy1Cb2xkQDAgU0YgLjU1OAorKEFSSVRITUVUSUMgRVYpMy4wNTggRihBTFUpLTEuMjE1IEUoQS0pLS41NCBFKFRJT04pMTgwIDM2OS42IFEgRjAoYWJvKQorMi4yNSBFIC0uMTUodmUpLS4xNSBHIDIuNShcKWkpLjE1IEcgMi41KHNwKS0yLjUgRyhlcmZvcm1lZCB3aGVuIHRoZSB2KQorLTIuNSBFKGFyaWFibGUgaXMgYXNzaWduZWQgYSB2KS0uMjUgRShhbHVlLiktLjI1IEUgRjI8YWQ2Yz4xNDQgMzgxLjYgUQorRjAgLjkxKFdoZW4gdGhlIHYpMjcuNTIgRiAuOTA5KGFyaWFibGUgaXMgYXNzaWduZWQgYSB2KS0uMjUgRiAuOTA5CisoYWx1ZSwgYWxsIHVwcGVyKS0uMjUgRiAuOTA5KC1jYXNlIGNoYXJhY3RlcnMgYXJlIGNvbiktLjIgRiAtLjE1KHZlKS0uNAorRyAuOTA5KHJ0ZWQgdG8gbG8pLjE1IEYod2VyKS0uMjUgRSgtKS0uMiBFIDIuNShjYXNlLiBUaGUpMTgwIDM5My42IFIKKyh1cHBlcikyLjUgRSgtY2FzZSBhdHRyaWIpLS4yIEUodXRlIGlzIGRpc2FibGVkLiktLjIgRSBGMjxhZDcyPjE0NCA0MDUuNgorUSBGMChNYWspMjUuODYgRShlKS0uMSBFIEYxKG5hbWUpNS4wNDYgRSBGMCA1LjA0NihzcilDKGVhZG9ubHkpLTUuMDQ2IEUKKzcuNTQ2KC5UKS0uNjUgRyAyLjU0NihoZXNlIG5hbWVzIGNhbm5vdCB0aGVuIGJlIGFzc2lnbmVkIHYpLTcuNTQ2IEYKKzIuNTQ3KGFsdWVzIGJ5IHN1YnNlcXVlbnQpLS4yNSBGKGFzc2lnbm1lbnQgc3RhdGVtZW50cyBvciB1bnNldC4pMTgwCis0MTcuNiBRIEYyPGFkNzQ+MTQ0IDQyOS42IFEgRjAoR2kpMjYuOTcgRSAuNzMgLS4xNSh2ZSBlKS0uMjUgSChhY2gpLjE1IEUKK0YxKG5hbWUpMi45MyBFIEYwKHRoZSkyLjkyOSBFIEYxKHRyKTIuOTI5IEUoYWNlKS0uMTUgRSBGMChhdHRyaWIpMi45MjkgRQorMi45MjkodXRlLiBUKS0uMiBGIC40MjkocmFjZWQgZnVuY3Rpb25zIGluaGVyaXQgdGhlKS0uMzUgRiBGMihERUIpMi45MjkKK0UoVUcpLS4xIEUgRjAoYW5kKTIuOTI5IEUgRjIoUkVUVVJOKTIuOTI5IEUgRjAKKyh0cmFwcyBmcm9tIHRoZSBjYWxsaW5nIHNoZWxsLikxODAgNDQxLjYgUShUaGUgdHJhY2UgYXR0cmliKTUgRQorKHV0ZSBoYXMgbm8gc3BlY2lhbCBtZWFuaW5nIGZvciB2KS0uMiBFKGFyaWFibGVzLiktLjI1IEUgRjI8YWQ3NT4xNDQKKzQ1My42IFEgRjAgLjkwOShXaGVuIHRoZSB2KTI0Ljc0IEYgLjkwOShhcmlhYmxlIGlzIGFzc2lnbmVkIGEgdiktLjI1IEYKKy45MDkoYWx1ZSwgYWxsIGxvKS0uMjUgRih3ZXIpLS4yNSBFIC45MDkoLWNhc2UgY2hhcmFjdGVycyBhcmUgY29uKS0uMiBGCistLjE1KHZlKS0uNCBHIC45MShydGVkIHRvIHVwcGVyKS4xNSBGKC0pLS4yIEUgMi41KGNhc2UuIFRoZSkxODAgNDY1LjYgUgorKGxvKTIuNSBFKHdlciktLjI1IEUoLWNhc2UgYXR0cmliKS0uMiBFKHV0ZSBpcyBkaXNhYmxlZC4pLS4yIEUgRjI8YWQ3OD4KKzE0NCA0NzcuNiBRIEYwKE1hcmspMjUuMyBFIEYxKG5hbWUpMi41IEUgRjAgMi41KHNmKUMob3IgZSktMi41IEUKKyh4cG9ydCB0byBzdWJzZXF1ZW50IGNvbW1hbmRzIHZpYSB0aGUgZW4pLS4xNSBFKHZpcm9ubWVudC4pLS40IEUgLjEyMQorKFVzaW5nIGArJyBpbnN0ZWFkIG9mIGBcMjU1JyB0dXJucyBvZikxNDQgNDk0LjQgUiAyLjYyMShmdCktLjI1IEcgLjEyMQorKGhlIGF0dHJpYiktMi42MjEgRiAuMTIxKHV0ZSBpbnN0ZWFkLCB3aXRoIHRoZSBlKS0uMiBGIC4xMgorKHhjZXB0aW9ucyB0aGF0KS0uMTUgRiBGMigrYSkyLjYyIEUgRjAgLjEyKG1heSBub3QgYmUgdXNlZCkyLjYyIEYgLjY0NAorKHRvIGRlc3RybykxNDQgNTA2LjQgUiAzLjE0NCh5YSktLjEgRyAzLjE0NChuYSktMy4xNDQgRyAuNjQ0KHJyYXkgdikKKy0zLjE0NCBGIC42NDQoYXJpYWJsZSBhbmQpLS4yNSBGIEYyKCtyKTMuMTQ1IEUgRjAgLjY0NSh3aWxsIG5vdCByZW1vKQorMy4xNDUgRiAuOTQ1IC0uMTUodmUgdCktLjE1IEggLjY0NShoZSByZWFkb25seSBhdHRyaWIpLjE1IEYgMy4xNDUKKyh1dGUuIFdoZW4pLS4yIEYgLjY0NSh1c2VkIGluIGEgZnVuYy0pMy4xNDUgRiAxLjk0NSh0aW9uLCBtYWspMTQ0IDUxOC40CitSIDEuOTQ1KGVzIGVhY2gpLS4xIEYgRjEobmFtZSk0LjQ0NSBFIEYwIDEuOTQ1KGxvY2FsLCBhcyB3aXRoIHRoZSk0LjQ0NQorRiBGMihsb2NhbCk0LjQ0NCBFIEYwIDQuNDQ0KGNvbW1hbmQuIElmKTQuNDQ0IEYgNC40NDQoYXYpNC40NDQgRyAxLjk0NAorKGFyaWFibGUgbmFtZSBpcyBmb2xsbyktNC42OTQgRiAxLjk0NCh3ZWQgYnkpLS4yNSBGKD0pMTQ0IDUzMC40IFEgRjEKKyh2YWx1ZSlBIEYwIDMuMjM4KCx0KUMgLjczOChoZSB2KS0zLjIzOCBGIC43MzgoYWx1ZSBvZiB0aGUgdiktLjI1IEYgLjczOAorKGFyaWFibGUgaXMgc2V0IHRvKS0uMjUgRiBGMSh2YWx1ZSkzLjIzOCBFIEYwIDUuNzM4KC5UKUMgLjczOAorKGhlIHJldHVybiB2KS01LjczOCBGIC43MzkoYWx1ZSBpcyAwIHVubGVzcyBhbiBpbiktLjI1IEYgLS4yNSh2YSktLjQgRworLjczOShsaWQgb3B0aW9uIGlzKS4yNSBGIC42MDMKKyhlbmNvdW50ZXJlZCwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGRlXDIxNG5lIGEgZnVuY3Rpb24gdXNpbmcpMTQ0IDU0Mi40CitSL0Y1IDEwL0NvdXJpZXJAMCBTRiAuNjAzKFwyNTVmIGZvbz1iYXIpMy4xMDMgRiBGMCAzLjEwMygsYSlDIDMuMTAzKG5hKQorLTMuMTAzIEcgLjYwMyh0dGVtcHQgaXMgbWFkZSB0byktMy4xMDMgRiAxLjI0Mihhc3NpZ24gYSB2KTE0NCA1NTQuNCBSCisxLjI0MihhbHVlIHRvIGEgcmVhZG9ubHkgdiktLjI1IEYgMS4yNDIKKyhhcmlhYmxlLCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gYXNzaWduIGEgdiktLjI1IEYgMS4yNDMKKyhhbHVlIHRvIGFuIGFycmF5IHYpLS4yNSBGKGFyaWFibGUpLS4yNSBFIDEuMzg2Cisod2l0aG91dCB1c2luZyB0aGUgY29tcG91bmQgYXNzaWdubWVudCBzeW50YXggXChzZWUpMTQ0IDU2Ni40IFIgRjIKKyhBcnJheXMpMy44ODYgRSBGMChhYm8pMy44ODYgRSAtLjE1KHZlKS0uMTUgRyAxLjM4NihcKSwgb25lIG9mIHRoZSkuMTUgRgorRjEobmFtZXMpMy44ODYgRSBGMCAxLjM4NihpcyBub3QgYSkzLjg4NiBGIC0uMjUodmEpMTQ0IDU3OC40IFMgLjE3MQorKGxpZCBzaGVsbCB2KS4yNSBGIC4xNzEoYXJpYWJsZSBuYW1lLCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gdHVybiBvZiktLjI1CitGIDIuNjcxKGZyKS0uMjUgRyAuMTcxKGVhZG9ubHkgc3RhdHVzIGZvciBhIHJlYWRvbmx5IHYpLTIuNjcxIEYgLjE3MgorKGFyaWFibGUsIGFuKS0uMjUgRiAuOTYoYXR0ZW1wdCBpcyBtYWRlIHRvIHR1cm4gb2YpMTQ0IDU5MC40IFIgMy40NihmYSkKKy0uMjUgRyAuOTYocnJheSBzdGF0dXMgZm9yIGFuIGFycmF5IHYpLTMuNDYgRiAuOTYKKyhhcmlhYmxlLCBvciBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gZGlzcGxheSBhKS0uMjUgRihub24tZSkxNDQgNjAyLjQgUQorKHhpc3RlbnQgZnVuY3Rpb24gd2l0aCktLjE1IEUgRjI8YWQ2Nj4yLjUgRSBGMCguKUEgRjIoZGlycyBbKykxMDggNjE5LjIKK1EgRjEobilBIEYyIDIuNShdWylDPGFkPi0yLjUgRSBGMShuKUEgRjIgMi41KF1bKUMoXDI1NWNwbHZdKS0yLjUgRSBGMAorLS40KFdpKTE0NCA2MzEuMiBTIC4zMjgKKyh0aG91dCBvcHRpb25zLCBkaXNwbGF5cyB0aGUgbGlzdCBvZiBjdXJyZW50bHkgcmVtZW1iZXJlZCBkaXJlY3Rvcmllcy4pCisuNCBGIC4zMjkoVGhlIGRlZik1LjMyOSBGIC4zMjkoYXVsdCBkaXNwbGF5IGlzIG9uIGEpLS4xIEYgMS4yMzgKKyhzaW5nbGUgbGluZSB3aXRoIGRpcmVjdG9yeSBuYW1lcyBzZXBhcmF0ZWQgYnkgc3BhY2VzLikxNDQgNjQzLjIgUiAxLjIzOAorKERpcmVjdG9yaWVzIGFyZSBhZGRlZCB0byB0aGUgbGlzdCB3aXRoIHRoZSk2LjIzOCBGIEYyKHB1c2hkKTE0NCA2NTUuMiBRCitGMChjb21tYW5kOyB0aGUpMi41IEUgRjIocG9wZCkyLjUgRSBGMChjb21tYW5kIHJlbW8pMi41IEUgLS4xNSh2ZSktLjE1IEcKKzIuNShzZSkuMTUgRyhudHJpZXMgZnJvbSB0aGUgbGlzdC4pLTIuNSBFIEYyKCspMTQ0IDY2Ny4yIFEgRjEobilBIEYwCisxLjU2NChEaXNwbGF5cyB0aGUpMjUuMyBGIEYxKG4pNC4wNjQgRSBGMCAxLjU2NQorKHRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3Qgc2hvKUIgMS41NjUod24gYnkpLS4yNSBGIEYyCisoZGlycyk0LjA2NSBFIEYwIDEuNTY1KHdoZW4gaW4pNC4wNjUgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcoZCkuMSBFCisod2l0aG91dCBvcHRpb25zLCBzdGFydGluZyB3aXRoIHplcm8uKTE4MCA2NzkuMiBRIEYyPGFkPjE0NCA2OTEuMiBRIEYxCisobilBIEYwIDEuMTk0KERpc3BsYXlzIHRoZSkyNS4zIEYgRjEobikzLjY5NCBFIEYwIDEuMTk0CisodGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgcmlnaHQgb2YgdGhlIGxpc3Qgc2hvKUIgMS4xOTQod24gYnkpLS4yNSBGCitGMihkaXJzKTMuNjk0IEUgRjAgMS4xOTQod2hlbiBpbikzLjY5NCBGIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyhkKS4xIEUKKyh3aXRob3V0IG9wdGlvbnMsIHN0YXJ0aW5nIHdpdGggemVyby4pMTgwIDcwMy4yIFEgRjI8YWQ2Mz4xNDQgNzE1LjIgUSBGMAorKENsZWFycyB0aGUgZGlyZWN0b3J5IHN0YWNrIGJ5IGRlbGV0aW5nIGFsbCBvZiB0aGUgZW50cmllcy4pMjUuODYgRQorKEdOVSBCYXNoLTQuMSk3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg1MykxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiA1NCA1NAogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRSAtLjEoZmEpMTQ0IDg0IFMgMi41NjMoaWx1cmUuIEFuKS4xIEYoaW50ZXJhY3RpKTIuNTYzIEUgLjM2MyAtLjE1Ci0odmUgcyktLjI1IEggLjA2MyhoZWxsIHJldHVybnMgZikuMTUgRiAuMDY0Ci0oYWlsdXJlIGlmIHRoZSBcMjE0bGUgY2Fubm90IGJlIGUpLS4xIEYgLS4xNSh4ZSktLjE1IEcgMi41NjQoY3V0ZWQuIElmKQotLjE1IEYvRjEgMTAvVGltZXMtSXRhbGljQDAgU0YoY29tbWFuZCkyLjc2NCBFIEYwIC4wNjQoaXMgbm90IHNwZWNpLSkKLTMuMzM0IEYgLjc0MihcMjE0ZWQsIGFuKTE0NCA5NiBSIDMuMjQyKHlyKS0uMTUgRyAuNzQyKGVkaXJlY3Rpb25zIHRhaykKLS0zLjI0MiBGIDMuMjQyKGVlKS0uMSBHIC0uMjUoZmYpLTMuMjQyIEcgLjc0MgotKGVjdCBpbiB0aGUgY3VycmVudCBzaGVsbCwgYW5kIHRoZSByZXR1cm4gc3RhdHVzIGlzIDAuKS4yNSBGIC43NDEKLShJZiB0aGVyZSBpcyBhIHJlZGktKTUuNzQxIEYocmVjdGlvbiBlcnJvcikxNDQgMTA4IFEgMi41KCx0KS0uNCBHCi0oaGUgcmV0dXJuIHN0YXR1cyBpcyAxLiktMi41IEUvRjIgMTAvVGltZXMtQm9sZEAwIFNGKGV4aXQpMTA4IDEyNC44IFEgRjAKLShbKTIuNSBFIEYxKG4pQSBGMCA2LjI5KF1DKUMgLjA5NShhdXNlIHRoZSBzaGVsbCB0byBlKS02LjI5IEYgLjA5NQotKHhpdCB3aXRoIGEgc3RhdHVzIG9mKS0uMTUgRiBGMShuKTIuNTk1IEUgRjAgNS4wOTUoLkkpQyhmKS01LjA5NSBFIEYxKG4pCi0yLjk1NSBFIEYwIC4wOTYoaXMgb21pdHRlZCwgdGhlIGUpMi44MzUgRiAuMDk2Ci0oeGl0IHN0YXR1cyBpcyB0aGF0IG9mIHRoZSBsYXN0IGNvbW1hbmQpLS4xNSBGIC0uMTUoZXhlKTE0NCAxMzYuOCBTIDIuNQotKGN1dGVkLiBBKS4xNSBGKHRyYXAgb24pMi41IEUvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoRVhJVCkyLjUgRSBGMChpcyBlKQotMi4yNSBFIC0uMTUoeGUpLS4xNSBHKGN1dGVkIGJlZm9yZSB0aGUgc2hlbGwgdGVybWluYXRlcy4pLjE1IEUgRjIKLShleHBvcnQpMTA4IDE1My42IFEgRjAoWykyLjUgRSBGMihcMjU1Zm4pQSBGMCAyLjUoXVspLjgzMyBHIEYxKG5hbWUpLTIuNQotRSBGMChbPSlBIEYxKHdvcilBKGQpLS4zNyBFIEYwKF1dIC4uLilBIEYyKGV4cG9ydCBcMjU1cCkxMDggMTY1LjYgUSBGMAotLjI1NyhUaGUgc3VwcGxpZWQpMTQ0IDE3Ny42IFIgRjEobmFtZXMpMy4xMTcgRSBGMCAuMjU3KGFyZSBtYXJrKTMuMDI3IEYKLS4yNTcoZWQgZm9yIGF1dG9tYXRpYyBlKS0uMSBGIC4yNTcoeHBvcnQgdG8gdGhlIGVuKS0uMTUgRiAuMjU3Ci0odmlyb25tZW50IG9mIHN1YnNlcXVlbnRseSBlKS0uNCBGIC0uMTUoeGUpLS4xNSBHKGN1dGVkKS4xNSBFIDIuNjI2Ci0oY29tbWFuZHMuIElmKTE0NCAxODkuNiBSKHRoZSkyLjYyNiBFIEYyPGFkNjY+Mi42MjYgRSBGMCAuMTI3Ci0ob3B0aW9uIGlzIGdpKTIuNjI3IEYgLS4xNSh2ZSktLjI1IEcgLjEyNyhuLCB0aGUpLjE1IEYgRjEobmFtZXMpMi45ODcgRQotRjAgLjEyNyhyZWZlciB0byBmdW5jdGlvbnMuKTIuODk3IEYgLjEyNyhJZiBubyk1LjEyNyBGIEYxKG5hbWVzKTIuOTg3IEUKLUYwIC4xMjcoYXJlIGdpKTIuODk3IEYgLS4xNSh2ZSktLjI1IEcgLjEyNyhuLCBvciBpZiB0aGUpLjE1IEYgRjI8YWQ3MD4KLTE0NCAyMDEuNiBRIEYwIC42NihvcHRpb24gaXMgc3VwcGxpZWQsIGEgbGlzdCBvZiBhbGwgbmFtZXMgdGhhdCBhcmUgZSkKLTMuMTYgRiAuNjU5KHhwb3J0ZWQgaW4gdGhpcyBzaGVsbCBpcyBwcmludGVkLiktLjE1IEYoVGhlKTUuNjU5IEUgRjIKLTxhZDZlPjMuMTU5IEUgRjAob3B0aW9uKTMuMTU5IEUgMS41ODYoY2F1c2VzIHRoZSBlKTE0NCAyMTMuNiBSIDEuNTg2Ci0oeHBvcnQgcHJvcGVydHkgdG8gYmUgcmVtbyktLjE1IEYgLS4xNSh2ZSktLjE1IEcgNC4wODYoZGYpLjE1IEcgMS41ODYKLShyb20gZWFjaCktNC4wODYgRiBGMShuYW1lKTQuMDg2IEUgRjAgNi41ODYoLkkpQyA0LjA4NihmYXYpLTYuNTg2IEcKLTEuNTg3KGFyaWFibGUgbmFtZSBpcyBmb2xsbyktNC4zMzYgRiAxLjU4Nyh3ZWQgYnkpLS4yNSBGKD0pMTQ0IDIyNS42IFEKLUYxKHdvcilBKGQpLS4zNyBFIEYwIDIuODA0KCx0KUMgLjMwNChoZSB2KS0yLjgwNCBGIC4zMDQoYWx1ZSBvZiB0aGUgdikKLS0uMjUgRiAuMzA0KGFyaWFibGUgaXMgc2V0IHRvKS0uMjUgRiBGMSh3b3IpMi44MDQgRShkKS0uMzcgRSBGMCguKUEgRjIKLShleHBvcnQpNS4zMDQgRSBGMCAuMzA0KHJldHVybnMgYW4gZSkyLjgwNCBGIC4zMDMKLSh4aXQgc3RhdHVzIG9mIDAgdW5sZXNzIGFuIGluKS0uMTUgRiAtLjI1KHZhKS0uNCBHKGxpZCkuMjUgRSAuMjkzCi0ob3B0aW9uIGlzIGVuY291bnRlcmVkLCBvbmUgb2YgdGhlKTE0NCAyMzcuNiBSIEYxKG5hbWVzKTIuNzkzIEUgRjAgLjI5MwotKGlzIG5vdCBhIHYpMi43OTMgRiAuMjkzKGFsaWQgc2hlbGwgdiktLjI1IEYgLjI5MyhhcmlhYmxlIG5hbWUsIG9yKS0uMjUKLUYgRjI8YWQ2Nj4yLjc5MyBFIEYwIC4yOTQoaXMgc3VwcGxpZWQgd2l0aCBhKTIuNzkzIEYgRjEobmFtZSkxNDQuMzYKLTI0OS42IFEgRjAodGhhdCBpcyBub3QgYSBmdW5jdGlvbi4pMi42OCBFIEYyKGZjKTEwOCAyNjYuNCBRIEYwKFspMi41IEUKLUYyPGFkNjU+QSBGMShlbmFtZSkyLjUgRSBGMCAyLjUoXVspQyBGMihcMjU1bG5yKS0yLjUgRSBGMCAyLjUoXVspQyBGMQotPDhjNzI+LTIuNSBFKHN0KS0uMSBFIEYwIDIuNShdWylDIEYxKGxhc3QpLTIuNSBFIEYwKF0pQSBGMihmYyBcMjU1cykxMDgKLTI3OC40IFEgRjAoWykyLjUgRSBGMShwYXQpQSBGMCg9KUEgRjEgLS4zNyhyZSlDKHApLjM3IEUgRjAgMi41KF1bKUMgRjEKLShjbWQpLTIuNSBFIEYwKF0pQSAuNDc4KEZpeCBDb21tYW5kLikxNDQgMjkwLjQgUiAuNDc4Ci0oSW4gdGhlIFwyMTRyc3QgZm9ybSwgYSByYW5nZSBvZiBjb21tYW5kcyBmcm9tKTUuNDc4IEYgRjE8OGM3Mj40Ljg4OCBFCi0oc3QpLS4xIEUgRjAodG8pMy42NTggRSBGMShsYXN0KTMuMDY4IEUgRjAgLjQ3NwotKGlzIHNlbGVjdGVkIGZyb20gdGhlIGhpcy0pMy42NTggRiAuODgxKHRvcnkgbGlzdC4pMTQ0IDMwMi40IFIgRjEgLS40NQotKEZpKTUuODgxIEcgLS4xKHJzKS40NSBHKHQpLjEgRSBGMChhbmQpNC4wNjEgRSBGMShsYXN0KTMuNDcxIEUgRjAgLjg4MgotKG1heSBiZSBzcGVjaVwyMTRlZCBhcyBhIHN0cmluZyBcKHRvIGxvY2F0ZSB0aGUgbGFzdCBjb21tYW5kIGJlKTQuMDYyIEYKLS44ODIoZ2lubmluZyB3aXRoKS0uMTUgRiAuNzk3KHRoYXQgc3RyaW5nXCkgb3IgYXMgYSBudW1iZXIgXChhbiBpbmRlKTE0NAotMzE0LjQgUiAzLjI5Nyh4aSktLjE1IEcgLjc5NyhudG8gdGhlIGhpc3RvcnkgbGlzdCwgd2hlcmUgYSBuZSktMy4yOTcgRgotLS4wNShnYSktLjE1IEcodGkpLjA1IEUgMS4wOTcgLS4xNSh2ZSBuKS0uMjUgSCAuNzk2KHVtYmVyIGlzIHVzZWQgYXMgYW4pCi0uMTUgRihvZikxNDQgMzI2LjQgUSAuMjc2KGZzZXQgZnJvbSB0aGUgY3VycmVudCBjb21tYW5kIG51bWJlclwpLiktLjI1IEYKLShJZik1LjI3NiBFIEYxKGxhc3QpMi44NjYgRSBGMCAuMjc3Ci0oaXMgbm90IHNwZWNpXDIxNGVkIGl0IGlzIHNldCB0byB0aGUgY3VycmVudCBjb21tYW5kKTMuNDU2IEYgLjA5MwotKGZvciBsaXN0aW5nIFwoc28gdGhhdCkxNDQgMzM4LjQgUi9GNCAxMC9Db3VyaWVyQDAgU0YgLjA5MgotKGZjIFwyNTVsIFwyNTUxMCkyLjU5MiBGIEYwIC4wOTIocHJpbnRzIHRoZSBsYXN0IDEwIGNvbW1hbmRzXCkgYW5kIHRvKQotMi41OTIgRiBGMTw4YzcyPjQuNTAyIEUoc3QpLS4xIEUgRjAgMi41OTIob3RoZXJ3aXNlLiBJZikzLjI3MiBGIEYxPDhjNzI+Ci00LjUwMiBFKHN0KS0uMSBFIEYwIC4wOTIoaXMgbm90KTMuMjcyIEYKLShzcGVjaVwyMTRlZCBpdCBpcyBzZXQgdG8gdGhlIHByZSkxNDQgMzUwLjQgUQotKHZpb3VzIGNvbW1hbmQgZm9yIGVkaXRpbmcgYW5kIFwyNTUxNiBmb3IgbGlzdGluZy4pLS4yNSBFKFRoZSkxNDQgMzc0LjQKLVEgRjI8YWQ2ZT4yLjUyMiBFIEYwIC4wMjIKLShvcHRpb24gc3VwcHJlc3NlcyB0aGUgY29tbWFuZCBudW1iZXJzIHdoZW4gbGlzdGluZy4pMi41MjIgRihUaGUpNS4wMjIgRQotRjI8YWQ3Mj4yLjUyMiBFIEYwIC4wMjIob3B0aW9uIHJlKTIuNTIyIEYgLS4xNSh2ZSktLjI1IEcgLjAyMgotKHJzZXMgdGhlIG9yZGVyIG9mKS4xNSBGIC40MzgodGhlIGNvbW1hbmRzLikxNDQgMzg2LjQgUiAuNDM4KElmIHRoZSkKLTUuNDM4IEYgRjI8YWQ2Yz4yLjkzOCBFIEYwIC40Mzgob3B0aW9uIGlzIGdpKTIuOTM4IEYgLS4xNSh2ZSktLjI1IEcgLjQzOAotKG4sIHRoZSBjb21tYW5kcyBhcmUgbGlzdGVkIG9uIHN0YW5kYXJkIG91dHB1dC4pLjE1IEYoT3RoZXJ3aXNlLCk1LjQzOCBFCi0uMzM0KHRoZSBlZGl0b3IgZ2kpMTQ0IDM5OC40IFIgLS4xNSh2ZSktLjI1IEcgMi44MzQobmIpLjE1IEcoeSktMi44MzQgRQotRjEoZW5hbWUpMy4wMjQgRSBGMCAuMzM1KGlzIGluKTMuMDE0IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuODM1Ci0oZG8pLjEgRyAyLjgzNShuYVwyMTQpLTIuODM1IEcgLjMzNShsZSBjb250YWluaW5nIHRob3NlIGNvbW1hbmRzLiktMi44MzUKLUYoSWYpNS4zMzUgRSBGMShlbmFtZSkzLjAyNSBFIEYwIC4zMzUoaXMgbm90IGdpKTMuMDE1IEYgLS4xNSh2ZSktLjI1IEcKLShuLCkuMTUgRSAuNjMxKHRoZSB2KTE0NCA0MTAuNCBSIC42MzEoYWx1ZSBvZiB0aGUpLS4yNSBGIEYzKEZDRURJVCkzLjEzMQotRSBGMCAtLjI1KHZhKTIuODgxIEcgLjYzMShyaWFibGUgaXMgdXNlZCwgYW5kIHRoZSB2KS4yNSBGIC42MzEoYWx1ZSBvZikKLS0uMjUgRiBGMyhFRElUKTMuMTMxIEUoT1IpLS4xNjIgRSBGMChpZikyLjg4MSBFIEYzKEZDRURJVCkzLjEzIEUgRjAgLjYzCi0oaXMgbm90IHNldC4pMi44OCBGIC42MyhJZiBuZWktKTUuNjMgRiAuOTUodGhlciB2KTE0NCA0MjIuNCBSIC45NQotKGFyaWFibGUgaXMgc2V0LCktLjI1IEYgRjEodmkpNS4xMTYgRSBGMCAuOTUoaXMgdXNlZC4pNS4xMTYgRiAuOTUxCi0oV2hlbiBlZGl0aW5nIGlzIGNvbXBsZXRlLCB0aGUgZWRpdGVkIGNvbW1hbmRzIGFyZSBlY2hvZWQgYW5kKTUuOTUgRgotLS4xNShleGUpMTQ0IDQzNC40IFMoY3V0ZWQuKS4xNSBFIC4wNChJbiB0aGUgc2Vjb25kIGZvcm0sKTE0NCA0NTguNCBSIEYxCi0oY29tbWFuZCkyLjU0IEUgRjAgLjA0KGlzIHJlLWUpMi41NCBGIC0uMTUoeGUpLS4xNSBHIC4wMzkKLShjdXRlZCBhZnRlciBlYWNoIGluc3RhbmNlIG9mKS4xNSBGIEYxKHBhdCkyLjUzOSBFIEYwIC4wMzkKLShpcyByZXBsYWNlZCBieSkyLjUzOSBGIEYxIC0uMzcocmUpMi41MzkgRyhwKS4zNyBFIEYwIDUuMDM5KC5BKUModXNlZnVsKQotLTIuNSBFIC40MDYoYWxpYXMgdG8gdXNlIHdpdGggdGhpcyBpcykxNDQgNDcwLjQgUiBGNCAuNDA2KHI9J2ZjIFwyNTVzJykKLTIuOTA2IEYgRjAgMi45MDYoLHMpQyAyLjkwNihvdCktMi45MDYgRyAuNDA2KGhhdCB0eXBpbmcpLTIuOTA2IEYgRjQKLTYuNDA2KHJjKTIuOTA2IEcoYyktNi40MDYgRSBGMCAuNDA2KHJ1bnMgdGhlIGxhc3QgY29tbWFuZCBiZSkyLjkwNiBGCi0uNDA3KGdpbm5pbmcgd2l0aCktLjE1IEYgRjQoY2MpMTQ0IDQ4Mi40IFEgRjAoYW5kIHR5cGluZykyLjUgRSBGNChyKTIuNQotRSBGMChyZS1lKTIuNSBFIC0uMTUoeGUpLS4xNSBHKGN1dGVzIHRoZSBsYXN0IGNvbW1hbmQuKS4xNSBFIC4xNDIKLShJZiB0aGUgXDIxNHJzdCBmb3JtIGlzIHVzZWQsIHRoZSByZXR1cm4gdikxNDQgNTA2LjQgUiAuMTQyCi0oYWx1ZSBpcyAwIHVubGVzcyBhbiBpbiktLjI1IEYgLS4yNSh2YSktLjQgRyAuMTQyCi0obGlkIG9wdGlvbiBpcyBlbmNvdW50ZXJlZCBvcikuMjUgRiBGMTw4YzcyPjQuNTUyIEUoc3QpLS4xIEUgRjAob3IpMy4zMjIKLUUgRjEobGFzdCkyLjczMiBFIEYwIC40NTQoc3BlY2lmeSBoaXN0b3J5IGxpbmVzIG91dCBvZiByYW5nZS4pMTQ0IDUxOC40Ci1SIC40NTQoSWYgdGhlKTUuNDU0IEYgRjI8YWQ2NT4yLjk1NCBFIEYwIC40NTQKLShvcHRpb24gaXMgc3VwcGxpZWQsIHRoZSByZXR1cm4gdikyLjk1NCBGIC40NTUoYWx1ZSBpcyB0aGUgdiktLjI1IEYgLjQ1NQotKGFsdWUgb2YgdGhlKS0uMjUgRiAuNzg4KGxhc3QgY29tbWFuZCBlKTE0NCA1MzAuNCBSIC0uMTUoeGUpLS4xNSBHIC43ODgKLShjdXRlZCBvciBmKS4xNSBGIC43ODcKLShhaWx1cmUgaWYgYW4gZXJyb3Igb2NjdXJzIHdpdGggdGhlIHRlbXBvcmFyeSBcMjE0bGUgb2YgY29tbWFuZHMuKS0uMSBGCi0uNzg3KElmIHRoZSk1Ljc4NyBGIDEuMTM1Ci0oc2Vjb25kIGZvcm0gaXMgdXNlZCwgdGhlIHJldHVybiBzdGF0dXMgaXMgdGhhdCBvZiB0aGUgY29tbWFuZCByZS1lKTE0NAotNTQyLjQgUiAtLjE1KHhlKS0uMTUgRyAxLjEzNihjdXRlZCwgdW5sZXNzKS4xNSBGIEYxKGNtZCkzLjgzNiBFIEYwIDEuMTM2Ci0oZG9lcyBub3QpNC40MDYgRihzcGVjaWZ5IGEgdikxNDQgNTU0LjQgUQotKGFsaWQgaGlzdG9yeSBsaW5lLCBpbiB3aGljaCBjYXNlKS0uMjUgRSBGMihmYykyLjUgRSBGMChyZXR1cm5zIGYpMi41IEUKLShhaWx1cmUuKS0uMSBFIEYyKGZnKTEwOCA1NzEuMiBRIEYwKFspMi41IEUgRjEoam9ic3BlYylBIEYwKF0pQShSZXN1bWUpCi0xNDQgNTgzLjIgUSBGMShqb2JzcGVjKTUuNjU0IEUgRjAgMS40MTMoaW4gdGhlIGZvcmUpNC4yMjQgRiAxLjQxMwotKGdyb3VuZCwgYW5kIG1hayktLjE1IEYgMy45MTMoZWkpLS4xIEcgMy45MTModHQpLTMuOTEzIEcgMS40MTMKLShoZSBjdXJyZW50IGpvYiktMy45MTMgRiA2LjQxMyguSSktLjQgRyhmKS02LjQxMyBFIEYxKGpvYnNwZWMpNS42NTMgRSBGMAotMS40MTMoaXMgbm90IHByZXNlbnQsIHRoZSk0LjIyMyBGKHNoZWxsJykxNDQgNTk1LjIgUSAzLjExNihzbiktLjU1IEcKLS42MTYob3Rpb24gb2YgdGhlKS0zLjExNiBGIEYxKGN1cnIpMy4xMTYgRSAuNjE2KGVudCBqb2IpLS4zNyBGIEYwIC42MTcKLShpcyB1c2VkLikzLjExNiBGIC42MTcoVGhlIHJldHVybiB2KTUuNjE3IEYgLjYxNwotKGFsdWUgaXMgdGhhdCBvZiB0aGUgY29tbWFuZCBwbGFjZWQgaW50byB0aGUpLS4yNSBGKGZvcmUpMTQ0IDYwNy4yIFEKLS4zNjMoZ3JvdW5kLCBvciBmKS0uMTUgRiAuMzYzCi0oYWlsdXJlIGlmIHJ1biB3aGVuIGpvYiBjb250cm9sIGlzIGRpc2FibGVkIG9yKS0uMSBGIDIuODYyKCx3KS0uNCBHIC4zNjIKLShoZW4gcnVuIHdpdGggam9iIGNvbnRyb2wgZW5hYmxlZCwgaWYpLTIuODYyIEYgRjEoam9ic3BlYykxNDUuNzQgNjE5LjIgUQotRjAgLjAwNChkb2VzIG5vdCBzcGVjaWZ5IGEgdikyLjgxNCBGIC4wMDQoYWxpZCBqb2Igb3IpLS4yNSBGIEYxKGpvYnNwZWMpCi00LjI0NCBFIEYwIC4wMDQoc3BlY2lcMjE0ZXMgYSBqb2IgdGhhdCB3KTIuODE0IEYgLjAwNAotKGFzIHN0YXJ0ZWQgd2l0aG91dCBqb2IgY29udHJvbC4pLS4xIEYgRjIoZ2V0b3B0cykxMDggNjM2IFEgRjEKLShvcHRzdHJpbmcgbmFtZSkyLjUgRSBGMChbKTIuNSBFIEYxKGFyKUEoZ3MpLS4zNyBFIEYwKF0pQSBGMihnZXRvcHRzKTE0NAotNjQ4IFEgRjAgLjc5MwotKGlzIHVzZWQgYnkgc2hlbGwgcHJvY2VkdXJlcyB0byBwYXJzZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuKTMuMjk0IEYgRjEKLShvcHRzdHJpbmcpNi4wMjMgRSBGMCAuNzkzKGNvbnRhaW5zIHRoZSBvcHRpb24pMy41MTMgRiAuMTQ5Ci0oY2hhcmFjdGVycyB0byBiZSByZWNvZ25pemVkOyBpZiBhIGNoYXJhY3RlciBpcyBmb2xsbykxNDQgNjYwIFIgLjE1Ci0od2VkIGJ5IGEgY29sb24sIHRoZSBvcHRpb24gaXMgZSktLjI1IEYgLjE1KHhwZWN0ZWQgdG8gaGEpLS4xNSBGIC40NQotLS4xNSh2ZSBhKS0uMiBIKG4pLjE1IEUoYXIpMTQ0IDY3MiBRIC41NzkKLShndW1lbnQsIHdoaWNoIHNob3VsZCBiZSBzZXBhcmF0ZWQgZnJvbSBpdCBieSB3aGl0ZSBzcGFjZS4pLS4xOCBGIC41NzgKLShUaGUgY29sb24gYW5kIHF1ZXN0aW9uIG1hcmsgY2hhcik1LjU3OSBGKC0pLS4yIEUgMS42NjUKLShhY3RlcnMgbWF5IG5vdCBiZSB1c2VkIGFzIG9wdGlvbiBjaGFyYWN0ZXJzLikxNDQgNjg0IFIgMS42NjUKLShFYWNoIHRpbWUgaXQgaXMgaW4pNi42NjUgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcoZCwpLjEgRSBGMihnZXRvcHRzKQotNC4xNjUgRSBGMCAxLjY2NShwbGFjZXMgdGhlIG5lKTQuMTY1IEYoeHQpLS4xNSBFIC43OTcKLShvcHRpb24gaW4gdGhlIHNoZWxsIHYpMTQ0IDY5NiBSKGFyaWFibGUpLS4yNSBFIEYxKG5hbWUpMy4yOTcgRSBGMCAzLjI5NwotKCxpKS4xOCBHKG5pdGlhbGl6aW5nKS0zLjI5NyBFIEYxKG5hbWUpMy42NTcgRSBGMCAuNzk3KGlmIGl0IGRvZXMgbm90IGUpCi0zLjQ3NyBGIC43OTYoeGlzdCwgYW5kIHRoZSBpbmRlKS0uMTUgRiAzLjI5Nih4byktLjE1IEcgMy4yOTYoZnQpLTMuMjk2IEcKLS43OTYoaGUgbmUpLTMuMjk2IEYoeHQpLS4xNSBFKGFyKTE0NCA3MDggUSAuMDg1Ci0oZ3VtZW50IHRvIGJlIHByb2Nlc3NlZCBpbnRvIHRoZSB2KS0uMTggRihhcmlhYmxlKS0uMjUgRSBGMyhPUFRJTkQpMi41ODUKLUUvRjUgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMyhPUFRJTkQpNC41ODUgRSBGMCAuMDg1Ci0oaXMgaW5pdGlhbGl6ZWQgdG8gMSBlYWNoIHRpbWUgdGhlIHNoZWxsKTIuMzM1IEYgLjg0NgotKG9yIGEgc2hlbGwgc2NyaXB0IGlzIGluKTE0NCA3MjAgUiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMy4zNDUKLShkLiBXaGVuKS4xIEYgLjg0NShhbiBvcHRpb24gcmVxdWlyZXMgYW4gYXIpMy4zNDUgRihndW1lbnQsKS0uMTggRSBGMgotKGdldG9wdHMpMy4zNDUgRSBGMCAuODQ1KHBsYWNlcyB0aGF0IGFyKTMuMzQ1IEYoZ3VtZW50KS0uMTggRQotKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUoNTQpMTkwLjk1IEUgMCBDZyBFUAorLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRjxhZDZjPjE0NCA4NCBRIEYwIC4zMjQKKyhQcm9kdWNlcyBhIGxvbmdlciBsaXN0aW5nOyB0aGUgZGVmKTI3LjUyIEYgLjMyNAorKGF1bHQgbGlzdGluZyBmb3JtYXQgdXNlcyBhIHRpbGRlIHRvIGRlbm90ZSB0aGUgaG9tZSBkaXJlYy0pLS4xIEYodG9yeSkKKzE4MCA5NiBRKC4pLS42NSBFIEYxPGFkNzA+MTQ0IDEwOCBRIEYwCisoUHJpbnQgdGhlIGRpcmVjdG9yeSBzdGFjayB3aXRoIG9uZSBlbnRyeSBwZXIgbGluZS4pMjQuNzQgRSBGMTxhZDc2PjE0NAorMTIwIFEgRjAgLjI3MyhQcmludCB0aGUgZGlyZWN0b3J5IHN0YWNrIHdpdGggb25lIGVudHJ5IHBlciBsaW5lLCBwcmVcCitcMjE0eGluZyBlYWNoIGVudHJ5IHdpdGggaXRzIGluZGUpMjUuMyBGIDIuNzcyKHhpKS0uMTUgRyAyLjc3MihudCktMi43NzIKK0coaGUpLTIuNzcyIEUoc3RhY2suKTE4MCAxMzIgUSAuMjU3KFRoZSByZXR1cm4gdikxNDQgMTQ4LjggUiAuMjU4CisoYWx1ZSBpcyAwIHVubGVzcyBhbiBpbiktLjI1IEYgLS4yNSh2YSktLjQgRyAuMjU4CisobGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvcikuMjUgRi9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihuKTIuNzU4IEUgRjAKKyhpbmRlKTIuNzU4IEUgLS4xNSh4ZSktLjE1IEcgMi43NTgoc2IpLjE1IEcgLS4xNShleSktMi43NTggRyAuMjU4Cisob25kIHRoZSBlbmQgb2YgdGhlIGRpcmVjLSkuMTUgRih0b3J5IHN0YWNrLikxNDQgMTYwLjggUSBGMShkaXNvKTEwOAorMTc3LjYgUSh3biktLjEgRSBGMChbKTIuNSBFIEYxKFwyNTVhcilBIEYwIDIuNShdWylDIEYxPGFkNjg+LTIuNSBFIEYwCisyLjUoXVspQyBGMihqb2JzcGVjKS0yLjUgRSBGMCguLi5dKTIuNSBFIC0uNChXaSkxNDQgMTg5LjYgUyAuMjk1CisodGhvdXQgb3B0aW9ucywgZWFjaCkuNCBGIEYyKGpvYnNwZWMpNC41MzUgRSBGMCAuMjk1KGlzIHJlbW8pMy4xMDUgRgorLS4xNSh2ZSktLjE1IEcgMi43OTUoZGYpLjE1IEcgLjI5NShyb20gdGhlIHRhYmxlIG9mIGFjdGkpLTIuNzk1IEYgLjU5NQorLS4xNSh2ZSBqKS0uMjUgSCAyLjc5NShvYnMuIElmKS4xNSBGIEYyKGpvYnNwZWMpNC41MzUgRSBGMCAuMjk1CisoaXMgbm90IHByZXNlbnQsKTMuMTA1IEYgLjQyMihhbmQgbmVpdGhlcikxNDQgMjAxLjYgUiBGMTxhZDYxPjIuOTIyIEUgRjAKKyhub3IpMi45MjIgRSBGMTxhZDcyPjIuOTIyIEUgRjAgLjQyMihpcyBzdXBwbGllZCwgdGhlIHNoZWxsJykyLjkyMiBGCisyLjkyMihzbiktLjU1IEcgLjQyMihvdGlvbiBvZiB0aGUpLTIuOTIyIEYgRjIoY3VycikyLjkyMyBFIC40MjMoZW50IGpvYikKKy0uMzcgRiBGMCAuNDIzKGlzIHVzZWQuKTIuOTIzIEYgLjQyMyhJZiB0aGUpNS40MjMgRiBGMTxhZDY4PjIuOTIzIEUgRjAKKy40MjMob3B0aW9uIGlzKTIuOTIzIEYoZ2kpMTQ0IDIxMy42IFEgLS4xNSh2ZSktLjI1IEcgLjE0MShuLCBlYWNoKS4xNSBGCitGMihqb2JzcGVjKTQuMzgxIEUgRjAgLjE0MShpcyBub3QgcmVtbykyLjk1MSBGIC0uMTUodmUpLS4xNSBHIDIuNjQxKGRmKQorLjE1IEcgLjE0MShyb20gdGhlIHRhYmxlLCBiKS0yLjY0MSBGIC4xNDEodXQgaXMgbWFyayktLjIgRiAuMTQxCisoZWQgc28gdGhhdCktLjEgRi9GMyA5L1RpbWVzLUJvbGRAMCBTRihTSUdIVVApMi42NDEgRSBGMCAuMTQKKyhpcyBub3Qgc2VudCB0byB0aGUpMi4zOSBGIC4wMDQoam9iIGlmIHRoZSBzaGVsbCByZWNlaSkxNDQgMjI1LjYgUiAtLjE1CisodmUpLS4yNSBHIDIuNTA0KHNhKS4xNSBHIEYzKFNJR0hVUClBL0Y0IDkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAgLjAwNAorKElmIG5vKTQuNTA0IEYgRjIoam9ic3BlYyk0LjI0NCBFIEYwIC4wMDQoaXMgcHJlc2VudCwgYW5kIG5laXRoZXIgdGhlKQorMi44MTQgRiBGMTxhZDYxPjIuNTA0IEUgRjAgLjAwNShub3IgdGhlKTIuNTA0IEYgRjE8YWQ3Mj4yLjUwNSBFIEYwIC4wMDUKKyhvcHRpb24gaXMpMi41MDUgRiAxLjIyOShzdXBwbGllZCwgdGhlKTE0NCAyMzcuNiBSIEYyKGN1cnIpMy43MjkgRSAxLjIyOQorKGVudCBqb2IpLS4zNyBGIEYwIDEuMjI5KGlzIHVzZWQuKTMuNzI5IEYgMS4yMjkoSWYgbm8pNi4yMjkgRiBGMgorKGpvYnNwZWMpNS40NjkgRSBGMCAxLjIyOShpcyBzdXBwbGllZCwgdGhlKTQuMDM5IEYgRjE8YWQ2MT4zLjcyOSBFIEYwCisxLjIyOChvcHRpb24gbWVhbnMgdG8gcmVtbykzLjcyOSBGIDEuNTI4IC0uMTUodmUgbyktLjE1IEgocikuMTUgRSAuNjU2CisobWFyayBhbGwgam9iczsgdGhlKTE0NCAyNDkuNiBSIEYxPGFkNzI+My4xNTYgRSBGMCAuNjU3Cisob3B0aW9uIHdpdGhvdXQgYSkzLjE1NiBGIEYyKGpvYnNwZWMpNC44OTcgRSBGMChhcikzLjQ2NyBFIC42NTcKKyhndW1lbnQgcmVzdHJpY3RzIG9wZXJhdGlvbiB0byBydW5uaW5nIGpvYnMuKS0uMTggRihUaGUpNS42NTcgRQorKHJldHVybiB2KTE0NCAyNjEuNiBRKGFsdWUgaXMgMCB1bmxlc3MgYSktLjI1IEUgRjIoam9ic3BlYyk0LjI0IEUgRjAKKyhkb2VzIG5vdCBzcGVjaWZ5IGEgdikyLjgxIEUoYWxpZCBqb2IpLS4yNSBFKC4pLS40IEUgRjEoZWNobykxMDggMjc4LjQgUQorRjAoWykyLjUgRSBGMShcMjU1bmVFKUEgRjAgMi41KF1bKUMgRjIoYXIpLTIuNSBFKGcpLS4zNyBFIEYwKC4uLl0pMi41IEUKKy4zOTUoT3V0cHV0IHRoZSkxNDQgMjkwLjQgUiBGMihhcikyLjg5NSBFKGcpLS4zNyBFIEYwIC4zOTUKKyhzLCBzZXBhcmF0ZWQgYnkgc3BhY2VzLCBmb2xsbylCIC4zOTUod2VkIGJ5IGEgbmUpLS4yNSBGIDIuODk1Cisod2xpbmUuIFRoZSktLjI1IEYgLjM5NChyZXR1cm4gc3RhdHVzIGlzIGFsKTIuODk1IEYgLS4xKHdhKS0uMSBHIC4zOTQKKyh5cyAwLikuMSBGKElmKTUuMzk0IEUgRjE8YWQ2ZT4yLjg5NCBFIEYwIC41NDgKKyhpcyBzcGVjaVwyMTRlZCwgdGhlIHRyYWlsaW5nIG5lKTE0NCAzMDIuNCBSIC41NDgod2xpbmUgaXMgc3VwcHJlc3NlZC4pCistLjI1IEYgLjU0OChJZiB0aGUpNS41NDggRiBGMTxhZDY1PjMuMDQ4IEUgRjAgLjU0OChvcHRpb24gaXMgZ2kpMy4wNDggRgorLS4xNSh2ZSktLjI1IEcgLjU0OChuLCBpbnRlcnByZXRhdGlvbiBvZiB0aGUgZm9sLSkuMTUgRihsbykxNDQgMzE0LjQgUQorLjA1Myh3aW5nIGJhY2tzbGFzaC1lc2NhcGVkIGNoYXJhY3RlcnMgaXMgZW5hYmxlZC4pLS4yNSBGKFRoZSk1LjA1MyBFIEYxCis8YWQ0NT4yLjU1MyBFIEYwIC4wNTIob3B0aW9uIGRpc2FibGVzIHRoZSBpbnRlcnByZXRhdGlvbiBvZiB0aGVzZSkyLjU1MgorRiAxLjUwMihlc2NhcGUgY2hhcmFjdGVycywgZSkxNDQgMzI2LjQgUiAtLjE1KHZlKS0uMjUgRyA0LjAwMihubykuMTUgRworNC4wMDIobnMpLTQuMDAyIEcgMS41MDIoeXN0ZW1zIHdoZXJlIHRoZSktNC4wMDIgRiA0LjAwMih5YSktLjE1IEcgMS41MDIKKyhyZSBpbnRlcnByZXRlZCBieSBkZWYpLTQuMDAyIEYgNC4wMDMoYXVsdC4gVGhlKS0uMSBGIEYxKHhwZ19lY2hvKTQuMDAzCitFIEYwKHNoZWxsKTQuMDAzIEUgLjAwOQorKG9wdGlvbiBtYXkgYmUgdXNlZCB0byBkeW5hbWljYWxseSBkZXRlcm1pbmUgd2hldGhlciBvciBub3QpMTQ0IDMzOC40IFIKK0YxKGVjaG8pMi41MDkgRSBGMCAtLjE1KGV4KTIuNTA5IEcgLjAwOShwYW5kcyB0aGVzZSBlc2NhcGUgY2hhcmFjdGVycykKKy4xNSBGIC42NTkoYnkgZGVmKTE0NCAzNTAuNCBSKGF1bHQuKS0uMSBFIEYxKGVjaG8pNS42NTkgRSBGMCAuNjU5CisoZG9lcyBub3QgaW50ZXJwcmV0KTMuMTU5IEYgRjE8YWRhZD4zLjE1OSBFIEYwIC42NTkKKyh0byBtZWFuIHRoZSBlbmQgb2Ygb3B0aW9ucy4pMy4xNTkgRiBGMShlY2hvKTUuNjYgRSBGMCAuNjYKKyhpbnRlcnByZXRzIHRoZSBmb2xsbykzLjE2IEYod2luZyktLjI1IEUoZXNjYXBlIHNlcXVlbmNlczopMTQ0IDM2Mi40IFEKK0YxKFxcYSkxNDQgMzc0LjQgUSBGMChhbGVydCBcKGJlbGxcKSkyOC4yMiBFIEYxKFxcYikxNDQgMzg2LjQgUSBGMAorKGJhY2tzcGFjZSkyNy42NiBFIEYxKFxcYykxNDQgMzk4LjQgUSBGMChzdXBwcmVzcyBmdXJ0aGVyIG91dHB1dCkyOC43OCBFCitGMShcXGUpMTQ0IDQxMC40IFEgRjAoYW4gZXNjYXBlIGNoYXJhY3RlcikyOC43OCBFIEYxKFxcZikxNDQgNDIyLjQgUSBGMAorKGZvcm0gZmVlZCkyOS44OSBFIEYxKFxcbikxNDQgNDM0LjQgUSBGMChuZSkyNy42NiBFIDIuNSh3bCktLjI1IEcoaW5lKQorLTIuNSBFIEYxKFxccikxNDQgNDQ2LjQgUSBGMChjYXJyaWFnZSByZXR1cm4pMjguNzggRSBGMShcXHQpMTQ0IDQ1OC40IFEKK0YwKGhvcml6b250YWwgdGFiKTI5Ljg5IEUgRjEoXFx2KTE0NCA0NzAuNCBRIEYwIC0uMTUodmUpMjguMjIgRworKHJ0aWNhbCB0YWIpLjE1IEUgRjEoXFxcXCkxNDQgNDgyLjQgUSBGMChiYWNrc2xhc2gpMzAuNDQgRSBGMShcXDApMTQ0Cis0OTQuNCBRIEYyKG5ubilBIEYwKHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHYpMTMuMjIgRQorKGFsdWUgaXMgdGhlIG9jdGFsIHYpLS4yNSBFKGFsdWUpLS4yNSBFIEYyKG5ubikyLjUgRSBGMAorKFwoemVybyB0byB0aHJlZSBvY3RhbCBkaWdpdHNcKSkyLjUgRSBGMShcXHgpMTQ0IDUwNi40IFEgRjIoSEgpQSBGMAorKHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHYpMTMuNzggRShhbHVlIGlzIHRoZSBoZSktLjI1IEUKKyh4YWRlY2ltYWwgdiktLjE1IEUoYWx1ZSktLjI1IEUgRjIoSEgpMi41IEUgRjAoXChvbmUgb3IgdHcpMi41IEUgMi41KG9oKQorLS4xIEcgLjMgLS4xNShleCBkKS0yLjUgSChpZ2l0c1wpKS4xNSBFIEYxKGVuYWJsZSkxMDggNTIzLjIgUSBGMChbKTIuNSBFCitGMTxhZDYxPkEgRjAgMi41KF1bKUMgRjEoXDI1NWRucHMpLTIuNSBFIEYwIDIuNShdWylDIEYxPGFkNjY+LTIuNSBFIEYyCisoXDIxNGxlbmFtZSkyLjUgRSBGMCAyLjUoXVspQyBGMihuYW1lKS0yLjUgRSBGMCguLi5dKTIuNSBFIC4yNzgKKyhFbmFibGUgYW5kIGRpc2FibGUgYikxNDQgNTM1LjIgUiAuMjc4KHVpbHRpbiBzaGVsbCBjb21tYW5kcy4pLS4yIEYgLjI3OAorKERpc2FibGluZyBhIGIpNS4yNzggRiAuMjc4KHVpbHRpbiBhbGxvKS0uMiBGIC4yNzgKKyh3cyBhIGRpc2sgY29tbWFuZCB3aGljaCBoYXMpLS4yNSBGIC44MzModGhlIHNhbWUgbmFtZSBhcyBhIHNoZWxsIGIpMTQ0Cis1NDcuMiBSIC44MzQodWlsdGluIHRvIGJlIGUpLS4yIEYgLS4xNSh4ZSktLjE1IEcgLjgzNAorKGN1dGVkIHdpdGhvdXQgc3BlY2lmeWluZyBhIGZ1bGwgcGF0aG5hbWUsIGUpLjE1IEYgLS4xNSh2ZSktLjI1IEcgMy4zMzQKKyhudCkuMTUgRyhob3VnaCktMy4zMzQgRSAuOTkodGhlIHNoZWxsIG5vcm1hbGx5IHNlYXJjaGVzIGZvciBiKTE0NCA1NTkuMgorUiAuOTg5KHVpbHRpbnMgYmVmb3JlIGRpc2sgY29tbWFuZHMuKS0uMiBGKElmKTUuOTg5IEUgRjE8YWQ2ZT4zLjQ4OSBFIEYwCisuOTg5KGlzIHVzZWQsIGVhY2gpMy40ODkgRiBGMihuYW1lKTMuNDg5IEUgRjAgLjk4OShpcyBkaXMtKTMuNDg5IEYgMS41ODEKKyhhYmxlZDsgb3RoZXJ3aXNlLCkxNDQgNTcxLjIgUiBGMihuYW1lcyk0LjA4MiBFIEYwIDEuNTgyKGFyZSBlbmFibGVkLikKKzQuMDgyIEYgLS4xNShGbyk2LjU4MiBHIDQuMDgyKHJlKS4xNSBHIDEuNTgyKHhhbXBsZSwgdG8gdXNlIHRoZSktNC4yMzIgRgorRjEodGVzdCk0LjA4MiBFIEYwIDEuNTgyKGJpbmFyeSBmb3VuZCB2aWEgdGhlKTQuMDgyIEYgRjMgLS42NjYoUEEpNC4wODIKK0coVEgpLS4xODkgRSBGMCAuMDgxKGluc3RlYWQgb2YgdGhlIHNoZWxsIGIpMTQ0IDU4My4yIFIgLjA4MSh1aWx0aW4gdikKKy0uMiBGIC4wODEoZXJzaW9uLCBydW4pLS4xNSBGL0Y1IDEwL0NvdXJpZXJAMCBTRiAuMDgxKGVuYWJsZSAtbiB0ZXN0KQorMi41ODEgRiBGMCA1LjA4MSguVClDKGhlKS01LjA4MSBFIEYxPGFkNjY+Mi41OCBFIEYwIC4wOAorKG9wdGlvbiBtZWFucyB0byBsb2FkIHRoZSBuZSkyLjU4IEYodyktLjI1IEUgLS4yKGJ1KTE0NCA1OTUuMiBTIDEuNTI0CisoaWx0aW4gY29tbWFuZCkuMiBGIEYyKG5hbWUpNC4zODQgRSBGMCAxLjUyNChmcm9tIHNoYXJlZCBvYmplY3QpNC4yMDQgRgorRjIoXDIxNGxlbmFtZSk0LjAyNCBFIEYwIDQuMDI0KCxvKS4xOCBHIDQuMDI0KG5zKS00LjAyNCBHIDEuNTI0CisoeXN0ZW1zIHRoYXQgc3VwcG9ydCBkeW5hbWljIGxvYWRpbmcuKS00LjAyNCBGKFRoZSkxNDQgNjA3LjIgUSBGMTxhZDY0PgorMi44NjcgRSBGMCAuMzY3KG9wdGlvbiB3aWxsIGRlbGV0ZSBhIGIpMi44NjcgRiAuMzY3KHVpbHRpbiBwcmUpLS4yIEYKKy4zNjcodmlvdXNseSBsb2FkZWQgd2l0aCktLjI1IEYgRjE8YWQ2Nj4yLjg2NiBFIEYwIDUuMzY2KC5JKUMgMi44NjYoZm4pCistNS4zNjYgRyhvKS0yLjg2NiBFIEYyKG5hbWUpMi44NjYgRSBGMChhcikyLjg2NiBFIC4zNjYoZ3VtZW50cyBhcmUgZ2kpCistLjE4IEYgLS4xNSh2ZSktLjI1IEcgLjM2NihuLCBvcikuMTUgRiAuMzk4KGlmIHRoZSkxNDQgNjE5LjIgUiBGMTxhZDcwPgorMi44OTggRSBGMCAuMzk5KG9wdGlvbiBpcyBzdXBwbGllZCwgYSBsaXN0IG9mIHNoZWxsIGIpMi44OTkgRiAuMzk5CisodWlsdGlucyBpcyBwcmludGVkLiktLjIgRiAtLjQoV2kpNS4zOTkgRyAuMzk5KHRoIG5vIG90aGVyIG9wdGlvbiBhcikuNAorRiAuMzk5KGd1bWVudHMsIHRoZSktLjE4IEYgLjA5OShsaXN0IGNvbnNpc3RzIG9mIGFsbCBlbmFibGVkIHNoZWxsIGIpMTQ0Cis2MzEuMiBSIDIuNTk4KHVpbHRpbnMuIElmKS0uMiBGIEYxPGFkNmU+Mi41OTggRSBGMCAuMDk4CisoaXMgc3VwcGxpZWQsIG9ubHkgZGlzYWJsZWQgYikyLjU5OCBGIC4wOTgodWlsdGlucyBhcmUgcHJpbnRlZC4pLS4yIEYKKyhJZik1LjA5OCBFIEYxPGFkNjE+Mi41OTggRSBGMCAxLjkxNgorKGlzIHN1cHBsaWVkLCB0aGUgbGlzdCBwcmludGVkIGluY2x1ZGVzIGFsbCBiKTE0NCA2NDMuMiBSIDEuOTE2CisodWlsdGlucywgd2l0aCBhbiBpbmRpY2F0aW9uIG9mIHdoZXRoZXIgb3Igbm90IGVhY2ggaXMpLS4yIEYgMi44NzkKKyhlbmFibGVkLiBJZikxNDQgNjU1LjIgUiBGMTxhZDczPjIuODc5IEUgRjAgLjM3OQorKGlzIHN1cHBsaWVkLCB0aGUgb3V0cHV0IGlzIHJlc3RyaWN0ZWQgdG8gdGhlIFBPU0lYKTIuODc5IEYgRjIoc3BlY2lhbCkKKzIuODc5IEUgRjAgLS4yKGJ1KTIuODc4IEcgMi44NzgoaWx0aW5zLiBUaGUpLjIgRiAuMzc4KHJldHVybiB2KTIuODc4IEYKKyhhbHVlKS0uMjUgRSAuOTk0KGlzIDAgdW5sZXNzIGEpMTQ0IDY2Ny4yIFIgRjIobmFtZSkzLjg1NCBFIEYwIC45OTQKKyhpcyBub3QgYSBzaGVsbCBiKTMuNjc0IEYgLjk5NCh1aWx0aW4gb3IgdGhlcmUgaXMgYW4gZXJyb3IgbG9hZGluZyBhIG5lKQorLS4yIEYgMy40OTUod2IpLS4yNSBHIC45OTUodWlsdGluIGZyb20gYSBzaGFyZWQpLTMuNjk1IEYob2JqZWN0LikxNDQKKzY3OS4yIFEgRjEgLTIuMyAtLjE1KGV2IGEpMTA4IDY5NiBUKGwpLjE1IEUgRjAoWykyLjUgRSBGMihhcilBKGcpLS4zNyBFCitGMCguLi5dKTIuNSBFKFRoZSkxNDQgNzA4IFEgRjIoYXIpMy4xNzEgRShnKS0uMzcgRSBGMCAzLjE3MShzYSlDIC42NzEKKyhyZSByZWFkIGFuZCBjb25jYXRlbmF0ZWQgdG9nZXRoZXIgaW50byBhIHNpbmdsZSBjb21tYW5kLiktMy4xNzEgRiAuNjcKKyhUaGlzIGNvbW1hbmQgaXMgdGhlbiByZWFkKTUuNjcgRiAuNDk1KGFuZCBlKTE0NCA3MjAgUiAtLjE1KHhlKS0uMTUgRworLjQ5NShjdXRlZCBieSB0aGUgc2hlbGwsIGFuZCBpdHMgZSkuMTUgRiAuNDk1CisoeGl0IHN0YXR1cyBpcyByZXR1cm5lZCBhcyB0aGUgdiktLjE1IEYgLjQ5NShhbHVlIG9mKS0uMjUgRiBGMSAtMi4zIC0uMTUKKyhldiBhKTIuOTk1IEgobCkuMTUgRSBGMCA1LjQ5NSguSSlDIDIuOTk1KGZ0KS01LjQ5NSBHIC40OTUoaGVyZSBhcmUgbm8pCistMi45OTUgRiBGMihhcikyLjk5NSBFKGdzKS0uMzcgRSBGMCgsKS4yNyBFKEdOVSBCYXNoLTQuMSk3MiA3NjggUQorKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDU0KTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDU1IDU1CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFIC44MDMoaW50byB0aGUgdikxNDQgODQgUihhcmlhYmxlKS0uMjUgRS9GMSA5L1RpbWVzLUJvbGRAMCBTRihPUFQpCi0zLjMwMyBFKEFSRyktLjgxIEUvRjIgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMCAuODAzCi0oVGhlIHNoZWxsIGRvZXMgbm90IHJlc2V0KTUuMzAzIEYgRjEoT1BUSU5EKTMuMzAzIEUgRjAgLjgwNAotKGF1dG9tYXRpY2FsbHk7IGl0IG11c3QgYmUgbWFudWFsbHkpMy4wNTQgRiAuMjk0Ci0ocmVzZXQgYmV0d2VlbiBtdWx0aXBsZSBjYWxscyB0bykxNDQgOTYgUi9GMyAxMC9UaW1lcy1Cb2xkQDAgU0YoZ2V0b3B0cykKLTIuNzkzIEUgRjAgLjI5Myh3aXRoaW4gdGhlIHNhbWUgc2hlbGwgaW4pMi43OTMgRiAtLjIodm8pLS40IEcgLjI5MwotKGNhdGlvbiBpZiBhIG5lKS4yIEYgMi43OTMod3MpLS4yNSBHIC4yOTMoZXQgb2YgcGFyYW1ldGVycyktMi43OTMgRgotKGlzIHRvIGJlIHVzZWQuKTE0NCAxMDggUSAyLjA0MyhXaGVuIHRoZSBlbmQgb2Ygb3B0aW9ucyBpcyBlbmNvdW50ZXJlZCwpCi0xNDQgMTMyIFIgRjMoZ2V0b3B0cyk0LjU0MyBFIEYwIC0uMTUoZXgpNC41NDMgRyAyLjA0MwotKGl0cyB3aXRoIGEgcmV0dXJuIHYpLjE1IEYgMi4wNDQoYWx1ZSBncmVhdGVyIHRoYW4gemVyby4pLS4yNSBGIEYzCi0oT1BUSU5EKTE0NCAxNDQgUSBGMChpcyBzZXQgdG8gdGhlIGluZGUpMi41IEUgMi41KHhvKS0uMTUgRyAyLjUoZnQpLTIuNQotRyhoZSBcMjE0cnN0IG5vbi1vcHRpb24gYXIpLTIuNSBFKGd1bWVudCwgYW5kKS0uMTggRSBGMyhuYW1lKTIuNSBFIEYwCi0oaXMgc2V0IHRvID8uKTIuNSBFIEYzKGdldG9wdHMpMTQ0IDE2OCBRIEYwIDIuMzkzCi0obm9ybWFsbHkgcGFyc2VzIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMsIGIpNC44OTMgRiAyLjM5MgotKHV0IGlmIG1vcmUgYXIpLS4yIEYgMi4zOTIoZ3VtZW50cyBhcmUgZ2kpLS4xOCBGIC0uMTUodmUpLS4yNSBHIDQuODkyCi0obmkpLjE1IEcobiktNC44OTIgRS9GNCAxMC9UaW1lcy1JdGFsaWNAMCBTRihhcik0Ljg5MiBFKGdzKS0uMzcgRSBGMCgsKQotLjI3IEUgRjMoZ2V0b3B0cykxNDQgMTgwIFEgRjAocGFyc2VzIHRob3NlIGluc3RlYWQuKTIuNSBFIEYzKGdldG9wdHMpMTQ0Ci0yMDQgUSBGMCAxLjE2NShjYW4gcmVwb3J0IGVycm9ycyBpbiB0dykzLjY2NSBGIDMuNjY1KG93KS0uMSBHIDMuNjY1Ci0oYXlzLiBJZiktMy43NjUgRiAxLjE2NSh0aGUgXDIxNHJzdCBjaGFyYWN0ZXIgb2YpMy42NjUgRiBGNChvcHRzdHJpbmcpCi0zLjg5NSBFIEYwIDEuMTY2KGlzIGEgY29sb24sKTMuODg2IEYgRjQoc2lsZW50KTQuMDA2IEUgRjAoZXJyb3IpNC4zNDYgRQotMS4yNjQocmVwb3J0aW5nIGlzIHVzZWQuKTE0NCAyMTYgUiAxLjI2MwotKEluIG5vcm1hbCBvcGVyYXRpb24gZGlhZ25vc3RpYyBtZXNzYWdlcyBhcmUgcHJpbnRlZCB3aGVuIGluKTYuMjYzIEYKLS0uMjUodmEpLS40IEcgMS4yNjMobGlkIG9wdGlvbnMgb3IpLjI1IEYgLjM5MyhtaXNzaW5nIG9wdGlvbiBhcikxNDQgMjI4Ci1SIC4zOTMoZ3VtZW50cyBhcmUgZW5jb3VudGVyZWQuKS0uMTggRiAuMzk0KElmIHRoZSB2KTUuMzk0IEYoYXJpYWJsZSkKLS0uMjUgRSBGMShPUFRFUlIpMi44OTQgRSBGMCAuMzk0KGlzIHNldCB0byAwLCBubyBlcnJvciBtZXNzYWdlcykyLjY0NCBGCi0od2lsbCBiZSBkaXNwbGF5ZWQsIGUpMTQ0IDI0MCBRIC0uMTUodmUpLS4yNSBHIDIuNShuaSkuMTUgRyAyLjUoZnQpLTIuNQotRyhoZSBcMjE0cnN0IGNoYXJhY3RlciBvZiktMi41IEUgRjQob3B0c3RyaW5nKTIuNzMgRSBGMChpcyBub3QgYSBjb2xvbi4pCi0yLjcyIEUgLjY2NyhJZiBhbiBpbikxNDQgMjY0IFIgLS4yNSh2YSktLjQgRyAuNjY3KGxpZCBvcHRpb24gaXMgc2VlbiwpCi0uMjUgRiBGMyhnZXRvcHRzKTMuMTY3IEUgRjAgLjY2NyhwbGFjZXMgPyBpbnRvKTMuMTY3IEYgRjQobmFtZSkzLjUyNyBFCi1GMCAuNjY2KGFuZCwgaWYgbm90IHNpbGVudCwgcHJpbnRzIGFuIGVycm9yIG1lc3NhZ2UpMy4zNDcgRiAuMzk5Ci0oYW5kIHVuc2V0cykxNDQgMjc2IFIgRjEoT1BUKTIuODk5IEUoQVJHKS0uODEgRSBGMiguKUEgRjAoSWYpNC44OTkgRSBGMwotKGdldG9wdHMpMi44OTkgRSBGMCAuMzk5Ci0oaXMgc2lsZW50LCB0aGUgb3B0aW9uIGNoYXJhY3RlciBmb3VuZCBpcyBwbGFjZWQgaW4pMi44OTkgRiBGMShPUFQpMi44OTkKLUUoQVJHKS0uODEgRSBGMCAuNChhbmQgbm8pMi42NSBGKGRpYWdub3N0aWMgbWVzc2FnZSBpcyBwcmludGVkLikxNDQgMjg4Ci1RIDEuMjQyKElmIGEgcmVxdWlyZWQgYXIpMTQ0IDMxMiBSIDEuMjQyKGd1bWVudCBpcyBub3QgZm91bmQsIGFuZCktLjE4IEYKLUYzKGdldG9wdHMpMy43NDEgRSBGMCAxLjI0MShpcyBub3Qgc2lsZW50LCBhIHF1ZXN0aW9uIG1hcmsgXCgpMy43NDEgRiBGMwotKD8pLjgzMyBFIEYwIDMuNzQxKFwpaSkuODMzIEcgMy43NDEoc3ApLTMuNzQxIEcgMS4yNDEobGFjZWQgaW4pLTMuNzQxIEYKLUY0KG5hbWUpMTQ0IDMyNCBRIEYwKCwpLjE4IEUgRjEoT1BUKTIuNzM0IEUoQVJHKS0uODEgRSBGMCAuMjM0Ci0oaXMgdW5zZXQsIGFuZCBhIGRpYWdub3N0aWMgbWVzc2FnZSBpcyBwcmludGVkLikyLjQ4NCBGKElmKTUuMjM0IEUgRjMKLShnZXRvcHRzKTIuNzM0IEUgRjAgLjIzNShpcyBzaWxlbnQsIHRoZW4gYSBjb2xvbiBcKCkyLjczNCBGIEYzKDopLjgzMyBFCi1GMChcKSkuODMzIEUoaXMgcGxhY2VkIGluKTE0NCAzMzYgUSBGNChuYW1lKTIuODYgRSBGMChhbmQpMi42OCBFIEYxKE9QVCkKLTIuNSBFKEFSRyktLjgxIEUgRjAoaXMgc2V0IHRvIHRoZSBvcHRpb24gY2hhcmFjdGVyIGZvdW5kLikyLjI1IEUgRjMKLShnZXRvcHRzKTE0NCAzNjAgUSBGMCAuOTAyCi0ocmV0dXJucyB0cnVlIGlmIGFuIG9wdGlvbiwgc3BlY2lcMjE0ZWQgb3IgdW5zcGVjaVwyMTRlZCwgaXMgZm91bmQuKQotMy40MDIgRiAuOTAyKEl0IHJldHVybnMgZik1LjkwMiBGIC45MDEoYWxzZSBpZiB0aGUgZW5kIG9mKS0uMSBGCi0ob3B0aW9ucyBpcyBlbmNvdW50ZXJlZCBvciBhbiBlcnJvciBvY2N1cnMuKTE0NCAzNzIgUSBGMyhoYXNoKTEwOCAzODguOAotUSBGMChbKTIuNSBFIEYzKFwyNTVscilBIEYwIDIuNShdWylDIEYzPGFkNzA+LTIuNSBFIEY0KFwyMTRsZW5hbWUpMi41IEUKLUYwIDIuNShdWylDIEYzKFwyNTVkdCktMi41IEUgRjAgMi41KF1bKUMgRjQobmFtZSktMi41IEUgRjAoXSlBIC0uMTUoRm8pCi0xNDQgNDAwLjggUyAzLjU1NChyZSkuMTUgRyhhY2gpLTMuNTU0IEUgRjQobmFtZSkzLjU1NCBFIEYwIDMuNTU0KCx0KS4xOAotRyAxLjA1NChoZSBmdWxsIFwyMTRsZSBuYW1lIG9mIHRoZSBjb21tYW5kIGlzIGRldGVybWluZWQgYnkgc2VhcmNoaW5nIHRcCi1oZSBkaXJlY3RvcmllcyBpbiktMy41NTQgRiBGMygkUCkxNDQgNDEyLjggUSAtLjk1KEFUKS0uNzQgRyhIKS45NSBFIEYwCi0uMzUoYW5kIHJlbWVtYmVyZWQuKTIuODUgRiAuMzUoSWYgdGhlKTUuMzUgRiBGMzxhZDcwPjIuODUgRSBGMCAuMzQ5Ci0ob3B0aW9uIGlzIHN1cHBsaWVkLCBubyBwYXRoIHNlYXJjaCBpcyBwZXJmb3JtZWQsIGFuZCkyLjg0OSBGIEY0Ci0oXDIxNGxlbmFtZSk0Ljc1OSBFIEYwIC40NTIKLShpcyB1c2VkIGFzIHRoZSBmdWxsIFwyMTRsZSBuYW1lIG9mIHRoZSBjb21tYW5kLikxNDQgNDI0LjggUihUaGUpNS40NTIgRQotRjM8YWQ3Mj4yLjk1MiBFIEYwIC40NTIob3B0aW9uIGNhdXNlcyB0aGUgc2hlbGwgdG8gZm9yKTIuOTUyIEYgLjQ1MwotKGdldCBhbGwgcmVtZW0tKS0uMTggRiAuNTkzKGJlcmVkIGxvY2F0aW9ucy4pMTQ0IDQzNi44IFIoVGhlKTUuNTkzIEUgRjMKLTxhZDY0PjMuMDkzIEUgRjAgLjU5MyhvcHRpb24gY2F1c2VzIHRoZSBzaGVsbCB0byBmb3IpMy4wOTMgRiAuNTkyCi0oZ2V0IHRoZSByZW1lbWJlcmVkIGxvY2F0aW9uIG9mIGVhY2gpLS4xOCBGIEY0KG5hbWUpMy4wOTIgRSBGMCguKUEgLjAyCi0oSWYgdGhlKTE0NCA0NDguOCBSIEYzPGFkNzQ+Mi41MiBFIEYwIC4wMgotKG9wdGlvbiBpcyBzdXBwbGllZCwgdGhlIGZ1bGwgcGF0aG5hbWUgdG8gd2hpY2ggZWFjaCkyLjUyIEYgRjQobmFtZSkKLTIuNTIxIEUgRjAgLjAyMShjb3JyZXNwb25kcyBpcyBwcmludGVkLikyLjUyMSBGIC4wMjEoSWYgbXVsdGktKTUuMDIxIEYKLShwbGUpMTQ0IDQ2MC44IFEgRjQobmFtZSkzLjcwNCBFIEYwKGFyKTMuNzA0IEUgMS4yMDQKLShndW1lbnRzIGFyZSBzdXBwbGllZCB3aXRoKS0uMTggRiBGMzxhZDc0PjMuNzAzIEUgRjAgMy43MDMoLHQpQyhoZSkKLS0zLjcwMyBFIEY0KG5hbWUpMy43MDMgRSBGMCAxLjIwMwotKGlzIHByaW50ZWQgYmVmb3JlIHRoZSBoYXNoZWQgZnVsbCBwYXRobmFtZS4pMy43MDMgRihUaGUpMTQ0IDQ3Mi44IFEgRjMKLTxhZDZjPjMuMjE1IEUgRjAgLjcxNShvcHRpb24gY2F1c2VzIG91dHB1dCB0byBiZSBkaXNwbGF5ZWQgaW4gYSBmb3JtYXQgXAotdGhhdCBtYXkgYmUgcmV1c2VkIGFzIGlucHV0LikzLjIxNSBGIC43MTYoSWYgbm8gYXIpNS43MTYgRihndS0pLS4xOCBFCi0xLjE4NChtZW50cyBhcmUgZ2kpMTQ0IDQ4NC44IFIgLS4xNSh2ZSktLjI1IEcgMS4xODQobiwgb3IgaWYgb25seSkuMTUgRgotRjM8YWQ2Yz4zLjY4NCBFIEYwIDEuMTgzCi0oaXMgc3VwcGxpZWQsIGluZm9ybWF0aW9uIGFib3V0IHJlbWVtYmVyZWQgY29tbWFuZHMgaXMgcHJpbnRlZC4pMy42ODQgRgotKFRoZSByZXR1cm4gc3RhdHVzIGlzIHRydWUgdW5sZXNzIGEpMTQ0IDQ5Ni44IFEgRjQobmFtZSkyLjg2IEUgRjAKLShpcyBub3QgZm91bmQgb3IgYW4gaW4pMi42OCBFIC0uMjUodmEpLS40IEcobGlkIG9wdGlvbiBpcyBzdXBwbGllZC4pLjI1Ci1FIEYzKGhlbHApMTA4IDUxMy42IFEgRjAoWykyLjUgRSBGMyhcMjU1ZG1zKUEgRjAgMi41KF1bKUMgRjQocGF0dGVybikKLS0yLjUgRSBGMChdKUEgLjg2NihEaXNwbGF5IGhlbHBmdWwgaW5mb3JtYXRpb24gYWJvdXQgYikxNDQgNTI1LjYgUiAuODY3Ci0odWlsdGluIGNvbW1hbmRzLiktLjIgRihJZik1Ljg2NyBFIEY0KHBhdHRlcm4pNC42MTcgRSBGMCAuODY3Ci0oaXMgc3BlY2lcMjE0ZWQsKTMuNjA3IEYgRjMoaGVscCkzLjM2NyBFIEYwKGdpKTMuMzY3IEUgLS4xNSh2ZSktLjI1IEcKLTMuMzY3KHNkKS4xNSBHKGV0YWlsZWQpLTMuMzY3IEUgLjMwNyhoZWxwIG9uIGFsbCBjb21tYW5kcyBtYXRjaGluZykxNDQKLTUzNy42IFIgRjQocGF0dGVybikyLjgwNyBFIEYwIDIuODA3KDtvKS4yNCBHIC4zMDcKLSh0aGVyd2lzZSBoZWxwIGZvciBhbGwgdGhlIGIpLTIuODA3IEYgLjMwNgotKHVpbHRpbnMgYW5kIHNoZWxsIGNvbnRyb2wgc3RydWMtKS0uMiBGKHR1cmVzIGlzIHByaW50ZWQuKTE0NCA1NDkuNiBRIEYzCi08YWQ2ND4xNDQgNTYxLjYgUSBGMChEaXNwbGF5IGEgc2hvcnQgZGVzY3JpcHRpb24gb2YgZWFjaCkyNC43NCBFIEY0Ci0ocGF0dGVybikyLjUgRSBGMygtbSkxNDYuNSA1NzMuNiBRIEYwKERpc3BsYXkgdGhlIGRlc2NyaXB0aW9uIG9mIGVhY2gpCi0yMS44NCBFIEY0KHBhdHRlcm4pMi41IEUgRjAoaW4gYSBtYW5wYWdlLWxpaykyLjUgRSAyLjUoZWYpLS4xIEcob3JtYXQpCi0tMi41IEUgRjM8YWQ3Mz4xNDQgNTg1LjYgUSBGMAotKERpc3BsYXkgb25seSBhIHNob3J0IHVzYWdlIHN5bm9wc2lzIGZvciBlYWNoKTI2LjQxIEUgRjQocGF0dGVybikyLjUgRQotRjAoVGhlIHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3Mgbm8gY29tbWFuZCBtYXRjaGVzKTEwOCA1OTcuNiBRIEY0Ci0ocGF0dGVybikyLjUgRSBGMCguKS4yNCBFIEYzKGhpc3RvcnkgWykxMDggNjE0LjQgUSBGNChuKUEgRjMoXSlBCi0oaGlzdG9yeSBcMjU1YykxMDggNjI2LjQgUShoaXN0b3J5IFwyNTVkKTEwOCA2MzguNCBRIEY0KG9mKTIuNSBFKGZzZXQpCi0tLjE4IEUgRjMoaGlzdG9yeSBcMjU1YW5ydykxMDggNjUwLjQgUSBGMChbKTIuNSBFIEY0KFwyMTRsZW5hbWUpQSBGMChdKUEKLUYzKGhpc3RvcnkgXDI1NXApMTA4IDY2Mi40IFEgRjQoYXIpMi41IEUoZyktLjM3IEUgRjAoWykyLjUgRSBGNChhcilBIDIuNQotKGcuKS0uMzcgRyguLiktMi41IEUgRjAoXSlBIEYzKGhpc3RvcnkgXDI1NXMpMTA4IDY3NC40IFEgRjQoYXIpMi41IEUoZykKLS0uMzcgRSBGMChbKTIuNSBFIEY0KGFyKUEgMi41KGcuKS0uMzcgRyguLiktMi41IEUgRjAoXSlBIC0uNChXaSkxNDQKLTY4Ni40IFMgLjc1MgotKHRoIG5vIG9wdGlvbnMsIGRpc3BsYXkgdGhlIGNvbW1hbmQgaGlzdG9yeSBsaXN0IHdpdGggbGluZSBudW1iZXJzLikuNCBGCi0uNzUyKExpbmVzIGxpc3RlZCB3aXRoIGEpNS43NTIgRiBGMygqKTMuMjUyIEUgRjAoaGEpMy4yNTIgRSAtLjE1KHZlKS0uMgotRyAxLjIzMShiZWVuIG1vZGlcMjE0ZWQuKTE0NCA2OTguNCBSIDEuMjMxKEFuIGFyKTYuMjMxIEYgMS4yMzEKLShndW1lbnQgb2YpLS4xOCBGIEY0KG4pNC4wOTEgRSBGMCAxLjIzMShsaXN0cyBvbmx5IHRoZSBsYXN0KTMuOTcxIEYgRjQKLShuKTQuMDkxIEUgRjAgMy43MyhsaW5lcy4gSWYpMy45NyBGIDEuMjModGhlIHNoZWxsIHYpMy43MyBGKGFyaWFibGUpLS4yNQotRSBGMyhISVNUVElNRS0pMy43MyBFKEZPUk1BKTE0NCA3MTAuNCBRKFQpLS45NSBFIEYwIC4yNDkKLShpcyBzZXQgYW5kIG5vdCBudWxsLCBpdCBpcyB1c2VkIGFzIGEgZm9ybWF0IHN0cmluZyBmb3IpMi43NDkgRiBGNAotKHN0cmZ0aW1lKTIuNzUgRSBGMCAuMjUoXCgzXCkgdG8gZGlzcGxheSB0aGUgdGltZSBzdGFtcClCIDMuMTE4Ci0oYXNzb2NpYXRlZCB3aXRoIGVhY2ggZGlzcGxheWVkIGhpc3RvcnkgZW50cnkpMTQ0IDcyMi40IFIgOC4xMTgoLk4pLS42NQotRyA1LjYxNyhvaSktOC4xMTggRyhudGVydiktNS42MTcgRSAzLjExNwotKGVuaW5nIGJsYW5rIGlzIHByaW50ZWQgYmV0d2VlbiB0aGUpLS4xNSBGKEdOVSBCYXNoLTQuMCk3MiA3NjggUQotKDIwMDkgRmVicnVhcnkgNykxNDAuOTYgRSg1NSkxOTAuOTUgRSAwIENnIEVQCistLjM1IEUob3Igb25seSBudWxsIGFyKTE0NCA4NCBRKGd1bWVudHMsKS0uMTggRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YKKy0yLjMgLS4xNShldiBhKTIuNSBIKGwpLjE1IEUgRjAocmV0dXJucyAwLikyLjUgRSBGMShleGVjKTEwOCAxMDAuOCBRIEYwCisoWykyLjUgRSBGMShcMjU1Y2wpQSBGMCAyLjUoXVspQyBGMTxhZDYxPi0yLjUgRS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRgorKG5hbWUpMi41IEUgRjAgMi41KF1bKUMgRjIoY29tbWFuZCktMi41IEUgRjAoWykyLjUgRSBGMihhcilBKGd1bWVudHMpCistLjM3IEUgRjAoXV0pQShJZikxNDQgMTEyLjggUSBGMihjb21tYW5kKTMuMDA2IEUgRjAgLjMwNgorKGlzIHNwZWNpXDIxNGVkLCBpdCByZXBsYWNlcyB0aGUgc2hlbGwuKTMuNTc2IEYgLjMwNShObyBuZSk1LjMwNSBGIDIuODA1Cisod3ApLS4yNSBHIC4zMDUocm9jZXNzIGlzIGNyZWF0ZWQuKS0yLjgwNSBGKFRoZSk1LjMwNSBFIEYyKGFyKTMuMTM1IEUKKyhndW1lbnRzKS0uMzcgRSBGMChiZWNvbWUpMy4wNzUgRSAuMTc2KHRoZSBhcikxNDQgMTI0LjggUiAuMTc2CisoZ3VtZW50cyB0byktLjE4IEYgRjIoY29tbWFuZCkyLjY3NiBFIEYwIDUuMTc2KC5JKUMgMi42NzYoZnQpLTUuMTc2IEcKKyhoZSktMi42NzYgRSBGMTxhZDZjPjIuNjc2IEUgRjAgLjE3NgorKG9wdGlvbiBpcyBzdXBwbGllZCwgdGhlIHNoZWxsIHBsYWNlcyBhIGRhc2ggYXQgdGhlIGJlKTIuNjc2IEYgLjE3NworKGdpbm5pbmcgb2YpLS4xNSBGIC41KHRoZSB6ZXJvdGggYXIpMTQ0IDEzNi44IFIgLjUoZ3VtZW50IHBhc3NlZCB0byktLjE4CitGIEYyKGNvbW1hbmQpMyBFIEYwIDUuNDk5KC5UKS43NyBHIC40OTkoaGlzIGlzIHdoYXQpLTUuNDk5IEYgRjIobG8pMi45OTkKK0UoZ2luKS0uMSBFIEYwIC40OTkoXCgxXCkgZG9lcy4pLjI0IEYoVGhlKTUuNDk5IEUgRjE8YWQ2Mz4yLjk5OSBFIEYwCisuNDk5KG9wdGlvbiBjYXVzZXMpMi45OTkgRiBGMihjb20tKTMuMTk5IEUobWFuZCkxNDQgMTQ4LjggUSBGMCAuNjM4CisodG8gYmUgZSkzLjkwOCBGIC0uMTUoeGUpLS4xNSBHIC42MzgoY3V0ZWQgd2l0aCBhbiBlbXB0eSBlbikuMTUgRiAzLjEzOAorKHZpcm9ubWVudC4gSWYpLS40IEYgRjE8YWQ2MT4zLjEzOCBFIEYwIC42MzgKKyhpcyBzdXBwbGllZCwgdGhlIHNoZWxsIHBhc3NlcykzLjEzOCBGIEYyKG5hbWUpMy40OTkgRSBGMCAuNjM5KGFzIHRoZSkKKzMuMzE5IEYgMS4wNzgoemVyb3RoIGFyKTE0NCAxNjAuOCBSIDEuMDc3KGd1bWVudCB0byB0aGUgZSktLjE4IEYgLS4xNQorKHhlKS0uMTUgRyAxLjA3NyhjdXRlZCBjb21tYW5kLikuMTUgRihJZik2LjA3NyBFIEYyKGNvbW1hbmQpMy43NzcgRSBGMAorMS4wNzcoY2Fubm90IGJlIGUpNC4zNDcgRiAtLjE1KHhlKS0uMTUgRyAxLjA3NyhjdXRlZCBmb3Igc29tZSByZWFzb24sIGEpCisuMTUgRihub24taW50ZXJhY3RpKTE0NCAxNzIuOCBRIC42MTcgLS4xNSh2ZSBzKS0uMjUgSCAuMzE3KGhlbGwgZSkuMTUgRgorLjMxNyh4aXRzLCB1bmxlc3MgdGhlIHNoZWxsIG9wdGlvbiktLjE1IEYgRjEoZXhlY2ZhaWwpMi44MTcgRSBGMCAuMzE4CisoaXMgZW5hYmxlZCwgaW4gd2hpY2ggY2FzZSBpdCByZXR1cm5zIGYpMi44MTcgRihhaWwtKS0uMSBFIDIuNTA1CisodXJlLiBBbikxNDQgMTg0LjggUihpbnRlcmFjdGkpMi41MDUgRSAuMzA1IC0uMTUodmUgcyktLjI1IEggLjAwNQorKGhlbGwgcmV0dXJucyBmKS4xNSBGIC4wMDUoYWlsdXJlIGlmIHRoZSBcMjE0bGUgY2Fubm90IGJlIGUpLS4xIEYgLS4xNQorKHhlKS0uMTUgRyAyLjUwNShjdXRlZC4gSWYpLjE1IEYgRjIoY29tbWFuZCkyLjcwNSBFIEYwIC4wMDUKKyhpcyBub3Qgc3BlY2lcMjE0ZWQsKTMuMjc1IEYoYW4pMTQ0IDE5Ni44IFEgMy4wMzYoeXIpLS4xNSBHIC41MzYKKyhlZGlyZWN0aW9ucyB0YWspLTMuMDM2IEYgMy4wMzYoZWUpLS4xIEcgLS4yNShmZiktMy4wMzYgRyAuNTM2CisoZWN0IGluIHRoZSBjdXJyZW50IHNoZWxsLCBhbmQgdGhlIHJldHVybiBzdGF0dXMgaXMgMC4pLjI1IEYgLjUzNgorKElmIHRoZXJlIGlzIGEgcmVkaXJlY3Rpb24pNS41MzYgRihlcnJvcikxNDQgMjA4LjggUSAyLjUoLHQpLS40IEcKKyhoZSByZXR1cm4gc3RhdHVzIGlzIDEuKS0yLjUgRSBGMShleGl0KTEwOCAyMjUuNiBRIEYwKFspMi41IEUgRjIobilBIEYwCis2LjI5KF1DKUMgLjA5NihhdXNlIHRoZSBzaGVsbCB0byBlKS02LjI5IEYgLjA5Nih4aXQgd2l0aCBhIHN0YXR1cyBvZikKKy0uMTUgRiBGMihuKTIuNTk2IEUgRjAgNS4wOTYoLkkpQyhmKS01LjA5NiBFIEYyKG4pMi45NTUgRSBGMCAuMDk1CisoaXMgb21pdHRlZCwgdGhlIGUpMi44MzUgRiAuMDk1KHhpdCBzdGF0dXMgaXMgdGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kKQorLS4xNSBGIC0uMTUoZXhlKTE0NCAyMzcuNiBTIDIuNShjdXRlZC4gQSkuMTUgRih0cmFwIG9uKTIuNSBFL0YzIDkKKy9UaW1lcy1Cb2xkQDAgU0YoRVhJVCkyLjUgRSBGMChpcyBlKTIuMjUgRSAtLjE1KHhlKS0uMTUgRworKGN1dGVkIGJlZm9yZSB0aGUgc2hlbGwgdGVybWluYXRlcy4pLjE1IEUgRjEoZXhwb3J0KTEwOCAyNTQuNCBRIEYwKFspMi41CitFIEYxKFwyNTVmbilBIEYwIDIuNShdWykuODMzIEcgRjIobmFtZSktMi41IEUgRjAoWz0pQSBGMih3b3IpQShkKS0uMzcgRQorRjAoXV0gLi4uKUEgRjEoZXhwb3J0IFwyNTVwKTEwOCAyNjYuNCBRIEYwIC4yNTYoVGhlIHN1cHBsaWVkKTE0NCAyNzguNCBSCitGMihuYW1lcykzLjExNyBFIEYwIC4yNTcoYXJlIG1hcmspMy4wMjcgRiAuMjU3KGVkIGZvciBhdXRvbWF0aWMgZSktLjEgRgorLjI1Nyh4cG9ydCB0byB0aGUgZW4pLS4xNSBGIC4yNTcodmlyb25tZW50IG9mIHN1YnNlcXVlbnRseSBlKS0uNCBGIC0uMTUKKyh4ZSktLjE1IEcoY3V0ZWQpLjE1IEUgMi42MjcoY29tbWFuZHMuIElmKTE0NCAyOTAuNCBSKHRoZSkyLjYyNyBFIEYxCis8YWQ2Nj4yLjYyNyBFIEYwIC4xMjcob3B0aW9uIGlzIGdpKTIuNjI3IEYgLS4xNSh2ZSktLjI1IEcgLjEyNyhuLCB0aGUpCisuMTUgRiBGMihuYW1lcykyLjk4NyBFIEYwIC4xMjcocmVmZXIgdG8gZnVuY3Rpb25zLikyLjg5NyBGIC4xMjcoSWYgbm8pCis1LjEyNyBGIEYyKG5hbWVzKTIuOTg3IEUgRjAgLjEyNyhhcmUgZ2kpMi44OTcgRiAtLjE1KHZlKS0uMjUgRyAuMTI2Cisobiwgb3IgaWYgdGhlKS4xNSBGIEYxPGFkNzA+MTQ0IDMwMi40IFEgRjAgLjY1OQorKG9wdGlvbiBpcyBzdXBwbGllZCwgYSBsaXN0IG9mIGFsbCBuYW1lcyB0aGF0IGFyZSBlKTMuMTU5IEYgLjY2CisoeHBvcnRlZCBpbiB0aGlzIHNoZWxsIGlzIHByaW50ZWQuKS0uMTUgRihUaGUpNS42NiBFIEYxPGFkNmU+My4xNiBFIEYwCisob3B0aW9uKTMuMTYgRSAxLjU4NyhjYXVzZXMgdGhlIGUpMTQ0IDMxNC40IFIgMS41ODcKKyh4cG9ydCBwcm9wZXJ0eSB0byBiZSByZW1vKS0uMTUgRiAtLjE1KHZlKS0uMTUgRyA0LjA4NihkZikuMTUgRyAxLjU4NgorKHJvbSBlYWNoKS00LjA4NiBGIEYyKG5hbWUpNC4wODYgRSBGMCA2LjU4NiguSSlDIDQuMDg2KGZhdiktNi41ODYgRworMS41ODYoYXJpYWJsZSBuYW1lIGlzIGZvbGxvKS00LjMzNiBGIDEuNTg2KHdlZCBieSktLjI1IEYoPSkxNDQgMzI2LjQgUQorRjIod29yKUEoZCktLjM3IEUgRjAgMi44MDMoLHQpQyAuMzAzKGhlIHYpLTIuODAzIEYgLjMwMyhhbHVlIG9mIHRoZSB2KQorLS4yNSBGIC4zMDQoYXJpYWJsZSBpcyBzZXQgdG8pLS4yNSBGIEYyKHdvcikyLjgwNCBFKGQpLS4zNyBFIEYwKC4pQSBGMQorKGV4cG9ydCk1LjMwNCBFIEYwIC4zMDQocmV0dXJucyBhbiBlKTIuODA0IEYgLjMwNAorKHhpdCBzdGF0dXMgb2YgMCB1bmxlc3MgYW4gaW4pLS4xNSBGIC0uMjUodmEpLS40IEcobGlkKS4yNSBFIC4yOTQKKyhvcHRpb24gaXMgZW5jb3VudGVyZWQsIG9uZSBvZiB0aGUpMTQ0IDMzOC40IFIgRjIobmFtZXMpMi43OTMgRSBGMCAuMjkzCisoaXMgbm90IGEgdikyLjc5MyBGIC4yOTMoYWxpZCBzaGVsbCB2KS0uMjUgRiAuMjkzKGFyaWFibGUgbmFtZSwgb3IpLS4yNQorRiBGMTxhZDY2PjIuNzkzIEUgRjAgLjI5MyhpcyBzdXBwbGllZCB3aXRoIGEpMi43OTMgRiBGMihuYW1lKTE0NC4zNgorMzUwLjQgUSBGMCh0aGF0IGlzIG5vdCBhIGZ1bmN0aW9uLikyLjY4IEUgRjEoZmMpMTA4IDM2Ny4yIFEgRjAoWykyLjUgRQorRjE8YWQ2NT5BIEYyKGVuYW1lKTIuNSBFIEYwIDIuNShdWylDIEYxKFwyNTVsbnIpLTIuNSBFIEYwIDIuNShdWylDIEYyCis8OGM3Mj4tMi41IEUoc3QpLS4xIEUgRjAgMi41KF1bKUMgRjIobGFzdCktMi41IEUgRjAoXSlBIEYxKGZjIFwyNTVzKTEwOAorMzc5LjIgUSBGMChbKTIuNSBFIEYyKHBhdClBIEYwKD0pQSBGMiAtLjM3KHJlKUMocCkuMzcgRSBGMCAyLjUoXVspQyBGMgorKGNtZCktMi41IEUgRjAoXSlBIC40NzcoRml4IENvbW1hbmQuKTE0NCAzOTEuMiBSIC40NzgKKyhJbiB0aGUgXDIxNHJzdCBmb3JtLCBhIHJhbmdlIG9mIGNvbW1hbmRzIGZyb20pNS40NzcgRiBGMjw4YzcyPjQuODg4IEUKKyhzdCktLjEgRSBGMCh0bykzLjY1OCBFIEYyKGxhc3QpMy4wNjggRSBGMCAuNDc4CisoaXMgc2VsZWN0ZWQgZnJvbSB0aGUgaGlzLSkzLjY1OCBGIC44ODIodG9yeSBsaXN0LikxNDQgNDAzLjIgUiBGMiAtLjQ1CisoRmkpNS44ODIgRyAtLjEocnMpLjQ1IEcodCkuMSBFIEYwKGFuZCk0LjA2MiBFIEYyKGxhc3QpMy40NzIgRSBGMCAuODgyCisobWF5IGJlIHNwZWNpXDIxNGVkIGFzIGEgc3RyaW5nIFwodG8gbG9jYXRlIHRoZSBsYXN0IGNvbW1hbmQgYmUpNC4wNjIgRgorLjg4MShnaW5uaW5nIHdpdGgpLS4xNSBGIC43OTcodGhhdCBzdHJpbmdcKSBvciBhcyBhIG51bWJlciBcKGFuIGluZGUpMTQ0Cis0MTUuMiBSIDMuMjk3KHhpKS0uMTUgRyAuNzk3KG50byB0aGUgaGlzdG9yeSBsaXN0LCB3aGVyZSBhIG5lKS0zLjI5NyBGCistLjA1KGdhKS0uMTUgRyh0aSkuMDUgRSAxLjA5NyAtLjE1KHZlIG4pLS4yNSBIIC43OTcodW1iZXIgaXMgdXNlZCBhcyBhbikKKy4xNSBGKG9mKTE0NCA0MjcuMiBRIC4yNzcoZnNldCBmcm9tIHRoZSBjdXJyZW50IGNvbW1hbmQgbnVtYmVyXCkuKS0uMjUgRgorKElmKTUuMjc3IEUgRjIobGFzdCkyLjg2NyBFIEYwIC4yNzYKKyhpcyBub3Qgc3BlY2lcMjE0ZWQgaXQgaXMgc2V0IHRvIHRoZSBjdXJyZW50IGNvbW1hbmQpMy40NTcgRiAuMDkyCisoZm9yIGxpc3RpbmcgXChzbyB0aGF0KTE0NCA0MzkuMiBSL0Y0IDEwL0NvdXJpZXJAMCBTRiAuMDkyCisoZmMgXDI1NWwgXDI1NTEwKTIuNTkyIEYgRjAgLjA5MihwcmludHMgdGhlIGxhc3QgMTAgY29tbWFuZHNcKSBhbmQgdG8pCisyLjU5MiBGIEYyPDhjNzI+NC41MDIgRShzdCktLjEgRSBGMCAyLjU5MihvdGhlcndpc2UuIElmKTMuMjcyIEYgRjI8OGM3Mj4KKzQuNTAyIEUoc3QpLS4xIEUgRjAgLjA5MyhpcyBub3QpMy4yNzMgRgorKHNwZWNpXDIxNGVkIGl0IGlzIHNldCB0byB0aGUgcHJlKTE0NCA0NTEuMiBRCisodmlvdXMgY29tbWFuZCBmb3IgZWRpdGluZyBhbmQgXDI1NTE2IGZvciBsaXN0aW5nLiktLjI1IEUoVGhlKTE0NCA0NzUuMgorUSBGMTxhZDZlPjIuNTIyIEUgRjAgLjAyMgorKG9wdGlvbiBzdXBwcmVzc2VzIHRoZSBjb21tYW5kIG51bWJlcnMgd2hlbiBsaXN0aW5nLikyLjUyMiBGKFRoZSk1LjAyMiBFCitGMTxhZDcyPjIuNTIyIEUgRjAgLjAyMihvcHRpb24gcmUpMi41MjIgRiAtLjE1KHZlKS0uMjUgRyAuMDIyCisocnNlcyB0aGUgb3JkZXIgb2YpLjE1IEYgLjQzOCh0aGUgY29tbWFuZHMuKTE0NCA0ODcuMiBSIC40MzgoSWYgdGhlKQorNS40MzggRiBGMTxhZDZjPjIuOTM4IEUgRjAgLjQzOChvcHRpb24gaXMgZ2kpMi45MzggRiAtLjE1KHZlKS0uMjUgRyAuNDM4CisobiwgdGhlIGNvbW1hbmRzIGFyZSBsaXN0ZWQgb24gc3RhbmRhcmQgb3V0cHV0LikuMTUgRihPdGhlcndpc2UsKTUuNDM4IEUKKy4zMzUodGhlIGVkaXRvciBnaSkxNDQgNDk5LjIgUiAtLjE1KHZlKS0uMjUgRyAyLjgzNShuYikuMTUgRyh5KS0yLjgzNSBFCitGMihlbmFtZSkzLjAyNSBFIEYwIC4zMzUoaXMgaW4pMy4wMTUgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMi44MzUKKyhkbykuMSBHIDIuODM1KG5hXDIxNCktMi44MzUgRyAuMzM1KGxlIGNvbnRhaW5pbmcgdGhvc2UgY29tbWFuZHMuKS0yLjgzNQorRihJZik1LjMzNCBFIEYyKGVuYW1lKTMuMDI0IEUgRjAgLjMzNChpcyBub3QgZ2kpMy4wMTQgRiAtLjE1KHZlKS0uMjUgRworKG4sKS4xNSBFIC42Myh0aGUgdikxNDQgNTExLjIgUiAuNjMoYWx1ZSBvZiB0aGUpLS4yNSBGIEYzKEZDRURJVCkzLjEzIEUKK0YwIC0uMjUodmEpMi44OCBHIC42MzEocmlhYmxlIGlzIHVzZWQsIGFuZCB0aGUgdikuMjUgRiAuNjMxKGFsdWUgb2YpLS4yNQorRiBGMyhFRElUKTMuMTMxIEUoT1IpLS4xNjIgRSBGMChpZikyLjg4MSBFIEYzKEZDRURJVCkzLjEzMSBFIEYwIC42MzEKKyhpcyBub3Qgc2V0LikyLjg4MSBGIC42MzEoSWYgbmVpLSk1LjYzMSBGIC45NTEodGhlciB2KTE0NCA1MjMuMiBSIC45NTEKKyhhcmlhYmxlIGlzIHNldCwpLS4yNSBGIEYyKHZpKTUuMTE3IEUgRjAgLjk1MShpcyB1c2VkLik1LjExNyBGIC45NQorKFdoZW4gZWRpdGluZyBpcyBjb21wbGV0ZSwgdGhlIGVkaXRlZCBjb21tYW5kcyBhcmUgZWNob2VkIGFuZCk1Ljk1MSBGCistLjE1KGV4ZSkxNDQgNTM1LjIgUyhjdXRlZC4pLjE1IEUgLjAzOShJbiB0aGUgc2Vjb25kIGZvcm0sKTE0NCA1NTkuMiBSCitGMihjb21tYW5kKTIuNTM5IEUgRjAgLjAzOShpcyByZS1lKTIuNTM5IEYgLS4xNSh4ZSktLjE1IEcgLjAzOQorKGN1dGVkIGFmdGVyIGVhY2ggaW5zdGFuY2Ugb2YpLjE1IEYgRjIocGF0KTIuNTQgRSBGMCAuMDQoaXMgcmVwbGFjZWQgYnkpCisyLjU0IEYgRjIgLS4zNyhyZSkyLjU0IEcocCkuMzcgRSBGMCA1LjA0KC5BKUModXNlZnVsKS0yLjUgRSAuNDA2CisoYWxpYXMgdG8gdXNlIHdpdGggdGhpcyBpcykxNDQgNTcxLjIgUiBGNCAuNDA2KHI9J2ZjIFwyNTVzJykyLjkwNiBGIEYwCisyLjkwNigscylDIDIuOTA2KG90KS0yLjkwNiBHIC40MDYoaGF0IHR5cGluZyktMi45MDYgRiBGNCA2LjQwNihyYykyLjkwNgorRyhjKS02LjQwNiBFIEYwIC40MDYocnVucyB0aGUgbGFzdCBjb21tYW5kIGJlKTIuOTA2IEYgLjQwNihnaW5uaW5nIHdpdGgpCistLjE1IEYgRjQoY2MpMTQ0IDU4My4yIFEgRjAoYW5kIHR5cGluZykyLjUgRSBGNChyKTIuNSBFIEYwKHJlLWUpMi41IEUKKy0uMTUoeGUpLS4xNSBHKGN1dGVzIHRoZSBsYXN0IGNvbW1hbmQuKS4xNSBFIC4xNDIKKyhJZiB0aGUgXDIxNHJzdCBmb3JtIGlzIHVzZWQsIHRoZSByZXR1cm4gdikxNDQgNjA3LjIgUiAuMTQyCisoYWx1ZSBpcyAwIHVubGVzcyBhbiBpbiktLjI1IEYgLS4yNSh2YSktLjQgRyAuMTQyCisobGlkIG9wdGlvbiBpcyBlbmNvdW50ZXJlZCBvcikuMjUgRiBGMjw4YzcyPjQuNTUyIEUoc3QpLS4xIEUgRjAob3IpMy4zMjIKK0UgRjIobGFzdCkyLjczMiBFIEYwIC40NTUoc3BlY2lmeSBoaXN0b3J5IGxpbmVzIG91dCBvZiByYW5nZS4pMTQ0IDYxOS4yCitSIC40NTQoSWYgdGhlKTUuNDU0IEYgRjE8YWQ2NT4yLjk1NCBFIEYwIC40NTQKKyhvcHRpb24gaXMgc3VwcGxpZWQsIHRoZSByZXR1cm4gdikyLjk1NCBGIC40NTQoYWx1ZSBpcyB0aGUgdiktLjI1IEYgLjQ1NAorKGFsdWUgb2YgdGhlKS0uMjUgRiAuNzg3KGxhc3QgY29tbWFuZCBlKTE0NCA2MzEuMiBSIC0uMTUoeGUpLS4xNSBHIC43ODcKKyhjdXRlZCBvciBmKS4xNSBGIC43ODgKKyhhaWx1cmUgaWYgYW4gZXJyb3Igb2NjdXJzIHdpdGggdGhlIHRlbXBvcmFyeSBcMjE0bGUgb2YgY29tbWFuZHMuKS0uMSBGCisuNzg4KElmIHRoZSk1Ljc4OCBGIDEuMTM2Cisoc2Vjb25kIGZvcm0gaXMgdXNlZCwgdGhlIHJldHVybiBzdGF0dXMgaXMgdGhhdCBvZiB0aGUgY29tbWFuZCByZS1lKTE0NAorNjQzLjIgUiAtLjE1KHhlKS0uMTUgRyAxLjEzNShjdXRlZCwgdW5sZXNzKS4xNSBGIEYyKGNtZCkzLjgzNSBFIEYwIDEuMTM1CisoZG9lcyBub3QpNC40MDUgRihzcGVjaWZ5IGEgdikxNDQgNjU1LjIgUQorKGFsaWQgaGlzdG9yeSBsaW5lLCBpbiB3aGljaCBjYXNlKS0uMjUgRSBGMShmYykyLjUgRSBGMChyZXR1cm5zIGYpMi41IEUKKyhhaWx1cmUuKS0uMSBFIEYxKGZnKTEwOCA2NzIgUSBGMChbKTIuNSBFIEYyKGpvYnNwZWMpQSBGMChdKUEoUmVzdW1lKTE0NAorNjg0IFEgRjIoam9ic3BlYyk1LjY1MyBFIEYwIDEuNDEzKGluIHRoZSBmb3JlKTQuMjIzIEYgMS40MTMKKyhncm91bmQsIGFuZCBtYWspLS4xNSBGIDMuOTEzKGVpKS0uMSBHIDMuOTEzKHR0KS0zLjkxMyBHIDEuNDEzCisoaGUgY3VycmVudCBqb2IpLTMuOTEzIEYgNi40MTMoLkkpLS40IEcoZiktNi40MTMgRSBGMihqb2JzcGVjKTUuNjUzIEUgRjAKKzEuNDE0KGlzIG5vdCBwcmVzZW50LCB0aGUpNC4yMjMgRihzaGVsbCcpMTQ0IDY5NiBRIDMuMTE3KHNuKS0uNTUgRyAuNjE3Cisob3Rpb24gb2YgdGhlKS0zLjExNyBGIEYyKGN1cnIpMy4xMTcgRSAuNjE3KGVudCBqb2IpLS4zNyBGIEYwIC42MTcKKyhpcyB1c2VkLikzLjExNyBGIC42MTcoVGhlIHJldHVybiB2KTUuNjE3IEYgLjYxNgorKGFsdWUgaXMgdGhhdCBvZiB0aGUgY29tbWFuZCBwbGFjZWQgaW50byB0aGUpLS4yNSBGKGZvcmUpMTQ0IDcwOCBRIC4zNjIKKyhncm91bmQsIG9yIGYpLS4xNSBGIC4zNjIoYWlsdXJlIGlmIHJ1biB3aGVuIGpvYiBjb250cm9sIGlzIGRpc2FibGVkIG9yKQorLS4xIEYgMi44NjIoLHcpLS40IEcgLjM2MyhoZW4gcnVuIHdpdGggam9iIGNvbnRyb2wgZW5hYmxlZCwgaWYpLTIuODYyIEYKK0YyKGpvYnNwZWMpMTQ1Ljc0IDcyMCBRIEYwIC4wMDQoZG9lcyBub3Qgc3BlY2lmeSBhIHYpMi44MTUgRiAuMDA0CisoYWxpZCBqb2Igb3IpLS4yNSBGIEYyKGpvYnNwZWMpNC4yNDQgRSBGMCAuMDA0KHNwZWNpXDIxNGVzIGEgam9iIHRoYXQgdykKKzIuODE0IEYgLjAwNChhcyBzdGFydGVkIHdpdGhvdXQgam9iIGNvbnRyb2wuKS0uMSBGKEdOVSBCYXNoLTQuMSk3MiA3NjggUQorKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDU1KTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDU2IDU2CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFIC4wODMoZm9ybWF0dGVkIHRpbWUgc3RhbXAgYW5kIHRoZSBoaXN0b3J5IGxpbmUuKTE0NCA4NCBSKElmKTUuMDg0Ci1FL0YxIDEwL1RpbWVzLUl0YWxpY0AwIFNGKFwyMTRsZW5hbWUpMi41ODQgRSBGMCAuMDg0Ci0oaXMgc3VwcGxpZWQsIGl0IGlzIHVzZWQgYXMgdGhlIG5hbWUgb2YgdGhlIGhpcy0pMi41ODQgRiAuMDk3Ci0odG9yeSBcMjE0bGU7IGlmIG5vdCwgdGhlIHYpMTQ0IDk2IFIgLjA5NyhhbHVlIG9mKS0uMjUgRi9GMiA5Ci0vVGltZXMtQm9sZEAwIFNGKEhJU1RGSUxFKTIuNTk3IEUgRjAgLjA5NihpcyB1c2VkLikyLjM0NyBGIC4wOTYKLShPcHRpb25zLCBpZiBzdXBwbGllZCwgaGEpNS4wOTYgRiAuMzk2IC0uMTUodmUgdCktLjIgSCAuMDk2KGhlIGZvbGxvKS4xNQotRiAuMDk2KHdpbmcgbWVhbmluZ3M6KS0uMjUgRi9GMyAxMC9UaW1lcy1Cb2xkQDAgU0Y8YWQ2Mz4xNDQgMTA4IFEgRjAKLShDbGVhciB0aGUgaGlzdG9yeSBsaXN0IGJ5IGRlbGV0aW5nIGFsbCB0aGUgZW50cmllcy4pMjUuODYgRSBGMzxhZDY0PjE0NAotMTIwIFEgRjEob2YpMi41IEUoZnNldCktLjE4IEUgRjAoRGVsZXRlIHRoZSBoaXN0b3J5IGVudHJ5IGF0IHBvc2l0aW9uKQotMTgwIDEzMiBRIEYxKG9mKTIuNSBFKGZzZXQpLS4xOCBFIEYwKC4pQSBGMzxhZDYxPjE0NCAxNDQgUSBGMCAuNTk4Ci0oQXBwZW5kIHRoZSBgKTI1LjMgRihgbmUpLS43NCBFKHcnKS0uMjUgRSAzLjA5OCgnaCktLjc0IEcgLjU5OAotKGlzdG9yeSBsaW5lcyBcKGhpc3RvcnkgbGluZXMgZW50ZXJlZCBzaW5jZSB0aGUgYmUpLTMuMDk4IEYgLjU5OQotKGdpbm5pbmcgb2YgdGhlIGN1cnJlbnQpLS4xNSBGIEYzKGJhc2gpMTgwIDE1NiBRIEYwCi0oc2Vzc2lvblwpIHRvIHRoZSBoaXN0b3J5IFwyMTRsZS4pMi41IEUgRjM8YWQ2ZT4xNDQgMTY4IFEgRjAgLjg1NChSZWFkIFwKLXRoZSBoaXN0b3J5IGxpbmVzIG5vdCBhbHJlYWR5IHJlYWQgZnJvbSB0aGUgaGlzdG9yeSBcMjE0bGUgaW50byB0aGUgY3VyXAotcmVudCBoaXN0b3J5IGxpc3QuKTI0Ljc0IEYgLjc3MgotKFRoZXNlIGFyZSBsaW5lcyBhcHBlbmRlZCB0byB0aGUgaGlzdG9yeSBcMjE0bGUgc2luY2UgdGhlIGJlKTE4MCAxODAgUgotLjc3MyhnaW5uaW5nIG9mIHRoZSBjdXJyZW50KS0uMTUgRiBGMyhiYXNoKTMuMjczIEUgRjAoc2VzLSkzLjI3MyBFCi0oc2lvbi4pMTgwIDE5MiBRIEYzPGFkNzI+MTQ0IDIwNCBRIEYwKFJlYWQgdGhlIGNvbnRlbnRzIG9mIHRoZSBoaXN0b3J5IFwKLVwyMTRsZSBhbmQgdXNlIHRoZW0gYXMgdGhlIGN1cnJlbnQgaGlzdG9yeSkyNS44NiBFKC4pLS42NSBFIEYzPGFkNzc+MTQ0Ci0yMTYgUSBGMChXcml0ZSB0aGUgY3VycmVudCBoaXN0b3J5IHRvIHRoZSBoaXN0b3J5IFwyMTRsZSwgbykyMy4wOCBFIC0uMTUKLSh2ZSktLjE1IEcocndyaXRpbmcgdGhlIGhpc3RvcnkgXDIxNGxlJykuMTUgRSAyLjUoc2MpLS41NSBHKG9udGVudHMuKQotLTIuNSBFIEYzPGFkNzA+MTQ0IDIyOCBRIEYwIC42MjYKLShQZXJmb3JtIGhpc3Rvcnkgc3Vic3RpdHV0aW9uIG9uIHRoZSBmb2xsbykyNC43NCBGKHdpbmcpLS4yNSBFIEYxKGFyKQotMy4xMjUgRShncyktLjM3IEUgRjAgLjYyNShhbmQgZGlzcGxheSB0aGUgcmVzdWx0IG9uIHRoZSBzdGFuZGFyZCkzLjEyNSBGCi0yLjk3NShvdXRwdXQuIERvZXMpMTgwIDI0MCBSIC40NzUKLShub3Qgc3RvcmUgdGhlIHJlc3VsdHMgaW4gdGhlIGhpc3RvcnkgbGlzdC4pMi45NzUgRihFYWNoKTUuNDc1IEUgRjEoYXIpCi0yLjk3NSBFKGcpLS4zNyBFIEYwIC40NzUobXVzdCBiZSBxdW90ZWQgdG8gZGlzYWJsZSkyLjk3NSBGCi0obm9ybWFsIGhpc3RvcnkgZSkxODAgMjUyIFEoeHBhbnNpb24uKS0uMTUgRSBGMzxhZDczPjE0NCAyNjQgUSBGMCAuMzYzCi0oU3RvcmUgdGhlKTI2LjQxIEYgRjEoYXIpMy4xOTMgRShncyktLjM3IEUgRjAgLjM2MwotKGluIHRoZSBoaXN0b3J5IGxpc3QgYXMgYSBzaW5nbGUgZW50cnkpMy4xMzMgRiA1LjM2MyguVCktLjY1IEcgLjM2MgotKGhlIGxhc3QgY29tbWFuZCBpbiB0aGUgaGlzdG9yeSBsaXN0IGlzKS01LjM2MyBGKHJlbW8pMTgwIDI3NiBRIC0uMTUodmUpCi0tLjE1IEcgMi41KGRiKS4xNSBHKGVmb3JlIHRoZSktMi41IEUgRjEoYXIpMi44MyBFKGdzKS0uMzcgRSBGMAotKGFyZSBhZGRlZC4pMi43NyBFIC4yOChJZiB0aGUpMTQ0IDI5Mi44IFIgRjMoSElTVFRJTUVGT1JNQSkyLjc4IEUoVCktLjk1Ci1FIEYwIC4yOAotKGlzIHNldCwgdGhlIHRpbWUgc3RhbXAgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGVhY2ggaGlzdG9yeSBlbnRyeSkKLTIuNzggRiAuNTQoaXMgd3JpdHRlbiB0byB0aGUgaGlzdG9yeSBcMjE0bGUsIG1hcmspMTQ0IDMwNC44IFIgLjUzOQotKGVkIHdpdGggdGhlIGhpc3RvcnkgY29tbWVudCBjaGFyYWN0ZXIpLS4xIEYgNS41MzkoLlcpLS41NSBHIC41MzkKLShoZW4gdGhlIGhpc3RvcnkgXDIxNGxlIGlzKS01LjUzOSBGIDEuNzc4KHJlYWQsIGxpbmVzIGJlKTE0NCAzMTYuOCBSCi0xLjc3OChnaW5uaW5nIHdpdGggdGhlIGhpc3RvcnkgY29tbWVudCBjaGFyYWN0ZXIgZm9sbG8pLS4xNSBGIDEuNzc5Ci0od2VkIGltbWVkaWF0ZWx5IGJ5IGEgZGlnaXQgYXJlKS0uMjUgRiAxLjQyNAotKGludGVycHJldGVkIGFzIHRpbWVzdGFtcHMgZm9yIHRoZSBwcmUpMTQ0IDMyOC44IFIgMS40MjQKLSh2aW91cyBoaXN0b3J5IGxpbmUuKS0uMjUgRiAxLjQyNChUaGUgcmV0dXJuIHYpNi40MjQgRiAxLjQyNAotKGFsdWUgaXMgMCB1bmxlc3MgYW4gaW4pLS4yNSBGIC0uMjUodmEpLS40IEcobGlkKS4yNSBFIC40OTkob3B0aW9uIGlzIGVcCi1uY291bnRlcmVkLCBhbiBlcnJvciBvY2N1cnMgd2hpbGUgcmVhZGluZyBvciB3cml0aW5nIHRoZSBoaXN0b3J5IFwyMTRsZVwKLSwgYW4gaW4pMTQ0IDM0MC44IFIgLS4yNSh2YSktLjQgRyhsaWQpLjI1IEUgRjEob2YpMyBFKGZzZXQpLS4xOCBFIEYwKGlzKQotMyBFKHN1cHBsaWVkIGFzIGFuIGFyKTE0NCAzNTIuOCBRKGd1bWVudCB0byktLjE4IEUgRjM8YWQ2ND4yLjUgRSBGMCAyLjUKLSgsbylDIDIuNShydCktMi41IEcoaGUgaGlzdG9yeSBlKS0yLjUgRSh4cGFuc2lvbiBzdXBwbGllZCBhcyBhbiBhciktLjE1Ci1FKGd1bWVudCB0byktLjE4IEUgRjM8YWQ3MD4yLjUgRSBGMCAtLjEoZmEpMi41IEcoaWxzLikuMSBFIEYzKGpvYnMpMTA4Ci0zNjkuNiBRIEYwKFspMi41IEUgRjMoXDI1NWxucHJzKUEgRjAgMi41KF1bKUMgRjEoam9ic3BlYylBIEYwKC4uLiBdKTIuNQotRSBGMyhqb2JzIFwyNTV4KTEwOCAzODEuNiBRIEYxKGNvbW1hbmQpMi41IEUgRjAoWykyLjUgRSBGMShhcikyLjUgRShncykKLS0uMzcgRSBGMCguLi4gXSkyLjUgRShUaGUgXDIxNHJzdCBmb3JtIGxpc3RzIHRoZSBhY3RpKTE0NCAzOTMuNiBRIC4zCi0tLjE1KHZlIGopLS4yNSBIIDIuNShvYnMuIFRoZSkuMTUgRihvcHRpb25zIGhhKTIuNSBFIC4zIC0uMTUodmUgdCktLjIgSAotKGhlIGZvbGxvKS4xNSBFKHdpbmcgbWVhbmluZ3M6KS0uMjUgRSBGMzxhZDZjPjE0NCA0MDUuNiBRIEYwCi0oTGlzdCBwcm9jZXNzIElEcyBpbiBhZGRpdGlvbiB0byB0aGUgbm9ybWFsIGluZm9ybWF0aW9uLikyNy41MiBFIEYzCi08YWQ3MD4xNDQgNDE3LjYgUSBGMChMaXN0IG9ubHkgdGhlIHByb2Nlc3MgSUQgb2YgdGhlIGpvYicpMjQuNzQgRSAyLjUKLShzcCktLjU1IEcocm9jZXNzIGdyb3VwIGxlYWRlciktMi41IEUoLiktLjU1IEUgRjM8YWQ2ZT4xNDQgNDI5LjYgUSBGMAotLjE5NChEaXNwbGF5IGluZm9ybWF0aW9uIG9ubHkgYWJvdXQgam9icyB0aGF0IGhhKTI0Ljc0IEYgLjQ5NCAtLjE1KHZlIGMpCi0tLjIgSCAuMTkzKGhhbmdlZCBzdGF0dXMgc2luY2UgdGhlIHVzZXIgdykuMTUgRiAuMTkzKGFzIGxhc3Qgbm90aS0pLS4xIEYKLShcMjE0ZWQgb2YgdGhlaXIgc3RhdHVzLikxODAgNDQxLjYgUSBGMzxhZDcyPjE0NCA0NTMuNiBRIEYwCi0oUmVzdHJpY3Qgb3V0cHV0IHRvIHJ1bm5pbmcgam9icy4pMjUuODYgRSBGMzxhZDczPjE0NCA0NjUuNiBRIEYwCi0oUmVzdHJpY3Qgb3V0cHV0IHRvIHN0b3BwZWQgam9icy4pMjYuNDEgRShJZikxNDQgNDgyLjQgUSBGMShqb2JzcGVjKQotNC41NTMgRSBGMCAuMzEzKGlzIGdpKTMuMTIzIEYgLS4xNSh2ZSktLjI1IEcgLjMxMwotKG4sIG91dHB1dCBpcyByZXN0cmljdGVkIHRvIGluZm9ybWF0aW9uIGFib3V0IHRoYXQgam9iKS4xNSBGIDUuMzE0KC5UKQotLS40IEcgLjMxNChoZSByZXR1cm4gc3RhdHVzIGlzIDAgdW5sZXNzKS01LjMxNCBGKGFuIGluKTE0NCA0OTQuNCBRIC0uMjUKLSh2YSktLjQgRyhsaWQgb3B0aW9uIGlzIGVuY291bnRlcmVkIG9yIGFuIGluKS4yNSBFIC0uMjUodmEpLS40IEcobGlkKS4yNQotRSBGMShqb2JzcGVjKTQuMjQgRSBGMChpcyBzdXBwbGllZC4pMi44MSBFIC4zOTUoSWYgdGhlKTE0NCA1MTEuMiBSIEYzCi08YWQ3OD4yLjg5NSBFIEYwIC4zOTQob3B0aW9uIGlzIHN1cHBsaWVkLCkyLjg5NCBGIEYzKGpvYnMpMi44OTQgRSBGMAotLjM5NChyZXBsYWNlcyBhbikyLjg5NCBGKHkpLS4xNSBFIEYxKGpvYnNwZWMpNC42MzQgRSBGMCAuMzk0KGZvdW5kIGluKQotMy4yMDQgRiBGMShjb21tYW5kKTMuMDk0IEUgRjAob3IpMy42NjQgRSBGMShhcikzLjIyNCBFKGdzKS0uMzcgRSBGMCAuMzk0Ci0od2l0aCB0aGUgY29ycmUtKTMuMTY0IEYoc3BvbmRpbmcgcHJvY2VzcyBncm91cCBJRCwgYW5kIGUpMTQ0IDUyMy4yIFEKLS0uMTUoeGUpLS4xNSBHKGN1dGVzKS4xNSBFIEYxKGNvbW1hbmQpMi43IEUgRjAocGFzc2luZyBpdCkzLjI3IEUgRjEoYXIpCi0yLjUgRShncyktLjM3IEUgRjAgMi41KCxyKS4yNyBHKGV0dXJuaW5nIGl0cyBlKS0yLjUgRSh4aXQgc3RhdHVzLiktLjE1IEUKLUYzKGtpbGwpMTA4IDU0MCBRIEYwKFspMi41IEUgRjM8YWQ3Mz5BIEYxKHNpZ3NwZWMpMi41IEUgRjAofCkyLjUgRSBGMwotPGFkNmU+Mi41IEUgRjEoc2lnbnVtKTIuNSBFIEYwKHwpMi41IEUgRjM8YWQ+Mi41IEUgRjEoc2lnc3BlYylBIEYwIDIuNQotKF1bKUMgRjEocGlkKS0yLjUgRSBGMCh8KTIuNSBFIEYxKGpvYnNwZWMpMi41IEUgRjAgMi41KF0uKUMoLi4pLTIuNSBFIEYzCi0oa2lsbCBcMjU1bCkxMDggNTUyIFEgRjAoWykyLjUgRSBGMShzaWdzcGVjKUEgRjAofCkyLjUgRSBGMSAtLjIoZXgpMi41IEcKLShpdF9zdGF0dXMpLjIgRSBGMChdKUEgLjExOShTZW5kIHRoZSBzaWduYWwgbmFtZWQgYnkpMTQ0IDU2NCBSIEYxCi0oc2lnc3BlYykyLjk1OSBFIEYwKG9yKTIuOTI5IEUgRjEoc2lnbnVtKTIuOTU5IEUgRjAgLjExOQotKHRvIHRoZSBwcm9jZXNzZXMgbmFtZWQgYnkpMi45MzkgRiBGMShwaWQpMy44NyBFIEYwKG9yKTMuMzkgRSBGMQotKGpvYnNwZWMpMi42MiBFIEYwKC4pLjMxIEUgRjEoc2lnc3BlYyk1LjQ2IEUgRjAoaXMpMi45MyBFIC4zMTkKLShlaXRoZXIgYSBjYXNlLWluc2Vuc2l0aSkxNDQgNTc2IFIgLjYxOSAtLjE1KHZlIHMpLS4yNSBIIC4zMTkKLShpZ25hbCBuYW1lIHN1Y2ggYXMpLjE1IEYgRjIoU0lHS0lMTCkyLjgxOSBFIEYwIC4zMTgKLShcKHdpdGggb3Igd2l0aG91dCB0aGUpMi41NjkgRiBGMihTSUcpMi44MTggRSBGMCAuMzE4Ci0ocHJlXDIxNHhcKSBvciBhIHNpZ25hbCkyLjU2OCBGKG51bWJlcjspMTQ0IDU4OCBRIEYxKHNpZ251bSk0LjE4OCBFIEYwCi0xLjM0OShpcyBhIHNpZ25hbCBudW1iZXIpNC4xNjggRiA2LjM0OSguSSktLjU1IEcoZiktNi4zNDkgRSBGMShzaWdzcGVjKQotNC4xODkgRSBGMCAxLjM0OShpcyBub3QgcHJlc2VudCwgdGhlbik0LjE1OSBGIEYyKFNJR1RFUk0pMy44NDkgRSBGMAotMS4zNDkoaXMgYXNzdW1lZC4pMy41OTkgRihBbik2LjM0OSBFKGFyKTE0NCA2MDAgUSAuNTIzKGd1bWVudCBvZiktLjE4IEYKLUYzPGFkNmM+My4wMjMgRSBGMCAuNTIzKGxpc3RzIHRoZSBzaWduYWwgbmFtZXMuKTMuMDIzIEYgLjUyMyhJZiBhbik1LjUyMwotRiAzLjAyMyh5YSktLjE1IEcgLS4xOChyZyktMy4wMjMgRyAuNTIzKHVtZW50cyBhcmUgc3VwcGxpZWQgd2hlbikuMTggRgotRjM8YWQ2Yz4zLjAyMyBFIEYwIC41MjMoaXMgZ2kpMy4wMjMgRiAtLjE1KHZlKS0uMjUgRyAuNTIzKG4sIHRoZSBuYW1lcykKLS4xNSBGIC4yOChvZiB0aGUgc2lnbmFscyBjb3JyZXNwb25kaW5nIHRvIHRoZSBhcikxNDQgNjEyIFIgLjI4Ci0oZ3VtZW50cyBhcmUgbGlzdGVkLCBhbmQgdGhlIHJldHVybiBzdGF0dXMgaXMgMC4pLS4xOCBGKFRoZSk1LjI4IEUgRjEKLS0uMihleCkyLjc4IEcoaXRfc3RhdHVzKS4yIEUgRjAoYXIpMTQ0IDYyNCBRIC4zNzgoZ3VtZW50IHRvKS0uMTggRiBGMwotPGFkNmM+Mi44NzggRSBGMCAuMzc4Ci0oaXMgYSBudW1iZXIgc3BlY2lmeWluZyBlaXRoZXIgYSBzaWduYWwgbnVtYmVyIG9yIHRoZSBlKTIuODc4IEYgLjM3NwotKHhpdCBzdGF0dXMgb2YgYSBwcm9jZXNzIHRlcm1pLSktLjE1IEYgLjU5MyhuYXRlZCBieSBhIHNpZ25hbC4pMTQ0IDYzNiBSCi1GMyhraWxsKTUuNTkzIEUgRjAgLjU5MyhyZXR1cm5zIHRydWUgaWYgYXQgbGVhc3Qgb25lIHNpZ25hbCB3KTMuMDkzIEYKLS41OTMoYXMgc3VjY2Vzc2Z1bGx5IHNlbnQsIG9yIGYpLS4xIEYgLjU5NChhbHNlIGlmIGFuIGVycm9yKS0uMSBGCi0ob2NjdXJzIG9yIGFuIGluKTE0NCA2NDggUSAtLjI1KHZhKS0uNCBHKGxpZCBvcHRpb24gaXMgZW5jb3VudGVyZWQuKS4yNQotRSBGMyhsZXQpMTA4IDY2NC44IFEgRjEoYXIpMi41IEUoZyktLjM3IEUgRjAoWykyLjUgRSBGMShhcilBKGcpLS4zNyBFIEYwCi0oLi4uXSkyLjUgRShFYWNoKTE0NCA2NzYuOCBRIEYxKGFyKTMuOTY1IEUoZyktLjM3IEUgRjAgMS4xMzUKLShpcyBhbiBhcml0aG1ldGljIGUpMy44NTUgRiAxLjEzNCh4cHJlc3Npb24gdG8gYmUgZSktLjE1IEYgLS4yNSh2YSktLjI1Ci1HIDEuMTM0KGx1YXRlZCBcKHNlZSkuMjUgRiBGMiAxLjEzNChBUklUSE1FVElDIEVWKTMuNjM0IEYoQUxVKS0xLjIxNSBFCi0tLjg1NShBVCktLjU0IEcoSU9OKS44NTUgRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoXCkuKUEgRjAgMS4xMzQoSWYgdGhlKQotNS42MzQgRihsYXN0KTE0NCA2ODguOCBRIEYxKGFyKTIuODMgRShnKS0uMzcgRSBGMCAtLjI1KGV2YSkyLjcyIEcKLShsdWF0ZXMgdG8gMCwpLjI1IEUgRjMobGV0KTIuNSBFIEYwKHJldHVybnMgMTsgMCBpcyByZXR1cm5lZCBvdGhlcndpc2UuKQotMi41IEUgRjMobG9jYWwpMTA4IDcwNS42IFEgRjAoWykyLjUgRSBGMShvcHRpb24pQSBGMCAyLjUoXVspQyBGMShuYW1lKQotLTIuNSBFIEYwKFs9KUEgRjEodmFsdWUpQSBGMCAyLjUoXS4pQyguLl0pLTIuNSBFIC0uMTUoRm8pMTQ0IDcxNy42IFMKLTIuNTYocmUpLjE1IEcgLjA2KGFjaCBhciktMi41NiBGIC4wNihndW1lbnQsIGEgbG9jYWwgdiktLjE4IEYgLjA2Ci0oYXJpYWJsZSBuYW1lZCktLjI1IEYgRjEobmFtZSkyLjkyIEUgRjAgLjA2KGlzIGNyZWF0ZWQsIGFuZCBhc3NpZ25lZCkKLTIuNzQgRiBGMSh2YWx1ZSkyLjU2IEUgRjAgNS4wNiguVCkuMTggRyhoZSktNS4wNiBFIEYxKG9wdGlvbikyLjU2IEUgRjAKLS4wNihjYW4gYmUpMi41NiBGKGFuKTE0NCA3MjkuNiBRIDQuNTE0KHlvKS0uMTUgRyA0LjUxNChmdCktNC41MTQgRyAyLjAxNAotKGhlIG9wdGlvbnMgYWNjZXB0ZWQgYnkpLTQuNTE0IEYgRjMoZGVjbGFyKTQuNTE0IEUoZSktLjE4IEUgRjAgNy4wMTQoLlcpCi1DKGhlbiktNy4wMTQgRSBGMyhsb2NhbCk0LjUxNCBFIEYwIDIuMDEzCi0oaXMgdXNlZCB3aXRoaW4gYSBmdW5jdGlvbiwgaXQgY2F1c2VzIHRoZSk0LjUxNCBGKEdOVSBCYXNoLTQuMCk3MiA3NjggUQotKDIwMDkgRmVicnVhcnkgNykxNDAuOTYgRSg1NikxOTAuOTUgRSAwIENnIEVQCistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGdldG9wdHMpMTA4IDg0IFEvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YKKyhvcHRzdHJpbmcgbmFtZSkyLjUgRSBGMChbKTIuNSBFIEYyKGFyKUEoZ3MpLS4zNyBFIEYwKF0pQSBGMShnZXRvcHRzKTE0NAorOTYgUSBGMCAuNzkzCisoaXMgdXNlZCBieSBzaGVsbCBwcm9jZWR1cmVzIHRvIHBhcnNlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy4pMy4yOTMgRiBGMgorKG9wdHN0cmluZyk2LjAyMyBFIEYwIC43OTMoY29udGFpbnMgdGhlIG9wdGlvbikzLjUxMyBGIC4xNQorKGNoYXJhY3RlcnMgdG8gYmUgcmVjb2duaXplZDsgaWYgYSBjaGFyYWN0ZXIgaXMgZm9sbG8pMTQ0IDEwOCBSIC4xNDkKKyh3ZWQgYnkgYSBjb2xvbiwgdGhlIG9wdGlvbiBpcyBlKS0uMjUgRiAuMTQ5KHhwZWN0ZWQgdG8gaGEpLS4xNSBGIC40NDkKKy0uMTUodmUgYSktLjIgSChuKS4xNSBFKGFyKTE0NCAxMjAgUSAuNTc4CisoZ3VtZW50LCB3aGljaCBzaG91bGQgYmUgc2VwYXJhdGVkIGZyb20gaXQgYnkgd2hpdGUgc3BhY2UuKS0uMTggRiAuNTc5CisoVGhlIGNvbG9uIGFuZCBxdWVzdGlvbiBtYXJrIGNoYXIpNS41NzkgRigtKS0uMiBFIDEuNjY1CisoYWN0ZXJzIG1heSBub3QgYmUgdXNlZCBhcyBvcHRpb24gY2hhcmFjdGVycy4pMTQ0IDEzMiBSIDEuNjY1CisoRWFjaCB0aW1lIGl0IGlzIGluKTYuNjY1IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHKGQsKS4xIEUgRjEoZ2V0b3B0cykKKzQuMTY1IEUgRjAgMS42NjUocGxhY2VzIHRoZSBuZSk0LjE2NSBGKHh0KS0uMTUgRSAuNzk2Cisob3B0aW9uIGluIHRoZSBzaGVsbCB2KTE0NCAxNDQgUihhcmlhYmxlKS0uMjUgRSBGMihuYW1lKTMuMjk2IEUgRjAgMy4yOTYKKygsaSkuMTggRyhuaXRpYWxpemluZyktMy4yOTYgRSBGMihuYW1lKTMuNjU3IEUgRjAgLjc5NyhpZiBpdCBkb2VzIG5vdCBlKQorMy40NzcgRiAuNzk3KHhpc3QsIGFuZCB0aGUgaW5kZSktLjE1IEYgMy4yOTcoeG8pLS4xNSBHIDMuMjk3KGZ0KS0zLjI5NyBHCisuNzk3KGhlIG5lKS0zLjI5NyBGKHh0KS0uMTUgRShhcikxNDQgMTU2IFEgLjA4NQorKGd1bWVudCB0byBiZSBwcm9jZXNzZWQgaW50byB0aGUgdiktLjE4IEYoYXJpYWJsZSktLjI1IEUvRjMgOQorL1RpbWVzLUJvbGRAMCBTRihPUFRJTkQpMi41ODUgRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYzKE9QVElORCkKKzQuNTg1IEUgRjAgLjA4NShpcyBpbml0aWFsaXplZCB0byAxIGVhY2ggdGltZSB0aGUgc2hlbGwpMi4zMzUgRiAuODQ1Cisob3IgYSBzaGVsbCBzY3JpcHQgaXMgaW4pMTQ0IDE2OCBSIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAzLjM0NQorKGQuIFdoZW4pLjEgRiAuODQ1KGFuIG9wdGlvbiByZXF1aXJlcyBhbiBhcikzLjM0NSBGKGd1bWVudCwpLS4xOCBFIEYxCisoZ2V0b3B0cykzLjM0NiBFIEYwIC44NDYocGxhY2VzIHRoYXQgYXIpMy4zNDYgRihndW1lbnQpLS4xOCBFIC44MDQKKyhpbnRvIHRoZSB2KTE0NCAxODAgUihhcmlhYmxlKS0uMjUgRSBGMyhPUFQpMy4zMDQgRShBUkcpLS44MSBFIEY0KC4pQSBGMAorLjgwMyhUaGUgc2hlbGwgZG9lcyBub3QgcmVzZXQpNS4zMDQgRiBGMyhPUFRJTkQpMy4zMDMgRSBGMCAuODAzCisoYXV0b21hdGljYWxseTsgaXQgbXVzdCBiZSBtYW51YWxseSkzLjA1MyBGIC4yOTMKKyhyZXNldCBiZXR3ZWVuIG11bHRpcGxlIGNhbGxzIHRvKTE0NCAxOTIgUiBGMShnZXRvcHRzKTIuNzkzIEUgRjAgLjI5MworKHdpdGhpbiB0aGUgc2FtZSBzaGVsbCBpbikyLjc5MyBGIC0uMih2byktLjQgRyAuMjkzKGNhdGlvbiBpZiBhIG5lKS4yIEYKKzIuNzkzKHdzKS0uMjUgRyAuMjk0KGV0IG9mIHBhcmFtZXRlcnMpLTIuNzkzIEYoaXMgdG8gYmUgdXNlZC4pMTQ0IDIwNCBRCisyLjA0NChXaGVuIHRoZSBlbmQgb2Ygb3B0aW9ucyBpcyBlbmNvdW50ZXJlZCwpMTQ0IDIyOCBSIEYxKGdldG9wdHMpNC41NDMKK0UgRjAgLS4xNShleCk0LjU0MyBHIDIuMDQzKGl0cyB3aXRoIGEgcmV0dXJuIHYpLjE1IEYgMi4wNDMKKyhhbHVlIGdyZWF0ZXIgdGhhbiB6ZXJvLiktLjI1IEYgRjMoT1BUSU5EKTE0NCAyNDAgUSBGMAorKGlzIHNldCB0byB0aGUgaW5kZSkyLjI1IEUgMi41KHhvKS0uMTUgRyAyLjUoZnQpLTIuNSBHCisoaGUgXDIxNHJzdCBub24tb3B0aW9uIGFyKS0yLjUgRShndW1lbnQsIGFuZCktLjE4IEUgRjEobmFtZSkyLjUgRSBGMAorKGlzIHNldCB0byA/LikyLjUgRSBGMShnZXRvcHRzKTE0NCAyNjQgUSBGMCAyLjM5MgorKG5vcm1hbGx5IHBhcnNlcyB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLCBiKTQuODkyIEYgMi4zOTIKKyh1dCBpZiBtb3JlIGFyKS0uMiBGIDIuMzkzKGd1bWVudHMgYXJlIGdpKS0uMTggRiAtLjE1KHZlKS0uMjUgRyA0Ljg5MworKG5pKS4xNSBHKG4pLTQuODkzIEUgRjIoYXIpNC44OTMgRShncyktLjM3IEUgRjAoLCkuMjcgRSBGMShnZXRvcHRzKTE0NAorMjc2IFEgRjAocGFyc2VzIHRob3NlIGluc3RlYWQuKTIuNSBFIEYxKGdldG9wdHMpMTQ0IDMwMCBRIEYwIDEuMTY2CisoY2FuIHJlcG9ydCBlcnJvcnMgaW4gdHcpMy42NjYgRiAzLjY2NShvdyktLjEgRyAzLjY2NShheXMuIElmKS0zLjc2NSBGCisxLjE2NSh0aGUgXDIxNHJzdCBjaGFyYWN0ZXIgb2YpMy42NjUgRiBGMihvcHRzdHJpbmcpMy44OTUgRSBGMCAxLjE2NQorKGlzIGEgY29sb24sKTMuODg1IEYgRjIoc2lsZW50KTQuMDA1IEUgRjAoZXJyb3IpNC4zNDUgRSAxLjI2MworKHJlcG9ydGluZyBpcyB1c2VkLikxNDQgMzEyIFIgMS4yNjMKKyhJbiBub3JtYWwgb3BlcmF0aW9uIGRpYWdub3N0aWMgbWVzc2FnZXMgYXJlIHByaW50ZWQgd2hlbiBpbik2LjI2MyBGCistLjI1KHZhKS0uNCBHIDEuMjYzKGxpZCBvcHRpb25zIG9yKS4yNSBGIC4zOTQobWlzc2luZyBvcHRpb24gYXIpMTQ0IDMyNAorUiAuMzk0KGd1bWVudHMgYXJlIGVuY291bnRlcmVkLiktLjE4IEYgLjM5NChJZiB0aGUgdik1LjM5NCBGKGFyaWFibGUpCistLjI1IEUgRjMoT1BURVJSKTIuODk0IEUgRjAgLjM5NChpcyBzZXQgdG8gMCwgbm8gZXJyb3IgbWVzc2FnZXMpMi42NDQgRgorKHdpbGwgYmUgZGlzcGxheWVkLCBlKTE0NCAzMzYgUSAtLjE1KHZlKS0uMjUgRyAyLjUobmkpLjE1IEcgMi41KGZ0KS0yLjUKK0coaGUgXDIxNHJzdCBjaGFyYWN0ZXIgb2YpLTIuNSBFIEYyKG9wdHN0cmluZykyLjczIEUgRjAoaXMgbm90IGEgY29sb24uKQorMi43MiBFIC42NjYoSWYgYW4gaW4pMTQ0IDM2MCBSIC0uMjUodmEpLS40IEcgLjY2NihsaWQgb3B0aW9uIGlzIHNlZW4sKQorLjI1IEYgRjEoZ2V0b3B0cykzLjE2NiBFIEYwIC42NjcocGxhY2VzID8gaW50bykzLjE2NyBGIEYyKG5hbWUpMy41MjcgRQorRjAgLjY2NyhhbmQsIGlmIG5vdCBzaWxlbnQsIHByaW50cyBhbiBlcnJvciBtZXNzYWdlKTMuMzQ3IEYgLjQKKyhhbmQgdW5zZXRzKTE0NCAzNzIgUiBGMyhPUFQpMi45IEUoQVJHKS0uODEgRSBGNCguKUEgRjAoSWYpNC44OTkgRSBGMQorKGdldG9wdHMpMi44OTkgRSBGMCAuMzk5CisoaXMgc2lsZW50LCB0aGUgb3B0aW9uIGNoYXJhY3RlciBmb3VuZCBpcyBwbGFjZWQgaW4pMi44OTkgRiBGMyhPUFQpMi44OTkKK0UoQVJHKS0uODEgRSBGMCAuMzk5KGFuZCBubykyLjY0OSBGKGRpYWdub3N0aWMgbWVzc2FnZSBpcyBwcmludGVkLikxNDQKKzM4NCBRIDEuMjQxKElmIGEgcmVxdWlyZWQgYXIpMTQ0IDQwOCBSIDEuMjQxKGd1bWVudCBpcyBub3QgZm91bmQsIGFuZCkKKy0uMTggRiBGMShnZXRvcHRzKTMuNzQxIEUgRjAgMS4yNDEoaXMgbm90IHNpbGVudCwgYSBxdWVzdGlvbiBtYXJrIFwoKQorMy43NDEgRiBGMSg/KS44MzMgRSBGMCAzLjc0MihcKWkpLjgzMyBHIDMuNzQyKHNwKS0zLjc0MiBHIDEuMjQyCisobGFjZWQgaW4pLTMuNzQyIEYgRjIobmFtZSkxNDQgNDIwIFEgRjAoLCkuMTggRSBGMyhPUFQpMi43MzUgRShBUkcpLS44MQorRSBGMCAuMjM0KGlzIHVuc2V0LCBhbmQgYSBkaWFnbm9zdGljIG1lc3NhZ2UgaXMgcHJpbnRlZC4pMi40ODUgRihJZikKKzUuMjM0IEUgRjEoZ2V0b3B0cykyLjczNCBFIEYwIC4yMzQoaXMgc2lsZW50LCB0aGVuIGEgY29sb24gXCgpMi43MzQgRiBGMQorKDopLjgzMyBFIEYwKFwpKS44MzMgRShpcyBwbGFjZWQgaW4pMTQ0IDQzMiBRIEYyKG5hbWUpMi44NiBFIEYwKGFuZCkyLjY4CitFIEYzKE9QVCkyLjUgRShBUkcpLS44MSBFIEYwKGlzIHNldCB0byB0aGUgb3B0aW9uIGNoYXJhY3RlciBmb3VuZC4pMi4yNQorRSBGMShnZXRvcHRzKTE0NCA0NTYgUSBGMCAuOTAyCisocmV0dXJucyB0cnVlIGlmIGFuIG9wdGlvbiwgc3BlY2lcMjE0ZWQgb3IgdW5zcGVjaVwyMTRlZCwgaXMgZm91bmQuKQorMy40MDEgRiAuOTAyKEl0IHJldHVybnMgZik1LjkwMiBGIC45MDIoYWxzZSBpZiB0aGUgZW5kIG9mKS0uMSBGCisob3B0aW9ucyBpcyBlbmNvdW50ZXJlZCBvciBhbiBlcnJvciBvY2N1cnMuKTE0NCA0NjggUSBGMShoYXNoKTEwOCA0ODQuOAorUSBGMChbKTIuNSBFIEYxKFwyNTVscilBIEYwIDIuNShdWylDIEYxPGFkNzA+LTIuNSBFIEYyKFwyMTRsZW5hbWUpMi41IEUKK0YwIDIuNShdWylDIEYxKFwyNTVkdCktMi41IEUgRjAgMi41KF1bKUMgRjIobmFtZSktMi41IEUgRjAoXSlBIC0uMTUoRm8pCisxNDQgNDk2LjggUyAzLjU1NShyZSkuMTUgRyhhY2gpLTMuNTU1IEUgRjIobmFtZSkzLjU1NSBFIEYwIDMuNTU1KCx0KS4xOAorRyAxLjA1NChoZSBmdWxsIFwyMTRsZSBuYW1lIG9mIHRoZSBjb21tYW5kIGlzIGRldGVybWluZWQgYnkgc2VhcmNoaW5nIHRcCitoZSBkaXJlY3RvcmllcyBpbiktMy41NTUgRiBGMSgkUCkxNDQgNTA4LjggUSAtLjk1KEFUKS0uNzQgRyhIKS45NSBFIEYwCisuMzQ5KGFuZCByZW1lbWJlcmVkLikyLjg0OSBGIC4zNDkoSWYgdGhlKTUuMzQ5IEYgRjE8YWQ3MD4yLjg0OSBFIEYwIC4zNDkKKyhvcHRpb24gaXMgc3VwcGxpZWQsIG5vIHBhdGggc2VhcmNoIGlzIHBlcmZvcm1lZCwgYW5kKTIuODQ5IEYgRjIKKyhcMjE0bGVuYW1lKTQuNzYgRSBGMCAuNDUyCisoaXMgdXNlZCBhcyB0aGUgZnVsbCBcMjE0bGUgbmFtZSBvZiB0aGUgY29tbWFuZC4pMTQ0IDUyMC44IFIoVGhlKTUuNDUyIEUKK0YxPGFkNzI+Mi45NTIgRSBGMCAuNDUyKG9wdGlvbiBjYXVzZXMgdGhlIHNoZWxsIHRvIGZvcikyLjk1MiBGIC40NTIKKyhnZXQgYWxsIHJlbWVtLSktLjE4IEYgLjU5MihiZXJlZCBsb2NhdGlvbnMuKTE0NCA1MzIuOCBSKFRoZSk1LjU5MiBFIEYxCis8YWQ2ND4zLjA5MiBFIEYwIC41OTMob3B0aW9uIGNhdXNlcyB0aGUgc2hlbGwgdG8gZm9yKTMuMDkyIEYgLjU5MworKGdldCB0aGUgcmVtZW1iZXJlZCBsb2NhdGlvbiBvZiBlYWNoKS0uMTggRiBGMihuYW1lKTMuMDkzIEUgRjAoLilBIC4wMjEKKyhJZiB0aGUpMTQ0IDU0NC44IFIgRjE8YWQ3ND4yLjUyMSBFIEYwIC4wMjEKKyhvcHRpb24gaXMgc3VwcGxpZWQsIHRoZSBmdWxsIHBhdGhuYW1lIHRvIHdoaWNoIGVhY2gpMi41MjEgRiBGMihuYW1lKQorMi41MiBFIEYwIC4wMihjb3JyZXNwb25kcyBpcyBwcmludGVkLikyLjUyIEYgLjAyKElmIG11bHRpLSk1LjAyIEYocGxlKQorMTQ0IDU1Ni44IFEgRjIobmFtZSkzLjcwMyBFIEYwKGFyKTMuNzAzIEUgMS4yMDMKKyhndW1lbnRzIGFyZSBzdXBwbGllZCB3aXRoKS0uMTggRiBGMTxhZDc0PjMuNzAzIEUgRjAgMy43MDMoLHQpQyhoZSkKKy0zLjcwMyBFIEYyKG5hbWUpMy43MDMgRSBGMCAxLjIwNAorKGlzIHByaW50ZWQgYmVmb3JlIHRoZSBoYXNoZWQgZnVsbCBwYXRobmFtZS4pMy43MDMgRihUaGUpMTQ0IDU2OC44IFEgRjEKKzxhZDZjPjMuMjE2IEUgRjAgLjcxNShvcHRpb24gY2F1c2VzIG91dHB1dCB0byBiZSBkaXNwbGF5ZWQgaW4gYSBmb3JtYXQgXAordGhhdCBtYXkgYmUgcmV1c2VkIGFzIGlucHV0LikzLjIxNiBGIC43MTUoSWYgbm8gYXIpNS43MTUgRihndS0pLS4xOCBFCisxLjE4MyhtZW50cyBhcmUgZ2kpMTQ0IDU4MC44IFIgLS4xNSh2ZSktLjI1IEcgMS4xODMobiwgb3IgaWYgb25seSkuMTUgRgorRjE8YWQ2Yz4zLjY4MyBFIEYwIDEuMTg0CisoaXMgc3VwcGxpZWQsIGluZm9ybWF0aW9uIGFib3V0IHJlbWVtYmVyZWQgY29tbWFuZHMgaXMgcHJpbnRlZC4pMy42ODQgRgorKFRoZSByZXR1cm4gc3RhdHVzIGlzIHRydWUgdW5sZXNzIGEpMTQ0IDU5Mi44IFEgRjIobmFtZSkyLjg2IEUgRjAKKyhpcyBub3QgZm91bmQgb3IgYW4gaW4pMi42OCBFIC0uMjUodmEpLS40IEcobGlkIG9wdGlvbiBpcyBzdXBwbGllZC4pLjI1CitFIEYxKGhlbHApMTA4IDYwOS42IFEgRjAoWykyLjUgRSBGMShcMjU1ZG1zKUEgRjAgMi41KF1bKUMgRjIocGF0dGVybikKKy0yLjUgRSBGMChdKUEgLjg2NyhEaXNwbGF5IGhlbHBmdWwgaW5mb3JtYXRpb24gYWJvdXQgYikxNDQgNjIxLjYgUiAuODY3CisodWlsdGluIGNvbW1hbmRzLiktLjIgRihJZik1Ljg2NyBFIEYyKHBhdHRlcm4pNC42MTcgRSBGMCAuODY2CisoaXMgc3BlY2lcMjE0ZWQsKTMuNjA3IEYgRjEoaGVscCkzLjM2NiBFIEYwKGdpKTMuMzY2IEUgLS4xNSh2ZSktLjI1IEcKKzMuMzY2KHNkKS4xNSBHKGV0YWlsZWQpLTMuMzY2IEUgLjMwNihoZWxwIG9uIGFsbCBjb21tYW5kcyBtYXRjaGluZykxNDQKKzYzMy42IFIgRjIocGF0dGVybikyLjgwNiBFIEYwIDIuODA3KDtvKS4yNCBHIC4zMDcKKyh0aGVyd2lzZSBoZWxwIGZvciBhbGwgdGhlIGIpLTIuODA3IEYgLjMwNworKHVpbHRpbnMgYW5kIHNoZWxsIGNvbnRyb2wgc3RydWMtKS0uMiBGKHR1cmVzIGlzIHByaW50ZWQuKTE0NCA2NDUuNiBRIEYxCis8YWQ2ND4xNDQgNjU3LjYgUSBGMChEaXNwbGF5IGEgc2hvcnQgZGVzY3JpcHRpb24gb2YgZWFjaCkyNC43NCBFIEYyCisocGF0dGVybikyLjUgRSBGMTxhZDZkPjE0NCA2NjkuNiBRIEYwKERpc3BsYXkgdGhlIGRlc2NyaXB0aW9uIG9mIGVhY2gpCisyMS45NyBFIEYyKHBhdHRlcm4pMi41IEUgRjAoaW4gYSBtYW5wYWdlLWxpaykyLjUgRSAyLjUoZWYpLS4xIEcob3JtYXQpCistMi41IEUgRjE8YWQ3Mz4xNDQgNjgxLjYgUSBGMAorKERpc3BsYXkgb25seSBhIHNob3J0IHVzYWdlIHN5bm9wc2lzIGZvciBlYWNoKTI2LjQxIEUgRjIocGF0dGVybikyLjUgRQorRjAoVGhlIHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3Mgbm8gY29tbWFuZCBtYXRjaGVzKTEwOCA2OTMuNiBRIEYyCisocGF0dGVybikyLjUgRSBGMCguKS4yNCBFKEdOVSBCYXNoLTQuMSk3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUKK0UoNTYpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNTcgNTcKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUgLS4yNSh2YSkxNDQgODQgUyhyaWFibGUpLjI1IEUvRjEgMTAvVGltZXMtSXRhbGljQDAgU0YobmFtZSkzLjg3IEUKLUYwIDEuMDEodG8gaGEpMy42OSBGIDEuMzEgLS4xNSh2ZSBhIHYpLS4yIEggMS4wMTEKLShpc2libGUgc2NvcGUgcmVzdHJpY3RlZCB0byB0aGF0IGZ1bmN0aW9uIGFuZCBpdHMgY2hpbGRyZW4uKS4xNSBGIC0uNAotKFdpKTYuMDExIEcgMS4wMTEodGggbm8gb3BlcikuNCBGKC0pLS4yIEUoYW5kcywpMTQ0IDk2IFEvRjIgMTAKLS9UaW1lcy1Cb2xkQDAgU0YobG9jYWwpMy4yNDIgRSBGMCAuNzQxKHdyaXRlcyBhIGxpc3Qgb2YgbG9jYWwgdikzLjI0MSBGCi0uNzQxKGFyaWFibGVzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuKS0uMjUgRiAuNzQxKEl0IGlzIGFuIGVycm9yIHRvIHVzZSkKLTUuNzQxIEYgRjIobG9jYWwpMy4yNDEgRSBGMCh3aGVuKTMuMjQxIEUgMS4zNChub3Qgd2l0aGluIGEgZnVuY3Rpb24uKTE0NAotMTA4IFIgMS4zNChUaGUgcmV0dXJuIHN0YXR1cyBpcyAwIHVubGVzcyk2LjM0IEYgRjIobG9jYWwpMy44NCBFIEYwIDEuMzQKLShpcyB1c2VkIG91dHNpZGUgYSBmdW5jdGlvbiwgYW4gaW4pMy44NCBGIC0uMjUodmEpLS40IEcobGlkKS4yNSBFIEYxCi0obmFtZSkxNDQuMzYgMTIwIFEgRjAoaXMgc3VwcGxpZWQsIG9yKTIuNjggRSBGMShuYW1lKTIuNSBFIEYwCi0oaXMgYSByZWFkb25seSB2KTIuNSBFKGFyaWFibGUuKS0uMjUgRSBGMihsb2dvdXQpMTA4IDEzNi44IFEgRjAKLShFeGl0IGEgbG9naW4gc2hlbGwuKTkuMzMgRSBGMihtYXBcMjE0bGUpMTA4IDE1My42IFEgRjAoWykyLjUgRSBGMjxhZDZlPgotQSBGMShjb3VudCkyLjUgRSBGMCAyLjUoXVspQyBGMjxhZDRmPi0yLjUgRSBGMShvcmlnaW4pMi41IEUgRjAgMi41KF1bKUMKLUYyPGFkNzM+LTIuNSBFIEYxKGNvdW50KTIuNSBFIEYwIDIuNShdWylDIEYyPGFkNzQ+LTIuNSBFIEYwIDIuNShdWylDIEYyCi08YWQ3NT4tMi41IEUgRjEoZmQpMi41IEUgRjAgMi41KF1bKUMgRjI8YWQ0Mz4tMi41IEUgRjEoY2FsbGJhYykyLjUgRShrKQotLS4yIEUgRjAgMi41KF1bKUMgRjI8YWQ2Mz4tMi41IEUgRjEocXVhbnR1bSkyLjUgRSBGMCAyLjUoXVspQyBGMShhcnIpCi0tMi41IEUoYXkpLS4xNSBFIEYwKF0pQSBGMiAtLjE4KHJlKTEwOCAxNjUuNiBTKGFkYXJyYXkpLjE4IEUgRjAoWykyLjUgRQotRjI8YWQ2ZT5BIEYxKGNvdW50KTIuNSBFIEYwIDIuNShdWylDIEYyPGFkNGY+LTIuNSBFIEYxKG9yaWdpbikyLjUgRSBGMAotMi41KF1bKUMgRjI8YWQ3Mz4tMi41IEUgRjEoY291bnQpMi41IEUgRjAgMi41KF1bKUMgRjI8YWQ3ND4tMi41IEUgRjAgMi41Ci0oXVspQyBGMjxhZDc1Pi0yLjUgRSBGMShmZCkyLjUgRSBGMCAyLjUoXVspQyBGMjxhZDQzPi0yLjUgRSBGMShjYWxsYmFjKQotMi41IEUoayktLjIgRSBGMCAyLjUoXVspQyBGMjxhZDYzPi0yLjUgRSBGMShxdWFudHVtKTIuNSBFIEYwIDIuNShdWylDIEYxCi0oYXJyKS0yLjUgRShheSktLjE1IEUgRjAoXSlBIDEuMDA2Ci0oUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFycmF5IHYpMTQ0IDE3Ny42IFIoYXJpYWJsZSkKLS0uMjUgRSBGMShhcnIpMy41MDYgRShheSktLjE1IEUgRjAgMy41MDYoLG8pLjMyIEcgMy41MDYocmYpLTMuNTA2IEcKLTEuMDA2KHJvbSBcMjE0bGUgZGVzY3JpcHRvciktMy41MDYgRiBGMShmZCkzLjUwNiBFIEYwIDEuMDA1KGlmIHRoZSkzLjUwNgotRiBGMjxhZDc1PjMuNTA1IEUgRjAgMS4wODYob3B0aW9uIGlzIHN1cHBsaWVkLikxNDQgMTg5LjYgUiAxLjA4NihUaGUgdikKLTYuMDg2IEYoYXJpYWJsZSktLjI1IEUgRjIoTUFQRklMRSkzLjU4NiBFIEYwIDEuMDg2KGlzIHRoZSBkZWYpMy41ODYgRgotKGF1bHQpLS4xIEUgRjEoYXJyKTMuNTg3IEUoYXkpLS4xNSBFIEYwIDYuMDg3KC5PKUMgMS4wODcKLShwdGlvbnMsIGlmIHN1cHBsaWVkLCBoYSktNi4wODcgRiAxLjM4NyAtLjE1KHZlIHQpLS4yIEgoaGUpLjE1IEUoZm9sbG8pCi0xNDQgMjAxLjYgUSh3aW5nIG1lYW5pbmdzOiktLjI1IEUgRjI8YWQ2ZT4xNDQgMjEzLjYgUSBGMChDb3ApMjQuNzQgRSAyLjUKLSh5YSktLjEgRyAyLjUodG0pLTIuNSBHKG9zdCktMi41IEUgRjEoY291bnQpMi43IEUgRjAgMi41KGxpbmVzLiBJZikzLjE4Ci1GIEYxKGNvdW50KTIuNSBFIEYwKGlzIDAsIGFsbCBsaW5lcyBhcmUgY29waWVkLikyLjUgRSBGMjxhZDRmPjE0NCAyMjUuNgotUSBGMChCZSkyMi41MiBFKGdpbiBhc3NpZ25pbmcgdG8pLS4xNSBFIEYxKGFycikyLjgzIEUoYXkpLS4xNSBFIEYwCi0oYXQgaW5kZSkyLjgyIEUoeCktLjE1IEUgRjEob3JpZ2luKTIuNSBFIEYwIDUoLlQpLjI0IEcoaGUgZGVmKS01IEUKLShhdWx0IGluZGUpLS4xIEUgMi41KHhpKS0uMTUgRyAyLjUoczApLTIuNSBHKC4pLTIuNSBFIEYyPGFkNzM+MTQ0IDIzNy42Ci1RIEYwKERpc2NhcmQgdGhlIFwyMTRyc3QpMjYuNDEgRSBGMShjb3VudCkyLjUgRSBGMChsaW5lcyByZWFkLikyLjUgRSBGMgotPGFkNzQ+MTQ0IDI0OS42IFEgRjAoUmVtbykyNi45NyBFIC4zIC0uMTUodmUgYSB0KS0uMTUgSAotKHJhaWxpbmcgbGluZSBmcm9tIGVhY2ggbGluZSByZWFkLikuMTUgRSBGMjxhZDc1PjE0NCAyNjEuNiBRIEYwCi0oUmVhZCBsaW5lcyBmcm9tIFwyMTRsZSBkZXNjcmlwdG9yKTI0Ljc0IEUgRjEoZmQpMi41IEUgRjAKLShpbnN0ZWFkIG9mIHRoZSBzdGFuZGFyZCBpbnB1dC4pMi41IEUgRjI8YWQ0Mz4xNDQgMjczLjYgUSBGMChFdikyMy4wOCBFCi0oYWx1YXRlKS0uMjUgRSBGMShjYWxsYmFjKTIuNyBFKGspLS4yIEUgRjAoZWFjaCB0aW1lKTMuMTcgRSBGMShxdWFudHVtKQotMi41IEUgRjAobGluZXMgYXJlIHJlYWQuKTIuNSBFKFRoZSk1IEUgRjI8YWQ2Mz4yLjUgRSBGMAotKG9wdGlvbiBzcGVjaVwyMTRlcykyLjUgRSBGMShxdWFudHVtKTIuNSBFIEYwKC4pLjMyIEUgRjI8YWQ2Mz4xNDQgMjg1LjYKLVEgRjAoU3BlY2lmeSB0aGUgbnVtYmVyIG9mIGxpbmVzIHJlYWQgYmV0d2VlbiBlYWNoIGNhbGwgdG8pMjUuODYgRSBGMQotKGNhbGxiYWMpMi41IEUoayktLjIgRSBGMCguKS42NyBFKElmKTE0NCAzMDIuNCBRIEYyPGFkNDM+Mi45NjggRSBGMCAuNDY3Ci0oaXMgc3BlY2lcMjE0ZWQgd2l0aG91dCkyLjk2NyBGIEYyPGFkNjM+Mi45NjcgRSBGMCAyLjk2NygsdClDIC40NjcKLShoZSBkZWYpLTIuOTY3IEYgLjQ2NyhhdWx0IHF1YW50dW0gaXMgNTAwMC4pLS4xIEYoV2hlbik1LjQ2NyBFIEYxCi0oY2FsbGJhYykyLjk2NyBFKGspLS4yIEUgRjAgLjQ2NyhpcyBlKTIuOTY3IEYgLS4yNSh2YSktLjI1IEcgLjQ2NwotKGx1YXRlZCwgaXQgaXMgc3VwLSkuMjUgRiAxLjIyKHBsaWVkIHRoZSBpbmRlKTE0NCAzMTQuNCBSIDMuNzIoeG8pLS4xNSBHCi0zLjcyKGZ0KS0zLjcyIEcgMS4yMihoZSBuZSktMy43MiBGIDEuMjIKLSh4dCBhcnJheSBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFzIGFuIGFkZGl0aW9uYWwgYXIpLS4xNSBGKGd1bWVudC4pLS4xOAotRSBGMShjYWxsYmFjKTYuMjIgRShrKS0uMiBFIEYwKGlzKTMuNzIgRSAtLjI1KGV2YSkxNDQgMzI2LjQgUwotKGx1YXRlZCBhZnRlciB0aGUgbGluZSBpcyByZWFkIGIpLjI1IEUKLSh1dCBiZWZvcmUgdGhlIGFycmF5IGVsZW1lbnQgaXMgYXNzaWduZWQuKS0uMiBFCi0oSWYgbm90IHN1cHBsaWVkIHdpdGggYW4gZSkxNDQgMzQzLjIgUSh4cGxpY2l0IG9yaWdpbiwpLS4xNSBFIEYyCi0obWFwXDIxNGxlKTIuNSBFIEYwKHdpbGwgY2xlYXIpMi41IEUgRjEoYXJyKTIuNSBFKGF5KS0uMTUgRSBGMAotKGJlZm9yZSBhc3NpZ25pbmcgdG8gaXQuKTIuNSBFIEYyKG1hcFwyMTRsZSkxNDQgMzYwIFEgRjAgLjk5NgotKHJldHVybnMgc3VjY2Vzc2Z1bGx5IHVubGVzcyBhbiBpbikzLjQ5NiBGIC0uMjUodmEpLS40IEcgLjk5NgotKGxpZCBvcHRpb24gb3Igb3B0aW9uIGFyKS4yNSBGIC45OTUoZ3VtZW50IGlzIHN1cHBsaWVkLCBvciktLjE4IEYgRjEKLShhcnIpMy40OTUgRShheSktLjE1IEUgRjAoaXMpMy40OTUgRShpbikxNDQgMzcyIFEgLS4yNSh2YSktLjQgRwotKGxpZCBvciB1bmFzc2lnbmFibGUuKS4yNSBFIEYyKHBvcGQpMTA4IDM4OC44IFEgRjA8NWJhZD4yLjUgRSBGMihuKUEgRjAKLTIuNShdWylDKCspLTIuNSBFIEYxKG4pQSBGMCAyLjUoXVspQzxhZD4tMi41IEUgRjEobilBIEYwKF0pQShSZW1vKTE0NAotNDAwLjggUSAtLjE1KHZlKS0uMTUgRyAyLjc5OShzZSkuMTUgRyAuMjk5Ci0obnRyaWVzIGZyb20gdGhlIGRpcmVjdG9yeSBzdGFjay4pLTIuNzk5IEYgLS40KFdpKTUuMjk5IEcgLjI5OSh0aCBubyBhcikKLS40IEYgLjI5OShndW1lbnRzLCByZW1vKS0uMTggRiAtLjE1KHZlKS0uMTUgRyAyLjc5OShzdCkuMTUgRyAuMwotKGhlIHRvcCBkaXJlY3RvcnkgZnJvbSB0aGUpLTIuNzk5IEYgMS40Nzkoc3RhY2ssIGFuZCBwZXJmb3JtcyBhKTE0NAotNDEyLjggUiBGMihjZCkzLjk3OSBFIEYwIDEuNDc5KHRvIHRoZSBuZSkzLjk3OSBGIDMuOTc5KHd0KS0uMjUgRyAxLjQ3OQotKG9wIGRpcmVjdG9yeSktMy45NzkgRiA2LjQ3OSguQSktLjY1IEcgLS4xOChyZyktNi40NzkgRyAxLjQ3OAotKHVtZW50cywgaWYgc3VwcGxpZWQsIGhhKS4xOCBGIDEuNzc4IC0uMTUodmUgdCktLjIgSCAxLjQ3OChoZSBmb2xsbykuMTUKLUYod2luZyktLjI1IEUobWVhbmluZ3M6KTE0NCA0MjQuOCBRIEYyPGFkNmU+MTQ0IDQzNi44IFEgRjAgLjU1MQotKFN1cHByZXNzZXMgdGhlIG5vcm1hbCBjaGFuZ2Ugb2YgZGlyZWN0b3J5IHdoZW4gcmVtbykyNC43NCBGIC41NTEKLSh2aW5nIGRpcmVjdG9yaWVzIGZyb20gdGhlIHN0YWNrLCBzbyktLjE1IEYKLSh0aGF0IG9ubHkgdGhlIHN0YWNrIGlzIG1hbmlwdWxhdGVkLikxODAgNDQ4LjggUSBGMigrKTE0NCA0NjAuOCBRIEYxKG4pQQotRjAoUmVtbykyNS4zIEUgLS4xNSh2ZSktLjE1IEcgMi42NChzdCkuMTUgRyhoZSktMi42NCBFIEYxKG4pMi42NCBFIEYwCi0uMTQodGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdCBzaG8pQiAuMTQod24gYnkpLS4yNSBGCi1GMihkaXJzKTIuNjQgRSBGMCAyLjY0KCxzKUMgLjE0KHRhcnRpbmcgd2l0aCB6ZXJvLiktMi42NCBGIC0uMTUoRm8pMTgwCi00NzIuOCBTIDIuNShyZSkuMTUgRyh4YW1wbGU6KS0yLjY1IEUvRjMgMTAvQ291cmllckAwIFNGKHBvcGQgKzApMi41IEUgRjAKLShyZW1vKTIuNSBFIC0uMTUodmUpLS4xNSBHIDIuNShzdCkuMTUgRyhoZSBcMjE0cnN0IGRpcmVjdG9yeSktMi41IEUoLCkKLS0uNjUgRSBGMyhwb3BkICsxKTIuNSBFIEYwKHRoZSBzZWNvbmQuKTIuNSBFIEYyPGFkPjE0NCA0ODQuOCBRIEYxKG4pQSBGMAotKFJlbW8pMjUuMyBFIC0uMTUodmUpLS4xNSBHIDMuNzU5KHN0KS4xNSBHKGhlKS0zLjc1OSBFIEYxKG4pMy43NTkgRSBGMAotMS4yNTkodGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgcmlnaHQgb2YgdGhlIGxpc3Qgc2hvKUIgMS4yNih3biBieSktLjI1Ci1GIEYyKGRpcnMpMy43NiBFIEYwIDMuNzYoLHMpQyAxLjI2KHRhcnRpbmcgd2l0aCktMy43NiBGIDIuNSh6ZXJvLiBGKTE4MAotNDk2LjggUihvciBlKS0uMTUgRSh4YW1wbGU6KS0uMTUgRSBGMyhwb3BkIC0wKTIuNSBFIEYwKHJlbW8pMi41IEUgLS4xNQotKHZlKS0uMTUgRyAyLjUoc3QpLjE1IEcoaGUgbGFzdCBkaXJlY3RvcnkpLTIuNSBFKCwpLS42NSBFIEYzKHBvcGQgLTEpMi41Ci1FIEYwKHRoZSBuZSkyLjUgRSh4dCB0byBsYXN0LiktLjE1IEUgLjY0NChJZiB0aGUpMTQ0IDUxMy42IFIgRjIocG9wZCkKLTMuMTQ0IEUgRjAgLjY0NChjb21tYW5kIGlzIHN1Y2Nlc3NmdWwsIGEpMy4xNDQgRiBGMihkaXJzKTMuMTQzIEUgRjAgLjY0MwotKGlzIHBlcmZvcm1lZCBhcyB3ZWxsLCBhbmQgdGhlIHJldHVybiBzdGF0dXMgaXMgMC4pMy4xNDMgRiBGMihwb3BkKTUuNjQzCi1FIEYwIC40MTUocmV0dXJucyBmKTE0NCA1MjUuNiBSIC40MTUoYWxzZSBpZiBhbiBpbiktLjEgRiAtLjI1KHZhKS0uNCBHCi0uNDE1KGxpZCBvcHRpb24gaXMgZW5jb3VudGVyZWQsIHRoZSBkaXJlY3Rvcnkgc3RhY2sgaXMgZW1wdHkpLjI1IEYgMi45MTYKLSgsYW4pLS42NSBHKG9uLWUpLTIuOTE2IEUgLjQxNih4aXN0ZW50IGRpcmVjLSktLjE1IEYKLSh0b3J5IHN0YWNrIGVudHJ5IGlzIHNwZWNpXDIxNGVkLCBvciB0aGUgZGlyZWN0b3J5IGNoYW5nZSBmKTE0NCA1MzcuNiBRCi0oYWlscy4pLS4xIEUgRjIocHJpbnRmKTEwOCA1NTQuNCBRIEYwKFspMi41IEUgRjI8YWQ3Nj5BIEYxKHZhcikyLjUgRSBGMAotKF0pQSBGMShmb3JtYXQpMi41IEUgRjAoWykyLjUgRSBGMShhcilBKGd1bWVudHMpLS4zNyBFIEYwKF0pQSAuMzcyCi0oV3JpdGUgdGhlIGZvcm1hdHRlZCkxNDQgNTY2LjQgUiBGMShhcikyLjg3MiBFKGd1bWVudHMpLS4zNyBFIEYwIC4zNzIKLSh0byB0aGUgc3RhbmRhcmQgb3V0cHV0IHVuZGVyIHRoZSBjb250cm9sIG9mIHRoZSkyLjg3MiBGIEYxKGZvcm1hdCkyLjg3MgotRSBGMCA1LjM3MiguVClDKGhlKS01LjM3MiBFIEYxKGZvcm1hdCkyLjg3MiBFIEYwIDEuODA0KGlzIGEgY2hhcmFjdGVyIHNcCi10cmluZyB3aGljaCBjb250YWlucyB0aHJlZSB0eXBlcyBvZiBvYmplY3RzOiBwbGFpbiBjaGFyYWN0ZXJzLCB3aGljaCBhclwKLWUgc2ltcGx5KTE0NCA1NzguNCBSIC4xNTkKLShjb3BpZWQgdG8gc3RhbmRhcmQgb3V0cHV0LCBjaGFyYWN0ZXIgZXNjYXBlIHNlcXVlbmNlcywgd2hpY2ggYXJlIGNvbikKLTE0NCA1OTAuNCBSIC0uMTUodmUpLS40IEcgLjE1OChydGVkIGFuZCBjb3BpZWQgdG8gdGhlIHN0YW4tKS4xNSBGIC40OTkoXAotZGFyZCBvdXRwdXQsIGFuZCBmb3JtYXQgc3BlY2lcMjE0Y2F0aW9ucywgZWFjaCBvZiB3aGljaCBjYXVzZXMgcHJpbnRpbmdcCi0gb2YgdGhlIG5lKTE0NCA2MDIuNCBSIC41KHh0IHN1Y2Nlc3NpKS0uMTUgRiAtLjE1KHZlKS0uMjUgRyBGMShhcikzLjE1IEUKLShndS0pLS4zNyBFKG1lbnQpMTQ0IDYxNC40IFEgRjAgNS40MjQoLkkpQyAyLjkyNChuYSktNS40MjQgRyAuNDI0Ci0oZGRpdGlvbiB0byB0aGUgc3RhbmRhcmQpLTIuOTI0IEYgRjEocHJpbnRmKTIuOTI0IEUgRjAgLjQyNAotKFwoMVwpIGZvcm1hdHMsKUIgRjIoJWIpMi45MjQgRSBGMChjYXVzZXMpMi45MjMgRSBGMihwcmludGYpMi45MjMgRSBGMAotLjQyMyh0byBlKTIuOTIzIEYgLjQyMyh4cGFuZCBiYWNrc2xhc2ggZXNjYXBlKS0uMTUgRiAuOTc2Ci0oc2VxdWVuY2VzIGluIHRoZSBjb3JyZXNwb25kaW5nKTE0NCA2MjYuNCBSIEYxKGFyKTMuNDc2IEUoZ3VtZW50KS0uMzcgRQotRjAoXChlKTMuNDc2IEUgLjk3Nih4Y2VwdCB0aGF0KS0uMTUgRiBGMihcXGMpMy40NzYgRSBGMCAuOTc2Ci0odGVybWluYXRlcyBvdXRwdXQsIGJhY2tzbGFzaGVzIGluKTMuNDc2IEYgRjI8NWMwOD4zLjQ3NyBFIEYwKCwpQSBGMgotKFxcIikzLjQ3NyBFIEYwKCwpQShhbmQpMTQ0IDYzOC40IFEgRjIoXFw/KTMuNDIyIEUgRjAgLjkyMihhcmUgbm90IHJlbW8pCi0zLjQyMiBGIC0uMTUodmUpLS4xNSBHIC45MjIoZCwgYW5kIG9jdGFsIGVzY2FwZXMgYmUpLjE1IEYgLjkyMgotKGdpbm5pbmcgd2l0aCktLjE1IEYgRjIoXFwwKTMuNDIyIEUgRjAgLjkyMQotKG1heSBjb250YWluIHVwIHRvIGZvdXIgZGlnaXRzXCksIGFuZCkzLjQyMiBGIEYyKCVxKTE0NCA2NTAuNCBRIEYwCi0oY2F1c2VzKTMuNjMgRSBGMihwcmludGYpMy42MyBFIEYwIDEuMTModG8gb3V0cHV0IHRoZSBjb3JyZXNwb25kaW5nKTMuNjMKLUYgRjEoYXIpMy42MzEgRShndW1lbnQpLS4zNyBFIEYwIDEuMTMxCi0oaW4gYSBmb3JtYXQgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxsKTMuNjMxIEYoaW5wdXQuKTE0NCA2NjIuNCBRKFRoZSkKLTE0NCA2ODYuNCBRIEYyPGFkNzY+Mi45MDQgRSBGMCAuNDA0Ci0ob3B0aW9uIGNhdXNlcyB0aGUgb3V0cHV0IHRvIGJlIGFzc2lnbmVkIHRvIHRoZSB2KTIuOTA0IEYoYXJpYWJsZSktLjI1IEUKLUYxKHZhcikyLjkwNCBFIEYwIC40MDQocmF0aGVyIHRoYW4gYmVpbmcgcHJpbnRlZCB0byB0aGUpMi45MDQgRgotKHN0YW5kYXJkIG91dHB1dC4pMTQ0IDY5OC40IFEoVGhlKTE0NCA3MjIuNCBRIEYxKGZvcm1hdCkzLjQyMyBFIEYwIC45MjMKLShpcyByZXVzZWQgYXMgbmVjZXNzYXJ5IHRvIGNvbnN1bWUgYWxsIG9mIHRoZSkzLjQyMyBGIEYxKGFyKTMuNDIzIEUKLShndW1lbnRzKS0uMzcgRSBGMCA1LjkyMyguSSlDIDMuNDIzKGZ0KS01LjkyMyBHKGhlKS0zLjQyMyBFIEYxKGZvcm1hdCkKLTMuNDIzIEUgRjAgLjkyNChyZXF1aXJlcyBtb3JlKTMuNDI0IEYoR05VIEJhc2gtNC4wKTcyIDc2OCBRCi0oMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFKDU3KTE5MC45NSBFIDAgQ2cgRVAKKy0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoaGlzdG9yeSBbKTEwOCA4NCBRL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGCisobilBIEYxKF0pQShoaXN0b3J5IFwyNTVjKTEwOCA5NiBRKGhpc3RvcnkgXDI1NWQpMTA4IDEwOCBRIEYyKG9mKTIuNSBFCisoZnNldCktLjE4IEUgRjEoaGlzdG9yeSBcMjU1YW5ydykxMDggMTIwIFEgRjAoWykyLjUgRSBGMihcMjE0bGVuYW1lKUEgRjAKKyhdKUEgRjEoaGlzdG9yeSBcMjU1cCkxMDggMTMyIFEgRjIoYXIpMi41IEUoZyktLjM3IEUgRjAoWykyLjUgRSBGMihhcilBCisyLjUoZy4pLS4zNyBHKC4uKS0yLjUgRSBGMChdKUEgRjEoaGlzdG9yeSBcMjU1cykxMDggMTQ0IFEgRjIoYXIpMi41IEUoZykKKy0uMzcgRSBGMChbKTIuNSBFIEYyKGFyKUEgMi41KGcuKS0uMzcgRyguLiktMi41IEUgRjAoXSlBIC0uNChXaSkxNDQgMTU2CitTIC43NTIKKyh0aCBubyBvcHRpb25zLCBkaXNwbGF5IHRoZSBjb21tYW5kIGhpc3RvcnkgbGlzdCB3aXRoIGxpbmUgbnVtYmVycy4pLjQgRgorLjc1MihMaW5lcyBsaXN0ZWQgd2l0aCBhKTUuNzUyIEYgRjEoKikzLjI1MSBFIEYwKGhhKTMuMjUxIEUgLS4xNSh2ZSktLjIKK0cgLjM4KGJlZW4gbW9kaVwyMTRlZC4pMTQ0IDE2OCBSIC4zOChBbiBhcik1LjM4IEYgLjM4KGd1bWVudCBvZiktLjE4IEYKK0YyKG4pMy4yNCBFIEYwIC4zOChsaXN0cyBvbmx5IHRoZSBsYXN0KTMuMTIgRiBGMihuKTMuMjQgRSBGMCAyLjg4CisobGluZXMuIElmKTMuMTIgRiAuMzgodGhlIHNoZWxsIHYpMi44OCBGKGFyaWFibGUpLS4yNSBFL0YzIDkKKy9UaW1lcy1Cb2xkQDAgU0YoSElTVFRJTUVGT1ItKTIuODgxIEUoTUEpMTQ0IDE4MCBRKFQpLS44NTUgRSBGMCAuMjY1CisoaXMgc2V0IGFuZCBub3QgbnVsbCwgaXQgaXMgdXNlZCBhcyBhIGZvcm1hdCBzdHJpbmcgZm9yKTIuNTE1IEYgRjIKKyhzdHJmdGltZSkyLjc2NCBFIEYwIC4yNjQoXCgzXCkgdG8gZGlzcGxheSB0aGUgdGltZSBzdGFtcCBhc3NvLSlCIDEuMDE5CisoY2lhdGVkIHdpdGggZWFjaCBkaXNwbGF5ZWQgaGlzdG9yeSBlbnRyeSkxNDQgMTkyIFIgNi4wMTkoLk4pLS42NSBHCiszLjUxOShvaSktNi4wMTkgRyhudGVydiktMy41MTkgRSAxLjAxOQorKGVuaW5nIGJsYW5rIGlzIHByaW50ZWQgYmV0d2VlbiB0aGUgZm9ybWF0dGVkKS0uMTUgRiAuMTc2CisodGltZSBzdGFtcCBhbmQgdGhlIGhpc3RvcnkgbGluZS4pMTQ0IDIwNCBSKElmKTUuMTc2IEUgRjIoXDIxNGxlbmFtZSkKKzIuNjc2IEUgRjAgLjE3NgorKGlzIHN1cHBsaWVkLCBpdCBpcyB1c2VkIGFzIHRoZSBuYW1lIG9mIHRoZSBoaXN0b3J5IFwyMTRsZTsgaWYpMi42NzYgRgorKG5vdCwgdGhlIHYpMTQ0IDIxNiBRKGFsdWUgb2YpLS4yNSBFIEYzKEhJU1RGSUxFKTIuNSBFIEYwKGlzIHVzZWQuKTIuMjUKK0UoT3B0aW9ucywgaWYgc3VwcGxpZWQsIGhhKTUgRSAuMyAtLjE1KHZlIHQpLS4yIEgoaGUgZm9sbG8pLjE1IEUKKyh3aW5nIG1lYW5pbmdzOiktLjI1IEUgRjE8YWQ2Mz4xNDQgMjI4IFEgRjAKKyhDbGVhciB0aGUgaGlzdG9yeSBsaXN0IGJ5IGRlbGV0aW5nIGFsbCB0aGUgZW50cmllcy4pMjUuODYgRSBGMTxhZDY0PjE0NAorMjQwIFEgRjIob2YpMi41IEUoZnNldCktLjE4IEUgRjAoRGVsZXRlIHRoZSBoaXN0b3J5IGVudHJ5IGF0IHBvc2l0aW9uKQorMTgwIDI1MiBRIEYyKG9mKTIuNSBFKGZzZXQpLS4xOCBFIEYwKC4pQSBGMTxhZDYxPjE0NCAyNjQgUSBGMCAuNTk4CisoQXBwZW5kIHRoZSBgKTI1LjMgRihgbmUpLS43NCBFKHcnKS0uMjUgRSAzLjA5OCgnaCktLjc0IEcgLjU5OAorKGlzdG9yeSBsaW5lcyBcKGhpc3RvcnkgbGluZXMgZW50ZXJlZCBzaW5jZSB0aGUgYmUpLTMuMDk4IEYgLjU5OQorKGdpbm5pbmcgb2YgdGhlIGN1cnJlbnQpLS4xNSBGIEYxKGJhc2gpMTgwIDI3NiBRIEYwCisoc2Vzc2lvblwpIHRvIHRoZSBoaXN0b3J5IFwyMTRsZS4pMi41IEUgRjE8YWQ2ZT4xNDQgMjg4IFEgRjAgLjg1NChSZWFkIFwKK3RoZSBoaXN0b3J5IGxpbmVzIG5vdCBhbHJlYWR5IHJlYWQgZnJvbSB0aGUgaGlzdG9yeSBcMjE0bGUgaW50byB0aGUgY3VyXAorcmVudCBoaXN0b3J5IGxpc3QuKTI0Ljc0IEYgLjc3MgorKFRoZXNlIGFyZSBsaW5lcyBhcHBlbmRlZCB0byB0aGUgaGlzdG9yeSBcMjE0bGUgc2luY2UgdGhlIGJlKTE4MCAzMDAgUgorLjc3MyhnaW5uaW5nIG9mIHRoZSBjdXJyZW50KS0uMTUgRiBGMShiYXNoKTMuMjczIEUgRjAoc2VzLSkzLjI3MyBFCisoc2lvbi4pMTgwIDMxMiBRIEYxPGFkNzI+MTQ0IDMyNCBRIEYwKFJlYWQgdGhlIGNvbnRlbnRzIG9mIHRoZSBoaXN0b3J5IFwKK1wyMTRsZSBhbmQgdXNlIHRoZW0gYXMgdGhlIGN1cnJlbnQgaGlzdG9yeSkyNS44NiBFKC4pLS42NSBFIEYxPGFkNzc+MTQ0CiszMzYgUSBGMChXcml0ZSB0aGUgY3VycmVudCBoaXN0b3J5IHRvIHRoZSBoaXN0b3J5IFwyMTRsZSwgbykyMy4wOCBFIC0uMTUKKyh2ZSktLjE1IEcocndyaXRpbmcgdGhlIGhpc3RvcnkgXDIxNGxlJykuMTUgRSAyLjUoc2MpLS41NSBHKG9udGVudHMuKQorLTIuNSBFIEYxPGFkNzA+MTQ0IDM0OCBRIEYwIC42MjYKKyhQZXJmb3JtIGhpc3Rvcnkgc3Vic3RpdHV0aW9uIG9uIHRoZSBmb2xsbykyNC43NCBGKHdpbmcpLS4yNSBFIEYyKGFyKQorMy4xMjUgRShncyktLjM3IEUgRjAgLjYyNShhbmQgZGlzcGxheSB0aGUgcmVzdWx0IG9uIHRoZSBzdGFuZGFyZCkzLjEyNSBGCisyLjk3NShvdXRwdXQuIERvZXMpMTgwIDM2MCBSIC40NzUKKyhub3Qgc3RvcmUgdGhlIHJlc3VsdHMgaW4gdGhlIGhpc3RvcnkgbGlzdC4pMi45NzUgRihFYWNoKTUuNDc1IEUgRjIoYXIpCisyLjk3NSBFKGcpLS4zNyBFIEYwIC40NzUobXVzdCBiZSBxdW90ZWQgdG8gZGlzYWJsZSkyLjk3NSBGCisobm9ybWFsIGhpc3RvcnkgZSkxODAgMzcyIFEoeHBhbnNpb24uKS0uMTUgRSBGMTxhZDczPjE0NCAzODQgUSBGMCAuMzYzCisoU3RvcmUgdGhlKTI2LjQxIEYgRjIoYXIpMy4xOTMgRShncyktLjM3IEUgRjAgLjM2MworKGluIHRoZSBoaXN0b3J5IGxpc3QgYXMgYSBzaW5nbGUgZW50cnkpMy4xMzMgRiA1LjM2MyguVCktLjY1IEcgLjM2MgorKGhlIGxhc3QgY29tbWFuZCBpbiB0aGUgaGlzdG9yeSBsaXN0IGlzKS01LjM2MyBGKHJlbW8pMTgwIDM5NiBRIC0uMTUodmUpCistLjE1IEcgMi41KGRiKS4xNSBHKGVmb3JlIHRoZSktMi41IEUgRjIoYXIpMi44MyBFKGdzKS0uMzcgRSBGMAorKGFyZSBhZGRlZC4pMi43NyBFIC4xNDUoSWYgdGhlKTE0NCA0MTIuOCBSIEYzKEhJU1RUSU1FRk9STUEpMi42NDUgRShUKQorLS44NTUgRSBGMCAtLjI1KHZhKTIuMzk1IEcgLjE0NQorKHJpYWJsZSBpcyBzZXQsIHRoZSB0aW1lIHN0YW1wIGluZm9ybWF0aW9uIGFzc29jaWF0ZWQgd2l0aCBlYWNoIGhpc3RvcnkpCisuMjUgRiAuNjY5KGVudHJ5IGlzIHdyaXR0ZW4gdG8gdGhlIGhpc3RvcnkgXDIxNGxlLCBtYXJrKTE0NCA0MjQuOCBSIC42NjkKKyhlZCB3aXRoIHRoZSBoaXN0b3J5IGNvbW1lbnQgY2hhcmFjdGVyKS0uMSBGIDUuNjY4KC5XKS0uNTUgRyAuNjY4CisoaGVuIHRoZSBoaXN0b3J5KS01LjY2OCBGIC45NTUoXDIxNGxlIGlzIHJlYWQsIGxpbmVzIGJlKTE0NCA0MzYuOCBSIC45NTYKKyhnaW5uaW5nIHdpdGggdGhlIGhpc3RvcnkgY29tbWVudCBjaGFyYWN0ZXIgZm9sbG8pLS4xNSBGIC45NTYKKyh3ZWQgaW1tZWRpYXRlbHkgYnkgYSBkaWdpdCktLjI1IEYgLjQxNgorKGFyZSBpbnRlcnByZXRlZCBhcyB0aW1lc3RhbXBzIGZvciB0aGUgcHJlKTE0NCA0NDguOCBSIC40MTYKKyh2aW91cyBoaXN0b3J5IGxpbmUuKS0uMjUgRiAuNDE2KFRoZSByZXR1cm4gdik1LjQxNiBGIC40MTUKKyhhbHVlIGlzIDAgdW5sZXNzIGFuIGluKS0uMjUgRiAtLjI1KHZhKS0uNCBHKGxpZCkuMjUgRSAuNDk5KG9wdGlvbiBpcyBlXAorbmNvdW50ZXJlZCwgYW4gZXJyb3Igb2NjdXJzIHdoaWxlIHJlYWRpbmcgb3Igd3JpdGluZyB0aGUgaGlzdG9yeSBcMjE0bGVcCissIGFuIGluKTE0NCA0NjAuOCBSIC0uMjUodmEpLS40IEcobGlkKS4yNSBFIEYyKG9mKTMgRShmc2V0KS0uMTggRSBGMChpcykKKzMgRShzdXBwbGllZCBhcyBhbiBhcikxNDQgNDcyLjggUShndW1lbnQgdG8pLS4xOCBFIEYxPGFkNjQ+Mi41IEUgRjAgMi41CisoLG8pQyAyLjUocnQpLTIuNSBHKGhlIGhpc3RvcnkgZSktMi41IEUoeHBhbnNpb24gc3VwcGxpZWQgYXMgYW4gYXIpLS4xNQorRShndW1lbnQgdG8pLS4xOCBFIEYxPGFkNzA+Mi41IEUgRjAgLS4xKGZhKTIuNSBHKGlscy4pLjEgRSBGMShqb2JzKTEwOAorNDg5LjYgUSBGMChbKTIuNSBFIEYxKFwyNTVsbnBycylBIEYwIDIuNShdWylDIEYyKGpvYnNwZWMpQSBGMCguLi4gXSkyLjUKK0UgRjEoam9icyBcMjU1eCkxMDggNTAxLjYgUSBGMihjb21tYW5kKTIuNSBFIEYwKFspMi41IEUgRjIoYXIpMi41IEUoZ3MpCistLjM3IEUgRjAoLi4uIF0pMi41IEUoVGhlIFwyMTRyc3QgZm9ybSBsaXN0cyB0aGUgYWN0aSkxNDQgNTEzLjYgUSAuMworLS4xNSh2ZSBqKS0uMjUgSCAyLjUob2JzLiBUaGUpLjE1IEYob3B0aW9ucyBoYSkyLjUgRSAuMyAtLjE1KHZlIHQpLS4yIEgKKyhoZSBmb2xsbykuMTUgRSh3aW5nIG1lYW5pbmdzOiktLjI1IEUgRjE8YWQ2Yz4xNDQgNTI1LjYgUSBGMAorKExpc3QgcHJvY2VzcyBJRHMgaW4gYWRkaXRpb24gdG8gdGhlIG5vcm1hbCBpbmZvcm1hdGlvbi4pMjcuNTIgRSBGMQorPGFkNzA+MTQ0IDUzNy42IFEgRjAoTGlzdCBvbmx5IHRoZSBwcm9jZXNzIElEIG9mIHRoZSBqb2InKTI0Ljc0IEUgMi41Cisoc3ApLS41NSBHKHJvY2VzcyBncm91cCBsZWFkZXIpLTIuNSBFKC4pLS41NSBFIEYxPGFkNmU+MTQ0IDU0OS42IFEgRjAKKy4xOTQoRGlzcGxheSBpbmZvcm1hdGlvbiBvbmx5IGFib3V0IGpvYnMgdGhhdCBoYSkyNC43NCBGIC40OTQgLS4xNSh2ZSBjKQorLS4yIEggLjE5MyhoYW5nZWQgc3RhdHVzIHNpbmNlIHRoZSB1c2VyIHcpLjE1IEYgLjE5MyhhcyBsYXN0IG5vdGktKS0uMSBGCisoXDIxNGVkIG9mIHRoZWlyIHN0YXR1cy4pMTgwIDU2MS42IFEgRjE8YWQ3Mj4xNDQgNTczLjYgUSBGMAorKFJlc3RyaWN0IG91dHB1dCB0byBydW5uaW5nIGpvYnMuKTI1Ljg2IEUgRjE8YWQ3Mz4xNDQgNTg1LjYgUSBGMAorKFJlc3RyaWN0IG91dHB1dCB0byBzdG9wcGVkIGpvYnMuKTI2LjQxIEUoSWYpMTQ0IDYwMi40IFEgRjIoam9ic3BlYykKKzQuNTUzIEUgRjAgLjMxMyhpcyBnaSkzLjEyMyBGIC0uMTUodmUpLS4yNSBHIC4zMTMKKyhuLCBvdXRwdXQgaXMgcmVzdHJpY3RlZCB0byBpbmZvcm1hdGlvbiBhYm91dCB0aGF0IGpvYikuMTUgRiA1LjMxNCguVCkKKy0uNCBHIC4zMTQoaGUgcmV0dXJuIHN0YXR1cyBpcyAwIHVubGVzcyktNS4zMTQgRihhbiBpbikxNDQgNjE0LjQgUSAtLjI1CisodmEpLS40IEcobGlkIG9wdGlvbiBpcyBlbmNvdW50ZXJlZCBvciBhbiBpbikuMjUgRSAtLjI1KHZhKS0uNCBHKGxpZCkuMjUKK0UgRjIoam9ic3BlYyk0LjI0IEUgRjAoaXMgc3VwcGxpZWQuKTIuODEgRSAuMzk1KElmIHRoZSkxNDQgNjMxLjIgUiBGMQorPGFkNzg+Mi44OTUgRSBGMCAuMzk0KG9wdGlvbiBpcyBzdXBwbGllZCwpMi44OTQgRiBGMShqb2JzKTIuODk0IEUgRjAKKy4zOTQocmVwbGFjZXMgYW4pMi44OTQgRih5KS0uMTUgRSBGMihqb2JzcGVjKTQuNjM0IEUgRjAgLjM5NChmb3VuZCBpbikKKzMuMjA0IEYgRjIoY29tbWFuZCkzLjA5NCBFIEYwKG9yKTMuNjY0IEUgRjIoYXIpMy4yMjQgRShncyktLjM3IEUgRjAgLjM5NAorKHdpdGggdGhlIGNvcnJlLSkzLjE2NCBGKHNwb25kaW5nIHByb2Nlc3MgZ3JvdXAgSUQsIGFuZCBlKTE0NCA2NDMuMiBRCistLjE1KHhlKS0uMTUgRyhjdXRlcykuMTUgRSBGMihjb21tYW5kKTIuNyBFIEYwKHBhc3NpbmcgaXQpMy4yNyBFIEYyKGFyKQorMi41IEUoZ3MpLS4zNyBFIEYwIDIuNSgscikuMjcgRyhldHVybmluZyBpdHMgZSktMi41IEUoeGl0IHN0YXR1cy4pLS4xNSBFCitGMShraWxsKTEwOCA2NjAgUSBGMChbKTIuNSBFIEYxPGFkNzM+QSBGMihzaWdzcGVjKTIuNSBFIEYwKHwpMi41IEUgRjEKKzxhZDZlPjIuNSBFIEYyKHNpZ251bSkyLjUgRSBGMCh8KTIuNSBFIEYxPGFkPjIuNSBFIEYyKHNpZ3NwZWMpQSBGMCAyLjUKKyhdWylDIEYyKHBpZCktMi41IEUgRjAofCkyLjUgRSBGMihqb2JzcGVjKTIuNSBFIEYwIDIuNShdLilDKC4uKS0yLjUgRSBGMQorKGtpbGwgXDI1NWwpMTA4IDY3MiBRIEYwKFspMi41IEUgRjIoc2lnc3BlYylBIEYwKHwpMi41IEUgRjIgLS4yKGV4KTIuNSBHCisoaXRfc3RhdHVzKS4yIEUgRjAoXSlBIC4xMTkoU2VuZCB0aGUgc2lnbmFsIG5hbWVkIGJ5KTE0NCA2ODQgUiBGMgorKHNpZ3NwZWMpMi45NTkgRSBGMChvcikyLjkyOSBFIEYyKHNpZ251bSkyLjk1OSBFIEYwIC4xMTkKKyh0byB0aGUgcHJvY2Vzc2VzIG5hbWVkIGJ5KTIuOTM5IEYgRjIocGlkKTMuODcgRSBGMChvcikzLjM5IEUgRjIKKyhqb2JzcGVjKTIuNjIgRSBGMCguKS4zMSBFIEYyKHNpZ3NwZWMpNS40NiBFIEYwKGlzKTIuOTMgRSAuMzE5CisoZWl0aGVyIGEgY2FzZS1pbnNlbnNpdGkpMTQ0IDY5NiBSIC42MTkgLS4xNSh2ZSBzKS0uMjUgSCAuMzE5CisoaWduYWwgbmFtZSBzdWNoIGFzKS4xNSBGIEYzKFNJR0tJTEwpMi44MTkgRSBGMCAuMzE4CisoXCh3aXRoIG9yIHdpdGhvdXQgdGhlKTIuNTY5IEYgRjMoU0lHKTIuODE4IEUgRjAgLjMxOAorKHByZVwyMTR4XCkgb3IgYSBzaWduYWwpMi41NjggRihudW1iZXI7KTE0NCA3MDggUSBGMihzaWdudW0pNC4xODggRSBGMAorMS4zNDkoaXMgYSBzaWduYWwgbnVtYmVyKTQuMTY4IEYgNi4zNDkoLkkpLS41NSBHKGYpLTYuMzQ5IEUgRjIoc2lnc3BlYykKKzQuMTg5IEUgRjAgMS4zNDkoaXMgbm90IHByZXNlbnQsIHRoZW4pNC4xNTkgRiBGMyhTSUdURVJNKTMuODQ5IEUgRjAKKzEuMzQ5KGlzIGFzc3VtZWQuKTMuNTk5IEYoQW4pNi4zNDkgRShhcikxNDQgNzIwIFEgLjUyMyhndW1lbnQgb2YpLS4xOCBGCitGMTxhZDZjPjMuMDIzIEUgRjAgLjUyMyhsaXN0cyB0aGUgc2lnbmFsIG5hbWVzLikzLjAyMyBGIC41MjMoSWYgYW4pNS41MjMKK0YgMy4wMjMoeWEpLS4xNSBHIC0uMTgocmcpLTMuMDIzIEcgLjUyMyh1bWVudHMgYXJlIHN1cHBsaWVkIHdoZW4pLjE4IEYKK0YxPGFkNmM+My4wMjMgRSBGMCAuNTIzKGlzIGdpKTMuMDIzIEYgLS4xNSh2ZSktLjI1IEcgLjUyMyhuLCB0aGUgbmFtZXMpCisuMTUgRihHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoNTcpMTg1Ljk1NSBFIDAgQ2cKK0VQCiAlJVBhZ2U6IDU4IDU4CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUl0YWxpY0AwIFNGKGFyKTE0NCA4NCBRKGd1bWVudHMpLS4zNyBFIEYwIC4wMzMKLSh0aGFuIGFyZSBzdXBwbGllZCwgdGhlIGUpMi41MzQgRiAuMDMzCi0oeHRyYSBmb3JtYXQgc3BlY2lcMjE0Y2F0aW9ucyBiZWhhKS0uMTUgRiAuMzMzIC0uMTUodmUgYSktLjIgSCAyLjUzMyhzaSkKLS4xNSBHIDIuNTMzKGZheiktMi41MzMgRyAuMDMzKGVybyB2KS0yLjUzMyBGIC4wMzMoYWx1ZSBvciBudWxsIHN0cmluZywpCi0tLjI1IEYoYXMgYXBwcm9wcmlhdGUsIGhhZCBiZWVuIHN1cHBsaWVkLikxNDQgOTYgUShUaGUgcmV0dXJuIHYpNSBFCi0oYWx1ZSBpcyB6ZXJvIG9uIHN1Y2Nlc3MsIG5vbi16ZXJvIG9uIGYpLS4yNSBFKGFpbHVyZS4pLS4xIEUvRjIgMTAKLS9UaW1lcy1Cb2xkQDAgU0YocHVzaGQpMTA4IDExMi44IFEgRjAoWykyLjUgRSBGMjxhZDZlPkEgRjAgMi41KF1bKUMoKykKLS0yLjUgRSBGMShuKUEgRjAgMi41KF1bKUM8YWQ+LTIuNSBFIEYxKG4pQSBGMChdKUEgRjIocHVzaGQpMTA4IDEyNC44IFEKLUYwKFspMi41IEUgRjI8YWQ2ZT5BIEYwIDIuNShdWylDIEYxKGRpciktMi41IEUgRjAoXSlBIC42MzkoQWRkcyBhIGRpcmVjXAotdG9yeSB0byB0aGUgdG9wIG9mIHRoZSBkaXJlY3Rvcnkgc3RhY2ssIG9yIHJvdGF0ZXMgdGhlIHN0YWNrLCBtYWtpbmcgdGhcCi1lIG5lKTE0NCAxMzYuOCBSIDMuMTQod3QpLS4yNSBHIC42NChvcCBvZiB0aGUpLTMuMTQgRiAxLjMxNgotKHN0YWNrIHRoZSBjdXJyZW50IHcpMTQ0IDE0OC44IFIgMS4zMTYob3JraW5nIGRpcmVjdG9yeSktLjEgRiA2LjMxNiguVykKLS0uNjUgRyAxLjMxNShpdGggbm8gYXIpLTYuNzE2IEYgMS4zMTUoZ3VtZW50cywgZSktLjE4IEYgMS4zMTUKLSh4Y2hhbmdlcyB0aGUgdG9wIHR3KS0uMTUgRiAzLjgxNShvZCktLjEgRyAxLjMxNShpcmVjdG9yaWVzIGFuZCktMy44MTUgRgotLjg3MShyZXR1cm5zIDAsIHVubGVzcyB0aGUgZGlyZWN0b3J5IHN0YWNrIGlzIGVtcHR5KTE0NCAxNjAuOCBSIDUuODcxCi0oLkEpLS42NSBHIC0uMTgocmcpLTUuODcxIEcgLjg3Mih1bWVudHMsIGlmIHN1cHBsaWVkLCBoYSkuMTggRiAxLjE3MgotLS4xNSh2ZSB0KS0uMiBIIC44NzIoaGUgZm9sbG8pLjE1IEYgLjg3Mih3aW5nIG1lYW4tKS0uMjUgRihpbmdzOikxNDQKLTE3Mi44IFEgRjI8YWQ2ZT4xNDQgMTg0LjggUSBGMCAuOTAyKFN1cHByZXNzZXMgdGhlIG5vcm1hbCBjaGFuZ2Ugb2YgZGlyXAotZWN0b3J5IHdoZW4gYWRkaW5nIGRpcmVjdG9yaWVzIHRvIHRoZSBzdGFjaywgc28gdGhhdCkyNC43NCBGCi0ob25seSB0aGUgc3RhY2sgaXMgbWFuaXB1bGF0ZWQuKTE4MCAxOTYuOCBRIEYyKCspMTQ0IDIwOC44IFEgRjEobilBIEYwCi0xLjI2NyhSb3RhdGVzIHRoZSBzdGFjayBzbyB0aGF0IHRoZSkyNS4zIEYgRjEobikzLjc2NyBFIEYwIDEuMjY4Ci0odGggZGlyZWN0b3J5IFwoY291bnRpbmcgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdCBzaG8pQiAxLjI2OCh3biBieSkKLS0uMjUgRiBGMihkaXJzKTE4MCAyMjAuOCBRIEYwIDIuNSgscylDCi0odGFydGluZyB3aXRoIHplcm9cKSBpcyBhdCB0aGUgdG9wLiktMi41IEUgRjI8YWQ+MTQ0IDIzMi44IFEgRjEobilBIEYwCi0uOTIoUm90YXRlcyB0aGUgc3RhY2sgc28gdGhhdCB0aGUpMjUuMyBGIEYxKG4pMy40MiBFIEYwIC45MgotKHRoIGRpcmVjdG9yeSBcKGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNobylCIC45Mih3biBieSktLjI1Ci1GIEYyKGRpcnMpMTgwIDI0NC44IFEgRjAgMi41KCxzKUModGFydGluZyB3aXRoIHplcm9cKSBpcyBhdCB0aGUgdG9wLikKLS0yLjUgRSBGMShkaXIpMTQ0LjM1IDI1Ni44IFEgRjAoQWRkcykyMy45OCBFIEYxKGRpcikyLjg1IEUgRjAKLSh0byB0aGUgZGlyZWN0b3J5IHN0YWNrIGF0IHRoZSB0b3AsIG1ha2luZyBpdCB0aGUgbmUpMy4yMyBFIDIuNSh3YyktLjI1Ci1HKHVycmVudCB3KS0yLjUgRShvcmtpbmcgZGlyZWN0b3J5KS0uMSBFKC4pLS42NSBFIC40ODgoSWYgdGhlKTE0NCAyNzMuNgotUiBGMihwdXNoZCkyLjk4OCBFIEYwIC40ODgoY29tbWFuZCBpcyBzdWNjZXNzZnVsLCBhKTIuOTg4IEYgRjIoZGlycykKLTIuOTg4IEUgRjAgLjQ4OChpcyBwZXJmb3JtZWQgYXMgd2VsbC4pMi45ODggRiAuNDg5Ci0oSWYgdGhlIFwyMTRyc3QgZm9ybSBpcyB1c2VkLCk1LjQ4OCBGIEYyKHB1c2hkKTIuOTg5IEUgRjAgMS4wNAotKHJldHVybnMgMCB1bmxlc3MgdGhlIGNkIHRvKTE0NCAyODUuNiBSIEYxKGRpcikzLjg5IEUgRjAgLS4xKGZhKTQuMjcgRwotMy41MzkoaWxzLiBXKS4xIEYgMS4wMzkoaXRoIHRoZSBzZWNvbmQgZm9ybSwpLS40IEYgRjIocHVzaGQpMy41MzkgRSBGMAotMS4wMzkocmV0dXJucyAwIHVubGVzcyB0aGUgZGlyZWN0b3J5KTMuNTM5IEYgLjg0NihzdGFjayBpcyBlbXB0eSkxNDQKLTI5Ny42IFIgMy4zNDYoLGFuKS0uNjUgRyhvbi1lKS0zLjM0NiBFIC44NDcoeGlzdGVudCBkaXJlY3Rvcnkgc3RhY2sgZWxlXAotbWVudCBpcyBzcGVjaVwyMTRlZCwgb3IgdGhlIGRpcmVjdG9yeSBjaGFuZ2UgdG8gdGhlKS0uMTUgRgotKHNwZWNpXDIxNGVkIG5lKTE0NCAzMDkuNiBRIDIuNSh3YyktLjI1IEcodXJyZW50IGRpcmVjdG9yeSBmKS0yLjUgRQotKGFpbHMuKS0uMSBFIEYyKHB3ZCkxMDggMzI2LjQgUSBGMChbKTIuNSBFIEYyKFwyNTVMUClBIEYwKF0pQSAuODQ1Ci0oUHJpbnQgdGhlIGFic29sdXRlIHBhdGhuYW1lIG9mIHRoZSBjdXJyZW50IHcpMTQ0IDMzOC40IFIgLjg0NQotKG9ya2luZyBkaXJlY3RvcnkpLS4xIEYgNS44NDQoLlQpLS42NSBHIC44NDQKLShoZSBwYXRobmFtZSBwcmludGVkIGNvbnRhaW5zIG5vKS01Ljg0NCBGIC4xODEoc3ltYm9saWMgbGlua3MgaWYgdGhlKTE0NAotMzUwLjQgUiBGMjxhZDUwPjIuNjgxIEUgRjAgLjE4MShvcHRpb24gaXMgc3VwcGxpZWQgb3IgdGhlKTIuNjgxIEYgRjIKLS4xODEoXDI1NW8gcGgpMi42ODEgRih5c2ljYWwpLS4xNSBFIEYwIC4xODEob3B0aW9uIHRvIHRoZSkyLjY4MSBGIEYyCi0oc2V0KTIuNjgxIEUgRjAgLS4yKGJ1KTIuNjgxIEcgLjE4MihpbHRpbiBjb21tYW5kIGlzKS4yIEYgMy4yNjQKLShlbmFibGVkLiBJZikxNDQgMzYyLjQgUih0aGUpMy4yNjQgRSBGMjxhZDRjPjMuMjY0IEUgRjAgLjc2MwotKG9wdGlvbiBpcyB1c2VkLCB0aGUgcGF0aG5hbWUgcHJpbnRlZCBtYXkgY29udGFpbiBzeW1ib2xpYyBsaW5rcy4pMy4yNjQKLUYgLjc2MyhUaGUgcmV0dXJuKTUuNzYzIEYgMS4zNihzdGF0dXMgaXMgMCB1bmxlc3MgYW4gZXJyb3Igb2NjdXJzIHdoaWxlXAotIHJlYWRpbmcgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IG9yIGFuIGluKTE0NCAzNzQuNCBSIC0uMjUodmEpCi0tLjQgRyhsaWQpLjI1IEUob3B0aW9uIGlzIHN1cHBsaWVkLikxNDQgMzg2LjQgUSBGMiAtLjE4KHJlKTEwOCA0MDMuMiBTCi0oYWQpLjE4IEUgRjAoWykyLjUgRSBGMihcMjU1ZXJzKUEgRjAgMi41KF1bKUMgRjI8YWQ2MT4tMi41IEUgRjEoYW5hbWUpCi0yLjUgRSBGMCAyLjUoXVspQyBGMjxhZDY0Pi0yLjUgRSBGMShkZWxpbSkyLjUgRSBGMCAyLjUoXVspQyBGMjxhZDY5Pi0yLjUKLUUgRjEodGUpMi41IEUoeHQpLS4yIEUgRjAgMi41KF1bKUMgRjI8YWQ2ZT4tMi41IEUgRjEobmMpMi41IEUoaGFyKS0uMTUgRQotKHMpLS4xIEUgRjAgMi41KF1bKUMgRjI8YWQ3MD4tMi41IEUgRjEocHIpMi41IEUob21wdCktLjQ1IEUgRjAgMi41KF1bKUMKLUYyPGFkNzQ+LTIuNSBFIEYxKHRpbWVvdXQpMi41IEUgRjAgMi41KF1bKUMgRjI8YWQ3NT4tMi41IEUgRjEoZmQpMi41IEUKLUYwIDIuNShdWylDIEYxKG5hbWUpLTIuNSBFIEYwKC4uLl0pMi41IEUgLjUxNihPbmUgbGluZSBpcyByZWFkIGZyb20gdGhlXAotIHN0YW5kYXJkIGlucHV0LCBvciBmcm9tIHRoZSBcMjE0bGUgZGVzY3JpcHRvcikxNDQgNDE1LjIgUiBGMShmZCkzLjAxNiBFCi1GMCAuNTE2KHN1cHBsaWVkIGFzIGFuIGFyKTMuMDE2IEYgLjUxNihndW1lbnQgdG8pLS4xOCBGKHRoZSkxNDQgNDI3LjIgUQotRjI8YWQ3NT4yLjUzOCBFIEYwIC4wMzgob3B0aW9uLCBhbmQgdGhlIFwyMTRyc3QgdykyLjUzOCBGIC4wMzgKLShvcmQgaXMgYXNzaWduZWQgdG8gdGhlIFwyMTRyc3QpLS4xIEYgRjEobmFtZSkyLjUzOSBFIEYwIDIuNTM5KCx0KS4xOCBHCi0uMDM5KGhlIHNlY29uZCB3KS0yLjUzOSBGIC4wMzkob3JkIHRvIHRoZSBzZWNvbmQpLS4xIEYgRjEobmFtZSkyLjUzOSBFCi1GMCgsKS4xOCBFIC40MihhbmQgc28gb24sIHdpdGggbGVmdG8pMTQ0IDQzOS4yIFIgLS4xNSh2ZSktLjE1IEcgMi45MihydykKLS4xNSBHIC40MihvcmRzIGFuZCB0aGVpciBpbnRlcnYpLTMuMDIgRiAuNDIKLShlbmluZyBzZXBhcmF0b3JzIGFzc2lnbmVkIHRvIHRoZSBsYXN0KS0uMTUgRiBGMShuYW1lKTIuOTIgRSBGMCA1LjQyKC5JKQotLjE4IEcgMi45MihmdCktNS40MiBHKGhlcmUpLTIuOTIgRSAuNTQoYXJlIGZlKTE0NCA0NTEuMiBSIC41NCh3ZXIgdyktLjI1Ci1GIC41NDEob3JkcyByZWFkIGZyb20gdGhlIGlucHV0IHN0cmVhbSB0aGFuIG5hbWVzLCB0aGUgcmVtYWluaW5nIG5hbWVzIFwKLWFyZSBhc3NpZ25lZCBlbXB0eSktLjEgRiAtLjI1KHZhKTE0NCA0NjMuMiBTIDIuNTExKGx1ZXMuIFRoZSkuMjUgRiAuMDExCi0oY2hhcmFjdGVycyBpbikyLjUxMSBGL0YzIDkvVGltZXMtQm9sZEAwIFNGKElGUykyLjUxMSBFIEYwIC4wMTEKLShhcmUgdXNlZCB0byBzcGxpdCB0aGUgbGluZSBpbnRvIHcpMi4yNjEgRiAyLjUxMShvcmRzLiBUaGUpLS4xIEYgLjAxMQotKGJhY2tzbGFzaCBjaGFyYWN0ZXIgXCgpMi41MTEgRiBGMihcXClBIEYwIDIuNTEoXCltKUMoYXkpLTIuNTEgRSAxLjg5Ci0oYmUgdXNlZCB0byByZW1vKTE0NCA0NzUuMiBSIDIuMTkgLS4xNSh2ZSBhKS0uMTUgSCAyLjE5IC0uMTUobnkgcykuMTUgSAotMS44OTEocGVjaWFsIG1lYW5pbmcgZm9yIHRoZSBuZSkuMTUgRiAxLjg5MQotKHh0IGNoYXJhY3RlciByZWFkIGFuZCBmb3IgbGluZSBjb250aW51YXRpb24uKS0uMTUgRgotKE9wdGlvbnMsIGlmIHN1cHBsaWVkLCBoYSkxNDQgNDg3LjIgUSAuMyAtLjE1KHZlIHQpLS4yIEgoaGUgZm9sbG8pLjE1IEUKLSh3aW5nIG1lYW5pbmdzOiktLjI1IEUgRjI8YWQ2MT4xNDQgNDk5LjIgUSBGMShhbmFtZSkyLjUgRSBGMCAxLjA1KFRoZSB3KQotMTgwIDUxMS4yIFIgMS4wNDkKLShvcmRzIGFyZSBhc3NpZ25lZCB0byBzZXF1ZW50aWFsIGluZGljZXMgb2YgdGhlIGFycmF5IHYpLS4xIEYoYXJpYWJsZSkKLS0uMjUgRSBGMShhbmFtZSkzLjU0OSBFIEYwIDMuNTQ5KCxzKS4xOCBHIDEuMDQ5KHRhcnRpbmcgYXQgMC4pLTMuNTQ5IEYKLUYxKGFuYW1lKTE4MC4zMyA1MjMuMiBRIEYwKGlzIHVuc2V0IGJlZm9yZSBhbikyLjY4IEUgMi41KHluKS0uMTUgRyAuNQotLS4yNShldyB2YSktMi41IEgobHVlcyBhcmUgYXNzaWduZWQuKS4yNSBFKE90aGVyKTUgRSBGMShuYW1lKTIuNSBFIEYwCi0oYXIpMi41IEUoZ3VtZW50cyBhcmUgaWdub3JlZC4pLS4xOCBFIEYyPGFkNjQ+MTQ0IDUzNS4yIFEgRjEoZGVsaW0pMi41IEUKLUYwKFRoZSBcMjE0cnN0IGNoYXJhY3RlciBvZikxODAgNTQ3LjIgUSBGMShkZWxpbSkyLjUgRSBGMAotKGlzIHVzZWQgdG8gdGVybWluYXRlIHRoZSBpbnB1dCBsaW5lLCByYXRoZXIgdGhhbiBuZSkyLjUgRSh3bGluZS4pLS4yNSBFCi1GMjxhZDY1PjE0NCA1NTkuMiBRIEYwIC4zNzIKLShJZiB0aGUgc3RhbmRhcmQgaW5wdXQgaXMgY29taW5nIGZyb20gYSB0ZXJtaW5hbCwpMjUuODYgRiBGMiAtLjE4KHJlKQotMi44NzMgRyhhZGxpbmUpLjE4IEUgRjAoXChzZWUpMi44NzMgRSBGMyhSRUFETElORSkyLjg3MyBFIEYwKGFibykyLjYyMyBFCi0tLjE1KHZlKS0uMTUgRyAyLjg3MyhcKWkpLjE1IEcgMi44NzMoc3UpLTIuODczIEcoc2VkKS0yLjg3MyBFIC4yMTgKLSh0byBvYnRhaW4gdGhlIGxpbmUuKTE4MCA1NzEuMiBSIC4yMTgKLShSZWFkbGluZSB1c2VzIHRoZSBjdXJyZW50IFwob3IgZGVmKTUuMjE4IEYgLjIxOAotKGF1bHQsIGlmIGxpbmUgZWRpdGluZyB3KS0uMSBGIC4yMTgoYXMgbm90IHByZSktLjEgRih2aW91c2x5KS0uMjUgRQotKGFjdGkpMTgwIDU4My4yIFEgLS4xNSh2ZSktLjI1IEcgMi41KFwpZSkuMTUgRyhkaXRpbmcgc2V0dGluZ3MuKS0yLjUgRQotRjI8YWQ2OT4xNDQgNTk1LjIgUSBGMSh0ZSkyLjUgRSh4dCktLjIgRSBGMChJZikxMC43OCBFIEYyIC0uMTgocmUpMi43MTUKLUcoYWRsaW5lKS4xOCBFIEYwIC4yMTYoaXMgYmVpbmcgdXNlZCB0byByZWFkIHRoZSBsaW5lLCkyLjcxNSBGIEYxKHRlKQotMi43MTYgRSh4dCktLjIgRSBGMCAuMjE2KGlzIHBsYWNlZCBpbnRvIHRoZSBlZGl0aW5nIGIpMi43MTYgRih1ZiktLjIgRQotLjIxNihmZXIgYmVmb3JlIGVkaXQtKS0uMjUgRihpbmcgYmUpMTgwIDYwNy4yIFEoZ2lucy4pLS4xNSBFIEYyPGFkNmU+MTQ0Ci02MTkuMiBRIEYxKG5jKTIuNSBFKGhhciktLjE1IEUocyktLjEgRSBGMiAtLjE4KHJlKTE4MCA2MzEuMiBTKGFkKS4xOCBFCi1GMCAxLjM5NShyZXR1cm5zIGFmdGVyIHJlYWRpbmcpMy44OTUgRiBGMShuYykzLjg5NSBFKGhhciktLjE1IEUocyktLjEgRQotRjAgMS4zOTUoY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3KTMuODk1IEYgMS4zOTQKLShhaXRpbmcgZm9yIGEgY29tcGxldGUgbGluZSBvZiktLjEgRihpbnB1dC4pMTgwIDY0My4yIFEgRjI8YWQ3MD4xNDQKLTY1NS4yIFEgRjEocHIpMi41IEUob21wdCktLjQ1IEUgRjAoRGlzcGxheSkxODAgNjY3LjIgUSBGMShwcikzLjY2IEUKLShvbXB0KS0uNDUgRSBGMCAxLjE2MShvbiBzdGFuZGFyZCBlcnJvcikzLjY2IEYgMy42NjEoLHcpLS40IEcgMS4xNjEKLShpdGhvdXQgYSB0cmFpbGluZyBuZSktMy42NjEgRiAxLjE2MSh3bGluZSwgYmVmb3JlIGF0dGVtcHRpbmcgdG8gcmVhZCkKLS0uMjUgRihhbikxODAgNjc5LjIgUSAyLjUoeWkpLS4xNSBHIDIuNShucHV0LiBUaGUpLTIuNSBGCi0ocHJvbXB0IGlzIGRpc3BsYXllZCBvbmx5IGlmIGlucHV0IGlzIGNvbWluZyBmcm9tIGEgdGVybWluYWwuKTIuNSBFIEYyCi08YWQ3Mj4xNDQgNjkxLjIgUSBGMCAuNTQ0KEJhY2tzbGFzaCBkb2VzIG5vdCBhY3QgYXMgYW4gZXNjYXBlIGNoYXJhY3RlcikKLTI1Ljg2IEYgNS41NDMoLlQpLS41NSBHIC41NDMoaGUgYmFja3NsYXNoIGlzIGNvbnNpZGVyZWQgdG8gYmUgcGFydCBvZikKLS01LjU0MyBGKHRoZSBsaW5lLikxODAgNzAzLjIgUShJbiBwYXJ0aWN1bGFyKTUgRSAyLjUoLGFiKS0uNCBHCi0oYWNrc2xhc2gtbmUpLTIuNSBFKHdsaW5lIHBhaXIgbWF5IG5vdCBiZSB1c2VkIGFzIGEgbGluZSBjb250aW51YXRpb24uKQotLS4yNSBFIEYyPGFkNzM+MTQ0IDcxNS4yIFEgRjAoU2lsZW50IG1vZGUuKTI2LjQxIEUKLShJZiBpbnB1dCBpcyBjb21pbmcgZnJvbSBhIHRlcm1pbmFsLCBjaGFyYWN0ZXJzIGFyZSBub3QgZWNob2VkLik1IEUKLShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFKDU4KTE5MC45NSBFIDAgQ2cgRVAKKy0uMzUgRSAuMjgob2YgdGhlIHNpZ25hbHMgY29ycmVzcG9uZGluZyB0byB0aGUgYXIpMTQ0IDg0IFIgLjI4CisoZ3VtZW50cyBhcmUgbGlzdGVkLCBhbmQgdGhlIHJldHVybiBzdGF0dXMgaXMgMC4pLS4xOCBGKFRoZSk1LjI4IEUvRjEgMTAKKy9UaW1lcy1JdGFsaWNAMCBTRiAtLjIoZXgpMi43OCBHKGl0X3N0YXR1cykuMiBFIEYwKGFyKTE0NCA5NiBRIC4zNzgKKyhndW1lbnQgdG8pLS4xOCBGL0YyIDEwL1RpbWVzLUJvbGRAMCBTRjxhZDZjPjIuODc4IEUgRjAgLjM3OAorKGlzIGEgbnVtYmVyIHNwZWNpZnlpbmcgZWl0aGVyIGEgc2lnbmFsIG51bWJlciBvciB0aGUgZSkyLjg3OCBGIC4zNzcKKyh4aXQgc3RhdHVzIG9mIGEgcHJvY2VzcyB0ZXJtaS0pLS4xNSBGIC41OTMobmF0ZWQgYnkgYSBzaWduYWwuKTE0NCAxMDggUgorRjIoa2lsbCk1LjU5MyBFIEYwIC41OTMocmV0dXJucyB0cnVlIGlmIGF0IGxlYXN0IG9uZSBzaWduYWwgdykzLjA5MyBGCisuNTkzKGFzIHN1Y2Nlc3NmdWxseSBzZW50LCBvciBmKS0uMSBGIC41OTQoYWxzZSBpZiBhbiBlcnJvciktLjEgRgorKG9jY3VycyBvciBhbiBpbikxNDQgMTIwIFEgLS4yNSh2YSktLjQgRyhsaWQgb3B0aW9uIGlzIGVuY291bnRlcmVkLikuMjUKK0UgRjIobGV0KTEwOCAxMzYuOCBRIEYxKGFyKTIuNSBFKGcpLS4zNyBFIEYwKFspMi41IEUgRjEoYXIpQShnKS0uMzcgRSBGMAorKC4uLl0pMi41IEUoRWFjaCkxNDQgMTQ4LjggUSBGMShhcikzLjAyNyBFKGcpLS4zNyBFIEYwIC4xOTcKKyhpcyBhbiBhcml0aG1ldGljIGUpMi45MTcgRiAuMTk3KHhwcmVzc2lvbiB0byBiZSBlKS0uMTUgRiAtLjI1KHZhKS0uMjUgRworLjE5NihsdWF0ZWQgXChzZWUpLjI1IEYvRjMgOS9UaW1lcy1Cb2xkQDAgU0YgLjE5NihBUklUSE1FVElDIEVWKTIuNjk2IEYKKyhBTFUpLTEuMjE1IEUgLS44NTUoQVQpLS41NCBHKElPTikuODU1IEUgRjAoYWJvKTIuNDQ2IEUgLS4xNSh2ZSktLjE1IEcKKzIuNjk2KFwpLiBJZikuMTUgRih0aGUgbGFzdCkxNDQgMTYwLjggUSBGMShhcikyLjgzIEUoZyktLjM3IEUgRjAgLS4yNQorKGV2YSkyLjcyIEcobHVhdGVzIHRvIDAsKS4yNSBFIEYyKGxldCkyLjUgRSBGMAorKHJldHVybnMgMTsgMCBpcyByZXR1cm5lZCBvdGhlcndpc2UuKTIuNSBFIEYyKGxvY2FsKTEwOCAxNzcuNiBRIEYwKFspMi41CitFIEYxKG9wdGlvbilBIEYwIDIuNShdWylDIEYxKG5hbWUpLTIuNSBFIEYwKFs9KUEgRjEodmFsdWUpQSBGMCAyLjUoXS4pQworKC4uXSktMi41IEUgLS4xNShGbykxNDQgMTg5LjYgUyAyLjU2KHJlKS4xNSBHIC4wNihhY2ggYXIpLTIuNTYgRiAuMDYKKyhndW1lbnQsIGEgbG9jYWwgdiktLjE4IEYgLjA2KGFyaWFibGUgbmFtZWQpLS4yNSBGIEYxKG5hbWUpMi45MiBFIEYwIC4wNgorKGlzIGNyZWF0ZWQsIGFuZCBhc3NpZ25lZCkyLjc0IEYgRjEodmFsdWUpMi41NiBFIEYwIDUuMDYoLlQpLjE4IEcoaGUpCistNS4wNiBFIEYxKG9wdGlvbikyLjU2IEUgRjAgLjA2KGNhbiBiZSkyLjU2IEYoYW4pMTQ0IDIwMS42IFEgMy4xNTMoeW8pCistLjE1IEcgMy4xNTMoZnQpLTMuMTUzIEcgLjY1MyhoZSBvcHRpb25zIGFjY2VwdGVkIGJ5KS0zLjE1MyBGIEYyKGRlY2xhcikKKzMuMTUzIEUoZSktLjE4IEUgRjAgNS42NTIoLlcpQyhoZW4pLTUuNjUyIEUgRjIobG9jYWwpMy4xNTIgRSBGMCAuNjUyCisoaXMgdXNlZCB3aXRoaW4gYSBmdW5jdGlvbiwgaXQgY2F1c2VzIHRoZSB2KTMuMTUyIEYoYXJpLSktLjI1IEUoYWJsZSkxNDQKKzIxMy42IFEgRjEobmFtZSkzLjcyIEUgRjAgLjg2KHRvIGhhKTMuNTQgRiAxLjE2IC0uMTUodmUgYSB2KS0uMiBIIC44NjEKKyhpc2libGUgc2NvcGUgcmVzdHJpY3RlZCB0byB0aGF0IGZ1bmN0aW9uIGFuZCBpdHMgY2hpbGRyZW4uKS4xNSBGIC0uNAorKFdpKTUuODYxIEcgLjg2MSh0aCBubyBvcGVyYW5kcywpLjQgRiBGMihsb2NhbCkxNDQgMjI1LjYgUSBGMCAxLjE2NQorKHdyaXRlcyBhIGxpc3Qgb2YgbG9jYWwgdikzLjY2NSBGIDEuMTY1CisoYXJpYWJsZXMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC4pLS4yNSBGIDEuMTY1KEl0IGlzIGFuIGVycm9yIHRvIHVzZSkKKzYuMTY1IEYgRjIobG9jYWwpMy42NjQgRSBGMCAxLjE2NCh3aGVuIG5vdCkzLjY2NCBGIC4yMzIKKyh3aXRoaW4gYSBmdW5jdGlvbi4pMTQ0IDIzNy42IFIgLjIzMyhUaGUgcmV0dXJuIHN0YXR1cyBpcyAwIHVubGVzcyk1LjIzMgorRiBGMihsb2NhbCkyLjczMyBFIEYwIC4yMzMoaXMgdXNlZCBvdXRzaWRlIGEgZnVuY3Rpb24sIGFuIGluKTIuNzMzIEYKKy0uMjUodmEpLS40IEcobGlkKS4yNSBFIEYxKG5hbWUpMy4wOTMgRSBGMChpcykyLjkxMyBFKHN1cHBsaWVkLCBvcikxNDQKKzI0OS42IFEgRjEobmFtZSkyLjUgRSBGMChpcyBhIHJlYWRvbmx5IHYpMi41IEUoYXJpYWJsZS4pLS4yNSBFIEYyCisobG9nb3V0KTEwOCAyNjYuNCBRIEYwKEV4aXQgYSBsb2dpbiBzaGVsbC4pOS4zMyBFIEYyKG1hcFwyMTRsZSkxMDggMjgzLjIKK1EgRjAoWykyLjUgRSBGMjxhZDZlPkEgRjEoY291bnQpMi41IEUgRjAgMi41KF1bKUMgRjI8YWQ0Zj4tMi41IEUgRjEKKyhvcmlnaW4pMi41IEUgRjAgMi41KF1bKUMgRjI8YWQ3Mz4tMi41IEUgRjEoY291bnQpMi41IEUgRjAgMi41KF1bKUMgRjIKKzxhZDc0Pi0yLjUgRSBGMCAyLjUoXVspQyBGMjxhZDc1Pi0yLjUgRSBGMShmZCkyLjUgRSBGMCAyLjUoXVspQyBGMjxhZDQzPgorLTIuNSBFIEYxKGNhbGxiYWMpMi41IEUoayktLjIgRSBGMCAyLjUoXVspQyBGMjxhZDYzPi0yLjUgRSBGMShxdWFudHVtKQorMi41IEUgRjAgMi41KF1bKUMgRjEoYXJyKS0yLjUgRShheSktLjE1IEUgRjAoXSlBIEYyIC0uMTgocmUpMTA4IDI5NS4yIFMKKyhhZGFycmF5KS4xOCBFIEYwKFspMi41IEUgRjI8YWQ2ZT5BIEYxKGNvdW50KTIuNSBFIEYwIDIuNShdWylDIEYyPGFkNGY+CistMi41IEUgRjEob3JpZ2luKTIuNSBFIEYwIDIuNShdWylDIEYyPGFkNzM+LTIuNSBFIEYxKGNvdW50KTIuNSBFIEYwIDIuNQorKF1bKUMgRjI8YWQ3ND4tMi41IEUgRjAgMi41KF1bKUMgRjI8YWQ3NT4tMi41IEUgRjEoZmQpMi41IEUgRjAgMi41KF1bKUMKK0YyPGFkNDM+LTIuNSBFIEYxKGNhbGxiYWMpMi41IEUoayktLjIgRSBGMCAyLjUoXVspQyBGMjxhZDYzPi0yLjUgRSBGMQorKHF1YW50dW0pMi41IEUgRjAgMi41KF1bKUMgRjEoYXJyKS0yLjUgRShheSktLjE1IEUgRjAoXSlBIC4zNTEKKyhSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGluZGUpMTQ0IDMwNy4yIFIgLS4xNSh4ZSkKKy0uMTUgRyAyLjg1MShkYSkuMTUgRyAuMzUxKHJyYXkgdiktMi44NTEgRihhcmlhYmxlKS0uMjUgRSBGMShhcnIpMi44NSBFCisoYXkpLS4xNSBFIEYwIDIuODUoLG8pLjMyIEcgMi44NShyZiktMi44NSBHIC4zNShyb20gXDIxNGxlIGRlc2NyaXB0b3IpCistMi44NSBGIEYxKGZkKTIuODUgRSBGMCAxLjI0OChpZiB0aGUpMTQ0IDMxOS4yIFIgRjI8YWQ3NT4zLjc0OCBFIEYwCisxLjI0OChvcHRpb24gaXMgc3VwcGxpZWQuKTMuNzQ4IEYgMS4yNDkoVGhlIHYpNi4yNDkgRihhcmlhYmxlKS0uMjUgRSBGMworKE1BUEZJTEUpMy43NDkgRSBGMCAxLjI0OShpcyB0aGUgZGVmKTMuNDk5IEYoYXVsdCktLjEgRSBGMShhcnIpMy43NDkgRQorKGF5KS0uMTUgRSBGMCA2LjI0OSguTylDIDEuMjQ5KHB0aW9ucywgaWYgc3VwcGxpZWQsKS02LjI0OSBGKGhhKTE0NAorMzMxLjIgUSAuMyAtLjE1KHZlIHQpLS4yIEgoaGUgZm9sbG8pLjE1IEUod2luZyBtZWFuaW5nczopLS4yNSBFIEYyPGFkNmU+CisxNDQgMzQzLjIgUSBGMChDb3ApMjQuNzQgRSAyLjUoeWEpLS4xIEcgMi41KHRtKS0yLjUgRyhvc3QpLTIuNSBFIEYxCisoY291bnQpMi43IEUgRjAgMi41KGxpbmVzLiBJZikzLjE4IEYgRjEoY291bnQpMi41IEUgRjAKKyhpcyAwLCBhbGwgbGluZXMgYXJlIGNvcGllZC4pMi41IEUgRjI8YWQ0Zj4xNDQgMzU1LjIgUSBGMChCZSkyMi41MiBFCisoZ2luIGFzc2lnbmluZyB0byktLjE1IEUgRjEoYXJyKTIuODMgRShheSktLjE1IEUgRjAoYXQgaW5kZSkyLjgyIEUoeCkKKy0uMTUgRSBGMShvcmlnaW4pMi41IEUgRjAgNSguVCkuMjQgRyhoZSBkZWYpLTUgRShhdWx0IGluZGUpLS4xIEUgMi41KHhpKQorLS4xNSBHIDIuNShzMCktMi41IEcoLiktMi41IEUgRjI8YWQ3Mz4xNDQgMzY3LjIgUSBGMAorKERpc2NhcmQgdGhlIFwyMTRyc3QpMjYuNDEgRSBGMShjb3VudCkyLjUgRSBGMChsaW5lcyByZWFkLikyLjUgRSBGMgorPGFkNzQ+MTQ0IDM3OS4yIFEgRjAoUmVtbykyNi45NyBFIC4zIC0uMTUodmUgYSB0KS0uMTUgSChyYWlsaW5nIG5lKS4xNSBFCisod2xpbmUgZnJvbSBlYWNoIGxpbmUgcmVhZC4pLS4yNSBFIEYyPGFkNzU+MTQ0IDM5MS4yIFEgRjAKKyhSZWFkIGxpbmVzIGZyb20gXDIxNGxlIGRlc2NyaXB0b3IpMjQuNzQgRSBGMShmZCkyLjUgRSBGMAorKGluc3RlYWQgb2YgdGhlIHN0YW5kYXJkIGlucHV0LikyLjUgRSBGMjxhZDQzPjE0NCA0MDMuMiBRIEYwKEV2KTIzLjA4IEUKKyhhbHVhdGUpLS4yNSBFIEYxKGNhbGxiYWMpMi43IEUoayktLjIgRSBGMChlYWNoIHRpbWUpMy4xNyBFIEYxKHF1YW50dW0pCisyLjUgRSBGMChsaW5lcyBhcmUgcmVhZC4pMi41IEUoVGhlKTUgRSBGMjxhZDYzPjIuNSBFIEYwCisob3B0aW9uIHNwZWNpXDIxNGVzKTIuNSBFIEYxKHF1YW50dW0pMi41IEUgRjAoLikuMzIgRSBGMjxhZDYzPjE0NCA0MTUuMgorUSBGMChTcGVjaWZ5IHRoZSBudW1iZXIgb2YgbGluZXMgcmVhZCBiZXR3ZWVuIGVhY2ggY2FsbCB0bykyNS44NiBFIEYxCisoY2FsbGJhYykyLjUgRShrKS0uMiBFIEYwKC4pLjY3IEUoSWYpMTQ0IDQzMiBRIEYyPGFkNDM+Mi45NjggRSBGMCAuNDY3CisoaXMgc3BlY2lcMjE0ZWQgd2l0aG91dCkyLjk2NyBGIEYyPGFkNjM+Mi45NjcgRSBGMCAyLjk2NygsdClDIC40NjcKKyhoZSBkZWYpLTIuOTY3IEYgLjQ2NyhhdWx0IHF1YW50dW0gaXMgNTAwMC4pLS4xIEYoV2hlbik1LjQ2NyBFIEYxCisoY2FsbGJhYykyLjk2NyBFKGspLS4yIEUgRjAgLjQ2NyhpcyBlKTIuOTY3IEYgLS4yNSh2YSktLjI1IEcgLjQ2NworKGx1YXRlZCwgaXQgaXMgc3VwLSkuMjUgRiAxLjIyKHBsaWVkIHRoZSBpbmRlKTE0NCA0NDQgUiAzLjcyKHhvKS0uMTUgRworMy43MihmdCktMy43MiBHIDEuMjIoaGUgbmUpLTMuNzIgRiAxLjIyCisoeHQgYXJyYXkgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhcyBhbiBhZGRpdGlvbmFsIGFyKS0uMTUgRihndW1lbnQuKS0uMTgKK0UgRjEoY2FsbGJhYyk2LjIyIEUoayktLjIgRSBGMChpcykzLjcyIEUgLS4yNShldmEpMTQ0IDQ1NiBTCisobHVhdGVkIGFmdGVyIHRoZSBsaW5lIGlzIHJlYWQgYikuMjUgRQorKHV0IGJlZm9yZSB0aGUgYXJyYXkgZWxlbWVudCBpcyBhc3NpZ25lZC4pLS4yIEUKKyhJZiBub3Qgc3VwcGxpZWQgd2l0aCBhbiBlKTE0NCA0NzIuOCBRKHhwbGljaXQgb3JpZ2luLCktLjE1IEUgRjIKKyhtYXBcMjE0bGUpMi41IEUgRjAod2lsbCBjbGVhcikyLjUgRSBGMShhcnIpMi41IEUoYXkpLS4xNSBFIEYwCisoYmVmb3JlIGFzc2lnbmluZyB0byBpdC4pMi41IEUgRjIobWFwXDIxNGxlKTE0NCA0ODkuNiBRIEYwIDEuOTA2CisocmV0dXJucyBzdWNjZXNzZnVsbHkgdW5sZXNzIGFuIGluKTQuNDA2IEYgLS4yNSh2YSktLjQgRyAxLjkwNQorKGxpZCBvcHRpb24gb3Igb3B0aW9uIGFyKS4yNSBGIDEuOTA1KGd1bWVudCBpcyBzdXBwbGllZCwpLS4xOCBGIEYxKGFycikKKzQuNDA1IEUoYXkpLS4xNSBFIEYwKGlzKTQuNDA1IEUoaW4pMTQ0IDUwMS42IFEgLS4yNSh2YSktLjQgRworKGxpZCBvciB1bmFzc2lnbmFibGUsIG9yIGlmKS4yNSBFIEYxKGFycikyLjUgRShheSktLjE1IEUgRjAKKyhpcyBub3QgYW4gaW5kZSkyLjUgRSAtLjE1KHhlKS0uMTUgRyAyLjUoZGEpLjE1IEcocnJheSktMi41IEUoLiktLjY1IEUKK0YyKHBvcGQpMTA4IDUxOC40IFEgRjA8NWJhZD4yLjUgRSBGMihuKUEgRjAgMi41KF1bKUMoKyktMi41IEUgRjEobilBIEYwCisyLjUoXVspQzxhZD4tMi41IEUgRjEobilBIEYwKF0pQShSZW1vKTE0NCA1MzAuNCBRIC0uMTUodmUpLS4xNSBHIDIuNzk5Cisoc2UpLjE1IEcgLjI5OShudHJpZXMgZnJvbSB0aGUgZGlyZWN0b3J5IHN0YWNrLiktMi43OTkgRiAtLjQoV2kpNS4yOTkgRworLjI5OSh0aCBubyBhcikuNCBGIC4yOTkoZ3VtZW50cywgcmVtbyktLjE4IEYgLS4xNSh2ZSktLjE1IEcgMi43OTkoc3QpLjE1CitHIC4zKGhlIHRvcCBkaXJlY3RvcnkgZnJvbSB0aGUpLTIuNzk5IEYgMS40Nzkoc3RhY2ssIGFuZCBwZXJmb3JtcyBhKTE0NAorNTQyLjQgUiBGMihjZCkzLjk3OSBFIEYwIDEuNDc5KHRvIHRoZSBuZSkzLjk3OSBGIDMuOTc5KHd0KS0uMjUgRyAxLjQ3OQorKG9wIGRpcmVjdG9yeSktMy45NzkgRiA2LjQ3OSguQSktLjY1IEcgLS4xOChyZyktNi40NzkgRyAxLjQ3OAorKHVtZW50cywgaWYgc3VwcGxpZWQsIGhhKS4xOCBGIDEuNzc4IC0uMTUodmUgdCktLjIgSCAxLjQ3OChoZSBmb2xsbykuMTUKK0Yod2luZyktLjI1IEUobWVhbmluZ3M6KTE0NCA1NTQuNCBRIEYyPGFkNmU+MTQ0IDU2Ni40IFEgRjAgLjU1MQorKFN1cHByZXNzZXMgdGhlIG5vcm1hbCBjaGFuZ2Ugb2YgZGlyZWN0b3J5IHdoZW4gcmVtbykyNC43NCBGIC41NTEKKyh2aW5nIGRpcmVjdG9yaWVzIGZyb20gdGhlIHN0YWNrLCBzbyktLjE1IEYKKyh0aGF0IG9ubHkgdGhlIHN0YWNrIGlzIG1hbmlwdWxhdGVkLikxODAgNTc4LjQgUSBGMigrKTE0NCA1OTAuNCBRIEYxKG4pQQorRjAoUmVtbykyNS4zIEUgLS4xNSh2ZSktLjE1IEcgMi42NChzdCkuMTUgRyhoZSktMi42NCBFIEYxKG4pMi42NCBFIEYwCisuMTQodGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdCBzaG8pQiAuMTQod24gYnkpLS4yNSBGCitGMihkaXJzKTIuNjQgRSBGMCAyLjY0KCxzKUMgLjE0KHRhcnRpbmcgd2l0aCB6ZXJvLiktMi42NCBGIC0uMTUoRm8pMTgwCis2MDIuNCBTIDIuNShyZSkuMTUgRyh4YW1wbGU6KS0yLjY1IEUvRjQgMTAvQ291cmllckAwIFNGKHBvcGQgKzApMi41IEUgRjAKKyhyZW1vKTIuNSBFIC0uMTUodmUpLS4xNSBHIDIuNShzdCkuMTUgRyhoZSBcMjE0cnN0IGRpcmVjdG9yeSktMi41IEUoLCkKKy0uNjUgRSBGNChwb3BkICsxKTIuNSBFIEYwKHRoZSBzZWNvbmQuKTIuNSBFIEYyPGFkPjE0NCA2MTQuNCBRIEYxKG4pQSBGMAorKFJlbW8pMjUuMyBFIC0uMTUodmUpLS4xNSBHIDMuNzU5KHN0KS4xNSBHKGhlKS0zLjc1OSBFIEYxKG4pMy43NTkgRSBGMAorMS4yNTkodGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgcmlnaHQgb2YgdGhlIGxpc3Qgc2hvKUIgMS4yNih3biBieSktLjI1CitGIEYyKGRpcnMpMy43NiBFIEYwIDMuNzYoLHMpQyAxLjI2KHRhcnRpbmcgd2l0aCktMy43NiBGIDIuNSh6ZXJvLiBGKTE4MAorNjI2LjQgUihvciBlKS0uMTUgRSh4YW1wbGU6KS0uMTUgRSBGNChwb3BkIC0wKTIuNSBFIEYwKHJlbW8pMi41IEUgLS4xNQorKHZlKS0uMTUgRyAyLjUoc3QpLjE1IEcoaGUgbGFzdCBkaXJlY3RvcnkpLTIuNSBFKCwpLS42NSBFIEY0KHBvcGQgLTEpMi41CitFIEYwKHRoZSBuZSkyLjUgRSh4dCB0byBsYXN0LiktLjE1IEUgLjY0NChJZiB0aGUpMTQ0IDY0My4yIFIgRjIocG9wZCkKKzMuMTQ0IEUgRjAgLjY0NChjb21tYW5kIGlzIHN1Y2Nlc3NmdWwsIGEpMy4xNDQgRiBGMihkaXJzKTMuMTQzIEUgRjAgLjY0MworKGlzIHBlcmZvcm1lZCBhcyB3ZWxsLCBhbmQgdGhlIHJldHVybiBzdGF0dXMgaXMgMC4pMy4xNDMgRiBGMihwb3BkKTUuNjQzCitFIEYwIC40MTUocmV0dXJucyBmKTE0NCA2NTUuMiBSIC40MTUoYWxzZSBpZiBhbiBpbiktLjEgRiAtLjI1KHZhKS0uNCBHCisuNDE1KGxpZCBvcHRpb24gaXMgZW5jb3VudGVyZWQsIHRoZSBkaXJlY3Rvcnkgc3RhY2sgaXMgZW1wdHkpLjI1IEYgMi45MTYKKygsYW4pLS42NSBHKG9uLWUpLTIuOTE2IEUgLjQxNih4aXN0ZW50IGRpcmVjLSktLjE1IEYKKyh0b3J5IHN0YWNrIGVudHJ5IGlzIHNwZWNpXDIxNGVkLCBvciB0aGUgZGlyZWN0b3J5IGNoYW5nZSBmKTE0NCA2NjcuMiBRCisoYWlscy4pLS4xIEUgRjIocHJpbnRmKTEwOCA2ODQgUSBGMChbKTIuNSBFIEYyPGFkNzY+QSBGMSh2YXIpMi41IEUgRjAoXSkKK0EgRjEoZm9ybWF0KTIuNSBFIEYwKFspMi41IEUgRjEoYXIpQShndW1lbnRzKS0uMzcgRSBGMChdKUEgLjM3MgorKFdyaXRlIHRoZSBmb3JtYXR0ZWQpMTQ0IDY5NiBSIEYxKGFyKTIuODcyIEUoZ3VtZW50cyktLjM3IEUgRjAgLjM3MgorKHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQgdW5kZXIgdGhlIGNvbnRyb2wgb2YgdGhlKTIuODcyIEYgRjEoZm9ybWF0KTIuODcyCitFIEYwIDUuMzcyKC5UKUMoaGUpLTUuMzcyIEUgRjEoZm9ybWF0KTIuODcyIEUgRjAgMS44MDQoaXMgYSBjaGFyYWN0ZXIgc1wKK3RyaW5nIHdoaWNoIGNvbnRhaW5zIHRocmVlIHR5cGVzIG9mIG9iamVjdHM6IHBsYWluIGNoYXJhY3RlcnMsIHdoaWNoIGFyXAorZSBzaW1wbHkpMTQ0IDcwOCBSIDEuODU5CisoY29waWVkIHRvIHN0YW5kYXJkIG91dHB1dCwgY2hhcmFjdGVyIGVzY2FwZSBzZXF1ZW5jZXMsIHdoaWNoIGFyZSBjb24pCisxNDQgNzIwIFIgLS4xNSh2ZSktLjQgRyAxLjg1OChydGVkIGFuZCBjb3BpZWQgdG8gdGhlKS4xNSBGKEdOVSBCYXNoLTQuMSkKKzcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDU4KTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDU5IDU5CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRjxhZDc0PjE0NCA4NCBRL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGCi0odGltZW91dCkyLjUgRSBGMChDYXVzZSkxODAgOTYgUSBGMSAtLjE4KHJlKTMuNTQ4IEcoYWQpLjE4IEUgRjAgMS4wNDgKLSh0byB0aW1lIG91dCBhbmQgcmV0dXJuIGYpMy41NDggRiAxLjA0OAotKGFpbHVyZSBpZiBhIGNvbXBsZXRlIGxpbmUgb2YgaW5wdXQgaXMgbm90IHJlYWQgd2l0aGluKS0uMSBGIEYyKHRpbWVvdXQpCi0xODAgMTA4IFEgRjAoc2Vjb25kcy4pMy40OTcgRSBGMih0aW1lb3V0KTUuOTk3IEUgRjAgLjk5NwotKG1heSBiZSBhIGRlY2ltYWwgbnVtYmVyIHdpdGggYSBmcmFjdGlvbmFsIHBvcnRpb24gZm9sbG8pMy40OTcgRih3aW5nKQotLS4yNSBFIC41NzYodGhlIGRlY2ltYWwgcG9pbnQuKTE4MCAxMjAgUiAuNTc2KFRoaXMgb3B0aW9uIGlzIG9ubHkgZWYpCi01LjU3NiBGKGZlY3RpKS0uMjUgRSAuODc2IC0uMTUodmUgaSktLjI1IEgoZikuMTUgRSBGMSAtLjE4KHJlKTMuMDc2IEcKLShhZCkuMTggRSBGMCAuNTc2KGlzIHJlYWRpbmcgaW5wdXQgZnJvbSBhIHRlcm1pbmFsLCkzLjA3NiBGIC4xNDIKLShwaXBlLCBvciBvdGhlciBzcGVjaWFsIFwyMTRsZTsgaXQgaGFzIG5vIGVmKTE4MCAxMzIgUiAuMTQyCi0oZmVjdCB3aGVuIHJlYWRpbmcgZnJvbSByZSktLjI1IEYgLjE0MihndWxhciBcMjE0bGVzLiktLjE1IEYoSWYpNS4xNDEgRQotRjIodGltZW91dCkyLjY0MSBFIEYwIC4xNDEoaXMgMCwpMi42NDEgRiBGMSAtLjE4KHJlKTE4MCAxNDQgUyhhZCkuMTggRQotRjAgLjExMyhyZXR1cm5zIHN1Y2Nlc3MgaWYgaW5wdXQgaXMgYSkyLjYxMyBGIC0uMjUodmEpLS4yIEcgLjExMwotKGlsYWJsZSBvbiB0aGUgc3BlY2lcMjE0ZWQgXDIxNGxlIGRlc2NyaXB0b3IpLjI1IEYgMi42MTMoLGYpLS40IEcgLjExNAotKGFpbHVyZSBvdGhlcndpc2UuKS0yLjcxMyBGKFRoZSBlKTE4MCAxNTYgUQotKHhpdCBzdGF0dXMgaXMgZ3JlYXRlciB0aGFuIDEyOCBpZiB0aGUgdGltZW91dCBpcyBlKS0uMTUgRSh4Y2VlZGVkLiktLjE1Ci1FIEYxPGFkNzU+MTQ0IDE2OCBRIEYyKGZkKTIuNSBFIEYwKFJlYWQgaW5wdXQgZnJvbSBcMjE0bGUgZGVzY3JpcHRvcikKLTE0LjQ2IEUgRjIoZmQpMi41IEUgRjAoLilBIC4xOTIoSWYgbm8pMTQ0IDE4NC44IFIgRjIobmFtZXMpMy4wNTIgRSBGMAotLjE5MihhcmUgc3VwcGxpZWQsIHRoZSBsaW5lIHJlYWQgaXMgYXNzaWduZWQgdG8gdGhlIHYpMi45NjIgRihhcmlhYmxlKQotLS4yNSBFL0YzIDkvVGltZXMtQm9sZEAwIFNGKFJFUEwpMi42OTEgRShZKS0uODI4IEUvRjQgOS9UaW1lcy1Sb21hbkAwIFNGCi0oLilBIEYwIC4xOTEoVGhlIHJldHVybiBjb2RlIGlzIHplcm8sKTQuNjkxIEYgMS4zNDMKLSh1bmxlc3MgZW5kLW9mLVwyMTRsZSBpcyBlbmNvdW50ZXJlZCwpMTQ0IDE5Ni44IFIgRjEgLS4xOChyZSkzLjg0MyBHKGFkKQotLjE4IEUgRjAgMS4zNDMKLSh0aW1lcyBvdXQgXChpbiB3aGljaCBjYXNlIHRoZSByZXR1cm4gY29kZSBpcyBncmVhdGVyIHRoYW4pMy44NDMgRgotKDEyOFwpLCBvciBhbiBpbikxNDQgMjA4LjggUSAtLjI1KHZhKS0uNCBHCi0obGlkIFwyMTRsZSBkZXNjcmlwdG9yIGlzIHN1cHBsaWVkIGFzIHRoZSBhcikuMjUgRShndW1lbnQgdG8pLS4xOCBFIEYxCi08YWQ3NT4yLjUgRSBGMCguKUEgRjEgLS4xOChyZSkxMDggMjI1LjYgUyhhZG9ubHkpLjE4IEUgRjAoWykyLjUgRSBGMQotKFwyNTVhQSlBKHBmKS0uMjUgRSBGMCAyLjUoXVspQyBGMihuYW1lKS0yLjUgRSBGMChbPSlBIEYyKHdvcilBKGQpLS4zNyBFCi1GMCAyLjUoXS4pQyguLl0pLTIuNSBFIC43NyhUaGUgZ2kpMTQ0IDIzNy42IFIgLS4xNSh2ZSktLjI1IEcobikuMTUgRSBGMgotKG5hbWVzKTMuMjcgRSBGMCAuNzcoYXJlIG1hcmspMy4yNyBGIC43NyhlZCByZWFkb25seTsgdGhlIHYpLS4xIEYgLjc3Ci0oYWx1ZXMgb2YgdGhlc2UpLS4yNSBGIEYyKG5hbWVzKTMuNjMgRSBGMCAuNzcKLShtYXkgbm90IGJlIGNoYW5nZWQgYnkgc3Vic2UtKTMuNTQgRiAxLjA5NihxdWVudCBhc3NpZ25tZW50LikxNDQgMjQ5LjYgUgotMS4wOTYoSWYgdGhlKTYuMDk2IEYgRjE8YWQ2Nj4zLjU5NiBFIEYwIDEuMDk3Ci0ob3B0aW9uIGlzIHN1cHBsaWVkLCB0aGUgZnVuY3Rpb25zIGNvcnJlc3BvbmRpbmcgdG8gdGhlKTMuNTk2IEYgRjIKLShuYW1lcykzLjU5NyBFIEYwIDEuMDk3KGFyZSBzbykzLjU5NyBGKG1hcmspMTQ0IDI2MS42IFEgMy4zMzQoZWQuIFRoZSkKLS0uMSBGIEYxPGFkNjE+My4zMzQgRSBGMCAuODM0KG9wdGlvbiByZXN0cmljdHMgdGhlIHYpMy4zMzQgRiAuODM0Ci0oYXJpYWJsZXMgdG8gaW5kZSktLjI1IEYgLS4xNSh4ZSktLjE1IEcgMy4zMzQoZGEpLjE1IEcgLjgzNChycmF5czsgdGhlKQotLTMuMzM0IEYgRjE8YWQ0MT4zLjMzNCBFIEYwIC44MzQob3B0aW9uIHJlc3RyaWN0cyB0aGUgdikzLjMzNCBGKGFyaS0pCi0tLjI1IEUgLjUzNyhhYmxlcyB0byBhc3NvY2lhdGkpMTQ0IDI3My42IFIgLjgzNyAtLjE1KHZlIGEpLS4yNSBIIDMuMDM3Ci0ocnJheXMuIElmKS4xNSBGKG5vKTMuMDM4IEUgRjIobmFtZSkzLjM5OCBFIEYwKGFyKTMuMjE4IEUgLjUzOAotKGd1bWVudHMgYXJlIGdpKS0uMTggRiAtLjE1KHZlKS0uMjUgRyAuNTM4KG4sIG9yIGlmIHRoZSkuMTUgRiBGMTxhZDcwPgotMy4wMzggRSBGMCAuNTM4KG9wdGlvbiBpcyBzdXBwbGllZCwgYSBsaXN0KTMuMDM4IEYgLjA4MQotKG9mIGFsbCByZWFkb25seSBuYW1lcyBpcyBwcmludGVkLikxNDQgMjg1LjYgUihUaGUpNS4wODEgRSBGMTxhZDcwPjIuNTgxCi1FIEYwIC4wOChvcHRpb24gY2F1c2VzIG91dHB1dCB0byBiZSBkaXNwbGF5ZWQgaW4gYSBmb3JtYXQgdGhhdCBtYXkpMi41ODEKLUYgMS4xNzYoYmUgcmV1c2VkIGFzIGlucHV0LikxNDQgMjk3LjYgUiAxLjE3NihJZiBhIHYpNi4xNzYgRiAxLjE3NgotKGFyaWFibGUgbmFtZSBpcyBmb2xsbyktLjI1IEYgMS4xNzYod2VkIGJ5ID0pLS4yNSBGIEYyKHdvcilBKGQpLS4zNyBFIEYwCi0zLjY3NigsdClDIDEuMTc2KGhlIHYpLTMuNjc2IEYgMS4xNzcoYWx1ZSBvZiB0aGUgdiktLjI1IEYgMS4xNzcKLShhcmlhYmxlIGlzIHNldCB0byktLjI1IEYgRjIod29yKTE0NCAzMDkuNiBRKGQpLS4zNyBFIEYwIDYuMjA2KC5UKUMKLTEuMjA2KGhlIHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3MgYW4gaW4pLTYuMjA2IEYgLS4yNSh2YSktLjQgRyAxLjIwNQotKGxpZCBvcHRpb24gaXMgZW5jb3VudGVyZWQsIG9uZSBvZiB0aGUpLjI1IEYgRjIobmFtZXMpNC4wNjUgRSBGMCAxLjIwNQotKGlzIG5vdCBhKTMuOTc1IEYgLS4yNSh2YSkxNDQgMzIxLjYgUyhsaWQgc2hlbGwgdikuMjUgRQotKGFyaWFibGUgbmFtZSwgb3IpLS4yNSBFIEYxPGFkNjY+Mi41IEUgRjAoaXMgc3VwcGxpZWQgd2l0aCBhKTIuNSBFIEYyCi0obmFtZSkyLjg2IEUgRjAodGhhdCBpcyBub3QgYSBmdW5jdGlvbi4pMi42OCBFIEYxIC0uMTgocmUpMTA4IDMzOC40IFMKLSh0dXIpLjE4IEUobiktLjE1IEUgRjAoWykyLjUgRSBGMihuKUEgRjAoXSlBIC41ODYKLShDYXVzZXMgYSBmdW5jdGlvbiB0byBlKTE0NCAzNTAuNCBSIC41ODcoeGl0IHdpdGggdGhlIHJldHVybiB2KS0uMTUgRgotLjU4NyhhbHVlIHNwZWNpXDIxNGVkIGJ5KS0uMjUgRiBGMihuKTMuMDg3IEUgRjAgNS41ODcoLkkpLjI0IEcoZiktNS41ODcKLUUgRjIobikzLjQ0NyBFIEYwIC41ODcoaXMgb21pdHRlZCwgdGhlIHJldHVybiBzdGF0dXMgaXMpMy4zMjcgRiAxLjMzNQotKHRoYXQgb2YgdGhlIGxhc3QgY29tbWFuZCBlKTE0NCAzNjIuNCBSIC0uMTUoeGUpLS4xNSBHIDEuMzM1Ci0oY3V0ZWQgaW4gdGhlIGZ1bmN0aW9uIGJvZHkpLjE1IEYgNi4zMzUoLkkpLS42NSBHIDMuODM1KGZ1KS02LjMzNSBHCi0xLjMzNShzZWQgb3V0c2lkZSBhIGZ1bmN0aW9uLCBiKS0zLjgzNSBGIDEuMzM1KHV0IGR1cmluZyktLjIgRiAtLjE1KGV4ZSkKLTE0NCAzNzQuNCBTIC43OTQoY3V0aW9uIG9mIGEgc2NyaXB0IGJ5IHRoZSkuMTUgRiBGMSguKTMuMjk0IEUgRjAoXCgpCi01Ljc5NCBFIEYxKHNvdXIpQShjZSktLjE4IEUgRjAgMy4yOTQoXCljKUMgLjc5NAotKG9tbWFuZCwgaXQgY2F1c2VzIHRoZSBzaGVsbCB0byBzdG9wIGUpLTMuMjk0IEYgLS4xNSh4ZSktLjE1IEcgLjc5NQotKGN1dGluZyB0aGF0IHNjcmlwdCkuMTUgRiAuMjQ2KGFuZCByZXR1cm4gZWl0aGVyKTE0NCAzODYuNCBSIEYyKG4pMy4xMDYKLUUgRjAgLjI0NihvciB0aGUgZSkyLjk4NiBGIC4yNDYoeGl0IHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGUpLS4xNSBGCi0tLjE1KHhlKS0uMTUgRyAuMjQ2KGN1dGVkIHdpdGhpbiB0aGUgc2NyaXB0IGFzIHRoZSBlKS4xNSBGIC4yNDUKLSh4aXQgc3RhLSktLjE1IEYgLjA4MSh0dXMgb2YgdGhlIHNjcmlwdC4pMTQ0IDM5OC40IFIgLjA4MgotKElmIHVzZWQgb3V0c2lkZSBhIGZ1bmN0aW9uIGFuZCBub3QgZHVyaW5nIGUpNS4wODIgRiAtLjE1KHhlKS0uMTUgRyAuMDgyCi0oY3V0aW9uIG9mIGEgc2NyaXB0IGJ5KS4xNSBGIEYxKC4pMi41ODIgRSBGMCAyLjU4MigsdCkuODMzIEcgLjA4MgotKGhlIHJldHVybiBzdGEtKS0yLjU4MiBGIDIuMzA2KHR1cyBpcyBmKTE0NCA0MTAuNCBSIDQuODA2KGFsc2UuIEFuKS0uMSBGCi00LjgwNih5YyktLjE1IEcgMi4zMDUob21tYW5kIGFzc29jaWF0ZWQgd2l0aCB0aGUpLTQuODA2IEYgRjEoUkVUVVJOKQotNC44MDUgRSBGMCAyLjMwNSh0cmFwIGlzIGUpNC44MDUgRiAtLjE1KHhlKS0uMTUgRyAyLjMwNShjdXRlZCBiZWZvcmUgZSkKLS4xNSBGIC0uMTUoeGUpLS4xNSBHKGN1dGlvbikuMTUgRShyZXN1bWVzIGFmdGVyIHRoZSBmdW5jdGlvbiBvciBzY3JpcHQuKQotMTQ0IDQyMi40IFEgRjEoc2V0KTEwOCA0MzkuMiBRIEYwKFspMi41IEUgRjEKLShcMjU1XDI1NWFiZWZoa21ucHR1dnhCQ0VIUFQpQSBGMCAyLjUoXVspQyBGMTxhZDZmPi0yLjUgRSBGMihvcHRpb24pMi41Ci1FIEYwIDIuNShdWylDIEYyKGFyKS0yLjUgRShnKS0uMzcgRSBGMCguLi5dKTIuNSBFIEYxKHNldCkxMDggNDUxLjIgUSBGMAotKFspMi41IEUgRjEoK2FiZWZoa21ucHR1dnhCQ0VIUFQpQSBGMCAyLjUoXVspQyBGMSgrbyktMi41IEUgRjIob3B0aW9uKQotMi41IEUgRjAgMi41KF1bKUMgRjIoYXIpLTIuNSBFKGcpLS4zNyBFIEYwKC4uLl0pMi41IEUgLS40KFdpKTE0NCA0NjMuMiBTCi0uODM1KHRob3V0IG9wdGlvbnMsIHRoZSBuYW1lIGFuZCB2KS40IEYgLjgzNShhbHVlIG9mIGVhY2ggc2hlbGwgdiktLjI1IEYKLS44MzYoYXJpYWJsZSBhcmUgZGlzcGxheWVkIGluIGEgZm9ybWF0IHRoYXQgY2FuIGJlKS0uMjUgRiAuNzg0Ci0ocmV1c2VkIGFzIGlucHV0IGZvciBzZXR0aW5nIG9yIHJlc2V0dGluZyB0aGUgY3VycmVudGx5LXNldCB2KTE0NCA0NzUuMgotUiAzLjI4NChhcmlhYmxlcy4gUmVhZC1vbmx5KS0uMjUgRiAtLjI1KHZhKTMuMjg0IEcgLjc4MwotKHJpYWJsZXMgY2Fubm90IGJlKS4yNSBGIDIuOTQ2KHJlc2V0LiBJbikxNDQgNDg3LjIgUiBGMiAuNDQ3KHBvc2l4IG1vZGUpCi0yLjk0NiBGIEYwIDIuOTQ3KCxvKUMgLjQ0NyhubHkgc2hlbGwgdiktMi45NDcgRiAuNDQ3Ci0oYXJpYWJsZXMgYXJlIGxpc3RlZC4pLS4yNSBGIC40NDcKLShUaGUgb3V0cHV0IGlzIHNvcnRlZCBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQpNS40NDcgRiAzLjUzMQotKGxvY2FsZS4gV2hlbikxNDQgNDk5LjIgUiAxLjAzMShvcHRpb25zIGFyZSBzcGVjaVwyMTRlZCwgdGhlKTMuNTMxIEYKLTMuNTMxKHlzKS0uMTUgRyAxLjAzMShldCBvciB1bnNldCBzaGVsbCBhdHRyaWIpLTMuNTMxIEYgMy41Myh1dGVzLiBBbikKLS0uMiBGIDMuNTMoeWEpLS4xNSBHIC0uMTgocmcpLTMuNTMgRyAxLjAzKHVtZW50cyByZW1haW5pbmcpLjE4IEYgMS42MjMKLShhZnRlciBvcHRpb24gcHJvY2Vzc2luZyBhcmUgdHJlYXRlZCBhcyB2KTE0NCA1MTEuMiBSIDEuNjI0Ci0oYWx1ZXMgZm9yIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYW5kIGFyZSBhc3NpZ25lZCwgaW4pLS4yNSBGKG9yZGVyKQotMTQ0IDUyMy4yIFEgMi41KCx0KS0uNCBHKG8pLTIuNSBFIEYxKCQxKTIuNSBFIEYwKCwpQSBGMSgkMikyLjUgRSBGMCgsKUEKLUYxIDIuNSguLi4gJCkyLjUgRiBGMihuKUEgRjAgNSguTylDKHB0aW9ucywgaWYgc3BlY2lcMjE0ZWQsIGhhKS01IEUgLjMKLS0uMTUodmUgdCktLjIgSChoZSBmb2xsbykuMTUgRSh3aW5nIG1lYW5pbmdzOiktLjI1IEUgRjE8YWQ2MT4xNDQgNTM1LjIgUQotRjAgLjU0KEF1dG9tYXRpY2FsbHkgbWFyayB2KTI5LjMgRiAuNTM5Ci0oYXJpYWJsZXMgYW5kIGZ1bmN0aW9ucyB3aGljaCBhcmUgbW9kaVwyMTRlZCBvciBjcmVhdGVkIGZvciBlKS0uMjUgRgotLjUzOSh4cG9ydCB0byktLjE1IEYodGhlIGVuKTE4NCA1NDcuMiBRCi0odmlyb25tZW50IG9mIHN1YnNlcXVlbnQgY29tbWFuZHMuKS0uNCBFIEYxPGFkNjI+MTQ0IDU1OS4yIFEgRjAgLjEzMQotKFJlcG9ydCB0aGUgc3RhdHVzIG9mIHRlcm1pbmF0ZWQgYmFja2dyb3VuZCBqb2JzIGltbWVkaWF0ZWx5KTI4Ljc0IEYKLTIuNjMyKCxyKS0uNjUgRyAuMTMyKGF0aGVyIHRoYW4gYmVmb3JlIHRoZSBuZSktMi42MzIgRih4dCktLjE1IEUKLShwcmltYXJ5IHByb21wdC4pMTg0IDU3MS4yIFEoVGhpcyBpcyBlZik1IEUoZmVjdGkpLS4yNSBFIC4zIC0uMTUodmUgbykKLS0uMjUgSChubHkgd2hlbiBqb2IgY29udHJvbCBpcyBlbmFibGVkLikuMTUgRSBGMTxhZDY1PjE0NCA1ODMuMiBRIEYwCi0uNTExKEV4aXQgaW1tZWRpYXRlbHkgaWYgYSkyOS44NiBGIEYyKHBpcGVsaW5lKTMuMDExIEUgRjAgLjUxMQotKFwod2hpY2ggbWF5IGNvbnNpc3Qgb2YgYSBzaW5nbGUpMy4wMTEgRiBGMiAuNTEoc2ltcGxlIGNvbW1hbmQpMy4wMSBGIEYwCi0zLjAxKFwpLCBhKUIgRjIoc3ViLSkzLjAxIEUoc2hlbGwpMTg0IDU5NS4yIFEgRjAgLjg3MgotKGNvbW1hbmQgZW5jbG9zZWQgaW4gcGFyZW50aGVzZXMsIG9yIG9uZSBvZiB0aGUgY29tbWFuZHMgZSkzLjM3MiBGIC0uMTUKLSh4ZSktLjE1IEcgLjg3MihjdXRlZCBhcyBwYXJ0IG9mIGEpLjE1IEYgLjM5OQotKGNvbW1hbmQgbGlzdCBlbmNsb3NlZCBieSBicmFjZXMgXChzZWUpMTg0IDYwNy4yIFIgRjMgLjM5OQotKFNIRUxMIEdSQU1NQVIpMi44OTkgRiBGMChhYm8pMi42NDkgRSAtLjE1KHZlKS0uMTUgRyAyLjg5OShcKWUpLjE1IEcKLS4zOTkoeGl0cyB3aXRoIGEgbm9uLXplcm8pLTMuMDQ5IEYgMy45Njgoc3RhdHVzLiBUaGUpMTg0IDYxOS4yIFIgMS40NjgKLShzaGVsbCBkb2VzIG5vdCBlKTMuOTY4IEYgMS40NjgoeGl0IGlmIHRoZSBjb21tYW5kIHRoYXQgZiktLjE1IEYgMS40NjgKLShhaWxzIGlzIHBhcnQgb2YgdGhlIGNvbW1hbmQgbGlzdCktLjEgRiAuNTcoaW1tZWRpYXRlbHkgZm9sbG8pMTg0IDYzMS4yCi1SIC41Nyh3aW5nIGEpLS4yNSBGIEYxKHdoaWxlKTMuMDcgRSBGMChvcikzLjA3IEUgRjEodW50aWwpMy4wNyBFIEYwIC0uMQotKGtlKTMuMDY5IEcoeXcpLS4wNSBFIC41Njkob3JkLCBwYXJ0IG9mIHRoZSB0ZXN0IGZvbGxvKS0uMSBGIC41NjkKLSh3aW5nIHRoZSktLjI1IEYgRjEoaWYpMy4wNjkgRSBGMChvcikzLjA2OSBFIEYxKGVsaWYpMy4wNjkgRSBGMChyZXNlcnYpCi0xODQgNjQzLjIgUSAuNTQ0KGVkIHcpLS4xNSBGIC41NDQob3JkcywgcGFydCBvZiBhbiktLjEgRiAzLjA0NCh5YyktLjE1IEcKLS41NDQob21tYW5kIGUpLTMuMDQ0IEYgLS4xNSh4ZSktLjE1IEcgLjU0NChjdXRlZCBpbiBhKS4xNSBGIEYxKCYmKTMuMDQ0Ci1FIEYwKG9yKTMuMDQ0IEUvRjUgMTAvU3ltYm9sIFNGPGVmZWY+My4wNDQgRSBGMCAuNTQ0KGxpc3QgZSkzLjA0NCBGIC41NDQKLSh4Y2VwdCB0aGUgY29tbWFuZCktLjE1IEYoZm9sbG8pMTg0IDY1NS4yIFEgMS4yMzEod2luZyB0aGUgXDIxNG5hbCktLjI1Ci1GIEYxKCYmKTMuNzMxIEUgRjAob3IpMy43MzEgRSBGNTxlZmVmPjMuNzMxIEUgRjAgMy43MzEoLGEpQyAxLjUzMSAtLjE1Ci0obnkgYyktMy43MzEgSCAxLjIzMShvbW1hbmQgaW4gYSBwaXBlbGluZSBiKS4xNSBGIDEuMjMKLSh1dCB0aGUgbGFzdCwgb3IgaWYgdGhlIGNvbS0pLS4yIEYobWFuZCcpMTg0IDY2Ny4yIFEgMy4xOShzciktLjU1IEcgLjY5Ci0oZXR1cm4gdiktMy4xOSBGIC42OShhbHVlIGlzIGJlaW5nIGluKS0uMjUgRiAtLjE1KHZlKS0uNCBHIC42OQotKHJ0ZWQgd2l0aCkuMTUgRiBGMSghKTMuMTkxIEUgRjAgNS42OTEoLkEpQyAuNjkxKHRyYXAgb24pLTIuNSBGIEYxKEVSUikKLTMuMTkxIEUgRjAgMy4xOTEoLGkpQyAzLjE5MShmcyktMy4xOTEgRyAuNjkxKGV0LCBpcyBlKS0zLjE5MSBGIC0uMTUoeGUpCi0tLjE1IEcgLjY5MShjdXRlZCBiZWZvcmUpLjE1IEYgLjY4Nyh0aGUgc2hlbGwgZSkxODQgNjc5LjIgUiAzLjE4NgotKHhpdHMuIFRoaXMpLS4xNSBGIC42ODYob3B0aW9uIGFwcGxpZXMgdG8gdGhlIHNoZWxsIGVuKTMuMTg2IEYgLjY4NgotKHZpcm9ubWVudCBhbmQgZWFjaCBzdWJzaGVsbCBlbiktLjQgRih2aXJvbi0pLS40IEUgLjY1OAotKG1lbnQgc2VwYXJhdGVseSBcKHNlZSkxODQgNjkxLjIgUiBGMSAuNjU5KENPTU1BTkQgRVhFQ1VUSU9OIEVOVklSKTMuMTU5Ci1GKE9OTUVOVCktLjMgRSBGMChhYm8pMy4xNTkgRSAtLjE1KHZlKS0uMTUgRyAuNjU5KFwpLCBhbmQgbWF5KS4xNSBGCi0oY2F1c2Ugc3Vic2hlbGxzIHRvIGUpMTg0IDcwMy4yIFEoeGl0IGJlZm9yZSBlKS0uMTUgRSAtLjE1KHhlKS0uMTUgRwotKGN1dGluZyBhbGwgdGhlIGNvbW1hbmRzIGluIHRoZSBzdWJzaGVsbC4pLjE1IEUgRjE8YWQ2Nj4xNDQgNzE1LjIgUSBGMAotKERpc2FibGUgcGF0aG5hbWUgZSkzMC45NyBFKHhwYW5zaW9uLiktLjE1IEUoR05VIEJhc2gtNC4wKTcyIDc2OCBRCi0oMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFKDU5KTE5MC45NSBFIDAgQ2cgRVAKKy0uMzUgRSAxLjE3MShzdGFuZGFyZCBvdXRwdXQsIGFuZCBmb3JtYXQgc3BlY2lcMjE0Y2F0aW9ucywgZWFjaCBvZiB3aGljXAoraCBjYXVzZXMgcHJpbnRpbmcgb2YgdGhlIG5lKTE0NCA4NCBSIDEuMTcyKHh0IHN1Y2Nlc3NpKS0uMTUgRiAtLjE1KHZlKQorLS4yNSBHL0YxIDEwL1RpbWVzLUl0YWxpY0AwIFNGKGFyKTE0NCA5NiBRKGd1bWVudCktLjM3IEUgRjAgNi4yNzQoLkkpQworMy43NzQobmEpLTYuMjc0IEcgMS4yNzQoZGRpdGlvbiB0byB0aGUgc3RhbmRhcmQpLTMuNzc0IEYgRjEocHJpbnRmKTMuNzc0CitFIEYwIDEuMjc0KFwoMVwpIGZvcm1hdHMsKUIvRjIgMTAvVGltZXMtQm9sZEAwIFNGKCViKTMuNzc0IEUgRjAoY2F1c2VzKQorMy43NzQgRSBGMihwcmludGYpMy43NzQgRSBGMCAxLjI3Myh0byBlKTMuNzc0IEYgMS4yNzMoeHBhbmQgYmFja3NsYXNoKQorLS4xNSBGIC42MTkoZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUgY29ycmVzcG9uZGluZykxNDQgMTA4IFIgRjEoYXIpMy4xMTkKK0UoZ3VtZW50KS0uMzcgRSBGMChcKGUpMy4xMTkgRSAuNjE5KHhjZXB0IHRoYXQpLS4xNSBGIEYyKFxcYykzLjExOSBFIEYwCisuNjIodGVybWluYXRlcyBvdXRwdXQsIGJhY2tzbGFzaGVzIGluKTMuMTE5IEYgRjI8NWMwOD4xNDQgMTIwIFEgRjAoLClBCitGMihcXCIpMi45ODUgRSBGMCAyLjk4NSgsYSlDKG5kKS0yLjk4NSBFIEYyKFxcPykyLjk4NSBFIEYwIC40ODUKKyhhcmUgbm90IHJlbW8pMi45ODUgRiAtLjE1KHZlKS0uMTUgRyAuNDg1KGQsIGFuZCBvY3RhbCBlc2NhcGVzIGJlKS4xNSBGCisuNDg0KGdpbm5pbmcgd2l0aCktLjE1IEYgRjIoXFwwKTIuOTg0IEUgRjAgLjQ4NAorKG1heSBjb250YWluIHVwIHRvIGZvdXIgZGlnaXRzXCksKTIuOTg0IEYoYW5kKTE0NCAxMzIgUSBGMiglcSkyLjU2NyBFIEYwCisoY2F1c2VzKTIuNTY3IEUgRjIocHJpbnRmKTIuNTY3IEUgRjAgLjA2Nyh0byBvdXRwdXQgdGhlIGNvcnJlc3BvbmRpbmcpCisyLjU2NyBGIEYxKGFyKTIuNTY4IEUoZ3VtZW50KS0uMzcgRSBGMCAuMDY4CisoaW4gYSBmb3JtYXQgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxsKTIuNTY4IEYoaW5wdXQuKTE0NCAxNDQgUShUaGUpCisxNDQgMTY4IFEgRjI8YWQ3Nj4yLjkwNCBFIEYwIC40MDQKKyhvcHRpb24gY2F1c2VzIHRoZSBvdXRwdXQgdG8gYmUgYXNzaWduZWQgdG8gdGhlIHYpMi45MDQgRihhcmlhYmxlKS0uMjUgRQorRjEodmFyKTIuOTA0IEUgRjAgLjQwNChyYXRoZXIgdGhhbiBiZWluZyBwcmludGVkIHRvIHRoZSkyLjkwNCBGCisoc3RhbmRhcmQgb3V0cHV0LikxNDQgMTgwIFEoVGhlKTE0NCAyMDQgUSBGMShmb3JtYXQpMy40MjMgRSBGMCAuOTIzCisoaXMgcmV1c2VkIGFzIG5lY2Vzc2FyeSB0byBjb25zdW1lIGFsbCBvZiB0aGUpMy40MjMgRiBGMShhcikzLjQyMyBFCisoZ3VtZW50cyktLjM3IEUgRjAgNS45MjMoLkkpQyAzLjQyMyhmdCktNS45MjMgRyhoZSktMy40MjMgRSBGMShmb3JtYXQpCiszLjQyMyBFIEYwIC45MjQocmVxdWlyZXMgbW9yZSkzLjQyNCBGIEYxKGFyKTE0NCAyMTYgUShndW1lbnRzKS0uMzcgRSBGMAorLjAzMyh0aGFuIGFyZSBzdXBwbGllZCwgdGhlIGUpMi41MzQgRiAuMDMzCisoeHRyYSBmb3JtYXQgc3BlY2lcMjE0Y2F0aW9ucyBiZWhhKS0uMTUgRiAuMzMzIC0uMTUodmUgYSktLjIgSCAyLjUzMyhzaSkKKy4xNSBHIDIuNTMzKGZheiktMi41MzMgRyAuMDMzKGVybyB2KS0yLjUzMyBGIC4wMzMoYWx1ZSBvciBudWxsIHN0cmluZywpCistLjI1IEYoYXMgYXBwcm9wcmlhdGUsIGhhZCBiZWVuIHN1cHBsaWVkLikxNDQgMjI4IFEoVGhlIHJldHVybiB2KTUgRQorKGFsdWUgaXMgemVybyBvbiBzdWNjZXNzLCBub24temVybyBvbiBmKS0uMjUgRShhaWx1cmUuKS0uMSBFIEYyKHB1c2hkKQorMTA4IDI0NC44IFEgRjAoWykyLjUgRSBGMjxhZDZlPkEgRjAgMi41KF1bKUMoKyktMi41IEUgRjEobilBIEYwIDIuNShdWylDCis8YWQ+LTIuNSBFIEYxKG4pQSBGMChdKUEgRjIocHVzaGQpMTA4IDI1Ni44IFEgRjAoWykyLjUgRSBGMjxhZDZlPkEgRjAKKzIuNShdWylDIEYxKGRpciktMi41IEUgRjAoXSlBIC42MzkoQWRkcyBhIGRpcmVjdG9yeSB0byB0aGUgdG9wIG9mIHRoZSBkXAoraXJlY3Rvcnkgc3RhY2ssIG9yIHJvdGF0ZXMgdGhlIHN0YWNrLCBtYWtpbmcgdGhlIG5lKTE0NCAyNjguOCBSIDMuMTQod3QpCistLjI1IEcgLjY0KG9wIG9mIHRoZSktMy4xNCBGIDEuMzE2KHN0YWNrIHRoZSBjdXJyZW50IHcpMTQ0IDI4MC44IFIgMS4zMTYKKyhvcmtpbmcgZGlyZWN0b3J5KS0uMSBGIDYuMzE2KC5XKS0uNjUgRyAxLjMxNShpdGggbm8gYXIpLTYuNzE2IEYgMS4zMTUKKyhndW1lbnRzLCBlKS0uMTggRiAxLjMxNSh4Y2hhbmdlcyB0aGUgdG9wIHR3KS0uMTUgRiAzLjgxNShvZCktLjEgRyAxLjMxNQorKGlyZWN0b3JpZXMgYW5kKS0zLjgxNSBGIC44NzEKKyhyZXR1cm5zIDAsIHVubGVzcyB0aGUgZGlyZWN0b3J5IHN0YWNrIGlzIGVtcHR5KTE0NCAyOTIuOCBSIDUuODcxKC5BKQorLS42NSBHIC0uMTgocmcpLTUuODcxIEcgLjg3Mih1bWVudHMsIGlmIHN1cHBsaWVkLCBoYSkuMTggRiAxLjE3MiAtLjE1CisodmUgdCktLjIgSCAuODcyKGhlIGZvbGxvKS4xNSBGIC44NzIod2luZyBtZWFuLSktLjI1IEYoaW5nczopMTQ0IDMwNC44IFEKK0YyPGFkNmU+MTQ0IDMxNi44IFEgRjAgLjkwMihTdXBwcmVzc2VzIHRoZSBub3JtYWwgY2hhbmdlIG9mIGRpcmVjdG9yeSB3XAoraGVuIGFkZGluZyBkaXJlY3RvcmllcyB0byB0aGUgc3RhY2ssIHNvIHRoYXQpMjQuNzQgRgorKG9ubHkgdGhlIHN0YWNrIGlzIG1hbmlwdWxhdGVkLikxODAgMzI4LjggUSBGMigrKTE0NCAzNDAuOCBRIEYxKG4pQSBGMAorMS4yNjcoUm90YXRlcyB0aGUgc3RhY2sgc28gdGhhdCB0aGUpMjUuMyBGIEYxKG4pMy43NjcgRSBGMCAxLjI2OAorKHRoIGRpcmVjdG9yeSBcKGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3Qgc2hvKUIgMS4yNjgod24gYnkpCistLjI1IEYgRjIoZGlycykxODAgMzUyLjggUSBGMCAyLjUoLHMpQworKHRhcnRpbmcgd2l0aCB6ZXJvXCkgaXMgYXQgdGhlIHRvcC4pLTIuNSBFIEYyPGFkPjE0NCAzNjQuOCBRIEYxKG4pQSBGMAorLjkyKFJvdGF0ZXMgdGhlIHN0YWNrIHNvIHRoYXQgdGhlKTI1LjMgRiBGMShuKTMuNDIgRSBGMCAuOTIKKyh0aCBkaXJlY3RvcnkgXChjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdCBzaG8pQiAuOTIod24gYnkpLS4yNQorRiBGMihkaXJzKTE4MCAzNzYuOCBRIEYwIDIuNSgscylDKHRhcnRpbmcgd2l0aCB6ZXJvXCkgaXMgYXQgdGhlIHRvcC4pCistMi41IEUgRjEoZGlyKTE0NC4zNSAzODguOCBRIEYwKEFkZHMpMjMuOTggRSBGMShkaXIpMi44NSBFIEYwCisodG8gdGhlIGRpcmVjdG9yeSBzdGFjayBhdCB0aGUgdG9wLCBtYWtpbmcgaXQgdGhlIG5lKTMuMjMgRSAyLjUod2MpLS4yNQorRyh1cnJlbnQgdyktMi41IEUob3JraW5nIGRpcmVjdG9yeSktLjEgRSguKS0uNjUgRSAuNDg4KElmIHRoZSkxNDQgNDA1LjYKK1IgRjIocHVzaGQpMi45ODggRSBGMCAuNDg4KGNvbW1hbmQgaXMgc3VjY2Vzc2Z1bCwgYSkyLjk4OCBGIEYyKGRpcnMpCisyLjk4OCBFIEYwIC40ODgoaXMgcGVyZm9ybWVkIGFzIHdlbGwuKTIuOTg4IEYgLjQ4OQorKElmIHRoZSBcMjE0cnN0IGZvcm0gaXMgdXNlZCwpNS40ODggRiBGMihwdXNoZCkyLjk4OSBFIEYwIDEuMDQKKyhyZXR1cm5zIDAgdW5sZXNzIHRoZSBjZCB0bykxNDQgNDE3LjYgUiBGMShkaXIpMy44OSBFIEYwIC0uMShmYSk0LjI3IEcKKzMuNTM5KGlscy4gVykuMSBGIDEuMDM5KGl0aCB0aGUgc2Vjb25kIGZvcm0sKS0uNCBGIEYyKHB1c2hkKTMuNTM5IEUgRjAKKzEuMDM5KHJldHVybnMgMCB1bmxlc3MgdGhlIGRpcmVjdG9yeSkzLjUzOSBGIC44NDYoc3RhY2sgaXMgZW1wdHkpMTQ0Cis0MjkuNiBSIDMuMzQ2KCxhbiktLjY1IEcob24tZSktMy4zNDYgRSAuODQ3KHhpc3RlbnQgZGlyZWN0b3J5IHN0YWNrIGVsZVwKK21lbnQgaXMgc3BlY2lcMjE0ZWQsIG9yIHRoZSBkaXJlY3RvcnkgY2hhbmdlIHRvIHRoZSktLjE1IEYKKyhzcGVjaVwyMTRlZCBuZSkxNDQgNDQxLjYgUSAyLjUod2MpLS4yNSBHKHVycmVudCBkaXJlY3RvcnkgZiktMi41IEUKKyhhaWxzLiktLjEgRSBGMihwd2QpMTA4IDQ1OC40IFEgRjAoWykyLjUgRSBGMihcMjU1TFApQSBGMChdKUEgLjg0NQorKFByaW50IHRoZSBhYnNvbHV0ZSBwYXRobmFtZSBvZiB0aGUgY3VycmVudCB3KTE0NCA0NzAuNCBSIC44NDUKKyhvcmtpbmcgZGlyZWN0b3J5KS0uMSBGIDUuODQ0KC5UKS0uNjUgRyAuODQ0CisoaGUgcGF0aG5hbWUgcHJpbnRlZCBjb250YWlucyBubyktNS44NDQgRiAuMTgxKHN5bWJvbGljIGxpbmtzIGlmIHRoZSkxNDQKKzQ4Mi40IFIgRjI8YWQ1MD4yLjY4MSBFIEYwIC4xODEob3B0aW9uIGlzIHN1cHBsaWVkIG9yIHRoZSkyLjY4MSBGIEYyCisuMTgxKFwyNTVvIHBoKTIuNjgxIEYoeXNpY2FsKS0uMTUgRSBGMCAuMTgxKG9wdGlvbiB0byB0aGUpMi42ODEgRiBGMgorKHNldCkyLjY4MSBFIEYwIC0uMihidSkyLjY4MSBHIC4xODIoaWx0aW4gY29tbWFuZCBpcykuMiBGIDMuMjY0CisoZW5hYmxlZC4gSWYpMTQ0IDQ5NC40IFIodGhlKTMuMjY0IEUgRjI8YWQ0Yz4zLjI2NCBFIEYwIC43NjMKKyhvcHRpb24gaXMgdXNlZCwgdGhlIHBhdGhuYW1lIHByaW50ZWQgbWF5IGNvbnRhaW4gc3ltYm9saWMgbGlua3MuKTMuMjY0CitGIC43NjMoVGhlIHJldHVybik1Ljc2MyBGIDEuMzYoc3RhdHVzIGlzIDAgdW5sZXNzIGFuIGVycm9yIG9jY3VycyB3aGlsZVwKKyByZWFkaW5nIHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBvciBhbiBpbikxNDQgNTA2LjQgUiAtLjI1KHZhKQorLS40IEcobGlkKS4yNSBFKG9wdGlvbiBpcyBzdXBwbGllZC4pMTQ0IDUxOC40IFEgRjIgLS4xOChyZSkxMDggNTM1LjIgUworKGFkKS4xOCBFIEYwKFspMy44MTcgRSBGMihcMjU1ZXJzKUEgRjAgMy44MTcoXVspQyBGMjxhZDYxPi0zLjgxNyBFIEYxCisoYW5hbWUpMy44MTcgRSBGMCAzLjgxNyhdWylDIEYyPGFkNjQ+LTMuODE3IEUgRjEoZGVsaW0pMy44MTcgRSBGMCAzLjgxNworKF1bKUMgRjI8YWQ2OT4tMy44MTcgRSBGMSh0ZSkzLjgxNyBFKHh0KS0uMiBFIEYwIDMuODE3KF1bKUMgRjI8YWQ2ZT4KKy0zLjgxNyBFIEYxKG5jKTMuODE2IEUoaGFyKS0uMTUgRShzKS0uMSBFIEYwIDMuODE2KF1bKUMgRjI8YWQ0ZT4tMy44MTYgRQorRjEobmMpMy44MTYgRShoYXIpLS4xNSBFKHMpLS4xIEUgRjAgMy44MTYoXVspQyBGMjxhZDcwPi0zLjgxNiBFIEYxKHByKQorMy44MTYgRShvbXB0KS0uNDUgRSBGMCAzLjgxNihdWylDIEYyPGFkNzQ+LTMuODE2IEUgRjEodGltZW91dCkzLjgxNiBFIEYwCiszLjgxNihdWylDIEYyPGFkNzU+LTMuODE2IEUgRjEoZmQpMy44MTYgRSBGMChdKUEoWykxMDggNTQ3LjIgUSBGMShuYW1lKUEKK0YwKC4uLl0pMi41IEUgLjUxNihPbmUgbGluZSBpcyByZWFkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0LCBvciBmcm9tIHRoXAorZSBcMjE0bGUgZGVzY3JpcHRvcikxNDQgNTU5LjIgUiBGMShmZCkzLjAxNiBFIEYwIC41MTYoc3VwcGxpZWQgYXMgYW4gYXIpCiszLjAxNiBGIC41MTYoZ3VtZW50IHRvKS0uMTggRih0aGUpMTQ0IDU3MS4yIFEgRjI8YWQ3NT4yLjUzOCBFIEYwIC4wMzgKKyhvcHRpb24sIGFuZCB0aGUgXDIxNHJzdCB3KTIuNTM4IEYgLjAzOChvcmQgaXMgYXNzaWduZWQgdG8gdGhlIFwyMTRyc3QpCistLjEgRiBGMShuYW1lKTIuNTM5IEUgRjAgMi41MzkoLHQpLjE4IEcgLjAzOShoZSBzZWNvbmQgdyktMi41MzkgRiAuMDM5Cisob3JkIHRvIHRoZSBzZWNvbmQpLS4xIEYgRjEobmFtZSkyLjUzOSBFIEYwKCwpLjE4IEUgLjQyCisoYW5kIHNvIG9uLCB3aXRoIGxlZnRvKTE0NCA1ODMuMiBSIC0uMTUodmUpLS4xNSBHIDIuOTIocncpLjE1IEcgLjQyCisob3JkcyBhbmQgdGhlaXIgaW50ZXJ2KS0zLjAyIEYgLjQyCisoZW5pbmcgc2VwYXJhdG9ycyBhc3NpZ25lZCB0byB0aGUgbGFzdCktLjE1IEYgRjEobmFtZSkyLjkyIEUgRjAgNS40MiguSSkKKy4xOCBHIDIuOTIoZnQpLTUuNDIgRyhoZXJlKS0yLjkyIEUgLjU0KGFyZSBmZSkxNDQgNTk1LjIgUiAuNTQod2VyIHcpLS4yNQorRiAuNTQxKG9yZHMgcmVhZCBmcm9tIHRoZSBpbnB1dCBzdHJlYW0gdGhhbiBuYW1lcywgdGhlIHJlbWFpbmluZyBuYW1lcyBcCithcmUgYXNzaWduZWQgZW1wdHkpLS4xIEYgLS4yNSh2YSkxNDQgNjA3LjIgUyAyLjUxMShsdWVzLiBUaGUpLjI1IEYgLjAxMQorKGNoYXJhY3RlcnMgaW4pMi41MTEgRi9GMyA5L1RpbWVzLUJvbGRAMCBTRihJRlMpMi41MTEgRSBGMCAuMDExCisoYXJlIHVzZWQgdG8gc3BsaXQgdGhlIGxpbmUgaW50byB3KTIuMjYxIEYgMi41MTEob3Jkcy4gVGhlKS0uMSBGIC4wMTEKKyhiYWNrc2xhc2ggY2hhcmFjdGVyIFwoKTIuNTExIEYgRjIoXFwpQSBGMCAyLjUxKFwpbSlDKGF5KS0yLjUxIEUgMS44OQorKGJlIHVzZWQgdG8gcmVtbykxNDQgNjE5LjIgUiAyLjE5IC0uMTUodmUgYSktLjE1IEggMi4xOSAtLjE1KG55IHMpLjE1IEgKKzEuODkxKHBlY2lhbCBtZWFuaW5nIGZvciB0aGUgbmUpLjE1IEYgMS44OTEKKyh4dCBjaGFyYWN0ZXIgcmVhZCBhbmQgZm9yIGxpbmUgY29udGludWF0aW9uLiktLjE1IEYKKyhPcHRpb25zLCBpZiBzdXBwbGllZCwgaGEpMTQ0IDYzMS4yIFEgLjMgLS4xNSh2ZSB0KS0uMiBIKGhlIGZvbGxvKS4xNSBFCisod2luZyBtZWFuaW5nczopLS4yNSBFIEYyPGFkNjE+MTQ0IDY0My4yIFEgRjEoYW5hbWUpMi41IEUgRjAgMS4wNShUaGUgdykKKzE4MCA2NTUuMiBSIDEuMDQ5Cisob3JkcyBhcmUgYXNzaWduZWQgdG8gc2VxdWVudGlhbCBpbmRpY2VzIG9mIHRoZSBhcnJheSB2KS0uMSBGKGFyaWFibGUpCistLjI1IEUgRjEoYW5hbWUpMy41NDkgRSBGMCAzLjU0OSgscykuMTggRyAxLjA0OSh0YXJ0aW5nIGF0IDAuKS0zLjU0OSBGCitGMShhbmFtZSkxODAuMzMgNjY3LjIgUSBGMChpcyB1bnNldCBiZWZvcmUgYW4pMi42OCBFIDIuNSh5biktLjE1IEcgLjUKKy0uMjUoZXcgdmEpLTIuNSBIKGx1ZXMgYXJlIGFzc2lnbmVkLikuMjUgRShPdGhlcik1IEUgRjEobmFtZSkyLjUgRSBGMAorKGFyKTIuNSBFKGd1bWVudHMgYXJlIGlnbm9yZWQuKS0uMTggRSBGMjxhZDY0PjE0NCA2NzkuMiBRIEYxKGRlbGltKTIuNSBFCitGMChUaGUgXDIxNHJzdCBjaGFyYWN0ZXIgb2YpMTgwIDY5MS4yIFEgRjEoZGVsaW0pMi41IEUgRjAKKyhpcyB1c2VkIHRvIHRlcm1pbmF0ZSB0aGUgaW5wdXQgbGluZSwgcmF0aGVyIHRoYW4gbmUpMi41IEUod2xpbmUuKS0uMjUgRQorRjI8YWQ2NT4xNDQgNzAzLjIgUSBGMCAuMzcyCisoSWYgdGhlIHN0YW5kYXJkIGlucHV0IGlzIGNvbWluZyBmcm9tIGEgdGVybWluYWwsKTI1Ljg2IEYgRjIgLS4xOChyZSkKKzIuODczIEcoYWRsaW5lKS4xOCBFIEYwKFwoc2VlKTIuODczIEUgRjMoUkVBRExJTkUpMi44NzMgRSBGMChhYm8pMi42MjMgRQorLS4xNSh2ZSktLjE1IEcgMi44NzMoXClpKS4xNSBHIDIuODczKHN1KS0yLjg3MyBHKHNlZCktMi44NzMgRSAuMjE4CisodG8gb2J0YWluIHRoZSBsaW5lLikxODAgNzE1LjIgUiAuMjE4CisoUmVhZGxpbmUgdXNlcyB0aGUgY3VycmVudCBcKG9yIGRlZik1LjIxOCBGIC4yMTgKKyhhdWx0LCBpZiBsaW5lIGVkaXRpbmcgdyktLjEgRiAuMjE4KGFzIG5vdCBwcmUpLS4xIEYodmlvdXNseSktLjI1IEUKKyhhY3RpKTE4MCA3MjcuMiBRIC0uMTUodmUpLS4yNSBHIDIuNShcKWUpLjE1IEcoZGl0aW5nIHNldHRpbmdzLiktMi41IEUKKyhHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoNTkpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNjAgNjAKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGPGFkNjg+MTQ0IDg0IFEgRjAgMi4yMzkKLShSZW1lbWJlciB0aGUgbG9jYXRpb24gb2YgY29tbWFuZHMgYXMgdGhlKTI4Ljc0IEYgNC43MzgoeWEpLS4xNSBHIDIuMjM4Ci0ocmUgbG9vayktNC43MzggRiAyLjIzOChlZCB1cCBmb3IgZSktLjEgRiAtLjE1KHhlKS0uMTUgRyA0LjczOAotKGN1dGlvbi4gVGhpcykuMTUgRihpcyk0LjczOCBFKGVuYWJsZWQgYnkgZGVmKTE4NCA5NiBRKGF1bHQuKS0uMSBFIEYxCi08YWQ2Yj4xNDQgMTA4IFEgRjAgLjUxMyhBbGwgYXIpMjguNzQgRiAuNTE0Ci0oZ3VtZW50cyBpbiB0aGUgZm9ybSBvZiBhc3NpZ25tZW50IHN0YXRlbWVudHMgYXJlIHBsYWNlZCBpbiB0aGUgZW4pLS4xOAotRiAuNTE0KHZpcm9ubWVudCBmb3IgYSktLjQgRgotKGNvbW1hbmQsIG5vdCBqdXN0IHRob3NlIHRoYXQgcHJlY2VkZSB0aGUgY29tbWFuZCBuYW1lLikxODQgMTIwIFEgRjEKLTxhZDZkPjE0NCAxMzIgUSBGMCAuMTQ5KE1vbml0b3IgbW9kZS4pMjUuOTcgRiAuMTQ5Ci0oSm9iIGNvbnRyb2wgaXMgZW5hYmxlZC4pNS4xNDkgRiAuMTQ4KFRoaXMgb3B0aW9uIGlzIG9uIGJ5IGRlZik1LjE0OSBGCi0uMTQ4KGF1bHQgZm9yIGludGVyYWN0aSktLjEgRiAuNDQ4IC0uMTUodmUgcyktLjI1IEgoaGVsbHMpLjE1IEUgLjYzNgotKG9uIHN5c3RlbXMgdGhhdCBzdXBwb3J0IGl0IFwoc2VlKTE4NCAxNDQgUi9GMiA5L1RpbWVzLUJvbGRAMCBTRiAuNjM2Ci0oSk9CIENPTlRSKTMuMTM2IEYoT0wpLS4yNyBFIEYwKGFibykyLjg4NiBFIC0uMTUodmUpLS4xNSBHIDMuMTM2Ci0oXCkuIEJhY2tncm91bmQpLjE1IEYgLjYzNyhwcm9jZXNzZXMgcnVuIGluIGEpMy4xMzYgRiAuNjQyCi0oc2VwYXJhdGUgcHJvY2VzcyBncm91cCBhbmQgYSBsaW5lIGNvbnRhaW5pbmcgdGhlaXIgZSkxODQgMTU2IFIgLjY0MQotKHhpdCBzdGF0dXMgaXMgcHJpbnRlZCB1cG9uIHRoZWlyIGNvbS0pLS4xNSBGKHBsZXRpb24uKTE4NCAxNjggUSBGMQotPGFkNmU+MTQ0IDE4MCBRIEYwIC42NTIoUmVhZCBjb21tYW5kcyBiKTI4Ljc0IEYgLjY1Mih1dCBkbyBub3QgZSktLjIgRgotLS4xNSh4ZSktLjE1IEcgLjY1MihjdXRlIHRoZW0uKS4xNSBGIC42NTMKLShUaGlzIG1heSBiZSB1c2VkIHRvIGNoZWNrIGEgc2hlbGwgc2NyaXB0IGZvcik1LjY1MiBGKHN5bnRheCBlcnJvcnMuKTE4NAotMTkyIFEoVGhpcyBpcyBpZ25vcmVkIGJ5IGludGVyYWN0aSk1IEUgLjMgLS4xNSh2ZSBzKS0uMjUgSChoZWxscy4pLjE1IEUKLUYxPGFkNmY+MTQ0IDIwNCBRL0YzIDEwL1RpbWVzLUl0YWxpY0AwIFNGKG9wdGlvblwyNTVuYW1lKTIuNSBFIEYwKFRoZSkKLTE4NCAyMTYgUSBGMyhvcHRpb25cMjU1bmFtZSkyLjUgRSBGMChjYW4gYmUgb25lIG9mIHRoZSBmb2xsbykyLjUgRQotKHdpbmc6KS0uMjUgRSBGMShhbGxleHBvcnQpMTg0IDIyOCBRIEYwKFNhbWUgYXMpMjI0IDI0MCBRIEYxPGFkNjE+Mi41IEUKLUYwKC4pQSBGMShicmFjZWV4cGFuZCkxODQgMjUyIFEgRjAoU2FtZSBhcykyMjQgMjY0IFEgRjE8YWQ0Mj4yLjUgRSBGMCguKQotQSBGMShlbWFjcykxODQgMjc2IFEgRjAgLjA4OQotKFVzZSBhbiBlbWFjcy1zdHlsZSBjb21tYW5kIGxpbmUgZWRpdGluZyBpbnRlcmYpMTMuOSBGIDIuNTg5KGFjZS4gVGhpcykKLS0uMSBGIC4wODkoaXMgZW5hYmxlZCBieSBkZWYpMi41ODkgRihhdWx0KS0uMSBFIC45NQotKHdoZW4gdGhlIHNoZWxsIGlzIGludGVyYWN0aSkyMjQgMjg4IFIgLS4xNSh2ZSktLjI1IEcgMy40NSgsdSkuMTUgRyAuOTUKLShubGVzcyB0aGUgc2hlbGwgaXMgc3RhcnRlZCB3aXRoIHRoZSktMy40NSBGIEYxKFwyNTVcMjU1bm9lZGl0aW5nKTMuNDUgRQotRjAgMi41KG9wdGlvbi4gVGhpcykyMjQgMzAwIFIoYWxzbyBhZikyLjUgRShmZWN0cyB0aGUgZWRpdGluZyBpbnRlcmYpCi0tLjI1IEUoYWNlIHVzZWQgZm9yKS0uMSBFIEYxIC0uMTgocmUpMi41IEcoYWQgXDI1NWUpLjE4IEUgRjAoLilBIEYxCi0oZXJydHJhY2UpMTg0IDMxMiBRIEYwKFNhbWUgYXMpNS4wMyBFIEYxPGFkNDU+Mi41IEUgRjAoLilBIEYxKGZ1bmN0cmFjZSkKLTE4NCAzMjQgUSBGMChTYW1lIGFzKTIyNCAzMzYgUSBGMTxhZDU0PjIuNSBFIEYwKC4pQSBGMShlcnIpMTg0IDM0OCBRCi0oZXhpdCktLjE4IEUgRjAoU2FtZSBhcykxMS4zMSBFIEYxPGFkNjU+Mi41IEUgRjAoLilBIEYxKGhhc2hhbGwpMTg0IDM2MAotUSBGMChTYW1lIGFzKTkuNDMgRSBGMTxhZDY4PjIuNSBFIEYwKC4pQSBGMShoaXN0ZXhwYW5kKTE4NCAzNzIgUSBGMAotKFNhbWUgYXMpMjI0IDM4NCBRIEYxPGFkNDg+Mi41IEUgRjAoLilBIEYxKGhpc3RvcnkpMTg0IDM5NiBRIEYwIC41ODcKLShFbmFibGUgY29tbWFuZCBoaXN0b3J5KTEwIEYgMy4wODcoLGEpLS42NSBHIDMuMDg3KHNkKS0zLjA4NyBHIC41ODcKLShlc2NyaWJlZCBhYm8pLTMuMDg3IEYgLjg4NyAtLjE1KHZlIHUpLS4xNSBIKG5kZXIpLjE1IEUgRjIoSElTVCkzLjA4NyBFCi0oT1IpLS4xNjIgRShZKS0uMzE1IEUvRjQgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMCAuNTg3KFRoaXMgb3B0aW9uIGlzKQotNS4wODcgRihvbiBieSBkZWYpMjI0IDQwOCBRKGF1bHQgaW4gaW50ZXJhY3RpKS0uMSBFIC4zIC0uMTUodmUgcyktLjI1IEgKLShoZWxscy4pLjE1IEUgRjEoaWdub3IpMTg0IDQyMCBRKGVlb2YpLS4xOCBFIEYwIDEuNjU2KFRoZSBlZikyMjQgNDMyIFIKLTEuNjU2KGZlY3QgaXMgYXMgaWYgdGhlIHNoZWxsIGNvbW1hbmQpLS4yNSBGL0Y1IDEwL0NvdXJpZXJAMCBTRgotKElHTk9SRUVPRj0xMCk0LjE1NyBFIEYwIDEuNjU3KGhhZCBiZWVuIGUpNC4xNTcgRiAtLjE1KHhlKS0uMTUgRyhjdXRlZCkKLS4xNSBFKFwoc2VlKTIyNCA0NDQgUSBGMShTaGVsbCBWKTIuNSBFKGFyaWFibGVzKS0uOTIgRSBGMChhYm8pMi41IEUgLS4xNQotKHZlKS0uMTUgRyhcKS4pLjE1IEUgRjEgLS4xKGtlKTE4NCA0NTYgUyh5dykuMSBFKG9yZCktLjEgRSBGMChTYW1lIGFzKQotMjI0IDQ2OCBRIEYxPGFkNmI+Mi41IEUgRjAoLilBIEYxKG1vbml0b3IpMTg0IDQ4MCBRIEYwKFNhbWUgYXMpNS41NiBFIEYxCi08YWQ2ZD4yLjUgRSBGMCguKUEgRjEobm9jbG9iKTE4NCA0OTIgUShiZXIpLS4xIEUgRjAoU2FtZSBhcykyMjQgNTA0IFEgRjEKLTxhZDQzPjIuNSBFIEYwKC4pQSBGMShub2V4ZWMpMTg0IDUxNiBRIEYwKFNhbWUgYXMpMTEuMTIgRSBGMTxhZDZlPjIuNSBFCi1GMCguKUEgRjEobm9nbG9iKTE4NCA1MjggUSBGMChTYW1lIGFzKTExLjEgRSBGMTxhZDY2PjIuNSBFIEYwKC4pQSBGMQotKG5vbG9nKTE4NCA1NDAgUSBGMChDdXJyZW50bHkgaWdub3JlZC4pMTYuNjYgRSBGMShub3RpZnkpMTg0IDU1MiBRIEYwCi0oU2FtZSBhcykxNSBFIEYxPGFkNjI+Mi41IEUgRjAoLilBIEYxKG5vdW5zZXQpMTg0IDU2NCBRIEYwKFNhbWUgYXMpNi42NgotRSBGMTxhZDc1PjIuNSBFIEYwKC4pQSBGMShvbmVjbWQpMTg0IDU3NiBRIEYwKFNhbWUgYXMpNi42NyBFIEYxPGFkNzQ+Mi41Ci1FIEYwKC4pQSBGMShwaCkxODQgNTg4IFEoeXNpY2FsKS0uMTUgRSBGMChTYW1lIGFzKTUuMTQgRSBGMTxhZDUwPjIuNSBFCi1GMCguKUEgRjEocGlwZWZhaWwpMTg0IDYwMCBRIEYwIDEuMDMoSWYgc2V0LCB0aGUgcmV0dXJuIHYpNy43NyBGIDEuMDI5Ci0oYWx1ZSBvZiBhIHBpcGVsaW5lIGlzIHRoZSB2KS0uMjUgRiAxLjAyOQotKGFsdWUgb2YgdGhlIGxhc3QgXChyaWdodG1vc3RcKSBjb20tKS0uMjUgRiAxLjEzNihtYW5kIHRvIGUpMjI0IDYxMiBSCi0xLjEzNgotKHhpdCB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLCBvciB6ZXJvIGlmIGFsbCBjb21tYW5kcyBpbiB0aGUgcGlwZWxpbmUpCi0tLjE1IEYgLS4xNShleCkyMjQgNjI0IFMoaXQgc3VjY2Vzc2Z1bGx5KS4xNSBFIDUoLlQpLS42NSBHCi0oaGlzIG9wdGlvbiBpcyBkaXNhYmxlZCBieSBkZWYpLTUgRShhdWx0LiktLjEgRSBGMShwb3NpeCkxODQgNjM2IFEgRjAKLTIuMDkxKENoYW5nZSB0aGUgYmVoYSkxNy43NyBGIDIuMDkxKHZpb3Igb2YpLS4yIEYgRjEoYmFzaCk0LjU5MSBFIEYwCi0yLjA5MSh3aGVyZSB0aGUgZGVmKTQuNTkxIEYgMi4wOTEoYXVsdCBvcGVyYXRpb24gZGlmKS0uMSBGIDIuMDkxCi0oZmVycyBmcm9tIHRoZSktLjI1IEYoUE9TSVggc3RhbmRhcmQgdG8gbWF0Y2ggdGhlIHN0YW5kYXJkIFwoKTIyNCA2NDggUQotRjMocG9zaXggbW9kZSlBIEYwKFwpLilBIEYxKHByaSkxODQgNjYwIFEodmlsZWdlZCktLjEgRSBGMChTYW1lIGFzKTIyNAotNjcyIFEgRjE8YWQ3MD4yLjUgRSBGMCguKUEgRjEgLS4xKHZlKTE4NCA2ODQgUyhyYm9zZSkuMSBFIEYwKFNhbWUgYXMpCi03LjMzIEUgRjE8YWQ3Nj4yLjUgRSBGMCguKUEgRjEodmkpMTg0IDY5NiBRIEYwIDEuNDY1Ci0oVXNlIGEgdmktc3R5bGUgY29tbWFuZCBsaW5lIGVkaXRpbmcgaW50ZXJmKTMyLjIyIEYgMy45NjYoYWNlLiBUaGlzKS0uMQotRiAxLjQ2NihhbHNvIGFmKTMuOTY2IEYgMS40NjYoZmVjdHMgdGhlIGVkaXRpbmcpLS4yNSBGKGludGVyZikyMjQgNzA4IFEKLShhY2UgdXNlZCBmb3IpLS4xIEUgRjEgLS4xOChyZSkyLjUgRyhhZCBcMjU1ZSkuMTggRSBGMCguKUEoR05VIEJhc2gtNC4wKQotNzIgNzY4IFEoMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFKDYwKTE5MC45NSBFIDAgQ2cgRVAKKy0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0Y8YWQ2OT4xNDQgODQgUS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRih0ZSkKKzIuNSBFKHh0KS0uMiBFIEYwKElmKTEwLjc4IEUgRjEgLS4xOChyZSkyLjcxNSBHKGFkbGluZSkuMTggRSBGMCAuMjE2CisoaXMgYmVpbmcgdXNlZCB0byByZWFkIHRoZSBsaW5lLCkyLjcxNSBGIEYyKHRlKTIuNzE2IEUoeHQpLS4yIEUgRjAgLjIxNgorKGlzIHBsYWNlZCBpbnRvIHRoZSBlZGl0aW5nIGIpMi43MTYgRih1ZiktLjIgRSAuMjE2KGZlciBiZWZvcmUgZWRpdC0pCistLjI1IEYoaW5nIGJlKTE4MCA5NiBRKGdpbnMuKS0uMTUgRSBGMTxhZDZlPjE0NCAxMDggUSBGMihuYykyLjUgRShoYXIpCistLjE1IEUocyktLjEgRSBGMSAtLjE4KHJlKTE4MCAxMjAgUyhhZCkuMTggRSBGMCAxLjM5NQorKHJldHVybnMgYWZ0ZXIgcmVhZGluZykzLjg5NSBGIEYyKG5jKTMuODk1IEUoaGFyKS0uMTUgRShzKS0uMSBFIEYwIDEuMzk1CisoY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3KTMuODk1IEYgMS4zOTQoYWl0aW5nIGZvciBhIGNvbXBsZXRlIGxpbmUgb2YpCistLjEgRihpbnB1dCwgYikxODAgMTMyIFEodXQgaG9ub3IgYSBkZWxpbWl0ZXIgaWYgZmUpLS4yIEUod2VyIHRoYW4pLS4yNQorRSBGMihuYykyLjUgRShoYXIpLS4xNSBFKHMpLS4xIEUgRjAKKyhjaGFyYWN0ZXJzIGFyZSByZWFkIGJlZm9yZSB0aGUgZGVsaW1pdGVyKTIuNSBFKC4pLS41NSBFIEYxPGFkNGU+MTQ0IDE0NAorUSBGMihuYykyLjUgRShoYXIpLS4xNSBFKHMpLS4xIEUgRjEgLS4xOChyZSkxODAgMTU2IFMoYWQpLjE4IEUgRjAgMS4yNjkKKyhyZXR1cm5zIGFmdGVyIHJlYWRpbmcgZSkzLjc2OSBGKHhhY3RseSktLjE1IEUgRjIobmMpMy43NjkgRShoYXIpLS4xNSBFCisocyktLjEgRSBGMCAxLjI2OShjaGFyYWN0ZXJzIHJhdGhlciB0aGFuIHcpMy43NjkgRiAxLjI3CisoYWl0aW5nIGZvciBhIGNvbXBsZXRlKS0uMSBGIC4yNzUKKyhsaW5lIG9mIGlucHV0LCB1bmxlc3MgRU9GIGlzIGVuY291bnRlcmVkIG9yKTE4MCAxNjggUiBGMSAtLjE4KHJlKTIuNzc1CitHKGFkKS4xOCBFIEYwIC4yNzQodGltZXMgb3V0LikyLjc3NCBGIC4yNzQoRGVsaW1pdGVyIGNoYXJhY3RlcnMgZW5jb3VuLSkKKzUuMjc0IEYgMS4wMDIKKyh0ZXJlZCBpbiB0aGUgaW5wdXQgYXJlIG5vdCB0cmVhdGVkIHNwZWNpYWxseSBhbmQgZG8gbm90IGNhdXNlKTE4MCAxODAgUgorRjEgLS4xOChyZSkzLjUwMyBHKGFkKS4xOCBFIEYwIDEuMDAzKHRvIHJldHVybiB1bnRpbCkzLjUwMyBGIEYyKG5jKTMuNTAzCitFKGhhciktLjE1IEUocyktLjEgRSBGMChjaGFyYWN0ZXJzIGFyZSByZWFkLikxODAgMTkyIFEgRjE8YWQ3MD4xNDQgMjA0IFEKK0YyKHByKTIuNSBFKG9tcHQpLS40NSBFIEYwKERpc3BsYXkpMTgwIDIxNiBRIEYyKHByKTMuNjYxIEUob21wdCktLjQ1IEUKK0YwIDEuMTYxKG9uIHN0YW5kYXJkIGVycm9yKTMuNjYxIEYgMy42NjEoLHcpLS40IEcgMS4xNjEKKyhpdGhvdXQgYSB0cmFpbGluZyBuZSktMy42NjEgRiAxLjE2MSh3bGluZSwgYmVmb3JlIGF0dGVtcHRpbmcgdG8gcmVhZCkKKy0uMjUgRihhbikxODAgMjI4IFEgMi41KHlpKS0uMTUgRyAyLjUobnB1dC4gVGhlKS0yLjUgRgorKHByb21wdCBpcyBkaXNwbGF5ZWQgb25seSBpZiBpbnB1dCBpcyBjb21pbmcgZnJvbSBhIHRlcm1pbmFsLikyLjUgRSBGMQorPGFkNzI+MTQ0IDI0MCBRIEYwIC41NDMoQmFja3NsYXNoIGRvZXMgbm90IGFjdCBhcyBhbiBlc2NhcGUgY2hhcmFjdGVyKQorMjUuODYgRiA1LjU0MyguVCktLjU1IEcgLjU0NChoZSBiYWNrc2xhc2ggaXMgY29uc2lkZXJlZCB0byBiZSBwYXJ0IG9mKQorLTUuNTQzIEYodGhlIGxpbmUuKTE4MCAyNTIgUShJbiBwYXJ0aWN1bGFyKTUgRSAyLjUoLGFiKS0uNCBHCisoYWNrc2xhc2gtbmUpLTIuNSBFKHdsaW5lIHBhaXIgbWF5IG5vdCBiZSB1c2VkIGFzIGEgbGluZSBjb250aW51YXRpb24uKQorLS4yNSBFIEYxPGFkNzM+MTQ0IDI2NCBRIEYwKFNpbGVudCBtb2RlLikyNi40MSBFCisoSWYgaW5wdXQgaXMgY29taW5nIGZyb20gYSB0ZXJtaW5hbCwgY2hhcmFjdGVycyBhcmUgbm90IGVjaG9lZC4pNSBFIEYxCis8YWQ3ND4xNDQgMjc2IFEgRjIodGltZW91dCkyLjUgRSBGMChDYXVzZSkxODAgMjg4IFEgRjEgLS4xOChyZSkzLjU0OSBHCisoYWQpLjE4IEUgRjAgMS4wNDgodG8gdGltZSBvdXQgYW5kIHJldHVybiBmKTMuNTQ5IEYgMS4wNDgKKyhhaWx1cmUgaWYgYSBjb21wbGV0ZSBsaW5lIG9mIGlucHV0IGlzIG5vdCByZWFkIHdpdGhpbiktLjEgRiBGMih0aW1lb3V0KQorMTgwIDMwMCBRIEYwKHNlY29uZHMuKTMuNDk2IEUgRjIodGltZW91dCk1Ljk5NiBFIEYwIC45OTcKKyhtYXkgYmUgYSBkZWNpbWFsIG51bWJlciB3aXRoIGEgZnJhY3Rpb25hbCBwb3J0aW9uIGZvbGxvKTMuNDk2IEYod2luZykKKy0uMjUgRSAuNTc2KHRoZSBkZWNpbWFsIHBvaW50LikxODAgMzEyIFIgLjU3NihUaGlzIG9wdGlvbiBpcyBvbmx5IGVmKQorNS41NzYgRihmZWN0aSktLjI1IEUgLjg3NiAtLjE1KHZlIGkpLS4yNSBIKGYpLjE1IEUgRjEgLS4xOChyZSkzLjA3NiBHCisoYWQpLjE4IEUgRjAgLjU3NihpcyByZWFkaW5nIGlucHV0IGZyb20gYSB0ZXJtaW5hbCwpMy4wNzYgRiAuMTQxCisocGlwZSwgb3Igb3RoZXIgc3BlY2lhbCBcMjE0bGU7IGl0IGhhcyBubyBlZikxODAgMzI0IFIgLjE0MgorKGZlY3Qgd2hlbiByZWFkaW5nIGZyb20gcmUpLS4yNSBGIC4xNDIoZ3VsYXIgXDIxNGxlcy4pLS4xNSBGKElmKTUuMTQyIEUKK0YyKHRpbWVvdXQpMi42NDIgRSBGMCAuMTQyKGlzIDAsKTIuNjQyIEYgRjEgLS4xOChyZSkxODAgMzM2IFMoYWQpLjE4IEUKK0YwIC4xMTMocmV0dXJucyBzdWNjZXNzIGlmIGlucHV0IGlzIGEpMi42MTQgRiAtLjI1KHZhKS0uMiBHIC4xMTMKKyhpbGFibGUgb24gdGhlIHNwZWNpXDIxNGVkIFwyMTRsZSBkZXNjcmlwdG9yKS4yNSBGIDIuNjEzKCxmKS0uNCBHIC4xMTMKKyhhaWx1cmUgb3RoZXJ3aXNlLiktMi43MTMgRihUaGUgZSkxODAgMzQ4IFEKKyh4aXQgc3RhdHVzIGlzIGdyZWF0ZXIgdGhhbiAxMjggaWYgdGhlIHRpbWVvdXQgaXMgZSktLjE1IEUoeGNlZWRlZC4pLS4xNQorRSBGMTxhZDc1PjE0NCAzNjAgUSBGMihmZCkyLjUgRSBGMChSZWFkIGlucHV0IGZyb20gXDIxNGxlIGRlc2NyaXB0b3IpCisxNC40NiBFIEYyKGZkKTIuNSBFIEYwKC4pQSAuMTkxKElmIG5vKTE0NCAzNzYuOCBSIEYyKG5hbWVzKTMuMDUxIEUgRjAKKy4xOTEoYXJlIHN1cHBsaWVkLCB0aGUgbGluZSByZWFkIGlzIGFzc2lnbmVkIHRvIHRoZSB2KTIuOTYxIEYoYXJpYWJsZSkKKy0uMjUgRS9GMyA5L1RpbWVzLUJvbGRAMCBTRihSRVBMKTIuNjkyIEUoWSktLjgyOCBFL0Y0IDkvVGltZXMtUm9tYW5AMCBTRgorKC4pQSBGMCAuMTkyKFRoZSByZXR1cm4gY29kZSBpcyB6ZXJvLCk0LjY5MiBGIDEuMzQ0CisodW5sZXNzIGVuZC1vZi1cMjE0bGUgaXMgZW5jb3VudGVyZWQsKTE0NCAzODguOCBSIEYxIC0uMTgocmUpMy44NDQgRyhhZCkKKy4xOCBFIEYwIDEuMzQzCisodGltZXMgb3V0IFwoaW4gd2hpY2ggY2FzZSB0aGUgcmV0dXJuIGNvZGUgaXMgZ3JlYXRlciB0aGFuKTMuODQ0IEYKKygxMjhcKSwgb3IgYW4gaW4pMTQ0IDQwMC44IFEgLS4yNSh2YSktLjQgRworKGxpZCBcMjE0bGUgZGVzY3JpcHRvciBpcyBzdXBwbGllZCBhcyB0aGUgYXIpLjI1IEUoZ3VtZW50IHRvKS0uMTggRSBGMQorPGFkNzU+Mi41IEUgRjAoLilBIEYxIC0uMTgocmUpMTA4IDQxNy42IFMoYWRvbmx5KS4xOCBFIEYwKFspMi41IEUgRjEKKyhcMjU1YUEpQShwZiktLjI1IEUgRjAgMi41KF1bKUMgRjIobmFtZSktMi41IEUgRjAoWz0pQSBGMih3b3IpQShkKS0uMzcgRQorRjAgMi41KF0uKUMoLi5dKS0yLjUgRSAuNzcoVGhlIGdpKTE0NCA0MjkuNiBSIC0uMTUodmUpLS4yNSBHKG4pLjE1IEUgRjIKKyhuYW1lcykzLjI3IEUgRjAgLjc3KGFyZSBtYXJrKTMuMjcgRiAuNzcoZWQgcmVhZG9ubHk7IHRoZSB2KS0uMSBGIC43NworKGFsdWVzIG9mIHRoZXNlKS0uMjUgRiBGMihuYW1lcykzLjYzIEUgRjAgLjc3CisobWF5IG5vdCBiZSBjaGFuZ2VkIGJ5IHN1YnNlLSkzLjU0IEYgMS4wOTcocXVlbnQgYXNzaWdubWVudC4pMTQ0IDQ0MS42IFIKKzEuMDk3KElmIHRoZSk2LjA5NyBGIEYxPGFkNjY+My41OTcgRSBGMCAxLjA5NworKG9wdGlvbiBpcyBzdXBwbGllZCwgdGhlIGZ1bmN0aW9ucyBjb3JyZXNwb25kaW5nIHRvIHRoZSkzLjU5NyBGIEYyCisobmFtZXMpMy41OTYgRSBGMCAxLjA5NihhcmUgc28pMy41OTYgRihtYXJrKTE0NCA0NTMuNiBRIDMuMzM0KGVkLiBUaGUpCistLjEgRiBGMTxhZDYxPjMuMzM0IEUgRjAgLjgzNChvcHRpb24gcmVzdHJpY3RzIHRoZSB2KTMuMzM0IEYgLjgzNAorKGFyaWFibGVzIHRvIGluZGUpLS4yNSBGIC0uMTUoeGUpLS4xNSBHIDMuMzM0KGRhKS4xNSBHIC44MzQocnJheXM7IHRoZSkKKy0zLjMzNCBGIEYxPGFkNDE+My4zMzQgRSBGMCAuODM0KG9wdGlvbiByZXN0cmljdHMgdGhlIHYpMy4zMzQgRihhcmktKQorLS4yNSBFIC41MzgoYWJsZXMgdG8gYXNzb2NpYXRpKTE0NCA0NjUuNiBSIC44MzggLS4xNSh2ZSBhKS0uMjUgSCAzLjAzOAorKHJyYXlzLiBJZikuMTUgRihubykzLjAzOCBFIEYyKG5hbWUpMy4zOTggRSBGMChhcikzLjIxOCBFIC41MzgKKyhndW1lbnRzIGFyZSBnaSktLjE4IEYgLS4xNSh2ZSktLjI1IEcgLjUzOChuLCBvciBpZiB0aGUpLjE1IEYgRjE8YWQ3MD4KKzMuMDM4IEUgRjAgLjUzNyhvcHRpb24gaXMgc3VwcGxpZWQsIGEgbGlzdCkzLjAzOCBGIC4wOAorKG9mIGFsbCByZWFkb25seSBuYW1lcyBpcyBwcmludGVkLikxNDQgNDc3LjYgUihUaGUpNS4wOCBFIEYxPGFkNzA+Mi41OCBFCitGMCAuMDgxKG9wdGlvbiBjYXVzZXMgb3V0cHV0IHRvIGJlIGRpc3BsYXllZCBpbiBhIGZvcm1hdCB0aGF0IG1heSkyLjU4IEYKKzEuMTc3KGJlIHJldXNlZCBhcyBpbnB1dC4pMTQ0IDQ4OS42IFIgMS4xNzcoSWYgYSB2KTYuMTc3IEYgMS4xNzYKKyhhcmlhYmxlIG5hbWUgaXMgZm9sbG8pLS4yNSBGIDEuMTc2KHdlZCBieSA9KS0uMjUgRiBGMih3b3IpQShkKS0uMzcgRSBGMAorMy42NzYoLHQpQyAxLjE3NihoZSB2KS0zLjY3NiBGIDEuMTc2KGFsdWUgb2YgdGhlIHYpLS4yNSBGIDEuMTc2CisoYXJpYWJsZSBpcyBzZXQgdG8pLS4yNSBGIEYyKHdvcikxNDQgNTAxLjYgUShkKS0uMzcgRSBGMCA2LjIwNSguVClDCisxLjIwNShoZSByZXR1cm4gc3RhdHVzIGlzIDAgdW5sZXNzIGFuIGluKS02LjIwNSBGIC0uMjUodmEpLS40IEcgMS4yMDYKKyhsaWQgb3B0aW9uIGlzIGVuY291bnRlcmVkLCBvbmUgb2YgdGhlKS4yNSBGIEYyKG5hbWVzKTQuMDY2IEUgRjAgMS4yMDYKKyhpcyBub3QgYSkzLjk3NiBGIC0uMjUodmEpMTQ0IDUxMy42IFMobGlkIHNoZWxsIHYpLjI1IEUKKyhhcmlhYmxlIG5hbWUsIG9yKS0uMjUgRSBGMTxhZDY2PjIuNSBFIEYwKGlzIHN1cHBsaWVkIHdpdGggYSkyLjUgRSBGMgorKG5hbWUpMi44NiBFIEYwKHRoYXQgaXMgbm90IGEgZnVuY3Rpb24uKTIuNjggRSBGMSAtLjE4KHJlKTEwOCA1MzAuNCBTCisodHVyKS4xOCBFKG4pLS4xNSBFIEYwKFspMi41IEUgRjIobilBIEYwKF0pQSAuNTg3CisoQ2F1c2VzIGEgZnVuY3Rpb24gdG8gZSkxNDQgNTQyLjQgUiAuNTg3KHhpdCB3aXRoIHRoZSByZXR1cm4gdiktLjE1IEYKKy41ODcoYWx1ZSBzcGVjaVwyMTRlZCBieSktLjI1IEYgRjIobikzLjA4NyBFIEYwIDUuNTg3KC5JKS4yNCBHKGYpLTUuNTg3CitFIEYyKG4pMy40NDcgRSBGMCAuNTg2KGlzIG9taXR0ZWQsIHRoZSByZXR1cm4gc3RhdHVzIGlzKTMuMzI3IEYgMS4zMzUKKyh0aGF0IG9mIHRoZSBsYXN0IGNvbW1hbmQgZSkxNDQgNTU0LjQgUiAtLjE1KHhlKS0uMTUgRyAxLjMzNQorKGN1dGVkIGluIHRoZSBmdW5jdGlvbiBib2R5KS4xNSBGIDYuMzM1KC5JKS0uNjUgRyAzLjgzNShmdSktNi4zMzUgRworMS4zMzUoc2VkIG91dHNpZGUgYSBmdW5jdGlvbiwgYiktMy44MzUgRiAxLjMzNSh1dCBkdXJpbmcpLS4yIEYgLS4xNShleGUpCisxNDQgNTY2LjQgUyAuNzk0KGN1dGlvbiBvZiBhIHNjcmlwdCBieSB0aGUpLjE1IEYgRjEoLikzLjI5NCBFIEYwKFwoKQorNS43OTQgRSBGMShzb3VyKUEoY2UpLS4xOCBFIEYwIDMuMjk0KFwpYylDIC43OTQKKyhvbW1hbmQsIGl0IGNhdXNlcyB0aGUgc2hlbGwgdG8gc3RvcCBlKS0zLjI5NCBGIC0uMTUoeGUpLS4xNSBHIC43OTQKKyhjdXRpbmcgdGhhdCBzY3JpcHQpLjE1IEYgLjI0NShhbmQgcmV0dXJuIGVpdGhlcikxNDQgNTc4LjQgUiBGMihuKTMuMTA1CitFIEYwIC4yNDYob3IgdGhlIGUpMi45ODUgRiAuMjQ2KHhpdCBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBlKS0uMTUgRgorLS4xNSh4ZSktLjE1IEcgLjI0NihjdXRlZCB3aXRoaW4gdGhlIHNjcmlwdCBhcyB0aGUgZSkuMTUgRiAuMjQ2CisoeGl0IHN0YS0pLS4xNSBGIC4wODIodHVzIG9mIHRoZSBzY3JpcHQuKTE0NCA1OTAuNCBSIC4wODIKKyhJZiB1c2VkIG91dHNpZGUgYSBmdW5jdGlvbiBhbmQgbm90IGR1cmluZyBlKTUuMDgyIEYgLS4xNSh4ZSktLjE1IEcgLjA4MgorKGN1dGlvbiBvZiBhIHNjcmlwdCBieSkuMTUgRiBGMSguKTIuNTgyIEUgRjAgMi41ODEoLHQpLjgzMyBHIC4wODEKKyhoZSByZXR1cm4gc3RhLSktMi41ODEgRiAyLjMwNSh0dXMgaXMgZikxNDQgNjAyLjQgUiA0LjgwNShhbHNlLiBBbiktLjEgRgorNC44MDUoeWMpLS4xNSBHIDIuMzA1KG9tbWFuZCBhc3NvY2lhdGVkIHdpdGggdGhlKS00LjgwNSBGIEYxKFJFVFVSTikKKzQuODA1IEUgRjAgMi4zMDYodHJhcCBpcyBlKTQuODA2IEYgLS4xNSh4ZSktLjE1IEcgMi4zMDYoY3V0ZWQgYmVmb3JlIGUpCisuMTUgRiAtLjE1KHhlKS0uMTUgRyhjdXRpb24pLjE1IEUocmVzdW1lcyBhZnRlciB0aGUgZnVuY3Rpb24gb3Igc2NyaXB0LikKKzE0NCA2MTQuNCBRIEYxKHNldCkxMDggNjMxLjIgUSBGMChbKTIuNSBFIEYxCisoXDI1NVwyNTVhYmVmaGttbnB0dXZ4QkNFSFBUKUEgRjAgMi41KF1bKUMgRjE8YWQ2Zj4tMi41IEUgRjIob3B0aW9uKTIuNQorRSBGMCAyLjUoXVspQyBGMihhciktMi41IEUoZyktLjM3IEUgRjAoLi4uXSkyLjUgRSBGMShzZXQpMTA4IDY0My4yIFEgRjAKKyhbKTIuNSBFIEYxKCthYmVmaGttbnB0dXZ4QkNFSFBUKUEgRjAgMi41KF1bKUMgRjEoK28pLTIuNSBFIEYyKG9wdGlvbikKKzIuNSBFIEYwIDIuNShdWylDIEYyKGFyKS0yLjUgRShnKS0uMzcgRSBGMCguLi5dKTIuNSBFIC0uNChXaSkxNDQgNjU1LjIgUworLjgzNih0aG91dCBvcHRpb25zLCB0aGUgbmFtZSBhbmQgdikuNCBGIC44MzUoYWx1ZSBvZiBlYWNoIHNoZWxsIHYpLS4yNSBGCisuODM1KGFyaWFibGUgYXJlIGRpc3BsYXllZCBpbiBhIGZvcm1hdCB0aGF0IGNhbiBiZSktLjI1IEYgLjc4NAorKHJldXNlZCBhcyBpbnB1dCBmb3Igc2V0dGluZyBvciByZXNldHRpbmcgdGhlIGN1cnJlbnRseS1zZXQgdikxNDQgNjY3LjIKK1IgMy4yODQoYXJpYWJsZXMuIFJlYWQtb25seSktLjI1IEYgLS4yNSh2YSkzLjI4NCBHIC43ODQKKyhyaWFibGVzIGNhbm5vdCBiZSkuMjUgRiAyLjk0NyhyZXNldC4gSW4pMTQ0IDY3OS4yIFIgRjIgLjQ0Nyhwb3NpeCBtb2RlKQorMi45NDcgRiBGMCAyLjk0NygsbylDIC40NDcobmx5IHNoZWxsIHYpLTIuOTQ3IEYgLjQ0NworKGFyaWFibGVzIGFyZSBsaXN0ZWQuKS0uMjUgRiAuNDQ3CisoVGhlIG91dHB1dCBpcyBzb3J0ZWQgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50KTUuNDQ3IEYgMy41MworKGxvY2FsZS4gV2hlbikxNDQgNjkxLjIgUiAxLjAzMShvcHRpb25zIGFyZSBzcGVjaVwyMTRlZCwgdGhlKTMuNTMgRgorMy41MzEoeXMpLS4xNSBHIDEuMDMxKGV0IG9yIHVuc2V0IHNoZWxsIGF0dHJpYiktMy41MzEgRiAzLjUzMSh1dGVzLiBBbikKKy0uMiBGIDMuNTMxKHlhKS0uMTUgRyAtLjE4KHJnKS0zLjUzMSBHIDEuMDMxKHVtZW50cyByZW1haW5pbmcpLjE4IEYKKzEuNjI0KGFmdGVyIG9wdGlvbiBwcm9jZXNzaW5nIGFyZSB0cmVhdGVkIGFzIHYpMTQ0IDcwMy4yIFIgMS42MjMKKyhhbHVlcyBmb3IgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBhbmQgYXJlIGFzc2lnbmVkLCBpbiktLjI1IEYob3JkZXIpCisxNDQgNzE1LjIgUSAyLjUoLHQpLS40IEcobyktMi41IEUgRjEoJDEpMi41IEUgRjAoLClBIEYxKCQyKTIuNSBFIEYwKCwpQQorRjEgMi41KC4uLiAkKTIuNSBGIEYyKG4pQSBGMCA1KC5PKUMocHRpb25zLCBpZiBzcGVjaVwyMTRlZCwgaGEpLTUgRSAuMworLS4xNSh2ZSB0KS0uMiBIKGhlIGZvbGxvKS4xNSBFKHdpbmcgbWVhbmluZ3M6KS0uMjUgRShHTlUgQmFzaC00LjEpNzIgNzY4CitRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDYwKTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDYxIDYxCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRih4dHJhY2UpMTg0IDg0IFEgRjAoU2FtZSBhcykxMy4zNSBFIEYxPGFkNzg+Ci0yLjUgRSBGMCguKUEoSWYpMTg0IDEwMiBRIEYxPGFkNmY+My4wNTMgRSBGMCAuNTUzKGlzIHN1cHBsaWVkIHdpdGggbm8pCi0zLjA1MyBGL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGKG9wdGlvblwyNTVuYW1lKTMuMDUzIEUgRjAgMy4wNTMoLHQpQwotLjU1MyhoZSB2KS0zLjA1MyBGIC41NTIoYWx1ZXMgb2YgdGhlIGN1cnJlbnQgb3B0aW9ucyBhcmUgcHJpbnRlZC4pLS4yNSBGCi0oSWYpNS41NTIgRSBGMSgrbykxODQgMTE0IFEgRjAgMS4wNzEoaXMgc3VwcGxpZWQgd2l0aCBubykzLjU3MSBGIEYyCi0ob3B0aW9uXDI1NW5hbWUpMy41NzEgRSBGMCAzLjU3MSgsYXMpQyAxLjA3MShlcmllcyBvZiktMy41NzEgRiBGMShzZXQpCi0zLjU3MiBFIEYwIDEuMDcyKGNvbW1hbmRzIHRvIHJlY3JlYXRlIHRoZSBjdXJyZW50KTMuNTcyIEYKLShvcHRpb24gc2V0dGluZ3MgaXMgZGlzcGxheWVkIG9uIHRoZSBzdGFuZGFyZCBvdXRwdXQuKTE4NCAxMjYgUSBGMTxhZDcwPgotMTQ0IDEzOCBRIEYwIC0uNDUoVHUpMjguNzQgRyAxLjA3MihybiBvbikuNDUgRiBGMihwcml2aWxlKTQuODIyIEUgLS4xCi0oZ2UpLS40IEcoZCkuMSBFIEYwIDMuNTcyKG1vZGUuIEluKTQuMzQyIEYgMS4wNzIodGhpcyBtb2RlLCB0aGUpMy41NzIgRgotL0YzIDkvVGltZXMtQm9sZEAwIFNGKCRFTlYpMy41NzIgRSBGMChhbmQpMy4zMjIgRSBGMygkQikzLjU3MiBFKEFTSF9FTlYpCi0tLjI3IEUgRjAgMS4wNzEoXDIxNGxlcyBhcmUgbm90IHByby0pMy4zMjIgRiAxLjUKLShjZXNzZWQsIHNoZWxsIGZ1bmN0aW9ucyBhcmUgbm90IGluaGVyaXRlZCBmcm9tIHRoZSBlbikxODQgMTUwIFIgMS41MDEKLSh2aXJvbm1lbnQsIGFuZCB0aGUpLS40IEYgRjMoU0hFTExPUFRTKTQuMDAxIEUvRjQgOS9UaW1lcy1Sb21hbkAwIFNGKCwpQQotRjEoQ0RQKTE4NCAxNjIgUSAtLjk1KEFUKS0uNzQgRyhIKS45NSBFIEYwIDUuNjAzKCxhKUMobmQpLTUuNjAzIEUgRjEKLShHTE9CSUdOT1JFKTUuNjAzIEUgRjAgLS4yNSh2YSk1LjYwMyBHIDMuMTAzKHJpYWJsZXMsIGlmIHRoZSkuMjUgRiA1LjYwMwotKHlhKS0uMTUgRyAzLjEwMyhwcGVhciBpbiB0aGUgZW4pLTUuNjAzIEYgMy4xMDModmlyb25tZW50LCBhcmUpLS40IEYKLTIuNjE3KGlnbm9yZWQuIElmKTE4NCAxNzQgUiAuMTE3KHRoZSBzaGVsbCBpcyBzdGFydGVkIHdpdGggdGhlIGVmKTIuNjE3Ci1GKGZlY3RpKS0uMjUgRSAuNDE4IC0uMTUodmUgdSktLjI1IEggLjExOAotKHNlciBcKGdyb3VwXCkgaWQgbm90IGVxdWFsIHRvIHRoZSByZWFsIHVzZXIpLjE1IEYgMS4wMTgKLShcKGdyb3VwXCkgaWQsIGFuZCB0aGUpMTg0IDE4NiBSIEYxPGFkNzA+My41MTggRSBGMCAxLjAxOAotKG9wdGlvbiBpcyBub3Qgc3VwcGxpZWQsIHRoZXNlIGFjdGlvbnMgYXJlIHRhaykzLjUxOCBGIDEuMDE4Ci0oZW4gYW5kIHRoZSBlZiktLjEgRihmZWN0aSktLjI1IEUgLS4xNSh2ZSktLjI1IEcgLjI4NgotKHVzZXIgaWQgaXMgc2V0IHRvIHRoZSByZWFsIHVzZXIgaWQuKTE4NCAxOTggUiAuMjg2KElmIHRoZSk1LjI4NiBGIEYxCi08YWQ3MD4yLjc4NiBFIEYwIC4yODcob3B0aW9uIGlzIHN1cHBsaWVkIGF0IHN0YXJ0dXAsIHRoZSBlZikyLjc4NiBGCi0oZmVjdGkpLS4yNSBFIC41ODcgLS4xNSh2ZSB1KS0uMjUgSChzZXIpLjE1IEUgLjEwMyhpZCBpcyBub3QgcmVzZXQuKTE4NAotMjEwIFIgLS40NShUdSk1LjEwMyBHIC4xMDIocm5pbmcgdGhpcyBvcHRpb24gb2YpLjQ1IEYgMi42MDIoZmMpLS4yNSBHCi0uMTAyKGF1c2VzIHRoZSBlZiktMi42MDIgRihmZWN0aSktLjI1IEUgLjQwMiAtLjE1KHZlIHUpLS4yNSBIIC4xMDIKLShzZXIgYW5kIGdyb3VwIGlkcyB0byBiZSBzZXQgdG8pLjE1IEYodGhlIHJlYWwgdXNlciBhbmQgZ3JvdXAgaWRzLikxODQKLTIyMiBRIEYxPGFkNzQ+MTQ0IDIzNCBRIEYwKEV4aXQgYWZ0ZXIgcmVhZGluZyBhbmQgZSkzMC45NyBFIC0uMTUoeGUpLS4xNQotRyhjdXRpbmcgb25lIGNvbW1hbmQuKS4xNSBFIEYxPGFkNzU+MTQ0IDI0NiBRIEYwIC0uMzUoVHIpMjguNzQgRyAuNDQ0Ci0oZWF0IHVuc2V0IHYpLjM1IEYgLjQ0NAotKGFyaWFibGVzIGFzIGFuIGVycm9yIHdoZW4gcGVyZm9ybWluZyBwYXJhbWV0ZXIgZSktLjI1IEYgMi45NDQKLSh4cGFuc2lvbi4gSWYpLS4xNSBGIC0uMTUoZXgpMi45NDUgRyAuNDQ1KHBhbnNpb24gaXMpLjE1IEYgLjUyCi0oYXR0ZW1wdGVkIG9uIGFuIHVuc2V0IHYpMTg0IDI1OCBSIC41MTkKLShhcmlhYmxlLCB0aGUgc2hlbGwgcHJpbnRzIGFuIGVycm9yIG1lc3NhZ2UsIGFuZCwgaWYgbm90IGludGVyYWN0aSktLjI1Ci1GIC0uMTUodmUpLS4yNSBHKCwpLjE1IEUgLS4xNShleCkxODQgMjcwIFMoaXRzIHdpdGggYSBub24temVybyBzdGF0dXMuKQotLjE1IEUgRjE8YWQ3Nj4xNDQgMjgyIFEgRjAoUHJpbnQgc2hlbGwgaW5wdXQgbGluZXMgYXMgdGhlKTI5LjMgRSAyLjUoeWEpCi0tLjE1IEcocmUgcmVhZC4pLTIuNSBFIEYxPGFkNzg+MTQ0IDI5NCBRIEYwIC4zMTUoQWZ0ZXIgZSkyOS4zIEYgLjMxNQotKHhwYW5kaW5nIGVhY2gpLS4xNSBGIEYyIC4zMTUoc2ltcGxlIGNvbW1hbmQpMi44MTUgRiBGMCgsKUEgRjEgLS4yNShmbykKLTIuODE1IEcocikuMjUgRSBGMChjb21tYW5kLCkyLjgxNSBFIEYxKGNhc2UpMi44MTUgRSBGMChjb21tYW5kLCkyLjgxNSBFCi1GMShzZWxlY3QpMi44MTUgRSBGMChjb21tYW5kLCkyLjgxNSBFIDEuMjM2KG9yIGFyaXRobWV0aWMpMTg0IDMwNiBSIEYxCi0tLjI1KGZvKTMuNzM2IEcocikuMjUgRSBGMCAxLjIzNihjb21tYW5kLCBkaXNwbGF5IHRoZSBlKTMuNzM2IEYgMS4yMzYKLSh4cGFuZGVkIHYpLS4xNSBGIDEuMjM2KGFsdWUgb2YpLS4yNSBGIEYzKFBTNCkzLjczNiBFIEY0KCwpQSBGMChmb2xsbykKLTMuNDg2IEUgMS4yMzYod2VkIGJ5IHRoZSBjb20tKS0uMjUgRihtYW5kIGFuZCBpdHMgZSkxODQgMzE4IFEKLSh4cGFuZGVkIGFyKS0uMTUgRShndW1lbnRzIG9yIGFzc29jaWF0ZWQgdyktLjE4IEUob3JkIGxpc3QuKS0uMSBFIEYxCi08YWQ0Mj4xNDQgMzMwIFEgRjAgMi41NzgoVGhlIHNoZWxsIHBlcmZvcm1zIGJyYWNlIGUpMjcuNjMgRiAyLjU3OAotKHhwYW5zaW9uIFwoc2VlKS0uMTUgRiBGMSAyLjU3OChCcmFjZSBFeHBhbnNpb24pNS4wNzggRiBGMChhYm8pNS4wNzggRQotLS4xNSh2ZSktLjE1IEcgNS4wNzkoXCkuIFRoaXMpLjE1IEYgMi41NzkoaXMgb24gYnkpNS4wNzkgRihkZWYpMTg0IDM0MiBRCi0oYXVsdC4pLS4xIEUgRjE8YWQ0Mz4xNDQgMzU0IFEgRjAgLjIxNChJZiBzZXQsKTI3LjA4IEYgRjEoYmFzaCkyLjcxNCBFCi1GMCAuMjE0KGRvZXMgbm90IG8pMi43MTQgRiAtLjE1KHZlKS0uMTUgRyAuMjE0KHJ3cml0ZSBhbiBlKS4xNSBGIC4yMTQKLSh4aXN0aW5nIFwyMTRsZSB3aXRoIHRoZSktLjE1IEYgRjEoPikyLjcxNCBFIEYwKCwpQSBGMSg+JikyLjcxNCBFIEYwCi0yLjcxMygsYSlDKG5kKS0yLjcxMyBFIEYxKDw+KTIuNzEzIEUgRjAgLjIxMyhyZWRpcmVjdGlvbiBvcGVyYS0pMi43MTMgRgotMy4wNTModG9ycy4gVGhpcykxODQgMzY2IFIgLjU1MyhtYXkgYmUgbykzLjA1MyBGIC0uMTUodmUpLS4xNSBHIC41NTMKLShycmlkZGVuIHdoZW4gY3JlYXRpbmcgb3V0cHV0IFwyMTRsZXMgYnkgdXNpbmcgdGhlIHJlZGlyZWN0aW9uIG9wZXJhLSkKLS4xNSBGKHRvcikxODQgMzc4IFEgRjEoPnwpMi41IEUgRjAoaW5zdGVhZCBvZikyLjUgRSBGMSg+KTIuNSBFIEYwKC4pQSBGMQotPGFkNDU+MTQ0IDM5MCBRIEYwIC4xMDQoSWYgc2V0LCBhbikyNy42MyBGIDIuNjA0KHl0KS0uMTUgRyAuMTA0KHJhcCBvbikKLS0yLjYwNCBGIEYxKEVSUikyLjYwNCBFIEYwIC4xMDMKLShpcyBpbmhlcml0ZWQgYnkgc2hlbGwgZnVuY3Rpb25zLCBjb21tYW5kIHN1YnN0aXR1dGlvbnMsIGFuZCBjb20tKTIuNjA0Ci1GIC44MzgobWFuZHMgZSkxODQgNDAyIFIgLS4xNSh4ZSktLjE1IEcgLjgzOChjdXRlZCBpbiBhIHN1YnNoZWxsIGVuKS4xNQotRiAzLjMzOCh2aXJvbm1lbnQuIFRoZSktLjQgRiBGMShFUlIpMy4zMzggRSBGMCAuODM5Ci0odHJhcCBpcyBub3JtYWxseSBub3QgaW5oZXJpdGVkIGluKTMuMzM5IEYoc3VjaCBjYXNlcy4pMTg0IDQxNCBRIEYxCi08YWQ0OD4xNDQgNDI2IFEgRjAoRW5hYmxlKTI2LjUyIEUgRjEoISkzLjAzMiBFIEYwIC41MzIKLShzdHlsZSBoaXN0b3J5IHN1YnN0aXR1dGlvbi4pNS41MzIgRiAuNTMxKFRoaXMgb3B0aW9uIGlzIG9uIGJ5IGRlZik1LjUzMgotRiAuNTMxKGF1bHQgd2hlbiB0aGUgc2hlbGwgaXMgaW50ZXIpLS4xIEYoLSktLjIgRShhY3RpKTE4NCA0MzggUSAtLjE1Ci0odmUpLS4yNSBHKC4pLjE1IEUgRjE8YWQ1MD4xNDQgNDUwIFEgRjAgMS4xNjQKLShJZiBzZXQsIHRoZSBzaGVsbCBkb2VzIG5vdCBmb2xsbykyOC4xOSBGIDMuNjY0KHdzKS0uMjUgRyAxLjE2NAotKHltYm9saWMgbGlua3Mgd2hlbiBlKS0zLjY2NCBGIC0uMTUoeGUpLS4xNSBHIDEuMTY1Ci0oY3V0aW5nIGNvbW1hbmRzIHN1Y2ggYXMpLjE1IEYgRjEoY2QpMy42NjUgRSBGMCAyLjgyMgotKHRoYXQgY2hhbmdlIHRoZSBjdXJyZW50IHcpMTg0IDQ2MiBSIDIuODIyKG9ya2luZyBkaXJlY3RvcnkpLS4xIEYgNy44MjIKLSguSSktLjY1IEcgNS4zMjIodHUpLTcuODIyIEcgMi44MjIoc2VzIHRoZSBwaCktNS4zMjIgRiAyLjgyMQotKHlzaWNhbCBkaXJlY3Rvcnkgc3RydWN0dXJlKS0uMDUgRiAyLjY4NShpbnN0ZWFkLiBCeSkxODQgNDc0IFIoZGVmKTIuNjg1Ci1FKGF1bHQsKS0uMSBFIEYxKGJhc2gpMi42ODYgRSBGMChmb2xsbykyLjY4NiBFIC4xODYKLSh3cyB0aGUgbG9naWNhbCBjaGFpbiBvZiBkaXJlY3RvcmllcyB3aGVuIHBlcmZvcm1pbmcgY29tLSktLjI1IEYKLShtYW5kcyB3aGljaCBjaGFuZ2UgdGhlIGN1cnJlbnQgZGlyZWN0b3J5KTE4NCA0ODYgUSguKS0uNjUgRSBGMTxhZDU0PjE0NAotNDk4IFEgRjAgLjg5KElmIHNldCwgYW4pMjcuNjMgRiAzLjM5KHl0KS0uMTUgRyAuODkocmFwcyBvbiktMy4zOSBGIEYxCi0oREVCKTMuMzkgRShVRyktLjEgRSBGMChhbmQpMy4zOSBFIEYxKFJFVFVSTikzLjM5IEUgRjAgLjg5Ci0oYXJlIGluaGVyaXRlZCBieSBzaGVsbCBmdW5jdGlvbnMsIGNvbW1hbmQpMy4zOSBGIDEuOTMyCi0oc3Vic3RpdHV0aW9ucywgYW5kIGNvbW1hbmRzIGUpMTg0IDUxMCBSIC0uMTUoeGUpLS4xNSBHIDEuOTMyCi0oY3V0ZWQgaW4gYSBzdWJzaGVsbCBlbikuMTUgRiA0LjQzMih2aXJvbm1lbnQuIFRoZSktLjQgRiBGMShERUIpNC40MzIgRQotKFVHKS0uMSBFIEYwKGFuZCk0LjQzMiBFIEYxKFJFVFVSTikxODQgNTIyIFEgRjAKLSh0cmFwcyBhcmUgbm9ybWFsbHkgbm90IGluaGVyaXRlZCBpbiBzdWNoIGNhc2VzLikyLjUgRSBGMTxhZGFkPjE0NCA1MzQgUQotRjAgLjQwMShJZiBubyBhcikyOC42IEYgLjQwMShndW1lbnRzIGZvbGxvKS0uMTggRiAyLjkwMSh3dCktLjI1IEcgLjQwMQotKGhpcyBvcHRpb24sIHRoZW4gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBhcmUgdW5zZXQuKS0yLjkwMSBGCi0oT3RoZXJ3aXNlLCk1LjQgRSh0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIGFyZSBzZXQgdG8gdGhlKTE4NCA1NDYgUSBGMgotKGFyKTIuNSBFKGcpLS4zNyBFIEYwKHMsIGUpQSAtLjE1KHZlKS0uMjUgRyAyLjUobmkpLjE1IEcgMi41KGZzKS0yLjUgRwotKG9tZSBvZiB0aGVtIGJlKS0yLjUgRShnaW4gd2l0aCBhKS0uMTUgRSBGMTxhZD4yLjUgRSBGMCguKUEgRjE8YWQ+MTQ0Ci01NTggUSBGMCAxLjk0NChTaWduYWwgdGhlIGVuZCBvZiBvcHRpb25zLCBjYXVzZSBhbGwgcmVtYWluaW5nKTM0LjMgRiBGMgotKGFyKTQuNDQ0IEUoZyktLjM3IEUgRjAgNC40NDQoc3QpQyA0LjQ0NChvYiktNC40NDQgRyA0LjQ0NShlYSktNC40NDQgRwotMS45NDUoc3NpZ25lZCB0byB0aGUgcG9zaXRpb25hbCktNC40NDUgRiAzLjQ0NihwYXJhbWV0ZXJzLiBUaGUpMTg0IDU3MCBSCi1GMTxhZDc4PjMuNDQ2IEUgRjAoYW5kKTMuNDQ2IEUgRjE8YWQ3Nj4zLjQ0NiBFIEYwIC45NDUKLShvcHRpb25zIGFyZSB0dXJuZWQgb2YpMy40NDYgRiAzLjQ0NShmLiBJZiktLjI1IEYgLjk0NSh0aGVyZSBhcmUgbm8pCi0zLjQ0NSBGIEYyKGFyKTMuNDQ1IEUoZyktLjM3IEUgRjAgLjk0NShzLCB0aGUgcG9zaXRpb25hbClCCi0ocGFyYW1ldGVycyByZW1haW4gdW5jaGFuZ2VkLikxODQgNTgyIFEgLjQyNShUaGUgb3B0aW9ucyBhcmUgb2YpMTQ0Ci01OTguOCBSIDIuOTI1KGZiKS0uMjUgRyAyLjkyNSh5ZCktMi45MjUgRyhlZiktMi45MjUgRSAuNDI1Ci0oYXVsdCB1bmxlc3Mgb3RoZXJ3aXNlIG5vdGVkLiktLjEgRiAuNDI1Ci0oVXNpbmcgKyByYXRoZXIgdGhhbiBcMjU1IGNhdXNlcyB0aGVzZSBvcHRpb25zKTUuNDI1IEYgLjE3OAotKHRvIGJlIHR1cm5lZCBvZikxNDQgNjEwLjggUiAyLjY3OChmLiBUaGUpLS4yNSBGIC4xNzgKLShvcHRpb25zIGNhbiBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzIGFyKTIuNjc4IEYgLjE3OChndW1lbnRzIHRvIGFuIGluKQotLS4xOCBGIC0uMih2byktLjQgRyAuMTc3KGNhdGlvbiBvZiB0aGUgc2hlbGwuKS4yIEYoVGhlKTUuMTc3IEUgLjA2NgotKGN1cnJlbnQgc2V0IG9mIG9wdGlvbnMgbWF5IGJlIGZvdW5kIGluKTE0NCA2MjIuOCBSIEYxPDI0YWQ+Mi41NjYgRSBGMAotNS4wNjYoLlQpQyAuMDY2KGhlIHJldHVybiBzdGF0dXMgaXMgYWwpLTUuMDY2IEYgLS4xKHdhKS0uMSBHIC4wNjYKLSh5cyB0cnVlIHVubGVzcyBhbiBpbikuMSBGIC0uMjUodmEpLS40IEcgLjA2NyhsaWQgb3B0aW9uKS4yNSBGCi0oaXMgZW5jb3VudGVyZWQuKTE0NCA2MzQuOCBRIEYxKHNoaWZ0KTEwOCA2NTEuNiBRIEYwKFspMi41IEUgRjIobilBIEYwCi0oXSlBIC40MjkoVGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBmcm9tKTE0NCA2NjMuNiBSIEYyKG4pMi45MjkgRSBGMAotLjQyOSgrMSAuLi4gYXJlIHJlbmFtZWQgdG8pQiBGMSAuNDI5KCQxIC4uLi4pMi45MjkgRiBGMCAtLjE1KFBhKTUuNDI4IEcKLS40MjgocmFtZXRlcnMgcmVwcmVzZW50ZWQgYnkgdGhlIG51bS0pLjE1IEYoYmVycykxNDQgNjc1LjYgUSBGMSgkIykyLjU4MgotRSBGMChkbykyLjU4MiBFIC4wODIod24gdG8pLS4yNSBGIEYxKCQjKTIuNTgyIEUgRjA8YWQ+QSBGMihuKUEgRjAgLjA4MgotKCsxIGFyZSB1bnNldC4pQiBGMihuKTUuNDQyIEUgRjAgLjA4MihtdXN0IGJlIGEgbm9uLW5lKTIuODIyIEYgLS4wNShnYSkKLS0uMTUgRyh0aSkuMDUgRSAuMzgzIC0uMTUodmUgbiktLjI1IEggLjA4Myh1bWJlciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8pCi0uMTUgRiBGMSgkIykyLjU4MyBFIEYwIDUuMDgzKC5JKUMoZiktNS4wODMgRSBGMihuKTIuOTQzIEUgRjAgLjA2Ci0oaXMgMCwgbm8gcGFyYW1ldGVycyBhcmUgY2hhbmdlZC4pMTQ0IDY4Ny42IFIoSWYpNS4wNiBFIEYyKG4pMi45MiBFIEYwCi0uMDYoaXMgbm90IGdpKTIuOCBGIC0uMTUodmUpLS4yNSBHIC4wNihuLCBpdCBpcyBhc3N1bWVkIHRvIGJlIDEuKS4xNSBGCi0oSWYpNS4wNiBFIEYyKG4pMi45MiBFIEYwIC4wNihpcyBncmVhdGVyIHRoYW4pMi44IEYgRjEoJCMpMi41NiBFIEYwIDIuNTYKLSgsdClDKGhlKS0yLjU2IEUgLjE0Myhwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYXJlIG5vdCBjaGFuZ2VkLikxNDQgNjk5LjYgUgotLjE0NChUaGUgcmV0dXJuIHN0YXR1cyBpcyBncmVhdGVyIHRoYW4gemVybyBpZik1LjE0MyBGIEYyKG4pMy4wMDQgRSBGMAotLjE0NChpcyBncmVhdGVyIHRoYW4pMi44ODQgRiBGMSgkIykyLjY0NCBFIEYwCi0ob3IgbGVzcyB0aGFuIHplcm87IG90aGVyd2lzZSAwLikxNDQgNzExLjYgUShHTlUgQmFzaC00LjApNzIgNzY4IFEKLSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUoNjEpMTkwLjk1IEUgMCBDZyBFUAorLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRjxhZDYxPjE0NCA4NCBRIEYwIC41MzkoQXV0b21hdGljYWxseSBtYXJrIHYpCisyOS4zIEYgLjUzOQorKGFyaWFibGVzIGFuZCBmdW5jdGlvbnMgd2hpY2ggYXJlIG1vZGlcMjE0ZWQgb3IgY3JlYXRlZCBmb3IgZSktLjI1IEYgLjU0CisoeHBvcnQgdG8pLS4xNSBGKHRoZSBlbikxODQgOTYgUSh2aXJvbm1lbnQgb2Ygc3Vic2VxdWVudCBjb21tYW5kcy4pLS40IEUKK0YxPGFkNjI+MTQ0IDEwOCBRIEYwIC4xMzIKKyhSZXBvcnQgdGhlIHN0YXR1cyBvZiB0ZXJtaW5hdGVkIGJhY2tncm91bmQgam9icyBpbW1lZGlhdGVseSkyOC43NCBGCisyLjYzMigsciktLjY1IEcgLjEzMShhdGhlciB0aGFuIGJlZm9yZSB0aGUgbmUpLTIuNjMyIEYoeHQpLS4xNSBFCisocHJpbWFyeSBwcm9tcHQuKTE4NCAxMjAgUShUaGlzIGlzIGVmKTUgRShmZWN0aSktLjI1IEUgLjMgLS4xNSh2ZSBvKS0uMjUKK0gobmx5IHdoZW4gam9iIGNvbnRyb2wgaXMgZW5hYmxlZC4pLjE1IEUgRjE8YWQ2NT4xNDQgMTMyIFEgRjAgLjUxCisoRXhpdCBpbW1lZGlhdGVseSBpZiBhKTI5Ljg2IEYvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YocGlwZWxpbmUpMy4wMSBFCitGMCAuNTExKFwod2hpY2ggbWF5IGNvbnNpc3Qgb2YgYSBzaW5nbGUpMy4wMTEgRiBGMiAuNTExKHNpbXBsZSBjb21tYW5kKQorMy4wMTEgRiBGMCAzLjAxMShcKSwgYSlCIEYyKHN1Yi0pMy4wMTEgRShzaGVsbCkxODQgMTQ0IFEgRjAgLjg3MgorKGNvbW1hbmQgZW5jbG9zZWQgaW4gcGFyZW50aGVzZXMsIG9yIG9uZSBvZiB0aGUgY29tbWFuZHMgZSkzLjM3MyBGIC0uMTUKKyh4ZSktLjE1IEcgLjg3MihjdXRlZCBhcyBwYXJ0IG9mIGEpLjE1IEYgLjM5OQorKGNvbW1hbmQgbGlzdCBlbmNsb3NlZCBieSBicmFjZXMgXChzZWUpMTg0IDE1NiBSL0YzIDkvVGltZXMtQm9sZEAwIFNGCisuMzk5KFNIRUxMIEdSQU1NQVIpMi44OTkgRiBGMChhYm8pMi42NDkgRSAtLjE1KHZlKS0uMTUgRyAyLjg5OShcKWUpLjE1IEcKKy4zOTkoeGl0cyB3aXRoIGEgbm9uLXplcm8pLTMuMDQ5IEYgMy45Njkoc3RhdHVzLiBUaGUpMTg0IDE2OCBSIDEuNDY4Cisoc2hlbGwgZG9lcyBub3QgZSkzLjk2OSBGIDEuNDY4KHhpdCBpZiB0aGUgY29tbWFuZCB0aGF0IGYpLS4xNSBGIDEuNDY4CisoYWlscyBpcyBwYXJ0IG9mIHRoZSBjb21tYW5kIGxpc3QpLS4xIEYgLjU2OShpbW1lZGlhdGVseSBmb2xsbykxODQgMTgwIFIKKy41Njkod2luZyBhKS0uMjUgRiBGMSh3aGlsZSkzLjA2OSBFIEYwKG9yKTMuMDY5IEUgRjEodW50aWwpMy4wNjkgRSBGMAorLS4xKGtlKTMuMDY5IEcoeXcpLS4wNSBFIC41Njkob3JkLCBwYXJ0IG9mIHRoZSB0ZXN0IGZvbGxvKS0uMSBGIC41NworKHdpbmcgdGhlKS0uMjUgRiBGMShpZikzLjA3IEUgRjAob3IpMy4wNyBFIEYxKGVsaWYpMy4wNyBFIEYwKHJlc2VydikxODQKKzE5MiBRIC41NDQoZWQgdyktLjE1IEYgLjU0NChvcmRzLCBwYXJ0IG9mIGFuKS0uMSBGIDMuMDQ0KHljKS0uMTUgRyAuNTQ0Cisob21tYW5kIGUpLTMuMDQ0IEYgLS4xNSh4ZSktLjE1IEcgLjU0NChjdXRlZCBpbiBhKS4xNSBGIEYxKCYmKTMuMDQ0IEUgRjAKKyhvcikzLjA0NCBFL0Y0IDEwL1N5bWJvbCBTRjxlZmVmPjMuMDQ0IEUgRjAgLjU0NChsaXN0IGUpMy4wNDQgRiAuNTQ0CisoeGNlcHQgdGhlIGNvbW1hbmQpLS4xNSBGKGZvbGxvKTE4NCAyMDQgUSAxLjIzKHdpbmcgdGhlIFwyMTRuYWwpLS4yNSBGCitGMSgmJikzLjczIEUgRjAob3IpMy43MyBFIEY0PGVmZWY+My43MyBFIEYwIDMuNzMoLGEpQyAxLjUzIC0uMTUobnkgYykKKy0zLjczIEggMS4yMzEob21tYW5kIGluIGEgcGlwZWxpbmUgYikuMTUgRiAxLjIzMQorKHV0IHRoZSBsYXN0LCBvciBpZiB0aGUgY29tLSktLjIgRihtYW5kJykxODQgMjE2IFEgMy4xOTEoc3IpLS41NSBHIC42OTEKKyhldHVybiB2KS0zLjE5MSBGIC42OTEoYWx1ZSBpcyBiZWluZyBpbiktLjI1IEYgLS4xNSh2ZSktLjQgRyAuNjkxCisocnRlZCB3aXRoKS4xNSBGIEYxKCEpMy4xOTEgRSBGMCA1LjY5MSguQSlDIC42OTEodHJhcCBvbiktMi41IEYgRjEoRVJSKQorMy4xOSBFIEYwIDMuMTkoLGkpQyAzLjE5KGZzKS0zLjE5IEcgLjY5KGV0LCBpcyBlKS0zLjE5IEYgLS4xNSh4ZSktLjE1IEcKKy42OShjdXRlZCBiZWZvcmUpLjE1IEYgLjY4Nih0aGUgc2hlbGwgZSkxODQgMjI4IFIgMy4xODYoeGl0cy4gVGhpcyktLjE1CitGIC42ODYob3B0aW9uIGFwcGxpZXMgdG8gdGhlIHNoZWxsIGVuKTMuMTg2IEYgLjY4NgorKHZpcm9ubWVudCBhbmQgZWFjaCBzdWJzaGVsbCBlbiktLjQgRih2aXJvbi0pLS40IEUgLjA2OAorKG1lbnQgc2VwYXJhdGVseSBcKHNlZSkxODQgMjQwIFIgRjMgLjA2OChDT01NQU5EIEVYRUNVVElPTiBFTlZJUikyLjU2OCBGCisoT05NRU5UKS0uMjcgRSBGMChhYm8pMi4zMTggRSAtLjE1KHZlKS0uMTUgRyAuMDY4KFwpLCBhbmQgbWF5IGNhdXNlKS4xNQorRihzdWJzaGVsbHMgdG8gZSkxODQgMjUyIFEoeGl0IGJlZm9yZSBlKS0uMTUgRSAtLjE1KHhlKS0uMTUgRworKGN1dGluZyBhbGwgdGhlIGNvbW1hbmRzIGluIHRoZSBzdWJzaGVsbC4pLjE1IEUgRjE8YWQ2Nj4xNDQgMjY0IFEgRjAKKyhEaXNhYmxlIHBhdGhuYW1lIGUpMzAuOTcgRSh4cGFuc2lvbi4pLS4xNSBFIEYxPGFkNjg+MTQ0IDI3NiBRIEYwIDIuMjM4CisoUmVtZW1iZXIgdGhlIGxvY2F0aW9uIG9mIGNvbW1hbmRzIGFzIHRoZSkyOC43NCBGIDQuNzM4KHlhKS0uMTUgRyAyLjIzOQorKHJlIGxvb2spLTQuNzM4IEYgMi4yMzkoZWQgdXAgZm9yIGUpLS4xIEYgLS4xNSh4ZSktLjE1IEcgNC43MzkKKyhjdXRpb24uIFRoaXMpLjE1IEYoaXMpNC43MzkgRShlbmFibGVkIGJ5IGRlZikxODQgMjg4IFEoYXVsdC4pLS4xIEUgRjEKKzxhZDZiPjE0NCAzMDAgUSBGMCAuNTE0KEFsbCBhcikyOC43NCBGIC41MTQKKyhndW1lbnRzIGluIHRoZSBmb3JtIG9mIGFzc2lnbm1lbnQgc3RhdGVtZW50cyBhcmUgcGxhY2VkIGluIHRoZSBlbiktLjE4CitGIC41MTModmlyb25tZW50IGZvciBhKS0uNCBGCisoY29tbWFuZCwgbm90IGp1c3QgdGhvc2UgdGhhdCBwcmVjZWRlIHRoZSBjb21tYW5kIG5hbWUuKTE4NCAzMTIgUSBGMQorPGFkNmQ+MTQ0IDMyNCBRIEYwIC4xNDgoTW9uaXRvciBtb2RlLikyNS45NyBGIC4xNDgKKyhKb2IgY29udHJvbCBpcyBlbmFibGVkLik1LjE0OCBGIC4xNDkoVGhpcyBvcHRpb24gaXMgb24gYnkgZGVmKTUuMTQ4IEYKKy4xNDkoYXVsdCBmb3IgaW50ZXJhY3RpKS0uMSBGIC40NDkgLS4xNSh2ZSBzKS0uMjUgSChoZWxscykuMTUgRSAuNjM3Cisob24gc3lzdGVtcyB0aGF0IHN1cHBvcnQgaXQgXChzZWUpMTg0IDMzNiBSIEYzIC42MzYoSk9CIENPTlRSKTMuMTM2IEYKKyhPTCktLjI3IEUgRjAoYWJvKTIuODg2IEUgLS4xNSh2ZSktLjE1IEcgMy4xMzYoXCkuIEJhY2tncm91bmQpLjE1IEYgLjYzNgorKHByb2Nlc3NlcyBydW4gaW4gYSkzLjEzNiBGIC42NDEKKyhzZXBhcmF0ZSBwcm9jZXNzIGdyb3VwIGFuZCBhIGxpbmUgY29udGFpbmluZyB0aGVpciBlKTE4NCAzNDggUiAuNjQyCisoeGl0IHN0YXR1cyBpcyBwcmludGVkIHVwb24gdGhlaXIgY29tLSktLjE1IEYocGxldGlvbi4pMTg0IDM2MCBRIEYxCis8YWQ2ZT4xNDQgMzcyIFEgRjAgLjY1MyhSZWFkIGNvbW1hbmRzIGIpMjguNzQgRiAuNjUzKHV0IGRvIG5vdCBlKS0uMiBGCistLjE1KHhlKS0uMTUgRyAuNjUzKGN1dGUgdGhlbS4pLjE1IEYgLjY1MgorKFRoaXMgbWF5IGJlIHVzZWQgdG8gY2hlY2sgYSBzaGVsbCBzY3JpcHQgZm9yKTUuNjUzIEYoc3ludGF4IGVycm9ycy4pMTg0CiszODQgUShUaGlzIGlzIGlnbm9yZWQgYnkgaW50ZXJhY3RpKTUgRSAuMyAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzLikuMTUgRQorRjE8YWQ2Zj4xNDQgMzk2IFEgRjIob3B0aW9uXDI1NW5hbWUpMi41IEUgRjAoVGhlKTE4NCA0MDggUSBGMgorKG9wdGlvblwyNTVuYW1lKTIuNSBFIEYwKGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvKTIuNSBFKHdpbmc6KS0uMjUgRSBGMQorKGFsbGV4cG9ydCkxODQgNDIwIFEgRjAoU2FtZSBhcykyMjQgNDMyIFEgRjE8YWQ2MT4yLjUgRSBGMCguKUEgRjEKKyhicmFjZWV4cGFuZCkxODQgNDQ0IFEgRjAoU2FtZSBhcykyMjQgNDU2IFEgRjE8YWQ0Mj4yLjUgRSBGMCguKUEgRjEKKyhlbWFjcykxODQgNDY4IFEgRjAgLjA4OShVc2UgYW4gZW1hY3Mtc3R5bGUgY29tbWFuZCBsaW5lIGVkaXRpbmcgaW50ZXJmKQorMTMuOSBGIDIuNTg5KGFjZS4gVGhpcyktLjEgRiAuMDg5KGlzIGVuYWJsZWQgYnkgZGVmKTIuNTg5IEYoYXVsdCktLjEgRQorLjk1KHdoZW4gdGhlIHNoZWxsIGlzIGludGVyYWN0aSkyMjQgNDgwIFIgLS4xNSh2ZSktLjI1IEcgMy40NSgsdSkuMTUgRworLjk1KG5sZXNzIHRoZSBzaGVsbCBpcyBzdGFydGVkIHdpdGggdGhlKS0zLjQ1IEYgRjEoXDI1NVwyNTVub2VkaXRpbmcpCiszLjQ1IEUgRjAgMi41KG9wdGlvbi4gVGhpcykyMjQgNDkyIFIoYWxzbyBhZikyLjUgRQorKGZlY3RzIHRoZSBlZGl0aW5nIGludGVyZiktLjI1IEUoYWNlIHVzZWQgZm9yKS0uMSBFIEYxIC0uMTgocmUpMi41IEcKKyhhZCBcMjU1ZSkuMTggRSBGMCguKUEgRjEoZXJyKTE4NCA1MDQgUShleGl0KS0uMTggRSBGMChTYW1lIGFzKTExLjMxIEUKK0YxPGFkNjU+Mi41IEUgRjAoLilBIEYxKGVycnRyYWNlKTE4NCA1MTYgUSBGMChTYW1lIGFzKTUuMDMgRSBGMTxhZDQ1PjIuNQorRSBGMCguKUEgRjEoZnVuY3RyYWNlKTE4NCA1MjggUSBGMChTYW1lIGFzKTIyNCA1NDAgUSBGMTxhZDU0PjIuNSBFIEYwKC4pCitBIEYxKGhhc2hhbGwpMTg0IDU1MiBRIEYwKFNhbWUgYXMpOS40MyBFIEYxPGFkNjg+Mi41IEUgRjAoLilBIEYxCisoaGlzdGV4cGFuZCkxODQgNTY0IFEgRjAoU2FtZSBhcykyMjQgNTc2IFEgRjE8YWQ0OD4yLjUgRSBGMCguKUEgRjEKKyhoaXN0b3J5KTE4NCA1ODggUSBGMCAuNTg2KEVuYWJsZSBjb21tYW5kIGhpc3RvcnkpMTAgRiAzLjA4NygsYSktLjY1IEcKKzMuMDg3KHNkKS0zLjA4NyBHIC41ODcoZXNjcmliZWQgYWJvKS0zLjA4NyBGIC44ODcgLS4xNSh2ZSB1KS0uMTUgSChuZGVyKQorLjE1IEUgRjMoSElTVCkzLjA4NyBFKE9SKS0uMTYyIEUoWSktLjMxNSBFL0Y1IDkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAKKy41ODcoVGhpcyBvcHRpb24gaXMpNS4wODcgRihvbiBieSBkZWYpMjI0IDYwMCBRKGF1bHQgaW4gaW50ZXJhY3RpKS0uMSBFCisuMyAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzLikuMTUgRSBGMShpZ25vcikxODQgNjEyIFEoZWVvZiktLjE4IEUgRjAgMS42NTcKKyhUaGUgZWYpMjI0IDYyNCBSIDEuNjU3KGZlY3QgaXMgYXMgaWYgdGhlIHNoZWxsIGNvbW1hbmQpLS4yNSBGL0Y2IDEwCisvQ291cmllckAwIFNGKElHTk9SRUVPRj0xMCk0LjE1NiBFIEYwIDEuNjU2KGhhZCBiZWVuIGUpNC4xNTYgRiAtLjE1KHhlKQorLS4xNSBHKGN1dGVkKS4xNSBFKFwoc2VlKTIyNCA2MzYgUSBGMShTaGVsbCBWKTIuNSBFKGFyaWFibGVzKS0uOTIgRSBGMAorKGFibykyLjUgRSAtLjE1KHZlKS0uMTUgRyhcKS4pLjE1IEUgRjEgLS4xKGtlKTE4NCA2NDggUyh5dykuMSBFKG9yZCktLjEKK0UgRjAoU2FtZSBhcykyMjQgNjYwIFEgRjE8YWQ2Yj4yLjUgRSBGMCguKUEgRjEobW9uaXRvcikxODQgNjcyIFEgRjAKKyhTYW1lIGFzKTUuNTYgRSBGMTxhZDZkPjIuNSBFIEYwKC4pQSBGMShub2Nsb2IpMTg0IDY4NCBRKGJlciktLjEgRSBGMAorKFNhbWUgYXMpMjI0IDY5NiBRIEYxPGFkNDM+Mi41IEUgRjAoLilBIEYxKG5vZXhlYykxODQgNzA4IFEgRjAoU2FtZSBhcykKKzExLjEyIEUgRjE8YWQ2ZT4yLjUgRSBGMCguKUEoR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpCisxMzUuOTY1IEUoNjEpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNjIgNjIKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKHNob3B0KTEwOCA4NCBRIEYwKFspMi41IEUgRjEoXDI1NXBxc3UpQSBGMAotMi41KF1bKUMgRjE8YWQ2Zj4tMi41IEUgRjAgMi41KF1bKUMvRjIgMTAvVGltZXMtSXRhbGljQDAgU0Yob3B0bmFtZSktMi41Ci1FIEYwKC4uLl0pMi41IEUgLS44KFRvKTE0NCA5NiBTIC4yMjIoZ2dsZSB0aGUgdikuOCBGIC4yMjIoYWx1ZXMgb2YgdikKLS0uMjUgRiAuMjIyKGFyaWFibGVzIGNvbnRyb2xsaW5nIG9wdGlvbmFsIHNoZWxsIGJlaGEpLS4yNSBGKHZpb3IpLS4yIEUKLTUuMjIyKC5XKS0uNTUgRyAuMjIyKGl0aCBubyBvcHRpb25zLCBvciB3aXRoIHRoZSktNS42MjIgRiBGMTxhZDcwPjIuNzIyCi1FIEYwIC43MjEob3B0aW9uLCBhIGxpc3Qgb2YgYWxsIHNldHRhYmxlIG9wdGlvbnMgaXMgZGlzcGxheWVkLCB3aXRoIGFuIFwKLWluZGljYXRpb24gb2Ygd2hldGhlciBvciBub3QgZWFjaCBpcyBzZXQuKTE0NCAxMDggUihUaGUpMTQ0IDEyMCBRIEYxCi08YWQ3MD4yLjgyOCBFIEYwIC4zMjcob3B0aW9uIGNhdXNlcyBvdXRwdXQgdG8gYmUgZGlzcGxheWVkIGluIGEgZm9ybSB0aFwKLWF0IG1heSBiZSByZXVzZWQgYXMgaW5wdXQuKTIuODI4IEYgLjMyNyhPdGhlciBvcHRpb25zKTUuMzI3IEYoaGEpMTQ0IDEzMgotUSAuMyAtLjE1KHZlIHQpLS4yIEgoaGUgZm9sbG8pLjE1IEUod2luZyBtZWFuaW5nczopLS4yNSBFIEYxPGFkNzM+MTQ0Ci0xNDQgUSBGMChFbmFibGUgXChzZXRcKSBlYWNoKTI2LjQxIEUgRjIob3B0bmFtZSkyLjUgRSBGMCguKUEgRjE8YWQ3NT4xNDQKLTE1NiBRIEYwKERpc2FibGUgXCh1bnNldFwpIGVhY2gpMjQuNzQgRSBGMihvcHRuYW1lKTIuNSBFIEYwKC4pQSBGMTxhZDcxPgotMTQ0IDE2OCBRIEYwIC4wMDMoU3VwcHJlc3NlcyBub3JtYWwgb3V0cHV0IFwocXVpZXQgbW9kZVwpOyB0aGUgcmV0dXJuIHNcCi10YXR1cyBpbmRpY2F0ZXMgd2hldGhlciB0aGUpMjQuNzQgRiBGMihvcHRuYW1lKTIuNTA0IEUgRjAoaXMpMi41MDQgRQotLjI1NihzZXQgb3IgdW5zZXQuKTE4MCAxODAgUiAuMjU2KElmIG11bHRpcGxlKTUuMjU2IEYgRjIob3B0bmFtZSkyLjc1NiBFCi1GMChhcikyLjc1NiBFIC4yNTYoZ3VtZW50cyBhcmUgZ2kpLS4xOCBGIC0uMTUodmUpLS4yNSBHIDIuNzU2KG53KS4xNSBHCi0oaXRoKS0yLjc1NiBFIEYxPGFkNzE+Mi43NTYgRSBGMCAyLjc1NSgsdClDIC4yNTUKLShoZSByZXR1cm4gc3RhdHVzIGlzIHplcm8gaWYpLTIuNzU1IEYoYWxsKTE4MCAxOTIgUSBGMihvcHRuYW1lcykyLjUgRSBGMAotKGFyZSBlbmFibGVkOyBub24temVybyBvdGhlcndpc2UuKTIuNSBFIEYxPGFkNmY+MTQ0IDIwNCBRIEYwCi0oUmVzdHJpY3RzIHRoZSB2KTI1LjMgRShhbHVlcyBvZiktLjI1IEUgRjIob3B0bmFtZSkyLjUgRSBGMAotKHRvIGJlIHRob3NlIGRlXDIxNG5lZCBmb3IgdGhlKTIuNSBFIEYxPGFkNmY+Mi41IEUgRjAob3B0aW9uIHRvIHRoZSkyLjUKLUUgRjEoc2V0KTIuNSBFIEYwIC0uMihidSkyLjUgRyhpbHRpbi4pLjIgRSAuMTI3KElmIGVpdGhlcikxNDQgMjIwLjggUiBGMQotPGFkNzM+Mi42MjcgRSBGMChvcikyLjYyNyBFIEYxPGFkNzU+Mi42MjcgRSBGMCAuMTI3KGlzIHVzZWQgd2l0aCBubykKLTIuNjI3IEYgRjIob3B0bmFtZSkyLjYyNyBFIEYwKGFyKTIuNjI3IEUgLjEyNwotKGd1bWVudHMsIHRoZSBkaXNwbGF5IGlzIGxpbWl0ZWQgdG8gdGhvc2Ugb3B0aW9ucyB3aGljaCktLjE4IEYgMS4wMjQKLShhcmUgc2V0IG9yIHVuc2V0LCByZXNwZWN0aSkxNDQgMjMyLjggUiAtLjE1KHZlKS0uMjUgRyhseSkuMTUgRSA2LjAyNAotKC5VKS0uNjUgRyAxLjAyNChubGVzcyBvdGhlcndpc2Ugbm90ZWQsIHRoZSktNi4wMjQgRiBGMShzaG9wdCkzLjUyMyBFIEYwCi0xLjAyMyhvcHRpb25zIGFyZSBkaXNhYmxlZCBcKHVuc2V0XCkgYnkpMy41MjMgRihkZWYpMTQ0IDI0NC44IFEoYXVsdC4pCi0tLjEgRSAxLjU0NChUaGUgcmV0dXJuIHN0YXR1cyB3aGVuIGxpc3Rpbmcgb3B0aW9ucyBpcyB6ZXJvIGlmIGFsbCkxNDQKLTI2MS42IFIgRjIob3B0bmFtZXMpNC4wNDQgRSBGMCAxLjU0NShhcmUgZW5hYmxlZCwgbm9uLXplcm8gb3RoZXJ3aXNlLikKLTQuMDQ1IEYgLjY5NgotKFdoZW4gc2V0dGluZyBvciB1bnNldHRpbmcgb3B0aW9ucywgdGhlIHJldHVybiBzdGF0dXMgaXMgemVybyB1bmxlc3MgYW4pCi0xNDQgMjczLjYgUiBGMihvcHRuYW1lKTMuMTk2IEUgRjAgLjY5NihpcyBub3QgYSB2KTMuMTk2IEYgLjY5NQotKGFsaWQgc2hlbGwpLS4yNSBGKG9wdGlvbi4pMTQ0IDI4NS42IFEoVGhlIGxpc3Qgb2YpMTQ0IDMwMi40IFEgRjEoc2hvcHQpCi0yLjUgRSBGMChvcHRpb25zIGlzOikyLjUgRSBGMShhdXRvY2QpMTQ0IDMyMC40IFEgRjAgLjE5OQotKElmIHNldCwgYSBjb21tYW5kIG5hbWUgdGhhdCBpcyB0aGUgbmFtZSBvZiBhIGRpcmVjdG9yeSBpcyBlKTExLjExIEYKLS0uMTUoeGUpLS4xNSBHIC4yKGN1dGVkIGFzIGlmIGl0IHdlcmUgdGhlIGFyKS4xNSBGKGd1LSktLjE4IEUKLShtZW50IHRvIHRoZSkxODQgMzMyLjQgUSBGMShjZCkyLjUgRSBGMCAyLjUoY29tbWFuZC4gVGhpcykyLjUgRgotKG9wdGlvbiBpcyBvbmx5IHVzZWQgYnkgaW50ZXJhY3RpKTIuNSBFIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbHMuKS4xNSBFCi1GMShjZGFibGVfdikxNDQgMzQ0LjQgUShhcnMpLS4xIEUgRjAgLjE1NihJZiBzZXQsIGFuIGFyKTE4NCAzNTYuNCBSIC4xNTYKLShndW1lbnQgdG8gdGhlKS0uMTggRiBGMShjZCkyLjY1NiBFIEYwIC0uMihidSkyLjY1NiBHIC4xNTUKLShpbHRpbiBjb21tYW5kIHRoYXQgaXMgbm90IGEgZGlyZWN0b3J5IGlzIGFzc3VtZWQgdG8gYmUgdGhlKS4yIEYKLShuYW1lIG9mIGEgdikxODQgMzY4LjQgUShhcmlhYmxlIHdob3NlIHYpLS4yNSBFCi0oYWx1ZSBpcyB0aGUgZGlyZWN0b3J5IHRvIGNoYW5nZSB0by4pLS4yNSBFIEYxKGNkc3BlbGwpMTQ0IDM4MC40IFEgRjAKLTEuMDU1Ci0oSWYgc2V0LCBtaW5vciBlcnJvcnMgaW4gdGhlIHNwZWxsaW5nIG9mIGEgZGlyZWN0b3J5IGNvbXBvbmVudCBpbiBhKQotMTAuNTUgRiBGMShjZCkzLjU1NSBFIEYwIDEuMDU1KGNvbW1hbmQgd2lsbCBiZSkzLjU1NSBGIDMuOTg4Ci0oY29ycmVjdGVkLiBUaGUpMTg0IDM5Mi40IFIgMS40ODgoZXJyb3JzIGNoZWNrKTMuOTg4IEYgMS40ODcKLShlZCBmb3IgYXJlIHRyYW5zcG9zZWQgY2hhcmFjdGVycywgYSBtaXNzaW5nIGNoYXJhY3RlciktLjEgRiAzLjk4NygsYSkKLS0uNCBHKG5kKS0zLjk4NyBFIC41NTIob25lIGNoYXJhY3RlciB0b28gbWFuKTE4NCA0MDQuNCBSIDQuMzUyIC0uNjUKLSh5LiBJKS0uMTUgSCAzLjA1MihmYWMpLjY1IEcgLjU1MgotKG9ycmVjdGlvbiBpcyBmb3VuZCwgdGhlIGNvcnJlY3RlZCBcMjE0bGUgbmFtZSBpcyBwcmludGVkLCBhbmQpLTMuMDUyIEYKLSh0aGUgY29tbWFuZCBwcm9jZWVkcy4pMTg0IDQxNi40IFEKLShUaGlzIG9wdGlvbiBpcyBvbmx5IHVzZWQgYnkgaW50ZXJhY3RpKTUgRSAuMyAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzLikKLS4xNSBFIEYxKGNoZWNraGFzaCkxNDQgNDI4LjQgUSBGMCAyLjA4KElmIHNldCwpMTg0IDQ0MC40IFIgRjEoYmFzaCk0LjU4Ci1FIEYwIDIuMDc5KGNoZWNrcyB0aGF0IGEgY29tbWFuZCBmb3VuZCBpbiB0aGUgaGFzaCB0YWJsZSBlKTQuNTggRiAyLjA3OQotKHhpc3RzIGJlZm9yZSB0cnlpbmcgdG8pLS4xNSBGIC0uMTUoZXhlKTE4NCA0NTIuNCBTKGN1dGUgaXQuKS4xNSBFCi0oSWYgYSBoYXNoZWQgY29tbWFuZCBubyBsb25nZXIgZSk1IEUKLSh4aXN0cywgYSBub3JtYWwgcGF0aCBzZWFyY2ggaXMgcGVyZm9ybWVkLiktLjE1IEUgRjEoY2hlY2tqb2JzKTE0NCA0NjQuNAotUSBGMCAuNDQ4KElmIHNldCwpMTg0IDQ3Ni40IFIgRjEoYmFzaCkyLjk0OCBFIEYwIC40NDgKLShsaXN0cyB0aGUgc3RhdHVzIG9mIGFuKTIuOTQ4IEYgMi45NDkoeXMpLS4xNSBHIC40NDkKLSh0b3BwZWQgYW5kIHJ1bm5pbmcgam9icyBiZWZvcmUgZSktMi45NDkgRiAuNDQ5KHhpdGluZyBhbiBpbnRlcmFjdGkpLS4xNQotRiAtLjE1KHZlKS0uMjUgRyAzLjQzOShzaGVsbC4gSWYpMTg0IDQ4OC40IFIoYW4pMy40MzkgRSAzLjQzOSh5aiktLjE1IEcKLS45Mzgob2JzIGFyZSBydW5uaW5nLCB0aGlzIGNhdXNlcyB0aGUgZSktMy40MzkgRiAuOTM4Ci0oeGl0IHRvIGJlIGRlZmVycmVkIHVudGlsIGEgc2Vjb25kIGUpLS4xNSBGIC45MzgoeGl0IGlzKS0uMTUgRiAxLjQ1NgotKGF0dGVtcHRlZCB3aXRob3V0IGFuIGludGVydikxODQgNTAwLjQgUiAxLjQ1NihlbmluZyBjb21tYW5kIFwoc2VlKS0uMTUKLUYgRjEgMS40NTYoSk9CIENPTlRSKTMuOTU2IEYoT0wpLS4zIEUgRjAoYWJvKTMuOTU2IEUgLS4xNSh2ZSktLjE1IEcKLTMuOTU2KFwpLiBUaGUpLjE1IEYoc2hlbGwpMy45NTYgRShhbCkxODQgNTEyLjQgUSAtLjEod2EpLS4xIEcKLSh5cyBwb3N0cG9uZXMgZSkuMSBFKHhpdGluZyBpZiBhbiktLjE1IEUgMi41KHlqKS0uMTUgRyhvYnMgYXJlIHN0b3BwZWQuKQotLTIuNSBFIEYxKGNoZWNrd2luc2l6ZSkxNDQgNTI0LjQgUSBGMCAuNzk3KElmIHNldCwpMTg0IDUzNi40IFIgRjEoYmFzaCkKLTMuMjk3IEUgRjAgLjc5NyhjaGVja3MgdGhlIHdpbmRvKTMuMjk3IEYgMy4yOTcod3MpLS4yNSBHIC43OTYKLShpemUgYWZ0ZXIgZWFjaCBjb21tYW5kIGFuZCwgaWYgbmVjZXNzYXJ5KS0zLjI5NyBGIDMuMjk2KCx1KS0uNjUgRyAuNzk2Ci0ocGRhdGVzIHRoZSktMy4yOTYgRiAtLjI1KHZhKTE4NCA1NDguNCBTKGx1ZXMgb2YpLjI1IEUvRjMgOS9UaW1lcy1Cb2xkQDAKLVNGKExJTkVTKTIuNSBFIEYwKGFuZCkyLjI1IEUgRjMoQ09MVU1OUykyLjUgRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLilBCi1GMShjbWRoaXN0KTE0NCA1NjAuNCBRIEYwIDEuMjAyKElmIHNldCwpNi4xMSBGIEYxKGJhc2gpMy43MDIgRSBGMCAxLjIwMgotKGF0dGVtcHRzIHRvIHNhKTMuNzAyIEYgMS41MDIgLS4xNSh2ZSBhKS0uMiBIIDEuMjAyCi0obGwgbGluZXMgb2YgYSBtdWx0aXBsZS1saW5lIGNvbW1hbmQgaW4gdGhlIHNhbWUgaGlzdG9yeSkuMTUgRihlbnRyeSkxODQKLTU3Mi40IFEgNSguVCktLjY1IEcoaGlzIGFsbG8pLTUgRQotKHdzIGVhc3kgcmUtZWRpdGluZyBvZiBtdWx0aS1saW5lIGNvbW1hbmRzLiktLjI1IEUgRjEoY29tcGF0MzEpMTQ0IDU4NC40Ci1RIEYwIC40MihJZiBzZXQsKTE4NCA1OTYuNCBSIEYxKGJhc2gpMi45MiBFIEYwIC40MihjaGFuZ2VzIGl0cyBiZWhhKTIuOTIKLUYgLjQxOSh2aW9yIHRvIHRoYXQgb2YgdiktLjIgRiAuNDE5Ci0oZXJzaW9uIDMuMSB3aXRoIHJlc3BlY3QgdG8gcXVvdGVkIGFyKS0uMTUgRihndW1lbnRzKS0uMTggRQotKHRvIHRoZSBjb25kaXRpb25hbCBjb21tYW5kJykxODQgNjA4LjQgUSAyLjUocz0pLS41NSBHIDIuNSh+byktMi41IEcKLShwZXJhdG9yKS0yLjUgRSguKS0uNTUgRSBGMShkaXJzcGVsbCkxNDQgNjIwLjQgUSBGMCAuODU4KElmIHNldCwpNy43NyBGCi1GMShiYXNoKTMuMzU4IEUgRjAgLjg1OAotKGF0dGVtcHRzIHNwZWxsaW5nIGNvcnJlY3Rpb24gb24gZGlyZWN0b3J5IG5hbWVzIGR1cmluZyB3KTMuMzU4IEYgLjg1OQotKG9yZCBjb21wbGV0aW9uIGlmKS0uMSBGCi0odGhlIGRpcmVjdG9yeSBuYW1lIGluaXRpYWxseSBzdXBwbGllZCBkb2VzIG5vdCBlKTE4NCA2MzIuNCBRKHhpc3QuKS0uMTUKLUUgRjEoZG90Z2xvYikxNDQgNjQ0LjQgUSBGMCAuMTY1KElmIHNldCwpNy43NyBGIEYxKGJhc2gpMi42NjUgRSBGMCAuMTY1Ci0oaW5jbHVkZXMgXDIxNGxlbmFtZXMgYmUpMi42NjUgRiAuMTY1KGdpbm5pbmcgd2l0aCBhIGAuKS0uMTUgRiAyLjY2NSgnaSkKLS0uNyBHIDIuNjY1KG50KS0yLjY2NSBHIC4xNjUoaGUgcmVzdWx0cyBvZiBwYXRobmFtZSBlKS0yLjY2NSBGCi0oeHBhbnNpb24uKS0uMTUgRSBGMShleGVjZmFpbCkxNDQgNjU2LjQgUSBGMCAxLjM4NgotKElmIHNldCwgYSBub24taW50ZXJhY3RpKTcuNzkgRiAxLjY4NiAtLjE1KHZlIHMpLS4yNSBIIDEuMzg2Ci0oaGVsbCB3aWxsIG5vdCBlKS4xNSBGIDEuMzg2KHhpdCBpZiBpdCBjYW5ub3QgZSktLjE1IEYgLS4xNSh4ZSktLjE1IEcKLTEuMzg3KGN1dGUgdGhlIFwyMTRsZSBzcGVjaVwyMTRlZCBhcyBhbikuMTUgRihhcikxODQgNjY4LjQgUQotKGd1bWVudCB0byB0aGUpLS4xOCBFIEYxKGV4ZWMpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluIGNvbW1hbmQuKS4yIEUKLShBbiBpbnRlcmFjdGkpNSBFIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbCBkb2VzIG5vdCBlKS4xNSBFKHhpdCBpZiktLjE1Ci1FIEYxKGV4ZWMpMi41IEUgRjAgLS4xKGZhKTIuNSBHKGlscy4pLjEgRSBGMShleHBhbmRfYWxpYXNlcykxNDQgNjgwLjQgUQotRjAgLjcxNyhJZiBzZXQsIGFsaWFzZXMgYXJlIGUpMTg0IDY5Mi40IFIgLjcxNyh4cGFuZGVkIGFzIGRlc2NyaWJlZCBhYm8pCi0tLjE1IEYgMS4wMTcgLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYzKEFMSUFTRVMpMy4yMTcgRSBGNCguKUEgRjAKLS43MTYoVGhpcyBvcHRpb24gaXMgZW5hYmxlZCk1LjIxNyBGKGJ5IGRlZikxODQgNzA0LjQgUQotKGF1bHQgZm9yIGludGVyYWN0aSktLjEgRSAuMyAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzLikuMTUgRShHTlUgQmFzaC00LjApCi03MiA3NjggUSgyMDA5IEZlYnJ1YXJ5IDcpMTQwLjk2IEUoNjIpMTkwLjk1IEUgMCBDZyBFUAorLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihub2dsb2IpMTg0IDg0IFEgRjAoU2FtZSBhcykxMS4xIEUgRjE8YWQ2Nj4KKzIuNSBFIEYwKC4pQSBGMShub2xvZykxODQgOTYgUSBGMChDdXJyZW50bHkgaWdub3JlZC4pMTYuNjYgRSBGMShub3RpZnkpCisxODQgMTA4IFEgRjAoU2FtZSBhcykxNSBFIEYxPGFkNjI+Mi41IEUgRjAoLilBIEYxKG5vdW5zZXQpMTg0IDEyMCBRIEYwCisoU2FtZSBhcyk2LjY2IEUgRjE8YWQ3NT4yLjUgRSBGMCguKUEgRjEob25lY21kKTE4NCAxMzIgUSBGMChTYW1lIGFzKTYuNjcKK0UgRjE8YWQ3ND4yLjUgRSBGMCguKUEgRjEocGgpMTg0IDE0NCBRKHlzaWNhbCktLjE1IEUgRjAoU2FtZSBhcyk1LjE0IEUKK0YxPGFkNTA+Mi41IEUgRjAoLilBIEYxKHBpcGVmYWlsKTE4NCAxNTYgUSBGMCAxLjAyOQorKElmIHNldCwgdGhlIHJldHVybiB2KTcuNzcgRiAxLjAyOShhbHVlIG9mIGEgcGlwZWxpbmUgaXMgdGhlIHYpLS4yNSBGCisxLjAzKGFsdWUgb2YgdGhlIGxhc3QgXChyaWdodG1vc3RcKSBjb20tKS0uMjUgRiAxLjEzNyhtYW5kIHRvIGUpMjI0IDE2OAorUiAxLjEzNgorKHhpdCB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLCBvciB6ZXJvIGlmIGFsbCBjb21tYW5kcyBpbiB0aGUgcGlwZWxpbmUpCistLjE1IEYgLS4xNShleCkyMjQgMTgwIFMoaXQgc3VjY2Vzc2Z1bGx5KS4xNSBFIDUoLlQpLS42NSBHCisoaGlzIG9wdGlvbiBpcyBkaXNhYmxlZCBieSBkZWYpLTUgRShhdWx0LiktLjEgRSBGMShwb3NpeCkxODQgMTkyIFEgRjAKKzIuMDkoQ2hhbmdlIHRoZSBiZWhhKTE3Ljc3IEYgMi4wOTEodmlvciBvZiktLjIgRiBGMShiYXNoKTQuNTkxIEUgRjAKKzIuMDkxKHdoZXJlIHRoZSBkZWYpNC41OTEgRiAyLjA5MShhdWx0IG9wZXJhdGlvbiBkaWYpLS4xIEYgMi4wOTEKKyhmZXJzIGZyb20gdGhlKS0uMjUgRihQT1NJWCBzdGFuZGFyZCB0byBtYXRjaCB0aGUgc3RhbmRhcmQgXCgpMjI0IDIwNCBRCisvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YocG9zaXggbW9kZSlBIEYwKFwpLilBIEYxKHByaSkxODQgMjE2IFEodmlsZWdlZCkKKy0uMSBFIEYwKFNhbWUgYXMpMjI0IDIyOCBRIEYxPGFkNzA+Mi41IEUgRjAoLilBIEYxIC0uMSh2ZSkxODQgMjQwIFMKKyhyYm9zZSkuMSBFIEYwKFNhbWUgYXMpNy4zMyBFIEYxPGFkNzY+Mi41IEUgRjAoLilBIEYxKHZpKTE4NCAyNTIgUSBGMAorMS40NjYoVXNlIGEgdmktc3R5bGUgY29tbWFuZCBsaW5lIGVkaXRpbmcgaW50ZXJmKTMyLjIyIEYgMy45NjUKKyhhY2UuIFRoaXMpLS4xIEYgMS40NjUoYWxzbyBhZikzLjk2NSBGIDEuNDY1KGZlY3RzIHRoZSBlZGl0aW5nKS0uMjUgRgorKGludGVyZikyMjQgMjY0IFEoYWNlIHVzZWQgZm9yKS0uMSBFIEYxIC0uMTgocmUpMi41IEcoYWQgXDI1NWUpLjE4IEUgRjAKKyguKUEgRjEoeHRyYWNlKTE4NCAyNzYgUSBGMChTYW1lIGFzKTEzLjM1IEUgRjE8YWQ3OD4yLjUgRSBGMCguKUEoSWYpMTg0CisyOTQgUSBGMTxhZDZmPjMuMDUyIEUgRjAgLjU1MihpcyBzdXBwbGllZCB3aXRoIG5vKTMuMDUyIEYgRjIKKyhvcHRpb25cMjU1bmFtZSkzLjA1MyBFIEYwIDMuMDUzKCx0KUMgLjU1MyhoZSB2KS0zLjA1MyBGIC41NTMKKyhhbHVlcyBvZiB0aGUgY3VycmVudCBvcHRpb25zIGFyZSBwcmludGVkLiktLjI1IEYoSWYpNS41NTMgRSBGMSgrbykxODQKKzMwNiBRIEYwIDEuMDcyKGlzIHN1cHBsaWVkIHdpdGggbm8pMy41NzIgRiBGMihvcHRpb25cMjU1bmFtZSkzLjU3MiBFIEYwCiszLjU3MigsYSlDIDEuMDcxKHNlcmllcyBvZiktLjAwMSBGIEYxKHNldCkzLjU3MSBFIEYwIDEuMDcxCisoY29tbWFuZHMgdG8gcmVjcmVhdGUgdGhlIGN1cnJlbnQpMy41NzEgRgorKG9wdGlvbiBzZXR0aW5ncyBpcyBkaXNwbGF5ZWQgb24gdGhlIHN0YW5kYXJkIG91dHB1dC4pMTg0IDMxOCBRIEYxPGFkNzA+CisxNDQgMzMwIFEgRjAgLS40NShUdSkyOC43NCBHIDEuMDcxKHJuIG9uKS40NSBGIEYyKHByaXZpbGUpNC44MjEgRSAtLjEKKyhnZSktLjQgRyhkKS4xIEUgRjAgMy41NzIobW9kZS4gSW4pNC4zNDEgRiAxLjA3Mih0aGlzIG1vZGUsIHRoZSkzLjU3MiBGCisvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoJEVOVikzLjU3MiBFIEYwKGFuZCkzLjMyMiBFIEYzKCRCKTMuNTcyIEUoQVNIX0VOVikKKy0uMjcgRSBGMCAxLjA3MihcMjE0bGVzIGFyZSBub3QgcHJvLSkzLjMyMiBGIDEuNTAxCisoY2Vzc2VkLCBzaGVsbCBmdW5jdGlvbnMgYXJlIG5vdCBpbmhlcml0ZWQgZnJvbSB0aGUgZW4pMTg0IDM0MiBSIDEuNQorKHZpcm9ubWVudCwgYW5kIHRoZSktLjQgRiBGMyhTSEVMTE9QVFMpNCBFL0Y0IDkvVGltZXMtUm9tYW5AMCBTRigsKUEgRjMKKy0uMjcoQkEpMTg0IDM1NCBTKFNIT1BUUykuMjcgRSBGNCgsKUEgRjMoQ0RQKTIuNzc0IEUgLS44NTUoQVQpLS42NjYgRyhIKQorLjg1NSBFIEY0KCwpQSBGMChhbmQpMi43NzQgRSBGMyhHTE9CSUdOT1JFKTMuMDI0IEUgRjAgLS4yNSh2YSkyLjc3NCBHCisuNTI0KHJpYWJsZXMsIGlmIHRoZSkuMjUgRiAzLjAyNSh5YSktLjE1IEcgLjUyNShwcGVhciBpbiB0aGUgZW4pLTMuMDI1IEYKKyh2aXJvbm1lbnQsKS0uNCBFIC4zOChhcmUgaWdub3JlZC4pMTg0IDM2NiBSIC4zOAorKElmIHRoZSBzaGVsbCBpcyBzdGFydGVkIHdpdGggdGhlIGVmKTUuMzggRihmZWN0aSktLjI1IEUgLjY3OSAtLjE1KHZlIHUpCistLjI1IEggLjM3OShzZXIgXChncm91cFwpIGlkIG5vdCBlcXVhbCB0byB0aGUgcmVhbCkuMTUgRiAuNDYxCisodXNlciBcKGdyb3VwXCkgaWQsIGFuZCB0aGUpMTg0IDM3OCBSIEYxPGFkNzA+Mi45NjEgRSBGMCAuNDYxCisob3B0aW9uIGlzIG5vdCBzdXBwbGllZCwgdGhlc2UgYWN0aW9ucyBhcmUgdGFrKTIuOTYxIEYgLjQ2MgorKGVuIGFuZCB0aGUgZWYpLS4xIEYoZmVjLSktLjI1IEUodGkpMTg0IDM5MCBRIC42OTUgLS4xNSh2ZSB1KS0uMjUgSCAuMzk1Cisoc2VyIGlkIGlzIHNldCB0byB0aGUgcmVhbCB1c2VyIGlkLikuMTUgRiAuMzk1KElmIHRoZSk1LjM5NSBGIEYxPGFkNzA+CisyLjg5NSBFIEYwIC4zOTQob3B0aW9uIGlzIHN1cHBsaWVkIGF0IHN0YXJ0dXAsIHRoZSBlZikyLjg5NSBGKGZlY3RpKS0uMjUKK0UgLS4xNSh2ZSktLjI1IEcgLjM4Nih1c2VyIGlkIGlzIG5vdCByZXNldC4pMTg0IDQwMiBSIC0uNDUoVHUpNS4zODYgRworLjM4NihybmluZyB0aGlzIG9wdGlvbiBvZikuNDUgRiAyLjg4NihmYyktLjI1IEcgLjM4NyhhdXNlcyB0aGUgZWYpLTIuODg2CitGKGZlY3RpKS0uMjUgRSAuNjg3IC0uMTUodmUgdSktLjI1IEggLjM4NyhzZXIgYW5kIGdyb3VwIGlkcyB0byBiZSkuMTUgRgorKHNldCB0byB0aGUgcmVhbCB1c2VyIGFuZCBncm91cCBpZHMuKTE4NCA0MTQgUSBGMTxhZDc0PjE0NCA0MjYgUSBGMAorKEV4aXQgYWZ0ZXIgcmVhZGluZyBhbmQgZSkzMC45NyBFIC0uMTUoeGUpLS4xNSBHKGN1dGluZyBvbmUgY29tbWFuZC4pLjE1CitFIEYxPGFkNzU+MTQ0IDQzOCBRIEYwIC0uMzUoVHIpMjguNzQgRyAuMDQ0KGVhdCB1bnNldCB2KS4zNSBGIC4wNDQoYXJpYVwKK2JsZXMgYW5kIHBhcmFtZXRlcnMgb3RoZXIgdGhhbiB0aGUgc3BlY2lhbCBwYXJhbWV0ZXJzICJAIiBhbmQgIioiIGFzIGFuKQorLS4yNSBGIC4xODIoZXJyb3Igd2hlbiBwZXJmb3JtaW5nIHBhcmFtZXRlciBlKTE4NCA0NTAgUiAyLjY4MgorKHhwYW5zaW9uLiBJZiktLjE1IEYgLS4xNShleCkyLjY4MiBHIC4xODMKKyhwYW5zaW9uIGlzIGF0dGVtcHRlZCBvbiBhbiB1bnNldCB2KS4xNSBGKGFyaS0pLS4yNSBFIC43NDYKKyhhYmxlIG9yIHBhcmFtZXRlcikxODQgNDYyIFIgMy4yNDYoLHQpLS40IEcgLjc0NgorKGhlIHNoZWxsIHByaW50cyBhbiBlcnJvciBtZXNzYWdlLCBhbmQsIGlmIG5vdCBpbnRlcmFjdGkpLTMuMjQ2IEYgLS4xNQorKHZlKS0uMjUgRyAzLjI0NigsZSkuMTUgRyAuNzQ2KHhpdHMgd2l0aCBhKS0zLjM5NiBGKG5vbi16ZXJvIHN0YXR1cy4pMTg0Cis0NzQgUSBGMTxhZDc2PjE0NCA0ODYgUSBGMChQcmludCBzaGVsbCBpbnB1dCBsaW5lcyBhcyB0aGUpMjkuMyBFIDIuNSh5YSkKKy0uMTUgRyhyZSByZWFkLiktMi41IEUgRjE8YWQ3OD4xNDQgNDk4IFEgRjAgLjMxNShBZnRlciBlKTI5LjMgRiAuMzE1CisoeHBhbmRpbmcgZWFjaCktLjE1IEYgRjIgLjMxNShzaW1wbGUgY29tbWFuZCkyLjgxNSBGIEYwKCwpQSBGMSAtLjI1KGZvKQorMi44MTUgRyhyKS4yNSBFIEYwKGNvbW1hbmQsKTIuODE1IEUgRjEoY2FzZSkyLjgxNSBFIEYwKGNvbW1hbmQsKTIuODE1IEUKK0YxKHNlbGVjdCkyLjgxNSBFIEYwKGNvbW1hbmQsKTIuODE1IEUgMS4yMzYob3IgYXJpdGhtZXRpYykxODQgNTEwIFIgRjEKKy0uMjUoZm8pMy43MzYgRyhyKS4yNSBFIEYwIDEuMjM2KGNvbW1hbmQsIGRpc3BsYXkgdGhlIGUpMy43MzYgRiAxLjIzNgorKHhwYW5kZWQgdiktLjE1IEYgMS4yMzYoYWx1ZSBvZiktLjI1IEYgRjMoUFM0KTMuNzM2IEUgRjQoLClBIEYwKGZvbGxvKQorMy40ODYgRSAxLjIzNih3ZWQgYnkgdGhlIGNvbS0pLS4yNSBGKG1hbmQgYW5kIGl0cyBlKTE4NCA1MjIgUQorKHhwYW5kZWQgYXIpLS4xNSBFKGd1bWVudHMgb3IgYXNzb2NpYXRlZCB3KS0uMTggRShvcmQgbGlzdC4pLS4xIEUgRjEKKzxhZDQyPjE0NCA1MzQgUSBGMCAyLjU3OChUaGUgc2hlbGwgcGVyZm9ybXMgYnJhY2UgZSkyNy42MyBGIDIuNTc4CisoeHBhbnNpb24gXChzZWUpLS4xNSBGIEYxIDIuNTc4KEJyYWNlIEV4cGFuc2lvbik1LjA3OCBGIEYwKGFibyk1LjA3OCBFCistLjE1KHZlKS0uMTUgRyA1LjA3OShcKS4gVGhpcykuMTUgRiAyLjU3OShpcyBvbiBieSk1LjA3OSBGKGRlZikxODQgNTQ2IFEKKyhhdWx0LiktLjEgRSBGMTxhZDQzPjE0NCA1NTggUSBGMCAuMjE0KElmIHNldCwpMjcuMDggRiBGMShiYXNoKTIuNzE0IEUKK0YwIC4yMTQoZG9lcyBub3QgbykyLjcxNCBGIC0uMTUodmUpLS4xNSBHIC4yMTQocndyaXRlIGFuIGUpLjE1IEYgLjIxNAorKHhpc3RpbmcgXDIxNGxlIHdpdGggdGhlKS0uMTUgRiBGMSg+KTIuNzE0IEUgRjAoLClBIEYxKD4mKTIuNzE0IEUgRjAKKzIuNzEzKCxhKUMobmQpLTIuNzEzIEUgRjEoPD4pMi43MTMgRSBGMCAuMjEzKHJlZGlyZWN0aW9uIG9wZXJhLSkyLjcxMyBGCiszLjA1Myh0b3JzLiBUaGlzKTE4NCA1NzAgUiAuNTUzKG1heSBiZSBvKTMuMDUzIEYgLS4xNSh2ZSktLjE1IEcgLjU1MworKHJyaWRkZW4gd2hlbiBjcmVhdGluZyBvdXRwdXQgXDIxNGxlcyBieSB1c2luZyB0aGUgcmVkaXJlY3Rpb24gb3BlcmEtKQorLjE1IEYodG9yKTE4NCA1ODIgUSBGMSg+fCkyLjUgRSBGMChpbnN0ZWFkIG9mKTIuNSBFIEYxKD4pMi41IEUgRjAoLilBIEYxCis8YWQ0NT4xNDQgNTk0IFEgRjAgLjEwNChJZiBzZXQsIGFuKTI3LjYzIEYgMi42MDQoeXQpLS4xNSBHIC4xMDQocmFwIG9uKQorLTIuNjA0IEYgRjEoRVJSKTIuNjA0IEUgRjAgLjEwMworKGlzIGluaGVyaXRlZCBieSBzaGVsbCBmdW5jdGlvbnMsIGNvbW1hbmQgc3Vic3RpdHV0aW9ucywgYW5kIGNvbS0pMi42MDQKK0YgLjgzOChtYW5kcyBlKTE4NCA2MDYgUiAtLjE1KHhlKS0uMTUgRyAuODM4KGN1dGVkIGluIGEgc3Vic2hlbGwgZW4pLjE1CitGIDMuMzM4KHZpcm9ubWVudC4gVGhlKS0uNCBGIEYxKEVSUikzLjMzOCBFIEYwIC44MzkKKyh0cmFwIGlzIG5vcm1hbGx5IG5vdCBpbmhlcml0ZWQgaW4pMy4zMzkgRihzdWNoIGNhc2VzLikxODQgNjE4IFEgRjEKKzxhZDQ4PjE0NCA2MzAgUSBGMChFbmFibGUpMjYuNTIgRSBGMSghKTMuMDMyIEUgRjAgLjUzMgorKHN0eWxlIGhpc3Rvcnkgc3Vic3RpdHV0aW9uLik1LjUzMiBGIC41MzEoVGhpcyBvcHRpb24gaXMgb24gYnkgZGVmKTUuNTMyCitGIC41MzEoYXVsdCB3aGVuIHRoZSBzaGVsbCBpcyBpbnRlciktLjEgRigtKS0uMiBFKGFjdGkpMTg0IDY0MiBRIC0uMTUKKyh2ZSktLjI1IEcoLikuMTUgRSBGMTxhZDUwPjE0NCA2NTQgUSBGMCAxLjE2NAorKElmIHNldCwgdGhlIHNoZWxsIGRvZXMgbm90IGZvbGxvKTI4LjE5IEYgMy42NjQod3MpLS4yNSBHIDEuMTY0CisoeW1ib2xpYyBsaW5rcyB3aGVuIGUpLTMuNjY0IEYgLS4xNSh4ZSktLjE1IEcgMS4xNjUKKyhjdXRpbmcgY29tbWFuZHMgc3VjaCBhcykuMTUgRiBGMShjZCkzLjY2NSBFIEYwIDIuODIyCisodGhhdCBjaGFuZ2UgdGhlIGN1cnJlbnQgdykxODQgNjY2IFIgMi44MjIob3JraW5nIGRpcmVjdG9yeSktLjEgRiA3LjgyMgorKC5JKS0uNjUgRyA1LjMyMih0dSktNy44MjIgRyAyLjgyMihzZXMgdGhlIHBoKS01LjMyMiBGIDIuODIxCisoeXNpY2FsIGRpcmVjdG9yeSBzdHJ1Y3R1cmUpLS4wNSBGIDIuNjg1KGluc3RlYWQuIEJ5KTE4NCA2NzggUihkZWYpMi42ODUKK0UoYXVsdCwpLS4xIEUgRjEoYmFzaCkyLjY4NiBFIEYwKGZvbGxvKTIuNjg2IEUgLjE4NgorKHdzIHRoZSBsb2dpY2FsIGNoYWluIG9mIGRpcmVjdG9yaWVzIHdoZW4gcGVyZm9ybWluZyBjb20tKS0uMjUgRgorKG1hbmRzIHdoaWNoIGNoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkpMTg0IDY5MCBRKC4pLS42NSBFIEYxPGFkNTQ+MTQ0Cis3MDIgUSBGMCAuODkoSWYgc2V0LCBhbikyNy42MyBGIDMuMzkoeXQpLS4xNSBHIC44OShyYXBzIG9uKS0zLjM5IEYgRjEKKyhERUIpMy4zOSBFKFVHKS0uMSBFIEYwKGFuZCkzLjM5IEUgRjEoUkVUVVJOKTMuMzkgRSBGMCAuODkKKyhhcmUgaW5oZXJpdGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucywgY29tbWFuZCkzLjM5IEYgMS45MzIKKyhzdWJzdGl0dXRpb25zLCBhbmQgY29tbWFuZHMgZSkxODQgNzE0IFIgLS4xNSh4ZSktLjE1IEcgMS45MzIKKyhjdXRlZCBpbiBhIHN1YnNoZWxsIGVuKS4xNSBGIDQuNDMyKHZpcm9ubWVudC4gVGhlKS0uNCBGIEYxKERFQik0LjQzMiBFCisoVUcpLS4xIEUgRjAoYW5kKTQuNDMyIEUgRjEoUkVUVVJOKTE4NCA3MjYgUSBGMAorKHRyYXBzIGFyZSBub3JtYWxseSBub3QgaW5oZXJpdGVkIGluIHN1Y2ggY2FzZXMuKTIuNSBFKEdOVSBCYXNoLTQuMSk3MgorNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoNjIpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNjMgNjMKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGV4dGRlYikxNDQgODQgUSh1ZyktLjIgRSBGMChJZiBzZXQsIGJlaGEpCi0xODQgOTYgUSh2aW9yIGludGVuZGVkIGZvciB1c2UgYnkgZGViKS0uMiBFKHVnZ2VycyBpcyBlbmFibGVkOiktLjIgRSBGMQotKDEuKTE4NCAxMDggUSBGMChUaGUpMjguNSBFIEYxPGFkNDY+NC4yNSBFIEYwIDEuNzUob3B0aW9uIHRvIHRoZSk0LjI1IEYKLUYxKGRlY2xhcik0LjI1MSBFKGUpLS4xOCBFIEYwIC0uMihidSk0LjI1MSBHIDEuNzUxCi0oaWx0aW4gZGlzcGxheXMgdGhlIHNvdXJjZSBcMjE0bGUgbmFtZSBhbmQgbGluZSkuMiBGCi0obnVtYmVyIGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBmdW5jdGlvbiBuYW1lIHN1cHBsaWVkIGFzIGFuIGFyKTIyMCAxMjAgUQotKGd1bWVudC4pLS4xOCBFIEYxKDIuKTE4NCAxMzIgUSBGMCAxLjY2NyhJZiB0aGUgY29tbWFuZCBydW4gYnkgdGhlKTI4LjUKLUYgRjEoREVCKTQuMTY3IEUoVUcpLS4xIEUgRjAgMS42NjcodHJhcCByZXR1cm5zIGEgbm9uLXplcm8gdik0LjE2NyBGCi0xLjY2NyhhbHVlLCB0aGUgbmUpLS4yNSBGKHh0KS0uMTUgRShjb21tYW5kIGlzIHNraXBwZWQgYW5kIG5vdCBlKTIyMCAxNDQKLVEgLS4xNSh4ZSktLjE1IEcoY3V0ZWQuKS4xNSBFIEYxKDMuKTE4NCAxNTYgUSBGMCAuODQKLShJZiB0aGUgY29tbWFuZCBydW4gYnkgdGhlKTI4LjUgRiBGMShERUIpMy4zNCBFKFVHKS0uMSBFIEYwIC44NDEKLSh0cmFwIHJldHVybnMgYSB2KTMuMzQxIEYgLjg0MShhbHVlIG9mIDIsIGFuZCB0aGUgc2hlbGwgaXMpLS4yNSBGIC0uMTUKLShleGUpMjIwIDE2OCBTIC40ODgKLShjdXRpbmcgaW4gYSBzdWJyb3V0aW5lIFwoYSBzaGVsbCBmdW5jdGlvbiBvciBhIHNoZWxsIHNjcmlwdCBlKS4xNSBGCi0tLjE1KHhlKS0uMTUgRyAuNDg4KGN1dGVkIGJ5IHRoZSkuMTUgRiBGMSguKTIuOTg4IEUgRjAob3IpMi45ODggRSBGMQotKHNvdXIpMjIwIDE4MCBRKGNlKS0uMTggRSBGMCAtLjIoYnUpMi41IEcoaWx0aW5zXCksIGEgY2FsbCB0bykuMiBFIEYxCi0tLjE4KHJlKTIuNSBHKHR1cikuMTggRShuKS0uMTUgRSBGMChpcyBzaW11bGF0ZWQuKTIuNSBFIEYxIDI2KDQuIEIpMTg0Ci0xOTIgUihBU0hfQVJHQyktLjMgRSBGMChhbmQpMy43NzUgRSBGMSAtLjMoQkEpMy43NzUgRyhTSF9BUkdWKS4zIEUgRjAKLTEuMjc2KGFyZSB1cGRhdGVkIGFzIGRlc2NyaWJlZCBpbiB0aGVpciBkZXNjcmlwLSkzLjc3NSBGKHRpb25zIGFibykyMjAKLTIwNCBRIC0uMTUodmUpLS4xNSBHKC4pLjE1IEUgRjEoNS4pMTg0IDIxNiBRIEYwIDEuMzU5Ci0oRnVuY3Rpb24gdHJhY2luZyBpcyBlbmFibGVkOikyOC41IEYgMS4zNTkKLShjb21tYW5kIHN1YnN0aXR1dGlvbiwgc2hlbGwgZnVuY3Rpb25zLCBhbmQgc3ViLSk2LjM1OSBGKHNoZWxscyBpbikyMjAKLTIyOCBRIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAyLjUoZHcpLjEgRyhpdGgpLTIuNSBFIEYxKFwoKTIuNSBFL0YyIDEwCi0vVGltZXMtSXRhbGljQDAgU0YoY29tbWFuZCkyLjUgRSBGMShcKSkyLjUgRSBGMChpbmhlcml0IHRoZSkyLjUgRSBGMQotKERFQikyLjUgRShVRyktLjEgRSBGMChhbmQpMi41IEUgRjEoUkVUVVJOKTIuNSBFIEYwKHRyYXBzLikyLjUgRSBGMSg2LikKLTE4NCAyNDAgUSBGMCAuODA0KEVycm9yIHRyYWNpbmcgaXMgZW5hYmxlZDopMjguNSBGIC44MDUKLShjb21tYW5kIHN1YnN0aXR1dGlvbiwgc2hlbGwgZnVuY3Rpb25zLCBhbmQgc3Vic2hlbGxzKTUuODA0IEYoaW4pMjIwIDI1MgotUSAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMi41KGR3KS4xIEcoaXRoKS0yLjUgRSBGMShcKCkyLjUgRSBGMgotKGNvbW1hbmQpMi41IEUgRjEoXCkpMi41IEUgRjAoaW5oZXJpdCB0aGUpMi41IEUgRjEoRVJSKTIuNSBFKE9SKS0uMyBFIEYwCi0odHJhcC4pMi41IEUgRjEoZXh0Z2xvYikxNDQgMjY0IFEgRjAgLjQoSWYgc2V0LCB0aGUgZSk4Ljg5IEYgLjQKLSh4dGVuZGVkIHBhdHRlcm4gbWF0Y2hpbmcgZmVhdHVyZXMgZGVzY3JpYmVkIGFibyktLjE1IEYgLjcgLS4xNSh2ZSB1KQotLS4xNSBIKG5kZXIpLjE1IEUgRjEgLS4xKFBhKTIuOSBHIC40KHRobmFtZSBFeHBhbi0pLjEgRihzaW9uKTE4NCAyNzYgUQotRjAoYXJlIGVuYWJsZWQuKTIuNSBFIEYxKGV4dHF1b3RlKTE0NCAyODggUSBGMCAyLjQ3MyhJZiBzZXQsKTE4NCAzMDAgUgotRjEoJCk0Ljk3MyBFIEYwPDA4PkEgRjIoc3RyaW5nKUEgRjAgNC45NzM8MDg2MT5DKG5kKS00Ljk3MyBFIEYxKCQpNC45NzMKLUUgRjAoIilBIEYyKHN0cmluZylBIEYwIDQuOTczKCJxKUMgMi40NzModW90aW5nIGlzIHBlcmZvcm1lZCB3aXRoaW4pCi0tNC45NzMgRiBGMSgkeyk0Ljk3MyBFIEYyKHBhcilBKGFtZXRlciktLjE1IEUgRjEofSlBIEYwIC0uMTUoZXgpNC45NzMgRwotKHBhbnNpb25zKS4xNSBFKGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXMuKTE4NCAzMTIgUQotKFRoaXMgb3B0aW9uIGlzIGVuYWJsZWQgYnkgZGVmKTUgRShhdWx0LiktLjEgRSBGMShmYWlsZ2xvYikxNDQgMzI0IFEgRjAKLTEuNDI1KElmIHNldCwgcGF0dGVybnMgd2hpY2ggZik3Ljc3IEYgMS40MjUKLShhaWwgdG8gbWF0Y2ggXDIxNGxlbmFtZXMgZHVyaW5nIHBhdGhuYW1lIGUpLS4xIEYgMS40MjQKLSh4cGFuc2lvbiByZXN1bHQgaW4gYW4pLS4xNSBGIC0uMTUoZXgpMTg0IDMzNiBTKHBhbnNpb24gZXJyb3IpLjE1IEUoLikKLS0uNTUgRSBGMSAtLjI1KGZvKTE0NCAzNDggUyAtLjE4KHJjKS4yNSBHKGVfXDIxNGdub3IpLjE4IEUoZSktLjE4IEUgRjAKLS41ODUoSWYgc2V0LCB0aGUgc3VmKTE4NCAzNjAgUjw4Yzc4Pi0uMjUgRSAuNTg1KGVzIHNwZWNpXDIxNGVkIGJ5IHRoZSkKLS0uMTUgRiBGMShGSUdOT1JFKTMuMDg1IEUgRjAgLjU4NShzaGVsbCB2KTMuMDg1IEYgLjU4NShhcmlhYmxlIGNhdXNlIHcpCi0tLjI1IEYgLjU4NShvcmRzIHRvIGJlIGlnbm9yZWQpLS4xIEYgLjMyKHdoZW4gcGVyZm9ybWluZyB3KTE4NCAzNzIgUiAuMzIKLShvcmQgY29tcGxldGlvbiBlKS0uMSBGIC0uMTUodmUpLS4yNSBHIDIuODIobmkpLjE1IEcgMi44MihmdCktMi44MiBHIC4zMgotKGhlIGlnbm9yZWQgdyktMi44MiBGIC4zMihvcmRzIGFyZSB0aGUgb25seSBwb3NzaWJsZSBjb20tKS0uMSBGIDMuMzI5Ci0ocGxldGlvbnMuIFNlZSkxODQgMzg0IFIvRjMgOS9UaW1lcy1Cb2xkQDAgU0YgLjgyOShTSEVMTCBWKTMuMzI5IEYKLShBUklBQkxFUyktMS4yMTUgRSBGMChhYm8pMy4wNzkgRSAxLjEyOSAtLjE1KHZlIGYpLS4xNSBIIC44MwotKG9yIGEgZGVzY3JpcHRpb24gb2YpLjE1IEYgRjEoRklHTk9SRSkzLjMzIEUgRjAgNS44MyguVClDIC44MwotKGhpcyBvcHRpb24pLTUuODMgRihpcyBlbmFibGVkIGJ5IGRlZikxODQgMzk2IFEoYXVsdC4pLS4xIEUgRjEoZ2xvYnN0YXIpCi0xNDQgNDA4IFEgRjAgLjQ0KElmIHNldCwgdGhlIHBhdHRlcm4pNSBGIEYxKCoqKTIuOTQgRSBGMCAuNDQKLSh1c2VkIGluIGEgXDIxNGxlbmFtZSBlKTIuOTQgRiAuNDM5KHhwYW5zaW9uIGNvbnRlKS0uMTUgRiAuNDM5Ci0oeHQgd2lsbCBtYXRjaCBhIFwyMTRsZXMgYW5kIHplcm8gb3IpLS4xNSBGIDEuMjk3Ci0obW9yZSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMuKTE4NCA0MjAgUiAxLjI5OAotKElmIHRoZSBwYXR0ZXJuIGlzIGZvbGxvKTYuMjk3IEYgMS4yOTgod2VkIGJ5IGEpLS4yNSBGIEYxKC8pMy43OTggRSBGMAotMy43OTgoLG8pQyAxLjI5OChubHkgZGlyZWN0b3JpZXMpLTMuNzk4IEYoYW5kIHN1YmRpcmVjdG9yaWVzIG1hdGNoLikxODQKLTQzMiBRIEYxKGdudV9lcnJmbXQpMTQ0IDQ0NCBRIEYwKElmIHNldCwgc2hlbGwgZXJyb3IgbWVzc2FnZXMgYXJlIHdyaXR0XAotZW4gaW4gdGhlIHN0YW5kYXJkIEdOVSBlcnJvciBtZXNzYWdlIGZvcm1hdC4pMTg0IDQ1NiBRIEYxKGhpc3RhcHBlbmQpMTQ0Ci00NjggUSBGMCAuMzg0Ci0oSWYgc2V0LCB0aGUgaGlzdG9yeSBsaXN0IGlzIGFwcGVuZGVkIHRvIHRoZSBcMjE0bGUgbmFtZWQgYnkgdGhlIHYpMTg0Ci00ODAgUiAuMzgzKGFsdWUgb2YgdGhlKS0uMjUgRiBGMShISVNURklMRSkyLjg4MyBFIEYwIC0uMjUodmEpMi44ODMgRwotKHJpLSkuMjUgRShhYmxlIHdoZW4gdGhlIHNoZWxsIGUpMTg0IDQ5MiBRKHhpdHMsIHJhdGhlciB0aGFuIG8pLS4xNSBFCi0tLjE1KHZlKS0uMTUgRyhyd3JpdGluZyB0aGUgXDIxNGxlLikuMTUgRSBGMShoaXN0cikxNDQgNTA0IFEoZWVkaXQpLS4xOAotRSBGMCAuNTc1KElmIHNldCwgYW5kKTE4NCA1MTYgUiBGMSAtLjE4KHJlKTMuMDc1IEcoYWRsaW5lKS4xOCBFIEYwIC41NzUKLShpcyBiZWluZyB1c2VkLCBhIHVzZXIgaXMgZ2kpMy4wNzUgRiAtLjE1KHZlKS0uMjUgRyAzLjA3NShudCkuMTUgRyAuNTc2Ci0oaGUgb3Bwb3J0dW5pdHkgdG8gcmUtZWRpdCBhIGYpLTMuMDc1IEYgLjU3NihhaWxlZCBoaXMtKS0uMSBGCi0odG9yeSBzdWJzdGl0dXRpb24uKTE4NCA1MjggUSBGMShoaXN0dikxNDQgNTQwIFEoZXJpZnkpLS4xIEUgRjAgLjQwMwotKElmIHNldCwgYW5kKTE4NCA1NTIgUiBGMSAtLjE4KHJlKTIuOTAzIEcoYWRsaW5lKS4xOCBFIEYwIC40MDMKLShpcyBiZWluZyB1c2VkLCB0aGUgcmVzdWx0cyBvZiBoaXN0b3J5IHN1YnN0aXR1dGlvbiBhcmUgbm90IGltbWVkaWF0ZWx5KQotMi45MDMgRiAuNjYxKHBhc3NlZCB0byB0aGUgc2hlbGwgcGFyc2VyKTE4NCA1NjQgUiA1LjY2MSguSSktLjU1IEcgLjY2MgotKG5zdGVhZCwgdGhlIHJlc3VsdGluZyBsaW5lIGlzIGxvYWRlZCBpbnRvIHRoZSktNS42NjEgRiBGMSAtLjE4KHJlKTMuMTYyCi1HKGFkbGluZSkuMTggRSBGMChlZGl0aW5nKTMuMTYyIEUgLS4yKGJ1KTE4NCA1NzYgUyAtLjI1KGZmKS4yIEcoZXIpLjI1IEUKLTIuNSgsYSktLjQgRyhsbG8pLTIuNSBFKHdpbmcgZnVydGhlciBtb2RpXDIxNGNhdGlvbi4pLS4yNSBFIEYxCi0oaG9zdGNvbXBsZXRlKTE0NCA1ODggUSBGMCAxLjE4MihJZiBzZXQsIGFuZCkxODQgNjAwIFIgRjEgLS4xOChyZSkzLjY4MgotRyhhZGxpbmUpLjE4IEUgRjAgMS4xODIoaXMgYmVpbmcgdXNlZCwpMy42ODIgRiBGMShiYXNoKTMuNjgyIEUgRjAgMS4xODEKLSh3aWxsIGF0dGVtcHQgdG8gcGVyZm9ybSBob3N0bmFtZSBjb21wbGV0aW9uKTMuNjgxIEYgMS4zOCh3aGVuIGEgdykxODQKLTYxMiBSIDEuMzgob3JkIGNvbnRhaW5pbmcgYSktLjEgRiBGMShAKTMuODgxIEUgRjAgMS4zODEKLShpcyBiZWluZyBjb21wbGV0ZWQgXChzZWUpMy44ODEgRiBGMShDb21wbGV0aW5nKTMuODgxIEUgRjAodW5kZXIpMy44ODEgRQotRjMoUkVBRExJTkUpMy44ODEgRSBGMChhYm8pMTg0IDYyNCBRIC0uMTUodmUpLS4xNSBHIDIuNShcKS4gVGhpcykuMTUgRgotKGlzIGVuYWJsZWQgYnkgZGVmKTIuNSBFKGF1bHQuKS0uMSBFIEYxKGh1cG9uZXhpdCkxNDQgNjM2IFEgRjAoSWYgc2V0LCkKLTE4NCA2NDggUSBGMShiYXNoKTIuNSBFIEYwKHdpbGwgc2VuZCkyLjUgRSBGMyhTSUdIVVApMi41IEUgRjAKLSh0byBhbGwgam9icyB3aGVuIGFuIGludGVyYWN0aSkyLjI1IEUgLjMgLS4xNSh2ZSBsKS0uMjUgSChvZ2luIHNoZWxsIGUpCi0uMTUgRSh4aXRzLiktLjE1IEUgRjEoaW50ZXJhY3RpKTE0NCA2NjAgUSAtLjEodmUpLS4xIEcoX2NvbW1lbnRzKS4xIEUgRjAKLS4zMyhJZiBzZXQsIGFsbG8pMTg0IDY3MiBSIDIuODMod2F3KS0uMjUgRyAuMzMob3JkIGJlKS0yLjkzIEYgLjMzCi0oZ2lubmluZyB3aXRoKS0uMTUgRiBGMSgjKTIuODMgRSBGMCAuMzModG8gY2F1c2UgdGhhdCB3KTIuODMgRiAuMzMKLShvcmQgYW5kIGFsbCByZW1haW5pbmcgY2hhcmFjdGVycyBvbiktLjEgRiAuOTY3Ci0odGhhdCBsaW5lIHRvIGJlIGlnbm9yZWQgaW4gYW4gaW50ZXJhY3RpKTE4NCA2ODQgUiAxLjI2NyAtLjE1KHZlIHMpLS4yNQotSCAuOTY3KGhlbGwgXChzZWUpLjE1IEYgRjMoQ09NTUVOVFMpMy40NjcgRSBGMChhYm8pMy4yMTcgRSAtLjE1KHZlKS0uMTUKLUcgMy40NjcoXCkuIFRoaXMpLjE1IEYgLjk2OChvcHRpb24gaXMpMy40NjggRihlbmFibGVkIGJ5IGRlZikxODQgNjk2IFEKLShhdWx0LiktLjEgRSBGMShsaXRoaXN0KTE0NCA3MDggUSBGMCAuNjU1KElmIHNldCwgYW5kIHRoZSkxNS41NSBGIEYxCi0oY21kaGlzdCkzLjE1NSBFIEYwIC42NTQob3B0aW9uIGlzIGVuYWJsZWQsIG11bHRpLWxpbmUgY29tbWFuZHMgYXJlIHNhKQotMy4xNTQgRiAtLjE1KHZlKS0uMiBHIDMuMTU0KGR0KS4xNSBHIDMuMTU0KG90KS0zLjE1NCBHIC42NTQoaGUgaGlzdG9yeSkKLS0zLjE1NCBGKHdpdGggZW1iZWRkZWQgbmUpMTg0IDcyMCBRCi0od2xpbmVzIHJhdGhlciB0aGFuIHVzaW5nIHNlbWljb2xvbiBzZXBhcmF0b3JzIHdoZXJlIHBvc3NpYmxlLiktLjI1IEUKLShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFKDYzKTE5MC45NSBFIDAgQ2cgRVAKKy0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0Y8YWRhZD4xNDQgODQgUSBGMCAuNDAxKElmIG5vIGFyKTI4LjYgRiAuNDAxCisoZ3VtZW50cyBmb2xsbyktLjE4IEYgMi45MDEod3QpLS4yNSBHIC40MDEKKyhoaXMgb3B0aW9uLCB0aGVuIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYXJlIHVuc2V0LiktMi45MDEgRgorKE90aGVyd2lzZSwpNS40IEUodGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBhcmUgc2V0IHRvIHRoZSkxODQgOTYgUS9GMgorMTAvVGltZXMtSXRhbGljQDAgU0YoYXIpMi41IEUoZyktLjM3IEUgRjAocywgZSlBIC0uMTUodmUpLS4yNSBHIDIuNShuaSkKKy4xNSBHIDIuNShmcyktMi41IEcob21lIG9mIHRoZW0gYmUpLTIuNSBFKGdpbiB3aXRoIGEpLS4xNSBFIEYxPGFkPjIuNSBFCitGMCguKUEgRjE8YWQ+MTQ0IDEwOCBRIEYwIDEuOTQ0CisoU2lnbmFsIHRoZSBlbmQgb2Ygb3B0aW9ucywgY2F1c2UgYWxsIHJlbWFpbmluZykzNC4zIEYgRjIoYXIpNC40NDQgRShnKQorLS4zNyBFIEYwIDQuNDQ0KHN0KUMgNC40NDQob2IpLTQuNDQ0IEcgNC40NDUoZWEpLTQuNDQ0IEcgMS45NDUKKyhzc2lnbmVkIHRvIHRoZSBwb3NpdGlvbmFsKS00LjQ0NSBGIDMuNDQ2KHBhcmFtZXRlcnMuIFRoZSkxODQgMTIwIFIgRjEKKzxhZDc4PjMuNDQ2IEUgRjAoYW5kKTMuNDQ2IEUgRjE8YWQ3Nj4zLjQ0NiBFIEYwIC45NDUKKyhvcHRpb25zIGFyZSB0dXJuZWQgb2YpMy40NDYgRiAzLjQ0NShmLiBJZiktLjI1IEYgLjk0NSh0aGVyZSBhcmUgbm8pCiszLjQ0NSBGIEYyKGFyKTMuNDQ1IEUoZyktLjM3IEUgRjAgLjk0NShzLCB0aGUgcG9zaXRpb25hbClCCisocGFyYW1ldGVycyByZW1haW4gdW5jaGFuZ2VkLikxODQgMTMyIFEgLjQyNShUaGUgb3B0aW9ucyBhcmUgb2YpMTQ0CisxNDguOCBSIDIuOTI1KGZiKS0uMjUgRyAyLjkyNSh5ZCktMi45MjUgRyhlZiktMi45MjUgRSAuNDI1CisoYXVsdCB1bmxlc3Mgb3RoZXJ3aXNlIG5vdGVkLiktLjEgRiAuNDI1CisoVXNpbmcgKyByYXRoZXIgdGhhbiBcMjU1IGNhdXNlcyB0aGVzZSBvcHRpb25zKTUuNDI1IEYgLjE3OAorKHRvIGJlIHR1cm5lZCBvZikxNDQgMTYwLjggUiAyLjY3OChmLiBUaGUpLS4yNSBGIC4xNzgKKyhvcHRpb25zIGNhbiBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzIGFyKTIuNjc4IEYgLjE3OChndW1lbnRzIHRvIGFuIGluKQorLS4xOCBGIC0uMih2byktLjQgRyAuMTc3KGNhdGlvbiBvZiB0aGUgc2hlbGwuKS4yIEYoVGhlKTUuMTc3IEUgLjA2NgorKGN1cnJlbnQgc2V0IG9mIG9wdGlvbnMgbWF5IGJlIGZvdW5kIGluKTE0NCAxNzIuOCBSIEYxPDI0YWQ+Mi41NjYgRSBGMAorNS4wNjYoLlQpQyAuMDY2KGhlIHJldHVybiBzdGF0dXMgaXMgYWwpLTUuMDY2IEYgLS4xKHdhKS0uMSBHIC4wNjYKKyh5cyB0cnVlIHVubGVzcyBhbiBpbikuMSBGIC0uMjUodmEpLS40IEcgLjA2NyhsaWQgb3B0aW9uKS4yNSBGCisoaXMgZW5jb3VudGVyZWQuKTE0NCAxODQuOCBRIEYxKHNoaWZ0KTEwOCAyMDEuNiBRIEYwKFspMi41IEUgRjIobilBIEYwCisoXSlBIC40MjkoVGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBmcm9tKTE0NCAyMTMuNiBSIEYyKG4pMi45MjkgRSBGMAorLjQyOSgrMSAuLi4gYXJlIHJlbmFtZWQgdG8pQiBGMSAuNDI5KCQxIC4uLi4pMi45MjkgRiBGMCAtLjE1KFBhKTUuNDI4IEcKKy40MjgocmFtZXRlcnMgcmVwcmVzZW50ZWQgYnkgdGhlIG51bS0pLjE1IEYoYmVycykxNDQgMjI1LjYgUSBGMSgkIykyLjU4MgorRSBGMChkbykyLjU4MiBFIC4wODIod24gdG8pLS4yNSBGIEYxKCQjKTIuNTgyIEUgRjA8YWQ+QSBGMihuKUEgRjAgLjA4MgorKCsxIGFyZSB1bnNldC4pQiBGMihuKTUuNDQyIEUgRjAgLjA4MihtdXN0IGJlIGEgbm9uLW5lKTIuODIyIEYgLS4wNShnYSkKKy0uMTUgRyh0aSkuMDUgRSAuMzgzIC0uMTUodmUgbiktLjI1IEggLjA4Myh1bWJlciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8pCisuMTUgRiBGMSgkIykyLjU4MyBFIEYwIDUuMDgzKC5JKUMoZiktNS4wODMgRSBGMihuKTIuOTQzIEUgRjAgLjA2CisoaXMgMCwgbm8gcGFyYW1ldGVycyBhcmUgY2hhbmdlZC4pMTQ0IDIzNy42IFIoSWYpNS4wNiBFIEYyKG4pMi45MiBFIEYwCisuMDYoaXMgbm90IGdpKTIuOCBGIC0uMTUodmUpLS4yNSBHIC4wNihuLCBpdCBpcyBhc3N1bWVkIHRvIGJlIDEuKS4xNSBGCisoSWYpNS4wNiBFIEYyKG4pMi45MiBFIEYwIC4wNihpcyBncmVhdGVyIHRoYW4pMi44IEYgRjEoJCMpMi41NiBFIEYwIDIuNTYKKygsdClDKGhlKS0yLjU2IEUgLjE0Myhwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYXJlIG5vdCBjaGFuZ2VkLikxNDQgMjQ5LjYgUgorLjE0NChUaGUgcmV0dXJuIHN0YXR1cyBpcyBncmVhdGVyIHRoYW4gemVybyBpZik1LjE0MyBGIEYyKG4pMy4wMDQgRSBGMAorLjE0NChpcyBncmVhdGVyIHRoYW4pMi44ODQgRiBGMSgkIykyLjY0NCBFIEYwCisob3IgbGVzcyB0aGFuIHplcm87IG90aGVyd2lzZSAwLikxNDQgMjYxLjYgUSBGMShzaG9wdCkxMDggMjc4LjQgUSBGMChbKQorMi41IEUgRjEoXDI1NXBxc3UpQSBGMCAyLjUoXVspQyBGMTxhZDZmPi0yLjUgRSBGMCAyLjUoXVspQyBGMihvcHRuYW1lKQorLTIuNSBFIEYwKC4uLl0pMi41IEUgLS44KFRvKTE0NCAyOTAuNCBTIC4yMjIoZ2dsZSB0aGUgdikuOCBGIC4yMjIKKyhhbHVlcyBvZiB2KS0uMjUgRiAuMjIyKGFyaWFibGVzIGNvbnRyb2xsaW5nIG9wdGlvbmFsIHNoZWxsIGJlaGEpLS4yNSBGCisodmlvciktLjIgRSA1LjIyMiguVyktLjU1IEcgLjIyMihpdGggbm8gb3B0aW9ucywgb3Igd2l0aCB0aGUpLTUuNjIyIEYgRjEKKzxhZDcwPjIuNzIyIEUgRjAgLjcyMShvcHRpb24sIGEgbGlzdCBvZiBhbGwgc2V0dGFibGUgb3B0aW9ucyBpcyBkaXNwbGF5XAorZWQsIHdpdGggYW4gaW5kaWNhdGlvbiBvZiB3aGV0aGVyIG9yIG5vdCBlYWNoIGlzIHNldC4pMTQ0IDMwMi40IFIoVGhlKQorMTQ0IDMxNC40IFEgRjE8YWQ3MD4yLjgyOCBFIEYwIC4zMjcob3B0aW9uIGNhdXNlcyBvdXRwdXQgdG8gYmUgZGlzcGxheWVcCitkIGluIGEgZm9ybSB0aGF0IG1heSBiZSByZXVzZWQgYXMgaW5wdXQuKTIuODI4IEYgLjMyNyhPdGhlciBvcHRpb25zKQorNS4zMjcgRihoYSkxNDQgMzI2LjQgUSAuMyAtLjE1KHZlIHQpLS4yIEgoaGUgZm9sbG8pLjE1IEUod2luZyBtZWFuaW5nczopCistLjI1IEUgRjE8YWQ3Mz4xNDQgMzM4LjQgUSBGMChFbmFibGUgXChzZXRcKSBlYWNoKTI2LjQxIEUgRjIob3B0bmFtZSkyLjUKK0UgRjAoLilBIEYxPGFkNzU+MTQ0IDM1MC40IFEgRjAoRGlzYWJsZSBcKHVuc2V0XCkgZWFjaCkyNC43NCBFIEYyCisob3B0bmFtZSkyLjUgRSBGMCguKUEgRjE8YWQ3MT4xNDQgMzYyLjQgUSBGMCAuMDAzKFN1cHByZXNzZXMgbm9ybWFsIG91dFwKK3B1dCBcKHF1aWV0IG1vZGVcKTsgdGhlIHJldHVybiBzdGF0dXMgaW5kaWNhdGVzIHdoZXRoZXIgdGhlKTI0Ljc0IEYgRjIKKyhvcHRuYW1lKTIuNTA0IEUgRjAoaXMpMi41MDQgRSAuMjU2KHNldCBvciB1bnNldC4pMTgwIDM3NC40IFIgLjI1NgorKElmIG11bHRpcGxlKTUuMjU2IEYgRjIob3B0bmFtZSkyLjc1NiBFIEYwKGFyKTIuNzU2IEUgLjI1NgorKGd1bWVudHMgYXJlIGdpKS0uMTggRiAtLjE1KHZlKS0uMjUgRyAyLjc1NihudykuMTUgRyhpdGgpLTIuNzU2IEUgRjEKKzxhZDcxPjIuNzU2IEUgRjAgMi43NTUoLHQpQyAuMjU1KGhlIHJldHVybiBzdGF0dXMgaXMgemVybyBpZiktMi43NTUgRgorKGFsbCkxODAgMzg2LjQgUSBGMihvcHRuYW1lcykyLjUgRSBGMChhcmUgZW5hYmxlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLikKKzIuNSBFIEYxPGFkNmY+MTQ0IDM5OC40IFEgRjAoUmVzdHJpY3RzIHRoZSB2KTI1LjMgRShhbHVlcyBvZiktLjI1IEUgRjIKKyhvcHRuYW1lKTIuNSBFIEYwKHRvIGJlIHRob3NlIGRlXDIxNG5lZCBmb3IgdGhlKTIuNSBFIEYxPGFkNmY+Mi41IEUgRjAKKyhvcHRpb24gdG8gdGhlKTIuNSBFIEYxKHNldCkyLjUgRSBGMCAtLjIoYnUpMi41IEcoaWx0aW4uKS4yIEUgLjEyNworKElmIGVpdGhlcikxNDQgNDE1LjIgUiBGMTxhZDczPjIuNjI3IEUgRjAob3IpMi42MjcgRSBGMTxhZDc1PjIuNjI3IEUgRjAKKy4xMjcoaXMgdXNlZCB3aXRoIG5vKTIuNjI3IEYgRjIob3B0bmFtZSkyLjYyNyBFIEYwKGFyKTIuNjI3IEUgLjEyNworKGd1bWVudHMsIHRoZSBkaXNwbGF5IGlzIGxpbWl0ZWQgdG8gdGhvc2Ugb3B0aW9ucyB3aGljaCktLjE4IEYgMS4wMjQKKyhhcmUgc2V0IG9yIHVuc2V0LCByZXNwZWN0aSkxNDQgNDI3LjIgUiAtLjE1KHZlKS0uMjUgRyhseSkuMTUgRSA2LjAyNAorKC5VKS0uNjUgRyAxLjAyNChubGVzcyBvdGhlcndpc2Ugbm90ZWQsIHRoZSktNi4wMjQgRiBGMShzaG9wdCkzLjUyMyBFIEYwCisxLjAyMyhvcHRpb25zIGFyZSBkaXNhYmxlZCBcKHVuc2V0XCkgYnkpMy41MjMgRihkZWYpMTQ0IDQzOS4yIFEoYXVsdC4pCistLjEgRSAxLjU0NChUaGUgcmV0dXJuIHN0YXR1cyB3aGVuIGxpc3Rpbmcgb3B0aW9ucyBpcyB6ZXJvIGlmIGFsbCkxNDQKKzQ1NiBSIEYyKG9wdG5hbWVzKTQuMDQ0IEUgRjAgMS41NDUoYXJlIGVuYWJsZWQsIG5vbi16ZXJvIG90aGVyd2lzZS4pCis0LjA0NSBGIC42OTYKKyhXaGVuIHNldHRpbmcgb3IgdW5zZXR0aW5nIG9wdGlvbnMsIHRoZSByZXR1cm4gc3RhdHVzIGlzIHplcm8gdW5sZXNzIGFuKQorMTQ0IDQ2OCBSIEYyKG9wdG5hbWUpMy4xOTYgRSBGMCAuNjk2KGlzIG5vdCBhIHYpMy4xOTYgRiAuNjk1KGFsaWQgc2hlbGwpCistLjI1IEYob3B0aW9uLikxNDQgNDgwIFEoVGhlIGxpc3Qgb2YpMTQ0IDQ5Ni44IFEgRjEoc2hvcHQpMi41IEUgRjAKKyhvcHRpb25zIGlzOikyLjUgRSBGMShhdXRvY2QpMTQ0IDUxNC44IFEgRjAgLjE5OQorKElmIHNldCwgYSBjb21tYW5kIG5hbWUgdGhhdCBpcyB0aGUgbmFtZSBvZiBhIGRpcmVjdG9yeSBpcyBlKTExLjExIEYKKy0uMTUoeGUpLS4xNSBHIC4yKGN1dGVkIGFzIGlmIGl0IHdlcmUgdGhlIGFyKS4xNSBGKGd1LSktLjE4IEUKKyhtZW50IHRvIHRoZSkxODQgNTI2LjggUSBGMShjZCkyLjUgRSBGMCAyLjUoY29tbWFuZC4gVGhpcykyLjUgRgorKG9wdGlvbiBpcyBvbmx5IHVzZWQgYnkgaW50ZXJhY3RpKTIuNSBFIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbHMuKS4xNSBFCitGMShjZGFibGVfdikxNDQgNTM4LjggUShhcnMpLS4xIEUgRjAgLjE1NihJZiBzZXQsIGFuIGFyKTE4NCA1NTAuOCBSIC4xNTYKKyhndW1lbnQgdG8gdGhlKS0uMTggRiBGMShjZCkyLjY1NiBFIEYwIC0uMihidSkyLjY1NiBHIC4xNTUKKyhpbHRpbiBjb21tYW5kIHRoYXQgaXMgbm90IGEgZGlyZWN0b3J5IGlzIGFzc3VtZWQgdG8gYmUgdGhlKS4yIEYKKyhuYW1lIG9mIGEgdikxODQgNTYyLjggUShhcmlhYmxlIHdob3NlIHYpLS4yNSBFCisoYWx1ZSBpcyB0aGUgZGlyZWN0b3J5IHRvIGNoYW5nZSB0by4pLS4yNSBFIEYxKGNkc3BlbGwpMTQ0IDU3NC44IFEgRjAKKzEuMDU1CisoSWYgc2V0LCBtaW5vciBlcnJvcnMgaW4gdGhlIHNwZWxsaW5nIG9mIGEgZGlyZWN0b3J5IGNvbXBvbmVudCBpbiBhKQorMTAuNTUgRiBGMShjZCkzLjU1NSBFIEYwIDEuMDU1KGNvbW1hbmQgd2lsbCBiZSkzLjU1NSBGIDMuOTg4CisoY29ycmVjdGVkLiBUaGUpMTg0IDU4Ni44IFIgMS40ODgoZXJyb3JzIGNoZWNrKTMuOTg4IEYgMS40ODcKKyhlZCBmb3IgYXJlIHRyYW5zcG9zZWQgY2hhcmFjdGVycywgYSBtaXNzaW5nIGNoYXJhY3RlciktLjEgRiAzLjk4NygsYSkKKy0uNCBHKG5kKS0zLjk4NyBFIC41NTIob25lIGNoYXJhY3RlciB0b28gbWFuKTE4NCA1OTguOCBSIDQuMzUyIC0uNjUKKyh5LiBJKS0uMTUgSCAzLjA1MihmYWMpLjY1IEcgLjU1MgorKG9ycmVjdGlvbiBpcyBmb3VuZCwgdGhlIGNvcnJlY3RlZCBcMjE0bGUgbmFtZSBpcyBwcmludGVkLCBhbmQpLTMuMDUyIEYKKyh0aGUgY29tbWFuZCBwcm9jZWVkcy4pMTg0IDYxMC44IFEKKyhUaGlzIG9wdGlvbiBpcyBvbmx5IHVzZWQgYnkgaW50ZXJhY3RpKTUgRSAuMyAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzLikKKy4xNSBFIEYxKGNoZWNraGFzaCkxNDQgNjIyLjggUSBGMCAyLjA4KElmIHNldCwpMTg0IDYzNC44IFIgRjEoYmFzaCk0LjU4CitFIEYwIDIuMDc5KGNoZWNrcyB0aGF0IGEgY29tbWFuZCBmb3VuZCBpbiB0aGUgaGFzaCB0YWJsZSBlKTQuNTggRiAyLjA3OQorKHhpc3RzIGJlZm9yZSB0cnlpbmcgdG8pLS4xNSBGIC0uMTUoZXhlKTE4NCA2NDYuOCBTKGN1dGUgaXQuKS4xNSBFCisoSWYgYSBoYXNoZWQgY29tbWFuZCBubyBsb25nZXIgZSk1IEUKKyh4aXN0cywgYSBub3JtYWwgcGF0aCBzZWFyY2ggaXMgcGVyZm9ybWVkLiktLjE1IEUgRjEoY2hlY2tqb2JzKTE0NCA2NTguOAorUSBGMCAuNDQ4KElmIHNldCwpMTg0IDY3MC44IFIgRjEoYmFzaCkyLjk0OCBFIEYwIC40NDgKKyhsaXN0cyB0aGUgc3RhdHVzIG9mIGFuKTIuOTQ4IEYgMi45NDkoeXMpLS4xNSBHIC40NDkKKyh0b3BwZWQgYW5kIHJ1bm5pbmcgam9icyBiZWZvcmUgZSktMi45NDkgRiAuNDQ5KHhpdGluZyBhbiBpbnRlcmFjdGkpLS4xNQorRiAtLjE1KHZlKS0uMjUgRyAzLjQzOShzaGVsbC4gSWYpMTg0IDY4Mi44IFIoYW4pMy40MzkgRSAzLjQzOSh5aiktLjE1IEcKKy45Mzgob2JzIGFyZSBydW5uaW5nLCB0aGlzIGNhdXNlcyB0aGUgZSktMy40MzkgRiAuOTM4CisoeGl0IHRvIGJlIGRlZmVycmVkIHVudGlsIGEgc2Vjb25kIGUpLS4xNSBGIC45MzgoeGl0IGlzKS0uMTUgRiAyLjIwMworKGF0dGVtcHRlZCB3aXRob3V0IGFuIGludGVydikxODQgNjk0LjggUiAyLjIwMyhlbmluZyBjb21tYW5kIFwoc2VlKS0uMTUKK0YvRjMgOS9UaW1lcy1Cb2xkQDAgU0YgMi4yMDMoSk9CIENPTlRSKTQuNzAzIEYoT0wpLS4yNyBFIEYwKGFibyk0LjQ1MyBFCistLjE1KHZlKS0uMTUgRyA0LjcwMyhcKS4gVGhlKS4xNSBGKHNoZWxsKTQuNzA0IEUoYWwpMTg0IDcwNi44IFEgLS4xKHdhKQorLS4xIEcoeXMgcG9zdHBvbmVzIGUpLjEgRSh4aXRpbmcgaWYgYW4pLS4xNSBFIDIuNSh5aiktLjE1IEcKKyhvYnMgYXJlIHN0b3BwZWQuKS0yLjUgRShHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1CitFKDYzKTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDY0IDY0CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihsb2dpbl9zaGVsbCkxNDQgODQgUSBGMCAuNDg2Ci0oVGhlIHNoZWxsIHNldHMgdGhpcyBvcHRpb24gaWYgaXQgaXMgc3RhcnRlZCBhcyBhIGxvZ2luIHNoZWxsIFwoc2VlKTE4NAotOTYgUi9GMiA5L1RpbWVzLUJvbGRAMCBTRihJTlYpMi45ODcgRShPQ0EpLS40MDUgRShUSU9OKS0uODU1IEUgRjAoYWJvKQotMi43MzcgRSAtLjE1KHZlKS0uMTUgRyAyLjk4NyhcKS4gVGhlKS4xNSBGIC0uMjUodmEpMTg0IDEwOCBTCi0obHVlIG1heSBub3QgYmUgY2hhbmdlZC4pLjI1IEUgRjEobWFpbHdhcikxNDQgMTIwIFEobiktLjE1IEUgRjAgLjgxNQotKElmIHNldCwgYW5kIGEgXDIxNGxlIHRoYXQpMTg0IDEzMiBSIEYxKGJhc2gpMy4zMTUgRSBGMCAuODE0Ci0oaXMgY2hlY2tpbmcgZm9yIG1haWwgaGFzIGJlZW4gYWNjZXNzZWQgc2luY2UgdGhlIGxhc3QgdGltZSBpdCkzLjMxNSBGCi0tLjEod2EpMTg0IDE0NCBTIDIuNShzYykuMSBHKGhlY2spLTIuNSBFKGVkLCB0aGUgbWVzc2FnZSBgKS0uMSBFCi0oYFRoZSBtYWlsIGluKS0uNzQgRS9GMyAxMC9UaW1lcy1JdGFsaWNAMCBTRihtYWlsXDIxNGxlKTIuNSBFIEYwCi0oaGFzIGJlZW4gcmVhZCcpMi41IEUgMi41KCdpKS0uNzQgRyAyLjUoc2QpLTIuNSBHKGlzcGxheWVkLiktMi41IEUgRjEKLShub19lbXB0eV9jbWRfY29tcGxldGlvbikxNDQgMTU2IFEgRjAgLjE0NShJZiBzZXQsIGFuZCkxODQgMTY4IFIgRjEgLS4xOAotKHJlKTIuNjQ1IEcoYWRsaW5lKS4xOCBFIEYwIC4xNDUoaXMgYmVpbmcgdXNlZCwpMi42NDUgRiBGMShiYXNoKTIuNjQ2IEUKLUYwIC4xNDYod2lsbCBub3QgYXR0ZW1wdCB0byBzZWFyY2ggdGhlKTIuNjQ2IEYgRjEgLS43NChQQSkyLjY0NiBHKFRIKQotLS4yMSBFIEYwIC4xNDYoZm9yIHBvc3NpYmxlKTIuNjQ2IEYKLShjb21wbGV0aW9ucyB3aGVuIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkIG9uIGFuIGVtcHR5IGxpbmUuKTE4NCAxODAgUSBGMQotKG5vY2FzZWdsb2IpMTQ0IDE5MiBRIEYwIC40MzcoSWYgc2V0LCkxODQgMjA0IFIgRjEoYmFzaCkyLjkzNyBFIEYwIC40MzYKLShtYXRjaGVzIFwyMTRsZW5hbWVzIGluIGEgY2FzZVwyNTVpbnNlbnNpdGkpMi45MzcgRiAuNzM2IC0uMTUodmUgZiktLjI1Ci1IIC40MzYoYXNoaW9uIHdoZW4gcGVyZm9ybWluZyBwYXRobmFtZSkuMDUgRiAtLjE1KGV4KTE4NCAyMTYgUwotKHBhbnNpb24gXChzZWUpLjE1IEUgRjEgLS4xKFBhKTIuNSBHKHRobmFtZSBFeHBhbnNpb24pLjEgRSBGMChhYm8pMi41IEUKLS0uMTUodmUpLS4xNSBHKFwpLikuMTUgRSBGMShub2Nhc2VtYXRjaCkxNDQgMjI4IFEgRjAgMS4xOTMoSWYgc2V0LCkxODQKLTI0MCBSIEYxKGJhc2gpMy42OTMgRSBGMCAxLjE5NChtYXRjaGVzIHBhdHRlcm5zIGluIGEgY2FzZVwyNTVpbnNlbnNpdGkpCi0zLjY5MyBGIDEuNDk0IC0uMTUodmUgZiktLjI1IEggMS4xOTQoYXNoaW9uIHdoZW4gcGVyZm9ybWluZyBtYXRjaGluZykuMDUKLUYod2hpbGUgZSkxODQgMjUyIFEgLS4xNSh4ZSktLjE1IEcoY3V0aW5nKS4xNSBFIEYxKGNhc2UpMi41IEUgRjAob3IpMi41Ci1FIEYxKFtbKTIuNSBFIEYwKGNvbmRpdGlvbmFsIGNvbW1hbmRzLikyLjUgRSBGMShudWxsZ2xvYikxNDQgMjY0IFEgRjAKLS44NTUoSWYgc2V0LCkxODQgMjc2IFIgRjEoYmFzaCkzLjM1NSBFIEYwKGFsbG8pMy4zNTUgRSAuODU1Ci0od3MgcGF0dGVybnMgd2hpY2ggbWF0Y2ggbm8gXDIxNGxlcyBcKHNlZSktLjI1IEYgRjEgLS4xKFBhKTMuMzU0IEcgLjg1NAotKHRobmFtZSBFeHBhbnNpb24pLjEgRiBGMChhYm8pMy4zNTQgRSAtLjE1KHZlKS0uMTUgRyAzLjM1NChcKXQpLjE1IEcobykKLS0zLjM1NCBFIC0uMTUoZXgpMTg0IDI4OCBTKHBhbmQgdG8gYSBudWxsIHN0cmluZywgcmF0aGVyIHRoYW4gdGhlbXNlbHYpCi0uMTUgRShlcy4pLS4xNSBFIEYxKHByKTE0NCAzMDAgUShvZ2NvbXApLS4xOCBFIEYwIC42NzYKLShJZiBzZXQsIHRoZSBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmKTE4NCAzMTIgUiAuNjc3KGFjaWxpdGllcyBcKHNlZSkKLS0uMSBGIEYxKFByKTMuMTc3IEUgLjY3NyhvZ3JhbW1hYmxlIENvbXBsZXRpb24pLS4xOCBGIEYwKGFibykzLjE3NyBFCi0tLjE1KHZlKS0uMTUgRyhcKSkuMTUgRShhcmUgZW5hYmxlZC4pMTg0IDMyNCBRCi0oVGhpcyBvcHRpb24gaXMgZW5hYmxlZCBieSBkZWYpNSBFKGF1bHQuKS0uMSBFIEYxKHByKTE0NCAzMzYgUShvbXB0dikKLS0uMTggRShhcnMpLS4xIEUgRjAgMS40NDgoSWYgc2V0LCBwcm9tcHQgc3RyaW5ncyB1bmRlcikxODQgMzQ4IFIgMS40NDgKLShnbyBwYXJhbWV0ZXIgZSktLjE4IEYgMS40NDcoeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhcml0aG1ldGljKQotLS4xNSBGIC0uMTUoZXgpMTg0IDM2MCBTIC4xNyhwYW5zaW9uLCBhbmQgcXVvdGUgcmVtbykuMTUgRiAtLjI1KHZhKS0uMTUKLUcgMi42NyhsYSkuMjUgRyAuMTcoZnRlciBiZWluZyBlKS0yLjY3IEYgLjE3KHhwYW5kZWQgYXMgZGVzY3JpYmVkIGluKQotLS4xNSBGIEYyKFBSKTIuNjcxIEUoT01QVElORyktLjI3IEUgRjAoYWJvKTIuNDIxIEUgLS4xNSh2ZSktLjE1IEcoLikuMTUKLUUoVGhpcyBvcHRpb24gaXMgZW5hYmxlZCBieSBkZWYpMTg0IDM3MiBRKGF1bHQuKS0uMSBFIEYxIC0uMTgocmUpMTQ0IDM4NAotUyhzdHJpY3RlZF9zaGVsbCkuMTggRSBGMCAxLjA2OQotKFRoZSBzaGVsbCBzZXRzIHRoaXMgb3B0aW9uIGlmIGl0IGlzIHN0YXJ0ZWQgaW4gcmVzdHJpY3RlZCBtb2RlIFwoc2VlKQotMTg0IDM5NiBSIEYyIDEuMDY5KFJFU1RSSUNURUQgU0hFTEwpMy41NjkgRiBGMChiZWxvKTE4NCA0MDggUSA0LjE3OAotKHdcKS4gVGhlKS0uMjUgRiAtLjI1KHZhKTQuMTc4IEcgMS42NzgobHVlIG1heSBub3QgYmUgY2hhbmdlZC4pLjI1IEYKLTEuNjc4KFRoaXMgaXMgbm90IHJlc2V0IHdoZW4gdGhlIHN0YXJ0dXAgXDIxNGxlcyBhcmUpNi42NzggRiAtLjE1KGV4ZSkKLTE4NCA0MjAgUyhjdXRlZCwgYWxsbykuMTUgRSh3aW5nIHRoZSBzdGFydHVwIFwyMTRsZXMgdG8gZGlzY28pLS4yNSBFCi0tLjE1KHZlKS0uMTUgRyAyLjUocncpLjE1IEcoaGV0aGVyIG9yIG5vdCBhIHNoZWxsIGlzIHJlc3RyaWN0ZWQuKS0yLjUgRQotRjEoc2hpZnRfdikxNDQgNDMyIFEoZXJib3NlKS0uMSBFIEYwIC41MDIoSWYgc2V0LCB0aGUpMTg0IDQ0NCBSIEYxCi0oc2hpZnQpMy4wMDIgRSBGMCAtLjIoYnUpMy4wMDIgRyAuNTAxCi0oaWx0aW4gcHJpbnRzIGFuIGVycm9yIG1lc3NhZ2Ugd2hlbiB0aGUgc2hpZnQgY291bnQgZSkuMiBGIC41MDEKLSh4Y2VlZHMgdGhlIG51bWJlciktLjE1IEYob2YgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLikxODQgNDU2IFEgRjEoc291cikKLTE0NCA0NjggUShjZXBhdGgpLS4xOCBFIEYwIC43NyhJZiBzZXQsIHRoZSkxODQgNDgwIFIgRjEoc291cikzLjI3IEUoY2UpCi0tLjE4IEUgRjAoXCgpMy4yNyBFIEYxKC4pQSBGMCAzLjI3KFwpYilDIC43Nyh1aWx0aW4gdXNlcyB0aGUgdiktMy40NyBGCi0uNzcxKGFsdWUgb2YpLS4yNSBGIEYyIC0uNjY2KFBBKTMuMjcxIEcoVEgpLS4xODkgRSBGMCAuNzcxCi0odG8gXDIxNG5kIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUpMy4wMjEgRgotKFwyMTRsZSBzdXBwbGllZCBhcyBhbiBhcikxODQgNDkyIFEgMi41KGd1bWVudC4gVGhpcyktLjE4IEYKLShvcHRpb24gaXMgZW5hYmxlZCBieSBkZWYpMi41IEUoYXVsdC4pLS4xIEUgRjEoeHBnX2VjaG8pMTQ0IDUwNCBRIEYwCi0oSWYgc2V0LCB0aGUpMTg0IDUxNiBRIEYxKGVjaG8pMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluIGUpLjIgRQotKHhwYW5kcyBiYWNrc2xhc2gtZXNjYXBlIHNlcXVlbmNlcyBieSBkZWYpLS4xNSBFKGF1bHQuKS0uMSBFIEYxKHN1c3BlbmQpCi0xMDggNTI4IFEgRjAoWykyLjUgRSBGMTxhZDY2PkEgRjAoXSlBIDEuMDAyKFN1c3BlbmQgdGhlIGUpMTQ0IDU0MCBSIC0uMTUKLSh4ZSktLjE1IEcgMS4wMDIoY3V0aW9uIG9mIHRoaXMgc2hlbGwgdW50aWwgaXQgcmVjZWkpLjE1IEYgLS4xNSh2ZSktLjI1Ci1HIDMuNTAxKHNhKS4xNSBHIEYyKFNJR0NPTlQpQSBGMCAzLjUwMShzaWduYWwuIEEpMy4yNTEgRiAxLjAwMQotKGxvZ2luIHNoZWxsIGNhbm5vdCBiZSkzLjUwMSBGIC4wMjIoc3VzcGVuZGVkOyB0aGUpMTQ0IDU1MiBSIEYxPGFkNjY+Ci0yLjUyMiBFIEYwIC4wMjIob3B0aW9uIGNhbiBiZSB1c2VkIHRvIG8pMi41MjIgRiAtLjE1KHZlKS0uMTUgRyAuMDIyCi0ocnJpZGUgdGhpcyBhbmQgZm9yY2UgdGhlIHN1c3BlbnNpb24uKS4xNSBGIC4wMjMoVGhlIHJldHVybiBzdGF0dXMgaXMpCi01LjAyMyBGIDIuNSgwdSkxNDQgNTY0IFMobmxlc3MgdGhlIHNoZWxsIGlzIGEgbG9naW4gc2hlbGwgYW5kKS0yLjUgRSBGMQotPGFkNjY+Mi41IEUgRjAoaXMgbm90IHN1cHBsaWVkLCBvciBpZiBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZC4pMi41IEUKLUYxKHRlc3QpMTA4IDU3NiBRIEYzIC0uMihleCkyLjUgRyhwcikuMiBFIEYxKFspMTA4IDU4OCBRIEYzIC0uMihleCkyLjUgRwotKHByKS4yIEUgRjEoXSkyLjUgRSBGMCAxLjE1Ci0oUmV0dXJuIGEgc3RhdHVzIG9mIDAgb3IgMSBkZXBlbmRpbmcgb24gdGhlIGUpNi43NyBGIC0uMjUodmEpLS4yNSBHIDEuMTUKLShsdWF0aW9uIG9mIHRoZSBjb25kaXRpb25hbCBlKS4yNSBGKHhwcmVzc2lvbiktLjE1IEUgRjMgLS4yKGV4KTMuNjUgRwotKHByKS4yIEUgRjAgNi4xNSguRSkuNzMgRyhhY2gpLTYuMTUgRSAxLjE4NwotKG9wZXJhdG9yIGFuZCBvcGVyYW5kIG11c3QgYmUgYSBzZXBhcmF0ZSBhcikxNDQgNjAwIFIgMy42ODgKLShndW1lbnQuIEV4cHJlc3Npb25zKS0uMTggRiAxLjE4OChhcmUgY29tcG9zZWQgb2YgdGhlIHByaW1hcmllcykzLjY4OCBGCi0xLjg5KGRlc2NyaWJlZCBhYm8pMTQ0IDYxMiBSIDIuMTkgLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYyCi0oQ09ORElUSU9OKTQuMzkgRSAxLjg5KEFMIEVYUFJFU1NJT05TKS0uMTggRi9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLilBCi1GMSh0ZXN0KTYuMzkgRSBGMCAxLjg4OShkb2VzIG5vdCBhY2NlcHQgYW4pNC4zODkgRiA0LjM4OSh5byktLjE1IEcgMS44ODkKLShwdGlvbnMsIG5vciktNC4zODkgRihkb2VzIGl0IGFjY2VwdCBhbmQgaWdub3JlIGFuIGFyKTE0NCA2MjQgUQotKGd1bWVudCBvZiktLjE4IEUgRjE8YWRhZD4yLjUgRSBGMChhcyBzaWduaWZ5aW5nIHRoZSBlbmQgb2Ygb3B0aW9ucy4pMi41Ci1FIC43ODUoRXhwcmVzc2lvbnMgbWF5IGJlIGNvbWJpbmVkIHVzaW5nIHRoZSBmb2xsbykxNDQgNjQyIFIgLjc4NgotKHdpbmcgb3BlcmF0b3JzLCBsaXN0ZWQgaW4gZGVjcmVhc2luZyBvcmRlciBvZiBwcmVjZS0pLS4yNSBGIDIuNQotKGRlbmNlLiBUaGUpMTQ0IDY1NCBSIC0uMjUoZXZhKTIuNSBHCi0obHVhdGlvbiBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2YgYXIpLjI1IEUoZ3VtZW50czsgc2VlIGJlbG8pLS4xOCBFIC0uNjUKLSh3LiktLjI1IEcgRjEoISkxNDQgNjY2IFEgRjMgLS4yKGV4KTIuNSBHKHByKS4yIEUgRjAgLS4zNShUcikxMi42IEcKLSh1ZSBpZikuMzUgRSBGMyAtLjIoZXgpMi41IEcocHIpLjIgRSBGMChpcyBmKTMuMjMgRShhbHNlLiktLjEgRSBGMShcKCkKLTE0NCA2NzggUSBGMyAtLjIoZXgpMi41IEcocHIpLjIgRSBGMShcKSkyLjUgRSBGMCAuMjYoUmV0dXJucyB0aGUgdik2Ljc3Ci1GIC4yNihhbHVlIG9mKS0uMjUgRiBGMyAtLjIoZXgpMi43NiBHKHByKS4yIEUgRjAgNS4yNiguVClDIC4yNgotKGhpcyBtYXkgYmUgdXNlZCB0byBvKS01LjI2IEYgLS4xNSh2ZSktLjE1IEcgLjI2Ci0ocnJpZGUgdGhlIG5vcm1hbCBwcmVjZWRlbmNlIG9mIG9wZXJhLSkuMTUgRih0b3JzLikxODAgNjkwIFEgRjMgLS4yKGV4KQotMTQ0IDcwMiBTKHByMSkuMiBFIEYwPGFkPjIuNSBFIEYxKGEpQSBGMyAtLjIoZXgpMi41IEcocHIyKS4yIEUgRjAgLS4zNQotKFRyKTE4MCA3MTQgUyh1ZSBpZiBib3RoKS4zNSBFIEYzIC0uMihleCkyLjUgRyhwcjEpLjIgRSBGMChhbmQpMi41IEUgRjMKLS0uMihleCkyLjUgRyhwcjIpLjIgRSBGMChhcmUgdHJ1ZS4pMi41MiBFKEdOVSBCYXNoLTQuMCk3MiA3NjggUQotKDIwMDkgRmVicnVhcnkgNykxNDAuOTYgRSg2NCkxOTAuOTUgRSAwIENnIEVQCistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGNoZWNrd2luc2l6ZSkxNDQgODQgUSBGMCAuNzk3KElmIHNldCwpMTg0Cis5NiBSIEYxKGJhc2gpMy4yOTcgRSBGMCAuNzk3KGNoZWNrcyB0aGUgd2luZG8pMy4yOTcgRiAzLjI5Nyh3cyktLjI1IEcKKy43OTYoaXplIGFmdGVyIGVhY2ggY29tbWFuZCBhbmQsIGlmIG5lY2Vzc2FyeSktMy4yOTcgRiAzLjI5NigsdSktLjY1IEcKKy43OTYocGRhdGVzIHRoZSktMy4yOTYgRiAtLjI1KHZhKTE4NCAxMDggUyhsdWVzIG9mKS4yNSBFL0YyIDkKKy9UaW1lcy1Cb2xkQDAgU0YoTElORVMpMi41IEUgRjAoYW5kKTIuMjUgRSBGMihDT0xVTU5TKTIuNSBFL0YzIDkKKy9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMShjbWRoaXN0KTE0NCAxMjAgUSBGMCAxLjIwMihJZiBzZXQsKTYuMTEgRiBGMQorKGJhc2gpMy43MDIgRSBGMCAxLjIwMihhdHRlbXB0cyB0byBzYSkzLjcwMiBGIDEuNTAyIC0uMTUodmUgYSktLjIgSAorMS4yMDIobGwgbGluZXMgb2YgYSBtdWx0aXBsZS1saW5lIGNvbW1hbmQgaW4gdGhlIHNhbWUgaGlzdG9yeSkuMTUgRgorKGVudHJ5KTE4NCAxMzIgUSA1KC5UKS0uNjUgRyhoaXMgYWxsbyktNSBFCisod3MgZWFzeSByZS1lZGl0aW5nIG9mIG11bHRpLWxpbmUgY29tbWFuZHMuKS0uMjUgRSBGMShjb21wYXQzMSkxNDQgMTQ0IFEKK0YwIC40MihJZiBzZXQsKTE4NCAxNTYgUiBGMShiYXNoKTIuOTIgRSBGMCAuNDIoY2hhbmdlcyBpdHMgYmVoYSkyLjkyIEYKKy40MTkodmlvciB0byB0aGF0IG9mIHYpLS4yIEYgLjQxOShlcnNpb24gMy4xIHdpdGggcmVzcGVjdCB0byBxdW90ZWQgYXIpCistLjE1IEYoZ3VtZW50cyktLjE4IEUodG8gdGhlIGNvbmRpdGlvbmFsIGNvbW1hbmQnKTE4NCAxNjggUSAyLjUocz0pLS41NQorRyAyLjUofm8pLTIuNSBHKHBlcmF0b3IpLTIuNSBFKC4pLS41NSBFIEYxKGNvbXBhdDMyKTE0NCAxODAgUSBGMCAxLjQwOQorKElmIHNldCwpMTg0IDE5MiBSIEYxKGJhc2gpMy45MDkgRSBGMCAxLjQwOShjaGFuZ2VzIGl0cyBiZWhhKTMuOTA5IEYKKzEuNDA5KHZpb3IgdG8gdGhhdCBvZiB2KS0uMiBGIDEuNDEKKyhlcnNpb24gMy4yIHdpdGggcmVzcGVjdCB0byBsb2NhbGUtc3BlY2lcMjE0YyktLjE1IEYKKyhzdHJpbmcgY29tcGFyaXNvbiB3aGVuIHVzaW5nIHRoZSBjb25kaXRpb25hbCBjb21tYW5kJykxODQgMjA0IFEgMi41CisoczxhKS0uNTUgRyhuZCA+IG9wZXJhdG9ycy4pLTIuNSBFIEYxKGNvbXBhdDQwKTE0NCAyMTYgUSBGMCAxLjQxCisoSWYgc2V0LCkxODQgMjI4IFIgRjEoYmFzaCkzLjkxIEUgRjAgMS40MShjaGFuZ2VzIGl0cyBiZWhhKTMuOTEgRiAxLjQwOQorKHZpb3IgdG8gdGhhdCBvZiB2KS0uMiBGIDEuNDA5CisoZXJzaW9uIDQuMCB3aXRoIHJlc3BlY3QgdG8gbG9jYWxlLXNwZWNpXDIxNGMpLS4xNSBGIDEuNjkyCisoc3RyaW5nIGNvbXBhcmlzb24gd2hlbiB1c2luZyB0aGUgY29uZGl0aW9uYWwgY29tbWFuZCcpMTg0IDI0MCBSIDQuMTkzCisoczxhKS0uNTUgRyAxLjY5MyhuZCA+IG9wZXJhdG9ycyBhbmQgdGhlKS00LjE5MyBGKGVmKTE4NCAyNTIgUQorKGZlY3Qgb2YgaW50ZXJydXB0aW5nIGEgY29tbWFuZCBsaXN0LiktLjI1IEUgRjEoZGlyc3BlbGwpMTQ0IDI2NCBRIEYwCisuODU5KElmIHNldCwpNy43NyBGIEYxKGJhc2gpMy4zNTkgRSBGMCAuODU4CisoYXR0ZW1wdHMgc3BlbGxpbmcgY29ycmVjdGlvbiBvbiBkaXJlY3RvcnkgbmFtZXMgZHVyaW5nIHcpMy4zNTkgRiAuODU4Cisob3JkIGNvbXBsZXRpb24gaWYpLS4xIEYKKyh0aGUgZGlyZWN0b3J5IG5hbWUgaW5pdGlhbGx5IHN1cHBsaWVkIGRvZXMgbm90IGUpMTg0IDI3NiBRKHhpc3QuKS0uMTUgRQorRjEoZG90Z2xvYikxNDQgMjg4IFEgRjAgLjE2NShJZiBzZXQsKTcuNzcgRiBGMShiYXNoKTIuNjY1IEUgRjAgLjE2NQorKGluY2x1ZGVzIFwyMTRsZW5hbWVzIGJlKTIuNjY1IEYgLjE2NShnaW5uaW5nIHdpdGggYSBgLiktLjE1IEYgMi42NjUoJ2kpCistLjcgRyAyLjY2NShudCktMi42NjUgRyAuMTY1KGhlIHJlc3VsdHMgb2YgcGF0aG5hbWUgZSktMi42NjUgRgorKHhwYW5zaW9uLiktLjE1IEUgRjEoZXhlY2ZhaWwpMTQ0IDMwMCBRIEYwIDEuMzg3CisoSWYgc2V0LCBhIG5vbi1pbnRlcmFjdGkpNy43OSBGIDEuNjg3IC0uMTUodmUgcyktLjI1IEggMS4zODYKKyhoZWxsIHdpbGwgbm90IGUpLjE1IEYgMS4zODYoeGl0IGlmIGl0IGNhbm5vdCBlKS0uMTUgRiAtLjE1KHhlKS0uMTUgRworMS4zODYoY3V0ZSB0aGUgXDIxNGxlIHNwZWNpXDIxNGVkIGFzIGFuKS4xNSBGKGFyKTE4NCAzMTIgUQorKGd1bWVudCB0byB0aGUpLS4xOCBFIEYxKGV4ZWMpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluIGNvbW1hbmQuKS4yIEUKKyhBbiBpbnRlcmFjdGkpNSBFIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbCBkb2VzIG5vdCBlKS4xNSBFKHhpdCBpZiktLjE1CitFIEYxKGV4ZWMpMi41IEUgRjAgLS4xKGZhKTIuNSBHKGlscy4pLjEgRSBGMShleHBhbmRfYWxpYXNlcykxNDQgMzI0IFEgRjAKKy43MTYoSWYgc2V0LCBhbGlhc2VzIGFyZSBlKTE4NCAzMzYgUiAuNzE3KHhwYW5kZWQgYXMgZGVzY3JpYmVkIGFibyktLjE1CitGIDEuMDE3IC0uMTUodmUgdSktLjE1IEgobmRlcikuMTUgRSBGMihBTElBU0VTKTMuMjE3IEUgRjMoLilBIEYwIC43MTcKKyhUaGlzIG9wdGlvbiBpcyBlbmFibGVkKTUuMjE3IEYoYnkgZGVmKTE4NCAzNDggUShhdWx0IGZvciBpbnRlcmFjdGkpLS4xCitFIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbHMuKS4xNSBFIEYxKGV4dGRlYikxNDQgMzYwIFEodWcpLS4yIEUgRjAKKyhJZiBzZXQsIGJlaGEpMTg0IDM3MiBRKHZpb3IgaW50ZW5kZWQgZm9yIHVzZSBieSBkZWIpLS4yIEUKKyh1Z2dlcnMgaXMgZW5hYmxlZDopLS4yIEUgRjEoMS4pMTg0IDM4NCBRIEYwKFRoZSkyOC41IEUgRjE8YWQ0Nj40LjI1MSBFCitGMCAxLjc1MShvcHRpb24gdG8gdGhlKTQuMjUxIEYgRjEoZGVjbGFyKTQuMjUxIEUoZSktLjE4IEUgRjAgLS4yKGJ1KQorNC4yNTEgRyAxLjc1MShpbHRpbiBkaXNwbGF5cyB0aGUgc291cmNlIFwyMTRsZSBuYW1lIGFuZCBsaW5lKS4yIEYKKyhudW1iZXIgY29ycmVzcG9uZGluZyB0byBlYWNoIGZ1bmN0aW9uIG5hbWUgc3VwcGxpZWQgYXMgYW4gYXIpMjIwIDM5NiBRCisoZ3VtZW50LiktLjE4IEUgRjEoMi4pMTg0IDQwOCBRIEYwIDEuNjY3KElmIHRoZSBjb21tYW5kIHJ1biBieSB0aGUpMjguNQorRiBGMShERUIpNC4xNjcgRShVRyktLjEgRSBGMCAxLjY2Nyh0cmFwIHJldHVybnMgYSBub24temVybyB2KTQuMTY3IEYKKzEuNjY3KGFsdWUsIHRoZSBuZSktLjI1IEYoeHQpLS4xNSBFKGNvbW1hbmQgaXMgc2tpcHBlZCBhbmQgbm90IGUpMjIwIDQyMAorUSAtLjE1KHhlKS0uMTUgRyhjdXRlZC4pLjE1IEUgRjEoMy4pMTg0IDQzMiBRIEYwIC44NDEKKyhJZiB0aGUgY29tbWFuZCBydW4gYnkgdGhlKTI4LjUgRiBGMShERUIpMy4zNDEgRShVRyktLjEgRSBGMCAuODQxCisodHJhcCByZXR1cm5zIGEgdikzLjM0MSBGIC44NChhbHVlIG9mIDIsIGFuZCB0aGUgc2hlbGwgaXMpLS4yNSBGIC0uMTUKKyhleGUpMjIwIDQ0NCBTIC40ODgKKyhjdXRpbmcgaW4gYSBzdWJyb3V0aW5lIFwoYSBzaGVsbCBmdW5jdGlvbiBvciBhIHNoZWxsIHNjcmlwdCBlKS4xNSBGCistLjE1KHhlKS0uMTUgRyAuNDg4KGN1dGVkIGJ5IHRoZSkuMTUgRiBGMSguKTIuOTg4IEUgRjAob3IpMi45ODggRSBGMQorKHNvdXIpMjIwIDQ1NiBRKGNlKS0uMTggRSBGMCAtLjIoYnUpMi41IEcoaWx0aW5zXCksIGEgY2FsbCB0bykuMiBFIEYxCistLjE4KHJlKTIuNSBHKHR1cikuMTggRShuKS0uMTUgRSBGMChpcyBzaW11bGF0ZWQuKTIuNSBFIEYxKDQuKTE4NCA0NjggUQorRjIgLS4yNyhCQSkyOC41IEcoU0hfQVJHQykuMjcgRSBGMChhbmQpMy4xNTQgRSBGMiAtLjI3KEJBKTMuNDA0IEcKKyhTSF9BUkdWKS4yNyBFIEYwIC45MDQoYXJlIHVwZGF0ZWQgYXMgZGVzY3JpYmVkIGluIHRoZWlyIGRlc2NyaXB0aW9ucykKKzMuMTU0IEYoYWJvKTIyMCA0ODAgUSAtLjE1KHZlKS0uMTUgRyguKS4xNSBFIEYxKDUuKTE4NCA0OTIgUSBGMCAxLjM1OQorKEZ1bmN0aW9uIHRyYWNpbmcgaXMgZW5hYmxlZDopMjguNSBGIDEuMzU5CisoY29tbWFuZCBzdWJzdGl0dXRpb24sIHNoZWxsIGZ1bmN0aW9ucywgYW5kIHN1Yi0pNi4zNTkgRihzaGVsbHMgaW4pMjIwCis1MDQgUSAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMi41KGR3KS4xIEcoaXRoKS0yLjUgRSBGMShcKCkyLjUgRS9GNCAxMAorL1RpbWVzLUl0YWxpY0AwIFNGKGNvbW1hbmQpMi41IEUgRjEoXCkpMi41IEUgRjAoaW5oZXJpdCB0aGUpMi41IEUgRjEKKyhERUIpMi41IEUoVUcpLS4xIEUgRjAoYW5kKTIuNSBFIEYxKFJFVFVSTikyLjUgRSBGMCh0cmFwcy4pMi41IEUgRjEoNi4pCisxODQgNTE2IFEgRjAgLjgwNShFcnJvciB0cmFjaW5nIGlzIGVuYWJsZWQ6KTI4LjUgRiAuODA0CisoY29tbWFuZCBzdWJzdGl0dXRpb24sIHNoZWxsIGZ1bmN0aW9ucywgYW5kIHN1YnNoZWxscyk1LjgwNSBGKGluKTIyMCA1MjgKK1EgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuNShkdykuMSBHKGl0aCktMi41IEUgRjEoXCgpMi41IEUgRjQKKyhjb21tYW5kKTIuNSBFIEYxKFwpKTIuNSBFIEYwKGluaGVyaXQgdGhlKTIuNSBFIEYxKEVSUikyLjUgRShPUiktLjMgRSBGMAorKHRyYXAuKTIuNSBFIEYxKGV4dGdsb2IpMTQ0IDU0MCBRIEYwIC40KElmIHNldCwgdGhlIGUpOC44OSBGIC40CisoeHRlbmRlZCBwYXR0ZXJuIG1hdGNoaW5nIGZlYXR1cmVzIGRlc2NyaWJlZCBhYm8pLS4xNSBGIC43IC0uMTUodmUgdSkKKy0uMTUgSChuZGVyKS4xNSBFIEYxIC0uMShQYSkyLjkgRyAuNCh0aG5hbWUgRXhwYW4tKS4xIEYoc2lvbikxODQgNTUyIFEKK0YwKGFyZSBlbmFibGVkLikyLjUgRSBGMShleHRxdW90ZSkxNDQgNTY0IFEgRjAgMi40NzMoSWYgc2V0LCkxODQgNTc2IFIKK0YxKCQpNC45NzMgRSBGMDwwOD5BIEY0KHN0cmluZylBIEYwIDQuOTczPDA4NjE+QyhuZCktNC45NzMgRSBGMSgkKTQuOTczCitFIEYwKCIpQSBGNChzdHJpbmcpQSBGMCA0Ljk3MygicSlDIDIuNDczKHVvdGluZyBpcyBwZXJmb3JtZWQgd2l0aGluKQorLTQuOTczIEYgRjEoJHspNC45NzMgRSBGNChwYXIpQShhbWV0ZXIpLS4xNSBFIEYxKH0pQSBGMCAtLjE1KGV4KTQuOTczIEcKKyhwYW5zaW9ucykuMTUgRShlbmNsb3NlZCBpbiBkb3VibGUgcXVvdGVzLikxODQgNTg4IFEKKyhUaGlzIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZik1IEUoYXVsdC4pLS4xIEUgRjEoZmFpbGdsb2IpMTQ0IDYwMCBRIEYwCisxLjQyNChJZiBzZXQsIHBhdHRlcm5zIHdoaWNoIGYpNy43NyBGIDEuNDI1CisoYWlsIHRvIG1hdGNoIFwyMTRsZW5hbWVzIGR1cmluZyBwYXRobmFtZSBlKS0uMSBGIDEuNDI1CisoeHBhbnNpb24gcmVzdWx0IGluIGFuKS0uMTUgRiAtLjE1KGV4KTE4NCA2MTIgUyhwYW5zaW9uIGVycm9yKS4xNSBFKC4pCistLjU1IEUgRjEgLS4yNShmbykxNDQgNjI0IFMgLS4xOChyYykuMjUgRyhlX1wyMTRnbm9yKS4xOCBFKGUpLS4xOCBFIEYwCisuOTM3KElmIHNldCwgdGhlIHN1ZikxODQgNjM2IFI8OGM3OD4tLjI1IEUgLjkzNihlcyBzcGVjaVwyMTRlZCBieSB0aGUpCistLjE1IEYgRjIoRklHTk9SRSkzLjQzNiBFIEYwIC45MzYoc2hlbGwgdikzLjE4NiBGIC45MzYoYXJpYWJsZSBjYXVzZSB3KQorLS4yNSBGIC45MzYob3JkcyB0byBiZSBpZ25vcmVkKS0uMSBGIC4zMih3aGVuIHBlcmZvcm1pbmcgdykxODQgNjQ4IFIgLjMyCisob3JkIGNvbXBsZXRpb24gZSktLjEgRiAtLjE1KHZlKS0uMjUgRyAyLjgyKG5pKS4xNSBHIDIuODIoZnQpLTIuODIgRyAuMzIKKyhoZSBpZ25vcmVkIHcpLTIuODIgRiAuMzIob3JkcyBhcmUgdGhlIG9ubHkgcG9zc2libGUgY29tLSktLjEgRiAyLjk0OAorKHBsZXRpb25zLiBTZWUpMTg0IDY2MCBSIEYyIC40NDgoU0hFTEwgVikyLjk0OCBGKEFSSUFCTEVTKS0xLjIxNSBFIEYwCisoYWJvKTIuNjk4IEUgLjc0OCAtLjE1KHZlIGYpLS4xNSBIIC40NDgob3IgYSBkZXNjcmlwdGlvbiBvZikuMTUgRiBGMgorKEZJR05PUkUpMi45NDcgRSBGMyguKUEgRjAgLjQ0NyhUaGlzIG9wdGlvbiBpcyk0Ljk0NyBGKGVuYWJsZWQgYnkgZGVmKQorMTg0IDY3MiBRKGF1bHQuKS0uMSBFIEYxKGdsb2JzdGFyKTE0NCA2ODQgUSBGMCAuMTc4KElmIHNldCwgdGhlIHBhdHRlcm4pCis1IEYgRjEoKiopMi42NzggRSBGMCAuMTc4KHVzZWQgaW4gYSBwYXRobmFtZSBlKTIuNjc4IEYgLjE3OAorKHhwYW5zaW9uIGNvbnRlKS0uMTUgRiAuMTc5KHh0IHdpbGwgbWF0Y2ggYSBcMjE0bGVzIGFuZCB6ZXJvIG9yKS0uMTUgRgorMS4yOTgobW9yZSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMuKTE4NCA2OTYgUiAxLjI5OAorKElmIHRoZSBwYXR0ZXJuIGlzIGZvbGxvKTYuMjk4IEYgMS4yOTgod2VkIGJ5IGEpLS4yNSBGIEYxKC8pMy43OTcgRSBGMAorMy43OTcoLG8pQyAxLjI5NyhubHkgZGlyZWN0b3JpZXMpLTMuNzk3IEYoYW5kIHN1YmRpcmVjdG9yaWVzIG1hdGNoLikxODQKKzcwOCBRKEdOVSBCYXNoLTQuMSk3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg2NCkxODUuOTU1IEUgMCBDZworRVAKICUlUGFnZTogNjUgNjUKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtSXRhbGljQDAgU0YgLS4yKGV4KTE0NCA4NCBTKHByMSkuMiBFIEYwPGFkPjIuNSBFL0YyCi0xMC9UaW1lcy1Cb2xkQDAgU0YobylBIEYxIC0uMihleCkyLjUgRyhwcjIpLjIgRSBGMCAtLjM1KFRyKTE4MCA5NiBTCi0odWUgaWYgZWl0aGVyKS4zNSBFIEYxIC0uMihleCkyLjUgRyhwcjEpLjIgRSBGMChvcikyLjUgRSBGMSAtLjIoZXgpMi41IEcKLShwcjIpLjIgRSBGMChpcyB0cnVlLikyLjUyIEUgRjIodGVzdCkxNDQgMTEyLjggUSBGMChhbmQpMi41IEUgRjIoWykyLjUgRQotRjAgLS4yNShldmEpMi41IEcobHVhdGUgY29uZGl0aW9uYWwgZSkuMjUgRQotKHhwcmVzc2lvbnMgdXNpbmcgYSBzZXQgb2YgcnVsZXMgYmFzZWQgb24gdGhlIG51bWJlciBvZiBhciktLjE1IEUKLShndW1lbnRzLiktLjE4IEUgMi41KDBhKTE0NCAxMzAuOCBTIC0uMTgocmcpLTIuNSBHKHVtZW50cykuMTggRShUaGUgZSkKLTE4MCAxNDIuOCBRKHhwcmVzc2lvbiBpcyBmKS0uMTUgRShhbHNlLiktLjEgRSAyLjUoMWEpMTQ0IDE1NC44IFMgLS4xOAotKHJnKS0yLjUgRyh1bWVudCkuMTggRShUaGUgZSkxODAgMTY2LjggUQotKHhwcmVzc2lvbiBpcyB0cnVlIGlmIGFuZCBvbmx5IGlmIHRoZSBhciktLjE1IEUoZ3VtZW50IGlzIG5vdCBudWxsLiktLjE4Ci1FIDIuNSgyYSkxNDQgMTc4LjggUyAtLjE4KHJnKS0yLjUgRyh1bWVudHMpLjE4IEUgLjM3KElmIHRoZSBcMjE0cnN0IGFyKQotMTgwIDE5MC44IFIgLjM3KGd1bWVudCBpcyktLjE4IEYgRjIoISkyLjg3IEUgRjAgMi44NygsdClDIC4zNyhoZSBlKS0yLjg3Ci1GIC4zNyh4cHJlc3Npb24gaXMgdHJ1ZSBpZiBhbmQgb25seSBpZiB0aGUgc2Vjb25kIGFyKS0uMTUgRiAuMzcKLShndW1lbnQgaXMgbnVsbC4pLS4xOCBGIC4zOChJZiB0aGUgXDIxNHJzdCBhcikxODAgMjAyLjggUiAuMzgKLShndW1lbnQgaXMgb25lIG9mIHRoZSB1bmFyeSBjb25kaXRpb25hbCBvcGVyYXRvcnMgbGlzdGVkIGFibyktLjE4IEYgLjY3OQotLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFL0YzIDkvVGltZXMtQm9sZEAwIFNGKENPTkRJLSkyLjg3OSBFKFRJT04pMTgwCi0yMTQuOCBRIC41NTIoQUwgRVhQUkVTU0lPTlMpLS4xOCBGL0Y0IDkvVGltZXMtUm9tYW5AMCBTRigsKUEgRjAgLjU1MgotKHRoZSBlKTIuODAyIEYgLjU1Mih4cHJlc3Npb24gaXMgdHJ1ZSBpZiB0aGUgdW5hcnkgdGVzdCBpcyB0cnVlLiktLjE1IEYKLS41NTIoSWYgdGhlIFwyMTRyc3QgYXIpNS41NTIgRihndS0pLS4xOCBFKG1lbnQgaXMgbm90IGEgdikxODAgMjI2LjggUQotKGFsaWQgdW5hcnkgY29uZGl0aW9uYWwgb3BlcmF0b3IpLS4yNSBFIDIuNSgsdCktLjQgRyhoZSBlKS0yLjUgRQotKHhwcmVzc2lvbiBpcyBmKS0uMTUgRShhbHNlLiktLjEgRSAyLjUoM2EpMTQ0IDIzOC44IFMgLS4xOChyZyktMi41IEcKLSh1bWVudHMpLjE4IEUgLjAyNChJZiB0aGUgc2Vjb25kIGFyKTE4MCAyNTAuOCBSIC4wMjMKLShndW1lbnQgaXMgb25lIG9mIHRoZSBiaW5hcnkgY29uZGl0aW9uYWwgb3BlcmF0b3JzIGxpc3RlZCBhYm8pLS4xOCBGCi0uMzIzIC0uMTUodmUgdSktLjE1IEgobmRlcikuMTUgRSBGMyhDT04tKTIuNTIzIEUoRElUSU9OKTE4MCAyNjIuOCBRCi0xLjQ3NyhBTCBFWFBSRVNTSU9OUyktLjE4IEYgRjQoLClBIEYwIDEuNDc3KHRoZSByZXN1bHQgb2YgdGhlIGUpMy43MjcgRgotMS40NzcoeHByZXNzaW9uIGlzIHRoZSByZXN1bHQgb2YgdGhlIGJpbmFyeSB0ZXN0KS0uMTUgRiAuNTEzCi0odXNpbmcgdGhlIFwyMTRyc3QgYW5kIHRoaXJkIGFyKTE4MCAyNzQuOCBSIC41MTMoZ3VtZW50cyBhcyBvcGVyYW5kcy4pCi0tLjE4IEYoVGhlKTUuNTEzIEUgRjI8YWQ2MT4zLjAxMyBFIEYwKGFuZCkzLjAxMyBFIEYyPGFkNmY+My4wMTMgRSBGMAotLjUxMihvcGVyYXRvcnMgYXJlIGNvbnNpZGVyZWQpMy4wMTMgRiAuOTcyCi0oYmluYXJ5IG9wZXJhdG9ycyB3aGVuIHRoZXJlIGFyZSB0aHJlZSBhcikxODAgMjg2LjggUiAzLjQ3MihndW1lbnRzLiBJZikKLS0uMTggRiAuOTcyKHRoZSBcMjE0cnN0IGFyKTMuNDcyIEYgLjk3MihndW1lbnQgaXMpLS4xOCBGIEYyKCEpMy40NzIgRSBGMAotMy40NzIoLHQpQyAuOTcyKGhlIHYpLTMuNDcyIEYgLjk3MihhbHVlIGlzKS0uMjUgRiAuODg0KHRoZSBuZSkxODAgMjk4LjgKLVIgLS4wNShnYSktLjE1IEcgLjg4NCh0aW9uIG9mIHRoZSB0dykuMDUgRihvLWFyKS0uMSBFIC44ODQKLShndW1lbnQgdGVzdCB1c2luZyB0aGUgc2Vjb25kIGFuZCB0aGlyZCBhciktLjE4IEYgMy4zODMoZ3VtZW50cy4gSWYpLS4xOAotRiAuODgzKHRoZSBcMjE0cnN0KTMuMzgzIEYoYXIpMTgwIDMxMC44IFEgLjg3NChndW1lbnQgaXMgZSktLjE4IEYKLSh4YWN0bHkpLS4xNSBFIEYyKFwoKTMuMzc0IEUgRjAgLjg3NShhbmQgdGhlIHRoaXJkIGFyKTMuMzc0IEYgLjg3NQotKGd1bWVudCBpcyBlKS0uMTggRih4YWN0bHkpLS4xNSBFIEYyKFwpKTMuMzc1IEUgRjAgMy4zNzUoLHQpQyAuODc1Ci0oaGUgcmVzdWx0IGlzIHRoZSBvbmUtYXIpLTMuMzc1IEYoZ3VtZW50KS0uMTggRSh0ZXN0IG9mIHRoZSBzZWNvbmQgYXIpCi0xODAgMzIyLjggUSAyLjUoZ3VtZW50LiBPdGhlcndpc2UsKS0uMTggRih0aGUgZSkyLjUgRSh4cHJlc3Npb24gaXMgZikKLS0uMTUgRShhbHNlLiktLjEgRSAyLjUoNGEpMTQ0IDMzNC44IFMgLS4xOChyZyktMi41IEcodW1lbnRzKS4xOCBFIC4zODUKLShJZiB0aGUgXDIxNHJzdCBhcikxODAgMzQ2LjggUiAuMzg1KGd1bWVudCBpcyktLjE4IEYgRjIoISkyLjg4NSBFIEYwCi0yLjg4NSgsdClDIC4zODUoaGUgcmVzdWx0IGlzIHRoZSBuZSktMi44ODUgRiAtLjA1KGdhKS0uMTUgRyAuMzg0Ci0odGlvbiBvZiB0aGUgdGhyZWUtYXIpLjA1IEYgLjM4NChndW1lbnQgZSktLjE4IEYgLjM4NCh4cHJlc3Npb24gY29tLSkKLS0uMTUgRiAxLjY0Nyhwb3NlZCBvZiB0aGUgcmVtYWluaW5nIGFyKTE4MCAzNTguOCBSIDQuMTQ3Ci0oZ3VtZW50cy4gT3RoZXJ3aXNlLCktLjE4IEYgMS42NDcodGhlIGUpNC4xNDcgRiAxLjY0OAotKHhwcmVzc2lvbiBpcyBwYXJzZWQgYW5kIGUpLS4xNSBGIC0uMjUodmEpLS4yNSBHKGx1YXRlZCkuMjUgRQotKGFjY29yZGluZyB0byBwcmVjZWRlbmNlIHVzaW5nIHRoZSBydWxlcyBsaXN0ZWQgYWJvKTE4MCAzNzAuOCBRIC0uMTUodmUpCi0tLjE1IEcoLikuMTUgRSAyLjUoNW8pMTQ0IDM4Mi44IFMgMi41KHJtKS0yLjUgRyhvcmUgYXIpLTIuNSBFKGd1bWVudHMpCi0tLjE4IEUgMS42MzUoVGhlIGUpMTgwIDM5NC44IFIgMS42MzUoeHByZXNzaW9uIGlzIHBhcnNlZCBhbmQgZSktLjE1IEYKLS0uMjUodmEpLS4yNSBHIDEuNjM1Ci0obHVhdGVkIGFjY29yZGluZyB0byBwcmVjZWRlbmNlIHVzaW5nIHRoZSBydWxlcyBsaXN0ZWQpLjI1IEYoYWJvKTE4MAotNDA2LjggUSAtLjE1KHZlKS0uMTUgRyguKS4xNSBFIEYyKHRpbWVzKTEwOCA0MjMuNiBRIEYwIDEuMjI5KFByaW50IHRoZSBcCi1hY2N1bXVsYXRlZCB1c2VyIGFuZCBzeXN0ZW0gdGltZXMgZm9yIHRoZSBzaGVsbCBhbmQgZm9yIHByb2Nlc3NlcyBydW4gZlwKLXJvbSB0aGUgc2hlbGwuKTEzLjIzIEYoVGhlIHJldHVybiBzdGF0dXMgaXMgMC4pMTQ0IDQzNS42IFEgRjIodHJhcCkxMDgKLTQ1Mi40IFEgRjAoWykyLjUgRSBGMihcMjU1bHApQSBGMCAyLjUoXVspQyhbKS0yLjUgRSBGMShhcilBKGcpLS4zNyBFIEYwCi0oXSlBIEYxKHNpZ3NwZWMpMi41IEUgRjAoLi4uXSkyLjUgRSAuNzAzKFRoZSBjb21tYW5kKTE0NCA0NjQuNCBSIEYxKGFyKQotMy41MzMgRShnKS0uMzcgRSBGMCAuNzAzKGlzIHRvIGJlIHJlYWQgYW5kIGUpMy40MjMgRiAtLjE1KHhlKS0uMTUgRyAuNzAyCi0oY3V0ZWQgd2hlbiB0aGUgc2hlbGwgcmVjZWkpLjE1IEYgLS4xNSh2ZSktLjI1IEcgMy4yMDIoc3MpLjE1IEcKLShpZ25hbFwoc1wpKS0zLjIwMiBFIEYxKHNpZ3NwZWMpMy4yMDIgRSBGMCA1LjcwMiguSSkuMzEgRyhmKS01LjcwMiBFIEYxCi0oYXIpMy41MzIgRShnKS0uMzcgRSBGMChpcykzLjQyMiBFIC42MDgoYWJzZW50IFwoYW5kIHRoZXJlIGlzIGEgc2luZ2xlKQotMTQ0IDQ3Ni40IFIgRjEoc2lnc3BlYykzLjEwOCBFIEYwIDMuMTA4KFwpbylDKHIpLTMuMTA4IEUgRjI8YWQ+My4xMDggRQotRjAgMy4xMDgoLGUpQyAuNjA4Ci0oYWNoIHNwZWNpXDIxNGVkIHNpZ25hbCBpcyByZXNldCB0byBpdHMgb3JpZ2luYWwgZGlzcG9zaXRpb24pLTMuMTA4IEYKLS42NTkoXCh0aGUgdikxNDQgNDg4LjQgUiAuNjU5KGFsdWUgaXQgaGFkIHVwb24gZW50cmFuY2UgdG8gdGhlIHNoZWxsXCkuKQotLS4yNSBGKElmKTUuNjU4IEUgRjEoYXIpMy40ODggRShnKS0uMzcgRSBGMCAuNjU4Ci0oaXMgdGhlIG51bGwgc3RyaW5nIHRoZSBzaWduYWwgc3BlY2lcMjE0ZWQgYnkgZWFjaCkzLjM3OCBGIEYxKHNpZ3NwZWMpCi0xNDQuMzQgNTAwLjQgUSBGMCAuNTgoaXMgaWdub3JlZCBieSB0aGUgc2hlbGwgYW5kIGJ5IHRoZSBjb21tYW5kcyBpdCBpbikKLTMuMzkgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMy4wODEocy4gSWYpLjEgRiBGMShhcikzLjQxMSBFKGcpLS4zNyBFCi1GMCAuNTgxKGlzIG5vdCBwcmVzZW50IGFuZCkzLjMwMSBGIEYyPGFkNzA+My4wODEgRSBGMChoYXMpMy4wODEgRSAxLjIxNQotKGJlZW4gc3VwcGxpZWQsIHRoZW4gdGhlIHRyYXAgY29tbWFuZHMgYXNzb2NpYXRlZCB3aXRoIGVhY2gpMTQ0IDUxMi40IFIKLUYxKHNpZ3NwZWMpNC4wNTQgRSBGMCAxLjIxNChhcmUgZGlzcGxheWVkLik0LjAyNCBGIDEuMjE0KElmIG5vIGFyKTYuMjE0Ci1GKGd1LSktLjE4IEUgLjg2KG1lbnRzIGFyZSBzdXBwbGllZCBvciBpZiBvbmx5KTE0NCA1MjQuNCBSIEYyPGFkNzA+My4zNgotRSBGMCAuODYoaXMgZ2kpMy4zNiBGIC0uMTUodmUpLS4yNSBHKG4sKS4xNSBFIEYyKHRyYXApMy4zNiBFIEYwIC44NgotKHByaW50cyB0aGUgbGlzdCBvZiBjb21tYW5kcyBhc3NvY2lhdGVkIHdpdGggZWFjaCkzLjM2IEYgMi44MwotKHNpZ25hbC4gVGhlKTE0NCA1MzYuNCBSIEYyPGFkNmM+Mi44MyBFIEYwIC4zMyhvcHRpb24gY2F1c2VzIHRoZSBzaGVsbCBcCi10byBwcmludCBhIGxpc3Qgb2Ygc2lnbmFsIG5hbWVzIGFuZCB0aGVpciBjb3JyZXNwb25kaW5nIG51bS0pMi44MyBGIDQuMzEKLShiZXJzLiBFYWNoKTE0NCA1NDguNCBSIEYxKHNpZ3NwZWMpNC42NSBFIEYwIDEuODExCi0oaXMgZWl0aGVyIGEgc2lnbmFsIG5hbWUgZGVcMjE0bmVkIGluIDwpNC42MiBGIEYxKHNpZ25hbC5oKUEgRjAgMS44MTEKLSg+LCBvciBhIHNpZ25hbCBudW1iZXIpQiA2LjgxMSguUyktLjU1IEcoaWduYWwpLTYuODExIEUgLjc0NQotKG5hbWVzIGFyZSBjYXNlIGluc2Vuc2l0aSkxNDQgNTYwLjQgUiAxLjA0NSAtLjE1KHZlIGEpLS4yNSBIIC43NDUKLShuZCB0aGUgU0lHIHByZVwyMTR4IGlzIG9wdGlvbmFsLikuMTUgRiAuNzQ1KElmIGEpNS43NDUgRiBGMShzaWdzcGVjKQotMy41ODUgRSBGMChpcykzLjU1NSBFIEYzKEVYSVQpMy4yNDUgRSBGMCAuNzQ1KFwoMFwpIHRoZSBjb21tYW5kKTIuOTk1IEYKLUYxKGFyKTE0NC4zMyA1NzIuNCBRKGcpLS4zNyBFIEYwIDEuNjI5KGlzIGUpNC4zNDkgRiAtLjE1KHhlKS0uMTUgRyAxLjYyOQotKGN1dGVkIG9uIGUpLjE1IEYgMS42Myh4aXQgZnJvbSB0aGUgc2hlbGwuKS0uMTUgRiAxLjYzKElmIGEpNi42MyBGIEYxCi0oc2lnc3BlYyk0LjQ3IEUgRjAoaXMpNC40NCBFIEYzKERFQik0LjEzIEUoVUcpLS4wOSBFIEY0KCwpQSBGMCAxLjYzCi0odGhlIGNvbW1hbmQpMy44OCBGIEYxKGFyKTQuNDYgRShnKS0uMzcgRSBGMCAxLjYzKGlzIGUpNC4zNSBGIC0uMTUoeGUpCi0tLjE1IEcoY3V0ZWQpLjE1IEUgMS4yMDcoYmVmb3JlIGUpMTQ0IDU4NC40IFIgLS4xNSh2ZSktLjI1IEcocnkpLjE1IEUgRjEKLTEuMjA3KHNpbXBsZSBjb21tYW5kKTMuNzA3IEYgRjAoLClBIEYxKGZvcikzLjcwNyBFIEYwKGNvbW1hbmQsKTMuNzA2IEUKLUYxKGNhc2UpMy43MDYgRSBGMChjb21tYW5kLCkzLjcwNiBFIEYxKHNlbGVjdCkzLjcwNiBFIEYwIDEuMjA2Ci0oY29tbWFuZCwgZSkzLjcwNiBGIC0uMTUodmUpLS4yNSBHIDEuMjA2KHJ5IGFyaXRobWV0aWMpLjE1IEYgRjEoZm9yKTE0NAotNTk2LjQgUSBGMCAuNDEyKGNvbW1hbmQsIGFuZCBiZWZvcmUgdGhlIFwyMTRyc3QgY29tbWFuZCBlKTIuOTEyIEYgLS4xNQotKHhlKS0uMTUgRyAuNDEyKGN1dGVzIGluIGEgc2hlbGwgZnVuY3Rpb24gXChzZWUpLjE1IEYgRjMgLjQxMwotKFNIRUxMIEdSQU1NQVIpMi45MTIgRiBGMChhYm8pMTQ0IDYwOC40IFEgLS4xNSh2ZSktLjE1IEcgMi42NjYKLShcKS4gUmVmZXIpLjE1IEYgLjE2Nih0byB0aGUgZGVzY3JpcHRpb24gb2YgdGhlKTIuNjY2IEYgRjIoZXh0ZGViKTIuNjY2Ci1FKHVnKS0uMiBFIEYwIC4xNjYob3B0aW9uIHRvIHRoZSkyLjY2NiBGIEYyKHNob3B0KTIuNjY2IEUgRjAgLS4yKGJ1KQotMi42NjYgRyAuMTY2KGlsdGluIGZvciBkZXRhaWxzIG9mIGl0cyBlZikuMiBGKGZlY3QpLS4yNSBFIC41MDgob24gdGhlKQotMTQ0IDYyMC40IFIgRjIoREVCKTMuMDA4IEUoVUcpLS4xIEUgRjAgMy4wMDgodHJhcC4gSWYpMy4wMDggRihhKTMuMDA4IEUKLUYxKHNpZ3NwZWMpMy4zNDggRSBGMChpcykzLjMxOCBFIEYzKEVSUikzLjAwOCBFIEY0KCwpQSBGMCAuNTA4Ci0odGhlIGNvbW1hbmQpMi43NTggRiBGMShhcikzLjMzOCBFKGcpLS4zNyBFIEYwIC41MDkoaXMgZSkzLjIyOCBGIC0uMTUKLSh4ZSktLjE1IEcgLjUwOShjdXRlZCB3aGVuZSkuMTUgRiAtLjE1KHZlKS0uMjUgRyAzLjAwOShyYXMpLjE1IEcgLjUwOQotKGltcGxlIGNvbS0pLTMuMDA5IEYgMi41MDYobWFuZCBoYXMgYSBub25cMjU1emVybyBlKTE0NCA2MzIuNCBSIDIuNTA2Ci0oeGl0IHN0YXR1cywgc3ViamVjdCB0byB0aGUgZm9sbG8pLS4xNSBGIDIuNTA2KHdpbmcgY29uZGl0aW9ucy4pLS4yNSBGCi0oVGhlKTcuNTA2IEUgRjMoRVJSKTUuMDA2IEUgRjAgMi41MDYodHJhcCBpcyBub3QpNC43NTYgRiAtLjE1KGV4ZSkxNDQKLTY0NC40IFMgLjEwNShjdXRlZCBpZiB0aGUgZikuMTUgRiAuMTA1Ci0oYWlsZWQgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSBjb21tYW5kIGxpc3QgaW1tZWRpYXRlbHkgZm9sbG8pLS4xIEYgLjEwNQotKHdpbmcgYSktLjI1IEYgRjIod2hpbGUpMi42MDUgRSBGMChvcikyLjYwNSBFIEYyKHVudGlsKTIuNjA1IEUgRjAgLS4xCi0oa2UpMTQ0IDY1Ni40IFMoeXcpLS4wNSBFIC41NDkob3JkLCBwYXJ0IG9mIHRoZSB0ZXN0IGluIGFuKS0uMSBGIEYxKGlmKQotMy4wNTkgRSBGMCAuNTQ5KHN0YXRlbWVudCwgcGFydCBvZiBhIGNvbW1hbmQgZSk1LjAwOSBGIC0uMTUoeGUpLS4xNSBHCi0uNTQ5KGN1dGVkIGluIGEpLjE1IEYgRjIoJiYpMy4wNDkgRSBGMChvcikzLjA0OSBFL0Y1IDEwL1N5bWJvbCBTRjxlZmVmPgotMy4wNDkgRSBGMCAuNTQ5KGxpc3QsIG9yIGlmKTMuMDQ5IEYgLjU3Nyh0aGUgY29tbWFuZCcpMTQ0IDY2OC40IFIgMy4wNzcKLShzciktLjU1IEcgLjU3NyhldHVybiB2KS0zLjA3NyBGIC41NzcoYWx1ZSBpcyBiZWluZyBpbiktLjI1IEYgLS4xNSh2ZSkKLS0uNCBHIC41NzcocnRlZCB2aWEpLjE1IEYgRjIoISkzLjA3NyBFIEYwIDUuNTc4KC5UKUMgLjU3OAotKGhlc2UgYXJlIHRoZSBzYW1lIGNvbmRpdGlvbnMgb2JlKS01LjU3OCBGIC41NzgoeWVkIGJ5IHRoZSktLjE1IEYgRjIKLShlcnIpMTQ0IDY4MC40IFEoZXhpdCktLjE4IEUgRjAgMy4wMzEob3B0aW9uLiBJZikzLjAzMSBGKGEpMy4wMzEgRSBGMQotKHNpZ3NwZWMpMy4zNzEgRSBGMChpcykzLjM0MSBFIEYzKFJFVFVSTikzLjAzMSBFIEY0KCwpQSBGMCAuNTMxCi0odGhlIGNvbW1hbmQpMi43ODEgRiBGMShhcikzLjM2MSBFKGcpLS4zNyBFIEYwIC41MzEoaXMgZSkzLjI1MSBGIC0uMTUKLSh4ZSktLjE1IEcgLjUzKGN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uKS4xNSBGIC4zMTYKLShvciBhIHNjcmlwdCBlKTE0NCA2OTIuNCBSIC0uMTUoeGUpLS4xNSBHIC4zMTcoY3V0ZWQgd2l0aCB0aGUpLjE1IEYgRjIKLSguKTIuODE3IEUgRjAob3IpMi44MTcgRSBGMihzb3VyKTIuODE3IEUoY2UpLS4xOCBFIEYwIC0uMihidSkyLjgxNyBHCi0uMzE3KGlsdGlucyBcMjE0bmlzaGVzIGUpLjIgRiAtLjE1KHhlKS0uMTUgRyAyLjgxNyhjdXRpbmcuIFNpZ25hbHMpLjE1IEYKLS4zMTcoaWdub3JlZCB1cG9uIGVudHJ5IHRvKTIuODE3IEYgLjc4NwotKHRoZSBzaGVsbCBjYW5ub3QgYmUgdHJhcHBlZCBvciByZXNldC4pMTQ0IDcwNC40IFIgLS4zNShUcik1Ljc4NyBHIC43ODcKLShhcHBlZCBzaWduYWxzIHRoYXQgYXJlIG5vdCBiZWluZyBpZ25vcmVkIGFyZSByZXNldCB0byB0aGVpcikuMzUgRiAxLjEKLShvcmlnaW5hbCB2KTE0NCA3MTYuNCBSIDEuMQotKGFsdWVzIGluIGEgY2hpbGQgcHJvY2VzcyB3aGVuIGl0IGlzIGNyZWF0ZWQuKS0uMjUgRiAxLjEKLShUaGUgcmV0dXJuIHN0YXR1cyBpcyBmKTYuMSBGIDEuMShhbHNlIGlmIGFuKS0uMSBGKHkpLS4xNSBFIEYxKHNpZ3NwZWMpCi0zLjk0IEUgRjAoaXMpMy45MSBFKGluKTE0NCA3MjguNCBRIC0uMjUodmEpLS40IEcobGlkOyBvdGhlcndpc2UpLjI1IEUgRjIKLSh0cmFwKTIuNSBFIEYwKHJldHVybnMgdHJ1ZS4pMi41IEUoR05VIEJhc2gtNC4wKTcyIDc2OCBRCi0oMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFKDY1KTE5MC45NSBFIDAgQ2cgRVAKKy0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoZ251X2VycmZtdCkxNDQgODQgUSBGMChJZiBzZXQsIHNoZWxsIGVycm9yXAorIG1lc3NhZ2VzIGFyZSB3cml0dGVuIGluIHRoZSBzdGFuZGFyZCBHTlUgZXJyb3IgbWVzc2FnZSBmb3JtYXQuKTE4NCA5NiBRCitGMShoaXN0YXBwZW5kKTE0NCAxMDggUSBGMCAuNjc2CisoSWYgc2V0LCB0aGUgaGlzdG9yeSBsaXN0IGlzIGFwcGVuZGVkIHRvIHRoZSBcMjE0bGUgbmFtZWQgYnkgdGhlIHYpMTg0CisxMjAgUiAuNjc2KGFsdWUgb2YgdGhlKS0uMjUgRi9GMiA5L1RpbWVzLUJvbGRAMCBTRihISVNURklMRSkzLjE3NyBFIEYwCistLjI1KHZhKTIuOTI3IEcocmktKS4yNSBFKGFibGUgd2hlbiB0aGUgc2hlbGwgZSkxODQgMTMyIFEKKyh4aXRzLCByYXRoZXIgdGhhbiBvKS0uMTUgRSAtLjE1KHZlKS0uMTUgRyhyd3JpdGluZyB0aGUgXDIxNGxlLikuMTUgRSBGMQorKGhpc3RyKTE0NCAxNDQgUShlZWRpdCktLjE4IEUgRjAgLjU3NihJZiBzZXQsIGFuZCkxODQgMTU2IFIgRjEgLS4xOChyZSkKKzMuMDc2IEcoYWRsaW5lKS4xOCBFIEYwIC41NzUoaXMgYmVpbmcgdXNlZCwgYSB1c2VyIGlzIGdpKTMuMDc2IEYgLS4xNQorKHZlKS0uMjUgRyAzLjA3NShudCkuMTUgRyAuNTc1KGhlIG9wcG9ydHVuaXR5IHRvIHJlLWVkaXQgYSBmKS0zLjA3NSBGCisuNTc1KGFpbGVkIGhpcy0pLS4xIEYodG9yeSBzdWJzdGl0dXRpb24uKTE4NCAxNjggUSBGMShoaXN0dikxNDQgMTgwIFEKKyhlcmlmeSktLjEgRSBGMCAuNDAyKElmIHNldCwgYW5kKTE4NCAxOTIgUiBGMSAtLjE4KHJlKTIuOTAzIEcoYWRsaW5lKS4xOAorRSBGMCAuNDAzCisoaXMgYmVpbmcgdXNlZCwgdGhlIHJlc3VsdHMgb2YgaGlzdG9yeSBzdWJzdGl0dXRpb24gYXJlIG5vdCBpbW1lZGlhdGVseSkKKzIuOTAzIEYgLjY2MihwYXNzZWQgdG8gdGhlIHNoZWxsIHBhcnNlcikxODQgMjA0IFIgNS42NjIoLkkpLS41NSBHIC42NjEKKyhuc3RlYWQsIHRoZSByZXN1bHRpbmcgbGluZSBpcyBsb2FkZWQgaW50byB0aGUpLTUuNjYyIEYgRjEgLS4xOChyZSkzLjE2MQorRyhhZGxpbmUpLjE4IEUgRjAoZWRpdGluZykzLjE2MSBFIC0uMihidSkxODQgMjE2IFMgLS4yNShmZikuMiBHKGVyKS4yNSBFCisyLjUoLGEpLS40IEcobGxvKS0yLjUgRSh3aW5nIGZ1cnRoZXIgbW9kaVwyMTRjYXRpb24uKS0uMjUgRSBGMQorKGhvc3Rjb21wbGV0ZSkxNDQgMjI4IFEgRjAgMS4xODEoSWYgc2V0LCBhbmQpMTg0IDI0MCBSIEYxIC0uMTgocmUpMy42ODEKK0coYWRsaW5lKS4xOCBFIEYwIDEuMTgxKGlzIGJlaW5nIHVzZWQsKTMuNjgxIEYgRjEoYmFzaCkzLjY4MiBFIEYwIDEuMTgyCisod2lsbCBhdHRlbXB0IHRvIHBlcmZvcm0gaG9zdG5hbWUgY29tcGxldGlvbikzLjY4MiBGIDEuMzgxKHdoZW4gYSB3KTE4NAorMjUyIFIgMS4zODEob3JkIGNvbnRhaW5pbmcgYSktLjEgRiBGMShAKTMuODgxIEUgRjAgMS4zODEKKyhpcyBiZWluZyBjb21wbGV0ZWQgXChzZWUpMy44ODEgRiBGMShDb21wbGV0aW5nKTMuODggRSBGMCh1bmRlcikzLjg4IEUKK0YyKFJFQURMSU5FKTMuODggRSBGMChhYm8pMTg0IDI2NCBRIC0uMTUodmUpLS4xNSBHIDIuNShcKS4gVGhpcykuMTUgRgorKGlzIGVuYWJsZWQgYnkgZGVmKTIuNSBFKGF1bHQuKS0uMSBFIEYxKGh1cG9uZXhpdCkxNDQgMjc2IFEgRjAoSWYgc2V0LCkKKzE4NCAyODggUSBGMShiYXNoKTIuNSBFIEYwKHdpbGwgc2VuZCkyLjUgRSBGMihTSUdIVVApMi41IEUgRjAKKyh0byBhbGwgam9icyB3aGVuIGFuIGludGVyYWN0aSkyLjI1IEUgLjMgLS4xNSh2ZSBsKS0uMjUgSChvZ2luIHNoZWxsIGUpCisuMTUgRSh4aXRzLiktLjE1IEUgRjEoaW50ZXJhY3RpKTE0NCAzMDAgUSAtLjEodmUpLS4xIEcoX2NvbW1lbnRzKS4xIEUgRjAKKy4zMyhJZiBzZXQsIGFsbG8pMTg0IDMxMiBSIDIuODMod2F3KS0uMjUgRyAuMzMob3JkIGJlKS0yLjkzIEYgLjMzCisoZ2lubmluZyB3aXRoKS0uMTUgRiBGMSgjKTIuODMgRSBGMCAuMzModG8gY2F1c2UgdGhhdCB3KTIuODMgRiAuMzMKKyhvcmQgYW5kIGFsbCByZW1haW5pbmcgY2hhcmFjdGVycyBvbiktLjEgRiAuOTY3CisodGhhdCBsaW5lIHRvIGJlIGlnbm9yZWQgaW4gYW4gaW50ZXJhY3RpKTE4NCAzMjQgUiAxLjI2NyAtLjE1KHZlIHMpLS4yNQorSCAuOTY3KGhlbGwgXChzZWUpLjE1IEYgRjIoQ09NTUVOVFMpMy40NjcgRSBGMChhYm8pMy4yMTcgRSAtLjE1KHZlKS0uMTUKK0cgMy40NjcoXCkuIFRoaXMpLjE1IEYgLjk2NyhvcHRpb24gaXMpMy40NjcgRihlbmFibGVkIGJ5IGRlZikxODQgMzM2IFEKKyhhdWx0LiktLjEgRSBGMShsaXRoaXN0KTE0NCAzNDggUSBGMCAuNjU0KElmIHNldCwgYW5kIHRoZSkxNS41NSBGIEYxCisoY21kaGlzdCkzLjE1NCBFIEYwIC42NTQob3B0aW9uIGlzIGVuYWJsZWQsIG11bHRpLWxpbmUgY29tbWFuZHMgYXJlIHNhKQorMy4xNTQgRiAtLjE1KHZlKS0uMiBHIDMuMTU1KGR0KS4xNSBHIDMuMTU1KG90KS0zLjE1NSBHIC42NTUoaGUgaGlzdG9yeSkKKy0zLjE1NSBGKHdpdGggZW1iZWRkZWQgbmUpMTg0IDM2MCBRCisod2xpbmVzIHJhdGhlciB0aGFuIHVzaW5nIHNlbWljb2xvbiBzZXBhcmF0b3JzIHdoZXJlIHBvc3NpYmxlLiktLjI1IEUgRjEKKyhsb2dpbl9zaGVsbCkxNDQgMzcyIFEgRjAgLjQ4NgorKFRoZSBzaGVsbCBzZXRzIHRoaXMgb3B0aW9uIGlmIGl0IGlzIHN0YXJ0ZWQgYXMgYSBsb2dpbiBzaGVsbCBcKHNlZSkxODQKKzM4NCBSIEYyKElOVikyLjk4NiBFKE9DQSktLjQwNSBFKFRJT04pLS44NTUgRSBGMChhYm8pMi43MzYgRSAtLjE1KHZlKQorLS4xNSBHIDIuOTg2KFwpLiBUaGUpLjE1IEYgLS4yNSh2YSkxODQgMzk2IFMobHVlIG1heSBub3QgYmUgY2hhbmdlZC4pLjI1CitFIEYxKG1haWx3YXIpMTQ0IDQwOCBRKG4pLS4xNSBFIEYwIC44MTQoSWYgc2V0LCBhbmQgYSBcMjE0bGUgdGhhdCkxODQKKzQyMCBSIEYxKGJhc2gpMy4zMTQgRSBGMCAuODE1CisoaXMgY2hlY2tpbmcgZm9yIG1haWwgaGFzIGJlZW4gYWNjZXNzZWQgc2luY2UgdGhlIGxhc3QgdGltZSBpdCkzLjMxNCBGCistLjEod2EpMTg0IDQzMiBTIDIuNShzYykuMSBHKGhlY2spLTIuNSBFKGVkLCB0aGUgbWVzc2FnZSBgKS0uMSBFCisoYFRoZSBtYWlsIGluKS0uNzQgRS9GMyAxMC9UaW1lcy1JdGFsaWNAMCBTRihtYWlsXDIxNGxlKTIuNSBFIEYwCisoaGFzIGJlZW4gcmVhZCcpMi41IEUgMi41KCdpKS0uNzQgRyAyLjUoc2QpLTIuNSBHKGlzcGxheWVkLiktMi41IEUgRjEKKyhub19lbXB0eV9jbWRfY29tcGxldGlvbikxNDQgNDQ0IFEgRjAgLjMyNShJZiBzZXQsIGFuZCkxODQgNDU2IFIgRjEgLS4xOAorKHJlKTIuODI1IEcoYWRsaW5lKS4xOCBFIEYwIC4zMjUoaXMgYmVpbmcgdXNlZCwpMi44MjUgRiBGMShiYXNoKTIuODI0IEUKK0YwIC4zMjQod2lsbCBub3QgYXR0ZW1wdCB0byBzZWFyY2ggdGhlKTIuODI0IEYgRjIgLS42NjYoUEEpMi44MjQgRyhUSCkKKy0uMTg5IEUgRjAgLjMyNChmb3IgcG9zc2libGUpMi41NzQgRgorKGNvbXBsZXRpb25zIHdoZW4gY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQgb24gYW4gZW1wdHkgbGluZS4pMTg0IDQ2OCBRIEYxCisobm9jYXNlZ2xvYikxNDQgNDgwIFEgRjAgLjQzNihJZiBzZXQsKTE4NCA0OTIgUiBGMShiYXNoKTIuOTM2IEUgRjAgLjQzNgorKG1hdGNoZXMgXDIxNGxlbmFtZXMgaW4gYSBjYXNlXDI1NWluc2Vuc2l0aSkyLjkzNiBGIC43MzcgLS4xNSh2ZSBmKS0uMjUKK0ggLjQzNyhhc2hpb24gd2hlbiBwZXJmb3JtaW5nIHBhdGhuYW1lKS4wNSBGIC0uMTUoZXgpMTg0IDUwNCBTCisocGFuc2lvbiBcKHNlZSkuMTUgRSBGMSAtLjEoUGEpMi41IEcodGhuYW1lIEV4cGFuc2lvbikuMSBFIEYwKGFibykyLjUgRQorLS4xNSh2ZSktLjE1IEcoXCkuKS4xNSBFIEYxKG5vY2FzZW1hdGNoKTE0NCA1MTYgUSBGMCAxLjE5NChJZiBzZXQsKTE4NAorNTI4IFIgRjEoYmFzaCkzLjY5NCBFIEYwIDEuMTk0KG1hdGNoZXMgcGF0dGVybnMgaW4gYSBjYXNlXDI1NWluc2Vuc2l0aSkKKzMuNjk0IEYgMS40OTMgLS4xNSh2ZSBmKS0uMjUgSCAxLjE5Myhhc2hpb24gd2hlbiBwZXJmb3JtaW5nIG1hdGNoaW5nKS4wNQorRih3aGlsZSBlKTE4NCA1NDAgUSAtLjE1KHhlKS0uMTUgRyhjdXRpbmcpLjE1IEUgRjEoY2FzZSkyLjUgRSBGMChvcikyLjUKK0UgRjEoW1spMi41IEUgRjAoY29uZGl0aW9uYWwgY29tbWFuZHMuKTIuNSBFIEYxKG51bGxnbG9iKTE0NCA1NTIgUSBGMAorLjg1NChJZiBzZXQsKTE4NCA1NjQgUiBGMShiYXNoKTMuMzU0IEUgRjAoYWxsbykzLjM1NCBFIC44NTUKKyh3cyBwYXR0ZXJucyB3aGljaCBtYXRjaCBubyBcMjE0bGVzIFwoc2VlKS0uMjUgRiBGMSAtLjEoUGEpMy4zNTUgRyAuODU1CisodGhuYW1lIEV4cGFuc2lvbikuMSBGIEYwKGFibykzLjM1NSBFIC0uMTUodmUpLS4xNSBHIDMuMzU1KFwpdCkuMTUgRyhvKQorLTMuMzU1IEUgLS4xNShleCkxODQgNTc2IFMocGFuZCB0byBhIG51bGwgc3RyaW5nLCByYXRoZXIgdGhhbiB0aGVtc2VsdikKKy4xNSBFKGVzLiktLjE1IEUgRjEocHIpMTQ0IDU4OCBRKG9nY29tcCktLjE4IEUgRjAgLjY3NworKElmIHNldCwgdGhlIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGYpMTg0IDYwMCBSIC42NzcoYWNpbGl0aWVzIFwoc2VlKQorLS4xIEYgRjEoUHIpMy4xNzYgRSAuNjc2KG9ncmFtbWFibGUgQ29tcGxldGlvbiktLjE4IEYgRjAoYWJvKTMuMTc2IEUKKy0uMTUodmUpLS4xNSBHKFwpKS4xNSBFKGFyZSBlbmFibGVkLikxODQgNjEyIFEKKyhUaGlzIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZik1IEUoYXVsdC4pLS4xIEUgRjEocHIpMTQ0IDYyNCBRKG9tcHR2KQorLS4xOCBFKGFycyktLjEgRSBGMCAxLjQ0NyhJZiBzZXQsIHByb21wdCBzdHJpbmdzIHVuZGVyKTE4NCA2MzYgUiAxLjQ0OAorKGdvIHBhcmFtZXRlciBlKS0uMTggRiAxLjQ0OCh4cGFuc2lvbiwgY29tbWFuZCBzdWJzdGl0dXRpb24sIGFyaXRobWV0aWMpCistLjE1IEYgLS4xNShleCkxODQgNjQ4IFMgLjE3MShwYW5zaW9uLCBhbmQgcXVvdGUgcmVtbykuMTUgRiAtLjI1KHZhKS0uMTUKK0cgMi42NyhsYSkuMjUgRyAuMTcoZnRlciBiZWluZyBlKS0yLjY3IEYgLjE3KHhwYW5kZWQgYXMgZGVzY3JpYmVkIGluKQorLS4xNSBGIEYyKFBSKTIuNjcgRShPTVBUSU5HKS0uMjcgRSBGMChhYm8pMi40MiBFIC0uMTUodmUpLS4xNSBHKC4pLjE1IEUKKyhUaGlzIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZikxODQgNjYwIFEoYXVsdC4pLS4xIEUgRjEgLS4xOChyZSkxNDQgNjcyCitTKHN0cmljdGVkX3NoZWxsKS4xOCBFIEYwIDEuMDY5CisoVGhlIHNoZWxsIHNldHMgdGhpcyBvcHRpb24gaWYgaXQgaXMgc3RhcnRlZCBpbiByZXN0cmljdGVkIG1vZGUgXChzZWUpCisxODQgNjg0IFIgRjIgMS4wNjkoUkVTVFJJQ1RFRCBTSEVMTCkzLjU2OSBGIEYwKGJlbG8pMTg0IDY5NiBRIDQuMTc4Cisod1wpLiBUaGUpLS4yNSBGIC0uMjUodmEpNC4xNzggRyAxLjY3OChsdWUgbWF5IG5vdCBiZSBjaGFuZ2VkLikuMjUgRgorMS42NzgoVGhpcyBpcyBub3QgcmVzZXQgd2hlbiB0aGUgc3RhcnR1cCBcMjE0bGVzIGFyZSk2LjY3OCBGIC0uMTUoZXhlKQorMTg0IDcwOCBTKGN1dGVkLCBhbGxvKS4xNSBFKHdpbmcgdGhlIHN0YXJ0dXAgXDIxNGxlcyB0byBkaXNjbyktLjI1IEUKKy0uMTUodmUpLS4xNSBHIDIuNShydykuMTUgRyhoZXRoZXIgb3Igbm90IGEgc2hlbGwgaXMgcmVzdHJpY3RlZC4pLTIuNSBFCisoR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDY1KTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDY2IDY2CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRih0eXBlKTEwOCA4NCBRIEYwKFspMi41IEUgRjEoXDI1NWFmdHBQKUEgRjAKLShdKUEvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YobmFtZSkyLjUgRSBGMChbKTIuNSBFIEYyKG5hbWUpQSBGMCguLi5dKTIuNQotRSAtLjQoV2kpMTQ0IDk2IFMgLjE3NCh0aCBubyBvcHRpb25zLCBpbmRpY2F0ZSBobykuNCBGIDIuNjc0KHdlKS0uMjUgRwotKGFjaCktMi42NzQgRSBGMihuYW1lKTMuMDM0IEUgRjAgLS4xKHdvKTIuODU0IEcgLjE3MwotKHVsZCBiZSBpbnRlcnByZXRlZCBpZiB1c2VkIGFzIGEgY29tbWFuZCBuYW1lLikuMSBGIC4xNzMoSWYgdGhlKTUuMTczIEYKLUYxPGFkNzQ+MTQ0IDEwOCBRIEYwIC44NDIob3B0aW9uIGlzIHVzZWQsKTMuMzQyIEYgRjEodHlwZSkzLjM0MiBFIEYwCi0uODQzKHByaW50cyBhIHN0cmluZyB3aGljaCBpcyBvbmUgb2YpMy4zNDMgRiBGMihhbGlhcykzLjM0MyBFIEYwKCwpLjI3IEUKLUYyIC0uMShrZSkzLjM0MyBHKHl3b3IpLS4yIEUoZCktLjM3IEUgRjAoLCkuNzcgRSBGMihmdW5jdGlvbikzLjM0MyBFIEYwCi0oLCkuMjQgRSBGMiAtLjIoYnUpMy4zNDMgRyhpbHRpbikuMiBFIEYwIDMuMzQzKCxvKS4yNCBHKHIpLTMuMzQzIEUgRjIKLShcMjE0bGUpNS4yNTMgRSBGMChpZikzLjUyMyBFIEYyKG5hbWUpMTQ0LjM2IDEyMCBRIEYwIC4wODcKLShpcyBhbiBhbGlhcywgc2hlbGwgcmVzZXJ2KTIuNzY3IEYgLjA4NyhlZCB3KS0uMTUgRiAuMDg3Ci0ob3JkLCBmdW5jdGlvbiwgYiktLjEgRiAuMDg2KHVpbHRpbiwgb3IgZGlzayBcMjE0bGUsIHJlc3BlY3RpKS0uMiBGIC0uMTUKLSh2ZSktLjI1IEcobHkpLjE1IEUgNS4wODYoLkkpLS42NSBHIDIuNTg2KGZ0KS01LjA4NiBHKGhlKS0yLjU4NiBFIEYyCi0obmFtZSkyLjk0NiBFIEYwIC4wODYoaXMgbm90KTIuNzY2IEYgLjExOAotKGZvdW5kLCB0aGVuIG5vdGhpbmcgaXMgcHJpbnRlZCwgYW5kIGFuIGUpMTQ0IDEzMiBSIC4xMTgKLSh4aXQgc3RhdHVzIG9mIGYpLS4xNSBGIC4xMTgoYWxzZSBpcyByZXR1cm5lZC4pLS4xIEYgLjExOShJZiB0aGUpNS4xMTkgRgotRjE8YWQ3MD4yLjYxOSBFIEYwIC4xMTkob3B0aW9uIGlzIHVzZWQsKTIuNjE5IEYgRjEodHlwZSkyLjYxOSBFIEYwIC44NTUKLShlaXRoZXIgcmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgZGlzayBcMjE0bGUgdGhhdCB3KTE0NCAxNDQgUiAuODU1Ci0ob3VsZCBiZSBlKS0uMSBGIC0uMTUoeGUpLS4xNSBHIC44NTUoY3V0ZWQgaWYpLjE1IEYgRjIobmFtZSkzLjcxNSBFIEYwCi0uODU1KHdlcmUgc3BlY2lcMjE0ZWQgYXMgYSBjb20tKTMuNTM1IEYgLjY0KG1hbmQgbmFtZSwgb3Igbm90aGluZyBpZikxNDQKLTE1NiBSL0YzIDEwL0NvdXJpZXJAMCBTRiAuNjQodHlwZSAtdCBuYW1lKTMuMTQgRiBGMCAtLjEod28pMy4xNCBHIC42NDEKLSh1bGQgbm90IHJldHVybikuMSBGIEYyKFwyMTRsZSkzLjE0MSBFIEYwIDUuNjQxKC5UKS4xOCBHKGhlKS01LjY0MSBFIEYxCi08YWQ1MD4zLjE0MSBFIEYwIC42NDEob3B0aW9uIGZvcmNlcyBhKTMuMTQxIEYvRjQgOS9UaW1lcy1Cb2xkQDAgU0YgLS42NjYKLShQQSkzLjE0MSBHKFRIKS0uMTg5IEUgRjAgLjExMyhzZWFyY2ggZm9yIGVhY2gpMTQ0IDE2OCBSIEYyKG5hbWUpMi42MTMgRQotRjAgMi42MTMoLGUpQyAtLjE1KHZlKS0yLjg2MyBHIDIuNjEzKG5pKS4xNSBHKGYpLTIuNjEzIEUgRjMgLjExMwotKHR5cGUgLXQgbmFtZSkyLjYxMyBGIEYwIC0uMSh3bykyLjYxMyBHIC4xMTModWxkIG5vdCByZXR1cm4pLjEgRiBGMgotKFwyMTRsZSkyLjYxMyBFIEYwIDUuMTEzKC5JKS4xOCBHIDIuNjEzKGZhKS01LjExMyBHIC4xMTIKLShjb21tYW5kIGlzIGhhc2hlZCwpLS4wMDEgRiBGMTxhZDcwPjIuNjEyIEUgRjAoYW5kKTE0NCAxODAgUSBGMTxhZDUwPgotMi45NDQgRSBGMCAuNDQ0KHByaW50IHRoZSBoYXNoZWQgdikyLjk0NCBGIC40NDQKLShhbHVlLCBub3QgbmVjZXNzYXJpbHkgdGhlIFwyMTRsZSB0aGF0IGFwcGVhcnMgXDIxNHJzdCBpbiktLjI1IEYgRjQKLS0uNjY2KFBBKTIuOTQ1IEcoVEgpLS4xODkgRS9GNSA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIC40NDUoSWYgdGhlKQotNC45NDUgRiBGMTxhZDYxPjIuOTQ1IEUgRjAob3B0aW9uKTIuOTQ1IEUgLjI2NShpcyB1c2VkLCkxNDQgMTkyIFIgRjEKLSh0eXBlKTIuNzY1IEUgRjAgLjI2NShwcmludHMgYWxsIG9mIHRoZSBwbGFjZXMgdGhhdCBjb250YWluIGFuIGUpMi43NjUgRgotLS4xNSh4ZSktLjE1IEcgLjI2NShjdXRhYmxlIG5hbWVkKS4xNSBGIEYyKG5hbWUpMi43NjUgRSBGMCA1LjI2NSguVCkuMTgKLUcgLjI2NShoaXMgaW5jbHVkZXMgYWxpYXNlcyktNS4yNjUgRiAuNDI2Ci0oYW5kIGZ1bmN0aW9ucywgaWYgYW5kIG9ubHkgaWYgdGhlKTE0NCAyMDQgUiBGMTxhZDcwPjIuOTI2IEUgRjAgLjQyNgotKG9wdGlvbiBpcyBub3QgYWxzbyB1c2VkLikyLjkyNiBGIC40MjcKLShUaGUgdGFibGUgb2YgaGFzaGVkIGNvbW1hbmRzIGlzIG5vdCk1LjQyNiBGIC41NDkoY29uc3VsdGVkIHdoZW4gdXNpbmcpCi0xNDQgMjE2IFIgRjE8YWQ2MT4zLjA0OSBFIEYwIDUuNTQ5KC5UKUMoaGUpLTUuNTQ5IEUgRjE8YWQ2Nj4zLjA0OSBFIEYwCi0uNTQ4KG9wdGlvbiBzdXBwcmVzc2VzIHNoZWxsIGZ1bmN0aW9uIGxvb2t1cCwgYXMgd2l0aCB0aGUpMy4wNDkgRiBGMQotKGNvbW1hbmQpMy4wNDggRSBGMCAtLjIoYnUpMTQ0IDIyOCBTKGlsdGluLikuMiBFIEYxKHR5cGUpNSBFIEYwCi0ocmV0dXJucyB0cnVlIGlmIGFsbCBvZiB0aGUgYXIpMi41IEUoZ3VtZW50cyBhcmUgZm91bmQsIGYpLS4xOCBFCi0oYWxzZSBpZiBhbiktLjEgRSAyLjUoeWEpLS4xNSBHKHJlIG5vdCBmb3VuZC4pLTIuNSBFIEYxKHVsaW1pdCkxMDggMjQ0LjgKLVEgRjAoWykyLjUgRSBGMShcMjU1SFNUKUEoYWJjZGVcMjE0bG1ucHFyc3R1dngpLS45MiBFIEYwKFspMi41IEUgRjIKLShsaW1pdClBIEYwKF1dKUEoUHJvKTE0NCAyNTYuOCBRIC4yNDModmlkZXMgY29udHJvbCBvKS0uMTUgRiAtLjE1KHZlKQotLS4xNSBHIDIuNzQzKHJ0KS4xNSBHIC4yNDMoaGUgcmVzb3VyY2VzIGEpLTIuNzQzIEYgLS4yNSh2YSktLjIgRyAuMjQ0Ci0oaWxhYmxlIHRvIHRoZSBzaGVsbCBhbmQgdG8gcHJvY2Vzc2VzIHN0YXJ0ZWQgYnkgaXQsIG9uIHN5c3RlbXMpLjI1IEYKLS45NDQodGhhdCBhbGxvKTE0NCAyNjguOCBSIDMuNDQ0KHdzKS0uMjUgRyAuOTQ0KHVjaCBjb250cm9sLiktMy40NDQgRgotKFRoZSk1Ljk0NCBFIEYxPGFkNDg+My40NDQgRSBGMChhbmQpMy40NDQgRSBGMTxhZDUzPjMuNDQ0IEUgRjAgLjk0MwotKG9wdGlvbnMgc3BlY2lmeSB0aGF0IHRoZSBoYXJkIG9yIHNvZnQgbGltaXQgaXMgc2V0IGZvciB0aGUpMy40NDQgRihnaSkKLTE0NCAyODAuOCBRIC0uMTUodmUpLS4yNSBHIDIuNzA4KG5yKS4xNSBHIDIuNzA4KGVzb3VyY2UuIEEpLTIuNzA4IEYgLjIwOAotKGhhcmQgbGltaXQgY2Fubm90IGJlIGluY3JlYXNlZCBieSBhIG5vbi1yb290IHVzZXIgb25jZSBpdCBpcyBzZXQ7IGEgc29cCi1mdCBsaW1pdCBtYXkpMi43MDggRiAuNDI2KGJlIGluY3JlYXNlZCB1cCB0byB0aGUgdikxNDQgMjkyLjggUiAuNDI2Ci0oYWx1ZSBvZiB0aGUgaGFyZCBsaW1pdC4pLS4yNSBGIC40MjUoSWYgbmVpdGhlcik1LjQyNiBGIEYxPGFkNDg+Mi45MjUgRQotRjAobm9yKTIuOTI1IEUgRjE8YWQ1Mz4yLjkyNSBFIEYwIC40MjUKLShpcyBzcGVjaVwyMTRlZCwgYm90aCB0aGUgc29mdCBhbmQpMi45MjUgRiAuMTM5KGhhcmQgbGltaXRzIGFyZSBzZXQuKTE0NAotMzA0LjggUiAuMTM5KFRoZSB2KTUuMTM5IEYgLjEzOShhbHVlIG9mKS0uMjUgRiBGMihsaW1pdCkyLjcyOSBFIEYwIC4xMzkKLShjYW4gYmUgYSBudW1iZXIgaW4gdGhlIHVuaXQgc3BlY2lcMjE0ZWQgZm9yIHRoZSByZXNvdXJjZSBvciBvbmUpMy4zMTkgRgotLjc0MihvZiB0aGUgc3BlY2lhbCB2KTE0NCAzMTYuOCBSKGFsdWVzKS0uMjUgRSBGMShoYXJkKTMuMjQyIEUgRjAoLClBIEYxCi0oc29mdCkzLjI0MSBFIEYwIDMuMjQxKCxvKUMociktMy4yNDEgRSBGMSh1bmxpbWl0ZWQpMy4yNDEgRSBGMCAzLjI0MSgsdykKLUMgLjc0MShoaWNoIHN0YW5kIGZvciB0aGUgY3VycmVudCBoYXJkIGxpbWl0LCB0aGUgY3VycmVudCktMy4yNDEgRiAuNzgKLShzb2Z0IGxpbWl0LCBhbmQgbm8gbGltaXQsIHJlc3BlY3RpKTE0NCAzMjguOCBSIC0uMTUodmUpLS4yNSBHKGx5KS4xNSBFCi01Ljc4KC5JKS0uNjUgRyhmKS01Ljc4IEUgRjIobGltaXQpMy4zNyBFIEYwIC43OAotKGlzIG9taXR0ZWQsIHRoZSBjdXJyZW50IHYpMy45NiBGIC43OChhbHVlIG9mIHRoZSBzb2Z0IGxpbWl0IG9mIHRoZSktLjI1Ci1GIC40OTkocmVzb3VyY2UgaXMgcHJpbnRlZCwgdW5sZXNzIHRoZSkxNDQgMzQwLjggUiBGMTxhZDQ4PjIuOTk5IEUgRjAKLS40OTkob3B0aW9uIGlzIGdpKTIuOTk5IEYgLS4xNSh2ZSktLjI1IEcgMi45OTkobi4gV2hlbikuMTUgRiAuNDk4Ci0obW9yZSB0aGFuIG9uZSByZXNvdXJjZSBpcyBzcGVjaVwyMTRlZCwgdGhlKTIuOTk5IEYKLShsaW1pdCBuYW1lIGFuZCB1bml0IGFyZSBwcmludGVkIGJlZm9yZSB0aGUgdikxNDQgMzUyLjggUSAyLjUKLShhbHVlLiBPdGhlciktLjI1IEYob3B0aW9ucyBhcmUgaW50ZXJwcmV0ZWQgYXMgZm9sbG8pMi41IEUod3M6KS0uMjUgRSBGMQotPGFkNjE+MTQ0IDM2NC44IFEgRjAoQWxsIGN1cnJlbnQgbGltaXRzIGFyZSByZXBvcnRlZCkyNS4zIEUgRjE8YWQ2Mj4xNDQKLTM3Ni44IFEgRjAoVGhlIG1heGltdW0gc29jaykyNC43NCBFKGV0IGIpLS4xIEUodWYpLS4yIEUoZmVyIHNpemUpLS4yNSBFCi1GMTxhZDYzPjE0NCAzODguOCBRIEYwKFRoZSBtYXhpbXVtIHNpemUgb2YgY29yZSBcMjE0bGVzIGNyZWF0ZWQpMjUuODYgRQotRjE8YWQ2ND4xNDQgNDAwLjggUSBGMChUaGUgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcycpMjQuNzQgRSAyLjUoc2QpCi0tLjU1IEcoYXRhIHNlKS0yLjUgRShnbWVudCktLjE1IEUgRjE8YWQ2NT4xNDQgNDEyLjggUSBGMAotKFRoZSBtYXhpbXVtIHNjaGVkdWxpbmcgcHJpb3JpdHkgXCgibmljZSJcKSkyNS44NiBFIEYxPGFkNjY+MTQ0IDQyNC44IFEKLUYwKFRoZSBtYXhpbXVtIHNpemUgb2YgXDIxNGxlcyB3cml0dGVuIGJ5IHRoZSBzaGVsbCBhbmQgaXRzIGNoaWxkcmVuKQotMjYuOTcgRSBGMTxhZDY5PjE0NCA0MzYuOCBRIEYwKFRoZSBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHMpCi0yNy41MiBFIEYxPGFkNmM+MTQ0IDQ0OC44IFEgRjAoVGhlIG1heGltdW0gc2l6ZSB0aGF0IG1heSBiZSBsb2NrKTI3LjUyIEUKLShlZCBpbnRvIG1lbW9yeSktLjEgRSBGMTxhZDZkPjE0NCA0NjAuOCBRIEYwCi0oVGhlIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemUgXChtYW4pMjEuOTcgRSAyLjUoeXMpLS4xNSBHCi0oeXN0ZW1zIGRvIG5vdCBob25vciB0aGlzIGxpbWl0XCkpLTIuNSBFIEYxPGFkNmU+MTQ0IDQ3Mi44IFEgRjAgLjc5MShUaFwKLWUgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBcMjE0bGUgZGVzY3JpcHRvcnMgXChtb3N0IHN5c3RlbXMgZG8gbm90IGFsbG8pCi0yNC43NCBGIDMuMjkxKHd0KS0uMjUgRyAuNzkxKGhpcyB2KS0zLjI5MSBGIC43OTEoYWx1ZSB0byktLjI1IEYKLShiZSBzZXRcKSkxODAgNDg0LjggUSBGMTxhZDcwPjE0NCA0OTYuOCBRIEYwCi0oVGhlIHBpcGUgc2l6ZSBpbiA1MTItYnl0ZSBibG9ja3MgXCh0aGlzIG1heSBub3QgYmUgc2V0XCkpMjQuNzQgRSBGMQotPGFkNzE+MTQ0IDUwOC44IFEgRjAKLShUaGUgbWF4aW11bSBudW1iZXIgb2YgYnl0ZXMgaW4gUE9TSVggbWVzc2FnZSBxdWV1ZXMpMjQuNzQgRSBGMTxhZDcyPjE0NAotNTIwLjggUSBGMChUaGUgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eSkyNS44NiBFIEYxPGFkNzM+MTQ0Ci01MzIuOCBRIEYwKFRoZSBtYXhpbXVtIHN0YWNrIHNpemUpMjYuNDEgRSBGMTxhZDc0PjE0NCA1NDQuOCBRIEYwCi0oVGhlIG1heGltdW0gYW1vdW50IG9mIGNwdSB0aW1lIGluIHNlY29uZHMpMjYuOTcgRSBGMTxhZDc1PjE0NCA1NTYuOCBRCi1GMChUaGUgbWF4aW11bSBudW1iZXIgb2YgcHJvY2Vzc2VzIGEpMjQuNzQgRSAtLjI1KHZhKS0uMiBHCi0oaWxhYmxlIHRvIGEgc2luZ2xlIHVzZXIpLjI1IEUgRjE8YWQ3Nj4xNDQgNTY4LjggUSBGMAotKFRoZSBtYXhpbXVtIGFtb3VudCBvZiB2aXJ0dWFsIG1lbW9yeSBhKTI1LjMgRSAtLjI1KHZhKS0uMiBHCi0oaWxhYmxlIHRvIHRoZSBzaGVsbCkuMjUgRSBGMTxhZDc4PjE0NCA1ODAuOCBRIEYwCi0oVGhlIG1heGltdW0gbnVtYmVyIG9mIFwyMTRsZSBsb2NrcykyNS4zIEUgRjE8YWQ1ND4xNDQgNTkyLjggUSBGMAotKFRoZSBtYXhpbXVtIG51bWJlciBvZiB0aHJlYWRzKTIzLjYzIEUoSWYpMTQ0IDYwOS42IFEgRjIobGltaXQpMi45MzMgRQotRjAgLjM0MyhpcyBnaSkzLjUyMyBGIC0uMTUodmUpLS4yNSBHIC4zNDMobiwgaXQgaXMgdGhlIG5lKS4xNSBGIDIuODQzCi0od3YpLS4yNSBHIC4zNDMoYWx1ZSBvZiB0aGUgc3BlY2lcMjE0ZWQgcmVzb3VyY2UgXCh0aGUpLTMuMDkzIEYgRjE8YWQ2MT4KLTIuODQzIEUgRjAgLjM0MyhvcHRpb24gaXMgZGlzcGxheSBvbmx5XCkuKTIuODQzIEYgLjM0MyhJZiBubyk1LjM0MyBGCi0uMTc1KG9wdGlvbiBpcyBnaSkxNDQgNjIxLjYgUiAtLjE1KHZlKS0uMjUgRyAuMTc1KG4sIHRoZW4pLjE1IEYgRjE8YWQ2Nj4KLTIuNjc1IEUgRjAgLjE3NShpcyBhc3N1bWVkLikyLjY3NSBGIC0xLjExKFZhKTUuMTc1IEcgLjE3NQotKGx1ZXMgYXJlIGluIDEwMjQtYnl0ZSBpbmNyZW1lbnRzLCBlKTEuMTEgRiAuMTc2KHhjZXB0IGZvciktLjE1IEYgRjEKLTxhZDc0PjIuNjc2IEUgRjAgMi42NzYoLHcpQyAuMTc2KGhpY2ggaXMgaW4pLTIuNjc2IEYoc2Vjb25kcywpMTQ0IDYzMy42Ci1RIEYxPGFkNzA+Mi41MTYgRSBGMCAyLjUxNigsdylDIC4wMTYKLShoaWNoIGlzIGluIHVuaXRzIG9mIDUxMi1ieXRlIGJsb2NrcywgYW5kKS0yLjUxNiBGIEYxPGFkNTQ+Mi41MTYgRSBGMCgsKQotQSBGMTxhZDYyPjIuNTE1IEUgRjAoLClBIEYxPGFkNmU+Mi41MTUgRSBGMCAyLjUxNSgsYSlDKG5kKS0yLjUxNSBFIEYxCi08YWQ3NT4yLjUxNSBFIEYwIDIuNTE1KCx3KUMgLjAxNShoaWNoIGFyZSB1bnNjYWxlZCB2KS0yLjUxNSBGKGFsLSktLjI1IEUKLTMuNzg3KHVlcy4gVGhlKTE0NCA2NDUuNiBSIDEuMjg3KHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3MgYW4gaW4pMy43ODcgRgotLS4yNSh2YSktLjQgRyAxLjI4NyhsaWQgb3B0aW9uIG9yIGFyKS4yNSBGIDEuMjg3Ci0oZ3VtZW50IGlzIHN1cHBsaWVkLCBvciBhbiBlcnJvciBvY2N1cnMpLS4xOCBGKHdoaWxlIHNldHRpbmcgYSBuZSkxNDQKLTY1Ny42IFEgMi41KHdsKS0uMjUgRyhpbWl0LiktMi41IEUgRjEodW1hc2spMTA4IDY3NC40IFEgRjAoWykyLjUgRSBGMQotPGFkNzA+QSBGMCAyLjUoXVspQyBGMTxhZDUzPi0yLjUgRSBGMCAyLjUoXVspQyBGMihtb2RlKS0yLjUgRSBGMChdKUEgLjIKLShUaGUgdXNlciBcMjE0bGUtY3JlYXRpb24gbWFzayBpcyBzZXQgdG8pMTQ0IDY4Ni40IFIgRjIobW9kZSkyLjcgRSBGMAotNS4yKC5JKS4xOCBHKGYpLTUuMiBFIEYyKG1vZGUpMy4wOCBFIEYwKGJlKTIuODggRSAuMgotKGdpbnMgd2l0aCBhIGRpZ2l0LCBpdCBpcyBpbnRlcnByZXRlZCBhcyBhbiBvY3RhbCktLjE1IEYgLjA2NihudW1iZXI7IG9cCi10aGVyd2lzZSBpdCBpcyBpbnRlcnByZXRlZCBhcyBhIHN5bWJvbGljIG1vZGUgbWFzayBzaW1pbGFyIHRvIHRoYXQgYWNjZVwKLXB0ZWQgYnkpMTQ0IDY5OC40IFIgRjIgLS4xNShjaCkyLjU2NiBHKG1vZCkuMTUgRSBGMChcKDFcKS4pLjc3IEUoSWYpMTQ0Ci03MTAuNCBRIEYyKG1vZGUpMy4yNjMgRSBGMCAuMzgyKGlzIG9taXR0ZWQsIHRoZSBjdXJyZW50IHYpMy4wNjMgRiAuMzgyCi0oYWx1ZSBvZiB0aGUgbWFzayBpcyBwcmludGVkLiktLjI1IEYoVGhlKTUuMzgyIEUgRjE8YWQ1Mz4yLjg4MiBFIEYwIC4zODIKLShvcHRpb24gY2F1c2VzIHRoZSBtYXNrIHRvIGJlKTIuODgyIEYgLjU0NwotKHByaW50ZWQgaW4gc3ltYm9saWMgZm9ybTsgdGhlIGRlZikxNDQgNzIyLjQgUiAuNTQ3Ci0oYXVsdCBvdXRwdXQgaXMgYW4gb2N0YWwgbnVtYmVyKS0uMSBGIDUuNTQ3KC5JKS0uNTUgRyAzLjA0NyhmdCktNS41NDcgRwotKGhlKS0zLjA0NyBFIEYxPGFkNzA+My4wNDcgRSBGMCAuNTQ3KG9wdGlvbiBpcyBzdXBwbGllZCwgYW5kKTMuMDQ3IEYKLShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwOSBGZWJydWFyeSA3KTE0MC45NiBFKDY2KTE5MC45NSBFIDAgQ2cgRVAKKy0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0Yoc2hpZnRfdikxNDQgODQgUShlcmJvc2UpLS4xIEUgRjAgLjUwMQorKElmIHNldCwgdGhlKTE4NCA5NiBSIEYxKHNoaWZ0KTMuMDAxIEUgRjAgLS4yKGJ1KTMuMDAxIEcgLjUwMQorKGlsdGluIHByaW50cyBhbiBlcnJvciBtZXNzYWdlIHdoZW4gdGhlIHNoaWZ0IGNvdW50IGUpLjIgRiAuNTAyCisoeGNlZWRzIHRoZSBudW1iZXIpLS4xNSBGKG9mIHBvc2l0aW9uYWwgcGFyYW1ldGVycy4pMTg0IDEwOCBRIEYxKHNvdXIpCisxNDQgMTIwIFEoY2VwYXRoKS0uMTggRSBGMCAuNzcxKElmIHNldCwgdGhlKTE4NCAxMzIgUiBGMShzb3VyKTMuMjcxIEUKKyhjZSktLjE4IEUgRjAoXCgpMy4yNzEgRSBGMSguKUEgRjAgMy4yNzEoXCliKUMgLjc3MSh1aWx0aW4gdXNlcyB0aGUgdikKKy0zLjQ3MSBGIC43NzEoYWx1ZSBvZiktLjI1IEYvRjIgOS9UaW1lcy1Cb2xkQDAgU0YgLS42NjYoUEEpMy4yNyBHKFRIKQorLS4xODkgRSBGMCAuNzcodG8gXDIxNG5kIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUpMy4wMiBGCisoXDIxNGxlIHN1cHBsaWVkIGFzIGFuIGFyKTE4NCAxNDQgUSAyLjUoZ3VtZW50LiBUaGlzKS0uMTggRgorKG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZikyLjUgRShhdWx0LiktLjEgRSBGMSh4cGdfZWNobykxNDQgMTU2IFEgRjAKKyhJZiBzZXQsIHRoZSkxODQgMTY4IFEgRjEoZWNobykyLjUgRSBGMCAtLjIoYnUpMi41IEcoaWx0aW4gZSkuMiBFCisoeHBhbmRzIGJhY2tzbGFzaC1lc2NhcGUgc2VxdWVuY2VzIGJ5IGRlZiktLjE1IEUoYXVsdC4pLS4xIEUgRjEoc3VzcGVuZCkKKzEwOCAxODAgUSBGMChbKTIuNSBFIEYxPGFkNjY+QSBGMChdKUEgMS4wMDEoU3VzcGVuZCB0aGUgZSkxNDQgMTkyIFIgLS4xNQorKHhlKS0uMTUgRyAxLjAwMShjdXRpb24gb2YgdGhpcyBzaGVsbCB1bnRpbCBpdCByZWNlaSkuMTUgRiAtLjE1KHZlKS0uMjUKK0cgMy41MDEoc2EpLjE1IEcgRjIoU0lHQ09OVClBIEYwIDMuNTAyKHNpZ25hbC4gQSkzLjI1MiBGIDEuMDAyCisobG9naW4gc2hlbGwgY2Fubm90IGJlKTMuNTAyIEYgLjAyMyhzdXNwZW5kZWQ7IHRoZSkxNDQgMjA0IFIgRjE8YWQ2Nj4KKzIuNTIzIEUgRjAgLjAyMyhvcHRpb24gY2FuIGJlIHVzZWQgdG8gbykyLjUyMyBGIC0uMTUodmUpLS4xNSBHIC4wMjIKKyhycmlkZSB0aGlzIGFuZCBmb3JjZSB0aGUgc3VzcGVuc2lvbi4pLjE1IEYgLjAyMihUaGUgcmV0dXJuIHN0YXR1cyBpcykKKzUuMDIyIEYgMi41KDB1KTE0NCAyMTYgUyhubGVzcyB0aGUgc2hlbGwgaXMgYSBsb2dpbiBzaGVsbCBhbmQpLTIuNSBFIEYxCis8YWQ2Nj4yLjUgRSBGMChpcyBub3Qgc3VwcGxpZWQsIG9yIGlmIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkLikyLjUgRQorRjEodGVzdCkxMDggMjI4IFEvRjMgMTAvVGltZXMtSXRhbGljQDAgU0YgLS4yKGV4KTIuNSBHKHByKS4yIEUgRjEoWykxMDgKKzI0MCBRIEYzIC0uMihleCkyLjUgRyhwcikuMiBFIEYxKF0pMi41IEUgRjAgMS4xNQorKFJldHVybiBhIHN0YXR1cyBvZiAwIG9yIDEgZGVwZW5kaW5nIG9uIHRoZSBlKTYuNzcgRiAtLjI1KHZhKS0uMjUgRyAxLjE1CisobHVhdGlvbiBvZiB0aGUgY29uZGl0aW9uYWwgZSkuMjUgRih4cHJlc3Npb24pLS4xNSBFIEYzIC0uMihleCkzLjY1IEcKKyhwcikuMiBFIEYwIDYuMTUoLkUpLjczIEcoYWNoKS02LjE1IEUgMS4xODgKKyhvcGVyYXRvciBhbmQgb3BlcmFuZCBtdXN0IGJlIGEgc2VwYXJhdGUgYXIpMTQ0IDI1MiBSIDMuNjg4CisoZ3VtZW50LiBFeHByZXNzaW9ucyktLjE4IEYgMS4xODcoYXJlIGNvbXBvc2VkIG9mIHRoZSBwcmltYXJpZXMpMy42ODggRgorMS44ODkoZGVzY3JpYmVkIGFibykxNDQgMjY0IFIgMi4xODkgLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYyCisoQ09ORElUSU9OKTQuMzg5IEUgMS44ODkoQUwgRVhQUkVTU0lPTlMpLS4xOCBGL0Y0IDkvVGltZXMtUm9tYW5AMCBTRiguKUEKK0YxKHRlc3QpNi4zODkgRSBGMCAxLjg5KGRvZXMgbm90IGFjY2VwdCBhbik0LjM4OSBGIDQuMzkoeW8pLS4xNSBHIDEuODkKKyhwdGlvbnMsIG5vciktNC4zOSBGKGRvZXMgaXQgYWNjZXB0IGFuZCBpZ25vcmUgYW4gYXIpMTQ0IDI3NiBRCisoZ3VtZW50IG9mKS0uMTggRSBGMTxhZGFkPjIuNSBFIEYwKGFzIHNpZ25pZnlpbmcgdGhlIGVuZCBvZiBvcHRpb25zLikyLjUKK0UgLjc4NihFeHByZXNzaW9ucyBtYXkgYmUgY29tYmluZWQgdXNpbmcgdGhlIGZvbGxvKTE0NCAyOTQgUiAuNzg1Cisod2luZyBvcGVyYXRvcnMsIGxpc3RlZCBpbiBkZWNyZWFzaW5nIG9yZGVyIG9mIHByZWNlLSktLjI1IEYgMi41CisoZGVuY2UuIFRoZSkxNDQgMzA2IFIgLS4yNShldmEpMi41IEcKKyhsdWF0aW9uIGRlcGVuZHMgb24gdGhlIG51bWJlciBvZiBhcikuMjUgRShndW1lbnRzOyBzZWUgYmVsbyktLjE4IEUgLS42NQorKHcuKS0uMjUgRyBGMSghKTE0NCAzMTggUSBGMyAtLjIoZXgpMi41IEcocHIpLjIgRSBGMCAtLjM1KFRyKTEyLjYgRworKHVlIGlmKS4zNSBFIEYzIC0uMihleCkyLjUgRyhwcikuMiBFIEYwKGlzIGYpMy4yMyBFKGFsc2UuKS0uMSBFIEYxKFwoKQorMTQ0IDMzMCBRIEYzIC0uMihleCkyLjUgRyhwcikuMiBFIEYxKFwpKTIuNSBFIEYwIC4yNihSZXR1cm5zIHRoZSB2KTYuNzcKK0YgLjI2KGFsdWUgb2YpLS4yNSBGIEYzIC0uMihleCkyLjc2IEcocHIpLjIgRSBGMCA1LjI2KC5UKUMgLjI2CisoaGlzIG1heSBiZSB1c2VkIHRvIG8pLTUuMjYgRiAtLjE1KHZlKS0uMTUgRyAuMjYKKyhycmlkZSB0aGUgbm9ybWFsIHByZWNlZGVuY2Ugb2Ygb3BlcmEtKS4xNSBGKHRvcnMuKTE4MCAzNDIgUSBGMyAtLjIoZXgpCisxNDQgMzU0IFMocHIxKS4yIEUgRjA8YWQ+Mi41IEUgRjEoYSlBIEYzIC0uMihleCkyLjUgRyhwcjIpLjIgRSBGMCAtLjM1CisoVHIpMTgwIDM2NiBTKHVlIGlmIGJvdGgpLjM1IEUgRjMgLS4yKGV4KTIuNSBHKHByMSkuMiBFIEYwKGFuZCkyLjUgRSBGMworLS4yKGV4KTIuNSBHKHByMikuMiBFIEYwKGFyZSB0cnVlLikyLjUyIEUgRjMgLS4yKGV4KTE0NCAzNzggUyhwcjEpLjIgRQorRjA8YWQ+Mi41IEUgRjEobylBIEYzIC0uMihleCkyLjUgRyhwcjIpLjIgRSBGMCAtLjM1KFRyKTE4MCAzOTAgUworKHVlIGlmIGVpdGhlcikuMzUgRSBGMyAtLjIoZXgpMi41IEcocHIxKS4yIEUgRjAob3IpMi41IEUgRjMgLS4yKGV4KTIuNSBHCisocHIyKS4yIEUgRjAoaXMgdHJ1ZS4pMi41MiBFIEYxKHRlc3QpMTQ0IDQwNi44IFEgRjAoYW5kKTIuNSBFIEYxKFspMi41IEUKK0YwIC0uMjUoZXZhKTIuNSBHKGx1YXRlIGNvbmRpdGlvbmFsIGUpLjI1IEUKKyh4cHJlc3Npb25zIHVzaW5nIGEgc2V0IG9mIHJ1bGVzIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgYXIpLS4xNSBFCisoZ3VtZW50cy4pLS4xOCBFIDIuNSgwYSkxNDQgNDI0LjggUyAtLjE4KHJnKS0yLjUgRyh1bWVudHMpLjE4IEUoVGhlIGUpCisxODAgNDM2LjggUSh4cHJlc3Npb24gaXMgZiktLjE1IEUoYWxzZS4pLS4xIEUgMi41KDFhKTE0NCA0NDguOCBTIC0uMTgKKyhyZyktMi41IEcodW1lbnQpLjE4IEUoVGhlIGUpMTgwIDQ2MC44IFEKKyh4cHJlc3Npb24gaXMgdHJ1ZSBpZiBhbmQgb25seSBpZiB0aGUgYXIpLS4xNSBFKGd1bWVudCBpcyBub3QgbnVsbC4pLS4xOAorRSAyLjUoMmEpMTQ0IDQ3Mi44IFMgLS4xOChyZyktMi41IEcodW1lbnRzKS4xOCBFIC4zNyhJZiB0aGUgXDIxNHJzdCBhcikKKzE4MCA0ODQuOCBSIC4zNyhndW1lbnQgaXMpLS4xOCBGIEYxKCEpMi44NyBFIEYwIDIuODcoLHQpQyAuMzcoaGUgZSktMi44NworRiAuMzcoeHByZXNzaW9uIGlzIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhlIHNlY29uZCBhciktLjE1IEYgLjM3CisoZ3VtZW50IGlzIG51bGwuKS0uMTggRiAuMzc5KElmIHRoZSBcMjE0cnN0IGFyKTE4MCA0OTYuOCBSIC4zOAorKGd1bWVudCBpcyBvbmUgb2YgdGhlIHVuYXJ5IGNvbmRpdGlvbmFsIG9wZXJhdG9ycyBsaXN0ZWQgYWJvKS0uMTggRiAuNjgKKy0uMTUodmUgdSktLjE1IEgobmRlcikuMTUgRSBGMihDT05ESS0pMi44OCBFKFRJT04pMTgwIDUwOC44IFEgLjU1MworKEFMIEVYUFJFU1NJT05TKS0uMTggRiBGNCgsKUEgRjAgLjU1Mih0aGUgZSkyLjgwMiBGIC41NTIKKyh4cHJlc3Npb24gaXMgdHJ1ZSBpZiB0aGUgdW5hcnkgdGVzdCBpcyB0cnVlLiktLjE1IEYgLjU1MgorKElmIHRoZSBcMjE0cnN0IGFyKTUuNTUyIEYoZ3UtKS0uMTggRShtZW50IGlzIG5vdCBhIHYpMTgwIDUyMC44IFEKKyhhbGlkIHVuYXJ5IGNvbmRpdGlvbmFsIG9wZXJhdG9yKS0uMjUgRSAyLjUoLHQpLS40IEcoaGUgZSktMi41IEUKKyh4cHJlc3Npb24gaXMgZiktLjE1IEUoYWxzZS4pLS4xIEUgMi41KDNhKTE0NCA1MzIuOCBTIC0uMTgocmcpLTIuNSBHCisodW1lbnRzKS4xOCBFIC4wMjMoSWYgdGhlIHNlY29uZCBhcikxODAgNTQ0LjggUiAuMDIzCisoZ3VtZW50IGlzIG9uZSBvZiB0aGUgYmluYXJ5IGNvbmRpdGlvbmFsIG9wZXJhdG9ycyBsaXN0ZWQgYWJvKS0uMTggRgorLjMyNCAtLjE1KHZlIHUpLS4xNSBIKG5kZXIpLjE1IEUgRjIoQ09OLSkyLjUyNCBFKERJVElPTikxODAgNTU2LjggUQorMS40NzgoQUwgRVhQUkVTU0lPTlMpLS4xOCBGIEY0KCwpQSBGMCAxLjQ3Nyh0aGUgcmVzdWx0IG9mIHRoZSBlKTMuNzI3IEYKKzEuNDc3KHhwcmVzc2lvbiBpcyB0aGUgcmVzdWx0IG9mIHRoZSBiaW5hcnkgdGVzdCktLjE1IEYgLjUxMworKHVzaW5nIHRoZSBcMjE0cnN0IGFuZCB0aGlyZCBhcikxODAgNTY4LjggUiAuNTEzKGd1bWVudHMgYXMgb3BlcmFuZHMuKQorLS4xOCBGKFRoZSk1LjUxMyBFIEYxPGFkNjE+My4wMTMgRSBGMChhbmQpMy4wMTMgRSBGMTxhZDZmPjMuMDEzIEUgRjAKKy41MTMob3BlcmF0b3JzIGFyZSBjb25zaWRlcmVkKTMuMDEzIEYgLjk3MgorKGJpbmFyeSBvcGVyYXRvcnMgd2hlbiB0aGVyZSBhcmUgdGhyZWUgYXIpMTgwIDU4MC44IFIgMy40NzIoZ3VtZW50cy4gSWYpCistLjE4IEYgLjk3Mih0aGUgXDIxNHJzdCBhcikzLjQ3MiBGIC45NzIoZ3VtZW50IGlzKS0uMTggRiBGMSghKTMuNDcyIEUgRjAKKzMuNDcyKCx0KUMgLjk3MihoZSB2KS0zLjQ3MiBGIC45NzIoYWx1ZSBpcyktLjI1IEYgLjg4Myh0aGUgbmUpMTgwIDU5Mi44CitSIC0uMDUoZ2EpLS4xNSBHIC44ODModGlvbiBvZiB0aGUgdHcpLjA1IEYoby1hciktLjEgRSAuODg0CisoZ3VtZW50IHRlc3QgdXNpbmcgdGhlIHNlY29uZCBhbmQgdGhpcmQgYXIpLS4xOCBGIDMuMzg0KGd1bWVudHMuIElmKS0uMTgKK0YgLjg4NCh0aGUgXDIxNHJzdCkzLjM4NCBGKGFyKTE4MCA2MDQuOCBRIC44NzUoZ3VtZW50IGlzIGUpLS4xOCBGCisoeGFjdGx5KS0uMTUgRSBGMShcKCkzLjM3NSBFIEYwIC44NzUoYW5kIHRoZSB0aGlyZCBhcikzLjM3NSBGIC44NzUKKyhndW1lbnQgaXMgZSktLjE4IEYoeGFjdGx5KS0uMTUgRSBGMShcKSkzLjM3NSBFIEYwIDMuMzc0KCx0KUMgLjg3NAorKGhlIHJlc3VsdCBpcyB0aGUgb25lLWFyKS0zLjM3NCBGKGd1bWVudCktLjE4IEUodGVzdCBvZiB0aGUgc2Vjb25kIGFyKQorMTgwIDYxNi44IFEgMi41KGd1bWVudC4gT3RoZXJ3aXNlLCktLjE4IEYodGhlIGUpMi41IEUoeHByZXNzaW9uIGlzIGYpCistLjE1IEUoYWxzZS4pLS4xIEUgMi41KDRhKTE0NCA2MjguOCBTIC0uMTgocmcpLTIuNSBHKHVtZW50cykuMTggRSAuMzg0CisoSWYgdGhlIFwyMTRyc3QgYXIpMTgwIDY0MC44IFIgLjM4NChndW1lbnQgaXMpLS4xOCBGIEYxKCEpMi44ODQgRSBGMAorMi44ODUoLHQpQyAuMzg1KGhlIHJlc3VsdCBpcyB0aGUgbmUpLTIuODg1IEYgLS4wNShnYSktLjE1IEcgLjM4NQorKHRpb24gb2YgdGhlIHRocmVlLWFyKS4wNSBGIC4zODUoZ3VtZW50IGUpLS4xOCBGIC4zODUoeHByZXNzaW9uIGNvbS0pCistLjE1IEYgMS42NDgocG9zZWQgb2YgdGhlIHJlbWFpbmluZyBhcikxODAgNjUyLjggUiA0LjE0NworKGd1bWVudHMuIE90aGVyd2lzZSwpLS4xOCBGIDEuNjQ3KHRoZSBlKTQuMTQ3IEYgMS42NDcKKyh4cHJlc3Npb24gaXMgcGFyc2VkIGFuZCBlKS0uMTUgRiAtLjI1KHZhKS0uMjUgRyhsdWF0ZWQpLjI1IEUKKyhhY2NvcmRpbmcgdG8gcHJlY2VkZW5jZSB1c2luZyB0aGUgcnVsZXMgbGlzdGVkIGFibykxODAgNjY0LjggUSAtLjE1KHZlKQorLS4xNSBHKC4pLjE1IEUgMi41KDVvKTE0NCA2NzYuOCBTIDIuNShybSktMi41IEcob3JlIGFyKS0yLjUgRShndW1lbnRzKQorLS4xOCBFIDEuNjM1KFRoZSBlKTE4MCA2ODguOCBSIDEuNjM1KHhwcmVzc2lvbiBpcyBwYXJzZWQgYW5kIGUpLS4xNSBGCistLjI1KHZhKS0uMjUgRyAxLjYzNQorKGx1YXRlZCBhY2NvcmRpbmcgdG8gcHJlY2VkZW5jZSB1c2luZyB0aGUgcnVsZXMgbGlzdGVkKS4yNSBGKGFibykxODAKKzcwMC44IFEgLS4xNSh2ZSktLjE1IEcoLikuMTUgRSBGMSh0aW1lcykxMDggNzE3LjYgUSBGMCAxLjIyOShQcmludCB0aGUgXAorYWNjdW11bGF0ZWQgdXNlciBhbmQgc3lzdGVtIHRpbWVzIGZvciB0aGUgc2hlbGwgYW5kIGZvciBwcm9jZXNzZXMgcnVuIGZcCityb20gdGhlIHNoZWxsLikxMy4yMyBGKFRoZSByZXR1cm4gc3RhdHVzIGlzIDAuKTE0NCA3MjkuNiBRKEdOVSBCYXNoLTQuMSkKKzcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDY2KTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDY3IDY3CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUl0YWxpY0AwIFNGKG1vZGUpMTQ0LjM4IDg0IFEgRjAgLjU1MgotKGlzIG9taXR0ZWQsIHRoZSBvdXRwdXQgaXMgaW4gYSBmb3JtIHRoYXQgbWF5IGJlIHJldXNlZCBhcyBpbnB1dC4pMy4yMzIKLUYgLjU1MShUaGUgcmV0dXJuIHN0YXR1cyBpcyAwIGlmIHRoZSk1LjU1MSBGKG1vZGUgdykxNDQgOTYgUQotKGFzIHN1Y2Nlc3NmdWxseSBjaGFuZ2VkIG9yIGlmIG5vKS0uMSBFIEYxKG1vZGUpMi41IEUgRjAoYXIpMi41IEUKLShndW1lbnQgdyktLjE4IEUoYXMgc3VwcGxpZWQsIGFuZCBmKS0uMSBFKGFsc2Ugb3RoZXJ3aXNlLiktLjEgRS9GMiAxMAotL1RpbWVzLUJvbGRAMCBTRih1bmFsaWFzKTEwOCAxMTIuOCBRIEYwPDViYWQ+Mi41IEUgRjIoYSlBIEYwIDIuNShdWylDIEYxCi0obmFtZSktMi41IEUgRjAoLi4uXSkyLjUgRShSZW1vKTE0NCAxMjQuOCBRIDEuOTU1IC0uMTUodmUgZSktLjE1IEgoYWNoKQotLjE1IEUgRjEobmFtZSk0LjE1NSBFIEYwIDEuNjU1KGZyb20gdGhlIGxpc3Qgb2YgZGVcMjE0bmVkIGFsaWFzZXMuKTQuMTU1Ci1GKElmKTYuNjU1IEUgRjI8YWQ2MT40LjE1NSBFIEYwIDEuNjU1Ci0oaXMgc3VwcGxpZWQsIGFsbCBhbGlhcyBkZVwyMTRuaXRpb25zIGFyZSk0LjE1NSBGKHJlbW8pMTQ0IDEzNi44IFEgLS4xNQotKHZlKS0uMTUgRyAyLjUoZC4gVGhlKS4xNSBGKHJldHVybiB2KTIuNSBFCi0oYWx1ZSBpcyB0cnVlIHVubGVzcyBhIHN1cHBsaWVkKS0uMjUgRSBGMShuYW1lKTIuODYgRSBGMAotKGlzIG5vdCBhIGRlXDIxNG5lZCBhbGlhcy4pMi42OCBFIEYyKHVuc2V0KTEwOCAxNTMuNiBRIEYwPDViYWQ+Mi41IEUgRjIKLShmdilBIEYwIDIuNShdWylDIEYxKG5hbWUpLTIuNSBFIEYwKC4uLl0pMi41IEUgLS4xNShGbykxNDQgMTY1LjYgUyAzLjEwNwotKHJlKS4xNSBHKGFjaCktMy4xMDcgRSBGMShuYW1lKTMuMTA3IEUgRjAgMy4xMDcoLHIpLjE4IEcoZW1vKS0zLjEwNyBFCi0uOTA3IC0uMTUodmUgdCktLjE1IEggLjYwNyhoZSBjb3JyZXNwb25kaW5nIHYpLjE1IEYgLjYwNwotKGFyaWFibGUgb3IgZnVuY3Rpb24uKS0uMjUgRiAuNjA2KElmIG5vIG9wdGlvbnMgYXJlIHN1cHBsaWVkLCBvciB0aGUpCi01LjYwNyBGIEYyPGFkNzY+MTQ0IDE3Ny42IFEgRjAgLjMwNChvcHRpb24gaXMgZ2kpMi44MDQgRiAtLjE1KHZlKS0uMjUgRwotLjMwNChuLCBlYWNoKS4xNSBGIEYxKG5hbWUpMy4xNjQgRSBGMCAuMzA1KHJlZmVycyB0byBhIHNoZWxsIHYpMi45ODUgRgotMi44MDUoYXJpYWJsZS4gUmVhZC1vbmx5KS0uMjUgRiAtLjI1KHZhKTIuODA1IEcgLjMwNQotKHJpYWJsZXMgbWF5IG5vdCBiZSB1bnNldC4pLjI1IEYoSWYpNS4zMDUgRSBGMjxhZDY2PjE0NCAxODkuNiBRIEYwIC40NgotKGlzIHNwZWNpXDIxNGVkLCBlYWNoKTIuOTYgRiBGMShuYW1lKTMuMzIgRSBGMCAuNDU5Ci0ocmVmZXJzIHRvIGEgc2hlbGwgZnVuY3Rpb24sIGFuZCB0aGUgZnVuY3Rpb24gZGVcMjE0bml0aW9uIGlzIHJlbW8pMy4xNAotRiAtLjE1KHZlKS0uMTUgRyAyLjk1OShkLiBFYWNoKS4xNSBGIC45MDIodW5zZXQgdikxNDQgMjAxLjYgUiAuOTAyCi0oYXJpYWJsZSBvciBmdW5jdGlvbiBpcyByZW1vKS0uMjUgRiAtLjE1KHZlKS0uMTUgRyAzLjQwMihkZikuMTUgRyAuOTAyCi0ocm9tIHRoZSBlbiktMy40MDIgRiAuOTAzKHZpcm9ubWVudCBwYXNzZWQgdG8gc3Vic2VxdWVudCBjb21tYW5kcy4pLS40IEYKLShJZik1LjkwMyBFKGFuKTE0NCAyMTMuNiBRIDQuMjg1KHlvKS0uMTUgRyhmKS00LjI4NSBFL0YzIDkvVGltZXMtQm9sZEAwCi1TRihSQU5ET00pNC4yODUgRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLClBIEYzKFNFQ09ORFMpNC4wMzUgRSBGNCgsKUEgRjMKLShMSU5FTk8pNC4wMzUgRSBGNCgsKUEgRjMoSElTVENNRCk0LjAzNSBFIEY0KCwpQSBGMyhGVU5DTik0LjAzNSBFKEFNRSkKLS0uMTggRSBGNCgsKUEgRjMoR1IpNC4wMzUgRShPVVBTKS0uMjcgRSBGNCgsKUEgRjAob3IpNC4wMzUgRSBGMyhESVJTVCkKLTQuMjg0IEUgLS40OTUoQUMpLS44MSBHKEspLjQ5NSBFIEYwKGFyZSk0LjAzNCBFIC4zMjgodW5zZXQsIHRoZSkxNDQKLTIyNS42IFIgMi44MjgoeWwpLS4xNSBHIC4zMjgob3NlIHRoZWlyIHNwZWNpYWwgcHJvcGVydGllcywgZSktMi44MjggRgotLS4xNSh2ZSktLjI1IEcgMi44MjgobmkpLjE1IEcgMi44MjgoZnQpLTIuODI4IEcoaGUpLTIuODI4IEUgMi44MjgoeWEpCi0tLjE1IEcgLjMyOChyZSBzdWJzZXF1ZW50bHkgcmVzZXQuKS0yLjgyOCBGIC4zMjgoVGhlIGUpNS4zMjggRiAuMzI5Ci0oeGl0IHN0YXR1cyBpcyB0cnVlKS0uMTUgRih1bmxlc3MgYSkxNDQgMjM3LjYgUSBGMShuYW1lKTIuODYgRSBGMAotKGlzIHJlYWRvbmx5KTIuNjggRSguKS0uNjUgRSBGMih3YWl0KTEwOCAyNTQuNCBRIEYwKFspMi41IEUgRjEgMi41KG4uKUMKLSguLiktMi41IEUgRjAoXSlBIC0uOChXYSkxNDQgMjY2LjQgUyAuMjg4Ci0oaXQgZm9yIGVhY2ggc3BlY2lcMjE0ZWQgcHJvY2VzcyBhbmQgcmV0dXJuIGl0cyB0ZXJtaW5hdGlvbiBzdGF0dXMuKS44IEYKLShFYWNoKTUuMjg4IEUgRjEobikzLjE0OCBFIEYwIC4yODcobWF5IGJlIGEgcHJvY2VzcyBJRCBvciBhKTMuMDI4IEYgLjcyMgotKGpvYiBzcGVjaVwyMTRjYXRpb247IGlmIGEgam9iIHNwZWMgaXMgZ2kpMTQ0IDI3OC40IFIgLS4xNSh2ZSktLjI1IEcKLS43MjIobiwgYWxsIHByb2Nlc3NlcyBpbiB0aGF0IGpvYicpLjE1IEYgMy4yMjIoc3ApLS41NSBHIC43MjIKLShpcGVsaW5lIGFyZSB3KS0zLjIyMiBGIC43MjIoYWl0ZWQgZm9yKS0uMSBGIDUuNzIyKC5JKS0uNTUgRyhmKS01LjcyMiBFCi1GMShuKTMuNTgzIEUgRjAoaXMpMy40NjMgRSAxLjI2Nihub3QgZ2kpMTQ0IDI5MC40IFIgLS4xNSh2ZSktLjI1IEcgMS4yNjYKLShuLCBhbGwgY3VycmVudGx5IGFjdGkpLjE1IEYgMS41NjYgLS4xNSh2ZSBjKS0uMjUgSCAxLjI2NQotKGhpbGQgcHJvY2Vzc2VzIGFyZSB3KS4xNSBGIDEuMjY1KGFpdGVkIGZvciktLjEgRiAzLjc2NSgsYSktLjQgRyAxLjI2NQotKG5kIHRoZSByZXR1cm4gc3RhdHVzIGlzIHplcm8uKS0zLjc2NSBGKElmKTYuMjY1IEUgRjEobik0LjEyNSBFIEYwIC40NTYKLShzcGVjaVwyMTRlcyBhIG5vbi1lKTE0NCAzMDIuNCBSIC40NTcKLSh4aXN0ZW50IHByb2Nlc3Mgb3Igam9iLCB0aGUgcmV0dXJuIHN0YXR1cyBpcyAxMjcuKS0uMTUgRiAuNDU3Ci0oT3RoZXJ3aXNlLCB0aGUgcmV0dXJuIHN0YXR1cyBpcyB0aGUpNS40NTcgRiAtLjE1KGV4KTE0NCAzMTQuNCBTCi0oaXQgc3RhdHVzIG9mIHRoZSBsYXN0IHByb2Nlc3Mgb3Igam9iIHcpLjE1IEUoYWl0ZWQgZm9yKS0uMSBFKC4pLS41NSBFCi0vRjUgMTAuOTUvVGltZXMtQm9sZEAwIFNGKFJFU1RSSUNURUQgU0hFTEwpNzIgMzMxLjIgUSBGMChJZikxMDggMzQzLjIgUQotRjIoYmFzaCk0LjM5NyBFIEYwIDEuODk3KGlzIHN0YXJ0ZWQgd2l0aCB0aGUgbmFtZSk0LjM5NyBGIEYyKHJiYXNoKTQuMzk3Ci1FIEYwIDQuMzk3KCxvKUMgNC4zOTcocnQpLTQuMzk3IEcoaGUpLTQuMzk3IEUgRjI8YWQ3Mj40LjM5NyBFIEYwIDEuODk2Ci0ob3B0aW9uIGlzIHN1cHBsaWVkIGF0IGluKTQuMzk3IEYgLS4yKHZvKS0uNCBHIDEuODk2Ci0oY2F0aW9uLCB0aGUgc2hlbGwgYmVjb21lcykuMiBGIDMuNDQ1KHJlc3RyaWN0ZWQuIEEpMTA4IDM1NS4yIFIgLjk0NQotKHJlc3RyaWN0ZWQgc2hlbGwgaXMgdXNlZCB0byBzZXQgdXAgYW4gZW4pMy40NDUgRiAuOTQ2Ci0odmlyb25tZW50IG1vcmUgY29udHJvbGxlZCB0aGFuIHRoZSBzdGFuZGFyZCBzaGVsbC4pLS40IEYoSXQpNS45NDYgRQotKGJlaGEpMTA4IDM2Ny4yIFEgLS4xNSh2ZSktLjIgRyAyLjUoc2kpLjE1IEcoZGVudGljYWxseSB0byktMi41IEUgRjIKLShiYXNoKTIuNSBFIEYwKHdpdGggdGhlIGUpMi41IEUoeGNlcHRpb24gdGhhdCB0aGUgZm9sbG8pLS4xNSBFCi0od2luZyBhcmUgZGlzYWxsbyktLjI1IEUod2VkIG9yIG5vdCBwZXJmb3JtZWQ6KS0uMjUgRSAzMi41PDgzNjM+MTA4IDM4NAotUyhoYW5naW5nIGRpcmVjdG9yaWVzIHdpdGgpLTMyLjUgRSBGMihjZCkyLjUgRSBGMCAzMi41PDgzNzM+MTA4IDQwMC44IFMKLShldHRpbmcgb3IgdW5zZXR0aW5nIHRoZSB2KS0zMi41IEUoYWx1ZXMgb2YpLS4yNSBFIEYyKFNIRUxMKTIuNSBFIEYwKCwpQQotRjIgLS43NChQQSkyLjUgRyhUSCktLjIxIEUgRjAoLClBIEYyKEVOVikyLjUgRSBGMCAyLjUoLG8pQyhyKS0yLjUgRSBGMgotLS4zKEJBKTIuNSBHKFNIX0VOVikuMyBFIEYwIDMyLjU8ODM3Mz4xMDggNDE3LjYgUwotKHBlY2lmeWluZyBjb21tYW5kIG5hbWVzIGNvbnRhaW5pbmcpLTMyLjUgRSBGMigvKTIuNSBFIEYwIDMyLjU8ODM3Mz4xMDgKLTQzNC40IFMocGVjaWZ5aW5nIGEgXDIxNGxlIG5hbWUgY29udGFpbmluZyBhKS0zMi41IEUgRjIoLykyLjUgRSBGMAotKGFzIGFuIGFyKTIuNSBFKGd1bWVudCB0byB0aGUpLS4xOCBFIEYyKC4pMi41IEUgRjAgLS4yKGJ1KTUgRwotKGlsdGluIGNvbW1hbmQpLjIgRSAzMi41PDgzNTM+MTA4IDQ1MS4yIFMgLjM1MQotKHBlY2lmeWluZyBhIFwyMTRsZW5hbWUgY29udGFpbmluZyBhIHNsYXNoIGFzIGFuIGFyKS0zMi41IEYgLjM1MQotKGd1bWVudCB0byB0aGUpLS4xOCBGIEYyPGFkNzA+Mi44NTEgRSBGMCAuMzUxKG9wdGlvbiB0byB0aGUpMi44NTEgRiBGMgotKGhhc2gpMi44NTEgRSBGMCAtLjIoYnUpMi44NTEgRyAuMzUxKGlsdGluIGNvbS0pLjIgRihtYW5kKTE0NCA0NjMuMiBRCi0zMi41PDgzNjk+MTA4IDQ4MCBTKG1wb3J0aW5nIGZ1bmN0aW9uIGRlXDIxNG5pdGlvbnMgZnJvbSB0aGUgc2hlbGwgZW4pCi0tMzIuNSBFKHZpcm9ubWVudCBhdCBzdGFydHVwKS0uNCBFIDMyLjU8ODM3MD4xMDggNDk2LjggUyhhcnNpbmcgdGhlIHYpCi0tMzIuNSBFKGFsdWUgb2YpLS4yNSBFIEYyKFNIRUxMT1BUUykyLjUgRSBGMChmcm9tIHRoZSBzaGVsbCBlbikyLjUgRQotKHZpcm9ubWVudCBhdCBzdGFydHVwKS0uNCBFIDMyLjU8ODM3Mj4xMDggNTEzLjYgUyhlZGlyZWN0aW5nIG91dHB1dCB1c2lcCi1uZyB0aGUgPiwgPnwsIDw+LCA+JiwgJj4sIGFuZCA+PiByZWRpcmVjdGlvbiBvcGVyYXRvcnMpLTMyLjUgRSAzMi41Ci08ODM3NT4xMDggNTMwLjQgUyhzaW5nIHRoZSktMzIuNSBFIEYyKGV4ZWMpMi41IEUgRjAgLS4yKGJ1KTIuNSBHCi0oaWx0aW4gY29tbWFuZCB0byByZXBsYWNlIHRoZSBzaGVsbCB3aXRoIGFub3RoZXIgY29tbWFuZCkuMiBFIDMyLjU8ODM2MT4KLTEwOCA1NDcuMiBTKGRkaW5nIG9yIGRlbGV0aW5nIGIpLTMyLjUgRSh1aWx0aW4gY29tbWFuZHMgd2l0aCB0aGUpLS4yIEUKLUYyPGFkNjY+Mi41IEUgRjAoYW5kKTIuNSBFIEYyPGFkNjQ+Mi41IEUgRjAob3B0aW9ucyB0byB0aGUpMi41IEUgRjIKLShlbmFibGUpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluIGNvbW1hbmQpLjIgRSAzMi41PDgzNTU+MTA4IDU2NCBTCi0oc2luZyB0aGUpLTMyLjUgRSBGMihlbmFibGUpMi41IEUgRjAgLS4yKGJ1KTIuNSBHCi0oaWx0aW4gY29tbWFuZCB0byBlbmFibGUgZGlzYWJsZWQgc2hlbGwgYikuMiBFKHVpbHRpbnMpLS4yIEUgMzIuNTw4MzczPgotMTA4IDU4MC44IFMocGVjaWZ5aW5nIHRoZSktMzIuNSBFIEYyPGFkNzA+Mi41IEUgRjAob3B0aW9uIHRvIHRoZSkyLjUgRQotRjIoY29tbWFuZCkyLjUgRSBGMCAtLjIoYnUpMi41IEcoaWx0aW4gY29tbWFuZCkuMiBFIDMyLjU8ODM3ND4xMDggNTk3LjYKLVModXJuaW5nIG9mKS0zMi41IEUgMi41KGZyKS0uMjUgRyhlc3RyaWN0ZWQgbW9kZSB3aXRoKS0yLjUgRSBGMihzZXQgK3IpCi0yLjUgRSBGMChvcikyLjUgRSBGMihzZXQgK28gcikyLjUgRShlc3RyaWN0ZWQpLS4xOCBFIEYwKC4pQQotKFRoZXNlIHJlc3RyaWN0aW9ucyBhcmUgZW5mb3JjZWQgYWZ0ZXIgYW4pMTA4IDYxNC40IFEgMi41KHlzKS0uMTUgRwotKHRhcnR1cCBcMjE0bGVzIGFyZSByZWFkLiktMi41IEUgMS41NjYKLShXaGVuIGEgY29tbWFuZCB0aGF0IGlzIGZvdW5kIHRvIGJlIGEgc2hlbGwgc2NyaXB0IGlzIGUpMTA4IDYzMS4yIFIgLS4xNQotKHhlKS0uMTUgRyAxLjU2NyhjdXRlZCBcKHNlZSkuMTUgRiBGMyAxLjU2NyhDT01NQU5EIEVYRUNVVElPTik0LjA2NyBGIEYwCi0oYWJvKTMuODE3IEUgLS4xNSh2ZSktLjE1IEcoXCksKS4xNSBFIEYyKHJiYXNoKTEwOCA2NDMuMiBRIEYwKHR1cm5zIG9mKQotMi41IEUgMi41KGZhKS0uMjUgRyAuMyAtLjE1KG55IHIpLTIuNSBIKGVzdHJpY3Rpb25zIGluIHRoZSBzaGVsbCBzcGEpLjE1Ci1FKHduZWQgdG8gZSktLjE1IEUgLS4xNSh4ZSktLjE1IEcoY3V0ZSB0aGUgc2NyaXB0LikuMTUgRSBGNShTRUUgQUxTTyk3MgotNjYwIFEgRjEoQmFzaCBSZWZlcikxMDggNjcyIFEoZW5jZSBNYW51YWwpLS4zNyBFIEYwIDIuNSgsQilDKHJpYW4gRiktMi41Ci1FKG94IGFuZCBDaGV0IFJhbWUpLS4xNSBFKHkpLS4xNSBFIEYxKFRoZSBHbnUgUmVhZGxpbmUgTGlicikxMDggNjg0IFEKLShhcnkpLS4xNSBFIEYwIDIuNSgsQilDKHJpYW4gRiktMi41IEUob3ggYW5kIENoZXQgUmFtZSktLjE1IEUoeSktLjE1IEUKLUYxKFRoZSBHbnUgSGlzdG9yeSBMaWJyKTEwOCA2OTYgUShhcnkpLS4xNSBFIEYwIDIuNSgsQilDKHJpYW4gRiktMi41IEUKLShveCBhbmQgQ2hldCBSYW1lKS0uMTUgRSh5KS0uMTUgRShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwOSBGZWJydWFyeSA3KQotMTQwLjk2IEUoNjcpMTkwLjk1IEUgMCBDZyBFUAorLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRih0cmFwKTEwOCA4NCBRIEYwKFspMi41IEUgRjEoXDI1NWxwKUEgRjAgMi41CisoXVspQyhbKS0yLjUgRS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihhcilBKGcpLS4zNyBFIEYwKF0pQSBGMihzaWdzcGVjKQorMi41IEUgRjAoLi4uXSkyLjUgRSAuNzAyKFRoZSBjb21tYW5kKTE0NCA5NiBSIEYyKGFyKTMuNTMyIEUoZyktLjM3IEUgRjAKKy43MDIoaXMgdG8gYmUgcmVhZCBhbmQgZSkzLjQyMiBGIC0uMTUoeGUpLS4xNSBHIC43MDIKKyhjdXRlZCB3aGVuIHRoZSBzaGVsbCByZWNlaSkuMTUgRiAtLjE1KHZlKS0uMjUgRyAzLjIwMyhzcykuMTUgRworKGlnbmFsXChzXCkpLTMuMjAzIEUgRjIoc2lnc3BlYykzLjIwMyBFIEYwIDUuNzAzKC5JKS4zMSBHKGYpLTUuNzAzIEUgRjIKKyhhcikzLjUzMyBFKGcpLS4zNyBFIEYwKGlzKTMuNDIzIEUgLjYwOShhYnNlbnQgXChhbmQgdGhlcmUgaXMgYSBzaW5nbGUpCisxNDQgMTA4IFIgRjIoc2lnc3BlYykzLjEwOCBFIEYwIDMuMTA4KFwpbylDKHIpLTMuMTA4IEUgRjE8YWQ+My4xMDggRSBGMAorMy4xMDgoLGUpQyAuNjA4CisoYWNoIHNwZWNpXDIxNGVkIHNpZ25hbCBpcyByZXNldCB0byBpdHMgb3JpZ2luYWwgZGlzcG9zaXRpb24pLTMuMTA4IEYKKy42NTgoXCh0aGUgdikxNDQgMTIwIFIgLjY1OChhbHVlIGl0IGhhZCB1cG9uIGVudHJhbmNlIHRvIHRoZSBzaGVsbFwpLikKKy0uMjUgRihJZik1LjY1OCBFIEYyKGFyKTMuNDg4IEUoZyktLjM3IEUgRjAgLjY1OQorKGlzIHRoZSBudWxsIHN0cmluZyB0aGUgc2lnbmFsIHNwZWNpXDIxNGVkIGJ5IGVhY2gpMy4zNzggRiBGMihzaWdzcGVjKQorMTQ0LjM0IDEzMiBRIEYwIC41ODEoaXMgaWdub3JlZCBieSB0aGUgc2hlbGwgYW5kIGJ5IHRoZSBjb21tYW5kcyBpdCBpbikKKzMuMzkxIEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDMuMDgocy4gSWYpLjEgRiBGMihhcikzLjQxIEUoZyktLjM3IEUKK0YwIC41OChpcyBub3QgcHJlc2VudCBhbmQpMy4zIEYgRjE8YWQ3MD4zLjA4IEUgRjAoaGFzKTMuMDggRSAxLjIxNAorKGJlZW4gc3VwcGxpZWQsIHRoZW4gdGhlIHRyYXAgY29tbWFuZHMgYXNzb2NpYXRlZCB3aXRoIGVhY2gpMTQ0IDE0NCBSIEYyCisoc2lnc3BlYyk0LjA1NCBFIEYwIDEuMjE1KGFyZSBkaXNwbGF5ZWQuKTQuMDI0IEYgMS4yMTUoSWYgbm8gYXIpNi4yMTUgRgorKGd1LSktLjE4IEUgLjg2KG1lbnRzIGFyZSBzdXBwbGllZCBvciBpZiBvbmx5KTE0NCAxNTYgUiBGMTxhZDcwPjMuMzYgRQorRjAgLjg2KGlzIGdpKTMuMzYgRiAtLjE1KHZlKS0uMjUgRyhuLCkuMTUgRSBGMSh0cmFwKTMuMzYgRSBGMCAuODYKKyhwcmludHMgdGhlIGxpc3Qgb2YgY29tbWFuZHMgYXNzb2NpYXRlZCB3aXRoIGVhY2gpMy4zNiBGIDIuODMKKyhzaWduYWwuIFRoZSkxNDQgMTY4IFIgRjE8YWQ2Yz4yLjgzIEUgRjAgLjMzKG9wdGlvbiBjYXVzZXMgdGhlIHNoZWxsIHRvXAorIHByaW50IGEgbGlzdCBvZiBzaWduYWwgbmFtZXMgYW5kIHRoZWlyIGNvcnJlc3BvbmRpbmcgbnVtLSkyLjgzIEYgNC4zMTEKKyhiZXJzLiBFYWNoKTE0NCAxODAgUiBGMihzaWdzcGVjKTQuNjUxIEUgRjAgMS44MTEKKyhpcyBlaXRoZXIgYSBzaWduYWwgbmFtZSBkZVwyMTRuZWQgaW4gPCk0LjYyMSBGIEYyKHNpZ25hbC5oKUEgRjAgMS44MQorKD4sIG9yIGEgc2lnbmFsIG51bWJlcilCIDYuODEoLlMpLS41NSBHKGlnbmFsKS02LjgxIEUKKyhuYW1lcyBhcmUgY2FzZSBpbnNlbnNpdGkpMTQ0IDE5MiBRIC4zIC0uMTUodmUgYSktLjI1IEgKKyhuZCB0aGUgU0lHIHByZVwyMTR4IGlzIG9wdGlvbmFsLikuMTUgRSAxLjY0OChJZiBhKTE0NCAyMTAgUiBGMihzaWdzcGVjKQorNC40ODggRSBGMChpcyk0LjQ1OCBFL0YzIDkvVGltZXMtQm9sZEAwIFNGKEVYSVQpNC4xNDggRSBGMCAxLjY0OAorKFwoMFwpIHRoZSBjb21tYW5kKTMuODk4IEYgRjIoYXIpNC40NzkgRShnKS0uMzcgRSBGMCAxLjY0OShpcyBlKTQuMzY5IEYKKy0uMTUoeGUpLS4xNSBHIDEuNjQ5KGN1dGVkIG9uIGUpLjE1IEYgMS42NDkoeGl0IGZyb20gdGhlIHNoZWxsLiktLjE1IEYKKzEuNjQ5KElmIGEpNi42NDkgRiBGMihzaWdzcGVjKTQuNDg5IEUgRjAoaXMpNC40NTkgRSBGMyhERUIpMTQ0IDIyMiBRKFVHKQorLS4wOSBFL0Y0IDkvVGltZXMtUm9tYW5AMCBTRigsKUEgRjAgMS4xNjgodGhlIGNvbW1hbmQpMy40MTggRiBGMihhcikKKzMuOTk4IEUoZyktLjM3IEUgRjAgMS4xNjgoaXMgZSkzLjg4OCBGIC0uMTUoeGUpLS4xNSBHIDEuMTY3CisoY3V0ZWQgYmVmb3JlIGUpLjE1IEYgLS4xNSh2ZSktLjI1IEcocnkpLjE1IEUgRjIgMS4xNjcoc2ltcGxlIGNvbW1hbmQpCiszLjY2NyBGIEYwKCwpQSBGMihmb3IpMy42NjcgRSBGMChjb21tYW5kLCkzLjY2NyBFIEYyKGNhc2UpMy42NjcgRSBGMAorKGNvbS0pMy42NjcgRShtYW5kLCkxNDQgMjM0IFEgRjIoc2VsZWN0KTIuNjQ2IEUgRjAgLjE0Nihjb21tYW5kLCBlKTIuNjQ2CitGIC0uMTUodmUpLS4yNSBHIC4xNDYocnkgYXJpdGhtZXRpYykuMTUgRiBGMihmb3IpMi42NDYgRSBGMCAuMTQ3CisoY29tbWFuZCwgYW5kIGJlZm9yZSB0aGUgXDIxNHJzdCBjb21tYW5kIGUpMi42NDYgRiAtLjE1KHhlKS0uMTUgRyAuMTQ3CisoY3V0ZXMgaW4gYSkuMTUgRiAuMTQ2KHNoZWxsIGZ1bmN0aW9uIFwoc2VlKTE0NCAyNDYgUiBGMyAuMTQ2CisoU0hFTEwgR1JBTU1BUikyLjY0NiBGIEYwKGFibykyLjM5NiBFIC0uMTUodmUpLS4xNSBHIDIuNjQ2KFwpLiBSZWZlcikuMTUKK0YgLjE0Nih0byB0aGUgZGVzY3JpcHRpb24gb2YgdGhlKTIuNjQ2IEYgRjEoZXh0ZGViKTIuNjQ1IEUodWcpLS4yIEUgRjAKKy4xNDUob3B0aW9uIHRvKTIuNjQ1IEYodGhlKTE0NCAyNTggUSBGMShzaG9wdCkzLjIgRSBGMCAtLjIoYnUpMy4yIEcgLjcKKyhpbHRpbiBmb3IgZGV0YWlscyBvZiBpdHMgZWYpLjIgRiAuNyhmZWN0IG9uIHRoZSktLjI1IEYgRjEoREVCKTMuMiBFKFVHKQorLS4xIEUgRjAgMy4yKHRyYXAuIElmKTMuMiBGKGEpMy4yIEUgRjIoc2lnc3BlYykzLjU0IEUgRjAoaXMpMy41MSBFIEYzCisoUkVUVVJOKTMuMiBFIEY0KCwpQSBGMCAuNzAxKHRoZSBjb20tKTIuOTUxIEYobWFuZCkxNDQgMjcwIFEgRjIoYXIpMy40NzQKK0UoZyktLjM3IEUgRjAgLjY0NChpcyBlKTMuMzY0IEYgLS4xNSh4ZSktLjE1IEcgLjY0MworKGN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yIGEgc2NyaXB0IGUpLjE1IEYgLS4xNSh4ZSktLjE1IEcKKy42NDMoY3V0ZWQgd2l0aCB0aGUpLjE1IEYgRjEoLikzLjE0MyBFIEYwKG9yKTMuMTQzIEUgRjEoc291cikzLjE0MyBFKGNlKQorLS4xOCBFIEYwIC0uMihidSkzLjE0MyBHKGlsdGlucykuMiBFKFwyMTRuaXNoZXMgZSkxNDQgMjgyIFEgLS4xNSh4ZSktLjE1CitHKGN1dGluZy4pLjE1IEUgLjkyOChJZiBhKTE0NCAzMDAgUiBGMihzaWdzcGVjKTMuNzY4IEUgRjAoaXMpMy43MzggRSBGMworKEVSUikzLjQyOSBFIEY0KCwpQSBGMCAuOTI5KHRoZSBjb21tYW5kKTMuMTc5IEYgRjIoYXIpMy43NTkgRShnKS0uMzcgRQorRjAgLjkyOShpcyBlKTMuNjQ5IEYgLS4xNSh4ZSktLjE1IEcgLjkyOShjdXRlZCB3aGVuZSkuMTUgRiAtLjE1KHZlKS0uMjUKK0cgMy40MjkocmFzKS4xNSBHIC45MjkoaW1wbGUgY29tbWFuZCBoYXMgYSBub25cMjU1emVybyktMy40MjkgRiAtLjE1KGV4KQorMTQ0IDMxMiBTIDEuMDA5KGl0IHN0YXR1cywgc3ViamVjdCB0byB0aGUgZm9sbG8pLjE1IEYgMS4wMDkKKyh3aW5nIGNvbmRpdGlvbnMuKS0uMjUgRihUaGUpNi4wMDkgRSBGMyhFUlIpMy41MDkgRSBGMCAxLjAwOQorKHRyYXAgaXMgbm90IGUpMy4yNTkgRiAtLjE1KHhlKS0uMTUgRyAxLjAwOChjdXRlZCBpZiB0aGUgZikuMTUgRiAxLjAwOAorKGFpbGVkIGNvbS0pLS4xIEYgLjMyNAorKG1hbmQgaXMgcGFydCBvZiB0aGUgY29tbWFuZCBsaXN0IGltbWVkaWF0ZWx5IGZvbGxvKTE0NCAzMjQgUiAuMzI0Cisod2luZyBhKS0uMjUgRiBGMSh3aGlsZSkyLjgyNCBFIEYwKG9yKTIuODI0IEUgRjEodW50aWwpMi44MjQgRSBGMCAtLjEKKyhrZSkyLjgyNCBHKHl3KS0uMDUgRSAuMzI0KG9yZCwgcGFydCBvZiB0aGUgdGVzdCktLjEgRiAxLjEyOShpbiBhbikxNDQKKzMzNiBSIEYyKGlmKTMuNjM5IEUgRjAgMS4xMjkoc3RhdGVtZW50LCBwYXJ0IG9mIGEgY29tbWFuZCBlKTUuNTg5IEYgLS4xNQorKHhlKS0uMTUgRyAxLjEyOShjdXRlZCBpbiBhKS4xNSBGIEYxKCYmKTMuNjI5IEUgRjAob3IpMy42MjkgRS9GNSAxMAorL1N5bWJvbCBTRjxlZmVmPjMuNjI5IEUgRjAgMS4xMjkobGlzdCwgb3IgaWYgdGhlIGNvbW1hbmQnKTMuNjI5IEYgMy42MjgKKyhzciktLjU1IEcoZXR1cm4pLTMuNjI4IEUgLS4yNSh2YSkxNDQgMzQ4IFMobHVlIGlzIGJlaW5nIGluKS4yNSBFIC0uMTUKKyh2ZSktLjQgRyhydGVkIHZpYSkuMTUgRSBGMSghKTIuNSBFIEYwIDUoLlQpQworKGhlc2UgYXJlIHRoZSBzYW1lIGNvbmRpdGlvbnMgb2JlKS01IEUoeWVkIGJ5IHRoZSktLjE1IEUgRjEoZXJyKTIuNSBFCisoZXhpdCktLjE4IEUgRjAob3B0aW9uLikyLjUgRSAxLjA5NQorKFNpZ25hbHMgaWdub3JlZCB1cG9uIGVudHJ5IHRvIHRoZSBzaGVsbCBjYW5ub3QgYmUgdHJhcHBlZCBvciByZXNldC4pMTQ0CiszNjYgUiAtLjM1KFRyKTYuMDk1IEcgMS4wOTUoYXBwZWQgc2lnbmFscyB0aGF0IGFyZSBub3QpLjM1IEYgLjY2MgorKGJlaW5nIGlnbm9yZWQgYXJlIHJlc2V0IHRvIHRoZWlyIG9yaWdpbmFsIHYpMTQ0IDM3OCBSIC42NjIKKyhhbHVlcyBpbiBhIHN1YnNoZWxsIG9yIHN1YnNoZWxsIGVuKS0uMjUgRiAuNjYxKHZpcm9ubWVudCB3aGVuIG9uZSBpcykKKy0uNCBGIDIuNShjcmVhdGVkLiBUaGUpMTQ0IDM5MCBSKHJldHVybiBzdGF0dXMgaXMgZikyLjUgRShhbHNlIGlmIGFuKS0uMQorRSh5KS0uMTUgRSBGMihzaWdzcGVjKTIuODQgRSBGMChpcyBpbikyLjgxIEUgLS4yNSh2YSktLjQgRworKGxpZDsgb3RoZXJ3aXNlKS4yNSBFIEYxKHRyYXApMi41IEUgRjAocmV0dXJucyB0cnVlLikyLjUgRSBGMSh0eXBlKTEwOAorNDA2LjggUSBGMChbKTIuNSBFIEYxKFwyNTVhZnRwUClBIEYwKF0pQSBGMihuYW1lKTIuNSBFIEYwKFspMi41IEUgRjIKKyhuYW1lKUEgRjAoLi4uXSkyLjUgRSAtLjQoV2kpMTQ0IDQxOC44IFMgLjE3MworKHRoIG5vIG9wdGlvbnMsIGluZGljYXRlIGhvKS40IEYgMi42NzMod2UpLS4yNSBHKGFjaCktMi42NzMgRSBGMihuYW1lKQorMy4wMzMgRSBGMCAtLjEod28pMi44NTMgRyAuMTc0CisodWxkIGJlIGludGVycHJldGVkIGlmIHVzZWQgYXMgYSBjb21tYW5kIG5hbWUuKS4xIEYgLjE3NChJZiB0aGUpNS4xNzQgRgorRjE8YWQ3ND4xNDQgNDMwLjggUSBGMCAuODQzKG9wdGlvbiBpcyB1c2VkLCkzLjM0MyBGIEYxKHR5cGUpMy4zNDMgRSBGMAorLjg0MyhwcmludHMgYSBzdHJpbmcgd2hpY2ggaXMgb25lIG9mKTMuMzQzIEYgRjIoYWxpYXMpMy4zNDMgRSBGMCgsKS4yNyBFCitGMiAtLjEoa2UpMy4zNDMgRyh5d29yKS0uMiBFKGQpLS4zNyBFIEYwKCwpLjc3IEUgRjIoZnVuY3Rpb24pMy4zNDMgRSBGMAorKCwpLjI0IEUgRjIgLS4yKGJ1KTMuMzQyIEcoaWx0aW4pLjIgRSBGMCAzLjM0MigsbykuMjQgRyhyKS0zLjM0MiBFIEYyCisoXDIxNGxlKTUuMjUyIEUgRjAoaWYpMy41MjIgRSBGMihuYW1lKTE0NC4zNiA0NDIuOCBRIEYwIC4wODYKKyhpcyBhbiBhbGlhcywgc2hlbGwgcmVzZXJ2KTIuNzY2IEYgLjA4NihlZCB3KS0uMTUgRiAuMDg2Cisob3JkLCBmdW5jdGlvbiwgYiktLjEgRiAuMDg3KHVpbHRpbiwgb3IgZGlzayBcMjE0bGUsIHJlc3BlY3RpKS0uMiBGIC0uMTUKKyh2ZSktLjI1IEcobHkpLjE1IEUgNS4wODcoLkkpLS42NSBHIDIuNTg3KGZ0KS01LjA4NyBHKGhlKS0yLjU4NyBFIEYyCisobmFtZSkyLjk0NyBFIEYwIC4wODcoaXMgbm90KTIuNzY3IEYgLjExOQorKGZvdW5kLCB0aGVuIG5vdGhpbmcgaXMgcHJpbnRlZCwgYW5kIGFuIGUpMTQ0IDQ1NC44IFIgLjExOAorKHhpdCBzdGF0dXMgb2YgZiktLjE1IEYgLjExOChhbHNlIGlzIHJldHVybmVkLiktLjEgRiAuMTE4KElmIHRoZSk1LjExOCBGCitGMTxhZDcwPjIuNjE4IEUgRjAgLjExOChvcHRpb24gaXMgdXNlZCwpMi42MTggRiBGMSh0eXBlKTIuNjE4IEUgRjAgLjg1NQorKGVpdGhlciByZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSBkaXNrIFwyMTRsZSB0aGF0IHcpMTQ0IDQ2Ni44IFIgLjg1NQorKG91bGQgYmUgZSktLjEgRiAtLjE1KHhlKS0uMTUgRyAuODU1KGN1dGVkIGlmKS4xNSBGIEYyKG5hbWUpMy43MTUgRSBGMAorLjg1NSh3ZXJlIHNwZWNpXDIxNGVkIGFzIGEgY29tLSkzLjUzNSBGIC42NDEobWFuZCBuYW1lLCBvciBub3RoaW5nIGlmKQorMTQ0IDQ3OC44IFIvRjYgMTAvQ291cmllckAwIFNGIC42NDEodHlwZSAtdCBuYW1lKTMuMTQxIEYgRjAgLS4xKHdvKTMuMTQxCitHIC42NDEodWxkIG5vdCByZXR1cm4pLjEgRiBGMihcMjE0bGUpMy4xNCBFIEYwIDUuNjQoLlQpLjE4IEcoaGUpLTUuNjQgRQorRjE8YWQ1MD4zLjE0IEUgRjAgLjY0KG9wdGlvbiBmb3JjZXMgYSkzLjE0IEYgRjMgLS42NjYoUEEpMy4xNCBHKFRIKS0uMTg5CitFIEYwIC4xMTIoc2VhcmNoIGZvciBlYWNoKTE0NCA0OTAuOCBSIEYyKG5hbWUpMi42MTIgRSBGMCAyLjYxMigsZSlDIC0uMTUKKyh2ZSktMi44NjIgRyAyLjYxMyhuaSkuMTUgRyhmKS0yLjYxMyBFIEY2IC4xMTModHlwZSAtdCBuYW1lKTIuNjEzIEYgRjAKKy0uMSh3bykyLjYxMyBHIC4xMTModWxkIG5vdCByZXR1cm4pLjEgRiBGMihcMjE0bGUpMi42MTMgRSBGMCA1LjExMyguSSkKKy4xOCBHIDIuNjEzKGZhYyktNS4xMTMgRyAuMTEzKG9tbWFuZCBpcyBoYXNoZWQsKS0yLjYxMyBGIEYxPGFkNzA+Mi42MTMgRQorRjAoYW5kKTE0NCA1MDIuOCBRIEYxPGFkNTA+Mi45NDUgRSBGMCAuNDQ1KHByaW50IHRoZSBoYXNoZWQgdikyLjk0NSBGCisuNDQ0KGFsdWUsIG5vdCBuZWNlc3NhcmlseSB0aGUgXDIxNGxlIHRoYXQgYXBwZWFycyBcMjE0cnN0IGluKS0uMjUgRiBGMworLS42NjYoUEEpMi45NDQgRyhUSCktLjE4OSBFIEY0KC4pQSBGMCAuNDQ0KElmIHRoZSk0Ljk0NCBGIEYxPGFkNjE+Mi45NDQKK0UgRjAob3B0aW9uKTIuOTQ0IEUgLjI2NShpcyB1c2VkLCkxNDQgNTE0LjggUiBGMSh0eXBlKTIuNzY1IEUgRjAgLjI2NQorKHByaW50cyBhbGwgb2YgdGhlIHBsYWNlcyB0aGF0IGNvbnRhaW4gYW4gZSkyLjc2NSBGIC0uMTUoeGUpLS4xNSBHIC4yNjUKKyhjdXRhYmxlIG5hbWVkKS4xNSBGIEYyKG5hbWUpMi43NjUgRSBGMCA1LjI2NSguVCkuMTggRyAuMjY1CisoaGlzIGluY2x1ZGVzIGFsaWFzZXMpLTUuMjY1IEYgLjQyNyhhbmQgZnVuY3Rpb25zLCBpZiBhbmQgb25seSBpZiB0aGUpCisxNDQgNTI2LjggUiBGMTxhZDcwPjIuOTI2IEUgRjAgLjQyNihvcHRpb24gaXMgbm90IGFsc28gdXNlZC4pMi45MjYgRgorLjQyNihUaGUgdGFibGUgb2YgaGFzaGVkIGNvbW1hbmRzIGlzIG5vdCk1LjQyNiBGIC41NDgKKyhjb25zdWx0ZWQgd2hlbiB1c2luZykxNDQgNTM4LjggUiBGMTxhZDYxPjMuMDQ4IEUgRjAgNS41NDgoLlQpQyhoZSkKKy01LjU0OCBFIEYxPGFkNjY+My4wNDggRSBGMCAuNTQ5Cisob3B0aW9uIHN1cHByZXNzZXMgc2hlbGwgZnVuY3Rpb24gbG9va3VwLCBhcyB3aXRoIHRoZSkzLjA0OCBGIEYxCisoY29tbWFuZCkzLjA0OSBFIEYwIC0uMihidSkxNDQgNTUwLjggUyhpbHRpbi4pLjIgRSBGMSh0eXBlKTUgRSBGMAorKHJldHVybnMgdHJ1ZSBpZiBhbGwgb2YgdGhlIGFyKTIuNSBFKGd1bWVudHMgYXJlIGZvdW5kLCBmKS0uMTggRQorKGFsc2UgaWYgYW4pLS4xIEUgMi41KHlhKS0uMTUgRyhyZSBub3QgZm91bmQuKS0yLjUgRSBGMSh1bGltaXQpMTA4IDU2Ny42CitRIEYwKFspMi41IEUgRjEoXDI1NUhTVClBKGFiY2RlXDIxNGxtbnBxcnN0dXZ4KS0uOTIgRSBGMChbKTIuNSBFIEYyCisobGltaXQpQSBGMChdXSlBKFBybykxNDQgNTc5LjYgUSAuMjQ0KHZpZGVzIGNvbnRyb2wgbyktLjE1IEYgLS4xNSh2ZSkKKy0uMTUgRyAyLjc0NChydCkuMTUgRyAuMjQ0KGhlIHJlc291cmNlcyBhKS0yLjc0NCBGIC0uMjUodmEpLS4yIEcgLjI0NAorKGlsYWJsZSB0byB0aGUgc2hlbGwgYW5kIHRvIHByb2Nlc3NlcyBzdGFydGVkIGJ5IGl0LCBvbiBzeXN0ZW1zKS4yNSBGCisuOTQzKHRoYXQgYWxsbykxNDQgNTkxLjYgUiAzLjQ0Myh3cyktLjI1IEcgLjk0Myh1Y2ggY29udHJvbC4pLTMuNDQzIEYKKyhUaGUpNS45NDMgRSBGMTxhZDQ4PjMuNDQzIEUgRjAoYW5kKTMuNDQzIEUgRjE8YWQ1Mz4zLjQ0NCBFIEYwIC45NDQKKyhvcHRpb25zIHNwZWNpZnkgdGhhdCB0aGUgaGFyZCBvciBzb2Z0IGxpbWl0IGlzIHNldCBmb3IgdGhlKTMuNDQ0IEYoZ2kpCisxNDQgNjAzLjYgUSAtLjE1KHZlKS0uMjUgRyAyLjcwOShucikuMTUgRyAyLjcwOShlc291cmNlLiBBKS0yLjcwOSBGIC4yMDgKKyhoYXJkIGxpbWl0IGNhbm5vdCBiZSBpbmNyZWFzZWQgYnkgYSBub24tcm9vdCB1c2VyIG9uY2UgaXQgaXMgc2V0OyBhIHNvXAorZnQgbGltaXQgbWF5KTIuNzA5IEYgLjQyNShiZSBpbmNyZWFzZWQgdXAgdG8gdGhlIHYpMTQ0IDYxNS42IFIgLjQyNQorKGFsdWUgb2YgdGhlIGhhcmQgbGltaXQuKS0uMjUgRiAuNDI2KElmIG5laXRoZXIpNS40MjUgRiBGMTxhZDQ4PjIuOTI2IEUKK0YwKG5vcikyLjkyNiBFIEYxPGFkNTM+Mi45MjYgRSBGMCAuNDI2CisoaXMgc3BlY2lcMjE0ZWQsIGJvdGggdGhlIHNvZnQgYW5kKTIuOTI2IEYgLjEzOShoYXJkIGxpbWl0cyBhcmUgc2V0LikxNDQKKzYyNy42IFIgLjEzOShUaGUgdik1LjEzOSBGIC4xMzkoYWx1ZSBvZiktLjI1IEYgRjIobGltaXQpMi43MjkgRSBGMCAuMTM5CisoY2FuIGJlIGEgbnVtYmVyIGluIHRoZSB1bml0IHNwZWNpXDIxNGVkIGZvciB0aGUgcmVzb3VyY2Ugb3Igb25lKTMuMzE5IEYKKy43NDEob2YgdGhlIHNwZWNpYWwgdikxNDQgNjM5LjYgUihhbHVlcyktLjI1IEUgRjEoaGFyZCkzLjI0MSBFIEYwKCwpQSBGMQorKHNvZnQpMy4yNDEgRSBGMCAzLjI0MSgsbylDKHIpLTMuMjQxIEUgRjEodW5saW1pdGVkKTMuMjQxIEUgRjAgMy4yNDEoLHcpCitDIC43NDEoaGljaCBzdGFuZCBmb3IgdGhlIGN1cnJlbnQgaGFyZCBsaW1pdCwgdGhlIGN1cnJlbnQpLTMuMjQxIEYgLjc4Cisoc29mdCBsaW1pdCwgYW5kIG5vIGxpbWl0LCByZXNwZWN0aSkxNDQgNjUxLjYgUiAtLjE1KHZlKS0uMjUgRyhseSkuMTUgRQorNS43OCguSSktLjY1IEcoZiktNS43OCBFIEYyKGxpbWl0KTMuMzcgRSBGMCAuNzgKKyhpcyBvbWl0dGVkLCB0aGUgY3VycmVudCB2KTMuOTYgRiAuNzgoYWx1ZSBvZiB0aGUgc29mdCBsaW1pdCBvZiB0aGUpLS4yNQorRiAuNDk4KHJlc291cmNlIGlzIHByaW50ZWQsIHVubGVzcyB0aGUpMTQ0IDY2My42IFIgRjE8YWQ0OD4yLjk5OSBFIEYwCisuNDk5KG9wdGlvbiBpcyBnaSkyLjk5OSBGIC0uMTUodmUpLS4yNSBHIDIuOTk5KG4uIFdoZW4pLjE1IEYgLjQ5OQorKG1vcmUgdGhhbiBvbmUgcmVzb3VyY2UgaXMgc3BlY2lcMjE0ZWQsIHRoZSkyLjk5OSBGCisobGltaXQgbmFtZSBhbmQgdW5pdCBhcmUgcHJpbnRlZCBiZWZvcmUgdGhlIHYpMTQ0IDY3NS42IFEgMi41CisoYWx1ZS4gT3RoZXIpLS4yNSBGKG9wdGlvbnMgYXJlIGludGVycHJldGVkIGFzIGZvbGxvKTIuNSBFKHdzOiktLjI1IEUgRjEKKzxhZDYxPjE0NCA2ODcuNiBRIEYwKEFsbCBjdXJyZW50IGxpbWl0cyBhcmUgcmVwb3J0ZWQpMjUuMyBFIEYxPGFkNjI+MTQ0Cis2OTkuNiBRIEYwKFRoZSBtYXhpbXVtIHNvY2spMjQuNzQgRShldCBiKS0uMSBFKHVmKS0uMiBFKGZlciBzaXplKS0uMjUgRQorRjE8YWQ2Mz4xNDQgNzExLjYgUSBGMChUaGUgbWF4aW11bSBzaXplIG9mIGNvcmUgXDIxNGxlcyBjcmVhdGVkKTI1Ljg2IEUKKyhHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoNjcpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNjggNjgKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtSXRhbGljQDAgU0YgLS44KFBvKTEwOCA4NCBTKHJ0YWJsZSBPcGVyKS44IEUKLShhdGluZyBTeXN0ZW0gSW50ZXJmYWNlIFwoUE9TSVhcKSBQKS0uMTUgRShhcnQgMjogU2hlbGwgYW5kIFV0aWxpdGllcykKLS0uOCBFIEYwIDIuNSgsSSlDKEVFRSktMi41IEUgRjEoc2gpMTA4IDk2IFEgRjAoXCgxXCksKUEgRjEoa3NoKTIuNSBFIEYwCi0oXCgxXCksKUEgRjEoY3NoKTIuNSBFIEYwKFwoMVwpKUEgRjEoZW1hY3MpMTA4IDEwOCBRIEYwKFwoMVwpLClBIEYxKHZpKQotMi41IEUgRjAoXCgxXCkpQSBGMSAtLjM3KHJlKTEwOCAxMjAgUyhhZGxpbmUpLjM3IEUgRjAoXCgzXCkpQS9GMiAxMC45NQotL1RpbWVzLUJvbGRAMCBTRihGSUxFUyk3MiAxMzYuOCBRIEYxKC9iaW4vYmFzaCkxMDkuNjY2IDE0OC44IFEgRjAoVGhlKQotMTQ0IDE2MC44IFEvRjMgMTAvVGltZXMtQm9sZEAwIFNGKGJhc2gpMi41IEUgRjAgLS4xNShleGUpMi41IEcoY3V0YWJsZSkKLS4xNSBFIEYxKC9ldGMvcHIpMTA5LjY2NiAxNzIuOCBRKG9cMjE0bGUpLS40NSBFIEYwCi0oVGhlIHN5c3RlbXdpZGUgaW5pdGlhbGl6YXRpb24gXDIxNGxlLCBlKTE0NCAxODQuOCBRIC0uMTUoeGUpLS4xNSBHCi0oY3V0ZWQgZm9yIGxvZ2luIHNoZWxscykuMTUgRSBGMSh+Ly5iYXNoX3ByKTEwOS42NjYgMTk2LjggUShvXDIxNGxlKS0uNDUKLUUgRjAoVGhlIHBlcnNvbmFsIGluaXRpYWxpemF0aW9uIFwyMTRsZSwgZSkxNDQgMjA4LjggUSAtLjE1KHhlKS0uMTUgRwotKGN1dGVkIGZvciBsb2dpbiBzaGVsbHMpLjE1IEUgRjEofi8uYmFzaHIpMTA5LjY2NiAyMjAuOCBRKGMpLS4zNyBFIEYwCi0oVGhlIGluZGkpMTQ0IDIzMi44IFEodmlkdWFsIHBlciktLjI1IEUoLWludGVyYWN0aSktLjIgRSAtLjE1KHZlKS0uMjUgRwotKC1zaGVsbCBzdGFydHVwIFwyMTRsZSkuMTUgRSBGMSh+Ly5iYXNoX2xvKTEwOS42NjYgMjQ0LjggUShnb3V0KS0uMSBFIEYwCi0oVGhlIGluZGkpMTQ0IDI1Ni44IFEodmlkdWFsIGxvZ2luIHNoZWxsIGNsZWFudXAgXDIxNGxlLCBlKS0uMjUgRSAtLjE1Ci0oeGUpLS4xNSBHKGN1dGVkIHdoZW4gYSBsb2dpbiBzaGVsbCBlKS4xNSBFKHhpdHMpLS4xNSBFIEYxKH4vLmlucHV0cikKLTEwOS42NjYgMjY4LjggUShjKS0uMzcgRSBGMChJbmRpKTE0NCAyODAuOCBRKHZpZHVhbCktLjI1IEUgRjEgLS4zNyhyZSkKLTIuNSBHKGFkbGluZSkuMzcgRSBGMChpbml0aWFsaXphdGlvbiBcMjE0bGUpMi41IEUgRjIgLS41NDgoQVUpNzIgMjk3LjYgUwotKFRIT1JTKS41NDggRSBGMChCcmlhbiBGKTEwOCAzMDkuNiBRKG94LCBGcmVlIFNvZnR3KS0uMTUgRShhcmUgRiktLjEgRQotKG91bmRhdGlvbiktLjE1IEUoYmZveEBnbnUub3IpMTA4IDMyMS42IFEoZyktLjE4IEUoQ2hldCBSYW1lKTEwOCAzMzguNCBRCi0xLjMgLS42NSh5LCBDKS0uMTUgSChhc2UgVykuNjUgRShlc3Rlcm4gUmVzZXJ2KS0uOCBFIDIuNShlVSktLjE1IEcobmkpCi0tMi41IEUgLS4xNSh2ZSktLjI1IEcocnNpdHkpLjE1IEUoY2hldC5yYW1lKTEwOCAzNTAuNCBRKHlAY2FzZS5lZHUpLS4xNQotRSBGMiAtLjExKEJVKTcyIDM2Ny4yIFMgMi43MzgoR1IpLjExIEcoRVBPUiktMi43MzggRShUUyktLjQzOCBFIEYwIC41NjgKLShJZiB5b3UgXDIxNG5kIGEgYikxMDggMzc5LjIgUiAuNTY4KHVnIGluKS0uMiBGIEYzKGJhc2gsKTMuMDY4IEUgRjAgLjU2OAotKHlvdSBzaG91bGQgcmVwb3J0IGl0LikzLjA2OCBGIC41NjgoQnV0IFwyMTRyc3QsIHlvdSBzaG91bGQgbWFrKTUuNTY4IEYKLTMuMDY4KGVzKS0uMSBHIC41NjgodXJlIHRoYXQgaXQgcmVhbGx5IGlzIGEgYiktMy4wNjggRiAuNTY3KHVnLCBhbmQpLS4yCi1GIDUuNjI1KHRoYXQgaXQgYXBwZWFycyBpbiB0aGUgbGF0ZXN0IHYpMTA4IDM5MS4yIFIgNS42MjUoZXJzaW9uIG9mKS0uMTUKLUYgRjMoYmFzaCk4LjEyNSBFIEYwIDEwLjYyNSguVClDIDUuNjI1KGhlIGxhdGVzdCB2KS0xMC42MjUgRiA1LjYyNgotKGVyc2lvbiBpcyBhbCktLjE1IEYgLS4xKHdhKS0uMSBHIDUuNjI2KHlzIGEpLjEgRiAtLjI1KHZhKS0uMiBHIDUuNjI2Ci0oaWxhYmxlIGZyb20pLjI1IEYgRjEoZnRwOi8vZnRwLmdudS5vcikxMDggNDAzLjIgUShnL3B1Yi9iYXNoLyktLjM3IEUgRjAKLSguKUEgLjQxMShPbmNlIHlvdSBoYSkxMDggNDIwIFIgLjcxMSAtLjE1KHZlIGQpLS4yIEggLjQxMQotKGV0ZXJtaW5lZCB0aGF0IGEgYikuMTUgRiAuNDExKHVnIGFjdHVhbGx5IGUpLS4yIEYgLjQxMSh4aXN0cywgdXNlIHRoZSkKLS0uMTUgRiBGMShiYXNoYikzLjE4IEUodWcpLS4yIEUgRjAgLjQxKGNvbW1hbmQgdG8gc3VibWl0IGEgYikzLjEzIEYgLjQxCi0odWcgcmVwb3J0LiktLjIgRihJZik1LjQxIEUgLjU5NCh5b3UgaGEpMTA4IDQzMiBSIC44OTQgLS4xNSh2ZSBhIFwyMTQpCi0tLjIgSCAuNTk1KHgsIHlvdSBhcmUgZW5jb3VyYWdlZCB0byBtYWlsIHRoYXQgYXMgd2VsbCEpLjE1IEYgLjU5NQotKFN1Z2dlc3Rpb25zIGFuZCBgcGhpbG9zb3BoaWNhbCcgYik1LjU5NSBGIC41OTUodWcgcmVwb3J0cyBtYXkpLS4yIEYKLShiZSBtYWlsZWQgdG8pMTA4IDQ0NCBRIEYxIC0uMihidSkyLjUgRyhnLWJhc2hAZ251Lm9yKS4yIEUoZyktLjM3IEUgRjAKLShvciBwb3N0ZWQgdG8gdGhlIFVzZW5ldCBuZSkyLjUgRSh3c2dyb3VwKS0uMjUgRSBGMyhnbnUuYmFzaC5iKTIuNSBFKHVnKQotLS4yIEUgRjAoLilBKEFMTCBiKTEwOCA0NjAuOCBRKHVnIHJlcG9ydHMgc2hvdWxkIGluY2x1ZGU6KS0uMiBFKFRoZSB2KQotMTA4IDQ3Ny42IFEoZXJzaW9uIG51bWJlciBvZiktLjE1IEUgRjMoYmFzaCkyLjUgRSBGMChUaGUgaGFyZHcpMTA4IDQ4OS42Ci1RKGFyZSBhbmQgb3BlcmF0aW5nIHN5c3RlbSktLjEgRShUaGUgY29tcGlsZXIgdXNlZCB0byBjb21waWxlKTEwOCA1MDEuNgotUSAyLjUoQWQpMTA4IDUxMy42IFMoZXNjcmlwdGlvbiBvZiB0aGUgYiktMi41IEUodWcgYmVoYSktLjIgRSh2aW91ciktLjIKLUUgMi41KEFzKTEwOCA1MjUuNiBTKGhvcnQgc2NyaXB0IG9yIGByZWNpcGUnIHdoaWNoIGUpLTIuNSBFIC0uMTUoeGUpLS4xNQotRyhyY2lzZXMgdGhlIGIpLjE1IEUodWcpLS4yIEUgRjEoYmFzaGIpMTA4LjI3IDU0Mi40IFEodWcpLS4yIEUgRjAKLShpbnNlcnRzIHRoZSBcMjE0cnN0IHRocmVlIGl0ZW1zIGF1dG9tYXRpY2FsbHkgaW50byB0aGUgdGVtcGxhdGUgaXQgcHJvKQotMi43MiBFKHZpZGVzIGZvciBcMjE0bGluZyBhIGIpLS4xNSBFKHVnIHJlcG9ydC4pLS4yIEUoQ29tbWVudHMgYW5kIGIpMTA4Ci01NTkuMiBRKHVnIHJlcG9ydHMgY29uY2VybmluZyB0aGlzIG1hbnVhbCBwYWdlIHNob3VsZCBiZSBkaXJlY3RlZCB0byktLjIKLUUgRjEgLS4xNShjaCkyLjUgRyhldEBwby5jd3J1LmVkdSkuMTUgRSBGMCguKS4yNSBFIEYyIC0uMTEoQlUpNzIgNTc2IFMKLShHUykuMTEgRSBGMChJdCcpMTA4IDU4OCBRIDIuNShzdCktLjU1IEcob28gYmlnIGFuZCB0b28gc2xvKS0yLjUgRSAtLjY1Ci0ody4pLS4yNSBHIDEuODY5KFRoZXJlIGFyZSBzb21lIHN1YnRsZSBkaWYpMTA4IDYwNC44IFIgMS44NjkKLShmZXJlbmNlcyBiZXR3ZWVuKS0uMjUgRiBGMyhiYXNoKTQuMzY5IEUgRjAgMS44NjkoYW5kIHRyYWRpdGlvbmFsIHYpCi00LjM2OSBGIDEuODY5KGVyc2lvbnMgb2YpLS4xNSBGIEYzKHNoKTQuMzY4IEUgRjAgNC4zNjgoLG0pQyAxLjg2OAotKG9zdGx5IGJlY2F1c2Ugb2YgdGhlKS00LjM2OCBGL0Y0IDkvVGltZXMtQm9sZEAwIFNGKFBPU0lYKTEwOCA2MTYuOCBRIEYwCi0oc3BlY2lcMjE0Y2F0aW9uLikyLjI1IEUoQWxpYXNlcyBhcmUgY29uZnVzaW5nIGluIHNvbWUgdXNlcy4pMTA4IDYzMy42IFEKLShTaGVsbCBiKTEwOCA2NTAuNCBRCi0odWlsdGluIGNvbW1hbmRzIGFuZCBmdW5jdGlvbnMgYXJlIG5vdCBzdG9wcGFibGUvcmVzdGFydGFibGUuKS0uMiBFCi0xLjMxNShDb21wb3VuZCBjb21tYW5kcyBhbmQgY29tbWFuZCBzZXF1ZW5jZXMgb2YgdGhlIGZvcm0gYGEgOyBiIDsgYycgYVwKLXJlIG5vdCBoYW5kbGVkIGdyYWNlZnVsbHkgd2hlbikxMDggNjY3LjIgUiAuMzkKLShwcm9jZXNzIHN1c3BlbnNpb24gaXMgYXR0ZW1wdGVkLikxMDggNjc5LjIgUiAuMzg5Ci0oV2hlbiBhIHByb2Nlc3MgaXMgc3RvcHBlZCwgdGhlIHNoZWxsIGltbWVkaWF0ZWx5IGUpNS4zOSBGIC0uMTUoeGUpLS4xNQotRyAuMzg5KGN1dGVzIHRoZSBuZSkuMTUgRiAuMzg5KHh0IGNvbS0pLS4xNSBGIC4xOTIKLShtYW5kIGluIHRoZSBzZXF1ZW5jZS4pMTA4IDY5MS4yIFIgLjE5MihJdCBzdWYpNS4xOTIgRiAuMTkyKFwyMTRjZXMgdG8gXAotcGxhY2UgdGhlIHNlcXVlbmNlIG9mIGNvbW1hbmRzIGJldHdlZW4gcGFyZW50aGVzZXMgdG8gZm9yY2UgaXQgaW50byBhKQotLS4yNSBGKHN1YnNoZWxsLCB3aGljaCBtYXkgYmUgc3RvcHBlZCBhcyBhIHVuaXQuKTEwOCA3MDMuMiBRKEFycmF5IHYpMTA4Ci03MjAgUShhcmlhYmxlcyBtYXkgbm90IFwoeWV0XCkgYmUgZSktLjI1IEUoeHBvcnRlZC4pLS4xNSBFKEdOVSBCYXNoLTQuMCkKLTcyIDc2OCBRKDIwMDkgRmVicnVhcnkgNykxNDAuOTYgRSg2OCkxOTAuOTUgRSAwIENnIEVQCistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGPGFkNjQ+MTQ0IDg0IFEgRjAKKyhUaGUgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcycpMjQuNzQgRSAyLjUoc2QpLS41NSBHKGF0YSBzZSktMi41IEUKKyhnbWVudCktLjE1IEUgRjE8YWQ2NT4xNDQgOTYgUSBGMAorKFRoZSBtYXhpbXVtIHNjaGVkdWxpbmcgcHJpb3JpdHkgXCgibmljZSJcKSkyNS44NiBFIEYxPGFkNjY+MTQ0IDEwOCBRIEYwCisoVGhlIG1heGltdW0gc2l6ZSBvZiBcMjE0bGVzIHdyaXR0ZW4gYnkgdGhlIHNoZWxsIGFuZCBpdHMgY2hpbGRyZW4pMjYuOTcKK0UgRjE8YWQ2OT4xNDQgMTIwIFEgRjAoVGhlIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscykyNy41MiBFIEYxCis8YWQ2Yz4xNDQgMTMyIFEgRjAoVGhlIG1heGltdW0gc2l6ZSB0aGF0IG1heSBiZSBsb2NrKTI3LjUyIEUKKyhlZCBpbnRvIG1lbW9yeSktLjEgRSBGMTxhZDZkPjE0NCAxNDQgUSBGMAorKFRoZSBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplIFwobWFuKTIxLjk3IEUgMi41KHlzKS0uMTUgRworKHlzdGVtcyBkbyBub3QgaG9ub3IgdGhpcyBsaW1pdFwpKS0yLjUgRSBGMTxhZDZlPjE0NCAxNTYgUSBGMCAuNzkxKFRoZSBcCittYXhpbXVtIG51bWJlciBvZiBvcGVuIFwyMTRsZSBkZXNjcmlwdG9ycyBcKG1vc3Qgc3lzdGVtcyBkbyBub3QgYWxsbykKKzI0Ljc0IEYgMy4yOSh3dCktLjI1IEcgLjc5KGhpcyB2KS0zLjI5IEYgLjc5KGFsdWUgdG8pLS4yNSBGKGJlIHNldFwpKTE4MAorMTY4IFEgRjE8YWQ3MD4xNDQgMTgwIFEgRjAKKyhUaGUgcGlwZSBzaXplIGluIDUxMi1ieXRlIGJsb2NrcyBcKHRoaXMgbWF5IG5vdCBiZSBzZXRcKSkyNC43NCBFIEYxCis8YWQ3MT4xNDQgMTkyIFEgRjAoVGhlIG1heGltdW0gbnVtYmVyIG9mIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzKQorMjQuNzQgRSBGMTxhZDcyPjE0NCAyMDQgUSBGMChUaGUgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eSkKKzI1Ljg2IEUgRjE8YWQ3Mz4xNDQgMjE2IFEgRjAoVGhlIG1heGltdW0gc3RhY2sgc2l6ZSkyNi40MSBFIEYxPGFkNzQ+MTQ0CisyMjggUSBGMChUaGUgbWF4aW11bSBhbW91bnQgb2YgY3B1IHRpbWUgaW4gc2Vjb25kcykyNi45NyBFIEYxPGFkNzU+MTQ0CisyNDAgUSBGMChUaGUgbWF4aW11bSBudW1iZXIgb2YgcHJvY2Vzc2VzIGEpMjQuNzQgRSAtLjI1KHZhKS0uMiBHCisoaWxhYmxlIHRvIGEgc2luZ2xlIHVzZXIpLjI1IEUgRjE8YWQ3Nj4xNDQgMjUyIFEgRjAKKyhUaGUgbWF4aW11bSBhbW91bnQgb2YgdmlydHVhbCBtZW1vcnkgYSkyNS4zIEUgLS4yNSh2YSktLjIgRworKGlsYWJsZSB0byB0aGUgc2hlbGwpLjI1IEUgRjE8YWQ3OD4xNDQgMjY0IFEgRjAKKyhUaGUgbWF4aW11bSBudW1iZXIgb2YgXDIxNGxlIGxvY2tzKTI1LjMgRSBGMTxhZDU0PjE0NCAyNzYgUSBGMAorKFRoZSBtYXhpbXVtIG51bWJlciBvZiB0aHJlYWRzKTIzLjYzIEUoSWYpMTQ0IDI5Mi44IFEvRjIgMTAKKy9UaW1lcy1JdGFsaWNAMCBTRihsaW1pdCkyLjkzMyBFIEYwIC4zNDMoaXMgZ2kpMy41MjMgRiAtLjE1KHZlKS0uMjUgRworLjM0MyhuLCBpdCBpcyB0aGUgbmUpLjE1IEYgMi44NDMod3YpLS4yNSBHIC4zNDMKKyhhbHVlIG9mIHRoZSBzcGVjaVwyMTRlZCByZXNvdXJjZSBcKHRoZSktMy4wOTMgRiBGMTxhZDYxPjIuODQzIEUgRjAgLjM0MworKG9wdGlvbiBpcyBkaXNwbGF5IG9ubHlcKS4pMi44NDMgRiAuMzQzKElmIG5vKTUuMzQzIEYgLjE3NihvcHRpb24gaXMgZ2kpCisxNDQgMzA0LjggUiAtLjE1KHZlKS0uMjUgRyAuMTc2KG4sIHRoZW4pLjE1IEYgRjE8YWQ2Nj4yLjY3NiBFIEYwIC4xNzUKKyhpcyBhc3N1bWVkLikyLjY3NiBGIC0xLjExKFZhKTUuMTc1IEcgLjE3NQorKGx1ZXMgYXJlIGluIDEwMjQtYnl0ZSBpbmNyZW1lbnRzLCBlKTEuMTEgRiAuMTc1KHhjZXB0IGZvciktLjE1IEYgRjEKKzxhZDc0PjIuNjc1IEUgRjAgMi42NzUoLHcpQyAuMTc1KGhpY2ggaXMgaW4pLTIuNjc1IEYoc2Vjb25kcywpMTQ0IDMxNi44CitRIEYxPGFkNzA+Mi41MTUgRSBGMCAyLjUxNSgsdylDIC4wMTUKKyhoaWNoIGlzIGluIHVuaXRzIG9mIDUxMi1ieXRlIGJsb2NrcywgYW5kKS0yLjUxNSBGIEYxPGFkNTQ+Mi41MTYgRSBGMCgsKQorQSBGMTxhZDYyPjIuNTE2IEUgRjAoLClBIEYxPGFkNmU+Mi41MTYgRSBGMCAyLjUxNigsYSlDKG5kKS0yLjUxNiBFIEYxCis8YWQ3NT4yLjUxNiBFIEYwIDIuNTE2KCx3KUMgLjAxNihoaWNoIGFyZSB1bnNjYWxlZCB2KS0yLjUxNiBGKGFsLSktLjI1IEUKKzMuNzg4KHVlcy4gVGhlKTE0NCAzMjguOCBSIDEuMjg3KHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3MgYW4gaW4pMy43ODcgRgorLS4yNSh2YSktLjQgRyAxLjI4NyhsaWQgb3B0aW9uIG9yIGFyKS4yNSBGIDEuMjg3CisoZ3VtZW50IGlzIHN1cHBsaWVkLCBvciBhbiBlcnJvciBvY2N1cnMpLS4xOCBGKHdoaWxlIHNldHRpbmcgYSBuZSkxNDQKKzM0MC44IFEgMi41KHdsKS0uMjUgRyhpbWl0LiktMi41IEUgRjEodW1hc2spMTA4IDM1Ny42IFEgRjAoWykyLjUgRSBGMQorPGFkNzA+QSBGMCAyLjUoXVspQyBGMTxhZDUzPi0yLjUgRSBGMCAyLjUoXVspQyBGMihtb2RlKS0yLjUgRSBGMChdKUEgLjIKKyhUaGUgdXNlciBcMjE0bGUtY3JlYXRpb24gbWFzayBpcyBzZXQgdG8pMTQ0IDM2OS42IFIgRjIobW9kZSkyLjcgRSBGMAorNS4yKC5JKS4xOCBHKGYpLTUuMiBFIEYyKG1vZGUpMy4wOCBFIEYwKGJlKTIuODggRSAuMgorKGdpbnMgd2l0aCBhIGRpZ2l0LCBpdCBpcyBpbnRlcnByZXRlZCBhcyBhbiBvY3RhbCktLjE1IEYgLjA2NihudW1iZXI7IG9cCit0aGVyd2lzZSBpdCBpcyBpbnRlcnByZXRlZCBhcyBhIHN5bWJvbGljIG1vZGUgbWFzayBzaW1pbGFyIHRvIHRoYXQgYWNjZVwKK3B0ZWQgYnkpMTQ0IDM4MS42IFIgRjIgLS4xNShjaCkyLjU2NiBHKG1vZCkuMTUgRSBGMChcKDFcKS4pLjc3IEUoSWYpMTQ0CiszOTMuNiBRIEYyKG1vZGUpMy4yNjIgRSBGMCAuMzgyKGlzIG9taXR0ZWQsIHRoZSBjdXJyZW50IHYpMy4wNjIgRiAuMzgyCisoYWx1ZSBvZiB0aGUgbWFzayBpcyBwcmludGVkLiktLjI1IEYoVGhlKTUuMzgyIEUgRjE8YWQ1Mz4yLjg4MiBFIEYwIC4zODIKKyhvcHRpb24gY2F1c2VzIHRoZSBtYXNrIHRvIGJlKTIuODgyIEYgLjU0NworKHByaW50ZWQgaW4gc3ltYm9saWMgZm9ybTsgdGhlIGRlZikxNDQgNDA1LjYgUiAuNTQ3CisoYXVsdCBvdXRwdXQgaXMgYW4gb2N0YWwgbnVtYmVyKS0uMSBGIDUuNTQ3KC5JKS0uNTUgRyAzLjA0NyhmdCktNS41NDcgRworKGhlKS0zLjA0NyBFIEYxPGFkNzA+My4wNDcgRSBGMCAuNTQ3KG9wdGlvbiBpcyBzdXBwbGllZCwgYW5kKTMuMDQ3IEYgRjIKKyhtb2RlKTE0NC4zOCA0MTcuNiBRIEYwIC41NTEKKyhpcyBvbWl0dGVkLCB0aGUgb3V0cHV0IGlzIGluIGEgZm9ybSB0aGF0IG1heSBiZSByZXVzZWQgYXMgaW5wdXQuKTMuMjMxCitGIC41NTIoVGhlIHJldHVybiBzdGF0dXMgaXMgMCBpZiB0aGUpNS41NTIgRihtb2RlIHcpMTQ0IDQyOS42IFEKKyhhcyBzdWNjZXNzZnVsbHkgY2hhbmdlZCBvciBpZiBubyktLjEgRSBGMihtb2RlKTIuNSBFIEYwKGFyKTIuNSBFCisoZ3VtZW50IHcpLS4xOCBFKGFzIHN1cHBsaWVkLCBhbmQgZiktLjEgRShhbHNlIG90aGVyd2lzZS4pLS4xIEUgRjEKKyh1bmFsaWFzKTEwOCA0NDYuNCBRIEYwPDViYWQ+Mi41IEUgRjEoYSlBIEYwIDIuNShdWylDIEYyKG5hbWUpLTIuNSBFIEYwCisoLi4uXSkyLjUgRShSZW1vKTE0NCA0NTguNCBRIDEuOTU1IC0uMTUodmUgZSktLjE1IEgoYWNoKS4xNSBFIEYyKG5hbWUpCis0LjE1NSBFIEYwIDEuNjU1KGZyb20gdGhlIGxpc3Qgb2YgZGVcMjE0bmVkIGFsaWFzZXMuKTQuMTU1IEYoSWYpNi42NTUgRQorRjE8YWQ2MT40LjE1NSBFIEYwIDEuNjU1KGlzIHN1cHBsaWVkLCBhbGwgYWxpYXMgZGVcMjE0bml0aW9ucyBhcmUpNC4xNTUKK0YocmVtbykxNDQgNDcwLjQgUSAtLjE1KHZlKS0uMTUgRyAyLjUoZC4gVGhlKS4xNSBGKHJldHVybiB2KTIuNSBFCisoYWx1ZSBpcyB0cnVlIHVubGVzcyBhIHN1cHBsaWVkKS0uMjUgRSBGMihuYW1lKTIuODYgRSBGMAorKGlzIG5vdCBhIGRlXDIxNG5lZCBhbGlhcy4pMi42OCBFIEYxKHVuc2V0KTEwOCA0ODcuMiBRIEYwPDViYWQ+Mi41IEUgRjEKKyhmdilBIEYwIDIuNShdWylDIEYyKG5hbWUpLTIuNSBFIEYwKC4uLl0pMi41IEUgLS4xNShGbykxNDQgNDk5LjIgUyAzLjEwNgorKHJlKS4xNSBHKGFjaCktMy4xMDYgRSBGMihuYW1lKTMuMTA2IEUgRjAgMy4xMDYoLHIpLjE4IEcoZW1vKS0zLjEwNiBFCisuOTA2IC0uMTUodmUgdCktLjE1IEggLjYwNihoZSBjb3JyZXNwb25kaW5nIHYpLjE1IEYgLjYwNworKGFyaWFibGUgb3IgZnVuY3Rpb24uKS0uMjUgRiAuNjA3KElmIG5vIG9wdGlvbnMgYXJlIHN1cHBsaWVkLCBvciB0aGUpCis1LjYwNyBGIEYxPGFkNzY+MTQ0IDUxMS4yIFEgRjAgLjMwNShvcHRpb24gaXMgZ2kpMi44MDUgRiAtLjE1KHZlKS0uMjUgRworLjMwNShuLCBlYWNoKS4xNSBGIEYyKG5hbWUpMy4xNjUgRSBGMCAuMzA1KHJlZmVycyB0byBhIHNoZWxsIHYpMi45ODUgRgorMi44MDUoYXJpYWJsZS4gUmVhZC1vbmx5KS0uMjUgRiAtLjI1KHZhKTIuODA1IEcgLjMwNAorKHJpYWJsZXMgbWF5IG5vdCBiZSB1bnNldC4pLjI1IEYoSWYpNS4zMDQgRSBGMTxhZDY2PjE0NCA1MjMuMiBRIEYwIC40NTkKKyhpcyBzcGVjaVwyMTRlZCwgZWFjaCkyLjk1OSBGIEYyKG5hbWUpMy4zMTkgRSBGMCAuNDU5CisocmVmZXJzIHRvIGEgc2hlbGwgZnVuY3Rpb24sIGFuZCB0aGUgZnVuY3Rpb24gZGVcMjE0bml0aW9uIGlzIHJlbW8pMy4xMzkKK0YgLS4xNSh2ZSktLjE1IEcgMi45NihkLiBFYWNoKS4xNSBGIC45MDModW5zZXQgdikxNDQgNTM1LjIgUiAuOTAzCisoYXJpYWJsZSBvciBmdW5jdGlvbiBpcyByZW1vKS0uMjUgRiAtLjE1KHZlKS0uMTUgRyAzLjQwMihkZikuMTUgRyAuOTAyCisocm9tIHRoZSBlbiktMy40MDIgRiAuOTAyKHZpcm9ubWVudCBwYXNzZWQgdG8gc3Vic2VxdWVudCBjb21tYW5kcy4pLS40IEYKKyhJZik1LjkwMiBFKGFuKTE0NCA1NDcuMiBRIDYuOTE1KHlvKS0uMTUgRyhmKS02LjkxNSBFL0YzIDkvVGltZXMtQm9sZEAwCitTRihDT01QX1cpNi45MTUgRShPUkRCUkVBS1MpLS4wOSBFL0Y0IDkvVGltZXMtUm9tYW5AMCBTRigsKUEgRjMoUkFORE9NKQorNi42NjUgRSBGNCgsKUEgRjMoU0VDT05EUyk2LjY2NSBFIEY0KCwpQSBGMyhMSU5FTk8pNi42NjUgRSBGNCgsKUEgRjMKKyhISVNUQ01EKTYuNjY2IEUgRjQoLClBIEYzKEZVTkNOKTYuNjY2IEUoQU1FKS0uMTggRSBGNCgsKUEgRjMoR1IpMTQ0Cis1NTkuMiBRKE9VUFMpLS4yNyBFIEY0KCwpQSBGMChvcikyLjUyMyBFIEYzKERJUlNUKTIuNzczIEUgLS40OTUoQUMpLS44MQorRyhLKS40OTUgRSBGMCAuMjcyKGFyZSB1bnNldCwgdGhlKTIuNTIyIEYgMi43NzIoeWwpLS4xNSBHIC4yNzIKKyhvc2UgdGhlaXIgc3BlY2lhbCBwcm9wZXJ0aWVzLCBlKS0yLjc3MiBGIC0uMTUodmUpLS4yNSBHIDIuNzcyKG5pKS4xNSBHCisyLjc3MihmdCktMi43NzIgRyhoZSktMi43NzIgRSAyLjc3Mih5YSktLjE1IEcgLjI3MihyZSBzdWJzZXF1ZW50bHkpCistMi43NzIgRiAyLjUocmVzZXQuIFRoZSkxNDQgNTcxLjIgUiAtLjE1KGV4KTIuNSBHCisoaXQgc3RhdHVzIGlzIHRydWUgdW5sZXNzIGEpLjE1IEUgRjIobmFtZSkyLjg2IEUgRjAoaXMgcmVhZG9ubHkpMi42OCBFCisoLiktLjY1IEUgRjEod2FpdCkxMDggNTg4IFEgRjAoWykyLjUgRSBGMiAyLjUobi4pQyguLiktMi41IEUgRjAoXSlBIC0uOAorKFdhKTE0NCA2MDAgUyAuMjg4CisoaXQgZm9yIGVhY2ggc3BlY2lcMjE0ZWQgcHJvY2VzcyBhbmQgcmV0dXJuIGl0cyB0ZXJtaW5hdGlvbiBzdGF0dXMuKS44IEYKKyhFYWNoKTUuMjg4IEUgRjIobikzLjE0OCBFIEYwIC4yODgobWF5IGJlIGEgcHJvY2VzcyBJRCBvciBhKTMuMDI4IEYgLjcyMgorKGpvYiBzcGVjaVwyMTRjYXRpb247IGlmIGEgam9iIHNwZWMgaXMgZ2kpMTQ0IDYxMiBSIC0uMTUodmUpLS4yNSBHIC43MjIKKyhuLCBhbGwgcHJvY2Vzc2VzIGluIHRoYXQgam9iJykuMTUgRiAzLjIyMihzcCktLjU1IEcgLjcyMihpcGVsaW5lIGFyZSB3KQorLTMuMjIyIEYgLjcyMihhaXRlZCBmb3IpLS4xIEYgNS43MjIoLkkpLS41NSBHKGYpLTUuNzIyIEUgRjIobikzLjU4MiBFIEYwCisoaXMpMy40NjIgRSAxLjI2NShub3QgZ2kpMTQ0IDYyNCBSIC0uMTUodmUpLS4yNSBHIDEuMjY1CisobiwgYWxsIGN1cnJlbnRseSBhY3RpKS4xNSBGIDEuNTY1IC0uMTUodmUgYyktLjI1IEggMS4yNjUKKyhoaWxkIHByb2Nlc3NlcyBhcmUgdykuMTUgRiAxLjI2NShhaXRlZCBmb3IpLS4xIEYgMy43NjUoLGEpLS40IEcgMS4yNjYKKyhuZCB0aGUgcmV0dXJuIHN0YXR1cyBpcyB6ZXJvLiktMy43NjUgRihJZik2LjI2NiBFIEYyKG4pNC4xMjYgRSBGMCAuNDU3Cisoc3BlY2lcMjE0ZXMgYSBub24tZSkxNDQgNjM2IFIgLjQ1NworKHhpc3RlbnQgcHJvY2VzcyBvciBqb2IsIHRoZSByZXR1cm4gc3RhdHVzIGlzIDEyNy4pLS4xNSBGIC40NTcKKyhPdGhlcndpc2UsIHRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSk1LjQ1NyBGIC0uMTUoZXgpMTQ0IDY0OCBTCisoaXQgc3RhdHVzIG9mIHRoZSBsYXN0IHByb2Nlc3Mgb3Igam9iIHcpLjE1IEUoYWl0ZWQgZm9yKS0uMSBFKC4pLS41NSBFCisvRjUgMTAuOTUvVGltZXMtQm9sZEAwIFNGKFJFU1RSSUNURUQgU0hFTEwpNzIgNjY0LjggUSBGMChJZikxMDggNjc2LjggUQorRjEoYmFzaCk0LjM5NiBFIEYwIDEuODk2KGlzIHN0YXJ0ZWQgd2l0aCB0aGUgbmFtZSk0LjM5NiBGIEYxKHJiYXNoKTQuMzk3CitFIEYwIDQuMzk3KCxvKUMgNC4zOTcocnQpLTQuMzk3IEcoaGUpLTQuMzk3IEUgRjE8YWQ3Mj40LjM5NyBFIEYwIDEuODk3Cisob3B0aW9uIGlzIHN1cHBsaWVkIGF0IGluKTQuMzk3IEYgLS4yKHZvKS0uNCBHIDEuODk3CisoY2F0aW9uLCB0aGUgc2hlbGwgYmVjb21lcykuMiBGIDMuNDQ2KHJlc3RyaWN0ZWQuIEEpMTA4IDY4OC44IFIgLjk0NQorKHJlc3RyaWN0ZWQgc2hlbGwgaXMgdXNlZCB0byBzZXQgdXAgYW4gZW4pMy40NDYgRiAuOTQ1Cisodmlyb25tZW50IG1vcmUgY29udHJvbGxlZCB0aGFuIHRoZSBzdGFuZGFyZCBzaGVsbC4pLS40IEYoSXQpNS45NDUgRQorKGJlaGEpMTA4IDcwMC44IFEgLS4xNSh2ZSktLjIgRyAyLjUoc2kpLjE1IEcoZGVudGljYWxseSB0byktMi41IEUgRjEKKyhiYXNoKTIuNSBFIEYwKHdpdGggdGhlIGUpMi41IEUoeGNlcHRpb24gdGhhdCB0aGUgZm9sbG8pLS4xNSBFCisod2luZyBhcmUgZGlzYWxsbyktLjI1IEUod2VkIG9yIG5vdCBwZXJmb3JtZWQ6KS0uMjUgRSAzMi41PDgzNjM+MTA4Cis3MTcuNiBTKGhhbmdpbmcgZGlyZWN0b3JpZXMgd2l0aCktMzIuNSBFIEYxKGNkKTIuNSBFIEYwKEdOVSBCYXNoLTQuMSk3MgorNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoNjgpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNjkgNjkKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUoVGhlcmUgbWF5IGJlIG9ubHkgb25lIGFjdGkpMTA4IDg0IFEgLjMgLS4xNSh2ZSBjKS0uMjUgSAotKG9wcm9jZXNzIGF0IGEgdGltZS4pLjE1IEUoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDkgRmVicnVhcnkgNykxNDAuOTYKLUUoNjkpMTkwLjk1IEUgMCBDZyBFUAorLS4zNSBFIDMyLjU8ODM3Mz4xMDggODQgUyhldHRpbmcgb3IgdW5zZXR0aW5nIHRoZSB2KS0zMi41IEUoYWx1ZXMgb2YpCistLjI1IEUvRjEgOS9UaW1lcy1Cb2xkQDAgU0YoU0hFTEwpMi41IEUvRjIgOS9UaW1lcy1Sb21hbkAwIFNGKCwpQSBGMQorLS42NjYoUEEpMi4yNSBHKFRIKS0uMTg5IEUgRjIoLClBIEYxKEVOVikyLjI1IEUgRjIoLClBIEYwKG9yKTIuMjUgRSBGMQorLS4yNyhCQSkyLjUgRyhTSF9FTlYpLjI3IEUgRjAgMzIuNTw4MzczPjEwOCAxMDAuOCBTCisocGVjaWZ5aW5nIGNvbW1hbmQgbmFtZXMgY29udGFpbmluZyktMzIuNSBFL0YzIDEwL1RpbWVzLUJvbGRAMCBTRigvKTIuNQorRSBGMCAzMi41PDgzNzM+MTA4IDExNy42IFMocGVjaWZ5aW5nIGEgXDIxNGxlIG5hbWUgY29udGFpbmluZyBhKS0zMi41IEUKK0YzKC8pMi41IEUgRjAoYXMgYW4gYXIpMi41IEUoZ3VtZW50IHRvIHRoZSktLjE4IEUgRjMoLikyLjUgRSBGMCAtLjIoYnUpNQorRyhpbHRpbiBjb21tYW5kKS4yIEUgMzIuNTw4MzUzPjEwOCAxMzQuNCBTIC4zNTEKKyhwZWNpZnlpbmcgYSBcMjE0bGVuYW1lIGNvbnRhaW5pbmcgYSBzbGFzaCBhcyBhbiBhciktMzIuNSBGIC4zNTEKKyhndW1lbnQgdG8gdGhlKS0uMTggRiBGMzxhZDcwPjIuODUxIEUgRjAgLjM1MShvcHRpb24gdG8gdGhlKTIuODUxIEYgRjMKKyhoYXNoKTIuODUyIEUgRjAgLS4yKGJ1KTIuODUyIEcgLjM1MihpbHRpbiBjb20tKS4yIEYobWFuZCkxNDQgMTQ2LjQgUQorMzIuNTw4MzY5PjEwOCAxNjMuMiBTKG1wb3J0aW5nIGZ1bmN0aW9uIGRlXDIxNG5pdGlvbnMgZnJvbSB0aGUgc2hlbGwgZW4pCistMzIuNSBFKHZpcm9ubWVudCBhdCBzdGFydHVwKS0uNCBFIDMyLjU8ODM3MD4xMDggMTgwIFMoYXJzaW5nIHRoZSB2KQorLTMyLjUgRShhbHVlIG9mKS0uMjUgRSBGMShTSEVMTE9QVFMpMi41IEUgRjAoZnJvbSB0aGUgc2hlbGwgZW4pMi4yNSBFCisodmlyb25tZW50IGF0IHN0YXJ0dXApLS40IEUgMzIuNTw4MzcyPjEwOCAxOTYuOCBTKGVkaXJlY3Rpbmcgb3V0cHV0IHVzaVwKK25nIHRoZSA+LCA+fCwgPD4sID4mLCAmPiwgYW5kID4+IHJlZGlyZWN0aW9uIG9wZXJhdG9ycyktMzIuNSBFIDMyLjUKKzw4Mzc1PjEwOCAyMTMuNiBTKHNpbmcgdGhlKS0zMi41IEUgRjMoZXhlYykyLjUgRSBGMCAtLjIoYnUpMi41IEcKKyhpbHRpbiBjb21tYW5kIHRvIHJlcGxhY2UgdGhlIHNoZWxsIHdpdGggYW5vdGhlciBjb21tYW5kKS4yIEUgMzIuNTw4MzYxPgorMTA4IDIzMC40IFMoZGRpbmcgb3IgZGVsZXRpbmcgYiktMzIuNSBFKHVpbHRpbiBjb21tYW5kcyB3aXRoIHRoZSktLjIgRQorRjM8YWQ2Nj4yLjUgRSBGMChhbmQpMi41IEUgRjM8YWQ2ND4yLjUgRSBGMChvcHRpb25zIHRvIHRoZSkyLjUgRSBGMworKGVuYWJsZSkyLjUgRSBGMCAtLjIoYnUpMi41IEcoaWx0aW4gY29tbWFuZCkuMiBFIDMyLjU8ODM1NT4xMDggMjQ3LjIgUworKHNpbmcgdGhlKS0zMi41IEUgRjMoZW5hYmxlKTIuNSBFIEYwIC0uMihidSkyLjUgRworKGlsdGluIGNvbW1hbmQgdG8gZW5hYmxlIGRpc2FibGVkIHNoZWxsIGIpLjIgRSh1aWx0aW5zKS0uMiBFIDMyLjU8ODM3Mz4KKzEwOCAyNjQgUyhwZWNpZnlpbmcgdGhlKS0zMi41IEUgRjM8YWQ3MD4yLjUgRSBGMChvcHRpb24gdG8gdGhlKTIuNSBFIEYzCisoY29tbWFuZCkyLjUgRSBGMCAtLjIoYnUpMi41IEcoaWx0aW4gY29tbWFuZCkuMiBFIDMyLjU8ODM3ND4xMDggMjgwLjggUworKHVybmluZyBvZiktMzIuNSBFIDIuNShmciktLjI1IEcoZXN0cmljdGVkIG1vZGUgd2l0aCktMi41IEUgRjMoc2V0ICtyKQorMi41IEUgRjAob3IpMi41IEUgRjMoc2V0ICtvIHIpMi41IEUoZXN0cmljdGVkKS0uMTggRSBGMCguKUEKKyhUaGVzZSByZXN0cmljdGlvbnMgYXJlIGVuZm9yY2VkIGFmdGVyIGFuKTEwOCAyOTcuNiBRIDIuNSh5cyktLjE1IEcKKyh0YXJ0dXAgXDIxNGxlcyBhcmUgcmVhZC4pLTIuNSBFIDEuNTY2CisoV2hlbiBhIGNvbW1hbmQgdGhhdCBpcyBmb3VuZCB0byBiZSBhIHNoZWxsIHNjcmlwdCBpcyBlKTEwOCAzMTQuNCBSIC0uMTUKKyh4ZSktLjE1IEcgMS41NjYoY3V0ZWQgXChzZWUpLjE1IEYgRjEgMS41NjYoQ09NTUFORCBFWEVDVVRJT04pNC4wNjYgRiBGMAorKGFibykzLjgxNiBFIC0uMTUodmUpLS4xNSBHKFwpLCkuMTUgRSBGMyhyYmFzaCkxMDggMzI2LjQgUSBGMCh0dXJucyBvZikKKzIuNSBFIDIuNShmYSktLjI1IEcgLjMgLS4xNShueSByKS0yLjUgSChlc3RyaWN0aW9ucyBpbiB0aGUgc2hlbGwgc3BhKS4xNQorRSh3bmVkIHRvIGUpLS4xNSBFIC0uMTUoeGUpLS4xNSBHKGN1dGUgdGhlIHNjcmlwdC4pLjE1IEUvRjQgMTAuOTUKKy9UaW1lcy1Cb2xkQDAgU0YoU0VFIEFMU08pNzIgMzQzLjIgUS9GNSAxMC9UaW1lcy1JdGFsaWNAMCBTRihCYXNoIFJlZmVyKQorMTA4IDM1NS4yIFEoZW5jZSBNYW51YWwpLS4zNyBFIEYwIDIuNSgsQilDKHJpYW4gRiktMi41IEUKKyhveCBhbmQgQ2hldCBSYW1lKS0uMTUgRSh5KS0uMTUgRSBGNShUaGUgR251IFJlYWRsaW5lIExpYnIpMTA4IDM2Ny4yIFEKKyhhcnkpLS4xNSBFIEYwIDIuNSgsQilDKHJpYW4gRiktMi41IEUob3ggYW5kIENoZXQgUmFtZSktLjE1IEUoeSktLjE1IEUKK0Y1KFRoZSBHbnUgSGlzdG9yeSBMaWJyKTEwOCAzNzkuMiBRKGFyeSktLjE1IEUgRjAgMi41KCxCKUMocmlhbiBGKS0yLjUgRQorKG94IGFuZCBDaGV0IFJhbWUpLS4xNSBFKHkpLS4xNSBFIEY1IC0uOChQbykxMDggMzkxLjIgUyhydGFibGUgT3BlcikuOCBFCisoYXRpbmcgU3lzdGVtIEludGVyZmFjZSBcKFBPU0lYXCkgUCktLjE1IEUoYXJ0IDI6IFNoZWxsIGFuZCBVdGlsaXRpZXMpCistLjggRSBGMCAyLjUoLEkpQyhFRUUpLTIuNSBFIEY1KHNoKTEwOCA0MDMuMiBRIEYwKFwoMVwpLClBIEY1KGtzaCkyLjUgRQorRjAoXCgxXCksKUEgRjUoY3NoKTIuNSBFIEYwKFwoMVwpKUEgRjUoZW1hY3MpMTA4IDQxNS4yIFEgRjAoXCgxXCksKUEgRjUKKyh2aSkyLjUgRSBGMChcKDFcKSlBIEY1IC0uMzcocmUpMTA4IDQyNy4yIFMoYWRsaW5lKS4zNyBFIEYwKFwoM1wpKUEgRjQKKyhGSUxFUyk3MiA0NDQgUSBGNSgvYmluL2Jhc2gpMTA5LjY2NiA0NTYgUSBGMChUaGUpMTQ0IDQ2OCBRIEYzKGJhc2gpMi41CitFIEYwIC0uMTUoZXhlKTIuNSBHKGN1dGFibGUpLjE1IEUgRjUoL2V0Yy9wcikxMDkuNjY2IDQ4MCBRKG9cMjE0bGUpLS40NQorRSBGMChUaGUgc3lzdGVtd2lkZSBpbml0aWFsaXphdGlvbiBcMjE0bGUsIGUpMTQ0IDQ5MiBRIC0uMTUoeGUpLS4xNSBHCisoY3V0ZWQgZm9yIGxvZ2luIHNoZWxscykuMTUgRSBGNSh+Ly5iYXNoX3ByKTEwOS42NjYgNTA0IFEob1wyMTRsZSktLjQ1IEUKK0YwKFRoZSBwZXJzb25hbCBpbml0aWFsaXphdGlvbiBcMjE0bGUsIGUpMTQ0IDUxNiBRIC0uMTUoeGUpLS4xNSBHCisoY3V0ZWQgZm9yIGxvZ2luIHNoZWxscykuMTUgRSBGNSh+Ly5iYXNocikxMDkuNjY2IDUyOCBRKGMpLS4zNyBFIEYwCisoVGhlIGluZGkpMTQ0IDU0MCBRKHZpZHVhbCBwZXIpLS4yNSBFKC1pbnRlcmFjdGkpLS4yIEUgLS4xNSh2ZSktLjI1IEcKKygtc2hlbGwgc3RhcnR1cCBcMjE0bGUpLjE1IEUgRjUofi8uYmFzaF9sbykxMDkuNjY2IDU1MiBRKGdvdXQpLS4xIEUgRjAKKyhUaGUgaW5kaSkxNDQgNTY0IFEodmlkdWFsIGxvZ2luIHNoZWxsIGNsZWFudXAgXDIxNGxlLCBlKS0uMjUgRSAtLjE1KHhlKQorLS4xNSBHKGN1dGVkIHdoZW4gYSBsb2dpbiBzaGVsbCBlKS4xNSBFKHhpdHMpLS4xNSBFIEY1KH4vLmlucHV0cikxMDkuNjY2Cis1NzYgUShjKS0uMzcgRSBGMChJbmRpKTE0NCA1ODggUSh2aWR1YWwpLS4yNSBFIEY1IC0uMzcocmUpMi41IEcoYWRsaW5lKQorLjM3IEUgRjAoaW5pdGlhbGl6YXRpb24gXDIxNGxlKTIuNSBFIEY0IC0uNTQ4KEFVKTcyIDYwNC44IFMoVEhPUlMpLjU0OCBFCitGMChCcmlhbiBGKTEwOCA2MTYuOCBRKG94LCBGcmVlIFNvZnR3KS0uMTUgRShhcmUgRiktLjEgRShvdW5kYXRpb24pLS4xNQorRShiZm94QGdudS5vcikxMDggNjI4LjggUShnKS0uMTggRShDaGV0IFJhbWUpMTA4IDY0NS42IFEgMS4zIC0uNjUoeSwgQykKKy0uMTUgSChhc2UgVykuNjUgRShlc3Rlcm4gUmVzZXJ2KS0uOCBFIDIuNShlVSktLjE1IEcobmkpLTIuNSBFIC0uMTUodmUpCistLjI1IEcocnNpdHkpLjE1IEUoY2hldC5yYW1lKTEwOCA2NTcuNiBRKHlAY2FzZS5lZHUpLS4xNSBFIEY0IC0uMTEoQlUpNzIKKzY3NC40IFMgMi43MzgoR1IpLjExIEcoRVBPUiktMi43MzggRShUUyktLjQzOCBFIEYwIC41NjcKKyhJZiB5b3UgXDIxNG5kIGEgYikxMDggNjg2LjQgUiAuNTY4KHVnIGluKS0uMiBGIEYzKGJhc2gsKTMuMDY4IEUgRjAgLjU2OAorKHlvdSBzaG91bGQgcmVwb3J0IGl0LikzLjA2OCBGIC41NjgoQnV0IFwyMTRyc3QsIHlvdSBzaG91bGQgbWFrKTUuNTY4IEYKKzMuMDY4KGVzKS0uMSBHIC41NjgodXJlIHRoYXQgaXQgcmVhbGx5IGlzIGEgYiktMy4wNjggRiAuNTY4KHVnLCBhbmQpLS4yCitGIDUuNjI2KHRoYXQgaXQgYXBwZWFycyBpbiB0aGUgbGF0ZXN0IHYpMTA4IDY5OC40IFIgNS42MjUoZXJzaW9uIG9mKS0uMTUKK0YgRjMoYmFzaCk4LjEyNSBFIEYwIDEwLjYyNSguVClDIDUuNjI1KGhlIGxhdGVzdCB2KS0xMC42MjUgRiA1LjYyNQorKGVyc2lvbiBpcyBhbCktLjE1IEYgLS4xKHdhKS0uMSBHIDUuNjI1KHlzIGEpLjEgRiAtLjI1KHZhKS0uMiBHIDUuNjI1CisoaWxhYmxlIGZyb20pLjI1IEYgRjUoZnRwOi8vZnRwLmdudS5vcikxMDggNzEwLjQgUShnL3B1Yi9iYXNoLyktLjM3IEUgRjAKKyguKUEgLjQxKE9uY2UgeW91IGhhKTEwOCA3MjcuMiBSIC43MSAtLjE1KHZlIGQpLS4yIEggLjQxCisoZXRlcm1pbmVkIHRoYXQgYSBiKS4xNSBGIC40MSh1ZyBhY3R1YWxseSBlKS0uMiBGIC40MTEoeGlzdHMsIHVzZSB0aGUpCistLjE1IEYgRjUoYmFzaGIpMy4xODEgRSh1ZyktLjIgRSBGMCAuNDExKGNvbW1hbmQgdG8gc3VibWl0IGEgYikzLjEzMSBGCisuNDExKHVnIHJlcG9ydC4pLS4yIEYoSWYpNS40MTEgRShHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkKKzEzNS45NjUgRSg2OSkxODUuOTU1IEUgMCBDZyBFUAorJSVQYWdlOiA3MCA3MAorJSVCZWdpblBhZ2VTZXR1cAorQlAKKyUlRW5kUGFnZVNldHVwCisvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKKy0uMzUgRSAuNTk1KHlvdSBoYSkxMDggODQgUiAuODk1IC0uMTUodmUgYSBcMjE0KS0uMiBIIC41OTUKKyh4LCB5b3UgYXJlIGVuY291cmFnZWQgdG8gbWFpbCB0aGF0IGFzIHdlbGwhKS4xNSBGIC41OTQKKyhTdWdnZXN0aW9ucyBhbmQgYHBoaWxvc29waGljYWwnIGIpNS41OTUgRiAuNTk0KHVnIHJlcG9ydHMgbWF5KS0uMiBGCisoYmUgbWFpbGVkIHRvKTEwOCA5NiBRL0YxIDEwL1RpbWVzLUl0YWxpY0AwIFNGIC0uMihidSkyLjUgRworKGctYmFzaEBnbnUub3IpLjIgRShnKS0uMzcgRSBGMChvciBwb3N0ZWQgdG8gdGhlIFVzZW5ldCBuZSkyLjUgRQorKHdzZ3JvdXApLS4yNSBFL0YyIDEwL1RpbWVzLUJvbGRAMCBTRihnbnUuYmFzaC5iKTIuNSBFKHVnKS0uMiBFIEYwKC4pQQorKEFMTCBiKTEwOCAxMTIuOCBRKHVnIHJlcG9ydHMgc2hvdWxkIGluY2x1ZGU6KS0uMiBFKFRoZSB2KTEwOCAxMjkuNiBRCisoZXJzaW9uIG51bWJlciBvZiktLjE1IEUgRjIoYmFzaCkyLjUgRSBGMChUaGUgaGFyZHcpMTA4IDE0MS42IFEKKyhhcmUgYW5kIG9wZXJhdGluZyBzeXN0ZW0pLS4xIEUoVGhlIGNvbXBpbGVyIHVzZWQgdG8gY29tcGlsZSkxMDggMTUzLjYgUQorMi41KEFkKTEwOCAxNjUuNiBTKGVzY3JpcHRpb24gb2YgdGhlIGIpLTIuNSBFKHVnIGJlaGEpLS4yIEUodmlvdXIpLS4yIEUKKzIuNShBcykxMDggMTc3LjYgUyhob3J0IHNjcmlwdCBvciBgcmVjaXBlJyB3aGljaCBlKS0yLjUgRSAtLjE1KHhlKS0uMTUgRworKHJjaXNlcyB0aGUgYikuMTUgRSh1ZyktLjIgRSBGMShiYXNoYikxMDguMjcgMTk0LjQgUSh1ZyktLjIgRSBGMAorKGluc2VydHMgdGhlIFwyMTRyc3QgdGhyZWUgaXRlbXMgYXV0b21hdGljYWxseSBpbnRvIHRoZSB0ZW1wbGF0ZSBpdCBwcm8pCisyLjcyIEUodmlkZXMgZm9yIFwyMTRsaW5nIGEgYiktLjE1IEUodWcgcmVwb3J0LiktLjIgRShDb21tZW50cyBhbmQgYikxMDgKKzIxMS4yIFEodWcgcmVwb3J0cyBjb25jZXJuaW5nIHRoaXMgbWFudWFsIHBhZ2Ugc2hvdWxkIGJlIGRpcmVjdGVkIHRvKS0uMgorRSBGMSAtLjE1KGNoKTIuNSBHKGV0QHBvLmN3cnUuZWR1KS4xNSBFIEYwKC4pLjI1IEUvRjMgMTAuOTUvVGltZXMtQm9sZEAwCitTRiAtLjExKEJVKTcyIDIyOCBTKEdTKS4xMSBFIEYwKEl0JykxMDggMjQwIFEgMi41KHN0KS0uNTUgRworKG9vIGJpZyBhbmQgdG9vIHNsbyktMi41IEUgLS42NSh3LiktLjI1IEcgMS44NjgKKyhUaGVyZSBhcmUgc29tZSBzdWJ0bGUgZGlmKTEwOCAyNTYuOCBSIDEuODY4KGZlcmVuY2VzIGJldHdlZW4pLS4yNSBGIEYyCisoYmFzaCk0LjM2OSBFIEYwIDEuODY5KGFuZCB0cmFkaXRpb25hbCB2KTQuMzY5IEYgMS44NjkoZXJzaW9ucyBvZiktLjE1IEYKK0YyKHNoKTQuMzY5IEUgRjAgNC4zNjkoLG0pQyAxLjg2OShvc3RseSBiZWNhdXNlIG9mIHRoZSktNC4zNjkgRi9GNCA5CisvVGltZXMtQm9sZEAwIFNGKFBPU0lYKTEwOCAyNjguOCBRIEYwKHNwZWNpXDIxNGNhdGlvbi4pMi4yNSBFCisoQWxpYXNlcyBhcmUgY29uZnVzaW5nIGluIHNvbWUgdXNlcy4pMTA4IDI4NS42IFEoU2hlbGwgYikxMDggMzAyLjQgUQorKHVpbHRpbiBjb21tYW5kcyBhbmQgZnVuY3Rpb25zIGFyZSBub3Qgc3RvcHBhYmxlL3Jlc3RhcnRhYmxlLiktLjIgRQorMS4zMTUoQ29tcG91bmQgY29tbWFuZHMgYW5kIGNvbW1hbmQgc2VxdWVuY2VzIG9mIHRoZSBmb3JtIGBhIDsgYiA7IGMnIGFcCityZSBub3QgaGFuZGxlZCBncmFjZWZ1bGx5IHdoZW4pMTA4IDMxOS4yIFIgLjM4OQorKHByb2Nlc3Mgc3VzcGVuc2lvbiBpcyBhdHRlbXB0ZWQuKTEwOCAzMzEuMiBSIC4zODkKKyhXaGVuIGEgcHJvY2VzcyBpcyBzdG9wcGVkLCB0aGUgc2hlbGwgaW1tZWRpYXRlbHkgZSk1LjM4OSBGIC0uMTUoeGUpLS4xNQorRyAuMzkoY3V0ZXMgdGhlIG5lKS4xNSBGIC4zOSh4dCBjb20tKS0uMTUgRiAuMTkzKG1hbmQgaW4gdGhlIHNlcXVlbmNlLikKKzEwOCAzNDMuMiBSIC4xOTIoSXQgc3VmKTUuMTkzIEYgLjE5MihcMjE0Y2VzIHRvIHBsYWNlIHRoZSBzZXF1ZW5jZSBvZiBjXAorb21tYW5kcyBiZXR3ZWVuIHBhcmVudGhlc2VzIHRvIGZvcmNlIGl0IGludG8gYSktLjI1IEYKKyhzdWJzaGVsbCwgd2hpY2ggbWF5IGJlIHN0b3BwZWQgYXMgYSB1bml0LikxMDggMzU1LjIgUShBcnJheSB2KTEwOCAzNzIgUQorKGFyaWFibGVzIG1heSBub3QgXCh5ZXRcKSBiZSBlKS0uMjUgRSh4cG9ydGVkLiktLjE1IEUKKyhUaGVyZSBtYXkgYmUgb25seSBvbmUgYWN0aSkxMDggMzg4LjggUSAuMyAtLjE1KHZlIGMpLS4yNSBICisob3Byb2Nlc3MgYXQgYSB0aW1lLikuMTUgRShHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkKKzEzNS45NjUgRSg3MCkxODUuOTU1IEUgMCBDZyBFUAogJSVUcmFpbGVyCiBlbmQKICUlRU9GCmRpZmYgLS1naXQgYS9kb2MvYmFzaHJlZi5kdmkgYi9kb2MvYmFzaHJlZi5kdmkKaW5kZXggMjg5MTI0Ni4uNjUyMTQ1YSAxMDA2NDQKLS0tIGEvZG9jL2Jhc2hyZWYuZHZpCisrKyBiL2RvYy9iYXNocmVmLmR2aQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9kb2MvYmFzaHJlZi5odG1sIGIvZG9jL2Jhc2hyZWYuaHRtbAppbmRleCA2MzBkZTVjLi5kMzZiNzJiIDEwMDY0NAotLS0gYS9kb2MvYmFzaHJlZi5odG1sCisrKyBiL2RvYy9iYXNocmVmLmh0bWwKQEAgLTEsNiArMSw2IEBACiA8SFRNTD4KIDwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iPgotPCEtLSBDcmVhdGVkIG9uIEZlYnJ1YXJ5LCA1ICAyMDA5IGJ5IHRleGkyaHRtbCAxLjY0IC0tPgorPCEtLSBDcmVhdGVkIG9uIERlY2VtYmVyLCAyOSAgMjAwOSBieSB0ZXhpMmh0bWwgMS42NCAtLT4KIDwhLS0gCiBXcml0dGVuIGJ5OiBMaW9uZWwgQ29ucyA8TGlvbmVsLkNvbnNAY2Vybi5jaD4gKG9yaWdpbmFsIGF1dGhvcikKICAgICAgICAgICAgIEthcmwgQmVycnkgIDxrYXJsQGZyZWVmcmllbmRzLm9yZz4KQEAgLTMzLDEyICszMywxMiBAQAogPEgxPkJhc2ggUmVmZXJlbmNlIE1hbnVhbDwvSDE+PC9QPjxQPgogCiBUaGlzIHRleHQgaXMgYSBicmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgZmVhdHVyZXMgdGhhdCBhcmUgcHJlc2VudCBpbgotdGhlIEJhc2ggc2hlbGwgKHZlcnNpb24gNC4wLCAyOSBEZWNlbWJlciAyMDA4KS4KK3RoZSBCYXNoIHNoZWxsICh2ZXJzaW9uIDQuMSwgMjMgRGVjZW1iZXIgMjAwOSkuCiA8L1A+PFA+CiAKLVRoaXMgaXMgRWRpdGlvbiA0LjAsIGxhc3QgdXBkYXRlZCAyOSBEZWNlbWJlciAyMDA4LAorVGhpcyBpcyBFZGl0aW9uIDQuMSwgbGFzdCB1cGRhdGVkIDIzIERlY2VtYmVyIDIwMDksCiBvZiA8Q0lURT5UaGUgR05VIEJhc2ggUmVmZXJlbmNlIE1hbnVhbDwvQ0lURT4sCi1mb3IgPENPREU+QmFzaDwvQ09ERT4sIFZlcnNpb24gNC4wLgorZm9yIDxDT0RFPkJhc2g8L0NPREU+LCBWZXJzaW9uIDQuMS4KIDwvUD48UD4KIAogQmFzaCBjb250YWlucyBmZWF0dXJlcyB0aGF0IGFwcGVhciBpbiBvdGhlciBwb3B1bGFyIHNoZWxscywgYW5kIHNvbWUKQEAgLTY4OCw2ICs2ODgsNyBAQAogPERUPjxDT0RFPlxiPC9DT0RFPgogPEREPmJhY2tzcGFjZQogPERUPjxDT0RFPlxlPC9DT0RFPgorPEREPjxEVD48Q09ERT5cRTwvQ09ERT4KIDxERD5hbiBlc2NhcGUgY2hhcmFjdGVyIChub3QgQU5TSSBDKQogPERUPjxDT0RFPlxmPC9DT0RFPgogPEREPmZvcm0gZmVlZApAQCAtNzAzLDYgKzcwNCw4IEBACiA8REQ+YmFja3NsYXNoCiA8RFQ+PENPREU+XCc8L0NPREU+CiA8REQ+c2luZ2xlIHF1b3RlCis8RFQ+PENPREU+XCI8L0NPREU+Cis8REQ+ZG91YmxlIHF1b3RlCiA8RFQ+PENPREU+XDxWQVI+bm5uPC9WQVI+PC9DT0RFPgogPEREPnRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHZhbHVlIGlzIHRoZSBvY3RhbCB2YWx1ZSA8VkFSPm5ubjwvVkFSPgogKG9uZSB0byB0aHJlZSBkaWdpdHMpCkBAIC0xMDk3LDcgKzExMDAsNyBAQAogVGhlIHN5bnRheCBvZiB0aGUgPENPREU+Zm9yPC9DT0RFPiBjb21tYW5kIGlzOgogPFA+CiAKLTxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT5mb3IgPFZBUj5uYW1lPC9WQVI+IFtpbiA8VkFSPndvcmRzPC9WQVI+IDxzbWFsbD4uLi48L3NtYWxsPl07IGRvIDxWQVI+Y29tbWFuZHM8L1ZBUj47IGRvbmUKKzxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT5mb3IgPFZBUj5uYW1lPC9WQVI+IFsgW2luIFs8VkFSPndvcmRzPC9WQVI+IDxzbWFsbD4uLi48L3NtYWxsPl0gXSA7IF0gZG8gPFZBUj5jb21tYW5kczwvVkFSPjsgZG9uZQogPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+RXhwYW5kIDxWQVI+d29yZHM8L1ZBUj4sIGFuZCBleGVjdXRlIDxWQVI+Y29tbWFuZHM8L1ZBUj4gb25jZSBmb3IgZWFjaCBtZW1iZXIKIGluIHRoZSByZXN1bHRhbnQgbGlzdCwgd2l0aCA8VkFSPm5hbWU8L1ZBUj4gYm91bmQgdG8gdGhlIGN1cnJlbnQgbWVtYmVyLgogSWYgPFNBTVA+YGluIDxWQVI+d29yZHM8L1ZBUj4nPC9TQU1QPiBpcyBub3QgcHJlc2VudCwgdGhlIDxDT0RFPmZvcjwvQ09ERT4gY29tbWFuZApAQCAtMTIwMiw3ICsxMjA1LDcgQEAKIGFzIGEgPFZBUj5jbGF1c2U8L1ZBUj4uCiA8L1A+PFA+CiAKLUVhY2ggY2xhdXNlIG11c3QgYmUgdGVybWluYXRlZCB3aXRoIDxTQU1QPmA7Oyc8L1NBTVA+LCA8U0FNUD5gLCYjMzg7JzwvU0FNUD4sIG9yIDxTQU1QPmA7OyYjMzg7JzwvU0FNUD4uCitFYWNoIGNsYXVzZSBtdXN0IGJlIHRlcm1pbmF0ZWQgd2l0aCA8U0FNUD5gOzsnPC9TQU1QPiwgPFNBTVA+YDsmIzM4Oyc8L1NBTVA+LCBvciA8U0FNUD5gOzsmIzM4Oyc8L1NBTVA+LgogVGhlIDxWQVI+d29yZDwvVkFSPiB1bmRlcmdvZXMgdGlsZGUgZXhwYW5zaW9uLCBwYXJhbWV0ZXIgZXhwYW5zaW9uLCBjb21tYW5kCiBzdWJzdGl0dXRpb24sIGFyaXRobWV0aWMgZXhwYW5zaW9uLCBhbmQgcXVvdGUgcmVtb3ZhbCBiZWZvcmUgbWF0Y2hpbmcgaXMKIGF0dGVtcHRlZC4gIEVhY2ggPFZBUj5wYXR0ZXJuPC9WQVI+IHVuZGVyZ29lcyB0aWxkZSBleHBhbnNpb24sIHBhcmFtZXRlcgpAQCAtMTMxOCw2ICsxMzIxLDEwIEBACiBhcyBwcmltYXJpZXMuCiA8L1A+PFA+CiAKK1doZW4gdXNlZCB3aXRoIDxTQU1QPmBbWyc8L1NBTVA+LCBUaGUgPFNBTVA+YCYjNjA7JzwvU0FNUD4gYW5kIDxTQU1QPmAmIzYyOyc8L1NBTVA+IG9wZXJhdG9ycyBzb3J0CitsZXhpY29ncmFwaGljYWxseSB1c2luZyB0aGUgY3VycmVudCBsb2NhbGUuCis8L1A+PFA+CisKIFdoZW4gdGhlIDxTQU1QPmA9PSc8L1NBTVA+IGFuZCA8U0FNUD5gIT0nPC9TQU1QPiBvcGVyYXRvcnMgYXJlIHVzZWQsIHRoZSBzdHJpbmcgdG8gdGhlCiByaWdodCBvZiB0aGUgb3BlcmF0b3IgaXMgY29uc2lkZXJlZCBhIHBhdHRlcm4gYW5kIG1hdGNoZWQgYWNjb3JkaW5nCiB0byB0aGUgcnVsZXMgZGVzY3JpYmVkIGJlbG93IGluIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNyI+My41LjguMSBQYXR0ZXJuIE1hdGNoaW5nPC9BPi4KQEAgLTE1NzcsMTQgKzE1ODQsMTkgQEAKIFNwZWNpYWwgcGFyYW1ldGVyIDxDT0RFPjA8L0NPREU+IGlzIHVuY2hhbmdlZC4KIFRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZSA8Q09ERT5GVU5DTkFNRTwvQ09ERT4gdmFyaWFibGUgaXMgc2V0IHRvIHRoZQogbmFtZSBvZiB0aGUgZnVuY3Rpb24gd2hpbGUgdGhlIGZ1bmN0aW9uIGlzIGV4ZWN1dGluZy4KKzwvUD48UD4KKwogQWxsIG90aGVyIGFzcGVjdHMgb2YgdGhlIHNoZWxsIGV4ZWN1dGlvbgogZW52aXJvbm1lbnQgYXJlIGlkZW50aWNhbCBiZXR3ZWVuIGEgZnVuY3Rpb24gYW5kIGl0cyBjYWxsZXIKLXdpdGggdGhlIGV4Y2VwdGlvbiB0aGF0IHRoZSA8Q09ERT5ERUJVRzwvQ09ERT4gYW5kIDxDT0RFPlJFVFVSTjwvQ09ERT4gdHJhcHMKK3dpdGggdGhlc2UgZXhjZXB0aW9uczoKK3RoZSA8Q09ERT5ERUJVRzwvQ09ERT4gYW5kIDxDT0RFPlJFVFVSTjwvQ09ERT4gdHJhcHMKIGFyZSBub3QgaW5oZXJpdGVkIHVubGVzcyB0aGUgZnVuY3Rpb24gaGFzIGJlZW4gZ2l2ZW4gdGhlCiA8Q09ERT50cmFjZTwvQ09ERT4gYXR0cmlidXRlIHVzaW5nIHRoZSA8Q09ERT5kZWNsYXJlPC9DT0RFPiBidWlsdGluIG9yCiB0aGUgPENPREU+LW8gZnVuY3RyYWNlPC9DT0RFPiBvcHRpb24gaGFzIGJlZW4gZW5hYmxlZCB3aXRoCiB0aGUgPENPREU+c2V0PC9DT0RFPiBidWlsdGluLAotKGluIHdoaWNoIGNhc2UgYWxsIGZ1bmN0aW9ucyBpbmhlcml0IHRoZSA8Q09ERT5ERUJVRzwvQ09ERT4gYW5kIDxDT0RFPlJFVFVSTjwvQ09ERT4gdHJhcHMpLgorKGluIHdoaWNoIGNhc2UgYWxsIGZ1bmN0aW9ucyBpbmhlcml0IHRoZSA8Q09ERT5ERUJVRzwvQ09ERT4gYW5kIDxDT0RFPlJFVFVSTjwvQ09ERT4gdHJhcHMpLAorYW5kIHRoZSA8Q09ERT5FUlI8L0NPREU+IHRyYXAgaXMgbm90IGluaGVyaXRlZCB1bmxlc3MgdGhlIDxDT0RFPi1vIGVycnRyYWNlPC9DT0RFPgorc2hlbGwgb3B0aW9uIGhhcyBiZWVuIGVuYWJsZWQuCiBTZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+LCBmb3IgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZQogPENPREU+dHJhcDwvQ09ERT4gYnVpbHRpbi4KIDwvUD48UD4KQEAgLTE5NzAsNyArMTk4Miw3IEBACiBhZGUgYWNlIGFiZQogPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+PC9QPjxQPgogCi1BIHNlcXVlbmNlIGV4cHJlc3Npb24gdGFrZXMgdGhlIGZvcm0gPENPREU+ezxWQVI+eDwvVkFSPi4uPFZBUj55PC9WQVI+WzxWQVI+aW5jcjwvVkFSPl19PC9DT0RFPiwKK0Egc2VxdWVuY2UgZXhwcmVzc2lvbiB0YWtlcyB0aGUgZm9ybSA8Q09ERT57PFZBUj54PC9WQVI+Li48VkFSPnk8L1ZBUj5bLi48VkFSPmluY3I8L1ZBUj5dfTwvQ09ERT4sCiB3aGVyZSA8VkFSPng8L1ZBUj4gYW5kIDxWQVI+eTwvVkFSPiBhcmUgZWl0aGVyIGludGVnZXJzIG9yIHNpbmdsZSBjaGFyYWN0ZXJzLAogYW5kIDxWQVI+aW5jcjwvVkFSPiwgYW4gb3B0aW9uYWwgaW5jcmVtZW50LCBpcyBhbiBpbnRlZ2VyLgogV2hlbiBpbnRlZ2VycyBhcmUgc3VwcGxpZWQsIHRoZSBleHByZXNzaW9uIGV4cGFuZHMgdG8gZWFjaCBudW1iZXIgYmV0d2VlbgpAQCAtMjE1NCw3ICsyMTY2LDcgQEAKIGludGVycHJldGVkIGFzIHBhcnQgb2YgaXRzIG5hbWUuCiA8L1A+PFA+CiAKLUlmIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgPFZBUj5wYXJhbWV0ZXI8L1ZBUj4gaXMgYW4gZXhjbGFtYXRpb24gcG9pbnQsCitJZiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIDxWQVI+cGFyYW1ldGVyPC9WQVI+IGlzIGFuIGV4Y2xhbWF0aW9uIHBvaW50ICghKSwKIGEgbGV2ZWwgb2YgdmFyaWFibGUgaW5kaXJlY3Rpb24gaXMgaW50cm9kdWNlZC4KIEJhc2ggdXNlcyB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGZvcm1lZCBmcm9tIHRoZSByZXN0IG9mCiA8VkFSPnBhcmFtZXRlcjwvVkFSPiBhcyB0aGUgbmFtZSBvZiB0aGUgdmFyaWFibGU7IHRoaXMgdmFyaWFibGUgaXMgdGhlbgpAQCAtMjMzNyw3ICsyMzQ5LDcgQEAKIDxERD48RFQ+PENPREU+JHs8VkFSPnBhcmFtZXRlcjwvVkFSPiwsPFZBUj5wYXR0ZXJuPC9WQVI+fTwvQ09ERT4KIDxERD5UaGlzIGV4cGFuc2lvbiBtb2RpZmllcyB0aGUgY2FzZSBvZiBhbHBoYWJldGljIGNoYXJhY3RlcnMgaW4gPFZBUj5wYXJhbWV0ZXI8L1ZBUj4uCiBUaGUgPFZBUj5wYXR0ZXJuPC9WQVI+IGlzIGV4cGFuZGVkIHRvIHByb2R1Y2UgYSBwYXR0ZXJuIGp1c3QgYXMgaW4KLXBhdGhuYW1lIGV4cGFuc2lvbi4KK2ZpbGVuYW1lIGV4cGFuc2lvbi4KIFRoZSA8U0FNUD5gXic8L1NBTVA+IG9wZXJhdG9yIGNvbnZlcnRzIGxvd2VyY2FzZSBsZXR0ZXJzIG1hdGNoaW5nIDxWQVI+cGF0dGVybjwvVkFSPgogdG8gdXBwZXJjYXNlOyB0aGUgPFNBTVA+YCwnPC9TQU1QPiBvcGVyYXRvciBjb252ZXJ0cyBtYXRjaGluZyB1cHBlcmNhc2UgbGV0dGVycwogdG8gbG93ZXJjYXNlLgpAQCAtMjU4NSw3ICsyNTk3LDcgQEAKIHdpdGhvdXQgcmVnYXJkIHRvIHRoZSBjYXNlIG9mIGFscGhhYmV0aWMgY2hhcmFjdGVycy4KIDwvUD48UD4KIAotV2hlbiBhIHBhdHRlcm4gaXMgdXNlZCBmb3IgZmlsZW5hbWUgZ2VuZXJhdGlvbiwgdGhlIGNoYXJhY3RlciA8U0FNUD5gLic8L1NBTVA+CitXaGVuIGEgcGF0dGVybiBpcyB1c2VkIGZvciBmaWxlbmFtZSBleHBhbnNpb24sIHRoZSBjaGFyYWN0ZXIgPFNBTVA+YC4nPC9TQU1QPgogYXQgdGhlIHN0YXJ0IG9mIGEgZmlsZW5hbWUgb3IgaW1tZWRpYXRlbHkgZm9sbG93aW5nIGEgc2xhc2gKIG11c3QgYmUgbWF0Y2hlZCBleHBsaWNpdGx5LCB1bmxlc3MgdGhlIHNoZWxsIG9wdGlvbiA8Q09ERT5kb3RnbG9iPC9DT0RFPiBpcyBzZXQuCiBXaGVuIG1hdGNoaW5nIGEgZmlsZSBuYW1lLCB0aGUgc2xhc2ggY2hhcmFjdGVyIG11c3QgYWx3YXlzIGJlCkBAIC0yNzg0LDYgKzI3OTYsMTUgQEAKIGxlZnQgdG8gcmlnaHQuCiA8L1A+PFA+CiAKK0VhY2ggcmVkaXJlY3Rpb24gdGhhdCBtYXkgYmUgcHJlY2VkZWQgYnkgYSBmaWxlIGRlc2NyaXB0b3IgbnVtYmVyCittYXkgaW5zdGVhZCBiZSBwcmVjZWRlZCBieSBhIHdvcmQgb2YgdGhlIGZvcm0gezxWQVI+dmFybmFtZTwvVkFSPn0uCitJbiB0aGlzIGNhc2UsIGZvciBlYWNoIHJlZGlyZWN0aW9uIG9wZXJhdG9yIGV4Y2VwdAorJiM2MjsmIzM4Oy0gYW5kICYjNjA7JiMzODstLCB0aGUgc2hlbGwgd2lsbCBhbGxvY2F0ZSBhIGZpbGUgZGVzY3JpcHRvciBncmVhdGVyCit0aGFuIDEwIGFuZCBhc3NpZ24gaXQgdG8gezxWQVI+dmFybmFtZTwvVkFSPn0uICBJZiAmIzYyOyYjMzg7LSBvciAmIzYwOyYjMzg7LSBpcyBwcmVjZWRlZAorYnkgezxWQVI+dmFybmFtZTwvVkFSPn0sIHRoZSB2YWx1ZSBvZiA8VkFSPnZhcm5hbWU8L1ZBUj4gZGVmaW5lcyB0aGUgZmlsZQorZGVzY3JpcHRvciB0byBjbG9zZS4KKzwvUD48UD4KKwogSW4gdGhlIGZvbGxvd2luZyBkZXNjcmlwdGlvbnMsIGlmIHRoZSBmaWxlIGRlc2NyaXB0b3IgbnVtYmVyIGlzCiBvbWl0dGVkLCBhbmQgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiB0aGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IgaXMKIDxTQU1QPmAmIzYwOyc8L1NBTVA+LCB0aGUgcmVkaXJlY3Rpb24gcmVmZXJzIHRvIHRoZSBzdGFuZGFyZCBpbnB1dCAoZmlsZQpAQCAtMjgwNiw3ICsyODI3LDcgQEAKIChmaWxlIGRlc2NyaXB0b3IgMikgdG8gdGhlIGZpbGUgPFZBUj5kaXJsaXN0PC9WQVI+LCB3aGlsZSB0aGUgY29tbWFuZAogPFRBQkxFPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ZXhhbXBsZT48cHJlPmxzIDImIzYyOyYjMzg7MSAmIzYyOyA8VkFSPmRpcmxpc3Q8L1ZBUj4KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPmRpcmVjdHMgb25seSB0aGUgc3RhbmRhcmQgb3V0cHV0IHRvIGZpbGUgPFZBUj5kaXJsaXN0PC9WQVI+LAotYmVjYXVzZSB0aGUgc3RhbmRhcmQgZXJyb3Igd2FzIGR1cGxpY2F0ZWQgYXMgc3RhbmRhcmQgb3V0cHV0CitiZWNhdXNlIHRoZSBzdGFuZGFyZCBlcnJvciB3YXMgbWFkZSBhIGNvcHkgb2YgdGhlIHN0YW5kYXJkIG91dHB1dAogYmVmb3JlIHRoZSBzdGFuZGFyZCBvdXRwdXQgd2FzIHJlZGlyZWN0ZWQgdG8gPFZBUj5kaXJsaXN0PC9WQVI+LgogPC9QPjxQPgogCkBAIC0zNzg1LDggKzM4MDYsMTQgQEAKIFVubGVzcyBvdGhlcndpc2Ugbm90ZWQsIGVhY2ggYnVpbHRpbiBjb21tYW5kIGRvY3VtZW50ZWQgYXMgYWNjZXB0aW5nCiBvcHRpb25zIHByZWNlZGVkIGJ5IDxTQU1QPmAtJzwvU0FNUD4gYWNjZXB0cyA8U0FNUD5gLS0nPC9TQU1QPgogdG8gc2lnbmlmeSB0aGUgZW5kIG9mIHRoZSBvcHRpb25zLgotRm9yIGV4YW1wbGUsIHRoZSA8Q09ERT46PC9DT0RFPiwgPENPREU+dHJ1ZTwvQ09ERT4sIDxDT0RFPmZhbHNlPC9DT0RFPiwgYW5kIDxDT0RFPnRlc3Q8L0NPREU+Ci1idWlsdGlucyBkbyBub3QgYWNjZXB0IG9wdGlvbnMuCitUaGUgPENPREU+OjwvQ09ERT4sIDxDT0RFPnRydWU8L0NPREU+LCA8Q09ERT5mYWxzZTwvQ09ERT4sIGFuZCA8Q09ERT50ZXN0PC9DT0RFPgorYnVpbHRpbnMgZG8gbm90IGFjY2VwdCBvcHRpb25zIGFuZCBkbyBub3QgdHJlYXQgPFNBTVA+YC0tJzwvU0FNUD4gc3BlY2lhbGx5LgorVGhlIDxDT0RFPmV4aXQ8L0NPREU+LCA8Q09ERT5sb2dvdXQ8L0NPREU+LCA8Q09ERT5icmVhazwvQ09ERT4sIDxDT0RFPmNvbnRpbnVlPC9DT0RFPiwgPENPREU+bGV0PC9DT0RFPiwKK2FuZCA8Q09ERT5zaGlmdDwvQ09ERT4gYnVpbHRpbnMgYWNjZXB0IGFuZCBwcm9jZXNzIGFyZ3VtZW50cyBiZWdpbm5pbmcKK3dpdGggPFNBTVA+YC0nPC9TQU1QPiB3aXRob3V0IHJlcXVpcmluZyA8U0FNUD5gLS0nPC9TQU1QPi4KK090aGVyIGJ1aWx0aW5zIHRoYXQgYWNjZXB0IGFyZ3VtZW50cyBidXQgYXJlIG5vdCBzcGVjaWZpZWQgYXMgYWNjZXB0aW5nCitvcHRpb25zIGludGVycHJldCBhcmd1bWVudHMgYmVnaW5uaW5nIHdpdGggPFNBTVA+YC0nPC9TQU1QPiBhcyBpbnZhbGlkIG9wdGlvbnMgYW5kCityZXF1aXJlIDxTQU1QPmAtLSc8L1NBTVA+IHRvIHByZXZlbnQgdGhpcyBpbnRlcnByZXRhdGlvbi4KIDwvUD48UD4KIAogPEEgTkFNRT0iQm91cm5lIFNoZWxsIEJ1aWx0aW5zIj48L0E+CkBAIC00MjAxLDMzICs0MjI4LDM3IEBACiBhbmQgdGhlaXIgY29ycmVzcG9uZGluZyBudW1iZXJzLgogRWFjaCA8VkFSPnNpZ3NwZWM8L1ZBUj4gaXMgZWl0aGVyIGEgc2lnbmFsIG5hbWUgb3IgYSBzaWduYWwgbnVtYmVyLgogU2lnbmFsIG5hbWVzIGFyZSBjYXNlIGluc2Vuc2l0aXZlIGFuZCB0aGUgPENPREU+U0lHPC9DT0RFPiBwcmVmaXggaXMgb3B0aW9uYWwuCis8UD4KKwogSWYgYSA8VkFSPnNpZ3NwZWM8L1ZBUj4KIGlzIDxDT0RFPjA8L0NPREU+IG9yIDxDT0RFPkVYSVQ8L0NPREU+LCA8VkFSPmFyZzwvVkFSPiBpcyBleGVjdXRlZCB3aGVuIHRoZSBzaGVsbCBleGl0cy4KIElmIGEgPFZBUj5zaWdzcGVjPC9WQVI+IGlzIDxDT0RFPkRFQlVHPC9DT0RFPiwgdGhlIGNvbW1hbmQgPFZBUj5hcmc8L1ZBUj4gaXMgZXhlY3V0ZWQKIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZCwgPENPREU+Zm9yPC9DT0RFPiBjb21tYW5kLCA8Q09ERT5jYXNlPC9DT0RFPiBjb21tYW5kLAogPENPREU+c2VsZWN0PC9DT0RFPiBjb21tYW5kLCBldmVyeSBhcml0aG1ldGljIDxDT0RFPmZvcjwvQ09ERT4gY29tbWFuZCwgYW5kIGJlZm9yZQogdGhlIGZpcnN0IGNvbW1hbmQgZXhlY3V0ZXMgaW4gYSBzaGVsbCBmdW5jdGlvbi4KLVJlZmVyIHRvIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgPENPREU+ZXh0Z2xvYjwvQ09ERT4gb3B0aW9uIHRvIHRoZQorUmVmZXIgdG8gdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSA8Q09ERT5leHRkZWJ1ZzwvQ09ERT4gb3B0aW9uIHRvIHRoZQogPENPREU+c2hvcHQ8L0NPREU+IGJ1aWx0aW4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MyI+NC4zLjIgVGhlIFNob3B0IEJ1aWx0aW48L0E+KSBmb3IgZGV0YWlscyBvZiBpdHMKIGVmZmVjdCBvbiB0aGUgPENPREU+REVCVUc8L0NPREU+IHRyYXAuCitJZiBhIDxWQVI+c2lnc3BlYzwvVkFSPiBpcyA8Q09ERT5SRVRVUk48L0NPREU+LCB0aGUgY29tbWFuZCA8VkFSPmFyZzwvVkFSPiBpcyBleGVjdXRlZAorZWFjaCB0aW1lIGEgc2hlbGwgZnVuY3Rpb24gb3IgYSBzY3JpcHQgZXhlY3V0ZWQgd2l0aCB0aGUgPENPREU+LjwvQ09ERT4gb3IKKzxDT0RFPnNvdXJjZTwvQ09ERT4gYnVpbHRpbnMgZmluaXNoZXMgZXhlY3V0aW5nLgorPC9QPjxQPgorCiBJZiBhIDxWQVI+c2lnc3BlYzwvVkFSPiBpcyA8Q09ERT5FUlI8L0NPREU+LCB0aGUgY29tbWFuZCA8VkFSPmFyZzwvVkFSPiAKIGlzIGV4ZWN1dGVkIHdoZW5ldmVyIGEgc2ltcGxlIGNvbW1hbmQgaGFzIGEgbm9uLXplcm8gZXhpdCBzdGF0dXMsCiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucy4KIFRoZSA8Q09ERT5FUlI8L0NPREU+IHRyYXAgaXMgbm90IGV4ZWN1dGVkIGlmIHRoZSBmYWlsZWQgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZQogY29tbWFuZCBsaXN0IGltbWVkaWF0ZWx5IGZvbGxvd2luZyBhbiA8Q09ERT51bnRpbDwvQ09ERT4gb3IgPENPREU+d2hpbGU8L0NPREU+IGtleXdvcmQsCi1wYXJ0IG9mIHRoZSB0ZXN0IGluIGFuIDxDT0RFPmlmPC9DT0RFPiBzdGF0ZW1lbnQsCitwYXJ0IG9mIHRoZSB0ZXN0IGZvbGxvd2luZyB0aGUgPENPREU+aWY8L0NPREU+IG9yIDxDT0RFPmVsaWY8L0NPREU+IHJlc2VydmVkIHdvcmRzLAogcGFydCBvZiBhIGNvbW1hbmQgZXhlY3V0ZWQgaW4gYSA8Q09ERT4mIzM4OyYjMzg7PC9DT0RFPiBvciA8Q09ERT58fDwvQ09ERT4gbGlzdCwKIG9yIGlmIHRoZSBjb21tYW5kJ3MgcmV0dXJuCiBzdGF0dXMgaXMgYmVpbmcgaW52ZXJ0ZWQgdXNpbmcgPENPREU+ITwvQ09ERT4uCiBUaGVzZSBhcmUgdGhlIHNhbWUgY29uZGl0aW9ucyBvYmV5ZWQgYnkgdGhlIDxDT0RFPmVycmV4aXQ8L0NPREU+IG9wdGlvbi4KLUlmIGEgPFZBUj5zaWdzcGVjPC9WQVI+IGlzIDxDT0RFPlJFVFVSTjwvQ09ERT4sIHRoZSBjb21tYW5kIDxWQVI+YXJnPC9WQVI+IGlzIGV4ZWN1dGVkCi1lYWNoIHRpbWUgYSBzaGVsbCBmdW5jdGlvbiBvciBhIHNjcmlwdCBleGVjdXRlZCB3aXRoIHRoZSA8Q09ERT4uPC9DT0RFPiBvcgotPENPREU+c291cmNlPC9DT0RFPiBidWlsdGlucyBmaW5pc2hlcyBleGVjdXRpbmcuCi08UD4KKzwvUD48UD4KIAogU2lnbmFscyBpZ25vcmVkIHVwb24gZW50cnkgdG8gdGhlIHNoZWxsIGNhbm5vdCBiZSB0cmFwcGVkIG9yIHJlc2V0LgogVHJhcHBlZCBzaWduYWxzIHRoYXQgYXJlIG5vdCBiZWluZyBpZ25vcmVkIGFyZSByZXNldCB0byB0aGVpciBvcmlnaW5hbAotdmFsdWVzIGluIGEgY2hpbGQgcHJvY2VzcyB3aGVuIGl0IGlzIGNyZWF0ZWQuCit2YWx1ZXMgaW4gYSBzdWJzaGVsbCBvciBzdWJzaGVsbCBlbnZpcm9ubWVudCB3aGVuIG9uZSBpcyBjcmVhdGVkLgogPC9QPjxQPgogCiBUaGUgcmV0dXJuIHN0YXR1cyBpcyB6ZXJvIHVubGVzcyBhIDxWQVI+c2lnc3BlYzwvVkFSPiBkb2VzIG5vdCBzcGVjaWZ5IGEKQEAgLTQ3MTMsNyArNDc0NCw3IEBACiA8REQ+PEEgTkFNRT0iSURYMTAxIj48L0E+CiA8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+bWFwZmlsZSBbLW4gPFZBUj5jb3VudDwvVkFSPl0gWy1PIDxWQVI+b3JpZ2luPC9WQVI+XSBbLXMgPFZBUj5jb3VudDwvVkFSPl0gWy10XSBbLXUgPFZBUj5mZDwvVkFSPl0gWwogLUMgPFZBUj5jYWxsYmFjazwvVkFSPl0gWy1jIDxWQVI+cXVhbnR1bTwvVkFSPl0gWzxWQVI+YXJyYXk8L1ZBUj5dCi08L3ByZT48L3RkPjwvdHI+PC90YWJsZT5SZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYXJyYXkgdmFyaWFibGUgPFZBUj5hcnJheTwvVkFSPiwKKzwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgaW5kZXhlZCBhcnJheSB2YXJpYWJsZSA8VkFSPmFycmF5PC9WQVI+LAogb3IgZnJvbSBmaWxlIGRlc2NyaXB0b3IgPFZBUj5mZDwvVkFSPgogaWYgdGhlIDxTQU1QPmAtdSc8L1NBTVA+IG9wdGlvbiBpcyBzdXBwbGllZC4KIFRoZSB2YXJpYWJsZSA8Q09ERT5NQVBGSUxFPC9DT0RFPiBpcyB0aGUgZGVmYXVsdCA8VkFSPmFycmF5PC9WQVI+LgpAQCAtNDcyOCw3ICs0NzU5LDcgQEAKIDxEVD48Q09ERT4tczwvQ09ERT4KIDxERD5EaXNjYXJkIHRoZSBmaXJzdCA8VkFSPmNvdW50PC9WQVI+IGxpbmVzIHJlYWQuCiA8RFQ+PENPREU+LXQ8L0NPREU+Ci08REQ+UmVtb3ZlIGEgdHJhaWxpbmcgbGluZSBmcm9tIGVhY2ggbGluZSByZWFkLgorPEREPlJlbW92ZSBhIHRyYWlsaW5nIG5ld2xpbmUgZnJvbSBlYWNoIGxpbmUgcmVhZC4KIDxEVD48Q09ERT4tdTwvQ09ERT4KIDxERD5SZWFkIGxpbmVzIGZyb20gZmlsZSBkZXNjcmlwdG9yIDxWQVI+ZmQ8L1ZBUj4gaW5zdGVhZCBvZiB0aGUgc3RhbmRhcmQgaW5wdXQuCiA8RFQ+PENPREU+LUM8L0NPREU+CkBAIC00NzUyLDcgKzQ3ODMsOCBAQAogPC9QPjxQPgogCiA8Q09ERT5tYXBmaWxlPC9DT0RFPiByZXR1cm5zIHN1Y2Nlc3NmdWxseSB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gb3Igb3B0aW9uCi1hcmd1bWVudCBpcyBzdXBwbGllZCwgb3IgPFZBUj5hcnJheTwvVkFSPiBpcyBpbnZhbGlkIG9yIHVuYXNzaWduYWJsZS4KK2FyZ3VtZW50IGlzIHN1cHBsaWVkLCA8VkFSPmFycmF5PC9WQVI+IGlzIGludmFsaWQgb3IgdW5hc3NpZ25hYmxlLCBvciA8VkFSPmFycmF5PC9WQVI+CitpcyBub3QgYW4gaW5kZXhlZCBhcnJheS4KIDwvUD48UD4KIAogPERUPjxDT0RFPnByaW50ZjwvQ09ERT4KQEAgLTQ3ODgsNyArNDgyMCw3IEBACiAKIDxEVD48Q09ERT5yZWFkPC9DT0RFPgogPEREPjxBIE5BTUU9IklEWDEwMyI+PC9BPgotPFRBQkxFPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ZXhhbXBsZT48cHJlPnJlYWQgWy1lcnNdIFstYSA8VkFSPmFuYW1lPC9WQVI+XSBbLWQgPFZBUj5kZWxpbTwvVkFSPl0gWy1pIDxWQVI+dGV4dDwvVkFSPl0gWy1uIDxWQVI+bmNoYXJzPC9WQVI+XSBbLXAgPFZBUj5wcm9tcHQ8L1ZBUj5dIFstdCA8VkFSPnRpbWVvdXQ8L1ZBUj5dIFstdSA8VkFSPmZkPC9WQVI+XSBbPFZBUj5uYW1lPC9WQVI+IDxzbWFsbD4uLi48L3NtYWxsPl0KKzxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT5yZWFkIFstZXJzXSBbLWEgPFZBUj5hbmFtZTwvVkFSPl0gWy1kIDxWQVI+ZGVsaW08L1ZBUj5dIFstaSA8VkFSPnRleHQ8L1ZBUj5dIFstbiA8VkFSPm5jaGFyczwvVkFSPl0gWy1OIDxWQVI+bmNoYXJzPC9WQVI+XSBbLXAgPFZBUj5wcm9tcHQ8L1ZBUj5dIFstdCA8VkFSPnRpbWVvdXQ8L1ZBUj5dIFstdSA8VkFSPmZkPC9WQVI+XSBbPFZBUj5uYW1lPC9WQVI+IDxzbWFsbD4uLi48L3NtYWxsPl0KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPk9uZSBsaW5lIGlzIHJlYWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQsIG9yIGZyb20gdGhlIGZpbGUgZGVzY3JpcHRvcgogPFZBUj5mZDwvVkFSPiBzdXBwbGllZCBhcyBhbiBhcmd1bWVudCB0byB0aGUgPFNBTVA+YC11JzwvU0FNUD4gb3B0aW9uLCBhbmQgdGhlIGZpcnN0IHdvcmQKIGlzIGFzc2lnbmVkIHRvIHRoZSBmaXJzdCA8VkFSPm5hbWU8L1ZBUj4sIHRoZSBzZWNvbmQgd29yZCB0byB0aGUgc2Vjb25kIDxWQVI+bmFtZTwvVkFSPiwKQEAgLTQ4MzYsNyArNDg2OCwxNyBAQAogCiA8RFQ+PENPREU+LW4gPFZBUj5uY2hhcnM8L1ZBUj48L0NPREU+CiA8REQ+PENPREU+cmVhZDwvQ09ERT4gcmV0dXJucyBhZnRlciByZWFkaW5nIDxWQVI+bmNoYXJzPC9WQVI+IGNoYXJhY3RlcnMgcmF0aGVyIHRoYW4KLXdhaXRpbmcgZm9yIGEgY29tcGxldGUgbGluZSBvZiBpbnB1dC4KK3dhaXRpbmcgZm9yIGEgY29tcGxldGUgbGluZSBvZiBpbnB1dCwgYnV0IGhvbm9yIGEgZGVsaW1pdGVyIGlmIGZld2VyCit0aGFuIDxWQVI+bmNoYXJzPC9WQVI+IGNoYXJhY3RlcnMgYXJlIHJlYWQgYmVmb3JlIHRoZSBkZWxpbWl0ZXIuCis8UD4KKworPERUPjxDT0RFPi1OIDxWQVI+bmNoYXJzPC9WQVI+PC9DT0RFPgorPEREPjxDT0RFPnJlYWQ8L0NPREU+IHJldHVybnMgYWZ0ZXIgcmVhZGluZyBleGFjdGx5IDxWQVI+bmNoYXJzPC9WQVI+IGNoYXJhY3RlcnMgcmF0aGVyCit0aGFuIHdhaXRpbmcgZm9yIGEgY29tcGxldGUgbGluZSBvZiBpbnB1dCwgdW5sZXNzIEVPRiBpcyBlbmNvdW50ZXJlZCBvcgorPENPREU+cmVhZDwvQ09ERT4gdGltZXMgb3V0LgorRGVsaW1pdGVyIGNoYXJhY3RlcnMgZW5jb3VudGVyZWQgaW4gdGhlIGlucHV0IGFyZQorbm90IHRyZWF0ZWQgc3BlY2lhbGx5IGFuZCBkbyBub3QgY2F1c2UgPENPREU+cmVhZDwvQ09ERT4gdG8gcmV0dXJuIHVudGlsCis8VkFSPm5jaGFyczwvVkFSPiBjaGFyYWN0ZXJzIGFyZSByZWFkLgogPFA+CiAKIDxEVD48Q09ERT4tcCA8VkFSPnByb21wdDwvVkFSPjwvQ09ERT4KQEAgLTQ4ODEsNyArNDkyMyw3IEBACiA8REQ+PEEgTkFNRT0iSURYMTA0Ij48L0E+CiA8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+cmVhZGFycmF5IFstbiA8VkFSPmNvdW50PC9WQVI+XSBbLU8gPFZBUj5vcmlnaW48L1ZBUj5dIFstcyA8VkFSPmNvdW50PC9WQVI+XSBbLXRdIFstdSA8VkFSPmZkPC9WQVI+XSBbCiAtQyA8VkFSPmNhbGxiYWNrPC9WQVI+XSBbLWMgPFZBUj5xdWFudHVtPC9WQVI+XSBbPFZBUj5hcnJheTwvVkFSPl0KLTwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhcnJheSB2YXJpYWJsZSA8VkFSPmFycmF5PC9WQVI+LAorPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+UmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBpbmRleGVkIGFycmF5IHZhcmlhYmxlIDxWQVI+YXJyYXk8L1ZBUj4sCiBvciBmcm9tIGZpbGUgZGVzY3JpcHRvciA8VkFSPmZkPC9WQVI+CiBpZiB0aGUgPFNBTVA+YC11JzwvU0FNUD4gb3B0aW9uIGlzIHN1cHBsaWVkLgogPFA+CkBAIC00OTk0LDExICs1MDM2LDEyIEBACiA8UD4KIAogPERUPjxDT0RFPi1tPC9DT0RFPgotPEREPlRoZSBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplLgorPEREPlRoZSBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplIChtYW55IHN5c3RlbXMgZG8gbm90IGhvbm9yIHRoaXMgbGltaXQpLgogPFA+CiAKIDxEVD48Q09ERT4tbjwvQ09ERT4KLTxERD5UaGUgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlIGRlc2NyaXB0b3JzLgorPEREPlRoZSBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGUgZGVzY3JpcHRvcnMgKG1vc3Qgc3lzdGVtcyBkbyBub3QKK2FsbG93IHRoaXMgdmFsdWUgdG8gYmUgc2V0KS4KIDxQPgogCiA8RFQ+PENPREU+LXA8L0NPREU+CkBAIC01MTUxLDIxICs1MTk0LDI5IEBACiA8UD4KIAogPERUPjxDT0RFPi1lPC9DT0RFPgotPEREPkV4aXQgaW1tZWRpYXRlbHkgaWYgYSBzaW1wbGUgY29tbWFuZCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE2Ij4zLjIuMSBTaW1wbGUgQ29tbWFuZHM8L0E+KSBleGl0cwotd2l0aCBhIG5vbi16ZXJvIHN0YXR1cywgdW5sZXNzIHRoZSBjb21tYW5kIHRoYXQgZmFpbHMgaXMgcGFydCBvZiB0aGUKKzxERD5FeGl0IGltbWVkaWF0ZWx5IGlmIGEgcGlwZWxpbmUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNyI+My4yLjIgUGlwZWxpbmVzPC9BPiksIHdoaWNoIG1heSBjb25zaXN0CitvZiBhIHNpbmdsZSBzaW1wbGUgY29tbWFuZCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE2Ij4zLjIuMSBTaW1wbGUgQ29tbWFuZHM8L0E+KSwKK2Egc3Vic2hlbGwgY29tbWFuZCBlbmNsb3NlZCBpbiBwYXJlbnRoZXNlcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzIyIj4zLjIuNC4zIEdyb3VwaW5nIENvbW1hbmRzPC9BPiksCitvciBvbmUgb2YgdGhlIGNvbW1hbmRzIGV4ZWN1dGVkIGFzIHBhcnQgb2YgYSBjb21tYW5kIGxpc3QgZW5jbG9zZWQKK2J5IGJyYWNlcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzIyIj4zLjIuNC4zIEdyb3VwaW5nIENvbW1hbmRzPC9BPikKK3JldHVybnMgYSBub24temVybyBzdGF0dXMuCitUaGUgc2hlbGwgZG9lcyBub3QgZXhpdCBpZiB0aGUgY29tbWFuZCB0aGF0IGZhaWxzIGlzIHBhcnQgb2YgdGhlCiBjb21tYW5kIGxpc3QgaW1tZWRpYXRlbHkgZm9sbG93aW5nIGEgPENPREU+d2hpbGU8L0NPREU+IG9yIDxDT0RFPnVudGlsPC9DT0RFPiBrZXl3b3JkLAogcGFydCBvZiB0aGUgdGVzdCBpbiBhbiA8Q09ERT5pZjwvQ09ERT4gc3RhdGVtZW50LAotcGFydCBvZiBhIGNvbW1hbmQgZXhlY3V0ZWQgaW4gYSA8Q09ERT4mIzM4OyYjMzg7PC9DT0RFPiBvciA8Q09ERT58fGI8L0NPREU+IGxpc3QsCitwYXJ0IG9mIGFueSBjb21tYW5kIGV4ZWN1dGVkIGluIGEgPENPREU+JiMzODsmIzM4OzwvQ09ERT4gb3IgPENPREU+fHw8L0NPREU+IGxpc3QgZXhjZXB0Cit0aGUgY29tbWFuZCBmb2xsb3dpbmcgdGhlIGZpbmFsIDxDT0RFPiYjMzg7JiMzODs8L0NPREU+IG9yIDxDT0RFPnx8PC9DT0RFPiwKIGFueSBjb21tYW5kIGluIGEgcGlwZWxpbmUgYnV0IHRoZSBsYXN0LAotb3IgaWYgdGhlIGNvbW1hbmQncyByZXR1cm4gc3RhdHVzIGlzIGJlaW5nIGludmVydGVkIHVzaW5nIDxDT0RFPiE8L0NPREU+LgotRmFpbGluZyBzaW1wbGUgY29tbWFuZHMgdGhhdCBhcmUgcGFydCBvZiBzaGVsbCBmdW5jdGlvbnMgb3IgY29tbWFuZCBsaXN0cwotZW5jbG9zZWQgaW4gYnJhY2VzIG9yIHBhcmVudGhlc2VzIHNhdGlzZnlpbmcgdGhlIGFib3ZlIGNvbmRpdGlvbnMgZG8gbm90Ci1jYXVzZSB0aGUgc2hlbGwgdG8gZXhpdC4KK29yIGlmIHRoZSBjb21tYW5kJ3MgcmV0dXJuIHN0YXR1cyBpcyBiZWluZyBpbnZlcnRlZCB3aXRoIDxDT0RFPiE8L0NPREU+LgogQSB0cmFwIG9uIDxDT0RFPkVSUjwvQ09ERT4sIGlmIHNldCwgaXMgZXhlY3V0ZWQgYmVmb3JlIHRoZSBzaGVsbCBleGl0cy4KIDxQPgogCitUaGlzIG9wdGlvbiBhcHBsaWVzIHRvIHRoZSBzaGVsbCBlbnZpcm9ubWVudCBhbmQgZWFjaCBzdWJzaGVsbCBlbnZpcm9ubWVudAorc2VwYXJhdGVseSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUzIj4zLjcuMyBDb21tYW5kIEV4ZWN1dGlvbiBFbnZpcm9ubWVudDwvQT4pLCBhbmQgbWF5IGNhdXNlCitzdWJzaGVsbHMgdG8gZXhpdCBiZWZvcmUgZXhlY3V0aW5nIGFsbCB0aGUgY29tbWFuZHMgaW4gdGhlIHN1YnNoZWxsLgorPC9QPjxQPgorCiA8RFQ+PENPREU+LWY8L0NPREU+Ci08REQ+RGlzYWJsZSBmaWxlIG5hbWUgZ2VuZXJhdGlvbiAoZ2xvYmJpbmcpLgorPEREPkRpc2FibGUgZmlsZW5hbWUgZXhwYW5zaW9uIChnbG9iYmluZykuCiA8UD4KIAogPERUPjxDT0RFPi1oPC9DT0RFPgpAQCAtNTMxNSw4ICs1MzY2LDggQEAKIDxERD5UdXJuIG9uIHByaXZpbGVnZWQgbW9kZS4KIEluIHRoaXMgbW9kZSwgdGhlIDxDT0RFPiRCQVNIX0VOVjwvQ09ERT4gYW5kIDxDT0RFPiRFTlY8L0NPREU+IGZpbGVzIGFyZSBub3QKIHByb2Nlc3NlZCwgc2hlbGwgZnVuY3Rpb25zIGFyZSBub3QgaW5oZXJpdGVkIGZyb20gdGhlIGVudmlyb25tZW50LAotYW5kIHRoZSA8Q09ERT5TSEVMTE9QVFM8L0NPREU+LCA8Q09ERT5DRFBBVEg8L0NPREU+IGFuZCA8Q09ERT5HTE9CSUdOT1JFPC9DT0RFPiAgdmFyaWFibGVzLAotaWYgdGhleSBhcHBlYXIgaW4gdGhlIGVudmlyb25tZW50LCBhcmUgaWdub3JlZC4KK2FuZCB0aGUgPENPREU+U0hFTExPUFRTPC9DT0RFPiwgPENPREU+QkFTSE9QVFM8L0NPREU+LCA8Q09ERT5DRFBBVEg8L0NPREU+IGFuZCA8Q09ERT5HTE9CSUdOT1JFPC9DT0RFPgordmFyaWFibGVzLCBpZiB0aGV5IGFwcGVhciBpbiB0aGUgZW52aXJvbm1lbnQsIGFyZSBpZ25vcmVkLgogSWYgdGhlIHNoZWxsIGlzIHN0YXJ0ZWQgd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgKGdyb3VwKSBpZCBub3QgZXF1YWwgdG8gdGhlCiByZWFsIHVzZXIgKGdyb3VwKSBpZCwgYW5kIHRoZSA8Q09ERT4tcDwvQ09ERT4gb3B0aW9uIGlzIG5vdCBzdXBwbGllZCwgdGhlc2UgYWN0aW9ucwogYXJlIHRha2VuIGFuZCB0aGUgZWZmZWN0aXZlIHVzZXIgaWQgaXMgc2V0IHRvIHRoZSByZWFsIHVzZXIgaWQuCkBAIC01MzMxLDcgKzUzODIsOCBAQAogPFA+CiAKIDxEVD48Q09ERT4tdTwvQ09ERT4KLTxERD5UcmVhdCB1bnNldCB2YXJpYWJsZXMgYXMgYW4gZXJyb3Igd2hlbiBwZXJmb3JtaW5nIHBhcmFtZXRlciBleHBhbnNpb24uCis8REQ+VHJlYXQgdW5zZXQgdmFyaWFibGVzIGFuZCBwYXJhbWV0ZXJzIG90aGVyIHRoYW4gdGhlIHNwZWNpYWwgcGFyYW1ldGVycworPFNBTVA+YEAnPC9TQU1QPiBvciA8U0FNUD5gKic8L1NBTVA+IGFzIGFuIGVycm9yIHdoZW4gcGVyZm9ybWluZyBwYXJhbWV0ZXIgZXhwYW5zaW9uLgogQW4gZXJyb3IgbWVzc2FnZSB3aWxsIGJlIHdyaXR0ZW4gdG8gdGhlIHN0YW5kYXJkIGVycm9yLCBhbmQgYSBub24taW50ZXJhY3RpdmUKIHNoZWxsIHdpbGwgZXhpdC4KIDxQPgpAQCAtNTYzNyw3ICs1Njg5LDcgQEAKIDxQPgogCiA8RFQ+PENPREU+ZmFpbGdsb2I8L0NPREU+Ci08REQ+SWYgc2V0LCBwYXR0ZXJucyB3aGljaCBmYWlsIHRvIG1hdGNoIGZpbGVuYW1lcyBkdXJpbmcgcGF0aG5hbWUgZXhwYW5zaW9uCis8REQ+SWYgc2V0LCBwYXR0ZXJucyB3aGljaCBmYWlsIHRvIG1hdGNoIGZpbGVuYW1lcyBkdXJpbmcgZmlsZW5hbWUgZXhwYW5zaW9uCiByZXN1bHQgaW4gYW4gZXhwYW5zaW9uIGVycm9yLgogPFA+CiAKQEAgLTYwMTEsMTYgKzYwNjMsMjkgQEAKIDxQPgogCiA8QSBOQU1FPSJJRFgxMzQiPjwvQT4KLTxEVD48Q09ERT5CQVNIUElEPC9DT0RFPgorPERUPjxDT0RFPkJBU0hPUFRTPC9DT0RFPgogPEREPjxBIE5BTUU9IklEWDEzNSI+PC9BPgorQSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBlbmFibGVkIHNoZWxsIG9wdGlvbnMuICBFYWNoIHdvcmQgaW4KK3RoZSBsaXN0IGlzIGEgdmFsaWQgYXJndW1lbnQgZm9yIHRoZSA8U0FNUD5gLXMnPC9TQU1QPiBvcHRpb24gdG8gdGhlCis8Q09ERT5zaG9wdDwvQ09ERT4gYnVpbHRpbiBjb21tYW5kIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPikuCitUaGUgb3B0aW9ucyBhcHBlYXJpbmcgaW4gPENPREU+QkFTSE9QVFM8L0NPREU+IGFyZSB0aG9zZSByZXBvcnRlZAorYXMgPFNBTVA+YG9uJzwvU0FNUD4gYnkgPFNBTVA+YHNob3B0JzwvU0FNUD4uCitJZiB0aGlzIHZhcmlhYmxlIGlzIGluIHRoZSBlbnZpcm9ubWVudCB3aGVuIEJhc2gKK3N0YXJ0cyB1cCwgZWFjaCBzaGVsbCBvcHRpb24gaW4gdGhlIGxpc3Qgd2lsbCBiZSBlbmFibGVkIGJlZm9yZQorcmVhZGluZyBhbnkgc3RhcnR1cCBmaWxlcy4gIFRoaXMgdmFyaWFibGUgaXMgcmVhZG9ubHkuCis8UD4KKworPEEgTkFNRT0iSURYMTM2Ij48L0E+Cis8RFQ+PENPREU+QkFTSFBJRDwvQ09ERT4KKzxERD48QSBOQU1FPSJJRFgxMzciPjwvQT4KIEV4cGFuZHMgdG8gdGhlIHByb2Nlc3MgaWQgb2YgdGhlIGN1cnJlbnQgQmFzaCBwcm9jZXNzLgogVGhpcyBkaWZmZXJzIGZyb20gPENPREU+JCQ8L0NPREU+IHVuZGVyIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcywgc3VjaCBhcyBzdWJzaGVsbHMKIHRoYXQgZG8gbm90IHJlcXVpcmUgQmFzaCB0byBiZSByZS1pbml0aWFsaXplZC4KIDxQPgogCi08QSBOQU1FPSJJRFgxMzYiPjwvQT4KKzxBIE5BTUU9IklEWDEzOCI+PC9BPgogPERUPjxDT0RFPkJBU0hfQUxJQVNFUzwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgxMzciPjwvQT4KKzxERD48QSBOQU1FPSJJRFgxMzkiPjwvQT4KIEFuIGFzc29jaWF0aXZlIGFycmF5IHZhcmlhYmxlIHdob3NlIG1lbWJlcnMgY29ycmVzcG9uZCB0byB0aGUgaW50ZXJuYWwKIGxpc3Qgb2YgYWxpYXNlcyBhcyBtYWludGFpbmVkIGJ5IHRoZSA8Q09ERT5hbGlhczwvQ09ERT4gYnVpbHRpbgogKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT4pLgpAQCAtNjAyOCw5ICs2MDkzLDkgQEAKIGVsZW1lbnRzIGNhdXNlIGFsaWFzZXMgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSBhbGlhcyBsaXN0LgogPFA+CiAKLTxBIE5BTUU9IklEWDEzOCI+PC9BPgorPEEgTkFNRT0iSURYMTQwIj48L0E+CiA8RFQ+PENPREU+QkFTSF9BUkdDPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDEzOSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDE0MSI+PC9BPgogQW4gYXJyYXkgdmFyaWFibGUgd2hvc2UgdmFsdWVzIGFyZSB0aGUgbnVtYmVyIG9mIHBhcmFtZXRlcnMgaW4gZWFjaAogZnJhbWUgb2YgdGhlIGN1cnJlbnQgYmFzaCBleGVjdXRpb24gY2FsbCBzdGFjay4gIFRoZSBudW1iZXIgb2YKIHBhcmFtZXRlcnMgdG8gdGhlIGN1cnJlbnQgc3Vicm91dGluZSAoc2hlbGwgZnVuY3Rpb24gb3Igc2NyaXB0IGV4ZWN1dGVkCkBAIC02MDQzLDkgKzYxMDgsOSBAQAogYnVpbHRpbikuCiA8UD4KIAotPEEgTkFNRT0iSURYMTQwIj48L0E+Cis8QSBOQU1FPSJJRFgxNDIiPjwvQT4KIDxEVD48Q09ERT5CQVNIX0FSR1Y8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMTQxIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMTQzIj48L0E+CiBBbiBhcnJheSB2YXJpYWJsZSBjb250YWluaW5nIGFsbCBvZiB0aGUgcGFyYW1ldGVycyBpbiB0aGUgY3VycmVudCBiYXNoCiBleGVjdXRpb24gY2FsbCBzdGFjay4gIFRoZSBmaW5hbCBwYXJhbWV0ZXIgb2YgdGhlIGxhc3Qgc3Vicm91dGluZSBjYWxsCiBpcyBhdCB0aGUgdG9wIG9mIHRoZSBzdGFjazsgdGhlIGZpcnN0IHBhcmFtZXRlciBvZiB0aGUgaW5pdGlhbCBjYWxsIGlzCkBAIC02MDU3LDkgKzYxMjIsOSBAQAogYnVpbHRpbikuCiA8UD4KIAotPEEgTkFNRT0iSURYMTQyIj48L0E+Cis8QSBOQU1FPSJJRFgxNDQiPjwvQT4KIDxEVD48Q09ERT5CQVNIX0NNRFM8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMTQzIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMTQ1Ij48L0E+CiBBbiBhc3NvY2lhdGl2ZSBhcnJheSB2YXJpYWJsZSB3aG9zZSBtZW1iZXJzIGNvcnJlc3BvbmQgdG8gdGhlIGludGVybmFsCiBoYXNoIHRhYmxlIG9mIGNvbW1hbmRzIGFzIG1haW50YWluZWQgYnkgdGhlIDxDT0RFPmhhc2g8L0NPREU+IGJ1aWx0aW4KIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+KS4KQEAgLTYwNjcsMzEgKzYxMzIsMzEgQEAKIGVsZW1lbnRzIGNhdXNlIGNvbW1hbmRzIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgaGFzaCB0YWJsZS4KIDxQPgogCi08QSBOQU1FPSJJRFgxNDQiPjwvQT4KKzxBIE5BTUU9IklEWDE0NiI+PC9BPgogPERUPjxDT0RFPkJBU0hfQ09NTUFORDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgxNDUiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgxNDciPjwvQT4KIFRoZSBjb21tYW5kIGN1cnJlbnRseSBiZWluZyBleGVjdXRlZCBvciBhYm91dCB0byBiZSBleGVjdXRlZCwgdW5sZXNzIHRoZQogc2hlbGwgaXMgZXhlY3V0aW5nIGEgY29tbWFuZCBhcyB0aGUgcmVzdWx0IG9mIGEgdHJhcCwKIGluIHdoaWNoIGNhc2UgaXQgaXMgdGhlIGNvbW1hbmQgZXhlY3V0aW5nIGF0IHRoZSB0aW1lIG9mIHRoZSB0cmFwLgogPFA+CiAKLTxBIE5BTUU9IklEWDE0NiI+PC9BPgorPEEgTkFNRT0iSURYMTQ4Ij48L0E+CiA8RFQ+PENPREU+QkFTSF9FTlY8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMTQ3Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMTQ5Ij48L0E+CiBJZiB0aGlzIHZhcmlhYmxlIGlzIHNldCB3aGVuIEJhc2ggaXMgaW52b2tlZCB0byBleGVjdXRlIGEgc2hlbGwKIHNjcmlwdCwgaXRzIHZhbHVlIGlzIGV4cGFuZGVkIGFuZCB1c2VkIGFzIHRoZSBuYW1lIG9mIGEgc3RhcnR1cCBmaWxlCiB0byByZWFkIGJlZm9yZSBleGVjdXRpbmcgdGhlIHNjcmlwdC4gIFNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3MCI+Ni4yIEJhc2ggU3RhcnR1cCBGaWxlczwvQT4uCiA8UD4KIAotPEEgTkFNRT0iSURYMTQ4Ij48L0E+Cis8QSBOQU1FPSJJRFgxNTAiPjwvQT4KIDxEVD48Q09ERT5CQVNIX0VYRUNVVElPTl9TVFJJTkc8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMTQ5Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMTUxIj48L0E+CiBUaGUgY29tbWFuZCBhcmd1bWVudCB0byB0aGUgPFNBTVA+YC1jJzwvU0FNUD4gaW52b2NhdGlvbiBvcHRpb24uCiA8UD4KIAotPEEgTkFNRT0iSURYMTUwIj48L0E+Cis8QSBOQU1FPSJJRFgxNTIiPjwvQT4KIDxEVD48Q09ERT5CQVNIX0xJTkVOTzwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgxNTEiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgxNTMiPjwvQT4KIEFuIGFycmF5IHZhcmlhYmxlIHdob3NlIG1lbWJlcnMgYXJlIHRoZSBsaW5lIG51bWJlcnMgaW4gc291cmNlIGZpbGVzCiBjb3JyZXNwb25kaW5nIHRvIGVhY2ggbWVtYmVyIG9mIDxWQVI+RlVOQ05BTUU8L1ZBUj4uCiA8Q09ERT4ke0JBU0hfTElORU5PWyRpXX08L0NPREU+IGlzIHRoZSBsaW5lIG51bWJlciBpbiB0aGUgc291cmNlIGZpbGUgd2hlcmUKQEAgLTYxMDEsOSArNjE2Niw5IEBACiBVc2UgPENPREU+TElORU5PPC9DT0RFPiB0byBvYnRhaW4gdGhlIGN1cnJlbnQgbGluZSBudW1iZXIuCiA8UD4KIAotPEEgTkFNRT0iSURYMTUyIj48L0E+Cis8QSBOQU1FPSJJRFgxNTQiPjwvQT4KIDxEVD48Q09ERT5CQVNIX1JFTUFUQ0g8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMTUzIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMTU1Ij48L0E+CiBBbiBhcnJheSB2YXJpYWJsZSB3aG9zZSBtZW1iZXJzIGFyZSBhc3NpZ25lZCBieSB0aGUgPFNBTVA+YD1+JzwvU0FNUD4gYmluYXJ5CiBvcGVyYXRvciB0byB0aGUgPENPREU+W1s8L0NPREU+IGNvbmRpdGlvbmFsIGNvbW1hbmQKIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjEiPjMuMi40LjIgQ29uZGl0aW9uYWwgQ29uc3RydWN0czwvQT4pLgpAQCAtNjExNCwyMyArNjE3OSwyMyBAQAogVGhpcyB2YXJpYWJsZSBpcyByZWFkLW9ubHkuCiA8UD4KIAotPEEgTkFNRT0iSURYMTU0Ij48L0E+Cis8QSBOQU1FPSJJRFgxNTYiPjwvQT4KIDxEVD48Q09ERT5CQVNIX1NPVVJDRTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgxNTUiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgxNTciPjwvQT4KIEFuIGFycmF5IHZhcmlhYmxlIHdob3NlIG1lbWJlcnMgYXJlIHRoZSBzb3VyY2UgZmlsZW5hbWVzIGNvcnJlc3BvbmRpbmcKIHRvIHRoZSBlbGVtZW50cyBpbiB0aGUgPENPREU+RlVOQ05BTUU8L0NPREU+IGFycmF5IHZhcmlhYmxlLgogPFA+CiAKLTxBIE5BTUU9IklEWDE1NiI+PC9BPgorPEEgTkFNRT0iSURYMTU4Ij48L0E+CiA8RFQ+PENPREU+QkFTSF9TVUJTSEVMTDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgxNTciPjwvQT4KKzxERD48QSBOQU1FPSJJRFgxNTkiPjwvQT4KIEluY3JlbWVudGVkIGJ5IG9uZSBlYWNoIHRpbWUgYSBzdWJzaGVsbCBvciBzdWJzaGVsbCBlbnZpcm9ubWVudCBpcyBzcGF3bmVkLgogVGhlIGluaXRpYWwgdmFsdWUgaXMgMC4KIDxQPgogCi08QSBOQU1FPSJJRFgxNTgiPjwvQT4KKzxBIE5BTUU9IklEWDE2MCI+PC9BPgogPERUPjxDT0RFPkJBU0hfVkVSU0lORk88L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMTU5Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMTYxIj48L0E+CiBBIHJlYWRvbmx5IGFycmF5IHZhcmlhYmxlIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODUiPjYuNyBBcnJheXM8L0E+KQogd2hvc2UgbWVtYmVycyBob2xkIHZlcnNpb24gaW5mb3JtYXRpb24gZm9yIHRoaXMgaW5zdGFuY2Ugb2YgQmFzaC4KIFRoZSB2YWx1ZXMgYXNzaWduZWQgdG8gdGhlIGFycmF5IG1lbWJlcnMgYXJlIGFzIGZvbGxvd3M6CkBAIC02MTY1LDQxICs2MjMwLDU4IEBACiA8L0RMPgogPFA+CiAKLTxBIE5BTUU9IklEWDE2MCI+PC9BPgorPEEgTkFNRT0iSURYMTYyIj48L0E+CiA8RFQ+PENPREU+QkFTSF9WRVJTSU9OPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDE2MSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDE2MyI+PC9BPgogVGhlIHZlcnNpb24gbnVtYmVyIG9mIHRoZSBjdXJyZW50IGluc3RhbmNlIG9mIEJhc2guCiA8UD4KIAotPEEgTkFNRT0iSURYMTYyIj48L0E+Cis8QSBOQU1FPSJJRFgxNjQiPjwvQT4KKzxEVD48Q09ERT5CQVNIX1hUUkFDRUZEPC9DT0RFPgorPEREPjxBIE5BTUU9IklEWDE2NSI+PC9BPgorSWYgc2V0IHRvIGFuIGludGVnZXIgY29ycmVzcG9uZGluZyB0byBhIHZhbGlkIGZpbGUgZGVzY3JpcHRvciwgQmFzaAord2lsbCB3cml0ZSB0aGUgdHJhY2Ugb3V0cHV0IGdlbmVyYXRlZCB3aGVuIDxTQU1QPmBzZXQgLXgnPC9TQU1QPgoraXMgZW5hYmxlZCB0byB0aGF0IGZpbGUgZGVzY3JpcHRvci4KK1RoaXMgYWxsb3dzIHRyYWNpbmcgb3V0cHV0IHRvIGJlIHNlcGFyYXRlZCBmcm9tIGRpYWdub3N0aWMgYW5kIGVycm9yCittZXNzYWdlcy4KK1RoZSBmaWxlIGRlc2NyaXB0b3IgaXMgY2xvc2VkIHdoZW4gPENPREU+QkFTSF9YVFJBQ0VGRDwvQ09ERT4gaXMgdW5zZXQgb3IgYXNzaWduZWQKK2EgbmV3IHZhbHVlLgorVW5zZXR0aW5nIDxDT0RFPkJBU0hfWFRSQUNFRkQ8L0NPREU+IG9yIGFzc2lnbmluZyBpdCB0aGUgZW1wdHkgc3RyaW5nIGNhdXNlcyB0aGUKK3RyYWNlIG91dHB1dCB0byBiZSBzZW50IHRvIHRoZSBzdGFuZGFyZCBlcnJvci4KK05vdGUgdGhhdCBzZXR0aW5nIDxDT0RFPkJBU0hfWFRSQUNFRkQ8L0NPREU+IHRvIDIgKHRoZSBzdGFuZGFyZCBlcnJvciBmaWxlCitkZXNjcmlwdG9yKSBhbmQgdGhlbiB1bnNldHRpbmcgaXQgd2lsbCByZXN1bHQgaW4gdGhlIHN0YW5kYXJkIGVycm9yCitiZWluZyBjbG9zZWQuCis8UD4KKworPEEgTkFNRT0iSURYMTY2Ij48L0E+CiA8RFQ+PENPREU+Q09MVU1OUzwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgxNjMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgxNjciPjwvQT4KIFVzZWQgYnkgdGhlIDxDT0RFPnNlbGVjdDwvQ09ERT4gYnVpbHRpbiBjb21tYW5kIHRvIGRldGVybWluZSB0aGUgdGVybWluYWwgd2lkdGgKIHdoZW4gcHJpbnRpbmcgc2VsZWN0aW9uIGxpc3RzLiAgQXV0b21hdGljYWxseSBzZXQgdXBvbiByZWNlaXB0IG9mIGEKIDxDT0RFPlNJR1dJTkNIPC9DT0RFPi4KIDxQPgogCi08QSBOQU1FPSJJRFgxNjQiPjwvQT4KKzxBIE5BTUU9IklEWDE2OCI+PC9BPgogPERUPjxDT0RFPkNPTVBfQ1dPUkQ8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMTY1Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMTY5Ij48L0E+CiBBbiBpbmRleCBpbnRvIDxDT0RFPiR7Q09NUF9XT1JEU308L0NPREU+IG9mIHRoZSB3b3JkIGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQKIGN1cnNvciBwb3NpdGlvbi4KIFRoaXMgdmFyaWFibGUgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc2hlbGwgZnVuY3Rpb25zIGludm9rZWQgYnkgdGhlCiBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmYWNpbGl0aWVzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE3Ij44LjYgUHJvZ3JhbW1hYmxlIENvbXBsZXRpb248L0E+KS4KIDxQPgogCi08QSBOQU1FPSJJRFgxNjYiPjwvQT4KKzxBIE5BTUU9IklEWDE3MCI+PC9BPgogPERUPjxDT0RFPkNPTVBfTElORTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgxNjciPjwvQT4KKzxERD48QSBOQU1FPSJJRFgxNzEiPjwvQT4KIFRoZSBjdXJyZW50IGNvbW1hbmQgbGluZS4KIFRoaXMgdmFyaWFibGUgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc2hlbGwgZnVuY3Rpb25zIGFuZCBleHRlcm5hbAogY29tbWFuZHMgaW52b2tlZCBieSB0aGUKIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGZhY2lsaXRpZXMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTciPjguNiBQcm9ncmFtbWFibGUgQ29tcGxldGlvbjwvQT4pLgogPFA+CiAKLTxBIE5BTUU9IklEWDE2OCI+PC9BPgorPEEgTkFNRT0iSURYMTcyIj48L0E+CiA8RFQ+PENPREU+Q09NUF9QT0lOVDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgxNjkiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgxNzMiPjwvQT4KIFRoZSBpbmRleCBvZiB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIGJlZ2lubmluZyBvZgogdGhlIGN1cnJlbnQgY29tbWFuZC4KIElmIHRoZSBjdXJyZW50IGN1cnNvciBwb3NpdGlvbiBpcyBhdCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IGNvbW1hbmQsCkBAIC02MjA5LDkgKzYyOTEsOSBAQAogcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZmFjaWxpdGllcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNyI+OC42IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uPC9BPikuCiA8UD4KIAotPEEgTkFNRT0iSURYMTcwIj48L0E+Cis8QSBOQU1FPSJJRFgxNzQiPjwvQT4KIDxEVD48Q09ERT5DT01QX1RZUEU8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMTcxIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMTc1Ij48L0E+CiBTZXQgdG8gYW4gaW50ZWdlciB2YWx1ZSBjb3JyZXNwb25kaW5nIHRvIHRoZSB0eXBlIG9mIGNvbXBsZXRpb24gYXR0ZW1wdGVkCiB0aGF0IGNhdXNlZCBhIGNvbXBsZXRpb24gZnVuY3Rpb24gdG8gYmUgY2FsbGVkOgogPFZBUj5UQUI8L1ZBUj4sIGZvciBub3JtYWwgY29tcGxldGlvbiwKQEAgLTYyMjUsNDQgKzYzMDcsNDQgQEAKIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGZhY2lsaXRpZXMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTciPjguNiBQcm9ncmFtbWFibGUgQ29tcGxldGlvbjwvQT4pLgogPFA+CiAKLTxBIE5BTUU9IklEWDE3MiI+PC9BPgorPEEgTkFNRT0iSURYMTc2Ij48L0E+CiA8RFQ+PENPREU+Q09NUF9LRVk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMTczIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMTc3Ij48L0E+CiBUaGUga2V5IChvciBmaW5hbCBrZXkgb2YgYSBrZXkgc2VxdWVuY2UpIHVzZWQgdG8gaW52b2tlIHRoZSBjdXJyZW50CiBjb21wbGV0aW9uIGZ1bmN0aW9uLgogPFA+CiAKLTxBIE5BTUU9IklEWDE3NCI+PC9BPgorPEEgTkFNRT0iSURYMTc4Ij48L0E+CiA8RFQ+PENPREU+Q09NUF9XT1JEQlJFQUtTPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDE3NSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDE3OSI+PC9BPgogVGhlIHNldCBvZiBjaGFyYWN0ZXJzIHRoYXQgdGhlIFJlYWRsaW5lIGxpYnJhcnkgdHJlYXRzIGFzIHdvcmQKIHNlcGFyYXRvcnMgd2hlbiBwZXJmb3JtaW5nIHdvcmQgY29tcGxldGlvbi4KIElmIDxDT0RFPkNPTVBfV09SREJSRUFLUzwvQ09ERT4gaXMgdW5zZXQsIGl0IGxvc2VzIGl0cyBzcGVjaWFsIHByb3BlcnRpZXMsCiBldmVuIGlmIGl0IGlzIHN1YnNlcXVlbnRseSByZXNldC4KIDxQPgogCi08QSBOQU1FPSJJRFgxNzYiPjwvQT4KKzxBIE5BTUU9IklEWDE4MCI+PC9BPgogPERUPjxDT0RFPkNPTVBfV09SRFM8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMTc3Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMTgxIj48L0E+CiBBbiBhcnJheSB2YXJpYWJsZSBjb25zaXN0aW5nIG9mIHRoZSBpbmRpdmlkdWFsCiB3b3JkcyBpbiB0aGUgY3VycmVudCBjb21tYW5kIGxpbmUuCi1UaGUgd29yZHMgYXJlIHNwbGl0IG9uIHNoZWxsIG1ldGFjaGFyYWN0ZXJzIGFzIHRoZSBzaGVsbCBwYXJzZXIgd291bGQKLXNlcGFyYXRlIHRoZW0uCitUaGUgbGluZSBpcyBzcGxpdCBpbnRvIHdvcmRzIGFzIFJlYWRsaW5lIHdvdWxkIHNwbGl0IGl0LCB1c2luZworPENPREU+Q09NUF9XT1JEQlJFQUtTPC9DT0RFPiBhcyBkZXNjcmliZWQgYWJvdmUuCiBUaGlzIHZhcmlhYmxlIGlzIGF2YWlsYWJsZSBvbmx5IGluIHNoZWxsIGZ1bmN0aW9ucyBpbnZva2VkIGJ5IHRoZQogcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZmFjaWxpdGllcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNyI+OC42IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uPC9BPikuCiA8UD4KIAotPEEgTkFNRT0iSURYMTc4Ij48L0E+Cis8QSBOQU1FPSJJRFgxODIiPjwvQT4KIDxEVD48Q09ERT5DT01QUkVQTFk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMTc5Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMTgzIj48L0E+CiBBbiBhcnJheSB2YXJpYWJsZSBmcm9tIHdoaWNoIEJhc2ggcmVhZHMgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zCiBnZW5lcmF0ZWQgYnkgYSBzaGVsbCBmdW5jdGlvbiBpbnZva2VkIGJ5IHRoZSBwcm9ncmFtbWFibGUgY29tcGxldGlvbgogZmFjaWxpdHkgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTciPjguNiBQcm9ncmFtbWFibGUgQ29tcGxldGlvbjwvQT4pLgogPFA+CiAKLTxBIE5BTUU9IklEWDE4MCI+PC9BPgorPEEgTkFNRT0iSURYMTg0Ij48L0E+CiA8RFQ+PENPREU+RElSU1RBQ0s8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMTgxIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMTg1Ij48L0E+CiBBbiBhcnJheSB2YXJpYWJsZSBjb250YWluaW5nIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mIHRoZSBkaXJlY3Rvcnkgc3RhY2suCiBEaXJlY3RvcmllcyBhcHBlYXIgaW4gdGhlIHN0YWNrIGluIHRoZSBvcmRlciB0aGV5IGFyZSBkaXNwbGF5ZWQgYnkgdGhlCiA8Q09ERT5kaXJzPC9DT0RFPiBidWlsdGluLgpAQCAtNjI3NCwzMSArNjM1NiwzMSBAQAogaXQgaXMgc3Vic2VxdWVudGx5IHJlc2V0LgogPFA+CiAKLTxBIE5BTUU9IklEWDE4MiI+PC9BPgorPEEgTkFNRT0iSURYMTg2Ij48L0E+CiA8RFQ+PENPREU+RU1BQ1M8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMTgzIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMTg3Ij48L0E+CiBJZiBCYXNoIGZpbmRzIHRoaXMgdmFyaWFibGUgaW4gdGhlIGVudmlyb25tZW50IHdoZW4gdGhlIHNoZWxsCiBzdGFydHMgd2l0aCB2YWx1ZSA8U0FNUD5gdCc8L1NBTVA+LCBpdCBhc3N1bWVzIHRoYXQgdGhlIHNoZWxsIGlzIHJ1bm5pbmcgaW4gYW4KIGVtYWNzIHNoZWxsIGJ1ZmZlciBhbmQgZGlzYWJsZXMgbGluZSBlZGl0aW5nLgogPFA+CiAKLTxBIE5BTUU9IklEWDE4NCI+PC9BPgorPEEgTkFNRT0iSURYMTg4Ij48L0E+CiA8RFQ+PENPREU+RVVJRDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgxODUiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgxODkiPjwvQT4KIFRoZSBudW1lcmljIGVmZmVjdGl2ZSB1c2VyIGlkIG9mIHRoZSBjdXJyZW50IHVzZXIuICBUaGlzIHZhcmlhYmxlCiBpcyByZWFkb25seS4KIDxQPgogCi08QSBOQU1FPSJJRFgxODYiPjwvQT4KKzxBIE5BTUU9IklEWDE5MCI+PC9BPgogPERUPjxDT0RFPkZDRURJVDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgxODciPjwvQT4KKzxERD48QSBOQU1FPSJJRFgxOTEiPjwvQT4KIFRoZSBlZGl0b3IgdXNlZCBhcyBhIGRlZmF1bHQgYnkgdGhlIDxTQU1QPmAtZSc8L1NBTVA+IG9wdGlvbiB0byB0aGUgPENPREU+ZmM8L0NPREU+CiBidWlsdGluIGNvbW1hbmQuCiA8UD4KIAotPEEgTkFNRT0iSURYMTg4Ij48L0E+Cis8QSBOQU1FPSJJRFgxOTIiPjwvQT4KIDxEVD48Q09ERT5GSUdOT1JFPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDE4OSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDE5MyI+PC9BPgogQSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBzdWZmaXhlcyB0byBpZ25vcmUgd2hlbiBwZXJmb3JtaW5nCiBmaWxlbmFtZSBjb21wbGV0aW9uLgogQSBmaWxlIG5hbWUgd2hvc2Ugc3VmZml4IG1hdGNoZXMgb25lIG9mIHRoZSBlbnRyaWVzIGluIApAQCAtNjMwNyw5ICs2Mzg5LDkgQEAKIHZhbHVlIGlzIDxTQU1QPmAubzp+JzwvU0FNUD4KIDxQPgogCi08QSBOQU1FPSJJRFgxOTAiPjwvQT4KKzxBIE5BTUU9IklEWDE5NCI+PC9BPgogPERUPjxDT0RFPkZVTkNOQU1FPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDE5MSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDE5NSI+PC9BPgogQW4gYXJyYXkgdmFyaWFibGUgY29udGFpbmluZyB0aGUgbmFtZXMgb2YgYWxsIHNoZWxsIGZ1bmN0aW9ucwogY3VycmVudGx5IGluIHRoZSBleGVjdXRpb24gY2FsbCBzdGFjay4KIFRoZSBlbGVtZW50IHdpdGggaW5kZXggMCBpcyB0aGUgbmFtZSBvZiBhbnkgY3VycmVudGx5LWV4ZWN1dGluZwpAQCAtNjMyMSw5ICs2NDAzLDkgQEAKIGl0IGlzIHN1YnNlcXVlbnRseSByZXNldC4KIDxQPgogCi08QSBOQU1FPSJJRFgxOTIiPjwvQT4KKzxBIE5BTUU9IklEWDE5NiI+PC9BPgogPERUPjxDT0RFPkdMT0JJR05PUkU8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMTkzIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMTk3Ij48L0E+CiBBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIHBhdHRlcm5zIGRlZmluaW5nIHRoZSBzZXQgb2YgZmlsZW5hbWVzIHRvCiBiZSBpZ25vcmVkIGJ5IGZpbGVuYW1lIGV4cGFuc2lvbi4KIElmIGEgZmlsZW5hbWUgbWF0Y2hlZCBieSBhIGZpbGVuYW1lIGV4cGFuc2lvbiBwYXR0ZXJuIGFsc28gbWF0Y2hlcyBvbmUKQEAgLTYzMzEsOSArNjQxMyw5IEBACiBvZiBtYXRjaGVzLgogPFA+CiAKLTxBIE5BTUU9IklEWDE5NCI+PC9BPgorPEEgTkFNRT0iSURYMTk4Ij48L0E+CiA8RFQ+PENPREU+R1JPVVBTPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDE5NSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDE5OSI+PC9BPgogQW4gYXJyYXkgdmFyaWFibGUgY29udGFpbmluZyB0aGUgbGlzdCBvZiBncm91cHMgb2Ygd2hpY2ggdGhlIGN1cnJlbnQgICAgCiB1c2VyIGlzIGEgbWVtYmVyLgogQXNzaWdubWVudHMgdG8gPENPREU+R1JPVVBTPC9DT0RFPiBoYXZlIG5vIGVmZmVjdCBhbmQgcmV0dXJuIGFuIGVycm9yIHN0YXR1cy4KQEAgLTYzNDEsOSArNjQyMyw5IEBACiBzdWJzZXF1ZW50bHkgcmVzZXQuCiA8UD4KIAotPEEgTkFNRT0iSURYMTk2Ij48L0E+Cis8QSBOQU1FPSJJRFgyMDAiPjwvQT4KIDxEVD48Q09ERT5oaXN0Y2hhcnM8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMTk3Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjAxIj48L0E+CiBVcCB0byB0aHJlZSBjaGFyYWN0ZXJzIHdoaWNoIGNvbnRyb2wgaGlzdG9yeSBleHBhbnNpb24sIHF1aWNrCiBzdWJzdGl0dXRpb24sIGFuZCB0b2tlbml6YXRpb24gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjIiPjkuMyBIaXN0b3J5IEV4cGFuc2lvbjwvQT4pLgogVGhlIGZpcnN0IGNoYXJhY3RlciBpcyB0aGUKQEAgLTYzNTgsMTcgKzY0NDAsMTcgQEAKIHBhcnNlciB0byB0cmVhdCB0aGUgcmVzdCBvZiB0aGUgbGluZSBhcyBhIGNvbW1lbnQuCiA8UD4KIAotPEEgTkFNRT0iSURYMTk4Ij48L0E+Cis8QSBOQU1FPSJJRFgyMDIiPjwvQT4KIDxEVD48Q09ERT5ISVNUQ01EPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDE5OSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDIwMyI+PC9BPgogVGhlIGhpc3RvcnkgbnVtYmVyLCBvciBpbmRleCBpbiB0aGUgaGlzdG9yeSBsaXN0LCBvZiB0aGUgY3VycmVudAogY29tbWFuZC4gIElmIDxDT0RFPkhJU1RDTUQ8L0NPREU+IGlzIHVuc2V0LCBpdCBsb3NlcyBpdHMgc3BlY2lhbCBwcm9wZXJ0aWVzLAogZXZlbiBpZiBpdCBpcyBzdWJzZXF1ZW50bHkgcmVzZXQuCiA8UD4KIAotPEEgTkFNRT0iSURYMjAwIj48L0E+Cis8QSBOQU1FPSJJRFgyMDQiPjwvQT4KIDxEVD48Q09ERT5ISVNUQ09OVFJPTDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyMDEiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyMDUiPjwvQT4KIEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgdmFsdWVzIGNvbnRyb2xsaW5nIGhvdyBjb21tYW5kcyBhcmUgc2F2ZWQgb24KIHRoZSBoaXN0b3J5IGxpc3QuCiBJZiB0aGUgbGlzdCBvZiB2YWx1ZXMgaW5jbHVkZXMgPFNBTVA+YGlnbm9yZXNwYWNlJzwvU0FNUD4sIGxpbmVzIHdoaWNoIGJlZ2luCkBAIC02Mzg5LDE2ICs2NDcxLDE2IEBACiA8Q09ERT5ISVNUQ09OVFJPTDwvQ09ERT4uCiA8UD4KIAotPEEgTkFNRT0iSURYMjAyIj48L0E+Cis8QSBOQU1FPSJJRFgyMDYiPjwvQT4KIDxEVD48Q09ERT5ISVNURklMRTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyMDMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyMDciPjwvQT4KIFRoZSBuYW1lIG9mIHRoZSBmaWxlIHRvIHdoaWNoIHRoZSBjb21tYW5kIGhpc3RvcnkgaXMgc2F2ZWQuICBUaGUKIGRlZmF1bHQgdmFsdWUgaXMgPFRUPmB+Ly5iYXNoX2hpc3RvcnknPC9UVD4uCiA8UD4KIAotPEEgTkFNRT0iSURYMjA0Ij48L0E+Cis8QSBOQU1FPSJJRFgyMDgiPjwvQT4KIDxEVD48Q09ERT5ISVNURklMRVNJWkU8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjA1Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjA5Ij48L0E+CiBUaGUgbWF4aW11bSBudW1iZXIgb2YgbGluZXMgY29udGFpbmVkIGluIHRoZSBoaXN0b3J5IGZpbGUuICBXaGVuIHRoaXMKIHZhcmlhYmxlIGlzIGFzc2lnbmVkIGEgdmFsdWUsIHRoZSBoaXN0b3J5IGZpbGUgaXMgdHJ1bmNhdGVkLCBpZgogbmVjZXNzYXJ5LCBieSByZW1vdmluZyB0aGUgb2xkZXN0IGVudHJpZXMsCkBAIC02NDA4LDkgKzY0OTAsOSBAQAogVGhlIGRlZmF1bHQgdmFsdWUgaXMgNTAwLgogPFA+CiAKLTxBIE5BTUU9IklEWDIwNiI+PC9BPgorPEEgTkFNRT0iSURYMjEwIj48L0E+CiA8RFQ+PENPREU+SElTVElHTk9SRTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyMDciPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyMTEiPjwvQT4KIEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgcGF0dGVybnMgdXNlZCB0byBkZWNpZGUgd2hpY2ggY29tbWFuZAogbGluZXMgc2hvdWxkIGJlIHNhdmVkIG9uIHRoZSBoaXN0b3J5IGxpc3QuICBFYWNoIHBhdHRlcm4gaXMKIGFuY2hvcmVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpbmUgYW5kIG11c3QgbWF0Y2ggdGhlIGNvbXBsZXRlCkBAIC02NDMyLDE2ICs2NTE0LDE2IEBACiBwcm92aWRlcyB0aGUgZnVuY3Rpb25hbGl0eSBvZiA8Q09ERT5pZ25vcmVib3RoPC9DT0RFPi4gCiA8L1A+PFA+CiAKLTxBIE5BTUU9IklEWDIwOCI+PC9BPgorPEEgTkFNRT0iSURYMjEyIj48L0E+CiA8RFQ+PENPREU+SElTVFNJWkU8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjA5Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjEzIj48L0E+CiBUaGUgbWF4aW11bSBudW1iZXIgb2YgY29tbWFuZHMgdG8gcmVtZW1iZXIgb24gdGhlIGhpc3RvcnkgbGlzdC4KIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDUwMC4KIDxQPgogCi08QSBOQU1FPSJJRFgyMTAiPjwvQT4KKzxBIE5BTUU9IklEWDIxNCI+PC9BPgogPERUPjxDT0RFPkhJU1RUSU1FRk9STUFUPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDIxMSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDIxNSI+PC9BPgogSWYgdGhpcyB2YXJpYWJsZSBpcyBzZXQgYW5kIG5vdCBudWxsLCBpdHMgdmFsdWUgaXMgdXNlZCBhcyBhIGZvcm1hdCBzdHJpbmcKIGZvciA8VkFSPnN0cmZ0aW1lPC9WQVI+IHRvIHByaW50IHRoZSB0aW1lIHN0YW1wIGFzc29jaWF0ZWQgd2l0aCBlYWNoIGhpc3RvcnkKIGVudHJ5IGRpc3BsYXllZCBieSB0aGUgPENPREU+aGlzdG9yeTwvQ09ERT4gYnVpbHRpbi4KQEAgLTY0NTEsOSArNjUzMyw5IEBACiBvdGhlciBoaXN0b3J5IGxpbmVzLgogPFA+CiAKLTxBIE5BTUU9IklEWDIxMiI+PC9BPgorPEEgTkFNRT0iSURYMjE2Ij48L0E+CiA8RFQ+PENPREU+SE9TVEZJTEU8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjEzIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjE3Ij48L0E+CiBDb250YWlucyB0aGUgbmFtZSBvZiBhIGZpbGUgaW4gdGhlIHNhbWUgZm9ybWF0IGFzIDxUVD5gL2V0Yy9ob3N0cyc8L1RUPiB0aGF0CiBzaG91bGQgYmUgcmVhZCB3aGVuIHRoZSBzaGVsbCBuZWVkcyB0byBjb21wbGV0ZSBhIGhvc3RuYW1lLgogVGhlIGxpc3Qgb2YgcG9zc2libGUgaG9zdG5hbWUgY29tcGxldGlvbnMgbWF5IGJlIGNoYW5nZWQgd2hpbGUgdGhlIHNoZWxsCkBAIC02NDYxLDI2ICs2NTQzLDI3IEBACiB0aGUgbmV4dCB0aW1lIGhvc3RuYW1lIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkIGFmdGVyIHRoZQogdmFsdWUgaXMgY2hhbmdlZCwgQmFzaCBhZGRzIHRoZSBjb250ZW50cyBvZiB0aGUgbmV3IGZpbGUgdG8gdGhlCiBleGlzdGluZyBsaXN0LgotSWYgPENPREU+SE9TVEZJTEU8L0NPREU+IGlzIHNldCwgYnV0IGhhcyBubyB2YWx1ZSwgQmFzaCBhdHRlbXB0cyB0byByZWFkIAorSWYgPENPREU+SE9TVEZJTEU8L0NPREU+IGlzIHNldCwgYnV0IGhhcyBubyB2YWx1ZSwgb3IgZG9lcyBub3QgbmFtZSBhIHJlYWRhYmxlIGZpbGUsCitCYXNoIGF0dGVtcHRzIHRvIHJlYWQgCiA8VFQ+YC9ldGMvaG9zdHMnPC9UVD4gdG8gb2J0YWluIHRoZSBsaXN0IG9mIHBvc3NpYmxlIGhvc3RuYW1lIGNvbXBsZXRpb25zLgogV2hlbiA8Q09ERT5IT1NURklMRTwvQ09ERT4gaXMgdW5zZXQsIHRoZSBob3N0bmFtZSBsaXN0IGlzIGNsZWFyZWQuCiA8UD4KIAotPEEgTkFNRT0iSURYMjE0Ij48L0E+Cis8QSBOQU1FPSJJRFgyMTgiPjwvQT4KIDxEVD48Q09ERT5IT1NUTkFNRTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyMTUiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyMTkiPjwvQT4KIFRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IGhvc3QuCiA8UD4KIAotPEEgTkFNRT0iSURYMjE2Ij48L0E+Cis8QSBOQU1FPSJJRFgyMjAiPjwvQT4KIDxEVD48Q09ERT5IT1NUVFlQRTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyMTciPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyMjEiPjwvQT4KIEEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIG1hY2hpbmUgQmFzaCBpcyBydW5uaW5nIG9uLgogPFA+CiAKLTxBIE5BTUU9IklEWDIxOCI+PC9BPgorPEEgTkFNRT0iSURYMjIyIj48L0E+CiA8RFQ+PENPREU+SUdOT1JFRU9GPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDIxOSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDIyMyI+PC9BPgogQ29udHJvbHMgdGhlIGFjdGlvbiBvZiB0aGUgc2hlbGwgb24gcmVjZWlwdCBvZiBhbiA8Q09ERT5FT0Y8L0NPREU+IGNoYXJhY3RlcgogYXMgdGhlIHNvbGUgaW5wdXQuICBJZiBzZXQsIHRoZSB2YWx1ZSBkZW5vdGVzIHRoZSBudW1iZXIKIG9mIGNvbnNlY3V0aXZlIDxDT0RFPkVPRjwvQ09ERT4gY2hhcmFjdGVycyB0aGF0IGNhbiBiZSByZWFkIGFzIHRoZQpAQCAtNjQ5MSwzMCArNjU3NCwzMCBAQAogaW5wdXQgdG8gdGhlIHNoZWxsLiAgVGhpcyBpcyBvbmx5IGluIGVmZmVjdCBmb3IgaW50ZXJhY3RpdmUgc2hlbGxzLgogPFA+CiAKLTxBIE5BTUU9IklEWDIyMCI+PC9BPgorPEEgTkFNRT0iSURYMjI0Ij48L0E+CiA8RFQ+PENPREU+SU5QVVRSQzwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyMjEiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyMjUiPjwvQT4KIFRoZSBuYW1lIG9mIHRoZSBSZWFkbGluZSBpbml0aWFsaXphdGlvbiBmaWxlLCBvdmVycmlkaW5nIHRoZSBkZWZhdWx0CiBvZiA8VFQ+YH4vLmlucHV0cmMnPC9UVD4uCiA8UD4KIAotPEEgTkFNRT0iSURYMjIyIj48L0E+Cis8QSBOQU1FPSJJRFgyMjYiPjwvQT4KIDxEVD48Q09ERT5MQU5HPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDIyMyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDIyNyI+PC9BPgogVXNlZCB0byBkZXRlcm1pbmUgdGhlIGxvY2FsZSBjYXRlZ29yeSBmb3IgYW55IGNhdGVnb3J5IG5vdCBzcGVjaWZpY2FsbHkKIHNlbGVjdGVkIHdpdGggYSB2YXJpYWJsZSBzdGFydGluZyB3aXRoIDxDT0RFPkxDXzwvQ09ERT4uCiA8UD4KIAotPEEgTkFNRT0iSURYMjI0Ij48L0E+Cis8QSBOQU1FPSJJRFgyMjgiPjwvQT4KIDxEVD48Q09ERT5MQ19BTEw8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjI1Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjI5Ij48L0E+CiBUaGlzIHZhcmlhYmxlIG92ZXJyaWRlcyB0aGUgdmFsdWUgb2YgPENPREU+TEFORzwvQ09ERT4gYW5kIGFueSBvdGhlcgogPENPREU+TENfPC9DT0RFPiB2YXJpYWJsZSBzcGVjaWZ5aW5nIGEgbG9jYWxlIGNhdGVnb3J5LgogPFA+CiAKLTxBIE5BTUU9IklEWDIyNiI+PC9BPgorPEEgTkFNRT0iSURYMjMwIj48L0E+CiA8RFQ+PENPREU+TENfQ09MTEFURTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyMjciPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyMzEiPjwvQT4KIFRoaXMgdmFyaWFibGUgZGV0ZXJtaW5lcyB0aGUgY29sbGF0aW9uIG9yZGVyIHVzZWQgd2hlbiBzb3J0aW5nIHRoZQogcmVzdWx0cyBvZiBmaWxlbmFtZSBleHBhbnNpb24sIGFuZAogZGV0ZXJtaW5lcyB0aGUgYmVoYXZpb3Igb2YgcmFuZ2UgZXhwcmVzc2lvbnMsIGVxdWl2YWxlbmNlIGNsYXNzZXMsCkBAIC02NTIyLDUxICs2NjA1LDUxIEBACiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM2Ij4zLjUuOCBGaWxlbmFtZSBFeHBhbnNpb248L0E+KS4KIDxQPgogCi08QSBOQU1FPSJJRFgyMjgiPjwvQT4KKzxBIE5BTUU9IklEWDIzMiI+PC9BPgogPERUPjxDT0RFPkxDX0NUWVBFPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDIyOSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDIzMyI+PC9BPgogVGhpcyB2YXJpYWJsZSBkZXRlcm1pbmVzIHRoZSBpbnRlcnByZXRhdGlvbiBvZiBjaGFyYWN0ZXJzIGFuZCB0aGUKIGJlaGF2aW9yIG9mIGNoYXJhY3RlciBjbGFzc2VzIHdpdGhpbiBmaWxlbmFtZSBleHBhbnNpb24gYW5kIHBhdHRlcm4KIG1hdGNoaW5nIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzYiPjMuNS44IEZpbGVuYW1lIEV4cGFuc2lvbjwvQT4pLgogPFA+CiAKLTxBIE5BTUU9IklEWDIzMCI+PC9BPgorPEEgTkFNRT0iSURYMjM0Ij48L0E+CiA8RFQ+PENPREU+TENfTUVTU0FHRVM8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjMxIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjM1Ij48L0E+CiBUaGlzIHZhcmlhYmxlIGRldGVybWluZXMgdGhlIGxvY2FsZSB1c2VkIHRvIHRyYW5zbGF0ZSBkb3VibGUtcXVvdGVkCiBzdHJpbmdzIHByZWNlZGVkIGJ5IGEgPFNBTVA+YCQnPC9TQU1QPiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzIj4zLjEuMi41IExvY2FsZS1TcGVjaWZpYyBUcmFuc2xhdGlvbjwvQT4pLgogPFA+CiAKLTxBIE5BTUU9IklEWDIzMiI+PC9BPgorPEEgTkFNRT0iSURYMjM2Ij48L0E+CiA8RFQ+PENPREU+TENfTlVNRVJJQzwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyMzMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyMzciPjwvQT4KIFRoaXMgdmFyaWFibGUgZGV0ZXJtaW5lcyB0aGUgbG9jYWxlIGNhdGVnb3J5IHVzZWQgZm9yIG51bWJlciBmb3JtYXR0aW5nLgogPFA+CiAKLTxBIE5BTUU9IklEWDIzNCI+PC9BPgorPEEgTkFNRT0iSURYMjM4Ij48L0E+CiA8RFQ+PENPREU+TElORU5PPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDIzNSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDIzOSI+PC9BPgogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBzY3JpcHQgb3Igc2hlbGwgZnVuY3Rpb24gY3VycmVudGx5IGV4ZWN1dGluZy4KIDxQPgogCi08QSBOQU1FPSJJRFgyMzYiPjwvQT4KKzxBIE5BTUU9IklEWDI0MCI+PC9BPgogPERUPjxDT0RFPkxJTkVTPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDIzNyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDI0MSI+PC9BPgogVXNlZCBieSB0aGUgPENPREU+c2VsZWN0PC9DT0RFPiBidWlsdGluIGNvbW1hbmQgdG8gZGV0ZXJtaW5lIHRoZSBjb2x1bW4gbGVuZ3RoCiBmb3IgcHJpbnRpbmcgc2VsZWN0aW9uIGxpc3RzLiAgQXV0b21hdGljYWxseSBzZXQgdXBvbiByZWNlaXB0IG9mIGEKIDxDT0RFPlNJR1dJTkNIPC9DT0RFPi4KIDxQPgogCi08QSBOQU1FPSJJRFgyMzgiPjwvQT4KKzxBIE5BTUU9IklEWDI0MiI+PC9BPgogPERUPjxDT0RFPk1BQ0hUWVBFPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDIzOSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDI0MyI+PC9BPgogQSBzdHJpbmcgdGhhdCBmdWxseSBkZXNjcmliZXMgdGhlIHN5c3RlbSB0eXBlIG9uIHdoaWNoIEJhc2gKIGlzIGV4ZWN1dGluZywgaW4gdGhlIHN0YW5kYXJkIEdOVSA8VkFSPmNwdS1jb21wYW55LXN5c3RlbTwvVkFSPiBmb3JtYXQuCiA8UD4KIAotPEEgTkFNRT0iSURYMjQwIj48L0E+Cis8QSBOQU1FPSJJRFgyNDQiPjwvQT4KIDxEVD48Q09ERT5NQUlMQ0hFQ0s8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjQxIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjQ1Ij48L0E+CiBIb3cgb2Z0ZW4gKGluIHNlY29uZHMpIHRoYXQgdGhlIHNoZWxsIHNob3VsZCBjaGVjayBmb3IgbWFpbCBpbiB0aGUKIGZpbGVzIHNwZWNpZmllZCBpbiB0aGUgPENPREU+TUFJTFBBVEg8L0NPREU+IG9yIDxDT0RFPk1BSUw8L0NPREU+IHZhcmlhYmxlcy4KIFRoZSBkZWZhdWx0IGlzIDYwIHNlY29uZHMuICBXaGVuIGl0IGlzIHRpbWUgdG8gY2hlY2sKQEAgLTY1NzUsMzcgKzY2NTgsMzcgQEAKIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB6ZXJvLCB0aGUgc2hlbGwgZGlzYWJsZXMgbWFpbCBjaGVja2luZy4KIDxQPgogCi08QSBOQU1FPSJJRFgyNDIiPjwvQT4KKzxBIE5BTUU9IklEWDI0NiI+PC9BPgogPERUPjxDT0RFPk9MRFBXRDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNDMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyNDciPjwvQT4KIFRoZSBwcmV2aW91cyB3b3JraW5nIGRpcmVjdG9yeSBhcyBzZXQgYnkgdGhlIDxDT0RFPmNkPC9DT0RFPiBidWlsdGluLgogPFA+CiAKLTxBIE5BTUU9IklEWDI0NCI+PC9BPgorPEEgTkFNRT0iSURYMjQ4Ij48L0E+CiA8RFQ+PENPREU+T1BURVJSPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDI0NSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDI0OSI+PC9BPgogSWYgc2V0IHRvIHRoZSB2YWx1ZSAxLCBCYXNoIGRpc3BsYXlzIGVycm9yIG1lc3NhZ2VzCiBnZW5lcmF0ZWQgYnkgdGhlIDxDT0RFPmdldG9wdHM8L0NPREU+IGJ1aWx0aW4gY29tbWFuZC4KIDxQPgogCi08QSBOQU1FPSJJRFgyNDYiPjwvQT4KKzxBIE5BTUU9IklEWDI1MCI+PC9BPgogPERUPjxDT0RFPk9TVFlQRTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNDciPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyNTEiPjwvQT4KIEEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIG9wZXJhdGluZyBzeXN0ZW0gQmFzaCBpcyBydW5uaW5nIG9uLgogPFA+CiAKLTxBIE5BTUU9IklEWDI0OCI+PC9BPgorPEEgTkFNRT0iSURYMjUyIj48L0E+CiA8RFQ+PENPREU+UElQRVNUQVRVUzwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNDkiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyNTMiPjwvQT4KIEFuIGFycmF5IHZhcmlhYmxlIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODUiPjYuNyBBcnJheXM8L0E+KQogY29udGFpbmluZyBhIGxpc3Qgb2YgZXhpdCBzdGF0dXMgdmFsdWVzIGZyb20gdGhlIHByb2Nlc3NlcwogaW4gdGhlIG1vc3QtcmVjZW50bHktZXhlY3V0ZWQgZm9yZWdyb3VuZCBwaXBlbGluZSAod2hpY2ggbWF5CiBjb250YWluIG9ubHkgYSBzaW5nbGUgY29tbWFuZCkuCiA8UD4KIAotPEEgTkFNRT0iSURYMjUwIj48L0E+Cis8QSBOQU1FPSJJRFgyNTQiPjwvQT4KIDxEVD48Q09ERT5QT1NJWExZX0NPUlJFQ1Q8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjUxIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjU1Ij48L0E+CiBJZiB0aGlzIHZhcmlhYmxlIGlzIGluIHRoZSBlbnZpcm9ubWVudCB3aGVuIDxDT0RFPmJhc2g8L0NPREU+IHN0YXJ0cywgdGhlIHNoZWxsCiBlbnRlcnMgUE9TSVggbW9kZSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkwIj42LjExIEJhc2ggUE9TSVggTW9kZTwvQT4pIGJlZm9yZSByZWFkaW5nIHRoZQogc3RhcnR1cCBmaWxlcywgYXMgaWYgdGhlIDxTQU1QPmAtLXBvc2l4JzwvU0FNUD4gaW52b2NhdGlvbiBvcHRpb24gaGFkIGJlZW4gc3VwcGxpZWQuCkBAIC02NjE1LDQwICs2Njk4LDQwIEBACiA8L3ByZT48L3RkPjwvdHI+PC90YWJsZT5oYWQgYmVlbiBleGVjdXRlZC4gIAogPFA+CiAKLTxBIE5BTUU9IklEWDI1MiI+PC9BPgorPEEgTkFNRT0iSURYMjU2Ij48L0E+CiA8RFQ+PENPREU+UFBJRDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNTMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyNTciPjwvQT4KIFRoZSBwcm9jZXNzIElEIG9mIHRoZSBzaGVsbCdzIHBhcmVudCBwcm9jZXNzLiAgVGhpcyB2YXJpYWJsZQogaXMgcmVhZG9ubHkuCiA8UD4KIAotPEEgTkFNRT0iSURYMjU0Ij48L0E+Cis8QSBOQU1FPSJJRFgyNTgiPjwvQT4KIDxEVD48Q09ERT5QUk9NUFRfQ09NTUFORDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNTUiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyNTkiPjwvQT4KIElmIHNldCwgdGhlIHZhbHVlIGlzIGludGVycHJldGVkIGFzIGEgY29tbWFuZCB0byBleGVjdXRlCiBiZWZvcmUgdGhlIHByaW50aW5nIG9mIGVhY2ggcHJpbWFyeSBwcm9tcHQgKDxDT0RFPiRQUzE8L0NPREU+KS4KIDxQPgogCi08QSBOQU1FPSJJRFgyNTYiPjwvQT4KKzxBIE5BTUU9IklEWDI2MCI+PC9BPgogPERUPjxDT0RFPlBST01QVF9ESVJUUklNPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDI1NyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDI2MSI+PC9BPgogSWYgc2V0IHRvIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiB6ZXJvLCB0aGUgdmFsdWUgaXMgdXNlZCBhcyB0aGUgbnVtYmVyIG9mCiB0cmFpbGluZyBkaXJlY3RvcnkgY29tcG9uZW50cyB0byByZXRhaW4gd2hlbiBleHBhbmRpbmcgdGhlIDxDT0RFPlx3PC9DT0RFPiBhbmQKIDxDT0RFPlxXPC9DT0RFPiBwcm9tcHQgc3RyaW5nIGVzY2FwZXMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4OCI+Ni45IENvbnRyb2xsaW5nIHRoZSBQcm9tcHQ8L0E+KS4KIENoYXJhY3RlcnMgcmVtb3ZlZCBhcmUgcmVwbGFjZWQgd2l0aCBhbiBlbGxpcHNpcy4KIDxQPgogCi08QSBOQU1FPSJJRFgyNTgiPjwvQT4KKzxBIE5BTUU9IklEWDI2MiI+PC9BPgogPERUPjxDT0RFPlBTMzwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNTkiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyNjMiPjwvQT4KIFRoZSB2YWx1ZSBvZiB0aGlzIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIHByb21wdCBmb3IgdGhlCiA8Q09ERT5zZWxlY3Q8L0NPREU+IGNvbW1hbmQuICBJZiB0aGlzIHZhcmlhYmxlIGlzIG5vdCBzZXQsIHRoZQogPENPREU+c2VsZWN0PC9DT0RFPiBjb21tYW5kIHByb21wdHMgd2l0aCA8U0FNUD5gIz8gJzwvU0FNUD4KIDxQPgogCi08QSBOQU1FPSJJRFgyNjAiPjwvQT4KKzxBIE5BTUU9IklEWDI2NCI+PC9BPgogPERUPjxDT0RFPlBTNDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNjEiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyNjUiPjwvQT4KIFRoZSB2YWx1ZSBpcyB0aGUgcHJvbXB0IHByaW50ZWQgYmVmb3JlIHRoZSBjb21tYW5kIGxpbmUgaXMgZWNob2VkCiB3aGVuIHRoZSA8U0FNUD5gLXgnPC9TQU1QPiBvcHRpb24gaXMgc2V0IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjIiPjQuMy4xIFRoZSBTZXQgQnVpbHRpbjwvQT4pLgogVGhlIGZpcnN0IGNoYXJhY3RlciBvZiA8Q09ERT5QUzQ8L0NPREU+IGlzIHJlcGxpY2F0ZWQgbXVsdGlwbGUgdGltZXMsIGFzCkBAIC02NjU2LDI5ICs2NzM5LDI5IEBACiBUaGUgZGVmYXVsdCBpcyA8U0FNUD5gKyAnPC9TQU1QPi4KIDxQPgogCi08QSBOQU1FPSJJRFgyNjIiPjwvQT4KKzxBIE5BTUU9IklEWDI2NiI+PC9BPgogPERUPjxDT0RFPlBXRDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNjMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyNjciPjwvQT4KIFRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGFzIHNldCBieSB0aGUgPENPREU+Y2Q8L0NPREU+IGJ1aWx0aW4uCiA8UD4KIAotPEEgTkFNRT0iSURYMjY0Ij48L0E+Cis8QSBOQU1FPSJJRFgyNjgiPjwvQT4KIDxEVD48Q09ERT5SQU5ET008L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjY1Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjY5Ij48L0E+CiBFYWNoIHRpbWUgdGhpcyBwYXJhbWV0ZXIgaXMgcmVmZXJlbmNlZCwgYSByYW5kb20gaW50ZWdlcgogYmV0d2VlbiAwIGFuZCAzMjc2NyBpcyBnZW5lcmF0ZWQuICBBc3NpZ25pbmcgYSB2YWx1ZSB0byB0aGlzCiB2YXJpYWJsZSBzZWVkcyB0aGUgcmFuZG9tIG51bWJlciBnZW5lcmF0b3IuCiA8UD4KIAotPEEgTkFNRT0iSURYMjY2Ij48L0E+Cis8QSBOQU1FPSJJRFgyNzAiPjwvQT4KIDxEVD48Q09ERT5SRVBMWTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNjciPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyNzEiPjwvQT4KIFRoZSBkZWZhdWx0IHZhcmlhYmxlIGZvciB0aGUgPENPREU+cmVhZDwvQ09ERT4gYnVpbHRpbi4KIDxQPgogCi08QSBOQU1FPSJJRFgyNjgiPjwvQT4KKzxBIE5BTUU9IklEWDI3MiI+PC9BPgogPERUPjxDT0RFPlNFQ09ORFM8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjY5Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjczIj48L0E+CiBUaGlzIHZhcmlhYmxlIGV4cGFuZHMgdG8gdGhlIG51bWJlciBvZiBzZWNvbmRzIHNpbmNlIHRoZQogc2hlbGwgd2FzIHN0YXJ0ZWQuICBBc3NpZ25tZW50IHRvIHRoaXMgdmFyaWFibGUgcmVzZXRzCiB0aGUgY291bnQgdG8gdGhlIHZhbHVlIGFzc2lnbmVkLCBhbmQgdGhlIGV4cGFuZGVkIHZhbHVlCkBAIC02Njg2LDE3ICs2NzY5LDE3IEBACiBzaW5jZSB0aGUgYXNzaWdubWVudC4KIDxQPgogCi08QSBOQU1FPSJJRFgyNzAiPjwvQT4KKzxBIE5BTUU9IklEWDI3NCI+PC9BPgogPERUPjxDT0RFPlNIRUxMPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDI3MSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDI3NSI+PC9BPgogVGhlIGZ1bGwgcGF0aG5hbWUgdG8gdGhlIHNoZWxsIGlzIGtlcHQgaW4gdGhpcyBlbnZpcm9ubWVudCB2YXJpYWJsZS4KIElmIGl0IGlzIG5vdCBzZXQgd2hlbiB0aGUgc2hlbGwgc3RhcnRzLAogQmFzaCBhc3NpZ25zIHRvIGl0IHRoZSBmdWxsIHBhdGhuYW1lIG9mIHRoZSBjdXJyZW50IHVzZXIncyBsb2dpbiBzaGVsbC4KIDxQPgogCi08QSBOQU1FPSJJRFgyNzIiPjwvQT4KKzxBIE5BTUU9IklEWDI3NiI+PC9BPgogPERUPjxDT0RFPlNIRUxMT1BUUzwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNzMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyNzciPjwvQT4KIEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgZW5hYmxlZCBzaGVsbCBvcHRpb25zLiAgRWFjaCB3b3JkIGluCiB0aGUgbGlzdCBpcyBhIHZhbGlkIGFyZ3VtZW50IGZvciB0aGUgPFNBTVA+YC1vJzwvU0FNUD4gb3B0aW9uIHRvIHRoZQogPENPREU+c2V0PC9DT0RFPiBidWlsdGluIGNvbW1hbmQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MiI+NC4zLjEgVGhlIFNldCBCdWlsdGluPC9BPikuCkBAIC02NzA3LDE2ICs2NzkwLDE2IEBACiByZWFkaW5nIGFueSBzdGFydHVwIGZpbGVzLiAgVGhpcyB2YXJpYWJsZSBpcyByZWFkb25seS4KIDxQPgogCi08QSBOQU1FPSJJRFgyNzQiPjwvQT4KKzxBIE5BTUU9IklEWDI3OCI+PC9BPgogPERUPjxDT0RFPlNITFZMPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDI3NSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDI3OSI+PC9BPgogSW5jcmVtZW50ZWQgYnkgb25lIGVhY2ggdGltZSBhIG5ldyBpbnN0YW5jZSBvZiBCYXNoIGlzIHN0YXJ0ZWQuICBUaGlzIGlzCiBpbnRlbmRlZCB0byBiZSBhIGNvdW50IG9mIGhvdyBkZWVwbHkgeW91ciBCYXNoIHNoZWxscyBhcmUgbmVzdGVkLgogPFA+CiAKLTxBIE5BTUU9IklEWDI3NiI+PC9BPgorPEEgTkFNRT0iSURYMjgwIj48L0E+CiA8RFQ+PENPREU+VElNRUZPUk1BVDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNzciPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyODEiPjwvQT4KIFRoZSB2YWx1ZSBvZiB0aGlzIHBhcmFtZXRlciBpcyB1c2VkIGFzIGEgZm9ybWF0IHN0cmluZyBzcGVjaWZ5aW5nCiBob3cgdGhlIHRpbWluZyBpbmZvcm1hdGlvbiBmb3IgcGlwZWxpbmVzIHByZWZpeGVkIHdpdGggdGhlIDxDT0RFPnRpbWU8L0NPREU+CiByZXNlcnZlZCB3b3JkIHNob3VsZCBiZSBkaXNwbGF5ZWQuCkBAIC02NzY5LDkgKzY4NTIsOSBAQAogQSB0cmFpbGluZyBuZXdsaW5lIGlzIGFkZGVkIHdoZW4gdGhlIGZvcm1hdCBzdHJpbmcgaXMgZGlzcGxheWVkLgogPC9QPjxQPgogCi08QSBOQU1FPSJJRFgyNzgiPjwvQT4KKzxBIE5BTUU9IklEWDI4MiI+PC9BPgogPERUPjxDT0RFPlRNT1VUPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDI3OSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDI4MyI+PC9BPgogSWYgc2V0IHRvIGEgdmFsdWUgZ3JlYXRlciB0aGFuIHplcm8sIDxDT0RFPlRNT1VUPC9DT0RFPiBpcyB0cmVhdGVkIGFzIHRoZQogZGVmYXVsdCB0aW1lb3V0IGZvciB0aGUgPENPREU+cmVhZDwvQ09ERT4gYnVpbHRpbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPikuCiBUaGUgPENPREU+c2VsZWN0PC9DT0RFPiBjb21tYW5kIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjEiPjMuMi40LjIgQ29uZGl0aW9uYWwgQ29uc3RydWN0czwvQT4pIHRlcm1pbmF0ZXMKQEAgLTY3ODYsMTYgKzY4NjksMTYgQEAKIG5vdCBhcnJpdmUuCiA8L1A+PFA+CiAKLTxBIE5BTUU9IklEWDI4MCI+PC9BPgorPEEgTkFNRT0iSURYMjg0Ij48L0E+CiA8RFQ+PENPREU+VE1QRElSPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDI4MSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDI4NSI+PC9BPgogSWYgc2V0LCBCYXNoIHVzZXMgaXRzIHZhbHVlIGFzIHRoZSBuYW1lIG9mIGEgZGlyZWN0b3J5IGluIHdoaWNoCiBCYXNoIGNyZWF0ZXMgdGVtcG9yYXJ5IGZpbGVzIGZvciB0aGUgc2hlbGwncyB1c2UuCiA8UD4KIAotPEEgTkFNRT0iSURYMjgyIj48L0E+Cis8QSBOQU1FPSJJRFgyODYiPjwvQT4KIDxEVD48Q09ERT5VSUQ8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjgzIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjg3Ij48L0E+CiBUaGUgbnVtZXJpYyByZWFsIHVzZXIgaWQgb2YgdGhlIGN1cnJlbnQgdXNlci4gIFRoaXMgdmFyaWFibGUgaXMgcmVhZG9ubHkuCiA8UD4KIApAQCAtNzAxNSwxMiArNzA5OCwxMiBAQAogPC9ETD4KIDxQPgogCi08QSBOQU1FPSJJRFgyODQiPjwvQT4KKzxBIE5BTUU9IklEWDI4OCI+PC9BPgogQSA8RU0+bG9naW48L0VNPiBzaGVsbCBpcyBvbmUgd2hvc2UgZmlyc3QgY2hhcmFjdGVyIG9mIGFyZ3VtZW50IHplcm8gaXMKIDxTQU1QPmAtJzwvU0FNUD4sIG9yIG9uZSBpbnZva2VkIHdpdGggdGhlIDxTQU1QPmAtLWxvZ2luJzwvU0FNUD4gb3B0aW9uLgogPC9QPjxQPgogCi08QSBOQU1FPSJJRFgyODUiPjwvQT4KKzxBIE5BTUU9IklEWDI4OSI+PC9BPgogQW4gPEVNPmludGVyYWN0aXZlPC9FTT4gc2hlbGwgaXMgb25lIHN0YXJ0ZWQgd2l0aG91dCBub24tb3B0aW9uIGFyZ3VtZW50cywKIHVubGVzcyA8U0FNUD5gLXMnPC9TQU1QPiBpcyBzcGVjaWZpZWQsCiB3aXRob3V0IHNwZWNpZnlpbmcgdGhlIDxTQU1QPmAtYyc8L1NBTVA+IG9wdGlvbiwgYW5kIHdob3NlIGlucHV0IGFuZCBvdXRwdXQgYXJlIGJvdGgKQEAgLTcxOTMsOCArNzI3Niw5IEBACiBJZiBCYXNoIGlzIHN0YXJ0ZWQgd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgKGdyb3VwKSBpZCBub3QgZXF1YWwgdG8gdGhlCiByZWFsIHVzZXIgKGdyb3VwKSBpZCwgYW5kIHRoZSA8Q09ERT4tcDwvQ09ERT4gb3B0aW9uIGlzIG5vdCBzdXBwbGllZCwgbm8gc3RhcnR1cAogZmlsZXMgYXJlIHJlYWQsIHNoZWxsIGZ1bmN0aW9ucyBhcmUgbm90IGluaGVyaXRlZCBmcm9tIHRoZSBlbnZpcm9ubWVudCwKLXRoZSA8Q09ERT5TSEVMTE9QVFM8L0NPREU+IHZhcmlhYmxlLCBpZiBpdCBhcHBlYXJzIGluIHRoZSBlbnZpcm9ubWVudCwgaXMgaWdub3JlZCwKLWFuZCB0aGUgZWZmZWN0aXZlIHVzZXIgaWQgaXMgc2V0IHRvIHRoZSByZWFsIHVzZXIgaWQuCit0aGUgPENPREU+U0hFTExPUFRTPC9DT0RFPiwgPENPREU+QkFTSE9QVFM8L0NPREU+LCA8Q09ERT5DRFBBVEg8L0NPREU+LCBhbmQgPENPREU+R0xPQklHTk9SRTwvQ09ERT4KK3ZhcmlhYmxlcywgaWYgdGhleSBhcHBlYXIgaW4gdGhlIGVudmlyb25tZW50LCBhcmUgaWdub3JlZCwgYW5kIHRoZSBlZmZlY3RpdmUKK3VzZXIgaWQgaXMgc2V0IHRvIHRoZSByZWFsIHVzZXIgaWQuCiBJZiB0aGUgPENPREU+LXA8L0NPREU+IG9wdGlvbiBpcyBzdXBwbGllZCBhdCBpbnZvY2F0aW9uLCB0aGUgc3RhcnR1cCBiZWhhdmlvciBpcwogdGhlIHNhbWUsIGJ1dCB0aGUgZWZmZWN0aXZlIHVzZXIgaWQgaXMgbm90IHJlc2V0LgogPC9QPjxQPgpAQCAtNzQ3Myw2ICs3NTU3LDEwIEBACiBkZXNjcmlwdG9yIDAsIDEsIG9yIDIsIHJlc3BlY3RpdmVseSwgaXMgY2hlY2tlZC4KIDwvUD48UD4KIAorV2hlbiB1c2VkIHdpdGggPFNBTVA+YFtbJzwvU0FNUD4sIFRoZSA8U0FNUD5gJiM2MDsnPC9TQU1QPiBhbmQgPFNBTVA+YCYjNjI7JzwvU0FNUD4gb3BlcmF0b3JzIHNvcnQKK2xleGljb2dyYXBoaWNhbGx5IHVzaW5nIHRoZSBjdXJyZW50IGxvY2FsZS4KKzwvUD48UD4KKwogVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsIHByaW1hcmllcyB0aGF0IG9wZXJhdGUgb24gZmlsZXMgZm9sbG93IHN5bWJvbGljCiBsaW5rcyBhbmQgb3BlcmF0ZSBvbiB0aGUgdGFyZ2V0IG9mIHRoZSBsaW5rLCByYXRoZXIgdGhhbiB0aGUgbGluayBpdHNlbGYuCiA8L1A+PFA+CkBAIC03NTkzLDggKzc2ODEsOSBAQAogPFA+CiAKIDxEVD48Q09ERT48VkFSPnN0cmluZzE8L1ZBUj4gPT0gPFZBUj5zdHJpbmcyPC9WQVI+PC9DT0RFPgorPEREPjxEVD48Q09ERT48VkFSPnN0cmluZzE8L1ZBUj4gPSA8VkFSPnN0cmluZzI8L1ZBUj48L0NPREU+CiA8REQ+VHJ1ZSBpZiB0aGUgc3RyaW5ncyBhcmUgZXF1YWwuCi08U0FNUD5gPSc8L1NBTVA+IG1heSBiZSB1c2VkIGluIHBsYWNlIG9mIDxTQU1QPmA9PSc8L1NBTVA+IGZvciBzdHJpY3QgUE9TSVggY29tcGxpYW5jZS4KKzxTQU1QPmA9JzwvU0FNUD4gc2hvdWxkIGJlIHVzZWQgd2l0aCB0aGUgPENPREU+dGVzdDwvQ09ERT4gY29tbWFuZCBmb3IgUE9TSVggY29uZm9ybWFuY2UuCiA8UD4KIAogPERUPjxDT0RFPjxWQVI+c3RyaW5nMTwvVkFSPiAhPSA8VkFSPnN0cmluZzI8L1ZBUj48L0NPREU+CkBAIC03NjAyLDEzICs3NjkxLDExIEBACiA8UD4KIAogPERUPjxDT0RFPjxWQVI+c3RyaW5nMTwvVkFSPiAmIzYwOyA8VkFSPnN0cmluZzI8L1ZBUj48L0NPREU+Ci08REQ+VHJ1ZSBpZiA8VkFSPnN0cmluZzE8L1ZBUj4gc29ydHMgYmVmb3JlIDxWQVI+c3RyaW5nMjwvVkFSPiBsZXhpY29ncmFwaGljYWxseQotaW4gdGhlIGN1cnJlbnQgbG9jYWxlLgorPEREPlRydWUgaWYgPFZBUj5zdHJpbmcxPC9WQVI+IHNvcnRzIGJlZm9yZSA8VkFSPnN0cmluZzI8L1ZBUj4gbGV4aWNvZ3JhcGhpY2FsbHkuCiA8UD4KIAogPERUPjxDT0RFPjxWQVI+c3RyaW5nMTwvVkFSPiAmIzYyOyA8VkFSPnN0cmluZzI8L1ZBUj48L0NPREU+Ci08REQ+VHJ1ZSBpZiA8VkFSPnN0cmluZzE8L1ZBUj4gc29ydHMgYWZ0ZXIgPFZBUj5zdHJpbmcyPC9WQVI+IGxleGljb2dyYXBoaWNhbGx5Ci1pbiB0aGUgY3VycmVudCBsb2NhbGUuCis8REQ+VHJ1ZSBpZiA8VkFSPnN0cmluZzE8L1ZBUj4gc29ydHMgYWZ0ZXIgPFZBUj5zdHJpbmcyPC9WQVI+IGxleGljb2dyYXBoaWNhbGx5LgogPFA+CiAKIDxEVD48Q09ERT48VkFSPmFyZzE8L1ZBUj4gT1AgPFZBUj5hcmcyPC9WQVI+PC9DT0RFPgpAQCAtNzk0MiwxMSArODAyOSwxNSBAQAogcmVmZXJlbmNpbmcgd2l0aCBhIHN1YnNjcmlwdCBvZiAwLiAKIDwvUD48UD4KIAorQW4gYXJyYXkgdmFyaWFibGUgaXMgY29uc2lkZXJlZCBzZXQgaWYgYSBzdWJzY3JpcHQgaGFzIGJlZW4gYXNzaWduZWQgYQordmFsdWUuICBUaGUgbnVsbCBzdHJpbmcgaXMgYSB2YWxpZCB2YWx1ZS4KKzwvUD48UD4KKwogVGhlIDxDT0RFPnVuc2V0PC9DT0RFPiBidWlsdGluIGlzIHVzZWQgdG8gZGVzdHJveSBhcnJheXMuCiA8Q09ERT51bnNldDwvQ09ERT4gPFZBUj5uYW1lPC9WQVI+WzxWQVI+c3Vic2NyaXB0PC9WQVI+XQogZGVzdHJveXMgdGhlIGFycmF5IGVsZW1lbnQgYXQgaW5kZXggPFZBUj5zdWJzY3JpcHQ8L1ZBUj4uCiBDYXJlIG11c3QgYmUgdGFrZW4gdG8gYXZvaWQgdW53YW50ZWQgc2lkZSBlZmZlY3RzIGNhdXNlZCBieSBmaWxlbmFtZQotZ2VuZXJhdGlvbi4KK2V4cGFuc2lvbi4KIDxDT0RFPnVuc2V0PC9DT0RFPiA8VkFSPm5hbWU8L1ZBUj4sIHdoZXJlIDxWQVI+bmFtZTwvVkFSPiBpcyBhbiBhcnJheSwgcmVtb3ZlcyB0aGUKIGVudGlyZSBhcnJheS4gQSBzdWJzY3JpcHQgb2YgPFNBTVA+YConPC9TQU1QPiBvciA8U0FNUD5gQCc8L1NBTVA+IGFsc28gcmVtb3ZlcyB0aGUKIGVudGlyZSBhcnJheS4KQEAgLTgwMjAsNyArODExMSw3IEBACiA8REwgQ09NUEFDVD4KIAogPERUPjxDT0RFPmRpcnM8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjg2Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjkwIj48L0E+CiA8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+ZGlycyBbKzxWQVI+TjwvVkFSPiB8IC08VkFSPk48L1ZBUj5dIFstY2xwdl0KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPkRpc3BsYXkgdGhlIGxpc3Qgb2YgY3VycmVudGx5IHJlbWVtYmVyZWQgZGlyZWN0b3JpZXMuICBEaXJlY3RvcmllcwogYXJlIGFkZGVkIHRvIHRoZSBsaXN0IHdpdGggdGhlIDxDT0RFPnB1c2hkPC9DT0RFPiBjb21tYW5kOyB0aGUKQEAgLTgwNDksNyArODE0MCw3IEBACiA8UD4KIAogPERUPjxDT0RFPnBvcGQ8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjg3Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjkxIj48L0E+CiA8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+cG9wZCBbKzxWQVI+TjwvVkFSPiB8IC08VkFSPk48L1ZBUj5dIFstbl0KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPjxQPgogCkBAIC04MDczLDcgKzgxNjQsNyBAQAogPC9ETD4KIDxQPgogCi08QSBOQU1FPSJJRFgyODgiPjwvQT4KKzxBIE5BTUU9IklEWDI5MiI+PC9BPgogPERUPjxDT0RFPnB1c2hkPC9DT0RFPgogPEREPjxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT5wdXNoZCBbLW5dIFs8VkFSPitOPC9WQVI+IHwgPFZBUj4tTjwvVkFSPiB8IDxWQVI+ZGlyPC9WQVI+IF0KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPjxQPgpAQCAtODU1Myw2ICs4NjQ0LDEyIEBACiBhbmQgPFNBTVA+YC1mJzwvU0FNUD4gb3B0aW9ucy4KIDxQPgogCis8TEk+CitUaGUgYXJyaXZhbCBvZiA8Q09ERT5TSUdDSExEPC9DT0RFPiAgd2hlbiBhIHRyYXAgaXMgc2V0IG9uIDxDT0RFPlNJR0NITEQ8L0NPREU+IGRvZXMKK25vdCBpbnRlcnJ1cHQgdGhlIDxDT0RFPndhaXQ8L0NPREU+IGJ1aWx0aW4gYW5kIGNhdXNlIGl0IHRvIHJldHVybiBpbW1lZGlhdGVseS4KK1RoZSB0cmFwIGNvbW1hbmQgaXMgcnVuIG9uY2UgZm9yIGVhY2ggY2hpbGQgdGhhdCBleGl0cy4KKzxQPgorCiA8L09MPgogPFA+CiAKQEAgLTg2MzYsNyArODczMyw3IEBACiB0aGUgZXhlY3V0aW9uIG9mIHByb2Nlc3NlcyBhbmQgY29udGludWUgKHJlc3VtZSkKIHRoZWlyIGV4ZWN1dGlvbiBhdCBhIGxhdGVyIHBvaW50LiAgQSB1c2VyIHR5cGljYWxseSBlbXBsb3lzCiB0aGlzIGZhY2lsaXR5IHZpYSBhbiBpbnRlcmFjdGl2ZSBpbnRlcmZhY2Ugc3VwcGxpZWQgam9pbnRseQotYnkgdGhlIHN5c3RlbSdzIHRlcm1pbmFsIGRyaXZlciBhbmQgQmFzaC4KK2J5IHRoZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCdzIHRlcm1pbmFsIGRyaXZlciBhbmQgQmFzaC4KIDwvUD48UD4KIAogVGhlIHNoZWxsIGFzc29jaWF0ZXMgYSA8VkFSPmpvYjwvVkFSPiB3aXRoIGVhY2ggcGlwZWxpbmUuICBJdCBrZWVwcyBhCkBAIC04NjYwLDExICs4NzU3LDEzIEBACiBUaGVzZSBwcm9jZXNzZXMgYXJlIHNhaWQgdG8gYmUgaW4gdGhlIGZvcmVncm91bmQuICBCYWNrZ3JvdW5kCiBwcm9jZXNzZXMgYXJlIHRob3NlIHdob3NlIHByb2Nlc3MgZ3JvdXAgSUQgZGlmZmVycyBmcm9tIHRoZQogdGVybWluYWwnczsgc3VjaCBwcm9jZXNzZXMgYXJlIGltbXVuZSB0byBrZXlib2FyZC1nZW5lcmF0ZWQKLXNpZ25hbHMuICBPbmx5IGZvcmVncm91bmQgcHJvY2Vzc2VzIGFyZSBhbGxvd2VkIHRvIHJlYWQgZnJvbSBvcgotd3JpdGUgdG8gdGhlIHRlcm1pbmFsLiAgQmFja2dyb3VuZCBwcm9jZXNzZXMgd2hpY2ggYXR0ZW1wdCB0bwotcmVhZCBmcm9tICh3cml0ZSB0bykgdGhlIHRlcm1pbmFsIGFyZSBzZW50IGEgPENPREU+U0lHVFRJTjwvQ09ERT4KLSg8Q09ERT5TSUdUVE9VPC9DT0RFPikgc2lnbmFsIGJ5IHRoZSB0ZXJtaW5hbCBkcml2ZXIsIHdoaWNoLCB1bmxlc3MKLWNhdWdodCwgc3VzcGVuZHMgdGhlIHByb2Nlc3MuIAorc2lnbmFscy4gIE9ubHkgZm9yZWdyb3VuZCBwcm9jZXNzZXMgYXJlIGFsbG93ZWQgdG8gcmVhZCBmcm9tIG9yLCBpZgordGhlIHVzZXIgc28gc3BlY2lmaWVzIHdpdGggPENPREU+c3R0eSB0b3N0b3A8L0NPREU+LCB3cml0ZSB0byB0aGUgdGVybWluYWwuCitCYWNrZ3JvdW5kIHByb2Nlc3NlcyB3aGljaCBhdHRlbXB0IHRvCityZWFkIGZyb20gKHdyaXRlIHRvIHdoZW4gPENPREU+c3R0eSB0b3N0b3A8L0NPREU+IGlzIGluIGVmZmVjdCkgdGhlCit0ZXJtaW5hbCBhcmUgc2VudCBhIDxDT0RFPlNJR1RUSU48L0NPREU+ICg8Q09ERT5TSUdUVE9VPC9DT0RFPikKK3NpZ25hbCBieSB0aGUga2VybmVsJ3MgdGVybWluYWwgZHJpdmVyLAord2hpY2gsIHVubGVzcyBjYXVnaHQsIHN1c3BlbmRzIHRoZSBwcm9jZXNzLiAKIDwvUD48UD4KIAogSWYgdGhlIG9wZXJhdGluZyBzeXN0ZW0gb24gd2hpY2ggQmFzaCBpcyBydW5uaW5nIHN1cHBvcnRzCkBAIC04NzU1LDcgKzg4NTQsNyBAQAogPERMIENPTVBBQ1Q+CiAKIDxEVD48Q09ERT5iZzwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyODkiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyOTMiPjwvQT4KIDxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT5iZyBbPFZBUj5qb2JzcGVjPC9WQVI+IDxzbWFsbD4uLi48L3NtYWxsPl0KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPlJlc3VtZSBlYWNoIHN1c3BlbmRlZCBqb2IgPFZBUj5qb2JzcGVjPC9WQVI+IGluIHRoZSBiYWNrZ3JvdW5kLCBhcyBpZiBpdAogaGFkIGJlZW4gc3RhcnRlZCB3aXRoIDxTQU1QPmAmIzM4Oyc8L1NBTVA+LgpAQCAtODc2Nyw3ICs4ODY2LDcgQEAKIDxQPgogCiA8RFQ+PENPREU+Zmc8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjkwIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjk0Ij48L0E+CiA8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+ZmcgWzxWQVI+am9ic3BlYzwvVkFSPl0KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPlJlc3VtZSB0aGUgam9iIDxWQVI+am9ic3BlYzwvVkFSPiBpbiB0aGUgZm9yZWdyb3VuZCBhbmQgbWFrZSBpdCB0aGUgY3VycmVudCBqb2IuCiBJZiA8VkFSPmpvYnNwZWM8L1ZBUj4gaXMgbm90IHN1cHBsaWVkLCB0aGUgY3VycmVudCBqb2IgaXMgdXNlZC4KQEAgLTg3NzgsNyArODg3Nyw3IEBACiA8UD4KIAogPERUPjxDT0RFPmpvYnM8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjkxIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjk1Ij48L0E+CiA8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+am9icyBbLWxucHJzXSBbPFZBUj5qb2JzcGVjPC9WQVI+XQogam9icyAteCA8VkFSPmNvbW1hbmQ8L1ZBUj4gWzxWQVI+YXJndW1lbnRzPC9WQVI+XQogPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+PFA+CkBAIC04ODIzLDcgKzg5MjIsNyBAQAogPC9QPjxQPgogCiA8RFQ+PENPREU+a2lsbDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyOTIiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyOTYiPjwvQT4KIDxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT5raWxsIFstcyA8VkFSPnNpZ3NwZWM8L1ZBUj5dIFstbiA8VkFSPnNpZ251bTwvVkFSPl0gWy08VkFSPnNpZ3NwZWM8L1ZBUj5dIDxWQVI+am9ic3BlYzwvVkFSPiBvciA8VkFSPnBpZDwvVkFSPgoga2lsbCAtbCBbPFZBUj5leGl0X3N0YXR1czwvVkFSPl0KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPlNlbmQgYSBzaWduYWwgc3BlY2lmaWVkIGJ5IDxWQVI+c2lnc3BlYzwvVkFSPiBvciA8VkFSPnNpZ251bTwvVkFSPiB0byB0aGUgcHJvY2VzcwpAQCAtODg0Myw3ICs4OTQyLDcgQEAKIDxQPgogCiA8RFQ+PENPREU+d2FpdDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyOTMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyOTciPjwvQT4KIDxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT53YWl0IFs8VkFSPmpvYnNwZWM8L1ZBUj4gb3IgPFZBUj5waWQ8L1ZBUj4gLi4uXQogPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+V2FpdCB1bnRpbCB0aGUgY2hpbGQgcHJvY2VzcyBzcGVjaWZpZWQgYnkgZWFjaCBwcm9jZXNzIElEIDxWQVI+cGlkPC9WQVI+CiBvciBqb2Igc3BlY2lmaWNhdGlvbiA8VkFSPmpvYnNwZWM8L1ZBUj4gZXhpdHMgYW5kIHJldHVybiB0aGUgZXhpdCBzdGF0dXMgb2YgdGhlCkBAIC04ODU2LDcgKzg5NTUsNyBAQAogPFA+CiAKIDxEVD48Q09ERT5kaXNvd248L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjk0Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjk4Ij48L0E+CiA8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+ZGlzb3duIFstYXJdIFstaF0gWzxWQVI+am9ic3BlYzwvVkFSPiA8c21hbGw+Li4uPC9zbWFsbD5dCiA8L3ByZT48L3RkPjwvdHI+PC90YWJsZT5XaXRob3V0IG9wdGlvbnMsIGVhY2ggPFZBUj5qb2JzcGVjPC9WQVI+IGlzIHJlbW92ZWQgZnJvbSB0aGUgdGFibGUgb2YKIGFjdGl2ZSBqb2JzLgpAQCAtODg3MSw3ICs4OTcwLDcgQEAKIDxQPgogCiA8RFQ+PENPREU+c3VzcGVuZDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyOTUiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyOTkiPjwvQT4KIDxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT5zdXNwZW5kIFstZl0KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPlN1c3BlbmQgdGhlIGV4ZWN1dGlvbiBvZiB0aGlzIHNoZWxsIHVudGlsIGl0IHJlY2VpdmVzIGEKIDxDT0RFPlNJR0NPTlQ8L0NPREU+IHNpZ25hbC4KQEAgLTg5MDcsOSArOTAwNiw5IEBACiAKIDxETCBDT01QQUNUPgogCi08QSBOQU1FPSJJRFgyOTYiPjwvQT4KKzxBIE5BTUU9IklEWDMwMCI+PC9BPgogPERUPjxDT0RFPmF1dG9fcmVzdW1lPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDI5NyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMwMSI+PC9BPgogVGhpcyB2YXJpYWJsZSBjb250cm9scyBob3cgdGhlIHNoZWxsIGludGVyYWN0cyB3aXRoIHRoZSB1c2VyIGFuZAogam9iIGNvbnRyb2wuICBJZiB0aGlzIHZhcmlhYmxlIGV4aXN0cyB0aGVuIHNpbmdsZSB3b3JkIHNpbXBsZQogY29tbWFuZHMgd2l0aG91dCByZWRpcmVjdGlvbnMgYXJlIHRyZWF0ZWQgYXMgY2FuZGlkYXRlcyBmb3IgcmVzdW1wdGlvbgpAQCAtODkzMSw3ICs5MDMwLDcgQEAKIDwvREw+CiA8UD4KIAotPEEgTkFNRT0iSURYMjk4Ij48L0E+Cis8QSBOQU1FPSJJRFgzMDIiPjwvQT4KIDwvUD48UD4KIAogPEEgTkFNRT0iQ29tbWFuZCBMaW5lIEVkaXRpbmciPjwvQT4KQEAgLTkyMDUsOCArOTMwNCw4IEBACiA8IS0tZG9jaWQ6OlNFQzEwMDo6LS0+CiA8UD4KIAotPEEgTkFNRT0iSURYMjk5Ij48L0E+Ci08QSBOQU1FPSJJRFgzMDAiPjwvQT4KKzxBIE5BTUU9IklEWDMwMyI+PC9BPgorPEEgTkFNRT0iSURYMzA0Ij48L0E+CiA8L1A+PFA+CiAKIDxFTT5LaWxsaW5nPC9FTT4gdGV4dCBtZWFucyB0byBkZWxldGUgdGhlIHRleHQgZnJvbSB0aGUgbGluZSwgYnV0IHRvIHNhdmUKQEAgLTkyMjYsNyArOTMyNSw3IEBACiByaW5nIGlzIG5vdCBsaW5lIHNwZWNpZmljOyB0aGUgdGV4dCB0aGF0IHlvdSBraWxsZWQgb24gYSBwcmV2aW91c2x5CiB0eXBlZCBsaW5lIGlzIGF2YWlsYWJsZSB0byBiZSB5YW5rZWQgYmFjayBsYXRlciwgd2hlbiB5b3UgYXJlIHR5cGluZwogYW5vdGhlciBsaW5lLgotPEEgTkFNRT0iSURYMzAxIj48L0E+Cis8QSBOQU1FPSJJRFgzMDUiPjwvQT4KIDwvUD48UD4KIAogSGVyZSBpcyB0aGUgbGlzdCBvZiBjb21tYW5kcyBmb3Iga2lsbGluZyB0ZXh0LgpAQCAtOTQ4NSwxMSArOTU4NCwxMSBAQAogdmFyaWFibGVzLgogPC9QPjxQPgogCi08QSBOQU1FPSJJRFgzMDIiPjwvQT4KKzxBIE5BTUU9IklEWDMwNiI+PC9BPgogPERMIENPTVBBQ1Q+CiAKIDxEVD48Q09ERT5iZWxsLXN0eWxlPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMwMyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMwNyI+PC9BPgogQ29udHJvbHMgd2hhdCBoYXBwZW5zIHdoZW4gUmVhZGxpbmUgd2FudHMgdG8gcmluZyB0aGUgdGVybWluYWwgYmVsbC4KIElmIHNldCB0byA8U0FNUD5gbm9uZSc8L1NBTVA+LCBSZWFkbGluZSBuZXZlciByaW5ncyB0aGUgYmVsbC4gIElmIHNldCB0bwogPFNBTVA+YHZpc2libGUnPC9TQU1QPiwgUmVhZGxpbmUgdXNlcyBhIHZpc2libGUgYmVsbCBpZiBvbmUgaXMgYXZhaWxhYmxlLgpAQCAtOTQ5OCwxNCArOTU5NywxNCBAQAogPFA+CiAKIDxEVD48Q09ERT5iaW5kLXR0eS1zcGVjaWFsLWNoYXJzPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMwNCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMwOCI+PC9BPgogSWYgc2V0IHRvIDxTQU1QPmBvbic8L1NBTVA+LCBSZWFkbGluZSBhdHRlbXB0cyB0byBiaW5kIHRoZSBjb250cm9sIGNoYXJhY3RlcnMgIAogdHJlYXRlZCBzcGVjaWFsbHkgYnkgdGhlIGtlcm5lbCdzIHRlcm1pbmFsIGRyaXZlciB0byB0aGVpciBSZWFkbGluZQogZXF1aXZhbGVudHMuCiA8UD4KIAogPERUPjxDT0RFPmNvbW1lbnQtYmVnaW48L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzA1Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzA5Ij48L0E+CiBUaGUgc3RyaW5nIHRvIGluc2VydCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaW5lIHdoZW4gdGhlCiA8Q09ERT5pbnNlcnQtY29tbWVudDwvQ09ERT4gY29tbWFuZCBpcyBleGVjdXRlZC4gIFRoZSBkZWZhdWx0IHZhbHVlCiBpcyA8Q09ERT4iIyI8L0NPREU+LgpAQCAtOTUxOCw3ICs5NjE3LDcgQEAKIDxQPgogCiA8RFQ+PENPREU+Y29tcGxldGlvbi1wcmVmaXgtZGlzcGxheS1sZW5ndGg8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzA2Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzEwIj48L0E+CiBUaGUgbGVuZ3RoIGluIGNoYXJhY3RlcnMgb2YgdGhlIGNvbW1vbiBwcmVmaXggb2YgYSBsaXN0IG9mIHBvc3NpYmxlCiBjb21wbGV0aW9ucyB0aGF0IGlzIGRpc3BsYXllZCB3aXRob3V0IG1vZGlmaWNhdGlvbi4gIFdoZW4gc2V0IHRvIGEKIHZhbHVlIGdyZWF0ZXIgdGhhbiB6ZXJvLCBjb21tb24gcHJlZml4ZXMgbG9uZ2VyIHRoYW4gdGhpcyB2YWx1ZSBhcmUKQEAgLTk1MjYsNyArOTYyNSw3IEBACiA8UD4KIAogPERUPjxDT0RFPmNvbXBsZXRpb24tcXVlcnktaXRlbXM8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzA3Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzExIj48L0E+CiBUaGUgbnVtYmVyIG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSB1c2VyIGlzCiBhc2tlZCB3aGV0aGVyIHRoZSBsaXN0IG9mIHBvc3NpYmlsaXRpZXMgc2hvdWxkIGJlIGRpc3BsYXllZC4KIElmIHRoZSBudW1iZXIgb2YgcG9zc2libGUgY29tcGxldGlvbnMgaXMgZ3JlYXRlciB0aGFuIHRoaXMgdmFsdWUsCkBAIC05NTM4LDcgKzk2MzcsNyBAQAogPFA+CiAKIDxEVD48Q09ERT5jb252ZXJ0LW1ldGE8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzA4Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzEyIj48L0E+CiBJZiBzZXQgdG8gPFNBTVA+YG9uJzwvU0FNUD4sIFJlYWRsaW5lIHdpbGwgY29udmVydCBjaGFyYWN0ZXJzIHdpdGggdGhlCiBlaWdodGggYml0IHNldCB0byBhbiBBU0NJSSBrZXkgc2VxdWVuY2UgYnkgc3RyaXBwaW5nIHRoZSBlaWdodGgKIGJpdCBhbmQgcHJlZml4aW5nIGFuIDxLQkQ+RVNDPC9LQkQ+IGNoYXJhY3RlciwgY29udmVydGluZyB0aGVtIHRvIGEKQEAgLTk1NDYsMzUgKzk2NDUsNDggQEAKIDxQPgogCiA8RFQ+PENPREU+ZGlzYWJsZS1jb21wbGV0aW9uPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMwOSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMxMyI+PC9BPgogSWYgc2V0IHRvIDxTQU1QPmBPbic8L1NBTVA+LCBSZWFkbGluZSB3aWxsIGluaGliaXQgd29yZCBjb21wbGV0aW9uLgogQ29tcGxldGlvbiAgY2hhcmFjdGVycyB3aWxsIGJlIGluc2VydGVkIGludG8gdGhlIGxpbmUgYXMgaWYgdGhleSBoYWQKIGJlZW4gbWFwcGVkIHRvIDxDT0RFPnNlbGYtaW5zZXJ0PC9DT0RFPi4gIFRoZSBkZWZhdWx0IGlzIDxTQU1QPmBvZmYnPC9TQU1QPi4KIDxQPgogCiA8RFQ+PENPREU+ZWRpdGluZy1tb2RlPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMxMCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMxNCI+PC9BPgogVGhlIDxDT0RFPmVkaXRpbmctbW9kZTwvQ09ERT4gdmFyaWFibGUgY29udHJvbHMgd2hpY2ggZGVmYXVsdCBzZXQgb2YKIGtleSBiaW5kaW5ncyBpcyB1c2VkLiAgQnkgZGVmYXVsdCwgUmVhZGxpbmUgc3RhcnRzIHVwIGluIEVtYWNzIGVkaXRpbmcKIG1vZGUsIHdoZXJlIHRoZSBrZXlzdHJva2VzIGFyZSBtb3N0IHNpbWlsYXIgdG8gRW1hY3MuICBUaGlzIHZhcmlhYmxlIGNhbiBiZQogc2V0IHRvIGVpdGhlciA8U0FNUD5gZW1hY3MnPC9TQU1QPiBvciA8U0FNUD5gdmknPC9TQU1QPi4KIDxQPgogCis8RFQ+PENPREU+ZWNoby1jb250cm9sLWNoYXJhY3RlcnM8L0NPREU+Cis8REQ+V2hlbiBzZXQgdG8gPFNBTVA+YG9uJzwvU0FNUD4sIG9uIG9wZXJhdGluZyBzeXN0ZW1zIHRoYXQgaW5kaWNhdGUgdGhleSBzdXBwb3J0IGl0LAorcmVhZGxpbmUgZWNob2VzIGEgY2hhcmFjdGVyIGNvcnJlc3BvbmRpbmcgdG8gYSBzaWduYWwgZ2VuZXJhdGVkIGZyb20gdGhlCitrZXlib2FyZC4gIFRoZSBkZWZhdWx0IGlzIDxTQU1QPmBvbic8L1NBTVA+LgorPFA+CisKIDxEVD48Q09ERT5lbmFibGUta2V5cGFkPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMxMSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMxNSI+PC9BPgogV2hlbiBzZXQgdG8gPFNBTVA+YG9uJzwvU0FNUD4sIFJlYWRsaW5lIHdpbGwgdHJ5IHRvIGVuYWJsZSB0aGUgYXBwbGljYXRpb24KIGtleXBhZCB3aGVuIGl0IGlzIGNhbGxlZC4gIFNvbWUgc3lzdGVtcyBuZWVkIHRoaXMgdG8gZW5hYmxlIHRoZQogYXJyb3cga2V5cy4gIFRoZSBkZWZhdWx0IGlzIDxTQU1QPmBvZmYnPC9TQU1QPi4KIDxQPgogCis8RFQ+PENPREU+ZW5hYmxlLW1ldGEta2V5PC9DT0RFPgorPEREPldoZW4gc2V0IHRvIDxTQU1QPmBvbic8L1NBTVA+LCBSZWFkbGluZSB3aWxsIHRyeSB0byBlbmFibGUgYW55IG1ldGEgbW9kaWZpZXIKK2tleSB0aGUgdGVybWluYWwgY2xhaW1zIHRvIHN1cHBvcnQgd2hlbiBpdCBpcyBjYWxsZWQuICBPbiBtYW55IHRlcm1pbmFscywKK3RoZSBtZXRhIGtleSBpcyB1c2VkIHRvIHNlbmQgZWlnaHQtYml0IGNoYXJhY3RlcnMuCitUaGUgZGVmYXVsdCBpcyA8U0FNUD5gb24nPC9TQU1QPi4KKzxQPgorCiA8RFQ+PENPREU+ZXhwYW5kLXRpbGRlPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMxMiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMxNiI+PC9BPgogSWYgc2V0IHRvIDxTQU1QPmBvbic8L1NBTVA+LCB0aWxkZSBleHBhbnNpb24gaXMgcGVyZm9ybWVkIHdoZW4gUmVhZGxpbmUKIGF0dGVtcHRzIHdvcmQgY29tcGxldGlvbi4gIFRoZSBkZWZhdWx0IGlzIDxTQU1QPmBvZmYnPC9TQU1QPi4KIDxQPgogCiA8RFQ+PENPREU+aGlzdG9yeS1wcmVzZXJ2ZS1wb2ludDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzMTMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzMTciPjwvQT4KIElmIHNldCB0byA8U0FNUD5gb24nPC9TQU1QPiwgdGhlIGhpc3RvcnkgY29kZSBhdHRlbXB0cyB0byBwbGFjZSB0aGUgcG9pbnQgKHRoZQogY3VycmVudCBjdXJzb3IgcG9zaXRpb24pIGF0IHRoZQogc2FtZSBsb2NhdGlvbiBvbiBlYWNoIGhpc3RvcnkgbGluZSByZXRyaWV2ZWQgd2l0aCA8Q09ERT5wcmV2aW91cy1oaXN0b3J5PC9DT0RFPgpAQCAtOTU4MiwxMyArOTY5NCwxMyBAQAogPFA+CiAKIDxEVD48Q09ERT5oaXN0b3J5LXNpemU8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzE0Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzE4Ij48L0E+CiBTZXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGhpc3RvcnkgZW50cmllcyBzYXZlZCBpbiB0aGUgaGlzdG9yeSBsaXN0LiAgSWYKIHNldCB0byB6ZXJvLCB0aGUgbnVtYmVyIG9mIGVudHJpZXMgaW4gdGhlIGhpc3RvcnkgbGlzdCBpcyBub3QgbGltaXRlZC4KIDxQPgogCiA8RFQ+PENPREU+aG9yaXpvbnRhbC1zY3JvbGwtbW9kZTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzMTUiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzMTkiPjwvQT4KIFRoaXMgdmFyaWFibGUgY2FuIGJlIHNldCB0byBlaXRoZXIgPFNBTVA+YG9uJzwvU0FNUD4gb3IgPFNBTVA+YG9mZic8L1NBTVA+LiAgU2V0dGluZyBpdAogdG8gPFNBTVA+YG9uJzwvU0FNUD4gbWVhbnMgdGhhdCB0aGUgdGV4dCBvZiB0aGUgbGluZXMgYmVpbmcgZWRpdGVkIHdpbGwgc2Nyb2xsCiBob3Jpem9udGFsbHkgb24gYSBzaW5nbGUgc2NyZWVuIGxpbmUgd2hlbiB0aGV5IGFyZSBsb25nZXIgdGhhbiB0aGUgd2lkdGgKQEAgLTk1OTcsOCArOTcwOSw4IEBACiA8UD4KIAogPERUPjxDT0RFPmlucHV0LW1ldGE8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzE2Ij48L0E+Ci08QSBOQU1FPSJJRFgzMTciPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzMjAiPjwvQT4KKzxBIE5BTUU9IklEWDMyMSI+PC9BPgogSWYgc2V0IHRvIDxTQU1QPmBvbic8L1NBTVA+LCBSZWFkbGluZSB3aWxsIGVuYWJsZSBlaWdodC1iaXQgaW5wdXQgKGl0CiB3aWxsIG5vdCBjbGVhciB0aGUgZWlnaHRoIGJpdCBpbiB0aGUgY2hhcmFjdGVycyBpdCByZWFkcyksCiByZWdhcmRsZXNzIG9mIHdoYXQgdGhlIHRlcm1pbmFsIGNsYWltcyBpdCBjYW4gc3VwcG9ydC4gIFRoZQpAQCAtOTYwNyw3ICs5NzE5LDcgQEAKIDxQPgogCiA8RFQ+PENPREU+aXNlYXJjaC10ZXJtaW5hdG9yczwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzMTgiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzMjIiPjwvQT4KIFRoZSBzdHJpbmcgb2YgY2hhcmFjdGVycyB0aGF0IHNob3VsZCB0ZXJtaW5hdGUgYW4gaW5jcmVtZW50YWwgc2VhcmNoIHdpdGhvdXQKIHN1YnNlcXVlbnRseSBleGVjdXRpbmcgdGhlIGNoYXJhY3RlciBhcyBhIGNvbW1hbmQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDIiPjguMi41IFNlYXJjaGluZyBmb3IgQ29tbWFuZHMgaW4gdGhlIEhpc3Rvcnk8L0E+KS4KIElmIHRoaXMgdmFyaWFibGUgaGFzIG5vdCBiZWVuIGdpdmVuIGEgdmFsdWUsIHRoZSBjaGFyYWN0ZXJzIDxLQkQ+RVNDPC9LQkQ+IGFuZApAQCAtOTYxNSw3ICs5NzI3LDcgQEAKIDxQPgogCiA8RFQ+PENPREU+a2V5bWFwPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMxOSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMyMyI+PC9BPgogU2V0cyBSZWFkbGluZSdzIGlkZWEgb2YgdGhlIGN1cnJlbnQga2V5bWFwIGZvciBrZXkgYmluZGluZyBjb21tYW5kcy4KIEFjY2VwdGFibGUgPENPREU+a2V5bWFwPC9DT0RFPiBuYW1lcyBhcmUKIDxDT0RFPmVtYWNzPC9DT0RFPiwKQEAgLTk2MzgsMTQgKzk3NTAsMTQgQEAKIDxQPgogCiA8RFQ+PENPREU+bWFyay1tb2RpZmllZC1saW5lczwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzMjAiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzMjQiPjwvQT4KIFRoaXMgdmFyaWFibGUsIHdoZW4gc2V0IHRvIDxTQU1QPmBvbic8L1NBTVA+LCBjYXVzZXMgUmVhZGxpbmUgdG8gZGlzcGxheSBhbgogYXN0ZXJpc2sgKDxTQU1QPmAqJzwvU0FNUD4pIGF0IHRoZSBzdGFydCBvZiBoaXN0b3J5IGxpbmVzIHdoaWNoIGhhdmUgYmVlbiBtb2RpZmllZC4KIFRoaXMgdmFyaWFibGUgaXMgPFNBTVA+YG9mZic8L1NBTVA+IGJ5IGRlZmF1bHQuCiA8UD4KIAogPERUPjxDT0RFPm1hcmstc3ltbGlua2VkLWRpcmVjdG9yaWVzPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMyMSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMyNSI+PC9BPgogSWYgc2V0IHRvIDxTQU1QPmBvbic8L1NBTVA+LCBjb21wbGV0ZWQgbmFtZXMgd2hpY2ggYXJlIHN5bWJvbGljIGxpbmtzCiB0byBkaXJlY3RvcmllcyBoYXZlIGEgc2xhc2ggYXBwZW5kZWQgKHN1YmplY3QgdG8gdGhlIHZhbHVlIG9mCiA8Q09ERT5tYXJrLWRpcmVjdG9yaWVzPC9DT0RFPikuCkBAIC05NjUzLDcgKzk3NjUsNyBAQAogPFA+CiAKIDxEVD48Q09ERT5tYXRjaC1oaWRkZW4tZmlsZXM8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzIyIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzI2Ij48L0E+CiBUaGlzIHZhcmlhYmxlLCB3aGVuIHNldCB0byA8U0FNUD5gb24nPC9TQU1QPiwgY2F1c2VzIFJlYWRsaW5lIHRvIG1hdGNoIGZpbGVzIHdob3NlCiBuYW1lcyBiZWdpbiB3aXRoIGEgPFNBTVA+YC4nPC9TQU1QPiAoaGlkZGVuIGZpbGVzKSB3aGVuIHBlcmZvcm1pbmcgZmlsZW5hbWUKIGNvbXBsZXRpb24sIHVubGVzcyB0aGUgbGVhZGluZyA8U0FNUD5gLic8L1NBTVA+IGlzCkBAIC05NjYyLDE0ICs5Nzc0LDE0IEBACiA8UD4KIAogPERUPjxDT0RFPm91dHB1dC1tZXRhPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMyMyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMyNyI+PC9BPgogSWYgc2V0IHRvIDxTQU1QPmBvbic8L1NBTVA+LCBSZWFkbGluZSB3aWxsIGRpc3BsYXkgY2hhcmFjdGVycyB3aXRoIHRoZQogZWlnaHRoIGJpdCBzZXQgZGlyZWN0bHkgcmF0aGVyIHRoYW4gYXMgYSBtZXRhLXByZWZpeGVkIGVzY2FwZQogc2VxdWVuY2UuICBUaGUgZGVmYXVsdCBpcyA8U0FNUD5gb2ZmJzwvU0FNUD4uCiA8UD4KIAogPERUPjxDT0RFPnBhZ2UtY29tcGxldGlvbnM8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzI0Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzI4Ij48L0E+CiBJZiBzZXQgdG8gPFNBTVA+YG9uJzwvU0FNUD4sIFJlYWRsaW5lIHVzZXMgYW4gaW50ZXJuYWwgPENPREU+bW9yZTwvQ09ERT4tbGlrZSBwYWdlcgogdG8gZGlzcGxheSBhIHNjcmVlbmZ1bCBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucyBhdCBhIHRpbWUuCiBUaGlzIHZhcmlhYmxlIGlzIDxTQU1QPmBvbic8L1NBTVA+IGJ5IGRlZmF1bHQuCkBAIC05NjgyLDcgKzk3OTQsNyBAQAogPFA+CiAKIDxEVD48Q09ERT5yZXZlcnQtYWxsLWF0LW5ld2xpbmU8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzI1Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzI5Ij48L0E+CiBJZiBzZXQgdG8gPFNBTVA+YG9uJzwvU0FNUD4sIFJlYWRsaW5lIHdpbGwgdW5kbyBhbGwgY2hhbmdlcyB0byBoaXN0b3J5IGxpbmVzCiBiZWZvcmUgcmV0dXJuaW5nIHdoZW4gPENPREU+YWNjZXB0LWxpbmU8L0NPREU+IGlzIGV4ZWN1dGVkLiAgQnkgZGVmYXVsdCwKIGhpc3RvcnkgbGluZXMgbWF5IGJlIG1vZGlmaWVkIGFuZCByZXRhaW4gaW5kaXZpZHVhbCB1bmRvIGxpc3RzIGFjcm9zcwpAQCAtOTY5MCw3ICs5ODAyLDcgQEAKIDxQPgogCiA8RFQ+PENPREU+c2hvdy1hbGwtaWYtYW1iaWd1b3VzPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMyNiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMzMCI+PC9BPgogVGhpcyBhbHRlcnMgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGNvbXBsZXRpb24gZnVuY3Rpb25zLiAgSWYKIHNldCB0byA8U0FNUD5gb24nPC9TQU1QPiwgCiB3b3JkcyB3aGljaCBoYXZlIG1vcmUgdGhhbiBvbmUgcG9zc2libGUgY29tcGxldGlvbiBjYXVzZSB0aGUKQEAgLTk2OTksNyArOTgxMSw3IEBACiA8UD4KIAogPERUPjxDT0RFPnNob3ctYWxsLWlmLXVubW9kaWZpZWQ8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzI3Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzMxIj48L0E+CiBUaGlzIGFsdGVycyB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgY29tcGxldGlvbiBmdW5jdGlvbnMgaW4KIGEgZmFzaGlvbiBzaW1pbGFyIHRvIDxWQVI+c2hvdy1hbGwtaWYtYW1iaWd1b3VzPC9WQVI+LgogSWYgc2V0IHRvIDxTQU1QPmBvbic8L1NBTVA+LCAKQEAgLTk3MTAsOCArOTgyMiwyMyBAQAogVGhlIGRlZmF1bHQgdmFsdWUgaXMgPFNBTVA+YG9mZic8L1NBTVA+LgogPFA+CiAKKzxEVD48Q09ERT5za2lwLWNvbXBsZXRlZC10ZXh0PC9DT0RFPgorPEREPjxBIE5BTUU9IklEWDMzMiI+PC9BPgorSWYgc2V0IHRvIDxTQU1QPmBvbic8L1NBTVA+LCB0aGlzIGFsdGVycyB0aGUgZGVmYXVsdCBjb21wbGV0aW9uIGJlaGF2aW9yIHdoZW4KK2luc2VydGluZyBhIHNpbmdsZSBtYXRjaCBpbnRvIHRoZSBsaW5lLiAgSXQncyBvbmx5IGFjdGl2ZSB3aGVuCitwZXJmb3JtaW5nIGNvbXBsZXRpb24gaW4gdGhlIG1pZGRsZSBvZiBhIHdvcmQuICBJZiBlbmFibGVkLCByZWFkbGluZQorZG9lcyBub3QgaW5zZXJ0IGNoYXJhY3RlcnMgZnJvbSB0aGUgY29tcGxldGlvbiB0aGF0IG1hdGNoIGNoYXJhY3RlcnMKK2FmdGVyIHBvaW50IGluIHRoZSB3b3JkIGJlaW5nIGNvbXBsZXRlZCwgc28gcG9ydGlvbnMgb2YgdGhlIHdvcmQKK2ZvbGxvd2luZyB0aGUgY3Vyc29yIGFyZSBub3QgZHVwbGljYXRlZC4KK0ZvciBpbnN0YW5jZSwgaWYgdGhpcyBpcyBlbmFibGVkLCBhdHRlbXB0aW5nIGNvbXBsZXRpb24gd2hlbiB0aGUgY3Vyc29yCitpcyBhZnRlciB0aGUgPFNBTVA+YGUnPC9TQU1QPiBpbiA8U0FNUD5gTWFrZWZpbGUnPC9TQU1QPiB3aWxsIHJlc3VsdCBpbiA8U0FNUD5gTWFrZWZpbGUnPC9TQU1QPgorcmF0aGVyIHRoYW4gPFNBTVA+YE1ha2VmaWxlZmlsZSc8L1NBTVA+LCBhc3N1bWluZyB0aGVyZSBpcyBhIHNpbmdsZSBwb3NzaWJsZQorY29tcGxldGlvbi4KK1RoZSBkZWZhdWx0IHZhbHVlIGlzIDxTQU1QPmBvZmYnPC9TQU1QPi4KKzxQPgorCiA8RFQ+PENPREU+dmlzaWJsZS1zdGF0czwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzMjgiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzMzMiPjwvQT4KIElmIHNldCB0byA8U0FNUD5gb24nPC9TQU1QPiwgYSBjaGFyYWN0ZXIgZGVub3RpbmcgYSBmaWxlJ3MgdHlwZQogaXMgYXBwZW5kZWQgdG8gdGhlIGZpbGVuYW1lIHdoZW4gbGlzdGluZyBwb3NzaWJsZQogY29tcGxldGlvbnMuICBUaGUgZGVmYXVsdCBpcyA8U0FNUD5gb2ZmJzwvU0FNUD4uCkBAIC0xMDEzNSw2OCArMTAyNjIsNjggQEAKIDxIMz4gOC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZyA8L0gzPgogPCEtLWRvY2lkOjpTRUMxMDg6Oi0tPgogPERMIENPTVBBQ1Q+Ci08QSBOQU1FPSJJRFgzMjkiPjwvQT4KKzxBIE5BTUU9IklEWDMzNCI+PC9BPgogPERUPjxDT0RFPmJlZ2lubmluZy1vZi1saW5lIChDLWEpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMzMCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMzNSI+PC9BPgogTW92ZSB0byB0aGUgc3RhcnQgb2YgdGhlIGN1cnJlbnQgbGluZS4KIDxQPgogCi08QSBOQU1FPSJJRFgzMzEiPjwvQT4KKzxBIE5BTUU9IklEWDMzNiI+PC9BPgogPERUPjxDT0RFPmVuZC1vZi1saW5lIChDLWUpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMzMiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMzNyI+PC9BPgogTW92ZSB0byB0aGUgZW5kIG9mIHRoZSBsaW5lLgogPFA+CiAKLTxBIE5BTUU9IklEWDMzMyI+PC9BPgorPEEgTkFNRT0iSURYMzM4Ij48L0E+CiA8RFQ+PENPREU+Zm9yd2FyZC1jaGFyIChDLWYpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMzNCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMzOSI+PC9BPgogTW92ZSBmb3J3YXJkIGEgY2hhcmFjdGVyLgogPFA+CiAKLTxBIE5BTUU9IklEWDMzNSI+PC9BPgorPEEgTkFNRT0iSURYMzQwIj48L0E+CiA8RFQ+PENPREU+YmFja3dhcmQtY2hhciAoQy1iKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzMzYiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzNDEiPjwvQT4KIE1vdmUgYmFjayBhIGNoYXJhY3Rlci4KIDxQPgogCi08QSBOQU1FPSJJRFgzMzciPjwvQT4KKzxBIE5BTUU9IklEWDM0MiI+PC9BPgogPERUPjxDT0RFPmZvcndhcmQtd29yZCAoTS1mKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzMzgiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzNDMiPjwvQT4KIE1vdmUgZm9yd2FyZCB0byB0aGUgZW5kIG9mIHRoZSBuZXh0IHdvcmQuCiBXb3JkcyBhcmUgY29tcG9zZWQgb2YgbGV0dGVycyBhbmQgZGlnaXRzLgogPFA+CiAKLTxBIE5BTUU9IklEWDMzOSI+PC9BPgorPEEgTkFNRT0iSURYMzQ0Ij48L0E+CiA8RFQ+PENPREU+YmFja3dhcmQtd29yZCAoTS1iKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzNDAiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzNDUiPjwvQT4KIE1vdmUgYmFjayB0byB0aGUgc3RhcnQgb2YgdGhlIGN1cnJlbnQgb3IgcHJldmlvdXMgd29yZC4KIFdvcmRzIGFyZSBjb21wb3NlZCBvZiBsZXR0ZXJzIGFuZCBkaWdpdHMuCiA8UD4KIAotPEEgTkFNRT0iSURYMzQxIj48L0E+Cis8QSBOQU1FPSJJRFgzNDYiPjwvQT4KIDxEVD48Q09ERT5zaGVsbC1mb3J3YXJkLXdvcmQgKCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzQyIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzQ3Ij48L0E+CiBNb3ZlIGZvcndhcmQgdG8gdGhlIGVuZCBvZiB0aGUgbmV4dCB3b3JkLgogV29yZHMgYXJlIGRlbGltaXRlZCBieSBub24tcXVvdGVkIHNoZWxsIG1ldGFjaGFyYWN0ZXJzLgogPFA+CiAKLTxBIE5BTUU9IklEWDM0MyI+PC9BPgorPEEgTkFNRT0iSURYMzQ4Ij48L0E+CiA8RFQ+PENPREU+c2hlbGwtYmFja3dhcmQtd29yZCAoKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzNDQiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzNDkiPjwvQT4KIE1vdmUgYmFjayB0byB0aGUgc3RhcnQgb2YgdGhlIGN1cnJlbnQgb3IgcHJldmlvdXMgd29yZC4KIFdvcmRzIGFyZSBkZWxpbWl0ZWQgYnkgbm9uLXF1b3RlZCBzaGVsbCBtZXRhY2hhcmFjdGVycy4KIDxQPgogCi08QSBOQU1FPSJJRFgzNDUiPjwvQT4KKzxBIE5BTUU9IklEWDM1MCI+PC9BPgogPERUPjxDT0RFPmNsZWFyLXNjcmVlbiAoQy1sKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzNDYiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzNTEiPjwvQT4KIENsZWFyIHRoZSBzY3JlZW4gYW5kIHJlZHJhdyB0aGUgY3VycmVudCBsaW5lLAogbGVhdmluZyB0aGUgY3VycmVudCBsaW5lIGF0IHRoZSB0b3Agb2YgdGhlIHNjcmVlbi4KIDxQPgogCi08QSBOQU1FPSJJRFgzNDciPjwvQT4KKzxBIE5BTUU9IklEWDM1MiI+PC9BPgogPERUPjxDT0RFPnJlZHJhdy1jdXJyZW50LWxpbmUgKCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzQ4Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzUzIj48L0E+CiBSZWZyZXNoIHRoZSBjdXJyZW50IGxpbmUuICBCeSBkZWZhdWx0LCB0aGlzIGlzIHVuYm91bmQuCiA8UD4KIApAQCAtMTAyMjIsOSArMTAzNDksOSBAQAogPFA+CiAKIDxETCBDT01QQUNUPgotPEEgTkFNRT0iSURYMzQ5Ij48L0E+Cis8QSBOQU1FPSJJRFgzNTQiPjwvQT4KIDxEVD48Q09ERT5hY2NlcHQtbGluZSAoTmV3bGluZSBvciBSZXR1cm4pPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDM1MCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM1NSI+PC9BPgogQWNjZXB0IHRoZSBsaW5lIHJlZ2FyZGxlc3Mgb2Ygd2hlcmUgdGhlIGN1cnNvciBpcy4KIElmIHRoaXMgbGluZSBpcwogbm9uLWVtcHR5LCBhZGQgaXQgdG8gdGhlIGhpc3RvcnkgbGlzdCBhY2NvcmRpbmcgdG8gdGhlIHNldHRpbmcgb2YKQEAgLTEwMjMzLDgxICsxMDM2MCw4MSBAQAogdG8gaXRzIG9yaWdpbmFsIHN0YXRlLgogPFA+CiAKLTxBIE5BTUU9IklEWDM1MSI+PC9BPgorPEEgTkFNRT0iSURYMzU2Ij48L0E+CiA8RFQ+PENPREU+cHJldmlvdXMtaGlzdG9yeSAoQy1wKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzNTIiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzNTciPjwvQT4KIE1vdmUgYGJhY2snIHRocm91Z2ggdGhlIGhpc3RvcnkgbGlzdCwgZmV0Y2hpbmcgdGhlIHByZXZpb3VzIGNvbW1hbmQuCiA8UD4KIAotPEEgTkFNRT0iSURYMzUzIj48L0E+Cis8QSBOQU1FPSJJRFgzNTgiPjwvQT4KIDxEVD48Q09ERT5uZXh0LWhpc3RvcnkgKEMtbik8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzU0Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzU5Ij48L0E+CiBNb3ZlIGBmb3J3YXJkJyB0aHJvdWdoIHRoZSBoaXN0b3J5IGxpc3QsIGZldGNoaW5nIHRoZSBuZXh0IGNvbW1hbmQuCiA8UD4KIAotPEEgTkFNRT0iSURYMzU1Ij48L0E+Cis8QSBOQU1FPSJJRFgzNjAiPjwvQT4KIDxEVD48Q09ERT5iZWdpbm5pbmctb2YtaGlzdG9yeSAoTS0mIzYwOyk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzU2Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzYxIj48L0E+CiBNb3ZlIHRvIHRoZSBmaXJzdCBsaW5lIGluIHRoZSBoaXN0b3J5LgogPFA+CiAKLTxBIE5BTUU9IklEWDM1NyI+PC9BPgorPEEgTkFNRT0iSURYMzYyIj48L0E+CiA8RFQ+PENPREU+ZW5kLW9mLWhpc3RvcnkgKE0tJiM2MjspPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDM1OCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM2MyI+PC9BPgogTW92ZSB0byB0aGUgZW5kIG9mIHRoZSBpbnB1dCBoaXN0b3J5LCBpLmUuLCB0aGUgbGluZSBjdXJyZW50bHkKIGJlaW5nIGVudGVyZWQuCiA8UD4KIAotPEEgTkFNRT0iSURYMzU5Ij48L0E+Cis8QSBOQU1FPSJJRFgzNjQiPjwvQT4KIDxEVD48Q09ERT5yZXZlcnNlLXNlYXJjaC1oaXN0b3J5IChDLXIpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDM2MCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM2NSI+PC9BPgogU2VhcmNoIGJhY2t3YXJkIHN0YXJ0aW5nIGF0IHRoZSBjdXJyZW50IGxpbmUgYW5kIG1vdmluZyBgdXAnIHRocm91Z2gKIHRoZSBoaXN0b3J5IGFzIG5lY2Vzc2FyeS4gIFRoaXMgaXMgYW4gaW5jcmVtZW50YWwgc2VhcmNoLgogPFA+CiAKLTxBIE5BTUU9IklEWDM2MSI+PC9BPgorPEEgTkFNRT0iSURYMzY2Ij48L0E+CiA8RFQ+PENPREU+Zm9yd2FyZC1zZWFyY2gtaGlzdG9yeSAoQy1zKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzNjIiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzNjciPjwvQT4KIFNlYXJjaCBmb3J3YXJkIHN0YXJ0aW5nIGF0IHRoZSBjdXJyZW50IGxpbmUgYW5kIG1vdmluZyBgZG93bicgdGhyb3VnaAogdGhlIHRoZSBoaXN0b3J5IGFzIG5lY2Vzc2FyeS4gIFRoaXMgaXMgYW4gaW5jcmVtZW50YWwgc2VhcmNoLgogPFA+CiAKLTxBIE5BTUU9IklEWDM2MyI+PC9BPgorPEEgTkFNRT0iSURYMzY4Ij48L0E+CiA8RFQ+PENPREU+bm9uLWluY3JlbWVudGFsLXJldmVyc2Utc2VhcmNoLWhpc3RvcnkgKE0tcCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzY0Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzY5Ij48L0E+CiBTZWFyY2ggYmFja3dhcmQgc3RhcnRpbmcgYXQgdGhlIGN1cnJlbnQgbGluZSBhbmQgbW92aW5nIGB1cCcKIHRocm91Z2ggdGhlIGhpc3RvcnkgYXMgbmVjZXNzYXJ5IHVzaW5nIGEgbm9uLWluY3JlbWVudGFsIHNlYXJjaAogZm9yIGEgc3RyaW5nIHN1cHBsaWVkIGJ5IHRoZSB1c2VyLgogPFA+CiAKLTxBIE5BTUU9IklEWDM2NSI+PC9BPgorPEEgTkFNRT0iSURYMzcwIj48L0E+CiA8RFQ+PENPREU+bm9uLWluY3JlbWVudGFsLWZvcndhcmQtc2VhcmNoLWhpc3RvcnkgKE0tbik8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzY2Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzcxIj48L0E+CiBTZWFyY2ggZm9yd2FyZCBzdGFydGluZyBhdCB0aGUgY3VycmVudCBsaW5lIGFuZCBtb3ZpbmcgYGRvd24nCiB0aHJvdWdoIHRoZSB0aGUgaGlzdG9yeSBhcyBuZWNlc3NhcnkgdXNpbmcgYSBub24taW5jcmVtZW50YWwgc2VhcmNoCiBmb3IgYSBzdHJpbmcgc3VwcGxpZWQgYnkgdGhlIHVzZXIuCiA8UD4KIAotPEEgTkFNRT0iSURYMzY3Ij48L0E+Cis8QSBOQU1FPSJJRFgzNzIiPjwvQT4KIDxEVD48Q09ERT5oaXN0b3J5LXNlYXJjaC1mb3J3YXJkICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDM2OCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM3MyI+PC9BPgogU2VhcmNoIGZvcndhcmQgdGhyb3VnaCB0aGUgaGlzdG9yeSBmb3IgdGhlIHN0cmluZyBvZiBjaGFyYWN0ZXJzCiBiZXR3ZWVuIHRoZSBzdGFydCBvZiB0aGUgY3VycmVudCBsaW5lIGFuZCB0aGUgcG9pbnQuCiBUaGlzIGlzIGEgbm9uLWluY3JlbWVudGFsIHNlYXJjaC4KIEJ5IGRlZmF1bHQsIHRoaXMgY29tbWFuZCBpcyB1bmJvdW5kLgogPFA+CiAKLTxBIE5BTUU9IklEWDM2OSI+PC9BPgorPEEgTkFNRT0iSURYMzc0Ij48L0E+CiA8RFQ+PENPREU+aGlzdG9yeS1zZWFyY2gtYmFja3dhcmQgKCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzcwIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzc1Ij48L0E+CiBTZWFyY2ggYmFja3dhcmQgdGhyb3VnaCB0aGUgaGlzdG9yeSBmb3IgdGhlIHN0cmluZyBvZiBjaGFyYWN0ZXJzCiBiZXR3ZWVuIHRoZSBzdGFydCBvZiB0aGUgY3VycmVudCBsaW5lIGFuZCB0aGUgcG9pbnQuICBUaGlzCiBpcyBhIG5vbi1pbmNyZW1lbnRhbCBzZWFyY2guICBCeSBkZWZhdWx0LCB0aGlzIGNvbW1hbmQgaXMgdW5ib3VuZC4KIDxQPgogCi08QSBOQU1FPSJJRFgzNzEiPjwvQT4KKzxBIE5BTUU9IklEWDM3NiI+PC9BPgogPERUPjxDT0RFPnlhbmstbnRoLWFyZyAoTS1DLXkpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDM3MiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM3NyI+PC9BPgogSW5zZXJ0IHRoZSBmaXJzdCBhcmd1bWVudCB0byB0aGUgcHJldmlvdXMgY29tbWFuZCAodXN1YWxseQogdGhlIHNlY29uZCB3b3JkIG9uIHRoZSBwcmV2aW91cyBsaW5lKSBhdCBwb2ludC4KIFdpdGggYW4gYXJndW1lbnQgPFZBUj5uPC9WQVI+LApAQCAtMTAzMTgsOSArMTA0NDUsOSBAQAogYXMgaWYgdGhlIDxTQU1QPmAhPFZBUj5uPC9WQVI+JzwvU0FNUD4gaGlzdG9yeSBleHBhbnNpb24gaGFkIGJlZW4gc3BlY2lmaWVkLgogPFA+CiAKLTxBIE5BTUU9IklEWDM3MyI+PC9BPgorPEEgTkFNRT0iSURYMzc4Ij48L0E+CiA8RFQ+PENPREU+eWFuay1sYXN0LWFyZyAoTS0uIG9yIE0tXyk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzc0Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzc5Ij48L0E+CiBJbnNlcnQgbGFzdCBhcmd1bWVudCB0byB0aGUgcHJldmlvdXMgY29tbWFuZCAodGhlIGxhc3Qgd29yZCBvZiB0aGUKIHByZXZpb3VzIGhpc3RvcnkgZW50cnkpLiAgV2l0aCBhbgogYXJndW1lbnQsIGJlaGF2ZSBleGFjdGx5IGxpa2UgPENPREU+eWFuay1udGgtYXJnPC9DT0RFPi4KQEAgLTEwMzUyLDQ2ICsxMDQ3OSw0NiBAQAogPFA+CiAKIDxETCBDT01QQUNUPgotPEEgTkFNRT0iSURYMzc1Ij48L0E+Cis8QSBOQU1FPSJJRFgzODAiPjwvQT4KIDxEVD48Q09ERT5kZWxldGUtY2hhciAoQy1kKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzNzYiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzODEiPjwvQT4KIERlbGV0ZSB0aGUgY2hhcmFjdGVyIGF0IHBvaW50LiAgSWYgcG9pbnQgaXMgYXQgdGhlCiBiZWdpbm5pbmcgb2YgdGhlIGxpbmUsIHRoZXJlIGFyZSBubyBjaGFyYWN0ZXJzIGluIHRoZSBsaW5lLCBhbmQKIHRoZSBsYXN0IGNoYXJhY3RlciB0eXBlZCB3YXMgbm90IGJvdW5kIHRvIDxDT0RFPmRlbGV0ZS1jaGFyPC9DT0RFPiwgdGhlbgogcmV0dXJuIEVPRi4KIDxQPgogCi08QSBOQU1FPSJJRFgzNzciPjwvQT4KKzxBIE5BTUU9IklEWDM4MiI+PC9BPgogPERUPjxDT0RFPmJhY2t3YXJkLWRlbGV0ZS1jaGFyIChSdWJvdXQpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDM3OCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM4MyI+PC9BPgogRGVsZXRlIHRoZSBjaGFyYWN0ZXIgYmVoaW5kIHRoZSBjdXJzb3IuICBBIG51bWVyaWMgYXJndW1lbnQgbWVhbnMKIHRvIGtpbGwgdGhlIGNoYXJhY3RlcnMgaW5zdGVhZCBvZiBkZWxldGluZyB0aGVtLgogPFA+CiAKLTxBIE5BTUU9IklEWDM3OSI+PC9BPgorPEEgTkFNRT0iSURYMzg0Ij48L0E+CiA8RFQ+PENPREU+Zm9yd2FyZC1iYWNrd2FyZC1kZWxldGUtY2hhciAoKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzODAiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzODUiPjwvQT4KIERlbGV0ZSB0aGUgY2hhcmFjdGVyIHVuZGVyIHRoZSBjdXJzb3IsIHVubGVzcyB0aGUgY3Vyc29yIGlzIGF0IHRoZQogZW5kIG9mIHRoZSBsaW5lLCBpbiB3aGljaCBjYXNlIHRoZSBjaGFyYWN0ZXIgYmVoaW5kIHRoZSBjdXJzb3IgaXMKIGRlbGV0ZWQuICBCeSBkZWZhdWx0LCB0aGlzIGlzIG5vdCBib3VuZCB0byBhIGtleS4KIDxQPgogCi08QSBOQU1FPSJJRFgzODEiPjwvQT4KKzxBIE5BTUU9IklEWDM4NiI+PC9BPgogPERUPjxDT0RFPnF1b3RlZC1pbnNlcnQgKEMtcSBvciBDLXYpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDM4MiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM4NyI+PC9BPgogQWRkIHRoZSBuZXh0IGNoYXJhY3RlciB0eXBlZCB0byB0aGUgbGluZSB2ZXJiYXRpbS4gIFRoaXMgaXMKIGhvdyB0byBpbnNlcnQga2V5IHNlcXVlbmNlcyBsaWtlIDxLQkQ+Qy1xPC9LQkQ+LCBmb3IgZXhhbXBsZS4KIDxQPgogCi08QSBOQU1FPSJJRFgzODMiPjwvQT4KKzxBIE5BTUU9IklEWDM4OCI+PC9BPgogPERUPjxDT0RFPnNlbGYtaW5zZXJ0IChhLCBiLCBBLCAxLCAhLCA8c21hbGw+Li4uPC9zbWFsbD4pPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDM4NCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM4OSI+PC9BPgogSW5zZXJ0IHlvdXJzZWxmLgogPFA+CiAKLTxBIE5BTUU9IklEWDM4NSI+PC9BPgorPEEgTkFNRT0iSURYMzkwIj48L0E+CiA8RFQ+PENPREU+dHJhbnNwb3NlLWNoYXJzIChDLXQpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDM4NiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM5MSI+PC9BPgogRHJhZyB0aGUgY2hhcmFjdGVyIGJlZm9yZSB0aGUgY3Vyc29yIGZvcndhcmQgb3ZlcgogdGhlIGNoYXJhY3RlciBhdCB0aGUgY3Vyc29yLCBtb3ZpbmcgdGhlCiBjdXJzb3IgZm9yd2FyZCBhcyB3ZWxsLiAgSWYgdGhlIGluc2VydGlvbiBwb2ludApAQCAtMTA0MDAsMzkgKzEwNTI3LDM5IEBACiBOZWdhdGl2ZSBhcmd1bWVudHMgaGF2ZSBubyBlZmZlY3QuCiA8UD4KIAotPEEgTkFNRT0iSURYMzg3Ij48L0E+Cis8QSBOQU1FPSJJRFgzOTIiPjwvQT4KIDxEVD48Q09ERT50cmFuc3Bvc2Utd29yZHMgKE0tdCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzg4Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzkzIj48L0E+CiBEcmFnIHRoZSB3b3JkIGJlZm9yZSBwb2ludCBwYXN0IHRoZSB3b3JkIGFmdGVyIHBvaW50LAogbW92aW5nIHBvaW50IHBhc3QgdGhhdCB3b3JkIGFzIHdlbGwuCiBJZiB0aGUgaW5zZXJ0aW9uIHBvaW50IGlzIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUsIHRoaXMgdHJhbnNwb3NlcwogdGhlIGxhc3QgdHdvIHdvcmRzIG9uIHRoZSBsaW5lLgogPFA+CiAKLTxBIE5BTUU9IklEWDM4OSI+PC9BPgorPEEgTkFNRT0iSURYMzk0Ij48L0E+CiA8RFQ+PENPREU+dXBjYXNlLXdvcmQgKE0tdSk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzkwIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzk1Ij48L0E+CiBVcHBlcmNhc2UgdGhlIGN1cnJlbnQgKG9yIGZvbGxvd2luZykgd29yZC4gIFdpdGggYSBuZWdhdGl2ZSBhcmd1bWVudCwKIHVwcGVyY2FzZSB0aGUgcHJldmlvdXMgd29yZCwgYnV0IGRvIG5vdCBtb3ZlIHRoZSBjdXJzb3IuCiA8UD4KIAotPEEgTkFNRT0iSURYMzkxIj48L0E+Cis8QSBOQU1FPSJJRFgzOTYiPjwvQT4KIDxEVD48Q09ERT5kb3duY2FzZS13b3JkIChNLWwpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDM5MiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM5NyI+PC9BPgogTG93ZXJjYXNlIHRoZSBjdXJyZW50IChvciBmb2xsb3dpbmcpIHdvcmQuICBXaXRoIGEgbmVnYXRpdmUgYXJndW1lbnQsCiBsb3dlcmNhc2UgdGhlIHByZXZpb3VzIHdvcmQsIGJ1dCBkbyBub3QgbW92ZSB0aGUgY3Vyc29yLgogPFA+CiAKLTxBIE5BTUU9IklEWDM5MyI+PC9BPgorPEEgTkFNRT0iSURYMzk4Ij48L0E+CiA8RFQ+PENPREU+Y2FwaXRhbGl6ZS13b3JkIChNLWMpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDM5NCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM5OSI+PC9BPgogQ2FwaXRhbGl6ZSB0aGUgY3VycmVudCAob3IgZm9sbG93aW5nKSB3b3JkLiAgV2l0aCBhIG5lZ2F0aXZlIGFyZ3VtZW50LAogY2FwaXRhbGl6ZSB0aGUgcHJldmlvdXMgd29yZCwgYnV0IGRvIG5vdCBtb3ZlIHRoZSBjdXJzb3IuCiA8UD4KIAotPEEgTkFNRT0iSURYMzk1Ij48L0E+Cis8QSBOQU1FPSJJRFg0MDAiPjwvQT4KIDxEVD48Q09ERT5vdmVyd3JpdGUtbW9kZSAoKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzOTYiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0MDEiPjwvQT4KIFRvZ2dsZSBvdmVyd3JpdGUgbW9kZS4gIFdpdGggYW4gZXhwbGljaXQgcG9zaXRpdmUgbnVtZXJpYyBhcmd1bWVudCwKIHN3aXRjaGVzIHRvIG92ZXJ3cml0ZSBtb2RlLiAgV2l0aCBhbiBleHBsaWNpdCBub24tcG9zaXRpdmUgbnVtZXJpYwogYXJndW1lbnQsIHN3aXRjaGVzIHRvIGluc2VydCBtb2RlLiAgVGhpcyBjb21tYW5kIGFmZmVjdHMgb25seQpAQCAtMTA0NzIsMTIxICsxMDU5OSwxMjEgQEAKIAogPERMIENPTVBBQ1Q+CiAKLTxBIE5BTUU9IklEWDM5NyI+PC9BPgorPEEgTkFNRT0iSURYNDAyIj48L0E+CiA8RFQ+PENPREU+a2lsbC1saW5lIChDLWspPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDM5OCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQwMyI+PC9BPgogS2lsbCB0aGUgdGV4dCBmcm9tIHBvaW50IHRvIHRoZSBlbmQgb2YgdGhlIGxpbmUuCiA8UD4KIAotPEEgTkFNRT0iSURYMzk5Ij48L0E+Cis8QSBOQU1FPSJJRFg0MDQiPjwvQT4KIDxEVD48Q09ERT5iYWNrd2FyZC1raWxsLWxpbmUgKEMteCBSdWJvdXQpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQwMCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQwNSI+PC9BPgogS2lsbCBiYWNrd2FyZCB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaW5lLgogPFA+CiAKLTxBIE5BTUU9IklEWDQwMSI+PC9BPgorPEEgTkFNRT0iSURYNDA2Ij48L0E+CiA8RFQ+PENPREU+dW5peC1saW5lLWRpc2NhcmQgKEMtdSk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDAyIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDA3Ij48L0E+CiBLaWxsIGJhY2t3YXJkIGZyb20gdGhlIGN1cnNvciB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBjdXJyZW50IGxpbmUuCiA8UD4KIAotPEEgTkFNRT0iSURYNDAzIj48L0E+Cis8QSBOQU1FPSJJRFg0MDgiPjwvQT4KIDxEVD48Q09ERT5raWxsLXdob2xlLWxpbmUgKCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDA0Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDA5Ij48L0E+CiBLaWxsIGFsbCBjaGFyYWN0ZXJzIG9uIHRoZSBjdXJyZW50IGxpbmUsIG5vIG1hdHRlciB3aGVyZSBwb2ludCBpcy4KIEJ5IGRlZmF1bHQsIHRoaXMgaXMgdW5ib3VuZC4KIDxQPgogCi08QSBOQU1FPSJJRFg0MDUiPjwvQT4KKzxBIE5BTUU9IklEWDQxMCI+PC9BPgogPERUPjxDT0RFPmtpbGwtd29yZCAoTS1kKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0MDYiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0MTEiPjwvQT4KIEtpbGwgZnJvbSBwb2ludCB0byB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IHdvcmQsIG9yIGlmIGJldHdlZW4KIHdvcmRzLCB0byB0aGUgZW5kIG9mIHRoZSBuZXh0IHdvcmQuCiBXb3JkIGJvdW5kYXJpZXMgYXJlIHRoZSBzYW1lIGFzIDxDT0RFPmZvcndhcmQtd29yZDwvQ09ERT4uCiA8UD4KIAotPEEgTkFNRT0iSURYNDA3Ij48L0E+Cis8QSBOQU1FPSJJRFg0MTIiPjwvQT4KIDxEVD48Q09ERT5iYWNrd2FyZC1raWxsLXdvcmQgKE0tPEtCRD5ERUw8L0tCRD4pPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQwOCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQxMyI+PC9BPgogS2lsbCB0aGUgd29yZCBiZWhpbmQgcG9pbnQuCiBXb3JkIGJvdW5kYXJpZXMgYXJlIHRoZSBzYW1lIGFzIDxDT0RFPmJhY2t3YXJkLXdvcmQ8L0NPREU+LgogPFA+CiAKLTxBIE5BTUU9IklEWDQwOSI+PC9BPgorPEEgTkFNRT0iSURYNDE0Ij48L0E+CiA8RFQ+PENPREU+c2hlbGwta2lsbC13b3JkICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQxMCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQxNSI+PC9BPgogS2lsbCBmcm9tIHBvaW50IHRvIHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgd29yZCwgb3IgaWYgYmV0d2Vlbgogd29yZHMsIHRvIHRoZSBlbmQgb2YgdGhlIG5leHQgd29yZC4KIFdvcmQgYm91bmRhcmllcyBhcmUgdGhlIHNhbWUgYXMgPENPREU+c2hlbGwtZm9yd2FyZC13b3JkPC9DT0RFPi4KIDxQPgogCi08QSBOQU1FPSJJRFg0MTEiPjwvQT4KKzxBIE5BTUU9IklEWDQxNiI+PC9BPgogPERUPjxDT0RFPmJhY2t3YXJkLWtpbGwtd29yZCAoKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0MTIiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0MTciPjwvQT4KIEtpbGwgdGhlIHdvcmQgYmVoaW5kIHBvaW50LgogV29yZCBib3VuZGFyaWVzIGFyZSB0aGUgc2FtZSBhcyA8Q09ERT5zaGVsbC1iYWNrd2FyZC13b3JkPC9DT0RFPi4KIDxQPgogCi08QSBOQU1FPSJJRFg0MTMiPjwvQT4KKzxBIE5BTUU9IklEWDQxOCI+PC9BPgogPERUPjxDT0RFPnVuaXgtd29yZC1ydWJvdXQgKEMtdyk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDE0Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDE5Ij48L0E+CiBLaWxsIHRoZSB3b3JkIGJlaGluZCBwb2ludCwgdXNpbmcgd2hpdGUgc3BhY2UgYXMgYSB3b3JkIGJvdW5kYXJ5LgogVGhlIGtpbGxlZCB0ZXh0IGlzIHNhdmVkIG9uIHRoZSBraWxsLXJpbmcuCiA8UD4KIAotPEEgTkFNRT0iSURYNDE1Ij48L0E+Cis8QSBOQU1FPSJJRFg0MjAiPjwvQT4KIDxEVD48Q09ERT51bml4LWZpbGVuYW1lLXJ1Ym91dCAoKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0MTYiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0MjEiPjwvQT4KIEtpbGwgdGhlIHdvcmQgYmVoaW5kIHBvaW50LCB1c2luZyB3aGl0ZSBzcGFjZSBhbmQgdGhlIHNsYXNoIGNoYXJhY3RlcgogYXMgdGhlIHdvcmQgYm91bmRhcmllcy4KIFRoZSBraWxsZWQgdGV4dCBpcyBzYXZlZCBvbiB0aGUga2lsbC1yaW5nLgogPFA+CiAKLTxBIE5BTUU9IklEWDQxNyI+PC9BPgorPEEgTkFNRT0iSURYNDIyIj48L0E+CiA8RFQ+PENPREU+ZGVsZXRlLWhvcml6b250YWwtc3BhY2UgKCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDE4Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDIzIj48L0E+CiBEZWxldGUgYWxsIHNwYWNlcyBhbmQgdGFicyBhcm91bmQgcG9pbnQuICBCeSBkZWZhdWx0LCB0aGlzIGlzIHVuYm91bmQuCiA8UD4KIAotPEEgTkFNRT0iSURYNDE5Ij48L0E+Cis8QSBOQU1FPSJJRFg0MjQiPjwvQT4KIDxEVD48Q09ERT5raWxsLXJlZ2lvbiAoKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0MjAiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0MjUiPjwvQT4KIEtpbGwgdGhlIHRleHQgaW4gdGhlIGN1cnJlbnQgcmVnaW9uLgogQnkgZGVmYXVsdCwgdGhpcyBjb21tYW5kIGlzIHVuYm91bmQuCiA8UD4KIAotPEEgTkFNRT0iSURYNDIxIj48L0E+Cis8QSBOQU1FPSJJRFg0MjYiPjwvQT4KIDxEVD48Q09ERT5jb3B5LXJlZ2lvbi1hcy1raWxsICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQyMiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQyNyI+PC9BPgogQ29weSB0aGUgdGV4dCBpbiB0aGUgcmVnaW9uIHRvIHRoZSBraWxsIGJ1ZmZlciwgc28gaXQgY2FuIGJlIHlhbmtlZAogcmlnaHQgYXdheS4gIEJ5IGRlZmF1bHQsIHRoaXMgY29tbWFuZCBpcyB1bmJvdW5kLgogPFA+CiAKLTxBIE5BTUU9IklEWDQyMyI+PC9BPgorPEEgTkFNRT0iSURYNDI4Ij48L0E+CiA8RFQ+PENPREU+Y29weS1iYWNrd2FyZC13b3JkICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQyNCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQyOSI+PC9BPgogQ29weSB0aGUgd29yZCBiZWZvcmUgcG9pbnQgdG8gdGhlIGtpbGwgYnVmZmVyLgogVGhlIHdvcmQgYm91bmRhcmllcyBhcmUgdGhlIHNhbWUgYXMgPENPREU+YmFja3dhcmQtd29yZDwvQ09ERT4uCiBCeSBkZWZhdWx0LCB0aGlzIGNvbW1hbmQgaXMgdW5ib3VuZC4KIDxQPgogCi08QSBOQU1FPSJJRFg0MjUiPjwvQT4KKzxBIE5BTUU9IklEWDQzMCI+PC9BPgogPERUPjxDT0RFPmNvcHktZm9yd2FyZC13b3JkICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQyNiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQzMSI+PC9BPgogQ29weSB0aGUgd29yZCBmb2xsb3dpbmcgcG9pbnQgdG8gdGhlIGtpbGwgYnVmZmVyLgogVGhlIHdvcmQgYm91bmRhcmllcyBhcmUgdGhlIHNhbWUgYXMgPENPREU+Zm9yd2FyZC13b3JkPC9DT0RFPi4KIEJ5IGRlZmF1bHQsIHRoaXMgY29tbWFuZCBpcyB1bmJvdW5kLgogPFA+CiAKLTxBIE5BTUU9IklEWDQyNyI+PC9BPgorPEEgTkFNRT0iSURYNDMyIj48L0E+CiA8RFQ+PENPREU+eWFuayAoQy15KTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0MjgiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0MzMiPjwvQT4KIFlhbmsgdGhlIHRvcCBvZiB0aGUga2lsbCByaW5nIGludG8gdGhlIGJ1ZmZlciBhdCBwb2ludC4KIDxQPgogCi08QSBOQU1FPSJJRFg0MjkiPjwvQT4KKzxBIE5BTUU9IklEWDQzNCI+PC9BPgogPERUPjxDT0RFPnlhbmstcG9wIChNLXkpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQzMCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQzNSI+PC9BPgogUm90YXRlIHRoZSBraWxsLXJpbmcsIGFuZCB5YW5rIHRoZSBuZXcgdG9wLiAgWW91IGNhbiBvbmx5IGRvIHRoaXMgaWYKIHRoZSBwcmlvciBjb21tYW5kIGlzIDxDT0RFPnlhbms8L0NPREU+IG9yIDxDT0RFPnlhbmstcG9wPC9DT0RFPi4KIDwvREw+CkBAIC0xMDYxMCwxNiArMTA3MzcsMTYgQEAKIDwhLS1kb2NpZDo6U0VDMTEyOjotLT4KIDxETCBDT01QQUNUPgogCi08QSBOQU1FPSJJRFg0MzEiPjwvQT4KKzxBIE5BTUU9IklEWDQzNiI+PC9BPgogPERUPjxDT0RFPmRpZ2l0LWFyZ3VtZW50ICg8S0JEPk0tMDwvS0JEPiwgPEtCRD5NLTE8L0tCRD4sIDxzbWFsbD4uLi48L3NtYWxsPiA8S0JEPk0tLTwvS0JEPik8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDMyIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDM3Ij48L0E+CiBBZGQgdGhpcyBkaWdpdCB0byB0aGUgYXJndW1lbnQgYWxyZWFkeSBhY2N1bXVsYXRpbmcsIG9yIHN0YXJ0IGEgbmV3CiBhcmd1bWVudC4gIDxLQkQ+TS0tPC9LQkQ+IHN0YXJ0cyBhIG5lZ2F0aXZlIGFyZ3VtZW50LgogPFA+CiAKLTxBIE5BTUU9IklEWDQzMyI+PC9BPgorPEEgTkFNRT0iSURYNDM4Ij48L0E+CiA8RFQ+PENPREU+dW5pdmVyc2FsLWFyZ3VtZW50ICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQzNCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQzOSI+PC9BPgogVGhpcyBpcyBhbm90aGVyIHdheSB0byBzcGVjaWZ5IGFuIGFyZ3VtZW50LgogSWYgdGhpcyBjb21tYW5kIGlzIGZvbGxvd2VkIGJ5IG9uZSBvciBtb3JlIGRpZ2l0cywgb3B0aW9uYWxseSB3aXRoIGEKIGxlYWRpbmcgbWludXMgc2lnbiwgdGhvc2UgZGlnaXRzIGRlZmluZSB0aGUgYXJndW1lbnQuCkBAIC0xMDY1NCw5ICsxMDc4MSw5IEBACiA8UD4KIAogPERMIENPTVBBQ1Q+Ci08QSBOQU1FPSJJRFg0MzUiPjwvQT4KKzxBIE5BTUU9IklEWDQ0MCI+PC9BPgogPERUPjxDT0RFPmNvbXBsZXRlICg8S0JEPlRBQjwvS0JEPik8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDM2Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDQxIj48L0E+CiBBdHRlbXB0IHRvIHBlcmZvcm0gY29tcGxldGlvbiBvbiB0aGUgdGV4dCBiZWZvcmUgcG9pbnQuCiBUaGUgYWN0dWFsIGNvbXBsZXRpb24gcGVyZm9ybWVkIGlzIGFwcGxpY2F0aW9uLXNwZWNpZmljLgogQmFzaCBhdHRlbXB0cyBjb21wbGV0aW9uIHRyZWF0aW5nIHRoZSB0ZXh0IGFzIGEgdmFyaWFibGUgKGlmIHRoZQpAQCAtMTA2NjYsMjIgKzEwNzkzLDIyIEBACiBvZiB0aGVzZSBwcm9kdWNlcyBhIG1hdGNoLCBmaWxlbmFtZSBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZC4KIDxQPgogCi08QSBOQU1FPSJJRFg0MzciPjwvQT4KKzxBIE5BTUU9IklEWDQ0MiI+PC9BPgogPERUPjxDT0RFPnBvc3NpYmxlLWNvbXBsZXRpb25zIChNLT8pPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQzOCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQ0MyI+PC9BPgogTGlzdCB0aGUgcG9zc2libGUgY29tcGxldGlvbnMgb2YgdGhlIHRleHQgYmVmb3JlIHBvaW50LgogPFA+CiAKLTxBIE5BTUU9IklEWDQzOSI+PC9BPgorPEEgTkFNRT0iSURYNDQ0Ij48L0E+CiA8RFQ+PENPREU+aW5zZXJ0LWNvbXBsZXRpb25zIChNLSopPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQ0MCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQ0NSI+PC9BPgogSW5zZXJ0IGFsbCBjb21wbGV0aW9ucyBvZiB0aGUgdGV4dCBiZWZvcmUgcG9pbnQgdGhhdCB3b3VsZCBoYXZlCiBiZWVuIGdlbmVyYXRlZCBieSA8Q09ERT5wb3NzaWJsZS1jb21wbGV0aW9uczwvQ09ERT4uCiA8UD4KIAotPEEgTkFNRT0iSURYNDQxIj48L0E+Cis8QSBOQU1FPSJJRFg0NDYiPjwvQT4KIDxEVD48Q09ERT5tZW51LWNvbXBsZXRlICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQ0MiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQ0NyI+PC9BPgogU2ltaWxhciB0byA8Q09ERT5jb21wbGV0ZTwvQ09ERT4sIGJ1dCByZXBsYWNlcyB0aGUgd29yZCB0byBiZSBjb21wbGV0ZWQKIHdpdGggYSBzaW5nbGUgbWF0Y2ggZnJvbSB0aGUgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucy4KIFJlcGVhdGVkIGV4ZWN1dGlvbiBvZiA8Q09ERT5tZW51LWNvbXBsZXRlPC9DT0RFPiBzdGVwcyB0aHJvdWdoIHRoZSBsaXN0CkBAIC0xMDY5Niw5ICsxMDgyMywxNyBAQAogYnkgZGVmYXVsdC4KIDxQPgogCi08QSBOQU1FPSJJRFg0NDMiPjwvQT4KKzxBIE5BTUU9IklEWDQ0OCI+PC9BPgorPERUPjxDT0RFPm1lbnUtY29tcGxldGUtYmFja3dhcmQgKCk8L0NPREU+Cis8REQ+PEEgTkFNRT0iSURYNDQ5Ij48L0E+CitJZGVudGljYWwgdG8gPENPREU+bWVudS1jb21wbGV0ZTwvQ09ERT4sIGJ1dCBtb3ZlcyBiYWNrd2FyZCB0aHJvdWdoIHRoZSBsaXN0CitvZiBwb3NzaWJsZSBjb21wbGV0aW9ucywgYXMgaWYgPENPREU+bWVudS1jb21wbGV0ZTwvQ09ERT4gaGFkIGJlZW4gZ2l2ZW4gYQorbmVnYXRpdmUgYXJndW1lbnQuCis8UD4KKworPEEgTkFNRT0iSURYNDUwIj48L0E+CiA8RFQ+PENPREU+ZGVsZXRlLWNoYXItb3ItbGlzdCAoKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0NDQiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0NTEiPjwvQT4KIERlbGV0ZXMgdGhlIGNoYXJhY3RlciB1bmRlciB0aGUgY3Vyc29yIGlmIG5vdCBhdCB0aGUgYmVnaW5uaW5nIG9yCiBlbmQgb2YgdGhlIGxpbmUgKGxpa2UgPENPREU+ZGVsZXRlLWNoYXI8L0NPREU+KS4KIElmIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUsIGJlaGF2ZXMgaWRlbnRpY2FsbHkgdG8KQEAgLTEwNzA2LDY0ICsxMDg0MSw2NCBAQAogVGhpcyBjb21tYW5kIGlzIHVuYm91bmQgYnkgZGVmYXVsdC4KIDxQPgogCi08QSBOQU1FPSJJRFg0NDUiPjwvQT4KKzxBIE5BTUU9IklEWDQ1MiI+PC9BPgogPERUPjxDT0RFPmNvbXBsZXRlLWZpbGVuYW1lIChNLS8pPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQ0NiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQ1MyI+PC9BPgogQXR0ZW1wdCBmaWxlbmFtZSBjb21wbGV0aW9uIG9uIHRoZSB0ZXh0IGJlZm9yZSBwb2ludC4KIDxQPgogCi08QSBOQU1FPSJJRFg0NDciPjwvQT4KKzxBIE5BTUU9IklEWDQ1NCI+PC9BPgogPERUPjxDT0RFPnBvc3NpYmxlLWZpbGVuYW1lLWNvbXBsZXRpb25zIChDLXggLyk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDQ4Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDU1Ij48L0E+CiBMaXN0IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBvZiB0aGUgdGV4dCBiZWZvcmUgcG9pbnQsCiB0cmVhdGluZyBpdCBhcyBhIGZpbGVuYW1lLgogPFA+CiAKLTxBIE5BTUU9IklEWDQ0OSI+PC9BPgorPEEgTkFNRT0iSURYNDU2Ij48L0E+CiA8RFQ+PENPREU+Y29tcGxldGUtdXNlcm5hbWUgKE0tfik8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDUwIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDU3Ij48L0E+CiBBdHRlbXB0IGNvbXBsZXRpb24gb24gdGhlIHRleHQgYmVmb3JlIHBvaW50LCB0cmVhdGluZwogaXQgYXMgYSB1c2VybmFtZS4KIDxQPgogCi08QSBOQU1FPSJJRFg0NTEiPjwvQT4KKzxBIE5BTUU9IklEWDQ1OCI+PC9BPgogPERUPjxDT0RFPnBvc3NpYmxlLXVzZXJuYW1lLWNvbXBsZXRpb25zIChDLXggfik8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDUyIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDU5Ij48L0E+CiBMaXN0IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBvZiB0aGUgdGV4dCBiZWZvcmUgcG9pbnQsCiB0cmVhdGluZyBpdCBhcyBhIHVzZXJuYW1lLgogPFA+CiAKLTxBIE5BTUU9IklEWDQ1MyI+PC9BPgorPEEgTkFNRT0iSURYNDYwIj48L0E+CiA8RFQ+PENPREU+Y29tcGxldGUtdmFyaWFibGUgKE0tJCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDU0Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDYxIj48L0E+CiBBdHRlbXB0IGNvbXBsZXRpb24gb24gdGhlIHRleHQgYmVmb3JlIHBvaW50LCB0cmVhdGluZwogaXQgYXMgYSBzaGVsbCB2YXJpYWJsZS4KIDxQPgogCi08QSBOQU1FPSJJRFg0NTUiPjwvQT4KKzxBIE5BTUU9IklEWDQ2MiI+PC9BPgogPERUPjxDT0RFPnBvc3NpYmxlLXZhcmlhYmxlLWNvbXBsZXRpb25zIChDLXggJCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDU2Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDYzIj48L0E+CiBMaXN0IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBvZiB0aGUgdGV4dCBiZWZvcmUgcG9pbnQsCiB0cmVhdGluZyBpdCBhcyBhIHNoZWxsIHZhcmlhYmxlLgogPFA+CiAKLTxBIE5BTUU9IklEWDQ1NyI+PC9BPgorPEEgTkFNRT0iSURYNDY0Ij48L0E+CiA8RFQ+PENPREU+Y29tcGxldGUtaG9zdG5hbWUgKE0tQCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDU4Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDY1Ij48L0E+CiBBdHRlbXB0IGNvbXBsZXRpb24gb24gdGhlIHRleHQgYmVmb3JlIHBvaW50LCB0cmVhdGluZwogaXQgYXMgYSBob3N0bmFtZS4KIDxQPgogCi08QSBOQU1FPSJJRFg0NTkiPjwvQT4KKzxBIE5BTUU9IklEWDQ2NiI+PC9BPgogPERUPjxDT0RFPnBvc3NpYmxlLWhvc3RuYW1lLWNvbXBsZXRpb25zIChDLXggQCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDYwIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDY3Ij48L0E+CiBMaXN0IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBvZiB0aGUgdGV4dCBiZWZvcmUgcG9pbnQsCiB0cmVhdGluZyBpdCBhcyBhIGhvc3RuYW1lLgogPFA+CiAKLTxBIE5BTUU9IklEWDQ2MSI+PC9BPgorPEEgTkFNRT0iSURYNDY4Ij48L0E+CiA8RFQ+PENPREU+Y29tcGxldGUtY29tbWFuZCAoTS0hKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0NjIiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0NjkiPjwvQT4KIEF0dGVtcHQgY29tcGxldGlvbiBvbiB0aGUgdGV4dCBiZWZvcmUgcG9pbnQsIHRyZWF0aW5nCiBpdCBhcyBhIGNvbW1hbmQgbmFtZS4gIENvbW1hbmQgY29tcGxldGlvbiBhdHRlbXB0cyB0bwogbWF0Y2ggdGhlIHRleHQgYWdhaW5zdCBhbGlhc2VzLCByZXNlcnZlZCB3b3Jkcywgc2hlbGwKQEAgLTEwNzcxLDMyICsxMDkwNiwzMiBAQAogaW4gdGhhdCBvcmRlci4KIDxQPgogCi08QSBOQU1FPSJJRFg0NjMiPjwvQT4KKzxBIE5BTUU9IklEWDQ3MCI+PC9BPgogPERUPjxDT0RFPnBvc3NpYmxlLWNvbW1hbmQtY29tcGxldGlvbnMgKEMteCAhKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0NjQiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0NzEiPjwvQT4KIExpc3QgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIG9mIHRoZSB0ZXh0IGJlZm9yZSBwb2ludCwKIHRyZWF0aW5nIGl0IGFzIGEgY29tbWFuZCBuYW1lLgogPFA+CiAKLTxBIE5BTUU9IklEWDQ2NSI+PC9BPgorPEEgTkFNRT0iSURYNDcyIj48L0E+CiA8RFQ+PENPREU+ZHluYW1pYy1jb21wbGV0ZS1oaXN0b3J5IChNLTxLQkQ+VEFCPC9LQkQ+KTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0NjYiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0NzMiPjwvQT4KIEF0dGVtcHQgY29tcGxldGlvbiBvbiB0aGUgdGV4dCBiZWZvcmUgcG9pbnQsIGNvbXBhcmluZwogdGhlIHRleHQgYWdhaW5zdCBsaW5lcyBmcm9tIHRoZSBoaXN0b3J5IGxpc3QgZm9yIHBvc3NpYmxlCiBjb21wbGV0aW9uIG1hdGNoZXMuCiA8UD4KIAotPEEgTkFNRT0iSURYNDY3Ij48L0E+Cis8QSBOQU1FPSJJRFg0NzQiPjwvQT4KIDxEVD48Q09ERT5kYWJicmV2LWV4cGFuZCAoKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0NjgiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0NzUiPjwvQT4KIEF0dGVtcHQgbWVudSBjb21wbGV0aW9uIG9uIHRoZSB0ZXh0IGJlZm9yZSBwb2ludCwgY29tcGFyaW5nCiB0aGUgdGV4dCBhZ2FpbnN0IGxpbmVzIGZyb20gdGhlIGhpc3RvcnkgbGlzdCBmb3IgcG9zc2libGUKIGNvbXBsZXRpb24gbWF0Y2hlcy4KIDxQPgogCi08QSBOQU1FPSJJRFg0NjkiPjwvQT4KKzxBIE5BTUU9IklEWDQ3NiI+PC9BPgogPERUPjxDT0RFPmNvbXBsZXRlLWludG8tYnJhY2VzIChNLXspPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQ3MCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQ3NyI+PC9BPgogUGVyZm9ybSBmaWxlbmFtZSBjb21wbGV0aW9uIGFuZCBpbnNlcnQgdGhlIGxpc3Qgb2YgcG9zc2libGUgY29tcGxldGlvbnMKIGVuY2xvc2VkIHdpdGhpbiBicmFjZXMgc28gdGhlIGxpc3QgaXMgYXZhaWxhYmxlIHRvIHRoZSBzaGVsbAogKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOSI+My41LjEgQnJhY2UgRXhwYW5zaW9uPC9BPikuCkBAIC0xMDgyMywyMiArMTA5NTgsMjIgQEAKIDwhLS1kb2NpZDo6U0VDMTE0OjotLT4KIDxETCBDT01QQUNUPgogCi08QSBOQU1FPSJJRFg0NzEiPjwvQT4KKzxBIE5BTUU9IklEWDQ3OCI+PC9BPgogPERUPjxDT0RFPnN0YXJ0LWtiZC1tYWNybyAoQy14ICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQ3MiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQ3OSI+PC9BPgogQmVnaW4gc2F2aW5nIHRoZSBjaGFyYWN0ZXJzIHR5cGVkIGludG8gdGhlIGN1cnJlbnQga2V5Ym9hcmQgbWFjcm8uCiA8UD4KIAotPEEgTkFNRT0iSURYNDczIj48L0E+Cis8QSBOQU1FPSJJRFg0ODAiPjwvQT4KIDxEVD48Q09ERT5lbmQta2JkLW1hY3JvIChDLXggKSk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDc0Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDgxIj48L0E+CiBTdG9wIHNhdmluZyB0aGUgY2hhcmFjdGVycyB0eXBlZCBpbnRvIHRoZSBjdXJyZW50IGtleWJvYXJkIG1hY3JvCiBhbmQgc2F2ZSB0aGUgZGVmaW5pdGlvbi4KIDxQPgogCi08QSBOQU1FPSJJRFg0NzUiPjwvQT4KKzxBIE5BTUU9IklEWDQ4MiI+PC9BPgogPERUPjxDT0RFPmNhbGwtbGFzdC1rYmQtbWFjcm8gKEMteCBlKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0NzYiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0ODMiPjwvQT4KIFJlLWV4ZWN1dGUgdGhlIGxhc3Qga2V5Ym9hcmQgbWFjcm8gZGVmaW5lZCwgYnkgbWFraW5nIHRoZSBjaGFyYWN0ZXJzCiBpbiB0aGUgbWFjcm8gYXBwZWFyIGFzIGlmIHR5cGVkIGF0IHRoZSBrZXlib2FyZC4KIDxQPgpAQCAtMTA4NjQsODcgKzEwOTk5LDk5IEBACiA8IS0tZG9jaWQ6OlNFQzExNTo6LS0+CiA8REwgQ09NUEFDVD4KIAotPEEgTkFNRT0iSURYNDc3Ij48L0E+Cis8QSBOQU1FPSJJRFg0ODQiPjwvQT4KIDxEVD48Q09ERT5yZS1yZWFkLWluaXQtZmlsZSAoQy14IEMtcik8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDc4Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDg1Ij48L0E+CiBSZWFkIGluIHRoZSBjb250ZW50cyBvZiB0aGUgPFZBUj5pbnB1dHJjPC9WQVI+IGZpbGUsIGFuZCBpbmNvcnBvcmF0ZQogYW55IGJpbmRpbmdzIG9yIHZhcmlhYmxlIGFzc2lnbm1lbnRzIGZvdW5kIHRoZXJlLgogPFA+CiAKLTxBIE5BTUU9IklEWDQ3OSI+PC9BPgorPEEgTkFNRT0iSURYNDg2Ij48L0E+CiA8RFQ+PENPREU+YWJvcnQgKEMtZyk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDgwIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDg3Ij48L0E+CiBBYm9ydCB0aGUgY3VycmVudCBlZGl0aW5nIGNvbW1hbmQgYW5kCiByaW5nIHRoZSB0ZXJtaW5hbCdzIGJlbGwgKHN1YmplY3QgdG8gdGhlIHNldHRpbmcgb2YKIDxDT0RFPmJlbGwtc3R5bGU8L0NPREU+KS4KIDxQPgogCi08QSBOQU1FPSJJRFg0ODEiPjwvQT4KKzxBIE5BTUU9IklEWDQ4OCI+PC9BPgogPERUPjxDT0RFPmRvLXVwcGVyY2FzZS12ZXJzaW9uIChNLWEsIE0tYiwgTS08VkFSPng8L1ZBUj4sIDxzbWFsbD4uLi48L3NtYWxsPik8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDgyIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDg5Ij48L0E+CiBJZiB0aGUgbWV0YWZpZWQgY2hhcmFjdGVyIDxWQVI+eDwvVkFSPiBpcyBsb3dlcmNhc2UsIHJ1biB0aGUgY29tbWFuZAogdGhhdCBpcyBib3VuZCB0byB0aGUgY29ycmVzcG9uZGluZyB1cHBlcmNhc2UgY2hhcmFjdGVyLgogPFA+CiAKLTxBIE5BTUU9IklEWDQ4MyI+PC9BPgorPEEgTkFNRT0iSURYNDkwIj48L0E+CiA8RFQ+PENPREU+cHJlZml4LW1ldGEgKDxLQkQ+RVNDPC9LQkQ+KTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0ODQiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0OTEiPjwvQT4KIE1ldGFmeSB0aGUgbmV4dCBjaGFyYWN0ZXIgdHlwZWQuICBUaGlzIGlzIGZvciBrZXlib2FyZHMKIHdpdGhvdXQgYSBtZXRhIGtleS4gIFR5cGluZyA8U0FNUD5gPEtCRD5FU0M8L0tCRD4gZic8L1NBTVA+IGlzIGVxdWl2YWxlbnQgdG8gdHlwaW5nCiA8S0JEPk0tZjwvS0JEPi4KIDxQPgogCi08QSBOQU1FPSJJRFg0ODUiPjwvQT4KKzxBIE5BTUU9IklEWDQ5MiI+PC9BPgogPERUPjxDT0RFPnVuZG8gKEMtXyBvciBDLXggQy11KTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0ODYiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0OTMiPjwvQT4KIEluY3JlbWVudGFsIHVuZG8sIHNlcGFyYXRlbHkgcmVtZW1iZXJlZCBmb3IgZWFjaCBsaW5lLgogPFA+CiAKLTxBIE5BTUU9IklEWDQ4NyI+PC9BPgorPEEgTkFNRT0iSURYNDk0Ij48L0E+CiA8RFQ+PENPREU+cmV2ZXJ0LWxpbmUgKE0tcik8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDg4Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDk1Ij48L0E+CiBVbmRvIGFsbCBjaGFuZ2VzIG1hZGUgdG8gdGhpcyBsaW5lLiAgVGhpcyBpcyBsaWtlIGV4ZWN1dGluZyB0aGUgPENPREU+dW5kbzwvQ09ERT4KIGNvbW1hbmQgZW5vdWdoIHRpbWVzIHRvIGdldCBiYWNrIHRvIHRoZSBiZWdpbm5pbmcuCiA8UD4KIAotPEEgTkFNRT0iSURYNDg5Ij48L0E+Cis8QSBOQU1FPSJJRFg0OTYiPjwvQT4KIDxEVD48Q09ERT50aWxkZS1leHBhbmQgKE0tJiMzODspPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQ5MCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQ5NyI+PC9BPgogUGVyZm9ybSB0aWxkZSBleHBhbnNpb24gb24gdGhlIGN1cnJlbnQgd29yZC4KIDxQPgogCi08QSBOQU1FPSJJRFg0OTEiPjwvQT4KKzxBIE5BTUU9IklEWDQ5OCI+PC9BPgogPERUPjxDT0RFPnNldC1tYXJrIChDLUApPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQ5MiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQ5OSI+PC9BPgogU2V0IHRoZSBtYXJrIHRvIHRoZSBwb2ludC4gIElmIGEKIG51bWVyaWMgYXJndW1lbnQgaXMgc3VwcGxpZWQsIHRoZSBtYXJrIGlzIHNldCB0byB0aGF0IHBvc2l0aW9uLgogPFA+CiAKLTxBIE5BTUU9IklEWDQ5MyI+PC9BPgorPEEgTkFNRT0iSURYNTAwIj48L0E+CiA8RFQ+PENPREU+ZXhjaGFuZ2UtcG9pbnQtYW5kLW1hcmsgKEMteCBDLXgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQ5NCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDUwMSI+PC9BPgogU3dhcCB0aGUgcG9pbnQgd2l0aCB0aGUgbWFyay4gIFRoZSBjdXJyZW50IGN1cnNvciBwb3NpdGlvbiBpcyBzZXQgdG8KIHRoZSBzYXZlZCBwb3NpdGlvbiwgYW5kIHRoZSBvbGQgY3Vyc29yIHBvc2l0aW9uIGlzIHNhdmVkIGFzIHRoZSBtYXJrLgogPFA+CiAKLTxBIE5BTUU9IklEWDQ5NSI+PC9BPgorPEEgTkFNRT0iSURYNTAyIj48L0E+CiA8RFQ+PENPREU+Y2hhcmFjdGVyLXNlYXJjaCAoQy1dKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0OTYiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg1MDMiPjwvQT4KIEEgY2hhcmFjdGVyIGlzIHJlYWQgYW5kIHBvaW50IGlzIG1vdmVkIHRvIHRoZSBuZXh0IG9jY3VycmVuY2Ugb2YgdGhhdAogY2hhcmFjdGVyLiAgQSBuZWdhdGl2ZSBjb3VudCBzZWFyY2hlcyBmb3IgcHJldmlvdXMgb2NjdXJyZW5jZXMuCiA8UD4KIAotPEEgTkFNRT0iSURYNDk3Ij48L0E+Cis8QSBOQU1FPSJJRFg1MDQiPjwvQT4KIDxEVD48Q09ERT5jaGFyYWN0ZXItc2VhcmNoLWJhY2t3YXJkIChNLUMtXSk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDk4Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNTA1Ij48L0E+CiBBIGNoYXJhY3RlciBpcyByZWFkIGFuZCBwb2ludCBpcyBtb3ZlZCB0byB0aGUgcHJldmlvdXMgb2NjdXJyZW5jZQogb2YgdGhhdCBjaGFyYWN0ZXIuICBBIG5lZ2F0aXZlIGNvdW50IHNlYXJjaGVzIGZvciBzdWJzZXF1ZW50CiBvY2N1cnJlbmNlcy4KIDxQPgogCi08QSBOQU1FPSJJRFg0OTkiPjwvQT4KKzxBIE5BTUU9IklEWDUwNiI+PC9BPgorPERUPjxDT0RFPnNraXAtY3NpLXNlcXVlbmNlICgpPC9DT0RFPgorPEREPjxBIE5BTUU9IklEWDUwNyI+PC9BPgorUmVhZCBlbm91Z2ggY2hhcmFjdGVycyB0byBjb25zdW1lIGEgbXVsdGkta2V5IHNlcXVlbmNlIHN1Y2ggYXMgdGhvc2UKK2RlZmluZWQgZm9yIGtleXMgbGlrZSBIb21lIGFuZCBFbmQuICBTdWNoIHNlcXVlbmNlcyBiZWdpbiB3aXRoIGEKK0NvbnRyb2wgU2VxdWVuY2UgSW5kaWNhdG9yIChDU0kpLCB1c3VhbGx5IEVTQy1bLiAgSWYgdGhpcyBzZXF1ZW5jZSBpcworYm91bmQgdG8gIlxlWyIsIGtleXMgcHJvZHVjaW5nIHN1Y2ggc2VxdWVuY2VzIHdpbGwgaGF2ZSBubyBlZmZlY3QKK3VubGVzcyBleHBsaWNpdGx5IGJvdW5kIHRvIGEgcmVhZGxpbmUgY29tbWFuZCwgaW5zdGVhZCBvZiBpbnNlcnRpbmcKK3N0cmF5IGNoYXJhY3RlcnMgaW50byB0aGUgZWRpdGluZyBidWZmZXIuICBUaGlzIGlzIHVuYm91bmQgYnkgZGVmYXVsdCwKK2J1dCB1c3VhbGx5IGJvdW5kIHRvIEVTQy1bLgorPFA+CisKKzxBIE5BTUU9IklEWDUwOCI+PC9BPgogPERUPjxDT0RFPmluc2VydC1jb21tZW50IChNLSMpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDUwMCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDUwOSI+PC9BPgogV2l0aG91dCBhIG51bWVyaWMgYXJndW1lbnQsIHRoZSB2YWx1ZSBvZiB0aGUgPENPREU+Y29tbWVudC1iZWdpbjwvQ09ERT4KIHZhcmlhYmxlIGlzIGluc2VydGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGN1cnJlbnQgbGluZS4KIElmIGEgbnVtZXJpYyBhcmd1bWVudCBpcyBzdXBwbGllZCwgdGhpcyBjb21tYW5kIGFjdHMgYXMgYSB0b2dnbGU6ICBpZgpAQCAtMTA5NTksMTE1ICsxMTEwNiwxMTUgQEAKIHdpbGwgYmUgZXhlY3V0ZWQgYnkgdGhlIHNoZWxsLgogPFA+CiAKLTxBIE5BTUU9IklEWDUwMSI+PC9BPgorPEEgTkFNRT0iSURYNTEwIj48L0E+CiA8RFQ+PENPREU+ZHVtcC1mdW5jdGlvbnMgKCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNTAyIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYNTExIj48L0E+CiBQcmludCBhbGwgb2YgdGhlIGZ1bmN0aW9ucyBhbmQgdGhlaXIga2V5IGJpbmRpbmdzIHRvIHRoZQogUmVhZGxpbmUgb3V0cHV0IHN0cmVhbS4gIElmIGEgbnVtZXJpYyBhcmd1bWVudCBpcyBzdXBwbGllZCwKIHRoZSBvdXRwdXQgaXMgZm9ybWF0dGVkIGluIHN1Y2ggYSB3YXkgdGhhdCBpdCBjYW4gYmUgbWFkZSBwYXJ0CiBvZiBhbiA8VkFSPmlucHV0cmM8L1ZBUj4gZmlsZS4gIFRoaXMgY29tbWFuZCBpcyB1bmJvdW5kIGJ5IGRlZmF1bHQuCiA8UD4KIAotPEEgTkFNRT0iSURYNTAzIj48L0E+Cis8QSBOQU1FPSJJRFg1MTIiPjwvQT4KIDxEVD48Q09ERT5kdW1wLXZhcmlhYmxlcyAoKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg1MDQiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg1MTMiPjwvQT4KIFByaW50IGFsbCBvZiB0aGUgc2V0dGFibGUgdmFyaWFibGVzIGFuZCB0aGVpciB2YWx1ZXMgdG8gdGhlCiBSZWFkbGluZSBvdXRwdXQgc3RyZWFtLiAgSWYgYSBudW1lcmljIGFyZ3VtZW50IGlzIHN1cHBsaWVkLAogdGhlIG91dHB1dCBpcyBmb3JtYXR0ZWQgaW4gc3VjaCBhIHdheSB0aGF0IGl0IGNhbiBiZSBtYWRlIHBhcnQKIG9mIGFuIDxWQVI+aW5wdXRyYzwvVkFSPiBmaWxlLiAgVGhpcyBjb21tYW5kIGlzIHVuYm91bmQgYnkgZGVmYXVsdC4KIDxQPgogCi08QSBOQU1FPSJJRFg1MDUiPjwvQT4KKzxBIE5BTUU9IklEWDUxNCI+PC9BPgogPERUPjxDT0RFPmR1bXAtbWFjcm9zICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDUwNiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDUxNSI+PC9BPgogUHJpbnQgYWxsIG9mIHRoZSBSZWFkbGluZSBrZXkgc2VxdWVuY2VzIGJvdW5kIHRvIG1hY3JvcyBhbmQgdGhlCiBzdHJpbmdzIHRoZXkgb3V0cHV0LiAgSWYgYSBudW1lcmljIGFyZ3VtZW50IGlzIHN1cHBsaWVkLAogdGhlIG91dHB1dCBpcyBmb3JtYXR0ZWQgaW4gc3VjaCBhIHdheSB0aGF0IGl0IGNhbiBiZSBtYWRlIHBhcnQKIG9mIGFuIDxWQVI+aW5wdXRyYzwvVkFSPiBmaWxlLiAgVGhpcyBjb21tYW5kIGlzIHVuYm91bmQgYnkgZGVmYXVsdC4KIDxQPgogCi08QSBOQU1FPSJJRFg1MDciPjwvQT4KKzxBIE5BTUU9IklEWDUxNiI+PC9BPgogPERUPjxDT0RFPmdsb2ItY29tcGxldGUtd29yZCAoTS1nKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg1MDgiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg1MTciPjwvQT4KIFRoZSB3b3JkIGJlZm9yZSBwb2ludCBpcyB0cmVhdGVkIGFzIGEgcGF0dGVybiBmb3IgcGF0aG5hbWUgZXhwYW5zaW9uLAogd2l0aCBhbiBhc3RlcmlzayBpbXBsaWNpdGx5IGFwcGVuZGVkLiAgVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8KIGdlbmVyYXRlIGEgbGlzdCBvZiBtYXRjaGluZyBmaWxlIG5hbWVzIGZvciBwb3NzaWJsZSBjb21wbGV0aW9ucy4KIDxQPgogCi08QSBOQU1FPSJJRFg1MDkiPjwvQT4KKzxBIE5BTUU9IklEWDUxOCI+PC9BPgogPERUPjxDT0RFPmdsb2ItZXhwYW5kLXdvcmQgKEMteCAqKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg1MTAiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg1MTkiPjwvQT4KIFRoZSB3b3JkIGJlZm9yZSBwb2ludCBpcyB0cmVhdGVkIGFzIGEgcGF0dGVybiBmb3IgcGF0aG5hbWUgZXhwYW5zaW9uLAogYW5kIHRoZSBsaXN0IG9mIG1hdGNoaW5nIGZpbGUgbmFtZXMgaXMgaW5zZXJ0ZWQsIHJlcGxhY2luZyB0aGUgd29yZC4KIElmIGEgbnVtZXJpYyBhcmd1bWVudCBpcyBzdXBwbGllZCwgYSA8U0FNUD5gKic8L1NBTVA+IGlzIGFwcGVuZGVkIGJlZm9yZQogcGF0aG5hbWUgZXhwYW5zaW9uLgogPFA+CiAKLTxBIE5BTUU9IklEWDUxMSI+PC9BPgorPEEgTkFNRT0iSURYNTIwIj48L0E+CiA8RFQ+PENPREU+Z2xvYi1saXN0LWV4cGFuc2lvbnMgKEMteCBnKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg1MTIiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg1MjEiPjwvQT4KIFRoZSBsaXN0IG9mIGV4cGFuc2lvbnMgdGhhdCB3b3VsZCBoYXZlIGJlZW4gZ2VuZXJhdGVkIGJ5CiA8Q09ERT5nbG9iLWV4cGFuZC13b3JkPC9DT0RFPiBpcyBkaXNwbGF5ZWQsIGFuZCB0aGUgbGluZSBpcyByZWRyYXduLgogSWYgYSBudW1lcmljIGFyZ3VtZW50IGlzIHN1cHBsaWVkLCBhIDxTQU1QPmAqJzwvU0FNUD4gaXMgYXBwZW5kZWQgYmVmb3JlCiBwYXRobmFtZSBleHBhbnNpb24uCiA8UD4KIAotPEEgTkFNRT0iSURYNTEzIj48L0E+Cis8QSBOQU1FPSJJRFg1MjIiPjwvQT4KIDxEVD48Q09ERT5kaXNwbGF5LXNoZWxsLXZlcnNpb24gKEMteCBDLXYpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDUxNCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDUyMyI+PC9BPgogRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjdXJyZW50IGluc3RhbmNlIG9mIEJhc2guCiA8UD4KIAotPEEgTkFNRT0iSURYNTE1Ij48L0E+Cis8QSBOQU1FPSJJRFg1MjQiPjwvQT4KIDxEVD48Q09ERT5zaGVsbC1leHBhbmQtbGluZSAoTS1DLWUpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDUxNiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDUyNSI+PC9BPgogRXhwYW5kIHRoZSBsaW5lIGFzIHRoZSBzaGVsbCBkb2VzLgogVGhpcyBwZXJmb3JtcyBhbGlhcyBhbmQgaGlzdG9yeSBleHBhbnNpb24gYXMgd2VsbCBhcyBhbGwgb2YgdGhlIHNoZWxsCiB3b3JkIGV4cGFuc2lvbnMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOCI+My41IFNoZWxsIEV4cGFuc2lvbnM8L0E+KS4KIDxQPgogCi08QSBOQU1FPSJJRFg1MTciPjwvQT4KKzxBIE5BTUU9IklEWDUyNiI+PC9BPgogPERUPjxDT0RFPmhpc3RvcnktZXhwYW5kLWxpbmUgKE0tXik8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNTE4Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNTI3Ij48L0E+CiBQZXJmb3JtIGhpc3RvcnkgZXhwYW5zaW9uIG9uIHRoZSBjdXJyZW50IGxpbmUuCiA8UD4KIAotPEEgTkFNRT0iSURYNTE5Ij48L0E+Cis8QSBOQU1FPSJJRFg1MjgiPjwvQT4KIDxEVD48Q09ERT5tYWdpYy1zcGFjZSAoKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg1MjAiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg1MjkiPjwvQT4KIFBlcmZvcm0gaGlzdG9yeSBleHBhbnNpb24gb24gdGhlIGN1cnJlbnQgbGluZSBhbmQgaW5zZXJ0IGEgc3BhY2UKIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIyIj45LjMgSGlzdG9yeSBFeHBhbnNpb248L0E+KS4KIDxQPgogCi08QSBOQU1FPSJJRFg1MjEiPjwvQT4KKzxBIE5BTUU9IklEWDUzMCI+PC9BPgogPERUPjxDT0RFPmFsaWFzLWV4cGFuZC1saW5lICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDUyMiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDUzMSI+PC9BPgogUGVyZm9ybSBhbGlhcyBleHBhbnNpb24gb24gdGhlIGN1cnJlbnQgbGluZSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg0Ij42LjYgQWxpYXNlczwvQT4pLgogPFA+CiAKLTxBIE5BTUU9IklEWDUyMyI+PC9BPgorPEEgTkFNRT0iSURYNTMyIj48L0E+CiA8RFQ+PENPREU+aGlzdG9yeS1hbmQtYWxpYXMtZXhwYW5kLWxpbmUgKCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNTI0Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNTMzIj48L0E+CiBQZXJmb3JtIGhpc3RvcnkgYW5kIGFsaWFzIGV4cGFuc2lvbiBvbiB0aGUgY3VycmVudCBsaW5lLgogPFA+CiAKLTxBIE5BTUU9IklEWDUyNSI+PC9BPgorPEEgTkFNRT0iSURYNTM0Ij48L0E+CiA8RFQ+PENPREU+aW5zZXJ0LWxhc3QtYXJndW1lbnQgKE0tLiBvciBNLV8pPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDUyNiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDUzNSI+PC9BPgogQSBzeW5vbnltIGZvciA8Q09ERT55YW5rLWxhc3QtYXJnPC9DT0RFPi4KIDxQPgogCi08QSBOQU1FPSJJRFg1MjciPjwvQT4KKzxBIE5BTUU9IklEWDUzNiI+PC9BPgogPERUPjxDT0RFPm9wZXJhdGUtYW5kLWdldC1uZXh0IChDLW8pPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDUyOCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDUzNyI+PC9BPgogQWNjZXB0IHRoZSBjdXJyZW50IGxpbmUgZm9yIGV4ZWN1dGlvbiBhbmQgZmV0Y2ggdGhlIG5leHQgbGluZQogcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgbGluZSBmcm9tIHRoZSBoaXN0b3J5IGZvciBlZGl0aW5nLiAgQW55CiBhcmd1bWVudCBpcyBpZ25vcmVkLgogPFA+CiAKLTxBIE5BTUU9IklEWDUyOSI+PC9BPgorPEEgTkFNRT0iSURYNTM4Ij48L0E+CiA8RFQ+PENPREU+ZWRpdC1hbmQtZXhlY3V0ZS1jb21tYW5kIChDLXhDLWUpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDUzMCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDUzOSI+PC9BPgogSW52b2tlIGFuIGVkaXRvciBvbiB0aGUgY3VycmVudCBjb21tYW5kIGxpbmUsIGFuZCBleGVjdXRlIHRoZSByZXN1bHQgYXMgc2hlbGwKIGNvbW1hbmRzLgogQmFzaCBhdHRlbXB0cyB0byBpbnZva2UKQEAgLTExMTQzLDEwICsxMTI5MCwxNSBAQAogRmlyc3QsIHRoZSBjb21tYW5kIG5hbWUgaXMgaWRlbnRpZmllZC4KIElmIGEgY29tcHNwZWMgaGFzIGJlZW4gZGVmaW5lZCBmb3IgdGhhdCBjb21tYW5kLCB0aGUKIGNvbXBzcGVjIGlzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIGxpc3Qgb2YgcG9zc2libGUgY29tcGxldGlvbnMgZm9yIHRoZSB3b3JkLgorSWYgdGhlIGNvbW1hbmQgd29yZCBpcyB0aGUgZW1wdHkgc3RyaW5nIChjb21wbGV0aW9uIGF0dGVtcHRlZCBhdCB0aGUKK2JlZ2lubmluZyBvZiBhbiBlbXB0eSBsaW5lKSwgYW55IGNvbXBzcGVjIGRlZmluZWQgd2l0aAordGhlIDxTQU1QPmAtRSc8L1NBTVA+IG9wdGlvbiB0byA8Q09ERT5jb21wbGV0ZTwvQ09ERT4gaXMgdXNlZC4KIElmIHRoZSBjb21tYW5kIHdvcmQgaXMgYSBmdWxsIHBhdGhuYW1lLCBhIGNvbXBzcGVjIGZvciB0aGUgZnVsbAogcGF0aG5hbWUgaXMgc2VhcmNoZWQgZm9yIGZpcnN0LgogSWYgbm8gY29tcHNwZWMgaXMgZm91bmQgZm9yIHRoZSBmdWxsIHBhdGhuYW1lLCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8KIGZpbmQgYSBjb21wc3BlYyBmb3IgdGhlIHBvcnRpb24gZm9sbG93aW5nIHRoZSBmaW5hbCBzbGFzaC4KK0lmIHRob3NlIHNlYXJjaGVzIGRvIG5vdCByZXN1bHQgaW4gYSBjb21wc3BlYywgYW55IGNvbXBzcGVjIGRlZmluZWQgd2l0aAordGhlIDxTQU1QPmAtRCc8L1NBTVA+IG9wdGlvbiB0byA8Q09ERT5jb21wbGV0ZTwvQ09ERT4gaXMgdXNlZCBhcyB0aGUgZGVmYXVsdC4KIDwvUD48UD4KIAogT25jZSBhIGNvbXBzcGVjIGhhcyBiZWVuIGZvdW5kLCBpdCBpcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSBsaXN0IG9mCkBAIC0xMTI2NCw2ICsxMTQxNiwzMSBAQAogb2YgdGhlIHNldHRpbmcgb2YgdGhlIDxWQVI+bWFyay1zeW1saW5rZWQtZGlyZWN0b3JpZXM8L1ZBUj4gUmVhZGxpbmUgdmFyaWFibGUuCiA8L1A+PFA+CiAKK1RoZXJlIGlzIHNvbWUgc3VwcG9ydCBmb3IgZHluYW1pY2FsbHkgbW9kaWZ5aW5nIGNvbXBsZXRpb25zLiAgVGhpcyBpcworbW9zdCB1c2VmdWwgd2hlbiB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYSBkZWZhdWx0IGNvbXBsZXRpb24gc3BlY2lmaWVkCit3aXRoIDxTQU1QPmAtRCc8L1NBTVA+LiAgSXQncyBwb3NzaWJsZSBmb3Igc2hlbGwgZnVuY3Rpb25zIGV4ZWN1dGVkIGFzIGNvbXBsZXRpb24KK2hhbmRsZXJzIHRvIGluZGljYXRlIHRoYXQgY29tcGxldGlvbiBzaG91bGQgYmUgcmV0cmllZCBieSByZXR1cm5pbmcgYW4KK2V4aXQgc3RhdHVzIG9mIDEyNC4gIElmIGEgc2hlbGwgZnVuY3Rpb24gcmV0dXJucyAxMjQsIGFuZCBjaGFuZ2VzCit0aGUgY29tcHNwZWMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb21tYW5kIG9uIHdoaWNoIGNvbXBsZXRpb24gaXMgYmVpbmcKK2F0dGVtcHRlZCAoc3VwcGxpZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50IHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGV4ZWN1dGVkKSwKK3Byb2dyYW1tYWJsZSBjb21wbGV0aW9uIHJlc3RhcnRzIGZyb20gdGhlIGJlZ2lubmluZywgd2l0aCBhbgorYXR0ZW1wdCB0byBmaW5kIGEgY29tcHNwZWMgZm9yIHRoYXQgY29tbWFuZC4gIFRoaXMgYWxsb3dzIGEgc2V0IG9mCitjb21wbGV0aW9ucyB0byBiZSBidWlsdCBkeW5hbWljYWxseSBhcyBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgcmF0aGVyIHRoYW4KK2JlaW5nIGxvYWRlZCBhbGwgYXQgb25jZS4KKzwvUD48UD4KKworRm9yIGluc3RhbmNlLCBhc3N1bWluZyB0aGF0IHRoZXJlIGlzIGEgbGlicmFyeSBvZiBjb21wc3BlY3MsIGVhY2gga2VwdCBpbiBhCitmaWxlIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG5hbWUgb2YgdGhlIGNvbW1hbmQsIHRoZSBmb2xsb3dpbmcgZGVmYXVsdAorY29tcGxldGlvbiBmdW5jdGlvbiB3b3VsZCBsb2FkIGNvbXBsZXRpb25zIGR5bmFtaWNhbGx5OgorPC9QPjxQPgorCis8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+X2NvbXBsZXRpb25fbG9hZGVyKCkKK3sKKwkuICIvZXRjL2Jhc2hfY29tcGxldGlvbi5kLyQxLnNoIiAmIzYyOy9kZXYvbnVsbCAyJiM2MjsmIzM4OzEgJiMzODsmIzM4OyByZXR1cm4gMTI0Cit9Citjb21wbGV0ZSAtRCAtRiBfY29tcGxldGlvbl9sb2FkZXIKKzwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPjwvUD48UD4KKwogPEEgTkFNRT0iUHJvZ3JhbW1hYmxlIENvbXBsZXRpb24gQnVpbHRpbnMiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KIDxBIE5BTUU9IlNFQzExOCI+PC9BPgpAQCAtMTEyODgsNyArMTE0NjUsNyBAQAogCiA8REwgQ09NUEFDVD4KIDxEVD48Q09ERT5jb21wZ2VuPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDUzMSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDU0MCI+PC9BPgogPFRBQkxFPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ZXhhbXBsZT48cHJlPjxDT0RFPmNvbXBnZW4gWzxWQVI+b3B0aW9uPC9WQVI+XSBbPFZBUj53b3JkPC9WQVI+XTwvQ09ERT4KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPjxQPgogCkBAIC0xMTMxNCwxMSArMTE0OTEsMTEgQEAKIDwvUD48UD4KIAogPERUPjxDT0RFPmNvbXBsZXRlPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDUzMiI+PC9BPgotPFRBQkxFPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ZXhhbXBsZT48cHJlPjxDT0RFPmNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLW8gPFZBUj5jb21wLW9wdGlvbjwvVkFSPl0gWy1FXSBbLUEgPFZBUj5hY3Rpb248L1ZBUj5dIFstRyA8VkFSPmdsb2JwYXQ8L1ZBUj5dIFstVyA8VkFSPndvcmRsaXN0PC9WQVI+XQorPEREPjxBIE5BTUU9IklEWDU0MSI+PC9BPgorPFRBQkxFPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ZXhhbXBsZT48cHJlPjxDT0RFPmNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLW8gPFZBUj5jb21wLW9wdGlvbjwvVkFSPl0gWy1ERV0gWy1BIDxWQVI+YWN0aW9uPC9WQVI+XSBbLUcgPFZBUj5nbG9icGF0PC9WQVI+XSBbLVcgPFZBUj53b3JkbGlzdDwvVkFSPl0KIFstRiA8VkFSPmZ1bmN0aW9uPC9WQVI+XSBbLUMgPFZBUj5jb21tYW5kPC9WQVI+XSBbLVggPFZBUj5maWx0ZXJwYXQ8L1ZBUj5dCiBbLVAgPFZBUj5wcmVmaXg8L1ZBUj5dIFstUyA8VkFSPnN1ZmZpeDwvVkFSPl0gPFZBUj5uYW1lPC9WQVI+IFs8VkFSPm5hbWU8L1ZBUj4gPHNtYWxsPi4uLjwvc21hbGw+XTwvQ09ERT4KLTxDT0RFPmNvbXBsZXRlIC1wciBbLUVdIFs8VkFSPm5hbWU8L1ZBUj4gPHNtYWxsPi4uLjwvc21hbGw+XTwvQ09ERT4KKzxDT0RFPmNvbXBsZXRlIC1wciBbLURFXSBbPFZBUj5uYW1lPC9WQVI+IDxzbWFsbD4uLi48L3NtYWxsPl08L0NPREU+CiA8L3ByZT48L3RkPjwvdHI+PC90YWJsZT48UD4KIAogU3BlY2lmeSBob3cgYXJndW1lbnRzIHRvIGVhY2ggPFZBUj5uYW1lPC9WQVI+IHNob3VsZCBiZSBjb21wbGV0ZWQuCkBAIC0xMTMyOCwxMyArMTE1MDUsMTcgQEAKIFRoZSA8U0FNUD5gLXInPC9TQU1QPiBvcHRpb24gcmVtb3ZlcyBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBmb3IKIGVhY2ggPFZBUj5uYW1lPC9WQVI+LCBvciwgaWYgbm8gPFZBUj5uYW1lPC9WQVI+cyBhcmUgc3VwcGxpZWQsIGFsbAogY29tcGxldGlvbiBzcGVjaWZpY2F0aW9ucy4KK1RoZSA8U0FNUD5gLUQnPC9TQU1QPiBvcHRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIHJlbWFpbmluZyBvcHRpb25zIGFuZCBhY3Rpb25zIHNob3VsZAorYXBwbHkgdG8gdGhlICJkZWZhdWx0IiBjb21tYW5kIGNvbXBsZXRpb247IHRoYXQgaXMsIGNvbXBsZXRpb24gYXR0ZW1wdGVkCitvbiBhIGNvbW1hbmQgZm9yIHdoaWNoIG5vIGNvbXBsZXRpb24gaGFzIHByZXZpb3VzbHkgYmVlbiBkZWZpbmVkLgogVGhlIDxTQU1QPmAtRSc8L1NBTVA+IG9wdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVtYWluaW5nIG9wdGlvbnMgYW5kIGFjdGlvbnMgc2hvdWxkCiBhcHBseSB0byAiZW1wdHkiIGNvbW1hbmQgY29tcGxldGlvbjsgdGhhdCBpcywgY29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYSAKIGJsYW5rIGxpbmUuCiA8L1A+PFA+CiAKIFRoZSBwcm9jZXNzIG9mIGFwcGx5aW5nIHRoZXNlIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnMgd2hlbiB3b3JkIGNvbXBsZXRpb24KLWlzIGF0dGVtcHRlZCBpcyBkZXNjcmliZWQgYWJvdmUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTciPjguNiBQcm9ncmFtbWFibGUgQ29tcGxldGlvbjwvQT4pLgoraXMgYXR0ZW1wdGVkIGlzIGRlc2NyaWJlZCBhYm92ZSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNyI+OC42IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uPC9BPikuICBUaGUKKzxTQU1QPmAtRCc8L1NBTVA+IG9wdGlvbiB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgPFNBTVA+YC1FJzwvU0FNUD4uCiA8L1A+PFA+CiAKIE90aGVyIG9wdGlvbnMsIGlmIHNwZWNpZmllZCwgaGF2ZSB0aGUgZm9sbG93aW5nIG1lYW5pbmdzLgpAQCAtMTE1NDgsOCArMTE3MjksOCBAQAogPC9QPjxQPgogCiA8RFQ+PENPREU+Y29tcG9wdDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg1MzMiPjwvQT4KLTxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT48Q09ERT5jb21wb3B0PC9DT0RFPiBbLW8gPFZBUj5vcHRpb248L1ZBUj5dIFsrbyA8VkFSPm9wdGlvbjwvVkFSPl0gWzxWQVI+bmFtZTwvVkFSPl0KKzxERD48QSBOQU1FPSJJRFg1NDIiPjwvQT4KKzxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT48Q09ERT5jb21wb3B0PC9DT0RFPiBbLW8gPFZBUj5vcHRpb248L1ZBUj5dIFstREVdIFsrbyA8VkFSPm9wdGlvbjwvVkFSPl0gWzxWQVI+bmFtZTwvVkFSPl0KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPk1vZGlmeSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggPFZBUj5uYW1lPC9WQVI+IGFjY29yZGluZyB0byB0aGUKIDxWQVI+b3B0aW9uPC9WQVI+cywgb3IgZm9yIHRoZSBjdXJyZW50bHktZXhlY3V0aW9uIGNvbXBsZXRpb24gaWYgbm8gPFZBUj5uYW1lPC9WQVI+cwogYXJlIHN1cHBsaWVkLgpAQCAtMTE1NTcsOCArMTE3MzgsMTcgQEAKIDxWQVI+bmFtZTwvVkFSPiBvciB0aGUgY3VycmVudCBjb21wbGV0aW9uLgogVGhlIHBvc3NpYmxlIHZhbHVlcyBvZiA8VkFSPm9wdGlvbjwvVkFSPiBhcmUgdGhvc2UgdmFsaWQgZm9yIHRoZSA8Q09ERT5jb21wbGV0ZTwvQ09ERT4KIGJ1aWx0aW4gZGVzY3JpYmVkIGFib3ZlLgorVGhlIDxTQU1QPmAtRCc8L1NBTVA+IG9wdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVtYWluaW5nIG9wdGlvbnMgc2hvdWxkCithcHBseSB0byB0aGUgImRlZmF1bHQiIGNvbW1hbmQgY29tcGxldGlvbjsgdGhhdCBpcywgY29tcGxldGlvbiBhdHRlbXB0ZWQKK29uIGEgY29tbWFuZCBmb3Igd2hpY2ggbm8gY29tcGxldGlvbiBoYXMgcHJldmlvdXNseSBiZWVuIGRlZmluZWQuCitUaGUgPFNBTVA+YC1FJzwvU0FNUD4gb3B0aW9uIGluZGljYXRlcyB0aGF0IHRoZSByZW1haW5pbmcgb3B0aW9ucyBzaG91bGQKK2FwcGx5IHRvICJlbXB0eSIgY29tbWFuZCBjb21wbGV0aW9uOyB0aGF0IGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhIAorYmxhbmsgbGluZS4KIDxQPgogCitUaGUgPFNBTVA+YC1EJzwvU0FNUD4gb3B0aW9uIHRha2VzIHByZWNlZGVuY2Ugb3ZlciA8U0FNUD5gLUUnPC9TQU1QPi4KKzwvUD48UD4KKwogVGhlIHJldHVybiB2YWx1ZSBpcyB0cnVlIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCwgYW4gYXR0ZW1wdAogaXMgbWFkZSB0byBtb2RpZnkgdGhlIG9wdGlvbnMgZm9yIGEgPFZBUj5uYW1lPC9WQVI+IGZvciB3aGljaCBubyBjb21wbGV0aW9uCiBzcGVjaWZpY2F0aW9uIGV4aXN0cywgb3IgYW4gb3V0cHV0IGVycm9yIG9jY3Vycy4KQEAgLTExNTY3LDcgKzExNzU3LDcgQEAKIDwvREw+CiA8UD4KIAotPEEgTkFNRT0iSURYNTM0Ij48L0E+Cis8QSBOQU1FPSJJRFg1NDMiPjwvQT4KIDwvUD48UD4KIAogPEEgTkFNRT0iVXNpbmcgSGlzdG9yeSBJbnRlcmFjdGl2ZWx5Ij48L0E+CkBAIC0xMTcxMiw3ICsxMTkwMiw3IEBACiA8REwgQ09NUEFDVD4KIAogPERUPjxDT0RFPmZjPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDUzNSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDU0NCI+PC9BPgogPFRBQkxFPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ZXhhbXBsZT48cHJlPjxDT0RFPmZjIFstZSA8VkFSPmVuYW1lPC9WQVI+XSBbLWxucl0gWzxWQVI+Zmlyc3Q8L1ZBUj5dIFs8VkFSPmxhc3Q8L1ZBUj5dPC9DT0RFPgogPENPREU+ZmMgLXMgWzxWQVI+cGF0PC9WQVI+PTxWQVI+cmVwPC9WQVI+XSBbPFZBUj5jb21tYW5kPC9WQVI+XTwvQ09ERT4KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPjxQPgpAQCAtMTE3NDYsNyArMTE5MzYsNyBAQAogPC9QPjxQPgogCiA8RFQ+PENPREU+aGlzdG9yeTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg1MzYiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg1NDUiPjwvQT4KIDxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT5oaXN0b3J5IFs8VkFSPm48L1ZBUj5dCiBoaXN0b3J5IC1jCiBoaXN0b3J5IC1kIDxWQVI+b2Zmc2V0PC9WQVI+CkBAIC0xMTkxOSw3ICsxMjEwOSw3IEBACiAKIEFuIGV2ZW50IGRlc2lnbmF0b3IgaXMgYSByZWZlcmVuY2UgdG8gYSBjb21tYW5kIGxpbmUgZW50cnkgaW4gdGhlCiBoaXN0b3J5IGxpc3QuCi08QSBOQU1FPSJJRFg1MzciPjwvQT4KKzxBIE5BTUU9IklEWDU0NiI+PC9BPgogPC9QPjxQPgogCiA8REwgQ09NUEFDVD4KQEAgLTEyNzM2LDYgKzEyOTI2LDExIEBACiBhYm92ZSB1bmRlciA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzciPjMuNS44LjEgUGF0dGVybiBNYXRjaGluZzwvQT4uCiA8UD4KIAorPERUPjxDT0RFPi0tZW5hYmxlLWV4dGVuZGVkLWdsb2ItZGVmYXVsdDwvQ09ERT4KKzxERD5TZXQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIDxWQVI+ZXh0Z2xvYjwvVkFSPiBzaGVsbCBvcHRpb24gZGVzY3JpYmVkCithYm92ZSB1bmRlciA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPiB0byBiZSBlbmFibGVkLgorPFA+CisKIDxEVD48Q09ERT4tLWVuYWJsZS1oZWxwLWJ1aWx0aW48L0NPREU+CiA8REQ+SW5jbHVkZSB0aGUgPENPREU+aGVscDwvQ09ERT4gYnVpbHRpbiwgd2hpY2ggZGlzcGxheXMgaGVscCBvbiBzaGVsbCBidWlsdGlucyBhbmQKIHZhcmlhYmxlcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPikuCkBAIC0xMjg2Miw3ICsxMzA1Nyw3IEBACiBtYWtlIHN1cmUgdGhhdCBpdCByZWFsbHkgaXMgYSBidWcsIGFuZCB0aGF0IGl0IGFwcGVhcnMgaW4gdGhlIGxhdGVzdAogdmVyc2lvbiBvZiBCYXNoLgogVGhlIGxhdGVzdCB2ZXJzaW9uIG9mIEJhc2ggaXMgYWx3YXlzIGF2YWlsYWJsZSBmb3IgRlRQIGZyb20KLTxBIEhSRUY9ImZ0cDovL2Z0cC5nbnUub3JnL3B1Yi9iYXNoLyI+ZnRwOi8vZnRwLmdudS5vcmcvcHViL2Jhc2gvPC9BPi4KKzxBIEhSRUY9ImZ0cDovL2Z0cC5nbnUub3JnL3B1Yi9nbnUvYmFzaC8iPmZ0cDovL2Z0cC5nbnUub3JnL3B1Yi9nbnUvYmFzaC88L0E+LgogPC9QPjxQPgogCiBPbmNlIHlvdSBoYXZlIGRldGVybWluZWQgdGhhdCBhIGJ1ZyBhY3R1YWxseSBleGlzdHMsIHVzZSB0aGUKQEAgLTEyODk0LDcgKzEzMDg5LDcgQEAKIDwvUD48UD4KIAogUGxlYXNlIHNlbmQgYWxsIHJlcG9ydHMgY29uY2VybmluZyB0aGlzIG1hbnVhbCB0bwotPEEgSFJFRj0ibWFpbHRvOmNoZXRAcG8uQ1dSVS5FZHUiPmNoZXRAcG8uQ1dSVS5FZHU8L0E+LgorPEEgSFJFRj0ibWFpbHRvOmNoZXQucmFtZXlAY2FzZS5lZHUiPmNoZXQucmFtZXlAY2FzZS5lZHU8L0E+LgogPC9QPjxQPgogCiA8QSBOQU1FPSJNYWpvciBEaWZmZXJlbmNlcyBGcm9tIFRoZSBCb3VybmUgU2hlbGwiPjwvQT4KQEAgLTEzNDk1LDEyICsxMzY5MCwxMiBAQAogPFA+CiAKIDxjZW50ZXI+Ci0gVmVyc2lvbiAxLjIsIE5vdmVtYmVyIDIwMDIKKyBWZXJzaW9uIDEuMywgMyBOb3ZlbWJlciAyMDA4CiA8L2NlbnRlcj4KIDwvUD48UD4KIAotPFRBQkxFPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ZGlzcGxheT48cHJlIHN0eWxlPSJmb250LWZhbWlseTogc2VyaWYiPkNvcHlyaWdodCAoQykgMjAwMCwyMDAxLDIwMDIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi01MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQQorPFRBQkxFPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ZGlzcGxheT48cHJlIHN0eWxlPSJmb250LWZhbWlseTogc2VyaWYiPkNvcHlyaWdodCAoQykgMjAwMCwgMjAwMSwgMjAwMiwgMjAwNywgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKzxBIEhSRUY9Imh0dHA6Ly9mc2Yub3JnLyI+aHR0cDovL2ZzZi5vcmcvPC9BPgogCiBFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMKIG9mIHRoaXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLgpAQCAtMTM2MTgsNiArMTM4MTMsMTAgQEAKIHByZWNlZGluZyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBib2R5IG9mIHRoZSB0ZXh0LgogPC9QPjxQPgogCitUaGUgInB1Ymxpc2hlciIgbWVhbnMgYW55IHBlcnNvbiBvciBlbnRpdHkgdGhhdCBkaXN0cmlidXRlcyBjb3BpZXMKK29mIHRoZSBEb2N1bWVudCB0byB0aGUgcHVibGljLgorPC9QPjxQPgorCiBBIHNlY3Rpb24gIkVudGl0bGVkIFhZWiIgbWVhbnMgYSBuYW1lZCBzdWJ1bml0IG9mIHRoZSBEb2N1bWVudCB3aG9zZQogdGl0bGUgZWl0aGVyIGlzIHByZWNpc2VseSBYWVogb3IgY29udGFpbnMgWFlaIGluIHBhcmVudGhlc2VzIGZvbGxvd2luZwogdGV4dCB0aGF0IHRyYW5zbGF0ZXMgWFlaIGluIGFub3RoZXIgbGFuZ3VhZ2UuICAoSGVyZSBYWVogc3RhbmRzIGZvciBhCkBAIC0xMzkzMSwxMyArMTQxMzAsMzMgQEAKIFRFUk1JTkFUSU9OCiA8UD4KIAotWW91IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRlIHRoZSBEb2N1bWVudCBleGNlcHQKLWFzIGV4cHJlc3NseSBwcm92aWRlZCBmb3IgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IG90aGVyIGF0dGVtcHQgdG8KLWNvcHksIG1vZGlmeSwgc3VibGljZW5zZSBvciBkaXN0cmlidXRlIHRoZSBEb2N1bWVudCBpcyB2b2lkLCBhbmQgd2lsbAotYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlLiAgSG93ZXZlciwKLXBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzLCBvciByaWdodHMsIGZyb20geW91IHVuZGVyIHRoaXMKLUxpY2Vuc2Ugd2lsbCBub3QgaGF2ZSB0aGVpciBsaWNlbnNlcyB0ZXJtaW5hdGVkIHNvIGxvbmcgYXMgc3VjaAotcGFydGllcyByZW1haW4gaW4gZnVsbCBjb21wbGlhbmNlLgorWW91IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRlIHRoZSBEb2N1bWVudAorZXhjZXB0IGFzIGV4cHJlc3NseSBwcm92aWRlZCB1bmRlciB0aGlzIExpY2Vuc2UuICBBbnkgYXR0ZW1wdAorb3RoZXJ3aXNlIHRvIGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSwgb3IgZGlzdHJpYnV0ZSBpdCBpcyB2b2lkLCBhbmQKK3dpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlLgorPC9QPjxQPgorCitIb3dldmVyLCBpZiB5b3UgY2Vhc2UgYWxsIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UsIHRoZW4geW91ciBsaWNlbnNlCitmcm9tIGEgcGFydGljdWxhciBjb3B5cmlnaHQgaG9sZGVyIGlzIHJlaW5zdGF0ZWQgKGEpIHByb3Zpc2lvbmFsbHksCit1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kIGZpbmFsbHkKK3Rlcm1pbmF0ZXMgeW91ciBsaWNlbnNlLCBhbmQgKGIpIHBlcm1hbmVudGx5LCBpZiB0aGUgY29weXJpZ2h0IGhvbGRlcgorZmFpbHMgdG8gbm90aWZ5IHlvdSBvZiB0aGUgdmlvbGF0aW9uIGJ5IHNvbWUgcmVhc29uYWJsZSBtZWFucyBwcmlvciB0bworNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgorPC9QPjxQPgorCitNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKK3JlaW5zdGF0ZWQgcGVybWFuZW50bHkgaWYgdGhlIGNvcHlyaWdodCBob2xkZXIgbm90aWZpZXMgeW91IG9mIHRoZQordmlvbGF0aW9uIGJ5IHNvbWUgcmVhc29uYWJsZSBtZWFucywgdGhpcyBpcyB0aGUgZmlyc3QgdGltZSB5b3UgaGF2ZQorcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0Citjb3B5cmlnaHQgaG9sZGVyLCBhbmQgeW91IGN1cmUgdGhlIHZpb2xhdGlvbiBwcmlvciB0byAzMCBkYXlzIGFmdGVyCit5b3VyIHJlY2VpcHQgb2YgdGhlIG5vdGljZS4KKzwvUD48UD4KKworVGVybWluYXRpb24gb2YgeW91ciByaWdodHMgdW5kZXIgdGhpcyBzZWN0aW9uIGRvZXMgbm90IHRlcm1pbmF0ZSB0aGUKK2xpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgordGhpcyBMaWNlbnNlLiAgSWYgeW91ciByaWdodHMgaGF2ZSBiZWVuIHRlcm1pbmF0ZWQgYW5kIG5vdCBwZXJtYW5lbnRseQorcmVpbnN0YXRlZCwgcmVjZWlwdCBvZiBhIGNvcHkgb2Ygc29tZSBvciBhbGwgb2YgdGhlIHNhbWUgbWF0ZXJpYWwgZG9lcworbm90IGdpdmUgeW91IGFueSByaWdodHMgdG8gdXNlIGl0LgogPC9QPjxQPgogCiA8TEk+CkBAIC0xMzk1OCw3ICsxNDE3Nyw0OSBAQAogb2YgYW55IGxhdGVyIHZlcnNpb24gdGhhdCBoYXMgYmVlbiBwdWJsaXNoZWQgKG5vdCBhcyBhIGRyYWZ0KSBieSB0aGUKIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4gIElmIHRoZSBEb2N1bWVudCBkb2VzIG5vdCBzcGVjaWZ5IGEgdmVyc2lvbgogbnVtYmVyIG9mIHRoaXMgTGljZW5zZSwgeW91IG1heSBjaG9vc2UgYW55IHZlcnNpb24gZXZlciBwdWJsaXNoZWQgKG5vdAotYXMgYSBkcmFmdCkgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KK2FzIGEgZHJhZnQpIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uICBJZiB0aGUgRG9jdW1lbnQKK3NwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUgdmVyc2lvbnMgb2YgdGhpcworTGljZW5zZSBjYW4gYmUgdXNlZCwgdGhhdCBwcm94eSdzIHB1YmxpYyBzdGF0ZW1lbnQgb2YgYWNjZXB0YW5jZSBvZiBhCit2ZXJzaW9uIHBlcm1hbmVudGx5IGF1dGhvcml6ZXMgeW91IHRvIGNob29zZSB0aGF0IHZlcnNpb24gZm9yIHRoZQorRG9jdW1lbnQuCis8L1A+PFA+CisKKzxMST4KK1JFTElDRU5TSU5HCis8UD4KKworIk1hc3NpdmUgTXVsdGlhdXRob3IgQ29sbGFib3JhdGlvbiBTaXRlIiAob3IgIk1NQyBTaXRlIikgbWVhbnMgYW55CitXb3JsZCBXaWRlIFdlYiBzZXJ2ZXIgdGhhdCBwdWJsaXNoZXMgY29weXJpZ2h0YWJsZSB3b3JrcyBhbmQgYWxzbworcHJvdmlkZXMgcHJvbWluZW50IGZhY2lsaXRpZXMgZm9yIGFueWJvZHkgdG8gZWRpdCB0aG9zZSB3b3Jrcy4gIEEKK3B1YmxpYyB3aWtpIHRoYXQgYW55Ym9keSBjYW4gZWRpdCBpcyBhbiBleGFtcGxlIG9mIHN1Y2ggYSBzZXJ2ZXIuICBBCisiTWFzc2l2ZSBNdWx0aWF1dGhvciBDb2xsYWJvcmF0aW9uIiAob3IgIk1NQyIpIGNvbnRhaW5lZCBpbiB0aGUKK3NpdGUgbWVhbnMgYW55IHNldCBvZiBjb3B5cmlnaHRhYmxlIHdvcmtzIHRodXMgcHVibGlzaGVkIG9uIHRoZSBNTUMKK3NpdGUuCis8L1A+PFA+CisKKyJDQy1CWS1TQSIgbWVhbnMgdGhlIENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tU2hhcmUgQWxpa2UgMy4wCitsaWNlbnNlIHB1Ymxpc2hlZCBieSBDcmVhdGl2ZSBDb21tb25zIENvcnBvcmF0aW9uLCBhIG5vdC1mb3ItcHJvZml0Citjb3Jwb3JhdGlvbiB3aXRoIGEgcHJpbmNpcGFsIHBsYWNlIG9mIGJ1c2luZXNzIGluIFNhbiBGcmFuY2lzY28sCitDYWxpZm9ybmlhLCBhcyB3ZWxsIGFzIGZ1dHVyZSBjb3B5bGVmdCB2ZXJzaW9ucyBvZiB0aGF0IGxpY2Vuc2UKK3B1Ymxpc2hlZCBieSB0aGF0IHNhbWUgb3JnYW5pemF0aW9uLgorPC9QPjxQPgorCisiSW5jb3Jwb3JhdGUiIG1lYW5zIHRvIHB1Ymxpc2ggb3IgcmVwdWJsaXNoIGEgRG9jdW1lbnQsIGluIHdob2xlIG9yCitpbiBwYXJ0LCBhcyBwYXJ0IG9mIGFub3RoZXIgRG9jdW1lbnQuCis8L1A+PFA+CisKK0FuIE1NQyBpcyAiZWxpZ2libGUgZm9yIHJlbGljZW5zaW5nIiBpZiBpdCBpcyBsaWNlbnNlZCB1bmRlciB0aGlzCitMaWNlbnNlLCBhbmQgaWYgYWxsIHdvcmtzIHRoYXQgd2VyZSBmaXJzdCBwdWJsaXNoZWQgdW5kZXIgdGhpcyBMaWNlbnNlCitzb21ld2hlcmUgb3RoZXIgdGhhbiB0aGlzIE1NQywgYW5kIHN1YnNlcXVlbnRseSBpbmNvcnBvcmF0ZWQgaW4gd2hvbGUKK29yIGluIHBhcnQgaW50byB0aGUgTU1DLCAoMSkgaGFkIG5vIGNvdmVyIHRleHRzIG9yIGludmFyaWFudCBzZWN0aW9ucywKK2FuZCAoMikgd2VyZSB0aHVzIGluY29ycG9yYXRlZCBwcmlvciB0byBOb3ZlbWJlciAxLCAyMDA4LgorPC9QPjxQPgorCitUaGUgb3BlcmF0b3Igb2YgYW4gTU1DIFNpdGUgbWF5IHJlcHVibGlzaCBhbiBNTUMgY29udGFpbmVkIGluIHRoZSBzaXRlCit1bmRlciBDQy1CWS1TQSBvbiB0aGUgc2FtZSBzaXRlIGF0IGFueSB0aW1lIGJlZm9yZSBBdWd1c3QgMSwgMjAwOSwKK3Byb3ZpZGVkIHRoZSBNTUMgaXMgZWxpZ2libGUgZm9yIHJlbGljZW5zaW5nLgorPC9QPjxQPgorCiA8L09MPgogPFA+CiAKQEAgLTEzOTc0LDcgKzE0MjM1LDcgQEAKIAogPFRBQkxFPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQgY2xhc3M9c21hbGxleGFtcGxlPjxGT05UIFNJWkU9LTE+PHByZT4gIENvcHlyaWdodCAoQykgIDxWQVI+eWVhcjwvVkFSPiAgPFZBUj55b3VyIG5hbWU8L1ZBUj4uCiAgIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBjb3B5LCBkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhpcyBkb2N1bWVudAotICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBGcmVlIERvY3VtZW50YXRpb24gTGljZW5zZSwgVmVyc2lvbiAxLjIKKyAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2UsIFZlcnNpb24gMS4zCiAgIG9yIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOwogICB3aXRoIG5vIEludmFyaWFudCBTZWN0aW9ucywgbm8gRnJvbnQtQ292ZXIgVGV4dHMsIGFuZCBubyBCYWNrLUNvdmVyCiAgIFRleHRzLiAgQSBjb3B5IG9mIHRoZSBsaWNlbnNlIGlzIGluY2x1ZGVkIGluIHRoZSBzZWN0aW9uIGVudGl0bGVkIGBgR05VCkBAIC0xNDEwNiw3ICsxNDM2Nyw3IEBACiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDg5Ij48Q09ERT5hbGlhczwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImJ0X0IiPjwvQT5CPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyODkiPjxDT0RFPmJnPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MyI+Ny4yIEpvYiBDb250cm9sIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjkzIj48Q09ERT5iZzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTMiPjcuMiBKb2IgQ29udHJvbCBCdWlsdGluczwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDkwIj48Q09ERT5iaW5kPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDcwIj48Q09ERT5icmVhazwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg5MSI+PENPREU+YnVpbHRpbjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48L1RSPgpAQCAtMTQxMTUsMTUgKzE0Mzc2LDE1IEBACiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDkyIj48Q09ERT5jYWxsZXI8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNzEiPjxDT0RFPmNkPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDkzIj48Q09ERT5jb21tYW5kPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUzMSI+PENPREU+Y29tcGdlbjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE4Ij44LjcgUHJvZ3JhbW1hYmxlIENvbXBsZXRpb24gQnVpbHRpbnM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MzIiPjxDT0RFPmNvbXBsZXRlPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTgiPjguNyBQcm9ncmFtbWFibGUgQ29tcGxldGlvbiBCdWlsdGluczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUzMyI+PENPREU+Y29tcG9wdDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE4Ij44LjcgUHJvZ3JhbW1hYmxlIENvbXBsZXRpb24gQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NDAiPjxDT0RFPmNvbXBnZW48L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOCI+OC43IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTQxIj48Q09ERT5jb21wbGV0ZTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE4Ij44LjcgUHJvZ3JhbW1hYmxlIENvbXBsZXRpb24gQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NDIiPjxDT0RFPmNvbXBvcHQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOCI+OC43IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNzIiPjxDT0RFPmNvbnRpbnVlPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iYnRfRCI+PC9BPkQ8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDk0Ij48Q09ERT5kZWNsYXJlPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI4NiI+PENPREU+ZGlyczwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODciPjYuOC4xIERpcmVjdG9yeSBTdGFjayBCdWlsdGluczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI5NCI+PENPREU+ZGlzb3duPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MyI+Ny4yIEpvYiBDb250cm9sIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjkwIj48Q09ERT5kaXJzPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NyI+Ni44LjEgRGlyZWN0b3J5IFN0YWNrIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjk4Ij48Q09ERT5kaXNvd248L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkzIj43LjIgSm9iIENvbnRyb2wgQnVpbHRpbnM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImJ0X0UiPjwvQT5FPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg5NSI+PENPREU+ZWNobzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48L1RSPgpAQCAtMTQxMzQsOCArMTQzOTUsOCBAQAogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg3NiI+PENPREU+ZXhwb3J0PC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iYnRfRiI+PC9BPkY8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUzNSI+PENPREU+ZmM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMSI+OS4yIEJhc2ggSGlzdG9yeSBCdWlsdGluczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI5MCI+PENPREU+Zmc8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkzIj43LjIgSm9iIENvbnRyb2wgQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NDQiPjxDT0RFPmZjPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjEiPjkuMiBCYXNoIEhpc3RvcnkgQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyOTQiPjxDT0RFPmZnPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MyI+Ny4yIEpvYiBDb250cm9sIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJidF9HIj48L0E+RzwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNzciPjxDT0RFPmdldG9wdHM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KQEAgLTE0MTQzLDEzICsxNDQwNCwxMyBAQAogPFRSPjxUSD48QSBOQU1FPSJidF9IIj48L0E+SDwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNzgiPjxDT0RFPmhhc2g8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYOTciPjxDT0RFPmhlbHA8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTM2Ij48Q09ERT5oaXN0b3J5PC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjEiPjkuMiBCYXNoIEhpc3RvcnkgQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NDUiPjxDT0RFPmhpc3Rvcnk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMSI+OS4yIEJhc2ggSGlzdG9yeSBCdWlsdGluczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iYnRfSiI+PC9BPko8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI5MSI+PENPREU+am9iczwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTMiPjcuMiBKb2IgQ29udHJvbCBCdWlsdGluczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI5NSI+PENPREU+am9iczwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTMiPjcuMiBKb2IgQ29udHJvbCBCdWlsdGluczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iYnRfSyI+PC9BPks8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI5MiI+PENPREU+a2lsbDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTMiPjcuMiBKb2IgQ29udHJvbCBCdWlsdGluczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI5NiI+PENPREU+a2lsbDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTMiPjcuMiBKb2IgQ29udHJvbCBCdWlsdGluczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iYnRfTCI+PC9BPkw8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDk4Ij48Q09ERT5sZXQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KQEAgLTE0MTYwLDkgKzE0NDIxLDkgQEAKIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTAxIj48Q09ERT5tYXBmaWxlPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iYnRfUCI+PC9BPlA8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI4NyI+PENPREU+cG9wZDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODciPjYuOC4xIERpcmVjdG9yeSBTdGFjayBCdWlsdGluczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI5MSI+PENPREU+cG9wZDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODciPjYuOC4xIERpcmVjdG9yeSBTdGFjayBCdWlsdGluczwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEwMiI+PENPREU+cHJpbnRmPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI4OCI+PENPREU+cHVzaGQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg3Ij42LjguMSBEaXJlY3RvcnkgU3RhY2sgQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyOTIiPjxDT0RFPnB1c2hkPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NyI+Ni44LjEgRGlyZWN0b3J5IFN0YWNrIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNzkiPjxDT0RFPnB3ZDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImJ0X1IiPjwvQT5SPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgpAQCAtMTQxNzYsNyArMTQ0MzcsNyBAQAogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg4MiI+PENPREU+c2hpZnQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTExIj48Q09ERT5zaG9wdDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTA1Ij48Q09ERT5zb3VyY2U8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjk1Ij48Q09ERT5zdXNwZW5kPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MyI+Ny4yIEpvYiBDb250cm9sIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjk5Ij48Q09ERT5zdXNwZW5kPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MyI+Ny4yIEpvYiBDb250cm9sIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJidF9UIj48L0E+VDwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYODMiPjxDT0RFPnRlc3Q8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KQEAgLTE0MTkyLDcgKzE0NDUzLDcgQEAKIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYODgiPjxDT0RFPnVuc2V0PC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iYnRfVyI+PC9BPlc8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI5MyI+PENPREU+d2FpdDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTMiPjcuMiBKb2IgQ29udHJvbCBCdWlsdGluczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI5NyI+PENPREU+d2FpdDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTMiPjcuMiBKb2IgQ29udHJvbCBCdWlsdGluczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDwvVEFCTEU+PFA+PC9QPjx0YWJsZT48dHI+PHRoIHZhbGlnbj10b3A+SnVtcCB0bzogJm5ic3A7IDwvdGg+PHRkPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNidF8uIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmUiPjxiPi48L2I+PC9BPgogICZuYnNwOyAKQEAgLTE0NDgyLDI0NSArMTQ3NDMsMjUwIEBACiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDYzIj48Q09ERT5fPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNyI+My40LjIgU3BlY2lhbCBQYXJhbWV0ZXJzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJ2cl9BIj48L0E+QTwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjk2Ij48Q09ERT5hdXRvX3Jlc3VtZTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTQiPjcuMyBKb2IgQ29udHJvbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyOTciPjxDT0RFPmF1dG9fcmVzdW1lPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NCI+Ny4zIEpvYiBDb250cm9sIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMwMCI+PENPREU+YXV0b19yZXN1bWU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk0Ij43LjMgSm9iIENvbnRyb2wgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzAxIj48Q09ERT5hdXRvX3Jlc3VtZTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTQiPjcuMyBKb2IgQ29udHJvbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9InZyX0IiPjwvQT5CPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMzIiPjxDT0RFPkJBU0g8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMzMiPjxDT0RFPkJBU0g8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMzYiPjxDT0RFPkJBU0hfQUxJQVNFUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEzNyI+PENPREU+QkFTSF9BTElBU0VTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTM4Ij48Q09ERT5CQVNIX0FSR0M8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMzkiPjxDT0RFPkJBU0hfQVJHQzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE0MCI+PENPREU+QkFTSF9BUkdWPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTQxIj48Q09ERT5CQVNIX0FSR1Y8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNDIiPjxDT0RFPkJBU0hfQ01EUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE0MyI+PENPREU+QkFTSF9DTURTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTQ0Ij48Q09ERT5CQVNIX0NPTU1BTkQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNDUiPjxDT0RFPkJBU0hfQ09NTUFORDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE0NiI+PENPREU+QkFTSF9FTlY8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNDciPjxDT0RFPkJBU0hfRU5WPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTQ4Ij48Q09ERT5CQVNIX0VYRUNVVElPTl9TVFJJTkc8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNDkiPjxDT0RFPkJBU0hfRVhFQ1VUSU9OX1NUUklORzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE1MCI+PENPREU+QkFTSF9MSU5FTk88L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNTEiPjxDT0RFPkJBU0hfTElORU5PPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTUyIj48Q09ERT5CQVNIX1JFTUFUQ0g8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNTMiPjxDT0RFPkJBU0hfUkVNQVRDSDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE1NCI+PENPREU+QkFTSF9TT1VSQ0U8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNTUiPjxDT0RFPkJBU0hfU09VUkNFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTU2Ij48Q09ERT5CQVNIX1NVQlNIRUxMPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTU3Ij48Q09ERT5CQVNIX1NVQlNIRUxMPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTU4Ij48Q09ERT5CQVNIX1ZFUlNJTkZPPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTU5Ij48Q09ERT5CQVNIX1ZFUlNJTkZPPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTYwIj48Q09ERT5CQVNIX1ZFUlNJT048L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNjEiPjxDT0RFPkJBU0hfVkVSU0lPTjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEzNCI+PENPREU+QkFTSFBJRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEzNSI+PENPREU+QkFTSFBJRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMwMyI+PENPREU+YmVsbC1zdHlsZTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzA0Ij48Q09ERT5iaW5kLXR0eS1zcGVjaWFsLWNoYXJzPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMzgiPjxDT0RFPkJBU0hfQUxJQVNFUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEzOSI+PENPREU+QkFTSF9BTElBU0VTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTQwIj48Q09ERT5CQVNIX0FSR0M8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNDEiPjxDT0RFPkJBU0hfQVJHQzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE0MiI+PENPREU+QkFTSF9BUkdWPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTQzIj48Q09ERT5CQVNIX0FSR1Y8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNDQiPjxDT0RFPkJBU0hfQ01EUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE0NSI+PENPREU+QkFTSF9DTURTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTQ2Ij48Q09ERT5CQVNIX0NPTU1BTkQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNDciPjxDT0RFPkJBU0hfQ09NTUFORDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE0OCI+PENPREU+QkFTSF9FTlY8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNDkiPjxDT0RFPkJBU0hfRU5WPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTUwIj48Q09ERT5CQVNIX0VYRUNVVElPTl9TVFJJTkc8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNTEiPjxDT0RFPkJBU0hfRVhFQ1VUSU9OX1NUUklORzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE1MiI+PENPREU+QkFTSF9MSU5FTk88L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNTMiPjxDT0RFPkJBU0hfTElORU5PPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTU0Ij48Q09ERT5CQVNIX1JFTUFUQ0g8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNTUiPjxDT0RFPkJBU0hfUkVNQVRDSDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE1NiI+PENPREU+QkFTSF9TT1VSQ0U8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNTciPjxDT0RFPkJBU0hfU09VUkNFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTU4Ij48Q09ERT5CQVNIX1NVQlNIRUxMPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTU5Ij48Q09ERT5CQVNIX1NVQlNIRUxMPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTYwIj48Q09ERT5CQVNIX1ZFUlNJTkZPPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTYxIj48Q09ERT5CQVNIX1ZFUlNJTkZPPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTYyIj48Q09ERT5CQVNIX1ZFUlNJT048L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNjMiPjxDT0RFPkJBU0hfVkVSU0lPTjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE2NCI+PENPREU+QkFTSF9YVFJBQ0VGRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE2NSI+PENPREU+QkFTSF9YVFJBQ0VGRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEzNCI+PENPREU+QkFTSE9QVFM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMzUiPjxDT0RFPkJBU0hPUFRTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTM2Ij48Q09ERT5CQVNIUElEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTM3Ij48Q09ERT5CQVNIUElEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzA3Ij48Q09ERT5iZWxsLXN0eWxlPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMDgiPjxDT0RFPmJpbmQtdHR5LXNwZWNpYWwtY2hhcnM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0idnJfQyI+PC9BPkM8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDExMiI+PENPREU+Q0RQQVRIPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NiI+NS4xIEJvdXJuZSBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMTMiPjxDT0RFPkNEUEFUSDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjYiPjUuMSBCb3VybmUgU2hlbGwgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTYyIj48Q09ERT5DT0xVTU5TPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTYzIj48Q09ERT5DT0xVTU5TPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzA1Ij48Q09ERT5jb21tZW50LWJlZ2luPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNjQiPjxDT0RFPkNPTVBfQ1dPUkQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNjUiPjxDT0RFPkNPTVBfQ1dPUkQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNzIiPjxDT0RFPkNPTVBfS0VZPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTczIj48Q09ERT5DT01QX0tFWTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE2NiI+PENPREU+Q09NUF9MSU5FPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTY3Ij48Q09ERT5DT01QX0xJTkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNjgiPjxDT0RFPkNPTVBfUE9JTlQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNjkiPjxDT0RFPkNPTVBfUE9JTlQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNzAiPjxDT0RFPkNPTVBfVFlQRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE3MSI+PENPREU+Q09NUF9UWVBFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTc0Ij48Q09ERT5DT01QX1dPUkRCUkVBS1M8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNzUiPjxDT0RFPkNPTVBfV09SREJSRUFLUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE3NiI+PENPREU+Q09NUF9XT1JEUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE3NyI+PENPREU+Q09NUF9XT1JEUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMwNiI+PENPREU+Y29tcGxldGlvbi1wcmVmaXgtZGlzcGxheS1sZW5ndGg8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMwNyI+PENPREU+Y29tcGxldGlvbi1xdWVyeS1pdGVtczwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTc4Ij48Q09ERT5DT01QUkVQTFk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNzkiPjxDT0RFPkNPTVBSRVBMWTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMwOCI+PENPREU+Y29udmVydC1tZXRhPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNjYiPjxDT0RFPkNPTFVNTlM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNjciPjxDT0RFPkNPTFVNTlM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMDkiPjxDT0RFPmNvbW1lbnQtYmVnaW48L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE2OCI+PENPREU+Q09NUF9DV09SRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE2OSI+PENPREU+Q09NUF9DV09SRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE3NiI+PENPREU+Q09NUF9LRVk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNzciPjxDT0RFPkNPTVBfS0VZPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTcwIj48Q09ERT5DT01QX0xJTkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNzEiPjxDT0RFPkNPTVBfTElORTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE3MiI+PENPREU+Q09NUF9QT0lOVDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE3MyI+PENPREU+Q09NUF9QT0lOVDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE3NCI+PENPREU+Q09NUF9UWVBFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTc1Ij48Q09ERT5DT01QX1RZUEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNzgiPjxDT0RFPkNPTVBfV09SREJSRUFLUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE3OSI+PENPREU+Q09NUF9XT1JEQlJFQUtTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTgwIj48Q09ERT5DT01QX1dPUkRTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTgxIj48Q09ERT5DT01QX1dPUkRTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzEwIj48Q09ERT5jb21wbGV0aW9uLXByZWZpeC1kaXNwbGF5LWxlbmd0aDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzExIj48Q09ERT5jb21wbGV0aW9uLXF1ZXJ5LWl0ZW1zPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxODIiPjxDT0RFPkNPTVBSRVBMWTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE4MyI+PENPREU+Q09NUFJFUExZPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzEyIj48Q09ERT5jb252ZXJ0LW1ldGE8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0idnJfRCI+PC9BPkQ8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE4MCI+PENPREU+RElSU1RBQ0s8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxODEiPjxDT0RFPkRJUlNUQUNLPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzA5Ij48Q09ERT5kaXNhYmxlLWNvbXBsZXRpb248L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE4NCI+PENPREU+RElSU1RBQ0s8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxODUiPjxDT0RFPkRJUlNUQUNLPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzEzIj48Q09ERT5kaXNhYmxlLWNvbXBsZXRpb248L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0idnJfRSI+PC9BPkU8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMxMCI+PENPREU+ZWRpdGluZy1tb2RlPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxODIiPjxDT0RFPkVNQUNTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTgzIj48Q09ERT5FTUFDUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMxMSI+PENPREU+ZW5hYmxlLWtleXBhZDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTg0Ij48Q09ERT5FVUlEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTg1Ij48Q09ERT5FVUlEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzEyIj48Q09ERT5leHBhbmQtdGlsZGU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMxNCI+PENPREU+ZWRpdGluZy1tb2RlPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxODYiPjxDT0RFPkVNQUNTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTg3Ij48Q09ERT5FTUFDUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMxNSI+PENPREU+ZW5hYmxlLWtleXBhZDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTg4Ij48Q09ERT5FVUlEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTg5Ij48Q09ERT5FVUlEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzE2Ij48Q09ERT5leHBhbmQtdGlsZGU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0idnJfRiI+PC9BPkY8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE4NiI+PENPREU+RkNFRElUPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTg3Ij48Q09ERT5GQ0VESVQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxODgiPjxDT0RFPkZJR05PUkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxODkiPjxDT0RFPkZJR05PUkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxOTAiPjxDT0RFPkZVTkNOQU1FPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTkxIj48Q09ERT5GVU5DTkFNRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE5MCI+PENPREU+RkNFRElUPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTkxIj48Q09ERT5GQ0VESVQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxOTIiPjxDT0RFPkZJR05PUkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxOTMiPjxDT0RFPkZJR05PUkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxOTQiPjxDT0RFPkZVTkNOQU1FPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTk1Ij48Q09ERT5GVU5DTkFNRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0idnJfRyI+PC9BPkc8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE5MiI+PENPREU+R0xPQklHTk9SRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE5MyI+PENPREU+R0xPQklHTk9SRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE5NCI+PENPREU+R1JPVVBTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTk1Ij48Q09ERT5HUk9VUFM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxOTYiPjxDT0RFPkdMT0JJR05PUkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxOTciPjxDT0RFPkdMT0JJR05PUkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxOTgiPjxDT0RFPkdST1VQUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE5OSI+PENPREU+R1JPVVBTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJ2cl9IIj48L0E+SDwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTk2Ij48Q09ERT5oaXN0Y2hhcnM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxOTciPjxDT0RFPmhpc3RjaGFyczwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE5OCI+PENPREU+SElTVENNRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE5OSI+PENPREU+SElTVENNRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIwMCI+PENPREU+SElTVENPTlRST0w8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMDEiPjxDT0RFPkhJU1RDT05UUk9MPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjAyIj48Q09ERT5ISVNURklMRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIwMyI+PENPREU+SElTVEZJTEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMDQiPjxDT0RFPkhJU1RGSUxFU0laRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIwNSI+PENPREU+SElTVEZJTEVTSVpFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjA2Ij48Q09ERT5ISVNUSUdOT1JFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjA3Ij48Q09ERT5ISVNUSUdOT1JFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzEzIj48Q09ERT5oaXN0b3J5LXByZXNlcnZlLXBvaW50PC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMTQiPjxDT0RFPmhpc3Rvcnktc2l6ZTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjA4Ij48Q09ERT5ISVNUU0laRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIwOSI+PENPREU+SElTVFNJWkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMTAiPjxDT0RFPkhJU1RUSU1FRk9STUFUPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjExIj48Q09ERT5ISVNUVElNRUZPUk1BVDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIwMCI+PENPREU+aGlzdGNoYXJzPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjAxIj48Q09ERT5oaXN0Y2hhcnM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMDIiPjxDT0RFPkhJU1RDTUQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMDMiPjxDT0RFPkhJU1RDTUQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMDQiPjxDT0RFPkhJU1RDT05UUk9MPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjA1Ij48Q09ERT5ISVNUQ09OVFJPTDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIwNiI+PENPREU+SElTVEZJTEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMDciPjxDT0RFPkhJU1RGSUxFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjA4Ij48Q09ERT5ISVNURklMRVNJWkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMDkiPjxDT0RFPkhJU1RGSUxFU0laRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIxMCI+PENPREU+SElTVElHTk9SRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIxMSI+PENPREU+SElTVElHTk9SRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMxNyI+PENPREU+aGlzdG9yeS1wcmVzZXJ2ZS1wb2ludDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzE4Ij48Q09ERT5oaXN0b3J5LXNpemU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIxMiI+PENPREU+SElTVFNJWkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMTMiPjxDT0RFPkhJU1RTSVpFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjE0Ij48Q09ERT5ISVNUVElNRUZPUk1BVDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIxNSI+PENPREU+SElTVFRJTUVGT1JNQVQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMTQiPjxDT0RFPkhPTUU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDExNSI+PENPREU+SE9NRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjYiPjUuMSBCb3VybmUgU2hlbGwgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzE1Ij48Q09ERT5ob3Jpem9udGFsLXNjcm9sbC1tb2RlPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMTIiPjxDT0RFPkhPU1RGSUxFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjEzIj48Q09ERT5IT1NURklMRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIxNCI+PENPREU+SE9TVE5BTUU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMTUiPjxDT0RFPkhPU1ROQU1FPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjE2Ij48Q09ERT5IT1NUVFlQRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIxNyI+PENPREU+SE9TVFRZUEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMTkiPjxDT0RFPmhvcml6b250YWwtc2Nyb2xsLW1vZGU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIxNiI+PENPREU+SE9TVEZJTEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMTciPjxDT0RFPkhPU1RGSUxFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjE4Ij48Q09ERT5IT1NUTkFNRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIxOSI+PENPREU+SE9TVE5BTUU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMjAiPjxDT0RFPkhPU1RUWVBFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjIxIj48Q09ERT5IT1NUVFlQRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0idnJfSSI+PC9BPkk8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDExNiI+PENPREU+SUZTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NiI+NS4xIEJvdXJuZSBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMTciPjxDT0RFPklGUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjYiPjUuMSBCb3VybmUgU2hlbGwgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjE4Ij48Q09ERT5JR05PUkVFT0Y8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMTkiPjxDT0RFPklHTk9SRUVPRjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMxNiI+PENPREU+aW5wdXQtbWV0YTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjIwIj48Q09ERT5JTlBVVFJDPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjIxIj48Q09ERT5JTlBVVFJDPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzE4Ij48Q09ERT5pc2VhcmNoLXRlcm1pbmF0b3JzPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMjIiPjxDT0RFPklHTk9SRUVPRjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIyMyI+PENPREU+SUdOT1JFRU9GPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzIwIj48Q09ERT5pbnB1dC1tZXRhPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMjQiPjxDT0RFPklOUFVUUkM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMjUiPjxDT0RFPklOUFVUUkM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMjIiPjxDT0RFPmlzZWFyY2gtdGVybWluYXRvcnM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0idnJfSyI+PC9BPks8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMxOSI+PENPREU+a2V5bWFwPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMjMiPjxDT0RFPmtleW1hcDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJ2cl9MIj48L0E+TDwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjIyIj48Q09ERT5MQU5HPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjIzIj48Q09ERT5MQU5HPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjI0Ij48Q09ERT5MQ19BTEw8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMjUiPjxDT0RFPkxDX0FMTDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIyNiI+PENPREU+TENfQ09MTEFURTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIyNyI+PENPREU+TENfQ09MTEFURTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIyOCI+PENPREU+TENfQ1RZUEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMjkiPjxDT0RFPkxDX0NUWVBFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjI2Ij48Q09ERT5MQU5HPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjI3Ij48Q09ERT5MQU5HPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjI4Ij48Q09ERT5MQ19BTEw8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMjkiPjxDT0RFPkxDX0FMTDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIzMCI+PENPREU+TENfQ09MTEFURTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIzMSI+PENPREU+TENfQ09MTEFURTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIzMiI+PENPREU+TENfQ1RZUEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMzMiPjxDT0RFPkxDX0NUWVBFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjEiPjxDT0RFPkxDX01FU1NBR0VTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMyI+My4xLjIuNSBMb2NhbGUtU3BlY2lmaWMgVHJhbnNsYXRpb248L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMzAiPjxDT0RFPkxDX01FU1NBR0VTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjMxIj48Q09ERT5MQ19NRVNTQUdFUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIzMiI+PENPREU+TENfTlVNRVJJQzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIzMyI+PENPREU+TENfTlVNRVJJQzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIzNCI+PENPREU+TElORU5PPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjM1Ij48Q09ERT5MSU5FTk88L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMzYiPjxDT0RFPkxJTkVTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjM3Ij48Q09ERT5MSU5FUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIzNCI+PENPREU+TENfTUVTU0FHRVM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMzUiPjxDT0RFPkxDX01FU1NBR0VTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjM2Ij48Q09ERT5MQ19OVU1FUklDPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjM3Ij48Q09ERT5MQ19OVU1FUklDPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjM4Ij48Q09ERT5MSU5FTk88L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMzkiPjxDT0RFPkxJTkVOTzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI0MCI+PENPREU+TElORVM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNDEiPjxDT0RFPkxJTkVTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJ2cl9NIj48L0E+TTwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjM4Ij48Q09ERT5NQUNIVFlQRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIzOSI+PENPREU+TUFDSFRZUEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNDIiPjxDT0RFPk1BQ0hUWVBFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjQzIj48Q09ERT5NQUNIVFlQRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDExOCI+PENPREU+TUFJTDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjYiPjUuMSBCb3VybmUgU2hlbGwgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTE5Ij48Q09ERT5NQUlMPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NiI+NS4xIEJvdXJuZSBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNDAiPjxDT0RFPk1BSUxDSEVDSzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI0MSI+PENPREU+TUFJTENIRUNLPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjQ0Ij48Q09ERT5NQUlMQ0hFQ0s8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNDUiPjxDT0RFPk1BSUxDSEVDSzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEyMCI+PENPREU+TUFJTFBBVEg8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEyMSI+PENPREU+TUFJTFBBVEg8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMyMCI+PENPREU+bWFyay1tb2RpZmllZC1saW5lczwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzIxIj48Q09ERT5tYXJrLXN5bWxpbmtlZC1kaXJlY3RvcmllczwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzIyIj48Q09ERT5tYXRjaC1oaWRkZW4tZmlsZXM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMxNyI+PENPREU+bWV0YS1mbGFnPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMjQiPjxDT0RFPm1hcmstbW9kaWZpZWQtbGluZXM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMyNSI+PENPREU+bWFyay1zeW1saW5rZWQtZGlyZWN0b3JpZXM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMyNiI+PENPREU+bWF0Y2gtaGlkZGVuLWZpbGVzPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMjEiPjxDT0RFPm1ldGEtZmxhZzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJ2cl9PIj48L0E+TzwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjQyIj48Q09ERT5PTERQV0Q8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNDMiPjxDT0RFPk9MRFBXRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI0NiI+PENPREU+T0xEUFdEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjQ3Ij48Q09ERT5PTERQV0Q8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMjIiPjxDT0RFPk9QVEFSRzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjYiPjUuMSBCb3VybmUgU2hlbGwgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTIzIj48Q09ERT5PUFRBUkc8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI0NCI+PENPREU+T1BURVJSPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjQ1Ij48Q09ERT5PUFRFUlI8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNDgiPjxDT0RFPk9QVEVSUjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI0OSI+PENPREU+T1BURVJSPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTI0Ij48Q09ERT5PUFRJTkQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEyNSI+PENPREU+T1BUSU5EPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NiI+NS4xIEJvdXJuZSBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNDYiPjxDT0RFPk9TVFlQRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI0NyI+PENPREU+T1NUWVBFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzIzIj48Q09ERT5vdXRwdXQtbWV0YTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjUwIj48Q09ERT5PU1RZUEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNTEiPjxDT0RFPk9TVFlQRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMyNyI+PENPREU+b3V0cHV0LW1ldGE8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0idnJfUCI+PC9BPlA8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMyNCI+PENPREU+cGFnZS1jb21wbGV0aW9uczwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzI4Ij48Q09ERT5wYWdlLWNvbXBsZXRpb25zPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMjYiPjxDT0RFPlBBVEg8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEyNyI+PENPREU+UEFUSDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjYiPjUuMSBCb3VybmUgU2hlbGwgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjQ4Ij48Q09ERT5QSVBFU1RBVFVTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjQ5Ij48Q09ERT5QSVBFU1RBVFVTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjUwIj48Q09ERT5QT1NJWExZX0NPUlJFQ1Q8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNTEiPjxDT0RFPlBPU0lYTFlfQ09SUkVDVDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI1MiI+PENPREU+UFBJRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI1MyI+PENPREU+UFBJRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI1NCI+PENPREU+UFJPTVBUX0NPTU1BTkQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNTUiPjxDT0RFPlBST01QVF9DT01NQU5EPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjU2Ij48Q09ERT5QUk9NUFRfRElSVFJJTTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI1NyI+PENPREU+UFJPTVBUX0RJUlRSSU08L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNTIiPjxDT0RFPlBJUEVTVEFUVVM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNTMiPjxDT0RFPlBJUEVTVEFUVVM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNTQiPjxDT0RFPlBPU0lYTFlfQ09SUkVDVDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI1NSI+PENPREU+UE9TSVhMWV9DT1JSRUNUPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjU2Ij48Q09ERT5QUElEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjU3Ij48Q09ERT5QUElEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjU4Ij48Q09ERT5QUk9NUFRfQ09NTUFORDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI1OSI+PENPREU+UFJPTVBUX0NPTU1BTkQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNjAiPjxDT0RFPlBST01QVF9ESVJUUklNPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjYxIj48Q09ERT5QUk9NUFRfRElSVFJJTTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEyOCI+PENPREU+UFMxPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NiI+NS4xIEJvdXJuZSBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMjkiPjxDT0RFPlBTMTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjYiPjUuMSBCb3VybmUgU2hlbGwgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTMwIj48Q09ERT5QUzI8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEzMSI+PENPREU+UFMyPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NiI+NS4xIEJvdXJuZSBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNTgiPjxDT0RFPlBTMzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI1OSI+PENPREU+UFMzPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjYwIj48Q09ERT5QUzQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNjEiPjxDT0RFPlBTNDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI2MiI+PENPREU+UFdEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjYzIj48Q09ERT5QV0Q8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNjIiPjxDT0RFPlBTMzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI2MyI+PENPREU+UFMzPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjY0Ij48Q09ERT5QUzQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNjUiPjxDT0RFPlBTNDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI2NiI+PENPREU+UFdEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjY3Ij48Q09ERT5QV0Q8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9InZyX1IiPjwvQT5SPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNjQiPjxDT0RFPlJBTkRPTTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI2NSI+PENPREU+UkFORE9NPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjY2Ij48Q09ERT5SRVBMWTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI2NyI+PENPREU+UkVQTFk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMjUiPjxDT0RFPnJldmVydC1hbGwtYXQtbmV3bGluZTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjY4Ij48Q09ERT5SQU5ET008L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNjkiPjxDT0RFPlJBTkRPTTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI3MCI+PENPREU+UkVQTFk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNzEiPjxDT0RFPlJFUExZPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzI5Ij48Q09ERT5yZXZlcnQtYWxsLWF0LW5ld2xpbmU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0idnJfUyI+PC9BPlM8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI2OCI+PENPREU+U0VDT05EUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI2OSI+PENPREU+U0VDT05EUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI3MCI+PENPREU+U0hFTEw8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNzEiPjxDT0RFPlNIRUxMPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjcyIj48Q09ERT5TSEVMTE9QVFM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNzMiPjxDT0RFPlNIRUxMT1BUUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI3NCI+PENPREU+U0hMVkw8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNzUiPjxDT0RFPlNITFZMPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzI2Ij48Q09ERT5zaG93LWFsbC1pZi1hbWJpZ3VvdXM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMyNyI+PENPREU+c2hvdy1hbGwtaWYtdW5tb2RpZmllZDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjcyIj48Q09ERT5TRUNPTkRTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjczIj48Q09ERT5TRUNPTkRTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjc0Ij48Q09ERT5TSEVMTDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI3NSI+PENPREU+U0hFTEw8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNzYiPjxDT0RFPlNIRUxMT1BUUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI3NyI+PENPREU+U0hFTExPUFRTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjc4Ij48Q09ERT5TSExWTDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI3OSI+PENPREU+U0hMVkw8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMzAiPjxDT0RFPnNob3ctYWxsLWlmLWFtYmlndW91czwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzMxIj48Q09ERT5zaG93LWFsbC1pZi11bm1vZGlmaWVkPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMzIiPjxDT0RFPnNraXAtY29tcGxldGVkLXRleHQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0idnJfVCI+PC9BPlQ8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIyIj48Q09ERT5URVhURE9NQUlOPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMyI+My4xLjIuNSBMb2NhbGUtU3BlY2lmaWMgVHJhbnNsYXRpb248L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMyI+PENPREU+VEVYVERPTUFJTkRJUjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMiPjMuMS4yLjUgTG9jYWxlLVNwZWNpZmljIFRyYW5zbGF0aW9uPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjc2Ij48Q09ERT5USU1FRk9STUFUPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjc3Ij48Q09ERT5USU1FRk9STUFUPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjc4Ij48Q09ERT5UTU9VVDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI3OSI+PENPREU+VE1PVVQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyODAiPjxDT0RFPlRNUERJUjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI4MSI+PENPREU+VE1QRElSPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjgwIj48Q09ERT5USU1FRk9STUFUPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjgxIj48Q09ERT5USU1FRk9STUFUPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjgyIj48Q09ERT5UTU9VVDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI4MyI+PENPREU+VE1PVVQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyODQiPjxDT0RFPlRNUERJUjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI4NSI+PENPREU+VE1QRElSPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJ2cl9VIj48L0E+VTwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjgyIj48Q09ERT5VSUQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyODMiPjxDT0RFPlVJRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI4NiI+PENPREU+VUlEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjg3Ij48Q09ERT5VSUQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9InZyX1YiPjwvQT5WPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMjgiPjxDT0RFPnZpc2libGUtc3RhdHM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMzMyI+PENPREU+dmlzaWJsZS1zdGF0czwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPC9UQUJMRT48UD48L1A+PHRhYmxlPjx0cj48dGggdmFsaWduPXRvcD5KdW1wIHRvOiAmbmJzcDsgPC90aD48dGQ+PEEgSFJFRj0iYmFzaHJlZi5odG1sI3ZyXyEiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZSI+PGI+ITwvYj48L0E+CiAgJm5ic3A7IApAQCAtMTQ4NDIsMjQ2ICsxNTEwOCwyNTAgQEAKIDxUUj48VEQ+PC9URD48VEggQUxJR049TEVGVD5JbmRleCBFbnRyeTwvVEg+PFRIIEFMSUdOPUxFRlQ+IFNlY3Rpb248L1RIPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iZm5fQSI+PC9BPkE8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ3OSI+PENPREU+YWJvcnQgKEMtZyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDgwIj48Q09ERT5hYm9ydCAoQy1nKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNDkiPjxDT0RFPmFjY2VwdC1saW5lIChOZXdsaW5lIG9yIFJldHVybik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM1MCI+PENPREU+YWNjZXB0LWxpbmUgKE5ld2xpbmUgb3IgUmV0dXJuKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTIxIj48Q09ERT5hbGlhcy1leHBhbmQtbGluZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MjIiPjxDT0RFPmFsaWFzLWV4cGFuZC1saW5lICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ4NiI+PENPREU+YWJvcnQgKEMtZyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDg3Ij48Q09ERT5hYm9ydCAoQy1nKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNTQiPjxDT0RFPmFjY2VwdC1saW5lIChOZXdsaW5lIG9yIFJldHVybik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM1NSI+PENPREU+YWNjZXB0LWxpbmUgKE5ld2xpbmUgb3IgUmV0dXJuKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTMwIj48Q09ERT5hbGlhcy1leHBhbmQtbGluZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MzEiPjxDT0RFPmFsaWFzLWV4cGFuZC1saW5lICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iZm5fQiI+PC9BPkI8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMzNSI+PENPREU+YmFja3dhcmQtY2hhciAoQy1iKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzM2Ij48Q09ERT5iYWNrd2FyZC1jaGFyIChDLWIpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNzciPjxDT0RFPmJhY2t3YXJkLWRlbGV0ZS1jaGFyIChSdWJvdXQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzc4Ij48Q09ERT5iYWNrd2FyZC1kZWxldGUtY2hhciAoUnVib3V0KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM5OSI+PENPREU+YmFja3dhcmQta2lsbC1saW5lIChDLXggUnVib3V0KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDAwIj48Q09ERT5iYWNrd2FyZC1raWxsLWxpbmUgKEMteCBSdWJvdXQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MTEiPjxDT0RFPmJhY2t3YXJkLWtpbGwtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDEyIj48Q09ERT5iYWNrd2FyZC1raWxsLXdvcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQwNyI+PENPREU+YmFja3dhcmQta2lsbC13b3JkIChNLTxLQkQ+REVMPC9LQkQ+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDA4Ij48Q09ERT5iYWNrd2FyZC1raWxsLXdvcmQgKE0tPEtCRD5ERUw8L0tCRD4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMzkiPjxDT0RFPmJhY2t3YXJkLXdvcmQgKE0tYik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM0MCI+PENPREU+YmFja3dhcmQtd29yZCAoTS1iKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzU1Ij48Q09ERT5iZWdpbm5pbmctb2YtaGlzdG9yeSAoTS0mIzM4OyM2MDspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNTYiPjxDT0RFPmJlZ2lubmluZy1vZi1oaXN0b3J5IChNLSYjMzg7IzYwOyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMyOSI+PENPREU+YmVnaW5uaW5nLW9mLWxpbmUgKEMtYSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMzMCI+PENPREU+YmVnaW5uaW5nLW9mLWxpbmUgKEMtYSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM0MCI+PENPREU+YmFja3dhcmQtY2hhciAoQy1iKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzQxIj48Q09ERT5iYWNrd2FyZC1jaGFyIChDLWIpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzODIiPjxDT0RFPmJhY2t3YXJkLWRlbGV0ZS1jaGFyIChSdWJvdXQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzgzIj48Q09ERT5iYWNrd2FyZC1kZWxldGUtY2hhciAoUnVib3V0KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQwNCI+PENPREU+YmFja3dhcmQta2lsbC1saW5lIChDLXggUnVib3V0KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDA1Ij48Q09ERT5iYWNrd2FyZC1raWxsLWxpbmUgKEMteCBSdWJvdXQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MTYiPjxDT0RFPmJhY2t3YXJkLWtpbGwtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDE3Ij48Q09ERT5iYWNrd2FyZC1raWxsLXdvcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQxMiI+PENPREU+YmFja3dhcmQta2lsbC13b3JkIChNLTxLQkQ+REVMPC9LQkQ+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDEzIj48Q09ERT5iYWNrd2FyZC1raWxsLXdvcmQgKE0tPEtCRD5ERUw8L0tCRD4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNDQiPjxDT0RFPmJhY2t3YXJkLXdvcmQgKE0tYik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM0NSI+PENPREU+YmFja3dhcmQtd29yZCAoTS1iKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzYwIj48Q09ERT5iZWdpbm5pbmctb2YtaGlzdG9yeSAoTS0mIzM4OyM2MDspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNjEiPjxDT0RFPmJlZ2lubmluZy1vZi1oaXN0b3J5IChNLSYjMzg7IzYwOyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMzNCI+PENPREU+YmVnaW5uaW5nLW9mLWxpbmUgKEMtYSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMzNSI+PENPREU+YmVnaW5uaW5nLW9mLWxpbmUgKEMtYSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iZm5fQyI+PC9BPkM8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ3NSI+PENPREU+Y2FsbC1sYXN0LWtiZC1tYWNybyAoQy14IGUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTQiPjguNC43IEtleWJvYXJkIE1hY3JvczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ3NiI+PENPREU+Y2FsbC1sYXN0LWtiZC1tYWNybyAoQy14IGUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTQiPjguNC43IEtleWJvYXJkIE1hY3JvczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM5MyI+PENPREU+Y2FwaXRhbGl6ZS13b3JkIChNLWMpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzk0Ij48Q09ERT5jYXBpdGFsaXplLXdvcmQgKE0tYyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0OTUiPjxDT0RFPmNoYXJhY3Rlci1zZWFyY2ggKEMtXSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDk2Ij48Q09ERT5jaGFyYWN0ZXItc2VhcmNoIChDLV0pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ5NyI+PENPREU+Y2hhcmFjdGVyLXNlYXJjaC1iYWNrd2FyZCAoTS1DLV0pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ5OCI+PENPREU+Y2hhcmFjdGVyLXNlYXJjaC1iYWNrd2FyZCAoTS1DLV0pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM0NSI+PENPREU+Y2xlYXItc2NyZWVuIChDLWwpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNDYiPjxDT0RFPmNsZWFyLXNjcmVlbiAoQy1sKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDM1Ij48Q09ERT5jb21wbGV0ZSAoPEtCRD5UQUI8L0tCRD4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDM2Ij48Q09ERT5jb21wbGV0ZSAoPEtCRD5UQUI8L0tCRD4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDYxIj48Q09ERT5jb21wbGV0ZS1jb21tYW5kIChNLSEpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDYyIj48Q09ERT5jb21wbGV0ZS1jb21tYW5kIChNLSEpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDQ1Ij48Q09ERT5jb21wbGV0ZS1maWxlbmFtZSAoTS0vKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ0NiI+PENPREU+Y29tcGxldGUtZmlsZW5hbWUgKE0tLyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NTciPjxDT0RFPmNvbXBsZXRlLWhvc3RuYW1lIChNLUApPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDU4Ij48Q09ERT5jb21wbGV0ZS1ob3N0bmFtZSAoTS1AKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2OSI+PENPREU+Y29tcGxldGUtaW50by1icmFjZXMgKE0teyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NzAiPjxDT0RFPmNvbXBsZXRlLWludG8tYnJhY2VzIChNLXspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDQ5Ij48Q09ERT5jb21wbGV0ZS11c2VybmFtZSAoTS1+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ1MCI+PENPREU+Y29tcGxldGUtdXNlcm5hbWUgKE0tfik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NTMiPjxDT0RFPmNvbXBsZXRlLXZhcmlhYmxlIChNLSQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDU0Ij48Q09ERT5jb21wbGV0ZS12YXJpYWJsZSAoTS0kKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQyMyI+PENPREU+Y29weS1iYWNrd2FyZC13b3JkICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MjQiPjxDT0RFPmNvcHktYmFja3dhcmQtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDI1Ij48Q09ERT5jb3B5LWZvcndhcmQtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDI2Ij48Q09ERT5jb3B5LWZvcndhcmQtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDIxIj48Q09ERT5jb3B5LXJlZ2lvbi1hcy1raWxsICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MjIiPjxDT0RFPmNvcHktcmVnaW9uLWFzLWtpbGwgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ4MiI+PENPREU+Y2FsbC1sYXN0LWtiZC1tYWNybyAoQy14IGUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTQiPjguNC43IEtleWJvYXJkIE1hY3JvczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ4MyI+PENPREU+Y2FsbC1sYXN0LWtiZC1tYWNybyAoQy14IGUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTQiPjguNC43IEtleWJvYXJkIE1hY3JvczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM5OCI+PENPREU+Y2FwaXRhbGl6ZS13b3JkIChNLWMpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzk5Ij48Q09ERT5jYXBpdGFsaXplLXdvcmQgKE0tYyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MDIiPjxDT0RFPmNoYXJhY3Rlci1zZWFyY2ggKEMtXSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTAzIj48Q09ERT5jaGFyYWN0ZXItc2VhcmNoIChDLV0pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUwNCI+PENPREU+Y2hhcmFjdGVyLXNlYXJjaC1iYWNrd2FyZCAoTS1DLV0pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUwNSI+PENPREU+Y2hhcmFjdGVyLXNlYXJjaC1iYWNrd2FyZCAoTS1DLV0pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM1MCI+PENPREU+Y2xlYXItc2NyZWVuIChDLWwpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNTEiPjxDT0RFPmNsZWFyLXNjcmVlbiAoQy1sKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDQwIj48Q09ERT5jb21wbGV0ZSAoPEtCRD5UQUI8L0tCRD4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDQxIj48Q09ERT5jb21wbGV0ZSAoPEtCRD5UQUI8L0tCRD4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDY4Ij48Q09ERT5jb21wbGV0ZS1jb21tYW5kIChNLSEpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDY5Ij48Q09ERT5jb21wbGV0ZS1jb21tYW5kIChNLSEpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDUyIj48Q09ERT5jb21wbGV0ZS1maWxlbmFtZSAoTS0vKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ1MyI+PENPREU+Y29tcGxldGUtZmlsZW5hbWUgKE0tLyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NjQiPjxDT0RFPmNvbXBsZXRlLWhvc3RuYW1lIChNLUApPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDY1Ij48Q09ERT5jb21wbGV0ZS1ob3N0bmFtZSAoTS1AKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ3NiI+PENPREU+Y29tcGxldGUtaW50by1icmFjZXMgKE0teyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NzciPjxDT0RFPmNvbXBsZXRlLWludG8tYnJhY2VzIChNLXspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDU2Ij48Q09ERT5jb21wbGV0ZS11c2VybmFtZSAoTS1+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ1NyI+PENPREU+Y29tcGxldGUtdXNlcm5hbWUgKE0tfik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NjAiPjxDT0RFPmNvbXBsZXRlLXZhcmlhYmxlIChNLSQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDYxIj48Q09ERT5jb21wbGV0ZS12YXJpYWJsZSAoTS0kKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQyOCI+PENPREU+Y29weS1iYWNrd2FyZC13b3JkICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MjkiPjxDT0RFPmNvcHktYmFja3dhcmQtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDMwIj48Q09ERT5jb3B5LWZvcndhcmQtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDMxIj48Q09ERT5jb3B5LWZvcndhcmQtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDI2Ij48Q09ERT5jb3B5LXJlZ2lvbi1hcy1raWxsICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MjciPjxDT0RFPmNvcHktcmVnaW9uLWFzLWtpbGwgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iZm5fRCI+PC9BPkQ8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2NyI+PENPREU+ZGFiYnJldi1leHBhbmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NjgiPjxDT0RFPmRhYmJyZXYtZXhwYW5kICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzc1Ij48Q09ERT5kZWxldGUtY2hhciAoQy1kKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM3NiI+PENPREU+ZGVsZXRlLWNoYXIgKEMtZCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NDMiPjxDT0RFPmRlbGV0ZS1jaGFyLW9yLWxpc3QgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NDQiPjxDT0RFPmRlbGV0ZS1jaGFyLW9yLWxpc3QgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MTciPjxDT0RFPmRlbGV0ZS1ob3Jpem9udGFsLXNwYWNlICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MTgiPjxDT0RFPmRlbGV0ZS1ob3Jpem9udGFsLXNwYWNlICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MzEiPjxDT0RFPmRpZ2l0LWFyZ3VtZW50ICg8S0JEPk0tMDwvS0JEPiwgPEtCRD5NLTE8L0tCRD4sICYjNjA7c21hbGwmIzYyOy4uLiYjNjA7L3NtYWxsJiM2MjsgPEtCRD5NLS08L0tCRD4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTIiPjguNC41IFNwZWNpZnlpbmcgTnVtZXJpYyBBcmd1bWVudHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MzIiPjxDT0RFPmRpZ2l0LWFyZ3VtZW50ICg8S0JEPk0tMDwvS0JEPiwgPEtCRD5NLTE8L0tCRD4sICYjNjA7c21hbGwmIzYyOy4uLiYjNjA7L3NtYWxsJiM2MjsgPEtCRD5NLS08L0tCRD4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTIiPjguNC41IFNwZWNpZnlpbmcgTnVtZXJpYyBBcmd1bWVudHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MTMiPjxDT0RFPmRpc3BsYXktc2hlbGwtdmVyc2lvbiAoQy14IEMtdik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTE0Ij48Q09ERT5kaXNwbGF5LXNoZWxsLXZlcnNpb24gKEMteCBDLXYpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ4MSI+PENPREU+ZG8tdXBwZXJjYXNlLXZlcnNpb24gKE0tYSwgTS1iLCBNLTxWQVI+eDwvVkFSPiwgJiM2MDtzbWFsbCYjNjI7Li4uJiM2MDsvc21hbGwmIzYyOyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDgyIj48Q09ERT5kby11cHBlcmNhc2UtdmVyc2lvbiAoTS1hLCBNLWIsIE0tPFZBUj54PC9WQVI+LCAmIzYwO3NtYWxsJiM2MjsuLi4mIzYwOy9zbWFsbCYjNjI7KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzOTEiPjxDT0RFPmRvd25jYXNlLXdvcmQgKE0tbCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzOTIiPjxDT0RFPmRvd25jYXNlLXdvcmQgKE0tbCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MDEiPjxDT0RFPmR1bXAtZnVuY3Rpb25zICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUwMiI+PENPREU+ZHVtcC1mdW5jdGlvbnMgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTA1Ij48Q09ERT5kdW1wLW1hY3JvcyAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MDYiPjxDT0RFPmR1bXAtbWFjcm9zICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUwMyI+PENPREU+ZHVtcC12YXJpYWJsZXMgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTA0Ij48Q09ERT5kdW1wLXZhcmlhYmxlcyAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NjUiPjxDT0RFPmR5bmFtaWMtY29tcGxldGUtaGlzdG9yeSAoTS08S0JEPlRBQjwvS0JEPik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NjYiPjxDT0RFPmR5bmFtaWMtY29tcGxldGUtaGlzdG9yeSAoTS08S0JEPlRBQjwvS0JEPik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NzQiPjxDT0RFPmRhYmJyZXYtZXhwYW5kICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDc1Ij48Q09ERT5kYWJicmV2LWV4cGFuZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM4MCI+PENPREU+ZGVsZXRlLWNoYXIgKEMtZCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzODEiPjxDT0RFPmRlbGV0ZS1jaGFyIChDLWQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDUwIj48Q09ERT5kZWxldGUtY2hhci1vci1saXN0ICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDUxIj48Q09ERT5kZWxldGUtY2hhci1vci1saXN0ICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDIyIj48Q09ERT5kZWxldGUtaG9yaXpvbnRhbC1zcGFjZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDIzIj48Q09ERT5kZWxldGUtaG9yaXpvbnRhbC1zcGFjZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDM2Ij48Q09ERT5kaWdpdC1hcmd1bWVudCAoPEtCRD5NLTA8L0tCRD4sIDxLQkQ+TS0xPC9LQkQ+LCAmIzYwO3NtYWxsJiM2MjsuLi4mIzYwOy9zbWFsbCYjNjI7IDxLQkQ+TS0tPC9LQkQ+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNSBTcGVjaWZ5aW5nIE51bWVyaWMgQXJndW1lbnRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDM3Ij48Q09ERT5kaWdpdC1hcmd1bWVudCAoPEtCRD5NLTA8L0tCRD4sIDxLQkQ+TS0xPC9LQkQ+LCAmIzYwO3NtYWxsJiM2MjsuLi4mIzYwOy9zbWFsbCYjNjI7IDxLQkQ+TS0tPC9LQkQ+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNSBTcGVjaWZ5aW5nIE51bWVyaWMgQXJndW1lbnRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTIyIj48Q09ERT5kaXNwbGF5LXNoZWxsLXZlcnNpb24gKEMteCBDLXYpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUyMyI+PENPREU+ZGlzcGxheS1zaGVsbC12ZXJzaW9uIChDLXggQy12KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0ODgiPjxDT0RFPmRvLXVwcGVyY2FzZS12ZXJzaW9uIChNLWEsIE0tYiwgTS08VkFSPng8L1ZBUj4sICYjNjA7c21hbGwmIzYyOy4uLiYjNjA7L3NtYWxsJiM2MjspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ4OSI+PENPREU+ZG8tdXBwZXJjYXNlLXZlcnNpb24gKE0tYSwgTS1iLCBNLTxWQVI+eDwvVkFSPiwgJiM2MDtzbWFsbCYjNjI7Li4uJiM2MDsvc21hbGwmIzYyOyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzk2Ij48Q09ERT5kb3duY2FzZS13b3JkIChNLWwpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzk3Ij48Q09ERT5kb3duY2FzZS13b3JkIChNLWwpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTEwIj48Q09ERT5kdW1wLWZ1bmN0aW9ucyAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MTEiPjxDT0RFPmR1bXAtZnVuY3Rpb25zICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUxNCI+PENPREU+ZHVtcC1tYWNyb3MgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTE1Ij48Q09ERT5kdW1wLW1hY3JvcyAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MTIiPjxDT0RFPmR1bXAtdmFyaWFibGVzICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUxMyI+PENPREU+ZHVtcC12YXJpYWJsZXMgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDcyIj48Q09ERT5keW5hbWljLWNvbXBsZXRlLWhpc3RvcnkgKE0tPEtCRD5UQUI8L0tCRD4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDczIj48Q09ERT5keW5hbWljLWNvbXBsZXRlLWhpc3RvcnkgKE0tPEtCRD5UQUI8L0tCRD4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJmbl9FIj48L0E+RTwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTI5Ij48Q09ERT5lZGl0LWFuZC1leGVjdXRlLWNvbW1hbmQgKEMteEMtZSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTMwIj48Q09ERT5lZGl0LWFuZC1leGVjdXRlLWNvbW1hbmQgKEMteEMtZSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDczIj48Q09ERT5lbmQta2JkLW1hY3JvIChDLXggKSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjcgS2V5Ym9hcmQgTWFjcm9zPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDc0Ij48Q09ERT5lbmQta2JkLW1hY3JvIChDLXggKSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjcgS2V5Ym9hcmQgTWFjcm9zPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzU3Ij48Q09ERT5lbmQtb2YtaGlzdG9yeSAoTS0mIzM4OyM2MjspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNTgiPjxDT0RFPmVuZC1vZi1oaXN0b3J5IChNLSYjMzg7IzYyOyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMzMSI+PENPREU+ZW5kLW9mLWxpbmUgKEMtZSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMzMiI+PENPREU+ZW5kLW9mLWxpbmUgKEMtZSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ5MyI+PENPREU+ZXhjaGFuZ2UtcG9pbnQtYW5kLW1hcmsgKEMteCBDLXgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ5NCI+PENPREU+ZXhjaGFuZ2UtcG9pbnQtYW5kLW1hcmsgKEMteCBDLXgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUzOCI+PENPREU+ZWRpdC1hbmQtZXhlY3V0ZS1jb21tYW5kIChDLXhDLWUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUzOSI+PENPREU+ZWRpdC1hbmQtZXhlY3V0ZS1jb21tYW5kIChDLXhDLWUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ4MCI+PENPREU+ZW5kLWtiZC1tYWNybyAoQy14ICkpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTQiPjguNC43IEtleWJvYXJkIE1hY3JvczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ4MSI+PENPREU+ZW5kLWtiZC1tYWNybyAoQy14ICkpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTQiPjguNC43IEtleWJvYXJkIE1hY3JvczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM2MiI+PENPREU+ZW5kLW9mLWhpc3RvcnkgKE0tJiMzODsjNjI7KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzYzIj48Q09ERT5lbmQtb2YtaGlzdG9yeSAoTS0mIzM4OyM2MjspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMzYiPjxDT0RFPmVuZC1vZi1saW5lIChDLWUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMzciPjxDT0RFPmVuZC1vZi1saW5lIChDLWUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MDAiPjxDT0RFPmV4Y2hhbmdlLXBvaW50LWFuZC1tYXJrIChDLXggQy14KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MDEiPjxDT0RFPmV4Y2hhbmdlLXBvaW50LWFuZC1tYXJrIChDLXggQy14KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImZuX0YiPjwvQT5GPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNzkiPjxDT0RFPmZvcndhcmQtYmFja3dhcmQtZGVsZXRlLWNoYXIgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzODAiPjxDT0RFPmZvcndhcmQtYmFja3dhcmQtZGVsZXRlLWNoYXIgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMzMiPjxDT0RFPmZvcndhcmQtY2hhciAoQy1mKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzM0Ij48Q09ERT5mb3J3YXJkLWNoYXIgKEMtZik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM2MSI+PENPREU+Zm9yd2FyZC1zZWFyY2gtaGlzdG9yeSAoQy1zKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzYyIj48Q09ERT5mb3J3YXJkLXNlYXJjaC1oaXN0b3J5IChDLXMpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMzciPjxDT0RFPmZvcndhcmQtd29yZCAoTS1mKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzM4Ij48Q09ERT5mb3J3YXJkLXdvcmQgKE0tZik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM4NCI+PENPREU+Zm9yd2FyZC1iYWNrd2FyZC1kZWxldGUtY2hhciAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM4NSI+PENPREU+Zm9yd2FyZC1iYWNrd2FyZC1kZWxldGUtY2hhciAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMzOCI+PENPREU+Zm9yd2FyZC1jaGFyIChDLWYpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMzkiPjxDT0RFPmZvcndhcmQtY2hhciAoQy1mKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzY2Ij48Q09ERT5mb3J3YXJkLXNlYXJjaC1oaXN0b3J5IChDLXMpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNjciPjxDT0RFPmZvcndhcmQtc2VhcmNoLWhpc3RvcnkgKEMtcyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM0MiI+PENPREU+Zm9yd2FyZC13b3JkIChNLWYpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNDMiPjxDT0RFPmZvcndhcmQtd29yZCAoTS1mKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJmbl9HIj48L0E+RzwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTA3Ij48Q09ERT5nbG9iLWNvbXBsZXRlLXdvcmQgKE0tZyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTA4Ij48Q09ERT5nbG9iLWNvbXBsZXRlLXdvcmQgKE0tZyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTA5Ij48Q09ERT5nbG9iLWV4cGFuZC13b3JkIChDLXggKik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTEwIj48Q09ERT5nbG9iLWV4cGFuZC13b3JkIChDLXggKik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTExIj48Q09ERT5nbG9iLWxpc3QtZXhwYW5zaW9ucyAoQy14IGcpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUxMiI+PENPREU+Z2xvYi1saXN0LWV4cGFuc2lvbnMgKEMteCBnKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MTYiPjxDT0RFPmdsb2ItY29tcGxldGUtd29yZCAoTS1nKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MTciPjxDT0RFPmdsb2ItY29tcGxldGUtd29yZCAoTS1nKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MTgiPjxDT0RFPmdsb2ItZXhwYW5kLXdvcmQgKEMteCAqKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MTkiPjxDT0RFPmdsb2ItZXhwYW5kLXdvcmQgKEMteCAqKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MjAiPjxDT0RFPmdsb2ItbGlzdC1leHBhbnNpb25zIChDLXggZyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTIxIj48Q09ERT5nbG9iLWxpc3QtZXhwYW5zaW9ucyAoQy14IGcpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iZm5fSCI+PC9BPkg8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUyMyI+PENPREU+aGlzdG9yeS1hbmQtYWxpYXMtZXhwYW5kLWxpbmUgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTI0Ij48Q09ERT5oaXN0b3J5LWFuZC1hbGlhcy1leHBhbmQtbGluZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MTciPjxDT0RFPmhpc3RvcnktZXhwYW5kLWxpbmUgKE0tXik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTE4Ij48Q09ERT5oaXN0b3J5LWV4cGFuZC1saW5lIChNLV4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM2OSI+PENPREU+aGlzdG9yeS1zZWFyY2gtYmFja3dhcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM3MCI+PENPREU+aGlzdG9yeS1zZWFyY2gtYmFja3dhcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM2NyI+PENPREU+aGlzdG9yeS1zZWFyY2gtZm9yd2FyZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzY4Ij48Q09ERT5oaXN0b3J5LXNlYXJjaC1mb3J3YXJkICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MzIiPjxDT0RFPmhpc3RvcnktYW5kLWFsaWFzLWV4cGFuZC1saW5lICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUzMyI+PENPREU+aGlzdG9yeS1hbmQtYWxpYXMtZXhwYW5kLWxpbmUgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTI2Ij48Q09ERT5oaXN0b3J5LWV4cGFuZC1saW5lIChNLV4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUyNyI+PENPREU+aGlzdG9yeS1leHBhbmQtbGluZSAoTS1eKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNzQiPjxDT0RFPmhpc3Rvcnktc2VhcmNoLWJhY2t3YXJkICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNzUiPjxDT0RFPmhpc3Rvcnktc2VhcmNoLWJhY2t3YXJkICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNzIiPjxDT0RFPmhpc3Rvcnktc2VhcmNoLWZvcndhcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM3MyI+PENPREU+aGlzdG9yeS1zZWFyY2gtZm9yd2FyZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJmbl9JIj48L0E+STwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDk5Ij48Q09ERT5pbnNlcnQtY29tbWVudCAoTS0jKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MDAiPjxDT0RFPmluc2VydC1jb21tZW50IChNLSMpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQzOSI+PENPREU+aW5zZXJ0LWNvbXBsZXRpb25zIChNLSopPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDQwIj48Q09ERT5pbnNlcnQtY29tcGxldGlvbnMgKE0tKik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MjUiPjxDT0RFPmluc2VydC1sYXN0LWFyZ3VtZW50IChNLS4gb3IgTS1fKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MjYiPjxDT0RFPmluc2VydC1sYXN0LWFyZ3VtZW50IChNLS4gb3IgTS1fKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MDgiPjxDT0RFPmluc2VydC1jb21tZW50IChNLSMpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUwOSI+PENPREU+aW5zZXJ0LWNvbW1lbnQgKE0tIyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDQ0Ij48Q09ERT5pbnNlcnQtY29tcGxldGlvbnMgKE0tKik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NDUiPjxDT0RFPmluc2VydC1jb21wbGV0aW9ucyAoTS0qKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUzNCI+PENPREU+aW5zZXJ0LWxhc3QtYXJndW1lbnQgKE0tLiBvciBNLV8pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUzNSI+PENPREU+aW5zZXJ0LWxhc3QtYXJndW1lbnQgKE0tLiBvciBNLV8pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iZm5fSyI+PC9BPks8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM5NyI+PENPREU+a2lsbC1saW5lIChDLWspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzOTgiPjxDT0RFPmtpbGwtbGluZSAoQy1rKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDE5Ij48Q09ERT5raWxsLXJlZ2lvbiAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDIwIj48Q09ERT5raWxsLXJlZ2lvbiAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDAzIj48Q09ERT5raWxsLXdob2xlLWxpbmUgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQwNCI+PENPREU+a2lsbC13aG9sZS1saW5lICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MDUiPjxDT0RFPmtpbGwtd29yZCAoTS1kKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDA2Ij48Q09ERT5raWxsLXdvcmQgKE0tZCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQwMiI+PENPREU+a2lsbC1saW5lIChDLWspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MDMiPjxDT0RFPmtpbGwtbGluZSAoQy1rKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDI0Ij48Q09ERT5raWxsLXJlZ2lvbiAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDI1Ij48Q09ERT5raWxsLXJlZ2lvbiAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDA4Ij48Q09ERT5raWxsLXdob2xlLWxpbmUgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQwOSI+PENPREU+a2lsbC13aG9sZS1saW5lICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MTAiPjxDT0RFPmtpbGwtd29yZCAoTS1kKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDExIj48Q09ERT5raWxsLXdvcmQgKE0tZCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iZm5fTSI+PC9BPk08L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUxOSI+PENPREU+bWFnaWMtc3BhY2UgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTIwIj48Q09ERT5tYWdpYy1zcGFjZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NDEiPjxDT0RFPm1lbnUtY29tcGxldGUgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NDIiPjxDT0RFPm1lbnUtY29tcGxldGUgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MjgiPjxDT0RFPm1hZ2ljLXNwYWNlICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUyOSI+PENPREU+bWFnaWMtc3BhY2UgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDQ2Ij48Q09ERT5tZW51LWNvbXBsZXRlICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDQ3Ij48Q09ERT5tZW51LWNvbXBsZXRlICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDQ4Ij48Q09ERT5tZW51LWNvbXBsZXRlLWJhY2t3YXJkICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDQ5Ij48Q09ERT5tZW51LWNvbXBsZXRlLWJhY2t3YXJkICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJmbl9OIj48L0E+TjwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzUzIj48Q09ERT5uZXh0LWhpc3RvcnkgKEMtbik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM1NCI+PENPREU+bmV4dC1oaXN0b3J5IChDLW4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNjUiPjxDT0RFPm5vbi1pbmNyZW1lbnRhbC1mb3J3YXJkLXNlYXJjaC1oaXN0b3J5IChNLW4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNjYiPjxDT0RFPm5vbi1pbmNyZW1lbnRhbC1mb3J3YXJkLXNlYXJjaC1oaXN0b3J5IChNLW4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNjMiPjxDT0RFPm5vbi1pbmNyZW1lbnRhbC1yZXZlcnNlLXNlYXJjaC1oaXN0b3J5IChNLXApPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNjQiPjxDT0RFPm5vbi1pbmNyZW1lbnRhbC1yZXZlcnNlLXNlYXJjaC1oaXN0b3J5IChNLXApPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNTgiPjxDT0RFPm5leHQtaGlzdG9yeSAoQy1uKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzU5Ij48Q09ERT5uZXh0LWhpc3RvcnkgKEMtbik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM3MCI+PENPREU+bm9uLWluY3JlbWVudGFsLWZvcndhcmQtc2VhcmNoLWhpc3RvcnkgKE0tbik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM3MSI+PENPREU+bm9uLWluY3JlbWVudGFsLWZvcndhcmQtc2VhcmNoLWhpc3RvcnkgKE0tbik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM2OCI+PENPREU+bm9uLWluY3JlbWVudGFsLXJldmVyc2Utc2VhcmNoLWhpc3RvcnkgKE0tcCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM2OSI+PENPREU+bm9uLWluY3JlbWVudGFsLXJldmVyc2Utc2VhcmNoLWhpc3RvcnkgKE0tcCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iZm5fTyI+PC9BPk88L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUyNyI+PENPREU+b3BlcmF0ZS1hbmQtZ2V0LW5leHQgKEMtbyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTI4Ij48Q09ERT5vcGVyYXRlLWFuZC1nZXQtbmV4dCAoQy1vKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzOTUiPjxDT0RFPm92ZXJ3cml0ZS1tb2RlICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzk2Ij48Q09ERT5vdmVyd3JpdGUtbW9kZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUzNiI+PENPREU+b3BlcmF0ZS1hbmQtZ2V0LW5leHQgKEMtbyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTM3Ij48Q09ERT5vcGVyYXRlLWFuZC1nZXQtbmV4dCAoQy1vKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MDAiPjxDT0RFPm92ZXJ3cml0ZS1tb2RlICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDAxIj48Q09ERT5vdmVyd3JpdGUtbW9kZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iZm5fUCI+PC9BPlA8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2MyI+PENPREU+cG9zc2libGUtY29tbWFuZC1jb21wbGV0aW9ucyAoQy14ICEpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDY0Ij48Q09ERT5wb3NzaWJsZS1jb21tYW5kLWNvbXBsZXRpb25zIChDLXggISk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MzciPjxDT0RFPnBvc3NpYmxlLWNvbXBsZXRpb25zIChNLT8pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDM4Ij48Q09ERT5wb3NzaWJsZS1jb21wbGV0aW9ucyAoTS0/KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ0NyI+PENPREU+cG9zc2libGUtZmlsZW5hbWUtY29tcGxldGlvbnMgKEMteCAvKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ0OCI+PENPREU+cG9zc2libGUtZmlsZW5hbWUtY29tcGxldGlvbnMgKEMteCAvKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ1OSI+PENPREU+cG9zc2libGUtaG9zdG5hbWUtY29tcGxldGlvbnMgKEMteCBAKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2MCI+PENPREU+cG9zc2libGUtaG9zdG5hbWUtY29tcGxldGlvbnMgKEMteCBAKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ1MSI+PENPREU+cG9zc2libGUtdXNlcm5hbWUtY29tcGxldGlvbnMgKEMteCB+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ1MiI+PENPREU+cG9zc2libGUtdXNlcm5hbWUtY29tcGxldGlvbnMgKEMteCB+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ1NSI+PENPREU+cG9zc2libGUtdmFyaWFibGUtY29tcGxldGlvbnMgKEMteCAkKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ1NiI+PENPREU+cG9zc2libGUtdmFyaWFibGUtY29tcGxldGlvbnMgKEMteCAkKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ4MyI+PENPREU+cHJlZml4LW1ldGEgKDxLQkQ+RVNDPC9LQkQ+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0ODQiPjxDT0RFPnByZWZpeC1tZXRhICg8S0JEPkVTQzwvS0JEPik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzUxIj48Q09ERT5wcmV2aW91cy1oaXN0b3J5IChDLXApPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNTIiPjxDT0RFPnByZXZpb3VzLWhpc3RvcnkgKEMtcCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ3MCI+PENPREU+cG9zc2libGUtY29tbWFuZC1jb21wbGV0aW9ucyAoQy14ICEpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDcxIj48Q09ERT5wb3NzaWJsZS1jb21tYW5kLWNvbXBsZXRpb25zIChDLXggISk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NDIiPjxDT0RFPnBvc3NpYmxlLWNvbXBsZXRpb25zIChNLT8pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDQzIj48Q09ERT5wb3NzaWJsZS1jb21wbGV0aW9ucyAoTS0/KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ1NCI+PENPREU+cG9zc2libGUtZmlsZW5hbWUtY29tcGxldGlvbnMgKEMteCAvKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ1NSI+PENPREU+cG9zc2libGUtZmlsZW5hbWUtY29tcGxldGlvbnMgKEMteCAvKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2NiI+PENPREU+cG9zc2libGUtaG9zdG5hbWUtY29tcGxldGlvbnMgKEMteCBAKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2NyI+PENPREU+cG9zc2libGUtaG9zdG5hbWUtY29tcGxldGlvbnMgKEMteCBAKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ1OCI+PENPREU+cG9zc2libGUtdXNlcm5hbWUtY29tcGxldGlvbnMgKEMteCB+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ1OSI+PENPREU+cG9zc2libGUtdXNlcm5hbWUtY29tcGxldGlvbnMgKEMteCB+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2MiI+PENPREU+cG9zc2libGUtdmFyaWFibGUtY29tcGxldGlvbnMgKEMteCAkKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2MyI+PENPREU+cG9zc2libGUtdmFyaWFibGUtY29tcGxldGlvbnMgKEMteCAkKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ5MCI+PENPREU+cHJlZml4LW1ldGEgKDxLQkQ+RVNDPC9LQkQ+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0OTEiPjxDT0RFPnByZWZpeC1tZXRhICg8S0JEPkVTQzwvS0JEPik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzU2Ij48Q09ERT5wcmV2aW91cy1oaXN0b3J5IChDLXApPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNTciPjxDT0RFPnByZXZpb3VzLWhpc3RvcnkgKEMtcCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iZm5fUSI+PC9BPlE8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM4MSI+PENPREU+cXVvdGVkLWluc2VydCAoQy1xIG9yIEMtdik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzODIiPjxDT0RFPnF1b3RlZC1pbnNlcnQgKEMtcSBvciBDLXYpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzg2Ij48Q09ERT5xdW90ZWQtaW5zZXJ0IChDLXEgb3IgQy12KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM4NyI+PENPREU+cXVvdGVkLWluc2VydCAoQy1xIG9yIEMtdik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImZuX1IiPjwvQT5SPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NzciPjxDT0RFPnJlLXJlYWQtaW5pdC1maWxlIChDLXggQy1yKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NzgiPjxDT0RFPnJlLXJlYWQtaW5pdC1maWxlIChDLXggQy1yKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNDciPjxDT0RFPnJlZHJhdy1jdXJyZW50LWxpbmUgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM0OCI+PENPREU+cmVkcmF3LWN1cnJlbnQtbGluZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzU5Ij48Q09ERT5yZXZlcnNlLXNlYXJjaC1oaXN0b3J5IChDLXIpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNjAiPjxDT0RFPnJldmVyc2Utc2VhcmNoLWhpc3RvcnkgKEMtcik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ4NyI+PENPREU+cmV2ZXJ0LWxpbmUgKE0tcik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDg4Ij48Q09ERT5yZXZlcnQtbGluZSAoTS1yKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0ODQiPjxDT0RFPnJlLXJlYWQtaW5pdC1maWxlIChDLXggQy1yKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0ODUiPjxDT0RFPnJlLXJlYWQtaW5pdC1maWxlIChDLXggQy1yKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNTIiPjxDT0RFPnJlZHJhdy1jdXJyZW50LWxpbmUgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM1MyI+PENPREU+cmVkcmF3LWN1cnJlbnQtbGluZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzY0Ij48Q09ERT5yZXZlcnNlLXNlYXJjaC1oaXN0b3J5IChDLXIpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNjUiPjxDT0RFPnJldmVyc2Utc2VhcmNoLWhpc3RvcnkgKEMtcik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ5NCI+PENPREU+cmV2ZXJ0LWxpbmUgKE0tcik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDk1Ij48Q09ERT5yZXZlcnQtbGluZSAoTS1yKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImZuX1MiPjwvQT5TPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzODMiPjxDT0RFPnNlbGYtaW5zZXJ0IChhLCBiLCBBLCAxLCAhLCAmIzYwO3NtYWxsJiM2MjsuLi4mIzYwOy9zbWFsbCYjNjI7KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM4NCI+PENPREU+c2VsZi1pbnNlcnQgKGEsIGIsIEEsIDEsICEsICYjNjA7c21hbGwmIzYyOy4uLiYjNjA7L3NtYWxsJiM2MjspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDkxIj48Q09ERT5zZXQtbWFyayAoQy1AKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0OTIiPjxDT0RFPnNldC1tYXJrIChDLUApPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM0MyI+PENPREU+c2hlbGwtYmFja3dhcmQtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzQ0Ij48Q09ERT5zaGVsbC1iYWNrd2FyZC13b3JkICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MTUiPjxDT0RFPnNoZWxsLWV4cGFuZC1saW5lIChNLUMtZSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTE2Ij48Q09ERT5zaGVsbC1leHBhbmQtbGluZSAoTS1DLWUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM0MSI+PENPREU+c2hlbGwtZm9yd2FyZC13b3JkICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNDIiPjxDT0RFPnNoZWxsLWZvcndhcmQtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDA5Ij48Q09ERT5zaGVsbC1raWxsLXdvcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQxMCI+PENPREU+c2hlbGwta2lsbC13b3JkICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NzEiPjxDT0RFPnN0YXJ0LWtiZC1tYWNybyAoQy14ICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTQiPjguNC43IEtleWJvYXJkIE1hY3JvczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ3MiI+PENPREU+c3RhcnQta2JkLW1hY3JvIChDLXggKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjcgS2V5Ym9hcmQgTWFjcm9zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzg4Ij48Q09ERT5zZWxmLWluc2VydCAoYSwgYiwgQSwgMSwgISwgJiM2MDtzbWFsbCYjNjI7Li4uJiM2MDsvc21hbGwmIzYyOyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzODkiPjxDT0RFPnNlbGYtaW5zZXJ0IChhLCBiLCBBLCAxLCAhLCAmIzYwO3NtYWxsJiM2MjsuLi4mIzYwOy9zbWFsbCYjNjI7KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ5OCI+PENPREU+c2V0LW1hcmsgKEMtQCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDk5Ij48Q09ERT5zZXQtbWFyayAoQy1AKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNDgiPjxDT0RFPnNoZWxsLWJhY2t3YXJkLXdvcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM0OSI+PENPREU+c2hlbGwtYmFja3dhcmQtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTI0Ij48Q09ERT5zaGVsbC1leHBhbmQtbGluZSAoTS1DLWUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUyNSI+PENPREU+c2hlbGwtZXhwYW5kLWxpbmUgKE0tQy1lKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNDYiPjxDT0RFPnNoZWxsLWZvcndhcmQtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzQ3Ij48Q09ERT5zaGVsbC1mb3J3YXJkLXdvcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQxNCI+PENPREU+c2hlbGwta2lsbC13b3JkICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MTUiPjxDT0RFPnNoZWxsLWtpbGwtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTA2Ij48Q09ERT5za2lwLWNzaS1zZXF1ZW5jZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MDciPjxDT0RFPnNraXAtY3NpLXNlcXVlbmNlICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ3OCI+PENPREU+c3RhcnQta2JkLW1hY3JvIChDLXggKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjcgS2V5Ym9hcmQgTWFjcm9zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDc5Ij48Q09ERT5zdGFydC1rYmQtbWFjcm8gKEMteCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNyBLZXlib2FyZCBNYWNyb3M8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImZuX1QiPjwvQT5UPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0ODkiPjxDT0RFPnRpbGRlLWV4cGFuZCAoTS0mIzM4OyMzODspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ5MCI+PENPREU+dGlsZGUtZXhwYW5kIChNLSYjMzg7IzM4Oyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzg1Ij48Q09ERT50cmFuc3Bvc2UtY2hhcnMgKEMtdCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzODYiPjxDT0RFPnRyYW5zcG9zZS1jaGFycyAoQy10KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM4NyI+PENPREU+dHJhbnNwb3NlLXdvcmRzIChNLXQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzg4Ij48Q09ERT50cmFuc3Bvc2Utd29yZHMgKE0tdCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0OTYiPjxDT0RFPnRpbGRlLWV4cGFuZCAoTS0mIzM4OyMzODspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ5NyI+PENPREU+dGlsZGUtZXhwYW5kIChNLSYjMzg7IzM4Oyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzkwIj48Q09ERT50cmFuc3Bvc2UtY2hhcnMgKEMtdCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzOTEiPjxDT0RFPnRyYW5zcG9zZS1jaGFycyAoQy10KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM5MiI+PENPREU+dHJhbnNwb3NlLXdvcmRzIChNLXQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzkzIj48Q09ERT50cmFuc3Bvc2Utd29yZHMgKE0tdCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImZuX1UiPjwvQT5VPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0ODUiPjxDT0RFPnVuZG8gKEMtXyBvciBDLXggQy11KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0ODYiPjxDT0RFPnVuZG8gKEMtXyBvciBDLXggQy11KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MzMiPjxDT0RFPnVuaXZlcnNhbC1hcmd1bWVudCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNSBTcGVjaWZ5aW5nIE51bWVyaWMgQXJndW1lbnRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDM0Ij48Q09ERT51bml2ZXJzYWwtYXJndW1lbnQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+OC40LjUgU3BlY2lmeWluZyBOdW1lcmljIEFyZ3VtZW50czwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQxNSI+PENPREU+dW5peC1maWxlbmFtZS1ydWJvdXQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQxNiI+PENPREU+dW5peC1maWxlbmFtZS1ydWJvdXQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQwMSI+PENPREU+dW5peC1saW5lLWRpc2NhcmQgKEMtdSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQwMiI+PENPREU+dW5peC1saW5lLWRpc2NhcmQgKEMtdSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQxMyI+PENPREU+dW5peC13b3JkLXJ1Ym91dCAoQy13KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDE0Ij48Q09ERT51bml4LXdvcmQtcnVib3V0IChDLXcpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzODkiPjxDT0RFPnVwY2FzZS13b3JkIChNLXUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzkwIj48Q09ERT51cGNhc2Utd29yZCAoTS11KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ5MiI+PENPREU+dW5kbyAoQy1fIG9yIEMteCBDLXUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ5MyI+PENPREU+dW5kbyAoQy1fIG9yIEMteCBDLXUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQzOCI+PENPREU+dW5pdmVyc2FsLWFyZ3VtZW50ICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTIiPjguNC41IFNwZWNpZnlpbmcgTnVtZXJpYyBBcmd1bWVudHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MzkiPjxDT0RFPnVuaXZlcnNhbC1hcmd1bWVudCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNSBTcGVjaWZ5aW5nIE51bWVyaWMgQXJndW1lbnRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDIwIj48Q09ERT51bml4LWZpbGVuYW1lLXJ1Ym91dCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDIxIj48Q09ERT51bml4LWZpbGVuYW1lLXJ1Ym91dCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDA2Ij48Q09ERT51bml4LWxpbmUtZGlzY2FyZCAoQy11KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDA3Ij48Q09ERT51bml4LWxpbmUtZGlzY2FyZCAoQy11KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDE4Ij48Q09ERT51bml4LXdvcmQtcnVib3V0IChDLXcpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MTkiPjxDT0RFPnVuaXgtd29yZC1ydWJvdXQgKEMtdyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM5NCI+PENPREU+dXBjYXNlLXdvcmQgKE0tdSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzOTUiPjxDT0RFPnVwY2FzZS13b3JkIChNLXUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJmbl9ZIj48L0E+WTwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDI3Ij48Q09ERT55YW5rIChDLXkpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MjgiPjxDT0RFPnlhbmsgKEMteSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM3MyI+PENPREU+eWFuay1sYXN0LWFyZyAoTS0uIG9yIE0tXyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM3NCI+PENPREU+eWFuay1sYXN0LWFyZyAoTS0uIG9yIE0tXyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM3MSI+PENPREU+eWFuay1udGgtYXJnIChNLUMteSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM3MiI+PENPREU+eWFuay1udGgtYXJnIChNLUMteSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQyOSI+PENPREU+eWFuay1wb3AgKE0teSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQzMCI+PENPREU+eWFuay1wb3AgKE0teSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQzMiI+PENPREU+eWFuayAoQy15KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDMzIj48Q09ERT55YW5rIChDLXkpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNzgiPjxDT0RFPnlhbmstbGFzdC1hcmcgKE0tLiBvciBNLV8pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNzkiPjxDT0RFPnlhbmstbGFzdC1hcmcgKE0tLiBvciBNLV8pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNzYiPjxDT0RFPnlhbmstbnRoLWFyZyAoTS1DLXkpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNzciPjxDT0RFPnlhbmstbnRoLWFyZyAoTS1DLXkpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MzQiPjxDT0RFPnlhbmstcG9wIChNLXkpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MzUiPjxDT0RFPnlhbmstcG9wIChNLXkpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8L1RBQkxFPjxQPjwvUD48dGFibGU+PHRyPjx0aCB2YWxpZ249dG9wPkp1bXAgdG86ICZuYnNwOyA8L3RoPjx0ZD48QSBIUkVGPSJiYXNocmVmLmh0bWwjZm5fQSIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lIj48Yj5BPC9iPjwvQT4KICAmbmJzcDsgCkBAIC0xNTI1NiwxNyArMTU1MjYsMTcgQEAKIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJjcF9IIj48L0E+SDwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIxIj5oaXN0b3J5IGJ1aWx0aW5zPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMSI+OS4yIEJhc2ggSGlzdG9yeSBCdWlsdGluczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUzNyI+aGlzdG9yeSBldmVudHM8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIzIj45LjMuMSBFdmVudCBEZXNpZ25hdG9yczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDU0NiI+aGlzdG9yeSBldmVudHM8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIzIj45LjMuMSBFdmVudCBEZXNpZ25hdG9yczwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMiI+aGlzdG9yeSBleHBhbnNpb248L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIyIj45LjMgSGlzdG9yeSBFeHBhbnNpb248L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjAiPmhpc3RvcnkgbGlzdDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjAiPjkuMSBCYXNoIEhpc3RvcnkgRmFjaWxpdGllczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUzNCI+SGlzdG9yeSwgaG93IHRvIHVzZTwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTgiPjguNyBQcm9ncmFtbWFibGUgQ29tcGxldGlvbiBCdWlsdGluczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDU0MyI+SGlzdG9yeSwgaG93IHRvIHVzZTwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTgiPjguNyBQcm9ncmFtbWFibGUgQ29tcGxldGlvbiBCdWlsdGluczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iY3BfSSI+PC9BPkk8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDExIj5pZGVudGlmaWVyPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQiPjIuIERlZmluaXRpb25zPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAzIj5pbml0aWFsaXphdGlvbiBmaWxlLCByZWFkbGluZTwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDMiPjguMyBSZWFkbGluZSBJbml0IEZpbGU8L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjciPmluc3RhbGxhdGlvbjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjciPjEwLjEgQmFzaWMgSW5zdGFsbGF0aW9uPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTciPmludGVyYWN0aW9uLCByZWFkbGluZTwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NyI+OC4yIFJlYWRsaW5lIEludGVyYWN0aW9uPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjg1Ij5pbnRlcmFjdGl2ZSBzaGVsbDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OSI+Ni4xIEludm9raW5nIEJhc2g8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyODkiPmludGVyYWN0aXZlIHNoZWxsPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY5Ij42LjEgSW52b2tpbmcgQmFzaDwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzc4Ij5pbnRlcmFjdGl2ZSBzaGVsbDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3OCI+Ni4zIEludGVyYWN0aXZlIFNoZWxsczwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzIj5pbnRlcm5hdGlvbmFsaXphdGlvbjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMyI+My4xLjIuNSBMb2NhbGUtU3BlY2lmaWMgVHJhbnNsYXRpb248L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CkBAIC0xNTI3NiwxMiArMTU1NDYsMTIgQEAKIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTIiPmpvYiBjb250cm9sPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkyIj43LjEgSm9iIENvbnRyb2wgQmFzaWNzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJjcF9LIj48L0E+SzwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzAxIj5raWxsIHJpbmc8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAwIj44LjIuMyBSZWFkbGluZSBLaWxsaW5nIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjk5Ij5raWxsaW5nIHRleHQ8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAwIj44LjIuMyBSZWFkbGluZSBLaWxsaW5nIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzA1Ij5raWxsIHJpbmc8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAwIj44LjIuMyBSZWFkbGluZSBLaWxsaW5nIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzAzIj5raWxsaW5nIHRleHQ8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAwIj44LjIuMyBSZWFkbGluZSBLaWxsaW5nIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJjcF9MIj48L0E+TDwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMiPmxvY2FsaXphdGlvbjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMyI+My4xLjIuNSBMb2NhbGUtU3BlY2lmaWMgVHJhbnNsYXRpb248L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyODQiPmxvZ2luIHNoZWxsPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY5Ij42LjEgSW52b2tpbmcgQmFzaDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI4OCI+bG9naW4gc2hlbGw8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjkiPjYuMSBJbnZva2luZyBCYXNoPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJjcF9NIj48L0E+TTwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzciPm1hdGNoaW5nLCBwYXR0ZXJuPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM3Ij4zLjUuOC4xIFBhdHRlcm4gTWF0Y2hpbmc8L0E+PC9URD48L1RSPgpAQCAtMTUzMTYsNyArMTU1ODYsNyBAQAogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMiI+cXVvdGluZywgQU5TSTwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMiI+My4xLjIuNCBBTlNJLUMgUXVvdGluZzwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iY3BfUiI+PC9BPlI8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI5OCI+UmVhZGxpbmUsIGhvdyB0byB1c2U8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTQiPjcuMyBKb2IgQ29udHJvbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMDIiPlJlYWRsaW5lLCBob3cgdG8gdXNlPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk0Ij43LjMgSm9iIENvbnRyb2wgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzkiPnJlZGlyZWN0aW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM5Ij4zLjYgUmVkaXJlY3Rpb25zPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTUiPnJlc2VydmVkIHdvcmQ8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNCI+Mi4gRGVmaW5pdGlvbnM8L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4OSI+cmVzdHJpY3RlZCBzaGVsbDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4OSI+Ni4xMCBUaGUgUmVzdHJpY3RlZCBTaGVsbDwvQT48L1REPjwvVFI+CkBAIC0xNTM0MiwxNCArMTU2MTIsMTQgQEAKIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJjcF9WIj48L0E+VjwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjUiPnZhcmlhYmxlLCBzaGVsbDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNSI+My40IFNoZWxsIFBhcmFtZXRlcnM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMDIiPnZhcmlhYmxlcywgcmVhZGxpbmU8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzA2Ij52YXJpYWJsZXMsIHJlYWRsaW5lPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iY3BfVyI+PC9BPlc8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIwIj53b3JkPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQiPjIuIERlZmluaXRpb25zPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzUiPndvcmQgc3BsaXR0aW5nPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM1Ij4zLjUuNyBXb3JkIFNwbGl0dGluZzwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iY3BfWSI+PC9BPlk8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMwMCI+eWFua2luZyB0ZXh0PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMCI+OC4yLjMgUmVhZGxpbmUgS2lsbGluZyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMwNCI+eWFua2luZyB0ZXh0PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMCI+OC4yLjMgUmVhZGxpbmUgS2lsbGluZyBDb21tYW5kczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDwvVEFCTEU+PFA+PC9QPjx0YWJsZT48dHI+PHRoIHZhbGlnbj10b3A+SnVtcCB0bzogJm5ic3A7IDwvdGg+PHRkPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNjcF9BIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmUiPjxiPkE8L2I+PC9BPgogICZuYnNwOyAKQEAgLTE1Nzg1LDcgKzE2MDU1LDcgQEAKIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDE+QWJvdXQgdGhpcyBkb2N1bWVudDwvSDE+Ci1UaGlzIGRvY3VtZW50IHdhcyBnZW5lcmF0ZWQgYnkgPEk+Q2hldCBSYW1leTwvST4gb24gPEk+RmVicnVhcnksIDUgIDIwMDk8L0k+CitUaGlzIGRvY3VtZW50IHdhcyBnZW5lcmF0ZWQgYnkgPEk+Q2hldCBSYW1leTwvST4gb24gPEk+RGVjZW1iZXIsIDI5ICAyMDA5PC9JPgogdXNpbmcgPEEgSFJFRj0iaHR0cDovL3d3dy5tYXRoZW1hdGlrLnVuaS1rbC5kZS9+b2JhY2htYW4vVGV4aTJodG1sCiAiPjxJPnRleGkyaHRtbDwvST48L0E+CiA8UD48L1A+ICAKQEAgLTE1OTQ3LDcgKzE2MjE3LDcgQEAKIDxCUj4gIAogPEZPTlQgU0laRT0iLTEiPgogVGhpcyBkb2N1bWVudCB3YXMgZ2VuZXJhdGVkCi1ieSA8ST5DaGV0IFJhbWV5PC9JPiBvbiA8ST5GZWJydWFyeSwgNSAgMjAwOTwvST4KK2J5IDxJPkNoZXQgUmFtZXk8L0k+IG9uIDxJPkRlY2VtYmVyLCAyOSAgMjAwOTwvST4KIHVzaW5nIDxBIEhSRUY9Imh0dHA6Ly93d3cubWF0aGVtYXRpay51bmkta2wuZGUvfm9iYWNobWFuL1RleGkyaHRtbAogIj48ST50ZXhpMmh0bWw8L0k+PC9BPgogCmRpZmYgLS1naXQgYS9kb2MvYmFzaHJlZi5pbmZvIGIvZG9jL2Jhc2hyZWYuaW5mbwppbmRleCA0NGU4ZDliLi4xODllNThiIDEwMDY0NAotLS0gYS9kb2MvYmFzaHJlZi5pbmZvCisrKyBiL2RvYy9iYXNocmVmLmluZm8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvZG9jL2Jhc2hyZWYucGRmIGIvZG9jL2Jhc2hyZWYucGRmCmluZGV4IDYwOTU4YTYuLjYxYjI0NzIgMTAwNjQ0Ci0tLSBhL2RvYy9iYXNocmVmLnBkZgorKysgYi9kb2MvYmFzaHJlZi5wZGYKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvZG9jL2Jhc2hyZWYucHMgYi9kb2MvYmFzaHJlZi5wcwppbmRleCBmYmExMTA0Li44ZWI1ZDQzIDEwMDY0NAotLS0gYS9kb2MvYmFzaHJlZi5wcworKysgYi9kb2MvYmFzaHJlZi5wcwpAQCAtNCwxNCArNCwxNCBAQAogJSVQYWdlczogMTY0CiAlJVBhZ2VPcmRlcjogQXNjZW5kCiAlJUJvdW5kaW5nQm94OiAwIDAgNjEyIDc5MgotJSVEb2N1bWVudEZvbnRzOiBDTUJYMTIgQ01SMTAgQ01UVDEwIENNU0wxMCBDTVNZMTAgQ01CWFRJMTAgQ01USTEwCi0lJSsgQ01DU0MxMCBDTVNMVFQxMCBDTVRUMTIgQ01TWTkgQ01SOCBDTVRUOSBDTVRJOSBDTVI5CislJURvY3VtZW50Rm9udHM6IENNQlgxMiBDTVIxMCBDTVRUMTAgQ01TTDEwIENNU1kxMCBDTU1JMTIgQ01NSTEwIENNQ1NDMTAKKyUlKyBDTVRJMTAgQ01TTFRUMTAgQ01UVDEyIENNVFQ5IENNTUk5IENNUjkKICUlRG9jdW1lbnRQYXBlclNpemVzOiBMZXR0ZXIKICUlRW5kQ29tbWVudHMKICVEVklQU1dlYlBhZ2U6ICh3d3cucmFkaWNhbGV5ZS5jb20pCiAlRFZJUFNDb21tYW5kTGluZTogZHZpcHMgLUQgNjAwIC10IGxldHRlciAtbyBiYXNocmVmLnBzIGJhc2hyZWYuZHZpCiAlRFZJUFNQYXJhbWV0ZXJzOiBkcGk9NjAwCi0lRFZJUFNTb3VyY2U6ICBUZVggb3V0cHV0IDIwMDkuMDIuMDU6MDgwNQorJURWSVBTU291cmNlOiAgVGVYIG91dHB1dCAyMDA5LjEyLjI5OjE1NTkKICUlQmVnaW5Qcm9jU2V0OiB0ZXgucHJvIDAgMAogJSEKIC9UZVhEaWN0IDMwMCBkaWN0IGRlZiBUZVhEaWN0IGJlZ2luL057ZGVmfWRlZi9Ce2JpbmQgZGVmfU4vU3tleGNofU4vWHtTCkBAIC01NjgsMjkgKzU2OCwyOSBAQAogMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAogY2xlYXJ0b21hcmsKICUlRW5kRm9udCAKLSUlQmVnaW5Gb250OiBDTVRJOQotJSFQUy1BZG9iZUZvbnQtMS4xOiBDTVRJOSAxLjAKLSUlQ3JlYXRpb25EYXRlOiAxOTkxIEF1ZyAxOCAyMTowODowNworJSVCZWdpbkZvbnQ6IENNTUk5CislIVBTLUFkb2JlRm9udC0xLjE6IENNTUk5IDEuMTAwCislJUNyZWF0aW9uRGF0ZTogMTk5NiBKdWwgMjMgMDc6NTM6NTUKICUgQ29weXJpZ2h0IChDKSAxOTk3IEFtZXJpY2FuIE1hdGhlbWF0aWNhbCBTb2NpZXR5LiBBbGwgUmlnaHRzIFJlc2VydmVkLgogMTEgZGljdCBiZWdpbgogL0ZvbnRJbmZvIDcgZGljdCBkdXAgYmVnaW4KLS92ZXJzaW9uICgxLjApIHJlYWRvbmx5IGRlZgorL3ZlcnNpb24gKDEuMTAwKSByZWFkb25seSBkZWYKIC9Ob3RpY2UgKENvcHlyaWdodCAoQykgMTk5NyBBbWVyaWNhbiBNYXRoZW1hdGljYWwgU29jaWV0eS4gQWxsIFJpZ2h0cyBSZXNlcnZlZCkgcmVhZG9ubHkgZGVmCi0vRnVsbE5hbWUgKENNVEk5KSByZWFkb25seSBkZWYKKy9GdWxsTmFtZSAoQ01NSTkpIHJlYWRvbmx5IGRlZgogL0ZhbWlseU5hbWUgKENvbXB1dGVyIE1vZGVybikgcmVhZG9ubHkgZGVmCiAvV2VpZ2h0IChNZWRpdW0pIHJlYWRvbmx5IGRlZgogL0l0YWxpY0FuZ2xlIC0xNC4wNCBkZWYKIC9pc0ZpeGVkUGl0Y2ggZmFsc2UgZGVmCiBlbmQgcmVhZG9ubHkgZGVmCi0vRm9udE5hbWUgL0NNVEk5IGRlZgorL0ZvbnROYW1lIC9DTU1JOSBkZWYKIC9QYWludFR5cGUgMCBkZWYKIC9Gb250VHlwZSAxIGRlZgogL0ZvbnRNYXRyaXggWzAuMDAxIDAgMCAwLjAwMSAwIDBdIHJlYWRvbmx5IGRlZgogL0VuY29kaW5nIDI1NiBhcnJheQogMCAxIDI1NSB7MSBpbmRleCBleGNoIC8ubm90ZGVmIHB1dH0gZm9yCi1kdXAgNDYgL3BlcmlvZCBwdXQKK2R1cCA1OCAvcGVyaW9kIHB1dAogcmVhZG9ubHkgZGVmCi0vRm9udEJCb3h7LTM1IC0yNTAgMTE0OCA3NTB9cmVhZG9ubHkgZGVmCisvRm9udEJCb3h7LTI5IC0yNTAgMTA3NSA3NTB9cmVhZG9ubHkgZGVmCiBjdXJyZW50ZGljdCBlbmQKIGN1cnJlbnRmaWxlIGVleGVjCiBEOUQ2NkY2MzNCODQ2QTk3QjY4NkE5N0U0NUEzRDBBQTA1Mjk3MzFDOTlBNzg0Q0NCRTg1QjQ5OTNCMkVFQkRFCkBAIC01OTksMzEgKzU5OSwzMSBAQAogQjcyQkVGREEyM0Y1REY3NkJFMDVBRjRDRTkzMTM3QTIxOUVEOEEwNEE5RDdENkZERjM3RTZCN0ZDREUwRDkwQgogOTg2NDIzRTU5NjBBNUQ5RkJCNEM5NTY1NTZFOERGOTBDQkZBRUM0NzZGQTM2RkQ5QTVDODE3NUM5QUY1MTNGRQogRDkxOUMyREREMjZCREMwRDk5Mzk4QjlGNEQwM0Q1OTkzREZDMDkzMDI5Nzg2NkUxQ0QwQTMxOUI2QjFGRDk1OAotOUUzOTQ4RkZCM0RGN0JGRjEwQzlCREE0RUZFNUY2OEE4Q0IxNTI2OTkwRDEzNTdBRTZEMkY3QzJEMkVGODQ5NgotNEU0N0IzOUU2NzEyRUI4OTA4QTMyNjVFNUZBQjQwNTY3RTg2NkMyNDQ4MTQ0NDlGMUU5OTNBQUI0MjJDM0YxRAotREZBOEM3MTE4NTg0RjJFNTE5N0ZENEJGQTNBOEFFOUU5NTNDNkNENDY3MkMwRkY1MUU0MUMzQTkxOTc0OUMxQQotRjA2NjUwREY0QzVFMTc0OTIxNjRCREJDREYyMjYwOUE3NEJGQTdGNjk5NjBBNjRCOUY5NDlGRkMyQTgwNzQ1OAotODU3OTM2NkM0RjQxQkRFMUZERkJDQzQ4NDVGQTE5QkJCNjk2M0Q2NUVFODUzMjU0OTI3NEJBRUJERkYyNEZBNgotMDMyMzVEMUJFMzdDMDZCMTkzOEFGMzY5REE3NUJGMzhEREJDODdBMUZGNDQ1RUFBMTZFMTg5NUFCRTk1MDZCOQotMjExOTU1NzUzRTQ0Nzg2NUQzM0NFRjAwNzM5MUQyNjY2QTA0NjI3N0EzMEE0OTgwNEZGQ0VEM0ZFQTVFQjJDMwotRTUyRUUxNEE5Rjc1MjQxRUExMEM5MTk3NENEQTYyMzZFQjg0MEZENDRENkRERTREOUIzMjY2QzNCOTlCRDM4QgotRDgzNUJDQThDQjgxOUMwNzM0ODBGQjk3MkNDMDI4RDIxOEY2QTFEMzQ0Q0UxQjYzRjRGQkYyQzgyNkY0MTJFMQotNkUwQjA1QTI2MTI1ODY1QTE0RkQ3QjcwMzBCNDc4QkI4QkM2QkMzOTUzMzVDM0JBOTQwRTFDMzQ4MjY3RjRGOQotMEFGOTdCQkVFMjUzNTExOTQwRjEwNDhFMTc1RDM1NjlGN0QwNUEyODg1MUI2RjUwNzY1RkVCNkM5NjU0RkVEQwotMUJGNTJGNTM1REI1QkI5MEMxQkQ1RDJFQkY3NUUwQUVCRTgyQjIwNTA3RjNDMjhBMDM3NDY3ODEwMThENEVCMgotMjk4RTRGMkMyN0FDRjczRkE3M0VCRTQzRjAxNEJCNTc1QUFENTE2QzA0MDdCMjlFMTY1MzM3NTEzNUVDQjc0RAotQzkxMzcyRjA2RkE4RUYzN0MzMUFGM0ZBNDhBRTY1MzE4RUFBNkMzNDgzMEE1Mzc3QUJCMkRGQTVEQTUzQTU3NAotNDMzNDg0QkExNDY2NzA5QTRCMTg2NzYxNjU1QzhFNDgyODMzQjY5NzY3M0U4NDdDNjkxMDc5RTdGMURDQjhENgotMUFEOTExMDFENzU3QjgzRTIwOTAzMzdENTI1QUVFQ0IwMjhGQjNDOUY2QTZFNkFEMkYzMjJDRkRDNUE4MzNFNgotMUNFNEVEQkY0MUZEMzRGRDYxNjMwNTgxRDIyMkY4NTRBNzZDMkVBOUZENzI3OTZBN0M5Q0MxRjZDMkZDQ0QxNgotRTk1Q0EwNTgyNkE0RUNGQURBNkE1RkI4M0M0MUE3MTMxRTUyQkE2NTg1REQ2REQ3ODUxNUQ4RjczMjdERkM2RgotOTQwNEY4OTI5M0Q2QUNCNDMzQ0QwODAyQzQzRjBFNzRDNkM0NzY2QTIzQTZBRTM3ODhGRTZDQUU4MkUxQTEwNAotQkFFQzhCRUZERUZFNEYyOTJGNjI1RTYwMzYyRjM4ODZGNjAyQ0U0MTIxQkYwQUFEOTM1MjYzMTRCQ0JCNTk3MQotNDAwOTFBN0JCRjdFRkIzQkEzNTVCODhDODk3RDlDNzBDODQxREU0MTMwOTM0ODc1MUVERkZBODY3NTIxNTk4OAotNDlDQjE1OTk4MzRBMDFFQzZDRDRGRDgxM0FGRjk3QTYxNEY1Njk3NTc3NUQ1RjQ4RTlDMUE5Q0U1MzJGQUVCMQotNEVCRTIwQzNGQTg3Q0ZFMDM2NjRDNDI4QkZDNUM4OTQ2NjhFNTA3OTUwMDA1QkQ4QzJCQ0E4OTk4QzFGQjkyQwotNEU2Qjc5MUJBMDVCNzlGMzMyRUI4QUY1QjBGODUxQjhCN0VFMzcyRUMwODYxQjA5QzAwN0NERjQzRjgyRDBCNwotMzU0NDZGNjgyQTBEQTdGNDExMkNEQUJFNEY5MjJFQUNGQ0I3QjhDODhCRjU1MEI2MDk1N0U3Cis5RTM5NEE1MzNBMDgxQzM2RDZGNUNBNUZFRDRGOUFDOUFERTQxRTA0RjlGQzUyRTc1OEM5RjQ1QTkyQkVEOTM1Cis4NkY5Q0ZEQjU3NzMyMDQ1OTEzQTY0MjJBRDQyMDY0MTg2MTBDODFEODgyRUU0OTNERTk1MjNDQzFCRkUxNTA1CitERDEzOTBCMTlCQzE5NDdBMDFCOTNCQzY2OEJFOUIyQTBFNjlBOTY4NTU0MjM5Qjg4QzAwQUY5RkJERjA5Q0NECis2N0QzQjIwOTRDMTFBMDQ3NjJGRThDQzFFOTFEMDIwQTI4QjNDMTIyRDI0QkVBQUNGODIzMTNGNDYwNEYyRkVGCis2RTE3NkQ3MzBBODc5QkU0NUREMEQ0OTk2RUYwMjQ3QUVCMUNBMEFCMDhGRjM3NEQ5OUYwNkQ0N0IzNkY5NTU0CitGQUQ5QTJEM0NFNDUxQjc3OTFDMzcwOUQ4QTFERERFRkJEODQwQzFCNDJBQjgyNEQ1QTBERkYwRTBGMTVCMEI3CisyMkFFRUI4NzdGRjQ4OTU4MURBNkZBOERBNjQ5NDQ1NTUxMDFFQjE2RjdBQjBCNzE3RTE0OEI3Qjk4RDhEQkZECis3MzBDNTI5MzdFMjI2NTQ1Q0Y4REMzRTA3QzVCQTMwNzM5QkFGQ0QwRjJCNDQyNzVBNkQ1MDNGNTgyQzBGQjRGCis0NDk5NjNEMEFEMkZBRkRFMzNCQTNENzdCQ0E5RDFERjg3OEREQUZDQTJFMjJDQzRCQUNENTQyQjI4MjE2NEM3Cis5N0MyQkRFMzE4QUY5RDUwMUNBMjFGNkU2NjJFN0FBQjc1QTVGMjREMkMxODJFNTk4RDE3NUQ0NEU4OEFCMTlBCitFN0NENTk1ODRGOTVCMzg5MTgzRUUyMUI1MjVCRjUyQTNGMjNDMEZFNTM4M0E1NTY1QTE5MzYxRDcxNkY1MDhDCitBQUI3ODQxMUNBNUE0RDI3NTUyQ0MxQzQzNTc2MEQ1QTg5RDUzNUI3MUM1OTNFNzU1QzYxNjY2MTM2MzMwOERBCitBNjgzRjU0RUQwQzIzRkIyQzIyNUEwMDgzOTJCMEI3MTlGNjZGMTFBOTQ2QTA5MEI3QzAwQjY2MkEzQzY5NTk5CitCNEVDQjBDQzcwQzg1QzRCQkJGMjA3RTAwMjZGNkM3QTE5RjJBQ0ZCN0E2MDgwNEZDOThBNEJGRkQ3QkZGRjJCCis5NTI5RTZEOUQ0MjM4MDAyQkJDMjU1QkM2Mjk1OUQ2RjMzODFGRTA2RTA2MjFCODc5RDVGRTVCNTQxRDQ1QTFFCis3NTlBNkU3REMzMkIxRDE2MzIzNjhEMDlBOTcwMzlERjI1NUI2NDkyQjFCMkI3RTJDMTQzNEU4MzA2RUNBN0QzCis1QTc5QjZENjE0QjQ5NzlGMTA5ODhCQzc2RUQ1M0E1RjQ1MzE1Q0Q3REEyMTYyMjFGODQyRkQwRjNFMDUwREQyCitCQUMyM0M5ODRENTA2RDhGN0Q2MTRCQ0I2QjI0NEY1RjQxMzIxNTQ5QkIwQkQwNDFGQkYzMDUzMzA3MTY4NjgwCiszNDM1RTlDOTQ0NUE1OUE3QzY2NjQxOEM0RjI1MTJDMzIwNThCMUNFMUVBNDZDNzgzOUM2RTM3MkY2Q0M2MEFFCisyQ0Y0NkREMkYxMzBCNTMyREU4RUNENDJEOTIwNDUwMEU0MTM3OTlFMjk4Q0Y2NDI2RjI4RDIzQkI3MjE2QkVBCisxQTYxOEIzRUNDNjFCNDREREVGMEJCMjJENjQwQjQ3QzA5QUMwREYzNzhDRTY4RkM5Q0Q4OEJEQUU5RUQ4OUNCCis0MzFBNUNGOUMzRTk1MjhGRUU3QTk5MzZDMkIxQ0Y3QjM4REQyQjk1NzczRjBFQTAwNTE2MDdCRTFCMEIzNTg4CitBOEI5MDdBNUVGMDExQjQ2MjJDNTA5M0E3QjEwN0REMUVFRDZGRUU5NTM2REVDRjFDQzk2RTY1MzczRDBGNDMzCiszMEFFM0MwOTQ2NTRBQkY0Njk4QzA3RjhDNzRFNzFEMDIzREZEMjQyRUU4M0IxMzA2Nzg2MTI0REQ4QzZCRkE3Cis4MDFFNjZDQjk0NEJFN0VCQ0IzRkU4MDNFQzk3MDY3QUY3QUZDOEE0RTlBQzlEMTEKIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKQEAgLTE0ODYsNTQgKzE0ODYsMTE2IEBACiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiBjbGVhcnRvbWFyawogJSVFbmRGb250IAotJSVCZWdpbkZvbnQ6IENNUjgKLSUhUFMtQWRvYmVGb250LTEuMTogQ01SOCAxLjAKLSUlQ3JlYXRpb25EYXRlOiAxOTkxIEF1ZyAyMCAxNjozOTo0MAorJSVCZWdpbkZvbnQ6IENNUjEwCislIVBTLUFkb2JlRm9udC0xLjE6IENNUjEwIDEuMDBCCislJUNyZWF0aW9uRGF0ZTogMTk5MiBGZWIgMTkgMTk6NTQ6NTIKICUgQ29weXJpZ2h0IChDKSAxOTk3IEFtZXJpY2FuIE1hdGhlbWF0aWNhbCBTb2NpZXR5LiBBbGwgUmlnaHRzIFJlc2VydmVkLgogMTEgZGljdCBiZWdpbgogL0ZvbnRJbmZvIDcgZGljdCBkdXAgYmVnaW4KLS92ZXJzaW9uICgxLjApIHJlYWRvbmx5IGRlZgorL3ZlcnNpb24gKDEuMDBCKSByZWFkb25seSBkZWYKIC9Ob3RpY2UgKENvcHlyaWdodCAoQykgMTk5NyBBbWVyaWNhbiBNYXRoZW1hdGljYWwgU29jaWV0eS4gQWxsIFJpZ2h0cyBSZXNlcnZlZCkgcmVhZG9ubHkgZGVmCi0vRnVsbE5hbWUgKENNUjgpIHJlYWRvbmx5IGRlZgorL0Z1bGxOYW1lIChDTVIxMCkgcmVhZG9ubHkgZGVmCiAvRmFtaWx5TmFtZSAoQ29tcHV0ZXIgTW9kZXJuKSByZWFkb25seSBkZWYKIC9XZWlnaHQgKE1lZGl1bSkgcmVhZG9ubHkgZGVmCiAvSXRhbGljQW5nbGUgMCBkZWYKIC9pc0ZpeGVkUGl0Y2ggZmFsc2UgZGVmCiBlbmQgcmVhZG9ubHkgZGVmCi0vRm9udE5hbWUgL0NNUjggZGVmCisvRm9udE5hbWUgL0NNUjEwIGRlZgogL1BhaW50VHlwZSAwIGRlZgogL0ZvbnRUeXBlIDEgZGVmCiAvRm9udE1hdHJpeCBbMC4wMDEgMCAwIDAuMDAxIDAgMF0gcmVhZG9ubHkgZGVmCiAvRW5jb2RpbmcgMjU2IGFycmF5CiAwIDEgMjU1IHsxIGluZGV4IGV4Y2ggLy5ub3RkZWYgcHV0fSBmb3IKK2R1cCAxMSAvZmYgcHV0CitkdXAgMTIgL2ZpIHB1dAorZHVwIDEzIC9mbCBwdXQKK2R1cCAxNCAvZmZpIHB1dAorZHVwIDMzIC9leGNsYW0gcHV0CitkdXAgMzQgL3F1b3RlZGJscmlnaHQgcHV0CitkdXAgMzYgL2RvbGxhciBwdXQKK2R1cCAzNyAvcGVyY2VudCBwdXQKK2R1cCAzOCAvYW1wZXJzYW5kIHB1dAogZHVwIDM5IC9xdW90ZXJpZ2h0IHB1dAorZHVwIDQwIC9wYXJlbmxlZnQgcHV0CitkdXAgNDEgL3BhcmVucmlnaHQgcHV0CitkdXAgNDQgL2NvbW1hIHB1dAogZHVwIDQ1IC9oeXBoZW4gcHV0CitkdXAgNDYgL3BlcmlvZCBwdXQKK2R1cCA0NyAvc2xhc2ggcHV0CitkdXAgNDggL3plcm8gcHV0CiBkdXAgNDkgL29uZSBwdXQKK2R1cCA1MCAvdHdvIHB1dAorZHVwIDUxIC90aHJlZSBwdXQKK2R1cCA1MiAvZm91ciBwdXQKK2R1cCA1MyAvZml2ZSBwdXQKK2R1cCA1NCAvc2l4IHB1dAorZHVwIDU1IC9zZXZlbiBwdXQKK2R1cCA1NiAvZWlnaHQgcHV0CitkdXAgNTcgL25pbmUgcHV0CitkdXAgNTggL2NvbG9uIHB1dAorZHVwIDU5IC9zZW1pY29sb24gcHV0CitkdXAgNjEgL2VxdWFsIHB1dAorZHVwIDYzIC9xdWVzdGlvbiBwdXQKIGR1cCA2NSAvQSBwdXQKIGR1cCA2NiAvQiBwdXQKIGR1cCA2NyAvQyBwdXQKIGR1cCA2OCAvRCBwdXQKIGR1cCA2OSAvRSBwdXQKIGR1cCA3MCAvRiBwdXQKK2R1cCA3MSAvRyBwdXQKK2R1cCA3MiAvSCBwdXQKK2R1cCA3MyAvSSBwdXQKK2R1cCA3NCAvSiBwdXQKK2R1cCA3NSAvSyBwdXQKIGR1cCA3NiAvTCBwdXQKK2R1cCA3NyAvTSBwdXQKK2R1cCA3OCAvTiBwdXQKK2R1cCA3OSAvTyBwdXQKIGR1cCA4MCAvUCBwdXQKK2R1cCA4MSAvUSBwdXQKIGR1cCA4MiAvUiBwdXQKIGR1cCA4MyAvUyBwdXQKIGR1cCA4NCAvVCBwdXQKK2R1cCA4NSAvVSBwdXQKK2R1cCA4NiAvViBwdXQKK2R1cCA4NyAvVyBwdXQKK2R1cCA4OCAvWCBwdXQKK2R1cCA4OSAvWSBwdXQKK2R1cCA5MCAvWiBwdXQKIGR1cCA5MSAvYnJhY2tldGxlZnQgcHV0CitkdXAgOTIgL3F1b3RlZGJsbGVmdCBwdXQKK2R1cCA5MyAvYnJhY2tldHJpZ2h0IHB1dAorZHVwIDk2IC9xdW90ZWxlZnQgcHV0CiBkdXAgOTcgL2EgcHV0CitkdXAgOTggL2IgcHV0CiBkdXAgOTkgL2MgcHV0CitkdXAgMTAwIC9kIHB1dAogZHVwIDEwMSAvZSBwdXQKK2R1cCAxMDIgL2YgcHV0CitkdXAgMTAzIC9nIHB1dAorZHVwIDEwNCAvaCBwdXQKK2R1cCAxMDUgL2kgcHV0CiBkdXAgMTA2IC9qIHB1dAogZHVwIDEwNyAvayBwdXQKK2R1cCAxMDggL2wgcHV0CitkdXAgMTA5IC9tIHB1dAogZHVwIDExMCAvbiBwdXQKK2R1cCAxMTEgL28gcHV0CiBkdXAgMTEyIC9wIHB1dAorZHVwIDExMyAvcSBwdXQKIGR1cCAxMTQgL3IgcHV0CiBkdXAgMTE1IC9zIHB1dAogZHVwIDExNiAvdCBwdXQKIGR1cCAxMTcgL3UgcHV0CitkdXAgMTE4IC92IHB1dAorZHVwIDExOSAvdyBwdXQKK2R1cCAxMjAgL3ggcHV0CitkdXAgMTIxIC95IHB1dAorZHVwIDEyMiAveiBwdXQKK2R1cCAxMjMgL2VuZGFzaCBwdXQKK2R1cCAxMjQgL2VtZGFzaCBwdXQKIHJlYWRvbmx5IGRlZgotL0ZvbnRCQm94ey0zNiAtMjUwIDEwNzAgNzUwfXJlYWRvbmx5IGRlZgorL0ZvbnRCQm94ey0yNTEgLTI1MCAxMDA5IDk2OX1yZWFkb25seSBkZWYKIGN1cnJlbnRkaWN0IGVuZAogY3VycmVudGZpbGUgZWV4ZWMKIEQ5RDY2RjYzM0I4NDZBOTdCNjg2QTk3RTQ1QTNEMEFBMDUyQTAxNDI2N0I3OTA0RUIzQzBEM0JEMEI4M0Q4OTEKQEAgLTE1NDEsMjEwICsxNjAzLDUxMSBAQAogOTA5OEQ1RkVFNjc2NjBFNjlBN0FCOTFCNThGMjlBNEQ3OUU1NzAyMkY3ODNFQjBGQkJCNkQ0RjRFQzM1MDE0RgogRDJERUNCQTk5NDU5QTRDNTlERjBDNkVCQTE1MDI4NDQ1NEU3MDdEQzIxMDBDMTVCNzZCNEMxOUI4NDM2Mzc1OAogNDY5QTZDNTU4Nzg1QjIyNjMzMjE1MjEwOTg3MUE5ODgzNDg3REQ3NzEwOTQ5MjA0RERDRjgzN0U2QTg3MDhCOAotMkJEQkYxNkZCQzc1MTJGQUEzMDhBMDkzRkU1Q0Y0RTlEMjQwNUIxNjlDRDUzNjVENkVDRUQ1RDc2OEQ2NkQ2QwotNjg2MThCOEM0ODJCMzQxRjhDQTM4RTlCQjlCQUZDRkFBRDlDMkYzRkQwMzNCNjI2OTA5ODZFRDQzRDlDOTM2MQotMzY0NUI4MjM5MkQ1Q0FFMTFBN0NCNDlEN0UyRTgyRENENDg1Q0JBMTc3MkNFNDIyQkIxRDcyODNBRDY3NUI2NQotNDhBN0VBMDA2OUE4ODNFQzFEQUEzRTFGOUVDRTc1ODZENkNGMEExMjhDRDU1N0M3RTVEN0FBM0VBOTdFQkFEMwotOTYxOUQxQkZDRjRBNkQ2NDc2ODc0MUVERUEwQTVCMEVGQkJGMzQ3Q0RDQkUyRTAzRDc1Njk2N0ExNkI2MTNEQgotMEZDNDVGQTJBMzMxMkUwQzQ2QTVGRDA0NjZBQjA5N0M1OEZGRUVDNDA2MDFCODM5NUU1Mjc3NUQwQUZDRDdEQgotOEFCMzE3MzMzMTEwNTMxRTVDNDRBNENCNEI1QUNENTcxQTFBNjA5NjBCMTVFNDUwOTQ4QTVFRUExNEREMzMwRgotRUEyMDkyNjVEQjhFMUExRkM4MERDRDM4NjAzMjNGRDI2QzExM0IwNDFBODhDODhBMjE2NTU4Nzg2ODBBNDQ2NgotRkExMDQwM0QyNEJCOTcxNTJBNDlCODQyQzE4MEU0RDI1OEM5RDQ4RjIxRDA1Nzc4MkQ5MDYyMzExNjgzMEJBMwotOTkwMkIzQzVGMkYyREQwMTQzM0IwRDcwOTlDMDdEQkRFMjY4RDBGRkVENTE2OUJDRDAzRDQ4QjJGMDU4QUQ2MgotRDg2NzhDNjI2REM3QTNGMzUyMTUyQzk5QkE5NjNFRjk1RjhBRDExREI4QjBEMzUxMjEwQTE3RTRDMkM1NUFEOAotOUVCNjQxNzI5MzVEM0MyMEEzOThGM0VFRUVDMzE1NTE5NjZBNzQzOEVGM0ZFRTQyMkM2RDRFMDUzMzc2MjBENQotQUNDN0I1MkJFRDk4NEJGQUFEMzZFRjlEMjA3NDhCMDVEMDdCRTQ0MTRBNjM5NzUxMjVEMjcyRkFEODNGNzZFNgotMTBGRkY4MzYzMDE0QkU1MjZENTgwODczQzVBNDJCNzBGQTkxMUVDN0I4NjkwNUYxM0FGRTU1RUIwMjczRjU4MgotODMxNTg3OTNCOENDMjk2QjhERTFEQ0NGMTI1MEZENTdDQjBFMDM1QzdFREEzQjAwOTJFRDk0MEQzN0EwNTQ5MwotMkVDNTRFMDlCOTg0RkNBNEFCN0QyRUExODJCQ0YxMjYzQUEyNDRCMDdFQzBFQTkxMkEyQkNDNkNBNjEwNUIyOQotMDQ0MDA1RERCRUFGODhFMEYwNTU0MUJCRDIzMzk3N0E0NDdCNDY5RjAxM0Q4NTM1QTlENzAyM0NDMEZCN0I0OQotQTk1Q0QyQjZGMTg5MzVDMzdGNDlFOUE3M0U5N0E4NjAyQzVDMjZFRTEzRDdBMDRBMTg4MzM2RkNBQjRDREVFMAotMjNERTlEODAzRkQ2RThEODQ2QjNGNzI5QkQzNjEzN0U4MzRFMDE2MjQyQ0QyRjdCRjA0ODk1OURENDVBRDQxMwotMTlCOTg1RDA1RTVENDIyRjNEMDk2ODM3NUVBNkE5MEZCRUJGOEI0MkIxNUYxNTI4MDQ2OUQ2OTYyOUMwOEE0MgotMUMyOThDQzAyN0NDMjg4QjlDOTg0MjM5QUJCOTZCNkE4OTFDMTM2MEQwOEY5RUNDMjIyMDI4NjFFNENFOUIzOQotOEJGNkIwNUYwQjk3RjhGREVEODZCREEzMkQ5RUU2MjA0QkVFMzIxNTI5RDU4RjI4RjdBOUIzRDA0QTQ0NjlFMgotNzc1QThCNDNERjUzNTBDQTI1RTk1RjE3OTRDRUE5NEI5OUFBMDJGMzQ5OEM2MDhFNjI3NzU5NURGRUM2Q0M3QwotOTY1QjY5ODU2Q0IyQUZDQUE1MkY2NkY1QTAxOUM5OTlBMUM3OTkwNkVBREVEOEFCMEExODVGODRGNUZDNTQ0RgotQjI4OUU1ODNBOEFCNDcyNkY5NTM4RjREREVBOTAzQ0MxRTYyM0RDNUVDMjVDRDAyMzUzQTRDOUE2M0NDQjdCMwotNDgzQTQ4MUFENzIyMDcxNEVFRDhFQTE3OUZENzQ3MjRDN0QxRjcwMzI1MjdFMjVBNDNGQjU5MzY3QjEwRjNGOQotNEJDMjNFMkFEOUY1NzQ0RUI5NTRDOEEwMDg2QzBFRDUxNDUwQThFRTdEQ0EyQkMyNzA4MUM0RjQ5RkVGQ0ZDMAotREU3NURGQTNFNjIwNzQ3RTg1RUQwRjY2RUM1OTBGRTZDRTQwRDA4NDk3QjUyQjg5RkREMEVGNkIxRDRDMEE4RQotRkIxMkU3QTkwOUNBNTZDOUE0NERBRTgzN0NGQjQ1MTU0MTJEQTk5NkM5RTNBNDMwRDQ4QjIwNjcxRjA0NDQ4QwotNTFBMTRDQjVFOUIyNTY1RDMzQTBDMDk5MkQ5NDU2RjMyNzI3NzZCQUI5NzJFNEFEMzdDRDk1MzhGNzhCRTk1MQotOUE1ODk4QzBFM0Y2OEVCRTU4OTk2NzI1NEVDNEUxMEI2MDEwRTM4NkVDRjQ0Qzc0MkQzN0M2NDUwMkRDQjI1MAotRTlDQ0QyQUYzNDFBMTg4MzY0ODkzNjBCOTUwREFCOTgwQ0IwNjIxMTU1RTY0N0I2REU5NTNBNkRCMUFGNTFCMQotMzEzNzUxMTRGQjhFNkFDOTA5REYxN0E3MzYyREEyQURBQjBERjlBQkYwNDA0MjY5NTdCNjI2NEJBMERGMkI0OAotMUFFQUQ4QjkwNjhBM0U1QTREODUxNjYzOTJDRDEyRUQwMTczODkzMUU1NjgzRTgzRUU5OTlDMDhDNTRBRDE5RAotRkFFNzk0QTAwRURGRkI0RjQzMERGRjc1N0NDMjE2M0RFNzdENzlDM0YwRUNERjVENDJBMUIwNzk3MjlFMjc2QgotREMyNjkxRDZCMjlFQjNDMzc4MjRENEE1QzdBNDUyQzEwQzk4RTM4RkJEMjQzN0JCMjlDQjg5NjRFQ0I0NzVGMQotM0RGOUQxRUMyRjQ3MjNDRkM5MTRERjA2NzQ3MEFCODFDMjJGNjlGRjBBNjE1RjY5M0MwQkY3MDg0RkY2N0RFNAotNzQxRTc2NUI0N0UyMjJFRkVGNkREQ0JDQzVCQjVFQTNGRTUwNzk1OUFBOUNBNEZGMENFQjYxNTkzODA5NTczOAotQUU4MTA3RkIxMUZEMUMzNUE4NTcyMUNBRjJGRjQ5MUU5MEY0RjE1QjRBOEY4Q0JENzJFQUMyODkwOUZCRDIzMQotQjBBNDVEOTQ0NjlEMkMwM0NDMzUxRTVDNDEyN0NEMjMzNEY5NEExRUU5MUZBRjE5REZBRDUwRDQ5RERDQTE2NQotMUNDOTM2RUFDNDMxNzIwRkVFRUMzMTg0QzE1NzhFQzRFOUM2MDg0RUY2QzZBMzBBMzI3QTQ1NURFMTRFNzJGMgotMEFERjRBMURDNDIzMjU3N0JBMjVCNzVEQUZBNDYwRkMxRTAxOERGMzYxQUEzQTg4NzRFQjZCNDQ1Rjk3MzQ1OQotODNFM0MxRDQ0MUJDRjhBMTAwQzIyREQyQjk0REYyRTNFQjU3QzJDNzkyQTJDNzg5MTM3OTExREM2NzkyNkQ2MgotMjg0OEMyOUVDNDFBNzcxMjQzRjQ2RDQ4RkMxNzEzM0UwMDRGOURBOTIwMjM2NEU3NDc3M0EyMjk5OUUwMzQzNwotMUQzNDI3N0I5NzI0RTc4MDIwREZFMzk0Mjk4RTk5MDEzMkM2NjQ3NTQ2QjJGOTVDQzJCMzM2QzQwQTMzNUVBRQotODVFNUNFMzY2NzBBQTlFMjhDMzdFNDNBRTRENUNEQkUxMTM1MjEwNUExQTIzQjJCNzgxQTg4RUFFMDk0QjgzRgotRDlGQTI2QzNGNTAwQjVCQTdFMDg3NTg3NzdGMTFBMTEwNjc5MDQ0QjA5Q0U1N0I2NEQxRUE5QkQ0QkNCNEU3MQotRTE1RTI3RDE1QTgzRkMxMkFDRTQ0OTcxQjE5OUM5RUNGMDZGMjBEQkYwNjJCNjY1NERDNkUxNURBQUVEMjYyQgotRDY0NUE3QjBCOUY2QTQxNTkyMDFBMTY1MERERDRGNzRFQzc4RjVFQzg3NkExRjU4RjM1MUJEM0FBRDdDNDZCOQotMDc2RjczRUM4OTcyQ0UxREExNDRDNzhFNjI5RkExM0IzNEFGNTc5MTNCMjEwMUE0QTIzNkRERjJGQ0ZGMTgzNAotMUMyNEQ4MzYwQjlEOEEyNENFM0FEODg5OTY3Q0RFNTlEMjY1MTFFRTU3QjJDMDZGMDVBQTA0Nzg4RTEyMzFFMgotODU0RTBBMkVFMUE1Q0MzNEI0NDU0N0Q5RUJGODdGQkM2RDFCOUUwRTVDMDMyM0QxQkM4MkVFNzM1OEYyNDdGRgotNkVDM0M0Rjc4MTdGNDA1RjkxQjVBQTNGQUQ2NjNCQTJGN0UyOEZDN0I1MDQyNzQ0OUI5NDJEMEEzODIwRDJDMQotQTEwRUJFQkFCOTA5RUM1MDcyRTM3MTA2MTU2ODU5Qjk4QjBFQUZBRUZCOEUxM0E0RUI2QTFFMDA0QjUyNUM2OQotRERFNzJCMDQ2NjFDNDI1QTdFMDNGRTQ0MDAwODY5NUQ0NTkzNENCNjE5MkI2QTMwQTVDQThBM0ZDNjFEMUVBMQotQ0MyRTFGMTdFQTQyRjZBNTYyRTA2M0MyRTY2QjkwMTg5RDEyM0U2NTcwQTQ4NUQ1MDE5QkVBQkQ5QzM5RjYzOQotNjYwMURBNDgxNDNDODg0ODhCMDQ4NEU4MjNBMzgyMTcyQjMxMzMzODQzMzZGNTM2OTkyOEI1MTYxQjdBRTkyNwotNzEwQ0I1NzVGRDIzM0ZDMDkwOERDMjAzRDNCOUE4QURBQTBGNDU0MDU0QkQyOUIwMzdGM0ZCRTBBQjBGNUE1MAotQTNCODA2NjBFMDZFNjJDQjczMDZGRTg2MTI5MDlFOERGN0ExQ0I3QjM5Qjc3NTI0Q0M3NDcyQjM5NjRDN0MyMQotN0Y1OUU2OUJFQjBFRkI2NEFEMUY3OUMzOEQyNDZDQjYzRjYxQkIzMURBQTJCQ0NFQUZCQzFGNDE4RjJCNkRGMAotMjkyQjVGOEE0NzYzQkQ4QkJBRDg0MUQwQTA4RDMxNDUwNjQ1MTBENDI3QzU5Nzg0NzAwNjdFRDIzOUQ4MUY2QgotMEExMDQ3N0FDMjMzQzkzNENFQTU4RkEwNTFFN0YxRDkxNUNDQTEzNUEwNjU4QkE3NzM2NTc0REVFMDg4NzIxNgotQ0E5OTM0M0QxMzQ3MTVEQkQyQTVDNDZCM0JEOTk1QTRCMTA2REZFNUEyNDM0N0RGRTM4QTE0Q0JCQUU4REJGNAotRjhCN0Y3ODJCQThGQzE4MUMzRjhGQjFERUMyQzcwNkQ3RENDQ0Q5N0VFMjU0RkFFMUE5RkM2QjI0NjZDMDRBRgotNjI2RTJBNTlDOEI0RTk2RkZGMEREQTk4NzIyMDkwODQyOTYyNzZFNTRDNUU4QkI5M0UwNDNCRDlDOUEzNkFFRAotMkMzRTgyQkNCRUNFRUIwQzJERTczNTZGNzEyMzVEOUNGOTRFRkRENDA5OEIwREE4MEFERUM0N0FEQTk5QTk0NgotQjc5RENFNzI3NEM2REM5Mjc1NzU1MEI3RkJGNjA4ODg2RDMxOTYyMDZBM0FDQUFDNjQzMzk1QzAwMDU0MUU1RAotMTlDOUVCQzYyQkU3QUYzRjNGODFCQkNCMDQ3NkJFODFCMjA4M0U4ODAyREY2NDNFMEU0QThDODczRDE3QkRBMwotNzYxNDFBNkY4Qzk5MDg2OUEzRENEN0FCN0Y0NkM3MDFEQzkyQUJERjRBRDlGMzhGMDFEMjAwNTQxNUMxQkFEQQotOTgzMkMwODg4RTU5MjZDNTM0NEI4NUY0ODMwQzE3RkM5MjhBNTg1Q0M3NDVEQzI1QTdDRUYzQjRENDFDNjY4MAotMjE5RUFGNjVDQURBNTUyNEY1RkIxRjA5MzQzQ0MyOEFFRDhGQjdBMTY0QzI1RjlDQzVFOEZDNjE4MEQwOEQ4OAotNTA5QTkzQkYwQUMyOEFCRjJCOUMyN0Q1NzA3QzRGMDE4OEU4NDNFM0U4REM3M0E1OEQ3NEI0RDg4NTI1RjY5OQotNUI5OEM3MUE2OTgyRDZEQkI2NUIxMDVCMkQ2RTY1RTgxNzFEOTE1RDhBMUJCRDg5QkIxNjBDOTZGNDc4RDYxQwotRUMwRkJFRUI5QUYyOTcwNUNDRDEzMDYxMDk3OTUzODI1REE3MzU0MTEyREQ3MkYxQUFGMzBFQkY1MDhBNUEwMgotNkM3NjgwQUM3NTgzOTc0QkY2QTgyRjRBQjlGMzUyNjBFQUNFQzFDOTAzNkMxMkM4OEIyOEIzQzI0NjdFNEZERAotQTIyRkY1RkU1OTM1NURENEJGRDg0OUI1QUM2QzlGNTJEQzUxQTNCOEE0Q0QxQUE3NDkxRTc4NUIwREY4MUMxRQotMzNCNjEwQjJGMUIzNTk1QzBEODJCODY3ODlENTQ4QTkyQzIwRjUxNzdCMTdDMzVBOTYxRjg1OEQ3REYwQ0UwNwotQ0Y5QTk1N0UyRkU4MjZGMkM2QUNFNjlBMjA4MkVFRkQ4NkQ5MzJDOUMzNTc0MTYwQUY3Nzg0Q0ZBMDVDMUVCMQotQTg4MUQ3QUZFQjcxNjY4RjFERURBM0Y4MDU1NjQwRTdDQjJFN0REMjMxMzlGREQzNzM3M0ZDNkRGRUE4NUMyMgotQjU5MzMwRDcyRDYzMzFCOEExRDI4QTlCM0QyMTcyQTE3N0FFNUNGMEQyMkQyOEExOTExRjlGM0ZBNzAwRDM1NQotRjg0MjMwNjEwRTJCNzlBNzM1ODg5QzVDQzU5MTM0N0FDMTdGOUU2NUMwM0MwQTFDREEyQ0VGNzVDRjAxRDZDNwotQzZENUY3MjcyNThGNDk5QjA5QjBBMDQyQTk3RjdBQ0RERDdCMTg4QTVCOTE3RTNEN0U3QTQxMUEwQUM4NEY1OQotQjk2QTdEQzU4MUI4MTAxOTE2OEMzMUY3RTVGNkVCODIxMUYxRjQ0Qjc4NTM5MUQ0MUU4OTU2NTM4NUQxNUQ5RgotNjZGQjY5ODZBNjZCMjQ2MEI0QzgyMjlFMjQ0QTMyMkVEODFGRUJDQThFMjgyN0U0QTVFNTQyMzZFMzNBNzg4RAotMEEwNjYyNUY5MkFBNjM0N0E3M0E0NzdBNkEzNzI5MkJEQkYyREY0MkQ1RkRCMTAyN0RDQkM4RTQ4MTE0N0FCMwotNzc3OUU1RUYwMDhBNjc4MDg0OTBFNzkwNERGQzc0MEUzOEJDMTg1Q0YwQzhGMEM5MDAyNjA2RDMxNzY0QUU1RAotRkM1RjZFOUMzMzBENDNFQ0E5NTM4MEI5ODgwODQwNzRFOEMyNjhGREZBMzU3RjcwNDVCNzYwM0RGRkM1QjBCRAotMDFCMjU3QjBBNzU0QTE0QTU2NUZBMEQ4Qzg5Q0Y3QzRDOUZCNjk0NDVBQ0Y3QUJFREJFRUMyNEM4N0U4OTg4OQotNjFEQUYzMTQ0MjkxRDRBOEU3QUJCM0NBOTVGOUU4OUFFODQ2NDk0MTlBMjBBQ0ZFODcyRThCRjgxQzUyMzYyNgotNkNDMTRFREZFNTU2NUZBMjVFNjUyOTBFQzI3MkUyRENFNjYwQTkxNkQ2MEMwN0M0QzlDRkJGNTM5QzdCNTQ5NwotQzU1RjhGQTIyQ0M1MzM3NEY2RTA3Mzc0QTczQjBGNkY2OEZDMDM3NjcwM0I2RTczQjMxOTMxMjQ0OEREMUNCMQotOTYyRTE2QTg0QTM4NzNBMzIyRTdCM0M3MzdCNDJFMThENTNCMDJCRTlFREIwN0QyMTY2M0QwRUQ2NDQzNTM4QQotMjc2RUMxNjdENkRFN0I5NDYyNUM2MjU0RkI1NTU1REE4MUI1RDZDQzkyMTkxRDE1QzAwMkY4MTNBNzNFMTlBNAotQTdDNjMxMDZFQjVDNUVBN0JEOUUxRkYzRDRDM0JGQjYyNjVDNDhBQjQ4Q0M0QTNGQkE1NUIwRDJEODc5NUQ1NQotNDg0RjNFMzg3QkI1NjYwMkI4QzJFQzREMDRBOEUxMjNBRDAyNDIyRDFGQTA0ODA5QTdGMjg4NDk1N0U5REFENwotRURFNjdGOTFENjNGRDBENzNEODlEOUJCOTEyNkI1REYzQzFDMDlDRkM4MUE3QzYwQ0Y2NDYzQUJBNjE5N0QyRQotQ0MxRTgzMzlFMkY1QTI2NTY5ODM4RTY2RTcwMjRERThCRjUwQkZGQTNGMUU2QTkyM0QzNjNEQUZFNDc1MUI0OAotRDVFRDJDRDY4QzVDOEYyNDhDQTBDMEE5QjlDRTUwNkJFMTdCNDA0NEZFNzMwMDMzOTUyNzQ0OTg5MjhFMDgxQwotNDUwMzg1QjJGMkQ5RkJGOTE4NzExMDlGMTM3RTUyQ0NBODAzNUM5QjMwRDM0MTk5MDFGMzQyQUFCMjZGODc0RQotNDQ5RjIxNERENDA2QzIxMERDQzM1RUE4OUU2QTAzOTdFNUFCNDcyNTU4NkVBMTJCOEMxMEY0MUQyOTJGOTE0MAotMTE1QTU3REZGMTk0OTZBRDA0QzBEOUE2NDBGN0FBMjVFOUUyMkEwNUIyM0M3QTZGQkNDMTE1RTNEQUM3QTM0RQotQkNFOUVDMTlBRTU0QkNBM0E3RkVBN0FBMEMyM0IyNDg3MEZCQ0Q5QkIxNUFCMTdGNzAwMkNDMzNFQ0Q2RjBFQwotNEQ0MzYwN0M5ODEyNkU3RkY3QTU5RUExODdGM0RFRjNCNkIxQTE3NDkyNkIyRDBDRUQ4MTU5QjM3NDFDMEY2NwotQTE2QUFDRDAwOTg0N0NBRkFENDRCMzM4RDJBNEYzMTQ4RDZDQTQzN0E4Rjc3MDlBQjREMjlFRkM0QTM3QzI1NgotNUEzQTUyMjgyRUQxQjUxMTRDMTQwNDVEMkEzODA2QzhBN0RCNjg1NEVGN0UxNThEQjRDRDZDNEY4NEE0NjA0NwotMDk4RjYxNTg3NjNDMDA0OUExN0NGQURCMTJBQTE5OEI3NEU3QUI2MjgwNTU1NkJEOURCODQyNEExMDM3MTM2QgotNUFFMzA4NTM0NDZFNjdFRTAxNzcwREM4MTUzQTkwNkZDNzFERTBEOEM4NUI4NkRERDYyRTY5NTFCNzdFMTcwOQotOTAwMzM4QTNDQjQwNTE1RTA2MzYxODUzOTI5NzlCMkJFNTJGRUFDNzYzOTMwQTk5MDE5QzY3NUZCRkI5NDA0MQotREMwOUQxMTk1NDBDRTY4OUVGN0MzQUJBNUQ2MjU3M0Y2RTQ1NTlCNDRGM0Y4QUUxQzNEMDQ1NDA1MjVBMTBGNgotNTAxNTg4Q0YwODk3RDc2N0M4NEUwMDg5NkVFN0NFRjlGRTgzMkU3NzJBRkVBQzA4QjE3MDBGOEY1NDA1NkUxOQotRjA1RDQ0REE5NDA2M0U0OTdGQTM1QzcyMEE2RUVCQjIxNTZCQzFEOTFFNjgxMDFDMzY2QUE1QkM2OENEQzJCRgotOTBDQjE1RUIxMkFFMEYyMzRCMzcwRUZDMEI0QTIzQzRFNTAzRUFGNTUyOUEwMzI4MzhDODdGNTFGQTgwNjIxNAotNDFCRjhFREJGMjJDODlGODkwNUQ0QzhGNzI2MEIyMjY5MTgwQzZFMzEyN0VEMzFBQkQ4NzhENzRFQTdCREU4NwotRjU5N0Q0NDBBRTkyM0E1OEFCMDJEMjdFMzQ5Q0E3Q0MwNDNCOTQ2RDg5RDgxQzhBRTQyNjQ4NjM5ODlBQjJBRQotNTA2MTg4MDg5N0Y0NkU2Q0Y5NTE5NTQ4QUM4QTAxNDMxQzc0NkM0ODJGNEI0QzYxNjY3ODhEMzcyQ0U5Qzk5NwotRTIzM0RGOTU5Nzg1N0FGMDRFNDkzRUFGQ0U3ODBGRDIyOUQwNEY0RkEwMkNFNTFBQ0Y0QkQ0Q0UxOTE3RjE5RAotMTJDNEIyNUIxQTM1NzVGMEI0MTMxN0VFQTI0REUxQkVGREIxQkMzQUZENUY2MUU1MTIyMzg3MjZFOEUzQTMxQQotOEIyRjNCRTc5OTQ4QzhCMUI2Q0E4MTVBRUZFMzRCOTBEQjkzQjcyODJDNzc1RDFGRTg4NjMyQTQxQjRGQ0JEMgotQTA1QTlBMDQ5NjgyOTNFNzlBOEZFMTg4OTJCODA2MTc5NzkwMTE5QkEzRkUzNzhCMkFDODgyMjk1QTI1QzdGQgotNTlDMEY0NThDQjBGQTRCMTAzMTUzQTJBQTUzNEMyNEVEOTY5NzY4NDNFQThCMzBFMzBFNkRCMjc5NDI2QzI0RgotREI3RDhBREMzRkFFRERFNkYyMDQ4MjRDNUVEOEEzMUUxMEZBMEI4REFENDZFMUJEQzRFODA0MzYxNDhEMTEzNAotMDlEMDhDNTY2NjdERTU4QTFFNzhEQTgxMDNBNEU5RDZFRDdERUFDRjc1NjFCRjBDODUwMzk0NjgyMjYyOTZBQwotODYxMTU2Q0IwRjBGRjJGRUM3NkQyQTMyRTdFNDlDNDhGMDZBOTVENjFBMkZFNDBGMTM1NjM0QkNCOTlGRTUzOAotMUY4NDkyQTVDRUFDOUNENEFDNzY1MzNDMjM3MjU5RTA3N0FGNEYxRjI2QjNEMUIwRUM0NzNDRDU2RDNCQUE4QgotQ0REQUUyNkU3Q0VGQkVEODE4QzFERDgzQUIwMTQyRUJCOTI4RTZGQkMwNjk3RkQ4MUI3QTczQjVDQTA1QTE2RgotMTFFQzI0MjhBOEE3NzY3NEQ2MzcwN0YwQzkxRDc4RUM2NEY4RDVGNjQ4MTk5OTA0QUZDQjI3REZCNDlGQzhCNAotQ0JGQzQ4NjlCQzBBMkZDRkM3QUIyNTlEREY1OUE5NDFDRjRBMUQ0QUQ0RjQ1MUNEN0ZCREIxNjhGRjcyMDM4QgotRjE1NzhEODlDOEY5MzhGRjcyRDQwODc1M0FEMTEzMTE0NDYwQkVCOTAyQjdBMEVDNEYzN0E2RkUzMTE3RTRDQgotNjI1QTY2NEQ3RkM0ODBFOTg2NjgxQzdFMzA1NTAzNkFEQjg1NDZFQUM0NEI1RjEyQ0I0MDAxMDM5QTlERTU2RgotQTYxRDUyM0RFMUIwRjgzNjA5RTQ2RTM4Q0ZFNDE0NjA0OTQyMDE1NEE5QzdDNzU2MjIwMzI0MDQ5NzBCNjc0RAotNEY3OUJDOTlBNUYzRjcyMEE0NTcwOTMzOEU4QzZBNTI5MjU3MjgxQ0M4ODBDOEM3N0NERDBGN0U2QjQ5NUQ2NwotQUIxMzlFM0RBOUNDQzNDOTkzMDZDM0NFOUIwRTUzRDc3QjFBMDA5QTI2MUI4QTIyQjc4OUJCNjc5MzRFRTdGMwotQTFDQThDMjE3MDA4MkYxODkwM0YzMzUwODVGRTUyMTlFQjNDRDBFRDREQzAxQzlBNDU0MjZDMjYwNDYyMTlGNQotM0NBNjBDQURCNThGNkFERTFGRUFCODQ4MTg0MDY3QzZBQkZDMzY1NTUzRTIwOTYwRURGNzBEQzMxOUZGOTU3NAotNjU0MTU1RjhBRUZEOTg2NEE4MzlFRjVFMDMyNzI5MUM4Nzg0QUEyREFERDM3NjY1RkQ4QTJENzAwNjY0MTFDQQotQzg4MjA1RTc5RkYwRTJDMkZFRUQwNjYxRkZEMzczNkE4MUEyNkFFRjM1NTk5QTc0NjNCOUYwMzZENkIyMkFGNQotQTZCMEM5MjU0RjcyQkVDRTAxMDgwMEJCMzIxMDBBNzQ1OTU0RDk2RjlBMjczRDVCQUM2NjU4QjU0MzNCQUE4MAotMjJCMTgzOTc1MTRGNEMzREE4RDBBRkU5RUNGNDM3Nzg4Q0YxMTA3MUJFREJGQTlENUZDRTQyRkIwODk2RkZDOQotNjI5OTcxREY5Qzc4RTlDNDBCMDY1QzkwOTk3MTIwMjc5N0U5MDM4N0QxMjgzNURGM0QzMDUzNzAwOTRFOUIzNwotNEQyOTQ2MjNGRDA5Q0ZERUU1Q0E2Rjc1ODI3QTY5MzAzRDMwMDI2QUI1MThCRTgxMkYwMjFDN0IyNUFBRkU3MAotNjQ4NTIwMTI1MkJFNkFENEYxOUYzM0ExODg0NDkwNDg5MDAwM0U1N0E3NjNGQ0EyMUIwNzQ0QkRFRTE0NzNFMAotQ0REMTZENEEwQTIwRERDOUI5Q0NEM0U3MTQ2Qzk1Njk2RkJBRDFEMTQyNkM2RUZGODczMzIxOTEwNkI1NkI1OAotNDJERkY0MjMzOThGODc4OTMwRjg1REEzMjQ1RjZFMjQ4RTk4Njc0MTQ0MjA5RjFERUZDOUJCM0Q4MEY0NDI1RQotRjZDRjA2RTg5NTIyODcxREFDMjg2NQotMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotY2xlYXJ0b21hcmsKLSUlRW5kRm9udCAKLSUlQmVnaW5Gb250OiBDTVNZOQotJSFQUy1BZG9iZUZvbnQtMS4xOiBDTVNZOSAxLjAKLSUlQ3JlYXRpb25EYXRlOiAxOTkxIEF1ZyAxNSAwNzoyMjoyNwotJSBDb3B5cmlnaHQgKEMpIDE5OTcgQW1lcmljYW4gTWF0aGVtYXRpY2FsIFNvY2lldHkuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0xMSBkaWN0IGJlZ2luCi0vRm9udEluZm8gNyBkaWN0IGR1cCBiZWdpbgotL3ZlcnNpb24gKDEuMCkgcmVhZG9ubHkgZGVmCi0vTm90aWNlIChDb3B5cmlnaHQgKEMpIDE5OTcgQW1lcmljYW4gTWF0aGVtYXRpY2FsIFNvY2lldHkuIEFsbCBSaWdodHMgUmVzZXJ2ZWQpIHJlYWRvbmx5IGRlZgotL0Z1bGxOYW1lIChDTVNZOSkgcmVhZG9ubHkgZGVmCi0vRmFtaWx5TmFtZSAoQ29tcHV0ZXIgTW9kZXJuKSByZWFkb25seSBkZWYKLS9XZWlnaHQgKE1lZGl1bSkgcmVhZG9ubHkgZGVmCi0vSXRhbGljQW5nbGUgLTE0LjAzNSBkZWYKLS9pc0ZpeGVkUGl0Y2ggZmFsc2UgZGVmCi1lbmQgcmVhZG9ubHkgZGVmCi0vRm9udE5hbWUgL0NNU1k5IGRlZgotL1BhaW50VHlwZSAwIGRlZgotL0ZvbnRUeXBlIDEgZGVmCi0vRm9udE1hdHJpeCBbMC4wMDEgMCAwIDAuMDAxIDAgMF0gcmVhZG9ubHkgZGVmCi0vRW5jb2RpbmcgMjU2IGFycmF5Ci0wIDEgMjU1IHsxIGluZGV4IGV4Y2ggLy5ub3RkZWYgcHV0fSBmb3IKLWR1cCAxMDQgL2FuZ2JyYWNrZXRsZWZ0IHB1dAotZHVwIDEwNSAvYW5nYnJhY2tldHJpZ2h0IHB1dAotcmVhZG9ubHkgZGVmCi0vRm9udEJCb3h7LTMwIC05NTggMTE0NiA3Nzd9cmVhZG9ubHkgZGVmCi1jdXJyZW50ZGljdCBlbmQKLWN1cnJlbnRmaWxlIGVleGVjCi1EOUQ2NkY2MzNCODQ2QTk3QjY4NkE5N0U0NUEzRDBBQTA1MkYwOUY5QzhBREU5RDkwN0MwNThCODdFOUI2OTY0Ci03RDUzMzU5RTUxMjE2Nzc0QTRFQUExRTJCNThFQzMxNzZCRDExODRBNjMzQjk1MTM3MkI0MTk4RDRFOEM1RUY0Ci1BMjEzQUNCNThBQTBBNjU4OTA4MDM1QkYyRUQ4NTMxNzc5ODM4QTk2MERGRTJCMjdFQTQ5QzM3MTU2OTg5Qzg1Ci1FMjFCM0FCRjcyRTM5QTg5MjMyQ0Q5RjQyMzdGQzgwQzlFNjRFODQyNUFBM0JFRjdERUQ2MEIxMjJBNTI5MjJBCi0yMjFBMzdEOUE4MDdERDAxMTYxNzc5RERFN0QzMUZGMkI4N0Y5N0M3M0Q2M0VFQ0REQTRDNDk1MDE3NzM0NjhBCi0yN0QxNjYzRTBCNjJGNDYxRjZFNDBBNUQ2Njc2RDAwMzdEMzNGMjRFMkZBQzJCMDAwOUFEM0M4MzUwQ0RGOENDCi02NUJDQTg3OTc5QzM2RDE0Q0I1NTJFOUE5ODVFNDhCRTRFODhFQ0ExNkRGNDE4NzQ5QUYwNEZERDJCMEUxMzgwCi1EMjgxQkIyNDc2QkI0NUZGMzA5NDZCMjQ3REZEN0Y1NzMwNUZBODdFNTBDQTMzODEyMUM3MUNERkRGOTI3QTlDCi03N0ZGMTRDQjRBMUQ2RDgwMzU2RkIxMTcxRUQzOEMzNzcwMjM1MDQ5N0I0NEU0MkNFMzFEQjJGNDkzODA3REFBCi0xNUI4ODdDNjcxMTk5QTU0QzRDMTI5NEJDNTIwRjU1MzhDMTU1NTZCQzQzQzlGNjIzNDJCMTIxQzZEQ0Q2QzVGCi00OTFEQTQ3RkYzNjAyMDFFRTIxQzA4QTc4MUVEMDU4OUE2REY5MUI5OUZFMTE4QjlCMjlFNEYwNjg2NzJFNTJGCi0xQTA2QzUxNEQ5MUM0QzkzN0Q0RTY0MjUwMzM5MkIxQ0QxQkY1QUYwQkNBMjhFQkQ4NDBBRDc2Q0MzOUFEN0FBCi1DRjJDMDU3MTEzNzRGNzg0OTcwOEUxMTA2Rjg4NzM3QzlBQTYwNjEyRDM4NENBOEMxNzNGRjEwMzFFQkY2RUE0Ci0xNzYxMzZERTFCOUYyOUU0MEU4MjY4MEEyQ0ZGREMyNERBMDU4NTMzMDdGMUQxRjY1MzdEMDYxRUJDQkNDNUFFCi1FNjMxNjM4MEVDRDhFNjNBQ0JFQTlGRDFGQzI4OTQ5MzY2ODUwQUFBQkNCQzk1NTJDQUIyQ0EzQkI5MzRDOEEyCi0xNEM5REZBREUyNEQ5MjE0ODU4QjFENDJCMjE3MURCMThBNDc1QUY3ODg2OEMyNTQ5RjE5NTU1QUFCMDdGNTg2Ci01OEIyODU0MUM3NEUxNEYyOEI2OERBNDJBOUQ0NkMwMzFDQkQ3NEZDMDlCRkVBQTNBQzFEREM2OEI3QjcxQjgxCi02MDAzQzlDNkFDOEVERERDMDQ2RDI0N0EyQjhBRkE2M0EzQjFCQTFGMTJBRTBCNEREMDczMjdGMDEzOEJGNDcwCi00NjMwRTRCNURBNTVDMTk0RjQ1NEVFMkU4NzJFMEFCRTZCODc5REYyRTg3Q0Y4MUY3NUQ3OUY0NThGN0QzRjgxCi1GREI3NkMxNUVFQzQxMjVEMTg2ODVFMUQ4NTkxQzU0QzBCMEQwNjlFMkVENzM0MzQ2MTdCOUQzMEU2NDQ1N0U2Ci0xNTQyRTQ2MzBFODQ4OTQ4RkYyNzQ3RDVDMzFCOUMzMTRBRTEwODkzMTAwM0RCOUY3NjY0NERCNDNEMjQ1NDk5Ci0yRDI4RTg0NTJFNTBCMTk0NUUxM0E1REUyQThCOTM1MjNEMzY3MUQxQzdFRDA3RUFCNkZGQjU1OUU1QTFGODI4Ci1CMjJEMkZBRjM0OUI0MEMzQjMxRkU4MDY1OTVGNjdDNUU3NTI2MDUxNEY0NTZGQTAwMTM2NjhEOTQ4NjE5NTE0Ci0wRUZGQzM1QzFBQTEzMUFGODU3OEEyNTRBRTYyQ0E3NUE2NjMxNDg5Qzc4Q0NFNjMzQTNCMzAyQkZBQ0IKKzJCREJGMTZGQkM3NTEyRkFBMzA4QTA5M0ZFNUNGNzE1OEYxMTYzQkMxRjMzNTJFMjJBMTQ1MkU3M0ZFQ0E4QTQKKzg3MTAwRkIxRkZDNEM4QUY0MDlCMjA2NzUzNzIyMEU2MDVEQTA4NTJDQTQ5ODM5RTEzODZBRjlEN0ExQTQ1NUYKK0QxRjAxN0NFNDU4ODRENzZFRjJDQjlCQzU4MjFGRDI1MzY1RERFQTZFNDVGMzMyQjVGNjhBNDRBRDhBNTMwRjAKKzkyQTM2RkFDOEQyN0Y5MDg3QUZFRUEyMDk2RjgzOUEyQkM0QjkzN0YyNEUwODBFRjdDMEY5Mzc0QTE4RDU2NUMKKzI5NUEwNTIxMERCOTZBMjMxNzVBQzU5QTlCRDAxNDdBMzEwRUY0OUM1NTFBNDE3RTBBMjI3MDNGOTRGRjdCNzUKKzQwOUE1RDQxN0RBNjczMEE2OUUzMTBGQTZBNDIyOUZDN0U0RjYyMEIwRkM0QzYzQzUwRTk5RTE3OUVCNTFFNEMKKzRCQzQ1MjE3NzIyRjFFOEU0MEYxRTE0MjhFNzkyRUFGRTA1QzVBNTBEMzhDNTIxMTRERkNEMjRENTQwMjdDQkYKKzI1MTJERDExNkYwNDYzREU0MDUyQTdBRDUzQjY0MUEyN0U4MUU0ODE5NDc4ODRDRTM1NjYxQjQ5MTUzRkExOUUKKzBBMkE4NjBDN0I2MTU1ODY3MTMwM0RFNkFFMDZBODBFNEU0NTBFMTcwNjc2NzZFNkJCQjQyQTlBMjRBQ0JDM0UKK0IwQ0E3QjdBM0JGRUE4NEZFRDM5Q0NGQjZENTQ1QkIyQkNDNDlFNUUxNjk3NjQwN0FCOUQ5NDU1NkNENEYwMDgKKzI0RUY1NzlCNjgwMEI2REMzQUFGODQwQjNGQzY4MjI4NzIzNjhFM0I0Mjc0REQwNkNBMzZBRjhGNjM0NkMxMUIKKzQzQzc3MkNDMjQyRjNCMjEyQzRCRDcwMThENzFBMUE3NEM5QTk0RUQwMDkzQTVGQjY1NTdGNEUwNzUxMDQ3QUYKK0Q3MjA5OEVDQTMwMUI4QUU2ODExMEY5ODM3OTZFNTgxRjEwNjE0NDk1MURGNUI3NTA0MzJBMjMwRkRBM0I1NzUKKzVBMzhCNUU3OTcyQUFCQzEyMzA2QTAxQTk5RkNGODE4OUQ3MUI4REJGNDk1NTBCQUVBOUNGMUI5N0NCRkM3Q0MKKzk2NDk4RUNDOTM4QjFBMTcxMEI2NzA2NTdERTkyM0E2NTlEQjg3NTcxNDdCMTQwQTQ4MDY3MzI4RTdFM0Y5QzMKKzdEMTg4OEIyODQ5MDQzMDE0NTBDRTBCQzE1RUVFQTAwRTQ4Q0NENjM4OEYzRkMzQkVGRDhEOUM0MDAwMTVCNjUKKzBGMkY1MzZEMDM1NjI2QjFGRjBBNjlENzMyQzdBMTgzNkQ2MzVDMzBDMDZCRUQ0MzI3NzM3MDI5RTVCQTU4MzAKK0I5RTg4QTQwMjRDMzMyNkFEMkYzNEY0N0I1NDczOUI0ODgyNUFENjY5OUY3RDExN0VBNEM0QUVDNDQ0MEJGNkQKK0FBMDA5OURFRkQzMjYyMzU5NjVDNjM2NDc5MjE4MjhCRjI2OUVDQzg3QTJCMUM4Q0FENkM3OEI2RTU2MUIwMDcKKzk3QkUyQkM3Q0EzMkI0NTM0MDc1RjY0OTFCRTk1OUQxRjYzNTQ2M0U3MTY3OUU1MjdGNEY0NTZGNzc0QjJBRjgKK0ZFRjNEOEM2M0IyRjhCOTlGRTBGNzNCQTQ0QjNDRjE1QTYxMzQ3MUVBM0M3QTFDRDc4M0QzRUI0MUY0QUNFRTUKKzIwNzU5QjZBNEM0NDY2RTJEODBFRjdDNzg2NkJBRDA2RTVERjA0MzREMkM2MDdGQzgyQzlFQkQ0RDg5MDJFRTQKKzBBNzYxN0MzQUVBQ0NCN0NDRTAwMzE5RDA2NzdBQTZEQjdFMDI1MEI1MTkwOEY5NjY5NzdCRDhDOEQwN0ZEQkQKK0Y0RDA1ODQ0NEU3RDdEOTE3ODhERUE5OTdDQkUwNTQ1OTAyRTY3MTk0QjdCQTNDRDBCRjQ1NEZDQTYwQjlBMjAKKzNFNkJCNTI2RDJENUI1MzIxRUUxOEREMkEwQjE1RTUzQkNCOEUzRTAxMDY3QjMwRUQyREQyQ0I5QjA2RDMxMjIKK0E3Mzc0MzUzMDVENDJERTlDNkI2MTQ5MjZCRkQ0NERGMTBEMTQ0MDJFQkVERkYwQjE0NEIxQzlCRDIyRDczNzkKKzUyNjJGRUVBRkUzMUM4QTcyMUMyRDQ2QUEwMEMxMDY4MUJBOTk3MEQwOUYxRUE0RkE3NzQyODAyNUQ0MDU5QkEKKzI5ODhBQzJFM0Q3MjQ2QkFBQUZCODk3NDVGMEUzODU4MDU0NjA0NTUyN0M4Nzc5QTI1NERCMDhEQ0M2RkI5QjkKKzBFMTcyMjA5RkJFMzg1N0FGNDk1QTdGMkIzNEJDODk1QTM5QTMwRjkwM0RDNkUzMjAyRDI5QUMxMTBEODY4RjQKKzcxODRDQjc4NDA3QjhCOUQ0MkY2Mzc1RjY3RkQ0QjgyODU5MkU0QTk3N0I5RTcxODU0RDE0M0NEMUE5RURDRDEKKzc2N0NDMjkyOUUwNzFGQkE0QzNEMTc1MDBFMjhBMjNGNjk3QjVENUNDNjhENUY1NkVBRDE0QkQ1MDRFMDcxODIKKzNGREMxMkY1NDA0RTc0RUMxQzAyQUYwMEMxQTZBMTdGOTU4NzcwRUQ0QTAyNEY1QjM2NDRERUZCNjFGMjU3OEUKKzU2MDEzRDBCNEU3Q0EzQUQyNTVFMjNERDYzMzY5QTkyMUQ0MjdFRUUwRTA5OEU4MTQ4QjE2RThBNTYxM0E4RjgKK0E1RjEwOTlFMTVBRDE2RUM1NTRCNjQ0REYzMDZGMENGMzU3MTA1NUE4MUYxQjQ2NDUyOURCNDlFOTE5Rjg4RTcKKzU4MTA2NkJFQzQ3NjVFMzFCQkUyOEMyNDVCQkYwQjc0NjEwREJBMzBDNjNBNzFBNEYzQjYwNTkzQTZCNDFDNkMKKzYzNkM5ODA4MjhDRkU5QTMzNjJGQkMwMkYxOTY3RjBGNzcwQTQ3OTBGOTBERUY5RDU2RTBBNzZCMDcwM0ZDNTgKKzI4NDFFNkU4RDk4NEZCNDc2RDRGRUI5NjBGRkI2QjM4NkVDNkNCQjlFQjgzNzA0QjBBRjYzRjM4Qzc3MDkwQTgKK0RBQTE2NUU2QzZCQzg2NjAxQjE0RjhFOUY1MDRBOUQ1NzhBRjA1MTI4RDhDMUJDRUE5RDIxMDU3OTU4RDVEQ0YKKzYzNDU5MzUyRUFENkI0QTJBNjY2Q0M1RDg1ODU1NjQxQ0IzMTUwN0Y5RTMwNDA1OTc3Qjc0MzU2RkU5ODVBNkQKKzU0MTg4NENCNjVBNEY1QThENEM4MkNCOUQ4Mjg0NkNDNTEwQ0JEMjQzRTk4QTAwMTFBRDM3QTgxMDQ3MDIxREYKKzQ2RjY5RDdDM0RGQUYyRjEwRjFGMENDRUZCRTEyRUI3MDQyMEJFOTBDNDUwOTc1NDM0RTIyM0M2N0QyNDIyNkUKKzhCNjJCQ0E2QkY5M0IwQjEzNzNBRjU1RTRBREQ5Mjc3NUIyREYxOTlCNjU5OUNCMDJEQjY0QjJENjE2MEJFQkUKKzQ0OUMwNTdCNUIyRDIyNkUwRjVEN0NGQjVDOUE0QTcxODRGQjI5QTU5NUU5MTI1MkFFNzg3ODYxQTYzMzFGQzIKKzY2MDVDOTk1RDU1MTIwMTIxQ0I0NjM0NzNBN0NCRDIyRjI3MEQ1NkNBOEUwREE5OTgzMkE0NjhEMzk5Q0I5RjUKK0ExQ0JDRjAwMzFEOTlGM0M0RjRCNzhBMDk0NEJFRDVBN0IxQUUyM0UzQTY2RUVENDUzOTE3RjkyOTYwNzczMDYKKzA2Q0ZBNzcyQkU2MDg1NEEzMDg4NURDNUZCODQxN0UwRDNGN0FCNDVBQkZFMTg2RDg3N0EzNzdGNUQxN0REMzUKKzBGQUI4MTc0NTI5NEUzNUE1RENBQjIwMzIxQzZFQ0FFMjc2QjYzQkIxNzM2Njg2N0YzNDZDQUQ1M0UwNkFEOTYKKzA5MUNBQzc1NDY1QkNEREZERTlDNDM2NEIyQThFRjQ5NkM0Q0RGNzZCMDU4RTRCQzFGNjE2RjZDRjYyRkI2MEEKKzY0RjgxQkFCQTdBNzI5QjhDRjY3OUNFRTAxQjFDOTg1NTU4RThEMTQ5M0MwM0I4MzRGMzY5NkU1NTExQTE5MTcKKzJBRTdFMTZBQThGQzUxNkNEMkNFREUwMjBCQzU3Nzc1OTgxNjVCNkVGMjMxMEY0REJENTRGRTE0MDcxMTAxRUIKKzQ3RjRCMkI1OTc3OEIxRUE3REUxM0FERjQ2MzkzRTA3REJFMjA4MkMyNDg3OTQ0QTcxQ0VERDRFRDdEM0Q4NzcKKzc0OUQyNTAwNjM2QzM5OTZBMzRFRTBDQkE3NzBGNkI2QTY1NURDQjk4NDBBQTgyMzZFRjNGNjE4MkUxQzg5OTcKKzM5NTA3N0Q5REIxNUI5RDBBMkRGOUEzRjYwNDJDOTRFNkU0OTJDOTY1RTRFODU0MkFDNEFGNUIyMTkwNkI2RTgKKzRBRTJCMDFDMDgxMEUzOEJGQUU5OUREODNFQkZGOEUxNDVEMDlGNzYzQjZCMTM0QTI1QTFDQzA2N0M2REMxRDAKKzcyODYwNDVDRTkwQkE5Njg1OThEODNFNTYwMkVEOTZDNzJBNDI0ODQ4RTIxMUMwMjhDQjM0NEQ5NURBMDRBREUKKzRDNURBRENFOTAwOUE3MkI2RUMwMUU3QjVDRjhDNTJCREZEMkI0MTZGNUUxODMzRjUxNDY1OUQ5NEJCMkY0NTIKK0VDNEYyRTY1Q0U3MUFBRjc5MTA2QTA0NjhENzZEMjgzQURENDREN0RCNTc2MEFBNDI5RDYxQzFEQzJFOTEyQzcKKzk0NDZDMTk1NTdBMUQxMkU3MTE2Qjc2NUJFNTIyRUExNjZFOEYwQjYwNDgwNzIxNTMyM0RDNUMyREIxRjJFMDUKKzI0Njg3M0NFMTg5RTAzRkEyOTFBOTYxRTRBRDkwNTYzQThGN0IwRTA4QTY3REU0Q0IzNjA3QzZFQ0ExMTRERDAKK0RDRTk3OTc2RTIwODYxNUYzQ0ExM0ZDNDQwNDEzNjAwODZBNEExNzNENTQ0MUQ5QzMzQTM4MDEzMDk5RjczRTkKKzBGQkM5NjgwOEY3NDQyRkQ0RDU2REY3QzRGMkQ0QzlCMjMwMUY3Q0U2MjZCNEM2QzE2MTdCOEYxNTg0REYxOTUKK0Y5MkZDNjM4NTA3MEVCMDJCRjI1NDEzMDdFNEVBMzRDMTMxODE1RkI5MDI4QzExOEY0Qjc5MkM1RTkyQkEzOUIKKzczMkVDMDEzRTJCMjlGRjhBQjM2RkVDRDA1NkI4QTAxMjNCMkUwRTc1NkY2RjM2RDExMjE0NDZBOTBGNkJGRDcKK0QwNzZDODBGQ0MxRTg4NDQ1QUZGMkM0RDE3RDI1QkNDMDI4ODQwQUFFQ0Q4MjI4MkJEMzcyMEJEQzFBREM1NkMKKzlFQTE1MjVFNkREQzJCM0M1RTY2MTE1ODM4QzAxNjgwNzBFRjE1NUZGQTlFRTJBRjBCMUY1ODczNjE0MDU0MUMKKzQyMzAwMTk5RjhGNzUwOURDNkY4RkNCM0UzRjc2RTQyOUE5MkNFODlBMTk1RkQyQzM5RUNDOTVEOTBEODc0NUUKKzU2NjdFMTM5OUQ0RDU0Nzg4QkEzQTQ2OTA2NTM4RTI0QjM4NDZGRjEwMjQ2QzNDQzA0OTg0NjM5MUI4NzI4RkQKKzlFQUQxOUFCOTA0NzM0NTRDMjZDNkNDQURENjZFNkM1REU4MjI1QTE2NDczMEY2Nzc4REYxMDgyMEMyQkE1NEMKK0Q5RTU4MjNGQjRGQjE5MkY3MjEwMjAwMDkzQTdGREVGNjgwM0Y2NTZEMzIwMUREN0IwNjVFODM0MjA1QTUyOEMKK0JDREE1MkUyMjMzN0UyNzQ0N0MyQzc1MEMzNzMwRTlCQkRBOTZFOTQ0QTc0QUQyQjAyRTRDRjZEM0I1QjdFMDMKK0E5RDBERkQ1NTBDNzIyNEVEREYyRjdDRkVCMDgxOEQxNTU0NUE1MDMzM0FFN0E4RDQ0RjUxODNFNTcyRUYzMjQKK0ZGNTFFQTA4RTkzMzA1MTcyQUQ2OTQ1QzFGMDIzNjc2QzUzODE2MDQ0OEUxREY0OURFQzJCRjM4NkI0QUYwN0YKK0FFRUM5RDJFMEE3MENGNjg0NzM4ODZBMzk4REM4M0YwQ0NCRTA5NTVFODBFN0NGNDREMDM3MTc4NzVCODlBQkQKKzc4MEM0NDhERkFFMjAwODYyNzQ4RjFBRUM3Rjk1OEM0MjM0NEM5M0Q2QjZFRjI5REY0RjU2M0M0OTEyRUExNTkKKzRFOEM3N0VBNUFDN0NBNDQ4N0U5RDI5RDJEMTNFRjQ1REFCQTEzRjBEMUI5MjJDREY3RkIwRjM0N0M1ODU3QkYKK0VGN0FDQzE2RUI1MzhCQzIyMTdCMDEzN0JENTc1REFFMThGM0RBMTk4Q0Y5MEIwRENCMzczMDQwQzkxRjZGMjQKKzQ4NkRCQkE3N0Y2MDMyQTE3RkYzODJGQjE0RjRBQUEzRDM2MDhBQkEyMDhFOTRCNjlBMEExRTcyMUI5OTVFNTQKK0YyNzFFNUNFRDIyRjI4MzEzRDdGRTU2Nzk2MTBBOTQ2RDNBQTYzNzc2NUNENDQxMjcwQkFENzgwODg0NDM2M0IKKzQyNTFEODMxMzkxRTJDNkU4OEY2MDlCRDQyODBEMkIwNzY2M0I0ODJBMkMwMTg1MTJDNjY1QkM3QUNBQTVBN0IKKzI5MTg3NDk3OTg2OTcwQzA2QUVFQTFDQUNDMUQ5Mzc1NTc2Qjg1RjJCQzFDQjk0OThBOEY2MEM4NDY2MTMzQUQKKzhEMDFFMjA4MEJGNTA4QjFCNEEzNzIyMDlGNUNGNTI4OTg2RUZGMEZBNDMzM0JGOTJFQjUwMTU0RDFDRkRDOTIKKzU3QkMyMjEwRTNGRjY3MERBNEU2NEY5OEM2Q0IzRjM5NkFFQjE0NkU3Rjg0NUY2MkFFQTgzMzg4QTJBQjAyOEUKK0YxMkMxRkM5ODc4OTc2NDBFRDUwREQ2NTFFRTlCMDcxMDEzODc1MUMyRTNDOUZBQTY0N0E0QThENTJCMEUyNjcKKzExMTA4Qjk5RjdFMDkwREE0Rjc3N0I3M0EzM0IwMDZDMjA5MzA3RjIxNzBENzVGNUJFQjFCNTc2QzFBM0UyREIKKzkyMDc5NThBOTAwQkY5MDc4NjkwOEE5QjlDRTFERDlFQUI0RDZFRjdGRDcyNEIyQTIyRjk0NEZFRUUxNzM1NUUKK0QyMTQ5M0FBMzU1NTAxRUJEOTg1QUVGQjY5NkFCQkM3NUM0MENEMUEyRkUwREU0QkU0MkYxNkNGN0I1OTk5NTcKK0U4MDk2MzYzNzIzRTJCQkVEOEIyNDU1MURFM0ZBQjE2MDk4NUYzNkFDREFFNzMyMUQ3QjNBOUFEMEYxNjRCMDgKKzUyMDc0QzU0QkU0NTJGNTQ0NUQzNzVCODVEQzJGN0Y2QUQyQzA3OTRDMDgzMEFDNTU5MjA5RTY4MTY5REFERUYKK0Y3OEI4MjMxN0FCNkFCREQ4ODc0RkZEODA0RjcwNzMwQTlEMDg0QjRFOUUxNDMyMjZFQUMzOEU3QjFGNEUxQzkKKzAyNzBCQTgxQThCNDNDQ0MyRjhGM0I1RTAxRTkwMjg0QkM1NjEyNjIzM0ZENDUwNDRGRDY0RTVCMkQxNTlFQjIKKzU1NzlGOUZEMTFFMEM4NkNENEYzRkY1RDA2QjExQkNCMUEyQkU5NTU3MDMwN0EzNzJFNUZDRDA0OTU2MTFEMTcKKzYyMzgwNDc2NkM5M0Q2QUM1NDdBRUYzODhGMkEzNTk4RTUxOUUzRDQxMzUzRjNBQkI2RjJFQUI3NjdENzQwQUYKK0FBNkVEOTY0MUVCM0U3NUUzNkNCOUU0Nzc5QzVBNDQzQzRDRjc4MEY0N0NEMTAzQ0E3N0MwQzg3M0U4QUFDRUUKK0E3QkY0NDQzNjYwNUExNjk4Q0M2NkRDMzhEQjk1MzkzQ0VDRUQ1MTU2NjRFQ0E3RDc0NEFBMUZGMjYyRjNEQzIKK0RDN0E2NDIwNzM1RTdDQ0E5NzlENzhEQzJBNDZDNDlEMEFFNzkzQjZEQkVCQjJGNTk4MTQ5ODI3QjZBNTNBRTIKKzIwNjNFNzgxQTZDOUE5REIyRTM3NDlFNDZGNUUxOTI5NTRFNTFBQzZBNzE1OTU0Q0EwQUM4NTFCMkU4N0MzM0IKKzk2NzBENDA3RDE3NjhCMTgxQkFFMTA1ODlGMzhEQUE1QzBEQzRDMzNEQjdENUJBQUMxQTIzRDEwQzMxMUMwOUEKKzM1RURENTUxQkQxNTM0RDNEQkZFNThEN0E3QUE3OUY5Mzc3MkVGQzYwNTJBRDNFOEYxRDE5NjA3M0JCMTg4NUIKK0ZCRjk1RjlCRkUwN0U4RTJBRkMyMzM1OEExREYyMDc5QzdBNkU4RDIyMTYxN0E1QTZGRUY5RkMwNDhDQTA2Q0YKK0YyMzUzQjlBMTZGMTdENkQ0MDhGRUFENURCMTgwQUFGQ0ExQzE3QkZCNUE3NDczMDc2REQ0RUI1OThFRDA0OUMKKzk0Njk2MjgzMTgzNDc1MDhDMkJDNUNERjA1MkQ0NTJGRTQ4RUQyNUQ3RjNGQzA2MkM4NzAyQkZFQUU4NTNGMUIKK0NFMTJGMjY2RTJCNENBRkUyM0UyQTZCREIzQTUwNjY5Q0YxQTRGNEYxODg5QTkwQjc3QTY5RjAwNTk3RDU1NjgKK0JDQjREOUYyMUJFMjYyNjdFODRBRjVDNDAxRjk2QjNCMjNBODBEN0ZDNjk1NkFDRDFFMDcwOUQwRDcyMjI0OTgKKzY0MTdCMzE3MDUwNzRENjcyOEY1MDhGMjFBM0NFQTg5Q0NGNTNGM0UwQzRFMDNBMkNCQjEyNzZBNDVGNDU2QTAKKzEyOEYwQkQ5RTA5NTQ1NzUyN0Q5QjZBMjQ4REE3RkEyNEFERDdGMEIwQTdCODI1RkFGOUFGNjlFMjEwRkYzQzUKKzczNzY0NzYxREQ2MUQwM0RBQTdBRjQwMDkwMDJBRjM2M0ExMDFGREYzQkYzMzgyNDdCNkIyMjE1QUFFMzg0NzYKK0FENjYxM0I1QzdEOUQwQkFBOTU1NkJFNEM1N0NCRDNDMEE4NkY1NDQ2RkVFN0FCMkI3MzhFNDA0M0E3QUIxNDkKK0RGOEE4NjI3MEU4ODg2MDVBQkVBMTk2MkNBQkE4N0UxQjZCRTRGNzcyRDAyNzhGQTUyODZFREFGRkU1NUFDRDcKKzk3RUJGNDQ4RkFBNDRGMzNDQ0FEOEEyOEU4ODNGMDNFQURCNUFBRTIzRjcwMDU3MUY2QTFBREJCNTE1MjE2QjkKKzAyQjU5RTExRkNEMjZCOThGQjYxODcxREY5OThFNzI1OTc0QjcxQkE5QjgwNzVDOUFDQTVCQTVBQUNDNDMwNzkKKzI4RjYyMDE4NDYzRDkxRDQwNEExMDI0NjU1REFENENBOTUyRTI5MzkzOTRDRkZBQUJGMjc4REY2QUMzMTEwMDcKK0Y5RDdGQjVGRDQ3N0I2NjlDMkEwNjhCQ0ZFQTUyRjI0OEZGRDFEMEVEMkU0NzU1NkRENjg2RTUwOTBGOTEyNjUKK0E5QjdEMTlGNDAwQTZBMDU2QTU2QzBFQTlFNzRDRkQxNjQ4NEJEMjc2N0U2QjUxRjVBRjM0RkE2MDMwQkFEMEIKK0E3OTFDQjYzMDcxMzNDOUMxNkU2MzU0N0I0MURFOEE2N0UwRTJBNjBEQkQ1NzVEMzk0NUI4RTI5QUIwN0ExREIKK0U3NTJCNTRGNkI0MjNDNzg3REMzRTJFNDhGM0Q1NDZDMkY2MjQ1QzhCNzc1Njg0Q0YxMTA2RDYyMUM2NEUxMTEKK0JDQzIzNjlFRDQyQjVBQzFBNDNBM0Y1NjkwMkNERDNEMTE2N0VCNkIwOEQxNEFCREM3NUIyRTUwMTc1RDczMEIKK0QyQUYwMERBNjZBODQ3QTNDOUE0OUQ0NDdFNjA3MUE3RTk3N0E1OEUzMDBEOTY2NTdBQUJERUZGRUE0ODlEQzkKKzc1QUUzNDZDNkI5QkVGODJBRjA3N0Q2QTkwNDg5RkJGMDEwMUZFNzdCRTVDM0RDMjY3MDc2NTY4OEUwMTRGRDAKKzVFMEU4QTIyMTBDQTNFQjNBQTc4RkYxNzgxNTUyRDBEQ0M0QTk4QTk5MUQ1ODJGNUQ0MEEwMTc0RTMzQUUyREMKKzcxNUY1RkNFNTA1RTgzMzM1MzA2MTFEQ0RFRjY0MkUzNTgzOUMzM0M5Qjk0QzQwNzkyRDk3MEVEQ0JDOUNEMTYKKzBFQjBEMzM3NzAyMDY3OEI0NzRERjhDQjFFQzAxOEM1ODYzOTlFRDIyQjAxMjE4QjVDNzVDRTQwRUJCREEwQTkKK0VERTFGNEUwM0NFQjVCM0VFQ0VCMDY5NDA1OTE2MjgzMEY1M0VFQkY3N0NEQzc1NTBDMjBERDlFQURFMkYwNTIKKzZDRTM0QzhGNjdDMjFCRjYwMDU4MjhENzU1RTg1N0MwNThFNkM3MDYwQjYxMEQ4MDE2MTdBNjAxREMzRjhFQUYKKzYxOEFENzJDNDgyOEUzMzk2N0FBQjYwQjQxMURCMjMzQjdCMjlENjJCMDE3RkM1MTQ2NzYwM0ZGMDAzQ0QwMDAKKzYwN0I4RDhERkMwNEZDMjJBMTc4RTZBMDM4QURGNEU4RUM3MjM4MjkwNkJFRTc1QjI0Q0E4RjZCQ0FGREY3N0EKKzJEMEI1REQ0RkE0M0UxMDA3Qjg0OTQ4MjkzRjhDMDE5REI5OTc5NTIzREE4Q0E3MzI3ODQwODJBNkFERUY0MTUKKzVGRjgxM0Q0NjlDMzM3NDQxRUFBOENGOUY5MjBCQ0EwOTQ3NDRBMzA2RDQ5MjJDQzQyMDc1N0Q1NDFCRDI0MzUKK0ZFMjcxN0EwMThDODlBNTQ5MEZBQjg4RDY5ODRDMDlFNUM3RjYyQkZGNkRGQ0EyNEE2OUY4RTI5QTlERjBENUUKKzlGQzBBMTJFQTE5NDBGNzJEOTBERDdDRERCODJCMjU5N0RBMUNCRDhGNDMwMkY5NTk4OTIwQTlCOUFFNjdEMEYKK0UxMEIzMEI5MjhCNkIyNjY5QTA4NzkyMjM1NDgyQTcyOEU5NTQ5RTc2QTE1REExMDI5QkU4ODNGRjI3MTUwMjAKKzczMzM3QkVFRUY3Q0FFMTY4Q0VCNkUyQUM5MTZENUE2OEJGNDIxMURFQzQ2MjcwMzgyOEYyRTVDRTExMkUzOTgKKzdCNzlERjYzODlFNUNDMUFFQjc0QkI0RTRDNjc5M0EyNjY2QkY5RUFGQTcyQkU5NjZDOTQ1MTEwNENFMkNFMjQKKzQ1ODk0REYzMzA0RTYyMEY0ODQyNzMxNjNEOTIxMzg1M0QyNDJEQzMwODA1NUFFRTA4N0E1ODhBNkZDOENBOTYKKzUyRDk0RDU3NjUzOUMzNzI4ODUzRkI5NjU4QTBDRUQ5MUVCOTYxNDhCODA2NjQ0ODk1QTQ5MzI4NjI1NDk5RDYKKzMxODZCRjY1RDI2M0QxMzhBQzQwMjdBNDNGRkY3MDI0NTE4MDM3RUNDNDc0QkMzRDQyMzA3RDQ3NDMxMkQzODgKK0ExNjNEN0RERDc3MDAzMTE2QzA3MUZGNUE4NEI2MURBMEU1NTlFOTZCNDI3RUQwRDM0NjQxNzIzNkMxQUQ2RTcKK0IxQ0FENEM3QUFCRTdBOTAwRDZFNEI5QzhENDcyQzg5MDkxMjNGMDIwM0UyODVFNURCRjdDMTExQjE4QUVGQkQKKzYyNEREMjBDRkNGOTc0MjQxMjE1MzY0QjYyN0IwNEZGMThEMDA2ODgzNUIyMUMwNzczOUE5MURERTdCMDhGRTMKKzgyRDE3NUNCNkE5RkU1REVDOURGQzQwNjYzMzk5ODhGMDZFRDhGNDFFNzcwMEUyRDBCMjMwMTZEQTUxMTlGM0YKKzlCRTYxNjI1NDlCM0I0OTIwQjM4Mzk4MEVGQkQ5MEM5MEFENEU5MzVBOTgxNkVDQjQ1QUNCMEQ5RjEzQTNGOEMKK0JCMTc1QTE3MDcwQzVENjE5NUYwNjRDRUQ3MTc2RTg0ODRBODhEM0ZGQjc2QkQ3NzAwRjFDQzMzMUNBQkJBRTQKK0M4OUJFOEY2RDkzNDUzRTMwRDJCQUFCQ0JERDM1NTFDRjJBMzZCQTc5RTk5OTMwRjZERDgyQkUxQjA1NDZFOUMKKzdFMENERUIxQzgyM0Q3NUZCMDk5ODMwMEZEREJGNzUwQTQzNDYwRDA0MTVERTcxM0I3QzJBNUU3MzE2RDAyMEUKK0I0QTIwRjk4N0MwQTk5NkRGQTk0RDY4MzNFQzk1MzlCMEU3NTUyOEY3RTlGQkJENEM0NzI2RjI3ODNFQjMzRUEKK0Q1NjQ4ODVFMDIzMzMzMTQzMkNCRjM0MjRDMTMwRDNBOTZGNzlGNEJCNTAzQTMxMEQzMDMwQkU1QUYxMTBDRTIKKzdBNDYzREMyMUE4NjkyQ0VFMEE4MEZDRkY4MDNFNzIwMjA0OEE4RjNFRDU4RUVDQ0M4Q0NEMzVCMzJENDE0RUQKKzJGRTcxNUIzOURCRDM0Q0I5QUQ3RkFGREIxQTE5OTNEM0FENTI2NERFNkE1MkI3RDA0RkQ2ODFBMjhCQ0QzRjYKKzgwREFCMTJDNDMzNjI1MTJGNENFQ0JGNTQzOEIzQTcyMzE3QTFCQjg4NERCOUI1MTlBOERBNkNFMUNBRDJDQzgKKzgxRTI4MzgzOTM2NjQ0MTcxODg5NkYyMTk0NDBENjNEMjQ5Nzk3MUJDOUU1QUZGMzJBMTU2QkEzQUQyOTdFQTAKKzQ2REZGM0IzOUU0RUUxMzg5RkIwNDFFQjYzQTgyNTI5QkJGRDg4MkJFMDJCREUwQjI1RDE1QzVFRTUyMjY2M0YKKzVDN0QwNTQyNDk0NjBENjY5ODdBRkU4QzdGQ0E2NUE4ODAwM0RDOTMzMjQwOTIwNDYzRDUwMTMwRjdBNzlGODUKKzE3RkI3RUE4MDEyMEM1RTkxNDExMzY2RjA2OTUzNjA5MzIzQjIxQTRCNTcwMjQ0N0QxQzU0QTA4QTQxMDRFQzAKKzdDMkY5QjFDNDJFQjYwMURCMzJGRUJBMEY1QTAzQjdFREY0QTNFRTlCMjVBMjZFNEQ3OTdCQUJEMUQ4MEU2RjUKKzFFRTIzNDc5MjVCRTlBOTlENzU2MzA1MzYxMTA5NUVGNkU1NDY3NUUxNDZFM0IwNEYzRTBGM0MwNTFFRjMxNzUKKzE4NzY2NUEyQzdFQUI0MjVBOEVGOTk5NjkyQkU1QzIyNEEyN0I2MzVFMjQ5NjE4Q0NGQkQ4MEU3Q0NCOTU5QkMKKzNEQUIwMTIxQTJDQTYwRjMzRTYwNDU5MUMyODVBMzFCNEIyODlGNDRDOUU0NTJDN0FDNDU5OTRFQTlBRjQzNkUKK0QxMjgyQUZBMjA0MjQ4MzYyQTJDOTNCNDU3NDY2M0IxNTc4NzU3NUMxMTZDRkIzNDNDRjBBRUM3RDU5MzY2OUMKK0E3RDQ1N0FDOEY4NjUyNjY1OTNEMzhDNTJFRjYzRjgxODgzNUY0NUM5NTdEMkJCOUEyMTZFQjQyREY0MTBEQUQKK0JCMjBCRTMzRDUwMjc4RkIyNTRDMzQxNDYxOUFERTRDQUU0QzI5NkRDRTczODEzQzc3NzE4NkVCNEU2N0UwQzMKKzk1OEZDQUFDRTMyNUJCNUJERTE4MTA1M0VBNkEwQzU1OTcyQ0E4NUE1NkVBQTFDMUUzREM5QTY1MzQ2MDJDMzkKKzI0NjQ1QkY2MEFCMEJCMTI4NzNCREM1QUZDOUQyQTg1N0M2REE3M0RBQjhCNDc2RjhCMEQwMjc1MjIwRTBBOUYKKzgyRUZBODJDMDJBRTJDMzc1RUQzQUM2RDM3MjU5MERFNDA4NDI2MzhGNjc0RTdDRjkyQTIxNTUxRDE1RThFRjkKKzg2MjU5Q0ZDQThEODJBQzA2QjVCN0JCNzlCOUQ3Q0I3QzcxMUQ1OTQ3RDAxRThGQ0JFQjMwMjhCRDMwMDEzOUMKKzgxOTEyM0VERDdGRUQ3NUVCQTc4OTgxNTE4NUZGNDdFRjlCQUMxRjIzNDMzNTIzQTFGNEExRkIwMTE1M0FERUYKKzg3MzJGMTk0ODk1ODMxQzBBMUMzRDBBMTg2Rjc4OEJCNUI0NjcyQTAyODc1MjI4N0Y2NTcwRkVEQ0EwNUI0RUEKKzBGNDVDQzQwN0FDNTFGQjY5NjBDQjMzMTUxNEZGMDdDN0ZCNkFCNTc1QTk1NThENkMxNkRBM0M0REEwMUY0N0IKKzY2NjE3RjMxMEQ1RDNEMzE5N0E1RTc0MDBENzJGRDg2RkJBMzcyNDU0QjlCRjZGN0UyRDkzN0VBM0E1NzgwOEYKKzc5MkU4RTUxQ0U1QkUxRURBMUFGOTM3NjhCMzczNzBEQjAwNzVBNEM1NjRCMTI4Nzc5MTUyRThFMzYzRENBMzkKK0M0REY3MDFFMjIzRUQ1MDg4RjdCNzFGQTc2QkNDMDFCM0E5ODNFODU1RUYzNEU2RTY2MEZFNThENDYxNUNBMTgKKzA4NjhEMDEwNDg5MEVBN0I1NkRFQjEwMkNGRTNBMkU2RUJEOUJGMjI1QzUxQTlCRURBRUJFNjc0MjVBMEMzRUIKKzRDREY4MTcwMUJFMzgzQzI3OTg1MEREOERGMjA5NTZERkJEQ0M0ODREMjMzMUY5NDM1Q0JCQjgxQjU3Njc3QjUKKzRDMDhEODlGRDEzM0VBNjVFQjY0RDI2QUI4QTNBNUI2OUVCMDRCOTVERTBCMDZDM0UyOEQyQzZCREVGNzUzMjUKKzNBNUNDMDgxREREMUNGRDJCNTA1RkJENEVFQjIwRTQ0ODVGMTA1OTU5MURBNDNFNENEODFDNUQ0OTFBQ0UyMEYKKzVGNzE1MzM5NzhDMEFGNTIzOUVEQzlGNUJBMUZGRDVFRjNGMTFGNDkyNEQ1RjI3RDMyMDUzOTEyOTdGNEY2RjgKKzFBQjQwQTBEREU1MkFCRjVDMUE4OTM0QjQ2ODc2MDRBRkIzMEQyQ0ZFNEUwQ0QyQjNFMTM1QTdDQUUyNEU4NzIKK0U1QzY3RkVBNjRBNEY0MDQzNTRDNkY4RjI4NERCNTcwMTIzMTMzQjkxMTYyNEUyM0JDOERFM0M2Qzg4RjQ5RUEKK0E3OEMzOTYyMTM3MjQ0NEM4NkJCQkI1MzRFQzk1NUQxMTE2Qjk1RDUwQTdDMTVFQTZDRTg2NDRBQzJDNDMzODIKKzE5NkUzRUNCODUzRDA5NzEzRDgzRjlBRUIzNkNCNjZCRjUxMjA0RUI3MkI1RjNEMEQ0MjhCREYyREU2NEI4NTYKK0EwQjM1ODMwRDcyQUNDQ0ExMUE4RTE5MDcxREM4QTNEQzc5MDcyNzZGRTg5N0FFNDU0NUJBNzVFNEFDMjYwNzgKKzA0NjY0NDQ2MkE0QTg0NzBFNTkzMjczREVENzREODQzOEE3RDY0NjI1RkQ0RjNFOEZDRjQwNjJBNzU0RkVDNjIKKzBCNDJEOUQwQjFFQTE2MEExMUJDQThDMTZEMzNFODQwNDU1MDQ3Qzc0N0MwRDZFN0M5NEI3NzI0RTQxNDJBNUIKK0E3NjVDMTdCRTdCNDlGQkRDMENDNUE5MUM4Mzc1MThFNzQ1QTUzMDMyN0MyMjk0NjNCQTdDRjk1NDNDNUM1NEMKKzdFNkMyMzU3RjE4Q0MwN0E2RDMzNzY5MzQzNjMwQkE4RTRGNUFGNDQ5NDY1Nzg5RTQ4MDQxNTk3QTdFNEVBRjIKK0M4N0NGRDA4QURFRkRDQzg2OTFFQTU0RTc5M0MyQjJGNkM5Nzk4QzEyMDdBQUEzREY3MDczQzE1RjY3RjQzMjUKK0Q4ODFDMDgxNjM0MDczQjk4QTU5NjRFNDA3NDRCOTc2NzQ0OTU0NzI3Q0I2QzkzRTg5QjhCNzc5N0Q3QUM1QkYKKzcxRjBGQjMxN0NFOERCMzQ1MkZBN0YwQjZEQjZFRjlBNTEzNzJFMzMzOTgyMDE2RDJCNkYyNUIwMThDOEVENUQKK0NCMzFCRDkwMDFCQTUyRDk2NzYzOUI2REY0NDMyQkFCMDRBMENGMzNCQzRBQzUyMTZCRUZDOUIzRTdBQkFCMkUKKzg4RDVDOTNEREFCRjNBQkEzRDQ4NzgxQzE2OEFGMkQzNkIyQ0EyNEUzRUFGRkVENjc5NDUzOTEzNzAxRTQ3OTYKKzAxMDkxNTU2RTRBRkQ5QkZEODVCRTI2NkY2M0VFMzJDQUJBRERCODE5OTExQzI0OTZBODc2REY0RkUxODVFRTUKKzBDREM4Q0ZCRjgyNDgxMjQwMjg4MjA2MUZEQzJBQUU4Qzg1QkYyNDU0QjUxMzI5MUY4RDNDOUM4NUI2REZENjMKKzYyODgwNkE5Qjk5RDhEM0ZEQzVCOTgwOTg3OUM3QkYzNEFFN0Q2RTQ5NzM2QjhFN0JDNEU5Mzg0NUVGMjZGQjYKKzJENUREMUJDRjEzQ0I2QTNEOTI5MjQ5MjNDMTYwOENBQjNFNjMxOTA4NTRFRUVBRjc1MDJENjhBNDgxOTQ4MjUKKzQzMDgzQkYwNjA3ODE1QjUzMjA2NkM2MzFDNTJDMUI4QkUzQTFDOUNGMDBGRkMwQzZFMDQ0RUU3NUYwOTdCQjkKKzdENzVEN0QwNEU5RjQxMkQwODIzQUNBNDhCQjAzNzUyNzA0MTRBQTM5OUM3MkI1MUYzNkRCQkE4MTEzMEJENUQKKzk0QzU5NjNGRTM5RjhGRDI4QjFCOUM5MzMwNjQyNEFBNkY3MDc5NUE0OUQ1RkI5QTU2N0Q2MkU0QzUwNjk2N0QKKzZGNjFFM0UxNTY1OUQyM0EzQjhBNjBDRDBGOTA4ODhDMEI5NjQ4ODYxMkU1MjUzQTc4NTVCQTU2N0E3QzZCM0YKKzE5NzNBOTY5NzVBRTQ2NzQzMzI4NTRCQjQwQzQwNTExOTRBNTY0RUI3OERGQUZFODBBOENBRUU3NEM0MkNEQTAKKzkyNTQ0NjJFRDBFMUNFRTg4RTAzNDY2NzI4MTVGQzA1NTlDOEM1MjRGRjJFMzAzMDE1REM3MDlBMjM5QTJDNTAKK0U0OUVEQjY1RUVDN0VFM0E5MzczODZERjkzRDFDQ0MyNzI3MEU1MDMxMjQ0MEUwNkM2QkJCRTRFODc5MkE0N0MKK0QwNjM4OThDNUYzNEQ4M0JCRkVGNzFERDhCMkMwODFEQzhEMTIyQTFCMjc5RUFBQTQ0RDY5RjVEOTVFRDdERDMKKzA4MjBCQUFEOUM2RTNBRkYxRTI0QUY1Q0VEOTRFNjgyRkY2MTJDNDQ5NDhFOTRCOTgyQzczQTUzNzFEOTdCOTAKKzRCRDI1RDM4NTBCMjZGNzFGNzFFQzRFRTM2OEM4ODU4MkIxNjc3QTU3NDAzNzc0QkMxNUFENEExNTNCMkMxMTIKKzUzN0VGNTI1NTgyREFDMjE3NTk0RDA5MzczRTc0NUVGQ0Y2NTkxMUZDODA0RTZDRkI0NDFGMjQ0MTZBRjExQkIKK0NFRkRDQTE3MkQ3QkQwNEIyRTIwNzUxN0E0RTU3OEY2MjI0ODhFM0Q4OEVCNEFCRDI0RjY3Q0IzQ0IyMTM5NEUKKzhCNTk5RTRGNjQ2QTRCNEFFRTg0MjRCMkUzMjJDQkI0Rjk4RDAwRkREQjdCMjFGQjcyQzlBMkVEMDg5ODQ1MDQKKzQyRkE4MTFFRjdFOEI5OUZDNjMyQkZBMTA0NENEQzgzMTIyMDk4ODA3MUEzM0ZBNUM0QjRBMDA1ODM4NDM1N0IKK0JEMUIxQTExM0MzQzRFMUZCRTY1OEZCMjVEMTExQjE1QTRDMjUzQUQ0NEMzMzEyMzMxNDdGMjg5NTUyNjY0QTEKK0YwQzFGMTg2ODEwNDU5QzZBNDFFRTBBNTNFRTIwMTQ5QURCQjQwRUJFMzc3NUZFMjU3N0E1MkJBRUUyREM5RDcKKzE3RDgwN0M4MDE1NzJERDIwOTk1NkJENjlENjcyQTczMUNGOUQ4NzQ3MjMxRURDMEJCRjBCQTU5NDY5NzhBMEMKKzVBQjNENEZEMDMzMzkzN0M5NDlBRkUyRTkyNjE3QTRCNDZCQTAxNTM3NDk0MTAxRjk2NTY4RDI4OTkzREI4MDcKKzNCQ0Q1MDc4QTNENDlFOTk1MEE2RTM3M0U3RTNFMDhCRUQwMkNFQ0VBOEE3Mzk5ODVGMDFFMUM0MjkzRUVDNzgKKzk5RDlBNDZFMDkzNjQ3NkMyQTUwQ0QyNUYzRDhCRkZCQUI2NkI4RUE1RkVDMEQwQjZERUIzMTREMkQwNjI2MkUKK0M2QjM5QTM2NjA2Rjc0NTgxOTI1MkZFQ0QwN0Y1M0FGMEZFNDc5MkZENjE1RTMyOUE0OTk5NEM2M0VGMUFGRTEKK0IyODQyOUMxRThBOTRFQzAxRDBGQjJFQzdDMEY4REI5REVCMEYzMjk0NzUyOERFN0JFM0QwMDhCQUJDQjFDMkIKKzA0NDJBQjgzQjc5NDVFNDY4MkJCNzdENEJGMTU4NTU0NjRDQTU5RjZFMkI2N0Y3RTk3Njc1Rjc5QTc4Q0ZFODMKK0MwMzEzQTgyNkMzNUNENUIzMjFBNDFFREI0Qjc5OUIxNzVDQjBBMjdCNjBENzFEMjRGNDI4NjYzNUEzNTRERjYKKzg0QTc3N0RGODRBRDhEM0I0RkNFRkM2RDk2QTg3NTRDNjY4NzcwREI3QTdCMjAwQjhFNTQyQjc0OTAxNTJCQzIKKzI0QjhDQ0E4RTFEOUEzQkNBMjMyNURBRTcwREQ1MTA5OTc3RDVGOEMwNTY4QUM1NUY3MDgxMkIxODQxRjgwMTcKKzRDQzJDMzZCNEQ4NjE4RDJCM0RCRjg3RjU0QzIxNDFBQTc1RUQwQjUyODVEMUVEQTI0MzVCQUZDOTlGNTE4RDIKK0YzRjQxQjhGNjc0MDk1RDE1Q0RDMzY2QjhGMzQ0REQ5MTdFRjY0N0I5RUFBMUY0OTlEREUyNUQzOUVBNzU4QjcKK0QyRUREMjNFMDBCODE4MkU5NDEwQzE0QkMzMUE3NUMyRkU3MDg2OTIxMkI1RjU4OTE1RjVFRjkyOUMyMzMzQUIKK0I5ODMzNjg2QTI5RDdENDNCRjk5RDQ1QkQ2MDQzOUNERDVGRTNBNTBBQkQzMjhGNkM4NzcwMUM3MTQzNTlGNDUKK0Y4NjY0OTQxQ0FDRUNBQzcyMzA4NTAzQzlGREFCMDBFRjc5NDFBRTFFQTU3QTNDNERBODgzNTIwN0NGNTZGMjkKKzBFREEyMDJFOEVDMjE2NDA0MTcwMUQyQkI1QzMxRjQ2RjRBN0FGQkY3MUQ4NDg3NzUwRTc2QkRDRUJFQkJERTAKK0IwMDk2RDE0M0U5MjNGN0I1RTZBRTEzOUNDNDQxNzdFODZGRjNDMTM0OEIwOTcwMDRFQThEMzU5RDQ1Qjc3MTMKKzAwODkyOTc1RjM3QzJBMjE0MTQzMkRCOUQ0M0Q4NEY2NTA1NzVFRDVFMDVERUY5MkIzOTE1NjJCMUVCNThDRDQKKzc5NDJEOTI4RTA1NTc4Q0U3NUNEMzg0NThEQkI1QTBEMzQ1QTgwMTkzRDM2MTU4QTRCQUY0RTczOEFEMUNBNjIKKzgxRjhFMDcxREZGOTg0NDhBQ0MzRDM3MDBBNzlGRDA1QjdBQkEzQzA2RDE2NkVGMTFCMkM2MjI0MzhBNjBCMjUKKzJEOTEzREQxQzFENUI4NERGNDAwOTdFMzAzREFDRDFFN0I2QzcwQzE3QkZBMjg1MTMzMUI1NDUyREQ2MERGNkEKK0QwMDUwMTE3OUUxODc1NjEwNkQ4MTNCQUZFOTA5RTMyQUNBQUIzNjc4NTQwOURCQ0ZGMERDOEVGNTA0RDk0QzYKKzEzNTMxNDFEREVCNzFGNzNFMzNBRTEwRDQ4QjM1Njc5N0UyRThCNUZEQjk5MzMyRjUyNzI4RTRERDFCMDFFQ0QKK0Q0MzUzNUExQTMyRDU0RUU2MEE2MTY4RUVDNzE1NkZFNkIyQUFCRkM5QzZDNTAyQjhCMTlENjlFNTZGQTVCQkIKKzdCNkVDRkYyQ0QxNUM5NjQxODNGMzM1OEQyQzJENTczNkIxMTcyNEU4QjVCMDcwQzA2QTcyOUE0NjYwNkVGMTIKKzI0NzFFRTBGMjhFQjUwQjBCODkzMzRDOTAzQkVGNjZCOUU2NzQ4RUI2MjIxN0M4QzQ4NjlDMjQ3N0U5RDhEMDcKKzA4QTUzREFGQTMxODE4RUFCMkM5RTdFM0FBREQ5MkI2ODExQjlFMkVFQzE4NjFBNTZCREE4NjU5MEJDQjJBREYKKzMxRTc2MkQzMTA2NEM4MkU0NTE3NjQwNTM5QTU5OEU2ODIwM0M2Mjk2QUJFMTkxQkE3NTlCRjVGMUE2NEQ5RDEKKzQ1QTEwRERERTkzMkMyNEYzRkQ3RUJGQUYyMUU0MzIxNzc4MTMzNDQ3MkFGMjMxRTREMEU0MUM1MDlCMDBCMzMKKzQ0OTRGRDU0QTU0RTNFRTVBN0EzMEMxNDhCQkYzQTgxNDFGODI1REE1MzA3NjlDMzJCNTJCRjQ0RTExQzAwQzYKKzdGM0Y3MUEwNDEyODdEQ0NDMkI5QkMxQ0FDMUYzOTNGODIyN0MyNTZGMTM5NjA3ODI5RDE4QTFFQTg2QkI5N0MKK0FBMDJDNTY4RUUzMDc0RDhENzJEMzJGNTNFQzYwNTk4NjE3RERBMDYzNTJGODNBNjYxMjNEMjE4M0VCNTgyNDYKKzMwNzhFRDk5RUQzQTNGMzI2QUE5NUQ2RTgzQzJDRUZENkI3OEZFMkYyRThCQzZCQkM5NkZCREQyN0U0NDMyMjEKK0IyQzlGMjU4RjBFNDFDMEJBRDg3RUVEQTU0M0EyMjQwRTRFQ0MxQTBGMjdGODA4NzMxMEIyMTIxMUQxMzNEQ0QKKzkxQjBGNTdFNjQ5QjU1MDE5M0IwQTgwOTQ2QjlBNzhEQjM2QUI5NTYxMUJERjYwQjdGNEUwMDkzMDZEN0Y5MkEKKzhFMTA5MkIyQjg3QjU3QTFBNzJCRDVGMjMxRjBEREI5MUI5NTI3QTFGMTI4RkVCNjgzNzJDQzA3MDQ5MDA5OTMKKzdCQTY1ODE4Rjg2QzkzNUNFMDAwN0E2RkY5REJBMTNCNEQyNjg0QkM0MEFEN0FBMzlGN0FGMTY0NzAwRTkxRjMKKzgyQjJGMzkzQzREMDcxQTU4ODMwQzkxMjg3NDUwRDM3MDkxRTJBNzUwNzE1QkM3OTIwMTM3RkYyMUVCNDVFMTQKKzEwQzI3ODk5MEU3ODY4NjcxMTg1OTU5NzM5QzIzNzNCRDk1NzE0MDI4NUIwQjEzRDlCRjk5RDBEODk1QjBFNjQKKzZCNEQxQjlCRDU4MjY4Qjk5QzZBRDYzMzlBQTlBRjAwNjIxQzVGMTlDNjA0NzYwNzk0OTkyRUFDRDlBRTM1RkIKKzgwNTVDOUVDN0I0NTY4MjRDQ0IxRjgzMkE5MjE2RDg1M0EyRTc0RjY2QkI5MDA2RENDM0Q1RTAwMzMxQTlFNEMKKzE3QURBRjAzOUMxMURDMEFCQjc4MTQ0RDkzNDdBMkEyRDVBMUNBNTY4NkQ2MDJEOUUwNUVBOUY1MjU4QkM5OTIKKzJGRjJENEI2RjEzMkREQjJCNDRDQUM0NzNFRUY5MjUwOUQ2MDlCRDkyNUJFNUYxRTBBNEIxN0FGQjg4RkExREMKKzA3N0IxQjRCNDdBMEMyQTY1MjFEOThFRkM3RkMwNjE4QzA3ODEzQUJCMEFBRDlCQjQ0MzYxRTY5NjBERDg2RDQKKzFBQUFGMjEzQjBFNDU5REIxOTNFNDczODI1NjRDOEI0M0Q1RTJCQjFBNzZEOUIwMENFRTU5QTBCQTFFQjcwRDIKKzVGRDM5MDc5NjRBRjBGQ0U2NjYzNTBDQjBFNzFBMkRFOUYyQzM4MDY4QURGOEE4MENEMDhBQjM2NjRGMEQ4Q0UKK0NCQTA2RDM0MjdFMkQ5Q0NDQThCQkJCRTMwRDc2NjkzQTZFMzNGMEZBMDkzQ0Y3N0UxRDUyMUU1Q0RDMDk0RTIKK0M3QzA3OEU2MzdGQkZDMjNCQjkyQzE1ODQxMUI2NUUzOTQ0RUMxQTMwNzgwMUQ4OERFQTdEMEVDQkVGQ0QyNDIKKzYyNjFGMkM4RjIxMzUzRUYxMEVCRUNDNDI3Q0Q4MkQ1QTA1Mjk3MzQ3MDI0RTRBNEExNDI5QzA5QTg2NzVCQkQKKzhFOUZFMzBEQ0YwQzE3NDNBRjhFMkZDRDk0QzVGRTBDRDg0MTQ4MzM2RDZERTRBMkZFMUI5NDcwQzk5OENEQjEKK0JGMTMzMUFFNTg2Q0FFNkVBNzk1RTA2M0E3RUZDRDVDNTE3QkE0NDZDNzk4Q0FENzIzREQ2MDcxMkY1OUUxMkQKKzlFNDhERUMzQzI4NDYyRUMyNEE3MjBCOEZGNzA2NTYwODUwRjM0RDQ3QUMzNUZERkQyMzIxQ0YwM0U3MENDMDEKK0MxN0E1RkZDMzExQkM0Rjg2RkI4ODQwOTg0QTdDNjMwMURGRTI5REUyN0U2MUQ0RTJBMjFCNDVFOTNDNjdERjYKKzY4NTFERTA1MENFOEVCRERDNjBEODBCM0VDNkVDMTI5QTIzN0YwNzdGMUNBMDMxQjY0QUVBQzI1MTFCRjBDQkUKKzU5NDEzOTkzMDgyNkI5QzA4RTI5NjRBNThGMTM1RUVFNUM0OTE5NEE3NzgwODk0NEZGRjUzQzMzRURGODMxRjAKKzlDNkY4RkQ0OTg2QkY1QjIyQUFDNEYzNjNCNDhCNjBCRkVFMDJGMjg5Mjg2NDM1Q0QwNTU4ODQ3RjlGNzY3MEUKKzcwNzg0NjA0Qjc1QzlCNkVGMzI3QkU1NDdCMjY2MzRENzdBNjVCREVCMDkyNDE4RUMzMjE0ODFDMEU1NEE4QzEKKzUyMDI5NEMxNDQyMkM3OENBMDBBNTZCQjY3RTc1QjhBODJGMkQ2RjBCNDUzNkQ4Rjk4NkFENjc5Qzk4QzRFMjgKKzEyMzNFQ0U2NzY0NUYyODUyRDYzNjA4RjA2NjFGOEU2RjRCNEFFMTlDQTQ0M0Q1OEJCMDIyNEMxNUM3MjUwRjgKKzFFQUIyRTUyQzMzNDgxMUZEOUVCRTBDRTgzRUNFQzgyRkU3NUJBQUUyOTcwQ0ZGOEE0OEQ5NjU3NEE4OUUyNzAKK0VERjMxNzJDMUIxQ0UwNzMwMDVGM0NEOTE0MjgzMTQ5QTZBQkZBMjY5NzlGQTk0MkMwMkRENkQzQjI1REU2MzUKKzYzOEVGNDk1QTczMzA3RTUxRkYwQ0RGMDAyNEU4NzJCMjVBMDBEM0JEQjE5M0UwMjU0N0Q1RDIyQkYwRENDREIKKzk3QzYwRDFGQzdEN0U3MjAyRjNGOEFBRUI0M0E5REQ4Q0RGREU1MjgxOUFEMTUyQzVERUQ0Q0NFNTdGMTdCNzMKKzRCNDlEMzNFNkE5NDk5NUY5RjFCNjVFODZFOEM2MDE1MDI0MTZGRDA3MUU1M0ZBMTExNzAxNEI5QjY5MjYxODMKKzU4QTk0NTEyMTE0RThFNjVBOTNGQ0NCQUMzNDkwNTA2OTE1QTAzMjA5RkVFNDdGOUYzNzVGNzRFRDNCQjZEMTcKKzYxNjlENDk2NTAxMTIxNTY1MTVGOTVBRUYzMEI0MDg4NkY3RTc2OTc3OTIxQTkxQTgxQ0EwMTM1QzQ1RDhGRUMKK0QxODgyQ0UxRkUyRkFEREZFNTFGQzgxQkE1Q0IzQjI1RkNCMUQ2NjkyNUE4M0YwMTQ5MTU0MzFBNkZDOERFN0IKKzY0QkNEQkNGODZBQzYwQjhERUI0NzE1MTNBNzdBN0Q3MDZGOTVCNzgzMUY2Q0Y1NzJCRjU5RDJGRkMxNzQ4N0QKKzRDN0MxRjA3MkJGQzI0NkQyMDVFNURFMDdDRDJDODQ3QjVGOTUyQzlGNEE1NkQ1Rjk5NUJGOUM5ODQwNTlFNkQKK0JGNzYyNzU0MEYxMzg1REVGRDFCMTA5MDRGMzhFODlCMDRBMkExMEFBQUZGRkNERjg0NEI4M0MyRjQyQTk2QTAKK0E5QTU2Q0NFMDNBQ0FFNzY2QUNDREI5NEQ1RThFQjZGMUM2NUFDODlFRUE4N0M4QTEwQjIwNTRDNjJDNzkxMEEKK0FBQ0ZFM0M0NTk4QTAzNEZCRTBFQzkyNjVGRDEyMUEwMzYxMDNGQjVFRUU2QkMzQTc1RjVEQTAzQTRFQ0MzOEEKKzQ3NDY3NDE1QzI2QTMwODYzQ0I2QjU1NERBQjREMzE4NDFFNkVBN0JGM0U4MjUyMTNCMUI4RTkzNzgzMkQyNzEKK0NBMzBDQjM5RDM0OTQ5RDg4QTY1MDVGQUQzNzY3Q0M2MzAxQUZDNjRGM0I3QzczMTQ5NTVENDU3N0QxMDkxQjYKK0QxN0I1QTg2RjZCMDNGRTU5MUVDRTM1MUNDQTMwMUFBMzE4NkU4Q0FGODk3REJGRTYyRkY5RkUyQkVERTUyQkQKKzhCRjkxQTMzMzJFNzA5MTJCNEY0MUVDMjdBNUQ4NDNGNDBGRTZGMkU5RDkxNEIxOUMyQjcxN0NCM0Q3NThGOUQKK0IzODQzNkIyMkVCRTk0RjkzMjM0RjU3QTVDMTBGRDE2MzM4REFERkQ1RTI1MDZGMzZDRDJDNTk3RkE3MUZDRTEKKzZEQUYwN0M1NDNGRjc2NEM2OUZGRERBQ0Y2RTREMzZGQkM0M0IxRDEyRTNENzk0RTdEOENFREUxOUVBNUE4NDAKKzczRDlDMjdDMDgwMkIyNjREQkUwQTg4QkNEQUEyOEZBQTIxNzY4RkM5MTYyRkQ1MjNCQjg4QjMzRDQ3QjgzRDQKK0NERTZFRkEzM0Y5MDhEQzREMDhFRjk5QTY2RDRCRTRGM0IwRURDMDU3MURCRTI0QUFCN0JGRTZFRjYxRUE4MDAKKzYzQTI4RDMxOEY4NzJCRTgxN0JERTYxRkMxODU0N0JBQ0QyRTIwODI2RDMxQjg4N0NCQjAzMkY2MDNEMUE4QjQKKzc0MEM2MzA2ODREN0Q1Mjc3QzEwMjYyMkIwMjFBOTRCQzY3NzhFOTVFRjcyRUZBMTA1NjI5Rjk0MTU4OTkzNkEKKzg2MzdFQjMwNUE0RDJEMzRENEU5MTcyNzQ4N0M0RkQzQUQxQ0Q1NDgzNTI0NTUxMUY5MkM3RDUzMzk3MDZGODIKKzIxNjY2NTI0OTdFNzE1Q0Y5NUMyODU1MDY0ODc5OTU1NkIzQzkzMDg1MzE2NUJGNzUyOUJFRDY4OUJCQ0I0QkIKKzdCRjE3RjYzNkM4NTUwMDE1RTFGNUQxRTlCODRFMDIwRkFFMTYxODhBMEU1RDM1MjE5ODg3OTI1RkRCMzQ1MUMKKzZENzQ4QzdDMDEwMDZGNDhENjE3NDM4MDNDNEFGNDNENTk5Q0NBQjcyQjNCRDNENTRDQTA2Q0JFREVGRTY1ODAKKzZDQ0MwQUQ0ODI1RDMwMEFCNTExQURDQjczRDU5OEQ3MkE2OUJBRTJBQUM2OEU4M0Y2MTU4QjkwQ0VCNjE0MTgKKzkzMTg4MjkyMTU1MTYyMkVBQjUyMTQ1MUE3NzBCOENCMzdBRjk4MDY2Nzk2OTIzQjJEMkRCMDM2MEM4QzUwRUYKKzFDMzhGNTExNjYzQ0M3NDEzOUMzQTczNkM4RDlFMzJDRUJDRDZDNzZDRTdCQTkwQkY5OUY4NDM4RkNBOUFBREUKKzlDMkQzNzY1QTIzM0YzNDA3QUE5MzVDMkIwRTc4RDIwRjUxRjAzRDRBRjk1RkQ5MjY1QTVCNEU4MUE3MEYzNjUKK0Y3RjQxQzFERTYxNjE1MEY3MzE4NzI1QUQwMzVGQjg1QTFDRTJCRTBCQzk4NUFFQzkxQkI3MjlFQTNDNTA2OTYKKzYwNUExRDI3NjkwRTFGOUEwNDRGMDA0NkUzQzA1MTQ1NEFGNDE0RDg0OTkwMjBFRDhDMTI1RTUwMjM1QjJDRkMKKzRFMkQ0MDM3MUIxMTNCM0Y2RjVBNUFCMTFEOTU4NUQ0NTEzOTBBQzg4NkRDNEE2M0YwOUM5OUVFRjg0NDg2MkIKKzM5NEJEREZDMTcwRDVEMkQ1MkYzMzRFMjYwQ0U3RjgyMUE4ODBDMEZGRDcxNzYyQzcwQTBDMTgyMzMxRDA3NEQKKzA1Njc5QkM2QjQ1RDNBRkU0MTAyMDA3RkJCN0U4RURFRURDNjc4QzM1NDUwRTNCNTkxRDlERUM5RTBBREFDQUQKK0JBODNBNUFGREQxNjUyRDRGQUM2ODc5QThEQTREMEM3RjA2RjJDMTVEMTlEQkM5NkVBRkJFRjcyMkZDMDJGMkMKK0FCNUNGQjMxMEU4NEZCMTA0QkRGNkUyRjA5OTE1RUMzQUIxRTM3RjUzRkQ1OUM0RUUyQjU2NjJCMUFBQjg0OUUKKzU1NDQ3MkM2NzVBQzhFRjg0NzAzOTkyM0FBMTYyNEM2QzMyMjg2RTlBNDU4ODc3QzVGQ0VDRjdCNkNBMTU2OEEKK0M5RDQ3RkRDNzcxNTE0MDZEOEY4N0QyQTQwMTc5MDY3RkM3MzhFQzlDRDE2QUZERTI1NTRDOEIwMzZERTQ0RTgKK0UwMjhEMjc0OEM3MEY0NTZDNUE3MkM2OTRBQjU1QzBDOTEyQkQ1MDk3NjY0ODREMDI2QkM2QzlFMDg2Q0I5OEIKK0ZBM0QyRDE5ODUyNzY0NEE1OTEzRjQ4QURFRjE4QzM0QjAyRUMwODUxMzFGRkNCMDM5REE0MDMwMkJENzI1RkIKK0MxNjI0QjI2MjVCN0UzM0JBOERBNTMxOEM5OEJGMDMxRDA4MzYzMTcyQkJENjRGNzExNDczN0Y0MTVGM0MwQjkKKzU5M0E2NjA3Njk5QjI3OTVGM0FGMTUxRjY0NzRDQjEwNjVGNjU1RDRGNjFGNDM1RDZENzM3RDg5QTQ4MTc0RTAKKzQ4OTE2QUQ4RTc0RTlBRjA4NjREMzc4OTY3QjQ0Mzg0RUNGQzk5MkQwN0YzNTI1RkVEOTc3RTEzQzhFMDhCREUKK0U2QzczQTlGQ0MxMTBENTkyNzY5RjIyRkJFM0FEMTZCRkFDNTY2MTJFRUEyMjkxMTMyMTk3MTMyRUZFNEY4RjgKKzAxNTNDMjM0MjJCRDkxM0I5RUFGMEE0ODgxQkEyMkU2REIxNDhDNzEyMEIzMTAwMzIxODgwQjg5MzhFQzEzMjcKKzIwQjREOERGMDQ2QjA3MjRDOTgwNTY5MjIyQkYwOERFRDA4OEQzOUU2MTNBMENEQkM2MDY5QjBEM0Q4NzgyQ0YKKzEzODNBQzE0NDU1OTg1QTZEMjZFNzY4NkJGNkNBMzlCODdDRDE1NDA1RDc4M0E5NUJDNDYyRkUyMUQxNEJENjEKKzRBN0FBRjA1QUNBMENERDA3OUU0Nzc2RDQ4QjZBNUZEMEQ2RTZEQjE1OUYwOTM1OEI5M0NENUU5ODI4Njk4MkMKKzFEQkExOEE2MUQ4QkFGRTkzM0Y5NEQ4ODM1RTI5N0I4ODY1ODU3MjRGNDYwQTQ3MjRDNzA2RTkwQjZCNEE5MzgKKzMwQTE1NTQ1MzZBMkE2RkJDQkU2MTQ1MTM2QTAxRUUwNTEyNThCM0QyQ0FBMEJFOUZBNUQ4NzYxN0VBRjVCODEKKzQ5ODlEMDEwMEQxREYxNDc1RDE5NTkxRDQ5NjJGMjY5Nzg4NDg0ODMzRDQyOTdCNUI0QUZCNTZFMjFBQTdFQ0UKKzY4RkNEMTM3RkI4ODhGRTkwOEVDQ0JCQTQyMTgwMjZDMEVFNTJFRTA0NkNEMTEzQjUxODVGMDkzQkZBRTdGMTEKKzk2NDA2OEIxRUM5OTgxMzY2MTZDNjlGRjE3MjgyOUExQjI0NTcxQkI1QjZDNkMzQTlDNDY4M0ZDOTk5MDBGNjkKK0FEODM5Rjk3MkU0MzE4QjVERDNGMTg5RjFGN0EyMTczRjhENEZGNjBDODE4NDc3OTJFQ0QyRDI2MjIyQ0I0NzkKKzE1QTZCMEZCNTYwNjg0Q0YyMTI5ODc5MDAyMDE5QTkxMjJFREU5RTQ4NzkxOTRBRTVBMzYzRDkxRTdBRkEzM0QKKzA3QURGNzJFNUMwQjJCMTM0OTY1OTE2NjJFMUQxNEMwQjFFQjE2MjhFNTlENzc1NEUxNENGMjhEQzE4RDIyNjkKK0ZDOTk2OTdCMTk3NkFDQ0NDNzdBOEU2RkNFNDRDRDkxQjRGMTEwNTVGQjQ3MzVEOUEyNDQ5QzNEMjlDRkNCMDUKKzk1RTlGMDhEMEQzNTlDRjQ1NEMyNUM2NDI0OEFCMUFEMDhENzFCNDUyNjczNDQ4MjE0QTRBQUE3ODc2MjNFNkEKK0ZFNTcxNDNBNTU3RkJGRENGQkM2RkY4RDY5Mzk3MjVCNTkwMzFCMUMxMjBBQTdFQTA1RkVGODEyM0U4Q0ZDNzAKKzZFNEM2RjIwRUI2ODAxNEREQUMzREQ1RThERjAyQzEzMUMyNjEzOUQxMjY2RUE1RTUwODJDMDdFMTg4MzIxNkQKK0QyM0FENUM4NDBGMDQ0NjVBMTJERTkyOUJERTY5MTkzMDYyRTgxNEQ5M0Q2ODFBRjY3RDUwRDJCN0IxRUMxNzUKKzI3QUYxN0Y4RjUzOEQwOUFGRUUyRUUxQTM5NEE2QTZFOERBMDU3Qzc0Qjg0MkQ5QTc1QkFDMkI2NDJDRDdCOTMKKzgzQ0VDMkQ3OUVEMDAwMTZENDhDREE4NDVGMUE4MDA2MjYyMzlDOTE5MzEzOTA2QjVBN0QxRTAxNkYyNkQxQzMKKzU0M0E2N0FBQjY5OEUyMUNGNDVDNjVBQUJDMkRFQzYxQ0I3OEVGQzhGQkJFRDdEMUI3RDFGRjQ3RkQ1QjVFRjgKKzFENDVERjY1QzY5RUQxNDg1ODU5RTAyOURCQUIyMzNBOTNFOUNDODZCRDE1MDlBRkJEM0Y0RDA5NjU1RDA3RUUKKzJGRUI2MTRDMjhBN0ZGNzJCNEIxOEIzOEZBQjIxN0VGNEY1OTYyN0I3RTJFRUVDMEFBMkQ5NzM5RENERTUwNjIKKzY2RTRDRDQ5NDU2RDExMUFFRjM1QUMxMUFCMTg0M0E1QTZFMjM0M0QxMTFBMkYwMzk1NTRDMTk1RkNBMThCNEQKKzZFQjVBODY5RTA2RDA0NkNBRTM3ODRERUJCNDU1QzA3MjExMjU3QzE3NEEyOEI5QTAxQThGMDc4N0E0MjhCQzMKK0IxODI3RjFDRDg2RTlDOUYyMjc5QjZFQUM5QkEwN0NGQjU1OTg4RjY2MjJFRTY4QjlFODMyQzQwN0ZGNkQzQjUKKzA0OTczQTRFRjEzRTU0MzFGMDYxNDhDRkVGRjVCM0EzMUQ5OEE4MkQ4OTcyOTA3QzY1NTdBMzNCREQyMEQwNTMKK0M5NjdEQzMzOTlFNEY1RDYxNDM5ODY5QUZBMUIyOTM3MzdGODc3RkM0QjU0NEJGNjFBRjQ4MkNCN0ZDMUMxQjAKKzk3ODAxODBFQjhDQUQ3RjA3RUY5NTkxOUI0QzQ0QjQzNjgxRkNBN0UwODE4MjA1NDUwREJFNDYxNENGMERDMzkKKzI4QTMwM0U0REI4MkMzQzIyODlDRDMzMjMzNDBGQTVCMjA4NkUzNERDQjc0QzRGNERDRjQxQUVBNDk0M0FBNDgKKzhBNjRERDkxRkU3MTAyQkY0RTQwQTQzRkNEMzYwQzNCMEM1MTAzQkRDNTU1MTkzRkMwQUEyMDlEOTgwNjk1NUEKKzVGODlCOTJBOEFDM0FCOUFCM0YwMzYzNzhCMjYxOTdDNTYyMjNFNjg4NkQwRjcxM0FFNUNDMzJDNzFFNEIxQTEKK0Q1QkNGNTNBOTIxM0RGN0IzQzAxOThDRTBERTgxOUZGRUVGMjUwMTMyMTUwRUI3OEQ2MUNDMTgzOUY5RTQ2NjAKKzJCRjdFODhDMDcyRjZCOUUyRkVDRUY4MkEyNEY5NTlCM0QzN0EzRTc3RkFGNTkyRTEwMDhFOEY1RjE5RUI5QTIKKzQ3MzVFOEY2NDM0M0UyQ0Q2OUMyOThBNkE5MzE4QzA5RTgyNDIzNDBCQkNCRkE4MUE4Mzk1OENERkZFMzkxNDYKKzM5QTE0M0IxRjVFMzI0N0Q1MEVFRURCMThBQUIwM0E1ODRFRTAwRDQ3MEU1OUU0MzI5NTVFQTQ4NEM3Njk0MkIKK0M0OTY4QzAyM0ExMTQzREM2NkQ3RkRERENFMzFFOTlGNDFCOTY5RjZENDQ3OUI4MDlEM0M5NDY0OTc5Mjc1QzgKK0VFQTQ2MjkwOTU2RTczNTlGMDkxQkQ4NzZGQjFFRjUzMjkwNDg4ODNBOUYzQzBGRUY3NjhGNDAyMTczQ0E1QTYKKzMwRDdBNUQ1N0QwNUE0QTg4MjQ3MDJFNzZBQTVGNUQwMDNBNzhFMTMzQ0ZGRDQyRDk5RjZGMDIwODJFMzNEOEEKKzkwQzc0Mzc2MDREQzM5MDAwNTZGQkY4RjVGMUFBQjM4NTNDNTU0Qjg3MzZBQkUwMUZGQjFFNUJENTc1RjlEMzAKK0MzNkY1RTExREVGRTA5RTBBNTYxRkZCRkIzRTlGMEU2MzVENzVENTQ1MjQ2REE3RDhGNTBDQ0VEOEJBRDkyRDcKKzBGREYxODFGQjNEQTRGRTUzOUFCREQ4RkMzNTc5NDkwQTg3QjY3NEI4OEVEQzg2RDJGNkQzOUNBRjMzQUExOTcKKzFEQjFFNTIyMUIwNTZCNTQ0NUMyRkE2NDQ3MjQzNDc0QjFFQjc5QTRCMDNCMTM2RDQ4NUFCNEE2Mjk3NEYwQ0UKKzAxQzY1QjdDRjIxMEQxQTlERTIxODQ5QTkyNTU5NjA2OTIwNjg0MDc2MzVBMjNBN0IwRjAyNjVBRERGREUxNzcKKzA5N0MxRjNCRDFERDFENkZBQ0I3Q0RGMTEwQkZERTBCMjk2MzI2OUJEMzFFMUE0MzU4RTQ2MjZBOUQzQzg1NjMKKzNENDRGOTE5NkQ1NjdFRDcyNTM5QzBCNzUwREREQ0U3ODBFMTRFQTNCNjgzQ0MwOThENDY0RTRBNzU3RENBOTEKK0E3MDE0ODUxRDg1OTYyODVDREY1MjY0NjE0NkRENURGNjc5RkY4MTM1OURFOTc5RDMzREY0OTFGMzY2MkM4N0MKKzQ2OUNBNzI5MzVBNEMzRUI3MUEyOTlCQ0Y2RTFCM0YxNzMxMzBGODY4NTlBNkY2RjQ2OUIwQkYzQUY3RDJFNzMKKzA2MzBBQTE5NzNDQzU2NEZCRkUwQzc1MkZFRDUxODE2M0U1Q0JGN0M5Q0REMjJERUZFRDUxNjE5ODM4MTM2RUMKKzE3NEQ1MDNFQ0FCMjMyMzk3MUQ2OEEzODUzODE4Q0U1N0E3N0VFMjQ2OEZFNUM3MjczQzc3QjI5MzE1RDk4QUQKKzhFMDc0MkRDOTE4ODk4RjJGNTUxQ0YzODFGMTYyMTg2Rjg3QkNBM0M2RERFNzQzOEUxQjA2QTQ2MDlGRDNCQzkKKzJERkE3ODgwMjIzMDlBRUQxMDI4MUQ0Q0IzQTcxQTE1OTVCRTdEQzEzODYyNDBEOTVENzI5RTI1MTAyMEIzNTYKKzUxMUQ1Q0FGRDg0N0FGRkVGQkQ3OTg2MkJBMTlEQzRDNzk1MTk3MEMwQzlFRDQ0QUJBMDJBNjhGRjVDQ0MyNDYKKzEzQkQ0NTFFN0M1OTEzQzVERTBDNTIzNjEyRTI3RkM5MjNDNzRCRkQ1Njc3RUVBNjQ1N0IwMkUwNDQ0QTA0QzgKKzNGQjI2RTIyNDcxM0YyQUFBM0VBM0I1RkM1MEEzNkVBREJFM0FCMDc3N0Q4OEMxNTFGOEM3NTAzRDIwQUJDMTEKKzBDQkYwM0MzOUM5N0RGN0U0M0RFNTUxRDlFMDQxRUVBOUM4NkFGRDM1MThGOUU5QThDMkFCNTcwRTUzMUQ3NUUKK0FGNTlCREU5NzgwOTE5RTY0REY4MUFDMjRFREFGOTFEQzQ3RUJFQUZCQjVCQkE1N0Q1ODAwRDgwMUMxMTY0MzcKK0M2M0M3QThERTg0NzgyMzk0QjRDQjY5OUEzQTBCMEUzNzk4MzI0RTFGQ0E1MjJGNTg1NEFCQzgzQjBENEI0MTgKKzRENDA4QTBCMUI5MDBFODYwMkEzRUY2RDlFRTNCQkEzREQ4NzZBRkQyNUY2OTUxM0ZCRTVCRDUxQjQwMTg2NEEKKzc2MjU1QTVFNjRBRjJCMjhCM0IzRDEzODA2OUQ1OTA2RkQzMzQ4M0FBNjJEM0ZBMkExNzQ3QUQ0NDRDNTVBNzYKKzkzRkQxOTg1NEU2ODRBNTg0QzgyMkY0QTlEMkM5Nzk5RTgzMjMwRTg3NzRDMEE1OTQyODA2RjM3MzhBRDE0MjUKK0MwNTVDQkYzNjRBNkVCM0Q0NzAxMjM4OUZFNDMwRENGQTM0NDBGODQ1MDBFMzU4NDNDQ0JGRjg2MERFMURDNjYKKzhGMzI5NDM1NjhBMDc2N0EzOTg5QUNERTNGQ0JFNzBCMEEyRjU5MDEyRTY3N0E1NDUzQURCMjU4RUM4MTY5QUMKK0JBNDg5MjczMjg0RjAzQTY4NzVDQzQ1N0M1NzE3QTk3RDdCOTQ1Q0RBMTY3MEFEQkJDNUQzRkQ2MjJFRjQ4M0MKKzk5Q0I3NzE3MTkwQjUxOTA0MDhEQjczRTQ4OEZDRUQ2NTUxOEU4Q0EzRUJCQUI0MzQ0OURCNUY1NzgxMEI0RkUKKzY2OTVGOTQwOTI2REUxNjQ4MDgzMUU4RTREQUQ2NTA3NEQ5ODlDNzcyRTFBMTQzNTQ3MjAwQjczM0YzQ0E4NEUKK0E5RURDNTFBMDc0MDkyQUI0OTYzNDY2ODA2RUE5MUUzNEVFNDQzOUQyQzhGMUFDOURDM0IzMUFDMDRGOTQ2NDEKK0QwNTNDNEIyNjVDMzM4N0JDNzE4QjM2M0MyQkJDNkM2RjI4NDkzNUZEOUM3RkQ3QkExNEEzMkIyQzJBRjFFNEIKKzM3MzlBMjI1N0M2MEI1REQzNzE1RTk5QjBFQzg3ODQ0MkVDNjMwNTIyNEYwOTE1OEI5NDc2NzBBRkI3NDU5N0EKKzUyMjQxODlCNDAzQkE4MUJFNDQwNDkwMEJBNTIyRTRFNzhBRkQ3OUY5NkU1RjY1NDk3MTFENDE3QUUwNTM0MkQKKzZCRTNBMUZFMEJBMUYxNjMzMzkxRENCNkU3OThEMTRBMTkwQzY1ODgxNjFBRTgyQjEwMUY3N0M5NzMzMTAyNTIKK0U5MENCRkEzNTRDODlCMUQ4MTZCRjEzNzBGOTM0NTgzNEEwNUVGQjIxRThDNTJERUQ4NkJCNjlFRkQzQzM3NjQKK0RCRTM0QTU3MTYwMkYwNTUzODQwMEU0QkRBMkFGN0NBOEI1MEMyOEFGQzgyMUIyNTFCOUVCNUMzRjQxODM4MzYKK0YyN0NCQkMzNzg2MjFBMjQ0REQ4MkJFQzk4MUE2RDFBMTMyRUE4NzBBMDlDM0FFNjYxQjBFRTE0NUMyQUNEQ0QKKzMxN0I4QjBDQ0FBRkVBRTBBREEyQTc3NzM1OTE3MDE4M0M5QTY5RTBDRDYyOUMxN0EwRjg0QjNDMzJCMzg2MkUKKzJENEMzMTNCOUE2MTkzNUY1N0Y0RjkzRDUyOTI4ODAwNzlFNjA3MTY4MkU4MEQ5QTg3REFENkM2MDlEOUQxNDEKKzE0ODc5QjhDQThBNzQ0OUQwNEZDQTY4NkQ0NDY5NkZEODMzMUI5RTZFRTZDMkI1OUI5NTBERTY2Mzk2NEJDREEKKzc0QkZBREE1ODU2MDE4MTlDMDZGRTFGQTNDMDk4RjkyRTk2QUVFNEZBNkYwNjAwNzE4QjEyN0QyMjAzMTk3NTAKK0VBQ0UzOERDQUM0QUEyQ0ZBMUU1QkI5MDRGNEJFNzU3QzY4NTgzRjg3NTQyNjQzNDgxOTYzMTg4MkY3NUZBMzUKKzYyQTYyQUFDQkRCRTdBQjQxMjYxQjY4QjFBNTUzQzkzODAxNzIzNzQ3QTkwRDcxNzY0REFGOEZCN0ZFQ0REQ0UKKzc1NDhENTE2N0QzQUQyQ0Y4OUE0NTA0RUU3NDU0RjNCRjJBOEE2Rjg5NThBRURGMjU3MjlDNjFBMzg4NzBDN0EKKzA5OEQwRjQxQTc3RTRDNTQzMkM0RkY1NkU2Qzk2QkIzNEJFOTI3NjcyN0M2M0ZFOUI0MjQ2QTQxQzYxNEZCODkKKzIyM0NBNDZBMzI0REM1MkZEQzcxODZCNDY4NzcxRjRGNzAzM0I3MDIyNjBDRkZBQ0ZGRjU5Q0E3RjYyNTNDQzEKKzczNDRBMkE0QTg4NUM1QTUwOTBGMTRFRTE4RUJCRUM2OUVDMjREODA5QUFBOTIzRkQ5QzFCMzg2RjlBNjQ1MzAKK0M2Mzc5RTQ0QUY0ODI0RDEzRDRGOTQ3MDk0REQzQkUyNEZCQzdENzkwRTZCRDBGMUE2QjNBRTYzQjM1MkQ4M0YKK0NENzg5RkZERTE5NjU2MDA1MzVCNjFEOTFDNEMyQzQ0RTVFRDA1MTcxNUQzOTAwOTI5RkE0QzEzQzc5Mjc2MUYKKzQ0OEU5QjAwRTU5MTg0MTgyMzk4REZDNTIzRTk5MEEyNDMyRjZDNzdGMDVDN0ExQ0Y3RjI0RTdFNUVCMTA3OEEKKzk3NjlENTNFRDU4RjU1MjNDNkZDMjU0NDE2ODJERTNBOTFCMEIxNEFDNkNGRkQyQ0YxRUNDNjI2NDI0OUIxNEYKKzlGMUI5NjgyRTJBMjFFMkE2MDcwRkNBNjNBRjYyRTIzODFBQTVGNDE4MEFBQURBM0U3NzU4OTE2ODBGM0JCQTkKKzU1Q0JCNjJDN0U4MDEwOEEzNDhBQjJGOTlCNjY0QTk2NjcxODMxNTlEQ0UzRkMwOEREQkNGRTYyNTUyOEFENTQKKzlFM0NGNzcwQ0IxM0QwNUU0Rjk0MjRGMzhGRTM1MDc0Q0UwMjRCMkFBQkEyOTYzQTU1NjVDNzBFNjU3OUVERkEKK0E5REE3OUM1RTlDNjc4Q0Q5RDk4OEUwRUU1OERFRkUzRDY5NTk2NzVBMDA0QTIzNkM0MDc0QjA0NTI3NjQ2MzIKK0Y2RTVBMThEREYzOTQyQkYwMzhDRjBBMkFDOUFFRjk4QTZFRTZDRTVGMkRFQkUyNjIxOEQyMTA1QTM4MDc1MDgKKzVEQjE5OURBODM4MUU1NkU1MkZGOENGNzc2QTg4RERFQjkzMTJCREQwN0I2QUIwM0VDOUUzNTg3NkRCM0FBQ0EKKzlDRkZCQTQwQ0Q0MjZGRUZCNjk5MkM4OUZFNEJFQkQ4MDY4MUExRTAxNzAxQTNEREJDQjg1RTMwRDc0MDVGODYKKzIxRDFENUVEMjFDQjFGNTU5MDk2RTI4NzQ1NzIyMjFCOTVGRTM1MjhGNjU3MUU0NkQxMkE4OUREMzQ3Q0E5NzYKK0YwRTBCQ0QxNTJBRUI4NjBGNTM3MDc0NjFBNTBBNEEyRjBENUJEMzg0QjQ0QzQxMjJGQ0Y1NDRDMzc2M0E4RDUKK0Q5Nzg4NDIwMzRCNUIwODNEMkMwMkZCQzRBQTg5N0JBOTBCQzJEQ0Q0MDhCNzdCMEQxNEU5QkM0RjUyRTFGMDEKK0M1QzhCRTQxRUJCQTg3OTY5REJEMUM0OEU2OUMwNzE1QzY1QTk1NDYwM0JBNjlDRDQyM0I2NDFGQkU0M0U4NTkKKzJEODAyNDQyOUQxOTE4MkNBODc2NzBCMkJEOEYwNDg4RkI2OEI0NTNERjVCNTJEQTEwQTI0Mzc1MjhGRDU1RjkKKzk0Qzg2ODA4OEM2MTU4NkUwOUNDQTlDQzI0QjcyNjlGRDMzMEI2OTExMkExNjc3NkEwODQ5MUU2NTNERTdBMTMKKzUwQUIxNEUzRTZBQkU5QURBRDdCNzYwMTY3NkFCMEFBODhDMDYwM0MxQ0Y2RTA3QjFERTdBQkI2QUNGRTk0OEIKK0UxQjlEQTkyMzdGOUM0MUI0OEY1RjA3MDhBMEYzRTg1RjBBMTJGMTM2OUFFREUzOEVEMTJGM0ZDQjAyMjM4RTkKKzJCNjc0RTk5NUE3REZCNDQ0NTlBRTA5NzAyQkEwRUM3MDczNzIxMzU5NEYwREMxQTVENEE5RTg0MUJFNUQ5ODUKKzVDNDJGNUE5RDVFMjVDQkY4NTc3MUQwQzZEMTRGOTM0QUM1RDM2MjJFRUEzNDE5RDM2MkFDMDNGRjk3MzcxNUQKK0E4MkY1NEU4MUQ5QTJERUE2RDUwNDdEQzQ3MDZCNzFGNUI4OTI5QzdEMTFCRkRGMUVEQjVCNDU3NEI4Q0ZFRkYKK0E2MTlCMDFFMEI3MzgzMEYzQjI0MURBNDJCOEVFMDIyQjYzOTE2NUMyNjQ0NUIxMTcyRDhGNjI1RTI0Q0NCRjIKK0Y4NkUyMTcwRUU5NkVCMUIwQ0ExMDIwMEUzOTNEQzQwMkRBNjAyNDE1QTE1MDUyOUMyMDIyRjlDNDM5OEFENTgKKzFCRUM1QUFCNEEzRDE4QzU0RThEQjlERTJBQzA4OUMwNjZDQUY5ODhGQjA5M0VFRTMwM0ZDOTlEMTJFMzU1RUQKK0VBRkZBOTBGMDQyNkNGRTI1QTY5MDcwRkJDNzM3NjIxNEIzQThBM0ZDNjBFNTYwMDA5QTIxNTlCMDdDQUE5MDkKKzhERjAyMkM4OTFGNTRDMkRFRDEzOTFBRkZFODk0QkM5OTBCMjhFQjk0QTdFQUI4NzA3OTlFNkQwOTgwOTc0QzcKKzk5REFGOUYxNDY0QjRGMzYwM0UzMzgyRjE5NURFRDlCNzhFQjA4NzAwNTQ2NTA5RjczMEUyQzAxNkFGMTkwODgKKzI4OTk5OEIyNzFCNjk0NjhGNjMxOUFDNTVEN0JGMjE4Q0E0MDdCRUY2MDM2NkNFNjk0QTRERkM5RTNDQ0M1QkQKKzlGMzBGMTQxMjNCMUU3Q0RCNTAzNDRDNDU3MDhFNjAwQTA4Qjg2QTg4QUYzRUE2N0Q4NUM5QzE5RDlBRTMxODkKKzJCMzM3M0UzQUEyODZEOEY0QzQ4MTkzMDkyMDgwNTgwMkJGQzhFNTE2OTZDRDgyMzgzNjUzREFDQzc5NENCOEIKK0YxMTU4NTE1OTdFREYzNzgyN0VBMzhCOTQ2NTdFOUM3MDMwQ0ExQzQ2RDIzOEExODFCM0VERThBMzIxN0NDRTgKKzUxOUM1RDBGNzRDREJBN0RFMUMwRjJENDdBRDk4RkY1QjFBQkY2OTVDRkQxQ0FEMTkwMkJENDdGOURFOUVCNUEKK0VCMTkwQzUyNUU4MzAyMENDMjQ4MzBGNTJFRDQwREQzRDVEOTU3OUUzQ0MwMjg2NzkxOEJDNUI2MEM2Q0M2OEYKK0JGMkREQTI3RjE3RkJGODRCRjdDNEREOTc4Q0FCRTJDMzA5MkY2QzlFMjAxQjMxNTc4RkFDM0Q5NjU1RDgwODEKK0ZEOEJEOUI5NzdERkQ5NUZEMTg4N0FFMDI0RTdGRDkyMDJEMzY2MkI1Qzc1NzYwQTRFNzBCMDhEQTZDOTUwMDYKK0U3Rjc2ODlENjZEQzg3NDU2OEIwRkJGOThCNkM0RTVDQkZBOTZDMzA2QjdFRUVGRUIwQTBENUQ5NkE4NDcyRTUKKzBGNjQ5QTZDNjFDQUQwRDkwRDQ2Qzg0NzA4MUU0OTZGNEQ1MjNENDcxQUY3M0I4MkNDNkQ3NDRDOUEyNzQzMjgKKzc5NjlGNjZFRTQwMDJDM0I4MkI1QUNFQkZBRkNEQ0I3N0ZBODA2MkE3NDI5NzRDMjdENEE0QUEzN0MzQjg5QjAKKzEyRThCNjgxNEM0MTc3NkE0MTY1MkE2NUQ2NDY0QzhFQ0FGMEZBNDJBMjhBQkI5RTg0ODQxRDVEOUIzMzQyNDUKKzIyRUIyQjgzNUEwMDIwMzhCNTEyQzYzM0JDMjBEN0JGNTlDNDcyNTA5NEEzOENEMTFFRUM1OUE0NjA1RDFDRkMKK0U5REE5MjU0OTEwQUE5NTFENDdBNzEwOEVEQUFFODM4M0I1MTA1OUEwQkY2MzU3RjY5OEMyMUQ5QTQ3MzA0NEIKKzc4MjhGQjVCRjA1REIwNDM1Q0IzNzg0MEJCQ0FBMzY4RDA3Q0Y0NEFERDM4M0U1MjE3MzFBMzAwQ0VERTJGMkMKK0IxMDg2NDNENTQ4MzMxODUwRjUxNDY0RThBRTVEMjU3RUY1M0Q1MTUxNkZCNEM0QzQxNzZBNkQ5QTJGNDZEQjAKKzcwQjEwMzYwQThERDg3MEMwQjY1NEQxMDAyQjhFMjVDOUQzOURCNUFCMzRGNEQwODU3RDk4MDk5OUU1RUQ0RDEKKzVBMzNDQjk3NDE0RTM5QkE5NEE5Nzk5NDEyQ0E2RTA4QkFEREQ1RjMzQzMzQTdCQkYzOEI5MUY2RTU5QjRDNTIKKzI1RTgxMTVBMDhFQ0NDNUY1NEVFNEJBOTI5NjJBMTI0MDI0MzNFRjEyQ0YzRkY5MEQ1MERBODkzOUI1MEMxRUQKKzZDRkQ0OEZFODZCMDZFQzE1NDQzQjI1N0U1Mzc3QkFDRjNCQTc5QzFDOTA2ODhCNTRBQTlENEE1NkIwQ0FDOEUKK0RGRkJBMjQyMDg0REQ4NzUzNEZBMjFFMDE3NEU0RDM0MkRCRjNFNEE0NEMxOEU2Qzk3NkU1MTY0REI3NDk1MjgKKzE0RjU5OENGRjY0MEE0REU3RDU3MTYzRjE4NzE0RDM1Q0M5QTEwRDcyNzE4NzA5N0EwQTZGNDI3MjFENzgyMTMKK0YxQkZGRTk1MEQ1NTA1RDk0MjdDOUQ3RTE5RDk5RDIzMTAwMUQyQkE4NTY5RThFNDlDREJEODJGQzBFMzU4QUYKK0E0QURGMEVGMjcyOEQyODlGRTRBNUY0RjhENkI4QUMzOERDM0ZBRTk4NTAwNUVDMzk2NDQ0Q0FBNzU4Mjg0M0UKK0I3RUE2MTk5OTM3NThCNzE3NEYzOTE1NUU0QTBDMzYxMjI3MjkyMDVDMDk0NzQwOTRGOEU1RTQ4MzQxRjgzNjgKKzcwMkU3QTg1MjU4MDUyRjAyNjBCMUE0RjdFMzZENjc5RTEzRTI4RkIwREU4NzI3NUE5MkRGNzI1ODVDMUFBQTAKKzc3MkVEOTkyRTZGNDlGM0IzOTIwODU1ODZEREQ4N0U2QkUxNjY1NkM2NzNFRDVFMTM0RTE3NTAxMTQ0RDg0QzcKK0I2NjEwMDU4MjlCMjEyRUI1M0EwN0Y3NTkwMTk2QjIxN0JEMDk3OTE0RTk1NUM1RDgxRjlCNjk0NEFDODM3MTYKK0UxMEEyODY4MjM0QTREQUU0MDIwNTREMzg0QkMwMEVDQzNDOERCOTVBNDQzQTQyMTFBMTI1NzUxREI0MEEyODMKK0NCM0ZFNjEyNUNDNjA5QTk3QzVGQTYzMTIxM0FFMUNBRkVGQUY0MTE4MjQ1OUUxM0U5N0E0REExODZENjEzQzQKKzA4RUNCQkI5RTZBNDA4MDk4ODMyNjZFRjZFNjhCMDc5MzUyNDU4MjNGMzU4QzQyMzVDNDQ2Qzc1MEE4MDc0NkUKKzhCMTU2QjZEOTVCNjM2NzAwQUU5RkY0NDcwNEFFMkRFRUY4NDYzMjgyQjE3MTQyM0YyNEI5MjE4NzRDOUZEODEKKzVFNjkwNUI2MjY2RUVFOEVGQ0Q1MTY0RDg5ODVFMkVBODREREIwNjM3QjA5Qjk1QjYxQTk0QUZENTg5OUIyNkIKKzkxN0Y3OTg0QTdCNjIwNkQyODU5QjQwMjRFODBDNzFCNDdGQTg2MkY2RjY0OEM0NDRDODkyMEZCOEE2RDZGNjgKKzVGMURGNEIyOEE4RjdCMzI1M0M5RkY5N0Q3Njc2RkQ2OTRGQjQyMDQ1NDA0MUQ0MjQ5QUJFRTY4NTI3NjExN0UKKzVGNTlDODUzMDc4RTZDMURGMkM1NEI5REI1MzI0MjgxRjQxQUM2MTA2RkE3MjQ2QzJCRjU0MERFMjVCRTRFMzYKK0UyNTcyQUVBMEE5OTNGNTdFQzhBMTlFN0U3OEE3QjhGRjY2MjhGRTg5ODE4NDc2MzQ0MEM4QjUyRjhBODIxNEIKK0MxRjY3RDNERDJGNjNDNjBEQjAxMTEwQTk5OEE5OTM3MkY2M0RFQjEwMDJBQTZGODg1RjM1NkIwQ0M4Q0Y2RDcKKzIwOEZFOEI4NTg2QjAzQzc2MEYyNkMzMDBDQ0Q4MjgxMUQ3MUMzODVGQUUxRkM0NzcwMDI3QjI5OTRCQ0RCNEEKKzg4RURFQUM5MzhFNEIzMTQ0REJCRjlBOTIxQTQyOTgyNEFBREM3RDFENzFFRDM5NDc3NjNGOTdFNUIyMjczMzYKK0UwRDVDMzEwOEVBMjYwREU1MjM3QjYzMjQ1MjczNzNCMDkzNzg3MzU4NkJFMUU0MDhCMjMyNjk4MTI0MkVDODIKKzI0N0FDQkY4MTY5QjVGQUM4RDU5Q0I4Mzc3ODU4QTQ0NDU4MjgwODUyRkVBODQyMEIzQTdDNkU5NzVENUEwREUKK0Y4NzFEQkVFQzE5REY2NTYwQUQ2NzYwQzBDNjkzODhDNDkxMEJGNzlGM0NFOUI4REJBNTY0MzFFRTNGNjAwOTcKK0JENzgyQTAxQ0YyRERFODY2NjJEODc4QTVENUYzMzJCQUVCNkMyODY2MTI5MTIwRjA4QTdERkZCQ0I5MDg0NzUKK0E2QjgyN0RCMzMxNTBBOEEyRkE4QzhDOTQyQzBFNUYyNkE2Q0I4MEQxOTQ0QzYzMEM0MjE2NDRENkJFQUUzQTEKK0RDNzg1OTYwODNGOEUwRkQyNEVBQkQ4M0UyRUZBOTFBMkZGQzVBMzFGNzc1NkFERkVDNDZGNjE0OUY3ODQzQjgKKzFDRkZGRUZDMUEzNjI0RjQxNkIwQUU5RTY1NDk2NDU1ODI1QjUzQzJBQkExQ0JEMjgxOEM5RjYwRURGNkFCNjQKKzY3MUE4N0I1QjkwODI2MEU0NDExMEMzODg0MUEzQzJDNDcwMzJDQTkxQjkwNDg5NTA2M0RCNkYxRURGQjBCQTQKKzVEMjhBNEQzRjhFMTgyOEJDNDQwOUJGRjVBQ0Q1RTBEODlDRUU4QTI0MThERTA1NDQ5OEU4RDFDODIwODFFNTgKK0U1MzY1Qzk5OTNFMTBFRjI1MEE2NDRBNDM2NUUzNEMwRTk0QkVEOEE2MzhGMzI4MTQwNEE4Mjc1QUU3MjM3RjYKKzE0QUVBRUZENkFGQTA2NjBEMTQyOEZFN0Y2NDQzRjQ2ODZDQTdDQjBGNDgwMjNEM0QxNjUxNThBMkEzMjM4Q0MKKzBEMzE4QjIwNDIyMDlCNjUyMkE3RjQyQkQ0RjY3RkJBQkU3NkQzNDA5RkFBRTJCMTZDMjdDNUZDNERDM0QyQjQKK0REMTU0OTc2NTkyMzVEMUEyNjRGNTBCOTEyQTEzRjQzNjM3MzUwRkJDRDNCRUFDQTVEM0NGNjIyNjBGNDQ3MzMKKzQ4QTRDNEZEMjg1OTY3QUM2MEE0OUVBNUZBOEUyNTNDMDA5QTExNjZDOEU0MDJGODNGNUU2QTQ2MDAxOEZCQkUKKzMyQ0VBOTQzQjk4NzFEOUE0NTU5QTZFRTc3NkU0NkM2RkRBNDY5MjE2OUY1Q0RDRDk0NTg4MTNDNkMzMjY4OUYKK0FBODUzRjExQUM4OTgyOEUwRkZEQUY3RDhCRjI1RDlGQTlGOTAwRDU1NENBN0IyMDk1QjVGODk2ODhBNUE2QkMKK0IzOTUwOEUwRDk2QzhFMzNBMzg5NEE1RTAwRTBBOTcwMDdCMDhDNjRFMUExNEQwODBGM0UyNTk0QTVBMDI5RTQKKzMwNUVDMzc5MEIxQ0FDQzU5MjY0NDAzNUMyMjc5MjI2RUM0MjI3RThEQ0EzQjE1NDg4MTczQ0U1MjMxMjIxRTQKK0E2REZBMEZFOEJGMzkxMjg0MzQzMkNDMDgxQUExMzk2ODc0MDk5MzMyREUxNTA0MDJBQTIxRDFEQkEwNTY1NDgKK0Y2RkIzRTk2NDg4QkQwN0REQjg4MTM2NTNCNjdDOUQ0Q0Y2N0U1Q0Q4MEMwMEVGNzBCQTczODQ2MEFBQzI1NUUKK0EwQUU4NDZCMDRDNTlBNTYwMDlFQjlDQzFBMkYwMDQwQzIwQ0RGRUMyRkY4QUExMjQ1REYxNEQ3NEM3MUI3NjkKKzU3MkExNUY1QThFNjI3RUJFNUM4MDgxQkY2Qjc3RTI1MTM0MEMzMEVEREYzMjA3Qzc5MjNCN0M3MEZDMDA5MjcKK0FCNEYyNkJBQkI3M0ZERkI3QkI4MDAyRjk2RjFCMTRDODI1OUExQTVDRjFERTBFRkNDRjcxMUI5M0IxQUJDNTEKK0E5MkUxMUUzQjQzNDUwQjcyNTJFM0ZFQjM0OTFCMzZDMThDMzVGNUQ4RkRERjM1RDBEMjlBNkFBRDg0NEI0QjAKK0E5NDA3OUMwMURDNzEzOUM1MjZERUNERThGMzA3RkI4Njg3QkZCNDg0RTIxQTlEOTdGQkEzNUJGQjVCODU5MjcKK0JFQTExNEI3Q0QzOUM4RkEzMTNBQThBQjQ5OTVDNDk2REMzOTA5RTQ1QUJEQTcxMTI2QzU2NDlDMUQ4RUQ0OUMKK0M5OUE5NTY4NTkyMTZCQUIxOTVGNTY0MTJCNzM2ODI1MjA5NDcwMzBCOUM4QzNBNzYwQkRGRTRGMDQ1N0VDQjIKK0Q5NDgwOTE3QUZGMjQxMUZBQTBBRTM2MzkwRDE0RkVCRkEyRTY4MkMwNEFGN0FBRjQ0NzE2MEVGNENDN0VGNzAKK0Q1MEJDMzI3MzFCOUNDOUE3OUQzNzhCREQ1RTVCMzMzMTlBMkY5M0Y1MDBDOEI4OEQ1NEY2NDY1QThFNjZBNEIKK0E1QzgxQTZGRjdCRjg5NjBDMjc0Mjg4RDNFM0MzQ0E5MTc2NUYzRkVEQTM5RUExRjVGRDEzNTczNDZCRjMwQzIKK0RBMDlDMkE1QjM2QkE0NEI3M0YyQzFGMkYyOUEwOEU4NjI4NUQ5QTVCMzNDOTdGN0ZGQzg3N0RCQ0QyQzUwOTgKK0I1QzY3NjhFMTNCQkZGQkJCOUUzODVDNURFNzA1NjQ0NTZGNDVFOUM1RTQ4QzkyQTRFMTJGMzEyMDZFNTJENzIKKzZGMUJCRENFMzNGRUExMTU1MDJCMkRFODRGOUIwREI4N0ZEMEExOUFERkZEMEQwQUM1MzQ4RTREQUVFQjdCRTYKKzU0QTBFOTJDRkI0QkEzNDcwNzVBREE3QjA3RkQ0NEY0MzZCQzc0REIxMzYxRjAxOTVCOURDN0NBNzZEQzk5NEYKK0JENEFGQUI1OEM0NzU4MzMxODUzRjM1QjkwRDczN0NDNkJCOTBGODI5NDZGMUNFRERDMzZCQ0FGRkJEOTE3NzgKKzJDNDUzNTIyNzFGMDBCNTUzRTcwRTFDNzY5OTM1M0MyMUFDMkZGNTI2OUQ1QzA3MEEyNDY0MkEyMEY5NTlFNEIKK0VDMzUyRTdCRkFCOEM4Q0QwMjU5QTQ3MjIyQjk4QTIyM0FEQUUwOTMwOUNFMjU0MDA4RDBBODIxNTg5MDU0MUEKKzJCNjREMEFFNDg0NkQ1NkIwRTI5NkMyQkVDQjRFNkUxNUZBRTYxODk5MDdBNzcyRENCRkU3RDlBNTM0REFGNDUKK0U5ODA2QjU4MEQ2RTc0MzdENkVDNkMyMTI5MThFMDk2RkFBRThBQUYyRUU0NzFBNjcwNDg3RDkxMDZDNTlDOEQKKzlFMEU3MkNBNUIzMjVFOTc2RTUzNEUwRkM0NDAyNTgwRDUzMUQ4ODczRENCRUYxRkE1QUQ4Njc1OEU4RTMwMDAKKzdDQzc3OEExOTBBQTFGMDQ1OTFGRUM0REM4MURDM0I0RDkKIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKQEAgLTE3ODUsOSArMjE0OCw3IEBACiBkdXAgMTAxIC9lIHB1dAogZHVwIDEwMiAvZiBwdXQKIGR1cCAxMDMgL2cgcHV0Ci1kdXAgMTA0IC9oIHB1dAogZHVwIDEwNSAvaSBwdXQKLWR1cCAxMDYgL2ogcHV0CiBkdXAgMTA4IC9sIHB1dAogZHVwIDEwOSAvbSBwdXQKIGR1cCAxMTAgL24gcHV0CkBAIC0xNzk1LDcgKzIxNTYsNiBAQAogZHVwIDExMiAvcCBwdXQKIGR1cCAxMTQgL3IgcHV0CiBkdXAgMTE1IC9zIHB1dAotZHVwIDExNiAvdCBwdXQKIGR1cCAxMTcgL3UgcHV0CiBkdXAgMTIwIC94IHB1dAogcmVhZG9ubHkgZGVmCkBAIC0xODI3LDEyMCArMjE4NywxMDYgQEAKIDIyQTk2QTRCQzc4QThERDA3MkZFQjc1OUE2OEE0NEJFMTE2NDYzOEI2RDk1MjE0N0VFM0M2MjhGOUEwMjIwNjAKIDFEMTk0MUU3MzMxMDk0M0ZBNzgyNTMyQUJCMTExNjUzMkFENjdBRUZFMDc1OEMwNTEyNDFFMzAxQzdFMTNBOTgKIDY0NDdFQjAxODBCRjY3OTk4MTRCRUE0REMwRjcyN0QwQTQwQjdCQzNCMTI2OUNERTE3NDQ1M0Q2QTNDNDQ3OUMKLTE0NjAwMUNGNzE3REUyNUFDMUJFNUFFQTVGMkYxQzE3NzE5MjUxQzQyOUQzQUVEMTlFRkI1RjcwOEEzNkQ4OUEKLTM1NEFBRUIyMEE5NTRFNEZCOTY4MkQ5RDIyN0ZBRUZCNUNEMTM4ODg2N0UwODYwRUJCMEUyNzlBQ0U3NDkzNEUKLTNEMTIyNTQ2NTZFMDA0MjY2RDUwMUI5REUwNUU3RkFCMzgwRTRCNjk0NjdFNjQxRDA4NTdGMTNCQUJBNEE5NDAKLTAyQkQyMkQ2M0I5NjAwQTdGQzU3MUMxQTNBRkYzOUI5REY5RjBERDlGMzk2NDk3Q0ZERDUyQkZBQ0I4Q0NERjkKLUZGOTI3N0ZCRTJEMzIzMDNFNEIzQ0FEOTlGNzlBN0Y0NTYxOEI5MDBDRkQ3MThGOUFDOUZDQzc3MDU4RDk0ODYKLTk3RkMxOTI4NDdCMDhDQUM0MDdCODk4MDFDRTIzRTdENTRBRjlEQ0NEMDMyMENCNjRCQTBCM0U0MTA3OTMxNkYKLTE5QjVBNzc5RDBCRUM1RkQ1NzYzQkVGMzEwMzVCRDI0QkNDQzgzODQ0NEI2MEJCMUVGQzQzOTIxQkRDMkRGREYKLUMzQ0VDQTIxQ0MyNEMxQzdDM0NGMTdEMjU2NURBNEVCQzlFRTc5MDAxQTI4NkExRDBFMEU4RjQ4RTRGQTQ0REUKLTVEQUVDM0U4NEI2ODhENDIzNUUzNUQ3ODI2NEE5Q0M4M0FFRDZEREQwRTQ1OTExMDJFRENFODVGMkZCQjQ3NEQKLUNCMDQ5MTc5NTg1NTU2RDY5NDhENkY3MjBGODg4NTM1ODZBNzY4NTQ3QzA4NUZEMkRBRkExQjRDOTg2Q0I0QzMKLUE5MkI1ODBDMTQ5RUUzMTIxMkUxQTBFQzM2RDE4MzBGRERFNEYxOUZCMzlDMkY2NDU4NkMyOTJBRjNCRkJFRDMKLTZFM0U4REQ4NTEyNDY0NEI4NzRBNzIzRDZFOTU0NEEzRTU2QkFDRTlEOEEwQ0RFMENGQjBDMzM0MjU4RDZBNzEKLUYzQTU4MEQwMzE5NUQwQjJCNzJEOTJCNEVGQUI4RjgxNTE1NjRDMkU4NkNEREVBNDM1NDZEQ0NGMURFN0VEQzYKLUZEODEyM0QxN0QzREM4QTc4MDUzOTVBNTU2Q0RCNDlGRUZFMjEzNkRCOEM2MkIxNjNDMzdGRjI1OEZGNjc1RDYKLTJEOUM3ODQxRjdGMUZGODEzODlGODVERjYzODJERTY3NkI1MjRGMzk1NjIxNkNGRUNDNDE3NzY3REE3RjU1RTIKLTg0NzBFOTQ5QURCOTNCRTFFMTJCMjgxNTMyNDYzQkI0Q0UwM0M0N0VFQ0U4RDZDNEFBMTNCRkNEMUM3MzEzRjcKLUI2MjZBQjAzMzk1NzExRjhFRTU4ODBBNUM0NTJFNkEwREMxRjI1Mjg1RTlDNDEwNDRDRTY1N0FBMEJGRjcyNDAKLUJEMTYyRkJDOTUyMzA3M0NBQUE0NzkwMjkzMzA1OTEwQ0IwN0FDMDA4OTNGMzVGREMwRjA1MzZDODRBOEQxODQKLUU4NTU0MkE5NTc4NjE2OEUxNDc3REZGNDI2RTU2RTAzMDI4RjMyMDlBNTY5OTVBODQyMTE4RUQ1NzdBQTdBMkMKLTczNUI2ODA4REZFRUNGNjVEMzdFNkI3OTk4OTA5RjIzQTlCMzlFNTc1OTYzQjA3Q0Y5M0Q0N0ZGRkRBNDdFQjYKLThGOEVBMDkxODM1RTgyOTNGMkRFMUM0MjY2OEExNjYwOEFGM0YzQjJDNTMyMjJBNzI3QTY4MzI3QUJEQzEyNzAKLUU5OEFCRUFGQzg0NDM0RDgyNjU2OTdBMTZBNTVBNzM1Rjc3RUVCRjY4MkYxQzRBNURFMDFFMDQyMTg3RTM4NDUKLTk4N0VCMDAyN0IxNEY3QzBFRjZDOUM1QTM0NkVDRDM0MTdFMzgxRjNGRjk3QUQyMTkwN0QwREM4MzVFNkQ5NzYKLTk5MDA0N0ZBNTFBRDhEQUVFOUE4NjM4MUQ2MEI4QTYwMjQ0NjA0NzAxQTc4MkZBOTBEMjRDMzQ1MDI2MzYzNTMKLTJBMkM1MDdFMTg5RjFEMUVEMkI0RTJFQUE0MjZBMjM2QzIwMDIwOEI0M0M3NjVGNjgwQUE4RjMxQ0ZDNTc5OTIKLTRCQTUwMDM0MThFRjZBODFCMjc3MERFQzc3NUMwNUYxQ0Q5NDhBMzlDM0Y1RkE0OUQ3MTAxNTFEQTlBQzIyRkUKLTJFNjg2NDBENUE0N0Y1QjQ0MTZGMEY1MjI3OUQxQjg3QzU2M0M5NTYzOUI0QUE5QUQ0RDQwM0ZCNDg2MzI4MjQKLTRBRkNBRjQzMzE4RThFNjFENjhCNjdGMjA3REZCMzIyQURCRjcyQzgwNUYwOUVEMDUwNTIxMkY2NEE2MTg1RUYKLTYyNUY5QkJBMjEyNjAxM0UxODE1NzdFQjVCNEM1QTM5NUI5ODg3MURBQjExNjQ1NzJGREE2NDdEQjg0MEVDQkIKLUIxMTk3NThCNTJDRDAxNTFEMTJEMTJFQkI1RTNBQUJEMDVBQUEzM0NGQjMwQkI0N0Y3QzREQTU5NjNDRTI3MTgKLTRFRjYyNzJEQzc2Nzg0NTUxQzkxQjYyQkEyOTNBRDBGRjMzNUNCMkJCODU3N0E5NTdDQUZFN0UzQTkxRUVBRDYKLUUzRURENzVCNUEyQkY2MkZBODlBODc4MTRGMTAyNTM0NDAyOUJCN0VGMDhEMTIyN0E2MTM5RUZGQzlERkI1QTkKLUYxN0VCMjI4RTNBMENFQjk5RkY5REZFREFCRUZFNjlCQkVBRjZDNzk2Rjk3NjU5NUZDREE2MkNCMERGMDNBMUQKLTJGN0Q0QTMwN0RENjgzNDE1OUVEODRFRjM1RDlDMkI4REI5MDg0NjlFMTQ2NjQwQjc0OTlCN0IxN0UzMjA5REYKLUJGRDU3NEY2NTM3Mjg3Q0FBRjYyOUFBMDIxQTc4NEVDRjQ3NTE5NDBEMjMxQTY4MzJDNTIwMzE4MjY2MjQ4QkEKLTBEMkVFQkNBNUNDQzhBQzgxNzA3RTZGMzU0MjRGRjU4RDVCNDgyOEI3MUQ1QTU5NDgwQTI1MDJDRDcxRDU2MjAKLTA1QkJFOEQwNDZFMUUwMEY2RTcyNkNEQzM4RTA3ODg1ODQ2NDZENzEwRUEwMzNFOTE3Q0MzNjg2REQxMzNCMDcKLTRGQjhBMzQzQzIwRjExRkJEMjFBOTNBM0RCNjUzODM4NzJCRUFDODQ4ODM0RDAzRjAyMTcxODNERjUwRTM5MTYKLUFCN0I2ODIzOEMyMzg0OENGQzdEMzQ1RkM0QzcwQUMxNUNDQzM0MzM1OTJBRTAyOEM4NDI0RTUzOTgyNkFDMEEKLTgzRTNBQTc5QUUyMzFCNDQ3RDZEQ0UzMkIwNzRCNTYxMUVBREU4QzE1MkY5M0I1NzExNTREQjkyMTNFNkY2QjYKLUVBRTM4QzlCMjk3MUM4MzEzRDE1Qzk1M0NCQjdBMzdGNUJBNjU4MzA2QUFDQzZGRDNBRTRBM0QwQjExMTA1MDcKLTA4NTREQkI0RkFEMzZCREVERjBBREExNTEwOEQ5QjZGN0Y2MUExMEE5QUQyNUU4N0Y4NEEwNDk4OTU1MUIzMDYKLThDMzkzQUFFNDQ2RjdDQjA2Q0IxOUI5RDgwNURFMEM1MkM3MDg2OUNBQjgzMkYwNEYzRTkyRTA5NDAzMUU1NTMKLTVCODY3OTcyMEM3NzQyODBGNjZCNTZERDYzRDlFRTQ3MzcxRUE1NTgxN0M0RjY2QkE2NTFDNDczQzI3QTVGMkUKLTE2NzU1NDdGMEI4ODYxQTQyQ0QyQURCQjhCQzc3ODE1NkI1RTEzOUE2MTFDRTBBMTcxNDBCNzJGRkI5OUVGNjQKLUQ4MDVFNEM0NzdDMEVCNDJBNTkzMzFEMUU3MDIwRkNCRUZCMUI4NzUzQ0M4REIyNzUwOUU4ODZFRUJCQjk5QzAKLTkzN0U3Q0MwNkMzRjQyNjEzNjEyQ0Y4NzQyNjNCRTQ2REE2NzM1NUVEMEFDQUM5QTFEQjAyQzU5MzQ1NjJFRUYKLUQ2QjMwMzg4RDA1N0Q0NDg4QzRCNzdCM0UwNDE0MEM0ODk2NkRDREQ3NzNCQTA4NjYxNzEwRDE5ODEzQTc4ODcKLTY3MzVBNTk1QjJEMTBENENBMTRBODA3MTIwQTQzQjA5REM4ODU1QjBFQzA3NDlGMzUzMjAwMjgwMUY0NUJFMDEKLTNBQ0E1OTJGNTQ1NTExRTZBODg5ODMzQkNCNTk1RDk0Q0NDMDkwNUM0RTI5OEJGMkQxQkE1OUIxQ0Y3QkJDQzkKLTgzMjgyN0EwRkE5NTA1QjZENDY4RjczREJGQzYzQ0Y1MTg4QTVFMkMxMjkxQzc2NjZCRjg4QTgyRkZGNTQyNzUKLUJBOUFDOEY3QTNFRTk0NjlGQjRENTI3MTc1MEQ0QUYzRkMwQkZGNTVBNUY4REQ2MEFEODc0NTgyMkI5ODQ5NUMKLTI4NDNBMzlENEZGRjE3NjBDMkM3RjA2NkE3NjBCMkQ0NEVBMEQzNkJGQzgxNzFFQjc5MTEyNkJDM0UzNTc1RjEKLTcxOTRCNkEzNTY3NzUxOURCRUUzNjkzOTBBQUZEQkNGOEM4NjdCRkVERTczQUQ4MkY5MEQyRjY0MUE5QTQwMTYKLUMyNDI5NEY3MzAyRDAwQUYwOTZGRDI1RDhFRDZENzc5RDNBMUQ2NUY3QkE3MkQ5Rjg4QkNBQzg3M0FBOEYzQzYKLUJCOUY2OTM2NzFEMkMxRTc1RjU3QzM3OTYwNDk3MkUzMkRFRTAzRDM3MDlGN0IxRTJBNzE3NzVFQjAwM0M5QjgKLTdERDQ5ODI1Q0MzMUFBNjZFNTU3Mzg2M0IyOTc1ODI2QzE5QjhBNkJGNTdCOEQyRTQ3RjMzRkFDMkUzQzIzRTEKLTIyOTQ2RkMyRkVDRjRCMzhFMTFGNzlCOUM4MkVGMzk1QkU5N0U2OTk0NzA4MzZDNUZBMkY0OTUzQzZCRTQ3RkQKLUU4MDYyQjQ4RTQyOTYyOUM3NjVFRkNFRTZDQjdERDFENkY1OEQzN0U1N0E4RkM1MjFDQUJFNzA1QzdDQTc0MTcKLTQxRDAyMjRDOUMzRDQyMTAxMDFCNjVFQ0YwRUI0Nzk1QjAzQzJBQkM0NTA0QzA5RTlFQ0Y3NDExNEIzOUQxQkMKLThFODNCMUQ4MThBNUE4OTg4NjA3MUExNEQ1N0RBQUVERDcwNTQwOTUyRjBDNjQ5NDUyQTQyRjY2MjZDMEMxREEKLTE2NUNFODIzM0Y4RDMxOEJFNzNFMEY1RTFDREJDRDYyQzRCQkZBRjAxQTE1MjM3MkJCREYwM0Q0RjU5NTA5NjkKLUJBRTI1MTQ4QThFRjBCQTYyQzIwRDk1MDBGOTg2OTdCNkQzNDc0QjVFNUY4MkFCMUMyNjBENTJGNzhDQkUwNkUKLUQ0ODdBQzZFOTE2OTI5QzVEMzVCRkYwNzQ0NzYwOERGM0MzMTI5NjU1MTI0NURFMEEzRjUzOUMwQkVCRjVFRkYKLTM2ODY4NTlBOTA0QTY4OEZDRUU2RTI3NzBEQjAyMDlCNTJCQzEyNjBCNEIwOTUzNjY1NTcyRTUzRkJBNTY1NDUKLTI2M0Q2OTdGNkQwRUUzNjY5NzJBNjZENDgxRkRFOUI1Qjc2MEE3NDlEOUNFRTE0NzdBMjYzQkRFNzE2M0Y3ODUKLTEyRTVFNTJBRUFBRkI2QTA1QUEzQTk0MTJFNjIzQUZGNzZEQTA2MkJDODc2OERDRDc0NUZEMEI0QkM2MTgxMDQKLUM0RkQ0Q0UxNDRDMTlEMDMyQ0VEMTlCOEYwQTBEQTNDQzQ1QjIzMTVFQTkxOEFDMjU4MEJGRDA4MjY5RjFBNDkKLTEyREQ3MDdCM0VCQUMxOUQyNTkzQzQzQ0JBODkzNzcwOEJFMjM5RDU2OTQxNUU1NUY4ODUzODQwMzJCMzBEOTUKLTEyOTQ0NjM4NjVBQzZFNDBFRjg1M0JBQ0E0MkU2NUYyRTg3MThGQzc0N0ZGRTk2MzNGNjE0QjlDRTBBNDdDQjcKLThGMjJBNUVDODQ1QkZCQzUwRjgyMjMxOUQ0Q0Q2MDRDQzRBNzRBMjY0OUIyQjNCNjdDQjVENzlGOTNDOURGQkYKLTQ1NzA0OTA2NkU4QTRGM0E3REMwODU5M0ZBMTZGQUY3QUI0RDhERUU2REFBNDFERTgwMUJERTVBMjk1Q0RCQ0UKLTE3N0VBMjcwRkMzQzc3OTE0Q0Q3MUJDNEM1MDg5NDNCMDBDRjhDQ0U5ODM4MDlERjUwQkVDRDI5MzgyQzFCQjQKLUNBRDhENzM3QTg4RjI1QzBCOUJBQ0Q5NDAzQTU2OTkxNjZERTJERjczM0JDQTJCN0E1QzYyMjA0NjZCMjY0OUQKLTQ2RjcyQTVCOTIyMERFOTVGMTlBREQzQTVCNDU4OEFCNTBGRDVCQjMzNUY4OUZGRjE3MzhDOEE0RTg1OTJFOUQKLTVCRDU0OTc0QzJGNUY1NDQ5QzIxMDBGQzIzOTQ2NjAyMUM1QUQ4QUNGNkYwN0M5QzZCMDEwNjBDRUM4M0ZCRTUKLTA5MUNDRDZCMzlCRUI4ODgwMTVBMzQ5MjQ1RkRFODM5NDU0MDM4RDMwQThGODAwNTg4NTM1QTJGQ0VGNzYyRjEKLUY5MEFCNTYyRjI4NzAzMENENEI1RDk0NkFBM0U3OEVCQTRDODUyRDVBRTkyMDVFNjc0MDFCMDEyRjI1N0E3MkMKLTIyOTZBQjQ2MDZGNDNFRjhCMUFDQjI5NUJGQzMzRjNBREVBMzFEREQ1N0Q2QjRBMEMxMzNGMEYyMDBERUEyRDMKLUU0MTI2Q0I5MTA0MTk0RTY2MTdBMTVFMTc5NkExNDU5OEYzQTcxRUVGRkYwOUVFM0RFNkVFMzFGQ0NBQzhDNzMKLTVFRTQ3ODJEQTNDRURDQzQxRUI1MEM5RTEyMjY5QkU4Q0Q5NTVDNTUyNjE5MzFFNjNGM0U1QjUyMUVFOUY2REIKLTgzQjBGMTVFN0RCNzg0NzM0RTc2QjIxNDI0NDk3QjcyNjQ2MjQ1QjcwNUJDRTA2OTg4RkQwOUE2NUZDN0EwOUEKLTI3RERCOTg3MzNCRjBEN0M1NjMzMUVFNDVFOTUwNzkyM0JDODVGNEI3MjA1M0MyNTQ4NjA0QUREMTYzRTI4QkQKLTAwRUZCNkQ3NjEzNDJBM0JFMDhDQUZFRjc5RjIxRTVFMjk0OUFCODEwMTMzQTM5NDYwOTkyM0M5MjBENDRFMTAKLUY2MDVFNUQ5MEJGNTE4M0NCMTQ1MzZGRUFGRjg2NDc1RTA2MDVBQzgzQ0E5MjgyMDFFRDFFNUQ4QzVBRjZBRTgKLUM3QzNGQzMxQzIxMzYzM0VGRkZDMTMzQ0JEMDEyQjZEQzE1QTQ5RDZEOUZDMDQ1NkJFQjA0RkQ4QkIyQ0MxMEYKLTI5QTkzQjM0RkVEQUFGNjE4REI1MkIyOTkzRTdFQTA4OTdCNEE4RTU3MjlEMDkwNkZFQTFGMjQ0MTAwRTUzQUMKLTcwRUFGRjU2NUJBNDgxOTlBMjk3MDVEOEQ0MURGN0YxQTczODJEMTE2MTZFQ0U2M0IxRjEzNDMyMDk0MDRCMDAKLTY3MDVFMEFDQTIzODg4RjBFNUExODNBRDM5RjgxMkNBNDdCN0M2RUE4ODhCMzAyNzY0RDc4MTcyNjA3NDRENUEKLUNCRDY0RTc3NDFEOTE0REJDQjUzODIwMEI4RjJEQjgzMzJDMUNFQ0MyNTFDNEE1QTNGNjREMzA1NjkwMDBERkUKLUE1ODcwRTE2OTc1NzZGMDRGMkM4ODdCM0U0MDZBOTlFNTI1RDUwRkExRUY1MDA0OEZBNDI3QjYyOTUzRUQwNUQKLURGOENEMzgxN0QzRERBNzMwNjIyRUIzRTAwQTA5OEI4NEYxRTA5NzM0RUQzM0RCNEUyRDBFMTY5MkRCNjFBMkQKLTNGQUQyRkRDMEFEQTAyNTFEMzI1MTdFMDhGMEU3NEZCQUFGNDA3QTM1REI3Nzk5OTVDOEI1NTUyNjk2MDY1QUEKLUU0QTA3ODkwMjM4MjZFMjkwNDA4RDBCODcxMzA5QzY2NUM2Q0QxNjQ1RTQwMzlGN0Y2M0QxRkU5RkE1NzQwQjgKLUQ1OTBGMTc3RTAzODE4MzJBMzAwQzIyQ0NEOUU5MUU3QTkzRjQwQjBGNTk1M0U0MEYwQ0YwMjFGQ0Q1REEzRjEKLTQ0NEI2RThEMkUwRUM1NEM0OUUwODM4MDZDRDU3NDNFRDEzNEU5N0Y1MjVCQjlGNzc5NDI2ODhBNzgyMEZDQzkKLTMzNUFBRDRFNkM3MUYyMDFCNUNGN0UxRDdDODE1NkYyRDJDMjZENTE2NzVDN0ExNjRGOEM1RjhCQzBCQUQxNjMKLTMwMDlDODY0Nzg2MEI0Rjc2MDM5Njg3MkQ2MUM4QUNCNTQyQUQzMjNFQjA2NTQ2Qjc4MUQ5RDY2ODFEMEFCOEYKLTlEMzQwNTI2QjUwNjJBNENENEZDMDk0MjVENDMzOERBREYyN0RENjI3RDI1RTMwMEVEMTlEMzdCMTRCRjQ0MTMKLTYzRTZFNkY2REMzMkM1OTNFQTU0OUI3QTg4NzczMTJFNDQ5OEQ5M0YxM0YxMjgwMDcxNTQ2REFBMzI2NDU4OUYKLUE3MjRFNzhDQjY5QkMxOEE0Qzk1RDk4N0U1MjY0ODQ3RDU1RjRCQzRFQTUwMjIwRDczQzE3OTlEODQ5RkM4NzQKLUZCQ0E5QzJGRTBFNEFDNjBBRDM3QjU2OUZGQTA2QTEyRDRBQkZBRDUxRkM0OTJFMTM1MzE1MEJEQTI3QkM0OUMKLTc5MTQ5MkM2RDM0MEM5QkI3M0ZDREM2QTMwNjU1NDc0RDIyRTI1ODQ1MTQzRThERTQzMjc3NjU4NzRGQTdCQkQKLTdFMDlBQzQ2RDlFRjFGQ0FFQUIxM0ZFQzM0OEVCMjgxOURFOUY3Mzk1QjVCOThFQzFFRTFFRTFFMTRFMEUyOEYKLTlGQjUwRDA5MDg3MzhCMTE1OTQxQkY2QTE1NTBENjREN0U4ODM5MEMxRTE4NDA4OTYzOEJGNDAwNTM2ODVBMUEKLTE5QjdGMUFFN0FDOTlDNEQ1ODExOUI5NTdGM0U0NjU2NzRBNTY1NEFGQTcwRUVCQUI3QjBCMkQ2RDdEQkQ5NzkKLTZFRTgwNEJDOTNCOTQ2NUQ0NTNFOTc2MTdBNDE2NkIxNDgzMUZCOTI0OTM5NUE5QzE0OTZENTFFMDg2QjI5NDMKLUUzMkNGMDI4M0E0RTk5RDBEMjkwNzU0NUQxN0U3RjAyM0VDODI5NTI3RjM4OTM3NEZBMUEyOEUwNjhCNDAxNEQKLUQwMzUzQ0M1RUJBMzYwM0I0MTk5M0IzQUJGMkE5RURBODBFMzBDRUIwOEVGNDNEQjY5QjcwRDgwRTkxNzVGMUQKLUZBMTdBMjExNzJDQTI3MkI3RTJGQTE2OTUzMEM2RjZEOUU0QjdEQzk5QjBENjA2ODZDOTkwNUI2Mjc1MzExMDAKLUIyRDQ5ODM1QUM0OUYwMDJBOUU0ODFCNjJBQkU5N0E0RDk0ODdBN0Y0REY0REM4N0ZGRUQzMDgwOUE4NTU0ODYKLTg5RTUwRkRENkQ5QUY4MTRGNzRCNUEyRkEyOTQwREJGRTM5NEM1NzNCNTE1MENDNUIyQkYzRkJDNzg3QzcyMTcKLTAwQzI2QkM2Rjg4QjVCNEIyRUM1MkJGNUE2RjNFMjQwMDNBM0E1OUI5MDFGRUJBQjgyNEJFMDdGOTU4QUI3MUMKLUU2MUQ2MzlFQUIwODRFMzFGRjcyMUI0RTE3REVFQjBFOEEwRTE0RTEzQUNBOEJFRkUyCisxNDYwMDFDRjcxN0RFMjVBQzFCRTVBRUE1RjJGMUMxNzcxOTI1MUM0MjlEM0FFRDE5RUZCNUE2ODEyRjMzQ0I4Cis1NTREOTJDN0FCMkM1MUMwOUM3RUUwRTUzNDRDRTYyQkVFQjQ5RDVGMDlBQUU4QUU5NDk4NEVBRDE4NDdDNUM3Cis3MkIyQTA2RDE5MDZCRTFCMTlCODY3MkFGNkM5MDIzOEJCN0E2OTdFREY2QzI5OUJCMzMyNzVDQUNERUNDQ0I1Cis1QTJBQzZCNjBFNTk4RDM1QjY4MkIzNDQ1QjAyOTc2N0FBRUQwNDYzM0JEOEM3RjY1REY1QjE5RTY4QkFCMTBBCisxOTQxRUY1OTc0NDEyQzcyQTE2N0M3ODk5NjkxQTgxREZCMEYxMTEwNzAwOUNCREJFOTFCQTU5NjAzQTQ5QTEwCis3RDFGMjUyNzFGMzk3ODA5M0RGOTJCOTg5OUVBM0Y2MkExNkMwMzJGNDMyQURGMkQ4ODJGQkJFOTkxNjQxNzZGCiswMjZBOTdCRjkwNDczQUQ0RjREQUI1OUU4RDE5QTNGOTVBMjlFNEQ4NzJGRkEzNUFBNjgyMUY4QkI4OTEyNTM0CitBRjg3NTY0QUJDMTc4OTYyMjg4RUIzRUYwOTk2MTI3RkRFRUI1NkRBMkE2NzM5OUI1MkE1MDg2OUU2RjgxMjA3Cis0MjNCNTE4MUQ5NzA3QzlDNUE4RTRFRUFENDhCOTY3QTVDRTU0QURBM0E0QzkyM0U2QjlFNUQ4OTNFOUZDOTNBCitEOEQyRkUyQUNEMkNDRkQ2NDREMDIwRkJENkU1N0I4Q0U2MTBBNzc3QzlDMEMxM0Y5OUI5NDkxMDUwMDQ4MjFDCitBMDkzQTg2QjEwMERCMEZGNEIxMTUxRTBFM0NFMDRDNDVBNkEzRUVFNjY0MjQzQ0MxQTU4REJBOThGQTdFNDU1Cis0NjBDMjY4NDNEQzkzREYxRjlEMUUwNzZGRDJFRkVCNzdFRTdCRDdFRDI5OUU5OTFERkUyRjk4MDg5Q0NFOTY3Cis0MEZGMjBDODc1MUQ1MjY2QzdDNDRCQkI1QjM1N0M4MDhFQzkwMTk0NDZFOTZEMTUyMEMzQzcwN0EwQzVBRjlBCitBMEFDMTZEN0RDQ0UzRTYyMkIxQUZFNDE4Q0YwRkRGODEyMjAyMDJDNkE2NDEzRjA3MUU0NzgxNDI1QzZCQ0MwCis2NDQzRjI5RjdDMzhDNjA4NkY2NDQxMDBBRDhEREYzRDc4RDEyMENFOTlGNDIyQzlBMjc3NTg5MzYyMDc2ODY4CitBQjhCNUM1QTdCOTlFNzkyNjY5MTVDOTVCRTJENzEyMzIyQzg1RkRGMEEyMTE4NDUyRTEzMjFBRDc2QzdGQ0M5CitGNEYwNjdCRjNBOUI3RjA2RUQ5OEM5NTM0NTI4QTNFREFFRTMzNTRCQzk1QzAzRTIxNDQxQjE5OUNBMjg4RTU4Cis3QUVDRTQ3NjU2QjY2NDc1QUM1M0Q5QjdGQzQ2MTMyNjA2Mjg4OTVDQTFCRkIyMUUyNUIxMDk4RUU3Nzc5REE2CitENDZDMTg5MzM4NjA5MjQ1MzA2NDREODc3QTVBMTc1NUE2RUFERjJFQzM3N0E0MEFCOEE4N0ZFNjUwQjc3NEMyCitBRDBGQjc5NkFGRjJEQzZERUU5MjFERkNCNDQwNjQ0MEY0OTM3NzdBQjRBQjE0NUNGNURBQkMwQTgwM0UzNkJDCis2M0FEQjRFM0E4RTQwNjBDREEyNzY3QzcwNzkzNzI2QTNFMDkzMjM1QkZFMEVFNDQ5OEI3RDhBMDE3NjI3MzRCCiszMDNFOUQyNEU1MzU0QUY5QjI1MTlDRkI3MDg2NjFDNjMwNjY0RjlFREUyQ0RDQTgwNzc3RkVDQTE2NjI3NDk1CiswNEUzMkNEMkE5QjY4RTI5NTc3QjI3QzY1QjBBQTNBRDg5QzIzQkEyQjc5RjBFRkIwOEMwOEJBOERGQzFENUI5CitGQTUzREI4NzM0OUU3Q0MyNTA4MkZCNzM5NUNFQjY5QzhBMTg1QTZDNkJBNTY4NkU0NzZGQzg2RDZBMjJFMzA2CitBQjVFMUMxRDI4MDk0ODVFMjk5MzEyQzY2QkM2QzlCQzBEOTU1NTI1MzlEMjJEQTU5Qjg3NEEzMThDMDNEOUUwCiswQTYwQjQ3QUI4OEM2OEFGQzg5QjVFRUEwNTIxQzQ1MjgyODNGQzQ0QkJCOTA4NjFGOUMxRDQyOEM4MUU2OURDCitEMjQ3NkZBQTkxMTMzNDFCRTUzMjQ2OTVFOTZCQjBFOUU4MzQ1NUJEMkYwMjBCMTlDN0Q0N0RERDY2OTMyQzU3CitCOTJFN0E2RUMxRUZFMUIzOEYxNDVFNEEwOUM0Rjg2RTJERTIyNTEwNzhGMzMzOTlCNkRCRjZCMDkzQjU5NkMzCis4NTUzQjJDMkIxNENGRjU4Q0NCRDk3QzExNzYxNkU1QTBGQTkxRjc0MEYxRjExM0NBMjJDODg3MjA4Mjc1MENCCitBQjU2RkI2Mjk4QUEyNEE2RkMxN0NCNjNGRDkxOUQ4M0ZGRDhFMjFEN0NGMDgyNzhBRDVCNzc0QjE4RTI4NDVFCitCOEE2OTBBREI5RUVGNDhDNjVCN0ExRkUyNzY3RTkyM0E0RUQyRkMxNDgzMUY3NkQwN0I1NDQ5MDU3Q0Q2QURBCis4QTYwMTc3ODNEQjQwQjc0NDY3MjYwRTJFNzEwREFEM0I1NEEzNzUwQjJFREQyQTVEOUQ4NkYzM0IyNjkyRjQyCitEQjUxM0M2Q0U3NTQxNDVFODgwQ0Q2MzZCRDgxRkIwOURERDMxMjI4NUIzN0VBRUIwNjc3MUFGOUM0QTk0RkIyCitCNTExOEUwMDM5OUQ3ODA5NDM3NUUzODE4NjBGMjhBRjIxNjU0NkFFMTQzMzZBQTgwMjFBQUVCRUM3QjE4RDRCCis0RDk1MUFERkZGMjM2QkU1NDQwNTY4MEE4OTNEQTY5NjM4MTA2OTdEMTU0RTU5OUNFNjQ4OEM2RTA2NTE5NDJCCitBMDQ2QTc2OUNGQjY5RjBENkVEMENDRUIzMkRGRjlCQTFGNDJEQzQwN0FENjE2OEQxRThGOUY1NDM0NjJDQTBCCitEMkQ0RjZBNzQzMjQxQTBBRTgyMDlEMjRDM0NGRDE1RkNFMEJGQzVCMTJBMzhENzlEN0I2QjU0MjM1OEU1RDM4CisxRTJGQjEwREY3OURCMUVCRURBN0I2MkI0RUQxOTA4QjY5NTgzNjczMjBCQzU1NDBGMjk3MjAwMTVCRjY5ODM2CitBODE2Q0VBOTVGMjBBQjBDNEFGQkFFRTk2RTE0ODY0MkFGQzIwQUNFRDA2MTQzODZCMjZGRDVBMTdBNjYxOTg3Cis2QkQxRUExNTZFODM2Njg5QTM5MjAwODUxQTFBQkZDNTE2OTFCQUU0NzA2RjYwRjI1NTQ0M0E2QTVEMTc3MEI2Cis5N0YxMUZBQzQ4OTMzNkEyRUU1MjhEMjVGQjIzQzhFRkFENkRCQTAzOUExODk4ODVBMzUwQzgyODgwREM1MjIzCisxQjMwRjFFQzg1RUIzQ0NEQ0Q4OEREMUMwMzBGOUIzNDZBNDZDNEVBNDZGRURDNkUxM0FCMTU1QUFBREI0Q0NCCisxRTJCNTg1QTlDMUM2Q0VBMTQzRTQzREUwQTBFMzQ0QUY1MjUzNjgxMzhCNDc1QzY2NTU3MkI0NkJDQjIxMUY1Cis5QjE0NDY0RDExMkRBMEJDNTM3MTBBNTczQjlEMDYxMzk5REQ2RDRDN0U3REZBRUUyM0YwNkRBOEFDNEZFQzE2Cis2NDkzQUJDNjZFNkM2NEQxMTU5OTJFOEMxMTMwNzU4OTgwOUVEN0RCRjA1RjA3OTAwMzUxNzc1MzI1NkJCQzNGCisxMjlDQzkyOEIwMDlBMzA3MDlGQTRBODUyNzY4NjM0MkMzRUY3RjczNTJEN0MwNzA4MzhENjU4NkIxRTU3MjhBCisyQUI0NEIyREQyQjE1OENENEQ0MjE0QTAxRDI1Mzg0QUNFNzUyOThBQzI5OEU2RDQ3RkQxRjQ5MzZBNTI4NTVBCitDOTkwNzBBODM0Qzk1N0Y5QjA5QkVBMDU5ODQxREE2M0NBOTRDRDVCQzdCMDFBNzE1NkJCQkU3MTI1NEExRjRBCitFRThFN0E4MkVDOEE2NEI0Q0Y1NUYwRkE2RUQ4QTYwQjdEQTkxNTE4QUU3RkJFNDNFOTMwMjVFMkJDRUU1QjkyCiszQTYyMkQ3MjVCRUEzRDE0RTE0NzM1QkNFMkZDMDRCRjExMTIwQjc2MUUzRENFRjk0RDU4MjAyMEJCRDY3QzMyCiszQjFBRUFBMEE4MkZBRUFBNjlCOEEyQzc0RjZEODI0MzZBQkJBRUI0OEYyRENEOEY0QzlBOTkwMTJFNzNGOEVCCitFMzRFNDNFMjdBRTZCNzIyOEVDNDhCMjI2REU1MEZENThBRUVGN0EyOENFMzM2RjRBMTEzRDY3OTAyNEEwNTNCCitBRkUzNkZFRTk2NTkxN0Y1QTE5MTA0NDNDMTExNDc4MzZBRjQ0MzBDM0Q0QTdENEY0Q0Y3NTlFOUUxRUYxMjY4CisxNjNGMDc3Qjg2MkI3N0FCRDBGN0RCODNFQzQ0N0Y4NzJCQzIxOUFGQTlCM0VCQzhGRjBBOUNCNTU4QTM1RjVBCitGQTQ5MjU4Q0IwMzhFN0QzRjBFRTUzMDk3MkQ0QzI0NUVFQkVBODlCRTNEQzE3OUI1Njc0ODdFQjQ0RkE2Q0Y5CiswODhBNUFCQkY4REY4RUE4MzBGRjY3QTk0MDlCQzgyNTgyODVGNzY1MEY5MjRFMTY3RjQwNUVBREVBRTE1OTIxCis5QTcyRTJDOURGNTJGRDY2Qzk3NjJFRjVDREM1MTQ2OTMyRDJGMzIyODcxOTIyNTc3QzA0Q0Q5MDg2NUUxQkE2CisxRTc5MkNCMkVFMzBCRTEwNzIxQzAxNERGMUM1M0Q4RjJGMDdCMjdFOTcwRDlBQTFENzBEREIwNkQwOUJCQUVECitDQkZDMDg1NTY1MTE3NUI4NUM4NjExOUVDMzMxNkY3QThBOUYyMzdDNjNBRUZFQkNFQTdEQjQzMEI4QTlBMEY5Cis4N0M3REY0QTg2RUQ1NDVEQTFDRjIzOEE2MUI5RTZGNkU4MjdCRUQ5NTQyODJGMTYzRjAxRTkxMUIxN0M0MDAwCitFOEJFREUyOEVGOEFFODIxRjFBMzE5RUYxMTBDNzVBMTVGRjBENTVGRUY4RDk5NjFENEZCRkUxMDg3QzU4ODhECitDRUQ0QURCMUVBMjAxQzFEOTFGRDZERjcxRDEyMUI1RjA1Rjk4MDQxQUYxNzUxNDQ5NkQ1QjNDQTdCQjA5RTBFCisxOUZBOEM5RkYyMTk2REUyMzY2MzY4NDc5NEM2NUM2ODRCN0FGOTdCRTY3NTRBQTEwOEMyQzcwMTVBMTREOTc1CisxQjhEM0QzOUYzNzZFM0Y2OTNFMTJEQjYwM0EzOUJENDE2NzBDQTBGOTk3QkFBNDFFMzA4MTdCNENEMkRBQjk4CisxRUFDOEU4MkUwNThBNzFDMTcyOUVGMzJCOURCMTFBOUYyNTQ2RTQzNjE4QUNCMUQwQ0M2OTgyMTlDNkZERTI5CitFNEQ3ODMzNDNFOEEzREFGOURCMkVDM0ZGMUU5NUVCQzREOUIwRTQ4MkZDRENCRjVEMTRGRTA1RTREM0Y4N0YyCiswNzY1OUEwNzJEOTQ2NURBM0Q1RDY4NDQ4MUFFRkQ4NTNEODNBREFGNUI2MUJBODRGMDkzNDZGQjY4Mzc5ODM2CiswMDY1MkNDREIzOURDOENBMDZBNjY4RUZBM0E1NzBCNkYyMkY1QkEyNjZGNkE2QzhCQUU0MTRBQkU3Mjc4OTczCitDQkNGMTM3MTU4Q0Q5REJDNDA5RjJCNTEwRTg2ODc5RUZBRkJENUQ4MTA3MTdCQ0JFRjVFNDVFNzQxOTNBMzUyCitFNkYxQkFDMTQzM0NFQjE5QkUwRkRFQjZFRjE1OUZFRTJDQ0JGMDhGRjg0Qzc4OEFCNUI4OThGNDYwQzc1NkYwCisxREUzQ0Y1N0M1M0U0OEMyQTYxRUVCNUE4Mzg3NUMxNTZGMDAwOTA5RTY0M0YyMDIxNDhEQTRENjM0QkNGOEJCCisyMTJBRTgwMjE3MkQxQjczREJDQTE0MDQwODE3NTM3RkVCQkQ2REZGNzBDNTVBNTNDMDNEQzMxNDM5NEVDNDA3CiswQkEyNTFFN0RCRkQ4OTA0MTZCNDI2MzBDQUM2QjkyN0QxMzI0RjlGQTNCQTIzNkM1QTdDRjQ3QzFDOTdGQzYyCisyQzgwMzY2QTNGRjhBMzFFMDc3NTRFMDFERjYyOTM0ODdDOEYwNUUyQzdFMDdERjRFRTFCMTAzQzRBQzFBOTc5Cis0RkRCRTZGMEU5OTdFNzJCMzIxQ0VDMEQ1QUM1M0QxM0QxMzc0OTcwMDE5OUQ3RTRBNzI4QThEQzJFNDU2NkMzCis2RUM3MUFDOTZGMkVBODVFRDJFQzlERDk1QjY5QTgzNjg1MjFGRTE4NjBCQUREQjY4QUQ2NDBBRTNENjUxRDU4Cis0N0Y3MkUzN0QyMUI3MDdEOUM2OEY5NDg1RDIyMjkyMzNCMjg0RUVCQTgxRkU4RkRFNDc1RTYyNzI5MDU0RjExCitCMkFCRjU0QTI0MURFNzJCNzVCMDZBNTk0MDE2MzYyQUFEQ0Q4RTA2RTdCRUNENDNBOUREMzE2NzgzMUZFNDU1Cis0QUYyNzA2QUY2MjQ3NTIyM0FDMjM2QjEyMThDRjhFMTY3QjdDMjcwNEIxODVGOUFEOUZGOTc4RTEzNDE2OTJFCis2NzE2RURCRTc5MjVFMzlERjAzMTU0MDhFOTJFMjI3NDgyOTk0NUE1NENFNjlFQzlBNkEzRjdBNUEzODIzNjZECis3Mjc3MEQ3MTNCQUJDMzdDMzA2ODZDQ0U2NUFBNzQxQTkzNTYxRjlCOUQ5MzhBNEE2M0Q3OTFERTk0QjY0NTVGCis1RTVGRUQ2MDg2NDNDRThDNDI5RTRBM0U4NDVFNzk5NjVBQTVDQzMyNzUyNDYyNkQ4MzNBNDRFMEJBOThDOTE1Cis0MUY0NDBCNTkzQjQwNkNEREI2OUEzNjk2MDZDMDM0RTA2NUVBQjZGRTQyQjZGMEU5ODUyODc4QjkzNEEwM0NCCiswMzdGNUFBRDc0QzFDNUU4NDZBQjQ2NEMwNTY2RjM2QjkyMTE0NEM2RTQ0ODI0RDc4RDgxRkVCQ0Y4RjU4RDI1CiswNDE2MUEwMEIwNzc5NzlBOUE0QTdFOEUxQ0VBOEVCNjIyMEY4QkJBMTI3NTZGNEJFOUQ3MDI2MjQ0OTcwRTQxCitCOTgyQkEzNEM5REMzQTBCQ0Y3NjVBNzdCMzE0OTAzMzM4RjMwMURENzFGREQ4MTNFRDYxNkE4OERENERGMjdECis1RjNCNDI2MTQ1MDE0NUEyQTdGNUVERTM2MTZCMDI2RjVGQTNCNjdCNEM4MzEzOURENjI4MTI3RDRDNDY2NTJCCiswMTg3QkE4REI2MjRFNDQ0NDU1NUI4NTFDNzU5RjZFQTBCRUU2N0FBNzM0RUQxMUU2QkZBQzg0OTcxMUFGQ0Y5CisxREYwM0UwODg4NjcwMkYwMEUxODg5REQ1NEQ2NURBNUQzNzdGQ0ZCRjk1ODI1MEI5MjZBMEREN0IxQUZDQjYzCitBQ0U5RUQ2NzU2Rjg3MUY3RkQ0OTU4M0IyRENBRTYwNkUwMTVENUM5REExMDRDODQ0RTM5M0RDRDQ5MDMzNDcxCisxMjQ4QUFBQTM4MTJBRDI1MjEwNTE2MDE4QTE1Q0UxQzE0Q0FGQjUzM0Q0RkQzQTJBNEFDQTQyMzBGRUFCNTgyCitDMkJEQzY1Q0VEMDM0OTJDQURBRTRCMTY4NkNDQUExNkNEOEM3NTgxNjcyNTkwNzI3OTMzRkU2MzAzMERGMkFGCitGRUU1MkRGNTI0QUUxOTNEMTlCMjgyMURDRjgzRUY2NjdDRkEzNzcwQTMyMTRGQkRGRkU4NTRBREZDNDJCRkQ0Cis4RTQ2MUM3M0U5NERBQTk2OTNBRTNGNjMyRUM4QkM1QkExOENGNEE1QzQ5NzE2QzZENzg0MENFNDM5QTUwOERBCiszMjY1MDI0MENGRThBMTFEMkVBOEU0NEREREM0QzNGODZGRkYxM0YxMEJGRjAzQTlCQURFNkI2MTREMjNGMDVECitBQzU0MDBDQ0UxQUNEQTAwQTc2NDQzODcxRkNFQ0Y0RjdGNjhGQzA0QzcxQTU2REM5NDI5MEREQ0FGQzg4QjI3CisxNDFEQTI5Q0M4NTAwRDc3NkRCRjA4NjI4MEQzMEI2RjQ5OEU4M0ZGQjZDMUNGQ0JGNjQwNDZDODE5QjhERDdFCisxNjIyQ0Y5OUYwMkRCMkVBQjYzOUExNDhGREE0NDEzOTIwM0MyMUIxNzlCRkQ5RjI2MDBGMUQ2RUZFMkYyRjQ5Cis2RjBDRTIxRjdGQjcxMUU0OTRGNjVBQ0NDNDIwODUwRTc3OTM5RDhGMTc5RDg2MTE5MEJBOTIyRTVBRTZBMUJFCitFNTk4MTQ3NUFCMjc5NzQwQTQwQ0JDQTRCMUM5NTVDODg4Rjk3QzFGQUFBNkYxQUY2RjJDRkZDNUYyNDU4RgogMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAogMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAogMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApAQCAtMjQ3Nyw3ICsyODIzLDcgQEAKIC9FbmNvZGluZyAyNTYgYXJyYXkKIDAgMSAyNTUgezEgaW5kZXggZXhjaCAvLm5vdGRlZiBwdXR9IGZvcgogZHVwIDEyIC9maSBwdXQKLWR1cCA0NiAvcGVyaW9kIHB1dAorZHVwIDQ1IC9oeXBoZW4gcHV0CiBkdXAgOTcgL2EgcHV0CiBkdXAgOTkgL2MgcHV0CiBkdXAgMTAwIC9kIHB1dApAQCAtMjU0MSwxMDcgKzI4ODcsMTA4IEBACiA0NUZFQzAxQTkxMUYxMzkwRTNFM0I4MEQ1OUEzMDgwNTYwMTM2NkZDMDUzNUU2MkUwQ0Q5RUFFQkRFNERERUUwCiAyNjBCNDBDM0YyMEQ4MDk0NEFERUJENDk2QTRDODI5ODVGQTU1MzYyQ0VGNUFBOTEzNzdGM0U1RTJDMzMwMEFBCiBDMjRBMjhCNURFNDQ2RUE1NkNFNzE3M0VBM0EzOTgzRjhBMzlDMUMwNERDMTExN0E5QUQ5RUU5MEE2QjBBNkI4Ci0zNDA2NTE0NTZFQ0RFNTM2MEQ4Q0ZDOEQ4OEVGMTU3QjQ0RUE2QkQzQ0VFRjNCQjg5NDI1QTcxNkQwM0E2NzFGCi1FMkRBQzg0NTY5OUY4MjEzREY2QkY3RUFBMENDRTkzQ0ZENzU1NzYyOUFGRUY3NTVGRDk1MDZGMDA2Nzg5QUQ5Ci0xMDBCQUVFMUY4REFGQjlDNTVEQ0QyQ0Y3NUFCQTAyODQxQjg4RUFDQUVCRkJCNkEzQUU0RjE0NTIwNDk0NEIxCi0xQjdFQTMyRDg3MzBCM0UyOUM1RDBDRDY0QUZEMjM2NTZDNkU0NjJFQ0I2Q0RGNDc1N0Y4RUZDMENCMkREQThBCi05MUI3OUQzRjQ0QTU5QjU4N0RBNTlERERGQjJCRTZBQzc1NjA2QzBBMUYxNUNEQ0QyN0M2QUQ3N0MzOENBNjJCCi02OTIyMzBEOThBNTA0RDQxRjY0NUU5Mzc5QThBOEIzRjk1RjMzRTRDQzM2MDVBOUI0NDQyMkVBRkE5MzlDNEUwCi0xOUVCMUUzQTY3RkFDNkU3RTkwNUY5MkIxRTdGMzVGMTUwRjc1MzY0QjIyQjcxQjhEQUZBMEU5OTVDRjMwRDhECi0xMTlBOUVFQzc5NjA2RTlCMDM4RTRCNEQ0NDk2NTNCMDUzNzkwNzc4OUI1NEQ4RTk0OUJGMjBCQzZBQUQzQzBFCi01MzA3NUFGRDFGNjc4NjVBMUQ0MkFCMDk0NTUzNEQ5QzU5QUE5MUM3Qzg3Mjc1RTJCMzAyNENFQ0JBRTQ3RTY0Ci05RTYxOTBEMEU3OTBDRTI2Rjg4Q0U2QzBGNzI1OEZGREVDNTU3Qzg4RjU1NjBBNzU2NzA1QjJEOEIwQjJGMUZFCi0yNzlDRjUzNEMyNjA0QkIyODMwMjRFQ0ZCNkFBNkQxNDk2MDIxRkNBRUMzMzkwQjAxREMwOTNGN0QwNEM5RDY3Ci1FMkQ3N0JCNDBFOTAzNUExQzQxNjMyMDM3QjVEQjYzQzYzMDJENDY0QUJDOUZFRTgyOUI3NDIxMDU5ODRDM0QzCi0zQUE4MzZGRjQ0NkQzOTREREM3ODgyQzNBOUZGMzU1MzQwRUFBODQ2MUNCNEFBMDgyRjAzRTExQjYwMzREQTJGCi0zN0ZCMTMyRTIzRTE4MkU3NDMzM0U0NkFEQzJDQTgyQTU4QUM0ODNGQkNBNUZBNkEwQjdDQzY5RkU3NTMzOUU5Ci01ODM1MEQ3QzBCMzM2NjI2RUNGMkJDMDI0RkI1NzEyQkE1QjNGNzkzNjk5NUZEOTM3QTRCMUVBNUZDNEE2QkZECi0wNTBCMjVDNURERDNCNjQyMDdBOTAwOTc4OTdGQUM3RjBENUY4QzUxRUQwQ0Q4Rjc0RDlDM0M2MDA2MTE4QjY5Ci0wQTNDODBCRjA4NTA5RUMwM0E3NzEyMDc2QzlCNzg5QjlBRkNCRTA4NDhGQzE2REZFMThDOTA0M0QyQzYyQ0VFCi0yMTQyMkQ5NjVBNkEzOThEN0UzODgwQzE4NDYxRDE2QjA4MDVGQjk1RjVBNzQyOUQzNUY3MDdDOTU0M0FGNEMzCi02NTY4QTFDRDEzRTRENTUxQzREMzkxMzkwQTlGRDQ1RDk5M0IwQTI3QTMyN0I5RTNFNjUxMUIzRUY2QzE0QkFBCi1GOTcyRDk4QTc1OTZDRDZBMTQ1NjAzRDk0MkY1OUZEMjA4MUVFQzY5NzhDN0FENUFBMDQ2ODMyOTFDRTVDRjg1Ci0xQ0FEODdEQUFFMEZGRjAwRDE0QUZGRUYzNDcyRjg0MTM1NThEQ0U4OEUxOTY2NDdBQkUyMTk4RTQwMUFCRTI5Ci04NzVCQkYyRTJBRTBBRkIwQzlBMjYyRjYwREQ5Q0IxOUY0M0JEMTZDRDkwQjE5OTM1OUEwMTQ5MEFDQTA1M0IzCi03N0E3NkI3RkI5OEEzRTA5NkE0QzM3NkE5REY2OUM4QjkxRjc2QURDNjM0QjRBRkI1OEVEMDBDOTY1NUEwRTdFCi1BMEM1NTUwODMwNDM2M0E4MkM4MTI1NEQ4MjdGQTE5MTFDMTZENDk2NzBBNjNFNDQwMkJENzhBMUY3RjRDNjE2Ci00OTEwOTY3RUY5NDI3NkIzMEFGREVCNTcyNEVBMUYwODdENTcyQkU0MDNCMENGRDc4NkQ1Mzk3NDUzQjQ0REE0Ci1BM0Y5MUZERjA3ODk2MjZGRjNEODE3ODMzMTY4M0IxQ0QxNkVCRjdGOTc3NDJBQTNBOTY2QjhCQzkyRTg3RDVCCi1CNTI5Q0E1NTIyRDMxQTZFQzMwQkJCNEM4MDAyM0JBODg4N0Q4N0RCQjhGQkVFODUyNDQwOUE1NTRGNTI4MkE3Ci1GMkQzODkxMzlEQkU3NDU2MzY2M0NFNUM4MzlEQjM5RjkzOTBDQ0ZGOUFBM0FBRjhDNzEzQTVGNjBEMkZFQTA2Ci1FMDY5QThBRjA2QjExOEVFMjI5MjZCNkFBNjdBQzhEOUU4RjdCOEM5NUM2ODg0QTI4MTZCQjFCRkE3MUQ4NkExCi0zMDNCMDQ0OEQ4NzBDQjZENDEwMDZBMDE3QjI2NjE3NzgyNDk2RUUzOTZFNjhGODUwMUY2QjBBQkMxM0VCQjg4Ci1DMUFEMUJEM0MzM0RGNkIwMTNCOENEMDM0RjI2ODY0NUEyMjE1NzEzODc0RDY2QzIxRUI3NUU2NUEyQTg4QUFCCi02RTgzRDc0REQ5RDUwOUYyQjBENDM1NUQ1MjhGOUFENkE3RUJGNkFERkFGNzZBOTIyMDU3M0YzRTYyMTlCRDk2Ci02NDBGNTM1RjVGMEIxNTRGRjc3QjVENjA5N0M2RDEzRjczOUU5QUVCRThCMkU3NDUyMjRFRjFBRTQ1NzBBNDM3Ci0wMDg2QkIzMDY5RDI5MDU5RUVERDc2MEFGRjFENDQ4RjY5NjY5QkREMzdFRDdGRDkwRDVCMThCMDU1QTlBMURECi1EMTIzNzgxN0VFRkVCMkM0REU5RjI3QkRBRUJEQzA5NzA1ODdDOUFGQkNFRjcxRjQ1Q0Q3RTYxOTlFRkRDQkMwCi0wQzdGQkMyQkM5MjIyODk0OTNDNDBGQTdDNjI0QTFBRUIxODEzM0ZDMEI1MjkyRUE5MDU4MjM5MzdFODJBMkMyCi0wMDA4MUUwREI1OEU1OURFMkQwOTYyNzY1Q0I1NEZDRjhGOUZBRTI0RUQzRkM2NDlCMUI0QzJCMUI3QTg1NDI1Ci1CNjM3QjA0MzFBQTQyQ0Q4MDEyRDZGQjAxNkI5ODREQUI5M0UwNzk0QzM1RUFEODM4Qjc1MERCOEQzRDVDQTc5Ci1FODlDMDlERkZENEZGMjZEMjlCRTcxOUExNzkyQTg2OERCNzAwMDQwNTFDM0Y4MDFERjAwQ0YzNTZBNUYyMDgzCi1DRUE0MThEREQ5QzczRjNERTE1RDFFMEIxRkIyRDNBMTdDRjkyMzIxRTE1NUFFNDk0MERCNTBEQ0IxNUEzMzNDCi02MjJBQjdEN0EwMDQzNDhCQURERDdBQkY1Qjk0MTQ2M0JFRjlGQkI4MTIxODZDRjE3ODU2RkU0NDc0REY3QzRCCi02MjYxRThEMEZDMjYyMzM0QTQ2MDVGNEU2QUZGRDIzRjBCOTFBNTRDODM2MzhGQzdBOTA5Njk0QTNFRkYyNTFECi0xNkRENkI3MkY0RTkwQzE1OUVGOUUwRjIwODQ3OTVFOTNENEMzODYwNkFDNjhENzJFMjhDNUQ5QUY0RkJDRUE2Ci0zMjlFNzYxN0QxM0Y4RjgxQjBGOTE1NDFBNTNCNTAyRUZFMTdEMjc3NkQ3Mjg2QkNBNjNBNkFFNzhFQURFMTY3Ci0zMkYzRjM5MjlEOTQxNTE2QTlBQUYyRDNEMjZBQTkwMDQ5MUNFNTM0QkEzRkZCMTRENjBGREM2RjUxRDM2RkQ1Ci0yMEQyQjJDMTdBODc1MUYwMkU5MEJGNDhCMDgwREFDMkJDNzYwMTYwNEQ5N0JEQzA0NDFEMDhEMzFFOERBNzBBCi01MjgyMzk2NDY2MDdFOUFENjcwOEE4RTQwMTIyOURCOERFQjUwOEJGRTY1NTgyQ0Y5MTUwNkYzRjYyN0IyNEQzCi00RDdBOEJGNkM1Q0FFMUEwQkRFNDM1RUNDMjQ3NTUxOTM1RUFCOTRCQkE2QkJBNUJGMURGQTY3M0Y0QjUwNjBBCi0wQUE2MDE4RjZENjdCODZFNTQzN0QzQUY2RTlBM0E2OEFEN0JGMjI5OTE5ODgxRkI2RkMzQjQ4RkRGQTUxQjFFCi05QUFCREJDMUY5RThEOTdFRDJCMUZFMkQ0NjVGNkQ3Q0U1MTRGRUYyQjYyMjc2QUE4NzI1NDZBMEUyNzkwM0UyCi1GMUQwNDYwRUU0M0MzODA2RUJEOUVBMTRDNDEwODhBQjhBRTBEQUU2MEU1Q0UwRkI2M0EyMjZCMjMyRjc4QTdCCi1CNkM5NjYxN0M3NUJFNjE1QTUxMDI0OEE0RkYzRjA5RjdBRDBFQjBCMTA0QkIwRUU1MzE2NDk2MzkwQTBERjI4Ci1CRUQ4QTA3MjM3ODAwQTJGRjNEMzdFMzg4MEQzNjAyNDU5QzdCRDVBOTJGMzkzNTk1RDRGQUJFMTYxMDUyRDM0Ci1FRURGMzdFQTg4ODU1NjQ2ODBCRUJGMjdERDUwNEVCREIyODQxM0NEMjQyRTE4MUMwN0YyMDM4RUVBNTVEMzQ2Ci1CNDQzMUExMkY1ODAzMDBBQTFEMkUxMkM5Q0VFMTA2MDJENjM4NTJBMjY5NjRFNTUyM0IxMDQwQTg2QTFCMzNECi1GRTI3MUQzMjUwNTJCMEE3OUYyQTczNkRBNjY5RUM2NjBBQTYwQzg0NEYyQTA4OTEzRTA0Q0M5MjgwMEE5MzU4Ci01QzBGMUE0MTY0MTQwMzk3RkJGNzU2NzJDNzM2NjEyOEEyQTNERTY5NjkwMUVBODgyRENBNkVEQzQ1N0Q2MTQ1Ci1GQzg0MjE0RUFCMTMyOTA1RkM3NTI5RTYzMDIyQ0Q3RTA4RDgyOEU0N0I1QzdEMEJCQ0QxNzFGMEMwNzg4QTJECi1CRTRGRTEwQ0JGMzZGQjhERkNFQjA3MDIzNjVCNEE1OEY4REE5RjhDMjQwNjE5NzBCNDdDMzlFMDE1M0RDNzE0Ci05RUU5MzY4OEVCMUJCNDlGMTcxMzY0RjFCQ0ZENjlCMEIzOEJFRUM1MTI4NDFCN0I1OUY0OEUyQkRGMEM4MjMyCi0zQ0JFRTU5QTgxNTMwOTg3Mjk5QTQ1MDQ3ODIwMUI4RkI4RTk4QjBGNjM2OUY1RkU1MDEwNkMzQTBBRjAzRDk4Ci00OUI3ODBDN0ZENkJGQ0IwMzY3NzAzM0ZBNTYxMjdFMjg4NzE0OTQyODFDMEFEQjE5REIyRDc3N0QyOTlGRTc2Ci1DMjYyQzJFOTk5RjU2RTY0Mjg0QzQ1MzNBRjI4MUMxOTM2RUE2MTc0QUMwMTFDMzg2ODBEMTA4MjkyMjZCMjY4Ci1BRkYxMzkzODUxNzI3NEJENDE1QUJFNDhDRjg5MjhEQUQ0OEMxMDg1MkMyNTc4NThGMkJDNjE2NDk5MDg2QkU2Ci05RDNGMEEyRjZGRUM2MUNBMzZBNzI3MTU0OUFENjIzQjZBQzk4NEREQjUwQTYwM0Q1NjgyNzE4NzMwRTdEMjAwCi1DQkYwNTE4RDg5RjQ2RTkxQjg1ODBEOEU5OTAyMDE4RUJDOEIxRkQ0RDFBODY0OEVFNzkwQTUwNjdBMkIyRjBGCi1BRDNBNEFEMDJGMENGQTQzRTYxMkMyQUU4RTc1OEFBMUQ4MDk4OUZDRDAwRTQxNDg3RTNEMkE1NjNCMjM2OUYwCi1FNERGRjA1ODJFQUQ2NTUyMjUzRkRFOEZDRjNFMUREQkE2MzE4NUU1MTJGNDExOTM1MzNFMjFCQzVFQUVCRDkyCi1BNDhERjVGNjQzODQ3MTk2ODM2MDhGMURFNTc2Nzg4Mjc4NENDN0I1RTE1QjJFMjk2QjUzMDNCQkJFRDA0MDc0Ci05Q0VDQ0ZENEFERjQ0MUFCRThGNjg5QjQ4NDNFOUEyM0Q2RjQ5RjkzQTI4RThBQjRCMTZFQ0E3RDNGRTVGNUQwCi0yRDYxNUUyMTlDOTI1MzhCRkExQjRBNjkzNzlBMTM4RTU0RTY0MDExOUU5REIyNjQ0MUQ3OTdBMzM3NDk0NTE3Ci1FRkY3REYwNDI5QTdGNTA4RjhEQkU5NzRGQ0ZCQzk3RDlEMTM4MEJEMDEyQjJDMjBEQzM2RDIzMzdGMjU5QUFFCi02OTFBMDcwNUJEQjkzOTREQzkwQTFERjVDMTgwQzAzM0EwRDEzOUMxQjEyRTYyMDYxRTA1RjlBMjU1MUI3RjlCCi1BN0E5MDg1MEVDQjk4NzhBOURENjJGRTA4MTAwQTc3Q0Y5QkM0QkUxMTIzMUYxOTBCNzQxNzQxNjg2RjQ4RkY1Ci1BMTlBRTFEQkIwNjMyM0U5QTFCQjIwRDFGNEVDOEE4NDVGRDhDNzAyQzRFOTA5MEJBRUFENkNBMEUxODhGMUUyCi1EMjYyODBCNTg3MzM0QUE4M0UzNkJCRjk2QUM2NTJBQjEwRkRFNjQ4QjM2NDIzNTU4MjE2OUI1Q0Q1RjZFNjVDCi05MUQxMjI0MTcxRDI1MDI2RkU2QzAzMEMyOUZFQkNDODRBQzFENEZEQjFFMDI3OTUyRjAwNjU4QjNFRURGOUMwCi1FNDk4OTY5NTM5MjExRjU0Q0VGNzlFQTA3RThCRTc4OUNCODhBN0QwREMwNjRDNkIxMzhCMEEwOEU3OEZBNTE3Ci1BNDY2RjUzNEExNUM4MzlCOTRENzY0M0NGQjUxQzhCMEQ4MzUyMjQ3OTU0MkYwNDRCMTRBNzUxRDVFRTEyNUVGCi0wODUzOUY4QTFGRTFDMEYwODM3NDdCQUI5Q0VFQjc5NDBCRTBERUQzMzE2NURCNTQ5RDhFOTFFRkQ1MENCOEZFCi1DNDhCRjM5MDFENDUxNUZGRTFGODJDRjcxNTVGN0E0NDFDMDBEMzgwRURCMkFDODFBMjMxMTRCRjdFMkNBQjQ2Ci0yNTE3RDY3NjkyQzFGRUJDNjJFRUJBOTU0QkNGNzQwN0UwOTZEODM5Qzk5OThBQUY3NDBCMkY2NTAzQjRCNDBFCi1BODUyNTVFNkFBQzYxRDZFODNFMjVEMjA1REQ0Nzg0RUIyNzBDQTE1MEY2MzkwNzhEQTFBQzlCMkQyMzM4NDg4Ci1DMERBODYzREQ5RkVENEEzMEM2ODAzQ0I2MDE4ODNFOTVDMTIwOUQxRTM1NzJFREFGQUZFQjJENUI4RjAyNUY2Ci04NDc2NUIzMUNBRDJENjZDM0FGRTY0MTdFMjE1NkIwMzk4OTMxODNDN0FDMjZFQkVGMDAwMUNFQ0NFRkNFMTgwCi01MTFDQjI2OTFFNDI5MTU1QUNCMTI4RUEyRTMzRTM4NDM0NDY3Rjg5RjlBNjFDRDk5NjkyMUM4QjM3OEI3MkM5Ci1FRTk3RkY3QUE4RDJDRDg3OTcwMzc4OTIyMDlDMTBGNTk0NzM1MEU3RERDMzNEQzZBMDFEMjMzNzRDQjFFQUFECi01MzdERUJGM0I1NzUxNDNGNkJERUYyMERFMTJCMkRBQzZCNTIyRjcwNDhFMjNGOUIyMkIyRUMwNDJEQkNCODUxCi01QjM5MkRDRTk5Qzc4M0M4NzBFRUY5NTg2RDczMTczMkFGODgyNDAxRTgxMkMyQTU1M0Q2REJBMkQ3OEMzMjRDCi1BNjUzQjc0OEExNTVDMUFBRTQ3NUI1QjdENDE2RThFNDQ2M0FGM0NBODcxNDZCQURCQTdEQjEzNDEyQzk0OTQ5Ci0zMTc4MTJERDdCRDlGOTk0NURDQkVGRkQ3QzA1QkE1ODg3MTQzNzFBRkNEMDE0N0IwRjdBNURDNjZFMEYwRjdGCi00QjU5N0U0OTcxNjAyOUZGRkFFOTBFRjRBNkQ2MzM0MDdDRDQ1MEJCMkI4MzFBQzYyODlGNDQ5NzI0RENGMjc4Ci1BRUZGRERCMEQxMkJBNDZCN0QzOUYxMTg4OEE1MEJFREFFQUM3MTVFNEI4ODBFOUZDNDFDNjM1NDYzQkQ5OUUxCi00QzQwMUU1OTY1NDA1RUNDRTNBQzY1NEEyQUZDNTlFOTVFRDA0MTZDNzk3RTVGMTQ1NzI0RENENUEyOTNBNzE3Ci05QTk3N0E0MzhDRDVFREIwMkQxMjA4RjhBM0NERjRFMDBFNkQ2QTE4OERDRkVDMkNENUJGODZDQkY2MUQ3QzY3Ci1BMUEwQTc5NDZBMzVEN0U3QUMwNkY3MURFNjcxRTMzRUM5QTlFQ0EyMUU5NjZBQjQ1M0RFQkY0ODNEMzZGNjg4Ci05RDAzQzA4QUMwQjM5QjhGQTQ3QzcwNEUxQjc1MjJBQ0NBMDJDOUREMEEyMUQ0N0MwQTRFMDA3QzlDMkE2RjYxCi1DMEJENjNDQUFCOEZCMzhFNEQ5Nzc1QjQyQzQ5QzMzRkM0QTEwQUM5NkY3MUQyMjgyRTFBNUMzQ0E2M0FDOTgxCi0zRjg0Qzg0RUI2OEM0MjI1RkMxNjlFOEJDNkYwQ0ZERDdDQkQ4RUI5OEE0OUMxRjYwNzA1RThGMzY4NkVFRDRBCi1DRjdFN0ZCQjY2MzA1MzdDQUNCOUM4QTdGNzVEQUE5OTlCRDkxRjg4QUEwOUYzOTlBRDQxQzE5QUJDNzQ2RTgzCi05M0NFQzM4MjA0OTZEMEMwQjRFQjIyNEFFNjI4NkE2MzdEQTVERQorMzQwNjUxNDU2RUNERTUzNjE1MjUyNDE2NTM5RjVDRENDODA5QkJFQjFGRDUzMTJEODNFNjgzMzU2NjcwQUFDQworOTdFOTUyMDI2NTc4NDhGNTlENTY0RkM2RjRERDA4NzkyRkNBOTc3RjA5REJCMEVDRjNBNTdCQUFDMTEwREYyNAorMjlBQTMzNjQyNjUwODM0QTI0MDExNkY5ODQyMTNBMDQzQjM4RkRDNDkyMjI1NDc4OUY5NTFGRTkwN0I5NTg4MQorMjhCM0NCOEQzMzQxNkUyMzE2ODk4OUUyODNFRDNEMDFDNUMxN0U5MDAzNjc2RkU0NUMzNUUxNEREMTAwNDJFQQorRjBCRjkyNjI5NTVGNTEyQzE2RDk1QjU1QzJEOTc2QjZDN0RDRTA2NjVDODJDMURENjY3NTJBNzRCOEZENEVCOQorNEREMjEyQjdBN0E4MkQxQkY0RUNDMkZEQjAwNjgwRDEwN0IzMDc0QTVBMDYzODY5OUI4NkVEQzUyQUIwODc1RQorQ0ZFQ0U2Mjc2NDQ2MTg2QjIyNkQ4QUJFQUEzMEVDNTUyNEY2QTI5M0VDMDFERjVFQjFCOEJENjVBMDMxODQxOQorRjU2NjUyQ0RGMUM3QkEyMTg5RkE1NUE4QkI3NTYzMEY1OEEyMjcwRDU3M0EyOTI0QzFBMkVBRjRERDNFRDQ2RAorMjkzNzExRURDOUY5NTQ5N0NCQzJCREI3M0MzNUE2RDYxNENEOEI4NzFBMjlBQjcyNEY0QzM1Q0JCM0U1RTM2RgorRjJDQTEwNzlGQ0U0ODVCOTRCMDU4MkIxN0UwOEIyMTE2NUI4QjBCMzY3QUQ0NDY4MjI5OTk2REZEODhBMzU1OAorRjYxQUVCNjVDM0Q3QjY0NkYxMjZDMkM5MjlFQ0Y2QkQzQUM0MTU2RkZDQTJEMTc1RDNEQjYxOTEwRjIyRTJEQworRDQ5Mzc1MTAyMzkxMzE5MEE5NDVBMjc0QUQyNzQ0MjU4QTNBQTIxQzI4NEY3RUFBRTUzQ0ExMTJFRUUzMkU4RAorRDcwRDU0MzY4OEJGRUI5NDRDNjk3REYxODQxNjFEQUZBNjE5ODMxNzc3NERGODQxRTUzNzhCNDQ4NjVBMzRGMworQzc4NzBGQzQzRjIxQjUyMzY0QTAwNTlGODY2MEQ1NUFBMUQ0MThDRTQzNzZGOEVFRDEyQzAxNUFEMDU0RTNERQorNjIzQThDNkNDNTI3ODA2OUQzNEZGOEUwRDUxMzNCOTUwQ0M1OTEyRTRFQzhDMzEyMEY0MEQ1MzAxMTA4MzRDQQorRTBBMEM5MEY0NDMyODM2QTNDMDFCM0Q3MDIxQUU1MkU3RjJFOTc5NkFFMzgwOTc5QzgwQUMyMjEwRkRDQUQ2RAorNjVBMDk5Qzc2MkIxRUExMUY0RkUwNTU2ODRDRjNDNDQ5QjJDRDlBQkNEQzBGQjMzMTdCREI0NUVBRjk3MDdBOAorMzlEQzkyODlDOUY4OUVDNkU3OTk3NEI5QTNGRTYyQzNDMEJBNjJEMEVBNkRFQjNGQ0UxRkYzODE3MDIwNTAxMQorRTc2QUVBMzQ2RUFCNDE2RjM5QkY2QUFCRUQyREJFQkQ5OTM1MjAyODJBQUEzNDA3N0UyQjIxRDU4MzNENzM3RgorRjkyRTg4ODNEMzUxQkNFNjIxQkNGNjVERTIxRkU5OTQ2N0I0RTNDQkYwMjJCNkFFOTg4NjAwMDIxMkM2OUVCMAorODI3MDgyM0Q0NkIzOTBBQUY1ODI3NDdEMUU1N0JCQjI3RjJCNDQ2MTUxMzEyNUFDODI2QjAxODE2OTBBQTQ2QgorMDY5MEU5MDNEQkQzRkY3RDIzQ0JFMkZBNkZDMjUwNDM0MkRCNjc5NzY1OERDRURCRkQ4QzYxRDAzNDY5NDg4MQorNzFEN0RFQ0M0Mzc0OTZFN0U3NDA4RjQ2NUU5NDVFMjhDNTQ0OTQyQ0MwQkNCQzI1MEQ0RTBBRjE0RDlGODFFNworOEQ4NTIxQTg5M0FCMkREN0I0NTZGRjhGMERFNDI2QUY1Rjk0Q0Q2MjZDRTMyMEFDOEQyQzBGQjJEQ0JFMzQ2QworRTg2NDk1MENFMzlGNThBOEVFRUM2NkZCNDkxQjNCRUY3QTVFQ0M5RjY1MkM0NTYwRDQ2Nzc1RTU1M0ZBM0IxNAorRThEODhFRTU5RDJDNkM4OTQwQjQ5NDI0NzhFNjY1MjExM0E3MTA0RUY5QTdCN0JGMzlCQjFDODUwNTVDODY0NworRUEzRjNFQUNFREMxM0VBMDAyMDMyNkUxMTFFRTZDQ0U3NjNCNzYxQTgyODUzRDYyNjAzNkRDMUZDMjkzQjExOAorRjMwNTQ5NDZEMjEyM0Q1OTVGNDUyQUE0MEU4REMzMjU2NjlEQ0JGREMzREMzMzA5MzJBNEM0MDg2QTlEOUZDMAorNkEwM0QzQjgwN0Q3RkVCMTY1ODY5RUEwNDlCQzg0MUNCOTRGMzRGRDNDMDBCN0EzNTUzOTlBQ0RFODNDNTFBOAorNEM0NTA2RTdENjcwRjQ5QTVCMjFFMjQ5QUIzRTUzNDdDMTdGQjlBRkZCRDRENTQyM0Y2Mjc1MURERThCRkJCMAorMjE5NjdERTUxMjU5MUUxODExMDg2NDlCMTEzQ0MzRTczMTlENjFDRjIwOEY0RTAwMTFFNzlBODU4NTUzMkMzNworMTlDQjFERTY0NUE1QjA3QzhBQzBDNUM1NUJDQUM3RTAxRjEzRjY1NDRCNDI4QjZGM0E3RkU2NzUwOUExNEEzNQorNDMwQ0IyOTVFQ0Y0OUNCNUQwMERCNkMxNEU2MEExNjRDOEQ4RDgzMzQxQUY5REQ2MjUwQ0NEQTM4NDVBMjlFRQorMEJGQTZEM0IwODIwQTVCRERBQzk2ODBFQUJGMjZBNUVCRENFOUNENTRFQ0I4MjBGMjU5MEJERUEzNkJCRUIyMworRjEyQ0Q2NjJBQkFDNDNCNDA5NkFEREZEQjZFMEJERDMxRTA3RDNERjM3QTcyRjBCRDcyREEyQkREQkQ3NTZGRAorQTUyRDM1MUVEQTlGQzhCMzlCQTFDRkRBQkZGNUI3QjA2MUU4NDM1NDg2RUNBMEFDQUNCQzQ5MTdDREI5RDRDNworNkQ4MUNDMUE5RkVFNzVFQTc2NUI0RjIwRjUxMUYyNzFCNUI0RTA1NEUwMkNBN0ZGNTk5MEJBRTREMjcxQzVEQQorRUQyRTc5NkIzMkI3MDE1NDkzNTEyRjgxQjkxMEI1Nzk1RDM4REFGRjY0OTI4Q0FCQkJFMDMxRTkyQjFDMDhBMgorODZGMkMxRjY4RkRFMjg2RkFGN0NBNzRDOTkxMzM4NUQ3MzkyNjJENUMwNkVGNzNBMUMzOTc2Njk4RjUxRDJEMAorRjg1ODk4NEQyQkNBNzk0MUQyMTgxQzk5QTdDMzNCNjVBMTdCNkExQzAyQ0NGREI5QTIzRDBFM0U3MjlCODVBQgorNDA1ODMwRTJEMDZCMkIzNUVCMjY1OTAwRERCREJFMTI1QzBGODI2MTNGRjk4Q0Y0OUU3Mjk0RjNFQ0Y0MTRERgorRUE4NDI0OEMyMkE1NjE0Nzc4NjFFQTc1NDkyNzQzQzRGQjg5MzVENDQ2QTEyMUZEOEY2MEFDMTRDNjFEQjI1NAorMDdGQkREQTA3Q0REODUzQUZFOTlFQjVCNTRDM0Y4OTUwMzA0MERCODU3MTRDRDk1NzI1RDMzNDRDNTEzMUIzQQorNTMzMDAyMUI4MDlCOTk1RTEyM0UwNjBDQ0RBQjU3MTgzQ0EwOUU1NTRFODE0NTg4N0U4MEVGN0FGNTg4MzVDNworRDZGNUE0RTY5NTU1MUQ0Q0FCRERGNUU5MERCNTFBNDExMTBCQUIzNjBFRkVEMTQ0QTY2OTlGMDBGRTMwMjNBNworQ0Y3QUEyMDU1QkM4RDU1QzY3REU4MTI4NTI3QUUzMUQ5MTMwRTVFQTdBMDdCRjIwNjdDQjEwODEyN0JEOEM1QQorQjZEMzI1QTY0MTVFQTlDMjBDNTcwMkExQTU4NzI1QTM4NUY2OUJGREFEMTRCNkMyMUQyQ0Y3M0E3N0U2ODcxMworNDVEQjgzOEE0MTJERUEwRDA1NzVENkREMkI3QTE2NTBCQ0FCNThFNUJFRUFBRUFEQTM5MDIzQzJDQjMyNjUxMgorRThEODkxMDc5NjBFMTkyMTNCQTRDMTg5MjlDMDlDMkVGNUUyMTZGMkRGMTVGRUUzRDY4RTJEMzI1M0ZGMEZCRAorMEIxRTA5RTYzRUU0N0E2RUVFOTJGNzlGQjREMzM4MkFFMjFGN0M3RkUyNEMxQzVFMjhCNkJBQkI3NjFGQjlENgorNkJGQkI3NEUwQTI5RkJGMTA2REM1NDJEQTU2RTg0QjFEQTdFRjg5REM5RUU5MEI2NDIxQ0QwQzY5RkJENzg1MAorNUM1RDQ2MTMxMEEyNkFENEU5MTU2M0NFQkQ3MjdCMEUzMjdFNURFM0RDRjFEQzUzOTc0QjVENDdEMjFCOEI2QgorQTkxQzA1Njg1QkMwQUEzNTcwOUJEM0RCRThBQTkxRjlBQ0E2QTEwOTFFRjRDRDUzMzZDNzY1NDNBMUVCREU4MworQURBNTIwNkRBNzkwOTRGNjdCQTU3QjUwODA3M0VEMzYwMjlBNTQ3MkVBQkFERThERDc2Q0RDNTc4ODI3REU4RgorQTkyODk2NDMwMjU0QzBBMkRCNTEzRUY2QTVCNjE5ODgwOTI2QzAwMzlFQ0JFRDBFRDlDQjRFRTJEREFFN0IzOAorMzk2MzMyMDY5MjZEQjc1ODlFREE2OUE0MDlCOUY2QTBFNjkxREVCMkI3RUE0MDY5QzU2ODlGMUZGMkI3M0FGRAorMUVCMzAyMDk5MTgzRjU2MTFENUFCMTAyN0I3RDk3MERCMjhCNjIxRTY3OTM2RUQwRUIyMDFBMDQ4QkExMzEwRgorN0Y0NDAxMjM0QjE5RkQzNDY3NEI4NTFFNjM1QTE2MjFDMTVBMUY0RDEyMzJBQkZGN0IxRTE0NUY2REQ4RTYwMworMzhGMUEyNDg3Qjc0MkFFNjdGNDc3M0IzQzU5NUE3NjAyMjQ3REE3Q0I0QzZGOEE5OTYzRjYzREMwOUU2QTUzMgorQkZFNUY1QUVDNDc5OTJCODgxM0FERDgyMkNCM0U3MzE5NDBBOEJBM0IzOUMwMUVBMkE5MzVBNkJENDUzRDY1NQorQjFBMTFCMzEwN0QxOTZBNTc2MEVEMkU0RTFCNEM2MUQzRUIyNzZGRkY2MURCNjI4Njk1Q0M2OTAyQ0MzQzcwOAorODE5NkUzMTY1QTBDQ0VBRjUzNTJEM0I3NTU1RDgzRTZEMDM3N0MzMjVCMTIyNEU4NjkzMDA0MEYzRkY0N0RFNgorRjVFREI3N0ZFMDlBM0Y4RDM5QTA3ODNCMkU4NzM5RDlEOEVDNzZGMEM4NDZDMzIyNTlDODY5MTExOEU2NzQ3NQorMTA0NzAxNTREM0I2QjM1RTRDNkVBRTZBNTg5ODMxM0U1NURCMDYyNUEzRjkyRTc1NTM5M0FENUQ1MUU0MDk1NQorQkI1MzczQkI4NDJFODBCMEVGQzNDNEIzNzgzQjk4MDk1MkU4NzE3MzBERkM5NDA1NkUwOTMwNzI4NjlDMTRFRQorM0U3MjJCQjI4MDFDOEJERjNDMEVBMThDN0RCM0FGOEVGRkE2NEZGQzI4MDk0RDJFRkU1N0REMDJGNEM3RDU3NgorOTc3RDlBRjk2MEEzQzc5QzNCM0M5NUFBNUYzRkY0RDlFMUREN0MxRTI0NzAzNTEyOTZGMUQyRDBDNjg5MTFGRgorMjZCM0M0RjVDQTQ2QkI2OTQyNDQ1NTRDQUM3MjBFMUQxQ0Y2NkY2OEU5RTFFMDUwMjc3M0FFM0Q1QzMxN0E5OAorNEIwODg4MUJGNEQ5MzFFMUQyQzZGQjM5RDhDMDRGNDE0OUYwMDNDODQ2RDdFQUYxNDc0RkI4Q0JFOUUzQTkzQQorQUY4QTY1QTVCNEVEMkQyMDExQjYwQzRGNDhGQzkxQTAzMEQ2QzY5NzcxNTlBQTc2ODM4QjZDRTU5NkE2REE5MgorQkUxQjFEM0E5QzJCQUI5RUVDMUUzMkQ4MTBEQUVEOEFCM0FDNTAwQkFEQkMwM0IzNTdERjZBQjhERDk1RkYyMgorNDk5QkE2MTk2MjdBOUJFOEY4MDNGMzMxQzk1QUE2NEExRkVGNDU3Qzk2MDEyMDY4NjM3RjdEQjFBQTRBMkI0MworMTcyODVGRTQxQjIxMDlFM0NCNzUyNDEzOTMzRTA0MjkyNDQ5Q0FBOURGODUwMkU1NUM4MDhCQzJERjNGMkIxRQorMEYwMTY3RDY2MzcxRTZGREU5MzJCNzdDNDc4QkU2NDEyNDE1OEM3RDNFQjJBRUI3QzExMzhDNTFGOUJCRTRCQworMjdERkMwNEQxQzg3QjQyMjcwOTAyNEFFNjM5RkZFODdFQkMwM0FGMEFBQkRFQTlBODM2RUY3N0NGQTBGNjBFMworRUYyRkQxOTY3RDE3ODgyN0M4NUVEOTJEMDhGNDQ2NDJFRTE1RDU0N0RFMDY3REYzRjQzMkZCNTU3QkE2RDE2MgorM0YzNTc1QkI4NTREQTlGRTAyQzdDNEUwNkE3NUFGMTNBNDkyNEQxNDRDM0E5MUZGQ0U5QkMyRkM4NzgyNTlGMQorN0M0MDUxRkFDMzFGMUZGMTNBMkQwODhDNzJGM0IxRUIwMzYxOEIyRDBFNjIwNzU5QzFERDM3RDE3MUVBRTA0NgorNUE1MUFGQUQ4RUQyQTdBMThGRUY0QjRBMTZBQzEyQ0Q5MjIzMzAwN0UyQzQ4RkFFRUIxNTAxQTNGODJBQUM2MgorRkEzQTgzQTcwNjUzRUIzNkQyMzdDMjNCMzdCMUUyQTU0OUM1MEM5RDUxREY4QTczN0U0MjJBQkE5QzFDRTYzRgorODYyQkIwNkJDMDEzNEZDNDM2NTgwMDhFM0Y1RDQwQzU1RkU5MkFBQkRFN0IzQUU2NTQ2QUMxQzM3RDJCRTBBRQorNkM4NzBGQjIyRDVBNzQ0MTI2QTM0QUE3RjQyNkNGMkU3NEYzRjc0NDMzNzM2MTVGQTlBNTMwQkU1QjRBNTdDMworOEU2NTBBOEIxNTVGRjg2MjBGNDU4RjBDRDg3ODQxQTRGNDE1ODc1NzhGNUE0MjBEN0NFOTBDNjQ0OUJCRDZEOAorMEJDQkQwMzlBNEEwM0U2Q0U2RTAyQjJEMzFGNTQ0REVEMjBEOUJCMDNBMUU1MEQ2Q0E2NzkwMTE4NDRDNDUyQgorOTZDREQ4MEI2N0NDOTVDNkI3NjBBMkE1OUE3NEZFMzc2OTVBQ0QxNjczQUMxN0FDQTVGMjdBRUNBRjkyMTkzMQorNDdDOTA1MjY2OTkyQ0UxRTUzNjc3ODU0RDYxMTFFNzg3NTUwNzE3RDc0QzkzQUM2QzlEQ0Q4RjU1OUFBQTU1OQorMUFCRDk4QjlCMTk1NkU0Q0JFQjlDRUMzQTFCQzFBRTZDNDUxMDZBNkJDMkQ4NjIxNkRCQkQ3Rjk1M0U1QjI3MQorNDY1RDVEQjg5MUNGNTU3MTc0NUNGMzJDRkUwQTUyNTI2QjgyMTVERDlGMTY1RDdBNTM4MjBGMUUwODlERjg0QgorMkVBQ0YzQzI1REQ3MDg4NDNEQjMxOTg4ODE4NkQ0Mjc5REFGMzREQkM1MEZBOTdFNEVBMEQzRjI5NzU3ODE0MAorNTI2N0M4RUU2QUZCQThDMTU5OEI0MjYzMTAwREY1MkQzODk3MDEwQTQyOUJDMTU0OThDOUY5QzE4MTU0MjIwMQorNDg4OTIyREEyMDc3Q0QyNkJCQzU0Nzc0MzBCMkYwNkM2MjlBMkU3MjA2MzJENjgxMkUzQTYwNkE2NTBDRDM4RQorQkM4ODI4RTFFMzczOTVGRTAyODNCNzE0NTFBMEU5NEUxNkQ4Q0M2NDJBRTQ5OEExOTFFNzEzNUMzODNGNzc0MgorNTcyMDBGNTZGQ0E0MDM2MjA3MkUzREU0OTU3ODQyQzcxMEFFRkNCNEY4ODMwQzQ5MTJFQTUwMzJFOEVFQ0RCMgorNEMxQ0E5NjlGRkJERjM3OTY2QTc4MkRDOTJBMEM4RDFEOTAyNEE3RjYxMzFDMUNFQjNCNDU4QThFQjY5QzAwOAorOTMxOUMwNUExQUVGREUzQkI2NjNGQjkxNzRCOTRGRUVENjBGNkQ5MTREQUI1MDI5REFGMkYzQTgxMzFDRDQ5OQorNUE3NDQ2OTY2MkUxMjZCOUIwMDBENUVDMzQ4NDUyREU3OTU2NzdBQkFCOTA4OUZERUIxQjI3QjJFMkU1RTRGMQorQjMxRTI1QjExRDRCNEM0RTczNDk5MDcwMjQ5QjE2QzAzNDRGRkJBODdDRDEwQTQ0QTFFOUU5RjI5NjJDQzE4NgorNzg3MzlEMzE4MjNDMkRFNDY4RDFGQkI5ODQ5Q0M5MkYxOEI1RkJFOUREMzg1NTc2QTU0MjE1REY5MzM5RDVCOAorM0FCNjZFOTAyRTQzNzMyNzUwREEyRjU3RjlGNkM5MjhDODRFMUI2RUQxMkZCRUFEQUZDQzY1OUU1NzFGN0Q4RAorMkI5MTIxQzEzNEVCOUZFRTZGQUY5QzQ2RDI5QUMyNEVCNTU5MkM5RUVDNUJGNDE0MEU4QkJBRjIwNDIyRTQ3RgorQTE2QTdCRDQzQTZEQTMwNUE5RkVDMEE0QkY3MjM3QUU1MDU3Mjc2NkIyN0EwQTJBNEFBRDQ3NDY1QjUwRDQ4NworQkY5RkMwOUIxNjgwQUFGNDgyMDNDMEMwCiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCkBAIC0yNjUyLDI5ICsyOTk5LDI5IEBACiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiBjbGVhcnRvbWFyawogJSVFbmRGb250IAotJSVCZWdpbkZvbnQ6IENNQlhUSTEwCi0lIVBTLUFkb2JlRm9udC0xLjE6IENNQlhUSTEwIDEuMAotJSVDcmVhdGlvbkRhdGU6IDE5OTEgQXVnIDE4IDE3OjQ2OjMwCislJUJlZ2luRm9udDogQ01NSTEwCislIVBTLUFkb2JlRm9udC0xLjE6IENNTUkxMCAxLjEwMAorJSVDcmVhdGlvbkRhdGU6IDE5OTYgSnVsIDIzIDA3OjUzOjU3CiAlIENvcHlyaWdodCAoQykgMTk5NyBBbWVyaWNhbiBNYXRoZW1hdGljYWwgU29jaWV0eS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KIDExIGRpY3QgYmVnaW4KIC9Gb250SW5mbyA3IGRpY3QgZHVwIGJlZ2luCi0vdmVyc2lvbiAoMS4wKSByZWFkb25seSBkZWYKKy92ZXJzaW9uICgxLjEwMCkgcmVhZG9ubHkgZGVmCiAvTm90aWNlIChDb3B5cmlnaHQgKEMpIDE5OTcgQW1lcmljYW4gTWF0aGVtYXRpY2FsIFNvY2lldHkuIEFsbCBSaWdodHMgUmVzZXJ2ZWQpIHJlYWRvbmx5IGRlZgotL0Z1bGxOYW1lIChDTUJYVEkxMCkgcmVhZG9ubHkgZGVmCisvRnVsbE5hbWUgKENNTUkxMCkgcmVhZG9ubHkgZGVmCiAvRmFtaWx5TmFtZSAoQ29tcHV0ZXIgTW9kZXJuKSByZWFkb25seSBkZWYKLS9XZWlnaHQgKEJvbGQpIHJlYWRvbmx5IGRlZgorL1dlaWdodCAoTWVkaXVtKSByZWFkb25seSBkZWYKIC9JdGFsaWNBbmdsZSAtMTQuMDQgZGVmCiAvaXNGaXhlZFBpdGNoIGZhbHNlIGRlZgogZW5kIHJlYWRvbmx5IGRlZgotL0ZvbnROYW1lIC9DTUJYVEkxMCBkZWYKKy9Gb250TmFtZSAvQ01NSTEwIGRlZgogL1BhaW50VHlwZSAwIGRlZgogL0ZvbnRUeXBlIDEgZGVmCiAvRm9udE1hdHJpeCBbMC4wMDEgMCAwIDAuMDAxIDAgMF0gcmVhZG9ubHkgZGVmCiAvRW5jb2RpbmcgMjU2IGFycmF5CiAwIDEgMjU1IHsxIGluZGV4IGV4Y2ggLy5ub3RkZWYgcHV0fSBmb3IKLWR1cCA0NiAvcGVyaW9kIHB1dAorZHVwIDU4IC9wZXJpb2QgcHV0CiByZWFkb25seSBkZWYKLS9Gb250QkJveHstMjkgLTI1MCAxMjc0IDc1NH1yZWFkb25seSBkZWYKKy9Gb250QkJveHstMzIgLTI1MCAxMDQ4IDc1MH1yZWFkb25seSBkZWYKIGN1cnJlbnRkaWN0IGVuZAogY3VycmVudGZpbGUgZWV4ZWMKIEQ5RDY2RjYzM0I4NDZBOTdCNjg2QTk3RTQ1QTNEMEFBMDUyOTczMUM5OUE3ODRDQ0JFODVCNDk5M0IyRUVCREUKQEAgLTI2ODIsMzIgKzMwMjksOTggQEAKIDUzMkY4NUQ4MTFDNzBEMTQyOUExOUE1MzA3RUY2M0VCNUM1RTAyQzg5RkM2QzIwRjZEOUQ4OUU3RDkxRkU0NzAKIEI3MkJFRkRBMjNGNURGNzZCRTA1QUY0Q0U5MzEzN0EyMTlFRDhBMDRBOUQ3RDZGREYzN0U2QjdGQ0RFMEQ5MEIKIDk4NjQyM0U1OTYwQTVEOUZCQjRDOTU2NTU2RThERjkwQ0JGQUVDNDc2RkEzNkZEOUE1QzgxNzVDOUFGNTEzRkUKLUQ5MTlDMkRERDI2QkRDMEQ5OTM5OEI5RjREMDA0QjgzNkQzNEU4OEMyMEVFQjUyN0NFMTEyNDIwOTM4OEEyREYKLUUyN0E4REYyOThBMjY5M0E5RDUyOTkxNkFBMEIyMTc2RTZFRDIzN0Y2OUQ4NEE4RkVFQjM2ODYxRDE4NDcyMDcKLUJFMkJENjFDNkE0MTJGRkZFREZGMTNBRkVDMzJBQzc3MzVCQ0NFNTk2NUY1OTY2NDE4QTYyRUNCOTkxMTJBQjMKLTNCQzkzOEVDNTkwRkY2OTIyNjU5MTI1RUI2N0UyNjBCRjAyODg1RTQ5QkE2MDE5RTY5NkQzM0YwQjUzNjA2QTIKLUY1MTVFMEM0NUYzMjMzMTE2MTNBOTRCODM4NDkxQkFCOUZFMjMwQzVDQzc5RDIyOTI1RTNEODgyNzk5RjI3MDcKLUMzMjk3NUE0OTRGMEY5NTEzRTREODMzMkU3RTU0NDcwRDk3MjFGQkQzNDVDREJCNDgyODZGMkYxOUNDNkQ2NkUKLUJCNjMxREQ2NDc2QTUwOTE2N0E0OUNBNTI1QTcyQ0E1MEU4MkMxRDA4QzJCMzcyREI1NEM1OTQ5Qzc1M0I2MzIKLTIwMDlCNzYxRUI5MDQ5MkFDRDNDQkU2QTM1Q0UxQjY2RjNCQzREOERDMzY4MjdDRTQyNjFBNzAzMzI4NDUxRDEKLTg3OTQzODQ3OTkxN0MxNjQ3NzcyOTk5MTcxRENDRjE0OTFBMUM5MDg2RTBDNjM5MzUwNjc2OEY4NzU3QkQ4MUQKLTE0MUM0NkVCOUJGNTA3RUVDMjk5NjJBMDA3MkI2QzVEOEM4NTg4RjNENjg4ODZDRDI2MDZERDNCRDJGRUNDRUYKLTYzMjQ1NDk0RTkzRUVBMTJBQUZCMDYxMTBFNTRBREM0NDRDN0U3NjE5NjI3QTQ4QTQ2NDM5NEU1REUwNkVCNDYKLTRDNzZBMkZGMDEwMzE4QkJFNDhCMzc3NkM4MjZBMjY1QzY2NTE1NzE3RjdGMkU5NDNDNjBFQkFCMjNEOTZCNUIKLUZENTE0QTFDNEU3OUJCM0QzRDJERUI5MzZGOTBDRDNGQUJGN0IwOUZGN0Y1NjRBQjVDRjRBRjZBNDBFODY5RkQKLTM5NTg4NUE4OEY0QTEzOEIzQ0E2OTQzQTJENDMwQkJFNDNEOTFGN0YxNzYyMUNBRjUyRkI3MTYxREEzQjIwMDMKLTgyMjQ0RkI2RUU3OTJEQ0ExNzIyQzAzMzkyQzI5NkMwMjlBMkRDQzVCQUFCM0VBMDNGOERFQjAzOURDODNBRTEKLTc2M0FBQjg0Nzc2QTJDQ0ZGQUU5RUFGMEJGREFFNDE3RThCRTY4MkQyMzdGRkVEQUYyMjRBQzA5Qzk2NjUwMTkKLTE2NUNFMzJGNTM0OUU4NTcxNzdEOTRBRDYzOTY1NzA5MzJFMTY1N0FERTREM0ZGNTdBMzQxOTk0NkNDRDIxMEUKLTU3RTVBMUQ5MUNGNzA4Mzk1OTQyNTI3RDEyNzYwNjM1MDkyNEQ3MUJDMjFDNkY5NjkyODhCMUM4Q0EzNDA0RUQKLUU2MjE5OTg1RjczMDFBMjA2MjEzNjhGNzQ3NDdFQUQzODk5MEE0QzlGMkI2MjkxM0I4RkRCOTM2NTc0MDlGRjUKLTE3OERBQTdDOTdDMzVFQUZBNDc3NzhDRTAzRTg2MzMwMzU4MkQ4QTk5MDBFRjRGOERBODc5REVENTRCQUNEN0EKLTRBNTBDMThBQTJFRDkwNkZDNERDMDczQjFFNkNBMUUzODU1QUQ1Qjc2OThFRjRBOTZCNzdEQkUxOUExMjM4MkEKLUNGQTg3MTdERTIzMENCNjE4MkYyMjUwODg1QjhFOTBBQzQyQTY2NDg0QTdCNTI3MDYxQjIyM0E2RDFDQzcyRDQKLTg5MDM1OUU3RTA0NjkwQkZGQTk5RkFCNUNDOTk5OUYwODczQTlEQkU0OUUzM0Y3OUU0ODNGQUQ3MjMxM0RGOUEKLTdCN0Q5MjY0NjE5ODhDMjNDQ0U5RjcxQUI3QkI2M0JEQjJCMTBCM0Y3ODE3NjM4MEFGRkMxNTQ4MjVDOUJEQ0UKLTgyMzAzRkJGQzNCNTlFMDcwNDM4OTg0QzI4RDEyRTg2NTVCQkJGMDQ5MTI1QkY1NkREMkIwREU4QzA0NTBFNTUKLTgyODMyREE1OUVCRUIwMDFBQUQ4NkYyMzE3NDYwREQ3RUQyNjQ2MTFCOTA0MzYxNDIyMUVDRgorRDkxOUMyREREMjZCREMwRDk5Mzk4QjlGNEQwM0Q1OTkzREZDMDkzMDI5Nzg2NkUxQ0QwQTMxOUI2QjFGRDk1OAorOUUzOTRBNTMzQTA4MUMzNkQ0NTZBMDk5MjAwMDFBM0QyMTk5NTgzRUI5Qjg0QjRERUUwOEUzRDEyOTM5RTMyMQorOTkwQ0QyNDk4MjdEOTY0ODU3NDk1NUY2MUJBQUExMTI2M0E5MUI2QzNENDdBNTE5MDE2NUIwQzI1QUJGNkQzRQorNkVDMTg3RTRCMDUxODIxMjZCQjBEMDMyM0Q5NDMxNzBCNzk1MjU1MjYwRjlGRDI1RjIyNDhEMDRGNDVERkJGQgorREVGN0ZGOEIxOUJGRUY2MzdCMjEwMDE4QUUwMjU3MkIzODlCM0Y3NjI4MkJFQjI5Q0MzMDE5MDVEMzg4QzcyMQorNTk2MTY4OTNFNzc0NDEzRjQ4REUwQjQwOEJDNjZEQ0UzRkUxN0NCOUY4NEQyMDU4MzlENTgwMTRENkE4ODgyMworRDkzMjBBRTkzQUY5NkQ5N0EwMkM0RDVBMkJCMkI4Qzc5MjVDNDU3ODAwMzk1OUM0NkUzQ0UxQTJGMEVBQzRCRgorOEI5QjMyNUU0NjQzNUJERTYwQkM1NEQ3MkJDOEFDQjVDMEEzNDQxM0FDODcwNDVEQzdCODQ2NDZBMzI0QjgwOAorNkZEOEUzNDIxNzIxM0UxMzFDM0IxNTEwNDE1Q0U0NTQyMDY4OEVEOUMxRDI3ODkwRUM2OEJEN0MxMjM1RkFGOQorMURBQjNBMzY5REQyRkMzQkU1Q0Y5NjU1QzdCN0VEQTczNjFEN0UwNUU1ODMxQjZCOEUyRUVDNTQyQTdCMzhFRQorMDNCRTRCQUM2MDc5RDAzOEFDQjNDN0M5MTYyNzk3NjQ1NDdDMkQ1MTk3NkJBQkE5NEJBOTg2NkQ3OUYxMzkwOQorOTVBQTM5QjBGMDMxMDNBMDdDQkRGNDQxQjhDNTY2OUY3MjkwMjBBRjI4NEI3RkY1MkEyOUM2MjU1RkNBQUNGMQorNzQxMDkwNTBGQkEyNjAyRTcyNTkzRkJDQkZDMjZFNzI2RUU0QUVGOTdCNzYzMkJDNEY1RjM1M0I1QzY3RkVEMgorM0VBNzUyQTRBNTdCOEY3RkVGRjFENzM0MUQ4OTVGMEEzQTBCRTFEOEUzMzkxOTcwNDU3QTk2N0VGRjg0RjZEOAorNDc3NTBCMTE0NUI4Q0M1QkQ5NkVFN0FBOTlEREM5RTA2OTM5RTM4M0JEQTQxMTc1MjMzRDU4QUQyNjNFQkYxOQorQUZDMEUyRjg0MDUxMkQzMjExNjY1NDdCMzA2QzU5MkI4QTAxRTFGQTI1NjRCOUEyNkRBQzE0MjU2NDE0RTRDOAorNDI2MTY3MjhEOTE4Qzc0RDEzQzM0OUY0MTg2RUM3Qjk3MDhCODY0Njc0MjVBNkZEQjNBMzk2NTYyRjdFRTREOAorNDBCNDM2MjE3NDRDRjhBMjNBNkU1MzI2NDlCNjZDMkEwMDAyREQwNEY4RjM5NjE4RTRGNTcyODE5REQzNDgzNworQjVBMDhFNjQzRkRDQTE1MDVBRjZBMUZBM0RERkQxRkE3NTgwMTNDQUVEOEFDRERCQkIzMzRENjY0REZGNUI1MworOTU2MDE3NjY3NkFCQjcxQkJEMEVFNTZCNENDNDkyQzA2NTI3NTAyMjdDRUM2Q0JFRUUzNzQ3MDkyMzFCMDBDRAorMERFODNBRkRFMjk1QjMxNEY2QzhCMUZGRDMyMjUxQzE5MjVEOTZBNjRENzM5RkYxREE0OTI2NDYwQjI4QjNERQorRTk0OUFBMEJBM0REQjE2NTM0RkJBMzBDMzIwOTJENUY3MTJCNUU4QzhENTE0MkYzNUFGMjkwNkU2QzIxOUQyQworN0ZEOUEzNjhDMTkzRTBFQjlDN0UyNUZGMDNDNTQ2QjZFRDk5M0Y5NjRDRURCMUI4NTM3QzYxNzE3MDc4N0YzNworODhENkYyQUQwMjM4NEIwMTA2N0ZFM0Y5ODI1N0JBQjk1OEJCM0JDRDEwMDEwOTBBNDUwMkRBMDYzODA4MEVDNgorREI3ODRDQzhBQzM3Q0RDMDFCMjlCQzQ4MUQ2QTA1QURDNjE4ODc4NTI2MjM1OEMxQkYxRDY5NEJCRjMxQzFGMQorQUYxMTdDMUFDRUQ0NEFBQzZFQjRCOUEyNTExQTY3NjJEREU4RkNDQkE1CiswMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiswMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiswMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiswMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiswMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiswMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiswMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiswMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCitjbGVhcnRvbWFyaworJSVFbmRGb250IAorJSVCZWdpbkZvbnQ6IENNTUkxMgorJSFQUy1BZG9iZUZvbnQtMS4xOiBDTU1JMTIgMS4xMDAKKyUlQ3JlYXRpb25EYXRlOiAxOTk2IEp1bCAyNyAwODo1Nzo1NQorJSBDb3B5cmlnaHQgKEMpIDE5OTcgQW1lcmljYW4gTWF0aGVtYXRpY2FsIFNvY2lldHkuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisxMSBkaWN0IGJlZ2luCisvRm9udEluZm8gNyBkaWN0IGR1cCBiZWdpbgorL3ZlcnNpb24gKDEuMTAwKSByZWFkb25seSBkZWYKKy9Ob3RpY2UgKENvcHlyaWdodCAoQykgMTk5NyBBbWVyaWNhbiBNYXRoZW1hdGljYWwgU29jaWV0eS4gQWxsIFJpZ2h0cyBSZXNlcnZlZCkgcmVhZG9ubHkgZGVmCisvRnVsbE5hbWUgKENNTUkxMikgcmVhZG9ubHkgZGVmCisvRmFtaWx5TmFtZSAoQ29tcHV0ZXIgTW9kZXJuKSByZWFkb25seSBkZWYKKy9XZWlnaHQgKE1lZGl1bSkgcmVhZG9ubHkgZGVmCisvSXRhbGljQW5nbGUgLTE0LjA0IGRlZgorL2lzRml4ZWRQaXRjaCBmYWxzZSBkZWYKK2VuZCByZWFkb25seSBkZWYKKy9Gb250TmFtZSAvQ01NSTEyIGRlZgorL1BhaW50VHlwZSAwIGRlZgorL0ZvbnRUeXBlIDEgZGVmCisvRm9udE1hdHJpeCBbMC4wMDEgMCAwIDAuMDAxIDAgMF0gcmVhZG9ubHkgZGVmCisvRW5jb2RpbmcgMjU2IGFycmF5CiswIDEgMjU1IHsxIGluZGV4IGV4Y2ggLy5ub3RkZWYgcHV0fSBmb3IKK2R1cCA1OCAvcGVyaW9kIHB1dAorcmVhZG9ubHkgZGVmCisvRm9udEJCb3h7LTMwIC0yNTAgMTAyNiA3NTB9cmVhZG9ubHkgZGVmCitjdXJyZW50ZGljdCBlbmQKK2N1cnJlbnRmaWxlIGVleGVjCitEOUQ2NkY2MzNCODQ2QTk3QjY4NkE5N0U0NUEzRDBBQTA1Mjk3MzFDOTlBNzg0Q0NCRTg1QjQ5OTNCMkVFQkRFCiszQjEyRDQ3MkI3Q0Y1NDY1MUVGMjExODUxMTZBNjlBQjEwOTZFRDRCQUQyRjY0NjYzNUUwMTlCNjQxN0NDNzdCCis1MzJGODVEODExQzcwRDE0MjlBMTlBNTMwN0VGNjNFQjVDNUUwMkM4OUZDNkMyMEY2RDlEODlFN0Q5MUZFNDcwCitCNzJCRUZEQTIzRjVERjc2QkUwNUFGNENFOTMxMzdBMjE5RUQ4QTA0QTlEN0Q2RkRGMzdFNkI3RkNERTBEOTBCCis5ODY0MjNFNTk2MEE1RDlGQkI0Qzk1NjU1NkU4REY5MENCRkFFQzQ3NkZBMzZGRDlBNUM4MTc1QzlBRjUxM0ZFCitEOTE5QzJEREQyNkJEQzBEOTkzOThCOUY0RDAzRDZBOEYwNUI0N0FGOTVFRjI4QTlDNTYxREJEQzk4QzQ3Q0Y1Cis1MjUwMDExRDE5RTkzNjZFQjZGRDE1M0QzQTEwMENBQTYyMTJFM0Q1RDkzOTkwNzM3RjhEMzI2RDM0N0I3RURDCis0MzkxQzlERjQ0MDI4NUI4RkMxNTlEMEU5OEQ0MjU4RkM1Nzg5MkRDQzU3Rjc5MDM0NDlFMDc5MTRGQkU5RTY3CiszQzE1QzIxNTNDMDYxRUI1NDFGNjZDMTFFN0VFNzdENUQ3N0MwQjExRTFBQzU1MTAxREE5NzZDQ0FDQUI2OTkzCitFRUQxNDA2RkJCN0ZGMzBFQUM5RTkwQjkwQjJBRjRFQzdDMjczQ0EzMkYxMUE1QzE0MjZGRjY0MUI0QTJGQjJGCis0RTY4NjM1QzkzREI4MzU3Mzc1NjdGQUY4NDcxQ0JDMDUwNzhEQ0Q0RTQwRTI1QTJGNEU1QUY0NkMyMzRDRjU5CisyQTFDRThGMzlFMUJBMUIyQTU5NDM1NTYzN0U0NzQxNjdFQUQ0RDk3RDUxQUYwQTg5OUI0NDM4N0UxRkQ5MzNBCiszMjNBRkRBNkJBNzQwNTM0QTUxMEI0NzA1QzBBMTU2NDdBRkJGM0U1M0E4MkJGMzIwREQ5Njc1MzYzOUJFNDlDCisyRjc5QTE5ODg4NjNFRjk3N0I4MDBDOURCNUI0MjAzOUMyM0VCODY5NTM3MTNGNzMwRTAzRUEyMkZGN0JCMkMxCitEOTdEMzNGRDc3QjFCRENDMkE2MEIxMkNGNzgwNUNGQzkwQzVCOTE0QzBGMzBBNjczREY5NTg3RjkzRTQ3Q0VBCis1OTMyREQxOTMwNTYwQzRGMEQ5NzU0N0JDRDgwNUQ2RDg1NDQ1NUIxM0E0RDczODJBMjJGNTYyRDdDNTUwNDFGCiswRkQyOTRCREFBMTgzNDgyMEY4OTQyNjVBNjY3RTVDOTdEOTVGRjE1MjUzMUVGOTcyNThGNTYzNzQ1MDI4NjVECitBMUU3QzBDNUZCN0M2RkI3RDNDNDNGRUIzNDMxMDk1QTU5RkJGNkY2MUNFQzZENkRFRTA5RjRFQjBGRDcwRDc3CisyQThCMEE0OTg0QzYxMjAyOTNGNkI5NDc5NDRCRTIzMjU5RjZFQjY0MzAzRDYyNzM1MzE2M0I2NTA1RkM4QTYwCiswMDY4MUY3QTM5NjhCNkNCQjQ5RTA0MjBBNjkxMjU4RjVFN0IwN0I0MTcxNTc4MDNGQ0JFOUI5RkIxRjgwRkQ4CitDQTBEQTExODY0NDZERDU2NTU0MkJDQ0M3RDMzOUExRUIzNEM3RjQ5MjQ2RThENzJFOTg3RUI0NzdDNkRCNzU3Cis5OUFGODZDRUJDRDc2MDVDNDg3QTAwQ0QyQ0QwOTMwOTgxODJEQzU3QjIwRDc4RUNFMEJFQ0YzQTBCRjg4RUJBCitDODY2REIxOUYzNEJCQkVENjYzNEFGQzBGMDhEMkFGQjJBOTI1NzhBNkY4QjRBRENENjU5NDczN0ZGNkVFRDdECis1QjUzNkRBOUUzRTJDQURCNDBEQjdDNjAwRUE0RDEwMEQzM0MzQjkyQjFDRjg1N0UwMTJDNEVCMzcwQkE4Mjk1Cis1NUI1MDA0N0NDODkxMUM5OEZFMUE3QkE2Q0RFQTgyRDM0NDc2Mjg2RTcxMDc3NjgyMzY5MEFEMzMzREQzQTQ5CiszMzUwMDJGNDY4MERCRTFDMjExNzRCRjAxNkIwREY3OTlCMDFFQjlENjk4ODQ3OUE4MzM0QkJBMkY4REM3MTQ2CitCQzBEQUU5REUzQTY0NTNCMTgxODA4RTY4QTg5RTBDMDJEQUM2MjY0RDAwMkI0MjJFQkMxQ0YxNEY2NUQ5ODg4CisxNUVFNkQ1MTREMzQ1N0Y3RjNDNkEzRDE3RUUxREEwNzZGNzNFQ0MzOTJEMzQ5MTc0REE5RTQ2ODBGMjlDRTEwCiswMTU3RTQyQ0EzNUY1REJGRjU2QkZDM0FBMDdFNjFBNzhEQkU4ODJDNUFCMzg4MjIwQzE5NzUwRDM2NDNFN0M4CisyM0Q2NjczMDI3Q0U1NjhBNEFDQ0UxRDEyQjFEOUU1QTQzNTA3RjRBRjlCQzg3MzIzN0Y2NUE2Qjk1MDc4REQyCiszNzgwMDdDRjBGMERFN0NDRUY3NjBFMTlENkQxRDdCNDEyRUM1RDQ5NzIKIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKQEAgLTM4NDEsNjg5ICs0MjU0LDY2IEBACiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiBjbGVhcnRvbWFyawogJSVFbmRGb250IAotJSVCZWdpbkZvbnQ6IENNUjEwCi0lIVBTLUFkb2JlRm9udC0xLjE6IENNUjEwIDEuMDBCCi0lJUNyZWF0aW9uRGF0ZTogMTk5MiBGZWIgMTkgMTk6NTQ6NTIKLSUgQ29weXJpZ2h0IChDKSAxOTk3IEFtZXJpY2FuIE1hdGhlbWF0aWNhbCBTb2NpZXR5LiBBbGwgUmlnaHRzIFJlc2VydmVkLgotMTEgZGljdCBiZWdpbgotL0ZvbnRJbmZvIDcgZGljdCBkdXAgYmVnaW4KLS92ZXJzaW9uICgxLjAwQikgcmVhZG9ubHkgZGVmCi0vTm90aWNlIChDb3B5cmlnaHQgKEMpIDE5OTcgQW1lcmljYW4gTWF0aGVtYXRpY2FsIFNvY2lldHkuIEFsbCBSaWdodHMgUmVzZXJ2ZWQpIHJlYWRvbmx5IGRlZgotL0Z1bGxOYW1lIChDTVIxMCkgcmVhZG9ubHkgZGVmCi0vRmFtaWx5TmFtZSAoQ29tcHV0ZXIgTW9kZXJuKSByZWFkb25seSBkZWYKLS9XZWlnaHQgKE1lZGl1bSkgcmVhZG9ubHkgZGVmCi0vSXRhbGljQW5nbGUgMCBkZWYKLS9pc0ZpeGVkUGl0Y2ggZmFsc2UgZGVmCi1lbmQgcmVhZG9ubHkgZGVmCi0vRm9udE5hbWUgL0NNUjEwIGRlZgotL1BhaW50VHlwZSAwIGRlZgotL0ZvbnRUeXBlIDEgZGVmCi0vRm9udE1hdHJpeCBbMC4wMDEgMCAwIDAuMDAxIDAgMF0gcmVhZG9ubHkgZGVmCi0vRW5jb2RpbmcgMjU2IGFycmF5Ci0wIDEgMjU1IHsxIGluZGV4IGV4Y2ggLy5ub3RkZWYgcHV0fSBmb3IKLWR1cCAxMSAvZmYgcHV0Ci1kdXAgMTIgL2ZpIHB1dAotZHVwIDEzIC9mbCBwdXQKLWR1cCAxNCAvZmZpIHB1dAotZHVwIDMzIC9leGNsYW0gcHV0Ci1kdXAgMzQgL3F1b3RlZGJscmlnaHQgcHV0Ci1kdXAgMzYgL2RvbGxhciBwdXQKLWR1cCAzNyAvcGVyY2VudCBwdXQKLWR1cCAzOSAvcXVvdGVyaWdodCBwdXQKLWR1cCA0MCAvcGFyZW5sZWZ0IHB1dAotZHVwIDQxIC9wYXJlbnJpZ2h0IHB1dAotZHVwIDQ0IC9jb21tYSBwdXQKLWR1cCA0NSAvaHlwaGVuIHB1dAotZHVwIDQ2IC9wZXJpb2QgcHV0Ci1kdXAgNDcgL3NsYXNoIHB1dAotZHVwIDQ4IC96ZXJvIHB1dAotZHVwIDQ5IC9vbmUgcHV0Ci1kdXAgNTAgL3R3byBwdXQKLWR1cCA1MSAvdGhyZWUgcHV0Ci1kdXAgNTIgL2ZvdXIgcHV0Ci1kdXAgNTMgL2ZpdmUgcHV0Ci1kdXAgNTQgL3NpeCBwdXQKLWR1cCA1NSAvc2V2ZW4gcHV0Ci1kdXAgNTYgL2VpZ2h0IHB1dAotZHVwIDU3IC9uaW5lIHB1dAotZHVwIDU4IC9jb2xvbiBwdXQKLWR1cCA1OSAvc2VtaWNvbG9uIHB1dAotZHVwIDYxIC9lcXVhbCBwdXQKLWR1cCA2MyAvcXVlc3Rpb24gcHV0Ci1kdXAgNjUgL0EgcHV0Ci1kdXAgNjYgL0IgcHV0Ci1kdXAgNjcgL0MgcHV0Ci1kdXAgNjggL0QgcHV0Ci1kdXAgNjkgL0UgcHV0Ci1kdXAgNzAgL0YgcHV0Ci1kdXAgNzEgL0cgcHV0Ci1kdXAgNzIgL0ggcHV0Ci1kdXAgNzMgL0kgcHV0Ci1kdXAgNzQgL0ogcHV0Ci1kdXAgNzUgL0sgcHV0Ci1kdXAgNzYgL0wgcHV0Ci1kdXAgNzcgL00gcHV0Ci1kdXAgNzggL04gcHV0Ci1kdXAgNzkgL08gcHV0Ci1kdXAgODAgL1AgcHV0Ci1kdXAgODEgL1EgcHV0Ci1kdXAgODIgL1IgcHV0Ci1kdXAgODMgL1MgcHV0Ci1kdXAgODQgL1QgcHV0Ci1kdXAgODUgL1UgcHV0Ci1kdXAgODYgL1YgcHV0Ci1kdXAgODcgL1cgcHV0Ci1kdXAgODggL1ggcHV0Ci1kdXAgODkgL1kgcHV0Ci1kdXAgOTAgL1ogcHV0Ci1kdXAgOTEgL2JyYWNrZXRsZWZ0IHB1dAotZHVwIDkyIC9xdW90ZWRibGxlZnQgcHV0Ci1kdXAgOTMgL2JyYWNrZXRyaWdodCBwdXQKLWR1cCA5NiAvcXVvdGVsZWZ0IHB1dAotZHVwIDk3IC9hIHB1dAotZHVwIDk4IC9iIHB1dAotZHVwIDk5IC9jIHB1dAotZHVwIDEwMCAvZCBwdXQKLWR1cCAxMDEgL2UgcHV0Ci1kdXAgMTAyIC9mIHB1dAotZHVwIDEwMyAvZyBwdXQKLWR1cCAxMDQgL2ggcHV0Ci1kdXAgMTA1IC9pIHB1dAotZHVwIDEwNiAvaiBwdXQKLWR1cCAxMDcgL2sgcHV0Ci1kdXAgMTA4IC9sIHB1dAotZHVwIDEwOSAvbSBwdXQKLWR1cCAxMTAgL24gcHV0Ci1kdXAgMTExIC9vIHB1dAotZHVwIDExMiAvcCBwdXQKLWR1cCAxMTMgL3EgcHV0Ci1kdXAgMTE0IC9yIHB1dAotZHVwIDExNSAvcyBwdXQKLWR1cCAxMTYgL3QgcHV0Ci1kdXAgMTE3IC91IHB1dAotZHVwIDExOCAvdiBwdXQKLWR1cCAxMTkgL3cgcHV0Ci1kdXAgMTIwIC94IHB1dAotZHVwIDEyMSAveSBwdXQKLWR1cCAxMjIgL3ogcHV0Ci1kdXAgMTIzIC9lbmRhc2ggcHV0Ci1kdXAgMTI0IC9lbWRhc2ggcHV0Ci1yZWFkb25seSBkZWYKLS9Gb250QkJveHstMjUxIC0yNTAgMTAwOSA5Njl9cmVhZG9ubHkgZGVmCi1jdXJyZW50ZGljdCBlbmQKLWN1cnJlbnRmaWxlIGVleGVjCi1EOUQ2NkY2MzNCODQ2QTk3QjY4NkE5N0U0NUEzRDBBQTA1MkEwMTQyNjdCNzkwNEVCM0MwRDNCRDBCODNEODkxCi0wMTZDQTZDQTRCNzEyQURFQjI1OEZBQUI5QTEzMEVFNjA1RTYxRjc3RkMxQjczOEFCQzdDNTFDRDQ2RUY4MTcxCi05MDk4RDVGRUU2NzY2MEU2OUE3QUI5MUI1OEYyOUE0RDc5RTU3MDIyRjc4M0VCMEZCQkI2RDRGNEVDMzUwMTRGCi1EMkRFQ0JBOTk0NTlBNEM1OURGMEM2RUJBMTUwMjg0NDU0RTcwN0RDMjEwMEMxNUI3NkI0QzE5Qjg0MzYzNzU4Ci00NjlBNkM1NTg3ODVCMjI2MzMyMTUyMTA5ODcxQTk4ODM0ODdERDc3MTA5NDkyMDRERENGODM3RTZBODcwOEI4Ci0yQkRCRjE2RkJDNzUxMkZBQTMwOEEwOTNGRTVDRjcxNThGMTE2M0JDMUYzMzUyRTIyQTE0NTJFNzNGRUNBOEE0Ci04NzEwMEZCMUZGQzRDOEFGNDA5QjIwNjc1MzcyMjBFNjA1REEwODUyQ0E0OTgzOUUxMzg2QUY5RDdBMUE0NTVGCi1EMUYwMTdDRTQ1ODg0RDc2RUYyQ0I5QkM1ODIxRkQyNTM2NURERUE2RTQ1RjMzMkI1RjY4QTQ0QUQ4QTUzMEYwCi05MkEzNkZBQzhEMjdGOTA4N0FGRUVBMjA5NkY4MzlBMkJDNEI5MzdGMjRFMDgwRUY3QzBGOTM3NEExOEQ1NjVDCi0yOTVBMDUyMTBEQjk2QTIzMTc1QUM1OUE5QkQwMTQ3QTMxMEVGNDlDNTUxQTQxN0UwQTIyNzAzRjk0RkY3Qjc1Ci00MDlBNUQ0MTdEQTY3MzBBNjlFMzEwRkE2QTQyMjlGQzdFNEY2MjBCMEZDNEM2M0M1MEU5OUUxNzlFQjUxRTRDCi00QkM0NTIxNzcyMkYxRThFNDBGMUUxNDI4RTc5MkVBRkUwNUM1QTUwRDM4QzUyMTE0REZDRDI0RDU0MDI3Q0JGCi0yNTEyREQxMTZGMDQ2M0RFNDA1MkE3QUQ1M0I2NDFBMjdFODFFNDgxOTQ3ODg0Q0UzNTY2MUI0OTE1M0ZBMTlFCi0wQTJBODYwQzdCNjE1NTg2NzEzMDNERTZBRTA2QTgwRTRFNDUwRTE3MDY3Njc2RTZCQkI0MkE5QTI0QUNCQzNFCi1CMENBN0I3QTNCRkVBODRGRUQzOUNDRkI2RDU0NUJCMkJDQzQ5RTVFMTY5NzY0MDdBQjlEOTQ1NTZDRDRGMDA4Ci0yNEVGNTc5QjY4MDBCNkRDM0FBRjg0MEIzRkM2ODIyODcyMzY4RTNCNDI3NEREMDZDQTM2QUY4RjYzNDZDMTFCCi00M0M3NzJDQzI0MkYzQjIxMkM0QkQ3MDE4RDcxQTFBNzRDOUE5NEVEMDA5M0E1RkI2NTU3RjRFMDc1MTA0N0FGCi1ENzIwOThFQ0EzMDFCOEFFNjgxMTBGOTgzNzk2RTU4MUYxMDYxNDQ5NTFERjVCNzUwNDMyQTIzMEZEQTNCNTc1Ci01QTM4QjVFNzk3MkFBQkMxMjMwNkEwMUE5OUZDRjgxODlENzFCOERCRjQ5NTUwQkFFQTlDRjFCOTdDQkZDN0NDCi05NjQ5OEVDQzkzOEIxQTE3MTBCNjcwNjU3REU5MjNBNjU5REI4NzU3MTQ3QjE0MEE0ODA2NzMyOEU3RTNGOUMzCi03RDE4ODhCMjg0OTA0MzAxNDUwQ0UwQkMxNUVFRUEwMEU0OENDRDYzODhGM0ZDM0JFRkQ4RDlDNDAwMDE1QjY1Ci0wRjJGNTM2RDAzNTYyNkIxRkYwQTY5RDczMkM3QTE4MzZENjM1QzMwQzA2QkVENDMyNzczNzAyOUU1QkE1ODMwCi1COUU4OEE0MDI0QzMzMjZBRDJGMzRGNDdCNTQ3MzlCNDg4MjVBRDY2OTlGN0QxMTdFQTRDNEFFQzQ0NDBCRjZECi1BQTAwOTlERUZEMzI2MjM1OTY1QzYzNjQ3OTIxODI4QkYyNjlFQ0M4N0EyQjFDOENBRDZDNzhCNkU1NjFCMDA3Ci05N0JFMkJDN0NBMzJCNDUzNDA3NUY2NDkxQkU5NTlEMUY2MzU0NjNFNzE2NzlFNTI3RjRGNDU2Rjc3NEIyQUY4Ci1GRUYzRDhDNjNCMkY4Qjk5RkUwRjczQkE0NEIzQ0YxNUE2MTM0NzFFQTNDN0ExQ0Q3ODNEM0VCNDFGNEFDRUU1Ci0yMDc1OUI2QTRDNDQ2NkUyRDgwRUY3Qzc4NjZCQUQwNkU1REYwNDM0RDJDNjA3RkM4MkM5RUJENEQ4OTAyRUU0Ci0wQTc2MTdDM0FFQUNDQjdDQ0UwMDMxOUQwNjc3QUE2REI3RTAyNTBCNTE5MDhGOTY2OTc3QkQ4QzhEMDdGREJECi1GNEQwNTg0NDRFN0Q3RDkxNzg4REVBOTk3Q0JFMDU0NTkwMkU2NzE5NEI3QkEzQ0QwQkY0NTRGQ0E2MEI5QTIwCi0zRTZCQjUyNkQyRDVCNTMyMUVFMThERDJBMEIxNUU1M0JDQjhFM0UwMTA2N0IzMEVEMkREMkNCOUIwNkQzMTIyCi1BNzM3NDM1MzA1RDQyREU5QzZCNjE0OTI2QkZENDRERjEwRDE0NDAyRUJFREZGMEIxNDRCMUM5QkQyMkQ3Mzc5Ci01MjYyRkVFQUZFMzFDOEE3MjFDMkQ0NkFBMDBDMTA2ODFCQTk5NzBEMDlGMUVBNEZBNzc0MjgwMjVENDA1OUJBCi0yOTg4QUMyRTNENzI0NkJBQUFGQjg5NzQ1RjBFMzg1ODA1NDYwNDU1MjdDODc3OUEyNTREQjA4RENDNkZCOUI5Ci0wRTE3MjIwOUZCRTM4NTdBRjQ5NUE3RjJCMzRCQzg5NUEzOUEzMEY5MDNEQzZFMzIwMkQyOUFDMTEwRDg2OEY0Ci03MTg0Q0I3ODQwN0I4QjlENDJGNjM3NUY2N0ZENEI4Mjg1OTJFNEE5NzdCOUU3MTg1NEQxNDNDRDFBOUVEQ0QxCi03NjdDQzI5MjlFMDcxRkJBNEMzRDE3NTAwRTI4QTIzRjY5N0I1RDVDQzY4RDVGNTZFQUQxNEJENTA0RTA3MTgyCi0zRkRDMTJGNTQwNEU3NEVDMUMwMkFGMDBDMUE2QTE3Rjk1ODc3MEVENEEwMjRGNUIzNjQ0REVGQjYxRjI1NzhFCi01NjAxM0QwQjRFN0NBM0FEMjU1RTIzREQ2MzM2OUE5MjFENDI3RUVFMEUwOThFODE0OEIxNkU4QTU2MTNBOEY4Ci1BNUYxMDk5RTE1QUQxNkVDNTU0QjY0NERGMzA2RjBDRjM1NzEwNTVBODFGMUI0NjQ1MjlEQjQ5RTkxOUY4OEU3Ci01ODEwNjZCRUM0NzY1RTMxQkJFMjhDMjQ1QkJGMEI3NDYxMERCQTMwQzYzQTcxQTRGM0I2MDU5M0E2QjQxQzZDCi02MzZDOTgwODI4Q0ZFOUEzMzYyRkJDMDJGMTk2N0YwRjc3MEE0NzkwRjkwREVGOUQ1NkUwQTc2QjA3MDNGQzU4Ci0yODQxRTZFOEQ5ODRGQjQ3NkQ0RkVCOTYwRkZCNkIzODZFQzZDQkI5RUI4MzcwNEIwQUY2M0YzOEM3NzA5MEE4Ci1EQUExNjVFNkM2QkM4NjYwMUIxNEY4RTlGNTA0QTlENTc4QUYwNTEyOEQ4QzFCQ0VBOUQyMTA1Nzk1OEQ1RENGCi02MzQ1OTM1MkVBRDZCNEEyQTY2NkNDNUQ4NTg1NTY0MUNCMzE1MDdGOUUzMDQwNTk3N0I3NDM1NkZFOTg1QTZECi01NDE4ODRDQjY1QTRGNUE4RDRDODJDQjlEODI4NDZDQzUxMENCRDI0M0U5OEEwMDExQUQzN0E4MTA0NzAyMURGCi00NkY2OUQ3QzNERkFGMkYxMEYxRjBDQ0VGQkUxMkVCNzA0MjBCRTkwQzQ1MDk3NTQzNEUyMjNDNjdEMjQyMjZFCi04QjYyQkNBNkJGOTNCMEIxMzczQUY1NUU0QUREOTI3NzVCMkRGMTk5QjY1OTlDQjAyREI2NEIyRDYxNjBCRUJFCi00NDlDMDU3QjVCMkQyMjZFMEY1RDdDRkI1QzlBNEE3MTg0RkIyOUE1OTVFOTEyNTJBRTc4Nzg2MUE2MzMxRkMyCi02NjA1Qzk5NUQ1NTEyMDEyMUNCNDYzNDczQTdDQkQyMkYyNzBENTZDQThFMERBOTk4MzJBNDY4RDM5OUNCOUY1Ci1BMUNCQ0YwMDMxRDk5RjNDNEY0Qjc4QTA5NDRCRUQ1QTdCMUFFMjNFM0E2NkVFRDQ1MzkxN0Y5Mjk2MDc3MzA2Ci0wNkNGQTc3MkJFNjA4NTRBMzA4ODVEQzVGQjg0MTdFMEQzRjdBQjQ1QUJGRTE4NkQ4NzdBMzc3RjVEMTdERDM1Ci0wRkFCODE3NDUyOTRFMzVBNURDQUIyMDMyMUM2RUNBRTI3NkI2M0JCMTczNjY4NjdGMzQ2Q0FENTNFMDZBRDk2Ci0wOTFDQUM3NTQ2NUJDRERGREU5QzQzNjRCMkE4RUY0OTZDNENERjc2QjA1OEU0QkMxRjYxNkY2Q0Y2MkZCNjBBCi02NEY4MUJBQkE3QTcyOUI4Q0Y2NzlDRUUwMUIxQzk4NTU1OEU4RDE0OTNDMDNCODM0RjM2OTZFNTUxMUExOTE3Ci0yQUU3RTE2QUE4RkM1MTZDRDJDRURFMDIwQkM1Nzc3NTk4MTY1QjZFRjIzMTBGNERCRDU0RkUxNDA3MTEwMUVCCi00N0Y0QjJCNTk3NzhCMUVBN0RFMTNBREY0NjM5M0UwN0RCRTIwODJDMjQ4Nzk0NEE3MUNFREQ0RUQ3RDNEODc3Ci03NDlEMjUwMDYzNkMzOTk2QTM0RUUwQ0JBNzcwRjZCNkE2NTVEQ0I5ODQwQUE4MjM2RUYzRjYxODJFMUM4OTk3Ci0zOTUwNzdEOURCMTVCOUQwQTJERjlBM0Y2MDQyQzk0RTZFNDkyQzk2NUU0RTg1NDJBQzRBRjVCMjE5MDZCNkU4Ci00QUUyQjAxQzA4MTBFMzhCRkFFOTlERDgzRUJGRjhFMTQ1RDA5Rjc2M0I2QjEzNEEyNUExQ0MwNjdDNkRDMUQwCi03Mjg2MDQ1Q0U5MEJBOTY4NTk4RDgzRTU2MDJFRDk2QzcyQTQyNDg0OEUyMTFDMDI4Q0IzNDREOTVEQTA0QURFCi00QzVEQURDRTkwMDlBNzJCNkVDMDFFN0I1Q0Y4QzUyQkRGRDJCNDE2RjVFMTgzM0Y1MTQ2NTlEOTRCQjJGNDUyCi1FQzRGMkU2NUNFNzFBQUY3OTEwNkEwNDY4RDc2RDI4M0FERDQ0RDdEQjU3NjBBQTQyOUQ2MUMxREMyRTkxMkM3Ci05NDQ2QzE5NTU3QTFEMTJFNzExNkI3NjVCRTUyMkVBMTY2RThGMEI2MDQ4MDcyMTUzMjNEQzVDMkRCMUYyRTA1Ci0yNDY4NzNDRTE4OUUwM0ZBMjkxQTk2MUU0QUQ5MDU2M0E4RjdCMEUwOEE2N0RFNENCMzYwN0M2RUNBMTE0REQwCi1EQ0U5Nzk3NkUyMDg2MTVGM0NBMTNGQzQ0MDQxMzYwMDg2QTRBMTczRDU0NDFEOUMzM0EzODAxMzA5OUY3M0U5Ci0wRkJDOTY4MDhGNzQ0MkZENEQ1NkRGN0M0RjJENEM5QjIzMDFGN0NFNjI2QjRDNkMxNjE3QjhGMTU4NERGMTk1Ci1GOTJGQzYzODUwNzBFQjAyQkYyNTQxMzA3RTRFQTM0QzEzMTgxNUZCOTAyOEMxMThGNEI3OTJDNUU4MUQ4N0Q5Ci0zOUU4NDJFRDVERkJCQzlBOThDNTQ4ODAzN0YwQkVDRDVGMTA5RkZGNDcyMjVGNkRGMUQxOUZERThDQTlDQTFECi1DOTI4NDg2MjRBRDc5RUNGNEIyQ0ExMEVCMjBGRjk3NUI1M0M1MzBFMkYxOEIzNkNDQjNFRkI3RDJGNEVDRDJBCi01QjlFMEIwNkJDNjgxQzZDNDdEQTkzMDU3NjlFM0ZBMTlCN0RBQjQ5REQ1QUZEQkI5OUY2RTgxNjdGRDIyQURECi1ENzJBRUMzRkU0OEI2MUE3OTM0NDkwM0E1NkQzQUIwODU5RUFBQUEyQzU3Q0JDN0ZEM0UzQzc2NEIwOUZGM0ExCi1CN0IzNDNCOTBGRTg3RkI1MTlGMEI3M0IxRjg3NUM3QkJFMUE3OUEyRDI1MkFERDU0NDU4OEQ4NzUxOUQyMzFCCi0wRUZEOEY0MDY3OUZDNEZFQjM4RjZGRTQ0QTQ2NUJDRDEzMUIzREZGRTQ0MUJBRTFGRDRERThGNkUyMzQ4MzY3Ci0zNUIzNEUxQzdBQzZDQjFDMDc0RkI5QzU1M0Y2QjAzMTVFN0JFNTY4NThDNThCNDQ3ODM3NkY4Rjg3MDFEMUU2Ci03ODI0RjQ0MDNFOTdENkIwRjMxOTUxQkMzODcwQkM1MUI2NTQxQjhDQzg1OEUzM0MyOTM2QjVGOEQ5RjE4MzBGCi0wNzk0OTM0NDFGRDg3NzU1NjA5QUJFNjYxQUQ1NDU4RjFEMjYwMzcwOUIyQjMwMTYyMTM2NTYwNDAzN0I5RTY1Ci1CQzU5MzQ3OUYwQzEwRjI5MEY5MzM4RkI3OEM3MDJCQkM1NDhERUQ3QTExNEM5MDYxODE5MjBFNDQxQzUzNTdFCi0yMDIxNURDNTVBOTUwNzdGOTVCQUE0QzExMDMxNUUzNUNFNDY1MUZFNDFDMjI3QkIwMEJEOUQ2NUYwRTIxOUMyCi0xNDlEN0E5NzRCMDlBNEUwOUQ3NzdDNEZFNjdFMEQxRDIxODVGNzU0ODkyQzQyNzI2MTlBRTdCNkUwRjAyQkIxCi0yOUU4NjFDMkQ2OTg4NDRDNDNENkFDMEE5REZEOTgxNUU3OENDNTZEQTI1NTVBMTBFODI4RUZEMjA2RTRBQjI1Ci1DMTk3MDk4QUUxNDUyRDZCOEM0NzI0MkMwNEQyQkYwNDM3QkU1RTY3Q0M1NEZERDVDQjY2MDhCRkZCNUFCNDEwCi0xMDVDNTc4ODg0Q0M2OTRFMEMzRDdDNTUwMDdFM0M4MTkyQjM5ODBGMjkyNEJCNDM1NzQyMDY3MzM2NEQ1QjAwCi0wMURBRDJCQTU2NjNDMTM0NDIyN0MwNDY4QjYzNDJBMzUyMDAyQ0VBNTlCODRGMTEwMEE3MjVGMjQwNURGNDkwCi04OTlBNkM4OUUwNEQ5RjhGNDQxNjEwQTgzMzlCRENCNENFQTM3M0ZCOURFRkM4MDQwNEFDQkE3ODgwMDRERTRCCi0xNjUxRjVGNkVEQkQ4QTgwRjM1Rjc1NTdFRjg3NTNERDA3RjFFNjcxN0U1ODU4NjMzNzMwMTJGM0JCMzBBQjlDCi04MUY1NTdBQjk1MkE4OUYzQTQwQzFFMTI3Q0U2RDkyQTQyQkRBRkZCRjZFNTYzQTgxMDNGNDk4RjlFMDIzREQzCi01Nzc1M0ZBNjIwNEE2RDRFNzVERjFEMkUxMkI5MDgyNUVFNEI4QTI1QkFBREUwNTkwOUEzREMxMjNBRDVENzU4Ci1ERkVDRjU0NkM2RkI2QUJDMzc5RUVDODQ1NkVERDE5MjlEQzBBMkU1NEMyODMyMzY3Njg1MTAyQTFCNTUxRDU2Ci0yNTk3QkVEQjQxREM2RUQ2MEVGMTAzN0FEMjMwQkE4REFDNDdEMDBDODAyOEUwNTY3MUU2MDZEQjMxNDAwQzcwCi1GOTA0QUUyN0FENzJDMjU2NjdEMzU2RUYyMzBDM0VCRkI3QTdGQjA1NEI4NUU3RTAzRUU3OUI2MzRFOTlCNjRCCi1EMTUwQTVBNzA1NTBCOTUxQjBDMDE3QkJBQzg2ODc1QTk1RjgxNTMzQzQ4MDg2NDg3M0RERTkxRDc0OUE5NzExCi01NzA2QzRCNzcyRDE4M0MzQUIxMzY1QkUyQ0I2RkU3MDc2RjhENUNEMDk0N0UyOUU3NTNCRjhBNUI3RTEwNTZGCi1BM0JEODQ0NURDOEY2Nzk0Mjc5RDRBMkNCQ0MxN0M4ODBCRDYwMzdFRjQyRkYzMzE0NUQzNDMwQThCRjU5QUIyCi1DMjc0REI2N0M5OUUzMDBCRjkzMDc0NzBEMTk4NTM1MUI5NDU4MTk4Q0Q2RDI2RDczREFBNEFDNzlGNDkzQkZECi0wNERGQTNCNjkzMTg0RUI3NjdCNEEzODc4MjVCRDE0MEM5RjI1RTcxQTJEQjY5NEFGRjg0OEM4ODk2NjcwRUU3Ci0yQzIwNzJCQjlCNkY2N0RBODAxMUMxQzE5Njk1QkYwOENBQzRFNTNBOUU5MTc5NUE4QkZFREY4RTJBQUIxRjJCCi04QjBENUQ0OUZCMkI0NTFBMUNBRTBDRTVDQzU1M0I3RDU3REI2MTU0NUUzM0VDQTM5MTlGRUYyRjZFNTZGODA5Ci02MEE2NDMzOTJBMzhGRkMxNDM0Qzg2QzJFNDI0NzdBRTA0MzRGRkQ0MEEwODI3OUEyOTJDNkFFNzlDNDFFOTcyCi02QUQzRjJERDBDQjE4N0NBRDI2MTUwRUNGNzNFMDYyRjA4NzQxRTUyRTIwMkY4Mzc3QzA0ODQ1MzQ1REU4NkIzCi01MUM4OTIyMDgyN0RFMjUzRTcxQkU0QTQxNEIyMzUwOTQ4QTIyMkJDQUEzN0Y4ODFBQ0ZCOURCNEUzM0Q1MzMyCi1EOTYzMzc1RjVDMTgyQjYyNEYyQTdDREFERTU2RUNDRjgzMDgyMDM5OTdBRTQyNzVGN0FGRjY5RjU3NjhDRjNGCi1FNkU5NkVDMUY5MDczQjkxQTBDQzZGM0ZCMzRFM0NBRjA3QTA4MkU2M0UzRDUyMTc1RDFDQzkzMDFERTEwREY4Ci01ODg2QjVBRTk5ODU5MTIwMTIyQjgxMDc4RjQ1MDE2QUQxMjFFQTMyQTZDMjY5NTkyNTE0MjQ4RDVDMUIxQkNGCi1EMDBGOEY3RkEwRTY1Q0MxQzM4MUQxMjVCRDcxRjQ1NTE3Q0QwRjI5NTRBRDA3MTYzQjMzOEI4RTMyMjNBRDYxCi1EN0ZCODQ4QjBCRTM5MDhFOEEzQTA5MUU5REM4QUI3NTZCNERCOUFBQTJCOTA4MEI5RUIzNDg0QUNBNTFDRTkwCi03NjBEREEzOTc2REU3ODRFNUE4MThGNkQyNTNDRDYxODkzOEJFQjNFRkVGNjkyRUZEREJDNjdEQkJERDEwQ0FECi1FNTg0NERDM0E5MzI0MUIwOTE1QTFDRDE1OUI4OUM2ODg1MzlGNzNDRUZCOEI3OEE0Mjk2NUY2QTk3MTEzQUJBCi02QUVFQzZDNDBBMjJDNjk2QUNEOTUwQjM2NkVGOUNDNkY4Q0MxMTM5NDAxRkE3ODA3Q0NGMDNCRDBGMjZBRUNCCi1EMTdENDU2NUZGN0ZDN0Q5QzU0QzUyQzhDQzkzNDAwQUVDQzc1QjlENkM3OUNEOEREMkY4NUZGMDZEMEY4RURECi04NTdCMDEyMjk2M0UzNDhEOEFBMDBFNjI1NjRFM0VGMUFBMTgxRTQ2QzlGQjc4Qzc1REU3OTA3NkY4MjRCNzcwCi1GQkU2QzIxOUREMDUyQkY0NDQ1NTdGOERCOUJCODU3QUIwMTI0MDRDOTQ0NjQzMTREMUVFOUJEN0RFQkIxQTIwCi0zNEEwOTQ1M0U3MjhCNjFCNTY4RDJCMEJGQzE2MTgwMjNDN0FCMDEzOTdCRUYwOEY5OEFCMTFGOUJGN0Y3RTgzCi05MjMyNTQ3QTUxQTg5RjVEOUY5OURBMkYzRURFODE2QUNBMzUwRkNDNzM5Qjk1MUQ1M0ZCMjAxNUQ2OTUyNUFECi04MTFCQUJFNjEzNEYwMTZFQUQ5MDMyMTA2QjFFREMzRjA3MTgzNkQ3QUVEQURGMTI3REMzRTkzREQ3NDk5RjhBCi0yQzE4OEVFMUI0REFFN0JFRjVGRjc2QzM0REZFRDI0OTczMDZFOTU2OEYyMkQzMjI2RDVGNDNFOUVFMkZCMUZGCi1DMTUwN0ZDODVGNDZCNDQ4ODA2M0VBNkFGREZCMUI2NjUyMzhGOURENTg1QzE4MzQ1NzAzMDRBMjAyQjM2NDJFCi0zRjQ0NkFCMTdENUIwQUI5RTcyQUVCRkRDNUMyNEJFNUQ4MjU2Mzc4QkVFNjgwMUI0RTQ5OUJGREEwMTcxOEE4Ci0zMjExQTJGRjQzMUZCNjE4ODZEMEJBNjgzRURFNTI4RDQzQzAyMzAxQjhCRDZDQzg4NTY1QkZDMkU3ODIyMjMyCi05NzI2MEMwN0I3RjlDM0ZCNkY2MTI5NDRDNkM5MDRDQ0IzMDY2RUU3MzE5Qzc3RUUyMDc1RkUzNjA2NDdCODA4Ci1GNzc2OUJDQzI1QTY2RjE2RjJFNkIzMDQxNzVBNUVEMzFFMzA3RUQ3NUFDNjNCMTlCQUI3RjE2MjkyRDREQzc5Ci1EOUYyNjUwQkM5OTQxNUMzNTc2RjQ0NkU2NDlCMzJBQjVEMzQ0NzUzOTNENTlBNEVFMDIwQkRBOTgyQzhFOTdCCi04QUNENEM5NDdBRUYzRDYwNTlDN0EyRTAyMDFDMTU0NEVEMTQ0Njc2RTFBNjEwMjUyMzYzNjBFMTQ3RDI0NkYwCi01QkVGMEMzODZBQjcyQzk4QkU2QzEzMUI2OTgzMjgyMzM0QTUzMDdDMzRBMzBFNzU1QjBDMTIwNUMyNzlDQ0UyCi1DRjAwN0UwRkY5MjkwRkFEOUUyQjg3OTRBMDlGRDFBOTE1REM0OENEQjRERjk0MEM5NDgyRTUxQzY1QUM2RThFCi0yQjBBODZBMkRFOTFFMEFBM0UxQTRCNTJEREFBMjMxREM5QjhBRkVFNDY2RUE5N0VFMkM0NTI4RjA3NDE2RDNGCi1FMzI3OTRGNjY4OEZDOTE0N0RGMzZBM0UzMUM3NDlCNDY2NjVFMzM0QUFDQUQ0QjA2QUZBRkI2QTY0OEMwNDk3Ci05QkM2NEM4NUUyQTQ2RDJEREQwNDkyOEJCNkYwNkEzRTdEMzZFQjY3MjRFNUNERUM1OUMyNUEzRjBEM0FBMEE0Ci05NTU1MjVGMDJEOERDOUFCNjFBNjNCMDdDNDMyNDc4OEVENjUyN0U0MjQyMEZCRDQxQTAxNkJFMUY0QjhDMUJGCi00MTgxRkE0Qjg5NkI3RTlERjJFNzIzQTM1QzdDNzA5Q0I5N0M4Mzk4OEQwQkM5RjNGQTE1M0NDMTY1RUY3RDg3Ci04REFBOTMzNUQ5NjQ2QjY1QUE3OEVCRjhEN0RCRENBODE2NTlENDFERUE4QTY0REI4ODA0MzU2MjI1MjhDNzRCCi1GQjYwQTdBQkQ1MjFFMkI0M0U2Mzc5MjMwNEJFNzBBNTJFNzJBMDZGMjNGNEExQ0M2MDM0QjMzMTI4RTEyOTUyCi1GQkMxQkQ3NzQxNjMyQkIzNTRERDNBRkZBMzExNUJFNEYyQzM3RDZDMThFMDc0QjZDQ0IzQUU3N0ZEMDE2M0ZFCi0zODMxNTRDMTQ2NDZDMkVBOEMwRjM0MUU4ODY1QUIzRThEQTQ0REE5NDdEMjY3Rjk3ODkxMkQ4N0Y4RUIyRUFCCi1EOUQ5RUMyRkI2MjRDNzNFRjBCOTU0RjVBNjRCNkRGNDhBOEJFNTNENDQxQUY4RjkwQjZGMUQwQzJCMEVFRjFDCi0yRTc3ODlGQkQ0OEEyREZBRTBGRjQ5MEUzQjk3RjE2NzNCOTYwODJGNDREMjM1Njk2MjhCMEVEMDg2Q0M0RTNDCi00RTk3NUEwMjMwQ0VFRTlGN0MxNTdGNzk2MEQ3NENEMDgyQzlCNTFGRkMxMEFDOUJFRTRBN0ZGMjg2NjMxREVGCi1CM0MxRkE2Q0E0MjY5MDYyNzc2NzZFODFDQkZBRDQxNDZERjE4NkY0MkRCMDczNkU5QTE0NTEwN0ZBMUQ5OUExCi1DNzQ0RDE2RDMxNTA3QzU5NjA3Mzk1QjhDNjgxNEYxMTgxRjc1MTIyQkIxNDAzMUM2OTBGQ0ZBNDJFQzk2NjI1Ci02ODM0NTc2NDQwQkFBRjlDNTQ1REYwQUYyRkU3QTY4ODU3MzMyNzlBQkYxRTRBRjhGQzc3MEU3MkFCOEQzMUNDCi0wMUUzMzhGMjAyNjMxNTk3QjdCMTA3MjFCRjA3QUFFODdFMTVBREJDNjExNDE3NUQ3NEZGMTY5MEFGQzA4OTVFCi0zNEY5RjQxRkRBNkU4Q0YxQzRBRTU2Njg2NDEwM0REMDVFN0MzQTI1OURBRDBEQ0Q1REI1Q0U0MkYxRkFFNDZCCi1EMEFEMjJGNjFCNjE0RkNGRTdCN0QzQkZCMUZCRUUyMTkyQ0RFNDI2RDhERDAwQjcxNzEyNTg1OEU5RTNBRUYwCi0zOTM4NDgzRTA5RTNDNTJCOUEyNjQ0RkQ5RUM5Qjk1OEU1NUFGRTlFODBDQjE2QTBFMkVDNTIxMkRBMEUyNjg4Ci02MThDMkFDMTZDMDcyMDRGRTE3RTc2OTQxMzY1OERCOERDQzZBMzBFRTQxQzI3NjBCQjRBQ0RGQ0M4RjZFQzc0Ci1BMTU5QThEMTI2OThDRjRFNTg0QzdERkI4REVENUU4MzM1QjU3QkVBMjg2M0NDMTZDQjQxRERGM0U3QzE0REE4Ci1FRDk2RTY3QjM2RkUwOTlGMkE1QTAzQkIzRkUyRURERTVGRDM1QjVBM0FGMEQzOEZEQjcxNzIyM0VCMTczOTM2Ci1CQTkzNTcwMzc4QTQ0NTY2M0MwMzIxRjdEN0EzNjREMUQ3QTQ0MjVDQjdBNDQwQUM3RTM5M0YyMEYyNEY5NTVGCi0yRDI1MDhBRTdGQzgxNENFRjY5RUNCNEExMEM5Q0M3NUEzM0E5REJCMEYxNTYwRjkyMDVDMzg1MjcxMTg4QzhGCi04OEUwMDZBMzc4QzhDNUEzODkzRjEzQ0ZBOUQxOTgzNjQ5NjkxRTc5QkUzQzlERTkyN0MxRDc1QjY1OTg0OTMwCi0zNjBCQzNBNDA5RjA1QzU3MEQ3RjVDNkQyODY0NzREQ0RFNzFDQjU0NDUyQUQ1RUQ4OERCRTk5MzEzOTcyRTgzCi0zQjA3QTYzREZBMzM1MjE1QkYwNTExMEZEQjIyRTRBMzA4OThFNDYwREFENzc5RTIxNzlEOTU2Q0U2N0NEMjAzCi03NjdERkJEODczMDMwMjc5RjhBRkYxMDM4OTI0Mjg2MDAwODgyQjNENjU2MTYxMTUxMUI0NUJGMEJFOEQ0NEFDCi1FRkE2NTQ2RDdFMDNEMEEzQThFQTZDNzczOEM1NjI2MzYzQ0FERUI3NkRGNDQzRkEwQTIyQkIwNzFFQjJBM0I4Ci1BQzlFNzExMDgzRDIwNjlEQjgxRDNFOUI0OEQzOEY0MjQwQTMxNTgwMURFODY5MzhGQjdDRTExOEE5ODg5MUJDCi1ERTExODk1MTYyNDY2NDk3NzFDRjFFQzcwOTJFOUJFQ0RERDQ3MDg3MEY2ODZEMEUyQjk0RUY3QzZEQkU1MTVCCi0wODc5NkYwNDRFOTg1MEVBRUE1Q0JCQjc0REE0RjY1QzFCNzFGNEEyOEU4NTYwMjg3RTAwMjBFNDVEMzVGRjBCCi1DRDAzQjQxQkRGRERFNjYwMDlDNDJCOTI1NzNEOTlBOUQ2Mzg4QkE1QkYzQzFCRTkzNThDQkIzRkYxMkMwNTYwCi00Nzg1NjcyNUNGRkJBRjQyNkZGNzk0NkJDMDI2OUEyNkNFNzY1QjUxODIyRUZBNTVGQjlFRkJBQkE1MDA5QUU3Ci1BN0Q4QjZBQzhCM0I1Q0RFOEE3NzczNkJENTZEQ0IxRERDNTZCREQzMTBCQkYxRTNCNUYwMTFDNTI3NzNCOUIwCi0yQ0NFODFGQTMzMUU3Q0NEM0IzMjUzN0FFRkZCQ0U4Q0U2NjYxRjQ3ODE2RTJERTA4MEQwMkE0MzM5MDhFNEExCi01OTM2MzdBQzRCQzU1QUJFNkFFMzEzNzIxNEYwMTdCQTM0QjBFOUEwMzcyRjNBNzU3NDc0RjVBNEVCQkY2REQ0Ci03QjY5N0M0MTg0MjMyNThENzk2NEJGN0M3MzU0NEYwQTFGQ0ZCMDBBRDUyMDlDQjRBNzRCMTM5Nzc3RUNDRkYzCi04QjhGODhGMkVBM0VGNThCMDJGQ0QyMzUyRkU3REY3QTA3Q0Q1Qzc1MjdFNzg2OTQ1QzU0RTc0RjIyQ0I0MDZECi1CRkMxRTgxNTU3RUM2OEYzRjkwQzhENjU5NjM2RjE5QjUwNDE3QUYwOUUzMUEwNDQ0Rjk5MDNGMTkzN0MwOENFCi01M0Y4QzQzNzc3OEIyRDJBOURBRTlCRUZBQUVFNjUwRDQ2MzFGQTkzQ0Y5MEU0Qzc0NjNFREU2NDI5REJGQzk4Ci0xMjhFQkM1MUFFNUUxNUUyNEY1RjVDMUVGRjY1OEJGNDhEOUI1NjNDQjUwMjE5MDNCRDMwRTZBQzQ4QjQwNkRBCi00OUNBRjA3RDczNDg2MkQ3OUVCNzYwQzg5NzA3QjBFQjU5MERBRjlEQzE2OERDODU4RDdEOUYxMzQxQ0M1NEM2Ci01N0ZBMkU5NjJBN0Q3RTNCREZBNTJBN0M3MDQ0MjFBMTVFOEEyNDFBQ0RCQzkyNkVFNEVEQzkyOEM4RkM2NEVGCi1CQkU0MEE2QzYzMkE4N0FDNEYyMjI0NjVEOTAzM0JBQjM5REU3RUEzREE2MkVGQkJFNjlFNkM5QUJDNkE3NkFCCi05RjQ4QUI0MUNBOTc2QUI5OEQyNEQ2ODA1MEJCMEQ5NDBCQkY3MTAzMEQxNkNBRDNCNzJENjgwRTgzMTA0QTJGCi1EMjIzREM1RTg5MjM1N0Y3QjA2MUQ0NkFGM0NBM0E3RENCQTI5M0E5MENDOTQ0QzFEMDRFN0Y1OUMzOTlFREUwCi04RDVEQ0REMUM5RjA2MjdBOTBCRDg0NDIwMzM2MzA4RUI4RkIzQUZCQzQzNjk4OEVFQTQ5NkEzREQxNkE5Nzk2Ci00RDg4NEE5NTg4OUVDNzA5NTdGQkYyNzEyOTNDNkU5MzBGQkIxMzgzMDdEMEE0NDYyN0YxNUU2MUIxODAyQjUzCi1CQTVDMzU2NUIxMjBDNUU4NTY5NkFGNTY1QjRBMzcxMjlDRDAzOTY1RTY1Q0Y0OTE5NDg4REY0Njc5MjNGMjhECi0zRDc4Q0Q0M0I1MjMxN0IwNTI2N0FFRUEzMEQ2NzQxNUZGRDZDNDEwRTQ1QzE3MTlCQjE4Nzk4MTU5NDQ5QjYxCi0yQkNDMkQxRDk2RDVCQTE2NTRGOUUyQTAxMzcwMzgyRDg5RTY5QTU4NjdDREQxOTdFOTNGRjNDM0M1M0U2MTZFCi0xRTQ2OEQyODVGMzNEQjU1RThFQTk2QjdGNEZENkZCOUY0REJGQUM4MEJBMkQ5MjhDMzQ5NzgxOTJFMEJGM0Q5Ci1DMjA0RjkwMjkxQTg2OUE2M0QwMDk5M0YwMERCNUFGRjBBMEI2NkU3RTM1MjBFOEMyNUFERDBDMzE2RDk5RUM5Ci0zQjlDOENGQjFGQjExMzhFRjhFRDg3Q0U5RTNFMEEyQjdBOTVEMkI4QUFCNUM2NEE5NEY0NDdDQzUzQzVDMERCCi1GNkJDOUMyRjQxQTUyRjMyRkUxMDI0N0U0NUUzMDgzQTg5OUE4OUU0MUZFMjVDRTAxM0Y3RTMwMTJBODMxMUYxCi1FOTIxOTI2OTdDMUQxODc1NzJBQjZFODNEMDYwQjY2QkZDODIzMjU4RTc1MzVFRDVCNDgxNTYyNjA1RDJBMjcyCi01RDVGNzdGMjRCN0U2MkUwODVCMzNFQTFCQTYxREM3QjA2MTc2MjQ4RUU3MTlEMEI3MTQ0NzIzOENBQTg0MzM5Ci0zRjExMkY2QUM5OUU5M0M2OTIzMzU2NjMzQTVGQTZCM0ZFMkM0QUJGNzc2NTIzNDVFMzU4NUY4QjUwODQzRjQwCi1GRTdGQkJERDkxOTAyMkIzODRCN0Y4NDI2MDc0RDQ1RjA5OTc2OTYyQjE0RDE1MkY2QTM5QUNFMUE1NzkwRjE4Ci1DRDMyMDlGREMxQUUzNjU3ODg5NUZFRUIwMzZDN0U0RkJEMTQ4NzY2RjczQTMzMEFFRDU1QzgzMDI1QUREQzAxCi03NEIxMzlFRDZGRjk5Mjk5MzlFRUQ3MzZDMDUzRTM3MTQ2REVENDZEOTUzMUM1MDJBMjUwQzIyNTlBN0IzMUJFCi02QzY1RDVGNDFDODlDQjVGMUVBN0U4M0NCM0FDNDVFNUQ2M0ZFNzFFMEM5NDE1MkU3NENDQkQ5NTRFRTUxRUIxCi04QkE5Q0M0RUY4MEY3NUZBMTUzQzMzNTg1RDM0RTAxNTlFQkFBQzY4RDFCNDkyOUQ3REI4QjNGMzJFRDBEOThECi03MzkwODlDOTU2N0Q2NkY1QjFFQ0ZFRUE5NjQyNUZGRDY2RTcwQzI3RjgzOEUzRkRFREQwQzdCQzJCNTVEQzlBCi0xNzcyRDVENjQwNkM4QTdCMEY4MzNDNDdCODVBOUM0RDAxNUEzQzc3RTU4QjU1NjQ2NzlCRjBBMzE4QUUzQTRECi00QzUzMUExRDQ3OTkzMTgzNTdGNkM2NDU1MzdFMDgzNTI4RDk5NDY3OTc5NkM4NzA5NTlBMTdENTA5QzU0RkYwCi0wQjU0M0UzQTY4MkRDMzUyN0M1ODhDNTExMUNEMDczRDgyNDcwRjVBNkIzNEVGQjM1QkM2NEQ4RjE3OTIyMEI4Ci05M0I5OTEyRkU2Q0JGREYzN0I1MzMyQTZEQTY0QUU2MzU4M0RGOUMzM0IwNTk1MzEzMEYzMDU5MUJGQUUyMzQ2Ci02NzdGQjgxRTQwNUE3OEM4NTk2MTc3QUU0RDM0RDNENUJGNTA0NDg1NDVGOUFEMjQzQzU5QTI1NzA4QzNFOUM4Ci03MjlBRTc1ODg0NkE5Q0JFNjczRTFEMTAwMjk0NzM5RkQzRTM5MDY5REJCNTVEMjkyNkY3MzM5OTdGRUY1NEM3Ci1ERTcwRkI3NkU5QkRCNjEyMkEyRkU0RTZBNEQyMDQ4RTEzNDM3MkMyOTc2MURGMkY0QkUwN0UxRkU3NEEyOUUwCi0wNUMzQzU1QUExRjU3NDc0MjU3NjkxRjQ5Q0MyRjVDNjkxMzU0MUJGMjM4NUU2MjdCMTU2QTE2QjI0MTU0MkRDCi0wNDkxN0I2ODgwNjA1QzFCREIwNEE2NzI0N0M3QUJBNUU0QkNGNTE3QUFDNDA2Q0EyQUREMjVBNDVDRUREQjU5Ci1BRUM0NkQzQUFBNjI0OEQxRTdDRjcxMkVBNDMwODcxNDlFM0JBNkRFRUY3RTY1RjExREFGQzJCQjI0ODdCNEVDCi1EMkUyODk3NDUzN0M2MDE0NTZERDJGOEYwN0Q5RjdENkUwRTlENThEOEVFQUExRjU1RUZBOTE5ODEzQzkwRjRDCi0zNTRGQjk3MjUxODczMkZERkYwODQzMzY1NDUwQkNFNjMzQ0E0MzNBRkQzNTYwOTJDM0NFQkU3NkVDNTkyMzg5Ci0zNkNBNzNCQjM3NThEQTk3RUIyMDVFMDIwQjA3OUU2Q0E1M0NBQ0Q2OTEzM0VEODc2RDlGNzlDRkI4QkFERkEyCi0yOTZBQUQ0RDg4ODREMUNGODhDOTA2OUU1NTBBMDdFN0JBQjFBODk3QjA5QjYyNjY0MTEyQThCRjVEMTVCNUJBCi1EN0I3MENBRTgxNUEzOEQyMEM1ODRDRjM5RDZCN0E0RjhDNTQ1QUJENkUyRTVBNzc3MEYzQjEyOTgzNERBRTYxCi1DQzRCNzJGRUI4MDJCODY5QUY1Q0FBRUUxMTQzRDM1MUY0NEY0MjU2ODIzMkNFRkQwMjE1QTM5MTNBMDgwOTNGCi0yMTU2NzNBMDY0MDkyNTI4M0Q5RUY0QTBDMjQ3QTFCNTczM0VBNjVBRTQyQzM0RDE1QTAzN0I1OUY3ODVFQkYzCi05QTlGMTUxOEM5NUVDQkIzRUVCM0ZCQjlEOTVFQzFDOTJDRkUxMjkwM0UzRUIwREZBMkE2ODZFNDUzRDE1QzVDCi1EOEQyRTE0RTNDQ0RCMDA2MjI2QjU1QzMxNkY4QTcxQkE3MUMzM0VBODBDMzM2MTIzRDMzMDYzODMyN0VFQURDCi1FMEVERjFCNUJGRTIxNTc4NENCMkUyNDE0N0M5NTZDREZDMUE4RTE5RjA0Q0JGM0YzREUyMTE2MDkzODg1NEQ2Ci02NUQ1NEUyNjlFOERENUFCMTgyRTUzRUY0RTkwMUUzRDE4RUEwQTc1OUQyOTUzRjRENzQ5RDg0QjEzNDVBQzZFCi03NjA5RDA3NUI3MDBFMTZFNkRDNUFEQkFFNDQ4QjM2MzhCNDcwRkJCOTk0QTkxOEFBN0EyRjg5Mzg1MkJGN0M2Ci1BMjA0NUQ2QzYxNTJBMENBMjZDQUFFRkJDMkFCRjUyMEJBOEY1RjhFMDJCMDJGMzFDOENFNDhDNUFDNTg5OTdCCi05OTkzQTREQjYxREJGMzQ4RjM5MEMzNDMxREUwNTdDRjc4QUQyOTNBODg5RDM0RTM4OThBMjE2NEIwMjQ3MDBCCi0yRDM2M0RCQzc1Mjk4QTkxMzJDNEE3RDFFQUVFRDBCOEQ4Q0MzOTQ4NjIxNUUzN0IwQzBCMkM0NDlDQTk2NkMwCi03QTE1NzZBOUI2RTY1MDBEQzZGQzE5QUExOEQxOTBDMTIzOEU4RTE0MjZBOUQ1MzMxOUZFOURBNkVBQzQ3OTYzCi1FQjI5QkRGNjIyMUY5M0NENTlGNDUzMTQzNEVDQjNGM0EzMDgxMzFCQzNDRTEzMjM4NDc3OUEwREY0MTY5QjI5Ci1GNkQyMTM3RDQ1OTJFMUJBRTA3RUFFMzY2MjIyRjlGRjlEMjExQkE5NTc4QkJEQkVCRjBCM0E3QzY2MDgxNjYxCi05QTc4MzhBRkMxRjAyRTM3NDFCRDFFQjExODU3QTNCMjJDOEExQzc1RTA5QjQ2NUU4MzI2NUM3NkZFQzUyRDlCCi0wNjg1MjJEMDQzMEIzMzFBMkRCN0JEMTdDNTg0MkU4RkM1OUFGNzJCNUQ3NjUxOTkxOEJGNDEwM0YwMTBBRjg5Ci00ODFCMDQyMjlDQTk2NEFBNENEMEVBMUY0Q0E0M0U3RkRFRjgxNkU5MDA3RkU4NTY5MTcwODQ5RUIyMEUwMEJDCi1BQkE1MTBBRkMyRUIxMjlCOEZDODM5MkI2Q0RCREVGNUFCRUZERjAwOEM0RDJEMURDRUUwMEYwOERCMjE3ODE5Ci0zOTMxQTE0MkFCRkI4QjQ1ODQ5RjQ2RjM2RDIzREMyMEREOTFBMjZDMzU3MjI3OEUyRjNENkE4NTVEOUZFRUQwCi1BMDAzNzA2QzQ3Mjc5RDU0QTBENTk1NDEzOEE2NzI4Q0REMEY1RUJEMEI5MUE3QTY4Rjc3RDdDRDU2OUY3MUQ1Ci0zMEI5N0Q4QjUzOTcxMEQyRjg4MDhFMTlBMkVCNERFMzNBOUQ5MzI0NkI0REVCQkUxRTIxNENEN0NBMjBENTBECi1BNjA2NDIyRTExMjYzQTlGOEU0OEJGRUZCNDFFM0ZCREMwNDZCMERDQ0Q3RTA5QTBEODE5QjUxQUM5M0MyMEQ1Ci04NjQ4MDc4RUI0NUI3RDA0OENFMjEyOTkzOUY5MTQ0NDA4ODNFREI5MDQwRTdDMDlGN0I4MjI2QkIyMzMxMzU5Ci0yQjkzOUY0QTI1Mjc5RTQ3NUMxQUI4ODgyQzc5QkNEMjU3QjczOUNEOEQ2Nzg4NjEzNDczN0Y0MzZCNzg0M0ZBCi0zQzgxMEZDOTRFN0ZGQkVDNjUxNkNEMzhDQTUwMzBDNUQ3OTE4QjQ2QzhDQzcxNDJFNkVENjdCOTBFNjM2Rjk4Ci03OTBEQkI5ODMxQTVBQTVDQjIzNkM3QzY3NkY5NzhCODk1NTQ0NEZBRUJCNDBGN0I1MDM3QUE4QjUwMjJBMzYyCi02ODdCNjBCQUU4NjdDRDM3NkUzMTRCQkY5MkQzRDE3OUY1RTU4NkU2MUNGRUNFRUQwRDI4Mjk4NUFCQTgzNDlCCi0xNzMwQzhBQkE5NEU5NjhBREIyN0M4MTBGRDZBQTBBRDZEMjE3MTVCOTlFMzQ4OUQxOTEyM0U0QzdBRTFGRkEwCi1CNjAzRUFENjc1RDk5NDkyODQ3NUIzODZCMzZBOTVCODAzQzkyRDY0MDg0NENFRDc4QkYyODIwNDc0MzAyQjNFCi0yNzBCMDI0QzExNzdEQzYzNDhGNkVFOEFCMTVFM0EzMUY3MDRBMTJENTIyRUU1MjU4NEE5RkM4MzMzM0QyOEUwCi1FMEVGQjc5M0NFM0EyQUI5QjNFNDczOTAwNDFDQkJDQUU4MDEyNkNDOTc5NzM4Rjg2QUI3MUNDMzI2NjIxRDQ2Ci05NTVGMzBDMkM4Q0E1MjVBREQzRUZFNkYwOENEN0M1RUQ5Mjk5OEU2MzJFMUJCNzM1QzI4MUREOTgwNEM5Mjg0Ci0yOTcwOTFCM0YwM0NCNjU0MjdFRTU5RDgzOTZEQkZGNzRENUYzMzY5ODA3MjhDNEJENDdBRDc2NTRENkE0MTcwCi03MTlEN0IxQkVDQkYwN0E4QzEyMUE3NkIwNDgyMTJDNTNENzE3RjZCNTNDMzUxQzc0N0FCQTk0MTIxMjc3NDk4Ci02MEI1RjIzMjVDODcxM0Q3MTFEQURFNjJFNzhCOUY2MDlEQkUzMjRERUE4NUMwRTBBQTRENjRERUVEMjRDREQ2Ci0zNkNDOEQwN0MyNUIyNkRCMzAxRDc3RjQyRkVERTY0NjA2Mjg5NDA2ODUxQjAxMDY2QkNCQUU5RTI4RENBMjVDCi0xQjQ3RTBCRjk5QjdDMzdGNjU5NjY5N0Y1OTE0REQxQzM0ODU4M0MzNEQwQTVGNDY2QkM4NzhFNzk5QTE5NTlGCi1EQ0UyMkNDRjc3MTRGNjJCREJEOUQ1Qjg5QzE0NjYyM0I3MkUyOTU0QkE4MzRCQjg4MDZGMkJCNUQ4QjQ5N0IwCi0zRTQ0Q0NFNDJDOTY1MEQ5RDdFOERGQTUxRTIyNjE1MkI0OUM5MDc4RTU2Mzk5REU5Nzk0QUUyNDg3QTU5QzA1Ci00QjA3QTk4REY1QTA3MDc4M0VDOTQ0NDI3NjkxQjk1NjlDNzQ5NjBGMzYxNDEyQjJBQ0M2OTkzRDIzRDQ2RUU3Ci1FNUQzMjk4MTZDNDhBQzRGMTcxQzA3N0E1Njc5OEU3ODRFN0FFM0Y1RDREODE1MTFCOUQ0QkIxMjcxOEU4NUI1Ci1ENDc4NTgyODA0OUM1QjMwMjE2N0ZBQzI5QzEyMkE0MkZGQTk5MjMyNUIyQzk4RTBDMUQzNjU5QzU4NjcwOUU2Ci1GMTIzOUZBN0VFMjc3MDFEQTEwRDY0MUM2QkE0RkZDNDFDN0RFNkY3NzkzQ0NGQTIxQjQzQUNGM0NEMjJDOEVFCi00OUU4QzNEMDc2OEZDNDRBMEVGMEE0MkYwMDM2QTQzNzIzQzlBQzk3OTBCQjBDNDNCNUQ3MDlFNDU2MDQ2NTM1Ci05NTNGQzlFRDYwRTE3MTgxMUE4RjQ2MzU0MUVFMDkyM0UzQTk4M0MwQTU4MjlENzY1MjBFRTc0QjRCMjYzOTE5Ci0zNUFDMThEMDY1QjIwNTE3ODI1OUIzMUY3QjFGQkZBMEI4OUU1Q0YzQjY2NzEzMTY3M0MyQzRGOTg5OUFGNUUzCi0wRTAwODJEQjEyMDBFMkQzNjJDRTI5OTdGQUE4QkQyNjhBQzQwMEYwNkVENTJBMTAzOTY1RjdEQTE2QTU2QUY3Ci1GNjAzOEFEOTA0OEU5ODYyQzkyMzUzNjMxM0QxODA0OUI4MjBFM0U2NDU4OTk1RDRFNEU4OURGMDdDNDRCNjAxCi05RjJBRjEwNTYyNDBEOUNEQkY5MDJCQUMzNTk3OUU4OThFMUFCRUM2MTE3REJENzk3MTAzM0ZCMjVDMEMwQkEwCi0wRDkxNDEyRUM1RkRCRTNGQTE1NjI2RDFFQzQ4MzUxQUZCNDA3RDJBQkI0MjFDNjQ2MzIwNEM5RUVFMzJENDg0Ci1BNUE4RDRGNzg0Q0ZDOEJBMkVBNkM3OEM1NjJFRjBCMzcwMDNEQzJEQzIzRjAyMjdEOUI3QTIxRjM3NEY3MEYwCi0xREMzNURDNDhFMkQ0NjA3REMxM0JCRTk1NkYyRjk5NDRGMzdDQ0QzNEEwMzgxRThFRTk5MkVFRTg3QTM2RjA1Ci1GMEIxNkQyNjVFRjczRUZFMUFGOTlDM0M1MDVFQjdBQkY4M0UzNjE5N0M0NjdCMzJGRTc5MUFEOEY2NkY5NkZECi01QkZFNEIwNjEzQTI4NTBBNTVGRTlDQTg4MzIwNTM5QzVDMzFDN0RFOENBQ0ZCQkZCOTNCMDZFNzk5MDlCNjAwCi01QkQ4MzUwMjhENkFBNUQ1NzM4MjkxMEFFQkQwOEM5Mjk5MTBGMEZEQTMzN0Q2NEM5QUZFNjczOEEzNERCNzc3Ci1BQTk5QTg4QTE2RjY3NkMyRUU1RUI5NUQzNDQ0QTg2Q0MwNjI3OTYyM0Q3NTE2RUY5QzIxRTIyODBBRjc5N0U4Ci1CMEMwRTcxQzZERTNCMjFGQThBRTNGNEJDMjlBODBGQTUzRjE3NTE4NjJGMTQzMkVCRThBMUI2MEZFRjYxRTE2Ci04MjdCMkFFNzM0QzRDMjQ4Mzc4NkU0NDQ3OEYwNjIzRkMyMDIyMkZDMDRENTdBQzM3MzVGQ0FGNDQ4Q0U1NkIzCi01NDY4MjA1QTFFRjM1OTI5MzQwQUMzMzBGQjg2MUE3OTNDMTIzODUzMjJGNzYwNDU4NkM2RjZGQUIzMjc2N0RFCi1FQzQ3NUFGQ0JFNUQ1NzlDOUM1QjE1RDI5NzMyREVBRTlDMjlBODVCMENGMzA2REZBREREOEExN0E4QTIwRDQxCi0xQzU4NTIxREJCRkE3OTVFMUNGNTAxRjU5NTBCODUwQThBNzk0QUExNjZGMTI5NjhCRTFGMTBBNTY3MUQzMEQ5Ci05OTY0QTAyQzU1QzBFQUY5NjM0M0RFMzU2QUYwNkM1NEYwMjlGN0ZDMDNFRjZBN0U3NkE5REI1Njg0RUQwMzE1Ci1CNTFCM0ZEQjZDNDBDNTEyQkZGQ0RCNTAxMDAyMjJFN0U0RDc4QjgzMUFGRDc5Q0Y0NjY3NEE0NUM1MzBBNDFGCi0xMDZGRjkwQTU5RDRGOEJGMEM2MjAxMTRBQzNENUEwRkEzNEUzNkI1NUQ3RDgyRUU3QkQ3OTQ5OEM3MjFDN0NBCi0yQzFCNzlGNzI2NkM2RjA0MEYzRTFERUMxMzM3M0RCMzM4RUMwMkVERkEyRTE0RDRCRDNEQkZERjk0NjQxNzU2Ci00NDM1N0FBQURFOTYxNjIzNkJFOUNFMUI3OTlBQjMwNTdFNTY0NDQ3Q0UyODAzOENGQUMwRUREQzVGMUQyMEU2Ci05OTZDM0JBQ0I5MjA0NEREMzMzMkRCNzg5M0ZCOEEyMjY5MUE3RjcxQThFMTBBOTA0NkI3RTI4MDFCMUEwQ0QxCi1DM0JERkEwNjg0MDY3N0JBQUMxQTk4Q0JBMjhBNTcxNzZFODYzOUYyMEYwQkE5MzQyMERCREU5N0YxQUMyQTc4Ci1DQ0NFQzNENDAwOTIzRjRGREM5NzBBRDUwMUU0MzVDOUJEMjQ2QzYzOTZBQjhEMzdFQjRBNTlGMjREREQyQTkxCi00RjIwNzE0NThGOUNDNTVGRTYzRDdBMTY4MjJFRDE5OUZBNTBERjNDNjUzODQxNTM3QjlDQTA2MEQwNjM3NEI5Ci1FNTNCNTZFQUFFNTM3N0VBRjlFRDQ3NTFFMEQyNzgzRTgwQ0YyMDY2ODFFMzNFQTlGRjVEOEY5MzhGRjQyQzE3Ci0wRjUzNTlCQjQ4RDQwREI4MkM5NTJBM0Q4NTA0NDE1NDNDRjU4MUNEMjkxRDc4NEI5RTM4NzZCQ0ZEQTUxRThBCi03Q0U2NUU3MDBERDVCNkIyQTU1MTlFMDQ4NDAwM0JBQThGMUYyMTk1MEQ2MDMwNDQ3RjEyRDI2RDZEMERGNUI2Ci1DMUIwRDQwM0NENDE1NUMyQzhENUQyMTREODZENzJCNUI3OEIzQjNFRDIwNjJBNDgwRUFDOTU5QzBGN0Q5RjU4Ci1CNUVBMEY0REQ5NTk5QzgzRjE1MzdBRkM2QjRFRTJGNUE5MkVFODhDNEI3MDhCRjk0MDBDRTNBQTNGRjE0QzIwCi00ODUwRUNEMDdBQjQ4NUYwMEMxRkU3NUVENjU5NDQ4RTI1MkY3NzczRTM2QjZCNTlFQ0Q5QUM2RkFFRjA2MTIyCi0yNUQzREJGQjQ0RjcwRkExNThFNEQ5ODhCMzFDODhBM0Q1NEZDMDFEQjI0OUY5NDlBRTFFMDZGRDVGQkU0OTcwCi1BRENCOTJDRkVGQURDNDE3OTFBMTdCN0RBM0M3ODUxMjRDQ0U1NDNCQjI0RDM1NDBCOUY5QTc2NDM5QzQ5MjQwCi02Mjc4QjFGNDE0RTEzQjYzMjQ5QjNDQzIyMTZBMUM1RjlFODM5MDg2NUFGMzUxNDg3OUY4ODQyOUVENzM3MjVDCi02RUQyQThGMUUyMjMyNkQzM0QzNzJBM0U0Qzk1MjM4NzNDRDMzMjNEREZBOTUwMkYwNkI0OTVGM0ZBRjVDNjBECi03ODRDNUFENzJGNkY4NEY1Mzk2RjlFM0IxNjdDRDg0QzMzMENEMkI3NzdDMTY5MDM1MTY2NjVFQkUwNEI3QUZFCi1GMTNCM0NDNDlEREU5NzM0NzEwRTIyMTI0NUIxQjAyNDJEQzNERUE2OEMyQzk2RTBGNTFFNDAyMTJCMjY0NjQ4Ci01NjJGM0E3QTJCMTJFNTRERkQ5QzNFNEIwQjU5M0Y4REU2RDM4QkQ2QTUxNkRCOTY2NDgzRkFFMUJCOUQ5ODU4Ci1BNjY4NjNFQjAxM0JEMDU1ODhGRUE0NTk2OTYyQTg4RjVEN0QyN0Q3QzBBMTFERDI2MjZCMzJEQ0YxMTdGQTVDCi01NjgwRTUzMkM5NUE1N0YwNzQzNzg2MzVBNEQ0MTM2RTczMDQzNzM0RTQxMUU0NzMwNjkyOEEyQkMyNzk2MEExCi0yNzM5RkY3QzJGOUI3M0Y0NjNBRkJEMjg0NTJDNUZGQzcwRDAyNjhCOTEwMTZGMkVGQTU5MzJGQkNFODZCNUFGCi1EQzYzNjhCODBGMTFERTc3MTVEQUIxMTRGMjg0OTFENkY4QjMxQjZDNkM0REQxMjZGODEyRDkzQzUxNUQzNEJFCi01MTZFQzFCRDM5NDBGMzc1QUI0QzE2MTVFREE1NEY3NTg2REQ0RUYwQTA0Nzk4QTY4NTVGOThBMzAyRUFBNjdCCi05ODE2REFFMEEzNzIzMERENUMyQ0Q1RTU2MTJGMDU1MzM1NjVEOTgwMjU4NEM5MkNFNDBFNEY1QjFGNTg5QUZGCi0yNzY3OTMzMzRDMDkxRDc5RDc3QzE0OEFGNEZCNjk3MTVGQkU0NjM5OUUzQzYxMTQyODJDMkY2MUIyRDU5NkY2Ci1BMTU5Q0M4OEJCQ0IwMUNEQTE5MzA0RDVCOTk5MjdBQzQ0QTg2N0Q3OUY5RkUwNTg0ODhCMEQwQ0NFOTZCRUY4Ci1ERTk3QTY4QTQ5MzE1MEU0QjM5OEJBQkNDMkNENTQxRjRENjBENTg2MjM0NDEzRDY0ODRCNjIxNjUxODM3N0I0Ci04OTk5ODJFMUZDOEYwNDFBN0RCODVFNTM5NzBBN0E3M0EyOEFCOThEMEFEQkQ1Mzk4MEFCMEZFMEU0Nzc3Mzg5Ci02NTgyQjBCOEZBMEFGNjk0Q0VCNzBGMDk4NDAwRUQzNkM5MTg2MEY3MDYyNjgxM0JCMkQ3ODE2MkZCMjRDNkU2Ci03NUE5NTZCQ0RFNTcxNkMxMzVFNEYwNkUyQUY1RkJDMjM2QTcxNUE1RTQ5NUJDNTc3RkM1Nzg3NjI4QzVFNTM2Ci00NkVBRDEwRTg0ODhEMzg2NTVGODk5RERCQjkwNURBOUY5MzU2OUVDOUY4RTcwNUEzMzYyNzJGMDY3QjhEMzFGCi1FQzIwMDdGNjhBQ0M4RTA2Mzc3M0YzQ0IwQjQ2NzFFODlFNUQ2QUE2QTQxRTZCMkU5NzIzQ0FERDE3Mzk0QzBCCi1DMjJERkZCNzREMERBNDA0RUVFODZGMzkyODc5M0VCQkRDNkU1OUZFNEY5QkIxMDI0OEZGQ0Y0RjVFODk2MEE1Ci1CRjQ1ODgxN0VEMjJGRkVBREFBNjI5MUI1MEU3NjY1OUNDN0MwQzRGODdBMjg0MTc4OEE5RjcxMjg5QkE3NDUwCi1CNzBFNjM2OUU3NjZGMUFBREY4MDdDRERERjJFMERCNDkyODBCMjUyMTIwQTdCNTZGMjExMUE2RjJFODM1Q0U2Ci0zRUMyQUU1NEQ4MjBCQUVCMTlFNDdEQzQ1Rjc1NzEyQjJBREY4NEFDMTFEQTY0MEJCMUI2NDVBNzg1OUE2OEE0Ci1BQTkzNzU5NDJGRjVGRkNDQzZEMzQ4NEQ3NDJFMDk1NTBBOEQzRDJFM0Y0NTFFQTQ3MTJGMUEyNzU0Qzc0NURECi1FQkQ1RkM3QTIyQTc0QkMxRDU1MEYwQkU1QzUxMzJBMjNEQzA1RDc3MTREOUFDRkY3MTQxRDZBREY5NThCOUI2Ci1EMDI2NUJCRjhBNkVFOTg1ODEzRjU0M0JDODk3NTg4RjExOUE2MUE5MzM3MTNBRUJFMTQ0REE3RTAzNzREQTI0Ci04NTIzMkYyMDZBOERCRTVFNUZCQkFEQkQwOEEzMjhCOTkxMkYyMTA2RDNFNUYzNzQwN0FCMEIxQjdFMzcwNkRGCi1DODY5QjQ3Q0E3OTNGM0VBQ0IwRjM4NjdGMkJGQzRBNTcyQkMyNjNBNjYxNTI2RjQxNTI4OUU2RkU2QTk4Q0ExCi0zNjVGMzhBNzE1RDgyRUM2MjZDMzREQzA0MUU5RjMzNzFFNkVGMUE1QTEzQTU5OEQxMkUzMzA4OEFEMkQwNTVDCi0yNDk5NkUxNzRDOUMxMTUwOTQwMjhBMDgyNTY2QTk0NTdDNEQyQTk5RTAzNUJDRDA3MTU5NTg1Njg5MzgxRDVDCi01M0FDOUU4MzE5Njk4NDI0MDE4RUNCMjU2OTBFRkQzNjM5M0QyRkRGNkY5ODlDMUNBRkM1RDQwMTkyMTQ3RUQ2Ci1GRTg0QzkzQTFCNUJCOTJFNzFBNTk1Mzc1MzY4NTdBMDM2MUVDQzhEQzU3RDA3RUMwMjdBQzFCMUVEMTY2QjE1Ci0wQzFGNDU1NTU1NjBGRDNFMkNGRjdBMTlCMDkwNDU2RTU3RDM2NTZFNDVERDhDRTZFODFFQzNGOEMwMzgyOUE3Ci0xODQ2RTgyOTZEQUFDOUI0Nzc0QUZDOEUyQzVBQTJBRDJENUQ4M0YyOEMyNDJENDdBQjY1MkZGRkFBOUQ3NDAzCi0yQTA0QUY4N0Q0NzdEODBEN0Y1MkRCNTkwQTMzM0E5OTBDODNCMjYzRkUyN0E3NjMzQkUxQTlCNDlBN0E5MjE0Ci0zQUYzNzM4M0VEQkREQUNFOTQ3MjgyOUYyM0YzRDZEMTg1ODhDOTA3MkUwNTBGQTJCNUFCQ0I3Nzc5Q0MxQzQ5Ci0zMDQ3OEJEOTE3NzNCRUM5QjEyMjJGRTI5MzA3Nzg0NEJFREFDRjI1MTlGMDJFN0Q4RTBFNjI2NEVFRUVDNTIzCi0yQThGQjcwNTRFNEVGMDFCRjVDMTc3MEFCQzFFNzU4MjRFRjI4OTA3QUFGMkQ3OUIxQ0REMzFDQjI5QjRCN0I1Ci0xRkFCMjRGRjI0RkI5NDdFQUFCNTIyODAzMEMyMUFGNDJCMTYwNjRFNTMzMTE3QTdGMTAxMDE5Q0M4NUM0ODczCi0zODIxOTA3NjA4RDcxNjA5NjM5Q0REM0Q0MzVGRjMwQzgyQzM5NTRDOEIyRUMyMkM5NUMyNkIwQzE1Q0EwQ0RFCi05QUMzQjAxNUM5RkI1RjAzMzcwMTAxNzE5ODUxRkIyMjc3M0NEQzAwMDhGNjM2RTUzOTY0QzE0Mjk0NjE0NzBCCi1EMzk4MjUxMzQ2QkNFMzkxMDAwRDhDNjlDRDg2MzY2RkZDODREQkM2NDUwODQxOTFGQjM1QjE0MkExNzQxQUZBCi1GNkU5RDEzNTVDQUE2OUY0RkJFMTYwQjg4RDgxODc2MDlEOUY0MjZDMEM0RDdDNDQwRDA1NzFGQUYwRkY5ODhECi04Q0RFNUY2NkQ0N0I0MDM0OTQ2M0YxREYxRTY3QUQ1MTRCODgyMzNCNkQ4QTVBQThGOTREMkU3MEI0QTIxNUI2Ci0wNDQyQzg5MDZBNzY4RTg3RDMwRjgxNzMyOTI1NTZFMjc4QzBFMjc2OTQ1NDdEMzFBNzdFQjhEMEM3MDk4RjZDCi00MDU3M0Y2RjlBQ0JGNjczNjI4NjhCOTRFQkMyRjdEQzBDQjlGNjZGMUVGRDRENTZFNkZBRDA4NkY4RTEwRTY5Ci00Q0U0OTY5MzY0MjA1NjBEQjQ0OTNEOUU2NkJCNTA1NzkwRDAyMURBQUUxNjdGNEY5M0MwQzc4RjIyQTBDNzg3Ci0xQzEyNjc2MUMyMDRFNUFCRTgxODQ1QTEwRkQ3M0QwQTM3Q0U1QzA5NDQ0RDEzNzM2NUU1NUUwOEZCN0E0RDJGCi1DRUU3RDk3MDE3NUY0NEI3NTA4ODdFRDUyRDA3RUIwOUFGRjY0RDZGQkM4RTAyMjBEMzU4MTgxRTcyREI2RUIzCi0wQTc5NEJFMEVBOTFCOUM1NDlGRjQ1ODE1QTIzRUQ2NUUyNzY0NkE3RjUxODYzMzRDQ0ZEMTgwRTQzMDRGREEyCi02MzUzMEZEMjJGNjJBMjM0RUZEQzdENEE3RDY5MUJDMTYzOUJEOUUyOEQwQTFEQzBEN0NEOTc1Q0ZDQjIxOUJBCi0zMTFGOTM0RjE3NUY1RERCQTMwMjdDNjY0QTZBMEI0MzEzNzY2MUJFODQ4QTZDQ0YyRkFFMzM4NTg0QkIxNkJECi1EMTI4NDZFNUEzMUI1OTg3NjQzRDZGRDM2RDg4QTQ1ODBFRkM3QzJFMTg3MjU4RjA3NkNGNDA4Mzc3RTVEOUY2Ci1FNEQ3MjUzNTc1MTMxNzI0MEZBQ0IyQzBCMzE2RTM4MEMzRkJFNEEzNEQ0QjczNUIyQTBFMDdGMEFGQTZCQ0Q0Ci01QTM2OTZDOUMwQkExRDQ0RUU4QzgxQzY1MUEyRDEwMzA2M0Y5NUY0MzM4MzlFQTUwRjYxN0JFNDc2Qzk4ODMyCi1DOTZEOEUxMzBCODY2NkFEQkI1OURDQzk0MTA0RDc3N0U3QUQ4OUM2OUFGMzVDNzY4QkFCQjY2NEI5QjNGNzYxCi0zN0U1ODFBQjNEMDk0MTVCMEE1QTA0QTg0MEY4RTlCNzdFMzMyQzU5NUYxQzlDNjhENkUxMDUwMzc5QkI5Q0JGCi04NUIwODk1NEYwMjVGMEVDNDJEQzhEQ0E2NkYzNTE1MTY4NTc2NjkyNUE2NjFCRTIwNjAyQzcxNkYyOTc3MURGCi1COTdBRTE1Nzk0N0RCMjRFQkZCRERGQzE2MkI5RDc2Mzc3NEQ5NThBQzI0NEVCMEVEMTBCNjc0ODZGOTI0RjkyCi0wOTJFQ0JEQkNDQUUyRTE4N0ZDMUMxMEIyNzJFOURDNTA0OURDQjE0NkU3MkIxQzhDRUVFMDI3QkY0MzkzQjM3Ci05QTJENTZGOTcxQUU4QzVBRkJDMUQxNTVCMkZCM0E0ODVEQzYwMDU4RjUwRTQxQzExRkZBNzgzNDIxRjAwOUJCCi0wQTU2QzRCN0QzOENBNDQ4QzM0RjMwMURGMUIyMUZBOEUyQjA5ODVGMDUzMDEwQTM5QzM1OTI3NjQwMDU4MUJBCi0zNTk5NDJCNDM0MDAwQjAxQkQ4NTZCNzhERDIyOTJCOTVENEExRThFRTAxQ0Y1MTVFMUYyRDc0Q0UyODc4QjlFCi04M0Q0NEMxQTMyNTc3ODJENzZDMjgzRUZGNUNBNjM5MEJCREZGRTNDNUU1RDYyQzk2QjlGQzRCM0QzRjIxRDUwCi00QzdGNkMxRDMwQUVFQ0RERTFEOUE1RTlDNkUxNzA2MzYwMjZBQzJGOEMwMzZGRTcwNDgxNDU0NzkxNEQxMTVBCi1FRDRFQjdFOTA1NjgyNzlERTlGOUVBODg2RDg0REQzNzgxMTExNkJGMDg1ODg3NTgyMDM3QkQyNTU0RTY3MjVDCi1EMzYxRDNGMkE3NTVFNUZDREIwMDY5RkE2M0YwOEFGRUVEOUE2OUU2QzM5RENFOTlCRTg1RDczRkVDMDc4QUVDCi1BNDk4QUY2MjFCQTY4RThBMEY2QThFQTA4RTU4MzdGMkRBRjczN0FEN0FCMzVENjZCODQ4OEU5QTdBOTZFNUVFCi0zQThFMzU0RkNBNzUwQzE3MjdGMzI2QkYxNUQyOUU0ODhEMDc1NUQ5NjI1MjU1MEY3ODEzMDU2Mjg4NEMxMkNFCi1FREIzNjU2RDFBNzFGQjYxQTFBRUE4NkVDRERGOUMyMkIzQjc1NUU5OUQ2NTFFNDdGQkRGRUJCQUNGQTAyM0VCCi1GRTI0NUE4OEI4Qjg0RTU1MTcyMzMyRkJBRDUyNjczNTRDMDMzRENFQUQ2QjZFOUE3NTZBMjVCNUM5MEE2RDU0Ci1DQjU0MDZGQzdERjhBMjExNkZDNzNDNjZFQjEyOTZDOEJENjJDNDgxRkMyNTU2QTk4NDdGNDAzQjIxOUZEMTEwCi04RTlGNjJDRDMzMjZDMTUzNjAzQjk0MDU5ODY5MTRBMzNEMzk5OENFNDRBNzU2MjJDNUY2MEU5NDQyOUM2QjJFCi01RkM5RDE0MzAxMkUyMDM2RkQ1RDg1RjZCOTRCQ0RBRjJBM0UwNDU4MUFBQUEwM0IyNkE1RjUwMkQ3MDY0OTk1Ci0yNDE0M0I1NjhEQzcyRDg2NTIwODBENTdBMzc0MzA1ODAwQTY5QTU3MTU3RjQ0NTYyNzZFQTAyNzg1NzNDREZECi0wM0RGMjEyQTE1Q0NCRjJCRUE0QTI0ODRCNDQ0RTU2NDc3QUM0RDNFMDk4RTA0RkE5MUFEMkY4QjM5NTVCQTIzCi1DRjI2N0UzODIyRUY2REI1ODkxMjVCQTA1NzFGMDFBRTE3MkNCN0IzOTgxQ0E1MDY5REU4MDdDMUY0RTgxNTQ2Ci1DNEUyMjUyMjE1ODhENzA3MTRDQjkyNDA0RDU2MTQ3NTE4MDVDQzQ0ODI5NzdDRDM3Mzk0RUU5RDg3MzAyNzgxCi1CRkVGMzUxMDg1Qzc3RDU1RUJDRDYzOTY4RDc0Rjk4RTI5MDAwMTlBOURFRDg0OTIwMjJERjkyODVCNEJCODJCCi00MTE1MDBFOUFEQjg5RUZDMDEzQkFFRjFBNTBGOTNGMzNBODg2OTdGRDAxRTBFMjc0QTE4MzQ1QjUxMUQzMjVBCi1CRjlGMzFCNUIyRDQwQzZGMEYyNERFRjM5MERDMjQwRDQ0N0UyREQ0NzhCMTE3MzA4QjFCNEFBQUZFNjg5ODdBCi05NUI5Nzc4RkM4QUREQUQ2Qzk2NTlCNEUyMjc1MDlFMkQ5NkM4Rjk2MTNEMUI5NzU2RkNBRkU2MzRCOEY4MzM4Ci0xMjJBQzQzM0QzQkIzNjFCOEM5MjM3MEMzRDI5RkJFQUQ0MkQxREIwOEJFRTk2MUJFRUE5MzUxNzBGNkNFNDMxCi1EQjUxREQwRTM0OTVEQkFEQTMyODM3NTMxNjNFRDJGMzNGQ0VDMTFEQzQ3RTlERDlBOUFGQTBDODUzNUUzOUVCCi0xMTk3RjAxQTZFOEUxQjY1OUFGRDAzNkYwNUI2MkU3ODlFRjc0QUU1Qzc1RTQ5RUI0RTQ5NTlBRDlBQ0NBMTMzCi1ENkYzQzRERDAzMUNGN0MwOTA2RjRDMjVENTYxMTAwQzlEQ0RGQjNGRTc3NUYzMjQxMTUxOEU5MzNDQjIzODg1Ci0xRkJGMkE3RDkwOTYzRkJDMUU1NDI4REZDRDQ3RjFDNDBFMDNFNzNCQzVGMzE5RkQ4NUQ2NDk5QzIyMEMzOTc1Ci04RTJFNDVGNTAxRjM4MDAxRTg3MzlDQTZBRjZEQkRFQTMxODMwRjQ0RTBBNTg0MzU1MjQwNTVEQ0VGRUIxM0Q0Ci03QzA4MjE5NjI5OTU1MDZBNEQ5MTc2N0VDOEU4NDhCQ0FBMDQ1RjRFMTdGNDlDM0JDRTUzNjM0Qjc2REM5NjMxCi0zOEM3NjQ0RTRBMTc4RjY4RkFERjM1NzM3MUVBMDVCMjEwN0NEMzhGQkI2NTg4NURGM0ExQjlBMkQ3ODlGMUQzCi1DQzQ0OEJGOEE4MjRERDE5OEVCMjVBQkE1OTA2OTVFQkY3MzdFNTc5MzE3RUU0M0JEQjQ2MUU2OENEOTRGOUE2Ci1FRTcwRUQwMjIzMTgzQ0M3RkU5NDJGQzk1QTkwOUFEMThCMzMyOTMzRDk5ODY4OTc2RUQ3QTRCQUI4MEEwRjczCi01RDJERjEyNjk1ODg4NTQwOUVFN0RBOTE3MURFQjVDMURENDVFQThDNTYwNUIwOUQ1RDcwMzA3ODRFODA5RUVGCi0yMzY3MUY3RTQ0Njc1OUMzQTc4MDVFNDYxMEVGMjgwOUI5NDIxODhDOTg0M0M0NTdCQUJFRDZFODZFNTk2QjQ1Ci1FQ0I2MTczMjVDMUFEOERGQ0Y0QkM1OTE4QzU4OEYxN0MyMzJGN0Q2QTY4QTBDMzRCNjE5REM3QjJDMzEyQUE2Ci1DMjhDNUI2NjhGM0U1RjVBRDZFMEU3MDNDMDY3Q0I0QTlFQUY5QzMzMkU4QUJENkNDQzVDOUE5QTkxNzBFNTEzCi1CMzAzNTY4NDNDMzE3OTkxOEFCNzlCRDhERkQ1RDFDNUVFNEJGQjQ5MEYyQTJENTU3OEFCRjkwNERBMDY3OTdBCi0xOEJBNkIyOUI0MDE2N0ExNUYzMEJFRkVERTNCODgzQkEyRTNGNzQ1NkI3OTgyOUVBNjQwMUExRDRCMjREMjQ2Ci0yRjMwNDk0NzgwMTgxRjZEMTRFOTgyNTRCNDA4QjlBNUYxOTM1OUFFRkUxNkMwRUNBQzI2NjQ1NzE5ODI4OEZECi05ODk2NTY1QTBGQTE3MkVDNEExQzAwRTAyNDY1OTA2MDhDRjRBMEVEQ0JFM0MzNzlEQUZEOTQ3Q0M4MjJEODU3Ci0wMDI1MzgyMTBDMTE1NzU1MzQ2NTM4RjlEMTUxM0FGN0YyRjFBODAzMDMzMUQ4QkRFQzE3OEI0RDBFQjM2QzFGCi02RjREMEZCOEMzNzI3NTlCNUM0QUUxODNCQUI0QzhDQTk5QkQwNjZDNzU5MkE0RDI5REUyMTI1RjhBQjkxNTIyCi01NUE0QzlBNjE4NTQzMzkzM0U1M0Q5Q0ZCNkMwRjlBMDg0RkZDQUQ2NEM2QTkzQjAzRjY4QTMzRDBGN0U1M0UzCi0wNDY5NEQ2NUVFRTMzMENGMTREOEEyOTk1MEM2QzE1QjNBRjgzQTNDN0UyRUJBQjk1QjM0RUY2NThBOThBMjAzCi1CNUIxQUMyRTYyNDNGRUNBOTI3MEE5Qzc1OEIzMDkwNUYwMkE2ODdDMEI3RjlBMzczNUMyNzg1MkJCRTExNkIyCi04OEU1NDcwMjg1NEVBRUYzRTM2NjBCNUYyM0E3RjEyNTlDODgyRUFBRTgzNDhGOUU3NUI5QkIwNUNFNEZCRDM5Ci1BMkQxNTFBQTQ4NzlGQjc3REYzQjgzMjNBQTA3NUE0MkQxMzM2MURBRTY0OEZERkM0QUJCRENDN0Q5NTlFQTU1Ci00OEYzRTU1OTc1REYzQjlBODBDRENCOTM0NkIyMUQ2MUUzRjI5MDNFNEJCOUQyMkU5QjYzMzU0NEJGQ0JGQUY4Ci1ENUY4N0RBRkVDRUVFMTNEODc3NUVCNDdFQjQ0RDdBMTlBODhCODA0MjhBMDM2ODkwRURGQzYwMDA0MkJDOEZFCi03N0VCMTMxMzY0RDFCQkY4QUZCNDE3QUNCN0M1NTNCNzM3NzRFM0MyMzZFREVGNEJGRjA2QTUwQ0MwODEwOEM4Ci03RjkzRjEyN0IxMDFGNDc2QTYwQjMzMjJBMEZFNTIzQjAzQTkyNkY0M0FEQjU5MDBFQkMxMjkyNjYwNTRGNzFCCi1BODk0RjQ4RUU4QkIwRTQ0REY2MTJDOTI3ODRBNDk1MDNGNTI5RTI4MkQ3NUQyNjAxNzYwNTk2MTVDMEQ5MUQwCi0zOTI2NTRDQjNDQjkwMDlGNjA2RjNDMEQ1NEI3ODkyRUY3NUNCRTE2M0NBOEI5RjZCNjBFNDcyNDU2RjRGRUJFCi0zQjNGQjM1MzVGMTczNDYxRURCNzA0Q0Y3RERDOUUxMUQxMUE0NTI3M0RCNjFBRkVCRDNCMUY1MUNBMThGQzJDCi01NDc2OTlBQUFCOUY3MkE4OUUzNTlDMDBFNzFBNDVDRTVCMzk1MDMzMUQ2RTYxMjkwQkUwRjRFMzIyN0M4ODA3Ci03RkQ5NUQ4RjE2RUQ0MTlFRUEwMTJCOUZERTc3ODY1QUY2QUI4NzM4OTlDMjhBNTVCMTdBRDBCNEU1MjVDNzM2Ci1GMUE1NDMxNzRGNDU5MkQyNkUyRjRGRjE5M0UxMzMzOTBDNjk3NzVDMTZEQTA4MEVFOTk5NDlDMTcyMjREQUU5Ci03NkQxNTBCNDZFQkI2Qjg5QTI2MTFDRjE3QkVFRjk1RTI2Mjk1QTM3MzBGQjk2NzRBQkY4NEZEQkRDQzRDODJBCi04NjUxMEIzMEMzRUM5NTY1QjY2NzgyMkMyQkFFQTM0MjQ0MTAzRDM4OEJGMUZFQTQ3NDAzMTUyN0M4NUI3RjIwCi1EN0YzNURCNTFEMDM4OEJDRTRGNUI3QkNDRTVCQzgyNTMzNzU5OTQyNUIzQjAzQzlCOTkyNzc2OUY5Rjc4RkFECi00OEE1QzFDODExRDY4RkNCNjk2QTU1ODE4MkFDOEJFRDM4RUI0MDQ5Q0RGNjQ0Q0IyODVFRTg2RTREQTQ2OEQ3Ci02ODMwOUNERUZCOThEQUQ0MUNBMEUxRTU0QjQ4RUQ2RUQxMDEwRDEzMDVGOTQxOTBGN0UyNDA5MzdDQjcxRTA3Ci1FMjBCMTJDRkFCNjQ0RjRBRDYwOTYxRDEyQjBCMEIzRkY4QkIyNEM5NTFGQUY1OTM4RDA1QjNEMjM0MzFERTQ0Ci00RDMyMzA3NERFODA0RjExQkE4QjY0N0NBRDFBOTIzOUQ0QUExOTY1NEI3RDM5OEU2NUNBNzIwOUI2NkI1MUE0Ci1EMjlCQ0Y1OUY2QjlBMkE3QTg1OTlCM0JENTVBMjI3ODQ4Q0VFQTU3RkExNDgwRDg2RkJFMDkzQjcwODUyQTc2Ci0wN0NDQzlDMTA5MUYyRTI3MTM1MUVEMzM2NDJGNDZDOUM5Qzc4MjNCMUJGOTdGODJCNkEyNDg3NUU3N0I5Qjg5Ci1EMkE1RDhFQkJCNTgzNTA4NTA4QjMwQjQzMjk2MDAyRDFDRkEyODk2MkU1MzVDMjcyOTkyQjc2RTA4OTBGMTJFCi03M0IwM0I3ODU3NEZGMTg1REMxM0IxNTIzQzcyNjQ2MzhDOTU5MDJDMEZBQzJEMDk5NjI5QTJCNkM0Nzg2NkUxCi1DMzUxRTZGOEU3RjkyRURCQTlBQUY4RTdDQzgyNDhFNTU1MTM3RDIyRkRBNDcxMDBFRkYyNzYwRUIwM0Y1MkQ0Ci1ENzdGNTc0NTUxRTBDMTJEQzk5RkU4QzczODA5MTQzREFDMkVGMDg1QjVDNEIxRjlERDM3OTJBNzBENjM0QkNGCi0zQ0JGQjQzNjUwRkE0RTMyRjg4QkZEQTcxRkJFQkJDRTI4OTBFMEMzODgzRkQzM0JDNzQ1QjUxN0U0QjY0REY1Ci1EODZGQjk5MTI5OENGODA4QzY3NjlBODAzQTU1MzhDMUU2NjZCQTIyNjk2NzkzM0IwMjU4NzhEMUNDQjhGNEEwCi1BRjA5NTdGRDJCQTZFNTY0MzkxOTVDQ0E4RTI1MkIxMEMwQUY4NDhEQzJFNEY3MEIxNUMzM0M5RUE3Qzk5MzAzCi1ENTg2NjFBRTQ5RjE3RjA1NkNGOEJEQThENjkwMTU2RTVBM0Y2RkUyMUJFNDBBQUUyQzgyMEYxNDJDMjJBQ0U1Ci1FRDA3MDM2M0QzRkExMDA0REEzOTU5QTYzMDRFNUY1NzJGMDE0MkJGMzk3REM2MUU2MzQ5REMzRTk4NDkxNDkzCi1EMUQyQjcwQzVCRENBNTQxQUY2MTA1Q0I2MDlFNzg4NDI1ODgwNkU1ODkxQkRCRDc2MTMwNzZBOEI4RTQyQkNBCi1FNkI4NEZBQzZERDNGRDgyNDY4MEY1QkE3N0IxOTEwREZGNkI5NTRBOERBRTNGNkIzRDk3ODBBNTVEN0E2N0Y3Ci04NDNDMTRFQkEwNzhDMTkxMkFFQjg1Q0RBRjY5QkIyMzg1QzdBREUxRjkwRjAxRTQ3OTg5MDQzQkU4OUI1MDQxCi1CNkIwMjRFMjY5NjJCRjY5NDE3MkU2MTE2RUJBNzMxMkNENjI2OEI3OTIwRkVEM0FERTBFM0UyMjdEN0E4M0Y4Ci04Mjc4NjIwQjJEMTU3MTUxQUE5NUJDNkQ0Q0E5NDNFQTZCQzczRkJBMUVEMkQ4NENFNUVCRkFERDQxRDk5QjlDCi05QTgwMzAwRDgzQTg4NjcyQ0ZDRjdCM0YzRjBCNkVFNjJGMjhBODMzMEM5NUExRDg2NDYyMjVENUM2QjFCOUIzCi04NDQzMUJFQzI1MDcwOTRCQ0UyOTdGQzA0MTFENEJCNEI2MTgxQjZBMDVDOEYyQzJBMjREMTJFNTBBMTc4Nzg0Ci1FNTc5Mzc0NjdGMTg0MzMzOEEzNEI1MkQyM0JDRjk2MUY5ODYzRDg5QTQ0MEVCN0YwNTI2NkNBM0VCRTVBNjhCCi02MUYyOTA0RkE1NERERkU1NkYyRDUwMjc5N0UwQUYzNjI3M0RFMjJDMDNDM0FBRDQyNDU2N0ZEMjNDRkE2MzJFCi1CRDBGMDQwOUIzQjUyQzYwOTMzMzYwMDdFOUE3RjhFRTY2MENENzkwQ0ZGQjA1RTM2QkQxQUY4MUM4Mjc3OEI0Ci0wNDY1QkE2QTlENEFCMzdCQjEyOEJFMzI2RUNFQkRBNzJBM0UyNUNFQkVDNjEwMjRENEQ5RjVBMjRGNDNDMkQyCi05QUYzNTg1MDBFREFGNTZDQjBENjZDRUMwQjAxMjNERUM5QjhDMDVGMTAyNzhFOEVDMDBDOEJCN0QxMzMxNkNGCi0wQkUyNEE1REJCMEIzMUY1RkE0REE4QUUxREFFQ0FERDA3OEE0MzAwQkI3RERGNkJDRjhEQjQ5MDExMEY5NEYwCi04NjlERTkxNjM5QUFBQ0Y5RDlDQjJDQjQ5MUI2RDM5MjcwNDE2QUQ0NDFERkU5NURGREI4Q0JFMDIyMUQyMzZGCi0yREM5QTZBMjVFN0E5NzM1MzE3QkEyNTk2OTVFQkE5ODNGQjJBRjlEMTE5QTE5M0JDNkUwMjEyOEFGQjMxQTBFCi0yNTVFMDRFRDY5MDIyMUMwQ0M2NTFDMUFBOUM5MDQ1NzhCNEVCOTcwNDA5RkJFMEU5OTkxN0FCQjM0QzA5MzlBCi1FQUU0QjBDRTZFRTE3N0U5RURBNUJEMzYwMUY0NTgwMEU3NEU2MTVEREU5NkQzQURBOUYyNzlFNTk3MkU1MjQwCi0wMjBCQzJFRDQxRUM4OTI0QzQxMzA1MUEyQUFFODU1QkM2Mzg5OTE3NTkxN0NDODcyMUMxRjA4RUZDMzNFNDI4Ci04RkVDRkZFQUMxQkFGQzhFQ0ExNzA1NkRBNUNFNjE4MDQ4NTY4N0RCMDg2Q0IxNEM1QTM0OUQwRUFDMDczQkUyCi0zMDVDMEY3RkVBOEE2NDI0OTVFMEVENEY0NkIwNjQwNDc1QzVENzU5MzU0MzBFRTBBMDFDRkY4Q0IxMzgzNzlFCi1GQTQ2RTc3OTY2RDQ2QjhERkZDNjFEODBGRjlGRUQxMjRCNTA1Mzg2RkQxQkFGQzU4RTUzQjI5RkQ0MzhENkNFCi0yMzYyNUFEOENCQUJCQUQ5QTg1N0JDODVEQkM2MDUxQ0Y2OUY2MjQ5NzlDNjU4QTM3OTJGMUNEMTJEMjJGMTE3Ci01OUFDRTk3QjkwQjQ1MDQzQzQ1Nzc3NDdFOUFDQkEwQTJENjA5NzY1MEI3RUE5MzlGRjg2NTAwOURDMzM5OTNFCi1CMzVDNjJDMzQxRjA3OTFEOEYxMjk3OTFEMEQ4RkUyMDU1M0RCN0YzMEZFRDQwM0YzNjREREM0MDIxMTA0N0YxCi1FM0QyNTE5QkVCQUM4RjgzMzA0MzVCNjBCMzhDMDA0OURFNDRERjdBQkE5MzIyOUFGRUNDQkQ0QzNDREQ5QjQ4Ci04ODYxRUUxRDMxREE1NkUyNDBDQTU1NDBCMzY3QzgwNjUwNTNGQUQwRTI5MTA1QkI2QzZENDg1QkUwNTlDNkFECi05OTg2QkIyMTk2MTgyNEE2MTUyRUIzNzU4RDhENTBCNzNFNzgzQzlFNDY3MTM5MkE3MTNCNDFFRDNDNEYzNzEzCi03RTRDM0VBMEMxQzU1REJEN0VDQjk2RTM2NDVCQjJFRkVFNTY1MjJDNUE3OUIxMkY2NzIzNzZDODAxRTNCQTI0Ci0xNjBERDIzMEY5QTBCNERGOTRBNUFEMzYxQkZEOUExQjgzMjMzQTA0MDJFOTNFRjE0RTRCMTNFN0IxM0YyQzJDCi00NjY1NkEyQzM1OUQ1MDIwQzkyOEM1RjIzMkFGQjQ4NEM2N0M2MDdGNEI4MThERUJBMzg1QjFCNTA4QUU5MDc4Ci1FM0ExNUZEQjc4NEIyNDM5MTExNjQ4M0FERDMzMzM5ODQ1RkE2RDEyRjc0MkRGMkEyREY4NTg1MzAyNkREQ0NFCi1GNzEyNkM0RUJEN0Y4RkY1NUJGNEEzN0Q1MDMyNzk1Qzc2Q0IzRDc5RUU0QkQ1NUIwNkI5QzUxRjNFOEYyNEE1Ci1BOURGMzYzNjEyN0Q0MTNDODdDNDkzMUY1RkQxNzgzRjM4MUJFODY2REU4N0JGQzczOEJEMUIxREFEMzgwRUZFCi0xRkJGNjBDOEM3RDEzMzUyRTM0QjU1NjY1MDk1NDA5RjlEMTlBQ0UxRjM2NUJEMjRGOEE3QTVERDgyRDZENDFGCi0zQjFDRTgzQzI4Rjk1RjJCNDFFNTQ4MzQwODlDNjM1ODJDOUJGRUIwNTJCRUU4RjgyRDNERkE3REQ5RjE5REFGCi0xMTMxRjdDOTg1MEIyOTk0MUU2NzJFRTc4QjZBNDA1N0QzMzI2QjIzMDU5MjM5NEZERDNFMTlCOTNCNDUwREI2Ci1DRUQ2NzEzRjhENUJDMDI2N0EzMzMyOUJDMjlFMjQ2MDc0REMxNTIwOTAxOTlGQzJEQzJGMTMyQTBDOTg5Q0NGCi05NDYwNjMwRUVEMzhCMEJEMzk4NjA3Q0I4RUMwMzlDRDRCREVBNjYxRjhGNTAxOThGNDExNkM0MEY4MkYyMDlCCi0wQjVFNzE2NTlGMjAzODY0QTYwOTIwQjgzMDk3RTBGMDJFRDZDRkY3NUJENTM2NTlEMzRGNDIzMTg3MDcwMjlFCi0xODY4MTYxNjUzOTNGREVCMTg0MTk0QTMyOUMyNTg3N0QxQzlDMzgzQzk5QkE3RTU0Nzc4NzAzMjE1Q0RCODg0Ci00NkFBQThGMUI1NDhEMTVFRDA0NTI1MjZEMDE1QjQxOTRDOTVBQkE2NTYwOURDQjlFQTQxOEY4MzYxQkQ5MzMwCi1CQjRGN0FEMEI1MDUwNUUwQUVBRkJBMzkwMTdFMkMzMTY0OUNENkUwREIyQTJBQzVEODVEMjdDRDVDNEM2ODM3Ci1BMzdBNzVCQTY5REQwODA5NzlFM0E0NDI4RTE1NzcyMkFCMDBFQzlFQzBFQzI3NjBGNzYzN0U3RUUyMjY2NjFFCi04NEU4Rjc3RUJBOUI4MzdDQ0QyMkQ0Mjg2QTZDRjY5NUY4Q0EyMkQxNTdDN0M2MjNCQkREMDc0QTYxNjJFQzg1Ci04QjBFRThCRDA2RUIxNDZBQjUyMDREOTA4NEQwODQyMzY3QTM4NzMwMTEyQ0UyN0Q3OTFFNzgxQUI4MUZCNjlGCi1FRkE1QzIwRDcwRjBBMUIxMEExRUVBRDZCNDYwRjNDNzZDRENGRTBEOTJENDVGNDcyNjAwQTAwQzg3ODIyMzJFCi0wRjY4NThCNUI5MkI0NDg2MjExRkMzMkM4MTJDQjQyOUY1NEEzNzg3QjlCNTFFMTZENTJCNTVFQzc5MTU3OTA1Ci02NDNERjhBODkyRkU3QUY3M0UxRDUxRDU3RUQzODk5MDYwODAxRTMyQjUzRjkzRkQ5MTY4NkU3Rjg1N0FBQUE4Ci01NURFMDc1MEI2NEY4QzMxOURDMjdDQTE5QTdEMzhFOTA0NUE2REYyQjQ0NDQ3MkE3OTAzMzg3MzhENjNCNkVBCi1DMDc4NkYxOTI2QTgxOTRBNEY2NjgwQTQ1NERBODNERTgxNThDNjhGNTk2REI4NzkxNzI3ODEzRkI5NkE3RTQwCi1CN0VDNUY2NzFFNTg2N0FBNEExODk2MjlGOEI5RThCQTdBNjA3NzQxRDQxMjIzQjZFMDk0ODRERTU4NzE5MDIyCi0yNEYyMjVFREM0QzNDRDBGMThCOTY4RTZBNzQzQzhFM0I4MjA2REVENUYwMEY1RTkzQjJBM0ZDMzE1QTQ4NkZBCi1DNTdFRURGNjdDNURBOUJEMTAxRDk4RTZGNzI5MDY4QjJEM0EyN0E5NUExRjhDMEVBOTJFNTgyNDU3NEM0RTFDCi0zQTRGRDE2ODhDMEFCOTNCQ0M0RTgzMTVFQTRCMTBGOUJDNzVDNDkwQjE4QzUwMTBGMzBBMzkzREExOEQyMDQxCi1FOTVDNjc1QjM1Qzc0RUM1MzJGMkMwRUE4RTQ4OTA3QTBEQkUyMENCQzNDNTJCQzNEMThGQTE1NDQ0QUY5RjVCCi1FQ0RDNUMzNDczQUNDMUMxNjA1QjE1QTdFRDJCRkJBNTU2RUZEODVBMkE5RTRDQzgwQUIxNDE0MzE2QUM5QjkwCi1ERDEwQzI0QjEwODVCMDUwREY1RkQyRjI4RTFBMDY5NDUyNEYyQ0VGN0M1MTUyQjc2QUVBMTE3RTUxRTIyNUMxCi0xRUM0ODREMUQ0NDFEOTlFRDEwRkZEMzE3MTVFNkYxMDQ3NUFENDY0N0E5QTQ2RUYyMjk2MkQ2OTk3RjI3QUNFCi0xMEY1ODNGNUEwMjQ0ODMxMkRFMEYyQjMyQ0Q0ODQ2ODFCNzA4MDdGNDNCRTI4NkM2QjE5NkEwNjgwNkQwQjIyCi1BM0U1OEMwQUI1NkJCNzE3QkMwQTg1MTBCNUU0OTIxMUE2OUVGMUU2REEwQkE0QTQxQTZCNzZFN0E4ODFFRkRBCi0zMUNEMUYwODFGRDQ4Rjc5MzgwNDRCNEFDODZCQURCQTQ2NjA3MUVGNTg4RDhDNDVENTM5Rjc0RkIwQjBFMUMzCi03OUFEMkRDODdDMEYyQzNGQzI2NDgyM0UyMkUxOUM0RTNFODA3OENFQTQyRTA3MUE1RTZENTM4MUJDRjE4ODI5Ci1FRjI4OTNFQTMyQjQxMDhBMkY1MkQ3Q0ZFQzU0QTcyNjVBMEY0NzUyRUJBMzJCRkM4MjFGOUE0QTAyMEFDOTk5Ci1CQTM5RUUzMTM5MDkxRTY2ODI5RDI2REMxQTI0QTc2N0IwNDU2RkU1MEUzRUM5MTVGNEU3RDUzQjQ4RDBGNTRCCi05MTlFRjg3QzEwRDNDRjI3RkFGQzkyNURENTExQzU3QjgxMUFCMkM0MERDQjQ4NzNBMkZDOTAzQTk1NENGMDQ0Ci0xRTRENkVCOEU4OUJGOTIxOUNDMzFFRjAwNUY5NjNFN0Q0RDMzQzA0MzRDMUU3NkE4M0E2NTExRkJGRUUzN0UwCi01MzMzNTNGNTU1RTYzMDM3OTFFQjgyQzUyMTE3QkEwNzNDOUJCNDhCOTA2MkE1NTZERjY0Q0VCODVFRTBEQTc5Ci0zMkY5NERGMzc5RDYzQzVFMTMxNkU2QUNFODE2RjI2RTIwN0ZBMDZDNDkxQUIzNEMzQUQ0M0U3NThEMjM0ODI3Ci01QTg1MDlBNjQ1MkUzNkRDODFBN0JBODcwRDNBRUJBRDNCQTgyMUFFQkE5QjhGREFCN0QzM0YwRTQ0NzBGODkxCi01ODQ5MDQxNEVCQUM5NzFFMjE1RTFBM0JENzg5QzFENzc3NEYxODRDQzUzMjBGQkY5MzgyRkEzMjkxQzFFODIzCi02NDFBRkFGRTM5M0EwNEI2MDNFQjZFRjRDOEUxMTc0NjIyM0E5MjlFMThBRjQxNEE3NUFCMUE4NDBGNTJCMjY4Ci1BRjc0QjAzMzkwQTE2NDMxNzE5NTIzMTI1QzBENzUwOTg0Qjc3MUU4Q0ExRTNGRkJCQUNFRERFNDJBODc1QTcyCi0xMTZDRTNGOUQ2MDVGQTY0ODk2NDZFRDFENkQ5OEUwOTNDODI5RkFGQUIyRDIxMzc3QUJEQTNGMzY0MkJFOTVECi1ERkVBRUJFNkJBMUY2NUUxREM0QUE3Qjg0RkYyNTIxM0Q5NjNFNEY0MTcwMjRFNkQ0MzZFMUQzRjU1MUIzQ0NBCi03MUYzNzYzMkI3QjEwQ0Q0QjlENDM3RDZDRDIyNjIwRjAwMzgyNzc4N0VFRjMwQ0QxOEQyMzIwMTM4RUNFNUE4Ci1CODNDN0M5QTMxMzkxRDIzMjE2ODNERDFBNEEyOTY5NDQyRTFEMzc1MTM4QTEyQjYzMjE5QUY3NjlEREU1RkRDCi1DNUFGRkNFNkNFQTI1QkJEQTlEQjA2Rjk2NTUwMTlCNEFERTBEOEM3MkMyMTNDRUI3Q0ZBNDQ4RjlFNEIwMDI2Ci1FOEE1MzFBQTk5MDI2ODQ4RTMyQkVCNTJFMTgxNUQwNEM3MTFCM0FFNENFMDQ4RUQyQjk1QThFOEU1QUYzOTRBCi1DMDA1OUQ2MkFCMjZDNEYxM0VCOEJFODQyMzIzMjlCNjA2Rjg3Mzg2OTdFRDA3NjFFMTJENzQ3MzFENEI2NkFBCi0xNEMzMzc2ODBCQzVGNzQ2RTE3Q0Y5NEU1NzU5ODE1RjVFRTY0NDc3NEJDNzgzQjFDMDA2OTgwM0NBNkI4NTlDCi1GQkVDQjU2MDVDQTFDNzIxQjYwNEJGNDhBN0EyQUQ3MTQ5MzMzRUE4RURBOUE5Q0JGMUExREREMzY4NTEwQUQwCi05RDc0NDRCQ0FFMkU1RDhBMTFGNUYwOEJFNzE2QTMyRTM4OUM2REFFNEVBNjJBMzUxMTU2MkQ3MEY4Rjc5OTQ2Ci1BNEFEMDMzNzc4NzQxRUVGMEE1NUNFQTk2QUJEMDZGQUM0QTFGMkU5NzNFODk2OTU2NjIzMUNENzA0QUQ3NjMyCi01OTFCMkNERDNGQTZGQzQxM0FEMUM1QTU2ODQxODJCQzk1QTc1N0M0NEY4RkU2RDAyNjMxODhBRjVFNkE4N0Q3Ci05Mjc0MEI3MDdGRjg4MTc5Q0JGMzQwNjU4MzI4NjlGMDk0RkYxMkRFQjY2QkUwRDAxQUI0NjZFMjM2Q0UKLTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLWNsZWFydG9tYXJrCi0lJUVuZEZvbnQgCiBUZVhEaWN0IGJlZ2luIDQwMjU4NDMxIDUyMDk5MTQ2IDEwMDAgNjAwIDYwMCAoYmFzaHJlZi5kdmkpCiBAc3RhcnQgL0ZhIDEzMFs2MiAxWzYyIDEyM1t7fTIgMTE5LjU1MiAvQ01UVDEyIHJmIC9GYgogMTMzWzM0IDQxIDQxIDU1IDQxIDQzIDMwIDMwIDMwIDQxIDQzIDM4IDQzIDY0IDIxIDQxIDIzCiAyMSA0MyAzOCAyMyAzNCA0MyAzNCA0MyAzOCA4WzU4IDRbNDMgNTcgMVs1MiA2MCA1OCA3MAogM1syOCA1OCAzWzU5IDFbNTQgNTggN1szOCAzOCAzOCAzOCAzOCAzOCAzOCAzOCAzOCAzOAotM1syMSAzMVs0MyAxMlt7fTUwIDc0LjcxOTggL0NNUjkgcmYgL0ZjIDIwOVsyNCA0Nlt7fTEKLTc0LjcxOTggL0NNVEk5IHJmIC9GZCAxMzRbMzkgMzkgMlszOSAzOSAzOSAzOSAyWzM5IDM5CiszWzIxIDMxWzQzIDEyW3t9NTAgNzQuNzE5OCAvQ01SOSByZiAvRmMgMTk3WzIxIDU4W3t9MQorNzQuNzE5OCAvQ01NSTkgcmYgL0ZkIDEzNFszOSAzOSAyWzM5IDM5IDM5IDM5IDJbMzkgMzkKIDM5IDM5IDJbMzkgMzkgMlszOSAzWzM5IDE5WzM5IDI3WzM5IDM5IDJbMzkgNDVbe30xOCA3NC43MTk4CiAvQ01TTFRUMTAgcmYgL0ZlIDEyOVszOSAzOSAxWzM5IDM5IDM5IDM5IDM5IDM5IDM5IDM5CiAzOSAzOSAzOSAzOSAzOSAzOSAzOSAzOSAzOSAzOSAzOSAzOSAzOSAzOSAzOSAzOSAzOSAzOQogMzkgMzkgMzkgMzkgMzkgMVszOSAzOSAzOSAzOSAzOSAzOSAzOSAzOSAzOSAzOSAxWzM5IDM5CiAzOSAzOSAzOSAzOSAxWzM5IDM5IDM5IDM5IDM5IDM5IDM5IDM5IDM5IDM5IDM5IDM5IDFbMzkKIDM5IDM5IDVbMzkgMzkgMzkgMzkgMzkgMzkgMzkgMzkgMzkgMVszOSAzOSAzOSAzOSAzOSAxWzM5Ci0zOSAxWzM5IDMzW3t9ODEgNzQuNzE5OCAvQ01UVDkgcmYgL0ZmIDEzOFszOSAyNyAyOCAyOAotMVszOSAxWzM5IDJbMzcgMjIgNFszMSAxWzMxIDFbMzUgNVsyMCA2WzUxIDM5IDUyIDFbNDgKLTNbNDQgNVs0NiA0OCA1NCA1MSA1MCA1MyAxNVszNSAzWzI0IDVbMjAgMzlbe30yNiA2Ni40MTc2Ci0vQ01SOCByZiAvRmcgMTUwWzMwIDMwIDEwNFt7fTIgNzQuNzE5OCAvQ01TWTkgcmYgL0ZoCi0xMzVbNjEgMls2MSAxWzQ2IDJbNTYgNjMgNVszMCAxWzY0IDJbNjIgNTJbNTUgNDdbe305Ci05OS42MjY0IC9DTUNTQzEwIHJmIC9GaSAxNDBbNTYgM1s1NiA1NiAxWzU2IDJbNTYgNTYgNTYKLTU3WzU2IDQ1W3t9OCAxMDkuMDkxIC9DTVRUMTIgcmYgL0ZqIDEzNFs0OCA0OCA0OCA0OCA0OAorMzkgMVszOSAzM1t7fTgxIDc0LjcxOTggL0NNVFQ5IHJmIC9GZiAxNjdbNjIgM1s2MCA0NgorMls1NyAxWzYyIDc2IDUyIDFbNDMgMVs2MiA2NSA1NCAxWzYzIDYwIDY3W3t9MTMgODMuMDIyCisvQ01SMTAgcmYgL0ZnIDEzNVs2NyAyWzY3IDFbNTAgMls2MSA2OSA1WzMzIDFbNzAgMls2OAorNTJbNjAgNDdbe305IDEwOS4xNzQgL0NNQ1NDMTAgcmYgL0ZoIDE0MFs1NiAzWzU2IDU2IDFbNTYKKzJbNTYgNTYgNTYgNTdbNTYgNDVbe304IDEwOS4wOTEgL0NNVFQxMiByZiAvRmkgMTM0WzQ4CiA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OAotNDggNDggMVs0OCAyWzQ4IDNbNDggM1s0OCAxWzQ4IDFbNDggMVs0OCA0OCA0OCAxWzQ4IDQ4Ci00OCAxWzQ4IDQ4IDQ4IDQ4IDFbNDggNls0OCA2WzQ4IDQ4IDQ4IDQ4IDJbNDggMls0OCAyWzQ4Ci0zOVt7fTUwIDkwLjkwOTEgL0NNU0xUVDEwIHJmIC9GayAxMzRbNjUgNjUgODkgNjUgNjggNDgKLTQ4IDUwIDY1IDY4IDYxIDY4IDEwMiAzNCA2NSAxWzM0IDY4IDYxIDM3IDU2IDY4IDU1IDY4Ci02MCAzNCA2WzkzIDFbMTI3IDJbODUgNjggOTIgOTIgODQgOTIgOTYgMTE2IDc0IDk2IDFbNDYKLTk2IDk2IDc3IDgxIDk0IDg5IDg3IDkzIDFbNTggNVs2MSA2MSA2MSA2MSA2MSA2MSA2MSA2MQotNjEgNjEgMVszNCA0MSAzNCA0WzM0IDI2WzY4IDcyIDExW3t9NjMgMTA5LjA5MSAvQ01CWDEyCi1yZiAvRmwgMTM1WzU2IDJbNTYgNTQgNDIgNTUgMVs1MSA1OCA1NiA2OCA0NyAxWzM5IDI3Ci01NiA1OCA0OSA1MSA1NyA1NCA1MyA1NiA0Nls1MCAyWzUwIDFbMzQgNDVbe30yMyA5MC45MDkxCi0vQ01DU0MxMCByZiAvRm0gMTM1WzQyIDFbNDIgMVszMCAzNyAzOCAxWzQ2IDQ2IDUxIDc0Ci0yMyAyWzI4IDFbNDIgMVs0MiA0NiA0MiAxWzQ2IDUwWzI4IDMzWzUxIDEyW3t9MTggOTAuOTA5MQotL0NNVEkxMCByZiAvRm4gMjA5WzQzIDQ2W3t9MSAxMTkuNTUyIC9DTUJYVEkxMCByZiAvRm8KLTEzNFs4NSA4NSAxWzg1IDkwIDYzIDY0IDY2IDFbOTAgODEgOTAgMTM0IDQ1IDFbNDkgNDUKLTkwIDgxIDQ5IDc0IDkwIDcyIDkwIDc4IDEwWzEyMiAxMjQgMTEyIDkwIDEyMCAzWzEyNiAxNTMKLTk3IDFbODMgNjAgMTI2IDEyNyAxMDEgMTA2IDEyNCAxMTcgMTE1IDEyMiA3WzgxIDgxIDgxCi04MSA4MSA4MSA4MSA4MSA4MSA4MSAzNVs5MCA5NCAxMVt7fTUyIDE0My40NjIgL0NNQlgxMgotcmYgL0ZwIDIwMFswIDIxWzkxIDE3WzQ1IDFbOTEgMTJbNzF7fTUgOTAuOTA5MSAvQ01TWTEwCi1yZiAvRnEgMTM0WzQ4IDQ4IDY2IDQ4IDUxIDM1IDM2IDM2IDQ4IDUxIDQ1IDUxIDc2IDI1Ci00OCAyOCAyNSA1MSA0NSAyOCA0MCA1MSA0MCA1MSA0NSA4WzY4IDkzIDFbNjggNjYgNTEgNjcKLTFbNjIgNzEgNjggODMgNTcgNzEgMVszMyA2OCA3MSA1OSA2MiA2OSA2NiA2NCA2OCAxM1s0NQotNDUgNDUgM1szMCAyWzQ1IDI3Wzc2IDFbNTEgNTMgMTFbe301NCA5MC45MDkxIC9DTVNMMTAKLXJmIC9GciAxMzRbNzEgNzEgOTcgNzEgNzUgNTIgNTMgNTUgMVs3NSA2NyA3NSAxMTIgMzcKLTcxIDQxIDM3IDc1IDY3IDQxIDYxIDc1IDYwIDc1IDY1IDNbMzcgMVszNyAxWzEwMiAxMDIKLTEzOSAxMDIgMTAzIDk0IDc1IDEwMCAxMDEgOTIgMTAxIDEwNSAxMjggODEgMTA1IDY5IDUwCi0xMDUgMTA2IDg1IDg4IDEwMyA5NyA5NiAxMDIgMTA1IDY0IDRbMzcgNjcgNjcgNjcgNjcgNjcKLTY3IDY3IDY3IDY3IDY3IDFbMzcgNDUgMzcgMVs2NyA1WzY3IDExMiAxWzQxIDIwWzc1IDc4Ci0xMVt7fTczIDExOS41NTIgL0NNQlgxMiByZiAvRnMgMTI5WzQ4IDQ4IDQ4IDQ4IDQ4IDQ4Cis0OCA0OCA0OCA0OCA0OCA0OCAxWzQ4IDJbNDggM1s0OCAzWzQ4IDFbNDggMVs0OCAxWzQ4Cis0OCA0OCAxWzQ4IDQ4IDQ4IDFbNDggNDggNDggNDggMVs0OCA2WzQ4IDZbNDggNDggNDggNDgKKzJbNDggMls0OCAyWzQ4IDM5W3t9NTAgOTAuOTA5MSAvQ01TTFRUMTAgcmYgL0ZqIDEzNFs2NQorNjUgODkgNjUgNjggNDggNDggNTAgNjUgNjggNjEgNjggMTAyIDM0IDY1IDFbMzQgNjggNjEKKzM3IDU2IDY4IDU1IDY4IDYwIDM0IDZbOTMgMVsxMjcgMls4NSA2OCA5MiA5MiA4NCA5MiA5NgorMTE2IDc0IDk2IDFbNDYgOTYgOTYgNzcgODEgOTQgODkgODcgOTMgMVs1OCA1WzYxIDYxIDYxCis2MSA2MSA2MSA2MSA2MSA2MSA2MSAxWzM0IDQxIDM0IDRbMzQgMjZbNjggNzIgMTFbe302MworMTA5LjA5MSAvQ01CWDEyIHJmIC9GayAxMzVbNDIgMVs0MiAxWzMwIDM3IDM4IDFbNDYgNDYKKzUxIDc0IDIzIDJbMjggMVs0MiAxWzQyIDQ2IDQyIDFbNDYgNTFbMzMgMzJbNTEgMTJbe30xOAorOTAuOTA5MSAvQ01USTEwIHJmIC9GbCAxMzVbNTYgMls1NiAxWzQyIDU1IDFbNTEgNTggNTYKKzY4IDQ3IDJbMjcgMVs1OCA0OSA1MSA1NyA1NCA1MyA1NiA0Nls1MCAyWzUwIDFbMzQgNDVbe30yMAorOTAuOTA5MSAvQ01DU0MxMCByZiAvRm0gMTk3WzI1IDU4W3t9MSA5MC45MDkxIC9DTU1JMTAKK3JmIC9GbiAxOTdbMzMgNThbe30xIDExOS41NTIgL0NNTUkxMiByZiAvRm8gMTM0Wzg1IDg1CisxWzg1IDkwIDYzIDY0IDY2IDFbOTAgODEgOTAgMTM0IDQ1IDFbNDkgNDUgOTAgODEgNDkgNzQKKzkwIDcyIDkwIDc4IDEwWzEyMiAxMjQgMTEyIDkwIDEyMCAzWzEyNiAxNTMgOTcgMVs4MyA2MAorMTI2IDEyNyAxMDEgMTA2IDEyNCAxMTcgMTE1IDEyMiA3WzgxIDgxIDgxIDgxIDgxIDgxIDgxCis4MSA4MSA4MSAzNVs5MCA5NCAxMVt7fTUyIDE0My40NjIgL0NNQlgxMiByZiAvRnAgMjAwWzAKKzIxWzkxIDE3WzQ1IDFbOTEgMTJbNzF7fTUgOTAuOTA5MSAvQ01TWTEwIHJmIC9GcSAxMzRbNDgKKzQ4IDY2IDQ4IDUxIDM1IDM2IDM2IDQ4IDUxIDQ1IDUxIDc2IDI1IDQ4IDI4IDI1IDUxIDQ1CisyOCA0MCA1MSA0MCA1MSA0NSA4WzY4IDkzIDFbNjggNjYgNTEgNjcgMVs2MiA3MSA2OCA4MworNTcgNzEgMVszMyA2OCA3MSA1OSA2MiA2OSA2NiA2NCA2OCAxM1s0NSA0NSA0NSAzWzMwIDJbNDUKKzI3Wzc2IDFbNTEgNTMgMTFbe301NCA5MC45MDkxIC9DTVNMMTAgcmYgL0ZyIDEzNFs3MSA3MQorOTcgNzEgNzUgNTIgNTMgNTUgMVs3NSA2NyA3NSAxMTIgMzcgNzEgNDEgMzcgNzUgNjcgNDEKKzYxIDc1IDYwIDc1IDY1IDNbMzcgMVszNyAxWzEwMiAxMDIgMTM5IDEwMiAxMDMgOTQgNzUKKzEwMCAxMDEgOTIgMTAxIDEwNSAxMjggODEgMTA1IDY5IDUwIDEwNSAxMDYgODUgODggMTAzCis5NyA5NiAxMDIgMTA1IDY0IDRbMzcgNjcgNjcgNjcgNjcgNjcgNjcgNjcgNjcgNjcgNjcgMVszNworNDUgMzcgMVs2NyA1WzY3IDExMiAxWzQxIDIwWzc1IDc4IDExW3t9NzMgMTE5LjU1MiAvQ01CWDEyCityZiAvRnMgMTI5WzQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4CiA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OAogNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDgKLTQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDFbNDggNDggNDggNDggNDggNDggNDgKKzQ4IDQ4IDFbNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDgKIDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4Ci00OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCAzM1t7fTkzCi05MC45MDkxIC9DTVRUMTAgcmYgL0Z0IDEzMVs5MSA0NSA0MCA0OCA0OCA2NiA0OCA1MSAzNQotMzYgMzYgNDggNTEgNDUgNTEgNzYgMjUgNDggMjggMjUgNTEgNDUgMjggNDAgNTEgNDAgNTEKLTQ1IDI1IDJbMjUgNDUgMjUgNTYgNjggNjggOTMgNjggNjggNjYgNTEgNjcgNzEgNjIgNzEKLTY4IDgzIDU3IDcxIDQ3IDMzIDY4IDcxIDU5IDYyIDY5IDY2IDY0IDY4IDFbNDMgMVs3MSAxWzI1Ci0yNSA0NSA0NSA0NSA0NSA0NSA0NSA0NSA0NSA0NSA0NSA0NSAyNSAzMCAyNSAyWzM1IDM1Ci0yNSAxWzc2IDQ1IDFbNDUgMjUgMThbNzYgNTEgNTEgNTMgMTFbe304NyA5MC45MDkxIC9DTVIxMAotcmYgL0Z1IDEzOFsxMDggMVs3NiA3OSAzWzEwOCAxWzU0IDNbMTA4IDFbNTkgODggMVs4NgotMVs5NCAxNFsxNDQgNFsxODQgMTBbMTM4IDY2W3t9MTMgMTcyLjE1NCAvQ01CWDEyIHJmIGVuZAorNDggNDggNDggNDggNDggNDggNDggNDggMzNbe305MyA5MC45MDkxIC9DTVRUMTAgcmYgL0Z0CisxMzFbOTEgNDUgNDAgNDggNDggNjYgNDggNTEgMzUgMzYgMzYgNDggNTEgNDUgNTEgNzYgMjUKKzQ4IDI4IDI1IDUxIDQ1IDI4IDQwIDUxIDQwIDUxIDQ1IDI1IDJbMjUgNDUgMjUgNTYgNjgKKzY4IDkzIDY4IDY4IDY2IDUxIDY3IDcxIDYyIDcxIDY4IDgzIDU3IDcxIDQ3IDMzIDY4IDcxCis1OSA2MiA2OSA2NiA2NCA2OCAxWzQzIDFbNzEgMVsyNSAyNSA0NSA0NSA0NSA0NSA0NSA0NQorNDUgNDUgNDUgNDUgNDUgMjUgMzAgMjUgMlszNSAzNSAyNSA3MSA3NiA0NSAxWzQ1IDI1IDE4Wzc2Cis1MSA1MSA1MyAxMVt7fTg4IDkwLjkwOTEgL0NNUjEwIHJmIC9GdSAxMzhbMTA4IDFbNzYgNzkKKzNbMTA4IDFbNTQgM1sxMDggMVs1OSA4OCAxWzg2IDFbOTQgMTRbMTQ0IDRbMTg0IDEwWzEzOAorNjZbe30xMyAxNzIuMTU0IC9DTUJYMTIgcmYgZW5kCiAlJUVuZFByb2xvZwogJSVCZWdpblNldHVwCiAlJUZlYXR1cmU6ICpSZXNvbHV0aW9uIDYwMGRwaQpAQCAtNDUzNiw4ICs0MzI2LDggQEAKICUlUGFnZTogMSAxCiBUZVhEaWN0IGJlZ2luIDEgMCBib3AgMTUwIDEzMTggYSBGdShCYXNoKTY0IGIoUmVmZXJlbmNlKWooTWFuKS01CiBiKHVhbClwIDE1MCAxMzg1IDM2MDAgMzQgdiAyMzYxIDE0ODEgYSBGdChSZWZlcmVuY2UpMzEKLWIoRG8pcyhjdW1lbiltKHRhdGlvbilpKGZvcilkKEJhc2gpMjQyOCAxNTg5IHkoRWRpdGlvbiloKDQuMCwpZyhmb3IpZgotRnMoQmFzaClnIEZ0KFYpLTggYihlcnNpb24pMzEgYig0LjAuKTMxNDUgMTY5NyB5KERlY2VtKW0oYilzKGVyKWcoMjAwOCkKK2IoRG8pcyhjdW1lbiltKHRhdGlvbilpKGZvcilkKEJhc2gpMjQyOCAxNTg5IHkoRWRpdGlvbiloKDQuMSwpZyhmb3IpZgorRnMoQmFzaClnIEZ0KFYpLTggYihlcnNpb24pMzEgYig0LjEuKTMxNDUgMTY5NyB5KERlY2VtKW0oYilzKGVyKWcoMjAwOSkKIDE1MCA0OTM1IHkgRnIoQ2hldCk0NSBiKFJhbWV5KS0xMSBiKCwpNDYgYihDYXNlKWcoVyktMTEKIGIoZXN0ZXJuKTQ2IGIoUmVzZXJ2KWwoZSlnKFVuaXYpbChlcnNpdClsKHkpMTUwIDUwNjgKIHkoQnJpYW4pZihGKS0xMSBiKG8pbCh4LCk0NSBiKEYpLTExIGIocmVlKTQ1IGIoU29mdClsKHcpbChhcmUpaChGKS0xMQpAQCAtNDU0NSwxMSArNDMzNSwxMSBAQAogJSVQYWdlOiAyIDIKIFRlWERpY3QgYmVnaW4gMiAxIGJvcCAxNTAgMjg4OSBhIEZ0KFRoaXMpMzUgYih0ZXh0KWgoaXMpZyhhKWcoYnJpZWYpZgogKGRlc2NyaXB0aW9uKWgob2YpZih0aGUpaChmZWF0dXJlcylnKHRoYXQpZyhhcmUpZyhwcmVzZW4pbSh0KWcoaW4pZgotKHRoZSloKEJhc2gpZihzaGVsbCloKFwodiltKGVyc2lvbikxNTAgMjk5OSB5KDQuMCwpYygyOSlmKERlY2VtKW0oYilzCi0oZXIpZygyMDA4XCkuKTE1MCAzMTMzIHkoVGhpcylmKGlzKWcoRWRpdGlvbiloKDQuMCwpaChsYXN0KWcodXApcwotKGRhdGVkKWQoMjkpaShEZWNlbSltKGIpcyhlciloKDIwMDgsKWgob2YpZCBGcShUaGUpZyhHTlUpaShCYXNoKWUKKyh0aGUpaChCYXNoKWYoc2hlbGwpaChcKHYpbShlcnNpb24pMTUwIDI5OTkgeSg0LjEsKWMoMjMpZihEZWNlbSltKGIpcworKGVyKWcoMjAwOVwpLikxNTAgMzEzMyB5KFRoaXMpZihpcylnKEVkaXRpb24paCg0LjEsKWgobGFzdClnKHVwKXMKKyhkYXRlZClkKDIzKWkoRGVjZW0pbShiKXMoZXIpaCgyMDA5LCloKG9mKWQgRnEoVGhlKWcoR05VKWkoQmFzaCllCiAoUmVmZXJlbmNlKWkoTWFuKW0odWFsKXAgRnQoLCkxNTAgMzI0MyB5KGZvcillIEZzKEJhc2gpcAotRnQoLClnKFYpLTggYihlcnNpb24pMzEgYig0LjAuKTE1MCAzMzc3IHkoQ29wKW0oeXJpZ2gpbSh0KTYwMgorRnQoLClnKFYpLTggYihlcnNpb24pMzEgYig0LjEuKTE1MCAzMzc3IHkoQ29wKW0oeXJpZ2gpbSh0KTYwMgogMzM3NCB5KGMpNTc3IDMzNzcgeSBGcChcMDE1KWYgRnQoMTk4OHsyMDA5KTM1IGIoRiktOAogYihyZWUpMzEgYihTb2Z0KW0odyltKGFyZSloKEYpLTggYihvdW5kYXRpb24sKTMxIGIoSW5jLikxNTAKIDM1MTIgeShQKW0oZXJtaXNzaW9uKWgoaXMpaChncmFuKW0odGVkKWcodG8pZihtYWspbShlKWkoYW5kKWQKQEAgLTQ1NjAsNyArNDM1MCw3IEBACiBiKCwpMzggYihkaXN0cmlidXRlKWQoYW5kL29yKWcobW8pcyhkaWZ5KWYodGhpcyloKGRvKXMoY3VtZW4pbSh0KWcKICh1bmRlcikzOTAgMzg2NiB5KHRoZSlqKHRlcm1zKWcob2YpZyh0aGUpZyhHTlUpaChGKS04CiBiKHJlZSkzOSBiKERvKXMoY3VtZW4pbSh0YXRpb24paChMaWNlbnNlLClnKFYpLTggYihlcnNpb24pMzkKLWIoMS4yKWcob3IpZihhbiltKHkpZyhsYXRlcikzOTAgMzk3NSB5KHYpbShlcnNpb24pMjgKK2IoMS4zKWcob3IpZihhbiltKHkpZyhsYXRlcikzOTAgMzk3NSB5KHYpbShlcnNpb24pMjgKIGIocHVibGlzaGVkKWQoYiltKHkpaih0aGUpZihGKS04IGIocmVlKTI5IGIoU29mdCltKHcpbShhcmUpZihGKS04CiBiKG91bmRhdGlvbjspMzAgYih3aXRoKWQobm8pZyhJbiltKHYpLTUgYihhcmlhbiltKHQpMjgKIGIoU2VjdGlvbnMsKTM5MCA0MDg1IHkod2l0aClpKHRoZSloKEYpLTggYihyb24pbSh0LUNvKW0odiltKGVyKTMzCkBAIC00NTgxLDUxNiArNDM3MSw1NzIgQEAKICUlUGFnZTogLTEgMwogVGVYRGljdCBiZWdpbiAtMSAyIGJvcCAzNzI1IC0xMTYgYSBGdChpKTE1MCAyOTkgeSBGbyhUKS0xMwogYihhYmxlKTUzIGIob2YpaChDb24pbCh0ZW4pbCh0cykxNTAgNjQxIHkgRnIoMSkxMzUgYihJbilsKHRybyl0Ci0oZHVjdGlvbikxNSBiIEZuKC4pMjAgYiguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWgoLilmKC4paCguKWYoLilnKC4paAotKC4pZiguKWgoLilmKC4paCguKWYoLilnKC4paCguKWYoLiloKC4pZiguKWgoLilmKC4pZyguKWgoLilmKC4paCguKWYoLikKLTYwIGIgRnIoMSk0NDkgNzc4IHkgRnQoMS4xKTkyIGIoV2hhdCkzMSBiKGlzKWYoQmFzaD8pMjEKLWIgRm0oLikxNSBiKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKQotZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLik1MSBiIEZ0KDEpNDQ5IDg4OCB5KDEuMik5MgotYihXaGF0KTMxIGIoaXMpZihhKWgoc2hlbGw/KTE0IGIgRm0oLiloKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLiloKC4pZiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pCi1nKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKTQ0Ci1iIEZ0KDEpMTUwIDExMzAgeSBGcigyKTEzNSBiKERlXDAxNG5pdGlvbnMpMzcgYiBGbiguKTE5Ci1iKC4paCguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWgKLSguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWgoLilmKC4paCguKWYoLilnKC4paCguKWYoLik4MQotYiBGcigzKTE1MCAxNDAwIHkoMykxMzUgYihCYXNpYyk0NSBiKFNoZWxsKWcoRiktMTEgYihlYXR1cmVzKTEyCi1iIEZuKC4pMjAgYiguKWcoLilmKC4paCguKWYoLiloKC4pZiguKWgoLilmKC4pZyguKWgoLilmKC4paCguKWYoLiloKC4pZgotKC4pZyguKWgoLilmKC4paCguKWYoLiloKC4pZiguKTU3IGIgRnIoNSk0NDkgMTUzNyB5IEZ0KDMuMSk5MgotYihTaGVsbCkzMCBiKFN5biltKHRheCkyMiBiIEZtKC4pMTUgYiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKQotZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLik1MgotYiBGdCg1KTc0OCAxNjQ2IHkoMy4xLjEpOTMgYihTaGVsbCkzMCBiKE9wKXMoZXJhdGlvbikxMAotYiBGbSguKTE1IGIoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLiloKC4pZiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLik0MAotYiBGdCg1KTc0OCAxNzU2IHkoMy4xLjIpOTMgYihRdW90aW5nKTEwIGIgRm0oLikxNSBiKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLiloKC4pZiguKWcoLilnKC4pCi1nKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNDAKLWIgRnQoNSkxMDQ3IDE4NjYgeSgzLjEuMi4xKTkzIGIoRXNjYXApcyhlKTMwIGIoQ2hhcmFjdGVyKTI0Ci1iIEZtKC4pMTUgYiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLiloKC4pZiguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLik1MyBiIEZ0KDYpMTA0NyAxOTc1IHkoMy4xLjIuMik5MwotYihTaW5nbGUpMzEgYihRdW90ZXMpMTUgYiBGbSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLiloKC4pZiguKWcoLikKLWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKTQ1Ci1iIEZ0KDYpMTA0NyAyMDg1IHkoMy4xLjIuMyk5MyBiKERvdWJsZSkzMSBiKFF1b3RlcykxNQotYiBGbSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKWcoLiloKC4pZiguKWcoLilnKC4pNDQgYiBGdCg2KTEwNDcgMjE5NCB5KDMuMS4yLjQpOTMKLWIoQU5TSS1DKTMwIGIoUXVvdGluZykxOCBiIEZtKC4pZCguKWcoLiloKC4pZiguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNDgKLWIgRnQoNikxMDQ3IDIzMDQgeSgzLjEuMi41KTkzIGIoTG8pcyhjYWxlLVNwKXMoZWNpXDAxNGMpMzIKLWIoVCktOCBiKHJhbnNsYXRpb24pMTEgYiBGbSguKTE2IGIoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKTQxIGIgRnQoNyk3NDggMjQxMyB5KDMuMS4zKTkzIGIoQ29tbWVuKW0odHMpMjUKLWIgRm0oLikxNSBiKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWgoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKQotZyguKWcoLilnKC4pNTUgYiBGdCg3KTQ0OSAyNTIzIHkoMy4yKTkyIGIoU2hlbGwpMzAgYihDb21tYW5kcykyMwotYiBGbSguKTE0IGIoLiloKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLiloKC4pZiguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pCi1nKC4pZyguKWcoLilnKC4pZyguKWcoLik1MyBiIEZ0KDcpNzQ4IDI2MzMgeSgzLjIuMSk5MwotYihTaW1wbGUpMzAgYihDb21tYW5kcykxNSBiIEZtKC4pZiguKWgoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pNDUgYiBGdCg4KTc0OCAyNzQyIHkoMy4yLjIpOTMgYihQaXApcyhlbGluZXMpMTQKLWIgRm0oLiloKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pCi1nKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLik0NCBiIEZ0KDgpNzQ4IDI4NTIgeSgzLjIuMyk5MyBiKExpc3RzKTMwCi1iKG9mKWgoQ29tbWFuZHMpMjMgYiBGbSguKTE1IGIoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWgoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKQotNTQgYiBGdCg5KTc0OCAyOTYxIHkoMy4yLjQpOTMgYihDb21wKXMob3VuZCkyOCBiKENvbW1hbmRzKTE3Ci1iIEZtKC4pZCguKWgoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKQotZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNDcgYiBGdCg5KTEwNDcgMzA3MQoteSgzLjIuNC4xKTkzIGIoTG8pcyhvcGluZykzMCBiKENvbnN0cnVjdHMpYyBGbSguKTE1IGIoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKTU2Ci1iIEZ0KDkpMTA0NyAzMTgxIHkoMy4yLjQuMik5MyBiKENvbmRpdGlvbmFsKTMxIGIoQ29uc3RydWN0cykxOAotYiBGbSguKWQoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKTQ3Ci1iIEZ0KDEwKTEwNDcgMzI5MCB5KDMuMi40LjMpOTMgYihHcm91cGluZykzMCBiKENvbW1hbmRzKTEzCi1iIEZtKC4paCguKWgoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKQotZyguKTQyIGIgRnQoMTMpNzQ4IDM0MDAgeSgzLjIuNSk5MyBiKENvcHJvKXMoY2Vzc2VzKTIwCi1iIEZtKC4pMTQgYiguKWgoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paCguKWYoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLik0OSBiIEZ0KDE0KTQ0OSAzNTA5IHkoMy4zKTkyIGIoU2hlbGwpMzAgYihGKS04IGIodW5jdGlvbnMpOAotYiBGbSguKTE2IGIoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLiloKC4pZiguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pCi1nKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pMzggYiBGdCgxNCk0NDkgMzYxOSB5KDMuNCk5MgotYihTaGVsbCkzMCBiKFApbShhcmFtZXRlcnMpMjAgYiBGbSguKWMoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWgoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKTQ5IGIKLUZ0KDE2KTc0OCAzNzI5IHkoMy40LjEpOTMgYihQKW0ob3NpdGlvbmFsKTMyIGIoUCltKGFyYW1ldGVycykxNAotYiBGbSguKWkoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWgoLilmKC4pZyguKWcoLikKLWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKTQzIGIgRnQoMTYpNzQ4IDM4MzgKLXkoMy40LjIpOTMgYihTcClzKGVjaWFsKTMwIGIoUCltKGFyYW1ldGVycylmIEZtKC4pMTUKLWIoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNTcgYiBGdCgxNik0NDkKLTM5NDggeSgzLjUpOTIgYihTaGVsbCkzMCBiKEV4cGFuc2lvbnMpMjAgYiBGbSguKTE0IGIoLiloKC4pZyguKWcoLilnKC4pCi1nKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWgoLilmKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKTQ5Ci1iIEZ0KDE3KTc0OCA0MDU3IHkoMy41LjEpOTMgYihCcmFjZSkzMSBiKEV4cGFuc2lvbillCi1GbSguKTE1IGIoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paCguKWYoLik1OAotYiBGdCgxOCk3NDggNDE2NyB5KDMuNS4yKTkzIGIoVGlsZGUpMzAgYihFeHBhbnNpb24pMTcKLWIgRm0oLillKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pCi1nKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKTQ3Ci1iIEZ0KDE5KTc0OCA0Mjc2IHkoMy41LjMpOTMgYihTaGVsbCkzMCBiKFApbShhcmFtZXRlciloKEV4cGFuc2lvbikxOAotYiBGbSguKWQoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWgoLilmKC4pZyguKWcoLik0NyBiIEZ0KDIwKTc0OCA0Mzg2IHkoMy41LjQpOTMgYihDb21tYW5kKTI5Ci1iKFN1YnN0aXR1dGlvbilmIEZtKC4pMTUgYiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKTU4IGIgRnQoMjIpNzQ4Ci00NDk2IHkoMy41LjUpOTMgYihBcml0aG1ldGljKTMxIGIoRXhwYW5zaW9uKTEyIGIgRm0oLilqKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKTQyIGIgRnQoMjMpNzQ4IDQ2MDUgeSgzLjUuNik5MyBiKFBybylzKGNlc3MpMzAKLWIoU3Vic3RpdHV0aW9uKTE5IGIgRm0oLiljKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNDkKLWIgRnQoMjMpNzQ4IDQ3MTUgeSgzLjUuNyk5MyBiKFcpLTggYihvcmQpMzAgYihTcGxpdHRpbmcpYwotRm0oLikxNSBiKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLik1NQotYiBGdCgyNCk3NDggNDgyNCB5KDMuNS44KTkzIGIoRmlsZW5hbWUpMzEgYihFeHBhbnNpb24pMjUKLWIgRm0oLikxNSBiKC4pZyguKWcoLilnKC4pZyguKWcoLiloKC4pZiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNTUgYiBGdCgyNCkxMDQ3Ci00OTM0IHkoMy41LjguMSk5MyBiKFApbShhdHRlcm4pMzEgYihNYXRjKW0oaGluZykyMCBiCi1GbSguKWQoLillKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLiloKC4pZiguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWcoLik0OSBiIEZ0KDI1KTc0OCA1MDQ0IHkoMy41LjkpOTMgYihRdW90ZSkzMAotYihSZW1vKW0odiktNSBiKGFsKTE1IGIgRm0oLilpKC4pZSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWgoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKTQ0IGIgRnQoMjYpNDQ5IDUxNTMgeSgzLjYpOTIgYihSZWRpcmVjdGlvbnMpMjQKLWIgRm0oLikxNSBiKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paCguKWYoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKQotZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNTMgYiBGdCgyNik3NDggNTI2MwoteSgzLjYuMSk5MyBiKFJlZGlyZWN0aW5nKTMxIGIoSW5wdXQpMTEgYiBGbSguKWooLiloKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pCi1nKC4paCguKWYoLilnKC4pZyguKTQwIGIgRnQoMjcpcCBlb3AgZW5kCisoZHVjdGlvbikxMyBiIEZuKDopMTkgYig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZworKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopaCg6KWYoOikKK2coOiloKDopZig6KWgoOilmKDopaCg6KTU3IGIgRnIoMSkyNzUgNzc4IHkgRnQoMS4xKTkyCitiKFdoYXQpMzEgYihpcylmKEJhc2g/KTIyIGIgRm0oOikxNSBiKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcKKyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopCitoKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgKKyg6KWYoOilnKDopaCg6KWYoOik1MiBiIEZ0KDEpMjc1IDg4OCB5KDEuMik5MiBiKFdoYXQpMzEKK2IoaXMpZihhKWgoc2hlbGw/KTEzIGIgRm0oOilqKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaAorKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOikKK2YoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZgorKDopZyg6KTQ0IGIgRnQoMSkxNTAgMTEzMCB5IEZyKDIpMTM1IGIoRGVcMDE0bml0aW9ucykxMworYiBGbig6KTIwIGIoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYKKyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopCitmKDopaCg6KWYoOiloKDopZig6KTU3IGIgRnIoMykxNTAgMTQwMCB5KDMpMTM1IGIoQmFzaWMpNDUKK2IoU2hlbGwpZyhGKS0xMSBiKGVhdHVyZXMpMjcgYiBGbig6KTIxIGIoOillKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopCitmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWgKKyg6KWYoOik3MiBiIEZyKDUpMjc1IDE1MzcgeSBGdCgzLjEpOTIgYihTaGVsbCkzMCBiKFN5biltKHRheCkyNQorYiBGbSg6KTE2IGIoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgKKyg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopCitmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KTU1CitiIEZ0KDUpMzk5IDE2NDYgeSgzLjEuMSk5MyBiKFNoZWxsKTMwIGIoT3ApcyhlcmF0aW9uKWMKK0ZtKDopMTUgYig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZworKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikKK2goOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTU2IGIgRnQoNSkzOTkgMTc1NgoreSgzLjEuMik5MyBiKFF1b3RpbmcpMTUgYiBGbSg6KWcoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOikKK2YoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZgorKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOikKK2coOiloKDopZig6KWgoOilmKDopNDUgYiBGdCg2KTUyNCAxODY2IHkoMy4xLjIuMSk5MyBiKEVzY2FwKXMoZSkzMAorYihDaGFyYWN0ZXIpMTEgYiBGbSg6KTE2IGIoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZworKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikKK2goOilmKDopZyg6KWgoOilmKDopaCg6KWYoOik0MSBiIEZ0KDYpNTI0IDE5NzUgeSgzLjEuMi4yKTkzCitiKFNpbmdsZSkzMSBiKFF1b3RlcylkIEZtKDopMTUgYig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KQoraCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnCisoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTU4IGIgRnQoNik1MjQKKzIwODUgeSgzLjEuMi4zKTkzIGIoRG91YmxlKTMxIGIoUXVvdGVzKTI2IGIgRm0oOikxNiBiKDopZig6KWgoOilmKDopZworKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikKK2goOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik1NgorYiBGdCg2KTUyNCAyMTk0IHkoMy4xLjIuNCk5MyBiKEFOU0ktQykzMCBiKFF1b3RpbmcpZAorRm0oOikxNiBiKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloCisoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KQorZig6KWcoOiloKDopNTcgYiBGdCg2KTUyNCAyMzA0IHkoMy4xLjIuNSk5MyBiKExvKXMoY2FsZS1TcClzKGVjaVwwMTRjKQorMzIgYihUKS04IGIocmFuc2xhdGlvbik4IGIgRm0oOikxNiBiKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikKK2goOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaAorKDopMzggYiBGdCg3KTM5OSAyNDEzIHkoMy4xLjMpOTMgYihDb21tZW4pbSh0cykyNiBiIEZtKDopMTUKK2IoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZgorKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOikKK2coOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KTU2IGIKK0Z0KDcpMjc1IDI1MjMgeSgzLjIpOTIgYihTaGVsbCkzMCBiKENvbW1hbmRzKTIxIGIgRm0oOikxNAorYig6KWkoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCisoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KQoraCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik1MSBiIEZ0KDcpMzk5CisyNjMzIHkoMy4yLjEpOTMgYihTaW1wbGUpMzAgYihDb21tYW5kcyljIEZtKDopMTUgYig6KWgoOilmKDopaCg6KWYoOilnCisoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KQoraCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KTU3CitiIEZ0KDgpMzk5IDI3NDIgeSgzLjIuMik5MyBiKFBpcClzKGVsaW5lcykxOCBiIEZtKDopZCg6KWcoOiloKDopZig6KWcKKyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopCitoKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgKKyg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KTQ4IGIgRnQoOCkzOTkKKzI4NTIgeSgzLjIuMyk5MyBiKExpc3RzKTMwIGIob2YpaChDb21tYW5kcykxNSBiIEZtKDopZig6KWgoOiloKDopZig6KWcKKyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopCitoKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KTQ1CitiIEZ0KDgpMzk5IDI5NjEgeSgzLjIuNCk5MyBiKENvbXApcyhvdW5kKTI4IGIoQ29tbWFuZHMpMjIKK2IgRm0oOikxNiBiKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloCisoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KQorZig6KWcoOik1NCBiIEZ0KDkpNTI0IDMwNzEgeSgzLjIuNC4xKTkzIGIoTG8pcyhvcGluZykzMAorYihDb25zdHJ1Y3RzKTExIGIgRm0oOilrKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOikKK2goOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaAorKDopZig6KWcoOiloKDopZig6KTQxIGIgRnQoOSk1MjQgMzE4MSB5KDMuMi40LjIpOTMgYihDb25kaXRpb25hbCkzMQorYihDb25zdHJ1Y3RzKTE4IGIgRm0oOilkKDopZyg6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOikKK2coOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopNDcKK2IgRnQoMTApNTI0IDMyOTAgeSgzLjIuNC4zKTkzIGIoR3JvdXBpbmcpMzAgYihDb21tYW5kcykxNQorYiBGbSg6KWYoOilpKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOikKK2goOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KTQ1CitiIEZ0KDEzKTM5OSAzNDAwIHkoMy4yLjUpOTMgYihDb3BybylzKGNlc3NlcykxOCBiIEZtKDopZCg6KWcoOiloKDopZig6KQoraCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnCisoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KQoraCg6KWYoOilnKDopaCg6KWYoOiloKDopNDcgYiBGdCgxNCkyNzUgMzUwOSB5KDMuMyk5MgorYihTaGVsbCkzMCBiKEYpLTggYih1bmN0aW9ucykyOSBiIEZtKDopMTUgYig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgKKyg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopCitmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYKKyg6KWcoOiloKDopZig6KTU4IGIgRnQoMTQpMjc1IDM2MTkgeSgzLjQpOTIgYihTaGVsbCkzMAorYihQKW0oYXJhbWV0ZXJzKTE3IGIgRm0oOilmKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcKKyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopCitoKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopNDYKK2IgRnQoMTUpMzk5IDM3MjkgeSgzLjQuMSk5MyBiKFApbShvc2l0aW9uYWwpMzIgYihQKW0oYXJhbWV0ZXJzKTIwCitiIEZtKDopZCg6KWYoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KQoraCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloCisoOilmKDopNTAgYiBGdCgxNikzOTkgMzgzOCB5KDMuNC4yKTkzIGIoU3ApcyhlY2lhbCkzMAorYihQKW0oYXJhbWV0ZXJzKTE2IGIgRm0oOiloKDopZig6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgKKyg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopCitmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOik0NiBiIEZ0KDE2KTI3NSAzOTQ4Cit5KDMuNSk5MiBiKFNoZWxsKTMwIGIoRXhwYW5zaW9ucykxNyBiIEZtKDopZCg6KWgoOiloKDopZig6KWgoOilmKDopZyg6KQoraCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloCisoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KQorZig6KWcoOiloKDopNDYgYiBGdCgxNykzOTkgNDA1NyB5KDMuNS4xKTkzIGIoQnJhY2UpMzEKK2IoRXhwYW5zaW9uKTIxIGIgRm0oOikxNSBiKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcKKyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopCitoKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KTUwIGIgRnQoMTgpMzk5Cis0MTY3IHkoMy41LjIpOTMgYihUaWxkZSkzMCBiKEV4cGFuc2lvbikxMCBiIEZtKDopMTUgYig6KWgoOilmKDopZyg6KWgKKyg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopCitmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgKKyg6KWYoOik0MCBiIEZ0KDE5KTM5OSA0Mjc2IHkoMy41LjMpOTMgYihTaGVsbCkzMCBiKFApbShhcmFtZXRlcilpCisoRXhwYW5zaW9uKTE4IGIgRm0oOilkKDopZyg6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnCisoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KQorNDggYiBGdCgxOSkzOTkgNDM4NiB5KDMuNS40KTkzIGIoQ29tbWFuZCkyOSBiKFN1YnN0aXR1dGlvbikxMgorYiBGbSg6KWooOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOikKK2goOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZworKDopNDIgYiBGdCgyMikzOTkgNDQ5NiB5KDMuNS41KTkzIGIoQXJpdGhtZXRpYykzMSBiKEV4cGFuc2lvbikxOQorYiBGbSg6KWMoOilnKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOikKK2YoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZgorKDopaCg6KTQ4IGIgRnQoMjMpMzk5IDQ2MDUgeSgzLjUuNik5MyBiKFBybylzKGNlc3MpMzAKK2IoU3Vic3RpdHV0aW9uKWQgRm0oOikxNSBiKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgKKyg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopCitoKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopNTcgYiBGdCgyMykzOTkgNDcxNSB5KDMuNS43KTkzCitiKFcpLTggYihvcmQpMzEgYihTcGxpdHRpbmcpMjAgYiBGbSg6KTE1IGIoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmCisoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KQorZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik0OQorYiBGdCgyMykzOTkgNDgyNCB5KDMuNS44KTkzIGIoRmlsZW5hbWUpMzIgYihFeHBhbnNpb24pMTMKK2IgRm0oOilpKDopZyg6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopCitmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgKKyg6KWYoOiloKDopZig6KTQzIGIgRnQoMjQpNTI0IDQ5MzQgeSgzLjUuOC4xKTkzIGIoUCltKGF0dGVybikzMQorYihNYXRjKW0oaGluZylkIEZtKDopMTYgYig6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCisoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KQoraCg6KWYoOilnKDopaCg6KWYoOik1NiBiIEZ0KDI0KTM5OSA1MDQ0IHkoMy41LjkpOTMgYihRdW90ZSkzMQorYihSZW1vKW0odiktNSBiKGFsKTkgYiBGbSg6KTE3IGIoOillKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOikKK2goOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaAorKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikzOQorYiBGdCgyNSkyNzUgNTE1MyB5KDMuNik5MiBiKFJlZGlyZWN0aW9ucykyNiBiIEZtKDopMTUKK2IoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZworKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikKK2goOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopNTUKK2IgRnQoMjYpMzk5IDUyNjMgeSgzLjYuMSk5MyBiKFJlZGlyZWN0aW5nKTMxIGIoSW5wdXQpMjMKK2IgRm0oOikxNCBiKDopaSg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCisoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KQorZyg6KWgoOilmKDopaCg6KWYoOiloKDopNTIgYiBGdCgyNylwIGVvcCBlbmQKICUlUGFnZTogLTIgNAogVGVYRGljdCBiZWdpbiAtMiAzIGJvcCAxNTAgLTExNiBhIEZ0KGlpKTI2MTIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk3NDggODMgeSgzLjYuMik5MyBiKFJlZGlyZWN0aW5nKTMxCi1iKE91dHB1dCkxOCBiIEZtKC4pMTMgYiguKWkoLilnKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLik0NwotYiBGdCgyNyk3NDggMTkzIHkoMy42LjMpOTMgYihBcHApcyhlbmRpbmcpMjggYihSZWRpcmVjdGVkKWooT3V0cHV0KTE2Ci1iIEZtKC4pZSguKWgoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKQotZyguKTQ1IGIgRnQoMjcpNzQ4IDMwMiB5KDMuNi40KTkzIGIoUmVkaXJlY3RpbmcpMzEgYihTdGFuZGFyZCllKE91dHB1dCkKLWcoYW5kKWgoU3RhbmRhcmQpZihFcnJvcik5NTQgNDEyIHkgRm0oLikxNiBiKC4pZiguKWcoLilnKC4pZyguKWcoLilnKC4pCi1nKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWgoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pCi1nKC4pZyguKWcoLilnKC4pZyguKTU0IGIgRnQoMjgpNzQ4IDUyMSB5KDMuNi41KTkzIGIoQXBwKXMoZW5kaW5nKTI4Ci1iKFN0YW5kYXJkKWgoT3V0cHV0KWgoYW5kKWYoU3RhbmRhcmQpaChFcnJvcik5NTQgNjMxCi15IEZtKC4pMTYgYiguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLiloKC4pZiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNTQKLWIgRnQoMjgpNzQ4IDc0MSB5KDMuNi42KTkzIGIoSGVyZSkzMCBiKERvKXMoY3VtZW4pbSh0cykxMwotYiBGbSguKWsoLillKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNDMKLWIgRnQoMjgpNzQ4IDg1MCB5KDMuNi43KTkzIGIoSGVyZSkzMCBiKFN0cmluZ3MpMTAgYiBGbSguKTE1Ci1iKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWgoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikzOQotYiBGdCgyOSk3NDggOTYwIHkoMy42LjgpOTMgYihEdXBsaWNhdGluZykzMSBiKEZpbGUpaChEZXNjcmlwdG9ycykxNwotYiBGbSguKWYoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKTQ3IGIgRnQoMjkpNzQ4IDEwNjkgeSgzLjYuOSk5MyBiKE1vKW0odmluZykzMQotYihGaWxlKWgoRGVzY3JpcHRvcnMpMTUgYiBGbSguKWgoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWgoLik0NAotYiBGdCgyOSk3NDggMTE3OSB5KDMuNi4xMCk5MyBiKE9wKXMoZW5pbmcpMjkgYihGaWxlKWooRGVzY3JpcHRvcnMpZgotKGZvcilmKFJlYWRpbmcpaChhbmQpZShXKS04IGIocml0aW5nKTk1NCAxMjg5IHkgRm0oLikxNgotYiguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paCguKQotZiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNTQgYgotRnQoMjkpNDQ5IDEzOTggeSgzLjcpOTIgYihFeGVjdXRpbmcpMzEgYihDb21tYW5kcykyNQotYiBGbSguKTE1IGIoLilnKC4pZyguKWcoLiloKC4pZiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pCi01NiBiIEZ0KDMwKTc0OCAxNTA4IHkoMy43LjEpOTMgYihTaW1wbGUpMzAgYihDb21tYW5kKWYoRXhwYW5zaW9uKWMKLUZtKC4pMTUgYiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLik1NSBiIEZ0KDMwKTc0OCAxNjE3IHkoMy43LjIpOTMgYihDb21tYW5kKTI5Ci1iKFNlYXJjKW0oaClpKGFuZCllKEV4ZWN1dGlvbikxMyBiIEZtKC4paiguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4paCguKWYoLilnKC4pZyguKWcoLik0MiBiIEZ0KDMwKTc0OCAxNzI3IHkoMy43LjMpOTMKLWIoQ29tbWFuZCkyOSBiKEV4ZWN1dGlvbilpKEVuKW0odmlyb25tZW4pbSh0KTE4IGIgRm0oLilkKC4pZyguKWcoLilnKC4pCi1nKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLik0NyBiIEZ0KDMxKTc0OCAxODM2Ci15KDMuNy40KTkzIGIoRW4pbSh2aXJvbm1lbiltKHQpMjEgYiBGbSguKTE1IGIoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pCi1nKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLik1MCBiIEZ0KDMyKTc0OCAxOTQ2Ci15KDMuNy41KTkzIGIoRXhpdCkzMCBiKFN0YXR1cyk4IGIgRm0oLikxNiBiKC4pZiguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLiloKC4pZiguKWcoLikzNyBiIEZ0KDMyKTc0OAotMjA1NiB5KDMuNy42KTkzIGIoU2lnbmFscykxMCBiIEZtKC4pMTUgYiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKTM5Ci1iIEZ0KDMzKTQ0OSAyMTY1IHkoMy44KTkyIGIoU2hlbGwpMzAgYihTY3JpcHRzKTIxIGIgRm0oLikxNQotYiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWgoLilmKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKQotZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKTUxIGIgRnQoMzQpMTUwIDI0MDggeSBGcig0KTEzNQotYihTaGVsbCk0NSBiKEJ1aWx0aW4pZyhDb21tYW5kcykzOCBiIEZuKC4pMTkgYiguKWgoLilmKC4paCguKWYoLilnKC4paAotKC4pZiguKWgoLilmKC4paCguKWYoLilnKC4paCguKWYoLiloKC4pZiguKTgyIGIgRnIoMzUpNDQ5Ci0yNTQ1IHkgRnQoNC4xKTkyIGIoQm91cm5lKTMwIGIoU2hlbGwpZyhCdWlsdGlucykxNiBiCi1GbSguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKQotNDUgYiBGdCgzNSk0NDkgMjY1NCB5KDQuMik5MiBiKEJhc2gpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMTcKLWIgRm0oLilkKC4paCguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLiloKC4pCi1mKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLik0NgotYiBGdCg0MSk0NDkgMjc2NCB5KDQuMyk5MiBiKE1vKXMoZGlmeWluZykzMCBiKFNoZWxsKWgoQmVoYSltKHZpb3IpMjMKLWIgRm0oLikxNiBiKC4pZiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWgoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKTUyCi1iIEZ0KDUwKTc0OCAyODczIHkoNC4zLjEpOTMgYihUaGUpMjkgYihTZXQpaShCdWlsdGluKTExCi1iIEZtKC4pMTYgYiguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paCguKWYoLilnKC4pNDAKLWIgRnQoNTApNzQ4IDI5ODMgeSg0LjMuMik5MyBiKFRoZSkyOSBiKFNob3B0KWgoQnVpbHRpbikyMwotYiBGbSguKTE1IGIoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKTUyCi1iIEZ0KDU0KTQ0OSAzMDkzIHkoNC40KTkyIGIoU3ApcyhlY2lhbCkzMSBiKEJ1aWx0aW5zKTIyCi1iIEZtKC4pMTUgYiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWgoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKWcoLilnKC4pZyguKTUyIGIgRnQoNTgpMTUwIDMzMzUgeSBGcig1KTEzNQotYihTaGVsbCk0NSBiKFYpLTExIGIoYXJpYWJsZXMpMTAgYiBGbiguKTIxIGIoLillKC4paCguKWYoLilnKC4paCguKWYoLikKLWgoLilmKC4paCguKWYoLilnKC4paCguKWYoLiloKC4pZiguKWgoLilmKC4pZyguKWgoLilmKC4paCguKWYoLiloKC4pZgotKC4paCguKWYoLik1NSBiIEZyKDYxKTQ0OSAzNDcyIHkgRnQoNS4xKTkyIGIoQm91cm5lKTMwCi1iKFNoZWxsKWcoViktOCBiKGFyaWFibGVzKTExIGIgRm0oLikxNyBiKC4pZSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKQotZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWgoLilmCi0oLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNDAgYiBGdCg2MSk0NDkgMzU4MiB5KDUuMik5MgotYihCYXNoKTMwIGIoViktOCBiKGFyaWFibGVzKTE3IGIgRm0oLilnKC4pZSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pCi1oKC4pZiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKTQ2Ci1iIEZ0KDYxKTE1MCAzODI0IHkgRnIoNikxMzUgYihCYXNoKTQ0IGIoRiktMTEgYihlYXR1cmVzKTMxCi1iIEZuKC4pMjAgYiguKWYoLilnKC4paCguKWYoLiloKC4pZiguKWgoLilmKC4paCguKWYoLilnKC4paCguKWYoLiloKC4pZgotKC4paCguKWYoLilnKC4paCguKWYoLiloKC4pZiguKWgoLilmKC4pZyguKWgoLik3NSBiIEZyKDcxKTQ0OQotMzk2MSB5IEZ0KDYuMSk5MiBiKEluKW0odiltKG9raW5nKTMxIGIoQmFzaCllIEZtKC4pMTUKLWIoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paAotKC4pZiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKWcoLilnKC4pNTggYiBGdCg3MSk0NDkgNDA3MSB5KDYuMik5MiBiKEJhc2gpMzAKLWIoU3RhcnR1cClnKEZpbGVzKWMgRm0oLikxNSBiKC4pZyguKWgoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNTUgYiBGdCg3Myk0NDkgNDE4MCB5KDYuMyk5MgotYihJbiltKHRlcmFjdGl2KW0oZSkzMyBiKFNoZWxscykxNCBiIEZtKC4paCguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pCi1nKC4pZyguKWcoLilnKC4pZyguKWcoLiloKC4pZiguKWcoLilnKC4pZyguKWcoLilnKC4pNDMKLWIgRnQoNzUpNzQ4IDQyOTAgeSg2LjMuMSk5MyBiKFdoYXQpMzEgYihpcylmKGFuKWcoSW4pbSh0ZXJhY3RpdiltKGUpagotKFNoZWxsPykyMCBiIEZtKC4pMTUgYiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLik0OSBiIEZ0KDc1KTc0OCA0Mzk5IHkoNi4zLjIpOTMKLWIoSXMpMzAgYih0aGlzKWcoU2hlbGwpZyhJbiltKHRlcmFjdGl2KW0oZT8pMTAgYiBGbSguKTE4Ci1iKC4pZCguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pNDAgYiBGdCg3NSk3NDggNDUwOSB5KDYuMy4zKTkzCi1iKEluKW0odGVyYWN0aXYpbShlKTMyIGIoU2hlbGwpZihCZWhhKW0odmlvcikyMiBiIEZtKC4pMTYKLWIoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pNTEgYiBGdCg3NSk0NDkgNDYxOSB5KDYuNCk5MiBiKEJhc2gpMzAKLWIoQ29uZGl0aW9uYWwpaChFeHByZXNzaW9ucykyMCBiIEZtKC4pMTUgYiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLiloKC4pCi1mKC4pNDkgYiBGdCg3Nik0NDkgNDcyOCB5KDYuNSk5MiBiKFNoZWxsKTMwIGIoQXJpdGhtZXRpYylmCi1GbSguKTE1IGIoLilnKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pCi1nKC4pZyguKWgoLilmKC4pZyguKTU3IGIgRnQoNzgpNDQ5IDQ4MzggeSg2LjYpOTIgYihBbGlhc2VzKTI1Ci1iIEZtKC4pMTUgYiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWgoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNTMKLWIgRnQoNzkpNDQ5IDQ5NDcgeSg2LjcpOTIgYihBcnJhKW0oeXMpMjkgYiBGbSguKTE1IGIoLilnKC4pZyguKWcoLilnKC4pCi1nKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pCi1nKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNTggYiBGdCg4MCk0NDkgNTA1NyB5KDYuOCk5MgotYihUaGUpMzAgYihEaXJlY3RvcnkpaShTdGFjKW0oaykxNSBiIEZtKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLiloKC4pCi1mKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNDQgYiBGdCg4MSk3NDgKLTUxNjYgeSg2LjguMSk5MyBiKERpcmVjdG9yeSkzMSBiKFN0YWMpbShrKWgoQnVpbHRpbnMpMTAKLWIgRm0oLikxNiBiKC4pZiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNDAgYiBGdCg4Mik0NDkgNTI3NiB5KDYuOSk5MgotYihDb24pbSh0cm9sbGluZykzMSBiKHRoZSlnKFByb21wdCkxNSBiIEZtKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKWgoLilmKC4pZyguKWcoLilnKC4pNDQgYiBGdCg4MylwIGVvcCBlbmQKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTM5OSA4MyB5KDMuNi4yKTkzIGIoUmVkaXJlY3RpbmcpMzEKK2IoT3V0cHV0KTI2IGIgRm0oOikxNSBiKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmCisoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KQorZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTU2IGIgRnQoMjcpMzk5IDE5MyB5KDMuNi4zKTkzCitiKEFwcClzKGVuZGluZykyOCBiKFJlZGlyZWN0ZWQpayhPdXRwdXQpMTIgYiBGbSg6KWgoOilqKDopZig6KWgoOilmKDopZworKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikKK2goOilmKDopZyg6KWgoOik0MSBiIEZ0KDI3KTM5OSAzMDIgeSgzLjYuNCk5MyBiKFJlZGlyZWN0aW5nKTMxCitiKFN0YW5kYXJkKWUoT3V0cHV0KWgoYW5kKWYoU3RhbmRhcmQpaChFcnJvcilkIEZtKDopMTUKK2IoOilnKDopaCg6KWYoOiloKDopZig6KWcoOik1OCBiIEZ0KDI3KTM5OSA0MTIgeSgzLjYuNSk5MworYihBcHApcyhlbmRpbmcpMjggYihTdGFuZGFyZClpKE91dHB1dClmKGFuZCloKFN0YW5kYXJkKWYoRXJyb3IpMTkKK2IgRm0oOikxNCBiKDopaCg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTQ4IGIgRnQoMjgpMzk5Cis1MjEgeSgzLjYuNik5MyBiKEhlcmUpMzEgYihEbylzKGN1bWVuKW0odHMpYyBGbSg6KTE1CitiKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYKKyg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopCitnKDopaCg6KWYoOiloKDopZig6KTU2IGIgRnQoMjgpMzk5IDYzMSB5KDMuNi43KTkzIGIoSGVyZSkzMQorYihTdHJpbmdzKWMgRm0oOikxNiBiKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloCisoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KQorZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOik1OAorYiBGdCgyOCkzOTkgNzQxIHkoMy42LjgpOTMgYihEdXBsaWNhdGluZykzMiBiKEZpbGUpZihEZXNjcmlwdG9ycykxNgorYiBGbSg6KWcoOilnKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikKK2goOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOik0NgorYiBGdCgyOCkzOTkgODUwIHkoMy42LjkpOTMgYihNbyltKHZpbmcpMzIgYihGaWxlKWYoRGVzY3JpcHRvcnMpMTkKK2IgRm0oOilkKDopZyg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopCitoKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KTQ5CitiIEZ0KDI5KTM5OSA5NjAgeSgzLjYuMTApOTMgYihPcClzKGVuaW5nKTI5IGIoRmlsZSlqKERlc2NyaXB0b3JzKWYoZm9yKQorZihSZWFkaW5nKWgoYW5kKWYoVyktOCBiKHJpdGluZykxOSBiIEZtKDopZSg6KWUoOiloKDopZig6KWgoOilmKDopNDkKK2IgRnQoMjkpMjc1IDEwNjkgeSgzLjcpOTIgYihFeGVjdXRpbmcpMzEgYihDb21tYW5kcykxNworYiBGbSg6KWQoOiloKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOikKK2YoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZgorKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopNDYgYiBGdCgyOSkzOTkgMTE3OSB5KDMuNy4xKTkzCitiKFNpbXBsZSkzMCBiKENvbW1hbmQpZihFeHBhbnNpb24pMjMgYiBGbSg6KTE1IGIoOilnKDopaCg6KWYoOilnKDopaCg6KQorZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmCisoOilnKDopaCg6KWYoOiloKDopNTIgYiBGdCgyOSkzOTkgMTI4OSB5KDMuNy4yKTkzIGIoQ29tbWFuZCkyOQorYihTZWFyYyltKGgpaShhbmQpZihFeGVjdXRpb24pZCBGbSg6KTE1IGIoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCisoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopNTYKK2IgRnQoMzApMzk5IDEzOTggeSgzLjcuMyk5MyBiKENvbW1hbmQpMjkgYihFeGVjdXRpb24paShFbiltKHZpcm9ubWVuKW0KKyh0KTggYiBGbSg6KTE2IGIoOilnKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopCitoKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOikzOCBiIEZ0KDMwKTM5OSAxNTA4Cit5KDMuNy40KTkzIGIoRW4pbSh2aXJvbm1lbiltKHQpMTggYiBGbSg6KWQoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmCisoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KQorZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCisoOiloKDopNDcgYiBGdCgzMSkzOTkgMTYxNyB5KDMuNy41KTkzIGIoRXhpdCkzMSBiKFN0YXR1cyljCitGbSg6KTE2IGIoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgKKyg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopCitmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik1NyBiCitGdCgzMikzOTkgMTcyNyB5KDMuNy42KTkzIGIoU2lnbmFscykxNSBiIEZtKDopZyg6KWcoOiloKDopZig6KWgoOilmKDopZworKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOikKK2goOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaAorKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOik0NCBiIEZ0KDMyKTI3NSAxODM2Cit5KDMuOCk5MiBiKFNoZWxsKTMwIGIoU2NyaXB0cykyMyBiIEZtKDopMTUgYig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KQorZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmCisoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KQorZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTUzIGIgRnQoMzMpMTUwIDIwNzkgeSBGcig0KTEzNQorYihTaGVsbCk0NSBiKEJ1aWx0aW4pZyhDb21tYW5kcykyMiBiIEZuKDopZSg6KWcoOilmKDopaCg6KWYoOiloKDopZig6KWcKKyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOik2NworYiBGcigzNSkyNzUgMjIxNiB5IEZ0KDQuMSk5MiBiKEJvdXJuZSkzMCBiKFNoZWxsKWcoQnVpbHRpbnMpZQorRm0oOikxNSBiKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCisoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KQoraCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KTU3IGIgRnQoMzUpMjc1IDIzMjUgeSg0LjIpOTIKK2IoQmFzaCkzMCBiKEJ1aWx0aW4paChDb21tYW5kcykyNCBiIEZtKDopMTUgYig6KWcoOiloKDopZig6KWgoOilmKDopZworKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOikKK2goOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik1NAorYiBGdCg0MSkyNzUgMjQzNSB5KDQuMyk5MiBiKE1vKXMoZGlmeWluZykzMCBiKFNoZWxsKWcoQmVoYSltKHZpb3IpOQorYiBGbSg6KTE3IGIoOilmKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgKKyg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopCitoKDopZig6KWgoOilmKDopMzkgYiBGdCg1MSkzOTkgMjU0NSB5KDQuMy4xKTkzIGIoVGhlKTMwCitiKFNldClnKEJ1aWx0aW4pYyBGbSg6KTE2IGIoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZgorKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOikKK2coOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTU1IGIKK0Z0KDUxKTM5OSAyNjU0IHkoNC4zLjIpOTMgYihUaGUpMzAgYihTaG9wdClmKEJ1aWx0aW4pMTMKK2IgRm0oOilqKDopZyg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopCitoKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcKKyg6KWgoOilmKDopaCg6KWYoOilnKDopNDMgYiBGdCg1NSkyNzUgMjc2NCB5KDQuNCk5MiBiKFNwKXMoZWNpYWwpMzAKK2IoQnVpbHRpbnMpMjEgYiBGbSg6KTE2IGIoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZgorKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOikKK2coOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopNTAKK2IgRnQoNTkpMTUwIDMwMDYgeSBGcig1KTEzNSBiKFNoZWxsKTQ1IGIoViktMTEgYihhcmlhYmxlcykxOQorYiBGbig6KWgoOilnKDopZig6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOikKK2goOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOik2NAorYiBGcig2MSkyNzUgMzE0MyB5IEZ0KDUuMSk5MiBiKEJvdXJuZSkzMCBiKFNoZWxsKWcoViktOAorYihhcmlhYmxlcykyMiBiIEZtKDopMTYgYig6KWcoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloCisoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KQorZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTUxIGIgRnQoNjEpMjc1CiszMjUzIHkoNS4yKTkyIGIoQmFzaCkzMCBiKFYpLTggYihhcmlhYmxlcykxNiBiIEZtKDopaCg6KWYoOilmKDopaCg6KWYKKyg6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopCitmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYKKyg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOik0NiBiIEZ0KDYxKTE1MCAzNDk1IHkKK0ZyKDYpMTM1IGIoQmFzaCk0NCBiKEYpLTExIGIoZWF0dXJlcykxMyBiIEZuKDopMjAgYig6KWcoOilmKDopZyg6KWgoOilmCisoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KQorZig6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KTU4IGIgRnIoNzEpMjc1CiszNjMyIHkgRnQoNi4xKTkyIGIoSW4pbSh2KW0ob2tpbmcpMzEgYihCYXNoKWQgRm0oOikxNgorYig6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnCisoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KQoraCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopNTggYgorRnQoNzEpMjc1IDM3NDIgeSg2LjIpOTIgYihCYXNoKTMwIGIoU3RhcnR1cClnKEZpbGVzKTIwCitiIEZtKDopYyg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KQorZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCisoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOik0OSBiIEZ0KDczKTI3NQorMzg1MSB5KDYuMyk5MiBiKEluKW0odGVyYWN0aXYpbShlKTMyIGIoU2hlbGxzKTExIGIgRm0oOikxNgorYig6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnCisoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KQoraCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KTQxIGIgRnQoNzUpMzk5CiszOTYxIHkoNi4zLjEpOTMgYihXaGF0KTMxIGIoaXMpZihhbiloKEluKW0odGVyYWN0aXYpbShlKWgoU2hlbGw/KTE3CitiIEZtKDopZig6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KQorZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopNDcgYgorRnQoNzUpMzk5IDQwNzEgeSg2LjMuMik5MyBiKElzKTMwIGIodGhpcylnKFNoZWxsKWcoSW4pbSh0ZXJhY3RpdiltKGU/KQorMTQgYiBGbSg6KWsoOillKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcKKyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopCis0NCBiIEZ0KDc1KTM5OSA0MTgwIHkoNi4zLjMpOTMgYihJbiltKHRlcmFjdGl2KW0oZSkzMworYihTaGVsbClkKEJlaGEpbSh2aW9yKTIzIGIgRm0oOikxNyBiKDopZSg6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOikKK2YoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZgorKDopZyg6KWgoOilmKDopaCg6KTUyIGIgRnQoNzUpMjc1IDQyOTAgeSg2LjQpOTIgYihCYXNoKTMwCitiKENvbmRpdGlvbmFsKWgoRXhwcmVzc2lvbnMpMjIgYiBGbSg6KTE0IGIoOilpKDopZig6KWcoOiloKDopZig6KWgoOilmCisoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KQorZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTUxIGIgRnQoNzYpMjc1IDQzOTkgeSg2LjUpOTIKK2IoU2hlbGwpMzAgYihBcml0aG1ldGljKWMgRm0oOikxNSBiKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmCisoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KQorZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCisoOik1NSBiIEZ0KDc4KTI3NSA0NTA5IHkoNi42KTkyIGIoQWxpYXNlcykxMiBiIEZtKDopayg6KWcoOilmKDopaCg6KWYKKyg6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopCitnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYKKyg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KTQyCitiIEZ0KDc5KTI3NSA0NjE5IHkoNi43KTkyIGIoQXJyYSltKHlzKTE3IGIgRm0oOillKDopaCg6KWYoOiloKDopZig6KWcKKyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopCitoKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgKKyg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopNDcKK2IgRnQoODApMjc1IDQ3MjggeSg2LjgpOTIgYihUaGUpMjkgYihEaXJlY3RvcnkpaihTdGFjKW0oayllCitGbSg6KTE1IGIoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYKKyg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopCitnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KTU4IGIgRnQoODEpMzk5IDQ4MzggeSg2LjguMSk5MworYihEaXJlY3RvcnkpMzIgYihTdGFjKW0oaylmKEJ1aWx0aW5zKTE0IGIgRm0oOilpKDopZyg6KWYoOilnKDopaCg6KWYoOikKK2goOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZworKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopNDQgYiBGdCg4MSkyNzUKKzQ5NDcgeSg2LjkpOTIgYihDb24pbSh0cm9sbGluZykzMSBiKHRoZSlnKFByb21wdCkyNCBiCitGbSg6KTE1IGIoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYKKyg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopCitnKDopaCg6KWYoOiloKDopZig6KTU0IGIgRnQoODIpMjc1IDUwNTcgeSg2LjEwKTkyIGIoVGhlKTMwCitiKFJlc3RyaWN0ZWQpaChTaGVsbCkyMyBiIEZtKDopMTYgYig6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZgorKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikKK2goOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOik1MworYiBGdCg4NCkyNzUgNTE2NiB5KDYuMTEpOTIgYihCYXNoKTMxIGIoUE9TSVgpZShNbylzKGRlKTkKK2IgRm0oOikxNSBiKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCisoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KQoraCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopMzggYiBGdCg4NClwIGVvcAorZW5kCiAlJVBhZ2U6IC0zIDUKLVRlWERpY3QgYmVnaW4gLTMgNCBib3AgMzY3NCAtMTE2IGEgRnQoaWlpKTQ0OSA4MyB5KDYuMTApOTIKLWIoVGhlKTMwIGIoUmVzdHJpY3RlZClpKFNoZWxsKTExIGIgRm0oLilrKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKWgoLilmKC4pZyguKWcoLilnKC4pZyguKTQwIGIgRnQoODQpNDQ5IDE5MwoteSg2LjExKTkyIGIoQmFzaCkzMSBiKFBPU0lYKWUoTW8pcyhkZSkxNiBiIEZtKC4pZiguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWcoLilnKC4pZyguKWcoLiloKC4pZiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKQotZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNDUgYgotRnQoODUpMTUwIDQzNSB5IEZyKDcpMTM1IGIoSm9iKTQ1IGIoQ29uKWwodHJvbCkzMiBiIEZuKC4pMjAKLWIoLilmKC4paCguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pZiguKWcoLiloKC4pZgotKC4paCguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWgoLilmKC4paCguKWYoLik3NiBiIEZyKDg5KTQ0OQotNTcyIHkgRnQoNy4xKTkyIGIoSm9iKTMwIGIoQ29uKW0odHJvbCloKEJhc2ljcykyMyBiIEZtKC4pMTYKLWIoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLik1MiBiIEZ0KDg5KTQ0OSA2ODIgeSg3LjIpOTIgYihKb2IpMzAgYihDb24pbSh0cm9sKWgoQnVpbHRpbnMpMTIKLWIgRm0oLilqKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLiloKC4pCi1mKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLik0MSBiIEZ0KDkwKTQ0OSA3OTEgeSg3LjMpOTIgYihKb2IpMzAgYihDb24pbSh0cm9sKWgoViktOAotYihhcmlhYmxlcykzMCBiIEZtKC4pMTUgYiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWgoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKQotZyguKWcoLilnKC4pZyguKTU4IGIgRnQoOTIpMTUwIDEwMzQgeSBGcig4KTEzNSBiKENvbW1hbmQpNDUKLWIoTGluZSlnKEVkaXRpbmcpMzggYiBGbiguKTE5IGIoLiloKC4pZiguKWcoLiloKC4pZiguKWgoLilmKC4paCguKWYoLilnCi0oLiloKC4pZiguKWgoLilmKC4paCguKWYoLiloKC4pODEgYiBGcig5Myk0NDkgMTE3MSB5Ci1GdCg4LjEpOTIgYihJbiltKHRybylzKGR1Y3Rpb24pMzAgYih0byloKExpbmUpZihFZGl0aW5nKTI0Ci1iIEZtKC4pMTUgYiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWgoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLik1MyBiIEZ0KDkzKTQ0OQotMTI4MCB5KDguMik5MiBiKFJlYWRsaW5lKTMxIGIoSW4pbSh0ZXJhY3Rpb24pMTUgYiBGbSguKWkoLillKC4pZyguKWcoLikKLWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWgoLilmKC4pZyguKWcoLilnKC4pZyguKTQ0Ci1iIEZ0KDkzKTc0OCAxMzkwIHkoOC4yLjEpOTMgYihSZWFkbGluZSkzMSBiKEJhcmUpZyhFc3NlbiltKHRpYWxzKTI1Ci1iIEZtKC4pMTYgYiguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNTQgYiBGdCg5Myk3NDggMTQ5OSB5KDguMi4yKTkzCi1iKFJlYWRsaW5lKTMxIGIoTW8pbSh2KW0oZW1lbiltKHQpaChDb21tYW5kcykxMyBiIEZtKC4paCguKWgoLilnKC4pZyguKQotZyguKWgoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNDIgYgotRnQoOTQpNzQ4IDE2MDkgeSg4LjIuMyk5MyBiKFJlYWRsaW5lKTMxIGIoS2lsbGluZylnKENvbW1hbmRzKTIwCi1iIEZtKC4pMTQgYiguKWgoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pNTAgYiBGdCg5NCk3NDggMTcxOSB5KDguMi40KTkzIGIoUmVhZGxpbmUpMzEKLWIoQXJndW1lbiltKHRzKTIzIGIgRm0oLikxNSBiKC4pZyguKWcoLilnKC4pZyguKWcoLiloKC4pZiguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNTMKLWIgRnQoOTUpNzQ4IDE4MjggeSg4LjIuNSk5MyBiKFNlYXJjKW0oaGluZykzMCBiKGZvciloKENvbW1hbmRzKWUoaW4paAotKHRoZSlnKEhpc3RvcnkpYyBGbSguKTE1IGIoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNTQKLWIgRnQoOTUpNDQ5IDE5MzggeSg4LjMpOTIgYihSZWFkbGluZSkzMSBiKEluaXQpZihGaWxlKWYKLUZtKC4pMTUgYiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paCguKWYoLikKLWcoLilnKC4pZyguKWcoLik1NiBiIEZ0KDk2KTc0OCAyMDQ3IHkoOC4zLjEpOTMgYihSZWFkbGluZSkzMQotYihJbml0KWYoRmlsZSloKFN5biltKHRheCkxMiBiIEZtKC4payguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLiloKC4pNDEKLWIgRnQoOTYpNzQ4IDIxNTcgeSg4LjMuMik5MyBiKENvbmRpdGlvbmFsKTMwIGIoSW5pdCloKENvbnN0cnVjdHMpZAotRm0oLikxNSBiKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKTU4IGIgRnQoMTAyKTc0OCAyMjY2IHkoOC4zLjMpOTMgYihTYW1wbGUpMzAKLWIoSW5pdClnKEZpbGUpMjAgYiBGbSguKWMoLilmKC4pZyguKWcoLilnKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLTUwIGIgRnQoMTAzKTQ0OSAyMzc2IHkoOC40KTkyIGIoQmluZGFibGUpMzEgYihSZWFkbGluZSlnKENvbW1hbmRzKTExCi1iIEZtKC4paiguKWgoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKQotZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNDEgYiBGdCgxMDYpNzQ4IDI0ODYKLXkoOC40LjEpOTMgYihDb21tYW5kcykyOSBiKEYpLTggYihvcikzMSBiKE1vKW0odmluZyljCi1GbSguKTE1IGIoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKTU1IGIgRnQoMTA2KTc0OCAyNTk1IHkoOC40LjIpOTMKLWIoQ29tbWFuZHMpMjkgYihGKS04IGIob3IpMzEgYihNYW5pcHVsYXRpbmcpZyhUaGUpZihIaXN0b3J5KTE3Ci1iIEZtKC4pZSguKWcoLilnKC4paCguKWYoLik0NiBiIEZ0KDEwNyk3NDggMjcwNSB5KDguNC4zKTkzCi1iKENvbW1hbmRzKTI5IGIoRiktOCBiKG9yKTMxIGIoQ2hhbmdpbmcpZihUKS04IGIoZXh0KTI5Ci1iIEZtKC4pMTUgYiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pCi01OCBiIEZ0KDEwOCk3NDggMjgxNCB5KDguNC40KTkzIGIoS2lsbGluZykzMSBiKEFuZCllKFkpLTgKLWIoYW5raW5nKTE2IGIgRm0oLilnKC4pZiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pCi1nKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLik0NiBiCi1GdCgxMDkpNzQ4IDI5MjQgeSg4LjQuNSk5MyBiKFNwKXMoZWNpZnlpbmcpMjkgYihOdW1lcmljKWkoQXJndW1lbiltKHRzKQotMjMgYiBGbSguKTE1IGIoLilnKC4pZyguKWgoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pNTMgYiBGdCgxMTApNzQ4IDMwMzQgeSg4LjQuNik5MyBiKExldHRpbmcpMzEgYihSZWFkbGluZSlnKFQpbSh5cClzCi0oZSlmKEYpLTggYihvcikzMSBiKFkpLTggYihvdSkxOCBiIEZtKC4pZSguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLik0OCBiIEZ0KDExMCk3NDggMzE0MyB5KDguNC43KTkzCi1iKEtleWIpcyhvYXJkKTI5IGIoTWFjcm9zKTEwIGIgRm0oLikxNiBiKC4pZiguKWcoLilnKC4pZyguKWcoLilnKC4paCguKQotZiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKTQwIGIgRnQoMTEyKTc0OCAzMjUzIHkoOC40LjgpOTMgYihTb21lKTMwCi1iKE1pc2NlbGxhbmVvdXMpaShDb21tYW5kcykxMiBiIEZtKC4paSguKWgoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWcoLilnKC4pZyguKWcoLik0MiBiIEZ0KDExMik0NDkgMzM2MiB5KDguNSk5MgotYihSZWFkbGluZSkzMSBiKHZpKWYoTW8pcyhkZSljIEZtKC4pMTUgYiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWgoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKTU1IGIgRnQoMTE0KTQ0OQotMzQ3MiB5KDguNik5MiBiKFByb2dyYW1tYWJsZSkzMSBiKENvbXBsZXRpb24pMTIgYiBGbSguKWooLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paCguKWYoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNDEgYiBGdCgxMTUpNDQ5IDM1ODIgeSg4LjcpOTIKLWIoUHJvZ3JhbW1hYmxlKTMxIGIoQ29tcGxldGlvbilnKEJ1aWx0aW5zKTEyIGIgRm0oLilqKC4pZyguKWcoLiloKC4pZgotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNDIKLWIgRnQoMTE2KTE1MCAzODI0IHkgRnIoOSkxMzUgYihVc2luZyk0NSBiKEhpc3RvcnkpaChJbilsKHRlcmFjdGl2KWwKLShlbHkpMTQgYiBGbiguKTIyIGIoLilkKC4paCguKWYoLilnKC4paCguKWYoLiloKC4pZiguKWgoLilmKC4pZyguKWgoLilmCi0oLik1OCBiIEZyKDEyMSk0NDkgMzk2MSB5IEZ0KDkuMSk5MiBiKEJhc2gpMzAgYihIaXN0b3J5KWgoRiktOAotYihhY2lsaXRpZXMpMTEgYiBGbSguKTE5IGIoLiljKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKTQxIGIgRnQoMTIxKTQ0OSA0MDcxIHkoOS4yKTkyIGIoQmFzaCkzMCBiKEhpc3RvcnkpaAotKEJ1aWx0aW5zKTkgYiBGbSguKTE2IGIoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pCi1nKC4paCguKWYoLikzOCBiIEZ0KDEyMSk0NDkgNDE4MCB5KDkuMyk5MiBiKEhpc3RvcnkpMzEKLWIoRXhwYW5zaW9uKWQgRm0oLikxNSBiKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKQotZyguKWcoLilnKC4pZyguKWcoLik1OCBiIEZ0KDEyMyk3NDggNDI5MCB5KDkuMy4xKTkzIGIoRXYpbShlbiltKHQpMzEKLWIoRGVzaWduYXRvcnMpMjEgYiBGbSguKWMoLillKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pNTEKLWIgRnQoMTIzKTc0OCA0Mzk5IHkoOS4zLjIpOTMgYihXKS04IGIob3JkKTMwIGIoRGVzaWduYXRvcnMpZwotRm0oLikxNSBiKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLiloKC4pZiguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKTU4IGIgRnQoMTI0KTc0OAotNDUwOSB5KDkuMy4zKTkzIGIoTW8pcyhkaVwwMTRlcnMpMjcgYiBGbSguKTE1IGIoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pCi1nKC4pZyguKWcoLilnKC4pZyguKWgoLilmKC4pZyguKWcoLilnKC4pZyguKTU3IGIgRnQoMTI1KXAKLWVvcCBlbmQKK1RlWERpY3QgYmVnaW4gLTMgNCBib3AgMzY3NCAtMTE2IGEgRnQoaWlpKTE1MCA4MyB5IEZyKDcpMTM1CitiKEpvYik0NSBiKENvbilsKHRyb2wpMjQgYiBGbig6KWMoOilnKDopZig6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcKKyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopCitmKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KTY5IGIgRnIoODkpMjc1IDIyMCB5CitGdCg3LjEpOTIgYihKb2IpMzAgYihDb24pbSh0cm9sKWgoQmFzaWNzKTE3IGIgRm0oOilmKDopZyg6KWYoOiloKDopZig6KQorZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCisoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KQorZyg6KWgoOilmKDopNDcgYiBGdCg4OSkyNzUgMzMwIHkoNy4yKTkyIGIoSm9iKTMwIGIoQ29uKW0odHJvbCloCisoQnVpbHRpbnMpMjUgYiBGbSg6KTE1IGIoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KQorZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmCisoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KTU1IGIgRnQoOTApMjc1Cis0MzkgeSg3LjMpOTIgYihKb2IpMzAgYihDb24pbSh0cm9sKWgoViktOCBiKGFyaWFibGVzKTE5CitiIEZtKDopZSg6KWUoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KQorZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloCisoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOik0OSBiIEZ0KDkyKTE1MCA2ODIgeSBGcig4KTEzNQorYihDb21tYW5kKTQ1IGIoTGluZSlnKEVkaXRpbmcpMjcgYiBGbig6KTIwIGIoOilnKDopZig6KWgoOilmKDopZyg6KWgoOikKK2YoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KTcyCitiIEZyKDkzKTI3NSA4MTkgeSBGdCg4LjEpOTIgYihJbiltKHRybylzKGR1Y3Rpb24pMzAgYih0byloKExpbmUpZgorKEVkaXRpbmcpZCBGbSg6KTE1IGIoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOikKK2YoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZgorKDopaCg6KWYoOik1NiBiIEZ0KDkzKTI3NSA5MjggeSg4LjIpOTIgYihSZWFkbGluZSkzMQorYihJbiltKHRlcmFjdGlvbik4IGIgRm0oOikxNyBiKDopZSg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaAorKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOikKK2YoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopMzgKK2IgRnQoOTMpMzk5IDEwMzggeSg4LjIuMSk5MyBiKFJlYWRsaW5lKTMxIGIoQmFyZSlnKEVzc2VuKW0odGlhbHMpZAorRm0oOikxNiBiKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloCisoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopNTcKK2IgRnQoOTQpMzk5IDExNDcgeSg4LjIuMik5MyBiKFJlYWRsaW5lKTMxIGIoTW8pbSh2KW0oZW1lbiltKHQpaQorKENvbW1hbmRzKTI3IGIgRm0oOikxNSBiKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOikKK2goOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik1NworYiBGdCg5NCkzOTkgMTI1NyB5KDguMi4zKTkzIGIoUmVhZGxpbmUpMzEgYihLaWxsaW5nKWcoQ29tbWFuZHMpMTkKK2IgRm0oOikxNCBiKDopaSg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCisoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopNDkKK2IgRnQoOTUpMzk5IDEzNjcgeSg4LjIuNCk5MyBiKFJlYWRsaW5lKTMxIGIoQXJndW1lbiltKHRzKTExCitiIEZtKDopMTYgYig6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaAorKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOikKK2YoOilnKDopaCg6KWYoOik0MSBiIEZ0KDk1KTM5OSAxNDc2IHkoOC4yLjUpOTMgYihTZWFyYyltKGhpbmcpMzEKK2IoZm9yKWYoQ29tbWFuZHMpZihpbiloKHRoZSloKEhpc3RvcnkpOSBiIEZtKDopMTYgYig6KWYoOilnKDopaCg6KWYoOiloCisoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOikzOAorYiBGdCg5NSkyNzUgMTU4NiB5KDguMyk5MiBiKFJlYWRsaW5lKTMxIGIoSW5pdClmKEZpbGUpMjMKK2IgRm0oOikxNiBiKDopZyg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnCisoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KQoraCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik1MiBiIEZ0KDk2KTM5OQorMTY5NSB5KDguMy4xKTkzIGIoUmVhZGxpbmUpMzEgYihJbml0KWYoRmlsZSlpKFN5biltKHRheCkxNQorYiBGbSg6KWcoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikKK2goOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik0NAorYiBGdCg5NikzOTkgMTgwNSB5KDguMy4yKTkzIGIoQ29uZGl0aW9uYWwpMzEgYihJbml0KWYoQ29uc3RydWN0cykyNQorYiBGbSg6KTE2IGIoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgKKyg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KTU2CitiIEZ0KDEwMikzOTkgMTkxNCB5KDguMy4zKTkzIGIoU2FtcGxlKTMwIGIoSW5pdClnKEZpbGUpMTIKK2IgRm0oOikxNyBiKDopZSg6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloCisoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KQoraCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KTQyIGIgRnQoMTAzKTI3NSAyMDI0IHkoOC40KTkyCitiKEJpbmRhYmxlKTMwIGIoUmVhZGxpbmUpaChDb21tYW5kcykxMSBiIEZtKDopayg6KWcoOilnKDopaCg6KWYoOiloKDopZgorKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOikKK2coOiloKDopZig6KWgoOilmKDopZyg6KWgoOik0MSBiIEZ0KDEwNikzOTkgMjEzNCB5KDguNC4xKTkzCitiKENvbW1hbmRzKTI5IGIoRiktOCBiKG9yKTMxIGIoTW8pbSh2aW5nKWUgRm0oOikxNiBiKDopZig6KWgoOilmKDopZyg6KQoraCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloCisoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOik1OCBiIEZ0KDEwNikzOTkKKzIyNDMgeSg4LjQuMik5MyBiKENvbW1hbmRzKTI5IGIoRiktOCBiKG9yKTMxIGIoTWFuaXB1bGF0aW5nKWcoVGhlKWYKKyhIaXN0b3J5KTE3IGIgRm0oOilnKDopZSg6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopCitoKDopNDcgYiBGdCgxMDcpMzk5IDIzNTMgeSg4LjQuMyk5MyBiKENvbW1hbmRzKTI5IGIoRiktOAorYihvcikzMSBiKENoYW5naW5nKWYoVCktOCBiKGV4dCkyMSBiIEZtKDopYyg6KWUoOiloKDopZig6KWgoOilmKDopZyg6KWgKKyg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopCis1MSBiIEZ0KDEwOCkzOTkgMjQ2MiB5KDguNC40KTkzIGIoS2lsbGluZykzMSBiKEFuZCllKFkpLTgKK2IoYW5raW5nKTIyIGIgRm0oOikxNyBiKDopZSg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloCisoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KQorZig6KWcoOiloKDopZig6KWgoOik1MiBiIEZ0KDEwOSkzOTkgMjU3MiB5KDguNC41KTkzIGIoU3ApcyhlY2lmeWluZykzMAorYihOdW1lcmljKWcoQXJndW1lbiltKHRzKTE3IGIgRm0oOillKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOikKK2YoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOik0NworYiBGdCgxMTApMzk5IDI2ODIgeSg4LjQuNik5MyBiKExldHRpbmcpMzEgYihSZWFkbGluZSlnKFQpbSh5cClzKGUpZihGKQorLTggYihvcikzMSBiKFkpLTggYihvdSkxMiBiIEZtKDopayg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZworKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopNDIKK2IgRnQoMTEwKTM5OSAyNzkxIHkoOC40LjcpOTMgYihLZXliKXMob2FyZCkyOSBiKE1hY3JvcykyMQorYiBGbSg6KTE2IGIoOilnKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcKKyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopCitoKDopZig6KWgoOilmKDopZyg6KTUxIGIgRnQoMTEyKTM5OSAyOTAxIHkoOC40LjgpOTMgYihTb21lKTMwCitiKE1pc2NlbGxhbmVvdXMpaihDb21tYW5kcykyNCBiIEZtKDopMTUgYig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYKKyg6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik1NQorYiBGdCgxMTIpMjc1IDMwMTAgeSg4LjUpOTIgYihSZWFkbGluZSkzMSBiKHZpKWYoTW8pcyhkZSkyMAorYiBGbSg6KTE1IGIoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcKKyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopCitoKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopNTAgYiBGdCgxMTQpMjc1CiszMTIwIHkoOC42KTkyIGIoUHJvZ3JhbW1hYmxlKTMwIGIoQ29tcGxldGlvbikxNiBiIEZtKDopZyg6KWYoOiloKDopZig6KQoraCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloCisoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOik0NgorYiBGdCgxMTUpMjc1IDMyMzAgeSg4LjcpOTIgYihQcm9ncmFtbWFibGUpMzAgYihDb21wbGV0aW9uKWgoQnVpbHRpbnMpYworRm0oOikxNSBiKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCisoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOik1NiBiIEZ0KDExNykxNTAKKzM0NzIgeSBGcig5KTEzNSBiKFVzaW5nKTQ1IGIoSGlzdG9yeSloKEluKWwodGVyYWN0aXYpbChlbHkpMzkKK2IgRm4oOikxOSBiKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloCisoOik4MCBiIEZyKDEyMSkyNzUgMzYwOSB5IEZ0KDkuMSk5MiBiKEJhc2gpMzAgYihIaXN0b3J5KWgoRiktOAorYihhY2lsaXRpZXMpMjEgYiBGbSg6KWQoOillKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYKKyg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopCitnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KTUxIGIgRnQoMTIxKTI3NSAzNzE5Cit5KDkuMik5MiBiKEJhc2gpMzAgYihIaXN0b3J5KWgoQnVpbHRpbnMpMTkgYiBGbSg6KWQoOilnKDopZig6KWcoOiloKDopZgorKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikKK2goOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik0OQorYiBGdCgxMjEpMjc1IDM4MjggeSg5LjMpOTIgYihIaXN0b3J5KTMxIGIoRXhwYW5zaW9uKTIxCitiIEZtKDopMTUgYig6KWcoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZgorKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOikKK2YoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KTUyIGIgRnQoMTIzKTM5OSAzOTM4Cit5KDkuMy4xKTkzIGIoRXYpbShlbiltKHQpMzEgYihEZXNpZ25hdG9ycykxMCBiIEZtKDopMTgKK2IoOilkKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZworKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOikKK2goOilmKDopaCg6KTQwIGIgRnQoMTIzKTM5OSA0MDQ3IHkoOS4zLjIpOTMgYihXKS04IGIob3JkKTMxCitiKERlc2lnbmF0b3JzKTE3IGIgRm0oOilnKDopZSg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYKKyg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopCitoKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOik0NyBiIEZ0KDEyNCkzOTkgNDE1NworeSg5LjMuMyk5MyBiKE1vKXMoZGlcMDE0ZXJzKTI2IGIgRm0oOikxNiBiKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaAorKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOikKK2goOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaAorKDopZig6KWcoOiloKDopNTcgYiBGdCgxMjUpMTUwIDQzOTkgeSBGcigxMCkxMzUgYihJbnN0YWxsaW5nKTQ2CitiKEJhc2gpMjQgYiBGbig6KWMoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCisoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopaCg6KWYoOik2OAorYiBGcigxMjcpMjc1IDQ1MzYgeSBGdCgxMC4xKTkyIGIoQmFzaWMpMzIgYihJbnN0YWxsYXRpb24pMjAKK2IgRm0oOilkKDopZSg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopCitnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcKKyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopNTAgYiBGdCgxMjcpMjc1IDQ2NDYKK3koMTAuMik5MiBiKENvbXBpbGVycykzMCBiKGFuZClnKE9wdGlvbnMpOCBiIEZtKDopMTUKK2IoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZgorKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOikKK2YoOiloKDopMzggYiBGdCgxMjgpMjc1IDQ3NTUgeSgxMC4zKTkyIGIoQ29tcGlsaW5nKTMwCitiKEYpLTggYihvcikzMiBiKE11bHRpcGxlKWYoQXJjKW0oaGl0ZWN0dXJlcykyMSBiIEZtKDopYyg6KWUoOiloKDopZig6KQoraCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnCisoOik1MiBiIEZ0KDEyOCkyNzUgNDg2NSB5KDEwLjQpOTIgYihJbnN0YWxsYXRpb24pMzIgYihOYW1lcykxMworYiBGbSg6KWooOilnKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOikKK2goOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaAorKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KTQzIGIgRnQoMTI4KTI3NSA0OTc1IHkoMTAuNSk5MgorYihTcClzKGVjaWZ5aW5nKTMwIGIodGhlKWcoU3lzdGVtKWgoVCltKHlwKXMoZSkxMiBiIEZtKDopaig6KWcoOiloKDopZgorKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOikKK2coOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopNDIgYiBGdCgxMjgpMjc1Cis1MDg0IHkoMTAuNik5MiBiKFNoYXJpbmcpMzAgYihEZWZhdWx0cykxNSBiIEZtKDopaSg6KWUoOilnKDopaCg6KWYoOiloCisoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KQoraCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloCisoOilmKDopZyg6KTQ2IGIgRnQoMTI5KTI3NSA1MTk0IHkoMTAuNyk5MiBiKE9wKXMoZXJhdGlvbikzMAorYihDb24pbSh0cm9scykyNCBiIEZtKDopMTYgYig6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOikKK2YoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZgorKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOik1NCBiIEZ0KDEyOSkyNzUKKzUzMDMgeSgxMC44KTkyIGIoT3B0aW9uYWwpMzEgYihGKS04IGIoZWF0dXJlcykxMCBiIEZtKDopMTcKK2IoOillKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaAorKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOikKK2YoOiloKDopZig6KWcoOiloKDopZig6KWgoOik0MCBiIEZ0KDEyOSlwIGVvcCBlbmQKICUlUGFnZTogLTQgNgogVGVYRGljdCBiZWdpbiAtNCA1IGJvcCAxNTAgLTExNiBhIEZ0KGl2KTI1ODkgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgODMgeSBGcigxMCkxMzUgYihJbnN0YWxsaW5nKTQ2Ci1iKEJhc2gpMzAgYiBGbiguKTIwIGIoLilmKC4paCguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWgoLilmKC4paCguKWYKLSguKWcoLiloKC4pZiguKWgoLilmKC4paCguKWYoLilnKC4paCguKWYoLiloKC4pNzQgYiBGcigxMjcpNDQ5Ci0yMjAgeSBGdCgxMC4xKTkyIGIoQmFzaWMpMzIgYihJbnN0YWxsYXRpb24pZCBGbSguKTE1Ci1iKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLiloKC4pZiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pCi01NyBiIEZ0KDEyNyk0NDkgMzMwIHkoMTAuMik5MiBiKENvbXBpbGVycykzMCBiKGFuZClnKE9wdGlvbnMpMjIKLWIgRm0oLikxNSBiKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paCguKTUxCi1iIEZ0KDEyNyk0NDkgNDM5IHkoMTAuMyk5MiBiKENvbXBpbGluZykzMSBiKEYpLTggYihvcikzMQotYihNdWx0aXBsZSlnKEFyYyltKGhpdGVjdHVyZXMpMTIgYiBGbSguKWsoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnCi0oLilnKC4pZyguKWcoLilnKC4pZyguKWgoLilmKC4pZyguKWcoLik0MSBiIEZ0KDEyOCk0NDkKLTU0OSB5KDEwLjQpOTIgYihJbnN0YWxsYXRpb24pMzIgYihOYW1lcykyMiBiIEZtKC4pMTYKLWIoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paCguKWYoLilnKC4pZyguKTUxCi1iIEZ0KDEyOCk0NDkgNjU4IHkoMTAuNSk5MiBiKFNwKXMoZWNpZnlpbmcpMzAgYih0aGUpaChTeXN0ZW0pZihUKW0oeXApcwotKGUpMTEgYiBGbSguKWsoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLik0MSBiIEZ0KDEyOCk0NDkKLTc2OCB5KDEwLjYpOTIgYihTaGFyaW5nKTMwIGIoRGVmYXVsdHMpMjEgYiBGbSguKTE2IGIoLilmKC4pZyguKWcoLilnKC4pCi1nKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcKLSguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLik1MQotYiBGdCgxMjkpNDQ5IDg3OCB5KDEwLjcpOTIgYihPcClzKGVyYXRpb24pMzAgYihDb24pbSh0cm9scykxMgotYiBGbSguKWsoLilmKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZwotKC4pNDEgYiBGdCgxMjkpNDQ5IDk4NyB5KDEwLjgpOTIgYihPcHRpb25hbCkzMSBiKEYpLTgKLWIoZWF0dXJlcykxNyBiIEZtKC4pZyguKWUoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKWcoLilnKC4pNDcgYiBGdCgxMjkpMTUwIDEyMzAgeSBGcihBcHApdChlbmRpeClkKEEpOTkKLWIoUmVwKXQob3J0aW5nKTQ2IGIoQnVncykxMiBiIEZuKC4pMjAgYiguKWYoLilnKC4paCguKWYoLiloKC4pZiguKWgoLilmCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWgoLik1NiBiIEZyKDEzNSkxNTAgMTQ5OSB5KEFwcCl0KGVuZGl4KTQ0Ci1iKEIpMTA1IGIoTWEpNyBiKGpvcik0NiBiKERpXDAxM2VyZW5jZXMpZyhGKS0xMSBiKHJvbSk0NQotYihUaGUpZihCb3VybmUpNDE5IDE2MzIgeShTaGVsbCkxNyBiIEZuKC4paiguKWYoLiloKC4pZiguKWgoLilmKC4pZyguKWgKLSguKWYoLiloKC4pZiguKWgoLilmKC4pZyguKWgoLilmKC4paCguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWgoLilmKC4pCi1oKC4pZiguKWgoLilmKC4pZyguKWgoLilmKC4paCguKWYoLik2MSBiIEZyKDEzNyk0NDkgMTc2OQoteSBGdChCLjEpOTIgYihJbXBsZW1lbiltKHRhdGlvbikzMSBiKERpXDAxM2VyZW5jZXMpaChGKS04Ci1iKHJvbSkzMSBiKFRoZSlmKFNWUjQuMiloKFNoZWxsKTIxIGIgRm0oLikxNSBiKC4pZyguKWcoLilnKC4pNTAKLWIgRnQoMTQxKTE1MCAyMDEyIHkgRnIoQXBwKXQoZW5kaXgpNDQgYihDKTEwNCBiKEdOVSk0NgotYihGKS0xMSBiKHJlZSk0NCBiKERvKXQoY3VtZW4pbCh0YXRpb24paihMaWNlbnNlKTQ1NAotMjE0NCB5IEZuKC4pMTkgYiguKWgoLilmKC4paCguKWYoLilnKC4paCguKWYoLiloKC4pZiguKWgoLilmKC4pZyguKWgoLikKLWYoLiloKC4pZiguKWgoLilmKC4pZyguKWgoLilmKC4paCguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWgoLilmKC4paAotKC4pZiguKWcoLiloKC4pZiguKWgoLilmKC4pNzkgYiBGcigxNDMpMTUwIDI0MTQgeShBcHApdChlbmRpeCk0NAotYihEKTk4IGIoSW5kZXhlcykzNiBiIEZuKC4pMjAgYiguKWYoLilnKC4paCguKWYoLiloKC4pZiguKWgoLilmKC4pZyguKWgKLSguKWYoLiloKC4pZiguKWgoLilmKC4pZyguKWgoLilmKC4paCguKWYoLiloKC4pNzkgYiBGcigxNTEpNDQ5Ci0yNTUxIHkgRnQoRC4xKTkyIGIoSW5kZXgpMjkgYihvZilpKFNoZWxsKWYoQnVpbHRpbiloKENvbW1hbmRzKTIxCi1iIEZtKC4pMTQgYiguKWgoLilnKC4pZyguKWcoLiloKC4pZiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLik1MSBiIEZ0KDE1MSk0NDkgMjY2MSB5KEQuMik5MgotYihJbmRleCkyOSBiKG9mKWkoU2hlbGwpZihSZXNlcnYpbShlZCloKFcpLTggYihvcmRzKTEzCi1iIEZtKC4paiguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKQotZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLik0MyBiIEZ0KDE1Mik0NDkgMjc3MAoteShELjMpOTIgYihQKW0oYXJhbWV0ZXIpMzIgYihhbmQpZChWKS04IGIoYXJpYWJsZSkzMgotYihJbmRleCkyMSBiIEZtKC4pMTUgYiguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLik1MSBiIEZ0KDE1Mik0NDkKLTI4ODAgeShELjQpOTIgYihGKS04IGIodW5jdGlvbikzMSBiKEluZGV4KTE5IGIgRm0oLiljKC4pZyguKWcoLilnKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKWcoLilnKC4paCguKWYoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLik0OQotYiBGdCgxNTQpNDQ5IDI5OTAgeShELjUpOTIgYihDb25jZXB0KTMxIGIoSW5kZXgpOSBiIEZtKC4payguKWooLilmKC4pZwotKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLikKLWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4pZyguKWcoLilnKC4paCguKWYoLilnKC4pZwotKC4pMzggYiBGdCgxNTYpcCBlb3AgZW5kCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgODMgeSBGcihBcHApdChlbmRpeCk0NCBiKEEpMTYwCitiKFJlcCl0KG9ydGluZyk0NiBiKEJ1Z3MpMzUgYiBGbig6KTIwIGIoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZgorKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KTgwIGIgRnIoMTM1KTE1MCAzNTMgeShBcHApdChlbmRpeCk0NAorYihCKTE2NiBiKE1hKTcgYihqb3IpNDUgYihEaVwwMTNlcmVuY2VzKWkoRiktMTEgYihyb20pNDQKK2IoVGhlKTQxOSA0ODYgeShCb3VybmUpZyhTaGVsbCkzNSBiIEZuKDopMTkgYig6KWgoOilmKDopZyg6KWgoOilmKDopaAorKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOikKK2goOilmKDopaCg6KWYoOilnKDopaCg6KWYoOik3OCBiIEZyKDEzNykyNzUgNjIzIHkgRnQoQi4xKTkyCitiKEltcGxlbWVuKW0odGF0aW9uKTMxIGIoRGlcMDEzZXJlbmNlcyloKEYpLTggYihyb20pMzEKK2IoVGhlKWUoU1ZSNC4yKWooU2hlbGwpMTMgYiBGbSg6KWkoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KTQzCitiIEZ0KDE0MSkxNTAgODY1IHkgRnIoQXBwKXQoZW5kaXgpaChDKTE2NSBiKEdOVSk0NSBiKEYpLTExCitiKHJlZSk0NSBiKERvKXQoY3VtZW4pbCh0YXRpb24paChMaWNlbnNlKTQzOSA5OTggeSBGbig6KTE5CitiKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgKKyg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopCitoKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KTY0IGIgRnIoMTQzKTE1MAorMTI2OCB5KEFwcCl0KGVuZGl4KTQ0IGIoRCkxNTkgYihJbmRleGVzKTE1IGIgRm4oOikyMAorYig6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmCisoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KTU5IGIgRnIoMTUxKTI3NSAxNDA1Cit5IEZ0KEQuMSk5MiBiKEluZGV4KTI5IGIob2YpaShTaGVsbClmKEJ1aWx0aW4paChDb21tYW5kcykxNgorYiBGbSg6KWUoOilpKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikKK2goOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopNDYgYiBGdCgxNTEpMjc1CisxNTE0IHkoRC4yKTkyIGIoSW5kZXgpMjkgYihvZilpKFNoZWxsKWYoUmVzZXJ2KW0oZWQpaChXKS04CitiKG9yZHMpMTIgYiBGbSg6KWooOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloCisoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopNDIKK2IgRnQoMTUyKTI3NSAxNjI0IHkoRC4zKTkyIGIoUCltKGFyYW1ldGVyKTMxIGIoYW5kKWYoViktOAorYihhcmlhYmxlKTMyIGIoSW5kZXgpMjAgYiBGbSg6KTE0IGIoOilpKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYKKyg6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopCitmKDopaCg6KWYoOik1MCBiIEZ0KDE1MikyNzUgMTczMyB5KEQuNCk5MiBiKEYpLTggYih1bmN0aW9uKTMxCitiKEluZGV4KTE2IGIgRm0oOilmKDopZyg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZgorKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOikKK2YoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopNDcKK2IgRnQoMTU0KTI3NSAxODQzIHkoRC41KTkyIGIoQ29uY2VwdCkzMCBiKEluZGV4KWQgRm0oOikxNQorYig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloCisoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KQorZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTU3IGIgRnQoMTU2KXAKK2VvcCBlbmQKICUlUGFnZTogMSA3CiBUZVhEaWN0IGJlZ2luIDEgNiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoMTopNDEKIGIoSW4pbSh0cm8pcyhkdWN0aW9uKTI1OTIgYigxKTE1MCAyOTkgeSBGbygxKTgwIGIoSW4pbCh0cm8pdChkdWN0aW9uKQotMTUwIDY3NSB5IEZyKDEuMSk2OCBiKFdoYXQpNDUgYihpcylnKEJhc2g/KTI3NSA5MjMgeQotRnQoQmFzaCkyOSBiKGlzKWgodGhlKWYoc2hlbGwsKWkob3IpZShjb21tYW5kKWcobGFuZ3VhZ2UpaShpbiltCi0odGVycHJldGVyLClnKGZvcillKHRoZSloIEZsKGdudSlmIEZ0KG9wKXMoZXJhdGluZyloKHN5c3RlbS4pNDAKLWIoVGhlKTE1MCAxMDMzIHkobmFtZSkzMyBiKGlzKWcoYW4pZyhhY3JvbiltKHltKWcoZm9yKWcodGhlKWcoYClwCisxNTAgNjAyIHkgRnIoMS4xKTY4IGIoV2hhdCk0NSBiKGlzKWcoQmFzaD8pMTUwIDc2MiB5CitGdChCYXNoKTM4IGIoaXMpZyh0aGUpZyhzaGVsbCwpaShvcilkKGNvbW1hbmQpaChsYW5ndWFnZSloKGluKW0KKyh0ZXJwcmV0ZXIsKWgoZm9yKWUodGhlKWcgRmwoZ251KWYgRnQob3ApcyhlcmF0aW5nKWgoc3lzdGVtLik2MworYihUaGUpMTUwIDg3MSB5KG5hbWUpMzMgYihpcylnKGFuKWcoYWNyb24pbSh5bSlnKGZvcilnKHRoZSlnKGApcAogRnMoQm91cm5lLUFnYWluKTI3IGIoU0hlbGwpcCBGdCgnLCkzMiBiKGEpaShwdW4pZChvbilpKFN0ZXBoZW4pZgotKEJvdXJuZSwpaCh0aGUpZyhhdXRob3IpMTUwIDExNDIgeShvZilmKHRoZSlmKGRpcmVjdCloKGFuY2VzdG9yKWgob2YpZQorKEJvdXJuZSwpaCh0aGUpZyhhdXRob3IpMTUwIDk4MSB5KG9mKWYodGhlKWYoZGlyZWN0KWgoYW5jZXN0b3IpaChvZillCiAodGhlKWgoY3VycmVuKW0odClmKFVuaXgpZyhzaGVsbCloIEZzKHNoKXAgRnQoLClmKHdoaWMpbShoKWcoYXBwKXMKLShlYXJlZClnKGluKWcodGhlKWgoU2V2KW0oZW4pbSh0aClnKEVkaXRpb24pMTUwIDEyNTIKKyhlYXJlZClnKGluKWcodGhlKWgoU2V2KW0oZW4pbSh0aClnKEVkaXRpb24pMTUwIDEwOTEKIHkoQmVsbClnKExhYnMpZShSZXNlYXJjKW0oaCloKHYpbShlcnNpb24pZyhvZilmKFVuaXguKTI3NQotMTM5MSB5KEJhc2gpZihpcylnKGxhcmdlbHkpaShjb21wYXRpYmxlKWYod2l0aClmIEZzKHNoKWcKKzEyMjAgeShCYXNoKWYoaXMpZyhsYXJnZWx5KWkoY29tcGF0aWJsZSlmKHdpdGgpZiBGcyhzaClnCiBGdChhbmQpZyhpbmNvcnApcyhvcmF0ZXMpZyh1c2VmdWwpZyhmZWF0dXJlcylnKGZyb20pZyh0aGUpZyhLb3JuKWcKLShzaGVsbCkxNTAgMTUwMCB5IEZzKGtzaCkzNyBiIEZ0KGFuZCloKHRoZSlnKEMpZyhzaGVsbClnCisoc2hlbGwpMTUwIDEzMzAgeSBGcyhrc2gpMzcgYiBGdChhbmQpaCh0aGUpZyhDKWcoc2hlbGwpZwogRnMoY3NoKXAgRnQoLik2NCBiKEl0KTM4IGIoaXMpZyhpbiltKHRlbmRlZClnKHRvKWgoYilzKGUpZihhKWcKIChjb25mb3JtYW4pbSh0KWgoaW1wbGVtZW4pbSh0YXRpb24paChvZillKHRoZSlnIEZsKGllZWUpMTUwCi0xNjEwIHkocG9zaXgpYyBGdChTaGVsbClnKGFuZClnKFQpLTggYihvKXMob2xzKTM1IGIocClzKG9ydGlvbilmKG9mKWcKKzE0MzkgeShwb3NpeCljIEZ0KFNoZWxsKWcoYW5kKWcoVCktOCBiKG8pcyhvbHMpMzUgYihwKXMob3J0aW9uKWYob2YpZwogKHRoZSloIEZsKGllZWUpZihwb3NpeClmIEZ0KHNwKXMoZWNpXDAxNGNhdGlvbilqKFwoKXAKLUZsKGllZWUpZSBGdChTdGFuZGFyZClmKDEwMDMuMVwpLik1NiBiKEl0KTE1MCAxNzE5IHkob1wwMTNlcnMpMzEKK0ZsKGllZWUpZSBGdChTdGFuZGFyZClmKDEwMDMuMVwpLik1NiBiKEl0KTE1MCAxNTQ5IHkob1wwMTNlcnMpMzEKIGIoZnVuY3Rpb25hbClmKGltcHJvKW0odiltKGVtZW4pbSh0cylpKG8pbSh2KW0oZXIpZyBGcyhzaClkCiBGdChmb3IpaShiKXMob3RoKWUoaW4pbSh0ZXJhY3RpdiltKGUpayhhbmQpZChwcm9ncmFtbWluZylnKHVzZS4pMjc1Ci0xODU4IHkoV2hpbGUpaCh0aGUpZyBGbChnbnUpZiBGdChvcClzKGVyYXRpbmcpaChzeXN0ZW0pZyhwcm8pbSh2aWRlcylmCisxNjc5IHkoV2hpbGUpaCh0aGUpZyBGbChnbnUpZiBGdChvcClzKGVyYXRpbmcpaChzeXN0ZW0pZyhwcm8pbSh2aWRlcylmCiAob3RoZXIpaChzaGVsbHMsKWcoaW5jbHVkaW5nKWYoYSloKHYpbShlcnNpb24pZyhvZilnCi1Gcyhjc2gpcCBGdCgsKWYoQmFzaCkxNTAgMTk2OCB5KGlzKWoodGhlKWgoZGVmYXVsdClmKHNoZWxsLik0OQorRnMoY3NoKXAgRnQoLClmKEJhc2gpMTUwIDE3ODggeShpcylqKHRoZSloKGRlZmF1bHQpZihzaGVsbC4pNDkKIGIoTGlrKW0oZSkzNCBiKG90aGVyKWcgRmwoZ251KWYgRnQoc29mdCltKHcpbShhcmUsKWkoQmFzaClmKGlzKWYocXVpdGUpCiBoKHApcyhvcnRhYmxlLik0OSBiKEl0KTMzIGIoY3VycmVuKW0odGx5KWcocnVucylmKG9uKTE1MAotMjA3NyB5KG5lYXJseSljKGV2KW0oZXJ5KWcodiltKGVyc2lvbilnKG9mKWYoVW5peCloKGFuZCllKGEpaShmZXcpZgorMTg5OCB5KG5lYXJseSljKGV2KW0oZXJ5KWcodiltKGVyc2lvbilnKG9mKWYoVW5peCloKGFuZCllKGEpaShmZXcpZgogKG90aGVyKWgob3ApcyhlcmF0aW5nKWcoc3lzdGVtcylmIEZwKFwwMDApZyBGdChpbmRlcClzKGVuZGVuKW0KLSh0bHktc3VwcClzKG9ydGVkKTE1MCAyMTg3IHkocClzKG9ydHMpaihleGlzdCloKGZvcilmCisodGx5LXN1cHApcyhvcnRlZCkxNTAgMjAwOCB5KHApcyhvcnRzKWooZXhpc3QpaChmb3IpZgogRmwobXMtZG9zKXAgRnQoLClmIEZsKG9zLzIpcCBGdCgsKWkoYW5kKWYoV2luZG8pbSh3cylnKHBsYXRmb3Jtcy4pMTUwCi0yNDU1IHkgRnIoMS4yKTY4IGIoV2hhdCk0NSBiKGlzKWcoYSloKHNoZWxsPykyNzUgMjcwMwoteSBGdChBKW0odCk0MSBiKGl0cylmKGJhc2UsKWooYSllKHNoZWxsKWYoaXMpZyhzaW1wbHkpZyhhKWgobWFjcm8pZgotKHBybylzKGNlc3NvcilnKHRoYXQpaChleGVjdXRlcylnKGNvbW1hbmRzLik3MCBiKFRoZSk0MAotYih0ZXJtKTE1MCAyODEzIHkobWFjcm8pMjkgYihwcm8pcyhjZXNzb3IpZihtZWFucylnKGZ1bmN0aW9uYWxpdCltKHkpaQotKHdoZXJlKWUodGV4dClpKGFuZCllKHN5bSltKGIpcyhvbHMpZyhhcmUpZyhleHBhbmRlZClnKHRvKWgoY3JlYXRlKWgKLShsYXJnZXIpMTUwIDI5MjIgeShleHByZXNzaW9ucy4pMjc1IDMwNjEgeShBKWsoVW5peCloKHNoZWxsKWcoaXMpZihiKXMKLShvdGgpZyhhKWgoY29tbWFuZClnKGluKW0odGVycHJldGVyKWcoYW5kKWYoYSloKHByb2dyYW1taW5nKWYKLShsYW5ndWFnZS4pNTUgYihBcykzNSBiKGEpZyhjb20tKTE1MCAzMTcwIHkobWFuZCkzMCBiKGluKW0odGVycHJldGVyLClpCisyMjMxIHkgRnIoMS4yKTY4IGIoV2hhdCk0NSBiKGlzKWcoYSloKHNoZWxsPykxNTAgMjM5MAoreSBGdChBKW0odCkzMiBiKGl0cylmKGJhc2UsKWgoYSlmKHNoZWxsKWcoaXMpaChzaW1wbHkpZShhKWgobWFjcm8paAorKHBybylzKGNlc3NvcilmKHRoYXQpZyhleGVjdXRlcylpKGNvbW1hbmRzLik0MiBiKFRoZSkzMAorYih0ZXJtKWgobWFjcm8pMTUwIDI1MDAgeShwcm8pcyhjZXNzb3IpMjUgYihtZWFucylnKGZ1bmN0aW9uYWxpdCltKHkpaQorKHdoZXJlKWQodGV4dClqKGFuZClkKHN5bSltKGIpcyhvbHMpaChhcmUpaChleHBhbmRlZCllKHRvKWkoY3JlYXRlKWgKKyhsYXJnZXIpZihleHByZXMtKTE1MCAyNjA5IHkoc2lvbnMuKTI3NSAyNzM5IHkoQSkzNCBiKFVuaXgpaChzaGVsbClnCisoaXMpZihiKXMob3RoKWcoYSloKGNvbW1hbmQpZyhpbiltKHRlcnByZXRlcilnKGFuZClmKGEpaChwcm9ncmFtbWluZylmCisobGFuZ3VhZ2UuKTU1IGIoQXMpMzUgYihhKWcoY29tLSkxNTAgMjg0OCB5KG1hbmQpMzAgYihpbiltKHRlcnByZXRlciwpaQogKHRoZSlnKHNoZWxsKWYocHJvKW0odmlkZXMpZyh0aGUpaCh1c2VyKWUoaW4pbSh0ZXJmYWNlKWoodG8pZih0aGUpZgogKHJpYyltKGgpaChzZXQpZyhvZilmIEZsKGdudSlnIEZ0KHV0aWxpdGllcy4pNDQgYihUaGUpMTUwCi0zMjgwIHkocHJvZ3JhbW1pbmcpMzAgYihsYW5ndWFnZSloKGZlYXR1cmVzKWYoYWxsbyltKHcpaCh0aGVzZSlnCisyOTU4IHkocHJvZ3JhbW1pbmcpMzAgYihsYW5ndWFnZSloKGZlYXR1cmVzKWYoYWxsbyltKHcpaCh0aGVzZSlnCiAodXRpbGl0aWVzKWcodG8pZyhiKXMoZSllKGNvbSltKGJpbmVkLik0MSBiKEZpbGVzKTMxCi1iKGNvbiltKHRhaW5pbmcpZyhjb20tKTE1MCAzMzkwIHkobWFuZHMpZShjYW4paShiKXMoZSllKGNyZWF0ZWQsKWooYW5kKQorYihjb24pbSh0YWluaW5nKWcoY29tLSkxNTAgMzA2OCB5KG1hbmRzKWUoY2FuKWkoYilzKGUpZShjcmVhdGVkLClqKGFuZCkKIGQoYilzKGVjb21lKWkoY29tbWFuZHMpZih0aGVtc2VsdiltKGVzLik0MiBiKFRoZXNlKTMwCi1iKG5ldylmKGNvbW1hbmRzKWgoaGEpbSh2KW0oZSlpKHRoZSkxNTAgMzQ5OSB5KHNhbWUpZihzdGF0dXMpaChhcylmCitiKG5ldylmKGNvbW1hbmRzKWgoaGEpbSh2KW0oZSlpKHRoZSkxNTAgMzE3NyB5KHNhbWUpZihzdGF0dXMpaChhcylmCiAoc3lzdGVtKWcoY29tbWFuZHMpZyhpbilnKGRpcmVjdG9yaWVzKWgoc3VjKW0oaClmKGFzKWcoYClwCiBGcygvYmluKXAgRnQoJywpZyhhbGxvKW0od2luZylpKHVzZXJzKWQob3IpaChncm91cHMpZih0bykxNTAKLTM2MDkgeShlc3RhYmxpc2gpaChjdXN0b20pZihlbiltKHZpcm9ubWVuKW0odHMpaCh0bylnKGF1dG9tYXRlKWgodGhlaXIpCi1mKGNvbW1vbilmKHRhc2tzLikyNzUgMzc0OCB5KFNoZWxscylqKG1hKW0oeSloKGIpcyhlKWYodXNlZClnKGluKW0KKzMyODcgeShlc3RhYmxpc2gpaChjdXN0b20pZihlbiltKHZpcm9ubWVuKW0odHMpaCh0bylnKGF1dG9tYXRlKWgodGhlaXIpCitmKGNvbW1vbilmKHRhc2tzLikyNzUgMzQxNyB5KFNoZWxscylqKG1hKW0oeSloKGIpcyhlKWYodXNlZClnKGluKW0KICh0ZXJhY3RpdiltKGVseSlrKG9yKWQobm9uLWluKW0odGVyYWN0aXYpbShlbHkpLTggYiguKTU0CiBiKEluKTMzIGIoaW4pbSh0ZXJhY3RpdiltKGUpaihtbylzKGRlLClmKHRoZXkpZShhY2NlcHQpMTUwCi0zODU3IHkoaW5wdXQpMjEgYih0KW0oeXApcyhlZCloKGZyb20pZyh0aGUpaChrKW0oZXliKXMob2FyZC4pMzcKKzM1MjYgeShpbnB1dCkyMSBiKHQpbSh5cClzKGVkKWgoZnJvbSlnKHRoZSloKGspbShleWIpcyhvYXJkLikzNwogYihXaGVuKTIyIGIoZXhlY3V0aW5nKWkobm9uLWluKW0odGVyYWN0aXYpbShlbHkpLTggYigsKTI3Ci1iKHNoZWxscyljKGV4ZWN1dGUpZyhjb21tYW5kcykxNTAgMzk2NyB5KHJlYWQpMzAgYihmcm9tKWcoYSloKFwwMTRsZS4pCi0yNzUgNDEwNSB5KEEpNDEgYihzaGVsbClnKGFsbG8pbSh3cyloKGV4ZWN1dGlvbiloKG9mKWUKK2Ioc2hlbGxzKWMoZXhlY3V0ZSlnKGNvbW1hbmRzKTE1MCAzNjM2IHkocmVhZCkzMCBiKGZyb20pZyhhKWgoXDAxNGxlLikKKzI3NSAzNzY1IHkoQSk0MSBiKHNoZWxsKWcoYWxsbyltKHdzKWgoZXhlY3V0aW9uKWgob2YpZQogRmwoZ251KWcgRnQoY29tbWFuZHMsKWkoYilzKG90aCllKHN5bmMpbShocm9ub3VzbHkpZihhbmQpaChhc3luYyltCi0oaHJvbm91c2x5KS04IGIoLikxNTAgNDIxNSB5KFRoZSkyOSBiKHNoZWxsKWcodyltKGFpdHMpaShmb3IpZShzeW5jKW0KKyhocm9ub3VzbHkpLTggYiguKTE1MCAzODc1IHkoVGhlKTI5IGIoc2hlbGwpZyh3KW0oYWl0cylpKGZvcillKHN5bmMpbQogKGhyb25vdXMpZihjb21tYW5kcyloKHRvKWgoY29tcGxldGUpaChiKXMoZWZvcmUpZShhY2NlcHRpbmcpaShtb3JlKWUKLShpbnB1dDspZyhhc3luLSkxNTAgNDMyNSB5KGMpbShocm9ub3VzKTIyIGIoY29tbWFuZHMpaChjb24pbSh0aW4pbSh1ZSloCisoaW5wdXQ7KWcoYXN5bi0pMTUwIDM5ODUgeShjKW0oaHJvbm91cykyMiBiKGNvbW1hbmRzKWgoY29uKW0odGluKW0odWUpaAogKHRvKWYoZXhlY3V0ZSloKGluKWUocGFyYWxsZWwpaSh3aXRoKWYodGhlKWYoc2hlbGwpaCh3aGlsZSlnKGl0KWcKLShyZWFkcylnKGFuZClmKGV4ZWN1dGVzKTE1MCA0NDM0IHkoYWRkaXRpb25hbCkzNSBiKGNvbW1hbmRzLik1MAorKHJlYWRzKWcoYW5kKWYoZXhlY3V0ZXMpMTUwIDQwOTQgeShhZGRpdGlvbmFsKTM1IGIoY29tbWFuZHMuKTUwCiBiKFRoZSkzMyBiIEZxKHJlZGlyZWN0aW9uKWggRnQoY29uc3RydWN0cylnKHApcyhlcm1pdClmKFwwMTRuZS1ncmFpbmVkKQotZyhjb24pbSh0cm9sKWkob2YpZih0aGUpZyhpbnB1dCkxNTAgNDU0NCB5KGFuZCk0MCBiKG91dHB1dClmKG9mKWkKK2coY29uKW0odHJvbClpKG9mKWYodGhlKWcoaW5wdXQpMTUwIDQyMDQgeShhbmQpNDAgYihvdXRwdXQpZihvZilpCiAodGhvc2UpZihjb21tYW5kcy4pNzAgYihNb3JlbyltKHYpbShlciwpNDUgYih0aGUpYyhzaGVsbClmKGFsbG8pbSh3cyloCiAoY29uKW0odHJvbCloKG8pbSh2KW0oZXIpZyh0aGUpZShjb24pbSh0ZW4pbSh0cylpKG9mKTE1MAotNDY1MyB5KGNvbW1hbmRzJykzMCBiKGVuKW0odmlyb25tZW4pbSh0cy4pMjc1IDQ3OTIgeShTaGVsbHMpayhhbHNvKWkKKzQzMTMgeShjb21tYW5kcycpMzAgYihlbiltKHZpcm9ubWVuKW0odHMuKTI3NSA0NDQzIHkoU2hlbGxzKWsoYWxzbylpCiAocHJvKW0odmlkZSlnKGEpZihzbWFsbCloKHNldClmKG9mKWcoYnVpbHQtaW4pZyhjb21tYW5kcylnKFwoKXAKIEZxKGJ1aWx0aW5zKXQgRnQoXCkpZyhpbXBsZW1lbiltKHRpbmcpaChmdW5jdGlvbi0pMTUwCi00OTAyIHkoYWxpdCltKHkpaShpbXApcyhvc3NpYmxlKWUob3IpZyhpbmNvbiltKHYpbShlbmllbiltKHQpaih0byllCis0NTUzIHkoYWxpdCltKHkpaShpbXApcyhvc3NpYmxlKWUob3IpZyhpbmNvbiltKHYpbShlbmllbiltKHQpaih0byllCiAob2J0YWluKWcodmlhKWcoc2VwYXJhdGUpZyh1dGlsaXRpZXMuKTYxIGIoRiktOCBiKG9yKTM3Ci1iKGV4YW1wbGUsKWkgRnMoY2QpcCBGdCgsKWUgRnMoYnJlYWspcCBGdCgsKTE1MCA1MDExCitiKGV4YW1wbGUsKWkgRnMoY2QpcCBGdCgsKWUgRnMoYnJlYWspcCBGdCgsKTE1MCA0NjYyCiB5IEZzKGNvbnRpbnVlKXAgRnQoLCk0MyBiKGFuZClmIEZzKGV4ZWMpcCBGdChcKSlnKGNhbm5vdCloKGIpcyhlKWUKIChpbXBsZW1lbiltKHRlZClpKG91dHNpZGUpZyhvZilmKHRoZSloKHNoZWxsKWYoYilzKGVjYXVzZSloKHRoZXkpZgotKGRpcmVjdGx5KTE1MCA1MTIxIHkobWFuaXB1bGF0ZSkzNyBiKHRoZSlnKHNoZWxsKWYoaXRzZWxmLik2MQorKGRpcmVjdGx5KTE1MCA0NzcyIHkobWFuaXB1bGF0ZSkzNyBiKHRoZSlnKHNoZWxsKWYoaXRzZWxmLik2MQogYihUaGUpMzYgYiBGcyhoaXN0b3J5KXAgRnQoLClnIEZzKGdldG9wdHMpcCBGdCgsKWcgRnMoa2lsbClwCiBGdCgsKWgob3IpZyBGcyhwd2QpZiBGdChidWlsdGlucywpaChhbW9uZyloKG90aGVycywpMTUwCi01MjMwIHkoY291bGQpMzMgYihiKXMoZSlmKGltcGxlbWVuKW0odGVkKWgoaW4pZyhzZXBhcmF0ZSlnKHV0aWxpdGllcywpaQorNDg4MSB5KGNvdWxkKTMzIGIoYilzKGUpZihpbXBsZW1lbiltKHRlZCloKGluKWcoc2VwYXJhdGUpZyh1dGlsaXRpZXMsKWkKIChidXQpZCh0aGV5KWgoYXJlKWgobW9yZSlmKGNvbiltKHYpbShlbmllbiltKHQpaCh0bylnKHVzZSllKGFzKWgKLShidWlsdGluKTE1MCA1MzQwIHkoY29tbWFuZHMuKTQwIGIoQWxsKTMxIGIob2YpZyh0aGUpZihzaGVsbCloCi0oYnVpbHRpbnMpZihhcmUpaChkZXNjcmliKXMoZWQpZShpbiloKHN1YnNlcXVlbiltKHQpZyhzZWN0aW9ucy4pcAotZW9wIGVuZAorKGJ1aWx0aW4pMTUwIDQ5OTEgeShjb21tYW5kcy4pNDAgYihBbGwpMzEgYihvZilnKHRoZSlmKHNoZWxsKWgKKyhidWlsdGlucylmKGFyZSloKGRlc2NyaWIpcyhlZCllKGluKWgoc3Vic2VxdWVuKW0odClnKHNlY3Rpb25zLikyNzUKKzUxMjEgeShXaGlsZSkzOSBiKGV4ZWN1dGluZyloKGNvbW1hbmRzKWUoaXMpZyhlc3NlbiltKHRpYWwsKTQzCitiKG1vc3QpYyhvZilnKHRoZSlnKHApcyhvKW0odyltKGVyKWYoXChhbmQpZyhjb21wbGV4aXQpbSh5XCkpaihvZillCisoc2hlbGxzKTE1MCA1MjMwIHkoaXMpMzQgYihkdWUpZih0bylpKHRoZWlyKWYoZW0pbShiKXMoZWRkZWQpZgorKHByb2dyYW1taW5nKWgobGFuZ3VhZ2VzLik1MiBiKExpayltKGUpMzUgYihhbiltKHkpZihoaWdoLWxldiltKGVsKWkKKyhsYW5ndWFnZSwpaCh0aGUpZChzaGVsbCkxNTAgNTM0MCB5KHBybyltKHZpZGVzKWModiktNQorYihhcmlhYmxlcywpMzIgYihcMDE1byltKHcpZShjb24pbSh0cm9sKWkoY29uc3RydWN0cywpZihxdW90aW5nLClnKGFuZCkKK2YoZnVuY3Rpb25zLilwIGVvcCBlbmQKICUlUGFnZTogMiA4CiBUZVhEaWN0IGJlZ2luIDIgNyBib3AgMTUwIC0xMTYgYSBGdCgyKTI2MTcgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkyNzUgMjk5IHkoV2hpbGUpMzkgYihleGVjdXRpbmcpaChjb21tYW5kcyllKGlzKQotZyhlc3NlbiltKHRpYWwsKTQzIGIobW9zdCljKG9mKWcodGhlKWcocClzKG8pbSh3KW0oZXIpZihcKGFuZClnCi0oY29tcGxleGl0KW0oeVwpKWoob2YpZShzaGVsbHMpMTUwIDQwOCB5KGlzKTM0IGIoZHVlKWYodG8paSh0aGVpcilmKGVtKQotbShiKXMoZWRkZWQpZihwcm9ncmFtbWluZyloKGxhbmd1YWdlcy4pNTIgYihMaWspbShlKTM1Ci1iKGFuKW0oeSlmKGhpZ2gtbGV2KW0oZWwpaShsYW5ndWFnZSwpaCh0aGUpZChzaGVsbCkxNTAKLTUxOCB5KHBybyltKHZpZGVzKWModiktNSBiKGFyaWFibGVzLCkzMiBiKFwwMTVvKW0odyllKGNvbiltKHRyb2wpaQotKGNvbnN0cnVjdHMsKWYocXVvdGluZywpZyhhbmQpZihmdW5jdGlvbnMuKTI3NSA2NTMgeShTaGVsbHMpMjEKLWIob1wwMTNlcilpKGZlYXR1cmVzKWYoZ2VhcmVkKWgoc3ApcyhlY2lcMDE0Y2FsbHkpZyhmb3IpZihpbiltCi0odGVyYWN0aXYpbShlKWoodXNlKWQocmF0aGVyKWcodGhhbilnKHRvKWgoYXVnbWVuKW0odClnKHRoZSlmKHByby0pMTUwCi03NjIgeShncmFtbWluZykzMiBiKGxhbmd1YWdlLik0OCBiKFRoZXNlKTMyIGIoaW4pbSh0ZXJhY3RpdiltKGUpagotKGZlYXR1cmVzKWQoaW5jbHVkZSlnKGpvYilnKGNvbiltKHRyb2wsKWooY29tbWFuZCljKGxpbmUpaShlZGl0aW5nLCkxNTAKLTg3MiB5KGNvbW1hbmQpZChoaXN0b3J5KWcoYW5kKWcoYWxpYXNlcy4pNDIgYihFYWMpbShoKTMxCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkyNzUgMjk5IHkoU2hlbGxzKTIxIGIob1wwMTNlcilpKGZlYXR1cmVzKWYKKyhnZWFyZWQpaChzcClzKGVjaVwwMTRjYWxseSlnKGZvcilmKGluKW0odGVyYWN0aXYpbShlKWoodXNlKWQocmF0aGVyKWcKKyh0aGFuKWcodG8paChhdWdtZW4pbSh0KWcodGhlKWYocHJvLSkxNTAgNDA4IHkoZ3JhbW1pbmcpMzIKK2IobGFuZ3VhZ2UuKTQ4IGIoVGhlc2UpMzIgYihpbiltKHRlcmFjdGl2KW0oZSlqKGZlYXR1cmVzKWQoaW5jbHVkZSlnCisoam9iKWcoY29uKW0odHJvbCwpaihjb21tYW5kKWMobGluZSlpKGVkaXRpbmcsKTE1MCA1MTgKK3koY29tbWFuZClkKGhpc3RvcnkpZyhhbmQpZyhhbGlhc2VzLik0MiBiKEVhYyltKGgpMzEKIGIob2YpZyh0aGVzZSlnKGZlYXR1cmVzKWYoaXMpaChkZXNjcmliKXMoZWQpZShpbiloKHRoaXMpZyhtYW4pbSh1YWwuKXAKIGVvcCBlbmQKICUlUGFnZTogMyA5CiBUZVhEaWN0IGJlZ2luIDMgOCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoMjopNDEKLWIoRGVcMDE0bml0aW9ucykyNjYyIGIoMykxNTAgMjk5IHkgRm8oMik4MCBiKERlXDAxNG5pdGlvbnMpMjc1Ci01NTIgeSBGdChUaGVzZSkzMCBiKGRlXDAxNG5pdGlvbnMpZyhhcmUpZyh1c2VkKWcodGhyb3VnaG91dClnKHRoZSlnCi0ocmVtYWluZGVyKWcob2YpaCh0aGlzKWYobWFuKW0odWFsLikxNTAgNzIwIHkgRnMoUE9TSVgpMjQwCitiKERlXDAxNG5pdGlvbnMpMjY2MiBiKDMpMTUwIDI5OSB5IEZvKDIpODAgYihEZVwwMTRuaXRpb25zKTE1MAorNTUyIHkgRnQoVGhlc2UpMzAgYihkZVwwMTRuaXRpb25zKWcoYXJlKWgodXNlZCllKHRocm91Z2hvdXQpaCh0aGUpaAorKHJlbWFpbmRlcilmKG9mKWcodGhpcyloKG1hbiltKHVhbC4pMTUwIDcyMCB5IEZzKFBPU0lYKTI0MAogYiBGdChBKTI3IGIoZmFtaWx5KWcob2YpZyhvcClzKGVuKWYoc3lzdGVtKWcoc3RhbmRhcmRzKWcoYmFzZWQpZyhvbiloCiAoVW5peC4pMzkgYihCYXNoKTI3IGIoaXMpZyhwcmltYXJpbHkpZihjb25jZXJuZWQpNjMwCiA4MzAgeSh3aXRoKWsodGhlKWgoU2hlbGwpZihhbmQpZyhVdGlsaXRpZXMpaShwKXMob3J0aW9uKWUob2YpaCh0aGUpZgpAQCAtNTE3MCw0NzI2ICs1MDE2LDQ4MTEgQEAKICUlUGFnZTogNSAxMQogVGVYRGljdCBiZWdpbiA1IDEwIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYigzOik0MQogYihCYXNpYykzMiBiKFNoZWxsKWUoRiktOCBiKGVhdHVyZXMpMjI5MiBiKDUpMTUwIDI5OQoteSBGbygzKTgwIGIoQmFzaWMpNTQgYihTaGVsbCllKEYpLTEzIGIoZWF0dXJlcykyNzUgNTQ0Ci15IEZ0KEJhc2gpMjcgYihpcylnKGFuKWcoYWNyb24pbSh5bSloKGZvcilmKGApcCBGcyhCb3VybmUtQWdhaW4pZwotKFNIZWxsKXAgRnQoJy4pMzkgYihUaGUpMjYgYihCb3VybmUpaChzaGVsbCloKGlzKWYodGhlKWcodHJhZGl0aW9uYWwpaQotKFVuaXgpMTUwIDY1MyB5KHNoZWxsKTM0IGIob3JpZ2luYWxseSloKHdyaXR0ZW4pZShiKW0oeSlnKFN0ZXBoZW4pZwotKEJvdXJuZS4pNTAgYihBbGwpMzQgYihvZilnKHRoZSlmKEJvdXJuZSloKHNoZWxsKWYoYnVpbHRpbilnKGNvbW1hbmRzKWgKLShhcmUpMTUwIDc2MyB5KGEpbSh2KS01IGIoYWlsYWJsZSkzMiBiKGluKWMoQmFzaCwpaShUaGUpZihydWxlcylnKGZvcilnCi0oZXYpLTUgYihhbHVhdGlvbikzMSBiKGFuZClkKHF1b3RpbmcpaShhcmUpZih0YWspbShlbilpKGZyb20pZCh0aGUpaQotRmwocG9zaXgpZSBGdChzcClzKGVjaVwwMTRjYS0pMTUwIDg3MiB5KHRpb24paihmb3IpZih0aGUpaChgc3RhbmRhcmQnKWYKLShVbml4KWcoc2hlbGwuKTI3NSAxMDEwIHkoVGhpcyloKGMpbShoYXB0ZXIpaShicmllXDAxNXkpZShzdW1tYXJpemVzKWgKLSh0aGUpaChzaGVsbCdzKWYoYGJ1aWxkaW5nKWcoYmxvKXMoYyltKGtzJzopNDUgYihjb21tYW5kcywpMzIKLWIoY29uKW0odHJvbClpKHN0cnVjLSkxNTAgMTEyMCB5KHR1cmVzLClrKHNoZWxsKWUoZnVuY3Rpb25zLCloKHNoZWxsKWcKLUZtKHApLTUgYihhcilnKGFtZXRlcnMpcCBGdCgsKTQxIGIoc2hlbGwpMzYgYihleHBhbnNpb25zLClpCi1GbShyKS01IGIoZSlnKGRpcilnKGUpZyhjdGlvbnMpcCBGdCgsKTQwIGIod2hpYyltKGgpYyhhcmUpaChhKWYodyltKGEpbQotKHkpaCh0bykxNTAgMTIzMCB5KGRpcmVjdCkzMSBiKGlucHV0KWUoYW5kKWgob3V0cHV0KWcoZnJvbSlnKGFuZClnKHRvKWgKLShuYW1lZClmKFwwMTRsZXMsKWcoYW5kKWcoaG8pbSh3KWcodGhlKWgoc2hlbGwpZyhleGVjdXRlcylnKGNvbW1hbmRzLikKLTE1MCAxNDk2IHkgRnIoMy4xKTY4IGIoU2hlbGwpNDUgYihTeW4pbCh0YXgpMjc1IDE3NDQKLXkgRnQoV2hlbikzMiBiKHRoZSloKHNoZWxsKWcocmVhZHMpZyhpbnB1dCwpZyhpdClnKHBybylzKGNlZWRzKWYKLSh0aHJvdWdoKWgoYSlnKHNlcXVlbmNlKWcob2YpZyhvcClzKGVyYXRpb25zLik0OCBiKElmKTMzCi1iKHRoZSlnKGlucHV0KTE1MCAxODUzIHkoaW5kaWNhdGVzKWUodGhlKWYoYilzKGVnaW5uaW5nKWYob2YpaChhKWcKLShjb21tZW4pbSh0LCloKHRoZSlmKHNoZWxsKWcoaWdub3JlcylnKHRoZSlnKGNvbW1lbiltKHQpaChzeW0pbShiKXMob2wpCi1mKFwoYClwIEZzKCMpcCBGdCgnXCksKWgoYW5kKWUodGhlKTE1MCAxOTYzIHkocmVzdClpKG9mKWYodGhhdCloKGxpbmUuKQotMjc1IDIxMDEgeShPdGhlcndpc2UsKWgocm91Z2hseSlmKHNwKXMoZWFraW5nLClpKHRoZSlmKHNoZWxsKWcocmVhZHMpZwotKGl0cylnKGlucHV0KWYoYW5kKWgoZGl2aWRlcylmKHRoZSlpKGlucHV0KWUoaW4pbSh0byloKHcpbShvcmRzKTE1MAotMjIxMCB5KGFuZCkyMyBiKG9wKXMoZXJhdG9ycywpaihlbXBsbyltKHlpbmcpZSh0aGUpZyhxdW90aW5nKWgocnVsZXMpZQoreSBGbygzKTgwIGIoQmFzaWMpNTQgYihTaGVsbCllKEYpLTEzIGIoZWF0dXJlcykxNTAgNjAzCit5IEZ0KEJhc2gpMjEgYihpcylnKGFuKWYoYWNyb24pbSh5bSlpKGZvcillKGApcCBGcyhCb3VybmUtQWdhaW4pMjcKK2IoU0hlbGwpcCBGdCgnLikzNyBiKFRoZSkyMCBiKEJvdXJuZSlnKHNoZWxsKWgoaXMpZyh0aGUpZyh0cmFkaXRpb25hbCloCisoVW5peClmKHNoZWxsKTE1MCA3MTIgeShvcmlnaW5hbGx5KWgod3JpdHRlbilmKGIpbSh5KWYoU3RlcGhlbilnCisoQm91cm5lLikzOCBiKEFsbCkyMSBiKG9mKWcodGhlKWcoQm91cm5lKWYoc2hlbGwpaChidWlsdGluKWYoY29tbWFuZHMpZworKGFyZSlpKGEpbSh2KS01IGIoYWlsYWJsZSkxNTAgODIyIHkoaW4pMjYgYihCYXNoLCloKFRoZSlmKHJ1bGVzKWYoZm9yKWgKKyhldiktNSBiKGFsdWF0aW9uKTI4IGIoYW5kKWQocXVvdGluZyloKGFyZSloKHRhayltKGVuKWcoZnJvbSlmKHRoZSlnCitGbChwb3NpeClmIEZ0KHNwKXMoZWNpXDAxNGNhdGlvbilpKGZvcilmKHRoZSkxNTAgOTMxCit5KGBzdGFuZGFyZCcpayhVbml4KWcoc2hlbGwuKTI3NSAxMDg5IHkoVGhpcyloKGMpbShoYXB0ZXIpaShicmllXDAxNXkpZQorKHN1bW1hcml6ZXMpaCh0aGUpaChzaGVsbCdzKWYoYGJ1aWxkaW5nKWcoYmxvKXMoYyltKGtzJzopNDUKK2IoY29tbWFuZHMsKTMyIGIoY29uKW0odHJvbClpKHN0cnVjLSkxNTAgMTE5OSB5KHR1cmVzLClrKHNoZWxsKWUKKyhmdW5jdGlvbnMsKWgoc2hlbGwpZyBGayhwKS01IGIoYXIpZyhhbWV0ZXJzKXAgRnQoLCk0MQorYihzaGVsbCkzNiBiKGV4cGFuc2lvbnMsKWkgRmsociktNSBiKGUpZyhkaXIpZyhlKWcoY3Rpb25zKXAKK0Z0KCwpNDAgYih3aGljKW0oaCljKGFyZSloKGEpZih3KW0oYSltKHkpaCh0bykxNTAgMTMwOAoreShkaXJlY3QpMzEgYihpbnB1dCllKGFuZCloKG91dHB1dClnKGZyb20pZyhhbmQpZyh0byloKG5hbWVkKWYKKyhcMDE0bGVzLClnKGFuZClnKGhvKW0odylnKHRoZSloKHNoZWxsKWcoZXhlY3V0ZXMpZyhjb21tYW5kcy4pMTUwCisxNTc2IHkgRnIoMy4xKTY4IGIoU2hlbGwpNDUgYihTeW4pbCh0YXgpMTUwIDE3MzUgeSBGdChXaGVuKTQwCitiKHRoZSloKHNoZWxsKWcocmVhZHMpZihpbnB1dCwpaShpdClmKHBybylzKGNlZWRzKWYodGhyb3VnaClnKGEpaAorKHNlcXVlbmNlKWcob2YpZyhvcClzKGVyYXRpb25zLik3MSBiKElmKTQwIGIodGhlKWgoaW5wdXQpMTUwCisxODQ1IHkoaW5kaWNhdGVzKTMxIGIodGhlKWYoYilzKGVnaW5uaW5nKWYob2YpaChhKWcoY29tbWVuKW0odCwpaCh0aGUpZgorKHNoZWxsKWcoaWdub3JlcylnKHRoZSlnKGNvbW1lbiltKHQpaChzeW0pbShiKXMob2wpZihcKGApcAorRnMoIylwIEZ0KCdcKSwpaChhbmQpZSh0aGUpMTUwIDE5NTQgeShyZXN0KWkob2YpZih0aGF0KWgobGluZS4pMjc1CisyMTEyIHkoT3RoZXJ3aXNlLCloKHJvdWdobHkpZihzcClzKGVha2luZywpaSh0aGUpZihzaGVsbClnKHJlYWRzKWcoaXRzKQorZyhpbnB1dClmKGFuZCloKGRpdmlkZXMpZih0aGUpaShpbnB1dCllKGluKW0odG8paCh3KW0ob3JkcykxNTAKKzIyMjIgeShhbmQpMjMgYihvcClzKGVyYXRvcnMsKWooZW1wbG8pbSh5aW5nKWUodGhlKWcocXVvdGluZyloKHJ1bGVzKWUKICh0byloKHNlbGVjdClpKHdoaWMpbShoKWQobWVhbmluZ3MpaCh0byloKGFzc2lnbilmKHYpLTUKLWIoYXJpb3VzKTIzIGIodyltKG9yZHMpMTUwIDIzMjAgeShhbmQpMzAgYihjKW0oaGFyYWN0ZXJzLikyNzUKLTI0NTggeShUaGUpMzggYihzaGVsbCloKHRoZW4pZihwYXJzZXMpZyh0aGVzZSloKHRvayltKGVucyloKGluKW0odG8pZgorYihhcmlvdXMpMjMgYih3KW0ob3JkcykxNTAgMjMzMSB5KGFuZCkzMCBiKGMpbShoYXJhY3RlcnMuKTI3NQorMjQ4OSB5KFRoZSkzOCBiKHNoZWxsKWgodGhlbilmKHBhcnNlcylnKHRoZXNlKWgodG9rKW0oZW5zKWgoaW4pbSh0bylmCiAoY29tbWFuZHMpZyhhbmQpZihvdGhlciloKGNvbnN0cnVjdHMsKWkocmVtbyltKHYpbShlcylmKHRoZSkxNTAKLTI1NjggeShzcClzKGVjaWFsKTMxIGIobWVhbmluZylmKG9mKWcoY2VydGFpbiloKHcpbShvcmRzKWYob3IpZyhjKW0KKzI1OTggeShzcClzKGVjaWFsKTMxIGIobWVhbmluZylmKG9mKWcoY2VydGFpbiloKHcpbShvcmRzKWYob3IpZyhjKW0KIChoYXJhY3RlcnMsKWkoZXhwYW5kcylkKG90aGVycywpaChyZWRpcmVjdHMpaChpbnB1dCllKGFuZClnKG91dHB1dCkxNTAKLTI2NzcgeShhcylkKG5lZWRlZCwpZyhleGVjdXRlcylnKHRoZSlnKHNwKXMoZWNpXDAxNGVkKWUoY29tbWFuZCwpaih3KW0KKzI3MDggeShhcylkKG5lZWRlZCwpZyhleGVjdXRlcylnKHRoZSlnKHNwKXMoZWNpXDAxNGVkKWUoY29tbWFuZCwpaih3KW0KIChhaXRzKWYoZm9yKWYodGhlKWcoY29tbWFuZCdzKWcoZXhpdClpKHN0YXR1cywpZihhbmQpZihtYWspbShlcykxNTAKLTI3ODcgeSh0aGF0KTMxIGIoZXhpdClnKHN0YXR1cylnKGEpbSh2KS01IGIoYWlsYWJsZSkzMworMjgxOCB5KHRoYXQpMzEgYihleGl0KWcoc3RhdHVzKWcoYSltKHYpLTUgYihhaWxhYmxlKTMzCiBiKGZvcilkKGZ1cnRoZXIpZihpbnNwKXMoZWN0aW9uKWgob3IpaChwcm8pcyhjZXNzaW5nLikxNTAKLTMwMTggeSBGaygzLjEuMSk2MyBiKFNoZWxsKTQxIGIoT3ApcyhlcmF0aW9uKTI3NSAzMjY2Ci15IEZ0KFRoZSkyOCBiKGZvbGxvKW0od2luZylpKGlzKWYoYSlnKGJyaWVmKWYoZGVzY3JpcHRpb24paChvZilnKHRoZSlnCi0oc2hlbGwncylnKG9wKXMoZXJhdGlvbiloKHdoZW4pZChpdClqKHJlYWRzKWUoYW5kKWcoZXhlY3V0ZXMpaihhKTE1MAotMzM3NSB5KGNvbW1hbmQuKTQwIGIoQmFzaWNhbGx5KS04IGIoLCkzNCBiKHRoZSljKHNoZWxsKWgoZG8pcyhlcylmKHRoZSkKLWgoZm9sbG8pbSh3aW5nOikxOTkgMzUxMyB5KDEuKTYxIGIoUmVhZHMpNDIgYihpdHMpaChpbnB1dCllKGZyb20paChhKWcKLShcMDE0bGUpaChcKHNlZSlnKFNlY3Rpb24pZygzLjgpZyhbU2hlbGwpZihTY3JpcHRzXSwpaihwYWdlKWUoMzRcKSwpawotKGZyb20pNDEgYihhKWkoc3RyaW5nKTMzMCAzNjIzIHkoc3VwcGxpZWQpMjYgYihhcylpKGFuKWYoYXJndW1lbiltKHQpZworMzA0MCB5IEZqKDMuMS4xKTYzIGIoU2hlbGwpNDEgYihPcClzKGVyYXRpb24pMTUwIDMxODcKK3kgRnQoVGhlKWMoZm9sbG8pbSh3aW5nKWgoaXMpZihhKWgoYnJpZWYpZShkZXNjcmlwdGlvbilpKG9mKWYodGhlKWcKKyhzaGVsbCdzKWgob3ApcyhlcmF0aW9uKWYod2hlbilmKGl0KWkocmVhZHMpZihhbmQpZihleGVjdXRlcylqKGEpMTUwCiszMjk3IHkoY29tbWFuZC4paChCYXNpY2FsbHkpLTggYigsKTM0IGIodGhlKWMoc2hlbGwpaChkbylzKGVzKWYodGhlKWgKKyhmb2xsbyltKHdpbmc6KTE5OSAzNDU0IHkoMS4pNjEgYihSZWFkcyk0MiBiKGl0cyloKGlucHV0KWUoZnJvbSloKGEpZworKFwwMTRsZSloKFwoc2VlKWcoU2VjdGlvbilnKDMuOClnKFtTaGVsbClmKFNjcmlwdHNdLClqKHBhZ2UpZSgzM1wpLClrCisoZnJvbSk0MSBiKGEpaShzdHJpbmcpMzMwIDM1NjQgeShzdXBwbGllZCkyNiBiKGFzKWkoYW4pZihhcmd1bWVuKW0odClnCiAodG8paCh0aGUpZyhgKXAgRnMoLWMpcCBGdCgnKWYoaW4pbSh2KW0obylzKGNhdGlvbilpKG9wdGlvbilmKFwoc2VlKWcKLShTZWN0aW9uKWgoNi4xKWYoW0luKW0odiltKG9raW5nKWcoQmFzaF0sKTMzMCAzNzMyIHkocGFnZSlqKDcxXCksKWgob3IpCi1lKGZyb20pZyh0aGUpaCh1c2VyJ3MpZih0ZXJtaW5hbC4pMTk5IDM4NjkgeSgyLik2MSBiKEJyZWFrcyk0MworKFNlY3Rpb24paCg2LjEpZihbSW4pbSh2KW0ob2tpbmcpZyhCYXNoXSwpMzMwIDM2NzMgeShwYWdlKWooNzFcKSwpaChvcikKK2UoZnJvbSlnKHRoZSloKHVzZXIncylmKHRlcm1pbmFsLikxOTkgMzgyMCB5KDIuKTYxIGIoQnJlYWtzKTQzCiBiKHRoZSlnKGlucHV0KWYoaW4pbSh0byloKHcpbShvcmRzKWYoYW5kKWcob3ApcyhlcmF0b3JzLClrKG9iKXMoZXlpbmcpZAotKHRoZSlnKHF1b3RpbmcpZyhydWxlcylmKGRlc2NyaWIpcyhlZClmKGluKTMzMCAzOTc4IHkoU2VjdGlvbikyNworKHRoZSlnKHF1b3RpbmcpZyhydWxlcylmKGRlc2NyaWIpcyhlZClmKGluKTMzMCAzOTI5IHkoU2VjdGlvbikyNwogYigzLjEuMilpKFtRdW90aW5nXSwpZihwYWdlKWYoNi4pNDAgYihUaGVzZSkyNiBiKHRvayltKGVucylpKGFyZSlmCiAoc2VwYXJhdGVkKWcoYiltKHkpZiBGcyhtZXRhY2hhcmFjdGVycylwIEZ0KC4pMzYgYihBbGlhcykzMzAKLTQwODggeShleHBhbnNpb24pMzAgYihpcyloKHApcyhlcmZvcm1lZClkKGIpbSh5KWoodGhpcylmKHN0ZXApZyhcKHNlZSlpCi0oU2VjdGlvbilmKDYuNilnKFtBbGlhc2VzXSwpaShwYWdlKWUoNzlcKS4pMTk5IDQyMjQgeSgzLik2MQorNDAzOSB5KGV4cGFuc2lvbikzMCBiKGlzKWgocClzKGVyZm9ybWVkKWQoYiltKHkpaih0aGlzKWYoc3RlcClnKFwoc2VlKWkKKyhTZWN0aW9uKWYoNi42KWcoW0FsaWFzZXNdLClpKHBhZ2UpZSg3OVwpLikxOTkgNDE4NSB5KDMuKTYxCiBiKFApbShhcnNlcykzNSBiKHRoZSlnKHRvayltKGVucylnKGluKW0odG8paChzaW1wbGUpZShhbmQpZyhjb21wKXMKIChvdW5kKWYoY29tbWFuZHMpaChcKHNlZSloKFNlY3Rpb24paCgzLjIpZihbU2hlbGwpZyhDb20tKTMzMAotNDMzNCB5KG1hbmRzXSwpMzAgYihwYWdlKWgoOFwpLikxOTkgNDQ3MCB5KDQuKTYxIGIoUCltKGVyZm9ybXMpNDAKKzQyOTQgeShtYW5kc10sKTMwIGIocGFnZSloKDdcKS4pMTk5IDQ0NDEgeSg0Lik2MSBiKFApbShlcmZvcm1zKTQwCiBiKHRoZSloKHYpLTUgYihhcmlvdXMpNDAgYihzaGVsbCloKGV4cGFuc2lvbnMpZihcKHNlZSloKFNlY3Rpb24pZygzLjUpZwotKFtTaGVsbClnKEV4cGFuc2lvbnNdLCloKHBhZ2UpZigxN1wpLCkzMzAgNDU4MCB5KGJyZWFraW5nKTM1CisoW1NoZWxsKWcoRXhwYW5zaW9uc10sKWgocGFnZSlmKDE3XCksKTMzMCA0NTUwIHkoYnJlYWtpbmcpMzUKIGIodGhlKWcoZXhwYW5kZWQpZyh0b2spbShlbnMpaChpbiltKHRvKWcobGlzdHMpZihvZilnKFwwMTRsZW5hbWVzKWgKLShcKHNlZSlnKFNlY3Rpb24pZigzLjUuOClpKFtGaWxlbmFtZSlnKEV4LSkzMzAgNDY4OSB5KHBhbnNpb25dLCkzMAorKFwoc2VlKWcoU2VjdGlvbilmKDMuNS44KWkoW0ZpbGVuYW1lKWcoRXgtKTMzMCA0NjYwIHkocGFuc2lvbl0sKTMwCiBiKHBhZ2UpaCgyNFwpKWgoYW5kKWUoY29tbWFuZHMpZyhhbmQpZyhhcmd1bWVuKW0odHMuKTE5OQotNDgyNiB5KDUuKTYxIGIoUCltKGVyZm9ybXMpMzYgYihhbiltKHkpaShuZWNlc3NhcnkpZihyZWRpcmVjdGlvbnMpZworNDgwNiB5KDUuKTYxIGIoUCltKGVyZm9ybXMpMzYgYihhbiltKHkpaShuZWNlc3NhcnkpZihyZWRpcmVjdGlvbnMpZwogKFwoc2VlKWgoU2VjdGlvbilmKDMuNiloKFtSZWRpcmVjdGlvbnNdLClpKHBhZ2UpZSgyNlwpKWcoYW5kKWUocmUtKTMzMAotNDkzNSB5KG1vKW0odiltKGVzKWModGhlKWUocmVkaXJlY3Rpb24paChvcClzKGVyYXRvcnMpZyhhbmQpZih0aGVpcilnCi0ob3ApcyhlcmFuZHMpZihmcm9tKWgodGhlKWgoYXJndW1lbiltKHQpZihsaXN0LikxOTkgNTA3MQorNDkxNSB5KG1vKW0odiltKGVzKWModGhlKWUocmVkaXJlY3Rpb24paChvcClzKGVyYXRvcnMpZyhhbmQpZih0aGVpcilnCisob3ApcyhlcmFuZHMpZihmcm9tKWgodGhlKWgoYXJndW1lbiltKHQpZihsaXN0LikxOTkgNTA2MgogeSg2Lik2MSBiKEV4ZWN1dGVzKTMxIGIodGhlKWcoY29tbWFuZClmKFwoc2VlKWgoU2VjdGlvbilnKDMuNyloCi0oW0V4ZWN1dGluZylmKENvbW1hbmRzXSwpZihwYWdlKWgoMzBcKS4pMTk5IDUyMDggeSg3Lik2MQorKFtFeGVjdXRpbmcpZihDb21tYW5kc10sKWYocGFnZSloKDI5XCkuKTE5OSA1MjA4IHkoNy4pNjEKIGIoT3B0aW9uYWxseSk0MCBiKHcpbShhaXRzKWcoZm9yKWYodGhlKWcoY29tbWFuZClnKHRvKWgoY29tcGxldGUpZyhhbmQpCiBmKGNvbGxlY3RzKWkoaXRzKWYoZXhpdClnKHN0YXR1cylmKFwoc2VlKWgoU2VjLSkzMzAgNTMxNwoteSh0aW9uKTMxIGIoMy43LjUpaChbRXhpdClmKFN0YXR1c10sKWcocGFnZSlnKDMzXCkuKXAKK3kodGlvbikzMSBiKDMuNy41KWgoW0V4aXQpZihTdGF0dXNdLClnKHBhZ2UpZygzMlwpLilwCiBlb3AgZW5kCiAlJVBhZ2U6IDYgMTIKIFRlWERpY3QgYmVnaW4gNiAxMSBib3AgMTUwIC0xMTYgYSBGdCg2KTI2MTcgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRmsoMy4xLjIpNjMgYihRdW90aW5nKTI3NQotNTM3IHkgRnQoUXVvdGluZykyNCBiKGlzKWcodXNlZClmKHRvKWgocmVtbyltKHYpbShlKWkodGhlKWUoc3ApcyhlY2lhbCkKLWcobWVhbmluZylnKG9mKWcoY2VydGFpbiloKGMpbShoYXJhY3RlcnMpaChvcilkKHcpbShvcmRzKWgodG8pZyh0aGUpZwotKHNoZWxsLikxNTAgNjQ3IHkoUXVvdGluZylrKGNhbilmKGIpcyhlKWcodXNlZClmKHRvKWooZGlzYWJsZSllKHNwKXMKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGaigzLjEuMik2MyBiKFF1b3RpbmcpMTUwCis0NDYgeSBGdChRdW90aW5nKTMyIGIoaXMpaCh1c2VkKWUodG8paShyZW1vKW0odiltKGUpaCh0aGUpZShzcClzKGVjaWFsKQoraChtZWFuaW5nKWYob2YpaChjZXJ0YWluKWcoYyltKGhhcmFjdGVycylnKG9yKWYodyltKG9yZHMpZyh0byloKHRoZSlmCisoc2hlbGwuKTE1MCA1NTUgeShRdW90aW5nKWMoY2FuKWYoYilzKGUpZyh1c2VkKWYodG8paihkaXNhYmxlKWUoc3ApcwogKGVjaWFsKWgodHJlYXRtZW4pbSh0KWgoZm9yKWUoc3ApcyhlY2lhbCloKGMpbShoYXJhY3RlcnMsKWkodG8pZShwcmV2KW0KLShlbiltKHQpZyhyZXNlcnYpbShlZCkxNTAgNzU3IHkodyltKG9yZHMpaShmcm9tKWcoYilzKGVpbmcpZworKGVuKW0odClnKHJlc2VydiltKGVkKTE1MCA2NjUgeSh3KW0ob3JkcylpKGZyb20pZyhiKXMoZWluZylnCiAocmVjb2duaXplZCloKGFzKWcoc3VjKW0oaCwpZihhbmQpZyh0byloKHByZXYpbShlbiltKHQpZyhwYXJhbWV0ZXIpZwotKGV4cGFuc2lvbi4pMjc1IDg4NiB5KEVhYyltKGgpMjIgYihvZilnKHRoZSlnKHNoZWxsKWcobWV0YWMpbQorKGV4cGFuc2lvbi4pMjc1IDc5MyB5KEVhYyltKGgpMjIgYihvZilnKHRoZSlnKHNoZWxsKWcobWV0YWMpbQogKGhhcmFjdGVycylpKFwoc2VlKWYoQ2hhcHRlcillKDIpaShbRGVcMDE0bml0aW9uc10sKWgocGFnZSlmKDNcKSlnKGhhcykKLWUoc3ApcyhlY2lhbClpKG1lYW5pbmcpMTUwIDk5NSB5KHRvKTQwIGIodGhlKWcoc2hlbGwpZihhbmQpZyhtKW0odXN0KWcKK2Uoc3ApcyhlY2lhbClpKG1lYW5pbmcpMTUwIDkwMiB5KHRvKTQwIGIodGhlKWcoc2hlbGwpZihhbmQpZyhtKW0odXN0KWcKIChiKXMoZSlnKHF1b3RlZClnKGlmKWgoaXQpZyhpcylmKHRvKWgocmVwcmVzZW4pbSh0KWcoaXRzZWxmLik2OAotYihXaGVuKTM5IGIodGhlKWgoY29tbWFuZClmKGhpc3RvcnkpMTUwIDExMDUgeShleHBhbnNpb24paShmYWNpbGl0aWVzKWoKK2IoV2hlbikzOSBiKHRoZSloKGNvbW1hbmQpZihoaXN0b3J5KTE1MCAxMDEyIHkoZXhwYW5zaW9uKWkoZmFjaWxpdGllcylqCiAoYXJlKWUoYilzKGVpbmcpZih1c2VkKWcoXChzZWUpaChTZWN0aW9uKWgoOS4zKWYoW0hpc3RvcnkpaChJbiltCi0odGVyYWN0aW9uXSwpaihwYWdlKWMoMTIzXCksKTQ3IGIodGhlKTE1MCAxMjE0IHkgRnEoaGlzdG9yeSkzMAorKHRlcmFjdGlvbl0sKWoocGFnZSljKDEyM1wpLCk0NyBiKHRoZSkxNTAgMTEyMiB5IEZxKGhpc3RvcnkpMzAKIGIoZXhwYW5zaW9uKWggRnQoYyltKGhhcmFjdGVyLCloKHVzdWFsbHkpZihgKXAgRnMoISlwCiBGdCgnLClnKG0pbSh1c3QpZihiKXMoZSlnKHF1b3RlZCloKHRvKWcocHJldiltKGVuKW0odClnKGhpc3RvcnkpZwotKGV4cGFuc2lvbi4pNDEgYihTZWUpMTUwIDEzMjQgeShTZWN0aW9uKTIyIGIoOS4xKWcoW0Jhc2gpZihIaXN0b3J5KWgoRikKKyhleHBhbnNpb24uKTQxIGIoU2VlKTE1MCAxMjMxIHkoU2VjdGlvbikyMiBiKDkuMSlnKFtCYXNoKWYoSGlzdG9yeSloKEYpCiAtOCBiKGFjaWxpdGllc10sKTI2IGIocGFnZSljKDEyMSwpaihmb3IpMjAgYihtb3JlKWgoZGV0YWlscyloCi0oY29uY2VybmluZylnKGhpc3RvcnkpZihleHBhbnNpb24uKTI3NSAxNDUzIHkoVGhlcmUpMzcKLWIoYXJlKWgodGhyZWUpZihxdW90aW5nKWgobWVjKW0oaGFuaXNtczopNTYgYih0aGUpMzgKLWIgRnEoZXNjYXApcyhlKWcoYyltKGhhcmFjdGVyKXAgRnQoLClqKHNpbmdsZSlkKHF1b3RlcywpaShhbmQpZChkb3VibGUpCi0xNTAgMTU2MyB5KHF1b3Rlcy4pMTUwIDE3NzAgeSBGaygzLjEuMi4xKTYzIGIoRXNjYXApcyhlKTQxCi1iKENoYXJhY3RlcikyNzUgMjAwOSB5IEZ0KEEpMjcgYihub24tcXVvdGVkKWcoYmFjKW0oa3NsYXNoKWgoYClwCi1GcyhcXClwIEZ0KCcpZihpcylnKHRoZSloKEJhc2gpZihlc2NhcClzKGUpZyhjKW0oaGFyYWN0ZXIuKTQyCi1iKEl0KTI3IGIocHJlc2VydiltKGVzKWcodGhlKWcobGl0ZXJhbClpKHYpLTUgYihhbHVlKTI4Ci1iKG9mKTE1MCAyMTE5IHkodGhlKWYobmV4dClnKGMpbShoYXJhY3RlciloKHRoYXQpZihmb2xsbyltKHdzLClpKHdpdGgpZAotKHRoZSloKGV4Y2VwdGlvbilnKG9mKWcgRnMobmV3bGluZSlwIEZ0KC4pMzggYihJZikyNgotYihhKWggRnMoXFxuZXdsaW5lKWQgRnQocGFpcilpKGFwcClzKGVhcnMsKTE1MCAyMjI4IHkoYW5kKWsodGhlKWgoYmFjKW0KKyhjb25jZXJuaW5nKWcoaGlzdG9yeSlmKGV4cGFuc2lvbi4pMjc1IDEzNTkgeShUaGVyZSkzNgorYihhcmUpaSh0aHJlZSlmKHF1b3RpbmcpZyhtZWMpbShoYW5pc21zOik1NSBiKHRoZSkzNworYiBGcShlc2NhcClzKGUpaChjKW0oaGFyYWN0ZXIpNyBiIEZ0KCwpNDAgYihzaW5nbGUpZChxdW90ZXMsKWooYW5kKWMKKyhkb3VibGUpMTUwIDE0NjkgeShxdW90ZXMuKTE1MCAxNjU1IHkgRmooMy4xLjIuMSk2MyBiKEVzY2FwKXMoZSk0MQorYihDaGFyYWN0ZXIpMTUwIDE4MDIgeSBGdChBKTM2IGIobm9uLXF1b3RlZClmKGJhYyltKGtzbGFzaCloKGApcAorRnMoXFwpcCBGdCgnKWcoaXMpZih0aGUpaChCYXNoKWcoZXNjYXApcyhlKWYoYyltKGhhcmFjdGVyLik1OAorYihJdCkzNiBiKHByZXNlcnYpbShlcylmKHRoZSloKGxpdGVyYWwpaCh2KS01IGIoYWx1ZSkzNgorYihvZikxNTAgMTkxMSB5KHRoZSkyNyBiKG5leHQpZyhjKW0oaGFyYWN0ZXIpaCh0aGF0KWYoZm9sbG8pbSh3cywpaQorKHdpdGgpZCh0aGUpaChleGNlcHRpb24pZyhvZilnIEZzKG5ld2xpbmUpcCBGdCguKTM4IGIoSWYpMjYKK2IoYSloIEZzKFxcbmV3bGluZSlkIEZ0KHBhaXIpaShhcHApcyhlYXJzLCkxNTAgMjAyMSB5KGFuZClrKHRoZSloKGJhYyltCiAoa3NsYXNoKWcoaXRzZWxmKWcoaXMpZyhub3QpZyhxdW90ZWQsKWcodGhlKWYgRnMoXFxuZXdsaW5lKWYKIEZ0KGlzKWgodHJlYXRlZClpKGFzKWYoYSlnKGxpbmUpZyhjb24pbSh0aW4pbSh1YXRpb24paChcKHRoYXQpMTUwCi0yMzM4IHkoaXMsKWYoaXQpZyhpcylmKHJlbW8pbSh2KW0oZWQpaChmcm9tKWYodGhlKWgoaW5wdXQpZShzdHJlYW0paQotKGFuZClmKGVcMDEzZWN0aXYpbShlbHkpaihpZ25vcmVkXCkuKTE1MCAyNTQ1IHkgRmsoMy4xLjIuMik2MwotYihTaW5nbGUpNDIgYihRdW90ZXMpMjc1IDI3ODQgeSBGdChFbmNsb3NpbmcpMzYgYihjKW0oaGFyYWN0ZXJzKWkoaW4pZAotKHNpbmdsZSlpKHF1b3RlcylnKFwoYClwIEZzKCcpcCBGdCgnXCkpZihwcmVzZXJ2KW0oZXMpaCh0aGUpZihsaXRlcmFsKWgKLSh2KS01IGIoYWx1ZSkzNyBiKG9mKWYoZWFjKW0oaCloKGMpbShoYXJhY3RlcikxNTAgMjg5NAoteSh3aXRoaW4pMjQgYih0aGUpaChxdW90ZXMuKTM5IGIoQSkyNSBiKHNpbmdsZSloKHF1b3RlKWYobWEpbSh5KWcobm90KWcKLShvKXMoY2N1cilnKGIpcyhldCltKHcpbShlZW4pZyhzaW5nbGUpaChxdW90ZXMsKWcoZXYpbShlbilnKHdoZW4pZAotKHByZWNlZGVkKTE1MCAzMDAzIHkoYiltKHkpMzAgYihhKWgoYmFjKW0oa3NsYXNoLikxNTAKLTMyMTEgeSBGaygzLjEuMi4zKTYzIGIoRG91YmxlKTQyIGIoUXVvdGVzKTI3NSAzNDUwIHkKLUZ0KEVuY2xvc2luZykzNiBiKGMpbShoYXJhY3RlcnMpaShpbillKGRvdWJsZSlnKHF1b3RlcyloKFwoYClwCi1GcygiKXAgRnQoJ1wpKWcocHJlc2VydiltKGVzKWYodGhlKWcobGl0ZXJhbClpKHYpLTUgYihhbHVlKTM3Ci1iKG9mKWYoYWxsKWgoYyltKGhhcmFjdGVycykxNTAgMzU1OSB5KHdpdGhpbikyNSBiKHRoZSlnKHF1b3RlcywpaSh3aXRoKQotZSh0aGUpZyhleGNlcHRpb24paChvZilnKGApcCBGcygkKXAgRnQoJywpZyhgKXAgRnMoYClwCi1GdCgnLCloKGApcCBGcyhcXClwIEZ0KCcsKWYoYW5kLClnKHdoZW4pZShoaXN0b3J5KWkoZXhwYW5zaW9uKWYoaXMpZwotKGVuYWJsZWQsKTE1MCAzNjY5IHkoYClwIEZzKCEpcCBGdCgnLik0OCBiKFRoZSkzMiBiKGMpbShoYXJhY3RlcnMpaShgKXAKLUZzKCQpcCBGdCgnKWYoYW5kKWYoYClwIEZzKGApcCBGdCgnKWgocmV0YWluKWcodGhlaXIpZyhzcClzKGVjaWFsKWcKLShtZWFuaW5nKWcod2l0aGluKWYoZG91YmxlKWgocXVvdGVzKWcoXChzZWUpZyhTZWMtKTE1MAotMzc3OCB5KHRpb24pZSgzLjUpaChbU2hlbGwpZShFeHBhbnNpb25zXSwpZyhwYWdlKWkoMTdcKS4pNDIKLWIoVGhlKTMwIGIoYmFjKW0oa3NsYXNoKWgocmV0YWlucylnKGl0cylnKHNwKXMoZWNpYWwpZyhtZWFuaW5nKWYob25seSloCi0od2hlbikxNTAgMzg4OCB5KGZvbGxvKW0odyltKGVkKTQwIGIoYiltKHkpZShvbmUpaChvZilnKHRoZSlmKGZvbGxvKW0KLSh3aW5nKWkoYyltKGhhcmFjdGVyczopNTggYihgKXAgRnMoJClwIEZ0KCcsKTQxIGIoYClwCi1GcyhgKXAgRnQoJywpZyhgKXAgRnMoIilwIEZ0KCcsKWcoYClwIEZzKFxcKXAgRnQoJywpZyhvcilkCi1GcyhuZXdsaW5lKXAgRnQoLik2MyBiKFdpdGhpbikzOCBiKGRvdWJsZSkxNTAgMzk5OCB5KHF1b3RlcywpYyhiYWMpbQotKGtzbGFzaGVzKWcodGhhdClmKGFyZSlnKGZvbGxvKW0odyltKGVkKWgoYiltKHkpZihvbmUpZyhvZilmKHRoZXNlKWgoYykKLW0oaGFyYWN0ZXJzKWkoYXJlKWUocmVtbyltKHYpbShlZC4pNDggYihCYWMpbShrc2xhc2hlcykxNTAKLTQxMDcgeShwcmVjZWRpbmcpMjUgYihjKW0oaGFyYWN0ZXJzKWgod2l0aG91dClmKGEpaChzcClzKGVjaWFsKWYKLShtZWFuaW5nKWgoYXJlKWYobGVmdCloKHVubW8pcyhkaVwwMTRlZC4pMzcgYihBKTI1IGIoZG91YmxlKWYocXVvdGUpaQotKG1hKW0oeSlnKGIpcyhlKTE1MCA0MjE3IHkocXVvdGVkKWcod2l0aGluKWYoZG91YmxlKWcocXVvdGVzKWcoYiltKHkpaAotKHByZWNlZGluZylmKGl0KWgod2l0aClmKGEpaChiYWMpbShrc2xhc2guKTQwIGIoSWYpMjUKLWIoZW5hYmxlZCwpaShoaXN0b3J5KWUoZXhwYW5zaW9uKTE1MCA0MzI2IHkod2lsbCkzOCBiKGIpcyhlKWUocClzCi0oZXJmb3JtZWQpZyh1bmxlc3MpaChhbilnKGApcCBGcyghKXAgRnQoJyloKGFwcClzKGVhcmluZylmKGluKWcoZG91YmxlKQotZyhxdW90ZXMpaChpcylmKGVzY2FwKXMoZWQpZyh1c2luZylnKGEpaChiYWMpbShrc2xhc2guKTE1MAotNDQzNiB5KFRoZSkzMCBiKGJhYyltKGtzbGFzaCloKHByZWNlZGluZylmKHRoZSloKGApcAotRnMoISlwIEZ0KCcpZihpcyloKG5vdClmKHJlbW8pbSh2KW0oZWQuKTI3NSA0NTY1IHkoVGhlKTQxCi1iKHNwKXMoZWNpYWwpaChwYXJhbWV0ZXJzKWYoYClwIEZzKCopcCBGdCgnKWgoYW5kKWYoYClwCi1GcyhAKXAgRnQoJyloKGhhKW0odiltKGUpZyhzcClzKGVjaWFsKWcobWVhbmluZylnKHdoZW4pZihpbilnKGRvdWJsZSlnCi0ocXVvdGVzKWgoXChzZWUpMTUwIDQ2NzQgeShTZWN0aW9uKTMxIGIoMy41LjMpaChbU2hlbGwpZihQKW0oYXJhbWV0ZXIpaAotKEV4cGFuc2lvbl0sKWUocGFnZSloKDIwXCkuKTE1MCA0ODgyIHkgRmsoMy4xLjIuNCk2MwotYihBTlNJLUMpNDAgYihRdW90aW5nKTI3NSA1MTIxIHkgRnQoVyktOCBiKG9yZHMpMzMgYihvZiloKHRoZSlnKGZvcm0pZgotRnMoJCcpcCBGaihzdHJpbmcpMTEgYiBGcygnKTMxIGIgRnQoYXJlKWoodHJlYXRlZClnKHNwKXMoZWNpYWxseSktOAotYiguKTUyIGIoVGhlKTMzIGIodyltKG9yZClnKGV4cGFuZHMpZyh0bylpIEZxKHN0cmluZylwCi1GdCgsKWYod2l0aCkxNTAgNTIzMCB5KGJhYyltKGtzbGFzaC1lc2NhcClzKGVkKTQ0IGIoYyltKGhhcmFjdGVycyloCi0ocmVwbGFjZWQpZihhcylnKHNwKXMoZWNpXDAxNGVkKWYoYiltKHkpZyh0aGUpZyhBTlNJKWcoQylnKHN0YW5kYXJkLik3OQotYihCYWMpbShrc2xhc2gpMTUwIDUzNDAgeShlc2NhcClzKGUpMzEgYihzZXF1ZW5jZXMsKWcoaWYpZihwcmVzZW4pbSh0LCkKLWgoYXJlKWcoZGVjbylzKGRlZClmKGFzKWcoZm9sbG8pbSh3czopcCBlb3AgZW5kCisyMTMxIHkoaXMsKWYoaXQpZyhpcylmKHJlbW8pbSh2KW0oZWQpaChmcm9tKWYodGhlKWgoaW5wdXQpZShzdHJlYW0paQorKGFuZClmKGVcMDEzZWN0aXYpbShlbHkpaihpZ25vcmVkXCkuKTE1MCAyMzE3IHkgRmooMy4xLjIuMik2MworYihTaW5nbGUpNDIgYihRdW90ZXMpMTUwIDI0NjQgeSBGdChFbmNsb3NpbmcpMjQgYihjKW0oaGFyYWN0ZXJzKWgoaW4pZQorKHNpbmdsZSloKHF1b3RlcylnKFwoYClwIEZzKCcpcCBGdCgnXCkpZyhwcmVzZXJ2KW0oZXMpZyh0aGUpZihsaXRlcmFsKWkKKyh2KS01IGIoYWx1ZSkyNCBiKG9mKWcoZWFjKW0oaClnKGMpbShoYXJhY3RlciloKHdpdGhpbikxNTAKKzI1NzMgeSh0aGUpMzEgYihxdW90ZXMuKTQyIGIoQSkzMSBiKHNpbmdsZSloKHF1b3RlKWYobWEpbSh5KWcobm90KWcobylzCisoY2N1cilnKGIpcyhldCltKHcpbShlZW4pZyhzaW5nbGUpaChxdW90ZXMsKWYoZXYpbShlbiloKHdoZW4pZAorKHByZWNlZGVkKWkoYiltKHkpZyhhKTE1MCAyNjgzIHkoYmFjKW0oa3NsYXNoLikxNTAgMjg2OQoreSBGaigzLjEuMi4zKTYzIGIoRG91YmxlKTQyIGIoUXVvdGVzKTE1MCAzMDE2IHkgRnQoRW5jbG9zaW5nKTI0CitiKGMpbShoYXJhY3RlcnMpaChpbilmKGRvdWJsZSlmKHF1b3RlcyloKFwoYClwIEZzKCIpcAorRnQoJ1wpKWcocHJlc2VydiltKGVzKWcodGhlKWcobGl0ZXJhbCloKHYpLTUgYihhbHVlKTI0CitiKG9mKWcoYWxsKWcoYyltKGhhcmFjdGVycyloKHdpdGhpbikxNTAgMzEyNSB5KHRoZSkzNAorYihxdW90ZXMsKWgod2l0aClmKHRoZSlnKGV4Y2VwdGlvbiloKG9mKWYoYClwIEZzKCQpcAorRnQoJywpaChgKXAgRnMoYClwIEZ0KCcsKWcoYClwIEZzKFxcKXAgRnQoJywpZyhhbmQsKWYod2hlbilmKGhpc3RvcnkpZworKGV4cGFuc2lvbiloKGlzKWcoZW5hYmxlZCwpaChgKXAgRnMoISlwIEZ0KCcuKTE1MCAzMjM1Cit5KFRoZSkyNSBiKGMpbShoYXJhY3RlcnMpaChgKXAgRnMoJClwIEZ0KCcpZyhhbmQpZihgKXAKK0ZzKGApcCBGdCgnKWcocmV0YWluKWgodGhlaXIpZihzcClzKGVjaWFsKWgobWVhbmluZylmKHdpdGhpbilnKGRvdWJsZSlnCisocXVvdGVzKWgoXChzZWUpZyhTZWN0aW9uKWcoMy41KTE1MCAzMzQ1IHkoW1NoZWxsKWooRXhwYW5zaW9uc10sKWcKKyhwYWdlKWgoMTdcKS4pNDEgYihUaGUpMjggYihiYWMpbShrc2xhc2gpaShyZXRhaW5zKWYoaXRzKWgoc3ApcyhlY2lhbClmCisobWVhbmluZylnKG9ubHkpZyh3aGVuKWYoZm9sbG8pbSh3KW0oZWQpMTUwIDM0NTQgeShiKW0oeSk0MQorYihvbmUpZihvZiloKHRoZSlnKGZvbGxvKW0od2luZyloKGMpbShoYXJhY3RlcnM6KTYzIGIoYClwCitGcygkKXAgRnQoJywpNDMgYihgKXAgRnMoYClwIEZ0KCcsKWgoYClwIEZzKCIpcCBGdCgnLClnKGApcAorRnMoXFwpcCBGdCgnLClmKG9yKWUgRnMobmV3bGluZSlwIEZ0KC4pNjkgYihXaXRoaW4pNDEKK2IoZG91YmxlKWYocXVvdGVzLCkxNTAgMzU2NCB5KGJhYyltKGtzbGFzaGVzKTI1IGIodGhhdCloKGFyZSlmKGZvbGxvKW0KKyh3KW0oZWQpaChiKW0oeSllKG9uZSloKG9mKWcodGhlc2UpZyhjKW0oaGFyYWN0ZXJzKWgoYXJlKWYocmVtbyltKHYpbQorKGVkLik0MCBiKEJhYyltKGtzbGFzaGVzKTI2IGIocHJlY2VkaW5nKTE1MCAzNjczIHkoYyltKGhhcmFjdGVycykzNQorYih3aXRob3V0KWUoYSloKHNwKXMoZWNpYWwpZihtZWFuaW5nKWgoYXJlKWYobGVmdCloKHVubW8pcyhkaVwwMTRlZC4pNDcKK2IoQSkzNCBiKGRvdWJsZSlmKHF1b3RlKWcobWEpbSh5KWgoYilzKGUpZihxdW90ZWQpMTUwCiszNzgzIHkod2l0aGluKWgoZG91YmxlKWgocXVvdGVzKWcoYiltKHkpZyhwcmVjZWRpbmcpZyhpdClnKHdpdGgpZyhhKWcKKyhiYWMpbShrc2xhc2guKTU1IGIoSWYpMzUgYihlbmFibGVkLCloKGhpc3RvcnkpZihleHBhbnNpb24pZyh3aWxsKTE1MAorMzg5MiB5KGIpcyhlKWYocClzKGVyZm9ybWVkKWcodW5sZXNzKWcoYW4paChgKXAgRnMoISlwCitGdCgnKWcoYXBwKXMoZWFyaW5nKWYoaW4paChkb3VibGUpZihxdW90ZXMpaShpcylmKGVzY2FwKXMoZWQpZyh1c2luZylmCisoYSloKGJhYyltKGtzbGFzaC4pNTUgYihUaGUpMTUwIDQwMDIgeShiYWMpbShrc2xhc2gpMzEKK2IocHJlY2VkaW5nKWYodGhlKWgoYClwIEZzKCEpcCBGdCgnKWYoaXMpaChub3QpZyhyZW1vKW0odiltKGVkLikyNzUKKzQxMzAgeShUaGUpNDEgYihzcClzKGVjaWFsKWgocGFyYW1ldGVycylmKGApcCBGcygqKXAKK0Z0KCcpaChhbmQpZihgKXAgRnMoQClwIEZ0KCcpaChoYSltKHYpbShlKWcoc3ApcyhlY2lhbClnKG1lYW5pbmcpZworKHdoZW4pZihpbilnKGRvdWJsZSlnKHF1b3RlcyloKFwoc2VlKTE1MCA0MjQwIHkoU2VjdGlvbikzMQorYigzLjUuMyloKFtTaGVsbClmKFApbShhcmFtZXRlciloKEV4cGFuc2lvbl0sKWUocGFnZSloKDE5XCkuKTE1MAorNDQyNiB5IEZqKDMuMS4yLjQpNjMgYihBTlNJLUMpNDAgYihRdW90aW5nKTE1MCA0NTczIHkKK0Z0KFcpLTggYihvcmRzKTQxIGIob2YpaCh0aGUpZihmb3JtKWcgRnMoJCcpcCBGaShzdHJpbmcpMTEKK2IgRnMoJykzOCBiIEZ0KGFyZSlrKHRyZWF0ZWQpZyhzcClzKGVjaWFsbHkpLTggYiguKTc1CitiKFRoZSk0MSBiKHcpbShvcmQpZyhleHBhbmRzKWYodG8paSBGcShzdHJpbmcpOCBiIEZ0KCwpNDQKK2Iod2l0aCkxNTAgNDY4MiB5KGJhYyltKGtzbGFzaC1lc2NhcClzKGVkKWcoYyltKGhhcmFjdGVycyloKHJlcGxhY2VkKWYKKyhhcylnKHNwKXMoZWNpXDAxNGVkKWYoYiltKHkpZyh0aGUpZyhBTlNJKWcoQylnKHN0YW5kYXJkLik3OQorYihCYWMpbShrc2xhc2gpMTUwIDQ3OTIgeShlc2NhcClzKGUpMzEgYihzZXF1ZW5jZXMsKWcoaWYpZihwcmVzZW4pbSh0LCkKK2goYXJlKWcoZGVjbylzKGRlZClmKGFzKWcoZm9sbG8pbSh3czopMTUwIDQ5MzggeSBGcyhcXGEpMzg0CitiIEZ0KGFsZXJ0KTMxIGIoXChiKXMoZWxsXCkpMTUwIDUwODQgeSBGcyhcXGIpMzg0IGIgRnQoYmFjKW0oa3NwYWNlKTE1MAorNTIzMCB5IEZzKFxcZSkxNTAgNTM0MCB5KFxcRSlnIEZ0KGFuKTMwIGIoZXNjYXApcyhlKWgoYyltKGhhcmFjdGVyKWgKKyhcKG5vdClmKEFOU0kpZihDXCkpcCBlb3AgZW5kCiAlJVBhZ2U6IDcgMTMKIFRlWERpY3QgYmVnaW4gNyAxMiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoMzopNDEKIGIoQmFzaWMpMzIgYihTaGVsbCllKEYpLTggYihlYXR1cmVzKTIyOTIgYig3KTE1MCAyOTkKLXkgRnMoXFxhKTM4NCBiIEZ0KGFsZXJ0KTMxIGIoXChiKXMoZWxsXCkpMTUwIDQ4MSB5IEZzKFxcYikzODQKLWIgRnQoYmFjKW0oa3NwYWNlKTE1MCA2NjQgeSBGcyhcXGUpZyBGdChhbikzMCBiKGVzY2FwKXMoZSloKGMpbQotKGhhcmFjdGVyKWgoXChub3QpZihBTlNJKWYoQ1wpKTE1MCA4NDYgeSBGcyhcXGYpMzg0IGIKLUZ0KGZvcm0pMzAgYihmZWVkKTE1MCAxMDI5IHkgRnMoXFxuKTM4NCBiIEZ0KG5ld2xpbmUpMTUwCi0xMjExIHkgRnMoXFxyKWcgRnQoY2FycmlhZ2UpMzIgYihyZXR1cm4pMTUwIDEzOTQgeSBGcyhcXHQpMzg0Ci1iIEZ0KGhvcml6b24pbSh0YWwpMzIgYih0YWIpMTUwIDE1NzYgeSBGcyhcXHYpMzg0IGIgRnQodiltKGVydGljYWwpMzIKLWIodGFiKTE1MCAxNzU5IHkgRnMoXFxcXCkzODQgYiBGdChiYWMpbShrc2xhc2gpMTUwIDE5NDEKLXkgRnMoXFwnKWcgRnQoc2luZ2xlKTMxIGIocXVvdGUpMTUwIDIxMjQgeSBGcyhcXClwIEZqKG5ubikyODgKLWIgRnQodGhlKTMxIGIoZWlnaCltKHQtYml0KWgoYyltKGhhcmFjdGVyKWcod2hvc2UpZSh2KS01Cit5IEZzKFxcZikzODQgYiBGdChmb3JtKTMwIGIoZmVlZCkxNTAgNDc1IHkgRnMoXFxuKTM4NAorYiBGdChuZXdsaW5lKTE1MCA2NTIgeSBGcyhcXHIpZyBGdChjYXJyaWFnZSkzMiBiKHJldHVybikxNTAKKzgyOCB5IEZzKFxcdCkzODQgYiBGdChob3Jpem9uKW0odGFsKTMyIGIodGFiKTE1MCAxMDA1Cit5IEZzKFxcdikzODQgYiBGdCh2KW0oZXJ0aWNhbCkzMiBiKHRhYikxNTAgMTE4MSB5IEZzKFxcXFwpMzg0CitiIEZ0KGJhYyltKGtzbGFzaCkxNTAgMTM1OCB5IEZzKFxcJylnIEZ0KHNpbmdsZSkzMSBiKHF1b3RlKTE1MAorMTUzNCB5IEZzKFxcIikzODQgYiBGdChkb3VibGUpMzAgYihxdW90ZSkxNTAgMTcxMSB5IEZzKFxcKXAKK0ZpKG5ubikyODggYiBGdCh0aGUpMzEgYihlaWdoKW0odC1iaXQpaChjKW0oaGFyYWN0ZXIpZyh3aG9zZSllKHYpLTUKIGIoYWx1ZSkzMSBiKGlzKWYodGhlKWgobylzKGN0YWwpZyh2KS01IGIoYWx1ZSkzMSBiIEZxKG5ubillCi1GdChcKG9uZSlpKHRvKWcodGhyZWUpZyhkaWdpdHNcKSkxNTAgMjMwNiB5IEZzKFxceClwCi1GaihISCkyODggYiBGdCh0aGUpMzYgYihlaWdoKW0odC1iaXQpaShjKW0oaGFyYWN0ZXIpZih3aG9zZSlmKHYpLTUKK0Z0KFwob25lKWkodG8pZyh0aHJlZSlnKGRpZ2l0c1wpKTE1MCAxODg3IHkgRnMoXFx4KXAKK0ZpKEhIKTI4OCBiIEZ0KHRoZSkzNiBiKGVpZ2gpbSh0LWJpdClpKGMpbShoYXJhY3RlcilmKHdob3NlKWYodiktNQogYihhbHVlKTM2IGIoaXMpZyh0aGUpZyhoZXhhZGVjaW1hbCloKHYpLTUgYihhbHVlKTM2IGIKLUZxKEhIKTQ2IGIgRnQoXChvbmUpMzcgYihvcilmKHQpbSh3KW0obyk2MzAgMjQxNiB5KGhleCkzMAotYihkaWdpdHNcKSkxNTAgMjU5OCB5IEZzKFxcYylwIEZqKHgpMzM2IGIgRnQoYSkzMSBiKGNvbiltKHRyb2wtKXAKLUZxKHgpMzggYiBGdChjKW0oaGFyYWN0ZXIpMTUwIDI3OTIgeShUaGUpMzAgYihleHBhbmRlZClmKHJlc3VsdClpKGlzKWYKK0ZxKEhIKTQ2IGIgRnQoXChvbmUpMzcgYihvcilmKHQpbSh3KW0obyk2MzAgMTk5NyB5KGhleCkzMAorYihkaWdpdHNcKSkxNTAgMjE3MyB5IEZzKFxcYylwIEZpKHgpMzM2IGIgRnQoYSkzMSBiKGNvbiltKHRyb2wtKXAKK0ZxKHgpMzggYiBGdChjKW0oaGFyYWN0ZXIpMTUwIDIzNTggeShUaGUpMzAgYihleHBhbmRlZClmKHJlc3VsdClpKGlzKWYKIChzaW5nbGUtcXVvdGVkLClpKGFzKWYoaWYpZih0aGUpZyhkb2xsYXIpaChzaWduKWcoaGFkKWUobm90KWkoYilzKGVlbilmCi0ocHJlc2VuKW0odC4pMTUwIDMwNjMgeSBGaygzLjEuMi41KTYzIGIoTG8pcyhjYWxlLVNwKXMoZWNpXDAxNGMpNDEKLWIoVCktMTAgYihyYW5zbGF0aW9uKTI3NSAzMzMwIHkgRnQoQSkzMCBiKGRvdWJsZS1xdW90ZWQpaChzdHJpbmcpZgotKHByZWNlZGVkKWcoYiltKHkpaChhKWcoZG9sbGFyKWcoc2lnbilmKFwoYClwIEZzKCQpcAotRnQoJ1wpKWkod2lsbCllKGNhdXNlKWkodGhlKWUoc3RyaW5nKWgodG8pZyhiKXMoZSlmKHRyYW5zLSkxNTAKLTM0MzkgeShsYXRlZClqKGFjY29yZGluZylnKHRvKWcodGhlKWYoY3VycmVuKW0odClnKGxvKXMoY2FsZS4pNDcKLWIoSWYpMzIgYih0aGUpZyhjdXJyZW4pbSh0KWcobG8pcyhjYWxlKWkoaXMpZSBGcyhDKWcKLUZ0KG9yKWcgRnMoUE9TSVgpcCBGdCgsKWYodGhlKWgoZG9sbGFyKWgoc2lnbilmKGlzKTE1MAotMzU0OSB5KGlnbm9yZWQuKTQxIGIoSWYpMzAgYih0aGUpZyhzdHJpbmcpaChpcylmKHRyYW5zbGF0ZWQpaChhbmQpZgotKHJlcGxhY2VkLCloKHRoZSlnKHJlcGxhY2VtZW4pbSh0KWcoaXMpZyhkb3VibGUtcXVvdGVkLikyNzUKLTM3MDcgeShTb21lKTIwIGIoc3lzdGVtcyloKHVzZSlmKHRoZSloKG1lc3NhZ2UpaChjYXRhbG9nKWgoc2VsZWN0ZWQpZgotKGIpbSh5KWYodGhlKWcgRnMoTENfTUVTU0FHRVMpYyBGdChzaGVsbClrKHYpLTUgYihhcmlhYmxlLikzOQotYihPdGhlcnMpMTUwIDM4MTYgeShjcmVhdGUpZyh0aGUpZShuYW1lKWcob2YpZyh0aGUpZyhtZXNzYWdlKWgoY2F0YWxvZykKLWkoZnJvbSlkKHRoZSlnKHYpLTUgYihhbHVlKTM3IGIob2YpZyh0aGUpaCBGcyhURVhURE9NQUlOKWMKLUZ0KHNoZWxsKWoodiktNSBiKGFyaWFibGUsKTE1MCAzOTI2IHkocClzKG9zc2libHkpMzEKLWIoYWRkaW5nKWcoYSlnKHN1XDAxNngpZyhvZiloKGApcCBGcygubW8pcCBGdCgnLik0MyBiKElmKTMxCi1iKHkpbShvdSloKHVzZSlmKHRoZSloIEZzKFRFWFRET01BSU4pYyBGdCh2KS01IGIoYXJpYWJsZSwpMzMKLWIoeSltKG91KWYobWEpbSh5KWcobmVlZClmKHRvKWgoc2V0KTE1MCA0MDM1IHkodGhlKTIyCi1iIEZzKFRFWFRET01BSU5ESVIpZCBGdCh2KS01IGIoYXJpYWJsZSkyMyBiKHRvKWcodGhlKWYobG8pcyhjYXRpb24paQotKG9mKWUodGhlKWgobWVzc2FnZSlnKGNhdGFsb2cpaShcMDE0bGVzLikzOCBiKFN0aWxsKTIzCi1iKG90aGVycylmKHVzZSlnKGIpcyhvdGgpMTUwIDQxNDUgeSh2KS01IGIoYXJpYWJsZXMpMzEKKyhwcmVzZW4pbSh0LikxNTAgMjU3NSB5IEZqKDMuMS4yLjUpNjMgYihMbylzKGNhbGUtU3ApcyhlY2lcMDE0Yyk0MQorYihUKS0xMCBiKHJhbnNsYXRpb24pMTUwIDI3MjIgeSBGdChBKTI4IGIoZG91YmxlLXF1b3RlZClnKHN0cmluZylmCisocHJlY2VkZWQpaChiKW0oeSlmKGEpaChkb2xsYXIpaChzaWduKWUoXChgKXAgRnMoJClwCitGdCgnXCkpaSh3aWxsKWYoY2F1c2UpZyh0aGUpZyhzdHJpbmcpZyh0bylnKGIpcyhlKWYodHJhbnNsYXRlZCkxNTAKKzI4MzEgeShhY2NvcmRpbmcpZih0bylmKHRoZSlnKGN1cnJlbiltKHQpZyhsbylzKGNhbGUuKTQxCitiKElmKTI0IGIodGhlKWgoY3VycmVuKW0odClnKGxvKXMoY2FsZSloKGlzKWYgRnMoQylnCitGdChvcilnIEZzKFBPU0lYKXAgRnQoLClmKHRoZSloKGRvbGxhciloKHNpZ24pZihpcylnKGlnbm9yZWQuKTE1MAorMjk0MSB5KElmKTMwIGIodGhlKWcoc3RyaW5nKWgoaXMpZih0cmFuc2xhdGVkKWgoYW5kKWYocmVwbGFjZWQsKWgodGhlKWcKKyhyZXBsYWNlbWVuKW0odCloKGlzKWUoZG91YmxlLXF1b3RlZC4pMjc1IDMwOTMgeShTb21lKTIwCitiKHN5c3RlbXMpaCh1c2UpZih0aGUpaChtZXNzYWdlKWgoY2F0YWxvZyloKHNlbGVjdGVkKWYoYiltKHkpZih0aGUpZworRnMoTENfTUVTU0FHRVMpYyBGdChzaGVsbClrKHYpLTUgYihhcmlhYmxlLikzOSBiKE90aGVycykxNTAKKzMyMDIgeShjcmVhdGUpZyh0aGUpZShuYW1lKWcob2YpZyh0aGUpZyhtZXNzYWdlKWgoY2F0YWxvZylpKGZyb20pZCh0aGUpCitnKHYpLTUgYihhbHVlKTM3IGIob2YpZyh0aGUpaCBGcyhURVhURE9NQUlOKWMgRnQoc2hlbGwpaih2KS01CitiKGFyaWFibGUsKTE1MCAzMzEyIHkocClzKG9zc2libHkpMzEgYihhZGRpbmcpZyhhKWcoc3VcMDE2eClnKG9mKWgoYClwCitGcygubW8pcCBGdCgnLik0MyBiKElmKTMxIGIoeSltKG91KWgodXNlKWYodGhlKWggRnMoVEVYVERPTUFJTiljCitGdCh2KS01IGIoYXJpYWJsZSwpMzMgYih5KW0ob3UpZihtYSltKHkpZyhuZWVkKWYodG8paChzZXQpMTUwCiszNDIxIHkodGhlKTIyIGIgRnMoVEVYVERPTUFJTkRJUilkIEZ0KHYpLTUgYihhcmlhYmxlKTIzCitiKHRvKWcodGhlKWYobG8pcyhjYXRpb24paShvZillKHRoZSloKG1lc3NhZ2UpZyhjYXRhbG9nKWkoXDAxNGxlcy4pMzgKK2IoU3RpbGwpMjMgYihvdGhlcnMpZih1c2UpZyhiKXMob3RoKTE1MCAzNTMxIHkodiktNSBiKGFyaWFibGVzKTMxCiBiKGluKWYodGhpcylnKGZhc2hpb246KTQxIGIgRnMoVEVYVERPTUFJTkRJUilwIEZ0KC8pcAotRnMoTENfTUVTU0FHRVMpcCBGdCgvTEMpcCAyNTI4IDQxNDUgMjggNCB2IDM0IHcoTUVTU0EpbShHRVMvKXAKLUZzKFRFWFRET01BSU4pcCBGdCgubW8uKTE1MCA0NDE1IHkgRmsoMy4xLjMpNjMgYihDb21tZW4pbSh0cykyNzUKLTQ2ODIgeSBGdChJbikzNCBiKGEpaihub24taW4pbSh0ZXJhY3RpdiltKGUpaChzaGVsbCwpZihvcilmKGFuKWYoaW4pbQotKHRlcmFjdGl2KW0oZSlrKHNoZWxsKWQoaW4pZih3aGljKW0oaCloKHRoZSlmIEZzKGludGVyYWN0aXZlX2NvbW1lbnRzKQotMTUwIDQ3OTIgeSBGdChvcHRpb24pNDEgYih0byloKHRoZSlmIEZzKHNob3B0KWUgRnQoYnVpbHRpbilpKGlzKWcKLShlbmFibGVkKWcoXChzZWUpZyhTZWN0aW9uKWgoNC4zLjIpaChbVGhlKWQoU2hvcHQpZyhCdWlsdGluXSwpNDUKLWIocGFnZSljKDU0XCksKTE1MCA0OTAyIHkoYSlkKHcpbShvcmQpZihiKXMoZWdpbm5pbmcpZyh3aXRoKWgoYClwCi1GcygjKXAgRnQoJylnKGNhdXNlcylnKHRoYXQpZyh3KW0ob3JkKWcoYW5kKWYoYWxsKWgocmVtYWluaW5nKWcoYyltCi0oaGFyYWN0ZXJzKWgob24pZih0aGF0KWcobGluZSlnKHRvKTE1MCA1MDExIHkoYilzKGUpMzMKLWIoaWdub3JlZC4pNTIgYihBbikzMyBiKGluKW0odGVyYWN0aXYpbShlKWsoc2hlbGwpZCh3aXRob3V0KWcodGhlKWgKLUZzKGludGVyYWN0aXZlX2NvbW1lbnRzKTI4IGIgRnQob3B0aW9uKTM0IGIoZW5hYmxlZClnKGRvKXMoZXMpMTUwCi01MTIxIHkobm90KTM5IGIoYWxsbyltKHcpaShjb21tZW4pbSh0cy4pNjggYihUaGUpMzkgYgotRnMoaW50ZXJhY3RpdmVfY29tbWVudHMpMzMgYiBGdChvcHRpb24pNDAgYihpcylmKG9uKWcoYiltKHkpZyhkZWZhdWx0KWcKLShpbilnKGluKW0odGVyYWN0aXYpbShlKTE1MCA1MjMwIHkoc2hlbGxzLilrKFNlZSkzMSBiKFNlY3Rpb24paCg2LjMpZwotKFtJbiltKHRlcmFjdGl2KW0oZSloKFNoZWxsc10sKWYocGFnZSlmKDc1LCloKGZvcilmKGEpaChkZXNjcmlwdGlvbilmCi0ob2YpZyh3aGF0KWcobWFrKW0oZXMpZyhhKWgoc2hlbGwpMTUwIDUzNDAgeShpbiltKHRlcmFjdGl2KW0oZS4pcAotZW9wIGVuZAorRnMoTENfTUVTU0FHRVMpcCBGdCgvTEMpcCAyNTI4IDM1MzEgMjggNCB2IDM0IHcoTUVTU0EpbShHRVMvKXAKK0ZzKFRFWFRET01BSU4pcCBGdCgubW8uKTE1MCAzNzQ3IHkgRmooMy4xLjMpNjMgYihDb21tZW4pbSh0cykxNTAKKzM4OTQgeSBGdChJbikyMSBiKGEpaShub24taW4pbSh0ZXJhY3RpdiltKGUpaChzaGVsbCwpZyhvcillKGFuKWcoaW4pbQorKHRlcmFjdGl2KW0oZSlqKHNoZWxsKWQoaW4pZyh3aGljKW0oaClnKHRoZSlnIEZzKGludGVyYWN0aXZlX2NvbW1lbnRzKQorMTYgYiBGdChvcHRpb24pMTUwIDQwMDQgeSh0byk0MCBiKHRoZSlmIEZzKHNob3B0KWUgRnQoYnVpbHRpbiloKGlzKWgKKyhlbmFibGVkKWcoXChzZWUpaChTZWN0aW9uKWcoNC4zLjIpZyhbVGhlKWYoU2hvcHQpZihCdWlsdGluXSwpayhwYWdlKWUKKyg1NVwpLClpKGEpZCh3KW0ob3JkKTE1MCA0MTEzIHkoYilzKGVnaW5uaW5nKTI2IGIod2l0aClnKGApcAorRnMoIylwIEZ0KCcpZyhjYXVzZXMpaCh0aGF0KWYodyltKG9yZClnKGFuZClnKGFsbCloKHJlbWFpbmluZylnKGMpbQorKGhhcmFjdGVycylnKG9uKWYodGhhdCloKGxpbmUpZyh0bylnKGIpcyhlKWYoaWdub3JlZC4pMTUwCis0MjIzIHkoQW4pNDMgYihpbiltKHRlcmFjdGl2KW0oZSlqKHNoZWxsKWUod2l0aG91dClmKHRoZSlnCitGcyhpbnRlcmFjdGl2ZV9jb21tZW50cykzOCBiIEZ0KG9wdGlvbik0NCBiKGVuYWJsZWQpZihkbylzKGVzKWcobm90KWcKKyhhbGxvKW0odykxNTAgNDMzMyB5KGNvbW1lbiltKHRzLik1NiBiKFRoZSkzNCBiIEZzCisoaW50ZXJhY3RpdmVfY29tbWVudHMpYyBGdChvcHRpb24pMzUgYihpcylnKG9uKWcoYiltKHkpZyhkZWZhdWx0KWcoaW4pZworKGluKW0odGVyYWN0aXYpbShlKWooc2hlbGxzLik1NSBiKFNlZSkxNTAgNDQ0MiB5KFNlY3Rpb24pMzAKK2IoNi4zKWYoW0luKW0odGVyYWN0aXYpbShlKWooU2hlbGxzXSwpZChwYWdlKWgoNzUsKWcoZm9yKWUoYSlpCisoZGVzY3JpcHRpb24pZShvZiloKHdoYXQpZyhtYWspbShlcyloKGEpZihzaGVsbClnKGluKW0odGVyYWN0aXYpbShlLikKKzE1MCA0NzAwIHkgRnIoMy4yKTY4IGIoU2hlbGwpNDUgYihDb21tYW5kcykxNTAgNDg2MCB5CitGdChBKWQoc2ltcGxlKWcoc2hlbGwpZyhjb21tYW5kKWYoc3VjKW0oaCloKGFzKWcgRnMoZWNobykyOQorYihhKWgoYilnKGMpNDEgYiBGdChjb25zaXN0cylpKG9mKWYodGhlKWYoY29tbWFuZCloKGl0c2VsZiloKGZvbGxvKW0odykKK20oZWQpZyhiKW0oeSkxNTAgNDk2OSB5KGFyZ3VtZW4pbSh0cywpMzEgYihzZXBhcmF0ZWQpZyhiKW0oeSlmKHNwYWNlcy4pCisyNzUgNTEyMSB5KE1vcmUpaChjb21wbGV4KWgoc2hlbGwpZihjb21tYW5kcylnKGFyZSlnKGNvbXApcyhvc2VkKWcob2YpZworKHNpbXBsZSlnKGNvbW1hbmRzKWcoYXJyYW5nZWQpZyh0b2dldGhlciloKGluKTE1MCA1MjMwCit5KGEpZih2KS01IGIoYXJpZXQpbSh5KTMyIGIob2YpZih3KW0oYSltKHlzOik0MSBiKGluKTMxCitiKGEpZyhwaXApcyhlbGluZSlmKGluKWcod2hpYyltKGgpZyh0aGUpaChvdXRwdXQpZihvZiloKG9uZSlmKGNvbW1hbmQpaAorKGIpcyhlY29tZXMpZih0aGUpaChpbnB1dClmKG9mKTE1MCA1MzQwIHkoYSloKHNlY29uZCwpZihpbiloKGEpZihsbylzCisob3ApaChvcilmKGNvbmRpdGlvbmFsKWkoY29uc3RydWN0LClmKG9yKWYoaW4pZyhzb21lKWgob3RoZXIpZworKGdyb3VwaW5nLilwIGVvcCBlbmQKICUlUGFnZTogOCAxNAogVGVYRGljdCBiZWdpbiA4IDEzIGJvcCAxNTAgLTExNiBhIEZ0KDgpMjYxNyBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcigzLjIpNjggYihTaGVsbCk0NQotYihDb21tYW5kcykyNzUgNTQ0IHkgRnQoQSkzMiBiKHNpbXBsZSlnKHNoZWxsKWcoY29tbWFuZClnKHN1YyltKGgpZyhhcykKLWggRnMoZWNobyljKGEpaChiKWcoYylpIEZ0KGNvbnNpc3RzKWcob2YpaCh0aGUpZihjb21tYW5kKWcoaXRzZWxmKWgKLShmb2xsbyltKHcpbShlZCloKGIpbSh5KTE1MCA2NTQgeShhcmd1bWVuKW0odHMsKWQoc2VwYXJhdGVkKWcoYiltKHkpZgotKHNwYWNlcy4pMjc1IDc5MCB5KE1vcmUpaChjb21wbGV4KWgoc2hlbGwpZihjb21tYW5kcylnKGFyZSlnKGNvbXApcwotKG9zZWQpZyhvZilnKHNpbXBsZSlnKGNvbW1hbmRzKWcoYXJyYW5nZWQpZyh0b2dldGhlciloKGluKTE1MAotODk5IHkoYSlmKHYpLTUgYihhcmlldCltKHkpMzIgYihvZilmKHcpbShhKW0oeXM6KTQxIGIoaW4pMzEKLWIoYSlnKHBpcClzKGVsaW5lKWYoaW4pZyh3aGljKW0oaClnKHRoZSloKG91dHB1dClmKG9mKWgob25lKWYoY29tbWFuZCloCi0oYilzKGVjb21lcylmKHRoZSloKGlucHV0KWYob2YpMTUwIDEwMDkgeShhKWgoc2Vjb25kLClmKGluKWgoYSlmKGxvKXMKLShvcCloKG9yKWYoY29uZGl0aW9uYWwpaShjb25zdHJ1Y3QsKWYob3IpZihpbilnKHNvbWUpaChvdGhlcilnCi0oZ3JvdXBpbmcuKTE1MCAxMjM1IHkgRmsoMy4yLjEpNjMgYihTaW1wbGUpNDEgYihDb21tYW5kcykyNzUKLTE0ODEgeSBGdChBKTI2IGIoc2ltcGxlKWgoY29tbWFuZClnKGlzKWYodGhlKWgoa2luZClmKG9mKWgoY29tbWFuZClnCi0oZW5jb3VuKW0odGVyZWQpZyhtb3N0KWcob2Z0ZW4uKTQwIGIoSXQncykyNyBiKGp1c3QpZihhKWkoc2VxdWVuY2UpMTUwCi0xNTkwIHkob2YpZih3KW0ob3JkcylmKHNlcGFyYXRlZCloKGIpbSh5KWcgRnMoYmxhbmspcAotRnQocywpZih0ZXJtaW5hdGVkKWgoYiltKHkpZyhvbmUpZyhvZilnKHRoZSlnKHNoZWxsJ3MpZyhjb24pbSh0cm9sKWgKLShvcClzKGVyYXRvcnMpZihcKHNlZSloKENoYXAtKTE1MCAxNzAwIHkodGVyKTM0IGIoMilnKFtEZVwwMTRuaXRpb25zXSwpCi1pKHBhZ2UpZigzXCkuKTUxIGIoVGhlKTM0IGIoXDAxNHJzdClmKHcpbShvcmQpZyhnZW5lcmFsbHkpaShzcClzCi0oZWNpXDAxNGVzKWUoYSlpKGNvbW1hbmQpZSh0bylpKGIpcyhlKWUoZXhlY3V0ZWQsKTE1MAotMTgwOSB5KHdpdGgpZCh0aGUpaChyZXN0KWYob2YpaCh0aGUpZih3KW0ob3JkcylnKGIpcyhlaW5nKWcodGhhdCloCi0oY29tbWFuZCdzKWYoYXJndW1lbiltKHRzLikyNzUgMTk0NSB5KFRoZSloKHJldHVybiloKHN0YXR1cylnKFwoc2VlKWkKLShTZWN0aW9uKWYoMy43LjUpaChbRXhpdClmKFN0YXR1c10sKWgocGFnZSlmKDMzXCkpZyhvZilnKGEpZyhzaW1wbGUpZgotKGNvbW1hbmQpZyhpcyloKGl0cykxNTAgMjA1NSB5KGV4aXQpMzggYihzdGF0dXMpZihhcylnKHBybyltKHZpZGVkKWYoYikKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGaigzLjIuMSk2MyBiKFNpbXBsZSk0MQorYihDb21tYW5kcykxNTAgNDQ2IHkgRnQoQSkyOSBiKHNpbXBsZSlmKGNvbW1hbmQpZyhpcyloKHRoZSlnKGtpbmQpZShvZikKK2koY29tbWFuZClmKGVuY291biltKHRlcmVkKWgobW9zdClnKG9mdGVuLik0MCBiKEl0J3MpMjkKK2IoanVzdClmKGEpaChzZXF1ZW5jZSlnKG9mKTE1MCA1NTUgeSh3KW0ob3JkcykyMiBiKHNlcGFyYXRlZClpKGIpbSh5KWUKK0ZzKGJsYW5rKXAgRnQocywpaSh0ZXJtaW5hdGVkKWYoYiltKHkpZyhvbmUpZyhvZilnKHRoZSlnKHNoZWxsJ3MpZyhjb24pCittKHRyb2wpaChvcClzKGVyYXRvcnMpZihcKHNlZSloKENoYXB0ZXIpZigyKTE1MCA2NjUgeShbRGVcMDE0bml0aW9uc10sKQorMzcgYihwYWdlKWUoM1wpLik1NCBiKFRoZSkzNSBiKFwwMTRyc3QpZSh3KW0ob3JkKWkoZ2VuZXJhbGx5KWcoc3ApcworKGVjaVwwMTRlcylnKGEpZyhjb21tYW5kKWYodG8paChiKXMoZSlmKGV4ZWN1dGVkLClqKHdpdGgpMTUwCis3NzUgeSh0aGUpMzEgYihyZXN0KWYob2YpaCh0aGUpZih3KW0ob3JkcylnKGIpcyhlaW5nKWcodGhhdCloCisoY29tbWFuZCdzKWYoYXJndW1lbiltKHRzLikyNzUgOTEyIHkoVGhlKWgocmV0dXJuKWgoc3RhdHVzKWcoXChzZWUpaQorKFNlY3Rpb24pZigzLjcuNSloKFtFeGl0KWYoU3RhdHVzXSwpaChwYWdlKWYoMzJcKSlnKG9mKWcoYSlnKHNpbXBsZSlmCisoY29tbWFuZClnKGlzKWgoaXRzKTE1MCAxMDIyIHkoZXhpdCkzOCBiKHN0YXR1cylmKGFzKWcocHJvKW0odmlkZWQpZihiKQogbSh5KWgodGhlKWcgRmwocG9zaXgpZiBGdCgxMDAzLjEpaiBGcyh3YWl0cGlkKWMgRnQoZnVuY3Rpb24sKWoob3IpZgotKDEyOClwIEZzKCspcCBGcShuKWcgRnQoaWYpZyh0aGUpZyhjb21tYW5kKTE1MCAyMTY0IHkodyltKGFzKTMxCi1iKHRlcm1pbmF0ZWQpZyhiKW0oeSlmKHNpZ25hbCloIEZxKG4pcCBGdCguKTE1MCAyMzkxCi15IEZrKDMuMi4yKTYzIGIoUGlwKXMoZWxpbmVzKTI3NSAyNjM2IHkgRnQoQSkyNiBiIEZzKHBpcGVsaW5lKWUKLUZ0KGlzKWkoYSloKHNlcXVlbmNlKWcob2YpZihzaW1wbGUpaChjb21tYW5kcyllKHNlcGFyYXRlZClpKGIpbSh5KWYKLShvbmUpaChvZilnKHRoZSlmKGNvbiltKHRyb2wpaShvcClzKGVyYXRvcnMpMTUwIDI3NDYKLXkoYClwIEZzKHwpcCBGdCgnKWoob3IpZihgKXAgRnMofCYpcCBGdCgnLikyNzUgMjg4MiB5KFRoZSlmKGZvcm1hdClpCi0oZm9yKWYoYSloKHBpcClzKGVsaW5lKWYoaXMpMzkwIDMwMTcgeSBGcyhbdGltZSk0NiBiKFstcF1dKWgoWyFdKWcKLUZqKGNvbW1hbmQxKTU2IGIgRnMoWyk0NyBiKFt8KWcob3IpaCh8Jl0pZSBGaihjb21tYW5kMik1NgotYiBGcyguLi5dKTE1MCAzMTUzIHkgRnQoVGhlKTI1IGIob3V0cHV0KWYob2YpaShlYWMpbShoKWcoY29tbWFuZClmKGluKWYKLSh0aGUpaShwaXApcyhlbGluZSllKGlzKWkoY29ubmVjdGVkKWcodmlhKWYoYSloKHBpcClzKGUpZSh0bylpKHRoZSlmCi0oaW5wdXQpZihvZiloKHRoZSloKG5leHQpMTUwIDMyNjMgeShjb21tYW5kLik0MCBiKFRoYXQpMjkKLWIoaXMsKWgoZWFjKW0oaCloKGNvbW1hbmQpZShyZWFkcylnKHRoZSloKHByZXZpb3VzKWYoY29tbWFuZCdzKWcKLShvdXRwdXQuKTQwIGIoVGhpcykyOSBiKGNvbm5lY3Rpb24pMTUwIDMzNzIgeShpcyloKHApcyhlcmZvcm1lZClmKGIpcwotKGVmb3JlKWgoYW4pbSh5KWgocmVkaXJlY3Rpb25zKWcoc3ApcyhlY2lcMDE0ZWQpZihiKW0oeSlnKHRoZSlnCi0oY29tbWFuZC4pMjc1IDM1MDggeShJZilqKGApcCBGcyh8JilwIEZ0KCcpaChpcyloKHVzZWQsKWYodGhlKWgKLShzdGFuZGFyZCllKGVycm9yKWgob2YpZyBGcShjb21tYW5kMSk0MiBiIEZ0KGlzKTM0IGIoY29ubmVjdGVkKWgodG8pZwotRnEoY29tbWFuZDIpNyBiIEZ0KCdzKTM1IGIoc3RhbmRhcmQpMTUwIDM2MTggeShpbnB1dCkyNQotYih0aHJvdWdoKWcodGhlKWgocGlwKXMoZTspaChpdClmKGlzKWcoc2hvcnRoYW5kKWYoZm9yKWcKLUZzKDI+JjEpayh8KXAgRnQoLikzOSBiKFRoaXMpMjUgYihpbXBsaWNpdClpKHJlZGlyZWN0aW9uKWcob2YpZih0aGUpZwotKHN0YW5kYXJkKTE1MCAzNzI3IHkoZXJyb3IpayhpcylnKHApcyhlcmZvcm1lZClmKGFmdGVyKWkoYW4pbSh5KWcKLShyZWRpcmVjdGlvbnMpZyhzcClzKGVjaVwwMTRlZCllKGIpbSh5KWkodGhlKWYoY29tbWFuZC4pMjc1Ci0zODYzIHkoVGhlKTM2IGIocmVzZXJ2KW0oZWQpZyh3KW0ob3JkKWcgRnModGltZSlnIEZ0KGNhdXNlcyloKHRpbWluZylnCi0oc3RhdGlzdGljcyloKHRvKWYoYilzKGUpZihwcmluKW0odGVkKWcoZm9yKWcodGhlKWgocGlwKXMoZWxpbmUpZihvbmNlKQotaChpdCkxNTAgMzk3MyB5KFwwMTRuaXNoZXMuKTUxIGIoVGhlKTM0IGIoc3RhdGlzdGljcylpKGN1cnJlbiltKHRseSllCi0oY29uc2lzdCloKG9mKWYoZWxhcHNlZCloKFwodyltKGFsbC1jbG8pcyhjKW0oa1wpKWkodGltZSllKGFuZClmKHVzZXIpZgotKGFuZCloKHN5c3RlbSkxNTAgNDA4MiB5KHRpbWUpaShjb25zdW1lZClmKGIpbSh5KWcodGhlKWgoY29tbWFuZCdzKWYKKygxMjgpcCBGcygrKXAgRnEobilnIEZ0KGlmKWcodGhlKWcoY29tbWFuZCkxNTAgMTEzMSB5KHcpbShhcykzMQorYih0ZXJtaW5hdGVkKWcoYiltKHkpZihzaWduYWwpaCBGcShuKXAgRnQoLikxNTAgMTMzMworeSBGaigzLjIuMik2MyBiKFBpcClzKGVsaW5lcykxNTAgMTQ4MCB5IEZ0KEEpMzUgYiBGcyhwaXBlbGluZSllCitGdChpcylqKGEpZihzZXF1ZW5jZSloKG9mKWYoc2ltcGxlKWcoY29tbWFuZHMpZyhzZXBhcmF0ZWQpaChiKW0oeSlmCisob25lKWcob2YpaCh0aGUpZihjb24pbSh0cm9sKWkob3ApcyhlcmF0b3JzKTE1MCAxNTkwCit5KGApcCBGcyh8KXAgRnQoJykzMSBiKG9yKWYoYClwIEZzKHwmKXAgRnQoJy4pMjc1IDE3MjcKK3koVGhlKWYoZm9ybWF0KWkoZm9yKWYoYSloKHBpcClzKGVsaW5lKWYoaXMpMzkwIDE4NjUKK3kgRnMoW3RpbWUpNDYgYihbLXBdXSloKFshXSlnIEZpKGNvbW1hbmQxKTU2IGIgRnMoWyk0NworYihbfClnKG9yKWgofCZdKWUgRmkoY29tbWFuZDIpNTYgYiBGcyguLi5dKTE1MCAyMDAyIHkKK0Z0KFRoZSkyNSBiKG91dHB1dClmKG9mKWkoZWFjKW0oaClnKGNvbW1hbmQpZihpbilmKHRoZSlpKHBpcClzKGVsaW5lKWUKKyhpcylpKGNvbm5lY3RlZClnKHZpYSlmKGEpaChwaXApcyhlKWUodG8paSh0aGUpZihpbnB1dClmKG9mKWgodGhlKWgKKyhuZXh0KTE1MCAyMTEyIHkoY29tbWFuZC4pNDAgYihUaGF0KTI5IGIoaXMsKWgoZWFjKW0oaCloKGNvbW1hbmQpZQorKHJlYWRzKWcodGhlKWgocHJldmlvdXMpZihjb21tYW5kJ3MpZyhvdXRwdXQuKTQwIGIoVGhpcykyOQorYihjb25uZWN0aW9uKTE1MCAyMjIxIHkoaXMpaChwKXMoZXJmb3JtZWQpZihiKXMoZWZvcmUpaChhbiltKHkpaAorKHJlZGlyZWN0aW9ucylnKHNwKXMoZWNpXDAxNGVkKWYoYiltKHkpZyh0aGUpZyhjb21tYW5kLikyNzUKKzIzNTkgeShJZilqKGApcCBGcyh8JilwIEZ0KCcpaChpcyloKHVzZWQsKWYodGhlKWgoc3RhbmRhcmQpZShlcnJvciloCisob2YpZyBGcShjb21tYW5kMSk0MiBiIEZ0KGlzKTM0IGIoY29ubmVjdGVkKWgodG8pZyBGcShjb21tYW5kMik3CitiIEZ0KCdzKTM1IGIoc3RhbmRhcmQpMTUwIDI0NjggeShpbnB1dCkyNSBiKHRocm91Z2gpZyh0aGUpaChwaXApcyhlOyloCisoaXQpZihpcylnKHNob3J0aGFuZClmKGZvcilnIEZzKDI+JjEpayh8KXAgRnQoLikzOSBiKFRoaXMpMjUKK2IoaW1wbGljaXQpaShyZWRpcmVjdGlvbilnKG9mKWYodGhlKWcoc3RhbmRhcmQpMTUwIDI1NzgKK3koZXJyb3IpayhpcylnKHApcyhlcmZvcm1lZClmKGFmdGVyKWkoYW4pbSh5KWcocmVkaXJlY3Rpb25zKWcoc3ApcworKGVjaVwwMTRlZCllKGIpbSh5KWkodGhlKWYoY29tbWFuZC4pMjc1IDI3MTUgeShUaGUpMzYKK2IocmVzZXJ2KW0oZWQpZyh3KW0ob3JkKWcgRnModGltZSlnIEZ0KGNhdXNlcyloKHRpbWluZylnKHN0YXRpc3RpY3MpaAorKHRvKWYoYilzKGUpZihwcmluKW0odGVkKWcoZm9yKWcodGhlKWgocGlwKXMoZWxpbmUpZihvbmNlKWgoaXQpMTUwCisyODI1IHkoXDAxNG5pc2hlcy4pNTEgYihUaGUpMzQgYihzdGF0aXN0aWNzKWkoY3VycmVuKW0odGx5KWUoY29uc2lzdCloCisob2YpZihlbGFwc2VkKWgoXCh3KW0oYWxsLWNsbylzKGMpbShrXCkpaSh0aW1lKWUoYW5kKWYodXNlcilmKGFuZCloCisoc3lzdGVtKTE1MCAyOTM1IHkodGltZSlpKGNvbnN1bWVkKWYoYiltKHkpZyh0aGUpaChjb21tYW5kJ3MpZgogKGV4ZWN1dGlvbi4pNTcgYihUaGUpMzUgYihgKXAgRnMoLXApcCBGdCgnKWgob3B0aW9uKWYoYyltKGhhbmdlcylpKHRoZSkKLWYob3V0cHV0KWYoZm9ybWF0KTE1MCA0MTkyIHkodG8paSh0aGF0KWYoc3ApcyhlY2lcMDE0ZWQpZihiKW0oeSloCitmKG91dHB1dClmKGZvcm1hdCkxNTAgMzA0NCB5KHRvKWkodGhhdClmKHNwKXMoZWNpXDAxNGVkKWYoYiltKHkpaAogRmwocG9zaXgpcCBGdCguKTU3IGIoVGhlKTM1IGIgRnMoVElNRUZPUk1BVCllIEZ0KHYpLTUKIGIoYXJpYWJsZSkzNyBiKG1hKW0oeSlnKGIpcyhlKWUoc2V0KWgodG8paChhKWYoZm9ybWF0KWcoc3RyaW5nKWcodGhhdCkKLTE1MCA0MzAxIHkoc3ApcyhlY2lcMDE0ZXMpMjkgYihobyltKHcpZyh0aGUpZyh0aW1pbmcpZyhpbmZvcm1hdGlvbiloCisxNTAgMzE1NCB5KHNwKXMoZWNpXDAxNGVzKTI5IGIoaG8pbSh3KWcodGhlKWcodGltaW5nKWcoaW5mb3JtYXRpb24paAogKHNob3VsZClkKGIpcyhlKWkoZGlzcGxhKW0oeSltKGVkLik0MSBiKFNlZSkyOSBiKFNlY3Rpb24paCg1LjIpZyhbQmFzaCkKLWYoViktOCBiKGFyaWFibGVzXSwpMTUwIDQ0MTEgeShwYWdlKTI5IGIoNjEsKWgoZm9yKWUoYSlnKGRlc2NyaXB0aW9uKWgKK2YoViktOCBiKGFyaWFibGVzXSwpMTUwIDMyNjMgeShwYWdlKTI5IGIoNjEsKWgoZm9yKWUoYSlnKGRlc2NyaXB0aW9uKWgKIChvZilmKHRoZSlnKGEpbSh2KS01IGIoYWlsYWJsZSkzMSBiKGZvcm1hdHMuKTQwIGIoVGhlKTI4CiBiKHVzZSlnKG9mKWcgRnModGltZSlmIEZ0KGFzKWkoYSlmKHJlc2VydiltKGVkKWgodyltKG9yZClmKHApcyhlci0pMTUwCi00NTIxIHkobWl0cylnKHRoZSlnKHRpbWluZylnKG9mKWcoc2hlbGwpZyhidWlsdGlucywpZyhzaGVsbClnCiszMzczIHkobWl0cylnKHRoZSlnKHRpbWluZylnKG9mKWcoc2hlbGwpZyhidWlsdGlucywpZyhzaGVsbClnCiAoZnVuY3Rpb25zLClnKGFuZClmKHBpcClzKGVsaW5lcy4pNDAgYihBbikyNyBiKGV4dGVybmFsKWkKLUZzKHRpbWUpZCBGdChjb21tYW5kKTE1MCA0NjMwIHkoY2Fubm90KTMxIGIodGltZSlnKHRoZXNlKWcoZWFzaWx5KS04Ci1iKC4pMjc1IDQ3NjYgeShJZikyNCBiKHRoZSloKHBpcClzKGVsaW5lKWcoaXMpZyhub3QpZyhleGVjdXRlZCloKGFzeW5jKQotbShocm9ub3VzbHkpZihcKHNlZSloKFNlY3Rpb24pZygzLjIuMyloKFtMaXN0c10sKWcocGFnZSllKDlcKSwpaSh0aGUpZgotKHNoZWxsKTE1MCA0ODc1IHkodyltKGFpdHMpMzEgYihmb3IpZihhbGwpaShjb21tYW5kcyllKGluKWcodGhlKWcocGlwKXMKLShlbGluZSlnKHRvKWgoY29tcGxldGUuKTI3NSA1MDExIHkoRWFjKW0oaCkyNSBiKGNvbW1hbmQpZyhpbilnKGEpZyhwaXApCitGcyh0aW1lKWQgRnQoY29tbWFuZCkxNTAgMzQ4MyB5KGNhbm5vdCkzMSBiKHRpbWUpZyh0aGVzZSlnKGVhc2lseSktOAorYiguKTI3NSAzNjIwIHkoSWYpMjQgYih0aGUpaChwaXApcyhlbGluZSlnKGlzKWcobm90KWcoZXhlY3V0ZWQpaChhc3luYykKK20oaHJvbm91c2x5KWYoXChzZWUpaChTZWN0aW9uKWcoMy4yLjMpaChbTGlzdHNdLClnKHBhZ2UpZSg4XCksKWkodGhlKWYKKyhzaGVsbCkxNTAgMzczMCB5KHcpbShhaXRzKTMxIGIoZm9yKWYoYWxsKWkoY29tbWFuZHMpZShpbilnKHRoZSlnKHBpcClzCisoZWxpbmUpZyh0byloKGNvbXBsZXRlLikyNzUgMzg2NyB5KEVhYyltKGgpMjUgYihjb21tYW5kKWcoaW4pZyhhKWcocGlwKQogcyhlbGluZSlnKGlzKWcoZXhlY3V0ZWQpaChpbilmKGl0cylnKG8pbSh3biloKHN1YnNoZWxsKWUoXChzZWUpaQotKFNlY3Rpb24pZygzLjcuMyloKFtDb21tYW5kKTE1MCA1MTIxIHkoRXhlY3V0aW9uKTM2IGIoRW4pbSh2aXJvbm1lbiltCi0odF0sKWkocGFnZSllKDMxXCkuKTU4IGIoVGhlKTM2IGIoZXhpdClnKHN0YXR1cylnKG9mKWcoYSlnKHBpcClzKGVsaW5lKQotZyhpcylmKHRoZSloKGV4aXQpaChzdGF0dXMpZihvZilnKHRoZSkxNTAgNTIzMCB5KGxhc3QpMjcKKyhTZWN0aW9uKWcoMy43LjMpaChbQ29tbWFuZCkxNTAgMzk3NyB5KEV4ZWN1dGlvbikzNiBiKEVuKW0odmlyb25tZW4pbQorKHRdLClpKHBhZ2UpZSgzMFwpLik1OCBiKFRoZSkzNiBiKGV4aXQpZyhzdGF0dXMpZyhvZilnKGEpZyhwaXApcyhlbGluZSkKK2coaXMpZih0aGUpaChleGl0KWgoc3RhdHVzKWYob2YpZyh0aGUpMTUwIDQwODYgeShsYXN0KTI3CiBiKGNvbW1hbmQpZihpbilmKHRoZSlpKHBpcClzKGVsaW5lLClmKHVubGVzcylnKHRoZSlnCiBGcyhwaXBlZmFpbCllIEZ0KG9wdGlvbilpKGlzKWcoZW5hYmxlZClnKFwoc2VlKWgoU2VjdGlvbilnKDQuMy4xKWgKLShbVGhlKTE1MCA1MzQwIHkoU2V0KTM0IGIoQnVpbHRpbl0sKWoocGFnZSllKDUxXCkuKTUzCisoW1RoZSkxNTAgNDE5NiB5KFNldCkzNCBiKEJ1aWx0aW5dLClqKHBhZ2UpZSg1MVwpLik1MwogYihJZikzNCBiIEZzKHBpcGVmYWlsKWUgRnQoaXMpaShlbmFibGVkLCloKHRoZSlnKHBpcClzKGVsaW5lJ3MpZgotKHJldHVybilmKHN0YXR1cyloKGlzKWgodGhlKWYodiktNSBiKGFsdWUpMzUgYihvZilwIGVvcAotZW5kCi0lJVBhZ2U6IDkgMTUKLVRlWERpY3QgYmVnaW4gOSAxNCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoMzopNDEKLWIoQmFzaWMpMzIgYihTaGVsbCllKEYpLTggYihlYXR1cmVzKTIyOTIgYig5KTE1MCAyOTkKLXkodGhlKTMyIGIobGFzdCloKFwocmlnaCltKHRtb3N0XCkpaChjb21tYW5kKWUodG8paChleGl0KWcod2l0aCllKGEpaQorKHJldHVybilmKHN0YXR1cyloKGlzKWgodGhlKWYodiktNSBiKGFsdWUpMzUgYihvZikxNTAKKzQzMDUgeSh0aGUpZChsYXN0KWgoXChyaWdoKW0odG1vc3RcKSloKGNvbW1hbmQpZSh0byloKGV4aXQpZyh3aXRoKWUoYSlpCiAobm9uLXplcm8pZihzdGF0dXMsKWgob3IpZih6ZXJvKWgoaWYpZihhbGwpaChjb21tYW5kcylmKGV4aXQpMTUwCi00MDggeShzdWNjZXNzZnVsbHkpLTggYiguKTY3IGIoSWYpMzggYih0aGUpaChyZXNlcnYpbShlZClnKHcpbShvcmQpZyhgKQotcCBGcyghKXAgRnQoJylnKHByZWNlZGVzKWcodGhlKWcocGlwKXMoZWxpbmUsKWgodGhlKWcoZXhpdClmKHN0YXR1cylnCi0oaXMpZyh0aGUpZyhsb2dpY2FsKTE1MCA1MTggeShuZWdhdGlvbiloKG9mKWYodGhlKWYoZXhpdClpKHN0YXR1cylmKGFzKQotZihkZXNjcmliKXMoZWQpZyhhYilzKG8pbSh2KW0oZS4pNjYgYihUaGUpMzggYihzaGVsbCloKHcpbShhaXRzKWgoZm9yKWUKLShhbGwpaChjb21tYW5kcylnKGluKWYodGhlKTE1MCA2MjggeShwaXApcyhlbGluZSkzMCBiKHRvKWgodGVybWluYXRlKWcKLShiKXMoZWZvcmUpZihyZXR1cm5pbmcpZyhhKWgodiktNSBiKGFsdWUuKTE1MCA4ODEgeSBGaygzLjIuMyk2MwotYihMaXN0cyk0MSBiKG9mKWgoQ29tbWFuZHMpMjc1IDExMzkgeSBGdChBKTI5IGIgRnMobGlzdClmCi1GdChpcylpKGEpZihzZXF1ZW5jZSloKG9mKWcob25lKWYob3IpaChtb3JlKWYocGlwKXMoZWxpbmVzKWcoc2VwYXJhdGVkKQotaChiKW0oeSlmKG9uZSloKG9mKWYodGhlKWgob3ApcyhlcmF0b3JzKWcoYClwIEZzKDspcAotRnQoJywpZyhgKXAgRnMoJilwIEZ0KCcsKTE1MCAxMjQ5IHkoYClwIEZzKCYmKXAgRnQoJywpaChvcilmKGApcAotRnMofHwpcCBGdCgnLClnKGFuZClnKG9wdGlvbmFsbHkpaSh0ZXJtaW5hdGVkKWYoYiltKHkpZihvbmUpaChvZilmKGApcAotRnMoOylwIEZ0KCcsKWgoYClwIEZzKCYpcCBGdCgnLClnKG9yKWYoYSloIEZzKG5ld2xpbmUpcAotRnQoLikyNzUgMTM5OCB5KE9mKTIzIGIodGhlc2UpaChsaXN0KWcob3ApcyhlcmF0b3JzLClpKGApcAorNDQxNSB5KHN1Y2Nlc3NmdWxseSktOCBiKC4pNjcgYihJZikzOCBiKHRoZSloKHJlc2VydiltKGVkKWcodyltKG9yZClnCisoYClwIEZzKCEpcCBGdCgnKWcocHJlY2VkZXMpZyh0aGUpZyhwaXApcyhlbGluZSwpaCh0aGUpZyhleGl0KWYoc3RhdHVzKQorZyhpcylnKHRoZSlnKGxvZ2ljYWwpMTUwIDQ1MjUgeShuZWdhdGlvbiloKG9mKWYodGhlKWYoZXhpdClpKHN0YXR1cylmCisoYXMpZihkZXNjcmliKXMoZWQpZyhhYilzKG8pbSh2KW0oZS4pNjYgYihUaGUpMzggYihzaGVsbCloKHcpbShhaXRzKWgKKyhmb3IpZShhbGwpaChjb21tYW5kcylnKGluKWYodGhlKTE1MCA0NjM0IHkocGlwKXMoZWxpbmUpMzAKK2IodG8paCh0ZXJtaW5hdGUpZyhiKXMoZWZvcmUpZihyZXR1cm5pbmcpZyhhKWgodiktNSBiKGFsdWUuKTE1MAorNDgzNiB5IEZqKDMuMi4zKTYzIGIoTGlzdHMpNDEgYihvZiloKENvbW1hbmRzKTE1MCA0OTgzCit5IEZ0KEEpMzcgYiBGcyhsaXN0KWUgRnQoaXMpaShhKWcoc2VxdWVuY2UpZyhvZilnKG9uZSlnKG9yKWYobW9yZSloCisocGlwKXMoZWxpbmVzKWYoc2VwYXJhdGVkKWgoYiltKHkpZyhvbmUpZyhvZilmKHRoZSloKG9wKXMoZXJhdG9ycylnKGApcAorRnMoOylwIEZ0KCcsKWkoYClwIEZzKCYpcCBGdCgnLCkxNTAgNTA5MyB5KGApcCBGcygmJilwCitGdCgnLCkzMSBiKG9yKWYoYClwIEZzKHx8KXAgRnQoJywpZyhhbmQpZyhvcHRpb25hbGx5KWkodGVybWluYXRlZClmKGIpbQorKHkpZihvbmUpaChvZilmKGApcCBGcyg7KXAgRnQoJywpaChgKXAgRnMoJilwIEZ0KCcsKWcob3IpZihhKWgKK0ZzKG5ld2xpbmUpcCBGdCguKTI3NSA1MjMwIHkoT2YpMjMgYih0aGVzZSloKGxpc3QpZyhvcClzKGVyYXRvcnMsKWkoYClwCiBGcygmJilwIEZ0KCcpZChhbmQpZyhgKXAgRnMofHwpcCBGdCgnKWgoaGEpbSh2KW0oZSloKGVxdWFsKWYKIChwcmVjZWRlbmNlLClpKGZvbGxvKW0odyltKGVkKWYoYiltKHkpZihgKXAgRnMoOylwIEZ0KCcpZyhhbmQpZihgKXAKLUZzKCYpcCBGdCgnLClpKHdoaWMpbShoKTE1MCAxNTA3IHkoaGEpbSh2KW0oZSkzMiBiKGVxdWFsKWUocHJlY2VkZW5jZS4pCi0yNzUgMTY1NiB5KEEpZihzZXF1ZW5jZSloKG9mKWcob25lKWcob3IpZyhtb3JlKWcobmV3bGluZXMpZihtYSltKHkpaAotKGFwcClzKGVhcilmKGluKWgoYSlnIEZzKGxpc3QpZSBGdCh0bylqKGRlbGltaXQpZihjb21tYW5kcywpZyhlcXVpdi0pCi0xNTAgMTc2NiB5KGFsZW4pbSh0KWkodG8pZihhKWcoc2VtaWNvbG9uLikyNzUgMTkxNSB5KElmKWMoYSloKGNvbW1hbmQpZgotKGlzKWgodGVybWluYXRlZClnKGIpbSh5KWcodGhlKWcoY29uKW0odHJvbCloKG9wKXMoZXJhdG9yKWYoYClwCitGcygmKXAgRnQoJywpaSh3aGljKW0oaCkxNTAgNTM0MCB5KGhhKW0odiltKGUpMzIgYihlcXVhbCllKHByZWNlZGVuY2UuKQorcCBlb3AgZW5kCislJVBhZ2U6IDkgMTUKK1RlWERpY3QgYmVnaW4gOSAxNCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoMzopNDEKK2IoQmFzaWMpMzIgYihTaGVsbCllKEYpLTggYihlYXR1cmVzKTIyOTIgYig5KTI3NSAyOTkKK3koQSkyOSBiKHNlcXVlbmNlKWgob2YpZyhvbmUpZyhvcilnKG1vcmUpZyhuZXdsaW5lcylmKG1hKW0oeSloKGFwcClzCisoZWFyKWYoaW4paChhKWcgRnMobGlzdCllIEZ0KHRvKWooZGVsaW1pdClmKGNvbW1hbmRzLClnKGVxdWl2LSkxNTAKKzQwOCB5KGFsZW4pbSh0KWkodG8pZihhKWcoc2VtaWNvbG9uLikyNzUgNTUxIHkoSWYpYyhhKWgoY29tbWFuZClmKGlzKWgKKyh0ZXJtaW5hdGVkKWcoYiltKHkpZyh0aGUpZyhjb24pbSh0cm9sKWgob3ApcyhlcmF0b3IpZihgKXAKIEZzKCYpcCBGdCgnLCloKHRoZSllKHNoZWxsKWgoZXhlY3V0ZXMpaCh0aGUpZihjb21tYW5kKTE1MAotMjAyNCB5KGFzeW5jKW0oaHJvbm91c2x5KWcoaW4paChhKWcoc3Vic2hlbGwuKTM5IGIoVGhpcykyOAotYihpcyloKGtubyltKHduKWYoYXMpaChleGVjdXRpbmcpaCh0aGUpZihjb21tYW5kKWcoaW4pZih0aGUpaAotRnEoYmFjKW0oa2dyb3VuZClwIEZ0KC4pMTUwIDIxMzQgeShUaGUpZihzaGVsbCloKGRvKXMoZXMpZihub3QpaCh3KW0KKzY2MSB5KGFzeW5jKW0oaHJvbm91c2x5KWcoaW4pZyhhKWgoc3Vic2hlbGwuKTM5IGIoVGhpcykyOAorYihpcylnKGtubyltKHduKWcoYXMpaChleGVjdXRpbmcpaCh0aGUpZShjb21tYW5kKWgoaW4pZih0aGUpZworRnEoYmFjKW0oa2dyb3VuZCl0IEZ0KC4pMTUwIDc3MCB5KFRoZSlnKHNoZWxsKWgoZG8pcyhlcylmKG5vdCloKHcpbQogKGFpdClnKGZvcilmKHRoZSloKGNvbW1hbmQpZih0bylpKFwwMTRuaXNoLClkKGFuZCloKHRoZSloKHJldHVybillCi0oc3RhdHVzKWkoaXMpZygwKWcoXCh0cnVlXCkuKTQwIGIoV2hlbikxNTAgMjI0MyB5KGpvYilnKGNvbiltKHRyb2wpaAotKGlzKWcobm90KWYoYWN0aXYpbShlKWkoXChzZWUpZihDaGFwdGVyKWYoNyloKFtKb2IpZihDb24pbSh0cm9sXSwpagotKHBhZ2UpZSg4OVwpLClqKHRoZSlkKHN0YW5kYXJkKWUoaW5wdXQpZyhmb3IpMTUwIDIzNTMKLXkoYXN5bmMpbShocm9ub3VzKWsoY29tbWFuZHMsKWsoaW4pZCh0aGUpZihhYnNlbmNlKWkob2YpZihhbiltKHkpZwotKGV4cGxpY2l0KWgocmVkaXJlY3Rpb25zLClqKGlzKTQzIGIocmVkaXJlY3RlZCloKGZyb20pMTUwCi0yNDYzIHkgRnMoL2Rldi9udWxsKXAgRnQoLikyNzUgMjYxMiB5KENvbW1hbmRzKTE5IGIoc2VwYXJhdGVkKWooYiltKHkpZgotKGEpZyhgKXAgRnMoOylwIEZ0KCcpZyhhcmUpaChleGVjdXRlZClnKHNlcXVlbiltKHRpYWxseTspayh0aGUpMjEKLWIoc2hlbGwpZyh3KW0oYWl0cyloKGZvcilmKGVhYyltKGgpaChjb21tYW5kKTE1MCAyNzIxCisoc3RhdHVzKWkoaXMpZygwKWcoXCh0cnVlXCkuKTQwIGIoV2hlbikxNTAgODgwIHkoam9iKWcoY29uKW0odHJvbCloKGlzKQorZyhub3QpZihhY3RpdiltKGUpaShcKHNlZSlmKENoYXB0ZXIpZig3KWgoW0pvYilmKENvbiltKHRyb2xdLClqKHBhZ2UpZQorKDg5XCksKWoodGhlKWQoc3RhbmRhcmQpZShpbnB1dClnKGZvcikxNTAgOTkwIHkoYXN5bmMpbShocm9ub3VzKWsKKyhjb21tYW5kcywpayhpbilkKHRoZSlmKGFic2VuY2UpaShvZilmKGFuKW0oeSlnKGV4cGxpY2l0KWgKKyhyZWRpcmVjdGlvbnMsKWooaXMpNDMgYihyZWRpcmVjdGVkKWgoZnJvbSkxNTAgMTA5OSB5CitGcygvZGV2L251bGwpcCBGdCguKTI3NSAxMjQyIHkoQ29tbWFuZHMpMTkgYihzZXBhcmF0ZWQpaihiKW0oeSlmKGEpZyhgKQorcCBGcyg7KXAgRnQoJylnKGFyZSloKGV4ZWN1dGVkKWcoc2VxdWVuKW0odGlhbGx5OylrKHRoZSkyMQorYihzaGVsbClnKHcpbShhaXRzKWgoZm9yKWYoZWFjKW0oaCloKGNvbW1hbmQpMTUwIDEzNTIKIHkodG8pMzEgYih0ZXJtaW5hdGUpaChpbillKHR1cm4uKTM5IGIoVGhlKTMwIGIocmV0dXJuKWYoc3RhdHVzKWkoaXMpZgogKHRoZSloKGV4aXQpZyhzdGF0dXMpZyhvZilnKHRoZSlmKGxhc3QpaChjb21tYW5kKWYoZXhlY3V0ZWQuKTI3NQotMjg3MCB5IEZsKGFuZClnIEZ0KGFuZCloIEZsKG9yKWcgRnQobGlzdHMpaChhcmUpZyhzZXF1ZW5jZXMpZihvZiloKG9uZSkKKzE0OTQgeSBGbChhbmQpZyBGdChhbmQpaCBGbChvcilnIEZ0KGxpc3RzKWgoYXJlKWcoc2VxdWVuY2VzKWYob2YpaChvbmUpCiBnKG9yKWYobW9yZSloKHBpcClzKGVsaW5lcyllKHNlcGFyYXRlZClpKGIpbSh5KWcodGhlKWYoY29uKW0odHJvbClpKG9wKQotcyhlci0pMTUwIDI5ODAgeShhdG9ycyllKGApcCBGcygmJilwIEZ0KCcpZihhbmQpZyhgKXAKK3MoZXItKTE1MCAxNjA0IHkoYXRvcnMpZShgKXAgRnMoJiYpcCBGdCgnKWYoYW5kKWcoYClwCiBGcyh8fClwIEZ0KCcsKWgocmVzcClzKGVjdGl2KW0oZWx5KS04IGIoLik0MiBiIEZsKGFuZCkzMAogYiBGdChhbmQpZiBGbChvciloIEZ0KGxpc3RzKWgoYXJlKWcoZXhlY3V0ZWQpZyh3aXRoKWYobGVmdCloKGFzc28pcwotKGNpYXRpdml0KW0oeSktOCBiKC4pMjc1IDMxMjkgeShBbikzMCBiIEZsKGFuZClmIEZ0KGxpc3QpaShoYXMpZih0aGUpaAotKGZvcm0pMzkwIDMyNzcgeSBGaihjb21tYW5kMSk1NiBiIEZzKCYmKTQ3IGIgRmooY29tbWFuZDIpMTUwCi0zNDI2IHkgRnEoY29tbWFuZDIpMzggYiBGdChpcykzMCBiKGV4ZWN1dGVkKWkoaWYsKWUoYW5kKWcob25seSlnKGlmLCloCisoY2lhdGl2aXQpbSh5KS04IGIoLikyNzUgMTc0NyB5KEFuKTMwIGIgRmwoYW5kKWYgRnQobGlzdClpKGhhcylmKHRoZSloCisoZm9ybSkzOTAgMTg5MCB5IEZpKGNvbW1hbmQxKTU2IGIgRnMoJiYpNDcgYiBGaShjb21tYW5kMikxNTAKKzIwMzIgeSBGcShjb21tYW5kMikzOCBiIEZ0KGlzKTMwIGIoZXhlY3V0ZWQpaShpZiwpZShhbmQpZyhvbmx5KWcoaWYsKWgKIEZxKGNvbW1hbmQxKTM4IGIgRnQocmV0dXJucykyOSBiKGFuKWgoZXhpdCloKHN0YXR1cylnKG9mKWcoemVyby4pMjc1Ci0zNTc1IHkoQW4pZiBGbChvcilmIEZ0KGxpc3QpaShoYXMpZih0aGUpaChmb3JtKTM5MCAzNzI0Ci15IEZqKGNvbW1hbmQxKTU2IGIgRnMofHwpNDcgYiBGaihjb21tYW5kMikxNTAgMzg3MyB5CisyMTc1IHkoQW4pZiBGbChvcilmIEZ0KGxpc3QpaShoYXMpZih0aGUpaChmb3JtKTM5MCAyMzE4Cit5IEZpKGNvbW1hbmQxKTU2IGIgRnMofHwpNDcgYiBGaShjb21tYW5kMikxNTAgMjQ2MSB5CiBGcShjb21tYW5kMikzOCBiIEZ0KGlzKTMwIGIoZXhlY3V0ZWQpaShpZiwpZShhbmQpZyhvbmx5KWcoaWYsKWgKIEZxKGNvbW1hbmQxKTM4IGIgRnQocmV0dXJucykyOSBiKGEpaShub24temVybylnKGV4aXQpZyhzdGF0dXMuKTI3NQotNDAyMiB5KFRoZSloKHJldHVybilnKHN0YXR1cylpKG9mKWYgRmwoYW5kKWYgRnQoYW5kKWgKKzI2MDQgeShUaGUpaChyZXR1cm4pZyhzdGF0dXMpaShvZilmIEZsKGFuZClmIEZ0KGFuZCloCiBGbChvcilmIEZ0KGxpc3RzKWkoaXMpZih0aGUpZyhleGl0KWgoc3RhdHVzKWcob2YpZih0aGUpZyhsYXN0KWgKLShjb21tYW5kKWYoZXhlY3V0ZWQpMTUwIDQxMzIgeShpbilkKHRoZSloKGxpc3QuKTE1MCA0Mzg1Ci15IEZrKDMuMi40KTYzIGIoQ29tcClzKG91bmQpNDIgYihDb21tYW5kcykyNzUgNDY0MyB5Ci1GdChDb21wKXMob3VuZCllKGNvbW1hbmRzKWkoYXJlKWgodGhlKWcoc2hlbGwpZyhwcm9ncmFtbWluZylmCi0oY29uc3RydWN0cy4pNzcgYihFYWMpbShoKTQ0IGIoY29uc3RydWN0KWUoYilzKGVnaW5zKTE1MAotNDc1MyB5KHdpdGgpZChhKWcocmVzZXJ2KW0oZWQpZyh3KW0ob3JkKWYob3IpaChjb24pbSh0cm9sKWgob3ApcwotKGVyYXRvcilmKGFuZClnKGlzKWcodGVybWluYXRlZClnKGIpbSh5KWcoYSlnKGNvcnJlc3ApcyhvbmRpbmcpZgotKHJlc2VydiltKGVkKTE1MCA0ODYyIHkodyltKG9yZClrKG9yKWgob3ApcyhlcmF0b3IuKTc3Ci1iKEFuKW0oeSk0MiBiKHJlZGlyZWN0aW9ucyloKFwoc2VlKWgoU2VjdGlvbilmKDMuNiloKFtSZWRpcmVjdGlvbnNdLClqCi0ocGFnZSljKDI2XCkpZyhhc3NvKXMoY2lhdGVkKTE1MCA0OTcyIHkod2l0aCkyNiBiKGEpZyhjb21wKXMob3VuZClmCi0oY29tbWFuZCloKGFwcGx5KWcodG8paChhbGwpZyhjb21tYW5kcylmKHdpdGhpbilmKHRoYXQpaShjb21wKXMob3VuZCllCi0oY29tbWFuZCloKHVubGVzcykxNTAgNTA4MSB5KGV4cGxpY2l0bHkpMzIgYihvKW0odiltKGVycmlkZGVuLikyNzUKLTUyMzAgeShCYXNoKTQ1IGIocHJvKW0odmlkZXMpaChsbylzKG9waW5nKWcoY29uc3RydWN0cywpaihjb25kaXRpb25hbCllCi0oY29tbWFuZHMsKWooYW5kKTQ0IGIobWVjKW0oaGFuaXNtcylpKHRvKWcoZ3JvdXApMTUwCi01MzQwIHkoY29tbWFuZHMpMzAgYihhbmQpZyhleGVjdXRlKWkodGhlbSllKGFzKWcoYSloKHVuaXQuKXAKLWVvcCBlbmQKKyhjb21tYW5kKWYoZXhlY3V0ZWQpMTUwIDI3MTMgeShpbilkKHRoZSloKGxpc3QuKTE1MCAyOTIxCit5IEZqKDMuMi40KTYzIGIoQ29tcClzKG91bmQpNDIgYihDb21tYW5kcykxNTAgMzA2OCB5CitGdChDb21wKXMob3VuZCkzMiBiKGNvbW1hbmRzKWooYXJlKWcodGhlKWcoc2hlbGwpZyhwcm9ncmFtbWluZylmCisoY29uc3RydWN0cy4pNTQgYihFYWMpbShoKTM1IGIoY29uc3RydWN0KWcoYilzKGVnaW5zKWYod2l0aCkxNTAKKzMxNzcgeShhKWsocmVzZXJ2KW0oZWQpZih3KW0ob3JkKWgob3IpZihjb24pbSh0cm9sKWkob3ApcyhlcmF0b3IpZihhbmQpCitmKGlzKWcodGVybWluYXRlZCloKGIpbSh5KWYoYSloKGNvcnJlc3ApcyhvbmRpbmcpZihyZXNlcnYpbShlZClnKHcpbQorKG9yZCkxNTAgMzI4NyB5KG9yKTQ0IGIob3ApcyhlcmF0b3IuKTgxIGIoQW4pbSh5KTQ0IGIocmVkaXJlY3Rpb25zKWcKKyhcKHNlZSloKFNlY3Rpb24pZygzLjYpZyhbUmVkaXJlY3Rpb25zXSwpaihwYWdlKWQoMjZcKSlnKGFzc28pcyhjaWF0ZWQpCitnKHdpdGgpMTUwIDMzOTYgeShhKWcoY29tcClzKG91bmQpZShjb21tYW5kKWkoYXBwbHkpZih0byloKGFsbCloCisoY29tbWFuZHMpZSh3aXRoaW4pZyh0aGF0KWgoY29tcClzKG91bmQpZShjb21tYW5kKWkodW5sZXNzKTE1MAorMzUwNiB5KGV4cGxpY2l0bHkpMzIgYihvKW0odiltKGVycmlkZGVuLikyNzUgMzY0OSB5KEJhc2gpNDUKK2IocHJvKW0odmlkZXMpaChsbylzKG9waW5nKWcoY29uc3RydWN0cywpaihjb25kaXRpb25hbCllKGNvbW1hbmRzLClqCisoYW5kKTQ0IGIobWVjKW0oaGFuaXNtcylpKHRvKWcoZ3JvdXApMTUwIDM3NTggeShjb21tYW5kcykzMAorYihhbmQpZyhleGVjdXRlKWkodGhlbSllKGFzKWcoYSloKHVuaXQuKTE1MCAzOTY2IHkgRmooMy4yLjQuMSk2MworYihMbylzKG9waW5nKTQzIGIoQ29uc3RydWN0cykxNTAgNDExMyB5IEZ0KEJhc2gpMzEgYihzdXBwKXMob3J0cylkKHRoZSkKK2ooZm9sbG8pbSh3aW5nKWcobG8pcyhvcGluZylnKGNvbnN0cnVjdHMuKTI3NSA0MjU2IHkoTm90ZSlrKHRoYXQpZgorKHdoZXJldiltKGVyKWcoYSlnKGApcCBGcyg7KXAgRnQoJylnKGFwcClzKGVhcnMpZihpbiloKHRoZSlnCisoZGVzY3JpcHRpb24pZyhvZilnKGEpZyhjb21tYW5kJ3MpZyhzeW4pbSh0YXgsKWkoaXQpZShtYSltKHkpaChiKXMoZSkKKzE1MCA0MzY1IHkocmVwbGFjZWQpYyh3aXRoKWYob25lKWgob3IpZihtb3JlKWcobmV3bGluZXMuKTE1MAorNDUzNyB5IEZzKHVudGlsKTI0MCBiIEZ0KFRoZSkzMCBiKHN5biltKHRheCloKG9mKWYodGhlKWgKK0ZzKHVudGlsKWUgRnQoY29tbWFuZCloKGlzOik4NzAgNDY3NiB5IEZzKHVudGlsKTQ2IGIKK0ZpKHRlc3QtY29tbWFuZHMpMTEgYiBGcyg7KTQ0IGIoZG8paiBGaShjb25zZXF1ZW50LWNvbW1hbmRzKTExCitiIEZzKDspNDIgYihkb25lKTYzMCA0ODE0IHkgRnQoRXhlY3V0ZSlnIEZxKGNvbnNlcXVlbiltKHQtY29tbWFuZHMpaworRnQoYXMpNDEgYihsb25nKWgoYXMpZiBGcSh0ZXN0LWNvbW1hbmRzKTQ2IGIgRnQoaGFzKTQxCitiKGFuKWcoZXhpdCloKHN0YXR1cyk2MzAgNDkyNCB5KHdoaWMpbShoKWMoaXMpaChub3QpZyh6ZXJvLik2NworYihUaGUpMzggYihyZXR1cm4pZyhzdGF0dXMpaChpcylmKHRoZSloKGV4aXQpaChzdGF0dXMpZihvZilnKHRoZSlnCisobGFzdClnKGNvbW1hbmQpNjMwIDUwMzQgeShleGVjdXRlZCkzMSBiKGluKWYgRnEoY29uc2VxdWVuKW0KKyh0LWNvbW1hbmRzKXQgRnQoLCloKG9yKWcoemVybylnKGlmKWYobm9uZSloKHcpbShhcylmKGV4ZWN1dGVkLikxNTAKKzUyMDEgeSBGcyh3aGlsZSkyNDAgYiBGdChUaGUpMzAgYihzeW4pbSh0YXgpaChvZilmKHRoZSloCitGcyh3aGlsZSllIEZ0KGNvbW1hbmQpaChpczopODcwIDUzNDAgeSBGcyh3aGlsZSk0NiBiCitGaSh0ZXN0LWNvbW1hbmRzKTExIGIgRnMoOyk0NCBiKGRvKWogRmkoY29uc2VxdWVudC1jb21tYW5kcykxMQorYiBGcyg7KTQyIGIoZG9uZSlwIGVvcCBlbmQKICUlUGFnZTogMTAgMTYKIFRlWERpY3QgYmVnaW4gMTAgMTUgYm9wIDE1MCAtMTE2IGEgRnQoMTApMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGaygzLjIuNC4xKTYzIGIoTG8pcyhvcGluZyk0MwotYihDb25zdHJ1Y3RzKTI3NSA1NDQgeSBGdChCYXNoKTMwIGIoc3VwcClzKG9ydHMpZih0aGUpaChmb2xsbyltKHdpbmcpaQotKGxvKXMob3BpbmcpZihjb25zdHJ1Y3RzLikyNzUgNjgwIHkoTm90ZSlrKHRoYXQpZih3aGVyZXYpbShlcilnKGEpZyhgKXAKLUZzKDspcCBGdCgnKWcoYXBwKXMoZWFycylmKGluKWgodGhlKWcoZGVzY3JpcHRpb24pZyhvZilnKGEpZyhjb21tYW5kJ3MpCi1nKHN5biltKHRheCwpaShpdCllKG1hKW0oeSloKGIpcyhlKTE1MCA3OTAgeShyZXBsYWNlZCljKHdpdGgpZihvbmUpaAotKG9yKWYobW9yZSlnKG5ld2xpbmVzLikxNTAgOTUxIHkgRnModW50aWwpMjQwIGIgRnQoVGhlKTMwCi1iKHN5biltKHRheCloKG9mKWYodGhlKWggRnModW50aWwpZSBGdChjb21tYW5kKWgoaXM6KTg3MAotMTA4NiB5IEZzKHVudGlsKTQ2IGIgRmoodGVzdC1jb21tYW5kcykxMSBiIEZzKDspNDQgYihkbylqCi1Gaihjb25zZXF1ZW50LWNvbW1hbmRzKTExIGIgRnMoOyk0MiBiKGRvbmUpNjMwIDEyMjIgeQotRnQoRXhlY3V0ZSlnIEZxKGNvbnNlcXVlbiltKHQtY29tbWFuZHMpayBGdChhcyk0MSBiKGxvbmcpaChhcylmCi1GcSh0ZXN0LWNvbW1hbmRzKTQ2IGIgRnQoaGFzKTQxIGIoYW4pZyhleGl0KWgoc3RhdHVzKTYzMAotMTMzMSB5KHdoaWMpbShoKWMoaXMpaChub3QpZyh6ZXJvLik2NyBiKFRoZSkzOCBiKHJldHVybilnKHN0YXR1cyloKGlzKWYKLSh0aGUpaChleGl0KWgoc3RhdHVzKWYob2YpZyh0aGUpZyhsYXN0KWcoY29tbWFuZCk2MzAKLTE0NDEgeShleGVjdXRlZCkzMSBiKGluKWYgRnEoY29uc2VxdWVuKW0odC1jb21tYW5kcylwCi1GdCgsKWkob3IpZSh6ZXJvKWgoaWYpZyhub25lKWYodyltKGFzKWgoZXhlY3V0ZWQuKTE1MAotMTYwMiB5IEZzKHdoaWxlKTI0MCBiIEZ0KFRoZSkzMCBiKHN5biltKHRheCloKG9mKWYodGhlKWgKLUZzKHdoaWxlKWUgRnQoY29tbWFuZCloKGlzOik4NzAgMTczNyB5IEZzKHdoaWxlKTQ2IGIKLUZqKHRlc3QtY29tbWFuZHMpMTEgYiBGcyg7KTQ0IGIoZG8paiBGaihjb25zZXF1ZW50LWNvbW1hbmRzKTExCi1iIEZzKDspNDIgYihkb25lKTYzMCAxODcyIHkgRnQoRXhlY3V0ZSlnIEZxKGNvbnNlcXVlbiltKHQtY29tbWFuZHMpawotRnQoYXMpNDEgYihsb25nKWgoYXMpZiBGcSh0ZXN0LWNvbW1hbmRzKTQ2IGIgRnQoaGFzKTQxCi1iKGFuKWcoZXhpdCloKHN0YXR1cyk2MzAgMTk4MiB5KG9mKTM0IGIoemVyby4pNTMgYihUaGUpMzQKLWIocmV0dXJuKWYoc3RhdHVzKWgoaXMpaCh0aGUpZihleGl0KWgoc3RhdHVzKWcob2YpZih0aGUpZyhsYXN0KWgKLShjb21tYW5kKWYoZXhlY3V0ZWQpaChpbik2MzAgMjA5MSB5IEZxKGNvbnNlcXVlbiltKHQtY29tbWFuZHMpcAorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5KEV4ZWN1dGUpNDIgYiBGcShjb25zZXF1ZW4pbQorKHQtY29tbWFuZHMpayBGdChhcyk0MSBiKGxvbmcpaChhcylmIEZxKHRlc3QtY29tbWFuZHMpNDYKK2IgRnQoaGFzKTQxIGIoYW4pZyhleGl0KWgoc3RhdHVzKTYzMCA0MDggeShvZikzNCBiKHplcm8uKTUzCitiKFRoZSkzNCBiKHJldHVybilmKHN0YXR1cyloKGlzKWgodGhlKWYoZXhpdCloKHN0YXR1cylnKG9mKWYodGhlKWcKKyhsYXN0KWgoY29tbWFuZClmKGV4ZWN1dGVkKWgoaW4pNjMwIDUxOCB5IEZxKGNvbnNlcXVlbiltKHQtY29tbWFuZHMpdAogRnQoLCljKG9yKWcoemVybylnKGlmKWYobm9uZSlnKHcpbShhcyloKGV4ZWN1dGVkLikxNTAKLTIyNTIgeSBGcyhmb3IpMzM2IGIgRnQoVGhlKTMwIGIoc3luKW0odGF4KWgob2YpZih0aGUpaAotRnMoZm9yKWUgRnQoY29tbWFuZClpKGlzOik4NzAgMjM4NyB5IEZzKGZvcik0NyBiIEZqKG5hbWUpNTcKLWIgRnMoW2luKTQ3IGIgRmood29yZHMpNTcgYiBGcyguLi4pbyhdOyk0NyBiKGRvKWcgRmooY29tbWFuZHMpMTEKLWIgRnMoOyk0NSBiKGRvbmUpNjMwIDI1MjIgeSBGdChFeHBhbmQpMzEgYiBGcSh3KW0ob3JkcylwCi1GdCgsKWooYW5kKWUoZXhlY3V0ZSlpIEZxKGNvbW1hbmRzKWkgRnQob25jZSlkKGZvcilnKGVhYyltKGgpaChtZW0pbShiKQotcyhlcillKGluKWcodGhlKWgocmVzdWx0YW4pbSh0KTYzMCAyNjMyIHkobGlzdCwpYyh3aXRoKWYKLUZxKG5hbWUpMzMgYiBGdChiKXMob3VuZCkyNiBiKHRvKWoodGhlKWYoY3VycmVuKW0odClnKG1lbSltKGIpcyhlci4pNDAKLWIoSWYpMjcgYihgKXAgRnMoaW4paiBGaih3b3JkcykxMSBiIEZ0KCcpMjcgYihpcyloKG5vdClnKHByZXNlbiltKHQsKWgKLSh0aGUpNjMwIDI3NDEgeSBGcyhmb3IpZyBGdChjb21tYW5kKWcoZXhlY3V0ZXMpaSh0aGUpZQotRnEoY29tbWFuZHMpayBGdChvbmNlKWQoZm9yKWYoZWFjKW0oaClpKHApcyhvc2l0aW9uYWwpZihwYXJhbWV0ZXIpZwotKHRoYXQpNjMwIDI4NTEgeShpcylkKHNldCwpaChhcylmKGlmKWcoYClwIEZzKGluKWooIiRAIilwCi1GdCgnKWMoaGFkKWcoYilzKGVlbilnKHNwKXMoZWNpXDAxNGVkKWcoXChzZWUpaShTZWN0aW9uKWYoMy40LjIpaShbU3ApcwotKGVjaWFsKWUoUCltKGFyYW1ldGVyc10sKTYzMCAyOTYxIHkocGFnZSljKDE3XCkuKTM5IGIoVGhlKTIxCi1iKHJldHVybilnKHN0YXR1cyloKGlzKWcodGhlKWcoZXhpdCloKHN0YXR1cylmKG9mKWcodGhlKWcobGFzdClnCi0oY29tbWFuZClnKHRoYXQpZyhleGVjdXRlcy4pNjMwIDMwNzAgeShJZilpKHRoZXJlKWgoYXJlKWgobm8pZShpdGVtcylpCi0oaW4pZSh0aGUpaChleHBhbnNpb24pZyhvZilnIEZxKHcpbShvcmRzKXAgRnQoLCloKG5vKWYoY29tbWFuZHMpZihhcmUpaAotKGV4ZWN1dGVkLClqKGFuZCk2MzAgMzE4MCB5KHRoZSlqKHJldHVybillKHN0YXR1cylpKGlzKWYoemVyby4pNjMwCi0zMzE1IHkoQW4pZyhhbHRlcm5hdGUpaShmb3JtKWUob2YpaCh0aGUpZiBGcyhmb3IpZyBGdChjb21tYW5kKWcoaXMpZwotKGFsc28paChzdXBwKXMob3J0ZWQ6KTg3MCAzNDUwIHkgRnMoZm9yKTQ3IGIoXChcKClnIEZqKGV4cHIxKTU3Ci1iIEZzKDspNDcgYiBGaihleHByMik1NyBiIEZzKDspNDggYiBGaihleHByMyk1NyBiIEZzKFwpXCkpNDcKLWIoOylnKGRvKWcgRmooY29tbWFuZHMpNTcgYiBGcyg7KTQ3IGIoZG9uZSk2MzAgMzU4NSB5Ci1GdChGaXJzdCwpMzggYih0aGUpZihhcml0aG1ldGljKWgoZXhwcmVzc2lvbillIEZxKGV4cHIxKTQzCi1iIEZ0KGlzKTM2IGIoZXYpLTUgYihhbHVhdGVkKTM4IGIoYWNjb3JkaW5nKWYodG8pZyh0aGUpZyhydWxlcylmKGRlLSkKLTYzMCAzNjk1IHkoc2NyaWIpcyhlZCk0MSBiKGIpcyhlbG8pbSh3KWgoXChzZWUpaChTZWN0aW9uKWcoNi41KWcKLShbU2hlbGwpZyhBcml0aG1ldGljXSwpaihwYWdlKWQoNzhcKS4pNzcgYihUaGUpNDIgYihhcml0aG1ldGljKTYzMAotMzgwNSB5KGV4cHJlc3Npb24pMzMgYiBGcShleHByMik0MSBiIEZ0KGlzKTM0IGIodGhlbilmKGV2KS01Ci1iKGFsdWF0ZWQpMzUgYihyZXApcyhlYXRlZGx5KWYodW4pbSh0aWwpZyhpdClnKGV2KS01Ci1iKGFsdWF0ZXMpMzUgYih0bylnKHplcm8uKTUxIGIoRWFjKW0oaCk2MzAgMzkxNCB5KHRpbWUpMjMKLWIgRnEoZXhwcjIpMzAgYiBGdChldiktNSBiKGFsdWF0ZXMpMjUgYih0byllKGEpZyhub24temVybyloKHYpLTUKLWIoYWx1ZSwpMjUgYiBGcShjb21tYW5kcyloIEZ0KGFyZSlkKGV4ZWN1dGVkKWcoYW5kKWcodGhlKWcoYXJpdGgtKTYzMAotNDAyNCB5KG1ldGljKTI5IGIoZXhwcmVzc2lvbilmIEZxKGV4cHIzKTM2IGIgRnQoaXMpMjgKKzY2OCB5IEZzKGZvcikzMzYgYiBGdChUaGUpMzAgYihzeW4pbSh0YXgpaChvZilmKHRoZSloCitGcyhmb3IpZSBGdChjb21tYW5kKWkoaXM6KTg3MCA3OTcgeSBGcyhmb3IpNDcgYiBGaShuYW1lKTU3CitiIEZzKFspNDggYihbaW4pZShbKXAgRmkod29yZHMpNTcgYiBGcyguLi4pbyhdKTQ4IGIoXSlmKDspaChdKWYoZG8pZworRmkoY29tbWFuZHMpMTEgYiBGcyg7KTQ1IGIoZG9uZSk2MzAgOTI3IHkgRnQoRXhwYW5kKTMxCitiIEZxKHcpbShvcmRzKXQgRnQoLClpKGFuZCllKGV4ZWN1dGUpaiBGcShjb21tYW5kcylpCitGdChvbmNlKWQoZm9yKWYoZWFjKW0oaClpKG1lbSltKGIpcyhlcillKGluKWcodGhlKWcocmVzdWx0YW4pbSh0KTYzMAorMTAzNyB5KGxpc3QsKWQod2l0aClmIEZxKG5hbWUpMzMgYiBGdChiKXMob3VuZCkyNiBiKHRvKWoodGhlKWYoY3VycmVuKW0KKyh0KWcobWVtKW0oYilzKGVyLik0MCBiKElmKTI3IGIoYClwIEZzKGluKWogRmkod29yZHMpMTEKK2IgRnQoJykyNyBiKGlzKWgobm90KWcocHJlc2VuKW0odCwpaCh0aGUpNjMwIDExNDYgeSBGcyhmb3IpZworRnQoY29tbWFuZClnKGV4ZWN1dGVzKWkodGhlKWUgRnEoY29tbWFuZHMpayBGdChvbmNlKWQoZm9yKWYoZWFjKW0oaClpCisocClzKG9zaXRpb25hbClmKHBhcmFtZXRlcilnKHRoYXQpNjMwIDEyNTYgeShpcylkKHNldCwpaChhcylmKGlmKWcoYClwCitGcyhpbilqKCIkQCIpcCBGdCgnKWMoaGFkKWcoYilzKGVlbilnKHNwKXMoZWNpXDAxNGVkKWcoXChzZWUpaShTZWN0aW9uKQorZigzLjQuMilpKFtTcClzKGVjaWFsKWUoUCltKGFyYW1ldGVyc10sKTYzMCAxMzY1IHkocGFnZSljKDE2XCkuKTM5CitiKFRoZSkyMSBiKHJldHVybilnKHN0YXR1cyloKGlzKWcodGhlKWcoZXhpdCloKHN0YXR1cylmKG9mKWcodGhlKWcKKyhsYXN0KWcoY29tbWFuZClnKHRoYXQpZyhleGVjdXRlcy4pNjMwIDE0NzUgeShJZikzNyBiKHRoZXJlKWgoYXJlKWcobm8pCitnKGl0ZW1zKWcoaW4pZyh0aGUpZyhleHBhbnNpb24pZyhvZilmIEZxKHcpbShvcmRzKXQgRnQoLClqKG5vKWQKKyhjb21tYW5kcyloKGFyZSlnKGV4ZWN1dGVkLCk2MzAgMTU4NSB5KGFuZCkzMCBiKHRoZSlnKHJldHVybilnKHN0YXR1cylnCisoaXMpaCh6ZXJvLik2MzAgMTcxNCB5KEFuKWYoYWx0ZXJuYXRlKWkoZm9ybSllKG9mKWgodGhlKWYKK0ZzKGZvcilnIEZ0KGNvbW1hbmQpZyhpcylnKGFsc28paChzdXBwKXMob3J0ZWQ6KTg3MCAxODQ0Cit5IEZzKGZvcik0NyBiKFwoXCgpZyBGaShleHByMSk1NyBiIEZzKDspNDcgYiBGaShleHByMik1NworYiBGcyg7KTQ4IGIgRmkoZXhwcjMpNTcgYiBGcyhcKVwpKTQ3IGIoOylnKGRvKWcgRmkoY29tbWFuZHMpNTcKK2IgRnMoOyk0NyBiKGRvbmUpNjMwIDE5NzQgeSBGdChGaXJzdCwpMzggYih0aGUpZihhcml0aG1ldGljKWgKKyhleHByZXNzaW9uKWUgRnEoZXhwcjEpNDMgYiBGdChpcykzNiBiKGV2KS01IGIoYWx1YXRlZCkzOAorYihhY2NvcmRpbmcpZih0bylnKHRoZSlnKHJ1bGVzKWYoZGUtKTYzMCAyMDgzIHkoc2NyaWIpcyhlZCk0MQorYihiKXMoZWxvKW0odyloKFwoc2VlKWgoU2VjdGlvbilnKDYuNSlnKFtTaGVsbClnKEFyaXRobWV0aWNdLClqKHBhZ2UpZAorKDc4XCkuKTc3IGIoVGhlKTQyIGIoYXJpdGhtZXRpYyk2MzAgMjE5MyB5KGV4cHJlc3Npb24pMzMKK2IgRnEoZXhwcjIpNDEgYiBGdChpcykzNCBiKHRoZW4pZihldiktNSBiKGFsdWF0ZWQpMzUKK2IocmVwKXMoZWF0ZWRseSlmKHVuKW0odGlsKWcoaXQpZyhldiktNSBiKGFsdWF0ZXMpMzUKK2IodG8pZyh6ZXJvLik1MSBiKEVhYyltKGgpNjMwIDIzMDIgeSh0aW1lKTIzIGIgRnEoZXhwcjIpMzAKK2IgRnQoZXYpLTUgYihhbHVhdGVzKTI1IGIodG8pZShhKWcobm9uLXplcm8paCh2KS01IGIoYWx1ZSwpMjUKK2IgRnEoY29tbWFuZHMpaCBGdChhcmUpZChleGVjdXRlZClnKGFuZClnKHRoZSlnKGFyaXRoLSk2MzAKKzI0MTIgeShtZXRpYykyOSBiKGV4cHJlc3Npb24pZiBGcShleHByMykzNiBiIEZ0KGlzKTI4CiBiKGV2KS01IGIoYWx1YXRlZC4pNDEgYihJZikyOCBiKGFuKW0oeSloKGV4cHJlc3Npb24pZihpcylnKG9taXR0ZWQsKWkKLShpdClmKGIpcyhlaGEpbSh2KW0oZXMpZyhhcyk2MzAgNDEzMyB5KGlmKWkoaXQpaChldiktNQorKGl0KWYoYilzKGVoYSltKHYpbShlcylnKGFzKTYzMCAyNTIyIHkoaWYpaShpdCloKGV2KS01CiBiKGFsdWF0ZXMpMzIgYih0bylnKDEuKTQ0IGIoVGhlKTMwIGIocmV0dXJuKWcodiktNSBiKGFsdWUpMzIKIGIoaXMpZih0aGUpZyhleGl0KWgoc3RhdHVzKWcob2YpZih0aGUpZyhsYXN0KWgoY29tbWFuZClmKGluKTYzMAotNDI0MyB5IEZxKGxpc3QpaSBGdCh0aGF0KWUoaXMpZihleGVjdXRlZCwpaShvcillKGZhbHNlKWgoaWYpZyhhbiltKHkpZgorMjYzMSB5IEZxKGxpc3QpaSBGdCh0aGF0KWUoaXMpZihleGVjdXRlZCwpaShvcillKGZhbHNlKWgoaWYpZyhhbiltKHkpZgogKG9mKWgodGhlKWYoZXhwcmVzc2lvbnMpZyhpcyloKGluKW0odiktNSBiKGFsaWQuKTI3NQotNDQwNCB5KFRoZSkyNiBiIEZzKGJyZWFrKWcgRnQoYW5kKWggRnMoY29udGludWUpZSBGdChidWlsdGlucylpKFwoc2VlKWgKKzI3ODEgeShUaGUpMjYgYiBGcyhicmVhaylnIEZ0KGFuZCloIEZzKGNvbnRpbnVlKWUgRnQoYnVpbHRpbnMpaShcKHNlZSloCiAoU2VjdGlvbiloKDQuMSlmKFtCb3VybmUpZyhTaGVsbClmKEJ1aWx0aW5zXSwpaShwYWdlKWYoMzVcKSlnKG1hKW0oeSkKLTE1MCA0NTE0IHkoYilzKGUpaSh1c2VkKWYodG8paShjb24pbSh0cm9sKWgobG8pcyhvcClmKGV4ZWN1dGlvbi4pMTUwCi00NzQxIHkgRmsoMy4yLjQuMik2MyBiKENvbmRpdGlvbmFsKTQyIGIoQ29uc3RydWN0cykxNTAKLTQ5ODYgeSBGcyhpZikzODQgYiBGdChUaGUpMzAgYihzeW4pbSh0YXgpaChvZilmKHRoZSloCi1GcyhpZilmIEZ0KGNvbW1hbmQpZyhpczopODcwIDUxMjEgeSBGcyhpZik0NyBiIEZqKHRlc3QtY29tbWFuZHMpMTEKLWIgRnMoOyk0NCBiKHRoZW4pOTY1IDUyMzAgeSBGaihjb25zZXF1ZW50LWNvbW1hbmRzKTExCi1iIEZzKDspODcwIDUzNDAgeShbZWxpZik0NiBiIEZqKG1vcmUtdGVzdC1jb21tYW5kcykxMQotYiBGcyg7KTQyIGIodGhlbilwIGVvcCBlbmQKLSUlUGFnZTogMTEgMTcKLVRlWERpY3QgYmVnaW4gMTEgMTYgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDM6KTQxCi1iKEJhc2ljKTMyIGIoU2hlbGwpZShGKS04IGIoZWF0dXJlcykyMjQ2IGIoMTEpOTY1IDI5OQoteSBGaihtb3JlLWNvbnNlcXVlbnRzKTExIGIgRnMoO10pODcwIDQwOCB5KFtlbHNlKTQ2IGIKLUZqKGFsdGVybmF0ZS1jb25zZXF1ZW50cykxMSBiIEZzKDtdKTg3MCA1MTggeShmaSk2MzAKLTY0NiB5IEZ0KFRoZSk1MyBiIEZxKHRlc3QtY29tbWFuZHMpNTggYiBGdChsaXN0KWMoaXMpZyhleGVjdXRlZCwpNjAKLWIoYW5kKTUzIGIoaWYpZyhpdHMpaChyZXR1cm4pZShzdGF0dXMpaShpcylmKHplcm8sKTYxCi1iKHRoZSk2MzAgNzU2IHkgRnEoY29uc2VxdWVuKW0odC1jb21tYW5kcyk0NCBiIEZ0KGxpc3QpZChpcylmCi0oZXhlY3V0ZWQuKTcwIGIoSWYpNDAgYiBGcSh0ZXN0LWNvbW1hbmRzKWsgRnQocmV0dXJucykzOQotYihhKWgobm9uLXplcm8pNjMwIDg2NSB5KHN0YXR1cywpNDUgYihlYWMpbShoKWUgRnMoZWxpZilkCi1GdChsaXN0KWkoaXMpZyhleGVjdXRlZCloKGluKWUodHVybiwpaihhbmQpZChpZilnKGl0cyloKGV4aXQpaChzdGF0dXMpZgotKGlzKWYoemVybywpNDYgYih0aGUpNjMwIDk3NSB5KGNvcnJlc3ApcyhvbmRpbmcpMzcgYgotRnEobW9yZS1jb25zZXF1ZW4pbSh0cyk0MiBiIEZ0KGlzKWMoZXhlY3V0ZWQpZyhhbmQpZih0aGUpaChjb21tYW5kKWcKLShjb21wbGV0ZXMuKTYzIGIoSWYpNjMwIDEwODQgeShgKXAgRnMoZWxzZSkyOSBiIEZqCisxNTAgMjg5MCB5KGIpcyhlKWkodXNlZClmKHRvKWkoY29uKW0odHJvbCloKGxvKXMob3ApZihleGVjdXRpb24uKTE1MAorMzA4MCB5IEZqKDMuMi40LjIpNjMgYihDb25kaXRpb25hbCk0MiBiKENvbnN0cnVjdHMpMTUwCiszMjQ3IHkgRnMoaWYpMzg0IGIgRnQoVGhlKTMwIGIoc3luKW0odGF4KWgob2YpZih0aGUpaAorRnMoaWYpZiBGdChjb21tYW5kKWcoaXM6KTg3MCAzMzc3IHkgRnMoaWYpNDcgYiBGaSh0ZXN0LWNvbW1hbmRzKTExCitiIEZzKDspNDQgYih0aGVuKTk2NSAzNDg2IHkgRmkoY29uc2VxdWVudC1jb21tYW5kcykxMQorYiBGcyg7KTg3MCAzNTk2IHkoW2VsaWYpNDYgYiBGaShtb3JlLXRlc3QtY29tbWFuZHMpMTEKK2IgRnMoOyk0MiBiKHRoZW4pOTY1IDM3MDUgeSBGaShtb3JlLWNvbnNlcXVlbnRzKTExIGIKK0ZzKDtdKTg3MCAzODE1IHkoW2Vsc2UpNDYgYiBGaShhbHRlcm5hdGUtY29uc2VxdWVudHMpMTEKK2IgRnMoO10pODcwIDM5MjUgeShmaSk2MzAgNDA1NCB5IEZ0KFRoZSk1MyBiIEZxKHRlc3QtY29tbWFuZHMpNTgKK2IgRnQobGlzdCljKGlzKWcoZXhlY3V0ZWQsKTYwIGIoYW5kKTUzIGIoaWYpZyhpdHMpaChyZXR1cm4pZShzdGF0dXMpaQorKGlzKWYoemVybywpNjEgYih0aGUpNjMwIDQxNjQgeSBGcShjb25zZXF1ZW4pbSh0LWNvbW1hbmRzKTQ0CitiIEZ0KGxpc3QpZChpcylmKGV4ZWN1dGVkLik3MCBiKElmKTQwIGIgRnEodGVzdC1jb21tYW5kcylrCitGdChyZXR1cm5zKTM5IGIoYSloKG5vbi16ZXJvKTYzMCA0MjczIHkoc3RhdHVzLCk0NSBiKGVhYyltKGgpZQorRnMoZWxpZilkIEZ0KGxpc3QpaShpcylnKGV4ZWN1dGVkKWgoaW4pZSh0dXJuLClqKGFuZClkKGlmKWcoaXRzKWgoZXhpdCkKK2goc3RhdHVzKWYoaXMpZih6ZXJvLCk0NiBiKHRoZSk2MzAgNDM4MyB5KGNvcnJlc3ApcyhvbmRpbmcpMzcKK2IgRnEobW9yZS1jb25zZXF1ZW4pbSh0cyk0MiBiIEZ0KGlzKWMoZXhlY3V0ZWQpZyhhbmQpZih0aGUpaChjb21tYW5kKWcKKyhjb21wbGV0ZXMuKTYzIGIoSWYpNjMwIDQ0OTMgeShgKXAgRnMoZWxzZSkyOSBiIEZpCiAoYWx0ZXJuYXRlLWNvbnNlcXVlbnRzKTExIGIgRnQoJykyMyBiKGlzKTMwIGIocHJlc2VuKW0odCwpZihhbmQpZyh0aGUpZwotKFwwMTRuYWwpZyhjb21tYW5kKWYoaW4paCh0aGUpZyhcMDE0bmFsKTYzMCAxMTk0IHkgRnMoaWYpNDQKKyhcMDE0bmFsKWcoY29tbWFuZClmKGluKWgodGhlKWcoXDAxNG5hbCk2MzAgNDYwMiB5IEZzKGlmKTQ0CiBiIEZ0KG9yKWcgRnMoZWxpZilmIEZ0KGNsYXVzZSlpKGhhcylmKGEpaChub24temVybylnKGV4aXQpZyhzdGF0dXMsKWoKLSh0aGVuKWMgRnEoYWx0ZXJuYXRlLWNvbnNlcXVlbiltKHRzKTUxIGIgRnQoaXMpNjMwIDEzMDMKKyh0aGVuKWMgRnEoYWx0ZXJuYXRlLWNvbnNlcXVlbiltKHRzKTUxIGIgRnQoaXMpNjMwIDQ3MTIKIHkoZXhlY3V0ZWQuKWsoVGhlKTM0IGIocmV0dXJuKWcoc3RhdHVzKWgoaXMpZih0aGUpaChleGl0KWgoc3RhdHVzKWYob2YpCi1nKHRoZSlnKGxhc3QpZyhjb21tYW5kKWcoZXhlY3V0ZWQsKTYzMCAxNDEzIHkob3IpMzAgYih6ZXJvKWkoaWYpZShubylnCi0oY29uZGl0aW9uKWgodGVzdGVkKWcodHJ1ZS4pMTUwIDE1NTkgeSBGcyhjYXNlKTI4OCBiCitnKHRoZSlnKGxhc3QpZyhjb21tYW5kKWcoZXhlY3V0ZWQsKTYzMCA0ODIxIHkob3IpMzAgYih6ZXJvKWkoaWYpZShubylnCisoY29uZGl0aW9uKWgodGVzdGVkKWcodHJ1ZS4pMTUwIDQ5NzEgeSBGcyhjYXNlKTI4OCBiCiBGdChUaGUpMzAgYihzeW4pbSh0YXgpaChvZilmKHRoZSloIEZzKGNhc2UpZSBGdChjb21tYW5kKWgoaXM6KTg3MAotMTY4NyB5IEZzKGNhc2UpNDcgYiBGaih3b3JkKTU3IGIgRnMoaW4pNDcgYihbKWcoW1woXSlnCi1GaihwYXR0ZXJuKTU3IGIgRnMoW3wpNDcgYiBGaihwYXR0ZXJuKTExIGIgRnMoXS4uLilsKFwpKTQ4Ci1iIEZqKGNvbW1hbmQtbGlzdCk1NSBiIEZzKDs7XS4uLik0NiBiKGVzYWMpNjMwIDE4MTUgeShjYXNlKTIwCis1MTAxIHkgRnMoY2FzZSk0NyBiIEZpKHdvcmQpNTcgYiBGcyhpbik0NyBiKFspZyhbXChdKWcKK0ZpKHBhdHRlcm4pNTcgYiBGcyhbfCk0NyBiIEZpKHBhdHRlcm4pMTEgYiBGcyhdLi4uKWwoXCkpNDgKK2IgRmkoY29tbWFuZC1saXN0KTU1IGIgRnMoOztdLi4uKTQ2IGIoZXNhYyk2MzAgNTIzMCB5KGNhc2UpMjAKIGIgRnQod2lsbClpKHNlbGVjdGl2KW0oZWx5KWooZXhlY3V0ZSllKHRoZSllIEZxKGNvbW1hbmQtbGlzdClrCiBGdChjb3JyZXNwKXMob25kaW5nKTIwIGIodG8paSh0aGUpZyhcMDE0cnN0KWYgRnEocGF0dGVybik2MzAKLTE5MjQgeSBGdCh0aGF0KTQyIGIobWF0YyltKGhlcylnIEZxKHcpbShvcmQpcCBGdCguKTczCi1iKElmKTQxIGIodGhlKWcoc2hlbGwpZyhvcHRpb24paCBGcyhub2Nhc2VtYXRjaCljIEZ0KFwoc2VlKWsodGhlKWcKLShkZXNjcmlwdGlvbilmKG9mKTYzMCAyMDM0IHkgRnMoc2hvcHQpMzQgYiBGdChpbiloKFNlY3Rpb24paCg0LjMuMiloCi0oW1RoZSllKFNob3B0KWYoQnVpbHRpbl0sKWsocGFnZSllKDU0XCkpZyhpcylnKGVuYWJsZWQsKWcodGhlKWcobWF0YyltCi0oaClnKGlzKTYzMCAyMTQ0IHkocClzKGVyZm9ybWVkKTI5IGIod2l0aG91dClpKHJlZ2FyZClnKHRvKWcodGhlKWcKLShjYXNlKWgob2YpZihhbHBoYWIpcyhldGljKWcoYyltKGhhcmFjdGVycy4pNDQgYihUaGUpMzAKLWIoYClwIEZzKHwpcCBGdCgnKWgoaXMpZyh1c2VkKTYzMCAyMjUzIHkodG8pZShzZXBhcmF0ZSlnKG0pbSh1bHRpcGxlKWcKLShwYXR0ZXJucywpZyhhbmQpZSh0aGUpaShgKXAgRnMoXCkpcCBGdCgnKWYob3ApcyhlcmF0b3IpZyh0ZXJtaW5hdGVzKWgKLShhKWcocGF0dGVybilmKGxpc3QuKTQxIGIoQSk2MzAgMjM2MyB5KGxpc3QpMzEgYihvZilnKHBhdHRlcm5zKWYoYW5kKWcKLShhbilnKGFzc28pcyhjaWF0ZWQpaShjb21tYW5kLWxpc3QpZihpcylmKGtubyltKHduKWcoYXMpaChhKWcKLUZxKGNsYXVzZSlwIEZ0KC4pNjMwIDI0OTEgeShFYWMpbShoKTQyIGIoY2xhdXNlKWcobSltKHVzdClmKGIpcyhlKWcKLSh0ZXJtaW5hdGVkKWgod2l0aCllKGApcCBGcyg7OylwIEZ0KCcsKTQ1IGIoYClwIEZzKCwmKXAKLUZ0KCcsKWYob3IpZChgKXAgRnMoOzsmKXAgRnQoJy4pNzMgYihUaGUpNDEgYiBGcSh3KW0ob3JkKWoKLUZ0KHVuZGVyLSk2MzAgMjYwMCB5KGdvKXMoZXMpMzUgYih0aWxkZSlmKGV4cGFuc2lvbiwpaChwYXJhbWV0ZXIpZwotKGV4cGFuc2lvbiwpZyhjb21tYW5kKWYoc3Vic3RpdHV0aW9uLCloKGFyaXRobWV0aWMpNjMwCi0yNzEwIHkoZXhwYW5zaW9uLCk0NyBiKGFuZClkKHF1b3RlKWcocmVtbyltKHYpLTUgYihhbCk0NQotYihiKXMoZWZvcmUpZihtYXRjKW0oaGluZyloKGlzKWYoYXR0ZW1wdGVkLik4MiBiKEVhYyltKGgpNDUKLWIgRnEocGF0dGVybik2MzAgMjgxOSB5IEZ0KHVuZGVyZ28pcyhlcykzOCBiKHRpbGRlKWgoZXhwYW5zaW9uLClpCi0ocGFyYW1ldGVyKWUoZXhwYW5zaW9uLClpKGNvbW1hbmQpZChzdWJzdGl0dXRpb24sKWooYW5kKTYzMAotMjkyOSB5KGFyaXRobWV0aWMpMzIgYihleHBhbnNpb24uKTYzMCAzMDU3IHkoVGhlcmUpZShtYSltKHkpZyhiKXMoZSlmCi0oYW4paChhcmJpdHJhcnkpZyhuKW0odW0pbShiKXMoZXIpZihvZiloIEZzKGNhc2UpZiBGdChjbGF1c2VzLClpKGVhYyltCi0oaClnKHRlcm1pbmF0ZWQpZyhiKW0oeSllKGEpaShgKXAgRnMoOzspcCBGdCgnLCk2MzAgMzE2NgoteShgKXAgRnMoOyYpcCBGdCgnLCljKG9yKWUoYClwIEZzKDs7JilwIEZ0KCcuKTM5IGIoVGhlKTI1Ci1iKFwwMTRyc3QpZyhwYXR0ZXJuKWgodGhhdClnKG1hdGMpbShoZXMpaChkZXRlcm1pbmVzKWUodGhlKWgKLShjb21tYW5kLWxpc3QpZyh0aGF0KTYzMCAzMjc2IHkoaXMpayhleGVjdXRlZC4pNjMwIDM0MDQKLXkoSGVyZSkzNSBiKGlzKWcoYW4pZyhleGFtcGxlKWgodXNpbmcpZSBGcyhjYXNlKWcgRnQoaW4pZyhhKWgoc2NyaXB0KWcKLSh0aGF0KWgoY291bGQpZihiKXMoZSlmKHVzZWQpZyh0byloKGRlc2NyaWIpcyhlKWcob25lKTYzMAotMzUxMyB5KGluKW0odGVyZXN0aW5nKWQoZmVhdHVyZSlmKG9mKWYoYW4pZyhhbmltYWw6KTg3MAotMzY0MSB5IEZzKGVjaG8pNDcgYigtbilnKCJFbnRlcilmKHRoZSloKG5hbWUpZihvZilpKGFuKWYoYW5pbWFsOilmKCIpCi04NzAgMzc1MSB5KHJlYWQpaChBTklNQUwpODcwIDM4NjEgeShlY2hvKWcoLW4pZygiVGhlKWYoJEFOSU1BTClnKGhhcyloCi0oIik4NzAgMzk3MCB5KGNhc2UpZygkQU5JTUFMKWUoaW4pOTY1IDQwODAgeShob3JzZSlpKHwpZyhkb2cpZyh8KWgKLShjYXRcKSllKGVjaG8paCgtbilnKCJmb3VyIjs7KTk2NSA0MTg5IHkobWFuKWcofCloKGthbmdhcm9vKWQoXCkpagotKGVjaG8pZSgtbilpKCJ0d28iOzspOTY1IDQyOTkgeSgqXCkpZyhlY2hvKWUoLW4paCgiYW4pZyh1bmtub3duKWYKLShudW1iZXIpZyhvZiI7Oyk4NzAgNDQwOCB5KGVzYWMpODcwIDQ1MTggeShlY2hvKWgoIilnKGxlZ3MuIik2MzAKLTQ2NjQgeSBGdChJZikyNSBiKHRoZSloKGApcCBGcyg7OylwIEZ0KCcpZyhvcClzKGVyYXRvcilnKGlzKWcodXNlZCwpZworNTM0MCB5IEZ0KHRoYXQpNDIgYihtYXRjKW0oaGVzKWcgRnEodyltKG9yZCl0IEZ0KC4pNzEKK2IoSWYpNDEgYih0aGUpZyhzaGVsbClnKG9wdGlvbilnIEZzKG5vY2FzZW1hdGNoKWQgRnQoXChzZWUpayh0aGUpZgorKGRlc2NyaXB0aW9uKWcob2YpcCBlb3AgZW5kCislJVBhZ2U6IDExIDE3CitUZVhEaWN0IGJlZ2luIDExIDE2IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYigzOik0MQorYihCYXNpYykzMiBiKFNoZWxsKWUoRiktOCBiKGVhdHVyZXMpMjI0NiBiKDExKTYzMCAyOTkKK3kgRnMoc2hvcHQpMzQgYiBGdChpbiloKFNlY3Rpb24paCg0LjMuMiloKFtUaGUpZShTaG9wdClmKEJ1aWx0aW5dLClrCisocGFnZSllKDU1XCkpZyhpcylnKGVuYWJsZWQsKWcodGhlKWcobWF0YyltKGgpZyhpcyk2MzAKKzQwOCB5KHApcyhlcmZvcm1lZCkyOSBiKHdpdGhvdXQpaShyZWdhcmQpZyh0bylnKHRoZSlnKGNhc2UpaChvZilmCisoYWxwaGFiKXMoZXRpYylnKGMpbShoYXJhY3RlcnMuKTQ0IGIoVGhlKTMwIGIoYClwIEZzKHwpcAorRnQoJyloKGlzKWcodXNlZCk2MzAgNTE4IHkodG8pZShzZXBhcmF0ZSlnKG0pbSh1bHRpcGxlKWcocGF0dGVybnMsKWcKKyhhbmQpZSh0aGUpaShgKXAgRnMoXCkpcCBGdCgnKWYob3ApcyhlcmF0b3IpZyh0ZXJtaW5hdGVzKWgoYSlnKHBhdHRlcm4pCitmKGxpc3QuKTQxIGIoQSk2MzAgNjI4IHkobGlzdCkzMSBiKG9mKWcocGF0dGVybnMpZihhbmQpZyhhbilnKGFzc28pcworKGNpYXRlZClpKGNvbW1hbmQtbGlzdClmKGlzKWYoa25vKW0od24pZyhhcyloKGEpZyBGcShjbGF1c2UpNQorYiBGdCguKTYzMCA3NTQgeShFYWMpbShoKTQyIGIoY2xhdXNlKWcobSltKHVzdClmKGIpcyhlKWcodGVybWluYXRlZCloCisod2l0aCllKGApcCBGcyg7OylwIEZ0KCcsKTQ1IGIoYClwIEZzKDsmKXAgRnQoJywpZihvcilkKGApcAorRnMoOzsmKXAgRnQoJy4pNzMgYihUaGUpNDEgYiBGcSh3KW0ob3JkKWogRnQodW5kZXItKTYzMAorODY0IHkoZ28pcyhlcykzNSBiKHRpbGRlKWYoZXhwYW5zaW9uLCloKHBhcmFtZXRlcilnKGV4cGFuc2lvbiwpZworKGNvbW1hbmQpZihzdWJzdGl0dXRpb24sKWgoYXJpdGhtZXRpYyk2MzAgOTczIHkoZXhwYW5zaW9uLCk0NworYihhbmQpZChxdW90ZSlnKHJlbW8pbSh2KS01IGIoYWwpNDUgYihiKXMoZWZvcmUpZihtYXRjKW0oaGluZyloKGlzKWYKKyhhdHRlbXB0ZWQuKTgyIGIoRWFjKW0oaCk0NSBiIEZxKHBhdHRlcm4pNjMwIDEwODMgeSBGdCh1bmRlcmdvKXMoZXMpMzgKK2IodGlsZGUpaChleHBhbnNpb24sKWkocGFyYW1ldGVyKWUoZXhwYW5zaW9uLClpKGNvbW1hbmQpZAorKHN1YnN0aXR1dGlvbiwpaihhbmQpNjMwIDExOTIgeShhcml0aG1ldGljKTMyIGIoZXhwYW5zaW9uLik2MzAKKzEzMTkgeShUaGVyZSllKG1hKW0oeSlnKGIpcyhlKWYoYW4paChhcmJpdHJhcnkpZyhuKW0odW0pbShiKXMoZXIpZihvZiloCitGcyhjYXNlKWYgRnQoY2xhdXNlcywpaShlYWMpbShoKWcodGVybWluYXRlZClnKGIpbSh5KWUoYSlpKGApcAorRnMoOzspcCBGdCgnLCk2MzAgMTQyOCB5KGApcCBGcyg7JilwIEZ0KCcsKWMob3IpZShgKXAKK0ZzKDs7JilwIEZ0KCcuKTM5IGIoVGhlKTI1IGIoXDAxNHJzdClnKHBhdHRlcm4paCh0aGF0KWcobWF0YyltKGhlcyloCisoZGV0ZXJtaW5lcyllKHRoZSloKGNvbW1hbmQtbGlzdClnKHRoYXQpNjMwIDE1MzggeShpcylrKGV4ZWN1dGVkLik2MzAKKzE2NjUgeShIZXJlKTM1IGIoaXMpZyhhbilnKGV4YW1wbGUpaCh1c2luZyllIEZzKGNhc2UpZworRnQoaW4pZyhhKWgoc2NyaXB0KWcodGhhdCloKGNvdWxkKWYoYilzKGUpZih1c2VkKWcodG8paChkZXNjcmliKXMoZSlnCisob25lKTYzMCAxNzc0IHkoaW4pbSh0ZXJlc3RpbmcpZChmZWF0dXJlKWYob2YpZihhbilnKGFuaW1hbDopODcwCisxOTAxIHkgRnMoZWNobyk0NyBiKC1uKWcoIkVudGVyKWYodGhlKWgobmFtZSlmKG9mKWkoYW4pZihhbmltYWw6KWYoIikKKzg3MCAyMDEwIHkocmVhZCloKEFOSU1BTCk4NzAgMjEyMCB5KGVjaG8pZygtbilnKCJUaGUpZigkQU5JTUFMKWcoaGFzKWgKKygiKTg3MCAyMjI5IHkoY2FzZSlnKCRBTklNQUwpZShpbik5NjUgMjMzOSB5KGhvcnNlKWkofClnKGRvZylnKHwpaAorKGNhdFwpKWUoZWNobyloKC1uKWcoImZvdXIiOzspOTY1IDI0NDkgeShtYW4pZyh8KWgoa2FuZ2Fyb28pZChcKSlqCisoZWNobyllKC1uKWkoInR3byI7Oyk5NjUgMjU1OCB5KCpcKSlnKGVjaG8pZSgtbiloKCJhbilnKHVua25vd24pZgorKG51bWJlcilnKG9mIjs7KTg3MCAyNjY4IHkoZXNhYyk4NzAgMjc3NyB5KGVjaG8paCgiKWcobGVncy4iKTYzMAorMjkyMSB5IEZ0KElmKTI1IGIodGhlKWgoYClwIEZzKDs7KXAgRnQoJylnKG9wKXMoZXJhdG9yKWcoaXMpZyh1c2VkLClnCiAobm8pZyhzdWJzZXF1ZW4pbSh0KWYobWF0YyltKGhlcylpKGFyZSlmKGF0dGVtcHRlZCloKGFmdGVyKWcodGhlKWYKLShcMDE0cnN0KTYzMCA0Nzc0IHkocGF0dGVybilnKG1hdGMpbShoLik0MCBiKFVzaW5nKTI2CisoXDAxNHJzdCk2MzAgMzAzMCB5KHBhdHRlcm4pZyhtYXRjKW0oaC4pNDAgYihVc2luZykyNgogYihgKXAgRnMoOyYpcCBGdCgnKWYoaW4paChwbGFjZSlnKG9mKWcoYClwIEZzKDs7KXAgRnQoJylnKGNhdXNlcylnCi0oZXhlY3V0aW9uKWgodG8pZihjb24pbSh0aW4pbSh1ZSloKHdpdGgpZih0aGUpNjMwIDQ4ODMKKyhleGVjdXRpb24paCh0bylmKGNvbiltKHRpbiltKHVlKWgod2l0aClmKHRoZSk2MzAgMzE0MAogeSBGcShjb21tYW5kLWxpc3QpMzkgYiBGdChhc3NvKXMoY2lhdGVkKWYod2l0aCllKHRoZSlnKG5leHQpZyhjbGF1c2UsKWoKIChpZilkKGFuKW0oeSktOCBiKC4pNTkgYihVc2luZykzNyBiKGApcCBGcyg7OyYpcCBGdCgnKWYoaW4pZyhwbGFjZSloCi0ob2YpNjMwIDQ5OTMgeShgKXAgRnMoOzspcCBGdCgnKTMwIGIoY2F1c2VzKWcodGhlKWcoc2hlbGwpZyh0bylnKHRlc3QpaAorKG9mKTYzMCAzMjQ5IHkoYClwIEZzKDs7KXAgRnQoJykzMCBiKGNhdXNlcylnKHRoZSlnKHNoZWxsKWcodG8pZyh0ZXN0KWgKICh0aGUpZihwYXR0ZXJucylnKGluKWYodGhlKWgobmV4dClnKGNsYXVzZSwpaChpZillKGFuKW0oeSktOAotYigsKTMxIGIoYW5kKWYoZXhlY3V0ZSk2MzAgNTEwMyB5KGFuKW0oeSloKGFzc28pcyhjaWF0ZWQpaAorYigsKTMxIGIoYW5kKWYoZXhlY3V0ZSk2MzAgMzM1OSB5KGFuKW0oeSloKGFzc28pcyhjaWF0ZWQpaAogRnEoY29tbWFuZC1saXN0KWggRnQob24pZChhKWgoc3VjY2Vzc2Z1bClmKG1hdGMpbShoLik2MzAKLTUyMzAgeShUaGUpYyhyZXR1cm4pZihzdGF0dXMpaChpcylnKHplcm8paChpZilmKG5vKWcKKzM0ODUgeShUaGUpYyhyZXR1cm4pZihzdGF0dXMpaChpcylnKHplcm8paChpZilmKG5vKWcKIEZxKHBhdHRlcm4pZyBGdChpcylnKG1hdGMpbShoZWQuKTQwIGIoT3RoZXJ3aXNlLCkyNyBiKHRoZSlnKHJldHVybillCi0oc3RhdHVzKTYzMCA1MzQwIHkoaXMpMzAgYih0aGUpaChleGl0KWcoc3RhdHVzKWcob2YpZih0aGUpaAotRnEoY29tbWFuZC1saXN0KWkgRnQoZXhlY3V0ZWQuKXAgZW9wIGVuZAotJSVQYWdlOiAxMiAxOAotVGVYRGljdCBiZWdpbiAxMiAxNyBib3AgMTUwIC0xMTYgYSBGdCgxMikyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5IEZzKHNlbGVjdCk2MzAgNDM0IHkKLUZ0KFRoZSlpIEZzKHNlbGVjdClmIEZ0KGNvbnN0cnVjdClpKGFsbG8pbSh3cyloKHRoZSlmKGVhc3kpZworKHN0YXR1cyk2MzAgMzU5NSB5KGlzKTMwIGIodGhlKWgoZXhpdClnKHN0YXR1cylnKG9mKWYodGhlKWgKK0ZxKGNvbW1hbmQtbGlzdClpIEZ0KGV4ZWN1dGVkLikxNTAgMzczOCB5IEZzKHNlbGVjdCk2MzAKKzM4NjUgeSBGdChUaGUpZyBGcyhzZWxlY3QpZiBGdChjb25zdHJ1Y3QpaShhbGxvKW0od3MpaCh0aGUpZihlYXN5KWcKIChnZW5lcmF0aW9uKWgob2YpZShtZW4pbSh1cy4pNTAgYihJdCkzNCBiKGhhcylmKGFsbW9zdClpKHRoZSk2MzAKLTU0NCB5KHNhbWUpYyhzeW4pbSh0YXgpZyhhcylmKHRoZSloIEZzKGZvcillIEZ0KGNvbW1hbmQ6KTg3MAotNjc5IHkgRnMoc2VsZWN0KTQ2IGIgRmoobmFtZSk1NyBiIEZzKFtpbik0NyBiIEZqKHdvcmRzKTU3Ci1iIEZzKC4uLilvKF07KTQ3IGIoZG8paCBGaihjb21tYW5kcykxMSBiIEZzKDspNDQgYihkb25lKTYzMAotODE1IHkgRnQoVGhlKWQobGlzdClpKG9mKWUodyltKG9yZHMpaChmb2xsbyltKHdpbmcpaAorMzk3NCB5KHNhbWUpYyhzeW4pbSh0YXgpZyhhcylmKHRoZSloIEZzKGZvcillIEZ0KGNvbW1hbmQ6KTg3MAorNDEwMSB5IEZzKHNlbGVjdCk0NiBiIEZpKG5hbWUpNTcgYiBGcyhbaW4pNDcgYiBGaSh3b3Jkcyk1NworYiBGcyguLi4pbyhdOyk0NyBiKGRvKWggRmkoY29tbWFuZHMpMTEgYiBGcyg7KTQ0IGIoZG9uZSk2MzAKKzQyMjcgeSBGdChUaGUpZChsaXN0KWkob2YpZSh3KW0ob3JkcyloKGZvbGxvKW0od2luZyloCiBGcyhpbillIEZ0KGlzKWgoZXhwYW5kZWQsKWkoZ2VuZXJhdGluZylmKGEpZihsaXN0KWcob2YpZyhpdGVtcy4pNzUKLWIoVGhlKTYzMCA5MjQgeShzZXQpNDEgYihvZilmKGV4cGFuZGVkKWYodyltKG9yZHMpZyhpcylpKHByaW4pbSh0ZWQpZQorYihUaGUpNjMwIDQzMzcgeShzZXQpNDEgYihvZilmKGV4cGFuZGVkKWYodyltKG9yZHMpZyhpcylpKHByaW4pbSh0ZWQpZQogKG9uKWgodGhlKWcoc3RhbmRhcmQpZihlcnJvciloKG91dHB1dClnKHN0cmVhbSwpaihlYWMpbShoKTYzMAotMTAzNCB5KHByZWNlZGVkKTMwIGIoYiltKHkpZyhhKWgobiltKHVtKW0oYilzKGVyLik0MAotYihJZikyOSBiKHRoZSlpKGApcCBGcyhpbilmIEZqKHdvcmRzKTExIGIgRnQoJykyOSBiKGlzKWgob21pdHRlZCwpaQotKHRoZSllKHApcyhvc2l0aW9uYWwpaShwYXJhbWV0ZXJzKTYzMCAxMTQzIHkoYXJlKTIyIGIocHJpbiltKHRlZCwpaChhcykKKzQ0NDYgeShwcmVjZWRlZCkzMCBiKGIpbSh5KWcoYSloKG4pbSh1bSltKGIpcyhlci4pNDAKK2IoSWYpMjkgYih0aGUpaShgKXAgRnMoaW4pZiBGaSh3b3JkcykxMSBiIEZ0KCcpMjkgYihpcyloKG9taXR0ZWQsKWkKKyh0aGUpZShwKXMob3NpdGlvbmFsKWkocGFyYW1ldGVycyk2MzAgNDU1NiB5KGFyZSkyMiBiKHByaW4pbSh0ZWQsKWgoYXMpCiBmKGlmKWYoYClwIEZzKGluKTMwIGIoIiRAIilwIEZ0KCcpMjEgYihoYWQpZyhiKXMoZWVuKWYoc3ApcyhlY2lcMDE0ZWQuKQogMzcgYihUaGUpMjEgYiBGcyhQUzMpZyBGdChwcm9tcHQpZyhpcylnKHRoZW4pZyhkaXNwbGEpbSh5KW0oZWQpNjMwCi0xMjUzIHkoYW5kKTM4IGIoYSloKGxpbmUpZyhpcylmKHJlYWQpaChmcm9tKWYodGhlKWgoc3RhbmRhcmQpZShpbnB1dC4pCis0NjY2IHkoYW5kKTM4IGIoYSloKGxpbmUpZyhpcylmKHJlYWQpaChmcm9tKWYodGhlKWgoc3RhbmRhcmQpZShpbnB1dC4pCiA2NSBiKElmKTM4IGIodGhlKWgobGluZSlnKGNvbnNpc3RzKWcob2YpZihhKWgobiltKHVtKW0oYilzKGVyKTYzMAotMTM2MyB5KGNvcnJlc3ApcyhvbmRpbmcpMzMgYih0bylpKG9uZSlmKG9mKWcodGhlKWcoZGlzcGxhKW0oeSltKGVkKWgodykKKzQ3NzUgeShjb3JyZXNwKXMob25kaW5nKTMzIGIodG8paShvbmUpZihvZilnKHRoZSlnKGRpc3BsYSltKHkpbShlZCloKHcpCiBtKG9yZHMsKWYodGhlbilnKHRoZSlnKHYpLTUgYihhbHVlKTM0IGIob2YpaCBGcShuYW1lKWsKLUZ0KGlzKTM0IGIoc2V0KWcodG8pNjMwIDE0NzIgeSh0aGF0KWcodyltKG9yZC4pNDkgYihJZikzMgorRnQoaXMpMzQgYihzZXQpZyh0byk2MzAgNDg4NSB5KHRoYXQpZyh3KW0ob3JkLik0OSBiKElmKTMyCiBiKHRoZSlpKGxpbmUpZihpcyloKGVtcHQpbSh5KS04IGIoLCkzNSBiKHRoZSllKHcpbShvcmRzKWcoYW5kKWYocHJvbXB0KQotaChhcmUpZyhkaXNwbGEpbSh5KW0oZWQpaChhZ2Fpbi4pNTAgYihJZik2MzAgMTU4MiB5IEZzKEVPRikyMworaChhcmUpZyhkaXNwbGEpbSh5KW0oZWQpaChhZ2Fpbi4pNTAgYihJZik2MzAgNDk5NCB5IEZzKEVPRikyMwogYiBGdChpcylnKHJlYWQsKWoodGhlKWQgRnMoc2VsZWN0KWYgRnQoY29tbWFuZClpKGNvbXBsZXRlcy4pNDAKIGIoQW4pbSh5KTIzIGIob3RoZXIpaCh2KS01IGIoYWx1ZSkyNCBiKHJlYWQpZyhjYXVzZXMpZwotRnEobmFtZSk2MzAgMTY5MSB5IEZ0KHRvKTMxIGIoYilzKGUpZihzZXQpaCh0bylnKG4pbSh1bGwuKTQxCitGcShuYW1lKTYzMCA1MTA0IHkgRnQodG8pMzEgYihiKXMoZSlmKHNldCloKHRvKWcobiltKHVsbC4pNDEKIGIoVGhlKTI5IGIobGluZSlpKHJlYWQpZihpcyloKHNhKW0odiltKGVkKWcoaW4pZih0aGUpaCh2KS01Ci1iKGFyaWFibGUpMzEgYiBGcyhSRVBMWSlwIEZ0KC4pNjMwIDE4MjcgeShUaGUpNDIgYiBGcShjb21tYW5kcylqCitiKGFyaWFibGUpMzEgYiBGcyhSRVBMWSlwIEZ0KC4pNjMwIDUyMzAgeShUaGUpNDIgYiBGcShjb21tYW5kcylqCiBGdChhcmUpZChleGVjdXRlZCloKGFmdGVyKWcoZWFjKW0oaClnKHNlbGVjdGlvbiloKHVuKW0odGlsKWUoYSloCi1GcyhicmVhaylkIEZ0KGNvbW1hbmQpaShpcyk2MzAgMTkzNiB5KGV4ZWN1dGVkLCkzMiBiKGF0KWYod2hpYyltKGgpZihwKQotcyhvaW4pbSh0KWcodGhlKWggRnMoc2VsZWN0KWQgRnQoY29tbWFuZClpKGNvbXBsZXRlcy4pNjMwCi0yMDcyIHkoSGVyZSkzOSBiKGlzKWcoYW4pZyhleGFtcGxlKWgodGhhdClmKGFsbG8pbSh3cylpKHRoZSllKHVzZXIpZgotKHRvKWkocGljKW0oaylmKGEpZyhcMDE0bGVuYW1lKWgoZnJvbSllKHRoZSloKGN1cnJlbiltKHQpNjMwCi0yMTgxIHkoZGlyZWN0b3J5KS04IGIoLCkzMiBiKGFuZClkKGRpc3BsYSltKHlzKWkodGhlKWYobmFtZSloKGFuZClmCi0oaW5kZXgpZihvZilpKHRoZSlnKFwwMTRsZSlmKHNlbGVjdGVkLik4NzAgMjMxNyB5IEZzKHNlbGVjdCk0NgotYihmbmFtZSlnKGluKWkoKjspODcwIDI0MjYgeShkbyk4NzAgMjUzNiB5KGVjaG8pZih5b3UpZyhwaWNrZWQpZgotKCRmbmFtZSlnKFxcXCgkUkVQTFlcXFwpKTg3MCAyNjQ1IHkoYnJlYWs7KTg3MCAyNzU1IHkoZG9uZSkxNTAKLTI5MTYgeShcKFwoLi4uKW8oXClcKSk4NzAgMzA1MSB5KFwoXCgpaCBGaihleHByZXNzaW9uKTU2Ci1iIEZzKFwpXCkpNjMwIDMxODcgeSBGdChUaGUpMzMgYihhcml0aG1ldGljKWkgRnEoZXhwcmVzc2lvbilmCi1GdChpcylmKGV2KS01IGIoYWx1YXRlZCkzNSBiKGFjY29yZGluZylnKHRvKWYodGhlKWcocnVsZXMpZihkZXNjcmliKXMKLShlZClnKGIpcyhlbG8pbSh3KTYzMCAzMjk2IHkoXChzZWUpaihTZWN0aW9uKWYoNi41KWgoW1NoZWxsKWYKLShBcml0aG1ldGljXSwpaShwYWdlKWYoNzhcKS4pNTUgYihJZikzNCBiKHRoZSloKHYpLTUKLWIoYWx1ZSkzNSBiKG9mKWcodGhlKWcoZXhwcmVzc2lvbilnKGlzKTYzMCAzNDA2IHkobm9uLXplcm8sKTI3Ci1iKHRoZSlmKHJldHVybillKHN0YXR1cylpKGlzKWcoMDspaChvdGhlcndpc2UpZih0aGUpZyhyZXR1cm4pZShzdGF0dXMpaQotKGlzKWcoMS4pMzkgYihUaGlzKTI1IGIoaXMpZyhleGFjdGx5KTYzMCAzNTE2IHkoZXF1aXYpLTUKLWIoYWxlbiltKHQpMzIgYih0byk4NzAgMzY1MSB5IEZzKGxldCk0NyBiKCIpcCBGaihleHByZXNzaW9uKTExCi1iIEZzKCIpNjMwIDM3ODYgeSBGdChTZWUpMjUgYihTZWN0aW9uKWgoNC4yKWgoW0Jhc2gpZShCdWlsdGluc10sKWkKLShwYWdlKWYoNDEsKWkoZm9yKWMoYSlpKGZ1bGwpZihkZXNjcmlwdGlvbilnKG9mKWcodGhlKWgKLUZzKGxldCllIEZ0KGJ1aWx0aW4uKTE1MCAzOTQ4IHkgRnMoW1suLi4pbyhdXSk4NzAgNDA4MwoteShbWyk0NyBiIEZqKGV4cHJlc3Npb24pNTYgYiBGcyhdXSk2MzAgNDIxOCB5IEZ0KFJldHVybikyNQorRnMoYnJlYWspZCBGdChjb21tYW5kKWkoaXMpNjMwIDUzNDAgeShleGVjdXRlZCwpMzIgYihhdClmKHdoaWMpbShoKWYocCkKK3Mob2luKW0odClnKHRoZSloIEZzKHNlbGVjdClkIEZ0KGNvbW1hbmQpaShjb21wbGV0ZXMuKXAKK2VvcCBlbmQKKyUlUGFnZTogMTIgMTgKK1RlWERpY3QgYmVnaW4gMTIgMTcgYm9wIDE1MCAtMTE2IGEgRnQoMTIpMjU3MiBiKEJhc2gpMzEKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeShIZXJlKTM5IGIoaXMpZyhhbilnKGV4YW1wbGUpaCh0aGF0KWYKKyhhbGxvKW0od3MpaSh0aGUpZSh1c2VyKWYodG8paShwaWMpbShrKWYoYSlnKFwwMTRsZW5hbWUpaChmcm9tKWUodGhlKWgKKyhjdXJyZW4pbSh0KTYzMCA0MDggeShkaXJlY3RvcnkpLTggYigsKTMyIGIoYW5kKWQoZGlzcGxhKW0oeXMpaSh0aGUpZgorKG5hbWUpaChhbmQpZihpbmRleClmKG9mKWkodGhlKWcoXDAxNGxlKWYoc2VsZWN0ZWQuKTg3MAorNTQyIHkgRnMoc2VsZWN0KTQ2IGIoZm5hbWUpZyhpbilpKCo7KTg3MCA2NTEgeShkbyk4NzAKKzc2MSB5KGVjaG8pZih5b3UpZyhwaWNrZWQpZigkZm5hbWUpZyhcXFwoJFJFUExZXFxcKSk4NzAKKzg3MCB5KGJyZWFrOyk4NzAgOTgwIHkoZG9uZSkxNTAgMTEzNiB5KFwoXCguLi4pbyhcKVwpKTg3MAorMTI3MCB5KFwoXCgpaCBGaShleHByZXNzaW9uKTU2IGIgRnMoXClcKSk2MzAgMTQwMyB5IEZ0KFRoZSkzMworYihhcml0aG1ldGljKWkgRnEoZXhwcmVzc2lvbilmIEZ0KGlzKWYoZXYpLTUgYihhbHVhdGVkKTM1CitiKGFjY29yZGluZylnKHRvKWYodGhlKWcocnVsZXMpZihkZXNjcmliKXMoZWQpZyhiKXMoZWxvKW0odyk2MzAKKzE1MTIgeShcKHNlZSlqKFNlY3Rpb24pZig2LjUpaChbU2hlbGwpZihBcml0aG1ldGljXSwpaShwYWdlKWYoNzhcKS4pNTUKK2IoSWYpMzQgYih0aGUpaCh2KS01IGIoYWx1ZSkzNSBiKG9mKWcodGhlKWcoZXhwcmVzc2lvbilnKGlzKTYzMAorMTYyMiB5KG5vbi16ZXJvLCkyNyBiKHRoZSlmKHJldHVybillKHN0YXR1cylpKGlzKWcoMDspaChvdGhlcndpc2UpZgorKHRoZSlnKHJldHVybillKHN0YXR1cylpKGlzKWcoMS4pMzkgYihUaGlzKTI1IGIoaXMpZyhleGFjdGx5KTYzMAorMTczMSB5KGVxdWl2KS01IGIoYWxlbiltKHQpMzIgYih0byk4NzAgMTg2NCB5IEZzKGxldCk0NworYigiKXAgRmkoZXhwcmVzc2lvbikxMSBiIEZzKCIpNjMwIDE5OTggeSBGdChTZWUpMjUgYihTZWN0aW9uKWgoNC4yKWgKKyhbQmFzaCllKEJ1aWx0aW5zXSwpaShwYWdlKWYoNDEsKWkoZm9yKWMoYSlpKGZ1bGwpZihkZXNjcmlwdGlvbilnKG9mKWcKKyh0aGUpaCBGcyhsZXQpZSBGdChidWlsdGluLikxNTAgMjE1NCB5IEZzKFtbLi4uKW8oXV0pODcwCisyMjg3IHkoW1spNDcgYiBGaShleHByZXNzaW9uKTU2IGIgRnMoXV0pNjMwIDI0MjAgeSBGdChSZXR1cm4pMjUKIGIoYSloKHN0YXR1cylmKG9mKWgoMClnKG9yKWcoMSlnKGRlcClzKGVuZGluZyllKG9uKWgodGhlKWgoZXYpLTUKIGIoYWx1YXRpb24pMjcgYihvZillKHRoZSloKGNvbmRpdGlvbmFsKWgoZXhwcmVzLSk2MzAKLTQzMjggeShzaW9uKWogRnEoZXhwcmVzc2lvbilwIEZ0KC4pNDEgYihFeHByZXNzaW9ucykyOQorMjUzMCB5KHNpb24paiBGcShleHByZXNzaW9uKXAgRnQoLik0MSBiKEV4cHJlc3Npb25zKTI5CiBiKGFyZSlpKGNvbXApcyhvc2VkKWYob2YpZyh0aGUpaChwcmltYXJpZXMpZihkZXNjcmliKXMoZWQpZihiKXMoZWxvKW0KLSh3KWgoaW4pNjMwIDQ0MzcgeShTZWN0aW9uKTM2IGIoNi40KWgoW0Jhc2gpZihDb25kaXRpb25hbClnCi0oRXhwcmVzc2lvbnNdLCloKHBhZ2UpZig3Ny4pNTcgYihXKS04IGIob3JkKTM2IGIoc3BsaXR0aW5nKWgoYW5kKWUKLShcMDE0bGUtKTYzMCA0NTQ3IHkobmFtZSkyNCBiKGV4cGFuc2lvbiloKGFyZSlnKG5vdClmKHApcyhlcmZvcm1lZClmCisodyloKGluKTYzMCAyNjM5IHkoU2VjdGlvbikzNiBiKDYuNCloKFtCYXNoKWYoQ29uZGl0aW9uYWwpZworKEV4cHJlc3Npb25zXSwpaChwYWdlKWYoNzYuKTU3IGIoVyktOCBiKG9yZCkzNiBiKHNwbGl0dGluZyloKGFuZCllCisoXDAxNGxlLSk2MzAgMjc0OSB5KG5hbWUpMjQgYihleHBhbnNpb24paChhcmUpZyhub3QpZihwKXMoZXJmb3JtZWQpZgogKG9uKWgodGhlKWgodyltKG9yZHMpZihiKXMoZXQpbSh3KW0oZWVuKWgodGhlKWcoYClwIEZzKFtbKXAKLUZ0KCcpZihhbmQpZyhgKXAgRnMoXV0pcCBGdCgnOylpKHRpbGRlKTYzMCA0NjU3IHkoZXhwYW5zaW9uLCkzMQorRnQoJylmKGFuZClnKGApcCBGcyhdXSlwIEZ0KCc7KWkodGlsZGUpNjMwIDI4NTkgeShleHBhbnNpb24sKTMxCiBiKHBhcmFtZXRlcilnKGFuZClmKHYpLTUgYihhcmlhYmxlKTMxIGIoZXhwYW5zaW9uLClnKGFyaXRobWV0aWMpZwotKGV4cGFuc2lvbiwpZyhjb21tYW5kKTYzMCA0NzY2IHkoc3Vic3RpdHV0aW9uLCk0MCBiKHBybylzKGNlc3MpZgorKGV4cGFuc2lvbiwpZyhjb21tYW5kKTYzMCAyOTY4IHkoc3Vic3RpdHV0aW9uLCk0MCBiKHBybylzKGNlc3MpZgogKHN1YnN0aXR1dGlvbiwpaChhbmQpZShxdW90ZSloKHJlbW8pbSh2KS01IGIoYWwpNDAgYihhcmUpZihwKXMKLShlcmZvcm1lZC4pNjMgYihDb25kaS0pNjMwIDQ4NzYgeSh0aW9uYWwpMzIgYihvcClzKGVyYXRvcnMpZShzdWMpbShoKWcKKyhlcmZvcm1lZC4pNjMgYihDb25kaS0pNjMwIDMwNzggeSh0aW9uYWwpMzIgYihvcClzKGVyYXRvcnMpZShzdWMpbShoKWcKIChhcyloKGApcCBGcygtZilwIEZ0KCcpZihtKW0odXN0KWcoYilzKGUpZyh1bnF1b3RlZClnKHRvKWgoYilzKGUpZQotKHJlY29nbml6ZWQpaihhcylmKHByaW1hcmllcy4pNjMwIDUwMTEgeShXaGVuKTIyIGIodGhlKWgoYClwCisocmVjb2duaXplZClqKGFzKWYocHJpbWFyaWVzLik2MzAgMzIxMSB5KFdoZW4pZCh1c2VkKWcod2l0aClnKGApcAorRnMoW1spcCBGdCgnLCloKFRoZSlmKGApcCBGcyg8KXAgRnQoJylnKGFuZClnKGApcCBGcyg+KXAKK0Z0KCcpaChvcClzKGVyYXRvcnMpZihzb3J0KWgobGV4aWNvZ3JhcGhpY2FsbHkpaSh1c2luZylkKHRoZSk2MzAKKzMzMjAgeShjdXJyZW4pbSh0KWkobG8pcyhjYWxlLik2MzAgMzQ1MyB5KFdoZW4pMjIgYih0aGUpaChgKXAKIEZzKD09KXAgRnQoJylmKGFuZClnKGApcCBGcyghPSlwIEZ0KCcpZyhvcClzKGVyYXRvcnMpaChhcmUpZyh1c2VkLClnCiAodGhlKWcoc3RyaW5nKWYodG8paSh0aGUpZShyaWdoKW0odCloKG9mKWcodGhlKWcob3ApcyhlcmF0b3IpNjMwCi01MTIxIHkoaXMpMzEgYihjb25zaWRlcmVkKWcoYSloKHBhdHRlcm4pZihhbmQpZyhtYXRjKW0oaGVkKWgoYWNjb3JkaW5nKQorMzU2MyB5KGlzKTMxIGIoY29uc2lkZXJlZClnKGEpaChwYXR0ZXJuKWYoYW5kKWcobWF0YyltKGhlZCloKGFjY29yZGluZykKIGcodG8pZyh0aGUpZyhydWxlcylmKGRlc2NyaWIpcyhlZClmKGIpcyhlbG8pbSh3KWgoaW4pNjMwCi01MjMwIHkoU2VjdGlvbikzNyBiKDMuNS44LjEpaShbUCltKGF0dGVybillKE1hdGMpbShoaW5nXSwpaihwYWdlKWMoMjUuKQorMzY3MyB5KFNlY3Rpb24pMzcgYigzLjUuOC4xKWkoW1ApbShhdHRlcm4pZShNYXRjKW0oaGluZ10sKWoocGFnZSljKDI0LikKIDU5IGIoSWYpMzYgYih0aGUpZyhzaGVsbClnKG9wdGlvbiloIEZzKG5vY2FzZW1hdGNoKTYzMAotNTM0MCB5IEZ0KFwoc2VlKTQyIGIodGhlKWYoZGVzY3JpcHRpb24pZyhvZiloIEZzKHNob3B0KWQKKzM3ODIgeSBGdChcKHNlZSk0MiBiKHRoZSlmKGRlc2NyaXB0aW9uKWcob2YpaCBGcyhzaG9wdClkCiBGdChpbilpKFNlY3Rpb24paCg0LjMuMiloKFtUaGUpZShTaG9wdClmKEJ1aWx0aW5dLCk0NQotYihwYWdlKWQoNTRcKSlwIGVvcCBlbmQKK2IocGFnZSlkKDU1XCkpNjMwIDM4OTIgeShpcyllKGVuYWJsZWQsKWkodGhlKWUobWF0YyltKGgpaChpcyllKHApcworKGVyZm9ybWVkKWcod2l0aG91dClnKHJlZ2FyZCloKHRvKWgodGhlKWYoY2FzZSlnKG9mKWcoYWxwaGFiKXMoZXRpYyk2MzAKKzQwMDEgeShjKW0oaGFyYWN0ZXJzLiloKFRoZSkyOCBiKHJldHVybillKHYpLTUgYihhbHVlKTI4CitiKGlzKWcoMClnKGlmKWcodGhlKWcoc3RyaW5nKWcobWF0YyltKGhlcyloKFwoYClwIEZzKD09KXAKK0Z0KCdcKSlmKG9yKWcoZG8pcyhlcylmKG5vdCloKG1hdGMpbShoKTYzMCA0MTExIHkoXChgKXAKK0ZzKCE9KXAgRnQoJ1wpdGhlKTMzIGIocGF0dGVybiwpZyhhbmQpZigxKWcob3RoZXJ3aXNlLik0NworYihBbiltKHkpMzIgYihwYXJ0KWcob2YpaCh0aGUpZihwYXR0ZXJuKWcobWEpbSh5KWgoYilzKGUpZihxdW90ZWQpZyh0bykKKzYzMCA0MjIxIHkoZm9yY2UpZihpdClnKHRvKWcoYilzKGUpZihtYXRjKW0oaGVkKWgoYXMpZihhKWgoc3RyaW5nLik2MzAKKzQzNTQgeShBbilpKGFkZGl0aW9uYWwpaShiaW5hcnkpZShvcClzKGVyYXRvciwpaShgKXAKK0ZzKD1+KXAgRnQoJywpZyhpcylmKGEpbSh2KS01IGIoYWlsYWJsZSwpMzcgYih3aXRoKWModGhlKWgoc2FtZSlnCisocHJlY2VkZW5jZSloKGFzKTYzMCA0NDYzIHkoYClwIEZzKD09KXAgRnQoJykyOSBiKGFuZClmKGApcAorRnMoIT0pcCBGdCgnLik0MCBiKFdoZW4pMjkgYihpdClnKGlzKWcodXNlZCwpZih0aGUpaChzdHJpbmcpZyh0byloKHRoZSkKK2UocmlnaCltKHQpaShvZilmKHRoZSlnKG9wKXMoZXJhdG9yKWcoaXMpZyhjb25zaWQtKTYzMAorNDU3MyB5KGVyZWQpMzQgYihhbilnKGV4dGVuZGVkKWcocmVndWxhcilnKGV4cHJlc3Npb24pZyhhbmQpZihtYXRjKW0KKyhoZWQpaShhY2NvcmRpbmdseSlnKFwoYXMpZihpbilnIEZrKHIpLTUgYihlKWcoZ2V4KTExCitiIEZ0KDNcKVwpLik2MzAgNDY4MiB5KFRoZSkyOSBiKHJldHVybilmKHYpLTUgYihhbHVlKTMwCitiKGlzKWcoMClnKGlmKWYodGhlKWgoc3RyaW5nKWcobWF0YyltKGhlcylnKHRoZSlnKHBhdHRlcm4sKWcoYW5kKWYoMSloCisob3RoZXJ3aXNlLik0MSBiKElmKTI5IGIodGhlKTYzMCA0NzkyIHkocmVndWxhcillKGV4cHJlc3Npb24pZyhpcyloCisoc3luKW0odGFjdGljYWxseSlpKGluY29ycmVjdCwpZih0aGUpZShjb25kaXRpb25hbClpKGV4cHJlc3Npb24ncyllCisocmV0dXJuKTYzMCA0OTAyIHkodiktNSBiKGFsdWUpNDAgYihpcylnKDIuKTY4IGIoSWYpMzkKK2IodGhlKWgoc2hlbGwpZihvcHRpb24paCBGcyhub2Nhc2VtYXRjaClkIEZ0KFwoc2VlKWoodGhlKWcoZGVzY3JpcHRpb24pCitnKG9mKWYgRnMoc2hvcHQpZiBGdChpbik2MzAgNTAxMSB5KFNlY3Rpb24pMzIgYig0LjMuMilnKFtUaGUpZihTaG9wdClmCisoQnVpbHRpbl0sKWkocGFnZSlnKDU1XCkpZyhpcylmKGVuYWJsZWQsKWcodGhlKWcobWF0YyltKGgpaChpcyllKHApcworKGVyZm9ybWVkKTYzMCA1MTIxIHkod2l0aG91dCkzNiBiKHJlZ2FyZClnKHRvKWgodGhlKWYoY2FzZSloKG9mKWYKKyhhbHBoYWIpcyhldGljKWgoYyltKGhhcmFjdGVycy4pNTkgYihBbiltKHkpMzYgYihwYXJ0KWcob2YpaCh0aGUpZgorKHBhdHRlcm4pNjMwIDUyMzAgeShtYSltKHkpZyhiKXMoZSlnKHF1b3RlZClnKHRvKWcoZm9yY2UpZyhpdCloKHRvKWYoYikKK3MoZSlmKG1hdGMpbShoZWQpaShhcylmKGEpZyhzdHJpbmcuKTU3IGIoU3Vic3RyaW5ncykzNAorYihtYXRjKW0oaGVkKWooYiltKHkpNjMwIDUzNDAgeShwYXJlbiltKHRoZXNpemVkKTQ0IGIoc3ViKXMKKyhleHByZXNzaW9ucyllKHdpdGhpbilpKHRoZSlnKHJlZ3VsYXIpZyhleHByZXNzaW9uKWcoYXJlKWcoc2EpbSh2KW0oZWQpCitoKGluKWYodGhlKXAgZW9wIGVuZAogJSVQYWdlOiAxMyAxOQogVGVYRGljdCBiZWdpbiAxMyAxOCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoMzopNDEKIGIoQmFzaWMpMzIgYihTaGVsbCllKEYpLTggYihlYXR1cmVzKTIyNDYgYigxMyk2MzAgMjk5Ci15KGlzKTQwIGIoZW5hYmxlZCwpaSh0aGUpZShtYXRjKW0oaCloKGlzKWUocClzKGVyZm9ybWVkKWcod2l0aG91dClnCi0ocmVnYXJkKWgodG8paCh0aGUpZihjYXNlKWcob2YpZyhhbHBoYWIpcyhldGljKTYzMCA0MDgKLXkoYyltKGhhcmFjdGVycy4paChUaGUpMjggYihyZXR1cm4pZSh2KS01IGIoYWx1ZSkyOCBiKGlzKWcoMClnKGlmKWcKLSh0aGUpZyhzdHJpbmcpZyhtYXRjKW0oaGVzKWgoXChgKXAgRnMoPT0pcCBGdCgnXCkpZihvcilnKGRvKXMoZXMpZihub3QpCi1oKG1hdGMpbShoKTYzMCA1MTggeShcKGApcCBGcyghPSlwIEZ0KCdcKXRoZSkzMyBiKHBhdHRlcm4sKWcoYW5kKWYoMSlnCi0ob3RoZXJ3aXNlLik0NyBiKEFuKW0oeSkzMiBiKHBhcnQpZyhvZiloKHRoZSlmKHBhdHRlcm4pZyhtYSltKHkpaChiKXMKLShlKWYocXVvdGVkKWcodG8pNjMwIDYyOCB5KGZvcmNlKWYoaXQpZyh0bylnKGIpcyhlKWYobWF0YyltKGhlZCloKGFzKWYKLShhKWgoc3RyaW5nLik2MzAgNzU3IHkoQW4paShhZGRpdGlvbmFsKWkoYmluYXJ5KWUob3ApcyhlcmF0b3IsKWkoYClwCi1Gcyg9filwIEZ0KCcsKWcoaXMpZihhKW0odiktNSBiKGFpbGFibGUsKTM3IGIod2l0aCljKHRoZSloKHNhbWUpZwotKHByZWNlZGVuY2UpaChhcyk2MzAgODY3IHkoYClwIEZzKD09KXAgRnQoJykyOSBiKGFuZClmKGApcAotRnMoIT0pcCBGdCgnLik0MCBiKFdoZW4pMjkgYihpdClnKGlzKWcodXNlZCwpZih0aGUpaChzdHJpbmcpZyh0byloKHRoZSkKLWUocmlnaCltKHQpaShvZilmKHRoZSlnKG9wKXMoZXJhdG9yKWcoaXMpZyhjb25zaWQtKTYzMAotOTc2IHkoZXJlZCkzNCBiKGFuKWcoZXh0ZW5kZWQpZyhyZWd1bGFyKWcoZXhwcmVzc2lvbilnKGFuZClmKG1hdGMpbQotKGhlZClpKGFjY29yZGluZ2x5KWcoXChhcylmKGluKWcgRm0ociktNSBiKGUpZyhnZXgpMTEKLWIgRnQoM1wpXCkuKTYzMCAxMDg2IHkoVGhlKTI5IGIocmV0dXJuKWYodiktNSBiKGFsdWUpMzAKLWIoaXMpZygwKWcoaWYpZih0aGUpaChzdHJpbmcpZyhtYXRjKW0oaGVzKWcodGhlKWcocGF0dGVybiwpZyhhbmQpZigxKWgKLShvdGhlcndpc2UuKTQxIGIoSWYpMjkgYih0aGUpNjMwIDExOTYgeShyZWd1bGFyKWUoZXhwcmVzc2lvbilnKGlzKWgKLShzeW4pbSh0YWN0aWNhbGx5KWkoaW5jb3JyZWN0LClmKHRoZSllKGNvbmRpdGlvbmFsKWkoZXhwcmVzc2lvbidzKWUKLShyZXR1cm4pNjMwIDEzMDUgeSh2KS01IGIoYWx1ZSk0MCBiKGlzKWcoMi4pNjggYihJZikzOQotYih0aGUpaChzaGVsbClmKG9wdGlvbiloIEZzKG5vY2FzZW1hdGNoKWQgRnQoXChzZWUpaih0aGUpZyhkZXNjcmlwdGlvbikKLWcob2YpZiBGcyhzaG9wdClmIEZ0KGluKTYzMCAxNDE1IHkoU2VjdGlvbikzMiBiKDQuMy4yKWcoW1RoZSlmKFNob3B0KWYKLShCdWlsdGluXSwpaShwYWdlKWcoNTRcKSlnKGlzKWYoZW5hYmxlZCwpZyh0aGUpZyhtYXRjKW0oaCloKGlzKWUocClzCi0oZXJmb3JtZWQpNjMwIDE1MjQgeSh3aXRob3V0KTM2IGIocmVnYXJkKWcodG8paCh0aGUpZihjYXNlKWgob2YpZgotKGFscGhhYilzKGV0aWMpaChjKW0oaGFyYWN0ZXJzLik1OSBiKEFuKW0oeSkzNiBiKHBhcnQpZyhvZiloKHRoZSlmCi0ocGF0dGVybik2MzAgMTYzNCB5KG1hKW0oeSlnKGIpcyhlKWcocXVvdGVkKWcodG8pZyhmb3JjZSlnKGl0KWgodG8pZihiKQotcyhlKWYobWF0YyltKGhlZClpKGFzKWYoYSlnKHN0cmluZy4pNTcgYihTdWJzdHJpbmdzKTM0Ci1iKG1hdGMpbShoZWQpaihiKW0oeSk2MzAgMTc0MyB5KHBhcmVuKW0odGhlc2l6ZWQpNDQgYihzdWIpcwotKGV4cHJlc3Npb25zKWUod2l0aGluKWkodGhlKWcocmVndWxhcilnKGV4cHJlc3Npb24pZyhhcmUpZyhzYSltKHYpbShlZCkKLWgoaW4pZih0aGUpNjMwIDE4NTMgeShhcnJhKW0oeSkzOCBiKHYpLTUgYihhcmlhYmxlKTM4Ci1iIEZzKEJBU0hfUkVNQVRDSClwIEZ0KC4pNTkgYihUaGUpMzYgYihlbGVtZW4pbSh0KWoob2YpZgotRnMoQkFTSF9SRU1BVENIKWMgRnQod2l0aClqKGluZGV4KWcoMCloKGlzKTYzMCAxOTYzIHkodGhlKWMocClzKG9ydGlvbikKLWYob2YpaCh0aGUpZihzdHJpbmcpaChtYXRjKW0oaGluZylnKHRoZSlnKGVuKW0odGlyZSloKHJlZ3VsYXIpZQotKGV4cHJlc3Npb24uKTUwIGIoVGhlKTMzIGIoZWxlbWVuKW0odCk2MzAgMjA3MiB5KG9mKTM5Ci1iIEZzKEJBU0hfUkVNQVRDSCljIEZ0KHdpdGgpaihpbmRleClnIEZxKG4pZiBGdChpcylpKHRoZSlmKHApcyhvcnRpb24pZwotKG9mKWgodGhlKWYoc3RyaW5nKWgobWF0YyltKGhpbmcpZyh0aGUpZyBGcShuKXAgRnQodGgpNjMwCi0yMTgyIHkocGFyZW4pbSh0aGVzaXplZCkzMSBiKHN1YilzKGV4cHJlc3Npb24uKTYzMCAyMzExCi15KEV4cHJlc3Npb25zKTIzIGIobWEpbSh5KWgoYilzKGUpZShjb20pbShiaW5lZClpKHVzaW5nKWYodGhlKWgoZm9sbG8pbQotKHdpbmcpaChvcClzKGVyYXRvcnMsKWcobGlzdGVkKWYoaW4pZihkZWNyZWFzaW5nKTYzMAotMjQyMSB5KG9yZGVyKTMwIGIob2YpZyhwcmVjZWRlbmNlOik2MzAgMjU3MCB5IEZzKFwoKWcKLUZqKGV4cHJlc3Npb24pMzggYiBGcyhcKSkxMTEwIDI2ODAgeSBGdChSZXR1cm5zKTMwIGIodGhlKWgodiktNQotYihhbHVlKTMxIGIob2YpZyBGcShleHByZXNzaW9uKXAgRnQoLik0MiBiKFRoaXMpMzAgYihtYSltKHkpaShiKXMoZSllCi0odXNlZClnKHRvKWkobyltKHYpbShlcnJpZGUpZyh0aGUpMTExMCAyNzkwIHkobm9ybWFsKWUocHJlY2VkZW5jZSloKG9mKQotZyhvcClzKGVyYXRvcnMuKTYzMCAyOTM5IHkgRnMoISlmIEZqKGV4cHJlc3Npb24pMTExMAotMzA0OSB5IEZ0KFQpLTggYihydWUpMzAgYihpZilnIEZxKGV4cHJlc3Npb24pZyBGdChpcyloKGZhbHNlLik2MzAKLTMxOTggeSBGaihleHByZXNzaW9uMSkzOCBiIEZzKCYmKTMwIGIgRmooZXhwcmVzc2lvbjIpMTExMAotMzMwOCB5IEZ0KFQpLTggYihydWUpMzAgYihpZilnKGIpcyhvdGgpZyBGcShleHByZXNzaW9uMSkzOAotYiBGdChhbmQpMjkgYiBGcShleHByZXNzaW9uMikzOCBiIEZ0KGFyZSkzMSBiKHRydWUuKTYzMAotMzQ1NyB5IEZqKGV4cHJlc3Npb24xKTM4IGIgRnMofHwpMzAgYiBGaihleHByZXNzaW9uMikxMTEwCi0zNTY3IHkgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcoZWl0aGVyKWggRnEoZXhwcmVzc2lvbjEpMzgKLWIgRnQob3IpMzAgYiBGcShleHByZXNzaW9uMikzOCBiIEZ0KGlzKTMwIGIodHJ1ZS4pNjMwCi0zNzE2IHkoVGhlKTI1IGIgRnMoJiYpZyBGdChhbmQpZyBGcyh8fClmIEZ0KG9wKXMoZXJhdG9ycylpKGRvKWYobm90KWgKLShldiktNSBiKGFsdWF0ZSkyNyBiIEZxKGV4cHJlc3Npb24yKTMzIGIgRnQoaWYpMjYgYih0aGUpZih2KS01Ci1iKGFsdWUpMjYgYihvZilnIEZxKGV4cHJlc3Npb24xKTYzMCAzODI2IHkgRnQoaXMpayhzdVwwMTZjaWVuKW0odCloKHRvKQotZyhkZXRlcm1pbmUpZyh0aGUpZihyZXR1cm4pZyh2KS01IGIoYWx1ZSkzMSBiKG9mKWYodGhlKWgoZW4pbSh0aXJlKWcKLShjb25kaXRpb25hbCloKGV4cHJlc3Npb24uKTE1MCA0MDM1IHkgRmsoMy4yLjQuMyk2MyBiKEdyb3VwaW5nKTQzCi1iKENvbW1hbmRzKTI3NSA0Mjc0IHkgRnQoQmFzaCkyMiBiKHBybyltKHZpZGVzKWcodCltKHcpbShvKWgodyltKGEpbQotKHlzKWcodG8pZyhncm91cClmKGEpZyhsaXN0KWgob2YpZihjb21tYW5kcylnKHRvKWcoYilzKGUpZyhleGVjdXRlZCloCi0oYXMpZihhKWgodW5pdC4pMzcgYihXaGVuKTIyIGIoY29tLSkxNTAgNDM4NCB5KG1hbmRzKTMwCi1iKGFyZSlpKGdyb3VwKXMoZWQsKWYocmVkaXJlY3Rpb25zKWgobWEpbSh5KWcoYilzKGUpZShhcHBsaWVkKWkodG8pZwotKHRoZSlmKGVuKW0odGlyZSloKGNvbW1hbmQpZyhsaXN0Lik0NCBiKEYpLTggYihvcikzMgotYihleGFtcGxlLCkxNTAgNDQ5MyB5KHRoZSlmKG91dHB1dClmKG9mKWcoYWxsKWgodGhlKWcoY29tbWFuZHMpZihpbilnCi0odGhlKWgobGlzdClnKG1hKW0oeSlnKGIpcyhlKWUocmVkaXJlY3RlZClpKHRvKWcoYSlnKHNpbmdsZSlnKHN0cmVhbS4pCi0xNTAgNDY0MyB5IEZzKFwoXCkpODcwIDQ3NzIgeShcKCk0NyBiIEZqKGxpc3QpNTggYiBGcyhcKSk2MzAKLTQ5MDIgeSBGdChQbGFjaW5nKTMwIGIoYSlmKGxpc3QpZyhvZilnKGNvbW1hbmRzKWYoYilzKGV0KW0odyltKGVlbilpCi0ocGFyZW4pbSh0aGVzZXMpZShjYXVzZXMpaShhKWYoc3Vic2hlbGwpZShlbiltKHZpcm9ubWVuKW0odCk2MzAKLTUwMTEgeSh0bylrKGIpcyhlKWUoY3JlYXRlZClqKFwoc2VlKWYoU2VjdGlvbilnKDMuNy4zKWgoW0NvbW1hbmQpZAotKEV4ZWN1dGlvbilpKEVuKW0odmlyb25tZW4pbSh0XSwpZyhwYWdlKWYoMzFcKSwpNjMwIDUxMjEKLXkoYW5kKWQoZWFjKW0oaClpKG9mKWUodGhlKWgoY29tbWFuZHMpZihpbilnIEZxKGxpc3QpagoreShhcnJhKW0oeSkzOCBiKHYpLTUgYihhcmlhYmxlKTM4IGIgRnMoQkFTSF9SRU1BVENIKXAKK0Z0KC4pNTkgYihUaGUpMzYgYihlbGVtZW4pbSh0KWoob2YpZiBGcyhCQVNIX1JFTUFUQ0gpYworRnQod2l0aClqKGluZGV4KWcoMCloKGlzKTYzMCA0MDggeSh0aGUpYyhwKXMob3J0aW9uKWYob2YpaCh0aGUpZgorKHN0cmluZyloKG1hdGMpbShoaW5nKWcodGhlKWcoZW4pbSh0aXJlKWgocmVndWxhcillKGV4cHJlc3Npb24uKTUwCitiKFRoZSkzMyBiKGVsZW1lbiltKHQpNjMwIDUxOCB5KG9mKTM5IGIgRnMoQkFTSF9SRU1BVENIKWMKK0Z0KHdpdGgpaihpbmRleClnIEZxKG4pZiBGdChpcylpKHRoZSlmKHApcyhvcnRpb24pZyhvZiloKHRoZSlmKHN0cmluZyloCisobWF0YyltKGhpbmcpZyh0aGUpZyBGcShuKXAgRnQodGgpNjMwIDYyOCB5KHBhcmVuKW0odGhlc2l6ZWQpMzEKK2Ioc3ViKXMoZXhwcmVzc2lvbi4pNjMwIDc3MCB5KEV4cHJlc3Npb25zKTIzIGIobWEpbSh5KWgoYilzKGUpZShjb20pbQorKGJpbmVkKWkodXNpbmcpZih0aGUpaChmb2xsbyltKHdpbmcpaChvcClzKGVyYXRvcnMsKWcobGlzdGVkKWYoaW4pZgorKGRlY3JlYXNpbmcpNjMwIDg3OSB5KG9yZGVyKTMwIGIob2YpZyhwcmVjZWRlbmNlOik2MzAKKzEwNTQgeSBGcyhcKClnIEZpKGV4cHJlc3Npb24pMzggYiBGcyhcKSkxMTEwIDExNjMgeSBGdChSZXR1cm5zKTMwCitiKHRoZSloKHYpLTUgYihhbHVlKTMxIGIob2YpZyBGcShleHByZXNzaW9uKXAgRnQoLik0MgorYihUaGlzKTMwIGIobWEpbSh5KWkoYilzKGUpZSh1c2VkKWcodG8paShvKW0odiltKGVycmlkZSlnKHRoZSkxMTEwCisxMjczIHkobm9ybWFsKWUocHJlY2VkZW5jZSloKG9mKWcob3ApcyhlcmF0b3JzLik2MzAgMTQ0NworeSBGcyghKWYgRmkoZXhwcmVzc2lvbikxMTEwIDE1NTcgeSBGdChUKS04IGIocnVlKTMwIGIoaWYpZworRnEoZXhwcmVzc2lvbilnIEZ0KGlzKWgoZmFsc2UuKTYzMCAxNzMxIHkgRmkoZXhwcmVzc2lvbjEpMzgKK2IgRnMoJiYpMzAgYiBGaShleHByZXNzaW9uMikxMTEwIDE4NDEgeSBGdChUKS04IGIocnVlKTMwCitiKGlmKWcoYilzKG90aClnIEZxKGV4cHJlc3Npb24xKTM4IGIgRnQoYW5kKTI5IGIgRnEoZXhwcmVzc2lvbjIpMzgKK2IgRnQoYXJlKTMxIGIodHJ1ZS4pNjMwIDIwMTUgeSBGaShleHByZXNzaW9uMSkzOCBiIEZzKHx8KTMwCitiIEZpKGV4cHJlc3Npb24yKTExMTAgMjEyNSB5IEZ0KFQpLTggYihydWUpMzAgYihpZilnKGVpdGhlciloCitGcShleHByZXNzaW9uMSkzOCBiIEZ0KG9yKTMwIGIgRnEoZXhwcmVzc2lvbjIpMzggYiBGdChpcykzMAorYih0cnVlLik2MzAgMjI5OSB5KFRoZSkyNSBiIEZzKCYmKWcgRnQoYW5kKWcgRnMofHwpZgorRnQob3ApcyhlcmF0b3JzKWkoZG8pZihub3QpaChldiktNSBiKGFsdWF0ZSkyNyBiIEZxKGV4cHJlc3Npb24yKTMzCitiIEZ0KGlmKTI2IGIodGhlKWYodiktNSBiKGFsdWUpMjYgYihvZilnIEZxKGV4cHJlc3Npb24xKTYzMAorMjQwOCB5IEZ0KGlzKWsoc3VcMDE2Y2llbiltKHQpaCh0bylnKGRldGVybWluZSlnKHRoZSlmKHJldHVybilnKHYpLTUKK2IoYWx1ZSkzMSBiKG9mKWYodGhlKWgoZW4pbSh0aXJlKWcoY29uZGl0aW9uYWwpaChleHByZXNzaW9uLikxNTAKKzI2MjMgeSBGaigzLjIuNC4zKTYzIGIoR3JvdXBpbmcpNDMgYihDb21tYW5kcykxNTAgMjc3MAoreSBGdChCYXNoKTMwIGIocHJvKW0odmlkZXMpZyh0KW0odyltKG8paCh3KW0oYSltKHlzKWYodG8paChncm91cCllKGEpaAorKGxpc3QpZyhvZilnKGNvbW1hbmRzKWYodG8paShiKXMoZSllKGV4ZWN1dGVkKWgoYXMpZyhhKWgodW5pdC4pNDAKK2IoV2hlbikyOSBiKGNvbS0pMTUwIDI4NzkgeShtYW5kcyloKGFyZSlpKGdyb3VwKXMoZWQsKWYocmVkaXJlY3Rpb25zKWgKKyhtYSltKHkpZyhiKXMoZSllKGFwcGxpZWQpaSh0bylnKHRoZSlmKGVuKW0odGlyZSloKGNvbW1hbmQpZyhsaXN0Lik0NAorYihGKS04IGIob3IpMzIgYihleGFtcGxlLCkxNTAgMjk4OSB5KHRoZSlmKG91dHB1dClmKG9mKWcoYWxsKWgodGhlKWcKKyhjb21tYW5kcylmKGluKWcodGhlKWgobGlzdClnKG1hKW0oeSlnKGIpcyhlKWUocmVkaXJlY3RlZClpKHRvKWcoYSlnCisoc2luZ2xlKWcoc3RyZWFtLikxNTAgMzE3MSB5IEZzKFwoXCkpODcwIDMzMTMgeShcKCk0NworYiBGaShsaXN0KTU4IGIgRnMoXCkpNjMwIDM0NTUgeSBGdChQbGFjaW5nKTMwIGIoYSlmKGxpc3QpZyhvZilnCisoY29tbWFuZHMpZihiKXMoZXQpbSh3KW0oZWVuKWkocGFyZW4pbSh0aGVzZXMpZShjYXVzZXMpaShhKWYoc3Vic2hlbGwpZQorKGVuKW0odmlyb25tZW4pbSh0KTYzMCAzNTY0IHkodG8payhiKXMoZSllKGNyZWF0ZWQpaihcKHNlZSlmKFNlY3Rpb24pZworKDMuNy4zKWgoW0NvbW1hbmQpZChFeGVjdXRpb24paShFbiltKHZpcm9ubWVuKW0odF0sKWcocGFnZSlmKDMwXCksKTYzMAorMzY3NCB5KGFuZClkKGVhYyltKGgpaShvZillKHRoZSloKGNvbW1hbmRzKWYoaW4pZyBGcShsaXN0KWoKIEZ0KHRvKWYoYilzKGUpZShleGVjdXRlZCloKGluKWYodGhhdCloKHN1YnNoZWxsLikzOSBiKFNpbmNlKTI4Ci1iKHRoZSlmIEZxKGxpc3QpNjMwIDUyMzAgeSBGdChpcylpKGV4ZWN1dGVkKWcoaW4pZihhKWgoc3Vic2hlbGwsKWcodiktNQorYih0aGUpZiBGcShsaXN0KTYzMCAzNzgzIHkgRnQoaXMpaShleGVjdXRlZClnKGluKWYoYSloKHN1YnNoZWxsLClnKHYpLTUKIGIoYXJpYWJsZSkyOSBiKGFzc2lnbm1lbiltKHRzKWcoZG8pZyhub3QpZyhyZW1haW4pZihpbilnKGVcMDEzZWN0KWoKLShhZnRlcillKHRoZSk2MzAgNTM0MCB5KHN1YnNoZWxsKWcoY29tcGxldGVzLilwIGVvcCBlbmQKKyhhZnRlcillKHRoZSk2MzAgMzg5MyB5KHN1YnNoZWxsKWcoY29tcGxldGVzLikxNTAgNDA2NworeSBGcyh7fSk4NzAgNDIwOSB5KHspNDcgYiBGaShsaXN0KTExIGIgRnMoOyk0NiBiKH0pNjMwCis0MzUxIHkgRnQoUGxhY2luZykzMCBiKGEpZyhsaXN0KWcob2YpZyhjb21tYW5kcylmKGIpcyhldCltKHcpbShlZW4paAorKGN1cmx5KWYoYnJhY2VzKWcoY2F1c2VzKWgodGhlKWYobGlzdCloKHRvKWcoYilzKGUpZihleGVjdXRlZCk2MzAKKzQ0NjEgeShpbilkKHRoZSloKGN1cnJlbiltKHQpZyhzaGVsbClmKGNvbiltKHRleHQuKTQyCitiKE5vKTI3IGIoc3Vic2hlbGwpZihpcylnKGNyZWF0ZWQuKTQxIGIoVGhlKTI2IGIoc2VtaWNvbG9uKWkoXChvcilmCisobmV3bGluZVwpKTYzMCA0NTcwIHkoZm9sbG8pbSh3aW5nKTMyIGIgRnEobGlzdCloIEZ0KGlzKWQocmVxdWlyZWQuKTI3NQorNDc1MiB5KEluKTQ0IGIoYWRkaXRpb24paCh0byloKHRoZSlmKGNyZWF0aW9uKWkob2YpZShhKWcoc3Vic2hlbGwsKWoKKyh0aGVyZSllKGlzKWYoYSlnKHN1YnRsZSlnKGRpXDAxM2VyZW5jZSloKGIpcyhldCltKHcpbShlZW4pZih0aGVzZSkxNTAKKzQ4NjIgeSh0KW0odyltKG8pYyhjb25zdHJ1Y3RzKWUoZHVlKWcodG8pZyhoaXN0b3JpY2FsKWkocmVhc29ucy4pNjcKK2IoVGhlKTM5IGIoYnJhY2VzKWcoYXJlKWggRnMocmVzZXJ2ZWQpMjggYih3b3JkcylwIEZ0KCwpNDAKK2Ioc28pZyh0aGV5KWYobSltKHVzdCkxNTAgNDk3MSB5KGIpcyhlKWQoc2VwYXJhdGVkKWgoZnJvbSlmKHRoZSlnCitGcShsaXN0KWogRnQoYiltKHkpZSBGcyhibGFuaylwIEZ0KHMpZShvciloKG90aGVyKWgoc2hlbGwpZihtZXRhYyltCisoaGFyYWN0ZXJzLik2MiBiKFRoZSkzNiBiKHBhcmVuKW0odGhlc2VzKWgoYXJlKTE1MCA1MDgxCit5IEZzKG9wZXJhdG9ycylwIEZ0KCwpMjMgYihhbmQpaChhcmUpZyhyZWNvZ25pemVkKWkoYXMpZShzZXBhcmF0ZSlpCisodG9rKW0oZW5zKWYoYiltKHkpZih0aGUpZyhzaGVsbCloKGV2KW0oZW4pZyhpZilmKHRoZXkpZyhhcmUpaChub3QpZgorKHNlcGFyYXRlZCkxNTAgNTE5MSB5KGZyb20pMzAgYih0aGUpZyBGcShsaXN0KWogRnQoYiltKHkpZSh3aGl0ZXNwYWNlLikKKzI3NSA1MzQwIHkoVGhlKWUoZXhpdClqKHN0YXR1cyllKG9mKWgoYilzKG90aClmKG9mKWcodGhlc2UpaAorKGNvbnN0cnVjdHMpZyhpcylmKHRoZSloKGV4aXQpZyhzdGF0dXMpZihvZiloIEZxKGxpc3QpcgorRnQoLilwIGVvcCBlbmQKICUlUGFnZTogMTQgMjAKIFRlWERpY3QgYmVnaW4gMTQgMTkgYm9wIDE1MCAtMTE2IGEgRnQoMTQpMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcyh7fSk4NzAgNDMxIHkoeyk0NwotYiBGaihsaXN0KTExIGIgRnMoOyk0NiBiKH0pNjMwIDU2NCB5IEZ0KFBsYWNpbmcpMzAgYihhKWcobGlzdClnKG9mKWcKLShjb21tYW5kcylmKGIpcyhldCltKHcpbShlZW4paChjdXJseSlmKGJyYWNlcylnKGNhdXNlcyloKHRoZSlmKGxpc3QpaAotKHRvKWcoYilzKGUpZihleGVjdXRlZCk2MzAgNjczIHkoaW4pZCh0aGUpaChjdXJyZW4pbSh0KWcoc2hlbGwpZihjb24pbQotKHRleHQuKTQyIGIoTm8pMjcgYihzdWJzaGVsbClmKGlzKWcoY3JlYXRlZC4pNDEgYihUaGUpMjYKLWIoc2VtaWNvbG9uKWkoXChvcilmKG5ld2xpbmVcKSk2MzAgNzgzIHkoZm9sbG8pbSh3aW5nKTMyCi1iIEZxKGxpc3QpaCBGdChpcylkKHJlcXVpcmVkLikyNzUgOTM4IHkoSW4pNDQgYihhZGRpdGlvbiloKHRvKWgodGhlKWYKLShjcmVhdGlvbilpKG9mKWUoYSlnKHN1YnNoZWxsLClqKHRoZXJlKWUoaXMpZihhKWcoc3VidGxlKWcKLShkaVwwMTNlcmVuY2UpaChiKXMoZXQpbSh3KW0oZWVuKWYodGhlc2UpMTUwIDEwNDggeSh0KW0odyltKG8pYwotKGNvbnN0cnVjdHMpZShkdWUpZyh0bylnKGhpc3RvcmljYWwpaShyZWFzb25zLik2NyBiKFRoZSkzOQotYihicmFjZXMpZyhhcmUpaCBGcyhyZXNlcnZlZCkyOCBiKHdvcmRzKXAgRnQoLCk0MCBiKHNvKWcodGhleSlmKG0pbQotKHVzdCkxNTAgMTE1OCB5KGIpcyhlKWQoc2VwYXJhdGVkKWgoZnJvbSlmKHRoZSlnIEZxKGxpc3QpagotRnQoYiltKHkpZSBGcyhibGFuaylwIEZ0KHMpZShvciloKG90aGVyKWgoc2hlbGwpZihtZXRhYyltKGhhcmFjdGVycy4pNjIKLWIoVGhlKTM2IGIocGFyZW4pbSh0aGVzZXMpaChhcmUpMTUwIDEyNjcgeSBGcyhvcGVyYXRvcnMpcAotRnQoLCkyMyBiKGFuZCloKGFyZSlnKHJlY29nbml6ZWQpaShhcyllKHNlcGFyYXRlKWkodG9rKW0oZW5zKWYoYiltKHkpZgotKHRoZSlnKHNoZWxsKWgoZXYpbShlbilnKGlmKWYodGhleSlnKGFyZSloKG5vdClmKHNlcGFyYXRlZCkxNTAKLTEzNzcgeShmcm9tKTMwIGIodGhlKWcgRnEobGlzdClqIEZ0KGIpbSh5KWUod2hpdGVzcGFjZS4pMjc1Ci0xNTA5IHkoVGhlKWUoZXhpdClqKHN0YXR1cyllKG9mKWgoYilzKG90aClmKG9mKWcodGhlc2UpaChjb25zdHJ1Y3RzKWcKLShpcylmKHRoZSloKGV4aXQpZyhzdGF0dXMpZihvZiloIEZxKGxpc3QpcCBGdCguKTE1MCAxNzI3Ci15IEZrKDMuMi41KTYzIGIoQ29wcm8pcyhjZXNzZXMpMjc1IDE5NjkgeSBGdChBKTM0IGIgRnMoY29wcm9jZXNzKWUKLUZ0KGlzKWooYSlnKHNoZWxsKWcoY29tbWFuZClmKHByZWNlZGVkKWgoYiltKHkpZih0aGUpaAotRnMoY29wcm9jKWUgRnQocmVzZXJ2KW0oZWQpaSh3KW0ob3JkLik1MyBiKEEpMzUgYihjb3BybylzKGNlc3MpMTUwCi0yMDc5IHkoaXMpMzAgYihleGVjdXRlZClnKGFzeW5jKW0oaHJvbm91c2x5KWcoaW4pZihhKWgoc3Vic2hlbGwsKWYoYXMpaAotKGlmKWcodGhlKWcoY29tbWFuZClmKGhhZClnKGIpcyhlZW4pZyh0ZXJtaW5hdGVkKWgod2l0aClnKHRoZSkxNTAKLTIxODkgeShgKXAgRnMoJilwIEZ0KCcpayhjb24pbSh0cm9sKWgob3ApcyhlcmF0b3IsKWcod2l0aClmKGEpZyh0KW0odyltCi0oby13KW0oYSltKHkpaShwaXApcyhlKWQoZXN0YWJsaXNoZWQpaChiKXMoZXQpbSh3KW0oZWVuKWgodGhlKWYKLShleGVjdXRpbmcpaChzaGVsbClmKGFuZClmKHRoZSkxNTAgMjI5OCB5KGNvcHJvKXMoY2Vzcy4pMjc1Ci0yNDMxIHkoVGhlKWMoZm9ybWF0KWkoZm9yKWYoYSloKGNvcHJvKXMoY2VzcylnKGlzOikzOTAKLTI1NjMgeSBGcyhjb3Byb2MpNDYgYihbKXAgRmooTkFNRSkxMSBiIEZzKF0pNDYgYiBGaihjb21tYW5kKTU2Ci1iIEZzKFspcCBGaihyZWRpcmVjdGlvbnMpMTEgYiBGcyhdKTE1MCAyNjk2IHkgRnQoVGhpcyk0MQotYihjcmVhdGVzKWooYSlmKGNvcHJvKXMoY2VzcylmKG5hbWVkKWcgRnEoTkFNRSlwIEZ0KC4paChJZilmCi1GcShOQU1FKTQ4IGIgRnQoaXMpNDIgYihub3QpaChzdXBwbGllZCwpaCh0aGUpZShkZWZhdWx0KWgobmFtZSlmKGlzKTE1MAotMjgwNSB5IEZxKENPUFIpbShPQylwIEZ0KC4pMjMgYiBGcShOQU1FKTI5IGIgRnQobSltKHVzdCkyNAotYihub3QpZyhiKXMoZSlmKHN1cHBsaWVkKWYoaWYpaSBGcShjb21tYW5kKWkgRnQoaXMpZShhKWcoc2ltcGxlKWcKLShjb21tYW5kKWYoXChzZWUpaShTZWN0aW9uKWYoMy4yLjEpMTUwIDI5MTUgeShbU2ltcGxlKTM5Ci1iKENvbW1hbmRzXSwpaChwYWdlKWcoOFwpOylrKG90aGVyd2lzZSwpZShpdClkKGlzKWcoaW4pbSh0ZXJwcmV0ZWQpaAotKGFzKWYodGhlKWcoXDAxNHJzdClmKHcpbShvcmQpaChvZilnKHRoZSlnKHNpbXBsZSkxNTAKLTMwMjQgeShjb21tYW5kLikyNzUgMzE1NyB5KFdoZW4pMjMgYih0aGUpaChjb3BybylzKGMpZyhpcylnKGV4ZWN1dGVkLClpCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRmooMy4yLjUpNjMgYihDb3BybylzKGNlc3NlcykxNTAKKzQ0NiB5IEZ0KEEpMzcgYiBGcyhjb3Byb2Nlc3MpYyBGdChpcylrKGEpZyhzaGVsbClmKGNvbW1hbmQpaChwcmVjZWRlZClmCisoYiltKHkpZyh0aGUpaCBGcyhjb3Byb2MpZCBGdChyZXNlcnYpbShlZClqKHcpbShvcmQuKTU5CitiKEEpMzYgYihjb3BybylzKGNlc3MpaChpcykxNTAgNTU1IHkoZXhlY3V0ZWQpZyhhc3luYyltKGhyb25vdXNseSlnKGluKQorZihhKWgoc3Vic2hlbGwsKWcoYXMpZyhpZilnKHRoZSlmKGNvbW1hbmQpaChoYWQpZihiKXMoZWVuKWYodGVybWluYXRlZCkKK2kod2l0aClnKHRoZSkxNTAgNjY1IHkoYClwIEZzKCYpcCBGdCgnKWQoY29uKW0odHJvbCloKG9wKXMoZXJhdG9yLClnCisod2l0aClmKGEpZyh0KW0odyltKG8tdyltKGEpbSh5KWkocGlwKXMoZSlkKGVzdGFibGlzaGVkKWgoYilzKGV0KW0odyltCisoZWVuKWgodGhlKWYoZXhlY3V0aW5nKWgoc2hlbGwpZihhbmQpZih0aGUpMTUwIDc3NSB5KGNvcHJvKXMoY2Vzcy4pMjc1Cis5MDYgeShUaGUpYyhmb3JtYXQpaShmb3IpZihhKWgoY29wcm8pcyhjZXNzKWcoaXM6KTM5MAorMTAzNyB5IEZzKGNvcHJvYyk0NiBiKFspcCBGaShOQU1FKTExIGIgRnMoXSk0NiBiIEZpKGNvbW1hbmQpNTYKK2IgRnMoWylwIEZpKHJlZGlyZWN0aW9ucykxMSBiIEZzKF0pMTUwIDExNjggeSBGdChUaGlzKTQxCitiKGNyZWF0ZXMpaShhKWcoY29wcm8pcyhjZXNzKWYobmFtZWQpZiBGcShOQU1FKTUgYiBGdCguKTQzCitiKElmKWYgRnEoTkFNRSk0NyBiIEZ0KGlzKTQyIGIobm90KWcoc3VwcGxpZWQsKWkodGhlKWUoZGVmYXVsdClnKG5hbWUpZworKGlzKTE1MCAxMjc3IHkgRnEoQ09QUiltKE9DKTggYiBGdCguKTIyIGIgRnEoTkFNRSkyOQorYiBGdChtKW0odXN0KTIzIGIobm90KWcoYilzKGUpZyhzdXBwbGllZCllKGlmKWkgRnEoY29tbWFuZClrCitGdChpcyljKGEpZyhzaW1wbGUpZyhjb21tYW5kKWcoXChzZWUpaChTZWN0aW9uKWcoMy4yLjEpMTUwCisxMzg3IHkoW1NpbXBsZSkzOSBiKENvbW1hbmRzXSwpaChwYWdlKWcoOFwpOylrKG90aGVyd2lzZSwpZShpdClkKGlzKWcKKyhpbiltKHRlcnByZXRlZCloKGFzKWYodGhlKWcoXDAxNHJzdClmKHcpbShvcmQpaChvZilnKHRoZSlnKHNpbXBsZSkxNTAKKzE0OTYgeShjb21tYW5kLikyNzUgMTYyNyB5KFdoZW4pMjMgYih0aGUpaChjb3BybylzKGMpZyhpcylnKGV4ZWN1dGVkLClpCiAodGhlKWUoc2hlbGwpZyhjcmVhdGVzKWgoYW4pZShhcnJhKW0oeSlpKHYpLTUgYihhcmlhYmxlKTI0Ci1iKFwoc2VlKWgoU2VjdGlvbilmKDYuNyloKFtBcnJhKW0oeXNdLCkxNTAgMzI2NyB5KHBhZ2UpNDMKK2IoXChzZWUpaChTZWN0aW9uKWYoNi43KWgoW0FycmEpbSh5c10sKTE1MCAxNzM3IHkocGFnZSk0MwogYig4MFwpKWcobmFtZWQpZiBGcShOQU1FKTQ4IGIgRnQoaW4pNDIgYih0aGUpZyhjb24pbSh0ZXh0KWkob2YpZSh0aGUpaAogKGV4ZWN1dGluZylnKHNoZWxsLik3NiBiKFRoZSk0MiBiKHN0YW5kYXJkKWYob3V0cHV0KWgob2YpMTUwCi0zMzc2IHkgRnEoY29tbWFuZClkIEZ0KGlzKWQoY29ubmVjdGVkKWgodmlhKWcoYSlmKHBpcClzKGUpZyh0bylnKGEpaAorMTg0NiB5IEZxKGNvbW1hbmQpZCBGdChpcylkKGNvbm5lY3RlZCloKHZpYSlnKGEpZihwaXApcyhlKWcodG8pZyhhKWgKIChcMDE0bGUpZihkZXNjcmlwdG9yKWcoaW4pZih0aGUpaShleGVjdXRpbmcpZyhzaGVsbCwpaChhbmQpZCh0aGF0KWkKLShcMDE0bGUpMTUwIDM0ODYgeShkZXNjcmlwdG9yKTI1IGIoaXMpZihhc3NpZ25lZCloKHRvKWgKKyhcMDE0bGUpMTUwIDE5NTYgeShkZXNjcmlwdG9yKTI1IGIoaXMpZihhc3NpZ25lZCloKHRvKWgKIEZxKE5BTUUpNSBiIEZ0KFswXS4pNDAgYihUaGUpMjUgYihzdGFuZGFyZCllKGlucHV0KWgob2YpaAogRnEoY29tbWFuZClqIEZ0KGlzKWQoY29ubmVjdGVkKWcodmlhKWgoYSlmKHBpcClzKGUpMTUwCi0zNTk1IHkodG8pMzMgYihhKWYoXDAxNGxlKWcoZGVzY3JpcHRvcilnKGluKWYodGhlKWkoZXhlY3V0aW5nKWcoc2hlbGwsKQorMjA2NiB5KHRvKTMzIGIoYSlmKFwwMTRsZSlnKGRlc2NyaXB0b3IpZyhpbilmKHRoZSlpKGV4ZWN1dGluZylnKHNoZWxsLCkKIGYoYW5kKWcodGhhdClnKFwwMTRsZSlnKGRlc2NyaXB0b3IpZyhpcylnKGFzc2lnbmVkKWcodG8paAotRnEoTkFNRSk1IGIgRnQoWzFdLikxNTAgMzcwNSB5KFRoaXMpMzEgYihwaXApcyhlKWcoaXMpaChlc3RhYmxpc2hlZClnCitGcShOQU1FKTUgYiBGdChbMV0uKTE1MCAyMTc1IHkoVGhpcykzMSBiKHBpcClzKGUpZyhpcyloKGVzdGFibGlzaGVkKWcKIChiKXMoZWZvcmUpZyhhbiltKHkpZyhyZWRpcmVjdGlvbnMpZyhzcClzKGVjaVwwMTRlZClnKGIpbSh5KWYodGhlKWkKLShjb21tYW5kKWUoXChzZWUpaShTZWN0aW9uKWcoMy42KTE1MCAzODE0IHkoW1JlZGlyZWN0aW9uc10sKTI1CisoY29tbWFuZCllKFwoc2VlKWkoU2VjdGlvbilnKDMuNikxNTAgMjI4NSB5KFtSZWRpcmVjdGlvbnNdLCkyNQogYihwYWdlKWUoMjZcKS4pMzkgYihUaGUpMjEgYihcMDE0bGUpaChkZXNjcmlwdG9ycylnKGNhbilnKGIpcyhlKWYKICh1dGlsaXplZClpKGFzKWYoYXJndW1lbiltKHRzKWgodG8pZihzaGVsbClnKGNvbW1hbmRzKTE1MAotMzkyNCB5KGFuZCkzMCBiKHJlZGlyZWN0aW9ucyloKHVzaW5nKWYoc3RhbmRhcmQpZih3KW0ob3JkKWgKLShleHBhbnNpb25zLikyNzUgNDA1NyB5KFRoZSlmKHBybylzKGNlc3MpaChpZClmKG9mKWgodGhlKWcoc2hlbGwpaChzcGEpCisyMzk0IHkoYW5kKTMwIGIocmVkaXJlY3Rpb25zKWgodXNpbmcpZihzdGFuZGFyZClmKHcpbShvcmQpaAorKGV4cGFuc2lvbnMuKTI3NSAyNTI1IHkoVGhlKWYocHJvKXMoY2VzcyloKGlkKWYob2YpaCh0aGUpZyhzaGVsbCloKHNwYSkKIG0od25lZCllKHRvKWkoZXhlY3V0ZSlnKHRoZSlmKGNvcHJvKXMoY2VzcyloKGlzKWYoYSltKHYpLTUKLWIoYWlsYWJsZSkzMiBiKGFzKWUodGhlKWcodiktNSBiKGFsdWUpMzEgYihvZikxNTAgNDE2NgoteSh0aGUpMjYgYih2KS01IGIoYXJpYWJsZSkyNiBiIEZxKE5BTUUpcCA5MzEgNDE2NiAyOAorYihhaWxhYmxlKTMyIGIoYXMpZSh0aGUpZyh2KS01IGIoYWx1ZSkzMSBiKG9mKTE1MCAyNjM1Cit5KHRoZSkyNiBiKHYpLTUgYihhcmlhYmxlKTI2IGIgRnEoTkFNRSlwIDkzMSAyNjM1IDI4CiA0IHYgNDYgdyBGdChQSUQuKWcoVGhlKWYgRnMod2FpdClnIEZ0KGJ1aWx0aW4pZyhjb21tYW5kKWcobWEpbSh5KWgoYilzCiAoZSlmKHVzZWQpZyh0bylpKHcpbShhaXQpZihmb3IpZyh0aGUpZyhjb3BybylzKGNlc3MpMTUwCi00Mjc2IHkodG8pMzEgYih0ZXJtaW5hdGUuKTI3NSA0NDA4IHkoVGhlKWUocmV0dXJuKWgoc3RhdHVzKWcob2YpaChhKWcKLShjb3BybylzKGNlc3MpZihpcyloKHRoZSlmKGV4aXQpaShzdGF0dXMpZShvZiloIEZxKGNvbW1hbmQpcAotRnQoLikxNTAgNDY2MCB5IEZyKDMuMyk2OCBiKFNoZWxsKTQ1IGIoRiktMTEgYih1bmN0aW9ucykyNzUKLTQ5MDIgeSBGdChTaGVsbCkyNyBiKGZ1bmN0aW9ucylnKGFyZSlnKGEpaCh3KW0oYSltKHkpZyh0bylnKGdyb3VwKWYKLShjb21tYW5kcylnKGZvcilnKGxhdGVyKWkoZXhlY3V0aW9uKWYodXNpbmcpZihhKWgoc2luZ2xlKWcobmFtZSlmKGZvcikKLTE1MCA1MDExIHkodGhlKTM1IGIoZ3JvdXAuKTU1IGIoVGhleSkzNSBiKGFyZSlnKGV4ZWN1dGVkKWgoanVzdClmKGxpayltCi0oZSloKGEpZyBGcygiKXAgRnQocmVndWxhcilwIEZzKCIpZiBGdChjb21tYW5kLik1NCBiKFdoZW4pMzUKLWIodGhlKWgobmFtZSlmKG9mKWcoYSloKHNoZWxsKTE1MCA1MTIxIHkoZnVuY3Rpb24paihpcylnKHVzZWQpZihhcyloKGEpCisyNzQ1IHkodG8pMzEgYih0ZXJtaW5hdGUuKTI3NSAyODc2IHkoVGhlKWUocmV0dXJuKWgoc3RhdHVzKWcob2YpaChhKWcKKyhjb3BybylzKGNlc3MpZihpcyloKHRoZSlmKGV4aXQpaShzdGF0dXMpZShvZiloIEZxKGNvbW1hbmQpdAorRnQoLikxNTAgMzEwMSB5IEZyKDMuMyk2OCBiKFNoZWxsKTQ1IGIoRiktMTEgYih1bmN0aW9ucykxNTAKKzMyNjAgeSBGdChTaGVsbCkzNSBiKGZ1bmN0aW9ucyloKGFyZSlnKGEpZyh3KW0oYSltKHkpZyh0byloKGdyb3VwKWUKKyhjb21tYW5kcylnKGZvciloKGxhdGVyKWcoZXhlY3V0aW9uKWgodXNpbmcpZShhKWgoc2luZ2xlKWcobmFtZSlnKGZvcikKKzE1MCAzMzcwIHkodGhlKWYoZ3JvdXAuKTU1IGIoVGhleSkzNSBiKGFyZSlnKGV4ZWN1dGVkKWgoanVzdClmKGxpayltKGUpCitoKGEpZyBGcygiKXAgRnQocmVndWxhcilwIEZzKCIpZiBGdChjb21tYW5kLik1NCBiKFdoZW4pMzUKK2IodGhlKWgobmFtZSlmKG9mKWcoYSloKHNoZWxsKTE1MCAzNDgwIHkoZnVuY3Rpb24paihpcylnKHVzZWQpZihhcyloKGEpCiBoKHNpbXBsZSlmKGNvbW1hbmQpZyhuYW1lLClpKHRoZSllKGxpc3QpaChvZilmKGNvbW1hbmRzKWcoYXNzbylzCi0oY2lhdGVkKWkod2l0aClkKHRoYXQpMTUwIDUyMzAgeShmdW5jdGlvbikyNSBiKG5hbWUpaChpcylnKGV4ZWN1dGVkLik0MAorKGNpYXRlZClpKHdpdGgpZCh0aGF0KTE1MCAzNTg5IHkoZnVuY3Rpb24pMjUgYihuYW1lKWgoaXMpZyhleGVjdXRlZC4pNDAKIGIoU2hlbGwpMjUgYihmdW5jdGlvbnMpZyhhcmUpaShleGVjdXRlZClmKGluKWYodGhlKWgoY3VycmVuKW0odClnCi0oc2hlbGwpZyhjb24pbSh0ZXh0OylqKG5vKWMobmV3KTE1MCA1MzQwIHkocHJvKXMoY2VzcykzMAotYihpcylnKGNyZWF0ZWQpaSh0bylmKGluKW0odGVycHJldClnKHRoZW0uKXAgZW9wIGVuZAorKHNoZWxsKWcoY29uKW0odGV4dDspaihubyljKG5ldykxNTAgMzY5OSB5KHBybylzKGNlc3MpMzAKK2IoaXMpZyhjcmVhdGVkKWkodG8pZihpbiltKHRlcnByZXQpZyh0aGVtLikyNzUgMzgzMCB5KEYpLTgKK2IodW5jdGlvbnMpMzAgYihhcmUpaChkZWNsYXJlZClnKHVzaW5nKWYodGhpcylnKHN5biltKHRheDopMzkwCiszOTYxIHkgRnMoWyk0NyBiKGZ1bmN0aW9uKWYoXSloIEZpKG5hbWUpNTggYiBGcyhcKFwpKTQ3CitiIEZpKGNvbXBvdW5kLWNvbW1hbmQpNTQgYiBGcyhbKTQ3IGIgRmkocmVkaXJlY3Rpb25zKTU1CitiIEZzKF0pMjc1IDQwOTIgeSBGdChUaGlzKTMxIGIoZGVcMDE0bmVzKWgoYSlnKHNoZWxsKWgoZnVuY3Rpb24pZgorKG5hbWVkKWcgRnEobmFtZSk1IGIgRnQoLik0NyBiKFRoZSkzMiBiKHJlc2VydiltKGVkKWgodyltKG9yZClmCitGcyhmdW5jdGlvbillIEZ0KGlzKWkob3B0aW9uYWwuKTQ4IGIoSWYpMTUwIDQyMDEgeSh0aGUpMzkKK2IgRnMoZnVuY3Rpb24pZiBGdChyZXNlcnYpbShlZCloKHcpbShvcmQpZyhpcylnKHN1cHBsaWVkLClpKHRoZSllCisocGFyZW4pbSh0aGVzZXMpaChhcmUpZihvcHRpb25hbC4pNjkgYihUaGUpMzkgYiBGcShiKXMobylzKGR5KTQ1CitiIEZ0KG9mKTQwIGIodGhlKTE1MCA0MzExIHkoZnVuY3Rpb24paChpcyloKHRoZSlnKGNvbXApcyhvdW5kKWUKKyhjb21tYW5kKWggRnEoY29tcClzKG91bmQtY29tbWFuZClqIEZ0KFwoc2VlKWUoU2VjdGlvbiloKDMuMi40KWcoW0NvbXApCitzKG91bmQpMTUwIDQ0MjAgeShDb21tYW5kc10sKTMzIGIocGFnZSlnKDlcKS4pNDggYihUaGF0KTMzCitiKGNvbW1hbmQpZyhpcylmKHVzdWFsbHkpaChhKWcgRnEobGlzdClpIEZ0KGVuY2xvc2VkKWUoYilzKGV0KW0odyltCisoZWVuKWggRnMoeyllIEZ0KGFuZClnIEZzKH0pcCBGdCgsKWgoYnV0KWYobWEpbSh5KTE1MAorNDUzMCB5KGIpcyhlKTI3IGIoYW4pbSh5KWgoY29tcClzKG91bmQpZShjb21tYW5kKWgobGlzdGVkKWgoYWIpcyhvKW0odikKK20oZS4pNDEgYiBGcShjb21wKXMob3VuZC1jb21tYW5kKTMwIGIgRnQoaXMpZShleGVjdXRlZClnKHdoZW5ldiltKGVyKWcKK0ZxKG5hbWUpMTUwIDQ2NDAgeSBGdChpcykzNyBiKHNwKXMoZWNpXDAxNGVkKWcoYXMpZyh0aGUpaChuYW1lKWYob2YpZworKGEpaChjb21tYW5kLik2MSBiKEFuKW0oeSkzNyBiKHJlZGlyZWN0aW9ucyloKFwoc2VlKWcoU2VjdGlvbilnKDMuNilnCisoW1JlZGlyZWN0aW9uc10sKTE1MCA0NzQ5IHkocGFnZSkzMSBiKDI2XCkpaChhc3NvKXMoY2lhdGVkKWcod2l0aCllCisodGhlKWcoc2hlbGwpaChmdW5jdGlvbilmKGFyZSloKHApcyhlcmZvcm1lZClkKHdoZW4paSh0aGUpZyhmdW5jdGlvbilnCisoaXMpaChleGVjdXRlZC4pMjc1IDQ4ODAgeShBKTQxIGIoZnVuY3Rpb24pZihkZVwwMTRuaXRpb24paChtYSltKHkpZyhiKQorcyhlKWcoZGVsZXRlZClnKHVzaW5nKWcodGhlKWcoYClwIEZzKC1mKXAgRnQoJylnKG9wdGlvbilnKHRvKWgodGhlKWYKK0ZzKHVuc2V0KWUgRnQoYnVpbHRpbilpKFwoc2VlKTE1MCA0OTkwIHkoU2VjdGlvbikzMSBiKDQuMSloKFtCb3VybmUpZQorKFNoZWxsKWcoQnVpbHRpbnNdLCloKHBhZ2UpaCgzNVwpLikyNzUgNTEyMSB5KFRoZSkyNgorYihleGl0KWkoc3RhdHVzKWcob2YpZihhKWgoZnVuY3Rpb24pZihkZVwwMTRuaXRpb24pZyhpcylnKHplcm8paAorKHVubGVzcylmKGEpZyhzeW4pbSh0YXgpaChlcnJvcilmKG8pcyhjY3VycylnKG9yKWcoYSloKHJlYWRvbmx5KTE1MAorNTIzMCB5KGZ1bmN0aW9uKWsod2l0aClmKHRoZSlpKHNhbWUpZihuYW1lKWcoYWxyZWFkeSloKGV4aXN0cy4pNDYKK2IoV2hlbikzMiBiKGV4ZWN1dGVkLCloKHRoZSlmKGV4aXQpaChzdGF0dXMpZyhvZilmKGEpZyhmdW5jdGlvbikxNTAKKzUzNDAgeShpcyllKHRoZSloKGV4aXQpZyhzdGF0dXMpZyhvZilmKHRoZSloKGxhc3QpZyhjb21tYW5kKWYoZXhlY3V0ZWQpCitpKGluKWUodGhlKWcoYilzKG8pcyhkeSktOCBiKC4pcCBlb3AgZW5kCiAlJVBhZ2U6IDE1IDIxCiBUZVhEaWN0IGJlZ2luIDE1IDIwIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYigzOik0MQogYihCYXNpYykzMiBiKFNoZWxsKWUoRiktOCBiKGVhdHVyZXMpMjI0NiBiKDE1KTI3NSAyOTkKLXkoRiktOCBiKHVuY3Rpb25zKTMwIGIoYXJlKWgoZGVjbGFyZWQpZyh1c2luZylmKHRoaXMpZyhzeW4pbSh0YXg6KTM5MAotNDMzIHkgRnMoWyk0NyBiKGZ1bmN0aW9uKWYoXSloIEZqKG5hbWUpNTggYiBGcyhcKFwpKTQ3Ci1iIEZqKGNvbXBvdW5kLWNvbW1hbmQpNTQgYiBGcyhbKTQ3IGIgRmoocmVkaXJlY3Rpb25zKTU1Ci1iIEZzKF0pMjc1IDU2NyB5IEZ0KFRoaXMpMzEgYihkZVwwMTRuZXMpaChhKWgoc2hlbGwpZyhmdW5jdGlvbilnKG5hbWVkKQotZiBGcShuYW1lKXAgRnQoLik0OCBiKFRoZSkzMiBiKHJlc2VydiltKGVkKWgodyltKG9yZClmCi1GcyhmdW5jdGlvbilmIEZ0KGlzKWgob3B0aW9uYWwuKTQ5IGIoSWYpMTUwIDY3NiB5KHRoZSkzOQotYiBGcyhmdW5jdGlvbilmIEZ0KHJlc2VydiltKGVkKWgodyltKG9yZClnKGlzKWcoc3VwcGxpZWQsKWkodGhlKWUKLShwYXJlbiltKHRoZXNlcyloKGFyZSlmKG9wdGlvbmFsLik2OSBiKFRoZSkzOSBiIEZxKGIpcyhvKXMoZHkpNDUKLWIgRnQob2YpNDAgYih0aGUpMTUwIDc4NiB5KGZ1bmN0aW9uKWgoaXMpaCh0aGUpZyhjb21wKXMob3VuZCllKGNvbW1hbmQpCi1oIEZxKGNvbXApcyhvdW5kLWNvbW1hbmQpaiBGdChcKHNlZSllKFNlY3Rpb24paCgzLjIuNClnKFtDb21wKXMob3VuZCkKLTE1MCA4OTYgeShDb21tYW5kc10sKTMzIGIocGFnZSlnKDlcKS4pNDggYihUaGF0KTMzIGIoY29tbWFuZClnKGlzKWYKLSh1c3VhbGx5KWgoYSlnIEZxKGxpc3QpaSBGdChlbmNsb3NlZCllKGIpcyhldCltKHcpbShlZW4paAotRnMoeyllIEZ0KGFuZClnIEZzKH0pcCBGdCgsKWgoYnV0KWYobWEpbSh5KTE1MCAxMDA1IHkoYilzKGUpMjcKLWIoYW4pbSh5KWgoY29tcClzKG91bmQpZShjb21tYW5kKWgobGlzdGVkKWgoYWIpcyhvKW0odiltKGUuKTQxCi1iIEZxKGNvbXApcyhvdW5kLWNvbW1hbmQpMzAgYiBGdChpcyllKGV4ZWN1dGVkKWcod2hlbmV2KW0oZXIpZwotRnEobmFtZSkxNTAgMTExNSB5IEZ0KGlzKTM3IGIoc3ApcyhlY2lcMDE0ZWQpZyhhcylnKHRoZSloKG5hbWUpZihvZilnCi0oYSloKGNvbW1hbmQuKTYxIGIoQW4pbSh5KTM3IGIocmVkaXJlY3Rpb25zKWgoXChzZWUpZyhTZWN0aW9uKWcoMy42KWcKLShbUmVkaXJlY3Rpb25zXSwpMTUwIDEyMjQgeShwYWdlKTMxIGIoMjZcKSloKGFzc28pcyhjaWF0ZWQpZyh3aXRoKWUKLSh0aGUpZyhzaGVsbCloKGZ1bmN0aW9uKWYoYXJlKWgocClzKGVyZm9ybWVkKWQod2hlbilpKHRoZSlnKGZ1bmN0aW9uKWcKLShpcyloKGV4ZWN1dGVkLikyNzUgMTM1OCB5KEEpNDEgYihmdW5jdGlvbilmKGRlXDAxNG5pdGlvbiloKG1hKW0oeSlnKGIpCi1zKGUpZyhkZWxldGVkKWcodXNpbmcpZyh0aGUpZyhgKXAgRnMoLWYpcCBGdCgnKWcob3B0aW9uKWcodG8paCh0aGUpZgotRnModW5zZXQpZSBGdChidWlsdGluKWkoXChzZWUpMTUwIDE0NjggeShTZWN0aW9uKTMxIGIoNC4xKWgoW0JvdXJuZSllCi0oU2hlbGwpZyhCdWlsdGluc10sKWgocGFnZSloKDM1XCkuKTI3NSAxNjAyIHkoVGhlKTI2Ci1iKGV4aXQpaShzdGF0dXMpZyhvZilmKGEpaChmdW5jdGlvbilmKGRlXDAxNG5pdGlvbilnKGlzKWcoemVybyloCi0odW5sZXNzKWYoYSlnKHN5biltKHRheCloKGVycm9yKWYobylzKGNjdXJzKWcob3IpZyhhKWgocmVhZG9ubHkpMTUwCi0xNzExIHkoZnVuY3Rpb24payh3aXRoKWYodGhlKWkoc2FtZSlmKG5hbWUpZyhhbHJlYWR5KWgoZXhpc3RzLik0NgotYihXaGVuKTMyIGIoZXhlY3V0ZWQsKWgodGhlKWYoZXhpdCloKHN0YXR1cylnKG9mKWYoYSlnKGZ1bmN0aW9uKTE1MAotMTgyMSB5KGlzKWUodGhlKWgoZXhpdClnKHN0YXR1cylnKG9mKWYodGhlKWgobGFzdClnKGNvbW1hbmQpZihleGVjdXRlZCkKLWkoaW4pZSh0aGUpZyhiKXMobylzKGR5KS04IGIoLikyNzUgMTk1NSB5KE5vdGUpMjIgYih0aGF0KWYoZm9yKWYKLShoaXN0b3JpY2FsKWkocmVhc29ucywpaChpbillKHRoZSlnKG1vc3QpZyhjb21tb24pZyh1c2FnZSlnKHRoZSlnCi0oY3VybHkpZihicmFjZXMpaCh0aGF0KWcoc3Vycm91bmQpMTUwIDIwNjQgeSh0aGUpMzggYihiKXMobylzKGR5KWQob2YpagotKHRoZSlmKGZ1bmN0aW9uKWcobSltKHVzdClnKGIpcyhlKWcoc2VwYXJhdGVkKWgoZnJvbSlmKHRoZSlnKGIpcyhvKXMKLShkeSlmKGIpbSh5KWggRnMoYmxhbmspcCBGdChzKWYob3IpaChuZXdsaW5lcy4pNjIgYihUaGlzKTE1MAotMjE3NCB5KGlzKTM4IGIoYilzKGVjYXVzZSlnKHRoZSloKGJyYWNlcylmKGFyZSloKHJlc2VydiltKGVkKWYodyltCi0ob3JkcylnKGFuZClmKGFyZSlpKG9ubHkpZihyZWNvZ25pemVkKWkoYXMpZShzdWMpbShoKWcod2hlbilmKHRoZXkpaQotKGFyZSkxNTAgMjI4NCB5KHNlcGFyYXRlZCkyNiBiKGZyb20pZih0aGUpaChjb21tYW5kKWYobGlzdClpKGIpbSh5KWUKLSh3aGl0ZXNwYWNlKWgob3IpZyhhbm90aGVyKWcoc2hlbGwpZyhtZXRhYyltKGhhcmFjdGVyLik0MQotYihBbHNvLCkyOCBiKHdoZW4pMTUwIDIzOTMgeSh1c2luZylpKHRoZSlnKGJyYWNlcywpaCh0aGUpZwotRnEobGlzdClpIEZ0KG0pbSh1c3QpZChiKXMoZSlnKHRlcm1pbmF0ZWQpaChiKW0oeSlmKGEpaChzZW1pY29sb24sKWgoYSkKLWUoYClwIEZzKCYpcCBGdCgnLCloKG9yKWcoYSlmKG5ld2xpbmUuKTI3NSAyNTI3IHkoV2hlbilpKGEpaShmdW5jdGlvbilmCi0oaXMpZyhleGVjdXRlZCwpaSh0aGUpZShhcmd1bWVuKW0odHMpaCh0bylnKHRoZSlmKGZ1bmN0aW9uKWcoYilzKGVjb21lKQotZyh0aGUpaChwKXMob3NpdGlvbmFsKWcocGEtKTE1MCAyNjM3IHkocmFtZXRlcnMpNDIgYihkdXJpbmcpZShpdHMpaQoreShOb3RlKTIyIGIodGhhdClmKGZvcilmKGhpc3RvcmljYWwpaShyZWFzb25zLCloKGluKWUodGhlKWcobW9zdClnCisoY29tbW9uKWcodXNhZ2UpZyh0aGUpZyhjdXJseSlmKGJyYWNlcyloKHRoYXQpZyhzdXJyb3VuZCkxNTAKKzQwOCB5KHRoZSkzOCBiKGIpcyhvKXMoZHkpZChvZilqKHRoZSlmKGZ1bmN0aW9uKWcobSltKHVzdClnKGIpcyhlKWcKKyhzZXBhcmF0ZWQpaChmcm9tKWYodGhlKWcoYilzKG8pcyhkeSlmKGIpbSh5KWggRnMoYmxhbmspcAorRnQocylmKG9yKWgobmV3bGluZXMuKTYyIGIoVGhpcykxNTAgNTE4IHkoaXMpMzggYihiKXMoZWNhdXNlKWcodGhlKWgKKyhicmFjZXMpZihhcmUpaChyZXNlcnYpbShlZClmKHcpbShvcmRzKWcoYW5kKWYoYXJlKWkob25seSlmKHJlY29nbml6ZWQpCitpKGFzKWUoc3VjKW0oaClnKHdoZW4pZih0aGV5KWkoYXJlKTE1MCA2MjggeShzZXBhcmF0ZWQpMjYKK2IoZnJvbSlmKHRoZSloKGNvbW1hbmQpZihsaXN0KWkoYiltKHkpZSh3aGl0ZXNwYWNlKWgob3IpZyhhbm90aGVyKWcKKyhzaGVsbClnKG1ldGFjKW0oaGFyYWN0ZXIuKTQxIGIoQWxzbywpMjggYih3aGVuKTE1MCA3MzcKK3kodXNpbmcpaSh0aGUpZyhicmFjZXMsKWgodGhlKWcgRnEobGlzdClpIEZ0KG0pbSh1c3QpZChiKXMoZSlnCisodGVybWluYXRlZCloKGIpbSh5KWYoYSloKHNlbWljb2xvbiwpaChhKWUoYClwIEZzKCYpcAorRnQoJywpaChvcilnKGEpZihuZXdsaW5lLikyNzUgODc5IHkoV2hlbilpKGEpaShmdW5jdGlvbilmKGlzKWcKKyhleGVjdXRlZCwpaSh0aGUpZShhcmd1bWVuKW0odHMpaCh0bylnKHRoZSlmKGZ1bmN0aW9uKWcoYilzKGVjb21lKWcKKyh0aGUpaChwKXMob3NpdGlvbmFsKWcocGEtKTE1MCA5ODggeShyYW1ldGVycyk0MiBiKGR1cmluZyllKGl0cylpCiAoZXhlY3V0aW9uKWgoXChzZWUpZihTZWN0aW9uKWcoMy40LjEpaChbUCltKG9zaXRpb25hbCloKFApbQotKGFyYW1ldGVyc10sKWkocGFnZSljKDE2XCkuKTc1IGIoVGhlKTE1MCAyNzQ2IHkoc3ApcyhlY2lhbCkzNworKGFyYW1ldGVyc10sKWkocGFnZSljKDE2XCkuKTc1IGIoVGhlKTE1MCAxMDk4IHkoc3ApcyhlY2lhbCkzNwogYihwYXJhbWV0ZXIpZihgKXAgRnMoIylwIEZ0KCcpZyh0aGF0KWgoZXhwYW5kcyllKHRvKWkodGhlKWYobiltKHVtKW0oYikKIHMoZXIpZihvZiloKHApcyhvc2l0aW9uYWwpaChwYXJhbWV0ZXJzKWYoaXMpZyh1cClzKGRhdGVkKWYodG8pMTUwCi0yODU2IHkocmVcMDE1ZWN0KWgodGhlKWYoYyltKGhhbmdlLik1NiBiKFNwKXMoZWNpYWwpMzUKKzEyMDcgeShyZVwwMTVlY3QpaCh0aGUpZihjKW0oaGFuZ2UuKTU2IGIoU3ApcyhlY2lhbCkzNQogYihwYXJhbWV0ZXIpaCBGcygwKWYgRnQoaXMpZyh1bmMpbShoYW5nZWQuKTU0IGIoVGhlKTM1Ci1iKFwwMTRyc3QpZihlbGVtZW4pbSh0KWoob2YpZSh0aGUpZyBGcyhGVU5DTkFNRSkxNTAgMjk2NgoteSBGdCh2KS01IGIoYXJpYWJsZSkyNyBiKGlzKWcoc2V0KWcodG8paCh0aGUpZihuYW1lKWYob2YpaCh0aGUpZwotKGZ1bmN0aW9uKWYod2hpbGUpaCh0aGUpZyhmdW5jdGlvbilmKGlzKWgoZXhlY3V0aW5nLik0MAotYihBbGwpMjggYihvdGhlcilmKGFzcClzKGVjdHMpMTUwIDMwNzUgeShvZikzMiBiKHRoZSlnKHNoZWxsKWcKLShleGVjdXRpb24paShlbiltKHZpcm9ubWVuKW0odCllKGFyZSloKGlkZW4pbSh0aWNhbClnKGIpcyhldCltKHcpbShlZW4pCi1nKGEpZihmdW5jdGlvbilnKGFuZClmKGl0cylpKGNhbGxlcilnKHdpdGgpZih0aGUpMTUwCi0zMTg1IHkoZXhjZXB0aW9uKWgodGhhdClmKHRoZSlnIEZzKERFQlVHKWYgRnQoYW5kKWcgRnMoUkVUVVJOKWYKLUZ0KHRyYXBzKWgoYXJlKWgobm90KWcoaW5oZXJpdGVkKWcodW5sZXNzKWYodGhlKWgoZnVuY3Rpb24pZihoYXMpaChiKXMKLShlZW4pMTUwIDMyOTQgeShnaXYpbShlbiloKHRoZSlmIEZzKHRyYWNlKWUgRnQoYXR0cmlidXRlKWoodXNpbmcpZSh0aGUpCi1oIEZzKGRlY2xhcmUpZSBGdChidWlsdGluKWgob3IpaCh0aGUpZyBGcygtbyllKGZ1bmN0cmFjZSlmCi1GdChvcHRpb24paihoYXMpZyhiKXMoZWVuKTE1MCAzNDA0IHkoZW5hYmxlZCkzOSBiKHdpdGgpZih0aGUpaAotRnMoc2V0KWUgRnQoYnVpbHRpbiwpayhcKGluKWUod2hpYyltKGgpZihjYXNlKWkoYWxsKWYoZnVuY3Rpb25zKWYKLShpbmhlcml0KWgodGhlKWYgRnMoREVCVUcpZyBGdChhbmQpZyBGcyhSRVRVUk4pMTUwIDM1MTMKLXkgRnQodHJhcHNcKS4pNjYgYihTZWUpNDAgYihTZWN0aW9uKWYoNC4xKWgoW0JvdXJuZSlmKFNoZWxsKWcKLShCdWlsdGluc10sKWoocGFnZSllKDM1LClpKGZvcilkKHRoZSlnKGRlc2NyaXB0aW9uKWcob2YpZyh0aGUpZwotRnModHJhcCkxNTAgMzYyMyB5IEZ0KGJ1aWx0aW4uKTI3NSAzNzU3IHkoSWYpZSh0aGUpZyhidWlsdGluKWcoY29tbWFuZCkKLWggRnMocmV0dXJuKWQgRnQoaXMpaihleGVjdXRlZClnKGluKWcoYSlnKGZ1bmN0aW9uLCloKHRoZSllKGZ1bmN0aW9uKWgKLShjb21wbGV0ZXMpaChhbmQpMTUwIDM4NjcgeShleGVjdXRpb24pMjUgYihyZXN1bWVzKWUod2l0aCloKHRoZSlnKG5leHQpCi1nKGNvbW1hbmQpZihhZnRlcilpKHRoZSlmKGZ1bmN0aW9uKWYoY2FsbC4pNDAgYihBbiltKHkpMjQKLWIoY29tbWFuZClmKGFzc28pcyhjaWF0ZWQpMTUwIDM5NzYgeSh3aXRoKTM2IGIodGhlKWgKLUZzKFJFVFVSTilkIEZ0KHRyYXApaShpcyloKGV4ZWN1dGVkKWcoYilzKGVmb3JlKWYoZXhlY3V0aW9uKWkocmVzdW1lcy4pCi01NyBiKFdoZW4pMzcgYihhKWYoZnVuY3Rpb24pZyhjb21wbGV0ZXMsKTE1MCA0MDg2IHkodGhlKWgodiktNQotYihhbHVlcykzOCBiKG9mKWYodGhlKWcocClzKG9zaXRpb25hbCloKHBhcmFtZXRlcnMpZihhbmQpZyh0aGUpZyhzcClzCi0oZWNpYWwpaChwYXJhbWV0ZXIpZihgKXAgRnMoIylwIEZ0KCcpZyhhcmUpaChyZXN0b3JlZClmKHRvKWgodGhlKTE1MAotNDE5NSB5KHYpLTUgYihhbHVlcykyNiBiKHRoZXkpZihoYWQpZyhwcmlvcilmKHRvKWkodGhlKWcoZnVuY3Rpb24ncylmCi0oZXhlY3V0aW9uLik0MCBiKElmKTI1IGIoYSloKG4pbSh1bWVyaWMpZihhcmd1bWVuKW0odCloKGlzKWYoZ2l2KW0oZW4paAotKHRvKWcgRnMocmV0dXJuKXAgRnQoLCkxNTAgNDMwNSB5KHRoYXQpaihpcylnKHRoZSlmKGZ1bmN0aW9uJ3MpaAotKHJldHVybillKHN0YXR1czspaihvdGhlcndpc2UpZih0aGUpZihmdW5jdGlvbidzKWgocmV0dXJuKWUoc3RhdHVzKWkKLShpcylmKHRoZSloKGV4aXQpaChzdGF0dXMpMTUwIDQ0MTUgeShvZiloKHRoZSlmKGxhc3QpaChjb21tYW5kKWYKLShleGVjdXRlZClpKGIpcyhlZm9yZSllKHRoZSlnIEZzKHJldHVybilwIEZ0KC4pMjc1IDQ1NDgKLXkoViktOCBiKGFyaWFibGVzKTMxIGIobG8pcyhjYWwpZyh0bylmKHRoZSlnKGZ1bmN0aW9uKWYobWEpbSh5KWkoYilzKGUpCi1lKGRlY2xhcmVkKWgod2l0aClmKHRoZSloIEZzKGxvY2FsKWYgRnQoYnVpbHRpbi4pNDAgYihUaGVzZSkyOQotYih2KS01IGIoYXJpYWJsZXMpMTUwIDQ2NTggeShhcmUpMzEgYih2aXNpYmxlKWcob25seSlmKHRvKWgodGhlKWcKLShmdW5jdGlvbilmKGFuZClnKHRoZSlnKGNvbW1hbmRzKWcoaXQpaChpbiltKHYpbShvayltKGVzLikyNzUKLTQ3OTIgeShGKS04IGIodW5jdGlvbikzOCBiKG5hbWVzKWYoYW5kKWcoZGVcMDE0bml0aW9ucylnKG1hKW0oeSlpKGIpcworYihcMDE0cnN0KWYoZWxlbWVuKW0odClqKG9mKWUodGhlKWcgRnMoRlVOQ05BTUUpMTUwIDEzMTcKK3kgRnQodiktNSBiKGFyaWFibGUpMzEgYihpcylnKHNldClmKHRvKWkodGhlKWUobmFtZSloKG9mKWYodGhlKWgKKyhmdW5jdGlvbilmKHdoaWxlKWcodGhlKWgoZnVuY3Rpb24pZihpcylnKGV4ZWN1dGluZy4pMjc1CisxNDU5IHkoQWxsKTI1IGIob3RoZXIpZyhhc3ApcyhlY3RzKWcob2YpZyh0aGUpZyhzaGVsbClnKGV4ZWN1dGlvbiloKGVuKQorbSh2aXJvbm1lbiltKHQpZyhhcmUpZihpZGVuKW0odGljYWwpaChiKXMoZXQpbSh3KW0oZWVuKWcoYSlmKGZ1bmN0aW9uKWcKKyhhbmQpMTUwIDE1NjggeShpdHMpMzUgYihjYWxsZXIpaSh3aXRoKWQodGhlc2UpaShleGNlcHRpb25zOik1MAorYih0aGUpMzYgYiBGcyhERUJVRylkIEZ0KGFuZCloIEZzKFJFVFVSTilnIEZ0KHRyYXBzKWcoYXJlKWkobm90KWYKKyhpbmhlcml0ZWQpZih1bmxlc3MpaCh0aGUpMTUwIDE2NzggeShmdW5jdGlvbikyNiBiKGhhcylnKGIpcyhlZW4pZihnaXYpCittKGVuKWkodGhlKWcgRnModHJhY2UpZCBGdChhdHRyaWJ1dGUpaih1c2luZylmKHRoZSlnCitGcyhkZWNsYXJlKWUgRnQoYnVpbHRpbilpKG9yKWcodGhlKWggRnMoLW8paShmdW5jdHJhY2UpMTUwCisxNzg3IHkgRnQob3B0aW9uKWYoaGFzKWUoYilzKGVlbiloKGVuYWJsZWQpZyh3aXRoKWcodGhlKWcKK0ZzKHNldClmIEZ0KGJ1aWx0aW4sKWkoXChpbilmKHdoaWMpbShoKWYoY2FzZSlqKGFsbClmKGZ1bmN0aW9ucyllCisoaW5oZXJpdCloKHRoZSlnIEZzKERFQlVHKTE1MCAxODk3IHkgRnQoYW5kKTMzIGIgRnMoUkVUVVJOKWYKK0Z0KHRyYXBzXCksKWooYW5kKWUodGhlKWggRnMoRVJSKWYgRnQodHJhcCloKGlzKWcobm90KWcoaW5oZXJpdGVkKWYKKyh1bmxlc3MpZyh0aGUpaCBGcygtbyljKGVycnRyYWNlKWggRnQoc2hlbGwpaihvcHRpb24pMTUwCisyMDA3IHkoaGFzKWgoYilzKGVlbilmKGVuYWJsZWQuKTU1IGIoU2VlKTM1IGIoU2VjdGlvbiloKDQuMSlnKFtCb3VybmUpZgorKFNoZWxsKWcoQnVpbHRpbnNdLClpKHBhZ2UpZigzNSwpaShmb3IpYyh0aGUpaShkZXNjcmlwdGlvbilmKG9mKTE1MAorMjExNiB5KHRoZSljIEZzKHRyYXApZSBGdChidWlsdGluLikyNzUgMjI1OCB5KElmKTM3IGIodGhlKWcoYnVpbHRpbilnCisoY29tbWFuZCloIEZzKHJldHVybilkIEZ0KGlzKWooZXhlY3V0ZWQpZyhpbilnKGEpZyhmdW5jdGlvbiwpaCh0aGUpZQorKGZ1bmN0aW9uKWgoY29tcGxldGVzKWgoYW5kKTE1MCAyMzY3IHkoZXhlY3V0aW9uKTI1IGIocmVzdW1lcyllKHdpdGgpaAorKHRoZSlnKG5leHQpZyhjb21tYW5kKWYoYWZ0ZXIpaSh0aGUpZihmdW5jdGlvbilmKGNhbGwuKTQwCitiKEFuKW0oeSkyNCBiKGNvbW1hbmQpZihhc3NvKXMoY2lhdGVkKTE1MCAyNDc3IHkod2l0aCkzNgorYih0aGUpaCBGcyhSRVRVUk4pZCBGdCh0cmFwKWkoaXMpaChleGVjdXRlZClnKGIpcyhlZm9yZSlmKGV4ZWN1dGlvbilpCisocmVzdW1lcy4pNTcgYihXaGVuKTM3IGIoYSlmKGZ1bmN0aW9uKWcoY29tcGxldGVzLCkxNTAKKzI1ODYgeSh0aGUpaCh2KS01IGIoYWx1ZXMpMzggYihvZilmKHRoZSlnKHApcyhvc2l0aW9uYWwpaChwYXJhbWV0ZXJzKWYKKyhhbmQpZyh0aGUpZyhzcClzKGVjaWFsKWgocGFyYW1ldGVyKWYoYClwIEZzKCMpcCBGdCgnKWcoYXJlKWgocmVzdG9yZWQpCitmKHRvKWgodGhlKTE1MCAyNjk2IHkodiktNSBiKGFsdWVzKTI2IGIodGhleSlmKGhhZClnKHByaW9yKWYodG8paSh0aGUpZworKGZ1bmN0aW9uJ3MpZihleGVjdXRpb24uKTQwIGIoSWYpMjUgYihhKWgobiltKHVtZXJpYylmKGFyZ3VtZW4pbSh0KWgKKyhpcylmKGdpdiltKGVuKWgodG8pZyBGcyhyZXR1cm4pcCBGdCgsKTE1MCAyODA2IHkodGhhdClqKGlzKWcodGhlKWYKKyhmdW5jdGlvbidzKWgocmV0dXJuKWUoc3RhdHVzOylqKG90aGVyd2lzZSlmKHRoZSlmKGZ1bmN0aW9uJ3MpaChyZXR1cm4pCitlKHN0YXR1cylpKGlzKWYodGhlKWgoZXhpdCloKHN0YXR1cykxNTAgMjkxNSB5KG9mKWgodGhlKWYobGFzdCloCisoY29tbWFuZClmKGV4ZWN1dGVkKWkoYilzKGVmb3JlKWUodGhlKWcgRnMocmV0dXJuKXAgRnQoLikyNzUKKzMwNTcgeShWKS04IGIoYXJpYWJsZXMpMzEgYihsbylzKGNhbClnKHRvKWYodGhlKWcoZnVuY3Rpb24pZihtYSltKHkpaQorKGIpcyhlKWUoZGVjbGFyZWQpaCh3aXRoKWYodGhlKWggRnMobG9jYWwpZiBGdChidWlsdGluLik0MAorYihUaGVzZSkyOSBiKHYpLTUgYihhcmlhYmxlcykxNTAgMzE2NiB5KGFyZSkzMSBiKHZpc2libGUpZyhvbmx5KWYodG8paAorKHRoZSlnKGZ1bmN0aW9uKWYoYW5kKWcodGhlKWcoY29tbWFuZHMpZyhpdCloKGluKW0odiltKG9rKW0oZXMuKTI3NQorMzMwOCB5KEYpLTggYih1bmN0aW9uKTM4IGIobmFtZXMpZihhbmQpZyhkZVwwMTRuaXRpb25zKWcobWEpbSh5KWkoYilzCiAoZSllKGxpc3RlZCloKHdpdGgpZih0aGUpaChgKXAgRnMoLWYpcCBGdCgnKWYob3B0aW9uKWgodG8paCh0aGUpZQotRnMoZGVjbGFyZSlmIEZ0KG9yKTE1MCA0OTAyIHkgRnModHlwZXNldClkIEZ0KGJ1aWx0aW4paChjb21tYW5kcyloCitGcyhkZWNsYXJlKWYgRnQob3IpMTUwIDM0MTcgeSBGcyh0eXBlc2V0KWQgRnQoYnVpbHRpbiloKGNvbW1hbmRzKWgKIChcKHNlZSloKFNlY3Rpb24pZyg0LjIpZyhbQmFzaClmKEJ1aWx0aW5zXSwpaShwYWdlKWYoNDFcKS4pNTUKLWIoVGhlKTM1IGIoYClwIEZzKC1GKXAgRnQoJylnKG9wdGlvbilnKHRvKTE1MCA1MDExIHkKK2IoVGhlKTM1IGIoYClwIEZzKC1GKXAgRnQoJylnKG9wdGlvbilnKHRvKTE1MCAzNTI3IHkKIEZzKGRlY2xhcmUpZiBGdChvcilpIEZzKHR5cGVzZXQpZSBGdCh3aWxsKWkobGlzdCloKHRoZSlmKGZ1bmN0aW9uKWcKIChuYW1lcylnKG9ubHkpZyhcKGFuZClnKG9wdGlvbmFsbHkpaCh0aGUpZihzb3VyY2UpZyhcMDE0bGUpaChhbmQpMTUwCi01MTIxIHkobGluZSljKG4pbSh1bSltKGIpcyhlciwpZyhpZilmKHRoZSloIEZzKGV4dGRlYnVnKWUKKzM2MzYgeShsaW5lKWMobiltKHVtKW0oYilzKGVyLClnKGlmKWYodGhlKWggRnMoZXh0ZGVidWcpZQogRnQoc2hlbGwpaShvcHRpb24pZyhpcylnKGVuYWJsZWRcKS4pNDkgYihGKS04IGIodW5jdGlvbnMpMzMKLWIobWEpbSh5KWgoYilzKGUpZShleHApcyhvcnRlZClnKHNvKWgodGhhdCkxNTAgNTIzMCB5KHN1YnNoZWxscylmCitiKG1hKW0oeSloKGIpcyhlKWUoZXhwKXMob3J0ZWQpZyhzbyloKHRoYXQpMTUwIDM3NDYgeShzdWJzaGVsbHMpZgogKGF1dG9tYXRpY2FsbHkpMzcgYihoYSltKHYpbShlKWQodGhlbSlnKGRlXDAxNG5lZCllKHdpdGgpaCh0aGUpZyhgKXAKIEZzKC1mKXAgRnQoJyloKG9wdGlvbilnKHRvKWcodGhlKWYgRnMoZXhwb3J0KWYgRnQoYnVpbHRpbiloKFwoc2VlKTE1MAotNTM0MCB5KFNlY3Rpb24pZyg0LjEpZyhbQm91cm5lKWYoU2hlbGwpZyhCdWlsdGluc10sKWkocGFnZSlmKDM1XCkuKTQ3CiszODU2IHkoU2VjdGlvbilnKDQuMSlnKFtCb3VybmUpZihTaGVsbClnKEJ1aWx0aW5zXSwpaShwYWdlKWYoMzVcKS4pNDcKIGIoTm90ZSkzMyBiKHRoYXQpZyhzaGVsbClmKGZ1bmN0aW9ucylnKGFuZClmKHYpLTUgYihhcmlhYmxlcykzMwotYih3aXRoKXAgZW9wIGVuZAotJSVQYWdlOiAxNiAyMgotVGVYRGljdCBiZWdpbiAxNiAyMSBib3AgMTUwIC0xMTYgYSBGdCgxNikyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5KHRoZSlmKHNhbWUpZyhuYW1lKWcobWEpbSh5KWcocmVzdWx0KWcKLShpbilnKG0pbSh1bHRpcGxlKWcoaWRlbiltKHRpY2FsbHktbmFtZWQpaShlbiltKHRyaWVzKWYoaW4pZSh0aGUpaChlbiltCi0odmlyb25tZW4pbSh0KWcocGFzc2VkKTE1MCA0MDggeSh0byloKHRoZSlnKHNoZWxsJ3MpZihjKW0oaGlsZHJlbi4pNDEKK2Iod2l0aCkxNTAgMzk2NSB5KHRoZSlkKHNhbWUpZyhuYW1lKWcobWEpbSh5KWcocmVzdWx0KWcoaW4pZyhtKW0KKyh1bHRpcGxlKWcoaWRlbiltKHRpY2FsbHktbmFtZWQpaShlbiltKHRyaWVzKWYoaW4pZSh0aGUpaChlbiltCisodmlyb25tZW4pbSh0KWcocGFzc2VkKTE1MCA0MDc1IHkodG8paCh0aGUpZyhzaGVsbCdzKWYoYyltKGhpbGRyZW4uKTQxCiBiKENhcmUpMzAgYihzaG91bGQpZyhiKXMoZSlmKHRhayltKGVuKWooaW4pZShjYXNlcyloKHdoZXJlKWYodGhpcylnKG1hKQotbSh5KWgoY2F1c2UpZyhhKWcocHJvYmxlbS4pMjc1IDU0MCB5KEYpLTggYih1bmN0aW9ucykzMAorbSh5KWgoY2F1c2UpZyhhKWcocHJvYmxlbS4pMjc1IDQyMTYgeShGKS04IGIodW5jdGlvbnMpMzAKIGIobWEpbSh5KWgoYilzKGUpZihyZWN1cnNpdiltKGUuKTQxIGIoTm8pMzEgYihsaW1pdClnKGlzKWcocGxhY2VkKWcob24pCiBmKHRoZSlnKG4pbSh1bSltKGIpcyhlcilnKG9mKWcocmVjdXJzaXYpbShlKWgoY2FsbHMuKTE1MAotNzg3IHkgRnIoMy40KTY4IGIoU2hlbGwpNDUgYihQKWwoYXJhbWV0ZXJzKTI3NSAxMDI4IHkKLUZ0KEEpMzIgYiBGcShwYXJhbWV0ZXIpNDAgYiBGdChpcykzMiBiKGFuKWgoZW4pbSh0aXQpbSh5KWgodGhhdClmCi0oc3RvcmVzKWcodiktNSBiKGFsdWVzLik0OCBiKEl0KTMzIGIoY2FuKWcoYilzKGUpZShhKWkKLUZzKG5hbWUpcCBGdCgsKWcoYSlnKG4pbSh1bSltKGIpcyhlciwpZihvcilnKG9uZSloKG9mKWcodGhlKTE1MAotMTEzOCB5KHNwKXMoZWNpYWwpaShjKW0oaGFyYWN0ZXJzKWgobGlzdGVkKWcoYilzKGVsbyltKHcuKTUzCi1iKEEpMzUgYiBGcSh2KS01IGIoYXJpYWJsZSk0MSBiIEZ0KGlzKTM0IGIoYSloKHBhcmFtZXRlciloKGRlbm90ZWQpZShiKQotbSh5KWgoYSlnIEZzKG5hbWUpcCBGdCguKTUyIGIoQSkzNSBiKHYpLTUgYihhcmlhYmxlKTE1MAotMTI0OCB5KGhhcykyOSBiKGEpaCBGcSh2KS01IGIoYWx1ZSkzNSBiIEZ0KGFuZCkyOCBiKHplcm8paihvcillKG1vcmUpZwotRnEoYXR0cmlidXRlcylwIEZ0KC4pNDEgYihBKW0odHRyaWJ1dGVzKTMwIGIoYXJlKWcoYXNzaWduZWQpZyh1c2luZylmCi0odGhlKWcgRnMoZGVjbGFyZSllIEZ0KGJ1aWx0aW4pMTUwIDEzNTcgeShjb21tYW5kKTIyCi1iKFwoc2VlKWgodGhlKWYoZGVzY3JpcHRpb24pZyhvZilnKHRoZSlnIEZzKGRlY2xhcmUpZgotRnQoYnVpbHRpbilnKGluKWgoU2VjdGlvbiloKDQuMilnKFtCYXNoKWYoQnVpbHRpbnNdLClqKHBhZ2UpZCg0MVwpLikyNzUKLTE0ODggeShBKTI4IGIocGFyYW1ldGVyKWgoaXMpZyhzZXQpZyhpZilmKGl0KWgoaGFzKWYoYilzKGVlbilnCi0oYXNzaWduZWQpaChhKWcodiktNSBiKGFsdWUuKTQwIGIoVGhlKTI4IGIobiltKHVsbCloKHN0cmluZylmKGlzKWgoYSlnCi0odiktNSBiKGFsaWQpMjggYih2KS01IGIoYWx1ZS4pNDEgYihPbmNlKTE1MCAxNTk4IHkoYSkzMQotYih2KS01IGIoYXJpYWJsZSkzMSBiKGlzKWYoc2V0LClpKGl0KWUobWEpbSh5KWgoYilzKGUpZih1bnNldClnKG9ubHkpaAotKGIpbSh5KWYodXNpbmcpZyh0aGUpZyBGcyh1bnNldClmIEZ0KGJ1aWx0aW4paChjb21tYW5kLikyNzUKLTE3MjkgeShBKWcodiktNSBiKGFyaWFibGUpMzEgYihtYSltKHkpZyhiKXMoZSlmKGFzc2lnbmVkKWcodG8paShiKW0oeSllCi0oYSloKHN0YXRlbWVuKW0odCloKG9mKWUodGhlKWgoZm9ybSkzOTAgMTg2MSB5IEZqKG5hbWUpMTEKLWIgRnMoPVspcCBGaih2YWx1ZSlnIEZzKF0pMTUwIDE5OTIgeSBGdChJZikzNCBiIEZxKHYpLTUKLWIoYWx1ZSk0MCBiIEZ0KGlzKTM1IGIobm90KWcoZ2l2KW0oZW4sKWgodGhlKWYodiktNSBiKGFyaWFibGUpMzUKKzQ0NTkgeSBGcigzLjQpNjggYihTaGVsbCk0NSBiKFApbChhcmFtZXRlcnMpMTUwIDQ2MTkKK3kgRnQoQSkyMyBiIEZxKHBhcmFtZXRlcikzMSBiIEZ0KGlzKTIzIGIoYW4pZyhlbiltKHRpdCltKHkpaSh0aGF0KWYKKyhzdG9yZXMpZyh2KS01IGIoYWx1ZXMuKTM5IGIoSXQpMjMgYihjYW4paChiKXMoZSlmKGEpZworRnMobmFtZSlwIEZ0KCwpaChhKWcobiltKHVtKW0oYilzKGVyLClmKG9yKWgob25lKWYob2YpaCh0aGUpZihzcClzCisoZWNpYWwpMTUwIDQ3MjggeShjKW0oaGFyYWN0ZXJzKWkobGlzdGVkKWYoYilzKGVsbyltKHcuKTM5CitiKEEpMjQgYiBGcSh2KS01IGIoYXJpYWJsZSkyOSBiIEZ0KGlzKTI0IGIoYSlnKHBhcmFtZXRlcilnKGRlbm90ZWQpZihiKQorbSh5KWgoYSlnIEZzKG5hbWUpcCBGdCguKTM3IGIoQSkyNCBiKHYpLTUgYihhcmlhYmxlKTI0CitiKGhhcylmKGEpaCBGcSh2KS01IGIoYWx1ZSkxNTAgNDgzOCB5IEZ0KGFuZCkzMyBiKHplcm8paShvcillKG1vcmUpaAorRnEoYXR0cmlidXRlcyl0IEZ0KC4pNTEgYihBKW0odHRyaWJ1dGVzKTM0IGIoYXJlKWcoYXNzaWduZWQpZyh1c2luZylmCisodGhlKWggRnMoZGVjbGFyZSllIEZ0KGJ1aWx0aW4paChjb21tYW5kKTE1MCA0OTQ3IHkoXChzZWUpZSh0aGUpZworKGRlc2NyaXB0aW9uKWYob2YpaCh0aGUpZiBGcyhkZWNsYXJlKWYgRnQoYnVpbHRpbiloKGluKWcoU2VjdGlvbiloKDQuMikKK2coW0Jhc2gpZyhCdWlsdGluc10sKWcocGFnZSlnKDQxXCkuKTI3NSA1MDg5IHkoQSlkKHBhcmFtZXRlciloKGlzKWcKKyhzZXQpZyhpZilmKGl0KWgoaGFzKWYoYilzKGVlbilnKGFzc2lnbmVkKWgoYSlnKHYpLTUKK2IoYWx1ZS4pNDAgYihUaGUpMjggYihuKW0odWxsKWgoc3RyaW5nKWYoaXMpaChhKWcodiktNQorYihhbGlkKTI4IGIodiktNSBiKGFsdWUuKTQxIGIoT25jZSkxNTAgNTE5OCB5KGEpMzEgYih2KS01CitiKGFyaWFibGUpMzEgYihpcylmKHNldCwpaShpdCllKG1hKW0oeSloKGIpcyhlKWYodW5zZXQpZyhvbmx5KWgoYiltKHkpZgorKHVzaW5nKWcodGhlKWcgRnModW5zZXQpZiBGdChidWlsdGluKWgoY29tbWFuZC4pMjc1IDUzNDAKK3koQSlnKHYpLTUgYihhcmlhYmxlKTMxIGIobWEpbSh5KWcoYilzKGUpZihhc3NpZ25lZClnKHRvKWkoYiltKHkpZShhKWgKKyhzdGF0ZW1lbiltKHQpaChvZillKHRoZSloKGZvcm0pcCBlb3AgZW5kCislJVBhZ2U6IDE2IDIyCitUZVhEaWN0IGJlZ2luIDE2IDIxIGJvcCAxNTAgLTExNiBhIEZ0KDE2KTI1NzIgYihCYXNoKTMxCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkzOTAgMjk5IHkgRmkobmFtZSkxMSBiIEZzKD1bKXAKK0ZpKHZhbHVlKWcgRnMoXSkxNTAgNDM1IHkgRnQoSWYpMzQgYiBGcSh2KS01IGIoYWx1ZSk0MAorYiBGdChpcykzNSBiKG5vdClnKGdpdiltKGVuLCloKHRoZSlmKHYpLTUgYihhcmlhYmxlKTM1CiBiKGlzKWcoYXNzaWduZWQpZyh0aGUpZihuKW0odWxsKWgoc3RyaW5nLik1MyBiKEFsbCkzNQogYiBGcSh2KS01IGIoYWx1ZSk1IGIgRnQocykzNSBiKHVuZGVyZ28pZih0aWxkZSloKGV4LSkxNTAKLTIxMDEgeShwYW5zaW9uLCloKHBhcmFtZXRlcilmKGFuZClmKHYpLTUgYihhcmlhYmxlKTM2Cis1NDQgeShwYW5zaW9uLCloKHBhcmFtZXRlcilmKGFuZClmKHYpLTUgYihhcmlhYmxlKTM2CiBiKGV4cGFuc2lvbiwpZihjb21tYW5kKWcoc3Vic3RpdHV0aW9uLCloKGFyaXRobWV0aWMpZyhleHBhbnNpb24sKTE1MAotMjIxMSB5KGFuZClrKHF1b3RlKWgocmVtbyltKHYpLTUgYihhbCk0MiBiKFwoZGV0YWlsZWQpaChiKXMoZWxvKW0od1wpLikKKzY1NCB5KGFuZClrKHF1b3RlKWgocmVtbyltKHYpLTUgYihhbCk0MiBiKFwoZGV0YWlsZWQpaChiKXMoZWxvKW0od1wpLikKIDcyIGIoSWYpNDAgYih0aGUpaCh2KS01IGIoYXJpYWJsZSk0MSBiKGhhcylnKGl0cylnIEZzKGludGVnZXIpZQotRnQoYXR0cmlidXRlKWkoc2V0LClqKHRoZW4pMTUwIDIzMjEgeSBGcSh2KS01IGIoYWx1ZSkzOAorRnQoYXR0cmlidXRlKWkoc2V0LClqKHRoZW4pMTUwIDc2MyB5IEZxKHYpLTUgYihhbHVlKTM4CiBiIEZ0KGlzKTMzIGIoZXYpLTUgYihhbHVhdGVkKTM0IGIoYXMpZihhbilnKGFyaXRobWV0aWMpaChleHByZXNzaW9uKWYKIChldiltKGVuKWgoaWYpZSh0aGUpaCBGcygkXChcKC4uLilvKFwpXCkpZiBGdChleHBhbnNpb24paChpcylnKG5vdClnCi0odXNlZCkxNTAgMjQzMCB5KFwoc2VlKWUoU2VjdGlvbilnKDMuNS41KWkoW0FyaXRobWV0aWMpZShFeHBhbnNpb25dLClmCisodXNlZCkxNTAgODczIHkoXChzZWUpZShTZWN0aW9uKWcoMy41LjUpaShbQXJpdGhtZXRpYyllKEV4cGFuc2lvbl0sKWYKIChwYWdlKWgoMjNcKS4pNDIgYihXKS04IGIob3JkKTMxIGIoc3BsaXR0aW5nKWcoaXMpZyhub3QpZihwKXMKLShlcmZvcm1lZCwpZih3aXRoKTE1MCAyNTQwIHkodGhlKTM1IGIoZXhjZXB0aW9uKWgob2YpZgorKGVyZm9ybWVkLClmKHdpdGgpMTUwIDk4MyB5KHRoZSkzNSBiKGV4Y2VwdGlvbiloKG9mKWYKIEZzKCIkQCIpZiBGdChhcyloKGV4cGxhaW5lZClnKGIpcyhlbG8pbSh3Lik1NCBiKEZpbGVuYW1lKTM2CiBiKGV4cGFuc2lvbilmKGlzKWcobm90KWcocClzKGVyZm9ybWVkLik1MyBiKEFzc2lnbi0pMTUwCi0yNjQ5IHkobWVuKW0odCkzMyBiKHN0YXRlbWVuKW0odHMpaChtYSltKHkpZihhbHNvKWcoYXBwKXMoZWFyKWYoYXMpZworMTA5MiB5KG1lbiltKHQpMzMgYihzdGF0ZW1lbiltKHRzKWgobWEpbSh5KWYoYWxzbylnKGFwcClzKGVhcilmKGFzKWcKIChhcmd1bWVuKW0odHMpaCh0bylnKHRoZSlnIEZzKGFsaWFzKXAgRnQoLCllIEZzKGRlY2xhcmUpcAotRnQoLClnIEZzKHR5cGVzZXQpcCBGdCgsKWcgRnMoZXhwb3J0KXAgRnQoLCkxNTAgMjc1OQorRnQoLClnIEZzKHR5cGVzZXQpcCBGdCgsKWcgRnMoZXhwb3J0KXAgRnQoLCkxNTAgMTIwMgogeSBGcyhyZWFkb25seSlwIEZ0KCwpZChhbmQpaSBGcyhsb2NhbClmIEZ0KGJ1aWx0aW4paChjb21tYW5kcy4pMjc1Ci0yODkwIHkoSW4pZih0aGUpaChjb24pbSh0ZXh0KWkod2hlcmUpZChhbiloKGFzc2lnbm1lbiltKHQpaChzdGF0ZW1lbiltCisxMzM4IHkoSW4pZih0aGUpaChjb24pbSh0ZXh0KWkod2hlcmUpZChhbiloKGFzc2lnbm1lbiltKHQpaChzdGF0ZW1lbiltCiAodCloKGlzKWUoYXNzaWduaW5nKWcoYSloKHYpLTUgYihhbHVlKTMwIGIodG8paChhKWYoc2hlbGwpZyh2KS01Ci1iKGFyaWFibGUpMzEgYihvcikxNTAgMzAwMCB5KGFycmEpbSh5KWYoaW5kZXgpZyhcKHNlZSloKFNlY3Rpb24pZyg2LjcpZworYihhcmlhYmxlKTMxIGIob3IpMTUwIDE0NDcgeShhcnJhKW0oeSlmKGluZGV4KWcoXChzZWUpaChTZWN0aW9uKWcoNi43KWcKIChbQXJyYSltKHlzXSwpZyhwYWdlKWcoODBcKSwpZyh0aGUpZihgKXAgRnMoKz0pcCBGdCgnKWcob3ApcyhlcmF0b3IpZwotKGNhbiloKGIpcyhlKWUodXNlZClnKHRvKWkoYXBwKXMoZW5kKWQodG8pMTUwIDMxMDkgeShvcikzNgorKGNhbiloKGIpcyhlKWUodXNlZClnKHRvKWkoYXBwKXMoZW5kKWQodG8pMTUwIDE1NTcgeShvcikzNgogYihhZGQpZyh0byloKHRoZSlmKHYpLTUgYihhcmlhYmxlJ3MpMzcgYihwcmV2aW91cylmKHYpLTUKIGIoYWx1ZS4pNTkgYihXaGVuKTM2IGIoYClwIEZzKCs9KXAgRnQoJylnKGlzKWcoYXBwbGllZClnKHRvKWgoYSlnKHYpLTUKLWIoYXJpYWJsZSkzNyBiKGZvcilmKHdoaWMpbShoKWcodGhlKTE1MCAzMjE5IHkoaW4pbSh0ZWdlcilrKGF0dHJpYnV0ZSllCitiKGFyaWFibGUpMzcgYihmb3IpZih3aGljKW0oaClnKHRoZSkxNTAgMTY2NiB5KGluKW0odGVnZXIpayhhdHRyaWJ1dGUpZQogKGhhcylnKGIpcyhlZW4pZyhzZXQsKWogRnEodiktNSBiKGFsdWUpNDQgYiBGdChpcykzOAogYihldiktNSBiKGFsdWF0ZWQpMzkgYihhcylnKGFuKWYoYXJpdGhtZXRpYyloKGV4cHJlc3Npb24pZihhbmQpZyhhZGRlZCkKLTE1MCAzMzI5IHkodG8pZSh0aGUpZih2KS01IGIoYXJpYWJsZSdzKTM2IGIoY3VycmVuKW0odClmKHYpLTUKKzE1MCAxNzc2IHkodG8pZSh0aGUpZih2KS01IGIoYXJpYWJsZSdzKTM2IGIoY3VycmVuKW0odClmKHYpLTUKIGIoYWx1ZSwpMzcgYih3aGljKW0oaCllKGlzKWcoYWxzbyloKGV2KS01IGIoYWx1YXRlZC4pNTYKIGIoV2hlbikzNSBiKGApcCBGcygrPSlwIEZ0KCcpZyhpcyloKGFwcGxpZWQpZih0bylnKGFuKWcoYXJyYSltKHkpMTUwCi0zNDM4IHkodiktNSBiKGFyaWFibGUpMjYgYih1c2luZyllKGNvbXApcyhvdW5kKWYoYXNzaWdubWVuKW0odClqKFwoc2VlKQorMTg4NiB5KHYpLTUgYihhcmlhYmxlKTI2IGIodXNpbmcpZShjb21wKXMob3VuZClmKGFzc2lnbm1lbiltKHQpaihcKHNlZSkKIGYoU2VjdGlvbiloKDYuNylmKFtBcnJhKW0oeXNdLClpKHBhZ2UpZig4MFwpLCloKHRoZSllKHYpLTUKLWIoYXJpYWJsZSdzKTI1IGIodiktNSBiKGFsdWUpMTUwIDM1NDggeShpcykzMiBiKG5vdClmKHVuc2V0KWgoXChhcylnCitiKGFyaWFibGUncykyNSBiKHYpLTUgYihhbHVlKTE1MCAxOTk1IHkoaXMpMzIgYihub3QpZih1bnNldCloKFwoYXMpZwogKGl0KWcoaXMpZih3aGVuKWcodXNpbmcpZyhgKXAgRnMoPSlwIEZ0KCdcKSwpaShhbmQpZShuZXcpZyh2KS01CiBiKGFsdWVzKTMyIGIoYXJlKWcoYXBwKXMoZW5kZWQpZCh0bylrKHRoZSlmKGFycmEpbSh5KWcoYilzKGVnaW5uaW5nKTE1MAotMzY1NyB5KGF0KTI3IGIob25lKWYoZ3JlYXRlcilpKHRoYW4pZSh0aGUpZyhhcnJhKW0oeSdzKWgobWF4aW0pbSh1bSlmCisyMTA1IHkoYXQpMjcgYihvbmUpZihncmVhdGVyKWkodGhhbillKHRoZSlnKGFycmEpbSh5J3MpaChtYXhpbSltKHVtKWYKIChpbmRleClnKFwoZm9yKWcoaW5kZXhlZClnKGFycmEpbSh5c1wpLClpKG9yKWUoYWRkZWQpZyhhcylnKGFkZGl0aW9uYWwpCi0xNTAgMzc2NyB5KGspbShleS12KS01IGIoYWx1ZSkzNSBiKHBhaXJzKWUoaW4pZyhhbilnKGFzc28pcyhjaWF0aXYpbShlKQorMTUwIDIyMTQgeShrKW0oZXktdiktNSBiKGFsdWUpMzUgYihwYWlycyllKGluKWcoYW4pZyhhc3NvKXMoY2lhdGl2KW0oZSkKIGooYXJyYSltKHkpLTggYiguKTUxIGIoV2hlbikzMyBiKGFwcGxpZWQpZyh0byloKGEpZyhzdHJpbmctdiktNQogYihhbHVlZCkzNCBiKHYpLTUgYihhcmlhYmxlLCkzNSBiIEZxKHYpLTUgYihhbHVlKTM5IGIKLUZ0KGlzKTE1MCAzODc3IHkoZXhwYW5kZWQpMzAgYihhbmQpZihhcHApcyhlbmRlZClnKHRvKWkodGhlKWcodiktNQotYihhcmlhYmxlJ3MpMzEgYih2KS01IGIoYWx1ZS4pMTUwIDQwOTEgeSBGaygzLjQuMSk2MwotYihQKW0ob3NpdGlvbmFsKTQxIGIoUCltKGFyYW1ldGVycykyNzUgNDMzMiB5IEZ0KEEpMzYKLWIgRnEocClzKG9zaXRpb25hbClpKHBhcmFtZXRlcik0NCBiIEZ0KGlzKTM3IGIoYSlnKHBhcmFtZXRlcilnKGRlbm90ZWQpCi1nKGIpbSh5KWcob25lKWcob3IpZyhtb3JlKWcoZGlnaXRzLClpKG90aGVyKWUodGhhbilnKHRoZSkxNTAKLTQ0NDIgeShzaW5nbGUpayhkaWdpdClmIEZzKDApcCBGdCguKTY5IGIoUCltKG9zaXRpb25hbCk0MgotYihwYXJhbWV0ZXJzKWYoYXJlKWYoYXNzaWduZWQpZyhmcm9tKWcodGhlKWcoc2hlbGwncylnKGFyZ3VtZW4pbSh0cylnCi0od2hlbilmKGl0KWkoaXMpMTUwIDQ1NTEgeShpbiltKHYpbShvayltKGVkLClmKGFuZClkKG1hKW0oeSlnKGIpcyhlKWcKLShyZWFzc2lnbmVkKWcodXNpbmcpZih0aGUpaSBGcyhzZXQpZSBGdChidWlsdGluKWcoY29tbWFuZC4pNjEKLWIoUCltKG9zaXRpb25hbCkzOSBiKHBhcmFtZXRlcillIEZzKE4pMTUwIDQ2NjEgeSBGdChtYSltKHkpMjcKLWIoYilzKGUpZyhyZWZlcmVuY2VkKWYoYXMpaCBGcygke059KXAgRnQoLClnKG9yKWcoYXMpZwotRnMoJE4pZiBGdCh3aGVuKWcgRnMoTilnIEZ0KGNvbnNpc3RzKWkob2YpZihhKWcoc2luZ2xlKWcoZGlnaXQuKTQxCi1iKFApbShvc2l0aW9uYWwpMjkgYihwYXJhbWV0ZXJzKTE1MCA0NzcwIHkobWEpbSh5KWoobm90KWYoYilzKGUpZwotKGFzc2lnbmVkKWgodG8pZyh3aXRoKWYoYXNzaWdubWVuKW0odCloKHN0YXRlbWVuKW0odHMuKTQ1Ci1iKFRoZSkzMCBiIEZzKHNldCloIEZ0KGFuZClnIEZzKHNoaWZ0KWUgRnQoYnVpbHRpbnMpaShhcmUpaCh1c2VkKTE1MAotNDg4MCB5KHRvKWgoc2V0KWYoYW5kKWYodW5zZXQpaCh0aGVtKWcoXChzZWUpaChDaGFwdGVyKWUoNCloKFtTaGVsbClnCi0oQnVpbHRpbiloKENvbW1hbmRzXSwpZShwYWdlKWkoMzVcKS4pNDcgYihUaGUpMzEgYihwKXMob3NpdGlvbmFsKTE1MAotNDk5MCB5KHBhcmFtZXRlcnMpMjQgYihhcmUpZyh0ZW1wKXMob3JhcmlseSlnKHJlcGxhY2VkKWgod2hlbilkKGEpagotKHNoZWxsKWYoZnVuY3Rpb24pZihpcyloKGV4ZWN1dGVkKWgoXChzZWUpZihTZWN0aW9uKWgoMy4zKWcoW1NoZWxsKTE1MAotNTA5OSB5KEYpLTggYih1bmN0aW9uc10sKTMxIGIocGFnZSloKDE0XCkuKTI3NSA1MjMwIHkoV2hlbikyNwotYihhKWkocClzKG9zaXRpb25hbClnKHBhcmFtZXRlcilnKGNvbnNpc3RpbmcpZihvZiloKG1vcmUpZih0aGFuKWcoYSlnCi0oc2luZ2xlKWgoZGlnaXQpZyhpcylmKGV4cGFuZGVkLClnKGl0KWgobSltKHVzdCkxNTAgNTM0MAoteShiKXMoZSloKGVuY2xvc2VkKWgoaW4pZihicmFjZXMuKXAgZW9wIGVuZAotJSVQYWdlOiAxNyAyMwotVGVYRGljdCBiZWdpbiAxNyAyMiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoMzopNDEKLWIoQmFzaWMpMzIgYihTaGVsbCllKEYpLTggYihlYXR1cmVzKTIyNDYgYigxNykxNTAgMjk5Ci15IEZrKDMuNC4yKTYzIGIoU3ApcyhlY2lhbCk0MSBiKFApbShhcmFtZXRlcnMpMjc1IDUzOQoteSBGdChUaGUpMjcgYihzaGVsbCloKHRyZWF0cyloKHNldiltKGVyYWwpZyhwYXJhbWV0ZXJzKWcoc3ApcyhlY2lhbGx5KQotLTggYiguKTQxIGIoVGhlc2UpMjggYihwYXJhbWV0ZXJzKWcobWEpbSh5KWcob25seSlnKGIpcyhlKWcKLShyZWZlcmVuY2VkOykxNTAgNjQ4IHkoYXNzaWdubWVuKW0odClqKHRvKWcodGhlbSlnKGlzKWYobm90KWgoYWxsbyltKHcpCi1tKGVkLikxNTAgNzk5IHkgRnMoKik0MzIgYiBGdChFeHBhbmRzKTI5IGIodG8paCh0aGUpaChwKXMob3NpdGlvbmFsKWYKK0Z0KGlzKTE1MCAyMzI0IHkoZXhwYW5kZWQpMzAgYihhbmQpZihhcHApcyhlbmRlZClnKHRvKWkodGhlKWcodiktNQorYihhcmlhYmxlJ3MpMzEgYih2KS01IGIoYWx1ZS4pMTUwIDI1MjUgeSBGaigzLjQuMSk2MworYihQKW0ob3NpdGlvbmFsKTQxIGIoUCltKGFyYW1ldGVycykxNTAgMjY3MSB5IEZ0KEEpMjgKK2IgRnEocClzKG9zaXRpb25hbCloKHBhcmFtZXRlcikzNSBiIEZ0KGlzKTI4IGIoYSlnKHBhcmFtZXRlcilnKGRlbm90ZWQpCitnKGIpbSh5KWcob25lKWcob3IpZyhtb3JlKWcoZGlnaXRzLCloKG90aGVyKWcodGhhbillKHRoZSloKHNpbmdsZSkxNTAKKzI3ODEgeShkaWdpdCkzNCBiIEZzKDApcCBGdCguKTQ4IGIoUCltKG9zaXRpb25hbCkzNiBiKHBhcmFtZXRlcnMpZChhcmUpCitnKGFzc2lnbmVkKWgoZnJvbSllKHRoZSlpKHNoZWxsJ3MpZihhcmd1bWVuKW0odHMpZyh3aGVuKWYoaXQpaShpcylmKGluKQorbSh2KW0ob2spbShlZCwpMTUwIDI4OTEgeShhbmQpMzggYihtYSltKHkpaShiKXMoZSllKHJlYXNzaWduZWQpaSh1c2luZykKK2UodGhlKWggRnMoc2V0KWcgRnQoYnVpbHRpbilmKGNvbW1hbmQuKTY3IGIoUCltKG9zaXRpb25hbCk0MQorYihwYXJhbWV0ZXIpZSBGcyhOKWcgRnQobWEpbSh5KWgoYilzKGUpMTUwIDMwMDAgeShyZWZlcmVuY2VkKTM0CitiKGFzKWggRnMoJHtOfSlwIEZ0KCwpZyhvcilmKGFzKWggRnMoJE4pZSBGdCh3aGVuKWggRnMoTilnCitGdChjb25zaXN0cyloKG9mKWYoYSloKHNpbmdsZSlnKGRpZ2l0Lik1NCBiKFApbShvc2l0aW9uYWwpMzcKK2IocGFyYW1ldGVycylkKG1hKW0oeSkxNTAgMzExMCB5KG5vdClqKGIpcyhlKWYoYXNzaWduZWQpaCh0bylnKHdpdGgpZgorKGFzc2lnbm1lbiltKHQpaShzdGF0ZW1lbiltKHRzLik2MSBiKFRoZSkzNiBiIEZzKHNldClnCitGdChhbmQpZyBGcyhzaGlmdClmIEZ0KGJ1aWx0aW5zKWgoYXJlKWgodXNlZClmKHRvKTE1MAorMzIxOSB5KHNldClrKGFuZClmKHVuc2V0KWYodGhlbSlpKFwoc2VlKWcoQ2hhcHRlcilmKDQpZyhbU2hlbGwpaAorKEJ1aWx0aW4pZyhDb21tYW5kc10sKWgocGFnZSlmKDM1XCkuKTY4IGIoVGhlKTM5IGIocClzKG9zaXRpb25hbCkxNTAKKzMzMjkgeShwYXJhbWV0ZXJzKTQ0IGIoYXJlKWcodGVtcClzKG9yYXJpbHkpZyhyZXBsYWNlZCloKHdoZW4pZShhKWgKKyhzaGVsbClnKGZ1bmN0aW9uKWcoaXMpZyhleGVjdXRlZClnKFwoc2VlKWgoU2VjdGlvbilnKDMuMykxNTAKKzM0MzkgeShbU2hlbGwpMzAgYihGKS04IGIodW5jdGlvbnNdLCkzMiBiKHBhZ2UpZigxNFwpLikyNzUKKzM1NzQgeShXaGVuKWMoYSlpKHApcyhvc2l0aW9uYWwpZyhwYXJhbWV0ZXIpZyhjb25zaXN0aW5nKWYob2YpaChtb3JlKWYKKyh0aGFuKWcoYSlnKHNpbmdsZSloKGRpZ2l0KWcoaXMpZihleHBhbmRlZCwpZyhpdCloKG0pbSh1c3QpMTUwCiszNjg0IHkoYilzKGUpaChlbmNsb3NlZCloKGluKWYoYnJhY2VzLikxNTAgMzg4NSB5IEZqKDMuNC4yKTYzCitiKFNwKXMoZWNpYWwpNDEgYihQKW0oYXJhbWV0ZXJzKTE1MCA0MDMyIHkgRnQoVGhlKWQoc2hlbGwpZyh0cmVhdHMpaAorKHNldiltKGVyYWwpZyhwYXJhbWV0ZXJzKWYoc3ApcyhlY2lhbGx5KS04IGIoLik2NSBiKFRoZXNlKTM4CitiKHBhcmFtZXRlcnMpaChtYSltKHkpZihvbmx5KWcoYilzKGUpZyhyZWZlcmVuY2VkOykxNTAKKzQxNDEgeShhc3NpZ25tZW4pbSh0KTMxIGIodG8pZyh0aGVtKWcoaXMpZihub3QpaChhbGxvKW0odyltKGVkLikxNTAKKzQzMDMgeSBGcygqKTQzMiBiIEZ0KEV4cGFuZHMpMjkgYih0byloKHRoZSloKHApcyhvc2l0aW9uYWwpZgogKHBhcmFtZXRlcnMsKWgoc3RhcnRpbmcpZyhmcm9tKWUob25lLik0MSBiKFdoZW4pMzAgYih0aGUpZyhleHBhbnNpb24pCi02MzAgOTA5IHkobylzKGNjdXJzKWUod2l0aGluKWYoZG91YmxlKWgocXVvdGVzLCloKGl0KWcoZXhwYW5kcyllKHRvKWkKKzYzMCA0NDEyIHkobylzKGNjdXJzKWUod2l0aGluKWYoZG91YmxlKWgocXVvdGVzLCloKGl0KWcoZXhwYW5kcyllKHRvKWkKIChhKWYoc2luZ2xlKWgodyltKG9yZClmKHdpdGgpZyh0aGUpZyh2KS01IGIoYWx1ZSkyOSBiKG9mKWYoZWFjKW0oaCk2MzAKLTEwMTggeShwYXJhbWV0ZXIpaShzZXBhcmF0ZWQpZyhiKW0oeSlmKHRoZSlnKFwwMTRyc3QpZyhjKW0oaGFyYWN0ZXIpaQorNDUyMiB5KHBhcmFtZXRlcilpKHNlcGFyYXRlZClnKGIpbSh5KWYodGhlKWcoXDAxNHJzdClnKGMpbShoYXJhY3RlcilpCiAob2YpZSh0aGUpaCBGcyhJRlMpZSBGdChzcClzKGVjaWFsKWkodiktNSBiKGFyaWFibGUuKTQxCi1iKFRoYXQpMzAgYihpcywpNjMwIDExMjggeSBGcygiJCoiKWggRnQoaXMpaShlcXVpdiktNQotYihhbGVuKW0odCkzMyBiKHRvKWggRnMoIiQxKXAgRmooYykxMSBiIEZzKCQyKXAgRmooYylnCitiKFRoYXQpMzAgYihpcywpNjMwIDQ2MzEgeSBGcygiJCoiKWggRnQoaXMpaShlcXVpdiktNQorYihhbGVuKW0odCkzMyBiKHRvKWggRnMoIiQxKXAgRmkoYykxMSBiIEZzKCQyKXAgRmkoYylnCiBGcyguLi4pbCgiKXAgRnQoLCkzMyBiKHdoZXJlKWYgRnEoYykzOCBiIEZ0KGlzKTMyIGIodGhlKWgoXDAxNHJzdCllKGMpbQotKGhhcmFjdGVyKWoob2YpZih0aGUpZih2KS01IGIoYWx1ZSk2MzAgMTIzOCB5KG9mKTMwIGIodGhlKWcKKyhoYXJhY3RlcilqKG9mKWYodGhlKWYodiktNSBiKGFsdWUpNjMwIDQ3NDEgeShvZikzMCBiKHRoZSlnCiBGcyhJRlMpZyBGdCh2KS01IGIoYXJpYWJsZS4pNDEgYihJZikzMCBiIEZzKElGUylmIEZ0KGlzKWgodW5zZXQsKWcodGhlKQogZyhwYXJhbWV0ZXJzKWcoYXJlKWgoc2VwYXJhdGVkKWYoYiltKHkpZyhzcGFjZXMuKTQxIGIoSWYpNjMwCi0xMzQ3IHkgRnMoSUZTKTI5IGIgRnQoaXMpaShuKW0odWxsLClmKHRoZSloKHBhcmFtZXRlcnMpZyhhcmUpZihqb2luZWQpaAotKHdpdGhvdXQpZihpbiltKHRlcnYpbShlbmluZylpKHNlcGFyYXRvcnMuKTE1MCAxNDk4IHkKKzQ4NTAgeSBGcyhJRlMpMjkgYiBGdChpcylpKG4pbSh1bGwsKWYodGhlKWgocGFyYW1ldGVycylnKGFyZSlmKGpvaW5lZCloCisod2l0aG91dClmKGluKW0odGVydiltKGVuaW5nKWkoc2VwYXJhdG9ycy4pMTUwIDUwMTEgeQogRnMoQCk0MzIgYiBGdChFeHBhbmRzKTI5IGIodG8paCh0aGUpaChwKXMob3NpdGlvbmFsKWYocGFyYW1ldGVycywpaAogKHN0YXJ0aW5nKWcoZnJvbSllKG9uZS4pNDEgYihXaGVuKTMwIGIodGhlKWcoZXhwYW5zaW9uKTYzMAotMTYwOCB5KG8pcyhjY3VycyljKHdpdGhpbilnKGRvdWJsZSlmKHF1b3RlcywpaihlYWMpbShoKWYocGFyYW1ldGVyKWcKKzUxMjEgeShvKXMoY2N1cnMpYyh3aXRoaW4pZyhkb3VibGUpZihxdW90ZXMsKWooZWFjKW0oaClmKHBhcmFtZXRlcilnCiAoZXhwYW5kcyllKHRvKWkoYSlnKHNlcGFyYXRlKWcodyltKG9yZC4pMzkgYihUaGF0KTYzMAotMTcxNyB5KGlzLCkyOSBiIEZzKCIkQCIpZSBGdChpcylpKGVxdWl2KS01IGIoYWxlbiltKHQpMzAKKzUyMzAgeShpcywpMjkgYiBGcygiJEAiKWUgRnQoaXMpaShlcXVpdiktNSBiKGFsZW4pbSh0KTMwCiBiKHRvKWYgRnMoIiQxIilnKCIkMiIpaCguLi4pbyBGdCguKTQwIGIoSWYpMjggYih0aGUpZyhkb3VibGUtcXVvdGVkKWgKLShleHBhbnNpb24pZihvKXMoY2N1cnMpNjMwIDE4MjcgeSh3aXRoaW4pZChhKWgodyltKG9yZCwpZyh0aGUpZworKGV4cGFuc2lvbilmKG8pcyhjY3Vycyk2MzAgNTM0MCB5KHdpdGhpbilkKGEpaCh3KW0ob3JkLClnKHRoZSlnCiAoZXhwYW5zaW9uKWYob2YpaCh0aGUpZyhcMDE0cnN0KWYocGFyYW1ldGVyKWgoaXMpZihqb2luZWQpaCh3aXRoKWYodGhlKQotaChiKXMoZWdpbm5pbmcpNjMwIDE5MzYgeShwYXJ0KWYob2YpZyh0aGUpZyhvcmlnaW5hbClnKHcpbShvcmQsKWgoYW5kKWUKLSh0aGUpaChleHBhbnNpb24pZyhvZilnKHRoZSlnKGxhc3QpaChwYXJhbWV0ZXIpZihpcylnKGpvaW5lZClmKHdpdGgpNjMwCi0yMDQ2IHkodGhlKTM3IGIobGFzdClnKHBhcnQpZyhvZilmKHRoZSloKG9yaWdpbmFsKWgodyltKG9yZC4pNTkKK2goYilzKGVnaW5uaW5nKXAgZW9wIGVuZAorJSVQYWdlOiAxNyAyMworVGVYRGljdCBiZWdpbiAxNyAyMiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoMzopNDEKK2IoQmFzaWMpMzIgYihTaGVsbCllKEYpLTggYihlYXR1cmVzKTIyNDYgYigxNyk2MzAgMjk5Cit5KHBhcnQpMjUgYihvZilnKHRoZSlnKG9yaWdpbmFsKWcodyltKG9yZCwpaChhbmQpZSh0aGUpaChleHBhbnNpb24pZworKG9mKWcodGhlKWcobGFzdCloKHBhcmFtZXRlcilmKGlzKWcoam9pbmVkKWYod2l0aCk2MzAKKzQwOCB5KHRoZSkzNyBiKGxhc3QpZyhwYXJ0KWcob2YpZih0aGUpaChvcmlnaW5hbCloKHcpbShvcmQuKTU5CiBiKFdoZW4pMzYgYih0aGVyZSloKGFyZSlnKG5vKWYocClzKG9zaXRpb25hbCloKHBhcmFtZXRlcnMsKTYzMAotMjE1NiB5IEZzKCIkQCIpMjkgYiBGdChhbmQpaCBGcygkQClnIEZ0KGV4cGFuZClmKHRvKWoobm90aGluZyllCi0oXChpLmUuLClpKHRoZXkpZShhcmUpaChyZW1vKW0odiltKGVkXCkuKTE1MCAyMzA2IHkgRnMoIyk0MzIKLWIgRnQoRXhwYW5kcykyOSBiKHRvKWkodGhlKWcobiltKHVtKW0oYilzKGVyKWUob2YpaChwKXMob3NpdGlvbmFsKWgKLShwYXJhbWV0ZXJzKWcoaW4pZihkZWNpbWFsLikxNTAgMjQ1NyB5IEZzKD8pNDMyIGIgRnQoRXhwYW5kcykyOQorNTE4IHkgRnMoIiRAIikyOSBiIEZ0KGFuZCloIEZzKCRAKWcgRnQoZXhwYW5kKWYodG8paihub3RoaW5nKWUoXChpLmUuLCkKK2kodGhleSllKGFyZSloKHJlbW8pbSh2KW0oZWRcKS4pMTUwIDY3NyB5IEZzKCMpNDMyIGIKK0Z0KEV4cGFuZHMpMjkgYih0bylpKHRoZSlnKG4pbSh1bSltKGIpcyhlcillKG9mKWgocClzKG9zaXRpb25hbCloCisocGFyYW1ldGVycylnKGluKWYoZGVjaW1hbC4pMTUwIDgzNiB5IEZzKD8pNDMyIGIgRnQoRXhwYW5kcykyOQogYih0bylpKHRoZSlnKGV4aXQpZyhzdGF0dXMpZyhvZilmKHRoZSloKG1vc3QpZihyZWNlbiltKHRseSlpKGV4ZWN1dGVkKWYKLShmb3JlZ3JvdW5kKWYocGlwKXMoZWxpbmUuKTE1MCAyNjA4IHkgRnMoLSk0MzIgYiBGdChcKEEpMzEKKyhmb3JlZ3JvdW5kKWYocGlwKXMoZWxpbmUuKTE1MCA5OTUgeSBGcygtKTQzMiBiIEZ0KFwoQSkzMQogYihoKW0oeXBoZW4uXCkpNDIgYihFeHBhbmRzKTMwIGIodG8paCh0aGUpZyhjdXJyZW4pbSh0KWcob3B0aW9uKWgKIChcMDE1YWdzKWYoYXMpZyhzcClzKGVjaVwwMTRlZClmKHVwKXMob24pZyhpbiltKHYpbShvKXMoY2F0aW9uLCk2MzAKLTI3MTggeShiKW0oeSkzNSBiKHRoZSloIEZzKHNldCllIEZ0KGJ1aWx0aW4paChjb21tYW5kLCloKG9yKWcodGhvc2UpZworMTEwNSB5KGIpbSh5KTM1IGIodGhlKWggRnMoc2V0KWUgRnQoYnVpbHRpbiloKGNvbW1hbmQsKWgob3IpZyh0aG9zZSlnCiAoc2V0KWYoYiltKHkpaCh0aGUpZihzaGVsbCloKGl0c2VsZilnKFwoc3VjKW0oaClmKGFzKWgodGhlKWYoYClwCi1GcygtaSlwIEZ0KCcpNjMwIDI4MjcgeShvcHRpb25cKS4pMTUwIDI5NzggeSBGcygkKTQzMgorRnMoLWkpcCBGdCgnKTYzMCAxMjE1IHkob3B0aW9uXCkuKTE1MCAxMzc0IHkgRnMoJCk0MzIKIGIgRnQoRXhwYW5kcykzOSBiKHRvKWoodGhlKWYocHJvKXMoY2VzcylmIEZsKGlkKWggRnQob2YpZyh0aGUpZyhzaGVsbC4pCiA3MyBiKEluKTQwIGIoYSloIEZzKFwoXCkpZiBGdChzdWJzaGVsbCwpaihpdCllKGV4cGFuZHMpZih0bylpKHRoZSk2MzAKLTMwODggeShwcm8pcyhjZXNzKTMwIGIgRmwoaWQpZyBGdChvZiloKHRoZSlnKGluKW0odiltKG9raW5nKWcoc2hlbGwsKWcKLShub3QpZyh0aGUpZihzdWJzaGVsbC4pMTUwIDMyMzkgeSBGcyghKTQzMiBiIEZ0KEV4cGFuZHMpMzkKKzE0ODMgeShwcm8pcyhjZXNzKTMwIGIgRmwoaWQpZyBGdChvZiloKHRoZSlnKGluKW0odiltKG9raW5nKWcoc2hlbGwsKWcKKyhub3QpZyh0aGUpZihzdWJzaGVsbC4pMTUwIDE2NDMgeSBGcyghKTQzMiBiIEZ0KEV4cGFuZHMpMzkKIGIodG8paSh0aGUpZyhwcm8pcyhjZXNzKWUgRmwoaWQpaSBGdChvZilmKHRoZSloKG1vc3QpZyhyZWNlbiltKHRseSlnCi0oZXhlY3V0ZWQpZyhiYWMpbShrZ3JvdW5kKWcoXChhc3luLSk2MzAgMzM0OCB5KGMpbShocm9ub3VzXCkpMzAKLWIoY29tbWFuZC4pMTUwIDM0OTkgeSBGcygwKTQzMiBiIEZ0KEV4cGFuZHMpMjAgYih0bylqKHRoZSlmKG5hbWUpZyhvZilnCisoZXhlY3V0ZWQpZyhiYWMpbShrZ3JvdW5kKWcoXChhc3luLSk2MzAgMTc1MiB5KGMpbShocm9ub3VzXCkpMzAKK2IoY29tbWFuZC4pMTUwIDE5MTEgeSBGcygwKTQzMiBiIEZ0KEV4cGFuZHMpMjAgYih0bylqKHRoZSlmKG5hbWUpZyhvZilnCiAodGhlKWcoc2hlbGwpZyhvcilmKHNoZWxsKWgoc2NyaXB0LikzOCBiKFRoaXMpMjEgYihpcyloKHNldClnKGF0KWgKLShzaGVsbClmKGluaXRpYWxpemF0aW9uLik2MzAgMzYwOSB5KElmKTQ0IGIoQmFzaClnKGlzKWcoaW4pbSh2KW0ob2spbQorKHNoZWxsKWYoaW5pdGlhbGl6YXRpb24uKTYzMCAyMDIxIHkoSWYpNDQgYihCYXNoKWcoaXMpZyhpbiltKHYpbShvayltCiAoZWQpaSh3aXRoKWUoYSlnKFwwMTRsZSlnKG9mKWgoY29tbWFuZHMpZShcKHNlZSlqKFNlY3Rpb24pZigzLjgpZwotKFtTaGVsbClmKFNjcmlwdHNdLCk2MzAgMzcxOCB5KHBhZ2UpMzkgYigzNFwpLClpIEZzKCQwKWQKKyhbU2hlbGwpZihTY3JpcHRzXSwpNjMwIDIxMzAgeShwYWdlKTM5IGIoMzNcKSwpaSBGcygkMClkCiBGdChpcylnKHNldClnKHRvKWgodGhlKWYobmFtZSlnKG9mKWcodGhhdCloKFwwMTRsZS4pNjQKIGIoSWYpMzcgYihCYXNoKWkoaXMpZihzdGFydGVkKWcod2l0aClnKHRoZSlnKGApcCBGcygtYylwCi1GdCgnKTYzMCAzODI4IHkob3B0aW9uKWkoXChzZWUpZyhTZWN0aW9uKWgoNi4xKWYoW0luKW0odiltKG9raW5nKWgKK0Z0KCcpNjMwIDIyNDAgeShvcHRpb24paShcKHNlZSlnKFNlY3Rpb24paCg2LjEpZihbSW4pbSh2KW0ob2tpbmcpaAogKEJhc2hdLCloKHBhZ2UpZSg3MVwpLClqKHRoZW4pZCBGcygkMCllIEZ0KGlzKWkoc2V0KWcodG8pZyh0aGUpZwotKFwwMTRyc3QpNjMwIDM5MzggeShhcmd1bWVuKW0odCkzMSBiKGFmdGVyKWcodGhlKWcoc3RyaW5nKWcodG8pZyhiKXMoZSkKKyhcMDE0cnN0KTYzMCAyMzUwIHkoYXJndW1lbiltKHQpMzEgYihhZnRlcilnKHRoZSlnKHN0cmluZylnKHRvKWcoYilzKGUpCiBmKGV4ZWN1dGVkLClpKGlmKWYob25lKWcoaXMpZihwcmVzZW4pbSh0Lik0MiBiKE90aGVyd2lzZSwpMzEKLWIoaXQpZyhpcylmKHNldCk2MzAgNDA0NyB5KHRvKWgodGhlKWcoXDAxNGxlbmFtZSlmKHVzZWQpZyh0byloKGluKW0odiltCitiKGl0KWcoaXMpZihzZXQpNjMwIDI0NTkgeSh0byloKHRoZSlnKFwwMTRsZW5hbWUpZih1c2VkKWcodG8paChpbiltKHYpbQogKG9rKW0oZSloKEJhc2gsKWYoYXMpZyhnaXYpbShlbilnKGIpbSh5KWYoYXJndW1lbiltKHQpaCh6ZXJvLikxNTAKLTQxOTggeSBGcyhfKTQzMiBiIEZ0KFwoQW4pMjcgYih1bmRlcnNjb3JlLlwpKTM5IGIoQSltKHQpMjkKKzI2MTggeSBGcyhfKTQzMiBiIEZ0KFwoQW4pMjcgYih1bmRlcnNjb3JlLlwpKTM5IGIoQSltKHQpMjkKIGIoc2hlbGwpZShzdGFydHVwLCloKHNldClmKHRvKWgodGhlKWcoYWJzb2x1dGUpZyhwYXRobmFtZSlmKHVzZWQpZih0bylpCi0oaW4pbSh2KW0ob2spbShlKTYzMCA0MzA4IHkodGhlKTIyIGIoc2hlbGwpZyhvcilnKHNoZWxsKWcoc2NyaXB0KWYoYilzCisoaW4pbSh2KW0ob2spbShlKTYzMCAyNzI4IHkodGhlKTIyIGIoc2hlbGwpZyhvcilnKHNoZWxsKWcoc2NyaXB0KWYoYilzCiAoZWluZyloKGV4ZWN1dGVkKWgoYXMpZihwYXNzZWQpZihpbilnKHRoZSloKGVuKW0odmlyb25tZW4pbSh0KWgob3IpZQotKGFyZ3VtZW4pbSh0KTYzMCA0NDE3IHkobGlzdC4pNzIgYihTdWJzZXF1ZW4pbSh0bHkpLTgKKyhhcmd1bWVuKW0odCk2MzAgMjgzOCB5KGxpc3QuKTcyIGIoU3Vic2VxdWVuKW0odGx5KS04CiBiKCwpNDMgYihleHBhbmRzKWModG8paih0aGUpZShsYXN0KWkoYXJndW1lbiltKHQpZih0bylnKHRoZSlnKHByZXZpb3VzKQotZihjb21tYW5kLCk2MzAgNDUyNyB5KGFmdGVyKTM1IGIoZXhwYW5zaW9uLik1NCBiKEFsc28pMzYKK2YoY29tbWFuZCwpNjMwIDI5NDcgeShhZnRlcikzNSBiKGV4cGFuc2lvbi4pNTQgYihBbHNvKTM2CiBiKHNldClmKHRvKWgodGhlKWYoZnVsbClmKHBhdGhuYW1lKWgodXNlZClmKHRvKWgoaW4pbSh2KW0ob2spbShlKWkoZWFjKQotbShoKWYoY29tbWFuZCk2MzAgNDYzNiB5KGV4ZWN1dGVkKTQyIGIoYW5kKWUocGxhY2VkKWkoaW4pZSh0aGUpaChlbiltCittKGgpZihjb21tYW5kKTYzMCAzMDU3IHkoZXhlY3V0ZWQpNDIgYihhbmQpZShwbGFjZWQpaShpbillKHRoZSloKGVuKW0KICh2aXJvbm1lbiltKHQpaChleHApcyhvcnRlZClmKHRvKWcodGhhdCloKGNvbW1hbmQuKTcyCi1iKFdoZW4pNjMwIDQ3NDYgeShjKW0oaGVjKW0oa2luZykzMiBiKG1haWwsKWYodGhpcylnKHBhcmFtZXRlcilnKGhvbGRzKQotZSh0aGUpaShuYW1lKWYob2YpaCh0aGUpZyhtYWlsKWcoXDAxNGxlLikxNTAgNDk5MSB5IEZyKDMuNSk2OAotYihTaGVsbCk0NSBiKEV4cGFuc2lvbnMpMjc1IDUyMzAgeSBGdChFeHBhbnNpb24pMjkgYihpcyloKHApcyhlcmZvcm1lZCkKLWUob24paSh0aGUpZyhjb21tYW5kKWcobGluZSlnKGFmdGVyKWgoaXQpZihoYXMpZyhiKXMoZWVuKWYoc3BsaXQpaChpbiltCi0odG8paCBGcyh0b2tlbilwIEZ0KHMuKTM5IGIoVGhlcmUpMTUwIDUzNDAgeShhcmUpMzEgYihzZXYpbShlbilnKGtpbmRzKQotZShvZilpKGV4cGFuc2lvbilmKHApcyhlcmZvcm1lZDopcCBlb3AgZW5kCi0lJVBhZ2U6IDE4IDI0Ci1UZVhEaWN0IGJlZ2luIDE4IDIzIGJvcCAxNTAgLTExNiBhIEZ0KDE4KTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkyMjUgMjk5IHkgRnAoXDAxNyk2MCBiIEZ0KGJyYWNlKTMxCi1iKGV4cGFuc2lvbikyMjUgNDI5IHkgRnAoXDAxNyk2MCBiIEZ0KHRpbGRlKTMxIGIoZXhwYW5zaW9uKTIyNQotNTYwIHkgRnAoXDAxNyk2MCBiIEZ0KHBhcmFtZXRlcikzMSBiKGFuZClmKHYpLTUgYihhcmlhYmxlKTMxCi1iKGV4cGFuc2lvbikyMjUgNjkxIHkgRnAoXDAxNyk2MCBiIEZ0KGNvbW1hbmQpMzAgYihzdWJzdGl0dXRpb24pMjI1Ci04MjEgeSBGcChcMDE3KTYwIGIgRnQoYXJpdGhtZXRpYykzMiBiKGV4cGFuc2lvbikyMjUgOTUyCi15IEZwKFwwMTcpNjAgYiBGdCh3KW0ob3JkKTMwIGIoc3BsaXR0aW5nKTIyNSAxMDgyIHkgRnAoXDAxNyk2MAotYiBGdChcMDE0bGVuYW1lKTMxIGIoZXhwYW5zaW9uKTI3NSAxMjM0IHkoVGhlKWkob3JkZXIpZyhvZiloCi0oZXhwYW5zaW9ucylnKGlzOik0NyBiKGJyYWNlKTM0IGIoZXhwYW5zaW9uLCloKHRpbGRlKWcoZXhwYW5zaW9uLClmCi0ocGFyYW1ldGVyLClpKHYpLTUgYihhcmlhYmxlLCkzNiBiKGFuZCkxNTAgMTM0MyB5KGFyaXRobWV0aWMpNDYKLWIoZXhwYW5zaW9uKWYoYW5kKWcoY29tbWFuZClmKHN1YnN0aXR1dGlvbiloKFwoZG9uZSlnKGluKWcoYSlnCi0obGVmdC10by1yaWdoKW0odClqKGZhc2hpb25cKSwpaCh3KW0ob3JkKTE1MCAxNDUzIHkoc3BsaXR0aW5nLCkzMQotYihhbmQpZihcMDE0bGVuYW1lKWgoZXhwYW5zaW9uLikyNzUgMTU4NCB5KE9uKTQyIGIoc3lzdGVtcyloKHRoYXQpaAotKGNhbilnKHN1cHApcyhvcnQpZShpdCwpNDcgYih0aGVyZSlkKGlzKWYoYW4paChhZGRpdGlvbmFsKWcoZXhwYW5zaW9uKWYKLShhKW0odiktNSBiKGFpbGFibGU6KTY5IGIgRnEocHJvKXMoY2VzcykxNTAgMTY5MyB5KHN1YnN0aXR1dGlvbilwCitiKFdoZW4pNjMwIDMxNjYgeShjKW0oaGVjKW0oa2luZykzMiBiKG1haWwsKWYodGhpcylnKHBhcmFtZXRlcilnKGhvbGRzKQorZSh0aGUpaShuYW1lKWYob2YpaCh0aGUpZyhtYWlsKWcoXDAxNGxlLikxNTAgMzM5OSB5IEZyKDMuNSk2OAorYihTaGVsbCk0NSBiKEV4cGFuc2lvbnMpMTUwIDM1NTggeSBGdChFeHBhbnNpb24pMjcgYihpcylpKHApcyhlcmZvcm1lZCkKK2Qob24paSh0aGUpZyhjb21tYW5kKWcobGluZSloKGFmdGVyKWYoaXQpaChoYXMpZihiKXMoZWVuKWYoc3BsaXQpaChpbiltCisodG8paSBGcyh0b2tlbilwIEZ0KHMuKTM4IGIoVGhlcmUpMjggYihhcmUpMTUwIDM2NjggeShzZXYpbShlbilqKGtpbmRzKQorZShvZilpKGV4cGFuc2lvbilmKHApcyhlcmZvcm1lZDopMjI1IDM4MDIgeSBGcChcMDE3KTYwCitiIEZ0KGJyYWNlKTMxIGIoZXhwYW5zaW9uKTIyNSAzOTM2IHkgRnAoXDAxNyk2MCBiIEZ0KHRpbGRlKTMxCitiKGV4cGFuc2lvbikyMjUgNDA3MSB5IEZwKFwwMTcpNjAgYiBGdChwYXJhbWV0ZXIpMzEgYihhbmQpZih2KS01CitiKGFyaWFibGUpMzEgYihleHBhbnNpb24pMjI1IDQyMDUgeSBGcChcMDE3KTYwIGIgRnQoY29tbWFuZCkzMAorYihzdWJzdGl0dXRpb24pMjI1IDQzMzkgeSBGcChcMDE3KTYwIGIgRnQoYXJpdGhtZXRpYykzMgorYihleHBhbnNpb24pMjI1IDQ0NzQgeSBGcChcMDE3KTYwIGIgRnQodyltKG9yZCkzMCBiKHNwbGl0dGluZykyMjUKKzQ2MDggeSBGcChcMDE3KTYwIGIgRnQoXDAxNGxlbmFtZSkzMSBiKGV4cGFuc2lvbikyNzUKKzQ3NjcgeShUaGUpaShvcmRlcilnKG9mKWgoZXhwYW5zaW9ucylnKGlzOik0NyBiKGJyYWNlKTM0CitiKGV4cGFuc2lvbiwpaCh0aWxkZSlnKGV4cGFuc2lvbiwpZihwYXJhbWV0ZXIsKWkodiktNQorYihhcmlhYmxlLCkzNiBiKGFuZCkxNTAgNDg3NyB5KGFyaXRobWV0aWMpNDYgYihleHBhbnNpb24pZihhbmQpZworKGNvbW1hbmQpZihzdWJzdGl0dXRpb24paChcKGRvbmUpZyhpbilnKGEpZyhsZWZ0LXRvLXJpZ2gpbSh0KWoKKyhmYXNoaW9uXCksKWgodyltKG9yZCkxNTAgNDk4NiB5KHNwbGl0dGluZywpMzEgYihhbmQpZihcMDE0bGVuYW1lKWgKKyhleHBhbnNpb24uKTI3NSA1MTIxIHkoT24pNDIgYihzeXN0ZW1zKWgodGhhdCloKGNhbilnKHN1cHApcyhvcnQpZShpdCwpCis0NyBiKHRoZXJlKWQoaXMpZihhbiloKGFkZGl0aW9uYWwpZyhleHBhbnNpb24pZihhKW0odiktNQorYihhaWxhYmxlOik2OSBiIEZxKHBybylzKGNlc3MpMTUwIDUyMzAgeShzdWJzdGl0dXRpb24pcAogRnQoLik2MSBiKFRoaXMpMzYgYihpcyloKHApcyhlcmZvcm1lZClmKGF0KWkodGhlKWYoc2FtZSloKHRpbWUpZihhcyloCiAocGFyYW1ldGVyLCloKHYpLTUgYihhcmlhYmxlLCk0MCBiKGFuZClkKGFyaXRobWV0aWMpMTUwCi0xODAzIHkoZXhwYW5zaW9uKTMwIGIoYW5kKWcoY29tbWFuZClnKHN1YnN0aXR1dGlvbi4pMjc1Ci0xOTMzIHkoT25seSkzNSBiKGJyYWNlKWkoZXhwYW5zaW9uLCloKHcpbShvcmQpZShzcGxpdHRpbmcsKWooYW5kKWQKLShcMDE0bGVuYW1lKWcoZXhwYW5zaW9uKWcoY2FuKWgoYyltKGhhbmdlKWgodGhlKWUobiltKHVtKW0oYilzKGVyKTE1MAotMjA0MyB5KG9mKWgodyltKG9yZHMpZihvZilnKHRoZSloKGV4cGFuc2lvbjspaShvdGhlcillKGV4cGFuc2lvbnMpZgotKGV4cGFuZClnKGEpaChzaW5nbGUpZyh3KW0ob3JkKWYodG8paChhKWcoc2luZ2xlKWcodyltKG9yZC4pNTgKLWIoVGhlKTE1MCAyMTUyIHkob25seSkzMiBiKGV4Y2VwdGlvbnMpaSh0bylmKHRoaXMpZihhcmUpaCh0aGUpZgorNTM0MCB5KGV4cGFuc2lvbikzMCBiKGFuZClnKGNvbW1hbmQpZyhzdWJzdGl0dXRpb24uKXAKK2VvcCBlbmQKKyUlUGFnZTogMTggMjQKK1RlWERpY3QgYmVnaW4gMTggMjMgYm9wIDE1MCAtMTE2IGEgRnQoMTgpMjU3MiBiKEJhc2gpMzEKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTI3NSAyOTkgeShPbmx5KWsoYnJhY2UpaShleHBhbnNpb24sKWgodyltKG9yZCllCisoc3BsaXR0aW5nLClqKGFuZClkKFwwMTRsZW5hbWUpZyhleHBhbnNpb24pZyhjYW4paChjKW0oaGFuZ2UpaCh0aGUpZShuKQorbSh1bSltKGIpcyhlcikxNTAgNDA4IHkob2YpaCh3KW0ob3JkcylmKG9mKWcodGhlKWgoZXhwYW5zaW9uOylpKG90aGVyKWUKKyhleHBhbnNpb25zKWYoZXhwYW5kKWcoYSloKHNpbmdsZSlnKHcpbShvcmQpZih0byloKGEpZyhzaW5nbGUpZyh3KW0KKyhvcmQuKTU4IGIoVGhlKTE1MCA1MTggeShvbmx5KTMyIGIoZXhjZXB0aW9ucylpKHRvKWYodGhpcylmKGFyZSloKHRoZSlmCiAoZXhwYW5zaW9ucylnKG9mKWggRnMoIiRAIillIEZ0KFwoc2VlKWkoU2VjdGlvbilnKDMuNC4yKWgoW1NwKXMoZWNpYWwpZgotKFApbShhcmFtZXRlcnNdLCkxNTAgMjI2MiB5KHBhZ2UpZSgxN1wpKWgoYW5kKWQgRnMoIiR7KXAKLUZqKG5hbWUpMTEgYiBGcyhbQF19IikyNyBiIEZ0KFwoc2VlKWsoU2VjdGlvbiloKDYuNylmKFtBcnJhKW0oeXNdLClnCi0ocGFnZSlnKDgwXCkuKTI3NSAyMzkzIHkoQWZ0ZXIpNDEgYihhbGwpaShleHBhbnNpb25zLCloCisoUCltKGFyYW1ldGVyc10sKTE1MCA2MjggeShwYWdlKWUoMTZcKSloKGFuZClkIEZzKCIkeylwCitGaShuYW1lKTExIGIgRnMoW0BdfSIpMjcgYiBGdChcKHNlZSlrKFNlY3Rpb24paCg2LjcpZihbQXJyYSltKHlzXSwpZworKHBhZ2UpZyg4MFwpLikyNzUgNzY1IHkoQWZ0ZXIpNDEgYihhbGwpaShleHBhbnNpb25zLCloCiBGcyhxdW90ZSkyOSBiKHJlbW92YWwpNDAgYiBGdChcKHNlZSlpKFNlY3Rpb24paCgzLjUuOSlnKFtRdW90ZSlmKFJlbW8pbQotKHYpLTUgYihhbF0sKTQ3IGIocGFnZSk0MiBiKDI2XCkpaChpcykxNTAgMjUwMiB5KHApcyhlcmZvcm1lZC4pMTUwCi0yNzE1IHkgRmsoMy41LjEpNjMgYihCcmFjZSk0MCBiKEV4cGFuc2lvbikyNzUgMjk1NSB5Ci1GdChCcmFjZSkyMSBiKGV4cGFuc2lvbilnKGlzKWcoYSlnKG1lYyltKGhhbmlzbSlnKGIpbSh5KWcod2hpYyltKGgpZgotKGFyYml0cmFyeSloKHN0cmluZ3MpZihtYSltKHkpaShiKXMoZSllKGdlbmVyYXRlZC4pMzgKLWIoVGhpcykyMCBiKG1lYyltKGgtKTE1MCAzMDY0IHkoYW5pc20pMzUgYihpcyloKHNpbWlsYXIpZih0byloCi1GcShcMDE0bGVuYW1lKWcoZXhwYW5zaW9uKWYgRnQoXChzZWUpaShTZWN0aW9uKWYoMy41LjgpaChbRmlsZW5hbWUpZwotKEV4cGFuc2lvbl0sKWYocGFnZSlnKDI0XCksKTE1MCAzMTc0IHkoYnV0KTI0IGIodGhlKWkoXDAxNGxlKWYobmFtZXMpZwotKGdlbmVyYXRlZCloKG5lZWQpZihub3QpZyhleGlzdC4pNDAgYihQKW0oYXR0ZXJucykyNgotYih0bylnKGIpcyhlKWUoYnJhY2UpaShleHBhbmRlZCllKHRhayltKGUpaih0aGUpZShmb3JtKWcob2YpMTUwCi0zMjgzIHkoYW4pMzAgYihvcHRpb25hbCloIEZxKHByZWFtKW0oYmxlKXAgRnQoLClnKGZvbGxvKW0odyltKGVkKWcoYiltCi0oeSlmKGVpdGhlcilnKGEpaChzZXJpZXMpZihvZilnKGNvbW1hLXNlcGFyYXRlZClpKHN0cmluZ3MpZChvciloKGEpaAotKHNlcWV1bmNlKTE1MCAzMzkzIHkoZXhwcmVzc2lvbikzNiBiKGIpcyhldCltKHcpbShlZW4pZyhhKWgocGFpcillKG9mKWkKLShicmFjZXMsKWcoZm9sbG8pbSh3KW0oZWQpaChiKW0oeSllKGFuKWcob3B0aW9uYWwpaCBGcShwKXMob3N0c2NyaXB0KXAKLUZ0KC4pNTcgYihUaGUpMzYgYihwcmVhbSltKGJsZSlnKGlzKTE1MCAzNTAzIHkocHJlXDAxNHhlZCkyOAotYih0byloKGVhYyltKGgpaChzdHJpbmcpZihjb24pbSh0YWluZWQpaCh3aXRoaW4pZSh0aGUpaChicmFjZXMsKWcoYW5kKWcKLSh0aGUpZyhwKXMob3N0c2NyaXB0KWYoaXMpaCh0aGVuKWYoYXBwKXMoZW5kZWQpZih0bykxNTAKLTM2MTIgeShlYWMpbShoKTMyIGIocmVzdWx0aW5nKWUoc3RyaW5nLCloKGV4cGFuZGluZyllKGxlZnQpaih0bylmKHJpZ2gpCi1tKHQuKTI3NSAzNzQzIHkoQnJhY2UpMzcgYihleHBhbnNpb25zKWYobWEpbSh5KWgoYilzKGUpZihuZXN0ZWQuKTU5CisodiktNSBiKGFsXSwpNDcgYihwYWdlKTQyIGIoMjVcKSloKGlzKTE1MCA4NzUgeShwKXMoZXJmb3JtZWQuKTE1MAorMTA3NyB5IEZqKDMuNS4xKTYzIGIoQnJhY2UpNDAgYihFeHBhbnNpb24pMTUwIDEyMjQgeQorRnQoQnJhY2UpMjggYihleHBhbnNpb24pZihpcyloKGEpZihtZWMpbShoYW5pc20paChiKW0oeSlmKHdoaWMpbShoKWYKKyhhcmJpdHJhcnkpaChzdHJpbmdzKWcobWEpbSh5KWgoYilzKGUpZihnZW5lcmF0ZWQuKTQwCitiKFRoaXMpMjcgYihtZWMpbShoYS0pMTUwIDEzMzQgeShuaXNtKWUoaXMpaChzaW1pbGFyKWcodG8pZworRnEoXDAxNGxlbmFtZSlnKGV4cGFuc2lvbilmIEZ0KFwoc2VlKWkoU2VjdGlvbilmKDMuNS44KWkoW0ZpbGVuYW1lKWYKKyhFeHBhbnNpb25dLClmKHBhZ2UpaCgyNFwpLCloKGJ1dCkxNTAgMTQ0MyB5KHRoZSkzNiBiKFwwMTRsZSlmKG5hbWVzKWgKKyhnZW5lcmF0ZWQpZyhuZWVkKWYobm90KWgoZXhpc3QuKTU3IGIoUCltKGF0dGVybnMpMzYKK2IodG8pZyhiKXMoZSlmKGJyYWNlKWgoZXhwYW5kZWQpZSh0YWspbShlKWoodGhlKWYoZm9ybSlmKG9mKTE1MAorMTU1MyB5KGFuKTI5IGIob3B0aW9uYWwpaSBGcShwcmVhbSltKGJsZSk1IGIgRnQoLCkzMAorYihmb2xsbyltKHcpbShlZClpKGIpbSh5KWQoZWl0aGVyKWgoYSlnKHNlcmllcylnKG9mKWcoY29tbWEtc2VwYXJhdGVkKWgKKyhzdHJpbmdzKWUob3IpaChhKWcoc2VxZXVuY2UpMTUwIDE2NjMgeShleHByZXNzaW9uKTM2CitiKGIpcyhldCltKHcpbShlZW4pZyhhKWcocGFpcilnKG9mKWcoYnJhY2VzLClpKGZvbGxvKW0odyltKGVkKWYoYiltKHkpZgorKGFuKWcob3B0aW9uYWwpaCBGcShwKXMob3N0c2NyaXB0KXIgRnQoLik1NiBiKFRoZSkzNgorYihwcmVhbSltKGJsZSlnKGlzKTE1MCAxNzcyIHkocHJlXDAxNHhlZCkyOCBiKHRvKWgoZWFjKW0oaCloKHN0cmluZylmCisoY29uKW0odGFpbmVkKWgod2l0aGluKWUodGhlKWgoYnJhY2VzLClnKGFuZClnKHRoZSlnKHApcyhvc3RzY3JpcHQpZgorKGlzKWgodGhlbilmKGFwcClzKGVuZGVkKWYodG8pMTUwIDE4ODIgeShlYWMpbShoKTMyIGIocmVzdWx0aW5nKWUKKyhzdHJpbmcsKWgoZXhwYW5kaW5nKWUobGVmdClqKHRvKWYocmlnaCltKHQuKTI3NSAyMDE5Cit5KEJyYWNlKTM3IGIoZXhwYW5zaW9ucylmKG1hKW0oeSloKGIpcyhlKWYobmVzdGVkLik1OQogYihUaGUpMzYgYihyZXN1bHRzKWcob2YpaChlYWMpbShoKWcoZXhwYW5kZWQpZihzdHJpbmcpZyhhcmUpaChub3QpZwotKHNvcnRlZDspMTUwIDM4NTIgeShsZWZ0KTMxIGIodG8pZyhyaWdoKW0odClnKG9yZGVyKWYoaXMpZyhwcmVzZXJ2KW0KLShlZC4pNDEgYihGKS04IGIob3IpMzEgYihleGFtcGxlLCkzOTAgMzk4MyB5IEZzKGJhc2gkKTQ2Ci1iKGVjaG8paChhe2QsYyxifWUpMzkwIDQwOTMgeShhZGUpZyhhY2UpZyhhYmUpMjc1IDQyMjMKLXkgRnQoQSkyOSBiKHNlcXVlbmNlKWcoZXhwcmVzc2lvbilnKHRhayltKGVzKWgodGhlKWYoZm9ybSlnCi1Gcyh7KXAgRmooeClwIEZzKC4uKXAgRmooeSkxMSBiIEZzKFspcCBGaihpbmNyKWcgRnMoXX0pcAotRnQoLCkyNSBiKHdoZXJlKWsgRnEoeCkzNSBiIEZ0KGFuZCkyOCBiIEZxKHkpMzcgYiBGdChhcmUpMjkKLWIoZWl0aGVyKWgoaW4pbSh0ZWdlcnMpMTUwIDQzMzMgeShvcik0MiBiKHNpbmdsZSloKGMpbShoYXJhY3RlcnMsKTQ4Ci1iKGFuZCk0MSBiIEZxKGluY3IpcCBGdCgsKTQ2IGIoYW4pYyhvcHRpb25hbClpKGluY3JlbWVuKW0odCwpaShpcyljKGFuKQotaChpbiltKHRlZ2VyLik3OCBiKFdoZW4pNDIgYihpbiltKHRlZ2VycylpKGFyZSkxNTAgNDQ0MgoteShzdXBwbGllZCwpZih0aGUpZihleHByZXNzaW9uKWYoZXhwYW5kcylmKHRvKWkoZWFjKW0oaCloKG4pbSh1bSltKGIpcwotKGVyKWQoYilzKGV0KW0odyltKGVlbilpIEZxKHgpNDcgYiBGdChhbmQpNDEgYiBGcSh5KXAKLUZ0KCwpaihpbmNsdXNpdiltKGUuKTc1IGIoU3VwcGxpZWQpMTUwIDQ1NTIgeShpbiltKHRlZ2VycykzMworKHNvcnRlZDspMTUwIDIxMjkgeShsZWZ0KTMxIGIodG8pZyhyaWdoKW0odClnKG9yZGVyKWYoaXMpZyhwcmVzZXJ2KW0KKyhlZC4pNDEgYihGKS04IGIob3IpMzEgYihleGFtcGxlLCkzOTAgMjI2NyB5IEZzKGJhc2gkKTQ2CitiKGVjaG8paChhe2QsYyxifWUpMzkwIDIzNzYgeShhZGUpZyhhY2UpZyhhYmUpMjc1IDI1MTQKK3kgRnQoQSkyMCBiKHNlcXVlbmNlKWgoZXhwcmVzc2lvbilnKHRhayltKGVzKWgodGhlKWYoZm9ybSlmCitGcyh7KXAgRmkoeCkxMSBiIEZzKC4uKXAgRmkoeSlnIEZzKFsuLilwIEZpKGluY3IpZyBGcyhdfSlwCitGdCgsKTE4IGIod2hlcmUpaSBGcSh4KTI3IGIgRnQoYW5kKTIwIGIgRnEoeSkyOCBiIEZ0KGFyZSkyMgorYihlaXRoZXIpZihpbiltKHRlZ2VycykxNTAgMjYyMyB5KG9yKTQyIGIoc2luZ2xlKWgoYyltKGhhcmFjdGVycywpagorKGFuZCljIEZxKGluY3IpNyBiIEZ0KCwpNDQgYihhbillKG9wdGlvbmFsKWgoaW5jcmVtZW4pbSh0LClqKGlzKWMoYW4pZworKGluKW0odGVnZXIuKTc3IGIoV2hlbik0MSBiKGluKW0odGVnZXJzKWooYXJlKTE1MCAyNzMzCit5KHN1cHBsaWVkLCllKHRoZSlmKGV4cHJlc3Npb24pZyhleHBhbmRzKWYodG8paChlYWMpbShoKWgobiltKHVtKW0oYilzCisoZXIpZShiKXMoZXQpbSh3KW0oZWVuKWggRnEoeCk0NyBiIEZ0KGFuZCk0MCBiIEZxKHkpOAorYiBGdCgsKTQ0IGIoaW5jbHVzaXYpbShlLik3MyBiKFN1cHBsaWVkKTE1MCAyODQyIHkoaW4pbSh0ZWdlcnMpMzMKIGIobWEpbSh5KWUoYilzKGUpZyhwcmVcMDE0eGVkKWYod2l0aCloKGApcCBGcygwKXAgRnQoJyloKHRvKWcoZm9yY2UpZwogKGVhYyltKGgpZyh0ZXJtKWcodG8pZyhoYSltKHYpbShlKWcodGhlKWcoc2FtZSlnKHdpZHRoLik0MgotYihXaGVuKTMxIGIoZWl0aGVyKTE1MCA0NjYxIHkgRnEoeCk0MyBiIEZ0KG9yKTM2IGIgRnEoeSk0NAorYihXaGVuKTMxIGIoZWl0aGVyKTE1MCAyOTUyIHkgRnEoeCk0MyBiIEZ0KG9yKTM2IGIgRnEoeSk0NAogYiBGdChiKXMoZWdpbnMpMzYgYih3aXRoKWcoYSloKHplcm8sKWkodGhlKWUoc2hlbGwpZyhhdHRlbXB0cylnKHRvKWcKIChmb3JjZSlnKGFsbCloKGdlbmVyYXRlZClmKHRlcm1zKWcodG8pZyhjb24pbSh0YWluKWgodGhlKTE1MAotNDc3MSB5KHNhbWUpZShuKW0odW0pbShiKXMoZXIpZShvZilpKGRpZ2l0cywpaSh6ZXJvLXBhZGRpbmcpZCh3aGVyZSloCiszMDYyIHkoc2FtZSllKG4pbSh1bSltKGIpcyhlcillKG9mKWkoZGlnaXRzLClpKHplcm8tcGFkZGluZylkKHdoZXJlKWgKIChuZWNlc3NhcnkpLTggYiguKTU3IGIoV2hlbikzNSBiKGMpbShoYXJhY3RlcnMpaShhcmUpZihzdXBwbGllZCwpZyh0aGUpCi0xNTAgNDg4MSB5KGV4cHJlc3Npb24paChleHBhbmRzKWcodG8paChlYWMpbShoKWgoYyltKGhhcmFjdGVyKWcKLShsZXhpY29ncmFwaGljYWxseSlpKGIpcyhldCltKHcpbShlZW4pZCBGcSh4KTQ0IGIgRnQoYW5kKTM3Ci1iIEZxKHkpcCBGdCgsKWkoaW5jbHVzaXYpbShlLik2NCBiKE5vdGUpMTUwIDQ5OTAgeSh0aGF0KTMwCi1iKGIpcyhvdGgpZSBGcSh4KTM1IGIgRnQoYW5kKTI4IGIgRnEoeSkzNyBiIEZ0KG0pbSh1c3QpMjkKLWIoYilzKGUpZihvZiloKHRoZSlnKHNhbWUpZyh0KW0oeXApcyhlLik0MSBiKFdoZW4pMjgKLWIodGhlKWkoaW5jcmVtZW4pbSh0KWYoaXMpZyhzdXBwbGllZCwpZihpdClpKGlzKWYodXNlZClmKGFzKTE1MAotNTEwMCB5KHRoZSlqKGRpXDAxM2VyZW5jZSlmKGIpcyhldCltKHcpbShlZW4paChlYWMpbShoKWgodGVybS4pNDEKKzE1MCAzMTcxIHkoZXhwcmVzc2lvbiloKGV4cGFuZHMpZih0bylpKGVhYyltKGgpZyhjKW0oaGFyYWN0ZXIpZworKGxleGljb2dyYXBoaWNhbGx5KWkoYilzKGV0KW0odyltKGVlbillIEZxKHgpNDMgYiBGdChhbmQpMzcKK2IgRnEoeSk4IGIgRnQoLCkzOCBiKGluY2x1c2l2KW0oZS4pNjIgYihOb3RlKTE1MCAzMjgxCit5KHRoYXQpMzAgYihiKXMob3RoKWUgRnEoeCkzNSBiIEZ0KGFuZCkyOCBiIEZxKHkpMzcgYgorRnQobSltKHVzdCkyOSBiKGIpcyhlKWYob2YpaCh0aGUpZyhzYW1lKWcodCltKHlwKXMoZS4pNDEKK2IoV2hlbikyOCBiKHRoZSlpKGluY3JlbWVuKW0odClmKGlzKWcoc3VwcGxpZWQsKWYoaXQpaShpcylmKHVzZWQpZihhcykKKzE1MCAzMzkwIHkodGhlKWooZGlcMDEzZXJlbmNlKWYoYilzKGV0KW0odyltKGVlbiloKGVhYyltKGgpaCh0ZXJtLik0MQogYihUaGUpMzAgYihkZWZhdWx0KWcoaW5jcmVtZW4pbSh0KWgoaXMpZygxKWYob3IpaCgtMSlnKGFzKWYKLShhcHByb3ByaWF0ZS4pMjc1IDUyMzAgeShCcmFjZSkzNiBiKGV4cGFuc2lvbilnKGlzKWYocClzKGVyZm9ybWVkKWYoYilzCisoYXBwcm9wcmlhdGUuKTI3NSAzNTI4IHkoQnJhY2UpMzYgYihleHBhbnNpb24pZyhpcylmKHApcyhlcmZvcm1lZClmKGIpcwogKGVmb3JlKWgoYW4pbSh5KWgob3RoZXIpZyhleHBhbnNpb25zLCloKGFuZCllKGFuKW0oeSlnKGMpbShoYXJhY3RlcnMpaQotKHNwKXMoZWNpYWwpMTUwIDUzNDAgeSh0bykzMiBiKG90aGVyKWcoZXhwYW5zaW9ucylnKGFyZSlnKHByZXNlcnYpbShlZCkKKyhzcClzKGVjaWFsKTE1MCAzNjM4IHkodG8pMzIgYihvdGhlcilnKGV4cGFuc2lvbnMpZyhhcmUpZyhwcmVzZXJ2KW0oZWQpCiBmKGluKWgodGhlKWYocmVzdWx0Lik0NSBiKEl0KTMyIGIoaXMpZyhzdHJpY3RseSlnKHRleHR1YWwuKTQ2Ci1iKEJhc2gpMzIgYihkbylzKGVzKWYobm90KWgoYXBwbHkpcCBlb3AgZW5kCitiKEJhc2gpMzIgYihkbylzKGVzKWYobm90KWgoYXBwbHkpMTUwIDM3NDcgeShhbiltKHkpMjcKK2Ioc3luKW0odGFjdGljKWkoaW4pbSh0ZXJwcmV0YXRpb24pZyh0bylmKHRoZSlmKGNvbiltKHRleHQpaShvZillKHRoZSlnCisoZXhwYW5zaW9uKWcob3IpZyh0aGUpaCh0ZXh0KWcoYilzKGV0KW0odyltKGVlbilmKHRoZSloKGJyYWNlcy4pMTUwCiszODU3IHkoVCktOCBiKG8pMzcgYihhKW0odiltKG9pZClnKGNvblwwMTVpY3RzKWcod2l0aClmKHBhcmFtZXRlciloCisoZXhwYW5zaW9uLClnKHRoZSlnKHN0cmluZylmKGApcCBGcygkeylwIEZ0KCcpZyhpcylnKG5vdClnKGNvbnNpZGVyZWQpZworKGVsaWdpYmxlKWkoZm9yKTE1MCAzOTY2IHkoYnJhY2UpMzEgYihleHBhbnNpb24uKTI3NQorNDEwNCB5KEEpZShjb3JyZWN0bHktZm9ybWVkKWkoYnJhY2UpZihleHBhbnNpb24pZihtKW0odXN0KWgoY29uKW0odGFpbikKK2godW5xdW90ZWQpZShvcClzKGVuaW5nKWcoYW5kKWcoY2xvc2luZylpKGJyYWNlcywpMTUwCis0MjE0IHkoYW5kKWgoYXQpaShsZWFzdClnKG9uZSlmKHVucXVvdGVkKWcoY29tbWEpZyhvcilnKGEpaCh2KS01CitiKGFsaWQpMzMgYihzZXF1ZW5jZSlnKGV4cHJlc3Npb24uKTQ4IGIoQW4pbSh5KTMzIGIoaW5jb3JyZWN0bHkpaAorKGZvcm1lZCkxNTAgNDMyMyB5KGJyYWNlKWQoZXhwYW5zaW9uKWYoaXMpZyhsZWZ0KWgodW5jKW0oaGFuZ2VkLikyNzUKKzQ0NjEgeShBKTI1IGIgRnMoeylnIEZ0KG9yKWcoYClwIEZzKCwpcCBGdCgnKWcobWEpbSh5KWgoYilzKGUpZihxdW90ZWQpCitnKHdpdGgpZyhhKWgoYmFjKW0oa3NsYXNoKWYodG8paChwcmV2KW0oZW4pbSh0KWcoaXRzKWcoYilzKGVpbmcpZgorKGNvbnNpZGVyZWQpZyhwYXJ0KWcob2YpZyhhKWgoYnJhY2UpMTUwIDQ1NzAgeShleHByZXNzaW9uLik1MQorYihUKS04IGIobykzNCBiKGEpbSh2KW0ob2lkKWkoY29uXDAxNWljdHMpZSh3aXRoKWcocGFyYW1ldGVyKWcKKyhleHBhbnNpb24sKWgodGhlKWYoc3RyaW5nKWcoYClwIEZzKCR7KXAgRnQoJylnKGlzKWcobm90KWcoY29uc2lkZXJlZCkKKzE1MCA0NjgwIHkoZWxpZ2libGUpZShmb3IpZShicmFjZSloKGV4cGFuc2lvbi4pMjc1IDQ4MTgKK3koVGhpcylmKGNvbnN0cnVjdCloKGlzKWcodCltKHlwaWNhbGx5KWkodXNlZClkKGFzKWgoc2hvcnRoYW5kKWYod2hlbilnCisodGhlKWgoY29tbW9uKWcocHJlXDAxNHgpZihvZiloKHRoZSlnKHN0cmluZ3MpZyh0bykxNTAKKzQ5MjcgeShiKXMoZSlmKGdlbmVyYXRlZCloKGlzKWcobG9uZ2VyKWcodGhhbilmKGluKWcodGhlKWcoYWIpcyhvKW0odiltCisoZSlpKGV4YW1wbGU6KTM5MCA1MDY1IHkgRnMobWtkaXIpNDYgYigvdXNyL2xvY2FsL3NyYy9iYXNoL3tvbGQsbilvCisoZXcsKW8oZGlzdClvKCxidWcpbyhzfSkyNzUgNTIwMiB5IEZ0KG9yKTM5MCA1MzQwIHkgRnMoY2hvd24pZyhyb290KWgKKygvdXNyL3t1Y2Ive2V4LGVkaXR9LGxpYi8pbyh7ZXg/KW8oLj8qLClvKGhvdylvKF9leH0pbyh9KXAKK2VvcCBlbmQKICUlUGFnZTogMTkgMjUKIFRlWERpY3QgYmVnaW4gMTkgMjQgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDM6KTQxCiBiKEJhc2ljKTMyIGIoU2hlbGwpZShGKS04IGIoZWF0dXJlcykyMjQ2IGIoMTkpMTUwIDI5OQoteShhbiltKHkpMjcgYihzeW4pbSh0YWN0aWMpaShpbiltKHRlcnByZXRhdGlvbilnKHRvKWYodGhlKWYoY29uKW0odGV4dCkKLWkob2YpZSh0aGUpZyhleHBhbnNpb24pZyhvcilnKHRoZSloKHRleHQpZyhiKXMoZXQpbSh3KW0oZWVuKWYodGhlKWgKLShicmFjZXMuKTE1MCA0MDggeShUKS04IGIobykzNyBiKGEpbSh2KW0ob2lkKWcoY29uXDAxNWljdHMpZyh3aXRoKWYKLShwYXJhbWV0ZXIpaChleHBhbnNpb24sKWcodGhlKWcoc3RyaW5nKWYoYClwIEZzKCR7KXAKLUZ0KCcpZyhpcylnKG5vdClnKGNvbnNpZGVyZWQpZyhlbGlnaWJsZSlpKGZvcikxNTAgNTE4Ci15KGJyYWNlKTMxIGIoZXhwYW5zaW9uLikyNzUgNjU4IHkoQSllKGNvcnJlY3RseS1mb3JtZWQpaShicmFjZSlmCi0oZXhwYW5zaW9uKWYobSltKHVzdCloKGNvbiltKHRhaW4paCh1bnF1b3RlZCllKG9wKXMoZW5pbmcpZyhhbmQpZwotKGNsb3NpbmcpaShicmFjZXMsKTE1MCA3NjggeShhbmQpaChhdClpKGxlYXN0KWcob25lKWYodW5xdW90ZWQpZyhjb21tYSkKLWcob3IpZyhhKWgodiktNSBiKGFsaWQpMzMgYihzZXF1ZW5jZSlnKGV4cHJlc3Npb24uKTQ4Ci1iKEFuKW0oeSkzMyBiKGluY29ycmVjdGx5KWgoZm9ybWVkKTE1MCA4NzcgeShicmFjZSlkKGV4cGFuc2lvbilmKGlzKWcKLShsZWZ0KWgodW5jKW0oaGFuZ2VkLikyNzUgMTAxNyB5KEEpMjUgYiBGcyh7KWcgRnQob3IpZyhgKXAKLUZzKCwpcCBGdCgnKWcobWEpbSh5KWgoYilzKGUpZihxdW90ZWQpZyh3aXRoKWcoYSloKGJhYyltKGtzbGFzaClmKHRvKWgKLShwcmV2KW0oZW4pbSh0KWcoaXRzKWcoYilzKGVpbmcpZihjb25zaWRlcmVkKWcocGFydClnKG9mKWcoYSloKGJyYWNlKQotMTUwIDExMjcgeShleHByZXNzaW9uLik1MSBiKFQpLTggYihvKTM0IGIoYSltKHYpbShvaWQpaShjb25cMDE1aWN0cyllCi0od2l0aClnKHBhcmFtZXRlcilnKGV4cGFuc2lvbiwpaCh0aGUpZihzdHJpbmcpZyhgKXAgRnMoJHspcAotRnQoJylnKGlzKWcobm90KWcoY29uc2lkZXJlZCkxNTAgMTIzNiB5KGVsaWdpYmxlKWUoZm9yKWUoYnJhY2UpaAotKGV4cGFuc2lvbi4pMjc1IDEzNzYgeShUaGlzKWYoY29uc3RydWN0KWgoaXMpZyh0KW0oeXBpY2FsbHkpaSh1c2VkKWQKLShhcyloKHNob3J0aGFuZClmKHdoZW4pZyh0aGUpaChjb21tb24pZyhwcmVcMDE0eClmKG9mKWgodGhlKWcoc3RyaW5ncylnCi0odG8pMTUwIDE0ODYgeShiKXMoZSlmKGdlbmVyYXRlZCloKGlzKWcobG9uZ2VyKWcodGhhbilmKGluKWcodGhlKWcoYWIpcwotKG8pbSh2KW0oZSlpKGV4YW1wbGU6KTM5MCAxNjI2IHkgRnMobWtkaXIpNDYgYgotKC91c3IvbG9jYWwvc3JjL2Jhc2gve29sZCxuKW8oZXcsKW8oZGlzdClvKCxidWcpbyhzfSkyNzUKLTE3NjYgeSBGdChvcikzOTAgMTkwNSB5IEZzKGNob3duKWcocm9vdCloKC91c3Ive3VjYi97ZXgsZWRpdH0sbGliLylvCi0oe2V4PylvKC4/Kiwpbyhob3cpbyhfZXh9KW8ofSkxNTAgMjE0MCB5IEZrKDMuNS4yKTYzCi1iKFRpbGRlKTQxIGIoRXhwYW5zaW9uKTI3NSAyMzkwIHkgRnQoSWYpaShhKWkodyltKG9yZCllKGIpcyhlZ2lucyloCi0od2l0aClmKGFuKWgodW5xdW90ZWQpZih0aWxkZSlpKGMpbShoYXJhY3RlciloKFwoYClwCi1Gcyh+KXAgRnQoJ1wpLClpKGFsbClkKG9mKWcodGhlKWYoYyltKGhhcmFjdGVycyloKHVwKWUodG8pMTUwCi0yNDk5IHkodGhlKTM1IGIoXDAxNHJzdClmKHVucXVvdGVkKWYoc2xhc2gpaShcKG9yKWcoYWxsKWcoYyltCi0oaGFyYWN0ZXJzLClpKGlmKWUodGhlcmUpZyhpcylmKG5vKWgodW5xdW90ZWQpZShzbGFzaFwpKWkoYXJlKWcKLShjb25zaWRlcmVkKWcoYSkxNTAgMjYwOSB5IEZxKHRpbGRlLXByZVwwMTR4KXAgRnQoLik1NQotYihJZikzNSBiKG5vbmUpZyhvZilnKHRoZSlnKGMpbShoYXJhY3RlcnMpaShpbilkKHRoZSlpKHRpbGRlLXByZVwwMTR4KWYKLShhcmUpZyhxdW90ZWQsKWkodGhlKWUoYyltKGhhcmFjdGVycylpKGluKWUodGhlKTE1MCAyNzE5Ci15KHRpbGRlLXByZVwwMTR4KTI3IGIoZm9sbG8pbSh3aW5nKWgodGhlKWYodGlsZGUpaChhcmUpZih0cmVhdGVkKWgoYXMpZgotKGEpZyhwKXMob3NzaWJsZSlmIEZxKGxvZ2luKWkobmFtZSlwIEZ0KC4pMzkgYihJZikyNwotYih0aGlzKWYobG9naW4paShuYW1lKWYoaXMpZyh0aGUpMTUwIDI4MjggeShuKW0odWxsKWsoc3RyaW5nLCloKHRoZSlmCi0odGlsZGUpaChpcylnKHJlcGxhY2VkKWcod2l0aClmKHRoZSlnKHYpLTUgYihhbHVlKTMyCi1iKG9mKWYodGhlKWggRnMoSE9NRSllIEZ0KHNoZWxsKWgodiktNSBiKGFyaWFibGUuKTQ1Ci1iKElmKTMxIGIgRnMoSE9NRSlmIEZ0KGlzKWgodW5zZXQsKTE1MCAyOTM4IHkodGhlKTM3Ci1iKGhvbWUpZihkaXJlY3RvcnkpaChvZilnKHRoZSlmKHVzZXIpZyhleGVjdXRpbmcpaSh0aGUpZihzaGVsbClmKGlzKWgKLShzdWJzdGl0dXRlZClmKGluc3RlYWQuKTU5IGIoT3RoZXJ3aXNlLCkzOCBiKHRoZSkxNTAKLTMwNDcgeSh0aWxkZS1wcmVcMDE0eCkzMCBiKGlzKWgocmVwbGFjZWQpZyh3aXRoKWYodGhlKWcoaG9tZSloCi0oZGlyZWN0b3J5KWcoYXNzbylzKGNpYXRlZClnKHdpdGgpZih0aGUpaChzcClzKGVjaVwwMTRlZClmKGxvZ2luKWgKLShuYW1lLikyNzUgMzE4NyB5KElmKWgodGhlKWgodGlsZGUtcHJlXDAxNHgpZihpcyloKGApcAoreSBGaigzLjUuMik2MyBiKFRpbGRlKTQxIGIoRXhwYW5zaW9uKTE1MCA0NDYgeSBGdChJZikyOQorYihhKWgodyltKG9yZClnKGIpcyhlZ2lucylmKHdpdGgpZyhhbiloKHVucXVvdGVkKWYodGlsZGUpaChjKW0KKyhoYXJhY3RlciloKFwoYClwIEZzKH4pcCBGdCgnXCksKWcoYWxsKWcob2YpZih0aGUpZyhjKW0oaGFyYWN0ZXJzKWgodXApCitkKHRvKWoodGhlKWYoXDAxNHJzdCkxNTAgNTU1IHkodW5xdW90ZWQpMjMgYihzbGFzaCloKFwob3IpaChhbGwpZyhjKW0KKyhoYXJhY3RlcnMsKWkoaWYpZCh0aGVyZSlnKGlzKWgobm8pZih1bnF1b3RlZClmKHNsYXNoXCkpaChhcmUpaAorKGNvbnNpZGVyZWQpZihhKWcgRnEodGlsZGUtcHJlXDAxNHgpNiBiIEZ0KC4pMTUwIDY2NQoreShJZikzOCBiKG5vbmUpZyhvZilnKHRoZSloKGMpbShoYXJhY3RlcnMpZyhpbilmKHRoZSloKHRpbGRlLXByZVwwMTR4KWYKKyhhcmUpaChxdW90ZWQsKWgodGhlKWYoYyltKGhhcmFjdGVycyloKGluKWQodGhlKWkodGlsZGUtcHJlXDAxNHgpMTUwCis3NzUgeShmb2xsbyltKHdpbmcpMjggYih0aGUpZih0aWxkZSlnKGFyZSlnKHRyZWF0ZWQpaChhcylmKGEpZyhwKXMKKyhvc3NpYmxlKWYgRnEobG9naW4paShuYW1lKTUgYiBGdCguKTQwIGIoSWYpMjYgYih0aGlzKWcobG9naW4paShuYW1lKWYKKyhpcylmKHRoZSloKG4pbSh1bGwpZyhzdHJpbmcsKTE1MCA4ODQgeSh0aGUpMzUgYih0aWxkZSlnKGlzKWcocmVwbGFjZWQpCitnKHdpdGgpZih0aGUpaCh2KS01IGIoYWx1ZSkzNSBiKG9mKWcodGhlKWcgRnMoSE9NRSllCitGdChzaGVsbClpKHYpLTUgYihhcmlhYmxlLik1NCBiKElmKTM0IGIgRnMoSE9NRSlnIEZ0KGlzKWgodW5zZXQsKWcodGhlKQorZyhob21lKTE1MCA5OTQgeShkaXJlY3RvcnkpZShvZilnKHRoZSlmKHVzZXIpZyhleGVjdXRpbmcpaSh0aGUpZShzaGVsbCkKK2goaXMpZihzdWJzdGl0dXRlZClnKGluc3RlYWQuKTQ3IGIoT3RoZXJ3aXNlLCkzMyBiKHRoZSlnCisodGlsZGUtcHJlXDAxNHgpMTUwIDExMDMgeShpcylkKHJlcGxhY2VkKWgod2l0aClmKHRoZSloKGhvbWUpZgorKGRpcmVjdG9yeSloKGFzc28pcyhjaWF0ZWQpaCh3aXRoKWUodGhlKWgoc3ApcyhlY2lcMDE0ZWQpZShsb2dpbilqCisobmFtZS4pMjc1IDEyMzUgeShJZilnKHRoZSloKHRpbGRlLXByZVwwMTR4KWYoaXMpaChgKXAKIEZzKH4rKXAgRnQoJywpZyh0aGUpZyh2KS01IGIoYWx1ZSkzMyBiKG9mKWcodGhlKWcoc2hlbGwpZyh2KS01CiBiKGFyaWFibGUpMzQgYiBGcyhQV0QpZCBGdChyZXBsYWNlcylqKHRoZSlmKHRpbGRlLXByZVwwMTR4Lik0NwotYihJZikxNTAgMzI5NyB5KHRoZSkzMSBiKHRpbGRlLXByZVwwMTR4KWYoaXMpZyhgKXAgRnMofi0pcAorYihJZikxNTAgMTM0NCB5KHRoZSkzMSBiKHRpbGRlLXByZVwwMTR4KWYoaXMpZyhgKXAgRnMofi0pcAogRnQoJywpaCh0aGUpZih2KS01IGIoYWx1ZSkzMSBiKG9mKWcodGhlKWYoc2hlbGwpaCh2KS01CiBiKGFyaWFibGUpMzEgYiBGcyhPTERQV0QpcCBGdCgsKWUoaWYpaChpdCloKGlzKWcoc2V0LClnKGlzKWYKLShzdWJzdGl0dXRlZC4pMjc1IDM0MzcgeShJZilmKHRoZSloKGMpbShoYXJhY3RlcnMpaChmb2xsbyltKHdpbmcpaCh0aGUpCi1lKHRpbGRlKWcoaW4pZyh0aGUpZyh0aWxkZS1wcmVcMDE0eClnKGNvbnNpc3QpZyhvZilnKGEpaChuKW0odW0pbShiKXMKLShlcilkIEZxKE4pcCBGdCgsKWoob3B0aW9uYWxseSkxNTAgMzU0NiB5KHByZVwwMTR4ZWQpMjIKKyhzdWJzdGl0dXRlZC4pMjc1IDE0NzYgeShJZillKHRoZSlpKGMpbShoYXJhY3RlcnMpZyhmb2xsbyltKHdpbmcpaCh0aGUpCitlKHRpbGRlKWgoaW4pZih0aGUpZyh0aWxkZS1wcmVcMDE0eCloKGNvbnNpc3QpZihvZiloKGEpZihuKW0odW0pbShiKXMKKyhlcilmIEZxKE4pMTAgYiBGdCgsKTMwIGIob3B0aW9uYWxseSkxNTAgMTU4NSB5KHByZVwwMTR4ZWQpMjIKIGIoYiltKHkpaChhKWgoYClwIEZzKCspcCBGdCgnKWYob3IpaChhKWYoYClwIEZzKC0pcCBGdCgnLClqKHRoZSlkCiAodGlsZGUtcHJlXDAxNHgpZyhpcyloKHJlcGxhY2VkKWYod2l0aClnKHRoZSloKGNvcnJlc3ApcyhvbmRpbmcpZQotKGVsZW1lbiltKHQpaihmcm9tKWUodGhlKTE1MCAzNjU2IHkoZGlyZWN0b3J5KTM2IGIoc3RhYyltKGssKWkoYXMpZShpdCkKKyhlbGVtZW4pbSh0KWooZnJvbSllKHRoZSkxNTAgMTY5NSB5KGRpcmVjdG9yeSkzNiBiKHN0YWMpbShrLClpKGFzKWUoaXQpCiBnKHcpbShvdWxkKWYoYilzKGUpZyhkaXNwbGEpbSh5KW0oZWQpaChiKW0oeSlnKHRoZSlmCiBGcyhkaXJzKWcgRnQoYnVpbHRpbilnKGluKW0odiltKG9rKW0oZWQpaSh3aXRoKWUodGhlKWcoYyltKGhhcmFjdGVycykKLTE1MCAzNzY2IHkoZm9sbG8pbSh3aW5nKTQwIGIodGlsZGUpZihpbilnKHRoZSlmKHRpbGRlLXByZVwwMTR4KWgoYXMpZworMTUwIDE4MDQgeShmb2xsbyltKHdpbmcpNDAgYih0aWxkZSlmKGluKWcodGhlKWYodGlsZGUtcHJlXDAxNHgpaChhcylnCiAoYW4pZihhcmd1bWVuKW0odCloKFwoc2VlKWgoU2VjdGlvbilmKDYuOCloKFtUaGUpZShEaXJlY3RvcnkpaShTdGFjKW0KLShrXSwpMTUwIDM4NzUgeShwYWdlKWMoODFcKS4pNTcgYihJZikzNSBiKHRoZSlnKHRpbGRlLXByZVwwMTR4LClpKHNhbnMpCisoa10sKTE1MCAxOTE0IHkocGFnZSljKDgxXCkuKTU3IGIoSWYpMzUgYih0aGUpZyh0aWxkZS1wcmVcMDE0eCwpaShzYW5zKQogZSh0aGUpaCh0aWxkZSwpaChjb25zaXN0cylmKG9mKWcoYSlmKG4pbSh1bSltKGIpcyhlcilmKHdpdGhvdXQpaShhKWYKLShsZWFkaW5nKWgoYClwIEZzKCspcCBGdCgnKWcob3IpMTUwIDM5ODUgeShgKXAgRnMoLSlwCi1GdCgnLCkzMSBiKGApcCBGcygrKXAgRnQoJylmKGlzKWgoYXNzdW1lZC4pMjc1IDQxMjUgeShJZillKHRoZSlpKGxvZ2luKQorKGxlYWRpbmcpaChgKXAgRnMoKylwIEZ0KCcpZyhvcikxNTAgMjAyNCB5KGApcCBGcygtKXAKK0Z0KCcsKTMxIGIoYClwIEZzKCspcCBGdCgnKWYoaXMpaChhc3N1bWVkLikyNzUgMjE1NSB5KElmKWUodGhlKWkobG9naW4pCiBnKG5hbWUpZyhpcylmKGluKW0odiktNSBiKGFsaWQsKTMxIGIob3IpZyh0aGUpZih0aWxkZSloKGV4cGFuc2lvbilmCiAoZmFpbHMsKWkodGhlKWUodyltKG9yZClnKGlzKWgobGVmdClnKHVuYyltKGhhbmdlZC4pMjc1Ci00MjY1IHkoRWFjKW0oaCkzOCBiKHYpLTUgYihhcmlhYmxlKTM4IGIoYXNzaWdubWVuKW0odCloKGlzKWUoYyltKGhlYyltCisyMjg2IHkoRWFjKW0oaCkzOCBiKHYpLTUgYihhcmlhYmxlKTM4IGIoYXNzaWdubWVuKW0odCloKGlzKWUoYyltKGhlYyltCiAoayltKGVkKWooZm9yKWQodW5xdW90ZWQpZyh0aWxkZS1wcmVcMDE0eGVzKWgoaW1tZWRpYXRlbHkpZyhmb2xsbyltCi0od2luZykxNTAgNDM3NCB5KGEpZChgKXAgRnMoOilwIEZ0KCcpZyhvcilnKHRoZSlnKFwwMTRyc3QpZihgKXAKKyh3aW5nKTE1MCAyMzk2IHkoYSlkKGApcCBGcyg6KXAgRnQoJylnKG9yKWcodGhlKWcoXDAxNHJzdClmKGApcAogRnMoPSlwIEZ0KCcuKTU0IGIoSW4pMzQgYih0aGVzZSloKGNhc2VzLClpKHRpbGRlKWUoZXhwYW5zaW9uKWcoaXMpZwogKGFsc28paChwKXMoZXJmb3JtZWQuKTUyIGIoQ29uc2VxdWVuKW0odGx5KS04IGIoLCkzNwotYihvbmUpMTUwIDQ0ODQgeShtYSltKHkpMjcgYih1c2UpZShcMDE0bGUpaChuYW1lcylnKHdpdGgpZyh0aWxkZXMpZyhpbikKK2Iob25lKTE1MCAyNTA1IHkobWEpbSh5KTI3IGIodXNlKWUoXDAxNGxlKWgobmFtZXMpZyh3aXRoKWcodGlsZGVzKWcoaW4pCiBnKGFzc2lnbm1lbiltKHRzKWgodG8pZyBGcyhQQVRIKXAgRnQoLClmIEZzKE1BSUxQQVRIKXAKIEZ0KCwpZShhbmQpaSBGcyhDRFBBVEgpcCBGdCgsKWYoYW5kKWgodGhlKWcoc2hlbGwpMTUwCi00NTkzIHkoYXNzaWducykzMSBiKHRoZSlmKGV4cGFuZGVkKWcodiktNSBiKGFsdWUuKTI3NQotNDczMyB5KFRoZSkyOSBiKGZvbGxvKW0od2luZylqKHRhYmxlKWcoc2hvKW0od3MpZShobyltKHcpZyhCYXNoKWgKLSh0cmVhdHMpZyh1bnF1b3RlZCllKHRpbGRlLXByZVwwMTR4ZXM6KTE1MCA0OTAxIHkgRnMofik0MzIKLWIgRnQoVGhlKTMwIGIodiktNSBiKGFsdWUpMzEgYihvZilmIEZzKCRIT01FKTE1MCA1MDY2Ci15KH4vZm9vKTI0MCBiIEZ0KGApcCBGcygkSE9NRS9mb28pcCBGdCgnKTE1MCA1MjMwIHkgRnMofmZyZWQvZm9vKTYzMAotNTM0MCB5IEZ0KFRoZSkzMCBiKHN1YilzKGRpcmVjdG9yeSlmIEZzKGZvbyloIEZ0KG9mKWcodGhlKWgoaG9tZSlmCi0oZGlyZWN0b3J5KWgob2YpZyh0aGUpZih1c2VyKWcgRnMoZnJlZClwIGVvcCBlbmQKKzI2MTUgeShhc3NpZ25zKTMxIGIodGhlKWYoZXhwYW5kZWQpZyh2KS01IGIoYWx1ZS4pMjc1CisyNzQ2IHkoVGhlKTI5IGIoZm9sbG8pbSh3aW5nKWoodGFibGUpZyhzaG8pbSh3cyllKGhvKW0odylnKEJhc2gpaAorKHRyZWF0cylnKHVucXVvdGVkKWUodGlsZGUtcHJlXDAxNHhlczopMTUwIDI4OTkgeSBGcyh+KTQzMgorYiBGdChUaGUpMzAgYih2KS01IGIoYWx1ZSkzMSBiKG9mKWYgRnMoJEhPTUUpMTUwIDMwNTIKK3kofi9mb28pMjQwIGIgRnQoYClwIEZzKCRIT01FL2ZvbylwIEZ0KCcpMTUwIDMyMDUgeSBGcyh+ZnJlZC9mb28pNjMwCiszMzE1IHkgRnQoVGhlKTMwIGIoc3ViKXMoZGlyZWN0b3J5KWYgRnMoZm9vKWggRnQob2YpZyh0aGUpaChob21lKWYKKyhkaXJlY3RvcnkpaChvZilnKHRoZSlmKHVzZXIpZyBGcyhmcmVkKTE1MCAzNDY4IHkofisvZm9vKTE5MgorYiBGdChgKXAgRnMoJFBXRC9mb28pcCBGdCgnKTE1MCAzNjIxIHkgRnMofi0vZm9vKWcgRnQoYClwCitGcygke09MRFBXRC0nfi0nfS9mb28pcCBGdCgnKTE1MCAzNzc0IHkgRnMofilwIEZpKE4pMzg0CitiIEZ0KFRoZSkzMCBiKHN0cmluZylnKHRoYXQpaCh3KW0ob3VsZClmKGIpcyhlKWcoZGlzcGxhKW0oeSltKGVkKWgoYiltCisoeSlmKGApcCBGcyhkaXJzKWcoKylwIEZpKE4pMTEgYiBGdCgnKTE1MCAzOTI3IHkgRnMofispcAorRmkoTikzMzYgYiBGdChUaGUpMzAgYihzdHJpbmcpZyh0aGF0KWgodyltKG91bGQpZihiKXMoZSlnKGRpc3BsYSltKHkpbQorKGVkKWgoYiltKHkpZihgKXAgRnMoZGlycylnKCspcCBGaShOKTExIGIgRnQoJykxNTAgNDA4MAoreSBGcyh+LSlwIEZpKE4pMzM2IGIgRnQoVGhlKTMwIGIoc3RyaW5nKWcodGhhdCloKHcpbShvdWxkKWYoYilzKGUpZworKGRpc3BsYSltKHkpbShlZCloKGIpbSh5KWYoYClwIEZzKGRpcnMpZygtKXAgRmkoTikxMQorYiBGdCgnKTE1MCA0MjczIHkgRmooMy41LjMpNjMgYihTaGVsbCk0MSBiKFApbShhcmFtZXRlcilmKEV4cGFuc2lvbikxNTAKKzQ0MjAgeSBGdChUaGUpZyhgKXAgRnMoJClwIEZ0KCcpaChjKW0oaGFyYWN0ZXIpaShpbiltKHRybylzKGR1Y2VzKWQKKyhwYXJhbWV0ZXIpaChleHBhbnNpb24sKWooY29tbWFuZClkKHN1YnN0aXR1dGlvbiwpaShvcillKGFyaXRobWV0aWMpMTUwCis0NTI5IHkoZXhwYW5zaW9uLilkKFRoZSkyMiBiKHBhcmFtZXRlciloKG5hbWUpZihvcilnKHN5bSltKGIpcyhvbCloKHRvKQorZyhiKXMoZSllKGV4cGFuZGVkKWgobWEpbSh5KWgoYilzKGUpZihlbmNsb3NlZCloKGluKWYoYnJhY2VzLClpKHdoaWMpbQorKGgpMTUwIDQ2MzkgeShhcmUpMzEgYihvcHRpb25hbClnKGJ1dClmKHNlcnYpbShlKWgodG8paChwcm90ZWN0KWYodGhlKWcKKyh2KS01IGIoYXJpYWJsZSkzMSBiKHRvKWcoYilzKGUpZihleHBhbmRlZClnKGZyb20pZyhjKW0oaGFyYWN0ZXJzKWkKKyhpbW1lZGlhdGVseSkxNTAgNDc0OSB5KGZvbGxvKW0od2luZylnKGl0KWYod2hpYyltKGgpZihjb3VsZClnKGIpcyhlKWcKKyhpbiltKHRlcnByZXRlZCloKGFzKWYocGFydCloKG9mKWYodGhlKWgobmFtZS4pMjc1IDQ4ODAKK3koV2hlbik0NCBiKGJyYWNlcylpKGFyZSlmKHVzZWQsKWoodGhlKWUobWF0YyltKGhpbmcpZyhlbmRpbmcpZihicmFjZSlnCisoaXMpZyh0aGUpZyhcMDE0cnN0KWcoYClwIEZzKH0pcCBGdCgnKWcobm90KWcoZXNjYXApcyhlZCloKGIpbSh5KWYoYSkKKzE1MCA0OTg5IHkoYmFjKW0oa3NsYXNoKTQwIGIob3IpZih3aXRoaW4pZyhhKWcocXVvdGVkKWcoc3RyaW5nLClqKGFuZCljCisobm90KWkod2l0aGluKWUoYW4paChlbSltKGIpcyhlZGRlZClmKGFyaXRobWV0aWMpaihleHBhbnNpb24sKTE1MAorNTA5OSB5KGNvbW1hbmQpMzAgYihzdWJzdGl0dXRpb24sKWcob3IpaChwYXJhbWV0ZXIpZyhleHBhbnNpb24uKTI3NQorNTIzMCB5KFRoZSk0MCBiKGJhc2ljKWgoZm9ybSlnKG9mKWcocGFyYW1ldGVyKWgoZXhwYW5zaW9uKWUoaXMpaCgkKXAKK0ZzKHspcCBGcShwYXJhbWV0ZXIpNyBiIEZzKH0pcCBGdCguKTczIGIoVGhlKTQwIGIodiktNQorYihhbHVlKTQyIGIob2YpZiBGcShwYXJhbWV0ZXIpNDggYiBGdChpcykxNTAgNTM0MCB5KHN1YnN0aXR1dGVkLik0MworYihUaGUpMzEgYihicmFjZXMpZyhhcmUpaChyZXF1aXJlZCllKHdoZW4paCBGcShwYXJhbWV0ZXIpMzgKK2IgRnQoaXMpMzEgYihhKWgocClzKG9zaXRpb25hbClnKHBhcmFtZXRlcilnKHdpdGgpZihtb3JlKXAKK2VvcCBlbmQKICUlUGFnZTogMjAgMjYKIFRlWERpY3QgYmVnaW4gMjAgMjUgYm9wIDE1MCAtMTE2IGEgRnQoMjApMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcyh+Ky9mb28pMTkyIGIgRnQoYClwCi1GcygkUFdEL2ZvbylwIEZ0KCcpMTUwIDQ0MyB5IEZzKH4tL2ZvbylnIEZ0KGApcCBGcygke09MRFBXRC0nfi0nfS9mb28pcAotRnQoJykxNTAgNTg3IHkgRnMofilwIEZqKE4pMzg0IGIgRnQoVGhlKTMwIGIoc3RyaW5nKWcodGhhdCloKHcpbShvdWxkKWYKLShiKXMoZSlnKGRpc3BsYSltKHkpbShlZCloKGIpbSh5KWYoYClwIEZzKGRpcnMpZygrKXAKLUZqKE4pMTEgYiBGdCgnKTE1MCA3MzIgeSBGcyh+KylwIEZqKE4pMzM2IGIgRnQoVGhlKTMwCi1iKHN0cmluZylnKHRoYXQpaCh3KW0ob3VsZClmKGIpcyhlKWcoZGlzcGxhKW0oeSltKGVkKWgoYiltKHkpZihgKXAKLUZzKGRpcnMpZygrKXAgRmooTikxMSBiIEZ0KCcpMTUwIDg3NiB5IEZzKH4tKXAgRmooTikzMzYKLWIgRnQoVGhlKTMwIGIoc3RyaW5nKWcodGhhdCloKHcpbShvdWxkKWYoYilzKGUpZyhkaXNwbGEpbSh5KW0oZWQpaChiKW0KLSh5KWYoYClwIEZzKGRpcnMpZygtKXAgRmooTikxMSBiIEZ0KCcpMTUwIDEwNzcgeSBGaygzLjUuMyk2MwotYihTaGVsbCk0MSBiKFApbShhcmFtZXRlcilmKEV4cGFuc2lvbikyNzUgMTMxNCB5IEZ0KFRoZSkyNgotYihgKXAgRnMoJClwIEZ0KCcpaShjKW0oaGFyYWN0ZXIpaChpbiltKHRybylzKGR1Y2VzKWUocGFyYW1ldGVyKWgKLShleHBhbnNpb24sKWcoY29tbWFuZClmKHN1YnN0aXR1dGlvbiwpaChvcilnKGFyaXRobWV0aWMpMTUwCi0xNDIzIHkoZXhwYW5zaW9uLikzOCBiKFRoZSkyMiBiKHBhcmFtZXRlciloKG5hbWUpZihvcilnKHN5bSltKGIpcyhvbCloCi0odG8pZyhiKXMoZSllKGV4cGFuZGVkKWgobWEpbSh5KWgoYilzKGUpZihlbmNsb3NlZCloKGluKWYoYnJhY2VzLClpCi0od2hpYyltKGgpMTUwIDE1MzMgeShhcmUpMzEgYihvcHRpb25hbClnKGJ1dClmKHNlcnYpbShlKWgodG8paChwcm90ZWN0KQotZih0aGUpZyh2KS01IGIoYXJpYWJsZSkzMSBiKHRvKWcoYilzKGUpZihleHBhbmRlZClnKGZyb20pZyhjKW0KLShoYXJhY3RlcnMpaShpbW1lZGlhdGVseSkxNTAgMTY0MyB5KGZvbGxvKW0od2luZylnKGl0KWYod2hpYyltKGgpZgotKGNvdWxkKWcoYilzKGUpZyhpbiltKHRlcnByZXRlZCloKGFzKWYocGFydCloKG9mKWYodGhlKWgobmFtZS4pMjc1Ci0xNzY5IHkoV2hlbik0NCBiKGJyYWNlcylpKGFyZSlmKHVzZWQsKWoodGhlKWUobWF0YyltKGhpbmcpZyhlbmRpbmcpZgotKGJyYWNlKWcoaXMpZyh0aGUpZyhcMDE0cnN0KWcoYClwIEZzKH0pcCBGdCgnKWcobm90KWcoZXNjYXApcyhlZCloKGIpbQotKHkpZihhKTE1MCAxODc5IHkoYmFjKW0oa3NsYXNoKTQwIGIob3IpZih3aXRoaW4pZyhhKWcocXVvdGVkKWcoc3RyaW5nLCkKLWooYW5kKWMobm90KWkod2l0aGluKWUoYW4paChlbSltKGIpcyhlZGRlZClmKGFyaXRobWV0aWMpaihleHBhbnNpb24sKQotMTUwIDE5ODkgeShjb21tYW5kKTMwIGIoc3Vic3RpdHV0aW9uLClnKG9yKWgocGFyYW1ldGVyKWcoZXhwYW5zaW9uLikyNzUKLTIxMTYgeShUaGUpNDAgYihiYXNpYyloKGZvcm0pZyhvZilnKHBhcmFtZXRlciloKGV4cGFuc2lvbillKGlzKWgoJClwCi1Gcyh7KXAgRnEocGFyYW1ldGVyKTcgYiBGcyh9KXAgRnQoLik3MyBiKFRoZSk0MCBiKHYpLTUKLWIoYWx1ZSk0MiBiKG9mKWYgRnEocGFyYW1ldGVyKTQ4IGIgRnQoaXMpMTUwIDIyMjUgeShzdWJzdGl0dXRlZC4pNDMKLWIoVGhlKTMxIGIoYnJhY2VzKWcoYXJlKWgocmVxdWlyZWQpZSh3aGVuKWggRnEocGFyYW1ldGVyKTM4Ci1iIEZ0KGlzKTMxIGIoYSloKHApcyhvc2l0aW9uYWwpZyhwYXJhbWV0ZXIpZyh3aXRoKWYobW9yZSkxNTAKLTIzMzUgeSh0aGFuKWgob25lKWcoZGlnaXQsKWkob3IpZSh3aGVuKWcgRnEocGFyYW1ldGVyKTM5Ci1iIEZ0KGlzKTMyIGIoZm9sbG8pbSh3KW0oZWQpaShiKW0oeSllKGEpaChjKW0oaGFyYWN0ZXIpaCh0aGF0KWUoaXMpaAotKG5vdClmKHRvKWgoYilzKGUpZihpbiltKHRlcnByZXRlZCkxNTAgMjQ0NCB5KGFzKWYocGFydClmKG9mKWcoaXRzKWgKLShuYW1lLikyNzUgMjU3MSB5KElmKTI2IGIodGhlKWkoXDAxNHJzdClmKGMpbShoYXJhY3RlcilpKG9mKWUKLUZxKHBhcmFtZXRlcikzNSBiIEZ0KGlzKTI3IGIoYW4pZyhleGNsYW1hdGlvbilqKHApcyhvaW4pbSh0LCllKGEpZyhsZXYpCi1tKGVsKWgob2YpZSh2KS01IGIoYXJpYWJsZSkyOSBiKGluZGlyZWN0aW9uKTE1MCAyNjgxCi15KGlzKTM4IGIoaW4pbSh0cm8pcyhkdWNlZC4pNjIgYihCYXNoKTM4IGIodXNlcylmKHRoZSloKHYpLTUKLWIoYWx1ZSkzOCBiKG9mKWcodGhlKWcodiktNSBiKGFyaWFibGUpMzkgYihmb3JtZWQpZShmcm9tKWcodGhlKWgocmVzdClnCi0ob2YpZyBGcShwYXJhbWV0ZXIpNDUgYiBGdChhcykxNTAgMjc5MCB5KHRoZSkzMiBiKG5hbWUpaChvZilmKHRoZSloKHYpCi0tNSBiKGFyaWFibGU7KTM0IGIodGhpcyllKHYpLTUgYihhcmlhYmxlKTMzIGIoaXMpZyh0aGVuKWYoZXhwYW5kZWQpZgotKGFuZCloKHRoYXQpaCh2KS01IGIoYWx1ZSkzMiBiKGlzKWgodXNlZCllKGluKWgodGhlKWgocmVzdCkxNTAKLTI5MDAgeShvZiloKHRoZSlmKHN1YnN0aXR1dGlvbiwpaShyYXRoZXIpZSh0aGFuKWcodGhlKWgodiktNQotYihhbHVlKTM0IGIob2YpZyBGcShwYXJhbWV0ZXIpNDAgYiBGdChpdHNlbGYuKTUxIGIoVGhpcykzMwotYihpcylnKGtubyltKHduKWcoYXMpaCBGcyhpbmRpcmVjdCkxNTAgMzAxMCB5KGV4cGFuc2lvbilwCi1GdCguKTgxIGIoVGhlKTQ0IGIoZXhjZXB0aW9ucyloKHRvKWgodGhpcyllKGFyZSloKHRoZSlnKGV4cGFuc2lvbnMpZgotKG9mKWgoJClwIEZzKHspcCBGdCghKXAgRnEocHJlXDAxNHgqKTggYiBGcyh9KTQzIGIgRnQoYW5kKWgoJClwCi1Gcyh7KXAgRnQoISlwIEZxKG5hbWUpNSBiIEZ0KFspcCBGcyhAKXAgRnQoXSlwIEZzKH0pMTUwCi0zMTE5IHkgRnQoZGVzY3JpYilzKGVkKTI4IGIoYilzKGVsbyltKHcuKTQxIGIoVGhlKTI4Ci1iKGV4Y2xhbWF0aW9uKWoocClzKG9pbiltKHQpZihtKW0odXN0KWYoaW1tZWRpYXRlbHkpaChmb2xsbyltKHcpZyh0aGUpZwotKGxlZnQpZihicmFjZSloKGluKWYob3JkZXIpZih0bykxNTAgMzIyOSB5KGluKW0odHJvKXMoZHVjZSlpCi0oaW5kaXJlY3Rpb24uKTI3NSAzMzU2IHkoSW4pMzkgYihlYWMpbShoKWkob2YpZyh0aGUpZihjYXNlcyloKGIpcyhlbG8pbQotKHcsKWkgRnEodyltKG9yZCloIEZ0KGlzKWMoc3ViKTUgYihqZWN0KTQwIGIodG8paCh0aWxkZSlmKGV4cGFuc2lvbiwpagotKHBhcmFtZXRlcillKGV4cGFuc2lvbiwpMTUwIDM0NjUgeShjb21tYW5kKTMwIGIoc3Vic3RpdHV0aW9uLClnKGFuZClnCi0oYXJpdGhtZXRpYylpKGV4cGFuc2lvbi4pMjc1IDM1OTIgeShXaGVuKWgobm90KWgocClzKGVyZm9ybWluZyllCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkodGhhbiloKG9uZSlnKGRpZ2l0LClpKG9yKWUod2hlbilnCitGcShwYXJhbWV0ZXIpMzkgYiBGdChpcykzMiBiKGZvbGxvKW0odyltKGVkKWkoYiltKHkpZShhKWgoYyltKGhhcmFjdGVyKQoraCh0aGF0KWUoaXMpaChub3QpZih0byloKGIpcyhlKWYoaW4pbSh0ZXJwcmV0ZWQpMTUwIDQwOAoreShhcylmKHBhcnQpZihvZilnKGl0cyloKG5hbWUuKTI3NSA1NTMgeShJZiljKHRoZSlnKFwwMTRyc3QpZyhjKW0KKyhoYXJhY3RlcilpKG9mKWYgRnEocGFyYW1ldGVyKTM1IGIgRnQoaXMpMjcgYihhbiloKGV4Y2xhbWF0aW9uKWkocClzCisob2luKW0odClkKFwoIVwpLClpKGEpZihsZXYpbShlbClpKG9mKWQodiktNSBiKGFyaWFibGUpMjkKK2IoaW5kaXJlYy0pMTUwIDY2MyB5KHRpb24pZShpcylmKGluKW0odHJvKXMoZHVjZWQuKTM5CitiKEJhc2gpMjcgYih1c2VzKWUodGhlKWkodiktNSBiKGFsdWUpMjcgYihvZilmKHRoZSloKHYpLTUKK2IoYXJpYWJsZSkyNyBiKGZvcm1lZClmKGZyb20pZyh0aGUpZyhyZXN0KWgob2YpZiBGcShwYXJhbWV0ZXIpMzQKK2IgRnQoYXMpMTUwIDc3MiB5KHRoZSllKG5hbWUpaChvZilmKHRoZSloKHYpLTUgYihhcmlhYmxlOykzNAorYih0aGlzKWUodiktNSBiKGFyaWFibGUpMzMgYihpcylnKHRoZW4pZihleHBhbmRlZClmKGFuZCloKHRoYXQpaCh2KS01CitiKGFsdWUpMzIgYihpcyloKHVzZWQpZShpbiloKHRoZSloKHJlc3QpMTUwIDg4MiB5KG9mKWgodGhlKWYKKyhzdWJzdGl0dXRpb24sKWkocmF0aGVyKWUodGhhbilnKHRoZSloKHYpLTUgYihhbHVlKTM0CitiKG9mKWcgRnEocGFyYW1ldGVyKTQwIGIgRnQoaXRzZWxmLik1MSBiKFRoaXMpMzMgYihpcylnKGtubyltKHduKWcoYXMpaAorRnMoaW5kaXJlY3QpMTUwIDk5MSB5KGV4cGFuc2lvbilwIEZ0KC4pNDUgYihUaGUpMzIgYihleGNlcHRpb25zKWkodG8pZworKHRoaXMpZShhcmUpaCh0aGUpZyhleHBhbnNpb25zKWcob2YpZygkKXAgRnMoeylwIEZ0KCEpcAorRnEocHJlXDAxNHgqKTggYiBGcyh9KTMxIGIgRnQoYW5kKWkoJClwIEZzKHspcCBGdCghKXAKK0ZxKG5hbWUpNSBiIEZ0KFspcCBGcyhAKXAgRnQoXSlwIEZzKH0pMzMgYiBGdChkZS0pMTUwCisxMTAxIHkoc2NyaWIpcyhlZCloKGIpcyhlbG8pbSh3Lik1NiBiKFRoZSkzNSBiKGV4Y2xhbWF0aW9uKWoocClzKG9pbiltCisodClkKG0pbSh1c3QpZyhpbW1lZGlhdGVseSlpKGZvbGxvKW0odylnKHRoZSllKGxlZnQpaShicmFjZSllKGluKWcKKyhvcmRlcilnKHRvKTE1MCAxMjEwIHkoaW4pbSh0cm8pcyhkdWNlKTMwIGIoaW5kaXJlY3Rpb24uKTI3NQorMTM1NSB5KEluKTM5IGIoZWFjKW0oaClpKG9mKWcodGhlKWYoY2FzZXMpaChiKXMoZWxvKW0odywpaQorRnEodyltKG9yZCloIEZ0KGlzKWMoc3ViKTUgYihqZWN0KTQwIGIodG8paCh0aWxkZSlmKGV4cGFuc2lvbiwpagorKHBhcmFtZXRlcillKGV4cGFuc2lvbiwpMTUwIDE0NjUgeShjb21tYW5kKTMwIGIoc3Vic3RpdHV0aW9uLClnKGFuZClnCisoYXJpdGhtZXRpYylpKGV4cGFuc2lvbi4pMjc1IDE2MDkgeShXaGVuKWgobm90KWgocClzKGVyZm9ybWluZyllCiAoc3Vic3RyaW5nKWgoZXhwYW5zaW9uLCloKHVzaW5nKWYodGhlKWgoZm9ybSlmKGRlc2NyaWIpcyhlZClnKGIpcyhlbG8pbQotKHcsKWgoQmFzaClnKHRlc3RzKTE1MCAzNzAyIHkoZm9yKTQ0IGIoYSlpKHBhcmFtZXRlcilmKHRoYXQpZyhpcylnCisodywpaChCYXNoKWcodGVzdHMpMTUwIDE3MTkgeShmb3IpNDQgYihhKWkocGFyYW1ldGVyKWYodGhhdClnKGlzKWcKICh1bnNldClmKG9yKWgobiltKHVsbC4pODQgYihPbWl0dGluZyk0NSBiKHRoZSlnKGNvbG9uKWgocmVzdWx0cyllKGluKWcKLShhKWkodGVzdClmKG9ubHkpZyhmb3IpZyhhKTE1MCAzODExIHkocGFyYW1ldGVyKTM2IGIodGhhdClmKGlzKWcKKyhhKWkodGVzdClmKG9ubHkpZyhmb3IpZyhhKTE1MCAxODI4IHkocGFyYW1ldGVyKTM2IGIodGhhdClmKGlzKWcKICh1bnNldC4pNTUgYihQdXQpMzQgYihhbm90aGVyKWkodyltKGEpbSh5KS04IGIoLCkzOCBiKGlmKWQodGhlKWcoY29sb24pCiBoKGlzKWYoaW5jbHVkZWQsKWgodGhlKWYob3ApcyhlcmF0b3IpZyh0ZXN0cyloKGZvcikxNTAKLTM5MjEgeShiKXMob3RoKTIyIGIgRnEocGFyYW1ldGVyKTcgYiBGdCgncykyMiBiKGV4aXN0ZW5jZSlpKGFuZCllKHRoYXQpCisxOTM4IHkoYilzKG90aCkyMiBiIEZxKHBhcmFtZXRlcik3IGIgRnQoJ3MpMjIgYihleGlzdGVuY2UpaShhbmQpZSh0aGF0KQogaChpdHMpZyh2KS01IGIoYWx1ZSkyMyBiKGlzKWcobm90KWYobiltKHVsbDspayhpZiljKHRoZSloKGNvbG9uKWcoaXMpZwotKG9taXR0ZWQsKWkodGhlKWUob3ApcyhlcmF0b3IpMTUwIDQwMzEgeSh0ZXN0cykzMSBiKG9ubHkpZyhmb3IpZgotKGV4aXN0ZW5jZS4pMTUwIDQxNzUgeSBGcygkeylwIEZqKHBhcmFtZXRlcikxMSBiIEZzKDopcAotRnAoXDAwMClwIEZqKHdvcmQpZyBGcyh9KTYzMCA0Mjg0IHkgRnQoSWYpMzAgYiBGcShwYXJhbWV0ZXIpMzcKKyhvbWl0dGVkLClpKHRoZSllKG9wKXMoZXJhdG9yKTE1MCAyMDQ3IHkodGVzdHMpMzEgYihvbmx5KWcoZm9yKWYKKyhleGlzdGVuY2UuKTE1MCAyMjIyIHkgRnMoJHspcCBGaShwYXJhbWV0ZXIpMTEgYiBGcyg6KXAKK0ZwKFwwMDApcCBGaSh3b3JkKWcgRnMofSk2MzAgMjMzMSB5IEZ0KElmKTMwIGIgRnEocGFyYW1ldGVyKTM3CiBiIEZ0KGlzKTMwIGIodW5zZXQpZyhvciloKG4pbSh1bGwsKWYodGhlKWgoZXhwYW5zaW9uKWYob2YpZwogRnEodyltKG9yZClrIEZ0KGlzKWMoc3Vic3RpdHV0ZWQuKTQwIGIoT3RoZXJ3aXNlLCk2MzAKLTQzOTQgeSh0aGUpMzEgYih2KS01IGIoYWx1ZSkzMCBiKG9mKWggRnEocGFyYW1ldGVyKTM3Ci1iIEZ0KGlzKTMxIGIoc3Vic3RpdHV0ZWQuKTE1MCA0NTM4IHkgRnMoJHspcCBGaihwYXJhbWV0ZXIpMTEKLWIgRnMoOj0pcCBGaih3b3JkKWcgRnMofSk2MzAgNDY0OCB5IEZ0KElmKTMzIGIgRnEocGFyYW1ldGVyKTQwCi1iIEZ0KGlzKTMzIGIodW5zZXQpZihvciloKG4pbSh1bGwsKWgodGhlKWYoZXhwYW5zaW9uKWcob2YpZwotRnEodyltKG9yZClqIEZ0KGlzKWQoYXNzaWduZWQpZyh0byloIEZxKHBhcmFtZXRlcilwIEZ0KC4pNjMwCi00NzU3IHkoVGhlKWModiktNSBiKGFsdWUpMzIgYihvZilmIEZxKHBhcmFtZXRlcikzOCBiCi1GdChpcykzMSBiKHRoZW4pZyhzdWJzdGl0dXRlZC4pNDIgYihQKW0ob3NpdGlvbmFsKTMzCi1iKHBhcmFtZXRlcnMpZShhbmQpZihzcClzKGVjaWFsKTYzMCA0ODY3IHkocGFyYW1ldGVycyloKG1hKW0oeSlnKG5vdClmCisyNDQxIHkodGhlKTMxIGIodiktNSBiKGFsdWUpMzAgYihvZiloIEZxKHBhcmFtZXRlcikzNworYiBGdChpcykzMSBiKHN1YnN0aXR1dGVkLikxNTAgMjYxMCB5IEZzKCR7KXAgRmkocGFyYW1ldGVyKTExCitiIEZzKDo9KXAgRmkod29yZClnIEZzKH0pNjMwIDI3MjAgeSBGdChJZikzMiBiIEZxKHBhcmFtZXRlcik0MAorYiBGdChpcykzMiBiKHVuc2V0KWcob3IpaChuKW0odWxsLClnKHRoZSlmKGV4cGFuc2lvbiloKG9mKWYKK0ZxKHcpbShvcmQpayBGdChpcylkKGFzc2lnbmVkKWYodG8paSBGcShwYXJhbWV0ZXIpNyBiCitGdCguKTYzMCAyODI5IHkoVGhlKTMwIGIodiktNSBiKGFsdWUpMzIgYihvZilmIEZxKHBhcmFtZXRlcikzOAorYiBGdChpcykzMSBiKHRoZW4pZyhzdWJzdGl0dXRlZC4pNDIgYihQKW0ob3NpdGlvbmFsKTMzCitiKHBhcmFtZXRlcnMpZShhbmQpZihzcClzKGVjaWFsKTYzMCAyOTM5IHkocGFyYW1ldGVycyloKG1hKW0oeSlnKG5vdClmCiAoYilzKGUpZyhhc3NpZ25lZCloKHRvKWcoaW4pZih0aGlzKWcodyltKGEpbSh5KS04IGIoLikxNTAKLTUwMTEgeSBGcygkeylwIEZqKHBhcmFtZXRlcikxMSBiIEZzKDo/KXAgRmood29yZClnIEZzKH0pNjMwCi01MTIxIHkgRnQoSWYpMjYgYiBGcShwYXJhbWV0ZXIpMzMgYiBGdChpcykyNiBiKG4pbSh1bGwpZyhvcilnKHVuc2V0LCloCiszMTA4IHkgRnMoJHspcCBGaShwYXJhbWV0ZXIpMTEgYiBGcyg6PylwIEZpKHdvcmQpZyBGcyh9KTYzMAorMzIxOCB5IEZ0KElmKTI2IGIgRnEocGFyYW1ldGVyKTMzIGIgRnQoaXMpMjYgYihuKW0odWxsKWcob3IpZyh1bnNldCwpaAogKHRoZSlmKGV4cGFuc2lvbilnKG9mKWcgRnEodyltKG9yZClrIEZ0KFwob3IpYyhhKWgobWVzc2FnZSlnKHRvKWcodGhhdCkKLWYoZVwwMTNlY3QpNjMwIDUyMzAgeShpZilpIEZxKHcpbShvcmQpaiBGdChpcylkKG5vdClnKHByZXNlbiltKHRcKSloCitmKGVcMDEzZWN0KTYzMCAzMzI4IHkoaWYpaSBGcSh3KW0ob3JkKWogRnQoaXMpZChub3QpZyhwcmVzZW4pbSh0XCkpaAogKGlzKWYod3JpdHRlbilnKHRvKWgodGhlKWYoc3RhbmRhcmQpZihlcnJvciloKGFuZClmKHRoZSloKHNoZWxsLCloKGlmKWYKLShpdCloKGlzKWYobm90KTYzMCA1MzQwIHkoaW4pbSh0ZXJhY3RpdiltKGUsKTMzIGIoZXhpdHMuKTQyCisoaXQpaChpcylmKG5vdCk2MzAgMzQzNyB5KGluKW0odGVyYWN0aXYpbShlLCkzMyBiKGV4aXRzLik0MgogYihPdGhlcndpc2UsKTMwIGIodGhlKWgodiktNSBiKGFsdWUpMzEgYihvZilmIEZxKHBhcmFtZXRlcikzOAotYiBGdChpcykzMCBiKHN1YnN0aXR1dGVkLilwIGVvcCBlbmQKK2IgRnQoaXMpMzAgYihzdWJzdGl0dXRlZC4pMTUwIDM2MDYgeSBGcygkeylwIEZpKHBhcmFtZXRlcikxMQorYiBGcyg6KylwIEZpKHdvcmQpZyBGcyh9KTYzMCAzNzE2IHkgRnQoSWYpMzUgYiBGcShwYXJhbWV0ZXIpNDIKK2IgRnQoaXMpMzYgYihuKW0odWxsKWYob3IpaCh1bnNldCwpZyhub3RoaW5nKWcoaXMpZihzdWJzdGl0dXRlZCwpaQorKG90aGVyd2lzZSllKHRoZSloKGV4cGFuc2lvbik2MzAgMzgyNiB5KG9mKTMxIGIgRnEodyltKG9yZClpCitGdChpcyllKHN1YnN0aXR1dGVkLikxNTAgMzk5NSB5IEZzKCR7KXAgRmkocGFyYW1ldGVyKTExCitiIEZzKDopcCBGaShvZmZzZXQpZyBGcyh9KTE1MCA0MTA1IHkoJHspcCBGaShwYXJhbWV0ZXIpZworRnMoOilwIEZpKG9mZnNldClnIEZzKDopcCBGaShsZSlvKG5ndClvKGgpZyBGcyh9KTYzMAorNDIxNCB5IEZ0KEV4cGFuZHMpNDQgYih0bylpKHVwKWUodG8paSBGcShsZW5ndGgpZyBGdChjKW0oaGFyYWN0ZXJzKWgKKyhvZillIEZxKHBhcmFtZXRlcik1MyBiIEZ0KHN0YXJ0aW5nKTQ2IGIoYXQpZyh0aGUpZihjKW0oaGFyYWN0ZXIpNjMwCis0MzI0IHkoc3ApcyhlY2lcMDE0ZWQpMzAgYihiKW0oeSlnIEZxKG9cMDEzc2V0KXIgRnQoLik0MworYihJZikzMCBiIEZxKGxlbmd0aCloIEZ0KGlzKWcob21pdHRlZCwpZyhleHBhbmRzKWYodG8paCh0aGUpZworKHN1YnN0cmluZylmKG9mKWcgRnEocGFyYW1ldGVyKTYzMCA0NDMzIHkgRnQoc3RhcnRpbmcpMzgKK2IoYXQpZyh0aGUpZihjKW0oaGFyYWN0ZXIpaShzcClzKGVjaVwwMTRlZClkKGIpbSh5KWgKK0ZxKG9cMDEzc2V0KXIgRnQoLik2MiBiIEZxKGxlbmd0aCkzOCBiIEZ0KGFuZCllIEZxKG9cMDEzc2V0KWsKK0Z0KGFyZSllKGFyaXRobWV0aWMpNjMwIDQ1NDMgeShleHByZXNzaW9ucykzMCBiKFwoc2VlKWkoU2VjdGlvbilnKDYuNSlnCisoW1NoZWxsKWYoQXJpdGhtZXRpY10sKWgocGFnZSlnKDc4XCkuKTQzIGIoVGhpcykzMCBiKGlzKWgocmVmZXJyZWQpZgorKHRvKWkoYXMpNjMwIDQ2NTMgeShTdWJzdHJpbmcpZChFeHBhbnNpb24uKTYzMCA0NzkyIHkKK0ZxKGxlbmd0aClqIEZ0KG0pbSh1c3QpZihldiktNSBiKGFsdWF0ZSkzMyBiKHRvKWYoYSlnKG4pbSh1bSltKGIpcyhlcillCisoZ3JlYXRlcilpKHRoYW4pZihvcilnKGVxdWFsKWgodG8pZyh6ZXJvLik0NSBiKElmKTMwCitiIEZxKG9cMDEzc2V0KTM1IGIgRnQoZXYpLTUgYihhbC0pNjMwIDQ5MDIgeSh1YXRlcykzNgorYih0byloKGEpZihuKW0odW0pbShiKXMoZXIpZShsZXNzKWkodGhhbilmKHplcm8sKWoodGhlKWUodiktNQorYihhbHVlKTM2IGIoaXMpZyh1c2VkKWYoYXMpZyhhbiloKG9cMDEzc2V0KWgoZnJvbSllKHRoZSloKGVuZCk2MzAKKzUwMTEgeShvZiloKHRoZSlnKHYpLTUgYihhbHVlKTM4IGIob2YpZiBGcShwYXJhbWV0ZXIpNworYiBGdCguKTYxIGIoSWYpMzYgYiBGcShwYXJhbWV0ZXIpNDQgYiBGdChpcykzNyBiKGApcAorRnMoQClwIEZ0KCcsKWkodGhlKWYocmVzdWx0KWYoaXMpZyBGcShsZW5ndGgpZyBGdChwKXMob3NpdGlvbmFsKTYzMAorNTEyMSB5KHBhcmFtZXRlcnMpaShiKXMoZWdpbm5pbmcpZihhdClpIEZxKG9cMDEzc2V0KXIKK0Z0KC4pNjcgYihJZikzOSBiIEZxKHBhcmFtZXRlcik0NSBiIEZ0KGlzKTM5IGIoYW4pZyhpbmRleGVkKWcoYXJyYSltKHkpCitnKG5hbWUpZyhzdWItKTYzMCA1MjMwIHkoc2NyaXB0ZWQpMzQgYihiKW0oeSlnKGApcCBGcyhAKXAKK0Z0KCcpZyhvcilnKGApcCBGcygqKXAgRnQoJywpaCh0aGUpZihyZXN1bHQpZyhpcylnKHRoZSlnCitGcShsZW5ndGgpaCBGdChtZW0pbShiKXMoZXJzKWUob2YpaCh0aGUpZyhhcnJhKW0oeSloKGIpcyhlZ2lubmluZyk2MzAKKzUzNDAgeSh3aXRoKTI1IGIgRnMoJHspcCBGaShwYXJhbWV0ZXIpMTEgYiBGcyhbKXAgRmkob2Zmc2V0KWcKK0ZzKF19KXAgRnQoLikzMyBiKEEpMjUgYihuZWdhdGl2KW0oZSlqIEZxKG9cMDEzc2V0KWcKK0Z0KGlzKWUodGFrKW0oZW4pZyhyZWxhdGl2KW0oZSlpKHRvKWUob25lKWcoZ3JlYXRlcilwCitlb3AgZW5kCiAlJVBhZ2U6IDIxIDI3CiBUZVhEaWN0IGJlZ2luIDIxIDI2IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYigzOik0MQotYihCYXNpYykzMiBiKFNoZWxsKWUoRiktOCBiKGVhdHVyZXMpMjI0NiBiKDIxKTE1MCAyOTkKLXkgRnMoJHspcCBGaihwYXJhbWV0ZXIpMTEgYiBGcyg6KylwIEZqKHdvcmQpZyBGcyh9KTYzMAotNDA4IHkgRnQoSWYpMzUgYiBGcShwYXJhbWV0ZXIpNDIgYiBGdChpcykzNiBiKG4pbSh1bGwpZihvciloKHVuc2V0LClnCi0obm90aGluZylnKGlzKWYoc3Vic3RpdHV0ZWQsKWkob3RoZXJ3aXNlKWUodGhlKWgoZXhwYW5zaW9uKTYzMAotNTE4IHkob2YpMzEgYiBGcSh3KW0ob3JkKWkgRnQoaXMpZShzdWJzdGl0dXRlZC4pMTUwIDY2NAoteSBGcygkeylwIEZqKHBhcmFtZXRlcikxMSBiIEZzKDopcCBGaihvZmZzZXQpZyBGcyh9KTE1MAotNzc0IHkoJHspcCBGaihwYXJhbWV0ZXIpZyBGcyg6KXAgRmoob2Zmc2V0KWcgRnMoOilwIEZqKGxlKW8obmd0KW8oaClnCi1Gcyh9KTYzMCA4ODMgeSBGdChFeHBhbmRzKTQ0IGIodG8paSh1cCllKHRvKWkgRnEobGVuZ3RoKWcKLUZ0KGMpbShoYXJhY3RlcnMpaChvZillIEZxKHBhcmFtZXRlcik1MyBiIEZ0KHN0YXJ0aW5nKTQ2Ci1iKGF0KWcodGhlKWYoYyltKGhhcmFjdGVyKTYzMCA5OTMgeShzcClzKGVjaVwwMTRlZCkzMAotYihiKW0oeSloIEZxKG9cMDEzc2V0KXAgRnQoLik0MiBiKElmKTMxIGIgRnEobGVuZ3RoKWcKLUZ0KGlzKWcob21pdHRlZCwpaChleHBhbmRzKWUodG8paCh0aGUpZyhzdWJzdHJpbmcpZihvZilnCi1GcShwYXJhbWV0ZXIpNjMwIDExMDMgeSBGdChzdGFydGluZykzOCBiKGF0KWcodGhlKWYoYyltKGhhcmFjdGVyKWkoc3ApcwotKGVjaVwwMTRlZCllKGIpbSh5KWcgRnEob1wwMTNzZXQpcCBGdCguKTYyIGIgRnEobGVuZ3RoKTM4Ci1iIEZ0KGFuZClmIEZxKG9cMDEzc2V0KWogRnQoYXJlKWUoYXJpdGhtZXRpYyk2MzAgMTIxMgoteShleHByZXNzaW9ucykzMCBiKFwoc2VlKWkoU2VjdGlvbilnKDYuNSlnKFtTaGVsbClmKEFyaXRobWV0aWNdLCloCi0ocGFnZSlnKDc4XCkuKTQzIGIoVGhpcykzMCBiKGlzKWgocmVmZXJyZWQpZih0bylpKGFzKTYzMAotMTMyMiB5KFN1YnN0cmluZylkKEV4cGFuc2lvbi4pNjMwIDE0NTAgeSBGcShsZW5ndGgpagotRnQobSltKHVzdClmKGV2KS01IGIoYWx1YXRlKTMzIGIodG8pZihhKWcobiltKHVtKW0oYilzKGVyKWUoZ3JlYXRlcilpCi0odGhhbilmKG9yKWcoZXF1YWwpaCh0bylnKHplcm8uKTQ1IGIoSWYpMzAgYiBGcShvXDAxM3NldCkzNQotYiBGdChldiktNSBiKGFsLSk2MzAgMTU1OSB5KHVhdGVzKTM2IGIodG8paChhKWYobiltKHVtKW0oYilzKGVyKWUobGVzcykKLWkodGhhbilmKHplcm8sKWoodGhlKWUodiktNSBiKGFsdWUpMzYgYihpcylnKHVzZWQpZihhcylnKGFuKWgob1wwMTNzZXQpCi1oKGZyb20pZSh0aGUpaChlbmQpNjMwIDE2NjkgeShvZilpKHRoZSlmKHYpLTUgYihhbHVlKTM4Ci1iKG9mKWcgRnEocGFyYW1ldGVyKXAgRnQoLik2MiBiKElmKTM3IGIgRnEocGFyYW1ldGVyKTQ1Ci1iIEZ0KGlzKTM3IGIoYClwIEZzKEApcCBGdCgnLClqKHRoZSlkKHJlc3VsdCloKGlzKWYgRnEobGVuZ3RoKWgKLUZ0KHApcyhvc2l0aW9uYWwpNjMwIDE3NzggeShwYXJhbWV0ZXJzKWgoYilzKGVnaW5uaW5nKWcoYXQpZwotRnEob1wwMTNzZXQpcCBGdCguKTY4IGIoSWYpMzkgYiBGcShwYXJhbWV0ZXIpNDYgYiBGdChpcykzOQotYihhbilnKGluZGV4ZWQpZihhcnJhKW0oeSlpKG5hbWUpZihzdWItKTYzMCAxODg4IHkoc2NyaXB0ZWQpMzQKLWIoYiltKHkpZyhgKXAgRnMoQClwIEZ0KCcpZyhvcilnKGApcCBGcygqKXAgRnQoJywpaCh0aGUpZihyZXN1bHQpZyhpcylnCi0odGhlKWcgRnEobGVuZ3RoKWggRnQobWVtKW0oYilzKGVycyllKG9mKWgodGhlKWcoYXJyYSltKHkpaChiKXMKLShlZ2lubmluZyk2MzAgMTk5OCB5KHdpdGgpMjUgYiBGcygkeylwIEZqKHBhcmFtZXRlcikxMQotYiBGcyhbKXAgRmoob2Zmc2V0KWcgRnMoXX0pcCBGdCguKTMzIGIoQSkyNSBiKG5lZ2F0aXYpbShlKWoKLUZxKG9cMDEzc2V0KWcgRnQoaXMpZSh0YWspbShlbilnKHJlbGF0aXYpbShlKWkodG8pZShvbmUpZyhncmVhdGVyKTYzMAotMjEwNyB5KHRoYW4pZyh0aGUpaChtYXhpbSltKHVtKWYoaW5kZXgpZyhvZilnKHRoZSloKHNwKXMoZWNpXDAxNGVkKWYKK2IoQmFzaWMpMzIgYihTaGVsbCllKEYpLTggYihlYXR1cmVzKTIyNDYgYigyMSk2MzAgMjk5Cit5KHRoYW4pMjYgYih0aGUpaChtYXhpbSltKHVtKWYoaW5kZXgpZyhvZilnKHRoZSloKHNwKXMoZWNpXDAxNGVkKWYKIChhcnJhKW0oeSktOCBiKC4pNDAgYihTdWJzdHJpbmcpMjUgYihleHBhbnNpb24paChhcHBsaWVkKWcodG8pNjMwCi0yMjE3IHkoYW4payhhc3NvKXMoY2lhdGl2KW0oZSlqKGFycmEpbSh5KWUocHJvKXMoZHVjZXMpZSh1bmRlXDAxNG5lZClmCi0ocmVzdWx0cy4pNjMwIDIzNDUgeShOb3RlKTM3IGIodGhhdClmKGEpZyhuZWdhdGl2KW0oZSlpKG9cMDEzc2V0KWYobSltCis0MDggeShhbilrKGFzc28pcyhjaWF0aXYpbShlKWooYXJyYSltKHkpZShwcm8pcyhkdWNlcyllKHVuZGVcMDE0bmVkKWYKKyhyZXN1bHRzLik2MzAgNTQ4IHkoTm90ZSkzNyBiKHRoYXQpZihhKWcobmVnYXRpdiltKGUpaShvXDAxM3NldClmKG0pbQogKHVzdClmKGIpcyhlKWYoc2VwYXJhdGVkKWgoZnJvbSlmKHRoZSloKGNvbG9uKWgoYiltKHkpZShhdClpKGxlYXN0KWcKLShvbmUpNjMwIDI0NTQgeShzcGFjZSlnKHRvKWcoYSltKHYpbShvaWQpZyhiKXMoZWluZylmKGNvbmZ1c2VkKWYod2l0aCloCisob25lKTYzMCA2NTggeShzcGFjZSlnKHRvKWcoYSltKHYpbShvaWQpZyhiKXMoZWluZylmKGNvbmZ1c2VkKWYod2l0aCloCiAodGhlKWgoYClwIEZzKDotKXAgRnQoJylmKGV4cGFuc2lvbi4pNTcgYihTdWJzdHJpbmcpMzUKLWIoaW5kZXhpbmcpaChpcyk2MzAgMjU2NCB5KHplcm8tYmFzZWQpMjQgYih1bmxlc3MpZih0aGUpaChwKXMKLShvc2l0aW9uYWwpZyhwYXJhbWV0ZXJzKWcoYXJlKWcodXNlZCwpZyhpbilnKHdoaWMpbShoKWYoY2FzZSloKHRoZSlnCi0oaW5kZXhpbmcpNjMwIDI2NzMgeShzdGFydHMpMzAgYihhdClnKDEpZihiKW0oeSloKGRlZmF1bHQuKTQwCi1iKElmKTI5IGIgRnEob1wwMTNzZXQpaiBGdChpcyllKDAsKWcoYW5kKWYodGhlKWcocClzKG9zaXRpb25hbCloCi0ocGFyYW1ldGVycylnKGFyZSlnKHVzZWQsKWYgRnMoJEApNjMwIDI3ODMgeSBGdChpcyloKHByZVwwMTR4ZWQpZyh0byloCi0odGhlKWYobGlzdC4pMTUwIDI5MjkgeSBGcygkeyEpcCBGaihwcmVmaXgpMTEgYiBGcygqfSkxNTAKLTMwMzkgeSgkeyEpcCBGaihwcmVmaXgpZyBGcyhAfSk2MzAgMzE0OCB5IEZ0KEV4cGFuZHMpMjQKLWIodG8paCh0aGUpZyhuYW1lcylnKG9mKWcodiktNSBiKGFyaWFibGVzKTI2IGIod2hvc2UpZihuYW1lcylmKGIpcwotKGVnaW4paCh3aXRoKWYgRnEocHJlXDAxNHgpcCBGdCgsKWkoc2VwYXJhdGVkKWYoYiltKHkpNjMwCi0zMjU4IHkodGhlKWsoXDAxNHJzdClmKGMpbShoYXJhY3RlcilqKG9mKWUodGhlKWcgRnMoSUZTKWYKK2IoaW5kZXhpbmcpaChpcyk2MzAgNzY3IHkoemVyby1iYXNlZCkyNCBiKHVubGVzcylmKHRoZSloKHApcyhvc2l0aW9uYWwpCitnKHBhcmFtZXRlcnMpZyhhcmUpZyh1c2VkLClnKGluKWcod2hpYyltKGgpZihjYXNlKWgodGhlKWcoaW5kZXhpbmcpNjMwCis4NzcgeShzdGFydHMpMzAgYihhdClnKDEpZihiKW0oeSloKGRlZmF1bHQuKTQwIGIoSWYpMjkKK2IgRnEob1wwMTNzZXQpaiBGdChpcyllKDAsKWcoYW5kKWYodGhlKWcocClzKG9zaXRpb25hbCloKHBhcmFtZXRlcnMpZworKGFyZSlnKHVzZWQsKWYgRnMoJEApNjMwIDk4NiB5IEZ0KGlzKWgocHJlXDAxNHhlZClnKHRvKWgodGhlKWYobGlzdC4pCisxNTAgMTE1NiB5IEZzKCR7ISlwIEZpKHByZWZpeCkxMSBiIEZzKCp9KTE1MCAxMjY1IHkoJHshKXAKK0ZpKHByZWZpeClnIEZzKEB9KTYzMCAxMzc1IHkgRnQoRXhwYW5kcykyMyBiKHRvKWkodGhlKWcobmFtZXMpZihvZiloKHYpCistNSBiKGFyaWFibGVzKTI1IGIod2hvc2UpZihuYW1lcylnKGIpcyhlZ2luKWcod2l0aClnCitGcShwcmVcMDE0eCk2IGIgRnQoLCkyNSBiKHNlcGFyYXRlZClnKGIpbSh5KTYzMCAxNDg0Cit5KHRoZSlrKFwwMTRyc3QpZihjKW0oaGFyYWN0ZXIpaihvZillKHRoZSlnIEZzKElGUylmCiBGdChzcClzKGVjaWFsKWkodiktNSBiKGFyaWFibGUuKTQxIGIoV2hlbikyOSBiKGApcCBGcyhAKXAKLUZ0KCcpZyhpcylnKHVzZWQpZihhbmQpaCh0aGUpZyhleHBhbi0pNjMwIDMzNjcgeShzaW9uKTM1CitGdCgnKWcoaXMpZyh1c2VkKWYoYW5kKWgodGhlKWcoZXhwYW4tKTYzMCAxNTk0IHkoc2lvbikzNQogYihhcHApcyhlYXJzKWcod2l0aGluKWYoZG91YmxlKWgocXVvdGVzLClpKGVhYyltKGgpZih2KS01CiBiKGFyaWFibGUpMzYgYihuYW1lKWYoZXhwYW5kcylnKHRvKWcoYSloKHNlcGFyYXRlKTYzMAotMzQ3NyB5KHcpbShvcmQuKTE1MCAzNjIzIHkgRnMoJHshKXAgRmoobmFtZSkxMSBiIEZzKFtAXX0pMTUwCi0zNzMzIHkoJHshKXAgRmoobmFtZSlnIEZzKFsqXX0pNjMwIDM4NDIgeSBGdChJZikyNiBiCisxNzA0IHkodyltKG9yZC4pMTUwIDE4NzMgeSBGcygkeyEpcCBGaShuYW1lKTExIGIgRnMoW0BdfSkxNTAKKzE5ODMgeSgkeyEpcCBGaShuYW1lKWcgRnMoWypdfSk2MzAgMjA5MiB5IEZ0KElmKTI2IGIKIEZxKG5hbWUpMzIgYiBGdChpcykyNyBiKGFuKWYoYXJyYSltKHkpaCh2KS01IGIoYXJpYWJsZSwpMjkKIGIoZXhwYW5kcylkKHRvKWgodGhlKWcobGlzdClnKG9mKWcoYXJyYSltKHkpZyhpbmRpY2VzKWcoXChrKW0oZXlzXCkpaAotKGFzc2lnbmVkKTYzMCAzOTUyIHkoaW4pYyBGcShuYW1lKXAgRnQoLikzOSBiKElmKTI0IGIKLUZxKG5hbWUpMzAgYiBGdChpcykyNCBiKG5vdCloKGFuKWYoYXJyYSltKHkpLTggYigsKTI3Ci1iKGV4cGFuZHMpYyh0bylqKDApZihpZilmIEZxKG5hbWUpMzAgYiBGdChpcykyNCBiKHNldCloKGFuZClmKG4pbSh1bGwpZwotKG90aGVyd2lzZS4pNjMwIDQwNjEgeShXaGVuKTM5IGIoYClwIEZzKEApcCBGdCgnKWgoaXMpZih1c2VkKWcoYW5kKWYKKyhhc3NpZ25lZCk2MzAgMjIwMiB5KGluKWMgRnEobmFtZSk1IGIgRnQoLikzOSBiKElmKTIzCitiIEZxKG5hbWUpMzAgYiBGdChpcykyNCBiKG5vdClnKGFuKWcoYXJyYSltKHkpLTggYigsKTI3CitiKGV4cGFuZHMpYyh0bylpKDApZihpZiloIEZxKG5hbWUpayBGdChpcykyNCBiKHNldCloKGFuZCllKG4pbSh1bGwpaAorKG90aGVyd2lzZS4pNjMwIDIzMTEgeShXaGVuKTM5IGIoYClwIEZzKEApcCBGdCgnKWgoaXMpZih1c2VkKWcoYW5kKWYKICh0aGUpaShleHBhbnNpb24pZihhcHApcyhlYXJzKWcod2l0aGluKWYoZG91YmxlKWgocXVvdGVzLClrKGVhYyltKGgpZAotKGspbShleSk2MzAgNDE3MSB5KGV4cGFuZHMpMzAgYih0byloKGEpZihzZXBhcmF0ZSlpKHcpbShvcmQuKTE1MAotNDMxNyB5IEZzKCR7IylwIEZqKHBhcmFtZXRlcikxMSBiIEZzKH0pNjMwIDQ0MjcgeSBGdChUaGUpNDAKKyhrKW0oZXkpNjMwIDI0MjEgeShleHBhbmRzKTMwIGIodG8paChhKWYoc2VwYXJhdGUpaSh3KW0ob3JkLikxNTAKKzI1OTAgeSBGcygkeyMpcCBGaShwYXJhbWV0ZXIpMTEgYiBGcyh9KTYzMCAyNzAwIHkgRnQoVGhlKTQwCiBiKGxlbmd0aClnKGluKWcoYyltKGhhcmFjdGVycylpKG9mKWUodGhlKWgoZXhwYW5kZWQpZSh2KS01CiBiKGFsdWUpNDEgYihvZilmIEZxKHBhcmFtZXRlcik0NyBiIEZ0KGlzKTQwIGIoc3Vic3RpdHV0ZWQuKTYzMAotNDUzNiB5KElmKWkgRnEocGFyYW1ldGVyKTUwIGIgRnQoaXMpNDMgYihgKXAgRnMoKilwIEZ0KCcpZyhvcilnKGApcAorMjgwOSB5KElmKWkgRnEocGFyYW1ldGVyKTUwIGIgRnQoaXMpNDMgYihgKXAgRnMoKilwIEZ0KCcpZyhvcilnKGApcAogRnMoQClwIEZ0KCcsKWsodGhlKWModiktNSBiKGFsdWUpNDMgYihzdWJzdGl0dXRlZClmKGlzKWgodGhlKWcobiltKHVtKW0KLShiKXMoZXIpZihvZiloKHApcyhvc2l0aW9uYWwpNjMwIDQ2NDYgeShwYXJhbWV0ZXJzLilpKElmKTMyCisoYilzKGVyKWYob2YpaChwKXMob3NpdGlvbmFsKTYzMCAyOTE5IHkocGFyYW1ldGVycy4paShJZikzMgogYiBGcShwYXJhbWV0ZXIpMzggYiBGdChpcykzMiBiKGFuKWcoYXJyYSltKHkpZyhuYW1lKWcoc3Vic2NyaXB0ZWQpZihiKW0KICh5KWcoYClwIEZzKCopcCBGdCgnKWgob3IpZyhgKXAgRnMoQClwIEZ0KCcsKWcodGhlKWcodiktNQotYihhbHVlKTYzMCA0NzU1IHkoc3Vic3RpdHV0ZWQpMzAgYihpcylnKHRoZSloKG4pbSh1bSltKGIpcyhlcillKG9mKWgKLShlbGVtZW4pbSh0cylpKGluKWUodGhlKWgoYXJyYSltKHkpLTggYiguKTE1MCA0OTAyIHkKLUZzKCR7KXAgRmoocGFyYW1ldGVyKTExIGIgRnMoIylwIEZqKHdvcmQpZyBGcyh9KTE1MCA1MDExCi15KCR7KXAgRmoocGFyYW1ldGVyKWcgRnMoIyMpcCBGaih3b3JkKWcgRnMofSk2MzAgNTEyMQorYihhbHVlKTYzMCAzMDI5IHkoc3Vic3RpdHV0ZWQpMzAgYihpcylnKHRoZSloKG4pbSh1bSltKGIpcyhlcillKG9mKWgKKyhlbGVtZW4pbSh0cylpKGluKWUodGhlKWgoYXJyYSltKHkpLTggYiguKTE1MCAzMTk4IHkKK0ZzKCR7KXAgRmkocGFyYW1ldGVyKTExIGIgRnMoIylwIEZpKHdvcmQpZyBGcyh9KTE1MCAzMzA4Cit5KCR7KXAgRmkocGFyYW1ldGVyKWcgRnMoIyMpcCBGaSh3b3JkKWcgRnMofSk2MzAgMzQxNwogeSBGdChUaGUpMzEgYiBGcSh3KW0ob3JkKWsgRnQoaXMpZChleHBhbmRlZClmKHRvKWkocHJvKXMoZHVjZSllKGEpaAogKHBhdHRlcm4pZyhqdXN0KWYoYXMpaShpbillKFwwMTRsZW5hbWUpaChleHBhbnNpb24pZyhcKHNlZSk2MzAKLTUyMzAgeShTZWN0aW9uKWsoMy41LjgpaChbRmlsZW5hbWUpZyhFeHBhbnNpb25dLClnKHBhZ2UpZigyNFwpLik1NgorMzUyNyB5KFNlY3Rpb24paygzLjUuOCloKFtGaWxlbmFtZSlnKEV4cGFuc2lvbl0sKWcocGFnZSlmKDI0XCkuKTU2CiBiKElmKTM1IGIodGhlKWgocGF0dGVybilmKG1hdGMpbShoZXMpaSh0aGUpZShiKXMoZS0pNjMwCi01MzQwIHkoZ2lubmluZykyOCBiKG9mKWcodGhlKWgoZXhwYW5kZWQpZSh2KS01IGIoYWx1ZSkyOQotYihvZilmIEZxKHBhcmFtZXRlcilwIEZ0KCwpaCh0aGVuKWYodGhlKWcocmVzdWx0KWcob2YpaCh0aGUpZgotKGV4cGFuc2lvbilnKGlzKXAgZW9wIGVuZAotJSVQYWdlOiAyMiAyOAotVGVYRGljdCBiZWdpbiAyMiAyNyBib3AgMTUwIC0xMTYgYSBGdCgyMikyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5KHRoZSkzNiBiKGV4cGFuZGVkKWYodiktNQotYihhbHVlKTM2IGIob2YpZyBGcShwYXJhbWV0ZXIpNDMgYiBGdCh3aXRoKTM1IGIodGhlKWgoc2hvcnRlc3QpZyhtYXRjKW0KLShoaW5nKWgocGF0dGVybilmKFwodGhlKWcoYClwIEZzKCMpcCBGdCgnKTYzMCA0MDggeShjYXNlXCkpMjYKLWIob3IpZih0aGUpZyhsb25nZXN0KWcobWF0YyltKGhpbmcpaChwYXR0ZXJuKWYoXCh0aGUpZyhgKXAKLUZzKCMjKXAgRnQoJylnKGNhc2VcKSloKGRlbGV0ZWQuKTM5IGIoSWYpMjQgYiBGcShwYXJhbWV0ZXIpMzIKLWIgRnQoaXMpMjUgYihgKXAgRnMoQClwIEZ0KCcpNjMwIDUxOCB5KG9yKWooYClwIEZzKCopcAorMzYzNiB5KGdpbm5pbmcpZyhvZilnKHRoZSlnKGV4cGFuZGVkKWYodiktNSBiKGFsdWUpMzYKK2Iob2YpZiBGcShwYXJhbWV0ZXIpNyBiIEZ0KCwpMzYgYih0aGVuKWYodGhlKWcocmVzdWx0KWcob2YpZyh0aGUpZworKGV4cGFuc2lvbik2MzAgMzc0NiB5KGlzKTI4IGIodGhlKWcoZXhwYW5kZWQpZSh2KS01IGIoYWx1ZSkyOAorYihvZilnIEZxKHBhcmFtZXRlcikzNSBiIEZ0KHdpdGgpMjcgYih0aGUpaChzaG9ydGVzdClnKG1hdGMpbShoaW5nKWgKKyhwYXR0ZXJuKWYoXCh0aGUpZyhgKXAgRnMoIylwIEZ0KCcpNjMwIDM4NTYgeShjYXNlXCkpZShvcilmKHRoZSlnCisobG9uZ2VzdClnKG1hdGMpbShoaW5nKWgocGF0dGVybilmKFwodGhlKWcoYClwIEZzKCMjKXAKK0Z0KCcpZyhjYXNlXCkpaChkZWxldGVkLikzOSBiKElmKTI0IGIgRnEocGFyYW1ldGVyKTMyCitiIEZ0KGlzKTI1IGIoYClwIEZzKEApcCBGdCgnKTYzMCAzOTY1IHkob3IpaihgKXAgRnMoKilwCiBGdCgnLClpKHRoZSllKHBhdHRlcm4paChyZW1vKW0odiktNSBiKGFsKTI5IGIob3ApcyhlcmF0aW9uKWcoaXMpZgogKGFwcGxpZWQpaCh0bylnKGVhYyltKGgpZyhwKXMob3NpdGlvbmFsKWcocGFyYW1ldGVyKWcoaW4pNjMwCi02MjggeSh0dXJuLClpKGFuZClnKHRoZSloKGV4cGFuc2lvbilnKGlzKWcodGhlKWcocmVzdWx0YW4pbSh0KWcobGlzdC4pCis0MDc1IHkodHVybiwpaShhbmQpZyh0aGUpaChleHBhbnNpb24pZyhpcylnKHRoZSlnKHJlc3VsdGFuKW0odClnKGxpc3QuKQogNDUgYihJZikzMiBiIEZxKHBhcmFtZXRlcikzOCBiIEZ0KGlzKTMyIGIoYW4pZyhhcnJhKW0oeSlnKHYpLTUKLWIoYXJpYWJsZSk2MzAgNzM3IHkoc3Vic2NyaXB0ZWQpMzkgYih3aXRoKWcoYClwIEZzKEApcAorYihhcmlhYmxlKTYzMCA0MTg0IHkoc3Vic2NyaXB0ZWQpMzkgYih3aXRoKWcoYClwIEZzKEApcAogRnQoJyloKG9yKWcoYClwIEZzKCopcCBGdCgnLClqKHRoZSlkKHBhdHRlcm4paChyZW1vKW0odiktNQogYihhbCk0MSBiKG9wKXMoZXJhdGlvbilmKGlzKWcoYXBwbGllZClnKHRvKWgoZWFjKW0oaCk2MzAKLTg0NyB5KG1lbSltKGIpcyhlcikzMCBiKG9mKWcodGhlKWgoYXJyYSltKHkpZyhpbilmKHR1cm4sKWYoYW5kKWgodGhlKWgKLShleHBhbnNpb24pZihpcylnKHRoZSloKHJlc3VsdGFuKW0odClnKGxpc3QuKTE1MCA5OTMKLXkgRnMoJHspcCBGaihwYXJhbWV0ZXIpMTEgYiBGcyhcMDQ1KXAgRmood29yZClnIEZzKH0pMTUwCi0xMTAzIHkoJHspcCBGaihwYXJhbWV0ZXIpZyBGcyhcMDQ1XDA0NSlwIEZqKHdvcmQpZyBGcyh9KTYzMAotMTIxMiB5IEZ0KFRoZSkzNSBiIEZxKHcpbShvcmQpayBGdChpcyljKGV4cGFuZGVkKWcodG8paChwcm8pcyhkdWNlKWUoYSkKKzQyOTQgeShtZW0pbShiKXMoZXIpMzAgYihvZilnKHRoZSloKGFycmEpbSh5KWcoaW4pZih0dXJuLClmKGFuZCloKHRoZSloCisoZXhwYW5zaW9uKWYoaXMpZyh0aGUpaChyZXN1bHRhbiltKHQpZyhsaXN0LikxNTAgNDQ2MworeSBGcygkeylwIEZpKHBhcmFtZXRlcikxMSBiIEZzKFwwNDUpcCBGaSh3b3JkKWcgRnMofSkxNTAKKzQ1NzMgeSgkeylwIEZpKHBhcmFtZXRlcilnIEZzKFwwNDVcMDQ1KXAgRmkod29yZClnIEZzKH0pNjMwCis0NjgyIHkgRnQoVGhlKTM1IGIgRnEodyltKG9yZClrIEZ0KGlzKWMoZXhwYW5kZWQpZyh0byloKHBybylzKGR1Y2UpZShhKQogaShwYXR0ZXJuKWYoanVzdClnKGFzKWgoaW4pZihcMDE0bGVuYW1lKWgoZXhwYW5zaW9uLik1NQotYihJZik2MzAgMTMyMiB5KHRoZSk0MyBiKHBhdHRlcm4pZyhtYXRjKW0oaGVzKWgoYSlnKHRyYWlsaW5nKWcocClzCi0ob3J0aW9uKWUob2YpaCh0aGUpZyhleHBhbmRlZClnKHYpLTUgYihhbHVlKTQzIGIob2YpZwotRnEocGFyYW1ldGVyKXAgRnQoLCk2MzAgMTQzMSB5KHRoZW4pYyh0aGUpZyhyZXN1bHQpZyhvZiloKHRoZSlmCitiKElmKTYzMCA0NzkyIHkodGhlKTQzIGIocGF0dGVybilmKG1hdGMpbShoZXMpaShhKWUodHJhaWxpbmcpaShwKXMKKyhvcnRpb24pZShvZilnKHRoZSloKGV4cGFuZGVkKWUodiktNSBiKGFsdWUpNDMgYihvZilnCitGcShwYXJhbWV0ZXIpNyBiIEZ0KCwpNjMwIDQ5MDIgeSh0aGVuKTM5IGIodGhlKWcocmVzdWx0KWcob2YpaCh0aGUpZgogKGV4cGFuc2lvbilnKGlzKWgodGhlKWYodiktNSBiKGFsdWUpNDAgYihvZilmIEZxKHBhcmFtZXRlcik0NgotYiBGdCh3aXRoKTM5IGIodGhlKWgoc2hvcnRlc3QpNjMwIDE1NDEgeShtYXRjKW0oaGluZykzMQorYiBGdCh3aXRoKTM5IGIodGhlKWgoc2hvcnRlc3QpNjMwIDUwMTEgeShtYXRjKW0oaGluZykzMQogYihwYXR0ZXJuKWUoXCh0aGUpaChgKXAgRnMoXDA0NSlwIEZ0KCcpZyhjYXNlXCkpaChvcillKHRoZSloKGxvbmdlc3QpaAogKG1hdGMpbShoaW5nKWYocGF0dGVybilnKFwodGhlKWcoYClwIEZzKFwwNDVcMDQ1KXAgRnQoJylnKGNhc2VcKSk2MzAKLTE2NTAgeShkZWxldGVkLik0OSBiKElmKTMyIGIgRnEocGFyYW1ldGVyKTQwIGIgRnQoaXMpMzMKKzUxMjEgeShkZWxldGVkLik0OSBiKElmKTMyIGIgRnEocGFyYW1ldGVyKTQwIGIgRnQoaXMpMzMKIGIoYClwIEZzKEApcCBGdCgnKWcob3IpZyhgKXAgRnMoKilwIEZ0KCcsKWgodGhlKWYocGF0dGVybilnKHJlbW8pbSh2KS01Ci1iKGFsKTM0IGIob3ApcyhlcmF0aW9uKWcoaXMpZihhcHBsaWVkKWYodG8pNjMwIDE3NjAgeShlYWMpbShoKTM4CitiKGFsKTM0IGIob3ApcyhlcmF0aW9uKWcoaXMpZihhcHBsaWVkKWYodG8pNjMwIDUyMzAgeShlYWMpbShoKTM4CiBiKHApcyhvc2l0aW9uYWwpZyhwYXJhbWV0ZXIpZyhpbilmKHR1cm4sKWgoYW5kKWUodGhlKWgoZXhwYW5zaW9uKWcoaXMpaAotKHRoZSlmKHJlc3VsdGFuKW0odCloKGxpc3QuKTYxIGIoSWYpNjMwIDE4NzAgeSBGcShwYXJhbWV0ZXIpMzgKKyh0aGUpZihyZXN1bHRhbiltKHQpaChsaXN0Lik2MSBiKElmKTYzMCA1MzQwIHkgRnEocGFyYW1ldGVyKTM4CiBiIEZ0KGlzKTMyIGIoYW4pZihhcnJhKW0oeSloKHYpLTUgYihhcmlhYmxlKTMyIGIoc3Vic2NyaXB0ZWQpZSh3aXRoKWgKIChgKXAgRnMoQClwIEZ0KCcpZyhvciloKGApcCBGcygqKXAgRnQoJywpZyh0aGUpZihwYXR0ZXJuKWgocmVtbyltKHYpLTUKLWIoYWwpNjMwIDE5NzkgeShvcClzKGVyYXRpb24pMzAgYihpcylnKGFwcGxpZWQpZih0bylpKGVhYyltKGgpZyhtZW0pbQotKGIpcyhlcillKG9mKWgodGhlKWcoYXJyYSltKHkpZyhpbilmKHR1cm4sKWcoYW5kKWcodGhlKWgoZXhwYW5zaW9uKWcKLShpcyk2MzAgMjA4OSB5KHRoZSloKHJlc3VsdGFuKW0odClnKGxpc3QuKTE1MCAyMjM1IHkKLUZzKCR7KXAgRmoocGFyYW1ldGVyKTExIGIgRnMoLylwIEZqKHBhdHRlcm4pZyBGcygvKXAKLUZqKHMpbyh0cmkpbyhuZylmIEZzKH0pNjMwIDIzNDUgeSBGdChUaGUpMzcgYiBGcShwYXR0ZXJuKWcKK2IoYWwpcCBlb3AgZW5kCislJVBhZ2U6IDIyIDI4CitUZVhEaWN0IGJlZ2luIDIyIDI3IGJvcCAxNTAgLTExNiBhIEZ0KDIyKTI1NzIgYihCYXNoKTMxCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkob3ApcyhlcmF0aW9uKWYoaXMpZyhhcHBsaWVkKWYodG8paQorKGVhYyltKGgpZyhtZW0pbShiKXMoZXIpZShvZiloKHRoZSlnKGFycmEpbSh5KWcoaW4pZih0dXJuLClnKGFuZClnKHRoZSkKK2goZXhwYW5zaW9uKWcoaXMpNjMwIDQwOCB5KHRoZSloKHJlc3VsdGFuKW0odClnKGxpc3QuKTE1MAorNTc5IHkgRnMoJHspcCBGaShwYXJhbWV0ZXIpMTEgYiBGcygvKXAgRmkocGF0dGVybilnIEZzKC8pcAorRmkocylvKHRyaSlvKG5nKWYgRnMofSk2MzAgNjg4IHkgRnQoVGhlKTM3IGIgRnEocGF0dGVybilnCiBGdChpcylnKGV4cGFuZGVkKWcodG8paChwcm8pcyhkdWNlKWUoYSloKHBhdHRlcm4pZyhqdXN0KWcoYXMpaChpbillCi0oXDAxNGxlbmFtZSlpKGV4cGFuc2lvbi4pNjMwIDI0NTQgeSBGcShQKW0oYXJhbWV0ZXIpNDYKKyhcMDE0bGVuYW1lKWkoZXhwYW5zaW9uLik2MzAgNzk4IHkgRnEoUCltKGFyYW1ldGVyKTQ2CiBiIEZ0KGlzKTM4IGIoZXhwYW5kZWQpZihhbmQpZyh0aGUpaShsb25nZXN0KWcobWF0YyltKGgpZyhvZilmCiBGcShwYXR0ZXJuKWcgRnQoYWdhaW5zdCloKGl0cylmKHYpLTUgYihhbHVlKTM5IGIoaXMpNjMwCi0yNTY0IHkocmVwbGFjZWQpMzQgYih3aXRoKWUgRnEoc3RyaW5nKXAgRnQoLik0OSBiKElmKTMzCi1iIEZxKHBhdHRlcm4pZyBGdChiKXMoZWdpbnMpZyh3aXRoKWYoYClwIEZzKC8pcCBGdCgnLClqKGFsbClmKG1hdGMpbQotKGhlcylnKG9mKWYgRnEocGF0dGVybilnIEZ0KGFyZSloKHJlLSk2MzAgMjY3MyB5KHBsYWNlZCkyOAotYih3aXRoKWYgRnEoc3RyaW5nKXAgRnQoLik0MCBiKE5vcm1hbGx5KTI4IGIob25seSlmKHRoZSloKFwwMTRyc3QpZQotKG1hdGMpbShoKWooaXMpZShyZXBsYWNlZC4pNDAgYihJZikyNyBiIEZxKHBhdHRlcm4pZwotRnQoYilzKGVnaW5zKTYzMCAyNzgzIHkod2l0aCkzNCBiKGApcCBGcygjKXAgRnQoJywpaChpdClnKG0pbSh1c3QpZgotKG1hdGMpbShoKWgoYXQpZih0aGUpaChiKXMoZWdpbm5pbmcpZShvZiloKHRoZSlnKGV4cGFuZGVkKWYodiktNQotYihhbHVlKTM1IGIob2YpZiBGcShwYXJhbWV0ZXIpcCBGdCguKTYzMCAyODkyIHkoSWYpZwotRnEocGF0dGVybilnIEZ0KGIpcyhlZ2lucylnKHdpdGgpZyhgKXAgRnMoXDA0NSlwIEZ0KCcsKWgoaXQpZyhtKW0odXN0KWYKLShtYXRjKW0oaCloKGF0KWcodGhlKWYoZW5kKWcob2YpZyh0aGUpaChleHBhbmRlZCllKHYpLTUKLWIoYWx1ZSkzNSBiKG9mKTYzMCAzMDAyIHkgRnEocGFyYW1ldGVyKXAgRnQoLik0MSBiKElmKTI5Ci1iIEZxKHN0cmluZykzNyBiIEZ0KGlzKTI5IGIobiltKHVsbCwpaChtYXRjKW0oaGVzKWgob2YpZQotRnEocGF0dGVybiloIEZ0KGFyZSlnKGRlbGV0ZWQpZyhhbmQpZih0aGUpZyBGcygvKWcgRnQoZm9sbG8pbSh3aW5nKTYzMAotMzExMiB5IEZxKHBhdHRlcm4pMzQgYiBGdChtYSltKHkpZyhiKXMoZSlmKG9taXR0ZWQuKTUxCis5MDggeShyZXBsYWNlZCkzMyBiKHdpdGgpZiBGcShzdHJpbmcpOCBiIEZ0KC4pNDcgYihJZikzMworYiBGcShwYXR0ZXJuKWYgRnQoYilzKGVnaW5zKWcod2l0aCloKGApcCBGcygvKXAgRnQoJywpZyhhbGwpaChtYXRjKW0KKyhoZXMpZihvZilnIEZxKHBhdHRlcm4pZyBGdChhcmUpZyhyZS0pNjMwIDEwMTcgeShwbGFjZWQpMjcKK2Iod2l0aClmIEZxKHN0cmluZyk4IGIgRnQoLik0MCBiKE5vcm1hbGx5KTI3IGIob25seSlnKHRoZSlnKFwwMTRyc3QpZgorKG1hdGMpbShoKWgoaXMpZyhyZXBsYWNlZC4pNDAgYihJZikyNiBiIEZxKHBhdHRlcm4pZworRnQoYilzKGVnaW5zKTYzMCAxMTI3IHkod2l0aCkzMyBiKGApcCBGcygjKXAgRnQoJywpaShpdClmKG0pbSh1c3QpZgorKG1hdGMpbShoKWkoYXQpZih0aGUpZyhiKXMoZWdpbm5pbmcpZihvZilnKHRoZSloKGV4cGFuZGVkKWYodiktNQorYihhbHVlKTM0IGIob2YpZyBGcShwYXJhbWV0ZXIpNyBiIEZ0KC4pNjMwIDEyMzYgeShJZikzNAorYiBGcShwYXR0ZXJuKWcgRnQoYilzKGVnaW5zKWcod2l0aClnKGApcCBGcyhcMDQ1KXAgRnQoJywpaChpdClnKG0pbQorKHVzdClmKG1hdGMpbShoKWgoYXQpZyh0aGUpZihlbmQpZyhvZilnKHRoZSloKGV4cGFuZGVkKWUodiktNQorYihhbHVlKTM1IGIob2YpNjMwIDEzNDYgeSBGcShwYXJhbWV0ZXIpNyBiIEZ0KC4pNDAgYihJZikyOQorYiBGcShzdHJpbmcpMzYgYiBGdChpcykyOSBiKG4pbSh1bGwsKWgobWF0YyltKGhlcylnKG9mKWYKK0ZxKHBhdHRlcm4pZyBGdChhcmUpZyhkZWxldGVkKWgoYW5kKWUodGhlKWggRnMoLylmIEZ0KGZvbGxvKW0od2luZyk2MzAKKzE0NTUgeSBGcShwYXR0ZXJuKTM0IGIgRnQobWEpbSh5KWcoYilzKGUpZihvbWl0dGVkLik1MQogYihJZikzMyBiIEZxKHBhcmFtZXRlcik0MSBiIEZ0KGlzKTMzIGIoYClwIEZzKEApcCBGdCgnKWgob3IpZyhgKXAKIEZzKCopcCBGdCgnLClnKHRoZSlnKHN1YnN0aXR1dGlvbilmKG9wKXMoZXJhdGlvbik2MzAKLTMyMjEgeShpcykzOCBiKGFwcGxpZWQpZyh0bylnKGVhYyltKGgpaChwKXMob3NpdGlvbmFsKWcocGFyYW1ldGVyKWYoaW4pCisxNTY1IHkoaXMpMzggYihhcHBsaWVkKWcodG8pZyhlYWMpbShoKWgocClzKG9zaXRpb25hbClnKHBhcmFtZXRlcilmKGluKQogZyh0dXJuLCloKGFuZCllKHRoZSloKGV4cGFuc2lvbilnKGlzKWcodGhlKWcocmUtKTYzMAotMzMzMSB5KHN1bHRhbiltKHQpZihsaXN0Lik1OSBiKElmKTM2IGIgRnEocGFyYW1ldGVyKTQzCisxNjc1IHkoc3VsdGFuKW0odClmKGxpc3QuKTU5IGIoSWYpMzYgYiBGcShwYXJhbWV0ZXIpNDMKIGIgRnQoaXMpMzYgYihhbilnKGFycmEpbSh5KWgodiktNSBiKGFyaWFibGUpMzcgYihzdWJzY3JpcHRlZCllKHdpdGgpaAotKGApcCBGcyhAKXAgRnQoJylnKG9yKWgoYClwIEZzKCopcCBGdCgnLCloKHRoZSk2MzAgMzQ0MAorKGApcCBGcyhAKXAgRnQoJylnKG9yKWgoYClwIEZzKCopcCBGdCgnLCloKHRoZSk2MzAgMTc4NAogeShzdWJzdGl0dXRpb24pMzAgYihvcClzKGVyYXRpb24paChpcylmKGFwcGxpZWQpZyh0byloKGVhYyltKGgpZyhtZW0pbQogKGIpcyhlcilmKG9mKWcodGhlKWgoYXJyYSltKHkpZyhpbilmKHR1cm4sKWYoYW5kKWgodGhlKTYzMAotMzU1MCB5KGV4cGFuc2lvbilnKGlzKWgodGhlKWYocmVzdWx0YW4pbSh0KWgobGlzdC4pMTUwCi0zNjk2IHkgRnMoJHspcCBGaihwYXJhbWV0ZXIpMTEgYiBGcyheKXAgRmoocGF0dGVybilnCi1Gcyh9KTE1MCAzODA2IHkoJHspcCBGaihwYXJhbWV0ZXIpZyBGcyheXilwIEZqKHBhdHRlcm4pZwotRnMofSkxNTAgMzkxNSB5KCR7KXAgRmoocGFyYW1ldGVyKXAgRnMoLClwIEZqKHBhdHRlcm4pZwotRnMofSkxNTAgNDAyNSB5KCR7KXAgRmoocGFyYW1ldGVyKXAgRnMoLCwpcCBGaihwYXR0ZXJuKWcKLUZzKH0pNjMwIDQxMzQgeSBGdChUaGlzKTM2IGIoZXhwYW5zaW9uKWcobW8pcyhkaVwwMTRlcylnKHRoZSlnKGNhc2UpaQotKG9mKWYoYWxwaGFiKXMoZXRpYylnKGMpbShoYXJhY3RlcnMpaChpbillIEZxKHBhcmFtZXRlcilwCi1GdCguKTU5IGIoVGhlKTYzMCA0MjQ0IHkgRnEocGF0dGVybikzMSBiIEZ0KGlzKWcoZXhwYW5kZWQpZih0byloKHBybylzCi0oZHVjZSlmKGEpaChwYXR0ZXJuKWcoanVzdClmKGFzKWgoaW4pZyhwYXRobmFtZSlnKGV4cGFuc2lvbi4pNDEKLWIoVGhlKTYzMCA0MzU0IHkoYClwIEZzKF4pcCBGdCgnKTM2IGIob3ApcyhlcmF0b3IpZyhjb24pbSh2KW0oZXJ0cyloCisxODk0IHkoZXhwYW5zaW9uKWcoaXMpaCh0aGUpZihyZXN1bHRhbiltKHQpaChsaXN0LikxNTAKKzIwNjQgeSBGcygkeylwIEZpKHBhcmFtZXRlcikxMSBiIEZzKF4pcCBGaShwYXR0ZXJuKWcKK0ZzKH0pMTUwIDIxNzQgeSgkeylwIEZpKHBhcmFtZXRlcilnIEZzKF5eKXAgRmkocGF0dGVybilnCitGcyh9KTE1MCAyMjgzIHkoJHspcCBGaShwYXJhbWV0ZXIpZyBGcygsKXAgRmkocGF0dGVybilnCitGcyh9KTE1MCAyMzkzIHkoJHspcCBGaShwYXJhbWV0ZXIpZyBGcygsLClwIEZpKHBhdHRlcm4pZworRnMofSk2MzAgMjUwMiB5IEZ0KFRoaXMpMzUgYihleHBhbnNpb24paChtbylzKGRpXDAxNGVzKWYodGhlKWgoY2FzZSloCisob2YpZihhbHBoYWIpcyhldGljKWgoYyltKGhhcmFjdGVycylnKGluKWYgRnEocGFyYW1ldGVyKTcKK2IgRnQoLik1NyBiKFRoZSk2MzAgMjYxMiB5IEZxKHBhdHRlcm4pMzYgYiBGdChpcylmKGV4cGFuZGVkKWcodG8paChwcm8pCitzKGR1Y2UpZShhKWkocGF0dGVybilnKGp1c3QpZihhcyloKGluKWYoXDAxNGxlbmFtZSlnKGV4cGFuc2lvbi4pNTYKK2IoVGhlKTYzMCAyNzIyIHkoYClwIEZzKF4pcCBGdCgnKTM2IGIob3ApcyhlcmF0b3IpZyhjb24pbSh2KW0oZXJ0cyloCiAobG8pbSh3KW0oZXJjYXNlKWgobGV0dGVycylmKG1hdGMpbShoaW5nKWcgRnEocGF0dGVybilmCi1GdCh0bylnKHVwcClzKGVyY2FzZTspaSh0aGUpZShgKXAgRnMoLClwIEZ0KCcpNjMwIDQ0NjMKK0Z0KHRvKWcodXBwKXMoZXJjYXNlOylpKHRoZSllKGApcCBGcygsKXAgRnQoJyk2MzAgMjgzMQogeShvcClzKGVyYXRvcilnKGNvbiltKHYpbShlcnRzKWkobWF0YyltKGhpbmcpZih1cHApcyhlcmNhc2UpZShsZXR0ZXJzKWkKICh0bylnKGxvKW0odyltKGVyY2FzZS4pNTkgYihUaGUpMzYgYihgKXAgRnMoXl4pcCBGdCgnKWcoYW5kKWYoYClwCi1GcygsLClwIEZ0KCcpNjMwIDQ1NzMgeShleHBhbnNpb25zKWMoY29uKW0odiltKGVydClpKGVhYyltKGgpZyhtYXRjKW0KK0ZzKCwsKXAgRnQoJyk2MzAgMjk0MSB5KGV4cGFuc2lvbnMpYyhjb24pbSh2KW0oZXJ0KWkoZWFjKW0oaClnKG1hdGMpbQogKGhlZClmKGMpbShoYXJhY3RlciloKGluKWUodGhlKWgoZXhwYW5kZWQpZih2KS01IGIoYWx1ZTspMzIKLWIodGhlKWcoYClwIEZzKF4pcCBGdCgnKWcoYW5kKTYzMCA0NjgyIHkoYClwIEZzKCwpcCBGdCgnKTI0CitiKHRoZSlnKGApcCBGcyheKXAgRnQoJylnKGFuZCk2MzAgMzA1MCB5KGApcCBGcygsKXAgRnQoJykyNAogYihleHBhbnNpb25zKWYobWF0YyltKGgpaShhbmQpZShjb24pbSh2KW0oZXJ0KWoob25seSlkKHRoZSloKFwwMTRyc3QpZgogKGMpbShoYXJhY3RlcilqKGluKWQodGhlKWgoZXhwYW5kZWQpZih2KS01IGIoYWx1ZS4pNjMwCi00NzkyIHkoSWYpMzEgYiBGcShwYXR0ZXJuKWcgRnQoaXMpZyhvbWl0dGVkLClpKGl0KWYoaXMpZih0cmVhdGVkKWgobGlrKQorMzE2MCB5KElmKTMxIGIgRnEocGF0dGVybilnIEZ0KGlzKWcob21pdHRlZCwpaShpdClmKGlzKWYodHJlYXRlZCloKGxpaykKIG0oZSloKGEpZShgKXAgRnMoPylwIEZ0KCcsKWgod2hpYyltKGgpZihtYXRjKW0oaGVzKWkoZXYpbShlcnkpZihjKW0KLShoYXJhY3Rlci4pNDQgYihJZik2MzAgNDkwMiB5IEZxKHBhcmFtZXRlcikzNyBiIEZ0KGlzKTMxCisoaGFyYWN0ZXIuKTQ0IGIoSWYpNjMwIDMyNzAgeSBGcShwYXJhbWV0ZXIpMzcgYiBGdChpcykzMQogYihgKXAgRnMoQClwIEZ0KCcpZihvciloKGApcCBGcygqKXAgRnQoJywpZih0aGUpaChjYXNlKWcobW8pcwogKGRpXDAxNGNhdGlvbilnKG9wKXMoZXJhdGlvbilnKGlzKWYoYXBwbGllZClnKHRvKWkoZWFjKW0oaClmKHApcyhvc2ktKQotNjMwIDUwMTEgeSh0aW9uYWwpMjYgYihwYXJhbWV0ZXIpZShpbiloKHR1cm4sKWYoYW5kKWcodGhlKWgoZXhwYW5zaW9uKWYKKzYzMCAzMzc5IHkodGlvbmFsKTI2IGIocGFyYW1ldGVyKWUoaW4paCh0dXJuLClmKGFuZClnKHRoZSloKGV4cGFuc2lvbilmCiAoaXMpZyh0aGUpaChyZXN1bHRhbiltKHQpZyhsaXN0Lik0MCBiKElmKTIzIGIgRnEocGFyYW1ldGVyKTMyCi1iIEZ0KGlzKTYzMCA1MTIxIHkoYW4pZShhcnJhKW0oeSlnKHYpLTUgYihhcmlhYmxlKTMxCitiIEZ0KGlzKTYzMCAzNDg5IHkoYW4pZShhcnJhKW0oeSlnKHYpLTUgYihhcmlhYmxlKTMxCiBiKHN1YnNjcmlwdGVkKWQod2l0aClpKGApcCBGcyhAKXAgRnQoJylnKG9yKWYoYClwIEZzKCopcAogRnQoJywpaSh0aGUpZihjYXNlKWcobW8pcyhkaVwwMTRjYXRpb24paChvcClzKGVyYXRpb24pZihpcyk2MzAKLTUyMzAgeShhcHBsaWVkKWQodG8pZyhlYWMpbShoKWgobWVtKW0oYilzKGVyKWUob2YpaCh0aGUpZyhhcnJhKW0oeSlnCiszNTk4IHkoYXBwbGllZClkKHRvKWcoZWFjKW0oaCloKG1lbSltKGIpcyhlcillKG9mKWgodGhlKWcoYXJyYSltKHkpZwogKGluKWcodHVybiwpZyhhbmQpZih0aGUpaChleHBhbnNpb24pZihpcyloKHRoZSlnKHJlc3VsdGFuKW0odCk2MzAKLTUzNDAgeShsaXN0LilwIGVvcCBlbmQKKzM3MDggeShsaXN0LikxNTAgMzkxOCB5IEZqKDMuNS40KTYzIGIoQ29tbWFuZCk0MSBiKFN1YnN0aXR1dGlvbikxNTAKKzQwNjUgeSBGdChDb21tYW5kKWYoc3Vic3RpdHV0aW9uKWgoYWxsbyltKHdzKWkodGhlKWUob3V0cHV0KWcob2YpaChhKWYKKyhjb21tYW5kKWcodG8paChyZXBsYWNlKWcodGhlKWcoY29tbWFuZClmKGl0c2VsZi4pMTUwCis0MTc1IHkoQ29tbWFuZCkyOSBiKHN1YnN0aXR1dGlvbiloKG8pcyhjY3VycyloKHdoZW4pZShhKWkoY29tbWFuZClmKGlzKQorZyhlbmNsb3NlZCloKGFzKWcoZm9sbG8pbSh3czopMzkwIDQzMjAgeSBGcygkXCgpcCBGaShjb21tYW5kKTExCitiIEZzKFwpKTE1MCA0NDY1IHkgRnQob3IpMzkwIDQ2MTEgeSBGcyhgKXAgRmkoY29tbWFuZClnCitGcyhgKTE1MCA0NzU2IHkgRnQoQmFzaCk0NSBiKHApcyhlcmZvcm1zKWYodGhlKWgoZXhwYW5zaW9uKWYoYiltKHkpaAorKGV4ZWN1dGluZylpIEZxKGNvbW1hbmQpaCBGdChhbmQpYyhyZXBsYWNpbmcpaSh0aGUpZihjb21tYW5kKWcoc3ViLSkxNTAKKzQ4NjYgeShzdGl0dXRpb24pYyh3aXRoKWYodGhlKWcoc3RhbmRhcmQpZyhvdXRwdXQpZyhvZilnKHRoZSlnCisoY29tbWFuZCwpaih3aXRoKWQoYW4pbSh5KWgodHJhaWxpbmcpZyhuZXdsaW5lcylmKGRlbGV0ZWQuKTE1MAorNDk3NSB5KEVtKW0oYilzKGVkZGVkKTMwIGIobmV3bGluZXMpaChhcmUpaChub3QpZihkZWxldGVkLClpKGJ1dCllCisodGhleSlnKG1hKW0oeSloKGIpcyhlKWYocmVtbyltKHYpbShlZClpKGR1cmluZylkKHcpbShvcmQpaChzcGxpdHRpbmcuKQorNDQgYihUaGUpMTUwIDUwODUgeShjb21tYW5kKTIxIGIoc3Vic3RpdHV0aW9uKWcgRnMoJFwoY2F0KTI5CitiIEZpKGZpbGUpMTEgYiBGcyhcKSkyMCBiIEZ0KGNhbilpKGIpcyhlKWYocmVwbGFjZWQpZyhiKW0oeSloKHRoZSlnCisoZXF1aXYpLTUgYihhbGVuKW0odCkyMiBiKGJ1dClmKGZhc3RlciloIEZzKCRcKDwpMzAgYgorRmkoZmlsZSkxMSBiIEZzKFwpKXAgRnQoLikyNzUgNTIzMCB5KFdoZW4pMzMgYih0aGUpaShvbGQtc3QpbSh5bGUpaAorKGJhYyltKGtxdW90ZSlmKGZvcm0pZihvZilnKHN1YnN0aXR1dGlvbilnKGlzKWcodXNlZCwpaChiYWMpbShrc2xhc2gpZgorKHJldGFpbnMpaChpdHMpZihsaXRlcmFsKTE1MCA1MzQwIHkobWVhbmluZylrKGV4Y2VwdCloKHdoZW4pZShmb2xsbyltCisodyltKGVkKWooYiltKHkpZShgKXAgRnMoJClwIEZ0KCcsKWooYClwIEZzKGApcCBGdCgnLClmKG9yKWUoYClwCitGcyhcXClwIEZ0KCcuKTY0IGIoVGhlKTM4IGIoXDAxNHJzdClmKGJhYyltKGtxdW90ZSlqKG5vdCllKHByZWNlZGVkKWcKKyhiKW0oeSlnKGEpcCBlb3AgZW5kCiAlJVBhZ2U6IDIzIDI5CiBUZVhEaWN0IGJlZ2luIDIzIDI4IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYigzOik0MQogYihCYXNpYykzMiBiKFNoZWxsKWUoRiktOCBiKGVhdHVyZXMpMjI0NiBiKDIzKTE1MCAyOTkKLXkgRmsoMy41LjQpNjMgYihDb21tYW5kKTQxIGIoU3Vic3RpdHV0aW9uKTI3NSA1NDMgeSBGdChDb21tYW5kKTI5Ci1iKHN1YnN0aXR1dGlvbilpKGFsbG8pbSh3cyloKHRoZSlmKG91dHB1dClnKG9mKWcoYSlnKGNvbW1hbmQpZyh0bylnCi0ocmVwbGFjZSloKHRoZSlmKGNvbW1hbmQpZyhpdHNlbGYuKTE1MCA2NTMgeShDb21tYW5kKWUoc3Vic3RpdHV0aW9uKWgKLShvKXMoY2N1cnMpaCh3aGVuKWUoYSlpKGNvbW1hbmQpZihpcylnKGVuY2xvc2VkKWgoYXMpZyhmb2xsbyltKHdzOikzOTAKLTc4OCB5IEZzKCRcKClwIEZqKGNvbW1hbmQpMTEgYiBGcyhcKSkxNTAgOTIyIHkgRnQob3IpMzkwCi0xMDU3IHkgRnMoYClwIEZqKGNvbW1hbmQpZyBGcyhgKTE1MCAxMTkyIHkgRnQoQmFzaCk0NQotYihwKXMoZXJmb3JtcylmKHRoZSloKGV4cGFuc2lvbilmKGIpbSh5KWgoZXhlY3V0aW5nKWkKLUZxKGNvbW1hbmQpaCBGdChhbmQpYyhyZXBsYWNpbmcpaSh0aGUpZihjb21tYW5kKWcoc3ViLSkxNTAKLTEzMDEgeShzdGl0dXRpb24pYyh3aXRoKWYodGhlKWcoc3RhbmRhcmQpZyhvdXRwdXQpZyhvZilnKHRoZSlnCi0oY29tbWFuZCwpaih3aXRoKWQoYW4pbSh5KWgodHJhaWxpbmcpZyhuZXdsaW5lcylmKGRlbGV0ZWQuKTE1MAotMTQxMSB5KEVtKW0oYilzKGVkZGVkKTMwIGIobmV3bGluZXMpaChhcmUpaChub3QpZihkZWxldGVkLClpKGJ1dCllCi0odGhleSlnKG1hKW0oeSloKGIpcyhlKWYocmVtbyltKHYpbShlZClpKGR1cmluZylkKHcpbShvcmQpaChzcGxpdHRpbmcuKQotNDQgYihUaGUpMTUwIDE1MjAgeShjb21tYW5kKTIxIGIoc3Vic3RpdHV0aW9uKWcgRnMoJFwoY2F0KTI5Ci1iIEZqKGZpbGUpMTEgYiBGcyhcKSkyMCBiIEZ0KGNhbilpKGIpcyhlKWYocmVwbGFjZWQpZyhiKW0oeSloKHRoZSlnCi0oZXF1aXYpLTUgYihhbGVuKW0odCkyMiBiKGJ1dClmKGZhc3RlciloIEZzKCRcKDwpMzAgYgotRmooZmlsZSkxMSBiIEZzKFwpKXAgRnQoLikyNzUgMTY1NSB5KFdoZW4pMzMgYih0aGUpaShvbGQtc3QpbSh5bGUpaAotKGJhYyltKGtxdW90ZSlmKGZvcm0pZihvZilnKHN1YnN0aXR1dGlvbilnKGlzKWcodXNlZCwpaChiYWMpbShrc2xhc2gpZgotKHJldGFpbnMpaChpdHMpZihsaXRlcmFsKTE1MCAxNzY1IHkobWVhbmluZylrKGV4Y2VwdCloKHdoZW4pZShmb2xsbyltCi0odyltKGVkKWooYiltKHkpZShgKXAgRnMoJClwIEZ0KCcsKWooYClwIEZzKGApcCBGdCgnLClmKG9yKWUoYClwCi1GcyhcXClwIEZ0KCcuKTY0IGIoVGhlKTM4IGIoXDAxNHJzdClmKGJhYyltKGtxdW90ZSlqKG5vdCllKHByZWNlZGVkKWcKLShiKW0oeSlnKGEpMTUwIDE4NzQgeShiYWMpbShrc2xhc2gpaih0ZXJtaW5hdGVzKWcodGhlKWYoY29tbWFuZClnCi0oc3Vic3RpdHV0aW9uLik2OSBiKFdoZW4pNDAgYih1c2luZylnKHRoZSlnIEZzKCRcKClwCi1Gaihjb21tYW5kKTExIGIgRnMoXCkpMzcgYiBGdChmb3JtLCk0MiBiKGFsbCkxNTAgMTk4NAoteShjKW0oaGFyYWN0ZXJzKTMyIGIoYilzKGV0KW0odyltKGVlbilmKHRoZSlmKHBhcmVuKW0odGhlc2VzKWgobWFrKW0oZSkKLWcodXApZih0aGUpZyhjb21tYW5kOyloKG5vbmUpZihhcmUpaCh0cmVhdGVkKWcoc3ApcyhlY2lhbGx5KS04Ci1iKC4pMjc1IDIxMTkgeShDb21tYW5kKTIyIGIoc3Vic3RpdHV0aW9ucylnKG1hKW0oeSlpKGIpcyhlKWUobmVzdGVkLikzOQotYihUKS04IGIobykyMyBiKG5lc3QpZyh3aGVuKWYodXNpbmcpaCh0aGUpZyhiYWMpbShrcXVvdGVkKWgoZm9ybSwpZwotKGVzY2FwKXMoZSkxNTAgMjIyOCB5KHRoZSkzMSBiKGlubmVyKWUoYmFjKW0oa3F1b3RlcylqKHdpdGgpZShiYWMpbQotKGtzbGFzaGVzLikyNzUgMjM2MyB5KElmKWUodGhlKWkoc3Vic3RpdHV0aW9uKWUoYXBwKXMoZWFycyloKHdpdGhpbilnCi0oZG91YmxlKWYocXVvdGVzLClpKHcpbShvcmQpZihzcGxpdHRpbmcpaChhbmQpZihcMDE0bGVuYW1lKWcoZXhwYW5zaW9uKQotMTUwIDI0NzMgeShhcmUpaShub3QpZihwKXMoZXJmb3JtZWQpZihvbiloKHRoZSloKHJlc3VsdHMuKTE1MAotMjY5NyB5IEZrKDMuNS41KTYzIGIoQXJpdGhtZXRpYyk0MCBiKEV4cGFuc2lvbikyNzUgMjk0MgoteSBGdChBcml0aG1ldGljKTMzIGIoZXhwYW5zaW9uKWYoYWxsbyltKHdzKWkodGhlKWUoZXYpLTUKLWIoYWx1YXRpb24pMzQgYihvZilmKGFuKWYoYXJpdGhtZXRpYylpKGV4cHJlc3Npb24pZShhbmQpZyh0aGUpZwotKHN1YnN0aS0pMTUwIDMwNTEgeSh0dXRpb24pZihvZilmKHRoZSloKHJlc3VsdC4pNDAgYihUaGUpMzAKLWIoZm9ybWF0KWgoZm9yKWYoYXJpdGhtZXRpYylpKGV4cGFuc2lvbillKGlzOikzOTAgMzE4NgoteSBGcygkXChcKCk0NyBiIEZqKGV4cHJlc3Npb24pNTUgYiBGcyhcKVwpKTI3NSAzMzIxIHkKK3koYmFjKW0oa3NsYXNoKTQxIGIodGVybWluYXRlcylnKHRoZSlmKGNvbW1hbmQpZyhzdWJzdGl0dXRpb24uKTY5CitiKFdoZW4pNDAgYih1c2luZylnKHRoZSlnIEZzKCRcKClwIEZpKGNvbW1hbmQpMTEgYiBGcyhcKSkzNworYiBGdChmb3JtLCk0MiBiKGFsbCkxNTAgNDA4IHkoYyltKGhhcmFjdGVycykzMiBiKGIpcyhldCltKHcpbShlZW4pZgorKHRoZSlmKHBhcmVuKW0odGhlc2VzKWgobWFrKW0oZSlnKHVwKWYodGhlKWcoY29tbWFuZDspaChub25lKWYoYXJlKWgKKyh0cmVhdGVkKWcoc3ApcyhlY2lhbGx5KS04IGIoLikyNzUgNTQzIHkoQ29tbWFuZCkyMiBiKHN1YnN0aXR1dGlvbnMpZworKG1hKW0oeSlpKGIpcyhlKWUobmVzdGVkLikzOSBiKFQpLTggYihvKTIzIGIobmVzdClnKHdoZW4pZih1c2luZyloKHRoZSkKK2coYmFjKW0oa3F1b3RlZCloKGZvcm0sKWcoZXNjYXApcyhlKTE1MCA2NTMgeSh0aGUpMzEKK2IoaW5uZXIpZShiYWMpbShrcXVvdGVzKWood2l0aCllKGJhYyltKGtzbGFzaGVzLikyNzUKKzc4NyB5KElmKWUodGhlKWkoc3Vic3RpdHV0aW9uKWUoYXBwKXMoZWFycyloKHdpdGhpbilnKGRvdWJsZSlmKHF1b3RlcywpCitpKHcpbShvcmQpZihzcGxpdHRpbmcpaChhbmQpZihcMDE0bGVuYW1lKWcoZXhwYW5zaW9uKTE1MAorODk3IHkoYXJlKWkobm90KWYocClzKGVyZm9ybWVkKWYob24paCh0aGUpaChyZXN1bHRzLikxNTAKKzEwOTYgeSBGaigzLjUuNSk2MyBiKEFyaXRobWV0aWMpNDAgYihFeHBhbnNpb24pMTUwIDEyNDMKK3kgRnQoQXJpdGhtZXRpYykyNSBiKGV4cGFuc2lvbilnKGFsbG8pbSh3cylnKHRoZSlnKGV2KS01CitiKGFsdWF0aW9uKTI2IGIob2YpZihhbilmKGFyaXRobWV0aWMpaShleHByZXNzaW9uKWUoYW5kKWcodGhlKWcKKyhzdWJzdGl0dXRpb24pMTUwIDEzNTMgeShvZikzMSBiKHRoZSlmKHJlc3VsdC4pNDEgYihUaGUpMzAKK2IoZm9ybWF0KWcoZm9yKWcoYXJpdGhtZXRpYylpKGV4cGFuc2lvbillKGlzOikzOTAgMTQ4OAoreSBGcygkXChcKCk0NyBiIEZpKGV4cHJlc3Npb24pNTUgYiBGcyhcKVwpKTI3NSAxNjIyIHkKIEZ0KFRoZSkzMyBiKGV4cHJlc3Npb24pZyhpcyloKHRyZWF0ZWQpZyhhcylnKGlmKWcoaXQpZyh3KW0oZXJlKWcKICh3aXRoaW4pZihkb3VibGUpaChxdW90ZXMsKWgoYnV0KWUoYSloKGRvdWJsZSlmKHF1b3RlKWgoaW5zaWRlKTE1MAotMzQzMCB5KHRoZSkyNyBiKHBhcmVuKW0odGhlc2VzKWcoaXMpZyhub3QpZyh0cmVhdGVkKWgoc3ApcyhlY2lhbGx5KS04CisxNzMyIHkodGhlKTI3IGIocGFyZW4pbSh0aGVzZXMpZyhpcylnKG5vdClnKHRyZWF0ZWQpaChzcClzKGVjaWFsbHkpLTgKIGIoLik0MSBiKEFsbCkyNyBiKHRvayltKGVucyloKGluKWUodGhlKWgoZXhwcmVzc2lvbilnKHVuZGVyZ28pZgotKHBhcmFtZXRlciloKGV4LSkxNTAgMzU0MCB5KHBhbnNpb24sKWgoY29tbWFuZClmKHN1YnN0aXR1dGlvbiwpaChhbmQpZgorKHBhcmFtZXRlciloKGV4LSkxNTAgMTg0MSB5KHBhbnNpb24sKWgoY29tbWFuZClmKHN1YnN0aXR1dGlvbiwpaChhbmQpZgogKHF1b3RlKWkocmVtbyltKHYpLTUgYihhbC4pNDEgYihBcml0aG1ldGljKTI4IGIoZXhwYW5zaW9ucylnKG1hKW0oeSlnCi0oYilzKGUpZihuZXN0ZWQuKTI3NSAzNjc1IHkoVGhlKTM0IGIoZXYpLTUgYihhbHVhdGlvbikzNworKGIpcyhlKWYobmVzdGVkLikyNzUgMTk3NiB5KFRoZSkzNCBiKGV2KS01IGIoYWx1YXRpb24pMzcKIGIoaXMpZihwKXMoZXJmb3JtZWQpZShhY2NvcmRpbmcpaSh0bylnKHRoZSlnKHJ1bGVzKWYobGlzdGVkKWgoYilzKGVsbyltCi0odylnKFwoc2VlKWcoU2VjdGlvbilnKDYuNSloKFtTaGVsbCkxNTAgMzc4NCB5KEFyaXRobWV0aWNdLCkzMgorKHcpZyhcKHNlZSlnKFNlY3Rpb24pZyg2LjUpaChbU2hlbGwpMTUwIDIwODYgeShBcml0aG1ldGljXSwpMzIKIGIocGFnZSlmKDc4XCkuKTQyIGIoSWYpMzAgYih0aGUpaChleHByZXNzaW9uKWYoaXMpZyhpbiltKHYpLTUKIGIoYWxpZCwpMzIgYihCYXNoKWUocHJpbiltKHRzKWcoYSloKG1lc3NhZ2UpZyhpbmRpY2F0aW5nKWgoZmFpbHVyZSkxNTAKLTM4OTQgeSh0bylmKHRoZSlnKHN0YW5kYXJkKWUoZXJyb3IpaChhbmQpZyhubylnKHN1YnN0aXR1dGlvbilnKG8pcwotKGNjdXJzLikxNTAgNDExOCB5IEZrKDMuNS42KTYzIGIoUHJvKXMoY2Vzcyk0MiBiKFN1YnN0aXR1dGlvbikyNzUKLTQzNjMgeSBGdChQcm8pcyhjZXNzKTMzIGIoc3Vic3RpdHV0aW9uKWgoaXMpZyhzdXBwKXMob3J0ZWQpZShvbiloCi0oc3lzdGVtcyloKHRoYXQpaChzdXBwKXMob3J0KWQobmFtZWQpaChwaXApcyhlcylnKFwoKXAKLUZsKGZpZiluKG8pcCBGdChzXCkpaChvcilnKHRoZSkxNTAgNDQ3MiB5KGApcCBGcygvZGV2L2ZkKXAKLUZ0KCcpMjkgYihtZXRobylzKGQpaChvZilnKG5hbWluZylnKG9wKXMoZW4pZyhcMDE0bGVzLik0MQotYihJdCkzMCBiKHRhayltKGVzKWkodGhlKWYoZm9ybSlmKG9mKTM5MCA0NjA3IHkgRnMoPFwoKXAKLUZqKGxpc3QpMTEgYiBGcyhcKSkxNTAgNDc0MiB5IEZ0KG9yKTM5MCA0ODc2IHkgRnMoPlwoKXAKLUZqKGxpc3QpZyBGcyhcKSkxNTAgNTAxMSB5IEZ0KFRoZSkyMyBiKHBybylzKGNlc3MpZyBGcShsaXN0KWoKLUZ0KGlzKWQocnVuKWYod2l0aCloKGl0cyloKGlucHV0KWYob3IpZyhvdXRwdXQpZyhjb25uZWN0ZWQpaCh0byloKGEpZQotRmwoZmlmKW4obylnIEZ0KG9yKWgoc29tZSlnKFwwMTRsZSlmKGluKWcoYClwIEZzKC9kZXYvZmQpcAotRnQoJy4pMTUwIDUxMjEgeShUaGUpMjggYihuYW1lKWgob2YpZyh0aGlzKWYoXDAxNGxlKWgoaXMpZyhwYXNzZWQpZihhcykKLWgoYW4pZihhcmd1bWVuKW0odCloKHRvKWgodGhlKWYoY3VycmVuKW0odClmKGNvbW1hbmQpaChhcylmKHRoZSloCi0ocmVzdWx0KWcob2YpZyh0aGUpMTUwIDUyMzAgeShleHBhbnNpb24uKTQwIGIoSWYpMjggYih0aGUpaAotRnMoPlwoKXAgRmoobGlzdCkxMSBiIEZzKFwpKTI2IGIgRnQoZm9ybSlpKGlzKWgodXNlZCwpZih3cml0aW5nKWgodG8pZwotKHRoZSlnKFwwMTRsZSlmKHdpbGwpaChwcm8pbSh2aWRlKWcoaW5wdXQpZihmb3IpZyBGcShsaXN0KXAKLUZ0KC4pNDEgYihJZikyOCBiKHRoZSkxNTAgNTM0MCB5IEZzKDxcKClwIEZqKGxpc3QpMTEKKzIxOTUgeSh0bylmKHRoZSlnKHN0YW5kYXJkKWUoZXJyb3IpaChhbmQpZyhubylnKHN1YnN0aXR1dGlvbilnKG8pcworKGNjdXJzLikxNTAgMjM5NSB5IEZqKDMuNS42KTYzIGIoUHJvKXMoY2Vzcyk0MiBiKFN1YnN0aXR1dGlvbikxNTAKKzI1NDIgeSBGdChQcm8pcyhjZXNzKWkoc3Vic3RpdHV0aW9uKWcoaXMpZyhzdXBwKXMob3J0ZWQpZihvbiloKHN5c3RlbXMpCitnKHRoYXQpaChzdXBwKXMob3J0KWQobmFtZWQpaShwaXApcyhlcylmKFwoKXAgRmwoZmlmKW4obylwCitGdChzXCkpaShvcilmKHRoZSkxNTAgMjY1MSB5KGApcCBGcygvZGV2L2ZkKXAgRnQoJykyOQorYihtZXRobylzKGQpaChvZilnKG5hbWluZylnKG9wKXMoZW4pZyhcMDE0bGVzLik0MSBiKEl0KTMwCitiKHRhayltKGVzKWkodGhlKWYoZm9ybSlmKG9mKTM5MCAyNzg2IHkgRnMoPFwoKXAgRmkobGlzdCkxMQorYiBGcyhcKSkxNTAgMjkyMSB5IEZ0KG9yKTM5MCAzMDU1IHkgRnMoPlwoKXAgRmkobGlzdClnCitGcyhcKSkxNTAgMzE5MCB5IEZ0KFRoZSkyMyBiKHBybylzKGNlc3MpZyBGcShsaXN0KWogRnQoaXMpZChydW4pZih3aXRoKQoraChpdHMpaChpbnB1dClmKG9yKWcob3V0cHV0KWcoY29ubmVjdGVkKWgodG8paChhKWUgRmwoZmlmKW4obylnCitGdChvciloKHNvbWUpZyhcMDE0bGUpZihpbilnKGApcCBGcygvZGV2L2ZkKXAgRnQoJy4pMTUwCiszMzAwIHkoVGhlKTI4IGIobmFtZSloKG9mKWcodGhpcylmKFwwMTRsZSloKGlzKWcocGFzc2VkKWYoYXMpaChhbilmCisoYXJndW1lbiltKHQpaCh0byloKHRoZSlmKGN1cnJlbiltKHQpZihjb21tYW5kKWgoYXMpZih0aGUpaChyZXN1bHQpZworKG9mKWcodGhlKTE1MCAzNDA5IHkoZXhwYW5zaW9uLik0MCBiKElmKTI4IGIodGhlKWggRnMoPlwoKXAKK0ZpKGxpc3QpMTEgYiBGcyhcKSkyNiBiIEZ0KGZvcm0paChpcylpKHVzZWQsKWYod3JpdGluZyloKHRvKWcodGhlKWYKKyhcMDE0bGUpaCh3aWxsKWcocHJvKW0odmlkZSlmKGlucHV0KWcoZm9yKWcgRnEobGlzdClyCitGdCguKTQxIGIoSWYpMjggYih0aGUpMTUwIDM1MTkgeSBGcyg8XCgpcCBGaShsaXN0KTExCiBiIEZzKFwpKTIzIGIgRnQoZm9ybSloKGlzKWkodXNlZCwpZih0aGUpaChcMDE0bGUpZihwYXNzZWQpZyhhcylnKGFuKWcKIChhcmd1bWVuKW0odCloKHNob3VsZCllKGIpcyhlKWgocmVhZClnKHRvKWgob2J0YWluKWcodGhlKWYob3V0cHV0KWcob2YpCi1wIGVvcCBlbmQKKzE1MCAzNjI4IHkgRnEobGlzdClyIEZ0KC4pNDEgYihOb3RlKTMxIGIodGhhdClmKG5vKWYoc3BhY2UpaChtYSltKHkpZworKGFwcClzKGVhcilmKGIpcyhldCltKHcpbShlZW4paCh0aGUpZyBGcyg8KWYgRnQob3IpaAorRnMoPilmIEZ0KGFuZClnKHRoZSlnKGxlZnQpaChwYXJlbiltKHRoZXNpcywpaChvdGhlcndpc2UpMTUwCiszNzM4IHkodGhlKWcoY29uc3RydWN0KWYodyltKG91bGQpZyhiKXMoZSlnKGluKW0odGVycHJldGVkKWgoYXMpZihhKWgKKyhyZWRpcmVjdGlvbi4pMjc1IDM4NzMgeShXaGVuKTM2IGIoYSltKHYpLTUgYihhaWxhYmxlLCk0MAorYihwcm8pcyhjZXNzKWMoc3Vic3RpdHV0aW9uKWgoaXMpZihwKXMoZXJmb3JtZWQpZihzaW0pbSh1bHRhbmVvdXNseSlpCisod2l0aClnKHBhcmFtZXRlcilnKGFuZCkxNTAgMzk4MiB5KHYpLTUgYihhcmlhYmxlKTMxCitiKGV4cGFuc2lvbiwpZyhjb21tYW5kKWYoc3Vic3RpdHV0aW9uLClnKGFuZClnKGFyaXRobWV0aWMpaShleHBhbnNpb24uKQorMTUwIDQxODIgeSBGaigzLjUuNyk2MyBiKFcpLTEwIGIob3JkKTQxIGIoU3BsaXR0aW5nKTE1MAorNDMyOSB5IEZ0KFRoZSkzMCBiKHNoZWxsKWgoc2NhbnMpZyh0aGUpZyhyZXN1bHRzKWYob2YpaChwYXJhbWV0ZXIpZworKGV4cGFuc2lvbiwpZyhjb21tYW5kKWcoc3Vic3RpdHV0aW9uLClnKGFuZClmKGFyaXRobWV0aWMpMTUwCis0NDM4IHkoZXhwYW5zaW9uKWcodGhhdCloKGRpZClmKG5vdClnKG8pcyhjY3VyKWgod2l0aGluKWUoZG91YmxlKWgKKyhxdW90ZXMpaChmb3IpZih3KW0ob3JkKWcoc3BsaXR0aW5nLikyNzUgNDU3MyB5KFRoZSk0MworYihzaGVsbCloKHRyZWF0cyloKGVhYyltKGgpaChjKW0oaGFyYWN0ZXIpZihvZilnIEZzKCRJRlMpZQorRnQoYXMpaChhKWcoZGVsaW1pdGVyLCk0OSBiKGFuZCk0MyBiKHNwbGl0cyloKHRoZSloKHJlc3VsdHMpZShvZilpKHRoZSkKKzE1MCA0NjgyIHkob3RoZXIpNDAgYihleHBhbnNpb25zKWYoaW4pbSh0bylpKHcpbShvcmRzKWUob24paCh0aGVzZSlnKGMpCittKGhhcmFjdGVycy4pNzAgYihJZikzOSBiIEZzKElGUylnIEZ0KGlzKWgodW5zZXQsKWkob3IpZChpdHMpaCh2KS01CitiKGFsdWUpNDAgYihpcylnKGV4YWN0bHkpMTUwIDQ3OTIgeSBGcyg8c3BhY2U+PHRhYj48bmV3bGluZT4pcAorRnQoLCkyNiBiKHRoZSkzMiBiKGRlZmF1bHQsKWcodGhlbilmKHNlcXVlbmNlcyloKG9mKTYyCitiIEZzKDxzcGFjZT4pcCBGdCgsKTMwIGIgRnMoPHRhYj4pcCBGdCgsKWgoYW5kKWYgRnMoPG5ld2xpbmU+KTE1MAorNDkwMiB5IEZ0KGF0KTM5IGIodGhlKWYoYilzKGVnaW5uaW5nKWcoYW5kKWYoZW5kKWgob2YpZyh0aGUpaChyZXN1bHRzKWYKKyhvZilnKHRoZSlnKHByZXZpb3VzKWcoZXhwYW5zaW9ucylnKGFyZSlnKGlnbm9yZWQsKWooYW5kKWQoYW4pbSh5KTE1MAorNTAxMSB5KHNlcXVlbmNlKTMxIGIob2YpZyBGcyhJRlMpZiBGdChjKW0oaGFyYWN0ZXJzKWoobm90KWUoYXQpZyh0aGUpZworKGIpcyhlZ2lubmluZylnKG9yKWYoZW5kKWgoc2VydiltKGVzKWcodG8paChkZWxpbWl0KWYodyltKG9yZHMuKTQyCitiKElmKTMwIGIgRnMoSUZTKWcgRnQoaGFzKTE1MCA1MTIxIHkoYSlnKHYpLTUgYihhbHVlKTMwCitiKG90aGVyKWcodGhhbilnKHRoZSlnKGRlZmF1bHQsKWcodGhlbilmKHNlcXVlbmNlcyloKG9mKWcodGhlKWcKKyh3aGl0ZXNwYWNlKWcoYyltKGhhcmFjdGVycyloIEZzKHNwYWNlKWUgRnQoYW5kKWcgRnModGFiKTE1MAorNTIzMCB5IEZ0KGFyZSkzNiBiKGlnbm9yZWQpZyhhdClnKHRoZSlnKGIpcyhlZ2lubmluZylmKGFuZClnKGVuZClnKG9mKWgKKyh0aGUpZyh3KW0ob3JkLCloKGFzKWYobG9uZylnKGFzKWcodGhlKWcod2hpdGVzcGFjZSloKGMpbShoYXJhY3RlcilnCisoaXMpMTUwIDUzNDAgeShpbilmKHRoZSlnKHYpLTUgYihhbHVlKTM2IGIob2YpZyBGcyhJRlMpZgorRnQoXChhbiloIEZzKElGUylmIEZ0KHdoaXRlc3BhY2UpaChjKW0oaGFyYWN0ZXJcKS4pNjAKK2IoQW4pbSh5KTM1IGIoYyltKGhhcmFjdGVyKWooaW4pZCBGcyhJRlMpZyBGdCh0aGF0KWkoaXMpZihub3QpZworRnMoSUZTKXAgZW9wIGVuZAogJSVQYWdlOiAyNCAzMAogVGVYRGljdCBiZWdpbiAyNCAyOSBib3AgMTUwIC0xMTYgYSBGdCgyNCkyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5IEZxKGxpc3QpcCBGdCguKTQxIGIoTm90ZSkzMQotYih0aGF0KWYobm8pZyhzcGFjZSlnKG1hKW0oeSlnKGFwcClzKGVhcilmKGIpcyhldCltKHcpbShlZW4paCh0aGUpZwotRnMoPClmIEZ0KG9yKWggRnMoPilmIEZ0KGFuZClnKHRoZSloKGxlZnQpZyhwYXJlbiltKHRoZXNpcywpaAotKG90aGVyd2lzZSkxNTAgNDA4IHkodGhlKWcoY29uc3RydWN0KWYodyltKG91bGQpZyhiKXMoZSlnKGluKW0KLSh0ZXJwcmV0ZWQpaChhcylmKGEpaChyZWRpcmVjdGlvbi4pMjc1IDU0MiB5KFdoZW4pMzYKLWIoYSltKHYpLTUgYihhaWxhYmxlLCk0MCBiKHBybylzKGNlc3MpYyhzdWJzdGl0dXRpb24paChpcylmKHApcwotKGVyZm9ybWVkKWYoc2ltKW0odWx0YW5lb3VzbHkpaSh3aXRoKWcocGFyYW1ldGVyKWcoYW5kKTE1MAotNjUyIHkodiktNSBiKGFyaWFibGUpMzEgYihleHBhbnNpb24sKWcoY29tbWFuZClmKHN1YnN0aXR1dGlvbiwpZyhhbmQpZwotKGFyaXRobWV0aWMpaShleHBhbnNpb24uKTE1MCA4NzMgeSBGaygzLjUuNyk2MyBiKFcpLTEwCi1iKG9yZCk0MSBiKFNwbGl0dGluZykyNzUgMTExNiB5IEZ0KFRoZSkzNSBiKHNoZWxsKWkoc2NhbnMpZih0aGUpZwotKHJlc3VsdHMpZyhvZilnKHBhcmFtZXRlciloKGV4cGFuc2lvbiwpaChjb21tYW5kKWQoc3Vic3RpdHV0aW9uLClqKGFuZCkKLWUoYXJpdGgtKTE1MCAxMjI1IHkobWV0aWMpMzEgYihleHBhbnNpb24pZyh0aGF0KWcoZGlkKWUobm90KWkobylzKGNjdXIpCi1mKHdpdGhpbilnKGRvdWJsZSlnKHF1b3RlcyloKGZvcilmKHcpbShvcmQpZyhzcGxpdHRpbmcuKTI3NQotMTM1OSB5KFRoZSk0MyBiKHNoZWxsKWgodHJlYXRzKWgoZWFjKW0oaCloKGMpbShoYXJhY3RlcilmKG9mKWcKLUZzKCRJRlMpZSBGdChhcyloKGEpZyhkZWxpbWl0ZXIsKTQ5IGIoYW5kKTQzIGIoc3BsaXRzKWgodGhlKWgocmVzdWx0cyllCi0ob2YpaSh0aGUpMTUwIDE0NjggeShvdGhlcik0MCBiKGV4cGFuc2lvbnMpZihpbiltKHRvKWkodyltKG9yZHMpZShvbiloCi0odGhlc2UpZyhjKW0oaGFyYWN0ZXJzLik3MCBiKElmKTM5IGIgRnMoSUZTKWcgRnQoaXMpaCh1bnNldCwpaShvcilkCi0oaXRzKWgodiktNSBiKGFsdWUpNDAgYihpcylnKGV4YWN0bHkpMTUwIDE1NzggeSBGcwotKDxzcGFjZT48dGFiPjxuZXdsaW5lPilwIEZ0KCwpMjYgYih0aGUpMzIgYihkZWZhdWx0LClnKHRoZW4pZgotKHNlcXVlbmNlcyloKG9mKTYyIGIgRnMoPHNwYWNlPilwIEZ0KCwpMzAgYiBGcyg8dGFiPilwCi1GdCgsKWgoYW5kKWYgRnMoPG5ld2xpbmU+KTE1MCAxNjg4IHkgRnQoYXQpMzkgYih0aGUpZihiKXMoZWdpbm5pbmcpZwotKGFuZClmKGVuZCloKG9mKWcodGhlKWgocmVzdWx0cylmKG9mKWcodGhlKWcocHJldmlvdXMpZyhleHBhbnNpb25zKWcKLShhcmUpZyhpZ25vcmVkLClqKGFuZClkKGFuKW0oeSkxNTAgMTc5NyB5KHNlcXVlbmNlKTMxCi1iKG9mKWcgRnMoSUZTKWYgRnQoYyltKGhhcmFjdGVycylqKG5vdCllKGF0KWcodGhlKWcoYilzKGVnaW5uaW5nKWcob3IpZgotKGVuZCloKHNlcnYpbShlcylnKHRvKWgoZGVsaW1pdClmKHcpbShvcmRzLik0MiBiKElmKTMwCi1iIEZzKElGUylnIEZ0KGhhcykxNTAgMTkwNyB5KGEpZyh2KS01IGIoYWx1ZSkzMCBiKG90aGVyKWcodGhhbilnKHRoZSlnCi0oZGVmYXVsdCwpZyh0aGVuKWYoc2VxdWVuY2VzKWgob2YpZyh0aGUpZyh3aGl0ZXNwYWNlKWcoYyltKGhhcmFjdGVycyloCi1GcyhzcGFjZSllIEZ0KGFuZClnIEZzKHRhYikxNTAgMjAxNiB5IEZ0KGFyZSkzNiBiKGlnbm9yZWQpZyhhdClnKHRoZSlnCi0oYilzKGVnaW5uaW5nKWYoYW5kKWcoZW5kKWcob2YpaCh0aGUpZyh3KW0ob3JkLCloKGFzKWYobG9uZylnKGFzKWcodGhlKQotZyh3aGl0ZXNwYWNlKWgoYyltKGhhcmFjdGVyKWcoaXMpMTUwIDIxMjYgeShpbilmKHRoZSlnKHYpLTUKLWIoYWx1ZSkzNiBiKG9mKWcgRnMoSUZTKWYgRnQoXChhbiloIEZzKElGUylmIEZ0KHdoaXRlc3BhY2UpaChjKW0KLShoYXJhY3RlclwpLik2MCBiKEFuKW0oeSkzNSBiKGMpbShoYXJhY3RlcilqKGluKWQgRnMoSUZTKWcKLUZ0KHRoYXQpaShpcylmKG5vdClnIEZzKElGUykxNTAgMjIzNiB5IEZ0KHdoaXRlc3BhY2UsKTI3Ci1iKGFsb25nKWYod2l0aClmKGFuKW0oeSlnKGFkamFjZW4pbSh0KWggRnMoSUZTKWUgRnQod2hpdGVzcGFjZSlpKGMpbQotKGhhcmFjdGVycywpaShkZWxpbWl0cyllKGEpZihcMDE0ZWxkLikzOCBiKEEpMjYgYihzZXF1ZW5jZSkxNTAKLTIzNDUgeShvZikzNSBiIEZzKElGUylmIEZ0KHdoaXRlc3BhY2UpaChjKW0oaGFyYWN0ZXJzKWkoaXMpZChhbHNvKWkKLSh0cmVhdGVkKWcoYXMpZihhKWcoZGVsaW1pdGVyLik1NSBiKElmKTM0IGIodGhlKWgodiktNQotYihhbHVlKTM1IGIob2YpZyBGcyhJRlMpZiBGdChpcyloKG4pbSh1bGwsKWgobm8pMTUwIDI0NTUKLXkodyltKG9yZCkzMCBiKHNwbGl0dGluZyloKG8pcyhjY3Vycy4pMjc1IDI1ODggeShFeHBsaWNpdCk0NAotYihuKW0odWxsKWYoYXJndW1lbiltKHRzKWcoXCgpcCBGcygiIilnIEZ0KG9yKWggRnMoJycpcAotRnQoXCkpZihhcmUpZyhyZXRhaW5lZC4pODAgYihVbnF1b3RlZCk0MyBiKGltcGxpY2l0KWgobiltKHVsbClmCi0oYXJndW1lbiltKHRzLCkxNTAgMjY5OCB5KHJlc3VsdGluZykyNCBiKGZyb20pZih0aGUpZyhleHBhbnNpb24pZyhvZiloCi0ocGFyYW1ldGVycylnKHRoYXQpZyhoYSltKHYpbShlKWgobm8pZSh2KS01IGIoYWx1ZXMsKTI1Ci1iKGFyZSlmKHJlbW8pbSh2KW0oZWQuKTQwIGIoSWYpMjMgYihhKWcocGFyYW1ldGVyKTE1MAotMjgwNyB5KHdpdGgpMzAgYihubylnKHYpLTUgYihhbHVlKTMxIGIoaXMpZyhleHBhbmRlZCllKHdpdGhpbiloKGRvdWJsZSkKLWcocXVvdGVzLCloKGEpZyhuKW0odWxsKWYoYXJndW1lbiltKHQpaChyZXN1bHRzKWYoYW5kKWcoaXMpZyhyZXRhaW5lZC4pCi0yNzUgMjk0MSB5KE5vdGUpaCh0aGF0KWcoaWYpZyhubylmKGV4cGFuc2lvbilnKG8pcyhjY3VycywpZyhubyloCi0oc3BsaXR0aW5nKWcoaXMpZihwKXMoZXJmb3JtZWQuKTE1MCAzMTYyIHkgRmsoMy41LjgpNjMKLWIoRmlsZW5hbWUpNDEgYihFeHBhbnNpb24pMjc1IDM0MDUgeSBGdChBZnRlciloKHcpbShvcmQpZyhzcGxpdHRpbmcsKWsKLSh1bmxlc3MpYyh0aGUpZyhgKXAgRnMoLWYpcCBGdCgnKWcob3B0aW9uKWgoaGFzKWYoYilzKGVlbilnKHNldClnCi0oXChzZWUpaShTZWN0aW9uKWYoNC4zLjEpaChbVGhlKWUoU2V0KTE1MCAzNTE1IHkoQnVpbHRpbl0sKTQ4Ci1iKHBhZ2UpYyg1MVwpLClrKEJhc2gpNDMgYihzY2FucyloKGVhYyltKGgpZyh3KW0ob3JkKWYoZm9yKWcodGhlKWgoYyltCi0oaGFyYWN0ZXJzKWgoYClwIEZzKCopcCBGdCgnLClpKGApcCBGcyg/KXAgRnQoJywpZyhhbmQpNDIKLWIoYClwIEZzKFspcCBGdCgnLik4MCBiKElmKTQzIGIob25lKWgob2YpMTUwIDM2MjQgeSh0aGVzZSlkKGMpbQotKGhhcmFjdGVycylnKGFwcClzKGVhcnMsKWkodGhlbilkKHRoZSlnKHcpbShvcmQpZyhpcylnKHJlZ2FyZGVkKWcoYXMpaAotKGEpZyBGcShwYXR0ZXJuKXAgRnQoLClpKGFuZCljKHJlcGxhY2VkKWkod2l0aClmKGFuKTE1MAotMzczNCB5KGFscGhhYilzKGV0aWNhbGx5KWgoc29ydGVkKWYobGlzdClnKG9mKWcoXDAxNGxlKWcobmFtZXMpZyhtYXRjKW0KLShoaW5nKWgodGhlKWYocGF0dGVybi4pNjggYihJZik0MCBiKG5vKWYobWF0YyltKGhpbmcpaShcMDE0bGUpZihuYW1lcykKLTE1MCAzODQ0IHkoYXJlKWUoZm91bmQsKWcoYW5kKWYodGhlKWgoc2hlbGwpZihvcHRpb24paAotRnMobnVsbGdsb2IpZSBGdChpcyloKGRpc2FibGVkLClpKHRoZSlmKHcpbShvcmQpZihpcyloKGxlZnQpZyh1bmMpbQotKGhhbmdlZC4pNjIgYihJZikzNyBiKHRoZSkxNTAgMzk1MyB5IEZzKG51bGxnbG9iKTMyIGIKLUZ0KG9wdGlvbilpKGlzKWcoc2V0LCloKGFuZClmKG5vKWYobWF0YyltKGhlcylpKGFyZSlnKGZvdW5kLCllKHRoZSloKHcpCi1tKG9yZClnKGlzKWcocmVtbyltKHYpbShlZC4pNTIgYihJZikzMyBiKHRoZSloIEZzKGZhaWxnbG9iKTE1MAotNDA2MyB5IEZ0KHNoZWxsKTI3IGIob3B0aW9uKWcoaXMpZyhzZXQsKWgoYW5kKWUobm8pZyhtYXRjKW0oaGVzKWkoYXJlKWYKLShmb3VuZCwpZihhbiloKGVycm9yKWYobWVzc2FnZSlpKGlzKWUocHJpbiltKHRlZClnKGFuZClnKHRoZSloKGNvbW1hbmQpCi0xNTAgNDE3MiB5KGlzKWgobm90KWgoZXhlY3V0ZWQuKTQxIGIoSWYpMjggYih0aGUpZyhzaGVsbCloKG9wdGlvbilnCi1Gcyhub2Nhc2VnbG9iKWMgRnQoaXMpayhlbmFibGVkLClnKHRoZSlmKG1hdGMpbShoKWkoaXMpZShwKXMoZXJmb3JtZWQpZgotKHdpdGhvdXQpMTUwIDQyODIgeShyZWdhcmQpaih0byloKHRoZSlnKGNhc2UpZyhvZilnKGFscGhhYilzKGV0aWMpZyhjKW0KLShoYXJhY3RlcnMuKTI3NSA0NDE1IHkoV2hlbikyMSBiKGEpaShwYXR0ZXJuKWYoaXMpZyh1c2VkKWcoZm9yKWYKLShcMDE0bGVuYW1lKWkoZ2VuZXJhdGlvbiwpaSh0aGUpZChjKW0oaGFyYWN0ZXIpaShgKXAKLUZzKC4pcCBGdCgnKWUoYXQpaCh0aGUpZihzdGFydCloKG9mKWYoYSloKFwwMTRsZW5hbWUpMTUwCi00NTI1IHkob3IpZyhpbW1lZGlhdGVseSlpKGZvbGxvKW0od2luZylnKGEpZihzbGFzaClmKG0pbSh1c3QpaChiKXMoZSlmCi0obWF0YyltKGhlZCloKGV4cGxpY2l0bHkpLTggYigsKTI3IGIodW5sZXNzKWModGhlKWcoc2hlbGwpaChvcHRpb24pZwotRnMoZG90Z2xvYikxNTAgNDYzNSB5IEZ0KGlzKTMxIGIoc2V0Lik0NSBiKFdoZW4pMzEgYihtYXRjKW0oaGluZyloKGEpZworYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5KHdoaXRlc3BhY2UsKWMoYWxvbmcpZih3aXRoKWYoYW4pbSh5KWcKKyhhZGphY2VuKW0odCloIEZzKElGUyllIEZ0KHdoaXRlc3BhY2UpaShjKW0oaGFyYWN0ZXJzLClpKGRlbGltaXRzKWUoYSlmCisoXDAxNGVsZC4pMzggYihBKTI2IGIoc2VxdWVuY2UpMTUwIDQwOCB5KG9mKTM1IGIgRnMoSUZTKWYKK0Z0KHdoaXRlc3BhY2UpaChjKW0oaGFyYWN0ZXJzKWkoaXMpZChhbHNvKWkodHJlYXRlZClnKGFzKWYoYSlnCisoZGVsaW1pdGVyLik1NSBiKElmKTM0IGIodGhlKWgodiktNSBiKGFsdWUpMzUgYihvZilnCitGcyhJRlMpZiBGdChpcyloKG4pbSh1bGwsKWgobm8pMTUwIDUxOCB5KHcpbShvcmQpMzAgYihzcGxpdHRpbmcpaChvKXMKKyhjY3Vycy4pMjc1IDY0OCB5KEV4cGxpY2l0KTQ0IGIobiltKHVsbClmKGFyZ3VtZW4pbSh0cylnKFwoKXAKK0ZzKCIiKWcgRnQob3IpaCBGcygnJylwIEZ0KFwpKWYoYXJlKWcocmV0YWluZWQuKTgwIGIoVW5xdW90ZWQpNDMKK2IoaW1wbGljaXQpaChuKW0odWxsKWYoYXJndW1lbiltKHRzLCkxNTAgNzU4IHkocmVzdWx0aW5nKTI0CitiKGZyb20pZih0aGUpZyhleHBhbnNpb24pZyhvZiloKHBhcmFtZXRlcnMpZyh0aGF0KWcoaGEpbSh2KW0oZSloKG5vKWUKKyh2KS01IGIoYWx1ZXMsKTI1IGIoYXJlKWYocmVtbyltKHYpbShlZC4pNDAgYihJZikyMyBiKGEpZyhwYXJhbWV0ZXIpMTUwCis4NjcgeSh3aXRoKTMwIGIobm8pZyh2KS01IGIoYWx1ZSkzMSBiKGlzKWcoZXhwYW5kZWQpZSh3aXRoaW4paChkb3VibGUpZworKHF1b3RlcywpaChhKWcobiltKHVsbClmKGFyZ3VtZW4pbSh0KWgocmVzdWx0cylmKGFuZClnKGlzKWcocmV0YWluZWQuKQorMjc1IDk5NyB5KE5vdGUpaCh0aGF0KWcoaWYpZyhubylmKGV4cGFuc2lvbilnKG8pcyhjY3VycywpZyhubyloCisoc3BsaXR0aW5nKWcoaXMpZihwKXMoZXJmb3JtZWQuKTE1MCAxMTg3IHkgRmooMy41LjgpNjMKK2IoRmlsZW5hbWUpNDEgYihFeHBhbnNpb24pMTUwIDEzMzQgeSBGdChBZnRlcikyNiBiKHcpbShvcmQpZworKHNwbGl0dGluZywpaSh1bmxlc3MpZCh0aGUpaShgKXAgRnMoLWYpcCBGdCgnKWYob3B0aW9uKWcoaGFzKWcoYilzKGVlbikKK2Yoc2V0KWkoXChzZWUpZyhTZWN0aW9uKWcoNC4zLjEpaChbVGhlKWUoU2V0KWcoQnVpbHRpbl0sKTE1MAorMTQ0NCB5KHBhZ2UpaCg1MVwpLClpKEJhc2gpZChzY2FucyloKGVhYyltKGgpaCh3KW0ob3JkKWUoZm9yKWcodGhlKWgoYykKK20oaGFyYWN0ZXJzKWcoYClwIEZzKCopcCBGdCgnLCloKGApcCBGcyg/KXAgRnQoJywpZyhhbmQpZShgKXAKK0ZzKFspcCBGdCgnLikzOSBiKElmKTI2IGIob25lKWgob2YpZyh0aGVzZSlmKGMpbShoYXJhY3RlcnMpMTUwCisxNTUzIHkoYXBwKXMoZWFycywpaCh0aGVuKWYodGhlKWgodyltKG9yZClmKGlzKWgocmVnYXJkZWQpZyhhcylnKGEpZworRnEocGF0dGVybilwIEZ0KCwpZyhhbmQpZyhyZXBsYWNlZClnKHdpdGgpZihhbiloKGFscGhhYilzKGV0aWNhbGx5KWgKKyhzb3J0ZWQpMTUwIDE2NjMgeShsaXN0KWsob2YpZyhcMDE0bGUpZyhuYW1lcylnKG1hdGMpbShoaW5nKWgodGhlKWYKKyhwYXR0ZXJuLik0NSBiKElmKTMyIGIobm8pZihtYXRjKW0oaGluZylpKFwwMTRsZSlmKG5hbWVzKWcoYXJlKWcKKyhmb3VuZCwpZihhbmQpaCh0aGUpZyhzaGVsbCkxNTAgMTc3MiB5KG9wdGlvbiljIEZzKG51bGxnbG9iKWUKK0Z0KGlzKWkoZGlzYWJsZWQsKWgodGhlKWYodyltKG9yZClnKGlzKWcobGVmdClnKHVuYyltKGhhbmdlZC4pNDAKK2IoSWYpMjggYih0aGUpZyBGcyhudWxsZ2xvYillIEZ0KG9wdGlvbilpKGlzKWcoc2V0LClpKGFuZCkxNTAKKzE4ODIgeShubykzOCBiKG1hdGMpbShoZXMpaChhcmUpZihmb3VuZCwpaCh0aGUpZih3KW0ob3JkKWYoaXMpaChyZW1vKW0KKyh2KW0oZWQuKTY1IGIoSWYpMzcgYih0aGUpaCBGcyhmYWlsZ2xvYillIEZ0KHNoZWxsKWkob3B0aW9uKWcoaXMpZworKHNldCwpaihhbmQpYyhubykxNTAgMTk5MSB5KG1hdGMpbShoZXMpZihhcmUpZyhmb3VuZCwpZihhbilnKGVycm9yKWYKKyhtZXNzYWdlKWooaXMpZShwcmluKW0odGVkKWYoYW5kKWgodGhlKWcoY29tbWFuZClnKGlzKWcobm90KWcKKyhleGVjdXRlZC4pNTYgYihJZikzNSBiKHRoZSkxNTAgMjEwMSB5KHNoZWxsKWUob3B0aW9uKWgKK0ZzKG5vY2FzZWdsb2IpYyBGdChpcylqKGVuYWJsZWQsKWgodGhlKWcobWF0YyltKGgpZyhpcylmKHApcyhlcmZvcm1lZCllCisod2l0aG91dClpKHJlZ2FyZClnKHRvKWgodGhlKWcoY2FzZSlnKG9mKTE1MCAyMjExIHkoYWxwaGFiKXMoZXRpYylkKGMpbQorKGhhcmFjdGVycy4pMjc1IDIzNDEgeShXaGVuKTIzIGIoYSloKHBhdHRlcm4pZihpcyloKHVzZWQpZihmb3IpZworKFwwMTRsZW5hbWUpaChleHBhbnNpb24sKWgodGhlKWUoYyltKGhhcmFjdGVyKWkoYClwIEZzKC4pcAorRnQoJylmKGF0KWcodGhlKWcoc3RhcnQpZyhvZilnKGEpZyhcMDE0bGVuYW1lKTE1MCAyNDUwCit5KG9yKWYoaW1tZWRpYXRlbHkpaShmb2xsbyltKHdpbmcpZyhhKWYoc2xhc2gpZihtKW0odXN0KWgoYilzKGUpZihtYXRjKQorbShoZWQpaChleHBsaWNpdGx5KS04IGIoLCkyNyBiKHVubGVzcyljKHRoZSlnKHNoZWxsKWgob3B0aW9uKWcKK0ZzKGRvdGdsb2IpMTUwIDI1NjAgeSBGdChpcykzMSBiKHNldC4pNDUgYihXaGVuKTMxIGIobWF0YyltKGhpbmcpaChhKWcKIChcMDE0bGUpZihuYW1lLCloKHRoZSlnKHNsYXNoKWYoYyltKGhhcmFjdGVyKWkobSltKHVzdCllKGFsdyltKGEpbSh5cylpCi0oYilzKGUpZShtYXRjKW0oaGVkKWgoZXhwbGljaXRseSktOCBiKC4pMTUwIDQ3NDQgeShJbikzMAorKGIpcyhlKWUobWF0YyltKGhlZCloKGV4cGxpY2l0bHkpLTggYiguKTE1MCAyNjY5IHkoSW4pMzAKIGIob3RoZXIpZyhjYXNlcywpaSh0aGUpZShgKXAgRnMoLilwIEZ0KCcpaChjKW0oaGFyYWN0ZXIpaChpcyllKG5vdCloCi0odHJlYXRlZClnKHNwKXMoZWNpYWxseSktOCBiKC4pMjc1IDQ4NzggeShTZWUpMjggYih0aGUpZyhkZXNjcmlwdGlvbilnCisodHJlYXRlZClnKHNwKXMoZWNpYWxseSktOCBiKC4pMjc1IDI3OTkgeShTZWUpMjggYih0aGUpZyhkZXNjcmlwdGlvbilnCiAob2YpZyBGcyhzaG9wdCllIEZ0KGluKWkoU2VjdGlvbilnKDQuMy4yKWkoW1RoZSllKFNob3B0KWYoQnVpbHRpbl0sKWkKLShwYWdlKWcoNTQsKWcoZm9yKWYoYSlnKGRlc2NyaXAtKTE1MCA0OTg3IHkodGlvbilqKG9mKWYodGhlKWgKKyhwYWdlKWcoNTUsKWcoZm9yKWYoYSlnKGRlc2NyaXAtKTE1MCAyOTA5IHkodGlvbilqKG9mKWYodGhlKWgKIEZzKG5vY2FzZWdsb2IpcCBGdCgsKWQgRnMobnVsbGdsb2IpcCBGdCgsKWcgRnMoZmFpbGdsb2IpcAotRnQoLCloKGFuZClnIEZzKGRvdGdsb2IpZyBGdChvcHRpb25zLikyNzUgNTEyMSB5KFRoZSlqCitGdCgsKWgoYW5kKWcgRnMoZG90Z2xvYilnIEZ0KG9wdGlvbnMuKTI3NSAzMDM5IHkoVGhlKWoKIEZzKEdMT0JJR05PUkUpZiBGdChzaGVsbClpKHYpLTUgYihhcmlhYmxlKTM0IGIobWEpbSh5KWcoYilzKGUpZih1c2VkKWYKICh0bylpKHJlc3RyaWN0KWcodGhlKWcoc2V0KWYob2YpaChcMDE0bGVuYW1lcylmKG1hdGMpbShoaW5nKWkoYSkxNTAKLTUyMzAgeShwYXR0ZXJuLilrKElmKTI1IGIgRnMoR0xPQklHTk9SRSllIEZ0KGlzKWooc2V0LCloKGVhYyltKGgpZworMzE0OCB5KHBhdHRlcm4uKWsoSWYpMjUgYiBGcyhHTE9CSUdOT1JFKWUgRnQoaXMpaihzZXQsKWgoZWFjKW0oaClnCiAobWF0YyltKGhpbmcpZyhcMDE0bGVuYW1lKWYodGhhdClnKGFsc28paChtYXRjKW0oaGVzKWYob25lKWcob2YpZyh0aGUpZwotKHBhdHRlcm5zKTE1MCA1MzQwIHkoaW4pMzMgYiBGcyhHTE9CSUdOT1JFKWQgRnQoaXMpaihyZW1vKW0odiltKGVkKWgKKyhwYXR0ZXJucykxNTAgMzI1OCB5KGluKTMzIGIgRnMoR0xPQklHTk9SRSlkIEZ0KGlzKWoocmVtbyltKHYpbShlZCloCiAoZnJvbSllKHRoZSlpKGxpc3QpZihvZilnKG1hdGMpbShoZXMuKTUwIGIoVGhlKTMzIGIoXDAxNGxlbmFtZXMpZyhgKXAKLUZzKC4pcCBGdCgnKWcoYW5kKWYoYClwIEZzKC4uKXAgRnQoJyloKGFyZSlnKGFsdyltKGEpbSh5cylwCitGcyguKXAgRnQoJylnKGFuZClmKGApcCBGcyguLilwIEZ0KCcpaChhcmUpZyhhbHcpbShhKW0oeXMpMTUwCiszMzY3IHkoaWdub3JlZClnKHdoZW4pZSBGcyhHTE9CSUdOT1JFKWYgRnQoaXMpaihzZXQpZyhhbmQpZihub3QpaChuKW0KKyh1bGwuKTQ4IGIoSG8pbSh3KW0oZXYpbShlciwpMzUgYihzZXR0aW5nKWYgRnMoR0xPQklHTk9SRSljCitGdCh0bylqKGEpZyhub24tbiltKHVsbCkxNTAgMzQ3NyB5KHYpLTUgYihhbHVlKTM0IGIoaGFzKWYodGhlKWgKKyhlXDAxM2VjdCloKG9mKWYoZW5hYmxpbmcpZyh0aGUpZyBGcyhkb3RnbG9iKWUgRnQoc2hlbGwpaChvcHRpb24sKWooc28pCitlKGFsbClnKG90aGVyKWcoXDAxNGxlbmFtZXMpZyhiKXMoZWdpbm5pbmcpMTUwIDM1ODcgeSh3aXRoKTQzCitiKGEpaChgKXAgRnMoLilwIEZ0KCcpZih3aWxsKWgobWF0YyltKGguKTgwIGIoVCktOCBiKG8pNDQKK2IoZ2V0KWgodGhlKWUob2xkKWgoYilzKGVoYSltKHZpb3IpZihvZiloKGlnbm9yaW5nKWYoXDAxNGxlbmFtZXMpaChiKXMKKyhlZ2lubmluZylmKHdpdGgpZyhhKTE1MCAzNjk2IHkoYClwIEZzKC4pcCBGdCgnLCljKG1hayltKGUpZyhgKXAKK0ZzKC4qKXAgRnQoJyllKG9uZSlnKG9mKWcodGhlKWgocGF0dGVybnMpZihpbilnIEZzKEdMT0JJR05PUkUpcAorRnQoLik1OCBiKFRoZSkzNyBiIEZzKGRvdGdsb2IpZSBGdChvcHRpb24paihpcylmKGRpc2FibGVkKWcod2hlbikxNTAKKzM4MDYgeSBGcyhHTE9CSUdOT1JFKTI4IGIgRnQoaXMpaSh1bnNldC4pMTUwIDM5OTYgeSBGaigzLjUuOC4xKTYzCitiKFApbShhdHRlcm4pNDAgYihNYXRjKW0oaGluZykxNTAgNDE0MyB5IEZ0KEFuKW0oeSkyNAorYihjKW0oaGFyYWN0ZXIpaCh0aGF0KWYoYXBwKXMoZWFycylmKGluKWcoYSloKHBhdHRlcm4sKWkob3RoZXIpZSh0aGFuKWYKKyh0aGUpaChzcClzKGVjaWFsKWcocGF0dGVybilnKGMpbShoYXJhY3RlcnMpaChkZXNjcmliKXMoZWQpMTUwCis0MjUyIHkoYilzKGVsbyltKHcsKTMxIGIobWF0YyltKGhlcylnKGl0c2VsZi4pNDIgYihUaGUpMjkKK2IgRmwobnVsKWggRnQoYyltKGhhcmFjdGVyKWkobWEpbSh5KWUobm90KWgobylzKGNjdXIpZihpbilnKGEpaAorKHBhdHRlcm4uKTQwIGIoQSkzMSBiKGJhYyltKGtzbGFzaClnKGVzY2FwKXMoZXMpMTUwIDQzNjIKK3kodGhlKTM4IGIoZm9sbG8pbSh3aW5nKWcoYyltKGhhcmFjdGVyOyk0MyBiKHRoZSkzNyBiKGVzY2FwaW5nKWkoYmFjKW0KKyhrc2xhc2gpZShpcyloKGRpc2NhcmRlZClmKHdoZW4pZihtYXRjKW0oaGluZy4pNjMgYihUaGUpMzYKK2Ioc3ApcyhlY2lhbCkxNTAgNDQ3MSB5KHBhdHRlcm4pMzAgYihjKW0oaGFyYWN0ZXJzKWkobSltKHVzdClmKGIpcyhlKWUKKyhxdW90ZWQpaShpZilmKHRoZXkpaChhcmUpZih0bylpKGIpcyhlKWQobWF0YyltKGhlZClpKGxpdGVyYWxseSktOAorYiguKTI3NSA0NjAxIHkoVGhlKTI5IGIoc3ApcyhlY2lhbClpKHBhdHRlcm4pZyhjKW0oaGFyYWN0ZXJzKWgoaGEpbSh2KW0KKyhlKWYodGhlKWcoZm9sbG8pbSh3aW5nKWgobWVhbmluZ3M6KTE1MCA0NzUxIHkgRnMoKik0MzIKK2IgRnQoTWF0YyltKGhlcykzMSBiKGFuKW0oeSllKHN0cmluZywpaChpbmNsdWRpbmcpZih0aGUpZyhuKW0odWxsKWcKKyhzdHJpbmcuKTQxIGIoV2hlbikyOSBiKHRoZSlnIEZzKGdsb2JzdGFyKWUgRnQoc2hlbGwpaShvcHRpb24pNjMwCis0ODYxIHkoaXMpMzcgYihlbmFibGVkLCloKGFuZCllKGApcCBGcygqKXAgRnQoJyloKGlzKWcodXNlZClmKGluKWcoYSloCisoXDAxNGxlbmFtZSlnKGV4cGFuc2lvbilnKGNvbiltKHRleHQsKWoodCltKHcpbShvKWUoYWRqYWNlbiltKHQpZyhgKXAKK0ZzKCopcCBGdCgncyk2MzAgNDk3MSB5KHVzZWQpZihhcylnKGEpaChzaW5nbGUpZyhwYXR0ZXJuKWcod2lsbClmKG1hdGMpCittKGgpaShhbGwpZihcMDE0bGVzKWYoYW5kKWcoemVybyloKG9yKWcobW9yZSlmKGRpcmVjdG9yaWVzKWkoYW5kKTYzMAorNTA4MCB5KHN1YilzKGRpcmVjdG9yaWVzLilnKElmKTI1IGIoZm9sbG8pbSh3KW0oZWQpaihiKW0oeSllKGEpZyhgKXAKK0ZzKC8pcCBGdCgnLCloKHQpbSh3KW0obylnKGFkamFjZW4pbSh0KWgoYClwIEZzKCopcCBGdCgncyllKHdpbGwpZworKG1hdGMpbShoKWgob25seSlmKGRpcmVjdG9yaWVzKTYzMCA1MTkwIHkoYW5kKWsoc3ViKXMoZGlyZWN0b3JpZXMuKTE1MAorNTM0MCB5IEZzKD8pNDMyIGIgRnQoTWF0YyltKGhlcykzMiBiKGFuKW0oeSlmKHNpbmdsZSlnKGMpbShoYXJhY3Rlci4pcAogZW9wIGVuZAogJSVQYWdlOiAyNSAzMQogVGVYRGljdCBiZWdpbiAyNSAzMCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoMzopNDEKIGIoQmFzaWMpMzIgYihTaGVsbCllKEYpLTggYihlYXR1cmVzKTIyNDYgYigyNSkxNTAgMjk5Ci15KGlnbm9yZWQpMzMgYih3aGVuKWUgRnMoR0xPQklHTk9SRSlmIEZ0KGlzKWooc2V0KWcoYW5kKWYobm90KWgobiltCi0odWxsLik0OCBiKEhvKW0odyltKGV2KW0oZXIsKTM1IGIoc2V0dGluZylmIEZzKEdMT0JJR05PUkUpYwotRnQodG8paihhKWcobm9uLW4pbSh1bGwpMTUwIDQwOCB5KHYpLTUgYihhbHVlKTM0IGIoaGFzKWYodGhlKWgKLShlXDAxM2VjdCloKG9mKWYoZW5hYmxpbmcpZyh0aGUpZyBGcyhkb3RnbG9iKWUgRnQoc2hlbGwpaChvcHRpb24sKWooc28pCi1lKGFsbClnKG90aGVyKWcoXDAxNGxlbmFtZXMpZyhiKXMoZWdpbm5pbmcpMTUwIDUxOCB5KHdpdGgpNDMKLWIoYSloKGApcCBGcyguKXAgRnQoJylmKHdpbGwpaChtYXRjKW0oaC4pODAgYihUKS04IGIobyk0NAotYihnZXQpaCh0aGUpZShvbGQpaChiKXMoZWhhKW0odmlvcilmKG9mKWgoaWdub3JpbmcpZihcMDE0bGVuYW1lcyloKGIpcwotKGVnaW5uaW5nKWYod2l0aClnKGEpMTUwIDYyOCB5KGApcCBGcyguKXAgRnQoJywpYyhtYWspbShlKWcoYClwCi1GcyguKilwIEZ0KCcpZShvbmUpZyhvZilnKHRoZSloKHBhdHRlcm5zKWYoaW4pZyBGcyhHTE9CSUdOT1JFKXAKLUZ0KC4pNTggYihUaGUpMzcgYiBGcyhkb3RnbG9iKWUgRnQob3B0aW9uKWooaXMpZihkaXNhYmxlZClnKHdoZW4pMTUwCi03MzcgeSBGcyhHTE9CSUdOT1JFKTI4IGIgRnQoaXMpaSh1bnNldC4pMTUwIDk1NyB5IEZrKDMuNS44LjEpNjMKLWIoUCltKGF0dGVybik0MCBiKE1hdGMpbShoaW5nKTI3NSAxMjAwIHkgRnQoQW4pbSh5KTMzCi1iKGMpbShoYXJhY3RlcilpKHRoYXQpZihhcHApcyhlYXJzKWYoaW4pZyhhKWgocGF0dGVybiwpZyhvdGhlcilnKHRoYW4pZgotKHRoZSlnKHNwKXMoZWNpYWwpaChwYXR0ZXJuKWcoYyltKGhhcmFjdGVycyloKGRlLSkxNTAKLTEzMDkgeShzY3JpYilzKGVkKTMwIGIoYilzKGVsbyltKHcsKWgobWF0YyltKGhlcyloKGl0c2VsZi4pNDMKLWIoVGhlKTMxIGIgRmwobnVsKWYgRnQoYyltKGhhcmFjdGVyKWkobWEpbSh5KWYobm90KWgobylzKGNjdXIpZShpbiloKGEpCi1nKHBhdHRlcm4uKTQyIGIoQSkzMSBiKGJhYyltKGtzbGFzaCkxNTAgMTQxOSB5KGVzY2FwKXMoZXMpMzYKLWIodGhlKWYoZm9sbG8pbSh3aW5nKWkoYyltKGhhcmFjdGVyOylqKHRoZSljKGVzY2FwaW5nKWcoYmFjKW0oa3NsYXNoKWcKLShpcylmKGRpc2NhcmRlZClnKHdoZW4pZyhtYXRjKW0oaGluZy4pNTYgYihUaGUpMTUwIDE1MjgKLXkoc3ApcyhlY2lhbCkzMSBiKHBhdHRlcm4pZihjKW0oaGFyYWN0ZXJzKWkobSltKHVzdClmKGIpcyhlKWUocXVvdGVkKWkKLShpZilmKHRoZXkpaChhcmUpZih0bylpKGIpcyhlKWQobWF0YyltKGhlZClpKGxpdGVyYWxseSktOAotYiguKTI3NSAxNjYxIHkoVGhlKTI5IGIoc3ApcyhlY2lhbClpKHBhdHRlcm4pZyhjKW0oaGFyYWN0ZXJzKWgoaGEpbSh2KW0KLShlKWYodGhlKWcoZm9sbG8pbSh3aW5nKWgobWVhbmluZ3M6KTE1MCAxODE4IHkgRnMoKik0MzIKLWIgRnQoTWF0YyltKGhlcykzMSBiKGFuKW0oeSllKHN0cmluZywpaChpbmNsdWRpbmcpZih0aGUpZyhuKW0odWxsKWcKLShzdHJpbmcuKTQxIGIoV2hlbikyOSBiKHRoZSlnIEZzKGdsb2JzdGFyKWUgRnQoc2hlbGwpaShvcHRpb24pNjMwCi0xOTI3IHkoaXMpMzcgYihlbmFibGVkLCloKGFuZCllKGApcCBGcygqKXAgRnQoJyloKGlzKWcodXNlZClmKGluKWcoYSloCi0oXDAxNGxlbmFtZSlnKGV4cGFuc2lvbilnKGNvbiltKHRleHQsKWoodCltKHcpbShvKWUoYWRqYWNlbiltKHQpZyhgKXAKLUZzKCopcCBGdCgncyk2MzAgMjAzNyB5KHVzZWQpZihhcylnKGEpaChzaW5nbGUpZyhwYXR0ZXJuKWcod2lsbClmKG1hdGMpCi1tKGgpaShhbGwpZihcMDE0bGVzKWYoYW5kKWcoemVybyloKG9yKWcobW9yZSlmKGRpcmVjdG9yaWVzKWkoYW5kKTYzMAotMjE0NyB5KHN1YilzKGRpcmVjdG9yaWVzLilnKElmKTI1IGIoZm9sbG8pbSh3KW0oZWQpaihiKW0oeSllKGEpZyhgKXAKLUZzKC8pcCBGdCgnLCloKHQpbSh3KW0obylnKGFkamFjZW4pbSh0KWgoYClwIEZzKCopcCBGdCgncyllKHdpbGwpZwotKG1hdGMpbShoKWgob25seSlmKGRpcmVjdG9yaWVzKTYzMCAyMjU2IHkoYW5kKWsoc3ViKXMoZGlyZWN0b3JpZXMuKTE1MAotMjQxMyB5IEZzKD8pNDMyIGIgRnQoTWF0YyltKGhlcykzMiBiKGFuKW0oeSlmKHNpbmdsZSlnKGMpbShoYXJhY3Rlci4pCi0xNTAgMjU2OSB5IEZzKFsuLi4pbyhdKTI0MSBiIEZ0KE1hdGMpbShoZXMpMjcgYihhbiltKHkpZShvbmUpZyhvZilnCi0odGhlKWcoZW5jbG9zZWQpZyhjKW0oaGFyYWN0ZXJzLik0MSBiKEEpMjUgYihwYWlyKWYob2YpaChjKW0oaGFyYWN0ZXJzKQotaShzZXBhcmF0ZWQpZShiKW0oeSlnKGEpNjMwIDI2NzkgeShoKW0oeXBoZW4paShkZW5vdGVzKWgoYSlnCit5IEZzKFsuLi4pbyhdKTI0MSBiIEZ0KE1hdGMpbShoZXMpMjcgYihhbiltKHkpZShvbmUpZyhvZilnKHRoZSlnCisoZW5jbG9zZWQpZyhjKW0oaGFyYWN0ZXJzLik0MSBiKEEpMjUgYihwYWlyKWYob2YpaChjKW0oaGFyYWN0ZXJzKWkKKyhzZXBhcmF0ZWQpZShiKW0oeSlnKGEpNjMwIDQwOCB5KGgpbSh5cGhlbilpKGRlbm90ZXMpaChhKWcKIEZxKHJhbmdlKWcoZXhwcmVzc2lvbilwIEZ0KDspZyhhbiltKHkpaChjKW0oaGFyYWN0ZXIpZyh0aGF0KWYoc29ydHMpZwotKGIpcyhldCltKHcpbShlZW4pZyh0aG9zZSloKHQpbSh3KW0obyk2MzAgMjc4OCB5KGMpbShoYXJhY3RlcnMsKWYKKyhiKXMoZXQpbSh3KW0oZWVuKWcodGhvc2UpaCh0KW0odyltKG8pNjMwIDUxOCB5KGMpbShoYXJhY3RlcnMsKWYKIChpbmNsdXNpdiltKGUsKWYodXNpbmcpZCh0aGUpaChjdXJyZW4pbSh0KWYobG8pcyhjYWxlJ3Mpaihjb2xsYXRpbmcpZwotKHNlcXVlbmNlKWUoYW5kKWYoYyltKGhhcmFjdGVyKTYzMCAyODk4IHkoc2V0LCkzMSBiKGlzKWYobWF0YyltKGhlZC4pNDIKKyhzZXF1ZW5jZSllKGFuZClmKGMpbShoYXJhY3Rlcik2MzAgNjI4IHkoc2V0LCkzMSBiKGlzKWYobWF0YyltKGhlZC4pNDIKIGIoSWYpMzAgYih0aGUpZyhcMDE0cnN0KWcoYyltKGhhcmFjdGVyKWkoZm9sbG8pbSh3aW5nKWcodGhlKWUoYClwCiBGcyhbKXAgRnQoJyloKGlzKWYoYSloKGApcCBGcyghKXAgRnQoJylmKG9yKWcoYSloKGApcAotRnMoXilwIEZ0KCcpZyh0aGVuKWYoYW4pbSh5KTYzMCAzMDA4IHkoYyltKGhhcmFjdGVyKWMobm90KWYoZW5jbG9zZWQpZworRnMoXilwIEZ0KCcpZyh0aGVuKWYoYW4pbSh5KTYzMCA3MzcgeShjKW0oaGFyYWN0ZXIpYyhub3QpZihlbmNsb3NlZClnCiAoaXMpZyhtYXRjKW0oaGVkLik0MCBiKEEpMjUgYihgKXAgRnAoXDAwMClwIEZ0KCcpZihtYSltKHkpaShiKXMoZSllCi0obWF0YyltKGhlZCloKGIpbSh5KWYoaW5jbHVkaW5nKWgoaXQpZyhhcylnKHRoZSk2MzAgMzExNworKG1hdGMpbShoZWQpaChiKW0oeSlmKGluY2x1ZGluZyloKGl0KWcoYXMpZyh0aGUpNjMwIDg0NwogeShcMDE0cnN0KTMyIGIob3IpaChsYXN0KWgoYyltKGhhcmFjdGVyKWgoaW4pZSh0aGUpZyhzZXQuKTUwCiBiKEEpMzMgYihgKXAgRnMoXSlwIEZ0KCcpZyhtYSltKHkpaChiKXMoZSllKG1hdGMpbShoZWQpaShiKW0oeSlmCi0oaW5jbHVkaW5nKWcoaXQpZyhhcyloKHRoZSk2MzAgMzIyNyB5KFwwMTRyc3QpMjUgYihjKW0oaGFyYWN0ZXIpaShpbillCisoaW5jbHVkaW5nKWcoaXQpZyhhcyloKHRoZSk2MzAgOTU2IHkoXDAxNHJzdCkyNSBiKGMpbShoYXJhY3RlcilpKGluKWUKICh0aGUpaChzZXQuKTQwIGIoVGhlKTI1IGIoc29ydGluZyloKG9yZGVyKWYob2YpaChjKW0oaGFyYWN0ZXJzKWgoaW4pZgotKHJhbmdlKWcoZXhwcmVzc2lvbnMpZihpcyk2MzAgMzMzNiB5KGRldGVybWluZWQpZShiKW0oeSlnKHRoZSlnKGN1cnJlbikKKyhyYW5nZSlnKGV4cHJlc3Npb25zKWYoaXMpNjMwIDEwNjYgeShkZXRlcm1pbmVkKWUoYiltKHkpZyh0aGUpZyhjdXJyZW4pCiBtKHQpZihsbylzKGNhbGUpaihhbmQpZSh0aGUpZyh2KS01IGIoYWx1ZSkyMyBiKG9mKWcodGhlKWgKLUZzKExDX0NPTExBVEUpYyBGdChzaGVsbClqKHYpLTUgYihhcmlhYmxlLCk2MzAgMzQ0NiB5KGlmKTMwCi1iKHNldC4pNjMwIDM1NzkgeShGKS04IGIob3IpMzQgYihleGFtcGxlLClnKGluKWYodGhlKWcoZGVmYXVsdClnKEMpZgorRnMoTENfQ09MTEFURSljIEZ0KHNoZWxsKWoodiktNSBiKGFyaWFibGUsKTYzMCAxMTc2IHkoaWYpMzAKK2Ioc2V0Lik2MzAgMTMwOSB5KEYpLTggYihvcikzNCBiKGV4YW1wbGUsKWcoaW4pZih0aGUpZyhkZWZhdWx0KWcoQylmCiAobG8pcyhjYWxlLClrKGApcCBGcyhbYS1keC16XSlwIEZ0KCcpMzEgYihpcylpKGVxdWl2KS01Ci1iKGFsZW4pbSh0KTM0IGIodG8pZyhgKXAgRnMoW2FiY2R4eXpdKXAgRnQoJy4pNjMwIDM2ODkKK2IoYWxlbiltKHQpMzQgYih0bylnKGApcCBGcyhbYWJjZHh5el0pcCBGdCgnLik2MzAgMTQxOAogeShNYW4pbSh5KTY4IGIobG8pcyhjYWxlcyloKHNvcnQpZihjKW0oaGFyYWN0ZXJzKWgoaW4pZShkaWN0aW9uYXJ5KWkKLShvcmRlciwpNzYgYihhbmQpNjcgYihpbilnKHRoZXNlKWgobG8pcyhjYWxlcyk2MzAgMzc5OAorKG9yZGVyLCk3NiBiKGFuZCk2NyBiKGluKWcodGhlc2UpaChsbylzKGNhbGVzKTYzMCAxNTI4CiB5KGApcCBGcyhbYS1keC16XSlwIEZ0KCcpMzYgYihpcylpKHQpbSh5cGljYWxseSlpKG5vdCllKGVxdWl2KS01CiBiKGFsZW4pbSh0KTM5IGIodG8pZyhgKXAgRnMoW2FiY2R4eXpdKXAgRnQoJzspZyhpdClnKG1pZ2gpbSh0KWYoYilzKGUpZgotKGVxdWl2KS01IGIoYWxlbiltKHQpNjMwIDM5MDggeSh0bykzNCBiKGApcCBGcyhbYUJiQ2NEZHhYeVl6XSlwCisoZXF1aXYpLTUgYihhbGVuKW0odCk2MzAgMTYzNyB5KHRvKTM0IGIoYClwIEZzKFthQmJDY0RkeFh5WXpdKXAKIEZ0KCcsKWMoZm9yKWooZXhhbXBsZS4pNDkgYihUKS04IGIobykzMyBiKG9idGFpbiloKHRoZSlmKHRyYWRpdGlvbmFsKWgKLShpbiltKHRlcnByZXRhdGlvbiloKG9mKTYzMCA0MDE3IHkocmFuZ2VzKWUoaW4pZihicmFjKW0oayltKGV0KWkKKyhpbiltKHRlcnByZXRhdGlvbiloKG9mKTYzMCAxNzQ3IHkocmFuZ2VzKWUoaW4pZihicmFjKW0oayltKGV0KWkKIChleHByZXNzaW9ucywpZyh5KW0ob3UpZihjYW4pZyhmb3JjZSlnKHRoZSlnKHVzZSlmKG9mKWgodGhlKWcoQylmKGxvKXMKLShjYWxlKWkoYiltKHkpZihzZXR0aW5nKTYzMCA0MTI3IHkodGhlKWUgRnMoTENfQ09MTEFURSljCisoY2FsZSlpKGIpbSh5KWYoc2V0dGluZyk2MzAgMTg1NyB5KHRoZSllIEZzKExDX0NPTExBVEUpYwogRnQob3IpayBGcyhMQ19BTEwpZCBGdChlbiltKHZpcm9ubWVuKW0odClqKHYpLTUgYihhcmlhYmxlKTMxCi1iKHRvKWcodGhlKWcodiktNSBiKGFsdWUpMzEgYihgKXAgRnMoQylwIEZ0KCcuKTYzMCA0MjYwCitiKHRvKWcodGhlKWcodiktNSBiKGFsdWUpMzEgYihgKXAgRnMoQylwIEZ0KCcuKTYzMCAxOTkwCiB5KFdpdGhpbikyMyBiKGApcCBGcyhbKXAgRnQoJyloKGFuZCllKGApcCBGcyhdKXAgRnQoJywpagogRnEoYyltKGhhcmFjdGVyKWcoY2xhc3NlcylqIEZ0KGNhbiljKGIpcyhlKWUoc3ApcyhlY2lcMDE0ZWQpaCh1c2luZylmCiAodGhlKWkoc3luKW0odGF4KWYgRnMoWzopcCBGcShjbGFzcyl0IEZzKDpdKXAgRnQoLCk2MzAKLTQzNjkgeSh3aGVyZSkzMCBiIEZxKGNsYXNzKTM1IGIgRnQoaXMpMzAgYihvbmUpaChvZilmKHRoZSloKGZvbGxvKW0KKzIwOTkgeSh3aGVyZSkzMCBiIEZxKGNsYXNzKTM1IGIgRnQoaXMpMzAgYihvbmUpaChvZilmKHRoZSloKGZvbGxvKW0KICh3aW5nKWgoY2xhc3NlcylmKGRlXDAxNG5lZCllKGluKWgodGhlKWggRmwocG9zaXgpZiBGdChzdGFuZGFyZDopODcwCi00NTAzIHkgRnMoYWxudW0pMTQyIGIoYWxwaGEpZyhhc2NpaSlmKGJsYW5rKWgoY250cmwpZyhkaWdpdClnKGdyYXBoKWcKLShsb3dlcik4NzAgNDYxMiB5KHByaW50KWcocHVuY3QpZyhzcGFjZSlmKHVwcGVyKWgod29yZCkxOTAKLWIoeGRpZ2l0KTYzMCA0NzQ1IHkgRnQoQSk0MiBiKGMpbShoYXJhY3RlciloKGNsYXNzKWYobWF0YyltKGhlcyloKGFuKW0KKzIyMzMgeSBGcyhhbG51bSkxNDIgYihhbHBoYSlnKGFzY2lpKWYoYmxhbmspaChjbnRybClnKGRpZ2l0KWcoZ3JhcGgpZworKGxvd2VyKTg3MCAyMzQyIHkocHJpbnQpZyhwdW5jdClnKHNwYWNlKWYodXBwZXIpaCh3b3JkKTE5MAorYih4ZGlnaXQpNjMwIDI0NzUgeSBGdChBKTQyIGIoYyltKGhhcmFjdGVyKWgoY2xhc3MpZihtYXRjKW0oaGVzKWgoYW4pbQogKHkpZihjKW0oaGFyYWN0ZXIpaChiKXMoZWxvbmdpbmcpZih0bylnKHRoYXQpZyhjbGFzcy4pNzUKLWIoVGhlKTQxIGIgRnMod29yZCk2MzAgNDg1NSB5IEZ0KGMpbShoYXJhY3RlcikzMiBiKGNsYXNzKWYobWF0YyltKGhlcyloCitiKFRoZSk0MSBiIEZzKHdvcmQpNjMwIDI1ODUgeSBGdChjKW0oaGFyYWN0ZXIpMzIgYihjbGFzcylmKG1hdGMpbShoZXMpaAogKGxldHRlcnMsKWYoZGlnaXRzLCloKGFuZClkKHRoZSlpKGMpbShoYXJhY3RlciloKGApcAotRnMoXylwIEZ0KCcuKTYzMCA0OTg4IHkoV2l0aGluKTI1IGIoYClwIEZzKFspcCBGdCgnKWYoYW5kKWcoYClwCitGcyhfKXAgRnQoJy4pNjMwIDI3MTggeShXaXRoaW4pMjUgYihgKXAgRnMoWylwIEZ0KCcpZihhbmQpZyhgKXAKIEZzKF0pcCBGdCgnLClpKGFuKWUgRnEoZXF1aXYpLTUgYihhbGVuY2UpMjYgYihjbGFzcylqCiBGdChjYW4pMjQgYihiKXMoZSlnKHNwKXMoZWNpXDAxNGVkKWcodXNpbmcpZyh0aGUpZyhzeW4pbSh0YXgpaAotRnMoWz0pcCBGcShjKTYgYiBGcyg9XSlwIEZ0KCwpNjMwIDUwOTcgeSh3aGljKW0oaCkyOQorRnMoWz0pcCBGcShjKTYgYiBGcyg9XSlwIEZ0KCwpNjMwIDI4MjggeSh3aGljKW0oaCkyOQogYihtYXRjKW0oaGVzKWkoYWxsKWYoYyltKGhhcmFjdGVycyloKHdpdGgpZSh0aGUpaChzYW1lKWcoY29sbGF0aW9uKWgodykKLW0oZWlnaCltKHQpZyhcKGFzKWYoZGVcMDE0bmVkKWUoYiltKHkpaSh0aGUpNjMwIDUyMDcKK20oZWlnaCltKHQpZyhcKGFzKWYoZGVcMDE0bmVkKWUoYiltKHkpaSh0aGUpNjMwIDI5MzcKIHkoY3VycmVuKW0odClnKGxvKXMoY2FsZVwpKWooYXMpZCh0aGUpaChjKW0oaGFyYWN0ZXIpaAotRnEoYylwIEZ0KC4pNjMwIDUzNDAgeShXaXRoaW4pMjIgYihgKXAgRnMoWylwIEZ0KCcpZihhbmQpZyhgKXAKLUZzKF0pcCBGdCgnLClqKHRoZSlkKHN5biltKHRheCloIEZzKFsuKXAgRnEoc3ltKW0oYilzKG9sKXQKLUZzKC5dKWUgRnQobWF0YyltKGhlcylpKHRoZSlnKGNvbGxhdGluZylpKHN5bSltKGIpcyhvbClkCi1GcShzeW0pbShiKXMob2wpcCBGdCguKXAgZW9wIGVuZAotJSVQYWdlOiAyNiAzMgotVGVYRGljdCBiZWdpbiAyNiAzMSBib3AgMTUwIC0xMTYgYSBGdCgyNikyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMjc1IDI5OSB5KElmKWUodGhlKWcgRnMoZXh0Z2xvYilmCitGcShjKTYgYiBGdCguKTYzMCAzMDcwIHkoV2l0aGluKTIxIGIoYClwIEZzKFspcCBGdCgnKWgoYW5kKWUoYClwCitGcyhdKXAgRnQoJywpaih0aGUpZihzeW4pbSh0YXgpZiBGcyhbLilwIEZxKHN5bSltKGIpcyhvbCl0CitGcyguXSlmIEZ0KG1hdGMpbShoZXMpaSh0aGUpZihjb2xsYXRpbmcpaihzeW0pbShiKXMob2wpYworRnEoc3ltKW0oYilzKG9sKXQgRnQoLikyNzUgMzIyNyB5KElmKTI5IGIodGhlKWcgRnMoZXh0Z2xvYilmCiBGdChzaGVsbCloKG9wdGlvbiloKGlzKWcoZW5hYmxlZClmKHVzaW5nKWcodGhlKWggRnMoc2hvcHQpZQotRnQoYnVpbHRpbiwpaChzZXYpbShlcmFsKWkoZXh0ZW5kZWQpZihwYXR0ZXJuKTE1MCA0MDgKK0Z0KGJ1aWx0aW4sKWgoc2V2KW0oZXJhbClpKGV4dGVuZGVkKWYocGF0dGVybikxNTAgMzMzNgogeShtYXRjKW0oaGluZykzNyBiKG9wKXMoZXJhdG9ycyllKGFyZSloKHJlY29nbml6ZWQuKTU4CiBiKEluKTM1IGIodGhlKWcoZm9sbG8pbSh3aW5nKWkoZGVzY3JpcHRpb24sKWcoYSlmIEZxKHBhdHRlcm4tbGlzdClqCi1GdChpcylkKGEpZyhsaXN0KWcob2YpMTUwIDUxOCB5KG9uZSlkKG9yKWYobW9yZSloKHBhdHRlcm5zKWYoc2VwYXJhdGVkKQotaChiKW0oeSlmKGEpaChgKXAgRnMofClwIEZ0KCcuKTQ3IGIoQ29tcClzKG9zaXRlKTMzIGIocGF0dGVybnMpZihtYSltCi0oeSlpKGIpcyhlKWQoZm9ybWVkKWgodXNpbmcpZyhvbmUpaChvcikxNTAgNjI4IHkobW9yZSllKG9mKWYodGhlKWgKLShmb2xsbyltKHdpbmcpZyhzdWItcGF0dGVybnM6KTE1MCA3OTAgeSBGcyg/XCgpcCBGaihwYXR0ZXJuLWxpc3QpMTEKLWIgRnMoXCkpNjMwIDg5OSB5IEZ0KE1hdGMpbShoZXMpMzIgYih6ZXJvKWYob3IpZyhvbmUpZihvKXMoY2N1cnJlbmNlKWgKLShvZilmKHRoZSloKGdpdiltKGVuKWcocGF0dGVybnMuKTE1MCAxMDYwIHkgRnMoKlwoKXAKLUZqKHBhdHRlcm4tbGlzdCkxMSBiIEZzKFwpKTYzMCAxMTcwIHkgRnQoTWF0YyltKGhlcykzMgotYih6ZXJvKWYob3IpZyhtb3JlKWYobylzKGNjdXJyZW5jZXMpaChvZilmKHRoZSloKGdpdiltKGVuKWcocGF0dGVybnMuKQotMTUwIDEzMzEgeSBGcygrXCgpcCBGaihwYXR0ZXJuLWxpc3QpMTEgYiBGcyhcKSk2MzAgMTQ0MAoteSBGdChNYXRjKW0oaGVzKTMyIGIob25lKWYob3IpZihtb3JlKWgobylzKGNjdXJyZW5jZXMpZihvZiloKHRoZSlmKGdpdikKLW0oZW4paShwYXR0ZXJucy4pMTUwIDE2MDEgeSBGcyhAXCgpcCBGaihwYXR0ZXJuLWxpc3QpMTEKLWIgRnMoXCkpNjMwIDE3MTEgeSBGdChNYXRjKW0oaGVzKTMyIGIob25lKWYob2YpZih0aGUpaChnaXYpbShlbilnCi0ocGF0dGVybnMuKTE1MCAxODcyIHkgRnMoIVwoKXAgRmoocGF0dGVybi1saXN0KTExIGIgRnMoXCkpNjMwCi0xOTgyIHkgRnQoTWF0YyltKGhlcykzMiBiKGFuKW0oeXRoaW5nKWYoZXhjZXB0KWcob25lKWcob2YpZih0aGUpaChnaXYpbQotKGVuKWcocGF0dGVybnMuKTE1MCAyMjA5IHkgRmsoMy41LjkpNjMgYihRdW90ZSk0MSBiKFJlbW8pbSh2KS03Ci1iKGFsKTI3NSAyNDU1IHkgRnQoQWZ0ZXIpMzIgYih0aGUpaChwcmVjZWRpbmcpZihleHBhbnNpb25zLCloKGFsbClnCi0odW5xdW90ZWQpZihvKXMoY2N1cnJlbmNlcylnKG9mKWgodGhlKWYoYyltKGhhcmFjdGVycylpKGApcAotRnMoXFwpcCBGdCgnLClmKGApcCBGcygnKXAgRnQoJywpaChhbmQpMTUwIDI1NjUgeShgKXAKLUZzKCIpcCBGdCgnKWQodGhhdClnKGRpZCllKG5vdClpKHJlc3VsdClmKGZyb20pZyhvbmUpaChvZilmKHRoZSloKGFiKXMKLShvKW0odiltKGUpZyhleHBhbnNpb25zKWYoYXJlKWgocmVtbyltKHYpbShlZC4pMTUwIDI4MjYKLXkgRnIoMy42KTY4IGIoUmVkaXJlY3Rpb25zKTI3NSAzMDcyIHkgRnQoQmVmb3JlKTMzIGIoYSloKGNvbW1hbmQpZShpcyloCi0oZXhlY3V0ZWQsKWkoaXRzKWUoaW5wdXQpZihhbmQpaChvdXRwdXQpZihtYSltKHkpaShiKXMoZSllCi1GcShyZWRpcmVjdGVkKTM3IGIgRnQodXNpbmcpMzIgYihhKWgoc3ApcyhlY2lhbCkxNTAgMzE4MQoteShub3RhdGlvbilnKGluKW0odGVycHJldGVkKWcoYiltKHkpZih0aGUpZyhzaGVsbC4pNDYKK0Z0KGlzKWQoYSlnKGxpc3QpZyhvZikxNTAgMzQ0NiB5KG9uZSlkKG9yKWYobW9yZSloKHBhdHRlcm5zKWYKKyhzZXBhcmF0ZWQpaChiKW0oeSlmKGEpaChgKXAgRnMofClwIEZ0KCcuKTQ3IGIoQ29tcClzKG9zaXRlKTMzCitiKHBhdHRlcm5zKWYobWEpbSh5KWkoYilzKGUpZChmb3JtZWQpaCh1c2luZylnKG9uZSloKG9yKTE1MAorMzU1NiB5KG1vcmUpZShvZilmKHRoZSloKGZvbGxvKW0od2luZylnKHN1Yi1wYXR0ZXJuczopMTUwCiszNzEyIHkgRnMoP1woKXAgRmkocGF0dGVybi1saXN0KTExIGIgRnMoXCkpNjMwIDM4MjIgeQorRnQoTWF0YyltKGhlcykzMiBiKHplcm8pZihvcilnKG9uZSlmKG8pcyhjY3VycmVuY2UpaChvZilmKHRoZSloKGdpdiltCisoZW4pZyhwYXR0ZXJucy4pMTUwIDM5NzkgeSBGcygqXCgpcCBGaShwYXR0ZXJuLWxpc3QpMTEKK2IgRnMoXCkpNjMwIDQwODggeSBGdChNYXRjKW0oaGVzKTMyIGIoemVybylmKG9yKWcobW9yZSlmKG8pcworKGNjdXJyZW5jZXMpaChvZilmKHRoZSloKGdpdiltKGVuKWcocGF0dGVybnMuKTE1MCA0MjQ1Cit5IEZzKCtcKClwIEZpKHBhdHRlcm4tbGlzdCkxMSBiIEZzKFwpKTYzMCA0MzU0IHkgRnQoTWF0YyltKGhlcykzMgorYihvbmUpZihvcilmKG1vcmUpaChvKXMoY2N1cnJlbmNlcylmKG9mKWgodGhlKWYoZ2l2KW0oZW4paShwYXR0ZXJucy4pCisxNTAgNDUxMSB5IEZzKEBcKClwIEZpKHBhdHRlcm4tbGlzdCkxMSBiIEZzKFwpKTYzMCA0NjIxCit5IEZ0KE1hdGMpbShoZXMpMzIgYihvbmUpZihvZilmKHRoZSloKGdpdiltKGVuKWcocGF0dGVybnMuKTE1MAorNDc3NyB5IEZzKCFcKClwIEZpKHBhdHRlcm4tbGlzdCkxMSBiIEZzKFwpKTYzMCA0ODg3IHkKK0Z0KE1hdGMpbShoZXMpMzIgYihhbiltKHl0aGluZylmKGV4Y2VwdClnKG9uZSlnKG9mKWYodGhlKWgoZ2l2KW0oZW4pZworKHBhdHRlcm5zLikxNTAgNTA4MyB5IEZqKDMuNS45KTYzIGIoUXVvdGUpNDEgYihSZW1vKW0odiktNworYihhbCkxNTAgNTIzMCB5IEZ0KEFmdGVyKTMyIGIodGhlKWcocHJlY2VkaW5nKWcoZXhwYW5zaW9ucywpaChhbGwpZgorKHVucXVvdGVkKWYobylzKGNjdXJyZW5jZXMpaChvZilnKHRoZSloKGMpbShoYXJhY3RlcnMpZyhgKXAKK0ZzKFxcKXAgRnQoJywpZyhgKXAgRnMoJylwIEZ0KCcsKWYoYW5kKWcoYClwIEZzKCIpcCBGdCgnKTE1MAorNTM0MCB5KHRoYXQpZihkaWQpZihub3QpZyhyZXN1bHQpZyhmcm9tKWcob25lKWgob2YpZyh0aGUpZihhYilzKG8pbSh2KW0KKyhlKWkoZXhwYW5zaW9ucyllKGFyZSloKHJlbW8pbSh2KW0oZWQuKXAgZW9wIGVuZAorJSVQYWdlOiAyNiAzMgorVGVYRGljdCBiZWdpbiAyNiAzMSBib3AgMTUwIC0xMTYgYSBGdCgyNikyNTcyIGIoQmFzaCkzMQorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5IEZyKDMuNik2OCBiKFJlZGlyZWN0aW9ucykxNTAKKzQ1OCB5IEZ0KEJlZm9yZSk0MyBiKGEpZihjb21tYW5kKWYoaXMpaChleGVjdXRlZCwpaihpdHMpZChpbnB1dClmKGFuZClnCisob3V0cHV0KWcobWEpbSh5KWkoYilzKGUpZSBGcShyZWRpcmVjdGVkKWsgRnQodXNpbmcpYyhhKWgoc3ApcyhlY2lhbCkKKzE1MCA1NjggeShub3RhdGlvbikzMyBiKGluKW0odGVycHJldGVkKWcoYiltKHkpZih0aGUpZyhzaGVsbC4pNDYKIGIoUmVkaXJlY3Rpb24pMzMgYihtYSltKHkpZyhhbHNvKWcoYilzKGUpZih1c2VkKWYodG8paShvcClzKGVuKWUoYW5kKWgKLShjbG9zZSloKFwwMTRsZXMpZihmb3IpMTUwIDMyOTEgeSh0aGUpaChjdXJyZW4pbSh0KWcoc2hlbGwpZyhleGVjdXRpb24pCi1oKGVuKW0odmlyb25tZW4pbSh0Lik0OSBiKFRoZSkzMyBiKGZvbGxvKW0od2luZyloKHJlZGlyZWN0aW9uKWcob3ApcwotKGVyYXRvcnMpZihtYSltKHkpaChwcmVjZWRlKTE1MCAzNDAxIHkob3IpMjkgYihhcHApcyhlYXIpZyhhbiltKHl3aGVyZSkKLWcod2l0aGluKWcoYSloKHNpbXBsZSlmKGNvbW1hbmQpZyhvciloKG1hKW0oeSlnKGZvbGxvKW0odylnKGEpZwotKGNvbW1hbmQuKTQwIGIoUmVkaXJlY3Rpb25zKTMxIGIoYXJlKTE1MCAzNTEwIHkocHJvKXMoY2Vzc2VkKWYoaW4pZwotKHRoZSlnKG9yZGVyKWcodGhleSloKGFwcClzKGVhciwpZihmcm9tKWcobGVmdCloKHRvKWcocmlnaCltKHQuKTI3NQotMzY0NiB5KEluKWModGhlKWkoZm9sbG8pbSh3aW5nKWgoZGVzY3JpcHRpb25zLClnKGlmKWUodGhlKWgoXDAxNGxlKWcKKyhjbG9zZSloKFwwMTRsZXMpZihmb3IpMTUwIDY3NyB5KHRoZSloKGN1cnJlbiltKHQpZyhzaGVsbClnKGV4ZWN1dGlvbiloCisoZW4pbSh2aXJvbm1lbiltKHQuKTQ5IGIoVGhlKTMzIGIoZm9sbG8pbSh3aW5nKWgocmVkaXJlY3Rpb24pZyhvcClzCisoZXJhdG9ycylmKG1hKW0oeSloKHByZWNlZGUpMTUwIDc4NyB5KG9yKTI5IGIoYXBwKXMoZWFyKWcoYW4pbSh5d2hlcmUpZworKHdpdGhpbilnKGEpaChzaW1wbGUpZihjb21tYW5kKWcob3IpaChtYSltKHkpZyhmb2xsbyltKHcpZyhhKWcKKyhjb21tYW5kLik0MCBiKFJlZGlyZWN0aW9ucykzMSBiKGFyZSkxNTAgODk3IHkocHJvKXMoY2Vzc2VkKWYoaW4pZyh0aGUpCitnKG9yZGVyKWcodGhleSloKGFwcClzKGVhciwpZihmcm9tKWcobGVmdCloKHRvKWcocmlnaCltKHQuKTI3NQorMTA0OCB5KEVhYyltKGgpNDUgYihyZWRpcmVjdGlvbiloKHRoYXQpZihtYSltKHkpaChiKXMoZSllKHByZWNlZGVkKWcoYikKK20oeSloKGEpaChcMDE0bGUpZihkZXNjcmlwdG9yKWYobiltKHVtKW0oYilzKGVyKWcobWEpbSh5KWgoaW5zdGVhZCloKGIpCitzKGUpMTUwIDExNTggeShwcmVjZWRlZCk0MSBiKGIpbSh5KWcoYSlnKHcpbShvcmQpZyhvZilnKHRoZSlnKGZvcm0pZworRnMoeylwIEZxKHYpLTUgYihhcm5hbWUpNSBiIEZzKH0pcCBGdCguKTcyIGIoSW4pNDAgYih0aGlzKWgoY2FzZSwpaworKGZvciljKGVhYyltKGgpaChyZWRpcmVjdGlvbilnKG9wKXMoZXJhdG9yKTE1MCAxMjY3IHkoZXhjZXB0KTMwCitiIEZzKD4pcCBGdCgmLSlmKGFuZClmIEZzKDwpcCBGdCgmLSwpaCh0aGUpZyhzaGVsbClnKHdpbGwpaChhbGxvKXMKKyhjYXRlKWgoYSllKFwwMTRsZSloKGRlc2NyaXB0b3IpZShncmVhdGVyKWoodGhhbilkKDEwKWkoYW5kKWUoYXNzaWduKWkKKyhpdClmKHRvKTE1MCAxMzc3IHkgRnMoeylwIEZxKHYpLTUgYihhcm5hbWUpNSBiIEZzKH0pcAorRnQoLik0MiBiKElmKTMxIGIgRnMoPilwIEZ0KCYtKWYob3IpaCBGcyg8KXAgRnQoJi0pZyhpcylnKHByZWNlZGVkKWcoYikKK20oeSlnIEZzKHspcCBGcSh2KS01IGIoYXJuYW1lKTUgYiBGcyh9KXAgRnQoLCkzMSBiKHRoZSlnKHYpLTUKK2IoYWx1ZSkzMSBiKG9mKWcgRnEodiktNSBiKGFybmFtZSkzNyBiIEZ0KGRlXDAxNG5lcykzMAorYih0aGUpaChcMDE0bGUpMTUwIDE0ODYgeShkZXNjcmlwdG9yKWYodG8paChjbG9zZS4pMjc1CisxNjM4IHkoSW4pYyh0aGUpaShmb2xsbyltKHdpbmcpaChkZXNjcmlwdGlvbnMsKWcoaWYpZSh0aGUpaChcMDE0bGUpZwogKGRlc2NyaXB0b3IpZihuKW0odW0pbShiKXMoZXIpZyhpcylnKG9taXR0ZWQsKWkoYW5kKWYodGhlKWYoXDAxNHJzdClnCi0oYyltKGhhci0pMTUwIDM3NTYgeShhY3Rlcik0MiBiKG9mKWYodGhlKWcocmVkaXJlY3Rpb24pZyhvcClzKGVyYXRvcilnCisoYyltKGhhci0pMTUwIDE3NDcgeShhY3Rlcik0MiBiKG9mKWYodGhlKWcocmVkaXJlY3Rpb24pZyhvcClzKGVyYXRvcilnCiAoaXMpZyhgKXAgRnMoPClwIEZ0KCcsKWkodGhlKWUocmVkaXJlY3Rpb24pZyhyZWZlcnMpZyh0bylnKHRoZSlnCi0oc3RhbmRhcmQpZihpbnB1dClmKFwoXDAxNGxlKTE1MCAzODY2IHkoZGVzY3JpcHRvcikzMworKHN0YW5kYXJkKWYoaW5wdXQpZihcKFwwMTRsZSkxNTAgMTg1NyB5KGRlc2NyaXB0b3IpMzMKIGIoMFwpLik0OSBiKElmKTMzIGIodGhlKWcoXDAxNHJzdClmKGMpbShoYXJhY3RlcilpKG9mKWcodGhlKWYKIChyZWRpcmVjdGlvbilnKG9wKXMoZXJhdG9yKWgoaXMpZihgKXAgRnMoPilwIEZ0KCcsKWgodGhlKWYocmVkaXJlY3Rpb24pCi1nKHJlZmVycykxNTAgMzk3NSB5KHRvKWUodGhlKWcoc3RhbmRhcmQpZShvdXRwdXQpaChcKFwwMTRsZSloCi0oZGVzY3JpcHRvcilmKDFcKS4pMjc1IDQxMTEgeShUaGUpaCh3KW0ob3JkKWgoZm9sbG8pbSh3aW5nKWkodGhlKWYKK2cocmVmZXJzKTE1MCAxOTY2IHkodG8pZSh0aGUpZyhzdGFuZGFyZCllKG91dHB1dCloKFwoXDAxNGxlKWgKKyhkZXNjcmlwdG9yKWYoMVwpLikyNzUgMjExOCB5KFRoZSloKHcpbShvcmQpaChmb2xsbyltKHdpbmcpaSh0aGUpZgogKHJlZGlyZWN0aW9uKWcob3ApcyhlcmF0b3IpZihpbilnKHRoZSloKGZvbGxvKW0od2luZyloKGRlc2NyaXB0aW9ucywpZgotKHVubGVzcyllKG90aGVyLSkxNTAgNDIyMSB5KHdpc2UpMjEgYihub3RlZCwpaShpcyllKHN1Yik1CisodW5sZXNzKWUob3RoZXItKTE1MCAyMjI3IHkod2lzZSkyMSBiKG5vdGVkLClpKGlzKWUoc3ViKTUKIGIoamVjdGVkKTIxIGIodG8paChicmFjZSlmKGV4cGFuc2lvbiwpaSh0aWxkZSlmKGV4cGFuc2lvbiwpaChwYXJhbWV0ZXIpCi1lKGV4cGFuc2lvbiwpaShjb21tYW5kKTE1MCA0MzMwIHkoc3Vic3RpdHV0aW9uLCkzMSBiKGFyaXRobWV0aWMpaAorZShleHBhbnNpb24sKWkoY29tbWFuZCkxNTAgMjMzNyB5KHN1YnN0aXR1dGlvbiwpMzEgYihhcml0aG1ldGljKWgKIChleHBhbnNpb24sKWYocXVvdGUpaChyZW1vKW0odiktNSBiKGFsLCkzMyBiKFwwMTRsZW5hbWUpZShleHBhbnNpb24sKWcKLShhbmQpZih3KW0ob3JkKWgoc3BsaXR0aW5nLikxNTAgNDQ0MCB5KElmKWYoaXQpaChleHBhbmRzKWUodG8paShtb3JlKWcKKyhhbmQpZih3KW0ob3JkKWgoc3BsaXR0aW5nLikxNTAgMjQ0NyB5KElmKWYoaXQpaChleHBhbmRzKWUodG8paShtb3JlKWcKICh0aGFuKWYob25lKWgodyltKG9yZCwpZihCYXNoKWgocmVwKXMob3J0cyllKGFuKWgoZXJyb3IuKTI3NQotNDU3NiB5KE5vdGUpaCh0aGF0KWcodGhlKWcob3JkZXIpZihvZilnKHJlZGlyZWN0aW9ucyloKGlzKWcKKzI1OTggeShOb3RlKWgodGhhdClnKHRoZSlnKG9yZGVyKWYob2YpZyhyZWRpcmVjdGlvbnMpaChpcylnCiAoc2lnbmlcMDE0Y2FuKW0odC4pNDEgYihGKS04IGIob3IpMzEgYihleGFtcGxlLCloKHRoZSllKGNvbW1hbmQpMzkwCi00NzEyIHkgRnMobHMpNDcgYig+KWggRmooZGlybGlzdCk1NiBiIEZzKDI+JjEpMTUwIDQ4NDgKKzI3NDkgeSBGcyhscyk0NyBiKD4paCBGaShkaXJsaXN0KTU2IGIgRnMoMj4mMSkxNTAgMjkwMQogeSBGdChkaXJlY3RzKTI4IGIoYilzKG90aClmKHN0YW5kYXJkKWcob3V0cHV0KWcoXChcMDE0bGUpaChkZXNjcmlwdG9yKWYKICgxXCkpaShhbmQpZShzdGFuZGFyZClmKGVycm9yKWkoXChcMDE0bGUpZyhkZXNjcmlwdG9yKWYoMlwpKWgodG8paCh0aGUpCi0xNTAgNDk1OCB5KFwwMTRsZSloIEZxKGRpcmxpc3QpcCBGdCgsKWgod2hpbGUpZih0aGUpaChjb21tYW5kKTM5MAotNTA5NCB5IEZzKGxzKTQ3IGIoMj4mMSlnKD4pZyBGaihkaXJsaXN0KTE1MCA1MjMwIHkgRnQoZGlyZWN0cykzNAotYihvbmx5KWcodGhlKWYoc3RhbmRhcmQpZyhvdXRwdXQpZyh0byloKFwwMTRsZSlnIEZxKGRpcmxpc3QpcAotRnQoLCloKGIpcyhlY2F1c2UpZSh0aGUpaChzdGFuZGFyZClmKGVycm9yKWcodyltKGFzKWgoZHVwbGljYXRlZCkxNTAKLTUzNDAgeShhcylkKHN0YW5kYXJkKWUob3V0cHV0KWgoYilzKGVmb3JlKWcodGhlKWgoc3RhbmRhcmQpZShvdXRwdXQpaAotKHcpbShhcyloKHJlZGlyZWN0ZWQpZyh0bylnIEZxKGRpcmxpc3QpcCBGdCguKXAgZW9wIGVuZAorMTUwIDMwMTAgeShcMDE0bGUpaCBGcShkaXJsaXN0KXIgRnQoLCloKHdoaWxlKWYodGhlKWgoY29tbWFuZCkzOTAKKzMxNjEgeSBGcyhscyk0NyBiKDI+JjEpZyg+KWcgRmkoZGlybGlzdCkxNTAgMzMxMyB5IEZ0KGRpcmVjdHMpMjgKK2Iob25seSlmKHRoZSlnKHN0YW5kYXJkKWcob3V0cHV0KWcodG8paChcMDE0bGUpZiBGcShkaXJsaXN0KXIKK0Z0KCwpaChiKXMoZWNhdXNlKWcodGhlKWYoc3RhbmRhcmQpZyhlcnJvcilnKHcpbShhcylnKG1hZGUpaChhKWYoY29wKW0KKyh5KTE1MCAzNDIyIHkob2Ypayh0aGUpZihzdGFuZGFyZClnKG91dHB1dClnKGIpcyhlZm9yZSlnKHRoZSlnCisoc3RhbmRhcmQpZyhvdXRwdXQpZyh3KW0oYXMpZyhyZWRpcmVjdGVkKWgodG8pZyBGcShkaXJsaXN0KXIKK0Z0KC4pMjc1IDM1NzQgeShCYXNoKTI2IGIoaGFuZGxlcylmKHNldiltKGVyYWwpaihcMDE0bGVuYW1lcyllKHNwKXMKKyhlY2lhbGx5KWgod2hlbilmKHRoZXkpZyhhcmUpZyh1c2VkKWcoaW4pZyhyZWRpcmVjdGlvbnMsKWkoYXMpZQorKGRlc2NyaWIpcyhlZCkxNTAgMzY4MyB5KGluKWsodGhlKWgoZm9sbG8pbSh3aW5nKWcodGFibGU6KTE1MAorMzg2OCB5IEZzKC9kZXYvZmQvKXAgRmkoZmQpNjMwIDM5NzcgeSBGdChJZilmIEZxKGZkKWoKK0Z0KGlzKWQoYSloKHYpLTUgYihhbGlkKTMxIGIoaW4pbSh0ZWdlciwpaChcMDE0bGUpZShkZXNjcmlwdG9yKWgKK0ZxKGZkKWkgRnQoaXMpZChkdXBsaWNhdGVkLikxNTAgNDE1NCB5IEZzKC9kZXYvc3RkaW4pNjMwCis0MjYzIHkgRnQoRmlsZSlpKGRlc2NyaXB0b3IpZSgwKWgoaXMpZihkdXBsaWNhdGVkLikxNTAKKzQ0NDAgeSBGcygvZGV2L3N0ZG91dCk2MzAgNDU0OSB5IEZ0KEZpbGUpaShkZXNjcmlwdG9yKWUoMSloKGlzKWYKKyhkdXBsaWNhdGVkLikxNTAgNDcyNSB5IEZzKC9kZXYvc3RkZXJyKTYzMCA0ODM1IHkgRnQoRmlsZSlpKGRlc2NyaXB0b3IpCitlKDIpaChpcylmKGR1cGxpY2F0ZWQuKTE1MCA1MDExIHkgRnMoL2Rldi90Y3AvKXAgRmkoaG9zdCkxMQorYiBGcygvKXAgRmkocG9ydCk2MzAgNTEyMSB5IEZ0KElmKTQxIGIgRnEoaG9zdClpIEZ0KGlzKWYoYSlnKHYpLTUKK2IoYWxpZCk0MSBiKGhvc3RuYW1lKWgob3IpZihJbiltKHRlcm5ldCloKGFkZHJlc3MsKWkoYW5kKWMKK0ZxKHApcyhvcnQpaiBGdChpcylmKGFuKWYoaW4pbSh0ZWdlcilpKHApcyhvcnQpNjMwIDUyMzAKK3kobiltKHVtKW0oYilzKGVyKWgob3IpaChzZXJ2aWNlKWgobmFtZSwpaihCYXNoKWMoYXR0ZW1wdHMpaCh0bylnKG9wKXMKKyhlbilmKGEpZyhUQ1ApZyhjb25uZWN0aW9uKWgodG8pZyh0aGUpNjMwIDUzNDAgeShjb3JyZXNwKXMob25kaW5nKTI5CitiKHNvKXMoYyltKGspbShldC4pcCBlb3AgZW5kCiAlJVBhZ2U6IDI3IDMzCiBUZVhEaWN0IGJlZ2luIDI3IDMyIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYigzOik0MQotYihCYXNpYykzMiBiKFNoZWxsKWUoRiktOCBiKGVhdHVyZXMpMjI0NiBiKDI3KTI3NSAyOTkKLXkoQmFzaCkyNiBiKGhhbmRsZXMpZihzZXYpbShlcmFsKWooXDAxNGxlbmFtZXMpZShzcClzKGVjaWFsbHkpaCh3aGVuKWYKLSh0aGV5KWcoYXJlKWcodXNlZClnKGluKWcocmVkaXJlY3Rpb25zLClpKGFzKWUoZGVzY3JpYilzKGVkKTE1MAotNDA4IHkoaW4payh0aGUpaChmb2xsbyltKHdpbmcpZyh0YWJsZTopMTUwIDU1OSB5IEZzKC9kZXYvZmQvKXAKLUZqKGZkKTYzMCA2NjkgeSBGdChJZilmIEZxKGZkKWogRnQoaXMpZChhKWgodiktNSBiKGFsaWQpMzEKLWIoaW4pbSh0ZWdlciwpaChcMDE0bGUpZShkZXNjcmlwdG9yKWggRnEoZmQpaSBGdChpcylkKGR1cGxpY2F0ZWQuKTE1MAotODIwIHkgRnMoL2Rldi9zdGRpbik2MzAgOTI5IHkgRnQoRmlsZSlpKGRlc2NyaXB0b3IpZSgwKWgoaXMpZgotKGR1cGxpY2F0ZWQuKTE1MCAxMDgwIHkgRnMoL2Rldi9zdGRvdXQpNjMwIDExOTAgeSBGdChGaWxlKWkoZGVzY3JpcHRvcikKLWUoMSloKGlzKWYoZHVwbGljYXRlZC4pMTUwIDEzNDEgeSBGcygvZGV2L3N0ZGVycik2MzAKLTE0NTAgeSBGdChGaWxlKWkoZGVzY3JpcHRvcillKDIpaChpcylmKGR1cGxpY2F0ZWQuKTE1MAotMTYwMSB5IEZzKC9kZXYvdGNwLylwIEZqKGhvc3QpMTEgYiBGcygvKXAgRmoocG9ydCk2MzAKLTE3MTEgeSBGdChJZik0MSBiIEZxKGhvc3QpaSBGdChpcylmKGEpZyh2KS01IGIoYWxpZCk0MQotYihob3N0bmFtZSloKG9yKWYoSW4pbSh0ZXJuZXQpaChhZGRyZXNzLClpKGFuZCljIEZxKHApcyhvcnQpagotRnQoaXMpZihhbilmKGluKW0odGVnZXIpaShwKXMob3J0KTYzMCAxODIwIHkobiltKHVtKW0oYilzKGVyKWgob3IpaAotKHNlcnZpY2UpaChuYW1lLClqKEJhc2gpYyhhdHRlbXB0cyloKHRvKWcob3ApcyhlbilmKGEpZyhUQ1ApZwotKGNvbm5lY3Rpb24paCh0bylnKHRoZSk2MzAgMTkzMCB5KGNvcnJlc3ApcyhvbmRpbmcpMjkKLWIoc28pcyhjKW0oayltKGV0LikxNTAgMjA4MSB5IEZzKC9kZXYvdWRwLylwIEZqKGhvc3QpMTEKLWIgRnMoLylwIEZqKHBvcnQpNjMwIDIxOTAgeSBGdChJZik0MSBiIEZxKGhvc3QpaSBGdChpcylmKGEpZyh2KS01Ci1iKGFsaWQpNDEgYihob3N0bmFtZSloKG9yKWYoSW4pbSh0ZXJuZXQpaChhZGRyZXNzLClpKGFuZCljCi1GcShwKXMob3J0KWogRnQoaXMpZihhbilmKGluKW0odGVnZXIpaShwKXMob3J0KTYzMCAyMzAwCi15KG4pbSh1bSltKGIpcyhlcilnKG9yKWkoc2VydmljZSlnKG5hbWUsKWsoQmFzaCljKGF0dGVtcHRzKWcodG8paChvcClzCi0oZW4pZShhKWgoVURQKWcoY29ubmVjdGlvbilnKHRvKWgodGhlKTYzMCAyNDEwIHkoY29ycmVzcClzKG9uZGluZykyOQotYihzbylzKGMpbShrKW0oZXQuKTI3NSAyNTYwIHkoQSloKGZhaWx1cmUpaCh0bylnKG9wKXMoZW4pZShvcilpKGNyZWF0ZSkKLWgoYSllKFwwMTRsZSloKGNhdXNlcylnKHRoZSlmKHJlZGlyZWN0aW9uKWgodG8pZyhmYWlsLikyNzUKLTI2OTEgeShSZWRpcmVjdGlvbnMpZih1c2luZyllKFwwMTRsZSlpKGRlc2NyaXB0b3JzKWYoZ3JlYXRlciloKHRoYW4pZgotKDkpaChzaG91bGQpZShiKXMoZSloKHVzZWQpZih3aXRoKWgoY2FyZSwpaChhcylnKHRoZXkpZihtYSltKHkpMTUwCi0yODAwIHkoY29uXDAxNWljdClpKHdpdGgpZihcMDE0bGUpaChkZXNjcmlwdG9ycylmKHRoZSlnKHNoZWxsKWgodXNlcylmCi0oaW4pbSh0ZXJuYWxseSktOCBiKC4pMTUwIDMwMTIgeSBGaygzLjYuMSk2MyBiKFJlZGlyZWN0aW5nKTQwCi1iKElucHV0KTI3NSAzMjUxIHkgRnQoUmVkaXJlY3Rpb24pMzUgYihvZilmKGlucHV0KWcoY2F1c2VzKWcodGhlKWgKLShcMDE0bGUpZih3aG9zZSlnKG5hbWUpaChyZXN1bHRzKWYoZnJvbSlnKHRoZSlnKGV4cGFuc2lvbilnKG9mKWgKLUZxKHcpbShvcmQpaSBGdCh0bykxNTAgMzM2MSB5KGIpcyhlKWQob3ApcyhlbmVkKWcoZm9yKWcocmVhZGluZylnKG9uKWgKLShcMDE0bGUpZihkZXNjcmlwdG9yKWggRnMobilwIEZ0KCwpZyhvcilnKHRoZSlmKHN0YW5kYXJkKWcoaW5wdXQpZwotKFwoXDAxNGxlKWgoZGVzY3JpcHRvcilmKDBcKSloKGlmKWcgRnMobilmIEZ0KGlzKTE1MAotMzQ3MSB5KG5vdClkKHNwKXMoZWNpXDAxNGVkLikyNzUgMzYwMSB5KFRoZSllKGdlbmVyYWwpaihmb3JtYXQpZShmb3IpaAotKHJlZGlyZWN0aW5nKWcoaW5wdXQpZShpczopMzkwIDM3MzEgeSBGcyhbKXAgRmoobikxMQotYiBGcyhdPClwIEZqKHdvcmQpMTUwIDM5NDIgeSBGaygzLjYuMik2MyBiKFJlZGlyZWN0aW5nKTQwCi1iKE91dHB1dCkyNzUgNDE4MiB5IEZ0KFJlZGlyZWN0aW9uKTMxIGIob2YpZihvdXRwdXQpZyhjYXVzZXMpaCh0aGUpZwotKFwwMTRsZSlmKHdob3NlKWcobmFtZSloKHJlc3VsdHMpZihmcm9tKWYodGhlKWkoZXhwYW5zaW9uKWYob2YpaAotRnEodyltKG9yZClpIEZ0KHRvKTE1MCA0MjkyIHkoYilzKGUpZShvcClzKGVuZWQpZyhmb3IpZyh3cml0aW5nKWgob24pZgotKFwwMTRsZSloKGRlc2NyaXB0b3IpZiBGcShuKXAgRnQoLCloKG9yKWYodGhlKWgoc3RhbmRhcmQpZihvdXRwdXQpZwotKFwoXDAxNGxlKWgoZGVzY3JpcHRvcilmKDFcKSloKGlmKWcgRnEobilmIEZ0KGlzKTE1MAotNDQwMSB5KG5vdClqKHNwKXMoZWNpXDAxNGVkLik1MCBiKElmKTMzIGIodGhlKWgoXDAxNGxlKWcoZG8pcyhlcylmKG5vdCkKLWgoZXhpc3QpZyhpdClnKGlzKWcoY3JlYXRlZDspaihpZiljKGl0KWgoZG8pcyhlcylnKGV4aXN0KWcoaXQpZyhpcylnCi0odHJ1bmNhdGVkKWcodG8pZyh6ZXJvKTE1MCA0NTExIHkoc2l6ZS4pMjc1IDQ2NDEgeShUaGUpMjkKLWIoZ2VuZXJhbClqKGZvcm1hdCllKGZvciloKHJlZGlyZWN0aW5nKWcob3V0cHV0KWYoaXM6KTM5MAotNDc3MSB5IEZzKFspcCBGaihuKTExIGIgRnMoXT5bfF0pcCBGaih3b3JkKTI3NSA0OTAyIHkKLUZ0KElmKTMwIGIodGhlKWgocmVkaXJlY3Rpb24pZyhvcClzKGVyYXRvcilnKGlzKWcoYClwCi1Gcyg+KXAgRnQoJywpZyhhbmQpZih0aGUpaCBGcyhub2Nsb2JiZXIpZCBGdChvcHRpb24paih0bylnKHRoZSlnCi1GcyhzZXQpZiBGdChidWlsdGluKWcoaGFzKWgoYilzKGVlbikxNTAgNTAxMSB5KGVuYWJsZWQsKWkodGhlKWYKLShyZWRpcmVjdGlvbiloKHdpbGwpZihmYWlsKWgoaWYpZih0aGUpZyhcMDE0bGUpZyh3aG9zZSlnKG5hbWUpZwotKHJlc3VsdHMpZyhmcm9tKWcodGhlKWcoZXhwYW5zaW9uKWcob2YpZyBGcSh3KW0ob3JkKTE1MAotNTEyMSB5IEZ0KGV4aXN0cylmKGFuZClmKGlzKWcoYSloKHJlZ3VsYXIpZyhcMDE0bGUuKTQxCitiKEJhc2ljKTMyIGIoU2hlbGwpZShGKS04IGIoZWF0dXJlcykyMjQ2IGIoMjcpMTUwIDI5OQoreSBGcygvZGV2L3VkcC8pcCBGaShob3N0KTExIGIgRnMoLylwIEZpKHBvcnQpNjMwIDQwOAoreSBGdChJZik0MSBiIEZxKGhvc3QpaSBGdChpcylmKGEpZyh2KS01IGIoYWxpZCk0MSBiKGhvc3RuYW1lKWgob3IpZihJbikKK20odGVybmV0KWgoYWRkcmVzcywpaShhbmQpYyBGcShwKXMob3J0KWogRnQoaXMpZihhbilmKGluKW0odGVnZXIpaShwKXMKKyhvcnQpNjMwIDUxOCB5KG4pbSh1bSltKGIpcyhlcilnKG9yKWkoc2VydmljZSlnKG5hbWUsKWsoQmFzaCljCisoYXR0ZW1wdHMpZyh0byloKG9wKXMoZW4pZShhKWgoVURQKWcoY29ubmVjdGlvbilnKHRvKWgodGhlKTYzMAorNjI4IHkoY29ycmVzcClzKG9uZGluZykyOSBiKHNvKXMoYyltKGspbShldC4pMjc1IDc4NQoreShBKWgoZmFpbHVyZSloKHRvKWcob3ApcyhlbillKG9yKWkoY3JlYXRlKWgoYSllKFwwMTRsZSloKGNhdXNlcylnKHRoZSkKK2YocmVkaXJlY3Rpb24paCh0bylnKGZhaWwuKTI3NSA5MTggeShSZWRpcmVjdGlvbnMpZih1c2luZyllKFwwMTRsZSlpCisoZGVzY3JpcHRvcnMpZihncmVhdGVyKWgodGhhbilmKDkpaChzaG91bGQpZShiKXMoZSloKHVzZWQpZih3aXRoKWgKKyhjYXJlLCloKGFzKWcodGhleSlmKG1hKW0oeSkxNTAgMTAyNyB5KGNvblwwMTVpY3QpaSh3aXRoKWYoXDAxNGxlKWgKKyhkZXNjcmlwdG9ycylmKHRoZSlnKHNoZWxsKWgodXNlcylmKGluKW0odGVybmFsbHkpLTgKK2IoLikxNTAgMTIyNCB5IEZqKDMuNi4xKTYzIGIoUmVkaXJlY3RpbmcpNDAgYihJbnB1dCkxNTAKKzEzNzEgeSBGdChSZWRpcmVjdGlvbikzNSBiKG9mKWYoaW5wdXQpZihjYXVzZXMpaSh0aGUpZihcMDE0bGUpZyh3aG9zZSlnCisobmFtZSlnKHJlc3VsdHMpZyhmcm9tKWcodGhlKWcoZXhwYW5zaW9uKWcob2YpZyBGcSh3KW0ob3JkKWsKK0Z0KHRvKWQoYilzKGUpMTUwIDE0ODEgeShvcClzKGVuZWQpZChmb3IpZyhyZWFkaW5nKWcob24pZyhcMDE0bGUpaAorKGRlc2NyaXB0b3IpZiBGcyhuKXAgRnQoLCloKG9yKWYodGhlKWcoc3RhbmRhcmQpZyhpbnB1dClmKFwoXDAxNGxlKWkKKyhkZXNjcmlwdG9yKWYoMFwpKWgoaWYpZiBGcyhuKWcgRnQoaXMpaChub3QpMTUwIDE1OTAKK3koc3ApcyhlY2lcMDE0ZWQuKTI3NSAxNzI0IHkoVGhlKWMoZ2VuZXJhbClqKGZvcm1hdCllKGZvciloCisocmVkaXJlY3RpbmcpZyhpbnB1dCllKGlzOikzOTAgMTg1NyB5IEZzKFspcCBGaShuKTExCitiIEZzKF08KXAgRmkod29yZCkxNTAgMjA1NCB5IEZqKDMuNi4yKTYzIGIoUmVkaXJlY3RpbmcpNDAKK2IoT3V0cHV0KTE1MCAyMjAwIHkgRnQoUmVkaXJlY3Rpb24pMzEgYihvZilnKG91dHB1dClmKGNhdXNlcyloKHRoZSlmCisoXDAxNGxlKWgod2hvc2UpZihuYW1lKWcocmVzdWx0cyloKGZyb20pZSh0aGUpaShleHBhbnNpb24pZihvZiloCitGcSh3KW0ob3JkKWkgRnQodG8pZihiKXMoZSkxNTAgMjMxMCB5KG9wKXMoZW5lZClkKGZvcilnKHdyaXRpbmcpZyhvbilnCisoXDAxNGxlKWgoZGVzY3JpcHRvcilmIEZxKG4pcCBGdCgsKWcob3IpZyh0aGUpaChzdGFuZGFyZCllKG91dHB1dCloCisoXChcMDE0bGUpaChkZXNjcmlwdG9yKWYoMVwpKWgoaWYpZyBGcShuKWUgRnQoaXMpaShub3QpMTUwCisyNDIwIHkoc3ApcyhlY2lcMDE0ZWQuKTQwIGIoSWYpMzAgYih0aGUpZyhcMDE0bGUpaChkbylzKGVzKWYobm90KWgKKyhleGlzdClnKGl0KWcoaXMpZihjcmVhdGVkOylpKGlmKWUoaXQpaChkbylzKGVzKWYoZXhpc3QpaChpdClnKGlzKWcKKyh0cnVuY2F0ZWQpZih0byloKHplcm8pZyhzaXplLikyNzUgMjU1MyB5KFRoZSllKGdlbmVyYWwpaihmb3JtYXQpZShmb3IpCitoKHJlZGlyZWN0aW5nKWcob3V0cHV0KWYoaXM6KTM5MCAyNjg2IHkgRnMoWylwIEZpKG4pMTEKK2IgRnMoXT5bfF0pcCBGaSh3b3JkKTI3NSAyODE5IHkgRnQoSWYpMzAgYih0aGUpaChyZWRpcmVjdGlvbilnKG9wKXMKKyhlcmF0b3IpZyhpcylnKGApcCBGcyg+KXAgRnQoJywpZyhhbmQpZih0aGUpaCBGcyhub2Nsb2JiZXIpZAorRnQob3B0aW9uKWoodG8pZyh0aGUpZyBGcyhzZXQpZiBGdChidWlsdGluKWcoaGFzKWgoYilzKGVlbikxNTAKKzI5MjkgeShlbmFibGVkLClpKHRoZSlmKHJlZGlyZWN0aW9uKWgod2lsbClmKGZhaWwpaChpZilmKHRoZSlnKFwwMTRsZSlnCisod2hvc2UpZyhuYW1lKWcocmVzdWx0cylnKGZyb20pZyh0aGUpZyhleHBhbnNpb24pZyhvZilnCitGcSh3KW0ob3JkKTE1MCAzMDM5IHkgRnQoZXhpc3RzKWYoYW5kKWYoaXMpZyhhKWgocmVndWxhcilnKFwwMTRsZS4pNDEKIGIoSWYpMzAgYih0aGUpaChyZWRpcmVjdGlvbilnKG9wKXMoZXJhdG9yKWcoaXMpZihgKXAKIEZzKD58KXAgRnQoJywpaChvcilmKHRoZSloKHJlZGlyZWN0aW9uKWcob3ApcyhlcmF0b3IpZyhpcykxNTAKLTUyMzAgeShgKXAgRnMoPilwIEZ0KCcpMzYgYihhbmQpZih0aGUpZyBGcyhub2Nsb2JiZXIpZQorMzE0OCB5KGApcCBGcyg+KXAgRnQoJykzNiBiKGFuZClmKHRoZSlnIEZzKG5vY2xvYmJlcillCiBGdChvcHRpb24paihpcylnKG5vdClnKGVuYWJsZWQsKWgodGhlKWUocmVkaXJlY3Rpb24paChpcylnKGF0dGVtcHRlZClnCi0oZXYpbShlbiloKGlmKWUodGhlKWgoXDAxNGxlKTE1MCA1MzQwIHkobmFtZWQpMzAgYihiKW0oeSlnCi1GcSh3KW0ob3JkKWsgRnQoZXhpc3RzLilwIGVvcCBlbmQKKyhldiltKGVuKWgoaWYpZSh0aGUpaChcMDE0bGUpMTUwIDMyNTggeShuYW1lZCkzMCBiKGIpbSh5KWcKK0ZxKHcpbShvcmQpayBGdChleGlzdHMuKTE1MCAzNDU1IHkgRmooMy42LjMpNjMgYihBcHApcyhlbmRpbmcpNDIKK2IoUmVkaXJlY3RlZCllKE91dHB1dCkxNTAgMzYwMSB5IEZ0KFJlZGlyZWN0aW9uKTIzIGIob2YpZShvdXRwdXQpaChpbilmCisodGhpcyloKGZhc2hpb24pZihjYXVzZXMpaCh0aGUpZyhcMDE0bGUpZyh3aG9zZSlmKG5hbWUpaChyZXN1bHRzKWYKKyhmcm9tKWcodGhlKWgoZXhwYW5zaW9uKWcob2YpMTUwIDM3MTEgeSBGcSh3KW0ob3JkKTI4CitiIEZ0KHRvKWUoYilzKGUpZShvcClzKGVuZWQpZyhmb3IpaChhcHApcyhlbmRpbmcpZShvbilpKFwwMTRsZSlnCisoZGVzY3JpcHRvcilnIEZxKG4pcCBGdCgsKWcob3IpZyh0aGUpZyhzdGFuZGFyZClmKG91dHB1dCloKFwoXDAxNGxlKWcKKyhkZXNjcmlwdG9yKTE1MCAzODIxIHkoMVwpKTMxIGIoaWYpZiBGcShuKWcgRnQoaXMpaChub3QpZihzcClzCisoZWNpXDAxNGVkLik0MCBiKElmKTMwIGIodGhlKWgoXDAxNGxlKWYoZG8pcyhlcylnKG5vdCloKGV4aXN0KWcoaXQpZworKGlzKWYoY3JlYXRlZC4pMjc1IDM5NTQgeShUaGUpZihnZW5lcmFsKWooZm9ybWF0KWUoZm9yKWgoYXBwKXMoZW5kaW5nKWUKKyhvdXRwdXQpaChpczopMzkwIDQwODcgeSBGcyhbKXAgRmkobikxMSBiIEZzKF0+PilwIEZpKHdvcmQpMTUwCis0Mjg0IHkgRmooMy42LjQpNjMgYihSZWRpcmVjdGluZyk0MCBiKFN0YW5kYXJkKWgoT3V0cHV0KWcoYW5kKWcKKyhTdGFuZGFyZClnKEVycm9yKTE1MCA0NDMxIHkgRnQoVGhpcykzMyBiKGNvbnN0cnVjdClpKGFsbG8pbSh3cylnKGIpcworKG90aClmKHRoZSlnKHN0YW5kYXJkKWcob3V0cHV0KWYoXChcMDE0bGUpaShkZXNjcmlwdG9yKWYoMVwpKWgoYW5kKWYKKyh0aGUpZyhzdGFuZGFyZClmKGVycm9yKTE1MCA0NTQwIHkob3V0cHV0KWQoXChcMDE0bGUpaChkZXNjcmlwdG9yKWYKKygyXCkpaCh0bylnKGIpcyhlKWYocmVkaXJlY3RlZCloKHRvKWcodGhlKWYoXDAxNGxlKWgod2hvc2UpZihuYW1lKWgoaXMpCitmKHRoZSlnKGV4cGFuc2lvbiloKG9mKWYgRnEodyltKG9yZCl0IEZ0KC4pMjc1IDQ2NzQgeShUaGVyZSlmKGFyZSlpKHQpbQorKHcpbShvKWgoZm9ybWF0cyllKGZvciloKHJlZGlyZWN0aW5nKWcoc3RhbmRhcmQpZShvdXRwdXQpaChhbmQpZworKHN0YW5kYXJkKWYoZXJyb3I6KTM5MCA0ODA3IHkgRnMoJj4pcCBGaSh3b3JkKTE1MCA0OTQwCit5IEZ0KGFuZCkzOTAgNTA3MyB5IEZzKD4mKXAgRmkod29yZCkxNTAgNTIwNyB5IEZ0KE9mKWgodGhlKWcodCltKHcpbShvKQoraShmb3JtcywpZSh0aGUpaChcMDE0cnN0KWUoaXMpaShwcmVmZXJyZWQuKTM5IGIoVGhpcykzMAorYihpcylnKHNlbWFuKW0odGljYWxseSlqKGVxdWl2KS01IGIoYWxlbiltKHQpMzIgYih0bykzOTAKKzUzNDAgeSBGcyg+KXAgRmkod29yZCk1NyBiIEZzKDI+JjEpcCBlb3AgZW5kCiAlJVBhZ2U6IDI4IDM0CiBUZVhEaWN0IGJlZ2luIDI4IDMzIGJvcCAxNTAgLTExNiBhIEZ0KDI4KTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRmsoMy42LjMpNjMgYihBcHApcyhlbmRpbmcpNDIKLWIoUmVkaXJlY3RlZCllKE91dHB1dCkyNzUgNTQxIHkgRnQoUmVkaXJlY3Rpb24pMjkgYihvZilnKG91dHB1dClmKGluKWcKLSh0aGlzKWgoZmFzaGlvbilmKGNhdXNlcyloKHRoZSlnKFwwMTRsZSlnKHdob3NlKWYobmFtZSloKHJlc3VsdHMpZgotKGZyb20pZyh0aGUpaChleHBhbi0pMTUwIDY1MSB5KHNpb24pMzQgYihvZilmIEZxKHcpbShvcmQpawotRnQodG8pZShiKXMoZSllKG9wKXMoZW5lZClnKGZvcilnKGFwcClzKGVuZGluZylmKG9uKWkoXDAxNGxlKWYKLShkZXNjcmlwdG9yKWggRnEobilwIEZ0KCwpZyhvcilnKHRoZSlmKHN0YW5kYXJkKWcob3V0cHV0KWcoXChcMDE0bGUpMTUwCi03NjAgeShkZXNjcmlwdG9yKWQoMVwpKWgoaWYpZyBGcShuKWYgRnQoaXMpZyhub3QpaChzcClzKGVjaVwwMTRlZC4pNDAKLWIoSWYpMjkgYih0aGUpaShcMDE0bGUpZihkbylzKGVzKWgobm90KWYoZXhpc3QpaChpdClnKGlzKWcoY3JlYXRlZC4pMjc1Ci04OTMgeShUaGUpZShnZW5lcmFsKWooZm9ybWF0KWUoZm9yKWgoYXBwKXMoZW5kaW5nKWUob3V0cHV0KWgoaXM6KTM5MAotMTAyNiB5IEZzKFspcCBGaihuKTExIGIgRnMoXT4+KXAgRmood29yZCkxNTAgMTI0NSB5IEZrKDMuNi40KTYzCi1iKFJlZGlyZWN0aW5nKTQwIGIoU3RhbmRhcmQpaChPdXRwdXQpZyhhbmQpZyhTdGFuZGFyZClnKEVycm9yKTI3NQotMTQ4NyB5IEZ0KFRoaXMpMjMgYihjb25zdHJ1Y3QpaShhbGxvKW0od3MpaChiKXMob3RoKWUodGhlKWgoc3RhbmRhcmQpZgotKG91dHB1dClnKFwoXDAxNGxlKWgoZGVzY3JpcHRvcilmKDFcKSlpKGFuZCllKHRoZSloKHN0YW5kYXJkKWUoZXJyb3IpCi0xNTAgMTU5NyB5KG91dHB1dCkzMCBiKFwoXDAxNGxlKWgoZGVzY3JpcHRvcilmKDJcKSloKHRvKWcoYilzKGUpZgotKHJlZGlyZWN0ZWQpaCh0bylnKHRoZSlmKFwwMTRsZSloKHdob3NlKWYobmFtZSloKGlzKWYodGhlKWcoZXhwYW5zaW9uKWgKLShvZilmIEZxKHcpbShvcmQpcCBGdCguKTI3NSAxNzI5IHkoVGhlcmUpZihhcmUpaSh0KW0odyltKG8paChmb3JtYXRzKWUKLShmb3IpaChyZWRpcmVjdGluZylnKHN0YW5kYXJkKWUob3V0cHV0KWgoYW5kKWcoc3RhbmRhcmQpZihlcnJvcjopMzkwCi0xODYyIHkgRnMoJj4pcCBGaih3b3JkKTE1MCAxOTk1IHkgRnQoYW5kKTM5MCAyMTI3IHkgRnMoPiYpcAotRmood29yZCkxNTAgMjI2MCB5IEZ0KE9mKWgodGhlKWcodCltKHcpbShvKWkoZm9ybXMsKWUodGhlKWgoXDAxNHJzdCllCi0oaXMpaShwcmVmZXJyZWQuKTM5IGIoVGhpcykzMCBiKGlzKWcoc2VtYW4pbSh0aWNhbGx5KWooZXF1aXYpLTUKLWIoYWxlbiltKHQpMzIgYih0bykzOTAgMjM5MyB5IEZzKD4pcCBGaih3b3JkKTU3IGIgRnMoMj4mMSkxNTAKLTI2MTIgeSBGaygzLjYuNSk2MyBiKEFwcClzKGVuZGluZyk0MiBiKFN0YW5kYXJkKWYoT3V0cHV0KWcoYW5kKWcKLShTdGFuZGFyZClnKEVycm9yKTI3NSAyODU0IHkgRnQoVGhpcykyMyBiKGNvbnN0cnVjdClpKGFsbG8pbSh3cyloKGIpcwotKG90aCllKHRoZSloKHN0YW5kYXJkKWYob3V0cHV0KWcoXChcMDE0bGUpaChkZXNjcmlwdG9yKWYoMVwpKWkoYW5kKWUKLSh0aGUpaChzdGFuZGFyZCllKGVycm9yKTE1MCAyOTY0IHkob3V0cHV0KTMwIGIoXChcMDE0bGUpaChkZXNjcmlwdG9yKWYKLSgyXCkpaCh0bylnKGIpcyhlKWYoYXBwKXMoZW5kZWQpZih0bylpKHRoZSlmKFwwMTRsZSloKHdob3NlKWYobmFtZSlnCi0oaXMpaCh0aGUpZihleHBhbnNpb24paChvZilmIEZxKHcpbShvcmQpcCBGdCguKTI3NSAzMDk2Ci15KFRoZSlmKGZvcm1hdClpKGZvcilmKGFwcClzKGVuZGluZylmKHN0YW5kYXJkKWgob3V0cHV0KWcoYW5kKWYKLShzdGFuZGFyZCloKGVycm9yKWcoaXM6KTM5MCAzMjI5IHkgRnMoJj4+KXAgRmood29yZCkxNTAKLTMzNjIgeSBGdChUaGlzKWcoaXMpZyhzZW1hbiltKHRpY2FsbHkpaihlcXVpdiktNSBiKGFsZW4pbSh0KTMyCi1iKHRvKTM5MCAzNDk0IHkgRnMoPj4pcCBGaih3b3JkKTU3IGIgRnMoMj4mMSkxNTAgMzcxMwoteSBGaygzLjYuNik2MyBiKEhlcmUpNDEgYihEbylzKGN1bWVuKW0odHMpMjc1IDM5NTYgeQotRnQoVGhpcykyOCBiKHQpbSh5cClzKGUpaChvZiloKHJlZGlyZWN0aW9uKWcoaW5zdHJ1Y3RzKWYodGhlKWcoc2hlbGwpaAotKHRvKWcocmVhZClmKGlucHV0KWYoZnJvbSloKHRoZSlnKGN1cnJlbiltKHQpaChzb3VyY2UpZih1biltKHRpbCloKGEpCi0xNTAgNDA2NSB5KGxpbmUpaChjb24pbSh0YWluaW5nKWcob25seSlnIEZxKHcpbShvcmQpaQotRnQoXCh3aXRoKWQobm8paCh0cmFpbGluZylnKGJsYW5rc1wpKWYoaXMpZyhzZWVuLik0MQorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5IEZqKDMuNi41KTYzIGIoQXBwKXMoZW5kaW5nKTQyCitiKFN0YW5kYXJkKWYoT3V0cHV0KWcoYW5kKWcoU3RhbmRhcmQpZyhFcnJvcikxNTAgNDQ2Cit5IEZ0KFRoaXMpMzMgYihjb25zdHJ1Y3QpaShhbGxvKW0od3MpZyhiKXMob3RoKWYodGhlKWcoc3RhbmRhcmQpZworKG91dHB1dClmKFwoXDAxNGxlKWkoZGVzY3JpcHRvcilmKDFcKSloKGFuZClmKHRoZSlnKHN0YW5kYXJkKWYoZXJyb3IpCisxNTAgNTU1IHkob3V0cHV0KWQoXChcMDE0bGUpaChkZXNjcmlwdG9yKWYoMlwpKWgodG8pZyhiKXMoZSlmKGFwcClzCisoZW5kZWQpZih0bylpKHRoZSlmKFwwMTRsZSloKHdob3NlKWYobmFtZSlnKGlzKWgodGhlKWYoZXhwYW5zaW9uKWgob2YpZgorRnEodyltKG9yZCl0IEZ0KC4pMjc1IDY4OSB5KFRoZSlmKGZvcm1hdClpKGZvcilmKGFwcClzKGVuZGluZylmCisoc3RhbmRhcmQpaChvdXRwdXQpZyhhbmQpZihzdGFuZGFyZCloKGVycm9yKWcoaXM6KTM5MAorODIyIHkgRnMoJj4+KXAgRmkod29yZCkxNTAgOTU1IHkgRnQoVGhpcylnKGlzKWcoc2VtYW4pbSh0aWNhbGx5KWoKKyhlcXVpdiktNSBiKGFsZW4pbSh0KTMyIGIodG8pMzkwIDEwODkgeSBGcyg+PilwIEZpKHdvcmQpNTcKK2IgRnMoMj4mMSkxNTAgMTI4NiB5IEZqKDMuNi42KTYzIGIoSGVyZSk0MSBiKERvKXMoY3VtZW4pbSh0cykxNTAKKzE0MzIgeSBGdChUaGlzKWModCltKHlwKXMoZSloKG9mKWYocmVkaXJlY3Rpb24paShpbnN0cnVjdHMpZSh0aGUpaAorKHNoZWxsKWYodG8paShyZWFkKWUoaW5wdXQpZyhmcm9tKWcodGhlKWgoY3VycmVuKW0odClmKHNvdXJjZSloKHVuKW0KKyh0aWwpZyhhKTE1MCAxNTQyIHkobGluZSkzMSBiKGNvbiltKHRhaW5pbmcpZyhvbmx5KWcKK0ZxKHcpbShvcmQpaSBGdChcKHdpdGgpZChubyloKHRyYWlsaW5nKWcoYmxhbmtzXCkpZihpcylnKHNlZW4uKTQxCiBiKEFsbCkzMSBiKG9mKWYodGhlKWgobGluZXMpZihyZWFkKWcodXApZih0bylpKHRoYXQpMTUwCi00MTc1IHkocClzKG9pbiltKHQpZihhcmUpaCh0aGVuKWYodXNlZClnKGFzKWcodGhlKWgoc3RhbmRhcmQpZihpbnB1dClmCi0oZm9yKWgoYSloKGNvbW1hbmQuKTI3NSA0MzA3IHkoVGhlKWUoZm9ybWF0KWkob2YpZyhoZXJlLWRvKXMoY3VtZW4pbQotKHRzKWYoaXM6KTM5MCA0NDQwIHkgRnMoPDxbKXAgRnAoXDAwMClwIEZzKF0pcCBGaih3b3JkKTc3MgotNDU1MCB5KGhlcmUtZG9jdW1lbnQpMzkwIDQ2NTkgeShkZWxpbWl0ZXIpMjc1IDQ3OTIgeQorMTY1MiB5KHApcyhvaW4pbSh0KWYoYXJlKWgodGhlbilmKHVzZWQpZyhhcylnKHRoZSloKHN0YW5kYXJkKWYoaW5wdXQpZgorKGZvciloKGEpaChjb21tYW5kLikyNzUgMTc4NSB5KFRoZSllKGZvcm1hdClpKG9mKWcoaGVyZS1kbylzKGN1bWVuKW0KKyh0cylmKGlzOikzOTAgMTkxOCB5IEZzKDw8WylwIEZwKFwwMDApcCBGcyhdKXAgRmkod29yZCk3NzIKKzIwMjggeShoZXJlLWRvY3VtZW50KTM5MCAyMTM3IHkoZGVsaW1pdGVyKTI3NSAyMjcxIHkKIEZ0KE5vKWoocGFyYW1ldGVyKWgoZXhwYW5zaW9uLClnKGNvbW1hbmQpZihzdWJzdGl0dXRpb24sKWgoYXJpdGhtZXRpYyloCi0oZXhwYW5zaW9uLClmKG9yKWYoXDAxNGxlbmFtZSlnKGV4LSkxNTAgNDkwMiB5KHBhbnNpb24paShpcylnKHApcwotKGVyZm9ybWVkKWUob24paSBGcSh3KW0ob3JkKXAgRnQoLik1NSBiKElmKTM0IGIoYW4pbSh5KWkoYyltKGhhcmFjdGVycykKLWcoaW4pZiBGcSh3KW0ob3JkKWogRnQoYXJlKWQocXVvdGVkLClpKHRoZSllIEZxKGRlbGltaXRlcik0MwotYiBGdChpcykzNSBiKHRoZSkxNTAgNTAxMSB5KHJlc3VsdCk0MCBiKG9mKWgocXVvdGUpZyhyZW1vKW0odiktNQotYihhbCk0MiBiKG9uKWUgRnEodyltKG9yZClwIEZ0KCwpaihhbmQpZCh0aGUpZyhsaW5lcyloKGluKWYodGhlKWgKLShoZXJlLWRvKXMoY3VtZW4pbSh0KWYoYXJlKWgobm90KWYoZXhwYW5kZWQuKTE1MCA1MTIxCisoZXhwYW5zaW9uLClmKG9yKWYoXDAxNGxlbmFtZSlnKGV4LSkxNTAgMjM4MCB5KHBhbnNpb24paChpcyloKHApcworKGVyZm9ybWVkKWYob24pZyBGcSh3KW0ob3JkKXQgRnQoLik1NCBiKElmKTM0IGIoYW4pbSh5KWgoYyltKGhhcmFjdGVycykKK2koaW4pZCBGcSh3KW0ob3JkKWsgRnQoYXJlKWQocXVvdGVkLClpKHRoZSllIEZxKGRlbGltaXRlcik0MgorYiBGdChpcykzNSBiKHRoZSkxNTAgMjQ5MCB5KHJlc3VsdCk0MCBiKG9mKWcocXVvdGUpaChyZW1vKW0odiktNQorYihhbCk0MiBiKG9uKWUgRnEodyltKG9yZCl0IEZ0KCwpaShhbmQpZCh0aGUpaShsaW5lcylmKGluKWcodGhlKWcKKyhoZXJlLWRvKXMoY3VtZW4pbSh0KWgoYXJlKWYobm90KWcoZXhwYW5kZWQuKTE1MCAyNjAwCiB5KElmKTMyIGIgRnEodyltKG9yZClrIEZ0KGlzKWQodW5xdW90ZWQsKWYoYWxsKWkobGluZXMpZihvZilmKHRoZSloCiAoaGVyZS1kbylzKGN1bWVuKW0odClnKGFyZSlnKHN1Yik1IGIoamVjdGVkKTMyIGIodG8paShwYXJhbWV0ZXIpZgotKGV4cGFuc2lvbiwpMTUwIDUyMzAgeShjb21tYW5kKTI1IGIoc3Vic3RpdHV0aW9uLClnKGFuZClnKGFyaXRobWV0aWMpaAorKGV4cGFuc2lvbiwpMTUwIDI3MDkgeShjb21tYW5kKTI1IGIoc3Vic3RpdHV0aW9uLClnKGFuZClnKGFyaXRobWV0aWMpaAogKGV4cGFuc2lvbi4pMzkgYihJbikyNCBiKHRoZSloKGxhdHRlciloKGNhc2UsKWgodGhlKWUoYyltKGhhcmFjdGVyKWkKLShzZXF1ZW5jZSkxNTAgNTM0MCB5IEZzKFxcbmV3bGluZSloIEZ0KGlzKWooaWdub3JlZCwpZihhbmQpZyhgKXAKKyhzZXF1ZW5jZSkxNTAgMjgxOSB5IEZzKFxcbmV3bGluZSloIEZ0KGlzKWooaWdub3JlZCwpZihhbmQpZyhgKXAKIEZzKFxcKXAgRnQoJyloKG0pbSh1c3QpZihiKXMoZSlnKHVzZWQpZih0bylpKHF1b3RlKWcodGhlKWcoYyltCiAoaGFyYWN0ZXJzKWgoYClwIEZzKFxcKXAgRnQoJywpZShgKXAgRnMoJClwIEZ0KCcsKWgoYW5kKWYoYClwCi1GcyhgKXAgRnQoJy4pcCBlb3AgZW5kCi0lJVBhZ2U6IDI5IDM1Ci1UZVhEaWN0IGJlZ2luIDI5IDM0IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYigzOik0MQotYihCYXNpYykzMiBiKFNoZWxsKWUoRiktOCBiKGVhdHVyZXMpMjI0NiBiKDI5KTI3NSAyOTkKLXkoSWYpMjEgYih0aGUpaShyZWRpcmVjdGlvbilnKG9wKXMoZXJhdG9yKWcoaXMpZihgKXAKLUZzKDw8LSlwIEZ0KCcsKWkodGhlbillKGFsbCloKGxlYWRpbmcpZyh0YWIpZyhjKW0oaGFyYWN0ZXJzKWgoYXJlKWUKLShzdHJpcHApcyhlZClmKGZyb20paChpbnB1dCkxNTAgNDA4IHkobGluZXMpMzMgYihhbmQpZih0aGUpaChsaW5lKWgKLShjb24pbSh0YWluaW5nKWcgRnEoZGVsaW1pdGVyKXAgRnQoLik0OSBiKFRoaXMpMzIgYihhbGxvKW0od3MpaQotKGhlcmUtZG8pcyhjdW1lbiltKHRzKWYod2l0aGluKWYoc2hlbGwpaShzY3JpcHRzKWUodG8pMTUwCi01MTggeShiKXMoZSllKGluZGVuKW0odGVkKWcoaW4pZyhhKWgobmF0dXJhbClmKGZhc2hpb24uKTE1MAotNzYyIHkgRmsoMy42LjcpNjMgYihIZXJlKTQxIGIoU3RyaW5ncykyNzUgMTAxNiB5IEZ0KEEpMzAKLWIodiktNSBiKGFyaWFuKW0odCkzMSBiKG9mKWcoaGVyZSlmKGRvKXMoY3VtZW4pbSh0cywpZyh0aGUpaChmb3JtYXQpZwotKGlzOikzOTAgMTE2MSB5IEZzKDw8PCk0NyBiIEZqKHdvcmQpMjc1IDEzMDUgeSBGdChUaGUpMjkKK0ZzKGApcCBGdCgnLikyNzUgMjk1MiB5KElmKTIxIGIodGhlKWkocmVkaXJlY3Rpb24pZyhvcClzKGVyYXRvcilnKGlzKWYKKyhgKXAgRnMoPDwtKXAgRnQoJywpaSh0aGVuKWUoYWxsKWgobGVhZGluZylnKHRhYilnKGMpbShoYXJhY3RlcnMpaChhcmUpCitlKHN0cmlwcClzKGVkKWYoZnJvbSloKGlucHV0KTE1MCAzMDYyIHkobGluZXMpMzMgYihhbmQpZSh0aGUpaShsaW5lKWcKKyhjb24pbSh0YWluaW5nKWggRnEoZGVsaW1pdGVyKTcgYiBGdCguKTQ3IGIoVGhpcykzMSBiKGFsbG8pbSh3cylqCisoaGVyZS1kbylzKGN1bWVuKW0odHMpZih3aXRoaW4pZShzaGVsbClpKHNjcmlwdHMpZih0bykxNTAKKzMxNzEgeShiKXMoZSllKGluZGVuKW0odGVkKWcoaW4pZyhhKWgobmF0dXJhbClmKGZhc2hpb24uKTE1MAorMzM2OCB5IEZqKDMuNi43KTYzIGIoSGVyZSk0MSBiKFN0cmluZ3MpMTUwIDM1MTUgeSBGdChBKTMwCitiKHYpLTUgYihhcmlhbiltKHQpMzIgYihvZillKGhlcmUpaChkbylzKGN1bWVuKW0odHMsKWYodGhlKWcoZm9ybWF0KWgKKyhpczopMzkwIDM2NDggeSBGcyg8PDwpNDcgYiBGaSh3b3JkKTI3NSAzNzgyIHkgRnQoVGhlKTI5CiBiIEZxKHcpbShvcmQpMzQgYiBGdChpcyljKGV4cGFuZGVkKWcoYW5kKWcoc3VwcGxpZWQpZih0bylpKHRoZSlmCi0oY29tbWFuZCloKG9uKWYoaXRzKWgoc3RhbmRhcmQpZShpbnB1dC4pMTUwIDE1NDkgeSBGaygzLjYuOCk2MwotYihEdXBsaWNhdGluZyk0MSBiKEZpbGUpZyhEZXNjcmlwdG9ycykyNzUgMTgwMyB5IEZ0KFRoZSkyOQotYihyZWRpcmVjdGlvbilpKG9wKXMoZXJhdG9yKTM5MCAxOTQ4IHkgRnMoWylwIEZqKG4pMTEKLWIgRnMoXTwmKXAgRmood29yZCkxNTAgMjA5MiB5IEZ0KGlzKTM1IGIodXNlZCllKHRvKWooZHVwbGljYXRlKWYoaW5wdXQpCisoY29tbWFuZCloKG9uKWYoaXRzKWgoc3RhbmRhcmQpZShpbnB1dC4pMTUwIDM5NzkgeSBGaigzLjYuOCk2MworYihEdXBsaWNhdGluZyk0MSBiKEZpbGUpZyhEZXNjcmlwdG9ycykxNTAgNDEyNSB5IEZ0KFRoZSkzMAorYihyZWRpcmVjdGlvbiloKG9wKXMoZXJhdG9yKTM5MCA0MjU5IHkgRnMoWylwIEZpKG4pMTEKK2IgRnMoXTwmKXAgRmkod29yZCkxNTAgNDM5MiB5IEZ0KGlzKTM1IGIodXNlZCllKHRvKWooZHVwbGljYXRlKWYoaW5wdXQpCiBmKFwwMTRsZSlnKGRlc2NyaXB0b3JzLik1MyBiKElmKTM0IGIgRnEodyltKG9yZClrIEZ0KGV4cGFuZHMpYyh0byloCi0ob25lKWcob3IpZyhtb3JlKWcoZGlnaXRzLCloKHRoZSlmKFwwMTRsZSkxNTAgMjIwMiB5KGRlc2NyaXB0b3IpZQorKG9uZSlnKG9yKWcobW9yZSlnKGRpZ2l0cywpaCh0aGUpZihcMDE0bGUpMTUwIDQ1MDIgeShkZXNjcmlwdG9yKWUKIChkZW5vdGVkKWgoYiltKHkpZyBGcShuKWYgRnQoaXMpZyhtYWRlKWgodG8pZyhiKXMoZSlmKGEpaChjb3ApbSh5KWcob2YpCiBnKHRoYXQpZyhcMDE0bGUpZyhkZXNjcmlwdG9yLik1MCBiKElmKTMzIGIodGhlKWgoZGlnaXRzKWcoaW4pZgotRnEodyltKG9yZCkxNTAgMjMxMSB5IEZ0KGRvKWMobm90KWgoc3ApcyhlY2lmeSlmKGEpaChcMDE0bGUpZgorRnEodyltKG9yZCkxNTAgNDYxMSB5IEZ0KGRvKWMobm90KWgoc3ApcyhlY2lmeSlmKGEpaChcMDE0bGUpZgogKGRlc2NyaXB0b3IpZyhvcClzKGVuKWcoZm9yKWcoaW5wdXQsKWcoYSloKHJlZGlyZWN0aW9uKWcoZXJyb3IpZihvKXMKIChjY3Vycy4pNDAgYihJZikyOSBiIEZxKHcpbShvcmQpaiBGdChldiktNSBiKGFsdWF0ZXMpMTUwCi0yNDIxIHkodG8pMzEgYihgKXAgRnMoLSlwIEZ0KCcsKWcoXDAxNGxlKWcoZGVzY3JpcHRvcilnCis0NzIxIHkodG8pMzEgYihgKXAgRnMoLSlwIEZ0KCcsKWcoXDAxNGxlKWcoZGVzY3JpcHRvcilnCiBGcShuKWYgRnQoaXMpZyhjbG9zZWQuKTQzIGIoSWYpMzAgYiBGcShuKWcgRnQoaXMpZyhub3QpaChzcClzCiAoZWNpXDAxNGVkLClmKHRoZSloKHN0YW5kYXJkKWYoaW5wdXQpZyhcKFwwMTRsZSloKGRlc2NyaXB0b3IpZigwXCkpMTUwCi0yNTMxIHkoaXMpZyh1c2VkLikyNzUgMjY3NSB5KFRoZSlmKG9wKXMoZXJhdG9yKTM5MCAyODE5Ci15IEZzKFspcCBGaihuKTExIGIgRnMoXT4mKXAgRmood29yZCkxNTAgMjk2NCB5IEZ0KGlzKTQwCis0ODMwIHkoaXMpZyh1c2VkLikyNzUgNDk2NCB5KFRoZSlmKG9wKXMoZXJhdG9yKTM5MCA1MDk3Cit5IEZzKFspcCBGaShuKTExIGIgRnMoXT4mKXAgRmkod29yZCkxNTAgNTIzMCB5IEZ0KGlzKTQwCiBiKHVzZWQpZyhzaW1pbGFybHkpaCh0bylnKGR1cGxpY2F0ZSlmKG91dHB1dClnKFwwMTRsZSloKGRlc2NyaXB0b3JzLik3MAogYihJZik0MCBiIEZxKG4pZiBGdChpcylpKG5vdClmKHNwKXMoZWNpXDAxNGVkLClpKHRoZSlmKHN0YW5kYXJkKTE1MAotMzA3MyB5KG91dHB1dCkzMCBiKFwoXDAxNGxlKWcoZGVzY3JpcHRvcilnKDFcKSloKGlzKWYodXNlZC4pMzkKKzUzNDAgeShvdXRwdXQpMzAgYihcKFwwMTRsZSlnKGRlc2NyaXB0b3IpZygxXCkpaChpcylmKHVzZWQuKTM5CiBiKElmKTMwIGIodGhlKWcoZGlnaXRzKWgoaW4pZSBGcSh3KW0ob3JkKTM0IGIgRnQoZG8pMjkKLWIobm90KWkoc3ApcyhlY2lmeSllKGEpaShcMDE0bGUpZihkZXNjcmlwdG9yKWcob3ApcyhlbikxNTAKLTMxODMgeShmb3IpMzggYihvdXRwdXQsKWkoYSllKHJlZGlyZWN0aW9uKWgoZXJyb3IpZihvKXMoY2N1cnMuKTYzCitiKG5vdClpKHNwKXMoZWNpZnkpZShhKWkoXDAxNGxlKWYoZGVzY3JpcHRvcilnKG9wKXMoZW4pcAorZW9wIGVuZAorJSVQYWdlOiAyOSAzNQorVGVYRGljdCBiZWdpbiAyOSAzNCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoMzopNDEKK2IoQmFzaWMpMzIgYihTaGVsbCllKEYpLTggYihlYXR1cmVzKTIyNDYgYigyOSkxNTAgMjk5Cit5KGZvcikzOCBiKG91dHB1dCwpaShhKWUocmVkaXJlY3Rpb24paChlcnJvcilmKG8pcyhjY3Vycy4pNjMKIGIoQXMpMzggYihhKWgoc3ApcyhlY2lhbClmKGNhc2UsKWsoaWYpYyBGcShuKWYgRnQoaXMpaChvbWl0dGVkLClrKGFuZCkKLTM3IGIgRnEodyltKG9yZClrIEZ0KGRvKXMoZXMpMTUwIDMyOTMgeShub3QpMjggYihleHBhbmQpZih0bylpKG9uZSlmCi0ob3IpZihtb3JlKWgoZGlnaXRzLClpKHRoZSllKHN0YW5kYXJkKWUob3V0cHV0KWkoYW5kKWYoc3RhbmRhcmQpZwotKGVycm9yKWcoYXJlKWkocmVkaXJlY3RlZClmKGFzKTE1MCAzNDAyIHkoZGVzY3JpYilzKGVkKWgocHJldmlvdXNseSktOAotYiguKTE1MCAzNjQ2IHkgRmsoMy42LjkpNjMgYihNbyltKHZpbmcpNDEgYihGaWxlKWgoRGVzY3JpcHRvcnMpMjc1Ci0zOTAwIHkgRnQoVGhlKTI5IGIocmVkaXJlY3Rpb24paShvcClzKGVyYXRvcikzOTAgNDA0NQoteSBGcyhbKXAgRmoobikxMSBiIEZzKF08JilwIEZqKGRpZ2l0KXAgRnMoLSkxNTAgNDE4OQoteSBGdChtbyltKHYpbShlcykzMyBiKHRoZSlmKFwwMTRsZSlnKGRlc2NyaXB0b3IpZiBGcShkaWdpdClrCiszNyBiIEZxKHcpbShvcmQpayBGdChkbylzKGVzKTE1MCA0MDggeShub3QpMjggYihleHBhbmQpZih0bylpKG9uZSlmKG9yKQorZihtb3JlKWgoZGlnaXRzLClpKHRoZSllKHN0YW5kYXJkKWUob3V0cHV0KWkoYW5kKWYoc3RhbmRhcmQpZyhlcnJvcilnCisoYXJlKWkocmVkaXJlY3RlZClmKGFzKTE1MCA1MTggeShkZXNjcmliKXMoZWQpaChwcmV2aW91c2x5KS04CitiKC4pMTUwIDcxNyB5IEZqKDMuNi45KTYzIGIoTW8pbSh2aW5nKTQxIGIoRmlsZSloKERlc2NyaXB0b3JzKTE1MAorODY0IHkgRnQoVGhlKTMwIGIocmVkaXJlY3Rpb24paChvcClzKGVyYXRvcikzOTAgOTk5IHkKK0ZzKFspcCBGaShuKTExIGIgRnMoXTwmKXAgRmkoZGlnaXQpZyBGcygtKTE1MCAxMTMzIHkKK0Z0KG1vKW0odiltKGVzKTMzIGIodGhlKWYoXDAxNGxlKWcoZGVzY3JpcHRvcilmIEZxKGRpZ2l0KWsKIEZ0KHRvKWQoXDAxNGxlKWcoZGVzY3JpcHRvcilnIEZxKG4pcCBGdCgsKWYob3IpaCh0aGUpZyhzdGFuZGFyZClmCi0oaW5wdXQpZihcKFwwMTRsZSlqKGRlc2NyaXB0b3IpZSgwXCkpMTUwIDQyOTkgeShpZilmCisoaW5wdXQpZihcKFwwMTRsZSlqKGRlc2NyaXB0b3IpZSgwXCkpMTUwIDEyNDMgeShpZilmCiBGcShuKWcgRnQoaXMpaChub3QpZihzcClzKGVjaVwwMTRlZC4pNDAgYiBGcShkaWdpdCkzMwogYiBGdChpcyllKGNsb3NlZClnKGFmdGVyKWcoYilzKGVpbmcpZihkdXBsaWNhdGVkKWcodG8paAotRnEobilwIEZ0KC4pMjc1IDQ0NDMgeShTaW1pbGFybHkpLTggYigsKTMxIGIodGhlKWYocmVkaXJlY3Rpb24paChvcClzCi0oZXJhdG9yKTM5MCA0NTg4IHkgRnMoWylwIEZqKG4pMTEgYiBGcyhdPiYpcCBGaihkaWdpdClwCi1GcygtKTE1MCA0NzMyIHkgRnQobW8pbSh2KW0oZXMpMjkgYih0aGUpZyhcMDE0bGUpZihkZXNjcmlwdG9yKWYKK0ZxKG4pcCBGdCguKTI3NSAxMzc3IHkoU2ltaWxhcmx5KS04IGIoLCkzMSBiKHRoZSlmKHJlZGlyZWN0aW9uKWgob3ApcworKGVyYXRvcikzOTAgMTUxMiB5IEZzKFspcCBGaShuKTExIGIgRnMoXT4mKXAgRmkoZGlnaXQpZworRnMoLSkxNTAgMTY0NiB5IEZ0KG1vKW0odiltKGVzKTI5IGIodGhlKWcoXDAxNGxlKWYoZGVzY3JpcHRvcilmCiBGcShkaWdpdClrIEZ0KHRvKWUoXDAxNGxlKWYoZGVzY3JpcHRvcilnIEZxKG4pcCBGdCgsKWcob3IpZyh0aGUpZwogKHN0YW5kYXJkKWYob3V0cHV0KWgoXChcMDE0bGUpZyhkZXNjcmlwdG9yKWcoMVwpKTE1MAotNDg0MiB5KGlmKWkgRnEobilnIEZ0KGlzKWgobm90KWYoc3ApcyhlY2lcMDE0ZWQuKTE1MAotNTA4NiB5IEZrKDMuNi4xMCk2MyBiKE9wKXMoZW5pbmcpNDIgYihGaWxlKWcoRGVzY3JpcHRvcnMpZyhmb3IpZwotKFJlYWRpbmcpZShhbmQpaChXKS0xMCBiKHJpdGluZykyNzUgNTM0MCB5IEZ0KFRoZSkyOQotYihyZWRpcmVjdGlvbilpKG9wKXMoZXJhdG9yKXAgZW9wIGVuZAorMTc1NiB5KGlmKWkgRnEobilnIEZ0KGlzKWgobm90KWYoc3ApcyhlY2lcMDE0ZWQuKTE1MAorMTk1NSB5IEZqKDMuNi4xMCk2MyBiKE9wKXMoZW5pbmcpNDIgYihGaWxlKWcoRGVzY3JpcHRvcnMpZyhmb3IpZworKFJlYWRpbmcpZShhbmQpaChXKS0xMCBiKHJpdGluZykxNTAgMjEwMiB5IEZ0KFRoZSkzMAorYihyZWRpcmVjdGlvbiloKG9wKXMoZXJhdG9yKTM5MCAyMjM2IHkgRnMoWylwIEZpKG4pMTEKK2IgRnMoXTw+KXAgRmkod29yZCkxNTAgMjM3MSB5IEZ0KGNhdXNlcykzOSBiKHRoZSlnKFwwMTRsZSlnKHdob3NlKWcKKyhuYW1lKWcoaXMpZyh0aGUpZyhleHBhbnNpb24pZyhvZilnIEZxKHcpbShvcmQpaiBGdCh0bylkKGIpcyhlKWcob3ApcworKGVuZWQpZihmb3IpZyhiKXMob3RoKWgocmVhZGluZylnKGFuZCkxNTAgMjQ4MCB5KHdyaXRpbmcpMzMKK2Iob24pZihcMDE0bGUpaChkZXNjcmlwdG9yKWYgRnEobilwIEZ0KCwpaChvcilnKG9uKWYoXDAxNGxlKWgKKyhkZXNjcmlwdG9yKWcoMClnKGlmKWYgRnEobilnIEZ0KGlzKWgobm90KWcoc3ApcyhlY2lcMDE0ZWQuKTQ3CitiKElmKTMyIGIodGhlKWgoXDAxNGxlKWYoZG8pcyhlcyloKG5vdCkxNTAgMjU5MCB5KGV4aXN0LCllKGl0KWcoaXMpZworKGNyZWF0ZWQuKTE1MCAyODIyIHkgRnIoMy43KTY4IGIoRXhlY3V0aW5nKTQ2IGIoQ29tbWFuZHMpMTUwCiszMDQ2IHkgRmooMy43LjEpNjMgYihTaW1wbGUpNDEgYihDb21tYW5kKWgoRXhwYW5zaW9uKTE1MAorMzE5MyB5IEZ0KFdoZW4pMzMgYihhKWcoc2ltcGxlKWcoY29tbWFuZClnKGlzKWcoZXhlY3V0ZWQsKWgodGhlKWcKKyhzaGVsbClmKHApcyhlcmZvcm1zKWUodGhlKWkoZm9sbG8pbSh3aW5nKWkoZXhwYW5zaW9ucywpZShhc3NpZ24tKTE1MAorMzMwMyB5KG1lbiltKHRzLCllKGFuZClmKHJlZGlyZWN0aW9ucywpaChmcm9tKWYobGVmdCloKHRvKWcocmlnaCltKHQuKQorMTk5IDM0MzcgeSgxLik2MSBiKFRoZSkzOCBiKHcpbShvcmRzKWYodGhhdClpKHRoZSlnKHBhcnNlcillKGhhcyloCisobWFyayltKGVkKWcoYXMpaCh2KS01IGIoYXJpYWJsZSkzOSBiKGFzc2lnbm1lbiltKHRzKWcoXCh0aG9zZSlnCisocHJlY2VkaW5nKWYodGhlKTMzMCAzNTQ3IHkoY29tbWFuZCkzMCBiKG5hbWVcKSloKGFuZClmKHJlZGlyZWN0aW9ucyloCisoYXJlKWYoc2EpbSh2KW0oZWQpaShmb3IpZShsYXRlciloKHBybylzKGNlc3NpbmcuKTE5OQorMzY4MSB5KDIuKTYxIGIoVGhlKTM5IGIodyltKG9yZHMpZyh0aGF0KWkoYXJlKWYobm90KWcodiktNQorYihhcmlhYmxlKTQwIGIoYXNzaWdubWVuKW0odHMpaChvcillKHJlZGlyZWN0aW9ucylpKGFyZSlmKGV4cGFuZGVkKWYKKyhcKHNlZSloKFNlYy0pMzMwIDM3OTEgeSh0aW9uKWQoMy41KWkoW1NoZWxsKWUoRXhwYW5zaW9uc10sKWgocGFnZSlnCisoMTdcKS4pNjEgYihJZikzNyBiKGFuKW0oeSlnKHcpbShvcmRzKWYocmVtYWluKWgoYWZ0ZXIpaChleHBhbnNpb24sKWgKKyh0aGUpZShcMDE0cnN0KTMzMCAzOTAxIHkodyltKG9yZCkzMSBiKGlzKWcodGFrKW0oZW4paCh0bylnKGIpcyhlKWYKKyh0aGUpZyhuYW1lKWgob2YpZih0aGUpaChjb21tYW5kKWYoYW5kKWYodGhlKWkocmVtYWluaW5nKWYodyltKG9yZHMpZworKGFyZSlnKHRoZSloKGFyZ3UtKTMzMCA0MDEwIHkobWVuKW0odHMuKTE5OSA0MTQ1IHkoMy4pNjEKK2IoUmVkaXJlY3Rpb25zKTI1IGIoYXJlKWYocClzKGVyZm9ybWVkKWYoYXMpaChkZXNjcmliKXMoZWQpZihhYilzKG8pbQorKHYpbShlKWkoXChzZWUpZyhTZWN0aW9uKWcoMy42KWcoW1JlZGlyZWN0aW9uc10sKWkocGFnZSlkKDI2XCkuKTE5OQorNDI3OSB5KDQuKTYxIGIoVGhlKTI1IGIodGV4dCloKGFmdGVyKWYodGhlKWcoYClwIEZzKD0pcAorRnQoJyloKGluKWUoZWFjKW0oaClqKHYpLTUgYihhcmlhYmxlKTI1IGIoYXNzaWdubWVuKW0odCloKHVuZGVyZ28pcyhlcykKK2UodGlsZGUpaShleHBhbnNpb24sKWcocGFyYW1ldGVyKTMzMCA0Mzg5IHkoZXhwYW5zaW9uLCk0OQorYihjb21tYW5kKWQoc3Vic3RpdHV0aW9uLClqKGFyaXRobWV0aWMpZChleHBhbnNpb24sKWsoYW5kKTQ1CitiKHF1b3RlKWgocmVtbyltKHYpLTUgYihhbCk0NiBiKGIpcyhlZm9yZSkzMzAgNDQ5OCB5KGIpcyhlaW5nKTMwCitiKGFzc2lnbmVkKWgodG8pZyh0aGUpZih2KS01IGIoYXJpYWJsZS4pMjc1IDQ2NTggeShJZikzMgorYihubylpKGNvbW1hbmQpZihuYW1lKWcocmVzdWx0cywpaCh0aGUpZyh2KS01IGIoYXJpYWJsZSkzNAorYihhc3NpZ25tZW4pbSh0cylnKGFcMDEzZWN0KWgodGhlKWYoY3VycmVuKW0odClmKHNoZWxsKWgoZW4pbSh2aXJvbi0pCisxNTAgNDc2NyB5KG1lbiltKHQuKTM5IGIoT3RoZXJ3aXNlLCkyNyBiKHRoZSllKHYpLTUgYihhcmlhYmxlcykyNgorYihhcmUpZyhhZGRlZClmKHRvKWgodGhlKWYoZW4pbSh2aXJvbm1lbiltKHQpaChvZilnKHRoZSlmKGV4ZWN1dGVkKWgKKyhjb21tYW5kKWcoYW5kKTE1MCA0ODc3IHkoZG8pMzUgYihub3QpZihhXDAxM2VjdClqKHRoZSlkKGN1cnJlbiltKHQpaAorKHNoZWxsKWcoZW4pbSh2aXJvbm1lbiltKHQuKTU0IGIoSWYpMzQgYihhbiltKHkpaChvZilnKHRoZSlmKGFzc2lnbm1lbikKK20odHMpaShhdHRlbXB0cylmKHRvKWgoYXNzaWduKTE1MCA0OTg2IHkoYSlqKHYpLTUgYihhbHVlKTM5CitiKHRvKWcoYSlnKHJlYWRvbmx5KWYodiktNSBiKGFyaWFibGUsKTQyIGIoYW4pYyhlcnJvcilnKG8pcyhjY3VycywpagorKGFuZCljKHRoZSlpKGNvbW1hbmQpZihleGl0cyloKHdpdGgpZyhhKWYobm9uLXplcm8pMTUwCis1MDk2IHkoc3RhdHVzLikyNzUgNTIzMCB5KElmKTMzIGIobm8pZyhjb21tYW5kKWcobmFtZSloKHJlc3VsdHMsKWcKKyhyZWRpcmVjdGlvbnMpZyhhcmUpZyhwKXMoZXJmb3JtZWQsKWYoYnV0KWcoZG8paChub3QpZihhXDAxM2VjdClpKHRoZSlmCisoY3VycmVuKW0odCkxNTAgNTM0MCB5KHNoZWxsKWQoZW4pbSh2aXJvbm1lbiltKHQuKTQxCitiKEEpMzAgYihyZWRpcmVjdGlvbiloKGVycm9yKWYoY2F1c2VzKWgodGhlKWcoY29tbWFuZClmKHRvKWgoZXhpdClnCisod2l0aClmKGEpaChub24temVybylnKHN0YXR1cy4pcCBlb3AgZW5kCiAlJVBhZ2U6IDMwIDM2CiBUZVhEaWN0IGJlZ2luIDMwIDM1IGJvcCAxNTAgLTExNiBhIEZ0KDMwKTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkzOTAgMjk5IHkgRnMoWylwIEZqKG4pMTEgYiBGcyhdPD4pcAotRmood29yZCkxNTAgNDMxIHkgRnQoY2F1c2VzKTM5IGIodGhlKWcoXDAxNGxlKWcod2hvc2UpZyhuYW1lKWcoaXMpZwotKHRoZSlnKGV4cGFuc2lvbilnKG9mKWcgRnEodyltKG9yZClqIEZ0KHRvKWQoYilzKGUpZyhvcClzKGVuZWQpZihmb3IpZwotKGIpcyhvdGgpaChyZWFkaW5nKWcoYW5kKTE1MCA1NDEgeSh3cml0aW5nKTMzIGIob24pZihcMDE0bGUpaAotKGRlc2NyaXB0b3IpZiBGcShuKXAgRnQoLCloKG9yKWcob24pZihcMDE0bGUpaChkZXNjcmlwdG9yKWcoMClnKGlmKWYKLUZxKG4pZyBGdChpcyloKG5vdClnKHNwKXMoZWNpXDAxNGVkLik0NyBiKElmKTMyIGIodGhlKWgoXDAxNGxlKWYoZG8pcwotKGVzKWgobm90KTE1MCA2NTEgeShleGlzdCwpZShpdClnKGlzKWcoY3JlYXRlZC4pMTUwIDkwMgoteSBGcigzLjcpNjggYihFeGVjdXRpbmcpNDYgYihDb21tYW5kcykxNTAgMTIzMCB5IEZrKDMuNy4xKTYzCi1iKFNpbXBsZSk0MSBiKENvbW1hbmQpaChFeHBhbnNpb24pMjc1IDE0NzIgeSBGdChXaGVuKTM1Ci1iKGEpaChzaW1wbGUpZihjb21tYW5kKWgoaXMpZihleGVjdXRlZCwpaih0aGUpZShzaGVsbClnKHApcyhlcmZvcm1zKWUKLSh0aGUpaShmb2xsbyltKHdpbmcpaChleHBhbnNpb25zLClmKGFzLSkxNTAgMTU4MiB5KHNpZ25tZW4pbSh0cywpMzEKLWIoYW5kKWYocmVkaXJlY3Rpb25zLCloKGZyb20pZihsZWZ0KWgodG8pZyhyaWdoKW0odC4pMTk5Ci0xNzE0IHkoMS4pNjEgYihUaGUpMzggYih3KW0ob3JkcylmKHRoYXQpaSh0aGUpZyhwYXJzZXIpZShoYXMpaChtYXJrKW0KLShlZClnKGFzKWgodiktNSBiKGFyaWFibGUpMzkgYihhc3NpZ25tZW4pbSh0cylnKFwodGhvc2UpZyhwcmVjZWRpbmcpZgotKHRoZSkzMzAgMTgyNCB5KGNvbW1hbmQpMzAgYihuYW1lXCkpaChhbmQpZihyZWRpcmVjdGlvbnMpaChhcmUpZihzYSltCi0odiltKGVkKWkoZm9yKWUobGF0ZXIpaChwcm8pcyhjZXNzaW5nLikxOTkgMTk1NiB5KDIuKTYxCi1iKFRoZSkzOSBiKHcpbShvcmRzKWcodGhhdClpKGFyZSlmKG5vdClnKHYpLTUgYihhcmlhYmxlKTQwCi1iKGFzc2lnbm1lbiltKHRzKWgob3IpZShyZWRpcmVjdGlvbnMpaShhcmUpZihleHBhbmRlZClmKFwoc2VlKWgoU2VjLSkKLTMzMCAyMDY2IHkodGlvbilkKDMuNSlpKFtTaGVsbCllKEV4cGFuc2lvbnNdLCloKHBhZ2UpZygxN1wpLik2MQotYihJZikzNyBiKGFuKW0oeSlnKHcpbShvcmRzKWYocmVtYWluKWgoYWZ0ZXIpaChleHBhbnNpb24sKWgodGhlKWUKLShcMDE0cnN0KTMzMCAyMTc1IHkodyltKG9yZCkzMSBiKGlzKWcodGFrKW0oZW4paCh0bylnKGIpcyhlKWYodGhlKWcKLShuYW1lKWgob2YpZih0aGUpaChjb21tYW5kKWYoYW5kKWYodGhlKWkocmVtYWluaW5nKWYodyltKG9yZHMpZyhhcmUpZwotKHRoZSloKGFyZ3UtKTMzMCAyMjg1IHkobWVuKW0odHMuKTE5OSAyNDE4IHkoMy4pNjEgYihSZWRpcmVjdGlvbnMpMjUKLWIoYXJlKWYocClzKGVyZm9ybWVkKWYoYXMpaChkZXNjcmliKXMoZWQpZihhYilzKG8pbSh2KW0oZSlpKFwoc2VlKWcKLShTZWN0aW9uKWcoMy42KWcoW1JlZGlyZWN0aW9uc10sKWkocGFnZSlkKDI2XCkuKTE5OSAyNTUwCi15KDQuKTYxIGIoVGhlKTI1IGIodGV4dCloKGFmdGVyKWYodGhlKWcoYClwIEZzKD0pcCBGdCgnKWgoaW4pZShlYWMpbShoKQotaih2KS01IGIoYXJpYWJsZSkyNSBiKGFzc2lnbm1lbiltKHQpaCh1bmRlcmdvKXMoZXMpZSh0aWxkZSlpCi0oZXhwYW5zaW9uLClnKHBhcmFtZXRlcikzMzAgMjY2MCB5KGV4cGFuc2lvbiwpNDkgYihjb21tYW5kKWQKLShzdWJzdGl0dXRpb24sKWooYXJpdGhtZXRpYylkKGV4cGFuc2lvbiwpayhhbmQpNDUgYihxdW90ZSloKHJlbW8pbSh2KS01Ci1iKGFsKTQ2IGIoYilzKGVmb3JlKTMzMCAyNzY5IHkoYilzKGVpbmcpMzAgYihhc3NpZ25lZCloKHRvKWcodGhlKWYodiktNQotYihhcmlhYmxlLikyNzUgMjkyNSB5KElmKTMyIGIobm8paShjb21tYW5kKWYobmFtZSlnKHJlc3VsdHMsKWgodGhlKWcodikKLS01IGIoYXJpYWJsZSkzNCBiKGFzc2lnbm1lbiltKHRzKWcoYVwwMTNlY3QpaCh0aGUpZihjdXJyZW4pbSh0KWYoc2hlbGwpCi1oKGVuKW0odmlyb24tKTE1MCAzMDM0IHkobWVuKW0odC4pMzkgYihPdGhlcndpc2UsKTI3Ci1iKHRoZSllKHYpLTUgYihhcmlhYmxlcykyNiBiKGFyZSlnKGFkZGVkKWYodG8paCh0aGUpZihlbiltKHZpcm9ubWVuKW0KLSh0KWgob2YpZyh0aGUpZihleGVjdXRlZCloKGNvbW1hbmQpZyhhbmQpMTUwIDMxNDQgeShkbykzNQotYihub3QpZihhXDAxM2VjdClqKHRoZSlkKGN1cnJlbiltKHQpaChzaGVsbClnKGVuKW0odmlyb25tZW4pbSh0Lik1NAotYihJZikzNCBiKGFuKW0oeSloKG9mKWcodGhlKWYoYXNzaWdubWVuKW0odHMpaShhdHRlbXB0cylmKHRvKWgoYXNzaWduKQotMTUwIDMyNTQgeShhKWoodiktNSBiKGFsdWUpMzkgYih0bylnKGEpZyhyZWFkb25seSlmKHYpLTUKLWIoYXJpYWJsZSwpNDIgYihhbiljKGVycm9yKWcobylzKGNjdXJzLClqKGFuZCljKHRoZSlpKGNvbW1hbmQpZihleGl0cyloCi0od2l0aClnKGEpZihub24temVybykxNTAgMzM2MyB5KHN0YXR1cy4pMjc1IDM0OTYgeShJZikzMwotYihubylnKGNvbW1hbmQpZyhuYW1lKWgocmVzdWx0cywpZyhyZWRpcmVjdGlvbnMpZyhhcmUpZyhwKXMoZXJmb3JtZWQsKWYKLShidXQpZyhkbyloKG5vdClmKGFcMDEzZWN0KWkodGhlKWYoY3VycmVuKW0odCkxNTAgMzYwNQoteShzaGVsbClkKGVuKW0odmlyb25tZW4pbSh0Lik0MSBiKEEpMzAgYihyZWRpcmVjdGlvbiloKGVycm9yKWYoY2F1c2VzKWgKLSh0aGUpZyhjb21tYW5kKWYodG8paChleGl0KWcod2l0aClmKGEpaChub24temVybylnKHN0YXR1cy4pMjc1Ci0zNzM4IHkoSWYpMjYgYih0aGVyZSlpKGlzKWYoYSloKGNvbW1hbmQpZihuYW1lKWgobGVmdClnKGFmdGVyKWcKLShleHBhbnNpb24sKWcoZXhlY3V0aW9uKWgocHJvKXMoY2VlZHMpZShhcylnKGRlc2NyaWIpcyhlZClmKGIpcyhlbG8pbQotKHcuKTE1MCAzODQ3IHkoT3RoZXJ3aXNlLCkzOSBiKHRoZSllKGNvbW1hbmQpZyhleGl0cy4pNjIKLWIoSWYpMzcgYihvbmUpZyhvZilnKHRoZSloKGV4cGFuc2lvbnMpZihjb24pbSh0YWluZWQpaChhKWcoY29tbWFuZClmCi0oc3Vic3RpdHUtKTE1MCAzOTU3IHkodGlvbiwpaSh0aGUpZChleGl0KWgoc3RhdHVzKWcob2YpZih0aGUpaChjb21tYW5kKQotZihpcyloKHRoZSlmKGV4aXQpaChzdGF0dXMpZyhvZilmKHRoZSloKGxhc3QpZyhjb21tYW5kKWYoc3Vic3RpdHV0aW9uKQotMTUwIDQwNjcgeShwKXMoZXJmb3JtZWQuKTU1IGIoSWYpMzUgYih0aGVyZSlnKHcpbShlcmUpaChubylnKGNvbW1hbmQpZgotKHN1YnN0aXR1dGlvbnMsKWkodGhlKWUoY29tbWFuZCloKGV4aXRzKWcod2l0aClmKGEpaChzdGF0dXMpZyhvZikxNTAKLTQxNzYgeSh6ZXJvLikxNTAgNDM5NCB5IEZrKDMuNy4yKTYzIGIoQ29tbWFuZCk0MSBiKFNlYXJjKW0oaClmKGFuZCloCi0oRXhlY3V0aW9uKTI3NSA0NjM3IHkgRnQoQWZ0ZXIpMzUgYihhKWgoY29tbWFuZClmKGhhcyloKGIpcyhlZW4pZQotKHNwbGl0KWkoaW4pbSh0bylnKHcpbShvcmRzLCloKGlmKWUoaXQpaChyZXN1bHRzKWcoaW4pZihhKWgoc2ltcGxlKWYKLShjb21tYW5kKWcoYW5kKWcoYW4pMTUwIDQ3NDYgeShvcHRpb25hbClkKGxpc3QpZihvZilmKGFyZ3VtZW4pbSh0cywpaAotKHRoZSlnKGZvbGxvKW0od2luZylnKGFjdGlvbnMpaChhcmUpZih0YWspbShlbi4pMTk5IDQ4NzkKLXkoMS4pNjEgYihJZikyNCBiKHRoZSlnKGNvbW1hbmQpZyhuYW1lKWcoY29uKW0odGFpbnMpaShubyllKHNsYXNoZXMsKWkKLSh0aGUpZShzaGVsbCloKGF0dGVtcHRzKWcodG8pZyhsbylzKGNhdGUpaChpdC4pMzkgYihJZikyNAotYih0aGVyZSlnKGV4aXN0cykzMzAgNDk4OCB5KGEpaChzaGVsbClnKGZ1bmN0aW9uKWYoYiltKHkpZyh0aGF0KWgKLShuYW1lLCloKHRoYXQpZihmdW5jdGlvbilmKGlzKWgoaW4pbSh2KW0ob2spbShlZCloKGFzKWUoZGVzY3JpYilzKGVkKWcKLShpbilnKFNlY3Rpb24paCgzLjMpaChbU2hlbGwpMzMwIDUwOTggeShGKS04IGIodW5jdGlvbnNdLCkzMQotYihwYWdlKWgoMTQuKTE5OSA1MjMwIHkoMi4pNjEgYihJZik0MSBiKHRoZSlnKG5hbWUpaChkbylzKGVzKWYobm90KWcKLShtYXRjKW0oaClpKGEpZShmdW5jdGlvbiwpaih0aGUpZShzaGVsbClmKHNlYXJjKW0oaGVzKWkoZm9yKWUoaXQpaChpbilmCi0odGhlKWcobGlzdCloKG9mKWcoc2hlbGwpMzMwIDUzNDAgeShidWlsdGlucy4pZShJZikzMAotYihhKWgobWF0YyltKGgpZyhpcylmKGZvdW5kLClnKHRoYXQpaChidWlsdGluKWYoaXMpZyhpbiltKHYpbShvayltKGVkLikKLXAgZW9wIGVuZAotJSVQYWdlOiAzMSAzNwotVGVYRGljdCBiZWdpbiAzMSAzNiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoMzopNDEKLWIoQmFzaWMpMzIgYihTaGVsbCllKEYpLTggYihlYXR1cmVzKTIyNDYgYigzMSkxOTkgMjk5Ci15KDMuKTYxIGIoSWYpNDAgYih0aGUpZyhuYW1lKWgoaXMpZihuZWl0aGVyKWgoYSlmKHNoZWxsKWgoZnVuY3Rpb24pZgotKG5vcilnKGEpZyhidWlsdGluLClqKGFuZClkKGNvbiltKHRhaW5zKWgobm8pZyhzbGFzaGVzLClpKEJhc2gpMzMwCi00MDggeShzZWFyYyltKGhlcyljKGVhYyltKGgpZyhlbGVtZW4pbSh0KWcob2YpZyBGcygkUEFUSClkCi1GdChmb3IpaShhKWcoZGlyZWN0b3J5KWgoY29uKW0odGFpbmluZylnKGFuKWYoZXhlY3V0YWJsZSloKFwwMTRsZSlmKGIpbQotKHkpZyh0aGF0KTMzMCA1MTggeShuYW1lLik1NiBiKEJhc2gpMzYgYih1c2VzKWYoYSloKGhhc2gpZSh0YWJsZSlqKHRvKWYKLShyZW1lbSltKGIpcyhlcilmKHRoZSloKGZ1bGwpZihwYXRobmFtZXMpZyhvZiloKGV4ZWN1dGFibGUpaChcMDE0bGVzKWUKLSh0bykzMzAgNjI4IHkoYSltKHYpbShvaWQpZShtKW0odWx0aXBsZSlmIEZzKFBBVEgpZiBGdChzZWFyYyltKGhlcylpCi0oXChzZWUpZih0aGUpZyhkZXNjcmlwdGlvbilnKG9mKWYgRnMoaGFzaClnIEZ0KGluKWcoU2VjdGlvbilpKDQuMSlmCi0oW0JvdXJuZSlnKFNoZWxsKTMzMCA3MzcgeShCdWlsdGluc10sKTM3IGIocGFnZSlmKDM1XCkuKTU1Ci1iKEEpMzUgYihmdWxsKWcoc2VhcmMpbShoKWcob2YpZyh0aGUpZyhkaXJlY3RvcmllcyloKGluKWYKLUZzKCRQQVRIKWUgRnQoaXMpaShwKXMoZXJmb3JtZWQpZihvbmx5KWgoaWYpZyh0aGUpMzMwCi04NDcgeShjb21tYW5kKTI0IGIoaXMpaChub3QpZyhmb3VuZCllKGluKWkodGhlKWcoaGFzaClmKHRhYmxlLikzOQotYihJZikyNSBiKHRoZSlmKHNlYXJjKW0oaClpKGlzKWUodW5zdWNjZXNzZnVsLCloKHRoZSlnKHNoZWxsKWcoc2VhcmMpbQotKGhlcykzMzAgOTU2IHkoZm9yKWUoYSloKGRlXDAxNG5lZCllKHNoZWxsKWgoZnVuY3Rpb24paChuYW1lZCllCi1Gcyhjb21tYW5kX25vdF9mb3VuZF9oYW5kbGUpcCBGdCguKTMyIGIoSWYpMjMgYih0aGF0KWgoZnVuY3Rpb24pZgotKGV4aXN0cywpMzMwIDEwNjYgeShpdCkzMiBiKGlzKWYoaW4pbSh2KW0ob2spbShlZClpKHdpdGgpZSh0aGUpaAotKG9yaWdpbmFsKWcoY29tbWFuZClmKGFuZClnKHRoZSloKG9yaWdpbmFsKWcoY29tbWFuZCdzKWYoYXJndW1lbiltKHRzKWgKLShhcylnKGl0cykzMzAgMTE3NiB5KGFyZ3VtZW4pbSh0cywpaChhbmQpZSh0aGUpaShmdW5jdGlvbidzKWUoZXhpdClpCi0oc3RhdHVzKWcoYilzKGVjb21lcylmKHRoZSlnKGV4aXQpaChzdGF0dXMpZihvZiloKHRoZSlmKHNoZWxsLik0NgotYihJZikzMSBiKHRoYXQpMzMwIDEyODUgeShmdW5jdGlvbilnKGlzKWcobm90KWcoZGVcMDE0bmVkLClmKHRoZSlpCi0oc2hlbGwpZihwcmluKW0odHMpZihhbiloKGVycm9yKWcobWVzc2FnZSloKGFuZClmKHJldHVybnMpZShhbilpKGV4aXQpaAotKHN0YXR1cylnKG9mKTMzMCAxMzk1IHkoMTI3LikxOTkgMTUzMSB5KDQuKTYxIGIoSWYpMzMKLWIodGhlKWcoc2VhcmMpbShoKWgoaXMpZyhzdWNjZXNzZnVsLClnKG9yKWYoaWYpZyh0aGUpaChjb21tYW5kKWYobmFtZSlnCi0oY29uKW0odGFpbnMpaShvbmUpZihvcilmKG1vcmUpZyhzbGFzaGVzLClpKHRoZSkzMzAgMTY0MAoteShzaGVsbClnKGV4ZWN1dGVzKWgodGhlKWYobmFtZWQpZihwcm9ncmFtKWcoaW4paChhKWcoc2VwYXJhdGUpaAotKGV4ZWN1dGlvbilmKGVuKW0odmlyb25tZW4pbSh0Lik1NSBiKEFyZ3VtZW4pbSh0KTM1IGIoMCkzMzAKLTE3NTAgeShpcykzMCBiKHNldCloKHRvKWgodGhlKWUobmFtZSloKGdpdiltKGVuLClnKGFuZClmKHRoZSloCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkyNzUgMjk5IHkoSWYpMjYgYih0aGVyZSlpKGlzKWYoYSloKGNvbW1hbmQpZgorKG5hbWUpaChsZWZ0KWcoYWZ0ZXIpZyhleHBhbnNpb24sKWcoZXhlY3V0aW9uKWgocHJvKXMoY2VlZHMpZShhcylnCisoZGVzY3JpYilzKGVkKWYoYilzKGVsbyltKHcuKTE1MCA0MDggeShPdGhlcndpc2UsKTM5CitiKHRoZSllKGNvbW1hbmQpZyhleGl0cy4pNjIgYihJZikzNyBiKG9uZSlnKG9mKWcodGhlKWgoZXhwYW5zaW9ucylmCisoY29uKW0odGFpbmVkKWgoYSlnKGNvbW1hbmQpZihzdWJzdGl0dS0pMTUwIDUxOCB5KHRpb24sKWkodGhlKWQoZXhpdCloCisoc3RhdHVzKWcob2YpZih0aGUpaChjb21tYW5kKWYoaXMpaCh0aGUpZihleGl0KWgoc3RhdHVzKWcob2YpZih0aGUpaAorKGxhc3QpZyhjb21tYW5kKWYoc3Vic3RpdHV0aW9uKTE1MCA2MjggeShwKXMoZXJmb3JtZWQuKTU1CitiKElmKTM1IGIodGhlcmUpZyh3KW0oZXJlKWgobm8pZyhjb21tYW5kKWYoc3Vic3RpdHV0aW9ucywpaSh0aGUpZQorKGNvbW1hbmQpaChleGl0cylnKHdpdGgpZihhKWgoc3RhdHVzKWcob2YpMTUwIDczNyB5KHplcm8uKTE1MAorOTI1IHkgRmooMy43LjIpNjMgYihDb21tYW5kKTQxIGIoU2VhcmMpbShoKWYoYW5kKWgoRXhlY3V0aW9uKTE1MAorMTA3MSB5IEZ0KEFmdGVyKWkoYSloKGNvbW1hbmQpZihoYXMpZyhiKXMoZWVuKWYoc3BsaXQpaChpbiltKHRvKWgodyltCisob3JkcywpaihpZiljKGl0KWcocmVzdWx0cylnKGluKWcoYSloKHNpbXBsZSlmKGNvbW1hbmQpZyhhbmQpZihhbikxNTAKKzExODEgeShvcHRpb25hbCkzMiBiKGxpc3QpZihvZilmKGFyZ3VtZW4pbSh0cywpaCh0aGUpZyhmb2xsbyltKHdpbmcpZworKGFjdGlvbnMpaChhcmUpZih0YWspbShlbi4pMTk5IDEzMTAgeSgxLik2MSBiKElmKTI0IGIodGhlKWcoY29tbWFuZClnCisobmFtZSlnKGNvbiltKHRhaW5zKWkobm8pZShzbGFzaGVzLClpKHRoZSllKHNoZWxsKWgoYXR0ZW1wdHMpZyh0bylnKGxvKQorcyhjYXRlKWgoaXQuKTM5IGIoSWYpMjQgYih0aGVyZSlnKGV4aXN0cykzMzAgMTQxOSB5KGEpaChzaGVsbClnCisoZnVuY3Rpb24pZihiKW0oeSlnKHRoYXQpaChuYW1lLCloKHRoYXQpZihmdW5jdGlvbilmKGlzKWgoaW4pbSh2KW0ob2spbQorKGVkKWgoYXMpZShkZXNjcmliKXMoZWQpZyhpbilnKFNlY3Rpb24paCgzLjMpaChbU2hlbGwpMzMwCisxNTI5IHkoRiktOCBiKHVuY3Rpb25zXSwpMzEgYihwYWdlKWgoMTQuKTE5OSAxNjU3IHkoMi4pNjEKK2IoSWYpNDEgYih0aGUpZyhuYW1lKWgoZG8pcyhlcylmKG5vdClnKG1hdGMpbShoKWkoYSllKGZ1bmN0aW9uLClqKHRoZSllCisoc2hlbGwpZihzZWFyYyltKGhlcylpKGZvcillKGl0KWgoaW4pZih0aGUpZyhsaXN0KWgob2YpZyhzaGVsbCkzMzAKKzE3NjcgeShidWlsdGlucy4pZShJZikzMCBiKGEpaChtYXRjKW0oaClnKGlzKWYoZm91bmQsKWcodGhhdCloKGJ1aWx0aW4pCitmKGlzKWcoaW4pbSh2KW0ob2spbShlZC4pMTk5IDE4OTUgeSgzLik2MSBiKElmKTQwIGIodGhlKWcobmFtZSloKGlzKWYKKyhuZWl0aGVyKWgoYSlmKHNoZWxsKWgoZnVuY3Rpb24pZihub3IpZyhhKWcoYnVpbHRpbiwpaihhbmQpZChjb24pbQorKHRhaW5zKWgobm8pZyhzbGFzaGVzLClpKEJhc2gpMzMwIDIwMDUgeShzZWFyYyltKGhlcyljKGVhYyltKGgpZworKGVsZW1lbiltKHQpZyhvZilnIEZzKCRQQVRIKWQgRnQoZm9yKWkoYSlnKGRpcmVjdG9yeSloKGNvbiltKHRhaW5pbmcpZworKGFuKWYoZXhlY3V0YWJsZSloKFwwMTRsZSlmKGIpbSh5KWcodGhhdCkzMzAgMjExNSB5KG5hbWUuKTU2CitiKEJhc2gpMzYgYih1c2VzKWYoYSloKGhhc2gpZSh0YWJsZSlqKHRvKWYocmVtZW0pbShiKXMoZXIpZih0aGUpaChmdWxsKQorZihwYXRobmFtZXMpZyhvZiloKGV4ZWN1dGFibGUpaChcMDE0bGVzKWUodG8pMzMwIDIyMjQKK3koYSltKHYpbShvaWQpZShtKW0odWx0aXBsZSlmIEZzKFBBVEgpZiBGdChzZWFyYyltKGhlcylpKFwoc2VlKWYodGhlKWcKKyhkZXNjcmlwdGlvbilnKG9mKWYgRnMoaGFzaClnIEZ0KGluKWcoU2VjdGlvbilpKDQuMSlmKFtCb3VybmUpZyhTaGVsbCkKKzMzMCAyMzM0IHkoQnVpbHRpbnNdLCkzNyBiKHBhZ2UpZigzNVwpLik1NSBiKEEpMzUgYihmdWxsKWcoc2VhcmMpbShoKWcKKyhvZilnKHRoZSlnKGRpcmVjdG9yaWVzKWgoaW4pZiBGcygkUEFUSCllIEZ0KGlzKWkocClzKGVyZm9ybWVkKWYob25seSloCisoaWYpZyh0aGUpMzMwIDI0NDMgeShjb21tYW5kKTI0IGIoaXMpaChub3QpZyhmb3VuZCllKGluKWkodGhlKWcoaGFzaClmCisodGFibGUuKTM5IGIoSWYpMjUgYih0aGUpZihzZWFyYyltKGgpaShpcyllKHVuc3VjY2Vzc2Z1bCwpaCh0aGUpZworKHNoZWxsKWcoc2VhcmMpbShoZXMpMzMwIDI1NTMgeShmb3IpZShhKWgoZGVcMDE0bmVkKWUoc2hlbGwpaChmdW5jdGlvbikKK2gobmFtZWQpZSBGcyhjb21tYW5kX25vdF9mb3VuZF9oYW5kbGUpcCBGdCguKTMyIGIoSWYpMjMKK2IodGhhdCloKGZ1bmN0aW9uKWYoZXhpc3RzLCkzMzAgMjY2MyB5KGl0KTMyIGIoaXMpZihpbiltKHYpbShvayltKGVkKWkKKyh3aXRoKWUodGhlKWgob3JpZ2luYWwpZyhjb21tYW5kKWYoYW5kKWcodGhlKWgob3JpZ2luYWwpZyhjb21tYW5kJ3MpZgorKGFyZ3VtZW4pbSh0cyloKGFzKWcoaXRzKTMzMCAyNzcyIHkoYXJndW1lbiltKHRzLCloKGFuZCllKHRoZSlpCisoZnVuY3Rpb24ncyllKGV4aXQpaShzdGF0dXMpZyhiKXMoZWNvbWVzKWYodGhlKWcoZXhpdCloKHN0YXR1cylmKG9mKWgKKyh0aGUpZihzaGVsbC4pNDYgYihJZikzMSBiKHRoYXQpMzMwIDI4ODIgeShmdW5jdGlvbilnKGlzKWcobm90KWcKKyhkZVwwMTRuZWQsKWYodGhlKWkoc2hlbGwpZihwcmluKW0odHMpZihhbiloKGVycm9yKWcobWVzc2FnZSloKGFuZClmCisocmV0dXJucyllKGFuKWkoZXhpdCloKHN0YXR1cylnKG9mKTMzMCAyOTkxIHkoMTI3LikxOTkKKzMxMjAgeSg0Lik2MSBiKElmKTMzIGIodGhlKWcoc2VhcmMpbShoKWgoaXMpZyhzdWNjZXNzZnVsLClnKG9yKWYoaWYpZworKHRoZSloKGNvbW1hbmQpZihuYW1lKWcoY29uKW0odGFpbnMpaShvbmUpZihvcilmKG1vcmUpZyhzbGFzaGVzLClpKHRoZSkKKzMzMCAzMjI5IHkoc2hlbGwpZyhleGVjdXRlcyloKHRoZSlmKG5hbWVkKWYocHJvZ3JhbSlnKGluKWgoYSlnCisoc2VwYXJhdGUpaChleGVjdXRpb24pZihlbiltKHZpcm9ubWVuKW0odC4pNTUgYihBcmd1bWVuKW0odCkzNQorYigwKTMzMCAzMzM5IHkoaXMpMzAgYihzZXQpaCh0byloKHRoZSllKG5hbWUpaChnaXYpbShlbiwpZyhhbmQpZih0aGUpaAogKHJlbWFpbmluZylmKGFyZ3VtZW4pbSh0cyloKHRvKWcodGhlKWcoY29tbWFuZClmKGFyZSloKHNldClnKHRvKWcodGhlKQotMzMwIDE4NjAgeShhcmd1bWVuKW0odHMpZyhzdXBwbGllZCwpZShpZiloKGFuKW0oeSktOAotYiguKTE5OSAxOTk2IHkoNS4pNjEgYihJZikzNSBiKHRoaXMpaChleGVjdXRpb24paChmYWlscylmKGIpcyhlY2F1c2UpZworMzMwIDM0NDkgeShhcmd1bWVuKW0odHMpZyhzdXBwbGllZCwpZShpZiloKGFuKW0oeSktOAorYiguKTE5OSAzNTc3IHkoNS4pNjEgYihJZikzNSBiKHRoaXMpaChleGVjdXRpb24paChmYWlscylmKGIpcyhlY2F1c2UpZwogKHRoZSlmKFwwMTRsZSloKGlzKWcobm90KWcoaW4pZihleGVjdXRhYmxlKWooZm9ybWF0LClmKGFuZCllKHRoZSloCi0oXDAxNGxlKWcoaXMpZyhub3QpMzMwIDIxMDUgeShhKWQoZGlyZWN0b3J5KS04IGIoLCkzNAorKFwwMTRsZSlnKGlzKWcobm90KTMzMCAzNjg3IHkoYSlkKGRpcmVjdG9yeSktOCBiKCwpMzQKIGIoaXQpZihpcylnKGFzc3VtZWQpZSh0bylqKGIpcyhlKWQoYSlpIEZxKHNoZWxsKWcoc2NyaXB0KWgKIEZ0KGFuZCllKHRoZSloKHNoZWxsKWYoZXhlY3V0ZXMpaShpdClmKGFzKWcoZGVzY3JpYilzKGVkKWUoaW4pMzMwCi0yMjE1IHkoU2VjdGlvbilnKDMuOCloKFtTaGVsbCllKFNjcmlwdHNdLClnKHBhZ2UpaSgzNC4pMTk5Ci0yMzUxIHkoNi4pNjEgYihJZikzOCBiKHRoZSloKGNvbW1hbmQpZih3KW0oYXMpaChub3QpZyhiKXMoZWd1billKGFzeW5jKQorMzc5NiB5KFNlY3Rpb24pZygzLjgpaChbU2hlbGwpZShTY3JpcHRzXSwpZyhwYWdlKWkoMzMuKTE5OQorMzkyNSB5KDYuKTYxIGIoSWYpMzggYih0aGUpaChjb21tYW5kKWYodyltKGFzKWgobm90KWcoYilzKGVndW4pZShhc3luYykKIG0oaHJvbm91c2x5KS04IGIoLCk0MiBiKHRoZSljKHNoZWxsKWgodyltKGFpdHMpaChmb3IpZSh0aGUpaChjb21tYW5kKWYKLSh0bykzMzAgMjQ2MCB5KGNvbXBsZXRlKTMyIGIoYW5kKWUoY29sbGVjdHMpaShpdHMpZihleGl0KWcoc3RhdHVzLikxNTAKLTI2OTEgeSBGaygzLjcuMyk2MyBiKENvbW1hbmQpNDEgYihFeGVjdXRpb24pZihFbiltKHZpcm9ubWVuKW0odCkyNzUKLTI5MzggeSBGdChUaGUpMjkgYihzaGVsbClpKGhhcylmKGFuKWcgRnEoZXhlY3V0aW9uKWkoZW4pbSh2aXJvbm1lbiltKHQpCi1wIEZ0KCwpZih3aGljKW0oaClmKGNvbnNpc3RzKWgob2YpZyh0aGUpZihmb2xsbyltKHdpbmc6KTIyNQotMzA3NSB5IEZwKFwwMTcpNjAgYiBGdChvcClzKGVuKTMyIGIoXDAxNGxlcylnKGluaGVyaXRlZClnKGIpbSh5KWgodGhlKWYKKyh0bykzMzAgNDAzNCB5KGNvbXBsZXRlKTMyIGIoYW5kKWUoY29sbGVjdHMpaShpdHMpZihleGl0KWcoc3RhdHVzLikxNTAKKzQyMjIgeSBGaigzLjcuMyk2MyBiKENvbW1hbmQpNDEgYihFeGVjdXRpb24pZihFbiltKHZpcm9ubWVuKW0odCkxNTAKKzQzNjkgeSBGdChUaGUpMzAgYihzaGVsbClnKGhhcyloKGFuKWYgRnEoZXhlY3V0aW9uKWgoZW4pbSh2aXJvbm1lbiltKHQpCityIEZ0KCwpaCh3aGljKW0oaCllKGNvbnNpc3RzKWgob2YpZih0aGUpaChmb2xsbyltKHdpbmc6KTIyNQorNDQ5NyB5IEZwKFwwMTcpNjAgYiBGdChvcClzKGVuKTMyIGIoXDAxNGxlcylnKGluaGVyaXRlZClnKGIpbSh5KWgodGhlKWYKIChzaGVsbCloKGF0KWcoaW4pbSh2KW0obylzKGNhdGlvbiwpaihhcyljKG1vKXMoZGlcMDE0ZWQpZyhiKW0oeSlnCi0ocmVkaXJlY3Rpb25zKWgoc3VwcGxpZWQpZSh0bykzMzAgMzE4NSB5KHRoZSlnIEZzKGV4ZWMpZQotRnQoYnVpbHRpbikyMjUgMzMyMSB5IEZwKFwwMTcpNjAgYiBGdCh0aGUpMjggYihjdXJyZW4pbSh0KWcodyltKG9ya2luZykKKyhyZWRpcmVjdGlvbnMpaChzdXBwbGllZCllKHRvKTMzMCA0NjA3IHkodGhlKWcgRnMoZXhlYyllCitGdChidWlsdGluKTIyNSA0NzM1IHkgRnAoXDAxNyk2MCBiIEZ0KHRoZSkyOCBiKGN1cnJlbiltKHQpZyh3KW0ob3JraW5nKQogaChkaXJlY3RvcnkpZyhhcylmKHNldCloKGIpbSh5KWYgRnMoY2QpcCBGdCgsKWcgRnMocHVzaGQpcAogRnQoLClnKG9yKWcgRnMocG9wZClwIEZ0KCwpZyhvcilnKGluaGVyaXRlZClnKGIpbSh5KWcodGhlKWgoc2hlbGwpZihhdCkKLTMzMCAzNDMwIHkoaW4pbSh2KW0obylzKGNhdGlvbikyMjUgMzU2NiB5IEZwKFwwMTcpNjAKKzMzMCA0ODQ1IHkoaW4pbSh2KW0obylzKGNhdGlvbikyMjUgNDk3MyB5IEZwKFwwMTcpNjAKIGIgRnQodGhlKTMxIGIoXDAxNGxlKWYoY3JlYXRpb24paShtbylzKGRlKWUobWFzaylnKGFzKWgoc2V0KWcoYiltKHkpZgogRnModW1hc2spZiBGdChvciloKGluaGVyaXRlZClnKGZyb20pZyh0aGUpaChzaGVsbCdzKWYocGFyZW4pbSh0KTIyNQotMzcwMiB5IEZwKFwwMTcpNjAgYiBGdChjdXJyZW4pbSh0KTMwIGIodHJhcHMpZyhzZXQpaChiKW0oeSlmCi1Gcyh0cmFwKTIyNSAzODM4IHkgRnAoXDAxNyk2MCBiIEZ0KHNoZWxsKTMwIGIocGFyYW1ldGVycylmKHRoYXQpaChhcmUpZworNTEwMiB5IEZwKFwwMTcpNjAgYiBGdChjdXJyZW4pbSh0KTMwIGIodHJhcHMpZyhzZXQpaChiKW0oeSlmCitGcyh0cmFwKTIyNSA1MjMwIHkgRnAoXDAxNyk2MCBiIEZ0KHNoZWxsKTMwIGIocGFyYW1ldGVycylmKHRoYXQpaChhcmUpZwogKHNldClnKGIpbSh5KWcodiktNSBiKGFyaWFibGUpMzAgYihhc3NpZ25tZW4pbSh0KWcob3IpZyh3aXRoKWYKLUZzKHNldClmIEZ0KG9yKWkoaW5oZXJpdGVkKWYoZnJvbSlnKHRoZSkzMzAgMzk0OCB5KHNoZWxsJ3MpaShwYXJlbiltKHQpCi1mKGluKWcodGhlKWgoZW4pbSh2aXJvbm1lbiltKHQpMjI1IDQwODQgeSBGcChcMDE3KTYwCi1iIEZ0KHNoZWxsKTQ0IGIoZnVuY3Rpb25zKWYoZGVcMDE0bmVkKWYoZHVyaW5nKWgoZXhlY3V0aW9uKWkob3IpZQotKGluaGVyaXRlZCloKGZyb20pZih0aGUpaChzaGVsbCdzKWcocGFyZW4pbSh0KWYoaW4paCh0aGUpMzMwCi00MTk0IHkoZW4pbSh2aXJvbm1lbiltKHQpMjI1IDQzMzAgeSBGcChcMDE3KTYwIGIgRnQob3B0aW9ucykzMwotYihlbmFibGVkKWcoYXQpaChpbiltKHYpbShvKXMoY2F0aW9uKWgoXChlaXRoZXIpZihiKW0oeSlmKGRlZmF1bHQpZyhvcikKLWcod2l0aClnKGNvbW1hbmQtbGluZSlnKGFyZ3VtZW4pbSh0c1wpKWgob3IpMzMwIDQ0MzkKLXkoYiltKHkpYyBGcyhzZXQpMjI1IDQ1NzUgeSBGcChcMDE3KTYwIGIgRnQob3B0aW9ucykzMQorRnMoc2V0KWYgRnQob3IpaShpbmhlcml0ZWQpZihmcm9tKWcodGhlKTMzMCA1MzQwIHkoc2hlbGwncylpKHBhcmVuKW0odCkKK2YoaW4pZyh0aGUpaChlbiltKHZpcm9ubWVuKW0odClwIGVvcCBlbmQKKyUlUGFnZTogMzEgMzcKK1RlWERpY3QgYmVnaW4gMzEgMzYgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDM6KTQxCitiKEJhc2ljKTMyIGIoU2hlbGwpZShGKS04IGIoZWF0dXJlcykyMjQ2IGIoMzEpMjI1IDI5OQoreSBGcChcMDE3KTYwIGIgRnQoc2hlbGwpNDQgYihmdW5jdGlvbnMpZihkZVwwMTRuZWQpZihkdXJpbmcpaAorKGV4ZWN1dGlvbilpKG9yKWUoaW5oZXJpdGVkKWgoZnJvbSlmKHRoZSloKHNoZWxsJ3MpZyhwYXJlbiltKHQpZihpbiloCisodGhlKTMzMCA0MDggeShlbiltKHZpcm9ubWVuKW0odCkyMjUgNTQzIHkgRnAoXDAxNyk2MAorYiBGdChvcHRpb25zKTMzIGIoZW5hYmxlZClnKGF0KWgoaW4pbSh2KW0obylzKGNhdGlvbiloKFwoZWl0aGVyKWYoYiltCisoeSlmKGRlZmF1bHQpZyhvcilnKHdpdGgpZyhjb21tYW5kLWxpbmUpZyhhcmd1bWVuKW0odHNcKSloKG9yKTMzMAorNjUyIHkoYiltKHkpYyBGcyhzZXQpMjI1IDc4NyB5IEZwKFwwMTcpNjAgYiBGdChvcHRpb25zKTMxCiBiKGVuYWJsZWQpZihiKW0oeSlnIEZzKHNob3B0KWYgRnQoXChzZWUpaihTZWN0aW9uKWYoNC4zLjIpaChbVGhlKWUKLShTaG9wdClnKEJ1aWx0aW5dLCloKHBhZ2UpZyg1NFwpKTIyNSA0NzExIHkgRnAoXDAxNyk2MAorKFNob3B0KWcoQnVpbHRpbl0sKWgocGFnZSlnKDU1XCkpMjI1IDkyMSB5IEZwKFwwMTcpNjAKIGIgRnQoc2hlbGwpMzEgYihhbGlhc2VzKWcoZGVcMDE0bmVkKWYod2l0aClnIEZzKGFsaWFzKWYKIEZ0KFwoc2VlKWkoU2VjdGlvbilnKDYuNiloKFtBbGlhc2VzXSwpZyhwYWdlKWYoNzlcKSkyMjUKLTQ4NDcgeSBGcChcMDE3KTYwIGIgRnQodiktNSBiKGFyaW91cyk1MCBiKHBybylzKGNlc3MpZgorMTA1NiB5IEZwKFwwMTcpNjAgYiBGdCh2KS01IGIoYXJpb3VzKTUwIGIocHJvKXMoY2VzcylmCiBGbChpZClwIEZ0KHMsKTU1IGIoaW5jbHVkaW5nKTQ5IGIodGhvc2UpaShvZillKGJhYyltKGtncm91bmQpaChqb2JzKWYKLShcKHNlZSlpKFNlY3Rpb24pZygzLjIuMylnKFtMaXN0c10sKTMzMCA0OTU3IHkocGFnZSkzMQotYig5XCksKWcodGhlKWcodiktNSBiKGFsdWUpMzEgYihvZilmIEZzKCQkKXAgRnQoLClnKGFuZClnKHRoZSloKHYpLTUKLWIoYWx1ZSkzMSBiKG9mKWYgRnMoJFBQSUQpMjc1IDUxMjEgeSBGdChXaGVuKWsoYSlnKHNpbXBsZSloKGNvbW1hbmQpZgorKFwoc2VlKWkoU2VjdGlvbilnKDMuMi4zKWcoW0xpc3RzXSwpMzMwIDExNjUgeShwYWdlKTMxCitiKDhcKSwpZyh0aGUpZyh2KS01IGIoYWx1ZSkzMSBiKG9mKWYgRnMoJCQpcCBGdCgsKWcoYW5kKWcodGhlKWgodiktNQorYihhbHVlKTMxIGIob2YpZiBGcygkUFBJRCkyNzUgMTMyNCB5IEZ0KFdoZW4payhhKWcoc2ltcGxlKWgoY29tbWFuZClmCiAob3RoZXIpZyh0aGFuKWcoYSloKGJ1aWx0aW4pZihvcilnKHNoZWxsKWgoZnVuY3Rpb24pZihpcylnKHRvKWgoYilzKGUpZgotKGV4ZWN1dGVkLClpKGl0KWYoaXMpMTUwIDUyMzAgeShpbiltKHYpbShvayltKGVkKTI1IGIoaW4pZihhKWcKKyhleGVjdXRlZCwpaShpdClmKGlzKTE1MCAxNDM0IHkoaW4pbSh2KW0ob2spbShlZCkyNSBiKGluKWYoYSlnCiAoc2VwYXJhdGUpaChleGVjdXRpb24pZyhlbiltKHZpcm9ubWVuKW0odClnKHRoYXQpZihjb25zaXN0cylnKG9mKWgodGhlKQotZihmb2xsbyltKHdpbmcuKTQwIGIoVW5sZXNzKTI0IGIob3RoZXJ3aXNlKTE1MCA1MzQwIHkobm90ZWQsKTMxCi1iKHRoZSlmKHYpLTUgYihhbHVlcykzMSBiKGFyZSlnKGluaGVyaXRlZClmKGZyb20pZyh0aGUpZyhzaGVsbC4pcAotZW9wIGVuZAotJSVQYWdlOiAzMiAzOAotVGVYRGljdCBiZWdpbiAzMiAzNyBib3AgMTUwIC0xMTYgYSBGdCgzMikyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMjI1IDI5OSB5IEZwKFwwMTcpNjAgYiBGdCh0aGUpMzEKLWIoc2hlbGwncyloKG9wKXMoZW4pZShcMDE0bGVzLClpKHBsdXMpZShhbiltKHkpaChtbylzKGRpXDAxNGNhdGlvbnMpaAotKGFuZCllKGFkZGl0aW9ucyloKHNwKXMoZWNpXDAxNGVkKWcoYiltKHkpZyhyZWRpcmVjdGlvbnMpZyh0bykzMzAKLTQwOCB5KHRoZSlnKGNvbW1hbmQpMjI1IDU0NiB5IEZwKFwwMTcpNjAgYiBGdCh0aGUpMzEKLWIoY3VycmVuKW0odClmKHcpbShvcmtpbmcpZyhkaXJlY3RvcnkpMjI1IDY4NCB5IEZwKFwwMTcpNjAKLWIgRnQodGhlKTMxIGIoXDAxNGxlKWYoY3JlYXRpb24paShtbylzKGRlKWUobWFzaykyMjUKLTgyMSB5IEZwKFwwMTcpNjAgYiBGdChzaGVsbCkzMiBiKHYpLTUgYihhcmlhYmxlcykzMyBiKGFuZCllKGZ1bmN0aW9ucyloCi0obWFyayltKGVkKWcoZm9yKWcoZXhwKXMob3J0LClnKGFsb25nKWgod2l0aClmKHYpLTUgYihhcmlhYmxlcykzMgotYihleHApcyhvcnRlZClnKGZvcilnKHRoZSkzMzAgOTMxIHkoY29tbWFuZCwpZShwYXNzZWQpZyhpbilnKHRoZSloKGVuKW0KLSh2aXJvbm1lbiltKHQpZyhcKHNlZSlnKFNlY3Rpb24pZygzLjcuNClpKFtFbiltKHZpcm9ubWVuKW0odF0sKWUocGFnZSlnCi0oMzJcKSkyMjUgMTA2OSB5IEZwKFwwMTcpNjAgYiBGdCh0cmFwcykzMSBiKGNhdWdoKW0odCloKGIpbSh5KWYodGhlKWcKLShzaGVsbCloKGFyZSlmKHJlc2V0KWgodG8pZyh0aGUpZih2KS01IGIoYWx1ZXMpMzIgYihpbmhlcml0ZWQpZShmcm9tKWgKLSh0aGUpZyhzaGVsbCdzKWgocGFyZW4pbSh0LClnKGFuZCkzMzAgMTE3OCB5KHRyYXBzKWUoaWdub3JlZCloKGIpbSh5KWYKLSh0aGUpZyhzaGVsbCloKGFyZSlnKGlnbm9yZWQpMjc1IDEzNDcgeShBKTQxIGIoY29tbWFuZClnKGluKW0odiltKG9rKW0KLShlZClpKGluKWUodGhpcyloKHNlcGFyYXRlKWcoZW4pbSh2aXJvbm1lbiltKHQpZyhjYW5ub3QpZyhhXDAxM2VjdCloCi0odGhlKWYoc2hlbGwncylnKGV4ZWN1dGlvbikxNTAgMTQ1NyB5KGVuKW0odmlyb25tZW4pbSh0LikyNzUKLTE1OTcgeShDb21tYW5kKTM1IGIoc3Vic3RpdHV0aW9uLClqKGNvbW1hbmRzKWUoZ3JvdXApcyhlZClmKHdpdGgpaQotKHBhcmVuKW0odGhlc2VzLCloKGFuZCllKGFzeW5jKW0oaHJvbm91cylnKGNvbS0pMTUwIDE3MDcKLXkobWFuZHMpYyhhcmUpaChpbiltKHYpbShvayltKGVkKWkoaW4pZChhKWkoc3Vic2hlbGwpZShlbiltKHZpcm9ubWVuKW0KLSh0KWgodGhhdCloKGlzKWYoYSlnKGR1cGxpY2F0ZSloKG9mKWYodGhlKWcoc2hlbGwpZyhlbiltKHZpcm9ubWVuKW0odCwpCi0xNTAgMTgxNyB5KGV4Y2VwdClpKHRoYXQpZyh0cmFwcylmKGNhdWdoKW0odCloKGIpbSh5KWYodGhlKWgoc2hlbGwpZgotKGFyZSlnKHJlc2V0KWgodG8pZyh0aGUpZih2KS01IGIoYWx1ZXMpMzUgYih0aGF0KWcodGhlKWYoc2hlbGwpaAotKGluaGVyaXRlZCllKGZyb20pMTUwIDE5MjYgeShpdHMpZyhwYXJlbiltKHQpZihhdCloKGluKW0odiltKG8pcwotKGNhdGlvbi4pNDkgYihCdWlsdGluKTMyIGIoY29tbWFuZHMpZyh0aGF0KWgoYXJlKWcoaW4pbSh2KW0ob2spbShlZCloCi0oYXMpZShwYXJ0KWcob2YpaChhKWYocGlwKXMoZWxpbmUpZyhhcmUpaChhbHNvKTE1MCAyMDM2Ci15KGV4ZWN1dGVkKTQxIGIoaW4pZihhKWgoc3Vic2hlbGwpZShlbiltKHZpcm9ubWVuKW0odC4pNzIKLWIoQ2hhbmdlcyk0MCBiKG1hZGUpZyh0byloKHRoZSlnKHN1YnNoZWxsKWUoZW4pbSh2aXJvbm1lbiltKHQpaShjYW5ub3QpCi0xNTAgMjE0NSB5KGFcMDEzZWN0KTMyIGIodGhlKWYoc2hlbGwncylmKGV4ZWN1dGlvbilpKGVuKW0odmlyb25tZW4pbQotKHQuKTI3NSAyMjg2IHkoU3Vic2hlbGxzKTI0IGIoc3BhKW0od25lZCloKHRvKWkoZXhlY3V0ZSlnKGNvbW1hbmQpZgorZihmb2xsbyltKHdpbmcuKTQwIGIoVW5sZXNzKTI0IGIob3RoZXJ3aXNlKTE1MCAxNTQzIHkobm90ZWQsKTMxCitiKHRoZSlmKHYpLTUgYihhbHVlcykzMSBiKGFyZSlnKGluaGVyaXRlZClmKGZyb20pZyh0aGUpZyhzaGVsbC4pMjI1CisxNjc4IHkgRnAoXDAxNyk2MCBiIEZ0KHRoZSkzMSBiKHNoZWxsJ3MpaChvcClzKGVuKWUoXDAxNGxlcywpaShwbHVzKWUKKyhhbiltKHkpaChtbylzKGRpXDAxNGNhdGlvbnMpaChhbmQpZShhZGRpdGlvbnMpaChzcClzKGVjaVwwMTRlZClnKGIpbQorKHkpZyhyZWRpcmVjdGlvbnMpZyh0bykzMzAgMTc4NyB5KHRoZSlnKGNvbW1hbmQpMjI1IDE5MjIKK3kgRnAoXDAxNyk2MCBiIEZ0KHRoZSkzMSBiKGN1cnJlbiltKHQpZih3KW0ob3JraW5nKWcoZGlyZWN0b3J5KTIyNQorMjA1NiB5IEZwKFwwMTcpNjAgYiBGdCh0aGUpMzEgYihcMDE0bGUpZihjcmVhdGlvbilpKG1vKXMoZGUpZShtYXNrKTIyNQorMjE5MCB5IEZwKFwwMTcpNjAgYiBGdChzaGVsbCkzMiBiKHYpLTUgYihhcmlhYmxlcykzMworYihhbmQpZShmdW5jdGlvbnMpaChtYXJrKW0oZWQpZyhmb3IpZyhleHApcyhvcnQsKWcoYWxvbmcpaCh3aXRoKWYodiktNQorYihhcmlhYmxlcykzMiBiKGV4cClzKG9ydGVkKWcoZm9yKWcodGhlKTMzMCAyMzAwIHkoY29tbWFuZCwpZShwYXNzZWQpZworKGluKWcodGhlKWgoZW4pbSh2aXJvbm1lbiltKHQpZyhcKHNlZSlnKFNlY3Rpb24pZygzLjcuNClpKFtFbiltCisodmlyb25tZW4pbSh0XSwpZShwYWdlKWcoMzFcKSkyMjUgMjQzNCB5IEZwKFwwMTcpNjAgYgorRnQodHJhcHMpMzEgYihjYXVnaCltKHQpaChiKW0oeSlmKHRoZSlnKHNoZWxsKWgoYXJlKWYocmVzZXQpaCh0bylnKHRoZSkKK2YodiktNSBiKGFsdWVzKTMyIGIoaW5oZXJpdGVkKWUoZnJvbSloKHRoZSlnKHNoZWxsJ3MpaChwYXJlbiltKHQsKWcKKyhhbmQpMzMwIDI1NDQgeSh0cmFwcyllKGlnbm9yZWQpaChiKW0oeSlmKHRoZSlnKHNoZWxsKWgoYXJlKWcoaWdub3JlZCkKKzI3NSAyNzAzIHkoQSk0MSBiKGNvbW1hbmQpZyhpbiltKHYpbShvayltKGVkKWkoaW4pZSh0aGlzKWgoc2VwYXJhdGUpZworKGVuKW0odmlyb25tZW4pbSh0KWcoY2Fubm90KWcoYVwwMTNlY3QpaCh0aGUpZihzaGVsbCdzKWcoZXhlY3V0aW9uKTE1MAorMjgxMyB5KGVuKW0odmlyb25tZW4pbSh0LikyNzUgMjk0NyB5KENvbW1hbmQpMzUgYihzdWJzdGl0dXRpb24sKWoKKyhjb21tYW5kcyllKGdyb3VwKXMoZWQpZih3aXRoKWkocGFyZW4pbSh0aGVzZXMsKWgoYW5kKWUoYXN5bmMpbQorKGhyb25vdXMpZyhjb20tKTE1MCAzMDU3IHkobWFuZHMpYyhhcmUpaChpbiltKHYpbShvayltKGVkKWkoaW4pZChhKWkKKyhzdWJzaGVsbCllKGVuKW0odmlyb25tZW4pbSh0KWgodGhhdCloKGlzKWYoYSlnKGR1cGxpY2F0ZSloKG9mKWYodGhlKWcKKyhzaGVsbClnKGVuKW0odmlyb25tZW4pbSh0LCkxNTAgMzE2NiB5KGV4Y2VwdClpKHRoYXQpZyh0cmFwcylmKGNhdWdoKW0KKyh0KWgoYiltKHkpZih0aGUpaChzaGVsbClmKGFyZSlnKHJlc2V0KWgodG8pZyh0aGUpZih2KS01CitiKGFsdWVzKTM1IGIodGhhdClnKHRoZSlmKHNoZWxsKWgoaW5oZXJpdGVkKWUoZnJvbSkxNTAKKzMyNzYgeShpdHMpZyhwYXJlbiltKHQpZihhdCloKGluKW0odiltKG8pcyhjYXRpb24uKTQ5CitiKEJ1aWx0aW4pMzIgYihjb21tYW5kcylnKHRoYXQpaChhcmUpZyhpbiltKHYpbShvayltKGVkKWgoYXMpZShwYXJ0KWcKKyhvZiloKGEpZihwaXApcyhlbGluZSlnKGFyZSloKGFsc28pMTUwIDMzODUgeShleGVjdXRlZCk0MQorYihpbilmKGEpaChzdWJzaGVsbCllKGVuKW0odmlyb25tZW4pbSh0Lik3MiBiKENoYW5nZXMpNDAKK2IobWFkZSlnKHRvKWgodGhlKWcoc3Vic2hlbGwpZShlbiltKHZpcm9ubWVuKW0odClpKGNhbm5vdCkxNTAKKzM0OTUgeShhXDAxM2VjdCkzMiBiKHRoZSlmKHNoZWxsJ3MpZihleGVjdXRpb24paShlbiltKHZpcm9ubWVuKW0odC4pMjc1CiszNjI5IHkoU3Vic2hlbGxzKTI0IGIoc3BhKW0od25lZCloKHRvKWkoZXhlY3V0ZSlnKGNvbW1hbmQpZgogKHN1YnN0aXR1dGlvbnMpZyhpbmhlcml0KWcodGhlKWcodiktNSBiKGFsdWUpMjYgYihvZilnKHRoZSloKGApcAotRnMoLWUpcCBGdCgnKWUob3B0aW9uKTE1MCAyMzk2IHkoZnJvbSkyMCBiKHRoZSloKHBhcmVuKW0odClnKHNoZWxsLikzNworRnMoLWUpcCBGdCgnKWUob3B0aW9uKTE1MCAzNzM5IHkoZnJvbSkyMCBiKHRoZSloKHBhcmVuKW0odClnKHNoZWxsLikzNwogYihXaGVuKTIxIGIobm90KWYoaW4paCBGbChwb3NpeClmIEZ0KG1vKXMoZGUsKWkoQmFzaClmKGNsZWFycylnKHRoZSlnCiAoYClwIEZzKC1lKXAgRnQoJylmKG9wdGlvbiloKGluKWcoc3VjKW0oaClmKHN1YnNoZWxscy4pMjc1Ci0yNTM2IHkoSWYpMzggYihhKWgoY29tbWFuZClmKGlzKWcoZm9sbG8pbSh3KW0oZWQpaihiKW0oeSlkKGEpaChgKXAKKzM4NzMgeShJZikzOCBiKGEpaChjb21tYW5kKWYoaXMpZyhmb2xsbyltKHcpbShlZClqKGIpbSh5KWQoYSloKGApcAogRnMoJilwIEZ0KCcpZyhhbmQpZihqb2IpZyhjb24pbSh0cm9sKWkoaXMpZShub3QpaChhY3RpdiltKGUsKWsodGhlKWMKLShkZWZhdWx0KWcoc3RhbmRhcmQpMTUwIDI2NDYgeShpbnB1dCllKGZvcilnKHRoZSloKGNvbW1hbmQpZihpcyloKHRoZSlnCisoZGVmYXVsdClnKHN0YW5kYXJkKTE1MCAzOTgzIHkoaW5wdXQpZShmb3IpZyh0aGUpaChjb21tYW5kKWYoaXMpaCh0aGUpZwogKGVtcHQpbSh5KWcoXDAxNGxlKWYoYClwIEZzKC9kZXYvbnVsbClwIEZ0KCcuKTYxIGIoT3RoZXJ3aXNlLCkzOQotYih0aGUpZihpbiltKHYpbShvayltKGVkKWgoY29tbWFuZCkxNTAgMjc1NiB5KGluaGVyaXRzKTMwCitiKHRoZSlmKGluKW0odiltKG9rKW0oZWQpaChjb21tYW5kKTE1MCA0MDkzIHkoaW5oZXJpdHMpMzAKIGIodGhlKWgoXDAxNGxlKWYoZGVzY3JpcHRvcnMpZyhvZiloKHRoZSlmKGNhbGxpbmcpaShzaGVsbClmKGFzKWYobW8pcwotKGRpXDAxNGVkKWcoYiltKHkpZyhyZWRpcmVjdGlvbnMuKTE1MCAyOTkyIHkgRmsoMy43LjQpNjMKLWIoRW4pbSh2aXJvbm1lbiltKHQpMjc1IDMyNDMgeSBGdChXaGVuKTMxIGIoYSlnKHByb2dyYW0paChpcylmKGluKW0odiltCi0ob2spbShlZClpKGl0KWYoaXMpZihnaXYpbShlbiloKGFuKWcoYXJyYSltKHkpZyhvZilmKHN0cmluZ3MpZyhjYWxsZWQpaQotKHRoZSllIEZxKGVuKW0odmlyb25tZW4pbSh0KXAgRnQoLik0NSBiKFRoaXMpMTUwIDMzNTIKLXkoaXMpMzAgYihhKWgobGlzdClnKG9mKWcobmFtZS12KS01IGIoYWx1ZSkzMSBiKHBhaXJzLClmKG9mKWgodGhlKWYKLShmb3JtKWcgRnMobmFtZT12YWx1ZSlwIEZ0KC4pMjc1IDM0OTMgeShCYXNoKTM5IGIocHJvKW0odmlkZXMpZyhzZXYpbQotKGVyYWwpaSh3KW0oYSltKHlzKWcodG8pZihtYW5pcHVsYXRlKWYodGhlKWgoZW4pbSh2aXJvbm1lbiltKHQuKTY5Ci1iKE9uKTM4IGIoaW4pbSh2KW0obylzKGNhdGlvbiwpNDQgYih0aGUpYyhzaGVsbCkxNTAgMzYwMworKGRpXDAxNGVkKWcoYiltKHkpZyhyZWRpcmVjdGlvbnMuKTE1MCA0MjkyIHkgRmooMy43LjQpNjMKK2IoRW4pbSh2aXJvbm1lbiltKHQpMTUwIDQ0MzggeSBGdChXaGVuKTI4IGIoYSlpKHByb2dyYW0pZShpcyloKGluKW0odiltCisob2spbShlZCloKGl0KWYoaXMpZyhnaXYpbShlbilnKGFuKWcoYXJyYSltKHkpZyhvZilnKHN0cmluZ3MpZihjYWxsZWQpaQorKHRoZSlmIEZxKGVuKW0odmlyb25tZW4pbSh0KXIgRnQoLik0MSBiKFRoaXMpMjggYihpcyloKGEpMTUwCis0NTQ4IHkobGlzdClpKG9mKWcobmFtZS12KS01IGIoYWx1ZSkzMSBiKHBhaXJzLClmKG9mKWgodGhlKWYoZm9ybSlnCitGcyhuYW1lPXZhbHVlKXAgRnQoLikyNzUgNDY4MiB5KEJhc2gpMzkgYihwcm8pbSh2aWRlcylnKHNldiltKGVyYWwpaSh3KQorbShhKW0oeXMpZyh0bylmKG1hbmlwdWxhdGUpZih0aGUpaChlbiltKHZpcm9ubWVuKW0odC4pNjkKK2IoT24pMzggYihpbiltKHYpbShvKXMoY2F0aW9uLCk0NCBiKHRoZSljKHNoZWxsKTE1MCA0NzkyCiB5KHNjYW5zKWcoaXRzKWgobyltKHduKWYoZW4pbSh2aXJvbm1lbiltKHQpaChhbmQpZihjcmVhdGVzKWkoYSlmCiAocGFyYW1ldGVyKWYoZm9yKWcoZWFjKW0oaClpKG5hbWUpZShmb3VuZCwpaShhdXRvbWF0aWNhbGx5KTE1MAotMzcxMiB5KG1hcmtpbmcpMjYgYihpdClnKGZvcilnIEZxKGV4cClzKG9ydCloIEZ0KHRvKWcoYyltKGhpbGQpZihwcm8pcworNDkwMiB5KG1hcmtpbmcpMjYgYihpdClnKGZvcilnIEZxKGV4cClzKG9ydCloIEZ0KHRvKWcoYyltKGhpbGQpZihwcm8pcwogKGNlc3Nlcy4pMzkgYihFeGVjdXRlZCkyNiBiKGNvbW1hbmRzKWcoaW5oZXJpdClnKHRoZSlnKGVuKW0odmlyb25tZW4pbQotKHQuKTM5IGIoVGhlKTE1MCAzODIyIHkgRnMoZXhwb3J0KWMgRnQoYW5kKWkoYClwIEZzKGRlY2xhcmUpMjkKKyh0LikzOSBiKFRoZSkxNTAgNTAxMSB5IEZzKGV4cG9ydCljIEZ0KGFuZClpKGApcCBGcyhkZWNsYXJlKTI5CiBiKC14KXAgRnQoJykzNiBiKGNvbW1hbmRzKWgoYWxsbyltKHcpaShwYXJhbWV0ZXJzKWUoYW5kKWcoZnVuY3Rpb25zKWcKLSh0byloKGIpcyhlKWUoYWRkZWQpaCh0byloKGFuZCkxNTAgMzkzMSB5KGRlbGV0ZWQpMjEKKyh0byloKGIpcyhlKWUoYWRkZWQpaCh0byloKGFuZCkxNTAgNTEyMSB5KGRlbGV0ZWQpMjEKIGIoZnJvbSlmKHRoZSloKGVuKW0odmlyb25tZW4pbSh0LikzOCBiKElmKTIwIGIodGhlKWgodiktNQogYihhbHVlKTIxIGIob2YpZyhhKWcocGFyYW1ldGVyKWcoaW4pZih0aGUpZyhlbiltKHZpcm9ubWVuKW0odClpKGlzKWUKLShtbylzKGRpXDAxNGVkLClpKHRoZSkxNTAgNDA0MSB5KG5ldykzMSBiKHYpLTUgYihhbHVlKTMyCisobW8pcyhkaVwwMTRlZCwpaSh0aGUpMTUwIDUyMzAgeShuZXcpMzEgYih2KS01IGIoYWx1ZSkzMgogYihiKXMoZWNvbWVzKWYocGFydCloKG9mKWYodGhlKWgoZW4pbSh2aXJvbm1lbiltKHQsKWcocmVwbGFjaW5nKWgodGhlKWUKIChvbGQuKTQ0IGIoVGhlKTMxIGIoZW4pbSh2aXJvbm1lbiltKHQpaChpbmhlcml0ZWQpMTUwCi00MTUxIHkoYiltKHkpZihhbiltKHkpZyhleGVjdXRlZCloKGNvbW1hbmQpZihjb25zaXN0cylnKG9mKWcodGhlKWcKKzUzNDAgeShiKW0oeSlmKGFuKW0oeSlnKGV4ZWN1dGVkKWgoY29tbWFuZClmKGNvbnNpc3RzKWcob2YpZyh0aGUpZwogKHNoZWxsJ3MpaChpbml0aWFsKWcoZW4pbSh2aXJvbm1lbiltKHQsKWcod2hvc2UpZih2KS01Ci1iKGFsdWVzKTMxIGIobWEpbSh5KWgoYilzKGUpMTUwIDQyNjAgeShtbylzKGRpXDAxNGVkKTI2Ci1iKGluKWcodGhlKWgoc2hlbGwsKWgobGVzcylmKGFuKW0oeSlnKHBhaXJzKWYocmVtbyltKHYpbShlZClpKGIpbSh5KWYKLSh0aGUpZyBGcyh1bnNldCllIEZ0KGFuZCloKGApcCBGcyhleHBvcnQpaigtbilwIEZ0KCcpZShjb21tYW5kcywpZwotKHBsdXMpMTUwIDQzNzAgeShhbiltKHkpayhhZGRpdGlvbnMpZih2aWEpaCh0aGUpZyBGcyhleHBvcnQpZAotRnQoYW5kKWkoYClwIEZzKGRlY2xhcmUpZigteClwIEZ0KCcpaChjb21tYW5kcy4pMjc1IDQ1MTAKLXkoVGhlKWooZW4pbSh2aXJvbm1lbiltKHQpaShmb3IpZihhbiltKHkpZyhzaW1wbGUpaChjb21tYW5kKWYob3IpZwotKGZ1bmN0aW9uKWcobWEpbSh5KWcoYilzKGUpZyhhdWdtZW4pbSh0ZWQpaCh0ZW1wKXMob3JhcmlseSkxNTAKLTQ2MjAgeShiKW0oeSljKHByZVwwMTR4aW5nKWUoaXQpaSh3aXRoKWcocGFyYW1ldGVyKWcoYXNzaWdubWVuKW0odHMsKWgKLShhcyllKGRlc2NyaWIpcyhlZClnKGluKWcoU2VjdGlvbilpKDMuNClnKFtTaGVsbCllKFApbShhcmFtZXRlcnNdLCkxNTAKLTQ3MzAgeShwYWdlKWcoMTYuKTQxIGIoVGhlc2UpMjkgYihhc3NpZ25tZW4pbSh0KWkoc3RhdGVtZW4pbSh0cylnCi0oYVwwMTNlY3QpZihvbmx5KWcodGhlKWYoZW4pbSh2aXJvbm1lbiltKHQpaChzZWVuKWcoYiltKHkpZih0aGF0KWgKLShjb21tYW5kLikyNzUgNDg3MCB5KElmKWQodGhlKWgoYClwIEZzKC1rKXAgRnQoJylnKG9wdGlvbilnKGlzKWcoc2V0KWcKLShcKHNlZSloKFNlY3Rpb24pZig0LjMuMSlpKFtUaGUpZShTZXQpZyhCdWlsdGluXSwpaChwYWdlKWYoNTFcKSwpaQotKHRoZW4pZShhbGwpZyhwYXJhbWV0ZXIpMTUwIDQ5ODAgeShhc3NpZ25tZW4pbSh0cylpKGFyZSlnKHBsYWNlZCloKGluKWUKLSh0aGUpaChlbiltKHZpcm9ubWVuKW0odClnKGZvcilnKGEpZyhjb21tYW5kLClmKG5vdCloKGp1c3QpZih0aG9zZSlpCi0odGhhdClmKHByZWNlZGUpZyh0aGUpMTUwIDUwOTAgeShjb21tYW5kKWcobmFtZS4pMjc1Ci01MjMwIHkoV2hlbilmKEJhc2gpaChpbiltKHYpbShvayltKGVzKWkoYW4pZShleHRlcm5hbClnKGNvbW1hbmQsKWcodGhlKQotZyh2KS01IGIoYXJpYWJsZSkzMSBiKGApcCBGcygkXylwIEZ0KCcpZihpcylnKHNldClnKHRvKWgodGhlKWYoZnVsbClmCi0ocGF0aCloKG5hbWUpMTUwIDUzNDAgeShvZiloKHRoZSlmKGNvbW1hbmQpZyhhbmQpZyhwYXNzZWQpZyh0byloKHRoYXQpZwotKGNvbW1hbmQpZihpbilnKGl0cyloKGVuKW0odmlyb25tZW4pbSh0LilwIGVvcCBlbmQKLSUlUGFnZTogMzMgMzkKLVRlWERpY3QgYmVnaW4gMzMgMzggYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDM6KTQxCi1iKEJhc2ljKTMyIGIoU2hlbGwpZShGKS04IGIoZWF0dXJlcykyMjQ2IGIoMzMpMTUwIDI5OQoteSBGaygzLjcuNSk2MyBiKEV4aXQpNDAgYihTdGF0dXMpMjc1IDUzOSB5IEZ0KFRoZSkyNAotYihleGl0KWkoc3RhdHVzKWYob2YpZyhhbilnKGV4ZWN1dGVkKWgoY29tbWFuZCllKGlzKWgodGhlKWgodiktNQotYihhbHVlKTI1IGIocmV0dXJuZWQpZihiKW0oeSloKHRoZSlnIEZxKHcpbShhaXRwaWQpawotRnQoc3lzdGVtKWMoY2FsbCkxNTAgNjQ4IHkob3IpZShlcXVpdiktNSBiKGFsZW4pbSh0KTI1Ci1iKGZ1bmN0aW9uLikzOCBiKEV4aXQpMjQgYihzdGF0dXNlcylnKGZhbGwpZihiKXMoZXQpbSh3KW0oZWVuKWgoMClnCi0oYW5kKWYoMjU1LClqKHRob3VnaCwpZihhcyllKGV4cGxhaW5lZCloKGIpcyhlbG8pbSh3LCloKHRoZSkxNTAKLTc1OCB5KHNoZWxsKTM1IGIobWEpbSh5KWcodXNlKWYodiktNSBiKGFsdWVzKTM1IGIoYWIpcyhvKW0odiltKGUpZygxMjUpCi1oKHNwKXMoZWNpYWxseSktOCBiKC4pNTQgYihFeGl0KTM1IGIoc3RhdHVzZXMpZyhmcm9tKWYoc2hlbGwpaAotKGJ1aWx0aW5zKWYoYW5kKWYoY29tcClzKG91bmQpMTUwIDg2NyB5KGNvbW1hbmRzKWooYXJlKWcoYWxzbyloCi0obGltaXRlZClnKHRvKWcodGhpcylmKHJhbmdlLik1OCBiKFVuZGVyKTM2IGIoY2VydGFpbiloKGNpcmN1bXN0YW5jZXMsKQotaCh0aGUpZShzaGVsbCloKHdpbGwpZih1c2UpMTUwIDk3NyB5KHNwKXMoZWNpYWwpMzEgYih2KS01Ci1iKGFsdWVzKTMxIGIodG8pZyhpbmRpY2F0ZSlnKHNwKXMoZWNpXDAxNGMpZihmYWlsdXJlKWgobW8pcyhkZXMuKTI3NQotMTEwNyB5KEYpLTggYihvcikzMiBiKHRoZSlnKHNoZWxsJ3MpZyhwdXJwKXMob3NlcywpZShhKWooY29tbWFuZCllCi0od2hpYyltKGgpaChleGl0cylnKHdpdGgpZyhhKWcoemVybylnKGV4aXQpaChzdGF0dXMpZihoYXMpZihzdWNjZWVkZWQuKQotMTUwIDEyMTcgeShBKWUobm9uLXplcm8paChleGl0KWcoc3RhdHVzKWcoaW5kaWNhdGVzKWcoZmFpbHVyZS4pNDAKLWIoVGhpcykyOCBiKHNlZW1pbmdseSlpKGNvdW4pbSh0ZXItaW4pbSh0dWl0aXYpbShlKWkoc2MpbShoZW1lKWUoaXMpZgotKHVzZWQpZyhzbykxNTAgMTMyNiB5KHRoZXJlKTM0IGIoaXMpZyhvbmUpZyh3KW0oZWxsLWRlXDAxNG5lZClnKHcpbShhKW0KLSh5KWcodG8paChpbmRpY2F0ZSlnKHN1Y2Nlc3MpZihhbmQpZihhKWgodiktNSBiKGFyaWV0KW0oeSkzNQotYihvZilmKHcpbShhKW0oeXMpaCh0bylmKGluZGljYXRlKWgodiktNSBiKGFyaW91cykxNTAKLTE0MzYgeShmYWlsdXJlKTM4IGIobW8pcyhkZXMuKTYyIGIoV2hlbikzOCBiKGEpZyhjb21tYW5kKWYodGVybWluYXRlcylpCi0ob24pZShhKWkoZmF0YWwpZyhzaWduYWwpZih3aG9zZSlnKG4pbSh1bSltKGIpcyhlcillKGlzKWkKLUZxKE4pcCBGdCgsKWcoQmFzaCkxNTAgMTU0NiB5KHVzZXMpMzAgYih0aGUpZyh2KS01IGIoYWx1ZSkzMQotYigxMjgpcCBGcygrKXAgRnEoTik0MiBiIEZ0KGFzKTMwIGIodGhlKWgoZXhpdClnKHN0YXR1cy4pMjc1Ci0xNjc2IHkoSWYpayhhKWgoY29tbWFuZClnKGlzKWcobm90KWcoZm91bmQsKWcodGhlKWcoYyltKGhpbGQpaChwcm8pcwotKGNlc3MpZShjcmVhdGVkKWkodG8pZyhleGVjdXRlKWcoaXQpZyhyZXR1cm5zKWQoYSlqKHN0YXR1cylmKG9mKTE1MAotMTc4NSB5KDEyNy4pNDIgYihJZikzMCBiKGEpaChjb21tYW5kKWYoaXMpZyhmb3VuZClmKGJ1dCloKGlzKWcobm90KWgKLShleGVjdXRhYmxlLCloKHRoZSlmKHJldHVybillKHN0YXR1cylpKGlzKWYoMTI2LikyNzUKLTE5MTYgeShJZilpKGEpaShjb21tYW5kKWYoZmFpbHMpZyhiKXMoZWNhdXNlKWcob2YpaChhbilmKGVycm9yKWYKK2IoYWx1ZXMpMzEgYihtYSltKHkpaChiKXMoZSlwIGVvcCBlbmQKKyUlUGFnZTogMzIgMzgKK1RlWERpY3QgYmVnaW4gMzIgMzcgYm9wIDE1MCAtMTE2IGEgRnQoMzIpMjU3MiBiKEJhc2gpMzEKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeShtbylzKGRpXDAxNGVkKTI2IGIoaW4pZyh0aGUpaChzaGVsbCwpCitoKGxlc3MpZihhbiltKHkpZyhwYWlycylmKHJlbW8pbSh2KW0oZWQpaShiKW0oeSlmKHRoZSlnCitGcyh1bnNldCllIEZ0KGFuZCloKGApcCBGcyhleHBvcnQpaigtbilwIEZ0KCcpZShjb21tYW5kcywpZyhwbHVzKTE1MAorNDA4IHkoYW4pbSh5KWsoYWRkaXRpb25zKWYodmlhKWgodGhlKWcgRnMoZXhwb3J0KWQgRnQoYW5kKWkoYClwCitGcyhkZWNsYXJlKWYoLXgpcCBGdCgnKWgoY29tbWFuZHMuKTI3NSA1NDkgeShUaGUpaihlbiltKHZpcm9ubWVuKW0odClpCisoZm9yKWYoYW4pbSh5KWcoc2ltcGxlKWgoY29tbWFuZClmKG9yKWcoZnVuY3Rpb24pZyhtYSltKHkpZyhiKXMoZSlnCisoYXVnbWVuKW0odGVkKWgodGVtcClzKG9yYXJpbHkpMTUwIDY1OSB5KGIpbSh5KWMocHJlXDAxNHhpbmcpZShpdClpCisod2l0aClnKHBhcmFtZXRlcilnKGFzc2lnbm1lbiltKHRzLCloKGFzKWUoZGVzY3JpYilzKGVkKWcoaW4pZyhTZWN0aW9uKQoraSgzLjQpZyhbU2hlbGwpZShQKW0oYXJhbWV0ZXJzXSwpMTUwIDc2OCB5KHBhZ2UpZygxNS4pNDEKK2IoVGhlc2UpMjkgYihhc3NpZ25tZW4pbSh0KWkoc3RhdGVtZW4pbSh0cylnKGFcMDEzZWN0KWYob25seSlnKHRoZSlmCisoZW4pbSh2aXJvbm1lbiltKHQpaChzZWVuKWcoYiltKHkpZih0aGF0KWgoY29tbWFuZC4pMjc1Cis5MDkgeShJZilkKHRoZSloKGApcCBGcygtaylwIEZ0KCcpZyhvcHRpb24pZyhpcylnKHNldClnKFwoc2VlKWgKKyhTZWN0aW9uKWYoNC4zLjEpaShbVGhlKWUoU2V0KWcoQnVpbHRpbl0sKWgocGFnZSlmKDUxXCksKWkodGhlbillKGFsbClnCisocGFyYW1ldGVyKTE1MCAxMDE5IHkoYXNzaWdubWVuKW0odHMpaShhcmUpZyhwbGFjZWQpaChpbillKHRoZSloKGVuKW0KKyh2aXJvbm1lbiltKHQpZyhmb3IpZyhhKWcoY29tbWFuZCwpZihub3QpaChqdXN0KWYodGhvc2UpaSh0aGF0KWYKKyhwcmVjZWRlKWcodGhlKTE1MCAxMTI4IHkoY29tbWFuZClnKG5hbWUuKTI3NSAxMjY5IHkoV2hlbilmKEJhc2gpaChpbiltCisodiltKG9rKW0oZXMpaShhbillKGV4dGVybmFsKWcoY29tbWFuZCwpZyh0aGUpZyh2KS01CitiKGFyaWFibGUpMzEgYihgKXAgRnMoJF8pcCBGdCgnKWYoaXMpZyhzZXQpZyh0byloKHRoZSlmKGZ1bGwpZihwYXRoKWgKKyhuYW1lKTE1MCAxMzc5IHkob2YpaCh0aGUpZihjb21tYW5kKWcoYW5kKWcocGFzc2VkKWcodG8paCh0aGF0KWcKKyhjb21tYW5kKWYoaW4pZyhpdHMpaChlbiltKHZpcm9ubWVuKW0odC4pMTUwIDE1ODUgeSBGaigzLjcuNSk2MworYihFeGl0KTQwIGIoU3RhdHVzKTE1MCAxNzMxIHkgRnQoVGhlKTI2IGIoZXhpdCloKHN0YXR1cylmKG9mKWcoYW4pZworKGV4ZWN1dGVkKWgoY29tbWFuZClmKGlzKWcodGhlKWgodiktNSBiKGFsdWUpMjYgYihyZXR1cm5lZClmKGIpbSh5KWgKKyh0aGUpZyBGcSh3KW0oYWl0cGlkKWsgRnQoc3lzdGVtKWQoY2FsbClnKG9yKTE1MCAxODQxCit5KGVxdWl2KS01IGIoYWxlbiltKHQpMzMgYihmdW5jdGlvbi4pNDUgYihFeGl0KTMyIGIoc3RhdHVzZXMpZyhmYWxsKWcKKyhiKXMoZXQpbSh3KW0oZWVuKWgoMClmKGFuZClmKDI1NSwpaSh0aG91Z2gsKWYoYXMpZyhleHBsYWluZWQpZyhiKXMKKyhlbG8pbSh3LCloKHRoZSkxNTAgMTk1MSB5KHNoZWxsKWkobWEpbSh5KWcodXNlKWYodiktNQorYihhbHVlcykzNSBiKGFiKXMobyltKHYpbShlKWcoMTI1KWgoc3ApcyhlY2lhbGx5KS04IGIoLik1NAorYihFeGl0KTM1IGIoc3RhdHVzZXMpZyhmcm9tKWYoc2hlbGwpaChidWlsdGlucylmKGFuZClmKGNvbXApcyhvdW5kKTE1MAorMjA2MCB5KGNvbW1hbmRzKWooYXJlKWcoYWxzbyloKGxpbWl0ZWQpZyh0bylnKHRoaXMpZihyYW5nZS4pNTgKK2IoVW5kZXIpMzYgYihjZXJ0YWluKWgoY2lyY3Vtc3RhbmNlcywpaCh0aGUpZShzaGVsbCloKHdpbGwpZih1c2UpMTUwCisyMTcwIHkoc3ApcyhlY2lhbCkzMSBiKHYpLTUgYihhbHVlcykzMSBiKHRvKWcoaW5kaWNhdGUpZyhzcClzKGVjaVwwMTRjKQorZihmYWlsdXJlKWgobW8pcyhkZXMuKTI3NSAyMzExIHkoRiktOCBiKG9yKTMyIGIodGhlKWcoc2hlbGwncylnKHB1cnApcworKG9zZXMsKWUoYSlqKGNvbW1hbmQpZSh3aGljKW0oaCloKGV4aXRzKWcod2l0aClnKGEpZyh6ZXJvKWcoZXhpdCloCisoc3RhdHVzKWYoaGFzKWYoc3VjY2VlZGVkLikxNTAgMjQyMCB5KEEpZShub24temVybyloKGV4aXQpZyhzdGF0dXMpZworKGluZGljYXRlcylnKGZhaWx1cmUuKTQwIGIoVGhpcykyOCBiKHNlZW1pbmdseSlpKGNvdW4pbSh0ZXItaW4pbQorKHR1aXRpdiltKGUpaShzYyltKGhlbWUpZShpcylmKHVzZWQpZyhzbykxNTAgMjUzMCB5KHRoZXJlKTM0CitiKGlzKWcob25lKWcodyltKGVsbC1kZVwwMTRuZWQpZyh3KW0oYSltKHkpZyh0byloKGluZGljYXRlKWcoc3VjY2VzcylmCisoYW5kKWYoYSloKHYpLTUgYihhcmlldCltKHkpMzUgYihvZilmKHcpbShhKW0oeXMpaCh0bylmKGluZGljYXRlKWgodiktNQorYihhcmlvdXMpMTUwIDI2MzkgeShmYWlsdXJlKTM3IGIobW8pcyhkZXMuKTYxIGIoV2hlbikzNworYihhKWcoY29tbWFuZClnKHRlcm1pbmF0ZXMpaChvbilmKGEpZyhmYXRhbClpKHNpZ25hbClmKHdob3NlKWYobiltKHVtKW0KKyhiKXMoZXIpZShpcylpIEZxKE4pMTAgYiBGdCgsKTM4IGIoQmFzaCkxNTAgMjc0OSB5KHVzZXMpMzAKK2IodGhlKWcodiktNSBiKGFsdWUpMzEgYigxMjgpcCBGcygrKXAgRnEoTik0MiBiIEZ0KGFzKTMwCitiKHRoZSloKGV4aXQpZyhzdGF0dXMuKTI3NSAyODkwIHkoSWYpayhhKWgoY29tbWFuZClnKGlzKWcobm90KWcoZm91bmQsKQorZyh0aGUpZyhjKW0oaGlsZCloKHBybylzKGNlc3MpZShjcmVhdGVkKWkodG8pZyhleGVjdXRlKWcoaXQpZyhyZXR1cm5zKWQKKyhhKWooc3RhdHVzKWYob2YpMTUwIDI5OTkgeSgxMjcuKTQyIGIoSWYpMzAgYihhKWgoY29tbWFuZClmKGlzKWcoZm91bmQpCitmKGJ1dCloKGlzKWcobm90KWgoZXhlY3V0YWJsZSwpaCh0aGUpZihyZXR1cm4pZShzdGF0dXMpaShpcylmKDEyNi4pMjc1CiszMTQwIHkoSWYpaShhKWkoY29tbWFuZClmKGZhaWxzKWcoYilzKGVjYXVzZSlnKG9mKWgoYW4pZihlcnJvcilmCiAoZHVyaW5nKWcoZXhwYW5zaW9uKWgob3IpZyhyZWRpcmVjdGlvbiwpaSh0aGUpZihleGl0KWcoc3RhdHVzKTE1MAotMjAyNSB5KGlzKWMoZ3JlYXRlcilpKHRoYW4pZSh6ZXJvLikyNzUgMjE1NSB5KFRoZSkzOAorMzI1MCB5KGlzKWMoZ3JlYXRlcilpKHRoYW4pZSh6ZXJvLikyNzUgMzM5MSB5KFRoZSkzOAogYihleGl0KWgoc3RhdHVzKWcoaXMpZyh1c2VkKWYoYiltKHkpZyh0aGUpaChCYXNoKWcoY29uZGl0aW9uYWwpaAotKGNvbW1hbmRzKWUoXChzZWUpaChTZWN0aW9uKWgoMy4yLjQuMiloKFtDb24tKTE1MCAyMjY1CisoY29tbWFuZHMpZShcKHNlZSloKFNlY3Rpb24paCgzLjIuNC4yKWgoW0Nvbi0pMTUwIDM1MDAKIHkoZGl0aW9uYWwpaShDb25zdHJ1Y3RzXSwpaChwYWdlKWYoMTBcKSlnKGFuZCllKHNvbWUpaShvZilmKHRoZSlnKGxpc3QpCiBnKGNvbnN0cnVjdHMpZyhcKHNlZSloKFNlY3Rpb24pZigzLjIuMylpKFtMaXN0c10sKTE1MAotMjM3NSB5KHBhZ2UpMzEgYig5XCkuKTI3NSAyNTA1IHkoQWxsKTQwIGIob2YpZyh0aGUpaChCYXNoKWYoYnVpbHRpbnMpZgorMzYxMCB5KHBhZ2UpMzEgYig4XCkuKTI3NSAzNzUxIHkoQWxsKTQwIGIob2YpZyh0aGUpaChCYXNoKWYoYnVpbHRpbnMpZgogKHJldHVybilnKGFuKWgoZXhpdCloKHN0YXR1cylnKG9mKWYoemVybyloKGlmKWYodGhleSlnKHN1Y2NlZWQpZyhhbmQpZwotKGEpZyhub24temVybykxNTAgMjYxNCB5KHN0YXR1cykzNCBiKG9uKWYoZmFpbHVyZSwpaShzbylmKHRoZXkpZyhtYSltCisoYSlnKG5vbi16ZXJvKTE1MCAzODYwIHkoc3RhdHVzKTM0IGIob24pZihmYWlsdXJlLClpKHNvKWYodGhleSlnKG1hKW0KICh5KWcoYilzKGUpZih1c2VkKWcoYiltKHkpZyh0aGUpaChjb25kaXRpb25hbCloKGFuZCllKGxpc3QpaAotKGNvbnN0cnVjdHMuKTUwIGIoQWxsKTM1IGIoYnVpbHRpbnMpMTUwIDI3MjQgeShyZXR1cm4pMjkKKyhjb25zdHJ1Y3RzLik1MCBiKEFsbCkzNSBiKGJ1aWx0aW5zKTE1MCAzOTcwIHkocmV0dXJuKTI5CiBiKGFuKWkoZXhpdClnKHN0YXR1cylnKG9mKWYoMiloKHRvKWcoaW5kaWNhdGUpZyhpbmNvcnJlY3QpaCh1c2FnZS4pMTUwCi0yOTM1IHkgRmsoMy43LjYpNjMgYihTaWduYWxzKTI3NSAzMTc1IHkgRnQoV2hlbikyNyBiKEJhc2gpaChpcyloKGluKW0KLSh0ZXJhY3RpdiltKGUsKWkoaW4pZCh0aGUpZyhhYnNlbmNlKWgob2YpZihhbiltKHkpZyh0cmFwcywpaChpdClmCi0oaWdub3JlcyloIEZzKFNJR1RFUk0pZCBGdChcKHNvKWkodGhhdCloKGApcCBGcyhraWxsKTE1MAotMzI4NSB5KDApcCBGdCgnKWsoZG8pcyhlcylnKG5vdClnKGtpbGwpZyhhbilnKGluKW0odGVyYWN0aXYpbShlKWoKKzQxNzUgeSBGaigzLjcuNik2MyBiKFNpZ25hbHMpMTUwIDQzMjIgeSBGdChXaGVuKTM2IGIoQmFzaClnKGlzKWgoaW4pbQorKHRlcmFjdGl2KW0oZSwpaihpbiljKHRoZSloKGFic2VuY2UpZihvZiloKGFuKW0oeSlmKHRyYXBzLClpKGl0KWUKKyhpZ25vcmVzKWggRnMoU0lHVEVSTSlkIEZ0KFwoc28paih0aGF0KWcoYClwIEZzKGtpbGwpMTUwCis0NDMyIHkoMClwIEZ0KCcpYyhkbylzKGVzKWcobm90KWcoa2lsbClnKGFuKWcoaW4pbSh0ZXJhY3RpdiltKGUpagogKHNoZWxsXCksKWYoYW5kKWQgRnMoU0lHSU5UKWYgRnQoaXMpaShjYXVnaCltKHQpaChhbmQpZihoYW5kbGVkKWYoXChzbykKLWgodGhhdCloKHRoZSlmIEZzKHdhaXQpMTUwIDMzOTQgeSBGdChidWlsdGluKTI0IGIoaXMpaChpbiltCitoKHRoYXQpaCh0aGUpZiBGcyh3YWl0KTE1MCA0NTQyIHkgRnQoYnVpbHRpbikyNCBiKGlzKWgoaW4pbQogKHRlcnJ1cHRpYmxlXCkuKTM5IGIoV2hlbikyNCBiKEJhc2gpZyhyZWNlaXYpbShlcylqKGEpZAogRnMoU0lHSU5UKXAgRnQoLCloKGl0KWcoYnJlYWtzKWYob3V0KWgob2YpZihhbiltKHkpaChleGVjdXRpbmcpaChsbylzCi0ob3BzLikxNTAgMzUwNCB5KEluKTMxIGIoYWxsKWgoY2FzZXMsKWgoQmFzaClmKGlnbm9yZXMpZworKG9wcy4pMTUwIDQ2NTEgeShJbikzMSBiKGFsbCloKGNhc2VzLCloKEJhc2gpZihpZ25vcmVzKWcKIEZzKFNJR1FVSVQpcCBGdCguKTQyIGIoSWYpMzIgYihqb2IpZihjb24pbSh0cm9sKWkoaXMpZShpbiloKGVcMDEzZWN0KWgKLShcKHNlZSlmKENoYXB0ZXIpZig3KWgoW0pvYilnKENvbiltKHRyb2xdLCkxNTAgMzYxNCB5KHBhZ2UpZig4OVwpLCloCisoXChzZWUpZihDaGFwdGVyKWYoNyloKFtKb2IpZyhDb24pbSh0cm9sXSwpMTUwIDQ3NjEgeShwYWdlKWYoODlcKSwpaAogKEJhc2gpZShpZ25vcmVzKWggRnMoU0lHVFRJTilwIEZ0KCwpZSBGcyhTSUdUVE9VKXAgRnQoLClnKGFuZClnCi1GcyhTSUdUU1RQKXAgRnQoLikyNzUgMzc0NCB5KE5vbi1idWlsdGluKWkoY29tbWFuZHMpZyhzdGFydGVkKWcoYiltKHkpZworRnMoU0lHVFNUUClwIEZ0KC4pMjc1IDQ5MDIgeShOb24tYnVpbHRpbilpKGNvbW1hbmRzKWcoc3RhcnRlZClnKGIpbSh5KWcKIChCYXNoKWgoaGEpbSh2KW0oZSlnKHNpZ25hbClnKGhhbmRsZXJzKWUoc2V0KWkodG8pZyh0aGUpZyh2KS01Ci1iKGFsdWVzKTMxIGIoaW5oZXJpdGVkKTE1MCAzODUzIHkoYiltKHkpMzcgYih0aGUpaChzaGVsbClnKGZyb20pZihpdHMpaAorYihhbHVlcykzMSBiKGluaGVyaXRlZCkxNTAgNTAxMSB5KGIpbSh5KTM3IGIodGhlKWgoc2hlbGwpZyhmcm9tKWYoaXRzKWgKIChwYXJlbiltKHQuKTYyIGIoV2hlbikzOCBiKGpvYilmKGNvbiltKHRyb2wpaShpcyllKG5vdCloKGluKWYKLShlXDAxM2VjdCwpayhhc3luYyltKGhyb25vdXMpYyhjb21tYW5kcykxNTAgMzk2MyB5KGlnbm9yZSlmCisoZVwwMTNlY3QsKWsoYXN5bmMpbShocm9ub3VzKWMoY29tbWFuZHMpMTUwIDUxMjEgeShpZ25vcmUpZgogRnMoU0lHSU5UKWUgRnQoYW5kKWggRnMoU0lHUVVJVCllIEZ0KGluKWooYWRkaXRpb24pZih0bylpKHRoZXNlKWYKIChpbmhlcml0ZWQpZihoYW5kbGVycy4pNTUgYihDb21tYW5kcykzNSBiKHJ1bilmKGFzKWkoYSkxNTAKLTQwNzMgeShyZXN1bHQpMjcgYihvZiloKGNvbW1hbmQpZihzdWJzdGl0dXRpb24paChpZ25vcmUpZyh0aGUpZyhrKW0KKzUyMzAgeShyZXN1bHQpMjcgYihvZiloKGNvbW1hbmQpZihzdWJzdGl0dXRpb24paChpZ25vcmUpZyh0aGUpZyhrKW0KIChleWIpcyhvYXJkLWdlbmVyYXRlZClnKGpvYilnKGNvbiltKHRyb2wpaChzaWduYWxzKWYKLUZzKFNJR1RUSU4pcCBGdCgsKTE1MCA0MTgyIHkgRnMoU0lHVFRPVSlwIEZ0KCwpaChhbmQpZwotRnMoU0lHVFNUUClwIEZ0KC4pMjc1IDQzMTIgeShUaGUpaChzaGVsbClpKGV4aXRzKWcoYiltKHkpZihkZWZhdWx0KWcKLSh1cClzKG9uKWYocmVjZWlwdClpKG9mKWYoYSloIEZzKFNJR0hVUClwIEZ0KC4pNDIgYihCZWZvcmUpMzIKLWIoZXhpdGluZywpaChhbillKGluKW0odGVyYWN0aXYpbShlKWooc2hlbGwpMTUwIDQ0MjIKLXkocmVzZW5kcyk0MSBiKHRoZSlpIEZzKFNJR0hVUCllIEZ0KHRvKWkoYWxsKWcoam9icywpaShydW5uaW5nKWMob3IpaAotKHN0b3BwKXMoZWQuKTc2IGIoU3RvcHApcyhlZCk0MSBiKGpvYnMpaChhcmUpaChzZW4pbSh0KWcKLUZzKFNJR0NPTlQpZCBGdCh0bykxNTAgNDUzMiB5KGVuc3VyZSkzMiBiKHRoYXQpaCh0aGV5KWcocmVjZWl2KW0oZSlpCi0odGhlKWUgRnMoU0lHSFVQKXAgRnQoLik0NyBiKFQpLTggYihvKTMzIGIocHJldiltKGVuKW0odClnKHRoZSlnKHNoZWxsKQotZyhmcm9tKWcoc2VuZGluZylmKHRoZSloIEZzKFNJR0hVUCllIEZ0KHNpZ25hbCkxNTAgNDY0MQoteSh0bylpKGEpZyhwYXJ0aWN1bGFyKWcoam9iLClnKGl0KWcoc2hvdWxkKWYoYilzKGUpZyhyZW1vKW0odiltKGVkKWgKLShmcm9tKWcodGhlKWYoam9icylnKHRhYmxlKWkod2l0aCllKHRoZSloIEZzKGRpc293billCi1GdChidWlsdGluKWgoXChzZWUpMTUwIDQ3NTEgeShTZWN0aW9uKWYoNy4yKWcoW0pvYilmKENvbiltKHRyb2wpaAotKEJ1aWx0aW5zXSwpZyhwYWdlKWcoOTBcKSloKG9yKWUobWFyayltKGVkKWcodG8paChub3QpZihyZWNlaXYpbShlKWkKLUZzKFNJR0hVUClkIEZ0KHVzaW5nKWggRnMoZGlzb3duKTE1MCA0ODYwIHkoLWgpcCBGdCguKTI3NQotNDk5MSB5KElmKTM4IGIodGhlKWggRnMoaHVwb25leGl0KWUgRnQoc2hlbGwpaShvcHRpb24pZyhoYXMpZyhiKXMoZWVuKWYKLShzZXQpaSh3aXRoKWYgRnMoc2hvcHQpZSBGdChcKHNlZSlqKFNlY3Rpb24pZyg0LjMuMiloKFtUaGUpZShTaG9wdCkxNTAKLTUxMDAgeShCdWlsdGluXSwpMzEgYihwYWdlKWcoNTRcKSwpaChCYXNoKWYoc2VuZHMpZShhKWkKLUZzKFNJR0hVUCllIEZ0KHRvKWkoYWxsKWcoam9icylmKHdoZW4pZihhbilpKGluKW0odGVyYWN0aXYpbShlKWkobG9naW4pCi1lKHNoZWxsKWcoZXhpdHMuKTI3NSA1MjMwIHkoSWYpMzggYihCYXNoKWgoaXMpZyh3KW0oYWl0aW5nKWgoZm9yKWYoYSlnCi0oY29tbWFuZClmKHRvKWkoY29tcGxldGUpZyhhbmQpZShyZWNlaXYpbShlcylqKGEpZShzaWduYWwpaChmb3IpZSh3aGljKQotbShoKWgoYSlnKHRyYXApMTUwIDUzNDAgeShoYXMpYyhiKXMoZWVuKWYoc2V0LClpKHRoZSlmKHRyYXApZyh3aWxsKWcKLShub3QpZyhiKXMoZSlmKGV4ZWN1dGVkKWkodW4pbSh0aWwpZih0aGUpZyhjb21tYW5kKWYoY29tcGxldGVzLik1NQotYihXaGVuKTM1IGIoQmFzaClnKGlzKXAgZW9wIGVuZAotJSVQYWdlOiAzNCA0MAotVGVYRGljdCBiZWdpbiAzNCAzOSBib3AgMTUwIC0xMTYgYSBGdCgzNCkyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5KHcpbShhaXRpbmcpMzggYihmb3IpZihhbilnKGFzeW5jKW0KLShocm9ub3VzKWcoY29tbWFuZClnKHZpYSloKHRoZSlmIEZzKHdhaXQpZiBGdChidWlsdGluLClpKHRoZSlnCi0ocmVjZXB0aW9uKWcob2YpZihhKWcoc2lnbmFsKWgoZm9yKTE1MCA0MDggeSh3aGljKW0oaClkKGEpZyh0cmFwKWcoaGFzKQotZyhiKXMoZWVuKWYoc2V0KWgod2lsbCloKGNhdXNlKWYodGhlKWcgRnMod2FpdClmIEZ0KGJ1aWx0aW4paCh0bylnCi0ocmV0dXJuKWYoaW1tZWRpYXRlbHkpaSh3aXRoKWYoYW4pZyhleGl0KTE1MCA1MTggeShzdGF0dXMpYyhncmVhdGVyKWcKLSh0aGFuKWYoMTI4LClpKGltbWVkaWF0ZWx5KWcoYWZ0ZXIpZih3aGljKW0oaClmKHRoZSloKHRyYXApZihpcylnCi0oZXhlY3V0ZWQuKTE1MCA3NzUgeSBGcigzLjgpNjggYihTaGVsbCk0NSBiKFNjcmlwdHMpMjc1Ci0xMDIwIHkgRnQoQSljKHNoZWxsKWgoc2NyaXB0KWcoaXMpZyhhKWcodGV4dCloKFwwMTRsZSlmKGNvbiltKHRhaW5pbmcpaAotKHNoZWxsKWYoY29tbWFuZHMuKTc1IGIoV2hlbik0MSBiKHN1YyltKGgpaChhKWcoXDAxNGxlKWcoaXMpZyh1c2VkKWYKLShhcykxNTAgMTEyOSB5KHRoZSkzMyBiKFwwMTRyc3QpZihub24tb3B0aW9uKWgoYXJndW1lbiltKHQpaCh3aGVuKWUoaW4pCi1tKHYpbShva2luZylpKEJhc2gsKWcoYW5kKWUobmVpdGhlciloKHRoZSlnKGApcCBGcygtYylwCi1GdCgnKWcobm9yKWcoYClwIEZzKC1zKXAgRnQoJylmKG9wdGlvbilpKGlzKTE1MCAxMjM5Ci15KHN1cHBsaWVkKWooXChzZWUpaihTZWN0aW9uKWcoNi4xKWYoW0luKW0odiltKG9raW5nKWgoQmFzaF0sKWgocGFnZSlmCi0oNzFcKSwpaShCYXNoKWQocmVhZHMpZihhbmQpZyhleGVjdXRlcylpKGNvbW1hbmRzKTE1MAotMTM0OCB5KGZyb20pMzEgYih0aGUpaChcMDE0bGUsKWgodGhlbillKGV4aXRzLik0NiBiKFRoaXMpMzEKLWIobW8pcyhkZSlnKG9mKWgob3ApcyhlcmF0aW9uKWgoY3JlYXRlcylnKGEpZihub24taW4pbSh0ZXJhY3RpdiltKGUpaQotKHNoZWxsLik0NSBiKFRoZSkzMiBiKHNoZWxsKTE1MCAxNDU4IHkoXDAxNHJzdCkyNiBiKHNlYXJjKW0oaGVzKWgoZm9yKWYKLSh0aGUpZyhcMDE0bGUpaChpbilmKHRoZSlnKGN1cnJlbiltKHQpaChkaXJlY3RvcnkpLTgKLWIoLCkyOCBiKGFuZCllKGxvKXMob2tzKWcoaW4paCh0aGUpZihkaXJlY3RvcmllcyloKGluKWYKLUZzKCRQQVRIKWYgRnQoaWYpaShub3QpMTUwIDE1NjcgeShmb3VuZClpKHRoZXJlLikyNzUKLTE3MDIgeShXaGVuKTM0IGIoQmFzaCloKHJ1bnMpZShhKWkoc2hlbGwpZyhzY3JpcHQsKWcoaXQpaChzZXRzKWYodGhlKWYKK0ZzKFNJR1RUSU4pcCBGdCgsKTE1MCA1MzQwIHkgRnMoU0lHVFRPVSlwIEZ0KCwpaChhbmQpZworRnMoU0lHVFNUUClwIEZ0KC4pcCBlb3AgZW5kCislJVBhZ2U6IDMzIDM5CitUZVhEaWN0IGJlZ2luIDMzIDM4IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYigzOik0MQorYihCYXNpYykzMiBiKFNoZWxsKWUoRiktOCBiKGVhdHVyZXMpMjI0NiBiKDMzKTI3NSAyOTkKK3koVGhlKTMwIGIoc2hlbGwpaShleGl0cylnKGIpbSh5KWYoZGVmYXVsdClnKHVwKXMob24pZihyZWNlaXB0KWkob2YpZgorKGEpaCBGcyhTSUdIVVApcCBGdCguKTQyIGIoQmVmb3JlKTMyIGIoZXhpdGluZywpaChhbillKGluKW0odGVyYWN0aXYpbQorKGUpaihzaGVsbCkxNTAgNDA4IHkocmVzZW5kcyk0MSBiKHRoZSlpIEZzKFNJR0hVUCllIEZ0KHRvKWkoYWxsKWcKKyhqb2JzLClpKHJ1bm5pbmcpYyhvciloKHN0b3BwKXMoZWQuKTc2IGIoU3RvcHApcyhlZCk0MQorYihqb2JzKWgoYXJlKWgoc2VuKW0odClnIEZzKFNJR0NPTlQpZCBGdCh0bykxNTAgNTE4IHkoZW5zdXJlKTMyCitiKHRoYXQpaCh0aGV5KWcocmVjZWl2KW0oZSlpKHRoZSllIEZzKFNJR0hVUClwIEZ0KC4pNDcKK2IoVCktOCBiKG8pMzMgYihwcmV2KW0oZW4pbSh0KWcodGhlKWcoc2hlbGwpZyhmcm9tKWcoc2VuZGluZylmKHRoZSloCitGcyhTSUdIVVApZSBGdChzaWduYWwpMTUwIDYyOCB5KHRvKWkoYSlnKHBhcnRpY3VsYXIpZyhqb2IsKWcoaXQpZworKHNob3VsZClmKGIpcyhlKWcocmVtbyltKHYpbShlZCloKGZyb20pZyh0aGUpZihqb2JzKWcodGFibGUpaSh3aXRoKWUKKyh0aGUpaCBGcyhkaXNvd24pZSBGdChidWlsdGluKWgoXChzZWUpMTUwIDczNyB5KFNlY3Rpb24pZig3LjIpZyhbSm9iKWYKKyhDb24pbSh0cm9sKWgoQnVpbHRpbnNdLClnKHBhZ2UpZyg5MFwpKWgob3IpZShtYXJrKW0oZWQpZyh0byloKG5vdClmCisocmVjZWl2KW0oZSlpIEZzKFNJR0hVUClkIEZ0KHVzaW5nKWggRnMoZGlzb3duKTE1MCA4NDcKK3koLWgpcCBGdCguKTI3NSA5OTIgeShJZikzOCBiKHRoZSloIEZzKGh1cG9uZXhpdCllIEZ0KHNoZWxsKWkob3B0aW9uKWcKKyhoYXMpZyhiKXMoZWVuKWYoc2V0KWkod2l0aClmIEZzKHNob3B0KWUgRnQoXChzZWUpaihTZWN0aW9uKWcoNC4zLjIpaAorKFtUaGUpZShTaG9wdCkxNTAgMTEwMiB5KEJ1aWx0aW5dLCkzMSBiKHBhZ2UpZyg1NVwpLCloKEJhc2gpZihzZW5kcyllCisoYSlpIEZzKFNJR0hVUCllIEZ0KHRvKWkoYWxsKWcoam9icylmKHdoZW4pZihhbilpKGluKW0odGVyYWN0aXYpbShlKWkKKyhsb2dpbillKHNoZWxsKWcoZXhpdHMuKTI3NSAxMjQ3IHkoSWYpMzggYihCYXNoKWgoaXMpZyh3KW0oYWl0aW5nKWgKKyhmb3IpZihhKWcoY29tbWFuZClmKHRvKWkoY29tcGxldGUpZyhhbmQpZShyZWNlaXYpbShlcylqKGEpZShzaWduYWwpaAorKGZvcillKHdoaWMpbShoKWgoYSlnKHRyYXApMTUwIDEzNTcgeShoYXMpYyhiKXMoZWVuKWYoc2V0LClpKHRoZSlmCisodHJhcClnKHdpbGwpZyhub3QpZyhiKXMoZSlmKGV4ZWN1dGVkKWkodW4pbSh0aWwpZih0aGUpZyhjb21tYW5kKWYKKyhjb21wbGV0ZXMuKTU1IGIoV2hlbikzNSBiKEJhc2gpZyhpcykxNTAgMTQ2NyB5KHcpbShhaXRpbmcpaihmb3IpZihhbilnCisoYXN5bmMpbShocm9ub3VzKWcoY29tbWFuZClnKHZpYSloKHRoZSlmIEZzKHdhaXQpZiBGdChidWlsdGluLClpKHRoZSlnCisocmVjZXB0aW9uKWcob2YpZihhKWcoc2lnbmFsKWgoZm9yKTE1MCAxNTc2IHkod2hpYyltKGgpZChhKWcodHJhcClnCisoaGFzKWcoYilzKGVlbilmKHNldCloKHdpbGwpaChjYXVzZSlmKHRoZSlnIEZzKHdhaXQpZgorRnQoYnVpbHRpbiloKHRvKWcocmV0dXJuKWYoaW1tZWRpYXRlbHkpaSh3aXRoKWYoYW4pZyhleGl0KTE1MAorMTY4NiB5KHN0YXR1cyljKGdyZWF0ZXIpZyh0aGFuKWYoMTI4LClpKGltbWVkaWF0ZWx5KWcoYWZ0ZXIpZih3aGljKW0oaCkKK2YodGhlKWgodHJhcClmKGlzKWcoZXhlY3V0ZWQuKTE1MCAxOTM1IHkgRnIoMy44KTY4IGIoU2hlbGwpNDUKK2IoU2NyaXB0cykxNTAgMjA5NCB5IEZ0KEEpMzAgYihzaGVsbClmKHNjcmlwdCloKGlzKWYoYSloKHRleHQpaChcMDE0bGUpCitmKGNvbiltKHRhaW5pbmcpaChzaGVsbClmKGNvbW1hbmRzLik0MCBiKFdoZW4pMjkgYihzdWMpbShoKWcoYSloCisoXDAxNGxlKWcoaXMpZih1c2VkKWcoYXMpaCh0aGUpZyhcMDE0cnN0KTE1MCAyMjA0IHkobm9uLW9wdGlvbilpCisoYXJndW1lbiltKHQpaCh3aGVuKWUoaW4pbSh2KW0ob2tpbmcpaShCYXNoLClnKGFuZCllKG5laXRoZXIpaCh0aGUpZyhgKQorcCBGcygtYylwIEZ0KCcpZyhub3IpZyhgKXAgRnMoLXMpcCBGdCgnKWcob3B0aW9uKWcoaXMpZyhzdXBwbGllZCkxNTAKKzIzMTMgeShcKHNlZSkyNSBiKFNlY3Rpb24paCg2LjEpZihbSW4pbSh2KW0ob2tpbmcpaChCYXNoXSwpZyhwYWdlKWYKKyg3MVwpLClpKEJhc2gpZShyZWFkcylmKGFuZClnKGV4ZWN1dGVzKWkoY29tbWFuZHMpZShmcm9tKWcodGhlKWgKKyhcMDE0bGUsKTE1MCAyNDIzIHkodGhlbikzMiBiKGV4aXRzLik0NiBiKFRoaXMpMzIgYihtbylzKGRlKWYob2YpaShvcClzCisoZXJhdGlvbilmKGNyZWF0ZXMpaShhKWUobm9uLWluKW0odGVyYWN0aXYpbShlKWooc2hlbGwuKTQ2CitiKFRoZSkzMSBiKHNoZWxsKWkoXDAxNHJzdCllKHNlYXJjKW0oaGVzKTE1MCAyNTMyIHkoZm9yKWQodGhlKWcoXDAxNGxlKQorZyhpbilnKHRoZSlnKGN1cnJlbiltKHQpZihkaXJlY3RvcnkpLTggYigsKTMwIGIoYW5kKWQobG8pcyhva3MpaShpbillCisodGhlKWkoZGlyZWN0b3JpZXMpZyhpbillIEZzKCRQQVRIKWcgRnQoaWYpaChub3QpZyhmb3VuZCllKHRoZXJlLikyNzUKKzI2NzggeShXaGVuKTM0IGIoQmFzaCloKHJ1bnMpZShhKWkoc2hlbGwpZyhzY3JpcHQsKWcoaXQpaChzZXRzKWYodGhlKWYKIChzcClzKGVjaWFsKWkocGFyYW1ldGVyKWYgRnMoMClmIEZ0KHRvKWgodGhlKWcobmFtZSlnKG9mKWcodGhlKWcKLShcMDE0bGUsKTE1MCAxODEyIHkocmF0aGVyKWsodGhhbilnKHRoZSloKG5hbWUpZihvZiloKHRoZSlmKHNoZWxsLClqCisoXDAxNGxlLCkxNTAgMjc4NyB5KHJhdGhlcilrKHRoYW4pZyh0aGUpaChuYW1lKWYob2YpaCh0aGUpZihzaGVsbCwpagogKGFuZClkKHRoZSloKHApcyhvc2l0aW9uYWwpZyhwYXJhbWV0ZXJzKWYoYXJlKWgoc2V0KWcodG8pZyh0aGUpZwotKHJlbWFpbi0pMTUwIDE5MjEgeShpbmcpZihhcmd1bWVuKW0odHMsKWooaWYpZChhbiltKHkpZyhhcmUpZyhnaXYpbQorKHJlbWFpbi0pMTUwIDI4OTcgeShpbmcpZihhcmd1bWVuKW0odHMsKWooaWYpZChhbiltKHkpZyhhcmUpZyhnaXYpbQogKGVuLik2NyBiKElmKTM5IGIobm8pZyhhZGRpdGlvbmFsKWcoYXJndW1lbiltKHRzKWgoYXJlKWYoc3VwcGxpZWQsKWgKLSh0aGUpZihwKXMob3NpdGlvbmFsKTE1MCAyMDMxIHkocGFyYW1ldGVycykzMSBiKGFyZSlmKHVuc2V0LikyNzUKLTIxNjUgeShBKTM5IGIoc2hlbGwpaChzY3JpcHQpZihtYSltKHkpaChiKXMoZSlmKG1hZGUpaChleGVjdXRhYmxlKWgoYiltCisodGhlKWYocClzKG9zaXRpb25hbCkxNTAgMzAwNyB5KHBhcmFtZXRlcnMpMzEgYihhcmUpZih1bnNldC4pMjc1CiszMTUyIHkoQSkzOSBiKHNoZWxsKWgoc2NyaXB0KWYobWEpbSh5KWgoYilzKGUpZihtYWRlKWgoZXhlY3V0YWJsZSloKGIpbQogKHkpZSh1c2luZylnKHRoZSloIEZzKGNobW9kKWUgRnQoY29tbWFuZCloKHRvKWgodHVybillKG9uKWkodGhlKTE1MAotMjI3NSB5KGV4ZWN1dGUpaihiaXQuKTczIGIoV2hlbik0MSBiKEJhc2gpZyhcMDE0bmRzKWUoc3VjKW0oaClpKGEpaAorMzI2MiB5KGV4ZWN1dGUpaihiaXQuKTczIGIoV2hlbik0MSBiKEJhc2gpZyhcMDE0bmRzKWUoc3VjKW0oaClpKGEpaAogKFwwMTRsZSlmKHdoaWxlKWcoc2VhcmMpbShoaW5nKWgodGhlKWYgRnMoJFBBVEgpZiBGdChmb3IpaChhKWgKLShjb21tYW5kLCloKGl0KTE1MCAyMzg0IHkoc3BhKW0od25zKTMwIGIoYSlnKHN1YnNoZWxsKWcodG8paChleGVjdXRlKWgKLShpdC4pNDEgYihJbikzMCBiKG90aGVyKWcodyltKG9yZHMsKWcoZXhlY3V0aW5nKTM5MCAyNTE5Ci15IEZzKGZpbGVuYW1lKTQ2IGIgRmooYXJndW1lbnRzKTE1MCAyNjUzIHkgRnQoaXMpMzAgYihlcXVpdiktNQotYihhbGVuKW0odCkzMiBiKHRvKWYoZXhlY3V0aW5nKTM5MCAyNzg4IHkgRnMoYmFzaCk0NwotYihmaWxlbmFtZSllIEZqKGFyZ3VtZW50cykxNTAgMjkyMiB5IEZ0KGlmKTMwIGIgRnMoZmlsZW5hbWUpZAorKGNvbW1hbmQsKWgoaXQpMTUwIDMzNzEgeShzcGEpbSh3bnMpMzAgYihhKWcoc3Vic2hlbGwpZyh0byloKGV4ZWN1dGUpaAorKGl0Lik0MSBiKEluKTMwIGIob3RoZXIpZyh3KW0ob3JkcywpZyhleGVjdXRpbmcpMzkwIDM1MTcKK3kgRnMoZmlsZW5hbWUpNDYgYiBGaShhcmd1bWVudHMpMTUwIDM2NjIgeSBGdChpcykzMCBiKGVxdWl2KS01CitiKGFsZW4pbSh0KTMyIGIodG8pZihleGVjdXRpbmcpMzkwIDM4MDggeSBGcyhiYXNoKTQ3CitiKGZpbGVuYW1lKWUgRmkoYXJndW1lbnRzKTE1MCAzOTUzIHkgRnQoaWYpMzAgYiBGcyhmaWxlbmFtZSlkCiBGdChpcylqKGFuKWYoZXhlY3V0YWJsZSlqKHNoZWxsKWUoc2NyaXB0Lik0MCBiKFRoaXMpMjkKIGIoc3Vic2hlbGwpZyhyZWluaXRpYWxpemVzKWkoaXRzZWxmLClnKHNvKWYodGhhdCloKHRoZSllKGVcMDEzZWN0KTE1MAotMzAzMiB5KGlzKTM2IGIoYXMpaChpZilnKGEpZihuZXcpZyhzaGVsbCloKGhhZClmKGIpcyhlZW4pZyhpbiltKHYpbShvaykKKzQwNjMgeShpcykzNiBiKGFzKWgoaWYpZyhhKWYobmV3KWcoc2hlbGwpaChoYWQpZihiKXMoZWVuKWcoaW4pbSh2KW0ob2spCiBtKGVkKWgodG8paChpbiltKHRlcnByZXQpZSh0aGUpaChzY3JpcHQsKWgod2l0aCllKHRoZSloKGV4Y2VwdGlvbiloCi0odGhhdClmKHRoZSkxNTAgMzE0MiB5KGxvKXMoY2F0aW9ucykyNSBiKG9mKWcoY29tbWFuZHMpZShyZW1lbSltKGIpcworKHRoYXQpZih0aGUpMTUwIDQxNzIgeShsbylzKGNhdGlvbnMpMjUgYihvZilnKGNvbW1hbmRzKWUocmVtZW0pbShiKXMKIChlcmVkKWgoYiltKHkpZyh0aGUpZyhwYXJlbiltKHQpZyhcKHNlZSloKHRoZSlmKGRlc2NyaXB0aW9uKWcob2YpZwotRnMoaGFzaClmIEZ0KGluKWgoU2VjdGlvbiloKDQuMSkxNTAgMzI1MSB5KFtCb3VybmUpMzAKK0ZzKGhhc2gpZiBGdChpbiloKFNlY3Rpb24paCg0LjEpMTUwIDQyODIgeShbQm91cm5lKTMwCiBiKFNoZWxsKWgoQnVpbHRpbnNdLClnKHBhZ2UpZygzNVwpKWgoYXJlKWUocmV0YWluZWQpaChiKW0oeSlmKHRoZSloKGMpbQotKGhpbGQuKTI3NSAzMzg2IHkoTW9zdCkzNiBiKHYpbShlcnNpb25zKWcob2YpZyhVbml4KWYobWFrKW0oZSloKHRoaXMpZworKGhpbGQuKTI3NSA0NDI3IHkoTW9zdCkzNiBiKHYpbShlcnNpb25zKWcob2YpZyhVbml4KWYobWFrKW0oZSloKHRoaXMpZwogKGEpZyhwYXJ0KWYob2YpaCh0aGUpZyhvcClzKGVyYXRpbmcpZyhzeXN0ZW0ncylmKGNvbW1hbmQpaChleGVjdXRpb24pCi0xNTAgMzQ5NSB5KG1lYyltKGhhbmlzbS4pNTAgYihJZikzMyBiKHRoZSlnKFwwMTRyc3QpZyhsaW5lKWgob2YpZihhKWgKKzE1MCA0NTM3IHkobWVjKW0oaGFuaXNtLik1MCBiKElmKTMzIGIodGhlKWcoXDAxNHJzdClnKGxpbmUpaChvZilmKGEpaAogKHNjcmlwdClmKGIpcyhlZ2lucylnKHdpdGgpZyh0aGUpZyh0KW0odyltKG8paShjKW0oaGFyYWN0ZXJzKWcoYClwCi1GcygjISlwIEZ0KCcsKWYodGhlKWcocmVtYWluZGVyKTE1MCAzNjA1IHkob2YpZCh0aGUpZyhsaW5lKWgoc3ApcworRnMoIyEpcCBGdCgnLClmKHRoZSlnKHJlbWFpbmRlcikxNTAgNDY0NyB5KG9mKWQodGhlKWcobGluZSloKHNwKXMKIChlY2lcMDE0ZXMpZShhbiloKGluKW0odGVycHJldGVyKWcoZm9yKWcodGhlKWcocHJvZ3JhbS4pNDMKIGIoVGgpbSh1cywpMzAgYih5KW0ob3UpaChjYW4paChzcClzKGVjaWZ5KWUoQmFzaCwpaSBGcyhhd2spcAotRnQoLCllKFApbShlcmwsKTE1MCAzNzE0IHkob3IpZyhzb21lKWgob3RoZXIpZyhpbiltKHRlcnByZXRlcilnKGFuZCllCitGdCgsKWUoUCltKGVybCwpMTUwIDQ3NTYgeShvcilnKHNvbWUpaChvdGhlcilnKGluKW0odGVycHJldGVyKWcoYW5kKWUKICh3cml0ZSlpKHRoZSlmKHJlc3QpaChvZilnKHRoZSlmKHNjcmlwdClnKFwwMTRsZSloKGluKWYodGhhdCloCi0obGFuZ3VhZ2UuKTI3NSAzODQ5IHkoVGhlKTQwIGIoYXJndW1lbiltKHRzKWgodG8pZyh0aGUpZyhpbiltCisobGFuZ3VhZ2UuKTI3NSA0OTAyIHkoVGhlKTQwIGIoYXJndW1lbiltKHRzKWgodG8pZyh0aGUpZyhpbiltCiAodGVycHJldGVyKWcoY29uc2lzdClnKG9mKWcoYSlnKHNpbmdsZSloKG9wdGlvbmFsKWYoYXJndW1lbiltKHQpaAotKGZvbGxvKW0od2luZylnKHRoZSkxNTAgMzk1OCB5KGluKW0odGVycHJldGVyKTMzIGIobmFtZSloKG9uKWYodGhlKWcKKyhmb2xsbyltKHdpbmcpZyh0aGUpMTUwIDUwMTEgeShpbiltKHRlcnByZXRlcikzMyBiKG5hbWUpaChvbilmKHRoZSlnCiAoXDAxNHJzdClmKGxpbmUpaShvZilmKHRoZSlnKHNjcmlwdClnKFwwMTRsZSwpaChmb2xsbyltKHcpbShlZCloKGIpbSh5KQotZSh0aGUpZyhuYW1lKWcob2YpZyh0aGUpaChzY3JpcHQpZihcMDE0bGUsKTE1MCA0MDY4IHkoZm9sbG8pbSh3KW0oZWQpZworZSh0aGUpZyhuYW1lKWcob2YpZyh0aGUpaChzY3JpcHQpZihcMDE0bGUsKTE1MCA1MTIxIHkoZm9sbG8pbSh3KW0oZWQpZwogKGIpbSh5KWYodGhlKWYocmVzdCloKG9mKWcodGhlKWYoYXJndW1lbiltKHRzLik0NSBiKEJhc2gpMzEKIGIod2lsbCloKHApcyhlcmZvcm0pZSh0aGlzKWkoYWN0aW9uKWgob24pZShvcClzKGVyYXRpbmcpaChzeXN0ZW1zKTE1MAotNDE3OCB5KHRoYXQpMjQgYihkbylnKG5vdClmKGhhbmRsZSlnKGl0KWgodGhlbXNlbHYpbShlcy4pNDAKKzUyMzAgeSh0aGF0KTI0IGIoZG8pZyhub3QpZihoYW5kbGUpZyhpdCloKHRoZW1zZWx2KW0oZXMuKTQwCiBiKE5vdGUpMjUgYih0aGF0KWYoc29tZSlnKG9sZGVyKWcodiltKGVyc2lvbnMpZihvZiloKFVuaXgpZihsaW1pdClpCi0odGhlKWYoaW4pbSh0ZXJwcmV0ZXIpMTUwIDQyODcgeShuYW1lKTMwIGIoYW5kKWcoYXJndW1lbiltKHQpaCh0bylnKGEpZwotKG1heGltKW0odW0pZihvZiloKDMyKWcoYyltKGhhcmFjdGVycy4pMjc1IDQ0MjIgeShCYXNoKWgoc2NyaXB0cylnCi0ob2Z0ZW4pZyhiKXMoZWdpbilnKHdpdGgpZyBGcygjISllKC9iaW4vYmFzaClnIEZ0KFwoYXNzdW1pbmcpaSh0aGF0KWgKLShCYXNoKWYoaGFzKWcoYilzKGVlbilmKGluc3RhbGxlZClpKGluKTE1MCA0NTMxIHkoYClwCi1GcygvYmluKXAgRnQoJ1wpLCkyNSBiKHNpbmNlKWUodGhpcylnKGVuc3VyZXMpZih0aGF0KWkoQmFzaClmKHdpbGwpaChiKQotcyhlKWUodXNlZCloKHRvKWgoaW4pbSh0ZXJwcmV0KWYodGhlKWcoc2NyaXB0LClpKGV2KW0oZW4pZihpZilmKGl0KWgKLShpcylmKGV4ZWN1dGVkKTE1MCA0NjQxIHkodW5kZXIpMjkgYihhbm90aGVyKWgoc2hlbGwuKXAKLWVvcCBlbmQKKyh0aGUpZihpbiltKHRlcnByZXRlcikxNTAgNTM0MCB5KG5hbWUpMzAgYihhbmQpZyhhcmd1bWVuKW0odCloKHRvKWcoYSlnCisobWF4aW0pbSh1bSlmKG9mKWgoMzIpZyhjKW0oaGFyYWN0ZXJzLilwIGVvcCBlbmQKKyUlUGFnZTogMzQgNDAKK1RlWERpY3QgYmVnaW4gMzQgMzkgYm9wIDE1MCAtMTE2IGEgRnQoMzQpMjU3MiBiKEJhc2gpMzEKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTI3NSAyOTkgeShCYXNoKWgoc2NyaXB0cylnKG9mdGVuKWcoYilzKGVnaW4pZworKHdpdGgpZyBGcygjISllKC9iaW4vYmFzaClnIEZ0KFwoYXNzdW1pbmcpaSh0aGF0KWgoQmFzaClmKGhhcylnKGIpcworKGVlbilmKGluc3RhbGxlZClpKGluKTE1MCA0MDggeShgKXAgRnMoL2JpbilwIEZ0KCdcKSwpMjUKK2Ioc2luY2UpZSh0aGlzKWcoZW5zdXJlcylmKHRoYXQpaShCYXNoKWYod2lsbCloKGIpcyhlKWUodXNlZCloKHRvKWgoaW4pCittKHRlcnByZXQpZih0aGUpZyhzY3JpcHQsKWkoZXYpbShlbilmKGlmKWYoaXQpaChpcylmKGV4ZWN1dGVkKTE1MAorNTE4IHkodW5kZXIpMjkgYihhbm90aGVyKWgoc2hlbGwuKXAgZW9wIGVuZAogJSVQYWdlOiAzNSA0MQogVGVYRGljdCBiZWdpbiAzNSA0MCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNDopNDEKIGIoU2hlbGwpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjA2OSBiKDM1KTE1MCAyOTkgeSBGbyg0KTgwCi1iKFNoZWxsKTUzIGIoQnVpbHRpbilmKENvbW1hbmRzKTI3NSA1MzUgeSBGdChCdWlsdGluKTI1Ci1iKGNvbW1hbmRzKWYoYXJlKWgoY29uKW0odGFpbmVkKWgod2l0aGluKWUodGhlKWgoc2hlbGwpZyhpdHNlbGYuKTQwCi1iKFdoZW4pMjQgYih0aGUpaChuYW1lKWcob2YpZyhhKWcoYnVpbHRpbilmKGNvbS0pMTUwCi02NDUgeShtYW5kKWkoaXMpaSh1c2VkKWUoYXMpaSh0aGUpZyhcMDE0cnN0KWUodyltKG9yZCloKG9mKWgoYSlmCitiKFNoZWxsKTUzIGIoQnVpbHRpbilmKENvbW1hbmRzKTE1MCA1NDEgeSBGdChCdWlsdGluKTM0CitiKGNvbW1hbmRzKWYoYXJlKWgoY29uKW0odGFpbmVkKWcod2l0aGluKWYodGhlKWgoc2hlbGwpZyhpdHNlbGYuKTUwCitiKFdoZW4pMzQgYih0aGUpZihuYW1lKWgob2YpZihhKWgoYnVpbHRpbilmKGNvbS0pMTUwCis2NTEgeShtYW5kKTI2IGIoaXMpaSh1c2VkKWUoYXMpaSh0aGUpZyhcMDE0cnN0KWUodyltKG9yZCloKG9mKWgoYSlmCiAoc2ltcGxlKWgoY29tbWFuZClmKFwoc2VlKWgoU2VjdGlvbilnKDMuMi4xKWgoW1NpbXBsZSlmKENvbW1hbmRzXSwpMTUwCi03NTQgeShwYWdlKTIxIGIoOFwpLClqKHRoZSlkKHNoZWxsKWcoZXhlY3V0ZXMpaCh0aGUpZihjb21tYW5kKWYKKzc2MCB5KHBhZ2UpMjEgYig4XCksKWoodGhlKWQoc2hlbGwpZyhleGVjdXRlcyloKHRoZSlmKGNvbW1hbmQpZgogKGRpcmVjdGx5KS04IGIoLCkyNCBiKHdpdGhvdXQpZChpbiltKHYpbShva2luZyloKGFub3RoZXIpZihwcm9ncmFtLikzNwotYihCdWlsdGluKTE1MCA4NjQgeShjb21tYW5kcylmKGFyZSloKG5lY2Vzc2FyeSlnKHRvKWcoaW1wbGVtZW4pbSh0KWcKK2IoQnVpbHRpbikxNTAgODcwIHkoY29tbWFuZHMpZihhcmUpaChuZWNlc3NhcnkpZyh0bylnKGltcGxlbWVuKW0odClnCiAoZnVuY3Rpb25hbGl0KW0oeSloKGltcClzKG9zc2libGUpZShvciloKGluY29uKW0odiltKGVuaWVuKW0odCloKHRvKWYKLShvYnRhaW4pMTUwIDk3NCB5KHdpdGgpMzAgYihzZXBhcmF0ZSloKHV0aWxpdGllcy4pMjc1Ci0xMTA5IHkoVGhpcyljKHNlY3Rpb24paihicmllXDAxNXkpZShkZXNjcmliKXMoZXMpZyh0aGUpaChidWlsdGlucylmCisob2J0YWluKTE1MCA5NzkgeSh3aXRoKTMwIGIoc2VwYXJhdGUpaCh1dGlsaXRpZXMuKTI3NQorMTExNyB5KFRoaXMpYyhzZWN0aW9uKWooYnJpZVwwMTV5KWUoZGVzY3JpYilzKGVzKWcodGhlKWgoYnVpbHRpbnMpZgogKHdoaWMpbShoKWcoQmFzaCloKGluaGVyaXRzKWYoZnJvbSlnKHRoZSloKEJvdXJuZSlnKFNoZWxsLClnKGFzKTE1MAotMTIxOCB5KHcpbShlbGwpaShhcylnKHRoZSlnKGJ1aWx0aW4pZShjb21tYW5kcyloKHdoaWMpbShoKWgoYXJlKWYKKzEyMjYgeSh3KW0oZWxsKWkoYXMpZyh0aGUpZyhidWlsdGluKWUoY29tbWFuZHMpaCh3aGljKW0oaCloKGFyZSlmCiAodW5pcXVlKWcodG8paChvcilmKGhhKW0odiltKGUpaShiKXMoZWVuKWQoZXh0ZW5kZWQpaShpbilmKEJhc2guKTI3NQotMTM1NCB5KFNldiltKGVyYWwpNDUgYihidWlsdGluKWUoY29tbWFuZHMpaChhcmUpaChkZXNjcmliKXMoZWQpZShpbiloCisxMzYzIHkoU2V2KW0oZXJhbCk0NSBiKGJ1aWx0aW4pZShjb21tYW5kcyloKGFyZSloKGRlc2NyaWIpcyhlZCllKGluKWgKIChvdGhlcilnKGMpbShoYXB0ZXJzOik2OSBiKGJ1aWx0aW4pNDMgYihjb21tYW5kcyloKHdoaWMpbShoKTE1MAotMTQ2MyB5KHBybyltKHZpZGUpMjMgYih0aGUpaChCYXNoKWYoaW4pbSh0ZXJmYWNlKWkodG8pZih0aGUpZyhqb2IpZgorMTQ3MyB5KHBybyltKHZpZGUpMjMgYih0aGUpaChCYXNoKWYoaW4pbSh0ZXJmYWNlKWkodG8pZih0aGUpZyhqb2IpZgogKGNvbiltKHRyb2wpaShmYWNpbGl0aWVzKWcoXChzZWUpZihTZWN0aW9uKWgoNy4yKWYoW0pvYilmKENvbiltKHRyb2wpaAotKEJ1aWx0aW5zXSwpMTUwIDE1NzMgeShwYWdlKTQwIGIoOTBcKSwpaih0aGUpYyhkaXJlY3RvcnkpaChzdGFjKW0oaylnCisoQnVpbHRpbnNdLCkxNTAgMTU4MyB5KHBhZ2UpNDAgYig5MFwpLClqKHRoZSljKGRpcmVjdG9yeSloKHN0YWMpbShrKWcKIChcKHNlZSlnKFNlY3Rpb24pZyg2LjguMSloKFtEaXJlY3RvcnkpZyhTdGFjKW0oaylmKEJ1aWx0aW5zXSwpaShwYWdlKWUKLSg4MlwpLClqKHRoZSkxNTAgMTY4MiB5KGNvbW1hbmQpMjMgYihoaXN0b3J5KWgoXChzZWUpZyhTZWN0aW9uKWcoOS4yKWgKKyg4MVwpLClqKHRoZSkxNTAgMTY5MiB5KGNvbW1hbmQpMjMgYihoaXN0b3J5KWgoXChzZWUpZyhTZWN0aW9uKWcoOS4yKWgKIChbQmFzaClmKEhpc3RvcnkpZyhCdWlsdGluc10sKWgocGFnZSlnKDEyMVwpLCloKGFuZClkKHRoZSloCi0ocHJvZ3JhbW1hYmxlKTE1MCAxNzkyIHkoY29tcGxldGlvbikzMiBiKGZhY2lsaXRpZXMpZyhcKHNlZSlnKFNlY3Rpb24pZgotKDguNylnKFtQcm9ncmFtbWFibGUpZyhDb21wbGV0aW9uKWcoQnVpbHRpbnNdLClnKHBhZ2UpaCgxMTZcKS4pMjc1Ci0xOTI3IHkoTWFuKW0oeSlmKG9mKWYodGhlKWgoYnVpbHRpbnMpZShoYSltKHYpbShlKWooYilzKGVlbillKGV4dGVuZGVkKQotZyhiKW0oeSlnIEZsKHBvc2l4KWcgRnQob3IpZyhCYXNoLikyNzUgMjA2MiB5KFVubGVzcykyMAotYihvdGhlcndpc2UpaChub3RlZCwpaChlYWMpbShoKWcoYnVpbHRpbillKGNvbW1hbmQpZyhkbylzKGN1bWVuKW0odGVkKWcKLShhcyloKGFjY2VwdGluZyloKG9wdGlvbnMpZShwcmVjZWRlZCkxNTAgMjE3MiB5KGIpbSh5KTMxCi1iKGApcCBGcygtKXAgRnQoJylnKGFjY2VwdHMpaShgKXAgRnMoLS0pcCBGdCgnKWUodG8paChzaWduaWZ5KWYodGhlKWgKLShlbmQpZShvZilpKHRoZSlmKG9wdGlvbnMuKTQ0IGIoRiktOCBiKG9yKTMyIGIoZXhhbXBsZSwpZyh0aGUpZgotRnMoOilwIEZ0KCwpaCBGcyh0cnVlKXAgRnQoLCllIEZzKGZhbHNlKXAgRnQoLCloKGFuZCkxNTAKLTIyODIgeSBGcyh0ZXN0KWUgRnQoYnVpbHRpbnMpaChkbylnKG5vdCloKGFjY2VwdCloKG9wdGlvbnMuKTE1MAotMjU0MSB5IEZyKDQuMSk2OCBiKEJvdXJuZSk0NSBiKFNoZWxsKWcoQnVpbHRpbnMpMjc1IDI3ODYKLXkgRnQoVGhlKTMxIGIoZm9sbG8pbSh3aW5nKWkoc2hlbGwpZShidWlsdGluKWgoY29tbWFuZHMpZihhcmUpaAotKGluaGVyaXRlZClmKGZyb20pZyh0aGUpaChCb3VybmUpZihTaGVsbC4pNDUgYihUaGVzZSkzMQotYihjb20tKTE1MCAyODk1IHkobWFuZHMpZShhcmUpaShpbXBsZW1lbiltKHRlZClnKGFzKWcoc3ApcyhlY2lcMDE0ZWQpZQotKGIpbSh5KWkodGhlKWYgRmwocG9zaXgpZyBGdChzdGFuZGFyZC4pMTUwIDMwNTYgeSBGcyg6KWcKLUZ0KFwoYSloKGNvbG9uXCkpODcwIDMxNjUgeSBGcyg6KTQ3IGIoWylwIEZqKGFyZ3VtZW50cykxMQotYiBGcyhdKTYzMCAzMzAwIHkgRnQoRG8pNDMgYihub3RoaW5nKWYoYilzKGV5KW0ob25kKWcoZXhwYW5kaW5nKWYKLUZxKGFyZ3VtZW4pbSh0cyk0NiBiIEZ0KGFuZCljKHApcyhlcmZvcm1pbmcpZihyZWRpcmVjdGlvbnMuKTc2Ci1iKFRoZSk2MzAgMzQxMCB5KHJldHVybikyOSBiKHN0YXR1cylpKGlzKWYoemVyby4pMTUwCi0zNTcwIHkgRnMoLilnIEZ0KFwoYSloKHApcyhlcmlvKXMoZFwpKTg3MCAzNjc5IHkgRnMoLik0NwotYiBGaihmaWxlbmFtZSk1NyBiIEZzKFspcCBGaihhcmd1bWVudHMpMTEgYiBGcyhdKTYzMAotMzgxNCB5IEZ0KFJlYWQpMzQgYihhbmQpZihleGVjdXRlKWkoY29tbWFuZHMpZShmcm9tKWcodGhlKWgKKyhwcm9ncmFtbWFibGUpMTUwIDE4MDIgeShjb21wbGV0aW9uKTMyIGIoZmFjaWxpdGllcylnKFwoc2VlKWcoU2VjdGlvbilmCisoOC43KWcoW1Byb2dyYW1tYWJsZSlnKENvbXBsZXRpb24pZyhCdWlsdGluc10sKWcocGFnZSloKDExN1wpLikyNzUKKzE5MzkgeShNYW4pbSh5KWYob2YpZih0aGUpaChidWlsdGlucyllKGhhKW0odiltKGUpaihiKXMoZWVuKWUoZXh0ZW5kZWQpCitnKGIpbSh5KWcgRmwocG9zaXgpZyBGdChvcilnKEJhc2guKTI3NSAyMDc2IHkoVW5sZXNzKTM5CitiKG90aGVyd2lzZSloKG5vdGVkLClpKGVhYyltKGgpZihidWlsdGluKWUoY29tbWFuZClnKGRvKXMoY3VtZW4pbSh0ZWQpZworKGFzKWgoYWNjZXB0aW5nKWgob3B0aW9ucylmKHByZS0pMTUwIDIxODYgeShjZWRlZCkzMworYihiKW0oeSloKGApcCBGcygtKXAgRnQoJylmKGFjY2VwdHMpaShgKXAgRnMoLS0pcCBGdCgnKWUodG8paChzaWduaWZ5KWYKKyh0aGUpaChlbmQpZShvZilpKHRoZSlmKG9wdGlvbnMuKTUwIGIoVGhlKTMzIGIgRnMoOilwCitGdCgsKWggRnModHJ1ZSlwIEZ0KCwpZiBGcyhmYWxzZSlwIEZ0KCwpZihhbmQpaCBGcyh0ZXN0KTE1MAorMjI5NSB5IEZ0KGJ1aWx0aW5zKWkoZG8pZyhub3QpaChhY2NlcHQpZyhvcHRpb25zKWcoYW5kKWYoZG8pZyhub3QpaAorKHRyZWF0KWcoYClwIEZzKC0tKXAgRnQoJylmKHNwKXMoZWNpYWxseSktOCBiKC4pNTcgYihUaGUpMzUKK2IgRnMoZXhpdClwIEZ0KCwpaCBGcyhsb2dvdXQpcCBGdCgsKWYgRnMoYnJlYWspcCBGdCgsKTE1MAorMjQwNSB5IEZzKGNvbnRpbnVlKXAgRnQoLCkyOSBiIEZzKGxldClwIEZ0KCwpaShhbmQpZworRnMoc2hpZnQpZiBGdChidWlsdGlucylnKGFjY2VwdClqKGFuZCllKHBybylzKGNlc3MpZyhhcmd1bWVuKW0odHMpZyhiKXMKKyhlZ2lubmluZylnKHdpdGgpZyhgKXAgRnMoLSlwIEZ0KCcpZyh3aXRoLSkxNTAgMjUxNSB5KG91dClmKHJlcXVpcmluZylmCisoYClwIEZzKC0tKXAgRnQoJy4pNDEgYihPdGhlcikyOSBiKGJ1aWx0aW5zKWgodGhhdClnKGFjY2VwdCloKGFyZ3VtZW4pbQorKHRzKWYoYnV0KWcoYXJlKWcobm90KWcoc3ApcyhlY2lcMDE0ZWQpZihhcyloKGFjY2VwdGluZykxNTAKKzI2MjQgeShvcHRpb25zKTI1IGIoaW4pbSh0ZXJwcmV0KWYoYXJndW1lbiltKHRzKWgoYilzKGVnaW5uaW5nKWUod2l0aCloCisoYClwIEZzKC0pcCBGdCgnKWgoYXMpZihpbiltKHYpLTUgYihhbGlkKTI1IGIob3B0aW9ucylnKGFuZCllKHJlcXVpcmUpaAorKGApcCBGcygtLSlwIEZ0KCcpZyh0byloKHByZXYpbShlbiltKHQpMTUwIDI3MzQgeSh0aGlzKTMwCitiKGluKW0odGVycHJldGF0aW9uLikxNTAgMjk3MCB5IEZyKDQuMSk2OCBiKEJvdXJuZSk0NQorYihTaGVsbClnKEJ1aWx0aW5zKTE1MCAzMTMwIHkgRnQoVGhlKTIyIGIoZm9sbG8pbSh3aW5nKWooc2hlbGwpZAorKGJ1aWx0aW4paChjb21tYW5kcylmKGFyZSloKGluaGVyaXRlZClnKGZyb20pZih0aGUpaChCb3VybmUpZyhTaGVsbC4pMzgKK2IoVGhlc2UpMjIgYihjb21tYW5kcykxNTAgMzIzOSB5KGFyZSkzMSBiKGltcGxlbWVuKW0odGVkKWcoYXMpZihzcClzCisoZWNpXDAxNGVkKWcoYiltKHkpZyh0aGUpaCBGbChwb3NpeCllIEZ0KHN0YW5kYXJkLikxNTAKKzM0MDMgeSBGcyg6KWggRnQoXChhKWgoY29sb25cKSk4NzAgMzUxMiB5IEZzKDopNDcgYihbKXAKK0ZpKGFyZ3VtZW50cykxMSBiIEZzKF0pNjMwIDM2NDggeSBGdChEbyk0MyBiKG5vdGhpbmcpZihiKXMoZXkpbShvbmQpZworKGV4cGFuZGluZylmIEZxKGFyZ3VtZW4pbSh0cyk0NiBiIEZ0KGFuZCljKHApcyhlcmZvcm1pbmcpZgorKHJlZGlyZWN0aW9ucy4pNzYgYihUaGUpNjMwIDM3NTggeShyZXR1cm4pMjkgYihzdGF0dXMpaShpcylmKHplcm8uKTE1MAorMzkyMCB5IEZzKC4pZyBGdChcKGEpaChwKXMoZXJpbylzKGRcKSk4NzAgNDAyOSB5IEZzKC4pNDcKK2IgRmkoZmlsZW5hbWUpNTcgYiBGcyhbKXAgRmkoYXJndW1lbnRzKTExIGIgRnMoXSk2MzAKKzQxNjUgeSBGdChSZWFkKTM0IGIoYW5kKWYoZXhlY3V0ZSlpKGNvbW1hbmRzKWUoZnJvbSlnKHRoZSloCiBGcShcMDE0bGVuYW1lKTM5IGIgRnQoYXJndW1lbiltKHQpMzQgYihpbilmKHRoZSloKGN1cnJlbiltKHQpZyhzaGVsbCkKLTYzMCAzOTI0IHkoY29uKW0odGV4dC4pNDUgYihJZikzMSBiIEZxKFwwMTRsZW5hbWUpMzcKKzYzMCA0Mjc1IHkoY29uKW0odGV4dC4pNDUgYihJZikzMSBiIEZxKFwwMTRsZW5hbWUpMzcKIGIgRnQoZG8pcyhlcykzMSBiKG5vdClnKGNvbiltKHRhaW4paShhKWUoc2xhc2gsKWgodGhlKWcKIEZzKFBBVEgpZSBGdCh2KS01IGIoYXJpYWJsZSkzMiBiKGlzKWYodXNlZClmKHRvKWkoXDAxNG5kKTYzMAotNDAzMyB5IEZxKFwwMTRsZW5hbWUpcCBGdCguKTUyIGIoV2hlbikzNCBiKEJhc2gpZyhpcyloKG5vdClmKGluKWcKLUZsKHBvc2l4KWYgRnQobW8pcyhkZSwpaSh0aGUpZyhjdXJyZW4pbSh0KWYoZGlyZWN0b3J5KWcoaXMpZyhzZWFyYyltCi0oaGVkKTYzMCA0MTQzIHkoaWYpZCBGcShcMDE0bGVuYW1lKTM2IGIgRnQoaXMpMzEgYihub3QpaChmb3VuZClkKGluKWkKKzQzODQgeSBGcShcMDE0bGVuYW1lKTUgYiBGdCguKTUxIGIoV2hlbikzNCBiKEJhc2gpZyhpcylnKG5vdClnKGluKWYKK0ZsKHBvc2l4KWcgRnQobW8pcyhkZSwpaSh0aGUpZihjdXJyZW4pbSh0KWYoZGlyZWN0b3J5KWkoaXMpZShzZWFyYyltCisoaGVkKTYzMCA0NDk0IHkoaWYpZSBGcShcMDE0bGVuYW1lKTM2IGIgRnQoaXMpMzEgYihub3QpaChmb3VuZClkKGluKWkKIEZzKCRQQVRIKXAgRnQoLik0MSBiKElmKTMxIGIoYW4pbSh5KWcgRnEoYXJndW1lbiltKHRzKWsKLUZ0KGFyZSljKHN1cHBsaWVkLClmKHRoZXkpaShiKXMoZWNvbWUpNjMwIDQyNTMgeSh0aGUpZShwKXMob3NpdGlvbmFsKWgKK0Z0KGFyZSljKHN1cHBsaWVkLClmKHRoZXkpaShiKXMoZWNvbWUpNjMwIDQ2MDQgeSh0aGUpZShwKXMob3NpdGlvbmFsKWgKIChwYXJhbWV0ZXJzKWcod2hlbillIEZxKFwwMTRsZW5hbWUpMzUgYiBGdChpcykzMCBiKGV4ZWN1dGVkLik0MgotYihPdGhlcndpc2UpMzAgYih0aGUpZyhwKXMob3NpdGlvbmFsKTYzMCA0MzYyIHkocGFyYW1ldGVycyk0MworYihPdGhlcndpc2UpMzAgYih0aGUpZyhwKXMob3NpdGlvbmFsKTYzMCA0NzEzIHkocGFyYW1ldGVycyk0MwogYihhcmUpaCh1bmMpbShoYW5nZWQuKTc5IGIoVGhlKTQyIGIocmV0dXJuKWcoc3RhdHVzKWkoaXMpZih0aGUpZyhleGl0KWgKLShzdGF0dXMpZyhvZilmKHRoZSlnKGxhc3QpNjMwIDQ0NzIgeShjb21tYW5kKTM3IGIoZXhlY3V0ZWQsKWsob3IpYworKHN0YXR1cylnKG9mKWYodGhlKWcobGFzdCk2MzAgNDgyMyB5KGNvbW1hbmQpMzcgYihleGVjdXRlZCwpayhvciljCiAoemVybyloKGlmKWcobm8pZihjb21tYW5kcylnKGFyZSloKGV4ZWN1dGVkLik2MyBiKElmKTM2Ci1iIEZxKFwwMTRsZW5hbWUpNDMgYiBGdChpcykzOCBiKG5vdCk2MzAgNDU4MSB5KGZvdW5kLCkyMgorYiBGcShcMDE0bGVuYW1lKTQzIGIgRnQoaXMpMzggYihub3QpNjMwIDQ5MzIgeShmb3VuZCwpMjIKIGIob3IpZihjYW5ub3QpZyhiKXMoZSlmKHJlYWQsKWoodGhlKWUocmV0dXJuKWYoc3RhdHVzKWgoaXMpZyhub24temVyby4pCiAzOCBiKFRoaXMpMjAgYihidWlsdGluKWgoaXMpZihlcXVpdiktNSBiKGFsZW4pbSh0KTYzMAotNDY5MSB5KHRvKTMxIGIgRnMoc291cmNlKXAgRnQoLikxNTAgNDg1MSB5IEZzKGJyZWFrKTg3MAotNDk4NiB5KGJyZWFrKTQ2IGIoWylwIEZqKG4pMTEgYiBGcyhdKTYzMCA1MTIxIHkgRnQoRXhpdCk0NQotYihmcm9tKWYoYSlnIEZzKGZvcilwIEZ0KCwpayBGcyh3aGlsZSlwIEZ0KCwpZSBGcyh1bnRpbClwCi1GdCgsKWgob3IpZCBGcyhzZWxlY3QpZiBGdChsbylzKG9wLik4MyBiKElmKTQ0IGIgRnEobilnCi1GdChpcylnKHN1cHBsaWVkLClqKHRoZSllIEZxKG4pcCBGdCh0aCk2MzAgNTIzMCB5KGVuY2xvc2luZyljKGxvKXMob3ApZgotKGlzKWgoZXhpdGVkLik3MCBiIEZxKG4pNDAgYiBGdChtKW0odXN0KWcoYilzKGUpZihncmVhdGVyKWoodGhhbilkKG9yKWkKLShlcXVhbClmKHRvKWgoMS4pNzAgYihUaGUpNDAgYihyZXR1cm4pNjMwIDUzNDAgeShzdGF0dXMpMzEKLWIoaXMpZih6ZXJvKWgodW5sZXNzKWYgRnEobilnIEZ0KGlzKWcobm90KWgoZ3JlYXRlcilnKHRoYW4pZyhvcilmCi0oZXF1YWwpaCh0bylnKDEuKXAgZW9wIGVuZAorNTA0MiB5KHRvKTMxIGIgRnMoc291cmNlKXAgRnQoLikxNTAgNTIwNCB5IEZzKGJyZWFrKTg3MAorNTM0MCB5KGJyZWFrKTQ2IGIoWylwIEZpKG4pMTEgYiBGcyhdKXAgZW9wIGVuZAogJSVQYWdlOiAzNiA0MgogVGVYRGljdCBiZWdpbiAzNiA0MSBib3AgMTUwIC0xMTYgYSBGdCgzNikyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5IEZzKGNkKTg3MCA0MzAgeShjZCk0NwotYihbLUx8LVBdKWYoWylwIEZqKGRpcmVjdG9yeSkxMSBiIEZzKF0pNjMwIDU2MiB5IEZ0KENoYW5nZSkzNwotYih0aGUpZyhjdXJyZW4pbSh0KWYodyltKG9ya2luZylpKGRpcmVjdG9yeSlmKHRvKWggRnEoZGlyZWN0b3J5KXAKLUZ0KC4pNjAgYihJZikzNyBiIEZxKGRpcmVjdG9yeSk0NSBiIEZ0KGlzKTM3IGIobm90KWcoZ2l2KW0oZW4sKTYzMAotNjcxIHkodGhlKTMxIGIodiktNSBiKGFsdWUpMzEgYihvZilnKHRoZSlnIEZzKEhPTUUpZQotRnQoc2hlbGwpaSh2KS01IGIoYXJpYWJsZSkzMiBiKGlzKWYodXNlZC4pNDAgYihJZikzMQotYih0aGUpZyhzaGVsbClnKHYpLTUgYihhcmlhYmxlKTMxIGIgRnMoQ0RQQVRIKWUgRnQoZXhpc3RzLCk2MzAKLTc4MSB5KGl0KWYoaXMpZih1c2VkKWYoYXMpaChhKWgoc2VhcmMpbShoKWYocGF0aC4pNDAKLWIoSWYpMjYgYiBGcShkaXJlY3RvcnkpMzUgYiBGdChiKXMoZWdpbnMpMjcgYih3aXRoKWcoYSlnKHNsYXNoLCloCi1GcyhDRFBBVEgpZCBGdChpcylpKG5vdClnKHVzZWQuKTYzMCA5MTMgeShUaGUpaChgKXAgRnMoLVApcAotRnQoJyloKG9wdGlvbilnKG1lYW5zKWYodG8paChub3QpZyhmb2xsbyltKHcpaChzeW0pbShiKXMob2xpYylmKGxpbmtzOykKLWcoc3ltKW0oYilzKG9saWMpZyhsaW5rcylmKGFyZSloKGZvbGxvKW0odyltKGVkKTYzMCAxMDIyCi15KGIpbSh5KTIzIGIoZGVmYXVsdCloKG9yKWcod2l0aClmKHRoZSloKGApcCBGcygtTClwCi1GdCgnKWYob3B0aW9uLikzOSBiKElmKTIzIGIgRnEoZGlyZWN0b3J5KTMyIGIgRnQoaXMpMjMKLWIoYClwIEZzKC0pcCBGdCgnLClqKGl0KWUoaXMpZihlcXVpdiktNSBiKGFsZW4pbSh0KTI1Ci1iKHRvKWcgRnMoJE9MRFBXRClwIEZ0KC4pNjMwIDExNTQgeShJZikzMyBiKGEpaChub24tZW1wdCltKHkpZworYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5KEV4aXQpNDUgYihmcm9tKWYoYSlnCitGcyhmb3IpcCBGdCgsKWsgRnMod2hpbGUpcCBGdCgsKWUgRnModW50aWwpcCBGdCgsKWgob3IpZAorRnMoc2VsZWN0KWYgRnQobG8pcyhvcC4pODMgYihJZik0NCBiIEZxKG4pZyBGdChpcylnKHN1cHBsaWVkLClqKHRoZSllCitGcShuKXAgRnQodGgpNjMwIDQwOCB5KGVuY2xvc2luZyljKGxvKXMob3ApZihpcyloKGV4aXRlZC4pNzAKK2IgRnEobik0MCBiIEZ0KG0pbSh1c3QpZyhiKXMoZSlmKGdyZWF0ZXIpaih0aGFuKWQob3IpaShlcXVhbClmKHRvKWgoMS4pCis3MCBiKFRoZSk0MCBiKHJldHVybik2MzAgNTE4IHkoc3RhdHVzKTMxIGIoaXMpZih6ZXJvKWgodW5sZXNzKWYKK0ZxKG4pZyBGdChpcylnKG5vdCloKGdyZWF0ZXIpZyh0aGFuKWcob3IpZihlcXVhbCloKHRvKWcoMS4pMTUwCis2NzEgeSBGcyhjZCk4NzAgODAzIHkoY2QpNDcgYihbLUx8LVBdKWYoWylwIEZpKGRpcmVjdG9yeSkxMQorYiBGcyhdKTYzMCA5MzQgeSBGdChDaGFuZ2UpMzYgYih0aGUpaChjdXJyZW4pbSh0KWYodyltKG9ya2luZylnCisoZGlyZWN0b3J5KWgodG8pZyBGcShkaXJlY3RvcnkpOCBiIEZ0KC4pNTkgYihJZikzNSBiCitGcShkaXJlY3RvcnkpNDUgYiBGdChpcykzNiBiKG5vdCloKGdpdiltKGVuLCk2MzAgMTA0NAoreSh0aGUpMzEgYih2KS01IGIoYWx1ZSkzMSBiKG9mKWcodGhlKWcgRnMoSE9NRSllIEZ0KHNoZWxsKWkodiktNQorYihhcmlhYmxlKTMyIGIoaXMpZih1c2VkLik0MCBiKElmKTMxIGIodGhlKWcoc2hlbGwpZyh2KS01CitiKGFyaWFibGUpMzEgYiBGcyhDRFBBVEgpZSBGdChleGlzdHMsKTYzMCAxMTU0IHkoaXQpZihpcylmKHVzZWQpZihhcyloCisoYSloKHNlYXJjKW0oaClmKHBhdGguKTQwIGIoSWYpMjYgYiBGcShkaXJlY3RvcnkpMzUgYgorRnQoYilzKGVnaW5zKTI3IGIod2l0aClnKGEpZyhzbGFzaCwpaCBGcyhDRFBBVEgpZCBGdChpcylpKG5vdClnKHVzZWQuKQorNjMwIDEyODUgeShUaGUpaChgKXAgRnMoLVApcCBGdCgnKWgob3B0aW9uKWcobWVhbnMpZih0byloKG5vdClnKGZvbGxvKW0KKyh3KWgoc3ltKW0oYilzKG9saWMpZihsaW5rczspZyhzeW0pbShiKXMob2xpYylnKGxpbmtzKWYoYXJlKWgoZm9sbG8pbQorKHcpbShlZCk2MzAgMTM5NSB5KGIpbSh5KTIzIGIoZGVmYXVsdCloKG9yKWcod2l0aClmKHRoZSloKGApcAorRnMoLUwpcCBGdCgnKWYob3B0aW9uLikzOSBiKElmKTIzIGIgRnEoZGlyZWN0b3J5KTMyIGIKK0Z0KGlzKTIzIGIoYClwIEZzKC0pcCBGdCgnLClqKGl0KWUoaXMpZihlcXVpdiktNSBiKGFsZW4pbSh0KTI1CitiKHRvKWcgRnMoJE9MRFBXRClwIEZ0KC4pNjMwIDE1MjYgeShJZikzMyBiKGEpaChub24tZW1wdCltKHkpZwogKGRpcmVjdG9yeSlnKG5hbWUpZihmcm9tKWcgRnMoQ0RQQVRIKWYgRnQoaXMpaCh1c2VkLCloKG9yKWcoaWYpZihgKXAKLUZzKC0pcCBGdCgnKWgoaXMpZih0aGUpaChcMDE0cnN0KWYoYXJndS0pNjMwIDEyNjMgeShtZW4pbSh0LCkyOAorRnMoLSlwIEZ0KCcpaChpcylmKHRoZSloKFwwMTRyc3QpZihhcmd1LSk2MzAgMTYzNiB5KG1lbiltKHQsKTI4CiBiKGFuZCllKHRoZSloKGRpcmVjdG9yeSlnKGMpbShoYW5nZSloKGlzKWYoc3VjY2Vzc2Z1bCwpaCh0aGUpZgotKGFic29sdXRlKWcocGF0aG5hbWUpZyhvZilmKHRoZSloKG5ldyk2MzAgMTM3MyB5KHcpbShvcmtpbmcpaworKGFic29sdXRlKWcocGF0aG5hbWUpZyhvZilmKHRoZSloKG5ldyk2MzAgMTc0NSB5KHcpbShvcmtpbmcpawogKGRpcmVjdG9yeSlnKGlzKWYod3JpdHRlbilnKHRvKWkodGhlKWUoc3RhbmRhcmQpZyhvdXRwdXQuKTYzMAotMTUwNCB5KFRoZSlmKHJldHVybilnKHN0YXR1cyloKGlzKWYoemVybylpKGlmKWUodGhlKWgoZGlyZWN0b3J5KWcoaXMpZwotKHN1Y2Nlc3NmdWxseSlnKGMpbShoYW5nZWQsKWcobm9uLXplcm8pZyhvdGgtKTYzMCAxNjE0Ci15KGVyd2lzZS4pMTUwIDE3NjcgeSBGcyhjb250aW51ZSk4NzAgMTg5OSB5KGNvbnRpbnVlKTQ2Ci1iKFspcCBGaihuKTExIGIgRnMoXSk2MzAgMjAzMCB5IEZ0KFJlc3VtZSkzMiBiKHRoZSlnKG5leHQpZyhpdGVyYXRpb24paQorMTg3NyB5KFRoZSlmKHJldHVybilnKHN0YXR1cyloKGlzKWYoemVybylpKGlmKWUodGhlKWgoZGlyZWN0b3J5KWcoaXMpZworKHN1Y2Nlc3NmdWxseSlnKGMpbShoYW5nZWQsKWcobm9uLXplcm8pZyhvdGgtKTYzMCAxOTg3Cit5KGVyd2lzZS4pMTUwIDIxNDAgeSBGcyhjb250aW51ZSk4NzAgMjI3MSB5KGNvbnRpbnVlKTQ2CitiKFspcCBGaShuKTExIGIgRnMoXSk2MzAgMjQwMyB5IEZ0KFJlc3VtZSkzMiBiKHRoZSlnKG5leHQpZyhpdGVyYXRpb24paQogKG9mKWUoYW4pZyhlbmNsb3NpbmcpaCBGcyhmb3IpcCBGdCgsKWYgRnMod2hpbGUpcCBGdCgsKWYKLUZzKHVudGlsKXAgRnQoLClnKG9yKWggRnMoc2VsZWN0KWYgRnQobG8pcyhvcC4pNjMwIDIxNDAKK0ZzKHVudGlsKXAgRnQoLClnKG9yKWggRnMoc2VsZWN0KWYgRnQobG8pcyhvcC4pNjMwIDI1MTMKIHkoSWYpZiBGcShuKWggRnQoaXMpZyhzdXBwbGllZCwpZSh0aGUpaihleGVjdXRpb24pZyhvZilmKHRoZSlnCiBGcShuKXAgRnQodGgpZihlbmNsb3NpbmcpaShsbylzKG9wKWYoaXMpZihyZXN1bWVkLik0MgotYiBGcShuKTMwIGIgRnQobSltKHVzdCloKGIpcyhlKTYzMCAyMjUwIHkoZ3JlYXRlcikzOQorYiBGcShuKTMwIGIgRnQobSltKHVzdCloKGIpcyhlKTYzMCAyNjIyIHkoZ3JlYXRlcikzOQogYih0aGFuKWYob3IpZyhlcXVhbClnKHRvKWgoMS4pNjMgYihUaGUpMzggYihyZXR1cm4pZShzdGF0dXMpaihpcyllCi0oemVybylpKHVubGVzcyllIEZxKG4paCBGdChpcylnKG5vdClnKGdyZWF0ZXIpNjMwIDIzNTkKLXkodGhhbikzMCBiKG9yKWcoZXF1YWwpaCh0bylnKDEuKTE1MCAyNTEzIHkgRnMoZXZhbCk4NzAKLTI2NDQgeShldmFsKTQ3IGIoWylwIEZqKGFyZ3VtZW50cykxMSBiIEZzKF0pNjMwIDI3NzYKKyh6ZXJvKWkodW5sZXNzKWUgRnEobiloIEZ0KGlzKWcobm90KWcoZ3JlYXRlcik2MzAgMjczMgoreSh0aGFuKTMwIGIob3IpZyhlcXVhbCloKHRvKWcoMS4pMTUwIDI4ODUgeSBGcyhldmFsKTg3MAorMzAxNyB5KGV2YWwpNDcgYihbKXAgRmkoYXJndW1lbnRzKTExIGIgRnMoXSk2MzAgMzE0OAogeSBGdChUaGUpMjUgYihhcmd1bWVuKW0odHMpaChhcmUpZyhjb25jYXRlbmF0ZWQpaSh0b2dldGhlcilmKGluKW0odG8pZgotKGEpZyhzaW5nbGUpaChjb21tYW5kLClmKHdoaWMpbShoKWcoaXMpZih0aGVuKTYzMCAyODg1CisoYSlnKHNpbmdsZSloKGNvbW1hbmQsKWYod2hpYyltKGgpZyhpcylmKHRoZW4pNjMwIDMyNTgKIHkocmVhZCkzNSBiKGFuZClnKGV4ZWN1dGVkLClqKGFuZClkKGl0cyloKGV4aXQpZyhzdGF0dXMpZyhyZXR1cm5lZCllCiAoYXMpaCh0aGUpaChleGl0KWcoc3RhdHVzKWcob2YpZyBGcyhldmFsKXAgRnQoLik1NCBiKElmKTYzMAotMjk5NSB5KHRoZXJlKTMxIGIoYXJlKWYobm8paChhcmd1bWVuKW0odHMpZihvciloKG9ubHkpZihlbXB0KW0oeSloCiszMzY3IHkodGhlcmUpMzEgYihhcmUpZihubyloKGFyZ3VtZW4pbSh0cylmKG9yKWgob25seSlmKGVtcHQpbSh5KWgKIChhcmd1bWVuKW0odHMsKWcodGhlKWYocmV0dXJuKWcoc3RhdHVzKWcoaXMpaCh6ZXJvLikxNTAKLTMxNDggeSBGcyhleGVjKTg3MCAzMjgwIHkoZXhlYyk0NyBiKFstY2xdKWYoWy1hKWggRmoobmFtZSkxMQotYiBGcyhdKTQ2IGIoWylwIEZqKGNvbW1hbmQpNTYgYiBGcyhbKXAgRmooYXJndW1lbnRzKTExCi1iIEZzKF1dKTYzMCAzNDExIHkgRnQoSWYpMzYgYiBGcShjb21tYW5kKWsgRnQoaXMpYyhzdXBwbGllZCwpaChpdClnCiszNTIxIHkgRnMoZXhlYyk4NzAgMzY1MiB5KGV4ZWMpNDcgYihbLWNsXSlmKFstYSloIEZpKG5hbWUpMTEKK2IgRnMoXSk0NiBiKFspcCBGaShjb21tYW5kKTU2IGIgRnMoWylwIEZpKGFyZ3VtZW50cykxMQorYiBGcyhdXSk2MzAgMzc4NCB5IEZ0KElmKTM2IGIgRnEoY29tbWFuZClrIEZ0KGlzKWMoc3VwcGxpZWQsKWgoaXQpZwogKHJlcGxhY2VzKWgodGhlKWUoc2hlbGwpaCh3aXRob3V0KWYoY3JlYXRpbmcpaShhKWYobmV3KWYocHJvKXMoY2Vzcy4pCi02MzAgMzUyMSB5KElmKWgodGhlKWcoYClwIEZzKC1sKXAgRnQoJylnKG9wdGlvbiloKGlzKWYoc3VwcGxpZWQsKWcodGhlKQorNjMwIDM4OTMgeShJZiloKHRoZSlnKGApcCBGcygtbClwIEZ0KCcpZyhvcHRpb24paChpcylmKHN1cHBsaWVkLClnKHRoZSkKIGgoc2hlbGwpZihwbGFjZXMpaChhKWcoZGFzaCllKGF0KWkodGhlKWYoYilzKGVnaW5uaW5nKWYob2YpaSh0aGUpNjMwCi0zNjMwIHkoemVyb3RoKWUoYXJndW1lbiltKHQpaChwYXNzZWQpZSh0byloIEZxKGNvbW1hbmQpcAotRnQoLik1NyBiKFRoaXMpMzUgYihpcyloKHdoYXQpZih0aGUpaCBGcyhsb2dpbillIEZ0KHByb2dyYW0paShkbylzKGVzLikKLTYzMCAzNzQwIHkoVGhlKWQoYClwIEZzKC1jKXAgRnQoJyloKG9wdGlvbilnKGNhdXNlcylnCis0MDAzIHkoemVyb3RoKWUoYXJndW1lbiltKHQpZyhwYXNzZWQpZih0byloIEZxKGNvbW1hbmQpdAorRnQoLik1NiBiKFRoaXMpMzQgYihpcylpKHdoYXQpZih0aGUpaCBGcyhsb2dpbillIEZ0KHByb2dyYW0paChkbylzKGVzLikKKzYzMCA0MTEzIHkoVGhlKWUoYClwIEZzKC1jKXAgRnQoJyloKG9wdGlvbilnKGNhdXNlcylnCiBGcShjb21tYW5kKWogRnQodG8pZShiKXMoZSllKGV4ZWN1dGVkKWkod2l0aCllKGFuKWgoZW1wdCltKHkpZyhlbiltCi0odmlyb25tZW4pbSh0Lik2MzAgMzg1MCB5KElmKWQoYClwIEZzKC1hKXAgRnQoJyloKGlzKWcoc3VwcGxpZWQsKWYodGhlKQotaChzaGVsbClnKHBhc3NlcylmIEZxKG5hbWUpMzcgYiBGdChhcykzMiBiKHRoZSlnKHplcm90aClnKGFyZ3VtZW4pbSh0KWcKLSh0byloIEZxKGNvbW1hbmQpcCBGdCguKTYzMCAzOTU5IHkoSWYpNDUgYihubylnIEZxKGNvbW1hbmQpaworKHZpcm9ubWVuKW0odC4pNjMwIDQyMjIgeShJZilkKGApcCBGcygtYSlwIEZ0KCcpZyhpcyloKHN1cHBsaWVkLClmKHRoZSkKK2coc2hlbGwpaChwYXNzZXMpZiBGcShuYW1lKTM3IGIgRnQoYXMpMzEgYih0aGUpaCh6ZXJvdGgpZyhhcmd1bWVuKW0odClnCisodG8pZyBGcShjb21tYW5kKXQgRnQoLik2MzAgNDMzMiB5KElmKTQ1IGIobm8pZyBGcShjb21tYW5kKWsKIEZ0KGlzKWMoc3ApcyhlY2lcMDE0ZWQsKWsocmVkaXJlY3Rpb25zKWQobWEpbSh5KWcoYilzKGUpZih1c2VkKWYodG8pagotKGFcMDEzZWN0KWcodGhlKWUoY3VycmVuKW0odCk2MzAgNDA2OSB5KHNoZWxsKTMzIGIoZW4pbSh2aXJvbm1lbiltKHQuKQorKGFcMDEzZWN0KWcodGhlKWUoY3VycmVuKW0odCk2MzAgNDQ0MSB5KHNoZWxsKTMzIGIoZW4pbSh2aXJvbm1lbiltKHQuKQogNDggYihJZikzMiBiKHRoZXJlKWgoYXJlKWcobm8pZihyZWRpcmVjdGlvbiloKGVycm9ycywpZyh0aGUpZyhyZXR1cm4pZQotKHN0YXR1cylpKGlzKWcoemVybzspNjMwIDQxNzggeShvdGhlcndpc2UpZSh0aGUpZihyZXR1cm4pZyhzdGF0dXMpZyhpcykKLWgobm9uLXplcm8uKTE1MCA0MzMyIHkgRnMoZXhpdCk4NzAgNDQ2MyB5KGV4aXQpNDcgYihbKXAKLUZqKG4pMTEgYiBGcyhdKTYzMCA0NTk1IHkgRnQoRXhpdCkzMCBiKHRoZSlnKHNoZWxsLCloKHJldHVybmluZylkKGEpagorKHN0YXR1cylpKGlzKWcoemVybzspNjMwIDQ1NTEgeShvdGhlcndpc2UpZSh0aGUpZihyZXR1cm4pZyhzdGF0dXMpZyhpcykKK2gobm9uLXplcm8uKTE1MCA0NzA0IHkgRnMoZXhpdCk4NzAgNDgzNiB5KGV4aXQpNDcgYihbKXAKK0ZpKG4pMTEgYiBGcyhdKTYzMCA0OTY3IHkgRnQoRXhpdCkzMCBiKHRoZSlnKHNoZWxsLCloKHJldHVybmluZylkKGEpagogKHN0YXR1cylmKG9mKWcgRnEobilmIEZ0KHRvKWgodGhlKWcoc2hlbGwncylnKHBhcmVuKW0odC4pNDEKLWIoSWYpMzAgYiBGcShuKWYgRnQoaXMpaChvbWl0dGVkLCloKHRoZSk2MzAgNDcwNCB5KGV4aXQpYyhzdGF0dXMpZyhpcylnCitiKElmKTMwIGIgRnEobilmIEZ0KGlzKWgob21pdHRlZCwpaCh0aGUpNjMwIDUwNzcgeShleGl0KWMoc3RhdHVzKWcoaXMpZwogKHRoYXQpZyhvZilnKHRoZSlnKGxhc3QpZyhjb21tYW5kKWYoZXhlY3V0ZWQuKTQxIGIoQW4pbSh5KTI2Ci1iKHRyYXApaChvbilmIEZzKEVYSVQpZiBGdChpcylpKGV4ZWN1dGVkKTYzMCA0ODE0IHkoYilzKGVmb3JlKWoodGhlKWgKLShzaGVsbClmKHRlcm1pbmF0ZXMuKTE1MCA0OTY3IHkgRnMoZXhwb3J0KTg3MCA1MDk5IHkoZXhwb3J0KTQ2Ci1iKFstZm5dKWcoWy1wXSloKFspcCBGaihuYW1lKTExIGIgRnMoWz0pcCBGaih2YWx1ZSlnCi1GcyhdXSk2MzAgNTIzMCB5IEZ0KE1hcmspNDAgYihlYWMpbShoKWggRnEobmFtZSlrIEZ0KHRvKTQwCi1iKGIpcyhlKWYocGFzc2VkKWcodG8paShjKW0oaGlsZClmKHBybylzKGNlc3NlcylmKGluKWcodGhlKWgoZW4pbQotKHZpcm9ubWVuKW0odC4pNzAgYihJZikzOSBiKHRoZSk2MzAgNTM0MCB5KGApcCBGcygtZilwCi1GdCgnKTI5IGIob3B0aW9uKWgoaXMpZyhzdXBwbGllZCwpZih0aGUpZyBGcShuYW1lKTUgYgotRnQocykzMCBiKHJlZmVyKWYodG8paChzaGVsbClnKGZ1bmN0aW9uczspZihvdGhlcndpc2UpaCh0aGUpZyhuYW1lcylwCi1lb3AgZW5kCitiKHRyYXApaChvbilmIEZzKEVYSVQpZiBGdChpcylpKGV4ZWN1dGVkKTYzMCA1MTg3IHkoYilzKGVmb3JlKWoodGhlKWgKKyhzaGVsbClmKHRlcm1pbmF0ZXMuKTE1MCA1MzQwIHkgRnMoZXhwb3J0KXAgZW9wIGVuZAogJSVQYWdlOiAzNyA0MwogVGVYRGljdCBiZWdpbiAzNyA0MiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNDopNDEKLWIoU2hlbGwpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjA2OSBiKDM3KTYzMCAyOTkgeShyZWZlcikzNgotYih0bylpKHNoZWxsKWUodiktNSBiKGFyaWFibGVzLik2MCBiKFRoZSkzNiBiKGApcCBGcygtbilwCi1GdCgnKWgob3B0aW9uKWcobWVhbnMpZih0byloKG5vKWcobG9uZ2VyKWcobWFyaylmKGVhYyltKGgpaQotRnEobmFtZSk2MzAgNDA4IHkgRnQoZm9yKWgoZXhwKXMob3J0Lik2NSBiKElmKTM5IGIobm8pZwotRnEobmFtZXMpaiBGdChhcmUpZChzdXBwbGllZCwpaChvcilmKGlmKWcodGhlKWcoYClwIEZzKC1wKXAKLUZ0KCcpZyhvcHRpb24pZyhpcylnKGdpdiltKGVuLClqKGEpZChsaXN0KWgob2YpNjMwIDUxOAoteShleHApcyhvcnRlZCljKG5hbWVzKWgoaXMpZihkaXNwbGEpbSh5KW0oZWQuKTYwIGIoVGhlKTM3Ci1iKGApcCBGcygtcClwIEZ0KCcpZihvcHRpb24paChkaXNwbGEpbSh5cylnKG91dHB1dClmKGluKWcoYSloKGZvcm0pZgotKHRoYXQpNjMwIDYyOCB5KG1hKW0oeSljKGIpcyhlKWUocmV1c2VkKWcoYXMpaShpbnB1dC4pNDIKLWIoSWYpMzAgYihhKWkodiktNSBiKGFyaWFibGUpMzEgYihuYW1lKWgoaXMpZihmb2xsbyltKHcpbShlZCloKGIpbSh5KWYKLSg9KXAgRnEodiktNSBiKGFsdWUpcCBGdCgsKTMyIGIodGhlKWYodiktNSBiKGFsdWUpMzIKLWIob2YpNjMwIDczNyB5KHRoZSlmKHYpLTUgYihhcmlhYmxlKTMxIGIoaXMpZihzZXQpaCh0bylnCi1GcSh2KS01IGIoYWx1ZSlwIEZ0KC4pNjMwIDg3MCB5KFRoZSkyOSBiKHJldHVybillKHN0YXR1cylqKGlzKWYoemVybyloCi0odW5sZXNzKWUoYW4paChpbiltKHYpLTUgYihhbGlkKTI5IGIob3B0aW9uKWgoaXMpZihzdXBwbGllZCwpZihvbmUpaQotKG9mKWYodGhlKWcobmFtZXMpNjMwIDk4MCB5KGlzKWgobm90KWgoYSlmKHYpLTUgYihhbGlkKTMxCi1iKHNoZWxsKWYodiktNSBiKGFyaWFibGUpMzEgYihuYW1lLClmKG9yKWgoYClwIEZzKC1mKXAKLUZ0KCcpZihpcylnKHN1cHBsaWVkKWYod2l0aClnKGEpaShuYW1lKWYodGhhdCloKGlzKWYobm90KWgoYSk2MzAKLTEwODkgeShzaGVsbClnKGZ1bmN0aW9uLikxNTAgMTI0NiB5IEZzKGdldG9wdHMpODcwIDEzNzkKLXkoZ2V0b3B0cyk0NiBiIEZqKG9wdHN0cmluZyk1NiBiKG5hbWUpaCBGcyhbKXAgRmooYXJncykxMQotYiBGcyhdKTYzMCAxNTEyIHkoZ2V0b3B0cykyOCBiIEZ0KGlzKWkodXNlZClnKGIpbSh5KWcoc2hlbGwpZyhzY3JpcHRzKWcKK2IoU2hlbGwpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjA2OSBiKDM3KTg3MCAyOTkgeSBGcyhleHBvcnQpNDYKK2IoWy1mbl0pZyhbLXBdKWgoWylwIEZpKG5hbWUpMTEgYiBGcyhbPSlwIEZpKHZhbHVlKWcKK0ZzKF1dKTYzMCA0MzIgeSBGdChNYXJrKTQwIGIoZWFjKW0oaCloIEZxKG5hbWUpayBGdCh0byk0MAorYihiKXMoZSlmKHBhc3NlZClnKHRvKWkoYyltKGhpbGQpZihwcm8pcyhjZXNzZXMpZihpbilnKHRoZSloKGVuKW0KKyh2aXJvbm1lbiltKHQuKTcwIGIoSWYpMzkgYih0aGUpNjMwIDU0MiB5KGApcCBGcygtZilwCitGdCgnKTI5IGIob3B0aW9uKWgoaXMpZyhzdXBwbGllZCwpZih0aGUpZyBGcShuYW1lKTUgYgorRnQocykzMCBiKHJlZmVyKWYodG8paChzaGVsbClnKGZ1bmN0aW9uczspZihvdGhlcndpc2UpaCh0aGUpZyhuYW1lcyk2MzAKKzY1MSB5KHJlZmVyKTM2IGIodG8paShzaGVsbCllKHYpLTUgYihhcmlhYmxlcy4pNjAgYihUaGUpMzYKK2IoYClwIEZzKC1uKXAgRnQoJyloKG9wdGlvbilnKG1lYW5zKWYodG8paChubylnKGxvbmdlcilnKG1hcmspZihlYWMpbQorKGgpaSBGcShuYW1lKTYzMCA3NjEgeSBGdChmb3IpaChleHApcyhvcnQuKTY1IGIoSWYpMzkKK2Iobm8pZyBGcShuYW1lcylqIEZ0KGFyZSlkKHN1cHBsaWVkLCloKG9yKWYoaWYpZyh0aGUpZyhgKXAKK0ZzKC1wKXAgRnQoJylnKG9wdGlvbilnKGlzKWcoZ2l2KW0oZW4sKWooYSlkKGxpc3QpaChvZik2MzAKKzg3MCB5KGV4cClzKG9ydGVkKWMobmFtZXMpaChpcylmKGRpc3BsYSltKHkpbShlZC4pNjAKK2IoVGhlKTM3IGIoYClwIEZzKC1wKXAgRnQoJylmKG9wdGlvbiloKGRpc3BsYSltKHlzKWcob3V0cHV0KWYoaW4pZyhhKWgKKyhmb3JtKWYodGhhdCk2MzAgOTgwIHkobWEpbSh5KTMxIGIoYilzKGUpZihyZXVzZWQpZyhhcyloKGlucHV0Lik0MQorYihJZikzMSBiKGEpZyh2KS01IGIoYXJpYWJsZSkzMSBiKG5hbWUpZyhpcylnKGZvbGxvKW0odyltKGVkKWkoYiltKHkpZAorKD0pcCBGcSh2KS01IGIoYWx1ZSk1IGIgRnQoLCkzMiBiKHRoZSlmKHYpLTUgYihhbHVlKTMxCitiKG9mKTYzMCAxMDg5IHkodGhlKWcodiktNSBiKGFyaWFibGUpMzEgYihpcylmKHNldCloKHRvKWcKK0ZxKHYpLTUgYihhbHVlKTUgYiBGdCguKTYzMCAxMjIzIHkoVGhlKTI5IGIocmV0dXJuKWUoc3RhdHVzKWooaXMpZgorKHplcm8paCh1bmxlc3MpZShhbiloKGluKW0odiktNSBiKGFsaWQpMjkgYihvcHRpb24paChpcylmKHN1cHBsaWVkLClmCisob25lKWkob2YpZih0aGUpZyhuYW1lcyk2MzAgMTMzMiB5KGlzKWgobm90KWgoYSlmKHYpLTUKK2IoYWxpZCkzMSBiKHNoZWxsKWYodiktNSBiKGFyaWFibGUpMzEgYihuYW1lLClmKG9yKWgoYClwCitGcygtZilwIEZ0KCcpZihpcylnKHN1cHBsaWVkKWYod2l0aClnKGEpaShuYW1lKWYodGhhdCloKGlzKWYobm90KWgoYSkKKzYzMCAxNDQyIHkoc2hlbGwpZyhmdW5jdGlvbi4pMTUwIDE1OTggeSBGcyhnZXRvcHRzKTg3MAorMTczMSB5KGdldG9wdHMpNDYgYiBGaShvcHRzdHJpbmcpNTYgYihuYW1lKWggRnMoWylwIEZpKGFyZ3MpMTEKK2IgRnMoXSk2MzAgMTg2NCB5KGdldG9wdHMpMjggYiBGdChpcylpKHVzZWQpZyhiKW0oeSlnKHNoZWxsKWcoc2NyaXB0cylnCiAodG8pZyhwYXJzZSlnKHApcyhvc2l0aW9uYWwpaChwYXJhbWV0ZXJzLik0MSBiIEZxKG9wdHN0cmluZylkCi1GdChjb24tKTYzMCAxNjIyIHkodGFpbnMpayh0aGUpZyhvcHRpb24pZihjKW0oaGFyYWN0ZXJzKWkodG8pZyhiKXMoZSlkCitGdChjb24tKTYzMCAxOTc0IHkodGFpbnMpayh0aGUpZyhvcHRpb24pZihjKW0oaGFyYWN0ZXJzKWkodG8pZyhiKXMoZSlkCiAocmVjb2duaXplZDspNDkgYihpZik0MiBiKGEpZihjKW0oaGFyYWN0ZXIpaihpcylkKGZvbGxvKW0odyltKGVkKWkoYiltCi0oeSlmKGEpNjMwIDE3MzEgeShjb2xvbiwpMzMgYih0aGUpZihvcHRpb24pZyhpcylnKGV4cClzKGVjdGVkKWcodG8paAorKHkpZihhKTYzMCAyMDg0IHkoY29sb24sKTMzIGIodGhlKWYob3B0aW9uKWcoaXMpZyhleHApcyhlY3RlZClnKHRvKWgKIChoYSltKHYpbShlKWcoYW4pZShhcmd1bWVuKW0odCwpaSh3aGljKW0oaClmKHNob3VsZCllKGIpcyhlKWgKLShzZXBhcmF0ZWQpNjMwIDE4NDEgeShmcm9tKTM3IGIoaXQpaChiKW0oeSlmKHdoaXRlKWgoc3BhY2UuKTYzCisoc2VwYXJhdGVkKTYzMCAyMTkzIHkoZnJvbSkzNyBiKGl0KWgoYiltKHkpZih3aGl0ZSloKHNwYWNlLik2MwogYihUaGUpMzcgYihjb2xvbiloKFwoYClwIEZzKDopcCBGdCgnXCkpaChhbmQpZChxdWVzdGlvbilpKG1hcmspZihcKGApcAotRnMoPylwIEZ0KCdcKSlpKG1hKW0oeSlmKG5vdClnKGIpcyhlKTYzMCAxOTUxIHkodXNlZClnKGFzKWcob3B0aW9uKWgoYykKK0ZzKD8pcCBGdCgnXCkpaShtYSltKHkpZihub3QpZyhiKXMoZSk2MzAgMjMwMyB5KHVzZWQpZyhhcylnKG9wdGlvbiloKGMpCiBtKGhhcmFjdGVycy4pNjcgYihFYWMpbShoKTM5IGIodGltZSlnKGl0KWcoaXMpZihpbiltKHYpbShvayltKGVkLClrCi1GcyhnZXRvcHRzKTM3IGIgRnQocGxhY2VzKWkodGhlKWcobmV4dCk2MzAgMjA2MCB5KG9wdGlvbikyOQotYihpbilmKHRoZSloKHNoZWxsKWcodiktNSBiKGFyaWFibGUpMzAgYiBGcShuYW1lKXAgRnQoLClmKGluaXRpYWxpemluZykKLWkgRnEobmFtZSlqIEZ0KGlmKTI4IGIoaXQpaChkbylzKGVzKWcobm90KWcoZXhpc3QsKWgoYW5kKWUodGhlKTYzMAotMjE3MCB5KGluZGV4KTMzIGIob2YpZyh0aGUpaChuZXh0KWYoYXJndW1lbiltKHQpaCh0bylnKGIpcyhlKWUocHJvKXMKLShjZXNzZWQpaChpbiltKHRvKWgodGhlKWcodiktNSBiKGFyaWFibGUpMzQgYiBGcyhPUFRJTkQpcAotRnQoLik0OCBiIEZzKE9QVElORCk2MzAgMjI3OSB5IEZ0KGlzKTQxIGIoaW5pdGlhbGl6ZWQpaSh0bylmKDEpZihlYWMpbQotKGgpaCh0aW1lKWcodGhlKWYoc2hlbGwpZyhvcilnKGEpZyhzaGVsbClnKHNjcmlwdClnKGlzKWcoaW4pbSh2KW0ob2spbQotKGVkLik3NCBiKFdoZW4pNDEgYihhbik2MzAgMjM4OSB5KG9wdGlvbikzNiBiKHJlcXVpcmVzKWUoYW4paChhcmd1bWVuKW0KLSh0LClpIEZzKGdldG9wdHMpYyBGdChwbGFjZXMpaih0aGF0KWcoYXJndW1lbiltKHQpZyhpbiltKHRvKWcodGhlKWYodikKLS01IGIoYXJpYWJsZSk2MzAgMjQ5OCB5IEZzKE9QVEFSRylwIEZ0KC4pNTUgYihUaGUpMzUKLWIoc2hlbGwpZyhkbylzKGVzKWgobm90KWcocmVzZXQpZyBGcyhPUFRJTkQpZSBGdChhdXRvbWF0aWNhbGx5Oyk0MQotYihpdCkzNiBiKG0pbSh1c3QpZihiKXMoZSlnKG1hbiltKHVhbGx5KTYzMCAyNjA4IHkocmVzZXQpaShiKXMoZXQpbSh3KW0KLShlZW4pZyhtKW0odWx0aXBsZSloKGNhbGxzKWYodG8pZyBGcyhnZXRvcHRzKWUgRnQod2l0aGluKWgodGhlKWgoc2FtZSlnCi0oc2hlbGwpZihpbiltKHYpbShvKXMoY2F0aW9uKWooaWYpZShhKTYzMCAyNzE4IHkobmV3KTMwCitGcyhnZXRvcHRzKTM3IGIgRnQocGxhY2VzKWkodGhlKWcobmV4dCk2MzAgMjQxMiB5KG9wdGlvbikyOQorYihpbilmKHRoZSlnKHNoZWxsKWgodiktNSBiKGFyaWFibGUpMjkgYiBGcShuYW1lKTUgYgorRnQoLCkyOSBiKGluaXRpYWxpemluZyloIEZxKG5hbWUpayBGdChpZikyOCBiKGl0KWgoZG8pcyhlcylmKG5vdClnCisoZXhpc3QsKWkoYW5kKWUodGhlKTYzMCAyNTIyIHkoaW5kZXgpMzMgYihvZilnKHRoZSloKG5leHQpZihhcmd1bWVuKW0KKyh0KWgodG8pZyhiKXMoZSllKHBybylzKGNlc3NlZCloKGluKW0odG8paCh0aGUpZyh2KS01CitiKGFyaWFibGUpMzQgYiBGcyhPUFRJTkQpcCBGdCguKTQ4IGIgRnMoT1BUSU5EKTYzMCAyNjMyCit5IEZ0KGlzKTQxIGIoaW5pdGlhbGl6ZWQpaSh0bylmKDEpZihlYWMpbShoKWgodGltZSlnKHRoZSlmKHNoZWxsKWcob3IpZworKGEpZyhzaGVsbClnKHNjcmlwdClnKGlzKWcoaW4pbSh2KW0ob2spbShlZC4pNzQgYihXaGVuKTQxCitiKGFuKTYzMCAyNzQxIHkob3B0aW9uKTM2IGIocmVxdWlyZXMpZShhbiloKGFyZ3VtZW4pbSh0LClpCitGcyhnZXRvcHRzKWMgRnQocGxhY2VzKWoodGhhdClnKGFyZ3VtZW4pbSh0KWcoaW4pbSh0bylnKHRoZSlmKHYpLTUKK2IoYXJpYWJsZSk2MzAgMjg1MSB5IEZzKE9QVEFSRylwIEZ0KC4pNTUgYihUaGUpMzUgYihzaGVsbClnKGRvKXMoZXMpaAorKG5vdClnKHJlc2V0KWcgRnMoT1BUSU5EKWUgRnQoYXV0b21hdGljYWxseTspNDEgYihpdCkzNgorYihtKW0odXN0KWYoYilzKGUpZyhtYW4pbSh1YWxseSk2MzAgMjk2MCB5KHJlc2V0KWkoYilzKGV0KW0odyltKGVlbilnCisobSltKHVsdGlwbGUpaChjYWxscylmKHRvKWcgRnMoZ2V0b3B0cyllIEZ0KHdpdGhpbiloKHRoZSloKHNhbWUpZworKHNoZWxsKWYoaW4pbSh2KW0obylzKGNhdGlvbilqKGlmKWUoYSk2MzAgMzA3MCB5KG5ldykzMAogYihzZXQpaChvZilmKHBhcmFtZXRlcnMpaChpcylmKHRvKWkoYilzKGUpZCh1c2VkLik2MzAKLTI4NTEgeShXaGVuKTQxIGIodGhlKWgoZW5kKWUob2YpaShvcHRpb25zKWcoaXMpZihlbmNvdW4pbSh0ZXJlZCwpaworMzIwMyB5KFdoZW4pNDEgYih0aGUpaChlbmQpZShvZilpKG9wdGlvbnMpZyhpcylmKGVuY291biltKHRlcmVkLClrCiBGcyhnZXRvcHRzKTM5IGIgRnQoZXhpdHMpaih3aXRoKWYoYSloKHJldHVybillKHYpLTUgYihhbHVlKTYzMAotMjk2MCB5KGdyZWF0ZXIpMzIgYih0aGFuKWUoemVyby4pNDEgYiBGcyhPUFRJTkQpMjkgYgorMzMxMyB5KGdyZWF0ZXIpMzIgYih0aGFuKWUoemVyby4pNDEgYiBGcyhPUFRJTkQpMjkgYgogRnQoaXMpaChzZXQpaCh0bylnKHRoZSlnKGluZGV4KWYob2YpZyh0aGUpaChcMDE0cnN0KWYobm9uLW9wdGlvbilnCi0oYXJndW1lbiltKHQsKTYzMCAzMDcwIHkoYW5kKWcgRnMobmFtZSlmIEZ0KGlzKWgoc2V0KWgodG8pZyhgKXAKLUZzKD8pcCBGdCgnLik2MzAgMzIwMyB5IEZzKGdldG9wdHMpYyBGdChub3JtYWxseSlqKHBhcnNlcyllKHRoZSlpKHApcworKGFyZ3VtZW4pbSh0LCk2MzAgMzQyMiB5KGFuZClnIEZzKG5hbWUpZiBGdChpcyloKHNldCloKHRvKWcoYClwCitGcyg/KXAgRnQoJy4pNjMwIDM1NTUgeSBGcyhnZXRvcHRzKWMgRnQobm9ybWFsbHkpaihwYXJzZXMpZSh0aGUpaShwKXMKIChvc2l0aW9uYWwpZyhwYXJhbWV0ZXJzLClnKGJ1dCllKGlmKWkobW9yZSlmKGFyZ3VtZW4pbSh0cyloKGFyZSk2MzAKLTMzMTMgeShnaXYpbShlbiloKGluKWYgRnEoYXJncylwIEZ0KCwpaCBGcyhnZXRvcHRzKWUKLUZ0KHBhcnNlcyloKHRob3NlKWgoaW5zdGVhZC4pNjMwIDM0NDYgeSBGcyhnZXRvcHRzKWgKKzM2NjUgeShnaXYpbShlbiloKGluKWYgRnEoYXJncyl0IEZ0KCwpaCBGcyhnZXRvcHRzKWUKK0Z0KHBhcnNlcylnKHRob3NlKWkoaW5zdGVhZC4pNjMwIDM3OTggeSBGcyhnZXRvcHRzKWgKIEZ0KGNhbiloKHJlcClzKG9ydClnKGVycm9ycylnKGluKWgodCltKHcpbShvKWgodyltKGEpbSh5cy4pNTEKIGIoSWYpMzMgYih0aGUpaChcMDE0cnN0KWUoYyltKGhhcmFjdGVyKWsob2YpZCBGcShvcHRzdHJpbmcpNDIKLWIgRnQoaXMpMzQgYihhKTYzMCAzNTU1IHkoY29sb24sKWkgRnEoc2lsZW4pbSh0KWkgRnQoZXJyb3IpMzMKK2IgRnQoaXMpMzQgYihhKTYzMCAzOTA3IHkoY29sb24sKWkgRnEoc2lsZW4pbSh0KWkgRnQoZXJyb3IpMzMKIGIocmVwKXMob3J0aW5nKWgoaXMpaCh1c2VkLik1MSBiKEluKTMzIGIobm9ybWFsKWkob3ApcyhlcmF0aW9uKWYKLShkaWFnbm9zdGljKWkobWVzc2FnZXMpNjMwIDM2NjUgeShhcmUpMzAgYihwcmluKW0odGVkKWUod2hlbilnKGluKW0odikKKyhkaWFnbm9zdGljKWkobWVzc2FnZXMpNjMwIDQwMTcgeShhcmUpMzAgYihwcmluKW0odGVkKWUod2hlbilnKGluKW0odikKIC01IGIoYWxpZCkzMCBiKG9wdGlvbnMpZyhvcilmKG1pc3NpbmcpZyhvcHRpb24pZyhhcmd1bWVuKW0odHMpaChhcmUpZgotKGVuY291biltKHRlcmVkLik2MzAgMzc3NCB5KElmKTM0IGIodGhlKWcodiktNSBiKGFyaWFibGUpMzUKKyhlbmNvdW4pbSh0ZXJlZC4pNjMwIDQxMjcgeShJZikzNCBiKHRoZSlnKHYpLTUgYihhcmlhYmxlKTM1CiBiIEZzKE9QVEVSUilkIEZ0KGlzKWkoc2V0KWgodG8pZigwLClpKG5vKWUoZXJyb3IpZyhtZXNzYWdlcyloKHdpbGwpZihiKQotcyhlKWYoZGlzcGxhKW0oeSltKGVkLClqKGV2KW0oZW4pZihpZik2MzAgMzg4NCB5KHRoZSljKFwwMTRyc3QpZShjKW0KK3MoZSlmKGRpc3BsYSltKHkpbShlZCwpaihldiltKGVuKWYoaWYpNjMwIDQyMzYgeSh0aGUpYyhcMDE0cnN0KWUoYyltCiAoaGFyYWN0ZXIpaihvZilmIEZzKG9wdHN0cmluZylkIEZ0KGlzKWkobm90KWgoYSlmKGNvbG9uLik2MzAKLTQwMTcgeShJZikzOSBiKGFuKWgoaW4pbSh2KS01IGIoYWxpZCk0MSBiKG9wdGlvbilmKGlzKWcoc2VlbiwpaQorNDM2OSB5KElmKTM5IGIoYW4paChpbiltKHYpLTUgYihhbGlkKTQxIGIob3B0aW9uKWYoaXMpZyhzZWVuLClpCiBGcyhnZXRvcHRzKWMgRnQocGxhY2VzKWooYClwIEZzKD8pcCBGdCgnKWYoaW4pbSh0byloCi1GcShuYW1lKWsgRnQoYW5kLClkKGlmKWUobm90KWcoc2lsZW4pbSh0LCk2MzAgNDEyNyB5KHByaW4pbSh0cylmKGFuKWgKK0ZxKG5hbWUpayBGdChhbmQsKWQoaWYpZShub3QpZyhzaWxlbiltKHQsKTYzMCA0NDc5IHkocHJpbiltKHRzKWYoYW4paAogKGVycm9yKWYobWVzc2FnZSloKGFuZClmKHVuc2V0cylnIEZzKE9QVEFSRylwIEZ0KC4pNjcKIGIoSWYpMzkgYiBGcyhnZXRvcHRzKWYgRnQoaXMpaShzaWxlbiltKHQsKWoodGhlKWMob3B0aW9uKTYzMAotNDIzNiB5KGMpbShoYXJhY3RlcikzMiBiKGZvdW5kKWQoaXMpaChwbGFjZWQpaChpbilmIEZzKE9QVEFSRylmCis0NTg5IHkoYyltKGhhcmFjdGVyKTMyIGIoZm91bmQpZChpcyloKHBsYWNlZCloKGluKWYgRnMoT1BUQVJHKWYKIEZ0KGFuZCloKG5vKWcoZGlhZ25vc3RpYylpKG1lc3NhZ2UpZihpcylnKHByaW4pbSh0ZWQuKTYzMAotNDM2OSB5KElmKWMoYSlnKHJlcXVpcmVkKWYoYXJndW1lbiltKHQpaShpcylmKG5vdClnKGZvdW5kLClnKGFuZClmCis0NzIyIHkoSWYpYyhhKWcocmVxdWlyZWQpZihhcmd1bWVuKW0odClpKGlzKWYobm90KWcoZm91bmQsKWcoYW5kKWYKIEZzKGdldG9wdHMpZiBGdChpcylpKG5vdCloKHNpbGVuKW0odCwpaChhKWUocXVlc3Rpb24pZyhtYXJrKTYzMAotNDQ3OSB5KFwoYClwIEZzKD8pcCBGdCgnXCkpaChpcylnKHBsYWNlZClnKGluKWYgRnEobmFtZSlwCi1GdCgsKWggRnMoT1BUQVJHKWUgRnQoaXMpaCh1bnNldCwpaChhbmQpZihhKWcoZGlhZ25vc3RpYylpKG1lc3NhZ2UpZwotKGlzKWUocHJpbiltKHRlZC4pMzkgYihJZik2MzAgNDU4OSB5IEZzKGdldG9wdHMpMjggYgotRnQoaXMpaChzaWxlbiltKHQsKWkodGhlbillKGEpaChjb2xvbiloKFwoYClwIEZzKDopcAotRnQoJ1wpKWYoaXMpZyhwbGFjZWQpZyhpbilmIEZxKG5hbWUpMzUgYiBGdChhbmQpMjkgYgotRnMoT1BUQVJHKWYgRnQoaXMpaChzZXQpaCh0byloKHRoZSk2MzAgNDY5OCB5KG9wdGlvbilnKGMpbShoYXJhY3RlciloCi0oZm91bmQuKTE1MCA0ODU1IHkgRnMoaGFzaCk4NzAgNDk4OCB5KGhhc2gpNDcgYihbLXJdKWYoWy1wKWgKLUZqKGZpbGVuYW1lKTExIGIgRnMoXSk0NSBiKFstZHRdKWgoWylwIEZqKG5hbWUpMTEgYiBGcyhdKTYzMAotNTEyMSB5IEZ0KFJlbWVtKW0oYilzKGVyKTM2IGIodGhlKWcoZnVsbClnKHBhdGhuYW1lcylnKG9mKWcoY29tbWFuZHMpZwotKHNwKXMoZWNpXDAxNGVkKWcoYXMpZyBGcShuYW1lKTQxIGIgRnQoYXJndW1lbiltKHRzLCllKHNvKTYzMAotNTIzMCB5KHRoZXkpMzQgYihuZWVkKWgobm90KWYoYilzKGUpZyhzZWFyYyltKGhlZCloKGZvcilmKG9uKWcKLShzdWJzZXF1ZW4pbSh0KWYoaW4pbSh2KW0obylzKGNhdGlvbnMuKTU1IGIoVGhlKTM0IGIoY29tbWFuZHMpZyhhcmUpNjMwCi01MzQwIHkoZm91bmQpMzkgYihiKW0oeSlpKHNlYXJjKW0oaGluZylnKHRocm91Z2gpZih0aGUpaChkaXJlY3RvcmllcylnCi0obGlzdGVkKWcoaW4pZiBGcygkUEFUSClwIEZ0KC4pNzAgYihUaGUpNDAgYihgKXAgRnMoLXApcAotRnQoJylnKG9wdGlvbilwIGVvcCBlbmQKKzQ4MzEgeShcKGApcCBGcyg/KXAgRnQoJ1wpKTM1IGIoaXMpZyhwbGFjZWQpZyhpbilnIEZxKG5hbWUpNQorYiBGdCgsKTM2IGIgRnMoT1BUQVJHKWQgRnQoaXMpaCh1bnNldCwpaShhbmQpZShhKWgoZGlhZ25vc3RpYyloCisobWVzc2FnZSlmKGlzKWcocHJpbiltKHRlZC4pNjMwIDQ5NDEgeShJZillIEZzKGdldG9wdHMpZgorRnQoaXMpaChzaWxlbiltKHQsKWoodGhlbilkKGEpaShjb2xvbilmKFwoYClwIEZzKDopcAorRnQoJ1wpKWgoaXMpZShwbGFjZWQpaChpbilnIEZxKG5hbWUpayBGdChhbmQpMzMgYiBGcyhPUFRBUkcpZgorRnQoaXMpaShzZXQpZyh0byk2MzAgNTA1MCB5KHRoZSlkKG9wdGlvbilmKGMpbShoYXJhY3RlcilpKGZvdW5kLikxNTAKKzUyMDcgeSBGcyhoYXNoKTg3MCA1MzQwIHkoaGFzaCk0NyBiKFstcl0pZihbLXApaCBGaShmaWxlbmFtZSkxMQorYiBGcyhdKTQ1IGIoWy1kdF0paChbKXAgRmkobmFtZSkxMSBiIEZzKF0pcCBlb3AgZW5kCiAlJVBhZ2U6IDM4IDQ0CiBUZVhEaWN0IGJlZ2luIDM4IDQzIGJvcCAxNTAgLTExNiBhIEZ0KDM4KTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkoaW5oaWJpdHMpMzggYih0aGUpaChwYXRoKWcoc2VhcmMpbQotKGgsKWooYW5kKWMgRnEoXDAxNGxlbmFtZSk0NCBiIEZ0KGlzKTM5IGIodXNlZClmKGFzKWkodGhlKWYobG8pcwotKGNhdGlvbiloKG9mKWYgRnEobmFtZSlwIEZ0KC4pNjYgYihUaGUpNjMwIDQwOCB5KGApcAotRnMoLXIpcCBGdCgnKTI4IGIob3B0aW9uKWcoY2F1c2VzKWcodGhlKWcoc2hlbGwpaCh0bylmKGZvcmdldCloKGFsbClnCi0ocmVtZW0pbShiKXMoZXJlZCllKGxvKXMoY2F0aW9ucy4pNDEgYihUaGUpMjggYihgKXAgRnMoLWQpcAotRnQoJylmKG9wdGlvbik2MzAgNTE4IHkoY2F1c2VzKTM4IGIodGhlKWcoc2hlbGwpZyh0bylnKGZvcmdldClnKHRoZSlnCi0ocmVtZW0pbShiKXMoZXJlZClmKGxvKXMoY2F0aW9uKWkob2YpZihlYWMpbShoKWggRnEobmFtZSlwCi1GdCguKTYyIGIoSWYpMzcgYih0aGUpaChgKXAgRnMoLXQpcCBGdCgnKTYzMCA2MjggeShvcHRpb24pMjIKLWIoaXMpZyhzdXBwbGllZCwpZyh0aGUpZyhmdWxsKWYocGF0aG5hbWUpaCh0bylnKHdoaWMpbShoKWcoZWFjKW0oaClnCi1GcShuYW1lKTI3IGIgRnQoY29ycmVzcClzKG9uZHMpMjAgYihpcylpKHByaW4pbSh0ZWQuKTYzMAotNzM3IHkoSWYpMzMgYihtKW0odWx0aXBsZSloIEZxKG5hbWUpayBGdChhcmd1bWVuKW0odHMpYyhhcmUpZihzdXBwbGllZCkKLWYod2l0aCloKGApcCBGcygtdClwIEZ0KCcpZyh0aGUpaCBGcShuYW1lKWsgRnQoaXMpYyhwcmluKW0odGVkKWUoYilzCi0oZWZvcmUpNjMwIDg0NyB5KHRoZSloKGhhc2hlZClmKGZ1bGwpZyhwYXRobmFtZS4pNDggYihUaGUpMzIKLWIoYClwIEZzKC1sKXAgRnQoJyloKG9wdGlvbilnKGNhdXNlcylnKG91dHB1dClmKHRvKWkoYilzKGUpZShkaXNwbGEpbQotKHkpbShlZCloKGluKWcoYSk2MzAgOTU2IHkoZm9ybWF0KWYodGhhdClnKG1hKW0oeSlnKGIpcyhlKWYocmV1c2VkKWcKLShhcylnKGlucHV0Lik0MyBiKElmKTMxIGIobm8paChhcmd1bWVuKW0odHMpZyhhcmUpZihnaXYpbShlbiwpaihvcilkCi0oaWYpZyhvbmx5KWgoYClwIEZzKC1sKXAgRnQoJyk2MzAgMTA2NiB5KGlzKWooc3VwcGxpZWQsKWYoaW5mb3JtYXRpb24paAotKGFiKXMob3V0KWcocmVtZW0pbShiKXMoZXJlZClmKGNvbW1hbmRzKWcoaXMpaChwcmluKW0odGVkLik1MwotYihUaGUpMzQgYihyZXR1cm4pNjMwIDExNzYgeShzdGF0dXMpZChpcylmKHplcm8paCh1bmxlc3MpZihhKWgKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeShSZW1lbSltKGIpcyhlcikzNiBiKHRoZSlnKGZ1bGwpZworKHBhdGhuYW1lcylnKG9mKWcoY29tbWFuZHMpZyhzcClzKGVjaVwwMTRlZClnKGFzKWcgRnEobmFtZSk0MQorYiBGdChhcmd1bWVuKW0odHMsKWUoc28pNjMwIDQwOCB5KHRoZXkpMzQgYihuZWVkKWgobm90KWYoYilzKGUpZyhzZWFyYykKK20oaGVkKWgoZm9yKWYob24pZyhzdWJzZXF1ZW4pbSh0KWYoaW4pbSh2KW0obylzKGNhdGlvbnMuKTU1CitiKFRoZSkzNCBiKGNvbW1hbmRzKWcoYXJlKTYzMCA1MTggeShmb3VuZCkzOSBiKGIpbSh5KWkoc2VhcmMpbShoaW5nKWcKKyh0aHJvdWdoKWYodGhlKWgoZGlyZWN0b3JpZXMpZyhsaXN0ZWQpZyhpbilmIEZzKCRQQVRIKXAKK0Z0KC4pNzAgYihUaGUpNDAgYihgKXAgRnMoLXApcCBGdCgnKWcob3B0aW9uKTYzMCA2MjgKK3koaW5oaWJpdHMpZSh0aGUpaChwYXRoKWYoc2VhcmMpbShoLClqKGFuZClkIEZxKFwwMTRsZW5hbWUpNDQKK2IgRnQoaXMpMzkgYih1c2VkKWYoYXMpZyh0aGUpaChsbylzKGNhdGlvbiloKG9mKWYgRnEobmFtZSk1CitiIEZ0KC4pNjUgYihUaGUpNjMwIDczNyB5KGApcCBGcygtcilwIEZ0KCcpMjggYihvcHRpb24pZyhjYXVzZXMpZyh0aGUpZworKHNoZWxsKWgodG8pZihmb3JnZXQpaChhbGwpZyhyZW1lbSltKGIpcyhlcmVkKWUobG8pcyhjYXRpb25zLik0MQorYihUaGUpMjggYihgKXAgRnMoLWQpcCBGdCgnKWYob3B0aW9uKTYzMCA4NDcgeShjYXVzZXMpMzgKK2IodGhlKWYoc2hlbGwpaCh0bylnKGZvcmdldClnKHRoZSlmKHJlbWVtKW0oYilzKGVyZWQpZyhsbylzKGNhdGlvbilpCisob2YpZShlYWMpbShoKWggRnEobmFtZSk1IGIgRnQoLik2MiBiKElmKTM3IGIodGhlKWcoYClwCitGcygtdClwIEZ0KCcpNjMwIDk1NiB5KG9wdGlvbikyMiBiKGlzKWcoc3VwcGxpZWQsKWcodGhlKWcoZnVsbClmCisocGF0aG5hbWUpaCh0bylnKHdoaWMpbShoKWcoZWFjKW0oaClnIEZxKG5hbWUpMjcgYiBGdChjb3JyZXNwKXMob25kcykyMAorYihpcylpKHByaW4pbSh0ZWQuKTYzMCAxMDY2IHkoSWYpMzMgYihtKW0odWx0aXBsZSloIEZxKG5hbWUpaworRnQoYXJndW1lbiltKHRzKWMoYXJlKWYoc3VwcGxpZWQpZih3aXRoKWgoYClwIEZzKC10KXAKK0Z0KCcpZyh0aGUpaCBGcShuYW1lKWsgRnQoaXMpYyhwcmluKW0odGVkKWUoYilzKGVmb3JlKTYzMAorMTE3NiB5KHRoZSloKGhhc2hlZClmKGZ1bGwpZyhwYXRobmFtZS4pNDggYihUaGUpMzIgYihgKXAKK0ZzKC1sKXAgRnQoJyloKG9wdGlvbilnKGNhdXNlcylnKG91dHB1dClmKHRvKWkoYilzKGUpZShkaXNwbGEpbSh5KW0oZWQpCitoKGluKWcoYSk2MzAgMTI4NSB5KGZvcm1hdClmKHRoYXQpZyhtYSltKHkpZyhiKXMoZSlmKHJldXNlZClnKGFzKWcKKyhpbnB1dC4pNDMgYihJZikzMSBiKG5vKWgoYXJndW1lbiltKHRzKWcoYXJlKWYoZ2l2KW0oZW4sKWoob3IpZChpZilnCisob25seSloKGApcCBGcygtbClwIEZ0KCcpNjMwIDEzOTUgeShpcylqKHN1cHBsaWVkLClmKGluZm9ybWF0aW9uKWgoYWIpcworKG91dClnKHJlbWVtKW0oYilzKGVyZWQpZihjb21tYW5kcylnKGlzKWgocHJpbiltKHRlZC4pNTMKK2IoVGhlKTM0IGIocmV0dXJuKTYzMCAxNTA0IHkoc3RhdHVzKWQoaXMpZih6ZXJvKWgodW5sZXNzKWYoYSloCiBGcShuYW1lKWsgRnQoaXMpYyhub3QpZihmb3VuZClmKG9yKWkoYW4pZihpbiltKHYpLTUgYihhbGlkKTMxCi1iKG9wdGlvbilnKGlzKWYoc3VwcGxpZWQuKTE1MCAxMzQwIHkgRnMocHdkKTg3MCAxNDc3Ci15KHB3ZCk0NyBiKFstTFBdKTYzMCAxNjE0IHkgRnQoUHJpbiltKHQpMjQgYih0aGUpaChhYnNvbHV0ZSlnKHBhdGhuYW1lKQorYihvcHRpb24pZyhpcylmKHN1cHBsaWVkLikxNTAgMTY3MiB5IEZzKHB3ZCk4NzAgMTgxMQoreShwd2QpNDcgYihbLUxQXSk2MzAgMTk1MCB5IEZ0KFByaW4pbSh0KTI0IGIodGhlKWgoYWJzb2x1dGUpZyhwYXRobmFtZSkKIGcob2YpZih0aGUpaChjdXJyZW4pbSh0KWYodyltKG9ya2luZyloKGRpcmVjdG9yeSktOCBiKC4pNDAKLWIoSWYpMjMgYih0aGUpaShgKXAgRnMoLVApcCBGdCgnKWYob3B0aW9uKTYzMCAxNzI0IHkoaXMpMzYKK2IoSWYpMjMgYih0aGUpaShgKXAgRnMoLVApcCBGdCgnKWYob3B0aW9uKTYzMCAyMDYwIHkoaXMpMzYKIGIoc3VwcGxpZWQsKWYodGhlKWgocGF0aG5hbWUpZihwcmluKW0odGVkKWcod2lsbCloKG5vdClnKGNvbiltKHRhaW4paAogKHN5bSltKGIpcyhvbGljKWYobGlua3MuKTU1IGIoSWYpMzUgYih0aGUpaChgKXAgRnMoLUwpcAotRnQoJyk2MzAgMTgzMyB5KG9wdGlvbik0NCBiKGlzKWcoc3VwcGxpZWQsKWkodGhlKWUocGF0aG5hbWUpZihwcmluKW0KK0Z0KCcpNjMwIDIxNjkgeShvcHRpb24pNDQgYihpcylnKHN1cHBsaWVkLClpKHRoZSllKHBhdGhuYW1lKWYocHJpbiltCiAodGVkKWgobWEpbSh5KWcoY29uKW0odGFpbiloKHN5bSltKGIpcyhvbGljKWYobGlua3MuKTgwCi1iKFRoZSk2MzAgMTk0MyB5KHJldHVybikyNiBiKHN0YXR1cyloKGlzKWgoemVybylnKHVubGVzcyllKGFuKWgoZXJyb3IpZworYihUaGUpNjMwIDIyNzkgeShyZXR1cm4pMjYgYihzdGF0dXMpaChpcyloKHplcm8pZyh1bmxlc3MpZShhbiloKGVycm9yKWcKIChpcylnKGVuY291biltKHRlcmVkKWcod2hpbGUpaChkZXRlcm1pbmluZylmKHRoZSlnKG5hbWUpNjMwCi0yMDUyIHkob2Ypayh0aGUpZihjdXJyZW4pbSh0KWcoZGlyZWN0b3J5KWgob3IpZihhbiloKGluKW0odiktNQotYihhbGlkKTMxIGIob3B0aW9uKWcoaXMpZihzdXBwbGllZC4pMTUwIDIyMTcgeSBGcyhyZWFkb25seSk4NzAKLTIzNTQgeShyZWFkb25seSk0NiBiKFstYUFwZl0pZihbKXAgRmoobmFtZSkxMSBiIEZzKFs9KXAKLUZqKHZhbHVlKWcgRnMoXV0pNDMgYiguLi4pNjMwIDI0OTEgeSBGdChNYXJrKTI0IGIoZWFjKW0oaCloCisyMzg4IHkob2Ypayh0aGUpZihjdXJyZW4pbSh0KWcoZGlyZWN0b3J5KWgob3IpZihhbiloKGluKW0odiktNQorYihhbGlkKTMxIGIob3B0aW9uKWcoaXMpZihzdXBwbGllZC4pMTUwIDI1NTYgeSBGcyhyZWFkb25seSk4NzAKKzI2OTUgeShyZWFkb25seSk0NiBiKFstYUFwZl0pZihbKXAgRmkobmFtZSkxMSBiIEZzKFs9KXAKK0ZpKHZhbHVlKWcgRnMoXV0pNDMgYiguLi4pNjMwIDI4MzQgeSBGdChNYXJrKTI0IGIoZWFjKW0oaCloCiBGcShuYW1lKWsgRnQoYXMpMjQgYihyZWFkb25seSktOCBiKC4pMzkgYihUaGUpMjQgYih2KS01CiBiKGFsdWVzKTI0IGIob2YpZyh0aGVzZSlnKG5hbWVzKWcobWEpbSh5KWcobm90KWcoYilzKGUpZyhjKW0oaGFuZ2VkKWcKLShiKW0oeSk2MzAgMjYwMCB5KHN1YnNlcXVlbiltKHQpZShhc3NpZ25tZW4pbSh0LikzOSBiKElmKTIyCisoYiltKHkpNjMwIDI5NDQgeShzdWJzZXF1ZW4pbSh0KWUoYXNzaWdubWVuKW0odC4pMzkgYihJZikyMgogYih0aGUpaChgKXAgRnMoLWYpcCBGdCgnKWYob3B0aW9uKWkoaXMpZShzdXBwbGllZCwpaChlYWMpbShoKWgKLUZxKG5hbWUpayBGdChyZWZlcnMpMjIgYih0bylpKGEpZihzaGVsbCk2MzAgMjcxMCB5KGZ1bmN0aW9uLikzOQorRnEobmFtZSlrIEZ0KHJlZmVycykyMiBiKHRvKWkoYSlmKHNoZWxsKTYzMCAzMDUzIHkoZnVuY3Rpb24uKTM5CiBiKFRoZSkyNiBiKGApcCBGcygtYSlwIEZ0KCcpaChvcHRpb24pZyhtZWFucylnKGVhYyltKGgpaAogRnEobmFtZSlrIEZ0KHJlZmVycykyNiBiKHRvKWkoYW4pZShpbmRleGVkKWgoYXJyYSltKHkpZyh2KS01Ci1iKGFyaWFibGU7KTYzMCAyODE5IHkodGhlKTMzIGIoYClwIEZzKC1BKXAgRnQoJylnKG9wdGlvbilnKG1lYW5zKWcoZWFjKQorYihhcmlhYmxlOyk2MzAgMzE2MyB5KHRoZSkzMyBiKGApcCBGcygtQSlwIEZ0KCcpZyhvcHRpb24pZyhtZWFucylnKGVhYykKIG0oaCloIEZxKG5hbWUpayBGdChyZWZlcnMpMzIgYih0byloKGFuKWcoYXNzbylzKGNpYXRpdiltKGUpaihhcnJhKW0oeSlkCi0odiktNSBiKGFyaWFibGUuKTQ5IGIoSWYpMzIgYihubyk2MzAgMjkyOSB5IEZxKG5hbWUpZgorKHYpLTUgYihhcmlhYmxlLik0OSBiKElmKTMyIGIobm8pNjMwIDMyNzIgeSBGcShuYW1lKWYKIEZ0KGFyZ3VtZW4pbSh0cykyNiBiKGFyZSlnKGdpdiltKGVuLClpKG9yKWQoaWYpaCh0aGUpZyhgKXAKIEZzKC1wKXAgRnQoJylmKG9wdGlvbiloKGlzKWcoc3VwcGxpZWQsKWYoYSloKGxpc3QpaChvZillKGFsbClpCi0ocmVhZG9ubHkpNjMwIDMwMzkgeShuYW1lcykzNyBiKGlzKWcocHJpbiltKHRlZC4pNTkgYihUaGUpMzcKKyhyZWFkb25seSk2MzAgMzM4MiB5KG5hbWVzKTM3IGIoaXMpZyhwcmluKW0odGVkLik1OSBiKFRoZSkzNwogYihgKXAgRnMoLXApcCBGdCgnKWYob3B0aW9uKWkoY2F1c2VzKWYob3V0cHV0KWcodG8pZyhiKXMoZSlmKGRpc3BsYSltCi0oeSltKGVkKWkoaW4pZShhKWkoZm9ybWF0KTYzMCAzMTQ4IHkodGhhdCkyNSBiKG1hKW0oeSlnKGIpcyhlKWYocmV1c2VkKQotZyhhcyloKGlucHV0LikzOCBiKElmKTI0IGIoYSloKHYpLTUgYihhcmlhYmxlKTI1IGIobmFtZSlnKGlzKWcoZm9sbG8pbQotKHcpbShlZCloKGIpbSh5KWUoPSlwIEZxKHYpLTUgYihhbHVlKXAgRnQoLCkyNyBiKHRoZSlkKHYpLTUKLWIoYWx1ZSk2MzAgMzI1OCB5KG9mKTI3IGIodGhlKWcodiktNSBiKGFyaWFibGUpMjcgYihpcylnKHNldClnKHRvKWcKLUZxKHYpLTUgYihhbHVlKXAgRnQoLik0MCBiKFRoZSkyNiBiKHJldHVybilnKHN0YXR1cyloKGlzKWYoemVybylpCi0odW5sZXNzKWUoYW4pZyhpbiltKHYpLTUgYihhbGlkKTI3IGIob3B0aW9uKTYzMCAzMzY3Ci15KGlzKWooc3VwcGxpZWQsKWYob25lKWgob2YpZyh0aGUpZyBGcShuYW1lKTM1IGIgRnQoYXJndW1lbiltKHRzKTMwCisoeSltKGVkKWkoaW4pZShhKWkoZm9ybWF0KTYzMCAzNDkyIHkodGhhdCkyNSBiKG1hKW0oeSlnKGIpcyhlKWUocmV1c2VkKQoraChhcylnKGlucHV0LikzOCBiKElmKTI0IGIoYSlnKHYpLTUgYihhcmlhYmxlKTI1IGIobmFtZSlnKGlzKWYoZm9sbG8pbQorKHcpbShlZClpKGIpbSh5KWUoPSlwIEZxKHYpLTUgYihhbHVlKTUgYiBGdCgsKTI2IGIodGhlKWUodiktNQorYihhbHVlKTYzMCAzNjAxIHkob2YpMjYgYih0aGUpaCh2KS01IGIoYXJpYWJsZSkyNyBiKGlzKWYoc2V0KWgodG8pZworRnEodiktNSBiKGFsdWUpNSBiIEZ0KC4pNDAgYihUaGUpMjYgYihyZXR1cm4pZihzdGF0dXMpaShpcylmKHplcm8paAorKHVubGVzcyllKGFuKWkoaW4pbSh2KS01IGIoYWxpZCkyNiBiKG9wdGlvbik2MzAgMzcxMQoreShpcylrKHN1cHBsaWVkLClmKG9uZSloKG9mKWcodGhlKWcgRnEobmFtZSkzNSBiIEZ0KGFyZ3VtZW4pbSh0cykzMAogYihpcylnKG5vdClnKGEpZyh2KS01IGIoYWxpZCkzMSBiKHNoZWxsKWYodiktNSBiKGFyaWFibGUpMzAKLWIob3IpZyhmdW5jdGlvbik2MzAgMzQ3NyB5KG5hbWUsKWgob3IpZih0aGUpaChgKXAgRnMoLWYpcAorYihvcilnKGZ1bmN0aW9uKTYzMCAzODIwIHkobmFtZSwpaChvcilmKHRoZSloKGApcCBGcygtZilwCiBGdCgnKWYob3B0aW9uKWgoaXMpZihzdXBwbGllZClmKHdpdGgpaChhKWgobmFtZSlmKHRoYXQpaChpcylnKG5vdClmKGEpaAotKHNoZWxsKWcoZnVuY3Rpb24uKTE1MCAzNjQxIHkgRnMocmV0dXJuKTg3MCAzNzc4IHkocmV0dXJuKTQ2Ci1iKFspcCBGaihuKTExIGIgRnMoXSk2MzAgMzkxNSB5IEZ0KENhdXNlKTMwIGIoYSlnKHNoZWxsKWcoZnVuY3Rpb24pZworKHNoZWxsKWcoZnVuY3Rpb24uKTE1MCAzOTg4IHkgRnMocmV0dXJuKTg3MCA0MTI3IHkocmV0dXJuKTQ2CitiKFspcCBGaShuKTExIGIgRnMoXSk2MzAgNDI2NiB5IEZ0KENhdXNlKTMwIGIoYSlnKHNoZWxsKWcoZnVuY3Rpb24pZwogKHRvKWgoZXhpdClmKHdpdGgpZyh0aGUpZyhyZXR1cm4pZih2KS01IGIoYWx1ZSkzMSBiIEZxKG4pcAogRnQoLik0MCBiKElmKTI5IGIgRnEobiloIEZ0KGlzKWcobm90KWcoc3VwcGxpZWQsKWYodGhlKTYzMAotNDAyNSB5KHJldHVybikzNSBiKHYpLTUgYihhbHVlKTM3IGIoaXMpZih0aGUpZyhleGl0KWgoc3RhdHVzKWYob2YpaAorNDM3NiB5KHJldHVybikzNSBiKHYpLTUgYihhbHVlKTM3IGIoaXMpZih0aGUpZyhleGl0KWgoc3RhdHVzKWYob2YpaAogKHRoZSlmKGxhc3QpaChjb21tYW5kKWYoZXhlY3V0ZWQpaChpbilmKHRoZSlnKGZ1bmN0aW9uLik2MzAKLTQxMzQgeShUaGlzKTIxIGIobWEpbSh5KWkoYWxzbylnKGIpcyhlKWUodXNlZClnKHRvKWkodGVybWluYXRlKWcKKzQ0ODUgeShUaGlzKTIxIGIobWEpbSh5KWkoYWxzbylnKGIpcyhlKWUodXNlZClnKHRvKWkodGVybWluYXRlKWcKIChleGVjdXRpb24pZyhvZilmKGEpaChzY3JpcHQpZihiKXMoZWluZylmKGV4ZWN1dGVkKWkod2l0aClmKHRoZSk2MzAKLTQyNDQgeSBGcyguKTI3IGIgRnQoXChvcilnIEZzKHNvdXJjZSlwIEZ0KFwpKWYoYnVpbHRpbiwpaShyZXR1cm5pbmcpZQorNDU5NSB5IEZzKC4pMjcgYiBGdChcKG9yKWcgRnMoc291cmNlKXAgRnQoXCkpZihidWlsdGluLClpKHJldHVybmluZyllCiAoZWl0aGVyKWggRnEobilnIEZ0KG9yKWcodGhlKWcoZXhpdCloKHN0YXR1cylnKG9mKWYodGhlKWcobGFzdCloCi0oY29tbWFuZCk2MzAgNDM1NCB5KGV4ZWN1dGVkKTQ2IGIod2l0aGluKWYodGhlKWcoc2NyaXB0KWcoYXMpaCh0aGUpZgorKGNvbW1hbmQpNjMwIDQ3MDQgeShleGVjdXRlZCk0NiBiKHdpdGhpbilmKHRoZSlnKHNjcmlwdClnKGFzKWgodGhlKWYKIChleGl0KWgoc3RhdHVzKWcob2YpZih0aGUpaChzY3JpcHQuKTg1IGIoQW4pbSh5KTQ1IGIoY29tbWFuZCk2MzAKLTQ0NjMgeShhc3NvKXMoY2lhdGVkKTMwIGIod2l0aCllKHRoZSlnIEZzKFJFVFVSTilmIEZ0KHRyYXApaChpcylnCis0ODE0IHkoYXNzbylzKGNpYXRlZCkzMCBiKHdpdGgpZSh0aGUpZyBGcyhSRVRVUk4pZiBGdCh0cmFwKWgoaXMpZwogKGV4ZWN1dGVkKWgoYilzKGVmb3JlKWYoZXhlY3V0aW9uKWgocmVzdW1lcylmKGFmdGVyKWgodGhlKTYzMAotNDU3MyB5KGZ1bmN0aW9uKTM4IGIob3IpZihzY3JpcHQuKTYzIGIoVGhlKTM4IGIocmV0dXJuKWUoc3RhdHVzKWkoaXMpZworNDkyNCB5KGZ1bmN0aW9uKTM4IGIob3IpZihzY3JpcHQuKTYzIGIoVGhlKTM4IGIocmV0dXJuKWUoc3RhdHVzKWkoaXMpZwogKG5vbi16ZXJvKWgoaWYpZSBGcyhyZXR1cm4pZyBGdChpcylnKHVzZWQpZyhvdXRzaWRlKWkoYSk2MzAKLTQ2ODIgeShmdW5jdGlvbikzMCBiKGFuZClnKG5vdClnKGR1cmluZylnKHRoZSlnKGV4ZWN1dGlvbilpKG9mKWUoYSloCis1MDMzIHkoZnVuY3Rpb24pMzAgYihhbmQpZyhub3QpZyhkdXJpbmcpZyh0aGUpZyhleGVjdXRpb24paShvZillKGEpaAogKHNjcmlwdClmKGIpbSh5KWggRnMoLilmIEZ0KG9yKWcgRnMoc291cmNlKXAgRnQoLikxNTAKLTQ4NDcgeSBGcyhzaGlmdCk4NzAgNDk4NCB5KHNoaWZ0KTQ2IGIoWylwIEZqKG4pMTEgYiBGcyhdKTYzMAotNTEyMSB5IEZ0KFNoaWZ0KTQxIGIodGhlKWcocClzKG9zaXRpb25hbCloKHBhcmFtZXRlcnMpZyh0bylnKHRoZSlmCi0obGVmdCloKGIpbSh5KWcgRnEobilwIEZ0KC4pNzMgYihUaGUpNDAgYihwKXMob3NpdGlvbmFsKWoocGFyYW1ldGVycykKLTYzMCA1MjMwIHkoZnJvbSkzNCBiIEZxKG4pcCBGcygrKXAgRnQoMSkzOSBiKC4pMjIgYiguKWgoLik0NQotYiBGcygkIykzNCBiIEZ0KGFyZSlnKHJlbmFtZWQpZyh0byloIEZzKCQxKWsgRnQoLikyMgotYiguKWcoLik0NiBiIEZzKCQjKXAgRnQoLSlwIEZxKG4pcCBGdCguKTUxIGIoUCltKGFyYW1ldGVycykzNgotYihyZXByZXNlbiltKHRlZCllKGIpbSh5KWcodGhlKTYzMCA1MzQwIHkobiltKHVtKW0oYilzKGVycykyNQotYiBGcygkIylpIEZ0KHRvKWcgRnMoJCMpcCBGdCgtKXAgRnEobilwIEZzKCspcCBGdCgxKWcoYXJlKWcodW5zZXQuKTM5Ci1iIEZxKG4pMjYgYiBGdChtKW0odXN0KWgoYilzKGUpZihhKWkobm9uLW5lZ2F0aXYpbShlKWgobiltKHVtKW0oYilzKGVyKQotYyhsZXNzKWkodGhhbilnKG9yKXAgZW9wIGVuZAorNTIwMSB5IEZzKHNoaWZ0KTg3MCA1MzQwIHkoc2hpZnQpNDYgYihbKXAgRmkobikxMSBiIEZzKF0pcAorZW9wIGVuZAogJSVQYWdlOiAzOSA0NQogVGVYRGljdCBiZWdpbiAzOSA0NCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNDopNDEKLWIoU2hlbGwpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjA2OSBiKDM5KTYzMCAyOTkgeShlcXVhbCkzMwotYih0byloIEZzKCQjKXAgRnQoLik0NyBiKElmKTMzIGIgRnEobilmIEZ0KGlzKWgoemVybylnKG9yKWcoZ3JlYXRlciloCi0odGhhbilmIEZzKCQjKXAgRnQoLClnKHRoZSlnKHApcyhvc2l0aW9uYWwpZyhwYXJhbWV0ZXJzKWcoYXJlKWgobm90KTYzMAotNDA4IHkoYyltKGhhbmdlZC4pNDggYihJZikzMiBiIEZxKG4pZyBGdChpcyloKG5vdClmKHN1cHBsaWVkLCloKGl0KWcKK2IoU2hlbGwpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjA2OSBiKDM5KTYzMCAyOTkgeShTaGlmdCk0MQorYih0aGUpZyhwKXMob3NpdGlvbmFsKWgocGFyYW1ldGVycylnKHRvKWcodGhlKWYobGVmdCloKGIpbSh5KWcKK0ZxKG4pcCBGdCguKTczIGIoVGhlKTQwIGIocClzKG9zaXRpb25hbClqKHBhcmFtZXRlcnMpNjMwCis0MDggeShmcm9tKTM0IGIgRnEobilwIEZzKCspcCBGdCgxKTM5IGIoLikyMiBiKC4paCguKTQ1CitiIEZzKCQjKTM0IGIgRnQoYXJlKWcocmVuYW1lZClnKHRvKWggRnMoJDEpayBGdCguKTIyCitiKC4pZyguKTQ2IGIgRnMoJCMpcCBGdCgtKXAgRnEobilwIEZ0KC4pNTEgYihQKW0oYXJhbWV0ZXJzKTM2CitiKHJlcHJlc2VuKW0odGVkKWUoYiltKHkpZyh0aGUpNjMwIDUxOCB5KG4pbSh1bSltKGIpcyhlcnMpMjUKK2IgRnMoJCMpaSBGdCh0bylnIEZzKCQjKXAgRnQoLSlwIEZxKG4pcCBGcygrKXAgRnQoMSlnKGFyZSlnKHVuc2V0LikzOQorYiBGcShuKTI2IGIgRnQobSltKHVzdCloKGIpcyhlKWYoYSlpKG5vbi1uZWdhdGl2KW0oZSloKG4pbSh1bSltKGIpcyhlcikKK2MobGVzcylpKHRoYW4pZyhvcik2MzAgNjI4IHkoZXF1YWwpMzMgYih0byloIEZzKCQjKXAKK0Z0KC4pNDcgYihJZikzMyBiIEZxKG4pZiBGdChpcyloKHplcm8pZyhvcilnKGdyZWF0ZXIpaCh0aGFuKWYKK0ZzKCQjKXAgRnQoLClnKHRoZSlnKHApcyhvc2l0aW9uYWwpZyhwYXJhbWV0ZXJzKWcoYXJlKWgobm90KTYzMAorNzM3IHkoYyltKGhhbmdlZC4pNDggYihJZikzMiBiIEZxKG4pZyBGdChpcyloKG5vdClmKHN1cHBsaWVkLCloKGl0KWcKIChpcylmKGFzc3VtZWQpZyh0byloKGIpcyhlKWYoMS4pNDggYihUaGUpMzIgYihyZXR1cm4pZyhzdGF0dXMpaChpcylmCi0oemVybyk2MzAgNTE4IHkodW5sZXNzKWUgRnEobilmIEZ0KGlzKWkoZ3JlYXRlcilnKHRoYW4pZworKHplcm8pNjMwIDg0NyB5KHVubGVzcyllIEZxKG4pZiBGdChpcylpKGdyZWF0ZXIpZyh0aGFuKWcKIEZzKCQjKWUgRnQob3IpaShsZXNzKWYodGhhbiloKHplcm8sKWcobm9uLXplcm8pZyhvdGhlcndpc2UuKTE1MAotNjc3IHkgRnModGVzdCkxNTAgNzg3IHkoWyk0MzIgYiBGdChFdiktNSBiKGFsdWF0ZSkzMgotYihhKWYoY29uZGl0aW9uYWwpaChleHByZXNzaW9uKWUgRnEoZXhwcilwIEZ0KC4pNDEgYihFYWMpbShoKTMxCi1iKG9wKXMoZXJhdG9yKWcoYW5kKWYob3ApcyhlcmFuZClnKG0pbSh1c3QpaChiKXMoZSlmKGEpNjMwCi04OTcgeShzZXBhcmF0ZSlkKGFyZ3VtZW4pbSh0Lik0MCBiKEV4cHJlc3Npb25zKTI1IGIoYXJlKWkoY29tcClzKG9zZWQpZQotKG9mKWkodGhlKWYocHJpbWFyaWVzKWcoZGVzY3JpYilzKGVkKWYoYilzKGVsbyltKHcpNjMwCi0xMDA2IHkoaW4pMzQgYihTZWN0aW9uKWcoNi40KWgoW0Jhc2gpZyhDb25kaXRpb25hbClmKEV4cHJlc3Npb25zXSwpaAotKHBhZ2UpZyg3Ny4pNTIgYiBGcyh0ZXN0KTMzIGIgRnQoZG8pcyhlcylnKG5vdCloKGFjY2VwdCk2MzAKLTExMTYgeShhbiltKHkpMjcgYihvcHRpb25zLClpKG5vcilkKGRvKXMoZXMpaChpdClnKGFjY2VwdClpKGFuZClkCisxMDA2IHkgRnModGVzdCkxNTAgMTExNiB5KFspNDMyIGIgRnQoRXYpLTUgYihhbHVhdGUpMzEKK2IoYSlnKGNvbmRpdGlvbmFsKWcoZXhwcmVzc2lvbilmIEZxKGV4cHIpNyBiIEZ0KC4pNDAKK2IoRWFjKW0oaCkzMCBiKG9wKXMoZXJhdG9yKWgoYW5kKWUob3ApcyhlcmFuZClnKG0pbSh1c3QpaChiKXMoZSlnKGEpNjMwCisxMjI1IHkoc2VwYXJhdGUpZChhcmd1bWVuKW0odC4pNDAgYihFeHByZXNzaW9ucykyNSBiKGFyZSlpKGNvbXApcyhvc2VkKQorZShvZilpKHRoZSlmKHByaW1hcmllcylnKGRlc2NyaWIpcyhlZClmKGIpcyhlbG8pbSh3KTYzMAorMTMzNSB5KGluKTM0IGIoU2VjdGlvbilnKDYuNCloKFtCYXNoKWcoQ29uZGl0aW9uYWwpZihFeHByZXNzaW9uc10sKWgKKyhwYWdlKWcoNzYuKTUyIGIgRnModGVzdCkzMyBiIEZ0KGRvKXMoZXMpZyhub3QpaChhY2NlcHQpNjMwCisxNDQ1IHkoYW4pbSh5KTI3IGIob3B0aW9ucywpaShub3IpZChkbylzKGVzKWgoaXQpZyhhY2NlcHQpaShhbmQpZAogKGlnbm9yZSlpKGFuKWYoYXJndW1lbiltKHQpZyhvZilnKGApcCBGcygtLSlwIEZ0KCcpZyhhcyloKHNpZ25pZnlpbmcpZgotKHRoZSk2MzAgMTIyNSB5KGVuZClqKG9mKWcob3B0aW9ucy4pNjMwIDEzNjAgeShXaGVuKWcodGhlKWgKKyh0aGUpNjMwIDE1NTQgeShlbmQpaihvZilnKG9wdGlvbnMuKTYzMCAxNjg5IHkoV2hlbilnKHRoZSloCiBGcyhbKWYgRnQoZm9ybSlnKGlzKWcodXNlZCwpZyh0aGUpZyhsYXN0KWkoYXJndW1lbiltKHQpZSh0bylpKHRoZSllCi0oY29tbWFuZClnKG0pbSh1c3QpaChiKXMoZSllKGEpaSBGcyhdKXAgRnQoLik2MzAgMTQ5NAorKGNvbW1hbmQpZyhtKW0odXN0KWgoYilzKGUpZShhKWkgRnMoXSlwIEZ0KC4pNjMwIDE4MjMKIHkoRXhwcmVzc2lvbnMpMjMgYihtYSltKHkpaChiKXMoZSllKGNvbSltKGJpbmVkKWkodXNpbmcpZih0aGUpaChmb2xsbyltCiAod2luZyloKG9wKXMoZXJhdG9ycywpZyhsaXN0ZWQpZihpbilmKGRlY3JlYXNpbmcpNjMwCi0xNjA0IHkob3JkZXIpMzAgYihvZiloKHByZWNlZGVuY2UuKTQzIGIoVGhlKTMwIGIoZXYpLTUKKzE5MzMgeShvcmRlcikzMCBiKG9mKWgocHJlY2VkZW5jZS4pNDMgYihUaGUpMzAgYihldiktNQogYihhbHVhdGlvbikzMyBiKGRlcClzKGVuZHMpMjggYihvbilqKHRoZSlnKG4pbSh1bSltKGIpcyhlcilmKG9mKWgKLShhcmd1bWVuKW0odHM7KWcoc2VlKTYzMCAxNzE0IHkoYilzKGVsbyltKHcuKTYzMCAxODczCi15IEZzKCEpZiBGaihleHByKTIxMCBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnIEZxKGV4cHIpMzcKLWIgRnQoaXMpMzAgYihmYWxzZS4pNjMwIDIwMzIgeSBGcyhcKClnIEZqKGV4cHIpNDAgYiBGcyhcKSkxMjIKLWIgRnQoUmV0dXJucykyMyBiKHRoZSlpKHYpLTUgYihhbHVlKTI1IGIob2YpZiBGcShleHByKXAKLUZ0KC4pMzggYihUaGlzKTI0IGIobWEpbSh5KWgoYilzKGUpZSh1c2VkKWgodG8paChvKW0odiltKGVycmlkZSlnKHRoZSlnCi0obm9ybWFsKTExMTAgMjE0MiB5KHByZWNlZGVuY2UpMzEgYihvZilmKG9wKXMoZXJhdG9ycy4pNjMwCi0yMzAxIHkgRmooZXhwcjEpMzkgYiBGcygtYSkzMCBiIEZqKGV4cHIyKTExMTAgMjQxMSB5CisoYXJndW1lbiltKHRzOylnKHNlZSk2MzAgMjA0MiB5KGIpcyhlbG8pbSh3Lik2MzAgMjIwMgoreSBGcyghKWYgRmkoZXhwcikyMTAgYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZyBGcShleHByKTM3CitiIEZ0KGlzKTMwIGIoZmFsc2UuKTYzMCAyMzYxIHkgRnMoXCgpZyBGaShleHByKTQwIGIgRnMoXCkpMTIyCitiIEZ0KFJldHVybnMpMjMgYih0aGUpaCh2KS01IGIoYWx1ZSkyNCBiKG9mKWcgRnEoZXhwcik3CitiIEZ0KC4pMzcgYihUaGlzKTIzIGIobWEpbSh5KWkoYilzKGUpZSh1c2VkKWcodG8paChvKW0odiltKGVycmlkZSloCisodGhlKWYobm9ybWFsKTExMTAgMjQ3MSB5KHByZWNlZGVuY2UpMzEgYihvZilmKG9wKXMoZXJhdG9ycy4pNjMwCisyNjMwIHkgRmkoZXhwcjEpMzkgYiBGcygtYSkzMCBiIEZpKGV4cHIyKTExMTAgMjc0MCB5CiBGdChUKS04IGIocnVlKTMwIGIoaWYpZyhiKXMob3RoKWcgRnEoZXhwcjEpMzcgYiBGdChhbmQpMzAKLWIgRnEoZXhwcjIpMzggYiBGdChhcmUpMzAgYih0cnVlLik2MzAgMjU3MCB5IEZqKGV4cHIxKTM5Ci1iIEZzKC1vKTMwIGIgRmooZXhwcjIpMTExMCAyNjgwIHkgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcoZWl0aGVyKWgKK2IgRnEoZXhwcjIpMzggYiBGdChhcmUpMzAgYih0cnVlLik2MzAgMjg5OSB5IEZpKGV4cHIxKTM5CitiIEZzKC1vKTMwIGIgRmkoZXhwcjIpMTExMCAzMDA5IHkgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcoZWl0aGVyKWgKIEZxKGV4cHIxKTM4IGIgRnQob3IpMzAgYiBGcShleHByMikzNyBiIEZ0KGlzKTMxIGIodHJ1ZS4pNjMwCi0yODM5IHkoVGhlKTM3IGIgRnModGVzdClmIEZ0KGFuZClnIEZzKFspaCBGdChidWlsdGlucylnKGV2KS01CiszMTY4IHkoVGhlKTM3IGIgRnModGVzdClmIEZ0KGFuZClnIEZzKFspaCBGdChidWlsdGlucylnKGV2KS01CiBiKGFsdWF0ZSkzOSBiKGNvbmRpdGlvbmFsKWYoZXhwcmVzc2lvbnMpZih1c2luZylnKGEpZyhzZXQpaChvZilmKHJ1bGVzKQotNjMwIDI5NDkgeShiYXNlZCkzMCBiKG9uKWcodGhlKWgobiltKHVtKW0oYilzKGVyKWUob2YpaChhcmd1bWVuKW0odHMuKQotNjMwIDMxMDggeSgwKWgoYXJndW1lbiltKHRzKTExMTAgMzIxOCB5KFRoZSlmKGV4cHJlc3Npb24pZyhpcylnKGZhbHNlLikKLTYzMCAzMzc3IHkoMSloKGFyZ3VtZW4pbSh0KTExMTAgMzQ4NyB5KFRoZSlmKGV4cHJlc3Npb24pZyhpcylnKHRydWUpaAorNjMwIDMyNzggeShiYXNlZCkzMCBiKG9uKWcodGhlKWgobiltKHVtKW0oYilzKGVyKWUob2YpaChhcmd1bWVuKW0odHMuKQorNjMwIDM0MzcgeSgwKWgoYXJndW1lbiltKHRzKTExMTAgMzU0NyB5KFRoZSlmKGV4cHJlc3Npb24pZyhpcylnKGZhbHNlLikKKzYzMCAzNzA2IHkoMSloKGFyZ3VtZW4pbSh0KTExMTAgMzgxNiB5KFRoZSlmKGV4cHJlc3Npb24pZyhpcylnKHRydWUpaAogKGlmKWYoYW5kKWcob25seSlnKGlmKWgodGhlKWYoYXJndW1lbiltKHQpaChpcylmKG5vdCloKG4pbSh1bGwuKTYzMAotMzY0NiB5KDIpZyhhcmd1bWVuKW0odHMpMTExMCAzNzU2IHkoSWYpZih0aGUpaChcMDE0cnN0KWYoYXJndW1lbiltKHQpaAorMzk3NSB5KDIpZyhhcmd1bWVuKW0odHMpMTExMCA0MDg1IHkoSWYpZih0aGUpaChcMDE0cnN0KWYoYXJndW1lbiltKHQpaAogKGlzKWcoYClwIEZzKCEpcCBGdCgnLClnKHRoZSlnKGV4cHJlc3Npb24pZyhpcylnKHRydWUpZihpZiloKGFuZClmCi0ob25seSloKGlmKWcodGhlKTExMTAgMzg2NiB5KHNlY29uZClqKGFyZ3VtZW4pbSh0KWYoaXMpaChuKW0odWxsLik1MAorKG9ubHkpaChpZilnKHRoZSkxMTEwIDQxOTQgeShzZWNvbmQpaihhcmd1bWVuKW0odClmKGlzKWgobiltKHVsbC4pNTAKIGIoSWYpMzMgYih0aGUpaChcMDE0cnN0KWUoYXJndW1lbiltKHQpaShpcylnKG9uZSlnKG9mKWYodGhlKWgodW5hcnkpCi0xMTEwIDM5NzUgeShjb25kaXRpb25hbCk0MiBiKG9wKXMoZXJhdG9ycylmKFwoc2VlKWcoU2VjdGlvbiloKDYuNClmCi0oW0Jhc2gpZyhDb25kaXRpb25hbClnKEV4cHJlcy0pMTExMCA0MDg1IHkoc2lvbnNdLCkzNAotYihwYWdlKWYoNzdcKSwpaSh0aGUpZShleHByZXNzaW9uKWYoaXMpaCh0cnVlKWcoaWYpZyh0aGUpZyh1bmFyeSllCi0odGVzdClqKGlzKWYodHJ1ZS4pNDcgYihJZikxMTEwIDQxOTQgeSh0aGUpMzMgYihcMDE0cnN0KWcoYXJndW1lbiltKHQpaAorMTExMCA0MzA0IHkoY29uZGl0aW9uYWwpNDIgYihvcClzKGVyYXRvcnMpZihcKHNlZSlnKFNlY3Rpb24paCg2LjQpZgorKFtCYXNoKWcoQ29uZGl0aW9uYWwpZyhFeHByZXMtKTExMTAgNDQxMyB5KHNpb25zXSwpMzQKK2IocGFnZSlmKDc2XCksKWkodGhlKWUoZXhwcmVzc2lvbilmKGlzKWgodHJ1ZSlnKGlmKWcodGhlKWcodW5hcnkpZQorKHRlc3QpaihpcylmKHRydWUuKTQ3IGIoSWYpMTExMCA0NTIzIHkodGhlKTMzIGIoXDAxNHJzdClnKGFyZ3VtZW4pbSh0KWgKIChpcylmKG5vdClnKGEpaCh2KS01IGIoYWxpZCkzNCBiKHVuYXJ5KWUob3ApcyhlcmF0b3IsKWkodGhlKWcKLShleHByZXNzaW9uKWYoaXMpMTExMCA0MzA0IHkoZmFsc2UuKTYzMCA0NDYzIHkoMyllKGFyZ3VtZW4pbSh0cykxMTEwCi00NTczIHkoSWYpayh0aGUpZyhzZWNvbmQpZyhhcmd1bWVuKW0odClnKGlzKWcob25lKWgob2YpZih0aGUpZyhiaW5hcnkpZgotKGNvbmRpdGlvbmFsKWoob3ApcyhlcmF0b3JzKTExMTAgNDY4MiB5KFwoc2VlKTIzIGIoU2VjdGlvbilnKDYuNClmCi0oW0Jhc2gpaChDb25kaXRpb25hbClmKEV4cHJlc3Npb25zXSwpaChwYWdlKWcoNzdcKSwpaSh0aGUpZChyZXN1bHQpMTExMAotNDc5MiB5KG9mKTQ0IGIodGhlKWgoZXhwcmVzc2lvbilmKGlzKWcodGhlKWcocmVzdWx0KWcob2YpaCh0aGUpZgotKGJpbmFyeSlnKHRlc3QpaCh1c2luZyllKHRoZSlpKFwwMTRyc3QpMTExMCA0OTAyIHkoYW5kKTMxCisoZXhwcmVzc2lvbilmKGlzKTExMTAgNDYzMyB5KGZhbHNlLik2MzAgNDc5MiB5KDMpZShhcmd1bWVuKW0odHMpMTExMAorNDkwMiB5KElmKWsodGhlKWcoc2Vjb25kKWcoYXJndW1lbiltKHQpZyhpcylnKG9uZSloKG9mKWYodGhlKWcoYmluYXJ5KWYKKyhjb25kaXRpb25hbClqKG9wKXMoZXJhdG9ycykxMTEwIDUwMTEgeShcKHNlZSkyMyBiKFNlY3Rpb24pZyg2LjQpZgorKFtCYXNoKWgoQ29uZGl0aW9uYWwpZihFeHByZXNzaW9uc10sKWgocGFnZSlnKDc2XCksKWkodGhlKWQocmVzdWx0KTExMTAKKzUxMjEgeShvZik0NCBiKHRoZSloKGV4cHJlc3Npb24pZihpcylnKHRoZSlnKHJlc3VsdClnKG9mKWgodGhlKWYKKyhiaW5hcnkpZyh0ZXN0KWgodXNpbmcpZSh0aGUpaShcMDE0cnN0KTExMTAgNTIzMCB5KGFuZCkzMQogYih0aGlyZClnKGFyZ3VtZW4pbSh0cylpKGFzKWYob3ApcyhlcmFuZHMuKTQ0IGIoVGhlKTMxCiBiKGApcCBGcygtYSlwIEZ0KCcpaChhbmQpZyhgKXAgRnMoLW8pcCBGdCgnKWYob3ApcyhlcmF0b3JzKWkoYXJlKTExMTAKLTUwMTEgeShjb25zaWRlcmVkKTI1IGIoYmluYXJ5KWcob3ApcyhlcmF0b3JzKWcod2hlbilmKHRoZXJlKWkoYXJlKWYKLSh0aHJlZSloKGFyZ3VtZW4pbSh0cy4pMzkgYihJZikyNSBiKHRoZSkxMTEwIDUxMjEgeShcMDE0cnN0KWooYXJndW1lbiltCi0odCloKGlzKWcoYClwIEZzKCEpcCBGdCgnLCloKHRoZSlmKHYpLTUgYihhbHVlKTI5IGIoaXMpZyh0aGUpZwotKG5lZ2F0aW9uKWkob2YpZSh0aGUpZyh0KW0odyltKG8tYXJndW1lbiltKHQpMTExMCA1MjMwCi15KHRlc3QpMzggYih1c2luZylmKHRoZSlnKHNlY29uZClnKGFuZClnKHRoaXJkKWYoYXJndW1lbiltKHRzLik2MQotYihJZikzNyBiKHRoZSlnKFwwMTRyc3QpZihhcmd1bWVuKW0odCkxMTEwIDUzNDAgeShpcylqKGV4YWN0bHkpaShgKXAKLUZzKFwoKXAgRnQoJylmKGFuZClmKHRoZSlnKHRoaXJkKWcoYXJndW1lbiltKHQpaChpcylmKGV4YWN0bHkpaShgKXAKLUZzKFwpKXAgRnQoJywpaCh0aGUpZShyZXN1bHQpZihpcylwIGVvcCBlbmQKKzUzNDAgeShjb25zaWRlcmVkKTI1IGIoYmluYXJ5KWcob3ApcyhlcmF0b3JzKWcod2hlbilmKHRoZXJlKWkoYXJlKWYKKyh0aHJlZSloKGFyZ3VtZW4pbSh0cy4pMzkgYihJZikyNSBiKHRoZSlwIGVvcCBlbmQKICUlUGFnZTogNDAgNDYKIFRlWERpY3QgYmVnaW4gNDAgNDUgYm9wIDE1MCAtMTE2IGEgRnQoNDApMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTExMTAgMjk5IHkodGhlKTQ2IGIob25lLWFyZ3VtZW4pbSh0KWcodGVzdCloCi0ob2YpZih0aGUpZihzZWNvbmQpaChhcmd1bWVuKW0odC4pODYgYihPdGhlcndpc2UsKTUwCi1iKHRoZSkxMTEwIDQwOCB5KGV4cHJlc3Npb24pMzAgYihpcyloKGZhbHNlLik2MzAgNTY5Ci15KDQpZyhhcmd1bWVuKW0odHMpMTExMCA2NzggeShJZiloKHRoZSlpKFwwMTRyc3QpZShhcmd1bWVuKW0odCloKGlzKWcKLShgKXAgRnMoISlwIEZ0KCcsKWgodGhlKWYocmVzdWx0KWcoaXMpZyh0aGUpZyhuZWdhdGlvbiloKG9mKWYodGhlKWcKLSh0aHJlZS0pMTExMCA3ODggeShhcmd1bWVuKW0odCloKGV4cHJlc3Npb24pZihjb21wKXMob3NlZCloKG9mKWYodGhlKWgKLShyZW1haW5pbmcpZyhhcmd1bWVuKW0odHMuKTUwIGIoT3RoLSkxMTEwIDg5NyB5KGVyd2lzZSwpMzQKLWIodGhlKWYoZXhwcmVzc2lvbilnKGlzKWcocGFyc2VkKWcoYW5kKWYoZXYpLTUgYihhbHVhdGVkKTM0Ci1iKGFjY29yZGluZyloKHRvKWUocHJlY2UtKTExMTAgMTAwNyB5KGRlbmNlKWUodXNpbmcpZSh0aGUpaShydWxlcylmCi0obGlzdGVkKWgoYWIpcyhvKW0odiltKGUuKTYzMCAxMTY3IHkoNSlnKG9yKWYobW9yZSloKGFyZ3VtZW4pbSh0cykxMTEwCi0xMjc3IHkoVGhlKTQzIGIoZXhwcmVzc2lvbilmKGlzKWkocGFyc2VkKWUoYW5kKWcoZXYpLTUKLWIoYWx1YXRlZCk0NSBiKGFjY29yZGluZylmKHRvKWYocHJlY2VkZW5jZSkxMTEwIDEzODYKLXkodXNpbmcpMzAgYih0aGUpZyhydWxlcylnKGxpc3RlZCloKGFiKXMobyltKHYpbShlLikxNTAKLTE1NDcgeSBGcyh0aW1lcyk4NzAgMTY4MSB5KHRpbWVzKTYzMCAxODE2IHkgRnQoUHJpbiltKHQpMzcKLWIob3V0KWgodGhlKWcodXNlcillKGFuZCloKHN5c3RlbSlnKHRpbWVzKWgodXNlZClmKGIpbSh5KWcodGhlKWgoc2hlbGwpCi1mKGFuZClnKGl0cyloKGMpbShoaWxkcmVuLik2MSBiKFRoZSk2MzAgMTkyNiB5KHJldHVybikyOQotYihzdGF0dXMpaShpcylmKHplcm8uKTE1MCAyMDg2IHkgRnModHJhcCk4NzAgMjIyMSB5KHRyYXApNDcKLWIoWy1scF0pZihbKXAgRmooYXJnKTExIGIgRnMoXSk0NiBiKFspcCBGaihzaWdzcGVjKTU2Ci1iIEZzKC4uLilvKF0pNjMwIDIzNTYgeSBGdChUaGUpNDMgYihjb21tYW5kcylmKGluKWggRnEoYXJnKTUxCi1iIEZ0KGFyZSk0NCBiKHRvKWcoYilzKGUpZShyZWFkKWgoYW5kKWcoZXhlY3V0ZWQpaCh3aGVuKWUodGhlKWgoc2hlbGwpZwotKHJlY2VpdiltKGVzKTYzMCAyNDY1IHkoc2lnbmFsKTM2IGIgRnEoc2lnc3ApcyhlYylwIEZ0KC4pNTcKLWIoSWYpMzUgYiBGcShhcmcpNDQgYiBGdChpcykzNiBiKGFic2VuKW0odClnKFwoYW5kKWYodGhlcmUpaChpcylnKGEpZgotKHNpbmdsZSlpIEZxKHNpZ3NwKXMoZWMpNiBiIEZ0KFwpKTM1IGIob3IpaChlcXVhbClnKHRvKWgoYClwCi1GcygtKXAgRnQoJywpNjMwIDI1NzUgeShlYWMpbShoKTI4IGIoc3ApcyhlY2lcMDE0ZWQpZShzaWduYWwncyloKGRpc3ApcworYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTExMCAyOTkgeShcMDE0cnN0KWQoYXJndW1lbiltKHQpaChpcylnKGApcAorRnMoISlwIEZ0KCcsKWgodGhlKWYodiktNSBiKGFsdWUpMjkgYihpcylnKHRoZSlnKG5lZ2F0aW9uKWkob2YpZSh0aGUpZworKHQpbSh3KW0oby1hcmd1bWVuKW0odCkxMTEwIDQwOCB5KHRlc3QpMzggYih1c2luZylmKHRoZSlnKHNlY29uZClnKGFuZCkKK2codGhpcmQpZihhcmd1bWVuKW0odHMuKTYxIGIoSWYpMzcgYih0aGUpZyhcMDE0cnN0KWYoYXJndW1lbiltKHQpMTExMAorNTE4IHkoaXMpaihleGFjdGx5KWkoYClwIEZzKFwoKXAgRnQoJylmKGFuZClmKHRoZSlnKHRoaXJkKWcoYXJndW1lbiltCisodCloKGlzKWYoZXhhY3RseSlpKGApcCBGcyhcKSlwIEZ0KCcsKWgodGhlKWUocmVzdWx0KWYoaXMpMTExMAorNjI4IHkodGhlKTQ2IGIob25lLWFyZ3VtZW4pbSh0KWcodGVzdCloKG9mKWYodGhlKWYoc2Vjb25kKWgoYXJndW1lbiltCisodC4pODYgYihPdGhlcndpc2UsKTUwIGIodGhlKTExMTAgNzM3IHkoZXhwcmVzc2lvbikzMAorYihpcyloKGZhbHNlLik2MzAgOTA5IHkoNClnKGFyZ3VtZW4pbSh0cykxMTEwIDEwMTkgeShJZiloKHRoZSlpCisoXDAxNHJzdCllKGFyZ3VtZW4pbSh0KWgoaXMpZyhgKXAgRnMoISlwIEZ0KCcsKWgodGhlKWYocmVzdWx0KWcoaXMpZworKHRoZSlnKG5lZ2F0aW9uKWgob2YpZih0aGUpZyh0aHJlZS0pMTExMCAxMTI5IHkoYXJndW1lbiltKHQpaAorKGV4cHJlc3Npb24pZihjb21wKXMob3NlZCloKG9mKWYodGhlKWgocmVtYWluaW5nKWcoYXJndW1lbiltKHRzLik1MAorYihPdGgtKTExMTAgMTIzOCB5KGVyd2lzZSwpMzQgYih0aGUpZihleHByZXNzaW9uKWcoaXMpZyhwYXJzZWQpZyhhbmQpZgorKGV2KS01IGIoYWx1YXRlZCkzNCBiKGFjY29yZGluZyloKHRvKWUocHJlY2UtKTExMTAgMTM0OAoreShkZW5jZSllKHVzaW5nKWUodGhlKWkocnVsZXMpZihsaXN0ZWQpaChhYilzKG8pbSh2KW0oZS4pNjMwCisxNTIwIHkoNSlnKG9yKWYobW9yZSloKGFyZ3VtZW4pbSh0cykxMTEwIDE2MzAgeShUaGUpNDMKK2IoZXhwcmVzc2lvbilmKGlzKWkocGFyc2VkKWUoYW5kKWcoZXYpLTUgYihhbHVhdGVkKTQ1CitiKGFjY29yZGluZylmKHRvKWYocHJlY2VkZW5jZSkxMTEwIDE3MzkgeSh1c2luZykzMCBiKHRoZSlnKHJ1bGVzKWcKKyhsaXN0ZWQpaChhYilzKG8pbSh2KW0oZS4pMTUwIDE5MTEgeSBGcyh0aW1lcyk4NzAgMjA1MgoreSh0aW1lcyk2MzAgMjE5MyB5IEZ0KFByaW4pbSh0KTM3IGIob3V0KWgodGhlKWcodXNlcillKGFuZCloKHN5c3RlbSlnCisodGltZXMpaCh1c2VkKWYoYiltKHkpZyh0aGUpaChzaGVsbClmKGFuZClnKGl0cyloKGMpbShoaWxkcmVuLik2MQorYihUaGUpNjMwIDIzMDMgeShyZXR1cm4pMjkgYihzdGF0dXMpaShpcylmKHplcm8uKTE1MAorMjQ3NSB5IEZzKHRyYXApODcwIDI2MTYgeSh0cmFwKTQ3IGIoWy1scF0pZihbKXAgRmkoYXJnKTExCitiIEZzKF0pNDYgYihbKXAgRmkoc2lnc3BlYyk1NiBiIEZzKC4uLilvKF0pNjMwIDI3NTcgeQorRnQoVGhlKTQzIGIoY29tbWFuZHMpZihpbiloIEZxKGFyZyk1MSBiIEZ0KGFyZSk0NCBiKHRvKWcoYilzKGUpZShyZWFkKWgKKyhhbmQpZyhleGVjdXRlZCloKHdoZW4pZSh0aGUpaChzaGVsbClnKHJlY2VpdiltKGVzKTYzMAorMjg2NiB5KHNpZ25hbCkzNiBiIEZxKHNpZ3NwKXMoZWMpNiBiIEZ0KC4pNTUgYihJZikzNQorYiBGcShhcmcpNDQgYiBGdChpcykzNSBiKGFic2VuKW0odCloKFwoYW5kKWYodGhlcmUpZyhpcylnKGEpaChzaW5nbGUpZworRnEoc2lnc3ApcyhlYyk2IGIgRnQoXCkpMzUgYihvciloKGVxdWFsKWYodG8paShgKXAgRnMoLSlwCitGdCgnLCk2MzAgMjk3NiB5KGVhYyltKGgpMjggYihzcClzKGVjaVwwMTRlZCllKHNpZ25hbCdzKWgoZGlzcClzCiAob3NpdGlvbilmKGlzKWgocmVzZXQpZyh0bylnKHRoZSlnKHYpLTUgYihhbHVlKTI3IGIoaXQpZyhoYWQpZih3aGVuKWYKLSh0aGUpaShzaGVsbClnKHcpbShhcyk2MzAgMjY4NSB5KHN0YXJ0ZWQuKTYzIGIoSWYpMzcKKyh0aGUpaShzaGVsbClnKHcpbShhcyk2MzAgMzA4NiB5KHN0YXJ0ZWQuKTYzIGIoSWYpMzcKIGIgRnEoYXJnKTQ2IGIgRnQoaXMpMzcgYih0aGUpaChuKW0odWxsKWcoc3RyaW5nLCloKHRoZW4pZSh0aGUpaChzaWduYWwpCiBoKHNwKXMoZWNpXDAxNGVkKWQoYiltKHkpaShlYWMpbShoKWggRnEoc2lnc3ApcyhlYylrCi1GdChpcyk2MzAgMjc5NCB5KGlnbm9yZWQpMzYgYihiKW0oeSlnKHRoZSlnKHNoZWxsKWcoYW5kKWcoY29tbWFuZHMpZgorRnQoaXMpNjMwIDMxOTUgeShpZ25vcmVkKTM2IGIoYiltKHkpZyh0aGUpZyhzaGVsbClnKGFuZClnKGNvbW1hbmRzKWYKIChpdClpKGluKW0odiltKG9rKW0oZXMuKTU5IGIoSWYpMzUgYiBGcShhcmcpNDUgYiBGdChpcykzNgotYihub3QpZyhwcmVzZW4pbSh0KWcoYW5kKWYoYClwIEZzKC1wKXAgRnQoJyk2MzAgMjkwNAorYihub3QpZyhwcmVzZW4pbSh0KWcoYW5kKWYoYClwIEZzKC1wKXAgRnQoJyk2MzAgMzMwNQogeShoYXMpZShiKXMoZWVuKWcoc3VwcGxpZWQsKWYodGhlKWkoc2hlbGwpZihkaXNwbGEpbSh5cyloKHRoZSlmKHRyYXApZwotKGNvbW1hbmRzKWcoYXNzbylzKGNpYXRlZClpKHdpdGgpZShlYWMpbShoKTYzMCAzMDEzIHkKLUZxKHNpZ3NwKXMoZWMpcCBGdCguKTQwIGIoSWYpMjkgYihubylnKGFyZ3VtZW4pbSh0cylnKGFyZSlnKHN1cHBsaWVkLClmCi0ob3IpaChvbmx5KWcoYClwIEZzKC1wKXAgRnQoJylnKGlzKWcoZ2l2KW0oZW4sKWggRnModHJhcCllCi1GdChwcmluKW0odHMpZyh0aGUpaChsaXN0KTYzMCAzMTIzIHkob2YpZihjb21tYW5kcylmKGFzc28pcyhjaWF0ZWQpaQotKHdpdGgpZihlYWMpbShoKWgoc2lnbmFsKWYobiltKHVtKW0oYilzKGVyKWUoaW4paShhKWcoZm9ybSlmKHRoYXQpaChtYSkKLW0oeSloKGIpcyhlKWUocmV1c2VkKTYzMCAzMjMyIHkoYXMpYyhzaGVsbClnKGlucHV0LikzNwotYihUaGUpMjMgYihgKXAgRnMoLWwpcCBGdCgnKWYob3B0aW9uKWkoY2F1c2VzKWYodGhlKWcoc2hlbGwpZyh0bylnCi0ocHJpbiltKHQpZyhhKWcobGlzdClnKG9mKWcoc2lnbmFsKWgobmFtZXMpZihhbmQpNjMwCi0zMzQyIHkodGhlaXIpMzMgYihjb3JyZXNwKXMob25kaW5nKWYobiltKHVtKW0oYilzKGVycy4pNDcKLWIoRWFjKW0oaCkzNCBiIEZxKHNpZ3NwKXMoZWMpMzkgYiBGdChpcykzMyBiKGVpdGhlcilnKGEpaChzaWduYWwpZwotKG5hbWUpZihvcilnKGEpZyhzaWduYWwpNjMwIDM0NTIgeShuKW0odW0pbShiKXMoZXIuKTQ2Ci1iKFNpZ25hbCkzMyBiKG5hbWVzKWcoYXJlKWcoY2FzZSloKGluc2Vuc2l0aXYpbShlKWYoYW5kKWcodGhlKWYKLUZzKFNJRylnIEZ0KHByZVwwMTR4KWcoaXMpaChvcHRpb25hbC4pNDggYihJZikzMyBiKGEpNjMwCi0zNTYxIHkgRnEoc2lnc3ApcyhlYyloIEZ0KGlzKTI4IGIgRnMoMClmIEZ0KG9yKWggRnMoRVhJVClwCi1GdCgsKWYgRnEoYXJnKTM3IGIgRnQoaXMpMjcgYihleGVjdXRlZClpKHdoZW4pZSh0aGUpaChzaGVsbClnKGV4aXRzLik0MQotYihJZikyNyBiKGEpaSBGcShzaWdzcClzKGVjKWsgRnQoaXMpMjggYiBGcyhERUJVRylwIEZ0KCwpNjMwCi0zNjcxIHkodGhlKTQwIGIoY29tbWFuZClnIEZxKGFyZyk0OCBiIEZ0KGlzKTQwIGIoZXhlY3V0ZWQpaChiKXMoZWZvcmUpZgotKGV2KW0oZXJ5KWcoc2ltcGxlKWcoY29tbWFuZCwpaiBGcyhmb3IpYyBGdChjb21tYW5kLCk2MzAKLTM3ODAgeSBGcyhjYXNlKTI4IGIgRnQoY29tbWFuZCwpaSBGcyhzZWxlY3QpZCBGdChjb21tYW5kLClqKGV2KW0oZXJ5KWcKLShhcml0aG1ldGljKWggRnMoZm9yKWQgRnQoY29tbWFuZCwpaShhbmQpZShiKXMoZWZvcmUpNjMwCi0zODkwIHkodGhlKWsoXDAxNHJzdCllKGNvbW1hbmQpaChleGVjdXRlcylpKGluKWUoYSloKHNoZWxsKWYoZnVuY3Rpb24uKQotNDQgYihSZWZlcikzMSBiKHRvKWgodGhlKWcoZGVzY3JpcHRpb24pZihvZiloKHRoZSk2MzAKLTQwMDAgeSBGcyhleHRnbG9iKTQwIGIgRnQob3B0aW9uKWkodG8pZyh0aGUpZyBGcyhzaG9wdCllCisoY29tbWFuZHMpZyhhc3NvKXMoY2lhdGVkKWkod2l0aCllKGVhYyltKGgpNjMwIDM0MTQgeQorRnEoc2lnc3ApcyhlYyk2IGIgRnQoLik0MCBiKElmKTI4IGIobm8pZyhhcmd1bWVuKW0odHMpaChhcmUpZworKHN1cHBsaWVkLClmKG9yKWcob25seSloKGApcCBGcygtcClwIEZ0KCcpZihpcylnKGdpdiltKGVuLClpCitGcyh0cmFwKWUgRnQocHJpbiltKHRzKWcodGhlKWcobGlzdCk2MzAgMzUyNCB5KG9mKWcoY29tbWFuZHMpZihhc3NvKXMKKyhjaWF0ZWQpaSh3aXRoKWYoZWFjKW0oaCloKHNpZ25hbClmKG4pbSh1bSltKGIpcyhlcillKGluKWkoYSlnKGZvcm0pZgorKHRoYXQpaChtYSltKHkpaChiKXMoZSllKHJldXNlZCk2MzAgMzYzNCB5KGFzKTM0IGIoc2hlbGwpZyhpbnB1dC4pNTEKK2IoVGhlKTMzIGIoYClwIEZzKC1sKXAgRnQoJyloKG9wdGlvbilnKGNhdXNlcyloKHRoZSlmKHNoZWxsKWcodG8paAorKHByaW4pbSh0KWUoYSlpKGxpc3QpZihvZilnKHNpZ25hbCloKG5hbWVzKTYzMCAzNzQzIHkoYW5kKWoodGhlaXIpaAorKGNvcnJlc3ApcyhvbmRpbmcpZihuKW0odW0pbShiKXMoZXJzLik2NSBiKEVhYyltKGgpMzkKK2IgRnEoc2lnc3ApcyhlYyk0NSBiIEZ0KGlzKTM5IGIoZWl0aGVyKWcoYSlnKHNpZ25hbCloKG5hbWUpZihvcilnKGEpNjMwCiszODUzIHkoc2lnbmFsKTI3IGIobiltKHVtKW0oYilzKGVyLikzOSBiKFNpZ25hbCkyNyBiKG5hbWVzKWYoYXJlKWgKKyhjYXNlKWgoaW5zZW5zaXRpdiltKGUpZyhhbmQpZSh0aGUpZyBGcyhTSUcpZyBGdChwcmVcMDE0eClnKGlzKWgKKyhvcHRpb25hbC4pNjMwIDM5OTQgeShJZikzNSBiKGEpZyBGcShzaWdzcClzKGVjKTQxIGIKK0Z0KGlzKTM1IGIgRnMoMClnIEZ0KG9yKWcgRnMoRVhJVClwIEZ0KCwpZyBGcShhcmcpNDMKK2IgRnQoaXMpMzUgYihleGVjdXRlZCloKHdoZW4pZSh0aGUpaChzaGVsbCloKGV4aXRzLik1NQorYihJZikzNSBiKGEpZyBGcShzaWdzcClzKGVjKTQxIGIgRnQoaXMpNjMwIDQxMDMgeSBGcyhERUJVRylwCitGdCgsKTMyIGIodGhlKWcoY29tbWFuZClnIEZxKGFyZyk0MCBiIEZ0KGlzKTMzIGIoZXhlY3V0ZWQpZyhiKXMoZWZvcmUpZgorKGV2KW0oZXJ5KWgoc2ltcGxlKWYoY29tbWFuZCwpaCBGcyhmb3IpZSBGdChjb20tKTYzMAorNDIxMyB5KG1hbmQsKWQgRnMoY2FzZSlnIEZ0KGNvbW1hbmQsKWggRnMoc2VsZWN0KWUgRnQoY29tbWFuZCwpaShldiltCisoZXJ5KWgoYXJpdGhtZXRpYylnIEZzKGZvcilkIEZ0KGNvbW1hbmQsKWooYW5kKTYzMCA0MzIyCit5KGIpcyhlZm9yZSkyMiBiKHRoZSlnKFwwMTRyc3QpZihjb21tYW5kKWgoZXhlY3V0ZXMpaShpbillKGEpZyhzaGVsbCloCisoZnVuY3Rpb24uKTM3IGIoUmVmZXIpMjIgYih0byloKHRoZSlnKGRlc2NyaXB0aW9uKWYob2YpNjMwCis0NDMyIHkodGhlKWkgRnMoZXh0ZGVidWcpZCBGdChvcHRpb24paih0byloKHRoZSlmIEZzKHNob3B0KWUKIEZ0KGJ1aWx0aW4paChcKHNlZSlpKFNlY3Rpb24pZig0LjMuMilpKFtUaGUpZChTaG9wdClnKEJ1aWx0aW5dLCk2MzAKLTQxMDkgeShwYWdlKWcoNTRcKSlnKGZvcillKGRldGFpbHMpaShvZilmKGl0cyloKGVcMDEzZWN0KWcob24pZih0aGUpZwotRnMoREVCVUcpZiBGdCh0cmFwLik2OSBiKElmKTM5IGIoYSlpIEZxKHNpZ3NwKXMoZWMpawotRnQoaXMpNDAgYiBGcyhFUlIpcCBGdCgsKWkodGhlKTYzMCA0MjE5IHkoY29tbWFuZCloIEZxKGFyZyk1MgotYiBGdChpcyk0NCBiKGV4ZWN1dGVkKWcod2hlbmV2KW0oZXIpZyhhKWcoc2ltcGxlKWYoY29tbWFuZCloKGhhcylmKGEpaAotKG5vbi16ZXJvKWcoZXhpdCk2MzAgNDMyOCB5KHN0YXR1cywpMzAgYihzdWIpNSBiKGplY3QpMzAKLWIodG8pZyh0aGUpZyhmb2xsbyltKHdpbmcpaChjb25kaXRpb25zLik0MSBiKFRoZSkzMCBiCi1GcyhFUlIpZSBGdCh0cmFwKWkoaXMpZyhub3QpZyhleGVjdXRlZClnKGlmKWcodGhlKTYzMAotNDQzOCB5KGZhaWxlZCkzOCBiKGNvbW1hbmQpZyhpcylmKHBhcnQpaChvZilmKHRoZSloKGNvbW1hbmQpZyhsaXN0KWcKLShpbW1lZGlhdGVseSloKGZvbGxvKW0od2luZylnKGFuKWUgRnModW50aWwpNjMwIDQ1NDgKLXkgRnQob3IpayBGcyh3aGlsZSlmIEZ0KGspbShleXcpbShvcmQsKWsocGFydClkKG9mKWcodGhlKWgodGVzdClnKGluKWUKLShhbiloIEZzKGlmKWcgRnQoc3RhdGVtZW4pbSh0LCk0NiBiKHBhcnQpNDAgYihvZilpKGEpZihjb21tYW5kKTYzMAotNDY1NyB5KGV4ZWN1dGVkKTMxIGIoaW4pZShhKWggRnMoJiYpZiBGdChvciloIEZzKHx8KWYKLUZ0KGxpc3QsKWkob3IpZihpZilnKHRoZSlnKGNvbW1hbmQncylmKHJldHVybilnKHN0YXR1cyloKGlzKWcoYilzKGVpbmcpCi1mKGluKW0odiltKGVydGVkKTYzMCA0NzY3IHkodXNpbmcpMzcgYiBGcyghKXAgRnQoLik2MwotYihUaGVzZSkzOCBiKGFyZSlnKHRoZSlnKHNhbWUpZyhjb25kaXRpb25zKWgob2IpcyhleSltKGVkKWYoYiltKHkpZwotKHRoZSlnIEZzKGVycmV4aXQpZCBGdChvcHRpb24uKTY0IGIoSWYpMzggYihhKTYzMCA0ODc2Ci15IEZxKHNpZ3NwKXMoZWMpaCBGdChpcykzMyBiIEZzKFJFVFVSTilwIEZ0KCwpZyh0aGUpaChjb21tYW5kKWYKLUZxKGFyZyk0MSBiIEZ0KGlzKTM0IGIoZXhlY3V0ZWQpZyhlYWMpbShoKWgodGltZSlmKGEpZihzaGVsbCloCi0oZnVuY3Rpb24pZihvcik2MzAgNDk4NiB5KGEpZShzY3JpcHQpZihleGVjdXRlZCloKHdpdGgpZih0aGUpaAotRnMoLilmIEZ0KG9yKWcgRnMoc291cmNlKWYgRnQoYnVpbHRpbnMpaChcMDE0bmlzaGVzKWYoZXhlY3V0aW5nLik2MzAKLTUxMjEgeShTaWduYWxzKTM3IGIoaWdub3JlZClmKHVwKXMob24pZihlbiltKHRyeSlpKHRvKWcodGhlKWYoc2hlbGwpaAotKGNhbm5vdClnKGIpcyhlKWYodHJhcHApcyhlZClmKG9yKWgocmVzZXQuKTU5IGIoVCktOAotYihyYXBwKXMoZWQpNjMwIDUyMzAgeShzaWduYWxzKTM3IGIodGhhdClmKGFyZSloKG5vdClmKGIpcyhlaW5nKWYKLShpZ25vcmVkKWgoYXJlKWgocmVzZXQpZih0byloKHRoZWlyKWYob3JpZ2luYWwpaCh2KS01Ci1iKGFsdWVzKTM3IGIoaW4pZShhKWkoYyltKGhpbGQpNjMwIDUzNDAgeShwcm8pcyhjZXNzKTMwCi1iKHdoZW4pZihpdClpKGlzKWcoY3JlYXRlZC4pcCBlb3AgZW5kCis0NTQyIHkocGFnZSkzMyBiKDU1XCkpZyhmb3IpZihkZXRhaWxzKWgob2YpZihpdHMpaChlXDAxM2VjdClnKG9uKWYodGhlKQorZyBGcyhERUJVRylmIEZ0KHRyYXAuKTQ2IGIoSWYpMzEgYihhKWkgRnEoc2lnc3ApcyhlYykzOAorYiBGdChpcykzMiBiIEZzKFJFVFVSTilwIEZ0KCwpZih0aGUpNjMwIDQ2NTEgeShjb21tYW5kKWgKK0ZxKGFyZyk0MSBiIEZ0KGlzKTMzIGIoZXhlY3V0ZWQpZyhlYWMpbShoKWgodGltZSlmKGEpZyhzaGVsbClnCisoZnVuY3Rpb24pZyhvcilmKGEpaChzY3JpcHQpZyhleGVjdXRlZClnKHdpdGgpNjMwIDQ3NjEKK3kodGhlKWUgRnMoLilmIEZ0KG9yKWcgRnMoc291cmNlKWYgRnQoYnVpbHRpbnMpZyhcMDE0bmlzaGVzKWgKKyhleGVjdXRpbmcuKTYzMCA0OTAyIHkoSWYpZyhhKWkgRnEoc2lnc3ApcyhlYylrIEZ0KGlzKTMxCitiIEZzKEVSUilwIEZ0KCwpZih0aGUpaChjb21tYW5kKWcgRnEoYXJnKTM5IGIgRnQoaXMpMzEKK2IoZXhlY3V0ZWQpZyh3aGVuZXYpbShlcilnKGEpZyhzaW1wbGUpZyhjb21tYW5kKTYzMCA1MDExCit5KGhhcylrKGEpaChub24temVybyloKGV4aXQpZihzdGF0dXMsKWkoc3ViKTUgYihqZWN0KTM1CitiKHRvKWgodGhlKWcoZm9sbG8pbSh3aW5nKWgoY29uZGl0aW9ucy4pNTcgYihUaGUpMzUgYgorRnMoRVJSKWcgRnQodHJhcCk2MzAgNTEyMSB5KGlzKTMwIGIobm90KWYoZXhlY3V0ZWQpaShpZillKHRoZSloKGZhaWxlZCkKK2coY29tbWFuZClnKGlzKWYocGFydCloKG9mKWYodGhlKWgoY29tbWFuZClmKGxpc3QpaShpbW1lZGlhdGVseSk2MzAKKzUyMzAgeShmb2xsbyltKHdpbmcpNDcgYihhbilkIEZzKHVudGlsKWcgRnQob3IpaCBGcyh3aGlsZSlmCitGdChrKW0oZXl3KW0ob3JkLCk0OSBiKHBhcnQpYyhvZilnKHRoZSloKHRlc3QpZyhmb2xsbyltKHdpbmcpZyh0aGUpZgorRnMoaWYpZyBGdChvcik2MzAgNTM0MCB5IEZzKGVsaWYpZCBGdChyZXNlcnYpbShlZClpKHcpbShvcmRzLClqKHBhcnQpYworKG9mKWgoYSlnKGNvbW1hbmQpZihleGVjdXRlZClpKGluKWUoYSloIEZzKCYmKWYgRnQob3IpaAorRnMofHwpZiBGdChsaXN0LClrKG9yKWQoaWYpcCBlb3AgZW5kCiAlJVBhZ2U6IDQxIDQ3CiBUZVhEaWN0IGJlZ2luIDQxIDQ2IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig0Oik0MQotYihTaGVsbCkzMCBiKEJ1aWx0aW4paChDb21tYW5kcykyMDY5IGIoNDEpNjMwIDI5OSB5KFRoZSkzMAotYihyZXR1cm4pZihzdGF0dXMpaShpcylmKHplcm8paCh1bmxlc3MpZihhKWggRnEoc2lnc3ApcyhlYykzNgotYiBGdChkbylzKGVzKTMwIGIobm90KWgoc3ApcyhlY2lmeSlmKGEpZyh2KS01IGIoYWxpZCkzMQotYihzaWduYWwuKTE1MCA0NTQgeSBGcyh1bWFzayk4NzAgNTg2IHkodW1hc2spNDYgYihbLXBdKWgoWy1TXSlnKFspcAotRmoobW9kZSkxMSBiIEZzKF0pNjMwIDcxOCB5IEZ0KFNldCkzMCBiKHRoZSlmKHNoZWxsKWgocHJvKXMoY2VzcydzKWYKLShcMDE0bGUpaChjcmVhdGlvbilnKG1hc2spZyh0bylnIEZxKG1vKXMoZGUpcCBGdCguKTQwCi1iKElmKTI5IGIgRnEobW8pcyhkZSkzNCBiIEZ0KGIpcyhlZ2lucykyOSBiKHdpdGgpZyhhKWgoZGlnaXQsKTYzMAotODI4IHkoaXQpZShpcylmKGluKW0odGVycHJldGVkKWcoYXMpZyhhbilnKG8pcyhjdGFsKWkobiltKHVtKW0oYilzKGVyOykKLWUoaWYpZyhub3QsKWgoaXQpZyhpcylmKGluKW0odGVycHJldGVkKWcoYXMpZyhhKWgoc3ltKW0oYilzKG9saWMpZihtbylzCi0oZGUpNjMwIDkzNyB5KG1hc2spaShzaW1pbGFyKWcodG8pZyh0aGF0KWgoYWNjZXB0ZWQpZyhiKW0oeSlmKHRoZSlnCi1GcyhjaG1vZCllIEZ0KGNvbW1hbmQuKTQwIGIoSWYpMjggYiBGcShtbylzKGRlKTM0IGIgRnQoaXMpMjgKLWIob21pdHRlZCwpaih0aGUpNjMwIDEwNDcgeShjdXJyZW4pbSh0KTM2IGIodiktNSBiKGFsdWUpMzYKLWIob2YpZyh0aGUpaChtYXNrKWYoaXMpZyhwcmluKW0odGVkLik1NyBiKElmKTM1IGIodGhlKWgoYClwCi1GcygtUylwIEZ0KCcpZyhvcHRpb24paChpcylmKHN1cHBsaWVkKWYod2l0aG91dCloKGEpNjMwCi0xMTU2IHkgRnEobW8pcyhkZSlrIEZ0KGFyZ3VtZW4pbSh0LClkKHRoZSllKG1hc2spZyhpcylnKHByaW4pbSh0ZWQpZwotKGluKWcoYSloKHN5bSltKGIpcyhvbGljKWYoZm9ybWF0Lik1NSBiKElmKTM1IGIodGhlKWcoYClwCi1GcygtcClwIEZ0KCcpZyhvcHRpb24pNjMwIDEyNjYgeShpcylmKHN1cHBsaWVkLClmKGFuZClnCitiKFNoZWxsKTMwIGIoQnVpbHRpbiloKENvbW1hbmRzKTIwNjkgYig0MSk2MzAgMjk5IHkodGhlKTQwCitiKGNvbW1hbmQncylnKHJldHVybilmKHN0YXR1cyloKGlzKWcoYilzKGVpbmcpZihpbiltKHYpbShlcnRlZClpKHVzaW5nKQorZiBGcyghKXAgRnQoLik2OCBiKFRoZXNlKTQwIGIoYXJlKWcodGhlKWgoc2FtZSk2MzAgNDA4Cit5KGNvbmRpdGlvbnMpMzEgYihvYilzKGV5KW0oZWQpZihiKW0oeSloKHRoZSlmIEZzKGVycmV4aXQpZgorRnQob3B0aW9uLik2MzAgNTQ1IHkoU2lnbmFscykzNyBiKGlnbm9yZWQpZih1cClzKG9uKWYoZW4pbSh0cnkpaSh0bylnCisodGhlKWYoc2hlbGwpaChjYW5ub3QpZyhiKXMoZSlmKHRyYXBwKXMoZWQpZihvciloKHJlc2V0Lik1OQorYihUKS04IGIocmFwcClzKGVkKTYzMCA2NTQgeShzaWduYWxzKTI4IGIodGhhdClmKGFyZSloKG5vdClmKGIpcyhlaW5nKWcKKyhpZ25vcmVkKWcoYXJlKWcocmVzZXQpaCh0bylnKHRoZWlyKWYob3JpZ2luYWwpaCh2KS01CitiKGFsdWVzKTI4IGIoaW4pZShhKWkoc3Vic2hlbGwpNjMwIDc2NCB5KG9yKWkoc3Vic2hlbGwpZyhlbiltKHZpcm9ubWVuKQorbSh0KWgod2hlbillKG9uZSlpKGlzKWYoY3JlYXRlZC4pNjMwIDkwMCB5KFRoZSlnKHJldHVybilmKHN0YXR1cylpKGlzKWYKKyh6ZXJvKWgodW5sZXNzKWYoYSloIEZxKHNpZ3NwKXMoZWMpMzYgYiBGdChkbylzKGVzKTMwCitiKG5vdCloKHNwKXMoZWNpZnkpZihhKWcodiktNSBiKGFsaWQpMzEgYihzaWduYWwuKTE1MAorMTA2MyB5IEZzKHVtYXNrKTg3MCAxMTk5IHkodW1hc2spNDYgYihbLXBdKWgoWy1TXSlnKFspcAorRmkobW9kZSkxMSBiIEZzKF0pNjMwIDEzMzUgeSBGdChTZXQpMjkgYih0aGUpaChzaGVsbClmKHBybylzKGNlc3MncylnCisoXDAxNGxlKWcoY3JlYXRpb24paChtYXNrKWYodG8paCBGcShtbylzKGRlKTUgYiBGdCguKTQwCitiKElmKTI4IGIgRnEobW8pcyhkZSkzNCBiIEZ0KGIpcyhlZ2lucykyOSBiKHdpdGgpZihhKWkoZGlnaXQsKTYzMAorMTQ0NSB5KGl0KWUoaXMpZihpbiltKHRlcnByZXRlZClnKGFzKWcoYW4pZyhvKXMoY3RhbClpKG4pbSh1bSltKGIpcworKGVyOyllKGlmKWcobm90LCloKGl0KWcoaXMpZihpbiltKHRlcnByZXRlZClnKGFzKWcoYSloKHN5bSltKGIpcyhvbGljKWYKKyhtbylzKGRlKTYzMCAxNTU0IHkobWFzaylpKHNpbWlsYXIpZyh0bylnKHRoYXQpaChhY2NlcHRlZClnKGIpbSh5KWYKKyh0aGUpZyBGcyhjaG1vZCllIEZ0KGNvbW1hbmQuKTQwIGIoSWYpMjggYiBGcShtbylzKGRlKTM0CitiIEZ0KGlzKTI4IGIob21pdHRlZCwpaih0aGUpNjMwIDE2NjQgeShjdXJyZW4pbSh0KTM2CitiKHYpLTUgYihhbHVlKTM2IGIob2YpZyh0aGUpaChtYXNrKWYoaXMpZyhwcmluKW0odGVkLik1NworYihJZikzNSBiKHRoZSloKGApcCBGcygtUylwIEZ0KCcpZyhvcHRpb24paChpcylmKHN1cHBsaWVkKWYod2l0aG91dCloCisoYSk2MzAgMTc3MyB5IEZxKG1vKXMoZGUpayBGdChhcmd1bWVuKW0odCwpZCh0aGUpZShtYXNrKWcoaXMpZyhwcmluKW0KKyh0ZWQpZyhpbilnKGEpaChzeW0pbShiKXMob2xpYylmKGZvcm1hdC4pNTUgYihJZikzNSBiKHRoZSlnKGApcAorRnMoLXApcCBGdCgnKWcob3B0aW9uKTYzMCAxODgzIHkoaXMpZihzdXBwbGllZCwpZihhbmQpZwogRnEobW8pcyhkZSkzOCBiIEZ0KGlzKTMzIGIob21pdHRlZCwpaih0aGUpZShvdXRwdXQpZihpcylnKGluKWgoYSlnCi0oZm9ybSlmKHRoYXQpaChtYSltKHkpZyhiKXMoZSlmKHJldXNlZCk2MzAgMTM3NiB5KGFzKWUoaW5wdXQuKTQxCisoZm9ybSlmKHRoYXQpaChtYSltKHkpZyhiKXMoZSlmKHJldXNlZCk2MzAgMTk5MyB5KGFzKWUoaW5wdXQuKTQxCiBiKFRoZSkzMSBiKHJldHVybilmKHN0YXR1cyloKGlzKWcoemVybyloKGlmKWUodGhlKWgobW8pcyhkZSlnKGlzKWcKLShzdWNjZXNzZnVsbHkpZyhjKW0oaGFuZ2VkKWcob3IpZyhpZilnKG5vKTYzMCAxNDg1IHkKKyhzdWNjZXNzZnVsbHkpZyhjKW0oaGFuZ2VkKWcob3IpZyhpZilnKG5vKTYzMCAyMTAyIHkKIEZxKG1vKXMoZGUpayBGdChhcmd1bWVuKW0odCljKGlzKWYoc3VwcGxpZWQsKWcoYW5kKWYobm9uLXplcm8paQotKG90aGVyd2lzZS4pNjMwIDE2MTcgeShOb3RlKTM4IGIodGhhdCllKHdoZW4pZyh0aGUpZyhtbylzKGRlKWcoaXMpZyhpbikKKyhvdGhlcndpc2UuKTYzMCAyMjM4IHkoTm90ZSkzOCBiKHRoYXQpZSh3aGVuKWcodGhlKWcobW8pcyhkZSlnKGlzKWcoaW4pCiBtKHRlcnByZXRlZCloKGFzKWYoYW4pZyhvKXMoY3RhbClpKG4pbSh1bSltKGIpcyhlciwpZShlYWMpbShoKWkobiltKHVtKQotbShiKXMoZXIpZChvZik2MzAgMTcyNyB5KHRoZSlmKHVtYXNrKWcoaXMpaChzdWJ0cmFjdGVkKWYoZnJvbSlmCittKGIpcyhlcilkKG9mKTYzMCAyMzQ4IHkodGhlKWYodW1hc2spZyhpcyloKHN1YnRyYWN0ZWQpZihmcm9tKWYKIEZzKDcpcCBGdCguKTUzIGIoVGgpbSh1cywpMzQgYihhKWgodW1hc2spZShvZilpIEZzKDAyMillCi1GdChyZXN1bHRzKWgoaW4pZyhwKXMoZXJtaXNzaW9ucyk2MzAgMTgzNyB5KG9mKWQgRnMoNzU1KXAKLUZ0KC4pMTUwIDE5OTEgeSBGcyh1bnNldCk4NzAgMjEyNCB5KHVuc2V0KTQ2IGIoWy1mdl0paChbKXAKLUZqKG5hbWUpMTEgYiBGcyhdKTYzMCAyMjU2IHkgRnQoRWFjKW0oaCkzNCBiKHYpLTUgYihhcmlhYmxlKTMzCitGdChyZXN1bHRzKWgoaW4pZyhwKXMoZXJtaXNzaW9ucyk2MzAgMjQ1NyB5KG9mKWQgRnMoNzU1KXAKK0Z0KC4pMTUwIDI2MjAgeSBGcyh1bnNldCk4NzAgMjc1NiB5KHVuc2V0KTQ2IGIoWy1mdl0paChbKXAKK0ZpKG5hbWUpMTEgYiBGcyhdKTYzMCAyODkyIHkgRnQoRWFjKW0oaCkzNCBiKHYpLTUgYihhcmlhYmxlKTMzCiBiKG9yKWcoZnVuY3Rpb24pZyBGcShuYW1lKTM4IGIgRnQoaXMpMzMgYihyZW1vKW0odiltKGVkLik1MAogYihJZikzMiBiKG5vKWgob3B0aW9ucyloKGFyZSlmKHN1cHBsaWVkLClnKG9yKWcodGhlKTYzMAotMjM2NSB5KGApcCBGcygtdilwIEZ0KCcpaChvcHRpb24paChpcylnKGdpdiltKGVuLCloKGVhYyltKGgpZworMzAwMiB5KGApcCBGcygtdilwIEZ0KCcpaChvcHRpb24paChpcylnKGdpdiltKGVuLCloKGVhYyltKGgpZwogRnEobmFtZSlrIEZ0KHJlZmVycykzNCBiKHRvKWgoYSlnKHNoZWxsKWYodiktNSBiKGFyaWFibGUuKTU0Ci1iKElmKTM0IGIodGhlKWgoYClwIEZzKC1mKXAgRnQoJylmKG9wdGlvbiloKGlzKTYzMCAyNDc1CitiKElmKTM0IGIodGhlKWgoYClwIEZzKC1mKXAgRnQoJylmKG9wdGlvbiloKGlzKTYzMCAzMTEyCiB5KGdpdiltKGVuLCkyNyBiKHRoZSlkIEZxKG5hbWUpNSBiIEZ0KHMpMjUgYihyZWZlcilmKHRvKWgoc2hlbGwpZwogKGZ1bmN0aW9ucywpZyhhbmQpZih0aGUpZyhmdW5jdGlvbilnKGRlXDAxNG5pdGlvbilnKGlzKWgocmVtbyltKHYpbQotKGVkLik2MzAgMjU4NSB5KFJlYWRvbmx5KTMyIGIodiktNSBiKGFyaWFibGVzKTMzIGIoYW5kKWYoZnVuY3Rpb25zKWYKKyhlZC4pNjMwIDMyMjEgeShSZWFkb25seSkzMiBiKHYpLTUgYihhcmlhYmxlcykzMyBiKGFuZClmKGZ1bmN0aW9ucylmCiAobWEpbSh5KWkobm90KWYoYilzKGUpZyh1bnNldC4pNDUgYihUaGUpMzIgYihyZXR1cm4pZihzdGF0dXMpaChpcylnCi0oemVybyk2MzAgMjY5NCB5KHVubGVzcyllKGEpZyBGcShuYW1lKTM2IGIgRnQoaXMpMzAgYihyZWFkb25seSktOAotYiguKTE1MCAyOTQ1IHkgRnIoNC4yKTY4IGIoQmFzaCk0NSBiKEJ1aWx0aW4pZyhDb21tYW5kcykyNzUKLTMxODYgeSBGdChUaGlzKTMwIGIoc2VjdGlvbilqKGRlc2NyaWIpcyhlcyllKGJ1aWx0aW4paChjb21tYW5kcylmKHdoaWMpCi1tKGgpZyhhcmUpaSh1bmlxdWUpZCh0bylqKG9yKWYoaGEpbSh2KW0oZSloKGIpcyhlZW4pZShleHRlbmRlZClnKGluKTE1MAotMzI5NiB5KEJhc2guKTQxIGIoU29tZSkzMCBiKG9mKWgodGhlc2UpZyhjb21tYW5kcylmKGFyZSlnKHNwKXMKLShlY2lcMDE0ZWQpZyhpbilnKHRoZSloIEZsKHBvc2l4KWUgRnQoc3RhbmRhcmQuKTE1MCAzNDUxCi15IEZzKGFsaWFzKTg3MCAzNTgzIHkoYWxpYXMpNDYgYihbLXBdKWgoWylwIEZqKG5hbWUpMTEKLWIgRnMoWz0pcCBGaih2YWx1ZSlnIEZzKF0pNDMgYiguLi4pbyhdKTYzMCAzNzE1IHkgRnQoV2l0aG91dCloKGFyZ3VtZW4pCi1tKHRzKWYob3IpZyh3aXRoKWcodGhlKWgoYClwIEZzKC1wKXAgRnQoJylmKG9wdGlvbiwpawotRnMoYWxpYXMpNDEgYiBGdChwcmluKW0odHMpaSh0aGUpZyhsaXN0KWgob2YpZihhbGlhc2VzKTYzMAotMzgyNSB5KG9uKTM2IGIodGhlKWcoc3RhbmRhcmQpZihvdXRwdXQpaChpbilmKGEpaShmb3JtKWUodGhhdClpKGFsbG8pbQotKHdzKWcodGhlbSlmKHRvKWcoYilzKGUpZyhyZXVzZWQpZihhcyloKGlucHV0Lik1NiBiKElmKTYzMAotMzkzNCB5KGFyZ3VtZW4pbSh0cykyOSBiKGFyZSlnKHN1cHBsaWVkLClmKGFuKWgoYWxpYXMpaChpcylmKGRlXDAxNG5lZCkKLWUoZm9yKWkoZWFjKW0oaCloIEZxKG5hbWUpayBGdCh3aG9zZSkyOCBiIEZxKHYpLTUgYihhbHVlKTM1Ci1iIEZ0KGlzKTI5IGIoZ2l2KW0oZW4uKTYzMCA0MDQ0IHkoSWYpMzkgYihubyloIEZxKHYpLTUKLWIoYWx1ZSk0NSBiIEZ0KGlzKTQwIGIoZ2l2KW0oZW4sKWoodGhlKWQobmFtZSlmKGFuZClnKHYpLTUKLWIoYWx1ZSk0MCBiKG9mKWcodGhlKWcoYWxpYXMpaChpcylmKHByaW4pbSh0ZWQuKTY4IGIoQWxpYXNlcyk0MQotYihhcmUpNjMwIDQxNTQgeShkZXNjcmliKXMoZWQpMjkgYihpbiloKFNlY3Rpb24paSg2LjYpZihbQWxpYXNlc10sKWgKLShwYWdlKWYoNzkuKTE1MCA0MzA4IHkgRnMoYmluZCk4NzAgNDQ0MSB5KGJpbmQpNDcgYihbLW0pZwotRmooa2V5bWFwKTExIGIgRnMoXSk0NSBiKFstbHBzdlBTVl0pODcwIDQ1NTAgeShiaW5kKWkoWy1tKWcKLUZqKGtleW1hcCkxMSBiIEZzKF0pNDUgYihbLXEpaSBGaihmdW5jdGlvbikxMSBiIEZzKF0pNDUKLWIoWy11KWggRmooZnVuY3Rpb24pMTEgYiBGcyhdKTQ1IGIoWy1yKWkgRmooa2V5c2VxKTExCi1iIEZzKF0pODcwIDQ2NjAgeShiaW5kKTQ3IGIoWy1tKWcgRmooa2V5bWFwKTExIGIgRnMoXSk0NQotYigtZilpIEZqKGZpbGVuYW1lKTg3MCA0NzY5IHkgRnMoYmluZClnKFstbSlnIEZqKGtleW1hcCkxMQotYiBGcyhdKTQ1IGIoLXgpaSBGaihrZXlzZXE6c2hlbGwtY29tbWFuZCk4NzAgNDg3OSB5IEZzKGJpbmQpZyhbLW0pZwotRmooa2V5bWFwKTExIGIgRnMoXSk0NSBiIEZqKGtleXNlcTpmdW5jdGlvbi1uYW1lKTg3MAotNDk4OSB5IEZzKGJpbmQpaSBGaihyZWFkbGluZS1jb21tYW5kKTYzMCA1MTIxIHkgRnQoRGlzcGxhKW0oeSkyNgotYihjdXJyZW4pbSh0KWYoUmVhZGxpbmUpaChcKHNlZSlnKENoYXB0ZXIpZig4KWcoW0NvbW1hbmQpZyhMaW5lKWcKLShFZGl0aW5nXSwpaShwYWdlKWYoOTNcKSlnKGspbShleSk2MzAgNTIzMCB5KGFuZCkzNiBiKGZ1bmN0aW9uKWcKLShiaW5kaW5ncywpaShiaW5kKWQoYSlpKGspbShleSlnKHNlcXVlbmNlKWcodG8paChhKWYoUmVhZGxpbmUpZwotKGZ1bmN0aW9uKWYob3IpaChtYWNybywpNjMwIDUzNDAgeShvcik0NCBiKHNldCloKGEpZyhSZWFkbGluZSlmKHYpLTUKLWIoYXJpYWJsZS4pODMgYihFYWMpbShoKTQ1IGIobm9uLW9wdGlvbilnKGFyZ3VtZW4pbSh0KWYoaXMpZyhhKWgKLShjb21tYW5kKWYoYXMpZyhpdClwIGVvcCBlbmQKKyh6ZXJvKTYzMCAzMzMxIHkodW5sZXNzKWUoYSlnIEZxKG5hbWUpMzYgYiBGdChpcykzMCBiKHJlYWRvbmx5KS04CitiKC4pMTUwIDM1NjggeSBGcig0LjIpNjggYihCYXNoKTQ1IGIoQnVpbHRpbilnKENvbW1hbmRzKTE1MAorMzcyOCB5IEZ0KFRoaXMpYyhzZWN0aW9uKWgoZGVzY3JpYilzKGVzKWYoYnVpbHRpbilmKGNvbW1hbmRzKWgod2hpYyltCisoaClnKGFyZSloKHVuaXF1ZSllKHRvKWoob3IpZShoYSltKHYpbShlKWgoYilzKGVlbilmKGV4dGVuZGVkKWcoaW4pMTUwCiszODM3IHkoQmFzaC4pZyhTb21lKTMwIGIob2YpaCh0aGVzZSlnKGNvbW1hbmRzKWYoYXJlKWcoc3ApcyhlY2lcMDE0ZWQpZworKGluKWcodGhlKWggRmwocG9zaXgpZSBGdChzdGFuZGFyZC4pMTUwIDQwMDIgeSBGcyhhbGlhcyk4NzAKKzQxMzggeShhbGlhcyk0NiBiKFstcF0paChbKXAgRmkobmFtZSkxMSBiIEZzKFs9KXAgRmkodmFsdWUpZworRnMoXSk0MyBiKC4uLilvKF0pNjMwIDQyNzQgeSBGdChXaXRob3V0KWgoYXJndW1lbiltKHRzKWYob3IpZyh3aXRoKWcKKyh0aGUpaChgKXAgRnMoLXApcCBGdCgnKWYob3B0aW9uLClrIEZzKGFsaWFzKTQxIGIgRnQocHJpbiltKHRzKWkodGhlKWcKKyhsaXN0KWgob2YpZihhbGlhc2VzKTYzMCA0Mzg0IHkob24pMzYgYih0aGUpZyhzdGFuZGFyZClmKG91dHB1dCloKGluKWYKKyhhKWkoZm9ybSllKHRoYXQpaShhbGxvKW0od3MpZyh0aGVtKWYodG8pZyhiKXMoZSlnKHJldXNlZClmKGFzKWgKKyhpbnB1dC4pNTYgYihJZik2MzAgNDQ5MyB5KGFyZ3VtZW4pbSh0cykyOSBiKGFyZSlnKHN1cHBsaWVkLClmKGFuKWgKKyhhbGlhcyloKGlzKWYoZGVcMDE0bmVkKWUoZm9yKWkoZWFjKW0oaCloIEZxKG5hbWUpayBGdCh3aG9zZSkyOAorYiBGcSh2KS01IGIoYWx1ZSkzNSBiIEZ0KGlzKTI5IGIoZ2l2KW0oZW4uKTYzMCA0NjAzIHkoSWYpMzkKK2Iobm8paCBGcSh2KS01IGIoYWx1ZSk0NSBiIEZ0KGlzKTQwIGIoZ2l2KW0oZW4sKWoodGhlKWQobmFtZSlmKGFuZClnKHYpCistNSBiKGFsdWUpNDAgYihvZilnKHRoZSlnKGFsaWFzKWgoaXMpZihwcmluKW0odGVkLik2OAorYihBbGlhc2VzKTQxIGIoYXJlKTYzMCA0NzEyIHkoZGVzY3JpYilzKGVkKTI5IGIoaW4paChTZWN0aW9uKWkoNi42KWYKKyhbQWxpYXNlc10sKWgocGFnZSlmKDc5LikxNTAgNDg3NSB5IEZzKGJpbmQpODcwIDUwMTEKK3koYmluZCk0NyBiKFstbSlnIEZpKGtleW1hcCkxMSBiIEZzKF0pNDUgYihbLWxwc3ZQU1ZdKTg3MAorNTEyMSB5KGJpbmQpaShbLW0pZyBGaShrZXltYXApMTEgYiBGcyhdKTQ1IGIoWy1xKWkgRmkoZnVuY3Rpb24pMTEKK2IgRnMoXSk0NSBiKFstdSloIEZpKGZ1bmN0aW9uKTExIGIgRnMoXSk0NSBiKFstcilpIEZpKGtleXNlcSkxMQorYiBGcyhdKTg3MCA1MjMwIHkoYmluZCk0NyBiKFstbSlnIEZpKGtleW1hcCkxMSBiIEZzKF0pNDUKK2IoLWYpaSBGaShmaWxlbmFtZSk4NzAgNTM0MCB5IEZzKGJpbmQpZyhbLW0pZyBGaShrZXltYXApMTEKK2IgRnMoXSk0NSBiKC14KWkgRmkoa2V5c2VxOnNoZWxsLWNvbW1hbmQpcCBlb3AgZW5kCiAlJVBhZ2U6IDQyIDQ4CiBUZVhEaWN0IGJlZ2luIDQyIDQ3IGJvcCAxNTAgLTExNiBhIEZ0KDQyKTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkodyltKG91bGQpNDIgYihhcHApcyhlYXIpZihpbiloKGEpaAotKFJlYWRsaW5lKWcoaW5pdGlhbGl6YXRpb24paShcMDE0bGUpZChcKHNlZSloKFNlY3Rpb24pZyg4LjMpZwotKFtSZWFkbGluZSlnKEluaXQpNjMwIDQwOCB5KEZpbGVdLClnKHBhZ2UpYyg5NlwpLClrKGJ1dCkzOAotYihlYWMpbShoKWkoYmluZGluZyllKG9yKWgoY29tbWFuZClnKG0pbSh1c3QpZyhiKXMoZSlmKHBhc3NlZClnKGFzKWkoYSkKLWYoc2VwYXJhdGUpNjMwIDUxOCB5KGFyZ3VtZW4pbSh0OykzMSBiKGUuZy4sKWgoYClwIEZzCi0oIlxcQy14XFxDLXIiOnJlLXJlYWQtaW5pdC1mKW8oaWxlKXAgRnQoJy4pNjMwIDY1MiB5KE9wdGlvbnMsKWUoaWYpaAotKHN1cHBsaWVkLCllKGhhKW0odiltKGUpaSh0aGUpZyhmb2xsbyltKHdpbmcpaChtZWFuaW5nczopNjMwCi04MTEgeSBGcygtbSllIEZqKGtleW1hcCkxMTEwIDkyMSB5IEZ0KFVzZSk1NCBiIEZxKGspbShleW1hcClqCi1GdChhcylkKHRoZSlnKGspbShleW1hcClnKHRvKWgoYilzKGUpZShhXDAxM2VjdGVkKWkoYiltKHkpZih0aGUpZwotKHN1YnNlcXVlbiltKHQpMTExMCAxMDMxIHkoYmluZGluZ3MuKTQ2IGIoQWNjZXB0YWJsZSkzNAotYiBGcShrKW0oZXltYXApaSBGdChuYW1lcyljKGFyZSloIEZzKGVtYWNzKXAgRnQoLClmIEZzKGVtYWNzLXN0YW5kYXJkKXAKLUZ0KCwpMTExMCAxMTQwIHkgRnMoZW1hY3MtbWV0YSlwIEZ0KCwpOTkgYiBGcyhlbWFjcy1jdGx4KXAKLUZ0KCwpZiBGcyh2aSlwIEZ0KCwpaiBGcyh2aS1tb3ZlKXAgRnQoLClmIEZzKHZpLWNvbW1hbmQpcAotRnQoLClmKGFuZCkxMTEwIDEyNTAgeSBGcyh2aS1pbnNlcnQpcCBGdCguKTY0IGIgRnModmkpMzgKLWIgRnQoaXMpaChlcXVpdiktNSBiKGFsZW4pbSh0KTQxIGIodG8pZSBGcyh2aS1jb21tYW5kKXAKLUZ0KDspaSBGcyhlbWFjcyljIEZ0KGlzKWkoZXF1aXYpLTUgYihhbGVuKW0odCkxMTEwIDEzNTkKLXkodG8pMzEgYiBGcyhlbWFjcy1zdGFuZGFyZClwIEZ0KC4pNjMwIDE1MTggeSBGcygtbCkzODQKLWIgRnQoTGlzdCkzMSBiKHRoZSlmKG5hbWVzKWcob2YpaChhbGwpZyhSZWFkbGluZSlnKGZ1bmN0aW9ucy4pNjMwCi0xNjc4IHkgRnMoLXApMzg0IGIgRnQoRGlzcGxhKW0oeSkzNCBiKFJlYWRsaW5lKWYoZnVuY3Rpb24pZyhuYW1lcylnCi0oYW5kKWYoYmluZGluZ3MpZihpbilpKHN1YyltKGgpZihhKWkodyltKGEpbSh5KWYodGhhdCkxMTEwCi0xNzg3IHkodGhleSllKGNhbilmKGIpcyhlKWcodXNlZClnKGFzKWcoaW5wdXQpZyhvcilnKGluKWcoYSloKFJlYWRsaW5lKQotZyhpbml0aWFsaXphdGlvbilpKFwwMTRsZS4pNjMwIDE5NDYgeSBGcygtUCkzODQgYiBGdChMaXN0KTMxCi1iKGN1cnJlbiltKHQpZihSZWFkbGluZSloKGZ1bmN0aW9uKWYobmFtZXMpZyhhbmQpZyhiaW5kaW5ncy4pNjMwCi0yMTA1IHkgRnMoLXYpMzg0IGIgRnQoRGlzcGxhKW0oeSkyNSBiKFJlYWRsaW5lKWYodiktNQotYihhcmlhYmxlKTI1IGIobmFtZXMpZihhbmQpZih2KS01IGIoYWx1ZXMpMjQgYihpbilnKHN1YyltKGgpZihhKWkodyltCi0oYSltKHkpZih0aGF0KWgodGhleSkxMTEwIDIyMTUgeShjYW4pMzEgYihiKXMoZSllKHVzZWQpaChhcyloKGlucHV0KWUKLShvciloKGluKWcoYSloKFJlYWRsaW5lKWcoaW5pdGlhbGl6YXRpb24paihcMDE0bGUuKTYzMAotMjM3NCB5IEZzKC1WKTM4NCBiIEZ0KExpc3QpMzEgYihjdXJyZW4pbSh0KWYoUmVhZGxpbmUpaCh2KS01Ci1iKGFyaWFibGUpMzEgYihuYW1lcylmKGFuZClnKHYpLTUgYihhbHVlcy4pNjMwIDI1MzMgeQotRnMoLXMpMzg0IGIgRnQoRGlzcGxhKW0oeSkzOSBiKFJlYWRsaW5lKWYoayltKGV5KWcoc2VxdWVuY2VzKWYoYilzCi0ob3VuZClmKHRvKWkobWFjcm9zKWcoYW5kKWYodGhlKWcoc3RyaW5ncykxMTEwIDI2NDMgeSh0aGV5KWQob3V0cHV0KWYKLShpbiloKHN1YyltKGgpZihhKWgodyltKGEpbSh5KWgodGhhdClmKHRoZXkpZyhjYW4pZyhiKXMoZSlmKHVzZWQpZyhhcyloCi0oaW5wdXQpZShvcilpKGluKWcoYSkxMTEwIDI3NTIgeShSZWFkbGluZSlkKGluaXRpYWxpemF0aW9uKWkoXDAxNGxlLikKLTYzMCAyOTExIHkgRnMoLVMpMzg0IGIgRnQoRGlzcGxhKW0oeSkzOSBiKFJlYWRsaW5lKWYoayltKGV5KWcKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTg3MCAyOTkgeSBGcyhiaW5kKTQ3IGIoWy1tKWcKK0ZpKGtleW1hcCkxMSBiIEZzKF0pNDUgYiBGaShrZXlzZXE6ZnVuY3Rpb24tbmFtZSk4NzAKKzQwOCB5IEZzKGJpbmQpaSBGaShyZWFkbGluZS1jb21tYW5kKTYzMCA1NDUgeSBGdChEaXNwbGEpbSh5KTI2CitiKGN1cnJlbiltKHQpZihSZWFkbGluZSloKFwoc2VlKWcoQ2hhcHRlcilmKDgpZyhbQ29tbWFuZClnKExpbmUpZworKEVkaXRpbmddLClpKHBhZ2UpZig5M1wpKWcoayltKGV5KTYzMCA2NTUgeShhbmQpMzYgYihmdW5jdGlvbilnCisoYmluZGluZ3MsKWkoYmluZClkKGEpaShrKW0oZXkpZyhzZXF1ZW5jZSlnKHRvKWgoYSlmKFJlYWRsaW5lKWcKKyhmdW5jdGlvbilmKG9yKWgobWFjcm8sKTYzMCA3NjUgeShvcik0NCBiKHNldCloKGEpZyhSZWFkbGluZSlmKHYpLTUKK2IoYXJpYWJsZS4pODMgYihFYWMpbShoKTQ1IGIobm9uLW9wdGlvbilnKGFyZ3VtZW4pbSh0KWYoaXMpZyhhKWgKKyhjb21tYW5kKWYoYXMpZyhpdCk2MzAgODc0IHkodyltKG91bGQpZShhcHApcyhlYXIpZihpbiloKGEpaChSZWFkbGluZSlnCisoaW5pdGlhbGl6YXRpb24paShcMDE0bGUpZChcKHNlZSloKFNlY3Rpb24pZyg4LjMpZyhbUmVhZGxpbmUpZyhJbml0KTYzMAorOTg0IHkoRmlsZV0sKWcocGFnZSljKDk2XCksKWsoYnV0KTM4IGIoZWFjKW0oaClpKGJpbmRpbmcpZShvciloCisoY29tbWFuZClnKG0pbSh1c3QpZyhiKXMoZSlmKHBhc3NlZClnKGFzKWkoYSlmKHNlcGFyYXRlKTYzMAorMTA5MyB5KGFyZ3VtZW4pbSh0OykzMSBiKGUuZy4sKWgoYClwIEZzKCJcXEMteFxcQy1yIjpyZS1yZWFkLWluaXQtZilvCisoaWxlKXAgRnQoJy4pNjMwIDEyMzAgeShPcHRpb25zLCllKGlmKWgoc3VwcGxpZWQsKWUoaGEpbSh2KW0oZSlpKHRoZSlnCisoZm9sbG8pbSh3aW5nKWgobWVhbmluZ3M6KTYzMCAxMzk1IHkgRnMoLW0pZSBGaShrZXltYXApMTExMAorMTUwNCB5IEZ0KFVzZSk1NCBiIEZxKGspbShleW1hcClqIEZ0KGFzKWQodGhlKWcoayltKGV5bWFwKWcodG8paChiKXMoZSkKK2UoYVwwMTNlY3RlZClpKGIpbSh5KWYodGhlKWcoc3Vic2VxdWVuKW0odCkxMTEwIDE2MTQKK3koYmluZGluZ3MuKTQ2IGIoQWNjZXB0YWJsZSkzNCBiIEZxKGspbShleW1hcClpIEZ0KG5hbWVzKWMoYXJlKWgKK0ZzKGVtYWNzKXAgRnQoLClmIEZzKGVtYWNzLXN0YW5kYXJkKXAgRnQoLCkxMTEwIDE3MjQKK3kgRnMoZW1hY3MtbWV0YSlwIEZ0KCwpOTkgYiBGcyhlbWFjcy1jdGx4KXAgRnQoLClmIEZzKHZpKXAKK0Z0KCwpaiBGcyh2aS1tb3ZlKXAgRnQoLClmIEZzKHZpLWNvbW1hbmQpcCBGdCgsKWYoYW5kKTExMTAKKzE4MzMgeSBGcyh2aS1pbnNlcnQpcCBGdCguKTY0IGIgRnModmkpMzggYiBGdChpcyloKGVxdWl2KS01CitiKGFsZW4pbSh0KTQxIGIodG8pZSBGcyh2aS1jb21tYW5kKXAgRnQoOylpIEZzKGVtYWNzKWMKK0Z0KGlzKWkoZXF1aXYpLTUgYihhbGVuKW0odCkxMTEwIDE5NDMgeSh0bykzMSBiIEZzKGVtYWNzLXN0YW5kYXJkKXAKK0Z0KC4pNjMwIDIxMDcgeSBGcygtbCkzODQgYiBGdChMaXN0KTMxIGIodGhlKWYobmFtZXMpZyhvZiloKGFsbClnCisoUmVhZGxpbmUpZyhmdW5jdGlvbnMuKTYzMCAyMjcxIHkgRnMoLXApMzg0IGIgRnQoRGlzcGxhKW0oeSkzNAorYihSZWFkbGluZSlmKGZ1bmN0aW9uKWcobmFtZXMpZyhhbmQpZihiaW5kaW5ncylmKGluKWkoc3VjKW0oaClmKGEpaSh3KW0KKyhhKW0oeSlmKHRoYXQpMTExMCAyMzgxIHkodGhleSllKGNhbilmKGIpcyhlKWcodXNlZClnKGFzKWcoaW5wdXQpZyhvcilnCisoaW4pZyhhKWgoUmVhZGxpbmUpZyhpbml0aWFsaXphdGlvbilpKFwwMTRsZS4pNjMwIDI1NDUKK3kgRnMoLVApMzg0IGIgRnQoTGlzdCkzMSBiKGN1cnJlbiltKHQpZihSZWFkbGluZSloKGZ1bmN0aW9uKWYobmFtZXMpZworKGFuZClnKGJpbmRpbmdzLik2MzAgMjcxMCB5IEZzKC12KTM4NCBiIEZ0KERpc3BsYSltKHkpMjUKK2IoUmVhZGxpbmUpZih2KS01IGIoYXJpYWJsZSkyNSBiKG5hbWVzKWYoYW5kKWYodiktNSBiKGFsdWVzKTI0CitiKGluKWcoc3VjKW0oaClmKGEpaSh3KW0oYSltKHkpZih0aGF0KWgodGhleSkxMTEwIDI4MTkKK3koY2FuKTMxIGIoYilzKGUpZSh1c2VkKWgoYXMpaChpbnB1dCllKG9yKWgoaW4pZyhhKWgoUmVhZGxpbmUpZworKGluaXRpYWxpemF0aW9uKWooXDAxNGxlLik2MzAgMjk4NCB5IEZzKC1WKTM4NCBiIEZ0KExpc3QpMzEKK2IoY3VycmVuKW0odClmKFJlYWRsaW5lKWgodiktNSBiKGFyaWFibGUpMzEgYihuYW1lcylmKGFuZClnKHYpLTUKK2IoYWx1ZXMuKTYzMCAzMTQ4IHkgRnMoLXMpMzg0IGIgRnQoRGlzcGxhKW0oeSkzOSBiKFJlYWRsaW5lKWYoayltKGV5KWcKIChzZXF1ZW5jZXMpZihiKXMob3VuZClmKHRvKWkobWFjcm9zKWcoYW5kKWYodGhlKWcoc3RyaW5ncykxMTEwCi0zMDIxIHkodGhleSkzMSBiKG91dHB1dC4pNjMwIDMxODAgeSBGcygtZilmIEZqKGZpbGVuYW1lKTExMTAKLTMyOTAgeSBGdChSZWFkKWgoayltKGV5KWcoYmluZGluZ3MpZShmcm9tKWggRnEoXDAxNGxlbmFtZSlwCi1GdCguKTYzMCAzNDQ5IHkgRnMoLXEpZyBGaihmdW5jdGlvbikxMTEwIDM1NTggeSBGdChRdWVyeSlnKGFiKXMob3V0KWcKLSh3aGljKW0oaClnKGspbShleXMpaChpbiltKHYpbShvayltKGUpaCh0aGUpZihuYW1lZClmCi1GcShmdW5jdGlvbilwIEZ0KC4pNjMwIDM3MTcgeSBGcygtdSlnIEZqKGZ1bmN0aW9uKTExMTAKLTM4MjcgeSBGdChVbiltKGJpbmQpZihhbGwpaShrKW0oZXlzKWcoYilzKG91bmQpZSh0bylpKHRoZSlmKG5hbWVkKWcKLUZxKGZ1bmN0aW9uKXAgRnQoLik2MzAgMzk4NiB5IEZzKC1yKWcgRmooa2V5c2VxKTExMTAKLTQwOTYgeSBGdChSZW1vKW0odiltKGUpaShhbiltKHkpZihjdXJyZW4pbSh0KWYoYmluZGluZylmKGZvciloCi1GcShrKW0oZXlzZXEpcCBGdCguKTYzMCA0MjU1IHkgRnMoLXgpZyBGaihrZXlzZXE6c2hlbGwtY29tbWFuZCkxMTEwCi00MzY0IHkgRnQoQ2F1c2UpMzUgYiBGcShzaGVsbC1jb21tYW5kKWsgRnQodG8pZChiKXMoZSlmKGV4ZWN1dGVkKWgKLSh3aGVuZXYpbShlcilmIEZxKGspbShleXNlcSlqIEZ0KGlzKWQoZW4pbSh0ZXJlZC4pMTExMAotNDQ3NCB5KFdoZW4pNDYgYiBGcShzaGVsbC1jb21tYW5kKWsgRnQoaXMpYyhleGVjdXRlZCwpNTEKLWIodGhlKTQ2IGIoc2hlbGwpZyhzZXRzKWcodGhlKWcgRnMoUkVBRExJTkVfKTExMTAgNDU4MwoteShMSU5FKTM3IGIgRnQodiktNSBiKGFyaWFibGUpMzggYih0bylnKHRoZSlnKGNvbiltKHRlbiltKHRzKWkob2YpZQotKHRoZSlnKFJlYWRsaW5lKWcobGluZSlnKGJ1XDAxM2VyKWYoYW5kKWcodGhlKTExMTAgNDY5MwoteSBGcyhSRUFETElORV9QT0lOVCllIEZ0KHYpLTUgYihhcmlhYmxlKTM5IGIodG8paCh0aGUpZShjdXJyZW4pbSh0KWgKLShsbylzKGNhdGlvbiloKG9mKWYodGhlKWcoaW5zZXJ0aW9uKTExMTAgNDgwMyB5KHApcyhvaW4pbSh0Lik1OQotYihJZikzNyBiKHRoZSlmKGV4ZWN1dGVkKWkoY29tbWFuZCllKGMpbShoYW5nZXMpaSh0aGUpZih2KS01Ci1iKGFsdWUpMzcgYihvZilmIEZzKFJFQURMSU5FXykxMTEwIDQ5MTIgeShMSU5FKTI5IGIgRnQob3IpaAotRnMoUkVBRExJTkVfUE9JTlQpcCBGdCgsKWModGhvc2UpMzEgYihuZXcpZSh2KS01IGIoYWx1ZXMpMzEKLWIod2lsbClmKGIpcyhlKWYocmVcMDE1ZWN0ZWQpaShpbilmKHRoZSkxMTEwIDUwMjIgeShlZGl0aW5nKWgoc3RhdGUuKQotNjMwIDUxODEgeShUaGUpMjYgYihyZXR1cm4pZihzdGF0dXMpaShpcylmKHplcm8paSh1bmxlc3MpZChhbilpKGluKW0odikKLS01IGIoYWxpZCkyNyBiKG9wdGlvbilnKGlzKWYoc3VwcGxpZWQpZihvcilpKGFuKWYoZXJyb3IpZyhvKXMoY2N1cnMuKQotMTUwIDUzNDAgeSBGcyhidWlsdGluKXAgZW9wIGVuZAorMzI1OCB5KHRoZXkpZChvdXRwdXQpZihpbiloKHN1YyltKGgpZihhKWgodyltKGEpbSh5KWgodGhhdClmKHRoZXkpZworKGNhbilnKGIpcyhlKWYodXNlZClnKGFzKWgoaW5wdXQpZShvcilpKGluKWcoYSkxMTEwIDMzNjcKK3koUmVhZGxpbmUpZChpbml0aWFsaXphdGlvbilpKFwwMTRsZS4pNjMwIDM1MzIgeSBGcygtUykzODQKK2IgRnQoRGlzcGxhKW0oeSkzOSBiKFJlYWRsaW5lKWYoayltKGV5KWcoc2VxdWVuY2VzKWYoYilzKG91bmQpZih0bylpCisobWFjcm9zKWcoYW5kKWYodGhlKWcoc3RyaW5ncykxMTEwIDM2NDEgeSh0aGV5KTMxIGIob3V0cHV0Lik2MzAKKzM4MDYgeSBGcygtZilmIEZpKGZpbGVuYW1lKTExMTAgMzkxNSB5IEZ0KFJlYWQpaChrKW0oZXkpZyhiaW5kaW5ncyllCisoZnJvbSloIEZxKFwwMTRsZW5hbWUpNSBiIEZ0KC4pNjMwIDQwODAgeSBGcygtcSkzMCBiCitGaShmdW5jdGlvbikxMTEwIDQxODkgeSBGdChRdWVyeSlnKGFiKXMob3V0KWcod2hpYyltKGgpZyhrKW0oZXlzKWgoaW4pbQorKHYpbShvayltKGUpaCh0aGUpZihuYW1lZClmIEZxKGZ1bmN0aW9uKXAgRnQoLik2MzAgNDM1NAoreSBGcygtdSlnIEZpKGZ1bmN0aW9uKTExMTAgNDQ2MyB5IEZ0KFVuKW0oYmluZClmKGFsbClpKGspbShleXMpZyhiKXMKKyhvdW5kKWUodG8paSh0aGUpZihuYW1lZClnIEZxKGZ1bmN0aW9uKXAgRnQoLik2MzAgNDYyOAoreSBGcygtcilnIEZpKGtleXNlcSkxMTEwIDQ3MzcgeSBGdChSZW1vKW0odiltKGUpaShhbiltKHkpZihjdXJyZW4pbSh0KWYKKyhiaW5kaW5nKWYoZm9yKWggRnEoayltKGV5c2VxKXIgRnQoLik2MzAgNDkwMiB5IEZzKC14KWcKK0ZpKGtleXNlcTpzaGVsbC1jb21tYW5kKTExMTAgNTAxMSB5IEZ0KENhdXNlKTM1IGIgRnEoc2hlbGwtY29tbWFuZClrCitGdCh0bylkKGIpcyhlKWYoZXhlY3V0ZWQpaCh3aGVuZXYpbShlcilmIEZxKGspbShleXNlcSlqCitGdChpcylkKGVuKW0odGVyZWQuKTExMTAgNTEyMSB5KFdoZW4pNDYgYiBGcShzaGVsbC1jb21tYW5kKWsKK0Z0KGlzKWMoZXhlY3V0ZWQsKTUxIGIodGhlKTQ2IGIoc2hlbGwpZyhzZXRzKWcodGhlKWcKK0ZzKFJFQURMSU5FXykxMTEwIDUyMzAgeShMSU5FKTM3IGIgRnQodiktNSBiKGFyaWFibGUpMzgKK2IodG8pZyh0aGUpZyhjb24pbSh0ZW4pbSh0cylpKG9mKWUodGhlKWcoUmVhZGxpbmUpZyhsaW5lKWcoYnVcMDEzZXIpZgorKGFuZClnKHRoZSkxMTEwIDUzNDAgeSBGcyhSRUFETElORV9QT0lOVCllIEZ0KHYpLTUgYihhcmlhYmxlKTM5CitiKHRvKWgodGhlKWUoY3VycmVuKW0odCloKGxvKXMoY2F0aW9uKWgob2YpZih0aGUpZyhpbnNlcnRpb24pcAorZW9wIGVuZAogJSVQYWdlOiA0MyA0OQogVGVYRGljdCBiZWdpbiA0MyA0OCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNDopNDEKLWIoU2hlbGwpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjA2OSBiKDQzKTg3MCAyOTkgeSBGcyhidWlsdGluKTQ2Ci1iKFspcCBGaihzaGVsbC1idWlsdGluKTU0IGIgRnMoWylwIEZqKGFyZ3MpMTEgYiBGcyhdXSk2MzAKLTQzOSB5IEZ0KFJ1bikzNSBiKGEpaShzaGVsbClmKGJ1aWx0aW4sKWkocGFzc2luZyllKGl0KWgKLUZxKGFyZ3MpcCBGdCgsKWgoYW5kKWUocmV0dXJuKWYoaXRzKWkoZXhpdClnKHN0YXR1cy4pNTkKLWIoVGhpcykzNSBiKGlzKWkodXNlZnVsKTYzMCA1NDggeSh3aGVuKTI5IGIoZGVcMDE0bmluZyloKGEpZyhzaGVsbCloCi0oZnVuY3Rpb24pZih3aXRoKWcodGhlKWcoc2FtZSloKG5hbWUpZihhcyloKGEpZyhzaGVsbClmKGJ1aWx0aW4sKWcKLShyZXRhaW5pbmcpNjMwIDY1OCB5KHRoZSlrKGZ1bmN0aW9uYWxpdCltKHkpaChvZilmKHRoZSlmKGJ1aWx0aW4pZwotKHdpdGhpbilnKHRoZSloKGZ1bmN0aW9uLik1MCBiKFRoZSkzMyBiKHJldHVybilnKHN0YXR1cyloKGlzKWYobm9uLSk2MzAKLTc2OCB5KHplcm8pZShpZilnIEZxKHNoZWxsLWJ1aWx0aW4pZiBGdChpcylnKG5vdCloKGEpZyhzaGVsbClmKGJ1aWx0aW4pCi1nKGNvbW1hbmQuKTE1MCA5MzggeSBGcyhjYWxsZXIpODcwIDEwNzggeShjYWxsZXIpNDYgYihbKXAKLUZqKGV4cHIpMTEgYiBGcyhdKTYzMCAxMjE4IHkgRnQoUmV0dXJucykzNCBiKHRoZSlnKGNvbiltKHRleHQpaihvZillCi0oYW4pbSh5KWcoYWN0aXYpbShlKWkoc3Vicm91dGluZSljKGNhbGwpaihcKGEpZihzaGVsbClnKGZ1bmN0aW9uKWYob3IpaAotKGEpZyhzY3JpcHQpNjMwIDEzMjggeShleGVjdXRlZCljKHdpdGgpZih0aGUpaCBGcyguKWYKLUZ0KG9yKWcgRnMoc291cmNlKWYgRnQoYnVpbHRpbnNcKS4pNjMwIDE0NjggeShXaXRob3V0KTQ1Ci1iIEZxKGV4cHIpcCBGdCgsKWogRnMoY2FsbGVyKTQzIGIgRnQoZGlzcGxhKW0oeXMpaSh0aGUpZihsaW5lKWgobiltKHVtKQotbShiKXMoZXIpZihhbmQpZyhzb3VyY2UpZyhcMDE0bGVuYW1lKWgob2YpZyh0aGUpNjMwIDE1NzcKLXkoY3VycmVuKW0odCkzNSBiKHN1YnJvdXRpbmUpZyhjYWxsLik1OCBiKElmKTM1IGIoYSloKG5vbi1uZWdhdGl2KW0oZSlpCi0oaW4pbSh0ZWdlcilmKGlzKWYoc3VwcGxpZWQpZShhcylpIEZxKGV4cHIpcCBGdCgsKWggRnMoY2FsbGVyKTYzMAotMTY4NyB5IEZ0KGRpc3BsYSltKHlzKWsodGhlKWYobGluZSloKG4pbSh1bSltKGIpcyhlciwpaChzdWJyb3V0aW5lKWQKK2IoU2hlbGwpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjA2OSBiKDQzKTExMTAgMjk5IHkocClzKG9pbiltKHQuKTU5CitiKElmKTM3IGIodGhlKWYoZXhlY3V0ZWQpaShjb21tYW5kKWUoYyltKGhhbmdlcylpKHRoZSlmKHYpLTUKK2IoYWx1ZSkzNyBiKG9mKWYgRnMoUkVBRExJTkVfKTExMTAgNDA4IHkoTElORSkyOSBiIEZ0KG9yKWgKK0ZzKFJFQURMSU5FX1BPSU5UKXAgRnQoLCljKHRob3NlKTMxIGIobmV3KWUodiktNSBiKGFsdWVzKTMxCitiKHdpbGwpZihiKXMoZSlmKHJlXDAxNWVjdGVkKWkoaW4pZih0aGUpMTExMCA1MTggeShlZGl0aW5nKWgoc3RhdGUuKTYzMAorNjc3IHkoVGhlKTI2IGIocmV0dXJuKWYoc3RhdHVzKWkoaXMpZih6ZXJvKWkodW5sZXNzKWQoYW4paShpbiltKHYpLTUKK2IoYWxpZCkyNyBiKG9wdGlvbilnKGlzKWYoc3VwcGxpZWQpZihvcilpKGFuKWYoZXJyb3IpZyhvKXMoY2N1cnMuKTE1MAorODM3IHkgRnMoYnVpbHRpbik4NzAgOTcxIHkoYnVpbHRpbik0NiBiKFspcCBGaShzaGVsbC1idWlsdGluKTU0CitiIEZzKFspcCBGaShhcmdzKTExIGIgRnMoXV0pNjMwIDExMDYgeSBGdChSdW4pMzUgYihhKWgoc2hlbGwpaAorKGJ1aWx0aW4sKWcocGFzc2luZylmKGl0KWcgRnEoYXJncyl0IEZ0KCwpaShhbmQpZShyZXR1cm4pZihpdHMpaChleGl0KWgKKyhzdGF0dXMuKTU4IGIoVGhpcykzNiBiKGlzKWcodXNlZnVsKTYzMCAxMjE1IHkod2hlbikyOQorYihkZVwwMTRuaW5nKWgoYSlnKHNoZWxsKWgoZnVuY3Rpb24pZih3aXRoKWcodGhlKWcoc2FtZSloKG5hbWUpZihhcyloCisoYSlnKHNoZWxsKWYoYnVpbHRpbiwpZyhyZXRhaW5pbmcpNjMwIDEzMjUgeSh0aGUpayhmdW5jdGlvbmFsaXQpbSh5KWgKKyhvZilmKHRoZSlmKGJ1aWx0aW4pZyh3aXRoaW4pZyh0aGUpaChmdW5jdGlvbi4pNTAgYihUaGUpMzMKK2IocmV0dXJuKWcoc3RhdHVzKWgoaXMpZihub24tKTYzMCAxNDM1IHkoemVybyllKGlmKWcKK0ZxKHNoZWxsLWJ1aWx0aW4pZiBGdChpcylnKG5vdCloKGEpZyhzaGVsbClmKGJ1aWx0aW4pZyhjb21tYW5kLikxNTAKKzE1OTQgeSBGcyhjYWxsZXIpODcwIDE3MjkgeShjYWxsZXIpNDYgYihbKXAgRmkoZXhwcikxMQorYiBGcyhdKTYzMCAxODYzIHkgRnQoUmV0dXJucykzNCBiKHRoZSlnKGNvbiltKHRleHQpaihvZillKGFuKW0oeSlnCisoYWN0aXYpbShlKWkoc3Vicm91dGluZSljKGNhbGwpaihcKGEpZihzaGVsbClnKGZ1bmN0aW9uKWYob3IpaChhKWcKKyhzY3JpcHQpNjMwIDE5NzMgeShleGVjdXRlZCljKHdpdGgpZih0aGUpaCBGcyguKWYgRnQob3IpZworRnMoc291cmNlKWYgRnQoYnVpbHRpbnNcKS4pNjMwIDIxMDcgeShXaXRob3V0KTQ1IGIgRnEoZXhwcik3CitiIEZ0KCwpNDYgYiBGcyhjYWxsZXIpZCBGdChkaXNwbGEpbSh5cyloKHRoZSlnKGxpbmUpZyhuKW0odW0pbShiKXMoZXIpZgorKGFuZClnKHNvdXJjZSloKFwwMTRsZW5hbWUpaChvZilmKHRoZSk2MzAgMjIxNyB5KGN1cnJlbiltKHQpMzUKK2Ioc3Vicm91dGluZSlmKGNhbGwuKTU2IGIoSWYpMzUgYihhKWgobm9uLW5lZ2F0aXYpbShlKWgoaW4pbSh0ZWdlcilnCisoaXMpZShzdXBwbGllZClmKGFzKWggRnEoZXhwcik3IGIgRnQoLCkzNiBiIEZzKGNhbGxlcik2MzAKKzIzMjYgeSBGdChkaXNwbGEpbSh5cyk0MSBiKHRoZSlmKGxpbmUpaChuKW0odW0pbShiKXMoZXIsKWgoc3Vicm91dGluZSlkCiAobmFtZSwpNDQgYihhbmQpYyhzb3VyY2UpZyhcMDE0bGUpaChjb3JyZXNwKXMob25kaW5nKWUodG8pNjMwCi0xNzk3IHkodGhhdCljKHApcyhvc2l0aW9uKWcoaW4pZih0aGUpaChjdXJyZW4pbSh0KWYoZXhlY3V0aW9uKWkoY2FsbClnCisyNDM2IHkodGhhdCljKHApcyhvc2l0aW9uKWcoaW4pZih0aGUpaChjdXJyZW4pbSh0KWYoZXhlY3V0aW9uKWkoY2FsbClnCiAoc3RhYyltKGsuKTU0IGIoVGhpcykzNCBiKGV4dHJhKWgoaW5mb3JtYXRpb24pZyhtYSltKHkpNjMwCi0xOTA2IHkoYilzKGUpMzAgYih1c2VkLClnKGZvcilnKGV4YW1wbGUsKWgodG8pZyhwcmluKW0odClmKGEpaChzdGFjKW0KKzI1NDUgeShiKXMoZSkzMCBiKHVzZWQsKWcoZm9yKWcoZXhhbXBsZSwpaCh0bylnKHByaW4pbSh0KWYoYSloKHN0YWMpbQogKGspaCh0cmFjZS4pNDIgYihUaGUpMjkgYihjdXJyZW4pbSh0KWkoZnJhbWUpZihpcylnKGZyYW1lKWgoMC4pNjMwCi0yMDQ2IHkoVGhlKWUocmV0dXJuKWYodiktNSBiKGFsdWUpMjkgYihpcyloKDApZih1bmxlc3MpZyh0aGUpZyhzaGVsbClnCisyNjgwIHkoVGhlKWUocmV0dXJuKWYodiktNSBiKGFsdWUpMjkgYihpcyloKDApZih1bmxlc3MpZyh0aGUpZyhzaGVsbClnCiAoaXMpaChub3QpZihleGVjdXRpbmcpaChhKWcoc3Vicm91dGluZSllKGNhbGwpaShvcilnCi1GcShleHByKTYzMCAyMTU2IHkgRnQoZG8pcyhlcylnKG5vdCloKGNvcnJlc3ApcyhvbmQpZSh0bylpKGEpZyh2KS01CitGcShleHByKTYzMCAyNzkwIHkgRnQoZG8pcyhlcylnKG5vdCloKGNvcnJlc3ApcyhvbmQpZSh0bylpKGEpZyh2KS01CiBiKGFsaWQpMzAgYihwKXMob3NpdGlvbiloKGluKWYodGhlKWcoY2FsbClpKHN0YWMpbShrLikxNTAKLTIzMjYgeSBGcyhjb21tYW5kKTg3MCAyNDY2IHkoY29tbWFuZCk0NiBiKFstcFZ2XSlnIEZqKGNvbW1hbmQpNTYKLWIgRnMoWylwIEZqKGFyZ3VtZW50cylnIEZzKC4uLilvKF0pNjMwIDI2MDYgeSBGdChSdW5zKTMyCi1iIEZxKGNvbW1hbmQpayBGdCh3aXRoKWQgRnEoYXJndW1lbiltKHRzKWsgRnQoaWdub3JpbmcpYyhhbiltKHkpZwotKHNoZWxsKWgoZnVuY3Rpb24pZShuYW1lZCloIEZxKGNvbW1hbmQpcCBGdCguKTYzMCAyNzE2CisyOTQ5IHkgRnMoY29tbWFuZCk4NzAgMzA4MyB5KGNvbW1hbmQpNDYgYihbLXBWdl0pZyBGaShjb21tYW5kKTU2CitiIEZzKFspcCBGaShhcmd1bWVudHMpZyBGcyguLi4pbyhdKTYzMCAzMjE4IHkgRnQoUnVucykzMQorYiBGcShjb21tYW5kKTM2IGIgRnQod2l0aClkIEZxKGFyZ3VtZW4pbSh0cylqIEZ0KGlnbm9yaW5nKWQoYW4pbSh5KWcKKyhzaGVsbClnKGZ1bmN0aW9uKWYobmFtZWQpZyBGcShjb21tYW5kKXQgRnQoLik2MzAgMzMyOAogeShPbmx5KTM5IGIoc2hlbGwpaShidWlsdGluKWUoY29tbWFuZHMpaChvcilnKGNvbW1hbmRzKWYoZm91bmQpZyhiKW0oeSkKLWgoc2VhcmMpbShoaW5nKWgodGhlKWYgRnMoUEFUSClmIEZ0KGFyZSk2MzAgMjgyNiB5KGV4ZWN1dGVkLilnKElmKTIzCitoKHNlYXJjKW0oaGluZyloKHRoZSlmIEZzKFBBVEgpZiBGdChhcmUpNjMwIDM0MzcgeShleGVjdXRlZC4pZyhJZikyMwogYih0aGVyZSloKGlzKWYoYSloKHNoZWxsKWYoZnVuY3Rpb24pZyhuYW1lZClnIEZzKGxzKXAKIEZ0KCwpaShydW5uaW5nKWMoYClwIEZzKGNvbW1hbmQpMjkgYihscylwIEZ0KCcpMjMgYih3aXRoaW4pZyh0aGUpNjMwCi0yOTM1IHkoZnVuY3Rpb24pMzMgYih3aWxsKWcoZXhlY3V0ZSlpKHRoZSlmKGV4dGVybmFsKWcoY29tbWFuZClmCiszNTQ3IHkoZnVuY3Rpb24pMzMgYih3aWxsKWcoZXhlY3V0ZSlpKHRoZSlmKGV4dGVybmFsKWcoY29tbWFuZClmCiBGcyhscylmIEZ0KGluc3RlYWQpaShvZilmKGNhbGxpbmcpaSh0aGUpZShmdW5jdGlvbik2MzAKLTMwNDUgeShyZWN1cnNpdiltKGVseSktOCBiKC4pODQgYihUaGUpNDQgYihgKXAgRnMoLXApcAorMzY1NiB5KHJlY3Vyc2l2KW0oZWx5KS04IGIoLik4NCBiKFRoZSk0NCBiKGApcCBGcygtcClwCiBGdCgnKWgob3B0aW9uKWcobWVhbnMpZih0byloKHVzZSlnKGEpZihkZWZhdWx0KWgodiktNQotYihhbHVlKTQ1IGIoZm9yKWYgRnMoUEFUSClnIEZ0KHRoYXQpaChpcyk2MzAgMzE1NCB5KGd1YXJhbiltKHRlZWQpMzUKK2IoYWx1ZSk0NSBiKGZvcilmIEZzKFBBVEgpZyBGdCh0aGF0KWgoaXMpNjMwIDM3NjYgeShndWFyYW4pbSh0ZWVkKTM1CiBiKHRvKWYoXDAxNG5kKWUoYWxsKWoob2YpZih0aGUpZyhzdGFuZGFyZClmKHV0aWxpdGllcy4pNTIKLWIoVGhlKTMzIGIocmV0dXJuKWcoc3RhdHVzKWgoaW4pZih0aGlzKWgoY2FzZSk2MzAgMzI2NAorYihUaGUpMzMgYihyZXR1cm4pZyhzdGF0dXMpaChpbilmKHRoaXMpaChjYXNlKTYzMCAzODc1CiB5KGlzKTI5IGIoMTI3KWcoaWYpZyBGcShjb21tYW5kKWogRnQoY2Fubm90KWQoYilzKGUpZShmb3VuZCloKG9yKWcoYW4pZwogKGVycm9yKWgobylzKGNjdXJyZWQsKWYoYW5kKWcodGhlKWgoZXhpdClnKHN0YXR1cylnKG9mKTYzMAotMzM3MyB5IEZxKGNvbW1hbmQpMzQgYiBGdChvdGhlcndpc2UuKTYzMCAzNTEzIHkoSWYpMjUKKzM5ODUgeSBGcShjb21tYW5kKTM0IGIgRnQob3RoZXJ3aXNlLik2MzAgNDEyMCB5KElmKTI1CiBiKGVpdGhlcilnKHRoZSloKGApcCBGcygtVilwIEZ0KCcpZihvcilnKGApcCBGcygtdilwCiBGdCgnKWcob3B0aW9uKWcoaXMpZyhzdXBwbGllZCwpaChhKWYoZGVzY3JpcHRpb24pZyhvZiloCi1GcShjb21tYW5kKWkgRnQoaXMpZChwcmluKW0odGVkLik2MzAgMzYyMyB5KFRoZSlpKGApcAorRnEoY29tbWFuZClpIEZ0KGlzKWQocHJpbiltKHRlZC4pNjMwIDQyMjkgeShUaGUpaShgKXAKIEZzKC12KXAgRnQoJyloKG9wdGlvbiloKGNhdXNlcylmKGEpaChzaW5nbGUpZih3KW0ob3JkKWcoaW5kaWNhdGluZyloCi0odGhlKWYoY29tbWFuZClnKG9yKWcoXDAxNGxlKWcobmFtZSlnKHVzZWQpNjMwIDM3MzMgeSh0bykzNgorKHRoZSlmKGNvbW1hbmQpZyhvcilnKFwwMTRsZSlnKG5hbWUpZyh1c2VkKTYzMCA0MzM5IHkodG8pMzYKIGIoaW4pbSh2KW0ob2spbShlKWcgRnEoY29tbWFuZClqIEZ0KHRvKWMoYilzKGUpZyhkaXNwbGEpbSh5KW0oZWQ7KWoKICh0aGUpZChgKXAgRnMoLVYpcCBGdCgnKWcob3B0aW9uKWcocHJvKXMoZHVjZXMpZShhKWoobW9yZSlmKHYpbShlcmIpcwotKG9zZSk2MzAgMzg0MiB5KGRlc2NyaXB0aW9uLik2MSBiKEluKTM2IGIodGhpcyloKGNhc2UsKWoodGhlKWUocmV0dXJuKWUKKyhvc2UpNjMwIDQ0NDggeShkZXNjcmlwdGlvbi4pNjEgYihJbikzNiBiKHRoaXMpaChjYXNlLClqKHRoZSllKHJldHVybillCiAoc3RhdHVzKWgoaXMpZyh6ZXJvKWgoaWYpZiBGcShjb21tYW5kKWsgRnQoaXMpYyhmb3VuZCwpaChhbmQpNjMwCi0zOTUyIHkobm9uLXplcm8pMzEgYihpZilmKG5vdC4pMTUwIDQxMjIgeSBGcyhkZWNsYXJlKTg3MAotNDI2MiB5KGRlY2xhcmUpNDYgYihbLWFBZkZpbHJ0dXhdKWUoWy1wXSlqKFspcCBGaihuYW1lKTExCi1iIEZzKFs9KXAgRmoodmFsdWUpZyBGcyhdKTQzIGIoLi4uKW8oXSk2MzAgNDQwMiB5IEZ0KERlY2xhcmUpMjkKKzQ1NTggeShub24temVybykzMSBiKGlmKWYobm90LikxNTAgNDcxNyB5IEZzKGRlY2xhcmUpODcwCis0ODUyIHkoZGVjbGFyZSk0NiBiKFstYUFmRmlscnR1eF0pZShbLXBdKWooWylwIEZpKG5hbWUpMTEKK2IgRnMoWz0pcCBGaSh2YWx1ZSlnIEZzKF0pNDMgYiguLi4pbyhdKTYzMCA0OTg2IHkgRnQoRGVjbGFyZSkyOQogYih2KS01IGIoYXJpYWJsZXMpMjggYihhbmQpZShnaXYpbShlKWoodGhlbSllKGF0dHJpYnV0ZXMuKTQwCiBiKElmKTI3IGIobm8pZyBGcShuYW1lKTUgYiBGdChzKTI3IGIoYXJlKWgoZ2l2KW0oZW4sKWgodGhlbillKGRpc3BsYSltCi0oeSk2MzAgNDUxMiB5KHRoZSlrKHYpLTUgYihhbHVlcykzMCBiKG9mKWgodiktNSBiKGFyaWFibGVzKTMxCi1iKGluc3RlYWQuKTYzMCA0NjUyIHkoVGhlKWQoYClwIEZzKC1wKXAgRnQoJylnKG9wdGlvbilnKHdpbGwpaChkaXNwbGEpbQotKHkpZih0aGUpaChhdHRyaWJ1dGVzKWYoYW5kKWcodiktNSBiKGFsdWVzKTI4IGIob2YpaChlYWMpbShoKWcKLUZxKG5hbWUpcCBGdCguKTQwIGIoV2hlbikyOCBiKGApcCBGcygtcClwIEZ0KCcpNjMwIDQ3NjIKLXkoaXMpaSh1c2VkKWcod2l0aClnIEZxKG5hbWUpMzYgYiBGdChhcmd1bWVuKW0odHMsKTMxCi1iKGFkZGl0aW9uYWwpZyhvcHRpb25zKWYoYXJlKWgoaWdub3JlZC4pNjMwIDQ5MDIgeShXaGVuKTM2Ci1iKGApcCBGcygtcClwIEZ0KCcpZihpcyloKHN1cHBsaWVkKWYod2l0aG91dCloIEZxKG5hbWUpNDEKLWIgRnQoYXJndW1lbiltKHRzLClkIEZzKGRlY2xhcmUpYyBGdCh3aWxsKWkoZGlzcGxhKW0oeSlnKHRoZSlnKGF0LSk2MzAKLTUwMTEgeSh0cmlidXRlcykzMSBiKGFuZClmKHYpLTUgYihhbHVlcykzMSBiKG9mKWcoYWxsKWgodiktNQotYihhcmlhYmxlcykzMSBiKGhhKW0odmluZyloKHRoZSlmKGF0dHJpYnV0ZXMpZyhzcClzKGVjaVwwMTRlZClmKGIpbSh5KWgKLSh0aGUpZyhhZGRpLSk2MzAgNTEyMSB5KHRpb25hbCloKG9wdGlvbnMuKTQxIGIoSWYpMzAKLWIobm8pZyhvdGhlciloKG9wdGlvbnMpZyhhcmUpZyhzdXBwbGllZCllKHdpdGgpaChgKXAKLUZzKC1wKXAgRnQoJywpZyBGcyhkZWNsYXJlKWYgRnQod2lsbClpKGRpc3BsYSltKHkpNjMwCi01MjMwIHkodGhlKWYoYXR0cmlidXRlcylnKGFuZCllKHYpLTUgYihhbHVlcykzMCBiKG9mKWcoYWxsKWcoc2hlbGwpZyh2KQotLTUgYihhcmlhYmxlcy4pNDEgYihUaGUpMjkgYihgKXAgRnMoLWYpcCBGdCgnKWcob3B0aW9uKWgod2lsbClnCi0ocmVzdHJpY3QpZyh0aGUpNjMwIDUzNDAgeShkaXNwbGEpbSh5KWgodG8pZyhzaGVsbClmKGZ1bmN0aW9ucy4pcAotZW9wIGVuZAorKHkpNjMwIDUwOTYgeSh0aGUpayh2KS01IGIoYWx1ZXMpMzAgYihvZiloKHYpLTUgYihhcmlhYmxlcykzMQorYihpbnN0ZWFkLik2MzAgNTIzMCB5KFRoZSljKGApcCBGcygtcClwIEZ0KCcpaChvcHRpb24pZyh3aWxsKWcoZGlzcGxhKW0KKyh5KWcodGhlKWcoYXR0cmlidXRlcylnKGFuZClnKHYpLTUgYihhbHVlcykyOCBiKG9mKWcoZWFjKW0oaCloCitGcShuYW1lKTUgYiBGdCguKTQwIGIoV2hlbikyNyBiKGApcCBGcygtcClwIEZ0KCcpNjMwCis1MzQwIHkoaXMpaih1c2VkKWcod2l0aClnIEZxKG5hbWUpMzYgYiBGdChhcmd1bWVuKW0odHMsKTMxCitiKGFkZGl0aW9uYWwpZyhvcHRpb25zKWYoYXJlKWgoaWdub3JlZC4pcCBlb3AgZW5kCiAlJVBhZ2U6IDQ0IDUwCiBUZVhEaWN0IGJlZ2luIDQ0IDQ5IGJvcCAxNTAgLTExNiBhIEZ0KDQ0KTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkoVGhlKTM2IGIoYClwIEZzKC1GKXAKLUZ0KCcpaChvcHRpb24pZyhpbmhpYml0cylmKHRoZSloKGRpc3BsYSltKHkpZyhvZilnKGZ1bmN0aW9uKWcKLShkZVwwMTRuaXRpb25zOylpKG9ubHkpZSh0aGUpZyhmdW5jdGlvbik2MzAgNDA4IHkobmFtZSkzMAotYihhbmQpZihhdHRyaWJ1dGVzKWkoYXJlKWYocHJpbiltKHRlZC4pNDAgYihJZikzMCBiKHRoZSlnCi1GcyhleHRkZWJ1ZyllIEZ0KHNoZWxsKWkob3B0aW9uKWcoaXMpZyhlbmFibGVkKWcodXNpbmcpNjMwCi01MTggeSBGcyhzaG9wdCkyNCBiIEZ0KFwoc2VlKWkoU2VjdGlvbilnKDQuMy4yKWkoW1RoZSlkKFNob3B0KWYKLShCdWlsdGluXSwpayhwYWdlKWUoNTRcKSwpaSh0aGUpZChzb3VyY2UpaChcMDE0bGUpZihuYW1lKWgoYW5kKTYzMAotNjI4IHkobGluZSkzOCBiKG4pbSh1bSltKGIpcyhlcillKHdoZXJlKWkodGhlKWcoZnVuY3Rpb24pZihpcyloCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkoV2hlbikzNiBiKGApcCBGcygtcClwCitGdCgnKWYoaXMpaChzdXBwbGllZClmKHdpdGhvdXQpaCBGcShuYW1lKTQxIGIgRnQoYXJndW1lbiltKHRzLClkCitGcyhkZWNsYXJlKWMgRnQod2lsbClpKGRpc3BsYSltKHkpZyh0aGUpZyhhdC0pNjMwIDQwOAoreSh0cmlidXRlcykzMSBiKGFuZClmKHYpLTUgYihhbHVlcykzMSBiKG9mKWcoYWxsKWgodiktNQorYihhcmlhYmxlcykzMSBiKGhhKW0odmluZyloKHRoZSlmKGF0dHJpYnV0ZXMpZyhzcClzKGVjaVwwMTRlZClmKGIpbSh5KWgKKyh0aGUpZyhhZGRpLSk2MzAgNTE4IHkodGlvbmFsKWgob3B0aW9ucy4pNDEgYihJZikzMCBiKG5vKWcob3RoZXIpaAorKG9wdGlvbnMpZyhhcmUpZyhzdXBwbGllZCllKHdpdGgpaChgKXAgRnMoLXApcCBGdCgnLClnCitGcyhkZWNsYXJlKWYgRnQod2lsbClpKGRpc3BsYSltKHkpNjMwIDYyOCB5KHRoZSlmKGF0dHJpYnV0ZXMpZyhhbmQpZSh2KQorLTUgYihhbHVlcykzMCBiKG9mKWcoYWxsKWcoc2hlbGwpZyh2KS01IGIoYXJpYWJsZXMuKTQxCitiKFRoZSkyOSBiKGApcCBGcygtZilwIEZ0KCcpZyhvcHRpb24paCh3aWxsKWcocmVzdHJpY3QpZyh0aGUpNjMwCis3MzcgeShkaXNwbGEpbSh5KWgodG8pZyhzaGVsbClmKGZ1bmN0aW9ucy4pNjMwIDg2NyB5KFRoZSkzNgorYihgKXAgRnMoLUYpcCBGdCgnKWgob3B0aW9uKWcoaW5oaWJpdHMpZih0aGUpaChkaXNwbGEpbSh5KWcob2YpZworKGZ1bmN0aW9uKWcoZGVcMDE0bml0aW9uczspaShvbmx5KWUodGhlKWcoZnVuY3Rpb24pNjMwCis5NzYgeShuYW1lKTMwIGIoYW5kKWYoYXR0cmlidXRlcylpKGFyZSlmKHByaW4pbSh0ZWQuKTQwCitiKElmKTMwIGIodGhlKWcgRnMoZXh0ZGVidWcpZSBGdChzaGVsbClpKG9wdGlvbilnKGlzKWcoZW5hYmxlZClnKHVzaW5nKQorNjMwIDEwODYgeSBGcyhzaG9wdCkyNCBiIEZ0KFwoc2VlKWkoU2VjdGlvbilnKDQuMy4yKWkoW1RoZSlkKFNob3B0KWYKKyhCdWlsdGluXSwpayhwYWdlKWUoNTVcKSwpaSh0aGUpZChzb3VyY2UpaChcMDE0bGUpZihuYW1lKWgoYW5kKTYzMAorMTE5NiB5KGxpbmUpMzggYihuKW0odW0pbShiKXMoZXIpZSh3aGVyZSlpKHRoZSlnKGZ1bmN0aW9uKWYoaXMpaAogKGRlXDAxNG5lZCllKGFyZSlpKGRpc3BsYSltKHkpbShlZCloKGFzKWUodyltKGVsbC4pNjQKLWIoYClwIEZzKC1GKXAgRnQoJykzOCBiKGltcGxpZXMpNjMwIDczNyB5KGApcCBGcygtZilwCitiKGApcCBGcygtRilwIEZ0KCcpMzggYihpbXBsaWVzKTYzMCAxMzA1IHkoYClwIEZzKC1mKXAKIEZ0KCcuKWkoVGhlKTI4IGIoZm9sbG8pbSh3aW5nKWkob3B0aW9ucylmKGNhbilmKGIpcyhlKWcodXNlZClnKHRvKWgKIChyZXN0cmljdClnKG91dHB1dClmKHRvKWgodiktNSBiKGFyaWFibGVzKTMwIGIod2l0aCllKHRoZSk2MzAKLTg0NyB5KHNwKXMoZWNpXDAxNGVkKWkoYXR0cmlidXRlcyloKG9yKWYodG8paChnaXYpbShlKWgodiktNQotYihhcmlhYmxlcykzMSBiKGF0dHJpYnV0ZXM6KTYzMCAxMDAwIHkgRnMoLWEpMzg0IGIgRnQoRWFjKW0oaCkzNgorMTQxNSB5KHNwKXMoZWNpXDAxNGVkKWkoYXR0cmlidXRlcyloKG9yKWYodG8paChnaXYpbShlKWgodiktNQorYihhcmlhYmxlcykzMSBiKGF0dHJpYnV0ZXM6KTYzMCAxNTY0IHkgRnMoLWEpMzg0IGIgRnQoRWFjKW0oaCkzNgogYiBGcShuYW1lKWsgRnQoaXMpMzQgYihhbiloKGluZGV4ZWQpZyhhcnJhKW0oeSlnKHYpLTUKIGIoYXJpYWJsZSkzNiBiKFwoc2VlKWYoU2VjdGlvbiloKDYuNylnKFtBcnJhKW0oeXNdLCkxMTEwCi0xMTEwIHkocGFnZSkzMSBiKDgwXCkuKTYzMCAxMjYzIHkgRnMoLUEpMzg0IGIgRnQoRWFjKW0oaCkyNAorMTY3NCB5KHBhZ2UpMzEgYig4MFwpLik2MzAgMTgyMyB5IEZzKC1BKTM4NCBiIEZ0KEVhYyltKGgpMjQKIGIgRnEobmFtZSlrIEZ0KGlzKTIzIGIoYW4pZyhhc3NvKXMoY2lhdGl2KW0oZSlqKGFycmEpbSh5KWUodiktNQogYihhcmlhYmxlKTI0IGIoXChzZWUpZyhTZWN0aW9uKWcoNi43KWcoW0FycmEpbSh5c10sKTExMTAKLTEzNzMgeShwYWdlKTMxIGIoODBcKS4pNjMwIDE1MjYgeSBGcygtZikzODQgYiBGdChVc2UpMzEKLWIoZnVuY3Rpb24pZihuYW1lcylnKG9ubHkpLTggYiguKTYzMCAxNjgwIHkgRnMoLWkpMzg0CisxOTMzIHkocGFnZSkzMSBiKDgwXCkuKTYzMCAyMDgyIHkgRnMoLWYpMzg0IGIgRnQoVXNlKTMxCitiKGZ1bmN0aW9uKWYobmFtZXMpZyhvbmx5KS04IGIoLik2MzAgMjIzMiB5IEZzKC1pKTM4NAogYiBGdChUaGUpMzYgYih2KS01IGIoYXJpYWJsZSkzNyBiKGlzKWYodG8paChiKXMoZSlmKHRyZWF0ZWQpaChhcylnKGFuKWYKIChpbiltKHRlZ2VyOyk0MSBiKGFyaXRobWV0aWMpYyhldiktNSBiKGFsdWF0aW9uKTExMTAKLTE3ODkgeShcKHNlZSkyOSBiKFNlY3Rpb24pZig2LjUpaChbU2hlbGwpZihBcml0aG1ldGljXSwpaShwYWdlKWUoNzhcKSloCi0oaXMpZihwKXMoZXJmb3JtZWQpZSh3aGVuKWgodGhlKTExMTAgMTg5OSB5KHYpLTUgYihhcmlhYmxlKTMxCi1iKGlzKWcoYXNzaWduZWQpZihhKWgodiktNSBiKGFsdWUuKTYzMCAyMDUyIHkgRnMoLWwpMzg0CisyMzQxIHkoXChzZWUpMjkgYihTZWN0aW9uKWYoNi41KWgoW1NoZWxsKWYoQXJpdGhtZXRpY10sKWkocGFnZSllKDc4XCkpaAorKGlzKWYocClzKGVyZm9ybWVkKWUod2hlbiloKHRoZSkxMTEwIDI0NTEgeSh2KS01IGIoYXJpYWJsZSkzMQorYihpcylnKGFzc2lnbmVkKWYoYSloKHYpLTUgYihhbHVlLik2MzAgMjYwMCB5IEZzKC1sKTM4NAogYiBGdChXaGVuKTI2IGIodGhlKWcodiktNSBiKGFyaWFibGUpMjcgYihpcylmKGFzc2lnbmVkKWcoYSlnKHYpLTUKIGIoYWx1ZSwpMjggYihhbGwpZih1cHApcyhlci1jYXNlKWUoYyltKGhhcmFjdGVycylqKGFyZSkxMTEwCi0yMTYyIHkoY29uKW0odiltKGVydGVkKWsodG8pZihsbyltKHcpbShlci1jYXNlLik0MyBiKFRoZSkzMAotYih1cHApcyhlci1jYXNlKWcoYXR0cmlidXRlKWgoaXMpZyhkaXNhYmxlZC4pNjMwIDIzMTUKKzI3MTAgeShjb24pbSh2KW0oZXJ0ZWQpayh0bylmKGxvKW0odyltKGVyLWNhc2UuKTQzIGIoVGhlKTMwCitiKHVwcClzKGVyLWNhc2UpZyhhdHRyaWJ1dGUpaChpcylnKGRpc2FibGVkLik2MzAgMjg1OQogeSBGcygtcikzODQgYiBGdChNYWspbShlKTI1IGIgRnEobmFtZSk1IGIgRnQocykyMyBiKHJlYWRvbmx5KS04CiBiKC4pMzkgYihUaGVzZSkyNCBiKG5hbWVzKWYoY2Fubm90KWgodGhlbilmKGIpcyhlKWcoYXNzaWduZWQpaCh2KS01Ci1iKGFsdWVzKTExMTAgMjQyNSB5KGIpbSh5KTMwIGIoc3Vic2VxdWVuKW0odClnKGFzc2lnbm1lbiltKHQpaAotKHN0YXRlbWVuKW0odHMpaChvcilmKHVuc2V0Lik2MzAgMjU3OCB5IEZzKC10KTM4NCBiIEZ0KEdpdiltKGUpMzMKK2IoYWx1ZXMpMTExMCAyOTY5IHkoYiltKHkpMzAgYihzdWJzZXF1ZW4pbSh0KWcoYXNzaWdubWVuKW0odCloCisoc3RhdGVtZW4pbSh0cyloKG9yKWYodW5zZXQuKTYzMCAzMTE4IHkgRnMoLXQpMzg0IGIgRnQoR2l2KW0oZSkzMwogYihlYWMpbShoKWggRnEobmFtZSlqIEZ0KHRoZSkzMiBiIEZzKHRyYWNlKWYgRnQoYXR0cmlidXRlLik0NgotYihUKS04IGIocmFjZWQpMzIgYihmdW5jdGlvbnMpZyhpbmhlcml0KWcodGhlKTExMTAgMjY4OAorYihUKS04IGIocmFjZWQpMzIgYihmdW5jdGlvbnMpZyhpbmhlcml0KWcodGhlKTExMTAgMzIyOAogeSBGcyhERUJVRykyNiBiIEZ0KGFuZCloIEZzKFJFVFVSTilmIEZ0KHRyYXBzKWgoZnJvbSlnKHRoZSloKGNhbGxpbmcpaAotKHNoZWxsLik0MCBiKFRoZSkyNyBiKHRyYWNlKWkoYXR0cmlidXRlKTExMTAgMjc5OCB5KGhhcyloKG5vKWcoc3ApcwotKGVjaWFsKWgobWVhbmluZylnKGZvcilmKHYpLTUgYihhcmlhYmxlcy4pNjMwIDI5NTEgeQorKHNoZWxsLik0MCBiKFRoZSkyNyBiKHRyYWNlKWkoYXR0cmlidXRlKTExMTAgMzMzNyB5KGhhcyloKG5vKWcoc3ApcworKGVjaWFsKWgobWVhbmluZylnKGZvcilmKHYpLTUgYihhcmlhYmxlcy4pNjMwIDM0ODcgeQogRnMoLXUpMzg0IGIgRnQoV2hlbikyOCBiKHRoZSloKHYpLTUgYihhcmlhYmxlKTI5IGIoaXMpZihhc3NpZ25lZCloKGEpZgogKHYpLTUgYihhbHVlLCkzMCBiKGFsbClmKGxvKW0odyltKGVyLWNhc2UpaShjKW0oaGFyYWN0ZXJzKWYoYXJlKTExMTAKLTMwNjEgeShjb24pbSh2KW0oZXJ0ZWQpaSh0bylmKHVwcClzKGVyLWNhc2UuKTQwIGIoVGhlKTMwCi1iKGxvKW0odyltKGVyLWNhc2UpaihhdHRyaWJ1dGUpZShpcylnKGRpc2FibGVkLik2MzAgMzIxNAorMzU5NyB5KGNvbiltKHYpbShlcnRlZClpKHRvKWYodXBwKXMoZXItY2FzZS4pNDAgYihUaGUpMzAKK2IobG8pbSh3KW0oZXItY2FzZSlqKGF0dHJpYnV0ZSllKGlzKWcoZGlzYWJsZWQuKTYzMCAzNzQ2CiB5IEZzKC14KTM4NCBiIEZ0KE1hcmspMzAgYihlYWMpbShoKWggRnEobmFtZSlrIEZ0KGZvcikyOQogYihleHApcyhvcnQpaCh0bylnKHN1YnNlcXVlbiltKHQpZihjb21tYW5kcyloKHZpYSlnKHRoZSlnKGVuKW0odmktKTExMTAKLTMzMjQgeShyb25tZW4pbSh0Lik2MzAgMzQ3NyB5KFVzaW5nKWUoYClwIEZzKCspcCBGdCgnKWgoaW5zdGVhZClmKG9mKWcKKzM4NTYgeShyb25tZW4pbSh0Lik2MzAgNDAwNSB5KFVzaW5nKWUoYClwIEZzKCspcCBGdCgnKWgoaW5zdGVhZClmKG9mKWcKIChgKXAgRnMoLSlwIEZ0KCcpZyh0dXJucylmKG9cMDEzKWkodGhlKWYoYXR0cmlidXRlKWgoaW5zdGVhZCwpZyh3aXRoKWYKLSh0aGUpZyhleGNlcHRpb25zKWgodGhhdCk2MzAgMzU4NyB5KGApcCBGcygrYSlwIEZ0KCcpaChtYSltKHkpaChub3QpZgorKHRoZSlnKGV4Y2VwdGlvbnMpaCh0aGF0KTYzMCA0MTE1IHkoYClwIEZzKCthKXAgRnQoJyloKG1hKW0oeSloKG5vdClmCiAoYilzKGUpZih1c2VkKWcodG8paShkZXN0cm8pbSh5KWcoYW4pZihhcnJhKW0oeSlnKHYpLTUKIGIoYXJpYWJsZSkzMSBiKGFuZClmKGApcCBGcygrcilwIEZ0KCcpZyh3aWxsKWcobm90KWcocmVtbyltKHYpbShlKWkKLSh0aGUpNjMwIDM2OTYgeShyZWFkb25seSllKGF0dHJpYnV0ZS4pNDEgYihXaGVuKTMwIGIodXNlZClmKGluKWcoYSloCisodGhlKTYzMCA0MjI0IHkocmVhZG9ubHkpZShhdHRyaWJ1dGUuKTQxIGIoV2hlbikzMCBiKHVzZWQpZihpbilnKGEpaAogKGZ1bmN0aW9uLClnIEZzKGRlY2xhcmUpZSBGdChtYWspbShlcylqKGVhYyltKGgpZiBGcShuYW1lKTM1Ci1iIEZ0KGxvKXMoY2FsLCk2MzAgMzgwNiB5KGFzKTI0IGIod2l0aClnKHRoZSlnIEZzKGxvY2FsKWUKLUZ0KGNvbW1hbmQuKTM5IGIoSWYpMjMgYihhKWkodiktNSBiKGFyaWFibGUpMjQgYihuYW1lKWcoaXMpZyhmb2xsbyltKHcpCi1tKGVkKWkoYiltKHkpZSg9KXAgRnEodiktNSBiKGFsdWUpcCBGdCgsKTI1IGIodGhlKWYodiktNQotYihhbHVlKTYzMCAzOTE1IHkob2YpMzEgYih0aGUpZih2KS01IGIoYXJpYWJsZSkzMSBiKGlzKWcoc2V0KWcodG8pZwotRnEodiktNSBiKGFsdWUpcCBGdCguKTYzMCA0MDQ3IHkoVGhlKTM1IGIocmV0dXJuKWYoc3RhdHVzKWkoaXMpZyh6ZXJvKWcKLSh1bmxlc3MpZihhbilnKGluKW0odiktNSBiKGFsaWQpMzYgYihvcHRpb24pZyhpcylnKGVuY291biltKHRlcmVkLCloCi0oYW4pZihhdHRlbXB0KTYzMCA0MTU2IHkoaXMpYyhtYWRlKWcodG8pZyhkZVwwMTRuZSlmKGEpaChmdW5jdGlvbilnCi0odXNpbmcpZihgKXAgRnMoLWYpZihmb289YmFyKXAgRnQoJywpaChhbiloKGF0dGVtcHQpZyhpcylnKG1hZGUpZyh0byloCi0oYXNzaWduKTYzMCA0MjY2IHkoYSk0MiBiKHYpLTUgYihhbHVlKTQzIGIodG8pZyhhKWYocmVhZG9ubHkpZyh2KS01CitiIEZ0KGxvKXMoY2FsLCk2MzAgNDMzNCB5KGFzKTQwIGIod2l0aClnKHRoZSlnIEZzKGxvY2FsKWUKK0Z0KGNvbW1hbmQuKTY5IGIoSWYpNDAgYihhKWcodiktNSBiKGFyaWFibGUpNDEgYihuYW1lKWYoaXMpZyhmb2xsbyltKHcpCittKGVkKWgoYiltKHkpZig9KXAgRnEodiktNSBiKGFsdWUpNSBiIEZ0KCwpNDMgYih0aGUpNjMwCis0NDQzIHkodiktNSBiKGFsdWUpMzEgYihvZilmKHRoZSloKHYpLTUgYihhcmlhYmxlKTMxCitiKGlzKWcoc2V0KWYodG8paSBGcSh2KS01IGIoYWx1ZSk1IGIgRnQoLik2MzAgNDU3MyB5KFRoZSkzNQorYihyZXR1cm4pZihzdGF0dXMpaShpcylnKHplcm8pZyh1bmxlc3MpZihhbilnKGluKW0odiktNQorYihhbGlkKTM2IGIob3B0aW9uKWcoaXMpZyhlbmNvdW4pbSh0ZXJlZCwpaChhbilmKGF0dGVtcHQpNjMwCis0NjgyIHkoaXMpYyhtYWRlKWcodG8pZyhkZVwwMTRuZSlmKGEpaChmdW5jdGlvbilnKHVzaW5nKWYoYClwCitGcygtZilmKGZvbz1iYXIpcCBGdCgnLCloKGFuKWgoYXR0ZW1wdClnKGlzKWcobWFkZSlnKHRvKWgoYXNzaWduKTYzMAorNDc5MiB5KGEpNDIgYih2KS01IGIoYWx1ZSk0MyBiKHRvKWcoYSlmKHJlYWRvbmx5KWcodiktNQogYihhcmlhYmxlLCk0NyBiKGFuKTQyIGIoYXR0ZW1wdCloKGlzKWYobWFkZSlnKHRvKWgoYXNzaWduKWYoYSloKHYpLTUKLWIoYWx1ZSk0MiBiKHRvKWgoYW4pNjMwIDQzNzYgeShhcnJhKW0oeSkzMCBiKHYpLTUgYihhcmlhYmxlKTMwCitiKGFsdWUpNDIgYih0byloKGFuKTYzMCA0OTAyIHkoYXJyYSltKHkpMzAgYih2KS01IGIoYXJpYWJsZSkzMAogYih3aXRob3V0KWcodXNpbmcpZSh0aGUpaShjb21wKXMob3VuZCllKGFzc2lnbm1lbiltKHQpaShzeW4pbSh0YXgpZwotKFwoc2VlKWgoU2VjdGlvbilmKDYuNyk2MzAgNDQ4NSB5KFtBcnJhKW0oeXNdLCk0NyBiKHBhZ2UpYyg4MFwpLCk0OAorKFwoc2VlKWgoU2VjdGlvbilmKDYuNyk2MzAgNTAxMSB5KFtBcnJhKW0oeXNdLCk0NyBiKHBhZ2UpYyg4MFwpLCk0OAogYihvbmUpNDMgYihvZilnKHRoZSlnIEZxKG5hbWVzKWsgRnQoaXMpYyhub3QpZyhhKWcodiktNQogYihhbGlkKTQzIGIoc2hlbGwpZyh2KS01IGIoYXJpYWJsZSk0NCBiKG5hbWUsKWkoYW4pNjMwCi00NTk1IHkoYXR0ZW1wdCkyOCBiKGlzKWYobWFkZSloKHRvKWYodHVybilmKG9cMDEzKWkocmVhZG9ubHkpZihzdGF0dXMpZworNTEyMSB5KGF0dGVtcHQpMjggYihpcylmKG1hZGUpaCh0bylmKHR1cm4pZihvXDAxMylpKHJlYWRvbmx5KWYoc3RhdHVzKWcKIChmb3IpZyhhKWgocmVhZG9ubHkpZih2KS01IGIoYXJpYWJsZSwpMjkgYihhbillKGF0dGVtcHQpNjMwCi00NzA0IHkoaXMpaChtYWRlKWgodG8pZyh0dXJuKWUob1wwMTMpaShhcnJhKW0oeSlmKHN0YXR1cyloKGZvcilmKGFuKWcKKzUyMzAgeShpcyloKG1hZGUpaCh0bylnKHR1cm4pZShvXDAxMylpKGFycmEpbSh5KWYoc3RhdHVzKWgoZm9yKWYoYW4pZwogKGFycmEpbSh5KWgodiktNSBiKGFyaWFibGUsKTMwIGIob3IpZShhbilnKGF0dGVtcHQpaShpcyllKG1hZGUpZyh0byk2MzAKLTQ4MTQgeShkaXNwbGEpbSh5KWooYSlmKG5vbi1leGlzdGVuKW0odClpKGZ1bmN0aW9uKWUod2l0aClnKGApcAotRnMoLWYpcCBGdCgnLikxNTAgNDk2NyB5IEZzKGVjaG8pODcwIDUwOTkgeShlY2hvKTQ3IGIoWy1uZUVdKWYoWylwCi1GaihhcmcpNTcgYiBGcyguLi4pbyhdKTYzMCA1MjMwIHkgRnQoT3V0cHV0KTMxIGIodGhlKWkKLUZxKGFyZyk4IGIgRnQocywpMzMgYihzZXBhcmF0ZWQpZyhiKW0oeSlnKHNwYWNlcywpZyh0ZXJtaW5hdGVkKWcod2l0aClmCi0oYSloKG5ld2xpbmUuKTQ3IGIoVGhlKTMyIGIocmV0dXJuKTYzMCA1MzQwIHkoc3RhdHVzKTQwCi1iKGlzKWcoYWx3KW0oYSltKHlzKWgoMC4pNjkgYihJZikzOSBiKGApcCBGcygtbilwIEZ0KCcpaChpcylmKHNwKXMKLShlY2lcMDE0ZWQsKWoodGhlKWUodHJhaWxpbmcpaChuZXdsaW5lKWUoaXMpaChzdXBwcmVzc2VkLik2NgotYihJZilwIGVvcCBlbmQKKzUzNDAgeShkaXNwbGEpbSh5KWooYSlmKG5vbi1leGlzdGVuKW0odClpKGZ1bmN0aW9uKWUod2l0aClnKGApcAorRnMoLWYpcCBGdCgnLilwIGVvcCBlbmQKICUlUGFnZTogNDUgNTEKIFRlWERpY3QgYmVnaW4gNDUgNTAgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDQ6KTQxCi1iKFNoZWxsKTMwIGIoQnVpbHRpbiloKENvbW1hbmRzKTIwNjkgYig0NSk2MzAgMjk5IHkodGhlKTI5CitiKFNoZWxsKTMwIGIoQnVpbHRpbiloKENvbW1hbmRzKTIwNjkgYig0NSkxNTAgMjk5IHkgRnMoZWNobyk4NzAKKzQzMiB5KGVjaG8pNDcgYihbLW5lRV0pZihbKXAgRmkoYXJnKTU3IGIgRnMoLi4uKW8oXSk2MzAKKzU2NSB5IEZ0KE91dHB1dCkzMSBiKHRoZSlpIEZxKGFyZyk4IGIgRnQocywpMzMgYihzZXBhcmF0ZWQpZyhiKW0oeSlnCisoc3BhY2VzLClnKHRlcm1pbmF0ZWQpZyh3aXRoKWYoYSloKG5ld2xpbmUuKTQ3IGIoVGhlKTMyCitiKHJldHVybik2MzAgNjc0IHkoc3RhdHVzKTQwIGIoaXMpZyhhbHcpbShhKW0oeXMpaCgwLik2OQorYihJZikzOSBiKGApcCBGcygtbilwIEZ0KCcpaChpcylmKHNwKXMoZWNpXDAxNGVkLClqKHRoZSllKHRyYWlsaW5nKWgKKyhuZXdsaW5lKWUoaXMpaChzdXBwcmVzc2VkLik2NiBiKElmKTYzMCA3ODQgeSh0aGUpMjkKIGIoYClwIEZzKC1lKXAgRnQoJylnKG9wdGlvbilnKGlzKWgoZ2l2KW0oZW4sKWcoaW4pbSh0ZXJwcmV0YXRpb24pZyhvZilnCiAodGhlKWYoZm9sbG8pbSh3aW5nKWgoYmFjKW0oa3NsYXNoLWVzY2FwKXMoZWQpZyhjKW0oaGFyLSk2MzAKLTQwOCB5KGFjdGVycykzOCBiKGlzKWYoZW5hYmxlZC4pNjAgYihUaGUpMzYgYihgKXAgRnMoLUUpcAorODkzIHkoYWN0ZXJzKTM4IGIoaXMpZihlbmFibGVkLik2MCBiKFRoZSkzNiBiKGApcCBGcygtRSlwCiBGdCgnKWgob3B0aW9uKWcoZGlzYWJsZXMpZyh0aGUpZyhpbiltKHRlcnByZXRhdGlvbiloKG9mKWYodGhlc2UpZwotKGVzY2FwKXMoZSk2MzAgNTE4IHkoYyltKGhhcmFjdGVycywpaChldiltKGVuKWQob24pZyhzeXN0ZW1zKWcod2hlcmUpZgorKGVzY2FwKXMoZSk2MzAgMTAwMyB5KGMpbShoYXJhY3RlcnMsKWgoZXYpbShlbilkKG9uKWcoc3lzdGVtcylnKHdoZXJlKWYKICh0aGV5KWgoYXJlKWcoaW4pbSh0ZXJwcmV0ZWQpaChiKW0oeSllKGRlZmF1bHQuKTU1IGIoVGhlKTM0Ci1iIEZzKHhwZ18pNjMwIDYyOCB5KGVjaG8pZCBGdChzaGVsbCloKG9wdGlvbiloKG1hKW0oeSlnKGIpcyhlKWUodXNlZCloCitiIEZzKHhwZ18pNjMwIDExMTIgeShlY2hvKWQgRnQoc2hlbGwpaChvcHRpb24paChtYSltKHkpZyhiKXMoZSllKHVzZWQpaAogKHRvKWgoZHluYW1pY2FsbHkpZyhkZXRlcm1pbmUpZih3aGV0aGVyKWYob3IpaShub3QpZgotRnMoZWNobyk2MzAgNzM3IHkgRnQoZXhwYW5kcykzOSBiKHRoZXNlKWkoZXNjYXApcyhlKWcoYyltKGhhcmFjdGVycylnCitGcyhlY2hvKTYzMCAxMjIyIHkgRnQoZXhwYW5kcykzOSBiKHRoZXNlKWkoZXNjYXApcyhlKWcoYyltKGhhcmFjdGVycylnCiAoYiltKHkpZyhkZWZhdWx0Lik3MCBiIEZzKGVjaG8pMzkgYiBGdChkbylzKGVzKWgobm90KWcoaW4pbSh0ZXJwcmV0KWgKLShgKXAgRnMoLS0pcCBGdCgnKWYodG8pNjMwIDg0NyB5KG1lYW4pMzAgYih0aGUpaChlbmQpZihvZilnKG9wdGlvbnMuKQotNjMwIDk3NiB5IEZzKGVjaG8pZiBGdChpbiltKHRlcnByZXRzKWkodGhlKWYoZm9sbG8pbSh3aW5nKWkoZXNjYXApcyhlKWYKLShzZXF1ZW5jZXM6KTYzMCAxMTI2IHkgRnMoXFxhKTM4NCBiIEZ0KGFsZXJ0KTMxIGIoXChiKXMoZWxsXCkpNjMwCi0xMjc1IHkgRnMoXFxiKTM4NCBiIEZ0KGJhYyltKGtzcGFjZSk2MzAgMTQyNSB5IEZzKFxcYylnCi1GdChzdXBwcmVzcykyOCBiKGZ1cnRoZXIpaChvdXRwdXQpNjMwIDE1NzQgeSBGcyhcXGUpMzg0Ci1iIEZ0KGVzY2FwKXMoZSk2MzAgMTcyNCB5IEZzKFxcZilnIEZ0KGZvcm0pMzAgYihmZWVkKTYzMAotMTg3MyB5IEZzKFxcbikzODQgYiBGdChuZXcpMzAgYihsaW5lKTYzMCAyMDIyIHkgRnMoXFxyKTM4NAotYiBGdChjYXJyaWFnZSkzMiBiKHJldHVybik2MzAgMjE3MiB5IEZzKFxcdCkzODQgYiBGdChob3Jpem9uKW0odGFsKTMyCi1iKHRhYik2MzAgMjMyMSB5IEZzKFxcdikzODQgYiBGdCh2KW0oZXJ0aWNhbCkzMiBiKHRhYik2MzAKLTI0NzEgeSBGcyhcXFxcKTM4NCBiIEZ0KGJhYyltKGtzbGFzaCk2MzAgMjYyMCB5IEZzKFxcMClwCi1Gaihubm4pMjQwIGIgRnQodGhlKTMyIGIoZWlnaCltKHQtYml0KWkoYyltKGhhcmFjdGVyKWcod2hvc2UpZSh2KS01CisoYClwIEZzKC0tKXAgRnQoJylmKHRvKTYzMCAxMzMyIHkobWVhbikzMCBiKHRoZSloKGVuZClmKG9mKWcob3B0aW9ucy4pCis2MzAgMTQ2NSB5IEZzKGVjaG8pZiBGdChpbiltKHRlcnByZXRzKWkodGhlKWYoZm9sbG8pbSh3aW5nKWkoZXNjYXApcyhlKQorZihzZXF1ZW5jZXM6KTYzMCAxNjIxIHkgRnMoXFxhKTM4NCBiIEZ0KGFsZXJ0KTMxIGIoXChiKXMoZWxsXCkpNjMwCisxNzc3IHkgRnMoXFxiKTM4NCBiIEZ0KGJhYyltKGtzcGFjZSk2MzAgMTkzMyB5IEZzKFxcYylnCitGdChzdXBwcmVzcykyOCBiKGZ1cnRoZXIpaChvdXRwdXQpNjMwIDIwODkgeSBGcyhcXGUpMzg0CitiIEZ0KGVzY2FwKXMoZSk2MzAgMjI0NSB5IEZzKFxcZilnIEZ0KGZvcm0pMzAgYihmZWVkKTYzMAorMjQwMSB5IEZzKFxcbikzODQgYiBGdChuZXcpMzAgYihsaW5lKTYzMCAyNTU3IHkgRnMoXFxyKTM4NAorYiBGdChjYXJyaWFnZSkzMiBiKHJldHVybik2MzAgMjcxMyB5IEZzKFxcdCkzODQgYiBGdChob3Jpem9uKW0odGFsKTMyCitiKHRhYik2MzAgMjg2OSB5IEZzKFxcdikzODQgYiBGdCh2KW0oZXJ0aWNhbCkzMiBiKHRhYik2MzAKKzMwMjUgeSBGcyhcXFxcKTM4NCBiIEZ0KGJhYyltKGtzbGFzaCk2MzAgMzE4MSB5IEZzKFxcMClwCitGaShubm4pMjQwIGIgRnQodGhlKTMyIGIoZWlnaCltKHQtYml0KWkoYyltKGhhcmFjdGVyKWcod2hvc2UpZSh2KS01CiBiKGFsdWUpMzMgYihpcylmKHRoZSlnKG8pcyhjdGFsKWkodiktNSBiKGFsdWUpMzIgYiBGcShubm4pZgotRnQoXCh6ZXJvKWkodG8pMTExMCAyNzMwIHkodGhyZWUpZShvKXMoY3RhbClnKGRpZ2l0c1wpKTYzMAotMjg3OSB5IEZzKFxceClwIEZqKEhIKTI4OCBiIEZ0KHRoZSk0MCBiKGVpZ2gpbSh0LWJpdCloKGMpbShoYXJhY3RlcilnCitGdChcKHplcm8paSh0bykxMTEwIDMyOTEgeSh0aHJlZSllKG8pcyhjdGFsKWcoZGlnaXRzXCkpNjMwCiszNDQ3IHkgRnMoXFx4KXAgRmkoSEgpMjg4IGIgRnQodGhlKTQwIGIoZWlnaCltKHQtYml0KWgoYyltKGhhcmFjdGVyKWcKICh3aG9zZSllKHYpLTUgYihhbHVlKTM5IGIoaXMpaCh0aGUpZihoZXhhZGVjaW1hbClpKHYpLTUKLWIoYWx1ZSk0MCBiIEZxKEhIKTExMTAgMjk4OSB5IEZ0KFwob25lKTMxIGIob3IpZih0KW0odyltKG8paShoZXgpZQotKGRpZ2l0c1wpKTE1MCAzMTM4IHkgRnMoZW5hYmxlKTg3MCAzMjY4IHkoZW5hYmxlKTQ2IGIoWy1hXSloKFstZG5wc10pZgotKFstZilnIEZqKGZpbGVuYW1lKTExIGIgRnMoXSk0NSBiKFspcCBGaihuYW1lKTU3IGIgRnMoLi4uKW8oXSk2MzAKLTMzOTcgeSBGdChFbmFibGUpMzYgYihhbmQpZihkaXNhYmxlKWgoYnVpbHRpbilnKHNoZWxsKWcoY29tbWFuZHMuKTU2CitiKGFsdWUpNDAgYiBGcShISCkxMTEwIDM1NTcgeSBGdChcKG9uZSkzMSBiKG9yKWYodCltKHcpbShvKWkoaGV4KWUKKyhkaWdpdHNcKSkxNTAgMzcxMyB5IEZzKGVuYWJsZSk4NzAgMzg0NiB5KGVuYWJsZSk0NiBiKFstYV0paChbLWRucHNdKWYKKyhbLWYpZyBGaShmaWxlbmFtZSkxMSBiIEZzKF0pNDUgYihbKXAgRmkobmFtZSk1NyBiIEZzKC4uLilvKF0pNjMwCiszOTc4IHkgRnQoRW5hYmxlKTM2IGIoYW5kKWYoZGlzYWJsZSloKGJ1aWx0aW4pZyhzaGVsbClnKGNvbW1hbmRzLik1NgogYihEaXNhYmxpbmcpMzcgYihhKWcoYnVpbHRpbillKGFsbG8pbSh3cylpKGEpZihkaXNrKTYzMAotMzUwNyB5KGNvbW1hbmQpZSh3aGljKW0oaClnKGhhcylnKHRoZSlnKHNhbWUpaChuYW1lKWYoYXMpaChhKWYoc2hlbGwpaAotKGJ1aWx0aW4pZSh0bylpKGIpcyhlKWYoZXhlY3V0ZWQpaCh3aXRob3V0KTYzMCAzNjE2IHkoc3ApcyhlY2lmeWluZykyNworNDA4OCB5KGNvbW1hbmQpZSh3aGljKW0oaClnKGhhcylnKHRoZSlnKHNhbWUpaChuYW1lKWYoYXMpaChhKWYoc2hlbGwpaAorKGJ1aWx0aW4pZSh0bylpKGIpcyhlKWYoZXhlY3V0ZWQpaCh3aXRob3V0KTYzMCA0MTk4IHkoc3ApcyhlY2lmeWluZykyNwogYihhKWcoZnVsbClnKHBhdGhuYW1lLClnKGV2KW0oZW4paCh0aG91Z2gpZih0aGUpZyhzaGVsbClnKG5vcm1hbGx5KWcKLShzZWFyYyltKGhlcyloKGZvcilmKGJ1aWx0aW5zKTYzMCAzNzI2IHkoYilzKGVmb3JlKTMyCisoc2VhcmMpbShoZXMpaChmb3IpZihidWlsdGlucyk2MzAgNDMwNyB5KGIpcyhlZm9yZSkzMgogYihkaXNrKWYoY29tbWFuZHMuKTQ2IGIoSWYpMzEgYihgKXAgRnMoLW4pcCBGdCgnKWgoaXMpZyh1c2VkLClnKHRoZSlnCiBGcShuYW1lKTUgYiBGdChzKTMyIGIoYilzKGVjb21lKWgoZGlzYWJsZWQuKTQ1IGIoT3RoZXJ3aXNlKTYzMAotMzgzNiB5IEZxKG5hbWUpNSBiIEZ0KHMpNDQgYihhcmUpaChlbmFibGVkLik4MiBiKEYpLTgKKzQ0MTcgeSBGcShuYW1lKTUgYiBGdChzKTQ0IGIoYXJlKWgoZW5hYmxlZC4pODIgYihGKS04CiBiKG9yKTQ1IGIoZXhhbXBsZSwpayh0byljKHVzZSlmKHRoZSlnIEZzKHRlc3QpZiBGdChiaW5hcnkpaChmb3VuZClmCi0odmlhKWggRnMoJFBBVEgpNjMwIDM5NDUgeSBGdChpbnN0ZWFkKTMxIGIob2YpZih0aGUpaChzaGVsbClmKGJ1aWx0aW4pZworKHZpYSloIEZzKCRQQVRIKTYzMCA0NTI2IHkgRnQoaW5zdGVhZCkzMSBiKG9mKWYodGhlKWgoc2hlbGwpZihidWlsdGluKWcKICh2KW0oZXJzaW9uLCloKHQpbSh5cClzKGUpZyhgKXAgRnMoZW5hYmxlKWUoLW4paCh0ZXN0KXAKLUZ0KCcuKTYzMCA0MDc1IHkoSWYpNDIgYih0aGUpaChgKXAgRnMoLXApcCBGdCgnKWYob3B0aW9uKWgoaXMpZgorRnQoJy4pNjMwIDQ2NTkgeShJZik0MiBiKHRoZSloKGApcCBGcygtcClwIEZ0KCcpZihvcHRpb24paChpcylmCiAoc3VwcGxpZWQsKWoob3IpZChubyloIEZxKG5hbWUpayBGdChhcmd1bWVuKW0odHMpYyhhcHApcyhlYXIsKWkoYSllCi0obGlzdClnKG9mKWcoc2hlbGwpNjMwIDQxODQgeShidWlsdGlucykzNyBiKGlzKWgocHJpbiltKHRlZC4pNjMKKyhsaXN0KWcob2YpZyhzaGVsbCk2MzAgNDc2OSB5KGJ1aWx0aW5zKTM3IGIoaXMpaChwcmluKW0odGVkLik2MwogYihXaXRoKTM4IGIobm8pZihvdGhlciloKGFyZ3VtZW4pbSh0cywpaih0aGUpZChsaXN0KWcoY29uc2lzdHMpZyhvZilnCi0oYWxsKWgoZW5hYmxlZCk2MzAgNDI5NCB5KHNoZWxsKTMzIGIoYnVpbHRpbnMuKTQ2IGIoVGhlKTMyCisoYWxsKWgoZW5hYmxlZCk2MzAgNDg3OCB5KHNoZWxsKTMzIGIoYnVpbHRpbnMuKTQ2IGIoVGhlKTMyCiBiKGApcCBGcygtYSlwIEZ0KCcpaChvcHRpb24pZyhtZWFucylmKHRvKWkobGlzdClmKGVhYyltKGgpaChidWlsdGluKWUKLSh3aXRoKWcoYW4pZyhpbmRpY2F0aW9uKWkob2YpNjMwIDQ0MDMgeSh3aGV0aGVyKWMob3IpZyhub3QpaChpdClnKGlzKWYKLShlbmFibGVkLik2MzAgNDUzMyB5KFRoZSk0MCBiKGApcCBGcygtZilwIEZ0KCcpZyhvcHRpb24pZyhtZWFucylnKHRvKWgKKyh3aXRoKWcoYW4pZyhpbmRpY2F0aW9uKWkob2YpNjMwIDQ5ODggeSh3aGV0aGVyKWMob3IpZyhub3QpaChpdClnKGlzKWYKKyhlbmFibGVkLik2MzAgNTEyMSB5KFRoZSk0MCBiKGApcCBGcygtZilwIEZ0KCcpZyhvcHRpb24pZyhtZWFucylnKHRvKWgKIChsb2FkKWcodGhlKWYobmV3KWYoYnVpbHRpbiloKGNvbW1hbmQpZyBGcShuYW1lKTQ1IGIKLUZ0KGZyb20pNDAgYihzaGFyZWQpNjMwIDQ2NDMgeShvYik1IGIoamVjdCkyNyBiIEZxKFwwMTRsZW5hbWUpcAotRnQoLClnKG9uKWYoc3lzdGVtcylnKHRoYXQpaChzdXBwKXMob3J0KWQoZHluYW1pYylpKGxvYWRpbmcuKTQwCi1iKFRoZSkyNiBiKGApcCBGcygtZClwIEZ0KCcpZyhvcHRpb24paCh3aWxsKTYzMCA0NzUyCitGdChmcm9tKTQwIGIoc2hhcmVkKTYzMCA1MjMwIHkob2IpNSBiKGplY3QpMjYgYiBGcShcMDE0bGVuYW1lKTUKK2IgRnQoLCkyOCBiKG9uKWQoc3lzdGVtcyloKHRoYXQpZyhzdXBwKXMob3J0KWUoZHluYW1pYyloKGxvYWRpbmcuKTQwCitiKFRoZSkyNSBiKGApcCBGcygtZClwIEZ0KCcpaChvcHRpb24pZyh3aWxsKTYzMCA1MzQwCiB5KGRlbGV0ZSkzMiBiKGEpZShidWlsdGluKWcobG9hZGVkKWgod2l0aClmKGApcCBGcygtZilwCi1GdCgnLik2MzAgNDg4MiB5KElmKWgodGhlcmUpZyhhcmUpZyhubylnKG9wdGlvbnMsKWgoYSlmKGxpc3QpaChvZilmCi0odGhlKWcoc2hlbGwpZyhidWlsdGlucylnKGlzKWcoZGlzcGxhKW0oeSltKGVkLik0MyBiKFRoZSkzMQotYihgKXAgRnMoLXMpcCBGdCgnKWYob3B0aW9uKTYzMCA0OTkxIHkocmVzdHJpY3RzKWYgRnMoZW5hYmxlKWUKLUZ0KHRvKWkodGhlKWYgRmwocG9zaXgpZyBGdChzcClzKGVjaWFsKWgoYnVpbHRpbnMuKTQwCi1iKElmKTI3IGIoYClwIEZzKC1zKXAgRnQoJylpKGlzKWYodXNlZClnKHdpdGgpZyhgKXAgRnMoLWYpcAotRnQoJywpaCh0aGUpZihuZXcpNjMwIDUxMDEgeShidWlsdGluKWkoYilzKGVjb21lcyloKGEpZihzcClzKGVjaWFsKWgKLShidWlsdGluKWYoXChzZWUpaShTZWN0aW9uKWYoNC40KWcoW1NwKXMoZWNpYWwpZyhCdWlsdGluc10sKWcocGFnZSlnCi0oNTlcKS4pNjMwIDUyMzAgeShUaGUpMjYgYihyZXR1cm4pZihzdGF0dXMpaChpcylnKHplcm8paCh1bmxlc3MpZShhKWkKLUZxKG5hbWUpayBGdChpcykyNiBiKG5vdClnKGEpaChzaGVsbClmKGJ1aWx0aW4pZyhvcilnKHRoZXJlKWcoaXMpZyhhbilnCi0oZXJyb3IpNjMwIDUzNDAgeShsb2FkaW5nKTMxIGIoYSlnKG5ldylmKGJ1aWx0aW4pZyhmcm9tKWcoYSlnKHNoYXJlZClnCi0ob2IpNSBiKGplY3QuKXAgZW9wIGVuZAorRnQoJy4pcCBlb3AgZW5kCiAlJVBhZ2U6IDQ2IDUyCiBUZVhEaWN0IGJlZ2luIDQ2IDUxIGJvcCAxNTAgLTExNiBhIEZ0KDQ2KTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRnMoaGVscCk4NzAgNDM1IHkoaGVscCk0NwotYihbLWRtc10pZihbKXAgRmoocGF0dGVybikxMSBiIEZzKF0pNjMwIDU3MSB5IEZ0KERpc3BsYSltKHkpNDAKLWIoaGVscGZ1bCllKGluZm9ybWF0aW9uKWgoYWIpcyhvdXQpZyhidWlsdGluKWYoY29tbWFuZHMuKTY2Ci1iKElmKTM4IGIgRnEocGF0dGVybiloIEZ0KGlzKWcoc3ApcyhlY2lcMDE0ZWQsKTYzMCA2ODEKLXkgRnMoaGVscCkyOCBiIEZ0KGdpdiltKGVzKWkoZGV0YWlsZWQpZyhoZWxwKWUob24paChhbGwpaChjb21tYW5kcyllCi0obWF0YyltKGhpbmcpaSBGcShwYXR0ZXJuKXAgRnQoLClnKG90aGVyd2lzZSlmKGEpZyhsaXN0KWgob2YpNjMwCi03OTEgeSh0aGUpaChidWlsdGlucyllKGlzKWkocHJpbiltKHRlZC4pNjMwIDkyNyB5KE9wdGlvbnMsKWYoaWYpaAorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5KElmKWcodGhlcmUpZyhhcmUpZyhubylnKG9wdGlvbnMsKWgoYSkKK2YobGlzdCloKG9mKWYodGhlKWcoc2hlbGwpZyhidWlsdGlucylnKGlzKWcoZGlzcGxhKW0oeSltKGVkLik0MworYihUaGUpMzEgYihgKXAgRnMoLXMpcCBGdCgnKWYob3B0aW9uKTYzMCA0MDggeShyZXN0cmljdHMpZgorRnMoZW5hYmxlKWUgRnQodG8paSh0aGUpZiBGbChwb3NpeClnIEZ0KHNwKXMoZWNpYWwpaChidWlsdGlucy4pNDAKK2IoSWYpMjcgYihgKXAgRnMoLXMpcCBGdCgnKWkoaXMpZih1c2VkKWcod2l0aClnKGApcCBGcygtZilwCitGdCgnLCloKHRoZSlmKG5ldyk2MzAgNTE4IHkoYnVpbHRpbilpKGIpcyhlY29tZXMpaChhKWYoc3ApcyhlY2lhbCloCisoYnVpbHRpbilmKFwoc2VlKWkoU2VjdGlvbilmKDQuNClnKFtTcClzKGVjaWFsKWcoQnVpbHRpbnNdLClnKHBhZ2UpZworKDU5XCkuKTYzMCA2NTAgeShUaGUpMjYgYihyZXR1cm4pZihzdGF0dXMpaChpcylnKHplcm8paCh1bmxlc3MpZShhKWkKK0ZxKG5hbWUpayBGdChpcykyNiBiKG5vdClnKGEpaChzaGVsbClmKGJ1aWx0aW4pZyhvcilnKHRoZXJlKWcoaXMpZyhhbilnCisoZXJyb3IpNjMwIDc2MCB5KGxvYWRpbmcpMzEgYihhKWcobmV3KWYoYnVpbHRpbilnKGZyb20pZyhhKWcoc2hhcmVkKWcKKyhvYik1IGIoamVjdC4pMTUwIDkxNSB5IEZzKGhlbHApODcwIDEwNDcgeShoZWxwKTQ3IGIoWy1kbXNdKWYoWylwCitGaShwYXR0ZXJuKTExIGIgRnMoXSk2MzAgMTE3OSB5IEZ0KERpc3BsYSltKHkpNDAgYihoZWxwZnVsKWUKKyhpbmZvcm1hdGlvbiloKGFiKXMob3V0KWcoYnVpbHRpbilmKGNvbW1hbmRzLik2NiBiKElmKTM4CitiIEZxKHBhdHRlcm4paCBGdChpcylnKHNwKXMoZWNpXDAxNGVkLCk2MzAgMTI4OCB5IEZzKGhlbHApMjgKK2IgRnQoZ2l2KW0oZXMpaShkZXRhaWxlZClnKGhlbHApZShvbiloKGFsbCloKGNvbW1hbmRzKWUobWF0YyltKGhpbmcpaQorRnEocGF0dGVybilwIEZ0KCwpZyhvdGhlcndpc2UpZihhKWcobGlzdCloKG9mKTYzMCAxMzk4Cit5KHRoZSloKGJ1aWx0aW5zKWUoaXMpaShwcmluKW0odGVkLik2MzAgMTUzMCB5KE9wdGlvbnMsKWYoaWYpaAogKHN1cHBsaWVkLCllKGhhKW0odiltKGUpaSh0aGUpZyhmb2xsbyltKHdpbmcpaChtZWFuaW5nczopNjMwCi0xMDkwIHkgRnMoLWQpMzg0IGIgRnQoRGlzcGxhKW0oeSkzMiBiKGEpZShzaG9ydClnKGRlc2NyaXB0aW9uKWgob2YpZgotKGVhYyltKGgpaSBGcShwYXR0ZXJuKTYzMCAxMjUzIHkgRnMoLW0pMzg0IGIgRnQoRGlzcGxhKW0oeSkzMgorMTY4NSB5IEZzKC1kKTM4NCBiIEZ0KERpc3BsYSltKHkpMzIgYihhKWUoc2hvcnQpZyhkZXNjcmlwdGlvbiloKG9mKWYKKyhlYWMpbShoKWkgRnEocGF0dGVybik2MzAgMTg0MCB5IEZzKC1tKTM4NCBiIEZ0KERpc3BsYSltKHkpMzIKIGIodGhlKWUoZGVzY3JpcHRpb24pZyhvZiloKGVhYyltKGgpaCBGcShwYXR0ZXJuKWUgRnQoaW4pZyhhKWgKLShtYW5wYWdlLWxpayltKGUpaChmb3JtYXQpNjMwIDE0MTYgeSBGcygtcykzODQgYiBGdChEaXNwbGEpbSh5KTMyCisobWFucGFnZS1saWspbShlKWgoZm9ybWF0KTYzMCAxOTk0IHkgRnMoLXMpMzg0IGIgRnQoRGlzcGxhKW0oeSkzMgogYihvbmx5KWUoYSloKHNob3J0KWYodXNhZ2UpaChzeW5vcHNpcyllKGZvcilpKGVhYyltKGgpZwotRnEocGF0dGVybik2MzAgMTU3OCB5IEZ0KFRoZSlmKHJldHVybilmKHN0YXR1cylpKGlzKWYoemVybyloKHVubGVzcylmCi0obm8pZyhjb21tYW5kKWgobWF0YyltKGhlcylnIEZxKHBhdHRlcm4pcCBGdCguKTE1MCAxNzQxCi15IEZzKGxldCk4NzAgMTg3OCB5KGxldCk0NyBiIEZqKGV4cHJlc3Npb24pNTUgYiBGcyhbKXAKLUZqKGV4cHJlc3Npb24pMTEgYiBGcyhdKTYzMCAyMDE0IHkgRnQoVGhlKTQxIGIgRnMobGV0KWcKK0ZxKHBhdHRlcm4pNjMwIDIxNDkgeSBGdChUaGUpZihyZXR1cm4pZihzdGF0dXMpaShpcylmKHplcm8paCh1bmxlc3MpZgorKG5vKWcoY29tbWFuZCloKG1hdGMpbShoZXMpZyBGcShwYXR0ZXJuKXAgRnQoLikxNTAgMjMwNAoreSBGcyhsZXQpODcwIDI0MzYgeShsZXQpNDcgYiBGaShleHByZXNzaW9uKTU1IGIgRnMoWylwCitGaShleHByZXNzaW9uKTExIGIgRnMoXSk2MzAgMjU2OCB5IEZ0KFRoZSk0MSBiIEZzKGxldClnCiBGdChidWlsdGluKWcoYWxsbyltKHdzKWkoYXJpdGhtZXRpYylmKHRvKWgoYilzKGUpZChwKXMoZXJmb3JtZWQpZyhvbilpCi0oc2hlbGwpZyh2KS01IGIoYXJpYWJsZXMuKTc0IGIoRWFjKW0oaCk2MzAgMjEyMyB5IEZxKGV4cHJlc3Npb24pMzEKKyhzaGVsbClnKHYpLTUgYihhcmlhYmxlcy4pNzQgYihFYWMpbShoKTYzMCAyNjc4IHkgRnEoZXhwcmVzc2lvbikzMQogYiBGdChpcylnKGV2KS01IGIoYWx1YXRlZCkzMiBiKGFjY29yZGluZylmKHRvKWgodGhlKWYocnVsZXMpZyhnaXYpbShlbikKLWgoYilzKGVsbyltKHcpZihpbilmKFNlY3Rpb24paSg2LjUpZyhbU2hlbGwpNjMwIDIyMzMKK2goYilzKGVsbyltKHcpZihpbilmKFNlY3Rpb24paSg2LjUpZyhbU2hlbGwpNjMwIDI3ODcKIHkoQXJpdGhtZXRpY10sKTUxIGIocGFnZSk0NiBiKDc4Lik4NyBiKElmKTQ1IGIodGhlKWcobGFzdCloCiBGcShleHByZXNzaW9uKWcgRnQoZXYpLTUgYihhbHVhdGVzKTQ3IGIodG8pZigwLClrIEZzKGxldCk0NAotYiBGdChyZXR1cm5zKWcoMTspNjMwIDIzNDMgeShvdGhlcndpc2UpMzEgYigwKWcoaXMpZihyZXR1cm5lZC4pMTUwCi0yNTA1IHkgRnMobG9jYWwpODcwIDI2NDIgeShsb2NhbCk0NiBiKFspcCBGaihvcHRpb24pMTEKLWIgRnMoXSk0NSBiIEZqKG5hbWUpMTEgYiBGcyhbPSlwIEZqKHZhbHVlKWcgRnMoXSk0NCBiKC4uLik2MzAKLTI3NzggeSBGdChGKS04IGIob3IpMjcgYihlYWMpbShoKWcoYXJndW1lbiltKHQsKWcoYSlmKGxvKXMoY2FsKWgodiktNQotYihhcmlhYmxlKTI3IGIobmFtZWQpZSBGcShuYW1lKTMxIGIgRnQoaXMpMjYgYihjcmVhdGVkLClpKGFuZClkCi0oYXNzaWduZWQpaCBGcSh2KS01IGIoYWx1ZSlwIEZ0KC4pNjMwIDI4ODggeShUaGUpMzcgYgotRnEob3B0aW9uKWggRnQoY2FuKWYoYilzKGUpZyhhbiltKHkpaChvZilmKHRoZSloKG9wdGlvbnMpZyhhY2NlcHRlZClnCitiIEZ0KHJldHVybnMpZygxOyk2MzAgMjg5NyB5KG90aGVyd2lzZSkzMSBiKDApZyhpcylmKHJldHVybmVkLikxNTAKKzMwNTEgeSBGcyhsb2NhbCk4NzAgMzE4NCB5KGxvY2FsKTQ2IGIoWylwIEZpKG9wdGlvbikxMQorYiBGcyhdKTQ1IGIgRmkobmFtZSkxMSBiIEZzKFs9KXAgRmkodmFsdWUpZyBGcyhdKTQ0IGIoLi4uKTYzMAorMzMxNiB5IEZ0KEYpLTggYihvcikyNiBiKGVhYyltKGgpaChhcmd1bWVuKW0odCwpZyhhKWUobG8pcyhjYWwpaSh2KS01CitiKGFyaWFibGUpMjYgYihuYW1lZClmIEZxKG5hbWUpMzEgYiBGdChpcykyNSBiKGNyZWF0ZWQsKWooYW5kKWQKKyhhc3NpZ25lZClnIEZxKHYpLTUgYihhbHVlKTUgYiBGdCguKTYzMCAzNDI1IHkoVGhlKTM3CitiIEZxKG9wdGlvbiloIEZ0KGNhbilmKGIpcyhlKWcoYW4pbSh5KWgob2YpZih0aGUpaChvcHRpb25zKWcoYWNjZXB0ZWQpZwogKGIpbSh5KWcgRnMoZGVjbGFyZSlwIEZ0KC4pNTkgYiBGcyhsb2NhbCkzNiBiIEZ0KGNhbilpKG9ubHkpNjMwCi0yOTk3IHkoYilzKGUpaih1c2VkKWgod2l0aGluKWYoYSlpKGZ1bmN0aW9uOyk0OCBiKGl0KTQyCiszNTM1IHkoYilzKGUpaih1c2VkKWgod2l0aGluKWYoYSlpKGZ1bmN0aW9uOyk0OCBiKGl0KTQyCiBiKG1hayltKGVzKWgodGhlKWYodiktNSBiKGFyaWFibGUpNDMgYiBGcShuYW1lKTQ4IGIgRnQoaGEpbSh2KW0oZSk0MwotYihhKWYodmlzaWJsZSloKHNjb3ApcyhlKTYzMCAzMTA3IHkocmVzdHJpY3RlZCljKHRvKWcodGhhdClnKGZ1bmN0aW9uKWYKK2IoYSlmKHZpc2libGUpaChzY29wKXMoZSk2MzAgMzY0NSB5KHJlc3RyaWN0ZWQpYyh0bylnKHRoYXQpZyhmdW5jdGlvbilmCiAoYW5kKWYoaXRzKWkoYyltKGhpbGRyZW4uKTY0IGIoVGhlKTM4IGIocmV0dXJuKWYoc3RhdHVzKWgoaXMpaCh6ZXJvKWcKLSh1bmxlc3MpNjMwIDMyMTYgeSBGcyhsb2NhbClnIEZ0KGlzKWgodXNlZClnKG91dHNpZGUpZyhhKWgoZnVuY3Rpb24sKWgKKyh1bmxlc3MpNjMwIDM3NTQgeSBGcyhsb2NhbClnIEZ0KGlzKWgodXNlZClnKG91dHNpZGUpZyhhKWgoZnVuY3Rpb24sKWgKIChhbillKGluKW0odiktNSBiKGFsaWQpNDEgYiBGcShuYW1lKTQ2IGIgRnQoaXMpNDAgYihzdXBwbGllZCwpaShvcillCi1GcShuYW1lKTQ1IGIgRnQoaXMpYyhhKTYzMCAzMzI2IHkocmVhZG9ubHkpMzAgYih2KS01Ci1iKGFyaWFibGUuKTE1MCAzNDg5IHkgRnMobG9nb3V0KTg3MCAzNjI1IHkobG9nb3V0KTQ2Ci1iKFspcCBGaihuKTExIGIgRnMoXSk2MzAgMzc2MSB5IEZ0KEV4aXQpMzEgYihhKWcobG9naW4pZyhzaGVsbCwpZworRnEobmFtZSk0NSBiIEZ0KGlzKWMoYSk2MzAgMzg2NCB5KHJlYWRvbmx5KTMwIGIodiktNQorYihhcmlhYmxlLikxNTAgNDAxOCB5IEZzKGxvZ291dCk4NzAgNDE1MSB5KGxvZ291dCk0NgorYihbKXAgRmkobikxMSBiIEZzKF0pNjMwIDQyODMgeSBGdChFeGl0KTMxIGIoYSlnKGxvZ2luKWcoc2hlbGwsKWcKIChyZXR1cm5pbmcpZShhKWkoc3RhdHVzKWcob2YpZiBGcShuKWcgRnQodG8paCh0aGUpZyhzaGVsbCdzKWYocGFyZW4pbQotKHQuKTE1MCAzOTI0IHkgRnMobWFwZmlsZSk4NzAgNDA2MCB5KG1hcGZpbGUpNDYgYihbLW4paAotRmooY291bnQpMTEgYiBGcyhdKTQ1IGIoWy1PKWkgRmoob3JpZ2luKTExIGIgRnMoXSk0NgotYihbLXMpZyBGaihjb3VudCkxMSBiIEZzKF0pNDYgYihbLXRdKWgoWy11KWcgRmooZmQpMTEKLWIgRnMoXSk0NiBiKFspODcwIDQxNzAgeSgtQyloIEZqKGNhbGxiYWNrKTExIGIgRnMoXSk0NQotYihbLWMpaSBGaihxdWFudHVtKTExIGIgRnMoXSk0NSBiKFspcCBGaihhcnJheSkxMSBiIEZzKF0pNjMwCi00MzA2IHkgRnQoUmVhZCkzNSBiKGxpbmVzKWgoZnJvbSlmKHRoZSlnKHN0YW5kYXJkKWcoaW5wdXQpZihpbiltKHRvKWkKLShhcnJhKW0oeSlnKHYpLTUgYihhcmlhYmxlKTM2IGIgRnEoYXJyYSltKHkpcCBGdCgsKWgob3IpZihmcm9tKWUKLShcMDE0bGUpaShkZS0pNjMwIDQ0MTYgeShzY3JpcHRvcilmIEZxKGZkKWogRnQoaWYpZCh0aGUpaChgKXAKLUZzKC11KXAgRnQoJylmKG9wdGlvbiloKGlzKWYoc3VwcGxpZWQuKTU0IGIoVGhlKTM1IGIodiktNQotYihhcmlhYmxlKTM2IGIgRnMoTUFQRklMRSlkIEZ0KGlzKWkodGhlKWgoZGVmYXVsdCk2MzAKLTQ1MjUgeSBGcShhcnJhKW0oeSlwIEZ0KC4pNDEgYihPcHRpb25zLCkzMCBiKGlmKWgoc3VwcGxpZWQsKWUoaGEpbSh2KW0KLShlKWoodGhlKWUoZm9sbG8pbSh3aW5nKWkobWVhbmluZ3M6KTYzMCA0Njg4IHkgRnMoLW4pMzg0Ci1iIEZ0KENvcCltKHkpMzAgYihhdCloKG1vc3QpZyBGcShjb3VuKW0odClpIEZ0KGxpbmVzLik0MQotYihJZikzMCBiIEZxKGNvdW4pbSh0KWogRnQoaXMpZCgwLCloKGFsbCloKGxpbmVzKWUoYXJlKWgoY29waWVkLik2MzAKLTQ4NTEgeSBGcygtTykzODQgYiBGdChCZWdpbikzMSBiKGFzc2lnbmluZylnKHRvKWcgRnEoYXJyYSltKHkpMzkKLWIgRnQoYXQpMzEgYihpbmRleClmIEZxKG9yaWdpbilwIEZ0KC4pNDEgYihUaGUpMzAgYihkZWZhdWx0KWgoaW5kZXgpZgotKGlzKWcoMC4pNjMwIDUwMTQgeSBGcygtcykzODQgYiBGdChEaXNjYXJkKTMxIGIodGhlKWYoXDAxNHJzdClnCi1GcShjb3VuKW0odClqIEZ0KGxpbmVzKWUocmVhZC4pNjMwIDUxNzcgeSBGcygtdCkzODQgYgotRnQoUmVtbyltKHYpbShlKTMyIGIoYSlmKHRyYWlsaW5nKWcobGluZSlnKGZyb20pZihlYWMpbShoKWkobGluZSllCi0ocmVhZC4pNjMwIDUzNDAgeSBGcygtdSkzODQgYiBGdChSZWFkKTMxIGIobGluZXMpZihmcm9tKWcoXDAxNGxlKWgKLShkZXNjcmlwdG9yKWYgRnEoZmQpaiBGdChpbnN0ZWFkKWUob2YpZih0aGUpaChzdGFuZGFyZCllKGlucHV0LilwCi1lb3AgZW5kCisodC4pMTUwIDQ0MzcgeSBGcyhtYXBmaWxlKTg3MCA0NTcwIHkobWFwZmlsZSk0NiBiKFstbiloCitGaShjb3VudCkxMSBiIEZzKF0pNDUgYihbLU8paSBGaShvcmlnaW4pMTEgYiBGcyhdKTQ2CitiKFstcylnIEZpKGNvdW50KTExIGIgRnMoXSk0NiBiKFstdF0paChbLXUpZyBGaShmZCkxMQorYiBGcyhdKTQ2IGIoWyk4NzAgNDY3OSB5KC1DKWggRmkoY2FsbGJhY2spMTEgYiBGcyhdKTQ1CitiKFstYylpIEZpKHF1YW50dW0pMTEgYiBGcyhdKTQ1IGIoWylwIEZpKGFycmF5KTExIGIgRnMoXSk2MzAKKzQ4MTEgeSBGdChSZWFkKTM3IGIobGluZXMpZyhmcm9tKWYodGhlKWgoc3RhbmRhcmQpZihpbnB1dClnKGluKW0odG8paAorKHRoZSlnKGluZGV4ZWQpZihhcnJhKW0oeSlpKHYpLTUgYihhcmlhYmxlKTM3IGIgRnEoYXJyYSltKHkpOAorYiBGdCgsKTM5IGIob3IpNjMwIDQ5MjEgeShmcm9tKWMoXDAxNGxlKWgoZGVzY3JpcHRvcilnCitGcShmZClqIEZ0KGlmKWQodGhlKWcoYClwIEZzKC11KXAgRnQoJylnKG9wdGlvbilnKGlzKWcoc3VwcGxpZWQuKTU2CitiKFRoZSkzNSBiKHYpLTUgYihhcmlhYmxlKTM3IGIgRnMoTUFQRklMRSlkIEZ0KGlzKTYzMAorNTAzMSB5KHRoZSlkKGRlZmF1bHQpZiBGcShhcnJhKW0oeSk4IGIgRnQoLik0MSBiKE9wdGlvbnMsKTMwCitiKGlmKWgoc3VwcGxpZWQsKWUoaGEpbSh2KW0oZSlqKHRoZSllKGZvbGxvKW0od2luZylpKG1lYW5pbmdzOik2MzAKKzUxODUgeSBGcygtbikzODQgYiBGdChDb3ApbSh5KTMwIGIoYXQpaChtb3N0KWcgRnEoY291biltKHQpaQorRnQobGluZXMuKTQxIGIoSWYpMzAgYiBGcShjb3VuKW0odClqIEZ0KGlzKWQoMCwpaChhbGwpaChsaW5lcyllKGFyZSloCisoY29waWVkLik2MzAgNTM0MCB5IEZzKC1PKTM4NCBiIEZ0KEJlZ2luKTMxIGIoYXNzaWduaW5nKWcodG8pZworRnEoYXJyYSltKHkpMzkgYiBGdChhdCkzMSBiKGluZGV4KWYgRnEob3JpZ2luKXAgRnQoLik0MQorYihUaGUpMzAgYihkZWZhdWx0KWgoaW5kZXgpZihpcylnKDAuKXAgZW9wIGVuZAogJSVQYWdlOiA0NyA1MwogVGVYRGljdCBiZWdpbiA0NyA1MiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNDopNDEKLWIoU2hlbGwpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjA2OSBiKDQ3KTYzMCAyOTkgeSBGcygtQykzODQKLWIgRnQoRXYpLTUgYihhbHVhdGUpNDMgYiBGcShjYWxsYmFjKW0oayk0OSBiIEZ0KGVhYyltKGgpNDIKLWIodGltZSlnIEZxKHF1YW4pbSh0dW0pcCBGdChQKWYobGluZXMpaChhcmUpZihyZWFkLik3NAotYihUaGUpNDEgYihgKXAgRnMoLWMpcCBGdCgnKTExMTAgNDA4IHkob3B0aW9uKTMxIGIoc3ApcyhlY2lcMDE0ZXMpZgotRnEocXVhbiltKHR1bSlwIEZ0KC4pNjMwIDU3MyB5IEZzKC1jKTM4NCBiIEZ0KFNwKXMoZWNpZnkpMzAKLWIodGhlKWcobiltKHVtKW0oYilzKGVyKWYob2YpaShsaW5lcylmKHJlYWQpaChiKXMoZXQpbSh3KW0oZWVuKWcoZWFjKW0KLShoKWcoY2FsbCloKHRvKWYgRnEoY2FsbGJhYyltKGspcCBGdCguKTYzMCA3MzcgeShJZillKGApcAotRnMoLUMpcCBGdCgnKWcoaXMpaChzcClzKGVjaVwwMTRlZClmKHdpdGhvdXQpZyhgKXAgRnMoLWMpcAotRnQoJywpaCh0aGUpZyhkZWZhdWx0KWcocXVhbiltKHR1bSlmKGlzKWcoNTAwMC4pNDIgYihXaGVuKTMwCi1iIEZxKGNhbGxiYWMpbShrKTM3IGIgRnQoaXMpNjMwIDg0NyB5KGV2KS01IGIoYWx1YXRlZCwpMzUKLWIoaXQpZShpcylmKHN1cHBsaWVkKWcodGhlKWcoaW5kZXgpZyhvZiloKHRoZSlnKG5leHQpZyhhcnJhKW0oeSlnCi0oZWxlbWVuKW0odCloKHRvKWYoYilzKGUpZihhc3NpZ25lZCloKGFzKTYzMCA5NTYgeShhbilmKGFkZGl0aW9uYWwpaAotKGFyZ3VtZW4pbSh0Lik0NiBiIEZxKGNhbGxiYWMpbShrKTQwIGIgRnQoaXMpMzIgYihldiktNQotYihhbHVhdGVkKTMzIGIoYWZ0ZXIpZyh0aGUpZihsaW5lKWgoaXMpZihyZWFkKWcoYnV0KWYoYilzKGVmb3JlKTYzMAotMTA2NiB5KHRoZSlnKGFycmEpbSh5KWYoZWxlbWVuKW0odClpKGlzKWYoYXNzaWduZWQuKTYzMAotMTIwMyB5KElmKTI1IGIobm90KWcoc3VwcGxpZWQpZih3aXRoKWgoYW4pZyhleHBsaWNpdClpKG9yaWdpbiwpZwotRnMobWFwZmlsZSljIEZ0KHdpbGwpaihjbGVhcilnIEZxKGFycmEpbSh5KTM0IGIgRnQoYilzKGVmb3JlKTI0Ci1iKGFzc2lnbmluZyk2MzAgMTMxMyB5KHRvKTMxIGIoaXQuKTYzMCAxNDUwIHkgRnMobWFwZmlsZSk0MQotYiBGdChyZXR1cm5zKWcoc3VjY2Vzc2Z1bGx5KWkodW5sZXNzKWUoYW4paShpbiltKHYpLTUKLWIoYWxpZCk0MyBiKG9wdGlvbilnKG9yKWcob3B0aW9uKWcoYXJndW1lbiltKHQpZyhpcyk2MzAKLTE1NTkgeShzdXBwbGllZCwpMjkgYihvcilpIEZxKGFycmEpbSh5KTM4IGIgRnQoaXMpMzEKLWIoaW4pbSh2KS01IGIoYWxpZCkzMSBiKG9yKWYodW5hc3NpZ25hYmxlLikxNTAgMTcyNCB5Ci1GcyhwcmludGYpODcwIDE4NjEgeShwcmludGYpNDYgYihbLXYpaCBGaih2YXIpMTEgYiBGcyhdKTQ2Ci1iIEZqKGZvcm1hdCk1NyBiIEZzKFspcCBGaihhcmd1bWVudHMpMTEgYiBGcyhdKTYzMCAxOTk4Ci15IEZ0KFcpLTggYihyaXRlKTI3IGIodGhlKWcoZm9ybWF0dGVkKWYgRnEoYXJndW1lbiltKHRzKWsKK2IoU2hlbGwpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjA2OSBiKDQ3KTYzMCAyOTkgeSBGcygtcykzODQKK2IgRnQoRGlzY2FyZCkzMSBiKHRoZSlmKFwwMTRyc3QpZyBGcShjb3VuKW0odClqIEZ0KGxpbmVzKWUocmVhZC4pNjMwCis0NTggeSBGcygtdCkzODQgYiBGdChSZW1vKW0odiltKGUpMzIgYihhKWYodHJhaWxpbmcpZyhuZXdsaW5lKWcoZnJvbSlmCisoZWFjKW0oaCloKGxpbmUpZyhyZWFkLik2MzAgNjE4IHkgRnMoLXUpMzg0IGIgRnQoUmVhZCkzMQorYihsaW5lcylmKGZyb20pZyhcMDE0bGUpaChkZXNjcmlwdG9yKWYgRnEoZmQpaiBGdChpbnN0ZWFkKWUob2YpZih0aGUpaAorKHN0YW5kYXJkKWUoaW5wdXQuKTYzMCA3NzcgeSBGcygtQykzODQgYiBGdChFdiktNSBiKGFsdWF0ZSk0MworYiBGcShjYWxsYmFjKW0oayk0OSBiIEZ0KGVhYyltKGgpNDIgYih0aW1lKWcgRnEocXVhbiltKHR1bSlwCitGdChQKWYobGluZXMpaChhcmUpZihyZWFkLik3NCBiKFRoZSk0MSBiKGApcCBGcygtYylwCitGdCgnKTExMTAgODg3IHkob3B0aW9uKTMxIGIoc3ApcyhlY2lcMDE0ZXMpZiBGcShxdWFuKW0odHVtKXAKK0Z0KC4pNjMwIDEwNDYgeSBGcygtYykzODQgYiBGdChTcClzKGVjaWZ5KTMwIGIodGhlKWcobiltKHVtKW0oYilzKGVyKWYKKyhvZilpKGxpbmVzKWYocmVhZCloKGIpcyhldCltKHcpbShlZW4pZyhlYWMpbShoKWcoY2FsbCloKHRvKWYKK0ZxKGNhbGxiYWMpbShrKTYgYiBGdCguKTYzMCAxMjA1IHkoSWYpMjkgYihgKXAgRnMoLUMpcAorRnQoJylnKGlzKWgoc3ApcyhlY2lcMDE0ZWQpZih3aXRob3V0KWcoYClwIEZzKC1jKXAgRnQoJywpaCh0aGUpZworKGRlZmF1bHQpZyhxdWFuKW0odHVtKWYoaXMpZyg1MDAwLik0MiBiKFdoZW4pMzAgYiBGcShjYWxsYmFjKW0oaykzNworYiBGdChpcyk2MzAgMTMxNSB5KGV2KS01IGIoYWx1YXRlZCwpMzUgYihpdCllKGlzKWYoc3VwcGxpZWQpZyh0aGUpZworKGluZGV4KWcob2YpaCh0aGUpZyhuZXh0KWcoYXJyYSltKHkpZyhlbGVtZW4pbSh0KWgodG8pZihiKXMoZSlmCisoYXNzaWduZWQpaChhcyk2MzAgMTQyNSB5KGFuKWYoYWRkaXRpb25hbCloKGFyZ3VtZW4pbSh0Lik0NgorYiBGcShjYWxsYmFjKW0oayk0MCBiIEZ0KGlzKTMyIGIoZXYpLTUgYihhbHVhdGVkKTMzIGIoYWZ0ZXIpZyh0aGUpZgorKGxpbmUpaChpcylmKHJlYWQpZyhidXQpZihiKXMoZWZvcmUpNjMwIDE1MzQgeSh0aGUpZyhhcnJhKW0oeSlmKGVsZW1lbikKK20odClpKGlzKWYoYXNzaWduZWQuKTYzMCAxNjY5IHkoSWYpMjUgYihub3QpZyhzdXBwbGllZClmKHdpdGgpaChhbilnCisoZXhwbGljaXQpaShvcmlnaW4sKWcgRnMobWFwZmlsZSljIEZ0KHdpbGwpaihjbGVhcilnCitGcShhcnJhKW0oeSkzNCBiIEZ0KGIpcyhlZm9yZSkyNCBiKGFzc2lnbmluZyk2MzAgMTc3OAoreSh0bykzMSBiKGl0Lik2MzAgMTkxMyB5IEZzKG1hcGZpbGUpNDEgYiBGdChyZXR1cm5zKWcoc3VjY2Vzc2Z1bGx5KWkKKyh1bmxlc3MpZShhbilpKGluKW0odiktNSBiKGFsaWQpNDMgYihvcHRpb24pZyhvcilnKG9wdGlvbilnKGFyZ3VtZW4pbQorKHQpZyhpcyk2MzAgMjAyMiB5KHN1cHBsaWVkLCkyOSBiIEZxKGFycmEpbSh5KTM5IGIgRnQoaXMpMzAKK2IoaW4pbSh2KS01IGIoYWxpZCkzMSBiKG9yKWcodW5hc3NpZ25hYmxlLClmKG9yKWggRnEoYXJyYSltKHkpMzgKK2IgRnQoaXMpMzEgYihub3QpZihhbiloKGluZGV4ZWQpZShhcnJhKW0oeSktOCBiKC4pMTUwCisyMTgyIHkgRnMocHJpbnRmKTg3MCAyMzE2IHkocHJpbnRmKTQ2IGIoWy12KWggRmkodmFyKTExCitiIEZzKF0pNDYgYiBGaShmb3JtYXQpNTcgYiBGcyhbKXAgRmkoYXJndW1lbnRzKTExIGIgRnMoXSk2MzAKKzI0NTEgeSBGdChXKS04IGIocml0ZSkyNyBiKHRoZSlnKGZvcm1hdHRlZClmIEZxKGFyZ3VtZW4pbSh0cylrCiBGdCh0bylkKHRoZSlmKHN0YW5kYXJkKWYob3V0cHV0KWgodW5kZXIpZSh0aGUpaShjb24pbSh0cm9sKWkob2YpZSh0aGUpCi02MzAgMjEwNyB5IEZxKGZvcm1hdClwIEZ0KC4pNDEgYihUaGUpMjggYiBGcShmb3JtYXQpagotRnQoaXMpZShhKWcoYyltKGhhcmFjdGVyKWkoc3RyaW5nKWQod2hpYyltKGgpaChjb24pbSh0YWlucyloKHRocmVlKWYodCkKLW0oeXApcyhlcylnKG9mKWcob2IpNSBiKGplY3RzOik2MzAgMjIxNyB5KHBsYWluKTI4IGIoYyltKGhhcmFjdGVycywpagorNjMwIDI1NjAgeSBGcShmb3JtYXQpciBGdCguKTQwIGIoVGhlKTI5IGIgRnEoZm9ybWF0KWkKK0Z0KGlzKWQoYSloKGMpbShoYXJhY3RlcilpKHN0cmluZylkKHdoaWMpbShoKWgoY29uKW0odGFpbnMpaCh0aHJlZSllKHQpCittKHlwKXMoZXMpaChvZilnKG9iKTUgYihqZWN0czopNjMwIDI2NzAgeShwbGFpbikyOCBiKGMpbShoYXJhY3RlcnMsKWoKICh3aGljKW0oaClkKGFyZSloKHNpbXBseSlmKGNvcGllZCloKHRvKWgoc3RhbmRhcmQpZChvdXRwdXQsKWkoYyltCi0oaGFyYWN0ZXIpaChlc2NhcClzKGUpNjMwIDIzMjYgeShzZXF1ZW5jZXMsKWcod2hpYyltKGgpZihhcmUpZyhjb24pbSh2KQorKGhhcmFjdGVyKWgoZXNjYXApcyhlKTYzMCAyNzgwIHkoc2VxdWVuY2VzLClnKHdoaWMpbShoKWYoYXJlKWcoY29uKW0odikKIG0oZXJ0ZWQpaShhbmQpZChjb3BpZWQpaSh0bylmKHRoZSloKHN0YW5kYXJkKWUob3V0cHV0LCloKGFuZClnKGZvcm1hdCkKLTYzMCAyNDM2IHkoc3ApcyhlY2lcMDE0Y2F0aW9ucywpMzkgYihlYWMpbShoKWUob2YpZyh3aGljKW0oaClmKGNhdXNlcylnCi0ocHJpbiltKHRpbmcpZyhvZiloKHRoZSlmKG5leHQpaChzdWNjZXNzaXYpbShlKWcgRnEoYXJndW1lbiltKHQpcAotRnQoLik2MzAgMjU0NSB5KEluKTMxIGIoYWRkaXRpb24paCh0byloKHRoZSllKHN0YW5kYXJkKWcKKzYzMCAyODg5IHkoc3ApcyhlY2lcMDE0Y2F0aW9ucywpMzggYihlYWMpbShoKWcob2YpZSh3aGljKW0oaClnKGNhdXNlcylnCisocHJpbiltKHRpbmcpZyhvZilnKHRoZSloKG5leHQpZihzdWNjZXNzaXYpbShlKWggRnEoYXJndW1lbiltKHQpcgorRnQoLik2MzAgMjk5OSB5KEluKTMxIGIoYWRkaXRpb24paCh0byloKHRoZSllKHN0YW5kYXJkKWcKIEZzKHByaW50ZlwoMVwpKWYgRnQoZm9ybWF0cywpaShgKXAgRnMoXDA0NWIpcCBGdCgnKWcoY2F1c2VzKWcKLUZzKHByaW50ZillIEZ0KHRvKWooZXhwYW5kKTYzMCAyNjU1IHkoYmFjKW0oa3NsYXNoKTM5Ci1iKGVzY2FwKXMoZSlnKHNlcXVlbmNlcylmKGluKWgodGhlKWYoY29ycmVzcClzKG9uZGluZylmCi1GcShhcmd1bWVuKW0odClwIEZ0KCwpayhcKGV4Y2VwdClmKHRoYXQpZihgKXAgRnMoXFxjKXAKLUZ0KCcpNjMwIDI3NjUgeSh0ZXJtaW5hdGVzKTQ0IGIob3V0cHV0LClqKGJhYyltKGtzbGFzaGVzKWQoaW4pZihgKXAKK0ZzKHByaW50ZillIEZ0KHRvKWooZXhwYW5kKTYzMCAzMTA4IHkoYmFjKW0oa3NsYXNoKTM5CitiKGVzY2FwKXMoZSlmKHNlcXVlbmNlcyloKGluKWYodGhlKWcoY29ycmVzcClzKG9uZGluZylmCitGcShhcmd1bWVuKW0odClyIEZ0KCwpayhcKGV4Y2VwdCllKHRoYXQpZyhgKXAgRnMoXFxjKXAKK0Z0KCcpNjMwIDMyMTggeSh0ZXJtaW5hdGVzKTQ0IGIob3V0cHV0LClqKGJhYyltKGtzbGFzaGVzKWQoaW4pZihgKXAKIEZzKFxcJylwIEZ0KCcsKWsoYClwIEZzKFxcIilwIEZ0KCcsKWcoYW5kKWMoYClwIEZzKFxcPylwCi1GdCgnKWcoYXJlKWgobm90KWcocmVtbyltKHYpbShlZCwpayhhbmQpNjMwIDI4NzQgeShvKXMoY3RhbCkyNQorRnQoJylnKGFyZSloKG5vdClnKHJlbW8pbSh2KW0oZWQsKWsoYW5kKTYzMCAzMzI4IHkobylzKGN0YWwpMjUKIGIoZXNjYXApcyhlcylmKGIpcyhlZ2lubmluZylmKHdpdGgpZyhgKXAgRnMoXFwwKXAgRnQoJyloKG1hKW0oeSlnKGNvbiltCiAodGFpbiloKHVwKWUodG8paChmb3VyKWYoZGlnaXRzXCksKWooYW5kKWQoYClwIEZzKFwwNDVxKXAKLUZ0KCcpaChjYXVzZXMpNjMwIDI5ODQgeSBGcyhwcmludGYpMzEgYiBGdCh0bylpKG91dHB1dClmKHRoZSloKGNvcnJlc3ApCitGdCgnKWgoY2F1c2VzKTYzMCAzNDM3IHkgRnMocHJpbnRmKTMxIGIgRnQodG8paShvdXRwdXQpZih0aGUpaChjb3JyZXNwKQogcyhvbmRpbmcpZiBGcShhcmd1bWVuKW0odClqIEZ0KGluKWQoYSloKGZvcm1hdClnKHRoYXQpZyhjYW4pZyhiKXMoZSlmCi0ocmV1c2VkKTYzMCAzMDkzIHkoYXMpZihzaGVsbClmKGlucHV0Lik2MzAgMzIzMCB5KFRoZSkyNAorKHJldXNlZCk2MzAgMzU0NyB5KGFzKWYoc2hlbGwpZihpbnB1dC4pNjMwIDM2ODEgeShUaGUpMjQKIGIoYClwIEZzKC12KXAgRnQoJyloKG9wdGlvbilnKGNhdXNlcylnKHRoZSlnKG91dHB1dClnKHRvKWcoYilzKGUpZgogKGFzc2lnbmVkKWgodG8paCh0aGUpZih2KS01IGIoYXJpYWJsZSkyNSBiIEZxKHYpLTUgYihhcikzMgotYiBGdChyYXRoZXIpMjQgYih0aGFuKTYzMCAzMzQwIHkoYilzKGVpbmcpMzAgYihwcmluKW0odGVkKWcodG8paCh0aGUpZwotKHN0YW5kYXJkKWUob3V0cHV0Lik2MzAgMzQ3NyB5KFRoZSlpIEZxKGZvcm1hdClpIEZ0KGlzKWYocmV1c2VkKWUoYXMpaQotKG5lY2Vzc2FyeSlmKHRvKWkoY29uc3VtZSllKGFsbCloKG9mKWYodGhlKWggRnEoYXJndW1lbiltKHRzKXAKLUZ0KC4pNDQgYihJZikzMCBiKHRoZSlpIEZxKGZvci0pNjMwIDM1ODcgeShtYXQpYyBGdChyZXF1aXJlcyllKG1vcmUpZworYiBGdChyYXRoZXIpMjQgYih0aGFuKTYzMCAzNzkxIHkoYilzKGVpbmcpMzAgYihwcmluKW0odGVkKWcodG8paCh0aGUpZworKHN0YW5kYXJkKWUob3V0cHV0Lik2MzAgMzkyNSB5KFRoZSlpIEZxKGZvcm1hdClpIEZ0KGlzKWUocmV1c2VkKWYoYXMpaQorKG5lY2Vzc2FyeSlmKHRvKWgoY29uc3VtZSlmKGFsbCloKG9mKWYodGhlKWcgRnEoYXJndW1lbiltKHRzKXQKK0Z0KC4pNDMgYihJZikzMSBiKHRoZSlnIEZxKGZvci0pNjMwIDQwMzUgeShtYXQpZCBGdChyZXF1aXJlcyllKG1vcmUpZwogRnEoYXJndW1lbiltKHRzKWsgRnQodGhhbikyNSBiKGFyZSlpKHN1cHBsaWVkLCllKHRoZSloKGV4dHJhKWgoZm9ybWF0KWYKLShzcClzKGVjaVwwMTRjYXRpb25zKTYzMCAzNjk2IHkoYilzKGVoYSltKHYpbShlKWooYXMpZyhpZilmKGEpaCh6ZXJvKWcKKyhzcClzKGVjaVwwMTRjYXRpb25zKTYzMCA0MTQ0IHkoYilzKGVoYSltKHYpbShlKWooYXMpZyhpZilmKGEpaCh6ZXJvKWcKICh2KS01IGIoYWx1ZSkyOSBiKG9yKWcobiltKHVsbClmKHN0cmluZywpaChhcylnKGFwcHJvcHJpYXRlLClnKGhhZClmKGIpCi1zKGVlbilnKHN1cHBsaWVkLikzOCBiKFRoZSk2MzAgMzgwNiB5KHJldHVybikyOSBiKHYpLTUKK3MoZWVuKWcoc3VwcGxpZWQuKTM4IGIoVGhlKTYzMCA0MjU0IHkocmV0dXJuKTI5IGIodiktNQogYihhbHVlKTMxIGIoaXMpZyh6ZXJvKWcob24pZihzdWNjZXNzLCloKG5vbi16ZXJvKWcob24pZihmYWlsdXJlLikxNTAKLTM5NzAgeSBGcyhyZWFkKTg3MCA0MTA3IHkocmVhZCk0NyBiKFstZXJzXSlmKFstYSloIEZqKGFuYW1lKTExCi1iIEZzKF0pNDUgYihbLWQpaSBGaihkZWxpbSkxMSBiIEZzKF0pNDYgYihbLWkpaCBGaih0ZXh0KTExCi1iIEZzKF0pNDYgYihbLW4pZyBGaihuY2hhcnMpMTEgYiBGcyhdKTQ2IGIoWy1wKWggRmoocHJvbXB0KTExCi1iIEZzKF0pNDUgYihbLXQpaSBGaih0aW1lLSk4NzAgNDIxNyB5KG91dCkxMSBiIEZzKF0pNDYKLWIoWy11KWggRmooZmQpMTEgYiBGcyhdKTQ2IGIoWylwIEZqKG5hbWUpNTcgYiBGcyguLi5dKTYzMAotNDM1NCB5IEZ0KE9uZSkyNiBiKGxpbmUpaChpcylnKHJlYWQpZihmcm9tKWgodGhlKWYoc3RhbmRhcmQpZyhpbnB1dCwpaAotKG9yKWcoZnJvbSlmKHRoZSloKFwwMTRsZSlmKGRlc2NyaXB0b3IpaCBGcShmZClpIEZ0KHN1cHBsaWVkKTYzMAotNDQ2MyB5KGFzKTM3IGIoYW4pZyhhcmd1bWVuKW0odCloKHRvKWYodGhlKWgoYClwIEZzKC11KXAKLUZ0KCcpZShvcHRpb24sKWsoYW5kKWModGhlKWkoXDAxNHJzdCllKHcpbShvcmQpZyhpcyloKGFzc2lnbmVkKWgodG8pZgotKHRoZSloKFwwMTRyc3QpNjMwIDQ1NzMgeSBGcShuYW1lKXAgRnQoLCkyOSBiKHRoZSlmKHNlY29uZCloKHcpbShvcmQpZQotKHRvKWkodGhlKWcoc2Vjb25kKWYgRnEobmFtZSlwIEZ0KCwpaChhbmQpZShzbylpKG9uLClnKHdpdGgpZihsZWZ0byltCi0odiltKGVyKWkodyltKG9yZHMpZShhbmQpNjMwIDQ2ODIgeSh0aGVpcilnKGluKW0odGVydiltKGVuaW5nKWgKLShzZXBhcmF0b3JzKWcoYXNzaWduZWQpZih0byloKHRoZSlmKGxhc3QpaCBGcShuYW1lKXAKLUZ0KC4pNDAgYihJZikyNyBiKHRoZXJlKWkoYXJlKWYoZmV3KW0oZXIpZyh3KW0ob3Jkcyk2MzAKLTQ3OTIgeShyZWFkKTQ0IGIoZnJvbSlmKHRoZSlnKGlucHV0KWcoc3RyZWFtKWgodGhhbilnKG5hbWVzLClqKHRoZSljCi0ocmVtYWluaW5nKWgobmFtZXMpZyhhcmUpZyhhc3NpZ25lZCk2MzAgNDkwMiB5KGVtcHQpbSh5KTMxCi1iKHYpLTUgYihhbHVlcy4pNDEgYihUaGUpMzAgYihjKW0oaGFyYWN0ZXJzKWkoaW4pZSh0aGUpaCh2KS01Cis0NDEzIHkgRnMocmVhZCk4NzAgNDU0OCB5KHJlYWQpNDcgYihbLWVyc10pZihbLWEpaCBGaShhbmFtZSkxMQorYiBGcyhdKTQ1IGIoWy1kKWkgRmkoZGVsaW0pMTEgYiBGcyhdKTQ2IGIoWy1pKWggRmkodGV4dCkxMQorYiBGcyhdKTQ2IGIoWy1uKWcgRmkobmNoYXJzKTExIGIgRnMoXSk0NiBiKFstTiloIEZpKG5jaGFycykxMQorYiBGcyhdKTQ1IGIoWy1wKWkgRmkocHJvbXB0KTExIGIgRnMoXSk0NSBiKFstdClpIEZpKHRpbWUtKTg3MAorNDY1OCB5KG91dCkxMSBiIEZzKF0pNDYgYihbLXUpaCBGaShmZCkxMSBiIEZzKF0pNDYgYihbKXAKK0ZpKG5hbWUpNTcgYiBGcyguLi5dKTYzMCA0NzkyIHkgRnQoT25lKTI2IGIobGluZSloKGlzKWcocmVhZClmKGZyb20paAorKHRoZSlmKHN0YW5kYXJkKWcoaW5wdXQsKWgob3IpZyhmcm9tKWYodGhlKWgoXDAxNGxlKWYoZGVzY3JpcHRvciloCitGcShmZClpIEZ0KHN1cHBsaWVkKTYzMCA0OTAyIHkoYXMpMzcgYihhbilnKGFyZ3VtZW4pbSh0KWgodG8pZih0aGUpaChgKQorcCBGcygtdSlwIEZ0KCcpZShvcHRpb24sKWsoYW5kKWModGhlKWkoXDAxNHJzdCllKHcpbShvcmQpZyhpcyloCisoYXNzaWduZWQpaCh0bylmKHRoZSloKFwwMTRyc3QpNjMwIDUwMTEgeSBGcShuYW1lKTUgYgorRnQoLCkyOCBiKHRoZSlnKHNlY29uZClnKHcpbShvcmQpZih0byloKHRoZSlmKHNlY29uZCloCitGcShuYW1lKTUgYiBGdCgsKTI4IGIoYW5kKWYoc28paChvbiwpZyh3aXRoKWYobGVmdG8pbSh2KW0oZXIpaih3KW0KKyhvcmRzKWQoYW5kKTYzMCA1MTIxIHkodGhlaXIpaChpbiltKHRlcnYpbShlbmluZylnKHNlcGFyYXRvcnMpZworKGFzc2lnbmVkKWcodG8paCh0aGUpZShsYXN0KWkgRnEobmFtZSk1IGIgRnQoLik0MCBiKElmKTI3CitiKHRoZXJlKWgoYXJlKWcoZmV3KW0oZXIpZih3KW0ob3Jkcyk2MzAgNTIzMCB5KHJlYWQpNDQKK2IoZnJvbSlmKHRoZSlnKGlucHV0KWcoc3RyZWFtKWgodGhhbilnKG5hbWVzLClqKHRoZSljKHJlbWFpbmluZyloCisobmFtZXMpZyhhcmUpZyhhc3NpZ25lZCk2MzAgNTM0MCB5KGVtcHQpbSh5KTMxIGIodiktNQorYihhbHVlcy4pNDEgYihUaGUpMzAgYihjKW0oaGFyYWN0ZXJzKWkoaW4pZSh0aGUpaCh2KS01CiBiKGFsdWUpMzEgYihvZilnKHRoZSlmIEZzKElGUylnIEZ0KHYpLTUgYihhcmlhYmxlKTMxCi1iKGFyZSlnKHVzZWQpZih0byloKHNwbGl0KTYzMCA1MDExIHkodGhlKTM3IGIobGluZSloKGluKW0odG8pZyh3KW0KLShvcmRzLik2MSBiKFRoZSkzNiBiKGJhYyltKGtzbGFzaClpKGMpbShoYXJhY3RlciloKGApcAotRnMoXFwpcCBGdCgnKWUobWEpbSh5KWgoYilzKGUpZih1c2VkKWYodG8paShyZW1vKW0odiltKGUpaChhbiltKHkpNjMwCi01MTIxIHkoc3ApcyhlY2lhbCloKG1lYW5pbmcpZyhmb3IpZih0aGUpZyhuZXh0KWgoYyltKGhhcmFjdGVyKWgocmVhZCllCi0oYW5kKWcoZm9yKWcobGluZSloKGNvbiltKHRpbiltKHVhdGlvbi4pNjkgYihJZikzOSBiKG5vKTYzMAotNTIzMCB5KG5hbWVzKTI4IGIoYXJlKWgoc3VwcGxpZWQsKWYodGhlKWcobGluZSloKHJlYWQpZyhpcylmKGFzc2lnbmVkKWgKLSh0bylnKHRoZSlmKHYpLTUgYihhcmlhYmxlKTI5IGIgRnMoUkVQTFkpcCBGdCguKTM5IGIoVGhlKTI4Ci1iKHJldHVybik2MzAgNTM0MCB5KGNvKXMoZGUpZShpcylnKHplcm8sKWgodW5sZXNzKWUoZW5kLW9mLVwwMTRsZSloKGlzKQotZyhlbmNvdW4pbSh0ZXJlZCwpaCBGcyhyZWFkKWUgRnQodGltZXMpaChvdXQpZyhcKGluKWcod2hpYyltKGgpZihjYXNlKWkKLSh0aGUpcCBlb3AgZW5kCitiKGFyZSlnKHVzZWQpZih0byloKHNwbGl0KXAgZW9wIGVuZAogJSVQYWdlOiA0OCA1NAogVGVYRGljdCBiZWdpbiA0OCA1MyBib3AgMTUwIC0xMTYgYSBGdCg0OCkyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5KHJldHVybillKGNvKXMoZGUpaShpcylnKGdyZWF0ZXIpZwotKHRoYW4pZygxMjhcKSwpaChvcilmKGFuKWYoaW4pbSh2KS01IGIoYWxpZCkzMSBiKFwwMTRsZSlnKGRlc2NyaXB0b3IpZgotKGlzKWgoc3VwcGxpZWQpZShhcylpKHRoZSk2MzAgNDA4IHkoYXJndW1lbiltKHQpZyh0bylnKGApcAotRnMoLXUpcCBGdCgnLik2MzAgNTQ0IHkoT3B0aW9ucywpZihpZiloKHN1cHBsaWVkLCllKGhhKW0odiltKGUpaSh0aGUpZwotKGZvbGxvKW0od2luZyloKG1lYW5pbmdzOik2MzAgNzA3IHkgRnMoLWEpZSBGaihhbmFtZSkxMTQKLWIgRnQoVGhlKTM0IGIodyltKG9yZHMpZihhcmUpaShhc3NpZ25lZClmKHRvKWgoc2VxdWVuKW0odGlhbCloKGluZGljZXMpCi1lKG9mKWcodGhlKWcoYXJyYSltKHkpaCh2KS01IGIoYXJpYWJsZSkxMTEwIDgxNiB5IEZxKGFuYW1lKXAKLUZ0KCwpMjkgYihzdGFydGluZyloKGF0KWYoMC4pNDAgYihBbGwpMjkgYihlbGVtZW4pbSh0cyloKGFyZSllKHJlbW8pbQotKHYpbShlZClpKGZyb20pZCBGcShhbmFtZSkzNCBiIEZ0KGIpcyhlZm9yZSkxMTEwIDkyNgoteSh0aGUpZChhc3NpZ25tZW4pbSh0Lik0MSBiKE90aGVyKTMwIGIgRnEobmFtZSkzNiBiIEZ0KGFyZ3VtZW4pbSh0cykzMAotYihhcmUpaChpZ25vcmVkLik2MzAgMTA4OCB5IEZzKC1kKWYgRmooZGVsaW0pMTE0IGIgRnQoVGhlKTQxCi1iKFwwMTRyc3QpaChjKW0oaGFyYWN0ZXIpaChvZilmIEZxKGRlbGltKWcgRnQoaXMpZyh1c2VkKWcodG8pZwotKHRlcm1pbmF0ZSloKHRoZSlmKGlucHV0KWYobGluZSwpMTExMCAxMTk4IHkocmF0aGVyKTMwCi1iKHRoYW4pZyhuZXdsaW5lLik2MzAgMTM2MCB5IEZzKC1lKTM4NCBiIEZ0KFJlYWRsaW5lKTI4Ci1iKFwoc2VlKWgoQ2hhcHRlcillKDgpaChbQ29tbWFuZClmKExpbmUpZyhFZGl0aW5nXSwpaShwYWdlKWYoOTNcKSloKGlzKQotZih1c2VkKTExMTAgMTQ2OSB5KHRvKTQyIGIob2J0YWluKWYodGhlKWcobGluZS4pNzMgYihSZWFkbGluZSk0MQotYih1c2VzKWcodGhlKWcoY3VycmVuKW0odClnKFwob3IpZyhkZWZhdWx0LClqKGlmKWQobGluZSkxMTEwCi0xNTc5IHkoZWRpdGluZykzMSBiKHcpbShhcylnKG5vdClmKHByZXZpb3VzbHkpZyhhY3RpdiltKGVcKSlqKGVkaXRpbmcpZgotKHNldHRpbmdzLik2MzAgMTc0MSB5IEZzKC1pKWUgRmoodGV4dCkxNjIgYiBGdChJZikzNgotYihSZWFkbGluZSlpKGlzKWYoYilzKGVpbmcpZyh1c2VkKWYodG8paChyZWFkKWcodGhlKWcobGluZSwpagotRnEodGV4dClmIEZ0KGlzKWUocGxhY2VkKWgoaW4pbSh0bylnKHRoZSkxMTEwIDE4NTEgeShlZGl0aW5nKTMxCi1iKGJ1XDAxM2VyKWUoYilzKGVmb3JlKWgoZWRpdGluZyloKGIpcyhlZ2lucy4pNjMwIDIwMTMKLXkgRnMoLW4pZiBGaihuY2hhcnMpMTExMCAyMTIyIHkgRnMocmVhZCkzOCBiIEZ0KHJldHVybnMpZihhZnRlcilqCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkodGhlKTM3IGIobGluZSloKGluKW0odG8pZyh3KW0ob3Jkcy4pCis2MSBiKFRoZSkzNiBiKGJhYyltKGtzbGFzaClpKGMpbShoYXJhY3RlciloKGApcCBGcyhcXClwCitGdCgnKWUobWEpbSh5KWgoYilzKGUpZih1c2VkKWYodG8paShyZW1vKW0odiltKGUpaChhbiltKHkpNjMwCis0MDggeShzcClzKGVjaWFsKWgobWVhbmluZylnKGZvcilmKHRoZSlnKG5leHQpaChjKW0oaGFyYWN0ZXIpaChyZWFkKWUKKyhhbmQpZyhmb3IpZyhsaW5lKWgoY29uKW0odGluKW0odWF0aW9uLik2OSBiKElmKTM5IGIobm8pNjMwCis1MTggeShuYW1lcykyOCBiKGFyZSloKHN1cHBsaWVkLClmKHRoZSlnKGxpbmUpaChyZWFkKWcoaXMpZihhc3NpZ25lZCloCisodG8pZyh0aGUpZih2KS01IGIoYXJpYWJsZSkyOSBiIEZzKFJFUExZKXAgRnQoLikzOSBiKFRoZSkyOAorYihyZXR1cm4pNjMwIDYyOCB5KGNvKXMoZGUpZShpcylnKHplcm8sKWgodW5sZXNzKWUoZW5kLW9mLVwwMTRsZSloKGlzKWcKKyhlbmNvdW4pbSh0ZXJlZCwpaCBGcyhyZWFkKWUgRnQodGltZXMpaChvdXQpZyhcKGluKWcod2hpYyltKGgpZihjYXNlKWkKKyh0aGUpNjMwIDczNyB5KHJldHVybilpKGNvKXMoZGUpaShpcylnKGdyZWF0ZXIpZyh0aGFuKWcoMTI4XCksKWgob3IpZgorKGFuKWYoaW4pbSh2KS01IGIoYWxpZCkzMSBiKFwwMTRsZSlnKGRlc2NyaXB0b3IpZihpcyloKHN1cHBsaWVkKWUoYXMpaQorKHRoZSk2MzAgODQ3IHkoYXJndW1lbiltKHQpZyh0bylnKGApcCBGcygtdSlwIEZ0KCcuKTYzMAorOTgzIHkoT3B0aW9ucywpZihpZiloKHN1cHBsaWVkLCllKGhhKW0odiltKGUpaSh0aGUpZyhmb2xsbyltKHdpbmcpaAorKG1lYW5pbmdzOik2MzAgMTE0NCB5IEZzKC1hKWUgRmkoYW5hbWUpMTE0IGIgRnQoVGhlKTM0CitiKHcpbShvcmRzKWYoYXJlKWkoYXNzaWduZWQpZih0byloKHNlcXVlbiltKHRpYWwpaChpbmRpY2VzKWUob2YpZyh0aGUpZworKGFycmEpbSh5KWgodiktNSBiKGFyaWFibGUpMTExMCAxMjU0IHkgRnEoYW5hbWUpNSBiIEZ0KCwpMjkKK2Ioc3RhcnRpbmcpZyhhdClmKDAuKTQwIGIoQWxsKTI5IGIoZWxlbWVuKW0odHMpZyhhcmUpZihyZW1vKW0odiltKGVkKWgKKyhmcm9tKWUgRnEoYW5hbWUpMzMgYiBGdChiKXMoZWZvcmUpMTExMCAxMzYzIHkodGhlKWUoYXNzaWdubWVuKW0odC4pNDEKK2IoT3RoZXIpMzAgYiBGcShuYW1lKTM2IGIgRnQoYXJndW1lbiltKHRzKTMwIGIoYXJlKWgoaWdub3JlZC4pNjMwCisxNTI1IHkgRnMoLWQpZiBGaShkZWxpbSkxMTQgYiBGdChUaGUpNDEgYihcMDE0cnN0KWgoYyltKGhhcmFjdGVyKWgob2YpZgorRnEoZGVsaW0pZyBGdChpcylnKHVzZWQpZyh0bylnKHRlcm1pbmF0ZSloKHRoZSlmKGlucHV0KWYobGluZSwpMTExMAorMTYzNSB5KHJhdGhlcikzMCBiKHRoYW4pZyhuZXdsaW5lLik2MzAgMTc5NyB5IEZzKC1lKTM4NAorYiBGdChSZWFkbGluZSkyOCBiKFwoc2VlKWgoQ2hhcHRlcillKDgpaChbQ29tbWFuZClmKExpbmUpZyhFZGl0aW5nXSwpaQorKHBhZ2UpZig5M1wpKWgoaXMpZih1c2VkKTExMTAgMTkwNiB5KHRvKTQyIGIob2J0YWluKWYodGhlKWcobGluZS4pNzMKK2IoUmVhZGxpbmUpNDEgYih1c2VzKWcodGhlKWcoY3VycmVuKW0odClnKFwob3IpZyhkZWZhdWx0LClqKGlmKWQobGluZSkKKzExMTAgMjAxNiB5KGVkaXRpbmcpMzEgYih3KW0oYXMpZyhub3QpZihwcmV2aW91c2x5KWcoYWN0aXYpbShlXCkpagorKGVkaXRpbmcpZihzZXR0aW5ncy4pNjMwIDIxNzggeSBGcygtaSllIEZpKHRleHQpMTYyIGIKK0Z0KElmKTM2IGIoUmVhZGxpbmUpaShpcylmKGIpcyhlaW5nKWcodXNlZClmKHRvKWgocmVhZClnKHRoZSlnKGxpbmUsKWoKK0ZxKHRleHQpZiBGdChpcyllKHBsYWNlZCloKGluKW0odG8pZyh0aGUpMTExMCAyMjg3IHkoZWRpdGluZykzMQorYihidVwwMTNlcillKGIpcyhlZm9yZSloKGVkaXRpbmcpaChiKXMoZWdpbnMuKTYzMCAyNDQ5Cit5IEZzKC1uKWYgRmkobmNoYXJzKTExMTAgMjU1OSB5IEZzKHJlYWQpMzggYiBGdChyZXR1cm5zKWYoYWZ0ZXIpagogKHJlYWRpbmcpZiBGcShuYyltKGhhcnMpaiBGdChjKW0oaGFyYWN0ZXJzKWUocmF0aGVyKWYodGhhbilnKHcpbQotKGFpdGluZykxMTEwIDIyMzIgeShmb3IpMzAgYihhKWgoY29tcGxldGUpaChsaW5lKWUob2YpaChpbnB1dC4pNjMwCi0yMzk0IHkgRnMoLXApZiBGaihwcm9tcHQpMTExMCAyNTA0IHkgRnQoRGlzcGxhKW0oeSkzOAotYiBGcShwcm9tcHQpcCBGdCgsKWcod2l0aG91dCllKGEpaCh0cmFpbGluZyloKG5ld2xpbmUsKWgoYilzKGVmb3JlKWQKLShhdHRlbXB0aW5nKWkodG8pMTExMCAyNjEzIHkocmVhZClmKGFuKW0oeSloKGlucHV0Lik2MAorKGFpdGluZykxMTEwIDI2NjggeShmb3IpZyhhKWgoY29tcGxldGUpaChsaW5lKWYob2YpZihpbnB1dCwpaShidXQpZQorKGhvbm9yKWcoYSloKGRlbGltaXRlcilnKGlmKWYoZmV3KW0oZXIpaCh0aGFuKTExMTAgMjc3OAoreSBGcShuYyltKGhhcnMpMzQgYiBGdChjKW0oaGFyYWN0ZXJzKWUoYXJlKWUocmVhZCloKGIpcyhlZm9yZSlmKHRoZSlnCisoZGVsaW1pdGVyLik2MzAgMjkzOSB5IEZzKC1OKWcgRmkobmNoYXJzKTExMTAgMzA0OSB5CitGcyhyZWFkKTM5IGIgRnQocmV0dXJucylmKGFmdGVyKWoocmVhZGluZyllKGV4YWN0bHkpagorRnEobmMpbShoYXJzKWggRnQoYyltKGhhcmFjdGVycylmKHJhdGhlcilkKHRoYW4pMTExMAorMzE1OSB5KHcpbShhaXRpbmcpMzIgYihmb3IpZihhKWcoY29tcGxldGUpaShsaW5lKWUob2YpZyhpbnB1dCwpZworKHVubGVzcylmKEVPRiloKGlzKWcoZW5jb3VuKW0odGVyZWQpZyhvcikxMTEwIDMyNjggeQorRnMocmVhZClmIEZ0KHRpbWVzKWkob3V0Lik0MyBiKERlbGltaXRlcikzMyBiKGMpbShoYXJhY3RlcnMpZihlbmNvdW4pbQorKHRlcmVkKWcoaW4pZih0aGUpZyhpbnB1dClnKGFyZSkxMTEwIDMzNzggeShub3QpZyh0cmVhdGVkKWgoc3ApcworKGVjaWFsbHkpZyhhbmQpZihkbylmKG5vdClpKGNhdXNlKWYgRnMocmVhZClmIEZ0KHRvKWkocmV0dXJuKWUodW4pbQorKHRpbCloIEZxKG5jKW0oaGFycykxMTEwIDM0ODcgeSBGdChjKW0oaGFyYWN0ZXJzKWgoYXJlKWYocmVhZC4pNjMwCiszNjQ5IHkgRnMoLXApZiBGaShwcm9tcHQpMTExMCAzNzU5IHkgRnQoRGlzcGxhKW0oeSkzOAorYiBGcShwcm9tcHQpciBGdCgsKWYod2l0aG91dClnKGEpZih0cmFpbGluZylpKG5ld2xpbmUsKWcoYilzKGVmb3JlKWUKKyhhdHRlbXB0aW5nKWkodG8pMTExMCAzODY4IHkocmVhZClmKGFuKW0oeSloKGlucHV0Lik2MAogYihUaGUpMzcgYihwcm9tcHQpZyhpcylnKGRpc3BsYSltKHkpbShlZCloKG9ubHkpZihpZilnKGlucHV0KWcoaXMpZwotKGNvbWluZykxMTEwIDI3MjMgeShmcm9tKTMwIGIoYSloKHRlcm1pbmFsLik2MzAgMjg4NQorKGNvbWluZykxMTEwIDM5NzggeShmcm9tKTMwIGIoYSloKHRlcm1pbmFsLik2MzAgNDE0MAogeSBGcygtcikzODQgYiBGdChJZikyMSBiKHRoaXMpaChvcHRpb24pZyhpcylmKGdpdiltKGVuLClrKGJhYyltKGtzbGFzaCkKIGQoZG8pcyhlcylmKG5vdCloKGFjdCloKGFzKWYoYW4pZihlc2NhcClzKGUpaChjKW0oaGFyYWN0ZXIuKTExMTAKLTI5OTUgeShUaGUpMzAgYihiYWMpbShrc2xhc2gpaShpcylmKGNvbnNpZGVyZWQpZyh0byloKGIpcyhlKWUocGFydCloCi0ob2YpZyh0aGUpZyhsaW5lLik0MyBiKEluKTMwIGIocGFydGljdWxhciwpaShhKTExMTAgMzEwNAorNDI0OSB5KFRoZSkzMCBiKGJhYyltKGtzbGFzaClpKGlzKWYoY29uc2lkZXJlZClnKHRvKWgoYilzKGUpZShwYXJ0KWgKKyhvZilnKHRoZSlnKGxpbmUuKTQzIGIoSW4pMzAgYihwYXJ0aWN1bGFyLClpKGEpMTExMCA0MzU5CiB5KGJhYyltKGtzbGFzaC1uZXdsaW5lKWYocGFpcilmKG1hKW0oeSloKG5vdClnKGIpcyhlKWYodXNlZClmKGFzKWkoYSlnCi0obGluZSlmKGNvbiltKHRpbiltKHVhdGlvbi4pNjMwIDMyNjcgeSBGcygtcykzODQgYiBGdChTaWxlbiltKHQpMjgKKyhsaW5lKWYoY29uKW0odGluKW0odWF0aW9uLik2MzAgNDUyMSB5IEZzKC1zKTM4NCBiIEZ0KFNpbGVuKW0odCkyOAogYihtbylzKGRlLik0MCBiKElmKTI3IGIoaW5wdXQpZihpcylpKGNvbWluZylnKGZyb20pZihhKWgodGVybWluYWwsKWgoYykKLW0oaGFyYWN0ZXJzKWcoYXJlKWYobm90KTExMTAgMzM3NiB5KGVjKW0oaG8pcyhlZC4pNjMwCi0zNTM4IHkgRnMoLXQpaSBGaih0aW1lb3V0KTExMTAgMzY0OCB5IEZ0KENhdXNlKTIzIGIgRnMocmVhZClmCittKGhhcmFjdGVycylnKGFyZSlmKG5vdCkxMTEwIDQ2MzAgeShlYyltKGhvKXMoZWQuKTYzMAorNDc5MiB5IEZzKC10KWkgRmkodGltZW91dCkxMTEwIDQ5MDIgeSBGdChDYXVzZSkyMyBiIEZzKHJlYWQpZgogRnQodG8paSh0aW1lKWYob3V0KWgoYW5kKWUocmV0dXJuKWcoZmFpbHVyZSloKGlmKWcoYSloKGNvbXBsZXRlKWcobGluZSkKLWcob2YpZihpbnB1dCkxMTEwIDM3NTggeShpcyk0NCBiKG5vdClmKHJlYWQpaCh3aXRoaW4pZQorZyhvZilmKGlucHV0KTExMTAgNTAxMSB5KGlzKTQ0IGIobm90KWYocmVhZCloKHdpdGhpbillCiBGcSh0aW1lb3V0KTQ3IGIgRnQoc2Vjb25kcy4pODAgYiBGcSh0aW1lb3V0KTQ2IGIgRnQobWEpbSh5KWUoYilzKGUpZihhKQotaChkZWNpbWFsKTExMTAgMzg2NyB5KG4pbSh1bSltKGIpcyhlcikyNiBiKHdpdGgpaChhKWgoZnJhY3Rpb25hbCloKHApcworaChkZWNpbWFsKTExMTAgNTEyMSB5KG4pbSh1bSltKGIpcyhlcikyNiBiKHdpdGgpaChhKWgoZnJhY3Rpb25hbCloKHApcwogKG9ydGlvbilkKGZvbGxvKW0od2luZylqKHRoZSlmKGRlY2ltYWwpZyhwKXMob2luKW0odC4pNDAKLWIoVGhpcykxMTEwIDM5NzcgeShvcHRpb24pZyhpcylnKG9ubHkpZyhlXDAxM2VjdGl2KW0oZSlqKGlmKWMKK2IoVGhpcykxMTEwIDUyMzAgeShvcHRpb24pZyhpcylnKG9ubHkpZyhlXDAxM2VjdGl2KW0oZSlqKGlmKWMKIEZzKHJlYWQpZyBGdChpcyloKHJlYWRpbmcpZyhpbnB1dClmKGZyb20pZyhhKWgodGVybWluYWwsKTExMTAKLTQwODYgeShwaXApcyhlLCkyNSBiKG9yKWUob3RoZXIpaShzcClzKGVjaWFsKWYoXDAxNGxlOylpKGl0KWYoaGFzKWUobm8pCi1oKGVcMDEzZWN0KWgod2hlbillKHJlYWRpbmcpaChmcm9tKWcocmVndWxhcikxMTEwIDQxOTYKLXkoXDAxNGxlcy4pNTUgYihJZikzNCBiIEZxKHRpbWVvdXQpayBGdChpcylkKDAsKWkgRnMocmVhZClkCi1GdChyZXR1cm5zKWcoc3VjY2VzcyloKGlmKWcoaW5wdXQpZyhpcylnKGEpbSh2KS01IGIoYWlsYWJsZSkzNwotYihvbikxMTEwIDQzMDUgeSh0aGUpaihzcClzKGVjaVwwMTRlZClmKFwwMTRsZSlnKGRlc2NyaXB0b3IsKWooZmFpbHVyZSkKLWUob3RoZXJ3aXNlLik2OSBiKFRoZSkzOSBiKGV4aXQpaChzdGF0dXMpZyhpcykxMTEwIDQ0MTUKLXkoZ3JlYXRlcikzMiBiKHRoYW4pZSgxMjgpaChpZilnKHRoZSlmKHRpbWVvdXQpaShpcyllKGV4Y2VlZGVkLik2MzAKLTQ1NzcgeSBGcygtdSlnIEZqKGZkKTI1OCBiIEZ0KFJlYWQpMzEgYihpbnB1dCllKGZyb20paChcMDE0bGUpZwotKGRlc2NyaXB0b3IpaCBGcShmZClwIEZ0KC4pMTUwIDQ3MzkgeSBGcyhyZWFkYXJyYXkpODcwCi00ODQ5IHkocmVhZGFycmF5KTQ1IGIoWy1uKWkgRmooY291bnQpMTEgYiBGcyhdKTQ2IGIoWy1PKWgKLUZqKG9yaWdpbikxMSBiIEZzKF0pNDUgYihbLXMpaSBGaihjb3VudCkxMSBiIEZzKF0pNDYKLWIoWy10XSlnKFstdSloIEZqKGZkKTExIGIgRnMoXSk0NyBiKFspODcwIDQ5NTkgeSgtQylnCi1GaihjYWxsYmFjaykxMSBiIEZzKF0pNDUgYihbLWMpaSBGaihxdWFudHVtKTExIGIgRnMoXSk0NQotYihbKXAgRmooYXJyYXkpMTEgYiBGcyhdKTYzMCA1MDk0IHkgRnQoUmVhZCkzNSBiKGxpbmVzKWgoZnJvbSlmKHRoZSlnCi0oc3RhbmRhcmQpZyhpbnB1dClmKGluKW0odG8paShhcnJhKW0oeSlnKHYpLTUgYihhcmlhYmxlKTM2Ci1iIEZxKGFycmEpbSh5KXAgRnQoLCloKG9yKWYoZnJvbSllKFwwMTRsZSlpKGRlLSk2MzAgNTIwNAoteShzY3JpcHRvcikzMCBiIEZxKGZkKWsgRnQoaWYpYyh0aGUpZyhgKXAgRnMoLXUpcCBGdCgnKWgob3B0aW9uKWYoaXMpaAotKHN1cHBsaWVkLik2MzAgNTM0MCB5KEEpZihzeW5vbiltKHltKWcoZm9yKWcgRnMobWFwZmlsZSlwCi1GdCguKXAgZW9wIGVuZAorNTM0MCB5KHBpcClzKGUsKTI1IGIob3IpZShvdGhlcilpKHNwKXMoZWNpYWwpZihcMDE0bGU7KWkoaXQpZihoYXMpZShubykKK2goZVwwMTNlY3QpaCh3aGVuKWUocmVhZGluZyloKGZyb20pZyhyZWd1bGFyKXAgZW9wIGVuZAogJSVQYWdlOiA0OSA1NQogVGVYRGljdCBiZWdpbiA0OSA1NCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNDopNDEKLWIoU2hlbGwpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjA2OSBiKDQ5KTE1MCAyOTkgeSBGcyhzb3VyY2UpODcwCi00MzUgeShzb3VyY2UpNDYgYiBGaihmaWxlbmFtZSk2MzAgNTcxIHkgRnQoQSkzMCBiKHN5bm9uKW0oeW0pZyhmb3IpZwotRnMoLilnIEZ0KFwoc2VlKWkoU2VjdGlvbilmKDQuMSlnKFtCb3VybmUpZyhTaGVsbClmKEJ1aWx0aW5zXSwpaChwYWdlKWcKLSgzNVwpLikxNTAgNzM0IHkgRnModHlwZSk4NzAgODcwIHkodHlwZSk0NyBiKFstYWZwdFBdKWUoWylwCi1GaihuYW1lKTU3IGIgRnMoLi4uKW8oXSk2MzAgMTAwNiB5IEZ0KEYpLTggYihvcik0MiBiKGVhYyltKGgpZwotRnEobmFtZSlwIEZ0KCwpaShpbmRpY2F0ZSllKGhvKW0odylnKGl0KWYodyltKG91bGQpZyhiKXMoZSlnKGluKW0KLSh0ZXJwcmV0ZWQpZyhpZilnKHVzZWQpZihhcylpKGEpZihjb21tYW5kKTYzMCAxMTE2IHkobmFtZS4pNjMwCi0xMjUyIHkoSWYpZCh0aGUpZyhgKXAgRnMoLXQpcCBGdCgnKWcob3B0aW9uKWcoaXMpZyh1c2VkLClpCitiKFNoZWxsKTMwIGIoQnVpbHRpbiloKENvbW1hbmRzKTIwNjkgYig0OSkxMTEwIDI5OSB5KFwwMTRsZXMuKTU1CitiKElmKTM0IGIgRnEodGltZW91dClrIEZ0KGlzKWQoMCwpaSBGcyhyZWFkKWQgRnQocmV0dXJucylnKHN1Y2Nlc3MpaAorKGlmKWcoaW5wdXQpZyhpcylnKGEpbSh2KS01IGIoYWlsYWJsZSkzNyBiKG9uKTExMTAgNDA4Cit5KHRoZSlqKHNwKXMoZWNpXDAxNGVkKWYoXDAxNGxlKWcoZGVzY3JpcHRvciwpaihmYWlsdXJlKWUob3RoZXJ3aXNlLik2OQorYihUaGUpMzkgYihleGl0KWgoc3RhdHVzKWcoaXMpMTExMCA1MTggeShncmVhdGVyKTMyIGIodGhhbillKDEyOCloKGlmKWcKKyh0aGUpZih0aW1lb3V0KWkoaXMpZShleGNlZWRlZC4pNjMwIDY4MiB5IEZzKC11KWcgRmkoZmQpMjU4CitiIEZ0KFJlYWQpMzEgYihpbnB1dCllKGZyb20paChcMDE0bGUpZyhkZXNjcmlwdG9yKWggRnEoZmQpdAorRnQoLikxNTAgODQ3IHkgRnMocmVhZGFycmF5KTg3MCA5NTYgeShyZWFkYXJyYXkpNDUgYihbLW4paQorRmkoY291bnQpMTEgYiBGcyhdKTQ2IGIoWy1PKWggRmkob3JpZ2luKTExIGIgRnMoXSk0NQorYihbLXMpaSBGaShjb3VudCkxMSBiIEZzKF0pNDYgYihbLXRdKWcoWy11KWggRmkoZmQpMTEKK2IgRnMoXSk0NyBiKFspODcwIDEwNjYgeSgtQylnIEZpKGNhbGxiYWNrKTExIGIgRnMoXSk0NQorYihbLWMpaSBGaShxdWFudHVtKTExIGIgRnMoXSk0NSBiKFspcCBGaShhcnJheSkxMSBiIEZzKF0pNjMwCisxMjAzIHkgRnQoUmVhZCkzNyBiKGxpbmVzKWcoZnJvbSlmKHRoZSloKHN0YW5kYXJkKWYoaW5wdXQpZyhpbiltKHRvKWgKKyh0aGUpZyhpbmRleGVkKWYoYXJyYSltKHkpaSh2KS01IGIoYXJpYWJsZSkzNyBiIEZxKGFycmEpbSh5KTgKK2IgRnQoLCkzOSBiKG9yKTYzMCAxMzEzIHkoZnJvbSkzMCBiKFwwMTRsZSlnKGRlc2NyaXB0b3IpaAorRnEoZmQpaSBGdChpZilkKHRoZSloKGApcCBGcygtdSlwIEZ0KCcpZihvcHRpb24paChpcylmKHN1cHBsaWVkLik2MzAKKzE0NTAgeShBKWcoc3lub24pbSh5bSlnKGZvcilnIEZzKG1hcGZpbGUpcCBGdCguKTE1MCAxNjE0Cit5IEZzKHNvdXJjZSk4NzAgMTc1MSB5KHNvdXJjZSk0NiBiIEZpKGZpbGVuYW1lKTYzMCAxODg4Cit5IEZ0KEEpMzAgYihzeW5vbiltKHltKWcoZm9yKWcgRnMoLilnIEZ0KFwoc2VlKWkoU2VjdGlvbilmKDQuMSlnCisoW0JvdXJuZSlnKFNoZWxsKWYoQnVpbHRpbnNdLCloKHBhZ2UpZygzNVwpLikxNTAgMjA1MgoreSBGcyh0eXBlKTg3MCAyMTg5IHkodHlwZSk0NyBiKFstYWZwdFBdKWUoWylwIEZpKG5hbWUpNTcKK2IgRnMoLi4uKW8oXSk2MzAgMjMyNiB5IEZ0KEYpLTggYihvcik0MSBiKGVhYyltKGgpaCBGcShuYW1lKTUKK2IgRnQoLCk0NCBiKGluZGljYXRlKWUoaG8pbSh3KWYoaXQpZyh3KW0ob3VsZClmKGIpcyhlKWcoaW4pbSh0ZXJwcmV0ZWQpCitoKGlmKWcodXNlZClmKGFzKWgoYSlnKGNvbW1hbmQpNjMwIDI0MzYgeShuYW1lLik2MzAgMjU3MworeShJZilkKHRoZSlnKGApcCBGcygtdClwIEZ0KCcpZyhvcHRpb24pZyhpcylnKHVzZWQsKWkKIEZzKHR5cGUpZCBGdChwcmluKW0odHMpZyhhKWkoc2luZ2xlKWYodyltKG9yZClnKHdoaWMpbShoKWcoaXMpZyhvbmUpZwotKG9mKWgoYClwIEZzKGFsaWFzKXAgRnQoJywpNjMwIDEzNjIgeShgKXAgRnMoZnVuY3Rpb24pcAorKG9mKWgoYClwIEZzKGFsaWFzKXAgRnQoJywpNjMwIDI2ODIgeShgKXAgRnMoZnVuY3Rpb24pcAogRnQoJywpMzIgYihgKXAgRnMoYnVpbHRpbilwIEZ0KCcsKWcoYClwIEZzKGZpbGUpcCBGdCgnKWcob3IpaChgKXAKIEZzKGtleXdvcmQpcCBGdCgnLClmKGlmKWggRnEobmFtZSkzOCBiIEZ0KGlzKTMzIGIoYW4pZihhbGlhcywpaihzaGVsbCllCi0oZnVuY3Rpb24sKTYzMCAxNDcxIHkoc2hlbGwpaShidWlsdGluLClnKGRpc2spZyhcMDE0bGUsKWgob3IpZShzaGVsbCloCisoZnVuY3Rpb24sKTYzMCAyNzkyIHkoc2hlbGwpaShidWlsdGluLClnKGRpc2spZyhcMDE0bGUsKWgob3IpZShzaGVsbCloCiAocmVzZXJ2KW0oZWQpZyh3KW0ob3JkLCloKHJlc3ApcyhlY3RpdiltKGVseSktOCBiKC4pNTUKLWIoSWYpMzQgYih0aGUpaCBGcShuYW1lKTQwIGIgRnQoaXMpMzUgYihub3QpNjMwIDE1ODEKK2IoSWYpMzQgYih0aGUpaCBGcShuYW1lKTQwIGIgRnQoaXMpMzUgYihub3QpNjMwIDI5MDIKIHkoZm91bmQsKTI5IGIodGhlbiloKG5vdGhpbmcpaChpcylmKHByaW4pbSh0ZWQsKWcoYW5kKWcKLUZzKHR5cGUpZiBGdChyZXR1cm5zKWcoYSlpKGZhaWx1cmUpZyhzdGF0dXMuKTYzMCAxNzE3CitGcyh0eXBlKWYgRnQocmV0dXJucylnKGEpaShmYWlsdXJlKWcoc3RhdHVzLik2MzAgMzAzOQogeShJZikzOSBiKHRoZSlnKGApcCBGcygtcClwIEZ0KCcpZyhvcHRpb24paChpcylmKHVzZWQsKWkKIEZzKHR5cGUpZCBGdChlaXRoZXIpaChyZXR1cm5zKWYodGhlKWkobmFtZSlmKG9mKWcodGhlKWcoZGlzaylnKFwwMTRsZSlnCi0odGhhdCk2MzAgMTgyNiB5KHcpbShvdWxkKTMwIGIoYilzKGUpZyhleGVjdXRlZCwpaChvcilnKG5vdGhpbmcpZihpZilnCisodGhhdCk2MzAgMzE0OCB5KHcpbShvdWxkKTMwIGIoYilzKGUpZyhleGVjdXRlZCwpaChvcilnKG5vdGhpbmcpZihpZilnCiAoYClwIEZzKC10KXAgRnQoJyloKHcpbShvdWxkKWYobm90KWcocmV0dXJuKWcoYClwIEZzKGZpbGUpcAotRnQoJy4pNjMwIDE5NjMgeShUaGUpMjMgYihgKXAgRnMoLVApcCBGdCgnKWgob3B0aW9uKWcoZm9yY2VzKWcoYSlnCi0ocGF0aClnKHNlYXJjKW0oaClnKGZvcilnKGVhYyltKGgpZyBGcShuYW1lKXAgRnQoLClpKGV2KW0oZW4pZShpZilnKGApcAotRnMoLXQpcCBGdCgnKWcodyltKG91bGQpZihub3QpaChyZXR1cm4pNjMwIDIwNzIgeShgKXAKLUZzKGZpbGUpcCBGdCgnLik2MzAgMjIwOCB5KElmKTM0IGIoYSlpKGNvbW1hbmQpZShpcyloKGhhc2hlZCwpZyhgKXAKLUZzKC1wKXAgRnQoJylnKGFuZClmKGApcCBGcygtUClwIEZ0KCcpaChwcmluKW0odClmKHRoZSloKGhhc2hlZClmKHYpLTUKLWIoYWx1ZSwpMzcgYihub3QpZShuZWNlc3NhcmlseSk2MzAgMjMxOCB5KHRoZSljKFwwMTRsZSlmKHRoYXQpaChhcHApcwotKGVhcnMpZihcMDE0cnN0KWYoaW4paCBGcygkUEFUSClwIEZ0KC4pNjMwIDI0NTQgeShJZikzNgotYih0aGUpaChgKXAgRnMoLWEpcCBGdCgnKWcob3B0aW9uKWcoaXMpZyh1c2VkLClnIEZzKHR5cGUpZgotRnQocmV0dXJucylmKGFsbClqKG9mKWYodGhlKWcocGxhY2VzKWcodGhhdClnKGNvbiltKHRhaW4paChhbilmKGV4ZS0pCi02MzAgMjU2NCB5KGN1dGFibGUpZChuYW1lZClmIEZxKFwwMTRsZSlwIEZ0KC4pNTAgYihUaGlzKTMzCi1iKGluY2x1ZGVzKWcoYWxpYXNlcylpKGFuZCllKGZ1bmN0aW9ucywpaChpZilmKGFuZClnKG9ubHkpaChpZilmKHRoZSloCi0oYClwIEZzKC1wKXAgRnQoJyk2MzAgMjY3MyB5KG9wdGlvbilkKGlzKWYobm90KWgoYWxzbylnKHVzZWQuKTYzMAotMjgwOSB5KElmKTI2IGIodGhlKWgoYClwIEZzKC1mKXAgRnQoJylnKG9wdGlvbilnKGlzKWcodXNlZCwpZwotRnModHlwZSllIEZ0KGRvKXMoZXMpaShub3QpZyhhdHRlbXB0KWcodG8paChcMDE0bmQpZChzaGVsbClpCi0oZnVuY3Rpb25zLClnKGFzKWcod2l0aCk2MzAgMjkxOSB5KHRoZSlrIEZzKGNvbW1hbmQpZAotRnQoYnVpbHRpbi4pNjMwIDMwNTUgeShUaGUpaihyZXR1cm4pZihzdGF0dXMpaChpcylnKHplcm8paChpZilmKGFsbCloCitGdCgnLik2MzAgMzI4NSB5KFRoZSkyMyBiKGApcCBGcygtUClwIEZ0KCcpZyhvcHRpb24paChmb3JjZXMpZyhhKWcKKyhwYXRoKWYoc2VhcmMpbShoKWgoZm9yKWYoZWFjKW0oaCloIEZxKG5hbWUpNSBiIEZ0KCwpMjYKK2IoZXYpbShlbillKGlmKWYoYClwIEZzKC10KXAgRnQoJylnKHcpbShvdWxkKWcobm90KWgocmV0dXJuKTYzMAorMzM5NSB5KGApcCBGcyhmaWxlKXAgRnQoJy4pNjMwIDM1MzIgeShJZikzNCBiKGEpaShjb21tYW5kKWUoaXMpaAorKGhhc2hlZCwpZyhgKXAgRnMoLXApcCBGdCgnKWcoYW5kKWYoYClwIEZzKC1QKXAgRnQoJyloKHByaW4pbSh0KWYodGhlKWgKKyhoYXNoZWQpZih2KS01IGIoYWx1ZSwpMzcgYihub3QpZShuZWNlc3NhcmlseSk2MzAgMzY0MQoreSh0aGUpYyhcMDE0bGUpZih0aGF0KWgoYXBwKXMoZWFycylmKFwwMTRyc3QpZihpbiloIEZzKCRQQVRIKXAKK0Z0KC4pNjMwIDM3NzggeShJZikzNiBiKHRoZSloKGApcCBGcygtYSlwIEZ0KCcpZyhvcHRpb24pZyhpcylnKHVzZWQsKWcKK0ZzKHR5cGUpZiBGdChyZXR1cm5zKWYoYWxsKWoob2YpZih0aGUpZyhwbGFjZXMpZyh0aGF0KWcoY29uKW0odGFpbiloCisoYW4pZihleGUtKTYzMCAzODg4IHkoY3V0YWJsZSlkKG5hbWVkKWYgRnEoXDAxNGxlKTUgYgorRnQoLik0OSBiKFRoaXMpMzIgYihpbmNsdWRlcyloKGFsaWFzZXMpaShhbmQpZChmdW5jdGlvbnMsKWkoaWYpZihhbmQpZgorKG9ubHkpaShpZilmKHRoZSlnKGApcCBGcygtcClwIEZ0KCcpNjMwIDM5OTggeShvcHRpb24pZShpcylmKG5vdCloCisoYWxzbylnKHVzZWQuKTYzMCA0MTM0IHkoSWYpMjYgYih0aGUpaChgKXAgRnMoLWYpcCBGdCgnKWcob3B0aW9uKWcoaXMpZworKHVzZWQsKWcgRnModHlwZSllIEZ0KGRvKXMoZXMpaShub3QpZyhhdHRlbXB0KWcodG8paChcMDE0bmQpZChzaGVsbClpCisoZnVuY3Rpb25zLClnKGFzKWcod2l0aCk2MzAgNDI0NCB5KHRoZSlrIEZzKGNvbW1hbmQpZAorRnQoYnVpbHRpbi4pNjMwIDQzODEgeShUaGUpaihyZXR1cm4pZihzdGF0dXMpaChpcylnKHplcm8paChpZilmKGFsbCloCiAob2YpZih0aGUpaCBGcShuYW1lcylpIEZ0KGFyZSllKGZvdW5kLCllKG5vbi16ZXJvKWkoaWYpZihhbiltKHkpZyhhcmUpaAotKG5vdCk2MzAgMzE2NSB5KGZvdW5kLikxNTAgMzMyOCB5IEZzKHR5cGVzZXQpODcwIDM0NjQKLXkodHlwZXNldCk0NiBiKFstYWZGcnhpXSlmKFstcF0paShbKXAgRmoobmFtZSkxMSBiIEZzKFs9KXAKLUZqKHZhbHVlKWcgRnMoXSk0MyBiKC4uLilvKF0pNjMwIDM2MDAgeSBGdChUaGUpMjkgYiBGcyh0eXBlc2V0KWYKKyhub3QpNjMwIDQ0OTEgeShmb3VuZC4pMTUwIDQ2NTUgeSBGcyh0eXBlc2V0KTg3MCA0NzkyCit5KHR5cGVzZXQpNDYgYihbLWFmRnJ4aV0pZihbLXBdKWkoWylwIEZpKG5hbWUpMTEgYiBGcyhbPSlwCitGaSh2YWx1ZSlnIEZzKF0pNDMgYiguLi4pbyhdKTYzMCA0OTI5IHkgRnQoVGhlKTI5IGIgRnModHlwZXNldClmCiBGdChjb21tYW5kKWgoaXMpZyhzdXBwbGllZClnKGZvcilnKGNvbXBhdGliaWxpdCltKHkpaih3aXRoKWQodGhlKWgKLShLb3JuKWUoc2hlbGw7KWooaG8pbSh3LSk2MzAgMzcwOSB5KGV2KW0oZXIsKWcoaXQpZyhoYXMpZihiKXMoZWVuKWcKKyhLb3JuKWUoc2hlbGw7KWooaG8pbSh3LSk2MzAgNTAzOSB5KGV2KW0oZXIsKWcoaXQpZyhoYXMpZihiKXMoZWVuKWcKIChkZXByZWNhdGVkKWgoaW4pZihmYSltKHYpbShvcilpKG9mKWUodGhlKWggRnMoZGVjbGFyZSlkCi1GdChidWlsdGluKWkoY29tbWFuZC4pMTUwIDM4NzIgeSBGcyh1bGltaXQpODcwIDQwMDggeSh1bGltaXQpNDYKLWIoWy1hYmNkZWZpbG1ucHFyc3R1dnhIU1RdKTQxIGIoWylwIEZqKGxpbWl0KTExIGIgRnMoXSk2MzAKLTQxNDQgeSh1bGltaXQpMjUgYiBGdChwcm8pbSh2aWRlcyloKGNvbiltKHRyb2wpaShvKW0odiltKGVyKWcodGhlKWYKLShyZXNvdXJjZXMpZihhKW0odiktNSBiKGFpbGFibGUpMjkgYih0byllKHBybylzKGNlc3NlcylmKHN0YXJ0ZWQpaChiKW0KLSh5KWcodGhlKTYzMCA0MjU0IHkoc2hlbGwsKWkob24pZihzeXN0ZW1zKWcodGhhdCloKGFsbG8pbSh3KWgoc3VjKW0oaCllCi0oY29uKW0odHJvbC4pNDEgYihJZikyOCBiKGFuKWcob3B0aW9uKWgoaXMpZihnaXYpbShlbiwpaShpdCllKGlzKWgoaW4pbQotKHRlcnByZXRlZCk2MzAgNDM2NCB5KGFzKWkoZm9sbG8pbSh3czopNjMwIDQ1MjYgeSBGcygtUykzODQKLWIgRnQoQ2hhbmdlKTMwIGIoYW5kKWcocmVwKXMob3J0KWcodGhlKWcoc29mdCloKGxpbWl0KWcoYXNzbylzKGNpYXRlZCloCi0od2l0aCllKGEpaChyZXNvdXJjZS4pNjMwIDQ2ODkgeSBGcygtSCkzODQgYiBGdChDaGFuZ2UpMzAKLWIoYW5kKWcocmVwKXMob3J0KWcodGhlKWcoaGFyZClnKGxpbWl0KWgoYXNzbylzKGNpYXRlZCloKHdpdGgpZShhKWgKLShyZXNvdXJjZS4pNjMwIDQ4NTIgeSBGcygtYSkzODQgYiBGdChBbGwpMzEgYihjdXJyZW4pbSh0KWYobGltaXRzKWgKLShhcmUpZyhyZXApcyhvcnRlZC4pNjMwIDUwMTUgeSBGcygtYikzODQgYiBGdChUaGUpMzAKLWIobWF4aW0pbSh1bSlnKHNvKXMoYyltKGspbShldClpKGJ1XDAxM2VyKWUoc2l6ZS4pNjMwCi01MTc3IHkgRnMoLWMpMzg0IGIgRnQoVGhlKTMwIGIobWF4aW0pbSh1bSlnKHNpemUpaChvZilnKGNvcmUpZyhcMDE0bGVzKQotZihjcmVhdGVkLik2MzAgNTM0MCB5IEZzKC1kKTM4NCBiIEZ0KFRoZSkzMCBiKG1heGltKW0odW0pZyhzaXplKWgob2YpZwotKGEpZyhwcm8pcyhjZXNzJ3MpZihkYXRhKWgoc2VnbWVuKW0odC4pcCBlb3AgZW5kCitGdChidWlsdGluKWkoY29tbWFuZC4pMTUwIDUyMDMgeSBGcyh1bGltaXQpODcwIDUzNDAgeSh1bGltaXQpNDYKK2IoWy1hYmNkZWZpbG1ucHFyc3R1dnhIU1RdKTQxIGIoWylwIEZpKGxpbWl0KTExIGIgRnMoXSlwCitlb3AgZW5kCiAlJVBhZ2U6IDUwIDU2CiBUZVhEaWN0IGJlZ2luIDUwIDU1IGJvcCAxNTAgLTExNiBhIEZ0KDUwKTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkgRnMoLWUpMzg0IGIgRnQoVGhlKTMwCi1iKG1heGltKW0odW0pZyhzYyltKGhlZHVsaW5nKWgocHJpb3JpdCltKHkpZihcKClwIEZzKCIpcAotRnQobmljZSlwIEZzKCIpcCBGdChcKS4pNjMwIDQ4MyB5IEZzKC1mKTM4NCBiIEZ0KFRoZSkzMAotYihtYXhpbSltKHVtKWcoc2l6ZSloKG9mKWcoXDAxNGxlcylmKHdyaXR0ZW4paChiKW0oeSlmKHRoZSlnKHNoZWxsKWgKLShhbmQpZihpdHMpaChjKW0oaGlsZHJlbi4pNjMwIDY2NyB5IEZzKC1pKTM4NCBiIEZ0KFRoZSkzMAotYihtYXhpbSltKHVtKWcobiltKHVtKW0oYilzKGVyKWYob2YpaShwKXMoZW5kaW5nKWUoc2lnbmFscy4pNjMwCi04NTEgeSBGcygtbCkzODQgYiBGdChUaGUpMzAgYihtYXhpbSltKHVtKWcoc2l6ZSloKHRoYXQpZyhtYSltKHkpZyhiKXMKLShlKWYobG8pcyhjKW0oayltKGVkKWkoaW4pbSh0bylmKG1lbW9yeSktOCBiKC4pNjMwIDEwMzUKLXkgRnMoLW0pMzg0IGIgRnQoVGhlKTMwIGIobWF4aW0pbSh1bSlnKHJlc2lkZW4pbSh0KWgoc2V0KWcoc2l6ZS4pNjMwCi0xMjE5IHkgRnMoLW4pMzg0IGIgRnQoVGhlKTMwIGIobWF4aW0pbSh1bSlnKG4pbSh1bSltKGIpcyhlcilmKG9mKWkob3ApcwotKGVuKWUoXDAxNGxlKWkoZGVzY3JpcHRvcnMuKTYzMCAxNDAzIHkgRnMoLXApMzg0IGIgRnQoVGhlKTMwCi1iKHBpcClzKGUpZihidVwwMTNlciloKHNpemUuKTYzMCAxNTg3IHkgRnMoLXEpMzg0IGIgRnQoVGhlKTMwCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkgRnModWxpbWl0KTI1IGIgRnQocHJvKW0odmlkZXMpaChjb24pbQorKHRyb2wpaShvKW0odiltKGVyKWcodGhlKWYocmVzb3VyY2VzKWYoYSltKHYpLTUgYihhaWxhYmxlKTI5CitiKHRvKWUocHJvKXMoY2Vzc2VzKWYoc3RhcnRlZCloKGIpbSh5KWcodGhlKTYzMCA0MDggeShzaGVsbCwpaShvbilmCisoc3lzdGVtcylnKHRoYXQpaChhbGxvKW0odyloKHN1YyltKGgpZShjb24pbSh0cm9sLik0MQorYihJZikyOCBiKGFuKWcob3B0aW9uKWgoaXMpZihnaXYpbShlbiwpaShpdCllKGlzKWgoaW4pbSh0ZXJwcmV0ZWQpNjMwCis1MTggeShhcylpKGZvbGxvKW0od3M6KTYzMCA2NzEgeSBGcygtUykzODQgYiBGdChDaGFuZ2UpMzAKK2IoYW5kKWcocmVwKXMob3J0KWcodGhlKWcoc29mdCloKGxpbWl0KWcoYXNzbylzKGNpYXRlZCloKHdpdGgpZShhKWgKKyhyZXNvdXJjZS4pNjMwIDgyNSB5IEZzKC1IKTM4NCBiIEZ0KENoYW5nZSkzMCBiKGFuZClnKHJlcClzKG9ydClnKHRoZSlnCisoaGFyZClnKGxpbWl0KWgoYXNzbylzKGNpYXRlZCloKHdpdGgpZShhKWgocmVzb3VyY2UuKTYzMAorOTc4IHkgRnMoLWEpMzg0IGIgRnQoQWxsKTMxIGIoY3VycmVuKW0odClmKGxpbWl0cyloKGFyZSlnKHJlcClzKG9ydGVkLikKKzYzMCAxMTMyIHkgRnMoLWIpMzg0IGIgRnQoVGhlKTMwIGIobWF4aW0pbSh1bSlnKHNvKXMoYyltKGspbShldClpCisoYnVcMDEzZXIpZShzaXplLik2MzAgMTI4NSB5IEZzKC1jKTM4NCBiIEZ0KFRoZSkzMCBiKG1heGltKW0odW0pZyhzaXplKQoraChvZilnKGNvcmUpZyhcMDE0bGVzKWYoY3JlYXRlZC4pNjMwIDE0MzkgeSBGcygtZCkzODQKK2IgRnQoVGhlKTMwIGIobWF4aW0pbSh1bSlnKHNpemUpaChvZilnKGEpZyhwcm8pcyhjZXNzJ3MpZihkYXRhKWgKKyhzZWdtZW4pbSh0Lik2MzAgMTU5MiB5IEZzKC1lKTM4NCBiIEZ0KFRoZSkzMCBiKG1heGltKW0odW0pZyhzYyltCisoaGVkdWxpbmcpaChwcmlvcml0KW0oeSlmKFwoKXAgRnMoIilwIEZ0KG5pY2UpcCBGcygiKXAKK0Z0KFwpLik2MzAgMTc0NSB5IEZzKC1mKTM4NCBiIEZ0KFRoZSkzMCBiKG1heGltKW0odW0pZyhzaXplKWgob2YpZworKFwwMTRsZXMpZih3cml0dGVuKWgoYiltKHkpZih0aGUpZyhzaGVsbCloKGFuZClmKGl0cyloKGMpbShoaWxkcmVuLik2MzAKKzE4OTkgeSBGcygtaSkzODQgYiBGdChUaGUpMzAgYihtYXhpbSltKHVtKWcobiltKHVtKW0oYilzKGVyKWYob2YpaShwKXMKKyhlbmRpbmcpZShzaWduYWxzLik2MzAgMjA1MiB5IEZzKC1sKTM4NCBiIEZ0KFRoZSkzMCBiKG1heGltKW0odW0pZworKHNpemUpaCh0aGF0KWcobWEpbSh5KWcoYilzKGUpZihsbylzKGMpbShrKW0oZWQpaShpbiltKHRvKWYobWVtb3J5KS04CitiKC4pNjMwIDIyMDYgeSBGcygtbSkzODQgYiBGdChUaGUpMzYgYihtYXhpbSltKHVtKWcocmVzaWRlbiltKHQpaChzZXQpZworKHNpemUpZyhcKG1hbiltKHkpZyhzeXN0ZW1zKWYoZG8paChub3QpZihob25vcilnKHRoaXMpMTExMAorMjMxNSB5KGxpbWl0XCkuKTYzMCAyNDY5IHkgRnMoLW4pMzg0IGIgRnQoVGhlKTM4IGIobWF4aW0pbSh1bSloKG4pbSh1bSkKK20oYilzKGVyKWUob2YpaShvcClzKGVuKWYoXDAxNGxlKWgoZGVzY3JpcHRvcnMpZyhcKG1vc3QpZyhzeXN0ZW1zKWcoZG8pCisxMTEwIDI1NzggeShub3QpMzEgYihhbGxvKW0odylnKHRoaXMpZyh2KS01IGIoYWx1ZSkzMQorYih0bylnKGIpcyhlKWUoc2V0XCkuKTYzMCAyNzMyIHkgRnMoLXApMzg0IGIgRnQoVGhlKTMwCitiKHBpcClzKGUpZihidVwwMTNlciloKHNpemUuKTYzMCAyODg1IHkgRnMoLXEpMzg0IGIgRnQoVGhlKTMwCiBiKG1heGltKW0odW0pZyhuKW0odW0pbShiKXMoZXIpZihvZilpKGIpbSh5dGVzKWcoaW4pZihQT1NJWClmKG1lc3NhZ2UpagotKHF1ZXVlcy4pNjMwIDE3NzEgeSBGcygtcikzODQgYiBGdChUaGUpMzAgYihtYXhpbSltKHVtKWcocmVhbC10aW1lKWkKLShzYyltKGhlZHVsaW5nKWYocHJpb3JpdCltKHkpLTggYiguKTYzMCAxOTU1IHkgRnMoLXMpMzg0Ci1iIEZ0KFRoZSkzMCBiKG1heGltKW0odW0pZyhzdGFjKW0oaylpKHNpemUuKTYzMCAyMTM5CisocXVldWVzLik2MzAgMzAzOSB5IEZzKC1yKTM4NCBiIEZ0KFRoZSkzMCBiKG1heGltKW0odW0pZyhyZWFsLXRpbWUpaQorKHNjKW0oaGVkdWxpbmcpZihwcmlvcml0KW0oeSktOCBiKC4pNjMwIDMxOTIgeSBGcygtcykzODQKK2IgRnQoVGhlKTMwIGIobWF4aW0pbSh1bSlnKHN0YWMpbShrKWkoc2l6ZS4pNjMwIDMzNDUKIHkgRnMoLXQpMzg0IGIgRnQoVGhlKTMwIGIobWF4aW0pbSh1bSlnKGFtb3VuKW0odCloKG9mKWYoY3B1KWcodGltZSloCi0oaW4pZihzZWNvbmRzLik2MzAgMjMyMyB5IEZzKC11KTM4NCBiIEZ0KFRoZSkzMCBiKG1heGltKW0odW0pZyhuKW0odW0pbQorKGluKWYoc2Vjb25kcy4pNjMwIDM0OTkgeSBGcygtdSkzODQgYiBGdChUaGUpMzAgYihtYXhpbSltKHVtKWcobiltKHVtKW0KIChiKXMoZXIpZihvZilpKHBybylzKGNlc3NlcylmKGEpbSh2KS01IGIoYWlsYWJsZSkzMyBiKHRvKWUoYSlmKHNpbmdsZSlpCi0odXNlci4pNjMwIDI1MDcgeSBGcygtdikzODQgYiBGdChUaGUpMjkgYihtYXhpbSltKHVtKWgoYW1vdW4pbSh0KWcob2YpZworKHVzZXIuKTYzMCAzNjUyIHkgRnMoLXYpMzg0IGIgRnQoVGhlKTI5IGIobWF4aW0pbSh1bSloKGFtb3VuKW0odClnKG9mKWcKICh2aXJ0dWFsKWcobWVtb3J5KWcoYSltKHYpLTUgYihhaWxhYmxlKTMyIGIodG8pZSh0aGUpZyhwcm8pcyhjZXNzLik2MzAKLTI2OTEgeSBGcygteCkzODQgYiBGdChUaGUpMzAgYihtYXhpbSltKHVtKWcobiltKHVtKW0oYilzKGVyKWYob2YpaQotKFwwMTRsZSlmKGxvKXMoYyltKGtzLik2MzAgMjg3NSB5IEZzKC1UKTM4NCBiIEZ0KFRoZSkzMAotYihtYXhpbSltKHVtKWcobiltKHVtKW0oYilzKGVyKWYob2YpaSh0aHJlYWRzLik2MzAgMzA1OQorMzgwNiB5IEZzKC14KTM4NCBiIEZ0KFRoZSkzMCBiKG1heGltKW0odW0pZyhuKW0odW0pbShiKXMoZXIpZihvZilpCisoXDAxNGxlKWYobG8pcyhjKW0oa3MuKTYzMCAzOTU5IHkgRnMoLVQpMzg0IGIgRnQoVGhlKTMwCitiKG1heGltKW0odW0pZyhuKW0odW0pbShiKXMoZXIpZihvZilpKHRocmVhZHMuKTYzMCA0MTEzCiB5KElmKWkgRnEobGltaXQpaiBGdChpcyllKGdpdiltKGVuLCloKGl0KWYoaXMpZyh0aGUpZyhuZXcpZih2KS01CiBiKGFsdWUpMzQgYihvZilmKHRoZSloKHNwKXMoZWNpXDAxNGVkKWYocmVzb3VyY2U7KWkodGhlKWYoc3ApcyhlY2lhbClnCi1GcShsaW1pdCk2MzAgMzE2OCB5IEZ0KHYpLTUgYihhbHVlcykyNyBiIEZzKGhhcmQpcCBGdCgsKWcKK0ZxKGxpbWl0KTYzMCA0MjIyIHkgRnQodiktNSBiKGFsdWVzKTI3IGIgRnMoaGFyZClwIEZ0KCwpZwogRnMoc29mdClwIEZ0KCwpZyhhbmQpZyBGcyh1bmxpbWl0ZWQpZCBGdChzdGFuZClqKGZvcilnKHRoZSlnKGN1cnJlbiltCi0odClnKGhhcmQpZihsaW1pdCwpaih0aGUpZShjdXJyZW4pbSh0KTYzMCAzMjc4IHkoc29mdCkzOAorKHQpZyhoYXJkKWYobGltaXQsKWoodGhlKWUoY3VycmVuKW0odCk2MzAgNDMzMiB5KHNvZnQpMzgKIGIobGltaXQsKWooYW5kKWQobm8pZihsaW1pdCwpayhyZXNwKXMoZWN0aXYpbShlbHkpLTgKIGIoLik2NiBiKEEpMzggYihoYXJkKWYobGltaXQpaChjYW5ub3QpaChiKXMoZSllKGluY3JlYXNlZClpKGIpbSh5KWYoYSkKLTYzMCAzMzg3IHkobm9uLXJvKXMob3QpZih1c2VyKWYob25jZSlpKGl0KWcoaXMpZihzZXQ7KWsoYSljKHNvZnQpZworNjMwIDQ0NDEgeShub24tcm8pcyhvdClmKHVzZXIpZihvbmNlKWkoaXQpZyhpcylmKHNldDspayhhKWMoc29mdClnCiAobGltaXQpaChtYSltKHkpZyhiKXMoZSllKGluY3JlYXNlZCloKHVwKWYodG8paSh0aGUpZih2KS01Ci1iKGFsdWUpMzggYihvZik2MzAgMzQ5NyB5KHRoZSljKGhhcmQpZihsaW1pdC4pNTEgYihPdGhlcndpc2UsKTM1CitiKGFsdWUpMzggYihvZik2MzAgNDU1MSB5KHRoZSljKGhhcmQpZihsaW1pdC4pNTEgYihPdGhlcndpc2UsKTM1CiBiKHRoZSlmKGN1cnJlbiltKHQpZih2KS01IGIoYWx1ZSkzNSBiKG9mKWYodGhlKWYoc29mdClpKGxpbWl0KWYoZm9yKWcKLSh0aGUpZyhzcClzKGVjaVwwMTRlZCk2MzAgMzYwNiB5KHJlc291cmNlKTI3IGIoaXMpaChwcmluKW0odGVkLClmCisodGhlKWcoc3ApcyhlY2lcMDE0ZWQpNjMwIDQ2NjEgeShyZXNvdXJjZSkyNyBiKGlzKWgocHJpbiltKHRlZCwpZgogKHVubGVzcylnKHRoZSlnKGApcCBGcygtSClwIEZ0KCcpZyhvcHRpb24paChpcylmKHN1cHBsaWVkLikzOAotYihXaGVuKTI3IGIoc2V0dGluZyloKG5ldylmKGxpbWl0cywpNjMwIDM3MTYgeShpZik0MAorYihXaGVuKTI3IGIoc2V0dGluZyloKG5ldylmKGxpbWl0cywpNjMwIDQ3NzAgeShpZik0MAogYihuZWl0aGVyKWYoYClwIEZzKC1IKXAgRnQoJyloKG5vcilmKGApcCBGcygtUylwIEZ0KCcpaChpcylmKHN1cHBsaWVkLCkKIGkoYilzKG90aCllKHRoZSloKGhhcmQpZihhbmQpZyhzb2Z0KWgobGltaXRzKWcoYXJlKWcoc2V0Lik2OQotYihJZik2MzAgMzgyNiB5KG5vKTM1IGIob3B0aW9uKWgoaXMpZihnaXYpbShlbiwpaih0aGVuKWQoYClwCitiKElmKTYzMCA0ODgwIHkobm8pMzUgYihvcHRpb24paChpcylmKGdpdiltKGVuLClqKHRoZW4pZChgKXAKIEZzKC1mKXAgRnQoJylnKGlzKWcoYXNzdW1lZC4pNTUgYihWKS04IGIoYWx1ZXMpMzYgYihhcmUpZihpbilnKDEwMjQtYiltCi0oeXRlKWooaW5jcmVtZW4pbSh0cywpNjMwIDM5MzUgeShleGNlcHQpZChmb3IpZihgKXAgRnMoLXQpcAorKHl0ZSlqKGluY3JlbWVuKW0odHMsKTYzMCA0OTg5IHkoZXhjZXB0KWQoZm9yKWYoYClwIEZzKC10KXAKIEZ0KCcsKWcod2hpYyltKGgpZyhpcylnKGluKWcoc2Vjb25kcywpaChgKXAgRnMoLXApcCBGdCgnLClnKHdoaWMpbShoKWUKIChpcyloKGluKWcodW5pdHMpZihvZiloKDUxMi1iKW0oeXRlKWkoYmxvKXMoYyltKGtzLCk2MzAKLTQwNDUgeShhbmQpMzAgYihgKXAgRnMoLW4pcCBGdCgnKWcoYW5kKWcoYClwIEZzKC11KXAKKzUwOTkgeShhbmQpMzAgYihgKXAgRnMoLW4pcCBGdCgnKWcoYW5kKWcoYClwIEZzKC11KXAKIEZ0KCcsKWcod2hpYyltKGgpZyhhcmUpaCh1bnNjYWxlZClmKHYpLTUgYihhbHVlcy4pNjMwCi00MTkyIHkoVGhlKTM0IGIocmV0dXJuKWcoc3RhdHVzKWgoaXMpZih6ZXJvKWkodW5sZXNzKWUoYW4pZyhpbiltKHYpLTUKKzUyMzAgeShUaGUpMzQgYihyZXR1cm4pZyhzdGF0dXMpaChpcylmKHplcm8paSh1bmxlc3MpZShhbilnKGluKW0odiktNQogYihhbGlkKTM2IGIob3B0aW9uKWYob3IpZihhcmd1bWVuKW0odClpKGlzKWUoc3VwcGxpZWQsKWgob3IpNjMwCi00MzAxIHkoYW4pMzAgYihlcnJvcilnKG8pcyhjY3VycylnKHdoaWxlKWgoc2V0dGluZylnKGEpZyhuZXcpZihsaW1pdC4pCi0xNTAgNDQ4NSB5IEZzKHVuYWxpYXMpODcwIDQ2MzIgeSh1bmFsaWFzKTQ2IGIoWy1hXSlnKFspcAotRmoobmFtZSk1NyBiIEZzKC4uLik0NyBiKF0pNjMwIDQ3NzkgeSBGdChSZW1vKW0odiltKGUpMzkKLWIoZWFjKW0oaClmIEZxKG5hbWUpayBGdChmcm9tKTM2IGIodGhlKWgobGlzdCloKG9mKWYoYWxpYXNlcy4pNjEKLWIoSWYpMzYgYihgKXAgRnMoLWEpcCBGdCgnKWgoaXMpZyhzdXBwbGllZCwpaChhbGwpZihhbGlhc2VzKWkoYXJlKTYzMAotNDg4OCB5KHJlbW8pbSh2KW0oZWQuKWooQWxpYXNlcykzMSBiKGFyZSlnKGRlc2NyaWIpcyhlZCllKGluKWgoU2VjdGlvbikKLWkoNi42KWYoW0FsaWFzZXNdLCloKHBhZ2UpZig3OS4pMTUwIDUyMDcgeSBGcig0LjMpNjgKLWIoTW8pdChkaWZ5aW5nKTQ1IGIoU2hlbGwpZyhCZWhhKWwodmlvcilwIGVvcCBlbmQKKzUzNDAgeShhbikzMCBiKGVycm9yKWcobylzKGNjdXJzKWcod2hpbGUpaChzZXR0aW5nKWcoYSlnKG5ldylmKGxpbWl0LilwCitlb3AgZW5kCiAlJVBhZ2U6IDUxIDU3CiBUZVhEaWN0IGJlZ2luIDUxIDU2IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig0Oik0MQotYihTaGVsbCkzMCBiKEJ1aWx0aW4paChDb21tYW5kcykyMDY5IGIoNTEpMTUwIDI5OSB5IEZrKDQuMy4xKTYzCi1iKFRoZSk0MSBiKFNldClnKEJ1aWx0aW4pMjc1IDU0OCB5IEZ0KFRoaXMpMjcgYihidWlsdGluKWgoaXMpaChzbylmCi0oY29tcGxpY2F0ZWQpaSh0aGF0KWYoaXQpZyhkZXNlcnYpbShlcylnKGl0cylnKG8pbSh3bilmKHNlY3Rpb24uKTQyCi1iIEZzKHNldCkyNyBiIEZ0KGFsbG8pbSh3cylqKHkpbShvdSlmKHRvKWcoYyltKGhhbmdlKTE1MAotNjU3IHkodGhlKWsodiktNSBiKGFsdWVzKTM0IGIob2YpZihzaGVsbClnKG9wdGlvbnMpaChhbmQpZShzZXQpaSh0aGUpZgorYihTaGVsbCkzMCBiKEJ1aWx0aW4paChDb21tYW5kcykyMDY5IGIoNTEpMTUwIDI5OSB5IEZzKHVuYWxpYXMpODcwCis0MzUgeSh1bmFsaWFzKTQ2IGIoWy1hXSlnKFspcCBGaShuYW1lKTU3IGIgRnMoLi4uKTQ3CitiKF0pNjMwIDU3MiB5IEZ0KFJlbW8pbSh2KW0oZSkzOSBiKGVhYyltKGgpZiBGcShuYW1lKWsKK0Z0KGZyb20pMzYgYih0aGUpaChsaXN0KWgob2YpZihhbGlhc2VzLik2MSBiKElmKTM2IGIoYClwCitGcygtYSlwIEZ0KCcpaChpcylnKHN1cHBsaWVkLCloKGFsbClmKGFsaWFzZXMpaShhcmUpNjMwCis2ODEgeShyZW1vKW0odiltKGVkLilqKEFsaWFzZXMpMzEgYihhcmUpZyhkZXNjcmliKXMoZWQpZShpbiloKFNlY3Rpb24paQorKDYuNilmKFtBbGlhc2VzXSwpaChwYWdlKWYoNzkuKTE1MCA5MTkgeSBGcig0LjMpNjggYihNbyl0KGRpZnlpbmcpNDUKK2IoU2hlbGwpZyhCZWhhKWwodmlvcikxNTAgMTE0NCB5IEZqKDQuMy4xKTYzIGIoVGhlKTQxCitiKFNldClnKEJ1aWx0aW4pMTUwIDEyOTAgeSBGdChUaGlzKTM1IGIoYnVpbHRpbiloKGlzKWcoc28pZworKGNvbXBsaWNhdGVkKWkodGhhdClmKGl0KWYoZGVzZXJ2KW0oZXMpaChpdHMpZihvKW0od24pZyhzZWN0aW9uLik1OQorYiBGcyhzZXQpMzUgYiBGdChhbGxvKW0od3Mpaih5KW0ob3UpZSh0byloKGMpbShoYW5nZSkxNTAKKzE0MDAgeSh0aGUpYyh2KS01IGIoYWx1ZXMpMzQgYihvZilmKHNoZWxsKWcob3B0aW9ucyloKGFuZCllKHNldClpKHRoZSlmCiAocClzKG9zaXRpb25hbCloKHBhcmFtZXRlcnMsKWgob3IpZSh0byloKGRpc3BsYSltKHkpZih0aGUpZyhuYW1lcyloCi0oYW5kKTE1MCA3NjcgeSh2KS01IGIoYWx1ZXMpMzEgYihvZilmKHNoZWxsKWgodiktNSBiKGFyaWFibGVzLikxNTAKLTkzMyB5IEZzKHNldCk4NzAgMTA3MCB5KHNldCk0NyBiKFstLWFiZWZoa21ucHR1dnhCQ0VIUFRdKTQxCi1iKFstbyk0NyBiIEZqKG9wdGlvbikxMSBiIEZzKF0pNDYgYihbKXAgRmooYXJndW1lbnQpNTUKLWIgRnMoLi4uXSk4NzAgMTE3OSB5KHNldCk0NyBiKFsrYWJlZmhrbW5wdHV2eEJDRUhQVF0pNDIKLWIoWytvKTQ3IGIgRmoob3B0aW9uKTExIGIgRnMoXSk0NSBiKFspcCBGaihhcmd1bWVudCk1NgotYiBGcyguLi4pbyhdKTYzMCAxMzE2IHkgRnQoSWYpMjIgYihubyloKG9wdGlvbnMpZyhvcilnKGFyZ3VtZW4pbSh0cylnCisoYW5kKTE1MCAxNTEwIHkodiktNSBiKGFsdWVzKTMxIGIob2YpZihzaGVsbCloKHYpLTUgYihhcmlhYmxlcy4pMTUwCisxNjc1IHkgRnMoc2V0KTg3MCAxODExIHkoc2V0KTQ3IGIoWy0tYWJlZmhrbW5wdHV2eEJDRUhQVF0pNDEKK2IoWy1vKTQ3IGIgRmkob3B0aW9uKTExIGIgRnMoXSk0NiBiKFspcCBGaShhcmd1bWVudCk1NQorYiBGcyguLi5dKTg3MCAxOTIxIHkoc2V0KTQ3IGIoWythYmVmaGttbnB0dXZ4QkNFSFBUXSk0MgorYihbK28pNDcgYiBGaShvcHRpb24pMTEgYiBGcyhdKTQ1IGIoWylwIEZpKGFyZ3VtZW50KTU2CitiIEZzKC4uLilvKF0pNjMwIDIwNTcgeSBGdChJZikyMiBiKG5vKWgob3B0aW9ucylnKG9yKWcoYXJndW1lbiltKHRzKWcKIChhcmUpZyhzdXBwbGllZCwpZyBGcyhzZXQpZiBGdChkaXNwbGEpbSh5cylnKHRoZSloKG5hbWVzKWcoYW5kKWYodiktNQotYihhbHVlcykyMyBiKG9mKWcoYWxsKTYzMCAxNDI2IHkoc2hlbGwpaih2KS01IGIoYXJpYWJsZXMpMjcKK2IoYWx1ZXMpMjMgYihvZilnKGFsbCk2MzAgMjE2NyB5KHNoZWxsKWoodiktNSBiKGFyaWFibGVzKTI3CiBiKGFuZCllKGZ1bmN0aW9ucywpaChzb3J0ZWQpZyhhY2NvcmRpbmcpaCh0bylnKHRoZSlmKGN1cnJlbiltKHQpZihsbylzCi0oY2FsZSwpayhpbiljKGEpaShmb3JtYXQpNjMwIDE1MzUgeSh0aGF0KWkobWEpbSh5KWgoYilzKGUpZShyZXVzZWQpZworKGNhbGUsKWsoaW4pYyhhKWkoZm9ybWF0KTYzMCAyMjc2IHkodGhhdClpKG1hKW0oeSloKGIpcyhlKWUocmV1c2VkKWcKIChhcyloKGlucHV0KWYoZm9yKWgoc2V0dGluZyloKG9yKWUocmVzZXR0aW5nKWkodGhlKWYoY3VycmVuKW0odGx5LXNldCloCi0odiktNSBiKGFyaWFibGVzLik2MzAgMTY0NSB5KFJlYWQtb25seSkzNyBiKHYpLTUgYihhcmlhYmxlcykzNworKHYpLTUgYihhcmlhYmxlcy4pNjMwIDIzODYgeShSZWFkLW9ubHkpMzcgYih2KS01IGIoYXJpYWJsZXMpMzcKIGIoY2Fubm90KWgoYilzKGUpZShyZXNldC4pNTkgYihJbikzNiBiIEZsKHBvc2l4KWcgRnQobW8pcyhkZSwpaShvbmx5KWYKLShzaGVsbClmKHYpLTUgYihhcmlhYmxlcykzOCBiKGFyZSk2MzAgMTc1NSB5KGxpc3RlZC4pNjMwCi0xODkxIHkoV2hlbikyOSBiKG9wdGlvbnMpZyhhcmUpZyhzdXBwbGllZCwpZih0aGV5KWgoc2V0KWgob3IpZih1bnNldClmCisoc2hlbGwpZih2KS01IGIoYXJpYWJsZXMpMzggYihhcmUpNjMwIDI0OTUgeShsaXN0ZWQuKTYzMAorMjYzMiB5KFdoZW4pMjkgYihvcHRpb25zKWcoYXJlKWcoc3VwcGxpZWQsKWYodGhleSloKHNldCloKG9yKWYodW5zZXQpZgogKHNoZWxsKWgoYXR0cmlidXRlcy4pNDEgYihPcHRpb25zLCkyOSBiKGlmKWcoc3ApcyhlYy0pNjMwCi0yMDAxIHkoaVwwMTRlZCwpaChoYSltKHYpbShlKWkodGhlKWUoZm9sbG8pbSh3aW5nKWkobWVhbmluZ3M6KTYzMAotMjE2NSB5IEZzKC1hKTM4NCBiIEZ0KE1hcmspMzIgYih2KS01IGIoYXJpYWJsZXMpMzMgYihhbmQpZShmdW5jdGlvbiloCisyNzQxIHkoaVwwMTRlZCwpaChoYSltKHYpbShlKWkodGhlKWUoZm9sbG8pbSh3aW5nKWkobWVhbmluZ3M6KTYzMAorMjkwNSB5IEZzKC1hKTM4NCBiIEZ0KE1hcmspMzIgYih2KS01IGIoYXJpYWJsZXMpMzMgYihhbmQpZShmdW5jdGlvbiloCiAod2hpYyltKGgpZyhhcmUpZyhtbylzKGRpXDAxNGVkKWYob3IpaChjcmVhdGVkKWgoZm9yKWYoZXgtKTExMTAKLTIyNzUgeShwKXMob3J0KWUodG8paCh0aGUpZihlbiltKHZpcm9ubWVuKW0odCloKG9mKWcoc3Vic2VxdWVuKW0odClmCi0oY29tbWFuZHMuKTYzMCAyNDM5IHkgRnMoLWIpMzg0IGIgRnQoQ2F1c2UpNDQgYih0aGUpaChzdGF0dXMpZyhvZilmCiszMDE0IHkocClzKG9ydCllKHRvKWgodGhlKWYoZW4pbSh2aXJvbm1lbiltKHQpaChvZilnKHN1YnNlcXVlbiltKHQpZgorKGNvbW1hbmRzLik2MzAgMzE3NyB5IEZzKC1iKTM4NCBiIEZ0KENhdXNlKTQ0IGIodGhlKWgoc3RhdHVzKWcob2YpZgogKHRlcm1pbmF0ZWQpaChiYWMpbShrZ3JvdW5kKWcoam9icylmKHRvKWgoYilzKGUpZihyZXApcyhvcnRlZCkxMTEwCi0yNTQ4IHkoaW1tZWRpYXRlbHkpLTggYigsKTMwIGIocmF0aGVyKWQodGhhbilmKGIpcyhlZm9yZSloKHByaW4pbSh0aW5nKQotZyh0aGUpZyhuZXh0KWcocHJpbWFyeSlnKHByb21wdC4pNjMwIDI3MTIgeSBGcygtZSkzODQKLWIgRnQoRXhpdCkzNyBiKGltbWVkaWF0ZWx5KWgoaWYpZShhKWgoc2ltcGxlKWYoY29tbWFuZClnKFwoc2VlKWkKLShTZWN0aW9uKWYoMy4yLjEpaChbU2ltcGxlKTExMTAgMjgyMiB5KENvbW1hbmRzXSwpMzEKLWIocGFnZSlpKDhcKSlmKGV4aXRzKWcod2l0aClnKGEpZyhub24temVybylnKHN0YXR1cywpZyh1bmxlc3MpZih0aGUpaAotKGNvbS0pMTExMCAyOTMxIHkobWFuZClmKHRoYXQpaChmYWlscyloKGlzKWYocGFydClmKG9mKWgodGhlKWcoY29tbWFuZCkKLWcobGlzdClnKGltbWVkaWF0ZWx5KWgoZm9sbG8pbSh3aW5nKTExMTAgMzA0MSB5KGEpNDEKLWIgRnMod2hpbGUpZCBGdChvcilqIEZzKHVudGlsKWUgRnQoayltKGV5dyltKG9yZCwpayhwYXJ0KWQob2YpZyh0aGUpaAotKHRlc3QpZyhpbilmKGFuKWcgRnMoaWYpZyBGdChzdGF0ZW1lbiltKHQsKTExMTAgMzE1MAoteShwYXJ0KTMzIGIob2YpaChhKWcoY29tbWFuZClmKGV4ZWN1dGVkKWkoaW4pZShhKWggRnMoJiYpZgotRnQob3IpZyBGcyh8fGIpZyBGdChsaXN0LClpKGFuKW0oeSlmKGNvbW1hbmQpZihpbikxMTEwCi0zMjYwIHkoYSlnKHBpcClzKGVsaW5lKWUoYnV0KWgodGhlKWcobGFzdCwpaShvcilmKGlmKWYodGhlKWcoY29tbWFuZCdzKQotZyhyZXR1cm4pZihzdGF0dXMpaShpcylmKGIpcyhlaW5nKTExMTAgMzM3MCB5KGluKW0odiltKGVydGVkKTM4Ci1iKHVzaW5nKWUgRnMoISlwIEZ0KC4pNjAgYihGKS04IGIoYWlsaW5nKTM5IGIoc2ltcGxlKWUoY29tbWFuZHMpZih0aGF0KQotaShhcmUpZihwYXJ0KWcob2YpZyhzaGVsbCkxMTEwIDM0NzkgeShmdW5jdGlvbnMpZShvcilnKGNvbW1hbmQpZyhsaXN0cykKLWgoZW5jbG9zZWQpZyhpbilmKGJyYWNlcylnKG9yKWgocGFyZW4pbSh0aGVzZXMpZihzYXQtKTExMTAKLTM1ODkgeShpc2Z5aW5nKWQodGhlKWYoYWIpcyhvKW0odiltKGUpaShjb25kaXRpb25zKWYoZG8pZyhub3QpZihjYXVzZSloCi0odGhlKWcoc2hlbGwpZyh0bylnKGV4aXQuKTQ1IGIoQSkzMiBiKHRyYXApMTExMCAzNjk4Ci15KG9uKWUgRnMoRVJSKXAgRnQoLClnKGlmKWcoc2V0LClpKGlzKWUoZXhlY3V0ZWQpaChiKXMoZWZvcmUpZih0aGUpaAotKHNoZWxsKWYoZXhpdHMuKTYzMCAzODYyIHkgRnMoLWYpMzg0IGIgRnQoRGlzYWJsZSkzMQotYihcMDE0bGUpZyhuYW1lKWYoZ2VuZXJhdGlvbilpKFwoZ2xvYmJpbmdcKS4pNjMwIDQwMjYKLXkgRnMoLWgpMzg0IGIgRnQoTG8pcyhjYXRlKTMzIGIoYW5kKWUocmVtZW0pbShiKXMoZXIpaChcKGhhc2hcKSlnCi0oY29tbWFuZHMpZihhcyloKHRoZXkpZyhhcmUpZyhsbylzKG9rKW0oZWQpaCh1cCllKGZvcikxMTEwCi00MTM2IHkoZXhlY3V0aW9uLik0MiBiKFRoaXMpMjkgYihvcHRpb24paShpcylnKGVuYWJsZWQpZihiKW0oeSlnCi0oZGVmYXVsdC4pNjMwIDQzMDAgeSBGcygtaykzODQgYiBGdChBbGwpMzQgYihhcmd1bWVuKW0odHMpZyhpbilmKHRoZSloCi0oZm9ybSlmKG9mKWcoYXNzaWdubWVuKW0odCloKHN0YXRlbWVuKW0odHMpaShhcmUpZChwbGFjZWQpaChpbikxMTEwCi00NDEwIHkodGhlKWsoZW4pbSh2aXJvbm1lbiltKHQpZyhmb3IpZyhhKWcoY29tbWFuZCwpaChub3QpZihqdXN0KWYKLSh0aG9zZSlpKHRoYXQpZihwcmVjZWRlKWcodGhlKTExMTAgNDUxOSB5KGNvbW1hbmQpMzAKLWIobmFtZS4pNjMwIDQ2ODMgeSBGcygtbSkzODQgYiBGdChKb2IpMzAgYihjb24pbSh0cm9sKWkoaXMpZShlbmFibGVkKWgKLShcKHNlZSlnKENoYXB0ZXIpZig3KWcoW0pvYiloKENvbiltKHRyb2xdLClnKHBhZ2UpZyg4OVwpLik2MzAKLTQ4NDcgeSBGcygtbikzODQgYiBGdChSZWFkKTIxIGIoY29tbWFuZHMpZihidXQpZyhkbyloKG5vdClnKGV4ZWN1dGUpaAotKHRoZW07KWkodGhpcylkKG1hKW0oeSlnKGIpcyhlKWYodXNlZClnKHRvKWgoYyltKGhlYyltKGspMTExMAotNDk1NyB5KGEpNDIgYihzY3JpcHQpZyhmb3IpZyhzeW4pbSh0YXgpZyhlcnJvcnMuKTc1IGIoVGhpcyk0MQotYihvcHRpb24paChpcylnKGlnbm9yZWQpZyhiKW0oeSlnKGluKW0odGVyYWN0aXYpbShlKTExMTAKLTUwNjYgeShzaGVsbHMuKTYzMCA1MjMwIHkgRnMoLW8pMzAgYiBGaihvcHRpb24tbmFtZSkxMTEwCi01MzQwIHkgRnQoU2V0KWgodGhlKWYob3B0aW9uKWgoY29ycmVzcClzKG9uZGluZyllKHRvKWkKLUZxKG9wdGlvbi1uYW1lKTUgYiBGdCg6KXAgZW9wIGVuZAorMzI4NyB5KGltbWVkaWF0ZWx5KS04IGIoLCkzMCBiKHJhdGhlcilkKHRoYW4pZihiKXMoZWZvcmUpaChwcmluKW0odGluZykKK2codGhlKWcobmV4dClnKHByaW1hcnkpZyhwcm9tcHQuKTYzMCAzNDUwIHkgRnMoLWUpMzg0CitiIEZ0KEV4aXQpNjUgYihpbW1lZGlhdGVseSlnKGlmKWYoYSloKHBpcClzKGVsaW5lKWUoXChzZWUpaShTZWN0aW9uKWcKKygzLjIuMiloKFtQaXApcyhlbGluZXNdLCkxMTEwIDM1NjAgeShwYWdlKTU2IGIoOFwpLCk2MgorYih3aGljKW0oaCk1NSBiKG1hKW0oeSloKGNvbnNpc3QpZihvZiloKGEpZihzaW5nbGUpaChzaW1wbGUpZihjb21tYW5kKWcKKyhcKHNlZSkxMTEwIDM2NjkgeShTZWN0aW9uKTQzIGIoMy4yLjEpaShbU2ltcGxlKWQoQ29tbWFuZHNdLClqKHBhZ2UpZQorKDhcKSwpayhhKWMoc3Vic2hlbGwpZShjb21tYW5kKTExMTAgMzc3OSB5KGVuY2xvc2VkKTMyCitiKGluKWYocGFyZW4pbSh0aGVzZXMpaChcKHNlZSloKFNlY3Rpb24pZigzLjIuNC4zKWkoW0NvbW1hbmQpZAorKEdyb3VwaW5nXSwpMTExMCAzODg5IHkocGFnZSloKDEzXCksKWgob3IpZShvbmUpZyhvZiloKHRoZSlmKGNvbW1hbmRzKWcKKyhleGVjdXRlZCloKGFzKWYocGFydClnKG9mKWgoYSlmKGNvbW1hbmQpMTExMCAzOTk4IHkobGlzdCkzNworYihlbmNsb3NlZClnKGIpbSh5KWYoYnJhY2VzKWcoXChzZWUpaChTZWN0aW9uKWcoMy4yLjQuMyloKFtDb21tYW5kKWUKKyhHcm91cGluZ10sKTExMTAgNDEwOCB5KHBhZ2UpNDggYigxM1wpKWcocmV0dXJucylkKGEpaihub24temVybylmCisoc3RhdHVzLik5MSBiKFRoZSk0NiBiKHNoZWxsKWgoZG8pcyhlcylnKG5vdClnKGV4aXQpaChpZikxMTEwCis0MjE3IHkodGhlKTM5IGIoY29tbWFuZClmKHRoYXQpaChmYWlscylnKGlzKWYocGFydClnKG9mKWgodGhlKWYKKyhjb21tYW5kKWgobGlzdClnKGltbWVkaWF0ZWx5KTExMTAgNDMyNyB5KGZvbGxvKW0od2luZyk0NworYihhKWYgRnMod2hpbGUpZSBGdChvciloIEZzKHVudGlsKWYgRnQoayltKGV5dyltKG9yZCwpNTAKK2IocGFydCk0NSBiKG9mKWgodGhlKWcodGVzdClnKGluKWYoYW4paCBGcyhpZikxMTEwIDQ0MzYKK3kgRnQoc3RhdGVtZW4pbSh0LCkzMSBiKHBhcnQpZChvZiloKGFuKW0oeSlnKGNvbW1hbmQpZihleGVjdXRlZCloKGluKWcKKyhhKWcgRnMoJiYpZSBGdChvcilpIEZzKHx8KWYgRnQobGlzdCloKGV4Y2VwdCkxMTEwIDQ1NDYKK3kodGhlKTQ4IGIoY29tbWFuZCloKGZvbGxvKW0od2luZylnKHRoZSlnKFwwMTRuYWwpZiBGcygmJilmCitGdChvcilpIEZzKHx8KXAgRnQoLClqKGFuKW0oeSlkKGNvbW1hbmQpZihpbilnKGEpMTExMAorNDY1NiB5KHBpcClzKGVsaW5lKTM5IGIoYnV0KWYodGhlKWkobGFzdCwpaShvcilkKGlmKWcodGhlKWgoY29tbWFuZCdzKWYKKyhyZXR1cm4pZihzdGF0dXMpaChpcylnKGIpcyhlaW5nKTExMTAgNDc2NSB5KGluKW0odiltKGVydGVkKTMzCitiKHdpdGgpZSBGcyghKXAgRnQoLik0NSBiKEEpMzIgYih0cmFwKWcob24pZiBGcyhFUlIpcAorRnQoLCloKGlmKWcoc2V0LCloKGlzKWYoZXhlY3V0ZWQpZyhiKXMoZWZvcmUpZyh0aGUpZyhzaGVsbCkxMTEwCis0ODc1IHkoZXhpdHMuKTExMTAgNTAxMSB5KFRoaXMpZShvcHRpb24paChhcHBsaWVzKWYodG8paCh0aGUpZyhzaGVsbClnCisoZW4pbSh2aXJvbm1lbiltKHQpZyhhbmQpZihlYWMpbShoKWgoc3Vic2hlbGwpZihlbi0pMTExMAorNTEyMSB5KHZpcm9ubWVuKW0odClqKHNlcGFyYXRlbHkpaShcKHNlZSlmKFNlY3Rpb24pZygzLjcuMyloKFtDb21tYW5kKWQKKyhFeGVjdXRpb24paShFbi0pMTExMCA1MjMwIHkodmlyb25tZW4pbSh0XSwpaShwYWdlKWYoMzBcKSwpaShhbmQpZChtYSltCisoeSloKGNhdXNlKWYoc3Vic2hlbGxzKWcodG8paChleGl0KWcoYilzKGVmb3JlKWYoZXhlLSkxMTEwCis1MzQwIHkoY3V0aW5nKWQoYWxsKWcodGhlKWcoY29tbWFuZHMpZihpbilnKHRoZSlnKHN1YnNoZWxsLilwCitlb3AgZW5kCiAlJVBhZ2U6IDUyIDU4CiBUZVhEaWN0IGJlZ2luIDUyIDU3IGJvcCAxNTAgLTExNiBhIEZ0KDUyKTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxMTEwIDI5OSB5IEZzKGFsbGV4cG9ydCkxNTkwCi00MDggeSBGdChTYW1lKWYoYXMpaCBGcygtYSlwIEZ0KC4pMTExMCA1NjAgeSBGcyhicmFjZWV4cGFuZCkxNTkwCi02NjkgeSBGdChTYW1lKWYoYXMpaCBGcygtQilwIEZ0KC4pMTExMCA4MjEgeSBGcyhlbWFjcykyNDAKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeSBGcygtZikzODQgYiBGdChEaXNhYmxlKTMxCitiKFwwMTRsZW5hbWUpZyhleHBhbnNpb24pZihcKGdsb2JiaW5nXCkuKTYzMCA0NTUgeSBGcygtaCkzODQKK2IgRnQoTG8pcyhjYXRlKTMzIGIoYW5kKWUocmVtZW0pbShiKXMoZXIpaChcKGhhc2hcKSlnKGNvbW1hbmRzKWYoYXMpaAorKHRoZXkpZyhhcmUpZyhsbylzKG9rKW0oZWQpaCh1cCllKGZvcikxMTEwIDU2NSB5KGV4ZWN1dGlvbi4pNDIKK2IoVGhpcykyOSBiKG9wdGlvbilpKGlzKWcoZW5hYmxlZClmKGIpbSh5KWcoZGVmYXVsdC4pNjMwCis3MjIgeSBGcygtaykzODQgYiBGdChBbGwpMzQgYihhcmd1bWVuKW0odHMpZyhpbilmKHRoZSloKGZvcm0pZihvZilnCisoYXNzaWdubWVuKW0odCloKHN0YXRlbWVuKW0odHMpaShhcmUpZChwbGFjZWQpaChpbikxMTEwCis4MzEgeSh0aGUpayhlbiltKHZpcm9ubWVuKW0odClnKGZvcilnKGEpZyhjb21tYW5kLCloKG5vdClmKGp1c3QpZgorKHRob3NlKWkodGhhdClmKHByZWNlZGUpZyh0aGUpMTExMCA5NDEgeShjb21tYW5kKTMwIGIobmFtZS4pNjMwCisxMDk3IHkgRnMoLW0pMzg0IGIgRnQoSm9iKTMwIGIoY29uKW0odHJvbClpKGlzKWUoZW5hYmxlZCloKFwoc2VlKWcKKyhDaGFwdGVyKWYoNylnKFtKb2IpaChDb24pbSh0cm9sXSwpZyhwYWdlKWcoODlcKS4pNjMwCisxMjU0IHkgRnMoLW4pMzg0IGIgRnQoUmVhZCkyMSBiKGNvbW1hbmRzKWYoYnV0KWcoZG8paChub3QpZyhleGVjdXRlKWgKKyh0aGVtOylpKHRoaXMpZChtYSltKHkpZyhiKXMoZSlmKHVzZWQpZyh0byloKGMpbShoZWMpbShrKTExMTAKKzEzNjMgeShhKTQyIGIoc2NyaXB0KWcoZm9yKWcoc3luKW0odGF4KWcoZXJyb3JzLik3NSBiKFRoaXMpNDEKK2Iob3B0aW9uKWgoaXMpZyhpZ25vcmVkKWcoYiltKHkpZyhpbiltKHRlcmFjdGl2KW0oZSkxMTEwCisxNDczIHkoc2hlbGxzLik2MzAgMTYzMCB5IEZzKC1vKTMwIGIgRmkob3B0aW9uLW5hbWUpMTExMAorMTczOSB5IEZ0KFNldCloKHRoZSlmKG9wdGlvbiloKGNvcnJlc3ApcyhvbmRpbmcpZSh0bylpCitGcShvcHRpb24tbmFtZSk1IGIgRnQoOikxMTEwIDE4OTYgeSBGcyhhbGxleHBvcnQpMTU5MAorMjAwNSB5IEZ0KFNhbWUpMzAgYihhcyloIEZzKC1hKXAgRnQoLikxMTEwIDIxNjIgeSBGcyhicmFjZWV4cGFuZCkxNTkwCisyMjcxIHkgRnQoU2FtZSlmKGFzKWggRnMoLUIpcCBGdCguKTExMTAgMjQyOCB5IEZzKGVtYWNzKTI0MAogYiBGdChVc2UpMjUgYihhbilmIEZzKGVtYWNzKXAgRnQoLXN0KW0oeWxlKWgobGluZSlmKGVkaXRpbmcpaChpbiltCi0odGVyZmFjZSloKFwoc2VlKWcoQ2hhcHRlcillKDgpMTU5MCA5MzAgeShbQ29tbWFuZCkzOAorKHRlcmZhY2UpaChcKHNlZSlnKENoYXB0ZXIpZSg4KTE1OTAgMjUzOCB5KFtDb21tYW5kKTM4CiBiKExpbmUpZyhFZGl0aW5nXSwpaShwYWdlKWYoOTNcKS4pNjYgYihUaGlzKTM3IGIoYWxzbylpKGFcMDEzZWN0cykxNTkwCi0xMDQwIHkodGhlKTMxIGIoZWRpdGluZylnKGluKW0odGVyZmFjZSloKHVzZWQpZChmb3IpaAotRnMocmVhZClmKC1lKXAgRnQoLikxMTEwIDExOTEgeSBGcyhlcnJleGl0KTE0NCBiIEZ0KFNhbWUpMzAKLWIoYXMpaCBGcygtZSlwIEZ0KC4pMTExMCAxMzQzIHkgRnMoZXJydHJhY2UpOTYgYiBGdChTYW1lKTMwCi1iKGFzKWggRnMoLUUpcCBGdCguKTExMTAgMTQ5NCB5IEZzKGZ1bmN0cmFjZSkxNTkwIDE2MDQKLXkgRnQoU2FtZSlmKGFzKWggRnMoLVQpcCBGdCguKTExMTAgMTc1NSB5IEZzKGhhc2hhbGwpMTQ0Ci1iIEZ0KFNhbWUpMzAgYihhcyloIEZzKC1oKXAgRnQoLikxMTEwIDE5MDYgeSBGcyhoaXN0ZXhwYW5kKTE1OTAKLTIwMTYgeSBGdChTYW1lKWYoYXMpaCBGcygtSClwIEZ0KC4pMTExMCAyMTY3IHkgRnMoaGlzdG9yeSkxNDQKKzI2NDcgeSh0aGUpMzEgYihlZGl0aW5nKWcoaW4pbSh0ZXJmYWNlKWgodXNlZClkKGZvciloCitGcyhyZWFkKWYoLWUpcCBGdCguKTExMTAgMjgwNCB5IEZzKGVycmV4aXQpMTQ0IGIgRnQoU2FtZSkzMAorYihhcyloIEZzKC1lKXAgRnQoLikxMTEwIDI5NjAgeSBGcyhlcnJ0cmFjZSk5NiBiIEZ0KFNhbWUpMzAKK2IoYXMpaCBGcygtRSlwIEZ0KC4pMTExMCAzMTE3IHkgRnMoZnVuY3RyYWNlKTE1OTAgMzIyNgoreSBGdChTYW1lKWYoYXMpaCBGcygtVClwIEZ0KC4pMTExMCAzMzgzIHkgRnMoaGFzaGFsbCkxNDQKK2IgRnQoU2FtZSkzMCBiKGFzKWggRnMoLWgpcCBGdCguKTExMTAgMzU0MCB5IEZzKGhpc3RleHBhbmQpMTU5MAorMzY0OSB5IEZ0KFNhbWUpZihhcyloIEZzKC1IKXAgRnQoLikxMTEwIDM4MDYgeSBGcyhoaXN0b3J5KTE0NAogYiBGdChFbmFibGUpMzkgYihjb21tYW5kKWcoaGlzdG9yeSktOCBiKCwpNDIgYihhcylkKGRlc2NyaWIpcyhlZClmKGluKWgKLShTZWN0aW9uKWgoOS4xKTE1OTAgMjI3NyB5KFtCYXNoKWQoSGlzdG9yeSlnKEYpLTggYihhY2lsaXRpZXNdLCk0MQotYihwYWdlKWMoMTIxLik2MCBiKFRoaXMpMzYgYihvcHRpb24paChpcylmKG9uKTE1OTAgMjM4NgorKFNlY3Rpb24paCg5LjEpMTU5MCAzOTE1IHkoW0Jhc2gpZChIaXN0b3J5KWcoRiktOCBiKGFjaWxpdGllc10sKTQxCitiKHBhZ2UpYygxMjEuKTYwIGIoVGhpcykzNiBiKG9wdGlvbiloKGlzKWYob24pMTU5MCA0MDI1CiB5KGIpbSh5KTMwIGIoZGVmYXVsdCloKGluKWYoaW4pbSh0ZXJhY3RpdiltKGUpaihzaGVsbHMuKTExMTAKLTI1MzggeSBGcyhpZ25vcmVlb2YpMTU5MCAyNjQ3IHkgRnQoQW4pZChpbiltKHRlcmFjdGl2KW0oZSlqKHNoZWxsKWUKLSh3aWxsKWcobm90KWYoZXhpdCloKHVwKXMob24pZShyZWFkaW5nKWkoRU9GLikxMTEwIDI3OTkKKzQxODEgeSBGcyhpZ25vcmVlb2YpMTU5MCA0MjkxIHkgRnQoQW4pZChpbiltKHRlcmFjdGl2KW0oZSlqKHNoZWxsKWUKKyh3aWxsKWcobm90KWYoZXhpdCloKHVwKXMob24pZShyZWFkaW5nKWkoRU9GLikxMTEwIDQ0NDgKIHkgRnMoa2V5d29yZCkxNDQgYiBGdChTYW1lKTMwIGIoYXMpaCBGcygtaylwIEZ0KC4pMTExMAotMjk1MCB5IEZzKG1vbml0b3IpMTQ0IGIgRnQoU2FtZSkzMCBiKGFzKWggRnMoLW0pcCBGdCguKTExMTAKLTMxMDEgeSBGcyhub2Nsb2JiZXIpMTU5MCAzMjExIHkgRnQoU2FtZSlmKGFzKWggRnMoLUMpcAotRnQoLikxMTEwIDMzNjIgeSBGcyhub2V4ZWMpMTkyIGIgRnQoU2FtZSkzMCBiKGFzKWggRnMoLW4pcAotRnQoLikxMTEwIDM1MTMgeSBGcyhub2dsb2IpMTkyIGIgRnQoU2FtZSkzMCBiKGFzKWggRnMoLWYpcAotRnQoLikxMTEwIDM2NjUgeSBGcyhub2xvZykyNDAgYiBGdChDdXJyZW4pbSh0bHkpMzAgYihpZ25vcmVkLikxMTEwCi0zODE2IHkgRnMobm90aWZ5KTE5MiBiIEZ0KFNhbWUpMzAgYihhcyloIEZzKC1iKXAgRnQoLikxMTEwCi0zOTY4IHkgRnMobm91bnNldCkxNDQgYiBGdChTYW1lKTMwIGIoYXMpaCBGcygtdSlwIEZ0KC4pMTExMAotNDExOSB5IEZzKG9uZWNtZCkxOTIgYiBGdChTYW1lKTMwIGIoYXMpaCBGcygtdClwIEZ0KC4pMTExMAotNDI3MCB5IEZzKHBoeXNpY2FsKTk2IGIgRnQoU2FtZSkzMCBiKGFzKWggRnMoLVApcCBGdCguKTExMTAKLTQ0MjIgeSBGcyhwaXBlZmFpbCk5NiBiIEZ0KElmKTQ0IGIoc2V0LClrKHRoZSlkKHJldHVybillKHYpLTUKLWIoYWx1ZSk0NSBiKG9mKWYoYSloKHBpcClzKGVsaW5lKWUoaXMpaSh0aGUpZih2KS01IGIoYWx1ZSk0NQotYihvZikxNTkwIDQ1MzEgeSh0aGUpMzMgYihsYXN0KWgoXChyaWdoKW0odG1vc3RcKSloKGNvbW1hbmQpZSh0byloCi0oZXhpdClnKHdpdGgpZihhKWcobm9uLXplcm8pMTU5MCA0NjQxIHkoc3RhdHVzLCkyOCBiKG9yKWYoemVybylnKGlmKWYKLShhbGwpaShjb21tYW5kcyllKGluKWcodGhlKWgocGlwKXMoZWxpbmUpZihleGl0KWkoc3VjLSkxNTkwCi00NzUwIHkoY2Vzc2Z1bGx5KS04IGIoLik0MSBiKFRoaXMpMzAgYihvcHRpb24paChpcylmKGRpc2FibGVkKWcoYiltKHkpaAotKGRlZmF1bHQuKTExMTAgNDkwMiB5IEZzKHBvc2l4KTI0MCBiIEZ0KENoYW5nZSkzMCBiKHRoZSlnKGIpcyhlaGEpbQotKHZpb3IpaChvZilmKEJhc2gpZyh3aGVyZSlnKHRoZSlnKGRlZmF1bHQpaChvcClzKGVyYS0pMTU5MAotNTAxMSB5KHRpb24pMjUgYihkaVwwMTNlcnMpZihmcm9tKWcodGhlKWggRmwocG9zaXgpZgotRnQoc3RhbmRhcmQpZih0bylpKG1hdGMpbShoKWgodGhlKWYoc3Rhbi0pMTU5MCA1MTIxIHkoZGFyZCkzMgotYihcKHNlZSlpKFNlY3Rpb24pZyg2LjExKWgoW0Jhc2gpZShQT1NJWClmKE1vKXMoZGVdLClqKHBhZ2UpZSg4NVwpLikKLTE1OTAgNTIzMCB5KFRoaXMpayhpcylnKGluKW0odGVuZGVkKWcodG8paChtYWspbShlKWcoQmFzaClnKGIpcyhlaGEpbQotKHYpbShlKWcoYXMpZyhhKWYoc3RyaWN0KWgoc3UtKTE1OTAgNTM0MCB5KHApcyhlcnNldCkzMAotYihvZiloKHRoYXQpZihzdGFuZGFyZC4pcCBlb3AgZW5kCis0NjA0IHkgRnMobW9uaXRvcikxNDQgYiBGdChTYW1lKTMwIGIoYXMpaCBGcygtbSlwIEZ0KC4pMTExMAorNDc2MSB5IEZzKG5vY2xvYmJlcikxNTkwIDQ4NzAgeSBGdChTYW1lKWYoYXMpaCBGcygtQylwCitGdCguKTExMTAgNTAyNyB5IEZzKG5vZXhlYykxOTIgYiBGdChTYW1lKTMwIGIoYXMpaCBGcygtbilwCitGdCguKTExMTAgNTE4MyB5IEZzKG5vZ2xvYikxOTIgYiBGdChTYW1lKTMwIGIoYXMpaCBGcygtZilwCitGdCguKTExMTAgNTM0MCB5IEZzKG5vbG9nKTI0MCBiIEZ0KEN1cnJlbiltKHRseSkzMCBiKGlnbm9yZWQuKXAKK2VvcCBlbmQKICUlUGFnZTogNTMgNTkKIFRlWERpY3QgYmVnaW4gNTMgNTggYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDQ6KTQxCiBiKFNoZWxsKTMwIGIoQnVpbHRpbiloKENvbW1hbmRzKTIwNjkgYig1MykxMTEwIDI5OSB5Ci1Gcyhwcml2aWxlZ2VkKTE1OTAgNDA4IHkgRnQoU2FtZSkzMCBiKGFzKWggRnMoLXApcCBGdCguKTExMTAKLTU2MCB5IEZzKHZlcmJvc2UpMTQ0IGIgRnQoU2FtZSkzMCBiKGFzKWggRnMoLXYpcCBGdCguKTExMTAKLTcxMiB5IEZzKHZpKTM4NCBiIEZ0KFVzZSkzNiBiKGEpZyBGcyh2aSlwIEZ0KC1zdCltKHlsZSlnKGxpbmUpZwotKGVkaXRpbmcpZyhpbiltKHRlcmZhY2UuKTU4IGIoVGhpcykzNSBiKGFsc28paChhXDAxM2VjdHMpMTU5MAotODIyIHkodGhlKTMxIGIoZWRpdGluZylnKGluKW0odGVyZmFjZSloKHVzZWQpZChmb3IpaAotRnMocmVhZClmKC1lKXAgRnQoLikxMTEwIDk3MyB5IEZzKHh0cmFjZSkxOTIgYiBGdChTYW1lKTMwCi1iKGFzKWggRnMoLXgpcCBGdCguKTYzMCAxMTI1IHkgRnMoLXApMzg0IGIgRnQoVCktOCBiKHVybikzMwotYihvbiloKHByaXZpbGVnZWQpaChtbylzKGRlLik1MSBiKEluKTM0IGIodGhpcylnKG1vKXMoZGUsKWgodGhlKWYKLUZzKCRCQVNIX0VOVillIEZ0KGFuZCloIEZzKCRFTlYpMTExMCAxMjM1IHkgRnQoXDAxNGxlcylrKGFyZSloKG5vdClnCi0ocHJvKXMoY2Vzc2VkLCloKHNoZWxsKWYoZnVuY3Rpb25zKWYoYXJlKWgobm90KWYoaW5oZXJpdGVkKWgoZnJvbSlmCi0odGhlKTExMTAgMTM0NCB5KGVuKW0odmlyb25tZW4pbSh0LCk0NyBiKGFuZCk0MiBiKHRoZSloCi1GcyhTSEVMTE9QVFMpcCBGdCgsKWcgRnMoQ0RQQVRIKWUgRnQoYW5kKWkgRnMoR0xPQklHTk9SRSljCi1GdCh2KS01IGIoYXJpLSkxMTEwIDE0NTQgeShhYmxlcywpMzYgYihpZillKHRoZXkpZyhhcHApcyhlYXIpZyhpbilnCi0odGhlKWcoZW4pbSh2aXJvbm1lbiltKHQsKWkoYXJlKWYoaWdub3JlZC4pNTMgYihJZikzMwotYih0aGUpaShzaGVsbCkxMTEwIDE1NjMgeShpcylpKHN0YXJ0ZWQpaCh3aXRoKWYodGhlKWcoZVwwMTNlY3RpdiltKGUpagotKHVzZXIpZChcKGdyb3VwXCkpZyhpZClnKG5vdClnKGVxdWFsKWgodG8pZyh0aGUpZihyZWFsKTExMTAKLTE2NzMgeSh1c2VyKWgoXChncm91cFwpKWgoaWQsKWkoYW5kKWQodGhlKWggRnMoLXApZiBGdChvcHRpb24paShpcyllCi0obm90KWkoc3VwcGxpZWQsKWYodGhlc2UpaChhY3Rpb25zKTExMTAgMTc4MyB5KGFyZSkzMgorRnMobm90aWZ5KTE5MiBiIEZ0KFNhbWUpMzAgYihhcyloIEZzKC1iKXAgRnQoLikxMTEwIDQ1NQoreSBGcyhub3Vuc2V0KTE0NCBiIEZ0KFNhbWUpMzAgYihhcyloIEZzKC11KXAgRnQoLikxMTEwCis2MTIgeSBGcyhvbmVjbWQpMTkyIGIgRnQoU2FtZSkzMCBiKGFzKWggRnMoLXQpcCBGdCguKTExMTAKKzc2OSB5IEZzKHBoeXNpY2FsKTk2IGIgRnQoU2FtZSkzMCBiKGFzKWggRnMoLVApcCBGdCguKTExMTAKKzkyNSB5IEZzKHBpcGVmYWlsKTk2IGIgRnQoSWYpNDQgYihzZXQsKWsodGhlKWQocmV0dXJuKWUodiktNQorYihhbHVlKTQ1IGIob2YpZihhKWgocGlwKXMoZWxpbmUpZShpcylpKHRoZSlmKHYpLTUgYihhbHVlKTQ1CitiKG9mKTE1OTAgMTAzNSB5KHRoZSkzMyBiKGxhc3QpaChcKHJpZ2gpbSh0bW9zdFwpKWgoY29tbWFuZCllKHRvKWgKKyhleGl0KWcod2l0aClmKGEpZyhub24temVybykxNTkwIDExNDQgeShzdGF0dXMsKTI4IGIob3IpZih6ZXJvKWcoaWYpZgorKGFsbClpKGNvbW1hbmRzKWUoaW4pZyh0aGUpaChwaXApcyhlbGluZSlmKGV4aXQpaShzdWMtKTE1OTAKKzEyNTQgeShjZXNzZnVsbHkpLTggYiguKTQxIGIoVGhpcykzMCBiKG9wdGlvbiloKGlzKWYoZGlzYWJsZWQpZyhiKW0oeSloCisoZGVmYXVsdC4pMTExMCAxNDEwIHkgRnMocG9zaXgpMjQwIGIgRnQoQ2hhbmdlKTMwIGIodGhlKWcoYilzKGVoYSltCisodmlvciloKG9mKWYoQmFzaClnKHdoZXJlKWcodGhlKWcoZGVmYXVsdCloKG9wKXMoZXJhLSkxNTkwCisxNTIwIHkodGlvbikyNSBiKGRpXDAxM2VycylmKGZyb20pZyh0aGUpaCBGbChwb3NpeClmCitGdChzdGFuZGFyZClmKHRvKWkobWF0YyltKGgpaCh0aGUpZihzdGFuLSkxNTkwIDE2MzAgeShkYXJkKTMyCitiKFwoc2VlKWkoU2VjdGlvbilnKDYuMTEpaChbQmFzaCllKFBPU0lYKWYoTW8pcyhkZV0sKWoocGFnZSllKDg0XCkuKQorMTU5MCAxNzM5IHkoVGhpcylrKGlzKWcoaW4pbSh0ZW5kZWQpZyh0byloKG1hayltKGUpZyhCYXNoKWcoYilzKGVoYSltCisodiltKGUpZyhhcylnKGEpZihzdHJpY3QpaChzdS0pMTU5MCAxODQ5IHkocClzKGVyc2V0KTMwCitiKG9mKWgodGhhdClmKHN0YW5kYXJkLikxMTEwIDIwMDUgeSBGcyhwcml2aWxlZ2VkKTE1OTAKKzIxMTUgeSBGdChTYW1lKWcoYXMpaCBGcygtcClwIEZ0KC4pMTExMCAyMjcxIHkgRnModmVyYm9zZSkxNDQKK2IgRnQoU2FtZSkzMCBiKGFzKWggRnMoLXYpcCBGdCguKTExMTAgMjQyOCB5IEZzKHZpKTM4NAorYiBGdChVc2UpMzYgYihhKWcgRnModmkpcCBGdCgtc3QpbSh5bGUpZyhsaW5lKWcoZWRpdGluZylnKGluKW0KKyh0ZXJmYWNlLik1OCBiKFRoaXMpMzUgYihhbHNvKWgoYVwwMTNlY3RzKTE1OTAgMjUzOCB5KHRoZSkzMQorYihlZGl0aW5nKWcoaW4pbSh0ZXJmYWNlKWgodXNlZClkKGZvciloIEZzKHJlYWQpZigtZSlwCitGdCguKTExMTAgMjY5NCB5IEZzKHh0cmFjZSkxOTIgYiBGdChTYW1lKTMwIGIoYXMpaCBGcygteClwCitGdCguKTYzMCAyODUxIHkgRnMoLXApMzg0IGIgRnQoVCktOCBiKHVybikzMyBiKG9uKWgocHJpdmlsZWdlZCloKG1vKXMKKyhkZS4pNTEgYihJbikzNCBiKHRoaXMpZyhtbylzKGRlLCloKHRoZSlmIEZzKCRCQVNIX0VOVillCitGdChhbmQpaCBGcygkRU5WKTExMTAgMjk2MCB5IEZ0KFwwMTRsZXMpMjMgYihhcmUpaChub3QpZihwcm8pcyhjZXNzZWQsKQoraChzaGVsbClnKGZ1bmN0aW9ucyllKGFyZSlpKG5vdClmKGluaGVyaXRlZClnKGZyb20pZih0aGUpaShlbi0pMTExMAorMzA3MCB5KHZpcm9ubWVuKW0odCwpaChhbmQpZSh0aGUpZyBGcyhTSEVMTE9QVFMpcCBGdCgsKWYKK0ZzKEJBU0hPUFRTKXAgRnQoLCloIEZzKENEUEFUSCllIEZ0KGFuZClpIEZzKEdMT0JJR05PUkUpMTExMAorMzE4MCB5IEZ0KHYpLTUgYihhcmlhYmxlcywpMjMgYihpZillKHRoZXkpZyhhcHApcyhlYXIpZihpbilnKHRoZSloKGVuKW0KKyh2aXJvbm1lbiltKHQsKWkoYXJlKWUoaWdub3JlZC4pMzggYihJZikyMCBiKHRoZSloKHNoZWxsKTExMTAKKzMyODkgeShpcykzNyBiKHN0YXJ0ZWQpaCh3aXRoKWYodGhlKWcoZVwwMTNlY3RpdiltKGUpaih1c2VyKWQKKyhcKGdyb3VwXCkpZyhpZClnKG5vdClnKGVxdWFsKWgodG8pZyh0aGUpZihyZWFsKTExMTAKKzMzOTkgeSh1c2VyKWgoXChncm91cFwpKWgoaWQsKWkoYW5kKWQodGhlKWggRnMoLXApZiBGdChvcHRpb24paShpcyllCisobm90KWkoc3VwcGxpZWQsKWYodGhlc2UpaChhY3Rpb25zKTExMTAgMzUwOCB5KGFyZSkzMgogYih0YWspbShlbilpKGFuZClkKHRoZSloKGVcMDEzZWN0aXYpbShlKWoodXNlciljKGlkKWgoaXMpZyhzZXQpaCh0bylmCi0odGhlKWgocmVhbClmKHVzZXIpZyhpZC4pNDUgYihJZikzMiBiKHRoZSkxMTEwIDE4OTIgeQorKHRoZSloKHJlYWwpZih1c2VyKWcoaWQuKTQ1IGIoSWYpMzIgYih0aGUpMTExMCAzNjE4IHkKIEZzKC1wKWkgRnQob3B0aW9uKWgoaXMpZyhzdXBwbGllZClmKGF0KWgoc3RhcnR1cCwpaCh0aGUpZihlXDAxM2VjdGl2KW0KLShlKWkodXNlcilkKGlkKWcoaXMpaChub3QpZyhyZXNldC4pMTExMCAyMDAyIHkoVCktOCBiKHVybmluZykzNQorKGUpaSh1c2VyKWQoaWQpZyhpcyloKG5vdClnKHJlc2V0LikxMTEwIDM3MjcgeShUKS04IGIodXJuaW5nKTM1CiBiKHRoaXMpaShvcHRpb24pZyhvXDAxMylnKGNhdXNlcylnKHRoZSlnKGVcMDEzZWN0aXYpbShlKWkodXNlcilkKGFuZClnCi0oZ3JvdXApZyhpZHMpZyh0bykxMTEwIDIxMTEgeShiKXMoZSkzMCBiKHNldCloKHRvKWcodGhlKWYocmVhbCloKHVzZXIpZgotKGFuZClnKGdyb3VwKWcoaWRzLik2MzAgMjI2MyB5IEZzKC10KTM4NCBiIEZ0KEV4aXQpMzEKKyhncm91cClnKGlkcylnKHRvKTExMTAgMzgzNyB5KGIpcyhlKTMwIGIoc2V0KWgodG8pZyh0aGUpZihyZWFsKWgodXNlcilmCisoYW5kKWcoZ3JvdXApZyhpZHMuKTYzMCAzOTk0IHkgRnMoLXQpMzg0IGIgRnQoRXhpdCkzMQogYihhZnRlcilnKHJlYWRpbmcpZihhbmQpZyhleGVjdXRpbmcpaChvbmUpZyhjb21tYW5kLik2MzAKLTI0MTUgeSBGcygtdSkzODQgYiBGdChUKS04IGIocmVhdCkzOCBiKHVuc2V0KWUodiktNSBiKGFyaWFibGVzKTM3Ci1iKGFzKWgoYW4pZShlcnJvciloKHdoZW4pZShwKXMoZXJmb3JtaW5nKWgocGFyYW1ldGVyKWgoZXgtKTExMTAKLTI1MjQgeShwYW5zaW9uLik1OCBiKEFuKTM2IGIoZXJyb3IpZihtZXNzYWdlKWood2lsbCllKGIpcyhlKWcod3JpdHRlbilnCi0odG8paCh0aGUpZyhzdGFuZGFyZCllKGVycm9yLCkxMTEwIDI2MzQgeShhbmQpMzAgYihhKWgobm9uLWluKW0KLSh0ZXJhY3RpdiltKGUpaShzaGVsbClkKHdpbGwpaChleGl0Lik2MzAgMjc4NiB5IEZzKC12KTM4NAotYiBGdChQcmluKW0odCkzMCBiKHNoZWxsKWgoaW5wdXQpZShsaW5lcylpKGFzKWcodGhleSlmKGFyZSloKHJlYWQuKTYzMAotMjkzNyB5IEZzKC14KTM4NCBiIEZ0KFByaW4pbSh0KTIxIGIoYSloKHRyYWNlKWgob2YpZihzaW1wbGUpZgorNDE1MCB5IEZzKC11KTM4NCBiIEZ0KFQpLTggYihyZWF0KTI1IGIodW5zZXQpZSh2KS01IGIoYXJpYWJsZXMpMjUKK2IoYW5kKWUocGFyYW1ldGVycyloKG90aGVyKWgodGhhbillKHRoZSloKHNwKXMoZWNpYWwpaChwYXJhbS0pMTExMAorNDI2MCB5KGV0ZXJzKTM1IGIoYClwIEZzKEApcCBGdCgnKWYob3IpZyhgKXAgRnMoKilwIEZ0KCcpaChhcylmKGFuKWcKKyhlcnJvcilnKHdoZW4pZihwKXMoZXJmb3JtaW5nKWcocGFyYW1ldGVyKWkoZXhwYW5zaW9uLikxMTEwCis0MzY5IHkoQW4pMjggYihlcnJvciloKG1lc3NhZ2UpZyh3aWxsKWcoYilzKGUpZih3cml0dGVuKWgodG8paCh0aGUpZQorKHN0YW5kYXJkKWcoZXJyb3IsKWgoYW5kKWYoYSloKG5vbi0pMTExMCA0NDc5IHkoaW4pbSh0ZXJhY3RpdiltKGUpaworKHNoZWxsKWUod2lsbClnKGV4aXQuKTYzMCA0NjM1IHkgRnMoLXYpMzg0IGIgRnQoUHJpbiltKHQpMzAKK2Ioc2hlbGwpaChpbnB1dCllKGxpbmVzKWkoYXMpZyh0aGV5KWYoYXJlKWgocmVhZC4pNjMwCis0NzkyIHkgRnMoLXgpMzg0IGIgRnQoUHJpbiltKHQpMjEgYihhKWgodHJhY2UpaChvZilmKHNpbXBsZSlmCiAoY29tbWFuZHMsKWkgRnMoZm9yKWUgRnQoY29tbWFuZHMsKWkgRnMoY2FzZSlkIEZ0KGNvbW1hbmRzLCkxMTEwCi0zMDQ3IHkgRnMoc2VsZWN0KTI5IGIgRnQoY29tbWFuZHMsKWooYW5kKWUoYXJpdGhtZXRpYylqCi1Gcyhmb3IpZCBGdChjb21tYW5kcyloKGFuZClmKHRoZWlyKWkoYXJndS0pMTExMCAzMTU3Cis0OTAyIHkgRnMoc2VsZWN0KTI5IGIgRnQoY29tbWFuZHMsKWooYW5kKWUoYXJpdGhtZXRpYylqCitGcyhmb3IpZCBGdChjb21tYW5kcyloKGFuZClmKHRoZWlyKWkoYXJndS0pMTExMCA1MDExCiB5KG1lbiltKHRzKWgob3IpZihhc3NvKXMoY2lhdGVkKWkodyltKG9yZCllKGxpc3RzKWgoYWZ0ZXIpZyh0aGV5KWYoYXJlKQotaChleHBhbmRlZClmKGFuZClmKGIpcyhlZm9yZSkxMTEwIDMyNjYgeSh0aGV5KWkoYXJlKWcoZXhlY3V0ZWQuKTQ5CitoKGV4cGFuZGVkKWYoYW5kKWYoYilzKGVmb3JlKTExMTAgNTEyMSB5KHRoZXkpaShhcmUpZyhleGVjdXRlZC4pNDkKIGIoVGhlKTMyIGIodiktNSBiKGFsdWUpMzMgYihvZilnKHRoZSlnIEZzKFBTNClmIEZ0KHYpLTUKLWIoYXJpYWJsZSkzNCBiKGlzKWYoZXhwYW5kZWQpZihhbmQpMTExMCAzMzc2IHkodGhlKTI0CitiKGFyaWFibGUpMzQgYihpcylmKGV4cGFuZGVkKWYoYW5kKTExMTAgNTIzMCB5KHRoZSkyNAogYihyZXN1bHRhbiltKHQpaCh2KS01IGIoYWx1ZSkyNCBiKGlzKWcocHJpbiltKHRlZClnKGIpcyhlZm9yZSlmKHRoZSloCi0oY29tbWFuZClnKGFuZClmKGl0cylpKGV4cGFuZGVkKTExMTAgMzQ4NSB5KGFyZ3VtZW4pbSh0cy4pNjMwCi0zNjM3IHkgRnMoLUIpMzg0IGIgRnQoVGhlKTQxIGIoc2hlbGwpZyh3aWxsKWcocClzKGVyZm9ybSlmKGJyYWNlKWgKLShleHBhbnNpb24pZyhcKHNlZSloKFNlY3Rpb24pZygzLjUuMSlnKFtCcmFjZSkxMTEwIDM3NDcKLXkoRXhwYW5zaW9uXSwpMzAgYihwYWdlKWgoMThcKS4pNDIgYihUaGlzKTMwIGIob3B0aW9uKWgoaXMpZihvbilnKGIpbQotKHkpaChkZWZhdWx0Lik2MzAgMzg5OCB5IEZzKC1DKTM4NCBiIEZ0KFByZXYpbShlbiltKHQpMjUKLWIob3V0cHV0KWUocmVkaXJlY3Rpb24paCh1c2luZylmKGApcCBGcyg+KXAgRnQoJywpaShgKXAKLUZzKD4mKXAgRnQoJywpZyhhbmQpZShgKXAgRnMoPD4pcCBGdCgnKWcoZnJvbSloKG8pbSh2KW0oZXJ3cml0aW5nKTExMTAKLTQwMDggeShleGlzdGluZykzMSBiKFwwMTRsZXMuKTYzMCA0MTYwIHkgRnMoLUUpMzg0IGIKLUZ0KElmKTM5IGIoc2V0LClqKGFuKW0oeSllKHRyYXApZihvbilnIEZzKEVSUilnIEZ0KGlzKWcoaW5oZXJpdGVkKWcoYiltCi0oeSlnKHNoZWxsKWgoZnVuY3Rpb25zLCloKGNvbW1hbmQpMTExMCA0MjY5IHkoc3Vic3RpdHV0aW9ucywpMzUKLWIoYW5kKWUoY29tbWFuZHMpZyhleGVjdXRlZClpKGluKWYoYSlnKHN1YnNoZWxsKWYoZW4pbSh2aXJvbm1lbiltKHQuKQotMTExMCA0Mzc5IHkoVGhlKWQgRnMoRVJSKWYgRnQodHJhcClpKGlzKWYobm9ybWFsbHkpaChub3QpZihpbmhlcml0ZWQpZwotKGluKWcoc3VjKW0oaClnKGNhc2VzLik2MzAgNDUzMSB5IEZzKC1IKTM4NCBiIEZ0KEVuYWJsZSkzOAotYihgKXAgRnMoISlwIEZ0KCcpaChzdCltKHlsZSloKGhpc3RvcnkpZShzdWJzdGl0dXRpb24pZyhcKHNlZSloCi0oU2VjdGlvbiloKDkuMylmKFtIaXN0b3J5KWcoSW4tKTExMTAgNDY0MCB5KHRlcmFjdGlvbl0sKWcocGFnZSlkCi0oMTIzXCkuKTU3IGIoVGhpcykzNCBiKG9wdGlvbilpKGlzKWYob24pZyhiKW0oeSloKGRlZmF1bHQpZihmb3IpZyhpbiltCi0odGVyYWN0aXYpbShlKTExMTAgNDc1MCB5KHNoZWxscy4pNjMwIDQ5MDIgeSBGcygtUCkzODQKLWIgRnQoSWYpNDMgYihzZXQsKWsoZG8pYyhub3QpZyhmb2xsbyltKHcpaChzeW0pbShiKXMob2xpYylnKGxpbmtzKWUKLSh3aGVuKWcocClzKGVyZm9ybWluZylnKGNvbW1hbmRzKTExMTAgNTAxMSB5KHN1YyltKGgpMjkKLWIoYXMpaCBGcyhjZClmIEZ0KHdoaWMpbShoKWcoYyltKGhhbmdlKWgodGhlKWcoY3VycmVuKW0odClmKGRpcmVjdG9yeSkKLS04IGIoLik0MiBiKFRoZSkyOCBiKHBoKW0oeXNpY2FsKWooZGlyZWMtKTExMTAgNTEyMSB5KHRvcnkpaihpcylnKHVzZWQpCi1mKGluc3RlYWQuKTUyIGIoQnkpMzQgYihkZWZhdWx0LCloKEJhc2gpZihmb2xsbyltKHdzKWgodGhlKWYobG9naWNhbClpCi0oYyltKGhhaW4pZihvZikxMTEwIDUyMzAgeShkaXJlY3RvcmllcylqKHdoZW4pZChwKXMoZXJmb3JtaW5nKWgKLShjb21tYW5kcylnKHdoaWMpbShoKWcoYyltKGhhbmdlKWkodGhlKWYoY3VycmVuKW0odCkxMTEwCi01MzQwIHkoZGlyZWN0b3J5KS04IGIoLilwIGVvcCBlbmQKKyhjb21tYW5kKWcoYW5kKWYoaXRzKWkoZXhwYW5kZWQpMTExMCA1MzQwIHkoYXJndW1lbiltKHRzLilwCitlb3AgZW5kCiAlJVBhZ2U6IDU0IDYwCiBUZVhEaWN0IGJlZ2luIDU0IDU5IGJvcCAxNTAgLTExNiBhIEZ0KDU0KTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxMTEwIDI5OSB5KEYpLTggYihvcikzMSBiKGV4YW1wbGUsKWcoaWYpZihgKXAKLUZzKC91c3Ivc3lzKXAgRnQoJyllKGlzKWkoYSlnKHN5bSltKGIpcyhvbGljKWgobGluaylmKHRvKWcoYClwCi1GcygvdXNyL2xvY2FsL3N5cylwIEZ0KCcpMTExMCA0MDggeSh0aGVuOikxMzUwIDU0NyB5Ci1GcygkKTQ3IGIoY2QpaCgvdXNyL3N5czspZChlY2hvKWkoJFBXRCkxMzUwIDY1NiB5KC91c3Ivc3lzKTEzNTAKLTc2NiB5KCQpZyhjZCloKC4uOylmKHB3ZCkxMzUwIDg3NSB5KC91c3IpMTExMCAxMDE0IHkKLUZ0KElmKTMwIGIgRnMoc2V0KWYoLVApaCBGdChpcyloKG9uLClmKHRoZW46KTEzNTAgMTE1MgoteSBGcygkKTQ3IGIoY2QpaCgvdXNyL3N5czspZChlY2hvKWkoJFBXRCkxMzUwIDEyNjIgeSgvdXNyL2xvY2FsL3N5cykKLTEzNTAgMTM3MSB5KCQpZyhjZCloKC4uOylmKHB3ZCkxMzUwIDE0ODEgeSgvdXNyL2xvY2FsKTYzMAotMTY0OCB5KC1UKTM4NCBiIEZ0KElmKTM0IGIoc2V0LClqKGFuKW0oeSllKHRyYXApZyhvbilnCi1GcyhERUJVRyllIEZ0KGFuZClpIEZzKFJFVFVSTillIEZ0KGFyZSlpKGluaGVyaXRlZClnKGIpbSh5KWYoc2hlbGwpaQotKGZ1bmMtKTExMTAgMTc1NyB5KHRpb25zLClrKGNvbW1hbmQpZChzdWJzdGl0dXRpb25zLCloKGFuZClmKGNvbW1hbmRzKWcKLShleGVjdXRlZCloKGluKWYoYSloKHN1Yi0pMTExMCAxODY3IHkoc2hlbGwpMzMgYihlbiltKHZpcm9ubWVuKW0odC4pNDkKLWIoVGhlKTMyIGIgRnMoREVCVUcpZyBGdChhbmQpZyBGcyhSRVRVUk4pZiBGdCh0cmFwcyloKGFyZSlpKG5vcm1hbGx5KWYKLShub3QpMTExMCAxOTc2IHkoaW5oZXJpdGVkKWQoaW4pZyhzdWMpbShoKWcoY2FzZXMuKTYzMAotMjE0MyB5IEZzKC0tKTM4NCBiIEZ0KElmKTMxIGIobm8paChhcmd1bWVuKW0odHMpZihmb2xsbyltKHcpaSh0aGlzKWYKLShvcHRpb24sKWcodGhlbilmKHRoZSloKHApcyhvc2l0aW9uYWwpaChwYXJhbWV0ZXJzKTExMTAKLTIyNTMgeShhcmUpaCh1bnNldC4pNDkgYihPdGhlcndpc2UsKTM0IGIodGhlKWcocClzKG9zaXRpb25hbClnCi0ocGFyYW1ldGVycylnKGFyZSlnKHNldClnKHRvKWcodGhlKWcgRnEoYXItKTExMTAgMjM2MgoteShndW1lbiltKHRzKXAgRnQoLClkKGV2KW0oZW4pZyhpZilmKHNvbWUpaChvZilnKHRoZW0pZihiKXMoZWdpbilnCi0od2l0aClnKGEpaChgKXAgRnMoLSlwIEZ0KCcuKTYzMCAyNTI5IHkgRnMoLSk0MzIgYiBGdChTaWduYWwpNDUKLWIodGhlKWcoZW5kKWYob2YpaChvcHRpb25zLClrKGNhdXNlKWMoYWxsKWgocmVtYWluaW5nKWUKLUZxKGFyZ3VtZW4pbSh0cyk0OSBiIEZ0KHRvKWQoYilzKGUpMTExMCAyNjM5IHkoYXNzaWduZWQpMzgKLWIodG8paCh0aGUpZihwKXMob3NpdGlvbmFsKWgocGFyYW1ldGVycy4pNjUgYihUaGUpMzcKLWIoYClwIEZzKC14KXAgRnQoJyloKGFuZClnKGApcCBGcygtdilwIEZ0KCcpZyhvcHRpb25zKTExMTAKLTI3NDggeShhcmUpMjUgYih0dXJuZWQpZShvXDAxMy4pNDAgYihJZikyNCBiKHRoZXJlKWgoYXJlKWcobm8pZgorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5IEZzKC1CKTM4NCBiIEZ0KFRoZSk0MQorYihzaGVsbClnKHdpbGwpZyhwKXMoZXJmb3JtKWYoYnJhY2UpaChleHBhbnNpb24pZyhcKHNlZSloKFNlY3Rpb24pZworKDMuNS4xKWcoW0JyYWNlKTExMTAgNDA4IHkoRXhwYW5zaW9uXSwpMzAgYihwYWdlKWgoMThcKS4pNDIKK2IoVGhpcykzMCBiKG9wdGlvbiloKGlzKWYob24pZyhiKW0oeSloKGRlZmF1bHQuKTYzMCA1NTYKK3kgRnMoLUMpMzg0IGIgRnQoUHJldiltKGVuKW0odCkyNSBiKG91dHB1dCllKHJlZGlyZWN0aW9uKWgodXNpbmcpZihgKXAKK0ZzKD4pcCBGdCgnLClpKGApcCBGcyg+JilwIEZ0KCcsKWcoYW5kKWUoYClwIEZzKDw+KXAKK0Z0KCcpZyhmcm9tKWgobyltKHYpbShlcndyaXRpbmcpMTExMCA2NjYgeShleGlzdGluZykzMQorYihcMDE0bGVzLik2MzAgODE0IHkgRnMoLUUpMzg0IGIgRnQoSWYpMzkgYihzZXQsKWooYW4pbSh5KWUodHJhcClmKG9uKWcKK0ZzKEVSUilnIEZ0KGlzKWcoaW5oZXJpdGVkKWcoYiltKHkpZyhzaGVsbCloKGZ1bmN0aW9ucywpaChjb21tYW5kKTExMTAKKzkyMyB5KHN1YnN0aXR1dGlvbnMsKTM1IGIoYW5kKWUoY29tbWFuZHMpZyhleGVjdXRlZClpKGluKWYoYSlnCisoc3Vic2hlbGwpZihlbiltKHZpcm9ubWVuKW0odC4pMTExMCAxMDMzIHkoVGhlKWQgRnMoRVJSKWYKK0Z0KHRyYXApaShpcylmKG5vcm1hbGx5KWgobm90KWYoaW5oZXJpdGVkKWcoaW4pZyhzdWMpbShoKWcoY2FzZXMuKTYzMAorMTE4MSB5IEZzKC1IKTM4NCBiIEZ0KEVuYWJsZSkzOCBiKGApcCBGcyghKXAgRnQoJyloKHN0KW0oeWxlKWgoaGlzdG9yeSkKK2Uoc3Vic3RpdHV0aW9uKWcoXChzZWUpaChTZWN0aW9uKWgoOS4zKWYoW0hpc3RvcnkpZyhJbi0pMTExMAorMTI5MCB5KHRlcmFjdGlvbl0sKWcocGFnZSlkKDEyM1wpLik1NyBiKFRoaXMpMzQgYihvcHRpb24paShpcylmKG9uKWcoYikKK20oeSloKGRlZmF1bHQpZihmb3IpZyhpbiltKHRlcmFjdGl2KW0oZSkxMTEwIDE0MDAgeShzaGVsbHMuKTYzMAorMTU0OCB5IEZzKC1QKTM4NCBiIEZ0KElmKTQzIGIoc2V0LClrKGRvKWMobm90KWcoZm9sbG8pbSh3KWgoc3ltKW0oYilzCisob2xpYylnKGxpbmtzKWUod2hlbilnKHApcyhlcmZvcm1pbmcpZyhjb21tYW5kcykxMTEwCisxNjU3IHkoc3VjKW0oaCkyOSBiKGFzKWggRnMoY2QpZiBGdCh3aGljKW0oaClnKGMpbShoYW5nZSloKHRoZSlnCisoY3VycmVuKW0odClmKGRpcmVjdG9yeSktOCBiKC4pNDIgYihUaGUpMjggYihwaCltKHlzaWNhbClqKGRpcmVjLSkxMTEwCisxNzY3IHkodG9yeSlqKGlzKWcodXNlZClmKGluc3RlYWQuKTUyIGIoQnkpMzQgYihkZWZhdWx0LCloKEJhc2gpZgorKGZvbGxvKW0od3MpaCh0aGUpZihsb2dpY2FsKWkoYyltKGhhaW4pZihvZikxMTEwIDE4NzcKK3koZGlyZWN0b3JpZXMpaih3aGVuKWQocClzKGVyZm9ybWluZyloKGNvbW1hbmRzKWcod2hpYyltKGgpZyhjKW0oaGFuZ2UpCitpKHRoZSlmKGN1cnJlbiltKHQpMTExMCAxOTg2IHkoZGlyZWN0b3J5KS04IGIoLikxMTEwCisyMTE1IHkoRilnKG9yKTMxIGIoZXhhbXBsZSwpZyhpZilmKGApcCBGcygvdXNyL3N5cylwCitGdCgnKWUoaXMpaShhKWcoc3ltKW0oYilzKG9saWMpaChsaW5rKWYodG8pZyhgKXAgRnMoL3Vzci9sb2NhbC9zeXMpcAorRnQoJykxMTEwIDIyMjQgeSh0aGVuOikxMzUwIDIzNTMgeSBGcygkKTQ3IGIoY2QpaCgvdXNyL3N5czspZChlY2hvKWkKKygkUFdEKTEzNTAgMjQ2MyB5KC91c3Ivc3lzKTEzNTAgMjU3MiB5KCQpZyhjZCloKC4uOylmKHB3ZCkxMzUwCisyNjgyIHkoL3VzcikxMTEwIDI4MTEgeSBGdChJZikzMCBiIEZzKHNldClmKC1QKWggRnQoaXMpaChvbiwpZih0aGVuOikKKzEzNTAgMjkzOSB5IEZzKCQpNDcgYihjZCloKC91c3Ivc3lzOylkKGVjaG8paSgkUFdEKTEzNTAKKzMwNDkgeSgvdXNyL2xvY2FsL3N5cykxMzUwIDMxNTggeSgkKWcoY2QpaCguLjspZihwd2QpMTM1MAorMzI2OCB5KC91c3IvbG9jYWwpNjMwIDM0MTYgeSgtVCkzODQgYiBGdChJZikzNCBiKHNldCwpaihhbiltKHkpZSh0cmFwKWcKKyhvbilnIEZzKERFQlVHKWUgRnQoYW5kKWkgRnMoUkVUVVJOKWUgRnQoYXJlKWkoaW5oZXJpdGVkKWcoYiltKHkpZgorKHNoZWxsKWkoZnVuYy0pMTExMCAzNTI1IHkodGlvbnMsKWsoY29tbWFuZClkKHN1YnN0aXR1dGlvbnMsKWgoYW5kKWYKKyhjb21tYW5kcylnKGV4ZWN1dGVkKWgoaW4pZihhKWgoc3ViLSkxMTEwIDM2MzUgeShzaGVsbCkzMworYihlbiltKHZpcm9ubWVuKW0odC4pNDkgYihUaGUpMzIgYiBGcyhERUJVRylnIEZ0KGFuZClnCitGcyhSRVRVUk4pZiBGdCh0cmFwcyloKGFyZSlpKG5vcm1hbGx5KWYobm90KTExMTAgMzc0NQoreShpbmhlcml0ZWQpZChpbilnKHN1YyltKGgpZyhjYXNlcy4pNjMwIDM4OTIgeSBGcygtLSkzODQKK2IgRnQoSWYpMzEgYihubyloKGFyZ3VtZW4pbSh0cylmKGZvbGxvKW0odylpKHRoaXMpZihvcHRpb24sKWcodGhlbilmCisodGhlKWgocClzKG9zaXRpb25hbCloKHBhcmFtZXRlcnMpMTExMCA0MDAyIHkoYXJlKWgodW5zZXQuKTQ5CitiKE90aGVyd2lzZSwpMzQgYih0aGUpZyhwKXMob3NpdGlvbmFsKWcocGFyYW1ldGVycylnKGFyZSlnKHNldClnKHRvKWcKKyh0aGUpZyBGcShhci0pMTExMCA0MTEyIHkoZ3VtZW4pbSh0cyl0IEZ0KCwpZChldiltKGVuKWcoaWYpZihzb21lKWgob2YpCitmKHRoZW0paChiKXMoZWdpbilmKHdpdGgpZyhhKWcoYClwIEZzKC0pcCBGdCgnLik2MzAgNDI2MAoreSBGcygtKTQzMiBiIEZ0KFNpZ25hbCk0NSBiKHRoZSlnKGVuZClmKG9mKWgob3B0aW9ucywpayhjYXVzZSljKGFsbCloCisocmVtYWluaW5nKWUgRnEoYXJndW1lbiltKHRzKTQ5IGIgRnQodG8pZChiKXMoZSkxMTEwCis0MzY5IHkoYXNzaWduZWQpMzggYih0byloKHRoZSlmKHApcyhvc2l0aW9uYWwpaChwYXJhbWV0ZXJzLik2NQorYihUaGUpMzcgYihgKXAgRnMoLXgpcCBGdCgnKWgoYW5kKWcoYClwIEZzKC12KXAgRnQoJylnKG9wdGlvbnMpMTExMAorNDQ3OSB5KGFyZSkyNSBiKHR1cm5lZCllKG9cMDEzLik0MCBiKElmKTI0IGIodGhlcmUpaChhcmUpZyhubylmCiAoYXJndW1lbiltKHRzLClpKHRoZSlmKHApcyhvc2l0aW9uYWwpaChwYXJhbWV0ZXJzKTExMTAKLTI4NTggeShyZW1haW4payh1bmMpbShoYW5nZWQuKTYzMCAzMDI1IHkoVXNpbmcpZChgKXAKKzQ1ODggeShyZW1haW4payh1bmMpbShoYW5nZWQuKTYzMCA0NzM2IHkoVXNpbmcpZChgKXAKIEZzKCspcCBGdCgnKWgocmF0aGVyKWYodGhhbilnKGApcCBGcygtKXAgRnQoJylnKGNhdXNlcyloKHRoZXNlKWYKIChvcHRpb25zKWgodG8pZyhiKXMoZSllKHR1cm5lZClnKG9cMDEzLik0MCBiKFRoZSkyNyBiKG9wdGlvbnMpaChjYW4pNjMwCi0zMTM0IHkoYWxzbykzNiBiKGIpcyhlKWYodXNlZClmKHVwKXMob24pZyhpbiltKHYpbShvKXMoY2F0aW9uKWoob2YpZQorNDg0NiB5KGFsc28pMzYgYihiKXMoZSlmKHVzZWQpZih1cClzKG9uKWcoaW4pbSh2KW0obylzKGNhdGlvbilqKG9mKWUKICh0aGUpZyhzaGVsbC4pNTYgYihUaGUpMzQgYihjdXJyZW4pbSh0KWgoc2V0KWgob2YpZihvcHRpb25zKWgobWEpbSh5KWcKLShiKXMoZSk2MzAgMzI0NCB5KGZvdW5kKTI5IGIoaW4paCBGcygkLSlwIEZ0KC4pNjMwIDMzODIKKyhiKXMoZSk2MzAgNDk1NSB5KGZvdW5kKTI5IGIoaW4paCBGcygkLSlwIEZ0KC4pNjMwIDUwODQKIHkoVGhlKTQzIGIocmVtYWluaW5nKWgoTilmIEZxKGFyZ3VtZW4pbSh0cyk0OCBiIEZ0KGFyZSljKHApcyhvc2l0aW9uYWwpCi1nKHBhcmFtZXRlcnMpZyhhbmQpZihhcmUpaChhc3NpZ25lZCwpaihpbik2MzAgMzQ5MiB5KG9yZGVyLCkzMAorZyhwYXJhbWV0ZXJzKWcoYW5kKWYoYXJlKWgoYXNzaWduZWQsKWooaW4pNjMwIDUxOTQgeShvcmRlciwpMzAKIGIodG8paCBGcygkMSlwIEZ0KCwpZiBGcygkMilwIEZ0KCwpMzYgYiguKTIyIGIoLilnKC4pNDIKIGIgRnMoJE4pcCBGdCguKWUoVGhlKTMwIGIoc3ApcyhlY2lhbCloKHBhcmFtZXRlcilnIEZzKCMpZgotRnQoaXMpZyhzZXQpaCh0bylnKE4uKTYzMCAzNjMwIHkoVGhlKWYocmV0dXJuKWYoc3RhdHVzKWkoaXMpZihhbHcpbShhKW0KK0Z0KGlzKWcoc2V0KWgodG8pZyhOLik2MzAgNTMyMiB5KFRoZSlmKHJldHVybilmKHN0YXR1cylpKGlzKWYoYWx3KW0oYSltCiAoeXMpaSh6ZXJvKWYodW5sZXNzKWYoYW4pZyhpbiltKHYpLTUgYihhbGlkKTMxIGIob3B0aW9uKWcoaXMpZgotKHN1cHBsaWVkLikxNTAgMzg2OSB5IEZrKDQuMy4yKTYzIGIoVGhlKTQxIGIoU2hvcHQpaChCdWlsdGluKTI3NQotNDEyMSB5IEZ0KFRoaXMpMjkgYihidWlsdGluKWgoYWxsbyltKHdzKWkoeSltKG91KWUodG8paShjKW0oaGFuZ2UpZgotKGFkZGl0aW9uYWwpZyhzaGVsbClnKG9wdGlvbmFsKWcoYilzKGVoYSltKHZpb3IuKTE1MAotNDI5MSB5IEZzKHNob3B0KTg3MCA0NDMwIHkoc2hvcHQpNDYgYihbLXBxc3VdKWcoWy1vXSloKFspcAotRmoob3B0bmFtZSk1NiBiIEZzKC4uLilvKF0pNjMwIDQ1NjggeSBGdChUKS04IGIob2dnbGUpNDcKLWIodGhlKWQodiktNSBiKGFsdWVzKTQ1IGIob2YpZyh2KS01IGIoYXJpYWJsZXMpNDUgYihjb24pbSh0cm9sbGluZylpCi0ob3B0aW9uYWwpZihzaGVsbCllKGIpcyhlaGEpbSh2aW9yLik4NCBiKFdpdGgpNDUgYihubyk2MzAKLTQ2NzcgeShvcHRpb25zLCkzMiBiKG9yKWYod2l0aClnKHRoZSlnKGApcCBGcygtcClwIEZ0KCcpZyhvcHRpb24sKWgoYSlnCi0obGlzdClmKG9mKWgoYWxsKWcoc2V0dGFibGUpZyhvcHRpb25zKWcoaXMpZihkaXNwbGEpbSh5KW0oZWQsKWgod2l0aCkKLTYzMCA0Nzg3IHkoYW4paShpbmRpY2F0aW9uKWkob2YpZih3aGV0aGVyKWYob3IpZyhub3QpaChlYWMpbShoKWgoaXMpZQotKHNldC4pNTQgYihUaGUpMzQgYihgKXAgRnMoLXApcCBGdCgnKWgob3B0aW9uKWcoY2F1c2VzKWcob3V0cHV0KWYodG8pCi02MzAgNDg5NyB5KGIpcyhlKWkoZGlzcGxhKW0oeSltKGVkKWgoaW4pZShhKWkoZm9ybSlmKHRoYXQpaChtYSltKHkpZyhiKQotcyhlKWUocmV1c2VkKWgoYXMpZyhpbnB1dC4pNTggYihPdGhlcikzNiBiKG9wdGlvbnMpZyhoYSltKHYpbShlKWkodGhlKQotNjMwIDUwMDYgeShmb2xsbyltKHdpbmcpMzIgYihtZWFuaW5nczopNjMwIDUxNzMgeSBGcygtcykzODQKLWIgRnQoRW5hYmxlKTMwIGIoXChzZXRcKSlpKGVhYyltKGgpZiBGcShvcHRuYW1lKXAgRnQoLik2MzAKLTUzNDAgeSBGcygtdSkzODQgYiBGdChEaXNhYmxlKTMxIGIoXCh1bnNldFwpKWcoZWFjKW0oaCloCi1GcShvcHRuYW1lKXAgRnQoLilwIGVvcCBlbmQKKyhzdXBwbGllZC4pcCBlb3AgZW5kCiAlJVBhZ2U6IDU1IDYxCiBUZVhEaWN0IGJlZ2luIDU1IDYwIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig0Oik0MQotYihTaGVsbCkzMCBiKEJ1aWx0aW4paChDb21tYW5kcykyMDY5IGIoNTUpNjMwIDI5OSB5IEZzKC1xKTM4NAotYiBGdChTdXBwcmVzc2VzKTI4IGIobm9ybWFsKWgob3V0cHV0OyloKHRoZSlnKHJldHVybillKHN0YXR1cylpCi0oaW5kaWNhdGVzKWgod2hldGhlcillKHRoZSkxMTEwIDQwOCB5IEZxKG9wdG5hbWUpMzcgYgotRnQoaXMpMzEgYihzZXQpaChvcilmKHVuc2V0Lik0MyBiKElmKTMxIGIobSltKHVsdGlwbGUpaAotRnEob3B0bmFtZSkzNyBiIEZ0KGFyZ3VtZW4pbSh0cykzMSBiKGFyZSloKGdpdiltKGVuKTExMTAKLTUxOCB5KHdpdGgpNDMgYihgKXAgRnMoLXEpcCBGdCgnLClqKHRoZSlkKHJldHVybilmKHN0YXR1cyloKGlzKWcoemVybyloCi0oaWYpZihhbGwpZyBGcShvcHRuYW1lcylrIEZ0KGFyZSlkKGVuYWJsZWQ7KTExMTAgNjI4Ci15KG5vbi16ZXJvKTMxIGIob3RoZXJ3aXNlLik2MzAgNzc1IHkgRnMoLW8pMzg0IGIgRnQoUmVzdHJpY3RzKTI4Ci1iKHRoZSlnKHYpLTUgYihhbHVlcykyOCBiKG9mKWYgRnEob3B0bmFtZSkzMyBiIEZ0KHRvKWMoYilzKGUpZCh0aG9zZSlpCi0oZGVcMDE0bmVkKWYoZm9yKWcodGhlKWcoYClwIEZzKC1vKXAgRnQoJyloKG9wLSkxMTEwCi04ODUgeSh0aW9uKTIzIGIodG8paCh0aGUpZiBGcyhzZXQpZiBGdChidWlsdGluKWgoXChzZWUpZyhTZWN0aW9uKWgKLSg0LjMuMSloKFtUaGUpZChTZXQpaShCdWlsdGluXSwpaChwYWdlKWUoNTFcKS4pNjMwIDEwMzMKLXkoSWYpMjkgYihlaXRoZXIpaShgKXAgRnMoLXMpcCBGdCgnKWYob3IpZyhgKXAgRnMoLXUpcAotRnQoJylmKGlzKWgodXNlZClnKHdpdGgpZihubyloIEZxKG9wdG5hbWUpMzUgYiBGdChhcmd1bWVuKW0odHMsKWModGhlKWYKLShkaXNwbGEpbSh5KWcoaXMpZyhsaW1pdGVkKTYzMCAxMTQyIHkodG8paCh0aG9zZSlnKG9wdGlvbnMpZyh3aGljKW0oaClmCi0oYXJlKWgoc2V0KWYob3IpaCh1bnNldCwpZihyZXNwKXMoZWN0aXYpbShlbHkpLTggYiguKTYzMAotMTI3MSB5KFVubGVzcykzMCBiKG90aGVyd2lzZSloKG5vdGVkLClnKHRoZSlnIEZzKHNob3B0KWQKLUZ0KG9wdGlvbnMpaihhcmUpZyhkaXNhYmxlZClmKFwob1wwMTMpNyBiKFwpKTMyIGIoYiltKHkpZShkZWZhdWx0Lik2MzAKLTE0MDAgeShUaGUpZChyZXR1cm4pZihzdGF0dXMpaSh3aGVuKWYobGlzdGluZyloKG9wdGlvbnMpZyhpcylmKHplcm8paQotKGlmKWUoYWxsKWkgRnEob3B0bmFtZXMpaSBGdChhcmUpZChlbmFibGVkLClnKG5vbi0pNjMwCi0xNTA5IHkoemVybyk0MCBiKG90aGVyd2lzZS4pNjYgYihXaGVuKTM5IGIoc2V0dGluZyloKG9yKWYodW5zZXR0aW5nKWcKLShvcHRpb25zLClpKHRoZSllKHJldHVybilmKHN0YXR1cyloKGlzKWcoemVybyk2MzAgMTYxOQoteSh1bmxlc3MpMzAgYihhbilnIEZxKG9wdG5hbWUpMzYgYiBGdChpcykzMCBiKG5vdCloKGEpZyh2KS01Ci1iKGFsaWQpMzAgYihzaGVsbCloKG9wdGlvbi4pNjMwIDE3NDcgeShUaGUpZihsaXN0KWgob2YpZgotRnMoc2hvcHQpZiBGdChvcHRpb25zKWkoaXM6KTYzMCAxODk1IHkgRnMoYXV0b2NkKTE5MgotYiBGdChJZikyNyBiKHNldCwpaChhKWcoY29tbWFuZClmKG5hbWUpZyh0aGF0KWgoaXMpZih0aGUpZyhuYW1lKWcob2YpaAotKGEpZihkaXJlY3RvcnkpaChpcylmKGV4ZWN1dGVkKTExMTAgMjAwNSB5KGFzKWooaWYpZihpdCloKHcpbShlcmUpZgotKHRoZSloKGFyZ3VtZW4pbSh0KWcodG8pZyh0aGUpZiBGcyhjZClnIEZ0KGNvbW1hbmQuKTQwCi1iKFRoaXMpMjkgYihvcHRpb24pZyhpcyloKG9ubHkpMTExMCAyMTE0IHkodXNlZClnKGIpbSh5KWcoaW4pbQotKHRlcmFjdGl2KW0oZSlqKHNoZWxscy4pNjMwIDIyNjIgeSBGcyhjZGFibGVfdmFycykxMTEwCi0yMzcyIHkgRnQoSWYpaCh0aGlzKWgoaXMpZyhzZXQsKWkoYW4pZShhcmd1bWVuKW0odClnKHRvKWgodGhlKWYKLUZzKGNkKWYgRnQoYnVpbHRpbiloKGNvbW1hbmQpZih0aGF0KWkoaXMpZihub3QpMTExMCAyNDgxCi15KGEpYyhkaXJlY3RvcnkpZyhpcylnKGFzc3VtZWQpZih0byloKGIpcyhlKWYodGhlKWgobmFtZSlmKG9mKWgoYSlnKHYpCi0tNSBiKGFyaWFibGUpMzEgYih3aG9zZSlnKHYpLTUgYihhbHVlKTMxIGIoaXMpMTExMCAyNTkxCi15KHRoZSlnKGRpcmVjdG9yeSlmKHRvKWkoYyltKGhhbmdlKWYodG8uKTYzMCAyNzM4IHkgRnMoY2RzcGVsbCkxNDQKLWIgRnQoSWYpMjcgYihzZXQsKWgobWlub3IpZihlcnJvcnMpZihpbiloKHRoZSlnKHNwKXMoZWxsaW5nKWgob2YpZihhKWcKLShkaXJlY3RvcnkpaChjb21wKXMob25lbiltKHQpZihpbilnKGEpaCBGcyhjZCkxMTEwIDI4NDgKLXkgRnQoY29tbWFuZClpKHdpbGwpaChiKXMoZSlmKGNvcnJlY3RlZC4pNDMgYihUaGUpMzAKLWIoZXJyb3JzKWcoYyltKGhlYyltKGspbShlZClqKGZvcilkKGFyZSloKHRyYW5zcClzKG9zZWQpMTExMAotMjk1OCB5KGMpbShoYXJhY3RlcnMsKTQ2IGIoYSljKG1pc3NpbmcpZihjKW0oaGFyYWN0ZXIsKTQ3CitiKFNoZWxsKTMwIGIoQnVpbHRpbiloKENvbW1hbmRzKTIwNjkgYig1NSkxNTAgMjk5IHkgRmooNC4zLjIpNjMKK2IoVGhlKTQxIGIoU2hvcHQpaChCdWlsdGluKTE1MCA0NDYgeSBGdChUaGlzKTMwIGIoYnVpbHRpbilnKGFsbG8pbSh3cyloCisoeSltKG91KWcodG8pZyhjKW0oaGFuZ2UpaChhZGRpdGlvbmFsKWYoc2hlbGwpZihvcHRpb25hbClpKGIpcyhlaGEpbQorKHZpb3IuKTE1MCA2MTggeSBGcyhzaG9wdCk4NzAgNzU2IHkoc2hvcHQpNDYgYihbLXBxc3VdKWcoWy1vXSloKFspcAorRmkob3B0bmFtZSk1NiBiIEZzKC4uLilvKF0pNjMwIDg5NSB5IEZ0KFQpLTggYihvZ2dsZSk0NworYih0aGUpZCh2KS01IGIoYWx1ZXMpNDUgYihvZilnKHYpLTUgYihhcmlhYmxlcyk0NSBiKGNvbiltKHRyb2xsaW5nKWkKKyhvcHRpb25hbClmKHNoZWxsKWUoYilzKGVoYSltKHZpb3IuKTg0IGIoV2l0aCk0NSBiKG5vKTYzMAorMTAwNCB5KG9wdGlvbnMsKTMyIGIob3IpZih3aXRoKWcodGhlKWcoYClwIEZzKC1wKXAgRnQoJylnKG9wdGlvbiwpaChhKWcKKyhsaXN0KWYob2YpaChhbGwpZyhzZXR0YWJsZSlnKG9wdGlvbnMpZyhpcylmKGRpc3BsYSltKHkpbShlZCwpaCh3aXRoKQorNjMwIDExMTQgeShhbilpKGluZGljYXRpb24paShvZilmKHdoZXRoZXIpZihvcilnKG5vdCloKGVhYyltKGgpaChpcyllCisoc2V0Lik1NCBiKFRoZSkzNCBiKGApcCBGcygtcClwIEZ0KCcpaChvcHRpb24pZyhjYXVzZXMpZyhvdXRwdXQpZih0bykKKzYzMCAxMjI0IHkoYilzKGUpaShkaXNwbGEpbSh5KW0oZWQpaChpbillKGEpaShmb3JtKWYodGhhdCloKG1hKW0oeSlnKGIpCitzKGUpZShyZXVzZWQpaChhcylnKGlucHV0Lik1OCBiKE90aGVyKTM2IGIob3B0aW9ucylnKGhhKW0odiltKGUpaSh0aGUpCis2MzAgMTMzMyB5KGZvbGxvKW0od2luZykzMiBiKG1lYW5pbmdzOik2MzAgMTUwMSB5IEZzKC1zKTM4NAorYiBGdChFbmFibGUpMzAgYihcKHNldFwpKWkoZWFjKW0oaClmIEZxKG9wdG5hbWUpNSBiIEZ0KC4pNjMwCisxNjY4IHkgRnMoLXUpMzg0IGIgRnQoRGlzYWJsZSkzMSBiKFwodW5zZXRcKSlnKGVhYyltKGgpaAorRnEob3B0bmFtZSk1IGIgRnQoLik2MzAgMTgzNiB5IEZzKC1xKTM4NCBiIEZ0KFN1cHByZXNzZXMpMjgKK2Iobm9ybWFsKWgob3V0cHV0OyloKHRoZSlnKHJldHVybillKHN0YXR1cylpKGluZGljYXRlcyloKHdoZXRoZXIpZSh0aGUpCisxMTEwIDE5NDYgeSBGcShvcHRuYW1lKTM3IGIgRnQoaXMpMzEgYihzZXQpaChvcilmKHVuc2V0Lik0MworYihJZikzMSBiKG0pbSh1bHRpcGxlKWggRnEob3B0bmFtZSkzNyBiIEZ0KGFyZ3VtZW4pbSh0cykzMQorYihhcmUpaChnaXYpbShlbikxMTEwIDIwNTUgeSh3aXRoKTQzIGIoYClwIEZzKC1xKXAgRnQoJywpaih0aGUpZAorKHJldHVybilmKHN0YXR1cyloKGlzKWcoemVybyloKGlmKWYoYWxsKWcgRnEob3B0bmFtZXMpaworRnQoYXJlKWQoZW5hYmxlZDspMTExMCAyMTY1IHkobm9uLXplcm8pMzEgYihvdGhlcndpc2UuKTYzMAorMjMzMyB5IEZzKC1vKTM4NCBiIEZ0KFJlc3RyaWN0cykyOCBiKHRoZSlnKHYpLTUgYihhbHVlcykyOAorYihvZilmIEZxKG9wdG5hbWUpMzMgYiBGdCh0byljKGIpcyhlKWQodGhvc2UpaShkZVwwMTRuZWQpZihmb3IpZyh0aGUpZworKGApcCBGcygtbylwIEZ0KCcpaChvcC0pMTExMCAyNDQyIHkodGlvbikyMyBiKHRvKWgodGhlKWYKK0ZzKHNldClmIEZ0KGJ1aWx0aW4paChcKHNlZSlnKFNlY3Rpb24paCg0LjMuMSloKFtUaGUpZChTZXQpaShCdWlsdGluXSwpCitoKHBhZ2UpZSg1MVwpLik2MzAgMjYxMCB5KElmKTI5IGIoZWl0aGVyKWkoYClwIEZzKC1zKXAKK0Z0KCcpZihvcilnKGApcCBGcygtdSlwIEZ0KCcpZihpcyloKHVzZWQpZyh3aXRoKWYobm8paAorRnEob3B0bmFtZSkzNSBiIEZ0KGFyZ3VtZW4pbSh0cywpYyh0aGUpZihkaXNwbGEpbSh5KWcoaXMpZyhsaW1pdGVkKTYzMAorMjcxOSB5KHRvKWgodGhvc2UpZyhvcHRpb25zKWcod2hpYyltKGgpZihhcmUpaChzZXQpZihvciloKHVuc2V0LClmCisocmVzcClzKGVjdGl2KW0oZWx5KS04IGIoLik2MzAgMjg1OCB5KFVubGVzcykzMCBiKG90aGVyd2lzZSloKG5vdGVkLClnCisodGhlKWcgRnMoc2hvcHQpZCBGdChvcHRpb25zKWooYXJlKWcoZGlzYWJsZWQpZihcKG9cMDEzKTcKK2IoXCkpMzIgYihiKW0oeSllKGRlZmF1bHQuKTYzMCAyOTk3IHkoVGhlKWQocmV0dXJuKWYoc3RhdHVzKWkod2hlbilmCisobGlzdGluZyloKG9wdGlvbnMpZyhpcylmKHplcm8paShpZillKGFsbClpIEZxKG9wdG5hbWVzKWkKK0Z0KGFyZSlkKGVuYWJsZWQsKWcobm9uLSk2MzAgMzEwNiB5KHplcm8pNDAgYihvdGhlcndpc2UuKTY2CitiKFdoZW4pMzkgYihzZXR0aW5nKWgob3IpZih1bnNldHRpbmcpZyhvcHRpb25zLClpKHRoZSllKHJldHVybilmCisoc3RhdHVzKWgoaXMpZyh6ZXJvKTYzMCAzMjE2IHkodW5sZXNzKTMwIGIoYW4pZyBGcShvcHRuYW1lKTM2CitiIEZ0KGlzKTMwIGIobm90KWgoYSlnKHYpLTUgYihhbGlkKTMwIGIoc2hlbGwpaChvcHRpb24uKTYzMAorMzM1NCB5KFRoZSlmKGxpc3QpaChvZilmIEZzKHNob3B0KWYgRnQob3B0aW9ucylpKGlzOik2MzAKKzM1MjIgeSBGcyhhdXRvY2QpMTkyIGIgRnQoSWYpMjcgYihzZXQsKWgoYSlnKGNvbW1hbmQpZihuYW1lKWcodGhhdCloCisoaXMpZih0aGUpZyhuYW1lKWcob2YpaChhKWYoZGlyZWN0b3J5KWgoaXMpZihleGVjdXRlZCkxMTEwCiszNjMyIHkoYXMpaihpZilmKGl0KWgodyltKGVyZSlmKHRoZSloKGFyZ3VtZW4pbSh0KWcodG8pZyh0aGUpZgorRnMoY2QpZyBGdChjb21tYW5kLik0MCBiKFRoaXMpMjkgYihvcHRpb24pZyhpcyloKG9ubHkpMTExMAorMzc0MSB5KHVzZWQpZyhiKW0oeSlnKGluKW0odGVyYWN0aXYpbShlKWooc2hlbGxzLik2MzAKKzM5MDkgeSBGcyhjZGFibGVfdmFycykxMTEwIDQwMTggeSBGdChJZiloKHRoaXMpaChpcylnKHNldCwpaShhbillCisoYXJndW1lbiltKHQpZyh0byloKHRoZSlmIEZzKGNkKWYgRnQoYnVpbHRpbiloKGNvbW1hbmQpZih0aGF0KWkoaXMpZgorKG5vdCkxMTEwIDQxMjggeShhKWMoZGlyZWN0b3J5KWcoaXMpZyhhc3N1bWVkKWYodG8paChiKXMoZSlmKHRoZSloCisobmFtZSlmKG9mKWgoYSlnKHYpLTUgYihhcmlhYmxlKTMxIGIod2hvc2UpZyh2KS01IGIoYWx1ZSkzMQorYihpcykxMTEwIDQyMzggeSh0aGUpZyhkaXJlY3RvcnkpZih0bylpKGMpbShoYW5nZSlmKHRvLik2MzAKKzQ0MDUgeSBGcyhjZHNwZWxsKTE0NCBiIEZ0KElmKTI3IGIoc2V0LCloKG1pbm9yKWYoZXJyb3JzKWYoaW4paCh0aGUpZworKHNwKXMoZWxsaW5nKWgob2YpZihhKWcoZGlyZWN0b3J5KWgoY29tcClzKG9uZW4pbSh0KWYoaW4pZyhhKWgKK0ZzKGNkKTExMTAgNDUxNSB5IEZ0KGNvbW1hbmQpaSh3aWxsKWgoYilzKGUpZihjb3JyZWN0ZWQuKTQzCitiKFRoZSkzMCBiKGVycm9ycylnKGMpbShoZWMpbShrKW0oZWQpaihmb3IpZChhcmUpaCh0cmFuc3Apcyhvc2VkKTExMTAKKzQ2MjQgeShjKW0oaGFyYWN0ZXJzLCk0NiBiKGEpYyhtaXNzaW5nKWYoYyltKGhhcmFjdGVyLCk0NwogYihhbmQpNDAgYihhKWkoYyltKGhhcmFjdGVyKWgodG8pcyhvKWcobWFuKW0oeSktOCBiKC4pNzQKLWIoSWYpNDIgYihhKTExMTAgMzA2NyB5KGNvcnJlY3Rpb24pMjUgYihpcyllKGZvdW5kLClnKHRoZSloKGNvcnJlY3RlZClnCi0ocGF0aClmKGlzKWcocHJpbiltKHRlZCwpaChhbmQpZih0aGUpZyhjb21tYW5kKTExMTAgMzE3NworYihJZik0MiBiKGEpMTExMCA0NzM0IHkoY29ycmVjdGlvbikyNSBiKGlzKWUoZm91bmQsKWcodGhlKWgoY29ycmVjdGVkKWcKKyhwYXRoKWYoaXMpZyhwcmluKW0odGVkLCloKGFuZClmKHRoZSlnKGNvbW1hbmQpMTExMCA0ODQ0CiB5KHBybylzKGNlZWRzLik0MCBiKFRoaXMpMzAgYihvcHRpb24paChpcylmKG9ubHkpaCh1c2VkKWUoYiltKHkpaChpbiltCi0odGVyYWN0aXYpbShlKWsoc2hlbGxzLik2MzAgMzMyNCB5IEZzKGNoZWNraGFzaCkxMTEwCi0zNDM0IHkgRnQoSWYpMjkgYih0aGlzKWgoaXMpZyhzZXQsKWcoQmFzaClnKGMpbShoZWMpbShrcyloKHRoYXQpZyhhKWYKLShjb21tYW5kKWYoZm91bmQpZyhpbilnKHRoZSloKGhhc2gpZih0YWJsZSkxMTEwIDM1NDQKKyh0ZXJhY3RpdiltKGUpayhzaGVsbHMuKTYzMCA1MDExIHkgRnMoY2hlY2toYXNoKTExMTAKKzUxMjEgeSBGdChJZikyOSBiKHRoaXMpaChpcylnKHNldCwpZyhCYXNoKWcoYyltKGhlYyltKGtzKWgodGhhdClnKGEpZgorKGNvbW1hbmQpZihmb3VuZClnKGluKWcodGhlKWgoaGFzaClmKHRhYmxlKTExMTAgNTIzMAogeShleGlzdHMpayhiKXMoZWZvcmUpZih0cnlpbmcpaCh0byloKGV4ZWN1dGUpZyhpdC4pNDgKLWIoSWYpMzIgYihhKWgoaGFzaGVkKWUoY29tbWFuZClpKG5vKWYobG9uZ2VyKTExMTAgMzY1MwoteShleGlzdHMsKWYoYSlnKG5vcm1hbClmKHBhdGgpZyhzZWFyYyltKGgpaChpcylnKHApcyhlcmZvcm1lZC4pNjMwCi0zODAxIHkgRnMoY2hlY2tqb2JzKTExMTAgMzkxMSB5IEZ0KElmKWQoc2V0LClpKEJhc2gpZShsaXN0cyloKHRoZSlnCi0oc3RhdHVzKWcob2YpZihhbiltKHkpaChzdG9wcClzKGVkKWYoYW5kKWcocnVubmluZyllKGpvYnMpaShiKXMoZWZvcmUpCi0xMTEwIDQwMjAgeShleGl0aW5nKTQyIGIoYW4pZihpbiltKHRlcmFjdGl2KW0oZSlqKHNoZWxsLik3MgotYihJZik0MSBiKGFuKW0oeSlnKGpvYnMpZihhcmUpaShydW5uaW5nLClnKHRoaXMpZihjYXVzZXMpMTExMAotNDEzMCB5KHRoZSkzMCBiKGV4aXQpZyh0bylnKGIpcyhlKWYoZGVmZXJyZWQpZyh1biltKHRpbCloKGEpZihzZWNvbmQpaAotKGV4aXQpZyhpcylnKGF0dGVtcHRlZCloKHdpdGhvdXQpZShhbikxMTEwIDQyMzkgeShpbiltKHRlcnYpbShlbmluZylqCi0oY29tbWFuZCllKFwoc2VlKWgoQ2hhcHRlcilmKDcpaChbSm9iKWYoQ29uKW0odHJvbF0sKWkocGFnZSlmKDg5XCkuKTQyCi1iKFRoZSkxMTEwIDQzNDkgeShzaGVsbCkzMSBiKGFsdyltKGEpbSh5cylnKHApcyhvc3RwKXMob25lcylmKGV4aXRpbmcpaAotKGlmKWcoYW4pbSh5KWYoam9icylnKGFyZSloKHN0b3BwKXMoZWQuKTYzMCA0NDk3IHkgRnMoY2hlY2t3aW5zaXplKTExMTAKLTQ2MDYgeSBGdChJZik0MSBiKHNldCwpayhCYXNoKWMoYyltKGhlYyltKGtzKWkodGhlKWYod2luZG8pbSh3KWUoc2l6ZSlqCi0oYWZ0ZXIpZihlYWMpbShoKWcoY29tbWFuZClmKGFuZCwpaihpZikxMTEwIDQ3MTYgeShuZWNlc3NhcnkpLTgKLWIoLCkzMSBiKHVwKXMoZGF0ZXMpZih0aGUpZyh2KS01IGIoYWx1ZXMpMzEgYihvZilnIEZzKExJTkVTKWUKLUZ0KGFuZClnIEZzKENPTFVNTlMpcCBGdCguKTYzMCA0ODYzIHkgRnMoY21kaGlzdCkxNDQKLWIgRnQoSWYpMzMgYihzZXQsKWooQmFzaCllKGF0dGVtcHRzKWgodG8pZyhzYSltKHYpbShlKWcoYWxsKWcobGluZXMpZgotKG9mKWcoYSloKG0pbSh1bHRpcGxlLWxpbmUpZyhjb21tYW5kKTExMTAgNDk3MyB5KGluKWModGhlKWcoc2FtZSlnCi0oaGlzdG9yeSlnKGVuKW0odHJ5KS04IGIoLik0MiBiKFRoaXMpMzAgYihhbGxvKW0od3MpaShlYXN5KWcKLShyZS1lZGl0aW5nKWcob2YpZihtKW0odWx0aS1saW5lKTExMTAgNTA4MyB5KGNvbW1hbmRzLik2MzAKLTUyMzAgeSBGcyhjb21wYXQzMSk5NiBiIEZ0KElmKTI3IGIoc2V0LClpKEJhc2gpZShjKW0oaGFuZ2VzKWkoaXRzKWYoYilzCi0oZWhhKW0odmlvcilmKHRvKWkodGhhdClmKG9mKWYodiltKGVyc2lvbiloKDMuMSloKHdpdGgpZShyZXNwKXMoZWN0KQotMTExMCA1MzQwIHkodG8payhxdW90ZWQpZyhhcmd1bWVuKW0odHMpZih0byloKHRoZSlnKGNvbmRpdGlvbmFsKWgKLShjb21tYW5kJ3MpZSg9KXAgRnMofilnIEZ0KG9wKXMoZXJhdG9yLilwIGVvcCBlbmQKK2IoSWYpMzIgYihhKWgoaGFzaGVkKWUoY29tbWFuZClpKG5vKWYobG9uZ2VyKTExMTAgNTM0MAoreShleGlzdHMsKWYoYSlnKG5vcm1hbClmKHBhdGgpZyhzZWFyYyltKGgpaChpcylnKHApcyhlcmZvcm1lZC4pcAorZW9wIGVuZAogJSVQYWdlOiA1NiA2MgogVGVYRGljdCBiZWdpbiA1NiA2MSBib3AgMTUwIC0xMTYgYSBGdCg1NikyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5IEZzKGRpcnNwZWxsKTk2IGIgRnQoSWYpMjYKLWIoc2V0LClpKEJhc2gpZihhdHRlbXB0cylnKHNwKXMoZWxsaW5nKWcoY29ycmVjdGlvbilnKG9uKWcoZGlyZWN0b3J5KWcKLShuYW1lcylmKGR1cmluZykxMTEwIDQwOCB5KHcpbShvcmQpMzYgYihjb21wbGV0aW9uKWgoaWYpZih0aGUpZwotKGRpcmVjdG9yeSlnKG5hbWUpZyhpbml0aWFsbHkpaChzdXBwbGllZCllKGRvKXMoZXMpaChub3QpMTExMAotNTE4IHkoZXhpc3QuKTYzMCA2NzcgeSBGcyhkb3RnbG9iKTE0NCBiIEZ0KElmKTI3IGIoc2V0LClpKEJhc2gpZgorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5IEZzKGNoZWNram9icykxMTEwIDQwOAoreSBGdChJZilkKHNldCwpaShCYXNoKWUobGlzdHMpaCh0aGUpZyhzdGF0dXMpZyhvZilmKGFuKW0oeSloKHN0b3BwKXMKKyhlZClmKGFuZClnKHJ1bm5pbmcpZShqb2JzKWkoYilzKGVmb3JlKTExMTAgNTE4IHkoZXhpdGluZyk0MgorYihhbilmKGluKW0odGVyYWN0aXYpbShlKWooc2hlbGwuKTcyIGIoSWYpNDEgYihhbiltKHkpZyhqb2JzKWYoYXJlKWkKKyhydW5uaW5nLClnKHRoaXMpZihjYXVzZXMpMTExMCA2MjggeSh0aGUpMzAgYihleGl0KWcodG8pZyhiKXMoZSlmCisoZGVmZXJyZWQpZyh1biltKHRpbCloKGEpZihzZWNvbmQpaChleGl0KWcoaXMpZyhhdHRlbXB0ZWQpaCh3aXRob3V0KWUKKyhhbikxMTEwIDczNyB5KGluKW0odGVydiltKGVuaW5nKWooY29tbWFuZCllKFwoc2VlKWgoQ2hhcHRlcilmKDcpaAorKFtKb2IpZihDb24pbSh0cm9sXSwpaShwYWdlKWYoODlcKS4pNDIgYihUaGUpMTExMCA4NDcKK3koc2hlbGwpMzEgYihhbHcpbShhKW0oeXMpZyhwKXMob3N0cClzKG9uZXMpZihleGl0aW5nKWgoaWYpZyhhbiltKHkpZgorKGpvYnMpZyhhcmUpaChzdG9wcClzKGVkLik2MzAgMTAwOSB5IEZzKGNoZWNrd2luc2l6ZSkxMTEwCisxMTE4IHkgRnQoSWYpNDEgYihzZXQsKWsoQmFzaCljKGMpbShoZWMpbShrcylpKHRoZSlmKHdpbmRvKW0odyllKHNpemUpagorKGFmdGVyKWYoZWFjKW0oaClnKGNvbW1hbmQpZihhbmQsKWooaWYpMTExMCAxMjI4IHkobmVjZXNzYXJ5KS04CitiKCwpMzEgYih1cClzKGRhdGVzKWYodGhlKWcodiktNSBiKGFsdWVzKTMxIGIob2YpZyBGcyhMSU5FUyllCitGdChhbmQpZyBGcyhDT0xVTU5TKXAgRnQoLik2MzAgMTM5MCB5IEZzKGNtZGhpc3QpMTQ0CitiIEZ0KElmKTMzIGIoc2V0LClqKEJhc2gpZShhdHRlbXB0cyloKHRvKWcoc2EpbSh2KW0oZSlnKGFsbClnKGxpbmVzKWYKKyhvZilnKGEpaChtKW0odWx0aXBsZS1saW5lKWcoY29tbWFuZCkxMTEwIDE0OTkgeShpbiljKHRoZSlnKHNhbWUpZworKGhpc3RvcnkpZyhlbiltKHRyeSktOCBiKC4pNDIgYihUaGlzKTMwIGIoYWxsbyltKHdzKWkoZWFzeSlnCisocmUtZWRpdGluZylnKG9mKWYobSltKHVsdGktbGluZSkxMTEwIDE2MDkgeShjb21tYW5kcy4pNjMwCisxNzcxIHkgRnMoY29tcGF0MzEpOTYgYiBGdChJZikyNyBiKHNldCwpaShCYXNoKWUoYyltKGhhbmdlcylpKGl0cylmKGIpcworKGVoYSltKHZpb3IpZih0bylpKHRoYXQpZihvZilmKHYpbShlcnNpb24paCgzLjEpaCh3aXRoKWUocmVzcClzKGVjdCkKKzExMTAgMTg4MCB5KHRvKWsocXVvdGVkKWcoYXJndW1lbiltKHRzKWYodG8paCh0aGUpZyhjb25kaXRpb25hbCloCisoY29tbWFuZCdzKWUoPSlwIEZzKH4pZyBGdChvcClzKGVyYXRvci4pNjMwIDIwNDIgeSBGcyhkaXJzcGVsbCk5NgorYiBGdChJZikyNiBiKHNldCwpaShCYXNoKWYoYXR0ZW1wdHMpZyhzcClzKGVsbGluZylnKGNvcnJlY3Rpb24pZyhvbilnCisoZGlyZWN0b3J5KWcobmFtZXMpZihkdXJpbmcpMTExMCAyMTUxIHkodyltKG9yZCkzNiBiKGNvbXBsZXRpb24paChpZilmCisodGhlKWcoZGlyZWN0b3J5KWcobmFtZSlnKGluaXRpYWxseSloKHN1cHBsaWVkKWUoZG8pcyhlcyloKG5vdCkxMTEwCisyMjYxIHkoZXhpc3QuKTYzMCAyNDIzIHkgRnMoZG90Z2xvYikxNDQgYiBGdChJZikyNyBiKHNldCwpaShCYXNoKWYKIChpbmNsdWRlcylnKFwwMTRsZW5hbWVzKWcoYilzKGVnaW5uaW5nKWYod2l0aClnKGEpaChgLicpNDEKLWIoaW4pMjcgYih0aGUpaChyZXN1bHRzKWcob2YpMTExMCA3ODcgeShcMDE0bGVuYW1lKWooZXhwYW5zaW9uLik2MzAKLTk0NiB5IEZzKGV4ZWNmYWlsKTk2IGIgRnQoSWYpMjQgYih0aGlzKWgoaXMpZihzZXQsKWooYSllKG5vbi1pbiltCitiKGluKTI3IGIodGhlKWgocmVzdWx0cylnKG9mKTExMTAgMjUzMiB5KFwwMTRsZW5hbWUpaihleHBhbnNpb24uKTYzMAorMjY5NCB5IEZzKGV4ZWNmYWlsKTk2IGIgRnQoSWYpMjQgYih0aGlzKWgoaXMpZihzZXQsKWooYSllKG5vbi1pbiltCiAodGVyYWN0aXYpbShlKWkoc2hlbGwpZSh3aWxsKWYobm90KWgoZXhpdCloKGlmKWUoaXQpaChjYW5ub3QpaChleGVjdXRlKQotMTExMCAxMDU2IHkodGhlKWkoXDAxNGxlKWcoc3ApcyhlY2lcMDE0ZWQpZyhhcylnKGFuKWcoYXJndW1lbiltKHQpZyh0bykKKzExMTAgMjgwNCB5KHRoZSlpKFwwMTRsZSlnKHNwKXMoZWNpXDAxNGVkKWcoYXMpZyhhbilnKGFyZ3VtZW4pbSh0KWcodG8pCiBoKHRoZSlmIEZzKGV4ZWMpZiBGdChidWlsdGluKWgoY29tbWFuZC4pMzkgYihBbikxMTEwCi0xMTY2IHkoaW4pbSh0ZXJhY3RpdiltKGUpMzMgYihzaGVsbCllKGRvKXMoZXMpZihub3QpZyhleGl0KWkoaWYpZQotRnMoZXhlYylmIEZ0KGZhaWxzLik2MzAgMTMyNSB5IEZzKGV4cGFuZF9hbGlhc2VzKTExMTAKLTE0MzUgeSBGdChJZilqKHNldCwpaChhbGlhc2VzKWcoYXJlKWcoZXhwYW5kZWQpZShhcyloKGRlc2NyaWIpcyhlZClmKGIpCi1zKGVsbyltKHcpaCh1bmRlcilmKEFsaWFzZXMsKWkoU2VjLSkxMTEwIDE1NDQgeSh0aW9uKTM4CisyOTEzIHkoaW4pbSh0ZXJhY3RpdiltKGUpMzMgYihzaGVsbCllKGRvKXMoZXMpZihub3QpZyhleGl0KWkoaWYpZQorRnMoZXhlYylmIEZ0KGZhaWxzLik2MzAgMzA3NSB5IEZzKGV4cGFuZF9hbGlhc2VzKTExMTAKKzMxODUgeSBGdChJZilqKHNldCwpaChhbGlhc2VzKWcoYXJlKWcoZXhwYW5kZWQpZShhcyloKGRlc2NyaWIpcyhlZClmKGIpCitzKGVsbyltKHcpaCh1bmRlcilmKEFsaWFzZXMsKWkoU2VjLSkxMTEwIDMyOTQgeSh0aW9uKTM4CiBiKDYuNiloKFtBbGlhc2VzXSwpaihwYWdlKWQoNzkuKTY0IGIoVGhpcykzNyBiKG9wdGlvbiloKGlzKWcoZW5hYmxlZClnCi0oYiltKHkpZyhkZWZhdWx0KWcoZm9yKTExMTAgMTY1NCB5KGluKW0odGVyYWN0aXYpbShlKTMzCi1iKHNoZWxscy4pNjMwIDE4MTMgeSBGcyhleHRkZWJ1Zyk5NiBiIEZ0KElmKTMwIGIoc2V0LCloKGIpcyhlaGEpbSh2aW9yKQorKGIpbSh5KWcoZGVmYXVsdClnKGZvcikxMTEwIDM0MDQgeShpbiltKHRlcmFjdGl2KW0oZSkzMworYihzaGVsbHMuKTYzMCAzNTY2IHkgRnMoZXh0ZGVidWcpOTYgYiBGdChJZikzMCBiKHNldCwpaChiKXMoZWhhKW0odmlvcikKIGcoaW4pbSh0ZW5kZWQpZihmb3IpZyh1c2UpZyhiKW0oeSlnKGRlYnVnZ2VycylnKGlzKWgoZW5hYmxlZDopMTE1OQotMTk0OCB5KDEuKTYxIGIoVGhlKTMyIGIoYClwIEZzKC1GKXAgRnQoJylnKG9wdGlvbiloKHRvKWcodGhlKWcKKzM3MDEgeSgxLik2MSBiKFRoZSkzMiBiKGApcCBGcygtRilwIEZ0KCcpZyhvcHRpb24paCh0bylnKHRoZSlnCiBGcyhkZWNsYXJlKWQgRnQoYnVpbHRpbilpKFwoc2VlKWkoU2VjdGlvbilmKDQuMiloKFtCYXNoKTEyOTAKLTIwNTcgeShCdWlsdGluc10sKTI5IGIocGFnZSlnKDQxXCkpZyhkaXNwbGEpbSh5cylmKHRoZSlnKHNvdXJjZSloCi0oXDAxNGxlKWYobmFtZSlnKGFuZClmKGxpbmUpaChuKW0odW0tKTEyOTAgMjE2NyB5KGIpcyhlciloKGNvcnJlc3ApcworMzgxMSB5KEJ1aWx0aW5zXSwpMjkgYihwYWdlKWcoNDFcKSlnKGRpc3BsYSltKHlzKWYodGhlKWcoc291cmNlKWgKKyhcMDE0bGUpZihuYW1lKWcoYW5kKWYobGluZSloKG4pbSh1bS0pMTI5MCAzOTIxIHkoYilzKGVyKWgoY29ycmVzcClzCiAob25kaW5nKWcodG8paShlYWMpbShoKWcoZnVuY3Rpb24pZihuYW1lKWcoc3VwcGxpZWQpZihhcylpKGFuKWYoYXJndS0pCi0xMjkwIDIyNzYgeShtZW4pbSh0LikxMTU5IDI0MTEgeSgyLik2MSBiKElmKTIwIGIodGhlKWgoY29tbWFuZClnKHJ1billCisxMjkwIDQwMzAgeShtZW4pbSh0LikxMTU5IDQxNjYgeSgyLik2MSBiKElmKTIwIGIodGhlKWgoY29tbWFuZClnKHJ1billCiAoYiltKHkpaSh0aGUpZiBGcyhERUJVRylnIEZ0KHRyYXApZyhyZXR1cm5zKWcoYSloKG5vbi16ZXJvKWcodiktNQotYihhbHVlLCkxMjkwIDI1MjEgeSh0aGUpMzEgYihuZXh0KWYoY29tbWFuZClnKGlzKWgoc2tpcHApcyhlZCllKGFuZClnCi0obm90KWkoZXhlY3V0ZWQuKTExNTkgMjY1NSB5KDMuKTYxIGIoSWYpMzcgYih0aGUpZyhjb21tYW5kKWcocnVuKWYoYiltCitiKGFsdWUsKTEyOTAgNDI3NSB5KHRoZSkzMSBiKG5leHQpZihjb21tYW5kKWcoaXMpaChza2lwcClzKGVkKWUoYW5kKWcKKyhub3QpaShleGVjdXRlZC4pMTE1OSA0NDExIHkoMy4pNjEgYihJZikzNyBiKHRoZSlnKGNvbW1hbmQpZyhydW4pZihiKW0KICh5KWkodGhlKWYgRnMoREVCVUcpZiBGdCh0cmFwKWgocmV0dXJucylmKGEpaSh2KS01IGIoYWx1ZSkzOAotYihvZilmKDIsKTEyOTAgMjc2NSB5KGFuZCljKHRoZSlnKHNoZWxsKWgoaXMpZihleGVjdXRpbmcpaShpbillKGEpaAotKHN1YnJvdXRpbmUpZShcKGEpaShzaGVsbClnKGZ1bmN0aW9uKWYob3IpMTI5MCAyODc0IHkoYSloKHNoZWxsKWgKK2Iob2YpZigyLCkxMjkwIDQ1MjEgeShhbmQpYyh0aGUpZyhzaGVsbCloKGlzKWYoZXhlY3V0aW5nKWkoaW4pZShhKWgKKyhzdWJyb3V0aW5lKWUoXChhKWkoc2hlbGwpZyhmdW5jdGlvbilmKG9yKTEyOTAgNDYzMCB5KGEpaChzaGVsbCloCiAoc2NyaXB0KWYoZXhlY3V0ZWQpaChiKW0oeSlmKHRoZSlnIEZzKC4pZyBGdChvcilnIEZzKHNvdXJjZSllCi1GdChidWlsdGluc1wpLClqKGEpZyhjYWxsKWcodG8pMTI5MCAyOTg0IHkgRnMocmV0dXJuKTI5Ci1iIEZ0KGlzKWgoc2ltKW0odWxhdGVkLikxMTU5IDMxMTggeSg0Lik2MSBiIEZzKEJBU0hfQVJHQykzNAorRnQoYnVpbHRpbnNcKSwpaihhKWcoY2FsbClnKHRvKTEyOTAgNDc0MCB5IEZzKHJldHVybikyOQorYiBGdChpcyloKHNpbSltKHVsYXRlZC4pMTE1OSA0ODc2IHkoNC4pNjEgYiBGcyhCQVNIX0FSR0MpMzQKIGIgRnQoYW5kKWkgRnMoQkFTSF9BUkdWKWUgRnQoYXJlKWoodXApcyhkYXRlZCllKGFzKWgoZGVzY3JpYilzKGVkKWcoaW4pCi1nKHRoZWlyKTEyOTAgMzIyOCB5KGRlc2NyaXB0aW9ucykzMCBiKFwoc2VlKWkoU2VjdGlvbilmKDUuMilnKFtCYXNoKWcKLShWKS04IGIoYXJpYWJsZXNdLCkzMiBiKHBhZ2UpZig2MVwpLikxMTU5IDMzNjIgeSg1Lik2MQorZyh0aGVpcikxMjkwIDQ5ODUgeShkZXNjcmlwdGlvbnMpMzAgYihcKHNlZSlpKFNlY3Rpb24pZig1LjIpZyhbQmFzaClnCisoViktOCBiKGFyaWFibGVzXSwpMzIgYihwYWdlKWYoNjFcKS4pMTE1OSA1MTIxIHkoNS4pNjEKIGIoRiktOCBiKHVuY3Rpb24pNTcgYih0cmFjaW5nKWcoaXMpZyhlbmFibGVkOik5MyBiKGNvbW1hbmQpNTYKLWIoc3Vic3RpdHV0aW9uLCk2MyBiKHNoZWxsKTEyOTAgMzQ3MiB5KGZ1bmN0aW9ucywpMzAKK2Ioc3Vic3RpdHV0aW9uLCk2MyBiKHNoZWxsKTEyOTAgNTIzMCB5KGZ1bmN0aW9ucywpMzAKIGIoYW5kKWYoc3Vic2hlbGxzKWcoaW4pbSh2KW0ob2spbShlZClqKHdpdGgpZCBGcyhcKCloCi1Gaihjb21tYW5kKTM5IGIgRnMoXCkpMzAgYiBGdChpbmhlcml0KWcodGhlKTEyOTAgMzU4MgoteSBGcyhERUJVRylmIEZ0KGFuZCloIEZzKFJFVFVSTillIEZ0KHRyYXBzLikxMTU5IDM3MTYKLXkoNi4pNjEgYihFcnJvcik3NCBiKHRyYWNpbmcpaShpcylmKGVuYWJsZWQ6KTEzMSBiKGNvbW1hbmQpNzQKLWIoc3Vic3RpdHV0aW9uLCk4NyBiKHNoZWxsKTEyOTAgMzgyNiB5KGZ1bmN0aW9ucywpMzAKLWIoYW5kKWYoc3Vic2hlbGxzKWcoaW4pbSh2KW0ob2spbShlZClqKHdpdGgpZCBGcyhcKCloCi1Gaihjb21tYW5kKTM5IGIgRnMoXCkpMzAgYiBGdChpbmhlcml0KWcodGhlKTEyOTAgMzkzNQoteSBGcyhFUlJPUilmIEZ0KHRyYXAuKTYzMCA0MDk1IHkgRnMoZXh0Z2xvYikxNDQgYiBGdChJZikyNgotYihzZXQsKWkodGhlKWYoZXh0ZW5kZWQpZihwYXR0ZXJuKWgobWF0YyltKGhpbmcpZyhmZWF0dXJlcylnKGRlc2NyaWIpcwotKGVkKWUoYWIpcyhvKW0odiltKGUpaihcKHNlZSkxMTEwIDQyMDQgeShTZWN0aW9uKWooMy41LjguMSlpKFtQKW0KLShhdHRlcm4pZihNYXRjKW0oaGluZ10sKWcocGFnZSlmKDI1XCkpaChhcmUpZihlbmFibGVkLik2MzAKLTQzNjQgeSBGcyhleHRxdW90ZSk5NiBiIEZ0KElmKTQ5IGIoc2V0LCk1NCBiIEZzKCQnKXAKLUZqKHN0cmluZykxMSBiIEZzKCcpNDYgYiBGdChhbmQpaiBGcygkIilwIEZqKHN0cmluZykxMQotYiBGcygiKTQ2IGIgRnQocXVvdGluZylrKGlzKWYocClzKGVyZm9ybWVkKWUod2l0aGluKTExMTAKLTQ0NzMgeSBGcygkeylwIEZqKHBhcmFtZXRlcikxMSBiIEZzKH0pMzAgYiBGdChleHBhbnNpb25zKWooZW5jbG9zZWQpaAotKGluKWcoZG91YmxlKWYocXVvdGVzLik1MSBiKFRoaXMpMzIgYihvcHRpb24pMTExMCA0NTgzCi15KGlzKWUoZW5hYmxlZCloKGIpbSh5KWYoZGVmYXVsdC4pNjMwIDQ3NDIgeSBGcyhmYWlsZ2xvYik5NgotYiBGdChJZikzMCBiKHNldCwpZyhwYXR0ZXJucylnKHdoaWMpbShoKWcoZmFpbCloKHRvKWcobWF0YyltKGgpZwotKFwwMTRsZW5hbWVzKWYoZHVyaW5nKWUocGF0aG5hbWUpaShleC0pMTExMCA0ODUyIHkocGFuc2lvbilnKHJlc3VsdClnCi0oaW4pZyhhbilnKGV4cGFuc2lvbiloKGVycm9yLik2MzAgNTAxMSB5IEZzKGZvcmNlX2ZpZ25vcmUpMTExMAotNTEyMSB5IEZ0KElmKTQzIGIoc2V0LClrKHRoZSlkKHN1XDAxNnhlcylmKHNwKXMoZWNpXDAxNGVkKWYoYiltKHkpaQotKHRoZSlmIEZzKEZJR05PUkUpZiBGdChzaGVsbCloKHYpLTUgYihhcmlhYmxlKTQ0IGIoY2F1c2UpMTExMAotNTIzMCB5KHcpbShvcmRzKTMxIGIodG8paChiKXMoZSlmKGlnbm9yZWQpaCh3aGVuKWYocClzKGVyZm9ybWluZylmKHcpbQotKG9yZCloKGNvbXBsZXRpb24paShldiltKGVuKWYoaWYpZyh0aGUpMTExMCA1MzQwIHkoaWdub3JlZCkzNwotYih3KW0ob3JkcylnKGFyZSlnKHRoZSloKG9ubHkpZihwKXMob3NzaWJsZSlnKGNvbXBsZXRpb25zLik2MgotYihTZWUpMzcgYihTZWN0aW9uKWgoNS4yKXAgZW9wIGVuZAorRmkoY29tbWFuZCkzOSBiIEZzKFwpKTMwIGIgRnQoaW5oZXJpdClnKHRoZSkxMjkwIDUzNDAKK3kgRnMoREVCVUcpZiBGdChhbmQpaCBGcyhSRVRVUk4pZSBGdCh0cmFwcy4pcCBlb3AgZW5kCiAlJVBhZ2U6IDU3IDYzCiBUZVhEaWN0IGJlZ2luIDU3IDYyIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig0Oik0MQotYihTaGVsbCkzMCBiKEJ1aWx0aW4paChDb21tYW5kcykyMDY5IGIoNTcpMTExMCAyOTkgeShbQmFzaCkyNAotYihWKS04IGIoYXJpYWJsZXNdLCkyNyBiKHBhZ2UpZSg2MSwpaChmb3IpZChhKWgoZGVzY3JpcHRpb24pZyhvZilnCi1GcyhGSUdOT1JFKXAgRnQoLikzNyBiKFRoaXMpMjIgYihvcHRpb24pMTExMCA0MDggeShpcykzMAotYihlbmFibGVkKWgoYiltKHkpZihkZWZhdWx0Lik2MzAgNTY4IHkgRnMoZ2xvYnN0YXIpOTYKK2IoU2hlbGwpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjA2OSBiKDU3KTExNTkgMjk5IHkoNi4pNjEKK2IoRXJyb3IpNzQgYih0cmFjaW5nKWkoaXMpZihlbmFibGVkOikxMzEgYihjb21tYW5kKTc0CitiKHN1YnN0aXR1dGlvbiwpODcgYihzaGVsbCkxMjkwIDQwOCB5KGZ1bmN0aW9ucywpMzAgYihhbmQpZihzdWJzaGVsbHMpZworKGluKW0odiltKG9rKW0oZWQpaih3aXRoKWQgRnMoXCgpaCBGaShjb21tYW5kKTM5IGIgRnMoXCkpMzAKK2IgRnQoaW5oZXJpdClnKHRoZSkxMjkwIDUxOCB5IEZzKEVSUk9SKWYgRnQodHJhcC4pNjMwCis2NjcgeSBGcyhleHRnbG9iKTE0NCBiIEZ0KElmKTI2IGIoc2V0LClpKHRoZSlmKGV4dGVuZGVkKWYocGF0dGVybiloCisobWF0YyltKGhpbmcpZyhmZWF0dXJlcylnKGRlc2NyaWIpcyhlZCllKGFiKXMobyltKHYpbShlKWooXChzZWUpMTExMAorNzc3IHkoU2VjdGlvbilqKDMuNS44LjEpaShbUCltKGF0dGVybilmKE1hdGMpbShoaW5nXSwpZyhwYWdlKWYoMjRcKSloCisoYXJlKWYoZW5hYmxlZC4pNjMwIDkyNyB5IEZzKGV4dHF1b3RlKTk2IGIgRnQoSWYpNDkgYihzZXQsKTU0CitiIEZzKCQnKXAgRmkoc3RyaW5nKTExIGIgRnMoJyk0NiBiIEZ0KGFuZClqIEZzKCQiKXAgRmkoc3RyaW5nKTExCitiIEZzKCIpNDYgYiBGdChxdW90aW5nKWsoaXMpZihwKXMoZXJmb3JtZWQpZSh3aXRoaW4pMTExMAorMTAzNiB5IEZzKCR7KXAgRmkocGFyYW1ldGVyKTExIGIgRnMofSkzMCBiIEZ0KGV4cGFuc2lvbnMpaihlbmNsb3NlZCloCisoaW4pZyhkb3VibGUpZihxdW90ZXMuKTUxIGIoVGhpcykzMiBiKG9wdGlvbikxMTEwIDExNDYKK3koaXMpZShlbmFibGVkKWgoYiltKHkpZihkZWZhdWx0Lik2MzAgMTI5NSB5IEZzKGZhaWxnbG9iKTk2CitiIEZ0KElmKTM2IGIoc2V0LClqKHBhdHRlcm5zKWQod2hpYyltKGgpZyhmYWlsKWgodG8paChtYXRjKW0oaClmCisoXDAxNGxlbmFtZXMpZihkdXJpbmcpZyhcMDE0bGVuYW1lKWcoZXgtKTExMTAgMTQwNSB5KHBhbnNpb24pMzAKK2IocmVzdWx0KWcoaW4pZyhhbilnKGV4cGFuc2lvbiloKGVycm9yLik2MzAgMTU1NCB5IEZzKGZvcmNlX2ZpZ25vcmUpCisxMTEwIDE2NjQgeSBGdChJZik0MyBiKHNldCwpayh0aGUpZChzdVwwMTZ4ZXMpZihzcClzKGVjaVwwMTRlZClmKGIpbSh5KQoraSh0aGUpZiBGcyhGSUdOT1JFKWYgRnQoc2hlbGwpaCh2KS01IGIoYXJpYWJsZSk0NCBiKGNhdXNlKTExMTAKKzE3NzMgeSh3KW0ob3JkcykzMSBiKHRvKWgoYilzKGUpZihpZ25vcmVkKWgod2hlbilmKHApcyhlcmZvcm1pbmcpZih3KW0KKyhvcmQpaChjb21wbGV0aW9uKWkoZXYpbShlbilmKGlmKWcodGhlKTExMTAgMTg4MyB5KGlnbm9yZWQpMzcKK2IodyltKG9yZHMpZyhhcmUpZyh0aGUpaChvbmx5KWYocClzKG9zc2libGUpZyhjb21wbGV0aW9ucy4pNjIKK2IoU2VlKTM3IGIoU2VjdGlvbiloKDUuMikxMTEwIDE5OTMgeShbQmFzaCkyNCBiKFYpLTgKK2IoYXJpYWJsZXNdLCkyNyBiKHBhZ2UpZSg2MSwpaChmb3IpZChhKWgoZGVzY3JpcHRpb24pZyhvZilnCitGcyhGSUdOT1JFKXAgRnQoLikzNyBiKFRoaXMpMjIgYihvcHRpb24pMTExMCAyMTAyIHkoaXMpMzAKK2IoZW5hYmxlZCloKGIpbSh5KWYoZGVmYXVsdC4pNjMwIDIyNTIgeSBGcyhnbG9ic3Rhcik5NgogYiBGdChJZikzOCBiKHNldCwpaih0aGUpZShwYXR0ZXJuKWYoYClwIEZzKCoqKXAgRnQoJyloKHVzZWQpZShpbilpKGEpZgotKFwwMTRsZW5hbWUpaChleHBhbnNpb24pZihjb24pbSh0ZXh0KWood2lsbCkxMTEwIDY3NworKFwwMTRsZW5hbWUpaChleHBhbnNpb24pZihjb24pbSh0ZXh0KWood2lsbCkxMTEwIDIzNjEKIHkobWF0YyltKGgpZihhKWcoXDAxNGxlcylmKGFuZClmKHplcm8paShvcilnKG1vcmUpZihkaXJlY3RvcmllcyloKGFuZClmCi0oc3ViKXMoZGlyZWN0b3JpZXMuKTY2IGIoSWYpMTExMCA3ODcgeSh0aGUpMzAgYihwYXR0ZXJuKWcoaXMpZyhmb2xsbyltCisoc3ViKXMoZGlyZWN0b3JpZXMuKTY2IGIoSWYpMTExMCAyNDcxIHkodGhlKTMwIGIocGF0dGVybilnKGlzKWcoZm9sbG8pbQogKHcpbShlZClpKGIpbSh5KWQoYSlpKGApcCBGcygvKXAgRnQoJywpZihvbmx5KWcoZGlyZWN0b3JpZXMpaChhbmQpZgotKHN1YilzKGRpcmVjdG9yaWVzKTExMTAgODk3IHkobWF0YyltKGguKTYzMCAxMDU2IHkgRnMoZ251X2VycmZtdCkxMTEwCi0xMTY2IHkgRnQoSWYpMzUgYihzZXQsKWooc2hlbGwpZShlcnJvcilnKG1lc3NhZ2VzKWcoYXJlKWgod3JpdHRlbillKGluKQotaCh0aGUpZyhzdGFuZGFyZClmIEZsKGdudSlnIEZ0KGVycm9yKTExMTAgMTI3NSB5KG1lc3NhZ2UpYyhmb3JtYXQuKTYzMAotMTQzNSB5IEZzKGhpc3RhcHBlbmQpMTExMCAxNTQ0IHkgRnQoSWYpYyhzZXQsKWoodGhlKWUoaGlzdG9yeSlnKGxpc3QpZworKHN1YilzKGRpcmVjdG9yaWVzKTExMTAgMjU4MCB5KG1hdGMpbShoLik2MzAgMjczMCB5IEZzKGdudV9lcnJmbXQpMTExMAorMjgzOSB5IEZ0KElmKTM1IGIoc2V0LClqKHNoZWxsKWUoZXJyb3IpZyhtZXNzYWdlcylnKGFyZSloKHdyaXR0ZW4pZShpbikKK2godGhlKWcoc3RhbmRhcmQpZiBGbChnbnUpZyBGdChlcnJvcikxMTEwIDI5NDkgeShtZXNzYWdlKWMoZm9ybWF0Lik2MzAKKzMwOTggeSBGcyhoaXN0YXBwZW5kKTExMTAgMzIwOCB5IEZ0KElmKWMoc2V0LClqKHRoZSllKGhpc3RvcnkpZyhsaXN0KWcKIChpcylnKGFwcClzKGVuZGVkKWUodG8paih0aGUpZihcMDE0bGUpZyhuYW1lZClmKGIpbSh5KWgodGhlKWcodiktNQotYihhbHVlKTI5IGIob2YpMTExMCAxNjU0IHkodGhlKWQgRnMoSElTVEZJTEUpZCBGdCh2KS01CitiKGFsdWUpMjkgYihvZikxMTEwIDMzMTggeSh0aGUpZCBGcyhISVNURklMRSlkIEZ0KHYpLTUKIGIoYXJpYWJsZSkyNiBiKHdoZW4pZSh0aGUpaChzaGVsbCloKGV4aXRzLCloKHJhdGhlcillKHRoYW4paChvKW0odiltCi0oZXJ3cml0aW5nKTExMTAgMTc2MyB5KHRoZSkzMSBiKFwwMTRsZS4pNjMwIDE5MjMgeSBGcyhoaXN0cmVlZGl0KTExMTAKLTIwMzIgeSBGdChJZilpKHNldCwpaChhbmQpZihSZWFkbGluZSloKGlzKWYoYilzKGVpbmcpZyh1c2VkLClnKGEpZworKGVyd3JpdGluZykxMTEwIDM0MjcgeSh0aGUpMzEgYihcMDE0bGUuKTYzMCAzNTc3IHkgRnMoaGlzdHJlZWRpdCkxMTEwCiszNjg2IHkgRnQoSWYpaShzZXQsKWgoYW5kKWYoUmVhZGxpbmUpaChpcylmKGIpcyhlaW5nKWcodXNlZCwpZyhhKWcKICh1c2VyKWcoaXMpZyhnaXYpbShlbiloKHRoZSlnKG9wcClzKG9ydHVuaXQpbSh5KTExMTAKLTIxNDIgeSh0bylkKHJlLWVkaXQpZyhhKWcoZmFpbGVkKWcoaGlzdG9yeSlmKHN1YnN0aXR1dGlvbi4pNjMwCi0yMzAxIHkgRnMoaGlzdHZlcmlmeSkxMTEwIDI0MTEgeSBGdChJZikzNSBiKHNldCwpaShhbmQpZShSZWFkbGluZSloKGlzKQorMzc5NiB5KHRvKWQocmUtZWRpdClnKGEpZyhmYWlsZWQpZyhoaXN0b3J5KWYoc3Vic3RpdHV0aW9uLik2MzAKKzM5NDUgeSBGcyhoaXN0dmVyaWZ5KTExMTAgNDA1NSB5IEZ0KElmKTM1IGIoc2V0LClpKGFuZCllKFJlYWRsaW5lKWgoaXMpCiBmKGIpcyhlaW5nKWcodXNlZCwpaCh0aGUpZihyZXN1bHRzKWcob2YpZyhoaXN0b3J5KWgoc3Vic3RpdHUtKTExMTAKLTI1MjEgeSh0aW9uKWgoYXJlKWcobm90KWcoaW1tZWRpYXRlbHkpaChwYXNzZWQpZSh0byloKHRoZSlnKHNoZWxsKWcKLShwYXJzZXIuKTU5IGIoSW5zdGVhZCwpMzggYih0aGUpMTExMCAyNjMwIHkocmVzdWx0aW5nKWkobGluZSlmKGlzKWgKKzQxNjQgeSh0aW9uKWgoYXJlKWcobm90KWcoaW1tZWRpYXRlbHkpaChwYXNzZWQpZSh0byloKHRoZSlnKHNoZWxsKWcKKyhwYXJzZXIuKTU5IGIoSW5zdGVhZCwpMzggYih0aGUpMTExMCA0Mjc0IHkocmVzdWx0aW5nKWkobGluZSlmKGlzKWgKIChsb2FkZWQpZyhpbiltKHRvKWcodGhlKWcoUmVhZGxpbmUpZyhlZGl0aW5nKWcoYnVcMDEzZXIsKWgoYWxsbyltKHdpbmcpCi0xMTEwIDI3NDAgeShmdXJ0aGVyKTI5IGIobW8pcyhkaVwwMTRjYXRpb24uKTYzMCAyODk5Ci15IEZzKGhvc3Rjb21wbGV0ZSkxMTEwIDMwMDkgeSBGdChJZikzOCBiKHNldCwpaihhbmQpYyhSZWFkbGluZSlpKGlzKWYKKzExMTAgNDM4NCB5KGZ1cnRoZXIpMjkgYihtbylzKGRpXDAxNGNhdGlvbi4pNjMwIDQ1MzMKK3kgRnMoaG9zdGNvbXBsZXRlKTExMTAgNDY0MyB5IEZ0KElmKTM4IGIoc2V0LClqKGFuZCljKFJlYWRsaW5lKWkoaXMpZgogKGIpcyhlaW5nKWcodXNlZCwpaChCYXNoKWcod2lsbClmKGF0dGVtcHQpaCh0bylnKHApcyhlcmZvcm0pMTExMAotMzExOCB5KGhvc3RuYW1lKWQoY29tcGxldGlvbiloKHdoZW4pZShhKWgodyltKG9yZClmKGNvbiltKHRhaW5pbmcpaShhKWYKLShgKXAgRnMoQClwIEZ0KCcpZyhpcylnKGIpcyhlaW5nKWYoY29tLSkxMTEwIDMyMjggeShwbGV0ZWQpZyhcKHNlZSloCis0NzUyIHkoaG9zdG5hbWUpZChjb21wbGV0aW9uKWgod2hlbillKGEpaCh3KW0ob3JkKWYoY29uKW0odGFpbmluZylpKGEpZgorKGApcCBGcyhAKXAgRnQoJylnKGlzKWcoYilzKGVpbmcpZihjb20tKTExMTAgNDg2MiB5KHBsZXRlZClnKFwoc2VlKWgKIChTZWN0aW9uKWYoOC40LjYpaShbQ29tbWFuZHMpZChGKS04IGIob3IpMzYgYihDb21wbGV0aW9uXSwpZyhwYWdlKWcKLSgxMTBcKS4pMTExMCAzMzM3IHkoVGhpcykzMCBiKG9wdGlvbilnKGlzKWgoZW5hYmxlZClmKGIpbSh5KWcoZGVmYXVsdC4pCi02MzAgMzQ5NyB5IEZzKGh1cG9uZXhpdCkxMTEwIDM2MDYgeSBGdChJZilpKHNldCwpaShCYXNoKWYod2lsbCloKHNlbmQpZAorKDExMFwpLikxMTEwIDQ5NzEgeShUaGlzKTMwIGIob3B0aW9uKWcoaXMpaChlbmFibGVkKWYoYiltKHkpZyhkZWZhdWx0LikKKzYzMCA1MTIxIHkgRnMoaHVwb25leGl0KTExMTAgNTIzMCB5IEZ0KElmKWkoc2V0LClpKEJhc2gpZih3aWxsKWgoc2VuZClkCiBGcyhTSUdIVVApaCBGdCh0byloKGFsbCloKGpvYnMpZSh3aGVuKWcoYW4pZyhpbiltKHRlcmFjdGl2KW0oZSlrKGxvZ2luKQotMTExMCAzNzE2IHkoc2hlbGwpMzEgYihleGl0cylnKFwoc2VlKWcoU2VjdGlvbilnKDMuNy42KWgoW1NpZ25hbHNdLClnCi0ocGFnZSlmKDMzXCkuKTYzMCAzODc1IHkgRnMoaW50ZXJhY3RpdmVfY29tbWVudHMpMTExMAotMzk4NSB5IEZ0KEFsbG8pbSh3KWMoYSlnKHcpbShvcmQpZShiKXMoZWdpbm5pbmcpZyh3aXRoKWgoYClwCi1GcygjKXAgRnQoJylnKHRvKWgoY2F1c2UpZih0aGF0KWgodyltKG9yZClmKGFuZClmKGFsbClpKHJlbWFpbi0pMTExMAotNDA5NSB5KGluZyk0MSBiKGMpbShoYXJhY3RlcnMpaShvbillKHRoYXQpaChsaW5lKWcodG8pZyhiKXMoZSlmCi0oaWdub3JlZClnKGluKWcoYW4pZyhpbiltKHRlcmFjdGl2KW0oZSlqKHNoZWxsLikxMTEwCi00MjA0IHkoVGhpcykzMCBiKG9wdGlvbilnKGlzKWgoZW5hYmxlZClmKGIpbSh5KWcoZGVmYXVsdC4pNjMwCi00MzY0IHkgRnMobGl0aGlzdCkxNDQgYiBGdChJZikyMiBiKGVuYWJsZWQsKWkoYW5kKWQodGhlKWgKLUZzKGNtZGhpc3QpZSBGdChvcHRpb24paihpcylmKGVuYWJsZWQsKWkobSltKHVsdGktbGluZSlmKGNvbW1hbmRzKTExMTAKLTQ0NzMgeShhcmUpMjggYihzYSltKHYpbShlZCloKHRvKWcodGhlKWYoaGlzdG9yeSlnKHdpdGgpZihlbSltKGIpcwotKGVkZGVkKWcobmV3bGluZXMpaChyYXRoZXIpZyh0aGFuKWYodXNpbmcpMTExMCA0NTgzIHkoc2VtaWNvbG9uKTMyCi1iKHNlcGFyYXRvcnMpZih3aGVyZSllKHApcyhvc3NpYmxlLik2MzAgNDc0MiB5IEZzKGxvZ2luX3NoZWxsKTExMTAKLTQ4NTIgeSBGdChUaGUpMzUgYihzaGVsbCloKHNldHMpZyh0aGlzKWYob3B0aW9uKWgoaWYpZyhpdClnKGlzKWYKLShzdGFydGVkKWgoYXMpZyhhKWcobG9naW4pZyhzaGVsbClnKFwoc2VlKWcoU2VjLSkxMTEwCi00OTYxIHkodGlvbikyOSBiKDYuMSlnKFtJbiltKHYpbShva2luZyloKEJhc2hdLClmKHBhZ2UpZyg3MVwpLik0MQotYihUaGUpMjggYih2KS01IGIoYWx1ZSkyOSBiKG1hKW0oeSlnKG5vdClmKGIpcyhlKWcoYyltKGhhbmdlZC4pNjMwCi01MTIxIHkgRnMobWFpbHdhcm4pOTYgYiBGdChJZikzNCBiKHNldCwpaShhbmQpZShhKWgoXDAxNGxlKWcodGhhdClnCi0oQmFzaClmKGlzKWgoYyltKGhlYyltKGtpbmcpaChmb3IpZihtYWlsKWcoaGFzKWYoYilzKGVlbilnKGFjY2Vzc2VkKQotMTExMCA1MjMwIHkoc2luY2UpMjQgYih0aGUpaChsYXN0KWcodGltZSlmKGl0KWgodyltKGFzKWYoYyltKGhlYyltKGspbQotKGVkLClrKHRoZSljKG1lc3NhZ2UpaCBGcygiVGhlKWsobWFpbCloKGluKWYgRmoobWFpbC0pMTExMAotNTM0MCB5KGZpbGUpNDAgYiBGcyhoYXMpMjkgYihiZWVuKWcocmVhZCIpZyBGdChpcylpKGRpc3BsYSltKHkpbShlZC4pcAotZW9wIGVuZAorMTExMCA1MzQwIHkoc2hlbGwpMzEgYihleGl0cylnKFwoc2VlKWcoU2VjdGlvbilnKDMuNy42KWgoW1NpZ25hbHNdLClnCisocGFnZSlmKDMyXCkuKXAgZW9wIGVuZAogJSVQYWdlOiA1OCA2NAogVGVYRGljdCBiZWdpbiA1OCA2MyBib3AgMTUwIC0xMTYgYSBGdCg1OCkyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5IEZzKG5vX2VtcHR5X2NtZF9jb21wbGV0aW9uKTExMTAKLTQwOCB5IEZ0KElmKWYoc2V0LClnKGFuZClnKFJlYWRsaW5lKWcoaXMpaChiKXMoZWluZyllKHVzZWQsKWgoQmFzaClnCi0od2lsbClnKG5vdClnKGF0dGVtcHQpaSh0byllKHNlYXJjKW0oaCkxMTEwIDUxOCB5KHRoZSkyNQotYiBGcyhQQVRIKWYgRnQoZm9yKWgocClzKG9zc2libGUpZihjb21wbGV0aW9ucylqKHdoZW4pZChjb21wbGV0aW9uKWkKLShpcylmKGF0dGVtcHRlZCloKG9uKTExMTAgNjI4IHkoYW4payhlbXB0KW0oeSloKGxpbmUuKTYzMAotODIzIHkgRnMobm9jYXNlZ2xvYikxMTEwIDkzMyB5IEZ0KElmKTM4IGIoc2V0LClrKEJhc2gpZChtYXRjKW0oaGVzKWcKLShcMDE0bGVuYW1lcylnKGluKWYoYSloKGNhc2UtaW5zZW5zaXRpdiltKGUpaihmYXNoaW9uKWMod2hlbikxMTEwCi0xMDQyIHkocClzKGVyZm9ybWluZykyOSBiKFwwMTRsZW5hbWUpaShleHBhbnNpb24uKTYzMAotMTIzOCB5IEZzKG5vY2FzZW1hdGNoKTExMTAgMTM0NyB5IEZ0KElmKTQyIGIoc2V0LClrKEJhc2gpZChtYXRjKW0oaGVzKWcKLShwYXR0ZXJucylnKGluKWYoYSloKGNhc2UtaW5zZW5zaXRpdiltKGUpaShmYXNoaW9uKWQod2hlbikxMTEwCi0xNDU3IHkocClzKGVyZm9ybWluZykzMSBiKG1hdGMpbShoaW5nKWkod2hpbGUpZihleGVjdXRpbmcpaQotRnMoY2FzZSlkIEZ0KG9yKWggRnMoW1spZyBGdChjb25kaXRpb25hbCloKGNvbS0pMTExMAotMTU2NyB5KG1hbmRzLik2MzAgMTc2MiB5IEZzKG51bGxnbG9iKTk2IGIgRnQoSWYpMjMgYihzZXQsKWooQmFzaCllCi0oYWxsbyltKHdzKWcoXDAxNGxlbmFtZSlnKHBhdHRlcm5zKWcod2hpYyltKGgpZihtYXRjKW0oaCloKG5vKWcKLShcMDE0bGVzKWYodG8paShleHBhbmQpMTExMCAxODcyIHkodG8pMzEgYihhKWcobiltKHVsbClmKHN0cmluZywpaAotKHJhdGhlcilmKHRoYW4pZyh0aGVtc2VsdiltKGVzLik2MzAgMjA2NyB5IEZzKHByb2djb21wKTk2Ci1iIEZ0KElmKTI1IGIoc2V0LClpKHRoZSlmKHByb2dyYW1tYWJsZSlnKGNvbXBsZXRpb24pZyhmYWNpbGl0aWVzKWkKLShcKHNlZSlmKFNlY3Rpb24pZig4LjYpaChbUHJvLSkxMTEwIDIxNzcgeShncmFtbWFibGUpNDUKLWIoQ29tcGxldGlvbl0sKWsocGFnZSljKDExNVwpKWgoYXJlKWYoZW5hYmxlZC4pODIgYihUaGlzKTQ0Ci1iKG9wdGlvbiloKGlzKTExMTAgMjI4NiB5KGVuYWJsZWQpMzAgYihiKW0oeSloKGRlZmF1bHQuKTYzMAotMjQ4MiB5IEZzKHByb21wdHZhcnMpMTExMCAyNTkxIHkgRnQoSWYpMjQgYihzZXQsKWkocHJvbXB0KWQoc3RyaW5ncyloCi0odW5kZXJnbylmKHBhcmFtZXRlcilpKGV4cGFuc2lvbiwpZyhjb21tYW5kKWYoc3ViLSkxMTEwCi0yNzAxIHkoc3RpdHV0aW9uLCkzNCBiKGFyaXRobWV0aWMpZihleHBhbnNpb24sKWcoYW5kKWUocXVvdGUpaShyZW1vKW0KLSh2KS01IGIoYWwpMzMgYihhZnRlcilnKGIpcyhlaW5nKWUoZXgtKTExMTAgMjgxMSB5KHBhbmRlZCkzOQorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5IEZzKGludGVyYWN0aXZlX2NvbW1lbnRzKTExMTAKKzQwOCB5IEZ0KEFsbG8pbSh3KWMoYSlnKHcpbShvcmQpZShiKXMoZWdpbm5pbmcpZyh3aXRoKWgoYClwCitGcygjKXAgRnQoJylnKHRvKWgoY2F1c2UpZih0aGF0KWgodyltKG9yZClmKGFuZClmKGFsbClpKHJlbWFpbi0pMTExMAorNTE4IHkoaW5nKTQxIGIoYyltKGhhcmFjdGVycylpKG9uKWUodGhhdCloKGxpbmUpZyh0bylnKGIpcyhlKWYoaWdub3JlZCkKK2coaW4pZyhhbilnKGluKW0odGVyYWN0aXYpbShlKWooc2hlbGwuKTExMTAgNjI4IHkoVGhpcykzMAorYihvcHRpb24pZyhpcyloKGVuYWJsZWQpZihiKW0oeSlnKGRlZmF1bHQuKTYzMCA3NzcgeQorRnMobGl0aGlzdCkxNDQgYiBGdChJZikyMiBiKGVuYWJsZWQsKWkoYW5kKWQodGhlKWggRnMoY21kaGlzdCllCitGdChvcHRpb24paihpcylmKGVuYWJsZWQsKWkobSltKHVsdGktbGluZSlmKGNvbW1hbmRzKTExMTAKKzg4NyB5KGFyZSkyOCBiKHNhKW0odiltKGVkKWgodG8pZyh0aGUpZihoaXN0b3J5KWcod2l0aClmKGVtKW0oYilzCisoZWRkZWQpZyhuZXdsaW5lcyloKHJhdGhlcilnKHRoYW4pZih1c2luZykxMTEwIDk5NiB5KHNlbWljb2xvbikzMgorYihzZXBhcmF0b3JzKWYod2hlcmUpZShwKXMob3NzaWJsZS4pNjMwIDExNDYgeSBGcyhsb2dpbl9zaGVsbCkxMTEwCisxMjU1IHkgRnQoVGhlKTM1IGIoc2hlbGwpaChzZXRzKWcodGhpcylmKG9wdGlvbiloKGlmKWcoaXQpZyhpcylmCisoc3RhcnRlZCloKGFzKWcoYSlnKGxvZ2luKWcoc2hlbGwpZyhcKHNlZSlnKFNlYy0pMTExMAorMTM2NSB5KHRpb24pMjkgYig2LjEpZyhbSW4pbSh2KW0ob2tpbmcpaChCYXNoXSwpZihwYWdlKWcoNzFcKS4pNDEKK2IoVGhlKTI4IGIodiktNSBiKGFsdWUpMjkgYihtYSltKHkpZyhub3QpZihiKXMoZSlnKGMpbShoYW5nZWQuKTYzMAorMTUxNCB5IEZzKG1haWx3YXJuKTk2IGIgRnQoSWYpMzQgYihzZXQsKWkoYW5kKWUoYSloKFwwMTRsZSlnKHRoYXQpZworKEJhc2gpZihpcyloKGMpbShoZWMpbShraW5nKWgoZm9yKWYobWFpbClnKGhhcylmKGIpcyhlZW4pZyhhY2Nlc3NlZCkKKzExMTAgMTYyNCB5KHNpbmNlKTI0IGIodGhlKWgobGFzdClnKHRpbWUpZihpdCloKHcpbShhcylmKGMpbShoZWMpbShrKW0KKyhlZCwpayh0aGUpYyhtZXNzYWdlKWggRnMoIlRoZSlrKG1haWwpaChpbilmIEZpKG1haWwtKTExMTAKKzE3MzMgeShmaWxlKTQwIGIgRnMoaGFzKTI5IGIoYmVlbilnKHJlYWQiKWcgRnQoaXMpaShkaXNwbGEpbSh5KW0oZWQuKQorNjMwIDE4ODMgeSBGcyhub19lbXB0eV9jbWRfY29tcGxldGlvbikxMTEwIDE5OTMgeSBGdChJZilmKHNldCwpZyhhbmQpZworKFJlYWRsaW5lKWcoaXMpaChiKXMoZWluZyllKHVzZWQsKWgoQmFzaClnKHdpbGwpZyhub3QpZyhhdHRlbXB0KWkodG8pZQorKHNlYXJjKW0oaCkxMTEwIDIxMDIgeSh0aGUpMjUgYiBGcyhQQVRIKWYgRnQoZm9yKWgocClzKG9zc2libGUpZgorKGNvbXBsZXRpb25zKWood2hlbilkKGNvbXBsZXRpb24paShpcylmKGF0dGVtcHRlZCloKG9uKTExMTAKKzIyMTIgeShhbilrKGVtcHQpbSh5KWgobGluZS4pNjMwIDIzNjEgeSBGcyhub2Nhc2VnbG9iKTExMTAKKzI0NzEgeSBGdChJZikzOCBiKHNldCwpayhCYXNoKWQobWF0YyltKGhlcylnKFwwMTRsZW5hbWVzKWcoaW4pZihhKWgKKyhjYXNlLWluc2Vuc2l0aXYpbShlKWooZmFzaGlvbiljKHdoZW4pMTExMCAyNTgwIHkocClzKGVyZm9ybWluZykyOQorYihcMDE0bGVuYW1lKWkoZXhwYW5zaW9uLik2MzAgMjczMCB5IEZzKG5vY2FzZW1hdGNoKTExMTAKKzI4MzkgeSBGdChJZik0MiBiKHNldCwpayhCYXNoKWQobWF0YyltKGhlcylnKHBhdHRlcm5zKWcoaW4pZihhKWgKKyhjYXNlLWluc2Vuc2l0aXYpbShlKWkoZmFzaGlvbilkKHdoZW4pMTExMCAyOTQ5IHkocClzKGVyZm9ybWluZykzMQorYihtYXRjKW0oaGluZylpKHdoaWxlKWYoZXhlY3V0aW5nKWkgRnMoY2FzZSlkIEZ0KG9yKWgKK0ZzKFtbKWcgRnQoY29uZGl0aW9uYWwpaChjb20tKTExMTAgMzA1OSB5KG1hbmRzLik2MzAKKzMyMDggeSBGcyhudWxsZ2xvYik5NiBiIEZ0KElmKTIzIGIoc2V0LClqKEJhc2gpZShhbGxvKW0od3MpZworKFwwMTRsZW5hbWUpZyhwYXR0ZXJucylnKHdoaWMpbShoKWYobWF0YyltKGgpaChubylnKFwwMTRsZXMpZih0bylpCisoZXhwYW5kKTExMTAgMzMxOCB5KHRvKTMxIGIoYSlnKG4pbSh1bGwpZihzdHJpbmcsKWgocmF0aGVyKWYodGhhbilnCisodGhlbXNlbHYpbShlcy4pNjMwIDM0NjcgeSBGcyhwcm9nY29tcCk5NiBiIEZ0KElmKTI1CitiKHNldCwpaSh0aGUpZihwcm9ncmFtbWFibGUpZyhjb21wbGV0aW9uKWcoZmFjaWxpdGllcylpKFwoc2VlKWYKKyhTZWN0aW9uKWYoOC42KWgoW1Byby0pMTExMCAzNTc3IHkoZ3JhbW1hYmxlKTQ1IGIoQ29tcGxldGlvbl0sKWsocGFnZSljCisoMTE1XCkpaChhcmUpZihlbmFibGVkLik4MiBiKFRoaXMpNDQgYihvcHRpb24paChpcykxMTEwCiszNjg2IHkoZW5hYmxlZCkzMCBiKGIpbSh5KWgoZGVmYXVsdC4pNjMwIDM4MzYgeSBGcyhwcm9tcHR2YXJzKTExMTAKKzM5NDUgeSBGdChJZikyNCBiKHNldCwpaShwcm9tcHQpZChzdHJpbmdzKWgodW5kZXJnbylmKHBhcmFtZXRlcilpCisoZXhwYW5zaW9uLClnKGNvbW1hbmQpZihzdWItKTExMTAgNDA1NSB5KHN0aXR1dGlvbiwpMzQKK2IoYXJpdGhtZXRpYylmKGV4cGFuc2lvbiwpZyhhbmQpZShxdW90ZSlpKHJlbW8pbSh2KS01CitiKGFsKTMzIGIoYWZ0ZXIpZyhiKXMoZWluZyllKGV4LSkxMTEwIDQxNjQgeShwYW5kZWQpMzkKIGIoYXMpaShkZXNjcmliKXMoZWQpZShiKXMoZWxvKW0odylpKFwoc2VlKWcoU2VjdGlvbilnKDYuOSlnKFtQcmluKW0KLSh0aW5nKWcoYSlnKFByb21wdF0sKTExMTAgMjkyMCB5KHBhZ2UpMzEgYig4M1wpLik0MiBiKFRoaXMpMzAKLWIob3B0aW9uKWcoaXMpaChlbmFibGVkKWYoYiltKHkpZyhkZWZhdWx0Lik2MzAgMzExNiB5Ci1GcyhyZXN0cmljdGVkX3NoZWxsKTExMTAgMzIyNSB5IEZ0KFRoZSk0MCBiKHNoZWxsKWgoc2V0cylnKHRoaXMpZworKHRpbmcpZyhhKWcoUHJvbXB0XSwpMTExMCA0Mjc0IHkocGFnZSkzMSBiKDgyXCkuKTQyIGIoVGhpcykzMAorYihvcHRpb24pZyhpcyloKGVuYWJsZWQpZihiKW0oeSlnKGRlZmF1bHQuKTYzMCA0NDIzIHkKK0ZzKHJlc3RyaWN0ZWRfc2hlbGwpMTExMCA0NTMzIHkgRnQoVGhlKTQwIGIoc2hlbGwpaChzZXRzKWcodGhpcylnCiAob3B0aW9uKWcoaWYpZyhpdCloKGlzKWUoc3RhcnRlZClpKGluKWUocmVzdHJpY3RlZClpKG1vKXMoZGUpZShcKHNlZSkKLTExMTAgMzMzNSB5KFNlY3Rpb24pYyg2LjEwKWcoW1RoZSlmKFJlc3RyaWN0ZWQpZyhTaGVsbF0sKWkocGFnZSllCisxMTEwIDQ2NDMgeShTZWN0aW9uKWMoNi4xMClnKFtUaGUpZihSZXN0cmljdGVkKWcoU2hlbGxdLClpKHBhZ2UpZQogKDg0XCkuKTU2IGIoVGhlKTM0IGIodiktNSBiKGFsdWUpMzUgYihtYSltKHkpaChub3QpMTExMAotMzQ0NCB5KGIpcyhlKWMoYyltKGhhbmdlZC4pNDkgYihUaGlzKTMyIGIoaXMpaChub3QpaChyZXNldClmKHdoZW4pZgotKHRoZSloKHN0YXJ0dXApZyhcMDE0bGVzKWYoYXJlKWkoZXhlY3V0ZWQsKTExMTAgMzU1NAorNDc1MiB5KGIpcyhlKWMoYyltKGhhbmdlZC4pNDkgYihUaGlzKTMyIGIoaXMpaChub3QpaChyZXNldClmKHdoZW4pZgorKHRoZSloKHN0YXJ0dXApZyhcMDE0bGVzKWYoYXJlKWkoZXhlY3V0ZWQsKTExMTAgNDg2MgogeShhbGxvKW0od2luZylrKHRoZSllKHN0YXJ0dXApZihcMDE0bGVzKWgodG8pZyhkaXNjbyltKHYpbShlciloCi0od2hldGhlcilmKG9yKWYobm90KWkoYSlmKHNoZWxsKWcoaXMpZyhyZS0pMTExMCAzNjY0Ci15KHN0cmljdGVkLik2MzAgMzg1OSB5IEZzKHNoaWZ0X3ZlcmJvc2UpMTExMCAzOTY5IHkgRnQoSWYpZyh0aGlzKWcoaXMpZworKHdoZXRoZXIpZihvcilmKG5vdClpKGEpZihzaGVsbClnKGlzKWcocmUtKTExMTAgNDk3MQoreShzdHJpY3RlZC4pNjMwIDUxMjEgeSBGcyhzaGlmdF92ZXJib3NlKTExMTAgNTIzMCB5IEZ0KElmKWcodGhpcylnKGlzKWcKIChzZXQsKWoodGhlKWQgRnMoc2hpZnQpZiBGdChidWlsdGluKWgocHJpbiltKHRzKWYoYW4paChlcnJvcilnKG1lc3NhZ2UpCi1pKHdoZW4pZCh0aGUpMTExMCA0MDc4IHkoc2hpZnQpMzAgYihjb3VuKW0odCloKGV4Y2VlZHMpZyh0aGUpZyhuKW0odW0pbQotKGIpcyhlcillKG9mKWgocClzKG9zaXRpb25hbClpKHBhcmFtZXRlcnMuKTYzMCA0Mjc0IHkKLUZzKHNvdXJjZXBhdGgpMTExMCA0MzgzIHkgRnQoSWYpMjIgYihzZXQsKWoodGhlKWUgRnMoc291cmNlKWUKLUZ0KGJ1aWx0aW4paCh1c2VzKWcodGhlKWgodiktNSBiKGFsdWUpMjMgYihvZilnIEZzKFBBVEgpZQotRnQodG8paihcMDE0bmQpZCh0aGUpaChkaXJlY3RvcnkpMTExMCA0NDkzIHkoY29uKW0odGFpbmluZykyOQotYih0aGUpZShcMDE0bGUpaChzdXBwbGllZCllKGFzKWgoYW4pZyhhcmd1bWVuKW0odC4pNDAKLWIoVGhpcykyNyBiKG9wdGlvbiloKGlzKWYoZW5hYmxlZCkxMTEwIDQ2MDMgeShiKW0oeSlqKGRlZmF1bHQuKTYzMAotNDc5OCB5IEZzKHhwZ19lY2hvKTk2IGIgRnQoSWYpMzEgYihzZXQsKWgodGhlKWcgRnMoZWNobyllCi1GdChidWlsdGluKWgoZXhwYW5kcylmKGJhYyltKGtzbGFzaC1lc2NhcClzKGUpaihzZXF1ZW5jZXMpZihiKW0oeSlmCi0oZGUtKTExMTAgNDkwOCB5KGZhdWx0Lik2MzAgNTEwMyB5KFRoZSljKHJldHVybilmKHN0YXR1cylpKHdoZW4pZgotKGxpc3RpbmcpaChvcHRpb25zKWcoaXMpZih6ZXJvKWkoaWYpZShhbGwpaSBGcShvcHRuYW1lcylpCi1GdChhcmUpZChlbmFibGVkLClnKG5vbi0pNjMwIDUyMTMgeSh6ZXJvKTQwIGIob3RoZXJ3aXNlLik2NgotYihXaGVuKTM5IGIoc2V0dGluZyloKG9yKWYodW5zZXR0aW5nKWcob3B0aW9ucywpaSh0aGUpZShyZXR1cm4pZgotKHN0YXR1cyloKGlzKWcoemVybyk2MzAgNTMyMiB5KHVubGVzcykzMCBiKGFuKWcgRnEob3B0bmFtZSkzNgotYiBGdChpcykzMCBiKG5vdCloKGEpZyh2KS01IGIoYWxpZCkzMCBiKHNoZWxsKWgob3B0aW9uLilwCi1lb3AgZW5kCitpKHdoZW4pZCh0aGUpMTExMCA1MzQwIHkoc2hpZnQpMzAgYihjb3VuKW0odCloKGV4Y2VlZHMpZyh0aGUpZyhuKW0odW0pbQorKGIpcyhlcillKG9mKWgocClzKG9zaXRpb25hbClpKHBhcmFtZXRlcnMuKXAgZW9wIGVuZAogJSVQYWdlOiA1OSA2NQogVGVYRGljdCBiZWdpbiA1OSA2NCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNDopNDEKLWIoU2hlbGwpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjA2OSBiKDU5KTE1MCAyOTkgeSBGcig0LjQpNjgKLWIoU3ApdChlY2lhbCk0NSBiKEJ1aWx0aW5zKTI3NSA1NDMgeSBGdChGKS04IGIob3IpNDAKLWIoaGlzdG9yaWNhbClpKHJlYXNvbnMsKWcodGhlKWYgRmwocG9zaXgpZSBGdChzdGFuZGFyZClnKGhhcyloCi0oY2xhc3NpXDAxNGVkKWcoc2V2KW0oZXJhbClpKGJ1aWx0aW4pZChjb21tYW5kcyloKGFzKTE1MAotNjUzIHkgRm0oc3ApLTUgYihlKWcoY2lhbClwIEZ0KC4pODQgYihXaGVuKTQ0IGIoQmFzaClnKGlzKWcoZXhlY3V0aW5nKWkKLShpbilkIEZsKHBvc2l4KWggRnQobW8pcyhkZSwpaih0aGUpZShzcClzKGVjaWFsKWYoYnVpbHRpbnMpZyhkaVwwMTNlcilnCi0oZnJvbSlnKG90aGVyKTE1MCA3NjIgeShidWlsdGluKTMwIGIoY29tbWFuZHMpZyhpbilnKHRocmVlKWgocmVzcClzCi0oZWN0czopMTk5IDg5NyB5KDEuKTYxIGIoU3ApcyhlY2lhbCkzMSBiKGJ1aWx0aW5zKWUoYXJlKWkoZm91bmQpZShiKXMKLShlZm9yZSloKHNoZWxsKWgoZnVuY3Rpb25zKWYoZHVyaW5nKWYoY29tbWFuZCloKGxvKXMob2t1cC4pMTk5Ci0xMDMxIHkoMi4pNjEgYihJZikzMCBiKGEpaChzcClzKGVjaWFsKWcoYnVpbHRpbilmKHJldHVybnMpZihhbiloKGVycm9yKQotZyhzdGF0dXMsKWgoYSlnKG5vbi1pbiltKHRlcmFjdGl2KW0oZSlpKHNoZWxsKWQoZXhpdHMuKTE5OQotMTE2NiB5KDMuKTYxIGIoQXNzaWdubWVuKW0odCkzMCBiKHN0YXRlbWVuKW0odHMpaChwcmVjZWRpbmcpZih0aGUpZgotKGNvbW1hbmQpZyhzdGEpbSh5KWkoaW4pZShlXDAxM2VjdClpKGluKWUodGhlKWgoc2hlbGwpZihlbiltKHZpcm9ubWVuKW0KLSh0KTMzMCAxMjc1IHkoYWZ0ZXIpaSh0aGUpZihjb21tYW5kKWgoY29tcGxldGVzLikyNzUKLTE0MzUgeShXaGVuKTM2IGIoQmFzaClnKGlzKWgobm90KWYoZXhlY3V0aW5nKWkoaW4pZSBGbChwb3NpeClmCi1GdChtbylzKGRlLClqKHRoZXNlKWYoYnVpbHRpbnMpZihiKXMoZWhhKW0odiltKGUpaChubylmKGRpXDAxM2VyZW4pbQotKHRseSloKHRoYW4pMTUwIDE1NDQgeSh0aGUpMzEgYihyZXN0KWYob2YpaCh0aGUpZihCYXNoKWgoYnVpbHRpbillCi0oY29tbWFuZHMuKTQxIGIoVGhlKTMwIGIoQmFzaClnIEZsKHBvc2l4KWcgRnQobW8pcyhkZSlnKGlzKWcoZGVzY3JpYilzCi0oZWQpZihpbiloKFNlY3Rpb24paCg2LjExKTE1MCAxNjU0IHkoW0Jhc2gpZyhQT1NJWCllKE1vKXMoZGVdLClpKHBhZ2UpZwotKDg1LikyNzUgMTc4OCB5KFRoZXNlKWYoYXJlKWcodGhlKWggRmwocG9zaXgpZiBGdChzcClzKGVjaWFsKWgKLShidWlsdGluczopMzkwIDE5MjMgeSBGcyhicmVhayk0NiBiKDopaSguKWYoY29udGludWUpZihldmFsKWcoZXhlYyloCi0oZXhpdClnKGV4cG9ydClmKHJlYWRvbmx5KWYocmV0dXJuKWgoc2V0KTM5MCAyMDMyIHkoc2hpZnQpZyh0cmFwKWgKLSh1bnNldClwIGVvcCBlbmQKK2IoU2hlbGwpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjA2OSBiKDU5KTYzMCAyOTkgeSBGcyhzb3VyY2VwYXRoKTExMTAKKzQwOCB5IEZ0KElmKTIyIGIoc2V0LClqKHRoZSllIEZzKHNvdXJjZSllIEZ0KGJ1aWx0aW4paCh1c2VzKWcodGhlKWgodikKKy01IGIoYWx1ZSkyMyBiKG9mKWcgRnMoUEFUSCllIEZ0KHRvKWooXDAxNG5kKWQodGhlKWgoZGlyZWN0b3J5KTExMTAKKzUxOCB5KGNvbiltKHRhaW5pbmcpMjkgYih0aGUpZShcMDE0bGUpaChzdXBwbGllZCllKGFzKWgoYW4pZyhhcmd1bWVuKW0KKyh0Lik0MCBiKFRoaXMpMjcgYihvcHRpb24paChpcylmKGVuYWJsZWQpMTExMCA2MjggeShiKW0oeSlqKGRlZmF1bHQuKQorNjMwIDc4NyB5IEZzKHhwZ19lY2hvKTk2IGIgRnQoSWYpMzEgYihzZXQsKWgodGhlKWcgRnMoZWNobyllCitGdChidWlsdGluKWgoZXhwYW5kcylmKGJhYyltKGtzbGFzaC1lc2NhcClzKGUpaihzZXF1ZW5jZXMpZihiKW0oeSlmCisoZGUtKTExMTAgODk3IHkoZmF1bHQuKTYzMCAxMDU2IHkoVGhlKWMocmV0dXJuKWYoc3RhdHVzKWkod2hlbilmCisobGlzdGluZyloKG9wdGlvbnMpZyhpcylmKHplcm8paShpZillKGFsbClpIEZxKG9wdG5hbWVzKWkKK0Z0KGFyZSlkKGVuYWJsZWQsKWcobm9uLSk2MzAgMTE2NiB5KHplcm8pNDAgYihvdGhlcndpc2UuKTY2CitiKFdoZW4pMzkgYihzZXR0aW5nKWgob3IpZih1bnNldHRpbmcpZyhvcHRpb25zLClpKHRoZSllKHJldHVybilmCisoc3RhdHVzKWgoaXMpZyh6ZXJvKTYzMCAxMjc1IHkodW5sZXNzKTMwIGIoYW4pZyBGcShvcHRuYW1lKTM2CitiIEZ0KGlzKTMwIGIobm90KWgoYSlnKHYpLTUgYihhbGlkKTMwIGIoc2hlbGwpaChvcHRpb24uKTE1MAorMTUwOCB5IEZyKDQuNCk2OCBiKFNwKXQoZWNpYWwpNDUgYihCdWlsdGlucykxNTAgMTY2NworeSBGdChGKS04IGIob3IpMzUgYihoaXN0b3JpY2FsKWgocmVhc29ucywpZyh0aGUpZSBGbChwb3NpeClnCitGdChzdGFuZGFyZClmKGhhcylpKGNsYXNzaVwwMTRlZClmKHNldiltKGVyYWwpaShidWlsdGluKWUoY29tbWFuZHMpZworKGFzKWggRmsoc3ApLTUgYihlLSkxNTAgMTc3NyB5KGNpYWwpcCBGdCguKTQ3IGIoV2hlbikzMworYihCYXNoKWYoaXMpaChleGVjdXRpbmcpZyhpbilmIEZsKHBvc2l4KWcgRnQobW8pcyhkZSwpaCh0aGUpZyhzcClzCisoZWNpYWwpZyhidWlsdGlucyllKGRpXDAxM2VyKWkoZnJvbSlmKG90aGVyKWcoYnVpbHRpbikxNTAKKzE4ODYgeShjb21tYW5kcyllKGluKWcodGhyZWUpaChyZXNwKXMoZWN0czopMTk5IDIwMjEKK3koMS4pNjEgYihTcClzKGVjaWFsKTMxIGIoYnVpbHRpbnMpZShhcmUpaShmb3VuZCllKGIpcyhlZm9yZSloKHNoZWxsKWgKKyhmdW5jdGlvbnMpZihkdXJpbmcpZihjb21tYW5kKWgobG8pcyhva3VwLikxOTkgMjE1NSB5KDIuKTYxCitiKElmKTMwIGIoYSloKHNwKXMoZWNpYWwpZyhidWlsdGluKWYocmV0dXJucylmKGFuKWgoZXJyb3IpZyhzdGF0dXMsKWgKKyhhKWcobm9uLWluKW0odGVyYWN0aXYpbShlKWkoc2hlbGwpZChleGl0cy4pMTk5IDIyOTAKK3koMy4pNjEgYihBc3NpZ25tZW4pbSh0KTMwIGIoc3RhdGVtZW4pbSh0cyloKHByZWNlZGluZylmKHRoZSlmKGNvbW1hbmQpCitnKHN0YSltKHkpaShpbillKGVcMDEzZWN0KWkoaW4pZSh0aGUpaChzaGVsbClmKGVuKW0odmlyb25tZW4pbSh0KTMzMAorMjM5OSB5KGFmdGVyKWkodGhlKWYoY29tbWFuZCloKGNvbXBsZXRlcy4pMjc1IDI1NTkgeShXaGVuKTM2CitiKEJhc2gpZyhpcyloKG5vdClmKGV4ZWN1dGluZylpKGluKWUgRmwocG9zaXgpZiBGdChtbylzKGRlLClqKHRoZXNlKWYKKyhidWlsdGlucylmKGIpcyhlaGEpbSh2KW0oZSloKG5vKWYoZGlcMDEzZXJlbiltKHRseSloKHRoYW4pMTUwCisyNjY4IHkodGhlKTMxIGIocmVzdClmKG9mKWgodGhlKWYoQmFzaCloKGJ1aWx0aW4pZShjb21tYW5kcy4pNDEKK2IoVGhlKTMwIGIoQmFzaClnIEZsKHBvc2l4KWcgRnQobW8pcyhkZSlnKGlzKWcoZGVzY3JpYilzKGVkKWYoaW4paAorKFNlY3Rpb24paCg2LjExKTE1MCAyNzc4IHkoW0Jhc2gpZyhQT1NJWCllKE1vKXMoZGVdLClpKHBhZ2UpZyg4NC4pMjc1CisyOTEyIHkoVGhlc2UpZihhcmUpZyh0aGUpaCBGbChwb3NpeClmIEZ0KHNwKXMoZWNpYWwpaChidWlsdGluczopMzkwCiszMDQ3IHkgRnMoYnJlYWspNDYgYig6KWkoLilmKGNvbnRpbnVlKWYoZXZhbClnKGV4ZWMpaChleGl0KWcoZXhwb3J0KWYKKyhyZWFkb25seSlmKHJldHVybiloKHNldCkzOTAgMzE1NiB5KHNoaWZ0KWcodHJhcCloKHVuc2V0KXAKK2VvcCBlbmQKICUlUGFnZTogNjAgNjYKLVRlWERpY3QgYmVnaW4gNjAgNjUgYm9wIDE1MCAtMTE2IGEgRnQoNjApMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKXAgZW9wIGVuZAorVGVYRGljdCBiZWdpbiA2MCA2NSBib3AgZW9wIGVuZAogJSVQYWdlOiA2MSA2NwogVGVYRGljdCBiZWdpbiA2MSA2NiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNTopNDEKIGIoU2hlbGwpMzAgYihWKS04IGIoYXJpYWJsZXMpMjQ1OSBiKDYxKTE1MCAyOTkgeSBGbyg1KTgwCi1iKFNoZWxsKTUzIGIoViktMTMgYihhcmlhYmxlcykyNzUgNTI1IHkgRnQoVGhpcykzNiBiKGMpbShoYXB0ZXIpaQotKGRlc2NyaWIpcyhlcyllKHRoZSloKHNoZWxsKWcodiktNSBiKGFyaWFibGVzKTM4IGIodGhhdClnKEJhc2gpZih1c2VzLikKLTYxIGIoQmFzaCkzNyBiKGF1dG9tYXRpY2FsbHkpaihhc3NpZ25zKTE1MCA2MzUgeShkZWZhdWx0KTMxCi1iKHYpLTUgYihhbHVlcykzMCBiKHRvKWgoYSlnKG4pbSh1bSltKGIpcyhlcillKG9mKWkodiktNQotYihhcmlhYmxlcy4pMTUwIDg4NyB5IEZyKDUuMSk2OCBiKEJvdXJuZSk0NSBiKFNoZWxsKWcoViktMTEKLWIoYXJpYWJsZXMpMjc1IDExMzAgeSBGdChCYXNoKTM2IGIodXNlcylnKGNlcnRhaW4paChzaGVsbClmKHYpLTUKLWIoYXJpYWJsZXMpMzcgYihpbilmKHRoZSloKHNhbWUpZyh3KW0oYSltKHkpZyhhcylmKHRoZSloKEJvdXJuZSlmCi0oc2hlbGwuKTU5IGIoSW4pMzUgYihzb21lKWkoY2FzZXMsKTE1MCAxMjQwIHkoQmFzaCkzMQotYihhc3NpZ25zKWYoYSloKGRlZmF1bHQpZih2KS01IGIoYWx1ZSkzMSBiKHRvKWcodGhlKWcodiktNQotYihhcmlhYmxlLikxNTAgMTM5NiB5IEZzKENEUEFUSCkxOTIgYiBGdChBKTM5IGIoY29sb24tc2VwYXJhdGVkKWkobGlzdCkKLWUob2YpZyhkaXJlY3RvcmllcyloKHVzZWQpZihhcylnKGEpZyhzZWFyYyltKGgpaChwYXRoKWUoZm9yKWgodGhlKWcKLUZzKGNkKWYgRnQoYnVpbHRpbik2MzAgMTUwNSB5KGNvbW1hbmQuKTE1MCAxNjYyIHkgRnMoSE9NRSkyODgKK2IoU2hlbGwpNTMgYihWKS0xMyBiKGFyaWFibGVzKTE1MCA1NTkgeSBGdChUaGlzKTIxIGIoYyltKGhhcHRlcilpCisoZGVzY3JpYilzKGVzKWUodGhlKWkoc2hlbGwpZih2KS01IGIoYXJpYWJsZXMpMjMgYih0aGF0KWYoQmFzaCloKHVzZXMuKQorMzcgYihCYXNoKTIzIGIoYXV0b21hdGljYWxseSloKGFzc2lnbnMpZihkZWZhdWx0KTE1MAorNjY4IHkodiktNSBiKGFsdWVzKTMxIGIodG8pZyhhKWcobiltKHVtKW0oYilzKGVyKWUob2YpaCh2KS01CitiKGFyaWFibGVzLikxNTAgOTE0IHkgRnIoNS4xKTY4IGIoQm91cm5lKTQ1IGIoU2hlbGwpZyhWKS0xMQorYihhcmlhYmxlcykxNTAgMTA3MyB5IEZ0KEJhc2gpMzAgYih1c2VzKWcoY2VydGFpbiloKHNoZWxsKWcodiktNQorYihhcmlhYmxlcykzMSBiKGluKWYodGhlKWcoc2FtZSloKHcpbShhKW0oeSlnKGFzKWcodGhlKWYoQm91cm5lKWcKKyhzaGVsbC4pNDEgYihJbikzMCBiKHNvbWUpZyhjYXNlcywpaShCYXNoKTE1MCAxMTgzIHkoYXNzaWducylmKGEpZgorKGRlZmF1bHQpaCh2KS01IGIoYWx1ZSkzMSBiKHRvKWcodGhlKWYodiktNSBiKGFyaWFibGUuKTE1MAorMTM1NSB5IEZzKENEUEFUSCkxOTIgYiBGdChBKTM5IGIoY29sb24tc2VwYXJhdGVkKWkobGlzdCllKG9mKWcKKyhkaXJlY3RvcmllcyloKHVzZWQpZihhcylnKGEpZyhzZWFyYyltKGgpaChwYXRoKWUoZm9yKWgodGhlKWcKK0ZzKGNkKWYgRnQoYnVpbHRpbik2MzAgMTQ2NCB5KGNvbW1hbmQuKTE1MCAxNjMyIHkgRnMoSE9NRSkyODgKIGIgRnQoVGhlKTIzIGIoY3VycmVuKW0odCloKHVzZXIncylmKGhvbWUpZyhkaXJlY3Rvcnk7KWsodGhlKWQoZGVmYXVsdClnCiAoZm9yKWYodGhlKWggRnMoY2QpZiBGdChidWlsdGluKWcoY29tbWFuZC4pMzggYihUaGUpNjMwCi0xNzcxIHkodiktNSBiKGFsdWUpMzcgYihvZilmKHRoaXMpZyh2KS01IGIoYXJpYWJsZSkzNworMTc0MiB5KHYpLTUgYihhbHVlKTM3IGIob2YpZih0aGlzKWcodiktNSBiKGFyaWFibGUpMzcKIGIoaXMpZyhhbHNvKWcodXNlZCllKGIpbSh5KWgodGlsZGUpaChleHBhbnNpb24pZihcKHNlZSlpKFNlY3Rpb24pZgotKDMuNS4yKWgoW1RpbGRlKTYzMCAxODgxIHkoRXhwYW5zaW9uXSwpMzAgYihwYWdlKWgoMTlcKS4pMTUwCi0yMDM3IHkgRnMoSUZTKTMzNiBiIEZ0KEEpMjUgYihsaXN0KWkob2YpZShjKW0oaGFyYWN0ZXJzKWkodGhhdClmCisoMy41LjIpaChbVGlsZGUpNjMwIDE4NTIgeShFeHBhbnNpb25dLCkzMCBiKHBhZ2UpaCgxOVwpLikxNTAKKzIwMjAgeSBGcyhJRlMpMzM2IGIgRnQoQSkyNSBiKGxpc3QpaShvZillKGMpbShoYXJhY3RlcnMpaSh0aGF0KWYKIChzZXBhcmF0ZSlnKFwwMTRlbGRzOyloKHVzZWQpZSh3aGVuKWYodGhlKWkoc2hlbGwpZihzcGxpdHMpaCh3KW0ob3JkcyllCi0oYXMpaShwYXJ0KTYzMCAyMTQ3IHkob2YpMzEgYihleHBhbnNpb24uKTE1MCAyMzAzIHkgRnMoTUFJTCkyODgKKyhhcylpKHBhcnQpNjMwIDIxMjkgeShvZikzMSBiKGV4cGFuc2lvbi4pMTUwIDIyOTcgeSBGcyhNQUlMKTI4OAogYiBGdChJZikyNiBiKHRoaXMpZihwYXJhbWV0ZXIpaShpcylmKHNldClnKHRvKWgoYSlnKFwwMTRsZW5hbWUpZihhbmQpZgogKHRoZSloIEZzKE1BSUxQQVRIKWUgRnQodiktNSBiKGFyaWFibGUpMjcgYihpcylmKG5vdClnKHNldCwpaShCYXNoKTYzMAotMjQxMyB5KGluZm9ybXMpaSh0aGUpZyh1c2VyKWcob2YpZyh0aGUpaChhcnJpdiktNSBiKGFsKTMxCisyNDA3IHkoaW5mb3JtcylpKHRoZSlnKHVzZXIpZyhvZilnKHRoZSloKGFycml2KS01IGIoYWwpMzEKIGIob2YpZihtYWlsKWgoaW4pZih0aGUpaChzcClzKGVjaVwwMTRlZClmKFwwMTRsZS4pMTUwCi0yNTY5IHkgRnMoTUFJTFBBVEgpOTYgYiBGdChBKTMzIGIoY29sb24tc2VwYXJhdGVkKWkobGlzdClmKG9mKWYKKzI1NzUgeSBGcyhNQUlMUEFUSCk5NiBiIEZ0KEEpMzMgYihjb2xvbi1zZXBhcmF0ZWQpaShsaXN0KWYob2YpZgogKFwwMTRsZW5hbWVzKWgod2hpYyltKGgpZih0aGUpZyhzaGVsbClnKHApcyhlcmlvKXMoZGljYWxseSloKGMpbShoZWMpbQotKGtzKWcoZm9yKWYobmV3KTYzMCAyNjc4IHkobWFpbC4pNjAgYihFYWMpbShoKTM3IGIobGlzdClnKGVuKW0odHJ5KWcKKyhrcylnKGZvcilmKG5ldyk2MzAgMjY4NCB5KG1haWwuKTYwIGIoRWFjKW0oaCkzNyBiKGxpc3QpZyhlbiltKHRyeSlnCiAoY2FuKWcoc3ApcyhlY2lmeSlmKHRoZSloKG1lc3NhZ2UpaCh0aGF0KWYoaXMpZyhwcmluKW0odGVkKWYod2hlbilmCi0obmV3KWgobWFpbCk2MzAgMjc4OCB5KGFycml2KW0oZXMpMjkgYihpbilnKHRoZSlnKG1haWwpZyhcMDE0bGUpZyhiKW0KKyhuZXcpaChtYWlsKTYzMCAyNzk0IHkoYXJyaXYpbShlcykyOSBiKGluKWcodGhlKWcobWFpbClnKFwwMTRsZSlnKGIpbQogKHkpZyhzZXBhcmF0aW5nKWcodGhlKWcoXDAxNGxlKWcobmFtZSlnKGZyb20pZih0aGUpaChtZXNzYWdlKWgod2l0aCllCi0oYSlpKGApcCBGcyg/KXAgRnQoJy4pNjMwIDI4OTggeShXaGVuKWkodXNlZClmKGluKWgodGhlKWcodGV4dClpKG9mKWUKKyhhKWkoYClwIEZzKD8pcCBGdCgnLik2MzAgMjkwMyB5KFdoZW4paSh1c2VkKWYoaW4paCh0aGUpZyh0ZXh0KWkob2YpZQogKHRoZSlnKG1lc3NhZ2UsKWkgRnMoJF8pZSBGdChleHBhbmRzKWYodG8paSh0aGUpZihuYW1lKWcob2YpaCh0aGUpZgotKGN1cnJlbiltKHQpNjMwIDMwMDcgeShtYWlsKWYoXDAxNGxlLikxNTAgMzE2MyB5IEZzKE9QVEFSRykxOTIKKyhjdXJyZW4pbSh0KTYzMCAzMDEzIHkobWFpbClmKFwwMTRsZS4pMTUwIDMxODEgeSBGcyhPUFRBUkcpMTkyCiBiIEZ0KFRoZSkzMCBiKHYpLTUgYihhbHVlKTMxIGIob2YpZih0aGUpaChsYXN0KWcob3B0aW9uKWcoYXJndW1lbiltKHQpZwogKHBybylzKGNlc3NlZClmKGIpbSh5KWcodGhlKWcgRnMoZ2V0b3B0cylmIEZ0KGJ1aWx0aW4uKTE1MAotMzMyMCB5IEZzKE9QVElORCkxOTIgYiBGdChUaGUpMzAgYihpbmRleClnKG9mKWcodGhlKWgobGFzdClnKG9wdGlvbilnCiszMzQ5IHkgRnMoT1BUSU5EKTE5MiBiIEZ0KFRoZSkzMCBiKGluZGV4KWcob2YpZyh0aGUpaChsYXN0KWcob3B0aW9uKWcKIChhcmd1bWVuKW0odClnKHBybylzKGNlc3NlZClmKGIpbSh5KWcodGhlKWcgRnMoZ2V0b3B0cylmCi1GdChidWlsdGluLikxNTAgMzQ3NiB5IEZzKFBBVEgpMjg4IGIgRnQoQSkzMiBiKGNvbG9uLXNlcGFyYXRlZClpKGxpc3QpZgorRnQoYnVpbHRpbi4pMTUwIDM1MTcgeSBGcyhQQVRIKTI4OCBiIEZ0KEEpMzIgYihjb2xvbi1zZXBhcmF0ZWQpaShsaXN0KWYKIChvZilmKGRpcmVjdG9yaWVzKWgoaW4pZSh3aGljKW0oaCloKHRoZSlnKHNoZWxsKWcobG8pcyhva3MpaChmb3IpZgotKGNvbW1hbmRzLik0NSBiKEEpNjMwIDM1ODYgeSh6ZXJvLWxlbmd0aCllKFwobiltKHVsbFwpKWcoZGlyZWN0b3J5KWYKKyhjb21tYW5kcy4pNDUgYihBKTYzMCAzNjI2IHkoemVyby1sZW5ndGgpZShcKG4pbSh1bGxcKSlnKGRpcmVjdG9yeSlmCiAobmFtZSlnKGluKWcodGhlKWcodiktNSBiKGFsdWUpNDIgYihvZilnIEZzKFBBVEgpZiBGdChpbmRpY2F0ZXMpaSh0aGUpZgotKGN1cnJlbiltKHQpNjMwIDM2OTUgeShkaXJlY3RvcnkpLTggYiguKTQ5IGIoQSkzMyBiKG4pbSh1bGwpZgorKGN1cnJlbiltKHQpNjMwIDM3MzYgeShkaXJlY3RvcnkpLTggYiguKTQ5IGIoQSkzMyBiKG4pbSh1bGwpZgogKGRpcmVjdG9yeSlpKG5hbWUpZShtYSltKHkpaShhcHApcyhlYXIpZShhcyloKHQpbSh3KW0obyloKGFkamFjZW4pbSh0KWcKLShjb2xvbnMsKWcob3IpZihhcylnKGFuKTYzMCAzODA1IHkoaW5pdGlhbClmKG9yKWUodHJhaWxpbmcpaChjb2xvbi4pMTUwCi0zOTYxIHkgRnMoUFMxKTMzNiBiIEZ0KFRoZSkzNSBiKHByaW1hcnkpZihwcm9tcHQpaChzdHJpbmcuKTU1CisoY29sb25zLClnKG9yKWYoYXMpZyhhbik2MzAgMzg0NiB5KGluaXRpYWwpZihvcillKHRyYWlsaW5nKWgoY29sb24uKTE1MAorNDAxNCB5IEZzKFBTMSkzMzYgYiBGdChUaGUpMzUgYihwcmltYXJ5KWYocHJvbXB0KWgoc3RyaW5nLik1NQogYihUaGUpMzUgYihkZWZhdWx0KWgodiktNSBiKGFsdWUpMzUgYihpcyloKGApcCBGcyhcXHMtXFx2XFwkKTI4Ci1iIEZ0KCcuKTU2IGIoU2VlKTM2IGIoU2VjdGlvbilnKDYuOSk2MzAgNDA3MSB5KFtQcmluKW0odGluZykyOAotYihhKWcoUHJvbXB0XSwpZyhwYWdlKWgoODMsKWcoZm9yKWUodGhlKWgoY29tcGxldGUpaChsaXN0KWcob2YpZShlc2NhcCkKLXMoZSloKHNlcXVlbmNlcylnKHRoYXQpaChhcmUpNjMwIDQxODAgeShleHBhbmRlZCloKGIpcyhlZm9yZSlnCi1GcyhQUzEpZiBGdChpcyloKGRpc3BsYSltKHkpbShlZC4pMTUwIDQzMzYgeSBGcyhQUzIpMzM2CitiIEZ0KCcuKTU2IGIoU2VlKTM2IGIoU2VjdGlvbilnKDYuOSk2MzAgNDEyMyB5KFtQcmluKW0odGluZykyOAorYihhKWcoUHJvbXB0XSwpZyhwYWdlKWgoODIsKWcoZm9yKWUodGhlKWgoY29tcGxldGUpaChsaXN0KWcob2YpZShlc2NhcCkKK3MoZSloKHNlcXVlbmNlcylnKHRoYXQpaChhcmUpNjMwIDQyMzMgeShleHBhbmRlZCloKGIpcyhlZm9yZSlnCitGcyhQUzEpZiBGdChpcyloKGRpc3BsYSltKHkpbShlZC4pMTUwIDQ0MDEgeSBGcyhQUzIpMzM2CiBiIEZ0KFRoZSkzMCBiKHNlY29uZGFyeSlnKHByb21wdClnKHN0cmluZy4pNDEgYihUaGUpMjkKIGIoZGVmYXVsdClpKHYpLTUgYihhbHVlKTMxIGIoaXMpZihgKXAgRnMoPilnIEZ0KCcuKTE1MAotNDU4OSB5IEZyKDUuMik2OCBiKEJhc2gpNDUgYihWKS0xMSBiKGFyaWFibGVzKTI3NSA0ODMyCi15IEZ0KFRoZXNlKTM2IGIodiktNSBiKGFyaWFibGVzKTM4IGIoYXJlKWcoc2V0KWYob3IpaCh1c2VkKWUoYiltKHkpaAotKEJhc2gsKWkoYnV0KWQob3RoZXIpaShzaGVsbHMpZihkbylnKG5vdClnKG5vcm1hbGx5KWgodHJlYXQpZyh0aGVtKTE1MAotNDk0MSB5KHNwKXMoZWNpYWxseSktOCBiKC4pMjc1IDUwNzQgeShBKTI0IGIoZmV3KWcodiktNQotYihhcmlhYmxlcykyNCBiKHVzZWQpZyhiKW0oeSlmKEJhc2gpaShhcmUpZihkZXNjcmliKXMoZWQpZihpbiloCi0oZGlcMDEzZXJlbiltKHQpZyhjKW0oaGFwdGVyczopMzggYih2KS01IGIoYXJpYWJsZXMpMjUKLWIoZm9yKWYoY29uKW0odHJvbGxpbmcpMTUwIDUxODQgeSh0aGUpMzEgYihqb2IpZihjb24pbSh0cm9sKWgKKzQ2NDYgeSBGcig1LjIpNjggYihCYXNoKTQ1IGIoViktMTEgYihhcmlhYmxlcykxNTAgNDgwNQoreSBGdChUaGVzZSk0NSBiKHYpLTUgYihhcmlhYmxlcyk0NiBiKGFyZSlnKHNldClnKG9yKWYodXNlZClmKGIpbSh5KWgKKyhCYXNoLCk1MCBiKGJ1dCk0NCBiKG90aGVyKWkoc2hlbGxzKWYoZG8paChub3QpZihub3JtYWxseSloKHRyZWF0KWcKKyh0aGVtKTE1MCA0OTE1IHkoc3ApcyhlY2lhbGx5KS04IGIoLikyNzUgNTA1OCB5KEEpMjQKK2IoZmV3KWcodiktNSBiKGFyaWFibGVzKTI0IGIodXNlZClnKGIpbSh5KWYoQmFzaClpKGFyZSlmKGRlc2NyaWIpcyhlZClmCisoaW4paChkaVwwMTNlcmVuKW0odClnKGMpbShoYXB0ZXJzOikzOCBiKHYpLTUgYihhcmlhYmxlcykyNQorYihmb3IpZihjb24pbSh0cm9sbGluZykxNTAgNTE2OCB5KHRoZSkzMSBiKGpvYilmKGNvbiltKHRyb2wpaAogKGZhY2lsaXRpZXMpaShcKHNlZSllKFNlY3Rpb24pZyg3LjMpaChbSm9iKWUoQ29uKW0odHJvbCloKFYpLTgKIGIoYXJpYWJsZXNdLCkzMiBiKHBhZ2UpZyg5MlwpLikxNTAgNTM0MCB5IEZzKEJBU0gpMjg4CiBiIEZ0KFRoZSkzMCBiKGZ1bGwpZyhwYXRobmFtZSlnKHVzZWQpZyh0byloKGV4ZWN1dGUpaCh0aGUpZShjdXJyZW4pbSh0KQogZyhpbnN0YW5jZSloKG9mKWcoQmFzaC4pcCBlb3AgZW5kCiAlJVBhZ2U6IDYyIDY4CiBUZVhEaWN0IGJlZ2luIDYyIDY3IGJvcCAxNTAgLTExNiBhIEZ0KDYyKTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRnMoQkFTSFBJRCkxNDQgYiBGdChFeHBhbmRzKTM2Ci1iKHRvKWoodGhlKWYocHJvKXMoY2VzcylnKGlkKWYob2YpaCh0aGUpZyhjdXJyZW4pbSh0KWcoQmFzaClnKHBybylzCi0oY2Vzcy4pNjMgYihUaGlzKTM3IGIoZGlcMDEzZXJzKWcoZnJvbSloIEZzKCQkKTYzMCA0MDgKLXkgRnQodW5kZXIpMzEgYihjZXJ0YWluKWooY2lyY3Vtc3RhbmNlcywpaChzdWMpbShoKWUoYXMpZyhzdWJzaGVsbHMpZgotKHRoYXQpaShkbylmKG5vdClnKHJlcXVpcmUpZyhCYXNoKWcodG8paChiKXMoZSk2MzAgNTE4Ci15KHJlLWluaXRpYWxpemVkLikxNTAgNjgyIHkgRnMoQkFTSF9BTElBU0VTKTYzMCA3OTIgeQotRnQoQW4pNDAgYihhc3NvKXMoY2lhdGl2KW0oZSlqKGFycmEpbSh5KWQodiktNSBiKGFyaWFibGUpNDEKLWIod2hvc2UpZihtZW0pbShiKXMoZXJzKWYoY29ycmVzcClzKG9uZClnKHRvKWkodGhlKWYoaW4pbSh0ZXJuYWwpaAotKGxpc3QpNjMwIDkwMiB5KG9mKWcoYWxpYXNlcyloKGFzKWYobWFpbiltKHRhaW5lZClnKGIpbSh5KWcodGhlKWYKLUZzKGFsaWFzKWcgRnQoYnVpbHRpbilnKFwoc2VlKWgoU2VjdGlvbiloKDQuMSlmKFtCb3VybmUpZyhTaGVsbCk2MzAKLTEwMTEgeShCdWlsdGluc10sKTM2IGIocGFnZSllKDM1XCkuKTUzIGIoRWxlbWVuKW0odHMpMzUKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcyhCQVNIT1BUUyk5NiBiIEZ0KEEpMzEKK2IoY29sb24tc2VwYXJhdGVkKWgobGlzdClmKG9mKWcoZW5hYmxlZClmKHNoZWxsKWgob3B0aW9ucy4pNDEKK2IoRWFjKW0oaCkzMSBiKHcpbShvcmQpZihpbilnKHRoZSloKGxpc3QpZyhpcylnKGEpZyh2KS01CitiKGFsaWQpNjMwIDQwOCB5KGFyZ3VtZW4pbSh0KTMzIGIoZm9yKWcodGhlKWYoYClwIEZzKC1zKXAKK0Z0KCcpaChvcHRpb24pZyh0bylnKHRoZSlnIEZzKHNob3B0KWUgRnQoYnVpbHRpbilpKGNvbW1hbmQpZihcKHNlZSlpCisoU2VjdGlvbilmKDQuMy4yKTYzMCA1MTggeShbVGhlKWooU2hvcHQpZyhCdWlsdGluXSwpaShwYWdlKWYoNTVcKS4pNjAKK2IoVGhlKTM2IGIob3B0aW9ucyloKGFwcClzKGVhcmluZylmKGluKWcgRnMoQkFTSE9QVFMpZQorRnQoYXJlKWkodGhvc2UpNjMwIDYyOCB5KHJlcClzKG9ydGVkKWUoYXMpaChgKXAgRnMob24pcAorRnQoJylmKGIpbSh5KWgoYClwIEZzKHNob3B0KXAgRnQoJy4pNTMgYihJZikzNCBiKHRoaXMpZyh2KS01CitiKGFyaWFibGUpMzYgYihpcylmKGluKWYodGhlKWgoZW4pbSh2aXJvbm1lbiltKHQpZyh3aGVuKWYoQmFzaCk2MzAKKzczNyB5KHN0YXJ0cykyNSBiKHVwLClmKGVhYyltKGgpaShzaGVsbCllKG9wdGlvbiloKGluKWUodGhlKWkobGlzdClnCisod2lsbClmKGIpcyhlKWcoZW5hYmxlZClnKGIpcyhlZm9yZSlnKHJlYWRpbmcpZyhhbiltKHkpZyhzdGFydHVwKTYzMAorODQ3IHkoXDAxNGxlcy4pNDEgYihUaGlzKTI5IGIodiktNSBiKGFyaWFibGUpMzEgYihpcylnKHJlYWRvbmx5KS04CitiKC4pMTUwIDk5OCB5IEZzKEJBU0hQSUQpMTQ0IGIgRnQoRXhwYW5kcykzNiBiKHRvKWoodGhlKWYocHJvKXMoY2VzcylnCisoaWQpZihvZiloKHRoZSlnKGN1cnJlbiltKHQpZyhCYXNoKWcocHJvKXMoY2Vzcy4pNjMgYihUaGlzKTM3CitiKGRpXDAxM2VycylnKGZyb20paCBGcygkJCk2MzAgMTEwNyB5IEZ0KHVuZGVyKTMxIGIoY2VydGFpbilqCisoY2lyY3Vtc3RhbmNlcywpaChzdWMpbShoKWUoYXMpZyhzdWJzaGVsbHMpZih0aGF0KWkoZG8pZihub3QpZyhyZXF1aXJlKQorZyhCYXNoKWcodG8paChiKXMoZSk2MzAgMTIxNyB5KHJlLWluaXRpYWxpemVkLikxNTAgMTM2NworeSBGcyhCQVNIX0FMSUFTRVMpNjMwIDE0NzcgeSBGdChBbik0MCBiKGFzc28pcyhjaWF0aXYpbShlKWooYXJyYSltKHkpZAorKHYpLTUgYihhcmlhYmxlKTQxIGIod2hvc2UpZihtZW0pbShiKXMoZXJzKWYoY29ycmVzcClzKG9uZClnKHRvKWkodGhlKWYKKyhpbiltKHRlcm5hbCloKGxpc3QpNjMwIDE1ODcgeShvZilnKGFsaWFzZXMpaChhcylmKG1haW4pbSh0YWluZWQpZyhiKW0KKyh5KWcodGhlKWYgRnMoYWxpYXMpZyBGdChidWlsdGluKWcoXChzZWUpaChTZWN0aW9uKWgoNC4xKWYoW0JvdXJuZSlnCisoU2hlbGwpNjMwIDE2OTYgeShCdWlsdGluc10sKTM2IGIocGFnZSllKDM1XCkuKTUzIGIoRWxlbWVuKW0odHMpMzUKIGIoYWRkZWQpZSh0bylpKHRoaXMpZShhcnJhKW0oeSlpKGFwcClzKGVhcillKGluKWgodGhlKWcoYWxpYXMpaChsaXN0OylpCi0odW4tKTYzMCAxMTIxIHkoc2V0dGluZykzMSBiKGFycmEpbSh5KWcoZWxlbWVuKW0odHMpaChjYXVzZSlmKGFsaWFzZXMpaAorKHVuLSk2MzAgMTgwNiB5KHNldHRpbmcpMzEgYihhcnJhKW0oeSlnKGVsZW1lbiltKHRzKWgoY2F1c2UpZihhbGlhc2VzKWgKICh0bylmKGIpcyhlKWYocmVtbyltKHYpbShlZCloKGZyb20pZih0aGUpaChhbGlhcylnKGxpc3QuKTE1MAotMTI4NSB5IEZzKEJBU0hfQVJHQyk2MzAgMTM5NSB5IEZ0KEFuKWYoYXJyYSltKHkpaCh2KS01CisxOTU2IHkgRnMoQkFTSF9BUkdDKTYzMCAyMDY2IHkgRnQoQW4pZihhcnJhKW0oeSloKHYpLTUKIGIoYXJpYWJsZSkzMSBiKHdob3NlKWYodiktNSBiKGFsdWVzKTMxIGIoYXJlKWcodGhlKWYobiltKHVtKW0oYilzKGVyKWcKLShvZilnKHBhcmFtZXRlcnMpaChpbilmKGVhYyltKGgpaChmcmFtZSlnKG9mKTYzMCAxNTA0Cisob2YpZyhwYXJhbWV0ZXJzKWgoaW4pZihlYWMpbShoKWgoZnJhbWUpZyhvZik2MzAgMjE3NgogeSh0aGUpMjYgYihjdXJyZW4pbSh0KWYoYmFzaClnKGV4ZWN1dGlvbilpKGNhbGwpZyhzdGFjKW0oay4pNDEKIGIoVGhlKTI1IGIobiltKHVtKW0oYilzKGVyKWcob2YpaChwYXJhbWV0ZXJzKWcodG8pZyh0aGUpZyhjdXJyZW4pbSh0KQotNjMwIDE2MTQgeShzdWJyb3V0aW5lKWkoXChzaGVsbClpKGZ1bmN0aW9uKWcob3IpZihzY3JpcHQpZyhleGVjdXRlZClpCis2MzAgMjI4NSB5KHN1YnJvdXRpbmUpaShcKHNoZWxsKWkoZnVuY3Rpb24pZyhvcilmKHNjcmlwdClnKGV4ZWN1dGVkKWkKICh3aXRoKWUgRnMoLilnIEZ0KG9yKWggRnMoc291cmNlKXAgRnQoXCkpZShpcyloKGF0KWgodGhlKWcodG9wKWcob2YpNjMwCi0xNzI0IHkodGhlKTM3IGIoc3RhYyltKGsuKTYzIGIoV2hlbikzNyBiKGEpaChzdWJyb3V0aW5lKWUoaXMpaAorMjM5NSB5KHRoZSkzNyBiKHN0YWMpbShrLik2MyBiKFdoZW4pMzcgYihhKWgoc3Vicm91dGluZSllKGlzKWgKIChleGVjdXRlZCwpaih0aGUpZShuKW0odW0pbShiKXMoZXIpZChvZilqKHBhcmFtZXRlcnMpZihwYXNzZWQpNjMwCi0xODMzIHkoaXMpZyhwdXNoZWQpZihvbiltKHRvKWkgRnMoQkFTSF9BUkdDKXAgRnQoLik1OQorMjUwNCB5KGlzKWcocHVzaGVkKWYob24pbSh0bylpIEZzKEJBU0hfQVJHQylwIEZ0KC4pNTkKIGIoVGhlKTM3IGIoc2hlbGwpZyhzZXRzKWggRnMoQkFTSF9BUkdDKWMgRnQob25seSlrKHdoZW4pZShpbiloCi0oZXh0ZW5kZWQpNjMwIDE5NDMgeShkZWJ1Z2dpbmcpMjMgYihtbylzKGRlKWYoXChzZWUpaChTZWN0aW9uKWcoNC4zLjIpaQotKFtUaGUpZChTaG9wdClnKEJ1aWx0aW5dLClqKHBhZ2UpZSg1NCloKGZvcillKGEpaChkZXNjcmlwdGlvbik2MzAKLTIwNTIgeShvZikzMSBiKHRoZSlmIEZzKGV4dGRlYnVnKWUgRnQob3B0aW9uKWoodG8pZyh0aGUpZwotRnMoc2hvcHQpZSBGdChidWlsdGluXCkuKTE1MCAyMjE3IHkgRnMoQkFTSF9BUkdWKTYzMAotMjMyNiB5IEZ0KEFuKTI0IGIoYXJyYSltKHkpZyh2KS01IGIoYXJpYWJsZSkyNSBiKGNvbiltKHRhaW5pbmcpaChhbGwpZgorKGV4dGVuZGVkKTYzMCAyNjE0IHkoZGVidWdnaW5nKTIzIGIobW8pcyhkZSlmKFwoc2VlKWgoU2VjdGlvbilnKDQuMy4yKWkKKyhbVGhlKWQoU2hvcHQpZyhCdWlsdGluXSwpaihwYWdlKWUoNTUpaChmb3IpZShhKWgoZGVzY3JpcHRpb24pNjMwCisyNzI0IHkob2YpMzEgYih0aGUpZiBGcyhleHRkZWJ1ZyllIEZ0KG9wdGlvbilqKHRvKWcodGhlKWcKK0ZzKHNob3B0KWUgRnQoYnVpbHRpblwpLikxNTAgMjg3NCB5IEZzKEJBU0hfQVJHVik2MzAKKzI5ODQgeSBGdChBbikyNCBiKGFycmEpbSh5KWcodiktNSBiKGFyaWFibGUpMjUgYihjb24pbSh0YWluaW5nKWgoYWxsKWYKIChvZilmKHRoZSloKHBhcmFtZXRlcnMpZihpbilnKHRoZSlnKGN1cnJlbiltKHQpZyhiYXNoKWcoZXhlY3V0aW9uKTYzMAotMjQzNiB5KGNhbGwpMzUgYihzdGFjKW0oay4pNTMgYihUaGUpMzQgYihcMDE0bmFsKWcocGFyYW1ldGVyKWcob2YpZworMzA5MyB5KGNhbGwpMzUgYihzdGFjKW0oay4pNTMgYihUaGUpMzQgYihcMDE0bmFsKWcocGFyYW1ldGVyKWcob2YpZwogKHRoZSlnKGxhc3QpaChzdWJyb3V0aW5lKWUoY2FsbClpKGlzKWYoYXQpaCh0aGUpZih0b3ApaChvZilmKHRoZSk2MzAKLTI1NDUgeShzdGFjKW0oazspMjggYih0aGUpYyhcMDE0cnN0KWYocGFyYW1ldGVyKWkob2YpZih0aGUpZyhpbml0aWFsKWkKKzMyMDMgeShzdGFjKW0oazspMjggYih0aGUpYyhcMDE0cnN0KWYocGFyYW1ldGVyKWkob2YpZih0aGUpZyhpbml0aWFsKWkKIChjYWxsKWYoaXMpZihhdCloKHRoZSlmKGIpcyhvdHRvbS4pMzkgYihXaGVuKTI0IGIoYSlnKHN1YnJvdXRpbmUpNjMwCi0yNjU1IHkoaXMpNDAgYihleGVjdXRlZCwpaih0aGUpZChwYXJhbWV0ZXJzKWgoc3VwcGxpZWQpZChhcmUpaShwdXNoZWQpZgorMzMxMyB5KGlzKTQwIGIoZXhlY3V0ZWQsKWoodGhlKWQocGFyYW1ldGVycyloKHN1cHBsaWVkKWQoYXJlKWkocHVzaGVkKWYKIChvbiltKHRvKWkgRnMoQkFTSF9BUkdWKXAgRnQoLik2NiBiKFRoZSk0MCBiKHNoZWxsKTYzMAotMjc2NSB5KHNldHMpMjggYiBGcyhCQVNIX0FSR1YpZSBGdChvbmx5KWkod2hlbilmKGluKWgoZXh0ZW5kZWQpZworMzQyMiB5KHNldHMpMjggYiBGcyhCQVNIX0FSR1YpZSBGdChvbmx5KWkod2hlbilmKGluKWgoZXh0ZW5kZWQpZwogKGRlYnVnZ2luZylnKG1vKXMoZGUpZyhcKHNlZSloKFNlY3Rpb24pZig0LjMuMilpKFtUaGUpNjMwCi0yODc0IHkoU2hvcHQpaShCdWlsdGluXSwpaChwYWdlKWcoNTQpZyhmb3IpZihhKWgoZGVzY3JpcHRpb24pZihvZiloCiszNTMyIHkoU2hvcHQpaShCdWlsdGluXSwpaChwYWdlKWcoNTUpZyhmb3IpZihhKWgoZGVzY3JpcHRpb24pZihvZiloCiAodGhlKWYgRnMoZXh0ZGVidWcpZSBGdChvcHRpb24paih0bylnKHRoZSlmIEZzKHNob3B0KTYzMAotMjk4NCB5IEZ0KGJ1aWx0aW5cKS4pMTUwIDMxNDggeSBGcyhCQVNIX0NNRFMpNjMwIDMyNTgKKzM2NDEgeSBGdChidWlsdGluXCkuKTE1MCAzNzkyIHkgRnMoQkFTSF9DTURTKTYzMCAzOTAyCiB5IEZ0KEFuKWkoYXNzbylzKGNpYXRpdiltKGUpaShhcnJhKW0oeSlmKHYpLTUgYihhcmlhYmxlKTM1CiBiKHdob3NlKWYobWVtKW0oYilzKGVycylmKGNvcnJlc3ApcyhvbmQpZyh0bylpKHRoZSlmKGluKW0odGVybmFsKWgKLShoYXNoKTYzMCAzMzY3IHkodGFibGUpYyhvZilnKGNvbW1hbmRzKWYoYXMpZyhtYWluKW0odGFpbmVkKWgoYiltKHkpZworKGhhc2gpNjMwIDQwMTEgeSh0YWJsZSljKG9mKWcoY29tbWFuZHMpZihhcylnKG1haW4pbSh0YWluZWQpaChiKW0oeSlnCiAodGhlKWYgRnMoaGFzaClmIEZ0KGJ1aWx0aW4paChcKHNlZSloKFNlY3Rpb24pZyg0LjEpaChbQm91cm5lKTYzMAotMzQ3NyB5KFNoZWxsKTIzIGIoQnVpbHRpbnNdLClqKHBhZ2UpZSgzNVwpLik0MCBiKEVsZW1lbiltKHRzKTI0Cis0MTIxIHkoU2hlbGwpMjMgYihCdWlsdGluc10sKWoocGFnZSllKDM1XCkuKTQwIGIoRWxlbWVuKW0odHMpMjQKIGIoYWRkZWQpZSh0bylqKHRoaXMpZShhcnJhKW0oeSloKGFwcClzKGVhcillKGluKWkodGhlKWYoaGFzaClnKHRhYmxlOykKLTYzMCAzNTg3IHkodW5zZXR0aW5nKTMwIGIoYXJyYSltKHkpaChlbGVtZW4pbSh0cyloKGNhdXNlKWYoY29tbWFuZHMpZgorNjMwIDQyMzAgeSh1bnNldHRpbmcpMzAgYihhcnJhKW0oeSloKGVsZW1lbiltKHRzKWgoY2F1c2UpZihjb21tYW5kcylmCiAodG8paChiKXMoZSlmKHJlbW8pbSh2KW0oZWQpaChmcm9tKWYodGhlKWgoaGFzaCllKHRhYmxlLikxNTAKLTM3NTEgeSBGcyhCQVNIX0NPTU1BTkQpNjMwIDM4NjEgeSBGdChUaGUpMzkgYihjb21tYW5kKWgoY3VycmVuKW0odGx5KWcKKzQzODEgeSBGcyhCQVNIX0NPTU1BTkQpNjMwIDQ0OTEgeSBGdChUaGUpMzkgYihjb21tYW5kKWgoY3VycmVuKW0odGx5KWcKIChiKXMoZWluZylmKGV4ZWN1dGVkKWkob3IpZShhYilzKG91dCloKHRvKWcoYilzKGUpZihleGVjdXRlZCwpNDQKLWIodW5sZXNzKTM5IGIodGhlKTYzMCAzOTcwIHkoc2hlbGwpZyhpcylnKGV4ZWN1dGluZylnKGEpZyhjb21tYW5kKWcoYXMpCitiKHVubGVzcykzOSBiKHRoZSk2MzAgNDYwMCB5KHNoZWxsKWcoaXMpZyhleGVjdXRpbmcpZyhhKWcoY29tbWFuZClnKGFzKQogZyh0aGUpZihyZXN1bHQpaChvZilnKGEpZyh0cmFwLClpKGluKWQod2hpYyltKGgpZyhjYXNlKWkoaXQpZihpcylnKHRoZSkKLTYzMCA0MDgwIHkoY29tbWFuZCkzMCBiKGV4ZWN1dGluZylpKGF0KWYodGhlKWYodGltZSloKG9mKWcodGhlKWcodHJhcC4pCi0xNTAgNDI0NCB5IEZzKEJBU0hfRU5WKTk2IGIgRnQoSWYpMjggYih0aGlzKWcodiktNSBiKGFyaWFibGUpMzAKKzYzMCA0NzEwIHkoY29tbWFuZCkzMCBiKGV4ZWN1dGluZylpKGF0KWYodGhlKWYodGltZSloKG9mKWcodGhlKWcodHJhcC4pCisxNTAgNDg2MSB5IEZzKEJBU0hfRU5WKTk2IGIgRnQoSWYpMjggYih0aGlzKWcodiktNSBiKGFyaWFibGUpMzAKIGIoaXMpZShzZXQpaCh3aGVuKWYoQmFzaClnKGlzKWgoaW4pbSh2KW0ob2spbShlZCloKHRvKWYoZXhlY3V0ZSloKGEpZQotKHNoZWxsKWgoc2NyaXB0LClnKGl0cylnKHYpLTUgYihhbHVlKTI5IGIoaXMpNjMwIDQzNTQKKyhzaGVsbCloKHNjcmlwdCwpZyhpdHMpZyh2KS01IGIoYWx1ZSkyOSBiKGlzKTYzMCA0OTcwCiB5KGV4cGFuZGVkKWsoYW5kKWgodXNlZClnKGFzKWcodGhlKWgobmFtZSlmKG9mKWcoYSloKHN0YXJ0dXApZihcMDE0bGUpZwotKHRvKWgocmVhZClmKGIpcyhlZm9yZSlnKGV4ZWN1dGluZylpKHRoZSk2MzAgNDQ2MyB5KHNjcmlwdC4pNDEKKyh0byloKHJlYWQpZihiKXMoZWZvcmUpZyhleGVjdXRpbmcpaSh0aGUpNjMwIDUwODAgeShzY3JpcHQuKTQxCiBiKFNlZSkzMCBiKFNlY3Rpb24paCg2LjIpaChbQmFzaClmKFN0YXJ0dXApZShGaWxlc10sKWoocGFnZSlmKDczLikxNTAKLTQ2MjggeSBGcyhCQVNIX0VYRUNVVElPTl9TVFJJTkcpNjMwIDQ3MzcgeSBGdChUaGUpZihjb21tYW5kKWcoYXJndW1lbiltCi0odCloKHRvKWcodGhlKWcoYClwIEZzKC1jKXAgRnQoJylmKGluKW0odiltKG8pcyhjYXRpb24paShvcHRpb24uKTE1MAotNDkwMiB5IEZzKEJBU0hfTElORU5PKTYzMCA1MDExIHkgRnQoQW4pMzggYihhcnJhKW0oeSloKHYpLTUKLWIoYXJpYWJsZSkzOSBiKHdob3NlKWcobWVtKW0oYilzKGVycyllKGFyZSlpKHRoZSlnKGxpbmUpZyhuKW0odW0pbShiKXMKLShlcnMpZShpbiloKHNvdXJjZSloKFwwMTRsZXMpZihjb3JyZS0pNjMwIDUxMjEgeShzcClzKG9uZGluZyloKHRvKWkKLShlYWMpbShoKWcobWVtKW0oYilzKGVyKWUob2YpaSBGcShGVU5DTkFNRSlwIEZ0KC4pZyBGcwotKCR7QkFTSF9MSU5FTk9bJGldfSkzNSBiIEZ0KGlzKTQwIGIodGhlKWgobGluZSk2MzAgNTIzMAoteShuKW0odW0pbShiKXMoZXIpNDcgYihpbiloKHRoZSlnKHNvdXJjZSloKFwwMTRsZSlmKHdoZXJlKWcKLUZzKCR7RlVOQ05BTUVbJGldfSljIEZ0KHcpbShhcyk0OSBiKGNhbGxlZClnKFwob3IpZyBGcygke0JBU0hfKTYzMAotNTM0MCB5KExJTkVOT1skaS0xXX0pMjIgYiBGdChpZilqKHJlZmVyZW5jZWQpZyh3aXRoaW4pZihhbm90aGVyKWkKLShzaGVsbClmKGZ1bmN0aW9uXCkuKTM5IGIoVGhlKTI1IGIoY29ycmVzcClzKG9uZGluZylwCis1MjMwIHkgRnMoQkFTSF9FWEVDVVRJT05fU1RSSU5HKTYzMCA1MzQwIHkgRnQoVGhlKWYoY29tbWFuZClnKGFyZ3VtZW4pbQorKHQpaCh0bylnKHRoZSlnKGApcCBGcygtYylwIEZ0KCcpZihpbiltKHYpbShvKXMoY2F0aW9uKWkob3B0aW9uLilwCiBlb3AgZW5kCiAlJVBhZ2U6IDYzIDY5CiBUZVhEaWN0IGJlZ2luIDYzIDY4IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig1Oik0MQotYihTaGVsbCkzMCBiKFYpLTggYihhcmlhYmxlcykyNDU5IGIoNjMpNjMwIDI5OSB5KHNvdXJjZSkyNAotYihcMDE0bGUpaChuYW1lKWYoaXMpZyBGcygke0JBU0hfU09VUkNFWyRpXX0pcCBGdCguKTM0Ci1iKFVzZSkyNSBiIEZzKExJTkVOTylkIEZ0KHRvKWoob2J0YWluKWcodGhlKWcoY3VycmVuKW0odClmKGxpbmUpNjMwCi00MDggeShuKW0odW0pbShiKXMoZXIuKTE1MCA1ODEgeSBGcyhCQVNIX1JFTUFUQ0gpNjMwCi02OTEgeSBGdChBbik0MyBiKGFycmEpbSh5KWkodiktNSBiKGFyaWFibGUpNDQgYih3aG9zZSlnKG1lbSltKGIpcyhlcnMpZgotKGFyZSloKGFzc2lnbmVkKWcoYiltKHkpZih0aGUpaChgKXAgRnMoPX4pcCBGdCgnKWcoYmluYXJ5KWYob3ApcwotKGVyYXRvcik2MzAgODAwIHkodG8pMzcgYih0aGUpZiBGcyhbWylnIEZ0KGNvbmRpdGlvbmFsKWkoY29tbWFuZCllCi0oXChzZWUpaChTZWN0aW9uKWcoMy4yLjQuMilpKFtDb25kaXRpb25hbCllKENvbnN0cnVjdHNdLCk2MzAKLTkxMCB5KHBhZ2UpZSgxMFwpLik1MiBiKFRoZSkzMyBiKGVsZW1lbiltKHQpaih3aXRoKWQoaW5kZXgpZygwKWkoaXMpZgotKHRoZSlnKHApcyhvcnRpb24pZihvZiloKHRoZSlnKHN0cmluZylnKG1hdGMpbShoaW5nKWgodGhlKTYzMAotMTAyMCB5KGVuKW0odGlyZSkyOSBiKHJlZ3VsYXIpZihleHByZXNzaW9uLik0MCBiKFRoZSkyNwotYihlbGVtZW4pbSh0KWood2l0aClkKGluZGV4KWggRnEobilmIEZ0KGlzKWgodGhlKWcocClzKG9ydGlvbilnKG9mKWcKLSh0aGUpZyhzdHJpbmcpNjMwIDExMjkgeShtYXRjKW0oaGluZylqKHRoZSlnIEZxKG4pcCBGdCh0aClmKHBhcmVuKW0KLSh0aGVzaXplZCloKHN1YilzKGV4cHJlc3Npb24uKTM5IGIoVGhpcykyOSBiKHYpLTUgYihhcmlhYmxlKTMxCi1iKGlzKWcocmVhZC1vbmx5KS04IGIoLikxNTAgMTMwMiB5IEZzKEJBU0hfU09VUkNFKTYzMAotMTQxMiB5IEZ0KEFuKTI0IGIoYXJyYSltKHkpaCh2KS01IGIoYXJpYWJsZSkyNiBiKHdob3NlKWUobWVtKW0oYilzKGVycykKLWcoYXJlKWgodGhlKWcoc291cmNlKWYoXDAxNGxlbmFtZXMpaChjb3JyZXNwKXMob25kaW5nKWUodG8paih0aGUpNjMwCi0xNTIxIHkoZWxlbWVuKW0odHMpMzIgYihpbillKHRoZSlnIEZzKEZVTkNOQU1FKWUgRnQoYXJyYSltKHkpaih2KS01Ci1iKGFyaWFibGUuKTE1MCAxNjk0IHkgRnMoQkFTSF9TVUJTSEVMTCk2MzAgMTgwNCB5IEZ0KEluY3JlbWVuKW0odGVkKTM0CitiKFNoZWxsKTMwIGIoViktOCBiKGFyaWFibGVzKTI0NTkgYig2MykxNTAgMjk5IHkgRnMoQkFTSF9MSU5FTk8pNjMwCis0MDggeSBGdChBbikzOCBiKGFycmEpbSh5KWgodiktNSBiKGFyaWFibGUpMzkgYih3aG9zZSlnKG1lbSltKGIpcyhlcnMpZQorKGFyZSlpKHRoZSlnKGxpbmUpZyhuKW0odW0pbShiKXMoZXJzKWUoaW4paChzb3VyY2UpaChcMDE0bGVzKWYoY29ycmUtKQorNjMwIDUxOCB5KHNwKXMob25kaW5nKWcodG8paShlYWMpbShoKWgobWVtKW0oYilzKGVyKWUob2YpaAorRnEoRlVOQ05BTUUpNSBiIEZ0KC4pNDEgYiBGcygke0JBU0hfTElORU5PWyRpXX0pMzQgYgorRnQoaXMpNDAgYih0aGUpZyhsaW5lKTYzMCA2MjggeShuKW0odW0pbShiKXMoZXIpNDcgYihpbiloKHRoZSlnKHNvdXJjZSkKK2goXDAxNGxlKWYod2hlcmUpZyBGcygke0ZVTkNOQU1FWyRpXX0pYyBGdCh3KW0oYXMpNDkKK2IoY2FsbGVkKWcoXChvcilnIEZzKCR7QkFTSF8pNjMwIDczNyB5KExJTkVOT1skaS0xXX0pMjIKK2IgRnQoaWYpaihyZWZlcmVuY2VkKWcod2l0aGluKWYoYW5vdGhlcilpKHNoZWxsKWYoZnVuY3Rpb25cKS4pMzkKK2IoVGhlKTI1IGIoY29ycmVzcClzKG9uZGluZyk2MzAgODQ3IHkoc291cmNlKWYoXDAxNGxlKWgobmFtZSlmKGlzKWcKK0ZzKCR7QkFTSF9TT1VSQ0VbJGldfSlwIEZ0KC4pMzQgYihVc2UpMjUgYiBGcyhMSU5FTk8pZAorRnQodG8paihvYnRhaW4pZyh0aGUpZyhjdXJyZW4pbSh0KWYobGluZSk2MzAgOTU2IHkobiltKHVtKW0oYilzKGVyLikxNTAKKzExMTIgeSBGcyhCQVNIX1JFTUFUQ0gpNjMwIDEyMjEgeSBGdChBbik0MyBiKGFycmEpbSh5KWkodiktNQorYihhcmlhYmxlKTQ0IGIod2hvc2UpZyhtZW0pbShiKXMoZXJzKWYoYXJlKWgoYXNzaWduZWQpZyhiKW0oeSlmKHRoZSloCisoYClwIEZzKD1+KXAgRnQoJylnKGJpbmFyeSlmKG9wKXMoZXJhdG9yKTYzMCAxMzMxIHkodG8pMzcKK2IodGhlKWYgRnMoW1spZyBGdChjb25kaXRpb25hbClpKGNvbW1hbmQpZShcKHNlZSloKFNlY3Rpb24pZygzLjIuNC4yKWkKKyhbQ29uZGl0aW9uYWwpZShDb25zdHJ1Y3RzXSwpNjMwIDE0NDAgeShwYWdlKWUoMTBcKS4pNTIKK2IoVGhlKTMzIGIoZWxlbWVuKW0odClqKHdpdGgpZChpbmRleClnKDApaShpcylmKHRoZSlnKHApcyhvcnRpb24pZihvZiloCisodGhlKWcoc3RyaW5nKWcobWF0YyltKGhpbmcpaCh0aGUpNjMwIDE1NTAgeShlbiltKHRpcmUpMjkKK2IocmVndWxhcilmKGV4cHJlc3Npb24uKTQwIGIoVGhlKTI3IGIoZWxlbWVuKW0odClqKHdpdGgpZChpbmRleCloCitGcShuKWYgRnQoaXMpaCh0aGUpZyhwKXMob3J0aW9uKWcob2YpZyh0aGUpZyhzdHJpbmcpNjMwCisxNjYwIHkobWF0YyltKGhpbmcpaih0aGUpZyBGcShuKXAgRnQodGgpZihwYXJlbiltKHRoZXNpemVkKWgoc3ViKXMKKyhleHByZXNzaW9uLikzOSBiKFRoaXMpMjkgYih2KS01IGIoYXJpYWJsZSkzMSBiKGlzKWcocmVhZC1vbmx5KS04CitiKC4pMTUwIDE4MTUgeSBGcyhCQVNIX1NPVVJDRSk2MzAgMTkyNCB5IEZ0KEFuKTI0IGIoYXJyYSltKHkpaCh2KS01CitiKGFyaWFibGUpMjYgYih3aG9zZSllKG1lbSltKGIpcyhlcnMpZyhhcmUpaCh0aGUpZyhzb3VyY2UpZgorKFwwMTRsZW5hbWVzKWgoY29ycmVzcClzKG9uZGluZyllKHRvKWoodGhlKTYzMCAyMDM0IHkoZWxlbWVuKW0odHMpMzIKK2IoaW4pZSh0aGUpZyBGcyhGVU5DTkFNRSllIEZ0KGFycmEpbSh5KWoodiktNSBiKGFyaWFibGUuKTE1MAorMjE4OSB5IEZzKEJBU0hfU1VCU0hFTEwpNjMwIDIyOTkgeSBGdChJbmNyZW1lbiltKHRlZCkzNAogYihiKW0oeSloKG9uZSlmKGVhYyltKGgpaSh0aW1lKWYoYSlmKHN1YnNoZWxsKWcob3IpZyhzdWJzaGVsbClmKGVuKW0KLSh2aXJvbm1lbiltKHQpaShpcylmKHNwYSltKHduZWQuKTYzMCAxOTEzIHkoVGhlKWMoaW5pdGlhbCloKHYpLTUKLWIoYWx1ZSkzMSBiKGlzKWcoMC4pMTUwIDIwODYgeSBGcyhCQVNIX1ZFUlNJTkZPKTYzMCAyMTk2Cisodmlyb25tZW4pbSh0KWkoaXMpZihzcGEpbSh3bmVkLik2MzAgMjQwOCB5KFRoZSljKGluaXRpYWwpaCh2KS01CitiKGFsdWUpMzEgYihpcylnKDAuKTE1MCAyNTY0IHkgRnMoQkFTSF9WRVJTSU5GTyk2MzAgMjY3MwogeSBGdChBKTM2IGIocmVhZG9ubHkpZyhhcnJhKW0oeSlnKHYpLTUgYihhcmlhYmxlKTM3IGIoXChzZWUpZihTZWN0aW9uKWgKICg2LjcpZyhbQXJyYSltKHlzXSwpaChwYWdlKWUoODBcKSloKHdob3NlKWYobWVtKW0oYilzKGVycyk2MzAKLTIzMDUgeShob2xkKWModiltKGVyc2lvbiloKGluZm9ybWF0aW9uKWYoZm9yKWcodGhpcylnKGluc3RhbmNlKWgob2YpZworMjc4MyB5KGhvbGQpYyh2KW0oZXJzaW9uKWgoaW5mb3JtYXRpb24pZihmb3IpZyh0aGlzKWcoaW5zdGFuY2UpaChvZilnCiAoQmFzaC4pNDYgYihUaGUpMzIgYih2KS01IGIoYWx1ZXMpMzIgYihhc3NpZ25lZCloKHRvKWcodGhlKTYzMAotMjQxNSB5KGFycmEpbSh5KWUobWVtKW0oYilzKGVycyllKGFyZSlpKGFzKWcoZm9sbG8pbSh3czopNjMwCi0yNTg4IHkgRnMoQkFTSF9WRVJTSU5GT1swXSkxMTEwIDI2OTcgeSBGdChUaGUpZihtYSk1CisyODkyIHkoYXJyYSltKHkpZShtZW0pbShiKXMoZXJzKWUoYXJlKWkoYXMpZyhmb2xsbyltKHdzOik2MzAKKzMwNDggeSBGcyhCQVNIX1ZFUlNJTkZPWzBdKTExMTAgMzE1NyB5IEZ0KFRoZSlmKG1hKTUKIGIoam9yKTMwIGIodiltKGVyc2lvbiloKG4pbSh1bSltKGIpcyhlcillKFwodGhlKWkgRnEocmVsZWFzZSk1Ci1iIEZ0KFwpLik2MzAgMjg3MCB5IEZzKEJBU0hfVkVSU0lORk9bMV0pMTExMCAyOTgwIHkgRnQoVGhlKTMwCitiIEZ0KFwpLik2MzAgMzMxMyB5IEZzKEJBU0hfVkVSU0lORk9bMV0pMTExMCAzNDIyIHkgRnQoVGhlKTMwCiBiKG1pbm9yKWcodiltKGVyc2lvbiloKG4pbSh1bSltKGIpcyhlcillKFwodGhlKWkgRnEodiltKGVyc2lvbilwCi1GdChcKS4pNjMwIDMxNTMgeSBGcyhCQVNIX1ZFUlNJTkZPWzJdKTExMTAgMzI2MiB5IEZ0KFRoZSlmKHBhdGMpbShoKWgKLShsZXYpbShlbC4pNjMwIDM0MzUgeSBGcyhCQVNIX1ZFUlNJTkZPWzNdKTExMTAgMzU0NSB5Ci1GdChUaGUpZihidWlsZClmKHYpbShlcnNpb24uKTYzMCAzNzE4IHkgRnMoQkFTSF9WRVJTSU5GT1s0XSkxMTEwCi0zODI3IHkgRnQoVGhlKWgocmVsZWFzZSlpKHN0YXR1cyllKFwoZS5nLiwpaiBGcShiKXMoZXRhMSk3Ci1iIEZ0KFwpLik2MzAgNDAwMCB5IEZzKEJBU0hfVkVSU0lORk9bNV0pMTExMCA0MTEwIHkgRnQoVGhlKTMwCi1iKHYpLTUgYihhbHVlKTMxIGIob2YpZiBGcyhNQUNIVFlQRSlwIEZ0KC4pMTUwIDQyODIgeQotRnMoQkFTSF9WRVJTSU9OKTYzMCA0MzkyIHkgRnQoVGhlKWcodiltKGVyc2lvbiloKG4pbSh1bSltKGIpcyhlcillKG9mKWgKLSh0aGUpaChjdXJyZW4pbSh0KWYoaW5zdGFuY2UpaChvZilnKEJhc2guKTE1MCA0NTY1IHkKLUZzKENPTFVNTlMpMTQ0IGIgRnQoVXNlZCkzNiBiKGIpbSh5KWgodGhlKWYgRnMoc2VsZWN0KWYKLUZ0KGJ1aWx0aW4paChjb21tYW5kKWgodG8pZyhkZXRlcm1pbmUpZih0aGUpaCh0ZXJtaW5hbClnKHdpZHRoKWYod2hlbikKLTYzMCA0Njc0IHkocHJpbiltKHRpbmcpMzAgYihzZWxlY3Rpb24paShsaXN0cy4pNDIgYihBdXRvbWF0aWNhbGx5KTMzCi1iKHNldCllKHVwKXMob24pZChyZWNlaXB0KWsob2YpZShhKWggRnMoU0lHV0lOQ0gpcCBGdCguKTE1MAotNDg0NyB5IEZzKENPTVBfQ1dPUkQpNjMwIDQ5NTcgeSBGdChBbikzOCBiKGluZGV4KWcoaW4pbSh0byloCi1Gcygke0NPTVBfV09SRFN9KWMgRnQob2Ypayh0aGUpZyh3KW0ob3JkKWYoY29uKW0odGFpbmluZylpKHRoZSllCi0oY3VycmVuKW0odClnKGN1cnNvcilnKHApcyhvLSk2MzAgNTA2NiB5KHNpdGlvbi4pNzIgYihUaGlzKTQwCi1iKHYpLTUgYihhcmlhYmxlKTQxIGIoaXMpZihhKW0odiktNSBiKGFpbGFibGUpNDMgYihvbmx5KWUoaW4pZihzaGVsbCloCi0oZnVuY3Rpb25zKWYoaW4pbSh2KW0ob2spbShlZClpKGIpbSh5KWUodGhlKWgocHJvLSk2MzAKLTUxNzYgeShncmFtbWFibGUpMzYgYihjb21wbGV0aW9uKWcoZmFjaWxpdGllcylpKFwoc2VlKWUoU2VjdGlvbilnKDguNilnCi0oW1Byb2dyYW1tYWJsZSlnKENvbXBsZXRpb25dLCk2MzAgNTI4NiB5KHBhZ2UpMzEgYigxMTVcKS4pcAotZW9wIGVuZAorRnQoXCkuKTYzMCAzNTc3IHkgRnMoQkFTSF9WRVJTSU5GT1syXSkxMTEwIDM2ODcgeSBGdChUaGUpZihwYXRjKW0oaCloCisobGV2KW0oZWwuKTYzMCAzODQyIHkgRnMoQkFTSF9WRVJTSU5GT1szXSkxMTEwIDM5NTIgeQorRnQoVGhlKWYoYnVpbGQpZih2KW0oZXJzaW9uLik2MzAgNDEwNyB5IEZzKEJBU0hfVkVSU0lORk9bNF0pMTExMAorNDIxNyB5IEZ0KFRoZSloKHJlbGVhc2UpaShzdGF0dXMpZShcKGUuZy4sKWogRnEoYilzKGV0YTEpNworYiBGdChcKS4pNjMwIDQzNzIgeSBGcyhCQVNIX1ZFUlNJTkZPWzVdKTExMTAgNDQ4MiB5IEZ0KFRoZSkzMAorYih2KS01IGIoYWx1ZSkzMSBiKG9mKWYgRnMoTUFDSFRZUEUpcCBGdCguKTE1MCA0NjM3IHkKK0ZzKEJBU0hfVkVSU0lPTik2MzAgNDc0NiB5IEZ0KFRoZSlnKHYpbShlcnNpb24paChuKW0odW0pbShiKXMoZXIpZShvZiloCisodGhlKWgoY3VycmVuKW0odClmKGluc3RhbmNlKWgob2YpZyhCYXNoLikxNTAgNDkwMiB5CitGcyhCQVNIX1hUUkFDRUZEKTYzMCA1MDExIHkgRnQoSWYpZihzZXQpaCh0byloKGFuKWUoaW4pbSh0ZWdlcilpCisoY29ycmVzcClzKG9uZGluZyllKHRvKWgoYSlnKHYpLTUgYihhbGlkKTMxIGIoXDAxNGxlKWcoZGVzY3JpcHRvciwpZworKEJhc2gpZyh3aWxsKWcod3JpdGUpZyh0aGUpNjMwIDUxMjEgeSh0cmFjZSkzNyBiKG91dHB1dClmKGdlbmVyYXRlZCloCisod2hlbilmKGApcCBGcyhzZXQpMjkgYigteClwIEZ0KCcpMzYgYihpcylnKGVuYWJsZWQpaCh0bylnKHRoYXQpZgorKFwwMTRsZSloKGRlc2NyaXB0b3IuKTU4IGIoVGhpcyk2MzAgNTIzMCB5KGFsbG8pbSh3cykyOQorYih0cmFjaW5nKWgob3V0cHV0KWQodG8paShiKXMoZSlmKHNlcGFyYXRlZClnKGZyb20pZyhkaWFnbm9zdGljKWgoYW5kKWYKKyhlcnJvcilmKG1lc3NhZ2VzLik0MSBiKFRoZSk2MzAgNTM0MCB5KFwwMTRsZSkzMSBiKGRlc2NyaXB0b3IpZihpcyloCisoY2xvc2VkKWcod2hlbilmIEZzKEJBU0hfWFRSQUNFRkQpZCBGdChpcylrKHVuc2V0KWYob3IpZyhhc3NpZ25lZCloKGEpZworKG5ldylmKHYpLTUgYihhbHVlLilwIGVvcCBlbmQKICUlUGFnZTogNjQgNzAKIFRlWERpY3QgYmVnaW4gNjQgNjkgYm9wIDE1MCAtMTE2IGEgRnQoNjQpMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcyhDT01QX0xJTkUpNjMwIDQwOAoteSBGdChUaGUpMzggYihjdXJyZW4pbSh0KWgoY29tbWFuZClmKGxpbmUuKTY2IGIoVGhpcykzNwotYih2KS01IGIoYXJpYWJsZSk0MCBiKGlzKWYoYSltKHYpLTUgYihhaWxhYmxlKTQxIGIob25seSlkKGluKWgoc2hlbGwpZgotKGZ1bmN0aW9ucyk2MzAgNTE4IHkoYW5kKTI1IGIoZXh0ZXJuYWwpaChjb21tYW5kcylmKGluKW0odiltKG9rKW0oZWQpaAotKGIpbSh5KWYodGhlKWgocHJvZ3JhbW1hYmxlKWYoY29tcGxldGlvbilpKGZhY2lsaXRpZXMpZyhcKHNlZSk2MzAKLTYyOCB5KFNlY3Rpb24payg4LjYpaChbUHJvZ3JhbW1hYmxlKWYoQ29tcGxldGlvbl0sKWcocGFnZSlnKDExNVwpLikxNTAKLTc3OCB5IEZzKENPTVBfUE9JTlQpNjMwIDg4OCB5IEZ0KFRoZSkyNSBiKGluZGV4KWcob2YpaCh0aGUpZyhjdXJyZW4pbQorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5KFVuc2V0dGluZyk0NSBiIEZzKEJBU0hfWFRSQUNFRkQpNDAKK2IgRnQob3Ipayhhc3NpZ25pbmcpZyhpdClnKHRoZSlnKGVtcHQpbSh5KWgoc3RyaW5nKWUoY2F1c2VzKWkodGhlKWYKKyh0cmFjZSk2MzAgNDA4IHkob3V0cHV0KTMzIGIodG8paShiKXMoZSlkKHNlbiltKHQpaih0bylmKHRoZSlnCisoc3RhbmRhcmQpZShlcnJvci4pNTAgYihOb3RlKTM1IGIodGhhdClnKHNldHRpbmcpZiBGcyhCQVNIX1hUUkFDRUZEKWMKK0Z0KHRvKTYzMCA1MTggeSgyKTM5IGIoXCh0aGUpaChzdGFuZGFyZCllKGVycm9yKWcoXDAxNGxlKWgKKyhkZXNjcmlwdG9yXCkpaChhbmQpZSh0aGVuKWgodW5zZXR0aW5nKWcoaXQpZyh3aWxsKWcocmVzdWx0KWcoaW4pZyh0aGUpCis2MzAgNjI4IHkoc3RhbmRhcmQpMzAgYihlcnJvcilnKGIpcyhlaW5nKWYoY2xvc2VkLikxNTAKKzgxOSB5IEZzKENPTFVNTlMpMTQ0IGIgRnQoVXNlZCkzNiBiKGIpbSh5KWgodGhlKWYgRnMoc2VsZWN0KWYKK0Z0KGJ1aWx0aW4paChjb21tYW5kKWgodG8pZyhkZXRlcm1pbmUpZih0aGUpaCh0ZXJtaW5hbClnKHdpZHRoKWYod2hlbikKKzYzMCA5MjkgeShwcmluKW0odGluZykzMCBiKHNlbGVjdGlvbilpKGxpc3RzLik0MiBiKEF1dG9tYXRpY2FsbHkpMzMKK2Ioc2V0KWUodXApcyhvbilkKHJlY2VpcHQpayhvZillKGEpaCBGcyhTSUdXSU5DSClwIEZ0KC4pMTUwCisxMTIxIHkgRnMoQ09NUF9DV09SRCk2MzAgMTIzMCB5IEZ0KEFuKTM4IGIoaW5kZXgpZyhpbiltKHRvKWgKK0ZzKCR7Q09NUF9XT1JEU30pYyBGdChvZilrKHRoZSlnKHcpbShvcmQpZihjb24pbSh0YWluaW5nKWkodGhlKWUKKyhjdXJyZW4pbSh0KWcoY3Vyc29yKWcocClzKG8tKTYzMCAxMzQwIHkoc2l0aW9uLik3MiBiKFRoaXMpNDAKK2IodiktNSBiKGFyaWFibGUpNDEgYihpcylmKGEpbSh2KS01IGIoYWlsYWJsZSk0MyBiKG9ubHkpZShpbilmKHNoZWxsKWgKKyhmdW5jdGlvbnMpZihpbiltKHYpbShvayltKGVkKWkoYiltKHkpZSh0aGUpaChwcm8tKTYzMAorMTQ1MCB5KGdyYW1tYWJsZSkzNiBiKGNvbXBsZXRpb24pZyhmYWNpbGl0aWVzKWkoXChzZWUpZShTZWN0aW9uKWcoOC42KWcKKyhbUHJvZ3JhbW1hYmxlKWcoQ29tcGxldGlvbl0sKTYzMCAxNTU5IHkocGFnZSkzMSBiKDExNVwpLikxNTAKKzE3NTEgeSBGcyhDT01QX0xJTkUpNjMwIDE4NjEgeSBGdChUaGUpMzggYihjdXJyZW4pbSh0KWgoY29tbWFuZClmCisobGluZS4pNjYgYihUaGlzKTM3IGIodiktNSBiKGFyaWFibGUpNDAgYihpcylmKGEpbSh2KS01CitiKGFpbGFibGUpNDEgYihvbmx5KWQoaW4paChzaGVsbClmKGZ1bmN0aW9ucyk2MzAgMTk3MAoreShhbmQpMjUgYihleHRlcm5hbCloKGNvbW1hbmRzKWYoaW4pbSh2KW0ob2spbShlZCloKGIpbSh5KWYodGhlKWgKKyhwcm9ncmFtbWFibGUpZihjb21wbGV0aW9uKWkoZmFjaWxpdGllcylnKFwoc2VlKTYzMCAyMDgwCit5KFNlY3Rpb24payg4LjYpaChbUHJvZ3JhbW1hYmxlKWYoQ29tcGxldGlvbl0sKWcocGFnZSlnKDExNVwpLikxNTAKKzIyNzEgeSBGcyhDT01QX1BPSU5UKTYzMCAyMzgxIHkgRnQoVGhlKTI1IGIoaW5kZXgpZyhvZiloKHRoZSlnKGN1cnJlbiltCiAodClmKGN1cnNvcilnKHApcyhvc2l0aW9uKWgocmVsYXRpdiltKGUpaSh0byllKHRoZSlnKGIpcyhlZ2lubmluZylmKG9mKQotZyh0aGUpaChjdXJyZW4pbSh0KTYzMCA5OTggeShjb21tYW5kLik0MCBiKElmKTI3IGIodGhlKWgoY3VycmVuKW0odClnCitnKHRoZSloKGN1cnJlbiltKHQpNjMwIDI0OTEgeShjb21tYW5kLik0MCBiKElmKTI3IGIodGhlKWgoY3VycmVuKW0odClnCiAoY3Vyc29yKWcocClzKG9zaXRpb24pZyhpcylnKGF0KWcodGhlKWcoZW5kKWcob2YpZyh0aGUpZyhjdXJyZW4pbSh0KWcKLShjb21tYW5kLCk2MzAgMTEwNyB5KHRoZSlpKHYpLTUgYihhbHVlKTMwIGIob2YpZyh0aGlzKWcodiktNQorKGNvbW1hbmQsKTYzMCAyNjAwIHkodGhlKWkodiktNSBiKGFsdWUpMzAgYihvZilnKHRoaXMpZyh2KS01CiBiKGFyaWFibGUpMzEgYihpcylmKGVxdWFsKWcodG8paCBGcygkeyNDT01QX0xJTkV9KXAgRnQoLikzNwogYihUaGlzKTI5IGIodiktNSBiKGFyaWFibGUpMzEgYihpcylmKGEpbSh2KS01IGIoYWlsYWJsZSk2MzAKLTEyMTcgeShvbmx5KTM2IGIoaW4pZihzaGVsbCloKGZ1bmN0aW9ucylmKGFuZClnKGV4dGVybmFsKWgoY29tbWFuZHMpZwotKGluKW0odiltKG9rKW0oZWQpaChiKW0oeSllKHRoZSloKHByb2dyYW1tYWJsZSk2MzAgMTMyNgorMjcxMCB5KG9ubHkpMzYgYihpbilmKHNoZWxsKWgoZnVuY3Rpb25zKWYoYW5kKWcoZXh0ZXJuYWwpaChjb21tYW5kcylnCisoaW4pbSh2KW0ob2spbShlZCloKGIpbSh5KWUodGhlKWgocHJvZ3JhbW1hYmxlKTYzMCAyODE5CiB5KGNvbXBsZXRpb24pYyhmYWNpbGl0aWVzKWcoXChzZWUpZyhTZWN0aW9uKWYoOC42KWcoW1Byb2dyYW1tYWJsZSlnCi0oQ29tcGxldGlvbl0sKWgocGFnZSlmKDExNVwpLikxNTAgMTQ3NyB5IEZzKENPTVBfVFlQRSk2MzAKLTE1ODcgeSBGdChTZXQpYyh0byloKGFuKWYoaW4pbSh0ZWdlciloKHYpLTUgYihhbHVlKTI4CisoQ29tcGxldGlvbl0sKWgocGFnZSlmKDExNVwpLikxNTAgMzAxMSB5IEZzKENPTVBfVFlQRSk2MzAKKzMxMjEgeSBGdChTZXQpYyh0byloKGFuKWYoaW4pbSh0ZWdlciloKHYpLTUgYihhbHVlKTI4CiBiKGNvcnJlc3ApcyhvbmRpbmcpZSh0byloKHRoZSloKHQpbSh5cClzKGUpZihvZilnKGNvbXBsZXRpb24paAotKGF0dGVtcHRlZClnKHRoYXQpNjMwIDE2OTYgeShjYXVzZWQpZShhKWgoY29tcGxldGlvbiloKGZ1bmN0aW9uKWUodG8paAotKGIpcyhlKWYoY2FsbGVkOik0MCBiIEZxKFQpLTggYihBQilwIEZ0KCwpMjcgYihmb3IpZihub3JtYWwpaAotKGNvbXBsZXRpb24sKWkoYClwIEZzKD8pcCBGdCgnLCllKGZvcik2MzAgMTgwNiB5KGxpc3RpbmcpMzUKKyhhdHRlbXB0ZWQpZyh0aGF0KTYzMCAzMjMwIHkoY2F1c2VkKWUoYSlnKGNvbXBsZXRpb24paShmdW5jdGlvbilkKHRvKWkKKyhiKXMoZSllKGNhbGxlZDopNDAgYiBGcShUKS04IGIoQUIpNSBiIEZ0KCwpMjcgYihmb3IpZihub3JtYWwpZworKGNvbXBsZXRpb24sKWkoYClwIEZzKD8pcCBGdCgnLClmKGZvcik2MzAgMzM0MCB5KGxpc3RpbmcpMzUKIGIoY29tcGxldGlvbnMpaChhZnRlcilmKHN1Y2Nlc3NpdiltKGUpZyh0YWJzLCloKGApcCBGcyghKXAKIEZ0KCcsKWcoZm9yKWUobGlzdGluZyloKGFsdGVybmF0aXYpbShlcylpKG9uKWQocGFydGlhbCk2MzAKLTE5MTUgeSh3KW0ob3JkKTIyIGIoY29tcGxldGlvbiwpayhgKXAgRnMoQClwIEZ0KCcsKWYodG8pZShsaXN0KWcKKzM0NTAgeSh3KW0ob3JkKTIyIGIoY29tcGxldGlvbiwpayhgKXAgRnMoQClwIEZ0KCcsKWYodG8pZShsaXN0KWcKIChjb21wbGV0aW9ucyloKGlmKWYodGhlKWcodyltKG9yZClmKGlzKWgobm90KWcodW5tbylzKGRpXDAxNGVkLClmKG9yKWgKLShgKXAgRnMoXDA0NSlwIEZ0KCcsKWgoZm9yKTYzMCAyMDI1IHkobWVuKW0odSlpKGNvbXBsZXRpb24uKTQxCisoYClwIEZzKFwwNDUpcCBGdCgnLCloKGZvcik2MzAgMzU1OSB5KG1lbiltKHUpaShjb21wbGV0aW9uLik0MQogYihUaGlzKTI1IGIodiktNSBiKGFyaWFibGUpMjcgYihpcylnKGEpbSh2KS01IGIoYWlsYWJsZSkyOAogYihvbmx5KWYoaW4pZihzaGVsbClnKGZ1bmN0aW9ucylnKGFuZClnKGV4dGVybmFsKTYzMAotMjEzNCB5KGNvbW1hbmRzKTMyIGIoaW4pbSh2KW0ob2spbShlZClpKGIpbSh5KWUodGhlKWcocHJvZ3JhbW1hYmxlKWgKKzM2NjkgeShjb21tYW5kcykzMiBiKGluKW0odiltKG9rKW0oZWQpaShiKW0oeSllKHRoZSlnKHByb2dyYW1tYWJsZSloCiAoY29tcGxldGlvbilnKGZhY2lsaXRpZXMpaShcKHNlZSllKFNlY3Rpb24pZyg4LjYpNjMwCi0yMjQ0IHkoW1Byb2dyYW1tYWJsZSllKENvbXBsZXRpb25dLCloKHBhZ2UpZigxMTVcKS4pMTUwCi0yMzk1IHkgRnMoQ09NUF9LRVkpOTYgYiBGdChUaGUpMjkgYihrKW0oZXkpaShcKG9yKWcoXDAxNG5hbCllKGspbShleSlpCiszNzc4IHkoW1Byb2dyYW1tYWJsZSllKENvbXBsZXRpb25dLCloKHBhZ2UpZigxMTVcKS4pMTUwCiszOTcwIHkgRnMoQ09NUF9LRVkpOTYgYiBGdChUaGUpMjkgYihrKW0oZXkpaShcKG9yKWcoXDAxNG5hbCllKGspbShleSlpCiAob2YpZihhKWcoayltKGV5KWgoc2VxdWVuY2VcKSlnKHVzZWQpZSh0bylpKGluKW0odiltKG9rKW0oZSloKHRoZSllCi0oY3VycmVuKW0odClnKGNvbXBsZXRpb24pNjMwIDI1MDQgeShmdW5jdGlvbi4pMTUwIDI2NTUKLXkgRnMoQ09NUF9XT1JEQlJFQUtTKTYzMCAyNzY1IHkgRnQoVGhlKWYoc2V0KWkob2YpZShjKW0oaGFyYWN0ZXJzKWoKKyhjdXJyZW4pbSh0KWcoY29tcGxldGlvbik2MzAgNDA4MCB5KGZ1bmN0aW9uLikxNTAgNDI3MQoreSBGcyhDT01QX1dPUkRCUkVBS1MpNjMwIDQzODEgeSBGdChUaGUpZihzZXQpaShvZillKGMpbShoYXJhY3RlcnMpagogKHRoYXQpZSh0aGUpZyhSZWFkbGluZSlnKGxpYnJhcnkpZyh0cmVhdHMpZyhhcylnKHcpbShvcmQpZyhzZXBhcmF0b3JzKWcKLSh3aGVuKTYzMCAyODc0IHkocClzKGVyZm9ybWluZylpKHcpbShvcmQpaChjb21wbGV0aW9uLik1MQorKHdoZW4pNjMwIDQ0OTEgeShwKXMoZXJmb3JtaW5nKWkodyltKG9yZCloKGNvbXBsZXRpb24uKTUxCiBiKElmKTMzIGIgRnMoQ09NUF9XT1JEQlJFQUtTKWMgRnQoaXMpMzQgYih1bnNldCwpZyhpdClmKGxvc2VzKWkoaXRzKWUKLShzcClzKGVjaWFsKTYzMCAyOTg0IHkocHJvcClzKGVydGllcywpZChldiltKGVuKWgoaWYpZihpdCloKGlzKWcKLShzdWJzZXF1ZW4pbSh0bHkpZihyZXNldC4pMTUwIDMxMzQgeSBGcyhDT01QX1dPUkRTKTYzMAotMzI0NCB5IEZ0KEFuKTM2IGIoYXJyYSltKHkpZyh2KS01IGIoYXJpYWJsZSkzNyBiKGNvbnNpc3RpbmcpZyhvZilmKHRoZSkKKyhzcClzKGVjaWFsKTYzMCA0NjAwIHkocHJvcClzKGVydGllcywpZChldiltKGVuKWgoaWYpZihpdCloKGlzKWcKKyhzdWJzZXF1ZW4pbSh0bHkpZihyZXNldC4pMTUwIDQ3OTIgeSBGcyhDT01QX1dPUkRTKTYzMAorNDkwMiB5IEZ0KEFuKTM2IGIoYXJyYSltKHkpZyh2KS01IGIoYXJpYWJsZSkzNyBiKGNvbnNpc3RpbmcpZyhvZilmKHRoZSkKIGcoaW5kaXZpZHVhbClmKHcpbShvcmRzKWgoaW4pZih0aGUpaChjdXJyZW4pbSh0KWcoY29tbWFuZCk2MzAKLTMzNTQgeShsaW5lLik3NiBiKFRoZSk0MSBiKHcpbShvcmRzKWgoYXJlKWcoc3BsaXQpaChvbillKHNoZWxsKWkobWV0YWMpCi1tKGhhcmFjdGVycyloKGFzKWUodGhlKWgoc2hlbGwpZihwYXJzZXIpZih3KW0ob3VsZCk2MzAKLTM0NjMgeShzZXBhcmF0ZSkzMSBiKHRoZW0uKTQwIGIoVGhpcykyOSBiKHYpLTUgYihhcmlhYmxlKTMwCi1iKGlzKWcoYSltKHYpLTUgYihhaWxhYmxlKTMyIGIob25seSlkKGluKWcoc2hlbGwpaChmdW5jdGlvbnMpZihpbiltKHYpbQotKG9rKW0oZWQpaShiKW0oeSlmKHRoZSk2MzAgMzU3MyB5KHByb2dyYW1tYWJsZSk0MiBiKGNvbXBsZXRpb24paAotKGZhY2lsaXRpZXMpaChcKHNlZSllKFNlY3Rpb24paCg4LjYpZihbUHJvZ3JhbW1hYmxlKWgoQ29tcGxlLSk2MzAKLTM2ODIgeSh0aW9uXSwpMzEgYihwYWdlKWcoMTE1XCkuKTE1MCAzODMzIHkgRnMoQ09NUFJFUExZKTYzMAotMzk0MyB5IEZ0KEFuKTM3IGIoYXJyYSltKHkpaCh2KS01IGIoYXJpYWJsZSkzOCBiKGZyb20pZih3aGljKW0oaClnCi0oQmFzaClnKHJlYWRzKWcodGhlKWgocClzKG9zc2libGUpZShjb21wbGV0aW9ucylqKGdlbmVyYXRlZCk2MzAKLTQwNTIgeShiKW0oeSkzMyBiKGEpZyhzaGVsbCloKGZ1bmN0aW9uKWYoaW4pbSh2KW0ob2spbShlZCloKGIpbSh5KWYKLSh0aGUpZyhwcm9ncmFtbWFibGUpaChjb21wbGV0aW9uKWcoZmFjaWxpdCltKHkpaChcKHNlZSlmKFNlYy0pNjMwCi00MTYyIHkodGlvbilkKDguNilnKFtQcm9ncmFtbWFibGUpZyhDb21wbGV0aW9uXSwpaChwYWdlKWYoMTE1XCkuKTE1MAotNDMxMyB5IEZzKERJUlNUQUNLKTk2IGIgRnQoQW4pMjYgYihhcnJhKW0oeSloKHYpLTUgYihhcmlhYmxlKTI4Ci1iKGNvbiltKHRhaW5pbmcpZyh0aGUpZihjdXJyZW4pbSh0KWYoY29uKW0odGVuKW0odHMpaihvZillKHRoZSlmCi0oZGlyZWN0b3J5KWkoc3RhYyltKGsuKTQxIGIoRGlyZWMtKTYzMCA0NDIyIHkodG9yaWVzKTMzCi1iKGFwcClzKGVhcilmKGluKWcodGhlKWgoc3RhYyltKGspaChpbillKHRoZSloKG9yZGVyKWYodGhleSloKGFyZSlnCi0oZGlzcGxhKW0oeSltKGVkKWcoYiltKHkpZih0aGUpaCBGcyhkaXJzKWUgRnQoYnVpbHRpbi4pNjMwCi00NTMyIHkoQXNzaWduaW5nKWYodG8paChtZW0pbShiKXMoZXJzKWYob2YpZyh0aGlzKWcoYXJyYSltKHkpZyh2KS01Ci1iKGFyaWFibGUpMzEgYihtYSltKHkpZyhiKXMoZSllKHVzZWQpaCh0byloKG1vKXMoZGlmeSllKGRpcmVjdG9yaWVzKTYzMAotNDY0MSB5KGFscmVhZHkpNDEgYihpbilmKHRoZSloKHN0YWMpbShrLClrKGJ1dCk0MCBiKHRoZSloCi1GcyhwdXNoZCllIEZ0KGFuZCloIEZzKHBvcGQpZiBGdChidWlsdGlucyloKG0pbSh1c3QpaChiKXMoZSllKHVzZWQpaAotKHRvKWkoYWRkKTYzMCA0NzUxIHkoYW5kKTM3IGIocmVtbyltKHYpbShlKWgoZGlyZWN0b3JpZXMuKTYzCi1iKEFzc2lnbm1lbiltKHQpMzcgYih0byloKHRoaXMpZih2KS01IGIoYXJpYWJsZSkzOCBiKHdpbGwpZyhub3QpZihjKW0KLShoYW5nZSlpKHRoZSllKGN1ci0pNjMwIDQ4NjEgeShyZW4pbSh0KWMoZGlyZWN0b3J5KS04Ci1iKC4pNDcgYihJZikzMiBiIEZzKERJUlNUQUNLKWUgRnQoaXMpaSh1bnNldCwpZyhpdCloKGxvc2VzKWcoaXRzKWcoc3ApcwotKGVjaWFsKWcocHJvcClzKGVydGllcywpZihldiltKGVuKWgoaWYpZihpdCloKGlzKTYzMAotNDk3MCB5KHN1YnNlcXVlbiltKHRseSlkKHJlc2V0LikxNTAgNTEyMSB5IEZzKEVNQUNTKTI0MAotYiBGdChJZikzMSBiKEJhc2gpaChcMDE0bmRzKWQodGhpcylqKHYpLTUgYihhcmlhYmxlKTMyCi1iKGluKWYodGhlKWgoZW4pbSh2aXJvbm1lbiltKHQpZyh3aGVuKWUodGhlKWkoc2hlbGwpZihzdGFydHMpaCh3aXRoKWYKLSh2KS01IGIoYWx1ZSk2MzAgNTIzMCB5KGApcCBGcyh0KXAgRnQoJywpMzggYihpdCllKGFzc3VtZXMpZyh0aGF0KWcKLSh0aGUpaChzaGVsbClmKGlzKWcocnVubmluZyllKGluKWkoYW4pZyhlbWFjcylnKHNoZWxsKWgoYnVcMDEzZXIpZShhbmQpCi1nKGRpc2FibGVzKTYzMCA1MzQwIHkobGluZSljKGVkaXRpbmcuKXAgZW9wIGVuZAorNTAxMSB5KGxpbmUuKTk0IGIoVGhlKTQ3IGIobGluZSlpKGlzKWYoc3BsaXQpZyhpbiltKHRvKWgodyltKG9yZHMpZShhcykKK2goUmVhZGxpbmUpaCh3KW0ob3VsZClmKHNwbGl0KWcoaXQsKTUzIGIodXNpbmcpNDcgYiBGcyhDT01QXyk2MzAKKzUxMjEgeShXT1JEQlJFQUtTKTM0IGIgRnQoYXMpaShkZXNjcmliKXMoZWQpZyhhYilzKG8pbSh2KW0oZS4pNjAKK2IoVGhpcykzNiBiKHYpLTUgYihhcmlhYmxlKTM3IGIoaXMpZihhKW0odiktNSBiKGFpbGFibGUpMzkKK2Iob25seSllKGluKWYoc2hlbGwpaChmdW5jLSk2MzAgNTIzMCB5KHRpb25zKTMyIGIoaW4pbSh2KW0ob2spbShlZClpKGIpCittKHkpZCh0aGUpaShwcm9ncmFtbWFibGUpZihjb21wbGV0aW9uKWgoZmFjaWxpdGllcyloKFwoc2VlKWYoU2VjdGlvbilnCisoOC42KWcoW1Byby0pNjMwIDUzNDAgeShncmFtbWFibGUpZShDb21wbGV0aW9uXSwpZyhwYWdlKWcoMTE1XCkuKXAKK2VvcCBlbmQKICUlUGFnZTogNjUgNzEKIFRlWERpY3QgYmVnaW4gNjUgNzAgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDU6KTQxCi1iKFNoZWxsKTMwIGIoViktOCBiKGFyaWFibGVzKTI0NTkgYig2NSkxNTAgMjk5IHkgRnMoRVVJRCkyODgKK2IoU2hlbGwpMzAgYihWKS04IGIoYXJpYWJsZXMpMjQ1OSBiKDY1KTE1MCAyOTkgeSBGcyhDT01QUkVQTFkpNjMwCis0MDggeSBGdChBbikzNyBiKGFycmEpbSh5KWgodiktNSBiKGFyaWFibGUpMzggYihmcm9tKWYod2hpYyltKGgpZyhCYXNoKQorZyhyZWFkcylnKHRoZSloKHApcyhvc3NpYmxlKWUoY29tcGxldGlvbnMpaihnZW5lcmF0ZWQpNjMwCis1MTggeShiKW0oeSkzMyBiKGEpZyhzaGVsbCloKGZ1bmN0aW9uKWYoaW4pbSh2KW0ob2spbShlZCloKGIpbSh5KWYodGhlKQorZyhwcm9ncmFtbWFibGUpaChjb21wbGV0aW9uKWcoZmFjaWxpdCltKHkpaChcKHNlZSlmKFNlYy0pNjMwCis2MjggeSh0aW9uKWQoOC42KWcoW1Byb2dyYW1tYWJsZSlnKENvbXBsZXRpb25dLCloKHBhZ2UpZigxMTVcKS4pMTUwCis3NzQgeSBGcyhESVJTVEFDSyk5NiBiIEZ0KEFuKTI2IGIoYXJyYSltKHkpaCh2KS01IGIoYXJpYWJsZSkyOAorYihjb24pbSh0YWluaW5nKWcodGhlKWYoY3VycmVuKW0odClmKGNvbiltKHRlbiltKHRzKWoob2YpZSh0aGUpZgorKGRpcmVjdG9yeSlpKHN0YWMpbShrLik0MSBiKERpcmVjLSk2MzAgODgzIHkodG9yaWVzKTMzCitiKGFwcClzKGVhcilmKGluKWcodGhlKWgoc3RhYyltKGspaChpbillKHRoZSloKG9yZGVyKWYodGhleSloKGFyZSlnCisoZGlzcGxhKW0oeSltKGVkKWcoYiltKHkpZih0aGUpaCBGcyhkaXJzKWUgRnQoYnVpbHRpbi4pNjMwCis5OTMgeShBc3NpZ25pbmcpZih0byloKG1lbSltKGIpcyhlcnMpZihvZilnKHRoaXMpZyhhcnJhKW0oeSlnKHYpLTUKK2IoYXJpYWJsZSkzMSBiKG1hKW0oeSlnKGIpcyhlKWUodXNlZCloKHRvKWgobW8pcyhkaWZ5KWUoZGlyZWN0b3JpZXMpNjMwCisxMTAzIHkoYWxyZWFkeSk0MSBiKGluKWYodGhlKWgoc3RhYyltKGssKWsoYnV0KTQwIGIodGhlKWgKK0ZzKHB1c2hkKWUgRnQoYW5kKWggRnMocG9wZClmIEZ0KGJ1aWx0aW5zKWgobSltKHVzdCloKGIpcyhlKWUodXNlZCloCisodG8paShhZGQpNjMwIDEyMTIgeShhbmQpMzcgYihyZW1vKW0odiltKGUpaChkaXJlY3Rvcmllcy4pNjMKK2IoQXNzaWdubWVuKW0odCkzNyBiKHRvKWgodGhpcylmKHYpLTUgYihhcmlhYmxlKTM4IGIod2lsbClnKG5vdClmKGMpbQorKGhhbmdlKWkodGhlKWUoY3VyLSk2MzAgMTMyMiB5KHJlbiltKHQpYyhkaXJlY3RvcnkpLTgKK2IoLik0NyBiKElmKTMyIGIgRnMoRElSU1RBQ0spZSBGdChpcylpKHVuc2V0LClnKGl0KWgobG9zZXMpZyhpdHMpZyhzcClzCisoZWNpYWwpZyhwcm9wKXMoZXJ0aWVzLClmKGV2KW0oZW4paChpZilmKGl0KWgoaXMpNjMwCisxNDMxIHkoc3Vic2VxdWVuKW0odGx5KWQocmVzZXQuKTE1MCAxNTc3IHkgRnMoRU1BQ1MpMjQwCitiIEZ0KElmKTMxIGIoQmFzaCloKFwwMTRuZHMpZCh0aGlzKWoodiktNSBiKGFyaWFibGUpMzIKK2IoaW4pZih0aGUpaChlbiltKHZpcm9ubWVuKW0odClnKHdoZW4pZSh0aGUpaShzaGVsbClmKHN0YXJ0cyloKHdpdGgpZgorKHYpLTUgYihhbHVlKTYzMCAxNjg3IHkoYClwIEZzKHQpcCBGdCgnLCkzOCBiKGl0KWUoYXNzdW1lcylnKHRoYXQpZworKHRoZSloKHNoZWxsKWYoaXMpZyhydW5uaW5nKWUoaW4paShhbilnKGVtYWNzKWcoc2hlbGwpaChidVwwMTNlcillKGFuZCkKK2coZGlzYWJsZXMpNjMwIDE3OTcgeShsaW5lKWMoZWRpdGluZy4pMTUwIDE5NDMgeSBGcyhFVUlEKTI4OAogYiBGdChUaGUpMzAgYihuKW0odW1lcmljKWcoZVwwMTNlY3RpdiltKGUpaih1c2VyKWQoaWQpZyhvZilnKHRoZSloCiAoY3VycmVuKW0odClmKHVzZXIuKTQwIGIoVGhpcykzMCBiKHYpLTUgYihhcmlhYmxlKTMxCi1iKGlzKWYocmVhZG9ubHkpLTggYiguKTE1MCA0NjMgeSBGcyhGQ0VESVQpMTkyIGIgRnQoVGhlKTMwCitiKGlzKWYocmVhZG9ubHkpLTggYiguKTE1MCAyMDg5IHkgRnMoRkNFRElUKTE5MiBiIEZ0KFRoZSkzMAogYihlZGl0b3IpaCh1c2VkKWUoYXMpaShhKWcoZGVmYXVsdClmKGIpbSh5KWgodGhlKWYoYClwCiBGcygtZSlwIEZ0KCcpZyhvcHRpb24paCh0bylnKHRoZSlnIEZzKGZjKWYgRnQoYnVpbHRpbilnKGNvbW1hbmQuKTE1MAotNjI4IHkgRnMoRklHTk9SRSkxNDQgYiBGdChBKTM1IGIoY29sb24tc2VwYXJhdGVkKWkobGlzdClmKG9mKWcKKzIyMzUgeSBGcyhGSUdOT1JFKTE0NCBiIEZ0KEEpMzUgYihjb2xvbi1zZXBhcmF0ZWQpaShsaXN0KWYob2YpZwogKHN1XDAxNnhlcyllKHRvKWkoaWdub3JlKWcod2hlbillKHApcyhlcmZvcm1pbmcpZyhcMDE0bGVuYW1lKWkoY29tcGxlLSkKLTYzMCA3MzcgeSh0aW9uLilqKEEpMjUgYihcMDE0bGUpZyhuYW1lKWcod2hvc2UpZihzdVwwMTZ4KWcobWF0YyltKGhlcylpCi0ob25lKWYob2YpZyh0aGUpZyhlbiltKHRyaWVzKWcoaW4pZyBGcyhGSUdOT1JFKWQgRnQoaXMpaihleGNsdWRlZCk2MzAKLTg0NyB5KGZyb20pMzAgYih0aGUpZyhsaXN0KWgob2YpZyhtYXRjKW0oaGVkKWcoXDAxNGxlKWcobmFtZXMuKTQwCis2MzAgMjM0NSB5KHRpb24uKWooQSkyNSBiKFwwMTRsZSlnKG5hbWUpZyh3aG9zZSlmKHN1XDAxNngpZyhtYXRjKW0oaGVzKQoraShvbmUpZihvZilnKHRoZSlnKGVuKW0odHJpZXMpZyhpbilnIEZzKEZJR05PUkUpZCBGdChpcylqKGV4Y2x1ZGVkKTYzMAorMjQ1NCB5KGZyb20pMzAgYih0aGUpZyhsaXN0KWgob2YpZyhtYXRjKW0oaGVkKWcoXDAxNGxlKWcobmFtZXMuKTQwCiBiKEEpMzEgYihzYW1wbGUpZih2KS01IGIoYWx1ZSkzMSBiKGlzKWcoYClwIEZzKC5vOn4pcAotRnQoJykxNTAgMTAxMSB5IEZzKEZVTkNOQU1FKTk2IGIgRnQoQW4pMzUgYihhcnJhKW0oeSlpKHYpLTUKK0Z0KCcpMTUwIDI2MDAgeSBGcyhGVU5DTkFNRSk5NiBiIEZ0KEFuKTM1IGIoYXJyYSltKHkpaSh2KS01CiBiKGFyaWFibGUpMzYgYihjb24pbSh0YWluaW5nKWgodGhlKWYobmFtZXMpZyhvZilnKGFsbClnKHNoZWxsKWcKLShmdW5jdGlvbnMpZyhjdXJyZW4pbSh0bHkpZihpbiloKHRoZSk2MzAgMTEyMSB5KGV4ZWN1dGlvbilnKGNhbGwpaAorKGZ1bmN0aW9ucylnKGN1cnJlbiltKHRseSlmKGluKWgodGhlKTYzMCAyNzEwIHkoZXhlY3V0aW9uKWcoY2FsbCloCiAoc3RhYyltKGsuKTU3IGIoVGhlKTM0IGIoZWxlbWVuKW0odClqKHdpdGgpZShpbmRleClnKDApaChpcylmKHRoZSlnCi0obmFtZSloKG9mKWYoYW4pbSh5KWgoY3VycmVuKW0odGx5LSk2MzAgMTIzMCB5KGV4ZWN1dGluZylpKHNoZWxsKWYKKyhuYW1lKWgob2YpZihhbiltKHkpaChjdXJyZW4pbSh0bHktKTYzMCAyODE5IHkoZXhlY3V0aW5nKWkoc2hlbGwpZgogKGZ1bmN0aW9uLik2MSBiKFRoZSkzNiBiKGIpcyhvdHRvbS1tb3N0KWkoZWxlbWVuKW0odCloKGlzKWUKLUZzKCJtYWluIilwIEZ0KC4pNTkgYihUaGlzKTM2IGIodiktNSBiKGFyaWFibGUpNjMwIDEzNDAKK0ZzKCJtYWluIilwIEZ0KC4pNTkgYihUaGlzKTM2IGIodiktNSBiKGFyaWFibGUpNjMwIDI5MjkKIHkoZXhpc3RzKTMzIGIob25seSlnKHdoZW4pZihhKWgoc2hlbGwpZyhmdW5jdGlvbilmKGlzKWgoZXhlY3V0aW5nLik0OQogYihBc3NpZ25tZW4pbSh0cykzMyBiKHRvKWcgRnMoRlVOQ05BTUUpZSBGdChoYSltKHYpbShlKTYzMAotMTQ1MCB5KG5vKTM2IGIoZVwwMTNlY3QpaChhbmQpZShyZXR1cm4pZihhbilpKGVycm9yKWYoc3RhdHVzLik1NworMzAzOSB5KG5vKTM2IGIoZVwwMTNlY3QpaChhbmQpZShyZXR1cm4pZihhbilpKGVycm9yKWYoc3RhdHVzLik1NwogYihJZikzNiBiIEZzKEZVTkNOQU1FKWQgRnQoaXMpaih1bnNldCwpaChpdClmKGxvc2VzKWcoaXRzKWcoc3ApcyhlY2lhbCkKLTYzMCAxNTU5IHkocHJvcClzKGVydGllcywpMzAgYihldiltKGVuKWgoaWYpZihpdCloKGlzKWcoc3Vic2VxdWVuKW0KLSh0bHkpZihyZXNldC4pMTUwIDE3MjQgeSBGcyhHTE9CSUdOT1JFKTYzMCAxODMzIHkgRnQoQSkzOAorNjMwIDMxNDggeShwcm9wKXMoZXJ0aWVzLCkzMCBiKGV2KW0oZW4paChpZilmKGl0KWgoaXMpZyhzdWJzZXF1ZW4pbQorKHRseSlmKHJlc2V0LikxNTAgMzI5NCB5IEZzKEdMT0JJR05PUkUpNjMwIDM0MDQgeSBGdChBKTM4CiBiKGNvbG9uLXNlcGFyYXRlZClpKGxpc3QpZihvZilmKHBhdHRlcm5zKWcoZGVcMDE0bmluZylmKHRoZSloKHNldClnKG9mKQotaChcMDE0bGVuYW1lcylmKHRvKWcoYilzKGUpZyhpZ25vcmVkKTYzMCAxOTQzIHkoYiltKHkpMzEKK2goXDAxNGxlbmFtZXMpZih0bylnKGIpcyhlKWcoaWdub3JlZCk2MzAgMzUxMyB5KGIpbSh5KTMxCiBiKFwwMTRsZW5hbWUpZyhleHBhbnNpb24uKTQzIGIoSWYpMzEgYihhKWgoXDAxNGxlbmFtZSlmKG1hdGMpbShoZWQpaChiKQotbSh5KWYoYSlnKFwwMTRsZW5hbWUpaChleHBhbnNpb24pZihwYXR0ZXJuKTYzMCAyMDUyIHkoYWxzbylpKG1hdGMpbQorbSh5KWYoYSlnKFwwMTRsZW5hbWUpaChleHBhbnNpb24pZihwYXR0ZXJuKTYzMCAzNjIzIHkoYWxzbylpKG1hdGMpbQogKGhlcylnKG9uZSlmKG9mKWcodGhlKWcocGF0dGVybnMpZyhpbilmIEZzKEdMT0JJR05PUkUpcAogRnQoLClmKGl0KWkoaXMpZyhyZW1vKW0odiltKGVkKWgoZnJvbSllKHRoZSloKGxpc3QpaChvZik2MzAKLTIxNjIgeShtYXRjKW0oaGVzLikxNTAgMjMyNiB5IEZzKEdST1VQUykxOTIgYiBGdChBbikzNgorMzczMyB5KG1hdGMpbShoZXMuKTE1MCAzODc5IHkgRnMoR1JPVVBTKTE5MiBiIEZ0KEFuKTM2CiBiKGFycmEpbSh5KWcodiktNSBiKGFyaWFibGUpMzcgYihjb24pbSh0YWluaW5nKWcodGhlKWYobGlzdCloKG9mKWYKIChncm91cHMpZyhvZilnKHdoaWMpbShoKWYodGhlKWkoY3VycmVuKW0odCllKHVzZXIpaChpcylnKGEpNjMwCi0yNDM2IHkobWVtKW0oYilzKGVyLik0NyBiKEFzc2lnbm1lbiltKHRzKTMzIGIodG8pZyBGcyhHUk9VUFMpZQorMzk4OCB5KG1lbSltKGIpcyhlci4pNDcgYihBc3NpZ25tZW4pbSh0cykzMyBiKHRvKWcgRnMoR1JPVVBTKWUKIEZ0KGhhKW0odiltKGUpaihubylmKGVcMDEzZWN0KWgoYW5kKWUocmV0dXJuKWcoYW4pZyhlcnJvcilnKHN0YXR1cy4pNDgKLWIoSWYpNjMwIDI1NDUgeSBGcyhHUk9VUFMpMjkgYiBGdChpcyloKHVuc2V0LClnKGl0KWgobG9zZXMpZyhpdHMpZyhzcClzCitiKElmKTYzMCA0MDk4IHkgRnMoR1JPVVBTKTI5IGIgRnQoaXMpaCh1bnNldCwpZyhpdCloKGxvc2VzKWcoaXRzKWcoc3ApcwogKGVjaWFsKWcocHJvcClzKGVydGllcywpZihldiltKGVuKWgoaWYpZihpdCloKGlzKWcoc3Vic2VxdWVuKW0odGx5KWYKLShyZXNldC4pMTUwIDI3MTAgeSBGcyhoaXN0Y2hhcnMpNjMwIDI4MTkgeSBGdChVcCljKHRvKWcodGhyZWUpZyhjKW0KKyhyZXNldC4pMTUwIDQyNDQgeSBGcyhoaXN0Y2hhcnMpNjMwIDQzNTQgeSBGdChVcCljKHRvKWcodGhyZWUpZyhjKW0KIChoYXJhY3RlcnMpaSh3aGljKW0oaClkKGNvbiltKHRyb2wpaihoaXN0b3J5KWQoZXhwYW5zaW9uLClpKHF1aWMpbShrKWcKLShzdWJzdGl0dXRpb24sKWcoYW5kKTYzMCAyOTI5IHkodG9rKW0oZW5pemF0aW9uKWsoXChzZWUpZihTZWN0aW9uKWYKKyhzdWJzdGl0dXRpb24sKWcoYW5kKTYzMCA0NDYzIHkodG9rKW0oZW5pemF0aW9uKWsoXChzZWUpZihTZWN0aW9uKWYKICg5LjMpaChbSGlzdG9yeSlmKEluKW0odGVyYWN0aW9uXSwpaShwYWdlKWYoMTIzXCkuKTQxCi1iKFRoZSkyOSBiKFwwMTRyc3QpZShjKW0oaGFyYWMtKTYzMCAzMDM5IHkodGVyKWooaXMpZih0aGUpZworYihUaGUpMjkgYihcMDE0cnN0KWUoYyltKGhhcmFjLSk2MzAgNDU3MyB5KHRlcilqKGlzKWYodGhlKWcKIEZxKGhpc3RvcnkpZyhleHBhbnNpb24pZyBGdChjKW0oaGFyYWN0ZXIsKWoodGhhdCllKGlzLClmKHRoZSloKGMpbQotKGhhcmFjdGVyKWgod2hpYyltKGgpZChzaWduaVwwMTRlcylpKHRoZSk2MzAgMzE0OCB5KHN0YXJ0KTI1CisoaGFyYWN0ZXIpaCh3aGljKW0oaClkKHNpZ25pXDAxNGVzKWkodGhlKTYzMCA0NjgyIHkoc3RhcnQpMjUKIGIob2YpZihhKWgoaGlzdG9yeSlmKGV4cGFuc2lvbiwpaShub3JtYWxseSllKGApcCBGcyghKXAKIEZ0KCcuKTM5IGIoVGhlKTI0IGIoc2Vjb25kKWcoYyltKGhhcmFjdGVyKWkoaXMpZSh0aGUpZyhjKW0oaGFyYWN0ZXIpNjMwCi0zMjU4IHkod2hpYyltKGgpMzYgYihzaWduaVwwMTRlcylnKGBxdWljKW0oayloKHN1YnN0aXR1dGlvbicpZih3aGVuKWYKKzQ3OTIgeSh3aGljKW0oaCkzNiBiKHNpZ25pXDAxNGVzKWcoYHF1aWMpbShrKWgoc3Vic3RpdHV0aW9uJylmKHdoZW4pZgogKHNlZW4paChhcylnKHRoZSlnKFwwMTRyc3QpZihjKW0oaGFyYWN0ZXIpaihvbillKGEpZyhsaW5lLCk2MzAKLTMzNjcgeShub3JtYWxseSkyNyBiKGApcCBGcyheKXAgRnQoJy4pMzkgYihUaGUpMjYgYihvcHRpb25hbClpKHRoaXJkKWQKKzQ5MDIgeShub3JtYWxseSkyNyBiKGApcCBGcyheKXAgRnQoJy4pMzkgYihUaGUpMjYgYihvcHRpb25hbClpKHRoaXJkKWQKIChjKW0oaGFyYWN0ZXIpaihpcyllKHRoZSloKGMpbShoYXJhY3RlciloKHdoaWMpbShoKWUoaW5kaWNhdGVzKWgodGhhdCkKLTYzMCAzNDc3IHkodGhlKTM0IGIocmVtYWluZGVyKWYob2YpaCh0aGUpZyhsaW5lKWcoaXMpZihhKWgoY29tbWVuKW0odCloCis2MzAgNTAxMSB5KHRoZSkzNCBiKHJlbWFpbmRlcilmKG9mKWgodGhlKWcobGluZSlnKGlzKWYoYSloKGNvbW1lbiltKHQpaAogKHdoZW4pZShmb3VuZClmKGFzKWkodGhlKWcoXDAxNHJzdClmKGMpbShoYXJhY3RlcilpKG9mKWYoYSk2MzAKLTM1ODcgeSh3KW0ob3JkLClpKHVzdWFsbHkpZihgKXAgRnMoIylwIEZ0KCcuKTU1IGIoVGhlKTM0Cis1MTIxIHkodyltKG9yZCwpaSh1c3VhbGx5KWYoYClwIEZzKCMpcCBGdCgnLik1NSBiKFRoZSkzNAogYihoaXN0b3J5KWgoY29tbWVuKW0odCloKGMpbShoYXJhY3RlciloKGNhdXNlcyllKGhpc3RvcnkpZwotKHN1YnN0aXR1dGlvbik2MzAgMzY5NiB5KHRvKTI3IGIoYilzKGUpZihza2lwcClzKGVkKWYoZm9yKWkodGhlKWYKKyhzdWJzdGl0dXRpb24pNjMwIDUyMzAgeSh0bykyNyBiKGIpcyhlKWYoc2tpcHApcyhlZClmKGZvcilpKHRoZSlmCiAocmVtYWluaW5nKWgodyltKG9yZHMpZihvbiloKHRoZSlmKGxpbmUuKTQwIGIoSXQpMjcgYihkbylzKGVzKWYobm90KWgKLShuZWNlc3NhcmlseSlnKGNhdXNlKTYzMCAzODA2IHkodGhlKWsoc2hlbGwpZihwYXJzZXIpZyh0byloKHRyZWF0KWcKLSh0aGUpZyhyZXN0KWcob2YpZih0aGUpaChsaW5lKWYoYXMpaChhKWcoY29tbWVuKW0odC4pMTUwCi0zOTcwIHkgRnMoSElTVENNRCkxNDQgYiBGdChUaGUpMzUgYihoaXN0b3J5KWgobiltKHVtKW0oYilzKGVyLClnKG9yKWYKLShpbmRleClnKGluKWgodGhlKWcoaGlzdG9yeSlmKGxpc3QsKWoob2YpZSh0aGUpZyhjdXJyZW4pbSh0KWYoY29tbWFuZC4pCi01NiBiKElmKTYzMCA0MDgwIHkgRnMoSElTVENNRCkyOCBiIEZ0KGlzKWgodW5zZXQsKWgoaXQpZyhsb3NlcyloKGl0cylmCi0oc3ApcyhlY2lhbClnKHByb3ApcyhlcnRpZXMsKWcoZXYpbShlbilnKGlmKWcoaXQpZyhpcylnKHN1YnNlcXVlbiltCi0odGx5KWYocmVzZXQuKTE1MCA0MjQ0IHkgRnMoSElTVENPTlRST0wpNjMwIDQzNTQgeSBGdChBKTQwCi1iKGNvbG9uLXNlcGFyYXRlZClpKGxpc3QpZihvZilmKHYpLTUgYihhbHVlcyk0MCBiKGNvbiltKHRyb2xsaW5nKWkoaG8pbQotKHcpZShjb21tYW5kcylnKGFyZSloKHNhKW0odiltKGVkKWcob24pZih0aGUpNjMwIDQ0NjMKLXkoaGlzdG9yeSkyOSBiKGxpc3QuKTQxIGIoSWYpMjggYih0aGUpaChsaXN0KWgob2YpZih2KS01Ci1iKGFsdWVzKTI5IGIoaW5jbHVkZXMpZihgKXAgRnMoaWdub3Jlc3BhY2UpcCBGdCgnLClmKGxpbmVzKWkod2hpYyltKGgpZwotKGIpcyhlZ2luKWYod2l0aCk2MzAgNDU3MyB5KGEpMzkgYihzcGFjZSlnKGMpbShoYXJhY3RlcilpKGFyZSllKG5vdClnCi0oc2EpbSh2KW0oZWQpZyhpbilnKHRoZSlnKGhpc3RvcnkpZihsaXN0Lik2NiBiKEEpMzkgYih2KS01Ci1iKGFsdWUpMzkgYihvZilnKGApcCBGcyhpZ25vcmVkdXBzKXAgRnQoJyk2MzAgNDY4MiB5KGNhdXNlcykzNAotYihsaW5lcyloKHdoaWMpbShoKWYobWF0YyltKGgpaCh0aGUpZihwcmV2aW91cylmKGhpc3RvcnkpaChlbiltKHRyeSloCi0odG8pZyhub3QpZihiKXMoZSlmKHNhKW0odiltKGVkLik1MyBiKEEpMzQgYih2KS01IGIoYWx1ZSk2MzAKLTQ3OTIgeShvZikzMiBiKGApcCBGcyhpZ25vcmVib3RoKXAgRnQoJylkKGlzKWooc2hvcnRoYW5kKWUoZm9yKWkoYClwCi1GcyhpZ25vcmVzcGFjZSlwIEZ0KCcpZChhbmQpaShgKXAgRnMoaWdub3JlZHVwcylwIEZ0KCcuKTQyCi1iKEEpMzIgYih2KS01IGIoYWx1ZSkzMiBiKG9mKTYzMCA0OTAyIHkoYClwIEZzKGVyYXNlZHVwcylwCi1GdCgnKWYoY2F1c2VzKWkoYWxsKWgocHJldmlvdXMpZihsaW5lcylnKG1hdGMpbShoaW5nKWgodGhlKWYoY3VycmVuKW0KLSh0KWcobGluZSlnKHRvKWgoYilzKGUpZShyZW1vKW0odiltKGVkKTYzMCA1MDExIHkoZnJvbSk0MgotYih0aGUpaChoaXN0b3J5KWYobGlzdClpKGIpcyhlZm9yZSllKHRoYXQpaChsaW5lKWcoaXMpZyhzYSltKHYpbShlZC4pNzgKLWIoQW4pbSh5KTQzIGIodiktNSBiKGFsdWUpNDMgYihub3QpZyhpbilmKHRoZSloKGFiKXMobyltKHYpbShlKTYzMAotNTEyMSB5KGxpc3QpMzUgYihpcylnKGlnbm9yZWQuKTUzIGIoSWYpMzQgYiBGcyhISVNUQ09OVFJPTCllCi1GdChpcylpKHVuc2V0LClpKG9yKWUoZG8pcyhlcyloKG5vdClnKGluY2x1ZGUpZihhKWgodiktNQotYihhbGlkKTM1IGIodiktNSBiKGFsdWUsKTM2IGIoYWxsKTYzMCA1MjMwIHkobGluZXMpMzAKLWIocmVhZClnKGIpbSh5KWcodGhlKWcoc2hlbGwpZyhwYXJzZXIpZyhhcmUpZyhzYSltKHYpbShlZCloKG9uKWYodGhlKWcKLShoaXN0b3J5KWcobGlzdCwpaChzdWIpNSBiKGplY3QpMzAgYih0bylnKHRoZSlnKHYpLTUKLWIoYWx1ZSk2MzAgNTM0MCB5KG9mKTQyIGIgRnMoSElTVElHTk9SRSlwIEZ0KC4pNzMgYihUaGUpNDIKLWIoc2Vjb25kKWcoYW5kKWcoc3Vic2VxdWVuKW0odClmKGxpbmVzKWgob2YpaChhKWYobSltKHVsdGktbGluZSloKGNvbXApCi1zKG91bmQpcCBlb3AgZW5kCisobmVjZXNzYXJpbHkpZyhjYXVzZSk2MzAgNTM0MCB5KHRoZSlrKHNoZWxsKWYocGFyc2VyKWcodG8paCh0cmVhdClnCisodGhlKWcocmVzdClnKG9mKWYodGhlKWgobGluZSlmKGFzKWgoYSlnKGNvbW1lbiltKHQuKXAKK2VvcCBlbmQKICUlUGFnZTogNjYgNzIKIFRlWERpY3QgYmVnaW4gNjYgNzEgYm9wIDE1MCAtMTE2IGEgRnQoNjYpMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeShjb21tYW5kKWkoYXJlKWgobm90KWcodGVzdGVkLClpKGFuZClkCi0oYXJlKWgoYWRkZWQpZih0byloKHRoZSlnKGhpc3RvcnkpZyhyZWdhcmRsZXNzKWcob2YpZyh0aGUpZih2KS01Ci1iKGFsdWUpNjMwIDQwOCB5KG9mKTMxIGIgRnMoSElTVENPTlRST0wpcCBGdCguKTE1MCA1NTMKLXkgRnMoSElTVEZJTEUpOTYgYiBGdChUaGUpMjcgYihuYW1lKWgob2YpZyh0aGUpZyhcMDE0bGUpZyh0byloKHdoaWMpbQotKGgpZih0aGUpZyhjb21tYW5kKWYoaGlzdG9yeSloKGlzKWcoc2EpbSh2KW0oZWQuKTQxIGIoVGhlKTI3Ci1iKGRlZmF1bHQpaCh2KS01IGIoYWx1ZSk2MzAgNjYyIHkoaXMpMzAgYihgKXAgRnMofi8uYmFzaF9oaXN0b3J5KXAKLUZ0KCcuKTE1MCA4MDYgeSBGcyhISVNURklMRVNJWkUpNjMwIDkxNiB5IEZ0KFRoZSljKG1heGltKW0odW0pZihuKW0odW0pCi1tKGIpcyhlcilnKG9mKWgobGluZXMpaChjb24pbSh0YWluZWQpZyhpbilmKHRoZSlnKGhpc3RvcnkpZyhcMDE0bGUuKTM5Ci1iKFdoZW4pMjYgYih0aGlzKWcodiktNSBiKGFyaWFibGUpNjMwIDEwMjYgeShpcykzMyBiKGFzc2lnbmVkKWgoYSlnKHYpCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRnMoSElTVENNRCkxNDQgYiBGdChUaGUpMzUKK2IoaGlzdG9yeSloKG4pbSh1bSltKGIpcyhlciwpZyhvcilmKGluZGV4KWcoaW4paCh0aGUpZyhoaXN0b3J5KWYobGlzdCwpCitqKG9mKWUodGhlKWcoY3VycmVuKW0odClmKGNvbW1hbmQuKTU2IGIoSWYpNjMwIDQwOCB5CitGcyhISVNUQ01EKTI4IGIgRnQoaXMpaCh1bnNldCwpaChpdClnKGxvc2VzKWgoaXRzKWYoc3ApcyhlY2lhbClnKHByb3ApcworKGVydGllcywpZyhldiltKGVuKWcoaWYpZyhpdClnKGlzKWcoc3Vic2VxdWVuKW0odGx5KWYocmVzZXQuKTE1MAorNTUyIHkgRnMoSElTVENPTlRST0wpNjMwIDY2MSB5IEZ0KEEpNDAgYihjb2xvbi1zZXBhcmF0ZWQpaShsaXN0KWYob2YpZgorKHYpLTUgYihhbHVlcyk0MCBiKGNvbiltKHRyb2xsaW5nKWkoaG8pbSh3KWUoY29tbWFuZHMpZyhhcmUpaChzYSltKHYpbQorKGVkKWcob24pZih0aGUpNjMwIDc3MSB5KGhpc3RvcnkpMjkgYihsaXN0Lik0MSBiKElmKTI4CitiKHRoZSloKGxpc3QpaChvZilmKHYpLTUgYihhbHVlcykyOSBiKGluY2x1ZGVzKWYoYClwCitGcyhpZ25vcmVzcGFjZSlwIEZ0KCcsKWYobGluZXMpaSh3aGljKW0oaClnKGIpcyhlZ2luKWYod2l0aCk2MzAKKzg4MSB5KGEpMzkgYihzcGFjZSlnKGMpbShoYXJhY3RlcilpKGFyZSllKG5vdClnKHNhKW0odiltKGVkKWcoaW4pZyh0aGUpCitnKGhpc3RvcnkpZihsaXN0Lik2NiBiKEEpMzkgYih2KS01IGIoYWx1ZSkzOSBiKG9mKWcoYClwCitGcyhpZ25vcmVkdXBzKXAgRnQoJyk2MzAgOTkwIHkoY2F1c2VzKTM0IGIobGluZXMpaCh3aGljKW0oaClmKG1hdGMpbShoKQoraCh0aGUpZihwcmV2aW91cylmKGhpc3RvcnkpaChlbiltKHRyeSloKHRvKWcobm90KWYoYilzKGUpZihzYSltKHYpbQorKGVkLik1MyBiKEEpMzQgYih2KS01IGIoYWx1ZSk2MzAgMTEwMCB5KG9mKTMyIGIoYClwIEZzKGlnbm9yZWJvdGgpcAorRnQoJylkKGlzKWooc2hvcnRoYW5kKWUoZm9yKWkoYClwIEZzKGlnbm9yZXNwYWNlKXAgRnQoJylkKGFuZClpKGApcAorRnMoaWdub3JlZHVwcylwIEZ0KCcuKTQyIGIoQSkzMiBiKHYpLTUgYihhbHVlKTMyIGIob2YpNjMwCisxMjA5IHkoYClwIEZzKGVyYXNlZHVwcylwIEZ0KCcpZihjYXVzZXMpaShhbGwpaChwcmV2aW91cylmKGxpbmVzKWcKKyhtYXRjKW0oaGluZyloKHRoZSlmKGN1cnJlbiltKHQpZyhsaW5lKWcodG8paChiKXMoZSllKHJlbW8pbSh2KW0oZWQpNjMwCisxMzE5IHkoZnJvbSk0MiBiKHRoZSloKGhpc3RvcnkpZihsaXN0KWkoYilzKGVmb3JlKWUodGhhdCloKGxpbmUpZyhpcylnCisoc2EpbSh2KW0oZWQuKTc4IGIoQW4pbSh5KTQzIGIodiktNSBiKGFsdWUpNDMgYihub3QpZyhpbilmKHRoZSloKGFiKXMKKyhvKW0odiltKGUpNjMwIDE0MjggeShsaXN0KTM1IGIoaXMpZyhpZ25vcmVkLik1MyBiKElmKTM0CitiIEZzKEhJU1RDT05UUk9MKWUgRnQoaXMpaSh1bnNldCwpaShvcillKGRvKXMoZXMpaChub3QpZyhpbmNsdWRlKWYoYSloCisodiktNSBiKGFsaWQpMzUgYih2KS01IGIoYWx1ZSwpMzYgYihhbGwpNjMwIDE1MzggeShsaW5lcykzMAorYihyZWFkKWcoYiltKHkpZyh0aGUpZyhzaGVsbClnKHBhcnNlcilnKGFyZSlnKHNhKW0odiltKGVkKWgob24pZih0aGUpZworKGhpc3RvcnkpZyhsaXN0LCloKHN1Yik1IGIoamVjdCkzMCBiKHRvKWcodGhlKWcodiktNQorYihhbHVlKTYzMCAxNjQ4IHkob2YpNDIgYiBGcyhISVNUSUdOT1JFKXAgRnQoLik3MyBiKFRoZSk0MgorYihzZWNvbmQpZyhhbmQpZyhzdWJzZXF1ZW4pbSh0KWYobGluZXMpaChvZiloKGEpZihtKW0odWx0aS1saW5lKWgoY29tcCkKK3Mob3VuZCk2MzAgMTc1NyB5KGNvbW1hbmQpMzMgYihhcmUpaChub3QpZyh0ZXN0ZWQsKWkoYW5kKWQoYXJlKWgoYWRkZWQpCitmKHRvKWgodGhlKWcoaGlzdG9yeSlnKHJlZ2FyZGxlc3MpZyhvZilnKHRoZSlmKHYpLTUgYihhbHVlKTYzMAorMTg2NyB5KG9mKTMxIGIgRnMoSElTVENPTlRST0wpcCBGdCguKTE1MCAyMDEwIHkgRnMoSElTVEZJTEUpOTYKK2IgRnQoVGhlKTI3IGIobmFtZSloKG9mKWcodGhlKWcoXDAxNGxlKWcodG8paCh3aGljKW0oaClmKHRoZSlnKGNvbW1hbmQpCitmKGhpc3RvcnkpaChpcylnKHNhKW0odiltKGVkLik0MSBiKFRoZSkyNyBiKGRlZmF1bHQpaCh2KS01CitiKGFsdWUpNjMwIDIxMjAgeShpcykzMCBiKGApcCBGcyh+Ly5iYXNoX2hpc3RvcnkpcCBGdCgnLikxNTAKKzIyNjMgeSBGcyhISVNURklMRVNJWkUpNjMwIDIzNzMgeSBGdChUaGUpYyhtYXhpbSltKHVtKWYobiltKHVtKW0oYilzCisoZXIpZyhvZiloKGxpbmVzKWgoY29uKW0odGFpbmVkKWcoaW4pZih0aGUpZyhoaXN0b3J5KWcoXDAxNGxlLikzOQorYihXaGVuKTI2IGIodGhpcylnKHYpLTUgYihhcmlhYmxlKTYzMCAyNDgyIHkoaXMpMzMgYihhc3NpZ25lZCloKGEpZyh2KQogLTUgYihhbHVlLCkzNSBiKHRoZSlmKGhpc3RvcnkpZihcMDE0bGUpZyhpcyloKHRydW5jYXRlZCwpZyhpZilnCiAobmVjZXNzYXJ5KS04IGIoLCkzNSBiKGIpbSh5KWUocmVtbyltKHZpbmcpaSh0aGUpNjMwCi0xMTM1IHkob2xkZXN0KTI5IGIoZW4pbSh0cmllcywpZyh0bylnKGNvbiltKHRhaW4pZyhubylmKG1vcmUpZyh0aGFuKWYKKzI1OTIgeShvbGRlc3QpMjkgYihlbiltKHRyaWVzLClnKHRvKWcoY29uKW0odGFpbilnKG5vKWYobW9yZSlnKHRoYW4pZgogKHRoYXQpaShuKW0odW0pbShiKXMoZXIpZShvZiloKGxpbmVzLik0MCBiKFRoZSkyNyBiKGhpc3RvcnkpaChcMDE0bGUpZwotKGlzKTYzMCAxMjQ1IHkoYWxzbykzMyBiKHRydW5jYXRlZCllKHRvKWgodGhpcylnKHNpemUpZyhhZnRlcilnCisoaXMpNjMwIDI3MDEgeShhbHNvKTMzIGIodHJ1bmNhdGVkKWUodG8paCh0aGlzKWcoc2l6ZSlnKGFmdGVyKWcKICh3cml0aW5nKWcoaXQpZyh3aGVuKWYoYW4pZyhpbiltKHRlcmFjdGl2KW0oZSlrKHNoZWxsKWMoZXhpdHMuKTQ1Ci1iKFRoZSk2MzAgMTM1NCB5KGRlZmF1bHQpMzEgYih2KS01IGIoYWx1ZSkzMCBiKGlzKWgoNTAwLikxNTAKLTE0OTkgeSBGcyhISVNUSUdOT1JFKTYzMCAxNjA4IHkgRnQoQSlpKGNvbG9uLXNlcGFyYXRlZCloKGxpc3QpZihvZilnCitiKFRoZSk2MzAgMjgxMSB5KGRlZmF1bHQpMzEgYih2KS01IGIoYWx1ZSkzMCBiKGlzKWgoNTAwLikxNTAKKzI5NTQgeSBGcyhISVNUSUdOT1JFKTYzMCAzMDY0IHkgRnQoQSlpKGNvbG9uLXNlcGFyYXRlZCloKGxpc3QpZihvZilnCiAocGF0dGVybnMpZih1c2VkKWcodG8paChkZWNpZGUpZyh3aGljKW0oaClmKGNvbW1hbmQpZyhsaW5lcyloKHNob3VsZCkKLTYzMCAxNzE4IHkoYilzKGUpZihzYSltKHYpbShlZCloKG9uKWcodGhlKWYoaGlzdG9yeSloKGxpc3QuKTQ3Cis2MzAgMzE3MyB5KGIpcyhlKWYoc2EpbSh2KW0oZWQpaChvbilnKHRoZSlmKGhpc3RvcnkpaChsaXN0Lik0NwogYihFYWMpbShoKTMzIGIocGF0dGVybilnKGlzKWYoYW5jKW0oaG9yZWQpaChhdClnKHRoZSlmKGIpcyhlZ2lubmluZylnCi0ob2YpaCh0aGUpNjMwIDE4MjcgeShsaW5lKTQzIGIoYW5kKWUobSltKHVzdCloKG1hdGMpbShoKWgodGhlKWcKKyhvZiloKHRoZSk2MzAgMzI4MyB5KGxpbmUpNDMgYihhbmQpZShtKW0odXN0KWgobWF0YyltKGgpaCh0aGUpZwogKGNvbXBsZXRlKWgobGluZSllKFwobm8paChpbXBsaWNpdClnKGApcCBGcygqKXAgRnQoJylmKGlzKWcoYXBwKXMKLShlbmRlZFwpLik3NSBiKEVhYyltKGgpNjMwIDE5MzcgeShwYXR0ZXJuKTQyIGIoaXMpZyh0ZXN0ZWQpZyhhZ2FpbnN0KWgKKyhlbmRlZFwpLik3NSBiKEVhYyltKGgpNjMwIDMzOTMgeShwYXR0ZXJuKTQyIGIoaXMpZyh0ZXN0ZWQpZyhhZ2FpbnN0KWgKICh0aGUpZihsaW5lKWcoYWZ0ZXIpZyh0aGUpZyhjKW0oaGVjKW0oa3MpaChzcClzKGVjaVwwMTRlZCllKGIpbSh5KWgKLUZzKEhJU1RDT05UUk9MKTYzMCAyMDQ3IHkgRnQoYXJlKTM3IGIoYXBwbGllZC4pNTkgYihJbikzNgorRnMoSElTVENPTlRST0wpNjMwIDM1MDIgeSBGdChhcmUpMzcgYihhcHBsaWVkLik1OSBiKEluKTM2CiBiKGFkZGl0aW9uKWgodG8pZyh0aGUpZyhub3JtYWwpZyhzaGVsbClmKHBhdHRlcm4paChtYXRjKW0oaGluZyloKGMpbQotKGhhcmFjdGVycywpaShgKXAgRnMoJilwIEZ0KCcpNjMwIDIxNTYgeShtYXRjKW0oaGVzKWQodGhlKWYocHJldmlvdXMpZworKGhhcmFjdGVycywpaShgKXAgRnMoJilwIEZ0KCcpNjMwIDM2MTIgeShtYXRjKW0oaGVzKWQodGhlKWYocHJldmlvdXMpZwogKGhpc3RvcnkpZyhsaW5lLik1NyBiKGApcCBGcygmKXAgRnQoJykzNiBiKG1hKW0oeSloKGIpcyhlKWUoZXNjYXApcyhlZCkKLWgodXNpbmcpZyhhKWcoYmFjKW0oa3NsYXNoOylrKHRoZSk2MzAgMjI2NiB5KGJhYyltKGtzbGFzaCkzNAoraCh1c2luZylnKGEpZyhiYWMpbShrc2xhc2g7KWsodGhlKTYzMCAzNzIxIHkoYmFjKW0oa3NsYXNoKTM0CiBiKGlzKWcocmVtbyltKHYpbShlZCloKGIpcyhlZm9yZSllKGF0dGVtcHRpbmcpaShhKWcobWF0YyltKGguKTUxCi1iKFRoZSkzNCBiKHNlY29uZClmKGFuZCloKHN1YnNlcXVlbiltKHQpNjMwIDIzNzUgeShsaW5lcyllKG9mKWgoYSlnKG0pbQorYihUaGUpMzQgYihzZWNvbmQpZihhbmQpaChzdWJzZXF1ZW4pbSh0KTYzMCAzODMxIHkobGluZXMpZShvZiloKGEpZyhtKW0KICh1bHRpLWxpbmUpZyhjb21wKXMob3VuZCllKGNvbW1hbmQpaChhcmUpaChub3QpZih0ZXN0ZWQsKWkoYW5kKWUoYXJlKWcKLShhZGRlZClnKHRvKWgodGhlKTYzMCAyNDg1IHkoaGlzdG9yeSlkKHJlZ2FyZGxlc3MpaChvZilnKHRoZSlmKHYpLTUKLWIoYWx1ZSkzMSBiKG9mKWcgRnMoSElTVElHTk9SRSlwIEZ0KC4pNjMwIDI2MTIgeSBGcyhISVNUSUdOT1JFKTIwCisoYWRkZWQpZyh0byloKHRoZSk2MzAgMzk0MSB5KGhpc3RvcnkpZChyZWdhcmRsZXNzKWgob2YpZyh0aGUpZih2KS01CitiKGFsdWUpMzEgYihvZilnIEZzKEhJU1RJR05PUkUpcCBGdCguKTYzMCA0MDY3IHkgRnMoSElTVElHTk9SRSkyMAogYiBGdChzdWJzdW1lcylnKHRoZSlqKGZ1bmN0aW9uKWYob2YpaCBGcyhISVNUQ09OVFJPTClwCiBGdCguKTM1IGIoQSkyMyBiKHBhdHRlcm4pZihvZiloKGApcCBGcygmKXAgRnQoJylnKGlzKWYoaWRlbiltKHRpY2FsKTYzMAotMjcyMSB5KHRvKWsgRnMoaWdub3JlZHVwcylwIEZ0KCwpZShhbmQpaChhKWgocGF0dGVybilnKG9mKWYoYClwCis0MTc3IHkodG8payBGcyhpZ25vcmVkdXBzKXAgRnQoLCllKGFuZCloKGEpaChwYXR0ZXJuKWcob2YpZihgKXAKIEZzKFspMzEgYihdKilwIEZ0KCcpMjUgYihpcyloKGlkZW4pbSh0aWNhbCloKHRvKWYgRnMoaWdub3Jlc3BhY2UpcAotRnQoLikzNiBiKENvbSltKGJpbmluZyk2MzAgMjgzMSB5KHRoZXNlKTMwIGIodCltKHcpbShvKWgocGF0dGVybnMsKWYKK0Z0KC4pMzYgYihDb20pbShiaW5pbmcpNjMwIDQyODYgeSh0aGVzZSkzMCBiKHQpbSh3KW0obyloKHBhdHRlcm5zLClmCiAoc2VwYXJhdGluZylnKHRoZW0pZyh3aXRoKWYoYSloKGNvbG9uLCloKHBybyltKHZpZGVzKWUodGhlKWgKLShmdW5jdGlvbmFsaXQpbSh5KWgob2YpNjMwIDI5NDEgeSBGcyhpZ25vcmVib3RoKXAgRnQoLikxNTAKLTMwODUgeSBGcyhISVNUU0laRSk5NiBiIEZ0KFRoZSk0MiBiKG1heGltKW0odW0pZyhuKW0odW0pbShiKXMoZXIpZihvZilpCisoZnVuY3Rpb25hbGl0KW0oeSloKG9mKTYzMCA0Mzk2IHkgRnMoaWdub3JlYm90aClwIEZ0KC4pMTUwCis0NTM5IHkgRnMoSElTVFNJWkUpOTYgYiBGdChUaGUpNDIgYihtYXhpbSltKHVtKWcobiltKHVtKW0oYilzKGVyKWYob2YpaQogKGNvbW1hbmRzKWUodG8paihyZW1lbSltKGIpcyhlcilkKG9uKWgodGhlKWgoaGlzdG9yeSlmKGxpc3QuKTc3Ci1iKFRoZSk2MzAgMzE5NCB5KGRlZmF1bHQpMzEgYih2KS01IGIoYWx1ZSkzMCBiKGlzKWgoNTAwLikxNTAKLTMzMzkgeSBGcyhISVNUVElNRUZPUk1BVCk2MzAgMzQ0OCB5IEZ0KElmKTQ0IGIodGhpcylnKHYpLTUKK2IoVGhlKTYzMCA0NjQ5IHkoZGVmYXVsdCkzMSBiKHYpLTUgYihhbHVlKTMwIGIoaXMpaCg1MDAuKTE1MAorNDc5MiB5IEZzKEhJU1RUSU1FRk9STUFUKTYzMCA0OTAyIHkgRnQoSWYpNDQgYih0aGlzKWcodiktNQogYihhcmlhYmxlKTQ1IGIoaXMpZihzZXQpZyhhbmQpZyhub3QpZyhuKW0odWxsLClrKGl0cylkKHYpLTUKIGIoYWx1ZSk0NCBiKGlzKWcodXNlZClnKGFzKWcoYSloKGZvcm1hdClmKHN0cmluZylnKGZvcik2MzAKLTM1NTggeSBGcShzdHJmdGltZSljIEZ0KHRvKTM1IGIocHJpbiltKHQpZih0aGUpaCh0aW1lKWcoc3RhbXApZihhc3NvKXMKKzUwMTEgeSBGcShzdHJmdGltZSljIEZ0KHRvKTM1IGIocHJpbiltKHQpZih0aGUpaCh0aW1lKWcoc3RhbXApZihhc3NvKXMKIChjaWF0ZWQpaSh3aXRoKWYoZWFjKW0oaClnKGhpc3RvcnkpZyhlbiltKHRyeSlmKGRpc3BsYSltKHkpbShlZCk2MzAKLTM2NjcgeShiKW0oeSlnKHRoZSlmIEZzKGhpc3RvcnkpZiBGdChidWlsdGluLik1MCBiKElmKTMzCis1MTIxIHkoYiltKHkpZyh0aGUpZiBGcyhoaXN0b3J5KWYgRnQoYnVpbHRpbi4pNTAgYihJZikzMwogYih0aGlzKWgodiktNSBiKGFyaWFibGUpMzQgYihpcylnKHNldCwpaCh0aW1lKWYoc3RhbXBzKWcoYXJlKWcod3JpdHRlbikKLWYodG8paSh0aGUpNjMwIDM3NzcgeShoaXN0b3J5KTI2IGIoXDAxNGxlKWcoc28pZyh0aGV5KWcobWEpbSh5KWgoYilzKGUpCitmKHRvKWkodGhlKTYzMCA1MjMwIHkoaGlzdG9yeSkyNiBiKFwwMTRsZSlnKHNvKWcodGhleSlnKG1hKW0oeSloKGIpcyhlKQogZShwcmVzZXJ2KW0oZWQpZyhhY3Jvc3MpaShzaGVsbClmKHNlc3Npb25zLikzOSBiKFRoaXMpMjUKLWIodXNlcyloKHRoZSlnKGhpc3RvcnkpNjMwIDM4ODYgeShjb21tZW4pbSh0KTMxIGIoYyltKGhhcmFjdGVyKWgodG8pZgotKGRpc3Rpbmd1aXNoKWYodGltZXN0YW1wcyloKGZyb20pZihvdGhlcilnKGhpc3RvcnkpaChsaW5lcy4pMTUwCi00MDMxIHkgRnMoSE9TVEZJTEUpOTYgYiBGdChDb24pbSh0YWlucykzOSBiKHRoZSlmKG5hbWUpZyhvZiloKGEpZwotKFwwMTRsZSlmKGluKWcodGhlKWcoc2FtZSloKGZvcm1hdClnKGFzKWYoYClwIEZzKC9ldGMvaG9zdHMpcAotRnQoJyllKHRoYXQpaihzaG91bGQpNjMwIDQxNDAgeShiKXMoZSlpKHJlYWQpaCh3aGVuKWYodGhlKWkoc2hlbGwpZgotKG5lZWRzKWYodG8paShjb21wbGV0ZSloKGEpZShob3N0bmFtZS4pNzYgYihUaGUpNDIgYihsaXN0KWcob2YpZyhwKXMKLShvc3NpYmxlKTYzMCA0MjUwIHkoaG9zdG5hbWUpMjYgYihjb21wbGV0aW9ucylnKG1hKW0oeSloKGIpcyhlKWQoYyltCi0oaGFuZ2VkKWood2hpbGUpZSh0aGUpaChzaGVsbClnKGlzKWYocnVubmluZzspaCh0aGUpZyhuZXh0KWYodGltZSk2MzAKLTQzNTkgeShob3N0bmFtZSkzNyBiKGNvbXBsZXRpb24paShpcyllKGF0dGVtcHRlZCloKGFmdGVyKWcodGhlKWYodiktNQotYihhbHVlKTM3IGIoaXMpaChjKW0oaGFuZ2VkLCloKEJhc2gpZShhZGRzKWcodGhlKTYzMAotNDQ2OSB5KGNvbiltKHRlbiltKHRzKTI3IGIob2YpZih0aGUpZyhuZXcpZihcMDE0bGUpaCh0byloKHRoZSlmCi0oZXhpc3RpbmcpZyhsaXN0Lik0MCBiKElmKTI1IGIgRnMoSE9TVEZJTEUpZiBGdChpcylpKHNldCwpaChidXQpZShoYXMpaAotKG5vKWYodiktNSBiKGFsdWUsKTYzMCA0NTc5IHkoQmFzaCk0MSBiKGF0dGVtcHRzKWcodG8pZyhyZWFkKWYoYClwCi1GcygvZXRjL2hvc3RzKXAgRnQoJylmKHRvKWkob2J0YWluKWcodGhlKWYobGlzdCloKG9mKWcocClzKG9zc2libGUpZgotKGhvc3RuYW1lKTYzMCA0Njg4IHkoY29tcGxldGlvbnMuKWkoV2hlbikzMCBiIEZzKEhPU1RGSUxFKWUKLUZ0KGlzKWoodW5zZXQsKWYodGhlKWcoaG9zdG5hbWUpaChsaXN0KWcoaXMpZihjbGVhcmVkLikxNTAKLTQ4MzIgeSBGcyhIT1NUTkFNRSk5NiBiIEZ0KFRoZSkzMCBiKG5hbWUpZyhvZiloKHRoZSlmKGN1cnJlbiltKHQpaAotKGhvc3QuKTE1MCA0OTc3IHkgRnMoSE9TVFRZUEUpOTYgYiBGdChBKTMwIGIoc3RyaW5nKWgoZGVzY3JpYmluZylmKHRoZSkKLWcobWFjKW0oaGluZSloKEJhc2gpZyhpcylmKHJ1bm5pbmcpZihvbi4pMTUwIDUxMjEgeSBGcyhJR05PUkVFT0YpNjMwCi01MjMwIHkgRnQoQ29uKW0odHJvbHMpZSh0aGUpaChhY3Rpb24pZyhvZilmKHRoZSlnKHNoZWxsKWcob24pZyhyZWNlaXB0KQotaChvZilmKGFuKWcgRnMoRU9GKWYgRnQoYyltKGhhcmFjdGVyKWkoYXMpZyh0aGUpZihzb2xlKWgoaW5wdXQuKTYzMAotNTM0MCB5KElmKWkoc2V0LClpKHRoZSlmKHYpLTUgYihhbHVlKTMyIGIoZGVub3RlcylmKHRoZSlnKG4pbSh1bSltKGIpcwotKGVyKWYob2YpaChjb25zZWN1dGl2KW0oZSlpIEZzKEVPRilkIEZ0KGMpbShoYXJhY3RlcnMpaSh0aGF0KWYoY2FuKWgoYikKLXMoZSlwIGVvcCBlbmQKK2IodXNlcyloKHRoZSlnKGhpc3RvcnkpNjMwIDUzNDAgeShjb21tZW4pbSh0KTMxIGIoYyltKGhhcmFjdGVyKWgodG8pZgorKGRpc3Rpbmd1aXNoKWYodGltZXN0YW1wcyloKGZyb20pZihvdGhlcilnKGhpc3RvcnkpaChsaW5lcy4pcAorZW9wIGVuZAogJSVQYWdlOiA2NyA3MwogVGVYRGljdCBiZWdpbiA2NyA3MiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNTopNDEKLWIoU2hlbGwpMzAgYihWKS04IGIoYXJpYWJsZXMpMjQ1OSBiKDY3KTYzMCAyOTkgeShyZWFkKTQwCi1iKGFzKWYodGhlKWgoXDAxNHJzdClmKGMpbShoYXJhY3RlcilpKG9uKWYoYW4pZihpbnB1dClnKGxpbmUpaChiKXMKLShlZm9yZSlmKHRoZSloKHNoZWxsKWcod2lsbClnKGV4aXQuKTcwIGIoSWYpMzkgYih0aGUpNjMwCi00MDggeSh2KS01IGIoYXJpYWJsZSkzOCBiKGV4aXN0cylmKGJ1dClmKGRvKXMoZXMpZyhub3QpaChoYSltKHYpbShlKWgKLShhKWcobiltKHVtZXJpYyllKHYpLTUgYihhbHVlKTM3IGIoXChvciloKGhhcyllKG5vKWgodiktNQotYihhbHVlXCkpMzcgYih0aGVuKWcodGhlKTYzMCA1MTggeShkZWZhdWx0KTMxIGIoaXMpZygxMC4pNDMKLWIoSWYpMzAgYih0aGUpaCh2KS01IGIoYXJpYWJsZSkzMSBiKGRvKXMoZXMpZyhub3QpZyhleGlzdCwpaCh0aGVuKWUKLUZzKEVPRilnIEZ0KHNpZ25pXDAxNGVzKWgodGhlKWcoZW5kKWYob2YpaChpbnB1dCk2MzAKLTYyOCB5KHRvKWcodGhlKWcoc2hlbGwuKTQxIGIoVGhpcykyOSBiKGlzKWkob25seSlmKGluKWcoZVwwMTNlY3QpaShmb3IpCi1lKGluKW0odGVyYWN0aXYpbShlKWooc2hlbGxzLikxNTAgNzc0IHkgRnMoSU5QVVRSQykxNDQKK2IoU2hlbGwpMzAgYihWKS04IGIoYXJpYWJsZXMpMjQ1OSBiKDY3KTE1MCAyOTkgeSBGcyhIT1NURklMRSk5NgorYiBGdChDb24pbSh0YWlucykzOSBiKHRoZSlmKG5hbWUpZyhvZiloKGEpZyhcMDE0bGUpZihpbilnKHRoZSlnKHNhbWUpaAorKGZvcm1hdClnKGFzKWYoYClwIEZzKC9ldGMvaG9zdHMpcCBGdCgnKWUodGhhdClqKHNob3VsZCk2MzAKKzQwOCB5KGIpcyhlKWkocmVhZCloKHdoZW4pZih0aGUpaShzaGVsbClmKG5lZWRzKWYodG8paShjb21wbGV0ZSloKGEpZQorKGhvc3RuYW1lLik3NiBiKFRoZSk0MiBiKGxpc3QpZyhvZilnKHApcyhvc3NpYmxlKTYzMAorNTE4IHkoaG9zdG5hbWUpMjYgYihjb21wbGV0aW9ucylnKG1hKW0oeSloKGIpcyhlKWQoYyltKGhhbmdlZClqKHdoaWxlKWUKKyh0aGUpaChzaGVsbClnKGlzKWYocnVubmluZzspaCh0aGUpZyhuZXh0KWYodGltZSk2MzAKKzYyOCB5KGhvc3RuYW1lKTM3IGIoY29tcGxldGlvbilpKGlzKWUoYXR0ZW1wdGVkKWgoYWZ0ZXIpZyh0aGUpZih2KS01CitiKGFsdWUpMzcgYihpcyloKGMpbShoYW5nZWQsKWgoQmFzaCllKGFkZHMpZyh0aGUpNjMwCis3MzcgeShjb24pbSh0ZW4pbSh0cyk0MyBiKG9mKWYodGhlKWYobmV3KWcoXDAxNGxlKWgodG8pZyh0aGUpZgorKGV4aXN0aW5nKWkobGlzdC4pNzQgYihJZik0MSBiIEZzKEhPU1RGSUxFKWUgRnQoaXMpaShzZXQsKWsoYnV0KWMoaGFzKWcKKyhubyk2MzAgODQ3IHkodiktNSBiKGFsdWUsKTI5IGIob3IpZShkbylzKGVzKWgobm90KWcobmFtZSlmKGEpaAorKHJlYWRhYmxlKWcoXDAxNGxlLCloKEJhc2gpZihhdHRlbXB0cylnKHRvKWcocmVhZClnKGApcAorRnMoL2V0Yy9ob3N0cylwIEZ0KCcpZCh0byk2MzAgOTU2IHkob2J0YWluKWoodGhlKWcobGlzdCloKG9mKWYocClzCisob3NzaWJsZSlmKGhvc3RuYW1lKWgoY29tcGxldGlvbnMuKTQxIGIoV2hlbikyOCBiIEZzKEhPU1RGSUxFKWUKK0Z0KGlzKWkodW5zZXQsKWcodGhlKTYzMCAxMDY2IHkoaG9zdG5hbWUpaihsaXN0KWcoaXMpZihjbGVhcmVkLikxNTAKKzEyMjYgeSBGcyhIT1NUTkFNRSk5NiBiIEZ0KFRoZSkzMCBiKG5hbWUpZyhvZiloKHRoZSlmKGN1cnJlbiltKHQpaAorKGhvc3QuKTE1MCAxMzg2IHkgRnMoSE9TVFRZUEUpOTYgYiBGdChBKTMwIGIoc3RyaW5nKWgoZGVzY3JpYmluZylmKHRoZSkKK2cobWFjKW0oaGluZSloKEJhc2gpZyhpcylmKHJ1bm5pbmcpZihvbi4pMTUwIDE1NDcgeSBGcyhJR05PUkVFT0YpNjMwCisxNjU2IHkgRnQoQ29uKW0odHJvbHMpZSh0aGUpaChhY3Rpb24pZyhvZilmKHRoZSlnKHNoZWxsKWcob24pZyhyZWNlaXB0KQoraChvZilmKGFuKWcgRnMoRU9GKWYgRnQoYyltKGhhcmFjdGVyKWkoYXMpZyh0aGUpZihzb2xlKWgoaW5wdXQuKTYzMAorMTc2NiB5KElmKWkoc2V0LClpKHRoZSlmKHYpLTUgYihhbHVlKTMyIGIoZGVub3RlcylmKHRoZSlnKG4pbSh1bSltKGIpcworKGVyKWYob2YpaChjb25zZWN1dGl2KW0oZSlpIEZzKEVPRilkIEZ0KGMpbShoYXJhY3RlcnMpaSh0aGF0KWYoY2FuKWgoYikKK3MoZSk2MzAgMTg3NSB5KHJlYWQpNDAgYihhcylmKHRoZSloKFwwMTRyc3QpZihjKW0oaGFyYWN0ZXIpaShvbilmKGFuKWYKKyhpbnB1dClnKGxpbmUpaChiKXMoZWZvcmUpZih0aGUpaChzaGVsbClnKHdpbGwpZyhleGl0Lik3MAorYihJZikzOSBiKHRoZSk2MzAgMTk4NSB5KHYpLTUgYihhcmlhYmxlKTM4IGIoZXhpc3RzKWYoYnV0KWYoZG8pcyhlcylnCisobm90KWgoaGEpbSh2KW0oZSloKGEpZyhuKW0odW1lcmljKWUodiktNSBiKGFsdWUpMzcgYihcKG9yKWgoaGFzKWUobm8paAorKHYpLTUgYihhbHVlXCkpMzcgYih0aGVuKWcodGhlKTYzMCAyMDk0IHkoZGVmYXVsdCkzMQorYihpcylnKDEwLik0MyBiKElmKTMwIGIodGhlKWgodiktNSBiKGFyaWFibGUpMzEgYihkbylzKGVzKWcobm90KWcKKyhleGlzdCwpaCh0aGVuKWUgRnMoRU9GKWcgRnQoc2lnbmlcMDE0ZXMpaCh0aGUpZyhlbmQpZihvZiloKGlucHV0KTYzMAorMjIwNCB5KHRvKWcodGhlKWcoc2hlbGwuKTQxIGIoVGhpcykyOSBiKGlzKWkob25seSlmKGluKWcoZVwwMTNlY3QpaQorKGZvcillKGluKW0odGVyYWN0aXYpbShlKWooc2hlbGxzLikxNTAgMjM2NCB5IEZzKElOUFVUUkMpMTQ0CiBiIEZ0KFRoZSk2OCBiKG5hbWUpaChvZilmKHRoZSloKFJlYWRsaW5lKWcoaW5pdGlhbGl6YXRpb24paihcMDE0bGUsKTc4Ci1iKG8pbSh2KW0oZXJyaWRpbmcpNjkgYih0aGUpZyhkZWZhdWx0KWcob2YpNjMwIDg4MyB5KGApcAotRnMofi8uaW5wdXRyYylwIEZ0KCcuKTE1MCAxMDI5IHkgRnMoTEFORykyODggYiBGdChVc2VkKTI4CitiKG8pbSh2KW0oZXJyaWRpbmcpNjkgYih0aGUpZyhkZWZhdWx0KWcob2YpNjMwIDI0NzQgeShgKXAKK0ZzKH4vLmlucHV0cmMpcCBGdCgnLikxNTAgMjYzNCB5IEZzKExBTkcpMjg4IGIgRnQoVXNlZCkyOAogYih0byloKGRldGVybWluZSlmKHRoZSlnKGxvKXMoY2FsZSloKGNhdGVnb3J5KWgoZm9yKWUoYW4pbSh5KWgKLShjYXRlZ29yeSloKG5vdCllKHNwKXMoZWNpXDAxNGNhbGx5KWcoc2VsZWN0ZWQpNjMwIDExMzkKKyhjYXRlZ29yeSloKG5vdCllKHNwKXMoZWNpXDAxNGNhbGx5KWcoc2VsZWN0ZWQpNjMwIDI3NDQKIHkod2l0aClpKGEpaCh2KS01IGIoYXJpYWJsZSkzMSBiKHN0YXJ0aW5nKWcod2l0aClmIEZzKExDXylwCi1GdCguKTE1MCAxMjg1IHkgRnMoTENfQUxMKTE5MiBiIEZ0KFRoaXMpMjggYih2KS01IGIoYXJpYWJsZSkyOQorRnQoLikxNTAgMjkwNCB5IEZzKExDX0FMTCkxOTIgYiBGdChUaGlzKTI4IGIodiktNSBiKGFyaWFibGUpMjkKIGIobyltKHYpbShlcnJpZGVzKWgodGhlKWYodiktNSBiKGFsdWUpMjkgYihvZilnIEZzKExBTkcpZgogRnQoYW5kKWcoYW4pbSh5KWgob3RoZXIpZyBGcyhMQ18pZiBGdCh2KS01IGIoYXJpYWJsZSkyOQotYihzcClzKGVjaWZ5aW5nKTYzMCAxMzk1IHkoYSlpKGxvKXMoY2FsZSloKGNhdGVnb3J5KS04Ci1iKC4pMTUwIDE1NDEgeSBGcyhMQ19DT0xMQVRFKTYzMCAxNjUwIHkgRnQoVGhpcykzNyBiKHYpLTUKK2Ioc3ApcyhlY2lmeWluZyk2MzAgMzAxMyB5KGEpaShsbylzKGNhbGUpaChjYXRlZ29yeSktOAorYiguKTE1MCAzMTczIHkgRnMoTENfQ09MTEFURSk2MzAgMzI4MyB5IEZ0KFRoaXMpMzcgYih2KS01CiBiKGFyaWFibGUpMzggYihkZXRlcm1pbmVzKWcodGhlKWcoY29sbGF0aW9uKWkob3JkZXIpZCh1c2VkKWcod2hlbilmCi0oc29ydGluZylpKHRoZSlnKHJlc3VsdHMpZyhvZik2MzAgMTc2MCB5KFwwMTRsZW5hbWUpZShleHBhbnNpb24sKWkoYW5kKQorKHNvcnRpbmcpaSh0aGUpZyhyZXN1bHRzKWcob2YpNjMwIDMzOTMgeShcMDE0bGVuYW1lKWUoZXhwYW5zaW9uLClpKGFuZCkKIGUoZGV0ZXJtaW5lcylnKHRoZSloKGIpcyhlaGEpbSh2aW9yKWYob2YpZyhyYW5nZSloKGV4cHJlc3Npb25zLCloCi0oZXF1aXYtKTYzMCAxODcwIHkoYWxlbmNlKWUoY2xhc3NlcywpaChhbmQpZShjb2xsYXRpbmcpaShzZXF1ZW5jZXMpZQorKGVxdWl2LSk2MzAgMzUwMiB5KGFsZW5jZSllKGNsYXNzZXMsKWgoYW5kKWUoY29sbGF0aW5nKWkoc2VxdWVuY2VzKWUKICh3aXRoaW4pZihcMDE0bGVuYW1lKWgoZXhwYW5zaW9uKWcoYW5kKWYocGF0dGVybik2MzAKLTE5NzkgeShtYXRjKW0oaGluZylkKFwoc2VlKWgoU2VjdGlvbilmKDMuNS44KWgoW0ZpbGVuYW1lKWcoRXhwYW5zaW9uXSwpCi1lKHBhZ2UpaCgyNFwpLikxNTAgMjEyNSB5IEZzKExDX0NUWVBFKTk2IGIgRnQoVGhpcykzNgorMzYxMiB5KG1hdGMpbShoaW5nKWQoXChzZWUpaChTZWN0aW9uKWYoMy41LjgpaChbRmlsZW5hbWUpZyhFeHBhbnNpb25dLCkKK2UocGFnZSloKDI0XCkuKTE1MCAzNzcyIHkgRnMoTENfQ1RZUEUpOTYgYiBGdChUaGlzKTM2CiBiKHYpLTUgYihhcmlhYmxlKTM3IGIoZGV0ZXJtaW5lcylmKHRoZSloKGluKW0odGVycHJldGF0aW9uKWgob2YpZihjKW0KLShoYXJhY3RlcnMpaChhbmQpZSh0aGUpZyhiKXMoZWhhKW0odmlvciloKG9mKTYzMCAyMjM1CisoaGFyYWN0ZXJzKWgoYW5kKWUodGhlKWcoYilzKGVoYSltKHZpb3IpaChvZik2MzAgMzg4MgogeShjKW0oaGFyYWN0ZXIpNDYgYihjbGFzc2VzKWcod2l0aGluKWUoXDAxNGxlbmFtZSloKGV4cGFuc2lvbilnKGFuZClmCi0ocGF0dGVybiloKG1hdGMpbShoaW5nKWgoXChzZWUpZihTZWMtKTYzMCAyMzQ1IHkodGlvbikzMQorKHBhdHRlcm4paChtYXRjKW0oaGluZyloKFwoc2VlKWYoU2VjLSk2MzAgMzk5MSB5KHRpb24pMzEKIGIoMy41LjgpaChbRmlsZW5hbWUpZyhFeHBhbnNpb25dLCllKHBhZ2UpaCgyNFwpLikxNTAKLTI0OTEgeSBGcyhMQ19NRVNTQUdFUyk2MzAgMjYwMCB5IEZ0KFRoaXMpMjUgYih2KS01IGIoYXJpYWJsZSkyNworNDE1MSB5IEZzKExDX01FU1NBR0VTKTYzMCA0MjYxIHkgRnQoVGhpcykyNSBiKHYpLTUgYihhcmlhYmxlKTI3CiBiKGRldGVybWluZXMpZih0aGUpZyhsbylzKGNhbGUpaSh1c2VkKWQodG8paSh0cmFuc2xhdGUpZyhkb3VibGUtcXVvdGVkKQotZihzdHJpbmdzKWcocHJlLSk2MzAgMjcxMCB5KGNlZGVkKTMxIGIoYiltKHkpZihhKWgoYClwCitmKHN0cmluZ3MpZyhwcmUtKTYzMCA0MzcxIHkoY2VkZWQpMzEgYihiKW0oeSlmKGEpaChgKXAKIEZzKCQpcCBGdCgnKWYoXChzZWUpaChTZWN0aW9uKWgoMy4xLjIuNSlnKFtMbylzKGNhbGUpZyhUKS04Ci1iKHJhbnNsYXRpb25dLCkzMiBiKHBhZ2UpZig3XCkuKTE1MCAyODU2IHkgRnMoTENfTlVNRVJJQyk2MzAKLTI5NjYgeSBGdChUaGlzKWYodiktNSBiKGFyaWFibGUpMzEgYihkZXRlcm1pbmVzKWYodGhlKWgobG8pcyhjYWxlKWgKK2IocmFuc2xhdGlvbl0sKTMyIGIocGFnZSlmKDdcKS4pMTUwIDQ1MzEgeSBGcyhMQ19OVU1FUklDKTYzMAorNDY0MCB5IEZ0KFRoaXMpZih2KS01IGIoYXJpYWJsZSkzMSBiKGRldGVybWluZXMpZih0aGUpaChsbylzKGNhbGUpaAogKGNhdGVnb3J5KWcodXNlZCllKGZvcilnKG4pbSh1bSltKGIpcyhlcilmKGZvcm1hdHRpbmcuKTE1MAotMzExMiB5IEZzKExJTkVOTykxOTIgYiBGdChUaGUpMzAgYihsaW5lKWgobiltKHVtKW0oYilzKGVyKWUoaW4paCh0aGUpZworNDgwMCB5IEZzKExJTkVOTykxOTIgYiBGdChUaGUpMzAgYihsaW5lKWgobiltKHVtKW0oYilzKGVyKWUoaW4paCh0aGUpZwogKHNjcmlwdCloKG9yKWYoc2hlbGwpZyhmdW5jdGlvbiloKGN1cnJlbiltKHRseSlmKGV4ZWN1dGluZy4pMTUwCi0zMjU4IHkgRnMoTElORVMpMjQwIGIgRnQoVXNlZCkyNSBiKGIpbSh5KWcodGhlKWcgRnMoc2VsZWN0KWUKKzQ5NjEgeSBGcyhMSU5FUykyNDAgYiBGdChVc2VkKTI1IGIoYiltKHkpZyh0aGUpZyBGcyhzZWxlY3QpZQogRnQoYnVpbHRpbilpKGNvbW1hbmQpZyh0byloKGRldGVybWluZSlmKHRoZSlnKGNvbHVtbilnKGxlbmd0aClnKGZvcilnCi0ocHJpbiltKHQtKTYzMCAzMzY3IHkoaW5nKTMxIGIoc2VsZWN0aW9uKWgobGlzdHMuKTQxCisocHJpbiltKHQtKTYzMCA1MDcwIHkoaW5nKTMxIGIoc2VsZWN0aW9uKWgobGlzdHMuKTQxCiBiKEF1dG9tYXRpY2FsbHkpMzMgYihzZXQpZSh1cClzKG9uKWUocmVjZWlwdClpKG9mKWYoYSloCi1GcyhTSUdXSU5DSClwIEZ0KC4pMTUwIDM1MTMgeSBGcyhNQUNIVFlQRSk5NiBiIEZ0KEEpMjYKK0ZzKFNJR1dJTkNIKXAgRnQoLikxNTAgNTIzMCB5IEZzKE1BQ0hUWVBFKTk2IGIgRnQoQSkyNgogYihzdHJpbmcpZyh0aGF0KWgoZnVsbHkpZihkZXNjcmliKXMoZXMpZih0aGUpaChzeXN0ZW0pZyh0KW0oeXApcyhlKWgKIChvbilmKHdoaWMpbShoKWYoQmFzaClpKGlzKWYoZXhlY3V0aW5nLClpKGluKWUodGhlKTYzMAotMzYyMyB5KHN0YW5kYXJkKWsgRmwoZ251KWcgRnEoY3B1LWNvbXBhbiltKHktc3lzdGVtKWgKLUZ0KGZvcm1hdC4pMTUwIDM3NjkgeSBGcyhNQUlMQ0hFQ0spNjMwIDM4NzkgeSBGdChIbyltKHcpZChvZnRlbilnKFwoaW4pCi1nKHNlY29uZHNcKSlnKHRoYXQpZyh0aGUpZihzaGVsbCloKHNob3VsZClmKGMpbShoZWMpbShrKWkoZm9yKWUobWFpbCloCi0oaW4pZih0aGUpaChcMDE0bGVzKWcoc3ApcyhlY2lcMDE0ZWQpNjMwIDM5ODggeShpbilpKHRoZSloCi1GcyhNQUlMUEFUSCllIEZ0KG9yKWkgRnMoTUFJTCllIEZ0KHYpLTUgYihhcmlhYmxlcy4pNDMKLWIoVGhlKTMwIGIoZGVmYXVsdCloKGlzKWYoNjApaShzZWNvbmRzLik0MiBiKFdoZW4pMzAKLWIoaXQpaChpcylnKHRpbWUpNjMwIDQwOTggeSh0bykzNyBiKGMpbShoZWMpbShrKWgoZm9yKWUobWFpbCwpaih0aGUpZQotKHNoZWxsKWYoZG8pcyhlcylnKHNvKWgoYilzKGVmb3JlKWYoZGlzcGxhKW0oeWluZyloKHRoZSlmKHByaW1hcnkpZwotKHByb21wdC4pNTcgYihJZik2MzAgNDIwOCB5KHRoaXMpMzcgYih2KS01IGIoYXJpYWJsZSkzOAotYihpcylmKHVuc2V0LCloKG9yKWYoc2V0KWgodG8pZyhhKWYodiktNSBiKGFsdWUpMzggYih0aGF0KWYoaXMpZyhub3QpaAotKGEpZihuKW0odW0pbShiKXMoZXIpZihncmVhdGVyKWkodGhhbilmKG9yKTYzMCA0MzE3IHkoZXF1YWwpMzEKLWIodG8pZyh6ZXJvLClnKHRoZSlnKHNoZWxsKWcoZGlzYWJsZXMpZihtYWlsKWgoYyltKGhlYyltKGtpbmcuKTE1MAotNDQ2MyB5IEZzKE9MRFBXRCkxOTIgYiBGdChUaGUpMzAgYihwcmV2aW91cylnKHcpbShvcmtpbmcpZyhkaXJlY3RvcnkpaAotKGFzKWcoc2V0KWcoYiltKHkpZih0aGUpaCBGcyhjZCllIEZ0KGJ1aWx0aW4uKTE1MCA0NjA5Ci15IEZzKE9QVEVSUikxOTIgYiBGdChJZikzNSBiKHNldClpKHRvKWYodGhlKWgodiktNSBiKGFsdWUpMzYKLWIoMSwpaShCYXNoKWUoZGlzcGxhKW0oeXMpZyhlcnJvcilmKG1lc3NhZ2VzKWkoZ2VuZXJhdGVkKWcoYiltKHkpZih0aGUpCi1nIEZzKGdldG9wdHMpNjMwIDQ3MTkgeSBGdChidWlsdGluKTMwIGIoY29tbWFuZC4pMTUwCi00ODY1IHkgRnMoT1NUWVBFKTE5MiBiIEZ0KEEpMzAgYihzdHJpbmcpaChkZXNjcmliaW5nKWYodGhlKWcob3ApcwotKGVyYXRpbmcpaChzeXN0ZW0pZyhCYXNoKWYoaXMpaChydW5uaW5nKWQob24uKTE1MCA1MDExCi15IEZzKFBJUEVTVEFUVVMpNjMwIDUxMjEgeSBGdChBbikyMyBiKGFycmEpbSh5KWgodiktNQotYihhcmlhYmxlKTI0IGIoXChzZWUpaChTZWN0aW9uKWYoNi43KWgoW0FycmEpbSh5c10sKWcocGFnZSlmKDgwXCkpaAotKGNvbiltKHRhaW5pbmcpZyhhKWYobGlzdClnKG9mKWcoZXhpdClnKHN0YS0pNjMwIDUyMzAKLXkodHVzKWgodiktNSBiKGFsdWVzKTI3IGIoZnJvbSllKHRoZSloKHBybylzKGNlc3NlcylnKGluKWYodGhlKWgKLShtb3N0LXJlY2VuKW0odGx5LWV4ZWN1dGVkKWooZm9yZWdyb3VuZCljKHBpcClzKGVsaW5lKTYzMAotNTM0MCB5KFwod2hpYyltKGgpMzAgYihtYSltKHkpaChjb24pbSh0YWluKWgob25seSlmKGEpZihzaW5nbGUpaAotKGNvbW1hbmRcKS4pcCBlb3AgZW5kCis1MzQwIHkoc3RhbmRhcmQpayBGbChnbnUpZyBGcShjcHUtY29tcGFuKW0oeS1zeXN0ZW0paAorRnQoZm9ybWF0LilwIGVvcCBlbmQKICUlUGFnZTogNjggNzQKIFRlWERpY3QgYmVnaW4gNjggNzMgYm9wIDE1MCAtMTE2IGEgRnQoNjgpMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcyhQT1NJWExZX0NPUlJFQ1QpNjMwCi00MDggeSBGdChJZiloKHRoaXMpaCh2KS01IGIoYXJpYWJsZSkzNCBiKGlzKWYoaW4pZih0aGUpaChlbiltKHZpcm9ubWVuKQotbSh0KWgod2hlbilkIEZzKGJhc2gpaCBGdChzdGFydHMsKWkodGhlKWYoc2hlbGwpZyhlbiltKHRlcnMpaAotRmwocG9zaXgpNjMwIDUxOCB5IEZ0KG1vKXMoZGUpMjIgYihcKHNlZSloKFNlY3Rpb24pZyg2LjExKWgoW0Jhc2gpZQotKFBPU0lYKWYoTW8pcyhkZV0sKWsocGFnZSllKDg1XCkpZyhiKXMoZWZvcmUpZihyZWFkaW5nKWcodGhlKWcoc3RhcnR1cCkKLTYzMCA2MjggeShcMDE0bGVzLCkzMiBiKGFzKWYoaWYpaCh0aGUpZihgKXAgRnMoLS1wb3NpeClwCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRnMoTUFJTENIRUNLKTYzMCA0MDgKK3kgRnQoSG8pbSh3KWQob2Z0ZW4pZyhcKGluKWcoc2Vjb25kc1wpKWcodGhhdClnKHRoZSlmKHNoZWxsKWgoc2hvdWxkKWYKKyhjKW0oaGVjKW0oaylpKGZvcillKG1haWwpaChpbilmKHRoZSloKFwwMTRsZXMpZyhzcClzKGVjaVwwMTRlZCk2MzAKKzUxOCB5KGluKWkodGhlKWggRnMoTUFJTFBBVEgpZSBGdChvcilpIEZzKE1BSUwpZSBGdCh2KS01CitiKGFyaWFibGVzLik0MyBiKFRoZSkzMCBiKGRlZmF1bHQpaChpcylmKDYwKWkoc2Vjb25kcy4pNDIKK2IoV2hlbikzMCBiKGl0KWgoaXMpZyh0aW1lKTYzMCA2MjggeSh0bykzNyBiKGMpbShoZWMpbShrKWgoZm9yKWUobWFpbCwpCitqKHRoZSllKHNoZWxsKWYoZG8pcyhlcylnKHNvKWgoYilzKGVmb3JlKWYoZGlzcGxhKW0oeWluZyloKHRoZSlmCisocHJpbWFyeSlnKHByb21wdC4pNTcgYihJZik2MzAgNzM3IHkodGhpcykzNyBiKHYpLTUgYihhcmlhYmxlKTM4CitiKGlzKWYodW5zZXQsKWgob3IpZihzZXQpaCh0bylnKGEpZih2KS01IGIoYWx1ZSkzOCBiKHRoYXQpZihpcylnKG5vdCloCisoYSlmKG4pbSh1bSltKGIpcyhlcilmKGdyZWF0ZXIpaSh0aGFuKWYob3IpNjMwIDg0NyB5KGVxdWFsKTMxCitiKHRvKWcoemVybywpZyh0aGUpZyhzaGVsbClnKGRpc2FibGVzKWYobWFpbCloKGMpbShoZWMpbShraW5nLikxNTAKKzEwMDMgeSBGcyhPTERQV0QpMTkyIGIgRnQoVGhlKTMwIGIocHJldmlvdXMpZyh3KW0ob3JraW5nKWcoZGlyZWN0b3J5KWgKKyhhcylnKHNldClnKGIpbSh5KWYodGhlKWggRnMoY2QpZSBGdChidWlsdGluLikxNTAgMTE2MAoreSBGcyhPUFRFUlIpMTkyIGIgRnQoSWYpMzUgYihzZXQpaSh0bylmKHRoZSloKHYpLTUgYihhbHVlKTM2CitiKDEsKWkoQmFzaCllKGRpc3BsYSltKHlzKWcoZXJyb3IpZihtZXNzYWdlcylpKGdlbmVyYXRlZClnKGIpbSh5KWYodGhlKQorZyBGcyhnZXRvcHRzKTYzMCAxMjcwIHkgRnQoYnVpbHRpbikzMCBiKGNvbW1hbmQuKTE1MAorMTQyNiB5IEZzKE9TVFlQRSkxOTIgYiBGdChBKTMwIGIoc3RyaW5nKWgoZGVzY3JpYmluZylmKHRoZSlnKG9wKXMKKyhlcmF0aW5nKWgoc3lzdGVtKWcoQmFzaClmKGlzKWgocnVubmluZylkKG9uLikxNTAgMTU4MworeSBGcyhQSVBFU1RBVFVTKTYzMCAxNjkyIHkgRnQoQW4pMjMgYihhcnJhKW0oeSloKHYpLTUKK2IoYXJpYWJsZSkyNCBiKFwoc2VlKWgoU2VjdGlvbilmKDYuNyloKFtBcnJhKW0oeXNdLClnKHBhZ2UpZig4MFwpKWgKKyhjb24pbSh0YWluaW5nKWcoYSlmKGxpc3QpZyhvZilnKGV4aXQpZyhzdGEtKTYzMCAxODAyCit5KHR1cyloKHYpLTUgYihhbHVlcykyNyBiKGZyb20pZSh0aGUpaChwcm8pcyhjZXNzZXMpZyhpbilmKHRoZSloCisobW9zdC1yZWNlbiltKHRseS1leGVjdXRlZClqKGZvcmVncm91bmQpYyhwaXApcyhlbGluZSk2MzAKKzE5MTEgeShcKHdoaWMpbShoKTMwIGIobWEpbSh5KWgoY29uKW0odGFpbiloKG9ubHkpZihhKWYoc2luZ2xlKWgKKyhjb21tYW5kXCkuKTE1MCAyMDY4IHkgRnMoUE9TSVhMWV9DT1JSRUNUKTYzMCAyMTc4IHkKK0Z0KElmKWgodGhpcyloKHYpLTUgYihhcmlhYmxlKTM0IGIoaXMpZihpbilmKHRoZSloKGVuKW0odmlyb25tZW4pbSh0KWgKKyh3aGVuKWQgRnMoYmFzaCloIEZ0KHN0YXJ0cywpaSh0aGUpZihzaGVsbClnKGVuKW0odGVycyloCitGbChwb3NpeCk2MzAgMjI4NyB5IEZ0KG1vKXMoZGUpMjIgYihcKHNlZSloKFNlY3Rpb24pZyg2LjExKWgoW0Jhc2gpZQorKFBPU0lYKWYoTW8pcyhkZV0sKWsocGFnZSllKDg0XCkpZyhiKXMoZWZvcmUpZihyZWFkaW5nKWcodGhlKWcoc3RhcnR1cCkKKzYzMCAyMzk3IHkoXDAxNGxlcywpMzIgYihhcylmKGlmKWgodGhlKWYoYClwIEZzKC0tcG9zaXgpcAogRnQoJylmKGluKW0odiltKG8pcyhjYXRpb24paihvcHRpb24pZihoYWQpZihiKXMoZWVuKWcoc3VwcGxpZWQuKTQyCi1iKElmKTMxIGIoaXQpaChpcylmKHNldCloKHdoaWxlKTYzMCA3MzcgeSh0aGUpZihzaGVsbClmKGlzKWgocnVubmluZywpZAotRnMoYmFzaClpIEZ0KGVuYWJsZXMpZyBGbChwb3NpeClnIEZ0KG1vKXMoZGUsKWcoYXMpaChpZilmKHRoZSloCi0oY29tbWFuZCk4NzAgODc0IHkgRnMoc2V0KTQ3IGIoLW8pZyhwb3NpeCk2MzAgMTAxMSB5Ci1GdChoYWQpMzAgYihiKXMoZWVuKWYoZXhlY3V0ZWQuKTE1MCAxMTc2IHkgRnMoUFBJRCkyODgKK2IoSWYpMzEgYihpdCloKGlzKWYoc2V0KWgod2hpbGUpNjMwIDI1MDYgeSh0aGUpZihzaGVsbClmKGlzKWgocnVubmluZywpCitkIEZzKGJhc2gpaSBGdChlbmFibGVzKWcgRmwocG9zaXgpZyBGdChtbylzKGRlLClnKGFzKWgoaWYpZih0aGUpaAorKGNvbW1hbmQpODcwIDI2MzkgeSBGcyhzZXQpNDcgYigtbylnKHBvc2l4KTYzMCAyNzcyIHkKK0Z0KGhhZCkzMCBiKGIpcyhlZW4pZihleGVjdXRlZC4pMTUwIDI5MjkgeSBGcyhQUElEKTI4OAogYiBGdChUaGUpMzAgYihwcm8pcyhjZXNzKWcgRmwoaWQpZyBGdChvZiloKHRoZSlmKHNoZWxsJ3MpaChwYXJlbiltKHQpZwogKHBybylzKGNlc3MuKTQwIGIoVGhpcykzMCBiKHYpLTUgYihhcmlhYmxlKTMxIGIoaXMpZihyZWFkb25seSktOAotYiguKTE1MCAxMzQwIHkgRnMoUFJPTVBUX0NPTU1BTkQpNjMwIDE0NTAgeSBGdChJZikzMgorYiguKTE1MCAzMDg2IHkgRnMoUFJPTVBUX0NPTU1BTkQpNjMwIDMxOTUgeSBGdChJZikzMgogYihzZXQsKWgodGhlKWYodiktNSBiKGFsdWUpMzMgYihpcylmKGluKW0odGVycHJldGVkKWcoYXMpZyhhKWgoY29tbWFuZCkKIGYodG8paChleGVjdXRlKWcoYilzKGVmb3JlKWYodGhlKWcocHJpbiltKHRpbmcpZyhvZik2MzAKLTE1NTkgeShlYWMpbShoKWcocHJpbWFyeSlkKHByb21wdClnKFwoKXAgRnMoJFBTMSlwIEZ0KFwpLikxNTAKLTE3MjQgeSBGcyhQUk9NUFRfRElSVFJJTSk2MzAgMTgzMyB5IEZ0KElmKWUoc2V0KWcodG8paChhKWcobiltKHVtKW0oYilzCiszMzA1IHkoZWFjKW0oaClnKHByaW1hcnkpZChwcm9tcHQpZyhcKClwIEZzKCRQUzEpcCBGdChcKS4pMTUwCiszNDYxIHkgRnMoUFJPTVBUX0RJUlRSSU0pNjMwIDM1NzEgeSBGdChJZillKHNldClnKHRvKWgoYSlnKG4pbSh1bSltKGIpcwogKGVyKWUoZ3JlYXRlcilpKHRoYW4pZih6ZXJvLClpKHRoZSllKHYpLTUgYihhbHVlKTI4IGIoaXMpZih1c2VkKWcoYXMpZwotKHRoZSloKG4pbSh1bSltKGIpcyhlcillKG9mKWgodHJhaWxpbmcpNjMwIDE5NDMgeShkaXJlY3RvcnkpMzUKKyh0aGUpaChuKW0odW0pbShiKXMoZXIpZShvZiloKHRyYWlsaW5nKTYzMCAzNjgwIHkoZGlyZWN0b3J5KTM1CiBiKGNvbXApcyhvbmVuKW0odHMpZyh0byloKHJldGFpbilmKHdoZW4pZihleHBhbmRpbmcpZyh0aGUpaAotRnMoXFx3KWYgRnQoYW5kKWcgRnMoXFxXKWcgRnQocHJvbXB0KWcoc3RyaW5nKTYzMCAyMDUyCitGcyhcXHcpZiBGdChhbmQpZyBGcyhcXFcpZyBGdChwcm9tcHQpZyhzdHJpbmcpNjMwIDM3OTAKIHkoZXNjYXApcyhlcykyNyBiKFwoc2VlKWcoU2VjdGlvbilnKDYuOSloKFtQcmluKW0odGluZylmKGEpZyhQcm9tcHRdLClnCi0ocGFnZSlnKDgzXCkuKTQwIGIoQ2hhcmFjdGVycykyNyBiKHJlbW8pbSh2KW0oZWQpaChhcmUpNjMwCi0yMTYyIHkocmVwbGFjZWQpaih3aXRoKWYoYW4pZyhlbGxpcHNpcy4pMTUwIDIzMjYgeSBGcyhQUzMpMzM2CisocGFnZSlnKDgyXCkuKTQwIGIoQ2hhcmFjdGVycykyNyBiKHJlbW8pbSh2KW0oZWQpaChhcmUpNjMwCiszOTAwIHkocmVwbGFjZWQpaih3aXRoKWYoYW4pZyhlbGxpcHNpcy4pMTUwIDQwNTYgeSBGcyhQUzMpMzM2CiBiIEZ0KFRoZSkzNCBiKHYpLTUgYihhbHVlKTM1IGIob2YpZih0aGlzKWcodiktNSBiKGFyaWFibGUpMzUKIGIoaXMpZyh1c2VkKWUoYXMpaSh0aGUpZihwcm9tcHQpZyhmb3IpZyh0aGUpZyBGcyhzZWxlY3QpZgotRnQoY29tbWFuZC4pNTIgYihJZik2MzAgMjQzNiB5KHRoaXMpMzAgYih2KS01IGIoYXJpYWJsZSkzMQorRnQoY29tbWFuZC4pNTIgYihJZik2MzAgNDE2NiB5KHRoaXMpMzAgYih2KS01IGIoYXJpYWJsZSkzMQogYihpcylnKG5vdClmKHNldCwpaSh0aGUpZSBGcyhzZWxlY3QpZiBGdChjb21tYW5kKWgocHJvbXB0cylmKHdpdGgpaChgKXAKLUZzKCM/KWcgRnQoJykxNTAgMjYwMCB5IEZzKFBTNCkzMzYgYiBGdChUaGUpMjAgYih2KS01CitGcygjPylnIEZ0KCcpMTUwIDQzMjIgeSBGcyhQUzQpMzM2IGIgRnQoVGhlKTIwIGIodiktNQogYihhbHVlKTIyIGIoaXMpZSh0aGUpaChwcm9tcHQpZihwcmluKW0odGVkKWgoYilzKGVmb3JlKWYodGhlKWgoY29tbWFuZCkKIGcobGluZSlnKGlzKWcoZWMpbShobylzKGVkKWcod2hlbilmKHRoZSloKGApcCBGcygteClwCi1GdCgnKTYzMCAyNzEwIHkob3B0aW9uKTMyIGIoaXMpZihzZXQpaChcKHNlZSlnKFNlY3Rpb24paCg0LjMuMSlnKFtUaGUpZQorRnQoJyk2MzAgNDQzMiB5KG9wdGlvbikzMiBiKGlzKWYoc2V0KWgoXChzZWUpZyhTZWN0aW9uKWgoNC4zLjEpZyhbVGhlKWUKIChTZXQpZyhCdWlsdGluXSwpaShwYWdlKWYoNTFcKS4pNDUgYihUaGUpMzEgYihcMDE0cnN0KWYoYyltKGhhcmFjdGVyKQotNjMwIDI4MTkgeShvZilrIEZzKFBTNClnIEZ0KGlzKWcocmVwbGljYXRlZClpKG0pbSh1bHRpcGxlKWYodGltZXMsKWgKKzYzMCA0NTQyIHkob2YpayBGcyhQUzQpZyBGdChpcylnKHJlcGxpY2F0ZWQpaShtKW0odWx0aXBsZSlmKHRpbWVzLCloCiAoYXMpZShuZWNlc3NhcnkpLTggYigsKTM3IGIodG8pZShpbmRpY2F0ZSlnKG0pbSh1bHRpcGxlKWcobGV2KW0oZWxzKWgKLShvZik2MzAgMjkyOSB5KGluZGlyZWN0aW9uLik0MSBiKFRoZSkzMCBiKGRlZmF1bHQpaChpcylmKGApcAotRnMoKylnIEZ0KCcuKTE1MCAzMDkzIHkgRnMoUFdEKTMzNiBiIEZ0KFRoZSkzMCBiKGN1cnJlbiltKHQpZyh3KW0KKyhvZik2MzAgNDY1MSB5KGluZGlyZWN0aW9uLik0MSBiKFRoZSkzMCBiKGRlZmF1bHQpaChpcylmKGApcAorRnMoKylnIEZ0KCcuKTE1MCA0ODA4IHkgRnMoUFdEKTMzNiBiIEZ0KFRoZSkzMCBiKGN1cnJlbiltKHQpZyh3KW0KIChvcmtpbmcpaChkaXJlY3RvcnkpZyhhcylmKHNldCloKGIpbSh5KWYodGhlKWggRnMoY2QpZgotRnQoYnVpbHRpbi4pMTUwIDMyNTggeSBGcyhSQU5ET00pMTkyIGIgRnQoRWFjKW0oaCkzMAorRnQoYnVpbHRpbi4pMTUwIDQ5NjQgeSBGcyhSQU5ET00pMTkyIGIgRnQoRWFjKW0oaCkzMAogYih0aW1lKWcodGhpcylmKHBhcmFtZXRlcilnKGlzKWcocmVmZXJlbmNlZCwpaChhKWYocmFuZG9tKWcoaW4pbSh0ZWdlcikKLWgoYilzKGV0KW0odyltKGVlbilnKDApZihhbmQpZygzMjc2Nyk2MzAgMzM2NyB5KGlzKWkoZ2VuZXJhdGVkLik0MworaChiKXMoZXQpbSh3KW0oZWVuKWcoMClmKGFuZClnKDMyNzY3KTYzMCA1MDc0IHkoaXMpaShnZW5lcmF0ZWQuKTQzCiBiKEFzc2lnbmluZykzMSBiKGEpZyh2KS01IGIoYWx1ZSkzMSBiKHRvKWcodGhpcylnKHYpLTUKIGIoYXJpYWJsZSkzMSBiKHNlZWRzKWcodGhlKWcocmFuZG9tKWYobiltKHVtKW0oYilzKGVyKWYoZ2VuLSk2MzAKLTM0NzcgeShlcmF0b3IuKTE1MCAzNjQxIHkgRnMoUkVQTFkpMjQwIGIgRnQoVGhlKTMwIGIoZGVmYXVsdClnKHYpLTUKLWIoYXJpYWJsZSkzMiBiKGZvcillKHRoZSlnIEZzKHJlYWQpZyBGdChidWlsdGluLikxNTAKLTM4MDYgeSBGcyhTRUNPTkRTKTE0NCBiIEZ0KFRoaXMpNDAgYih2KS01IGIoYXJpYWJsZSk0MQotYihleHBhbmRzKWYodG8paCh0aGUpZyhuKW0odW0pbShiKXMoZXIpZShvZilpKHNlY29uZHMpZyhzaW5jZSlnKHRoZSlmCi0oc2hlbGwpaCh3KW0oYXMpZyhzdGFydGVkLik2MzAgMzkxNSB5KEFzc2lnbm1lbiltKHQpaSh0bylnKHRoaXMpZyh2KS01Ci1iKGFyaWFibGUpNDMgYihyZXNldHMpZyh0aGUpZyhjb3VuKW0odClnKHRvKWcodGhlKWcodiktNQotYihhbHVlKTQzIGIoYXNzaWduZWQsKWooYW5kKWModGhlKTYzMCA0MDI1IHkoZXhwYW5kZWQpMzUKLWIodiktNSBiKGFsdWUpMzYgYihiKXMoZWNvbWVzKWgodGhlKWYodiktNSBiKGFsdWUpMzYKLWIoYXNzaWduZWQpZyhwbHVzKWYodGhlKWgobiltKHVtKW0oYilzKGVyKWYob2YpaChzZWNvbmRzKWcoc2luY2UpNjMwCi00MTM0IHkodGhlKTMxIGIoYXNzaWdubWVuKW0odC4pMTUwIDQyOTkgeSBGcyhTSEVMTCkyNDAKLWIgRnQoVGhlKTI5IGIoZnVsbCloKHBhdGhuYW1lKWcodG8paCh0aGUpZihzaGVsbClnKGlzKWcoayltKGVwdClnKGluKWcKLSh0aGlzKWcoZW4pbSh2aXJvbm1lbiltKHQpZyh2KS01IGIoYXJpYWJsZS4pNDIgYihJZikyOQotYihpdClpKGlzKWYobm90KTYzMCA0NDA4IHkoc2V0KTM2IGIod2hlbilmKHRoZSloKHNoZWxsKWcoc3RhcnRzLClpCi0oQmFzaCllKGFzc2lnbnMpaCh0bylmKGl0KWgodGhlKWYoZnVsbClmKHBhdGhuYW1lKWgob2YpZyh0aGUpZyhjdXJyZW4pbQotKHQpNjMwIDQ1MTggeSh1c2VyJ3MpMzAgYihsb2dpbiloKHNoZWxsLikxNTAgNDY4MiB5IEZzKFNIRUxMT1BUUyk2MzAKLTQ3OTIgeSBGdChBKWcoY29sb24tc2VwYXJhdGVkKWgobGlzdClmKG9mKWcoZW5hYmxlZClmKHNoZWxsKWgob3B0aW9ucy4pCi00MSBiKEVhYyltKGgpMzEgYih3KW0ob3JkKWYoaW4pZyh0aGUpaChsaXN0KWcoaXMpZyhhKWcodiktNQotYihhbGlkKTYzMCA0OTAyIHkoYXJndW1lbiltKHQpMjQgYihmb3IpZih0aGUpaChgKXAgRnMoLW8pcAotRnQoJylmKG9wdGlvbiloKHRvKWcodGhlKWcgRnMoc2V0KWYgRnQoYnVpbHRpbilnKGNvbW1hbmQpZyhcKHNlZSlpCi0oU2VjdGlvbilmKDQuMy4xKWgoW1RoZSk2MzAgNTAxMSB5KFNldClrKEJ1aWx0aW5dLCloKHBhZ2UpZig1MVwpLik0MgotYihUaGUpMjggYihvcHRpb25zKWgoYXBwKXMoZWFyaW5nKWYoaW4pZyBGcyhTSEVMTE9QVFMpZQotRnQoYXJlKWoodGhvc2UpaChyZXApcyhvcnRlZCk2MzAgNTEyMSB5KGFzKWcoYClwIEZzKG9uKXAKLUZ0KCcpZihiKW0oeSloKGApcCBGcyhzZXQpZygtbylwIEZ0KCcuKTQwIGIoSWYpMjkgYih0aGlzKWgodiktNQotYihhcmlhYmxlKTMwIGIoaXMpZyhpbilmKHRoZSloKGVuKW0odmlyb25tZW4pbSh0KWcod2hlbilmKEJhc2gpaAotKHN0YXJ0cylnKHVwLCk2MzAgNTIzMCB5KGVhYyltKGgpNDEgYihzaGVsbCllKG9wdGlvbiloKGluKWYodGhlKWgobGlzdCkKLWcod2lsbClmKGIpcyhlKWcoZW5hYmxlZCloKGIpcyhlZm9yZSlmKHJlYWRpbmcpZyhhbiltKHkpaChzdGFydHVwKWYKLShcMDE0bGVzLik2MzAgNTM0MCB5KFRoaXMpMzAgYih2KS01IGIoYXJpYWJsZSkzMSBiKGlzKWYocmVhZG9ubHkpLTgKLWIoLilwIGVvcCBlbmQKKzUxODMgeShlcmF0b3IuKTE1MCA1MzQwIHkgRnMoUkVQTFkpMjQwIGIgRnQoVGhlKTMwIGIoZGVmYXVsdClnKHYpLTUKK2IoYXJpYWJsZSkzMiBiKGZvcillKHRoZSlnIEZzKHJlYWQpZyBGdChidWlsdGluLilwIGVvcAorZW5kCiAlJVBhZ2U6IDY5IDc1CiBUZVhEaWN0IGJlZ2luIDY5IDc0IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig1Oik0MQotYihTaGVsbCkzMCBiKFYpLTggYihhcmlhYmxlcykyNDU5IGIoNjkpMTUwIDI5OSB5IEZzKFNITFZMKTI0MAotYiBGdChJbmNyZW1lbiltKHRlZCkyMSBiKGIpbSh5KWcob25lKWcoZWFjKW0oaCloKHRpbWUpZihhKWgobmV3KWUKLShpbnN0YW5jZSloKG9mKWcoQmFzaClnKGlzKWcoc3RhcnRlZC4pMzggYihUaGlzKTIwIGIoaXMpaChpbiltKHRlbmRlZCkKLTYzMCA0MDggeSh0bykzMSBiKGIpcyhlKWYoYSloKGNvdW4pbSh0KWcob2YpZihobyltKHcpaChkZWVwbHkpZih5KW0KLShvdXIpZyhCYXNoKWgoc2hlbGxzKWYoYXJlKWgobmVzdGVkLikxNTAgNTY4IHkgRnMoVElNRUZPUk1BVCk2MzAKLTY3NyB5IEZ0KFRoZSlmKHYpLTUgYihhbHVlKTMyIGIob2YpZih0aGlzKWcocGFyYW1ldGVyKWcoaXMpZyh1c2VkKWYoYXMpCi1oKGEpZyhmb3JtYXQpaChzdHJpbmcpZihzcClzKGVjaWZ5aW5nKWYoaG8pbSh3KWgodGhlKWcodGltLSk2MzAKLTc4NyB5KGluZykzNyBiKGluZm9ybWF0aW9uKWYoZm9yKWgocGlwKXMoZWxpbmVzKWYocHJlXDAxNHhlZClmKHdpdGgpaAotKHRoZSloIEZzKHRpbWUpZSBGdChyZXNlcnYpbShlZClpKHcpbShvcmQpZihzaG91bGQpZyhiKXMoZSk2MzAKLTg5NyB5KGRpc3BsYSltKHkpbShlZC4payhUaGUpMjcgYihgKXAgRnMoXDA0NSlwIEZ0KCcpaChjKW0oaGFyYWN0ZXIpaAotKGluKW0odHJvKXMoZHVjZXMpZShhbiloKGVzY2FwKXMoZSlnKHNlcXVlbmNlKWcodGhhdClnKGlzKWYoZXhwYW5kZWQpZwotKHRvKTYzMCAxMDA2IHkoYSkzNyBiKHRpbWUpZyh2KS01IGIoYWx1ZSkzNiBiKG9yKWgob3RoZXIpZgotKGluZm9ybWF0aW9uLik1OSBiKFRoZSkzNiBiKGVzY2FwKXMoZSlnKHNlcXVlbmNlcyloKGFuZCllKHRoZWlyKWkKLShtZWFuaW5ncyk2MzAgMTExNiB5KGFyZSkzMSBiKGFzKWYoZm9sbG8pbSh3czspaSh0aGUpZihicmFjZXMpZihkZW5vdGUpCi1oKG9wdGlvbmFsKWgocClzKG9ydGlvbnMuKTYzMCAxMjc1IHkgRnMoXDA0NVwwNDUpMzg0Ci1iIEZ0KEEpMzAgYihsaXRlcmFsKWkoYClwIEZzKFwwNDUpcCBGdCgnLik2MzAgMTQzNSB5Ci1GcyhcMDQ1WylwIEZqKHApMTEgYiBGcyhdW2xdUik4NSBiIEZ0KFRoZSkzMCBiKGVsYXBzZWQpaCh0aW1lKWcoaW4pZgotKHNlY29uZHMuKTYzMCAxNTk0IHkgRnMoXDA0NVspcCBGaihwKTExIGIgRnMoXVtsXVUpODUKLWIgRnQoVGhlKTMwIGIobiltKHVtKW0oYilzKGVyKWYob2YpaChDUFUpZyhzZWNvbmRzKWgoc3ApcyhlbiltKHQpZihpbilnCi0odXNlcilmKG1vKXMoZGUuKTYzMCAxNzUzIHkgRnMoXDA0NVspcCBGaihwKTExIGIgRnMoXVtsXVMpODUKLWIgRnQoVGhlKTMwIGIobiltKHVtKW0oYilzKGVyKWYob2YpaChDUFUpZyhzZWNvbmRzKWgoc3ApcyhlbiltKHQpZihpbilnCi0oc3lzdGVtKWcobW8pcyhkZS4pNjMwIDE5MTMgeSBGcyhcMDQ1UCkzODQgYiBGdChUaGUpMzAKLWIoQ1BVKWcocClzKGVyY2VuKW0odGFnZSwpaShjb21wdXRlZCllKGFzKWgoXChcMDQ1VSlmCi1GcygrKWcgRnQoXDA0NVNcKSlnKC8paChcMDQ1Ui4pNjMwIDIwNzIgeShUaGUpMjMgYihvcHRpb25hbClqCi1GcShwKWcgRnQoaXMpZShhKWcoZGlnaXQpaChzcClzKGVjaWZ5aW5nKWUodGhlKWgocHJlY2lzaW9uLClpKHRoZSllKG4pbQotKHVtKW0oYilzKGVyKWYob2YpaChmcmFjdGlvbmFsKWgoZGlnaXRzKTYzMCAyMTgyIHkoYWZ0ZXIpMzYKLWIoYSlmKGRlY2ltYWwpaShwKXMob2luKW0odC4pNTUgYihBKTM1IGIodiktNSBiKGFsdWUpMzYKLWIob2YpZigwKWgoY2F1c2VzKWcobm8pZihkZWNpbWFsKWgocClzKG9pbiltKHQpZihvciloKGZyYWN0aW9uKWcodG8pZwotKGIpcyhlKTYzMCAyMjkxIHkob3V0cHV0Lik0OCBiKEEpbSh0KTM0IGIobW9zdClmKHRocmVlKWcocGxhY2VzKWgKLShhZnRlcilmKHRoZSlnKGRlY2ltYWwpaChwKXMob2luKW0odClmKG1hKW0oeSloKGIpcyhlKWUoc3ApcwotKGVjaVwwMTRlZDspaSh2KS01IGIoYWx1ZXMpNjMwIDI0MDEgeShvZikzMSBiIEZxKHApaAotRnQoZ3JlYXRlcilnKHRoYW4pZSgzKWgoYXJlKWYoYyltKGhhbmdlZCloKHRvKWcoMy4pNDIKK2IoU2hlbGwpMzAgYihWKS04IGIoYXJpYWJsZXMpMjQ1OSBiKDY5KTE1MCAyOTkgeSBGcyhTRUNPTkRTKTE0NAorYiBGdChUaGlzKTQwIGIodiktNSBiKGFyaWFibGUpNDEgYihleHBhbmRzKWYodG8paCh0aGUpZyhuKW0odW0pbShiKXMKKyhlcillKG9mKWkoc2Vjb25kcylnKHNpbmNlKWcodGhlKWYoc2hlbGwpaCh3KW0oYXMpZyhzdGFydGVkLik2MzAKKzQwOCB5KEFzc2lnbm1lbiltKHQpaSh0bylnKHRoaXMpZyh2KS01IGIoYXJpYWJsZSk0MyBiKHJlc2V0cylnKHRoZSlnCisoY291biltKHQpZyh0bylnKHRoZSlnKHYpLTUgYihhbHVlKTQzIGIoYXNzaWduZWQsKWooYW5kKWModGhlKTYzMAorNTE4IHkoZXhwYW5kZWQpMzUgYih2KS01IGIoYWx1ZSkzNiBiKGIpcyhlY29tZXMpaCh0aGUpZih2KS01CitiKGFsdWUpMzYgYihhc3NpZ25lZClnKHBsdXMpZih0aGUpaChuKW0odW0pbShiKXMoZXIpZihvZiloKHNlY29uZHMpZworKHNpbmNlKTYzMCA2MjggeSh0aGUpMzEgYihhc3NpZ25tZW4pbSh0LikxNTAgNzc5IHkgRnMoU0hFTEwpMjQwCitiIEZ0KFRoZSkyOSBiKGZ1bGwpaChwYXRobmFtZSlnKHRvKWgodGhlKWYoc2hlbGwpZyhpcylnKGspbShlcHQpZyhpbilnCisodGhpcylnKGVuKW0odmlyb25tZW4pbSh0KWcodiktNSBiKGFyaWFibGUuKTQyIGIoSWYpMjkKK2IoaXQpaShpcylmKG5vdCk2MzAgODg5IHkoc2V0KTM2IGIod2hlbilmKHRoZSloKHNoZWxsKWcoc3RhcnRzLClpKEJhc2gpCitlKGFzc2lnbnMpaCh0bylmKGl0KWgodGhlKWYoZnVsbClmKHBhdGhuYW1lKWgob2YpZyh0aGUpZyhjdXJyZW4pbSh0KTYzMAorOTk5IHkodXNlcidzKTMwIGIobG9naW4paChzaGVsbC4pMTUwIDExNTAgeSBGcyhTSEVMTE9QVFMpNjMwCisxMjYwIHkgRnQoQSlnKGNvbG9uLXNlcGFyYXRlZCloKGxpc3QpZihvZilnKGVuYWJsZWQpZihzaGVsbCloKG9wdGlvbnMuKQorNDEgYihFYWMpbShoKTMxIGIodyltKG9yZClmKGluKWcodGhlKWgobGlzdClnKGlzKWcoYSlnKHYpLTUKK2IoYWxpZCk2MzAgMTM2OSB5KGFyZ3VtZW4pbSh0KTI0IGIoZm9yKWYodGhlKWgoYClwIEZzKC1vKXAKK0Z0KCcpZihvcHRpb24paCh0bylnKHRoZSlnIEZzKHNldClmIEZ0KGJ1aWx0aW4pZyhjb21tYW5kKWcoXChzZWUpaQorKFNlY3Rpb24pZig0LjMuMSloKFtUaGUpNjMwIDE0NzkgeShTZXQpayhCdWlsdGluXSwpaChwYWdlKWYoNTFcKS4pNDIKK2IoVGhlKTI4IGIob3B0aW9ucyloKGFwcClzKGVhcmluZylmKGluKWcgRnMoU0hFTExPUFRTKWUKK0Z0KGFyZSlqKHRob3NlKWgocmVwKXMob3J0ZWQpNjMwIDE1ODkgeShhcylnKGApcCBGcyhvbilwCitGdCgnKWYoYiltKHkpaChgKXAgRnMoc2V0KWcoLW8pcCBGdCgnLik0MCBiKElmKTI5IGIodGhpcyloKHYpLTUKK2IoYXJpYWJsZSkzMCBiKGlzKWcoaW4pZih0aGUpaChlbiltKHZpcm9ubWVuKW0odClnKHdoZW4pZihCYXNoKWgKKyhzdGFydHMpZyh1cCwpNjMwIDE2OTggeShlYWMpbShoKTQxIGIoc2hlbGwpZShvcHRpb24paChpbilmKHRoZSloKGxpc3QpCitnKHdpbGwpZihiKXMoZSlnKGVuYWJsZWQpaChiKXMoZWZvcmUpZihyZWFkaW5nKWcoYW4pbSh5KWgoc3RhcnR1cClmCisoXDAxNGxlcy4pNjMwIDE4MDggeShUaGlzKTMwIGIodiktNSBiKGFyaWFibGUpMzEgYihpcylmKHJlYWRvbmx5KS04CitiKC4pMTUwIDE5NjAgeSBGcyhTSExWTCkyNDAgYiBGdChJbmNyZW1lbiltKHRlZCkyMSBiKGIpbSh5KWcob25lKWcoZWFjKQorbShoKWgodGltZSlmKGEpaChuZXcpZShpbnN0YW5jZSloKG9mKWcoQmFzaClnKGlzKWcoc3RhcnRlZC4pMzgKK2IoVGhpcykyMCBiKGlzKWgoaW4pbSh0ZW5kZWQpNjMwIDIwNjkgeSh0bykzMSBiKGIpcyhlKWYoYSloKGNvdW4pbSh0KWcKKyhvZilmKGhvKW0odyloKGRlZXBseSlmKHkpbShvdXIpZyhCYXNoKWgoc2hlbGxzKWYoYXJlKWgobmVzdGVkLikxNTAKKzIyMjEgeSBGcyhUSU1FRk9STUFUKTYzMCAyMzMwIHkgRnQoVGhlKWYodiktNSBiKGFsdWUpMzIKK2Iob2YpZih0aGlzKWcocGFyYW1ldGVyKWcoaXMpZyh1c2VkKWYoYXMpaChhKWcoZm9ybWF0KWgoc3RyaW5nKWYoc3ApcworKGVjaWZ5aW5nKWYoaG8pbSh3KWgodGhlKWcodGltLSk2MzAgMjQ0MCB5KGluZykzNyBiKGluZm9ybWF0aW9uKWYoZm9yKWgKKyhwaXApcyhlbGluZXMpZihwcmVcMDE0eGVkKWYod2l0aCloKHRoZSloIEZzKHRpbWUpZSBGdChyZXNlcnYpbShlZClpKHcpCittKG9yZClmKHNob3VsZClnKGIpcyhlKTYzMCAyNTUwIHkoZGlzcGxhKW0oeSltKGVkLilrKFRoZSkyNworYihgKXAgRnMoXDA0NSlwIEZ0KCcpaChjKW0oaGFyYWN0ZXIpaChpbiltKHRybylzKGR1Y2VzKWUoYW4paChlc2NhcClzCisoZSlnKHNlcXVlbmNlKWcodGhhdClnKGlzKWYoZXhwYW5kZWQpZyh0byk2MzAgMjY1OSB5KGEpMzcKK2IodGltZSlnKHYpLTUgYihhbHVlKTM2IGIob3IpaChvdGhlcilmKGluZm9ybWF0aW9uLik1OQorYihUaGUpMzYgYihlc2NhcClzKGUpZyhzZXF1ZW5jZXMpaChhbmQpZSh0aGVpcilpKG1lYW5pbmdzKTYzMAorMjc2OSB5KGFyZSkzMSBiKGFzKWYoZm9sbG8pbSh3czspaSh0aGUpZihicmFjZXMpZihkZW5vdGUpaChvcHRpb25hbCloCisocClzKG9ydGlvbnMuKTYzMCAyOTIxIHkgRnMoXDA0NVwwNDUpMzg0IGIgRnQoQSkzMCBiKGxpdGVyYWwpaShgKXAKK0ZzKFwwNDUpcCBGdCgnLik2MzAgMzA3MiB5IEZzKFwwNDVbKXAgRmkocCkxMSBiIEZzKF1bbF1SKTg1CitiIEZ0KFRoZSkzMCBiKGVsYXBzZWQpaCh0aW1lKWcoaW4pZihzZWNvbmRzLik2MzAgMzIyNAoreSBGcyhcMDQ1WylwIEZpKHApMTEgYiBGcyhdW2xdVSk4NSBiIEZ0KFRoZSkzMCBiKG4pbSh1bSltKGIpcyhlcilmKG9mKWgKKyhDUFUpZyhzZWNvbmRzKWgoc3ApcyhlbiltKHQpZihpbilnKHVzZXIpZihtbylzKGRlLik2MzAKKzMzNzYgeSBGcyhcMDQ1WylwIEZpKHApMTEgYiBGcyhdW2xdUyk4NSBiIEZ0KFRoZSkzMCBiKG4pbSh1bSltKGIpcyhlcilmCisob2YpaChDUFUpZyhzZWNvbmRzKWgoc3ApcyhlbiltKHQpZihpbilnKHN5c3RlbSlnKG1vKXMoZGUuKTYzMAorMzUyOCB5IEZzKFwwNDVQKTM4NCBiIEZ0KFRoZSkzMCBiKENQVSlnKHApcyhlcmNlbiltKHRhZ2UsKWkoY29tcHV0ZWQpZQorKGFzKWgoXChcMDQ1VSlmIEZzKCspZyBGdChcMDQ1U1wpKWcoLyloKFwwNDVSLik2MzAgMzY3OQoreShUaGUpMjMgYihvcHRpb25hbClqIEZxKHApZyBGdChpcyllKGEpZyhkaWdpdCloKHNwKXMoZWNpZnlpbmcpZSh0aGUpaAorKHByZWNpc2lvbiwpaSh0aGUpZShuKW0odW0pbShiKXMoZXIpZihvZiloKGZyYWN0aW9uYWwpaChkaWdpdHMpNjMwCiszNzg5IHkoYWZ0ZXIpMzYgYihhKWYoZGVjaW1hbClpKHApcyhvaW4pbSh0Lik1NSBiKEEpMzUKK2IodiktNSBiKGFsdWUpMzYgYihvZilmKDApaChjYXVzZXMpZyhubylmKGRlY2ltYWwpaChwKXMob2luKW0odClmKG9yKWgKKyhmcmFjdGlvbilnKHRvKWcoYilzKGUpNjMwIDM4OTggeShvdXRwdXQuKTQ4IGIoQSltKHQpMzQKK2IobW9zdClmKHRocmVlKWcocGxhY2VzKWgoYWZ0ZXIpZih0aGUpZyhkZWNpbWFsKWgocClzKG9pbiltKHQpZihtYSltKHkpCitoKGIpcyhlKWUoc3ApcyhlY2lcMDE0ZWQ7KWkodiktNSBiKGFsdWVzKTYzMCA0MDA4IHkob2YpMzEKK2IgRnEocCloIEZ0KGdyZWF0ZXIpZyh0aGFuKWUoMyloKGFyZSlmKGMpbShoYW5nZWQpaCh0bylnKDMuKTQyCiBiKElmKTI5IGIgRnEocClrIEZ0KGlzKWQobm90KWgoc3ApcyhlY2lcMDE0ZWQsKWYodGhlKWgodiktNQotYihhbHVlKTMwIGIoMyloKGlzKWcodXNlZC4pNjMwIDI1MzUgeShUaGUpNTQgYihvcHRpb25hbCloCitiKGFsdWUpMzAgYigzKWgoaXMpZyh1c2VkLik2MzAgNDEzOSB5KFRoZSk1NCBiKG9wdGlvbmFsKWgKIEZzKGwpZiBGdChzcClzKGVjaVwwMTRlcylnKGEpaChsb25nZXIpZihmb3JtYXQsKTYxIGIoaW5jbHVkaW5nKTU0Ci1iKG1pbiltKHV0ZXMsKTYxIGIob2YpNTQgYih0aGUpZyhmb3JtKTYzMCAyNjQ1IHkgRnEoTU0pMTAKLWIgRnQobSlwIEZxKFNTKXAgRnQoLilwIEZxKEZGKWQgRnQocy4pMTAzIGIoVGhlKTUwIGIodiktNQotYihhbHVlKTUyIGIob2YpZiBGcShwKWogRnQoZGV0ZXJtaW5lcylkKHdoZXRoZXIpZihvciloKG5vdCloKHRoZSlmCi0oZnJhY3Rpb24paChpcyk2MzAgMjc1NSB5KGluY2x1ZGVkLik2MzAgMjg4OSB5KElmKTMwCitiKG1pbiltKHV0ZXMsKTYxIGIob2YpNTQgYih0aGUpZyhmb3JtKTYzMCA0MjQ4IHkgRnEoTU0pMTAKK2IgRnQobSlwIEZxKFNTKTUgYiBGdCguKXAgRnEoRkYpaSBGdChzLikxMDIgYihUaGUpNTAKK2IodiktNSBiKGFsdWUpNTEgYihvZilnIEZxKHApaSBGdChkZXRlcm1pbmVzKWUod2hldGhlcilmKG9yKWgobm90KWYKKyh0aGUpaChmcmFjdGlvbiloKGlzKTYzMCA0MzU4IHkoaW5jbHVkZWQuKTYzMCA0NDg5IHkoSWYpMzAKIGIodGhpcylnKHYpLTUgYihhcmlhYmxlKTMxIGIoaXMpZyhub3QpZihzZXQsKWkoQmFzaCllKGFjdHMpaChhcylnKGlmKWYKLShpdCloKGhhZClmKHRoZSloKHYpLTUgYihhbHVlKTg3MCAzMDI0IHkgRnMKKyhpdCloKGhhZClmKHRoZSloKHYpLTUgYihhbHVlKTg3MCA0NjE5IHkgRnMKICgkJ1xcbnJlYWxcXHRcMDQ1M2xSXFxudXNlclxcdFwwNDUzKW8obFVcXG4pbyhzeXNcXClvKHRcMDQ1MylvKGxTJyk2MzAKLTMxNTggeSBGdChJZikzNyBiKHRoZSlnKHYpLTUgYihhbHVlKTM4IGIoaXMpZihuKW0odWxsLClpKG5vKWYodGltaW5nKWYKKzQ3NTAgeSBGdChJZikzNyBiKHRoZSlnKHYpLTUgYihhbHVlKTM4IGIoaXMpZihuKW0odWxsLClpKG5vKWYodGltaW5nKWYKIChpbmZvcm1hdGlvbiloKGlzKWYoZGlzcGxhKW0oeSltKGVkLik2MiBiKEEpMzcgYih0cmFpbGluZylpKG5ld2xpbmUpZQotKGlzKTYzMCAzMjY4IHkoYWRkZWQpMzAgYih3aGVuKWYodGhlKWkoZm9ybWF0KWYoc3RyaW5nKWgoaXMpZihkaXNwbGEpbQotKHkpbShlZC4pMTUwIDM0MjcgeSBGcyhUTU9VVCkyNDAgYiBGdChJZikyMiBiKHNldCloKHRvKWcoYSlnKHYpLTUKKyhpcyk2MzAgNDg1OSB5KGFkZGVkKTMwIGIod2hlbilmKHRoZSlpKGZvcm1hdClmKHN0cmluZyloKGlzKWYoZGlzcGxhKW0KKyh5KW0oZWQuKTE1MCA1MDExIHkgRnMoVE1PVVQpMjQwIGIgRnQoSWYpMjIgYihzZXQpaCh0bylnKGEpZyh2KS01CiBiKGFsdWUpMjMgYihncmVhdGVyKWgodGhhbillKHplcm8sKWogRnMoVE1PVVQpZCBGdChpcylnKHRyZWF0ZWQpaShhcyllCi0odGhlKWgoZGVmYXVsdClnKHRpbWVvdXQpZyhmb3IpZyh0aGUpNjMwIDM1MzcgeSBGcyhyZWFkKTMxCisodGhlKWgoZGVmYXVsdClnKHRpbWVvdXQpZyhmb3IpZyh0aGUpNjMwIDUxMjEgeSBGcyhyZWFkKTMxCiBiIEZ0KGJ1aWx0aW4paChcKHNlZSloKFNlY3Rpb24pZig0LjIpaShbQmFzaCllKEJ1aWx0aW5zXSwpaChwYWdlKWcKLSg0MVwpLik0NyBiKFRoZSkzMiBiIEZzKHNlbGVjdCllIEZ0KGNvbW1hbmQpNjMwIDM2NDYKKyg0MVwpLik0NyBiKFRoZSkzMiBiIEZzKHNlbGVjdCllIEZ0KGNvbW1hbmQpNjMwIDUyMzAKIHkoXChzZWUpZihTZWN0aW9uKWgoMy4yLjQuMilnKFtDb25kaXRpb25hbClnKENvbnN0cnVjdHNdLCllKHBhZ2UpaQotKDEwXCkpZih0ZXJtaW5hdGVzKWcoaWYpZyhpbnB1dCllKGRvKXMoZXMpNjMwIDM3NTYgeShub3QpayhhcnJpdiltKGUpZworKDEwXCkpZih0ZXJtaW5hdGVzKWcoaWYpZyhpbnB1dCllKGRvKXMoZXMpNjMwIDUzNDAgeShub3QpayhhcnJpdiltKGUpZwogKGFmdGVyKWcgRnMoVE1PVVQpZSBGdChzZWNvbmRzKWgod2hlbilmKGlucHV0KWgoaXMpZyhjb21pbmcpaChmcm9tKWYoYSkKLWgodGVybWluYWwuKTYzMCAzODkwIHkoSW4pMjUgYihhbiloKGluKW0odGVyYWN0aXYpbShlKWkoc2hlbGwsKWcodGhlKWUKLSh2KS01IGIoYWx1ZSkyNiBiKGlzKWcoaW4pbSh0ZXJwcmV0ZWQpZyhhcylnKHRoZSlnKG4pbSh1bSltKGIpcyhlcilmCi0ob2YpaChzZWNvbmRzKWYodG8paSh3KW0oYWl0KTYzMCA0MDAwIHkoZm9yKTMyIGIoaW5wdXQpZihhZnRlcilpCi0oaXNzdWluZylmKHRoZSlnKHByaW1hcnkpZyhwcm9tcHQpZih3aGVuKWcodGhlKWkoc2hlbGwpZihpcyloKGluKW0KLSh0ZXJhY3RpdiltKGUuKTQ5IGIoQmFzaCk2MzAgNDExMCB5KHRlcm1pbmF0ZXMpMzEgYihhZnRlcilnKHRoYXQpZyhuKW0KLSh1bSltKGIpcyhlcillKG9mKWkoc2Vjb25kcylmKGlmKWcoaW5wdXQpZyhkbylzKGVzKWcobm90KWcoYXJyaXYpbShlLikKLTE1MCA0MjY5IHkgRnMoVE1QRElSKTE5MiBiIEZ0KElmKTM5IGIoc2V0LClqKEJhc2gpZSh1c2VzKWYoaXRzKWgodiktNQotYihhbHVlKTQwIGIoYXMpZih0aGUpaChuYW1lKWYob2YpaChhKWcoZGlyZWN0b3J5KWcoaW4pZih3aGljKW0oaClnCi0oQmFzaCloKGNyZWF0ZXMpNjMwIDQzNzkgeSh0ZW1wKXMob3JhcnkpMzAgYihcMDE0bGVzKWcoZm9yKWcodGhlKWgKLShzaGVsbCdzKWcodXNlLikxNTAgNDUzOCB5IEZzKFVJRCkzMzYgYiBGdChUaGUpMzAgYihuKW0odW1lcmljKWcocmVhbCloCi0odXNlcilmKGlkKWcob2YpZyh0aGUpaChjdXJyZW4pbSh0KWYodXNlci4pNDAgYihUaGlzKTMwCi1iKHYpLTUgYihhcmlhYmxlKTMxIGIoaXMpZihyZWFkb25seSktOCBiKC4pcCBlb3AgZW5kCitoKHRlcm1pbmFsLilwIGVvcCBlbmQKICUlUGFnZTogNzAgNzYKIFRlWERpY3QgYmVnaW4gNzAgNzUgYm9wIDE1MCAtMTE2IGEgRnQoNzApMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKXAgZW9wIGVuZAorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5KEluKTI1IGIoYW4paChpbiltKHRlcmFjdGl2KW0oZSlpCisoc2hlbGwsKWcodGhlKWUodiktNSBiKGFsdWUpMjYgYihpcylnKGluKW0odGVycHJldGVkKWcoYXMpZyh0aGUpZyhuKW0KKyh1bSltKGIpcyhlcilmKG9mKWgoc2Vjb25kcylmKHRvKWkodyltKGFpdCk2MzAgNDA4IHkoZm9yKTMyCitiKGlucHV0KWYoYWZ0ZXIpaShpc3N1aW5nKWYodGhlKWcocHJpbWFyeSlnKHByb21wdClmKHdoZW4pZyh0aGUpaQorKHNoZWxsKWYoaXMpaChpbiltKHRlcmFjdGl2KW0oZS4pNDkgYihCYXNoKTYzMCA1MTggeSh0ZXJtaW5hdGVzKTMxCitiKGFmdGVyKWcodGhhdClnKG4pbSh1bSltKGIpcyhlcillKG9mKWkoc2Vjb25kcylmKGlmKWcoaW5wdXQpZyhkbylzKGVzKQorZyhub3QpZyhhcnJpdiltKGUuKTE1MCA2NzcgeSBGcyhUTVBESVIpMTkyIGIgRnQoSWYpMzkKK2Ioc2V0LClqKEJhc2gpZSh1c2VzKWYoaXRzKWgodiktNSBiKGFsdWUpNDAgYihhcylmKHRoZSloKG5hbWUpZihvZiloKGEpCitnKGRpcmVjdG9yeSlnKGluKWYod2hpYyltKGgpZyhCYXNoKWgoY3JlYXRlcyk2MzAgNzg3Cit5KHRlbXApcyhvcmFyeSkzMCBiKFwwMTRsZXMpZyhmb3IpZyh0aGUpaChzaGVsbCdzKWcodXNlLikxNTAKKzk0NiB5IEZzKFVJRCkzMzYgYiBGdChUaGUpMzAgYihuKW0odW1lcmljKWcocmVhbCloKHVzZXIpZihpZClnKG9mKWcKKyh0aGUpaChjdXJyZW4pbSh0KWYodXNlci4pNDAgYihUaGlzKTMwIGIodiktNSBiKGFyaWFibGUpMzEKK2IoaXMpZihyZWFkb25seSktOCBiKC4pcCBlb3AgZW5kCiAlJVBhZ2U6IDcxIDc3CiBUZVhEaWN0IGJlZ2luIDcxIDc2IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig2Oik0MQogYihCYXNoKTMwIGIoRiktOCBiKGVhdHVyZXMpMjQ4NCBiKDcxKTE1MCAyOTkgeSBGbyg2KTgwCi1iKEJhc2gpNTQgYihGKS0xMyBiKGVhdHVyZXMpMjc1IDUzNyB5IEZ0KFRoaXMpMjkgYihzZWN0aW9uKWooZGVzY3JpYilzCi0oZXMpZChmZWF0dXJlcylpKHVuaXF1ZSllKHRvKWooQmFzaC4pMTUwIDc5OCB5IEZyKDYuMSk2OAotYihJbilsKHYpbChva2luZyk0NiBiKEJhc2gpMzkwIDEwMTcgeSBGcyhiYXNoKWgoW2xvbmctb3B0XSllKFstaXJdKWgKLShbLWFiZWZoa21ucHR1dnhkQkNESFBdKWMoWy1vKTQ3IGIgRmoob3B0aW9uKTExIGIgRnMoXSk0NQotYihbLU8paSBGaihzaG9wdF9vcHRpb24pMTEgYiBGcyhdKTQ0IGIoWylwIEZqKGFyLSkzOTAKLTExMjcgeShndW1lbnQpNTcgYiBGcyguLi4pbyhdKTM5MCAxMjM2IHkoYmFzaCk0NyBiKFtsb25nLW9wdF0pZQotKFstYWJlZmhrbW5wdHV2eGRCQ0RIUF0pYyhbLW8pNDcgYiBGaihvcHRpb24pMTEgYiBGcyhdKTQ2Ci1iKFstTylnIEZqKHNob3B0X29wdGlvbikxMSBiIEZzKF0pNDQgYigtYylqIEZqKHN0cmluZyk1NwotYiBGcyhbKXAgRmooYXItKTM5MCAxMzQ2IHkoZ3VtZW50KWcgRnMoLi4uKW8oXSkzOTAgMTQ1NQorYihCYXNoKTU0IGIoRiktMTMgYihlYXR1cmVzKTE1MCA1NTQgeSBGdChUaGlzKTMwIGIoc2VjdGlvbiloKGRlc2NyaWIpcworKGVzKWYoZmVhdHVyZXMpZyh1bmlxdWUpZyh0byloKEJhc2guKTE1MCA3OTcgeSBGcig2LjEpNjgKK2IoSW4pbCh2KWwob2tpbmcpNDYgYihCYXNoKTM5MCA5NTcgeSBGcyhiYXNoKWgoW2xvbmctb3B0XSllKFstaXJdKWgKKyhbLWFiZWZoa21ucHR1dnhkQkNESFBdKWMoWy1vKTQ3IGIgRmkob3B0aW9uKTExIGIgRnMoXSk0NQorYihbLU8paSBGaShzaG9wdF9vcHRpb24pMTEgYiBGcyhdKTQ0IGIoWylwIEZpKGFyLSkzOTAKKzEwNjYgeShndW1lbnQpNTcgYiBGcyguLi4pbyhdKTM5MCAxMTc2IHkoYmFzaCk0NyBiKFtsb25nLW9wdF0pZQorKFstYWJlZmhrbW5wdHV2eGRCQ0RIUF0pYyhbLW8pNDcgYiBGaShvcHRpb24pMTEgYiBGcyhdKTQ2CitiKFstTylnIEZpKHNob3B0X29wdGlvbikxMSBiIEZzKF0pNDQgYigtYylqIEZpKHN0cmluZyk1NworYiBGcyhbKXAgRmkoYXItKTM5MCAxMjg2IHkoZ3VtZW50KWcgRnMoLi4uKW8oXSkzOTAgMTM5NQogeShiYXNoKTQ3IGIoW2xvbmctb3B0XSllKC1zKWkoWy1hYmVmaGttbnB0dXZ4ZEJDREhQXSk0MgotYihbLW8payBGaihvcHRpb24pMTEgYiBGcyhdKTQ2IGIoWy1PKWggRmooc2hvcHRfb3B0aW9uKTExCi1iIEZzKF0pNDMgYihbKXAgRmooYXItKTM5MCAxNTY1IHkoZ3VtZW50KTU3IGIgRnMoLi4uKW8oXSkyNzUKLTE3MDEgeSBGdChJbikyMiBiKGFkZGl0aW9uKWkodG8pZyh0aGUpZyhzaW5nbGUtYyltKGhhcmFjdGVyKWkoc2hlbGwpZQorYihbLW8payBGaShvcHRpb24pMTEgYiBGcyhdKTQ2IGIoWy1PKWggRmkoc2hvcHRfb3B0aW9uKTExCitiIEZzKF0pNDMgYihbKXAgRmkoYXItKTM5MCAxNTA1IHkoZ3VtZW50KTU3IGIgRnMoLi4uKW8oXSkyNzUKKzE2NDYgeSBGdChJbikyMiBiKGFkZGl0aW9uKWkodG8pZyh0aGUpZyhzaW5nbGUtYyltKGhhcmFjdGVyKWkoc2hlbGwpZQogKGNvbW1hbmQtbGluZSlnKG9wdGlvbnMpZihcKHNlZSlpKFNlY3Rpb24pZig0LjMuMSlpKFtUaGUpZChTZXQpMTUwCi0xODEwIHkoQnVpbHRpbl0sKWsocGFnZSllKDUxXCksKWkodGhlcmUpZShhcmUpZyhzZXYpbShlcmFsKWgobSltCisxNzU2IHkoQnVpbHRpbl0sKWsocGFnZSllKDUxXCksKWkodGhlcmUpZShhcmUpZyhzZXYpbShlcmFsKWgobSltCiAodWx0aS1jKW0oaGFyYWN0ZXIpaChvcHRpb25zKWUodGhhdClnKHkpbShvdSlnKGNhbilnKHVzZS4pMzgKLWIoVGhlc2UpMjUgYihvcHRpb25zKTE1MCAxOTIwIHkobSltKHVzdCkzMCBiKGFwcClzKGVhcilnKG9uKWcodGhlKWgKK2IoVGhlc2UpMjUgYihvcHRpb25zKTE1MCAxODY1IHkobSltKHVzdCkzMCBiKGFwcClzKGVhcilnKG9uKWcodGhlKWgKIChjb21tYW5kKWYobGluZSloKGIpcyhlZm9yZSlmKHRoZSlnKHNpbmdsZS1jKW0oaGFyYWN0ZXIpaihvcHRpb25zKWUodG8pCi1nKGIpcyhlKWYocmVjb2duaXplZC4pMTUwIDIwODEgeSBGcygtLWRlYnVnZ2VyKTYzMCAyMTkxCitnKGIpcyhlKWYocmVjb2duaXplZC4pMTUwIDIwMzUgeSBGcygtLWRlYnVnZ2VyKTYzMCAyMTQ1CiB5IEZ0KEFycmFuZ2Upaihmb3IpZyh0aGUpZyhkZWJ1Z2dlcilnKHByb1wwMTRsZSlnKHRvKWgoYilzKGUpZQogKGV4ZWN1dGVkKWkoYilzKGVmb3JlKWYodGhlKWcoc2hlbGwpZyhzdGFydHMuKTQ5IGIoVCktOAotYih1cm5zKTYzMCAyMzAxIHkob24pMjUgYihleHRlbmRlZClnKGRlYnVnZ2luZylnKG1vKXMoZGUpZihcKHNlZSlpCi0oU2VjdGlvbilnKDQuMy4yKWgoW1RoZSlkKFNob3B0KWgoQnVpbHRpbl0sKWkocGFnZSllKDU0KWgoZm9yKTYzMAotMjQxMCB5KGEpMzUgYihkZXNjcmlwdGlvbilmKG9mKWgodGhlKWcgRnMoZXh0ZGVidWcpZAorYih1cm5zKTYzMCAyMjU1IHkob24pMjUgYihleHRlbmRlZClnKGRlYnVnZ2luZylnKG1vKXMoZGUpZihcKHNlZSlpCisoU2VjdGlvbilnKDQuMy4yKWgoW1RoZSlkKFNob3B0KWgoQnVpbHRpbl0sKWkocGFnZSllKDU1KWgoZm9yKTYzMAorMjM2NCB5KGEpMzUgYihkZXNjcmlwdGlvbilmKG9mKWgodGhlKWcgRnMoZXh0ZGVidWcpZAogRnQob3B0aW9uKWoodG8pZyh0aGUpZiBGcyhzaG9wdClmIEZ0KGJ1aWx0aW5cKSlpKGFuZClmKHNoZWxsKWcKLShmdW5jdGlvbik2MzAgMjUyMCB5KHRyYWNpbmcpZChcKHNlZSlnKFNlY3Rpb24paCg0LjMuMSlnKFtUaGUpZShTZXQpZworKGZ1bmN0aW9uKTYzMCAyNDc0IHkodHJhY2luZylkKFwoc2VlKWcoU2VjdGlvbiloKDQuMy4xKWcoW1RoZSllKFNldClnCiAoQnVpbHRpbl0sKWgocGFnZSlnKDUxKWgoZm9yKWUoYSlnKGRlc2NyaXB0aW9uKWgob2YpZih0aGUpaAotRnMoLW8pNjMwIDI2MjkgeShmdW5jdHJhY2UpZCBGdChvcHRpb25cKS4pMTUwIDI3OTAgeQotRnMoLS1kdW1wLXBvLXN0cmluZ3MpNjMwIDI5MDAgeSBGdChBKTM3IGIobGlzdClnKG9mKWYoYWxsKWkKK0ZzKC1vKTYzMCAyNTgzIHkoZnVuY3RyYWNlKWQgRnQob3B0aW9uXCkuKTE1MCAyNzUwIHkKK0ZzKC0tZHVtcC1wby1zdHJpbmdzKTYzMCAyODU5IHkgRnQoQSkzNyBiKGxpc3QpZyhvZilmKGFsbClpCiAoZG91YmxlLXF1b3RlZCllKHN0cmluZ3MpZyhwcmVjZWRlZClnKGIpbSh5KWgoYClwIEZzKCQpcAotRnQoJylmKGlzKWgocHJpbiltKHRlZClmKG9uKWcodGhlKWgoc3RhbmRhcmQpNjMwIDMwMDkKK0Z0KCcpZihpcyloKHByaW4pbSh0ZWQpZihvbilnKHRoZSloKHN0YW5kYXJkKTYzMCAyOTY5CiB5KG91dHB1dCkyNCBiKGluKWgodGhlKWcgRmwoZ251KWYgRnMoZ2V0dGV4dClmIEZ0KFBPKWkoXChwKXMob3J0YWJsZSlnCiAob2IpNSBiKGplY3RcKSkyNiBiKFwwMTRsZSlmKGZvcm1hdC4pMzkgYihFcXVpdiktNSBiKGFsZW4pbSh0KTI2Ci1iKHRvKWYoYClwIEZzKC1EKXAgRnQoJyk2MzAgMzExOSB5KGV4Y2VwdCkzMSBiKGZvcilmKHRoZSloKG91dHB1dClmCi0oZm9ybWF0LikxNTAgMzI4MCB5IEZzKC0tZHVtcC1zdHJpbmdzKTYzMCAzMzg5IHkgRnQoRXF1aXYpLTUKLWIoYWxlbiltKHQpMzEgYih0bylnKGApcCBGcygtRClwIEZ0KCcuKTE1MCAzNTUwIHkgRnMoLS1oZWxwKTE5MgorYih0bylmKGApcCBGcygtRClwIEZ0KCcpNjMwIDMwNzkgeShleGNlcHQpMzEgYihmb3IpZih0aGUpaChvdXRwdXQpZgorKGZvcm1hdC4pMTUwIDMyNDUgeSBGcygtLWR1bXAtc3RyaW5ncyk2MzAgMzM1NSB5IEZ0KEVxdWl2KS01CitiKGFsZW4pbSh0KTMxIGIodG8pZyhgKXAgRnMoLUQpcCBGdCgnLikxNTAgMzUyMSB5IEZzKC0taGVscCkxOTIKIGIgRnQoRGlzcGxhKW0oeSkzMiBiKGEpZSh1c2FnZSloKG1lc3NhZ2UpaChvbillKHN0YW5kYXJkKWcob3V0cHV0KWcKLShhbmQpZihleGl0KWooc3VjY2Vzc2Z1bGx5KS04IGIoLikxNTAgMzcxMSB5IEZzKC0taW5pdC1maWxlKTI3Ci1iIEZqKGZpbGVuYW1lKTE1MCAzODIwIHkgRnMoLS1yY2ZpbGUpaCBGaihmaWxlbmFtZSk2MzAKLTM5MzAgeSBGdChFeGVjdXRlKTQyIGIoY29tbWFuZHMpZihmcm9tKWYgRnEoXDAxNGxlbmFtZSk0NworKGFuZClmKGV4aXQpaihzdWNjZXNzZnVsbHkpLTggYiguKTE1MCAzNjg4IHkgRnMoLS1pbml0LWZpbGUpMjcKK2IgRmkoZmlsZW5hbWUpMTUwIDM3OTcgeSBGcygtLXJjZmlsZSloIEZpKGZpbGVuYW1lKTYzMAorMzkwNyB5IEZ0KEV4ZWN1dGUpNDIgYihjb21tYW5kcylmKGZyb20pZiBGcShcMDE0bGVuYW1lKTQ3CiBiIEZ0KFwoaW5zdGVhZCk0MiBiKG9mKWYoYClwIEZzKH4vLmJhc2hyYylwIEZ0KCdcKSllKGluKWkoYW4pZyhpbiltCi0odGVyYWN0aXYpbShlKTYzMCA0MDM5IHkoc2hlbGwuKTE1MCA0MjAwIHkgRnMoLS1sb2dpbikxNDQKKyh0ZXJhY3RpdiltKGUpNjMwIDQwMTYgeShzaGVsbC4pMTUwIDQxODMgeSBGcygtLWxvZ2luKTE0NAogYiBGdChFcXVpdiktNSBiKGFsZW4pbSh0KTMxIGIodG8pZyhgKXAgRnMoLWwpcCBGdCgnLikxNTAKLTQzNjEgeSBGcygtLW5vZWRpdGluZyk2MzAgNDQ3MSB5IEZ0KERvKWgobm90KWUodXNlKWgodGhlKWcKKzQzNDkgeSBGcygtLW5vZWRpdGluZyk2MzAgNDQ1OSB5IEZ0KERvKWgobm90KWUodXNlKWgodGhlKWcKIEZsKGdudSlmIEZ0KFJlYWRsaW5lKWkobGlicmFyeSllKFwoc2VlKWgoQ2hhcHRlcilnKDgpZyhbQ29tbWFuZClmKExpbmUpCi1nKEVkaXRpbmddLCk2MzAgNDU4MCB5KHBhZ2UpaCg5M1wpKWgodG8pZihyZWFkKWYoY29tbWFuZClnKGxpbmVzKWgKLSh3aGVuKWUodGhlKWkoc2hlbGwpZihpcyloKGluKW0odGVyYWN0aXYpbShlLikxNTAgNDc0MQoteSBGcygtLW5vcHJvZmlsZSk2MzAgNDg1MCB5IEZ0KERvbid0KWgobG9hZClmKHRoZSlnKHN5c3RlbS13aWRlKWcKK2coRWRpdGluZ10sKTYzMCA0NTY5IHkocGFnZSloKDkzXCkpaCh0bylmKHJlYWQpZihjb21tYW5kKWcobGluZXMpaAorKHdoZW4pZSh0aGUpaShzaGVsbClmKGlzKWgoaW4pbSh0ZXJhY3RpdiltKGUuKTE1MCA0NzM1Cit5IEZzKC0tbm9wcm9maWxlKTYzMCA0ODQ1IHkgRnQoRG9uJ3QpaChsb2FkKWYodGhlKWcoc3lzdGVtLXdpZGUpZwogKHN0YXJ0dXApZihcMDE0bGUpZyhgKXAgRnMoL2V0Yy9wcm9maWxlKXAgRnQoJyllKG9yKWooYW4pbSh5KWcob2YpZwotKHRoZSlmKHApcyhlcnNvbmFsKTYzMCA0OTYwIHkoaW5pdGlhbGl6YXRpb24pZyhcMDE0bGVzKWQoYClwCisodGhlKWYocClzKGVyc29uYWwpNjMwIDQ5NTQgeShpbml0aWFsaXphdGlvbilnKFwwMTRsZXMpZChgKXAKIEZzKH4vLmJhc2hfcHJvZmlsZSlwIEZ0KCcsKWUoYClwIEZzKH4vLmJhc2hfbG9naW4pcCBGdCgnLClnKG9yKWkoYClwCi1Gcyh+Ly5wcm9maWxlKXAgRnQoJyllKHdoZW4pNjMwIDUwNzAgeShCYXNoKTMxIGIoaXMpZihpbiltKHYpbShvayltKGVkKQorRnMofi8ucHJvZmlsZSlwIEZ0KCcpZSh3aGVuKTYzMCA1MDY0IHkoQmFzaCkzMSBiKGlzKWYoaW4pbSh2KW0ob2spbShlZCkKIGkoYXMpZShhKWgobG9naW4pZyhzaGVsbC4pMTUwIDUyMzAgeSBGcygtLW5vcmMpMTkyIGIKIEZ0KERvbid0KTMxIGIocmVhZClnKHRoZSlmKGApcCBGcyh+Ly5iYXNocmMpcCBGdCgnKWYoaW5pdGlhbGl6YXRpb24pawogKFwwMTRsZSlkKGluKWcoYW4paChpbiltKHRlcmFjdGl2KW0oZSlpKHNoZWxsLik0MSBiKFRoaXMpMzAKQEAgLTk5MDMsNyArOTgzNCw3IEBACiB5IEZ0KHN0YW5kYXJkKTM1IGIodG8paChtYXRjKW0oaClnKHRoZSlnKHN0YW5kYXJkLik1NQogYihUaGlzKTM1IGIoaXMpaChpbiltKHRlbmRlZClmKHRvKWgobWFrKW0oZSloKEJhc2gpZihiKXMoZWhhKW0odiltKGUpZwogKGFzKWcoYSk2MzAgNTE4IHkoc3RyaWN0KTI2IGIoc3VwKXMoZXJzZXQpZShvZiloKHRoYXQpZyhzdGFuZGFyZC4pMzgKLWIoU2VlKTI2IGIoU2VjdGlvbilmKDYuMTEpaShbQmFzaCllKFBPU0lYKWYoTW8pcyhkZV0sKWoocGFnZSlmKDg1LCk2MzAKK2IoU2VlKTI2IGIoU2VjdGlvbilmKDYuMTEpaShbQmFzaCllKFBPU0lYKWYoTW8pcyhkZV0sKWoocGFnZSlmKDg0LCk2MzAKIDYyOCB5KGZvcilrKGEpaChkZXNjcmlwdGlvbilmKG9mKWgodGhlKWYoQmFzaCloIEZsKHBvc2l4KWYKIEZ0KG1vKXMoZGUuKTE1MCA3ODcgeSBGcygtLXJlc3RyaWN0ZWQpNjMwIDg5NyB5IEZ0KE1hayltKGUpNTQKIGIodGhlKWUoc2hlbGwpZyhhKWgocmVzdHJpY3RlZClnKHNoZWxsKWYoXChzZWUpaChTZWN0aW9uKWcoNi4xMCloKFtUaGUpCkBAIC05OTE3LDcgKzk4NDgsNyBAQAogbShoYXJhY3RlcilpKG9wdGlvbnMpZCh0aGF0KWgobWEpbSh5KWcoYilzKGUpZShzdXBwbGllZClnKGF0KWkoaW4pbSh2KW0KIChvKXMoY2F0aW9uKWgod2hpYyltKGgpZShhcmUpMTUwIDE5MjMgeShub3QpaShhKW0odiktNQogYihhaWxhYmxlKTMyIGIod2l0aCllKHRoZSloIEZzKHNldCllIEZ0KGJ1aWx0aW4uKTE1MAotMjA4MiB5IEZzKC1jKWggRmooc3RyaW5nKTYzMCAyMTkyIHkgRnQoUmVhZCkyMyBiKGFuZClmKGV4ZWN1dGUpaQorMjA4MiB5IEZzKC1jKWggRmkoc3RyaW5nKTYzMCAyMTkyIHkgRnQoUmVhZCkyMyBiKGFuZClmKGV4ZWN1dGUpaQogKGNvbW1hbmRzKWYoZnJvbSlmIEZxKHN0cmluZykzMSBiIEZ0KGFmdGVyKTIzIGIocHJvKXMoY2Vzc2luZylmKHRoZSloCiAob3B0aW9ucywpaSh0aGVuKWUoZXhpdC4pNjMwIDIzMDEgeShBbiltKHkpMzcgYihyZW1haW5pbmcpZihhcmd1bWVuKW0KICh0cyloKGFyZSlnKGFzc2lnbmVkKWcodG8pZyh0aGUpZyhwKXMob3NpdGlvbmFsKWcocGFyYW1ldGVycywpaQpAQCAtOTk1NSwxMSArOTg4NiwxMSBAQAogRnMoUE9TSVgpZyBGdChcKHNlZSloKFNlY3Rpb24paCgzLjEuMi41KWgoW0xvKXMoY2FsZSlnKFQpLTgKIGIocmFuc2xhdGlvbl0sKTYzMCA0NTIzIHkocGFnZSkzMSBiKDdcKS4pNDIgYihUaGlzKTI5CiBiKGltcGxpZXMpaSh0aGUpZihgKXAgRnMoLW4pcCBGdCgnKWgob3B0aW9uOylnKG5vKWYoY29tbWFuZHMpZyh3aWxsKWgKLShiKXMoZSllKGV4ZWN1dGVkLikxNTAgNDY4MiB5IEZzKFstK11PKWcoWylwIEZqKHNob3B0X29wdGlvbikxMQorKGIpcyhlKWUoZXhlY3V0ZWQuKTE1MCA0NjgyIHkgRnMoWy0rXU8pZyhbKXAgRmkoc2hvcHRfb3B0aW9uKTExCiBiIEZzKF0pNjMwIDQ3OTIgeSBGcShzaG9wdClwIDg1NCA0NzkyIDI4IDQgdiA0MCB3KG9wdGlvbik0NAogYiBGdChpcylnKG9uZSloKG9mKWYodGhlKWcoc2hlbGwpaChvcHRpb25zKWYoYWNjZXB0ZWQpaChiKW0oeSlmKHRoZSloCiBGcyhzaG9wdClkIEZ0KGJ1aWx0aW4paShcKHNlZSk2MzAgNDkwMiB5KFNlY3Rpb24pMjggYig0LjMuMilnKFtUaGUpZgotKFNob3B0KWYoQnVpbHRpbl0sKWkocGFnZSlmKDU0XCkuKTQxIGIoSWYpMjYgYiBGcShzaG9wdClwCisoU2hvcHQpZihCdWlsdGluXSwpaShwYWdlKWYoNTVcKS4pNDEgYihJZikyNiBiIEZxKHNob3B0KXAKIDI2OTAgNDkwMiBWIDQwIHcob3B0aW9uKWggRnQoaXMpZyhwcmVzZW4pbSh0LCloKGApcCBGcygtTylwCiBGdCgnKWYoc2V0cyk2MzAgNTAxMSB5KHRoZSk0MCBiKHYpLTUgYihhbHVlKTQwIGIob2YpZih0aGF0KWgob3B0aW9uOyk0NQogYihgKXAgRnMoK08pcCBGdCgnKTQwIGIodW5zZXRzKWUoaXQuKTY5IGIoSWYpMzkgYiBGcShzaG9wdClwCkBAIC05OTc2LDExNTMgKzk5MDcsMTE3MSBAQAogYiBGdChBKTM4IGIgRnMoLS0pZyBGdChzaWduYWxzKWcodGhlKWgoZW5kKWUob2YpaShvcHRpb25zKWYoYW5kKWcKIChkaXNhYmxlcylnKGZ1cnRoZXIpZihvcHRpb24paChwcm8pcyhjZXNzaW5nLik2NCBiKEFuKW0oeSk2MzAKIDQwOCB5KGFyZ3VtZW4pbSh0cykzMSBiKGFmdGVyKWcodGhlKWYgRnMoLS0pZyBGdChhcmUpaCh0cmVhdGVkKWcoYXMpZwotKFwwMTRsZW5hbWVzKWYoYW5kKWcoYXJndW1lbiltKHRzLikyNzUgNTc1IHkoQSlkIEZtKGxvKS01CisoXDAxNGxlbmFtZXMpZihhbmQpZyhhcmd1bWVuKW0odHMuKTI3NSA1NjcgeShBKWQgRmsobG8pLTUKIGIoZ2luKTM1IGIgRnQoc2hlbGwpMjcgYihpcylnKG9uZSloKHdob3NlKWYoXDAxNHJzdClmKGMpbShoYXJhY3RlcilqCiAob2YpZShhcmd1bWVuKW0odCloKHplcm8pZihpcyloKGApcCBGcygtKXAgRnQoJywpZyhvcilmKG9uZSlnKGluKW0odiltCi0ob2spbShlZClpKHdpdGgpZSh0aGUpMTUwIDY4NSB5KGApcCBGcygtLWxvZ2luKXAgRnQoJylpKG9wdGlvbi4pMjc1Ci04MjUgeShBbikyNCBiIEZtKGludGVyKS01IGIoYWN0aXZlKTMzIGIgRnQoc2hlbGwpMjUgYihpcylnKG9uZSlnCisob2spbShlZClpKHdpdGgpZSh0aGUpMTUwIDY3NiB5KGApcCBGcygtLWxvZ2luKXAgRnQoJylpKG9wdGlvbi4pMjc1Cis4MTAgeShBbikyNCBiIEZrKGludGVyKS01IGIoYWN0aXZlKTMzIGIgRnQoc2hlbGwpMjUgYihpcylnKG9uZSlnCiAoc3RhcnRlZClnKHdpdGhvdXQpZyhub24tb3B0aW9uKWgoYXJndW1lbiltKHRzLClnKHVubGVzcylmKGApcAotRnMoLXMpcCBGdCgnKWYoaXMpaChzcClzKGVjaVwwMTRlZCwpMTUwIDkzNCB5KHdpdGhvdXQpNDMKK0ZzKC1zKXAgRnQoJylmKGlzKWgoc3ApcyhlY2lcMDE0ZWQsKTE1MCA5MjAgeSh3aXRob3V0KTQzCiBiKHNwKXMoZWNpZnlpbmcpZih0aGUpaShgKXAgRnMoLWMpcCBGdCgnKWUob3B0aW9uLCk0NwogYihhbmQpNDIgYih3aG9zZSloKGlucHV0KWYoYW5kKWcob3V0cHV0KWcoYXJlKWgoYilzKG90aClnKGNvbm5lY3RlZClnCi0odG8pMTUwIDEwNDQgeSh0ZXJtaW5hbHMpMjIgYihcKGFzKWgoZGV0ZXJtaW5lZClmKGIpbSh5KWcKKyh0bykxNTAgMTAyOSB5KHRlcm1pbmFscykyMiBiKFwoYXMpaChkZXRlcm1pbmVkKWYoYiltKHkpZwogRnMoaXNhdHR5XCgzXCkpcCBGdChcKSwpZihvcilpKG9uZSlmKHN0YXJ0ZWQpZyh3aXRoKWcodGhlKWcoYClwCiBGcygtaSlwIEZ0KCcpZyhvcHRpb24uKTM5IGIoU2VlKTIyIGIoU2VjdGlvbiloKDYuMykxNTAKLTExNTMgeShbSW4pbSh0ZXJhY3RpdiltKGUpMzMgYihTaGVsbHNdLCllKHBhZ2UpZyg3NSwpZyhmb3IpZihtb3JlKWgKLShpbmZvcm1hdGlvbi4pMjc1IDEyOTMgeShJZikzOCBiKGFyZ3VtZW4pbSh0cyloKHJlbWFpbilnKGFmdGVyKWcKKzExMzkgeShbSW4pbSh0ZXJhY3RpdiltKGUpMzMgYihTaGVsbHNdLCllKHBhZ2UpZyg3NSwpZyhmb3IpZihtb3JlKWgKKyhpbmZvcm1hdGlvbi4pMjc1IDEyNzMgeShJZikzOCBiKGFyZ3VtZW4pbSh0cyloKHJlbWFpbilnKGFmdGVyKWcKIChvcHRpb24paChwcm8pcyhjZXNzaW5nLCloKGFuZClkKG5laXRoZXIpaCh0aGUpZyhgKXAKIEZzKC1jKXAgRnQoJylmKG5vciloKHRoZSlnKGApcCBGcygtcylwIEZ0KCcpZihvcHRpb24pMTUwCi0xNDAzIHkoaGFzKTMzIGIoYilzKGVlbilnKHN1cHBsaWVkLCloKHRoZSlnKFwwMTRyc3QpZShhcmd1bWVuKW0odClqKGlzKQorMTM4MiB5KGhhcykzMyBiKGIpcyhlZW4pZyhzdXBwbGllZCwpaCh0aGUpZyhcMDE0cnN0KWUoYXJndW1lbiltKHQpaihpcykKIGUoYXNzdW1lZClnKHRvKWgoYilzKGUpZih0aGUpaChuYW1lKWcob2YpZyhhKWcoXDAxNGxlKWcoY29uKW0odGFpbmluZyloCi0oc2hlbGwpMTUwIDE1MTIgeShjb21tYW5kcykzMCBiKFwoc2VlKWcoU2VjdGlvbiloKDMuOClnKFtTaGVsbClmCi0oU2NyaXB0c10sKWcocGFnZSloKDM0XCkuKTQxIGIoV2hlbikzMCBiKEJhc2gpZyhpcylnKGluKW0odiltKG9rKW0oZWQpaQotKGluKWQodGhpcyloKGZhc2hpb24sKTE1MCAxNjIyIHkgRnMoJDApMzcgYiBGdChpcylnKHNldCloKHRvKWgodGhlKWUKKyhzaGVsbCkxNTAgMTQ5MiB5KGNvbW1hbmRzKTMwIGIoXChzZWUpZyhTZWN0aW9uKWgoMy44KWcoW1NoZWxsKWYKKyhTY3JpcHRzXSwpZyhwYWdlKWgoMzNcKS4pNDEgYihXaGVuKTMwIGIoQmFzaClnKGlzKWcoaW4pbSh2KW0ob2spbShlZClpCisoaW4pZCh0aGlzKWgoZmFzaGlvbiwpMTUwIDE2MDEgeSBGcygkMCkzNyBiIEZ0KGlzKWcoc2V0KWgodG8paCh0aGUpZQogKG5hbWUpaChvZilmKHRoZSloKFwwMTRsZSwpaShhbmQpYyh0aGUpaShwKXMob3NpdGlvbmFsKWcocGFyYW1ldGVycylnCi0oYXJlKWcoc2V0KWcodG8pZyh0aGUpZyhyZW1haW5pbmcpMTUwIDE3MzEgeShhcmd1bWVuKW0odHMuKWgoQmFzaCkyNgorKGFyZSlnKHNldClnKHRvKWcodGhlKWcocmVtYWluaW5nKTE1MCAxNzExIHkoYXJndW1lbiltKHRzLiloKEJhc2gpMjYKIGIocmVhZHMpZihhbmQpZyhleGVjdXRlcyloKGNvbW1hbmRzKWYoZnJvbSlnKHRoaXMpZyhcMDE0bGUsKWkodGhlbillCi0oZXhpdHMuKTQwIGIoQmFzaCdzKTI1IGIoZXhpdClpKHN0YXR1cykxNTAgMTg0MSB5KGlzKWYodGhlKWgoZXhpdCloCisoZXhpdHMuKTQwIGIoQmFzaCdzKTI1IGIoZXhpdClpKHN0YXR1cykxNTAgMTgyMSB5KGlzKWYodGhlKWgoZXhpdCloCiAoc3RhdHVzKWUob2YpaCh0aGUpZyhsYXN0KWcoY29tbWFuZClmKGV4ZWN1dGVkKWgoaW4pZyh0aGUpZihzY3JpcHQuKTQwCi1iKElmKTI2IGIobm8pZyhjb21tYW5kcylnKGFyZSloKGV4ZWN1dGVkLCkxNTAgMTk1MSB5KHRoZSlrKGV4aXQpZwotKHN0YXR1cylnKGlzKWYoMC4pMTUwIDIyMjEgeSBGcig2LjIpNjggYihCYXNoKTQ1IGIoU3RhcnR1cClnKEZpbGVzKTI3NQotMjQ3MCB5IEZ0KFRoaXMpMzQgYihzZWN0aW9uKWkoZGVzY3JpYilzKGVzKWUoaG8pbSh3KWgoQmFzaClnKGV4ZWN1dGVzKWkKLShpdHMpZShzdGFydHVwKWcoXDAxNGxlcy4pNTQgYihJZikzNSBiKGFuKW0oeSlnKG9mKWgodGhlKWYoXDAxNGxlcylnCi0oZXhpc3QpaChidXQpMTUwIDI1NzkgeShjYW5ub3QpMjYgYihiKXMoZSllKHJlYWQsKWkoQmFzaClmKHJlcClzKG9ydHMpZwotKGFuKWcoZXJyb3IuKTM4IGIoVGlsZGVzKTI1IGIoYXJlKWgoZXhwYW5kZWQpZShpbilnKFwwMTRsZSlpKG5hbWVzKWYKLShhcylnKGRlc2NyaWIpcyhlZClmKGFiKXMobyltKHYpbShlKTE1MCAyNjg5IHkodW5kZXIpMjkKLWIoVGlsZGUpaChFeHBhbnNpb24pZyhcKHNlZSloKFNlY3Rpb24pZygzLjUuMilpKFtUaWxkZSlkKEV4cGFuc2lvbl0sKWcKLShwYWdlKWkoMTlcKS4pMjc1IDI4MjggeShJbiltKHRlcmFjdGl2KW0oZSlnKHNoZWxscylmKGFyZSlnKGRlc2NyaWIpcworYihJZikyNiBiKG5vKWcoY29tbWFuZHMpZyhhcmUpaChleGVjdXRlZCwpMTUwIDE5MzAgeSh0aGUpayhleGl0KWcKKyhzdGF0dXMpZyhpcylmKDAuKTE1MCAyMTYxIHkgRnIoNi4yKTY4IGIoQmFzaCk0NSBiKFN0YXJ0dXApZyhGaWxlcykxNTAKKzIzMjEgeSBGdChUaGlzKTIzIGIoc2VjdGlvbilqKGRlc2NyaWIpcyhlcylkKGhvKW0odylpKEJhc2gpZihleGVjdXRlcyloCisoaXRzKWcoc3RhcnR1cClmKFwwMTRsZXMuKTM4IGIoSWYpMjQgYihhbiltKHkpaChvZilmKHRoZSloKFwwMTRsZXMpZgorKGV4aXN0KWgoYnV0KWUoY2Fubm90KTE1MCAyNDMwIHkoYilzKGUpayhyZWFkLClpKEJhc2gpZihyZXApcyhvcnRzKWYKKyhhbiloKGVycm9yLikzOSBiKFRpbGRlcykyOCBiKGFyZSlnKGV4cGFuZGVkKWYoaW4paChcMDE0bGUpZyhuYW1lcylnCisoYXMpZyhkZXNjcmliKXMoZWQpZShhYilzKG8pbSh2KW0oZSlqKHVuZGVyKTE1MCAyNTQwCit5KFRpbGRlKWgoRXhwYW5zaW9uKWcoXChzZWUpaChTZWN0aW9uKWgoMy41LjIpZyhbVGlsZGUpZShFeHBhbnNpb25dLCloCisocGFnZSlnKDE5XCkuKTI3NSAyNjc0IHkoSW4pbSh0ZXJhY3RpdiltKGUpaChzaGVsbHMpZihhcmUpZyhkZXNjcmliKXMKIChlZCllKGluKWgoU2VjdGlvbiloKDYuMyloKFtJbiltKHRlcmFjdGl2KW0oZSloKFNoZWxsc10sKWQocGFnZSloKDc1LikKLTE1MCAzMDYzIHkgRmsoSW4pbSh2KW0ob2spbShlZCk0MCBiKGFzKWgoYW4pZihpbiltKHRlcmFjdGl2KW0oZSlmCi0obG9naW4paihzaGVsbCwpZyhvcilnKHdpdGgpZShgKXAgRmkoLS1sb2dpbilwIEZrKCcpMjc1Ci0zMzEyIHkgRnQoV2hlbillKEJhc2gpZyhpcyloKGluKW0odiltKG9rKW0oZWQpaChhcyllKGFuKWcoaW4pbQotKHRlcmFjdGl2KW0oZSlrKGxvZ2luKWQoc2hlbGwsKWkob3IpZChhcyloKGEpZyhub24taW4pbSh0ZXJhY3RpdiltKGUpaQotKHNoZWxsKWQod2l0aCkxNTAgMzQyMiB5KHRoZSlkKGApcCBGcygtLWxvZ2luKXAgRnQoJylkKG9wdGlvbiwpMzcKLWIoaXQpZChcMDE0cnN0KWcocmVhZHMpZyhhbmQpZyhleGVjdXRlcylpKGNvbW1hbmRzKWUoZnJvbSlmKHRoZSlpCi0oXDAxNGxlKWcoYClwIEZzKC9ldGMvcHJvZmlsZSlwIEZ0KCcsKTE1MCAzNTMxIHkoaWYpMjgKLWIodGhhdCloKFwwMTRsZSlmKGV4aXN0cy4pNDEgYihBZnRlcikyOCBiKHJlYWRpbmcpaCh0aGF0KWYoXDAxNGxlLCloCi0oaXQpZyhsbylzKG9rcylnKGZvcilmKGApcCBGcyh+Ly5iYXNoX3Byb2ZpbGUpcCBGdCgnLClkKGApcAotRnMofi8uYmFzaF9sb2dpbilwIEZ0KCcsKTE1MCAzNjQxIHkoYW5kKWooYClwIEZzKH4vLnByb2ZpbGUpcAotRnQoJywpZihpbilpKHRoYXQpZyhvcmRlciwpZyhhbmQpZihyZWFkcylnKGFuZCloKGV4ZWN1dGVzKWgoY29tbWFuZHMpZQotKGZyb20pZyh0aGUpaChcMDE0cnN0KWYob25lKWgodGhhdCkxNTAgMzc1MCB5KGV4aXN0cylpKGFuZCllKGlzKWgKLShyZWFkYWJsZS4pNDEgYihUaGUpMzAgYihgKXAgRnMoLS1ub3Byb2ZpbGUpcCBGdCgnKWQob3B0aW9uKWsobWEpbSh5KWYKLShiKXMoZSlnKHVzZWQpZih3aGVuKWcodGhlKWgoc2hlbGwpaChpcylmKHN0YXJ0ZWQpZyh0bykxNTAKLTM4NjAgeShpbmhpYml0KWcodGhpcylnKGIpcyhlaGEpbSh2aW9yLikyNzUgMzk5OSB5KFdoZW4pNzIKLWIoYSlpKGxvZ2luKWcoc2hlbGwpZihleGl0cywpODUgYihCYXNoKTczIGIocmVhZHMpZyhhbmQpZyhleGVjdXRlcyloCi0oY29tbWFuZHMpZihmcm9tKWcodGhlKWcoXDAxNGxlKTE1MCA0MTA5IHkoYClwIEZzKH4vLmJhc2hfbG9nb3V0KXAKLUZ0KCcsKTI3IGIoaWYpayhpdClmKGV4aXN0cy4pMTUwIDQzNDMgeSBGayhJbiltKHYpbShvayltKGVkKTQwCi1iKGFzKWgoYW4pZihpbiltKHRlcmFjdGl2KW0oZSlmKG5vbi1sb2dpbilrKHNoZWxsKTI3NQotNDU5MiB5IEZ0KFdoZW4pMzUgYihhbilnKGluKW0odGVyYWN0aXYpbShlKWooc2hlbGwpZSh0aGF0KWYoaXMpaChub3QpZgotKGEpaChsb2dpbilnKHNoZWxsKWcoaXMpZihzdGFydGVkLClpKEJhc2gpZihyZWFkcylmKGFuZClnKGV4ZWN1dGVzKTE1MAotNDcwMiB5KGNvbW1hbmRzKTI0IGIoZnJvbSlmKGApcCBGcyh+Ly5iYXNocmMpcCBGdCgnLCloKGlmKWcodGhhdClnCi0oXDAxNGxlKWcoZXhpc3RzLik0MCBiKFRoaXMpMjMgYihtYSltKHkpaShiKXMoZSllKGluaGliaXRlZClnKGIpbSh5KWgKLSh1c2luZylnKHRoZSlnKGApcCBGcygtLW5vcmMpcCBGdCgnKTE1MCA0ODEyIHkob3B0aW9uLik1MgotYihUaGUpMzMgYihgKXAgRnMoLS1yY2ZpbGUpMjggYiBGaihmaWxlKTExIGIgRnQoJykzMwotYihvcHRpb24paCh3aWxsKWcoZm9yY2UpaChCYXNoKWYodG8paChyZWFkKWUoYW5kKWgoZXhlY3V0ZSloKGNvbW1hbmRzKWUKLShmcm9tKTE1MCA0OTIxIHkgRnEoXDAxNGxlKWogRnQoaW5zdGVhZCkzMCBiKG9mKWgoYClwCi1Gcyh+Ly5iYXNocmMpcCBGdCgnLikyNzUgNTA2MSB5KFNvLClmKHQpbSh5cGljYWxseSktOAotYigsKTMzIGIoeSltKG91cilkKGApcCBGcyh+Ly5iYXNoX3Byb2ZpbGUpcCBGdCgnKWQoY29uKW0odGFpbnMpMzIKLWIodGhlKWUobGluZSkzOTAgNTIwMCB5IEZzKGlmKTQ3IGIoWyloKC1mKWYofi8uYmFzaHJjKWUoXTspaSh0aGVuKWcoLilnCi0ofi8uYmFzaHJjOyllKGZpKTE1MCA1MzQwIHkgRnQoYWZ0ZXIpMzEgYihcKG9yKWcoYilzKGVmb3JlXCkpZihhbiltKHkpaAotKGxvZ2luLXNwKXMoZWNpXDAxNGMpZyhpbml0aWFsaXphdGlvbnMuKXAgZW9wIGVuZAorMTUwIDI4NzIgeSBGaihJbiltKHYpbShvayltKGVkKTQwIGIoYXMpaChhbilmKGluKW0odGVyYWN0aXYpbShlKWYKKyhsb2dpbilqKHNoZWxsLClnKG9yKWcod2l0aCllKGApcCBGaCgtLWxvZ2luKXAgRmooJykxNTAKKzMwMTkgeSBGdChXaGVuKWMoQmFzaClmKGlzKWgoaW4pbSh2KW0ob2spbShlZCloKGFzKWYoYW4pZyhpbiltCisodGVyYWN0aXYpbShlKWoobG9naW4pZChzaGVsbCwpaShvcillKGFzKWcoYSlnKG5vbi1pbiltKHRlcmFjdGl2KW0oZSlpCisoc2hlbGwpZSh3aXRoKWcodGhlKTE1MCAzMTI4IHkoYClwIEZzKC0tbG9naW4pcCBGdCgnKWoob3B0aW9uLClrKGl0KWUKKyhcMDE0cnN0KWUocmVhZHMpaChhbmQpZyhleGVjdXRlcyloKGNvbW1hbmRzKWYoZnJvbSlmKHRoZSlpKFwwMTRsZSlmKGApCitwIEZzKC9ldGMvcHJvZmlsZSlwIEZ0KCcsKWcoaWYpMTUwIDMyMzggeSh0aGF0KTM1IGIoXDAxNGxlKWcoZXhpc3RzLik1NQorYihBZnRlcikzNSBiKHJlYWRpbmcpZyh0aGF0KWcoXDAxNGxlLCloKGl0KWcobG8pcyhva3MpZihmb3IpZihgKXAKK0ZzKH4vLmJhc2hfcHJvZmlsZSlwIEZ0KCcsKWYoYClwIEZzKH4vLmJhc2hfbG9naW4pcCBGdCgnLCkxNTAKKzMzNDggeShhbmQpMjggYihgKXAgRnMofi8ucHJvZmlsZSlwIEZ0KCcsKWYoaW4paSh0aGF0KWcob3JkZXIsKWcoYW5kKWYKKyhyZWFkcylnKGFuZCloKGV4ZWN1dGVzKWgoY29tbWFuZHMpZShmcm9tKWcodGhlKWgoXDAxNHJzdClmKG9uZSloKHRoYXQpCisxNTAgMzQ1NyB5KGV4aXN0cylpKGFuZCllKGlzKWgocmVhZGFibGUuKTQxIGIoVGhlKTMwCitiKGApcCBGcygtLW5vcHJvZmlsZSlwIEZ0KCcpZChvcHRpb24payhtYSltKHkpZihiKXMoZSlnKHVzZWQpZih3aGVuKWcKKyh0aGUpaChzaGVsbCloKGlzKWYoc3RhcnRlZClnKHRvKTE1MCAzNTY3IHkoaW5oaWJpdClnKHRoaXMpZyhiKXMoZWhhKW0KKyh2aW9yLikyNzUgMzcwMSB5KFdoZW4pNzIgYihhKWkobG9naW4pZyhzaGVsbClmKGV4aXRzLCk4NQorYihCYXNoKTczIGIocmVhZHMpZyhhbmQpZyhleGVjdXRlcyloKGNvbW1hbmRzKWYoZnJvbSlnKHRoZSlnKFwwMTRsZSkxNTAKKzM4MTAgeShgKXAgRnMofi8uYmFzaF9sb2dvdXQpcCBGdCgnLCkyNyBiKGlmKWsoaXQpZihleGlzdHMuKTE1MAorNDAwOCB5IEZqKEluKW0odiltKG9rKW0oZWQpNDAgYihhcyloKGFuKWYoaW4pbSh0ZXJhY3RpdiltKGUpZgorKG5vbi1sb2dpbilrKHNoZWxsKTE1MCA0MTU1IHkgRnQoV2hlbilnKGFuKWgoaW4pbSh0ZXJhY3RpdiltKGUpaShzaGVsbCkKK2UodGhhdClnKGlzKWYobm90KWgoYSlnKGxvZ2luKWcoc2hlbGwpZyhpcylmKHN0YXJ0ZWQsKTQ4CitiKEJhc2gpYyhyZWFkcylmKGFuZClnKGV4ZWN1dGVzKTE1MCA0MjY1IHkoY29tbWFuZHMpMjQKK2IoZnJvbSlmKGApcCBGcyh+Ly5iYXNocmMpcCBGdCgnLCloKGlmKWcodGhhdClnKFwwMTRsZSlnKGV4aXN0cy4pNDAKK2IoVGhpcykyMyBiKG1hKW0oeSlpKGIpcyhlKWUoaW5oaWJpdGVkKWcoYiltKHkpaCh1c2luZylnKHRoZSlnKGApcAorRnMoLS1ub3JjKXAgRnQoJykxNTAgNDM3NCB5KG9wdGlvbi4pNTIgYihUaGUpMzMgYihgKXAKK0ZzKC0tcmNmaWxlKTI4IGIgRmkoZmlsZSkxMSBiIEZ0KCcpMzMgYihvcHRpb24paCh3aWxsKWcoZm9yY2UpaChCYXNoKWYKKyh0byloKHJlYWQpZShhbmQpaChleGVjdXRlKWgoY29tbWFuZHMpZShmcm9tKTE1MCA0NDg0Cit5IEZxKFwwMTRsZSlqIEZ0KGluc3RlYWQpMzAgYihvZiloKGApcCBGcyh+Ly5iYXNocmMpcAorRnQoJy4pMjc1IDQ2MTggeShTbywpZih0KW0oeXBpY2FsbHkpLTggYigsKTMzIGIoeSltKG91cilkKGApcAorRnMofi8uYmFzaF9wcm9maWxlKXAgRnQoJylkKGNvbiltKHRhaW5zKTMyIGIodGhlKWUobGluZSkzOTAKKzQ3NTIgeSBGcyhpZik0NyBiKFspaCgtZilmKH4vLmJhc2hyYyllKF07KWkodGhlbilnKC4pZyh+Ly5iYXNocmM7KWUoZmkpCisxNTAgNDg4NSB5IEZ0KGFmdGVyKTMxIGIoXChvcilnKGIpcyhlZm9yZVwpKWYoYW4pbSh5KWgobG9naW4tc3ApcworKGVjaVwwMTRjKWcoaW5pdGlhbGl6YXRpb25zLikxNTAgNTA4MyB5IEZqKEluKW0odiltKG9rKW0oZWQpNDAKK2Iobm9uLWluKW0odGVyYWN0aXYpbShlbHkpMTUwIDUyMzAgeSBGdChXaGVuKTMzIGIoQmFzaClnKGlzKWcoc3RhcnRlZCloCisobm9uLWluKW0odGVyYWN0aXYpbShlbHkpLTggYigsKTM3IGIodG8pZChydW4pZShhKWgoc2hlbGwpaChzY3JpcHQsKWcKKyhmb3IpZihleGFtcGxlLClpKGl0KWUobG8pcyhva3MpaChmb3IpZih0aGUpMTUwIDUzNDAKK3kodiktNSBiKGFyaWFibGUpMzUgYiBGcyhCQVNIX0VOVilkIEZ0KGluKWkodGhlKWgoZW4pbSh2aXJvbm1lbiltKHQsKWgKKyhleHBhbmRzKWUoaXRzKWcodiktNSBiKGFsdWUpMzUgYihpZilnKGl0KWcoYXBwKXMoZWFycyllKHRoZXJlLClqKGFuZCllCisodXNlcylnKHRoZSlwIGVvcCBlbmQKICUlUGFnZTogNzQgODAKIFRlWERpY3QgYmVnaW4gNzQgNzkgYm9wIDE1MCAtMTE2IGEgRnQoNzQpMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGayhJbiltKHYpbShvayltKGVkKTQwCi1iKG5vbi1pbiltKHRlcmFjdGl2KW0oZWx5KTI3NSA1NjQgeSBGdChXaGVuKTI0IGIoQmFzaCloKGlzKWcoc3RhcnRlZClnCi0obm9uLWluKW0odGVyYWN0aXYpbShlbHkpLTggYigsKTI5IGIodG8pZChydW4pZChhKWkoc2hlbGwpZyhzY3JpcHQsKWgKLShmb3IpZihleGFtcGxlLClpKGl0KWUobG8pcyhva3MpZyhmb3IpZyh0aGUpMTUwIDY3MyB5KHYpLTUKLWIoYXJpYWJsZSkzNSBiIEZzKEJBU0hfRU5WKWQgRnQoaW4paSh0aGUpaChlbiltKHZpcm9ubWVuKW0odCwpaAotKGV4cGFuZHMpZShpdHMpZyh2KS01IGIoYWx1ZSkzNSBiKGlmKWcoaXQpZyhhcHApcyhlYXJzKWUodGhlcmUsKWooYW5kKWUKLSh1c2VzKWcodGhlKTE1MCA3ODMgeShleHBhbmRlZCljKHYpLTUgYihhbHVlKTMwIGIoYXMpaCh0aGUpZyhuYW1lKWYob2YpCi1oKGEpZihcMDE0bGUpaCh0bylnKHJlYWQpZihhbmQpZyhleGVjdXRlLik0MiBiKEJhc2gpMzEKLWIoYilzKGVoYSltKHYpbShlcylnKGFzKWcoaWYpZih0aGUpZyhmb2xsbyltKHdpbmcpMTUwCi04OTIgeShjb21tYW5kKWcodyltKGVyZSloKGV4ZWN1dGVkOikzOTAgMTA0NyB5IEZzKGlmKTQ3CitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkoZXhwYW5kZWQpZih2KS01IGIoYWx1ZSkzMAorYihhcyloKHRoZSlnKG5hbWUpZihvZiloKGEpZihcMDE0bGUpaCh0bylnKHJlYWQpZihhbmQpZyhleGVjdXRlLik0MgorYihCYXNoKTMxIGIoYilzKGVoYSltKHYpbShlcylnKGFzKWcoaWYpZih0aGUpZyhmb2xsbyltKHdpbmcpMTUwCis0MDggeShjb21tYW5kKWcodyltKGVyZSloKGV4ZWN1dGVkOikzOTAgNTcwIHkgRnMoaWYpNDcKIGIoWyloKC1uKWYoIiRCQVNIX0VOViIpZShdOylpKHRoZW4pZiguKWkoIiRCQVNIX0VOViI7KWMoZmkpMTUwCi0xMjAyIHkgRnQoYnV0KTMwIGIodGhlKWcodiktNSBiKGFsdWUpMzEgYihvZilnKHRoZSlmCi1GcyhQQVRIKWYgRnQodiktNSBiKGFyaWFibGUpMzIgYihpcyllKG5vdCloKHVzZWQpZSh0bylpKHNlYXJjKW0oaClnCi0oZm9yKWYodGhlKWgoXDAxNGxlKWYobmFtZS4pMjc1IDEzNTggeShBcykzOCBiKG5vdGVkKWgoYWIpcyhvKW0odiltKGUsKQotaihpZiljKGEpaChub24taW4pbSh0ZXJhY3RpdiltKGUpaShzaGVsbCllKGlzKWcoaW4pbSh2KW0ob2spbShlZCloCi0od2l0aCllKHRoZSlnKGApcCBGcygtLWxvZ2luKXAgRnQoJylnKG9wdGlvbiwpaihCYXNoKTE1MAotMTQ2NyB5KGF0dGVtcHRzKTMxIGIodG8pZyhyZWFkKWcoYW5kKWUoZXhlY3V0ZSlqKGNvbW1hbmRzKWUoZnJvbSlnKHRoZSkKLWgobG9naW4pZyhzaGVsbClnKHN0YXJ0dXApZShcMDE0bGVzLikxNTAgMTczMyB5IEZrKEluKW0odiltKG9rKW0oZWQpNDAKLWIod2l0aClnKG5hbWUpaCBGaShzaCkyNzUgMTk5NyB5IEZ0KElmKTI5IGIoQmFzaClnKGlzKWgoaW4pbSh2KW0ob2spbQotKGVkKWgod2l0aCllKHRoZSloKG5hbWUpZiBGcyhzaClwIEZ0KCwpZyhpdClpKHRyaWVzKWUodG8paShtaW1pYylmKHRoZSkKLWYoc3RhcnR1cClnKGIpcyhlaGEpbSh2aW9yKWgob2YpZyhoaXN0b3JpY2FsKTE1MCAyMTA3Ci15KHYpbShlcnNpb25zKWgob2YpZiBGcyhzaClnIEZ0KGFzKWgoY2xvc2VseSloKGFzKWUocClzKG9zc2libGUsKWcKKzczMiB5IEZ0KGJ1dCkzMCBiKHRoZSlnKHYpLTUgYihhbHVlKTMxIGIob2YpZyh0aGUpZiBGcyhQQVRIKWYKK0Z0KHYpLTUgYihhcmlhYmxlKTMyIGIoaXMpZShub3QpaCh1c2VkKWUodG8paShzZWFyYyltKGgpZyhmb3IpZih0aGUpaAorKFwwMTRsZSlmKG5hbWUuKTI3NSA4OTMgeShBcykzOCBiKG5vdGVkKWgoYWIpcyhvKW0odiltKGUsKWooaWYpYyhhKWgKKyhub24taW4pbSh0ZXJhY3RpdiltKGUpaShzaGVsbCllKGlzKWcoaW4pbSh2KW0ob2spbShlZCloKHdpdGgpZSh0aGUpZworKGApcCBGcygtLWxvZ2luKXAgRnQoJylnKG9wdGlvbiwpaihCYXNoKTE1MCAxMDAzIHkoYXR0ZW1wdHMpMzEKK2IodG8pZyhyZWFkKWcoYW5kKWUoZXhlY3V0ZSlqKGNvbW1hbmRzKWUoZnJvbSlnKHRoZSloKGxvZ2luKWcoc2hlbGwpZworKHN0YXJ0dXApZShcMDE0bGVzLikxNTAgMTIyOSB5IEZqKEluKW0odiltKG9rKW0oZWQpNDAKK2Iod2l0aClnKG5hbWUpaCBGaChzaCkxNTAgMTM3NiB5IEZ0KElmKWMoQmFzaClnKGlzKWcoaW4pbSh2KW0ob2spbShlZClpCisod2l0aCllKHRoZSlnKG5hbWUpZyBGcyhzaClwIEZ0KCwpaShpdClmKHRyaWVzKWYodG8paChtaW1pYylnKHRoZSlmCisoc3RhcnR1cClnKGIpcyhlaGEpbSh2aW9yKWcob2YpaChoaXN0b3JpY2FsKTE1MCAxNDg2Cit5KHYpbShlcnNpb25zKTMxIGIob2YpZiBGcyhzaClnIEZ0KGFzKWgoY2xvc2VseSloKGFzKWUocClzKG9zc2libGUsKWcKICh3aGlsZSloKGNvbmZvcm1pbmcpZih0byloKHRoZSlnIEZsKHBvc2l4KWUgRnQoc3RhbmRhcmQpaChhcyloKHcpbQotKGVsbC4pMjc1IDIyNjIgeShXaGVuKTUwIGIoaW4pbSh2KW0ob2spbShlZClqKGFzKWYoYW4pZihpbiltKHRlcmFjdGl2KW0KKyhlbGwuKTI3NSAxNjQ3IHkoV2hlbik1MCBiKGluKW0odiltKG9rKW0oZWQpaihhcylmKGFuKWYoaW4pbSh0ZXJhY3RpdiltCiAoZSlqKGxvZ2luKWUoc2hlbGwsKTU3IGIob3IpNTEgYihhcylnKGEpaChub24taW4pbSh0ZXJhY3RpdiltKGUpaAotKHNoZWxsKWYod2l0aClmKHRoZSkxNTAgMjM3MSB5KGApcCBGcygtLWxvZ2luKXAgRnQoJykzOQorKHNoZWxsKWYod2l0aClmKHRoZSkxNTAgMTc1NyB5KGApcCBGcygtLWxvZ2luKXAgRnQoJykzOQogYihvcHRpb24sKWsoaXQpZShcMDE0cnN0KWUoYXR0ZW1wdHMpaSh0bylnKHJlYWQpZihhbmQpZyhleGVjdXRlKWgKLShjb21tYW5kcylmKGZyb20pZyhgKXAgRnMoL2V0Yy9wcm9maWxlKXAgRnQoJykxNTAgMjQ4MQorKGNvbW1hbmRzKWYoZnJvbSlnKGApcCBGcygvZXRjL3Byb2ZpbGUpcCBGdCgnKTE1MCAxODY3CiB5KGFuZClkKGApcCBGcyh+Ly5wcm9maWxlKXAgRnQoJywpZyhpbilnKHRoYXQpaChvcmRlci4pNjIKIGIoVGhlKTM3IGIoYClwIEZzKC0tbm9wcm9maWxlKXAgRnQoJyllKG9wdGlvbilqKG1hKW0oeSlnKGIpcyhlKWYodXNlZClnCi0odG8paChpbmhpYml0KWYodGhpcykxNTAgMjU5MSB5KGIpcyhlaGEpbSh2aW9yLik4MiBiKFdoZW4pNDQKKyh0byloKGluaGliaXQpZih0aGlzKTE1MCAxOTc2IHkoYilzKGVoYSltKHZpb3IuKTgyIGIoV2hlbik0NAogYihpbiltKHYpbShvayltKGVkKWgoYXMpZyhhbilmKGluKW0odGVyYWN0aXYpbShlKWooc2hlbGwpZCh3aXRoKWcodGhlKWcKIChuYW1lKWcgRnMoc2gpcCBGdCgsKWooQmFzaClkKGxvKXMob2tzKWgoZm9yKWYodGhlKTE1MAotMjcwMCB5KHYpLTUgYihhcmlhYmxlKTM3IGIgRnMoRU5WKXAgRnQoLClnKGV4cGFuZHMpZShpdHMpaSh2KS01CisyMDg2IHkodiktNSBiKGFyaWFibGUpMzcgYiBGcyhFTlYpcCBGdCgsKWcoZXhwYW5kcyllKGl0cylpKHYpLTUKIGIoYWx1ZSkzNiBiKGlmKWcoaXQpaChpcylmKGRlXDAxNG5lZCwpaChhbmQpZSh1c2VzKWgodGhlKWcoZXhwYW5kZWQpZwotKHYpLTUgYihhbHVlKTM2IGIoYXMpaCh0aGUpZihuYW1lKTE1MCAyODEwIHkob2YpaShhKWgoXDAxNGxlKWcodG8pZworKHYpLTUgYihhbHVlKTM2IGIoYXMpaCh0aGUpZihuYW1lKTE1MCAyMTk1IHkob2YpaShhKWgoXDAxNGxlKWcodG8pZwogKHJlYWQpZihhbmQpZyhleGVjdXRlLik2NiBiKFNpbmNlKTM4IGIoYSloKHNoZWxsKWYoaW4pbSh2KW0ob2spbShlZClpCiAoYXMpZiBGcyhzaCllIEZ0KGRvKXMoZXMpaChub3QpaChhdHRlbXB0KWcodG8pZyhyZWFkKWcoYW5kKTE1MAotMjkxOSB5KGV4ZWN1dGUpaShjb21tYW5kcyllKGZyb20pZyhhbiltKHkpaChvdGhlcilnKHN0YXJ0dXApZihcMDE0bGVzLCkKKzIzMDUgeShleGVjdXRlKWkoY29tbWFuZHMpZShmcm9tKWcoYW4pbSh5KWgob3RoZXIpZyhzdGFydHVwKWYoXDAxNGxlcywpCiBqKHRoZSllKGApcCBGcygtLXJjZmlsZSlwIEZ0KCcpZChvcHRpb24paihoYXMpZyhubylmKGVcMDEzZWN0Lik3MAotYihBKTE1MCAzMDI5IHkobm9uLWluKW0odGVyYWN0aXYpbShlKTMyIGIoc2hlbGwpZChpbiltKHYpbShvayltKGVkKWgKK2IoQSkxNTAgMjQxNSB5KG5vbi1pbiltKHRlcmFjdGl2KW0oZSkzMiBiKHNoZWxsKWQoaW4pbSh2KW0ob2spbShlZCloCiAod2l0aClmKHRoZSlnKG5hbWUpZyBGcyhzaClmIEZ0KGRvKXMoZXMpZyhub3QpaShhdHRlbXB0KWcodG8pZihyZWFkKWcKLShhbiltKHkpZyhvdGhlcilnKHN0YXJ0dXApMTUwIDMxMzkgeShcMDE0bGVzLikyNzUgMzI5NAorKGFuKW0oeSlnKG90aGVyKWcoc3RhcnR1cCkxNTAgMjUyNCB5KFwwMTRsZXMuKTI3NSAyNjg2CiB5KFdoZW4paChpbiltKHYpbShvayltKGVkKWgoYXMpZyBGcyhzaClwIEZ0KCwpZihCYXNoKWgoZW4pbSh0ZXJzKWcKIEZsKHBvc2l4KWUgRnQobW8pcyhkZSloKGFmdGVyKWgodGhlKWcoc3RhcnR1cClmKFwwMTRsZXMpZyhhcmUpaChyZWFkLikKLTE1MCAzNTU5IHkgRmsoSW4pbSh2KW0ob2spbShlZCk0MCBiKGluKWggRmgocG9zaXgpZiBGayhtbylzKGRlKTI3NQotMzgyNCB5IEZ0KFdoZW4pZChCYXNoKWcoaXMpZyhzdGFydGVkKWgoaW4pZiBGbChwb3NpeClmCi1GdChtbylzKGRlLClqKGFzKWUod2l0aClnKHRoZSloKGApcCBGcygtLXBvc2l4KXAgRnQoJylkKGNvbW1hbmQpaShsaW5lKQotaChvcHRpb24sKWgoaXQpMTUwIDM5MzMgeShmb2xsbyltKHdzKTI4IGIodGhlKWcgRmwocG9zaXgpZQotRnQoc3RhbmRhcmQpaChmb3IpZyhzdGFydHVwKWcoXDAxNGxlcy4pMzkgYihJbikyNyBiKHRoaXMpZyhtbylzKGRlLClnCi0oaW4pbSh0ZXJhY3RpdiltKGUpayhzaGVsbHMpYyhleHBhbmQpZih0aGUpaSBGcyhFTlYpMTUwCi00MDQzIHkgRnQodiktNSBiKGFyaWFibGUpMzYgYihhbmQpZihjb21tYW5kcylnKGFyZSloKHJlYWQpZyhhbmQpZgotKGV4ZWN1dGVkKWgoZnJvbSlmKHRoZSloKFwwMTRsZSlnKHdob3NlKWYobmFtZSlnKGlzKWgodGhlKWcoZXhwYW5kZWQpCi0xNTAgNDE1MiB5KHYpLTUgYihhbHVlLik0MSBiKE5vKTMxIGIob3RoZXIpZyhzdGFydHVwKWYoXDAxNGxlcylnKGFyZSloCi0ocmVhZC4pMTUwIDQ0MTggeSBGayhJbiltKHYpbShvayltKGVkKTQwIGIoYiltKHkpZyhyZW1vdGUpaChzaGVsbCloCi0oZGFlbW9uKTI3NSA0NjgyIHkgRnQoQmFzaCkzMyBiKGF0dGVtcHRzKWgodG8pZihkZXRlcm1pbmUpZyh3aGVuKWYoaXQpaQotKGlzKWYoYilzKGVpbmcpZyhydW4pZSh3aXRoKWkoaXRzKWcoc3RhbmRhcmQpZihpbnB1dClnKGNvbm5lY3RlZClpKHRvKQotMTUwIDQ3OTIgeShhKWMoYSloKG5ldCltKHcpbShvcmspZyhjb25uZWN0aW9uLClnKGFzKWYoaWYpZyhiKW0oeSlnKHRoZSkKLWcocmVtb3RlKWgoc2hlbGwpZihkYWVtb24sKWgodXN1YWxseSllIEZzKHJzaGQpcCBGdCgsKWcob3IpaCh0aGUpaAotKHNlY3VyZSlmKHNoZWxsKTE1MCA0OTAyIHkoZGFlbW9uKTQxIGIgRnMoc3NoZClwIEZ0KC4pNzAKKzE1MCAyOTEyIHkgRmooSW4pbSh2KW0ob2spbShlZCk0MCBiKGluKWggRmcocG9zaXgpZyBGaihtbylzKGRlKTE1MAorMzA1OSB5IEZ0KFdoZW4pMjUgYihCYXNoKWcoaXMpaChzdGFydGVkKWYoaW4pZyBGbChwb3NpeClnCitGdChtbylzKGRlLCloKGFzKWYod2l0aClnKHRoZSloKGApcCBGcygtLXBvc2l4KXAgRnQoJylkKGNvbW1hbmQpaShsaW5lKQoraChvcHRpb24sKWgoaXQpZihmb2xsbyltKHdzKTE1MCAzMTY5IHkodGhlKWUgRmwocG9zaXgpZgorRnQoc3RhbmRhcmQpaChmb3IpZihzdGFydHVwKWgoXDAxNGxlcy4pMzggYihJbikyNCBiKHRoaXMpZyhtbylzKGRlLCloCisoaW4pbSh0ZXJhY3RpdiltKGUpaShzaGVsbHMpZChleHBhbmQpZih0aGUpaCBGcyhFTlYpZgorRnQodiktNSBiKGFyaWFibGUpMTUwIDMyNzggeShhbmQpMzAgYihjb21tYW5kcylnKGFyZSlnKHJlYWQpaChhbmQpZQorKGV4ZWN1dGVkKWooZnJvbSlkKHRoZSlpKFwwMTRsZSlmKHdob3NlKWcobmFtZSloKGlzKWYodGhlKWgoZXhwYW5kZWQpZQorKHYpLTUgYihhbHVlLik0MSBiKE5vKTE1MCAzMzg4IHkob3RoZXIpMzEgYihzdGFydHVwKWYoXDAxNGxlcylnKGFyZSloCisocmVhZC4pMTUwIDM2MTQgeSBGaihJbiltKHYpbShvayltKGVkKTQwIGIoYiltKHkpZyhyZW1vdGUpaChzaGVsbCloCisoZGFlbW9uKTE1MCAzNzYxIHkgRnQoQmFzaCkzNiBiKGF0dGVtcHRzKWgodG8pZyhkZXRlcm1pbmUpZih3aGVuKWYoaXQpaQorKGlzKWYoYilzKGVpbmcpZyhydW4pZSh3aXRoKWkoaXRzKWcoc3RhbmRhcmQpZyhpbnB1dClmKGNvbm5lY3RlZClpKHRvKWcKKyhhKTE1MCAzODcxIHkoYSllKG5ldCltKHcpbShvcmspaChjb25uZWN0aW9uLCloKGFzKWUoaWYpZyhiKW0oeSlnKHRoZSlnCisocmVtb3RlKWcoc2hlbGwpZyhkYWVtb24sKWkodXN1YWxseSlkIEZzKHJzaGQpcCBGdCgsKWgob3IpZyh0aGUpZworKHNlY3VyZSlnKHNoZWxsKTE1MCAzOTgwIHkoZGFlbW9uKTQxIGIgRnMoc3NoZClwIEZ0KC4pNzAKIGIoSWYpNDAgYihCYXNoKWgoZGV0ZXJtaW5lcylmKGl0KWgoaXMpZyhiKXMoZWluZylmKHJ1bilmKGluKWkodGhpcylmCi0oZmFzaGlvbiwpaihpdCllKHJlYWRzKWcoYW5kKWYoZXhlY3V0ZXMpMTUwIDUwMTEgeShjb21tYW5kcykyNgorKGZhc2hpb24sKWooaXQpZShyZWFkcylnKGFuZClmKGV4ZWN1dGVzKTE1MCA0MDkwIHkoY29tbWFuZHMpMjYKIGIoZnJvbSlmKGApcCBGcyh+Ly5iYXNocmMpcCBGdCgnLClnKGlmKWkodGhhdClmKFwwMTRsZSlnKGV4aXN0cyloKGFuZClmCiAoaXMpZyhyZWFkYWJsZS4pNDAgYihJdCkyNiBiKHdpbGwpZyhub3QpZyhkbylnKHRoaXMpZyhpZilnKGluKW0odiltKG9rKQotbShlZCkxNTAgNTEyMSB5KGFzKWcgRnMoc2gpcCBGdCguKTM5IGIoVGhlKTI1IGIoYClwIEZzKC0tbm9yYylwCittKGVkKTE1MCA0MjAwIHkoYXMpZyBGcyhzaClwIEZ0KC4pMzkgYihUaGUpMjUgYihgKXAgRnMoLS1ub3JjKXAKIEZ0KCcpZyhvcHRpb24paChtYSltKHkpZyhiKXMoZSlmKHVzZWQpZyh0bylpKGluaGliaXQpZSh0aGlzKWgoYilzKGVoYSltCiAodmlvciwpaChhbmQpZSh0aGUpaChgKXAgRnMoLS1yY2ZpbGUpcCBGdCgnKWUob3B0aW9uKTE1MAotNTIzMCB5KG1hKW0oeSkzMyBiKGIpcyhlKWcodXNlZClmKHRvKWgoZm9yY2UpaChhbm90aGVyKWYoXDAxNGxlKWcodG8pZworNDMwOSB5KG1hKW0oeSkzMyBiKGIpcyhlKWcodXNlZClmKHRvKWgoZm9yY2UpaChhbm90aGVyKWYoXDAxNGxlKWcodG8pZwogKGIpcyhlKWcocmVhZCwpZyhidXQpZiBGcyhyc2hkKWcgRnQoZG8pcyhlcyloKG5vdClnKGdlbmVyYWxseSloKGluKW0odikKLW0ob2spbShlKWgodGhlKWUoc2hlbGwpMTUwIDUzNDAgeSh3aXRoKWQodGhvc2UpaChvcHRpb25zKWcob3IpZihhbGxvKW0KLSh3KWkodGhlbSllKHRvKWgoYilzKGUpZihzcClzKGVjaVwwMTRlZC4pcCBlb3AgZW5kCi0lJVBhZ2U6IDc1IDgxCi1UZVhEaWN0IGJlZ2luIDc1IDgwIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig2Oik0MQotYihCYXNoKTMwIGIoRiktOCBiKGVhdHVyZXMpMjQ4NCBiKDc1KTE1MCAyOTkgeSBGayhJbiltKHYpbShvayltKGVkKTQwCi1iKHdpdGgpZyh1bmVxdWFsKWgoZVwwMTNlY3RpdiltKGUpZShhbmQpaShyZWFsKWcgRmgodWlkL2dpZClwCi1GayhzKTI3NSA1MzggeSBGdChJZikyNiBiKEJhc2gpaShpcylmKHN0YXJ0ZWQpaCh3aXRoKWYodGhlKWcKLShlXDAxM2VjdGl2KW0oZSlqKHVzZXIpZChcKGdyb3VwXCkpZyhpZClnKG5vdCloKGVxdWFsKWcodG8pZyh0aGUpZgotKHJlYWwpaCh1c2VyKWYoXChncm91cFwpKWcoaWQsKTE1MCA2NDggeShhbmQpZih0aGUpaQorbShvayltKGUpaCh0aGUpZShzaGVsbCkxNTAgNDQxOSB5KHdpdGgpZCh0aG9zZSloKG9wdGlvbnMpZyhvcilmKGFsbG8pbQorKHcpaSh0aGVtKWUodG8paChiKXMoZSlmKHNwKXMoZWNpXDAxNGVkLikxNTAgNDY0NSB5IEZqKEluKW0odiltKG9rKW0KKyhlZCk0MCBiKHdpdGgpZyh1bmVxdWFsKWgoZVwwMTNlY3RpdiltKGUpZShhbmQpaShyZWFsKWcKK0ZnKHVpZC9naWQpcCBGaihzKTE1MCA0NzkyIHkgRnQoSWYpMzQgYihCYXNoKWgoaXMpZyhzdGFydGVkKWcod2l0aClmCisodGhlKWgoZVwwMTNlY3RpdiltKGUpaSh1c2VyKWQoXChncm91cFwpKWgoaWQpZihub3QpaChlcXVhbClnKHRvKWcodGhlKQorZyhyZWFsKWcodXNlcilmKFwoZ3JvdXBcKSloKGlkLCkxNTAgNDkwMiB5KGFuZCkyNiBiKHRoZSlpCiBGcygtcCllIEZ0KG9wdGlvbiloKGlzKWcobm90KWgoc3VwcGxpZWQsKWUobm8paChzdGFydHVwKWcoXDAxNGxlcylnCiAoYXJlKWcocmVhZCwpaChzaGVsbClmKGZ1bmN0aW9ucylnKGFyZSlnKG5vdClnKGluaGVyaXRlZCkxNTAKLTc1NyB5KGZyb20pZyh0aGUpaChlbiltKHZpcm9ubWVuKW0odCwpaCh0aGUpZiBGcyhTSEVMTE9QVFMpZAotRnQodiktNSBiKGFyaWFibGUsKTI5IGIoaWYpZihpdClnKGFwcClzKGVhcnMpZihpbilnKHRoZSloKGVuKW0KLSh2aXJvbm1lbiltKHQsKWgoaXMpZihpZ25vcmVkLCkxNTAgODY3IHkoYW5kKWYodGhlKWgoZVwwMTNlY3RpdiltKGUpagotKHVzZXIpYyhpZClnKGlzKWgoc2V0KWcodG8paCh0aGUpZihyZWFsKWcodXNlcilmKGlkLik0MAotYihJZikyNyBiKHRoZSloIEZzKC1wKWcgRnQob3B0aW9uKWcoaXMpZyhzdXBwbGllZCllKGF0KWooaW4pbSh2KW0obylzCi0oY2F0aW9uLCkxNTAgOTc3IHkodGhlKWkoc3RhcnR1cClmKGIpcyhlaGEpbSh2aW9yKWcoaXMpZyh0aGUpaChzYW1lLClnCi0oYnV0KWYodGhlKWcoZVwwMTNlY3RpdiltKGUpaih1c2VyKWQoaWQpZyhpcylnKG5vdCloKHJlc2V0LikxNTAKLTEyMjAgeSBGcig2LjMpNjggYihJbilsKHRlcmFjdGl2KWwoZSk0NyBiKFNoZWxscykxNTAKLTE1NDAgeSBGayg2LjMuMSk2MyBiKFdoYXQpNDAgYihpcyloKGFuKWcoSW4pbSh0ZXJhY3RpdiltKGUpZShTaGVsbD8pMjc1Ci0xNzc5IHkgRnQoQW4pMjUgYihpbiltKHRlcmFjdGl2KW0oZSlqKHNoZWxsKWQoaXMpaChvbmUpZihzdGFydGVkKWgKLSh3aXRob3V0KWcobm9uLW9wdGlvbilmKGFyZ3VtZW4pbSh0cywpaSh1bmxlc3MpZShgKXAKLUZzKC1zKXAgRnQoJylnKGlzKWcoc3ApcyhlY2lcMDE0ZWQsKTE1MCAxODg5IHkod2l0aG91dCkzNAotYihzcClzKGVjaWZ5aW5nKWgodGhlKWYoYClwIEZzKC1jKXAgRnQoJylnKG9wdGlvbiwpaihhbmQpYyh3aG9zZSloCi0oaW5wdXQpZyhhbmQpZyhlcnJvcilnKG91dHB1dClnKGFyZSlnKGIpcyhvdGgpZyhjb25uZWN0ZWQpMTUwCi0xOTk4IHkodG8pZCh0ZXJtaW5hbHMpZyhcKGFzKWcoZGV0ZXJtaW5lZClmKGIpbSh5KWcgRnMoaXNhdHR5XCgzXCkpcAotRnQoXCksKWYob3IpaChvbmUpaChzdGFydGVkKWYod2l0aClnKHRoZSloKGApcCBGcygtaSlwCi1GdCgnKWYob3B0aW9uLikyNzUgMjEyOCB5KEFuKWcoaW4pbSh0ZXJhY3RpdiltKGUpaihzaGVsbClkKGdlbmVyYWxseSlpCi0ocmVhZHMpZShmcm9tKWcoYW5kKWcod3JpdGVzKWcodG8paChhKWcodXNlcidzKWYodGVybWluYWwuKTI3NQotMjI1OCB5KFRoZSllKGApcCBGcygtcylwIEZ0KCcpaShpbiltKHYpbShvKXMoY2F0aW9uKWgob3B0aW9uKWYobWEpbSh5KWcKLShiKXMoZSlmKHVzZWQpZih0bylpKHNldClnKHRoZSlnKHApcyhvc2l0aW9uYWwpZyhwYXJhbWV0ZXJzKWYod2hlbilnCi0oYW4pZyhpbiltKHRlci0pMTUwIDIzNjcgeShhY3RpdiltKGUpayhzaGVsbClkKGlzKWgoc3RhcnRlZC4pMTUwCi0yNTc3IHkgRmsoNi4zLjIpNjMgYihJcyk0MSBiKHRoaXMpZyhTaGVsbClnKEluKW0odGVyYWN0aXYpbShlPykyNzUKLTI4MTcgeSBGdChUKS04IGIobykzMiBiKGRldGVybWluZSlnKHdpdGhpbilnKGEpZyhzdGFydHVwKWcoc2NyaXB0KWcKLSh3aGV0aGVyKWcob3IpZyhub3QpZyhCYXNoKWcoaXMpZyhydW5uaW5nKWYoaW4pbSh0ZXJhY3RpdiltKGVseSktOAotYigsKTM2IGIodGVzdCkxNTAgMjkyNiB5KHRoZSk0MiBiKHYpLTUgYihhbHVlKTQyIGIob2YpZih0aGUpaChgKXAKLUZzKC0pcCBGdCgnKWcoc3ApcyhlY2lhbClnKHBhcmFtZXRlci4pNzUgYihJdCk0MSBiKGNvbiltKHRhaW5zKWkKLUZzKGkpZSBGdCh3aGVuKWcodGhlKWgoc2hlbGwpZihpcyloKGluKW0odGVyYWN0aXYpbShlLik3NwotYihGKS04IGIob3IpMTUwIDMwMzYgeShleGFtcGxlOikzOTAgMzE2NiB5IEZzKGNhc2UpNDcKLWIoIiQtIilmKGluKTM5MCAzMjc1IHkoKmkqXCkpaChlY2hvKWYoVGhpcyloKHNoZWxsKWYoaXMpaChpbnRlcmFjdGl2ZSllCi0oOzspMzkwIDMzODUgeSgqXCkpaShlY2hvKWcoVGhpcylmKHNoZWxsKWgoaXMpZyhub3QpZyhpbnRlcmFjdGl2ZSllKDs7KQotMzkwIDM0OTUgeShlc2FjKTI3NSAzNjI0IHkgRnQoQWx0ZXJuYXRpdiltKGVseSktOCBiKCwpMjgKKzUwMTEgeShmcm9tKTQxIGIodGhlKWcoZW4pbSh2aXJvbm1lbiltKHQsKWoodGhlKWQgRnMoU0hFTExPUFRTKXAKK0Z0KCwpaCBGcyhCQVNIT1BUUylwIEZ0KCwpZyBGcyhDRFBBVEgpcCBGdCgsKWcoYW5kKWUKK0ZzKEdMT0JJR05PUkUpZSBGdCh2KS01IGIoYXJpYWJsZXMsKTQ1IGIoaWYpMTUwIDUxMjEKK3kodGhleSkyOCBiKGFwcClzKGVhcilmKGluKWgodGhlKWcoZW4pbSh2aXJvbm1lbiltKHQsKWkoYXJlKWUoaWdub3JlZCwpCitoKGFuZCllKHRoZSloKGVcMDEzZWN0aXYpbShlKWoodXNlciljKGlkKWgoaXMpZyhzZXQpZyh0byloKHRoZSlmKHJlYWwpaAorKHVzZXIpMTUwIDUyMzAgeShpZC4pNjIgYihJZikzOCBiKHRoZSlmIEZzKC1wKWggRnQob3B0aW9uKWcoaXMpZgorKHN1cHBsaWVkKWcoYXQpaChpbiltKHYpbShvKXMoY2F0aW9uLClrKHRoZSljKHN0YXJ0dXApZihiKXMoZWhhKW0odmlvcikKK2goaXMpZyh0aGUpZyhzYW1lLClpKGJ1dClkKHRoZSkxNTAgNTM0MCB5KGVcMDEzZWN0aXYpbShlKWModXNlcilkKGlkKWcKKyhpcylnKG5vdCloKHJlc2V0LilwIGVvcCBlbmQKKyUlUGFnZTogNzUgODEKK1RlWERpY3QgYmVnaW4gNzUgODAgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDY6KTQxCitiKEJhc2gpMzAgYihGKS04IGIoZWF0dXJlcykyNDg0IGIoNzUpMTUwIDI5OSB5IEZyKDYuMyk2OAorYihJbilsKHRlcmFjdGl2KWwoZSk0NyBiKFNoZWxscykxNTAgNTIwIHkgRmooNi4zLjEpNjMKK2IoV2hhdCk0MCBiKGlzKWgoYW4pZyhJbiltKHRlcmFjdGl2KW0oZSllKFNoZWxsPykxNTAKKzY2NyB5IEZ0KEFuKWMoaW4pbSh0ZXJhY3RpdiltKGUpayhzaGVsbClkKGlzKWcob25lKWcoc3RhcnRlZClnKHdpdGhvdXQpCitmKG5vbi1vcHRpb24paChhcmd1bWVuKW0odHMsKWkodW5sZXNzKWQoYClwIEZzKC1zKXAgRnQoJyloKGlzKWYoc3ApcworKGVjaVwwMTRlZCwpMTUwIDc3NyB5KHdpdGhvdXQpZihzcClzKGVjaWZ5aW5nKWgodGhlKWYoYClwCitGcygtYylwIEZ0KCcpZyhvcHRpb24sKWooYW5kKWMod2hvc2UpaChpbnB1dClnKGFuZClnKGVycm9yKWcob3V0cHV0KWcKKyhhcmUpZyhiKXMob3RoKWcoY29ubmVjdGVkKTE1MCA4ODYgeSh0bylkKHRlcm1pbmFscylnKFwoYXMpZworKGRldGVybWluZWQpZihiKW0oeSlnIEZzKGlzYXR0eVwoM1wpKXAgRnQoXCksKWYob3IpaChvbmUpaChzdGFydGVkKWYKKyh3aXRoKWcodGhlKWgoYClwIEZzKC1pKXAgRnQoJylmKG9wdGlvbi4pMjc1IDEwMTggeShBbilnKGluKW0odGVyYWN0aXYpCittKGUpaihzaGVsbClkKGdlbmVyYWxseSlpKHJlYWRzKWUoZnJvbSlnKGFuZClnKHdyaXRlcylnKHRvKWgoYSlnCisodXNlcidzKWYodGVybWluYWwuKTI3NSAxMTUwIHkoVGhlKWUoYClwIEZzKC1zKXAgRnQoJylpKGluKW0odiltKG8pcworKGNhdGlvbiloKG9wdGlvbilmKG1hKW0oeSlnKGIpcyhlKWYodXNlZClmKHRvKWkoc2V0KWcodGhlKWcocClzCisob3NpdGlvbmFsKWcocGFyYW1ldGVycylmKHdoZW4pZyhhbilnKGluKW0odGVyLSkxNTAgMTI1OQoreShhY3RpdiltKGUpayhzaGVsbClkKGlzKWgoc3RhcnRlZC4pMTUwIDE0NTMgeSBGaig2LjMuMik2MworYihJcyk0MSBiKHRoaXMpZyhTaGVsbClnKEluKW0odGVyYWN0aXYpbShlPykxNTAgMTYwMAoreSBGdChUKS04IGIobykzMCBiKGRldGVybWluZSlnKHdpdGhpbilmKGEpaChzdGFydHVwKWcoc2NyaXB0KWYod2hldGhlcikKK2cob3IpaChub3QpZyhCYXNoKWcoaXMpZyhydW5uaW5nKWUoaW4pbSh0ZXJhY3RpdiltKGVseSktOAorYigsKTMzIGIodGVzdCllKHRoZSkxNTAgMTcxMCB5KHYpLTUgYihhbHVlKTMwIGIob2YpZyh0aGUpZihgKXAKK0ZzKC0pcCBGdCgnKWgoc3ApcyhlY2lhbClnKHBhcmFtZXRlci4pNDEgYihJdCkyOSBiKGNvbiltKHRhaW5zKWkKK0ZzKGkpZSBGdCh3aGVuKWcodGhlKWcoc2hlbGwpaChpcylmKGluKW0odGVyYWN0aXYpbShlLik0NAorYihGKS04IGIob3IpMzAgYihleGFtcGxlOikzOTAgMTg0MSB5IEZzKGNhc2UpNDcgYigiJC0iKWYoaW4pMzkwCisxOTUxIHkoKmkqXCkpaChlY2hvKWYoVGhpcyloKHNoZWxsKWYoaXMpaChpbnRlcmFjdGl2ZSllKDs7KTM5MAorMjA2MSB5KCpcKSlpKGVjaG8pZyhUaGlzKWYoc2hlbGwpaChpcylnKG5vdClnKGludGVyYWN0aXZlKWUoOzspMzkwCisyMTcwIHkoZXNhYykyNzUgMjMwMiB5IEZ0KEFsdGVybmF0aXYpbShlbHkpLTggYigsKTI4CiBiKHN0YXJ0dXApMjMgYihzY3JpcHRzKWgobWEpbSh5KWcoZXhhbWluZSlnKHRoZSlnKHYpLTUKIGIoYXJpYWJsZSkyNSBiIEZzKFBTMSlwIEZ0KDspZyhpdClnKGlzKWUodW5zZXQpaChpbilmKG5vbi1pbiltCi0odGVyYWN0aXYpbShlKTE1MCAzNzM0IHkoc2hlbGxzLCkzMSBiKGFuZCllKHNldClpKGluKWYoaW4pbSh0ZXJhY3RpdiltCi0oZSlrKHNoZWxscy4pNDAgYihUaCltKHVzOikzOTAgMzg2NCB5IEZzKGlmKTQ3IGIoWyloKC16KWYoIiRQUzEiKWYoXTspaAotKHRoZW4pNzcyIDM5NzMgeShlY2hvKWYoVGhpcyloKHNoZWxsKWYoaXMpaShub3QpZihpbnRlcmFjdGl2ZSkzOTAKLTQwODMgeShlbHNlKTc3MiA0MTkzIHkoZWNobylmKFRoaXMpaChzaGVsbClmKGlzKWkoaW50ZXJhY3RpdmUpMzkwCi00MzAyIHkoZmkpMTUwIDQ1MTIgeSBGayg2LjMuMyk2MyBiKEluKW0odGVyYWN0aXYpbShlKTM4Ci1iKFNoZWxsKWsoQmVoYSltKHZpb3IpMjc1IDQ3NTIgeSBGdChXaGVuKTMwIGIodGhlKWcoc2hlbGwpaChpcylmCi0ocnVubmluZylmKGluKW0odGVyYWN0aXYpbShlbHkpLTggYigsKTM0IGIoaXQpZChjKW0oaGFuZ2VzKWcoaXRzKWcoYilzCi0oZWhhKW0odmlvcilnKGluKWYoc2V2KW0oZXJhbCloKHcpbShhKW0oeXMuKTE5OSA0ODgxCisodGVyYWN0aXYpbShlKTE1MCAyNDExIHkoc2hlbGxzLCkzMSBiKGFuZCllKHNldClpKGluKWYoaW4pbSh0ZXJhY3RpdiltCisoZSlrKHNoZWxscy4pNDAgYihUaCltKHVzOikzOTAgMjU0MyB5IEZzKGlmKTQ3IGIoWyloKC16KWYoIiRQUzEiKWYoXTspaAorKHRoZW4pNzcyIDI2NTMgeShlY2hvKWYoVGhpcyloKHNoZWxsKWYoaXMpaShub3QpZihpbnRlcmFjdGl2ZSkzOTAKKzI3NjIgeShlbHNlKTc3MiAyODcyIHkoZWNobylmKFRoaXMpaChzaGVsbClmKGlzKWkoaW50ZXJhY3RpdmUpMzkwCisyOTgxIHkoZmkpMTUwIDMxNzUgeSBGaig2LjMuMyk2MyBiKEluKW0odGVyYWN0aXYpbShlKTM4CitiKFNoZWxsKWsoQmVoYSltKHZpb3IpMTUwIDMzMjIgeSBGdChXaGVuKTMwIGIodGhlKWgoc2hlbGwpZihpcyloCisocnVubmluZylkKGluKW0odGVyYWN0aXYpbShlbHkpLTggYigsKTM0IGIoaXQpZChjKW0oaGFuZ2VzKWgoaXRzKWYoYilzCisoZWhhKW0odmlvcilmKGluKWcoc2V2KW0oZXJhbClpKHcpbShhKW0oeXMuKTE5OSAzNDU0CiB5KDEuKTYxIGIoU3RhcnR1cCkzNyBiKFwwMTRsZXMpZyhhcmUpaChyZWFkKWYoYW5kKWcoZXhlY3V0ZWQpaChhcylmCiAoZGVzY3JpYilzKGVkKWcoaW4pZyhTZWN0aW9uKWgoNi4yKWcoW0Jhc2gpZyhTdGFydHVwKWUoRmlsZXNdLCkzMzAKLTQ5OTEgeShwYWdlKTMxIGIoNzMuKTE5OSA1MTIxIHkoMi4pNjEgYihKb2IpMzUgYihDb24pbSh0cm9sKWcoXChzZWUpaAorMzU2MyB5KHBhZ2UpMzEgYig3My4pMTk5IDM2OTUgeSgyLik2MSBiKEpvYikzNSBiKENvbiltKHRyb2wpZyhcKHNlZSloCiAoQ2hhcHRlcilmKDcpZyhbSm9iKWcoQ29uKW0odHJvbF0sKWkocGFnZSlmKDg5XCkpZyhpcylmKGVuYWJsZWQpZyhiKW0KLSh5KWcoZGVmYXVsdC4pNTUgYihXaGVuKTM0IGIoam9iKTMzMCA1MjMwIHkoY29uKW0odHJvbCloKGlzKWYoaW4pZgorKHkpZyhkZWZhdWx0Lik1NSBiKFdoZW4pMzQgYihqb2IpMzMwIDM4MDUgeShjb24pbSh0cm9sKWgoaXMpZihpbilmCiAoZVwwMTNlY3QsKWsoQmFzaClkKGlnbm9yZXMpZyh0aGUpZyhrKW0oZXliKXMob2FyZC1nZW5lcmF0ZWQpaChqb2IpZQotKGNvbiltKHRyb2wpaShzaWduYWxzKWcgRnMoU0lHVFRJTilwIEZ0KCwpMzMwIDUzNDAgeQotRnMoU0lHVFRPVSlwIEZ0KCwpMjkgYihhbmQpZyBGcyhTSUdUU1RQKXAgRnQoLilwIGVvcAotZW5kCi0lJVBhZ2U6IDc2IDgyCi1UZVhEaWN0IGJlZ2luIDc2IDgxIGJvcCAxNTAgLTExNiBhIEZ0KDc2KTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxOTkgMjk5IHkoMy4pNjEgYihCYXNoKTM5IGIoZXhwYW5kcylmKGFuZClnCi0oZGlzcGxhKW0oeXMpaCBGcyhQUzEpZiBGdChiKXMoZWZvcmUpaChyZWFkaW5nKWcodGhlKWcoXDAxNHJzdClmKGxpbmUpaAotKG9mKWcoYSlnKGNvbW1hbmQsKWkoYW5kKWQoZXgtKTMzMCA0MDggeShwYW5kcykzMCBiKGFuZClnKGRpc3BsYSltKHlzKWgKKyhjb24pbSh0cm9sKWkoc2lnbmFscylnIEZzKFNJR1RUSU4pcCBGdCgsKTMzMCAzOTE0IHkKK0ZzKFNJR1RUT1UpcCBGdCgsKTI5IGIoYW5kKWcgRnMoU0lHVFNUUClwIEZ0KC4pMTk5IDQwNDYKK3koMy4pNjEgYihCYXNoKTM5IGIoZXhwYW5kcylmKGFuZClnKGRpc3BsYSltKHlzKWggRnMoUFMxKWYKK0Z0KGIpcyhlZm9yZSloKHJlYWRpbmcpZyh0aGUpZyhcMDE0cnN0KWYobGluZSloKG9mKWcoYSlnKGNvbW1hbmQsKWkKKyhhbmQpZChleC0pMzMwIDQxNTYgeShwYW5kcykzMCBiKGFuZClnKGRpc3BsYSltKHlzKWgKIEZzKFBTMillIEZ0KGIpcyhlZm9yZSlpKHJlYWRpbmcpZyh0aGUpZyhzZWNvbmQpZihhbmQpaChzdWJzZXF1ZW4pbSh0KWYKLShsaW5lcyloKG9mKWcoYSlnKG0pbSh1bHRpLWxpbmUpMzMwIDUxOCB5KGNvbW1hbmQuKTE5OQotNjY5IHkoNC4pNjEgYihCYXNoKTI2IGIoZXhlY3V0ZXMpaSh0aGUpZSh2KS01IGIoYWx1ZSkyNworKGxpbmVzKWgob2YpZyhhKWcobSltKHVsdGktbGluZSkzMzAgNDI2NSB5KGNvbW1hbmQuKTE5OQorNDM5NyB5KDQuKTYxIGIoQmFzaCkyNiBiKGV4ZWN1dGVzKWkodGhlKWUodiktNSBiKGFsdWUpMjcKIGIob2YpZih0aGUpaCBGcyhQUk9NUFRfQ09NTUFORCkyMiBiIEZ0KHYpLTUgYihhcmlhYmxlKTI3Ci1iKGFzKWcoYSlmKGNvbW1hbmQpZyhiKXMoZWZvcmUpZyhwcmluKW0odGluZykzMzAgNzc5CitiKGFzKWcoYSlmKGNvbW1hbmQpZyhiKXMoZWZvcmUpZyhwcmluKW0odGluZykzMzAgNDUwNgogeSh0aGUpMzEgYihwcmltYXJ5KWUocHJvbXB0LCloIEZzKCRQUzEpZiBGdChcKHNlZSlpKFNlY3Rpb24pZyg1LjIpaAotKFtCYXNoKWYoViktOCBiKGFyaWFibGVzXSwpMzIgYihwYWdlKWYoNjFcKS4pMTk5IDkzMAorKFtCYXNoKWYoViktOCBiKGFyaWFibGVzXSwpMzIgYihwYWdlKWYoNjFcKS4pMTk5IDQ2MzgKIHkoNS4pNjEgYihSZWFkbGluZSkzMCBiKFwoc2VlKWgoQ2hhcHRlcillKDgpaChbQ29tbWFuZCllKExpbmUpaQogKEVkaXRpbmddLClnKHBhZ2UpZyg5M1wpKWgoaXMpZih1c2VkKWYodG8paChyZWFkKWYoY29tbWFuZHMpMzMwCi0xMDM5IHkoZnJvbSloKHRoZSlnKHVzZXIncylnKHRlcm1pbmFsLikxOTkgMTE5MCB5KDYuKTYxCis0NzQ4IHkoZnJvbSloKHRoZSlnKHVzZXIncylnKHRlcm1pbmFsLikxOTkgNDg3OSB5KDYuKTYxCiBiKEJhc2gpMzYgYihpbnNwKXMoZWN0cylnKHRoZSloKHYpLTUgYihhbHVlKTM3IGIob2YpZih0aGUpZwogRnMoaWdub3JlZW9mKWUgRnQob3B0aW9uKWoodG8pZyBGcyhzZXQpMjkgYigtbykzNiBiIEZ0KGluc3RlYWQpaChvZilmCi0oZXhpdGluZylpKGltbWUtKTMzMCAxMzAwIHkoZGlhdGVseSlmKHdoZW4pZShpdClpKHJlY2VpdiltKGVzKWgoYW4pZQorKGV4aXRpbmcpaShpbW1lLSkzMzAgNDk4OSB5KGRpYXRlbHkpZih3aGVuKWUoaXQpaShyZWNlaXYpbShlcyloKGFuKWUKIEZzKEVPRilmIEZ0KG9uKWgoaXRzKWcoc3RhbmRhcmQpZihpbnB1dClnKHdoZW4paChyZWFkaW5nKWcoYSlnKGNvbW1hbmQpCi1nKFwoc2VlKTMzMCAxNDA5IHkoU2VjdGlvbikzMSBiKDQuMy4xKWgoW1RoZSllKFNldCloKEJ1aWx0aW5dLClnKHBhZ2UpZwotKDUxXCkuKTE5OSAxNTYwIHkoNy4pNjEgYihDb21tYW5kKTQzIGIoaGlzdG9yeSloKFwoc2VlKWgoU2VjdGlvbilnKDkuMSkKK2coXChzZWUpMzMwIDUwOTkgeShTZWN0aW9uKTMxIGIoNC4zLjEpaChbVGhlKWUoU2V0KWgoQnVpbHRpbl0sKWcocGFnZSlnCisoNTFcKS4pMTk5IDUyMzAgeSg3Lik2MSBiKENvbW1hbmQpNDMgYihoaXN0b3J5KWgoXChzZWUpaChTZWN0aW9uKWcoOS4xKQogZyhbQmFzaClmKEhpc3RvcnkpaChGKS04IGIoYWNpbGl0aWVzXSwpNTEgYihwYWdlKTQ1IGIoMTIxXCkpaChhbmQpZAotKGhpc3RvcnkpMzMwIDE2NzAgeShleHBhbnNpb24pMjMgYihcKHNlZSlpKFNlY3Rpb24pZig5LjMpaChbSGlzdG9yeSlmCisoaGlzdG9yeSkzMzAgNTM0MCB5KGV4cGFuc2lvbikyMyBiKFwoc2VlKWkoU2VjdGlvbilmKDkuMyloKFtIaXN0b3J5KWYKIChJbiltKHRlcmFjdGlvbl0sKWoocGFnZSlkKDEyM1wpKWgoYXJlKWYoZW5hYmxlZClnKGIpbSh5KWYoZGVmYXVsdC4pMzkKLWIoQmFzaCkzMzAgMTc3OSB5KHdpbGwpMjMgYihzYSltKHYpbShlKWkodGhlKWUoY29tbWFuZClmKGhpc3RvcnkpaCh0byloCi0odGhlKWYoXDAxNGxlKWcobmFtZWQpZihiKW0oeSloIEZzKCRISVNURklMRSlkIEZ0KHdoZW4paShhbiloKGluKW0KLSh0ZXJhY3RpdiltKGUpaihzaGVsbCkzMzAgMTg4OSB5KGV4aXRzLikxOTkgMjA0MCB5KDguKTYxCi1iKEFsaWFzKTMxIGIoZXhwYW5zaW9uKWcoXChzZWUpZyhTZWN0aW9uKWcoNi42KWcoW0FsaWFzZXNdLClpKHBhZ2UpZQotKDc5XCkpaChpcyllKHApcyhlcmZvcm1lZClmKGIpbSh5KWgoZGVmYXVsdC4pMTk5IDIxOTEKLXkoOS4pNjEgYihJbikyNCBiKHRoZSlnKGFic2VuY2UpaChvZilmKGFuKW0oeSloKHRyYXBzLClnKEJhc2gpZworYihCYXNoKXAgZW9wIGVuZAorJSVQYWdlOiA3NiA4MgorVGVYRGljdCBiZWdpbiA3NiA4MSBib3AgMTUwIC0xMTYgYSBGdCg3NikyNTcyIGIoQmFzaCkzMQorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMzMwIDI5OSB5KHdpbGwpMjMgYihzYSltKHYpbShlKWkodGhlKWUoY29tbWFuZCkKK2YoaGlzdG9yeSloKHRvKWgodGhlKWYoXDAxNGxlKWcobmFtZWQpZihiKW0oeSloIEZzKCRISVNURklMRSlkCitGdCh3aGVuKWkoYW4paChpbiltKHRlcmFjdGl2KW0oZSlqKHNoZWxsKTMzMCA0MDggeShleGl0cy4pMTk5Cis1NDMgeSg4Lik2MSBiKEFsaWFzKTMxIGIoZXhwYW5zaW9uKWcoXChzZWUpZyhTZWN0aW9uKWcoNi42KWcKKyhbQWxpYXNlc10sKWkocGFnZSllKDc5XCkpaChpcyllKHApcyhlcmZvcm1lZClmKGIpbSh5KWgoZGVmYXVsdC4pMTk5Cis2NzggeSg5Lik2MSBiKEluKTI0IGIodGhlKWcoYWJzZW5jZSloKG9mKWYoYW4pbSh5KWgodHJhcHMsKWcoQmFzaClnCiAoaWdub3JlcylmIEZzKFNJR1RFUk0pZiBGdChcKHNlZSlpKFNlY3Rpb24pZygzLjcuNiloKFtTaWduYWxzXSwpZyhwYWdlKQotZigzM1wpLikxNTQgMjM0MiB5KDEwLik2MSBiKEluKTI2IGIodGhlKWgoYWJzZW5jZSloKG9mKWYoYW4pbSh5KWcKK2YoMzJcKS4pMTU0IDgxMyB5KDEwLik2MSBiKEluKTI2IGIodGhlKWgoYWJzZW5jZSloKG9mKWYoYW4pbSh5KWcKICh0cmFwcywpZyBGcyhTSUdJTlQpZSBGdChpcylpKGNhdWdoKW0odCloKGFuZClmKGhhbmRsZWQpZShcKFwoc2VlKWsKLShTZWN0aW9uKWUoMy43LjYpaShbU2lnbmFsc10sKTMzMCAyNDUxIHkocGFnZSlpKDMzXCkuKTQyCisoU2VjdGlvbillKDMuNy42KWkoW1NpZ25hbHNdLCkzMzAgOTIzIHkocGFnZSlpKDMyXCkuKTQyCiBiIEZzKFNJR0lOVCkyOSBiIEZ0KHdpbGwpaChpbiltKHRlcnJ1cHQpZyhzb21lKWgoc2hlbGwpZyhidWlsdGlucy4pMTU0Ci0yNjAyIHkoMTEuKTYxIGIoQW4pNDAgYihpbiltKHRlcmFjdGl2KW0oZSlqKGxvZ2luKWUoc2hlbGwpZyhzZW5kcyllKGEpaQorMTA1OCB5KDExLik2MSBiKEFuKTQwIGIoaW4pbSh0ZXJhY3RpdiltKGUpaihsb2dpbillKHNoZWxsKWcoc2VuZHMpZShhKWkKIEZzKFNJR0hVUClkIEZ0KHRvKWooYWxsKWcoam9icylmKG9uKWcoZXhpdCloKGlmKWcodGhlKWYKLUZzKGh1cG9uZXhpdCllIEZ0KHNoZWxsKTMzMCAyNzEyIHkob3B0aW9uKTMxIGIoaGFzKWYoYilzKGVlbilnKGVuYWJsZWQpCi1nKFwoc2VlKWgoU2VjdGlvbilnKDMuNy42KWkoW1NpZ25hbHNdLCllKHBhZ2UpZygzM1wpLikxNTQKLTI4NjMgeSgxMi4pNjEgYihUaGUpMjYgYihgKXAgRnMoLW4pcCBGdCgnKWYoaW4pbSh2KW0obylzKGNhdGlvbilrCitGcyhodXBvbmV4aXQpZSBGdChzaGVsbCkzMzAgMTE2NyB5KG9wdGlvbikzMSBiKGhhcylmKGIpcyhlZW4pZyhlbmFibGVkKQorZyhcKHNlZSloKFNlY3Rpb24pZygzLjcuNilpKFtTaWduYWxzXSwpZShwYWdlKWcoMzJcKS4pMTU0CisxMzAyIHkoMTIuKTYxIGIoVGhlKTI2IGIoYClwIEZzKC1uKXAgRnQoJylmKGluKW0odiltKG8pcyhjYXRpb24pawogKG9wdGlvbilkKGlzKWcoaWdub3JlZCwpaChhbmQpZihgKXAgRnMoc2V0KWsoLW4pcCBGdCgnKTI1CiBiKGhhcyloKG5vKWcoZVwwMTNlY3QpaShcKHNlZSllKFNlY3Rpb24paCg0LjMuMSloKFtUaGUpMzMwCi0yOTcyIHkoU2V0KWooQnVpbHRpbl0sKWcocGFnZSlnKDUxXCkuKTE1NCAzMTIzIHkoMTMuKTYxCisxNDEyIHkoU2V0KWooQnVpbHRpbl0sKWcocGFnZSlnKDUxXCkuKTE1NCAxNTQ3IHkoMTMuKTYxCiBiKEJhc2gpMzIgYih3aWxsKWcoYyltKGhlYyltKGspaShmb3IpZShtYWlsKWcocClzKGVyaW8pcyhkaWNhbGx5KS04CiBiKCwpMzQgYihkZXApcyhlbmRpbmcpYyhvbilpKHRoZSlnKHYpLTUgYihhbHVlcykzMiBiKG9mKWcodGhlKWgKLUZzKE1BSUwpcCBGdCgsKWUgRnMoTUFJTFBBVEgpcCBGdCgsKTMzMCAzMjMzIHkoYW5kKWYKK0ZzKE1BSUwpcCBGdCgsKWUgRnMoTUFJTFBBVEgpcCBGdCgsKTMzMCAxNjU2IHkoYW5kKWYKIEZzKE1BSUxDSEVDSyllIEZ0KHNoZWxsKWkodiktNSBiKGFyaWFibGVzKTMxIGIoXChzZWUpaChTZWN0aW9uKWYoNS4yKWcKLShbQmFzaClnKFYpLTggYihhcmlhYmxlc10sKTMyIGIocGFnZSlmKDYxXCkuKTE1NCAzMzg0CisoW0Jhc2gpZyhWKS04IGIoYXJpYWJsZXNdLCkzMiBiKHBhZ2UpZig2MVwpLikxNTQgMTc5MQogeSgxNC4pNjEgYihFeHBhbnNpb24pMzIgYihlcnJvcnMpaChkdWUpZih0bylpKHJlZmVyZW5jZXMpZih0byloKHVuKW0oYikKIHMob3VuZCljKHNoZWxsKWoodiktNSBiKGFyaWFibGVzKTM0IGIoYWZ0ZXIpZyhgKXAgRnMoc2V0KTI5Ci1iKC11KXAgRnQoJylrKGhhcylnKGIpcyhlZW4pMzMwIDM0OTQgeShlbmFibGVkKWQod2lsbCloKG5vdClnKGNhdXNlKWcKK2IoLXUpcCBGdCgnKWsoaGFzKWcoYilzKGVlbikzMzAgMTkwMSB5KGVuYWJsZWQpZCh3aWxsKWgobm90KWcoY2F1c2UpZwogKHRoZSlmKHNoZWxsKWgodG8pZyhleGl0KWcoXChzZWUpZyhTZWN0aW9uKWgoNC4zLjEpZyhbVGhlKWUoU2V0KWgKLShCdWlsdGluXSwpZyhwYWdlKWcoNTFcKS4pMTU0IDM2NDQgeSgxNS4pNjEgYihUaGUpNDgKKyhCdWlsdGluXSwpZyhwYWdlKWcoNTFcKS4pMTU0IDIwMzYgeSgxNS4pNjEgYihUaGUpNDgKIGIoc2hlbGwpaCh3aWxsKWYobm90KWgoZXhpdClnKG9uKWcoZXhwYW5zaW9uKWYoZXJyb3JzKWcoY2F1c2VkKWcoYiltKHkpCiBoIEZxKHYpLTUgYihhcik1NCBiIEZ0KGIpcyhlaW5nKTQ4IGIodW5zZXQpZyhvciloKG4pbSh1bGwpZihpbikzMzAKLTM3NTQgeSBGcygkeylwIEZqKHZhcikxMSBiIEZzKDo/KXAgRmood29yZClnIEZzKH0pMjYKKzIxNDYgeSBGcygkeylwIEZpKHZhcikxMSBiIEZzKDo/KXAgRmkod29yZClnIEZzKH0pMjYKIGIgRnQoZXhwYW5zaW9ucylrKFwoc2VlKWgoU2VjdGlvbiloKDMuNS4zKWcoW1NoZWxsKWUoUCltKGFyYW1ldGVyKWkKLShFeHBhbnNpb25dLCllKHBhZ2UpaCgyMFwpLikxNTQgMzkwNSB5KDE2Lik2MSBiKFJlZGlyZWN0aW9uKTMxCisoRXhwYW5zaW9uXSwpZShwYWdlKWgoMTlcKS4pMTU0IDIyODAgeSgxNi4pNjEgYihSZWRpcmVjdGlvbikzMQogYihlcnJvcnMpZihlbmNvdW4pbSh0ZXJlZCloKGIpbSh5KWYoc2hlbGwpaChidWlsdGlucylmKHdpbGwpZyhub3QpaAotKGNhdXNlKWcodGhlKWYoc2hlbGwpaCh0bylnKGV4aXQuKTE1NCA0MDU2IHkoMTcuKTYxIGIoV2hlbikyNgorKGNhdXNlKWcodGhlKWYoc2hlbGwpaCh0bylnKGV4aXQuKTE1NCAyNDE1IHkoMTcuKTYxIGIoV2hlbikyNgogYihydW5uaW5nKWYoaW4paSBGbChwb3NpeCllIEZ0KG1vKXMoZGUsKWooYSlmKHNwKXMoZWNpYWwpZyhidWlsdGluKWYKIChyZXR1cm5pbmcpZyhhbilnKGVycm9yKWgoc3RhdHVzKWcod2lsbClnKG5vdClmKGNhdXNlKTMzMAotNDE2NiB5KHRoZSkzMSBiKHNoZWxsKWYodG8paChleGl0KWgoXChzZWUpZihTZWN0aW9uKWcoNi4xMSloKFtCYXNoKWYKLShQT1NJWCllKE1vKXMoZGVdLClpKHBhZ2UpZyg4NVwpLikxNTQgNDMxNiB5KDE4Lik2MSBiKEEpMzQKKzI1MjUgeSh0aGUpMzEgYihzaGVsbClmKHRvKWgoZXhpdCloKFwoc2VlKWYoU2VjdGlvbilnKDYuMTEpaChbQmFzaClmCisoUE9TSVgpZShNbylzKGRlXSwpaShwYWdlKWcoODRcKS4pMTU0IDI2NjAgeSgxOC4pNjEgYihBKTM0CiBiKGZhaWxlZClnIEZzKGV4ZWMpZiBGdCh3aWxsKWgobm90KWcoY2F1c2UpZyh0aGUpZyhzaGVsbClnKHRvKWcoZXhpdCloCiAoXChzZWUpZihTZWN0aW9uKWgoNC4xKWcoW0JvdXJuZSlmKFNoZWxsKWYoQnVpbHRpbnNdLCkzMzAKLTQ0MjYgeShwYWdlKWUoMzVcKS4pMTU0IDQ1NzcgeSgxOS4pNjEgYihQKW0oYXJzZXIpMzEKKzI3NzAgeShwYWdlKWUoMzVcKS4pMTU0IDI5MDQgeSgxOS4pNjEgYihQKW0oYXJzZXIpMzEKIGIoc3luKW0odGF4KWYoZXJyb3JzKWcod2lsbCloKG5vdClnKGNhdXNlKWcodGhlKWYoc2hlbGwpaCh0bylnKGV4aXQuKQotMTU0IDQ3MjggeSgyMC4pNjEgYihTaW1wbGUpMjEgYihzcClzKGVsbGluZyloKGNvcnJlY3Rpb24pZyhmb3IpZworMTU0IDMwMzkgeSgyMC4pNjEgYihTaW1wbGUpMjEgYihzcClzKGVsbGluZyloKGNvcnJlY3Rpb24pZyhmb3IpZwogKGRpcmVjdG9yeSlnKGFyZ3VtZW4pbSh0cylmKHRvKWkodGhlKWUgRnMoY2QpZyBGdChidWlsdGluKWcoaXMpaAotKGVuYWJsZWQpZihiKW0oeSloKGRlZmF1bHQpMzMwIDQ4MzggeShcKHNlZSkzNSBiKHRoZSlnKGRlc2NyaXB0aW9uKWYKKyhlbmFibGVkKWYoYiltKHkpaChkZWZhdWx0KTMzMCAzMTQ5IHkoXChzZWUpMzUgYih0aGUpZyhkZXNjcmlwdGlvbilmCiAob2YpaCh0aGUpZiBGcyhjZHNwZWxsKWYgRnQob3B0aW9uKWgodG8paSh0aGUpZSBGcyhzaG9wdClmCi1GdChidWlsdGluKWgoaW4pZyhTZWN0aW9uKWgoNC4zLjIpaChbVGhlKTMzMCA0OTQ3IHkoU2hvcHQpMzAKLWIoQnVpbHRpbl0sKWgocGFnZSlnKDU0XCkuKTE1NCA1MDk4IHkoMjEuKTYxIGIoVGhlKTQyCitGdChidWlsdGluKWgoaW4pZyhTZWN0aW9uKWgoNC4zLjIpaChbVGhlKTMzMCAzMjU5IHkoU2hvcHQpMzAKK2IoQnVpbHRpbl0sKWgocGFnZSlnKDU1XCkuKTE1NCAzMzk0IHkoMjEuKTYxIGIoVGhlKTQyCiBiKHNoZWxsKWgod2lsbClnKGMpbShoZWMpbShrKWgodGhlKWYodiktNSBiKGFsdWUpNDMgYihvZilmKHRoZSloCiBGcyhUTU9VVCllIEZ0KHYpLTUgYihhcmlhYmxlKTQ0IGIoYW5kKWUoZXhpdCloKGlmKWcoYSlnKGNvbW1hbmQpZihpcyloCi0obm90KTMzMCA1MjA4IHkocmVhZCkzMCBiKHdpdGhpbilnKHRoZSlnKHNwKXMoZWNpXDAxNGVkKWYobiltKHVtKW0oYilzCisobm90KTMzMCAzNTAzIHkocmVhZCkzMCBiKHdpdGhpbilnKHRoZSlnKHNwKXMoZWNpXDAxNGVkKWYobiltKHVtKW0oYilzCiAoZXIpZyhvZilpKHNlY29uZHMpZihhZnRlcilnKHByaW4pbSh0aW5nKWcgRnMoJFBTMSlmCi1GdChcKHNlZSlpKFNlY3Rpb24pZyg1LjIpaChbQmFzaCkzMzAgNTMxNyB5KFYpLTggYihhcmlhYmxlc10sKTMyCi1iKHBhZ2UpZig2MVwpLilwIGVvcCBlbmQKK0Z0KFwoc2VlKWkoU2VjdGlvbilnKDUuMiloKFtCYXNoKTMzMCAzNjEzIHkoViktOCBiKGFyaWFibGVzXSwpMzIKK2IocGFnZSlmKDYxXCkuKTE1MCAzODQ3IHkgRnIoNi40KTY4IGIoQmFzaCk0NSBiKENvbmRpdGlvbmFsKWgKKyhFeHByZXNzaW9ucykxNTAgNDAwNiB5IEZ0KENvbmRpdGlvbmFsKTI2IGIoZXhwcmVzc2lvbnMpZyhhcmUpZyh1c2VkKWYKKyhiKW0oeSlnKHRoZSloIEZzKFtbKWYgRnQoY29tcClzKG91bmQpZyhjb21tYW5kKWcoYW5kKWcodGhlKWgKK0ZzKHRlc3QpZiBGdChhbmQpZyBGcyhbKWcgRnQoYnVpbHRpbikxNTAgNDExNiB5KGNvbW1hbmRzLikyNzUKKzQyNTEgeShFeHByZXNzaW9ucykzMiBiKG1hKW0oeSloKGIpcyhlKWcodW5hcnkpZihvciloKGJpbmFyeSktOAorYiguKTQ4IGIoVW5hcnkpMzMgYihleHByZXNzaW9ucylmKGFyZSlpKG9mdGVuKWYodXNlZClmKHRvKWkoZXhhbWluZSlnCisodGhlKTE1MCA0MzYxIHkoc3RhdHVzKTI2IGIob2YpZyhhKWgoXDAxNGxlLikzOSBiKFRoZXJlKTI2CitiKGFyZSlnKHN0cmluZylnKG9wKXMoZXJhdG9ycylnKGFuZClnKG4pbSh1bWVyaWMpZihjb21wYXJpc29uKWkob3ApcworKGVyYXRvcnMpZihhcylnKHcpbShlbGwuKTQwIGIoSWYpMjYgYih0aGUpMTUwIDQ0NzAgeQorRnEoXDAxNGxlKTM4IGIgRnQoYXJndW1lbiltKHQpYyh0bylmKG9uZSloKG9mKWYodGhlKWcocHJpbWFyaWVzKWcoaXMpZworKG9mKWcodGhlKWcoZm9ybSlnKGApcCBGcygvZGV2L2ZkLylwIEZpKE4pMTEgYiBGdCgnLCkzMQorYih0aGVuKWkoXDAxNGxlKWcoZGVzY3JpcHRvcilnIEZxKE4pNDMgYiBGdChpcykxNTAgNDU4MAoreShjKW0oaGVjKW0oayltKGVkLillKElmKTI2IGIodGhlKWcgRnEoXDAxNGxlKTMxIGIgRnQoYXJndW1lbiltKHQpMjYKK2IodG8paChvbmUpZihvZilnKHRoZSloKHByaW1hcmllcyllKGlzKWgob25lKWcob2YpZyhgKXAKK0ZzKC9kZXYvc3RkaW4pcCBGdCgnLClmKGApcCBGcygvZGV2L3N0ZG91dClwIEZ0KCcsKTE1MAorNDY4OSB5KG9yKTMwIGIoYClwIEZzKC9kZXYvc3RkZXJyKXAgRnQoJywpZShcMDE0bGUpaihkZXNjcmlwdG9yKWYoMCwpaAorKDEsKWcob3IpZygyLClnKHJlc3ApcyhlY3RpdiltKGVseSktOCBiKCwpMzIgYihpcyllKGMpbShoZWMpbShrKW0oZWQuKQorMjc1IDQ4MjUgeShXaGVuKWgodXNlZClnKHdpdGgpZyhgKXAgRnMoW1spcCBGdCgnLCloKFRoZSlmKGApcAorRnMoPClwIEZ0KCcpaChhbmQpZihgKXAgRnMoPilwIEZ0KCcpZyhvcClzKGVyYXRvcnMpaChzb3J0KWcKKyhsZXhpY29ncmFwaGljYWxseSlpKHVzaW5nKWQodGhlKWgoY3VycmVuKW0odCkxNTAgNDkzNAoreShsbylzKGNhbGUuKTI3NSA1MDcwIHkoVW5sZXNzKTQ0IGIob3RoZXJ3aXNlKWgoc3ApcyhlY2lcMDE0ZWQsKWoKKyhwcmltYXJpZXMpYyh0aGF0KWgob3ApcyhlcmF0ZSlnKG9uKWcoXDAxNGxlcylmKGZvbGxvKW0odylpKHN5bSltKGIpcworKG9saWMpZihsaW5rcylnKGFuZCkxNTAgNTE3OSB5KG9wKXMoZXJhdGUpMzEgYihvbilmKHRoZSloKHRhcmdldCloKG9mKWUKKyh0aGUpaChsaW5rLClmKHJhdGhlciloKHRoYW4pZih0aGUpZyhsaW5rKWgoaXRzZWxmLikxNTAKKzUzNDAgeSBGcygtYSlmIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcKK0ZxKFwwMTRsZSkzNiBiIEZ0KGV4aXN0cy4pcCBlb3AgZW5kCiAlJVBhZ2U6IDc3IDgzCiBUZVhEaWN0IGJlZ2luIDc3IDgyIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig2Oik0MQotYihCYXNoKTMwIGIoRiktOCBiKGVhdHVyZXMpMjQ4NCBiKDc3KTE1MCAyOTkgeSBGcig2LjQpNjgKLWIoQmFzaCk0NSBiKENvbmRpdGlvbmFsKWgoRXhwcmVzc2lvbnMpMjc1IDU0MCB5IEZ0KENvbmRpdGlvbmFsKTM4Ci1iKGV4cHJlc3Npb25zKWcoYXJlKWgodXNlZClmKGIpbSh5KWcodGhlKWcgRnMoW1spZyBGdChjb21wKXMob3VuZClmCi0oY29tbWFuZCloKGFuZClnKHRoZSlnIEZzKHRlc3QpZyBGdChhbmQpZiBGcyhbKTE1MCA2NTAKLXkgRnQoYnVpbHRpbikzMCBiKGNvbW1hbmRzLikyNzUgNzgyIHkoRXhwcmVzc2lvbnMpaShtYSltKHkpaChiKXMoZSlnCi0odW5hcnkpZihvciloKGJpbmFyeSktOCBiKC4pNDggYihVbmFyeSkzMyBiKGV4cHJlc3Npb25zKWYoYXJlKWkob2Z0ZW4pZgotKHVzZWQpZih0bylpKGV4YW1pbmUpZyh0aGUpMTUwIDg5MiB5KHN0YXR1cykyNiBiKG9mKWcoYSloKFwwMTRsZS4pMzkKLWIoVGhlcmUpMjYgYihhcmUpZyhzdHJpbmcpZyhvcClzKGVyYXRvcnMpZyhhbmQpZyhuKW0odW1lcmljKWYKLShjb21wYXJpc29uKWkob3ApcyhlcmF0b3JzKWYoYXMpZyh3KW0oZWxsLik0MCBiKElmKTI2Ci1iKHRoZSkxNTAgMTAwMSB5IEZxKFwwMTRsZSkzOCBiIEZ0KGFyZ3VtZW4pbSh0KWModG8pZihvbmUpaChvZilmKHRoZSlnCi0ocHJpbWFyaWVzKWcoaXMpZyhvZilnKHRoZSlnKGZvcm0pZyhgKXAgRnMoL2Rldi9mZC8pcAotRmooTikxMSBiIEZ0KCcsKTMxIGIodGhlbilpKFwwMTRsZSlnKGRlc2NyaXB0b3IpZyBGcShOKTQzCi1iIEZ0KGlzKTE1MCAxMTExIHkoYyltKGhlYyltKGspbShlZC4pZShJZikyNiBiKHRoZSlnCi1GcShcMDE0bGUpMzEgYiBGdChhcmd1bWVuKW0odCkyNiBiKHRvKWgob25lKWYob2YpZyh0aGUpaChwcmltYXJpZXMpZQotKGlzKWgob25lKWcob2YpZyhgKXAgRnMoL2Rldi9zdGRpbilwIEZ0KCcsKWYoYClwIEZzKC9kZXYvc3Rkb3V0KXAKLUZ0KCcsKTE1MCAxMjIwIHkob3IpMzAgYihgKXAgRnMoL2Rldi9zdGRlcnIpcCBGdCgnLCllKFwwMTRsZSlqCi0oZGVzY3JpcHRvcilmKDAsKWgoMSwpZyhvcilnKDIsKWcocmVzcClzKGVjdGl2KW0oZWx5KS04Ci1iKCwpMzIgYihpcyllKGMpbShoZWMpbShrKW0oZWQuKTI3NSAxMzUyIHkoVW5sZXNzKTQ0Ci1iKG90aGVyd2lzZSloKHNwKXMoZWNpXDAxNGVkLClqKHByaW1hcmllcyljKHRoYXQpaChvcClzKGVyYXRlKWcob24pZwotKFwwMTRsZXMpZihmb2xsbyltKHcpaShzeW0pbShiKXMob2xpYylmKGxpbmtzKWcoYW5kKTE1MAotMTQ2MiB5KG9wKXMoZXJhdGUpMzEgYihvbilmKHRoZSloKHRhcmdldCloKG9mKWUodGhlKWgobGluaywpZihyYXRoZXIpaAotKHRoYW4pZih0aGUpZyhsaW5rKWgoaXRzZWxmLikxNTAgMTYxNiB5IEZzKC1hKWYgRmooZmlsZSkxNjIKLWIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcgRnEoXDAxNGxlKTM2IGIgRnQoZXhpc3RzLikxNTAKLTE3NzEgeSBGcygtYikzMCBiIEZqKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcKLUZxKFwwMTRsZSkzNiBiIEZ0KGV4aXN0cykzMSBiKGFuZClmKGlzKWcoYSloKGJsbylzKGMpbShrKWcoc3ApcyhlY2lhbClnCi0oXDAxNGxlLikxNTAgMTkyNSB5IEZzKC1jKWYgRmooZmlsZSkxNjIgYiBGdChUKS04IGIocnVlKTMwCi1iKGlmKWcgRnEoXDAxNGxlKTM2IGIgRnQoZXhpc3RzKTMxIGIoYW5kKWYoaXMpZyhhKWgoYyltKGhhcmFjdGVyKWgoc3ApcwotKGVjaWFsKWYoXDAxNGxlLikxNTAgMjA3OSB5IEZzKC1kKWYgRmooZmlsZSkxNjIgYiBGdChUKS04Ci1iKHJ1ZSkzMCBiKGlmKWcgRnEoXDAxNGxlKTM2IGIgRnQoZXhpc3RzKTMxIGIoYW5kKWYoaXMpZyhhKWgoZGlyZWN0b3J5KQotLTggYiguKTE1MCAyMjMzIHkgRnMoLWUpMzAgYiBGaihmaWxlKTE2MiBiIEZ0KFQpLTggYihydWUpMzAKLWIoaWYpZyBGcShcMDE0bGUpMzYgYiBGdChleGlzdHMuKTE1MCAyMzg4IHkgRnMoLWYpMzAKLWIgRmooZmlsZSkxNjIgYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZyBGcShcMDE0bGUpMzYKLWIgRnQoZXhpc3RzKTMxIGIoYW5kKWYoaXMpZyhhKWgocmVndWxhcilmKFwwMTRsZS4pMTUwCi0yNTQyIHkgRnMoLWcpZyBGaihmaWxlKTE2MiBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnCi1GcShcMDE0bGUpMzYgYiBGdChleGlzdHMpMzEgYihhbmQpZihpdHMpZyhzZXQtZ3JvdXAtaWQpaChiaXQpZyhpcylmCi0oc2V0LikxNTAgMjY5NiB5IEZzKC1oKWcgRmooZmlsZSkxNjIgYiBGdChUKS04IGIocnVlKTMwCi1iKGlmKWcgRnEoXDAxNGxlKTM2IGIgRnQoZXhpc3RzKTMxIGIoYW5kKWYoaXMpZyhhKWgoc3ltKW0oYilzKG9saWMpZwotKGxpbmsuKTE1MCAyODUxIHkgRnMoLWspZiBGaihmaWxlKTE2MiBiIEZ0KFQpLTggYihydWUpMzAKLWIoaWYpZyBGcShcMDE0bGUpMzYgYiBGdChleGlzdHMpMzEgYihhbmQpZihpdHMpZyBGcygiKXAKLUZ0KHN0aWMpbShreSlwIEZzKCIpaCBGdChiaXQpZyhpcylmKHNldC4pMTUwIDMwMDUgeSBGcygtcClnCi1GaihmaWxlKTE2MiBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnIEZxKFwwMTRsZSkzNiBiCi1GdChleGlzdHMpMzEgYihhbmQpZihpcylnKGEpaChuYW1lZClmKHBpcClzKGUpZihcKEZJRiltKE9cKS4pMTUwCi0zMTU5IHkgRnMoLXIpaCBGaihmaWxlKTE2MiBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnCi1GcShcMDE0bGUpMzYgYiBGdChleGlzdHMpMzEgYihhbmQpZihpcylnKHJlYWRhYmxlLikxNTAKLTMzMTQgeSBGcygtcylnIEZqKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcKLUZxKFwwMTRsZSkzNiBiIEZ0KGV4aXN0cykzMSBiKGFuZClmKGhhcylnKGEpZyhzaXplKWkoZ3JlYXRlcilmKHRoYW4pZgotKHplcm8uKTE1MCAzNDY4IHkgRnMoLXQpZyBGaihmZCkyNTggYiBGdChUKS04IGIocnVlKTMwCi1iKGlmKWcoXDAxNGxlKWgoZGVzY3JpcHRvcilmIEZxKGZkKWogRnQoaXMpZShvcClzKGVuKWUoYW5kKWgocmVmZXJzKWcKLSh0byloKGEpZyh0ZXJtaW5hbC4pMTUwIDM2MjIgeSBGcygtdSlmIEZqKGZpbGUpMTYyIGIKLUZ0KFQpLTggYihydWUpMzAgYihpZilnIEZxKFwwMTRsZSkzNiBiIEZ0KGV4aXN0cykzMSBiKGFuZClmKGl0cylnCi0oc2V0LXVzZXItaWQpaChiaXQpZihpcyloKHNldC4pMTUwIDM3NzcgeSBGcygtdylmIEZqKGZpbGUpMTYyCitiKEJhc2gpMzAgYihGKS04IGIoZWF0dXJlcykyNDg0IGIoNzcpMTUwIDI5OSB5IEZzKC1iKTMwCitiIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcgRnEoXDAxNGxlKTM2CitiIEZ0KGV4aXN0cykzMSBiKGFuZClmKGlzKWcoYSloKGJsbylzKGMpbShrKWcoc3ApcyhlY2lhbClnKFwwMTRsZS4pMTUwCis0NjEgeSBGcygtYylmIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcgRnEoXDAxNGxlKTM2CitiIEZ0KGV4aXN0cykzMSBiKGFuZClmKGlzKWcoYSloKGMpbShoYXJhY3RlciloKHNwKXMoZWNpYWwpZihcMDE0bGUuKTE1MAorNjIzIHkgRnMoLWQpZiBGaShmaWxlKTE2MiBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnIEZxKFwwMTRsZSkzNgorYiBGdChleGlzdHMpMzEgYihhbmQpZihpcylnKGEpaChkaXJlY3RvcnkpLTggYiguKTE1MAorNzg1IHkgRnMoLWUpMzAgYiBGaShmaWxlKTE2MiBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnCitGcShcMDE0bGUpMzYgYiBGdChleGlzdHMuKTE1MCA5NDggeSBGcygtZikzMCBiIEZpKGZpbGUpMTYyCiBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnIEZxKFwwMTRsZSkzNiBiIEZ0KGV4aXN0cykzMQotYihhbmQpZihpcylnKHdyaXRhYmxlLikxNTAgMzkzMSB5IEZzKC14KWcgRmooZmlsZSkxNjIKK2IoYW5kKWYoaXMpZyhhKWgocmVndWxhcilmKFwwMTRsZS4pMTUwIDExMTAgeSBGcygtZylnCitGaShmaWxlKTE2MiBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnIEZxKFwwMTRsZSkzNiBiCitGdChleGlzdHMpMzEgYihhbmQpZihpdHMpZyhzZXQtZ3JvdXAtaWQpaChiaXQpZyhpcylmKHNldC4pMTUwCisxMjcyIHkgRnMoLWgpZyBGaShmaWxlKTE2MiBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnCitGcShcMDE0bGUpMzYgYiBGdChleGlzdHMpMzEgYihhbmQpZihpcylnKGEpaChzeW0pbShiKXMob2xpYylnKGxpbmsuKTE1MAorMTQzNCB5IEZzKC1rKWYgRmkoZmlsZSkxNjIgYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZworRnEoXDAxNGxlKTM2IGIgRnQoZXhpc3RzKTMxIGIoYW5kKWYoaXRzKWcgRnMoIilwIEZ0KHN0aWMpbShreSlwCitGcygiKWggRnQoYml0KWcoaXMpZihzZXQuKTE1MCAxNTk2IHkgRnMoLXApZyBGaShmaWxlKTE2MgogYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZyBGcShcMDE0bGUpMzYgYiBGdChleGlzdHMpMzEKLWIoYW5kKWYoaXMpZyhleGVjdXRhYmxlLikxNTAgNDA4NSB5IEZzKC1PKWcgRmooZmlsZSkxNjIKLWIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcgRnEoXDAxNGxlKTM2IGIgRnQoZXhpc3RzKTMxCi1iKGFuZClmKGlzKWcobyltKHduZWQpZyhiKW0oeSloKHRoZSlmKGVcMDEzZWN0aXYpbShlKWoodXNlcilkKGlkLikxNTAKLTQyNDAgeSBGcygtRylnIEZqKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcKK2IoYW5kKWYoaXMpZyhhKWgobmFtZWQpZihwaXApcyhlKWYoXChGSUYpbShPXCkuKTE1MCAxNzU5Cit5IEZzKC1yKWggRmkoZmlsZSkxNjIgYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZyBGcShcMDE0bGUpMzYKK2IgRnQoZXhpc3RzKTMxIGIoYW5kKWYoaXMpZyhyZWFkYWJsZS4pMTUwIDE5MjEgeSBGcygtcylnCitGaShmaWxlKTE2MiBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnIEZxKFwwMTRsZSkzNiBiCitGdChleGlzdHMpMzEgYihhbmQpZihoYXMpZyhhKWcoc2l6ZSlpKGdyZWF0ZXIpZih0aGFuKWYoemVyby4pMTUwCisyMDgzIHkgRnMoLXQpZyBGaShmZCkyNTggYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZyhcMDE0bGUpaChkZXNjcmlwdG9yKQorZiBGcShmZClqIEZ0KGlzKWUob3ApcyhlbillKGFuZCloKHJlZmVycylnKHRvKWgoYSlnKHRlcm1pbmFsLikxNTAKKzIyNDUgeSBGcygtdSlmIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcKK0ZxKFwwMTRsZSkzNiBiIEZ0KGV4aXN0cykzMSBiKGFuZClmKGl0cylnKHNldC11c2VyLWlkKWgoYml0KWYoaXMpaAorKHNldC4pMTUwIDI0MDcgeSBGcygtdylmIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMAorYihpZilnIEZxKFwwMTRsZSkzNiBiIEZ0KGV4aXN0cykzMSBiKGFuZClmKGlzKWcod3JpdGFibGUuKTE1MAorMjU3MCB5IEZzKC14KWcgRmkoZmlsZSkxNjIgYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZworRnEoXDAxNGxlKTM2IGIgRnQoZXhpc3RzKTMxIGIoYW5kKWYoaXMpZyhleGVjdXRhYmxlLikxNTAKKzI3MzIgeSBGcygtTylnIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcKIEZxKFwwMTRsZSkzNiBiIEZ0KGV4aXN0cykzMSBiKGFuZClmKGlzKWcobyltKHduZWQpZyhiKW0oeSloKHRoZSlmCi0oZVwwMTNlY3RpdiltKGUpaihncm91cClkKGlkLikxNTAgNDM5NCB5IEZzKC1MKWcgRmooZmlsZSkxNjIKKyhlXDAxM2VjdGl2KW0oZSlqKHVzZXIpZChpZC4pMTUwIDI4OTQgeSBGcygtRylnIEZpKGZpbGUpMTYyCiBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnIEZxKFwwMTRsZSkzNiBiIEZ0KGV4aXN0cykzMQotYihhbmQpZihpcylnKGEpaChzeW0pbShiKXMob2xpYylnKGxpbmsuKTE1MCA0NTQ4IHkgRnMoLVMpZgotRmooZmlsZSkxNjIgYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZyBGcShcMDE0bGUpMzYgYgotRnQoZXhpc3RzKTMxIGIoYW5kKWYoaXMpZyhhKWgoc28pcyhjKW0oayltKGV0LikxNTAgNDcwMwoteSBGcygtTilmIEZqKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcgRnEoXDAxNGxlKTM2Ci1iIEZ0KGV4aXN0cykzMSBiKGFuZClmKGhhcylnKGIpcyhlZW4pZihtbylzKGRpXDAxNGVkKWgoc2luY2UpZyhpdCloKHcpbQotKGFzKWcobGFzdClnKHJlYWQuKTE1MCA0ODU3IHkgRmooZmlsZTEpMzkgYiBGcygtbnQpMzAKLWIgRmooZmlsZTIpNjMwIDQ5NjYgeSBGdChUKS04IGIocnVlKTIzIGIoaWYpaCBGcShcMDE0bGUxKTMyCi1iIEZ0KGlzKTI0IGIobmV3KW0oZXIpZyhcKGFjY29yZGluZyloKHRvKWcobW8pcyhkaVwwMTRjYXRpb24pZihkYXRlXCkpaAotKHRoYW4pZiBGcShcMDE0bGUyKXAgRnQoLClpKG9yKWUoaWYpZyBGcShcMDE0bGUxKTMxIGIKLUZ0KGV4aXN0cyk2MzAgNTA3NiB5KGFuZClmIEZxKFwwMTRsZTIpMzggYiBGdChkbylzKGVzKTMwCi1iKG5vdC4pMTUwIDUyMzAgeSBGaihmaWxlMSkzOSBiIEZzKC1vdCkzMCBiIEZqKGZpbGUyKTYzMAotNTM0MCB5IEZ0KFQpLTggYihydWUpMzAgYihpZilnIEZxKFwwMTRsZTEpMzggYiBGdChpcykzMQotYihvbGRlcilmKHRoYW4pZyBGcShcMDE0bGUyKXAgRnQoLClpKG9yKWUoaWYpZyBGcShcMDE0bGUyKTM4Ci1iIEZ0KGV4aXN0cykzMSBiKGFuZClmIEZxKFwwMTRsZTEpMzggYiBGdChkbylzKGVzKTMwCi1iKG5vdC4pcCBlb3AgZW5kCitiKGFuZClmKGlzKWcobyltKHduZWQpZyhiKW0oeSloKHRoZSlmKGVcMDEzZWN0aXYpbShlKWooZ3JvdXApZChpZC4pMTUwCiszMDU2IHkgRnMoLUwpZyBGaShmaWxlKTE2MiBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnCitGcShcMDE0bGUpMzYgYiBGdChleGlzdHMpMzEgYihhbmQpZihpcylnKGEpaChzeW0pbShiKXMob2xpYylnKGxpbmsuKTE1MAorMzIxOCB5IEZzKC1TKWYgRmkoZmlsZSkxNjIgYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZworRnEoXDAxNGxlKTM2IGIgRnQoZXhpc3RzKTMxIGIoYW5kKWYoaXMpZyhhKWgoc28pcyhjKW0oayltKGV0LikxNTAKKzMzODEgeSBGcygtTilmIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcKK0ZxKFwwMTRsZSkzNiBiIEZ0KGV4aXN0cykzMSBiKGFuZClmKGhhcylnKGIpcyhlZW4pZihtbylzKGRpXDAxNGVkKWgKKyhzaW5jZSlnKGl0KWgodyltKGFzKWcobGFzdClnKHJlYWQuKTE1MCAzNTQzIHkgRmkoZmlsZTEpMzkKK2IgRnMoLW50KTMwIGIgRmkoZmlsZTIpNjMwIDM2NTIgeSBGdChUKS04IGIocnVlKTIzIGIoaWYpZworRnEoXDAxNGxlMSkzMSBiIEZ0KGlzKTI0IGIobmV3KW0oZXIpZihcKGFjY29yZGluZylpKHRvKWYobW8pcworKGRpXDAxNGNhdGlvbilnKGRhdGVcKSlnKHRoYW4pZyBGcShcMDE0bGUyKTcgYiBGdCgsKTI1CitiKG9yKWYoaWYpZiBGcShcMDE0bGUxKTMxIGIgRnQoZXhpc3RzKTYzMCAzNzYyIHkoYW5kKWYKK0ZxKFwwMTRsZTIpMzggYiBGdChkbylzKGVzKTMwIGIobm90LikxNTAgMzkyNCB5IEZpKGZpbGUxKTM5CitiIEZzKC1vdCkzMCBiIEZpKGZpbGUyKTYzMCA0MDM0IHkgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcKK0ZxKFwwMTRsZTEpMzggYiBGdChpcykzMSBiKG9sZGVyKWYodGhhbilnIEZxKFwwMTRsZTIpNworYiBGdCgsKTMyIGIob3IpZShpZiloIEZxKFwwMTRsZTIpMzggYiBGdChleGlzdHMpMzEgYihhbmQpZQorRnEoXDAxNGxlMSkzOSBiIEZ0KGRvKXMoZXMpMzAgYihub3QuKTE1MCA0MTk2IHkgRmkoZmlsZTEpMzkKK2IgRnMoLWVmKTMwIGIgRmkoZmlsZTIpNjMwIDQzMDUgeSBGdChUKS04IGIocnVlKTMwIGIoaWYpZworRnEoXDAxNGxlMSkzOCBiIEZ0KGFuZCkzMCBiIEZxKFwwMTRsZTIpMzggYiBGdChyZWZlcikzMAorYih0bylpKHRoZSllKHNhbWUpaChkZXZpY2UpZyhhbmQpZihpbm8pcyhkZSlnKG4pbSh1bSltKGIpcyhlcnMuKTE1MAorNDQ2OCB5IEZzKC1vKWcgRmkob3B0bmFtZSk2MzAgNDU3NyB5IEZ0KFQpLTggYihydWUpNDEKK2IoaWYpZyhzaGVsbClnKG9wdGlvbiloIEZxKG9wdG5hbWUpNDcgYiBGdChpcyk0MSBiKGVuYWJsZWQuKTczCitiKFRoZSk0MSBiKGxpc3QpaChvZilmKG9wdGlvbnMpZyhhcHApcyhlYXJzKWcoaW4pZyh0aGUpNjMwCis0Njg3IHkoZGVzY3JpcHRpb24paChvZilmKHRoZSloKGApcCBGcygtbylwIEZ0KCcpZihvcHRpb24paCh0byloKHRoZSllCitGcyhzZXQpZyBGdChidWlsdGluKWcoXChzZWUpaShTZWN0aW9uKWYoNC4zLjEpaChbVGhlKWYoU2V0KTYzMAorNDc5NiB5KEJ1aWx0aW5dLCkzMSBiKHBhZ2UpZyg1MVwpLikxNTAgNDk1OSB5IEZzKC16KWYKK0ZpKHN0cmluZyk2MzAgNTA2OCB5IEZ0KFQpLTggYihydWUpMzAgYihpZilnKHRoZSloKGxlbmd0aClnKG9mKWYKK0ZxKHN0cmluZykzOCBiIEZ0KGlzKTMxIGIoemVyby4pMTUwIDUyMzAgeSBGcygtbilmIEZpKHN0cmluZykxNTAKKzUzNDAgeShzdHJpbmcpMTkyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcodGhlKWgobGVuZ3RoKWcob2YpZgorRnEoc3RyaW5nKTM4IGIgRnQoaXMpMzEgYihub24temVyby4pcCBlb3AgZW5kCiAlJVBhZ2U6IDc4IDg0CiBUZVhEaWN0IGJlZ2luIDc4IDgzIGJvcCAxNTAgLTExNiBhIEZ0KDc4KTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRmooZmlsZTEpMzkgYiBGcygtZWYpMzAKLWIgRmooZmlsZTIpNjMwIDQwOCB5IEZ0KFQpLTggYihydWUpMzAgYihpZilnIEZxKFwwMTRsZTEpMzgKLWIgRnQoYW5kKTMwIGIgRnEoXDAxNGxlMikzOCBiIEZ0KHJlZmVyKTMwIGIodG8paSh0aGUpZShzYW1lKWgoZGV2aWNlKWcKLShhbmQpZihpbm8pcyhkZSlnKG4pbSh1bSltKGIpcyhlcnMuKTE1MCA1NzAgeSBGcygtbylnCi1GaihvcHRuYW1lKTYzMCA2NzkgeSBGdChUKS04IGIocnVlKTQxIGIoaWYpZyhzaGVsbClnKG9wdGlvbiloCi1GcShvcHRuYW1lKTQ3IGIgRnQoaXMpNDEgYihlbmFibGVkLik3MyBiKFRoZSk0MSBiKGxpc3QpaChvZilmKG9wdGlvbnMpZwotKGFwcClzKGVhcnMpZyhpbilnKHRoZSk2MzAgNzg5IHkoZGVzY3JpcHRpb24paChvZilmKHRoZSloKGApcAotRnMoLW8pcCBGdCgnKWYob3B0aW9uKWgodG8paCh0aGUpZSBGcyhzZXQpZyBGdChidWlsdGluKWcoXChzZWUpaQotKFNlY3Rpb24pZig0LjMuMSloKFtUaGUpZihTZXQpNjMwIDg5OCB5KEJ1aWx0aW5dLCkzMQotYihwYWdlKWcoNTFcKS4pMTUwIDEwNjAgeSBGcygteilmIEZqKHN0cmluZyk2MzAgMTE2OQoteSBGdChUKS04IGIocnVlKTMwIGIoaWYpZyh0aGUpaChsZW5ndGgpZyhvZilmIEZxKHN0cmluZykzOAotYiBGdChpcykzMSBiKHplcm8uKTE1MCAxMzMwIHkgRnMoLW4pZiBGaihzdHJpbmcpMTUwIDE0NDAKLXkoc3RyaW5nKTE5MiBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnKHRoZSloKGxlbmd0aClnKG9mKWYKLUZxKHN0cmluZykzOCBiIEZ0KGlzKTMxIGIobm9uLXplcm8uKTE1MCAxNjAxIHkgRmooc3RyaW5nMSkzOQotYiBGcyg9PSkzMCBiIEZqKHN0cmluZzIpNjMwIDE3MTEgeSBGdChUKS04IGIocnVlKTMzIGIoaWYpaCh0aGUpZwotKHN0cmluZ3MpZihhcmUpaChlcXVhbC4pNTEgYihgKXAgRnMoPSlwIEZ0KCcpMzQgYihtYSltKHkpZyhiKXMoZSlmCi0odXNlZClnKGluKWcocGxhY2UpaShvZillKGApcCBGcyg9PSlwIEZ0KCcpaChmb3IpZihzdHJpY3QpaQotRmwocG9zaXgpNjMwIDE4MjAgeSBGdChjb21wbGlhbmNlLikxNTAgMTk4MSB5IEZqKHN0cmluZzEpawotRnMoIT0pMzAgYiBGaihzdHJpbmcyKTYzMCAyMDkxIHkgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcodGhlKWgoc3RyaW5ncykKLWYoYXJlKWgobm90KWYoZXF1YWwuKTE1MCAyMjUyIHkgRmooc3RyaW5nMSkzOSBiIEZzKDwpMzAKLWIgRmooc3RyaW5nMik2MzAgMjM2MiB5IEZ0KFQpLTggYihydWUpMzAgYihpZilnIEZxKHN0cmluZzEpMzgKLWIgRnQoc29ydHMpMzEgYihiKXMoZWZvcmUpZiBGcShzdHJpbmcyKTM4IGIgRnQobGV4aWNvZ3JhcGhpY2FsbHkpMzMKLWIoaW4pZCh0aGUpaChjdXJyZW4pbSh0KWYobG8pcyhjYWxlLikxNTAgMjUyMyB5IEZqKHN0cmluZzEpMzkKLWIgRnMoPikzMCBiIEZqKHN0cmluZzIpNjMwIDI2MzIgeSBGdChUKS04IGIocnVlKTMwIGIoaWYpZwotRnEoc3RyaW5nMSkzOCBiIEZ0KHNvcnRzKTMxIGIoYWZ0ZXIpZyBGcShzdHJpbmcyKTM4IGIKLUZ0KGxleGljb2dyYXBoaWNhbGx5KTMzIGIoaW4pZCh0aGUpZyhjdXJyZW4pbSh0KWgobG8pcyhjYWxlLikxNTAKLTI3OTQgeSBGaihhcmcxKTQwIGIgRnMoT1ApMjkgYiBGaihhcmcyKTYzMCAyOTAzIHkgRnMoT1ApaworYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5IEZpKHN0cmluZzEpMzkgYiBGcyg9PSkzMAorYiBGaShzdHJpbmcyKTE1MCA0MDggeShzdHJpbmcxKTM5IGIgRnMoPSkzMCBiIEZpKHN0cmluZzIpNjMwCis1MTggeSBGdChUKS04IGIocnVlKTM1IGIoaWYpaCh0aGUpZyhzdHJpbmdzKWcoYXJlKWcoZXF1YWwuKTU4CitiKGApcCBGcyg9KXAgRnQoJykzNiBiKHNob3VsZClmKGIpcyhlKWcodXNlZClnKHdpdGgpaCh0aGUpZworRnModGVzdClmIEZ0KGNvbW1hbmQpZyhmb3IpNjMwIDYyOCB5IEZsKHBvc2l4KTMwIGIgRnQoY29uZm9ybWFuY2UuKTE1MAorNzkwIHkgRmkoc3RyaW5nMSkzOSBiIEZzKCE9KTMwIGIgRmkoc3RyaW5nMik2MzAgODk5IHkKK0Z0KFQpLTggYihydWUpMzAgYihpZilnKHRoZSloKHN0cmluZ3MpZihhcmUpaChub3QpZihlcXVhbC4pMTUwCisxMDYxIHkgRmkoc3RyaW5nMSkzOSBiIEZzKDwpMzAgYiBGaShzdHJpbmcyKTYzMCAxMTcxCit5IEZ0KFQpLTggYihydWUpMzAgYihpZilnIEZxKHN0cmluZzEpMzggYiBGdChzb3J0cykzMQorYihiKXMoZWZvcmUpZiBGcShzdHJpbmcyKTM4IGIgRnQobGV4aWNvZ3JhcGhpY2FsbHkpLTgKK2IoLikxNTAgMTMzMyB5IEZpKHN0cmluZzEpMzkgYiBGcyg+KTMwIGIgRmkoc3RyaW5nMik2MzAKKzE0NDIgeSBGdChUKS04IGIocnVlKTMwIGIoaWYpZyBGcShzdHJpbmcxKTM4IGIgRnQoc29ydHMpMzEKK2IoYWZ0ZXIpZyBGcShzdHJpbmcyKTM4IGIgRnQobGV4aWNvZ3JhcGhpY2FsbHkpLTggYiguKTE1MAorMTYwNCB5IEZpKGFyZzEpNDAgYiBGcyhPUCkyOSBiIEZpKGFyZzIpNjMwIDE3MTQgeSBGcyhPUClrCiBGdChpcyloKG9uZSlnKG9mKWgoYClwIEZzKC1lcSlwIEZ0KCcsKWYoYClwIEZzKC1uZSlwCiBGdCgnLCloKGApcCBGcygtbHQpcCBGdCgnLClnKGApcCBGcygtbGUpcCBGdCgnLClmKGApcAogRnMoLWd0KXAgRnQoJywpaChvcilmKGApcCBGcygtZ2UpcCBGdCgnLik1MSBiKFRoZXNlKTM0Ci1iKGFyaXRobWV0aWMpaChiaW5hcnkpNjMwIDMwMTMgeShvcClzKGVyYXRvcnMpaChyZXR1cm4pZSh0cnVlKWkoaWYpZgorYihhcml0aG1ldGljKWgoYmluYXJ5KTYzMCAxODIzIHkob3ApcyhlcmF0b3JzKWgocmV0dXJuKWUodHJ1ZSlpKGlmKWYKIEZxKGFyZzEpNDQgYiBGdChpcykzNiBiKGVxdWFsKWcodG8sKWkobm90KWUoZXF1YWwpZyh0bywpaShsZXNzKWUodGhhbiwpCi1oKGxlc3MpZih0aGFuKWYob3IpNjMwIDMxMjIgeShlcXVhbCkyOSBiKHRvLClnKGdyZWF0ZXIpaCh0aGFuLCllKG9yKWcKLShncmVhdGVyKWkodGhhbilkKG9yKWkoZXF1YWwpZih0byloIEZxKGFyZzIpcCBGdCgsKWgocmVzcClzKGVjdGl2KW0KLShlbHkpLTggYiguKTQyIGIgRnEoQXJnMSkzNiBiIEZ0KGFuZCk2MzAgMzIzMiB5IEZxKGFyZzIpagotRnQobWEpbSh5KTMwIGIoYilzKGUpZyhwKXMob3NpdGl2KW0oZSlpKG9yKWUobmVnYXRpdiltKGUpaihpbiltCi0odGVnZXJzLikxNTAgMzQ5NCB5IEZyKDYuNSk2OCBiKFNoZWxsKTQ1IGIoQXJpdGhtZXRpYykyNzUKLTM3NDAgeSBGdChUaGUpMzQgYihzaGVsbClnKGFsbG8pbSh3cylpKGFyaXRobWV0aWMpZyhleHByZXNzaW9ucylmKHRvKWcKLShiKXMoZSlmKGV2KS01IGIoYWx1YXRlZCwpMzcgYihhcyllKG9uZSlnKG9mKWcodGhlKWYoc2hlbGwpaAotKGV4cGFuc2lvbnMpMTUwIDM4NDkgeShvcikzMCBiKGIpbSh5KWgodGhlKWYgRnMobGV0KWcKLUZ0KGFuZClmKHRoZSlpKGApcCBGcygtaSlwIEZ0KCcpZihvcHRpb24paCh0bylnKHRoZSlnCi1GcyhkZWNsYXJlKWQgRnQoYnVpbHRpbnMuKTI3NSAzOTg1IHkoRXYpLTUgYihhbHVhdGlvbikyNworaChsZXNzKWYodGhhbilmKG9yKTYzMCAxOTMzIHkoZXF1YWwpMjggYih0bywpaChncmVhdGVyKWcodGhhbiwpZihvcilmCisoZ3JlYXRlcilpKHRoYW4pZShvciloKGVxdWFsKWcodG8pZyBGcShhcmcyKTcgYiBGdCgsKTMwCitiKHJlc3ApcyhlY3RpdiltKGVseSktOCBiKC4pNDEgYiBGcShBcmcxKTM2IGIgRnQoYW5kKTYzMAorMjA0MyB5IEZxKGFyZzIpaiBGdChtYSltKHkpMzAgYihiKXMoZSlnKHApcyhvc2l0aXYpbShlKWkob3IpZShuZWdhdGl2KW0KKyhlKWooaW4pbSh0ZWdlcnMuKTE1MCAyMjc5IHkgRnIoNi41KTY4IGIoU2hlbGwpNDUgYihBcml0aG1ldGljKTE1MAorMjQzOCB5IEZ0KFRoZSkzNSBiKHNoZWxsKWcoYWxsbyltKHdzKWkoYXJpdGhtZXRpYylmKGV4cHJlc3Npb25zKWYodG8paAorKGIpcyhlKWYoZXYpLTUgYihhbHVhdGVkLCkzOCBiKGFzKWQob25lKWgob2YpZih0aGUpaChzaGVsbClmCisoZXhwYW5zaW9ucylnKG9yKTE1MCAyNTQ4IHkoYiltKHkpMzAgYih0aGUpaCBGcyhsZXQpZQorRnQoYW5kKWgodGhlKWgoYClwIEZzKC1pKXAgRnQoJylmKG9wdGlvbiloKHRvKWcodGhlKWYKK0ZzKGRlY2xhcmUpZiBGdChidWlsdGlucy4pMjc1IDI2ODUgeShFdiktNSBiKGFsdWF0aW9uKTI3CiBiKGlzKWcoZG9uZSlmKGluKWcoXDAxNHhlZC13aWR0aClnKGluKW0odGVnZXJzKWkod2l0aCllKG5vKWgoYyltKGhlYyltCiAoayloKGZvcillKG8pbSh2KW0oZXJcMDE1byltKHcsKWoodGhvdWdoKWQoZGl2aXNpb24paChiKW0oeSkxNTAKLTQwOTUgeSgwKWcoaXMpZyh0cmFwcClzKGVkKWYoYW5kKWgoXDAxNWFnZ2VkKWcoYXMpaChhbilmKGVycm9yLikzOQorMjc5NSB5KDApZyhpcylnKHRyYXBwKXMoZWQpZihhbmQpaChcMDE1YWdnZWQpZyhhcyloKGFuKWYoZXJyb3IuKTM5CiBiKFRoZSkyNiBiKG9wKXMoZXJhdG9ycyloKGFuZClnKHRoZWlyKWcocHJlY2VkZW5jZSwpaChhc3NvKXMoY2lhdGl2aXQpbQotKHkpLTggYigsKTMyIGIoYW5kKTE1MCA0MjA1IHkodiktNSBiKGFsdWVzKTM1IGIoYXJlKWgodGhlKWYoc2FtZSlnKGFzKWgKKyh5KS04IGIoLCkzMiBiKGFuZCkxNTAgMjkwNCB5KHYpLTUgYihhbHVlcykzNSBiKGFyZSloKHRoZSlmKHNhbWUpZyhhcyloCiAoaW4pZSh0aGUpaChDKWcobGFuZ3VhZ2UuKTU2IGIoVGhlKTM1IGIoZm9sbG8pbSh3aW5nKWgobGlzdClnKG9mKWYob3ApcwotKGVyYXRvcnMpZyhpcylnKGdyb3VwKXMoZWQpZihpbiltKHRvKTE1MCA0MzE0IHkobGV2KW0oZWxzKTI3CisoZXJhdG9ycylnKGlzKWcoZ3JvdXApcyhlZClmKGluKW0odG8pMTUwIDMwMTQgeShsZXYpbShlbHMpMjcKIGIob2YpZihlcXVhbC1wcmVjZWRlbmNlKWkob3ApcyhlcmF0b3JzLikzOSBiKFRoZSkyNSBiKGxldiltKGVscylqKGFyZSllCiAobGlzdGVkKWgoaW4pZShvcmRlciloKG9mKWcoZGVjcmVhc2luZylnKHByZWNlZGVuY2UuKTE1MAotNDQ3NiB5IEZqKGlkKTExIGIgRnMoKyspMjkgYiBGaihpZClwIEZzKC0tKTYzMCA0NTg2IHkKLUZ0KHYpLTUgYihhcmlhYmxlKTMxIGIocClzKG9zdC1pbmNyZW1lbiltKHQpZyhhbmQpZihwKXMob3N0LWRlY3JlbWVuKW0KLSh0KTE1MCA0NzQ3IHkgRnMoKyspcCBGaihpZCk0MCBiIEZzKC0tKXAgRmooaWQpNjMwIDQ4NTcKKzMxNzcgeSBGaShpZCkxMSBiIEZzKCsrKTI5IGIgRmkoaWQpMTEgYiBGcygtLSk2MzAgMzI4NworeSBGdCh2KS01IGIoYXJpYWJsZSkzMSBiKHApcyhvc3QtaW5jcmVtZW4pbSh0KWcoYW5kKWYocClzKG9zdC1kZWNyZW1lbikKK20odCkxNTAgMzQ0OSB5IEZzKCsrKXAgRmkoaWQpNDAgYiBGcygtLSlwIEZpKGlkKTYzMCAzNTU4CiB5IEZ0KHYpLTUgYihhcmlhYmxlKTMxIGIocHJlLWluY3JlbWVuKW0odClnKGFuZClmKHByZS1kZWNyZW1lbiltKHQpMTUwCi01MDE4IHkgRnMoLSlnKCspMzU0IGIgRnQodW5hcnkpMjkgYihtaW4pbSh1cyloKGFuZClnKHBsdXMpMTUwCi01MTc5IHkgRnMoISlnKH4pMzU0IGIgRnQobG9naWNhbCkzMyBiKGFuZClkKGJpdCltKHdpc2UpaChuZWdhdGlvbikxNTAKLTUzNDAgeSBGcygqKikzODQgYiBGdChleHApcyhvbmVuKW0odGlhdGlvbilwIGVvcCBlbmQKKzM3MjAgeSBGcygtKWcoKykzNTQgYiBGdCh1bmFyeSkyOSBiKG1pbiltKHVzKWgoYW5kKWcocGx1cykxNTAKKzM4ODIgeSBGcyghKWcofikzNTQgYiBGdChsb2dpY2FsKTMzIGIoYW5kKWQoYml0KW0od2lzZSloKG5lZ2F0aW9uKTE1MAorNDA0NCB5IEZzKCoqKTM4NCBiIEZ0KGV4cClzKG9uZW4pbSh0aWF0aW9uKTE1MCA0MjA2IHkKK0ZzKCopMzAgYigvKWcoXDA0NSkyNzYgYiBGdChtKW0odWx0aXBsaWNhdGlvbiwpMzMgYihkaXZpc2lvbiwpZAorKHJlbWFpbmRlcikxNTAgNDM2OCB5IEZzKCspZygtKTM1NCBiIEZ0KGFkZGl0aW9uLCkzMQorYihzdWJ0cmFjdGlvbikxNTAgNDUzMCB5IEZzKDw8KWYoPj4pMjU4IGIgRnQobGVmdCkzMQorYihhbmQpZihyaWdoKW0odCloKGJpdCltKHdpc2UpZyhzaGlmdHMpMTUwIDQ2OTIgeSBGcyg8PSlmKD49KWcoPClnKD4pCisxMDIgYiBGdChjb21wYXJpc29uKTE1MCA0ODU0IHkgRnMoPT0pMzAgYighPSkyNTggYiBGdChlcXVhbGl0KW0oeSkzMgorYihhbmQpZShpbmVxdWFsaXQpbSh5KTE1MCA1MDE2IHkgRnMoJik0MzIgYiBGdChiaXQpbSh3aXNlKTMxCitiKEFORCkxNTAgNTE3OCB5IEZzKF4pNDMyIGIgRnQoYml0KW0od2lzZSkzMSBiKGV4Y2x1c2l2KW0oZSloKE9SKTE1MAorNTM0MCB5IEZzKHwpNDMyIGIgRnQoYml0KW0od2lzZSkzMSBiKE9SKXAgZW9wIGVuZAogJSVQYWdlOiA3OSA4NQogVGVYRGljdCBiZWdpbiA3OSA4NCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNjopNDEKLWIoQmFzaCkzMCBiKEYpLTggYihlYXR1cmVzKTI0ODQgYig3OSkxNTAgMjk5IHkgRnMoKikzMAotYigvKWcoXDA0NSkyNzYgYiBGdChtKW0odWx0aXBsaWNhdGlvbiwpMzMgYihkaXZpc2lvbiwpZChyZW1haW5kZXIpMTUwCi00NjQgeSBGcygrKWcoLSkzNTQgYiBGdChhZGRpdGlvbiwpMzEgYihzdWJ0cmFjdGlvbikxNTAKLTYzMCB5IEZzKDw8KWYoPj4pMjU4IGIgRnQobGVmdCkzMSBiKGFuZClmKHJpZ2gpbSh0KWgoYml0KW0od2lzZSlnCi0oc2hpZnRzKTE1MCA3OTUgeSBGcyg8PSlmKD49KWcoPClnKD4pMTAyIGIgRnQoY29tcGFyaXNvbikxNTAKLTk2MSB5IEZzKD09KTMwIGIoIT0pMjU4IGIgRnQoZXF1YWxpdCltKHkpMzIgYihhbmQpZShpbmVxdWFsaXQpbSh5KTE1MAotMTEyNiB5IEZzKCYpNDMyIGIgRnQoYml0KW0od2lzZSkzMSBiKEFORCkxNTAgMTI5MiB5IEZzKF4pNDMyCi1iIEZ0KGJpdCltKHdpc2UpMzEgYihleGNsdXNpdiltKGUpaChPUikxNTAgMTQ1OCB5IEZzKHwpNDMyCi1iIEZ0KGJpdCltKHdpc2UpMzEgYihPUikxNTAgMTYyMyB5IEZzKCYmKTM4NCBiIEZ0KGxvZ2ljYWwpMzMKLWIoQU5EKTE1MCAxNzg5IHkgRnMofHwpMzg0IGIgRnQobG9naWNhbCkzMyBiKE9SKTE1MCAxOTU0Ci15IEZzKGV4cHIpYyg/KWgoZXhwcilmKDopaChleHByKTYzMCAyMDY0IHkgRnQoY29uZGl0aW9uYWwpaShvcClzCi0oZXJhdG9yKTE1MCAyMjI5IHkgRnMoPSllKCo9KWcoLz0pZyhcMDQ1PSlmKCs9KWgoLT0pZyg8PD0pZig+Pj0paCgmPSlnCi0oXj0pZih8PSk2MzAgMjMzOSB5IEZ0KGFzc2lnbm1lbiltKHQpMTUwIDI1MDQgeSBGcyhleHByMSlnKCwpaChleHByMikKLTYzMCAyNjE0IHkgRnQoY29tbWEpMjc1IDI3ODIgeShTaGVsbCkzOCBiKHYpLTUgYihhcmlhYmxlcykzOQotYihhcmUpZyhhbGxvKW0odyltKGVkKWkoYXMpZShvcClzKGVyYW5kczspaShwYXJhbWV0ZXIpZShleHBhbnNpb24pZyhpcykKLWYocClzKGVyZm9ybWVkKWcoYilzKGVmb3JlKWcodGhlKTE1MCAyODkyIHkoZXhwcmVzc2lvbilnKGlzKWcoZXYpLTUKLWIoYWx1YXRlZC4pNjYgYihXaXRoaW4pMzggYihhbiloKGV4cHJlc3Npb24sKWgoc2hlbGwpZSh2KS01Ci1iKGFyaWFibGVzKTM5IGIobWEpbSh5KWcoYWxzbylnKGIpcyhlKWYocmVmZXJlbmNlZClnKGIpbSh5KTE1MAotMzAwMiB5KG5hbWUpMzEgYih3aXRob3V0KWYodXNpbmcpZyh0aGUpaChwYXJhbWV0ZXIpZyhleHBhbnNpb24pZihzeW4pbQotKHRheC4pNDIgYihBKTMxIGIoc2hlbGwpZih2KS01IGIoYXJpYWJsZSkzMiBiKHRoYXQpZihpcylmKG4pbSh1bGwpaChvcikKLWYodW5zZXQpMTUwIDMxMTEgeShldiktNSBiKGFsdWF0ZXMpNDEgYih0bylmKDApZyh3aGVuKWUocmVmZXJlbmNlZCloKGIpCi1tKHkpZyhuYW1lKWgod2l0aG91dClmKHVzaW5nKWcodGhlKWcocGFyYW1ldGVyKWgoZXhwYW5zaW9uKWYoc3luKW0KLSh0YXguKTE1MCAzMjIxIHkoVGhlKWModiktNSBiKGFsdWUpMzcgYihvZilmKGEpaCh2KS01Ci1iKGFyaWFibGUpMzYgYihpcylnKGV2KS01IGIoYWx1YXRlZCkzOCBiKGFzKWUoYW4pZyhhcml0aG1ldGljKWgKLShleHByZXNzaW9uKWYod2hlbilmKGl0KWgoaXMpZyhyZWZlcmVuY2VkLClpKG9yKTE1MCAzMzMwCi15KHdoZW4pMzEgYihhKWkodiktNSBiKGFyaWFibGUpMzMgYih3aGljKW0oaClmKGhhcylnKGIpcyhlZW4pZihnaXYpbQotKGVuKWoodGhlKWUgRnEoaW4pbSh0ZWdlcik0MCBiIEZ0KGF0dHJpYnV0ZSkzMyBiKHVzaW5nKWYoYClwCi1GcyhkZWNsYXJlKWQoLWkpcCBGdCgnKWkoaXMpaShhc3NpZ25lZCkxNTAgMzQ0MCB5KGEpayh2KS01Ci1iKGFsdWUuKTU4IGIoQSkzNiBiKG4pbSh1bGwpZyh2KS01IGIoYWx1ZSkzNyBiKGV2KS01Ci1iKGFsdWF0ZXMpMzggYih0bylmKDAuKTU4IGIoQSkzNiBiKHNoZWxsKWgodiktNSBiKGFyaWFibGUpMzYKLWIobmVlZClnKG5vdCloKGhhKW0odiltKGUpZyhpdHMpZyhpbiltKHRlZ2VyKWcoYXR0cmlidXRlKTE1MAotMzU1MCB5KHR1cm5lZCkyOSBiKG9uKWgodG8paShiKXMoZSlkKHVzZWQpaChpbilnKGFuKWcoZXhwcmVzc2lvbi4pMjc1Ci0zNjkwIHkoQ29uc3RhbiltKHRzKTQxIGIod2l0aClnKGEpaChsZWFkaW5nKWYoMCloKGFyZSlnKGluKW0odGVycHJldGVkKQotZihhcylnKG8pcyhjdGFsKWkobiltKHVtKW0oYilzKGVycy4pNzIgYihBKTQxIGIobGVhZGluZyloKGApcAotRnMoMHgpcCBGdCgnKWYob3IpZyhgKXAgRnMoMFgpcCBGdCgnKTE1MCAzODAwIHkoZGVub3RlcykzMQotYihoZXhhZGVjaW1hbC4pNDMgYihPdGhlcndpc2UsKTMxIGIobiltKHVtKW0oYilzKGVycyllKHRhayltKGUpayh0aGUpZQotKGZvcm0pZihbKXAgRnEoYmFzZSk1IGIgRnMoIylwIEZ0KF0pcCBGcShuKXAgRnQoLCkzMQotYih3aGVyZSlmIEZxKGJhc2UpMzYgYiBGdChpcykzMSBiKGEpZyhkZWNpbWFsKTE1MCAzOTA5Ci15KG4pbSh1bSltKGIpcyhlcikyNiBiKGIpcyhldCltKHcpbShlZW4paSgyKWYoYW5kKWcoNjQpaChyZXByZXNlbiltCi0odGluZylnKHRoZSlmKGFyaXRobWV0aWMpaChiYXNlLCloKGFuZClkIEZxKG4paCBGdChpcylnKGEpaChuKW0odW0pbShiKQotcyhlcillKGluKWgodGhhdCloKGJhc2UuKTE1MCA0MDE5IHkoSWYpMzkgYiBGcShiYXNlKTUKLWIgRnMoIyk0MCBiIEZ0KGlzKWcob21pdHRlZCwpaih0aGVuKWQoYmFzZSlnKDEwKWcoaXMpZyh1c2VkLik2OAotYihUaGUpMzkgYihkaWdpdHMpaShncmVhdGVyKWcodGhhbillKDkpaChhcmUpZyhyZXByZXNlbiltKHRlZClnKGIpbSh5KQotMTUwIDQxMjkgeSh0aGUpMzQgYihsbyltKHcpbShlcmNhc2UpaChsZXR0ZXJzLCloKHRoZSlkKHVwcClzKGVyY2FzZSlnCi0obGV0dGVycywpaShgKXAgRnMoQClwIEZ0KCcsKWcoYW5kKWUoYClwIEZzKF8pcCBGdCgnLCloKGluKWYodGhhdCloCi0ob3JkZXIuKTUwIGIoSWYpMzIgYiBGcShiYXNlKTM5IGIgRnQoaXMpMzQgYihsZXNzKWYodGhhbikxNTAKLTQyMzggeShvcilpKGVxdWFsKWcodG8pZygzNiwpaShsbyltKHcpbShlcmNhc2UpZyhhbmQpZSh1cHApcyhlcmNhc2UpZQorYihCYXNoKTMwIGIoRiktOCBiKGVhdHVyZXMpMjQ4NCBiKDc5KTE1MCAyOTkgeSBGcygmJikzODQKK2IgRnQobG9naWNhbCkzMyBiKEFORCkxNTAgNDQ2IHkgRnMofHwpMzg0IGIgRnQobG9naWNhbCkzMworYihPUikxNTAgNTkyIHkgRnMoZXhwciljKD8paChleHByKWYoOiloKGV4cHIpNjMwIDcwMgoreSBGdChjb25kaXRpb25hbClpKG9wKXMoZXJhdG9yKTE1MCA4NDkgeSBGcyg9KWUoKj0pZygvPSlnKFwwNDU9KWYoKz0paAorKC09KWcoPDw9KWYoPj49KWgoJj0pZyhePSlmKHw9KTYzMCA5NTggeSBGdChhc3NpZ25tZW4pbSh0KTE1MAorMTEwNSB5IEZzKGV4cHIxKWcoLCloKGV4cHIyKTYzMCAxMjE0IHkgRnQoY29tbWEpMjc1IDEzNjEKK3koU2hlbGwpMzggYih2KS01IGIoYXJpYWJsZXMpMzkgYihhcmUpZyhhbGxvKW0odyltKGVkKWkoYXMpZShvcClzCisoZXJhbmRzOylpKHBhcmFtZXRlcillKGV4cGFuc2lvbilnKGlzKWYocClzKGVyZm9ybWVkKWcoYilzKGVmb3JlKWcodGhlKQorMTUwIDE0NzEgeShleHByZXNzaW9uKWcoaXMpZyhldiktNSBiKGFsdWF0ZWQuKTY2IGIoV2l0aGluKTM4CitiKGFuKWgoZXhwcmVzc2lvbiwpaChzaGVsbCllKHYpLTUgYihhcmlhYmxlcykzOSBiKG1hKW0oeSlnKGFsc28pZyhiKXMKKyhlKWYocmVmZXJlbmNlZClnKGIpbSh5KTE1MCAxNTgwIHkobmFtZSkzMSBiKHdpdGhvdXQpZih1c2luZylnKHRoZSloCisocGFyYW1ldGVyKWcoZXhwYW5zaW9uKWYoc3luKW0odGF4Lik0MiBiKEEpMzEgYihzaGVsbClmKHYpLTUKK2IoYXJpYWJsZSkzMiBiKHRoYXQpZihpcylmKG4pbSh1bGwpaChvcilmKHVuc2V0KTE1MCAxNjkwCit5KGV2KS01IGIoYWx1YXRlcyk0MSBiKHRvKWYoMClnKHdoZW4pZShyZWZlcmVuY2VkKWgoYiltKHkpZyhuYW1lKWgKKyh3aXRob3V0KWYodXNpbmcpZyh0aGUpZyhwYXJhbWV0ZXIpaChleHBhbnNpb24pZihzeW4pbSh0YXguKTE1MAorMTgwMCB5KFRoZSljKHYpLTUgYihhbHVlKTM3IGIob2YpZihhKWgodiktNSBiKGFyaWFibGUpMzYKK2IoaXMpZyhldiktNSBiKGFsdWF0ZWQpMzggYihhcyllKGFuKWcoYXJpdGhtZXRpYyloKGV4cHJlc3Npb24pZih3aGVuKWYKKyhpdCloKGlzKWcocmVmZXJlbmNlZCwpaShvcikxNTAgMTkwOSB5KHdoZW4pMzEgYihhKWkodiktNQorYihhcmlhYmxlKTMzIGIod2hpYyltKGgpZihoYXMpZyhiKXMoZWVuKWYoZ2l2KW0oZW4paih0aGUpZQorRnEoaW4pbSh0ZWdlcik0MCBiIEZ0KGF0dHJpYnV0ZSkzMyBiKHVzaW5nKWYoYClwIEZzKGRlY2xhcmUpZCgtaSlwCitGdCgnKWkoaXMpaShhc3NpZ25lZCkxNTAgMjAxOSB5KGEpayh2KS01IGIoYWx1ZS4pNTggYihBKTM2CitiKG4pbSh1bGwpZyh2KS01IGIoYWx1ZSkzNyBiKGV2KS01IGIoYWx1YXRlcykzOCBiKHRvKWYoMC4pNTgKK2IoQSkzNiBiKHNoZWxsKWgodiktNSBiKGFyaWFibGUpMzYgYihuZWVkKWcobm90KWgoaGEpbSh2KW0oZSlnKGl0cylnCisoaW4pbSh0ZWdlcilnKGF0dHJpYnV0ZSkxNTAgMjEyOCB5KHR1cm5lZCkyOSBiKG9uKWgodG8paShiKXMoZSlkKHVzZWQpaAorKGluKWcoYW4pZyhleHByZXNzaW9uLikyNzUgMjI1NiB5KENvbnN0YW4pbSh0cyk0MSBiKHdpdGgpZyhhKWgobGVhZGluZykKK2YoMCloKGFyZSlnKGluKW0odGVycHJldGVkKWYoYXMpZyhvKXMoY3RhbClpKG4pbSh1bSltKGIpcyhlcnMuKTcyCitiKEEpNDEgYihsZWFkaW5nKWgoYClwIEZzKDB4KXAgRnQoJylmKG9yKWcoYClwIEZzKDBYKXAKK0Z0KCcpMTUwIDIzNjYgeShkZW5vdGVzKTMxIGIoaGV4YWRlY2ltYWwuKTQzIGIoT3RoZXJ3aXNlLCkzMQorYihuKW0odW0pbShiKXMoZXJzKWUodGFrKW0oZSlrKHRoZSllKGZvcm0pZihbKXAgRnEoYmFzZSk1CitiIEZzKCMpcCBGdChdKXAgRnEobilwIEZ0KCwpMzEgYih3aGVyZSlmIEZxKGJhc2UpMzYgYgorRnQoaXMpMzEgYihhKWcoZGVjaW1hbCkxNTAgMjQ3NiB5KG4pbSh1bSltKGIpcyhlcikyNgorYihiKXMoZXQpbSh3KW0oZWVuKWkoMilmKGFuZClnKDY0KWgocmVwcmVzZW4pbSh0aW5nKWcodGhlKWYoYXJpdGhtZXRpYykKK2goYmFzZSwpaChhbmQpZCBGcShuKWggRnQoaXMpZyhhKWgobiltKHVtKW0oYilzKGVyKWUoaW4paCh0aGF0KWgoYmFzZS4pCisxNTAgMjU4NSB5KElmKTM5IGIgRnEoYmFzZSk1IGIgRnMoIyk0MCBiIEZ0KGlzKWcob21pdHRlZCwpaih0aGVuKWQKKyhiYXNlKWcoMTApZyhpcylnKHVzZWQuKTY4IGIoVGhlKTM5IGIoZGlnaXRzKWkoZ3JlYXRlcilnKHRoYW4pZSg5KWgKKyhhcmUpZyhyZXByZXNlbiltKHRlZClnKGIpbSh5KTE1MCAyNjk1IHkodGhlKTM0IGIobG8pbSh3KW0oZXJjYXNlKWgKKyhsZXR0ZXJzLCloKHRoZSlkKHVwcClzKGVyY2FzZSlnKGxldHRlcnMsKWkoYClwIEZzKEApcAorRnQoJywpZyhhbmQpZShgKXAgRnMoXylwIEZ0KCcsKWgoaW4pZih0aGF0KWgob3JkZXIuKTUwCitiKElmKTMyIGIgRnEoYmFzZSkzOSBiIEZ0KGlzKTM0IGIobGVzcylmKHRoYW4pMTUwIDI4MDQKK3kob3IpaShlcXVhbClnKHRvKWcoMzYsKWkobG8pbSh3KW0oZXJjYXNlKWcoYW5kKWUodXBwKXMoZXJjYXNlKWUKIChsZXR0ZXJzKWoobWEpbSh5KWcoYilzKGUpZSh1c2VkKWcoaW4pbSh0ZXJjKW0oaGFuZ2VhYmx5KWkodG8pZwotKHJlcHJlc2VuKW0odCkxNTAgNDM0OCB5KG4pbSh1bSltKGIpcyhlcnMpMjkgYihiKXMoZXQpbSh3KW0oZWVuKWkoMTApZwotKGFuZClmKDM1LikyNzUgNDQ4OCB5KE9wKXMoZXJhdG9ycyk0NCBiKGFyZSloKGV2KS01IGIoYWx1YXRlZCk0NgorKHJlcHJlc2VuKW0odCkxNTAgMjkxNCB5KG4pbSh1bSltKGIpcyhlcnMpMjkgYihiKXMoZXQpbSh3KW0oZWVuKWkoMTApZworKGFuZClmKDM1LikyNzUgMzA0MiB5KE9wKXMoZXJhdG9ycyk0NCBiKGFyZSloKGV2KS01IGIoYWx1YXRlZCk0NgogYihpbilmKG9yZGVyKWYob2YpaChwcmVjZWRlbmNlLik4NSBiKFN1Yi1leHByZXNzaW9ucyk0NAotYihpbilnKHBhcmVuKW0odGhlc2VzKWkoYXJlKTE1MCA0NTk4IHkoZXYpLTUgYihhbHVhdGVkKTMyCitiKGluKWcocGFyZW4pbSh0aGVzZXMpaShhcmUpMTUwIDMxNTIgeShldiktNSBiKGFsdWF0ZWQpMzIKIGIoXDAxNHJzdClkKGFuZCloKG1hKW0oeSloKG8pbSh2KW0oZXJyaWRlKWcodGhlKWcocHJlY2VkZW5jZSlnKHJ1bGVzKWYKLShhYilzKG8pbSh2KW0oZS4pMTUwIDQ4NzEgeSBGcig2LjYpNjggYihBbGlhc2VzKTI3NSA1MTIxCi15IEZxKEFsaWFzZXMpMzQgYiBGdChhbGxvKW0odylkKGEpZyhzdHJpbmcpZSh0bylpKGIpcyhlKWUoc3Vic3RpdHV0ZWQpZwotKGZvciloKGEpZyh3KW0ob3JkKWYod2hlbilnKGl0KWgoaXMpZyh1c2VkKWYoYXMpaCh0aGUpZyhcMDE0cnN0KWYodyltCi0ob3JkKWgob2YpZyhhKTE1MCA1MjMwIHkoc2ltcGxlKWkoY29tbWFuZC4pNDUgYihUaGUpMzEKKyhhYilzKG8pbSh2KW0oZS4pMTUwIDMzNzEgeSBGcig2LjYpNjggYihBbGlhc2VzKTE1MCAzNTMxCit5IEZxKEFsaWFzZXMpNDEgYiBGdChhbGxvKW0odylkKGEpZihzdHJpbmcpZih0byloKGIpcyhlKWYoc3Vic3RpdHV0ZWQpZworKGZvcilnKGEpZyh3KW0ob3JkKWcod2hlbilnKGl0KWgoaXMpZih1c2VkKWYoYXMpaSh0aGUpZyhcMDE0cnN0KWUodyltCisob3JkKWgob2YpaChhKTE1MCAzNjQwIHkoc2ltcGxlKTMyIGIoY29tbWFuZC4pNDUgYihUaGUpMzEKIGIoc2hlbGwpaShtYWluKW0odGFpbnMpZihhKWgobGlzdClmKG9mKWcoYWxpYXNlcylpKHRoYXQpZShtYSltKHkpaChiKXMKLShlKWUoc2V0KWgoYW5kKWcodW5zZXQpZih3aXRoKWgodGhlKTE1MCA1MzQwIHkgRnMoYWxpYXMpZAotRnQoYW5kKWggRnModW5hbGlhcyllIEZ0KGJ1aWx0aW4paShjb21tYW5kcy4pcCBlb3AgZW5kCi0lJVBhZ2U6IDgwIDg2Ci1UZVhEaWN0IGJlZ2luIDgwIDg1IGJvcCAxNTAgLTExNiBhIEZ0KDgwKTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkyNzUgMjk5IHkoVGhlKWUoXDAxNHJzdClmKHcpbShvcmQpaShvZilmKGVhYyltCi0oaClpKHNpbXBsZSlmKGNvbW1hbmQsKWcoaWYpZih1bnF1b3RlZCwpZyhpcyloKGMpbShoZWMpbShrKW0oZWQpaCh0bylnCi0oc2VlKWYoaWYpZyhpdClnKGhhcylmKGFuKWcoYWxpYXMuKTE1MCA0MDggeShJZikyNCBiKHNvLClpKHRoYXQpZyh3KW0KLShvcmQpZShpcyloKHJlcGxhY2VkKWcoYiltKHkpZih0aGUpaCh0ZXh0KWgob2YpZSh0aGUpaChhbGlhcy4pNDAKLWIoVGhlKTI0IGIoYyltKGhhcmFjdGVycylpKGApcCBGcygvKXAgRnQoJywpaChgKXAgRnMoJClwCi1GdCgnLClmKGApcCBGcyhgKXAgRnQoJywpZyhgKXAgRnMoPSlwIEZ0KCcpZihhbmQpZihhbiltKHkpaChvZikxNTAKLTUxOCB5KHRoZSllKHNoZWxsKWcobWV0YWMpbShoYXJhY3RlcnMpaShvcillKHF1b3RpbmcpZyhjKW0oaGFyYWN0ZXJzKWgKLShsaXN0ZWQpZyhhYilzKG8pbSh2KW0oZSlnKG1hKW0oeSlmKG5vdClnKGFwcClzKGVhcilmKGluKWgoYW4pZyhhbGlhcyloCi0obmFtZS4pMTUwIDYyOCB5KFRoZSllKHJlcGxhY2VtZW4pbSh0KWgodGV4dClnKG1hKW0oeSlnKGNvbiltKHRhaW4paAotKGFuKW0oeSllKHYpLTUgYihhbGlkKTIzIGIoc2hlbGwpZihpbnB1dCwpaChpbmNsdWRpbmcpZihzaGVsbClnKG1ldGFjKW0KLShoYXJhY3RlcnMuKTQwIGIoVGhlKTE1MCA3MzcgeShcMDE0cnN0KTM1IGIodyltKG9yZClnKG9mKWgodGhlKWcKLShyZXBsYWNlbWVuKW0odClpKHRleHQpZShpcylnKHRlc3RlZCloKGZvcillKGFsaWFzZXMsKWsoYnV0KWMoYSloKHcpbQotKG9yZClnKHRoYXQpZyhpcylnKGlkZW4pbSh0aWNhbClpKHRvKWUoYW4pMTUwIDg0NyB5KGFsaWFzKWMoYilzKGVpbmcpZgotKGV4cGFuZGVkKWYoaXMpaChub3QpZyhleHBhbmRlZClmKGEpaChzZWNvbmQpZyh0aW1lLik0MwotYihUaGlzKTMwIGIobWVhbnMpaCh0aGF0KWcob25lKWcobWEpbSh5KWgoYWxpYXMpZyBGcyhscyllCi1GdCh0bykxNTAgOTU2IHkgRnMoImxzKWYoLUYiKXAgRnQoLCkzNiBiKGZvcilmKGluc3RhbmNlLClpKGFuZClkKEJhc2gpaAotKGRvKXMoZXMpZyhub3QpZyh0cnkpZyh0bylnKHJlY3Vyc2l2KW0oZWx5KWgoZXhwYW5kKWUodGhlKWgocmVwbGFjZW1lbikKLW0odClpKHRleHQuKTE1MCAxMDY2IHkoSWYpMzEgYih0aGUpaChsYXN0KWgoYyltKGhhcmFjdGVyKWcob2YpZih0aGUpZwotKGFsaWFzKWgodiktNSBiKGFsdWUpMzIgYihpcylnKGEpZyhzcGFjZSlnKG9yKWcodGFiKWcoYyltKGhhcmFjdGVyLClpCi0odGhlbilkKHRoZSloKG5leHQpZyhjb21tYW5kKTE1MCAxMTc2IHkodyltKG9yZCllKGZvbGxvKW0od2luZylpKHRoZSllCi0oYWxpYXMpaShpcyllKGFsc28paShjKW0oaGVjKW0oayltKGVkKWcoZm9yKWUoYWxpYXMpaShleHBhbnNpb24uKTI3NQotMTMxOSB5KEFsaWFzZXMpZChhcmUpZihjcmVhdGVkKWkoYW5kKWQobGlzdGVkKWkod2l0aClmKHRoZSlnCisoZSllKHNldCloKGFuZClnKHVuc2V0KWYod2l0aCloKHRoZSkxNTAgMzc1MCB5IEZzKGFsaWFzKWQKK0Z0KGFuZCloIEZzKHVuYWxpYXMpZSBGdChidWlsdGluKWkoY29tbWFuZHMuKTI3NSAzODc4Cit5KFRoZSlmKFwwMTRyc3QpZih3KW0ob3JkKWkob2YpZihlYWMpbShoKWkoc2ltcGxlKWYoY29tbWFuZCwpZyhpZilmCisodW5xdW90ZWQsKWcoaXMpaChjKW0oaGVjKW0oayltKGVkKWgodG8pZyhzZWUpZihpZilnKGl0KWcoaGFzKWYoYW4pZworKGFsaWFzLikxNTAgMzk4OCB5KElmKTI0IGIoc28sKWkodGhhdClnKHcpbShvcmQpZShpcyloKHJlcGxhY2VkKWcoYiltCisoeSlmKHRoZSloKHRleHQpaChvZillKHRoZSloKGFsaWFzLik0MCBiKFRoZSkyNCBiKGMpbShoYXJhY3RlcnMpaShgKXAKK0ZzKC8pcCBGdCgnLCloKGApcCBGcygkKXAgRnQoJywpZihgKXAgRnMoYClwIEZ0KCcsKWcoYClwCitGcyg9KXAgRnQoJylmKGFuZClmKGFuKW0oeSloKG9mKTE1MCA0MDk3IHkodGhlKWUoc2hlbGwpZyhtZXRhYyltCisoaGFyYWN0ZXJzKWkob3IpZShxdW90aW5nKWcoYyltKGhhcmFjdGVycyloKGxpc3RlZClnKGFiKXMobyltKHYpbShlKWcKKyhtYSltKHkpZihub3QpZyhhcHApcyhlYXIpZihpbiloKGFuKWcoYWxpYXMpaChuYW1lLikxNTAKKzQyMDcgeShUaGUpZShyZXBsYWNlbWVuKW0odCloKHRleHQpZyhtYSltKHkpZyhjb24pbSh0YWluKWgoYW4pbSh5KWUodikKKy01IGIoYWxpZCkyMyBiKHNoZWxsKWYoaW5wdXQsKWgoaW5jbHVkaW5nKWYoc2hlbGwpZyhtZXRhYyltKGhhcmFjdGVycy4pCis0MCBiKFRoZSkxNTAgNDMxNyB5KFwwMTRyc3QpMzUgYih3KW0ob3JkKWcob2YpaCh0aGUpZyhyZXBsYWNlbWVuKW0odClpCisodGV4dCllKGlzKWcodGVzdGVkKWgoZm9yKWUoYWxpYXNlcywpayhidXQpYyhhKWgodyltKG9yZClnKHRoYXQpZyhpcylnCisoaWRlbiltKHRpY2FsKWkodG8pZShhbikxNTAgNDQyNiB5KGFsaWFzKWMoYilzKGVpbmcpZihleHBhbmRlZClmKGlzKWgKKyhub3QpZyhleHBhbmRlZClmKGEpaChzZWNvbmQpZyh0aW1lLik0MyBiKFRoaXMpMzAgYihtZWFucyloKHRoYXQpZyhvbmUpCitnKG1hKW0oeSloKGFsaWFzKWcgRnMobHMpZSBGdCh0bykxNTAgNDUzNiB5IEZzKCJscylmKC1GIilwCitGdCgsKTM2IGIoZm9yKWYoaW5zdGFuY2UsKWkoYW5kKWQoQmFzaCloKGRvKXMoZXMpZyhub3QpZyh0cnkpZyh0bylnCisocmVjdXJzaXYpbShlbHkpaChleHBhbmQpZSh0aGUpaChyZXBsYWNlbWVuKW0odClpKHRleHQuKTE1MAorNDY0NSB5KElmKTMxIGIodGhlKWgobGFzdCloKGMpbShoYXJhY3RlcilnKG9mKWYodGhlKWcoYWxpYXMpaCh2KS01CitiKGFsdWUpMzIgYihpcylnKGEpZyhzcGFjZSlnKG9yKWcodGFiKWcoYyltKGhhcmFjdGVyLClpKHRoZW4pZCh0aGUpaAorKG5leHQpZyhjb21tYW5kKTE1MCA0NzU1IHkodyltKG9yZCllKGZvbGxvKW0od2luZylpKHRoZSllKGFsaWFzKWkoaXMpZQorKGFsc28paShjKW0oaGVjKW0oayltKGVkKWcoZm9yKWUoYWxpYXMpaShleHBhbnNpb24uKTI3NQorNDg4MyB5KEFsaWFzZXMpZChhcmUpZihjcmVhdGVkKWkoYW5kKWQobGlzdGVkKWkod2l0aClmKHRoZSlnCiBGcyhhbGlhcylmIEZ0KGNvbW1hbmQsKWgoYW5kKWcocmVtbyltKHYpbShlZCloKHdpdGgpZih0aGUpZwotRnModW5hbGlhcykxNTAgMTQyOSB5IEZ0KGNvbW1hbmQuKTI3NSAxNTczIHkoVGhlcmUpNDQKK0ZzKHVuYWxpYXMpMTUwIDQ5OTMgeSBGdChjb21tYW5kLikyNzUgNTEyMSB5KFRoZXJlKTQ0CiBiKGlzKWgobm8pZyhtZWMpbShoYW5pc20pZyhmb3IpZih1c2luZyloKGFyZ3VtZW4pbSh0cylnKGluKWYodGhlKWgKIChyZXBsYWNlbWVuKW0odClpKHRleHQsKWkoYXMpZChpbillIEZzKGNzaClwIEZ0KC4pODMKLWIoSWYpMTUwIDE2ODIgeShhcmd1bWVuKW0odHMpMzcgYihhcmUpaChuZWVkZWQsKWcoYSlnKHNoZWxsKWYoZnVuY3Rpb24pCitiKElmKTE1MCA1MjMwIHkoYXJndW1lbiltKHRzKTM3IGIoYXJlKWgobmVlZGVkLClnKGEpZyhzaGVsbClmKGZ1bmN0aW9uKQogZihzaG91bGQpZyhiKXMoZSloKHVzZWQpZihcKHNlZSlpKFNlY3Rpb24pZygzLjMpZyhbU2hlbGwpZihGKS04Ci1iKHVuY3Rpb25zXSwpMTUwIDE3OTIgeShwYWdlKTMxIGIoMTRcKS4pMjc1IDE5MzYgeShBbGlhc2VzKWkoYXJlKWgobm90KQotZShleHBhbmRlZClnKHdoZW4pZyh0aGUpaChzaGVsbClnKGlzKWcobm90KWcoaW4pbSh0ZXJhY3RpdiltKGUsKWoKLSh1bmxlc3MpYyh0aGUpaCBGcyhleHBhbmRfYWxpYXNlcykxNTAgMjA0NSB5IEZ0KHNoZWxsKWUob3B0aW9uKWYoaXMpaAotKHNldClnKHVzaW5nKWYgRnMoc2hvcHQpZiBGdChcKHNlZSlpKFNlY3Rpb24pZyg0LjMuMiloKFtUaGUpZShTaG9wdClnCi0oQnVpbHRpbl0sKWgocGFnZSlnKDU0XCkuKTI3NSAyMTg5IHkoVGhlKTM4IGIocnVsZXMpaChjb25jZXJuaW5nKWgodGhlKQotZihkZVwwMTRuaXRpb24pZyhhbmQpZyh1c2UpZyhvZilnKGFsaWFzZXMpaShhcmUpZShzb21ld2hhdCloCi0oY29uZnVzaW5nLik2NyBiKEJhc2gpMTUwIDIyOTkgeShhbHcpbShhKW0oeXMpNDIgYihyZWFkcylmKGF0KWgobGVhc3QpZwotKG9uZSlmKGNvbXBsZXRlKWkobGluZSllKG9mKWcoaW5wdXQpZihiKXMoZWZvcmUpaChleGVjdXRpbmcpaChhbiltKHkpZgotKG9mKWcodGhlKWcoY29tbWFuZHMpMTUwIDI0MDggeShvbiloKHRoYXQpaChsaW5lLik3NwotYihBbGlhc2VzKTQ0IGIoYXJlKWUoZXhwYW5kZWQpZyh3aGVuKWYoYSlpKGNvbW1hbmQpZihpcylnKHJlYWQsKWsobm90KWMKLSh3aGVuKWcoaXQpZyhpcyloKGV4ZWN1dGVkLikxNTAgMjUxOCB5KFRoZXJlZm9yZSwpZihhbillKGFsaWFzKWgKLShkZVwwMTRuaXRpb24pZShhcHApcyhlYXJpbmcpaChvbilmKHRoZSloKHNhbWUpaChsaW5lKWYoYXMpZyhhbm90aGVyKWcKLShjb21tYW5kKWYoZG8pcyhlcyloKG5vdCkxNTAgMjYyOCB5KHRhayltKGUpMzEgYihlXDAxM2VjdClmKHVuKW0odGlsKWcKLSh0aGUpZihuZXh0KWcobGluZSloKG9mKWYoaW5wdXQpZihpcyloKHJlYWQuKTQxIGIoVGhlKTI4Ci1iKGNvbW1hbmRzKWgoZm9sbG8pbSh3aW5nKWkodGhlKWUoYWxpYXMpaChkZVwwMTRuaXRpb24pMTUwCi0yNzM3IHkob24pZCh0aGF0KWgobGluZSlmKGFyZSloKG5vdClmKGFcMDEzZWN0ZWQpaShiKW0oeSllKHRoZSlnKG5ldylnCi0oYWxpYXMuKTQxIGIoVGhpcykyNiBiKGIpcyhlaGEpbSh2aW9yKWgoaXMpZyhhbHNvKWgoYW4pZihpc3N1ZSlnKHdoZW4pZgotKGZ1bmN0aW9ucykxNTAgMjg0NyB5KGFyZSlkKGV4ZWN1dGVkLikzOSBiKEFsaWFzZXMpMjQKLWIoYXJlKWYoZXhwYW5kZWQpZih3aGVuKWYoYSlpKGZ1bmN0aW9uKWcoZGVcMDE0bml0aW9uKWYoaXMpaChyZWFkLCloCi0obm90KWYod2hlbillKHRoZSlpKGZ1bmN0aW9uKTE1MCAyOTU2IHkoaXMpaShleGVjdXRlZCwpaihiKXMoZWNhdXNlKWQKLShhKWgoZnVuY3Rpb24pZihkZVwwMTRuaXRpb24pZihpcylpKGl0c2VsZilnKGEpZihjb21wKXMob3VuZClmCi0oY29tbWFuZC4pMzkgYihBcykyNSBiKGEpaChjb25zZXF1ZW5jZSwpMTUwIDMwNjYgeShhbGlhc2VzKTM2Ci1iKGRlXDAxNG5lZClkKGluKWgoYSlnKGZ1bmN0aW9uKWcoYXJlKWgobm90KWYoYSltKHYpLTUKLWIoYWlsYWJsZSkzNyBiKHVuKW0odGlsKWQoYWZ0ZXIpaCh0aGF0KWcoZnVuY3Rpb24pZihpcylnKGV4ZWN1dGVkLik1MwotYihUKS04IGIobykzNSBiKGIpcyhlKTE1MCAzMTc2IHkoc2FmZSwpNDEgYihhbHcpbShhKW0oeXMpZihwdXQpZChhbGlhcykKLWooZGVcMDE0bml0aW9ucyllKG9uKWcoYSloKHNlcGFyYXRlKWcobGluZSwpaShhbmQpZChkbylnKG5vdClnKHVzZSlnCi1GcyhhbGlhcylmIEZ0KGluKWgoY29tcClzKG91bmQpMTUwIDMyODUgeShjb21tYW5kcy4pMjc1Ci0zNDI5IHkoRiktOCBiKG9yKTMxIGIoYWxtb3N0KWcoZXYpbShlcnkpZyhwdXJwKXMob3NlLCllKHNoZWxsKWkKK2IodW5jdGlvbnNdLCkxNTAgNTM0MCB5KHBhZ2UpMzEgYigxNFwpLilwIGVvcCBlbmQKKyUlUGFnZTogODAgODYKK1RlWERpY3QgYmVnaW4gODAgODUgYm9wIDE1MCAtMTE2IGEgRnQoODApMjU3MiBiKEJhc2gpMzEKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTI3NSAyOTkgeShBbGlhc2VzKWkoYXJlKWgobm90KWUoZXhwYW5kZWQpZworKHdoZW4pZyh0aGUpaChzaGVsbClnKGlzKWcobm90KWcoaW4pbSh0ZXJhY3RpdiltKGUsKWoodW5sZXNzKWModGhlKWgKK0ZzKGV4cGFuZF9hbGlhc2VzKTE1MCA0MDggeSBGdChzaGVsbCllKG9wdGlvbilmKGlzKWgoc2V0KWcodXNpbmcpZgorRnMoc2hvcHQpZiBGdChcKHNlZSlpKFNlY3Rpb24pZyg0LjMuMiloKFtUaGUpZShTaG9wdClnKEJ1aWx0aW5dLCloCisocGFnZSlnKDU1XCkuKTI3NSA1NDAgeShUaGUpMzggYihydWxlcyloKGNvbmNlcm5pbmcpaCh0aGUpZgorKGRlXDAxNG5pdGlvbilnKGFuZClnKHVzZSlnKG9mKWcoYWxpYXNlcylpKGFyZSllKHNvbWV3aGF0KWgoY29uZnVzaW5nLikKKzY3IGIoQmFzaCkxNTAgNjUwIHkoYWx3KW0oYSltKHlzKTQyIGIocmVhZHMpZihhdCloKGxlYXN0KWcob25lKWYKKyhjb21wbGV0ZSlpKGxpbmUpZShvZilnKGlucHV0KWYoYilzKGVmb3JlKWgoZXhlY3V0aW5nKWgoYW4pbSh5KWYob2YpZworKHRoZSlnKGNvbW1hbmRzKTE1MCA3NjAgeShvbiloKHRoYXQpaChsaW5lLik3NyBiKEFsaWFzZXMpNDQKK2IoYXJlKWUoZXhwYW5kZWQpZyh3aGVuKWYoYSlpKGNvbW1hbmQpZihpcylnKHJlYWQsKWsobm90KWMod2hlbilnKGl0KWcKKyhpcyloKGV4ZWN1dGVkLikxNTAgODY5IHkoVGhlcmVmb3JlLClmKGFuKWUoYWxpYXMpaChkZVwwMTRuaXRpb24pZShhcHApCitzKGVhcmluZyloKG9uKWYodGhlKWgoc2FtZSloKGxpbmUpZihhcylnKGFub3RoZXIpZyhjb21tYW5kKWYoZG8pcyhlcyloCisobm90KTE1MCA5NzkgeSh0YWspbShlKTMxIGIoZVwwMTNlY3QpZih1biltKHRpbClnKHRoZSlmKG5leHQpZyhsaW5lKWgKKyhvZilmKGlucHV0KWYoaXMpaChyZWFkLik0MSBiKFRoZSkyOCBiKGNvbW1hbmRzKWgoZm9sbG8pbSh3aW5nKWkodGhlKWUKKyhhbGlhcyloKGRlXDAxNG5pdGlvbikxNTAgMTA4OCB5KG9uKWQodGhhdCloKGxpbmUpZihhcmUpaChub3QpZgorKGFcMDEzZWN0ZWQpaShiKW0oeSllKHRoZSlnKG5ldylnKGFsaWFzLik0MSBiKFRoaXMpMjYKK2IoYilzKGVoYSltKHZpb3IpaChpcylnKGFsc28paChhbilmKGlzc3VlKWcod2hlbilmKGZ1bmN0aW9ucykxNTAKKzExOTggeShhcmUpZChleGVjdXRlZC4pMzkgYihBbGlhc2VzKTI0IGIoYXJlKWYoZXhwYW5kZWQpZih3aGVuKWYoYSlpCisoZnVuY3Rpb24pZyhkZVwwMTRuaXRpb24pZihpcyloKHJlYWQsKWgobm90KWYod2hlbillKHRoZSlpKGZ1bmN0aW9uKTE1MAorMTMwOCB5KGlzKWkoZXhlY3V0ZWQsKWooYilzKGVjYXVzZSlkKGEpaChmdW5jdGlvbilmKGRlXDAxNG5pdGlvbilmKGlzKWkKKyhpdHNlbGYpZyhhKWYoY29tcClzKG91bmQpZihjb21tYW5kLikzOSBiKEFzKTI1IGIoYSloKGNvbnNlcXVlbmNlLCkxNTAKKzE0MTcgeShhbGlhc2VzKTM2IGIoZGVcMDE0bmVkKWQoaW4paChhKWcoZnVuY3Rpb24pZyhhcmUpaChub3QpZihhKW0odikKKy01IGIoYWlsYWJsZSkzNyBiKHVuKW0odGlsKWQoYWZ0ZXIpaCh0aGF0KWcoZnVuY3Rpb24pZihpcylnKGV4ZWN1dGVkLikKKzUzIGIoVCktOCBiKG8pMzUgYihiKXMoZSkxNTAgMTUyNyB5KHNhZmUsKTQxIGIoYWx3KW0oYSltKHlzKWYocHV0KWQKKyhhbGlhcylqKGRlXDAxNG5pdGlvbnMpZShvbilnKGEpaChzZXBhcmF0ZSlnKGxpbmUsKWkoYW5kKWQoZG8pZyhub3QpZworKHVzZSlnIEZzKGFsaWFzKWYgRnQoaW4paChjb21wKXMob3VuZCkxNTAgMTYzNiB5KGNvbW1hbmRzLikyNzUKKzE3NjggeShGKS04IGIob3IpMzEgYihhbG1vc3QpZyhldiltKGVyeSlnKHB1cnApcyhvc2UsKWUoc2hlbGwpaQogKGZ1bmN0aW9ucylmKGFyZSlnKHByZWZlcnJlZClnKG8pbSh2KW0oZXIpaChhbGlhc2VzLikxNTAKLTM3MTAgeSBGcig2LjcpNjggYihBcnJhKWwoeXMpMjc1IDM5NjMgeSBGdChCYXNoKTM5IGIocHJvKW0odmlkZXMpaAotKG9uZS1kaW1lbnNpb25hbClnKGluZGV4ZWQpZihhbmQpZyhhc3NvKXMoY2lhdGl2KW0oZSlqKGFycmEpbSh5KWYodiktNQotYihhcmlhYmxlcy4pNjggYihBbiltKHkpNDAgYih2KS01IGIoYXJpYWJsZSkxNTAgNDA3MwoteShtYSltKHkpNDQgYihiKXMoZSlnKHVzZWQpZihhcyloKGFuKWcoaW5kZXhlZClmKGFycmEpbSh5Oyk1MQotYih0aGUpNDQgYiBGcyhkZWNsYXJlKWUgRnQoYnVpbHRpbilpKHdpbGwpZyhleHBsaWNpdGx5KWgoZGVjbGFyZSlnKGFuKWYKLShhcnJhKW0oeSktOCBiKC4pMTUwIDQxODIgeShUaGVyZSkzMSBiKGlzKWgobm8pZyhtYXhpbSltKHVtKWcobGltaXQpZwotKG9uKWcodGhlKWcoc2l6ZSloKG9mKWYoYW4pZihhcnJhKW0oeSktOCBiKCwpMzQgYihub3IpZChhbiltKHkpaAotKHJlcXVpcmVtZW4pbSh0KWcodGhhdCloKG1lbSltKGIpcyhlcnMpZShiKXMoZSkxNTAgNDI5MgoteShpbmRleGVkKWsob3IpaChhc3NpZ25lZClnKGNvbiltKHRpZ3VvdXNseSktOCBiKC4pNTkKLWIoSW5kZXhlZCkzNSBiKGFycmEpbSh5cyloKGFyZSlnKHJlZmVyZW5jZWQpZyh1c2luZylmKGluKW0odGVnZXJzKWkKLShcKGluY2x1ZGluZykxNTAgNDQwMiB5KGFyaXRobWV0aWMpNDQgYihleHByZXNzaW9ucylmKFwoc2VlKWgoU2VjdGlvbilnCi0oNi41KWcoW1NoZWxsKWYoQXJpdGhtZXRpY10sKWsocGFnZSlkKDc4XCkpZyhhbmQpZShhcmUpaSh6ZXJvLWJhc2VkOykKLTE1MCA0NTExIHkoYXNzbylzKGNpYXRpdiltKGUpMzMgYihhcnJhKW0oeXMpZSh1c2UpZihhcmJpdHJhcnkpZwotKHN0cmluZ3MuKTI3NSA0NjU1IHkoQW4pYyhpbmRleGVkKWgoYXJyYSltKHkpaChpcylmKGNyZWF0ZWQpaAorMTk5NiB5IEZyKDYuNyk2OCBiKEFycmEpbCh5cykxNTAgMjE1NSB5IEZ0KEJhc2gpMzMgYihwcm8pbSh2aWRlcylnCisob25lLWRpbWVuc2lvbmFsKWcoaW5kZXhlZClmKGFuZCloKGFzc28pcyhjaWF0aXYpbShlKWkoYXJyYSltKHkpZSh2KS01CitiKGFyaWFibGVzLik0OSBiKEFuKW0oeSkzMyBiKHYpLTUgYihhcmlhYmxlKTMzIGIobWEpbSh5KTE1MAorMjI2NSB5KGIpcyhlKWUodXNlZCloKGFzKWcoYW4pZyhpbmRleGVkKWYoYXJyYSltKHk7KWoodGhlKWUKK0ZzKGRlY2xhcmUpZSBGdChidWlsdGluKWgod2lsbClpKGV4cGxpY2l0bHkpZyhkZWNsYXJlKWcoYW4pZihhcnJhKW0oeSkKKy04IGIoLik0NiBiKFRoZXJlKTMyIGIoaXMpMTUwIDIzNzQgeShubyloKG1heGltKW0odW0pZyhsaW1pdCloKG9uKWYKKyh0aGUpZyhzaXplKWgob2YpZyhhbilmKGFycmEpbSh5KS04IGIoLCkzNSBiKG5vcilkKGFuKW0oeSlpKHJlcXVpcmVtZW4pCittKHQpZih0aGF0KWgobWVtKW0oYilzKGVycyllKGIpcyhlKWcoaW5kZXhlZCkxNTAgMjQ4NAoreShvcikyNiBiKGFzc2lnbmVkKWgoY29uKW0odGlndW91c2x5KS04IGIoLik0MSBiKEluZGV4ZWQpMjUKK2IoYXJyYSltKHlzKWkoYXJlKWYocmVmZXJlbmNlZClnKHVzaW5nKWcoaW4pbSh0ZWdlcnMpaShcKGluY2x1ZGluZyllCisoYXJpdGhtZXRpYykxNTAgMjU5MyB5KGV4cHJlc3Npb25zKTQxIGIoXChzZWUpaChTZWN0aW9uKWcoNi41KWgoW1NoZWxsKQorZShBcml0aG1ldGljXSwpNDYgYihwYWdlKWMoNzhcKSlnKGFuZClmKGFyZSlnKHplcm8tYmFzZWQ7KTQ4CitiKGFzc28pcyhjaWF0aXYpbShlKTE1MCAyNzAzIHkoYXJyYSltKHlzKTMxIGIodXNlKWYoYXJiaXRyYXJ5KWcKKyhzdHJpbmdzLikyNzUgMjgzNSB5KEFuKWMoaW5kZXhlZCloKGFycmEpbSh5KWgoaXMpZihjcmVhdGVkKWgKIChhdXRvbWF0aWNhbGx5KWooaWYpYyhhbiltKHkpZyh2KS01IGIoYXJpYWJsZSkyOCBiKGlzKWcoYXNzaWduZWQpZih0byloCi0odXNpbmcpZih0aGUpZyhzeW4pbSh0YXgpMzkwIDQ3OTkgeSBGcyhuYW1lWylwIEZqKHN1YnNjcmlwdCkxMQotYiBGcyhdPSlwIEZqKHZhbHVlKTE1MCA0OTQzIHkgRnQoVGhlKTI1IGIgRnEoc3Vic2NyaXB0KWcKKyh1c2luZylmKHRoZSlnKHN5biltKHRheCkzOTAgMjk2NyB5IEZzKG5hbWVbKXAgRmkoc3Vic2NyaXB0KTExCitiIEZzKF09KXAgRmkodmFsdWUpMTUwIDMwOTkgeSBGdChUaGUpMjUgYiBGcShzdWJzY3JpcHQpZwogRnQoaXMpaCh0cmVhdGVkKWcoYXMpZihhbilnKGFyaXRobWV0aWMpaChleHByZXNzaW9uKWYodGhhdCloKG0pbSh1c3QpZgogKGV2KS01IGIoYWx1YXRlKTI3IGIodG8pZShhKWgobiltKHVtKW0oYilzKGVyKWUoZ3JlYXRlcikxNTAKLTUwNTIgeSh0aGFuKTMwIGIob3IpZyhlcXVhbCloKHRvKWcoemVyby4pNDIgYihUKS04IGIobykzMQorMzIwOCB5KHRoYW4pMzAgYihvcilnKGVxdWFsKWgodG8pZyh6ZXJvLik0MiBiKFQpLTggYihvKTMxCiBiKGV4cGxpY2l0bHkpaChkZWNsYXJlKWYoYW4pZihhcnJhKW0oeSktOCBiKCwpMzIgYih1c2UpMzkwCi01MTk2IHkgRnMoZGVjbGFyZSk0NiBiKC1hKWggRmoobmFtZSkxNTAgNTM0MCB5IEZ0KFRoZSkzMAotYihzeW4pbSh0YXgpcCBlb3AgZW5kCiszMzQwIHkgRnMoZGVjbGFyZSk0NiBiKC1hKWggRmkobmFtZSkxNTAgMzQ3MiB5IEZ0KFRoZSkzMAorYihzeW4pbSh0YXgpMzkwIDM2MDQgeSBGcyhkZWNsYXJlKTQ2IGIoLWEpaCBGaShuYW1lKTExCitiIEZzKFspcCBGaShzdWJzY3JpcHQpZyBGcyhdKTE1MCAzNzM2IHkgRnQoaXMpMzAgYihhbHNvKWkoYWNjZXB0ZWQ7KWcKKyh0aGUpZSBGcShzdWJzY3JpcHQpaCBGdChpcylnKGlnbm9yZWQuKTI3NSAzODY4IHkoQXNzbylzKGNpYXRpdiltKGUpaAorKGFycmEpbSh5cylmKGFyZSlnKGNyZWF0ZWQpZyh1c2luZykzOTAgNDAwMCB5IEZzKGRlY2xhcmUpNDYKK2IoLUEpaCBGaShuYW1lKTExIGIgRnMoLikyNzUgNDEzMiB5IEZ0KEEpbSh0dHJpYnV0ZXMpNDYKK2IobWEpbSh5KWgoYilzKGUpZShzcClzKGVjaVwwMTRlZClnKGZvciloKGFuKWcoYXJyYSltKHkpZyh2KS01CitiKGFyaWFibGUpNDcgYih1c2luZyllKHRoZSloIEZzKGRlY2xhcmUpZSBGdChhbmQpaCBGcyhyZWFkb25seSkxNTAKKzQyNDIgeSBGdChidWlsdGlucy4pNDAgYihFYWMpbShoKTMxIGIoYXR0cmlidXRlKWcoYXBwbGllcylnKHRvKWcoYWxsKWcKKyhtZW0pbShiKXMoZXJzKWYob2YpZyhhbiloKGFycmEpbSh5KS04IGIoLikyNzUgNDM3NCB5KEFycmEpbSh5cykzMAorYihhcmUpaChhc3NpZ25lZClmKHRvKWgodXNpbmcpZihjb21wKXMob3VuZClmKGFzc2lnbm1lbiltKHRzKWkob2YpZworKHRoZSlmKGZvcm0pMzkwIDQ1MDYgeSBGcyhuYW1lPVwodmFsdWUpcCBGaSgxKTU1IGIgRnMoLi4uKTQ3CitiKHZhbHVlKXAgRmkobikxMSBiIEZzKFwpKTE1MCA0NjM4IHkgRnQod2hlcmUpMzcgYihlYWMpbShoKWkKK0ZxKHYpLTUgYihhbHVlKTQyIGIgRnQoaXMpYyhvZilnKHRoZSlmKGZvcm0pZyBGcyhbKXAKK0ZpKHN1YnNjcmlwdCkxMSBiIEZzKF09KXAgRnEoc3RyaW5nKWQgRnQoLik1OCBiKEluZGV4ZWQpMzYKK2IoYXJyYSltKHkpaShhc3NpZ25tZW4pbSh0cylnKGRvKWcobm90KTE1MCA0NzQ3IHkocmVxdWlyZSljKHRoZSlnKGJyYWMpCittKGspbShldCloKGFuZCllKHN1YnNjcmlwdC4pNTAgYihXaGVuKTM0IGIoYXNzaWduaW5nKWcodG8pZyhpbmRleGVkKWcKKyhhcnJhKW0oeXMsKWgoaWYpZih0aGUpZyhvcHRpb25hbCloKHN1Yi0pMTUwIDQ4NTcgeShzY3JpcHQpYyhpcyloCisoc3VwcGxpZWQsKWYodGhhdCloKGluZGV4KWYoaXMpaChhc3NpZ25lZClnKHRvOyloKG90aGVyd2lzZSlmKHRoZSlmCisoaW5kZXgpaChvZilmKHRoZSloKGVsZW1lbiltKHQpaChhc3NpZ25lZClmKGlzKTE1MCA0OTY2Cit5KHRoZSlmKGxhc3QpZyhpbmRleClmKGFzc2lnbmVkKWcodG8paChiKW0oeSlnKHRoZSlmKHN0YXRlbWVuKW0odClpCisocGx1cyllKG9uZS4pNDEgYihJbmRleGluZykzMCBiKHN0YXJ0cylnKGF0KWkoemVyby4pMjc1Cis1MDk4IHkoV2hlbillKGFzc2lnbmluZyloKHRvKWcoYW4pZihhc3NvKXMoY2lhdGl2KW0oZSlqKGFycmEpbSh5KS04CitiKCwpMzIgYih0aGUpZShzdWJzY3JpcHQpZihpcylpKHJlcXVpcmVkLikyNzUgNTIzMCB5KFRoaXMpZihzeW4pbSh0YXgpagorKGlzKWUoYWxzbylpKGFjY2VwdGVkKWcoYiltKHkpZih0aGUpZiBGcyhkZWNsYXJlKWYgRnQoYnVpbHRpbi4pNDQKK2IoSW5kaXZpZHVhbCkzMSBiKGFycmEpbSh5KWgoZWxlbWVuKW0odHMpaChtYSltKHkpZyhiKXMoZSkxNTAKKzUzNDAgeShhc3NpZ25lZCllKHRvKWcodXNpbmcpZih0aGUpZyBGcyhuYW1lWylwIEZxKHN1YnNjcmlwdClyCitGcyhdPSlwIEZxKHYpLTUgYihhbHVlKTMzIGIgRnQoc3luKW0odGF4KWUoaW4pbSh0cm8pcyhkdWNlZClmKGFiKXMobyltCisodiltKGUuKXAgZW9wIGVuZAogJSVQYWdlOiA4MSA4NwogVGVYRGljdCBiZWdpbiA4MSA4NiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNjopNDEKLWIoQmFzaCkzMCBiKEYpLTggYihlYXR1cmVzKTI0ODQgYig4MSkzOTAgMjk5IHkgRnMoZGVjbGFyZSk0NgotYigtYSloIEZqKG5hbWUpMTEgYiBGcyhbKXAgRmooc3Vic2NyaXB0KWcgRnMoXSkxNTAgNDMxCi15IEZ0KGlzKTMwIGIoYWxzbylpKGFjY2VwdGVkOylnKHRoZSllIEZxKHN1YnNjcmlwdCloCi1GdChpcylnKGlnbm9yZWQuKTI3NSA1NjQgeShBc3NvKXMoY2lhdGl2KW0oZSloKGFycmEpbSh5cylmKGFyZSlnCi0oY3JlYXRlZClnKHVzaW5nKTM5MCA2OTYgeSBGcyhkZWNsYXJlKTQ2IGIoLUEpaCBGaihuYW1lKXAKLUZzKC4pMjc1IDgyOSB5IEZ0KEEpbSh0dHJpYnV0ZXMpZihtYSltKHkpaChiKXMoZSllKHNwKXMoZWNpXDAxNGVkKWcKLShmb3IpaChhbilnKGFycmEpbSh5KWcodiktNSBiKGFyaWFibGUpNDcgYih1c2luZyllKHRoZSloCi1GcyhkZWNsYXJlKWUgRnQoYW5kKWggRnMocmVhZG9ubHkpMTUwIDkzOCB5IEZ0KGJ1aWx0aW5zLik0MAotYihFYWMpbShoKTMxIGIoYXR0cmlidXRlKWcoYXBwbGllcylnKHRvKWcoYWxsKWcobWVtKW0oYilzKGVycylmKG9mKWcKLShhbiloKGFycmEpbSh5KS04IGIoLikyNzUgMTA3MSB5KEFycmEpbSh5cykzMCBiKGFyZSloKGFzc2lnbmVkKWYodG8paAotKHVzaW5nKWYoY29tcClzKG91bmQpZihhc3NpZ25tZW4pbSh0cylpKG9mKWcodGhlKWYoZm9ybSkzOTAKLTEyMDMgeSBGcyhuYW1lPVwodmFsdWUpcCBGaigxKTU1IGIgRnMoLi4uKTQ3IGIodmFsdWUpcAotRmoobikxMSBiIEZzKFwpKTE1MCAxMzM1IHkgRnQod2hlcmUpMzcgYihlYWMpbShoKWogRnEodiktNQotYihhbHVlKTQzIGIgRnQoaXMpMzggYihvZilnKHRoZSlnKGZvcm0pZyBGcyhbKXAgRmooc3Vic2NyaXB0KTExCi1iIEZzKF09KXAgRnEoc3RyaW5nKXAgRnQoLik2MCBiKEluZGV4ZWQpMzcgYihhcnJhKW0oeSloKGFzc2lnbm1lbiltKHRzKQotaChkbylmKG5vdCkxNTAgMTQ0NSB5KHJlcXVpcmUpYyh0aGUpZyhicmFjKW0oayltKGV0KWgoYW5kKWUoc3Vic2NyaXB0LikKLTUwIGIoV2hlbikzNCBiKGFzc2lnbmluZylnKHRvKWcoaW5kZXhlZClnKGFycmEpbSh5cywpaChpZilmKHRoZSlnCi0ob3B0aW9uYWwpaChzdWItKTE1MCAxNTU1IHkoc2NyaXB0KWMoaXMpaChzdXBwbGllZCwpZih0aGF0KWgoaW5kZXgpZgotKGlzKWgoYXNzaWduZWQpZyh0bzspaChvdGhlcndpc2UpZih0aGUpZihpbmRleCloKG9mKWYodGhlKWgoZWxlbWVuKW0odCkKLWgoYXNzaWduZWQpZihpcykxNTAgMTY2NCB5KHRoZSlmKGxhc3QpZyhpbmRleClmKGFzc2lnbmVkKWcodG8paChiKW0oeSlnCi0odGhlKWYoc3RhdGVtZW4pbSh0KWkocGx1cyllKG9uZS4pNDEgYihJbmRleGluZykzMCBiKHN0YXJ0cylnKGF0KWkKLSh6ZXJvLikyNzUgMTc5NyB5KFdoZW4pZShhc3NpZ25pbmcpaCh0bylnKGFuKWYoYXNzbylzKGNpYXRpdiltKGUpagotKGFycmEpbSh5KS04IGIoLCkzMiBiKHRoZSllKHN1YnNjcmlwdClmKGlzKWkocmVxdWlyZWQuKTI3NQotMTkyOSB5KFRoaXMpZihzeW4pbSh0YXgpaihpcyllKGFsc28paShhY2NlcHRlZClnKGIpbSh5KWYodGhlKWYKLUZzKGRlY2xhcmUpZiBGdChidWlsdGluLik0NCBiKEluZGl2aWR1YWwpMzEgYihhcnJhKW0oeSloKGVsZW1lbiltKHRzKWgKLShtYSltKHkpZyhiKXMoZSkxNTAgMjAzOSB5KGFzc2lnbmVkKWUodG8pZyh1c2luZylmKHRoZSlnCi1GcyhuYW1lWylwIEZxKHN1YnNjcmlwdClyIEZzKF09KXAgRnEodiktNSBiKGFsdWUpMzMgYgotRnQoc3luKW0odGF4KWUoaW4pbSh0cm8pcyhkdWNlZClmKGFiKXMobyltKHYpbShlLikyNzUKLTIxNzEgeShBbiltKHkpaihlbGVtZW4pbSh0KWkob2YpZihhbilmKGFycmEpbSh5KWgobWEpbSh5KWcoYilzKGUpZgotKHJlZmVyZW5jZWQpZyh1c2luZylnIEZzKCR7bmFtZVspcCBGcShzdWJzY3JpcHQpciBGcyhdfSlwCi1GdCguKTQ2IGIoVGhlKTMzIGIoYnJhY2VzKWgoYXJlKTE1MCAyMjgxIHkocmVxdWlyZWQpMjgKLWIodG8paihhKW0odiltKG9pZClmKGNvblwwMTVpY3RzKWcod2l0aClmKHRoZSloKHNoZWxsJ3MpZihcMDE0bGVuYW1lKWgKLShleHBhbnNpb24pZihvcClzKGVyYXRvcnMuKTQxIGIoSWYpMjggYih0aGUpaSBGcShzdWJzY3JpcHQpZwotRnQoaXMpMTUwIDIzOTAgeShgKXAgRnMoQClwIEZ0KCcpZihvciloKGApcCBGcygqKXAgRnQoJywpZih0aGUpaCh3KW0KLShvcmQpZihleHBhbmRzKWYodG8paShhbGwpZyhtZW0pbShiKXMoZXJzKWUob2YpaSh0aGUpZihhcnJhKW0oeSloCi1GcShuYW1lKXAgRnQoLik0MCBiKFRoZXNlKTI5IGIoc3Vic2NyaXB0cylmKGRpXDAxM2VyKWgob25seSkxNTAKLTI1MDAgeSh3aGVuKTM2IGIodGhlKWcodyltKG9yZClnKGFwcClzKGVhcnMpZyh3aXRoaW4pZyhkb3VibGUpZwotKHF1b3Rlcy4pNjAgYihJZikzNiBiKHRoZSloKHcpbShvcmQpZihpcylnKGRvdWJsZS1xdW90ZWQsKWoKLUZzKCR7bmFtZVsqXX0pMTUwIDI2MDkgeSBGdChleHBhbmRzKTIwIGIodG8paChhKWcoc2luZ2xlKWcodyltKG9yZClmCi0od2l0aCloKHRoZSlnKHYpLTUgYihhbHVlKTIxIGIob2YpZihlYWMpbShoKWkoYXJyYSltKHkpZihtZW0pbShiKXMoZXIpZgotKHNlcGFyYXRlZCloKGIpbSh5KWcodGhlKWYoXDAxNHJzdClnKGMpbShoYXJhY3RlcikxNTAKLTI3MTkgeShvZikzOCBiKHRoZSlnIEZzKElGUylmIEZ0KHYpLTUgYihhcmlhYmxlLCk0MSBiKGFuZCljCi1Gcygke25hbWVbQF19KWUgRnQoZXhwYW5kcylpKGVhYyltKGgpaShlbGVtZW4pbSh0KWcob2YpZgotRnEobmFtZSk0MyBiIEZ0KHRvKWMoYSlmKHNlcGFyYXRlKWgodyltKG9yZC4pMTUwIDI4MjkKLXkoV2hlbikzMiBiKHRoZXJlKWgoYXJlKWYobm8pZyhhcnJhKW0oeSloKG1lbSltKGIpcyhlcnMsKWYKLUZzKCR7bmFtZVtAXX0pZSBGdChleHBhbmRzKWgodG8paShub3RoaW5nLik0NyBiKElmKTMxCi1iKHRoZSlpKGRvdWJsZS1xdW90ZWQpMTUwIDI5MzggeShleHBhbnNpb24pMzkgYihvKXMoY2N1cnMpaCh3aXRoaW4pZihhKQotaCh3KW0ob3JkLClpKHRoZSlkKGV4cGFuc2lvbiloKG9mKWcodGhlKWYoXDAxNHJzdClnKHBhcmFtZXRlciloKGlzKWcKLShqb2luZWQpZih3aXRoKWgodGhlKTE1MCAzMDQ4IHkoYilzKGVnaW5uaW5nKWoocGFydCloKG9mKWcodGhlKWcKLShvcmlnaW5hbCloKHcpbShvcmQsKWooYW5kKTQzIGIodGhlKWgoZXhwYW5zaW9uKWcob2YpZyh0aGUpZyhsYXN0KWgKLShwYXJhbWV0ZXIpZihpcylnKGpvaW5lZCkxNTAgMzE1NyB5KHdpdGgpMzUgYih0aGUpZyhsYXN0KWgocGFydClmKG9mKWcKLSh0aGUpZyhvcmlnaW5hbCloKHcpbShvcmQuKTU1IGIoVGhpcykzNCBiKGlzKWgoYW5hbG9nb3VzKWgodG8pZyh0aGUpZgotKGV4cGFuc2lvbilnKG9mKWcodGhlKWcoc3ApcyhlY2lhbCkxNTAgMzI2NyB5KHBhcmFtZXRlcnMpMjgKLWIoYClwIEZzKEApcCBGdCgnKWcoYW5kKWYoYClwIEZzKCopcCBGdCgnLikzOSBiIEZzKCR7I25hbWVbKXAKLUZxKHN1YnNjcmlwdClyIEZzKF19KTI0IGIgRnQoZXhwYW5kcylqKHRvKWgodGhlKWcobGVuZ3RoKWcob2YpZgotRnMoJHtuYW1lWylwIEZxKHN1YnNjcmlwdClyIEZzKF19KXAgRnQoLikxNTAgMzM3NyB5KElmKWoKLUZxKHN1YnNjcmlwdClpIEZ0KGlzKWYoYClwIEZzKEApcCBGdCgnKWYob3IpaChgKXAgRnMoKilwCi1GdCgnLClnKHRoZSlnKGV4cGFuc2lvbilnKGlzKWcodGhlKWcobiltKHVtKW0oYilzKGVyKWUob2YpaShlbGVtZW4pbQotKHRzKWgoaW4pZih0aGUpZyhhcnJhKW0oeSktOCBiKC4pNDIgYihSZWZlcmVuY2luZykxNTAKLTM0ODYgeShhbikzMCBiKGFycmEpbSh5KWgodiktNSBiKGFyaWFibGUpMzEgYih3aXRob3V0KWcoYSlmKHN1YnNjcmlwdClnCi0oaXMpZyhlcXVpdiktNSBiKGFsZW4pbSh0KTMyIGIodG8pZihyZWZlcmVuY2luZylnKHdpdGgpZihhKWcoc3Vic2NyaXB0KQotZyhvZilnKDAuKTI3NSAzNjE5IHkoVGhlKWkgRnModW5zZXQpZyBGdChidWlsdGluKWgoaXMpZyh1c2VkKWcodG8paAotKGRlc3RybyltKHkpZyhhcnJhKW0oeXMuKTUwIGIgRnModW5zZXQpMzEgYiBGcShuYW1lKTUKLWIgRnQoWylwIEZxKHN1YnNjcmlwdClyIEZ0KF0pMzMgYihkZXN0cm8pbSh5cyloKHRoZSlmKGFycmEpbSh5KTE1MAotMzcyOCB5KGVsZW1lbiltKHQpaihhdCllKGluZGV4KWcgRnEoc3Vic2NyaXB0KXAgRnQoLik1MAotYihDYXJlKTM0IGIobSltKHVzdClnKGIpcyhlKWcodGFrKW0oZW4paCh0bylnKGEpbSh2KW0ob2lkKWcodW4pbSh3KW0KLShhbiltKHRlZClnKHNpZGUpZihlXDAxM2VjdHMpaChjYXVzZWQpZihiKW0oeSkxNTAgMzgzOAoteShcMDE0bGVuYW1lKTM5IGIoZ2VuZXJhdGlvbi4pNjggYiBGcyh1bnNldCkzNyBiIEZxKG5hbWUpcAotRnQoLClrKHdoZXJlKWUgRnEobmFtZSk0NCBiIEZ0KGlzKTM5IGIoYW4pZihhcnJhKW0oeSktOAotYigsKTQzIGIocmVtbyltKHYpbShlcylkKHRoZSlmKGVuKW0odGlyZSloKGFycmEpbSh5KS04Ci1iKC4pNjcgYihBKTE1MCAzOTQ3IHkoc3Vic2NyaXB0KTI5IGIob2YpaShgKXAgRnMoKilwCitiKEJhc2gpMzAgYihGKS04IGIoZWF0dXJlcykyNDg0IGIoODEpMjc1IDI5OSB5KEFuKW0oeSkzMworYihlbGVtZW4pbSh0KWkob2YpZihhbilmKGFycmEpbSh5KWgobWEpbSh5KWcoYilzKGUpZihyZWZlcmVuY2VkKWcKKyh1c2luZylnIEZzKCR7bmFtZVspcCBGcShzdWJzY3JpcHQpciBGcyhdfSlwIEZ0KC4pNDYKK2IoVGhlKTMzIGIoYnJhY2VzKWgoYXJlKTE1MCA0MDggeShyZXF1aXJlZCkyOCBiKHRvKWooYSltKHYpbShvaWQpZgorKGNvblwwMTVpY3RzKWcod2l0aClmKHRoZSloKHNoZWxsJ3MpZihcMDE0bGVuYW1lKWgoZXhwYW5zaW9uKWYob3ApcworKGVyYXRvcnMuKTQxIGIoSWYpMjggYih0aGUpaSBGcShzdWJzY3JpcHQpZyBGdChpcykxNTAKKzUxOCB5KGApcCBGcyhAKXAgRnQoJylmKG9yKWcoYClwIEZzKCopcCBGdCgnLClnKHRoZSlnKHcpbShvcmQpZworKGV4cGFuZHMpZih0bylpKGFsbClmKG1lbSltKGIpcyhlcnMpZihvZiloKHRoZSlnKGFycmEpbSh5KWgKK0ZxKG5hbWUpNSBiIEZ0KC4pNDAgYihUaGVzZSkyOSBiKHN1YnNjcmlwdHMpZShkaVwwMTNlcilpKG9ubHkpMTUwCis2MjggeSh3aGVuKTM2IGIodGhlKWcodyltKG9yZClnKGFwcClzKGVhcnMpZyh3aXRoaW4pZyhkb3VibGUpZyhxdW90ZXMuKQorNjAgYihJZikzNiBiKHRoZSloKHcpbShvcmQpZihpcylnKGRvdWJsZS1xdW90ZWQsKWogRnMoJHtuYW1lWypdfSkxNTAKKzczNyB5IEZ0KGV4cGFuZHMpMjAgYih0byloKGEpZyhzaW5nbGUpZyh3KW0ob3JkKWYod2l0aCloKHRoZSlnKHYpLTUKK2IoYWx1ZSkyMSBiKG9mKWYoZWFjKW0oaClpKGFycmEpbSh5KWYobWVtKW0oYilzKGVyKWYoc2VwYXJhdGVkKWgoYiltKHkpCitnKHRoZSlmKFwwMTRyc3QpZyhjKW0oaGFyYWN0ZXIpMTUwIDg0NyB5KG9mKTM4IGIodGhlKWcKK0ZzKElGUylmIEZ0KHYpLTUgYihhcmlhYmxlLCk0MSBiKGFuZCljIEZzKCR7bmFtZVtAXX0pZQorRnQoZXhwYW5kcylpKGVhYyltKGgpaShlbGVtZW4pbSh0KWcob2YpZiBGcShuYW1lKTQzIGIKK0Z0KHRvKWMoYSlmKHNlcGFyYXRlKWgodyltKG9yZC4pMTUwIDk1NiB5KFdoZW4pMzIgYih0aGVyZSloKGFyZSlmKG5vKWcKKyhhcnJhKW0oeSloKG1lbSltKGIpcyhlcnMsKWYgRnMoJHtuYW1lW0BdfSllIEZ0KGV4cGFuZHMpaCh0bylpCisobm90aGluZy4pNDcgYihJZikzMSBiKHRoZSlpKGRvdWJsZS1xdW90ZWQpMTUwIDEwNjYgeShleHBhbnNpb24pMzkKK2IobylzKGNjdXJzKWgod2l0aGluKWYoYSloKHcpbShvcmQsKWkodGhlKWQoZXhwYW5zaW9uKWgob2YpZyh0aGUpZgorKFwwMTRyc3QpZyhwYXJhbWV0ZXIpaChpcylnKGpvaW5lZClmKHdpdGgpaCh0aGUpMTUwIDExNzYKK3koYilzKGVnaW5uaW5nKWoocGFydCloKG9mKWcodGhlKWcob3JpZ2luYWwpaCh3KW0ob3JkLClqKGFuZCk0MworYih0aGUpaChleHBhbnNpb24pZyhvZilnKHRoZSlnKGxhc3QpaChwYXJhbWV0ZXIpZihpcylnKGpvaW5lZCkxNTAKKzEyODUgeSh3aXRoKTM1IGIodGhlKWcobGFzdCloKHBhcnQpZihvZilnKHRoZSlnKG9yaWdpbmFsKWgodyltKG9yZC4pNTUKK2IoVGhpcykzNCBiKGlzKWgoYW5hbG9nb3VzKWgodG8pZyh0aGUpZihleHBhbnNpb24pZyhvZilnKHRoZSlnKHNwKXMKKyhlY2lhbCkxNTAgMTM5NSB5KHBhcmFtZXRlcnMpMjggYihgKXAgRnMoQClwIEZ0KCcpZyhhbmQpZihgKXAKK0ZzKCopcCBGdCgnLikzOSBiIEZzKCR7I25hbWVbKXAgRnEoc3Vic2NyaXB0KXIgRnMoXX0pMjQKK2IgRnQoZXhwYW5kcylqKHRvKWgodGhlKWcobGVuZ3RoKWcob2YpZiBGcygke25hbWVbKXAKK0ZxKHN1YnNjcmlwdClyIEZzKF19KXAgRnQoLikxNTAgMTUwNCB5KElmKWogRnEoc3Vic2NyaXB0KWkKK0Z0KGlzKWYoYClwIEZzKEApcCBGdCgnKWYob3IpaChgKXAgRnMoKilwIEZ0KCcsKWcodGhlKWcoZXhwYW5zaW9uKWcoaXMpCitnKHRoZSlnKG4pbSh1bSltKGIpcyhlcillKG9mKWkoZWxlbWVuKW0odHMpaChpbilmKHRoZSlnKGFycmEpbSh5KS04CitiKC4pNDIgYihSZWZlcmVuY2luZykxNTAgMTYxNCB5KGFuKTMwIGIoYXJyYSltKHkpaCh2KS01CitiKGFyaWFibGUpMzEgYih3aXRob3V0KWcoYSlmKHN1YnNjcmlwdClnKGlzKWcoZXF1aXYpLTUKK2IoYWxlbiltKHQpMzIgYih0bylmKHJlZmVyZW5jaW5nKWcod2l0aClmKGEpZyhzdWJzY3JpcHQpZyhvZilnKDAuKTI3NQorMTc1NyB5KEFuKTM1IGIoYXJyYSltKHkpaSh2KS01IGIoYXJpYWJsZSkzNyBiKGlzKWcoY29uc2lkZXJlZClmKHNldCloCisoaWYpZihhKWgoc3Vic2NyaXB0KWUoaGFzKWgoYilzKGVlbilnKGFzc2lnbmVkKWcoYSloKHYpLTUKK2IoYWx1ZS4pNTkgYihUaGUpMzYgYihuKW0odWxsKTE1MCAxODY2IHkoc3RyaW5nKTMwIGIoaXMpaChhKWcodiktNQorYihhbGlkKTMwIGIodiktNSBiKGFsdWUuKTI3NSAyMDA5IHkoVGhlKTMyIGIgRnModW5zZXQpZworRnQoYnVpbHRpbiloKGlzKWcodXNlZClnKHRvKWgoZGVzdHJvKW0oeSlnKGFycmEpbSh5cy4pNTAKK2IgRnModW5zZXQpMzEgYiBGcShuYW1lKTUgYiBGdChbKXAgRnEoc3Vic2NyaXB0KXIgRnQoXSkzMworYihkZXN0cm8pbSh5cyloKHRoZSlmKGFycmEpbSh5KTE1MCAyMTE5IHkoZWxlbWVuKW0odClpKGF0KWcoaW5kZXgpZgorRnEoc3Vic2NyaXB0KXIgRnQoLik1MCBiKENhcmUpMzQgYihtKW0odXN0KWYoYilzKGUpaCh0YWspbShlbiloKHRvKWYoYSkKK20odiltKG9pZClpKHVuKW0odyltKGFuKW0odGVkKWUoc2lkZSlnKGVcMDEzZWN0cyloKGNhdXNlZClmKGIpbSh5KTE1MAorMjIyOCB5KFwwMTRsZW5hbWUpNDAgYihleHBhbnNpb24uKTY5IGIgRnModW5zZXQpMzkgYgorRnEobmFtZSk1IGIgRnQoLCk0MiBiKHdoZXJlKWUgRnEobmFtZSk0NSBiIEZ0KGlzKTM5IGIoYW4paChhcnJhKW0oeSktOAorYigsKTQ0IGIocmVtbyltKHYpbShlcylkKHRoZSlmKGVuKW0odGlyZSloKGFycmEpbSh5KS04CitiKC4pNzAgYihBKTE1MCAyMzM4IHkoc3Vic2NyaXB0KTI5IGIob2YpaShgKXAgRnMoKilwCiBGdCgnKWYob3IpaChgKXAgRnMoQClwIEZ0KCcpZihhbHNvKWgocmVtbyltKHYpbShlcyloKHRoZSlmKGVuKW0odGlyZSlnCi0oYXJyYSltKHkpLTggYiguKTI3NSA0MDgwIHkoVGhlKTQxIGIgRnMoZGVjbGFyZSlwIEZ0KCwpaQorKGFycmEpbSh5KS04IGIoLikyNzUgMjQ4MSB5KFRoZSk0MSBiIEZzKGRlY2xhcmUpcCBGdCgsKWkKIEZzKGxvY2FsKXAgRnQoLCloKGFuZClkIEZzKHJlYWRvbmx5KWYgRnQoYnVpbHRpbnMpaChlYWMpbShoKWooYWNjZXB0KWYKIChhKWYoYClwIEZzKC1hKXAgRnQoJylnKG9wdGlvbiloKHRvKWYoc3ApcyhlY2lmeSlnKGFuKTE1MAotNDE4OSB5KGluZGV4ZWQpMzQgYihhcnJhKW0oeSloKGFuZClmKGEpaChgKXAgRnMoLUEpcAorMjU5MSB5KGluZGV4ZWQpMzQgYihhcnJhKW0oeSloKGFuZClmKGEpaChgKXAgRnMoLUEpcAogRnQoJylnKG9wdGlvbilnKHRvKWcoc3ApcyhlY2lmeSlnKGFuKWYoYXNzbylzKGNpYXRpdiltKGUpaihhcnJhKW0oeSktOAogYiguKTU1IGIoVGhlKTM0IGIgRnMocmVhZClmIEZ0KGJ1aWx0aW4paShhY2NlcHRzKTE1MAotNDI5OSB5KGEpaChgKXAgRnMoLWEpcCBGdCgnKWYob3B0aW9uKWgodG8pZyhhc3NpZ24pZyhhKWYobGlzdCloKG9mKWcodykKKzI3MDAgeShhKWgoYClwIEZzKC1hKXAgRnQoJylmKG9wdGlvbiloKHRvKWcoYXNzaWduKWcoYSlmKGxpc3QpaChvZilnKHcpCiBtKG9yZHMpZihyZWFkKWcoZnJvbSlnKHRoZSloKHN0YW5kYXJkKWUoaW5wdXQpaCh0byloKGFuKWYoYXJyYSltKHkpLTgKLWIoLCkzOCBiKGFuZClkKGNhbikxNTAgNDQwOCB5KHJlYWQpYyh2KS01IGIoYWx1ZXMpMzEKK2IoLCkzOCBiKGFuZClkKGNhbikxNTAgMjgxMCB5KHJlYWQpYyh2KS01IGIoYWx1ZXMpMzEKIGIoZnJvbSlmKHRoZSloKHN0YW5kYXJkKWYoaW5wdXQpZyhpbiltKHRvKWkoaW5kaXZpZHVhbCllKGFycmEpbSh5KWgKIChlbGVtZW4pbSh0cy4pNDQgYihUaGUpMzAgYiBGcyhzZXQpZyBGdChhbmQpZyBGcyhkZWNsYXJlKTE1MAotNDUxOCB5IEZ0KGJ1aWx0aW5zKWcoZGlzcGxhKW0oeSlnKGFycmEpbSh5KWgodiktNSBiKGFsdWVzKTMxCisyOTE5IHkgRnQoYnVpbHRpbnMpZyhkaXNwbGEpbSh5KWcoYXJyYSltKHkpaCh2KS01IGIoYWx1ZXMpMzEKIGIoaW4pZihhKWgodyltKGEpbSh5KWcodGhhdClnKGFsbG8pbSh3cyloKHRoZW0pZSh0byloKGIpcyhlKWYocmV1c2VkKWcKLShhcylnKGlucHV0LikxNTAgNDc2OSB5IEZyKDYuOCk2OCBiKFRoZSk0NSBiKERpcmVjdG9yeSlnKFN0YWMpbChrKTI3NQotNTAxMSB5IEZ0KFRoZSkyNiBiKGRpcmVjdG9yeSlnKHN0YWMpbShrKWkoaXMpZihhKWcobGlzdClnKG9mKWcocmVjZW4pbQotKHRseS12aXNpdGVkKWgoZGlyZWN0b3JpZXMuKTQxIGIoVGhlKTI2IGIgRnMocHVzaGQpZgotRnQoYnVpbHRpbiloKGFkZHMpZyhkaXJlYy0pMTUwIDUxMjEgeSh0b3JpZXMpZih0bylmKHRoZSloKHN0YWMpbShrKWcKLShhcylmKGl0KWgoYyltKGhhbmdlcylmKHRoZSloKGN1cnJlbiltKHQpZShkaXJlY3RvcnkpLTgKLWIoLCkyNyBiKGFuZCljKHRoZSloIEZzKHBvcGQpZiBGdChidWlsdGluKWcocmVtbyltKHYpbShlcylqKHNwKXMKLShlY2lcMDE0ZWQpMTUwIDUyMzAgeShkaXJlY3RvcmllcylqKGZyb20pZih0aGUpaChzdGFjKW0oayloKGFuZClkKGMpbQotKGhhbmdlcylqKHRoZSllKGN1cnJlbiltKHQpZyhkaXJlY3RvcnkpaCh0bylnKHRoZSlnKGRpcmVjdG9yeSlmKHJlbW8pbQotKHYpbShlZC4pNDEgYihUaGUpMTUwIDUzNDAgeSBGcyhkaXJzKTI5IGIgRnQoYnVpbHRpbiloKGRpc3BsYSltKHlzKWgKLSh0aGUpZihjb24pbSh0ZW4pbSh0cylpKG9mKWYodGhlKWYoZGlyZWN0b3J5KWgoc3RhYyltKGsuKXAKLWVvcCBlbmQKKyhhcylnKGlucHV0LikxNTAgMzE2NCB5IEZyKDYuOCk2OCBiKFRoZSk0NSBiKERpcmVjdG9yeSlnKFN0YWMpbChrKTE1MAorMzMyNCB5IEZ0KFRoZSkyMSBiKGRpcmVjdG9yeSloKHN0YWMpbShrKWgoaXMpZShhKWgobGlzdClnKG9mKWYocmVjZW4pbQorKHRseS12aXNpdGVkKWooZGlyZWN0b3JpZXMuKTM5IGIoVGhlKTIwIGIgRnMocHVzaGQpZworRnQoYnVpbHRpbiloKGFkZHMpZyhkaXJlY3RvcmllcykxNTAgMzQzMyB5KHRvKTQyIGIodGhlKWYoc3RhYyltKGspaShhcykKK2UoaXQpaChjKW0oaGFuZ2VzKWcodGhlKWYoY3VycmVuKW0odClnKGRpcmVjdG9yeSktOCBiKCwpNDUKK2IoYW5kKTQwIGIodGhlKWkgRnMocG9wZCllIEZ0KGJ1aWx0aW4pZyhyZW1vKW0odiltKGVzKWooc3ApcyhlY2lcMDE0ZWQpCisxNTAgMzU0MyB5KGRpcmVjdG9yaWVzKTI5IGIoZnJvbSlmKHRoZSloKHN0YWMpbShrKWgoYW5kKWQoYyltKGhhbmdlcylqCisodGhlKWUoY3VycmVuKW0odClnKGRpcmVjdG9yeSloKHRvKWcodGhlKWcoZGlyZWN0b3J5KWYocmVtbyltKHYpbShlZC4pCis0MSBiKFRoZSkxNTAgMzY1MyB5IEZzKGRpcnMpMjkgYiBGdChidWlsdGluKWgoZGlzcGxhKW0oeXMpaCh0aGUpZihjb24pbQorKHRlbiltKHRzKWkob2YpZih0aGUpZihkaXJlY3RvcnkpaChzdGFjKW0oay4pMjc1IDM3OTUKK3koVGhlKWsoY29uKW0odGVuKW0odHMpaShvZilmKHRoZSloKGRpcmVjdG9yeSlmKHN0YWMpbShrKWgoYXJlKWYoYWxzbyloCisodmlzaWJsZSlnKGFzKWYodGhlKWcodiktNSBiKGFsdWUpMzYgYihvZilnKHRoZSlnIEZzKERJUlNUQUNLKWUKK0Z0KHNoZWxsKTE1MCAzOTA1IHkodiktNSBiKGFyaWFibGUuKTE1MCA0MTEzIHkgRmooNi44LjEpNjMKK2IoRGlyZWN0b3J5KTQwIGIoU3RhYyltKGspZyhCdWlsdGlucykxNTAgNDI4OSB5IEZzKGRpcnMpODcwCis0NDI3IHkoZGlycyk0NyBiKFsrKXAgRmkoTik1NyBiIEZzKHwpNDggYigtKXAgRmkoTikxMQorYiBGcyhdKTQ2IGIoWy1jbHB2XSk2MzAgNDU2NiB5IEZ0KERpc3BsYSltKHkpMzUgYih0aGUpZihsaXN0KWcob2YpZworKGN1cnJlbiltKHRseSlnKHJlbWVtKW0oYilzKGVyZWQpZihkaXJlY3Rvcmllcy4pNTEgYihEaXJlY3RvcmllcykzNgorYihhcmUpZShhZGRlZClmKHRvKTYzMCA0Njc2IHkodGhlKTI4IGIobGlzdCloKHdpdGgpZih0aGUpZworRnMocHVzaGQpZiBGdChjb21tYW5kOylpKHRoZSlmIEZzKHBvcGQpZiBGdChjb21tYW5kKWgocmVtbyltKHYpbShlcyloCisoZGlyZWN0b3JpZXMpZyhmcm9tKTYzMCA0Nzg1IHkodGhlKWkobGlzdC4pNjMwIDQ5NTMgeQorRnMoKylwIEZpKE4pMzg0IGIgRnQoRGlzcGxhKW0oeXMpMjMgYih0aGUpZiBGcShOKTEwIGIKK0Z0KHRoKTIxIGIoZGlyZWN0b3J5KWgoXChjb3VuKW0odGluZyloKGZyb20pZSh0aGUpaChsZWZ0KWcob2YpZyh0aGUpZworKGxpc3QpZyhwcmluKW0odGVkKTExMTAgNTA2MyB5KGIpbSh5KTMwIGIgRnMoZGlycylmIEZ0KHdoZW4paChpbiltKHYpbQorKG9rKW0oZWQpaSh3aXRob3V0KWUob3B0aW9uc1wpLCloKHN0YXJ0aW5nKWcod2l0aClnKHplcm8uKTYzMAorNTIzMCB5IEZzKC0pcCBGaShOKTM4NCBiIEZ0KERpc3BsYSltKHlzKTQ3IGIodGhlKWcgRnEoTikxMAorYiBGdCh0aCk0NiBiKGRpcmVjdG9yeSloKFwoY291biltKHRpbmcpZyhmcm9tKWYodGhlKWcocmlnaCltKHQpaChvZilnCisodGhlKWYobGlzdCkxMTEwIDUzNDAgeShwcmluKW0odGVkKTI1IGIoYiltKHkpZyBGcyhkaXJzKWcKK0Z0KHdoZW4pZihpbiltKHYpbShvayltKGVkKWood2l0aG91dClmKG9wdGlvbnNcKSwpaChzdGFydGluZylnKHdpdGgpZQorKHplcm8uKXAgZW9wIGVuZAogJSVQYWdlOiA4MiA4OAogVGVYRGljdCBiZWdpbiA4MiA4NyBib3AgMTUwIC0xMTYgYSBGdCg4MikyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMjc1IDI5OSB5KFRoZSlrKGNvbiltKHRlbiltKHRzKWkob2YpZih0aGUpaAotKGRpcmVjdG9yeSlmKHN0YWMpbShrKWgoYXJlKWYoYWxzbyloKHZpc2libGUpZyhhcylmKHRoZSlnKHYpLTUKLWIoYWx1ZSkzNiBiKG9mKWcodGhlKWcgRnMoRElSU1RBQ0spZSBGdChzaGVsbCkxNTAgNDA4Ci15KHYpLTUgYihhcmlhYmxlLikxNTAgNjQxIHkgRmsoNi44LjEpNjMgYihEaXJlY3RvcnkpNDAKLWIoU3RhYyltKGspZyhCdWlsdGlucykxNTAgODg3IHkgRnMoZGlycyk4NzAgMTAyNCB5KGRpcnMpNDcKLWIoWyspcCBGaihOKTU3IGIgRnMofCk0OCBiKC0pcCBGaihOKTExIGIgRnMoXSk0NiBiKFstY2xwdl0pNjMwCi0xMTYwIHkgRnQoRGlzcGxhKW0oeSkzNSBiKHRoZSlmKGxpc3QpZyhvZilnKGN1cnJlbiltKHRseSlnKHJlbWVtKW0oYilzCi0oZXJlZClmKGRpcmVjdG9yaWVzLik1MSBiKERpcmVjdG9yaWVzKTM2IGIoYXJlKWUoYWRkZWQpZih0byk2MzAKLTEyNzAgeSh0aGUpMjggYihsaXN0KWgod2l0aClmKHRoZSlnIEZzKHB1c2hkKWYgRnQoY29tbWFuZDspaSh0aGUpZgotRnMocG9wZClmIEZ0KGNvbW1hbmQpaChyZW1vKW0odiltKGVzKWgoZGlyZWN0b3JpZXMpZyhmcm9tKTYzMAotMTM3OSB5KHRoZSlpKGxpc3QuKTYzMCAxNTQzIHkgRnMoKylwIEZqKE4pMzg0IGIgRnQoRGlzcGxhKW0oeXMpMjMKLWIodGhlKWYgRnEoTikxMCBiIEZ0KHRoKTIxIGIoZGlyZWN0b3J5KWgoXChjb3VuKW0odGluZyloKGZyb20pZSh0aGUpaAotKGxlZnQpZyhvZilnKHRoZSlnKGxpc3QpZyhwcmluKW0odGVkKTExMTAgMTY1MyB5KGIpbSh5KTMwCi1iIEZzKGRpcnMpZiBGdCh3aGVuKWgoaW4pbSh2KW0ob2spbShlZClpKHdpdGhvdXQpZShvcHRpb25zXCksKWgKLShzdGFydGluZylnKHdpdGgpZyh6ZXJvLik2MzAgMTgxNiB5IEZzKC0pcCBGaihOKTM4NCBiCi1GdChEaXNwbGEpbSh5cyk0NyBiKHRoZSlnIEZxKE4pMTAgYiBGdCh0aCk0NiBiKGRpcmVjdG9yeSloKFwoY291biltCi0odGluZylnKGZyb20pZih0aGUpZyhyaWdoKW0odCloKG9mKWcodGhlKWYobGlzdCkxMTEwCi0xOTI2IHkocHJpbiltKHRlZCkyNSBiKGIpbSh5KWcgRnMoZGlycylnIEZ0KHdoZW4pZihpbiltKHYpbShvayltKGVkKWoKLSh3aXRob3V0KWYob3B0aW9uc1wpLCloKHN0YXJ0aW5nKWcod2l0aCllKHplcm8uKTYzMCAyMDg5Ci15IEZzKC1jKTM4NCBiIEZ0KENsZWFycykzMSBiKHRoZSlmKGRpcmVjdG9yeSloKHN0YWMpbShrKWgoYiltKHkpZQotKGRlbGV0aW5nKWgoYWxsKWgob2YpZSh0aGUpaChlbGVtZW4pbSh0cy4pNjMwIDIyNTMgeQotRnMoLWwpMzg0IGIgRnQoUHJvKXMoZHVjZXMpMzAgYihhKWkobG9uZ2VyKWcobGlzdGluZzspaCh0aGUpZihkZWZhdWx0KWYKLShsaXN0aW5nKWkoZm9ybWF0KWUodXNlcylnKGEpaCh0aWxkZSlnKHRvKTExMTAgMjM2MiB5KGRlbm90ZSlmKHRoZSlmCi0oaG9tZSloKGRpcmVjdG9yeSktOCBiKC4pNjMwIDI1MjYgeSBGcygtcCkzODQgYiBGdChDYXVzZXMpMzAKLWIgRnMoZGlycylmIEZ0KHRvKWkocHJpbiltKHQpZih0aGUpaChkaXJlY3RvcnkpZyhzdGFjKW0oayloKHdpdGgpZShvbmUpCi1nKGVuKW0odHJ5KWgocClzKGVyKWUobGluZS4pNjMwIDI2ODkgeSBGcygtdikzODQgYiBGdChDYXVzZXMpMzYKLWIgRnMoZGlycylmIEZ0KHRvKWkocHJpbiltKHQpZih0aGUpZyhkaXJlY3RvcnkpaChzdGFjKW0oayloKHdpdGgpZShvbmUpCi1oKGVuKW0odHJ5KWYocClzKGVyKWYobGluZSwpMTExMCAyNzk5IHkocHJlXDAxNHhpbmcpMzAKLWIoZWFjKW0oaCloKGVuKW0odHJ5KWcod2l0aClmKGl0cyloKGluZGV4KWUoaW4paSh0aGUpZihzdGFjKW0oay4pMTUwCi0yOTYzIHkgRnMocG9wZCk4NzAgMzA5OSB5KHBvcGQpNDcgYihbKylwIEZqKE4pNTcgYiBGcyh8KTQ4Ci1iKC0pcCBGaihOKTExIGIgRnMoXSk0NiBiKFstbl0pNjMwIDMyMzYgeSBGdChSZW1vKW0odiltKGUpMjYKLWIodGhlKWUodG9wKWcoZW4pbSh0cnkpaChmcm9tKWUodGhlKWgoZGlyZWN0b3J5KWgoc3RhYyltKGssKWkoYW5kKWMKLUZzKGNkKWggRnQodG8paCh0aGUpZihuZXcpZih0b3ApaShkaXJlY3RvcnkpLTggYiguKTYzMAotMzM0NSB5KFdoZW4pMzIgYihubylnKGFyZ3VtZW4pbSh0cyloKGFyZSlnKGdpdiltKGVuLCloCi1Gcyhwb3BkKWQgRnQocmVtbyltKHYpbShlcylqKHRoZSlmKHRvcClmKGRpcmVjdG9yeSloKGZyb20pZih0aGUpZyhzdGFjKQotbShrKTYzMCAzNDU1IHkoYW5kKWYocClzKGVyZm9ybXMpZShhKWogRnMoY2QpZiBGdCh0byloKHRoZSlmKG5ldylnKHRvcCkKLWgoZGlyZWN0b3J5KS04IGIoLik0NCBiKFRoZSkzMSBiKGVsZW1lbiltKHRzKWkoYXJlKWUobiltKHVtKW0oYilzKGVyZWQpCi1mKGZyb20pNjMwIDM1NjUgeSgwKWQoc3RhcnRpbmcpZyhhdClnKHRoZSlnKFwwMTRyc3QpZihkaXJlY3RvcnkpaAotKGxpc3RlZClnKHdpdGgpZiBGcyhkaXJzKXAgRnQoOyloKGkuZS4sKWkgRnMocG9wZCljIEZ0KGlzKWkoZXF1aXYpLTUKLWIoYWxlbiltKHQpMjggYih0bylmIEZzKHBvcGQpNjMwIDM2NzQgeSgrMClwIEZ0KC4pNjMwCi0zODM4IHkgRnMoKylwIEZqKE4pMzg0IGIgRnQoUmVtbyltKHYpbShlcykyMiBiKHRoZSlmCi1GcShOKTEwIGIgRnQodGgpMjAgYihkaXJlY3RvcnkpZyhcKGNvdW4pbSh0aW5nKWkoZnJvbSllKHRoZSlnKGxlZnQpaAotKG9mKWcodGhlKWYobGlzdCloKHByaW4pbSh0ZWQpMTExMCAzOTQ3IHkoYiltKHkpMzAgYgotRnMoZGlycylwIEZ0KFwpLClnKHN0YXJ0aW5nKWgod2l0aClmKHplcm8uKTYzMCA0MTExIHkKLUZzKC0pcCBGaihOKTM4NCBiIEZ0KFJlbW8pbSh2KW0oZXMpNDYgYih0aGUpZyBGcShOKTEwCi1iIEZ0KHRoKTQ0IGIoZGlyZWN0b3J5KWgoXChjb3VuKW0odGluZyloKGZyb20pZih0aGUpZyhyaWdoKW0odClnKG9mKWcKLSh0aGUpZyhsaXN0KTExMTAgNDIyMCB5KHByaW4pbSh0ZWQpMzAgYihiKW0oeSlnIEZzKGRpcnMpcAotRnQoXCksKWcoc3RhcnRpbmcpaCh3aXRoKWYoemVyby4pNjMwIDQzODQgeSBGcygtbikzODQKLWIgRnQoU3VwcHJlc3NlcykyNyBiKHRoZSlqKG5vcm1hbClnKGMpbShoYW5nZSlnKG9mKWcoZGlyZWN0b3J5KWcod2hlbillCi0ocmVtbyltKHZpbmcpaihkaXJlY3RvLSkxMTEwIDQ0OTQgeShyaWVzKWYoZnJvbSlnKHRoZSloKHN0YWMpbShrLCloKHNvKQotZih0aGF0KWcob25seSlmKHRoZSloKHN0YWMpbShrKWcoaXMpZyhtYW5pcHVsYXRlZC4pMTUwCi00Njg0IHkgRnMocHVzaGQpODcwIDQ4MjEgeShwdXNoZCk0NiBiKFstbl0paChbKylwIEZqKE4pNTcKLWIgRnMofCk0OCBiIEZqKC1OKTU4IGIgRnMofCk0NyBiIEZqKGRpcik1NyBiIEZzKF0pNjMwCi00OTU3IHkgRnQoU2EpbSh2KW0oZSkzMCBiKHRoZSllKGN1cnJlbiltKHQpZyhkaXJlY3RvcnkpaChvbilmKHRoZSloCi0odG9wKWYob2YpaCh0aGUpZihkaXJlY3RvcnkpaChzdGFjKW0oayloKGFuZCllKHRoZW4pZwotRnMoY2QpZiBGdCh0bylpIEZxKGRpcilwIEZ0KC4pNjMwIDUwNjcgeShXaXRoKWkobm8pZihhcmd1bWVuKW0odHMsKWgKLUZzKHB1c2hkKWUgRnQoZXhjKW0oaGFuZ2VzKWoodGhlKWUodG9wKWgodCltKHcpbShvKWgoZGlyZWN0b3JpZXMuKTYzMAotNTIzMCB5IEZzKC1uKTM4NCBiIEZ0KFN1cHByZXNzZXMpMjYgYih0aGUpaShub3JtYWwpaChjKW0oaGFuZ2UpZyhvZilmCi0oZGlyZWN0b3J5KWgod2hlbillKGFkZGluZyloKGRpcmVjdG9yaWVzKTExMTAgNTM0MCB5KHRvKWoodGhlKWcoc3RhYyltCi0oaywpaChzbyllKHRoYXQpaChvbmx5KWcodGhlKWYoc3RhYyltKGspaShpcylmKG1hbmlwdWxhdGVkLilwCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkgRnMoLWMpMzg0IGIgRnQoQ2xlYXJzKTMxCitiKHRoZSlmKGRpcmVjdG9yeSloKHN0YWMpbShrKWgoYiltKHkpZShkZWxldGluZyloKGFsbCloKG9mKWUodGhlKWgKKyhlbGVtZW4pbSh0cy4pNjMwIDQ1NyB5IEZzKC1sKTM4NCBiIEZ0KFBybylzKGR1Y2VzKTMwCitiKGEpaShsb25nZXIpZyhsaXN0aW5nOyloKHRoZSlmKGRlZmF1bHQpZihsaXN0aW5nKWkoZm9ybWF0KWUodXNlcylnKGEpaAorKHRpbGRlKWcodG8pMTExMCA1NjcgeShkZW5vdGUpZih0aGUpZihob21lKWgoZGlyZWN0b3J5KS04CitiKC4pNjMwIDcyNSB5IEZzKC1wKTM4NCBiIEZ0KENhdXNlcykzMCBiIEZzKGRpcnMpZiBGdCh0bylpKHByaW4pbSh0KWYKKyh0aGUpaChkaXJlY3RvcnkpZyhzdGFjKW0oayloKHdpdGgpZShvbmUpZyhlbiltKHRyeSloKHApcyhlcillKGxpbmUuKQorNjMwIDg4MyB5IEZzKC12KTM4NCBiIEZ0KENhdXNlcykzNiBiIEZzKGRpcnMpZiBGdCh0bylpKHByaW4pbSh0KWYodGhlKWcKKyhkaXJlY3RvcnkpaChzdGFjKW0oayloKHdpdGgpZShvbmUpaChlbiltKHRyeSlmKHApcyhlcilmKGxpbmUsKTExMTAKKzk5MyB5KHByZVwwMTR4aW5nKTMwIGIoZWFjKW0oaCloKGVuKW0odHJ5KWcod2l0aClmKGl0cyloKGluZGV4KWUoaW4paQorKHRoZSlmKHN0YWMpbShrLikxNTAgMTE1MSB5IEZzKHBvcGQpODcwIDEyODUgeShwb3BkKTQ3CitiKFsrKXAgRmkoTik1NyBiIEZzKHwpNDggYigtKXAgRmkoTikxMSBiIEZzKF0pNDYgYihbLW5dKTYzMAorMTQxOSB5IEZ0KFJlbW8pbSh2KW0oZSkyNiBiKHRoZSllKHRvcClnKGVuKW0odHJ5KWgoZnJvbSllKHRoZSloCisoZGlyZWN0b3J5KWgoc3RhYyltKGssKWkoYW5kKWMgRnMoY2QpaCBGdCh0byloKHRoZSlmKG5ldylmKHRvcClpCisoZGlyZWN0b3J5KS04IGIoLik2MzAgMTUyOCB5KFdoZW4pMzIgYihubylnKGFyZ3VtZW4pbSh0cyloKGFyZSlnKGdpdiltCisoZW4sKWggRnMocG9wZClkIEZ0KHJlbW8pbSh2KW0oZXMpaih0aGUpZih0b3ApZihkaXJlY3RvcnkpaChmcm9tKWYodGhlKQorZyhzdGFjKW0oayk2MzAgMTYzOCB5KGFuZClmKHApcyhlcmZvcm1zKWUoYSlqIEZzKGNkKWYKK0Z0KHRvKWgodGhlKWYobmV3KWcodG9wKWgoZGlyZWN0b3J5KS04IGIoLik0NCBiKFRoZSkzMQorYihlbGVtZW4pbSh0cylpKGFyZSllKG4pbSh1bSltKGIpcyhlcmVkKWYoZnJvbSk2MzAgMTc0OAoreSgwKWQoc3RhcnRpbmcpZyhhdClnKHRoZSlnKFwwMTRyc3QpZihkaXJlY3RvcnkpaChsaXN0ZWQpZyh3aXRoKWYKK0ZzKGRpcnMpcCBGdCg7KWgoaS5lLiwpaSBGcyhwb3BkKWMgRnQoaXMpaShlcXVpdiktNSBiKGFsZW4pbSh0KTI4CitiKHRvKWYgRnMocG9wZCk2MzAgMTg1NyB5KCswKXAgRnQoLik2MzAgMjAxNSB5IEZzKCspcAorRmkoTikzODQgYiBGdChSZW1vKW0odiltKGVzKTIyIGIodGhlKWYgRnEoTikxMCBiIEZ0KHRoKTIwCitiKGRpcmVjdG9yeSlnKFwoY291biltKHRpbmcpaShmcm9tKWUodGhlKWcobGVmdCloKG9mKWcodGhlKWYobGlzdCloCisocHJpbiltKHRlZCkxMTEwIDIxMjUgeShiKW0oeSkzMCBiIEZzKGRpcnMpcCBGdChcKSwpZyhzdGFydGluZyloKHdpdGgpZgorKHplcm8uKTYzMCAyMjgzIHkgRnMoLSlwIEZpKE4pMzg0IGIgRnQoUmVtbyltKHYpbShlcyk0NgorYih0aGUpZyBGcShOKTEwIGIgRnQodGgpNDQgYihkaXJlY3RvcnkpaChcKGNvdW4pbSh0aW5nKWgoZnJvbSlmKHRoZSlnCisocmlnaCltKHQpZyhvZilnKHRoZSlnKGxpc3QpMTExMCAyMzkzIHkocHJpbiltKHRlZCkzMAorYihiKW0oeSlnIEZzKGRpcnMpcCBGdChcKSwpZyhzdGFydGluZyloKHdpdGgpZih6ZXJvLik2MzAKKzI1NTEgeSBGcygtbikzODQgYiBGdChTdXBwcmVzc2VzKTI3IGIodGhlKWoobm9ybWFsKWcoYyltKGhhbmdlKWcob2YpZworKGRpcmVjdG9yeSlnKHdoZW4pZShyZW1vKW0odmluZylqKGRpcmVjdG8tKTExMTAgMjY2MQoreShyaWVzKWYoZnJvbSlnKHRoZSloKHN0YWMpbShrLCloKHNvKWYodGhhdClnKG9ubHkpZih0aGUpaChzdGFjKW0oaylnCisoaXMpZyhtYW5pcHVsYXRlZC4pMTUwIDI4MTkgeSBGcyhwdXNoZCk4NzAgMjk1MyB5KHB1c2hkKTQ2CitiKFstbl0paChbKylwIEZpKE4pNTcgYiBGcyh8KTQ4IGIgRmkoLU4pNTggYiBGcyh8KTQ3CitiIEZpKGRpcik1NyBiIEZzKF0pNjMwIDMwODcgeSBGdChTYSltKHYpbShlKTI5IGIodGhlKWYoY3VycmVuKW0odClnCisoZGlyZWN0b3J5KWcob24pZyh0aGUpZyh0b3ApZyhvZilnKHRoZSlnKGRpcmVjdG9yeSloKHN0YWMpbShrKWcoYW5kKWUKKyh0aGVuKWggRnMoY2QpZiBGdCh0bylpIEZxKGRpcik3IGIgRnQoLik2MzAgMzE5NiB5KFdpdGgpMzEKK2Iobm8pZihhcmd1bWVuKW0odHMsKWggRnMocHVzaGQpZSBGdChleGMpbShoYW5nZXMpaih0aGUpZSh0b3ApaCh0KW0odyltCisobyloKGRpcmVjdG9yaWVzLik2MzAgMzM1NCB5IEZzKC1uKTM4NCBiIEZ0KFN1cHByZXNzZXMpMjYKK2IodGhlKWkobm9ybWFsKWgoYyltKGhhbmdlKWcob2YpZihkaXJlY3RvcnkpaCh3aGVuKWUoYWRkaW5nKWgKKyhkaXJlY3RvcmllcykxMTEwIDM0NjQgeSh0bylqKHRoZSlnKHN0YWMpbShrLCloKHNvKWUodGhhdCloKG9ubHkpZyh0aGUpCitmKHN0YWMpbShrKWkoaXMpZihtYW5pcHVsYXRlZC4pNjMwIDM2MjIgeSBGcygrKXAgRmkoTikzODQKK2IgRnQoQnJpbmdzKTI5IGIodGhlKWYgRnEoTikxMCBiIEZ0KHRoKTI5IGIoZGlyZWN0b3J5KWcoXChjb3VuKW0odGluZyloCisoZnJvbSllKHRoZSlnKGxlZnQpaShvZillKHRoZSloKGxpc3QpZyhwcmluKW0odGVkKTExMTAKKzM3MzIgeShiKW0oeSkzNCBiIEZzKGRpcnMpcCBGdCgsKWcoc3RhcnRpbmcpaCh3aXRoKWYoemVyb1wpKWkodG8pZih0aGUpCitmKHRvcClnKG9mKWgodGhlKWYobGlzdCloKGIpbSh5KWYocm90YXRpbmcpaSh0aGUpMTExMAorMzg0MSB5KHN0YWMpbShrLik2MzAgNDAwMCB5IEZzKC0pcCBGaShOKTM4NCBiIEZ0KEJyaW5ncykyMworYih0aGUpZyBGcShOKTEwIGIgRnQodGgpMjMgYihkaXJlY3RvcnkpaChcKGNvdW4pbSh0aW5nKWcoZnJvbSllKHRoZSlpCisocmlnaCltKHQpZihvZilnKHRoZSloKGxpc3QpZihwcmluKW0odGVkKTExMTAgNDEwOSB5KGIpbSh5KTM0CitiIEZzKGRpcnMpcCBGdCgsKWcoc3RhcnRpbmcpaCh3aXRoKWYoemVyb1wpKWkodG8pZih0aGUpZih0b3ApZyhvZiloCisodGhlKWYobGlzdCloKGIpbSh5KWYocm90YXRpbmcpaSh0aGUpMTExMCA0MjE5IHkoc3RhYyltKGsuKTYzMAorNDM3NyB5IEZpKGRpcikzMzYgYiBGdChNYWspbShlcykzNiBiKHRoZSlmKGN1cnJlbiltKHQpZyh3KW0ob3JraW5nKWcKKyhkaXJlY3RvcnkpZyhiKXMoZSlmKHRoZSloKHRvcClnKG9mKWcodGhlKWcoc3RhYyltKGssKWooYW5kKTExMTAKKzQ0ODcgeSh0aGVuKTMwIGIoZXhlY3V0ZXMpaSh0aGUpZShlcXVpdiktNSBiKGFsZW4pbSh0KTMyCitiKG9mKWYoYClwIEZzKGNkKWYgRnEoZGlyKTcgYiBGdCgnLikzOSBiIEZzKGNkKXAgRnQocykzMAorYih0byloIEZxKGRpcik3IGIgRnQoLikxNTAgNDcxOCB5IEZyKDYuOSk2OCBiKENvbilsKHRyb2xsaW5nKTQ3CitiKHRoZSllKFByb21wdCkxNTAgNDg3NyB5IEZ0KFRoZSkyNCBiKHYpLTUgYihhbHVlKTI0CitiKG9mKWgodGhlKWYodiktNSBiKGFyaWFibGUpMjUgYiBGcyhQUk9NUFRfQ09NTUFORCkyMAorYiBGdChpcykyNSBiKGV4YW1pbmVkKWYoanVzdClnKGIpcyhlZm9yZSlmKEJhc2gpaShwcmluKW0odHMpZShlYWMpbShoKWoKKyhwcmltYXJ5KTE1MCA0OTg3IHkocHJvbXB0LikzOSBiKElmKTI4IGIgRnMoUFJPTVBUX0NPTU1BTkQpZAorRnQoaXMpaihzZXQpaChhbmQpZihoYXMpZyhhKWgobm9uLW4pbSh1bGwpZih2KS01IGIoYWx1ZSwpMjkKK2IodGhlbilmKHRoZSloKHYpLTUgYihhbHVlKTI5IGIoaXMpZihleGVjdXRlZClpKGp1c3QpMTUwCis1MDk2IHkoYXMpaChpZilmKGl0KWgoaGFkKWYoYilzKGVlbilmKHQpbSh5cClzKGVkKWgob24paCh0aGUpZihjb21tYW5kKQorZyhsaW5lLikyNzUgNTIzMCB5KEluKWQoYWRkaXRpb24sKWoodGhlKWYoZm9sbG8pbSh3aW5nKWgodGFibGUpZgorKGRlc2NyaWIpcyhlcylmKHRoZSloKHNwKXMoZWNpYWwpZyhjKW0oaGFyYWN0ZXJzKWgod2hpYyltKGgpZihjYW4pZgorKGFwcClzKGVhcilnKGluKWgodGhlKTE1MCA1MzQwIHkocHJvbXB0KWcodiktNSBiKGFyaWFibGVzOilwCiBlb3AgZW5kCiAlJVBhZ2U6IDgzIDg5CiBUZVhEaWN0IGJlZ2luIDgzIDg4IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig2Oik0MQotYihCYXNoKTMwIGIoRiktOCBiKGVhdHVyZXMpMjQ4NCBiKDgzKTYzMCAyOTkgeSBGcygrKXAKLUZqKE4pMzg0IGIgRnQoQnJpbmdzKTI5IGIodGhlKWYgRnEoTikxMCBiIEZ0KHRoKTI5IGIoZGlyZWN0b3J5KWcKLShcKGNvdW4pbSh0aW5nKWgoZnJvbSllKHRoZSlnKGxlZnQpaShvZillKHRoZSloKGxpc3QpZyhwcmluKW0odGVkKTExMTAKLTQwOCB5KGIpbSh5KTM0IGIgRnMoZGlycylwIEZ0KCwpZyhzdGFydGluZyloKHdpdGgpZih6ZXJvXCkpaSh0bylmKHRoZSlmCi0odG9wKWcob2YpaCh0aGUpZihsaXN0KWgoYiltKHkpZihyb3RhdGluZylpKHRoZSkxMTEwCi01MTggeShzdGFjKW0oay4pNjMwIDY3OCB5IEZzKC0pcCBGaihOKTM4NCBiIEZ0KEJyaW5ncykyMwotYih0aGUpZyBGcShOKTEwIGIgRnQodGgpMjMgYihkaXJlY3RvcnkpaChcKGNvdW4pbSh0aW5nKWcoZnJvbSllKHRoZSlpCi0ocmlnaCltKHQpZihvZilnKHRoZSloKGxpc3QpZihwcmluKW0odGVkKTExMTAgNzg4IHkoYiltKHkpMzQKLWIgRnMoZGlycylwIEZ0KCwpZyhzdGFydGluZyloKHdpdGgpZih6ZXJvXCkpaSh0bylmKHRoZSlmKHRvcClnKG9mKWgKLSh0aGUpZihsaXN0KWgoYiltKHkpZihyb3RhdGluZylpKHRoZSkxMTEwIDg5NyB5KHN0YWMpbShrLik2MzAKLTEwNTcgeSBGaihkaXIpMzM2IGIgRnQoTWFrKW0oZXMpMzYgYih0aGUpZihjdXJyZW4pbSh0KWcodyltKG9ya2luZylnCi0oZGlyZWN0b3J5KWcoYilzKGUpZih0aGUpaCh0b3ApZyhvZilnKHRoZSlnKHN0YWMpbShrLClqKGFuZCkxMTEwCi0xMTY3IHkodGhlbikzMCBiKGV4ZWN1dGVzKWkodGhlKWUoZXF1aXYpLTUgYihhbGVuKW0odCkzMgotYihvZilmKGApcCBGcyhjZClmIEZxKGRpcik3IGIgRnQoJy4pMzkgYiBGcyhjZClwIEZ0KHMpMzAKLWIodG8paCBGcShkaXIpcCBGdCguKTE1MCAxNDI1IHkgRnIoNi45KTY4IGIoQ29uKWwodHJvbGxpbmcpNDcKLWIodGhlKWUoUHJvbXB0KTI3NSAxNjcwIHkgRnQoVGhlKWModiktNSBiKGFsdWUpNDMgYihvZilmKHRoZSloKHYpLTUKLWIoYXJpYWJsZSk0MyBiIEZzKFBST01QVF9DT01NQU5EKTM4IGIgRnQoaXMpayhleGFtaW5lZClnKGp1c3QpZyhiKXMKLShlZm9yZSlnKEJhc2gpZyhwcmluKW0odHMpZyhlYWMpbShoKTE1MCAxNzc5IHkocHJpbWFyeSlmKHByb21wdC4pNzMKLWIoSWYpNDEgYiBGcyhQUk9NUFRfQ09NTUFORClkIEZ0KGlzKWooc2V0KWgoYW5kKWYoaGFzKWgoYSlnKG5vbi1uKW0KLSh1bGwpZih2KS01IGIoYWx1ZSwpNDUgYih0aGVuKWModGhlKWgodiktNSBiKGFsdWUpNDIKLWIoaXMpMTUwIDE4ODkgeShleGVjdXRlZCkzMSBiKGp1c3QpZihhcyloKGlmKWYoaXQpaChoYWQpZihiKXMoZWVuKWYodCltCi0oeXApcyhlZCloKG9uKWgodGhlKWYoY29tbWFuZClnKGxpbmUuKTI3NSAyMDI0IHkoSW4pZChhZGRpdGlvbiwpaih0aGUpZgotKGZvbGxvKW0od2luZyloKHRhYmxlKWYoZGVzY3JpYilzKGVzKWYodGhlKWgoc3ApcyhlY2lhbClnKGMpbQotKGhhcmFjdGVycyloKHdoaWMpbShoKWYoY2FuKWYoYXBwKXMoZWFyKWcoaW4paCh0aGUpMTUwCi0yMTMzIHkocHJvbXB0KWcodiktNSBiKGFyaWFibGVzOikxNTAgMjI5MyB5IEZzKFxcYSkzODQKLWIgRnQoQSkzMCBiKGIpcyhlbGwpaChjKW0oaGFyYWN0ZXIuKTE1MCAyNDUzIHkgRnMoXFxkKTM4NAorYihCYXNoKTMwIGIoRiktOCBiKGVhdHVyZXMpMjQ4NCBiKDgzKTE1MCAyOTkgeSBGcyhcXGEpMzg0CitiIEZ0KEEpMzAgYihiKXMoZWxsKWgoYyltKGhhcmFjdGVyLikxNTAgNDU3IHkgRnMoXFxkKTM4NAogYiBGdChUaGUpMzAgYihkYXRlLCloKGluKWYgRnMoIilwIEZ0KFcpLTggYihlZWtkYSltKHkpMzIKIGIoTW9uKW0odGgpZihEYXRlKXAgRnMoIiloIEZ0KGZvcm1hdClmKFwoZS5nLiwpaCBGcygiKXAKLUZ0KFQpLTggYih1ZSkzMCBiKE1hKW0oeSloKDI2KXAgRnMoIilwIEZ0KFwpLikxNTAgMjYxMwoteSBGcyhcXER7KXAgRmooZm9ybWF0KTExIGIgRnMofSk2MzAgMjcyMyB5IEZ0KFRoZSkyNwotYiBGcShmb3JtYXQpaSBGdChpcylmKHBhc3NlZCllKHRvKWkgRnMoc3RyZnRpbWUpcCBGdChcKDNcKSlmKGFuZClmKHRoZSkKLWkocmVzdWx0KWYoaXMpZyhpbnNlcnRlZClnKGluKW0odG8paCh0aGUpZyhwcm9tcHQpNjMwCi0yODMyIHkoc3RyaW5nOyk0MiBiKGFuKWQoZW1wdCltKHkpZiBGcShmb3JtYXQpaiBGdChyZXN1bHRzKWQoaW4pZyhhKWgKK0Z0KFQpLTggYih1ZSkzMCBiKE1hKW0oeSloKDI2KXAgRnMoIilwIEZ0KFwpLikxNTAgNjE1Cit5IEZzKFxcRHspcCBGaShmb3JtYXQpMTEgYiBGcyh9KTYzMCA3MjUgeSBGdChUaGUpMjcgYgorRnEoZm9ybWF0KWkgRnQoaXMpZihwYXNzZWQpZSh0bylpIEZzKHN0cmZ0aW1lKXAgRnQoXCgzXCkpZihhbmQpZih0aGUpaQorKHJlc3VsdClmKGlzKWcoaW5zZXJ0ZWQpZyhpbiltKHRvKWgodGhlKWcocHJvbXB0KTYzMAorODM1IHkoc3RyaW5nOyk0MiBiKGFuKWQoZW1wdCltKHkpZiBGcShmb3JtYXQpaiBGdChyZXN1bHRzKWQoaW4pZyhhKWgKIChsbylzKGNhbGUtc3ApcyhlY2lcMDE0YyloKHRpbWUpZihyZXByZXNlbiltKHRhdGlvbi4pNjUKLWIoVGhlKTYzMCAyOTQyIHkoYnJhY2VzKTMxIGIoYXJlKWYocmVxdWlyZWQuKTE1MCAzMTAyCitiKFRoZSk2MzAgOTQ0IHkoYnJhY2VzKTMxIGIoYXJlKWYocmVxdWlyZWQuKTE1MCAxMTAzCiB5IEZzKFxcZSkzODQgYiBGdChBbikzMCBiKGVzY2FwKXMoZSloKGMpbShoYXJhY3Rlci4pMTUwCi0zMjYyIHkgRnMoXFxoKTM4NCBiIEZ0KFRoZSkzMCBiKGhvc3RuYW1lLCloKHVwKWUodG8paSh0aGUpZyhcMDE0cnN0KWUKLShgLicuKTE1MCAzNDIyIHkgRnMoXFxIKTM4NCBiIEZ0KFRoZSkzMCBiKGhvc3RuYW1lLikxNTAKLTM1ODEgeSBGcyhcXGopMzg0IGIgRnQoVGhlKTMwIGIobiltKHVtKW0oYilzKGVyKWYob2YpaChqb2JzKWcoY3VycmVuKW0KLSh0bHkpaChtYW5hZ2VkKWcoYiltKHkpZih0aGUpZyhzaGVsbC4pMTUwIDM3NDEgeSBGcyhcXGwpMzg0CisxMjYxIHkgRnMoXFxoKTM4NCBiIEZ0KFRoZSkzMCBiKGhvc3RuYW1lLCloKHVwKWUodG8paSh0aGUpZyhcMDE0cnN0KWUKKyhgLicuKTE1MCAxNDE5IHkgRnMoXFxIKTM4NCBiIEZ0KFRoZSkzMCBiKGhvc3RuYW1lLikxNTAKKzE1NzcgeSBGcyhcXGopMzg0IGIgRnQoVGhlKTMwIGIobiltKHVtKW0oYilzKGVyKWYob2YpaChqb2JzKWcoY3VycmVuKW0KKyh0bHkpaChtYW5hZ2VkKWcoYiltKHkpZih0aGUpZyhzaGVsbC4pMTUwIDE3MzYgeSBGcyhcXGwpMzg0CiBiIEZ0KFRoZSkzMCBiKGJhc2VuYW1lKWgob2YpZih0aGUpaChzaGVsbCdzKWYodGVybWluYWwpaChkZXZpY2UpZwotKG5hbWUuKTE1MCAzOTAxIHkgRnMoXFxuKTM4NCBiIEZ0KEEpMzAgYihuZXdsaW5lLikxNTAKLTQwNjEgeSBGcyhcXHIpMzg0IGIgRnQoQSkzMCBiKGNhcnJpYWdlKWkocmV0dXJuLikxNTAKLTQyMjEgeSBGcyhcXHMpMzg0IGIgRnQoVGhlKTIyIGIobmFtZSlnKG9mKWgodGhlKWYoc2hlbGwsKWkodGhlKWYKKyhuYW1lLikxNTAgMTg5NCB5IEZzKFxcbikzODQgYiBGdChBKTMwIGIobmV3bGluZS4pMTUwCisyMDUyIHkgRnMoXFxyKTM4NCBiIEZ0KEEpMzAgYihjYXJyaWFnZSlpKHJldHVybi4pMTUwCisyMjExIHkgRnMoXFxzKTM4NCBiIEZ0KFRoZSkyMiBiKG5hbWUpZyhvZiloKHRoZSlmKHNoZWxsLClpKHRoZSlmCiAoYmFzZW5hbWUpZihvZiloIEZzKCQwKWYgRnQoXCh0aGUpZyhwKXMob3J0aW9uKWcoZm9sbG8pbSh3aW5nKWkodGhlKWYKLShcMDE0bmFsKWUoc2xhc2hcKS4pMTUwIDQzODEgeSBGcyhcXHQpMzg0IGIgRnQoVGhlKTMwCi1iKHRpbWUsKWgoaW4pZigyNC1ob3VyKWgoSEg6TU06U1MpZyhmb3JtYXQuKTE1MCA0NTQxCisoXDAxNG5hbCllKHNsYXNoXCkuKTE1MCAyMzY5IHkgRnMoXFx0KTM4NCBiIEZ0KFRoZSkzMAorYih0aW1lLCloKGluKWYoMjQtaG91ciloKEhIOk1NOlNTKWcoZm9ybWF0LikxNTAgMjUyNwogeSBGcyhcXFQpMzg0IGIgRnQoVGhlKTMwIGIodGltZSwpaChpbilmKDEyLWhvdXIpaChISDpNTTpTUylnKGZvcm1hdC4pCi0xNTAgNDcwMSB5IEZzKFxcQCkzODQgYiBGdChUaGUpMzAgYih0aW1lLCloKGluKWYoMTItaG91ciloKGFtL3BtKWYKLShmb3JtYXQuKTE1MCA0ODYwIHkgRnMoXFxBKTM4NCBiIEZ0KFRoZSkzMCBiKHRpbWUsKWgoaW4pZigyNC1ob3VyKWgKLShISDpNTSlnKGZvcm1hdC4pMTUwIDUwMjAgeSBGcyhcXHUpMzg0IGIgRnQoVGhlKTMwIGIodXNlcm5hbWUpZyhvZilnCi0odGhlKWgoY3VycmVuKW0odClmKHVzZXIuKTE1MCA1MTgwIHkgRnMoXFx2KTM4NCBiIEZ0KFRoZSkzMAotYih2KW0oZXJzaW9uKWgob2YpZihCYXNoKWgoXChlLmcuLCloKDIuMDBcKSkxNTAgNTM0MAorMTUwIDI2ODUgeSBGcyhcXEApMzg0IGIgRnQoVGhlKTMwIGIodGltZSwpaChpbilmKDEyLWhvdXIpaChhbS9wbSlmCisoZm9ybWF0LikxNTAgMjg0NCB5IEZzKFxcQSkzODQgYiBGdChUaGUpMzAgYih0aW1lLCloKGluKWYoMjQtaG91ciloCisoSEg6TU0pZyhmb3JtYXQuKTE1MCAzMDAyIHkgRnMoXFx1KTM4NCBiIEZ0KFRoZSkzMCBiKHVzZXJuYW1lKWcob2YpZworKHRoZSloKGN1cnJlbiltKHQpZih1c2VyLikxNTAgMzE2MCB5IEZzKFxcdikzODQgYiBGdChUaGUpMzAKK2IodiltKGVyc2lvbiloKG9mKWYoQmFzaCloKFwoZS5nLiwpaCgyLjAwXCkpMTUwIDMzMTkKIHkgRnMoXFxWKTM4NCBiIEZ0KFRoZSkzMCBiKHJlbGVhc2UpaShvZillKEJhc2gsKWgodiltKGVyc2lvbilnCi1GcygrKWYgRnQocGF0YyltKGhsZXYpbShlbClpKFwoZS5nLiwpaCgyLjAwLjBcKSlwIGVvcAotZW5kCi0lJVBhZ2U6IDg0IDkwCi1UZVhEaWN0IGJlZ2luIDg0IDg5IGJvcCAxNTAgLTExNiBhIEZ0KDg0KTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRnMoXFx3KTM4NCBiIEZ0KFRoZSkzNAotYihjdXJyZW4pbSh0KWgodyltKG9ya2luZylnKGRpcmVjdG9yeSktOCBiKCwpMzcgYih3aXRoKWUKLUZzKCRIT01FKWUgRnQoYWJicmV2aWF0ZWQpaih3aXRoKWUoYSloKHRpbGRlKWgoXCh1c2VzKWYodGhlKTYzMAotNDA4IHkgRnMoJFBST01QVF9ESVJUUklNKTI2IGIgRnQodiktNSBiKGFyaWFibGVcKS4pMTUwCi01NjQgeSBGcyhcXFcpMzg0IGIgRnQoVGhlKTMwIGIoYmFzZW5hbWUpaChvZilmIEZzKCRQV0QpcAorRnMoKylmIEZ0KHBhdGMpbShobGV2KW0oZWwpaShcKGUuZy4sKWgoMi4wMC4wXCkpMTUwIDM0NzcKK3kgRnMoXFx3KTM4NCBiIEZ0KFRoZSkzNCBiKGN1cnJlbiltKHQpaCh3KW0ob3JraW5nKWcoZGlyZWN0b3J5KS04CitiKCwpMzcgYih3aXRoKWUgRnMoJEhPTUUpZSBGdChhYmJyZXZpYXRlZClqKHdpdGgpZShhKWgodGlsZGUpaChcKHVzZXMpZgorKHRoZSk2MzAgMzU4NyB5IEZzKCRQUk9NUFRfRElSVFJJTSkyNiBiIEZ0KHYpLTUgYihhcmlhYmxlXCkuKTE1MAorMzc0NSB5IEZzKFxcVykzODQgYiBGdChUaGUpMzAgYihiYXNlbmFtZSloKG9mKWYgRnMoJFBXRClwCiBGdCgsKWcod2l0aClnIEZzKCRIT01FKWYgRnQoYWJicmV2aWF0ZWQpaCh3aXRoKWcoYSloKHRpbGRlLikxNTAKLTcxOSB5IEZzKFxcISkzODQgYiBGdChUaGUpMzAgYihoaXN0b3J5KWcobiltKHVtKW0oYilzKGVyKWYob2YpaSh0aGlzKWYKLShjb21tYW5kLikxNTAgODc1IHkgRnMoXFwjKTM4NCBiIEZ0KFRoZSkzMCBiKGNvbW1hbmQpZyhuKW0odW0pbShiKXMoZXIpCi1mKG9mKWkodGhpcylmKGNvbW1hbmQuKTE1MCAxMDMxIHkgRnMoXFwkKTM4NCBiIEZ0KElmKTMwCiszOTAzIHkgRnMoXFwhKTM4NCBiIEZ0KFRoZSkzMCBiKGhpc3RvcnkpZyhuKW0odW0pbShiKXMoZXIpZihvZilpKHRoaXMpZgorKGNvbW1hbmQuKTE1MCA0MDYxIHkgRnMoXFwjKTM4NCBiIEZ0KFRoZSkzMCBiKGNvbW1hbmQpZyhuKW0odW0pbShiKXMKKyhlcilmKG9mKWkodGhpcylmKGNvbW1hbmQuKTE1MCA0MjIwIHkgRnMoXFwkKTM4NCBiIEZ0KElmKTMwCiBiKHRoZSlnKGVcMDEzZWN0aXYpbShlKWoodWlkKWQoaXMpZygwLCloIEZzKCMpcCBGdCgsKWcob3RoZXJ3aXNlKWcKLUZzKCQpcCBGdCguKTE1MCAxMTg2IHkgRnMoXFwpcCBGaihubm4pMjg4IGIgRnQoVGhlKTMwCitGcygkKXAgRnQoLikxNTAgNDM3OCB5IEZzKFxcKXAgRmkobm5uKTI4OCBiIEZ0KFRoZSkzMAogYihjKW0oaGFyYWN0ZXIpaSh3aG9zZSllKEFTQ0kpcyhJKWYoY28pcyhkZSloKGlzKWgodGhlKWYobylzKGN0YWwpaSh2KQotLTUgYihhbHVlKTMxIGIgRnEobm5uKXAgRnQoLikxNTAgMTM0MiB5IEZzKFxcXFwpMzg0IGIKLUZ0KEEpMzAgYihiYWMpbShrc2xhc2guKTE1MCAxNDk3IHkgRnMoXFxbKTM4NCBiIEZ0KEJlZ2luKTM4CistNSBiKGFsdWUpMzEgYiBGcShubm4pcCBGdCguKTE1MCA0NTM2IHkgRnMoXFxcXCkzODQgYgorRnQoQSkzMCBiKGJhYyltKGtzbGFzaC4pMTUwIDQ2OTUgeSBGcyhcXFspMzg0IGIgRnQoQmVnaW4pMzgKIGIoYSlmKHNlcXVlbmNlKWcob2YpZyhub24tcHJpbiltKHRpbmcpZyhjKW0oaGFyYWN0ZXJzLik2MQogYihUaGlzKTM2IGIoY291bGQpaChiKXMoZSlnKHVzZWQpZih0byloKGVtKW0oYilzKGVkKWcoYSk2MzAKLTE2MDcgeSh0ZXJtaW5hbCkzMSBiKGNvbiltKHRyb2wpaChzZXF1ZW5jZSllKGluKW0odG8paSh0aGUpZShwcm9tcHQuKQotMTUwIDE3NjIgeSBGcyhcXF0pMzg0IGIgRnQoRW5kKTI5IGIoYSlpKHNlcXVlbmNlKWcob2YpZihub24tcHJpbiltCi0odGluZylnKGMpbShoYXJhY3RlcnMuKTI3NSAxOTE4IHkoVGhlKTI1IGIoY29tbWFuZCloKG4pbSh1bSltKGIpcyhlcilmCis0ODA0IHkodGVybWluYWwpMzEgYihjb24pbSh0cm9sKWgoc2VxdWVuY2UpZShpbiltKHRvKWkodGhlKWUocHJvbXB0LikKKzE1MCA0OTYzIHkgRnMoXFxdKTM4NCBiIEZ0KEVuZCkyOSBiKGEpaShzZXF1ZW5jZSlnKG9mKWYobm9uLXByaW4pbQorKHRpbmcpZyhjKW0oaGFyYWN0ZXJzLikyNzUgNTEyMSB5KFRoZSkyNSBiKGNvbW1hbmQpaChuKW0odW0pbShiKXMoZXIpZgogKGFuZCloKHRoZSlnKGhpc3RvcnkpZyhuKW0odW0pbShiKXMoZXIpZihhcmUpaSh1c3VhbGx5KWYoZGlcMDEzZXJlbiltCi0odDopMzkgYih0aGUpMjYgYihoaXN0b3J5KWcobiltKHVtKW0oYilzKGVyKTE1MCAyMDI3CisodDopMzkgYih0aGUpMjYgYihoaXN0b3J5KWcobiltKHVtKW0oYilzKGVyKTE1MCA1MjMwCiB5KG9mKWgoYSlmKGNvbW1hbmQpaChpcylmKGl0cyloKHApcyhvc2l0aW9uKWYoaW4pZyh0aGUpaChoaXN0b3J5KWYKIChsaXN0LClpKHdoaWMpbShoKWYobWEpbSh5KWcoaW5jbHVkZSlmKGNvbW1hbmRzKWcocmVzdG9yZWQpZyhmcm9tKTE1MAotMjEzNyB5KHRoZSkzOSBiKGhpc3RvcnkpaChcMDE0bGUpZihcKHNlZSloKFNlY3Rpb24pZyg5LjEpaChbQmFzaCllCis1MzQwIHkodGhlKTM5IGIoaGlzdG9yeSloKFwwMTRsZSlmKFwoc2VlKWgoU2VjdGlvbilnKDkuMSloKFtCYXNoKWUKIChIaXN0b3J5KWgoRiktOCBiKGFjaWxpdGllc10sKTQ1IGIocGFnZSk0MCBiKDEyMVwpLClqKHdoaWxlKWQodGhlKWYKLShjb21tYW5kKTE1MCAyMjQ2IHkobiltKHVtKW0oYilzKGVyKWooaXMpaCh0aGUpaChwKXMob3NpdGlvbilmKGluKWcKLSh0aGUpZyhzZXF1ZW5jZSloKG9mKWYoY29tbWFuZHMpZyhleGVjdXRlZCloKGR1cmluZyllKHRoZSlpKGN1cnJlbiltKHQpCi1mKHNoZWxsKTE1MCAyMzU2IHkoc2Vzc2lvbi4pMjc1IDI0ODkgeShBZnRlcikzNSBiKHRoZSlnKHN0cmluZylnKGlzKWcKLShkZWNvKXMoZGVkLCloKGl0KWYoaXMpZyhleHBhbmRlZClmKHZpYSlpKHBhcmFtZXRlcilmKGV4cGFuc2lvbiwpaQotKGNvbW1hbmQpZChzdWJzdGktKTE1MCAyNTk4IHkodHV0aW9uLClrKGFyaXRobWV0aWMpZihleHBhbnNpb24sKWcoYW5kKWUKLShxdW90ZSloKHJlbW8pbSh2KS01IGIoYWwsKTM5IGIoc3ViKTUgYihqZWN0KTM1IGIodG8paSh0aGUpZih2KS01Ci1iKGFsdWUpMzYgYihvZilnKHRoZSlnIEZzKHByb21wdHZhcnMpMTUwIDI3MDggeSBGdChzaGVsbCkzMQotYihvcHRpb24pZihcKHNlZSlpKFNlY3Rpb24pZig0LjIpZyhbQmFzaClnKEJ1aWx0aW5zXSwpZyhwYWdlKWcoNDFcKS4pCi0xNTAgMjk1OSB5IEZyKDYuMTApNjggYihUaGUpNDUgYihSZXN0cmljdGVkKWgoU2hlbGwpMjc1Ci0zMjAxIHkgRnQoSWYpMjYgYihCYXNoKWgoaXMpZihzdGFydGVkKWgod2l0aClnKHRoZSlnKG5hbWUpZgotRnMocmJhc2gpcCBGdCgsKWgob3IpZih0aGUpaChgKXAgRnMoLS1yZXN0cmljdGVkKXAgRnQoJylkKG9yKWooYClwCi1GcygtcilwIEZ0KCcpZihvcHRpb24paChpcylnKHN1cHBsaWVkKTE1MCAzMzExIHkoYXQpMzIKLWIoaW4pbSh2KW0obylzKGNhdGlvbiwpaSh0aGUpZChzaGVsbClnKGIpcyhlY29tZXMpaChyZXN0cmljdGVkLik0NAotYihBKTMxIGIocmVzdHJpY3RlZCloKHNoZWxsKWYoaXMpZyh1c2VkKWcodG8paChzZXQpZih1cClmKGFuKWkoZW4pbQotKHZpcm9uLSkxNTAgMzQyMSB5KG1lbiltKHQpMjYgYihtb3JlKWYoY29uKW0odHJvbGxlZClpKHRoYW4pZSh0aGUpaAotKHN0YW5kYXJkKWUoc2hlbGwuKTQwIGIoQSkyNSBiKHJlc3RyaWN0ZWQpaChzaGVsbClnKGIpcyhlaGEpbSh2KW0oZXMpZwotKGlkZW4pbSh0aWNhbGx5KWgodG8pZiBGcyhiYXNoKTE1MCAzNTMwIHkgRnQod2l0aClrKHRoZSloKGV4Y2VwdGlvbilnCi0odGhhdClnKHRoZSlnKGZvbGxvKW0od2luZyloKGFyZSllKGRpc2FsbG8pbSh3KW0oZWQpaShvcilmKG5vdClmKHApcwotKGVyZm9ybWVkOikyMjUgMzY2MyB5IEZwKFwwMTcpNjAgYiBGdChDaGFuZ2luZykzMCBiKGRpcmVjdG9yaWVzKWgod2l0aCkKLWcodGhlKWYgRnMoY2QpZyBGdChidWlsdGluLikyMjUgMzc5NSB5IEZwKFwwMTcpNjAgYiBGdChTZXR0aW5nKTMxCisoY29tbWFuZClwIGVvcCBlbmQKKyUlUGFnZTogODQgOTAKK1RlWERpY3QgYmVnaW4gODQgODkgYm9wIDE1MCAtMTE2IGEgRnQoODQpMjU3MiBiKEJhc2gpMzEKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeShuKW0odW0pbShiKXMoZXIpNDIKK2IoaXMpaCh0aGUpaChwKXMob3NpdGlvbilmKGluKWcodGhlKWcoc2VxdWVuY2UpaChvZilmKGNvbW1hbmRzKWcKKyhleGVjdXRlZCloKGR1cmluZyllKHRoZSlpKGN1cnJlbiltKHQpZihzaGVsbCkxNTAgNDA4Cit5KHNlc3Npb24uKTI3NSA1NTAgeShBZnRlcikzNSBiKHRoZSlnKHN0cmluZylnKGlzKWcoZGVjbylzKGRlZCwpaChpdClmCisoaXMpZyhleHBhbmRlZClmKHZpYSlpKHBhcmFtZXRlcilmKGV4cGFuc2lvbiwpaShjb21tYW5kKWQoc3Vic3RpLSkxNTAKKzY1OSB5KHR1dGlvbiwpayhhcml0aG1ldGljKWYoZXhwYW5zaW9uLClnKGFuZCllKHF1b3RlKWgocmVtbyltKHYpLTUKK2IoYWwsKTM5IGIoc3ViKTUgYihqZWN0KTM1IGIodG8paSh0aGUpZih2KS01IGIoYWx1ZSkzNgorYihvZilnKHRoZSlnIEZzKHByb21wdHZhcnMpMTUwIDc2OSB5IEZ0KHNoZWxsKTMxIGIob3B0aW9uKWYoXChzZWUpaQorKFNlY3Rpb24pZig0LjIpZyhbQmFzaClnKEJ1aWx0aW5zXSwpZyhwYWdlKWcoNDFcKS4pMTUwCisxMDEyIHkgRnIoNi4xMCk2OCBiKFRoZSk0NSBiKFJlc3RyaWN0ZWQpaChTaGVsbCkxNTAgMTE3MQoreSBGdChJZikyNyBiKEJhc2gpaChpcylnKHN0YXJ0ZWQpZyh3aXRoKWcodGhlKWcobmFtZSlnCitGcyhyYmFzaClwIEZ0KCwpZihvcilnKHRoZSloKGApcCBGcygtLXJlc3RyaWN0ZWQpcCBGdCgnKWQob3IpaihgKXAKK0ZzKC1yKXAgRnQoJylnKG9wdGlvbilnKGlzKWcoc3VwcGxpZWQpZShhdCkxNTAgMTI4MSB5KGluKW0odiltKG8pcworKGNhdGlvbiwpayh0aGUpZChzaGVsbClnKGIpcyhlY29tZXMpaChyZXN0cmljdGVkLik0MAorYihBKTI3IGIocmVzdHJpY3RlZCloKHNoZWxsKWYoaXMpZyh1c2VkKWYodG8paShzZXQpZih1cClmKGFuKWgoZW4pbQorKHZpcm9ubWVuKW0odCkxNTAgMTM5MSB5KG1vcmUpZyhjb24pbSh0cm9sbGVkKWkodGhhbillKHRoZSlnKHN0YW5kYXJkKWcKKyhzaGVsbC4pNDAgYihBKTI3IGIocmVzdHJpY3RlZCloKHNoZWxsKWYoYilzKGVoYSltKHYpbShlcyloKGlkZW4pbQorKHRpY2FsbHkpaCh0bylmIEZzKGJhc2gpZSBGdCh3aXRoKTE1MCAxNTAwIHkodGhlKTMxIGIoZXhjZXB0aW9uKWcodGhhdCkKK2codGhlKWcoZm9sbG8pbSh3aW5nKWgoYXJlKWUoZGlzYWxsbyltKHcpbShlZClpKG9yKWUobm90KWgocClzCisoZXJmb3JtZWQ6KTIyNSAxNjQyIHkgRnAoXDAxNyk2MCBiIEZ0KENoYW5naW5nKTMwIGIoZGlyZWN0b3JpZXMpaCh3aXRoKQorZyh0aGUpZiBGcyhjZClnIEZ0KGJ1aWx0aW4uKTIyNSAxNzgwIHkgRnAoXDAxNyk2MCBiIEZ0KFNldHRpbmcpMzEKIGIob3IpZih1bnNldHRpbmcpaCh0aGUpZyh2KS01IGIoYWx1ZXMpMzAgYihvZiloKHRoZSlmCiBGcyhTSEVMTClwIEZ0KCwpZyBGcyhQQVRIKXAgRnQoLClmIEZzKEVOVilwIEZ0KCwpaChvcilnCi1GcyhCQVNIX0VOVillIEZ0KHYpLTUgYihhcmlhYmxlcy4pMjI1IDM5MjggeSBGcChcMDE3KTYwCitGcyhCQVNIX0VOVillIEZ0KHYpLTUgYihhcmlhYmxlcy4pMjI1IDE5MTcgeSBGcChcMDE3KTYwCiBiIEZ0KFNwKXMoZWNpZnlpbmcpMzAgYihjb21tYW5kKWcobmFtZXMpZyhjb24pbSh0YWluaW5nKWkoc2xhc2hlcy4pMjI1Ci00MDYwIHkgRnAoXDAxNyk2MCBiIEZ0KFNwKXMoZWNpZnlpbmcpMzAgYihhKWgoXDAxNGxlbmFtZSlmKGNvbiltCisyMDU1IHkgRnAoXDAxNyk2MCBiIEZ0KFNwKXMoZWNpZnlpbmcpMzAgYihhKWgoXDAxNGxlbmFtZSlmKGNvbiltCiAodGFpbmluZylpKGEpZihzbGFzaClmKGFzKWgoYW4pZihhcmd1bWVuKW0odCloKHRvKWcodGhlKWYKLUZzKC4paCBGdChidWlsdGluKWUoY29tbWFuZC4pMjI1IDQxOTMgeSBGcChcMDE3KTYwIGIKK0ZzKC4paCBGdChidWlsdGluKWUoY29tbWFuZC4pMjI1IDIxOTMgeSBGcChcMDE3KTYwIGIKIEZ0KFNwKXMoZWNpZnlpbmcpMjggYihhKWkoXDAxNGxlbmFtZSlmKGNvbiltKHRhaW5pbmcpaChhKWcoc2xhc2gpZShhcyloCiAoYW4pZyhhcmd1bWVuKW0odCloKHRvKWYodGhlKWcoYClwIEZzKC1wKXAgRnQoJylnKG9wdGlvbilnKHRvKWgodGhlKWYKLUZzKGhhc2gpMzMwIDQzMDMgeSBGdChidWlsdGluKWgoY29tbWFuZC4pMjI1IDQ0MzUgeSBGcChcMDE3KTYwCitGcyhoYXNoKTMzMCAyMzAzIHkgRnQoYnVpbHRpbiloKGNvbW1hbmQuKTIyNSAyNDQxIHkgRnAoXDAxNyk2MAogYiBGdChJbXApcyhvcnRpbmcpMzAgYihmdW5jdGlvbilnKGRlXDAxNG5pdGlvbnMpZyhmcm9tKWYodGhlKWkoc2hlbGwpZwotKGVuKW0odmlyb25tZW4pbSh0KWcoYXQpZyhzdGFydHVwLikyMjUgNDU2OCB5IEZwKFwwMTcpNjAKKyhlbiltKHZpcm9ubWVuKW0odClnKGF0KWcoc3RhcnR1cC4pMjI1IDI1NzkgeSBGcChcMDE3KTYwCiBiIEZ0KFApbShhcnNpbmcpMzEgYih0aGUpZih2KS01IGIoYWx1ZSkzMSBiKG9mKWcgRnMoU0hFTExPUFRTKWQKIEZ0KGZyb20paCh0aGUpaShzaGVsbClnKGVuKW0odmlyb25tZW4pbSh0KWcoYXQpZyhzdGFydHVwLikyMjUKLTQ3MDAgeSBGcChcMDE3KTYwIGIgRnQoUmVkaXJlY3RpbmcpMzEgYihvdXRwdXQpZih1c2luZylnKHRoZSloKGApcAorMjcxNyB5IEZwKFwwMTcpNjAgYiBGdChSZWRpcmVjdGluZykzMSBiKG91dHB1dClmKHVzaW5nKWcodGhlKWgoYClwCiBGcyg+KXAgRnQoJywpZyhgKXAgRnMoPnwpcCBGdCgnLClmKGApcCBGcyg8PilwIEZ0KCcsKWgoYClwCiBGcyg+JilwIEZ0KCcsKWYoYClwIEZzKCY+KXAgRnQoJywpaChhbmQpZShgKXAgRnMoPj4pcAotRnQoJylpKHJlZGlyZWN0aW9uKWcob3ApcyhlcmF0b3JzLikyMjUgNDgzMyB5IEZwKFwwMTcpNjAKK0Z0KCcpaShyZWRpcmVjdGlvbilnKG9wKXMoZXJhdG9ycy4pMjI1IDI4NTUgeSBGcChcMDE3KTYwCiBiIEZ0KFVzaW5nKTMxIGIodGhlKWYgRnMoZXhlYylmIEZ0KGJ1aWx0aW4paCh0byloKHJlcGxhY2UpaCh0aGUpZQotKHNoZWxsKWgod2l0aClmKGFub3RoZXIpaChjb21tYW5kLikyMjUgNDk2NSB5IEZwKFwwMTcpNjAKKyhzaGVsbCloKHdpdGgpZihhbm90aGVyKWgoY29tbWFuZC4pMjI1IDI5OTMgeSBGcChcMDE3KTYwCiBiIEZ0KEFkZGluZyk0MCBiKG9yKWgoZGVsZXRpbmcpaChidWlsdGluKWUoY29tbWFuZHMpaCh3aXRoKWYodGhlKWgoYClwCiBGcygtZilwIEZ0KCcpZyhhbmQpZihgKXAgRnMoLWQpcCBGdCgnKWgob3B0aW9ucylnKHRvKWgodGhlKWYKLUZzKGVuYWJsZSkzMzAgNTA3NSB5IEZ0KGJ1aWx0aW4uKTIyNSA1MjA3IHkgRnAoXDAxNyk2MAorRnMoZW5hYmxlKTMzMCAzMTAyIHkgRnQoYnVpbHRpbi4pMjI1IDMyNDAgeSBGcChcMDE3KTYwCiBiIEZ0KFVzaW5nKTMxIGIodGhlKWYgRnMoZW5hYmxlKWYgRnQoYnVpbHRpbiloKGNvbW1hbmQpZyh0byloKGVuYWJsZSlnCi0oZGlzYWJsZWQpZihzaGVsbClnKGJ1aWx0aW5zLikyMjUgNTM0MCB5IEZwKFwwMTcpNjAgYgorKGRpc2FibGVkKWYoc2hlbGwpZyhidWlsdGlucy4pMjI1IDMzNzggeSBGcChcMDE3KTYwIGIKIEZ0KFNwKXMoZWNpZnlpbmcpMzAgYih0aGUpZyhgKXAgRnMoLXApcCBGdCgnKWgob3B0aW9uKWcodG8pZyh0aGUpZgotRnMoY29tbWFuZClmIEZ0KGJ1aWx0aW4uKXAgZW9wIGVuZAorRnMoY29tbWFuZClmIEZ0KGJ1aWx0aW4uKTIyNSAzNTE2IHkgRnAoXDAxNyk2MCBiIEZ0KFQpLTgKK2IodXJuaW5nKTI5IGIob1wwMTMpaShyZXN0cmljdGVkKWcobW8pcyhkZSlmKHdpdGgpZyhgKXAKK0ZzKHNldClnKCtyKXAgRnQoJylnKG9yKWcoYClwIEZzKHNldClnKCtvKWcocmVzdHJpY3RlZClwCitGdCgnLikyNzUgMzY4NiB5KFRoZXNlKWcocmVzdHJpY3Rpb25zKWgoYXJlKWcoZW5mb3JjZWQpZihhZnRlciloKGFuKW0KKyh5KWcoc3RhcnR1cClmKFwwMTRsZXMpZyhhcmUpaChyZWFkLikyNzUgMzgyOCB5KFdoZW4paihhKWkoY29tbWFuZCllCisodGhhdClpKGlzKWYoZm91bmQpZih0byloKGIpcyhlKWcoYSlnKHNoZWxsKWcoc2NyaXB0KWcoaXMpZyhleGVjdXRlZCloCisoXChzZWUpZyhTZWN0aW9uKWcoMy44KWcoW1NoZWxsKTE1MCAzOTM3IHkoU2NyaXB0c10sKTI1CitiKHBhZ2UpZSgzM1wpLClqIEZzKHJiYXNoKWMgRnQodHVybnMpZyhvXDAxMylpKGFuKW0oeSlmKHJlc3RyaWN0aW9ucyloCisoaW4pZih0aGUpZyhzaGVsbCloKHNwYSltKHduZWQpZSh0bylpKGV4ZWN1dGUpZyh0aGUpZyhzY3JpcHQuKTE1MAorNDE4MCB5IEZyKDYuMTEpNjggYihCYXNoKTQ1IGIoUE9TSVgpZihNbyl0KGRlKTE1MCA0MzM5Cit5IEZ0KFN0YXJ0aW5nKTM0IGIoQmFzaClmKHdpdGgpZyh0aGUpZyhgKXAgRnMoLS1wb3NpeClwCitGdCgnKWYoY29tbWFuZC1saW5lKWkob3B0aW9uKWcob3IpZihleGVjdXRpbmcpaChgKXAgRnMoc2V0KWMoLW8pZworKHBvc2l4KXAgRnQoJylpKHdoaWxlKTE1MCA0NDQ5IHkoQmFzaCkyNiBiKGlzKWcocnVubmluZyllKHdpbGwpaihjYXVzZSkKK2YoQmFzaClnKHRvKWgoY29uZm9ybSlmKG1vcmUpZyhjbG9zZWx5KWgodG8pZyh0aGUpZiBGbChwb3NpeClmCitGdChzdGFuZGFyZClnKGIpbSh5KWgoYyltKGhhbmdpbmcpMTUwIDQ1NTkgeSh0aGUpMzEgYihiKXMoZWhhKW0odmlvcilmCisodG8paChtYXRjKW0oaClnKHRoYXQpZyhzcClzKGVjaVwwMTRlZClmKGIpbSh5KWcgRmwocG9zaXgpZworRnQoaW4pZyhhcmVhcyloKHdoZXJlKWYodGhlKWgoQmFzaClmKGRlZmF1bHQpaChkaVwwMTNlcnMuKTI3NQorNDcwMCB5KFdoZW4pZihpbiltKHYpbShvayltKGVkKWgoYXMpZyBGcyhzaClwIEZ0KCwpZihCYXNoKWgoZW4pbSh0ZXJzKWcKK0ZsKHBvc2l4KWUgRnQobW8pcyhkZSloKGFmdGVyKWgocmVhZGluZylnKHRoZSlmKHN0YXJ0dXApZyhcMDE0bGVzLikyNzUKKzQ4NDEgeShUaGUpZihmb2xsbyltKHdpbmcpaihsaXN0KWYoaXMpZyh3aGF0J3MpZihjKW0oaGFuZ2VkKWgod2hlbillKGApCitwIEZsKHBvc2l4KWggRnQobW8pcyhkZScpaChpcylmKGluKWcoZVwwMTNlY3Q6KTE5OSA0OTgzCit5KDEuKTYxIGIoV2hlbikyOCBiKGEpaShjb21tYW5kKWUoaW4pZyh0aGUpaChoYXNoKWYodGFibGUpaShubyllCisobG9uZ2VyKWgoZXhpc3RzLCloKEJhc2gpZih3aWxsKWcocmUtc2VhcmMpbShoKWggRnMoJFBBVEgpZAorRnQodG8paShcMDE0bmQpMzMwIDUwOTIgeSh0aGUpaShuZXcpZShsbylzKGNhdGlvbi4pNDMKK2IoVGhpcykyOSBiKGlzKWkoYWxzbylnKGEpbSh2KS01IGIoYWlsYWJsZSkzMyBiKHdpdGgpZChgKXAKK0ZzKHNob3B0KWYoLXMpaChjaGVja2hhc2gpcCBGdCgnLikxOTkgNTIzMCB5KDIuKTYxIGIoVGhlKTQyCitiKG1lc3NhZ2UpaChwcmluKW0odGVkKWUoYiltKHkpaCh0aGUpZyhqb2IpZyhjb24pbSh0cm9sKWkoY28pcyhkZSllCisoYW5kKWYoYnVpbHRpbnMpaCh3aGVuKWYoYSloKGpvYilnKGV4aXRzKWgod2l0aClmKGEpMzMwCis1MzQwIHkobm9uLXplcm8pMzEgYihzdGF0dXMpZyhpcylmKGBEb25lXChzdGF0dXNcKScuKXAKK2VvcCBlbmQKICUlUGFnZTogODUgOTEKIFRlWERpY3QgYmVnaW4gODUgOTAgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDY6KTQxCi1iKEJhc2gpMzAgYihGKS04IGIoZWF0dXJlcykyNDg0IGIoODUpMjI1IDI5OSB5IEZwKFwwMTcpNjAKLWIgRnQoVCktOCBiKHVybmluZykyOSBiKG9cMDEzKWkocmVzdHJpY3RlZClnKG1vKXMoZGUpZih3aXRoKWcoYClwCi1GcyhzZXQpZygrcilwIEZ0KCcpZyhvcilnKGApcCBGcyhzZXQpZygrbylnKHJlc3RyaWN0ZWQpcAotRnQoJy4pMjc1IDQ1MyB5KFRoZXNlKWcocmVzdHJpY3Rpb25zKWgoYXJlKWcoZW5mb3JjZWQpZihhZnRlciloKGFuKW0oeSkKLWcoc3RhcnR1cClmKFwwMTRsZXMpZyhhcmUpaChyZWFkLikyNzUgNTg1IHkoV2hlbilqKGEpaShjb21tYW5kKWUodGhhdClpCi0oaXMpZihmb3VuZClmKHRvKWgoYilzKGUpZyhhKWcoc2hlbGwpZyhzY3JpcHQpZyhpcylnKGV4ZWN1dGVkKWgoXChzZWUpZwotKFNlY3Rpb24pZygzLjgpZyhbU2hlbGwpMTUwIDY5NSB5KFNjcmlwdHNdLCkyNSBiKHBhZ2UpZSgzNFwpLClqCi1GcyhyYmFzaCljIEZ0KHR1cm5zKWcob1wwMTMpaShhbiltKHkpZihyZXN0cmljdGlvbnMpaChpbilmKHRoZSlnKHNoZWxsKQotaChzcGEpbSh3bmVkKWUodG8paShleGVjdXRlKWcodGhlKWcoc2NyaXB0LikxNTAgOTQ1IHkKLUZyKDYuMTEpNjggYihCYXNoKTQ1IGIoUE9TSVgpZihNbyl0KGRlKTI3NSAxMTg3IHkgRnQoU3RhcnRpbmcpMjEKLWIoQmFzaClnKHdpdGgpZih0aGUpaChgKXAgRnMoLS1wb3NpeClwIEZ0KCcpZShjb21tYW5kLWxpbmUpaihvcHRpb24pZgotKG9yKWcoZXhlY3V0aW5nKWgoYClwIEZzKHNldCkzMCBiKC1vKWYocG9zaXgpcCBGdCgnKTIwCi1iKHdoaWxlKTE1MCAxMjk2IHkoQmFzaCkyNiBiKGlzKWcocnVubmluZyllKHdpbGwpaihjYXVzZSlmKEJhc2gpZyh0byloCi0oY29uZm9ybSlmKG1vcmUpZyhjbG9zZWx5KWgodG8pZyh0aGUpZiBGbChwb3NpeClmIEZ0KHN0YW5kYXJkKWcoYiltKHkpaAotKGMpbShoYW5naW5nKTE1MCAxNDA2IHkodGhlKTMxIGIoYilzKGVoYSltKHZpb3IpZih0byloKG1hdGMpbShoKWcodGhhdCkKLWcoc3ApcyhlY2lcMDE0ZWQpZihiKW0oeSlnIEZsKHBvc2l4KWcgRnQoaW4pZyhhcmVhcyloKHdoZXJlKWYodGhlKWgKLShCYXNoKWYoZGVmYXVsdCloKGRpXDAxM2Vycy4pMjc1IDE1MzggeShXaGVuKWYoaW4pbSh2KW0ob2spbShlZCloKGFzKWcKLUZzKHNoKXAgRnQoLClmKEJhc2gpaChlbiltKHRlcnMpZyBGbChwb3NpeCllIEZ0KG1vKXMoZGUpaChhZnRlciloCi0ocmVhZGluZylnKHRoZSlmKHN0YXJ0dXApZyhcMDE0bGVzLikyNzUgMTY3MCB5KFRoZSlmKGZvbGxvKW0od2luZylqCi0obGlzdClmKGlzKWcod2hhdCdzKWYoYyltKGhhbmdlZCloKHdoZW4pZShgKXAgRmwocG9zaXgpaAotRnQobW8pcyhkZScpaChpcylmKGluKWcoZVwwMTNlY3Q6KTE5OSAxODAyIHkoMS4pNjEgYihXaGVuKTI4Ci1iKGEpaShjb21tYW5kKWUoaW4pZyh0aGUpaChoYXNoKWYodGFibGUpaShubyllKGxvbmdlciloKGV4aXN0cywpaChCYXNoKQotZih3aWxsKWcocmUtc2VhcmMpbShoKWggRnMoJFBBVEgpZCBGdCh0bylpKFwwMTRuZCkzMzAKLTE5MTIgeSh0aGUpaShuZXcpZShsbylzKGNhdGlvbi4pNDMgYihUaGlzKTI5IGIoaXMpaShhbHNvKWcoYSltKHYpLTUKLWIoYWlsYWJsZSkzMyBiKHdpdGgpZChgKXAgRnMoc2hvcHQpZigtcyloKGNoZWNraGFzaClwCi1GdCgnLikxOTkgMjA0NCB5KDIuKTYxIGIoVGhlKTQyIGIobWVzc2FnZSloKHByaW4pbSh0ZWQpZShiKW0oeSloKHRoZSlnCi0oam9iKWcoY29uKW0odHJvbClpKGNvKXMoZGUpZShhbmQpZihidWlsdGlucyloKHdoZW4pZihhKWgoam9iKWcoZXhpdHMpaAotKHdpdGgpZihhKTMzMCAyMTUzIHkobm9uLXplcm8pMzEgYihzdGF0dXMpZyhpcylmKGBEb25lXChzdGF0dXNcKScuKTE5OQotMjI4NiB5KDMuKTYxIGIoVGhlKTQwIGIobWVzc2FnZSloKHByaW4pbSh0ZWQpZihiKW0oeSlnKHRoZSloKGpvYilmKGNvbikKLW0odHJvbCloKGNvKXMoZGUpZyhhbmQpZihidWlsdGlucylmKHdoZW4paChhKWcoam9iKWcoaXMpaChzdG9wcClzKGVkKWUKLShpcykzMzAgMjM5NSB5KGBTdG9wcClzKGVkXCgpcCBGcShzaWduYW1lKTUgYiBGdChcKScsKTMxCi1iKHdoZXJlKWYgRnEoc2lnbmFtZSkzNiBiIEZ0KGlzLCkzMSBiKGZvcilmKGV4YW1wbGUsKWgKLUZzKFNJR1RTVFApcCBGdCguKTE5OSAyNTI3IHkoNC4pNjEgYihUaGUpMjcgYiBGcyhiZylnCi1GdChidWlsdGluKWcodXNlcylnKHRoZSloKHJlcXVpcmVkKWYoZm9ybWF0KWgodG8pZyhkZXNjcmliKXMoZSlmKGVhYyltCi0oaClpKGpvYillKHBsYWNlZCloKGluKWYodGhlKWgoYmFjKW0oa2dyb3VuZCwpMzMwIDI2MzcKLXkod2hpYyltKGgpaChkbylzKGVzKWcobm90KWcoaW5jbHVkZSlnKGFuKWcoaW5kaWNhdGlvbiloKG9mKWYod2hldGhlcilmCi0odGhlKWgoam9iKWcoaXMpZyh0aGUpaChjdXJyZW4pbSh0KWUob3IpaChwcmV2aW91cylnKGpvYi4pMTk5Ci0yNzY5IHkoNS4pNjEgYihSZXNlcnYpbShlZCk0MCBiKHcpbShvcmRzKWcoYXBwKXMoZWFyaW5nKWYoaW4paChhKWcoY29uKQotbSh0ZXh0KWkod2hlcmUpZChyZXNlcnYpbShlZCloKHcpbShvcmRzKWYoYXJlKWkocmVjb2duaXplZClnKGRvKWYobm90KQotMzMwIDI4NzggeSh1bmRlcmdvKTMwIGIoYWxpYXMpaChleHBhbnNpb24uKTE5OSAzMDExIHkoNi4pNjEKLWIoVGhlKTM4IGIgRmwocG9zaXgpaCBGcyhQUzEpZiBGdChhbmQpZyBGcyhQUzIpZyBGdChleHBhbnNpb25zKWcob2YpaQotKGApcCBGcyghKXAgRnQoJylmKHRvKWcodGhlKWcoaGlzdG9yeSlnKG4pbSh1bSltKGIpcyhlcilmKGFuZClnKGApcAotRnMoISEpcCBGdCgnKWgodG8pZyhgKXAgRnMoISlwIEZ0KCcpaChhcmUpMzMwIDMxMjAgeShlbmFibGVkLCkyNgorYihCYXNoKTMwIGIoRiktOCBiKGVhdHVyZXMpMjQ4NCBiKDg1KTE5OSAyOTkgeSgzLik2MQorYihUaGUpNDAgYihtZXNzYWdlKWgocHJpbiltKHRlZClmKGIpbSh5KWcodGhlKWgoam9iKWYoY29uKW0odHJvbCloKGNvKXMKKyhkZSlnKGFuZClmKGJ1aWx0aW5zKWYod2hlbiloKGEpZyhqb2IpZyhpcyloKHN0b3BwKXMoZWQpZShpcykzMzAKKzQwOCB5KGBTdG9wcClzKGVkXCgpcCBGcShzaWduYW1lKTUgYiBGdChcKScsKTMxIGIod2hlcmUpZgorRnEoc2lnbmFtZSkzNiBiIEZ0KGlzLCkzMSBiKGZvcilmKGV4YW1wbGUsKWggRnMoU0lHVFNUUClwCitGdCguKTE5OSA1NDUgeSg0Lik2MSBiKFRoZSkyNyBiIEZzKGJnKWcgRnQoYnVpbHRpbilnKHVzZXMpZyh0aGUpaAorKHJlcXVpcmVkKWYoZm9ybWF0KWgodG8pZyhkZXNjcmliKXMoZSlmKGVhYyltKGgpaShqb2IpZShwbGFjZWQpaChpbilmCisodGhlKWgoYmFjKW0oa2dyb3VuZCwpMzMwIDY1NSB5KHdoaWMpbShoKWgoZG8pcyhlcylnKG5vdClnKGluY2x1ZGUpZworKGFuKWcoaW5kaWNhdGlvbiloKG9mKWYod2hldGhlcilmKHRoZSloKGpvYilnKGlzKWcodGhlKWgoY3VycmVuKW0odCllCisob3IpaChwcmV2aW91cylnKGpvYi4pMTk5IDc5MiB5KDUuKTYxIGIoUmVzZXJ2KW0oZWQpNDAKK2IodyltKG9yZHMpZyhhcHApcyhlYXJpbmcpZihpbiloKGEpZyhjb24pbSh0ZXh0KWkod2hlcmUpZChyZXNlcnYpbShlZCloCisodyltKG9yZHMpZihhcmUpaShyZWNvZ25pemVkKWcoZG8pZihub3QpMzMwIDkwMiB5KHVuZGVyZ28pMzAKK2IoYWxpYXMpaChleHBhbnNpb24uKTE5OSAxMDM5IHkoNi4pNjEgYihUaGUpMzggYiBGbChwb3NpeCloCitGcyhQUzEpZiBGdChhbmQpZyBGcyhQUzIpZyBGdChleHBhbnNpb25zKWcob2YpaShgKXAgRnMoISlwCitGdCgnKWYodG8pZyh0aGUpZyhoaXN0b3J5KWcobiltKHVtKW0oYilzKGVyKWYoYW5kKWcoYClwCitGcyghISlwIEZ0KCcpaCh0bylnKGApcCBGcyghKXAgRnQoJyloKGFyZSkzMzAgMTE0OCB5KGVuYWJsZWQsKTI2CiBiKGFuZClmKHBhcmFtZXRlcilnKGV4cGFuc2lvbilnKGlzKWcocClzKGVyZm9ybWVkKWUob24paSh0aGUpZyh2KS01CiBiKGFsdWVzKTI1IGIob2YpZyBGcyhQUzEpZiBGdChhbmQpaCBGcyhQUzIpZiBGdChyZWdhcmRsZXNzKTMzMAotMzIzMCB5KG9mKTMxIGIodGhlKWYoc2V0dGluZylpKG9mKWUodGhlKWggRnMocHJvbXB0dmFycyljCi1GdChvcHRpb24uKTE5OSAzMzYyIHkoNy4pNjEgYihUaGUpMzAgYiBGbChwb3NpeClnIEZ0KHN0YXJ0dXApZihcMDE0bGVzKQorMTI1OCB5KG9mKTMxIGIodGhlKWYoc2V0dGluZylpKG9mKWUodGhlKWggRnMocHJvbXB0dmFycyljCitGdChvcHRpb24uKTE5OSAxMzk1IHkoNy4pNjEgYihUaGUpMzAgYiBGbChwb3NpeClnIEZ0KHN0YXJ0dXApZihcMDE0bGVzKQogaShhcmUpZyhleGVjdXRlZClnKFwoKXAgRnMoJEVOVilwIEZ0KFwpKWYocmF0aGVyKWcodGhhbilnKHRoZSloKG5vcm1hbCkKLWYoQmFzaClnKFwwMTRsZXMuKTE5OSAzNDk0IHkoOC4pNjEgYihUaWxkZSkzMCBiKGV4cGFuc2lvbilnKGlzKWYob25seSloCitmKEJhc2gpZyhcMDE0bGVzLikxOTkgMTUzMiB5KDguKTYxIGIoVGlsZGUpMzAgYihleHBhbnNpb24pZyhpcylmKG9ubHkpaAogKHApcyhlcmZvcm1lZClmKG9uKWgoYXNzaWdubWVuKW0odHMpZyhwcmVjZWRpbmcpZyhhKWcoY29tbWFuZClnKG5hbWUsKWcKLShyYXRoZXIpMzMwIDM2MDMgeSh0aGFuKWcob24pZyhhbGwpaShhc3NpZ25tZW4pbSh0KWYoc3RhdGVtZW4pbSh0cyloCi0ob24pZSh0aGUpaChsaW5lLikxOTkgMzczNSB5KDkuKTYxIGIoVGhlKTMwIGIoZGVmYXVsdClnKGhpc3RvcnkpaAorKHJhdGhlcikzMzAgMTY0MSB5KHRoYW4pZyhvbilnKGFsbClpKGFzc2lnbm1lbiltKHQpZihzdGF0ZW1lbiltKHRzKWgKKyhvbillKHRoZSloKGxpbmUuKTE5OSAxNzc4IHkoOS4pNjEgYihUaGUpMzAgYihkZWZhdWx0KWcoaGlzdG9yeSloCiAoXDAxNGxlKWYoaXMpaChgKXAgRnMofi8uc2hfaGlzdG9yeSlwIEZ0KCcpYyhcKHRoaXMpayhpcylmKHRoZSlnCiAoZGVmYXVsdCloKHYpLTUgYihhbHVlKTMxIGIob2YpZiBGcygkSElTVEZJTEUpcCBGdChcKS4pMTU0Ci0zODY4IHkoMTAuKTYxIGIoVGhlKTIzIGIob3V0cHV0KWYob2YpaShgKXAgRnMoa2lsbCkyOQorMTkxNSB5KDEwLik2MSBiKFRoZSkyMyBiKG91dHB1dClmKG9mKWkoYClwIEZzKGtpbGwpMjkKIGIoLWwpcCBGdCgnKTIzIGIocHJpbiltKHRzKWYoYWxsKWkodGhlKWcoc2lnbmFsKWYobmFtZXMpZyhvbilnKGEpaAotKHNpbmdsZSlnKGxpbmUsKWgoc2VwYXJhdGVkKWUoYiltKHkpZyhzcGFjZXMsKTMzMCAzOTc3Cisoc2luZ2xlKWcobGluZSwpaChzZXBhcmF0ZWQpZShiKW0oeSlnKHNwYWNlcywpMzMwIDIwMjUKIHkod2l0aG91dCkzMCBiKHRoZSloKGApcCBGcyhTSUcpcCBGdCgnKWYocHJlXDAxNHguKTE1NAotNDEwOSB5KDExLik2MSBiKFRoZSkzMCBiIEZzKGtpbGwpZiBGdChidWlsdGluKWgoZG8pcyhlcylnKG5vdCloKGFjY2VwdCkKKzIxNjIgeSgxMS4pNjEgYihUaGUpMzAgYiBGcyhraWxsKWYgRnQoYnVpbHRpbiloKGRvKXMoZXMpZyhub3QpaChhY2NlcHQpCiBoKHNpZ25hbClmKG5hbWVzKWYod2l0aClnKGEpaChgKXAgRnMoU0lHKXAgRnQoJylmKHByZVwwMTR4LikxNTQKLTQyNDEgeSgxMi4pNjEgYihOb24taW4pbSh0ZXJhY3RpdiltKGUpMzQgYihzaGVsbHMpYyhleGl0KWgoaWYpZworMjI5OSB5KDEyLik2MSBiKE5vbi1pbiltKHRlcmFjdGl2KW0oZSkzNCBiKHNoZWxscyljKGV4aXQpaChpZilnCiBGcShcMDE0bGVuYW1lKWsgRnQoaW4pMzAgYiBGcyguKWcgRnEoXDAxNGxlbmFtZSkzNiBiCi1GdChpcykzMSBiKG5vdClmKGZvdW5kLikxNTQgNDM3MyB5KDEzLik2MSBiKE5vbi1pbiltKHRlcmFjdGl2KW0oZSk0MQorRnQoaXMpMzEgYihub3QpZihmb3VuZC4pMTU0IDI0MzYgeSgxMy4pNjEgYihOb24taW4pbSh0ZXJhY3RpdiltKGUpNDEKIGIoc2hlbGxzKWQoZXhpdCloKGlmKWYoYSlnKHN5biltKHRheClnKGVycm9yKWcoaW4pZihhbiloKGFyaXRobWV0aWMpaAotKGV4cGFuc2lvbilmKHJlc3VsdHMpZihpbiloKGFuKTMzMCA0NDgzIHkoaW4pbSh2KS01IGIoYWxpZCkzMQotYihleHByZXNzaW9uLikxNTQgNDYxNSB5KDE0Lik2MSBiKFJlZGlyZWN0aW9uKTI1IGIob3ApcyhlcmF0b3JzKWYoZG8pZworKGV4cGFuc2lvbilmKHJlc3VsdHMpZihpbiloKGFuKTMzMCAyNTQ1IHkoaW4pbSh2KS01IGIoYWxpZCkzMQorYihleHByZXNzaW9uLikxNTQgMjY4MiB5KDE0Lik2MSBiKFJlZGlyZWN0aW9uKTI1IGIob3ApcyhlcmF0b3JzKWYoZG8pZwogKG5vdClnKHApcyhlcmZvcm0pZihcMDE0bGVuYW1lKWgoZXhwYW5zaW9uKWcob24pZyh0aGUpZyh3KW0ob3JkKWYoaW4paAotKHRoZSlnKHJlZGlyZWN0aW9uKTMzMCA0NzI1IHkodW5sZXNzKTMwIGIodGhlKWcoc2hlbGwpaChpcylmKGluKW0KLSh0ZXJhY3RpdiltKGUuKTE1NCA0ODU3IHkoMTUuKTYxIGIoUmVkaXJlY3Rpb24pMzEgYihvcClzKGVyYXRvcnMpZyhkbylmCisodGhlKWcocmVkaXJlY3Rpb24pMzMwIDI3OTIgeSh1bmxlc3MpMzAgYih0aGUpZyhzaGVsbCloKGlzKWYoaW4pbQorKHRlcmFjdGl2KW0oZS4pMTU0IDI5MjkgeSgxNS4pNjEgYihSZWRpcmVjdGlvbikzMSBiKG9wKXMoZXJhdG9ycylnKGRvKWYKIChub3QpaChwKXMoZXJmb3JtKWUodyltKG9yZCloKHNwbGl0dGluZyloKG9uKWYodGhlKWgodyltKG9yZClmKGluKWcKLSh0aGUpZyhyZWRpcmVjdGlvbi4pMTU0IDQ5ODkgeSgxNi4pNjEgYihGKS04IGIodW5jdGlvbikzNQorKHRoZSlnKHJlZGlyZWN0aW9uLikxNTQgMzA2NiB5KDE2Lik2MSBiKEYpLTggYih1bmN0aW9uKTM1CiBiKG5hbWVzKWcobSltKHVzdClmKGIpcyhlKWcodiktNSBiKGFsaWQpMzUgYihzaGVsbClmCiBGcyhuYW1lKXAgRnQocy4pNTIgYihUaGF0KTM0IGIoaXMsKWkodGhleSlmKG1hKW0oeSlnKG5vdClnKGNvbiltKHRhaW4pZwotKGMpbShoYXJhY3RlcnMpMzMwIDUwOTggeShvdGhlcillKHRoYW4pZyhsZXR0ZXJzLCloKGRpZ2l0cywpaChhbmQpZAorKGMpbShoYXJhY3RlcnMpMzMwIDMxNzYgeShvdGhlcillKHRoYW4pZyhsZXR0ZXJzLCloKGRpZ2l0cywpaChhbmQpZAogKHVuZGVyc2NvcmVzLCloKGFuZClmKG1hKW0oeSloKG5vdClnKHN0YXJ0KWgod2l0aCllKGEpaChkaWdpdC4pNDkKLWIoRGVjbGFyaW5nKTMzMCA1MjA4IHkoYSkzMSBiKGZ1bmN0aW9uKWYod2l0aClnKGFuKWcoaW4pbSh2KS01CitiKERlY2xhcmluZykzMzAgMzI4NSB5KGEpMzEgYihmdW5jdGlvbilmKHdpdGgpZyhhbilnKGluKW0odiktNQogYihhbGlkKTMxIGIobmFtZSlnKGNhdXNlcylmKGEpaChmYXRhbCloKHN5biltKHRheClmKGVycm9yKWYoaW4pZwotKG5vbi1pbiltKHRlcmFjdGl2KW0oZSlqKHNoZWxscy4pMTU0IDUzNDAgeSgxNy4pNjEgYgorKG5vbi1pbiltKHRlcmFjdGl2KW0oZSlqKHNoZWxscy4pMTU0IDM0MjIgeSgxNy4pNjEgYgogRmwocG9zaXgpMzAgYiBGdChzcClzKGVjaWFsKWgoYnVpbHRpbnMpZShhcmUpaShmb3VuZCllKGIpcyhlZm9yZSloCi0oc2hlbGwpaChmdW5jdGlvbnMpZihkdXJpbmcpZihjb21tYW5kKWgobG8pcyhva3VwLilwCi1lb3AgZW5kCi0lJVBhZ2U6IDg2IDkyCi1UZVhEaWN0IGJlZ2luIDg2IDkxIGJvcCAxNTAgLTExNiBhIEZ0KDg2KTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTQgMjk5IHkoMTguKTYxIGIoSWYpMjQgYihhKWcKLUZsKHBvc2l4KWcgRnQoc3ApcyhlY2lhbCloKGJ1aWx0aW4pZihyZXR1cm5zKWYoYW4paChlcnJvcilnKHN0YXR1cywpaQotKGEpZShub24taW4pbSh0ZXJhY3RpdiltKGUpaihzaGVsbCllKGV4aXRzLikzOSBiKFRoZSkyNAotYihmYXRhbCkzMzAgNDA4IHkoZXJyb3JzKWkoYXJlKWgodGhvc2UpZihsaXN0ZWQpaChpbilmKHRoZSloKFBPU0lYKWUKLShzdGFuZGFyZCwpaShhbmQpZihpbmNsdWRlKWcodGhpbmdzKWcobGlrKW0oZSlpKHBhc3NpbmcpZShpbmNvcnJlY3QpMzMwCi01MTggeShvcHRpb25zLCk0MyBiKHJlZGlyZWN0aW9uKWQoZXJyb3JzLClpKHYpLTUgYihhcmlhYmxlKTQxCi1iKGFzc2lnbm1lbiltKHQpZyhlcnJvcnMpZShmb3IpZyhhc3NpZ25tZW4pbSh0cylpKHByZWNlZGluZylmKHRoZSkzMzAKLTYyOCB5KGNvbW1hbmQpMzAgYihuYW1lLCloKGFuZClmKHNvKWcob24uKTE1NCA3NjMgeSgxOS4pNjEKLWIoSWYpMzQgYiBGcyhDRFBBVEgpZiBGdChpcyloKHNldCwpaSh0aGUpZiBGcyhjZClmIEZ0KGJ1aWx0aW4pZyh3aWxsKWcKLShub3QpaChpbXBsaWNpdGx5KWgoYXBwKXMoZW5kKWModGhlKWooY3VycmVuKW0odClmKGRpcmVjdG9yeSloKHRvKWcKLShpdC4pMzMwIDg3MyB5KFRoaXMpMjkgYihtZWFucylnKHRoYXQpaCBGcyhjZClmIEZ0KHdpbGwpaChmYWlsKWcoaWYpZwotKG5vKWYodiktNSBiKGFsaWQpMzAgYihkaXJlY3RvcnkpZyhuYW1lKWYoY2FuKWgoYilzKGUpZihjb25zdHJ1Y3RlZCloCi0oZnJvbSlmKGFuKW0oeSloKG9mKTMzMCA5ODIgeSh0aGUpaShlbiltKHRyaWVzKWcoaW4pZgotRnMoJENEUEFUSClwIEZ0KCwpZShldiltKGVuKWooaWYpZyh0aGUpZihhKWgoZGlyZWN0b3J5KWcod2l0aClmKHRoZSlnCi0oc2FtZSloKG5hbWUpZihhcyloKHRoZSlnKG5hbWUpZihnaXYpbShlbikzMzAgMTA5MiB5KGFzKWcoYW4pZihhcmd1bWVuKQotbSh0KWgodG8pZyBGcyhjZClmIEZ0KGV4aXN0cyloKGluKWYodGhlKWcoY3VycmVuKW0odClnKGRpcmVjdG9yeSktOAotYiguKTE1NCAxMjI3IHkoMjAuKTYxIGIoQSkzMSBiKG5vbi1pbiltKHRlcmFjdGl2KW0oZSlqKHNoZWxsKWQoZXhpdHMpaAorKHNoZWxsKWgoZnVuY3Rpb25zKWYoZHVyaW5nKWYoY29tbWFuZCloKGxvKXMob2t1cC4pMTU0CiszNTU5IHkoMTguKTYxIGIoSWYpMjQgYihhKWcgRmwocG9zaXgpZyBGdChzcClzKGVjaWFsKWgoYnVpbHRpbilmCisocmV0dXJucylmKGFuKWgoZXJyb3IpZyhzdGF0dXMsKWkoYSllKG5vbi1pbiltKHRlcmFjdGl2KW0oZSlqKHNoZWxsKWUKKyhleGl0cy4pMzkgYihUaGUpMjQgYihmYXRhbCkzMzAgMzY2OSB5KGVycm9ycylpKGFyZSloKHRob3NlKWYobGlzdGVkKWgKKyhpbilmKHRoZSloKFBPU0lYKWUoc3RhbmRhcmQsKWkoYW5kKWYoaW5jbHVkZSlnKHRoaW5ncylnKGxpayltKGUpaQorKHBhc3NpbmcpZShpbmNvcnJlY3QpMzMwIDM3NzggeShvcHRpb25zLCk0MyBiKHJlZGlyZWN0aW9uKWQoZXJyb3JzLClpCisodiktNSBiKGFyaWFibGUpNDEgYihhc3NpZ25tZW4pbSh0KWcoZXJyb3JzKWUoZm9yKWcoYXNzaWdubWVuKW0odHMpaQorKHByZWNlZGluZylmKHRoZSkzMzAgMzg4OCB5KGNvbW1hbmQpMzAgYihuYW1lLCloKGFuZClmKHNvKWcob24uKTE1NAorNDAyNSB5KDE5Lik2MSBiKElmKTM0IGIgRnMoQ0RQQVRIKWYgRnQoaXMpaChzZXQsKWkodGhlKWYKK0ZzKGNkKWYgRnQoYnVpbHRpbilnKHdpbGwpZyhub3QpaChpbXBsaWNpdGx5KWgoYXBwKXMoZW5kKWModGhlKWoKKyhjdXJyZW4pbSh0KWYoZGlyZWN0b3J5KWgodG8pZyhpdC4pMzMwIDQxMzQgeShUaGlzKTI5CitiKG1lYW5zKWcodGhhdCloIEZzKGNkKWYgRnQod2lsbCloKGZhaWwpZyhpZilnKG5vKWYodiktNQorYihhbGlkKTMwIGIoZGlyZWN0b3J5KWcobmFtZSlmKGNhbiloKGIpcyhlKWYoY29uc3RydWN0ZWQpaChmcm9tKWYoYW4pbQorKHkpaChvZikzMzAgNDI0NCB5KHRoZSlpKGVuKW0odHJpZXMpZyhpbilmIEZzKCRDRFBBVEgpcAorRnQoLCllKGV2KW0oZW4paihpZilnKHRoZSlmKGEpaChkaXJlY3RvcnkpZyh3aXRoKWYodGhlKWcoc2FtZSloKG5hbWUpZgorKGFzKWgodGhlKWcobmFtZSlmKGdpdiltKGVuKTMzMCA0MzU0IHkoYXMpZyhhbilmKGFyZ3VtZW4pbSh0KWgodG8pZworRnMoY2QpZiBGdChleGlzdHMpaChpbilmKHRoZSlnKGN1cnJlbiltKHQpZyhkaXJlY3RvcnkpLTgKK2IoLikxNTQgNDQ5MSB5KDIwLik2MSBiKEEpMzEgYihub24taW4pbSh0ZXJhY3RpdiltKGUpaihzaGVsbClkKGV4aXRzKWgKICh3aXRoKWUoYW4paChlcnJvcilnKHN0YXR1cylnKGlmKWcoYSlnKHYpLTUgYihhcmlhYmxlKTMyCi1iKGFzc2lnbm1lbiltKHQpZyhlcnJvcillKG8pcyhjY3VycykzMzAgMTMzNyB5KHdoZW4pMzgKK2IoYXNzaWdubWVuKW0odClnKGVycm9yKWUobylzKGNjdXJzKTMzMCA0NjAwIHkod2hlbikzOAogYihubyloKGNvbW1hbmQpZyhuYW1lKWcoZm9sbG8pbSh3cylpKHRoZSllKGFzc2lnbm1lbiltKHQpaChzdGF0ZW1lbiltCiAodHMuKTY5IGIoQSkzOSBiKHYpLTUgYihhcmlhYmxlKTQwIGIoYXNzaWdubWVuKW0odCkzMzAKLTE0NDYgeShlcnJvcikzMCBiKG8pcyhjY3VycywpZyhmb3IpZyhleGFtcGxlLClpKHdoZW4pZCh0cnlpbmcpaSh0bylnCis0NzEwIHkoZXJyb3IpMzAgYihvKXMoY2N1cnMsKWcoZm9yKWcoZXhhbXBsZSwpaSh3aGVuKWQodHJ5aW5nKWkodG8pZwogKGFzc2lnbilmKGEpaCh2KS01IGIoYWx1ZSkzMSBiKHRvKWcoYSlnKHJlYWRvbmx5KWYodiktNQotYihhcmlhYmxlLikxNTQgMTU4MiB5KDIxLik2MSBiKEEpNDMgYihub24taW4pbSh0ZXJhY3RpdiltKGUpaShzaGVsbCllCitiKGFyaWFibGUuKTE1NCA0ODQ3IHkoMjEuKTYxIGIoQSk0MyBiKG5vbi1pbiltKHRlcmFjdGl2KW0oZSlpKHNoZWxsKWUKIChleGl0cyloKHdpdGgpZihhbilmKGVycm9yKWgoc3RhdHVzKWcoaWYpZyh0aGUpZyhpdGVyYXRpb24paCh2KS01Ci1iKGFyaWFibGUpNDQgYihpbilmKGEpZyBGcyhmb3IpMzMwIDE2OTEgeSBGdChzdGF0ZW1lbiltKHQpMzIKK2IoYXJpYWJsZSk0NCBiKGluKWYoYSlnIEZzKGZvcikzMzAgNDk1NiB5IEZ0KHN0YXRlbWVuKW0odCkzMgogYihvcilmKHRoZSlmKHNlbGVjdGlvbilpKHYpLTUgYihhcmlhYmxlKTMyIGIoaW4pZShhKWcKIEZzKHNlbGVjdClmIEZ0KHN0YXRlbWVuKW0odClqKGlzKWYoYSlmKHJlYWRvbmx5KWgodiktNQotYihhcmlhYmxlLikxNTQgMTgyNyB5KDIyLik2MSBiKFBybylzKGNlc3MpMzAgYihzdWJzdGl0dXRpb24pZyhpcyloKG5vdCkKLWYoYSltKHYpLTUgYihhaWxhYmxlLikxNTQgMTk2MiB5KDIzLik2MSBiKEFzc2lnbm1lbiltKHQpMjMKK2IoYXJpYWJsZS4pMTU0IDUwOTMgeSgyMi4pNjEgYihQcm8pcyhjZXNzKTMwIGIoc3Vic3RpdHV0aW9uKWcoaXMpaChub3QpCitmKGEpbSh2KS01IGIoYWlsYWJsZS4pMTU0IDUyMzAgeSgyMy4pNjEgYihBc3NpZ25tZW4pbSh0KTIzCiBiKHN0YXRlbWVuKW0odHMpaChwcmVjZWRpbmcpZSBGbChwb3NpeClmIEZ0KHNwKXMoZWNpYWwpaShidWlsdGlucylmKHApcwotKGVyc2lzdClnKGluKWYodGhlKWkoc2hlbGwpZihlbiltKHZpcm9ubWVuKW0odCkzMzAgMjA3MgoteShhZnRlcikzMSBiKHRoZSlmKGJ1aWx0aW4pZyhjb21wbGV0ZXMuKTE1NCAyMjA3IHkoMjQuKTYxCi1iKEFzc2lnbm1lbiltKHQpMzUgYihzdGF0ZW1lbiltKHRzKWgocHJlY2VkaW5nKWYoc2hlbGwpZihmdW5jdGlvbilnCi0oY2FsbHMpaShwKXMoZXJzaXN0KWUoaW4pZyh0aGUpaChzaGVsbClmKGVuKW0odmlyb25tZW4pbSh0KTMzMAotMjMxNyB5KGFmdGVyKWQodGhlKWYoZnVuY3Rpb24paChyZXR1cm5zLCllKGFzKWkoaWYpZihhKWgKLUZsKHBvc2l4KWUgRnQoc3ApcyhlY2lhbClpKGJ1aWx0aW4pZihjb21tYW5kKWcoaGFkKWcoYilzKGVlbilnCi0oZXhlY3V0ZWQuKTE1NCAyNDUyIHkoMjUuKTYxIGIoVGhlKTM4IGIgRnMoZXhwb3J0KWYgRnQoYW5kKWcKLUZzKHJlYWRvbmx5KWYgRnQoYnVpbHRpbilpKGNvbW1hbmRzKWcoZGlzcGxhKW0oeSloKHRoZWlyKWYob3V0cHV0KWcoaW4pCi1nKHRoZSloKGZvcm1hdClnKHJlLSkzMzAgMjU2MiB5KHF1aXJlZCkzMCBiKGIpbSh5KWcgRmwocG9zaXgpcAotRnQoLikxNTQgMjY5NyB5KDI2Lik2MSBiKFRoZSkzMCBiIEZzKHRyYXApZiBGdChidWlsdGluKWgoZGlzcGxhKW0oeXMpZwotKHNpZ25hbClpKG5hbWVzKWUod2l0aG91dClnKHRoZSloKGxlYWRpbmcpZyBGcyhTSUcpcAotRnQoLikxNTQgMjgzMiB5KDI3Lik2MSBiKFRoZSkzOSBiIEZzKHRyYXApZSBGdChidWlsdGluKWkoZG8pcyhlc24ndClnCi0oYyltKGhlYyltKGspaCh0aGUpZyhcMDE0cnN0KWUoYXJndW1lbiltKHQpaShmb3IpZShhKWkocClzKG9zc2libGUpZQotKHNpZ25hbClpKHNwKXMoZWNpXDAxNGNhdGlvbikzMzAgMjk0MiB5KGFuZCkzMCBiKHJldiltKGVydClpKHRoZSllCi0oc2lnbmFsKWkoaGFuZGxpbmcpZSh0byloKHRoZSlnKG9yaWdpbmFsKWgoZGlzcClzKG9zaXRpb24pZShpZiloKGl0KWcKLShpcywpZyh1bmxlc3MpZih0aGF0KWgoYXJndW1lbiltKHQpMzMwIDMwNTEgeShjb25zaXN0cyllKHNvbGVseSlnKG9mKWcKLShkaWdpdHMpZyhhbmQpZihpcylnKGEpaCh2KS01IGIoYWxpZCkyOSBiKHNpZ25hbClnKG4pbSh1bSltKGIpcyhlci4pMzgKLWIoSWYpMjggYih1c2VycylnKHcpbShhbiltKHQpaCh0bylnKHJlc2V0KWcodGhlKWcoaGFuZGxlcikzMzAKLTMxNjEgeShmb3IpaChhKWcoZ2l2KW0oZW4paChzaWduYWwpZyh0bylmKHRoZSloKG9yaWdpbmFsKWcoZGlzcClzCisoZXJzaXN0KWcoaW4pZih0aGUpaShzaGVsbClmKGVuKW0odmlyb25tZW4pbSh0KTMzMCA1MzQwCit5KGFmdGVyKTMxIGIodGhlKWYoYnVpbHRpbilnKGNvbXBsZXRlcy4pcCBlb3AgZW5kCislJVBhZ2U6IDg2IDkyCitUZVhEaWN0IGJlZ2luIDg2IDkxIGJvcCAxNTAgLTExNiBhIEZ0KDg2KTI1NzIgYihCYXNoKTMxCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTQgMjk5IHkoMjQuKTYxIGIoQXNzaWdubWVuKW0odCkzNQorYihzdGF0ZW1lbiltKHRzKWgocHJlY2VkaW5nKWYoc2hlbGwpZihmdW5jdGlvbilnKGNhbGxzKWkocClzKGVyc2lzdCllCisoaW4pZyh0aGUpaChzaGVsbClmKGVuKW0odmlyb25tZW4pbSh0KTMzMCA0MDggeShhZnRlcilkKHRoZSlmKGZ1bmN0aW9uKQoraChyZXR1cm5zLCllKGFzKWkoaWYpZihhKWggRmwocG9zaXgpZSBGdChzcClzKGVjaWFsKWkoYnVpbHRpbilmCisoY29tbWFuZClnKGhhZClnKGIpcyhlZW4pZyhleGVjdXRlZC4pMTU0IDUzNSB5KDI1Lik2MQorYihUaGUpMzggYiBGcyhleHBvcnQpZiBGdChhbmQpZyBGcyhyZWFkb25seSlmIEZ0KGJ1aWx0aW4paShjb21tYW5kcylnCisoZGlzcGxhKW0oeSloKHRoZWlyKWYob3V0cHV0KWcoaW4pZyh0aGUpaChmb3JtYXQpZyhyZS0pMzMwCis2NDUgeShxdWlyZWQpMzAgYihiKW0oeSlnIEZsKHBvc2l4KXAgRnQoLikxNTQgNzcyIHkoMjYuKTYxCitiKFRoZSkzMCBiIEZzKHRyYXApZiBGdChidWlsdGluKWgoZGlzcGxhKW0oeXMpZyhzaWduYWwpaShuYW1lcyllCisod2l0aG91dClnKHRoZSloKGxlYWRpbmcpZyBGcyhTSUcpcCBGdCguKTE1NCA4OTkgeSgyNy4pNjEKK2IoVGhlKTM5IGIgRnModHJhcCllIEZ0KGJ1aWx0aW4paShkbylzKGVzbid0KWcoYyltKGhlYyltKGspaCh0aGUpZworKFwwMTRyc3QpZShhcmd1bWVuKW0odClpKGZvcillKGEpaShwKXMob3NzaWJsZSllKHNpZ25hbClpKHNwKXMKKyhlY2lcMDE0Y2F0aW9uKTMzMCAxMDA4IHkoYW5kKTMwIGIocmV2KW0oZXJ0KWkodGhlKWUoc2lnbmFsKWkoaGFuZGxpbmcpCitlKHRvKWgodGhlKWcob3JpZ2luYWwpaChkaXNwKXMob3NpdGlvbillKGlmKWgoaXQpZyhpcywpZyh1bmxlc3MpZih0aGF0KQoraChhcmd1bWVuKW0odCkzMzAgMTExOCB5KGNvbnNpc3RzKWUoc29sZWx5KWcob2YpZyhkaWdpdHMpZyhhbmQpZihpcylnCisoYSloKHYpLTUgYihhbGlkKTI5IGIoc2lnbmFsKWcobiltKHVtKW0oYilzKGVyLikzOCBiKElmKTI4CitiKHVzZXJzKWcodyltKGFuKW0odCloKHRvKWcocmVzZXQpZyh0aGUpZyhoYW5kbGVyKTMzMAorMTIyOCB5KGZvciloKGEpZyhnaXYpbShlbiloKHNpZ25hbClnKHRvKWYodGhlKWgob3JpZ2luYWwpZyhkaXNwKXMKIChvc2l0aW9uLClmKHRoZXkpZyhzaG91bGQpZih1c2UpaChgKXAgRnMoLSlwIEZ0KCcpZyhhcylnKHRoZSlnKFwwMTRyc3QpCi1mKGFyZ3VtZW4pbSh0LikxNTQgMzI5NiB5KDI4Lik2MSBiKFRoZSkyMSBiIEZzKC4paCBGdChhbmQpZgorZihhcmd1bWVuKW0odC4pMTU0IDEzNTQgeSgyOC4pNjEgYihUaGUpMjEgYiBGcyguKWggRnQoYW5kKWYKIEZzKHNvdXJjZSlmIEZ0KGJ1aWx0aW5zKWgoZG8pZyhub3QpaChzZWFyYyltKGgpaCh0aGUpZihjdXJyZW4pbSh0KWYKIChkaXJlY3RvcnkpaChmb3IpZyh0aGUpZyhcMDE0bGVuYW1lKWYoYXJndW1lbiltKHQpMzMwCi0zNDA2IHkoaWYpMzAgYihpdCloKGlzKWcobm90KWYoZm91bmQpZihiKW0oeSlpKHNlYXJjKW0oaGluZylnCi1GcyhQQVRIKXAgRnQoLikxNTQgMzU0MSB5KDI5Lik2MSBiKFN1YnNoZWxscykyMCBiKHNwYSltKHduZWQpaCh0byloCisxNDY0IHkoaWYpMzAgYihpdCloKGlzKWcobm90KWYoZm91bmQpZihiKW0oeSlpKHNlYXJjKW0oaGluZylnCitGcyhQQVRIKXAgRnQoLikxNTQgMTU5MSB5KDI5Lik2MSBiKFN1YnNoZWxscykyMCBiKHNwYSltKHduZWQpaCh0byloCiAoZXhlY3V0ZSlnKGNvbW1hbmQpZyhzdWJzdGl0dXRpb25zKWYoaW5oZXJpdClnKHRoZSlnKHYpLTUKIGIoYWx1ZSkyMiBiKG9mKWcodGhlKWYoYClwIEZzKC1lKXAgRnQoJylnKG9wdGlvbikzMzAKLTM2NTEgeShmcm9tKTM0IGIodGhlKWgocGFyZW4pbSh0KWcoc2hlbGwuKTU1IGIoV2hlbikzNAorMTcwMCB5KGZyb20pMzQgYih0aGUpaChwYXJlbiltKHQpZyhzaGVsbC4pNTUgYihXaGVuKTM0CiBiKG5vdClpKGluKWUgRmwocG9zaXgpZyBGdChtbylzKGRlLClpKEJhc2gpZihjbGVhcnMpaCh0aGUpZihgKXAKLUZzKC1lKXAgRnQoJylmKG9wdGlvbilpKGluKWUoc3VjKW0oaCkzMzAgMzc2MSB5KHN1YnNoZWxscy4pMTU0Ci0zODk2IHkoMzAuKTYxIGIoQWxpYXMpMzEgYihleHBhbnNpb24pZyhpcylmKGFsdyltKGEpbSh5cylpKGVuYWJsZWQsKWUKLShldiltKGVuKWkoaW4pZShub24taW4pbSh0ZXJhY3RpdiltKGUpaihzaGVsbHMuKTE1NCA0MDMxCitGcygtZSlwIEZ0KCcpZihvcHRpb24paShpbillKHN1YyltKGgpMzMwIDE4MTAgeShzdWJzaGVsbHMuKTE1NAorMTkzNyB5KDMwLik2MSBiKEFsaWFzKTMxIGIoZXhwYW5zaW9uKWcoaXMpZihhbHcpbShhKW0oeXMpaShlbmFibGVkLCllCisoZXYpbShlbilpKGluKWUobm9uLWluKW0odGVyYWN0aXYpbShlKWooc2hlbGxzLikxNTQgMjA2NAogeSgzMS4pNjEgYihXaGVuKTQzIGIodGhlKWcgRnMoYWxpYXMpZiBGdChidWlsdGluKWcoZGlzcGxhKW0oeXMpaShhbGlhcykKIGcoZGVcMDE0bml0aW9ucywpaShpdClkKGRvKXMoZXMpZyhub3QpZyhkaXNwbGEpbSh5KWgodGhlbSlmKHdpdGgpZyhhKQotMzMwIDQxNDEgeShsZWFkaW5nKTMxIGIoYClwIEZzKGFsaWFzKWUgRnQoJylpKHVubGVzcylmKHRoZSlnKGApcAotRnMoLXApcCBGdCgnKWcob3B0aW9uKWgoaXMpZyhzdXBwbGllZC4pMTU0IDQyNzYgeSgzMi4pNjEKKzMzMCAyMTczIHkobGVhZGluZykzMSBiKGApcCBGcyhhbGlhcyllIEZ0KCcpaSh1bmxlc3MpZih0aGUpZyhgKXAKK0ZzKC1wKXAgRnQoJylnKG9wdGlvbiloKGlzKWcoc3VwcGxpZWQuKTE1NCAyMzAwIHkoMzIuKTYxCiBiKFdoZW4pNDAgYih0aGUpZyBGcyhzZXQpZiBGdChidWlsdGluKWgoaXMpZyhpbiltKHYpbShvayltKGVkKWgKICh3aXRob3V0KWYob3B0aW9ucywpaihpdCllKGRvKXMoZXMpZihub3QpZyhkaXNwbGEpbSh5KWcoc2hlbGwpZwotKGZ1bmN0aW9uKTMzMCA0Mzg2IHkobmFtZXMpMzAgYihhbmQpZyhkZVwwMTRuaXRpb25zLikxNTQKLTQ1MjEgeSgzMy4pNjEgYihXaGVuKTM2IGIodGhlKWcgRnMoc2V0KWcgRnQoYnVpbHRpbilnKGlzKWcoaW4pbSh2KW0ob2spCisoZnVuY3Rpb24pMzMwIDI0MTAgeShuYW1lcykzMCBiKGFuZClnKGRlXDAxNG5pdGlvbnMuKTE1NAorMjUzNyB5KDMzLik2MSBiKFdoZW4pMzYgYih0aGUpZyBGcyhzZXQpZyBGdChidWlsdGluKWcoaXMpZyhpbiltKHYpbShvaykKIG0oZWQpaSh3aXRob3V0KWUob3B0aW9ucywpaShpdClmKGRpc3BsYSltKHlzKWYodiktNSBiKGFyaWFibGUpMzcKLWIodiktNSBiKGFsdWVzKTM3IGIod2l0aG91dCkzMzAgNDYzMSB5KHF1b3RlcywpMjYgYih1bmxlc3MpZCh0aGV5KWkKK2IodiktNSBiKGFsdWVzKTM3IGIod2l0aG91dCkzMzAgMjY0NiB5KHF1b3RlcywpMjYgYih1bmxlc3MpZCh0aGV5KWkKIChjb24pbSh0YWluKWcoc2hlbGwpZihtZXRhYyltKGhhcmFjdGVycywpayhldiltKGVuKWQoaWYpZih0aGUpZyhyZXN1bHQpCi1nKGNvbiltKHRhaW5zKWkobm9ucHJpbiltKHRpbmcpMzMwIDQ3NDAgeShjKW0oaGFyYWN0ZXJzLikxNTQKLTQ4NzYgeSgzNC4pNjEgYihXaGVuKTM1IGIodGhlKWcgRnMoY2QpZiBGdChidWlsdGluKWgoaXMpZyhpbiltKHYpbShvayltCitnKGNvbiltKHRhaW5zKWkobm9ucHJpbiltKHRpbmcpMzMwIDI3NTYgeShjKW0oaGFyYWN0ZXJzLikxNTQKKzI4ODMgeSgzNC4pNjEgYihXaGVuKTM1IGIodGhlKWcgRnMoY2QpZiBGdChidWlsdGluKWgoaXMpZyhpbiltKHYpbShvayltCiAoZWQpaShpbilkIEZxKGxvZ2ljYWwpNDEgYiBGdChtbylzKGRlLCkzNiBiKGFuZClmKHRoZSlnKHBhdGhuYW1lKWcKLShjb25zdHJ1Y3RlZClnKGZyb20pMzMwIDQ5ODUgeSBGcygkUFdEKWkgRnQoYW5kKWgodGhlKWgoZGlyZWN0b3J5KWYKKyhjb25zdHJ1Y3RlZClnKGZyb20pMzMwIDI5OTIgeSBGcygkUFdEKWkgRnQoYW5kKWgodGhlKWgoZGlyZWN0b3J5KWYKIChuYW1lKWgoc3VwcGxpZWQpZShhcylpKGFuKWYoYXJndW1lbiltKHQpaChkbylzKGVzKWYobm90KWcocmVmZXIpaCh0bylnCi0oYW4pZihleGlzdGluZykzMzAgNTA5NSB5KGRpcmVjdG9yeSktOCBiKCwpMzIgYiBGcyhjZClkCisoYW4pZihleGlzdGluZykzMzAgMzEwMiB5KGRpcmVjdG9yeSktOCBiKCwpMzIgYiBGcyhjZClkCiBGdCh3aWxsKWkoZmFpbClnKGluc3RlYWQpZyhvZilmKGZhbGxpbmcpaChiYWMpbShrKWgodG8pZgotRnEocGgpbSh5c2ljYWwpaiBGdChtbylzKGRlLikxNTQgNTIzMCB5KDM1Lik2MSBiKFdoZW4pMjAKK0ZxKHBoKW0oeXNpY2FsKWogRnQobW8pcyhkZS4pMTU0IDMyMjkgeSgzNS4pNjEgYihXaGVuKTIwCiBiKHRoZSloIEZzKHB3ZCllIEZ0KGJ1aWx0aW4paChpcylnKHN1cHBsaWVkKWcodGhlKWcoYClwCiBGcygtUClwIEZ0KCcpZyhvcHRpb24sKWooaXQpZShyZXNldHMpZyBGcygkUFdEKWUgRnQodG8paShhKWcocGF0aG5hbWUpZgotKGNvbiltKHRhaW5pbmcpMzMwIDUzNDAgeShubykzMCBiKHN5bWxpbmtzLilwIGVvcCBlbmQKLSUlUGFnZTogODcgOTMKLVRlWERpY3QgYmVnaW4gODcgOTIgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDY6KTQxCi1iKEJhc2gpMzAgYihGKS04IGIoZWF0dXJlcykyNDg0IGIoODcpMTU0IDI5OSB5KDM2Lik2MQotYihUaGUpMzYgYiBGcyhwd2QpZiBGdChidWlsdGluKWgodiltKGVyaVwwMTRlcyloKHRoYXQpZyh0aGUpZih2KS01Ci1iKGFsdWUpMzcgYihpdClnKHByaW4pbSh0cyllKGlzKWkodGhlKWYoc2FtZSloKGFzKWYodGhlKWgoY3VycmVuKW0odClmCi0oZGlyZWN0b3J5KS04IGIoLCkzMzAgNDA4IHkoZXYpbShlbikzMSBiKGlmKWYoaXQpaChpcylnKG5vdClmKGFzayltKGVkKQotaCh0bylnKGMpbShoZWMpbShrKWgodGhlKWYoXDAxNGxlKWYoc3lzdGVtKWgod2l0aClmKHRoZSloKGApcAotRnMoLVApcCBGdCgnKWYob3B0aW9uLikxNTQgNTQzIHkoMzcuKTYxIGIoV2hlbikzNSBiKGxpc3RpbmcpZyh0aGUpZworKGNvbiltKHRhaW5pbmcpMzMwIDMzMzkgeShubykzMCBiKHN5bWxpbmtzLikxNTQgMzQ2NQoreSgzNi4pNjEgYihUaGUpMzYgYiBGcyhwd2QpZiBGdChidWlsdGluKWgodiltKGVyaVwwMTRlcyloKHRoYXQpZyh0aGUpZgorKHYpLTUgYihhbHVlKTM3IGIoaXQpZyhwcmluKW0odHMpZShpcylpKHRoZSlmKHNhbWUpaChhcylmKHRoZSloKGN1cnJlbikKK20odClmKGRpcmVjdG9yeSktOCBiKCwpMzMwIDM1NzUgeShldiltKGVuKTMxIGIoaWYpZihpdCloKGlzKWcobm90KWYKKyhhc2spbShlZCloKHRvKWcoYyltKGhlYyltKGspaCh0aGUpZihcMDE0bGUpZihzeXN0ZW0paCh3aXRoKWYodGhlKWgoYClwCitGcygtUClwIEZ0KCcpZihvcHRpb24uKTE1NCAzNzAyIHkoMzcuKTYxIGIoV2hlbikzNSBiKGxpc3RpbmcpZyh0aGUpZwogKGhpc3RvcnkpLTggYigsKTM2IGIodGhlKWYgRnMoZmMpZyBGdChidWlsdGluKWYoZG8pcyhlcylnKG5vdCloCi0oaW5jbHVkZSlnKGFuKWYoaW5kaWNhdGlvbilpKG9mKWYod2hldGhlcilmKG9yKTMzMCA2NTMKKyhpbmNsdWRlKWcoYW4pZihpbmRpY2F0aW9uKWkob2YpZih3aGV0aGVyKWYob3IpMzMwIDM4MTEKIHkobm90KWQoYSlmKGhpc3RvcnkpaChlbiltKHRyeSlmKGhhcylnKGIpcyhlZW4pZyhtbylzKGRpXDAxNGVkLikxNTQKLTc4NyB5KDM4Lik2MSBiKFRoZSkzMCBiKGRlZmF1bHQpZyhlZGl0b3IpaCh1c2VkKWYoYiltKHkpZwotRnMoZmMpZyBGdChpcylnIEZzKGVkKXAgRnQoLikxNTQgOTIyIHkoMzkuKTYxIGIoVGhlKTM3CiszOTM4IHkoMzguKTYxIGIoVGhlKTMwIGIoZGVmYXVsdClnKGVkaXRvciloKHVzZWQpZihiKW0oeSlnCitGcyhmYylnIEZ0KGlzKWcgRnMoZWQpcCBGdCguKTE1NCA0MDY1IHkoMzkuKTYxIGIoVGhlKTM3CiBiIEZzKHR5cGUpZyBGdChhbmQpZyBGcyhjb21tYW5kKWYgRnQoYnVpbHRpbnMpaSh3aWxsKWcobm90KWcocmVwKXMob3J0KQogZihhKWkobm9uLWV4ZWN1dGFibGUpZyhcMDE0bGUpZihhcylnKGhhKW0odmluZyloKGIpcyhlZW4pMzMwCi0xMDMxIHkoZm91bmQsKTI2IGIodGhvdWdoKWgodGhlKWcoc2hlbGwpZyh3aWxsKWcoYXR0ZW1wdCloKHRvKWcKKzQxNzUgeShmb3VuZCwpMjYgYih0aG91Z2gpaCh0aGUpZyhzaGVsbClnKHdpbGwpZyhhdHRlbXB0KWgodG8pZwogKGV4ZWN1dGUpZyhzdWMpbShoKWYoYSlnKFwwMTRsZSlnKGlmKWcoaXQpZyhpcylnKHRoZSlnKG9ubHkpZyhzby1uYW1lZCkKLWcoXDAxNGxlKTMzMCAxMTQxIHkoZm91bmQpaShpbiloIEZzKCRQQVRIKXAgRnQoLikxNTQKLTEyNzUgeSg0MC4pNjEgYihUaGUpMzMgYiBGcyh2aSlmIEZ0KGVkaXRpbmcpaShtbylzKGRlKWYod2lsbClnKGluKW0odiltCitnKFwwMTRsZSkzMzAgNDI4NCB5KGZvdW5kKWkoaW4paCBGcygkUEFUSClwIEZ0KC4pMTU0Cis0NDExIHkoNDAuKTYxIGIoVGhlKTMzIGIgRnModmkpZiBGdChlZGl0aW5nKWkobW8pcyhkZSlmKHdpbGwpZyhpbiltKHYpbQogKG9rKW0oZSlpKHRoZSllIEZzKHZpKWcgRnQoZWRpdG9yKWgoZGlyZWN0bHkpZih3aGVuKWYodGhlKWkoYClwCi1Gcyh2KXAgRnQoJylmKGNvbW1hbmQpZyhpcylnKHJ1biwpMzMwIDEzODUgeShpbnN0ZWFkKWUob2YpZihjKW0oaGVjKW0KLShraW5nKWkgRnMoJFZJU1VBTClkIEZ0KGFuZClnIEZzKCRFRElUT1IpcCBGdCguKTE1NCAxNTE5CitGcyh2KXAgRnQoJylmKGNvbW1hbmQpZyhpcylnKHJ1biwpMzMwIDQ1MjEgeShpbnN0ZWFkKWUob2YpZihjKW0oaGVjKW0KKyhraW5nKWkgRnMoJFZJU1VBTClkIEZ0KGFuZClnIEZzKCRFRElUT1IpcCBGdCguKTE1NCA0NjQ4CiB5KDQxLik2MSBiKFdoZW4pNDEgYih0aGUpZyBGcyh4cGdfZWNobyllIEZ0KG9wdGlvbilpKGlzKWcoZW5hYmxlZCwpagogKEJhc2gpZChkbylzKGVzKWcobm90KWcoYXR0ZW1wdCloKHRvKWcoaW4pbSh0ZXJwcmV0KWYoYW4pbSh5KWgoYXItKTMzMAotMTYyOSB5KGd1bWVuKW0odHMpMzUgYih0bylnIEZzKGVjaG8pZSBGdChhcylpKG9wdGlvbnMuKTU0Cis0NzU3IHkoZ3VtZW4pbSh0cykzNSBiKHRvKWcgRnMoZWNobyllIEZ0KGFzKWkob3B0aW9ucy4pNTQKIGIoRWFjKW0oaCkzNSBiKGFyZ3VtZW4pbSh0KWcoaXMpZihkaXNwbGEpbSh5KW0oZWQsKWooYWZ0ZXIpZShlc2NhcClzKGUpCi1nKGMpbShoYXJhY3RlcnMpaChhcmUpMzMwIDE3MzggeShjb24pbSh2KW0oZXJ0ZWQuKTE1NAotMTg3MyB5KDQyLik2MSBiKFRoZSkzMCBiIEZzKHVsaW1pdClmIEZ0KGJ1aWx0aW4pZyh1c2VzKWgoYSloKGJsbylzKGMpbQorZyhjKW0oaGFyYWN0ZXJzKWgoYXJlKTMzMCA0ODY3IHkoY29uKW0odiltKGVydGVkLikxNTQKKzQ5OTQgeSg0Mi4pNjEgYihUaGUpMzAgYiBGcyh1bGltaXQpZiBGdChidWlsdGluKWcodXNlcyloKGEpaChibG8pcyhjKW0KIChrKWcoc2l6ZSlnKG9mKWcoNTEyKWcoYiltKHl0ZXMpZyhmb3IpZih0aGUpaChgKXAgRnMoLWMpcAotRnQoJylmKGFuZClnKGApcCBGcygtZilwIEZ0KCcpZyhvcHRpb25zLikyNzUgMjAzMiB5KFRoZXJlKWsoaXMpZyhvdGhlcikKLWggRmwocG9zaXgpZiBGdChiKXMoZWhhKW0odmlvciloKHRoYXQpZyhCYXNoKWcoZG8pcyhlcylmKG5vdCloCi0oaW1wbGVtZW4pbSh0KWcoYiltKHkpZyhkZWZhdWx0KWYoZXYpbShlbilpKHdoZW4pZChpbikxNTAKLTIxNDIgeSBGbChwb3NpeClkIEZ0KG1vKXMoZGUuKTQwIGIoU3ApcyhlY2lcMDE0Y2FsbHk6KTE5OQotMjI3NiB5KDEuKTYxIGIoVGhlKTMwIGIgRnMoZmMpZiBGdChidWlsdGluKWgoYyltKGhlYyltKGtzKWkKK0Z0KCcpZihhbmQpZyhgKXAgRnMoLWYpcCBGdCgnKWcob3B0aW9ucy4pMTU0IDUxMjEgeSg0My4pNjEKK2IoVGhlKTM5IGIoYXJyaXYpLTUgYihhbCk0MSBiKG9mKWYgRnMoU0lHQ0hMRCllIEZ0KHdoZW4paChhKWgodHJhcClnCisoaXMpZyhzZXQpaChvbilmIEZzKFNJR0NITEQpZSBGdChkbylzKGVzKWgobm90KWgoaW4pbSh0ZXJydXB0KWcodGhlKWcKK0ZzKHdhaXQpMzMwIDUyMzAgeSBGdChidWlsdGluKWMoYW5kKWgoY2F1c2UpZyhpdCloKHRvKWYocmV0dXJuKWYKKyhpbW1lZGlhdGVseSktOCBiKC4pNjIgYihUaGUpMzcgYih0cmFwKWYoY29tbWFuZCloKGlzKWcocnVuKWUob25jZSlqCisoZm9yKWYoZWFjKW0oaCkzMzAgNTM0MCB5KGMpbShoaWxkKTMxIGIodGhhdClnKGV4aXRzLilwCitlb3AgZW5kCislJVBhZ2U6IDg3IDkzCitUZVhEaWN0IGJlZ2luIDg3IDkyIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig2Oik0MQorYihCYXNoKTMwIGIoRiktOCBiKGVhdHVyZXMpMjQ4NCBiKDg3KTI3NSAyOTkgeShUaGVyZSkzNAorYihpcylnKG90aGVyKWggRmwocG9zaXgpZiBGdChiKXMoZWhhKW0odmlvciloKHRoYXQpZyhCYXNoKWcoZG8pcyhlcylmCisobm90KWgoaW1wbGVtZW4pbSh0KWcoYiltKHkpZyhkZWZhdWx0KWYoZXYpbShlbilpKHdoZW4pZChpbikxNTAKKzQwOCB5IEZsKHBvc2l4KWQgRnQobW8pcyhkZS4pNDAgYihTcClzKGVjaVwwMTRjYWxseTopMTk5Cis1NDMgeSgxLik2MSBiKFRoZSkzMCBiIEZzKGZjKWYgRnQoYnVpbHRpbiloKGMpbShoZWMpbShrcylpCiBGcygkRURJVE9SKWMgRnQoYXMpaihhKWYocHJvZ3JhbSlnKHRvKWgoZWRpdClnKGhpc3RvcnkpZihlbiltKHRyaWVzKWgKLShpZilmIEZzKEZDRURJVClmIEZ0KGlzKWgodW5zZXQsKTMzMCAyMzg2IHkocmF0aGVyKWcodGhhbilnKGRlZmF1bHRpbmcpCi1oKGRpcmVjdGx5KWcodG8pZyBGcyhlZClwIEZ0KC4pNDAgYiBGcyhmYykzMCBiIEZ0KHVzZXMpZwotRnMoZWQpZyBGdChpZilnIEZzKEVESVRPUilmIEZ0KGlzKWgodW5zZXQuKTE5OSAyNTIxIHkoMi4pNjEKKyhpZilmIEZzKEZDRURJVClmIEZ0KGlzKWgodW5zZXQsKTMzMCA2NTMgeShyYXRoZXIpZyh0aGFuKWcoZGVmYXVsdGluZyloCisoZGlyZWN0bHkpZyh0bylnIEZzKGVkKXAgRnQoLik0MCBiIEZzKGZjKTMwIGIgRnQodXNlcylnCitGcyhlZClnIEZ0KGlmKWcgRnMoRURJVE9SKWYgRnQoaXMpaCh1bnNldC4pMTk5IDc4NyB5KDIuKTYxCiBiKEFzKTI5IGIobm90ZWQpZyhhYilzKG8pbSh2KW0oZSwpaShCYXNoKWUocmVxdWlyZXMpZyh0aGUpZwogRnMoeHBnX2VjaG8pZSBGdChvcHRpb24paih0bylnKGIpcyhlKWUoZW5hYmxlZCloKGZvcilnKHRoZSlnCi1GcyhlY2hvKWYgRnQoYnVpbHRpbikzMzAgMjYzMCB5KHRvKWooYilzKGUpZihmdWxseSlnKGNvbmZvcm1hbiltKHQuKTI3NQotMjc5MCB5KEJhc2gpNjYgYihjYW4paChiKXMoZSlmKGNvblwwMTRndXJlZClnKHRvKWkoYilzKGUpZQorRnMoZWNobylmIEZ0KGJ1aWx0aW4pMzMwIDg5NyB5KHRvKWooYilzKGUpZihmdWxseSlnKGNvbmZvcm1hbiltKHQuKTI3NQorMTA1NiB5KEJhc2gpNjYgYihjYW4paChiKXMoZSlmKGNvblwwMTRndXJlZClnKHRvKWkoYilzKGUpZQogRmwocG9zaXgpcCBGdCgtY29uZm9ybWFuKW0odCloKGIpbSh5KWYoZGVmYXVsdCwpNzcgYihiKW0oeSk2NgotYihzcClzKGVjaWZ5aW5nKWgodGhlKTE1MCAyODk5IHkoYClwIEZzKC0tZW5hYmxlLXN0cmljdC1wb3NpeC1kZWYpbworYihzcClzKGVjaWZ5aW5nKWgodGhlKTE1MCAxMTY2IHkoYClwIEZzKC0tZW5hYmxlLXN0cmljdC1wb3NpeC1kZWYpbwogKGF1bHQpbyBGdCgnKWkodG8pNzYgYiBGcyhjb25maWd1cmUpYyBGdCh3aGVuKWkoYnVpbGRpbmcpZyhcKHNlZSlpCi0oU2VjdGlvbilmKDEwLjgpMTUwIDMwMDkgeShbT3B0aW9uYWwpMzEgYihGKS04IGIoZWF0dXJlc10sKTMyCisoU2VjdGlvbilmKDEwLjgpMTUwIDEyNzUgeShbT3B0aW9uYWwpMzEgYihGKS04IGIoZWF0dXJlc10sKTMyCiBiKHBhZ2UpZigxMjlcKS4pcCBlb3AgZW5kCiAlJVBhZ2U6IDg4IDk0Ci1UZVhEaWN0IGJlZ2luIDg4IDkzIGJvcCAxNTAgLTExNiBhIEZ0KDg4KTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbClwIGVvcCBlbmQKK1RlWERpY3QgYmVnaW4gODggOTMgYm9wIGVvcCBlbmQKICUlUGFnZTogODkgOTUKIFRlWERpY3QgYmVnaW4gODkgOTQgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDc6KTQxCiBiKEpvYikzMCBiKENvbiltKHRyb2wpMjU3MSBiKDg5KTE1MCAyOTkgeSBGbyg3KTgwIGIoSm9iKTU0Ci1iKENvbilsKHRyb2wpMjc1IDU1MCB5IEZ0KFRoaXMpMzQgYihjKW0oaGFwdGVyKWkoZGlzY3Vzc2VzKWYod2hhdClnCi0oam9iKWcoY29uKW0odHJvbClpKGlzLClnKGhvKW0odyllKGl0KWgodyltKG9ya3MsKWgoYW5kKWUoaG8pbSh3KWcKLShCYXNoKWgoYWxsbyltKHdzKWcoeSltKG91KWcodG8pMTUwIDY2MCB5KGFjY2VzcyljKGl0cyllKGZhY2lsaXRpZXMuKQotMTUwIDkzMSB5IEZyKDcuMSk2OCBiKEpvYik0NSBiKENvbilsKHRyb2wpaChCYXNpY3MpMjc1Ci0xMTgxIHkgRnQoSm9iKTMwIGIoY29uKW0odHJvbClqKHJlZmVycyllKHRvKWgodGhlKWcoYWJpbGl0KW0oeSlnKHRvKWcKLShzZWxlY3RpdiltKGVseSlqKHN0b3ApYyhcKHN1c3ApcyhlbmRcKSlmKHRoZSloKGV4ZWN1dGlvbilpKG9mKWUocHJvKXMKLShjZXNzZXMpMTUwIDEyOTAgeShhbmQpMjQgYihjb24pbSh0aW4pbSh1ZSlpKFwocmVzdW1lXCkpZih0aGVpcilnCi0oZXhlY3V0aW9uKWgoYXQpZihhKWgobGF0ZXIpZihwKXMob2luKW0odC4pMzkgYihBKTI1Ci1iKHVzZXIpZih0KW0oeXBpY2FsbHkpaihlbXBsbyltKHlzKWUodGhpcylnKGZhY2lsaXQpbSh5KTE1MAotMTQwMCB5KHZpYSkzMSBiKGFuKWYoaW4pbSh0ZXJhY3RpdiltKGUpaihpbiltKHRlcmZhY2UpZihzdXBwbGllZCllCi0oam9pbiltKHRseSloKGIpbSh5KWYodGhlKWgoc3lzdGVtJ3MpZih0ZXJtaW5hbCloKGRyaXYpbShlcilmKGFuZClnCi0oQmFzaC4pMjc1IDE1NDAgeShUaGUpMjMgYihzaGVsbClpKGFzc28pcyhjaWF0ZXMpaChhKWYKLUZxKGpvYiloIEZ0KHdpdGgpZShlYWMpbShoKWkocGlwKXMoZWxpbmUuKTM4IGIoSXQpMjUKLWIoayltKGVlcHMpZihhKWgodGFibGUpaChvZillKGN1cnJlbiltKHRseSloKGV4ZWN1dGluZylnKGpvYnMsKTE1MAotMTY1MCB5KHdoaWMpbShoKTMzIGIobWEpbSh5KWkoYilzKGUpZShsaXN0ZWQpaCh3aXRoKWYodGhlKWgKLUZzKGpvYnMpZiBGdChjb21tYW5kLik1MCBiKFdoZW4pMzMgYihCYXNoKWgoc3RhcnRzKWcoYSlnKGpvYilnKGFzeW5jKW0KLShocm9ub3VzbHkpLTggYigsKTM0IGIoaXQpMTUwIDE3NTkgeShwcmluKW0odHMpYyhhKWgobGluZSlmKHRoYXQpaChsbylzCi0ob2tzKWcobGlrKW0oZTopMzkwIDE4OTkgeSBGcyhbMV0pNDcgYigyNTY0NykxNTAgMjA0MAoteSBGdChpbmRpY2F0aW5nKTM0IGIodGhhdClnKHRoaXMpZihqb2IpZyhpcylnKGpvYilnKG4pbSh1bSltKGIpcyhlcilmCi0oMSlpKGFuZClmKHRoYXQpZyh0aGUpaChwcm8pcyhjZXNzKWYgRmwoaWQpZyBGdChvZilnKHRoZSloKGxhc3QpZyhwcm8pcwotKGNlc3MpZihpbilnKHRoZSkxNTAgMjE0OSB5KHBpcClzKGVsaW5lKTQyIGIoYXNzbylzKGNpYXRlZClpKHdpdGgpZQotKHRoaXMpZyhqb2IpZyhpcyloKDI1NjQ3Lik3OCBiKEFsbCk0MyBiKG9mKWcodGhlKWcocHJvKXMoY2Vzc2VzKWYoaW4pZwotKGEpaChzaW5nbGUpZyhwaXApcyhlbGluZSlmKGFyZSkxNTAgMjI1OSB5KG1lbSltKGIpcyhlcnMpMzAKLWIob2YpZyh0aGUpaChzYW1lKWYoam9iLik0MSBiKEJhc2gpMzAgYih1c2VzKWcodGhlKWgKLUZxKGpvYiloIEZ0KGFic3RyYWN0aW9uKWYoYXMpZyh0aGUpZyhiYXNpcylmKGZvcilnKGpvYilnKGNvbiltKHRyb2wuKQotMjc1IDIzOTkgeShUKS04IGIobykyMyBiKGZhY2lsaXRhdGUpaih0aGUpZChpbXBsZW1lbiltKHRhdGlvbilpKG9mKWYKLSh0aGUpZih1c2VyKWYoaW4pbSh0ZXJmYWNlKWoodG8pZihqb2IpZihjb24pbSh0cm9sLClqKHRoZSlkKG9wKXMKLShlcmF0aW5nKWgoc3lzdGVtKTE1MCAyNTA5IHkobWFpbiltKHRhaW5zKWoodGhlKWYobm90aW9uKWgob2YpZihhKWcKLShjdXJyZW4pbSh0KWcodGVybWluYWwpZyhwcm8pcyhjZXNzKWcoZ3JvdXApZyBGbChpZClwCi1GdCguKTM5IGIoTWVtKW0oYilzKGVycykyNiBiKG9mKWcodGhpcylnKHBybylzKGNlc3MpZihncm91cCkxNTAKLTI2MTggeShcKHBybylzKGNlc3NlcyloKHdob3NlKWcocHJvKXMoY2VzcylnKGdyb3VwKWcKK2IoQ29uKWwodHJvbCkxNTAgNTIxIHkgRnQoVGhpcykyNSBiKGMpbShoYXB0ZXIpaShkaXNjdXNzZXMpZih3aGF0KWcKKyhqb2IpZihjb24pbSh0cm9sKWooaXMsKWYoaG8pbSh3KWYoaXQpaCh3KW0ob3JrcywpZyhhbmQpZihobyltKHcpZworKEJhc2gpZyhhbGxvKW0od3MpaCh5KW0ob3UpZyh0bylnKGFjY2VzcykxNTAgNjMxIHkoaXRzKWsoZmFjaWxpdGllcy4pCisxNTAgODU4IHkgRnIoNy4xKTY4IGIoSm9iKTQ1IGIoQ29uKWwodHJvbCloKEJhc2ljcykxNTAKKzEwMTggeSBGdChKb2IpMjcgYihjb24pbSh0cm9sKWkocmVmZXJzKWUodG8paCh0aGUpZyhhYmlsaXQpbSh5KWgodG8pZgorKHNlbGVjdGl2KW0oZWx5KWooc3RvcCljKFwoc3VzcClzKGVuZFwpKWYodGhlKWkoZXhlY3V0aW9uKWgob2YpZShwcm8pcworKGNlc3NlcyloKGFuZCkxNTAgMTEyNyB5KGNvbiltKHRpbiltKHVlKTM4IGIoXChyZXN1bWVcKSlnKHRoZWlyKWYKKyhleGVjdXRpb24paChhdClnKGEpZyhsYXRlcilnKHApcyhvaW4pbSh0Lik2MSBiKEEpMzcKK2IodXNlcilnKHQpbSh5cGljYWxseSlpKGVtcGxvKW0oeXMpZih0aGlzKWYoZmFjaWxpdCltKHkpMTUwCisxMjM3IHkodmlhKTI3IGIoYW4pZShpbiltKHRlcmFjdGl2KW0oZSlrKGluKW0odGVyZmFjZSlmKHN1cHBsaWVkKWQKKyhqb2luKW0odGx5KWgoYiltKHkpZyh0aGUpaChvcClzKGVyYXRpbmcpZihzeXN0ZW0pZyhrKW0oZXJuZWwncyloCisodGVybWluYWwpZihkcml2KW0oZXIpMTUwIDEzNDcgeShhbmQpayhCYXNoLikyNzUgMTQ3OQoreShUaGUpMjMgYihzaGVsbClpKGFzc28pcyhjaWF0ZXMpaChhKWYgRnEoam9iKWggRnQod2l0aCllKGVhYyltKGgpaQorKHBpcClzKGVsaW5lLikzOCBiKEl0KTI1IGIoayltKGVlcHMpZihhKWgodGFibGUpaChvZillKGN1cnJlbiltKHRseSloCisoZXhlY3V0aW5nKWcoam9icywpMTUwIDE1ODggeSh3aGljKW0oaCkzMyBiKG1hKW0oeSlpKGIpcyhlKWUobGlzdGVkKWgKKyh3aXRoKWYodGhlKWggRnMoam9icylmIEZ0KGNvbW1hbmQuKTUwIGIoV2hlbikzMyBiKEJhc2gpaChzdGFydHMpZyhhKWcKKyhqb2IpZyhhc3luYyltKGhyb25vdXNseSktOCBiKCwpMzQgYihpdCkxNTAgMTY5OCB5KHByaW4pbSh0cyljKGEpaAorKGxpbmUpZih0aGF0KWgobG8pcyhva3MpZyhsaWspbShlOikzOTAgMTgzMCB5IEZzKFsxXSk0NworYigyNTY0NykxNTAgMTk2MiB5IEZ0KGluZGljYXRpbmcpMzQgYih0aGF0KWcodGhpcylmKGpvYilnKGlzKWcoam9iKWcobikKK20odW0pbShiKXMoZXIpZigxKWkoYW5kKWYodGhhdClnKHRoZSloKHBybylzKGNlc3MpZiBGbChpZClnCitGdChvZilnKHRoZSloKGxhc3QpZyhwcm8pcyhjZXNzKWYoaW4pZyh0aGUpMTUwIDIwNzIgeShwaXApcyhlbGluZSk0MgorYihhc3NvKXMoY2lhdGVkKWkod2l0aCllKHRoaXMpZyhqb2IpZyhpcyloKDI1NjQ3Lik3OAorYihBbGwpNDMgYihvZilnKHRoZSlnKHBybylzKGNlc3NlcylmKGluKWcoYSloKHNpbmdsZSlnKHBpcClzKGVsaW5lKWYKKyhhcmUpMTUwIDIxODEgeShtZW0pbShiKXMoZXJzKTMwIGIob2YpZyh0aGUpaChzYW1lKWYoam9iLik0MQorYihCYXNoKTMwIGIodXNlcylnKHRoZSloIEZxKGpvYiloIEZ0KGFic3RyYWN0aW9uKWYoYXMpZyh0aGUpZyhiYXNpcylmCisoZm9yKWcoam9iKWcoY29uKW0odHJvbC4pMjc1IDIzMTMgeShUKS04IGIobykyMyBiKGZhY2lsaXRhdGUpaih0aGUpZAorKGltcGxlbWVuKW0odGF0aW9uKWkob2YpZih0aGUpZih1c2VyKWYoaW4pbSh0ZXJmYWNlKWoodG8pZihqb2IpZihjb24pbQorKHRyb2wsKWoodGhlKWQob3ApcyhlcmF0aW5nKWgoc3lzdGVtKTE1MCAyNDIzIHkobWFpbiltKHRhaW5zKWoodGhlKWYKKyhub3Rpb24paChvZilmKGEpZyhjdXJyZW4pbSh0KWcodGVybWluYWwpZyhwcm8pcyhjZXNzKWcoZ3JvdXApZworRmwoaWQpcCBGdCguKTM5IGIoTWVtKW0oYilzKGVycykyNiBiKG9mKWcodGhpcylnKHBybylzKGNlc3MpZihncm91cCkxNTAKKzI1MzMgeShcKHBybylzKGNlc3NlcyloKHdob3NlKWcocHJvKXMoY2VzcylnKGdyb3VwKWcKIEZsKGlkKWcgRnQoaXMpaChlcXVhbClnKHRvKWcodGhlKWYoY3VycmVuKW0odClnKHRlcm1pbmFsKWgocHJvKXMoY2VzcylmCi0oZ3JvdXApZiBGbChpZClwIEZ0KFwpKWkocmVjZWl2KW0oZSkxNTAgMjcyOCB5KGspbShleWIpcworKGdyb3VwKWYgRmwoaWQpcCBGdChcKSlpKHJlY2VpdiltKGUpMTUwIDI2NDIgeShrKW0oZXliKXMKIChvYXJkLWdlbmVyYXRlZCkyMiBiKHNpZ25hbHMpZyhzdWMpbShoKWUoYXMpaCBGcyhTSUdJTlQpcAogRnQoLikzNiBiKFRoZXNlKTIxIGIocHJvKXMoY2Vzc2VzKWcoYXJlKWcoc2FpZClnKHRvKWcoYilzKGUpZyhpbilmKHRoZSkKLWgoZm9yZWdyb3VuZC4pMTUwIDI4MzcgeShCYWMpbShrZ3JvdW5kKTM4IGIocHJvKXMoY2Vzc2VzKWYoYXJlKWgodGhvc2UpCitoKGZvcmVncm91bmQuKTE1MCAyNzUyIHkoQmFjKW0oa2dyb3VuZCkzOCBiKHBybylzKGNlc3NlcylmKGFyZSloKHRob3NlKQogZyh3aG9zZSlmKHBybylzKGNlc3MpZyhncm91cClnIEZsKGlkKWggRnQoZGlcMDEzZXJzKWYoZnJvbSlnKHRoZSlnCi0odGVybWluYWwnczspNDIgYihzdWMpbShoKTE1MCAyOTQ3IHkocHJvKXMoY2Vzc2VzKTI0CisodGVybWluYWwnczspNDIgYihzdWMpbShoKTE1MCAyODYxIHkocHJvKXMoY2Vzc2VzKTI0CiBiKGFyZSlnKGltbSltKHVuZSlnKHRvKWcoayltKGV5YilzKG9hcmQtZ2VuZXJhdGVkKWgoc2lnbmFscy4pNDAKIGIoT25seSkyMyBiKGZvcmVncm91bmQpZyhwcm8pcyhjZXNzZXMpaChhcmUpZyhhbGxvKW0odyltKGVkKTE1MAotMzA1NyB5KHRvKTM1IGIocmVhZClmKGZyb20pZihvciloKHdyaXRlKWcodG8paCh0aGUpZih0ZXJtaW5hbC4pNTIKLWIoQmFjKW0oa2dyb3VuZCkzNCBiKHBybylzKGNlc3NlcylnKHdoaWMpbShoKWcoYXR0ZW1wdCloKHRvKWcocmVhZCllCi0oZnJvbSkxNTAgMzE2NiB5KFwod3JpdGUpZSh0b1wpKWcodGhlKWcodGVybWluYWwpZyhhcmUpZyhzZW4pbSh0KWcoYSlmCi1GcyhTSUdUVElOKWYgRnQoXCgpcCBGcyhTSUdUVE9VKXAgRnQoXCkpZyhzaWduYWwpaShiKW0oeSlmKHRoZSloCi0odGVybWluYWwpZyhkcml2KW0oZXIsKWYod2hpYyltKGgsKTE1MCAzMjc2IHkodW5sZXNzKWcoY2F1Z2gpbSh0LCloCi0oc3VzcClzKGVuZHMpZCh0aGUpaihwcm8pcyhjZXNzLikyNzUgMzQxNiB5KElmKWoodGhlKWkob3ApcyhlcmF0aW5nKWcKLShzeXN0ZW0pZihvbiloKHdoaWMpbShoKWYoQmFzaClnKGlzKWgocnVubmluZylkKHN1cHApcyhvcnRzKWgoam9iKWgKLShjb24pbSh0cm9sLClqKEJhc2gpZShjb24pbSh0YWlucykxNTAgMzUyNSB5KGZhY2lsaXRpZXMpMzAKLWIodG8pZih1c2UpZihpdC4pNDAgYihUKW0oeXBpbmcpMjggYih0aGUpZyBGcShzdXNwKXMoZW5kKWgKLUZ0KGMpbShoYXJhY3RlciloKFwodCltKHlwaWNhbGx5KWcoYClwIEZzKF5aKXAgRnQoJywpZihDb24pbSh0cm9sLVpcKSlnCi0od2hpbGUpZihhKWcocHJvKXMoY2VzcykxNTAgMzYzNSB5KGlzKTQyIGIocnVubmluZylmKGNhdXNlcylpKHRoYXQpZwotKHBybylzKGNlc3MpZih0byloKGIpcyhlKWYoc3RvcHApcyhlZClmKGFuZCloKHJldHVybnMpZihjb24pbSh0cm9sKWoKLSh0bylmKEJhc2guKTc3IGIoVCltKHlwaW5nKTQyIGIodGhlKTE1MCAzNzQ1IHkgRnEoZGVsYSltKHkpbShlZClrKHN1c3ApCi1zKGVuZClmIEZ0KGMpbShoYXJhY3RlciloKFwodCltKHlwaWNhbGx5KWcoYClwIEZzKF5ZKXAKLUZ0KCcsKWkoQ29uKW0odHJvbC1ZXCkpZShjYXVzZXMpZSh0aGUpaChwcm8pcyhjZXNzKWUodG8paShiKXMoZSlmCi0oc3RvcHApcyhlZCkxNTAgMzg1NCB5KHdoZW4pMjYgYihpdClpKGF0dGVtcHRzKWgodG8pZihyZWFkKWYoaW5wdXQpZwotKGZyb20pZih0aGUpaSh0ZXJtaW5hbCwpaChhbmQpZShjb24pbSh0cm9sKWgodG8pZyhiKXMoZSlmKHJldHVybmVkKWYKLSh0bylqKEJhc2guKTM5IGIoVGhlKTE1MCAzOTY0IHkodXNlcillKHRoZW4pZyhtYW5pcHVsYXRlcyloKHRoZSlnCi0oc3RhdGUpaChvZilmKHRoaXMpZihqb2IsKWoodXNpbmcpZCh0aGUpaCBGcyhiZylmIEZ0KGNvbW1hbmQpZyh0byloCi0oY29uKW0odGluKW0odWUpaChpdClmKGluKWcodGhlKTE1MCA0MDczIHkoYmFjKW0oa2dyb3VuZCwpZyh0aGUpZgotRnMoZmcpZyBGdChjb21tYW5kKWYodG8paShjb24pbSh0aW4pbSh1ZSlnKGl0KWYoaW4pZih0aGUpaChmb3JlZ3JvdW5kLCkKLWgob3IpZih0aGUpZyBGcyhraWxsKWYgRnQoY29tbWFuZClnKHRvKTE1MCA0MTgzIHkoa2lsbCkyNwotYihpdC4pNDAgYihBKTI3IGIoYClwIEZzKF5aKXAgRnQoJylnKHRhayltKGVzKWgoZVwwMTNlY3QpZyhpbW1lZGlhdGVseSkKLS04IGIoLCkyOSBiKGFuZClkKGhhcyloKHRoZSlmKGFkZGl0aW9uYWwpaShzaWRlKWUoZVwwMTNlY3QpaihvZilkCi0oY2F1c2luZyloKHApcyhlbmRpbmcpMTUwIDQyOTMgeShvdXRwdXQpaihhbmQpZyh0KW0oeXApcyhlYWhlYWQpaCh0bylnCi0oYilzKGUpZShkaXNjYXJkZWQuKTI3NSA0NDMzIHkoVGhlcmUpaihhcmUpZyhhKWgobiltKHVtKW0oYilzKGVyKWUob2YpaQotKHcpbShhKW0oeXMpZyh0byloKHJlZmVyKWUodG8paChhKWcoam9iKWYoaW4pZyh0aGUpaChzaGVsbC4pNDcKKzI5NzEgeSh0bylnKHJlYWQpZShmcm9tKWgob3IsKWgoaWYpZih0aGUpZyh1c2VyKWYoc28paShzcClzKGVjaVwwMTRlcyllCisod2l0aCloIEZzKHN0dHkpMjkgYih0b3N0b3ApcCBGdCgsKTIzIGIod3JpdGUpZyh0bylnKHRoZSloKHRlcm1pbmFsLikzOAorYihCYWMpbShrZ3JvdW5kKTE1MCAzMDgxIHkocHJvKXMoY2Vzc2VzKTI3IGIod2hpYyltKGgpZyhhdHRlbXB0KWgodG8pZgorKHJlYWQpZyhmcm9tKWcoXCh3cml0ZSlnKHRvKWgod2hlbillIEZzKHN0dHkpaih0b3N0b3ApZAorRnQoaXMpaChpbilmKGVcMDEzZWN0XCkpaih0aGUpZSh0ZXJtaW5hbCkxNTAgMzE5MCB5KGFyZSkzMgorYihzZW4pbSh0KWcoYSlnIEZzKFNJR1RUSU4pZSBGdChcKClwIEZzKFNJR1RUT1UpcCBGdChcKSlnKHNpZ25hbClpKGIpbQorKHkpZyh0aGUpZyhrKW0oZXJuZWwncylnKHRlcm1pbmFsKWcoZHJpdiltKGVyLClnKHdoaWMpbShoLClnKHVubGVzcylmCisoY2F1Z2gpbSh0LCkxNTAgMzMwMCB5KHN1c3ApcyhlbmRzKWQodGhlKWkocHJvKXMoY2Vzcy4pMjc1CiszNDMyIHkoSWYpayh0aGUpaShvcClzKGVyYXRpbmcpZyhzeXN0ZW0pZihvbiloKHdoaWMpbShoKWYoQmFzaClnKGlzKWgKKyhydW5uaW5nKWQoc3VwcClzKG9ydHMpaChqb2IpaChjb24pbSh0cm9sLClqKEJhc2gpZShjb24pbSh0YWlucykxNTAKKzM1NDEgeShmYWNpbGl0aWVzKTMwIGIodG8pZih1c2UpZihpdC4pNDAgYihUKW0oeXBpbmcpMjgKK2IodGhlKWcgRnEoc3VzcClzKGVuZCloIEZ0KGMpbShoYXJhY3RlciloKFwodCltKHlwaWNhbGx5KWcoYClwCitGcyheWilwIEZ0KCcsKWYoQ29uKW0odHJvbC1aXCkpZyh3aGlsZSlmKGEpZyhwcm8pcyhjZXNzKTE1MAorMzY1MSB5KGlzKTQyIGIocnVubmluZylmKGNhdXNlcylpKHRoYXQpZyhwcm8pcyhjZXNzKWYodG8paChiKXMoZSlmCisoc3RvcHApcyhlZClmKGFuZCloKHJldHVybnMpZihjb24pbSh0cm9sKWoodG8pZihCYXNoLik3NworYihUKW0oeXBpbmcpNDIgYih0aGUpMTUwIDM3NjEgeSBGcShkZWxhKW0oeSltKGVkKWsoc3VzcClzKGVuZClmCitGdChjKW0oaGFyYWN0ZXIpaChcKHQpbSh5cGljYWxseSlnKGApcCBGcyheWSlwIEZ0KCcsKWkoQ29uKW0odHJvbC1ZXCkpZQorKGNhdXNlcyllKHRoZSloKHBybylzKGNlc3MpZSh0bylpKGIpcyhlKWYoc3RvcHApcyhlZCkxNTAKKzM4NzAgeSh3aGVuKTI2IGIoaXQpaShhdHRlbXB0cyloKHRvKWYocmVhZClmKGlucHV0KWcoZnJvbSlmKHRoZSlpCisodGVybWluYWwsKWgoYW5kKWUoY29uKW0odHJvbCloKHRvKWcoYilzKGUpZihyZXR1cm5lZClmKHRvKWooQmFzaC4pMzkKK2IoVGhlKTE1MCAzOTgwIHkodXNlcillKHRoZW4pZyhtYW5pcHVsYXRlcyloKHRoZSlnKHN0YXRlKWgob2YpZih0aGlzKWYKKyhqb2IsKWoodXNpbmcpZCh0aGUpaCBGcyhiZylmIEZ0KGNvbW1hbmQpZyh0byloKGNvbiltKHRpbiltKHVlKWgoaXQpZgorKGluKWcodGhlKTE1MCA0MDg5IHkoYmFjKW0oa2dyb3VuZCwpZyh0aGUpZiBGcyhmZylnIEZ0KGNvbW1hbmQpZih0bylpCisoY29uKW0odGluKW0odWUpZyhpdClmKGluKWYodGhlKWgoZm9yZWdyb3VuZCwpaChvcilmKHRoZSlnCitGcyhraWxsKWYgRnQoY29tbWFuZClnKHRvKTE1MCA0MTk5IHkoa2lsbCkyNyBiKGl0Lik0MAorYihBKTI3IGIoYClwIEZzKF5aKXAgRnQoJylnKHRhayltKGVzKWgoZVwwMTNlY3QpZyhpbW1lZGlhdGVseSktOAorYigsKTI5IGIoYW5kKWQoaGFzKWgodGhlKWYoYWRkaXRpb25hbClpKHNpZGUpZShlXDAxM2VjdClqKG9mKWQoY2F1c2luZykKK2gocClzKGVuZGluZykxNTAgNDMwOSB5KG91dHB1dClqKGFuZClnKHQpbSh5cClzKGVhaGVhZCloKHRvKWcoYilzKGUpZQorKGRpc2NhcmRlZC4pMjc1IDQ0NDEgeShUaGVyZSlqKGFyZSlnKGEpaChuKW0odW0pbShiKXMoZXIpZShvZilpKHcpbShhKW0KKyh5cylnKHRvKWgocmVmZXIpZSh0byloKGEpZyhqb2IpZihpbilnKHRoZSloKHNoZWxsLik0NwogYihUaGUpMzIgYihjKW0oaGFyYWN0ZXIpaShgKXAgRnMoXDA0NSlwIEZ0KCcpZihpbiltKHRybylzKGR1Y2VzKTE1MAotNDU0MiB5KGEpZShqb2IpZihzcClzKGVjaVwwMTRjYXRpb24paChcKClwIEZxKGpvYnNwKXMoZWMpNgorNDU1MCB5KGEpZShqb2IpZihzcClzKGVjaVwwMTRjYXRpb24paChcKClwIEZxKGpvYnNwKXMoZWMpNgogYiBGdChcKS4pMjc1IDQ2ODIgeShKb2IpMzEgYihuKW0odW0pbShiKXMoZXIpZiBGcyhuKWgKIEZ0KG1hKW0oeSloKGIpcyhlKWYocmVmZXJyZWQpZyh0byloKGFzKWcoYClwIEZzKFwwNDVuKXAKIEZ0KCcuKTQ0IGIoVGhlKTMxIGIoc3ltKW0oYilzKG9scylnKGApcCBGcyhcMDQ1XDA0NSlwCkBAIC0xMTE1NCwxNDQgKzExMTAzLDE0NCBAQAogKHRhaW5pbmcpaCh0aGUpZihzdHJpbmcpZihgKXAgRnMoY2UpcCBGdCgnKWgoaW4pZihpdHMpaChjb21tYW5kKTE1MAogNjI4IHkobGluZS4pNDEgYihJZikzMCBiKHRoZSloKHByZVwwMTR4KWUob3IpaChzdWJzdHJpbmcpZihtYXRjKW0oaGVzKWoKIChtb3JlKWUodGhhbiloKG9uZSlmKGpvYiwpaChCYXNoKWYocmVwKXMob3J0cylnKGFuKWcoZXJyb3IuKTI3NQotNzY3IHkoU2ltcGx5KWcobmFtaW5nKWgoYSlnKGpvYilnKGNhbilnKGIpcyhlKWYodXNlZCloKHRvKWcoYnJpbmcpZihpdCkKKzc2MiB5KFNpbXBseSlnKG5hbWluZyloKGEpZyhqb2IpZyhjYW4pZyhiKXMoZSlmKHVzZWQpaCh0bylnKGJyaW5nKWYoaXQpCiBpKGluKW0odG8pZyh0aGUpZihmb3JlZ3JvdW5kOik0MSBiKGApcCBGcyhcMDQ1MSlwIEZ0KCcpMzEKLWIoaXMpZyhhKWgoc3lub24pbSh5bSllKGZvcikxNTAgODc2IHkoYClwIEZzKGZnKWcoXDA0NTEpcAorYihpcylnKGEpaChzeW5vbiltKHltKWUoZm9yKTE1MCA4NzEgeShgKXAgRnMoZmcpZyhcMDQ1MSlwCiBGdCgnLClpKGJyaW5naW5nKWYoam9iKWcoMSlnKGZyb20pZyh0aGUpaChiYWMpbShrZ3JvdW5kKWYoaW4pbSh0bylpCiAodGhlKWUoZm9yZWdyb3VuZC4pNDQgYihTaW1pbGFybHkpLTggYigsKTMyIGIoYClwIEZzKFwwNDUxKWUoJilwCi1GdCgnKWkocmVzdW1lcykxNTAgOTg2IHkoam9iKWUoMSloKGluKWYodGhlKWcoYmFjKW0oa2dyb3VuZCwpaChlcXVpdiktNQotYihhbGVuKW0odCkzMiBiKHRvKWYoYClwIEZzKGJnKWYoXDA0NTEpcCBGdCgnKTI3NSAxMTI1CitGdCgnKWkocmVzdW1lcykxNTAgOTgxIHkoam9iKWUoMSloKGluKWYodGhlKWcoYmFjKW0oa2dyb3VuZCwpaChlcXVpdiktNQorYihhbGVuKW0odCkzMiBiKHRvKWYoYClwIEZzKGJnKWYoXDA0NTEpcCBGdCgnKTI3NSAxMTE1CiB5KFRoZSlnKHNoZWxsKWkobGVhcm5zKWYoaW1tZWRpYXRlbHkpaSh3aGVuZXYpbShlcillKGEpaChqb2IpZihjKW0KIChoYW5nZXMpaChzdGF0ZS4pNDUgYihOb3JtYWxseSktOCBiKCwpMzMgYihCYXNoKWUodyltKGFpdHMpaSh1biltKHRpbCkKLTE1MCAxMjM1IHkoaXQpMjUgYihpcylnKGFiKXMob3V0KWYodG8paShwcmluKW0odCllKGEpaChwcm9tcHQpZihiKXMKKzE1MCAxMjI0IHkoaXQpMjUgYihpcylnKGFiKXMob3V0KWYodG8paShwcmluKW0odCllKGEpaChwcm9tcHQpZihiKXMKIChlZm9yZSlnKHJlcClzKG9ydGluZyloKGMpbShoYW5nZXMpZyhpbilnKGEpZyhqb2IncylmKHN0YXR1cyloKHNvKWcoYXMpCi1nKHRvKWcobm90KWcoaW4pbSh0ZXJydXB0KTE1MCAxMzQ0IHkoYW4pbSh5KWcob3RoZXIpZyhvdXRwdXQuKTM5CitnKHRvKWcobm90KWcoaW4pbSh0ZXJydXB0KTE1MCAxMzM0IHkoYW4pbSh5KWcob3RoZXIpZyhvdXRwdXQuKTM5CiBiKElmKTI0IGIodGhlKWkoYClwIEZzKC1iKXAgRnQoJyllKG9wdGlvbilpKHRvKWYodGhlKWcKIEZzKHNldClmIEZ0KGJ1aWx0aW4paChpcylnKGVuYWJsZWQsKWgoQmFzaClmKHJlcClzKG9ydHMpZihzdWMpbShoKWgoYyltCi0oaGFuZ2VzKTE1MCAxNDU0IHkoaW1tZWRpYXRlbHkpZyhcKHNlZSlnKFNlY3Rpb24pZyg0LjMuMSlnKFtUaGUpZihTZXQpZworKGhhbmdlcykxNTAgMTQ0MyB5KGltbWVkaWF0ZWx5KWcoXChzZWUpZyhTZWN0aW9uKWcoNC4zLjEpZyhbVGhlKWYoU2V0KWcKIChCdWlsdGluXSwpaShwYWdlKWYoNTFcKS4pNDAgYihBbiltKHkpMjQgYih0cmFwKWYob24paAotRnMoU0lHQ0hMRCllIEZ0KGlzKWkoZXhlY3V0ZWQpMTUwIDE1NjQgeShmb3IpMzAgYihlYWMpbShoKWkoYyltKGhpbGQpZQotKHBybylzKGNlc3MpZyh0aGF0KWgoZXhpdHMuKTI3NSAxNzAzIHkoSWYpMjUgYihhbiloKGF0dGVtcHQpaCh0bylnCitGcyhTSUdDSExEKWUgRnQoaXMpaShleGVjdXRlZCkxNTAgMTU1MyB5KGZvcikzMCBiKGVhYyltKGgpaShjKW0oaGlsZCllCisocHJvKXMoY2VzcylnKHRoYXQpaChleGl0cy4pMjc1IDE2ODcgeShJZikyNSBiKGFuKWgoYXR0ZW1wdCloKHRvKWcKIChleGl0KWcoQmFzaClmKGlzKWgobWFkZSlmKHdoaWxlKWcoam9icylmKGFyZSlpKHN0b3BwKXMoZWQsKWYoXChvciloCi0ocnVubmluZywpZShpZiloKHRoZSlnIEZzKGNoZWNram9icykxNTAgMTgxMiB5IEZ0KG9wdGlvbillKGlzKWYKKyhydW5uaW5nLCllKGlmKWgodGhlKWcgRnMoY2hlY2tqb2JzKTE1MCAxNzk2IHkgRnQob3B0aW9uKWUoaXMpZgogKGVuYWJsZWQpaCh7KWcoc2VlKWcoU2VjdGlvbilnKDQuMy4yKWgoW1RoZSllKFNob3B0KWcoQnVpbHRpbl0sKWoocGFnZSkKLWUoNTRcKSwpaSh0aGUpZShzaGVsbClmKHByaW4pbSh0cylnKGEpaCh3KW0oYXJuaW5nKTE1MAotMTkyMiB5KG1lc3NhZ2UsKWsoYW5kKWMoaWYpaSh0aGUpZiBGcyhjaGVja2pvYnMpZSBGdChvcHRpb24paihpcylmCitlKDU1XCksKWkodGhlKWUoc2hlbGwpZihwcmluKW0odHMpZyhhKWgodyltKGFybmluZykxNTAKKzE5MDYgeShtZXNzYWdlLClrKGFuZCljKGlmKWkodGhlKWYgRnMoY2hlY2tqb2JzKWUgRnQob3B0aW9uKWooaXMpZgogKGVuYWJsZWQsKWkobGlzdHMpZSh0aGUpaChqb2JzKWYoYW5kKWYodGhlaXIpaShzdGF0dXNlcy4pMzkKLWIoVGhlKTI1IGIgRnMoam9icykxNTAgMjAzMiB5IEZ0KGNvbW1hbmQpMzYgYihtYSltKHkpaCh0aGVuKWYoYilzKGUpZgorYihUaGUpMjUgYiBGcyhqb2JzKTE1MCAyMDE2IHkgRnQoY29tbWFuZCkzNiBiKG1hKW0oeSloKHRoZW4pZihiKXMoZSlmCiAodXNlZClnKHRvKWkoaW5zcClzKGVjdClmKHRoZWlyKWcoc3RhdHVzLik1OSBiKElmKTM2Ci1iKGEpZyhzZWNvbmQpZyhhdHRlbXB0KWkodG8pZihleGl0KWcoaXMpZihtYWRlKTE1MCAyMTQxCitiKGEpZyhzZWNvbmQpZyhhdHRlbXB0KWkodG8pZihleGl0KWcoaXMpZihtYWRlKTE1MCAyMTI1CiB5KHdpdGhvdXQpZShhbilmKGluKW0odGVydiltKGVuaW5nKWkoY29tbWFuZCwpZihCYXNoKWcoZG8pcyhlcylmKG5vdCloCiAocHJpbiltKHQpZyhhbm90aGVyKWYodyltKGFybmluZywpaShhbmQpZShhbiltKHkpaChzdG9wcClzKGVkKTE1MAotMjI1MSB5KGpvYnMpYyhhcmUpaCh0ZXJtaW5hdGVkLikxNTAgMjUyMCB5IEZyKDcuMik2OAotYihKb2IpNDUgYihDb24pbCh0cm9sKWgoQnVpbHRpbnMpMTUwIDI3NjYgeSBGcyhiZyk4NzAKLTI5MDMgeShiZyloKFspcCBGaihqb2JzcGVjKTU2IGIgRnMoLi4uKW8oXSk2MzAgMzA0MCB5CisyMjM1IHkoam9icyljKGFyZSloKHRlcm1pbmF0ZWQuKTE1MCAyNDY2IHkgRnIoNy4yKTY4CitiKEpvYik0NSBiKENvbilsKHRyb2wpaChCdWlsdGlucykxNTAgMjY1MCB5IEZzKGJnKTg3MAorMjc4NCB5KGJnKWgoWylwIEZpKGpvYnNwZWMpNTYgYiBGcyguLi4pbyhdKTYzMCAyOTE4IHkKIEZ0KFJlc3VtZSkyNCBiKGVhYyltKGgpaChzdXNwKXMoZW5kZWQpZChqb2IpaSBGcShqb2JzcClzKGVjKTI5CiBiIEZ0KGluKTI0IGIodGhlKWcoYmFjKW0oa2dyb3VuZCwpaChhcylnKGlmKWYoaXQpaChoYWQpZShiKXMoZWVuKWcKLShzdGFydGVkKTYzMCAzMTUwIHkod2l0aCkzMiBiKGApcCBGcygmKXAgRnQoJy4pNDUgYihJZikzMQorKHN0YXJ0ZWQpNjMwIDMwMjcgeSh3aXRoKTMyIGIoYClwIEZzKCYpcCBGdCgnLik0NSBiKElmKTMxCiBiIEZxKGpvYnNwKXMoZWMpMzcgYiBGdChpcykzMiBiKG5vdClnKHN1cHBsaWVkLClmKHRoZSloKGN1cnJlbiltKHQpZwotKGpvYilmKGlzKWgodXNlZC4pNDUgYihUaGUpMzEgYihyZXR1cm4pZyhzdGF0dXMpNjMwIDMyNTkKKyhqb2IpZihpcyloKHVzZWQuKTQ1IGIoVGhlKTMxIGIocmV0dXJuKWcoc3RhdHVzKTYzMCAzMTM3CiB5KGlzKWkoemVybylnKHVubGVzcylmKGl0KWgoaXMpZyhydW4pZSh3aGVuKWgoam9iKWcoY29uKW0odHJvbClpKGlzKWYKLShub3QpZyhlbmFibGVkLCloKG9yLClmKHdoZW4pZihydW4pZih3aXRoKWgoam9iKTYzMCAzMzY5Cisobm90KWcoZW5hYmxlZCwpaChvciwpZih3aGVuKWYocnVuKWYod2l0aCloKGpvYik2MzAgMzI0NgogeShjb24pbSh0cm9sKWgoZW5hYmxlZCwpZyhhbiltKHkpZiBGcShqb2JzcClzKGVjKTM3IGIKIEZ0KHcpbShhcykzMiBiKG5vdClnKGZvdW5kKWYob3IpZyhzcClzKGVjaVwwMTRlcyloKGEpZyhqb2IpZyh0aGF0KWcodyltCi0oYXMpZyhzdGFydGVkKTYzMCAzNDc4IHkod2l0aG91dCllKGpvYilnKGNvbiltKHRyb2wuKTE1MAotMzY0MyB5IEZzKGZnKTg3MCAzNzc5IHkoZmcpNDcgYihbKXAgRmooam9ic3BlYykxMSBiIEZzKF0pNjMwCi0zOTE2IHkgRnQoUmVzdW1lKTQzIGIodGhlKWcoam9iKWcgRnEoam9ic3ApcyhlYyk0OCBiCisoYXMpZyhzdGFydGVkKTYzMCAzMzU2IHkod2l0aG91dCllKGpvYilnKGNvbiltKHRyb2wuKTE1MAorMzUxNCB5IEZzKGZnKTg3MCAzNjQ4IHkoZmcpNDcgYihbKXAgRmkoam9ic3BlYykxMSBiIEZzKF0pNjMwCiszNzgyIHkgRnQoUmVzdW1lKTQzIGIodGhlKWcoam9iKWcgRnEoam9ic3ApcyhlYyk0OCBiCiBGdChpbik0MyBiKHRoZSlnKGZvcmVncm91bmQpZyhhbmQpZihtYWspbShlKWooaXQpZSh0aGUpaChjdXJyZW4pbSh0KWYKLShqb2IuKTc4IGIoSWYpNjMwIDQwMjYgeSBGcShqb2JzcClzKGVjKTQxIGIgRnQoaXMpYyhub3QpZihzdXBwbGllZCwpaAorKGpvYi4pNzggYihJZik2MzAgMzg5MSB5IEZxKGpvYnNwKXMoZWMpNDEgYiBGdChpcyljKG5vdClmKHN1cHBsaWVkLCloCiAodGhlKWYoY3VycmVuKW0odCloKGpvYilmKGlzKWcodXNlZC4pNTggYihUaGUpMzYgYihyZXR1cm4pZihzdGF0dXMpaAotKGlzKWgodGhhdClnKG9mKTYzMCA0MTM2IHkodGhlKWQoY29tbWFuZClnKHBsYWNlZCloKGluKW0odG8pZyh0aGUpZgorKGlzKWgodGhhdClnKG9mKTYzMCA0MDAxIHkodGhlKWQoY29tbWFuZClnKHBsYWNlZCloKGluKW0odG8pZyh0aGUpZgogKGZvcmVncm91bmQsKWcob3IpZyhub24temVybyloKGlmKWYocnVuKWYod2hlbilnKGpvYilnKGNvbiltKHRyb2wpNjMwCi00MjQ1IHkoaXMpaShkaXNhYmxlZClnKG9yLClpKHdoZW4pZChydW4pZyh3aXRoKWgoam9iKWcoY29uKW0odHJvbCloCis0MTExIHkoaXMpaShkaXNhYmxlZClnKG9yLClpKHdoZW4pZChydW4pZyh3aXRoKWgoam9iKWcoY29uKW0odHJvbCloCiAoZW5hYmxlZCwpaCBGcShqb2JzcClzKGVjKWogRnQoZG8pcyhlcykzNSBiKG5vdCloKHNwKXMoZWNpZnkpZihhKTYzMAotNDM1NSB5KHYpLTUgYihhbGlkKTMxIGIoam9iKWYob3IpZyBGcShqb2JzcClzKGVjKTM1IGIKKzQyMjAgeSh2KS01IGIoYWxpZCkzMSBiKGpvYilmKG9yKWcgRnEoam9ic3ApcyhlYykzNSBiCiBGdChzcClzKGVjaVwwMTRlcykzMCBiKGEpaChqb2IpZih0aGF0KWgodyltKGFzKWcoc3RhcnRlZClnKHdpdGhvdXQpZgotKGpvYilnKGNvbiltKHRyb2wuKTE1MCA0NTE5IHkgRnMoam9icyk4NzAgNDY1NiB5KGpvYnMpNDcKLWIoWy1sbnByc10pZShbKXAgRmooam9ic3BlYykxMSBiIEZzKF0pODcwIDQ3NjUgeShqb2JzKTQ3Ci1iKC14KWcgRmooY29tbWFuZCk1NiBiIEZzKFspcCBGaihhcmd1bWVudHMpMTEgYiBGcyhdKTYzMAotNDkwMiB5IEZ0KFRoZSkzMCBiKFwwMTRyc3QpZihmb3JtKWgobGlzdHMpaCh0aGUpZyhhY3RpdiltKGUpaChqb2JzLik0MQorKGpvYilnKGNvbiltKHRyb2wuKTE1MCA0Mzc4IHkgRnMoam9icyk4NzAgNDUxMiB5KGpvYnMpNDcKK2IoWy1sbnByc10pZShbKXAgRmkoam9ic3BlYykxMSBiIEZzKF0pODcwIDQ2MjIgeShqb2JzKTQ3CitiKC14KWcgRmkoY29tbWFuZCk1NiBiIEZzKFspcCBGaShhcmd1bWVudHMpMTEgYiBGcyhdKTYzMAorNDc1NiB5IEZ0KFRoZSkzMCBiKFwwMTRyc3QpZihmb3JtKWgobGlzdHMpaCh0aGUpZyhhY3RpdiltKGUpaChqb2JzLik0MQogYihUaGUpMzAgYihvcHRpb25zKWcoaGEpbSh2KW0oZSlpKHRoZSllKGZvbGxvKW0od2luZylpKG1lYW5pbmdzOik2MzAKLTUwNjYgeSBGcygtbCkzODQgYiBGdChMaXN0KTMxIGIocHJvKXMoY2VzcylmIEZsKGlkKXAKKzQ5MTQgeSBGcygtbCkzODQgYiBGdChMaXN0KTMxIGIocHJvKXMoY2VzcylmIEZsKGlkKXAKIEZ0KHMpZyhpbilnKGFkZGl0aW9uKWgodG8pZyh0aGUpZihub3JtYWwpaChpbmZvcm1hdGlvbi4pNjMwCi01MjMwIHkgRnMoLW4pMzg0IGIgRnQoRGlzcGxhKW0oeSkyNiBiKGluZm9ybWF0aW9uKWYob25seSloKGFiKXMob3V0KWUKKzUwNzIgeSBGcygtbikzODQgYiBGdChEaXNwbGEpbSh5KTI2IGIoaW5mb3JtYXRpb24pZihvbmx5KWgoYWIpcyhvdXQpZQogKGpvYnMpaCh0aGF0KWcoaGEpbSh2KW0oZSlpKGMpbShoYW5nZWQpZShzdGF0dXMpaChzaW5jZSkxMTEwCi01MzQwIHkodGhlKTMxIGIodXNlcillKHcpbShhcylpKGxhc3QpZyhub3RpXDAxNGVkKWYob2YpaCh0aGVpcilmCi0oc3RhdHVzLilwIGVvcCBlbmQKKzUxODIgeSh0aGUpMzEgYih1c2VyKWUodyltKGFzKWkobGFzdClnKG5vdGlcMDE0ZWQpZihvZiloKHRoZWlyKWYKKyhzdGF0dXMuKTYzMCA1MzQwIHkgRnMoLXApMzg0IGIgRnQoTGlzdCkzMSBiKG9ubHkpZih0aGUpaChwcm8pcyhjZXNzKWYKK0ZsKGlkKWcgRnQob2YpaCh0aGUpZihqb2IncylnKHBybylzKGNlc3MpZyhncm91cClnKGxlYWRlci4pcAorZW9wIGVuZAogJSVQYWdlOiA5MSA5NwogVGVYRGljdCBiZWdpbiA5MSA5NiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNzopNDEKLWIoSm9iKTMwIGIoQ29uKW0odHJvbCkyNTcxIGIoOTEpNjMwIDI5OSB5IEZzKC1wKTM4NCBiCi1GdChMaXN0KTMxIGIob25seSlmKHRoZSloKHBybylzKGNlc3MpZiBGbChpZClnIEZ0KG9mKWgodGhlKWYoam9iJ3MpZwotKHBybylzKGNlc3MpZyhncm91cClnKGxlYWRlci4pNjMwIDQ0NyB5IEZzKC1yKTM4NCBiIEZ0KFJlc3RyaWN0KTMxCi1iKG91dHB1dClmKHRvKWkocnVubmluZyljKGpvYnMuKTYzMCA1OTQgeSBGcygtcykzODQgYgotRnQoUmVzdHJpY3QpMzEgYihvdXRwdXQpZih0bylpKHN0b3BwKXMoZWQpZChqb2JzLik2MzAKLTc0MiB5KElmKTIzIGIgRnEoam9ic3ApcyhlYykyOCBiIEZ0KGlzKWMoZ2l2KW0oZW4sKWkob3V0cHV0KWQoaXMpaAorYihKb2IpMzAgYihDb24pbSh0cm9sKTI1NzEgYig5MSk2MzAgMjk5IHkgRnMoLXIpMzg0IGIKK0Z0KFJlc3RyaWN0KTMxIGIob3V0cHV0KWYodG8paShydW5uaW5nKWMoam9icy4pNjMwIDQ2MQoreSBGcygtcykzODQgYiBGdChSZXN0cmljdCkzMSBiKG91dHB1dClmKHRvKWkoc3RvcHApcyhlZClkKGpvYnMuKTYzMAorNjIyIHkoSWYpMjMgYiBGcShqb2JzcClzKGVjKTI4IGIgRnQoaXMpYyhnaXYpbShlbiwpaShvdXRwdXQpZChpcyloCiAocmVzdHJpY3RlZClnKHRvKWcoaW5mb3JtYXRpb24pZyhhYilzKG91dClmKHRoYXQpaChqb2IuKTM5Ci1iKElmKTIzIGIgRnEoam9ic3ApcyhlYyk2MzAgODUyIHkgRnQoaXMpMzAgYihub3QpaChzdXBwbGllZCwpZSh0aGUpaQotKHN0YXR1cylnKG9mKWYoYWxsKWgoam9icylmKGlzKWgobGlzdGVkLik2MzAgOTgwIHkoSWYpZyh0aGUpZyhgKXAKK2IoSWYpMjMgYiBGcShqb2JzcClzKGVjKTYzMCA3MzIgeSBGdChpcykzMCBiKG5vdCloKHN1cHBsaWVkLCllKHRoZSlpCisoc3RhdHVzKWcob2YpZihhbGwpaChqb2JzKWYoaXMpaChsaXN0ZWQuKTYzMCA4NjggeShJZilnKHRoZSlnKGApcAogRnMoLXgpcCBGdCgnKWcob3B0aW9uKWgoaXMpZihzdXBwbGllZCwpZyBGcyhqb2JzKWYgRnQocmVwbGFjZXMpaShhbiltCiAoeSlmIEZxKGpvYnNwKXMoZWMpMzcgYiBGdChmb3VuZCkyOSBiKGluKWkgRnEoY29tbWFuZClrCi1GdChvcik2MzAgMTA5MCB5IEZxKGFyZ3VtZW4pbSh0cyk0MSBiIEZ0KHdpdGgpYyh0aGUpaChjb3JyZXNwKXMob25kaW5nKQotZShwcm8pcyhjZXNzKWgoZ3JvdXApZiBGbChpZClwIEZ0KCwpayhhbmQpYyhleGVjdXRlcylqCi1GcShjb21tYW5kKXAgRnQoLCk2MzAgMTE5OSB5KHBhc3NpbmcpMzAgYihpdCloIEZxKGFyZ3VtZW4pbSh0KXIKLUZ0KHMsKWcocmV0dXJuaW5nKWYoaXRzKWcoZXhpdClpKHN0YXR1cy4pMTUwIDEzNDcgeSBGcyhraWxsKTg3MAotMTQ3NiB5KGtpbGwpNDcgYihbLXMpZyBGaihzaWdzcGVjKTExIGIgRnMoXSk0NSBiKFstbilpCi1GaihzaWdudW0pMTEgYiBGcyhdKTQ1IGIoWy0pcCBGaihzaWdzcGVjKTExIGIgRnMoXSk0NAotYiBGaihqb2JzcGVjKTU3IGIgRnMob3IpNDcgYiBGaihwaWQpODcwIDE1ODUgeSBGcyhraWxsKWcoLWwpZyhbKXAKLUZqKGV4aXRfc3RhdHVzKTExIGIgRnMoXSk2MzAgMTcxNCB5IEZ0KFNlbmQpMjIgYihhKWkoc2lnbmFsKWcoc3ApcworRnQob3IpNjMwIDk3NyB5IEZxKGFyZ3VtZW4pbSh0cyk0MSBiIEZ0KHdpdGgpMzYgYih0aGUpaShjb3JyZXNwKXMKKyhvbmRpbmcpZChwcm8pcyhjZXNzKWkoZ3JvdXApZiBGbChpZClwIEZ0KCwpaihhbmQpZChleGVjdXRlcylpCitGcShjb21tYW5kKXQgRnQoLCk2MzAgMTA4NyB5KHBhc3NpbmcpMzAgYihpdCloIEZxKGFyZ3VtZW4pbSh0KXIKK0Z0KHMsKWcocmV0dXJuaW5nKWYoaXRzKWcoZXhpdClpKHN0YXR1cy4pMTUwIDEyNDkgeSBGcyhraWxsKTg3MAorMTM4NCB5KGtpbGwpNDcgYihbLXMpZyBGaShzaWdzcGVjKTExIGIgRnMoXSk0NSBiKFstbilpCitGaShzaWdudW0pMTEgYiBGcyhdKTQ1IGIoWy0pcCBGaShzaWdzcGVjKTExIGIgRnMoXSk0NAorYiBGaShqb2JzcGVjKTU3IGIgRnMob3IpNDcgYiBGaShwaWQpODcwIDE0OTQgeSBGcyhraWxsKWcoLWwpZyhbKXAKK0ZpKGV4aXRfc3RhdHVzKTExIGIgRnMoXSk2MzAgMTYzMCB5IEZ0KFNlbmQpMjIgYihhKWkoc2lnbmFsKWcoc3ApcwogKGVjaVwwMTRlZClmKGIpbSh5KWcgRnEoc2lnc3ApcyhlYykyOSBiIEZ0KG9yKTI0IGIgRnEoc2lnbiltKHVtKWYKIEZ0KHRvKWgodGhlKWcocHJvKXMoY2VzcylmKG5hbWVkKWcoYiltKHkpZyhqb2IpZyhzcClzKGVjaVwwMTQtKTYzMAotMTgyNCB5KGNhdGlvbilrIEZxKGpvYnNwKXMoZWMpaiBGdChvcikyNSBiKHBybylzKGNlc3MpZwotRmwoaWQpaCBGcShwaWQpcCBGdCguKTM4IGIgRnEoc2lnc3ApcyhlYykzMSBiIEZ0KGlzKTI1Ci1iKGVpdGhlciloKGEpZyhjYXNlLWluc2Vuc2l0aXYpbShlKWkoc2lnbmFsKWUobmFtZSk2MzAKLTE5MzMgeShzdWMpbShoKWsoYXMpaCBGcyhTSUdJTlQpZCBGdChcKHdpdGgpaihvcilmKHdpdGhvdXQpaCh0aGUpZgorMTczOSB5KGNhdGlvbilqIEZxKGpvYnNwKXMoZWMpayBGdChvcikyNSBiKHBybylzKGNlc3MpZworRmwoaWQpZyBGcShwaWQpdCBGdCguKTM4IGIgRnEoc2lnc3ApcyhlYykzMSBiIEZ0KGlzKTI1CitiKGVpdGhlcilnKGEpaChjYXNlLWluc2Vuc2l0aXYpbShlKWgoc2lnbmFsKWYobmFtZSk2MzAKKzE4NDkgeShzdWMpbShoKWsoYXMpaCBGcyhTSUdJTlQpZCBGdChcKHdpdGgpaihvcilmKHdpdGhvdXQpaCh0aGUpZgogRnMoU0lHKWcgRnQocHJlXDAxNHhcKSlmKG9yKWkoYSlmKHNpZ25hbCloKG4pbSh1bSltKGIpcyhlcjspZgotRnEoc2lnbiltKHVtKWcgRnQoaXMpNjMwIDIwNDMgeShhKWkoc2lnbmFsKWcobiltKHVtKW0oYilzKGVyLik0MworRnEoc2lnbiltKHVtKWcgRnQoaXMpNjMwIDE5NTggeShhKWkoc2lnbmFsKWcobiltKHVtKW0oYilzKGVyLik0MwogYihJZikzMSBiIEZxKHNpZ3NwKXMoZWMpMzcgYiBGdChhbmQpMzEgYiBGcShzaWduKW0odW0pZwogRnQoYXJlKWgobm90KWYocHJlc2VuKW0odCwpaCBGcyhTSUdURVJNKWUgRnQoaXMpaCh1c2VkLik0MwotYihUaGUpNjMwIDIxNTIgeShgKXAgRnMoLWwpcCBGdCgnKTM0IGIob3B0aW9uKWcobGlzdHMpaCh0aGUpZihzaWduYWwpaAorYihUaGUpNjMwIDIwNjggeShgKXAgRnMoLWwpcCBGdCgnKTM0IGIob3B0aW9uKWcobGlzdHMpaCh0aGUpZihzaWduYWwpaAogKG5hbWVzLik1MSBiKElmKTMzIGIoYW4pbSh5KWkoYXJndW1lbiltKHRzKWYoYXJlKWcoc3VwcGxpZWQpZih3aGVuKWcoYCkKLXAgRnMoLWwpcCBGdCgnKWgoaXMpNjMwIDIyNjIgeShnaXYpbShlbiwpZSh0aGUpZyhuYW1lcyllKG9mKWkodGhlKWYKK3AgRnMoLWwpcCBGdCgnKWgoaXMpNjMwIDIxNzggeShnaXYpbShlbiwpZSh0aGUpZyhuYW1lcyllKG9mKWkodGhlKWYKIChzaWduYWxzKWcoY29ycmVzcClzKG9uZGluZylmKHRvKWkodGhlKWYoYXJndW1lbiltKHRzKWcoYXJlKWgobGlzdGVkLClnCi0oYW5kKTYzMCAyMzcyIHkodGhlKWMocmV0dXJuKWYoc3RhdHVzKWgoaXMpZyh6ZXJvLik0MQotYiBGcShleGl0KXAgMTc5NiAyMzcyIDI4IDQgdiA0MSB3KHN0YXR1cykzMiBiIEZ0KGlzKWMoYSlnKG4pbSh1bSltKGIpcworKGFuZCk2MzAgMjI4NyB5KHRoZSljKHJldHVybilmKHN0YXR1cyloKGlzKWcoemVyby4pNDEKK2IgRnEoZXhpdClwIDE3OTYgMjI4NyAyOCA0IHYgNDEgdyhzdGF0dXMpMzIgYiBGdChpcyljKGEpZyhuKW0odW0pbShiKXMKIChlcilmKHNwKXMoZWNpZnlpbmcpZyhhKWkoc2lnbmFsKWYobiltKHVtKW0oYilzKGVyKWYob3IpNjMwCi0yNDgxIHkodGhlKTM1IGIoZXhpdCloKHN0YXR1cylmKG9mKWcoYSlnKHBybylzKGNlc3MpZyh0ZXJtaW5hdGVkKWcoYiltCisyMzk3IHkodGhlKTM1IGIoZXhpdCloKHN0YXR1cylmKG9mKWcoYSlnKHBybylzKGNlc3MpZyh0ZXJtaW5hdGVkKWcoYiltCiAoeSlnKGEpZyhzaWduYWwuKTU1IGIoVGhlKTM0IGIocmV0dXJuKWcoc3RhdHVzKWgoaXMpZyh6ZXJvKTYzMAotMjU5MSB5KGlmKWMoYXQpaChsZWFzdClnKG9uZSlnKHNpZ25hbClmKHcpbShhcyloKHN1Y2Nlc3NmdWxseSlmKHNlbiltCisyNTA2IHkoaWYpYyhhdCloKGxlYXN0KWcob25lKWcoc2lnbmFsKWYodyltKGFzKWgoc3VjY2Vzc2Z1bGx5KWYoc2VuKW0KICh0LCloKG9yKWYobm9uLXplcm8paChpZilmKGFuKWcoZXJyb3IpZihvKXMoY2N1cnMpaChvcilnKGFuKTYzMAotMjcwMCB5KGluKW0odiktNSBiKGFsaWQpMzEgYihvcHRpb24pZyhpcylmKGVuY291biltKHRlcmVkLikxNTAKLTI4NDggeSBGcyh3YWl0KTg3MCAyOTc3IHkod2FpdCk0NyBiKFspcCBGaihqb2JzcGVjKTU2Ci1iIEZzKG9yKTQ3IGIgRmoocGlkKTU3IGIgRnMoLi4uXSk2MzAgMzEwNSB5IEZ0KFcpLTggYihhaXQpMjgKKzI2MTYgeShpbiltKHYpLTUgYihhbGlkKTMxIGIob3B0aW9uKWcoaXMpZihlbmNvdW4pbSh0ZXJlZC4pMTUwCisyNzc4IHkgRnMod2FpdCk4NzAgMjkxMyB5KHdhaXQpNDcgYihbKXAgRmkoam9ic3BlYyk1NgorYiBGcyhvcik0NyBiIEZpKHBpZCk1NyBiIEZzKC4uLl0pNjMwIDMwNDkgeSBGdChXKS04IGIoYWl0KTI4CiBiKHVuKW0odGlsKWYodGhlKWYoYyltKGhpbGQpaChwcm8pcyhjZXNzKWYoc3ApcyhlY2lcMDE0ZWQpZyhiKW0oeSlnCiAoZWFjKW0oaCloKHBybylzKGNlc3MpZiBGbChpZCloIEZxKHBpZClpIEZ0KG9yKWQoam9iKWcoc3ApcwotKGVjaVwwMTRjYXRpb24pNjMwIDMyMTUgeSBGcShqb2JzcClzKGVjKTQwIGIgRnQoZXhpdHMpMzUKKyhlY2lcMDE0Y2F0aW9uKTYzMCAzMTU5IHkgRnEoam9ic3ApcyhlYyk0MCBiIEZ0KGV4aXRzKTM1CiBiKGFuZClmKHJldHVybilnKHRoZSlnKGV4aXQpaShzdGF0dXMpZihvZilnKHRoZSlnKGxhc3QpZyhjb21tYW5kKWYodyltCi0oYWl0ZWQpaShmb3IuKTUzIGIoSWYpMzUgYihhKTYzMCAzMzI0IHkoam9iKWcoc3ApcyhlYylmKGlzKWgoZ2l2KW0oZW4sKQorKGFpdGVkKWkoZm9yLik1MyBiKElmKTM1IGIoYSk2MzAgMzI2OCB5KGpvYilnKHNwKXMoZWMpZihpcyloKGdpdiltKGVuLCkKIGkoYWxsKWYocHJvKXMoY2Vzc2VzKWYoaW4pZih0aGUpaChqb2IpZyhhcmUpZyh3KW0oYWl0ZWQpaChmb3IuKTU0Ci1iKElmKTM1IGIobm8pZihhcmd1bWVuKW0odHMpaShhcmUpNjMwIDM0MzQgeShnaXYpbShlbiwpZChhbGwpZihjdXJyZW4pbQorYihJZikzNSBiKG5vKWYoYXJndW1lbiltKHRzKWkoYXJlKTYzMCAzMzc4IHkoZ2l2KW0oZW4sKWQoYWxsKWYoY3VycmVuKW0KICh0bHkpZihhY3RpdiltKGUpaShjKW0oaGlsZClmKHBybylzKGNlc3NlcylmKGFyZSlnKHcpbShhaXRlZCloKGZvciwpZwotKGFuZCllKHRoZSlpKHJldHVybillKHN0YXR1cyk2MzAgMzU0NCB5KGlzKWgoemVyby4pNDQKKyhhbmQpZSh0aGUpaShyZXR1cm4pZShzdGF0dXMpNjMwIDM0ODcgeShpcyloKHplcm8uKTQ0CiBiKElmKTMwIGIobmVpdGhlciloIEZxKGpvYnNwKXMoZWMpMzYgYiBGdChub3IpMzEgYiBGcShwaWQpaQogRnQoc3ApcyhlY2lcMDE0ZXMpZShhbilnKGFjdGl2KW0oZSlpKGMpbShoaWxkKWYocHJvKXMoY2VzcyllKG9mKWgodGhlKWcKLShzaGVsbCwpNjMwIDM2NTMgeSh0aGUpZyhyZXR1cm4pZShzdGF0dXMpaShpcylmKDEyNy4pMTUwCi0zODAxIHkgRnMoZGlzb3duKTg3MCAzOTMwIHkoZGlzb3duKTQ2IGIoWy1hcl0pZyhbLWhdKWgoWylwCi1Gaihqb2JzcGVjKTU2IGIgRnMoLi4uKW8oXSk2MzAgNDA1OCB5IEZ0KFdpdGhvdXQpMzIgYihvcHRpb25zLClnKGVhYyltCisoc2hlbGwsKTYzMCAzNTk3IHkodGhlKWcocmV0dXJuKWUoc3RhdHVzKWkoaXMpZigxMjcuKTE1MAorMzc1OSB5IEZzKGRpc293bik4NzAgMzg5NCB5KGRpc293bik0NiBiKFstYXJdKWcoWy1oXSloKFspcAorRmkoam9ic3BlYyk1NiBiIEZzKC4uLilvKF0pNjMwIDQwMzAgeSBGdChXaXRob3V0KTMyIGIob3B0aW9ucywpZyhlYWMpbQogKGgpaCBGcShqb2JzcClzKGVjKWogRnQoaXMpYyhyZW1vKW0odiltKGVkKWcoZnJvbSlmKHRoZSloKHRhYmxlKWcob2YpZwotKGFjdGl2KW0oZSloKGpvYnMuKTQ0IGIoSWYpMzEgYih0aGUpNjMwIDQxNjggeShgKXAgRnMoLWgpcAorKGFjdGl2KW0oZSloKGpvYnMuKTQ0IGIoSWYpMzEgYih0aGUpNjMwIDQxNDAgeShgKXAgRnMoLWgpcAogRnQoJykzNiBiKG9wdGlvbiloKGlzKWcoZ2l2KW0oZW4sKWkodGhlKWUoam9iKWYoaXMpaChub3QpZihyZW1vKW0odiltCiAoZWQpaShmcm9tKWUodGhlKWgodGFibGUsKWkoYnV0KWQoaXMpZyhtYXJrKW0oZWQpaChzbyk2MzAKLTQyNzcgeSh0aGF0KWQgRnMoU0lHSFVQKWQgRnQoaXMpaihub3QpZihzZW4pbSh0KWgodG8pZyh0aGUpZihqb2IpZyhpZilnCis0MjQ5IHkodGhhdClkIEZzKFNJR0hVUClkIEZ0KGlzKWoobm90KWYoc2VuKW0odCloKHRvKWcodGhlKWYoam9iKWcoaWYpZwogKHRoZSloKHNoZWxsKWYocmVjZWl2KW0oZXMpaShhKWYgRnMoU0lHSFVQKXAgRnQoLik0NwotYihJZikzMyBiIEZxKGpvYnNwKXMoZWMpMzggYiBGdChpcyk2MzAgNDM4NyB5KG5vdCkzMgorYihJZikzMyBiIEZxKGpvYnNwKXMoZWMpMzggYiBGdChpcyk2MzAgNDM1OSB5KG5vdCkzMgogYihwcmVzZW4pbSh0LClmKGFuZClnKG5laXRoZXIpaCh0aGUpZihgKXAgRnMoLWEpcCBGdCgnKWcobm9yKWcoYClwCiBGcygtcilwIEZ0KCcpZyhvcHRpb24paChpcylnKHN1cHBsaWVkLCllKHRoZSlpKGN1cnJlbiltKHQpZihqb2IpZyhpcykKLTYzMCA0NDk3IHkodXNlZC4pNTggYihJZikzNiBiKG5vKWcgRnEoam9ic3ApcyhlYyk0MSBiCis2MzAgNDQ2OCB5KHVzZWQuKTU4IGIoSWYpMzYgYihubylnIEZxKGpvYnNwKXMoZWMpNDEgYgogRnQoaXMpMzYgYihzdXBwbGllZCwpaCh0aGUpZyhgKXAgRnMoLWEpcCBGdCgnKWYob3B0aW9uKWgobWVhbnMpZih0byloCi0ocmVtbyltKHYpbShlKWgob3IpZShtYXJrKWcoYWxsKTYzMCA0NjA2IHkoam9iczspMjggYih0aGUpZihgKXAKKyhyZW1vKW0odiltKGUpaChvcillKG1hcmspZyhhbGwpNjMwIDQ1NzggeShqb2JzOykyOCBiKHRoZSlmKGApcAogRnMoLXIpcCBGdCgnKWcob3B0aW9uKWcod2l0aG91dClnKGEpZyBGcShqb2JzcClzKGVjKTMyCiBiIEZ0KGFyZ3VtZW4pbSh0KTI3IGIocmVzdHJpY3RzKWgob3ApcyhlcmF0aW9uKWYodG8paChydW5uaW5nKTYzMAotNDcxNiB5KGpvYnMuKTE1MCA0ODYzIHkgRnMoc3VzcGVuZCk4NzAgNDk5MiB5KHN1c3BlbmQpNDYKKzQ2ODggeShqb2JzLikxNTAgNDg0OSB5IEZzKHN1c3BlbmQpODcwIDQ5ODUgeShzdXNwZW5kKTQ2CiBiKFstZl0pNjMwIDUxMjEgeSBGdChTdXNwKXMoZW5kKTMxIGIodGhlKWkoZXhlY3V0aW9uKWgob2YpZyh0aGlzKWYKIChzaGVsbClnKHVuKW0odGlsKWgoaXQpZyhyZWNlaXYpbShlcyloKGEpZSBGcyhTSUdDT05UKWYKIEZ0KHNpZ25hbC4pNTAgYihBKTMzIGIobG9naW4pNjMwIDUyMzAgeShzaGVsbCkyNCBiKGNhbm5vdCloKGIpcyhlKWUKQEAgLTExMzA0LDEzOCArMTEyNTMsMTA1IEBACiAoYWN0aXYpbShlLClpKHRoZSlkIEZzKGtpbGwpZiBGdChhbmQpaCBGcyh3YWl0KWYgRnQoYnVpbHRpbnMpZyhkbyloCiAobm90KWgoYWNjZXB0KWggRnEoam9ic3ApcyhlYylqIEZ0KGFyZ3UtKTE1MCA0MDggeShtZW4pbSh0cy4pNDEKIGIoVGhleSkzMCBiKG0pbSh1c3QpZyhiKXMoZSlnKHN1cHBsaWVkKWYocHJvKXMoY2VzcyloCi1GbChpZClwIEZ0KHMuKTE1MCA2NjYgeSBGcig3LjMpNjggYihKb2IpNDUgYihDb24pbCh0cm9sKWgoViktMTEKLWIoYXJpYWJsZXMpMTUwIDkxMCB5IEZzKGF1dG9fcmVzdW1lKTYzMCAxMDIwIHkgRnQoVGhpcykzMQorRmwoaWQpcCBGdChzLikxNTAgNjQxIHkgRnIoNy4zKTY4IGIoSm9iKTQ1IGIoQ29uKWwodHJvbCloKFYpLTExCitiKGFyaWFibGVzKTE1MCA4MjUgeSBGcyhhdXRvX3Jlc3VtZSk2MzAgOTM1IHkgRnQoVGhpcykzMQogYih2KS01IGIoYXJpYWJsZSkzMiBiKGNvbiltKHRyb2xzKWcoaG8pbSh3KWcodGhlKWYoc2hlbGwpaChpbiltCiAodGVyYWN0cyloKHdpdGgpZSh0aGUpaCh1c2VyKWUoYW5kKWgoam9iKWcoY29uKW0odHJvbC4pNDUKLWIoSWYpNjMwIDExMjkgeSh0aGlzKTI4IGIodiktNSBiKGFyaWFibGUpMzAgYihleGlzdHMpZih0aGVuKWYoc2luZ2xlKWgKK2IoSWYpNjMwIDEwNDQgeSh0aGlzKTI4IGIodiktNSBiKGFyaWFibGUpMzAgYihleGlzdHMpZih0aGVuKWYoc2luZ2xlKWgKICh3KW0ob3JkKWYoc2ltcGxlKWgoY29tbWFuZHMpZih3aXRob3V0KWcocmVkaXJlY3Rpb25zKWkoYXJlKTYzMAotMTIzOSB5KHRyZWF0ZWQpaChhcylnKGNhbmRpZGF0ZXMpZihmb3IpZyhyZXN1bXB0aW9uKWcob2YpZyhhbilnCisxMTU0IHkodHJlYXRlZCloKGFzKWcoY2FuZGlkYXRlcylmKGZvcilnKHJlc3VtcHRpb24pZyhvZilnKGFuKWcKIChleGlzdGluZyloKGpvYi4pNDEgYihUaGVyZSkyOSBiKGlzKWgobm8paChhbSltKGJpZ3VpdCltKHkpNjMwCi0xMzQ4IHkoYWxsbyltKHcpbShlZDspZihpZilkKHRoZXJlKWcoaXMpZyhtb3JlKWcodGhhbilmKG9uZSloKGpvYilnKGIpcworMTI2NCB5KGFsbG8pbSh3KW0oZWQ7KWYoaWYpZCh0aGVyZSlnKGlzKWcobW9yZSlnKHRoYW4pZihvbmUpaChqb2IpZyhiKXMKIChlZ2lubmluZylmKHdpdGgpZyh0aGUpaChzdHJpbmcpZyh0KW0oeXApcyhlZCwpZyh0aGVuKWcodGhlKTYzMAotMTQ1OCB5KG1vc3QpaihyZWNlbiltKHRseSloKGFjY2Vzc2VkKWYoam9iKWYod2lsbCloKGIpcyhlKWYoc2VsZWN0ZWQuKQorMTM3MyB5KG1vc3QpaihyZWNlbiltKHRseSloKGFjY2Vzc2VkKWYoam9iKWYod2lsbCloKGIpcyhlKWYoc2VsZWN0ZWQuKQogNDIgYihUaGUpMjkgYihuYW1lKWcob2YpaChhKWcoc3RvcHApcyhlZCllKGpvYiwpaShpbilmKHRoaXMpNjMwCi0xNTY3IHkoY29uKW0odGV4dCwpaChpcyllKHRoZSlnKGNvbW1hbmQpZyhsaW5lKWcodXNlZClmKHRvKWgoc3RhcnQpZworMTQ4MyB5KGNvbiltKHRleHQsKWgoaXMpZSh0aGUpZyhjb21tYW5kKWcobGluZSlnKHVzZWQpZih0byloKHN0YXJ0KWcKIChpdC4pNDEgYihJZikyNyBiKHRoaXMpaCh2KS01IGIoYXJpYWJsZSkyOCBiKGlzKWcoc2V0KWcodG8paCh0aGUpZSh2KS01Ci1iKGFsdWUpNjMwIDE2NzcgeShgKXAgRnMoZXhhY3QpcCBGdCgnLCkzMyBiKHRoZSlnKHN0cmluZylnKHN1cHBsaWVkKWYKK2IoYWx1ZSk2MzAgMTU5MiB5KGApcCBGcyhleGFjdClwIEZ0KCcsKTMzIGIodGhlKWcoc3RyaW5nKWcoc3VwcGxpZWQpZgogKG0pbSh1c3QpaChtYXRjKW0oaClnKHRoZSloKG5hbWUpZihvZilnKGEpZyhzdG9wcClzKGVkKWYoam9iKWgKLShleGFjdGx5OylqKGlmKTYzMCAxNzg3IHkoc2V0KTI5IGIodG8paChgKXAgRnMoc3Vic3RyaW5nKXAKKyhleGFjdGx5OylqKGlmKTYzMCAxNzAyIHkoc2V0KTI5IGIodG8paChgKXAgRnMoc3Vic3RyaW5nKXAKIEZ0KCcsKWQodGhlKWkoc3RyaW5nKWcoc3VwcGxpZWQpZShuZWVkcylpKHRvKWcobWF0YyltKGgpaChhKWYKLShzdWJzdHJpbmcpZihvZiloKHRoZSlnKG5hbWUpNjMwIDE4OTYgeShvZikzOCBiKGEpZihzdG9wcClzKGVkKWcoam9iLikKKyhzdWJzdHJpbmcpZihvZiloKHRoZSlnKG5hbWUpNjMwIDE4MTIgeShvZikzOCBiKGEpZihzdG9wcClzKGVkKWcoam9iLikKIDYyIGIoVGhlKTM3IGIoYClwIEZzKHN1YnN0cmluZylwIEZ0KCcpZSh2KS01IGIoYWx1ZSkzOAogYihwcm8pbSh2aWRlcylmKGZ1bmN0aW9uYWxpdCltKHkpaShhbmFsb2dvdXMpZyh0byk2MzAKLTIwMDYgeSh0aGUpZihgKXAgRnMoXDA0NT8pcCBGdCgnKWYoam9iKWggRmwoaWQpZiBGdChcKHNlZSlpKFNlY3Rpb24pZgorMTkyMSB5KHRoZSlmKGApcCBGcyhcMDQ1PylwIEZ0KCcpZihqb2IpaCBGbChpZClmIEZ0KFwoc2VlKWkoU2VjdGlvbilmCiAoNy4xKWgoW0pvYilmKENvbiltKHRyb2wpZyhCYXNpY3NdLClqKHBhZ2UpZCg4OVwpLik2NAotYihJZikzNyBiKHNldCloKHRvKWgoYW4pbSh5KTYzMCAyMTE1IHkob3RoZXIpMzIgYih2KS01CitiKElmKTM3IGIoc2V0KWgodG8paChhbiltKHkpNjMwIDIwMzEgeShvdGhlcikzMiBiKHYpLTUKIGIoYWx1ZSwpMzIgYih0aGUpZyhzdXBwbGllZCllKHN0cmluZylpKG0pbSh1c3QpZihiKXMoZSlnKGEpaChwcmVcMDE0eClmCi0ob2YpaChhKWcoc3RvcHApcyhlZCllKGpvYidzKWkobmFtZTspZyh0aGlzKTYzMCAyMjI1Cisob2YpaChhKWcoc3RvcHApcyhlZCllKGpvYidzKWkobmFtZTspZyh0aGlzKTYzMCAyMTQwCiB5KHBybyltKHZpZGVzKWUoZnVuY3Rpb25hbGl0KW0oeSlpKGFuYWxvZ291cylnKHRvKWYodGhlKWcoYClwCiBGcyhcMDQ1KXAgRnQoJylmKGpvYilnIEZsKGlkKXAgRnQoLilwIGVvcCBlbmQKICUlUGFnZTogOTMgOTkKIFRlWERpY3QgYmVnaW4gOTMgOTggYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDg6KTQxCiBiKENvbW1hbmQpMjkgYihMaW5lKWkoRWRpdGluZykyMTA3IGIoOTMpMTUwIDI5OSB5IEZvKDgpODAKLWIoQ29tbWFuZCk1NCBiKExpbmUpZihFZGl0aW5nKTI3NSA1NDYgeSBGdChUaGlzKTM5IGIoYyltKGhhcHRlciloCi0oZGVzY3JpYilzKGVzKWcodGhlKWcoYmFzaWMpZyhmZWF0dXJlcylnKG9mKWgodGhlKWYgRmwoZ251KWYKLUZ0KGNvbW1hbmQpaChsaW5lKWcoZWRpdGluZyloKGluKW0odGVyZmFjZS4pMTUwIDY1NSB5KENvbW1hbmQpMjUKLWIobGluZSloKGVkaXRpbmcpZyhpcylnKHBybyltKHZpZGVkKWYoYiltKHkpaCh0aGUpZyhSZWFkbGluZSlnKGxpYnJhcnkpCi0tOCBiKCwpMjcgYih3aGljKW0oaClmKGlzKWcodXNlZClmKGIpbSh5KWcoc2V2KW0oZXJhbClpKGRpXDAxM2VyZW4pbSh0KQotMTUwIDc2NSB5KHByb2dyYW1zLCk0NiBiKGluY2x1ZGluZyljKEJhc2guKTc4IGIoQ29tbWFuZCk0MgotYihsaW5lKWgoZWRpdGluZyloKGlzKWYoZW5hYmxlZClmKGIpbSh5KWgoZGVmYXVsdClnKHdoZW4pZih1c2luZylnKGFuKQotMTUwIDg3NCB5KGluKW0odGVyYWN0aXYpbShlKTQ3IGIoc2hlbGwsKWkodW5sZXNzKTQ0IGIodGhlKWgoYClwCi1GcygtLW5vZWRpdGluZylwIEZ0KCcpZChvcHRpb24paihpcylnKHN1cHBsaWVkKWUoYXQpaihzaGVsbCllKGluKW0odiltCi0obylzKGNhdGlvbi4pODYgYihMaW5lKTE1MCA5ODQgeShlZGl0aW5nKTI2IGIoaXMpZShhbHNvKWkodXNlZCllKHdoZW4pZwotKHVzaW5nKWgodGhlKWcoYClwIEZzKC1lKXAgRnQoJylmKG9wdGlvbilpKHRvKWYodGhlKWgKLUZzKHJlYWQpZCBGdChidWlsdGluKWkoY29tbWFuZClmKFwoc2VlKWkoU2VjdGlvbilnKDQuMikxNTAKLTEwOTQgeShbQmFzaCkzOCBiKEJ1aWx0aW5zXSwpaihwYWdlKWQoNDFcKS4pNjUgYihCeSkzOAotYihkZWZhdWx0LClpKHRoZSllKGxpbmUpZyhlZGl0aW5nKWgoY29tbWFuZHMpZShhcmUpaShzaW1pbGFyKWYodG8pZwotKHRob3NlKWgob2YpMTUwIDEyMDMgeShlbWFjcy4paShBKTI4IGIodmktc3QpbSh5bGUpaihsaW5lKWQoZWRpdGluZyloCi0oaW4pbSh0ZXJmYWNlKWgoaXMpZihhbHNvKWcoYSltKHYpLTUgYihhaWxhYmxlLik0MiBiKExpbmUpMjkKLWIoZWRpdGluZylnKGNhbilmKGIpcyhlKWcoZW5hYmxlZClnKGF0KWkoYW4pbSh5KTE1MCAxMzEzCi15KHRpbWUpZyh1c2luZylmKHRoZSlnKGApcCBGcygtbyloKGVtYWNzKXAgRnQoJylmKG9yKWcoYClwCi1GcygtbyloKHZpKXAgRnQoJylmKG9wdGlvbnMpaCh0bylnKHRoZSlmIEZzKHNldClnIEZ0KGJ1aWx0aW4pZyhjb21tYW5kKQotZyhcKHNlZSloKFNlY3Rpb24pZyg0LjMuMSkxNTAgMTQyMiB5KFtUaGUpZyhTZXQpaChCdWlsdGluXSwpZyhwYWdlKWcKLSg1MVwpLCloKG9yKWUoZGlzYWJsZWQpZyh1c2luZylnKHRoZSloKGApcCBGcygrbylmKGVtYWNzKXAKLUZ0KCcpZihvciloKGApcCBGcygrbylnKHZpKXAgRnQoJylnKG9wdGlvbnMpaCh0bylnIEZzKHNldClwCi1GdCguKTE1MCAxNjkwIHkgRnIoOC4xKTY4IGIoSW4pbCh0cm8pdChkdWN0aW9uKTQ1IGIodG8pZyhMaW5lKWgKLShFZGl0aW5nKTI3NSAxOTM5IHkgRnQoVGhlKTI5IGIoZm9sbG8pbSh3aW5nKWoocGFyYWdyYXBocyllKGRlc2NyaWIpcwotKGUpZyh0aGUpZyhub3RhdGlvbilpKHVzZWQpZCh0bylqKHJlcHJlc2VuKW0odCllKGspbShleXN0cm9rKW0oZXMuKTI3NQotMjA3NyB5KFRoZSlpKHRleHQpaiBGaihDLWspZCBGdChpcylpKHJlYWQpZihhcyloKGBDb24pbSh0cm9sLUsnKWcoYW5kKWYKLShkZXNjcmliKXMoZXMpZyh0aGUpZyhjKW0oaGFyYWN0ZXIpaShwcm8pcyhkdWNlZClkKHdoZW4pZyh0aGUpMzY2MwotMjA3NCB5IEZnKGgpcCAzNjg3IDIwMjEgMzggNCB2IDM2ODcgMjA3NyBhIEZmKGspcCAzNjg3Ci0yMDkzIFYgMzcyMCAyMDc0IGEgRmcoaSkxNTAgMjE4NyB5IEZ0KGspbShleSlmKGlzKWcocHJlc3NlZCllKHdoaWxlKWgKLSh0aGUpaChDb24pbSh0cm9sKWcoayltKGV5KWcoaXMpZyhkZXByZXNzZWQuKTI3NSAyMzI2Ci15KFRoZSlnKHRleHQpaSBGaihNLWspZSBGdChpcyloKHJlYWQpZihhcylpKGBNZXRhLUsnKWcoYW5kKWYoZGVzY3JpYilzCi0oZXMpZih0aGUpaChjKW0oaGFyYWN0ZXIpaChwcm8pcyhkdWNlZCllKHdoZW4pZih0aGUpaShNZXRhKTE1MAotMjQzNSB5KGspbShleSlkKFwoaWYpZyh5KW0ob3UpZyhoYSltKHYpbShlKWcob25lXCkpZyhpcylnKGRlcHJlc3NlZCwpZgotKGFuZClmKHRoZSkxODU5IDI0MzIgeSBGZyhoKXAgMTg4MyAyMzc5IFYgMTg4MyAyNDM1IGEKLUZmKGspcCAxODgzIDI0NTAgViAxOTE2IDI0MzIgYSBGZyhpKTE5NzQgMjQzNSB5IEZ0KGspbShleSlqKGlzKWUKLShwcmVzc2VkLikzOSBiKFRoZSkyOCBiKE1ldGEpaShrKW0oZXkpZihpcylnKGxhYilzKGVsZWQpMzU1OAotMjQzMiB5IEZnKGgpcCAzNTgyIDIzNzkgMTQzIDQgdiAzNTgyIDI0MzUgYSBGZihBTCktNgotYihUKXAgMzU4MiAyNDUwIFYgMzcyMCAyNDMyIGEgRmcoaSkxNTAgMjU0NSB5IEZ0KG9uKTI2Ci1iKG1hbiltKHkpZyhrKW0oZXliKXMob2FyZHMuKTM5IGIoT24pMjYgYihrKW0oZXliKXMob2FyZHMpZyh3aXRoKWcodCltCi0odyltKG8paChrKW0oZXlzKWcobGFiKXMoZWxlZCkyNDI1IDI1NDIgeSBGZyhoKXAgMjQ1MAotMjQ4OSBWIDI0NTAgMjU0NSBhIEZmKEFMKS02IGIoVClwIDI0NTAgMjU2MCBWIDI1ODcgMjU0MgotYSBGZyhpKTI2NDMgMjU0NSB5IEZ0KFwodXN1YWxseSkyNyBiKHRvKWcoZWl0aGVyKWYoc2lkZSlnKG9mKWgodGhlKTE1MAotMjY1NCB5KHNwYWNlKTMyIGIoYmFyXCksKWcodGhlKTc3NSAyNjUxIHkgRmcoaClwIDc5OQotMjU5OCBWIDc5OSAyNjU0IGEgRmYoQUwpLTYgYihUKXAgNzk5IDI2NzAgViA5MzcgMjY1MQotYSBGZyhpKTk5OCAyNjU0IHkgRnQob24pMzIgYih0aGUpZihsZWZ0KWgoc2lkZSlnKGlzKWYoZ2VuZXJhbGx5KWkoc2V0KWUKLSh0bylpKHcpbShvcmspZShhcyloKGEpZihNZXRhKWkoayltKGV5KS04IGIoLik0NSBiKFRoZSkzMzkzCi0yNjUxIHkgRmcoaClwIDM0MTcgMjU5OCBWIDM0MTcgMjY1NCBhIEZmKEFMKS02IGIoVClwCi0zNDE3IDI2NzAgViAzNTU1IDI2NTEgYSBGZyhpKTM2MTYgMjY1NCB5IEZ0KGspbShleSkxNTAKLTI3NjQgeShvbikzMyBiKHRoZSloKHJpZ2gpbSh0KWcobWEpbSh5KWcoYWxzbylnKGIpcyhlKWYoY29uXDAxNGd1cmVkKWYKLSh0bylpKHcpbShvcmspZyhhcylnKGEpZihNZXRhKWkoayltKGV5KWYob3IpZyhtYSltKHkpZyhiKXMoZSllCi0oY29uXDAxNGd1cmVkKWgoYXMpaChzb21lKTE1MCAyODczIHkob3RoZXIpZChtbylzKGRpXDAxNGVyLCllKHN1YyltKGgpaAotKGFzKWgoYSlnKENvbXApcyhvc2UpZihrKW0oZXkpaChmb3IpZih0KW0oeXBpbmcpaChhY2NlbiltKHRlZCloKGMpbQotKGhhcmFjdGVycy4pMjc1IDMwMTIgeShJZikyMSBiKHkpbShvdSloKGRvKWcobm90KWcoaGEpbSh2KW0oZSloKGEpZgotKE1ldGEpaChvcikxMzg4IDMwMDkgeSBGZyhoKXAgMTQxMiAyOTU2IFYgMTQxMiAzMDEyIGEKLUZmKEFMKS02IGIoVClwIDE0MTIgMzAyOCBWIDE1NTAgMzAwOSBhIEZnKGkpMTYwMSAzMDEyCi15IEZ0KGspbShleSllKCwpMjUgYihvcilkKGFub3RoZXIpZyhrKW0oZXkpaCh3KW0ob3JraW5nKWYoYXMpZyhhKWcKLShNZXRhKWgoayltKGV5KS04IGIoLCkyNSBiKHRoZSlkKGlkZW4pbSh0aWNhbCkxNTAgMzEyMgoteShrKW0oZXlzdHJvayltKGUpaShjYW4pZihiKXMoZSlmKGdlbmVyYXRlZClpKGIpbSh5KWUodCltKHlwaW5nKTE2MTkKLTMxMTkgeSBGZyhoKXAgMTY0MyAzMDY2IDEzOSA0IHYgMTY0MyAzMTIyIGEgRmYoRVNDKXAKLTE2NDMgMzEzNyBWIDE3NzcgMzExOSBhIEZnKGkpMTgyOSAzMTIyIHkgRm0oXDAxNHJzdClwCi1GdCgsKWooYW5kKWQodGhlbilnKHQpbSh5cGluZykyNjc4IDMxMTkgeSBGZyhoKXAgMjcwMwotMzA2NiAzOCA0IHYgMjcwMyAzMTIyIGEgRmYoaylwIDI3MDMgMzEzNyBWIDI3MzYgMzExOQotYSBGZyhpKTI3NjUgMzEyMiB5IEZ0KC4pMzggYihFaXRoZXIpMjMgYihwcm8pcyhjZXNzKWYoaXMpZyhrbm8pbSh3bikxNTAKLTMyMzEgeShhcykzMSBiIEZxKG1ldGFmeWluZykzOSBiIEZ0KHRoZSk4NTAgMzIyOCB5IEZnKGgpcAotODc0IDMxNzUgViA4NzQgMzIzMSBhIEZmKGspcCA4NzQgMzI0NyBWIDkwNyAzMjI4IGEgRmcoaSk5NjgKLTMyMzEgeSBGdChrKW0oZXkpLTggYiguKTI3NSAzMzcwIHkoVGhlKTM5IGIodGV4dClqIEZqKE0tQy1rKWQKLUZ0KGlzKWgocmVhZClnKGFzKWgoYE1ldGEtQ29uKW0odHJvbC1rJylqKGFuZCkzOSBiKGRlc2NyaWIpcyhlcyloKHRoZSlnCi0oYyltKGhhcmFjdGVyKWkocHJvKXMoZHVjZWQpZChiKW0oeSkxNTAgMzQ4MCB5IEZxKG1ldGFmeWluZylnCi1GaihDLWspcCBGdCguKTI3NSAzNjE4IHkoSW4pZChhZGRpdGlvbiwpaihzZXYpbShlcmFsKWYoayltKGV5cylmKGhhKW0KLSh2KW0oZSloKHRoZWlyKWYobyltKHduKWcobmFtZXMuKTYwIGIoU3ApcyhlY2lcMDE0Y2FsbHkpLTgKLWIoLCkyNzY4IDM2MTUgeSBGZyhoKXAgMjc5MiAzNTYyIDE0NiA0IHYgMjc5MiAzNjE4IGEKLUZmKERFTClwIDI3OTIgMzYzNCBWIDI5MzQgMzYxNSBhIEZnKGkpMjk2NCAzNjE4IHkgRnQoLCkzMDI4Ci0zNjE1IHkgRmcoaClwIDMwNTIgMzU2MiAxMzkgNCB2IDMwNTIgMzYxOCBhIEZmKEVTQylwCi0zMDUyIDM2MzQgViAzMTg2IDM2MTUgYSBGZyhpKTMyMTYgMzYxOCB5IEZ0KCwpMzI3OSAzNjE1Ci15IEZnKGgpcCAzMzAzIDM1NjIgMTQ0IDQgdiAzMzAzIDM2MTggYSBGZihMRkQpcCAzMzAzCi0zNjM0IFYgMzQ0MyAzNjE1IGEgRmcoaSkzNDczIDM2MTggeSBGdCgsKTM1MzcgMzYxNSB5Ci1GZyhoKXAgMzU2MSAzNTYyIDEzOSA0IHYgMzU2MSAzNjE4IGEgRmYoU1BDKXAgMzU2MSAzNjM0Ci1WIDM2OTUgMzYxNSBhIEZnKGkpMzcyNSAzNjE4IHkgRnQoLCkxNTAgMzcyNSB5IEZnKGgpcAotMTc0IDM2NzIgMTUxIDQgdiAxNzQgMzcyOCBhIEZmKFJFVClwIDE3NCAzNzQzIFYgMzIxIDM3MjUKLWEgRmcoaSkzNTEgMzcyOCB5IEZ0KCwpNDcgYihhbmQpNjEyIDM3MjUgeSBGZyhoKXAgNjM3Ci0zNjcyIDE0OCA0IHYgNjM3IDM3MjggYSBGZihUKS02IGIoQUIpcCA2MzcgMzc0MyBWIDc4MAotMzcyNSBhIEZnKGkpODUzIDM3MjggeSBGdChhbGwpNDUgYihzdGFuZCllKGZvcilnKHRoZW1zZWx2KW0oZXMpaSh3aGVuKWQKLShzZWVuKWkoaW4pZih0aGlzKWcodGV4dCwpNDggYihvcik0MyBiKGluKWcoYW4paChpbml0KWYoXDAxNGxlKWgoXChzZWUpCi0xNTAgMzgzNyB5KFNlY3Rpb24pMzcgYig4LjMpZyhbUmVhZGxpbmUpZyhJbml0KWYoRmlsZV0sKWoocGFnZSllKDk2XCkuKQotNTkgYihJZikzNiBiKHkpbShvdXIpZyhrKW0oZXliKXMob2FyZClnKGxhYyltKGtzKWgoYSkyODk3Ci0zODM0IHkgRmcoaClwIDI5MjEgMzc4MSAxNDQgNCB2IDI5MjEgMzgzNyBhIEZmKExGRClwCi0yOTIxIDM4NTMgViAzMDYxIDM4MzQgYSBGZyhpKTMxMjcgMzgzNyB5IEZ0KGspbShleSktOAotYigsKTM5IGIodCltKHlwaW5nKTM2MDQgMzgzNCB5IEZnKGgpcCAzNjI4IDM3ODEgOTcgNAotdiAzNjI4IDM4MzcgYSBGZihDLWopcCAzNjI4IDM4NTMgViAzNzIwIDM4MzQgYSBGZyhpKTE1MAotMzk0NyB5IEZ0KHdpbGwpMzAgYihwcm8pcyhkdWNlKWUodGhlKWkoZGVzaXJlZClmKGMpbShoYXJhY3Rlci4pNDIKLWIoVGhlKTE3NDggMzk0NCB5IEZnKGgpcCAxNzcyIDM4OTEgMTUxIDQgdiAxNzcyIDM5NDcKLWEgRmYoUkVUKXAgMTc3MiAzOTYyIFYgMTkxOSAzOTQ0IGEgRmcoaSkxOTc4IDM5NDcgeSBGdChrKW0oZXkpMzAKLWIobWEpbSh5KWcoYilzKGUpZihsYWIpcyhlbGVkKTI3NzAgMzk0NCB5IEZnKGgpcCAyNzk0Ci0zODkxIDIxNyA0IHYgMjc5NCAzOTQ3IGEgRmYoUmV0dXJuKXAgMjc5NCAzOTYyIFYgMzAwNwotMzk0NCBhIEZnKGkpMzA2NiAzOTQ3IHkgRnQob3IpMzE3NiAzOTQ0IHkgRmcoaClwIDMyMDEKLTM4OTEgMTcyIDQgdiAzMjAxIDM5NDcgYSBGZihFbiluKHRlcilwIDMyMDEgMzk2MiBWIDMzNjgKLTM5NDQgYSBGZyhpKTM0MjcgMzk0NyB5IEZ0KG9uKWgoc29tZSkxNTAgNDA1NyB5KGspbShleWIpcyhvYXJkcy4pMTUwCi00MzI1IHkgRnIoOC4yKTY4IGIoUmVhZGxpbmUpNDcgYihJbilsKHRlcmFjdGlvbikyNzUgNDU3MwoteSBGdChPZnRlbikyNCBiKGR1cmluZylnKGFuKWgoaW4pbSh0ZXJhY3RpdiltKGUpaihzZXNzaW9uKWUoeSltKG91KWYodCkKLW0oeXApcyhlKWgoaW4pZihhKWcobG9uZyloKGxpbmUpZihvZiloKHRleHQsKWgob25seSlmKHRvKWYobm90aWNlKWkKLSh0aGF0KWYodGhlKTE1MCA0NjgyIHkoXDAxNHJzdCkzMiBiKHcpbShvcmQpZyhvbilnKHRoZSlnKGxpbmUpaChpcylnCitiKENvbW1hbmQpNTQgYihMaW5lKWYoRWRpdGluZykxNTAgNjQwIHkgRnQoVGhpcykyOCBiKGMpbShoYXB0ZXIpaQorKGRlc2NyaWIpcyhlcyllKHRoZSloKGJhc2ljKWcoZmVhdHVyZXMpaChvZilmKHRoZSlnIEZsKGdudSlmCitGdChjb21tYW5kKWgobGluZSlnKGVkaXRpbmcpaChpbiltKHRlcmZhY2UuKTQyIGIoQ29tLSkxNTAKKzc0OSB5KG1hbmQpYyhsaW5lKWkoZWRpdGluZylmKGlzKWcocHJvKW0odmlkZWQpZyhiKW0oeSlnKHRoZSlnCisoUmVhZGxpbmUpaChsaWJyYXJ5KS04IGIoLCk0MSBiKHdoaWMpbShoKWUoaXMpZyh1c2VkKWYoYiltKHkpaChzZXYpbQorKGVyYWwpaChkaVwwMTNlcmVuKW0odCkxNTAgODU5IHkocHJvZ3JhbXMsKTM0IGIoaW5jbHVkaW5nKWUoQmFzaC4pNDkKK2IoQ29tbWFuZCkzMiBiKGxpbmUpaShlZGl0aW5nKWYoaXMpZyhlbmFibGVkKWcoYiltKHkpZyhkZWZhdWx0KWcod2hlbilmCisodXNpbmcpaChhbilnKGluLSkxNTAgOTY5IHkodGVyYWN0aXYpbShlKWMoc2hlbGwsKWYodW5sZXNzKWUodGhlKWgoYClwCitGcygtLW5vZWRpdGluZylwIEZ0KCcpZChvcHRpb24payhpcyllKHN1cHBsaWVkKWcoYXQpaChzaGVsbClnKGluKW0odiltCisobylzKGNhdGlvbi4pNDIgYihMaW5lKTI2IGIoZWRpdGluZykxNTAgMTA3OCB5KGlzKWkoYWxzbyloKHVzZWQpZSh3aGVuKQoraCh1c2luZylmKHRoZSloKGApcCBGcygtZSlwIEZ0KCcpZyhvcHRpb24paCh0bylnKHRoZSlmCitGcyhyZWFkKWYgRnQoYnVpbHRpbiloKGNvbW1hbmQpZihcKHNlZSlpKFNlY3Rpb24pZyg0LjIpaChbQmFzaCkxNTAKKzExODggeShCdWlsdGluc10sKTM3IGIocGFnZSlmKDQxXCkuKTU3IGIoQnkpMzYgYihkZWZhdWx0LCloKHRoZSllKGxpbmUpCitoKGVkaXRpbmcpZyhjb21tYW5kcylmKGFyZSloKHNpbWlsYXIpZih0bylpKHRob3NlKWUob2YpaChlbWFjcy4pMTUwCisxMjk3IHkoQSlmKHZpLXN0KW0oeWxlKWgobGluZSlmKGVkaXRpbmcpZyhpbiltKHRlcmZhY2UpaChpcyllKGFsc28paShhKQorbSh2KS01IGIoYWlsYWJsZS4pNTUgYihMaW5lKTM0IGIoZWRpdGluZyloKGNhbilnKGIpcyhlKWYoZW5hYmxlZClnKGF0KWgKKyhhbiltKHkpZyh0aW1lKTE1MCAxNDA3IHkodXNpbmcpMjggYih0aGUpaShgKXAgRnMoLW8pZyhlbWFjcylwCitGdCgnKWQob3IpaShgKXAgRnMoLW8paCh2aSlwIEZ0KCcpZihvcHRpb25zKWcodG8paCh0aGUpZgorRnMoc2V0KWYgRnQoYnVpbHRpbiloKGNvbW1hbmQpZyhcKHNlZSloKFNlY3Rpb24pZig0LjMuMSlpKFtUaGUpMTUwCisxNTE3IHkoU2V0KWcoQnVpbHRpbl0sKWcocGFnZSlnKDUxXCksKWgob3IpZShkaXNhYmxlZClnKHVzaW5nKWcodGhlKWgKKyhgKXAgRnMoK28pZihlbWFjcylwIEZ0KCcpZihvciloKGApcCBGcygrbylnKHZpKXAgRnQoJylnKG9wdGlvbnMpaCh0bylnCitGcyhzZXQpcCBGdCguKTE1MCAxODAyIHkgRnIoOC4xKTY4IGIoSW4pbCh0cm8pdChkdWN0aW9uKTQ1CitiKHRvKWcoTGluZSloKEVkaXRpbmcpMTUwIDE5NjIgeSBGdChUaGUpMzAgYihmb2xsbyltKHdpbmcpaShwYXJhZ3JhcGhzKQorZChkZXNjcmliKXMoZSloKHRoZSloKG5vdGF0aW9uKWcodXNlZClmKHRvKWgocmVwcmVzZW4pbSh0KWYoayltCisoZXlzdHJvayltKGVzLikyNzUgMjEzMiB5KFRoZSkzNSBiKHRleHQpaSBGaShDLWspZiBGdChpcylnKHJlYWQpZyhhcyloCisoYENvbiltKHRyb2wtSycpZyhhbmQpZihkZXNjcmliKXMoZXMpZih0aGUpaChjKW0oaGFyYWN0ZXIpaShwcm8pcworKGR1Y2VkKWQod2hlbilnKHRoZSloIEZzKGspMTUwIDIyNDIgeSBGdChrKW0oZXkpMzEgYihpcylnKHByZXNzZWQpZQorKHdoaWxlKWgodGhlKWgoQ29uKW0odHJvbClnKGspbShleSlnKGlzKWcoZGVwcmVzc2VkLikyNzUKKzI0MTIgeShUaGUpZyh0ZXh0KWkgRmkoTS1rKWUgRnQoaXMpaChyZWFkKWYoYXMpaShgTWV0YS1LJylnKGFuZClmCisoZGVzY3JpYilzKGVzKWYodGhlKWgoYyltKGhhcmFjdGVyKWgocHJvKXMoZHVjZWQpZSh3aGVuKWYodGhlKWkoTWV0YSkKKzE1MCAyNTIxIHkoayltKGV5KWkoXChpZilmKHkpbShvdSloKGhhKW0odiltKGUpZyhvbmVcKSlnKGlzKWYKKyhkZXByZXNzZWQsKWcoYW5kKWYodGhlKWggRnMoaylnIEZ0KGspbShleSloKGlzKWYocHJlc3NlZC4pNDgKK2IoVGhlKTMyIGIoTWV0YSlqKGspbShleSllKGlzKWgobGFiKXMoZWxlZClmIEZzKEFMVCkxNTAKKzI2MzEgeSBGdChvbiljKG1hbiltKHkpaChrKW0oZXliKXMob2FyZHMuKTQwIGIoT24pMjkKK2IoayltKGV5YilzKG9hcmRzKWcod2l0aCloKHQpbSh3KW0obyloKGspbShleXMpZihsYWIpcyhlbGVkKWcKK0ZzKEFMVCllIEZ0KFwodXN1YWxseSlpKHRvKWcoZWl0aGVyKWcoc2lkZSlnKG9mKWcodGhlKTE1MAorMjc0MCB5KHNwYWNlKWgoYmFyXCksKWYodGhlKWcgRnMoQUxUKWYgRnQob24paCh0aGUpZyhsZWZ0KWgoc2lkZSlmKGlzKWcKKyhnZW5lcmFsbHkpaChzZXQpZih0byloKHcpbShvcmspZihhcylnKGEpaChNZXRhKWcoayltKGV5KS04CitiKC4pNDIgYihUaGUpMjkgYiBGcyhBTFQpZyBGdChrKW0oZXkpaShvbikxNTAgMjg1MCB5KHRoZSljKHJpZ2gpbSh0KWgKKyhtYSltKHkpZyhhbHNvKWcoYilzKGUpZihjb25cMDE0Z3VyZWQpZih0bylpKHcpbShvcmspZihhcyloKGEpZihNZXRhKWkKKyhrKW0oZXkpZihvcilmKG1hKW0oeSloKGIpcyhlKWUoY29uXDAxNGd1cmVkKWgoYXMpZyhzb21lKWgob3RoZXIpMTUwCisyOTYwIHkobW8pcyhkaVwwMTRlciwpaShzdWMpbShoKWcoYXMpZyhhKWgoQ29tcClzKG9zZSlmKGspbShleSloKGZvcilmCisodCltKHlwaW5nKWgoYWNjZW4pbSh0ZWQpaChjKW0oaGFyYWN0ZXJzLikyNzUgMzEzMCB5KElmKTIzCitiKHkpbShvdSlpKGRvKWYobm90KWgoaGEpbSh2KW0oZSloKGEpZihNZXRhKWcob3IpZyBGcyhBTFQpZQorRnQoayltKGV5KS04IGIoLCkyNyBiKG9yKWUoYW5vdGhlcilmKGspbShleSlpKHcpbShvcmtpbmcpZShhcyloKGEpZworKE1ldGEpaChrKW0oZXkpLTggYigsKTI3IGIodGhlKWQoaWRlbiltKHRpY2FsKTE1MCAzMjM5Cit5KGspbShleXN0cm9rKW0oZSkzMCBiKGNhbilmKGIpcyhlKWYoZ2VuZXJhdGVkKWgoYiltKHkpZyh0KW0oeXBpbmcpZworRnMoRVNDKWUgRmsoXDAxNHJzdClwIEZ0KCwpaihhbmQpZSh0aGVuKWcodCltKHlwaW5nKWgKK0ZzKGspcCBGdCguKTQwIGIoRWl0aGVyKTI4IGIocHJvKXMoY2VzcylnKGlzKWcoa25vKW0od24pMTUwCiszMzQ5IHkoYXMpaiBGcShtZXRhZnlpbmcpMzkgYiBGdCh0aGUpMzAgYiBGcyhrKWcgRnQoayltKGV5KS04CitiKC4pMjc1IDM1MTkgeShUaGUpMzkgYih0ZXh0KWogRmkoTS1DLWspZCBGdChpcyloKHJlYWQpZyhhcyloCisoYE1ldGEtQ29uKW0odHJvbC1rJylqKGFuZCkzOSBiKGRlc2NyaWIpcyhlcyloKHRoZSlnKGMpbShoYXJhY3RlcilpCisocHJvKXMoZHVjZWQpZChiKW0oeSkxNTAgMzYyOSB5IEZxKG1ldGFmeWluZylnIEZpKEMtaylwCitGdCguKTI3NSAzNzk5IHkoSW4pYyhhZGRpdGlvbiwpaihzZXYpbShlcmFsKWYoayltKGV5cylnKGhhKW0odiltKGUpZworKHRoZWlyKWYobyltKHduKWcobmFtZXMuKTU4IGIoU3ApcyhlY2lcMDE0Y2FsbHkpLTggYigsKTM4CitiIEZzKERFTClwIEZ0KCwpZiBGcyhFU0MpcCBGdCgsKWcgRnMoTEZEKXAgRnQoLClnIEZzKFNQQylwCitGdCgsKWcgRnMoUkVUKXAgRnQoLCkxNTAgMzkwOCB5KGFuZClkIEZzKFRBQilmIEZ0KGFsbClqKHN0YW5kKWUoZm9yKWcKKyh0aGVtc2VsdiltKGVzKWkod2hlbilkKHNlZW4paShpbilmKHRoaXMpZyh0ZXh0LClqKG9yKWQoaW4paChhbilmKGluaXQpCitoKFwwMTRsZSlmKFwoc2VlKWkoU2VjdGlvbilmKDguMykxNTAgNDAxOCB5KFtSZWFkbGluZSkyNworYihJbml0KWcoRmlsZV0sKWkocGFnZSllKDk2XCkuKTQxIGIoSWYpMjYgYih5KW0ob3VyKWgoayltKGV5YilzKG9hcmQpZgorKGxhYyltKGtzKWkoYSlmIEZzKExGRClmIEZ0KGspbShleSktOCBiKCwpMjkgYih0KW0oeXBpbmcpZQorRnMoQy1qKWUgRnQod2lsbClpKHBybylzKGR1Y2UpZih0aGUpMTUwIDQxMjggeShkZXNpcmVkKWsoYyltKGhhcmFjdGVyLikKKzQyIGIoVGhlKTMwIGIgRnMoUkVUKWcgRnQoayltKGV5KWgobWEpbSh5KWcoYilzKGUpZShsYWIpcyhlbGVkKWkKK0ZzKFJldHVybillIEZ0KG9yKWggRnMoRW50ZXIpZiBGdChvbiloKHNvbWUpaChrKW0oZXliKXMob2FyZHMuKTE1MAorNDQxMyB5IEZyKDguMik2OCBiKFJlYWRsaW5lKTQ3IGIoSW4pbCh0ZXJhY3Rpb24pMTUwIDQ1NzMKK3kgRnQoT2Z0ZW4pMzIgYihkdXJpbmcpZyhhbilnKGluKW0odGVyYWN0aXYpbShlKWooc2Vzc2lvbillKHkpbShvdSlnKHQpCittKHlwKXMoZSlnKGluKWYoYSloKGxvbmcpZyhsaW5lKWcob2YpZih0ZXh0LClqKG9ubHkpZCh0bylpKG5vdGljZSlnCisodGhhdClmKHRoZSkxNTAgNDY4MiB5KFwwMTRyc3QpZih3KW0ob3JkKWcob24pZyh0aGUpZyhsaW5lKWgoaXMpZwogKG1pc3NwKXMoZWxsZWQuKTQ2IGIoVGhlKTMyIGIoUmVhZGxpbmUpaChsaWJyYXJ5KWYoZ2l2KW0oZXMpaCh5KW0ob3UpZwogKGEpZyhzZXQpZyhvZilmKGNvbW1hbmRzKWcoZm9yKTE1MCA0NzkyIHkobWFuaXB1bGF0aW5nKWUodGhlKWcodGV4dCloCiAoYXMpZih5KW0ob3UpZyh0KW0oeXApcyhlKWcoaXQpZyhpbiwpZyhhbGxvKW0od2luZyloKHkpbShvdSlmKHRvKWgKQEAgLTExNDQ0LDY2OSArMTEzNjAsNjcxIEBACiBiKG9mKWYodGhlKWgobGluZS4pNDAgYihVc2luZykyOCBiKHRoZXNlKWgoZWRpdGluZylnKGNvbW1hbmRzLClmKHkpbQogKG91KWgobW8pbSh2KW0oZSlnKHRoZSlnKGN1cnNvcikxNTAgNTAxMSB5KHRvKTM1IGIodGhlKWYocGxhY2UpaSh0aGF0KWUKIChuZWVkcylnKGNvcnJlY3Rpb24sKWooYW5kKWQoZGVsZXRlKWgob3IpZihpbnNlcnQpaCh0aGUpZih0ZXh0KWgob2YpZwotKHRoZSlmKGNvcnJlY3Rpb25zLik1NCBiKFRoZW4sKTE1MCA1MTIxIHkod2hlbikzMCBiKHkpbShvdSlpKGFyZSlmCi0oc2F0aXNcMDE0ZWQpZyh3aXRoKWcodGhlKWcobGluZSwpaCh5KW0ob3UpZyhzaW1wbHkpZShwcmVzcykyMzIwCi01MTE4IHkgRmcoaClwIDIzNDQgNTA2NSAxNTEgNCB2IDIzNDQgNTEyMSBhIEZmKFJFVClwCi0yMzQ0IDUxMzYgViAyNDkxIDUxMTggYSBGZyhpKTI1MjAgNTEyMSB5IEZ0KC4pNDMgYihZKS04Ci1iKG91KTMyIGIoZG8pZihub3QpZyhoYSltKHYpbShlKWkodG8pZShiKXMoZSlnKGF0KWgodGhlKTE1MAotNTIzMCB5KGVuZClqKG9mKWgodGhlKWcobGluZSlnKHRvKWgocHJlc3MpMTEyNiA1MjI3IHkKLUZnKGgpcCAxMTUwIDUxNzQgViAxMTUwIDUyMzAgYSBGZihSRVQpcCAxMTUwIDUyNDYgViAxMjk3Ci01MjI3IGEgRmcoaSkxMzI3IDUyMzAgeSBGdCg7KWgodGhlKWUoZW4pbSh0aXJlKWgobGluZSlmKGlzKWcoYWNjZXB0ZWQpaAotKHJlZ2FyZGxlc3MpZihvZilnKHRoZSlnKGxvKXMoY2F0aW9uKWkob2YpZSh0aGUpMTUwIDUzNDAKLXkoY3Vyc29yKTMwIGIod2l0aGluKWcodGhlKWcobGluZS4pcCBlb3AgZW5kCisodGhlKWYoY29ycmVjdGlvbnMuKTU0IGIoVGhlbiwpMTUwIDUxMjEgeSh3aGVuKTI0IGIoeSltKG91KWgoYXJlKWcKKyhzYXRpc1wwMTRlZClnKHdpdGgpZyh0aGUpZyhsaW5lLClpKHkpbShvdSllKHNpbXBseSlmKHByZXNzKWcKK0ZzKFJFVClwIEZ0KC4pMzkgYihZKS04IGIob3UpMjUgYihkbylnKG5vdClnKGhhKW0odiltKGUpaCh0bylnKGIpcyhlKWUKKyhhdCloKHRoZSloKGVuZCkxNTAgNTIzMCB5KG9mKTMzIGIodGhlKWgobGluZSlnKHRvKWcocHJlc3MpZQorRnMoUkVUKXAgRnQoOylpKHRoZSlnKGVuKW0odGlyZSlnKGxpbmUpZihpcyloKGFjY2VwdGVkKWcocmVnYXJkbGVzcylnCisob2YpZih0aGUpaChsbylzKGNhdGlvbiloKG9mKWUodGhlKWgoY3Vyc29yKTE1MCA1MzQwCit5KHdpdGhpbiljKHRoZSlnKGxpbmUuKXAgZW9wIGVuZAogJSVQYWdlOiA5NCAxMDAKIFRlWERpY3QgYmVnaW4gOTQgOTkgYm9wIDE1MCAtMTE2IGEgRnQoOTQpMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGayg4LjIuMSk2MyBiKFJlYWRsaW5lKTQwCi1iKEJhcmUpaChFc3NlbiltKHRpYWxzKTI3NSA1NDAgeSBGdChJbikyMiBiKG9yZGVyKWcodG8paShlbiltKHRlcilnKGMpbQotKGhhcmFjdGVycylnKGluKW0odG8pZyh0aGUpZyhsaW5lLCloKHNpbXBseSlkKHQpbSh5cClzKGUpaSh0aGVtLikzOAotYihUaGUpMjIgYih0KW0oeXApcyhlZCloKGMpbShoYXJhY3RlcilpKGFwcClzKGVhcnMpMTUwCi02NTAgeSh3aGVyZSkzMiBiKHRoZSloKGN1cnNvcillKHcpbShhcywpaihhbmQpZSh0aGVuKWcodGhlKWgoY3Vyc29yKWUKLShtbyltKHYpbShlcylqKG9uZSlmKHNwYWNlKWcodG8pZyh0aGUpZyhyaWdoKW0odC4pNDcKLWIoSWYpMzIgYih5KW0ob3UpaChtaXN0KW0oeXApcyhlKWcoYSkxNTAgNzU5IHkoYyltKGhhcmFjdGVyLClmKHkpbShvdSlmCi0oY2FuKWcodXNlKWYoeSltKG91cilnKGVyYXNlKWgoYyltKGhhcmFjdGVyKWgodG8pZihiYWMpbShrKWcodXApZihhbmQpZgotKGRlbGV0ZSlqKHRoZSlmKG1pc3QpbSh5cClzKGVkKWUoYyltKGhhcmFjdGVyLikyNzUgODkxCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRmooOC4yLjEpNjMgYihSZWFkbGluZSk0MAorYihCYXJlKWgoRXNzZW4pbSh0aWFscykxNTAgNDQ2IHkgRnQoSW4pMzEgYihvcmRlciloKHRvKWgoZW4pbSh0ZXIpZyhjKW0KKyhoYXJhY3RlcnMpZyhpbiltKHRvKWcodGhlKWcobGluZSwpZyhzaW1wbHkpZSh0KW0oeXApcyhlKWkodGhlbS4pNDYKK2IoVGhlKTMxIGIodCltKHlwKXMoZWQpaChjKW0oaGFyYWN0ZXIpaShhcHApcyhlYXJzKTE1MAorNTU1IHkod2hlcmUpZSh0aGUpaChjdXJzb3IpZSh3KW0oYXMsKWooYW5kKWUodGhlbilnKHRoZSloKGN1cnNvcillKG1vKW0KKyh2KW0oZXMpaihvbmUpZihzcGFjZSlnKHRvKWcodGhlKWcocmlnaCltKHQuKTQ3IGIoSWYpMzIKK2IoeSltKG91KWgobWlzdCltKHlwKXMoZSlnKGEpMTUwIDY2NSB5KGMpbShoYXJhY3RlciwpZih5KW0ob3UpZihjYW4pZworKHVzZSlmKHkpbShvdXIpZyhlcmFzZSloKGMpbShoYXJhY3RlciloKHRvKWYoYmFjKW0oaylnKHVwKWYoYW5kKWYKKyhkZWxldGUpaih0aGUpZihtaXN0KW0oeXApcyhlZCllKGMpbShoYXJhY3Rlci4pMjc1IDgwNgogeShTb21ldGltZXMpaSh5KW0ob3UpZyhtYSltKHkpaChtaXN0KW0oeXApcyhlKWUoYSlpKGMpbShoYXJhY3RlciwpZwogKGFuZCllKG5vdClpKG5vdGljZSlnKHRoZSlmKGVycm9yKWYodW4pbSh0aWwpaCh5KW0ob3UpZyhoYSltKHYpbShlKWgodCkKLW0oeXApcyhlZCkxNTAgMTAwMCB5KHNldiltKGVyYWwpZShvdGhlcilmKGMpbShoYXJhY3RlcnMuKTQyCittKHlwKXMoZWQpMTUwIDkxNiB5KHNldiltKGVyYWwpZShvdGhlcilmKGMpbShoYXJhY3RlcnMuKTQyCiBiKEluKTI4IGIodGhhdClpKGNhc2UsKWcoeSltKG91KWYoY2FuKWcodCltKHlwKXMoZSloCi1GaihDLWIpZCBGdCh0bylqKG1vKW0odiltKGUpZyh0aGUpZihjdXJzb3IpZyh0bylnKHRoZSlnKGxlZnQsKWkoYW5kKTE1MAotMTExMCB5KHRoZW4pZihjb3JyZWN0KWkoeSltKG91cillKG1pc3RhayltKGUuKTQyIGIoQWZ0ZXJ3KW0oYXJkcywpMzEKK0ZpKEMtYilkIEZ0KHRvKWoobW8pbSh2KW0oZSlnKHRoZSlmKGN1cnNvcilnKHRvKWcodGhlKWcobGVmdCwpaShhbmQpMTUwCisxMDI2IHkodGhlbilmKGNvcnJlY3QpaSh5KW0ob3VyKWUobWlzdGFrKW0oZS4pNDIgYihBZnRlcncpbShhcmRzLCkzMQogYih5KW0ob3UpZihjYW4paChtbyltKHYpbShlKWgodGhlKWUoY3Vyc29yKWcodG8paCh0aGUpZyhyaWdoKW0odClnCi0od2l0aClmIEZqKEMtZilwIEZ0KC4pMjc1IDEyNDIgeShXaGVuKWkoeSltKG91KWgoYWRkKWYodGV4dCloKGluKWYodGhlKQorKHdpdGgpZiBGaShDLWYpcCBGdCguKTI3NSAxMTY3IHkoV2hlbilpKHkpbShvdSloKGFkZClmKHRleHQpaChpbilmKHRoZSkKIGgobWlkZGxlKWYob2YpaChhKWcobGluZSwpaCh5KW0ob3UpZSh3aWxsKWgobm90aWNlKWgodGhhdClmKGMpbQotKGhhcmFjdGVycyloKHRvKWcodGhlKWUocmlnaCltKHQpMTUwIDEzNTEgeShvZilkKHRoZSlnKGN1cnNvcilmKGFyZSloCisoaGFyYWN0ZXJzKWgodG8pZyh0aGUpZShyaWdoKW0odCkxNTAgMTI3NyB5KG9mKWQodGhlKWcoY3Vyc29yKWYoYXJlKWgKIChgcHVzaGVkKWUobyltKHYpbShlcicpaih0bylnKG1hayltKGUpZihybylzKG9tKWcoZm9yKWYodGhlKWgodGV4dCloCiAodGhhdClmKHkpbShvdSlnKGhhKW0odiltKGUpaChpbnNlcnRlZC4pNDAgYihMaWspbShld2lzZSwpMTUwCi0xNDYxIHkod2hlbilkKHkpbShvdSlnKGRlbGV0ZSlpKHRleHQpZyhiKXMoZWhpbmQpYyh0aGUpaihjdXJzb3IsKWgoYyltCisxMzg2IHkod2hlbilkKHkpbShvdSlnKGRlbGV0ZSlpKHRleHQpZyhiKXMoZWhpbmQpYyh0aGUpaihjdXJzb3IsKWgoYyltCiAoaGFyYWN0ZXJzKWcodG8pZih0aGUpZyhyaWdoKW0odClnKG9mKWcodGhlKWcoY3Vyc29yKWUoYXJlKWkoYHB1bGxlZCkKLTE1MCAxNTcwIHkoYmFjKW0oaycpMjQgYih0bylmKFwwMTRsbClnKGluKWYodGhlKWgoYmxhbmspZihzcGFjZSlpCisxNTAgMTQ5NiB5KGJhYyltKGsnKTI0IGIodG8pZihcMDE0bGwpZyhpbilmKHRoZSloKGJsYW5rKWYoc3BhY2UpaQogKGNyZWF0ZWQpZihiKW0oeSlnKHRoZSlnKHJlbW8pbSh2KS01IGIoYWwpMjQgYihvZilmKHRoZSlnKHRleHQuKTM5Ci1iKEEpMjMgYihsaXN0KWcob2YpZyh0aGUpZyhiYXJlKWYoZXNzZW4pbSh0aWFscykxNTAgMTY4MAorYihBKTIzIGIobGlzdClnKG9mKWcodGhlKWcoYmFyZSlmKGVzc2VuKW0odGlhbHMpMTUwIDE2MDUKIHkoZm9yKTMwIGIoZWRpdGluZyloKHRoZSlnKHRleHQpZyhvZilnKGFuKWYoaW5wdXQpZihsaW5lKWkoZm9sbG8pbSh3cy4pCi0xNTAgMTgzNCB5IEZqKEMtYikzMzYgYiBGdChNbyltKHYpbShlKTMyIGIoYmFjKW0oaylnKG9uZSllKGMpbQotKGhhcmFjdGVyLikxNTAgMTk4NyB5IEZqKEMtZikzMzYgYiBGdChNbyltKHYpbShlKTMyIGIoZm9ydyltKGFyZCllKG9uZSkKLWgoYyltKGhhcmFjdGVyLikxNTAgMjEzOCB5IEZnKGgpcCAxNzQgMjA4NSAxNDYgNCB2IDE3NAotMjE0MSBhIEZmKERFTClwIDE3NCAyMTU2IFYgMzE2IDIxMzggYSBGZyhpKTM3NiAyMTQxIHkKLUZ0KG9yKTQ4NyAyMTM4IHkgRmcoaClwIDUxMiAyMDg1IDMxNyA0IHYgNTEyIDIxNDEgYSBGZihCYWMpbihrc3BhY2UpcAotNTEyIDIxNTYgViA4MjQgMjEzOCBhIEZnKGkpNjMwIDIyNTEgeSBGdChEZWxldGUpaSh0aGUpZChjKW0oaGFyYWN0ZXIpaQotKHRvKWYodGhlKWcobGVmdClnKG9mKWYodGhlKWgoY3Vyc29yLikxNTAgMjQwNCB5IEZqKEMtZCkzMzYKLWIgRnQoRGVsZXRlKTMzIGIodGhlKWQoYyltKGhhcmFjdGVyKWkodW5kZXJuZWF0aClkKHRoZSlpKGN1cnNvci4pMTUwCi0yNTU4IHkoUHJpbiltKHRpbmcpZyhjKW0oaGFyYWN0ZXJzKTYzMCAyNjY4IHkoSW5zZXJ0KWYodGhlKWcoYyltCi0oaGFyYWN0ZXIpaShpbiltKHRvKWcodGhlKWUobGluZSloKGF0KWcodGhlKWcoY3Vyc29yLikxNTAKLTI4MjEgeSBGaihDLV8pZSBGdChvcilpIEZqKEMteCllKEMtdSk2MzAgMjkzMSB5IEZ0KFVuZG8payh0aGUpaChsYXN0KWcKLShlZGl0aW5nKWcoY29tbWFuZC4pNTAgYihZKS04IGIob3UpMzQgYihjYW4pZih1bmRvKWcoYWxsKWgodGhlKWYodyltKGEpCi1tKHkpaShiYWMpbShrKWYodG8pZyhhbilnKGVtcHQpbSh5KTYzMCAzMDQwIHkobGluZS4pMTUwCi0zMTk0IHkoXChEZXApcyhlbmRpbmcpZyhvbilnKHkpbShvdXIpZyhjb25cMDE0Z3VyYXRpb24sKWgodGhlKTE3MjYKLTMxOTEgeSBGZyhoKXAgMTc1MCAzMTM4IFYgMTc1MCAzMTk0IGEgRmYoQmFjKW4oa3NwYWNlKXAKLTE3NTAgMzIwOSBWIDIwNjMgMzE5MSBhIEZnKGkpMjEyNyAzMTk0IHkgRnQoayltKGV5KWcoYilzKGUpZShzZXQpaCh0byloCi0oZGVsZXRlKWcodGhlKWYoYyltKGhhcmFjdGVyKWkodG8pZih0aGUpMTUwIDMzMDQgeShsZWZ0KWYob2YpZih0aGUpZwotKGN1cnNvcilmKGFuZCloKHRoZSkxMTkyIDMzMDEgeSBGZyhoKXAgMTIxNiAzMjQ4IDE0NgotNCB2IDEyMTYgMzMwNCBhIEZmKERFTClwIDEyMTYgMzMxOSBWIDEzNTggMzMwMSBhIEZnKGkpMTQyMQotMzMwNCB5IEZ0KGspbShleSlnKHNldCloKHRvKWcoZGVsZXRlKWcodGhlKWYoYyltKGhhcmFjdGVyKWkodW5kZXJuZWF0aCkKLWModGhlKWkoY3Vyc29yLCloKGxpayltKGUpMTUwIDM0MTMgeSBGaihDLWQpcCBGdCgsKWMocmF0aGVyKWcodGhhbilnCi0odGhlKWgoYyltKGhhcmFjdGVyKWgodG8pZih0aGUpZihsZWZ0KWgob2YpZyh0aGUpZihjdXJzb3IuXCkpMTUwCi0zNjI5IHkgRmsoOC4yLjIpNjMgYihSZWFkbGluZSk0MCBiKE1vKW0odiltKGVtZW4pbSh0KWgoQ29tbWFuZHMpMjc1Ci0zODcwIHkgRnQoVGhlKTI1IGIoYWIpcyhvKW0odiltKGUpaSh0YWJsZSlnKGRlc2NyaWIpcyhlcylmKHRoZSlnKG1vc3QpaAotKGJhc2ljKWYoayltKGV5c3Ryb2spbShlcylpKHRoYXQpZih5KW0ob3UpZihuZWVkKWcoaW4pZyhvcmRlcilmKHRvKWkKLShkbylmKGVkaXRpbmcpMTUwIDM5ODAgeShvZilnKHRoZSlmKGlucHV0KWcobGluZS4pMzkKLWIoRiktOCBiKG9yKTI3IGIoeSltKG91cillKGNvbiltKHYpbShlbmllbmNlLClrKG1hbiltKHkpYyhvdGhlciloCi0oY29tbWFuZHMpZihoYSltKHYpbShlKWkoYilzKGVlbillKGFkZGVkKWcoaW4pZyhhZGRpdGlvbikxNTAKLTQwODkgeSh0bykzMyBiIEZqKEMtYilwIEZ0KCwpZSBGaihDLWYpcCBGdCgsKWggRmooQy1kKXAKLUZ0KCwpZyhhbmQpMTA0MyA0MDg2IHkgRmcoaClwIDEwNjcgNDAzMyBWIDEwNjcgNDA4OSBhCi1GZihERUwpcCAxMDY3IDQxMDUgViAxMjA5IDQwODYgYSBGZyhpKTEyMzkgNDA4OSB5IEZ0KC4pNDUKLWIoSGVyZSkzMyBiKGFyZSlmKHNvbWUpZyhjb21tYW5kcylnKGZvcilnKG1vKW0odmluZyloKG1vcmUpZihyYXBpZGx5KWYKLShhYilzKG91dCloKHRoZSkxNTAgNDE5OSB5KGxpbmUuKTE1MCA0MzUyIHkgRmooQy1hKTMzNgotYiBGdChNbyltKHYpbShlKTMyIGIodG8pZyh0aGUpZShzdGFydCloKG9mKWcodGhlKWYobGluZS4pMTUwCi00NTA2IHkgRmooQy1lKTMzNiBiIEZ0KE1vKW0odiltKGUpMzIgYih0bylnKHRoZSllKGVuZClnKG9mKWcodGhlKWgKLShsaW5lLikxNTAgNDY2MCB5IEZqKE0tZikzMzYgYiBGdChNbyltKHYpbShlKTMyIGIoZm9ydyltKGFyZCllKGEpaCh3KW0KLShvcmQsKWYod2hlcmUpZyhhKWgodyltKG9yZClmKGlzKWcoY29tcClzKG9zZWQpZyhvZiloKGxldHRlcnMpaChhbmQpZAotKGRpZ2l0cy4pMTUwIDQ4MTMgeSBGaihNLWIpMzM2IGIgRnQoTW8pbSh2KW0oZSkzMiBiKGJhYyltKGt3KW0oYXJkKWYoYSkKLWcodyltKG9yZC4pMTUwIDQ5NjcgeSBGaihDLWwpMzM2IGIgRnQoQ2xlYXIpMzEgYih0aGUpZihzY3JlZW4sKWgKLShyZXByaW4pbSh0aW5nKWYodGhlKWgoY3VycmVuKW0odClmKGxpbmUpaChhdClnKHRoZSlmKHRvcC4pMjc1Ci01MTIxIHkoTm90aWNlKWMoaG8pbSh3KWYgRmooQy1mKWUgRnQobW8pbSh2KW0oZXMpaihmb3J3KW0oYXJkKWUoYSloKGMpbQotKGhhcmFjdGVyLClqKHdoaWxlKWQgRmooTS1mKWUgRnQobW8pbSh2KW0oZXMpaihmb3J3KW0oYXJkKWUoYSloKHcpbQorMTUwIDE3NzUgeSBGaShDLWIpMzM2IGIgRnQoTW8pbSh2KW0oZSkzMiBiKGJhYyltKGspZyhvbmUpZShjKW0KKyhoYXJhY3Rlci4pMTUwIDE5NDEgeSBGaShDLWYpMzM2IGIgRnQoTW8pbSh2KW0oZSkzMiBiKGZvcncpbShhcmQpZShvbmUpCitoKGMpbShoYXJhY3Rlci4pMTUwIDIxMDggeSBGcyhERUwpZSBGdChvcilpIEZzKEJhY2tzcGFjZSk2MzAKKzIyMTcgeSBGdChEZWxldGUpaSh0aGUpZChjKW0oaGFyYWN0ZXIpaSh0bylmKHRoZSlnKGxlZnQpZyhvZilmKHRoZSloCisoY3Vyc29yLikxNTAgMjM4NCB5IEZpKEMtZCkzMzYgYiBGdChEZWxldGUpMzMgYih0aGUpZChjKW0oaGFyYWN0ZXIpaQorKHVuZGVybmVhdGgpZCh0aGUpaShjdXJzb3IuKTE1MCAyNTUwIHkoUHJpbiltKHRpbmcpZyhjKW0oaGFyYWN0ZXJzKTYzMAorMjY2MCB5KEluc2VydClmKHRoZSlnKGMpbShoYXJhY3RlcilpKGluKW0odG8pZyh0aGUpZShsaW5lKWgoYXQpZyh0aGUpZworKGN1cnNvci4pMTUwIDI4MjYgeSBGaShDLV8pZSBGdChvcilpIEZpKEMteCllKEMtdSk2MzAKKzI5MzYgeSBGdChVbmRvKWsodGhlKWgobGFzdClnKGVkaXRpbmcpZyhjb21tYW5kLik1MCBiKFkpLTgKK2Iob3UpMzQgYihjYW4pZih1bmRvKWcoYWxsKWgodGhlKWYodyltKGEpbSh5KWkoYmFjKW0oaylmKHRvKWcoYW4pZworKGVtcHQpbSh5KTYzMCAzMDQ1IHkobGluZS4pMTUwIDMyMTUgeShcKERlcClzKGVuZGluZykyOQorYihvbiloKHkpbShvdXIpZihjb25cMDE0Z3VyYXRpb24sKWkodGhlKWUgRnMoQmFja3NwYWNlKWUKK0Z0KGspbShleSlrKGIpcyhlKWQoc2V0KWoodG8pZihkZWxldGUpaCh0aGUpZShjKW0oaGFyYWN0ZXIpaSh0bylnKHRoZSkKKzE1MCAzMzI0IHkobGVmdCkzNyBiKG9mKWYodGhlKWgoY3Vyc29yKWUoYW5kKWgodGhlKWcKK0ZzKERFTClnIEZ0KGspbShleSloKHNldClmKHRvKWgoZGVsZXRlKWgodGhlKWUoYyltKGhhcmFjdGVyKWkKKyh1bmRlcm5lYXRoKWQodGhlKWgoY3Vyc29yLClpKGxpayltKGUpMTUwIDM0MzQgeSBGaShDLWQpcAorRnQoLCkzMCBiKHJhdGhlcilnKHRoYW4pZyh0aGUpaChjKW0oaGFyYWN0ZXIpaCh0bylmKHRoZSlmKGxlZnQpaChvZilnCisodGhlKWYoY3Vyc29yLlwpKTE1MCAzNjQwIHkgRmooOC4yLjIpNjMgYihSZWFkbGluZSk0MAorYihNbyltKHYpbShlbWVuKW0odCloKENvbW1hbmRzKTE1MCAzNzg3IHkgRnQoVGhlKTI3IGIoYWIpcyhvKW0odiltKGUpaQorKHRhYmxlKWcoZGVzY3JpYilzKGVzKWUodGhlKWcobW9zdClpKGJhc2ljKWYoayltKGV5c3Ryb2spbShlcyloKHRoYXQpZgorKHkpbShvdSlnKG5lZWQpZyhpbilmKG9yZGVyKWcodG8paShkbyllKGVkaXRpbmcpaShvZikxNTAKKzM4OTcgeSh0aGUpayhpbnB1dClmKGxpbmUuKTQ5IGIoRiktOCBiKG9yKTM0IGIoeSltKG91cilmKGNvbiltKHYpbQorKGVuaWVuY2UsKWoobWFuKW0oeSlkKG90aGVyKWcoY29tbWFuZHMpZihoYSltKHYpbShlKWooYilzKGVlbilkKGFkZGVkKWcKKyhpbiloKGFkZGl0aW9uKTE1MCA0MDA2IHkodG8paiBGaShDLWIpcCBGdCgsKWYgRmkoQy1mKXAKK0Z0KCwpZyBGaShDLWQpcCBGdCgsKWgoYW5kKWUgRnMoREVMKXAgRnQoLik1NCBiKEhlcmUpMzUKK2IoYXJlKWcoc29tZSloKGNvbW1hbmRzKWUoZm9yKWgobW8pbSh2aW5nKWgobW9yZSlmKHJhcGlkbHkpZihhYilzKG91dCloCisodGhlKTE1MCA0MTE2IHkobGluZS4pMTUwIDQyODYgeSBGaShDLWEpMzM2IGIgRnQoTW8pbSh2KW0oZSkzMgorYih0bylnKHRoZSllKHN0YXJ0KWgob2YpZyh0aGUpZihsaW5lLikxNTAgNDQ1MiB5IEZpKEMtZSkzMzYKK2IgRnQoTW8pbSh2KW0oZSkzMiBiKHRvKWcodGhlKWUoZW5kKWcob2YpZyh0aGUpaChsaW5lLikxNTAKKzQ2MTggeSBGaShNLWYpMzM2IGIgRnQoTW8pbSh2KW0oZSkzMiBiKGZvcncpbShhcmQpZShhKWgodyltKG9yZCwpZgorKHdoZXJlKWcoYSloKHcpbShvcmQpZihpcylnKGNvbXApcyhvc2VkKWcob2YpaChsZXR0ZXJzKWgoYW5kKWQoZGlnaXRzLikKKzE1MCA0Nzg1IHkgRmkoTS1iKTMzNiBiIEZ0KE1vKW0odiltKGUpMzIgYihiYWMpbShrdyltKGFyZClmKGEpZyh3KW0KKyhvcmQuKTE1MCA0OTUxIHkgRmkoQy1sKTMzNiBiIEZ0KENsZWFyKTMxIGIodGhlKWYoc2NyZWVuLCloKHJlcHJpbiltCisodGluZylmKHRoZSloKGN1cnJlbiltKHQpZihsaW5lKWgoYXQpZyh0aGUpZih0b3AuKTI3NQorNTEyMSB5KE5vdGljZSljKGhvKW0odylmIEZpKEMtZillIEZ0KG1vKW0odiltKGVzKWooZm9ydyltKGFyZCllKGEpaChjKW0KKyhoYXJhY3Rlciwpaih3aGlsZSlkIEZpKE0tZillIEZ0KG1vKW0odiltKGVzKWooZm9ydyltKGFyZCllKGEpaCh3KW0KIChvcmQuKTM5IGIoSXQpMjQgYihpcyloKGEpZyhsbylzKG9zZSkxNTAgNTIzMCB5KGNvbiltKHYpbShlbiltKHRpb24pMzIKIGIodGhhdClmKGNvbiltKHRyb2wpZyhrKW0oZXlzdHJvayltKGVzKWgob3ApcyhlcmF0ZSllKG9uKWcoYyltCiAoaGFyYWN0ZXJzKWgod2hpbGUpZihtZXRhKWgoayltKGV5c3Ryb2spbShlcyloKG9wKXMoZXJhdGUpZShvbikxNTAKIDUzNDAgeSh3KW0ob3Jkcy4pcCBlb3AgZW5kCiAlJVBhZ2U6IDk1IDEwMQogVGVYRGljdCBiZWdpbiA5NSAxMDAgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDg6KTQxCi1iKENvbW1hbmQpMjkgYihMaW5lKWkoRWRpdGluZykyMTA3IGIoOTUpMTUwIDI5OSB5IEZrKDguMi4zKTYzCi1iKFJlYWRsaW5lKTQwIGIoS2lsbGluZylpKENvbW1hbmRzKTI3NSA1NjYgeSBGcShLaWxsaW5nKWoKLUZ0KHRleHQpMzkgYihtZWFucyllKHRvKWgoZGVsZXRlKWcodGhlKWcodGV4dClnKGZyb20pZih0aGUpZyhsaW5lLClqCi0oYnV0KWQodG8paChzYSltKHYpbShlKWgoaXQpZShhKW0odyltKGEpbSh5KWooZm9yKWQobGF0ZXIpaCh1c2UsKTE1MAotNjc1IHkodXN1YWxseSljKGIpbSh5KWcgRnEoeSltKGFua2luZyk0MiBiIEZ0KFwocmUtaW5zZXJ0aW5nXCkpMzUKLWIoaXQpZyhiYWMpbShrKWcoaW4pbSh0bylnKHRoZSlmKGxpbmUuKTUyIGIoXChgQ3V0JykzNQotYihhbmQpZShgcGFzdGUnKWkoYXJlKWcobW9yZSlmKHJlY2VuKW0odCkxNTAgNzg1IHkoamFyZ29uKWQoZm9yKWYKLShga2lsbCcpaChhbmQpZihgeSltKGFuaycuXCkpMjc1IDk0MiB5KElmKWYodGhlKWkoZGVzY3JpcHRpb24pZihmb3IpZwotKGEpaChjb21tYW5kKWYoc2EpbSh5cylnKHRoYXQpaChpdClnKGBraWxscycpZyh0ZXh0LCloKHRoZW4pZSh5KW0ob3UpZwotKGNhbiloKGIpcyhlKWUoc3VyZSloKHRoYXQpaCh5KW0ob3UpMTUwIDEwNTIgeShjYW4pZyhnZXQpZyh0aGUpZyh0ZXh0KWcKLShiYWMpbShrKWcoaW4pZihhKWgoZGlcMDEzZXJlbiltKHQpZyhcKG9yKWcodGhlKWYoc2FtZVwpKWgocGxhY2UpaAotKGxhdGVyLikyNzUgMTIwOSB5KFdoZW4pMjMgYih5KW0ob3UpZyh1c2UpZyhhKWgoa2lsbClnKGNvbW1hbmQsKWcodGhlKWcKLSh0ZXh0KWcoaXMpZihzYSltKHYpbShlZClpKGluKWUoYSlnIEZxKGtpbGwtcmluZylwIEZ0KC4pMzkKLWIoQW4pbSh5KTI0IGIobiltKHVtKW0oYilzKGVyKWUob2YpaChjb25zZWN1dGl2KW0oZSkxNTAKLTEzMTggeShraWxscykzMSBiKHNhKW0odiltKGUpaShhbGwpZihvZilmKHRoZSlnKGtpbGxlZCloKHRleHQpZworYihDb21tYW5kKTI5IGIoTGluZSlpKEVkaXRpbmcpMjEwNyBiKDk1KTE1MCAyOTkgeSBGaig4LjIuMyk2MworYihSZWFkbGluZSk0MCBiKEtpbGxpbmcpaShDb21tYW5kcykxNTAgNDQ2IHkgRnEoS2lsbGluZykzNQorYiBGdCh0ZXh0KTI4IGIobWVhbnMpZSh0byloKGRlbGV0ZSloKHRoZSlmKHRleHQpZyhmcm9tKWcodGhlKWYobGluZSwpaQorKGJ1dCllKHRvKWgoc2EpbSh2KW0oZSloKGl0KWcoYSltKHcpbShhKW0oeSlnKGZvcillKGxhdGVyKWkodXNlLClmCisodXN1YWxseSkxNTAgNTU1IHkoYiltKHkpZyBGcSh5KW0oYW5raW5nKTM1IGIgRnQoXChyZS1pbnNlcnRpbmdcKSkyOAorYihpdClnKGJhYyltKGspZihpbiltKHRvKWgodGhlKWYobGluZS4pNDAgYihcKGBDdXQnKTI3CitiKGFuZClnKGBwYXN0ZScpaChhcmUpZihtb3JlKWcocmVjZW4pbSh0KWgoamFyZ29uKWYoZm9yKTE1MAorNjY1IHkoYGtpbGwnKTMyIGIoYW5kKWQoYHkpbShhbmsnLlwpKTI3NSA4MDEgeShJZilnKHRoZSlpKGRlc2NyaXB0aW9uKWYKKyhmb3IpZyhhKWgoY29tbWFuZClmKHNhKW0oeXMpZyh0aGF0KWgoaXQpZyhga2lsbHMnKWcodGV4dCwpaCh0aGVuKWUoeSltCisob3UpZyhjYW4paChiKXMoZSllKHN1cmUpaCh0aGF0KWgoeSltKG91KTE1MCA5MTEgeShjYW4pZyhnZXQpZyh0aGUpZworKHRleHQpZyhiYWMpbShrKWcoaW4pZihhKWgoZGlcMDEzZXJlbiltKHQpZyhcKG9yKWcodGhlKWYoc2FtZVwpKWgKKyhwbGFjZSloKGxhdGVyLikyNzUgMTA0NyB5KFdoZW4pMjMgYih5KW0ob3UpZyh1c2UpZyhhKWgoa2lsbClnCisoY29tbWFuZCwpZyh0aGUpZyh0ZXh0KWcoaXMpZihzYSltKHYpbShlZClpKGluKWUoYSlnCitGcShraWxsLXJpbmcpcCBGdCguKTM5IGIoQW4pbSh5KTI0IGIobiltKHVtKW0oYilzKGVyKWUob2YpaChjb25zZWN1dGl2KQorbShlKTE1MCAxMTU3IHkoa2lsbHMpMzEgYihzYSltKHYpbShlKWkoYWxsKWYob2YpZih0aGUpZyhraWxsZWQpaCh0ZXh0KWcKICh0b2dldGhlciwpZyhzbylnKHRoYXQpZih3aGVuKWYoeSltKG91KWgoeSltKGFuayloKGl0KWYoYmFjKW0oaywpaCh5KW0KLShvdSlnKGdldClnKGl0KWYoYWxsLik0MyBiKFRoZSkxNTAgMTQyOCB5KGtpbGwpMzMgYihyaW5nKWYoaXMpZyhub3QpaAorKG91KWcoZ2V0KWcoaXQpZihhbGwuKTQzIGIoVGhlKTE1MCAxMjY3IHkoa2lsbCkzMyBiKHJpbmcpZihpcylnKG5vdCloCiAobGluZSlnKHNwKXMoZWNpXDAxNGM7KWcodGhlKWcodGV4dClnKHRoYXQpZyh5KW0ob3UpZyhraWxsZWQpZihvbiloKGEpZgogKHByZXZpb3VzbHkpZyh0KW0oeXApcyhlZCloKGxpbmUpZihpcyloKGEpbSh2KS01IGIoYWlsYWJsZSkxNTAKLTE1MzcgeSh0bykzMSBiKGIpcyhlKWYoeSltKGFuayltKGVkKWgoYmFjKW0oaylnKGxhdGVyLCloKHdoZW4pZCh5KW0ob3UpCi1pKGFyZSlnKHQpbSh5cGluZylmKGFub3RoZXIpaChsaW5lLikyNzUgMTY5NSB5KEhlcmUpZihpcyloKHRoZSlmKGxpc3QpaAotKG9mKWcoY29tbWFuZHMpZihmb3IpZyhraWxsaW5nKWgodGV4dC4pMTUwIDE4ODggeSBGaihDLWspMzM2CisxMzc2IHkodG8pMzEgYihiKXMoZSlmKHkpbShhbmspbShlZCloKGJhYyltKGspZyhsYXRlciwpaCh3aGVuKWQoeSltKG91KQoraShhcmUpZyh0KW0oeXBpbmcpZihhbm90aGVyKWgobGluZS4pMjc1IDE1MTMgeShIZXJlKWYoaXMpaCh0aGUpZihsaXN0KWgKKyhvZilnKGNvbW1hbmRzKWYoZm9yKWcoa2lsbGluZyloKHRleHQuKTE1MCAxNjc1IHkgRmkoQy1rKTMzNgogYiBGdChLaWxsKTMxIGIodGhlKWYodGV4dClpKGZyb20pZSh0aGUpZyhjdXJyZW4pbSh0KWcoY3Vyc29yKWcocClzCi0ob3NpdGlvbiloKHRvKWcodGhlKWYoZW5kKWcob2YpZyh0aGUpaChsaW5lLikxNTAgMjA3MAoteSBGaihNLWQpMzM2IGIgRnQoS2lsbCkyNyBiKGZyb20pZih0aGUpZyhjdXJzb3IpZyh0byloKHRoZSlmKGVuZClnKG9mKWgKKyhvc2l0aW9uKWgodG8pZyh0aGUpZihlbmQpZyhvZilnKHRoZSloKGxpbmUuKTE1MCAxODM2Cit5IEZpKE0tZCkzMzYgYiBGdChLaWxsKTI3IGIoZnJvbSlmKHRoZSlnKGN1cnNvcilnKHRvKWgodGhlKWYoZW5kKWcob2YpaAogKHRoZSlmKGN1cnJlbiltKHQpZyh3KW0ob3JkLCloKG9yLCloKGlmKWUoYilzKGV0KW0odyltKGVlbiloKHcpbShvcmRzLCkKLWcodG8pZyh0aGUpNjMwIDIxODAgeShlbmQpaihvZilnKHRoZSloKG5leHQpZih3KW0ob3JkLik0MQorZyh0bylnKHRoZSk2MzAgMTk0NiB5KGVuZClqKG9mKWcodGhlKWgobmV4dClmKHcpbShvcmQuKTQxCiBiKFcpLTggYihvcmQpMzAgYihiKXMob3VuZGFyaWVzKWYoYXJlKWkodGhlKWcoc2FtZSlmKGFzKWgodGhvc2UpZyh1c2VkKQotZihiKW0oeSlnIEZqKE0tZilwIEZ0KC4pMTUwIDIzNjIgeSBGaihNLSkyNDYgMjM1OSB5IEZnKGgpcAotMjcwIDIzMDYgMTQ2IDQgdiAyNzAgMjM2MiBhIEZmKERFTClwIDI3MCAyMzc3IFYgNDExIDIzNTkKLWEgRmcoaSk2MzAgMjM2MiB5IEZ0KEtpbGwpaChmcm9tKWYodGhlKWgoY3Vyc29yKWYodGhlKWcoc3RhcnQpaChvZilnCi0odGhlKWcoY3VycmVuKW0odClmKHcpbShvcmQsKWgob3IsKWYoaWYpaChiKXMoZXQpbSh3KW0oZWVuKWcodyltKG9yZHMsKQotZih0bylpKHRoZSk2MzAgMjQ3MSB5KHN0YXJ0KTM5IGIob2YpZih0aGUpaChwcmV2aW91cylmKHcpbShvcmQuKTY0Ci1iKFcpLTggYihvcmQpMzkgYihiKXMob3VuZGFyaWVzKWUoYXJlKWkodGhlKWYoc2FtZSloKGFzKWcodGhvc2UpZih1c2VkKQotZyhiKW0oeSk2MzAgMjU4MSB5IEZqKE0tYilwIEZ0KC4pMTUwIDI3NjMgeSBGaihDLXcpMzM2Ci1iIEZ0KEtpbGwpMzIgYihmcm9tKWUodGhlKWkoY3Vyc29yKWUodG8paSh0aGUpZyhwcmV2aW91cyllKHdoaXRlc3BhY2UuKQotNDQgYihUaGlzKTMxIGIoaXMpZyhkaVwwMTNlcmVuKW0odCloKHRoYW4pZiBGaihNLSkzNTU1Ci0yNzYwIHkgRmcoaClwIDM1NzggMjcwNyBWIDM1NzggMjc2MyBhIEZmKERFTClwIDM1NzggMjc3OAotViAzNzIwIDI3NjAgYSBGZyhpKTYzMCAyODcyIHkgRnQoYilzKGVjYXVzZSlmKHRoZSloKHcpbShvcmQpZihiKXMKLShvdW5kYXJpZXMpZihkaVwwMTNlci4pMjc1IDMwNjYgeShIZXJlKTQyIGIoaXMpZihobyltKHcpaCh0bylnCi1GcSh5KW0oYW5rKTQ3IGIgRnQodGhlKTQyIGIodGV4dClnKGJhYyltKGspaChpbiltKHRvKWYodGhlKWcobGluZS4pNzQKLWIoWSktOCBiKGFua2luZyk0MyBiKG1lYW5zKWUodG8paChjb3ApbSh5KWgodGhlKWUobW9zdC0pMTUwCi0zMTc1IHkocmVjZW4pbSh0bHkta2lsbGVkKTMzIGIodGV4dCllKGZyb20pZih0aGUpZyhraWxsKWkoYnVcMDEzZXIuKTE1MAotMzM2OSB5IEZqKEMteSkzMzYgYiBGdChZKS04IGIoYW5rKTMxIGIodGhlKWYobW9zdCloKHJlY2VuKW0odGx5KWgKLShraWxsZWQpZih0ZXh0KWcoYmFjKW0oaylnKGluKW0odG8paCh0aGUpZShidVwwMTNlcilnKGF0KWgodGhlKWYKLShjdXJzb3IuKTE1MCAzNTUxIHkgRmooTS15KTMzNiBiIEZ0KFJvdGF0ZSkzNiBiKHRoZSlmKGtpbGwtcmluZywpaShhbmQpCi1kKHkpbShhbmspaCh0aGUpZihuZXcpZyh0b3AuKTU0IGIoWSktOCBiKG91KTM1IGIoY2FuKWcob25seSlmKGRvKWgKLSh0aGlzKWYoaWYpaCh0aGUpZyhwcmlvcik2MzAgMzY2MCB5KGNvbW1hbmQpMzAgYihpcyloCi1GaihDLXkpZSBGdChvciloIEZqKE0teSlwIEZ0KC4pMTUwIDM5MzAgeSBGayg4LjIuNCk2MwotYihSZWFkbGluZSk0MCBiKEFyZ3VtZW4pbSh0cykyNzUgNDE5NyB5IEZ0KFkpLTggYihvdSkyOQotYihjYW4paChwYXNzKWYobiltKHVtZXJpYylnKGFyZ3VtZW4pbSh0cylnKHRvKWgoUmVhZGxpbmUpZyhjb21tYW5kcy4pNDAKLWIoU29tZXRpbWVzKTMwIGIodGhlKWYoYXJndW1lbiltKHQpaChhY3RzKTE1MCA0MzA2IHkoYXMpNDAKLWIoYSloKHJlcClzKGVhdClmKGNvdW4pbSh0LClqKG90aGVyKWUodGltZXMpZihpdCloKGlzKWYodGhlKWcKLUZtKHNpZ24pNDcgYiBGdChvZik0MSBiKHRoZSlmKGFyZ3VtZW4pbSh0KWcodGhhdCloKGlzKWYoc2lnbmlcMDE0Y2FuKW0KLSh0Lik3MSBiKElmKTQwIGIoeSltKG91KTE1MCA0NDE2IHkocGFzcykzMyBiKGEpaChuZWdhdGl2KW0oZSlpKGFyZ3VtZW4pCitmKGIpbSh5KWcgRmkoTS1mKXAgRnQoLikxNTAgMjEwNyB5IEZpKE0tREVMKTI0MCBiIEZ0KEtpbGwpMzEKK2IoZnJvbSlmKHRoZSloKGN1cnNvcilmKHRoZSlnKHN0YXJ0KWgob2YpZyh0aGUpZyhjdXJyZW4pbSh0KWYodyltKG9yZCwpCitoKG9yLClmKGlmKWgoYilzKGV0KW0odyltKGVlbilnKHcpbShvcmRzLClmKHRvKWkodGhlKTYzMAorMjIxNyB5KHN0YXJ0KTM5IGIob2YpZih0aGUpaChwcmV2aW91cylmKHcpbShvcmQuKTY0IGIoVyktOAorYihvcmQpMzkgYihiKXMob3VuZGFyaWVzKWUoYXJlKWkodGhlKWYoc2FtZSloKGFzKWcodGhvc2UpZih1c2VkKWcoYiltCisoeSk2MzAgMjMyNiB5IEZpKE0tYilwIEZ0KC4pMTUwIDI0ODcgeSBGaShDLXcpMzM2IGIgRnQoS2lsbCkzNQorYihmcm9tKWcodGhlKWcoY3Vyc29yKWYodG8paSh0aGUpZihwcmV2aW91cylnKHdoaXRlc3BhY2UuKTU1CitiKFRoaXMpMzQgYihpcyloKGRpXDAxM2VyZW4pbSh0KWgodGhhbillIEZpKE0tREVMKTYzMAorMjU5NyB5IEZ0KGIpcyhlY2F1c2UpYyh0aGUpaCh3KW0ob3JkKWYoYilzKG91bmRhcmllcylmKGRpXDAxM2VyLikyNzUKKzI3NTkgeShIZXJlKTQyIGIoaXMpZihobyltKHcpaCh0bylnIEZxKHkpbShhbmspNDcgYiBGdCh0aGUpNDIKK2IodGV4dClnKGJhYyltKGspaChpbiltKHRvKWYodGhlKWcobGluZS4pNzQgYihZKS04IGIoYW5raW5nKTQzCitiKG1lYW5zKWUodG8paChjb3ApbSh5KWgodGhlKWUobW9zdC0pMTUwIDI4NjkgeShyZWNlbiltKHRseS1raWxsZWQpMzMKK2IodGV4dCllKGZyb20pZih0aGUpZyhraWxsKWkoYnVcMDEzZXIuKTE1MCAzMDMxIHkgRmkoQy15KTMzNgorYiBGdChZKS04IGIoYW5rKTMxIGIodGhlKWYobW9zdCloKHJlY2VuKW0odGx5KWgoa2lsbGVkKWYodGV4dClnKGJhYyltCisoaylnKGluKW0odG8paCh0aGUpZShidVwwMTNlcilnKGF0KWgodGhlKWYoY3Vyc29yLikxNTAKKzMxOTIgeSBGaShNLXkpMzM2IGIgRnQoUm90YXRlKTM2IGIodGhlKWYoa2lsbC1yaW5nLClpKGFuZClkKHkpbShhbmspaAorKHRoZSlmKG5ldylnKHRvcC4pNTQgYihZKS04IGIob3UpMzUgYihjYW4pZyhvbmx5KWYoZG8paCh0aGlzKWYoaWYpaAorKHRoZSlnKHByaW9yKTYzMCAzMzAyIHkoY29tbWFuZCkzMCBiKGlzKWggRmkoQy15KWUgRnQob3IpaAorRmkoTS15KXAgRnQoLikxNTAgMzUwMyB5IEZqKDguMi40KTYzIGIoUmVhZGxpbmUpNDAgYihBcmd1bWVuKW0odHMpMTUwCiszNjUwIHkgRnQoWSktOCBiKG91KTQwIGIoY2FuKWYocGFzcylnKG4pbSh1bWVyaWMpZihhcmd1bWVuKW0odHMpaSh0bylmCisoUmVhZGxpbmUpaChjb21tYW5kcy4pNjcgYihTb21ldGltZXMpMzkgYih0aGUpZyhhcmd1bWVuKW0odCloKGFjdHMpMTUwCiszNzYwIHkoYXMpZyhhKWgocmVwKXMoZWF0KWYoY291biltKHQsKWoob3RoZXIpZSh0aW1lcylmKGl0KWgoaXMpZih0aGUpZworRmsoc2lnbik0NyBiIEZ0KG9mKTQxIGIodGhlKWYoYXJndW1lbiltKHQpZyh0aGF0KWgoaXMpZihzaWduaVwwMTRjYW4pbQorKHQuKTcxIGIoSWYpNDAgYih5KW0ob3UpMTUwIDM4NjkgeShwYXNzKTMzIGIoYSloKG5lZ2F0aXYpbShlKWkoYXJndW1lbikKIG0odCllKHRvKWcoYSlnKGNvbW1hbmQpZih3aGljKW0oaClnKG5vcm1hbGx5KWgoYWN0cylnKGluKWYoYSloKGZvcncpbQotKGFyZClmKGRpcmVjdGlvbiwpaSh0aGF0KTE1MCA0NTI1IHkoY29tbWFuZClnKHdpbGwpaChhY3QpZyhpbilmKGEpaAorKGFyZClmKGRpcmVjdGlvbiwpaSh0aGF0KTE1MCAzOTc5IHkoY29tbWFuZClnKHdpbGwpaChhY3QpZyhpbilmKGEpaAogKGJhYyltKGt3KW0oYXJkKWYoZGlyZWN0aW9uLik1NyBiKEYpLTggYihvcikzNiBiKGV4YW1wbGUsKWgodG8pZihraWxsKWcKLSh0ZXh0KWcoYmFjKW0oaylnKHRvKWcodGhlKWcoc3RhcnQpZyhvZikxNTAgNDYzNSB5KHRoZSkzMQorKHRleHQpZyhiYWMpbShrKWcodG8pZyh0aGUpZyhzdGFydClnKG9mKTE1MCA0MDg4IHkodGhlKTMxCiBiKGxpbmUsKWcoeSltKG91KWYobWlnaCltKHQpaCh0KW0oeXApcyhlKWcoYClwIEZzKE0tLSlmKEMtaylwCi1GdCgnLikyNzUgNDc5MiB5KFRoZSlkKGdlbmVyYWwpaSh3KW0oYSltKHkpaCh0byllKHBhc3MpZyhuKW0odW1lcmljKWcKK0Z0KCcuKTI3NSA0MjI1IHkoVGhlKWQoZ2VuZXJhbClpKHcpbShhKW0oeSloKHRvKWUocGFzcylnKG4pbSh1bWVyaWMpZwogKGFyZ3VtZW4pbSh0cyloKHRvKWcoYSlmKGNvbW1hbmQpZyhpcylnKHRvKWgodCltKHlwKXMoZSlmKG1ldGEpaQotKGRpZ2l0cyllKGIpcyhlZm9yZSkxNTAgNDkwMiB5KHRoZSlqKGNvbW1hbmQuKTQyIGIoSWYpMzAKKyhkaWdpdHMpZShiKXMoZWZvcmUpMTUwIDQzMzQgeSh0aGUpaihjb21tYW5kLik0MiBiKElmKTMwCiBiKHRoZSloKFwwMTRyc3QpZihgZGlnaXQnKWkodCltKHlwKXMoZWQpZihpcylnKGEpZyhtaW4pbSh1cylmKHNpZ24paAogKFwoYClwIEZzKC0pcCBGdCgnXCksKWgodGhlbilmKHRoZSlnKHNpZ24pZihvZiloKHRoZSlnKGFyZ3VtZW4pbSh0KTE1MAotNTAxMSB5KHdpbGwpMzkgYihiKXMoZSllKG5lZ2F0aXYpbShlLik2NiBiKE9uY2UpMzggYih5KW0ob3UpaChoYSltKHYpbQorNDQ0NCB5KHdpbGwpMzkgYihiKXMoZSllKG5lZ2F0aXYpbShlLik2NiBiKE9uY2UpMzggYih5KW0ob3UpaChoYSltKHYpbQogKGUpZyh0KW0oeXApcyhlZClmKG9uZSloKG1ldGEpZyhkaWdpdClnKHRvKWYoZ2V0KWkodGhlKWUoYXJndW1lbiltKHQpaAotKHN0YXJ0ZWQsKWkoeSltKG91KTE1MCA1MTIxIHkoY2FuKTI5IGIodCltKHlwKXMoZSlnKHRoZSlnKHJlbWFpbmRlcilmCisoc3RhcnRlZCwpaSh5KW0ob3UpMTUwIDQ1NTQgeShjYW4pMjkgYih0KW0oeXApcyhlKWcodGhlKWcocmVtYWluZGVyKWYKIChvZiloKHRoZSlnKGRpZ2l0cywpaChhbmQpZih0aGVuKWYodGhlKWgoY29tbWFuZC4pNDAKLWIoRiktOCBiKG9yKTMwIGIoZXhhbXBsZSwpZyh0bylmKGdpdiltKGUpaSh0aGUpZSBGaihDLWQpMTUwCi01MjMwIHkgRnQoY29tbWFuZCkzNyBiKGFuKWcoYXJndW1lbiltKHQpaChvZilnKDEwLClpKHkpbShvdSllKGNvdWxkKWYKK2IoRiktOCBiKG9yKTMwIGIoZXhhbXBsZSwpZyh0bylmKGdpdiltKGUpaSh0aGUpZSBGaShDLWQpMTUwCis0NjYzIHkgRnQoY29tbWFuZCkzNyBiKGFuKWcoYXJndW1lbiltKHQpaChvZilnKDEwLClpKHkpbShvdSllKGNvdWxkKWYKICh0KW0oeXApcyhlKWgoYClwIEZzKE0tMSkyOSBiKDApaChDLWQpcCBGdCgnLCkzOSBiKHdoaWMpbShoKWUod2lsbCloCi0oZGVsZXRlKWgodGhlKWUobmV4dCloKHRlbikxNTAgNTM0MCB5KGMpbShoYXJhY3RlcnMpMzIKLWIob24pZSh0aGUpaChpbnB1dCllKGxpbmUuKXAgZW9wIGVuZAorKGRlbGV0ZSloKHRoZSllKG5leHQpaCh0ZW4pMTUwIDQ3NzMgeShjKW0oaGFyYWN0ZXJzKTMyCitiKG9uKWUodGhlKWgoaW5wdXQpZShsaW5lLikxNTAgNDk3NCB5IEZqKDguMi41KTYzIGIoU2VhcmMpbShoaW5nKTQwCitiKGZvcilpKENvbW1hbmRzKWcoaW4pZih0aGUpZyhIaXN0b3J5KTE1MCA1MTIxIHkgRnQoUmVhZGxpbmUpMzUKK2IocHJvKW0odmlkZXMpZihjb21tYW5kcylnKGZvcilnKHNlYXJjKW0oaGluZyloKHRocm91Z2gpZSh0aGUpaQorKGNvbW1hbmQpZihoaXN0b3J5KWcoXChzZWUpaChTZWN0aW9uKWcoOS4xKTE1MCA1MjMwIHkoW0Jhc2gpaShIaXN0b3J5KWgKKyhGKS04IGIoYWNpbGl0aWVzXSwpNDIgYihwYWdlKTM3IGIoMTIxXCkpaShmb3IpZChsaW5lcyloKGNvbiltKHRhaW5pbmcpCitpKGEpZShzcClzKGVjaVwwMTRlZClmKHN0cmluZy4pNjAgYihUaGVyZSkzNiBiKGFyZSlpKHQpbSh3KW0obykxNTAKKzUzNDAgeShzZWFyYyltKGgpMzEgYihtbylzKGRlczopNDAgYiBGcShpbmNyZW1lbiltKHRhbCkzNQorYiBGdChhbmQpMzAgYiBGcShub24taW5jcmVtZW4pbSh0YWwpcCBGdCguKXAgZW9wIGVuZAogJSVQYWdlOiA5NiAxMDIKIFRlWERpY3QgYmVnaW4gOTYgMTAxIGJvcCAxNTAgLTExNiBhIEZ0KDk2KTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRmsoOC4yLjUpNjMgYihTZWFyYyltKGhpbmcpNDAKLWIoZm9yKWkoQ29tbWFuZHMpZyhpbilmKHRoZSlnKEhpc3RvcnkpMjc1IDU0MCB5IEZ0KFJlYWRsaW5lKTIzCi1iKHBybyltKHZpZGVzKWcoY29tbWFuZHMpZihmb3IpaChzZWFyYyltKGhpbmcpaCh0aHJvdWdoKWUodGhlKWgKLShjb21tYW5kKWcoaGlzdG9yeSlmKFwoc2VlKWkoU2VjdGlvbilnKDkuMSkxNTAgNjQ5IHkoW0Jhc2gpMzcKLWIoSGlzdG9yeSloKEYpLTggYihhY2lsaXRpZXNdLCk0MiBiKHBhZ2UpMzcgYigxMjFcKSlpKGZvcilkKGxpbmVzKWgKLShjb24pbSh0YWluaW5nKWkoYSllKHNwKXMoZWNpXDAxNGVkKWYoc3RyaW5nLik2MCBiKFRoZXJlKTM2Ci1iKGFyZSlpKHQpbSh3KW0obykxNTAgNzU5IHkoc2VhcmMpbShoKTMxIGIobW8pcyhkZXM6KTQwCi1iIEZxKGluY3JlbWVuKW0odGFsKTM1IGIgRnQoYW5kKTMwIGIgRnEobm9uLWluY3JlbWVuKW0odGFsKXAKLUZ0KC4pMjc1IDg5MCB5KEluY3JlbWVuKW0odGFsKWMoc2VhcmMpbShoZXMpaChiKXMoZWdpbillKGIpcyhlZm9yZSlnCi0odGhlKWgodXNlcilmKGhhcyloKFwwMTRuaXNoZWQpZSh0KW0oeXBpbmcpaSh0aGUpZyhzZWFyYyltKGgpZyhzdHJpbmcuKQotMzkgYihBcykyNiBiKGVhYyltKGgpMTUwIDEwMDAgeShjKW0oaGFyYWN0ZXIpMzcgYihvZillKHRoZSloKHNlYXJjKW0oaCkKLWcoc3RyaW5nKWYoaXMpaCh0KW0oeXApcyhlZCwpZyhSZWFkbGluZSlnKGRpc3BsYSltKHlzKWcodGhlKWYobmV4dCloCi0oZW4pbSh0cnkpZyhmcm9tKWUodGhlKWkoaGlzdG9yeSkxNTAgMTEwOSB5KG1hdGMpbShoaW5nKTI1Ci1iKHRoZSlmKHN0cmluZylnKHQpbSh5cClzKGVkKWcoc28pZyhmYXIuKTM5IGIoQW4pMjMgYihpbmNyZW1lbiltKHRhbClqCi0oc2VhcmMpbShoKWUocmVxdWlyZXMpZyhvbmx5KWcoYXMpZyhtYW4pbSh5KWcoYyltKGhhcmFjdGVycylpKGFzKTE1MAotMTIxOSB5KG5lZWRlZClpKHRvKWkoXDAxNG5kKWQodGhlKWkoZGVzaXJlZClmKGhpc3RvcnkpaChlbiltKHRyeSktOAotYiguKTQxIGIoVCktOCBiKG8pMjkgYihzZWFyYyltKGgpaChiYWMpbShrdyltKGFyZClmKGluKWYodGhlKWgoaGlzdG9yeSkKLWcoZm9yKWYoYSlpKHBhcnRpY3VsYXIpMTUwIDEzMjkgeShzdHJpbmcsKWcodCltKHlwKXMoZSlmCi1GaihDLXIpcCBGdCguKTQwIGIoVCltKHlwaW5nKTI5IGIgRmooQy1zKWcgRnQoc2VhcmMpbShoZXMpaChmb3J3KW0oYXJkKQotZih0aHJvdWdoKWcodGhlKWcoaGlzdG9yeSktOCBiKC4pNDEgYihUaGUpMjkgYihjKW0oaGFyYWN0ZXJzKWkocHJlc2VuKW0KLSh0KTE1MCAxNDM4IHkoaW4pMzggYih0aGUpZyh2KS01IGIoYWx1ZSkzOCBiKG9mKWcodGhlKWcKLUZzKGlzZWFyY2gtdGVybWluYXRvcnMpMzMgYiBGdCh2KS01IGIoYXJpYWJsZSkzOSBiKGFyZSlmKHVzZWQpZih0bylpCi0odGVybWluYXRlKWcoYW4pZihpbmNyZW1lbiltKHRhbCkxNTAgMTU0OCB5KHNlYXJjKW0oaC4pNjMKLWIoSWYpMzggYih0aGF0KWcodiktNSBiKGFyaWFibGUpMzggYihoYXMpZyhub3QpZyhiKXMoZWVuKWYoYXNzaWduZWQpaAotKGEpZyh2KS01IGIoYWx1ZSwpNDAgYih0aGUpMjU3OCAxNTQ1IHkgRmcoaClwIDI2MDIgMTQ5MgotMTM5IDQgdiAyNjAyIDE1NDggYSBGZihFU0MpcCAyNjAyIDE1NjMgViAyNzM2IDE1NDUgYQotRmcoaSkyODA0IDE1NDggeSBGdChhbmQpZCBGaihDLUopZiBGdChjKW0oaGFyYWN0ZXJzKWsod2lsbCkxNTAKLTE2NTcgeSh0ZXJtaW5hdGUpaihhbilnKGluY3JlbWVuKW0odGFsKWcoc2VhcmMpbShoLik3OAotYiBGaihDLWcpNDEgYiBGdCh3aWxsKWkoYWIpcyhvcnQpZihhbilnKGluY3JlbWVuKW0odGFsKWkoc2VhcmMpbShoKWYKLShhbmQpZihyZXN0b3JlKWgodGhlKTE1MCAxNzY3IHkob3JpZ2luYWwpMzAgYihsaW5lLik0MQorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMjc1IDI5OSB5KEluY3JlbWVuKW0odGFsKTI2IGIoc2VhcmMpbShoZXMpaChiKXMKKyhlZ2luKWUoYilzKGVmb3JlKWcodGhlKWgodXNlcilmKGhhcyloKFwwMTRuaXNoZWQpZSh0KW0oeXBpbmcpaSh0aGUpZworKHNlYXJjKW0oaClnKHN0cmluZy4pMzkgYihBcykyNiBiKGVhYyltKGgpMTUwIDQwOCB5KGMpbShoYXJhY3RlcikzNworYihvZillKHRoZSloKHNlYXJjKW0oaClnKHN0cmluZylmKGlzKWgodCltKHlwKXMoZWQsKWcoUmVhZGxpbmUpZworKGRpc3BsYSltKHlzKWcodGhlKWYobmV4dCloKGVuKW0odHJ5KWcoZnJvbSllKHRoZSlpKGhpc3RvcnkpMTUwCis1MTggeShtYXRjKW0oaGluZykyNSBiKHRoZSlmKHN0cmluZylnKHQpbSh5cClzKGVkKWcoc28pZyhmYXIuKTM5CitiKEFuKTIzIGIoaW5jcmVtZW4pbSh0YWwpaihzZWFyYyltKGgpZShyZXF1aXJlcylnKG9ubHkpZyhhcylnKG1hbiltKHkpZworKGMpbShoYXJhY3RlcnMpaShhcykxNTAgNjI4IHkobmVlZGVkKWkodG8paShcMDE0bmQpZCh0aGUpaShkZXNpcmVkKWYKKyhoaXN0b3J5KWgoZW4pbSh0cnkpLTggYiguKTQxIGIoVCktOCBiKG8pMjkgYihzZWFyYyltKGgpaChiYWMpbShrdyltCisoYXJkKWYoaW4pZih0aGUpaChoaXN0b3J5KWcoZm9yKWYoYSlpKHBhcnRpY3VsYXIpMTUwCis3MzcgeShzdHJpbmcsKWcodCltKHlwKXMoZSlmIEZpKEMtcilwIEZ0KC4pNDAgYihUKW0oeXBpbmcpMjkKK2IgRmkoQy1zKWcgRnQoc2VhcmMpbShoZXMpaChmb3J3KW0oYXJkKWYodGhyb3VnaClnKHRoZSlnKGhpc3RvcnkpLTgKK2IoLik0MSBiKFRoZSkyOSBiKGMpbShoYXJhY3RlcnMpaShwcmVzZW4pbSh0KTE1MCA4NDcKK3koaW4pMzggYih0aGUpZyh2KS01IGIoYWx1ZSkzOCBiKG9mKWcodGhlKWcgRnMoaXNlYXJjaC10ZXJtaW5hdG9ycykzMworYiBGdCh2KS01IGIoYXJpYWJsZSkzOSBiKGFyZSlmKHVzZWQpZih0bylpKHRlcm1pbmF0ZSlnKGFuKWYoaW5jcmVtZW4pbQorKHRhbCkxNTAgOTU2IHkoc2VhcmMpbShoLik3MSBiKElmKTQwIGIodGhhdCloKHYpLTUgYihhcmlhYmxlKTQxCitiKGhhcylmKG5vdCloKGIpcyhlZW4pZShhc3NpZ25lZClpKGEpZih2KS01IGIoYWx1ZSwpNDQKK2IodGhlKWMgRnMoRVNDKWcgRnQoYW5kKWYgRmkoQy1KKWggRnQoYyltKGhhcmFjdGVycylpKHdpbGwpMTUwCisxMDY2IHkodGVybWluYXRlKWgoYW4pZyhpbmNyZW1lbiltKHRhbClnKHNlYXJjKW0oaC4pNzgKK2IgRmkoQy1nKTQxIGIgRnQod2lsbClpKGFiKXMob3J0KWYoYW4pZyhpbmNyZW1lbiltKHRhbClpKHNlYXJjKW0oaClmCisoYW5kKWYocmVzdG9yZSloKHRoZSkxNTAgMTE3NiB5KG9yaWdpbmFsKTMwIGIobGluZS4pNDEKIGIoV2hlbikyOCBiKHRoZSloKHNlYXJjKW0oaCloKGlzKWYodGVybWluYXRlZCwpaCh0aGUpZihoaXN0b3J5KWcoZW4pbQotKHRyeSlnKGNvbiltKHRhaW5pbmcpaCh0aGUpZihzZWFyYyltKGgpaChzdHJpbmcpMTUwIDE4NzcKLXkoYilzKGVjb21lcyloKHRoZSlmKGN1cnJlbiltKHQpZyhsaW5lLikyNzUgMjAwOCB5KFQpLTgKKyh0cnkpZyhjb24pbSh0YWluaW5nKWgodGhlKWYoc2VhcmMpbShoKWgoc3RyaW5nKTE1MCAxMjg1Cit5KGIpcyhlY29tZXMpaCh0aGUpZihjdXJyZW4pbSh0KWcobGluZS4pMjc1IDE0MjggeShUKS04CiBiKG8pMzEgYihcMDE0bmQpZShvdGhlcilqKG1hdGMpbShoaW5nKWcoZW4pbSh0cmllcylnKGluKWUodGhlKWgKLShoaXN0b3J5KWcobGlzdCwpaCh0KW0oeXApcyhlKWcgRmooQy1yKWUgRnQob3IpaCBGaihDLXMpZgotRnQoYXMpaChhcHByb3ByaWF0ZS4pNDMgYihUaGlzKTE1MCAyMTE3IHkod2lsbCkyNiBiKHNlYXJjKW0oaCloKGJhYyltCisoaGlzdG9yeSlnKGxpc3QsKWgodCltKHlwKXMoZSlnIEZpKEMtcillIEZ0KG9yKWggRmkoQy1zKWYKK0Z0KGFzKWgoYXBwcm9wcmlhdGUuKTQzIGIoVGhpcykxNTAgMTUzNyB5KHdpbGwpMjYgYihzZWFyYyltKGgpaChiYWMpbQogKGt3KW0oYXJkKWcob3IpZihmb3J3KW0oYXJkKWcoaW4pZih0aGUpaShoaXN0b3J5KWYoZm9yKWcodGhlKWcobmV4dClnCiAoZW4pbSh0cnkpaChtYXRjKW0oaGluZylnKHRoZSlmKHNlYXJjKW0oaCloKHN0cmluZykxNTAKLTIyMjcgeSh0KW0oeXApcyhlZCkzNyBiKHNvKWgoZmFyLik2MyBiKEFuKW0oeSkzOCBiKG90aGVyKWYoayltKGV5KWkKKzE2NDcgeSh0KW0oeXApcyhlZCkzNyBiKHNvKWgoZmFyLik2MyBiKEFuKW0oeSkzOCBiKG90aGVyKWYoayltKGV5KWkKIChzZXF1ZW5jZSlmKGIpcyhvdW5kKWUodG8paShhKWcoUmVhZGxpbmUpaChjb21tYW5kKWUod2lsbCloKHRlcm1pbmF0ZSloCi0odGhlKTE1MCAyMzM3IHkoc2VhcmMpbShoKTIyIGIoYW5kKWUoZXhlY3V0ZSlqKHRoYXQpZShjb21tYW5kLikzOAotYihGKS04IGIob3IpMjIgYihpbnN0YW5jZSwpaChhKTIxMjcgMjMzNCB5IEZnKGgpcCAyMTUxCi0yMjgxIDE1MSA0IHYgMjE1MSAyMzM3IGEgRmYoUkVUKXAgMjE1MSAyMzUyIFYgMjI5OCAyMzM0Ci1hIEZnKGkpMjM0OSAyMzM3IHkgRnQod2lsbCllKHRlcm1pbmF0ZSloKHRoZSlmKHNlYXJjKW0oaCloKGFuZCllCi0oYWNjZXB0KTE1MCAyNDQ2IHkodGhlKTMwIGIobGluZSwpZyh0aGVyZWIpbSh5KWYoZXhlY3V0aW5nKWkodGhlKWUKLShjb21tYW5kKWcoZnJvbSlnKHRoZSloKGhpc3RvcnkpZihsaXN0Lik0MSBiKEEpMjkgYihtbyltKHYpbShlbWVuKW0odClqCi0oY29tbWFuZClkKHdpbGwpMTUwIDI1NTYgeSh0ZXJtaW5hdGUpaSh0aGUpZyhzZWFyYyltKGgsKWcobWFrKW0oZSloCi0odGhlKWUobGFzdCloKGxpbmUpZyhmb3VuZCllKHRoZSlpKGN1cnJlbiltKHQpZihsaW5lLCloKGFuZClmKGIpcyhlZ2luKQotZyhlZGl0aW5nLikyNzUgMjY4NyB5KFJlYWRsaW5lKTM1IGIocmVtZW0pbShiKXMoZXJzKWYodGhlKWgobGFzdCloCi0oaW5jcmVtZW4pbSh0YWwpZyhzZWFyYyltKGgpZihzdHJpbmcuKTU0IGIoSWYpMzQgYih0KW0odyltKG8pagotRmooQy1yKXAgRnQocyljKGFyZSlpKHQpbSh5cClzKGVkKWcod2l0aG91dCkxNTAgMjc5NwoteShhbiltKHkpaShpbiltKHRlcnYpbShlbmluZylnKGMpbShoYXJhY3RlcnMpaChkZVwwMTRuaW5nKWUoYSloKG5ldylmCi0oc2VhcmMpbShoKWgoc3RyaW5nLCloKGFuKW0oeSlmKHJlbWVtKW0oYilzKGVyZWQpZShzZWFyYyltKGgpaShzdHJpbmcpZwotKGlzKTE1MCAyOTA2IHkodXNlZC4pMjc1IDMwMzcgeShOb24taW5jcmVtZW4pbSh0YWwpNDgKLWIoc2VhcmMpbShoZXMpZyhyZWFkKWUodGhlKWgoZW4pbSh0aXJlKWgoc2VhcmMpbShoKWYoc3RyaW5nKWcoYilzCi0oZWZvcmUpZihzdGFydGluZyloKHRvKWgoc2VhcmMpbShoKWYoZm9yKTE1MCAzMTQ3IHkobWF0YyltKGhpbmcpZAotKGhpc3RvcnkpZShsaW5lcy4pNzggYihUaGUpNDIgYihzZWFyYyltKGgpaChzdHJpbmcpZyhtYSltKHkpZyhiKXMoZSlmCi0odCltKHlwKXMoZWQpZyhiKW0oeSlnKHRoZSloKHVzZXIpZihvciloKGIpcyhlKWYocGFydClnKG9mKWgodGhlKTE1MAotMzI1NyB5KGNvbiltKHRlbiltKHRzKTMyIGIob2YpZih0aGUpZihjdXJyZW4pbSh0KWcobGluZS4pMTUwCi0zNTA0IHkgRnIoOC4zKTY4IGIoUmVhZGxpbmUpNDcgYihJbml0KWUoRmlsZSkyNzUgMzc0NQoteSBGdChBbHRob3VnaClnKHRoZSlnKFJlYWRsaW5lKWgobGlicmFyeSllKGNvbWVzKWkod2l0aClmKGEpaChzZXQpZihvZikKLWcoRW1hY3MtbGlrKW0oZSlpKGspbShleWJpbmRpbmdzKWUoaW5zdGFsbGVkKTE1MCAzODU1Ci15KGIpbSh5KWQoZGVmYXVsdCwpaShpdClmKGlzKWUocClzKG9zc2libGUpZyh0bylpKHVzZSllKGEpaChkaVwwMTNlcmVuKQotbSh0KWcoc2V0KWcob2YpZyhrKW0oZXliaW5kaW5ncy4pNzQgYihBbiltKHkpNDIgYih1c2VyKWYoY2FuKWgKLShjdXN0b21pemUpMTUwIDM5NjQgeShwcm9ncmFtcykzMiBiKHRoYXQpaCh1c2UpZihSZWFkbGluZSloKGIpbSh5KWcKLShwdXR0aW5nKWYoY29tbWFuZHMpZyhpbilnKGFuKWcgRnEoaW5wdXRyYykzNyBiIEZ0KFwwMTRsZSwpZChjb24pbSh2KW0KLShlbiltKHRpb25hbGx5KWgoaW4pZChoaXMpMTUwIDQwNzQgeShob21lKWQoZGlyZWN0b3J5KS04Ci1iKC4pNDEgYihUaGUpMjggYihuYW1lKWcob2YpaCh0aGlzKWcoXDAxNGxlKWYoaXMpaCh0YWspbShlbiloKGZyb20pZQotKHRoZSloKHYpLTUgYihhbHVlKTI5IGIob2YpZyh0aGUpZihzaGVsbCloKHYpLTUgYihhcmlhYmxlKTMwCi1iIEZzKElOUFVUUkMpcCBGdCguKTE1MCA0MTg0IHkoSWYpayh0aGF0KWcodiktNSBiKGFyaWFibGUpMzUKLWIoaXMpZyh1bnNldCwpZyh0aGUpZihkZWZhdWx0KWcoaXMpZyhgKXAgRnMofi8uaW5wdXRyYylwCi1GdCgnLik1MCBiKElmKTM0IGIodGhhdCloKFwwMTRsZSlmKGRvKXMoZXMpZyhub3QpZyhleGlzdCloKG9yKWYoY2Fubm90KQotMTUwIDQyOTMgeShiKXMoZSljKHJlYWQsKWcodGhlKWgodWx0aW1hdGUpZyhkZWZhdWx0KWcoaXMpZihgKXAKLUZzKC9ldGMvaW5wdXRyYylwIEZ0KCcuKTI3NSA0NDI1IHkoV2hlbilmKGEpaChwcm9ncmFtKWYod2hpYyltKGgpaAotKHVzZXMpZih0aGUpaChSZWFkbGluZSlnKGxpYnJhcnkpZihzdGFydHMpaCh1cCwpZih0aGUpaChpbml0KWcoXDAxNGxlKWYKLShpcyloKHJlYWQsKWcoYW5kKWYodGhlKTE1MCA0NTM0IHkoayltKGV5KWkoYmluZGluZ3MpZShhcmUpaShzZXQuKTI3NQotNDY2NSB5KEluKTI2IGIoYWRkaXRpb24sKWkodGhlKWYgRnMoQy14KWkoQy1yKWQgRnQoY29tbWFuZCloKHJlLXJlYWRzKWcKKyh0aGUpMTUwIDE3NTcgeShzZWFyYyltKGgpMjYgYihhbmQpZihleGVjdXRlKWkodGhhdClmKGNvbW1hbmQuKTM5CitiKEYpLTggYihvcikyNiBiKGluc3RhbmNlLCloKGEpZiBGcyhSRVQpZiBGdCh3aWxsKWcodGVybWluYXRlKWkodGhlKWYKKyhzZWFyYyltKGgpZyhhbmQpZShhY2NlcHQpMTUwIDE4NjYgeSh0aGUpMzAgYihsaW5lLClnKHRoZXJlYiltKHkpZgorKGV4ZWN1dGluZylpKHRoZSllKGNvbW1hbmQpZyhmcm9tKWcodGhlKWgoaGlzdG9yeSlmKGxpc3QuKTQxCitiKEEpMjkgYihtbyltKHYpbShlbWVuKW0odClqKGNvbW1hbmQpZCh3aWxsKTE1MCAxOTc2Cit5KHRlcm1pbmF0ZSlpKHRoZSlnKHNlYXJjKW0oaCwpZyhtYWspbShlKWgodGhlKWUobGFzdCloKGxpbmUpZyhmb3VuZCllCisodGhlKWkoY3VycmVuKW0odClmKGxpbmUsKWgoYW5kKWYoYilzKGVnaW4pZyhlZGl0aW5nLikyNzUKKzIxMTkgeShSZWFkbGluZSkzNSBiKHJlbWVtKW0oYilzKGVycylmKHRoZSloKGxhc3QpaChpbmNyZW1lbiltKHRhbClnCisoc2VhcmMpbShoKWYoc3RyaW5nLik1NCBiKElmKTM0IGIodCltKHcpbShvKWogRmkoQy1yKXAKK0Z0KHMpYyhhcmUpaSh0KW0oeXApcyhlZClnKHdpdGhvdXQpMTUwIDIyMjggeShhbiltKHkpaShpbiltKHRlcnYpbQorKGVuaW5nKWcoYyltKGhhcmFjdGVycyloKGRlXDAxNG5pbmcpZShhKWgobmV3KWYoc2VhcmMpbShoKWgoc3RyaW5nLCloCisoYW4pbSh5KWYocmVtZW0pbShiKXMoZXJlZCllKHNlYXJjKW0oaClpKHN0cmluZylnKGlzKTE1MAorMjMzOCB5KHVzZWQuKTI3NSAyNDgwIHkoTm9uLWluY3JlbWVuKW0odGFsKTQ4IGIoc2VhcmMpbShoZXMpZyhyZWFkKWUKKyh0aGUpaChlbiltKHRpcmUpaChzZWFyYyltKGgpZihzdHJpbmcpZyhiKXMoZWZvcmUpZihzdGFydGluZyloKHRvKWgKKyhzZWFyYyltKGgpZihmb3IpMTUwIDI1OTAgeShtYXRjKW0oaGluZylkKGhpc3RvcnkpZShsaW5lcy4pNzgKK2IoVGhlKTQyIGIoc2VhcmMpbShoKWgoc3RyaW5nKWcobWEpbSh5KWcoYilzKGUpZih0KW0oeXApcyhlZClnKGIpbSh5KWcKKyh0aGUpaCh1c2VyKWYob3IpaChiKXMoZSlmKHBhcnQpZyhvZiloKHRoZSkxNTAgMjcwMCB5KGNvbiltKHRlbiltKHRzKTMyCitiKG9mKWYodGhlKWYoY3VycmVuKW0odClnKGxpbmUuKTE1MCAyOTQ0IHkgRnIoOC4zKTY4CitiKFJlYWRsaW5lKTQ3IGIoSW5pdCllKEZpbGUpMTUwIDMxMDQgeSBGdChBbHRob3VnaClmKHRoZSlnKFJlYWRsaW5lKWcKKyhsaWJyYXJ5KWYoY29tZXMpaSh3aXRoKWUoYSloKHNldCloKG9mKWYoRW1hY3MtbGlrKW0oZSloKGspbQorKGV5YmluZGluZ3MpZihpbnN0YWxsZWQpZyhiKW0oeSkxNTAgMzIxMyB5KGRlZmF1bHQsKTI2CitiKGl0KWcoaXMpZShwKXMob3NzaWJsZSloKHRvKWcodXNlKWYoYSlpKGRpXDAxM2VyZW4pbSh0KWYoc2V0KWcob2YpZyhrKQorbShleWJpbmRpbmdzLikzOCBiKEFuKW0oeSkyNSBiKHVzZXIpZihjYW4paChjdXN0b21pemUpaChwcm9ncmFtcykxNTAKKzMzMjMgeSh0aGF0KTQ1IGIodXNlKWYoUmVhZGxpbmUpaChiKW0oeSlmKHB1dHRpbmcpZyhjb21tYW5kcylnKGluKWcoYW4pCitnIEZxKGlucHV0cmMpNDkgYiBGdChcMDE0bGUsKWcoY29uKW0odiltKGVuKW0odGlvbmFsbHkpZShpbilkKGhpcylnCisoaG9tZSkxNTAgMzQzMyB5KGRpcmVjdG9yeSktOCBiKC4pNTkgYihUaGUpMzUgYihuYW1lKWkob2YpZih0aGlzKWcKKyhcMDE0bGUpZyhpcylnKHRhayltKGVuKWgoZnJvbSlmKHRoZSlnKHYpLTUgYihhbHVlKTM3CitiKG9mKWYodGhlKWcoc2hlbGwpaCh2KS01IGIoYXJpYWJsZSkzNiBiIEZzKElOUFVUUkMpcAorRnQoLik1NiBiKElmKTE1MCAzNTQyIHkodGhhdCkzMyBiKHYpLTUgYihhcmlhYmxlKTMzIGIoaXMpZyh1bnNldCwpZgorKHRoZSloKGRlZmF1bHQpZihpcyloKGApcCBGcyh+Ly5pbnB1dHJjKXAgRnQoJy4pNDQgYihJZikzMgorYih0aGF0KWgoXDAxNGxlKWYoZG8pcyhlcylnKG5vdCloKGV4aXN0KWcob3IpZyhjYW5ub3QpZyhiKXMoZSkxNTAKKzM2NTIgeShyZWFkLCllKHRoZSlmKHVsdGltYXRlKWkoZGVmYXVsdCllKGlzKWgoYClwIEZzKC9ldGMvaW5wdXRyYylwCitGdCgnLikyNzUgMzc5NCB5KFdoZW4pZShhKWgocHJvZ3JhbSlmKHdoaWMpbShoKWgodXNlcylmKHRoZSloKFJlYWRsaW5lKQorZyhsaWJyYXJ5KWYoc3RhcnRzKWgodXAsKWYodGhlKWgoaW5pdClnKFwwMTRsZSlmKGlzKWgocmVhZCwpZyhhbmQpZgorKHRoZSkxNTAgMzkwNCB5KGspbShleSlpKGJpbmRpbmdzKWUoYXJlKWkoc2V0LikyNzUgNDA0NworeShJbikyNiBiKGFkZGl0aW9uLClpKHRoZSlmIEZzKEMteClpKEMtcilkIEZ0KGNvbW1hbmQpaChyZS1yZWFkcylnCiAodGhpcylmKGluaXQpaChcMDE0bGUsKWgodGgpbSh1cylmKGluY29ycClzKG9yYXRpbmcpZyhhbiltKHkpZyhjKW0KLShoYW5nZXMpMTUwIDQ3NzUgeSh0aGF0KWsoeSltKG91KWcobWlnaCltKHQpZyhoYSltKHYpbShlKWcobWFkZSlnKHRvKWcKLShpdC4pMTUwIDQ5OTAgeSBGayg4LjMuMSk2MyBiKFJlYWRsaW5lKTQwIGIoSW5pdCloKEZpbGUpZyhTeW4pbSh0YXgpMjc1Ci01MjMwIHkgRnQoVGhlcmUpMzMgYihhcmUpaChvbmx5KWcoYSlnKGZldylmKGJhc2ljKWgoY29uc3RydWN0cylnKGFsbG8pbQotKHcpbShlZCloKGluKWYodGhlKWcoUmVhZGxpbmUpZyhpbml0KWcoXDAxNGxlLik1MSBiKEJsYW5rKTM0Ci1iKGxpbmVzKWcoYXJlKTE1MCA1MzQwIHkoaWdub3JlZC4pNzIgYihMaW5lcyk0MSBiKGIpcyhlZ2lubmluZylmKHdpdGgpaAorKGhhbmdlcykxNTAgNDE1NiB5KHRoYXQpayh5KW0ob3UpZyhtaWdoKW0odClnKGhhKW0odiltKGUpZyhtYWRlKWcodG8pZworKGl0LikxNTAgNDM2NCB5IEZqKDguMy4xKTYzIGIoUmVhZGxpbmUpNDAgYihJbml0KWgoRmlsZSlnKFN5biltKHRheCkxNTAKKzQ1MTEgeSBGdChUaGVyZSlmKGFyZSlpKG9ubHkpZihhKWcoZmV3KWcoYmFzaWMpZyhjb25zdHJ1Y3RzKWgoYWxsbyltKHcpCittKGVkKWgoaW4pZCh0aGUpaChSZWFkbGluZSloKGluaXQpZihcMDE0bGUuKTczIGIoQmxhbmspNDEKK2IobGluZXMpaChhcmUpMTUwIDQ2MjAgeShpZ25vcmVkLik3MiBiKExpbmVzKTQxIGIoYilzKGVnaW5uaW5nKWYod2l0aCloCiAoYSlnKGApcCBGcygjKXAgRnQoJylnKGFyZSloKGNvbW1lbiltKHRzLik3MyBiKExpbmVzKTQxCi1iKGIpcyhlZ2lubmluZylmKHdpdGgpZyhhKWkoYClwIEZzKCQpcCBGdCgnKWYoaW5kaWNhdGUpcAorYihiKXMoZWdpbm5pbmcpZih3aXRoKWcoYSlpKGApcCBGcygkKXAgRnQoJylmKGluZGljYXRlKTE1MAorNDczMCB5KGNvbmRpdGlvbmFsKWUoY29uc3RydWN0cylmKFwoc2VlKWcoU2VjdGlvbiloKDguMy4yKWcKKyhbQ29uZGl0aW9uYWwpZyhJbml0KWUoQ29uc3RydWN0c10sKWoocGFnZSllKDEwMlwpLik2NAorYihPdGhlcikxNTAgNDgzOSB5KGxpbmVzKTMxIGIoZGVub3RlKWcodiktNSBiKGFyaWFibGUpMzEKK2Ioc2V0dGluZ3MpZyhhbmQpZihrKW0oZXkpaChiaW5kaW5ncy4pMTUwIDUwMTEgeShWKS04CitiKGFyaWFibGUpMzIgYihTZXR0aW5ncyk2MzAgNTEyMSB5KFkpLTggYihvdSk0MSBiKGNhbilnKG1vKXMoZGlmeSllCisodGhlKWkocnVuLXRpbWUpZihiKXMoZWhhKW0odmlvcilnKG9mKWgoUmVhZGxpbmUpZyhiKW0oeSlmKGFsdGVyaW5nKWgKKyh0aGUpZyh2KS01IGIoYWx1ZXMpNDEgYihvZik2MzAgNTIzMCB5KHYpLTUgYihhcmlhYmxlcykzNAorYihpbilmKFJlYWRsaW5lKWkodXNpbmcpZSh0aGUpZyBGcyhzZXQpZyBGdChjb21tYW5kKWcod2l0aGluKWcodGhlKWgKKyhpbml0KWcoXDAxNGxlLik1MCBiKFRoZSkzMyBiKHN5biltKHRheCk2MzAgNTM0MCB5KGlzKWQoc2ltcGxlOilwCiBlb3AgZW5kCiAlJVBhZ2U6IDk3IDEwMwogVGVYRGljdCBiZWdpbiA5NyAxMDIgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDg6KTQxCi1iKENvbW1hbmQpMjkgYihMaW5lKWkoRWRpdGluZykyMTA3IGIoOTcpMTUwIDI5OSB5KGNvbmRpdGlvbmFsKTM5Ci1iKGNvbnN0cnVjdHMpZihcKHNlZSlnKFNlY3Rpb24paCg4LjMuMilnKFtDb25kaXRpb25hbClnKEluaXQpZQotKENvbnN0cnVjdHNdLClqKHBhZ2UpZSgxMDJcKS4pNjQgYihPdGhlcikxNTAgNDA4IHkobGluZXMpMzEKLWIoZGVub3RlKWcodiktNSBiKGFyaWFibGUpMzEgYihzZXR0aW5ncylnKGFuZClmKGspbShleSloKGJpbmRpbmdzLikxNTAKLTU3MSB5KFYpLTggYihhcmlhYmxlKTMyIGIoU2V0dGluZ3MpNjMwIDY4MSB5KFkpLTggYihvdSk0MQotYihjYW4pZyhtbylzKGRpZnkpZSh0aGUpaShydW4tdGltZSlmKGIpcyhlaGEpbSh2aW9yKWcob2YpaChSZWFkbGluZSlnCi0oYiltKHkpZihhbHRlcmluZyloKHRoZSlnKHYpLTUgYihhbHVlcyk0MSBiKG9mKTYzMCA3OTAKLXkodiktNSBiKGFyaWFibGVzKTM0IGIoaW4pZihSZWFkbGluZSlpKHVzaW5nKWUodGhlKWcKLUZzKHNldClnIEZ0KGNvbW1hbmQpZyh3aXRoaW4pZyh0aGUpaChpbml0KWcoXDAxNGxlLik1MAotYihUaGUpMzMgYihzeW4pbSh0YXgpNjMwIDkwMCB5KGlzKWQoc2ltcGxlOik4NzAgMTAzNgoteSBGcyhzZXQpNDcgYiBGaih2YXJpYWJsZSk1NiBiKHZhbHVlKTYzMCAxMTcxIHkgRnQoSGVyZSwpMjkKLWIoZm9yKWUoZXhhbXBsZSwpaChpcylnKGhvKW0odylmKHRvKWgoYyltKGhhbmdlKWcoZnJvbSlmKHRoZSlnKGRlZmF1bHQpCi1oKEVtYWNzLWxpayltKGUpaChrKW0oZXkpZihiaW5kaW5nKWUodG8pNjMwIDEyODEgeSh1c2UpawotRnModmkpZyBGdChsaW5lKWgoZWRpdGluZylnKGNvbW1hbmRzOik4NzAgMTQxNyB5IEZzKHNldCk0NwotYihlZGl0aW5nLW1vZGUpZCh2aSk2MzAgMTU1MiB5IEZ0KFYpLTggYihhcmlhYmxlKTM2IGIobmFtZXMpZihhbmQpZyh2KQotLTUgYihhbHVlcywpMzYgYih3aGVyZSlmKGFwcHJvcHJpYXRlLCloKGFyZSlnKHJlY29nbml6ZWQpZyh3aXRob3V0KWYKLShyZWdhcmQpNjMwIDE2NjIgeSh0byljKGNhc2UuKTQyIGIoVW5yZWNvZ25pemVkKTMxIGIodiktNQotYihhcmlhYmxlKTMxIGIobmFtZXMpZyhhcmUpZihpZ25vcmVkLik2MzAgMTc5NyB5KEJvKXMob2xlYW4pYyh2KS01CitiKENvbW1hbmQpMjkgYihMaW5lKWkoRWRpdGluZykyMTA3IGIoOTcpODcwIDI5OSB5IEZzKHNldCk0NworYiBGaSh2YXJpYWJsZSk1NiBiKHZhbHVlKTYzMCA0NDUgeSBGdChIZXJlLCkyOSBiKGZvcillKGV4YW1wbGUsKWgoaXMpZworKGhvKW0odylmKHRvKWgoYyltKGhhbmdlKWcoZnJvbSlmKHRoZSlnKGRlZmF1bHQpaChFbWFjcy1saWspbShlKWgoayltCisoZXkpZihiaW5kaW5nKWUodG8pNjMwIDU1NSB5KHVzZSlrIEZzKHZpKWcgRnQobGluZSloKGVkaXRpbmcpZworKGNvbW1hbmRzOik4NzAgNzAxIHkgRnMoc2V0KTQ3IGIoZWRpdGluZy1tb2RlKWQodmkpNjMwCis4NDcgeSBGdChWKS04IGIoYXJpYWJsZSkzNiBiKG5hbWVzKWYoYW5kKWcodiktNSBiKGFsdWVzLCkzNgorYih3aGVyZSlmKGFwcHJvcHJpYXRlLCloKGFyZSlnKHJlY29nbml6ZWQpZyh3aXRob3V0KWYocmVnYXJkKTYzMAorOTU2IHkodG8pYyhjYXNlLik0MiBiKFVucmVjb2duaXplZCkzMSBiKHYpLTUgYihhcmlhYmxlKTMxCitiKG5hbWVzKWcoYXJlKWYoaWdub3JlZC4pNjMwIDExMDMgeShCbylzKG9sZWFuKWModiktNQogYihhcmlhYmxlcykyNiBiKFwodGhvc2UpZyh0aGF0KWcoY2FuKWYoYilzKGUpZihzZXQpaSh0bylnKG9uKWYob3IpZwogKG9cMDEzKTcgYihcKSkyNSBiKGFyZSloKHNldClmKHRvKWgob24pZihpZilnKHRoZSlnKHYpLTUKLWIoYWx1ZSkyNiBiKGlzKTYzMCAxOTA3IHkobiltKHVsbCllKG9yKWcoZW1wdCltKHkpLTgKK2IoYWx1ZSkyNiBiKGlzKTYzMCAxMjEyIHkobiltKHVsbCllKG9yKWcoZW1wdCltKHkpLTgKIGIoLCkyNyBiIEZxKG9uKWQgRnQoXChjYXNlLWluc2Vuc2l0aXYpbShlXCksKTI5IGIob3IpMjQKIGIoMS4pMzkgYihBbiltKHkpMjUgYihvdGhlcilmKHYpLTUgYihhbHVlKTI1IGIocmVzdWx0cylmKGluKWcodGhlKWcodikKLS01IGIoYXJpYWJsZSk2MzAgMjAxNyB5KGIpcyhlaW5nKTMwIGIoc2V0KWgodG8pZyhvXDAxMy4pNjMwCi0yMTUyIHkoVGhlKTM3IGIgRnMoYmluZCkzMCBiKC1WKTM3IGIgRnQoY29tbWFuZClnKGxpc3RzKWkodGhlKWYoY3VycmVuKQorLTUgYihhcmlhYmxlKTYzMCAxMzIyIHkoYilzKGVpbmcpMzAgYihzZXQpaCh0bylnKG9cMDEzLik2MzAKKzE0NjggeShUaGUpMzcgYiBGcyhiaW5kKTMwIGIoLVYpMzcgYiBGdChjb21tYW5kKWcobGlzdHMpaSh0aGUpZihjdXJyZW4pCiBtKHQpZihSZWFkbGluZSlpKHYpLTUgYihhcmlhYmxlKTM4IGIobmFtZXMpZyhhbmQpZih2KS01Ci1iKGFsdWVzLik2MzAgMjI2MiB5KFNlZSkzMSBiKFNlY3Rpb24pZyg0LjIpZyhbQmFzaClnKEJ1aWx0aW5zXSwpZyhwYWdlKQotZyg0MS4pNjMwIDIzOTcgeShBKWYoZ3JlYXQpaShkZWFsKWYob2YpZyhydW4tdGltZSlmKGIpcyhlaGEpbSh2aW9yKWcKK2IoYWx1ZXMuKTYzMCAxNTc3IHkoU2VlKTMxIGIoU2VjdGlvbilnKDQuMilnKFtCYXNoKWcoQnVpbHRpbnNdLClnKHBhZ2UpCitnKDQxLik2MzAgMTcyNCB5KEEpZihncmVhdClpKGRlYWwpZihvZilnKHJ1bi10aW1lKWYoYilzKGVoYSltKHZpb3IpZwogKGlzKWcoYyltKGhhbmdlYWJsZSlqKHdpdGgpZCh0aGUpZyhmb2xsbyltKHdpbmcpaSh2KS01Ci1iKGFyaWFibGVzLik2MzAgMjU1OSB5IEZzKGJlbGwtc3R5bGUpMTExMCAyNjY5IHkgRnQoQ29uKW0odHJvbHMpNDQKK2IoYXJpYWJsZXMuKTYzMCAxOTA2IHkgRnMoYmVsbC1zdHlsZSkxMTEwIDIwMTYgeSBGdChDb24pbSh0cm9scyk0NAogYih3aGF0KWcoaGFwcClzKGVucyllKHdoZW4paChSZWFkbGluZSlpKHcpbShhbiltKHRzKWYodG8paChyaW5nKWUodGhlKWgKLSh0ZXJtaS0pMTExMCAyNzc4IHkobmFsKTM3IGIoYilzKGVsbC4pNjEgYihJZikzNyBiKHNldCloKHRvKWcoYClwCisodGVybWktKTExMTAgMjEyNSB5KG5hbCkzNyBiKGIpcyhlbGwuKTYxIGIoSWYpMzcgYihzZXQpaCh0bylnKGApcAogRnMobm9uZSlwIEZ0KCcsKWcoUmVhZGxpbmUpZyhuZXYpbShlcilnKHJpbmdzKWUodGhlKWkoYilzKGVsbC4pNjEKLWIoSWYpMzYgYihzZXQpaSh0bykxMTEwIDI4ODggeShgKXAgRnModmlzaWJsZSlwIEZ0KCcsKTMyCitiKElmKTM2IGIoc2V0KWkodG8pMTExMCAyMjM1IHkoYClwIEZzKHZpc2libGUpcCBGdCgnLCkzMgogYihSZWFkbGluZSlpKHVzZXMpZihhKWcodmlzaWJsZSlnKGIpcyhlbGwpZyhpZilnKG9uZSlnKGlzKWcoYSltKHYpLTUKLWIoYWlsYWJsZS4pNTEgYihJZikzMyBiKHNldClnKHRvKTExMTAgMjk5NyB5KGApcCBGcyhhdWRpYmxlKXAKK2IoYWlsYWJsZS4pNTEgYihJZikzMyBiKHNldClnKHRvKTExMTAgMjM0NSB5KGApcCBGcyhhdWRpYmxlKXAKIEZ0KCcpaihcKHRoZSlpKGRlZmF1bHRcKSwpaShSZWFkbGluZSllKGF0dGVtcHRzKWcodG8paChyaW5nKWUodGhlKWcKLSh0ZXJtaW5hbCdzKTExMTAgMzEwNyB5KGIpcyhlbGwuKTYzMCAzMjY5IHkgRnMoYmluZC10dHktc3BlY2lhbC1jaGFycykKLTExMTAgMzM3OCB5IEZ0KElmKTQ1IGIoc2V0KWgodG8pZihgKXAgRnMob24pcCBGdCgnLCk1MAorKHRlcm1pbmFsJ3MpMTExMCAyNDU0IHkoYilzKGVsbC4pNjMwIDI2MzcgeSBGcyhiaW5kLXR0eS1zcGVjaWFsLWNoYXJzKQorMTExMCAyNzQ2IHkgRnQoSWYpNDUgYihzZXQpaCh0bylmKGApcCBGcyhvbilwIEZ0KCcsKTUwCiBiKFJlYWRsaW5lKTQ1IGIoYXR0ZW1wdHMpaSh0bylmKGJpbmQpZCh0aGUpaihjb24pbSh0cm9sKWcoYyltCi0oaGFyYWN0ZXJzKTExMTAgMzQ4OCB5KHRyZWF0ZWQpMzYgYihzcClzKGVjaWFsbHkpaChiKW0oeSllKHRoZSloKGspbQorKGhhcmFjdGVycykxMTEwIDI4NTYgeSh0cmVhdGVkKTM2IGIoc3ApcyhlY2lhbGx5KWgoYiltKHkpZSh0aGUpaChrKW0KIChlcm5lbCdzKWcodGVybWluYWwpZyhkcml2KW0oZXIpZih0byloKHRoZWlyKWYoUmVhZGxpbmUpMTExMAotMzU5NyB5KGVxdWl2KS01IGIoYWxlbiltKHRzLik2MzAgMzc1OSB5IEZzKGNvbW1lbnQtYmVnaW4pMTExMAotMzg2OSB5IEZ0KFRoZSkyOSBiKHN0cmluZylnKHRvKWgoaW5zZXJ0KWYoYXQpaCh0aGUpZihiKXMoZWdpbm5pbmcpZyhvZikKLWcodGhlKWgobGluZSlmKHdoZW4pZih0aGUpaSBGcyhpbnNlcnQtKTExMTAgMzk3OCB5KGNvbW1lbnQpZQorMjk2NiB5KGVxdWl2KS01IGIoYWxlbiltKHRzLik2MzAgMzE0OCB5IEZzKGNvbW1lbnQtYmVnaW4pMTExMAorMzI1OCB5IEZ0KFRoZSkyOSBiKHN0cmluZylnKHRvKWgoaW5zZXJ0KWYoYXQpaCh0aGUpZihiKXMoZWdpbm5pbmcpZyhvZikKK2codGhlKWgobGluZSlmKHdoZW4pZih0aGUpaSBGcyhpbnNlcnQtKTExMTAgMzM2NyB5KGNvbW1lbnQpZQogRnQoY29tbWFuZClqKGlzKWYoZXhlY3V0ZWQuKTQyIGIoVGhlKTI5IGIoZGVmYXVsdClpKHYpLTUKLWIoYWx1ZSkzMSBiKGlzKWYgRnMoIiMiKXAgRnQoLik2MzAgNDE0MCB5IEZzKGNvbXBsZXRpb24taWdub3JlLWNhc2UpCi0xMTEwIDQyNTAgeSBGdChJZilkKHNldCloKHRvKWcoYClwIEZzKG9uKXAgRnQoJywpZyhSZWFkbGluZSlnKHApcworYihhbHVlKTMxIGIoaXMpZiBGcygiIyIpcCBGdCguKTYzMCAzNTUwIHkgRnMoY29tcGxldGlvbi1pZ25vcmUtY2FzZSkKKzExMTAgMzY2MCB5IEZ0KElmKWQoc2V0KWgodG8pZyhgKXAgRnMob24pcCBGdCgnLClnKFJlYWRsaW5lKWcocClzCiAoZXJmb3JtcyllKFwwMTRsZW5hbWUpaChtYXRjKW0oaGluZylpKGFuZCllKGNvbXBsZXRpb24pMTExMAotNDM1OSB5KGluKWooYSloKGNhc2UtaW5zZW5zaXRpdiltKGUpaShmYXNoaW9uLik0MCBiKFRoZSkzMAorMzc2OSB5KGluKWooYSloKGNhc2UtaW5zZW5zaXRpdiltKGUpaShmYXNoaW9uLik0MCBiKFRoZSkzMAogYihkZWZhdWx0KWgodiktNSBiKGFsdWUpMzAgYihpcyloKGApcCBGcyhvZmYpcCBGdCgnLik2MzAKLTQ1MjEgeSBGcyhjb21wbGV0aW9uLXByZWZpeC1kaXNwbGEpbyh5LWxlKW8obmd0aCkxMTEwCi00NjMwIHkgRnQoVGhlKWcobGVuZ3RoKWcoaW4pZyhjKW0oaGFyYWN0ZXJzKWkob2YpZih0aGUpZihjb21tb24paAotKHByZVwwMTR4KWUob2YpaChhKWgobGlzdClnKG9mKWYocClzKG9zc2libGUpMTExMCA0NzQwCiszOTUyIHkgRnMoY29tcGxldGlvbi1wcmVmaXgtZGlzcGxhKW8oeS1sZSlvKG5ndGgpMTExMAorNDA2MSB5IEZ0KFRoZSlnKGxlbmd0aClnKGluKWcoYyltKGhhcmFjdGVycylpKG9mKWYodGhlKWYoY29tbW9uKWgKKyhwcmVcMDE0eCllKG9mKWgoYSloKGxpc3QpZyhvZilmKHApcyhvc3NpYmxlKTExMTAgNDE3MQogeShjb21wbGV0aW9ucylnKHRoYXQpZihpcylnKGRpc3BsYSltKHkpbShlZClnKHdpdGhvdXQpZyhtbylzCi0oZGlcMDE0Y2F0aW9uLik0MSBiKFdoZW4pMjkgYihzZXQpaCh0byloKGEpMTExMCA0ODUwCisoZGlcMDE0Y2F0aW9uLik0MSBiKFdoZW4pMjkgYihzZXQpaCh0byloKGEpMTExMCA0MjgxCiB5KHYpLTUgYihhbHVlKTI2IGIoZ3JlYXRlciloKHRoYW4pZSh6ZXJvLClqKGNvbW1vbillKHByZVwwMTR4ZXMpZQotKGxvbmdlcilqKHRoYW4pZSh0aGlzKWcodiktNSBiKGFsdWUpMjcgYihhcmUpMTExMCA0OTU5CisobG9uZ2VyKWoodGhhbillKHRoaXMpZyh2KS01IGIoYWx1ZSkyNyBiKGFyZSkxMTEwIDQzOTAKIHkocmVwbGFjZWQpayh3aXRoKWYoYW4pZyhlbGxpcHNpcyloKHdoZW4pZShkaXNwbGEpbSh5aW5nKWkocClzKG9zc2libGUpCi1mKGNvbXBsZXRpb25zLik2MzAgNTEyMSB5IEZzKGNvbXBsZXRpb24tcXVlcnktaXRlbXMpMTExMAotNTIzMCB5IEZ0KFRoZSljKG4pbSh1bSltKGIpcyhlcilmKG9mKWgocClzKG9zc2libGUpZyhjb21wbGV0aW9ucyloCi0odGhhdClnKGRldGVybWluZXMpZih3aGVuKWYodGhlKWkodXNlcikxMTEwIDUzNDAgeShpcylpKGFzayltKGVkKWgKK2YoY29tcGxldGlvbnMuKTYzMCA0NTczIHkgRnMoY29tcGxldGlvbi1xdWVyeS1pdGVtcykxMTEwCis0NjgyIHkgRnQoVGhlKWMobiltKHVtKW0oYilzKGVyKWYob2YpaChwKXMob3NzaWJsZSlnKGNvbXBsZXRpb25zKWgKKyh0aGF0KWcoZGV0ZXJtaW5lcylmKHdoZW4pZih0aGUpaSh1c2VyKTExMTAgNDc5MiB5KGlzKWkoYXNrKW0oZWQpaAogKHdoZXRoZXIpZih0aGUpaChsaXN0KWcob2YpZihwKXMob3NzaWJpbGl0aWVzKWgoc2hvdWxkKWUoYilzKGUpaAotKGRpc3BsYSltKHkpbShlZC4pNDEgYihJZikyOSBiKHRoZSlwIGVvcCBlbmQKKyhkaXNwbGEpbSh5KW0oZWQuKTQxIGIoSWYpMjkgYih0aGUpMTExMCA0OTAyIHkobiltKHVtKW0oYilzKGVyKWQob2YpaAorKHApcyhvc3NpYmxlKWYoY29tcGxldGlvbnMpaShpcylmKGdyZWF0ZXIpaCh0aGFuKWUodGhpcyloKHYpLTUKK2IoYWx1ZSwpMjggYihSZWFkbGluZSkxMTEwIDUwMTEgeSh3aWxsKWYoYXNrKWcodGhlKWYodXNlcilnKHdoZXRoZXIpZworKG9yKWcobm90KWgoaGUpZih3aXNoZXMpZyh0bylpKHZpZXcpZSh0aGVtOylpKG90aGVyd2lzZSwpMTExMAorNTEyMSB5KHRoZXkpZChhcmUpZihzaW1wbHkpZyhsaXN0ZWQuKTQwIGIoVGhpcykyMyBiKHYpLTUKK2IoYXJpYWJsZSkyNSBiKG0pbSh1c3QpZyhiKXMoZSllKHNldClpKHRvKWcoYW4pZyhpbiltKHRlZ2VyKWcodiktNQorYihhbHVlKTExMTAgNTIzMCB5KGdyZWF0ZXIpMjYgYih0aGFuKWYob3IpZihlcXVhbClpKHRvKWYoMC4pNDAKK2IoQSkyNCBiKG5lZ2F0aXYpbShlKWoodiktNSBiKGFsdWUpMjYgYihtZWFucyllKFJlYWRsaW5lKWkoc2hvdWxkKTExMTAKKzUzNDAgeShuZXYpbShlcikzMSBiKGFzay4pNDEgYihUaGUpMjkgYihkZWZhdWx0KWkobGltaXQpZyhpcylnCitGcygxMDApcCBGdCguKXAgZW9wIGVuZAogJSVQYWdlOiA5OCAxMDQKIFRlWERpY3QgYmVnaW4gOTggMTAzIGJvcCAxNTAgLTExNiBhIEZ0KDk4KTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxMTEwIDI5OSB5KG4pbSh1bSltKGIpcyhlcikyNgotYihvZiloKHApcyhvc3NpYmxlKWYoY29tcGxldGlvbnMpaShpcylmKGdyZWF0ZXIpaCh0aGFuKWUodGhpcyloKHYpLTUKLWIoYWx1ZSwpMjggYihSZWFkbGluZSkxMTEwIDQwOCB5KHdpbGwpZihhc2spZyh0aGUpZih1c2VyKWcod2hldGhlcilnCi0ob3IpZyhub3QpaChoZSlmKHdpc2hlcylnKHRvKWkodmlldyllKHRoZW07KWkob3RoZXJ3aXNlLCkxMTEwCi01MTggeSh0aGV5KWQoYXJlKWYoc2ltcGx5KWcobGlzdGVkLik0MCBiKFRoaXMpMjMgYih2KS01Ci1iKGFyaWFibGUpMjUgYihtKW0odXN0KWcoYilzKGUpZShzZXQpaSh0bylnKGFuKWcoaW4pbSh0ZWdlcilnKHYpLTUKLWIoYWx1ZSkxMTEwIDYyOCB5KGdyZWF0ZXIpMjYgYih0aGFuKWYob3IpZihlcXVhbClpKHRvKWYoMC4pNDAKLWIoQSkyNCBiKG5lZ2F0aXYpbShlKWoodiktNSBiKGFsdWUpMjYgYihtZWFucyllKFJlYWRsaW5lKWkoc2hvdWxkKTExMTAKLTczNyB5KG5ldiltKGVyKTMxIGIoYXNrLik0MSBiKFRoZSkyOSBiKGRlZmF1bHQpaShsaW1pdClnKGlzKWcKLUZzKDEwMClwIEZ0KC4pNjMwIDg4MyB5IEZzKGNvbnZlcnQtbWV0YSkxMTEwIDk5MyB5IEZ0KElmKTIyCi1iKHNldClnKHRvKWgoYClwIEZzKG9uKXAgRnQoJywpaChSZWFkbGluZSlmKHdpbGwpZihjb24pbSh2KW0oZXJ0KWkoYyltCi0oaGFyYWN0ZXJzKWYod2l0aClmKHRoZSlnKGVpZ2gpbSh0aCloKGJpdClmKHNldCkxMTEwCi0xMTAzIHkodG8pZyhhbilmIEZsKGFzY2kpcihpKWcgRnQoayltKGV5KWgoc2VxdWVuY2UpZyhiKW0oeSlmCi0oc3RyaXBwaW5nKWYodGhlKWkoZWlnaCltKHRoKWcoYml0KWYoYW5kKWcocHJlXDAxNHhpbmcpZihhbikxMTEwCi0xMjA5IHkgRmcoaClwIDExMzQgMTE1NiAxMzkgNCB2IDExMzQgMTIxMiBhIEZmKEVTQylwCi0xMTM0IDEyMjcgViAxMjY4IDEyMDkgYSBGZyhpKTEzMzIgMTIxMiB5IEZ0KGMpbShoYXJhY3RlciwpMzYKLWIoY29uKW0odiltKGVydGluZylnKHRoZW0pZSh0bylnKGEpaChtZXRhLXByZVwwMTR4ZWQpZihrKW0oZXkpZwotKHNlcXVlbmNlLikxMTEwIDEzMjIgeShUaGUpYyhkZWZhdWx0KWcodiktNSBiKGFsdWUpMzEKLWIoaXMpZyhgKXAgRnMob24pcCBGdCgnLik2MzAgMTQ2OCB5IEZzKGRpc2FibGUtY29tcGxldGlvbikxMTEwCi0xNTc3IHkgRnQoSWYpMzYgYihzZXQpaCh0byloKGApcCBGcyhPbilwIEZ0KCcsKWcoUmVhZGxpbmUpZih3aWxsKWcKLShpbmhpYml0KWYodyltKG9yZCloKGNvbXBsZXRpb24uKTYwIGIoQ29tcGxldGlvbikxMTEwCi0xNjg3IHkoYyltKGhhcmFjdGVycykyOCBiKHdpbGwpZShiKXMoZSlmKGluc2VydGVkKWgoaW4pbSh0byloKHRoZSlnCi0obGluZSlmKGFzKWcoaWYpZyh0aGV5KWgoaGFkKWUoYilzKGVlbilnKG1hcHApcyhlZCkxMTEwCi0xNzk3IHkodG8pMzEgYiBGcyhzZWxmLWluc2VydClwIEZ0KC4pMzggYihUaGUpMzAgYihkZWZhdWx0KWcoaXMpaChgKXAKLUZzKG9mZilwIEZ0KCcuKTYzMCAxOTQzIHkgRnMoZWRpdGluZy1tb2RlKTExMTAgMjA1MiB5CitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkgRnMoY29udmVydC1tZXRhKTExMTAKKzQwOCB5IEZ0KElmKTIyIGIoc2V0KWcodG8paChgKXAgRnMob24pcCBGdCgnLCloKFJlYWRsaW5lKWYod2lsbClmKGNvbiltCisodiltKGVydClpKGMpbShoYXJhY3RlcnMpZih3aXRoKWYodGhlKWcoZWlnaCltKHRoKWgoYml0KWYoc2V0KTExMTAKKzUxOCB5KHRvKTMzIGIoYW4pZSBGbChhc2NpKXIoaSloIEZ0KGspbShleSloKHNlcXVlbmNlKWYoYiltKHkpZworKHN0cmlwcGluZylmKHRoZSloKGVpZ2gpbSh0aCloKGJpdClmKGFuZClmKHByZVwwMTR4aW5nKTExMTAKKzYyOCB5KGFuKTI0IGIgRnMoRVNDKWcgRnQoYyltKGhhcmFjdGVyLClqKGNvbiltKHYpbShlcnRpbmcpZih0aGVtKWYodG8pCitnKGEpZyhtZXRhLXByZVwwMTR4ZWQpZihrKW0oZXkpaChzZXF1ZW5jZS4pMTExMCA3MzcgeShUaGUpMzAKK2IoZGVmYXVsdClnKHYpLTUgYihhbHVlKTMxIGIoaXMpZyhgKXAgRnMob24pcCBGdCgnLik2MzAKKzg5NiB5IEZzKGRpc2FibGUtY29tcGxldGlvbikxMTEwIDEwMDUgeSBGdChJZikzNiBiKHNldCloKHRvKWgoYClwCitGcyhPbilwIEZ0KCcsKWcoUmVhZGxpbmUpZih3aWxsKWcoaW5oaWJpdClmKHcpbShvcmQpaChjb21wbGV0aW9uLik2MAorYihDb21wbGV0aW9uKTExMTAgMTExNSB5KGMpbShoYXJhY3RlcnMpMjggYih3aWxsKWUoYilzKGUpZihpbnNlcnRlZCloCisoaW4pbSh0byloKHRoZSlnKGxpbmUpZihhcylnKGlmKWcodGhleSloKGhhZCllKGIpcyhlZW4pZyhtYXBwKXMoZWQpMTExMAorMTIyNCB5KHRvKTMxIGIgRnMoc2VsZi1pbnNlcnQpcCBGdCguKTM4IGIoVGhlKTMwIGIoZGVmYXVsdClnKGlzKWgoYClwCitGcyhvZmYpcCBGdCgnLik2MzAgMTM4MyB5IEZzKGVkaXRpbmctbW9kZSkxMTEwIDE0OTIgeQogRnQoVGhlKWQgRnMoZWRpdGluZy1tb2RlKWUgRnQodiktNSBiKGFyaWFibGUpMjkgYihjb24pbSh0cm9scyloKHdoaWMpbQotKGgpZShkZWZhdWx0KWgoc2V0KWgob2YpZShrKW0oZXkpaShiaW5kLSkxMTEwIDIxNjIgeShpbmdzKTI1CisoaCllKGRlZmF1bHQpaChzZXQpaChvZillKGspbShleSlpKGJpbmQtKTExMTAgMTYwMiB5KGluZ3MpMjUKIGIoaXMpZyh1c2VkLikzOCBiKEJ5KTI2IGIoZGVmYXVsdCwpZyhSZWFkbGluZSlnKHN0YXJ0cylmKHVwKWYoaW4paAotKEVtYWNzKWcoZWRpdGluZyloKG1vKXMoZGUsKTExMTAgMjI3MSB5KHdoZXJlKWoodGhlKWcoayltKGV5c3Ryb2spbShlcykKKyhFbWFjcylnKGVkaXRpbmcpaChtbylzKGRlLCkxMTEwIDE3MTEgeSh3aGVyZSlqKHRoZSlnKGspbShleXN0cm9rKW0oZXMpCiBpKGFyZSllKG1vc3QpaChzaW1pbGFyKWYodG8paChFbWFjcy4pNDAgYihUaGlzKTI5IGIodiktNQotYihhcmlhYmxlKTMwIGIoY2FuKTExMTAgMjM4MSB5KGIpcyhlKWcoc2V0KWgodG8pZyhlaXRoZXIpZyhgKXAKLUZzKGVtYWNzKXAgRnQoJyllKG9yKWgoYClwIEZzKHZpKXAgRnQoJy4pNjMwIDI1MjcgeSBGcyhlbmFibGUta2V5cGFkKQotMTExMCAyNjM3IHkgRnQoV2hlbikyMyBiKHNldCloKHRvKWcoYClwIEZzKG9uKXAgRnQoJywpaChSZWFkbGluZSlmCi0od2lsbClnKHRyeSlmKHRvKWgoZW5hYmxlKWcodGhlKWYoYXBwbGljYXRpb24paShrKW0oZXlwYWQpMTExMAotMjc0NiB5KHdoZW4paChpdCloKGlzKWYoY2FsbGVkLik0MSBiKFNvbWUpMjcgYihzeXN0ZW1zKWYobmVlZCloKHRoaXMpZgotKHRvKWgoZW5hYmxlKWcodGhlKWcoYXJybyltKHcpZyhrKW0oZXlzLikxMTEwIDI4NTYgeShUaGUpaihkZWZhdWx0KWcKLShpcyloKGApcCBGcyhvZmYpcCBGdCgnLik2MzAgMzAwMiB5IEZzKGV4cGFuZC10aWxkZSkxMTEwCi0zMTEyIHkgRnQoSWYpYyhzZXQpaCh0byloKGApcCBGcyhvbilwIEZ0KCcsKWYodGlsZGUpZyhleHBhbnNpb24pZyhpcylmCi0ocClzKGVyZm9ybWVkKWYod2hlbiloKFJlYWRsaW5lKWgoYXR0ZW1wdHMpMTExMCAzMjIxCi15KHcpbShvcmQpaShjb21wbGV0aW9uLik0MiBiKFRoZSkzMCBiKGRlZmF1bHQpZyhpcyloKGApcAotRnMob2ZmKXAgRnQoJy4pNjMwIDMzNjcgeSBGcyhoaXN0b3J5LXByZXNlcnZlLXBvaW50KTExMTAKLTM0NzcgeSBGdChJZik0MSBiKHNldCloKHRvKWgoYClwIEZzKG9uKXAgRnQoJywpaSh0aGUpYyhoaXN0b3J5KWgoY28pcwotKGRlKWcoYXR0ZW1wdHMpaCh0bylmKHBsYWNlKWgodGhlKWYocClzKG9pbiltKHQpZihcKHRoZSkxMTEwCi0zNTg3IHkoY3VycmVuKW0odCkzNSBiKGN1cnNvcilnKHApcyhvc2l0aW9uXCkpZyhhdCloKHRoZSlnKHNhbWUpZihsbylzCi0oY2F0aW9uKWkob24pZShlYWMpbShoKWgoaGlzdG9yeSlnKGxpbmUpMTExMCAzNjk2IHkocmV0cmlldiltKGVkKWgKLSh3aXRoKWYgRnMocHJldmlvdXMtaGlzdG9yeSljIEZ0KG9yKTM3IGIgRnMobmV4dC1oaXN0b3J5KXAKLUZ0KC4pNTUgYihUaGUpMzYgYihkZWZhdWx0KTExMTAgMzgwNiB5KGlzKTMwIGIoYClwIEZzKG9mZilwCi1GdCgnLik2MzAgMzk1MiB5IEZzKGhpc3Rvcnktc2l6ZSkxMTEwIDQwNjEgeSBGdChTZXQpMzkKLWIodGhlKWcobWF4aW0pbSh1bSlnKG4pbSh1bSltKGIpcyhlcilmKG9mKWgoaGlzdG9yeSlnKGVuKW0odHJpZXMpaChzYSltCi0odiltKGVkKWcoaW4pZih0aGUpZyhoaXN0b3J5KTExMTAgNDE3MSB5KGxpc3QuKTUzIGIoSWYpMzQKLWIoc2V0KWgodG8pZyh6ZXJvLClpKHRoZSlkKG4pbSh1bSltKGIpcyhlcilnKG9mKWcoZW4pbSh0cmllcyloKGluKWYKLSh0aGUpaChoaXN0b3J5KWYobGlzdCloKGlzKWcobm90KTExMTAgNDI4MSB5KGxpbWl0ZWQuKTYzMAotNDQyNyB5IEZzKGhvcml6b250YWwtc2Nyb2xsLW1vZGUpMTExMCA0NTM2IHkgRnQoVGhpcylnKHYpLTUKLWIoYXJpYWJsZSkzNyBiKGNhbilmKGIpcyhlKWYoc2V0KWgodG8paChlaXRoZXIpZihgKXAKLUZzKG9uKXAgRnQoJylnKG9yKWcoYClwIEZzKG9mZilwIEZ0KCcuKTU3IGIoU2V0dGluZykzNgotYihpdClnKHRvKWgoYClwIEZzKG9uKXAgRnQoJykxMTEwIDQ2NDYgeShtZWFucykyNiBiKHRoYXQpaCh0aGUpZih0ZXh0KWgKK2IoYXJpYWJsZSkzMCBiKGNhbikxMTEwIDE4MjEgeShiKXMoZSlnKHNldCloKHRvKWcoZWl0aGVyKWcoYClwCitGcyhlbWFjcylwIEZ0KCcpZShvciloKGApcCBGcyh2aSlwIEZ0KCcuKTYzMCAxOTc5IHkgRnMKKyhlY2hvLWNvbnRyb2wtY2hhcmFjdGVycykxMTEwIDIwODkgeSBGdChXaGVuKWcoc2V0KWgodG8pZyhgKXAKK0ZzKG9uKXAgRnQoJywpZihvbilnKG9wKXMoZXJhdGluZyloKHN5c3RlbXMpZih0aGF0KWgoaW5kaWNhdGUpZyh0aGV5KWcKKyhzdXBwKXMob3J0KTExMTAgMjE5OCB5KGl0LClpKHJlYWRsaW5lKWUoZWMpbShobylzKGVzKWkoYSlmKGMpbQorKGhhcmFjdGVyKWgoY29ycmVzcClzKG9uZGluZylkKHRvKWooYSlmKHNpZ25hbClnKGdlbmVyYXRlZCkxMTEwCisyMzA4IHkoZnJvbSllKHRoZSlnKGspbShleWIpcyhvYXJkLik0MSBiKFRoZSkzMCBiKGRlZmF1bHQpZyhpcyloKGApcAorRnMob24pcCBGdCgnLik2MzAgMjQ2NiB5IEZzKGVuYWJsZS1rZXlwYWQpMTExMCAyNTc2IHkKK0Z0KFdoZW4pMjMgYihzZXQpaCh0bylnKGApcCBGcyhvbilwIEZ0KCcsKWgoUmVhZGxpbmUpZih3aWxsKWcodHJ5KWYodG8pCitoKGVuYWJsZSlnKHRoZSlmKGFwcGxpY2F0aW9uKWkoayltKGV5cGFkKTExMTAgMjY4NSB5KHdoZW4paChpdCloKGlzKWYKKyhjYWxsZWQuKTQxIGIoU29tZSkyNyBiKHN5c3RlbXMpZihuZWVkKWgodGhpcylmKHRvKWgoZW5hYmxlKWcodGhlKWcKKyhhcnJvKW0odylnKGspbShleXMuKTExMTAgMjc5NSB5KFRoZSlqKGRlZmF1bHQpZyhpcyloKGApcAorRnMob2ZmKXAgRnQoJy4pNjMwIDI5NTMgeSBGcyhlbmFibGUtbWV0YS1rZXkpMTExMCAzMDYzCit5IEZ0KFdoZW4pNDAgYihzZXQpZyh0bylnKGApcCBGcyhvbilwIEZ0KCcsKWooUmVhZGxpbmUpZCh3aWxsKWcodHJ5KWcKKyh0bylnKGVuYWJsZSlnKGFuKW0oeSlnKG1ldGEpaChtbylzKGRpXDAxNGVyKTExMTAgMzE3MworeShrKW0oZXkpaSh0aGUpZSh0ZXJtaW5hbClpKGNsYWltcylmKHRvKWgoc3VwcClzKG9ydClkKHdoZW4paChpdCloKGlzKWcKKyhjYWxsZWQuKTc2IGIoT24pNDEgYihtYW4pbSh5KTExMTAgMzI4MiB5KHRlcm1pbmFscywpYyh0aGUpZShtZXRhKWgoayltCisoZXkpZyhpcylmKHVzZWQpZyh0byloKHNlbmQpZShlaWdoKW0odC1iaXQpaihjKW0oaGFyYWN0ZXJzLik1NgorYihUaGUpMTExMCAzMzkyIHkoZGVmYXVsdCkzMSBiKGlzKWYoYClwIEZzKG9uKXAgRnQoJy4pNjMwCiszNTUwIHkgRnMoZXhwYW5kLXRpbGRlKTExMTAgMzY2MCB5IEZ0KElmKWQoc2V0KWgodG8paChgKXAKK0ZzKG9uKXAgRnQoJywpZih0aWxkZSlnKGV4cGFuc2lvbilnKGlzKWYocClzKGVyZm9ybWVkKWYod2hlbiloCisoUmVhZGxpbmUpaChhdHRlbXB0cykxMTEwIDM3NjkgeSh3KW0ob3JkKWkoY29tcGxldGlvbi4pNDIKK2IoVGhlKTMwIGIoZGVmYXVsdClnKGlzKWgoYClwIEZzKG9mZilwIEZ0KCcuKTYzMCAzOTI3Cit5IEZzKGhpc3RvcnktcHJlc2VydmUtcG9pbnQpMTExMCA0MDM3IHkgRnQoSWYpNDEgYihzZXQpaCh0byloKGApcAorRnMob24pcCBGdCgnLClpKHRoZSljKGhpc3RvcnkpaChjbylzKGRlKWcoYXR0ZW1wdHMpaCh0bylmKHBsYWNlKWgodGhlKWYKKyhwKXMob2luKW0odClmKFwodGhlKTExMTAgNDE0NyB5KGN1cnJlbiltKHQpMzUgYihjdXJzb3IpZyhwKXMKKyhvc2l0aW9uXCkpZyhhdCloKHRoZSlnKHNhbWUpZihsbylzKGNhdGlvbilpKG9uKWUoZWFjKW0oaCloKGhpc3RvcnkpZworKGxpbmUpMTExMCA0MjU2IHkocmV0cmlldiltKGVkKWgod2l0aClmIEZzKHByZXZpb3VzLWhpc3RvcnkpYworRnQob3IpMzcgYiBGcyhuZXh0LWhpc3RvcnkpcCBGdCguKTU1IGIoVGhlKTM2IGIoZGVmYXVsdCkxMTEwCis0MzY2IHkoaXMpMzAgYihgKXAgRnMob2ZmKXAgRnQoJy4pNjMwIDQ1MjQgeSBGcyhoaXN0b3J5LXNpemUpMTExMAorNDYzNCB5IEZ0KFNldCkzOSBiKHRoZSlnKG1heGltKW0odW0pZyhuKW0odW0pbShiKXMoZXIpZihvZiloKGhpc3RvcnkpZworKGVuKW0odHJpZXMpaChzYSltKHYpbShlZClnKGluKWYodGhlKWcoaGlzdG9yeSkxMTEwIDQ3NDMKK3kobGlzdC4pNTMgYihJZikzNCBiKHNldCloKHRvKWcoemVybywpaSh0aGUpZChuKW0odW0pbShiKXMoZXIpZyhvZilnCisoZW4pbSh0cmllcyloKGluKWYodGhlKWgoaGlzdG9yeSlmKGxpc3QpaChpcylnKG5vdCkxMTEwCis0ODUzIHkobGltaXRlZC4pNjMwIDUwMTEgeSBGcyhob3Jpem9udGFsLXNjcm9sbC1tb2RlKTExMTAKKzUxMjEgeSBGdChUaGlzKWcodiktNSBiKGFyaWFibGUpMzcgYihjYW4pZihiKXMoZSlmKHNldCloKHRvKWgoZWl0aGVyKWYKKyhgKXAgRnMob24pcCBGdCgnKWcob3IpZyhgKXAgRnMob2ZmKXAgRnQoJy4pNTcgYihTZXR0aW5nKTM2CitiKGl0KWcodG8paChgKXAgRnMob24pcCBGdCgnKTExMTAgNTIzMCB5KG1lYW5zKTI2IGIodGhhdCloKHRoZSlmKHRleHQpaAogKG9mKWcodGhlKWYobGluZXMpZyhiKXMoZWluZylnKGVkaXRlZCloKHdpbGwpZihzY3JvbGwpaChob3Jpem9uKW0KLSh0YWxseSkxMTEwIDQ3NTUgeShvbikzMiBiKGEpZyhzaW5nbGUpZyhzY3JlZW4pZyhsaW5lKWcod2hlbillKHRoZXkpaQotKGFyZSlnKGxvbmdlciloKHRoYW4pZSh0aGUpaCh3aWR0aClmKG9mKWgodGhlKTExMTAgNDg2NQoteShzY3JlZW4sKTI3IGIoaW5zdGVhZClnKG9mKWYod3JhcHBpbmcpZihvbiltKHRvKWkoYSlmKG5ldylnKHNjcmVlbilnCi0obGluZS4pMzkgYihCeSkyNyBiKGRlZmF1bHQsKWcodGhpcykxMTEwIDQ5NzUgeSh2KS01Ci1iKGFyaWFibGUpMzEgYihpcylnKHNldClmKHRvKWkoYClwIEZzKG9mZilwIEZ0KCcuKTYzMAotNTEyMSB5IEZzKGlucHV0LW1ldGEpMTExMCA1MjMwIHkgRnQoSWYpZihzZXQpZyh0byloKGApcAotRnMob24pcCBGdCgnLClnKFJlYWRsaW5lKWcod2lsbClmKGVuYWJsZSloKGVpZ2gpbSh0LWJpdCloKGlucHV0KWQoXChpdCkKLWkod2lsbClmKG5vdCloKGNsZWFyKTExMTAgNTM0MCB5KHRoZSk0MCBiKGVpZ2gpbSh0aClnKGJpdClnKGluKWYodGhlKWgKLShjKW0oaGFyYWN0ZXJzKWgoaXQpZihyZWFkc1wpLClqKHJlZ2FyZGxlc3MpYyhvZiloKHdoYXQpZyh0aGUpcAotZW9wIGVuZAorKHRhbGx5KTExMTAgNTM0MCB5KG9uKTMyIGIoYSlnKHNpbmdsZSlnKHNjcmVlbilnKGxpbmUpZyh3aGVuKWUodGhleSlpCisoYXJlKWcobG9uZ2VyKWgodGhhbillKHRoZSloKHdpZHRoKWYob2YpaCh0aGUpcCBlb3AgZW5kCiAlJVBhZ2U6IDk5IDEwNQogVGVYRGljdCBiZWdpbiA5OSAxMDQgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDg6KTQxCi1iKENvbW1hbmQpMjkgYihMaW5lKWkoRWRpdGluZykyMTA3IGIoOTkpMTExMCAyOTkgeSh0ZXJtaW5hbCk0MAotYihjbGFpbXMpaChpdClnKGNhbilmKHN1cHApcyhvcnQuKTY4IGIoVGhlKTM5IGIoZGVmYXVsdCloKHYpLTUKLWIoYWx1ZSk0MCBiKGlzKWcoYClwIEZzKG9mZilwIEZ0KCcuKTY5IGIoVGhlKTExMTAgNDA4CitiKENvbW1hbmQpMjkgYihMaW5lKWkoRWRpdGluZykyMTA3IGIoOTkpMTExMCAyOTkgeShzY3JlZW4sKTI3CitiKGluc3RlYWQpZyhvZilmKHdyYXBwaW5nKWYob24pbSh0bylpKGEpZihuZXcpZyhzY3JlZW4pZyhsaW5lLikzOQorYihCeSkyNyBiKGRlZmF1bHQsKWcodGhpcykxMTEwIDQwOCB5KHYpLTUgYihhcmlhYmxlKTMxCitiKGlzKWcoc2V0KWYodG8paShgKXAgRnMob2ZmKXAgRnQoJy4pNjMwIDU2NyB5IEZzKGlucHV0LW1ldGEpMTExMAorNjc2IHkgRnQoSWYpZihzZXQpZyh0byloKGApcCBGcyhvbilwIEZ0KCcsKWcoUmVhZGxpbmUpZyh3aWxsKWYoZW5hYmxlKWgKKyhlaWdoKW0odC1iaXQpaChpbnB1dClkKFwoaXQpaSh3aWxsKWYobm90KWgoY2xlYXIpMTExMAorNzg2IHkodGhlKTQwIGIoZWlnaCltKHRoKWcoYml0KWcoaW4pZih0aGUpaChjKW0oaGFyYWN0ZXJzKWgoaXQpZgorKHJlYWRzXCksKWoocmVnYXJkbGVzcyljKG9mKWgod2hhdClnKHRoZSkxMTEwIDg5NiB5KHRlcm1pbmFsKWcoY2xhaW1zKWgKKyhpdClnKGNhbilmKHN1cHApcyhvcnQuKTY4IGIoVGhlKTM5IGIoZGVmYXVsdCloKHYpLTUKK2IoYWx1ZSk0MCBiKGlzKWcoYClwIEZzKG9mZilwIEZ0KCcuKTY5IGIoVGhlKTExMTAgMTAwNQogeShuYW1lKTMwIGIgRnMobWV0YS1mbGFnKWUgRnQoaXMpaihhKWYoc3lub24pbSh5bSlnKGZvcilnKHRoaXMpaCh2KS01Ci1iKGFyaWFibGUuKTYzMCA1NzkgeSBGcyhpc2VhcmNoLXRlcm1pbmF0b3JzKTExMTAgNjg5CitiKGFyaWFibGUuKTYzMCAxMTYzIHkgRnMoaXNlYXJjaC10ZXJtaW5hdG9ycykxMTEwIDEyNzMKIHkgRnQoVGhlKTUxIGIoc3RyaW5nKWgob2YpZyhjKW0oaGFyYWN0ZXJzKWgodGhhdClmKHNob3VsZCllKHRlcm1pbmF0ZSlqCi0oYW4pZihpbmNyZW1lbiltKHRhbCkxMTEwIDc5OCB5KHNlYXJjKW0oaCkyNSBiKHdpdGhvdXQpZyhzdWJzZXF1ZW4pbQorKGFuKWYoaW5jcmVtZW4pbSh0YWwpMTExMCAxMzgzIHkoc2VhcmMpbShoKTI1IGIod2l0aG91dClnKHN1YnNlcXVlbiltCiAodGx5KWcoZXhlY3V0aW5nKWgodGhlKWYoYyltKGhhcmFjdGVyKWgoYXMpZihhKWcoY29tbWFuZCkxMTEwCi05MDggeShcKHNlZSk0MiBiKFNlY3Rpb24pZig4LjIuNSlpKFtTZWFyYyltKGhpbmddLClpKHBhZ2UpYyg5NlwpLik3MwotYihJZik0MSBiKHRoaXMpZyh2KS01IGIoYXJpYWJsZSk0MSBiKGhhcylnKG5vdCkxMTEwIDEwMTcKLXkoYilzKGVlbikzMSBiKGdpdiltKGVuKWgoYSlnKHYpLTUgYihhbHVlLCkzMiBiKHRoZSlnKGMpbShoYXJhY3RlcnMpCi0yNDk0IDEwMTQgeSBGZyhoKXAgMjUxOCA5NjEgMTM5IDQgdiAyNTE4IDEwMTcgYSBGZihFU0MpcAotMjUxOCAxMDMzIFYgMjY1MiAxMDE0IGEgRmcoaSkyNzEzIDEwMTcgeSBGdChhbmQpZiBGaihDLUopZwotRnQod2lsbCloKHRlcm1pbmF0ZSlnKGFuKTExMTAgMTEyNyB5KGluY3JlbWVuKW0odGFsKWcoc2VhcmMpbShoLik2MzAKLTEyOTcgeSBGcyhrZXltYXApMTkyIGIgRnQoU2V0cykzOSBiKFJlYWRsaW5lJ3MpZyhpZGVhKWgob2YpZih0aGUpZwotKGN1cnJlbiltKHQpZihrKW0oZXltYXApaChmb3IpZyhrKW0oZXkpZyhiaW5kaW5nKWYoY29tLSkxMTEwCi0xNDA3IHkobWFuZHMuKTgxIGIoQWNjZXB0YWJsZSk0NyBiIEZzKGtleW1hcCk0MiBiIEZ0KG5hbWVzKWkoYXJlKWgKLUZzKGVtYWNzKXAgRnQoLClpIEZzKGVtYWNzLXN0YW5kYXJkKXAgRnQoLCkxMTEwIDE1MTcKLXkgRnMoZW1hY3MtbWV0YSlwIEZ0KCwpOTkgYiBGcyhlbWFjcy1jdGx4KXAgRnQoLClmIEZzKHZpKXAKLUZ0KCwpaiBGcyh2aS1tb3ZlKXAgRnQoLClmIEZzKHZpLWNvbW1hbmQpcCBGdCgsKWYoYW5kKTExMTAKLTE2MjYgeSBGcyh2aS1pbnNlcnQpcCBGdCguKTY0IGIgRnModmkpMzggYiBGdChpcyloKGVxdWl2KS01Ci1iKGFsZW4pbSh0KTQxIGIodG8pZSBGcyh2aS1jb21tYW5kKXAgRnQoOylpIEZzKGVtYWNzKWMKLUZ0KGlzKWkoZXF1aXYpLTUgYihhbGVuKW0odCkxMTEwIDE3MzYgeSh0bykzMyBiIEZzKGVtYWNzLXN0YW5kYXJkKXAKLUZ0KC4pNDEgYihUaGUpMzEgYihkZWZhdWx0KWgodiktNSBiKGFsdWUpMzIgYihpcylnIEZzKGVtYWNzKXAKLUZ0KC4pNDQgYihUaGUpMzEgYih2KS01IGIoYWx1ZSkzMyBiKG9mKWYodGhlKTExMTAgMTg0NQoteSBGcyhlZGl0aW5nLW1vZGUpMjcgYiBGdCh2KS01IGIoYXJpYWJsZSkzMSBiKGFsc28paChhXDAxM2VjdHMpZih0aGUpZwotKGRlZmF1bHQpZihrKW0oZXltYXAuKTYzMCAyMDE2IHkgRnMobWFyay1kaXJlY3RvcmllcykxMTEwCi0yMTI1IHkgRnQoSWYpMzggYihzZXQpZyh0byloKGApcCBGcyhvbilwIEZ0KCcsKWkoY29tcGxldGVkKWUoZGlyZWN0b3J5KQotZihuYW1lcylnKGhhKW0odiltKGUpaShhKWUoc2xhc2gpZyhhcHApcyhlbmRlZC4pMTExMAotMjIzNSB5KFRoZSkzMCBiKGRlZmF1bHQpZyhpcyloKGApcCBGcyhvbilwIEZ0KCcuKTYzMAotMjQwNSB5IEZzKG1hcmstbW9kaWZpZWQtbGluZXMpMTExMCAyNTE1IHkgRnQoVGhpcylrKHYpLTUKLWIoYXJpYWJsZSwpMzggYih3aGVuKWQoc2V0KWgodG8paChgKXAgRnMob24pcCBGdCgnLClnKGNhdXNlcylnCi0oUmVhZGxpbmUpZih0byloKGRpc3BsYSltKHkpZihhbilmKGFzLSkxMTEwIDI2MjUgeSh0ZXJpc2spZihcKGApcAotRnMoKilwIEZ0KCdcKSloKGF0KWYodGhlKWcoc3RhcnQpZyhvZilnKGhpc3RvcnkpZyhsaW5lcylnKHdoaWMpbShoKWYKLShoYSltKHYpbShlKWkoYilzKGVlbillKG1vKXMoZGlcMDE0ZWQuKTExMTAgMjczNCB5KFRoaXMpZCh2KS01Ci1iKGFyaWFibGUpMzEgYihpcylmKGApcCBGcyhvZmYpcCBGdCgnKWcoYiltKHkpZyhkZWZhdWx0Lik2MzAKLTI5MDUgeSBGcyhtYXJrLXN5bWxpbmtlZC1kaXJlY3RvcmkpbyhlcykxMTEwIDMwMTQgeSBGdChJZik0NAotYihzZXQpaCh0byloKGApcCBGcyhvbilwIEZ0KCcsKWkoY29tcGxldGVkKWUobmFtZXMpZih3aGljKW0oaClmKGFyZSloCi0oc3ltKW0oYilzKG9saWMpZyhsaW5rcylnKHRvKWcoZGktKTExMTAgMzEyNCB5KHJlY3RvcmllcylqKGhhKW0odiltKGUpZgotKGEpZyhzbGFzaClmKGFwcClzKGVuZGVkKWUoXChzdWIpNSBiKGplY3QpNDcgYih0bylnKHRoZSlmKHYpLTUKLWIoYWx1ZSk0NyBiKG9mKWYgRnMobWFyay0pMTExMCAzMjMzIHkoZGlyZWN0b3JpZXMpcCBGdChcKS4pMzgKLWIoVGhlKTMwIGIoZGVmYXVsdClnKGlzKWgoYClwIEZzKG9mZilwIEZ0KCcuKTYzMCAzNDA0Ci15IEZzKG1hdGNoLWhpZGRlbi1maWxlcykxMTEwIDM1MTMgeSBGdChUaGlzKTIxIGIodiktNQotYihhcmlhYmxlLCkyNSBiKHdoZW4pZChzZXQpZyh0byloKGApcCBGcyhvbilwIEZ0KCcsKWgoY2F1c2VzKWYKLShSZWFkbGluZSlnKHRvKWcobWF0YyltKGgpZyhcMDE0bGVzKWYod2hvc2UpMTExMCAzNjIzCi15KG5hbWVzKTQ0IGIoYilzKGVnaW4pZyh3aXRoKWcoYSlnKGApcCBGcyguKXAgRnQoJylnKFwoaGlkZGVuKWYKLShcMDE0bGVzXCkpaSh3aGVuKWUocClzKGVyZm9ybWluZylnKFwwMTRsZW5hbWUpMTExMCAzNzMzCi15KGNvbXBsZXRpb24sKWoodW5sZXNzKTQxIGIodGhlKWcobGVhZGluZyloKGApcCBGcyguKXAKLUZ0KCcpZyhpcylnKHN1cHBsaWVkKWUoYiltKHkpaCh0aGUpaCh1c2VyKWYoaW4pZyh0aGUpMTExMAotMzg0MiB5KFwwMTRsZW5hbWUpMzEgYih0bylnKGIpcyhlKWUoY29tcGxldGVkLik0MiBiKFRoaXMpMzAKKzE0OTIgeShcKHNlZSk0MiBiKFNlY3Rpb24pZig4LjIuNSlpKFtTZWFyYyltKGhpbmddLClpKHBhZ2UpYyg5NVwpLik3MworYihJZik0MSBiKHRoaXMpZyh2KS01IGIoYXJpYWJsZSk0MSBiKGhhcylnKG5vdCkxMTEwIDE2MDIKK3koYilzKGVlbikzNSBiKGdpdiltKGVuKWgoYSlnKHYpLTUgYihhbHVlLCkzNyBiKHRoZSlmKGMpbShoYXJhY3RlcnMpaAorRnMoRVNDKWQgRnQoYW5kKWggRmkoQy1KKWcgRnQod2lsbCloKHRlcm1pbmF0ZSlnKGFuKTExMTAKKzE3MTEgeShpbmNyZW1lbiltKHRhbCljKHNlYXJjKW0oaC4pNjMwIDE4NzAgeSBGcyhrZXltYXApMTkyCitiIEZ0KFNldHMpMzkgYihSZWFkbGluZSdzKWcoaWRlYSloKG9mKWYodGhlKWcoY3VycmVuKW0odClmKGspbShleW1hcCloCisoZm9yKWcoayltKGV5KWcoYmluZGluZylmKGNvbS0pMTExMCAxOTc5IHkobWFuZHMuKTgxCitiKEFjY2VwdGFibGUpNDcgYiBGcyhrZXltYXApNDIgYiBGdChuYW1lcylpKGFyZSloIEZzKGVtYWNzKXAKK0Z0KCwpaSBGcyhlbWFjcy1zdGFuZGFyZClwIEZ0KCwpMTExMCAyMDg5IHkgRnMoZW1hY3MtbWV0YSlwCitGdCgsKTk5IGIgRnMoZW1hY3MtY3RseClwIEZ0KCwpZiBGcyh2aSlwIEZ0KCwpaiBGcyh2aS1tb3ZlKXAKK0Z0KCwpZiBGcyh2aS1jb21tYW5kKXAgRnQoLClmKGFuZCkxMTEwIDIxOTggeSBGcyh2aS1pbnNlcnQpcAorRnQoLik2NCBiIEZzKHZpKTM4IGIgRnQoaXMpaChlcXVpdiktNSBiKGFsZW4pbSh0KTQxIGIodG8pZQorRnModmktY29tbWFuZClwIEZ0KDspaSBGcyhlbWFjcyljIEZ0KGlzKWkoZXF1aXYpLTUgYihhbGVuKW0odCkxMTEwCisyMzA4IHkodG8pMzMgYiBGcyhlbWFjcy1zdGFuZGFyZClwIEZ0KC4pNDEgYihUaGUpMzEgYihkZWZhdWx0KWgodiktNQorYihhbHVlKTMyIGIoaXMpZyBGcyhlbWFjcylwIEZ0KC4pNDQgYihUaGUpMzEgYih2KS01IGIoYWx1ZSkzMworYihvZilmKHRoZSkxMTEwIDI0MTggeSBGcyhlZGl0aW5nLW1vZGUpMjcgYiBGdCh2KS01IGIoYXJpYWJsZSkzMQorYihhbHNvKWgoYVwwMTNlY3RzKWYodGhlKWcoZGVmYXVsdClmKGspbShleW1hcC4pNjMwIDI1NzYKK3kgRnMobWFyay1kaXJlY3RvcmllcykxMTEwIDI2ODUgeSBGdChJZikzOCBiKHNldClnKHRvKWgoYClwCitGcyhvbilwIEZ0KCcsKWkoY29tcGxldGVkKWUoZGlyZWN0b3J5KWYobmFtZXMpZyhoYSltKHYpbShlKWkoYSllKHNsYXNoKQorZyhhcHApcyhlbmRlZC4pMTExMCAyNzk1IHkoVGhlKTMwIGIoZGVmYXVsdClnKGlzKWgoYClwCitGcyhvbilwIEZ0KCcuKTYzMCAyOTUzIHkgRnMobWFyay1tb2RpZmllZC1saW5lcykxMTEwCiszMDYzIHkgRnQoVGhpcylrKHYpLTUgYihhcmlhYmxlLCkzOCBiKHdoZW4pZChzZXQpaCh0byloKGApcAorRnMob24pcCBGdCgnLClnKGNhdXNlcylnKFJlYWRsaW5lKWYodG8paChkaXNwbGEpbSh5KWYoYW4pZihhcy0pMTExMAorMzE3MyB5KHRlcmlzaylmKFwoYClwIEZzKCopcCBGdCgnXCkpaChhdClmKHRoZSlnKHN0YXJ0KWcob2YpZyhoaXN0b3J5KWcKKyhsaW5lcylnKHdoaWMpbShoKWYoaGEpbSh2KW0oZSlpKGIpcyhlZW4pZShtbylzKGRpXDAxNGVkLikxMTEwCiszMjgyIHkoVGhpcylkKHYpLTUgYihhcmlhYmxlKTMxIGIoaXMpZihgKXAgRnMob2ZmKXAgRnQoJylnKGIpbSh5KWcKKyhkZWZhdWx0Lik2MzAgMzQ0MCB5IEZzKG1hcmstc3ltbGlua2VkLWRpcmVjdG9yaSlvKGVzKTExMTAKKzM1NTAgeSBGdChJZik0NCBiKHNldCloKHRvKWgoYClwIEZzKG9uKXAgRnQoJywpaShjb21wbGV0ZWQpZShuYW1lcylmCisod2hpYyltKGgpZihhcmUpaChzeW0pbShiKXMob2xpYylnKGxpbmtzKWcodG8pZyhkaS0pMTExMAorMzY2MCB5KHJlY3RvcmllcylqKGhhKW0odiltKGUpZihhKWcoc2xhc2gpZihhcHApcyhlbmRlZCllKFwoc3ViKTUKK2IoamVjdCk0NyBiKHRvKWcodGhlKWYodiktNSBiKGFsdWUpNDcgYihvZilmIEZzKG1hcmstKTExMTAKKzM3NjkgeShkaXJlY3RvcmllcylwIEZ0KFwpLikzOCBiKFRoZSkzMCBiKGRlZmF1bHQpZyhpcyloKGApcAorRnMob2ZmKXAgRnQoJy4pNjMwIDM5MjcgeSBGcyhtYXRjaC1oaWRkZW4tZmlsZXMpMTExMAorNDAzNyB5IEZ0KFRoaXMpMjEgYih2KS01IGIoYXJpYWJsZSwpMjUgYih3aGVuKWQoc2V0KWcodG8paChgKXAKK0ZzKG9uKXAgRnQoJywpaChjYXVzZXMpZihSZWFkbGluZSlnKHRvKWcobWF0YyltKGgpZyhcMDE0bGVzKWYod2hvc2UpCisxMTEwIDQxNDcgeShuYW1lcyk0NCBiKGIpcyhlZ2luKWcod2l0aClnKGEpZyhgKXAgRnMoLilwCitGdCgnKWcoXChoaWRkZW4pZihcMDE0bGVzXCkpaSh3aGVuKWUocClzKGVyZm9ybWluZylnKFwwMTRsZW5hbWUpMTExMAorNDI1NiB5KGNvbXBsZXRpb24sKWoodW5sZXNzKTQxIGIodGhlKWcobGVhZGluZyloKGApcAorRnMoLilwIEZ0KCcpZyhpcylnKHN1cHBsaWVkKWUoYiltKHkpaCh0aGUpaCh1c2VyKWYoaW4pZyh0aGUpMTExMAorNDM2NiB5KFwwMTRsZW5hbWUpMzEgYih0bylnKGIpcyhlKWUoY29tcGxldGVkLik0MiBiKFRoaXMpMzAKIGIodiktNSBiKGFyaWFibGUpMzEgYihpcylmKGApcCBGcyhvbilwIEZ0KCcpaChiKW0oeSlmKGRlZmF1bHQuKTYzMAotNDAxMyB5IEZzKG91dHB1dC1tZXRhKTExMTAgNDEyMiB5IEZ0KElmKTM1IGIoc2V0KWgodG8pZyhgKXAKKzQ1MjQgeSBGcyhvdXRwdXQtbWV0YSkxMTEwIDQ2MzQgeSBGdChJZikzNSBiKHNldCloKHRvKWcoYClwCiBGcyhvbilwIEZ0KCcsKWgoUmVhZGxpbmUpZih3aWxsKWcoZGlzcGxhKW0oeSlmKGMpbShoYXJhY3RlcnMpaSh3aXRoKWUKLSh0aGUpaChlaWdoKW0odGgpZyhiaXQpMTExMCA0MjMyIHkoc2V0KWgoZGlyZWN0bHkpZyhyYXRoZXIpZih0aGFuKWcoYXMpCisodGhlKWgoZWlnaCltKHRoKWcoYml0KTExMTAgNDc0MyB5KHNldCloKGRpcmVjdGx5KWcocmF0aGVyKWYodGhhbilnKGFzKQogaChhKWcobWV0YS1wcmVcMDE0eGVkKWYoZXNjYXApcyhlKWgoc2VxdWVuY2UuKTU5IGIoVGhlKTExMTAKLTQzNDEgeShkZWZhdWx0KTMxIGIoaXMpZihgKXAgRnMob2ZmKXAgRnQoJy4pNjMwIDQ1MTIKLXkgRnMocGFnZS1jb21wbGV0aW9ucykxMTEwIDQ2MjIgeSBGdChJZilqKHNldClpKHRvKWYoYClwCis0ODUzIHkoZGVmYXVsdCkzMSBiKGlzKWYoYClwIEZzKG9mZilwIEZ0KCcuKTYzMCA1MDExCit5IEZzKHBhZ2UtY29tcGxldGlvbnMpMTExMCA1MTIxIHkgRnQoSWYpaihzZXQpaSh0bylmKGApcAogRnMob24pcCBGdCgnLCloKFJlYWRsaW5lKWcodXNlcyllKGFuKWgoaW4pbSh0ZXJuYWwpaAogRnMobW9yZSlwIEZ0KC1saWspbShlKWYocGFnZXIpZyh0byloKGRpc3BsYSltKHkpMTExMAotNDczMSB5KGEpZShzY3JlZW5mdWwpZihvZilnKHApcyhvc3NpYmxlKWcoY29tcGxldGlvbnMpaShhdClmKGEpZyh0aW1lLikKKzUyMzAgeShhKWUoc2NyZWVuZnVsKWYob2YpZyhwKXMob3NzaWJsZSlnKGNvbXBsZXRpb25zKWkoYXQpZihhKWcodGltZS4pCiA0NyBiKFRoaXMpMzEgYih2KS01IGIoYXJpYWJsZSkzNCBiKGlzKWUoYClwIEZzKG9uKXAgRnQoJykxMTEwCi00ODQxIHkoYiltKHkpZShkZWZhdWx0Lik2MzAgNTAxMSB5IEZzKHByaW50LWNvbXBsZXRpb25zLWhvcml6bylvKG50YWwpbwotKGx5KTExMTAgNTEyMSB5IEZ0KElmKTIzIGIoc2V0KWkodG8pZyhgKXAgRnMob24pcCBGdCgnLClnKFJlYWRsaW5lKWcKLSh3aWxsKWYoZGlzcGxhKW0oeSlnKGNvbXBsZXRpb25zKWgod2l0aClmKG1hdGMpbShoZXMpaChzb3J0ZWQpMTExMAotNTIzMCB5KGhvcml6b24pbSh0YWxseSk0NSBiKGluKWUoYWxwaGFiKXMoZXRpY2FsKWkob3JkZXIsKWkocmF0aGVyKWMKLSh0aGFuKWcoZG8pbSh3bilnKHRoZSloKHNjcmVlbi4pMTExMCA1MzQwIHkoVGhlKTMwIGIoZGVmYXVsdClnKGlzKWgoYClwCi1GcyhvZmYpcCBGdCgnLilwIGVvcCBlbmQKKzUzNDAgeShiKW0oeSllKGRlZmF1bHQuKXAgZW9wIGVuZAogJSVQYWdlOiAxMDAgMTA2CiBUZVhEaWN0IGJlZ2luIDEwMCAxMDUgYm9wIDE1MCAtMTE2IGEgRnQoMTAwKTI1MjcgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkgRnMocmV2ZXJ0LWFsbC1hdC1uZXdsaW5lKTExMTAKLTQwOCB5IEZ0KElmKWUoc2V0KWgodG8pZyhgKXAgRnMob24pcCBGdCgnLClnKFJlYWRsaW5lKWcod2lsbClnKHVuZG8pZgorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5IEZzKHByaW50LWNvbXBsZXRpb25zLWhvcml6bylvKG50YWwpbworKGx5KTExMTAgNDA4IHkgRnQoSWYpMjMgYihzZXQpaSh0bylnKGApcCBGcyhvbilwIEZ0KCcsKWcoUmVhZGxpbmUpZworKHdpbGwpZihkaXNwbGEpbSh5KWcoY29tcGxldGlvbnMpaCh3aXRoKWYobWF0YyltKGhlcyloKHNvcnRlZCkxMTEwCis1MTggeShob3Jpem9uKW0odGFsbHkpNDUgYihpbillKGFscGhhYilzKGV0aWNhbClpKG9yZGVyLClpKHJhdGhlciljCisodGhhbilnKGRvKW0od24pZyh0aGUpaChzY3JlZW4uKTExMTAgNjI4IHkoVGhlKTMwIGIoZGVmYXVsdClnKGlzKWgoYClwCitGcyhvZmYpcCBGdCgnLik2MzAgNzg4IHkgRnMocmV2ZXJ0LWFsbC1hdC1uZXdsaW5lKTExMTAKKzg5NyB5IEZ0KElmKWUoc2V0KWgodG8pZyhgKXAgRnMob24pcCBGdCgnLClnKFJlYWRsaW5lKWcod2lsbClnKHVuZG8pZgogKGFsbCloKGMpbShoYW5nZXMpaCh0bylmKGhpc3RvcnkpZyhsaW5lcylmKGIpcyhlZm9yZSkxMTEwCi01MTggeShyZXR1cm5pbmcpZih3aGVuKWYgRnMoYWNjZXB0LWxpbmUpZiBGdChpcylqKGV4ZWN1dGVkLik0MQotYihCeSkyOSBiKGRlZmF1bHQsKWcoaGlzdG9yeSlnKGxpbmVzKTExMTAgNjI4IHkobWEpbSh5KTQyCisxMDA3IHkocmV0dXJuaW5nKWYod2hlbilmIEZzKGFjY2VwdC1saW5lKWYgRnQoaXMpaihleGVjdXRlZC4pNDEKK2IoQnkpMjkgYihkZWZhdWx0LClnKGhpc3RvcnkpZyhsaW5lcykxMTEwIDExMTcgeShtYSltKHkpNDIKIGIoYilzKGUpZyhtbylzKGRpXDAxNGVkKWUoYW5kKWgocmV0YWluKWkoaW5kaXZpZHVhbCllKHVuZG8pZyhsaXN0cyloCi0oYWNyb3NzKWcoY2FsbHMpaCh0bykxMTEwIDczNyB5IEZzKHJlYWRsaW5lKXAgRnQoLikzOAotYihUaGUpMzAgYihkZWZhdWx0KWgoaXMpZihgKXAgRnMob2ZmKXAgRnQoJy4pNjMwIDkwNQoteSBGcyhzaG93LWFsbC1pZi1hbWJpZ3VvdXMpMTExMCAxMDE1IHkgRnQoVGhpcylmKGFsdGVycylpKHRoZSlmCisoYWNyb3NzKWcoY2FsbHMpaCh0bykxMTEwIDEyMjYgeSBGcyhyZWFkbGluZSlwIEZ0KC4pMzgKK2IoVGhlKTMwIGIoZGVmYXVsdCloKGlzKWYoYClwIEZzKG9mZilwIEZ0KCcuKTYzMCAxMzg2Cit5IEZzKHNob3ctYWxsLWlmLWFtYmlndW91cykxMTEwIDE0OTYgeSBGdChUaGlzKWYoYWx0ZXJzKWkodGhlKWYKIChkZWZhdWx0KWcoYilzKGVoYSltKHZpb3IpZyhvZilnKHRoZSloKGNvbXBsZXRpb24pZyhmdW5jdGlvbnMuKTQwCi1iKElmKTI5IGIoc2V0KTExMTAgMTEyNCB5KHRvKWYoYClwIEZzKG9uKXAgRnQoJywpZyh3KW0ob3JkcylmKHdoaWMpbShoKQorYihJZikyOSBiKHNldCkxMTEwIDE2MDYgeSh0bylmKGApcCBGcyhvbilwIEZ0KCcsKWcodyltKG9yZHMpZih3aGljKW0oaCkKIGcoaGEpbSh2KW0oZSlpKG1vcmUpZih0aGFuKWYob25lKWgocClzKG9zc2libGUpZihjb21wbGV0aW9uKWgoY2F1c2UpCi0xMTEwIDEyMzQgeSh0aGUpMzkgYihtYXRjKW0oaGVzKWgodG8pZyhiKXMoZSllKGxpc3RlZCloKGltbWVkaWF0ZWx5KWkKLShpbnN0ZWFkKWUob2YpZyhyaW5naW5nKWcodGhlKWcoYilzKGVsbC4pMTExMCAxMzQ0IHkoVGhlKTMwCisxMTEwIDE3MTUgeSh0aGUpMzkgYihtYXRjKW0oaGVzKWgodG8pZyhiKXMoZSllKGxpc3RlZCloKGltbWVkaWF0ZWx5KWkKKyhpbnN0ZWFkKWUob2YpZyhyaW5naW5nKWcodGhlKWcoYilzKGVsbC4pMTExMCAxODI1IHkoVGhlKTMwCiBiKGRlZmF1bHQpZyh2KS01IGIoYWx1ZSkzMSBiKGlzKWcoYClwIEZzKG9mZilwIEZ0KCcuKTYzMAotMTUxMiB5IEZzKHNob3ctYWxsLWlmLXVubW9kaWZpZWQpMTExMCAxNjIxIHkgRnQoVGhpcykzOAorMTk4NSB5IEZzKHNob3ctYWxsLWlmLXVubW9kaWZpZWQpMTExMCAyMDk0IHkgRnQoVGhpcykzOAogYihhbHRlcnMpaCh0aGUpZyhkZWZhdWx0KWcoYilzKGVoYSltKHZpb3IpZyhvZilmKHRoZSloKGNvbXBsZXRpb24paAotKGZ1bmN0aW9ucyllKGluKWgoYSkxMTEwIDE3MzEgeShmYXNoaW9uKTI1IGIoc2ltaWxhciloKHRvKWcKLUZxKHNobyltKHctYWxsLWlmLWFtKW0oYmlndW91cylwIEZ0KC4pNDEgYihJZikyNSBiKHNldCloKHRvKWgoYClwCi1GcyhvbilwIEZ0KCcsKWYodyltKG9yZHMpZih3aGljKW0oaCkxMTEwIDE4NDAgeShoYSltKHYpbShlKTMyCisoZnVuY3Rpb25zKWUoaW4paChhKTExMTAgMjIwNCB5KGZhc2hpb24pMjUgYihzaW1pbGFyKWcodG8paAorRnEoc2hvKW0ody1hbGwtaWYtYW0pbShiaWd1b3VzKXQgRnQoLik0MSBiKElmKTI0IGIoc2V0KWkodG8pZihgKXAKK0ZzKG9uKXAgRnQoJywpaSh3KW0ob3JkcylkKHdoaWMpbShoKTExMTAgMjMxNCB5KGhhKW0odiltKGUpMzIKIGIobW9yZSlmKHRoYW4pZihvbmUpaShwKXMob3NzaWJsZSllKGNvbXBsZXRpb24paSh3aXRob3V0KWYoYW4pbSh5KWcocClzCi0ob3NzaWJsZSlmKHBhci0pMTExMCAxOTUwIHkodGlhbCk0MyBiKGNvbXBsZXRpb24paChcKHRoZSlmKHApcyhvc3NpYmxlKQotZihjb21wbGV0aW9ucyloKGRvbid0KWYoc2hhcmUpZyhhKWgoY29tbW9uKTExMTAgMjA2MAorKG9zc2libGUpZihwYXItKTExMTAgMjQyMyB5KHRpYWwpNDMgYihjb21wbGV0aW9uKWgoXCh0aGUpZihwKXMob3NzaWJsZSkKK2YoY29tcGxldGlvbnMpaChkb24ndClmKHNoYXJlKWcoYSloKGNvbW1vbikxMTEwIDI1MzMKIHkocHJlXDAxNHhcKSkzMCBiKGNhdXNlKWcodGhlKWgobWF0YyltKGhlcylnKHRvKWcoYilzKGUpZihsaXN0ZWQpZwotKGltbWVkaWF0ZWx5KWkoaW5zdGVhZCllKG9mKWgocmluZy0pMTExMCAyMTY5IHkoaW5nKWcodGhlKWYoYilzKGVsbC4pNDEKKyhpbW1lZGlhdGVseSlpKGluc3RlYWQpZShvZiloKHJpbmctKTExMTAgMjY0MiB5KGluZylnKHRoZSlmKGIpcyhlbGwuKTQxCiBiKFRoZSkzMCBiKGRlZmF1bHQpZyh2KS01IGIoYWx1ZSkzMSBiKGlzKWYoYClwIEZzKG9mZilwCi1GdCgnLik2MzAgMjMzNyB5IEZzKHZpc2libGUtc3RhdHMpMTExMCAyNDQ3IHkgRnQoSWYpaChzZXQpaSh0bylmKGApcAorRnQoJy4pNjMwIDI4MDMgeSBGcyhza2lwLWNvbXBsZXRlZC10ZXh0KTExMTAgMjkxMiB5IEZ0KElmKWkoc2V0KWkodG8pZgorKGApcCBGcyhvbilwIEZ0KCcsKWgodGhpcylmKGFsdGVycylnKHRoZSlnKGRlZmF1bHQpZyhjb21wbGV0aW9uKWgoYilzCisoZWhhKW0odmlvcilmKHdoZW4pZihpbi0pMTExMCAzMDIyIHkoc2VydGluZylkKGEpaChzaW5nbGUpZyhtYXRjKW0oaClmCisoaW4pbSh0byloKHRoZSlnKGxpbmUuKTQwIGIoSXQncykzMCBiKG9ubHkpZihhY3RpdiltKGUpaSh3aGVuKWQocClzCisoZXJmb3JtLSkxMTEwIDMxMzEgeShpbmcpMzUgYihjb21wbGV0aW9uKWgoaW4pZSh0aGUpaChtaWRkbGUpZihvZiloKGEpZgorKHcpbShvcmQuKTUzIGIoSWYpMzUgYihlbmFibGVkLClnKHJlYWRsaW5lKWcoZG8pcyhlcykxMTEwCiszMjQxIHkobm90KTQxIGIoaW5zZXJ0KWYoYyltKGhhcmFjdGVycylpKGZyb20pZSh0aGUpaChjb21wbGV0aW9uKWgKKyh0aGF0KWYobWF0YyltKGgpZyhjKW0oaGFyYWN0ZXJzKTExMTAgMzM1MSB5KGFmdGVyKWMocClzKG9pbiltKHQpZyhpbilnCisodGhlKWcodyltKG9yZClmKGIpcyhlaW5nKWcoY29tcGxldGVkLClrKHNvKWQocClzKG9ydGlvbnMpZihvZiloKHRoZSlnCisodyltKG9yZCkxMTEwIDM0NjAgeShmb2xsbyltKHdpbmcpYyh0aGUpZihjdXJzb3IpZihhcmUpaChub3QpZworKGR1cGxpY2F0ZWQuKTQ1IGIoRiktOCBiKG9yKTMyIGIoaW5zdGFuY2UsKWgoaWYpZih0aGlzKWYoaXMpaChlbi0pMTExMAorMzU3MCB5KGFibGVkLCk0MyBiKGF0dGVtcHRpbmcpZihjb21wbGV0aW9uKWcod2hlbilkKHRoZSlpKGN1cnNvcilmKGlzKWcKKyhhZnRlciloKHRoZSlnKGApcCBGcyhlKXAgRnQoJylmKGluKTExMTAgMzY3OSB5KGApcCBGcyhNYWtlZmlsZSlwCitGdCgnKWMod2lsbClpKHJlc3VsdClmKGluKWcoYClwIEZzKE1ha2VmaWxlKXAgRnQoJylmKHJhdGhlciloKHRoYW4paChgKQorcCBGcyhNYWtlZmlsZWZpbGUpcCBGdCgnLCkxMTEwIDM3ODkgeShhc3N1bWluZylkKHRoZXJlKWcoaXMpaChhKWYKKyhzaW5nbGUpaChwKXMob3NzaWJsZSlmKGNvbXBsZXRpb24uKTU2IGIoVGhlKTM1IGIoZGVmYXVsdClnKHYpLTUKK2IoYWx1ZSkxMTEwIDM4OTggeShpcykzMCBiKGApcCBGcyhvZmYpcCBGdCgnLik2MzAgNDA1OQoreSBGcyh2aXNpYmxlLXN0YXRzKTExMTAgNDE2OCB5IEZ0KElmKWgoc2V0KWkodG8pZihgKXAKIEZzKG9uKXAgRnQoJywpaChhKWYoYyltKGhhcmFjdGVyKWkoZGVub3RpbmcpZShhKWcoXDAxNGxlJ3MpZyh0KW0oeXApcwotKGUpZyhpcylnKGFwcClzKGVuZGVkKWUodG8paih0aGUpMTExMCAyNTU2IHkoXDAxNGxlbmFtZSllKHdoZW4pZQorKGUpZyhpcylnKGFwcClzKGVuZGVkKWUodG8paih0aGUpMTExMCA0Mjc4IHkoXDAxNGxlbmFtZSllKHdoZW4pZQogKGxpc3RpbmcpaShwKXMob3NzaWJsZSlmKGNvbXBsZXRpb25zLik0MiBiKFRoZSkzMCBiKGRlZmF1bHQpZyhpcyloKGApcAotRnMob2ZmKXAgRnQoJy4pMTUwIDI3MjQgeShLZXkpZihCaW5kaW5ncyk2MzAgMjgzNCB5KFRoZSk0MQorRnMob2ZmKXAgRnQoJy4pMTUwIDQ0MzggeShLZXkpZihCaW5kaW5ncyk2MzAgNDU0OCB5KFRoZSk0MQogYihzeW4pbSh0YXgpaShmb3IpZihjb24pbSh0cm9sbGluZyloKGspbShleSlnKGJpbmRpbmdzKWUoaW4paCh0aGUpZwogKGluaXQpZyhcMDE0bGUpZyhpcylnKHNpbXBsZS4pNzUgYihGaXJzdCk0MyBiKHkpbShvdSk2MzAKLTI5NDQgeShuZWVkKTI3IGIodG8paShcMDE0bmQpZCh0aGUpaShuYW1lKWYob2YpaCh0aGUpZyhjb21tYW5kKWYodGhhdClpCis0NjU3IHkobmVlZCkyNyBiKHRvKWkoXDAxNG5kKWQodGhlKWkobmFtZSlmKG9mKWgodGhlKWcoY29tbWFuZClmKHRoYXQpaQogKHkpbShvdSlmKHcpbShhbiltKHQpZyh0bylnKGMpbShoYW5nZS4pNDEgYihUaGUpMjcgYihmb2xsbyltKHdpbmcpNjMwCi0zMDUzIHkoc2VjdGlvbnMpMzcgYihjb24pbSh0YWluKWcodGFibGVzKWcob2YpZih0aGUpZyhjb21tYW5kKWYobmFtZSwpagorNDc2NyB5KHNlY3Rpb25zKTM3IGIoY29uKW0odGFpbilnKHRhYmxlcylnKG9mKWYodGhlKWcoY29tbWFuZClmKG5hbWUsKWoKICh0aGUpZShkZWZhdWx0KWcoayltKGV5YmluZGluZywpaChpZilmKGFuKW0oeSktOCBiKCwpNjMwCi0zMTYzIHkoYW5kKTMwIGIoYSloKHNob3J0KWYoZGVzY3JpcHRpb24pZyhvZiloKHdoYXQpZih0aGUpZyhjb21tYW5kKWgKLShkbylzKGVzLik2MzAgMzMwMiB5KE9uY2UpMzYgYih5KW0ob3UpZyhrbm8pbSh3KWcodGhlKWcobmFtZSlnKG9mKWcKKzQ4NzYgeShhbmQpMzAgYihhKWgoc2hvcnQpZihkZXNjcmlwdGlvbilnKG9mKWgod2hhdClmKHRoZSlnKGNvbW1hbmQpaAorKGRvKXMoZXMuKTYzMCA1MDExIHkoT25jZSkzNiBiKHkpbShvdSlnKGtubyltKHcpZyh0aGUpZyhuYW1lKWcob2YpZwogKHRoZSlnKGNvbW1hbmQsKWgoc2ltcGx5KWYocGxhY2UpaChvbillKGEpaShsaW5lKWYoaW4pZyh0aGUpZyhpbml0KTYzMAotMzQxMSB5KFwwMTRsZSllKHRoZSlnKG5hbWUpZihvZiloKHRoZSlnKGspbShleSlnKHkpbShvdSlnKHdpc2gpZih0byloCis1MTIxIHkoXDAxNGxlKWUodGhlKWcobmFtZSlmKG9mKWgodGhlKWcoayltKGV5KWcoeSltKG91KWcod2lzaClmKHRvKWgKIChiaW5kKWYodGhlKWgoY29tbWFuZClmKHRvLClpKGEpZihjb2xvbiwpaShhbmQpZCh0aGVuKTYzMAotMzUyMSB5KHRoZSlmKG5hbWUpaChvZilmKHRoZSlnKGNvbW1hbmQuKTQ2IGIoVGhlcmUpMzIKKzUyMzAgeSh0aGUpZihuYW1lKWgob2YpZih0aGUpZyhjb21tYW5kLik0NiBiKFRoZXJlKTMyCiBiKGNhbilnKGIpcyhlKWcobm8pZyhzcGFjZSlnKGIpcyhldCltKHcpbShlZW4paCh0aGUpZihrKW0oZXkpaChuYW1lKWcKLShhbmQpNjMwIDM2MzAgeSh0aGUpNDEgYihjb2xvbiloKHspZih0aGF0KWcod2lsbClnKGIpcyhlKWcoaW4pbQorKGFuZCk2MzAgNTM0MCB5KHRoZSk0MSBiKGNvbG9uKWgoeylmKHRoYXQpZyh3aWxsKWcoYilzKGUpZyhpbiltCiAodGVycHJldGVkKWcoYXMpZyhwYXJ0KWYob2YpaCh0aGUpZyhrKW0oZXkpaChuYW1lLik3MgotYihUaGUpNDAgYihuYW1lKWgob2YpNjMwIDM3NDAgeSh0aGUpMzUgYihrKW0oZXkpZyhjYW4pZyhiKXMoZSlmCi0oZXhwcmVzc2VkKWYoaW4paShkaVwwMTNlcmVuKW0odClnKHcpbShhKW0oeXMsKWgoZGVwKXMoZW5kaW5nKWQob24paAotKHdoYXQpaCh5KW0ob3UpZyhcMDE0bmQpZShtb3N0KTYzMCAzODUwIHkoY29tZm9ydGFibGUuKTYzMAotMzk4OCB5KEluKWkoYWRkaXRpb24paCh0byloKGNvbW1hbmQpZihuYW1lcywpaShyZWFkbGluZSllKGFsbG8pbSh3cyloCi0oayltKGV5cylnKHRvKWcoYilzKGUpZShiKXMob3VuZClmKHRvKWooYSlmKHN0cmluZyk2MzAKLTQwOTggeSh0aGF0KTMxIGIoaXMpZihpbnNlcnRlZCloKHdoZW4pZSh0aGUpaShrKW0oZXkpZyhpcylmKHByZXNzZWQpZwotKFwoYSloIEZxKG1hY3JvKTUgYiBGdChcKS4pNjMwIDQyMzcgeShUaGUpNDIgYiBGcyhiaW5kKTMwCi1iKC1wKTQyIGIgRnQoY29tbWFuZCloKGRpc3BsYSltKHlzKWcoUmVhZGxpbmUpZyhmdW5jdGlvbilnKG5hbWVzKWcoYW5kKQotZihiaW5kaW5ncylnKGluKWgoYSk2MzAgNDM0NiB5KGZvcm1hdCkzNyBiKHRoYXQpaChjYW4pZihwdXQpZihkaXJlY3RseSkKLWkoaW4pbSh0bylnKGFuKWYoaW5pdGlhbGl6YXRpb24paihcMDE0bGUuKTYwIGIoU2VlKTM4Ci1iKFNlY3Rpb24pZig0LjIpaShbQmFzaCk2MzAgNDQ1NiB5KEJ1aWx0aW5zXSwpMzEgYihwYWdlKWcoNDEuKTYzMAotNDYyNCB5IEZxKGspbShleW5hbWUpNSBiIEZ0KDopNDIgYiBGcShmdW5jdGlvbi1uYW1lKTM1Ci1iIEZ0KG9yKWMgRnEobWFjcm8pMTExMCA0NzM0IHkoayltKGV5bmFtZSlrIEZ0KGlzKTI5Ci1iKHRoZSlmKG5hbWUpaChvZilnKGEpZyhrKW0oZXkpaChzcClzKGVsbGVkKWUob3V0KWgoaW4pZyhFbmdsaXNoLikzOQotYihGKS04IGIob3IpMzAgYihleGFtcGxlOikxMzUwIDQ4NzIgeSBGcyhDb250cm9sLXU6KTQ1Ci1iKHVuaXZlcnNhbC1hcmd1bWVudCkxMzUwIDQ5ODIgeShNZXRhLVJ1Ym91dDopZihiYWNrd2FyZC1raWxsLXdvcmQpMTM1MAotNTA5MiB5KENvbnRyb2wtbzopaCgiPilpKG91dHB1dCIpMTExMCA1MjMwIHkgRnQoSW4pMzgKLWIodGhlKWgoYWIpcyhvKW0odiltKGUpaChleGFtcGxlLCloIEZqKEMtdSlkIEZ0KGlzKWgoYilzKG91bmQpZCh0bylrCi0odGhlKWUoZnVuY3Rpb24paCBGcyh1bml2ZXJzYWwtKTExMTAgNTM0MCB5KGFyZ3VtZW50KXAKLUZ0KCwpZiBGaihNLURFTCllIEZ0KGlzKWkoYilzKG91bmQpZSh0bylpKHRoZSlnKGZ1bmN0aW9uKWcKLUZzKGJhY2t3YXJkLWtpbGwtd29yZClwIEZ0KCwpcCBlb3AgZW5kCitiKFRoZSk0MCBiKG5hbWUpaChvZilwIGVvcCBlbmQKICUlUGFnZTogMTAxIDEwNwogVGVYRGljdCBiZWdpbiAxMDEgMTA2IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig4Oik0MQotYihDb21tYW5kKTI5IGIoTGluZSlpKEVkaXRpbmcpMjA2MiBiKDEwMSkxMTEwIDI5OSB5KGFuZCkzOAotYiBGaihDLW8pZyBGdChpcyloKGIpcyhvdW5kKWUodG8paihydW4pZCh0aGUpaihtYWNybylmKGV4cHJlc3NlZClnKG9uKWYKLSh0aGUpaShyaWdoKW0odClmKGhhbmQpMTExMCA0MDggeShzaWRlKTMwIGIoXCh0aGF0KWkoaXMsKWUodG8paChpbnNlcnQpCi1nKHRoZSlmKHRleHQpaShgKXAgRnMoPillKG91dHB1dClwIEZ0KCcpZihpbiltKHRvKWkodGhlKWcobGluZVwpLikxMTEwCi01NDMgeShBKTM3IGIobiltKHVtKW0oYilzKGVyKWYob2YpaChzeW0pbShiKXMob2xpYylnKGMpbShoYXJhY3RlcilpCi0obmFtZXMpZShhcmUpZyhyZWNvZ25pemVkKWgod2hpbGUpZihwcm8tKTExMTAgNjUzIHkoY2Vzc2luZykyNAotYih0aGlzKWcoayltKGV5KWcoYmluZGluZylmKHN5biltKHRheDopMzcgYiBGcShERUwpcAotRnQoLCkyNCBiIEZxKEVTQylwIEZ0KCwpZiBGcShFU0NBUEUpcCBGdCgsKWcgRnEoTEZEKXAKLUZ0KCwpaCBGcShORVctKTExMTAgNzYzIHkoTElORSlwIEZ0KCwpMzAgYiBGcShSRVQpcCBGdCgsKWcKLUZxKFJFVFVSTilwIEZ0KCwpaCBGcShSKW0oVUJPVVQpcCBGdCgsKWcgRnEoU1ApLTggYihBKW0oQ0UpcAotRnQoLCkzMCBiIEZxKFNQQylwIEZ0KCwpZyhhbmQpZiBGcShUKS04IGIoQUIpcCBGdCguKTYzMAotOTIzIHkgRnMoIilwIEZxKGspbShleXNlcSlyIEZzKCIpcCBGdCg6KTQxIGIgRnEoZnVuY3Rpb24tbmFtZSkzNgotYiBGdChvcikzMCBiIEZxKG1hY3JvKTExMTAgMTAzMiB5KGspbShleXNlcSlrIEZ0KGRpXDAxM2VycylkKGZyb20pZgorYihDb21tYW5kKTI5IGIoTGluZSlpKEVkaXRpbmcpMjA2MiBiKDEwMSk2MzAgMjk5IHkodGhlKTM1CitiKGspbShleSlnKGNhbilnKGIpcyhlKWYoZXhwcmVzc2VkKWYoaW4paShkaVwwMTNlcmVuKW0odClnKHcpbShhKW0oeXMsKQoraChkZXApcyhlbmRpbmcpZChvbiloKHdoYXQpaCh5KW0ob3UpZyhcMDE0bmQpZShtb3N0KTYzMAorNDA4IHkoY29tZm9ydGFibGUuKTYzMCA1MzggeShJbilpKGFkZGl0aW9uKWgodG8paChjb21tYW5kKWYobmFtZXMsKWkKKyhyZWFkbGluZSllKGFsbG8pbSh3cyloKGspbShleXMpZyh0bylnKGIpcyhlKWUoYilzKG91bmQpZih0bylqKGEpZgorKHN0cmluZyk2MzAgNjQ4IHkodGhhdCkzMSBiKGlzKWYoaW5zZXJ0ZWQpaCh3aGVuKWUodGhlKWkoayltKGV5KWcoaXMpZgorKHByZXNzZWQpZyhcKGEpaCBGcShtYWNybyk1IGIgRnQoXCkuKTYzMCA3NzggeShUaGUpNDIKK2IgRnMoYmluZCkzMCBiKC1wKTQyIGIgRnQoY29tbWFuZCloKGRpc3BsYSltKHlzKWcoUmVhZGxpbmUpZyhmdW5jdGlvbilnCisobmFtZXMpZyhhbmQpZihiaW5kaW5ncylnKGluKWgoYSk2MzAgODg3IHkoZm9ybWF0KTM3CitiKHRoYXQpaChjYW4pZihwdXQpZihkaXJlY3RseSlpKGluKW0odG8pZyhhbilmKGluaXRpYWxpemF0aW9uKWoKKyhcMDE0bGUuKTYwIGIoU2VlKTM4IGIoU2VjdGlvbilmKDQuMilpKFtCYXNoKTYzMCA5OTcKK3koQnVpbHRpbnNdLCkzMSBiKHBhZ2UpZyg0MS4pNjMwIDExNDcgeSBGcShrKW0oZXluYW1lKTUKK2IgRnQoOik0MiBiIEZxKGZ1bmN0aW9uLW5hbWUpMzUgYiBGdChvciljIEZxKG1hY3JvKTExMTAKKzEyNTcgeShrKW0oZXluYW1lKWsgRnQoaXMpMjkgYih0aGUpZihuYW1lKWgob2YpZyhhKWcoayltKGV5KWgoc3ApcworKGVsbGVkKWUob3V0KWgoaW4pZyhFbmdsaXNoLikzOSBiKEYpLTggYihvcikzMCBiKGV4YW1wbGU6KTEzNTAKKzEzODcgeSBGcyhDb250cm9sLXU6KTQ1IGIodW5pdmVyc2FsLWFyZ3VtZW50KTEzNTAgMTQ5NgoreShNZXRhLVJ1Ym91dDopZihiYWNrd2FyZC1raWxsLXdvcmQpMTM1MCAxNjA2IHkoQ29udHJvbC1vOiloKCI+KWkKKyhvdXRwdXQiKTExMTAgMTczNiB5IEZ0KEluKTM4IGIodGhlKWgoYWIpcyhvKW0odiltKGUpaChleGFtcGxlLCloCitGaShDLXUpZCBGdChpcyloKGIpcyhvdW5kKWQodG8payh0aGUpZShmdW5jdGlvbiloIEZzKHVuaXZlcnNhbC0pMTExMAorMTg0NSB5KGFyZ3VtZW50KXAgRnQoLClmIEZpKE0tREVMKWUgRnQoaXMpaShiKXMob3VuZCllKHRvKWkodGhlKWcKKyhmdW5jdGlvbilnIEZzKGJhY2t3YXJkLWtpbGwtd29yZClwIEZ0KCwpMTExMCAxOTU1IHkoYW5kKWcKK0ZpKEMtbylnIEZ0KGlzKWgoYilzKG91bmQpZSh0bylqKHJ1bilkKHRoZSlqKG1hY3JvKWYoZXhwcmVzc2VkKWcob24pZgorKHRoZSlpKHJpZ2gpbSh0KWYoaGFuZCkxMTEwIDIwNjQgeShzaWRlKTMwIGIoXCh0aGF0KWkoaXMsKWUodG8paAorKGluc2VydClnKHRoZSlmKHRleHQpaShgKXAgRnMoPillKG91dHB1dClwIEZ0KCcpZihpbiltKHRvKWkodGhlKWcKKyhsaW5lXCkuKTExMTAgMjE5NCB5KEEpMzcgYihuKW0odW0pbShiKXMoZXIpZihvZiloKHN5bSltKGIpcyhvbGljKWcoYyltCisoaGFyYWN0ZXIpaShuYW1lcyllKGFyZSlnKHJlY29nbml6ZWQpaCh3aGlsZSlmKHByby0pMTExMAorMjMwNCB5KGNlc3NpbmcpMjIgYih0aGlzKWcoayltKGV5KWcoYmluZGluZyllKHN5biltKHRheDopMzcKK2IgRnEoREVMKXAgRnQoLCkyMiBiIEZxKEVTQyk4IGIgRnQoLCkyMCBiIEZxKEVTQ0FQRSk1CitiIEZ0KCwpMjEgYiBGcShMRkQpNSBiIEZ0KCwpMjIgYiBGcShORVctKTExMTAgMjQxNCB5KExJTkUpNQorYiBGdCgsKTMxIGIgRnEoUkVUKTcgYiBGdCgsKTI5IGIgRnEoUkVUVVJOKTEwIGIgRnQoLCkzMAorYiBGcShSKW0oVUJPVVQpNyBiIEZ0KCwpMzEgYiBGcShTUCktOCBiKEEpbShDRSk1IGIgRnQoLCkzMQorYiBGcShTUEMpOCBiIEZ0KCwpMjkgYihhbmQpaCBGcShUKS04IGIoQUIpNSBiIEZ0KC4pNjMwCisyNTY0IHkgRnMoIilwIEZxKGspbShleXNlcSlyIEZzKCIpcCBGdCg6KTQxIGIgRnEoZnVuY3Rpb24tbmFtZSkzNgorYiBGdChvcikzMCBiIEZxKG1hY3JvKTExMTAgMjY3MyB5KGspbShleXNlcSlrIEZ0KGRpXDAxM2VycylkKGZyb20pZgogRnEoayltKGV5bmFtZSkzNyBiIEZ0KGFiKXMobyltKHYpbShlKTMyIGIoaW4pZih0aGF0KWgoc3RyaW5ncylmCi0oZGVub3RpbmcpZyhhbilnKGVuLSkxMTEwIDExNDIgeSh0aXJlKWooayltKGV5KWgoc2VxdWVuY2UpZihjYW4pZyhiKXMKKyhkZW5vdGluZylnKGFuKWcoZW4tKTExMTAgMjc4MyB5KHRpcmUpaihrKW0oZXkpaChzZXF1ZW5jZSlmKGNhbilnKGIpcwogKGUpZihzcClzKGVjaVwwMTRlZCwpaChiKW0oeSlmKHBsYWNpbmcpaSh0aGUpZihrKW0oZXkpZyhzZXF1ZW5jZSlnKGluKQotMTExMCAxMjUxIHkoZG91YmxlKTI5IGIocXVvdGVzLik0MSBiKFNvbWUpMjkgYiBGbChnbnUpaAorMTExMCAyODkyIHkoZG91YmxlKTI5IGIocXVvdGVzLik0MSBiKFNvbWUpMjkgYiBGbChnbnUpaAogRnQoRW1hY3MpZihzdCltKHlsZSlpKGspbShleSlmKGVzY2FwKXMoZXMpZyhjYW4pZyhiKXMoZSlmKHVzZWQsKWcoYXMpCi0xMTEwIDEzNjEgeShpbilrKHRoZSloKGZvbGxvKW0od2luZylpKGV4YW1wbGUsKWYoYnV0KWUodGhlKWgoc3ApcwotKGVjaWFsKWgoYyltKGhhcmFjdGVyKWcobmFtZXMpZihhcmUpZyhub3QpMTExMCAxNDcxIHkocmVjb2duaXplZC4pMTM1MAotMTYwNiB5IEZzKCJcXEMtdSI6KTQ2IGIodW5pdmVyc2FsLWFyZ3VtZW50KTEzNTAgMTcxNQoteSgiXFxDLXhcXEMtciI6KWYocmUtcmVhZC1pbml0LWZpbGUpMTM1MCAxODI1IHkoIlxcZVsxMX4iOilnKCJGdW5jdGlvbikKLWgoS2V5KWcoMSIpMTExMCAxOTYwIHkgRnQoSW4pNjQgYih0aGUpZyhhYilzKG8pbSh2KW0oZSlpKGV4YW1wbGUsKTc0Ci1iIEZqKEMtdSk2NCBiIEZ0KGlzKWcoYWdhaW4paShiKXMob3VuZCljKHRvKWsodGhlKWUoZnVuY3Rpb24pMTExMAotMjA2OSB5IEZzKHVuaXZlcnNhbC1hcmd1bWVudCkzOSBiIEZ0KFwoanVzdClrKGFzKWgoaXQpZyh3KW0oYXMpZyhpbilnCi0odGhlKWYoXDAxNHJzdClnKGV4YW1wbGVcKSwpNDkgYihgKXAgRmooQy14KTExMTAgMjE3OQoteShDLXIpcCBGdCgnKTQxIGIoaXMpZyhiKXMob3VuZCllKHRvKWoodGhlKWYoZnVuY3Rpb24pZwotRnMocmUtcmVhZC1pbml0LWZpbGUpcCBGdCgsKWUoYW5kKWkoYCkzNDYyIDIxNzYgeSBGZyhoKXAKLTM0ODYgMjEyMyAxMzkgNCB2IDM0ODYgMjE3OSBhIEZmKEVTQylwIDM0ODYgMjE5NCBWIDM2MjAKLTIxNzYgYSBGZyhpKTMxIGIoaClwIDM3MDUgMjEyMyAyMCA0IHYgMzcwNSAyMTc5IGEgRmYoWylwCi0zNzA1IDIxOTUgViAzNzIwIDIxNzYgYSBGZyhpKTExMTAgMjI4NSB5KGgpcCAxMTM0IDIyMzIKLTM2IDQgdiAxMTM0IDIyODggYSBGZigxKXAgMTEzNCAyMzA0IFYgMTE2NSAyMjg1IGEgRmcoaSlmKGgpcAotMTI1MCAyMjMyIFYgMTI1MCAyMjg4IGEgRmYoMSlwIDEyNTAgMjMwNCBWIDEyODEgMjI4NQotYSBGZyhpKWcoaClwIDEzNjUgMjIzMiA0OCA0IHYgMTM2NSAyMjg4IGEgRnMofilwIDEzNjUKLTIzMDQgViAxNDA5IDIyODUgYSBGZyhpKTE0MzggMjI4OCB5IEZ0KCcpaChpcylmKGIpcyhvdW5kKWYodG8paShpbnNlcnQpCi1mKHRoZSloKHRleHQpZyhgKXAgRnMoRnVuY3Rpb24pZChLZXkpaSgxKXAgRnQoJy4pNjMwCi0yNDQ5IHkoVGhlKWYoZm9sbG8pbSh3aW5nKWkgRmwoZ251KWYgRnQoRW1hY3MpZyhzdCltKHlsZSloKGVzY2FwKXMoZSlmCi0oc2VxdWVuY2VzKWcoYXJlKWcoYSltKHYpLTUgYihhaWxhYmxlKTMyIGIod2hlbilkKHNwKXMoZWNpZnlpbmcpNjMwCi0yNTU4IHkoayltKGV5KWkoc2VxdWVuY2VzOik2MzAgMjcxOCB5IEZqKFxcQy0pMzM2IGIgRnQoY29uKW0odHJvbCkzMgotYihwcmVcMDE0eCk2MzAgMjg3OCB5IEZqKFxcTS0pMzM2IGIgRnQobWV0YSkzMSBiKHByZVwwMTR4KTYzMAotMzAzOSB5IEZqKFxcZSkzODQgYiBGdChhbikzMCBiKGVzY2FwKXMoZSloKGMpbShoYXJhY3Rlcik2MzAKLTMxOTkgeSBGaihcXFxcKTM4NCBiIEZ0KGJhYyltKGtzbGFzaCk2MzAgMzM1OSB5IEZqKFxcKXAKLUZzKCIpMTExMCAzMzU2IHkgRmcoaClwIDExMzQgMzMwMyBWIDExMzQgMzM1OSBhIEZzKCIpcAotMTEzNCAzMzc0IFYgMTE3OCAzMzU2IGEgRmcoaSkxMjA4IDMzNTkgeSBGdCgsKTMwIGIoYSloKGRvdWJsZSlmCi0ocXVvdGF0aW9uKWgobWFyayk2MzAgMzUxOSB5IEZqKFxcJykxMTEwIDM1MTYgeSBGZyhoKXAKLTExMzQgMzQ2MyAyMCA0IHYgMTEzNCAzNTE5IGEgRmYoJylwIDExMzQgMzUzNCBWIDExNTAKLTM1MTYgYSBGZyhpKTExNzkgMzUxOSB5IEZ0KCwpZyhhKWcoc2luZ2xlKWcocXVvdGUpZyhvcilmKGFwKXMob3N0cm9waGUpCi02MzAgMzY3OSB5KEluKWQoYWRkaXRpb24paCh0bylnKHRoZSlnIEZsKGdudSlmIEZ0KEVtYWNzKWgoc3QpbSh5bGUpaAotKGVzY2FwKXMoZSlmKHNlcXVlbmNlcywpaChhKWYoc2Vjb25kKWYoc2V0KWgob2YpZyhiYWMpbShrc2xhc2gpNjMwCi0zNzg5IHkoZXNjYXApcyhlcylqKGlzKWYoYSltKHYpLTUgYihhaWxhYmxlOik2MzAgMzk0OQoteSBGcyhcXGEpMzg0IGIgRnQoYWxlcnQpMzEgYihcKGIpcyhlbGxcKSk2MzAgNDEwOSB5IEZzKFxcYikzODQKLWIgRnQoYmFjKW0oa3NwYWNlKTYzMCA0MjY5IHkgRnMoXFxkKWcgRnQoZGVsZXRlKTYzMCA0NDMwCi15IEZzKFxcZilnIEZ0KGZvcm0pMzAgYihmZWVkKTYzMCA0NTkwIHkgRnMoXFxuKTM4NCBiCi1GdChuZXdsaW5lKTYzMCA0NzUwIHkgRnMoXFxyKWcgRnQoY2FycmlhZ2UpMzIgYihyZXR1cm4pNjMwCi00OTEwIHkgRnMoXFx0KTM4NCBiIEZ0KGhvcml6b24pbSh0YWwpMzIgYih0YWIpNjMwIDUwNzAKLXkgRnMoXFx2KTM4NCBiIEZ0KHYpbShlcnRpY2FsKTMyIGIodGFiKTYzMCA1MjMwIHkgRnMoXFwpcAotRmoobm5uKTI4OCBiIEZ0KHRoZSkzNSBiKGVpZ2gpbSh0LWJpdCloKGMpbShoYXJhY3RlcilnKHdob3NlKWUodiktNQotYihhbHVlKTM1IGIoaXMpZyh0aGUpZihvKXMoY3RhbClpKHYpLTUgYihhbHVlKTM1IGIgRnEobm5uKWUKLUZ0KFwob25lKWkodG8pMTExMCA1MzQwIHkodGhyZWUpYyhkaWdpdHNcKSlwIGVvcCBlbmQKKzExMTAgMzAwMiB5KGluKWsodGhlKWgoZm9sbG8pbSh3aW5nKWkoZXhhbXBsZSwpZihidXQpZSh0aGUpaChzcClzCisoZWNpYWwpaChjKW0oaGFyYWN0ZXIpZyhuYW1lcylmKGFyZSlnKG5vdCkxMTEwIDMxMTIgeShyZWNvZ25pemVkLikxMzUwCiszMjQyIHkgRnMoIlxcQy11IjopNDYgYih1bml2ZXJzYWwtYXJndW1lbnQpMTM1MCAzMzUxCit5KCJcXEMteFxcQy1yIjopZihyZS1yZWFkLWluaXQtZmlsZSkxMzUwIDM0NjEgeSgiXFxlWzExfiI6KWcoIkZ1bmN0aW9uKQoraChLZXkpZygxIikxMTEwIDM1OTEgeSBGdChJbik2NCBiKHRoZSlnKGFiKXMobyltKHYpbShlKWkoZXhhbXBsZSwpNzQKK2IgRmkoQy11KTY0IGIgRnQoaXMpZyhhZ2FpbilpKGIpcyhvdW5kKWModG8payh0aGUpZShmdW5jdGlvbikxMTEwCiszNzAwIHkgRnModW5pdmVyc2FsLWFyZ3VtZW50KTM5IGIgRnQoXChqdXN0KWsoYXMpaChpdClnKHcpbShhcylnKGluKWcKKyh0aGUpZihcMDE0cnN0KWcoZXhhbXBsZVwpLCk0OSBiKGApcCBGaShDLXgpMTExMCAzODEwCit5KEMtcilwIEZ0KCcpMzAgYihpcylnKGIpcyhvdW5kKWUodG8paih0aGUpZyhmdW5jdGlvbilmCitGcyhyZS1yZWFkLWluaXQtZmlsZSlwIEZ0KCwpYyhhbmQpaihgKXAgRnMoRVNDKWgoWylnKDEpZygxKTExMTAKKzM5MTkgeSh+KXAgRnQoJylnKGlzKWgoYilzKG91bmQpZCh0bylqKGluc2VydClmKHRoZSloKHRleHQpZyhgKXAKK0ZzKEZ1bmN0aW9uKWUoS2V5KWcoMSlwIEZ0KCcuKTYzMCA0MDcwIHkoVGhlKWcoZm9sbG8pbSh3aW5nKWkKK0ZsKGdudSlmIEZ0KEVtYWNzKWcoc3QpbSh5bGUpaChlc2NhcClzKGUpZihzZXF1ZW5jZXMpZyhhcmUpZyhhKW0odiktNQorYihhaWxhYmxlKTMyIGIod2hlbilkKHNwKXMoZWNpZnlpbmcpNjMwIDQxNzkgeShrKW0oZXkpaShzZXF1ZW5jZXM6KTYzMAorNDMyOSB5IEZpKFxcQy0pMzM2IGIgRnQoY29uKW0odHJvbCkzMiBiKHByZVwwMTR4KTYzMAorNDQ3OSB5IEZpKFxcTS0pMzM2IGIgRnQobWV0YSkzMSBiKHByZVwwMTR4KTYzMCA0NjMwIHkKK0ZpKFxcZSkzODQgYiBGdChhbikzMCBiKGVzY2FwKXMoZSloKGMpbShoYXJhY3Rlcik2MzAKKzQ3ODAgeSBGaShcXFxcKTM4NCBiIEZ0KGJhYyltKGtzbGFzaCk2MzAgNDkzMCB5IEZpKFxcKXAKK0ZzKCIpZygiKXAgRnQoLCkzMCBiKGEpaChkb3VibGUpZihxdW90YXRpb24paShtYXJrKTYzMAorNTA4MCB5IEZpKFxcJykzODQgYiBGcygnKXAgRnQoLCkzMCBiKGEpaChzaW5nbGUpZyhxdW90ZSlnKG9yKWYoYXApcworKG9zdHJvcGhlKTYzMCA1MjMwIHkoSW4pZChhZGRpdGlvbiloKHRvKWcodGhlKWcgRmwoZ251KWYKK0Z0KEVtYWNzKWgoc3QpbSh5bGUpaChlc2NhcClzKGUpZihzZXF1ZW5jZXMsKWgoYSlmKHNlY29uZClmKHNldCloKG9mKWcKKyhiYWMpbShrc2xhc2gpNjMwIDUzNDAgeShlc2NhcClzKGVzKWooaXMpZihhKW0odiktNSBiKGFpbGFibGU6KXAKK2VvcCBlbmQKICUlUGFnZTogMTAyIDEwOAogVGVYRGljdCBiZWdpbiAxMDIgMTA3IGJvcCAxNTAgLTExNiBhIEZ0KDEwMikyNTI3IGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5IEZzKFxceClwIEZqKEhIKTI4OAotYiBGdCh0aGUpNDAgYihlaWdoKW0odC1iaXQpaChjKW0oaGFyYWN0ZXIpZyh3aG9zZSllKHYpLTUKLWIoYWx1ZSkzOSBiKGlzKWgodGhlKWYoaGV4YWRlY2ltYWwpaSh2KS01IGIoYWx1ZSk0MCBiCi1GcShISCkxMTEwIDQwOCB5IEZ0KFwob25lKTMxIGIob3IpZih0KW0odyltKG8paShoZXgpZShkaWdpdHNcKSk2MzAKLTU1NCB5KFdoZW4pMzcgYihlbiltKHRlcmluZyloKHRoZSlnKHRleHQpZyhvZilnKGEpZyhtYWNybywpaShzaW5nbGUpZQotKG9yKWYoZG91YmxlKWcocXVvdGVzKWgobSltKHVzdClmKGIpcyhlKWcodXNlZClmKHRvKTYzMAotNjY0IHkoaW5kaWNhdGUpMjMgYihhKWUobWFjcm8paChkZVwwMTRuaXRpb24uKTM4IGIoVW5xdW90ZWQpMjEKLWIodGV4dClpKGlzKWUoYXNzdW1lZClnKHRvKWgoYilzKGUpZihhKWgoZnVuY3Rpb24pZihuYW1lLikzOAotYihJbik2MzAgNzczIHkodGhlKTIyIGIobWFjcm8pZihiKXMobylzKGR5KS04IGIoLCkyMwotYih0aGUpZShiYWMpbShrc2xhc2gpaChlc2NhcClzKGVzKWcoZGVzY3JpYilzKGVkKWUoYWIpcyhvKW0odiltKGUpagotKGFyZSllKGV4cGFuZGVkLikzNyBiKEJhYyltKGtzbGFzaCk2MzAgODgzIHkod2lsbClqKHF1b3RlKWgoYW4pbSh5KWYKLShvdGhlcilnKGMpbShoYXJhY3RlcilpKGluKWQodGhlKWkobWFjcm8pZih0ZXh0LClrKGluY2x1ZGluZykzOQorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5IEZzKFxcYSkzODQgYiBGdChhbGVydCkzMQorYihcKGIpcyhlbGxcKSk2MzAgNDYwIHkgRnMoXFxiKTM4NCBiIEZ0KGJhYyltKGtzcGFjZSk2MzAKKzYyMSB5IEZzKFxcZClnIEZ0KGRlbGV0ZSk2MzAgNzgyIHkgRnMoXFxmKWcgRnQoZm9ybSkzMAorYihmZWVkKTYzMCA5NDMgeSBGcyhcXG4pMzg0IGIgRnQobmV3bGluZSk2MzAgMTEwNCB5IEZzKFxccilnCitGdChjYXJyaWFnZSkzMiBiKHJldHVybik2MzAgMTI2NiB5IEZzKFxcdCkzODQgYiBGdChob3Jpem9uKW0odGFsKTMyCitiKHRhYik2MzAgMTQyNyB5IEZzKFxcdikzODQgYiBGdCh2KW0oZXJ0aWNhbCkzMiBiKHRhYik2MzAKKzE1ODggeSBGcyhcXClwIEZpKG5ubikyODggYiBGdCh0aGUpMzUgYihlaWdoKW0odC1iaXQpaChjKW0oaGFyYWN0ZXIpZworKHdob3NlKWUodiktNSBiKGFsdWUpMzUgYihpcylnKHRoZSlmKG8pcyhjdGFsKWkodiktNQorYihhbHVlKTM1IGIgRnEobm5uKWUgRnQoXChvbmUpaSh0bykxMTEwIDE2OTcgeSh0aHJlZSljKGRpZ2l0c1wpKTYzMAorMTg1OCB5IEZzKFxceClwIEZpKEhIKTI4OCBiIEZ0KHRoZSk0MCBiKGVpZ2gpbSh0LWJpdCloKGMpbShoYXJhY3RlcilnCisod2hvc2UpZSh2KS01IGIoYWx1ZSkzOSBiKGlzKWgodGhlKWYoaGV4YWRlY2ltYWwpaSh2KS01CitiKGFsdWUpNDAgYiBGcShISCkxMTEwIDE5NjggeSBGdChcKG9uZSkzMSBiKG9yKWYodCltKHcpbShvKWkoaGV4KWUKKyhkaWdpdHNcKSk2MzAgMjEyOSB5KFdoZW4pMzcgYihlbiltKHRlcmluZyloKHRoZSlnKHRleHQpZyhvZilnKGEpZworKG1hY3JvLClpKHNpbmdsZSllKG9yKWYoZG91YmxlKWcocXVvdGVzKWgobSltKHVzdClmKGIpcyhlKWcodXNlZClmKHRvKQorNjMwIDIyMzkgeShpbmRpY2F0ZSkyMyBiKGEpZShtYWNybyloKGRlXDAxNG5pdGlvbi4pMzgKK2IoVW5xdW90ZWQpMjEgYih0ZXh0KWkoaXMpZShhc3N1bWVkKWcodG8paChiKXMoZSlmKGEpaChmdW5jdGlvbilmCisobmFtZS4pMzggYihJbik2MzAgMjM0OCB5KHRoZSkyMiBiKG1hY3JvKWYoYilzKG8pcyhkeSktOAorYigsKTIzIGIodGhlKWUoYmFjKW0oa3NsYXNoKWgoZXNjYXApcyhlcylnKGRlc2NyaWIpcyhlZCllKGFiKXMobyltKHYpbQorKGUpaihhcmUpZShleHBhbmRlZC4pMzcgYihCYWMpbShrc2xhc2gpNjMwIDI0NTggeSh3aWxsKWoocXVvdGUpaChhbiltCisoeSlmKG90aGVyKWcoYyltKGhhcmFjdGVyKWkoaW4pZCh0aGUpaShtYWNybylmKHRleHQsKWsoaW5jbHVkaW5nKTM5CiBiKGApcCBGcygiKXAgRnQoJyloKGFuZClnKGApcCBGcygnKXAgRnQoJy4pNjkgYihGKS04Ci1iKG9yKTYzMCA5OTMgeShleGFtcGxlLCkyOCBiKHRoZSllKGZvbGxvKW0od2luZyloKGJpbmRpbmcpZCh3aWxsKWkobWFrKQotbShlKWgoYClwIEZqKEMteClqIEZzKFxcKXAgRnQoJyljKGluc2VydClmKGEpaChzaW5nbGUpaChgKXAKLUZzKFxcKXAgRnQoJylmKGluKW0odG8pZyh0aGUpZyhsaW5lOik4NzAgMTEyMCB5IEZzKCJcXEMteFxcXFwiOik0NQotYigiXFxcXCIpMTUwIDEzMjQgeSBGayg4LjMuMik2MyBiKENvbmRpdGlvbmFsKTQxIGIoSW5pdClnKENvbnN0cnVjdHMpCi0yNzUgMTU2MSB5IEZ0KFJlYWRsaW5lKTM2IGIoaW1wbGVtZW4pbSh0cylmKGEpaChmYWNpbGl0KW0oeSlpKHNpbWlsYXIpZAotKGluKWcoc3Bpcml0KWcodG8paCh0aGUpZyhjb25kaXRpb25hbCloKGNvbXBpbGF0aW9uKWcoZmVhdHVyZXMpMTUwCi0xNjcxIHkob2YpZSh0aGUpZihDKWcocHJlcHJvKXMoY2Vzc29yKWcod2hpYyltKGgpZyhhbGxvKW0od3MpaShrKW0oZXkpZgotKGJpbmRpbmdzKWUoYW5kKWgodiktNSBiKGFyaWFibGUpMzUgYihzZXR0aW5ncyloKHRvKWYoYilzKGUpZihwKXMKLShlcmZvcm1lZClmKGFzKTE1MCAxNzgxIHkodGhlKWUocmVzdWx0KWYob2YpZyh0ZXN0cy4pNDIKLWIoVGhlcmUpMzAgYihhcmUpaChmb3VyKWUocGFyc2VyKWgoZGlyZWN0aXYpbShlcylpKHVzZWQuKTE1MAotMTkyNiB5IEZzKCRpZikzMzYgYiBGdChUaGUpMzEgYiBGcygkaWYpZiBGdChjb25zdHJ1Y3QpaShhbGxvKW0od3MpaAorYihvcik2MzAgMjU2OCB5KGV4YW1wbGUsKTI4IGIodGhlKWUoZm9sbG8pbSh3aW5nKWgoYmluZGluZylkKHdpbGwpaQorKG1hayltKGUpaChgKXAgRmkoQy14KWogRnMoXFwpcCBGdCgnKWMoaW5zZXJ0KWYoYSloKHNpbmdsZSloKGApcAorRnMoXFwpcCBGdCgnKWYoaW4pbSh0bylnKHRoZSlnKGxpbmU6KTg3MCAyNzAzIHkgRnMoIlxcQy14XFxcXCI6KTQ1CitiKCJcXFxcIikxNTAgMjkwNCB5IEZqKDguMy4yKTYzIGIoQ29uZGl0aW9uYWwpNDEgYihJbml0KWcoQ29uc3RydWN0cykKKzE1MCAzMDUxIHkgRnQoUmVhZGxpbmUpYyhpbXBsZW1lbiltKHRzKWcoYSloKGZhY2lsaXQpbSh5KWcoc2ltaWxhcilmCisoaW4pZyhzcGlyaXQpZih0bylpKHRoZSlmKGNvbmRpdGlvbmFsKWgoY29tcGlsYXRpb24pZyhmZWF0dXJlcylmKG9mKTE1MAorMzE2MCB5KHRoZSkzMSBiKEMpZihwcmVwcm8pcyhjZXNzb3IpZyh3aGljKW0oaClnKGFsbG8pbSh3cylpKGspbShleSlnCisoYmluZGluZ3MpZChhbmQpaCh2KS01IGIoYXJpYWJsZSkzMiBiKHNldHRpbmdzKWYodG8paChiKXMoZSllKHApcworKGVyZm9ybWVkKWYoYXMpaSh0aGUpMTUwIDMyNzAgeShyZXN1bHQpZihvZiloKHRlc3RzLik0MQorYihUaGVyZSkzMCBiKGFyZSloKGZvdXIpZihwYXJzZXIpZihkaXJlY3RpdiltKGVzKWoodXNlZC4pMTUwCiszNDMyIHkgRnMoJGlmKTMzNiBiIEZ0KFRoZSkzMSBiIEZzKCRpZilmIEZ0KGNvbnN0cnVjdClpKGFsbG8pbSh3cyloCiAoYmluZGluZ3MpZCh0bylpKGIpcyhlKWUobWFkZSlpKGJhc2VkKWYob24pZyh0aGUpZyhlZGl0aW5nKWgobW8pcyhkZSwpZwotKHRoZSk2MzAgMjAzNiB5KHRlcm1pbmFsKTM5IGIoYilzKGVpbmcpZSh1c2VkLClqKG9yKWUodGhlKWcKKyh0aGUpNjMwIDM1NDIgeSh0ZXJtaW5hbCkzOSBiKGIpcyhlaW5nKWUodXNlZCwpaihvcillKHRoZSlnCiAoYXBwbGljYXRpb24paCh1c2luZylmKFJlYWRsaW5lLik2NCBiKFRoZSkzOCBiKHRleHQpaChvZilmKHRoZSlnKHRlc3QpCi02MzAgMjE0NiB5KGV4dGVuZHMpMzAgYih0byloKHRoZSlnKGVuZClmKG9mKWcodGhlKWgobGluZTspZyhubylmKGMpbQorNjMwIDM2NTEgeShleHRlbmRzKTMwIGIodG8paCh0aGUpZyhlbmQpZihvZilnKHRoZSloKGxpbmU7KWcobm8pZihjKW0KIChoYXJhY3RlcnMpaShhcmUpZihyZXF1aXJlZCllKHRvKWkoaXNvbGF0ZSlpKGl0Lik2MzAKLTIyOTEgeSBGcyhtb2RlKTI4OCBiIEZ0KFRoZSkyMCBiIEZzKG1vZGU9KWcgRnQoZm9ybSlnKG9mKWgodGhlKWcKKzM4MTIgeSBGcyhtb2RlKTI4OCBiIEZ0KFRoZSkyMCBiIEZzKG1vZGU9KWcgRnQoZm9ybSlnKG9mKWgodGhlKWcKIEZzKCRpZilmIEZ0KGRpcmVjdGl2KW0oZSlqKGlzKWUodXNlZClmKHRvKWgodGVzdCloKHdoZXRoZXIpZShSZWFkbGluZSkKLTExMTAgMjQwMSB5KGlzKTI5IGIoaW4paCBGcyhlbWFjcyllIEZ0KG9yKWggRnModmkpZyBGdChtbylzKGRlLik0MAorMTExMCAzOTIyIHkoaXMpMjkgYihpbiloIEZzKGVtYWNzKWUgRnQob3IpaCBGcyh2aSlnIEZ0KG1vKXMoZGUuKTQwCiBiKFRoaXMpMjkgYihtYSltKHkpaChiKXMoZSllKHVzZWQpaChpbilnKGNvbmp1bmN0aW9uKWgod2l0aClmKHRoZSkxMTEwCi0yNTExIHkoYClwIEZzKHNldCloKGtleW1hcClwIEZ0KCcpYyhjb21tYW5kLClpKGZvcilmKGluc3RhbmNlLClpKHRvKWYKLShzZXQpZyhiaW5kaW5ncylmKGluKWcodGhlKWggRnMoZW1hY3MtKTExMTAgMjYyMCB5KHN0YW5kYXJkKTIzCis0MDMxIHkoYClwIEZzKHNldCloKGtleW1hcClwIEZ0KCcpYyhjb21tYW5kLClpKGZvcilmKGluc3RhbmNlLClpKHRvKWYKKyhzZXQpZyhiaW5kaW5ncylmKGluKWcodGhlKWggRnMoZW1hY3MtKTExMTAgNDE0MSB5KHN0YW5kYXJkKTIzCiBiIEZ0KGFuZCloIEZzKGVtYWNzLWN0bHgpZiBGdChrKW0oZXltYXBzKWkob25seSlnKGlmKWcoUmVhZGxpbmUpaChpcylmCi0oc3RhcnRpbmcpaChvdXQpMTExMCAyNzMwIHkoaW4payBGcyhlbWFjcylmIEZ0KG1vKXMoZGUuKTYzMAotMjg3NiB5IEZzKHRlcm0pMjg4IGIgRnQoVGhlKTI2IGIgRnModGVybT0pZyBGdChmb3JtKWcobWEpbSh5KWkoYilzKGUpZQorKHN0YXJ0aW5nKWgob3V0KTExMTAgNDI1MSB5KGluKWsgRnMoZW1hY3MpZiBGdChtbylzKGRlLik2MzAKKzQ0MTIgeSBGcyh0ZXJtKTI4OCBiIEZ0KFRoZSkyNiBiIEZzKHRlcm09KWcgRnQoZm9ybSlnKG1hKW0oeSlpKGIpcyhlKWUKICh1c2VkKWcodG8paShpbmNsdWRlKWYodGVybWluYWwtc3ApcyhlY2lcMDE0YylnKGspbShleSloKGJpbmQtKTExMTAKLTI5ODUgeShpbmdzLCkzOCBiKHApcyhlcmhhcHMpYyh0bylqKGJpbmQpZSh0aGUpaChrKW0oZXkpaChzZXF1ZW5jZXMpZgotKG91dHB1dClnKGIpbSh5KWcodGhlKWcodGVybWluYWwncykxMTEwIDMwOTUgeShmdW5jdGlvbikyNAorNDUyMSB5KGluZ3MsKTM4IGIocClzKGVyaGFwcyljKHRvKWooYmluZCllKHRoZSloKGspbShleSloKHNlcXVlbmNlcylmCisob3V0cHV0KWcoYiltKHkpZyh0aGUpZyh0ZXJtaW5hbCdzKTExMTAgNDYzMSB5KGZ1bmN0aW9uKTI0CiBiKGspbShleXMuKTM5IGIoVGhlKTIzIGIodyltKG9yZCloKG9uKWYodGhlKWkocmlnaCltKHQpZihzaWRlKWcob2YpZwotKHRoZSlnKGApcCBGcyg9KXAgRnQoJylnKGlzKWcodGVzdGVkKWgoYWdhaW5zdCkxMTEwIDMyMDQKKyh0aGUpZyhgKXAgRnMoPSlwIEZ0KCcpZyhpcylnKHRlc3RlZCloKGFnYWluc3QpMTExMCA0NzQxCiB5KGIpcyhvdGgpayh0aGUpaChmdWxsKWcobmFtZSlnKG9mKWcodGhlKWcodGVybWluYWwpaChhbmQpZSh0aGUpaShwKXMKLShvcnRpb24pZShvZiloKHRoZSlnKHRlcm1pbmFsKTExMTAgMzMxNCB5KG5hbWUpayhiKXMoZWZvcmUpZih0aGUpZworKG9ydGlvbillKG9mKWgodGhlKWcodGVybWluYWwpMTExMCA0ODUwIHkobmFtZSlrKGIpcyhlZm9yZSlmKHRoZSlnCiAoXDAxNHJzdClnKGApcCBGcygtKXAgRnQoJy4pNTAgYihUaGlzKTMzIGIoYWxsbyltKHdzKWkKIEZzKHN1billIEZ0KHRvKWgobWF0YyltKGgpZyhiKXMob3RoKWYgRnMoc3VuKWcgRnQoYW5kKTExMTAKLTM0MjQgeSBGcyhzdW4tY21kKXAgRnQoLCljKGZvciloKGluc3RhbmNlLik2MzAgMzU2OSB5Ci1GcyhhcHBsaWNhdGlvbikxMTEwIDM2NzkgeSBGdChUaGUpMjEgYiBGcShhcHBsaWNhdGlvbilqCis0OTYwIHkgRnMoc3VuLWNtZClwIEZ0KCwpYyhmb3IpaChpbnN0YW5jZS4pNjMwIDUxMjEgeQorRnMoYXBwbGljYXRpb24pMTExMCA1MjMwIHkgRnQoVGhlKTIxIGIgRnEoYXBwbGljYXRpb24pagogRnQoY29uc3RydWN0KWUoaXMpZyh1c2VkKWYodG8paShpbmNsdWRlKWYoYXBwbGljYXRpb24tc3ApcyhlY2lcMDE0YyloCi0oc2V0LSkxMTEwIDM3ODkgeSh0aW5ncy4pMzkgYihFYWMpbShoKTI2IGIocHJvZ3JhbSllKHVzaW5nKWcodGhlKWgKLShSZWFkbGluZSlnKGxpYnJhcnkpZyhzZXRzKWcodGhlKWcgRnEoYXBwbGljYXRpb24pMTExMAotMzg5OCB5KG5hbWUpcCBGdCgsKWcoYW5kKWUoeSltKG91KWcoY2FuKWgodGVzdClnKGZvcilmKGEpZyhwYXJ0aWN1bGFyKWgKLSh2KS01IGIoYWx1ZS4pMzkgYihUaGlzKTIyIGIoY291bGQpaChiKXMoZSlnKHVzZWQpZih0bykxMTEwCi00MDA4IHkoYmluZCkzMiBiKGspbShleSloKHNlcXVlbmNlcylnKHRvKWgoZnVuY3Rpb25zKWUodXNlZnVsKWcoZm9yKWgKLShhKWcoc3ApcyhlY2lcMDE0YylmKHByb2dyYW0uKTQ4IGIoRiktOCBiKG9yKTExMTAgNDExNwoteShpbnN0YW5jZSwpMzUgYih0aGUpZShmb2xsbyltKHdpbmcpaChjb21tYW5kKWYoYWRkcylmKGEpaShrKW0oZXkpZgotKHNlcXVlbmNlKWgodGhhdClmKHF1b3RlcykxMTEwIDQyMjcgeSh0aGUpZShjdXJyZW4pbSh0KWYob3IpZyhwcmV2aW91cykKLWcodyltKG9yZClnKGluKWcoQmFzaDopMTM1MCA0MzU1IHkgRnMoJGlmKTQ3IGIoQmFzaCkxMzUwCi00NDY0IHkoIylnKFF1b3RlKWcodGhlKWcoY3VycmVudClmKG9yKWgocHJldmlvdXMpZSh3b3JkKTEzNTAKLTQ1NzQgeSgiXFxDLXhxIjopaCgiXFxlYlxcIlxcZWZcXCIiKTEzNTAgNDY4MyB5KCRlbmRpZikxNTAKLTQ4MjkgeSgkZW5kaWYpMTkyIGIgRnQoVGhpcykyOSBiKGNvbW1hbmQsKWkoYXMpZihzZWVuKWgoaW4pZih0aGUpZwotKHByZXZpb3VzKWcoZXhhbXBsZSwpaCh0ZXJtaW5hdGVzKWcoYW4pZyBGcygkaWYpZSBGdChjb21tYW5kLikxNTAKLTQ5NzUgeSBGcygkZWxzZSkyNDAgYiBGdChDb21tYW5kcykyOSBiKGluKWgodGhpcyloKGJyYW5jKW0oaCllKG9mKWkKLSh0aGUpZiBGcygkaWYpZyBGdChkaXJlY3RpdiltKGUpaShhcmUpZihleGVjdXRlZClnKGlmKWYodGhlKWgodGVzdClnCi0oZmFpbHMuKTE1MCA1MTIxIHkgRnMoJGluY2x1ZGUpOTYgYiBGdChUaGlzKTQzIGIoZGlyZWN0aXYpbShlKWkodGFrKW0KLShlcylnKGEpZShzaW5nbGUpaShcMDE0bGVuYW1lKWUoYXMpaChhbilmKGFyZ3VtZW4pbSh0KWgoYW5kKWYocmVhZHMpZwotKGNvbW1hbmRzKTYzMCA1MjMwIHkoYW5kKTM4IGIoYmluZGluZ3MpZihmcm9tKWgodGhhdClpKFwwMTRsZS4pNjUKLWIoRiktOCBiKG9yKTM5IGIoZXhhbXBsZSwpaih0aGUpZChmb2xsbyltKHdpbmcpaChkaXJlY3RpdiltKGUpZyhyZWFkcyllCi0oZnJvbSk2MzAgNTM0MCB5KGApcCBGcygvZXRjL2lucHV0cmMpcCBGdCgnOilwIGVvcCBlbmQKKyhzZXQtKTExMTAgNTM0MCB5KHRpbmdzLikzOSBiKEVhYyltKGgpMjYgYihwcm9ncmFtKWUodXNpbmcpZyh0aGUpaAorKFJlYWRsaW5lKWcobGlicmFyeSlnKHNldHMpZyh0aGUpZyBGcShhcHBsaWNhdGlvbilwIGVvcAorZW5kCiAlJVBhZ2U6IDEwMyAxMDkKIFRlWERpY3QgYmVnaW4gMTAzIDEwOCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoODopNDEKLWIoQ29tbWFuZCkyOSBiKExpbmUpaShFZGl0aW5nKTIwNjIgYigxMDMpODcwIDI5OSB5IEZzKCRpbmNsdWRlKTQ2Ci1iKC9ldGMvaW5wdXRyYykxNTAgNTIzIHkgRmsoOC4zLjMpNjMgYihTYW1wbGUpNDEgYihJbml0KWcoRmlsZSkyNzUKLTc2NyB5IEZ0KEhlcmUpMzEgYihpcylmKGFuKWcoZXhhbXBsZSlpKG9mKWUoYW4pZyBGcShpbnB1dHJjKTM1Ci1iIEZ0KFwwMTRsZS4pNDIgYihUaGlzKTI5IGIoaWxsdXN0cmF0ZXMpaihrKW0oZXkpZihiaW5kaW5nLClmKHYpLTUKLWIoYXJpYWJsZSkzMSBiKGFzc2lnbm1lbiltKHQsKTE1MCA4NzcgeShhbmQpZihjb25kaXRpb25hbCloKHN5biltKHRheC4pCi1wIGVvcCBlbmQKK2IoQ29tbWFuZCkyOSBiKExpbmUpaShFZGl0aW5nKTIwNjIgYigxMDMpMTExMCAyOTkgeSBGcShuYW1lKTUKK2IgRnQoLCkyNSBiKGFuZClkKHkpbShvdSloKGNhbilnKHRlc3QpaChmb3IpZShhKWgocGFydGljdWxhciloKHYpLTUKK2IoYWx1ZS4pMzggYihUaGlzKTIyIGIoY291bGQpaChiKXMoZSlmKHVzZWQpZyh0bykxMTEwCis0MDggeShiaW5kKTMyIGIoayltKGV5KWgoc2VxdWVuY2VzKWcodG8paChmdW5jdGlvbnMpZSh1c2VmdWwpZyhmb3IpaChhKQorZyhzcClzKGVjaVwwMTRjKWYocHJvZ3JhbS4pNDggYihGKS04IGIob3IpMTExMCA1MTggeShpbnN0YW5jZSwpMzUKK2IodGhlKWUoZm9sbG8pbSh3aW5nKWgoY29tbWFuZClmKGFkZHMpZihhKWkoayltKGV5KWYoc2VxdWVuY2UpaCh0aGF0KWYKKyhxdW90ZXMpMTExMCA2MjggeSh0aGUpZShjdXJyZW4pbSh0KWYob3IpZyhwcmV2aW91cylnKHcpbShvcmQpZyhpbilnCisoQmFzaDopMTM1MCA3NjIgeSBGcygkaWYpNDcgYihCYXNoKTEzNTAgODcyIHkoIylnKFF1b3RlKWcodGhlKWcKKyhjdXJyZW50KWYob3IpaChwcmV2aW91cyllKHdvcmQpMTM1MCA5ODEgeSgiXFxDLXhxIjopaAorKCJcXGViXFwiXFxlZlxcIiIpMTM1MCAxMDkxIHkoJGVuZGlmKTE1MCAxMjUwIHkoJGVuZGlmKTE5MgorYiBGdChUaGlzKTI5IGIoY29tbWFuZCwpaShhcylmKHNlZW4paChpbilmKHRoZSlnKHByZXZpb3VzKWcoZXhhbXBsZSwpaAorKHRlcm1pbmF0ZXMpZyhhbilnIEZzKCRpZillIEZ0KGNvbW1hbmQuKTE1MCAxNDEwIHkgRnMoJGVsc2UpMjQwCitiIEZ0KENvbW1hbmRzKTI5IGIoaW4paCh0aGlzKWgoYnJhbmMpbShoKWUob2YpaSh0aGUpZgorRnMoJGlmKWcgRnQoZGlyZWN0aXYpbShlKWkoYXJlKWYoZXhlY3V0ZWQpZyhpZilmKHRoZSloKHRlc3QpZyhmYWlscy4pCisxNTAgMTU2OSB5IEZzKCRpbmNsdWRlKTk2IGIgRnQoVGhpcyk0MyBiKGRpcmVjdGl2KW0oZSlpKHRhayltKGVzKWcoYSllCisoc2luZ2xlKWkoXDAxNGxlbmFtZSllKGFzKWgoYW4pZihhcmd1bWVuKW0odCloKGFuZClmKHJlYWRzKWcoY29tbWFuZHMpCis2MzAgMTY3OSB5KGFuZCkzOCBiKGJpbmRpbmdzKWYoZnJvbSloKHRoYXQpaShcMDE0bGUuKTY1CitiKEYpLTggYihvcikzOSBiKGV4YW1wbGUsKWoodGhlKWQoZm9sbG8pbSh3aW5nKWgoZGlyZWN0aXYpbShlKWcocmVhZHMpZQorKGZyb20pNjMwIDE3ODggeShgKXAgRnMoL2V0Yy9pbnB1dHJjKXAgRnQoJzopODcwIDE5MjMKK3kgRnMoJGluY2x1ZGUpNDYgYigvZXRjL2lucHV0cmMpMTUwIDIxMjIgeSBGaig4LjMuMyk2MworYihTYW1wbGUpNDEgYihJbml0KWcoRmlsZSkxNTAgMjI2OSB5IEZ0KEhlcmUpMjcgYihpcylmKGFuKWgoZXhhbXBsZSlnCisob2YpZihhbiloIEZxKGlucHV0cmMpayBGdChcMDE0bGUuKTM5IGIoVGhpcykyNiBiKGlsbHVzdHJhdGVzKWgoayltKGV5KQoraChiaW5kaW5nLCllKHYpLTUgYihhcmlhYmxlKTI3IGIoYXNzaWdubWVuKW0odCwpaShhbmQpMTUwCisyMzc5IHkoY29uZGl0aW9uYWwpaihzeW4pbSh0YXguKXAgZW9wIGVuZAogJSVQYWdlOiAxMDQgMTEwCiBUZVhEaWN0IGJlZ2luIDEwNCAxMDkgYm9wIDE1MCAtMTE2IGEgRnQoMTA0KTI1MjcgYihCYXNoKTMxCiBiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkzOTAgNDA4IHkgRnMoIyk0NyBiKFRoaXMpZyhmaWxlKWcoY29udHJvbHMpZQpAQCAtMTIxNzcsMTY4ICsxMjA5NSwxNzAgQEAKIGIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTM5MCAyOTkgeSBGcygjKTQ3IGIoRm9yKWcoRlRQKTM5MAogNDA4IHkoJGlmKWcoRnRwKTM5MCA1MTggeSgiXFxDLXhnIjopZigiZ2V0KWcoXFxNLT8iKTM5MAogNjI4IHkoIlxcQy14dCI6KWcoInB1dClnKFxcTS0/IikzOTAgNzM3IHkoIlxcTS0uIjopZyh5YW5rLWxhc3QtYXJnKTM5MAotODQ3IHkoJGVuZGlmKTE1MCAxMTA5IHkgRnIoOC40KTY4IGIoQmluZGFibGUpNDUgYihSZWFkbGluZSlpKENvbW1hbmRzKQotMjc1IDEzNTYgeSBGdChUaGlzKTM0IGIoc2VjdGlvbilqKGRlc2NyaWIpcyhlcyllKFJlYWRsaW5lKWgoY29tbWFuZHMpZwotKHRoYXQpZyhtYSltKHkpZyhiKXMoZSlmKGIpcyhvdW5kKWYodG8paShrKW0oZXkpaChzZXF1ZW5jZXMuKTU2Ci1iKFkpLTggYihvdSkxNTAgMTQ2NSB5KGNhbikyOSBiKGxpc3QpZyh5KW0ob3VyKWcoayltKGV5KWcoYmluZGluZ3MpZihiKQotbSh5KWgoZXhlY3V0aW5nKWcgRnMoYmluZCloKC1QKWUgRnQob3IsKWgoZm9yKWcoYSlnKG1vcmUpZih0ZXJzZSlpCi0oZm9ybWF0LClmKHN1aXRhYmxlKWgoZm9yKWUoYW4pMTUwIDE1NzUgeSBGcShpbnB1dHJjKTM0Cis4NDcgeSgkZW5kaWYpMTUwIDEwNzUgeSBGcig4LjQpNjggYihCaW5kYWJsZSk0NSBiKFJlYWRsaW5lKWkoQ29tbWFuZHMpCisxNTAgMTIzNSB5IEZ0KFRoaXMpMzIgYihzZWN0aW9uKWgoZGVzY3JpYilzKGVzKWYoUmVhZGxpbmUpaChjb21tYW5kcylmCisodGhhdCloKG1hKW0oeSloKGIpcyhlKWQoYilzKG91bmQpZyh0bylpKGspbShleSlnKHNlcXVlbmNlcy4pNDgKK2IoWSktOCBiKG91KTMzIGIoY2FuKTE1MCAxMzQ0IHkobGlzdCk0MCBiKHkpbShvdXIpZihrKW0oZXkpaShiaW5kaW5ncylkCisoYiltKHkpaChleGVjdXRpbmcpaSBGcyhiaW5kKTI5IGIoLVApMzkgYiBGdChvciwpaihmb3IpZChhKWgobW9yZSlnCisodGVyc2UpZyhmb3JtYXQsKWkoc3VpdGFibGUpZShmb3IpZihhbikxNTAgMTQ1NCB5IEZxKGlucHV0cmMpMzQKIGIgRnQoXDAxNGxlLCkyOSBiIEZzKGJpbmQpZygtcClwIEZ0KC4pNDAgYihcKFNlZSkzMCBiKFNlY3Rpb24pZig0LjIpaAogKFtCYXNoKWcoQnVpbHRpbnNdLClnKHBhZ2UpZyg0MS5cKSk0MSBiKENvbW1hbmQpMjggYihuYW1lcyloKHdpdGhvdXQpCi0xNTAgMTY4NCB5KGFuKWgoYWNjb21wYW4pbSh5aW5nKWkoayltKGV5KWYoc2VxdWVuY2UpZyhhcmUpZyh1biltKGIpcwotKG91bmQpZChiKW0oeSlpKGRlZmF1bHQuKTI3NSAxODIxIHkoSW4pMjUgYih0aGUpaChmb2xsbyltKHdpbmcpaQorMTUwIDE1NjMgeShhbiloKGFjY29tcGFuKW0oeWluZylpKGspbShleSlmKHNlcXVlbmNlKWcoYXJlKWcodW4pbShiKXMKKyhvdW5kKWQoYiltKHkpaShkZWZhdWx0LikyNzUgMTY5NiB5KEluKTI1IGIodGhlKWgoZm9sbG8pbSh3aW5nKWkKIChkZXNjcmlwdGlvbnMsKWYgRnEocClzKG9pbiltKHQpaCBGdChyZWZlcnMpZSh0byloKHRoZSlmKGN1cnJlbiltKHQpZwogKGN1cnNvcilnKHApcyhvc2l0aW9uLCloKGFuZClmIEZxKG1hcmspMzEgYiBGdChyZWZlcnMpMTUwCi0xOTMxIHkodG8pNDAgYihhKWYoY3Vyc29yKWYocClzKG9zaXRpb24paChzYSltKHYpbShlZCloKGIpbSh5KWYodGhlKWcKKzE4MDUgeSh0byk0MCBiKGEpZihjdXJzb3IpZihwKXMob3NpdGlvbiloKHNhKW0odiltKGVkKWgoYiltKHkpZih0aGUpZwogRnMoc2V0LW1hcmspZCBGdChjb21tYW5kLik2NiBiKFRoZSkzOCBiKHRleHQpaShiKXMoZXQpbSh3KW0oZWVuKWcodGhlKWYKLShwKXMob2luKW0odClnKGFuZCkxNTAgMjA0MCB5KG1hcmspMzAgYihpcyloKHJlZmVycmVkKWUodG8paShhcylnKHRoZSlmCi1GcShyZWdpb24pcCBGdCguKTE1MCAyMjY5IHkgRmsoOC40LjEpNjMgYihDb21tYW5kcyk0MgotYihGKS0xMCBiKG9yKTQxIGIoTW8pbSh2aW5nKTE1MCAyNTE0IHkgRnMoYmVnaW5uaW5nLW9mLWxpbmUpMjYKLWIoXChDLWFcKSk2MzAgMjYyMyB5IEZ0KE1vKW0odiltKGUpMzIgYih0bylnKHRoZSllKHN0YXJ0KWgob2YpZyh0aGUpZgotKGN1cnJlbiltKHQpZyhsaW5lLikxNTAgMjc4NSB5IEZzKGVuZC1vZi1saW5lKWQoXChDLWVcKSk2MzAKLTI4OTQgeSBGdChNbyltKHYpbShlKTMyIGIodG8pZyh0aGUpZShlbmQpZyhvZilnKHRoZSloKGxpbmUuKTE1MAotMzA1NiB5IEZzKGZvcndhcmQtY2hhciljKFwoQy1mXCkpNjMwIDMxNjUgeSBGdChNbyltKHYpbShlKTMyCi1iKGZvcncpbShhcmQpZShhKWgoYyltKGhhcmFjdGVyLikxNTAgMzMyNyB5IEZzKGJhY2t3YXJkLWNoYXIpYyhcKEMtYlwpKQotNjMwIDM0MzcgeSBGdChNbyltKHYpbShlKTMyIGIoYmFjKW0oaylnKGEpZShjKW0oaGFyYWN0ZXIuKTE1MAotMzU5OCB5IEZzKGZvcndhcmQtd29yZClkKFwoTS1mXCkpNjMwIDM3MDggeSBGdChNbyltKHYpbShlKTMyCisocClzKG9pbiltKHQpZyhhbmQpMTUwIDE5MTUgeShtYXJrKTMwIGIoaXMpaChyZWZlcnJlZCllKHRvKWkoYXMpZyh0aGUpZgorRnEocmVnaW9uKXAgRnQoLikxNTAgMjExMCB5IEZqKDguNC4xKTYzIGIoQ29tbWFuZHMpNDIKK2IoRiktMTAgYihvcik0MSBiKE1vKW0odmluZykxNTAgMjI4MCB5IEZzKGJlZ2lubmluZy1vZi1saW5lKTI2CitiKFwoQy1hXCkpNjMwIDIzOTAgeSBGdChNbyltKHYpbShlKTMyIGIodG8pZyh0aGUpZShzdGFydCloKG9mKWcodGhlKWYKKyhjdXJyZW4pbSh0KWcobGluZS4pMTUwIDI1NDUgeSBGcyhlbmQtb2YtbGluZSlkKFwoQy1lXCkpNjMwCisyNjU1IHkgRnQoTW8pbSh2KW0oZSkzMiBiKHRvKWcodGhlKWUoZW5kKWcob2YpZyh0aGUpaChsaW5lLikxNTAKKzI4MTAgeSBGcyhmb3J3YXJkLWNoYXIpYyhcKEMtZlwpKTYzMCAyOTIwIHkgRnQoTW8pbSh2KW0oZSkzMgorYihmb3J3KW0oYXJkKWUoYSloKGMpbShoYXJhY3Rlci4pMTUwIDMwNzUgeSBGcyhiYWNrd2FyZC1jaGFyKWMoXChDLWJcKSkKKzYzMCAzMTg1IHkgRnQoTW8pbSh2KW0oZSkzMiBiKGJhYyltKGspZyhhKWUoYyltKGhhcmFjdGVyLikxNTAKKzMzNDAgeSBGcyhmb3J3YXJkLXdvcmQpZChcKE0tZlwpKTYzMCAzNDUwIHkgRnQoTW8pbSh2KW0oZSkzMgogYihmb3J3KW0oYXJkKWUodG8paCh0aGUpZihlbmQpZyhvZilnKHRoZSloKG5leHQpZih3KW0ob3JkLik0MQogYihXKS04IGIob3JkcykzMCBiKGFyZSloKGNvbXApcyhvc2VkKWYob2YpZyhsZXR0ZXJzKWkoYW5kKTYzMAotMzgxNyB5KGRpZ2l0cy4pMTUwIDM5NzkgeSBGcyhiYWNrd2FyZC13b3JkKTI3IGIoXChNLWJcKSk2MzAKLTQwODggeSBGdChNbyltKHYpbShlKTM2IGIoYmFjKW0oayllKHRvKWcodGhlKWcoc3RhcnQpZyhvZilnKHRoZSlnCiszNTU5IHkoZGlnaXRzLikxNTAgMzcxNSB5IEZzKGJhY2t3YXJkLXdvcmQpMjcgYihcKE0tYlwpKTYzMAorMzgyNCB5IEZ0KE1vKW0odiltKGUpMzYgYihiYWMpbShrKWUodG8pZyh0aGUpZyhzdGFydClnKG9mKWcodGhlKWcKIChjdXJyZW4pbSh0KWYob3IpZyhwcmV2aW91cylnKHcpbShvcmQuKTUwIGIoVyktOCBiKG9yZHMpMzQKLWIoYXJlKWcoY29tcClzKG9zZWQpNjMwIDQxOTggeShvZilkKGxldHRlcnMpZyhhbmQpZihkaWdpdHMuKTE1MAotNDM1OSB5IEZzKHNoZWxsLWZvcndhcmQtd29yZCkyNSBiKFwoXCkpNjMwIDQ0NjkgeSBGdChNbyltKHYpbShlKTMwCitiKGFyZSlnKGNvbXApcyhvc2VkKTYzMCAzOTM0IHkob2YpZChsZXR0ZXJzKWcoYW5kKWYoZGlnaXRzLikxNTAKKzQwODkgeSBGcyhzaGVsbC1mb3J3YXJkLXdvcmQpMjUgYihcKFwpKTYzMCA0MTk5IHkgRnQoTW8pbSh2KW0oZSkzMAogYihmb3J3KW0oYXJkKWUodG8paCh0aGUpZihlbmQpZihvZiloKHRoZSloKG5leHQpZih3KW0ob3JkLik0MAogYihXKS04IGIob3JkcykyOCBiKGFyZSlnKGRlbGltaXRlZCloKGIpbSh5KWYobm9uLXF1b3RlZCk2MzAKLTQ1NzkgeShzaGVsbClqKG1ldGFjKW0oaGFyYWN0ZXJzLikxNTAgNDc0MCB5IEZzKHNoZWxsLWJhY2t3YXJkLXdvcmQpMjUKLWIoXChcKSk2MzAgNDg1MCB5IEZ0KE1vKW0odiltKGUpMzcgYihiYWMpbShrKWUodG8paCh0aGUpZihzdGFydClnKG9mKWcKKzQzMDggeShzaGVsbClqKG1ldGFjKW0oaGFyYWN0ZXJzLikxNTAgNDQ2NCB5IEZzKHNoZWxsLWJhY2t3YXJkLXdvcmQpMjUKK2IoXChcKSk2MzAgNDU3MyB5IEZ0KE1vKW0odiltKGUpMzcgYihiYWMpbShrKWUodG8paCh0aGUpZihzdGFydClnKG9mKWcKICh0aGUpZyhjdXJyZW4pbSh0KWcob3IpZihwcmV2aW91cyloKHcpbShvcmQuKTUzIGIoVyktOAotYihvcmRzKTM1IGIoYXJlKWcoZGVsaW1pdGVkKTYzMCA0OTU5IHkoYiltKHkpMzAgYihub24tcXVvdGVkKWgoc2hlbGwpZgotKG1ldGFjKW0oaGFyYWN0ZXJzLikxNTAgNTEyMSB5IEZzKGNsZWFyLXNjcmVlbilkKFwoQy1sXCkpNjMwCi01MjMwIHkgRnQoQ2xlYXIpZyh0aGUpZyhzY3JlZW4pZihhbmQpaChyZWRyYSltKHcpZih0aGUpaChjdXJyZW4pbSh0KWYKK2Iob3JkcykzNSBiKGFyZSlnKGRlbGltaXRlZCk2MzAgNDY4MyB5KGIpbSh5KTMwIGIobm9uLXF1b3RlZCloKHNoZWxsKWYKKyhtZXRhYyltKGhhcmFjdGVycy4pMTUwIDQ4MzggeSBGcyhjbGVhci1zY3JlZW4pZChcKEMtbFwpKTYzMAorNDk0OCB5IEZ0KENsZWFyKWcodGhlKWcoc2NyZWVuKWYoYW5kKWgocmVkcmEpbSh3KWYodGhlKWgoY3VycmVuKW0odClmCiAobGluZSwpaShsZWEpbSh2aW5nKWcodGhlKWYoY3VycmVuKW0odClnKGxpbmUpZyhhdClnKHRoZSlnKHRvcCk2MzAKLTUzNDAgeShvZilrKHRoZSlmKHNjcmVlbi4pcCBlb3AgZW5kCis1MDU3IHkob2Ypayh0aGUpZihzY3JlZW4uKTE1MCA1MjEzIHkgRnMocmVkcmF3LWN1cnJlbnQtbGluZSkyNQorYihcKFwpKTYzMCA1MzIyIHkgRnQoUmVmcmVzaCkzMCBiKHRoZSlnKGN1cnJlbiltKHQpaChsaW5lLik0MQorYihCeSkzMCBiKGRlZmF1bHQsKWgodGhpcylmKGlzKWgodW4pbShiKXMob3VuZC4pcCBlb3AKK2VuZAogJSVQYWdlOiAxMDcgMTEzCiBUZVhEaWN0IGJlZ2luIDEwNyAxMTIgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDg6KTQxCi1iKENvbW1hbmQpMjkgYihMaW5lKWkoRWRpdGluZykyMDYyIGIoMTA3KTE1MCAyOTkgeSBGcwotKHJlZHJhdy1jdXJyZW50LWxpbmUpMjUgYihcKFwpKTYzMCA0MDggeSBGdChSZWZyZXNoKTMwCi1iKHRoZSlnKGN1cnJlbiltKHQpaChsaW5lLik0MSBiKEJ5KTMwIGIoZGVmYXVsdCwpaCh0aGlzKWYoaXMpaCh1biltKGIpcwotKG91bmQuKTE1MCA2MTcgeSBGayg4LjQuMik2MyBiKENvbW1hbmRzKTQyIGIoRiktMTAgYihvcik0MQotYihNYW5pcHVsYXRpbmcpaChUaGUpZihIaXN0b3J5KTE1MCA4NTUgeSBGcyhhY2NlcHQtbGluZSkyNwotYihcKE5ld2xpbmUpaChvcilpKFJldHVyblwpKTYzMCA5NjUgeSBGdChBY2NlcHQpMjUgYih0aGUpZShsaW5lKWgKLShyZWdhcmRsZXNzKWcob2YpZih3aGVyZSlnKHRoZSloKGN1cnNvcillKGlzLikzOSBiKElmKTIzCi1iKHRoaXMpZyhsaW5lKWgoaXMpZihub24tZW1wdCltKHkpLTggYigsKTI2IGIoYWRkKWMoaXQpNjMwCi0xMDc0IHkodG8pMjcgYih0aGUpZihoaXN0b3J5KWcobGlzdCloKGFjY29yZGluZylnKHRvKWcodGhlKWYoc2V0dGluZylpCi0ob2YpZSh0aGUpZyBGcyhISVNUQ09OVFJPTClkIEZ0KGFuZClqIEZzKEhJU1RJR05PUkUpNjMwCi0xMTg0IHkgRnQodiktNSBiKGFyaWFibGVzLik0MiBiKElmKTMwIGIodGhpcyloKGxpbmUpZyhpcylnKGEpZyhtbylzCi0oZGlcMDE0ZWQpZShoaXN0b3J5KWkobGluZSwpZyh0aGVuKWYocmVzdG9yZSlpKHRoZSlmKGhpc3RvcnkpZihsaW5lKWgKLSh0byk2MzAgMTI5NCB5KGl0cylnKG9yaWdpbmFsKWcoc3RhdGUuKTE1MCAxNDQyIHkgRnMocHJldmlvdXMtaGlzdG9yeSkKLTI2IGIoXChDLXBcKSk2MzAgMTU1MiB5IEZ0KE1vKW0odiltKGUpMzIgYihgYmFjKW0oaycpZyh0aHJvdWdoKWUodGhlKWcKLShoaXN0b3J5KWgobGlzdCwpZyhmZXRjKW0oaGluZylnKHRoZSlnKHByZXZpb3VzKWYoY29tbWFuZC4pMTUwCi0xNzAxIHkgRnMobmV4dC1oaXN0b3J5KWQoXChDLW5cKSk2MzAgMTgxMCB5IEZ0KE1vKW0odiltKGUpMzIKLWIoYGZvcncpbShhcmQnKWYodGhyb3VnaCllKHRoZSlpKGhpc3RvcnkpZihsaXN0LClpKGZldGMpbShoaW5nKWYodGhlKWcKLShuZXh0KWYoY29tbWFuZC4pMTUwIDE5NTkgeSBGcyhiZWdpbm5pbmctb2YtaGlzdG9yeSkyNQotYihcKE0tPFwpKTYzMCAyMDY4IHkgRnQoTW8pbSh2KW0oZSkzMiBiKHRvKWcodGhlKWUoXDAxNHJzdClnKGxpbmUpZyhpbikKLWgodGhlKWYoaGlzdG9yeSktOCBiKC4pMTUwIDIyMTcgeSBGcyhlbmQtb2YtaGlzdG9yeSkyNgotYihcKE0tPlwpKTYzMCAyMzI3IHkgRnQoTW8pbSh2KW0oZSkzMiBiKHRvKWcodGhlKWUoZW5kKWcob2YpZyh0aGUpaAotKGlucHV0KWUoaGlzdG9yeSktOCBiKCwpMzEgYihpLmUuLCloKHRoZSlmKGxpbmUpZihjdXJyZW4pbSh0bHkpaChiKXMKLShlaW5nKWYoZW4pbSh0ZXJlZC4pMTUwIDI0NzUgeSBGcyhyZXZlcnNlLXNlYXJjaC1oaXN0b3J5KTI0Ci1iKFwoQy1yXCkpNjMwIDI1ODUgeSBGdChTZWFyYyltKGgpMzEgYihiYWMpbShrdyltKGFyZCloKHN0YXJ0aW5nKWcoYXQpZworYihDb21tYW5kKTI5IGIoTGluZSlpKEVkaXRpbmcpMjA2MiBiKDEwNykxNTAgMjk5IHkgRmooOC40LjIpNjMKK2IoQ29tbWFuZHMpNDIgYihGKS0xMCBiKG9yKTQxIGIoTWFuaXB1bGF0aW5nKWgoVGhlKWYoSGlzdG9yeSkxNTAKKzQ3MyB5IEZzKGFjY2VwdC1saW5lKTI3IGIoXChOZXdsaW5lKWgob3IpaShSZXR1cm5cKSk2MzAKKzU4MiB5IEZ0KEFjY2VwdCkyNSBiKHRoZSllKGxpbmUpaChyZWdhcmRsZXNzKWcob2YpZih3aGVyZSlnKHRoZSloCisoY3Vyc29yKWUoaXMuKTM5IGIoSWYpMjMgYih0aGlzKWcobGluZSloKGlzKWYobm9uLWVtcHQpbSh5KS04CitiKCwpMjYgYihhZGQpYyhpdCk2MzAgNjkyIHkodG8pMjcgYih0aGUpZihoaXN0b3J5KWcobGlzdCloKGFjY29yZGluZylnCisodG8pZyh0aGUpZihzZXR0aW5nKWkob2YpZSh0aGUpZyBGcyhISVNUQ09OVFJPTClkIEZ0KGFuZClqCitGcyhISVNUSUdOT1JFKTYzMCA4MDIgeSBGdCh2KS01IGIoYXJpYWJsZXMuKTQyIGIoSWYpMzAKK2IodGhpcyloKGxpbmUpZyhpcylnKGEpZyhtbylzKGRpXDAxNGVkKWUoaGlzdG9yeSlpKGxpbmUsKWcodGhlbilmCisocmVzdG9yZSlpKHRoZSlmKGhpc3RvcnkpZihsaW5lKWgodG8pNjMwIDkxMSB5KGl0cylnKG9yaWdpbmFsKWcoc3RhdGUuKQorMTUwIDEwNzUgeSBGcyhwcmV2aW91cy1oaXN0b3J5KTI2IGIoXChDLXBcKSk2MzAgMTE4NAoreSBGdChNbyltKHYpbShlKTMyIGIoYGJhYyltKGsnKWcodGhyb3VnaCllKHRoZSlnKGhpc3RvcnkpaChsaXN0LClnCisoZmV0YyltKGhpbmcpZyh0aGUpZyhwcmV2aW91cylmKGNvbW1hbmQuKTE1MCAxMzQ4IHkgRnMobmV4dC1oaXN0b3J5KWQKKyhcKEMtblwpKTYzMCAxNDU3IHkgRnQoTW8pbSh2KW0oZSkzMiBiKGBmb3J3KW0oYXJkJylmKHRocm91Z2gpZSh0aGUpaQorKGhpc3RvcnkpZihsaXN0LClpKGZldGMpbShoaW5nKWYodGhlKWcobmV4dClmKGNvbW1hbmQuKTE1MAorMTYyMSB5IEZzKGJlZ2lubmluZy1vZi1oaXN0b3J5KTI1IGIoXChNLTxcKSk2MzAgMTczMAoreSBGdChNbyltKHYpbShlKTMyIGIodG8pZyh0aGUpZShcMDE0cnN0KWcobGluZSlnKGluKWgodGhlKWYoaGlzdG9yeSktOAorYiguKTE1MCAxODk0IHkgRnMoZW5kLW9mLWhpc3RvcnkpMjYgYihcKE0tPlwpKTYzMCAyMDA0Cit5IEZ0KE1vKW0odiltKGUpMzIgYih0bylnKHRoZSllKGVuZClnKG9mKWcodGhlKWgoaW5wdXQpZShoaXN0b3J5KS04CitiKCwpMzEgYihpLmUuLCloKHRoZSlmKGxpbmUpZihjdXJyZW4pbSh0bHkpaChiKXMoZWluZylmKGVuKW0odGVyZWQuKTE1MAorMjE2NyB5IEZzKHJldmVyc2Utc2VhcmNoLWhpc3RvcnkpMjQgYihcKEMtclwpKTYzMCAyMjc3Cit5IEZ0KFNlYXJjKW0oaCkzMSBiKGJhYyltKGt3KW0oYXJkKWgoc3RhcnRpbmcpZyhhdClnKHRoZSlmKGN1cnJlbiltKHQpZworKGxpbmUpZyhhbmQpZyhtbyltKHZpbmcpaChgdXAnKWUodGhyb3VnaCloKHRoZSlnKGhpcy0pNjMwCisyMzg2IHkodG9yeSlnKGFzKWYobmVjZXNzYXJ5KS04IGIoLik0MiBiKFRoaXMpMjkgYihpcylpKGFuKWYoaW5jcmVtZW4pbQorKHRhbClpKHNlYXJjKW0oaC4pMTUwIDI1NTAgeSBGcyhmb3J3YXJkLXNlYXJjaC1oaXN0b3J5KTI0CitiKFwoQy1zXCkpNjMwIDI2NTkgeSBGdChTZWFyYyltKGgpMzAgYihmb3J3KW0oYXJkKWYoc3RhcnRpbmcpaChhdClnCisodGhlKWcoY3VycmVuKW0odClmKGxpbmUpaChhbmQpZihtbyltKHZpbmcpaChgZG8pbSh3bicpZih0aHJvdWdoKWcodGhlKQoraCh0aGUpNjMwIDI3NjkgeShoaXN0b3J5KWcoYXMpaChuZWNlc3NhcnkpLTggYiguKTQxIGIoVGhpcykzMAorYihpcylnKGFuKWgoaW5jcmVtZW4pbSh0YWwpZyhzZWFyYyltKGguKTE1MCAyOTMyIHkgRnMKKyhub24taW5jcmVtZW50YWwtcmV2ZXJzZS0pbyhzZWFyKW8oY2gtaClvKGlzdClvKG9yeSkyNAorYihcKE0tcFwpKTYzMCAzMDQyIHkgRnQoU2VhcmMpbShoKTMxIGIoYmFjKW0oa3cpbShhcmQpaChzdGFydGluZylnKGF0KWcKICh0aGUpZihjdXJyZW4pbSh0KWcobGluZSlnKGFuZClnKG1vKW0odmluZyloKGB1cCcpZSh0aHJvdWdoKWgodGhlKWcKLShoaXMtKTYzMCAyNjk1IHkodG9yeSlnKGFzKWYobmVjZXNzYXJ5KS04IGIoLik0MiBiKFRoaXMpMjkKLWIoaXMpaShhbilmKGluY3JlbWVuKW0odGFsKWkoc2VhcmMpbShoLikxNTAgMjg0MyB5IEZzCi0oZm9yd2FyZC1zZWFyY2gtaGlzdG9yeSkyNCBiKFwoQy1zXCkpNjMwIDI5NTMgeSBGdChTZWFyYyltKGgpMzAKLWIoZm9ydyltKGFyZClmKHN0YXJ0aW5nKWgoYXQpZyh0aGUpZyhjdXJyZW4pbSh0KWYobGluZSloKGFuZClmKG1vKW0KLSh2aW5nKWgoYGRvKW0od24nKWYodGhyb3VnaClnKHRoZSloKHRoZSk2MzAgMzA2MiB5KGhpc3RvcnkpZyhhcyloCi0obmVjZXNzYXJ5KS04IGIoLik0MSBiKFRoaXMpMzAgYihpcylnKGFuKWgoaW5jcmVtZW4pbSh0YWwpZyhzZWFyYyltKGguKQotMTUwIDMyMTEgeSBGcyhub24taW5jcmVtZW50YWwtcmV2ZXJzZS0pbyhzZWFyKW8oY2gtaClvKGlzdClvKG9yeSkyNAotYihcKE0tcFwpKTYzMCAzMzIxIHkgRnQoU2VhcmMpbShoKTMxIGIoYmFjKW0oa3cpbShhcmQpaChzdGFydGluZylnKGF0KWcKLSh0aGUpZihjdXJyZW4pbSh0KWcobGluZSlnKGFuZClnKG1vKW0odmluZyloKGB1cCcpZSh0aHJvdWdoKWgodGhlKWcKLShoaXMtKTYzMCAzNDMwIHkodG9yeSkzNiBiKGFzKWcobmVjZXNzYXJ5KWgodXNpbmcpZShhKWkobm9uLWluY3JlbWVuKW0KKyhoaXMtKTYzMCAzMTUyIHkodG9yeSkzNiBiKGFzKWcobmVjZXNzYXJ5KWgodXNpbmcpZShhKWkobm9uLWluY3JlbWVuKW0KICh0YWwpZyhzZWFyYyltKGgpZihmb3IpZyhhKWcoc3RyaW5nKWcoc3VwcGxpZWQpZihiKW0oeSloKHRoZSk2MzAKLTM1NDAgeSh1c2VyLikxNTAgMzY4OCB5IEZzKG5vbi1pbmNyZW1lbnRhbC1mb3J3YXJkLSlvKHNlYXIpbyhjaC1oKW8KLShpc3QpbyhvcnkpMjQgYihcKE0tblwpKTYzMCAzNzk4IHkgRnQoU2VhcmMpbShoKTMwIGIoZm9ydyltKGFyZClmCiszMjYxIHkodXNlci4pMTUwIDM0MjUgeSBGcyhub24taW5jcmVtZW50YWwtZm9yd2FyZC0pbyhzZWFyKW8oY2gtaClvCisoaXN0KW8ob3J5KTI0IGIoXChNLW5cKSk2MzAgMzUzNCB5IEZ0KFNlYXJjKW0oaCkzMCBiKGZvcncpbShhcmQpZgogKHN0YXJ0aW5nKWgoYXQpZyh0aGUpZyhjdXJyZW4pbSh0KWYobGluZSloKGFuZClmKG1vKW0odmluZyloKGBkbyltKHduJykKLWYodGhyb3VnaClnKHRoZSloKHRoZSk2MzAgMzkwOCB5KGhpc3RvcnkpZChhcylmKG5lY2Vzc2FyeSlpKHVzaW5nKWUoYSloCitmKHRocm91Z2gpZyh0aGUpaCh0aGUpNjMwIDM2NDQgeShoaXN0b3J5KWQoYXMpZihuZWNlc3NhcnkpaSh1c2luZyllKGEpaAogKG5vbi1pbmNyZW1lbiltKHRhbClnKHNlYXJjKW0oaCloKGZvcillKGEpaChzdHJpbmcpZyhzdXBwbGllZCllKGIpbSh5KWkKLSh0aGUpNjMwIDQwMTcgeSh1c2VyLikxNTAgNDE2NiB5IEZzKGhpc3Rvcnktc2VhcmNoLWZvcndhcmQpZChcKFwpKTYzMAotNDI3NiB5IEZ0KFNlYXJjKW0oaCk0MiBiKGZvcncpbShhcmQpZih0aHJvdWdoKWYodGhlKWkoaGlzdG9yeSlmKGZvcilnCisodGhlKTYzMCAzNzU0IHkodXNlci4pMTUwIDM5MTcgeSBGcyhoaXN0b3J5LXNlYXJjaC1mb3J3YXJkKWQoXChcKSk2MzAKKzQwMjcgeSBGdChTZWFyYyltKGgpNDIgYihmb3J3KW0oYXJkKWYodGhyb3VnaClmKHRoZSlpKGhpc3RvcnkpZihmb3IpZwogKHRoZSloKHN0cmluZylmKG9mKWgoYyltKGhhcmFjdGVycyloKGIpcyhldCltKHcpbShlZW4pZih0aGUpNjMwCi00Mzg1IHkoc3RhcnQpMzYgYihvZilmKHRoZSlnKGN1cnJlbiltKHQpZyhsaW5lKWcoYW5kKWcodGhlKWcocClzKG9pbiltCis0MTM2IHkoc3RhcnQpMzYgYihvZilmKHRoZSlnKGN1cnJlbiltKHQpZyhsaW5lKWcoYW5kKWcodGhlKWcocClzKG9pbiltCiAodC4pNTUgYihUaGlzKTM0IGIoaXMpaShhKWYobm9uLWluY3JlbWVuKW0odGFsKWgoc2VhcmMpbShoLik1NgotYihCeSk2MzAgNDQ5NSB5KGRlZmF1bHQsKTMxIGIodGhpcylmKGNvbW1hbmQpZyhpcyloKHVuKW0oYilzKG91bmQuKTE1MAotNDY0MyB5IEZzKGhpc3Rvcnktc2VhcmNoLWJhY2t3YXJkKTI0IGIoXChcKSk2MzAgNDc1MworYihCeSk2MzAgNDI0NiB5KGRlZmF1bHQsKTMxIGIodGhpcylmKGNvbW1hbmQpZyhpcyloKHVuKW0oYilzKG91bmQuKTE1MAorNDQwOSB5IEZzKGhpc3Rvcnktc2VhcmNoLWJhY2t3YXJkKTI0IGIoXChcKSk2MzAgNDUxOQogeSBGdChTZWFyYyltKGgpMzUgYihiYWMpbShrdyltKGFyZClnKHRocm91Z2gpZih0aGUpaChoaXN0b3J5KWcoZm9yKWcKICh0aGUpZihzdHJpbmcpaChvZilnKGMpbShoYXJhY3RlcnMpaChiKXMoZXQpbSh3KW0oZWVuKWcodGhlKTYzMAotNDg2MyB5KHN0YXJ0KWcob2YpZih0aGUpZyhjdXJyZW4pbSh0KWcobGluZSlnKGFuZClnKHRoZSlnKHApcyhvaW4pbSh0LikKKzQ2MjkgeShzdGFydClnKG9mKWYodGhlKWcoY3VycmVuKW0odClnKGxpbmUpZyhhbmQpZyh0aGUpZyhwKXMob2luKW0odC4pCiA1NSBiKFRoaXMpMzQgYihpcylpKGEpZihub24taW5jcmVtZW4pbSh0YWwpaChzZWFyYyltKGguKTU2Ci1iKEJ5KTYzMCA0OTcyIHkoZGVmYXVsdCwpMzEgYih0aGlzKWYoY29tbWFuZClnKGlzKWgodW4pbShiKXMob3VuZC4pMTUwCi01MTIxIHkgRnMoeWFuay1udGgtYXJnKWMoXChNLUMteVwpKTYzMCA1MjMwIHkgRnQoSW5zZXJ0KTM3CitiKEJ5KTYzMCA0NzM4IHkoZGVmYXVsdCwpMzEgYih0aGlzKWYoY29tbWFuZClnKGlzKWgodW4pbShiKXMob3VuZC4pMTUwCis0OTAyIHkgRnMoeWFuay1udGgtYXJnKWMoXChNLUMteVwpKTYzMCA1MDExIHkgRnQoSW5zZXJ0KTM3CiBiKHRoZSlnKFwwMTRyc3QpZihhcmd1bWVuKW0odClpKHRvKWYodGhlKWgocHJldmlvdXMpZShjb21tYW5kKWgKLShcKHVzdWFsbHkpZyh0aGUpZyhzZWNvbmQpZyh3KW0ob3JkKTYzMCA1MzQwIHkob24pMzIKKyhcKHVzdWFsbHkpZyh0aGUpZyhzZWNvbmQpZyh3KW0ob3JkKTYzMCA1MTIxIHkob24pMzIKIGIodGhlKWcocHJldmlvdXMpZihsaW5lXCkpaShhdClmKHApcyhvaW4pbSh0Lik0NiBiKFdpdGgpMzIKIGIoYW4pZyhhcmd1bWVuKW0odClnIEZxKG4pcCBGdCgsKWcoaW5zZXJ0KWcodGhlKWcgRnEobilwCi1GdCh0aClmKHcpbShvcmQpZyhmcm9tKXAgZW9wIGVuZAorRnQodGgpZih3KW0ob3JkKWcoZnJvbSk2MzAgNTIzMCB5KHRoZSlrKHByZXZpb3VzKWYoY29tbWFuZCloKFwodGhlKWcodykKK20ob3JkcylnKGluKWYodGhlKWgocHJldmlvdXMpZyhjb21tYW5kKWYoYilzKGVnaW4paCh3aXRoKWYodyltKG9yZCk2MzAKKzUzNDAgeSgwXCkuKTY5IGIoQSk0MCBiKG5lZ2F0aXYpbShlKWgoYXJndW1lbiltKHQpZihpbnNlcnRzKWcodGhlKWYKK0ZxKG4pcCBGdCh0aClnKHcpbShvcmQpZyhmcm9tKWcodGhlKWgoZW5kKWYob2YpaCh0aGUpZihwcmV2aW91cylwCitlb3AgZW5kCiAlJVBhZ2U6IDEwOCAxMTQKIFRlWERpY3QgYmVnaW4gMTA4IDExMyBib3AgMTUwIC0xMTYgYSBGdCgxMDgpMjUyNyBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeSh0aGUpayhwcmV2aW91cylmKGNvbW1hbmQpaChcKHRoZSlnKHcpCi1tKG9yZHMpZyhpbilmKHRoZSloKHByZXZpb3VzKWcoY29tbWFuZClmKGIpcyhlZ2luKWgod2l0aClmKHcpbShvcmQpNjMwCi00MDggeSgwXCkuKTY5IGIoQSk0MCBiKG5lZ2F0aXYpbShlKWgoYXJndW1lbiltKHQpZihpbnNlcnRzKWcodGhlKWYKLUZxKG4pcCBGdCh0aClnKHcpbShvcmQpZyhmcm9tKWcodGhlKWgoZW5kKWYob2YpaCh0aGUpZihwcmV2aW91cyk2MzAKLTUxOCB5KGNvbW1hbmQuKTQ4IGIoT25jZSkzMyBiKHRoZSlnKGFyZ3VtZW4pbSh0KWggRnEobillCi1GdChpcyloKGNvbXB1dGVkLCloKHRoZSlmKGFyZ3VtZW4pbSh0KWcoaXMpZyhleHRyYWN0ZWQpaShhcyllKGlmKTYzMAotNjI4IHkodGhlKWUoYClwIEZzKCEpcCBGaihuKTExIGIgRnQoJykyOSBiKGhpc3RvcnkpaShleHBhbnNpb24pZihoYWQpZwotKGIpcyhlZW4pZihzcClzKGVjaVwwMTRlZC4pMTUwIDc3MyB5IEZzKHlhbmstbGFzdC1hcmcpZShcKE0tLilpKG9yKWgKLShNLV9cKSk2MzAgODgzIHkgRnQoSW5zZXJ0KWsobGFzdClpKGFyZ3VtZW4pbSh0KWcodG8pZyh0aGUpZihwcmV2aW91cylmCi0oY29tbWFuZCloKFwodGhlKWgobGFzdClmKHcpbShvcmQpZyhvZilnKHRoZSlnKHByZXZpb3VzKTYzMAotOTkzIHkoaGlzdG9yeSljKGVuKW0odHJ5XCkuKTQxIGIoV2l0aCkzMSBiKGFuKWcoYXJndW1lbiltKHQsKWcoYilzKGVoYSkKLW0odiltKGUpZyhleGFjdGx5KWkobGlrKW0oZSlmIEZzKHlhbmstbnRoLWFyZylwIEZ0KC4pMzgKLWIoU3VjY2VzLSk2MzAgMTEwMiB5KHNpdiltKGUpZChjYWxscyloKHRvKWYgRnMoeWFuay1sYXN0LWFyZyljCi1GdChtbyltKHYpbShlKTM2IGIoYmFjKW0oaylnKHRocm91Z2gpZCh0aGUpaShoaXN0b3J5KWcobGlzdCwpaAotKGluc2VydGluZylmKHRoZSk2MzAgMTIxMiB5KGxhc3QpZChhcmd1bWVuKW0odClmKG9mKWcoZWFjKW0oaCloKGxpbmUpZgotKGluKWYodHVybi4pNDEgYihUaGUpMzAgYihoaXN0b3J5KWgoZXhwYW5zaW9uKWYoZmFjaWxpdGllcylqKGFyZSllCi0odXNlZClmKHRvKTYzMCAxMzIxIHkoZXh0cmFjdClpKHRoZSllKGxhc3QpaShhcmd1bWVuKW0odCwpZihhcylmKGlmKWgKLSh0aGUpZihgKXAgRnMoISQpcCBGdCgnKWcoaGlzdG9yeSloKGV4cGFuc2lvbilmKGhhZClnKGIpcyhlZW4pZihzcClzCi0oZWNpXDAxNGVkLikxNTAgMTUyNSB5IEZrKDguNC4zKTYzIGIoQ29tbWFuZHMpNDIgYihGKS0xMAotYihvcik0MSBiKENoYW5naW5nKWcoVCktMTAgYihleHQpMTUwIDE3NjIgeSBGcyhkZWxldGUtY2hhcikyNwotYihcKEMtZFwpKTYzMCAxODcyIHkgRnQoRGVsZXRlKTQxIGIodGhlKWUoYyltKGhhcmFjdGVyKWkoYXQpZShwKXMob2luKW0KK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeShjb21tYW5kLik0OCBiKE9uY2UpMzMKK2IodGhlKWcoYXJndW1lbiltKHQpaCBGcShuKWUgRnQoaXMpaChjb21wdXRlZCwpaCh0aGUpZihhcmd1bWVuKW0odClnCisoaXMpZyhleHRyYWN0ZWQpaShhcyllKGlmKTYzMCA0MDggeSh0aGUpZShgKXAgRnMoISlwCitGaShuKTExIGIgRnQoJykyOSBiKGhpc3RvcnkpaShleHBhbnNpb24pZihoYWQpZyhiKXMoZWVuKWYoc3ApcworKGVjaVwwMTRlZC4pMTUwIDU4NCB5IEZzKHlhbmstbGFzdC1hcmcpZShcKE0tLilpKG9yKWgoTS1fXCkpNjMwCis2OTMgeSBGdChJbnNlcnQpayhsYXN0KWkoYXJndW1lbiltKHQpZyh0bylnKHRoZSlmKHByZXZpb3VzKWYoY29tbWFuZCloCisoXCh0aGUpaChsYXN0KWYodyltKG9yZClnKG9mKWcodGhlKWcocHJldmlvdXMpNjMwIDgwMworeShoaXN0b3J5KWMoZW4pbSh0cnlcKS4pNDEgYihXaXRoKTMxIGIoYW4pZyhhcmd1bWVuKW0odCwpZyhiKXMoZWhhKW0odikKK20oZSlnKGV4YWN0bHkpaShsaWspbShlKWYgRnMoeWFuay1udGgtYXJnKXAgRnQoLikzOCBiKFN1Y2Nlcy0pNjMwCis5MTMgeShzaXYpbShlKWQoY2FsbHMpaCh0bylmIEZzKHlhbmstbGFzdC1hcmcpYyBGdChtbyltKHYpbShlKTM2CitiKGJhYyltKGspZyh0aHJvdWdoKWQodGhlKWkoaGlzdG9yeSlnKGxpc3QsKWgoaW5zZXJ0aW5nKWYodGhlKTYzMAorMTAyMiB5KGxhc3QpZChhcmd1bWVuKW0odClmKG9mKWcoZWFjKW0oaCloKGxpbmUpZihpbilmKHR1cm4uKTQxCitiKFRoZSkzMCBiKGhpc3RvcnkpaChleHBhbnNpb24pZihmYWNpbGl0aWVzKWooYXJlKWUodXNlZClmKHRvKTYzMAorMTEzMiB5KGV4dHJhY3QpaSh0aGUpZShsYXN0KWkoYXJndW1lbiltKHQsKWYoYXMpZihpZiloKHRoZSlmKGApcAorRnMoISQpcCBGdCgnKWcoaGlzdG9yeSloKGV4cGFuc2lvbilmKGhhZClnKGIpcyhlZW4pZihzcClzKGVjaVwwMTRlZC4pCisxNTAgMTM0NyB5IEZqKDguNC4zKTYzIGIoQ29tbWFuZHMpNDIgYihGKS0xMCBiKG9yKTQxCitiKENoYW5naW5nKWcoVCktMTAgYihleHQpMTUwIDE1MjcgeSBGcyhkZWxldGUtY2hhcikyNworYihcKEMtZFwpKTYzMCAxNjM2IHkgRnQoRGVsZXRlKTQxIGIodGhlKWUoYyltKGhhcmFjdGVyKWkoYXQpZShwKXMob2luKW0KICh0Lik2NiBiKElmKTM5IGIocClzKG9pbiltKHQpZihpcyloKGF0KWgodGhlKWYoYilzKGVnaW5uaW5nKWYob2YpaCh0aGUpCi1nKGxpbmUsKWoodGhlcmUpNjMwIDE5ODIgeShhcmUpMzcgYihubylnKGMpbShoYXJhY3RlcnMpaShpbilkKHRoZSlpCitnKGxpbmUsKWoodGhlcmUpNjMwIDE3NDYgeShhcmUpMzcgYihubylnKGMpbShoYXJhY3RlcnMpaShpbilkKHRoZSlpCiAobGluZSwpaChhbmQpZCh0aGUpaChsYXN0KWgoYyltKGhhcmFjdGVyKWgodCltKHlwKXMoZWQpZSh3KW0oYXMpZyhub3QpZwotKGIpcyhvdW5kKWUodG8pNjMwIDIwOTEgeSBGcyhkZWxldGUtY2hhcilwIEZ0KCwpMjggYih0aGVuKWkocmV0dXJuKWYKLUZsKGVvZilwIEZ0KC4pMTUwIDIyMzcgeSBGcyhiYWNrd2FyZC1kZWxldGUtY2hhciljKFwoUnVib3V0XCkpNjMwCi0yMzQ3IHkgRnQoRGVsZXRlKTMyIGIodGhlKWYoYyltKGhhcmFjdGVyKWcoYilzKGVoaW5kKWUodGhlKWgoY3Vyc29yLik0MAorKGIpcyhvdW5kKWUodG8pNjMwIDE4NTUgeSBGcyhkZWxldGUtY2hhcilwIEZ0KCwpMjggYih0aGVuKWkocmV0dXJuKWYKK0ZsKGVvZilwIEZ0KC4pMTUwIDIwMzEgeSBGcyhiYWNrd2FyZC1kZWxldGUtY2hhciljKFwoUnVib3V0XCkpNjMwCisyMTQwIHkgRnQoRGVsZXRlKTMyIGIodGhlKWYoYyltKGhhcmFjdGVyKWcoYilzKGVoaW5kKWUodGhlKWgoY3Vyc29yLik0MAogYihBKTMwIGIobiltKHVtZXJpYylnKGFyZ3VtZW4pbSh0KWgobWVhbnMpZih0byloKGtpbGwpZyh0aGUpNjMwCi0yNDU2IHkoYyltKGhhcmFjdGVycyloKGluc3RlYWQpZShvZiloKGRlbGV0aW5nKWcodGhlbS4pMTUwCi0yNjAyIHkgRnMoZm9yd2FyZC1iYWNrd2FyZC1kZWxldGUtKW8oY2hhcikyNCBiKFwoXCkpNjMwCi0yNzEyIHkgRnQoRGVsZXRlKTQwIGIodGhlKWYoYyltKGhhcmFjdGVyKWgodW5kZXIpYyh0aGUpaihjdXJzb3IsKWgKKzIyNTAgeShjKW0oaGFyYWN0ZXJzKWgoaW5zdGVhZCllKG9mKWgoZGVsZXRpbmcpZyh0aGVtLikxNTAKKzI0MjUgeSBGcyhmb3J3YXJkLWJhY2t3YXJkLWRlbGV0ZS0pbyhjaGFyKTI0IGIoXChcKSk2MzAKKzI1MzUgeSBGdChEZWxldGUpNDAgYih0aGUpZihjKW0oaGFyYWN0ZXIpaCh1bmRlciljKHRoZSlqKGN1cnNvciwpaAogKHVubGVzcylkKHRoZSlpKGN1cnNvcillKGlzKWgoYXQpaCh0aGUpZyhlbmQpZShvZilpKHRoZSk2MzAKLTI4MjEgeShsaW5lLCkzMyBiKGluKWUod2hpYyltKGgpZyhjYXNlKWkodGhlKWYoYyltKGhhcmFjdGVyKWgoYilzCisyNjQ0IHkobGluZSwpMzMgYihpbillKHdoaWMpbShoKWcoY2FzZSlpKHRoZSlmKGMpbShoYXJhY3RlciloKGIpcwogKGVoaW5kKWQodGhlKWkoY3Vyc29yKWYoaXMpZyhkZWxldGVkLik0NiBiKEJ5KTMyIGIoZGVmYXVsdCwpZyh0aGlzKTYzMAotMjkzMSB5KGlzKWUobm90KWgoYilzKG91bmQpZCh0bylqKGEpZyhrKW0oZXkpLTggYiguKTE1MAotMzA3NyB5IEZzKHF1b3RlZC1pbnNlcnQpMjcgYihcKEMtcSlpKG9yKWgoQy12XCkpNjMwIDMxODYKKzI3NTQgeShpcyllKG5vdCloKGIpcyhvdW5kKWQodG8paihhKWcoayltKGV5KS04IGIoLikxNTAKKzI5MjkgeSBGcyhxdW90ZWQtaW5zZXJ0KTI3IGIoXChDLXEpaShvciloKEMtdlwpKTYzMCAzMDM5CiB5IEZ0KEFkZClqKHRoZSlpKG5leHQpZihjKW0oaGFyYWN0ZXIpaSh0KW0oeXApcyhlZCllKHRvKWgodGhlKWYobGluZSloCiAodiltKGVyYmF0aW0uKTUzIGIoVGhpcykzMyBiKGlzKWkoaG8pbSh3KWYodG8paChpbnNlcnQpZihrKW0oZXkpNjMwCi0zMjk2IHkoc2VxdWVuY2VzKWQobGlrKW0oZSlnIEZqKEMtcSlwIEZ0KCwpZihmb3IpZyhleGFtcGxlLikxNTAKLTM0NDIgeSBGcyhzZWxmLWluc2VydClkKFwoYSwpaihiLClnKEEsKWYoMSwpaCghLClnKC4uLilvKFwpKTYzMAotMzU1MSB5IEZ0KEluc2VydClnKHkpbShvdXJzZWxmLikxNTAgMzY5NyB5IEZzKHRyYW5zcG9zZS1jaGFycyljCi0oXChDLXRcKSk2MzAgMzgwNyB5IEZ0KERyYWcpMzMgYih0aGUpZihjKW0oaGFyYWN0ZXIpaChiKXMoZWZvcmUpZih0aGUpZworMzE0OCB5KHNlcXVlbmNlcylkKGxpayltKGUpZyBGaShDLXEpcCBGdCgsKWYoZm9yKWcoZXhhbXBsZS4pMTUwCiszMzI0IHkgRnMoc2VsZi1pbnNlcnQpZChcKGEsKWooYiwpZyhBLClmKDEsKWgoISwpZyguLi4pbyhcKSk2MzAKKzM0MzMgeSBGdChJbnNlcnQpZyh5KW0ob3Vyc2VsZi4pMTUwIDM2MDkgeSBGcyh0cmFuc3Bvc2UtY2hhcnMpYworKFwoQy10XCkpNjMwIDM3MTggeSBGdChEcmFnKTMzIGIodGhlKWYoYyltKGhhcmFjdGVyKWgoYilzKGVmb3JlKWYodGhlKWcKIChjdXJzb3IpZihmb3J3KW0oYXJkKWgobyltKHYpbShlciloKHRoZSlmKGMpbShoYXJhY3RlcilpKGF0KWUodGhlKWcKLShjdXJzb3IsKTYzMCAzOTE2IHkobW8pbSh2aW5nKWsodGhlKWcoY3Vyc29yKWYoZm9ydyltKGFyZClnKGFzKWcodyltCisoY3Vyc29yLCk2MzAgMzgyOCB5KG1vKW0odmluZylrKHRoZSlnKGN1cnNvcilmKGZvcncpbShhcmQpZyhhcylnKHcpbQogKGVsbC4pNTcgYihJZikzNSBiKHRoZSloKGluc2VydGlvbilnKHApcyhvaW4pbSh0KWYoaXMpZyhhdClpKHRoZSllKGVuZCkKLWcob2YpaCh0aGUpNjMwIDQwMjYgeShsaW5lLCkyNCBiKHRoZW4pZSh0aGlzKWcodHJhbnNwKXMob3NlcylmKHRoZSloCitnKG9mKWgodGhlKTYzMCAzOTM3IHkobGluZSwpMjQgYih0aGVuKWUodGhpcylnKHRyYW5zcClzKG9zZXMpZih0aGUpaAogKGxhc3QpaCh0KW0odyltKG8pZyhjKW0oaGFyYWN0ZXJzKWcob2YpZih0aGUpaChsaW5lLikzOAotYihOZWdhdGl2KW0oZSkyNSBiKGFyZ3VtZW4pbSh0cyk2MzAgNDEzNSB5KGhhKW0odiltKGUpMzIKLWIobm8pZShlXDAxM2VjdC4pMTUwIDQyODEgeSBGcyh0cmFuc3Bvc2Utd29yZHMpYyhcKE0tdFwpKTYzMAotNDM5MSB5IEZ0KERyYWcpMzMgYih0aGUpZyh3KW0ob3JkKWYoYilzKGVmb3JlKWcocClzKG9pbiltKHQpZyhwYXN0KWcKK2IoTmVnYXRpdiltKGUpMjUgYihhcmd1bWVuKW0odHMpNjMwIDQwNDcgeShoYSltKHYpbShlKTMyCitiKG5vKWUoZVwwMTNlY3QuKTE1MCA0MjIyIHkgRnModHJhbnNwb3NlLXdvcmRzKWMoXChNLXRcKSk2MzAKKzQzMzIgeSBGdChEcmFnKTMzIGIodGhlKWcodyltKG9yZClmKGIpcyhlZm9yZSlnKHApcyhvaW4pbSh0KWcocGFzdClnCiAodGhlKWgodyltKG9yZClmKGFmdGVyKWcocClzKG9pbiltKHQsKWkobW8pbSh2aW5nKWYocClzKG9pbiltKHQpZihwYXN0KQotZyh0aGF0KTYzMCA0NTAwIHkodyltKG9yZCljKGFzKWgodyltKGVsbC4pNDEgYihJZikyNworZyh0aGF0KTYzMCA0NDQxIHkodyltKG9yZCljKGFzKWgodyltKGVsbC4pNDEgYihJZikyNwogYih0aGUpaShpbnNlcnRpb24pZihwKXMob2luKW0odCloKGlzKWYoYXQpaCh0aGUpZyhlbmQpZShvZilpKHRoZSlmCi0obGluZSwpaSh0aGlzKWUodHJhbnNwKXMob3NlcylnKHRoZSk2MzAgNDYxMCB5KGxhc3Qpaih0KW0odyltKG8paCh3KW0KLShvcmRzKWUob24pZyh0aGUpaChsaW5lLikxNTAgNDc1NiB5IEZzKHVwY2FzZS13b3JkKWMoXChNLXVcKSk2MzAKLTQ4NjUgeSBGdChVcHApcyhlcmNhc2UpMzIgYih0aGUpZyhjdXJyZW4pbSh0KWcoXChvcilnKGZvbGxvKW0od2luZ1wpKWkKKyhsaW5lLClpKHRoaXMpZSh0cmFuc3Apcyhvc2VzKWcodGhlKTYzMCA0NTUxIHkobGFzdClqKHQpbSh3KW0obyloKHcpbQorKG9yZHMpZShvbilnKHRoZSloKGxpbmUuKTE1MCA0NzI2IHkgRnModXBjYXNlLXdvcmQpYyhcKE0tdVwpKTYzMAorNDgzNiB5IEZ0KFVwcClzKGVyY2FzZSkzMiBiKHRoZSlnKGN1cnJlbiltKHQpZyhcKG9yKWcoZm9sbG8pbSh3aW5nXCkpaQogKHcpbShvcmQuKTQ1IGIoV2l0aCkzMiBiKGEpZyhuZWdhdGl2KW0oZSlqKGFyZ3VtZW4pbSh0LCllKHVwcClzKGVyLSk2MzAKLTQ5NzUgeShjYXNlKWUodGhlKWcocHJldmlvdXMpZih3KW0ob3JkLClnKGJ1dClnKGRvKWcobm90KWgobW8pbSh2KW0oZSloCis0OTQ2IHkoY2FzZSllKHRoZSlnKHByZXZpb3VzKWYodyltKG9yZCwpZyhidXQpZyhkbylnKG5vdCloKG1vKW0odiltKGUpaAogKHRoZSllKGN1cnNvci4pMTUwIDUxMjEgeSBGcyhkb3duY2FzZS13b3JkKWQoXChNLWxcKSk2MzAKIDUyMzAgeSBGdChMbyltKHcpbShlcmNhc2UpYyh0aGUpZihjdXJyZW4pbSh0KWYoXChvciloKGZvbGxvKW0od2luZ1wpKWkKICh3KW0ob3JkLikzNyBiKFdpdGgpMjIgYihhKWcobmVnYXRpdiltKGUpaShhcmd1bWVuKW0odCwpZyhsbyltKHcpbQpAQCAtMTIzNTAsMTgyICsxMjI3MCwxODIgQEAKIDI2IGIoXChNLWNcKSk2MzAgNDA4IHkgRnQoQ2FwaXRhbGl6ZSlkKHRoZSlmKGN1cnJlbiltKHQpZihcKG9yKWcoZm9sbG8pCiBtKHdpbmdcKSlpKHcpbShvcmQuKTM4IGIoV2l0aCkyMSBiKGEpaChuZWdhdGl2KW0oZSloKGFyZ3VtZW4pbSh0LCloCiAoY2FwaXRhbGl6ZSk2MzAgNTE4IHkodGhlKTMxIGIocHJldmlvdXMpZSh3KW0ob3JkLClpKGJ1dCllKGRvKWkobm90KWYKLShtbyltKHYpbShlKWkodGhlKWYoY3Vyc29yLikxNTAgNjgzIHkgRnMob3ZlcndyaXRlLW1vZGUpMjYKLWIoXChcKSk2MzAgNzkzIHkgRnQoVCktOCBiKG9nZ2xlKTM1IGIobyltKHYpbShlcndyaXRlKWcobW8pcyhkZS4pNDgKKyhtbyltKHYpbShlKWkodGhlKWYoY3Vyc29yLikxNTAgNjcxIHkgRnMob3ZlcndyaXRlLW1vZGUpMjYKK2IoXChcKSk2MzAgNzgwIHkgRnQoVCktOCBiKG9nZ2xlKTM1IGIobyltKHYpbShlcndyaXRlKWcobW8pcyhkZS4pNDgKIGIoV2l0aCkzMyBiKGFuKWcoZXhwbGljaXQpaChwKXMob3NpdGl2KW0oZSlnKG4pbSh1bWVyaWMpZihhcmd1bWVuKW0odCwpCi1oKHN3aXRjKW0oaGVzKTYzMCA5MDMgeSh0bykyMiBiKG8pbSh2KW0oZXJ3cml0ZSlpKG1vKXMoZGUuKTM3CitoKHN3aXRjKW0oaGVzKTYzMCA4OTAgeSh0bykyMiBiKG8pbSh2KW0oZXJ3cml0ZSlpKG1vKXMoZGUuKTM3CiBiKFdpdGgpMjIgYihhbilnKGV4cGxpY2l0KWgobm9uLXApcyhvc2l0aXYpbShlKWYobiltKHVtZXJpYylnKGFyZ3VtZW4pbQotKHQsKWkoc3dpdGMpbShoZXMpZSh0byk2MzAgMTAxMiB5KGluc2VydCkzMCBiKG1vKXMoZGUuKTQxCisodCwpaShzd2l0YyltKGhlcyllKHRvKTYzMCA5OTkgeShpbnNlcnQpMzAgYihtbylzKGRlLik0MQogYihUaGlzKTMwIGIoY29tbWFuZCloKGFcMDEzZWN0cyloKG9ubHkpZSBGcyhlbWFjcylmIEZ0KG1vKXMoZGU7KWkKLUZzKHZpKWYgRnQobW8pcyhkZSlnKGRvKXMoZXMpZyhvKW0odiltKGVyd3JpdGUpNjMwIDExMjIKK0ZzKHZpKWYgRnQobW8pcyhkZSlnKGRvKXMoZXMpZyhvKW0odiltKGVyd3JpdGUpNjMwIDExMDkKIHkoZGlcMDEzZXJlbiltKHRseSktOCBiKC4pNDIgYihFYWMpbShoKTMxIGIoY2FsbCloKHRvKWYKIEZzKHJlYWRsaW5lXChcKSljIEZ0KHN0YXJ0cylrKGluKWYoaW5zZXJ0KWcobW8pcyhkZS4pNjMwCi0xMjU5IHkoSW4pZShvKW0odiltKGVyd3JpdGUpaihtbylzKGRlLCllKGMpbShoYXJhY3RlcnMpaShiKXMob3VuZCljKHRvKQorMTI0MCB5KEluKWUobyltKHYpbShlcndyaXRlKWoobW8pcyhkZSwpZShjKW0oaGFyYWN0ZXJzKWkoYilzKG91bmQpYyh0bykKIGogRnMoc2VsZi1pbnNlcnQpYyBGdChyZXBsYWNlKWsodGhlKWcodGV4dClnKGF0KWcocClzKG9pbiltKHQpNjMwCi0xMzY5IHkocmF0aGVyKTQxIGIodGhhbiloKHB1c2hpbmcpZSh0aGUpaSh0ZXh0KWcodG8pZyh0aGUpZyhyaWdoKW0odC4pCisxMzUwIHkocmF0aGVyKTQxIGIodGhhbiloKHB1c2hpbmcpZSh0aGUpaSh0ZXh0KWcodG8pZyh0aGUpZyhyaWdoKW0odC4pCiA3NSBiKENoYXJhY3RlcnMpNDIgYihiKXMob3VuZClkKHRvKWogRnMoYmFja3dhcmQtKTYzMAotMTQ3OCB5KGRlbGV0ZS1jaGFyKTI3IGIgRnQocmVwbGFjZSkzMiBiKHRoZSllKGMpbShoYXJhY3RlcilpKGIpcyhlZm9yZSkKLWUocClzKG9pbiltKHQpaCh3aXRoKWYoYSlnKHNwYWNlLik2MzAgMTYxNiB5KEJ5KWgoZGVmYXVsdCwpZih0aGlzKWgKLShjb21tYW5kKWYoaXMpZyh1biltKGIpcyhvdW5kLikxNTAgMTg1MiB5IEZrKDguNC40KTYzCi1iKEtpbGxpbmcpNDIgYihBbmQpZShZKS0xMCBiKGFua2luZykxNTAgMjA5OSB5IEZzKGtpbGwtbGluZSkyOAotYihcKEMta1wpKTYzMCAyMjA4IHkgRnQoS2lsbClqKHRoZSlmKHRleHQpaShmcm9tKWUocClzKG9pbiltKHQpZyh0byloCi0odGhlKWcoZW5kKWUob2YpaSh0aGUpZihsaW5lLikxNTAgMjM3NCB5IEZzKGJhY2t3YXJkLWtpbGwtbGluZSkyNQotYihcKEMteCkzMCBiKFJ1Ym91dFwpKTYzMCAyNDgzIHkgRnQoS2lsbCloKGJhYyltKGt3KW0oYXJkKWcodG8pZyh0aGUpZgotKGIpcyhlZ2lubmluZylnKG9mKWcodGhlKWgobGluZS4pMTUwIDI2NDkgeSBGcyh1bml4LWxpbmUtZGlzY2FyZCkyNgotYihcKEMtdVwpKTYzMCAyNzU4IHkgRnQoS2lsbCkzMSBiKGJhYyltKGt3KW0oYXJkKWcoZnJvbSllKHRoZSlpKGN1cnNvcikKKzE0NTkgeShkZWxldGUtY2hhcikyNyBiIEZ0KHJlcGxhY2UpMzIgYih0aGUpZShjKW0oaGFyYWN0ZXIpaShiKXMoZWZvcmUpCitlKHApcyhvaW4pbSh0KWgod2l0aClmKGEpZyhzcGFjZS4pNjMwIDE1OTAgeShCeSloKGRlZmF1bHQsKWYodGhpcyloCisoY29tbWFuZClmKGlzKWcodW4pbShiKXMob3VuZC4pMTUwIDE3ODMgeSBGaig4LjQuNCk2MworYihLaWxsaW5nKTQyIGIoQW5kKWUoWSktMTAgYihhbmtpbmcpMTUwIDE5NTEgeSBGcyhraWxsLWxpbmUpMjgKK2IoXChDLWtcKSk2MzAgMjA2MSB5IEZ0KEtpbGwpaih0aGUpZih0ZXh0KWkoZnJvbSllKHApcyhvaW4pbSh0KWcodG8paAorKHRoZSlnKGVuZCllKG9mKWkodGhlKWYobGluZS4pMTUwIDIyMTMgeSBGcyhiYWNrd2FyZC1raWxsLWxpbmUpMjUKK2IoXChDLXgpMzAgYihSdWJvdXRcKSk2MzAgMjMyMyB5IEZ0KEtpbGwpaChiYWMpbShrdyltKGFyZClnKHRvKWcodGhlKWYKKyhiKXMoZWdpbm5pbmcpZyhvZilnKHRoZSloKGxpbmUuKTE1MCAyNDc2IHkgRnModW5peC1saW5lLWRpc2NhcmQpMjYKK2IoXChDLXVcKSk2MzAgMjU4NSB5IEZ0KEtpbGwpMzEgYihiYWMpbShrdyltKGFyZClnKGZyb20pZSh0aGUpaShjdXJzb3IpCiBmKHRvKWgodGhlKWYoYilzKGVnaW5uaW5nKWcob2YpaCh0aGUpZihjdXJyZW4pbSh0KWcobGluZS4pMTUwCi0yOTIzIHkgRnMoa2lsbC13aG9sZS1saW5lKWMoXChcKSk2MzAgMzAzMyB5IEZ0KEtpbGwpMzcKKzI3MzggeSBGcyhraWxsLXdob2xlLWxpbmUpYyhcKFwpKTYzMCAyODQ3IHkgRnQoS2lsbCkzNwogYihhbGwpZyhjKW0oaGFyYWN0ZXJzKWgob24pZih0aGUpZihjdXJyZW4pbSh0KWgobGluZSwpaChubylmKG1hdHRlcilnCiAod2hlcmUpZihwKXMob2luKW0odCloKGlzLik1OSBiKEJ5KTM2IGIoZGVmYXVsdCwpNjMwCi0zMTQzIHkodGhpcykzMCBiKGlzKWgodW4pbShiKXMob3VuZC4pMTUwIDMzMDggeSBGcyhraWxsLXdvcmQpZChcKE0tZFwpKQotNjMwIDM0MTggeSBGdChLaWxsKWkoZnJvbSlmKHApcyhvaW4pbSh0KWcodG8paCh0aGUpZyhlbmQpZShvZilpKHRoZSlmCisyOTU3IHkodGhpcykzMCBiKGlzKWgodW4pbShiKXMob3VuZC4pMTUwIDMxMDkgeSBGcyhraWxsLXdvcmQpZChcKE0tZFwpKQorNjMwIDMyMTkgeSBGdChLaWxsKWkoZnJvbSlmKHApcyhvaW4pbSh0KWcodG8paCh0aGUpZyhlbmQpZShvZilpKHRoZSlmCiAoY3VycmVuKW0odCloKHcpbShvcmQsKWYob3IpZyhpZiloKGIpcyhldCltKHcpbShlZW4pZyh3KW0ob3JkcywpZih0byloCi0odGhlKWcoZW5kKTYzMCAzNTI3IHkob2YpaCh0aGUpZihuZXh0KWgodyltKG9yZC4pNDAgYihXKS04CisodGhlKWcoZW5kKTYzMCAzMzI5IHkob2YpaCh0aGUpZihuZXh0KWgodyltKG9yZC4pNDAgYihXKS04CiBiKG9yZCkzMSBiKGIpcyhvdW5kYXJpZXMpZShhcmUpaCh0aGUpaChzYW1lKWcoYXMpZiBGcyhmb3J3YXJkLXdvcmQpcAotRnQoLikxNTAgMzY5MiB5IEZzKGJhY2t3YXJkLWtpbGwtd29yZCkyNSBiKFwoTS0pMTE4MwotMzY4OSB5IEZnKGgpcCAxMjA3IDM2MzYgMTQ2IDQgdiAxMjA3IDM2OTIgYSBGZihERUwpcAotMTIwNyAzNzA4IFYgMTM0OCAzNjg5IGEgRmcoaSkxMzc4IDM2OTIgeSBGcyhcKSk2MzAgMzgwMgoteSBGdChLaWxsKWsodGhlKWcodyltKG9yZClnKGIpcyhlaGluZCllKHApcyhvaW4pbSh0Lik0MAorRnQoLikxNTAgMzQ4MSB5IEZzKGJhY2t3YXJkLWtpbGwtd29yZCkyNSBiKFwoTS1ERUxcKSk2MzAKKzM1OTEgeSBGdChLaWxsKWsodGhlKWcodyltKG9yZClnKGIpcyhlaGluZCllKHApcyhvaW4pbSh0Lik0MAogYihXKS04IGIob3JkKTI5IGIoYilzKG91bmRhcmllcylmKGFyZSloKHRoZSlnKHNhbWUpZyhhcylnCi1GcyhiYWNrd2FyZC13b3JkKXAgRnQoLikxNTAgMzk2NyB5IEZzKHNoZWxsLWtpbGwtd29yZClkKFwoXCkpNjMwCi00MDc3IHkgRnQoS2lsbClrKGZyb20pZihwKXMob2luKW0odClnKHRvKWgodGhlKWcoZW5kKWUob2YpaSh0aGUpZgorRnMoYmFja3dhcmQtd29yZClwIEZ0KC4pMTUwIDM3NDMgeSBGcyhzaGVsbC1raWxsLXdvcmQpZChcKFwpKTYzMAorMzg1MyB5IEZ0KEtpbGwpayhmcm9tKWYocClzKG9pbiltKHQpZyh0byloKHRoZSlnKGVuZCllKG9mKWkodGhlKWYKIChjdXJyZW4pbSh0KWgodyltKG9yZCwpZihvcilnKGlmKWgoYilzKGV0KW0odyltKGVlbilnKHcpbShvcmRzLClmKHRvKWgKLSh0aGUpZyhlbmQpNjMwIDQxODcgeShvZiloKHRoZSlmKG5leHQpaCh3KW0ob3JkLik0MCBiKFcpLTgKKyh0aGUpZyhlbmQpNjMwIDM5NjMgeShvZiloKHRoZSlmKG5leHQpaCh3KW0ob3JkLik0MCBiKFcpLTgKIGIob3JkKTMxIGIoYilzKG91bmRhcmllcyllKGFyZSloKHRoZSloKHNhbWUpZyhhcylmIEZzCi0oc2hlbGwtZm9yd2FyZC13b3JkKXAgRnQoLikxNTAgNDM1MiB5IEZzKGJhY2t3YXJkLWtpbGwtd29yZCkyNQotYihcKFwpKTYzMCA0NDYxIHkgRnQoS2lsbClkKHRoZSloKHcpbShvcmQpZShiKXMoZWhpbmQpZyhwKXMob2luKW0odC4pMzgKKyhzaGVsbC1mb3J3YXJkLXdvcmQpcCBGdCguKTE1MCA0MTE1IHkgRnMoYmFja3dhcmQta2lsbC13b3JkKTI1CitiKFwoXCkpNjMwIDQyMjUgeSBGdChLaWxsKWQodGhlKWgodyltKG9yZCllKGIpcyhlaGluZClnKHApcyhvaW4pbSh0LikzOAogYihXKS04IGIob3JkKTIyIGIoYilzKG91bmRhcmllcylmKGFyZSloKHRoZSlnKHNhbWUpaChhcylmCi1GcyhzaGVsbC1iYWNrd2FyZC0pNjMwIDQ1NzEgeSh3b3JkKXAgRnQoLikxNTAgNDczNiB5Ci1Gcyh1bml4LXdvcmQtcnVib3V0KWsoXChDLXdcKSk2MzAgNDg0NiB5IEZ0KEtpbGwpMzIgYih0aGUpZyh3KW0ob3JkKWYKK0ZzKHNoZWxsLWJhY2t3YXJkLSk2MzAgNDMzNCB5KHdvcmQpcCBGdCguKTE1MCA0NDg3IHkKK0ZzKHVuaXgtd29yZC1ydWJvdXQpayhcKEMtd1wpKTYzMCA0NTk2IHkgRnQoS2lsbCkzMiBiKHRoZSlnKHcpbShvcmQpZgogKGIpcyhlaGluZClmKHApcyhvaW4pbSh0LClpKHVzaW5nKWYod2hpdGUpaChzcGFjZSlnKGFzKWcoYSlnKHcpbShvcmQpZgotKGIpcyhvdW5kYXJ5KS04IGIoLik0MyBiKFRoZSkzMSBiKGtpbGxlZCk2MzAgNDk1NSB5KHRleHQpZyhpcylnKHNhKW0odikKLW0oZWQpZyhvbilnKHRoZSlmKGtpbGwtcmluZy4pMTUwIDUxMjEgeSBGcyh1bml4LWZpbGVuYW1lLXJ1Ym91dCkyNQotYihcKFwpKTYzMCA1MjMwIHkgRnQoS2lsbCkzNyBiKHRoZSlmKHcpbShvcmQpZyhiKXMoZWhpbmQpZihwKXMob2luKW0KKyhiKXMob3VuZGFyeSktOCBiKC4pNDMgYihUaGUpMzEgYihraWxsZWQpNjMwIDQ3MDYgeSh0ZXh0KWcoaXMpZyhzYSltKHYpCittKGVkKWcob24pZyh0aGUpZihraWxsLXJpbmcuKTE1MCA0ODU5IHkgRnModW5peC1maWxlbmFtZS1ydWJvdXQpMjUKK2IoXChcKSk2MzAgNDk2OCB5IEZ0KEtpbGwpMzcgYih0aGUpZih3KW0ob3JkKWcoYilzKGVoaW5kKWYocClzKG9pbiltCiAodCwpaih1c2luZyllKHdoaXRlKWcoc3BhY2UpaChhbmQpZih0aGUpZyhzbGFzaClnKGMpbShoYXJhY3RlcilpKGFzKWYKLSh0aGUpNjMwIDUzNDAgeSh3KW0ob3JkKTMwIGIoYilzKG91bmRhcmllcy4pMzkgYihUaGUpMzAKLWIoa2lsbGVkKWgodGV4dClnKGlzKWcoc2EpbSh2KW0oZWQpZyhvbilnKHRoZSlmKGtpbGwtcmluZy4pcAotZW9wIGVuZAorKHRoZSk2MzAgNTA3OCB5KHcpbShvcmQpMzAgYihiKXMob3VuZGFyaWVzLikzOSBiKFRoZSkzMAorYihraWxsZWQpaCh0ZXh0KWcoaXMpZyhzYSltKHYpbShlZClnKG9uKWcodGhlKWYoa2lsbC1yaW5nLikxNTAKKzUyMzAgeSBGcyhkZWxldGUtaG9yaXpvbnRhbC1zcGFjZSkyNCBiKFwoXCkpNjMwIDUzNDAKK3kgRnQoRGVsZXRlKTMzIGIoYWxsKWUoc3BhY2VzKWcoYW5kKWUodGFicylpKGFyb3VuZCllKHApcyhvaW4pbSh0Lik0MQorYihCeSkzMSBiKGRlZmF1bHQsKWYodGhpcyloKGlzKWYodW4pbShiKXMob3VuZC4pcCBlb3AKK2VuZAogJSVQYWdlOiAxMTAgMTE2CiBUZVhEaWN0IGJlZ2luIDExMCAxMTUgYm9wIDE1MCAtMTE2IGEgRnQoMTEwKTI1MjcgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRnMoZGVsZXRlLWhvcml6b250YWwtc3BhY2UpMjQKLWIoXChcKSk2MzAgNDA4IHkgRnQoRGVsZXRlKTMzIGIoYWxsKWUoc3BhY2VzKWcoYW5kKWUodGFicylpKGFyb3VuZCllKHApCi1zKG9pbiltKHQuKTQxIGIoQnkpMzEgYihkZWZhdWx0LClmKHRoaXMpaChpcylmKHVuKW0oYilzKG91bmQuKTE1MAotNTYxIHkgRnMoa2lsbC1yZWdpb24pZChcKFwpKTYzMCA2NzAgeSBGdChLaWxsKWsodGhlKWYodGV4dClpKGluKWUodGhlKWcKLShjdXJyZW4pbSh0KWgocmVnaW9uLik0MSBiKEJ5KTMxIGIoZGVmYXVsdCwpZih0aGlzKWgoY29tbWFuZClmKGlzKWcodW4pCi1tKGIpcyhvdW5kLikxNTAgODIyIHkgRnMoY29weS1yZWdpb24tYXMta2lsbCkyNSBiKFwoXCkpNjMwCi05MzIgeSBGdChDb3ApbSh5KTM0IGIodGhlKWcodGV4dCloKGluKWYodGhlKWcocmVnaW9uKWcodG8paCh0aGUpZihraWxsKQotaChidVwwMTNlciwpZihzbylnKGl0KWgoY2FuKWYoYilzKGUpZih5KW0oYW5rKW0oZWQpaShyaWdoKW0odClmKGEpbSh3KW0KLShhKW0oeSktOCBiKC4pNjMwIDEwNDIgeShCeSkzMSBiKGRlZmF1bHQsKWYodGhpcyloKGNvbW1hbmQpZihpcylnKHVuKW0KLShiKXMob3VuZC4pMTUwIDExOTQgeSBGcyhjb3B5LWJhY2t3YXJkLXdvcmQpMjUgYihcKFwpKTYzMAotMTMwMyB5IEZ0KENvcCltKHkpMzggYih0aGUpaCh3KW0ob3JkKWYoYilzKGVmb3JlKWcocClzKG9pbiltKHQpZyh0bylpCi0odGhlKWUoa2lsbCloKGJ1XDAxM2VyLik2NCBiKFRoZSkzOCBiKHcpbShvcmQpZyhiKXMob3VuZGFyaWVzKWYoYXJlKWkKLSh0aGUpNjMwIDE0MTMgeShzYW1lKTMxIGIoYXMpZiBGcyhiYWNrd2FyZC13b3JkKXAgRnQoLikzOAotYihCeSkzMCBiKGRlZmF1bHQsKWgodGhpcylmKGNvbW1hbmQpZyhpcyloKHVuKW0oYilzKG91bmQuKTE1MAotMTU2NSB5IEZzKGNvcHktZm9yd2FyZC13b3JkKTI2IGIoXChcKSk2MzAgMTY3NSB5IEZ0KENvcCltKHkpMzEKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcyhraWxsLXJlZ2lvbiljKFwoXCkpNjMwCis0MDggeSBGdChLaWxsKWsodGhlKWYodGV4dClpKGluKWUodGhlKWcoY3VycmVuKW0odCloKHJlZ2lvbi4pNDEKK2IoQnkpMzEgYihkZWZhdWx0LClmKHRoaXMpaChjb21tYW5kKWYoaXMpZyh1biltKGIpcyhvdW5kLikxNTAKKzU3OSB5IEZzKGNvcHktcmVnaW9uLWFzLWtpbGwpMjUgYihcKFwpKTYzMCA2ODkgeSBGdChDb3ApbSh5KTM0CitiKHRoZSlnKHRleHQpaChpbilmKHRoZSlnKHJlZ2lvbilnKHRvKWgodGhlKWYoa2lsbCloKGJ1XDAxM2VyLClmKHNvKWcKKyhpdCloKGNhbilmKGIpcyhlKWYoeSltKGFuayltKGVkKWkocmlnaCltKHQpZihhKW0odyltKGEpbSh5KS04CitiKC4pNjMwIDc5OSB5KEJ5KTMxIGIoZGVmYXVsdCwpZih0aGlzKWgoY29tbWFuZClmKGlzKWcodW4pbShiKXMob3VuZC4pCisxNTAgOTY5IHkgRnMoY29weS1iYWNrd2FyZC13b3JkKTI1IGIoXChcKSk2MzAgMTA3OSB5CitGdChDb3ApbSh5KTM4IGIodGhlKWgodyltKG9yZClmKGIpcyhlZm9yZSlnKHApcyhvaW4pbSh0KWcodG8paSh0aGUpZQorKGtpbGwpaChidVwwMTNlci4pNjQgYihUaGUpMzggYih3KW0ob3JkKWcoYilzKG91bmRhcmllcylmKGFyZSlpKHRoZSk2MzAKKzExODkgeShzYW1lKTMxIGIoYXMpZiBGcyhiYWNrd2FyZC13b3JkKXAgRnQoLikzOCBiKEJ5KTMwCitiKGRlZmF1bHQsKWgodGhpcylmKGNvbW1hbmQpZyhpcyloKHVuKW0oYilzKG91bmQuKTE1MAorMTM1OSB5IEZzKGNvcHktZm9yd2FyZC13b3JkKTI2IGIoXChcKSk2MzAgMTQ2OSB5IEZ0KENvcCltKHkpMzEKIGIodGhlKWcodyltKG9yZClnKGZvbGxvKW0od2luZyloKHApcyhvaW4pbSh0KWYodG8paCh0aGUpZihraWxsKWgKIChidVwwMTNlci4pNDIgYihUaGUpMzAgYih3KW0ob3JkKWgoYilzKG91bmRhcmllcyllKGFyZSlqKHRoZSk2MzAKLTE3ODQgeShzYW1lKWYoYXMpZiBGcyhmb3J3YXJkLXdvcmQpcCBGdCguKTM4IGIoQnkpMzAKKzE1NzkgeShzYW1lKWYoYXMpZiBGcyhmb3J3YXJkLXdvcmQpcCBGdCguKTM4IGIoQnkpMzAKIGIoZGVmYXVsdCwpaCh0aGlzKWcoY29tbWFuZClmKGlzKWcodW4pbShiKXMob3VuZC4pMTUwCi0xOTM2IHkgRnMoeWFuaylmKFwoQy15XCkpNjMwIDIwNDYgeSBGdChZKS04IGIoYW5rKTMxCisxNzQ5IHkgRnMoeWFuaylmKFwoQy15XCkpNjMwIDE4NTkgeSBGdChZKS04IGIoYW5rKTMxCiBiKHRoZSlmKHRvcCloKG9mKWcodGhlKWYoa2lsbCloKHJpbmcpZihpbiltKHRvKWkodGhlKWUoYnVcMDEzZXIpZyhhdCloCi0ocClzKG9pbiltKHQuKTE1MCAyMTk4IHkgRnMoeWFuay1wb3ApZChcKE0teVwpKTYzMCAyMzA4CisocClzKG9pbiltKHQuKTE1MCAyMDMwIHkgRnMoeWFuay1wb3ApZChcKE0teVwpKTYzMCAyMTM5CiB5IEZ0KFJvdGF0ZSkzNiBiKHRoZSlmKGtpbGwtcmluZywpaShhbmQpZCh5KW0oYW5rKWgodGhlKWYobmV3KWcodG9wLik1NAogYihZKS04IGIob3UpMzUgYihjYW4pZyhvbmx5KWYoZG8paCh0aGlzKWYoaWYpaCh0aGUpZyhwcmlvcik2MzAKLTI0MTcgeShjb21tYW5kKTMwIGIoaXMpaCBGcyh5YW5rKWUgRnQob3IpaCBGcyh5YW5rLXBvcClwCi1GdCguKTE1MCAyNjMxIHkgRmsoOC40LjUpNjMgYihTcClzKGVjaWZ5aW5nKTQyIGIoTnVtZXJpYylmKEFyZ3VtZW4pbQotKHRzKTE1MCAyODcxIHkgRnMoZGlnaXQtYXJndW1lbnQpMjYgYihcKClwIEZqKE0tMClwIEZzKCwpagotRmooTS0xKXAgRnMoLCloKC4uLilmIEZqKE0tLSlwIEZzKFwpKTYzMCAyOTgxIHkgRnQoQWRkKWQodGhpcyloKGRpZ2l0KWcKKzIyNDkgeShjb21tYW5kKTMwIGIoaXMpaCBGcyh5YW5rKWUgRnQob3IpaCBGcyh5YW5rLXBvcClwCitGdCguKTE1MCAyNDYwIHkgRmooOC40LjUpNjMgYihTcClzKGVjaWZ5aW5nKTQyIGIoTnVtZXJpYylmKEFyZ3VtZW4pbQorKHRzKTE1MCAyNjM3IHkgRnMoZGlnaXQtYXJndW1lbnQpMjYgYihcKClwIEZpKE0tMClwIEZzKCwpagorRmkoTS0xKXAgRnMoLCloKC4uLilmIEZpKE0tLSlwIEZzKFwpKTYzMCAyNzQ3IHkgRnQoQWRkKWQodGhpcyloKGRpZ2l0KWcKICh0byloKHRoZSlmKGFyZ3VtZW4pbSh0KWcoYWxyZWFkeSloKGFjY3VtKW0odWxhdGluZywpaChvcillKHN0YXJ0KWgoYSlmCi0obmV3KWYoYXJndW1lbiltKHQuKTYzMCAzMDkwIHkgRmooTS0tKWogRnQoc3RhcnRzKWkoYSlnKG5lZ2F0aXYpbShlKWkKLShhcmd1bWVuKW0odC4pMTUwIDMyNDIgeSBGcyh1bml2ZXJzYWwtYXJndW1lbnQpMjUgYihcKFwpKTYzMAotMzM1MiB5IEZ0KFRoaXMpZyhpcylnKGFub3RoZXIpaCh3KW0oYSltKHkpZyh0byloKHNwKXMoZWNpZnkpZShhbilnCisobmV3KWYoYXJndW1lbiltKHQuKTYzMCAyODU3IHkgRmkoTS0tKWogRnQoc3RhcnRzKWkoYSlnKG5lZ2F0aXYpbShlKWkKKyhhcmd1bWVuKW0odC4pMTUwIDMwMjcgeSBGcyh1bml2ZXJzYWwtYXJndW1lbnQpMjUgYihcKFwpKTYzMAorMzEzNyB5IEZ0KFRoaXMpZyhpcylnKGFub3RoZXIpaCh3KW0oYSltKHkpZyh0byloKHNwKXMoZWNpZnkpZShhbilnCiAoYXJndW1lbiltKHQuKTQwIGIoSWYpMjUgYih0aGlzKWcoY29tbWFuZCloKGlzKWYoZm9sbG8pbSh3KW0oZWQpaShiKW0KLSh5KWYob25lKTYzMCAzNDYyIHkob3Ipayhtb3JlKWYoZGlnaXRzLClpKG9wdGlvbmFsbHkpZyh3aXRoKWUoYSloCisoeSlmKG9uZSk2MzAgMzI0NyB5KG9yKWsobW9yZSlmKGRpZ2l0cywpaShvcHRpb25hbGx5KWcod2l0aCllKGEpaAogKGxlYWRpbmcpaChtaW4pbSh1cyllKHNpZ24sKWgodGhvc2UpZyhkaWdpdHMpZyhkZVwwMTRuZSlmKHRoZSloKGFyLSk2MzAKLTM1NzEgeShndW1lbiltKHQuKTQxIGIoSWYpMjggYih0aGUpaShjb21tYW5kKWYoaXMpZyhmb2xsbyltKHcpbShlZCloKGIpCiszMzU2IHkoZ3VtZW4pbSh0Lik0MSBiKElmKTI4IGIodGhlKWkoY29tbWFuZClmKGlzKWcoZm9sbG8pbSh3KW0oZWQpaChiKQogbSh5KWYoZGlnaXRzLClpKGV4ZWN1dGluZylmIEZzKHVuaXZlcnNhbC1hcmd1bWVudCk2MzAKLTM2ODEgeSBGdChhZ2FpbilqKGVuZHMpZSh0aGUpaChuKW0odW1lcmljKWYoYXJndW1lbiltKHQsKWkoYnV0KWUoaXMpaAorMzQ2NiB5IEZ0KGFnYWluKWooZW5kcyllKHRoZSloKG4pbSh1bWVyaWMpZihhcmd1bWVuKW0odCwpaShidXQpZShpcyloCiAob3RoZXJ3aXNlKWcoaWdub3JlZC4pNDUgYihBcykzMiBiKGEpZyhzcClzKGVjaWFsKWgoY2FzZSwpNjMwCi0zNzkwIHkoaWYpZyh0aGlzKWcoY29tbWFuZClmKGlzKWgoaW1tZWRpYXRlbHkpaChmb2xsbyltKHcpbShlZCloKGIpbSh5KQorMzU3NSB5KGlmKWcodGhpcylnKGNvbW1hbmQpZihpcyloKGltbWVkaWF0ZWx5KWgoZm9sbG8pbSh3KW0oZWQpaChiKW0oeSkKIGQoYSloKGMpbShoYXJhY3RlcilpKHRoYXQpZShpcylnKG5laXRoZXIpZyhhKWcoZGlnaXQpNjMwCi0zOTAwIHkob3IpMjggYihtaW4pbSh1cylmKHNpZ24sKWkodGhlKWYoYXJndW1lbiltKHQpZyhjb3VuKW0odCloKGZvcillCiszNjg1IHkob3IpMjggYihtaW4pbSh1cylmKHNpZ24sKWkodGhlKWYoYXJndW1lbiltKHQpZyhjb3VuKW0odCloKGZvcillCiAodGhlKWkobmV4dClmKGNvbW1hbmQpZihpcyloKG0pbSh1bHRpcGxpZWQpaChiKW0oeSllKGZvdXIuKTYzMAotNDAxMCB5KFRoZSkzNyBiKGFyZ3VtZW4pbSh0KWgoY291biltKHQpZihpcyloKGluaXRpYWxseSloKG9uZSwpZyhzbylmCiszNzk1IHkoVGhlKTM3IGIoYXJndW1lbiltKHQpaChjb3VuKW0odClmKGlzKWgoaW5pdGlhbGx5KWgob25lLClnKHNvKWYKIChleGVjdXRpbmcpZyh0aGlzKWYoZnVuY3Rpb24pZyh0aGUpaChcMDE0cnN0KWUodGltZSk2MzAKLTQxMTkgeShtYWspbShlcylkKHRoZSllKGFyZ3VtZW4pbSh0KWkoY291biltKHQpZihmb3VyLClmKGEpaShzZWNvbmQpZQorMzkwNCB5KG1hayltKGVzKWQodGhlKWUoYXJndW1lbiltKHQpaShjb3VuKW0odClmKGZvdXIsKWYoYSlpKHNlY29uZCllCiAodGltZSlpKG1hayltKGVzKWYodGhlKWcoYXJndW1lbiltKHQpZyhjb3VuKW0odCloKHNpeC0pNjMwCi00MjI5IHkodGVlbiwpZShhbmQpZihzbyloKG9uLik0MCBiKEJ5KTMxIGIoZGVmYXVsdCwpZyh0aGlzKWYoaXMpZyhub3QpaAotKGIpcyhvdW5kKWQodG8paihhKWcoayltKGV5KS04IGIoLikxNTAgNDQ0MiB5IEZrKDguNC42KTYzCis0MDE0IHkodGVlbiwpZShhbmQpZihzbyloKG9uLik0MCBiKEJ5KTMxIGIoZGVmYXVsdCwpZyh0aGlzKWYoaXMpZyhub3QpaAorKGIpcyhvdW5kKWQodG8paihhKWcoayltKGV5KS04IGIoLikxNTAgNDIyNCB5IEZqKDguNC42KTYzCiBiKExldHRpbmcpNDAgYihSZWFkbGluZSloKFQpbSh5cClzKGUpZyhGKS0xMCBiKG9yKTQyCi1iKFkpLTEwIGIob3UpMTUwIDQ2ODIgeSBGcyhjb21wbGV0ZSkyOCBiKFwoKTYxMCA0Njc5Ci15IEZnKGgpcCA2MzQgNDYyNiAxNDggNCB2IDYzNCA0NjgyIGEgRmYoVCktNiBiKEFCKXAgNjM0Ci00Njk4IFYgNzc4IDQ2NzkgYSBGZyhpKTgwOCA0NjgyIHkgRnMoXCkpNjMwIDQ3OTIgeSBGdChBKW0odHRlbXB0KTI0Ci1iKHRvKWYocClzKGVyZm9ybSllKGNvbXBsZXRpb24paihvbilmKHRoZSlnKHRleHQpZyhiKXMoZWZvcmUpZihwKXMob2luKQotbSh0LikzOSBiKFRoZSkyMiBiKGFjdHVhbClpKGNvbXBsZXRpb24pNjMwIDQ5MDIgeShwKXMoZXJmb3JtZWQpMzMKLWIoaXMpaChhcHBsaWNhdGlvbi1zcClzKGVjaVwwMTRjLik1MyBiKEJhc2gpMzUgYihhdHRlbXB0cylnKGNvbXBsZXRpb24pCi1nKHRyZWF0aW5nKWgodGhlKWUodGV4dCk2MzAgNTAxMSB5KGFzKTM5IGIoYSloKHYpLTUgYihhcmlhYmxlKTM5Ci1iKFwoaWYpaCh0aGUpZih0ZXh0KWgoYilzKGVnaW5zKWUod2l0aCloKGApcCBGcygkKXAgRnQoJ1wpLClqKHVzZXJuYW1lKQotYyhcKGlmKWkodGhlKWYodGV4dCloKGIpcyhlZ2lucyllKHdpdGgpNjMwIDUxMjEgeShgKXAKLUZzKH4pcCBGdCgnXCksKTMxIGIoaG9zdG5hbWUpZihcKGlmKWcodGhlKWcodGV4dCloKGIpcyhlZ2lucyllKHdpdGgpaAotKGApcCBGcyhAKXAgRnQoJ1wpLCloKG9yKWYoY29tbWFuZClmKFwoaW5jbHVkaW5nKWgoYWxpYXNlcylpKGFuZCk2MzAKLTUyMzAgeShmdW5jdGlvbnNcKSlqKGluKWYodHVybi4pNTMgYihJZikzNCBiKG5vbmUpZyhvZiloKHRoZXNlKWgocHJvKXMKLShkdWNlcylkKGEpaShtYXRjKW0oaCwpaShcMDE0bGVuYW1lKWUoY29tcGxldGlvbiloKGlzKTYzMAotNTM0MCB5KGF0dGVtcHRlZC4pcCBlb3AgZW5kCitiKFkpLTEwIGIob3UpMTUwIDQ0MDIgeSBGcyhjb21wbGV0ZSkyOCBiKFwoVEFCXCkpNjMwCis0NTEyIHkgRnQoQSltKHR0ZW1wdCljKHRvKWYocClzKGVyZm9ybSllKGNvbXBsZXRpb24paihvbilmKHRoZSlnKHRleHQpZworKGIpcyhlZm9yZSlmKHApcyhvaW4pbSh0LikzOSBiKFRoZSkyMiBiKGFjdHVhbClpKGNvbXBsZXRpb24pNjMwCis0NjIxIHkocClzKGVyZm9ybWVkKTMzIGIoaXMpaChhcHBsaWNhdGlvbi1zcClzKGVjaVwwMTRjLik1MworYihCYXNoKTM1IGIoYXR0ZW1wdHMpZyhjb21wbGV0aW9uKWcodHJlYXRpbmcpaCh0aGUpZSh0ZXh0KTYzMAorNDczMSB5KGFzKTM5IGIoYSloKHYpLTUgYihhcmlhYmxlKTM5IGIoXChpZiloKHRoZSlmKHRleHQpaChiKXMoZWdpbnMpZQorKHdpdGgpaChgKXAgRnMoJClwIEZ0KCdcKSwpaih1c2VybmFtZSljKFwoaWYpaSh0aGUpZih0ZXh0KWgoYilzKGVnaW5zKWUKKyh3aXRoKTYzMCA0ODQwIHkoYClwIEZzKH4pcCBGdCgnXCksKTMxIGIoaG9zdG5hbWUpZihcKGlmKWcodGhlKWcodGV4dCloCisoYilzKGVnaW5zKWUod2l0aCloKGApcCBGcyhAKXAgRnQoJ1wpLCloKG9yKWYoY29tbWFuZClmKFwoaW5jbHVkaW5nKWgKKyhhbGlhc2VzKWkoYW5kKTYzMCA0OTUwIHkoZnVuY3Rpb25zXCkpaihpbilmKHR1cm4uKTUzCitiKElmKTM0IGIobm9uZSlnKG9mKWgodGhlc2UpaChwcm8pcyhkdWNlcylkKGEpaShtYXRjKW0oaCwpaShcMDE0bGVuYW1lKQorZShjb21wbGV0aW9uKWgoaXMpNjMwIDUwNjAgeShhdHRlbXB0ZWQuKTE1MCA1MjMwIHkgRnMKKyhwb3NzaWJsZS1jb21wbGV0aW9ucykyNSBiKFwoTS0/XCkpNjMwIDUzNDAgeSBGdChMaXN0KTMxCitiKHRoZSlmKHApcyhvc3NpYmxlKWcoY29tcGxldGlvbnMpaShvZillKHRoZSloKHRleHQpZyhiKXMoZWZvcmUpZihwKXMKKyhvaW4pbSh0LilwIGVvcCBlbmQKICUlUGFnZTogMTExIDExNwogVGVYRGljdCBiZWdpbiAxMTEgMTE2IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig4Oik0MQogYihDb21tYW5kKTI5IGIoTGluZSlpKEVkaXRpbmcpMjA2MiBiKDExMSkxNTAgMjk5IHkgRnMKLShwb3NzaWJsZS1jb21wbGV0aW9ucykyNSBiKFwoTS0/XCkpNjMwIDQwOCB5IEZ0KExpc3QpMzEKLWIodGhlKWYocClzKG9zc2libGUpZyhjb21wbGV0aW9ucylpKG9mKWUodGhlKWgodGV4dClnKGIpcyhlZm9yZSlmKHApcwotKG9pbiltKHQuKTE1MCA1ODIgeSBGcyhpbnNlcnQtY29tcGxldGlvbnMpMjUgYihcKE0tKlwpKTYzMAotNjkyIHkgRnQoSW5zZXJ0KTMwIGIoYWxsKWgoY29tcGxldGlvbnMpaChvZilmKHRoZSlnKHRleHQpZyhiKXMoZWZvcmUpZgotKHApcyhvaW4pbSh0KWgodGhhdClnKHcpbShvdWxkKWYoaGEpbSh2KW0oZSlpKGIpcyhlZW4pZShnZW5lcmF0ZWQpNjMwCi04MDEgeShiKW0oeSlnIEZzKHBvc3NpYmxlLWNvbXBsZXRpb25zKXAgRnQoLikxNTAgOTc1Ci15IEZzKG1lbnUtY29tcGxldGUpZChcKFwpKTYzMCAxMDg0IHkgRnQoU2ltaWxhcilkKHRvKWcKLUZzKGNvbXBsZXRlKXAgRnQoLClmKGJ1dCloKHJlcGxhY2VzKWcodGhlKWcodyltKG9yZClnKHRvKWcoYilzKGUpZgotKGNvbXBsZXRlZClpKHdpdGgpZShhKWkoc2luZ2xlKWYobWF0YyltKGgpNjMwIDExOTQgeShmcm9tKTM3Ci1iKHRoZSloKGxpc3QpaChvZilmKHApcyhvc3NpYmxlKWYoY29tcGxldGlvbnMuKTY0IGIoUmVwKXMoZWF0ZWQpMzkKLWIoZXhlY3V0aW9uKWcob2YpZiBGcyhtZW51LWNvbXBsZXRlKTYzMCAxMzAzIHkgRnQoc3RlcHMpaSh0aHJvdWdoKWcKLSh0aGUpZyhsaXN0KWgob2YpZihwKXMob3NzaWJsZSlnKGNvbXBsZXRpb25zLClrKGluc2VydGluZyljKGVhYyltKGgpaQotKG1hdGMpbShoKWYoaW4pZih0dXJuLik2MzAgMTQxMyB5KEEpbSh0KWUodGhlKWYoZW5kKWYob2YpaCh0aGUpZyhsaXN0KWcKLShvZilnKGNvbXBsZXRpb25zLClpKHRoZSllKGIpcyhlbGwpZyhpcylnKHJ1bmcpZihcKHN1Yik1Ci1iKGplY3QpMzYgYih0bylpKHRoZSlmKHNldHRpbmcpNjMwIDE1MjMgeShvZilmIEZzKGJlbGwtc3R5bGUpcAotRnQoXCkpZShhbmQpaCh0aGUpaChvcmlnaW5hbClpKHRleHQpZihpcylmKHJlc3RvcmVkLik1NwotYihBbikzNiBiKGFyZ3VtZW4pbSh0KWgob2YpZiBGcShuKWYgRnQobW8pbSh2KW0oZXMpaQotRnEobik2MzAgMTYzMiB5IEZ0KHApcyhvc2l0aW9ucyllKGZvcncpbShhcmQpZihpbilnKHRoZSloKGxpc3QpaChvZillCisoaW5zZXJ0LWNvbXBsZXRpb25zKTI1IGIoXChNLSpcKSk2MzAgNDA4IHkgRnQoSW5zZXJ0KTMwCitiKGFsbCloKGNvbXBsZXRpb25zKWgob2YpZih0aGUpZyh0ZXh0KWcoYilzKGVmb3JlKWYocClzKG9pbiltKHQpaCh0aGF0KQorZyh3KW0ob3VsZClmKGhhKW0odiltKGUpaShiKXMoZWVuKWUoZ2VuZXJhdGVkKTYzMCA1MTgKK3koYiltKHkpZyBGcyhwb3NzaWJsZS1jb21wbGV0aW9ucylwIEZ0KC4pMTUwIDY4MiB5IEZzKG1lbnUtY29tcGxldGUpZAorKFwoXCkpNjMwIDc5MiB5IEZ0KFNpbWlsYXIpZCh0bylnIEZzKGNvbXBsZXRlKXAgRnQoLClmKGJ1dCloKHJlcGxhY2VzKWcKKyh0aGUpZyh3KW0ob3JkKWcodG8pZyhiKXMoZSlmKGNvbXBsZXRlZClpKHdpdGgpZShhKWkoc2luZ2xlKWYobWF0YyltKGgpCis2MzAgOTAyIHkoZnJvbSkzNyBiKHRoZSloKGxpc3QpaChvZilmKHApcyhvc3NpYmxlKWYoY29tcGxldGlvbnMuKTY0CitiKFJlcClzKGVhdGVkKTM5IGIoZXhlY3V0aW9uKWcob2YpZiBGcyhtZW51LWNvbXBsZXRlKTYzMAorMTAxMSB5IEZ0KHN0ZXBzKWkodGhyb3VnaClnKHRoZSlnKGxpc3QpaChvZilmKHApcyhvc3NpYmxlKWcKKyhjb21wbGV0aW9ucywpayhpbnNlcnRpbmcpYyhlYWMpbShoKWkobWF0YyltKGgpZihpbilmKHR1cm4uKTYzMAorMTEyMSB5KEEpbSh0KWUodGhlKWYoZW5kKWYob2YpaCh0aGUpZyhsaXN0KWcob2YpZyhjb21wbGV0aW9ucywpaSh0aGUpZQorKGIpcyhlbGwpZyhpcylnKHJ1bmcpZihcKHN1Yik1IGIoamVjdCkzNiBiKHRvKWkodGhlKWYoc2V0dGluZyk2MzAKKzEyMzAgeShvZilmIEZzKGJlbGwtc3R5bGUpcCBGdChcKSllKGFuZCloKHRoZSloKG9yaWdpbmFsKWkodGV4dClmKGlzKWYKKyhyZXN0b3JlZC4pNTcgYihBbikzNiBiKGFyZ3VtZW4pbSh0KWgob2YpZiBGcShuKWYgRnQobW8pbSh2KW0oZXMpaQorRnEobik2MzAgMTM0MCB5IEZ0KHApcyhvc2l0aW9ucyllKGZvcncpbShhcmQpZihpbilnKHRoZSloKGxpc3QpaChvZillCiAobWF0YyltKGhlczspMzkgYihhKWMobmVnYXRpdiltKGUpaShhcmd1bWVuKW0odCllKG1hKW0oeSlnKGIpcyhlKWYKLSh1c2VkKWcodG8pNjMwIDE3NDIgeShtbyltKHYpbShlKTQwIGIoYmFjKW0oa3cpbShhcmQpZSh0aHJvdWdoKWcodGhlKWcKKyh1c2VkKWcodG8pNjMwIDE0NTAgeShtbyltKHYpbShlKTQwIGIoYmFjKW0oa3cpbShhcmQpZSh0aHJvdWdoKWcodGhlKWcKIChsaXN0Lik2NSBiKFRoaXMpMzggYihjb21tYW5kKWcoaXMpZyhpbiltKHRlbmRlZClnKHRvKWgoYilzKGUpZihiKXMKLShvdW5kKWUodG8pNjMwIDE4NDggeSBGZyhoKXAgNjU0IDE3OTUgMTQ4IDQgdiA2NTQgMTg1MQotYSBGZihUKS02IGIoQUIpcCA2NTQgMTg2NyBWIDc5OCAxODQ4IGEgRmcoaSk4MjggMTg1MQoteSBGdCgsKTMwIGIoYnV0KWcoaXMpZyh1biltKGIpcyhvdW5kKWUoYiltKHkpaShkZWZhdWx0LikxNTAKLTIwMjUgeSBGcyhkZWxldGUtY2hhci1vci1saXN0KTI1IGIoXChcKSk2MzAgMjEzNCB5IEZ0KERlbGV0ZXMpayh0aGUpZQorKG91bmQpZSh0byk2MzAgMTU1OSB5IEZzKFRBQilwIEZ0KCwpMzAgYihidXQpZihpcylpKHVuKW0oYilzKG91bmQpZChiKW0KKyh5KWkoZGVmYXVsdC4pMTUwIDE3MjQgeSBGcyhtZW51LWNvbXBsZXRlLWJhY2t3YXJkKTI0CitiKFwoXCkpNjMwIDE4MzMgeSBGdChJZGVuKW0odGljYWwpMzYgYih0bylnIEZzKG1lbnUtY29tcGxldGUpcAorRnQoLClkKGJ1dCloKG1vKW0odiltKGVzKWooYmFjKW0oa3cpbShhcmQpZSh0aHJvdWdoKWYodGhlKWkobGlzdClmKG9mKWcKKyhwKXMob3NzaWJsZSk2MzAgMTk0MyB5KGNvbXBsZXRpb25zLClkKGFzKWUoaWYpaCBGcyhtZW51LWNvbXBsZXRlKTI2CitiIEZ0KGhhZClrKGIpcyhlZW4pZyhnaXYpbShlbiloKGEpZyhuZWdhdGl2KW0oZSlpKGFyZ3VtZW4pbSh0LikxNTAKKzIxMDcgeSBGcyhkZWxldGUtY2hhci1vci1saXN0KTI1IGIoXChcKSk2MzAgMjIxNyB5IEZ0KERlbGV0ZXMpayh0aGUpZQogKGMpbShoYXJhY3RlciloKHVuZGVyKWUodGhlKWgoY3Vyc29yKWYoaWYpaChub3QpZyhhdClnKHRoZSlnKGIpcwotKGVnaW5uaW5nKWcob3IpZihlbmQpaChvZilnKHRoZSlnKGxpbmUpNjMwIDIyNDQgeShcKGxpayltKGUpaworKGVnaW5uaW5nKWcob3IpZihlbmQpaChvZilnKHRoZSlnKGxpbmUpNjMwIDIzMjYgeShcKGxpayltKGUpawogRnMoZGVsZXRlLWNoYXIpcCBGdChcKS4pMzcgYihJZikyOSBiKGF0KWgodGhlKWYoZW5kKWYob2YpaSh0aGUpZihsaW5lLCkKIGgoYilzKGVoYSltKHYpbShlcylnKGlkZW4pbSh0aWNhbGx5KWgodG8pZSBGcyhwb3NzaWJsZS0pNjMwCi0yMzU0IHkoY29tcGxldGlvbnMpcCBGdCguKTM4IGIoVGhpcykyOSBiKGNvbW1hbmQpaChpcyloKHVuKW0oYilzKG91bmQpZAotKGIpbSh5KWkoZGVmYXVsdC4pMTUwIDI1MjcgeSBGcyhjb21wbGV0ZS1maWxlbmFtZSljKFwoTS0vXCkpNjMwCi0yNjM3IHkgRnQoQSltKHR0ZW1wdCkzMiBiKFwwMTRsZW5hbWUpZShjb21wbGV0aW9uKWkob24pZSh0aGUpaCh0ZXh0KWcKLShiKXMoZWZvcmUpZihwKXMob2luKW0odC4pMTUwIDI4MTAgeSBGcyhwb3NzaWJsZS1maWxlbmFtZS1jb21wbGUpbwotKHRpb24pbyhzKTI0IGIoXChDLXgpMzAgYigvXCkpNjMwIDI5MjAgeSBGdChMaXN0KWYodGhlKWcocClzKG9zc2libGUpZgorMjQzNiB5KGNvbXBsZXRpb25zKXAgRnQoLikzOCBiKFRoaXMpMjkgYihjb21tYW5kKWgoaXMpaCh1biltKGIpcyhvdW5kKWQKKyhiKW0oeSlpKGRlZmF1bHQuKTE1MCAyNjAwIHkgRnMoY29tcGxldGUtZmlsZW5hbWUpYyhcKE0tL1wpKTYzMAorMjcxMCB5IEZ0KEEpbSh0dGVtcHQpMzIgYihcMDE0bGVuYW1lKWUoY29tcGxldGlvbilpKG9uKWUodGhlKWgodGV4dClnCisoYilzKGVmb3JlKWYocClzKG9pbiltKHQuKTE1MCAyODc0IHkgRnMocG9zc2libGUtZmlsZW5hbWUtY29tcGxlKW8KKyh0aW9uKW8ocykyNCBiKFwoQy14KTMwIGIoL1wpKTYzMCAyOTg0IHkgRnQoTGlzdClmKHRoZSlnKHApcyhvc3NpYmxlKWYKIChjb21wbGV0aW9ucyloKG9mKWcodGhlKWcodGV4dClnKGIpcyhlZm9yZSlnKHApcyhvaW4pbSh0LClnKHRyZWF0aW5nKWgKLShpdClmKGFzKWcoYSlmKFwwMTRsZW5hbWUuKTE1MCAzMDkzIHkgRnMoY29tcGxldGUtdXNlcm5hbWUpZShcKE0tflwpKQotNjMwIDMyMDMgeSBGdChBKW0odHRlbXB0KTMyIGIoY29tcGxldGlvbilmKG9uKWcodGhlKWYodGV4dClpKGIpcyhlZm9yZSkKKyhpdClmKGFzKWcoYSlmKFwwMTRsZW5hbWUuKTE1MCAzMTQ4IHkgRnMoY29tcGxldGUtdXNlcm5hbWUpZShcKE0tflwpKQorNjMwIDMyNTggeSBGdChBKW0odHRlbXB0KTMyIGIoY29tcGxldGlvbilmKG9uKWcodGhlKWYodGV4dClpKGIpcyhlZm9yZSkKIGUocClzKG9pbiltKHQsKWcodHJlYXRpbmcpaShpdClmKGFzKWYoYSloKHVzZXJuYW1lLikxNTAKLTMzNzcgeSBGcyhwb3NzaWJsZS11c2VybmFtZS1jb21wbGUpbyh0aW9uKW8ocykyNCBiKFwoQy14KTMwCi1iKH5cKSk2MzAgMzQ4NiB5IEZ0KExpc3QpMjUgYih0aGUpZyhwKXMob3NzaWJsZSlnKGNvbXBsZXRpb25zKWgob2YpZgorMzQyMiB5IEZzKHBvc3NpYmxlLXVzZXJuYW1lLWNvbXBsZSlvKHRpb24pbyhzKTI0IGIoXChDLXgpMzAKK2IoflwpKTYzMCAzNTMyIHkgRnQoTGlzdCkyNSBiKHRoZSlnKHApcyhvc3NpYmxlKWcoY29tcGxldGlvbnMpaChvZilmCiAodGhlKWcodGV4dCloKGIpcyhlZm9yZSlmKHApcyhvaW4pbSh0LCloKHRyZWF0aW5nKWcoaXQpZyhhcylmKGEpZwotKHVzZXJuYW1lLikxNTAgMzY2MCB5IEZzKGNvbXBsZXRlLXZhcmlhYmxlKWgoXChNLSRcKSk2MzAKLTM3NjkgeSBGdChBKW0odHRlbXB0KTMyIGIoY29tcGxldGlvbilmKG9uKWcodGhlKWYodGV4dClpKGIpcyhlZm9yZSllKHApCisodXNlcm5hbWUuKTE1MCAzNjk2IHkgRnMoY29tcGxldGUtdmFyaWFibGUpaChcKE0tJFwpKTYzMAorMzgwNiB5IEZ0KEEpbSh0dGVtcHQpMzIgYihjb21wbGV0aW9uKWYob24pZyh0aGUpZih0ZXh0KWkoYilzKGVmb3JlKWUocCkKIHMob2luKW0odCwpZyh0cmVhdGluZylpKGl0KWYoYXMpZihhKWgoc2hlbGwpZyh2KS01IGIoYXJpYWJsZS4pMTUwCi0zOTQzIHkgRnMocG9zc2libGUtdmFyaWFibGUtY29tcGxlKW8odGlvbilvKHMpMjQgYihcKEMteCkzMAotYigkXCkpNjMwIDQwNTIgeSBGdChMaXN0KTQyIGIodGhlKWcocClzKG9zc2libGUpZyhjb21wbGV0aW9ucyloKG9mKWYKKzM5NzAgeSBGcyhwb3NzaWJsZS12YXJpYWJsZS1jb21wbGUpbyh0aW9uKW8ocykyNCBiKFwoQy14KTMwCitiKCRcKSk2MzAgNDA4MCB5IEZ0KExpc3QpNDIgYih0aGUpZyhwKXMob3NzaWJsZSlnKGNvbXBsZXRpb25zKWgob2YpZgogKHRoZSlnKHRleHQpaChiKXMoZWZvcmUpZShwKXMob2luKW0odCwpNDYgYih0cmVhdGluZylkKGl0KWYoYXMpZyhhKWgKLShzaGVsbCk2MzAgNDE2MiB5KHYpLTUgYihhcmlhYmxlLikxNTAgNDMzNSB5IEZzKGNvbXBsZXRlLWhvc3RuYW1lKTI2Ci1iKFwoTS1AXCkpNjMwIDQ0NDUgeSBGdChBKW0odHRlbXB0KTMyIGIoY29tcGxldGlvbilmKG9uKWcodGhlKWYodGV4dClpCisoc2hlbGwpNjMwIDQxODkgeSh2KS01IGIoYXJpYWJsZS4pMTUwIDQzNTQgeSBGcyhjb21wbGV0ZS1ob3N0bmFtZSkyNgorYihcKE0tQFwpKTYzMCA0NDYzIHkgRnQoQSltKHR0ZW1wdCkzMiBiKGNvbXBsZXRpb24pZihvbilnKHRoZSlmKHRleHQpaQogKGIpcyhlZm9yZSllKHApcyhvaW4pbSh0LClnKHRyZWF0aW5nKWkoaXQpZihhcylmKGEpaChob3N0bmFtZS4pMTUwCi00NjE5IHkgRnMocG9zc2libGUtaG9zdG5hbWUtY29tcGxlKW8odGlvbilvKHMpMjQgYihcKEMteCkzMAotYihAXCkpNjMwIDQ3MjggeSBGdChMaXN0KTI1IGIodGhlKWcocClzKG9zc2libGUpZihjb21wbGV0aW9ucyloKG9mKWcKKzQ2MjggeSBGcyhwb3NzaWJsZS1ob3N0bmFtZS1jb21wbGUpbyh0aW9uKW8ocykyNCBiKFwoQy14KTMwCitiKEBcKSk2MzAgNDczNyB5IEZ0KExpc3QpMjUgYih0aGUpZyhwKXMob3NzaWJsZSlmKGNvbXBsZXRpb25zKWgob2YpZwogKHRoZSlnKHRleHQpZyhiKXMoZWZvcmUpZyhwKXMob2luKW0odCwpaCh0cmVhdGluZylnKGl0KWYoYXMpZihhKWgKIChob3N0bmFtZS4pMTUwIDQ5MDIgeSBGcyhjb21wbGV0ZS1jb21tYW5kKWgoXChNLSFcKSk2MzAKIDUwMTEgeSBGdChBKW0odHRlbXB0KTMyIGIoY29tcGxldGlvbilnKG9uKWYodGhlKWcodGV4dCloKGIpcyhlZm9yZSllKHApCkBAIC0xMjU0MCwxMjEgKzEyNDYwLDEyOSBAQAogYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5IEZzKHBvc3NpYmxlLWNvbW1hbmQtY29tcGxldClvKGlvbnMpMjQKIGIoXChDLXgpMjkgYighXCkpNjMwIDQwOCB5IEZ0KExpc3QpZCh0aGUpaChwKXMob3NzaWJsZSlmKGNvbXBsZXRpb25zKWgKIChvZilmKHRoZSloKHRleHQpZyhiKXMoZWZvcmUpZihwKXMob2luKW0odCwpaCh0cmVhdGluZylnKGl0KWcoYXMpZyhhKWYKLShjb21tYW5kKTYzMCA1MTggeShuYW1lLikxNTAgNjg4IHkgRnMoZHluYW1pYy1jb21wbGV0ZS1oaXN0b3J5KWUoXChNLSkKLTE0NzAgNjg1IHkgRmcoaClwIDE0OTMgNjMyIDE0OCA0IHYgMTQ5MyA2ODggYSBGZihUKS02Ci1iKEFCKXAgMTQ5MyA3MDMgViAxNjM3IDY4NSBhIEZnKGkpMTY2NyA2ODggeSBGcyhcKSk2MzAKLTc5OCB5IEZ0KEEpbSh0dGVtcHQpMzEgYihjb21wbGV0aW9uKWgob24pZSh0aGUpZyh0ZXh0KWgoYilzKGVmb3JlKWYocClzCi0ob2luKW0odCwpZyhjb21wYXJpbmcpaCh0aGUpZih0ZXh0KWgoYWdhaW5zdCloKGxpbmVzKTYzMAotOTA3IHkoZnJvbSllKHRoZSlnKGhpc3RvcnkpaChsaXN0KWcoZm9yKWYocClzKG9zc2libGUpZyhjb21wbGV0aW9uKWkKLShtYXRjKW0oaGVzLikxNTAgMTA3NyB5IEZzKGRhYmJyZXYtZXhwYW5kKTI2IGIoXChcKSk2MzAKLTExODcgeSBGdChBKW0odHRlbXB0KWkobWVuKW0odSllKGNvbXBsZXRpb24paShvbilmKHRoZSlnKHRleHQpZyhiKXMKKyhjb21tYW5kKTYzMCA1MTggeShuYW1lLikxNTAgNjc1IHkgRnMoZHluYW1pYy1jb21wbGV0ZS1oaXN0b3J5KWUKKyhcKE0tVEFCXCkpNjMwIDc4NCB5IEZ0KEEpbSh0dGVtcHQpMzEgYihjb21wbGV0aW9uKWgob24pZSh0aGUpZyh0ZXh0KWgKKyhiKXMoZWZvcmUpZihwKXMob2luKW0odCwpZyhjb21wYXJpbmcpaCh0aGUpZih0ZXh0KWgoYWdhaW5zdCloKGxpbmVzKQorNjMwIDg5NCB5KGZyb20pZSh0aGUpZyhoaXN0b3J5KWgobGlzdClnKGZvcilmKHApcyhvc3NpYmxlKWcoY29tcGxldGlvbikKK2kobWF0YyltKGhlcy4pMTUwIDEwNTEgeSBGcyhkYWJicmV2LWV4cGFuZCkyNiBiKFwoXCkpNjMwCisxMTYwIHkgRnQoQSltKHR0ZW1wdClpKG1lbiltKHUpZShjb21wbGV0aW9uKWkob24pZih0aGUpZyh0ZXh0KWcoYilzCiAoZWZvcmUpZihwKXMob2luKW0odCwpaShjb21wYXJpbmcpZih0aGUpZyh0ZXh0KWgoYWdhaW5zdCk2MzAKLTEyOTcgeShsaW5lcylqKGZyb20pZSh0aGUpaShoaXN0b3J5KWYobGlzdCloKGZvcilnKHApcyhvc3NpYmxlKWUKLShjb21wbGV0aW9uKWoobWF0YyltKGhlcy4pMTUwIDE0NjcgeSBGcyhjb21wbGV0ZS1pbnRvLWJyYWNlcykyNQotYihcKE0te1wpKTYzMCAxNTc2IHkgRnQoUCltKGVyZm9ybSlmKFwwMTRsZW5hbWUpZihjb21wbGV0aW9uKWkoYW5kKWYKKzEyNzAgeShsaW5lcylqKGZyb20pZSh0aGUpaShoaXN0b3J5KWYobGlzdCloKGZvcilnKHApcyhvc3NpYmxlKWUKKyhjb21wbGV0aW9uKWoobWF0YyltKGhlcy4pMTUwIDE0MjcgeSBGcyhjb21wbGV0ZS1pbnRvLWJyYWNlcykyNQorYihcKE0te1wpKTYzMCAxNTM2IHkgRnQoUCltKGVyZm9ybSlmKFwwMTRsZW5hbWUpZihjb21wbGV0aW9uKWkoYW5kKWYKIChpbnNlcnQpZih0aGUpaChsaXN0KWcob2YpZyhwKXMob3NzaWJsZSlmKGNvbXBsZXRpb25zKWkoZW5jbG9zZWQpNjMwCi0xNjg2IHkod2l0aGluKTM0IGIoYnJhY2VzKWgoc28pZih0aGUpaChsaXN0KWcoaXMpZyhhKW0odiktNQorMTY0NiB5KHdpdGhpbikzNCBiKGJyYWNlcyloKHNvKWYodGhlKWgobGlzdClnKGlzKWcoYSltKHYpLTUKIGIoYWlsYWJsZSkzNyBiKHRvKWUodGhlKWcoc2hlbGwpZyhcKHNlZSlnKFNlY3Rpb24paCgzLjUuMSlnKFtCcmFjZSlnCi0oRXgtKTYzMCAxNzk1IHkocGFuc2lvbl0sKTMwIGIocGFnZSloKDE4XCkuKTE1MCAyMDQxCi15IEZrKDguNC43KTYzIGIoS2V5YilzKG9hcmQpNDEgYihNYWNyb3MpMTUwIDIyOTAgeSBGcyhzdGFydC1rYmQtbWFjcm8pCi0yNiBiKFwoQy14KWooXChcKSk2MzAgMjQwMCB5IEZ0KEJlZ2luKWkoc2EpbSh2aW5nKWgodGhlKWUoYyltCisoRXgtKTYzMCAxNzU1IHkocGFuc2lvbl0sKTMwIGIocGFnZSloKDE4XCkuKTE1MCAxOTUyCit5IEZqKDguNC43KTYzIGIoS2V5YilzKG9hcmQpNDEgYihNYWNyb3MpMTUwIDIxMjIgeSBGcyhzdGFydC1rYmQtbWFjcm8pCisyNiBiKFwoQy14KWooXChcKSk2MzAgMjIzMiB5IEZ0KEJlZ2luKWkoc2EpbSh2aW5nKWgodGhlKWUoYyltCiAoaGFyYWN0ZXJzKWkodCltKHlwKXMoZWQpZShpbiltKHRvKWgodGhlKWcoY3VycmVuKW0odClmKGspbShleWIpcyhvYXJkKQotZyhtYWNyby4pMTUwIDI1NzAgeSBGcyhlbmQta2JkLW1hY3JvKWQoXChDLXgpaShcKVwpKTYzMAotMjY4MCB5IEZ0KFN0b3ApZShzYSltKHZpbmcpaCh0aGUpZyhjKW0oaGFyYWN0ZXJzKWcodCltKHlwKXMoZWQpZihpbiltCitnKG1hY3JvLikxNTAgMjM4OSB5IEZzKGVuZC1rYmQtbWFjcm8pZChcKEMteClpKFwpXCkpNjMwCisyNDk4IHkgRnQoU3RvcCllKHNhKW0odmluZyloKHRoZSlnKGMpbShoYXJhY3RlcnMpZyh0KW0oeXApcyhlZClmKGluKW0KICh0bylpKHRoZSllKGN1cnJlbiltKHQpZyhrKW0oZXliKXMob2FyZClnKG1hY3JvKWgoYW5kKWYoc2EpbSh2KW0oZSlpCi0odGhlKTYzMCAyNzg5IHkoZGVcMDE0bml0aW9uLikxNTAgMjk1OSB5IEZzKGNhbGwtbGFzdC1rYmQtbWFjcm8pYwotKFwoQy14KWsoZVwpKTYzMCAzMDY5IHkgRnQoUmUtZXhlY3V0ZSkzNyBiKHRoZSllKGxhc3QpaChrKW0oZXliKXMob2FyZCkKKyh0aGUpNjMwIDI2MDggeShkZVwwMTRuaXRpb24uKTE1MCAyNzY1IHkgRnMoY2FsbC1sYXN0LWtiZC1tYWNybyljCisoXChDLXgpayhlXCkpNjMwIDI4NzQgeSBGdChSZS1leGVjdXRlKTM3IGIodGhlKWUobGFzdCloKGspbShleWIpcyhvYXJkKQogZihtYWNybyloKGRlXDAxNG5lZCwpZihiKW0oeSloKG1ha2luZylmKHRoZSlnKGMpbShoYXJhY3RlcnMpaShpbillKHRoZSkKLTYzMCAzMTc4IHkobWFjcm8pYyhhcHApcyhlYXIpZihhcylnKGlmKWgodCltKHlwKXMoZWQpZihhdCloKHRoZSlmKGspbQotKGV5YilzKG9hcmQuKTE1MCAzNDI0IHkgRmsoOC40LjgpNjMgYihTb21lKTQxIGIoTWlzY2VsbGFuZW91cylpCi0oQ29tbWFuZHMpMTUwIDM2NzMgeSBGcyhyZS1yZWFkLWluaXQtZmlsZSkyNiBiKFwoQy14KWooQy1yXCkpNjMwCi0zNzgzIHkgRnQoUmVhZCkyMiBiKGluKWcodGhlKWcoY29uKW0odGVuKW0odHMpaChvZilmKHRoZSlnCis2MzAgMjk4NCB5KG1hY3JvKWMoYXBwKXMoZWFyKWYoYXMpZyhpZiloKHQpbSh5cClzKGVkKWYoYXQpaCh0aGUpZihrKW0KKyhleWIpcyhvYXJkLikxNTAgMzE4MCB5IEZqKDguNC44KTYzIGIoU29tZSk0MSBiKE1pc2NlbGxhbmVvdXMpaQorKENvbW1hbmRzKTE1MCAzMzUxIHkgRnMocmUtcmVhZC1pbml0LWZpbGUpMjYgYihcKEMteClqKEMtclwpKTYzMAorMzQ2MCB5IEZ0KFJlYWQpMjIgYihpbilnKHRoZSlnKGNvbiltKHRlbiltKHRzKWgob2YpZih0aGUpZwogRnEoaW5wdXRyYykyNyBiIEZ0KFwwMTRsZSwpZChhbmQpZChpbmNvcnApcyhvcmF0ZSloKGFuKW0oeSloKGJpbmRpbmdzKWQKLShvcilpKHYpLTUgYihhcmlhYmxlKTYzMCAzODkzIHkoYXNzaWdubWVuKW0odHMpMzEgYihmb3VuZCllKHRoZXJlLikxNTAKLTQwNjMgeSBGcyhhYm9ydClnKFwoQy1nXCkpNjMwIDQxNzIgeSBGdChBYilzKG9ydClkKHRoZSloKGN1cnJlbiltKHQpZgorKG9yKWkodiktNSBiKGFyaWFibGUpNjMwIDM1NzAgeShhc3NpZ25tZW4pbSh0cykzMSBiKGZvdW5kKWUodGhlcmUuKTE1MAorMzcyNyB5IEZzKGFib3J0KWcoXChDLWdcKSk2MzAgMzgzNiB5IEZ0KEFiKXMob3J0KWQodGhlKWgoY3VycmVuKW0odClmCiAoZWRpdGluZyloKGNvbW1hbmQpZihhbmQpZyhyaW5nKWgodGhlKWYodGVybWluYWwncyloKGIpcyhlbGwpZyhcKHN1Yik1Ci1iKGplY3QpMjYgYih0bylpKHRoZSk2MzAgNDI4MiB5KHNldHRpbmcpaihvZilnIEZzKGJlbGwtc3R5bGUpcAotRnQoXCkuKTE1MCA0NDUyIHkgRnMoZG8tdXBwZXJjYXNlLXZlcnNpb24pMjUgYihcKE0tYSwpayhNLWIsKWcoTS0pcAotRmooeClwIEZzKCwpZyguLi4pbyhcKSk2MzAgNDU2MSB5IEZ0KElmKWUodGhlKWgobWV0YVwwMTRlZClnKGMpbQorYihqZWN0KTI2IGIodG8paSh0aGUpNjMwIDM5NDYgeShzZXR0aW5nKWoob2YpZyBGcyhiZWxsLXN0eWxlKXAKK0Z0KFwpLikxNTAgNDEwMyB5IEZzKGRvLXVwcGVyY2FzZS12ZXJzaW9uKTI1IGIoXChNLWEsKWsoTS1iLClnKE0tKXAKK0ZpKHgpMTEgYiBGcygsKTI5IGIoLi4uKW8oXCkpNjMwIDQyMTIgeSBGdChJZillKHRoZSloKG1ldGFcMDE0ZWQpZyhjKW0KIChoYXJhY3RlciloIEZxKHgpMzQgYiBGdChpcykyOCBiKGxvKW0odyltKGVyY2FzZSwpaShydW4pZCh0aGUpZwotKGNvbW1hbmQpaCh0aGF0KWcoaXMpZyhiKXMob3VuZClkKHRvKWsodGhlKTYzMCA0NjcxIHkoY29ycmVzcClzKG9uZGluZykKLWcodXBwKXMoZXJjYXNlKWgoYyltKGhhcmFjdGVyLikxNTAgNDg0MSB5IEZzKHByZWZpeC1tZXRhKWQoXCgpNzUzCi00ODM4IHkgRmcoaClwIDc3NyA0Nzg1IDEzOSA0IHYgNzc3IDQ4NDEgYSBGZihFU0MpcCA3NzcKLTQ4NTYgViA5MTEgNDgzOCBhIEZnKGkpOTQxIDQ4NDEgeSBGcyhcKSk2MzAgNDk1MSB5IEZ0KE1ldGFmeSkzOQotYih0aGUpZShuZXh0KWgoYyltKGhhcmFjdGVyKWgodCltKHlwKXMoZWQuKTYyIGIoVGhpcykzNwotYihpcylnKGZvciloKGspbShleWIpcyhvYXJkcylmKHdpdGhvdXQpZyhhKWgobWV0YSlnKGspbShleSktOAotYiguKTYzMCA1MDYwIHkoVCltKHlwaW5nKTMwIGIoYCk5NjggNTA1NyB5IEZnKGgpcCA5OTMKLTUwMDQgViA5OTMgNTA2MCBhIEZmKEVTQylwIDk5MyA1MDc2IFYgMTEyNyA1MDU3IGEgRmcoaSkxMTg3Ci01MDYwIHkgRnMoZilwIEZ0KCcpZyhpcylnKGVxdWl2KS01IGIoYWxlbiltKHQpMzIgYih0bylmKHQpbSh5cGluZylnCi1GaihNLWYpcCBGdCguKTE1MCA1MjMwIHkgRnModW5kbyllKFwoQy1fKWcob3IpaChDLXgpZyhDLXVcKSk2MzAKLTUzNDAgeSBGdChJbmNyZW1lbiltKHRhbCloKHVuZG8sKWYoc2VwYXJhdGVseSloKHJlbWVtKW0oYilzKGVyZWQpZihmb3IpCi1nKGVhYyltKGgpaShsaW5lLilwIGVvcCBlbmQKKyhjb21tYW5kKWgodGhhdClnKGlzKWcoYilzKG91bmQpZCh0bylrKHRoZSk2MzAgNDMyMiB5KGNvcnJlc3ApcyhvbmRpbmcpCitnKHVwcClzKGVyY2FzZSloKGMpbShoYXJhY3Rlci4pMTUwIDQ0NzkgeSBGcyhwcmVmaXgtbWV0YSlkKFwoRVNDXCkpNjMwCis0NTg4IHkgRnQoTWV0YWZ5KTM5IGIodGhlKWUobmV4dCloKGMpbShoYXJhY3RlciloKHQpbSh5cClzKGVkLik2MgorYihUaGlzKTM3IGIoaXMpZyhmb3IpaChrKW0oZXliKXMob2FyZHMpZih3aXRob3V0KWcoYSloKG1ldGEpZyhrKW0oZXkpLTgKK2IoLik2MzAgNDY5OCB5KFQpbSh5cGluZykzMCBiKGApcCBGcyhFU0MpZyhmKXAgRnQoJylnKGlzKWgoZXF1aXYpLTUKK2IoYWxlbiltKHQpMzEgYih0bylnKHQpbSh5cGluZylnIEZpKE0tZilwIEZ0KC4pMTUwIDQ4NTQKK3kgRnModW5kbyllKFwoQy1fKWcob3IpaChDLXgpZyhDLXVcKSk2MzAgNDk2NCB5IEZ0KEluY3JlbWVuKW0odGFsKWgKKyh1bmRvLClmKHNlcGFyYXRlbHkpaChyZW1lbSltKGIpcyhlcmVkKWYoZm9yKWcoZWFjKW0oaClpKGxpbmUuKTE1MAorNTEyMSB5IEZzKHJldmVydC1saW5lKTI3IGIoXChNLXJcKSk2MzAgNTIzMCB5IEZ0KFVuZG8pMzMKK2IoYWxsKWgoYyltKGhhbmdlcylnKG1hZGUpZih0byloKHRoaXMpZihsaW5lLik0OSBiKFRoaXMpMzIKK2IoaXMpaChsaWspbShlKWkoZXhlY3V0aW5nKWYodGhlKWYgRnModW5kbylmIEZ0KGNvbW1hbmQpNjMwCis1MzQwIHkoZW5vdWdoKWUodGltZXMpaCh0bylnKGdldCloKGJhYyltKGspZih0bylnKHRoZSlmKGIpcyhlZ2lubmluZy4pcAorZW9wIGVuZAogJSVQYWdlOiAxMTMgMTE5CiBUZVhEaWN0IGJlZ2luIDExMyAxMTggYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDg6KTQxCi1iKENvbW1hbmQpMjkgYihMaW5lKWkoRWRpdGluZykyMDYyIGIoMTEzKTE1MCAyOTkgeSBGcyhyZXZlcnQtbGluZSkyNwotYihcKE0tclwpKTYzMCA0MDggeSBGdChVbmRvKTMzIGIoYWxsKWgoYyltKGhhbmdlcylnKG1hZGUpZih0byloKHRoaXMpZgotKGxpbmUuKTQ5IGIoVGhpcykzMiBiKGlzKWgobGlrKW0oZSlpKGV4ZWN1dGluZylmKHRoZSlmCi1Gcyh1bmRvKWYgRnQoY29tbWFuZCk2MzAgNTE4IHkoZW5vdWdoKWUodGltZXMpaCh0bylnKGdldCloKGJhYyltKGspZgotKHRvKWcodGhlKWYoYilzKGVnaW5uaW5nLikxNTAgNzA4IHkgRnModGlsZGUtZXhwYW5kKWQoXChNLSZcKSk2MzAKLTgxOCB5IEZ0KFApbShlcmZvcm0paih0aWxkZSloKGV4cGFuc2lvbilnKG9uKWYodGhlKWcoY3VycmVuKW0odCloKHcpbQotKG9yZC4pMTUwIDEwMDggeSBGcyhzZXQtbWFyaylkKFwoQy1AXCkpNjMwIDExMTggeSBGdChTZXQpMzMKLWIodGhlKWcobWFyaylmKHRvKWkodGhlKWYocClzKG9pbiltKHQuKTQ4IGIoSWYpMzIgYihhKWgobiltKHVtZXJpYylnCi0oYXJndW1lbiltKHQpZyhpcylnKHN1cHBsaWVkLClmKHRoZSloKG1hcmspZyhpcylmKHNldCk2MzAKLTEyMjggeSh0bylmKHRoYXQpZyhwKXMob3NpdGlvbi4pMTUwIDE0MTggeSBGcyhleGNoYW5nZS1wb2ludC1hbmQtbWFyaykKLTI0IGIoXChDLXgpMjkgYihDLXhcKSk2MzAgMTUyNyB5IEZ0KFN3KW0oYXApaSh0aGUpZyhwKXMob2luKW0odClnKHdpdGgpCi1nKHRoZSlnKG1hcmsuKTQzIGIoVGhlKTMxIGIoY3VycmVuKW0odClnKGN1cnNvcilmKHApcyhvc2l0aW9uKWkoaXMpZgotKHNldCloKHRvKWYodGhlKWgoc2EpbSh2KW0oZWQpNjMwIDE2MzcgeShwKXMob3NpdGlvbiwpZihhbmQpZSh0aGUpaQotKG9sZClnKGN1cnNvcillKHApcyhvc2l0aW9uKWkoaXMpZihzYSltKHYpbShlZClpKGFzKWUodGhlKWgobWFyay4pMTUwCi0xODI3IHkgRnMoY2hhcmFjdGVyLXNlYXJjaCkyNiBiKFwoQy1dXCkpNjMwIDE5MzcgeSBGdChBKWYoYyltKGhhcmFjdGVyKQotaChpcylmKHJlYWQpZyhhbmQpZihwKXMob2luKW0odCloKGlzKWcobW8pbSh2KW0oZWQpaCh0bylnKHRoZSlmKG5leHQpZwotKG8pcyhjY3VycmVuY2UpZyhvZilnKHRoYXQpZyhjKW0oaGFyYWN0ZXIuKTYzMCAyMDQ3IHkoQSkzMAorYihDb21tYW5kKTI5IGIoTGluZSlpKEVkaXRpbmcpMjA2MiBiKDExMykxNTAgMjk5IHkgRnModGlsZGUtZXhwYW5kKTI3CitiKFwoTS0mXCkpNjMwIDQwOCB5IEZ0KFApbShlcmZvcm0paih0aWxkZSloKGV4cGFuc2lvbilnKG9uKWYodGhlKWcKKyhjdXJyZW4pbSh0KWgodyltKG9yZC4pMTUwIDU1NSB5IEZzKHNldC1tYXJrKWQoXChDLUBcKSk2MzAKKzY2NCB5IEZ0KFNldCkzMyBiKHRoZSlnKG1hcmspZih0bylpKHRoZSlmKHApcyhvaW4pbSh0Lik0OAorYihJZikzMiBiKGEpaChuKW0odW1lcmljKWcoYXJndW1lbiltKHQpZyhpcylnKHN1cHBsaWVkLClmKHRoZSloKG1hcmspZworKGlzKWYoc2V0KTYzMCA3NzQgeSh0bylmKHRoYXQpZyhwKXMob3NpdGlvbi4pMTUwIDkyMAoreSBGcyhleGNoYW5nZS1wb2ludC1hbmQtbWFyaykyNCBiKFwoQy14KTI5IGIoQy14XCkpNjMwCisxMDI5IHkgRnQoU3cpbShhcClpKHRoZSlnKHApcyhvaW4pbSh0KWcod2l0aClnKHRoZSlnKG1hcmsuKTQzCitiKFRoZSkzMSBiKGN1cnJlbiltKHQpZyhjdXJzb3IpZihwKXMob3NpdGlvbilpKGlzKWYoc2V0KWgodG8pZih0aGUpaAorKHNhKW0odiltKGVkKTYzMCAxMTM5IHkocClzKG9zaXRpb24sKWYoYW5kKWUodGhlKWkob2xkKWcoY3Vyc29yKWUocClzCisob3NpdGlvbilpKGlzKWYoc2EpbSh2KW0oZWQpaShhcyllKHRoZSloKG1hcmsuKTE1MCAxMjg1Cit5IEZzKGNoYXJhY3Rlci1zZWFyY2gpMjYgYihcKEMtXVwpKTYzMCAxMzk1IHkgRnQoQSlmKGMpbShoYXJhY3RlciloKGlzKQorZihyZWFkKWcoYW5kKWYocClzKG9pbiltKHQpaChpcylnKG1vKW0odiltKGVkKWgodG8pZyh0aGUpZihuZXh0KWcobylzCisoY2N1cnJlbmNlKWcob2YpZyh0aGF0KWcoYyltKGhhcmFjdGVyLik2MzAgMTUwNCB5KEEpMzAKIGIobmVnYXRpdiltKGUpaihjb3VuKW0odCllKHNlYXJjKW0oaGVzKWcoZm9yKWYocHJldmlvdXMpZyhvKXMKLShjY3VycmVuY2VzLikxNTAgMjIzNyB5IEZzKGNoYXJhY3Rlci1zZWFyY2gtYmFja3dhcilvKGQpMjQKLWIoXChNLUMtXVwpKTYzMCAyMzQ2IHkgRnQoQSk0NSBiKGMpbShoYXJhY3RlciloKGlzKWYocmVhZClnKGFuZClmKHApcworKGNjdXJyZW5jZXMuKTE1MCAxNjUwIHkgRnMoY2hhcmFjdGVyLXNlYXJjaC1iYWNrd2FyKW8oZCkyNAorYihcKE0tQy1dXCkpNjMwIDE3NjAgeSBGdChBKTQ1IGIoYyltKGhhcmFjdGVyKWgoaXMpZihyZWFkKWcoYW5kKWYocClzCiAob2luKW0odCloKGlzKWcobW8pbSh2KW0oZWQpaCh0bylmKHRoZSlnKHByZXZpb3VzKWYobylzKGNjdXJyZW5jZSloKG9mKQotZyh0aGF0KTYzMCAyNDU2IHkoYyltKGhhcmFjdGVyLilkKEEpMzEgYihuZWdhdGl2KW0oZSloKGNvdW4pbSh0KWYKK2codGhhdCk2MzAgMTg3MCB5KGMpbShoYXJhY3Rlci4pZChBKTMxIGIobmVnYXRpdiltKGUpaChjb3VuKW0odClmCiAoc2VhcmMpbShoZXMpaChmb3IpZShzdWJzZXF1ZW4pbSh0KWYobylzKGNjdXJyZW5jZXMuKTE1MAotMjY0NiB5IEZzKGluc2VydC1jb21tZW50KWQoXChNLSNcKSk2MzAgMjc1NiB5IEZ0KFdpdGhvdXQpMzYKKzIwMTYgeSBGcyhza2lwLWNzaS1zZXF1ZW5jZSlkKFwoXCkpNjMwIDIxMjUgeSBGdChSZWFkKWkoZW5vdWdoKWYoYyltCisoaGFyYWN0ZXJzKWgodG8pZyhjb25zdW1lKWYoYSloKG0pbSh1bHRpLWspbShleSloKHNlcXVlbmNlKWYoc3VjKW0oaClmCisoYXMpZyh0aG9zZSloKGRlXDAxNG5lZCk2MzAgMjIzNSB5KGZvcikzNyBiKGspbShleXMpaChsaWspbShlKWcoSG9tZSlnCisoYW5kKWYoRW5kLik2MCBiKFN1YyltKGgpMzcgYihzZXF1ZW5jZXMpZyhiKXMoZWdpbilnKHdpdGgpZyhhKWgoQ29uKW0KKyh0cm9sKWcoU2VxdWVuY2UpNjMwIDIzNDUgeShJbmRpY2F0b3IpZihcKENTSVwpLClmKHVzdWFsbHkpaChFU0MtWy4pNTkKK2IoSWYpMzYgYih0aGlzKWcoc2VxdWVuY2UpaChpcylnKGIpcyhvdW5kKWQodG8payBGcygiXFwpcAorRnQoZVspcCBGcygiKXAgRnQoLClnKGspbShleXMpZihwcm8tKTYzMCAyNDU0IHkoZHVjaW5nKTMxCitiKHN1YyltKGgpaChzZXF1ZW5jZXMpZyh3aWxsKWgoaGEpbSh2KW0oZSlnKG5vKWYoZVwwMTNlY3QpaCh1bmxlc3MpZQorKGV4cGxpY2l0bHkpaihiKXMob3VuZCljKHRvKWkoYSloKHJlYWRsaW5lKTYzMCAyNTY0IHkoY29tbWFuZCwpZgorKGluc3RlYWQpZyhvZilnKGluc2VydGluZylnKHN0cmEpbSh5KWgoYyltKGhhcmFjdGVycylnKGluKW0odG8pZyh0aGUpZgorKGVkaXRpbmcpaChidVwwMTNlci4pNDQgYihUaGlzKTMxIGIoaXMpNjMwIDI2NzMgeSh1biltKGIpcyhvdW5kKWQoYiltCisoeSlpKGRlZmF1bHQsKWgoYnV0KWYodXN1YWxseSlnKGIpcyhvdW5kKWUodG8paihFU0MtWy4pMTUwCisyODE5IHkgRnMoaW5zZXJ0LWNvbW1lbnQpMjYgYihcKE0tI1wpKTYzMCAyOTI5IHkgRnQoV2l0aG91dCkzNgogYihhKWcobiltKHVtZXJpYylnKGFyZ3VtZW4pbSh0LCloKHRoZSlmKHYpLTUgYihhbHVlKTM2CiBiKG9mKWcodGhlKWcgRnMoY29tbWVudC1iZWdpbiljIEZ0KHYpLTUgYihhcmlhYmxlKTM2Ci1iKGlzKWcoaW4tKTYzMCAyODY2IHkoc2VydGVkKWMoYXQpZyh0aGUpZyhiKXMoZWdpbm5pbmcpZihvZiloKHRoZSlmCitiKGlzKWcoaW4tKTYzMCAzMDM5IHkoc2VydGVkKWMoYXQpZyh0aGUpZyhiKXMoZWdpbm5pbmcpZihvZiloKHRoZSlmCiAoY3VycmVuKW0odCloKGxpbmUuKTQ1IGIoSWYpMzEgYihhKWgobiltKHVtZXJpYylmKGFyZ3VtZW4pbSh0KWgoaXMpZwotKHN1cHBsaWVkLCk2MzAgMjk3NSB5KHRoaXMpayhjb21tYW5kKWgoYWN0cylnKGFzKWcoYSlnKHRvZ2dsZTopNTUKKyhzdXBwbGllZCwpNjMwIDMxNDggeSh0aGlzKWsoY29tbWFuZCloKGFjdHMpZyhhcylnKGEpZyh0b2dnbGU6KTU1CiBiKGlmKTM3IGIodGhlKWYoYyltKGhhcmFjdGVycylpKGF0KWcodGhlKWUoYilzKGVnaW5uaW5nKWcob2YpaCh0aGUpZwotKGxpbmUpNjMwIDMwODUgeShkbykzMCBiKG5vdCloKG1hdGMpbShoKWgodGhlKWYodiktNQorKGxpbmUpNjMwIDMyNTggeShkbykzMCBiKG5vdCloKG1hdGMpbShoKWgodGhlKWYodiktNQogYihhbHVlKTMxIGIob2YpZiBGcyhjb21tZW50LWJlZ2luKXAgRnQoLCllKHRoZSlpKHYpLTUKLWIoYWx1ZSkzMSBiKGlzKWcoaW5zZXJ0ZWQsKWcob3RoZXJ3aXNlKWcodGhlKTYzMCAzMTk0CitiKGFsdWUpMzEgYihpcylnKGluc2VydGVkLClnKG90aGVyd2lzZSlnKHRoZSk2MzAgMzM2NwogeShjKW0oaGFyYWN0ZXJzKTQyIGIoaW4pZCBGcyhjb21tZW50LWJlZ2luKWUgRnQoYXJlKWooZGVsZXRlZCloKGZyb20pZgotKHRoZSlnKGIpcyhlZ2lubmluZylnKG9mKWcodGhlKWcobGluZS4pNzEgYihJbik2MzAgMzMwNAorKHRoZSlnKGIpcyhlZ2lubmluZylnKG9mKWcodGhlKWcobGluZS4pNzEgYihJbik2MzAgMzQ3NwogeShlaXRoZXIpMzcgYihjYXNlLClqKHRoZSllKGxpbmUpZihpcylnKGFjY2VwdGVkKWkoYXMpZShpZilnKGEpZwogKG5ld2xpbmUpZyhoYWQpZyhiKXMoZWVuKWYodCltKHlwKXMoZWQuKTYwIGIoVGhlKTM3IGIoZGVmYXVsdCk2MzAKLTM0MTQgeSh2KS01IGIoYWx1ZSkzMiBiKG9mKWcgRnMoY29tbWVudC1iZWdpbiljIEZ0KGNhdXNlcylrKHRoaXMpZgorMzU4NyB5KHYpLTUgYihhbHVlKTMyIGIob2YpZyBGcyhjb21tZW50LWJlZ2luKWMgRnQoY2F1c2VzKWsodGhpcylmCiAoY29tbWFuZCloKHRvKWcobWFrKW0oZSloKHRoZSllKGN1cnJlbiltKHQpaChsaW5lKWcoYSlnKHNoZWxsKTYzMAotMzUyMyB5KGNvbW1lbiltKHQuKTQwIGIoSWYpMjYgYihhKWgobiltKHVtZXJpYylmKGFyZ3VtZW4pbSh0KWgoY2F1c2VzKWcKKzM2OTYgeShjb21tZW4pbSh0Lik0MCBiKElmKTI2IGIoYSloKG4pbSh1bWVyaWMpZihhcmd1bWVuKW0odCloKGNhdXNlcylnCiAodGhlKWYoY29tbWVuKW0odClpKGMpbShoYXJhY3RlcilnKHRvKWYoYilzKGUpZihyZW1vKW0odiltKGVkLCk2MzAKLTM2MzMgeSh0aGUpMzEgYihsaW5lKWYod2lsbCloKGIpcyhlKWYoZXhlY3V0ZWQpaChiKW0oeSlmKHRoZSloKHNoZWxsLikKLTE1MCAzODIzIHkgRnMoZHVtcC1mdW5jdGlvbnMpMjYgYihcKFwpKTYzMCAzOTMzIHkgRnQoUHJpbiltKHQpZyhhbGwpaQorMzgwNiB5KHRoZSkzMSBiKGxpbmUpZih3aWxsKWgoYilzKGUpZihleGVjdXRlZCloKGIpbSh5KWYodGhlKWgoc2hlbGwuKQorMTUwIDM5NTIgeSBGcyhkdW1wLWZ1bmN0aW9ucykyNiBiKFwoXCkpNjMwIDQwNjEgeSBGdChQcmluKW0odClnKGFsbClpCiAob2YpZSh0aGUpaChmdW5jdGlvbnMpZihhbmQpZyh0aGVpcilnKGspbShleSloKGJpbmRpbmdzKWUodG8paih0aGUpZQotKFJlYWRsaW5lKWgob3V0cHV0KWYoc3RyZWFtLik2MzAgNDA0MiB5KElmKTMxIGIoYSloKG4pbSh1bWVyaWMpZworKFJlYWRsaW5lKWgob3V0cHV0KWYoc3RyZWFtLik2MzAgNDE3MSB5KElmKTMxIGIoYSloKG4pbSh1bWVyaWMpZwogKGFyZ3VtZW4pbSh0KWcoaXMpZyhzdXBwbGllZCwpZih0aGUpaChvdXRwdXQpZihpcyloKGZvcm1hdHRlZClnKGluKWYKLShzdWMpbShoKWgoYSlnKHcpbShhKW0oeSlnKHRoYXQpNjMwIDQxNTIgeShpdClmKGNhbilnKGIpcyhlKWUobWFkZSlpCisoc3VjKW0oaCloKGEpZyh3KW0oYSltKHkpZyh0aGF0KTYzMCA0MjgxIHkoaXQpZihjYW4pZyhiKXMoZSllKG1hZGUpaQogKHBhcnQpZihvZilnKGFuKWggRnEoaW5wdXRyYylrIEZ0KFwwMTRsZS4pNDEgYihUaGlzKTI5CiBiKGNvbW1hbmQpaChpcyloKHVuKW0oYilzKG91bmQpYyhiKW0oeSlrKGRlZmF1bHQuKTE1MAotNDM0MiB5IEZzKGR1bXAtdmFyaWFibGVzKTI2IGIoXChcKSk2MzAgNDQ1MiB5IEZ0KFByaW4pbSh0KTIxCis0NDI3IHkgRnMoZHVtcC12YXJpYWJsZXMpMjYgYihcKFwpKTYzMCA0NTM2IHkgRnQoUHJpbiltKHQpMjEKIGIoYWxsKWgob2YpZyh0aGUpZihzZXR0YWJsZSlpKHYpLTUgYihhcmlhYmxlcykyMiBiKGFuZClmKHRoZWlyKWcodiktNQogYihhbHVlcykyMiBiKHRvKWcodGhlKWYoUmVhZGxpbmUpaChvdXRwdXQpZihzdHJlYW0uKTYzMAotNDU2MSB5KElmKTMxIGIoYSloKG4pbSh1bWVyaWMpZyhhcmd1bWVuKW0odClnKGlzKWcoc3VwcGxpZWQsKWYodGhlKWgKKzQ2NDYgeShJZikzMSBiKGEpaChuKW0odW1lcmljKWcoYXJndW1lbiltKHQpZyhpcylnKHN1cHBsaWVkLClmKHRoZSloCiAob3V0cHV0KWYoaXMpaChmb3JtYXR0ZWQpZyhpbilmKHN1YyltKGgpaChhKWcodyltKGEpbSh5KWcodGhhdCk2MzAKLTQ2NzEgeShpdClmKGNhbilnKGIpcyhlKWUobWFkZSlpKHBhcnQpZihvZilnKGFuKWggRnEoaW5wdXRyYylrCis0NzU2IHkoaXQpZihjYW4pZyhiKXMoZSllKG1hZGUpaShwYXJ0KWYob2YpZyhhbiloIEZxKGlucHV0cmMpawogRnQoXDAxNGxlLik0MSBiKFRoaXMpMjkgYihjb21tYW5kKWgoaXMpaCh1biltKGIpcyhvdW5kKWMoYiltKHkpawotKGRlZmF1bHQuKTE1MCA0ODYxIHkgRnMoZHVtcC1tYWNyb3MpYyhcKFwpKTYzMCA0OTcxIHkKKyhkZWZhdWx0LikxNTAgNDkwMiB5IEZzKGR1bXAtbWFjcm9zKWMoXChcKSk2MzAgNTAxMSB5CiBGdChQcmluKW0odCkzNCBiKGFsbClnKG9mKWcodGhlKWcoUmVhZGxpbmUpZyhrKW0oZXkpaChzZXF1ZW5jZXMpZihiKXMKIChvdW5kKWUodG8paShtYWNyb3MpZyhhbmQpZih0aGUpaChzdHJpbmdzKWcodGhleSk2MzAKLTUwODAgeShvdXRwdXQuKTUzIGIoSWYpMzUgYihhKWcobiltKHVtZXJpYylmKGFyZ3VtZW4pbSh0KWkoaXMpZQorNTEyMSB5KG91dHB1dC4pNTMgYihJZikzNSBiKGEpZyhuKW0odW1lcmljKWYoYXJndW1lbiltKHQpaShpcyllCiAoc3VwcGxpZWQsKWgodGhlKWcob3V0cHV0KWcoaXMpZihmb3JtYXR0ZWQpaShpbillKHN1YyltKGgpaChhKTYzMAotNTE5MCB5KHcpbShhKW0oeSljKHRoYXQpZyhpdClmKGNhbilnKGIpcyhlKWcobWFkZSlnKHBhcnQpZihvZilpKGFuKWUKKzUyMzAgeSh3KW0oYSltKHkpYyh0aGF0KWcoaXQpZihjYW4pZyhiKXMoZSlnKG1hZGUpZyhwYXJ0KWYob2YpaShhbillCiBGcShpbnB1dHJjKTM1IGIgRnQoXDAxNGxlLik0MSBiKFRoaXMpMjkgYihjb21tYW5kKWgoaXMpZyh1biltKGIpcyhvdW5kKQotZChiKW0oeSk2MzAgNTMwMCB5KGRlZmF1bHQuKXAgZW9wIGVuZAorZChiKW0oeSk2MzAgNTM0MCB5KGRlZmF1bHQuKXAgZW9wIGVuZAogJSVQYWdlOiAxMTQgMTIwCiBUZVhEaWN0IGJlZ2luIDExNCAxMTkgYm9wIDE1MCAtMTE2IGEgRnQoMTE0KTI1MjcgYihCYXNoKTMxCiBiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRnMoZ2xvYi1jb21wbGV0ZS13b3JkKTI1CkBAIC0xMjY2Myw1NiArMTI1OTEsNTYgQEAKIDYzMCA1MTggeShhc3RlcmlzaylkKGltcGxpY2l0bHkpaChhcHApcyhlbmRlZC4pMzcgYihUaGlzKTIzCiBiKHBhdHRlcm4paShpcylmKHVzZWQpZyh0byloKGdlbmVyYXRlKWgoYSllKGxpc3QpaChvZilnKG1hdGMpbShoaW5nKTYzMAogNjI4IHkoXDAxNGxlKTMwIGIobmFtZXMpaChmb3IpZihwKXMob3NzaWJsZSlnKGNvbXBsZXRpb25zLikxNTAKLTc4MiB5IEZzKGdsb2ItZXhwYW5kLXdvcmQpYyhcKEMteClqKCpcKSk2MzAgODkyIHkgRnQoVGhlKTQwCis3OTEgeSBGcyhnbG9iLWV4cGFuZC13b3JkKWMoXChDLXgpaigqXCkpNjMwIDkwMCB5IEZ0KFRoZSk0MAogYih3KW0ob3JkKWcoYilzKGVmb3JlKWcocClzKG9pbiltKHQpaChpcylnKHRyZWF0ZWQpZyhhcylnKGEpZyhwYXR0ZXJuKWcKLShmb3IpZihwYXRobmFtZSlnKGV4cGFuc2lvbiwpayhhbmQpNjMwIDEwMDEgeSh0aGUpYyhsaXN0KWcob2YpZihtYXRjKW0KKyhmb3IpZihwYXRobmFtZSlnKGV4cGFuc2lvbiwpayhhbmQpNjMwIDEwMTAgeSh0aGUpYyhsaXN0KWcob2YpZihtYXRjKW0KIChoaW5nKWkoXDAxNGxlKWUobmFtZXMpZyhpcyloKGluc2VydGVkLCloKHJlcGxhY2luZylnKHRoZSllKHcpbShvcmQuKTY3Ci1iKElmKTM5IGIoYSloKG4pbSh1bWVyaWMpNjMwIDExMTEgeShhcmd1bWVuKW0odCkzMSBiKGlzKWYoc3VwcGxpZWQsKWcKK2IoSWYpMzkgYihhKWgobiltKHVtZXJpYyk2MzAgMTEyMCB5KGFyZ3VtZW4pbSh0KTMxIGIoaXMpZihzdXBwbGllZCwpZwogKGEpZyhgKXAgRnMoKilwIEZ0KCcpaChpcylmKGFwcClzKGVuZGVkKWYoYilzKGVmb3JlKWgocGF0aG5hbWUpZwotKGV4cGFuc2lvbi4pMTUwIDEyNjYgeSBGcyhnbG9iLWxpc3QtZXhwYW5zaW9ucykyNSBiKFwoQy14KWsoZ1wpKTYzMAotMTM3NSB5IEZ0KFRoZSlrKGxpc3QpaChvZilmKGV4cGFuc2lvbnMpZyh0aGF0KWgodyltKG91bGQpZihoYSltKHYpbShlKWgKKyhleHBhbnNpb24uKTE1MCAxMjgzIHkgRnMoZ2xvYi1saXN0LWV4cGFuc2lvbnMpMjUgYihcKEMteClrKGdcKSk2MzAKKzEzOTIgeSBGdChUaGUpayhsaXN0KWgob2YpZihleHBhbnNpb25zKWcodGhhdCloKHcpbShvdWxkKWYoaGEpbSh2KW0oZSloCiAoYilzKGVlbilmKGdlbmVyYXRlZCloKGIpbSh5KWYgRnMoZ2xvYi1leHBhbmQtd29yZCk2MzAKLTE0ODUgeSBGdChpcyloKGRpc3BsYSltKHkpbShlZCwpaChhbmQpZSh0aGUpaChsaW5lKWcoaXMpZihyZWRyYSltKHduLikKKzE1MDIgeSBGdChpcyloKGRpc3BsYSltKHkpbShlZCwpaChhbmQpZSh0aGUpaChsaW5lKWcoaXMpZihyZWRyYSltKHduLikKIDUwIGIoSWYpMzMgYihhKWgobiltKHVtZXJpYylnKGFyZ3VtZW4pbSh0KWcoaXMpZihzdXBwbGllZCwpaChhKWcoYClwCi1GcygqKXAgRnQoJyk2MzAgMTU5NCB5KGlzKWMoYXBwKXMoZW5kZWQpZihiKXMoZWZvcmUpaChwYXRobmFtZSlnCi0oZXhwYW5zaW9uLikxNTAgMTc0OSB5IEZzKGRpc3BsYXktc2hlbGwtdmVyc2lvbikyNSBiKFwoQy14KWsoQy12XCkpNjMwCi0xODU4IHkgRnQoRGlzcGxhKW0oeSlqKHYpbShlcnNpb24pZShpbmZvcm1hdGlvbiloKGFiKXMob3V0KWYodGhlKWgKLShjdXJyZW4pbSh0KWYoaW5zdGFuY2UpaChvZilmKEJhc2guKTE1MCAyMDEzIHkgRnMoc2hlbGwtZXhwYW5kLWxpbmUpYwotKFwoTS1DLWVcKSk2MzAgMjEyMyB5IEZ0KEV4cGFuZCkzNCBiKHRoZSloKGxpbmUpaChhcylnKHRoZSlmKHNoZWxsKWgKK0ZzKCopcCBGdCgnKTYzMCAxNjExIHkoaXMpYyhhcHApcyhlbmRlZClmKGIpcyhlZm9yZSloKHBhdGhuYW1lKWcKKyhleHBhbnNpb24uKTE1MCAxNzc1IHkgRnMoZGlzcGxheS1zaGVsbC12ZXJzaW9uKTI1IGIoXChDLXgpayhDLXZcKSk2MzAKKzE4ODQgeSBGdChEaXNwbGEpbSh5KWoodiltKGVyc2lvbillKGluZm9ybWF0aW9uKWgoYWIpcyhvdXQpZih0aGUpaAorKGN1cnJlbiltKHQpZihpbnN0YW5jZSloKG9mKWYoQmFzaC4pMTUwIDIwNDcgeSBGcyhzaGVsbC1leHBhbmQtbGluZSljCisoXChNLUMtZVwpKTYzMCAyMTU3IHkgRnQoRXhwYW5kKTM0IGIodGhlKWgobGluZSloKGFzKWcodGhlKWYoc2hlbGwpaAogKGRvKXMoZXMuKTU1IGIoVGhpcykzNCBiKHApcyhlcmZvcm1zKWcoYWxpYXMpaShhbmQpZihoaXN0b3J5KWcKLShleHBhbnNpb24pNjMwIDIyMzIgeShhcylmKHcpbShlbGwpZyhhcylnKGFsbCloKG9mKWUodGhlKWgoc2hlbGwpZyh3KW0KKyhleHBhbnNpb24pNjMwIDIyNjYgeShhcylmKHcpbShlbGwpZyhhcylnKGFsbCloKG9mKWUodGhlKWgoc2hlbGwpZyh3KW0KIChvcmQpZihleHBhbnNpb25zKWcoXChzZWUpaShTZWN0aW9uKWYoMy41KWgoW1NoZWxsKWUoRXhwYW5zaW9uc10sKTYzMAotMjM0MiB5KHBhZ2UpZSgxN1wpLikxNTAgMjQ5NiB5IEZzKGhpc3RvcnktZXhwYW5kLWxpbmUpMjUKLWIoXChNLV5cKSk2MzAgMjYwNiB5IEZ0KFApbShlcmZvcm0pMzAgYihoaXN0b3J5KWgoZXhwYW5zaW9uKWYob24pZyh0aGUpCi1oKGN1cnJlbiltKHQpZihsaW5lLikxNTAgMjc2MCB5IEZzKG1hZ2ljLXNwYWNlKWQoXChcKSk2MzAKLTI4NzAgeSBGdChQKW0oZXJmb3JtKWMoaGlzdG9yeSlnKGV4cGFuc2lvbilnKG9uKWcodGhlKWcoY3VycmVuKW0odClnCisyMzc2IHkocGFnZSllKDE3XCkuKTE1MCAyNTM5IHkgRnMoaGlzdG9yeS1leHBhbmQtbGluZSkyNQorYihcKE0tXlwpKTYzMCAyNjQ5IHkgRnQoUCltKGVyZm9ybSkzMCBiKGhpc3RvcnkpaChleHBhbnNpb24pZihvbilnKHRoZSkKK2goY3VycmVuKW0odClmKGxpbmUuKTE1MCAyODEyIHkgRnMobWFnaWMtc3BhY2UpZChcKFwpKTYzMAorMjkyMSB5IEZ0KFApbShlcmZvcm0pYyhoaXN0b3J5KWcoZXhwYW5zaW9uKWcob24pZyh0aGUpZyhjdXJyZW4pbSh0KWcKIChsaW5lKWcoYW5kKWcoaW5zZXJ0KWcoYSlnKHNwYWNlKWgoXChzZWUpZyhTZWN0aW9uKWcoOS4zKTYzMAotMjk4MCB5KFtIaXN0b3J5KTMxIGIoSW4pbSh0ZXJhY3Rpb25dLClpKHBhZ2UpZSgxMjNcKS4pMTUwCi0zMTM0IHkgRnMoYWxpYXMtZXhwYW5kLWxpbmUpMjYgYihcKFwpKTYzMCAzMjQ0IHkgRnQoUCltKGVyZm9ybSlpKGFsaWFzKQorMzAzMSB5KFtIaXN0b3J5KTMxIGIoSW4pbSh0ZXJhY3Rpb25dLClpKHBhZ2UpZSgxMjNcKS4pMTUwCiszMTk0IHkgRnMoYWxpYXMtZXhwYW5kLWxpbmUpMjYgYihcKFwpKTYzMCAzMzA0IHkgRnQoUCltKGVyZm9ybSlpKGFsaWFzKQogaShleHBhbnNpb24pZShvbilnKHRoZSloKGN1cnJlbiltKHQpZihsaW5lKWgoXChzZWUpZyhTZWN0aW9uKWcoNi42KWgKLShbQWxpYXNlc10sKWcocGFnZSlmKDc5XCkuKTE1MCAzMzk4IHkgRnMoaGlzdG9yeS1hbmQtYWxpYXMtZXhwYW5kKW8KLSgtbGluKW8oZSkyNCBiKFwoXCkpNjMwIDM1MDggeSBGdChQKW0oZXJmb3JtKTMwIGIoaGlzdG9yeSloKGFuZCllCisoW0FsaWFzZXNdLClnKHBhZ2UpZig3OVwpLikxNTAgMzQ2NyB5IEZzKGhpc3RvcnktYW5kLWFsaWFzLWV4cGFuZClvCisoLWxpbilvKGUpMjQgYihcKFwpKTYzMCAzNTc2IHkgRnQoUCltKGVyZm9ybSkzMCBiKGhpc3RvcnkpaChhbmQpZQogKGFsaWFzKWooZXhwYW5zaW9uKWUob24pZyh0aGUpaChjdXJyZW4pbSh0KWYobGluZS4pMTUwCi0zNjYyIHkgRnMoaW5zZXJ0LWxhc3QtYXJndW1lbnQpMjUgYihcKE0tLilrKG9yKWgoTS1fXCkpNjMwCi0zNzcyIHkgRnQoQSlnKHN5bm9uKW0oeW0pZyhmb3IpZyBGcyh5YW5rLWxhc3QtYXJnKXAgRnQoLikxNTAKLTM5MjcgeSBGcyhvcGVyYXRlLWFuZC1nZXQtbmV4dCkyNSBiKFwoQy1vXCkpNjMwIDQwMzYKKzM3NDAgeSBGcyhpbnNlcnQtbGFzdC1hcmd1bWVudCkyNSBiKFwoTS0uKWsob3IpaChNLV9cKSk2MzAKKzM4NDkgeSBGdChBKWcoc3lub24pbSh5bSlnKGZvcilnIEZzKHlhbmstbGFzdC1hcmcpcCBGdCguKTE1MAorNDAxMiB5IEZzKG9wZXJhdGUtYW5kLWdldC1uZXh0KTI1IGIoXChDLW9cKSk2MzAgNDEyMgogeSBGdChBY2NlcHQpNDIgYih0aGUpZShjdXJyZW4pbSh0KWgobGluZSlmKGZvciloKGV4ZWN1dGlvbilnKGFuZClmCiAoZmV0YyltKGgpaSh0aGUpZShuZXh0KWgobGluZSlnKHJlbGF0aXYpbShlKWkodG8pZSh0aGUpNjMwCi00MTQ2IHkoY3VycmVuKW0odCkzMCBiKGxpbmUpaChmcm9tKWYodGhlKWcoaGlzdG9yeSloKGZvcilmKGVkaXRpbmcuKTQxCi1iKEFuKW0oeSkzMSBiKGFyZ3VtZW4pbSh0KWYoaXMpaChpZ25vcmVkLikxNTAgNDMwMCB5Ci1GcyhlZGl0LWFuZC1leGVjdXRlLWNvbW1hbmQpMjQgYihcKEMteEMtZVwpKTYzMCA0NDEwCis0MjMxIHkoY3VycmVuKW0odCkzMCBiKGxpbmUpaChmcm9tKWYodGhlKWcoaGlzdG9yeSloKGZvcilmKGVkaXRpbmcuKTQxCitiKEFuKW0oeSkzMSBiKGFyZ3VtZW4pbSh0KWYoaXMpaChpZ25vcmVkLikxNTAgNDM5NSB5CitGcyhlZGl0LWFuZC1leGVjdXRlLWNvbW1hbmQpMjQgYihcKEMteEMtZVwpKTYzMCA0NTA0CiB5IEZ0KEluKW0odiltKG9rKW0oZSkzNCBiKGFuKWYoZWRpdG9yKWcob24pZyh0aGUpZyhjdXJyZW4pbSh0KWYKIChjb21tYW5kKWgobGluZSwpaChhbmQpZShleGVjdXRlKWkodGhlKWYocmVzdWx0KWcoYXMpZyhzaGVsbCk2MzAKLTQ1MTkgeShjb21tYW5kcy4pODEgYihCYXNoKTQ0IGIoYXR0ZW1wdHMpaCh0bylnKGluKW0odiltKG9rKW0oZSloCis0NjE0IHkoY29tbWFuZHMuKTgxIGIoQmFzaCk0NCBiKGF0dGVtcHRzKWgodG8pZyhpbiltKHYpbShvayltKGUpaAogRnMoJFZJU1VBTClwIEZ0KCwpZiBGcygkRURJVE9SKXAgRnQoLCloKGFuZClkIEZzKGVtYWNzKWcKLUZ0KGFzKWgodGhlKTYzMCA0NjI5IHkoZWRpdG9yLCkzMSBiKGluKWYodGhhdCloKG9yZGVyLikxNTAKLTQ4NzkgeSBGcig4LjUpNjggYihSZWFkbGluZSk0NyBiKHZpKWUoTW8pdChkZSkyNzUgNTEyMQoteSBGdChXaGlsZSkyNCBiKHRoZSlnKFJlYWRsaW5lKWcobGlicmFyeSlmKGRvKXMoZXMpaChub3QpZyhoYSltKHYpbShlKWcKLShhKWgoZnVsbCllKHNldCloKG9mKWcgRnModmkpZiBGdChlZGl0aW5nKWgoZnVuY3Rpb25zLCloKGl0KWYoZG8pcyhlcylnCi0oY29uKW0odGFpbikxNTAgNTIzMCB5KGVub3VnaCkzNCBiKHRvKWgoYWxsbyltKHcpZyhzaW1wbGUpZihlZGl0aW5nKWgKLShvZilmKHRoZSlnKGxpbmUuKTUyIGIoVGhlKTM0IGIoUmVhZGxpbmUpZyBGcyh2aSlnIEZ0KG1vKXMoZGUpZihiKXMKLShlaGEpbSh2KW0oZXMpaShhcylmKHNwKXMoZWNpXDAxNGVkKWYoaW4pMTUwIDUzNDAgeSh0aGUpZQotRmwocG9zaXgpZSBGdCgxMDAzLjIpayhzdGFuZGFyZC4pcCBlb3AgZW5kCitGdChhcyloKHRoZSk2MzAgNDcyMyB5KGVkaXRvciwpMzEgYihpbilmKHRoYXQpaChvcmRlci4pMTUwCis0OTYxIHkgRnIoOC41KTY4IGIoUmVhZGxpbmUpNDcgYih2aSllKE1vKXQoZGUpMTUwIDUxMjEKK3kgRnQoV2hpbGUpMzIgYih0aGUpZyhSZWFkbGluZSlnKGxpYnJhcnkpZihkbylzKGVzKWcobm90KWgoaGEpbSh2KW0oZSloCisoYSlmKGZ1bGwpZihzZXQpaChvZilnIEZzKHZpKWYgRnQoZWRpdGluZyloKGZ1bmN0aW9ucywpZihpdCloKGRvKXMoZXMpZworKGNvbiltKHRhaW4pMTUwIDUyMzAgeShlbm91Z2gpaSh0byloKGFsbG8pbSh3KWcoc2ltcGxlKWYoZWRpdGluZyloKG9mKWYKKyh0aGUpZyhsaW5lLik1MiBiKFRoZSkzNCBiKFJlYWRsaW5lKWcgRnModmkpZyBGdChtbylzKGRlKWYoYilzKGVoYSltKHYpCittKGVzKWkoYXMpZihzcClzKGVjaVwwMTRlZClmKGluKTE1MCA1MzQwIHkodGhlKWUgRmwocG9zaXgpZQorRnQoMTAwMy4yKWsoc3RhbmRhcmQuKXAgZW9wIGVuZAogJSVQYWdlOiAxMTUgMTIxCiBUZVhEaWN0IGJlZ2luIDExNSAxMjAgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDg6KTQxCiBiKENvbW1hbmQpMjkgYihMaW5lKWkoRWRpdGluZykyMDYyIGIoMTE1KTI3NSAyOTkgeShJbikzNQpAQCAtMTI3MjQsODI4ICsxMjY1Miw4NzcgQEAKIHkoUmVhZGxpbmUpMzEgYihkZWZhdWx0KWcoaXMpZiBGcyhlbWFjcylmIEZ0KG1vKXMoZGUuKTI3NQogNjUxIHkoV2hlbilnKHkpbShvdSlpKGVuKW0odGVyKWYoYSloKGxpbmUpZihpbilnIEZzKHZpKWYKIEZ0KG1vKXMoZGUsKWgoeSltKG91KWgoYXJlKWYoYWxyZWFkeSloKHBsYWNlZClmKGluKWcoYGluc2VydGlvbicpZyhtbylzCi0oZGUsKWcoYXMpaChpZilmKHkpbShvdSkxNTAgNzYwIHkoaGFkKWModCltKHlwKXMoZWQpZyhhbilnKGApcAotRnMoaSlwIEZ0KCcuKTM5IGIoUHJlc3NpbmcpMTIxNSA3NTcgeSBGZyhoKXAgMTIzOSA3MDQKLTEzOSA0IHYgMTIzOSA3NjAgYSBGZihFU0MpcCAxMjM5IDc3NiBWIDEzNzMgNzU3IGEgRmcoaSkxNDI5Ci03NjAgeSBGdChzd2l0YyltKGhlcykyNyBiKHkpbShvdSlnKGluKW0odG8pZyhgY29tbWFuZCcpZihtbylzKGRlLCloCi0od2hlcmUpZih5KW0ob3UpaChjYW4pZihlZGl0KWgodGhlKTE1MCA4NzAgeSh0ZXh0KTM1Ci1iKG9mKWYodGhlKWcobGluZSlnKHdpdGgpZih0aGUpaChzdGFuZGFyZClmIEZzKHZpKWcgRnQobW8pbSh2KW0oZW1lbiltCi0odClqKGspbShleXMsKWcobW8pbSh2KW0oZSlmKHRvKWYocHJldmlvdXMpZyhoaXN0b3J5KWYobGluZXMpaCh3aXRoKTE1MAotOTgwIHkoYClwIEZzKGspcCBGdCgnKWQoYW5kKWUoc3Vic2VxdWVuKW0odCloKGxpbmVzKWgod2l0aClmKGApcAotRnMoailwIEZ0KCcsKWcoYW5kKWcoc28paChmb3J0aC4pMTUwIDEyMzIgeSBGcig4LjYpNjgKLWIoUHJvZ3JhbW1hYmxlKTQ3IGIoQ29tcGxldGlvbikyNzUgMTQ3NCB5IEZ0KFdoZW4pMjUKLWIodyltKG9yZClnKGNvbXBsZXRpb24paShpcylmKGF0dGVtcHRlZClnKGZvcilnKGFuKWYoYXJndW1lbiltKHQpaCh0byloCi0oYSlmKGNvbW1hbmQpZihmb3IpaCh3aGljKW0oaClmKGEpaChjb21wbGUtKTE1MCAxNTg0Ci15KHRpb24pZihzcClzKGVjaVwwMTRjYXRpb24pZyhcKGEpaCBGcShjb21wc3ApcyhlYyk2Ci1iIEZ0KFwpKTI0IGIoaGFzKWcoYilzKGVlbilnKGRlXDAxNG5lZClnKHVzaW5nKWcodGhlKWcKLUZzKGNvbXBsZXRlKWYgRnQoYnVpbHRpbiloKFwoc2VlKWgoU2VjdGlvbiloKDguNykxNTAKLTE2OTQgeShbUHJvZ3JhbW1hYmxlKWUoQ29tcGxldGlvbilnKEJ1aWx0aW5zXSwpaChwYWdlKWYoMTE2XCksKWoodGhlKWMKLShwcm9ncmFtbWFibGUpaChjb21wbGV0aW9uKWcoZmFjaWxpdGllcylpKGFyZSkxNTAgMTgwMwoteShpbiltKHYpbShvayltKGVkLikyNzUgMTkzNiB5KEZpcnN0LClkKHRoZSllKGNvbW1hbmQpZyhuYW1lKWcoaXMpaAorKGRlLClnKGFzKWgoaWYpZih5KW0ob3UpMTUwIDc2MCB5KGhhZClmKHQpbSh5cClzKGVkKWcoYW4pZyhgKXAKK0ZzKGkpcCBGdCgnLik0MSBiKFByZXNzaW5nKTI5IGIgRnMoRVNDKWYgRnQoc3dpdGMpbShoZXMpaSh5KW0ob3UpZyhpbiltCisodG8paChgY29tbWFuZCcpZShtbylzKGRlLCloKHdoZXJlKWUoeSltKG91KWkoY2FuKWcoZWRpdClnKHRoZSkxNTAKKzg3MCB5KHRleHQpMzUgYihvZilmKHRoZSlnKGxpbmUpZyh3aXRoKWYodGhlKWgoc3RhbmRhcmQpZgorRnModmkpZyBGdChtbyltKHYpbShlbWVuKW0odClqKGspbShleXMsKWcobW8pbSh2KW0oZSlmKHRvKWYocHJldmlvdXMpZworKGhpc3RvcnkpZihsaW5lcyloKHdpdGgpMTUwIDk3OSB5KGApcCBGcyhrKXAgRnQoJylkKGFuZCllKHN1YnNlcXVlbiltCisodCloKGxpbmVzKWgod2l0aClmKGApcCBGcyhqKXAgRnQoJywpZyhhbmQpZyhzbyloKGZvcnRoLikxNTAKKzEyMDggeSBGcig4LjYpNjggYihQcm9ncmFtbWFibGUpNDcgYihDb21wbGV0aW9uKTE1MCAxMzY3Cit5IEZ0KFdoZW4pMjUgYih3KW0ob3JkKWcoY29tcGxldGlvbilpKGlzKWYoYXR0ZW1wdGVkKWcoZm9yKWcoYW4pZgorKGFyZ3VtZW4pbSh0KWgodG8pZyhhKWcoY29tbWFuZClmKGZvciloKHdoaWMpbShoKWYoYSloKGNvbXBsZXRpb24pMTUwCisxNDc3IHkoc3ApcyhlY2lcMDE0Y2F0aW9uKTQwIGIoXChhKWggRnEoY29tcHNwKXMoZWMpNgorYiBGdChcKSkzOSBiKGhhcyloKGIpcyhlZW4pZihkZVwwMTRuZWQpZih1c2luZyloKHRoZSloCitGcyhjb21wbGV0ZSlkIEZ0KGJ1aWx0aW4paihcKHNlZSlnKFNlY3Rpb24paCg4LjcpMTUwCisxNTg2IHkoW1Byb2dyYW1tYWJsZSloKENvbXBsZXRpb24pZihCdWlsdGluc10sKWsocGFnZSlkKDExN1wpLClqKHRoZSljCisocHJvZ3JhbW1hYmxlKWcoY29tcGxldGlvbilpKGZhY2lsaXRpZXMpMTUwIDE2OTYgeShhcmUpMzEKK2IoaW4pbSh2KW0ob2spbShlZC4pMjc1IDE4MjggeShGaXJzdCwpMjMgYih0aGUpZShjb21tYW5kKWcobmFtZSlnKGlzKWgKIChpZGVuKW0odGlcMDE0ZWQuKTM3IGIoSWYpMjEgYihhKWcoY29tcHNwKXMoZWMpZyhoYXMpZyhiKXMoZWVuKWYKLShkZVwwMTRuZWQpZyhmb3IpaCh0aGF0KWgoY29tbWFuZCwpMTUwIDIwNDYgeSh0aGUpNDQKKyhkZVwwMTRuZWQpZyhmb3IpaCh0aGF0KWgoY29tbWFuZCwpMTUwIDE5MzggeSh0aGUpNDQKIGIoY29tcHNwKXMoZWMpZyhpcylnKHVzZWQpZih0byloKGdlbmVyYXRlKWkodGhlKWUobGlzdClnKG9mKWcocClzCiAob3NzaWJsZSlnKGNvbXBsZXRpb25zKWgoZm9yKWUodGhlKWgodyltKG9yZC4pODEgYihJZik0NAotYih0aGUpMTUwIDIxNTUgeShjb21tYW5kKTMzIGIodyltKG9yZClmKGlzKWgoYSlnKGZ1bGwpZyhwYXRobmFtZSwpaChhKWYKLShjb21wc3ApcyhlYylmKGZvciloKHRoZSlnKGZ1bGwpZyhwYXRobmFtZSlmKGlzKWgoc2VhcmMpbShoZWQpaChmb3IpZQotKFwwMTRyc3QuKTE1MCAyMjY1IHkoSWYpZihubyloKGNvbXBzcClzKGVjKWYoaXMpaChmb3VuZCllKGZvciloKHRoZSloCi0oZnVsbClnKHBhdGhuYW1lLClnKGFuKWYoYXR0ZW1wdClpKGlzKWYobWFkZSlmKHRvKWkoXDAxNG5kKWQoYSlpCi0oY29tcHNwKXMoZWMpZihmb3IpMTUwIDIzNzQgeSh0aGUpZyhwKXMob3J0aW9uKWYoZm9sbG8pbSh3aW5nKWgodGhlKWcKLShcMDE0bmFsKWYoc2xhc2guKTI3NSAyNTA3IHkoT25jZSlrKGEpZyhjb21wc3ApcyhlYylnKGhhcylnKGIpcyhlZW4pZgotKGZvdW5kLCloKGl0KWgoaXMpZih1c2VkKWYodG8paShnZW5lcmF0ZSloKHRoZSllKGxpc3QpaChvZilmKG1hdGMpbQotKGhpbmcpaCh3KW0ob3Jkcy4pNTEgYihJZikxNTAgMjYxNyB5KGEpMzcgYihjb21wc3ApcyhlYylmKGlzKWcobm90KWgKLShmb3VuZCwpZih0aGUpaChkZWZhdWx0KWYoQmFzaCloKGNvbXBsZXRpb24pZyhkZXNjcmliKXMoZWQpZShhYilzKG8pbQotKHYpbShlKWooXChzZWUpZihTZWN0aW9uKWcoOC40LjYpMTUwIDI3MjYgeShbQ29tbWFuZHMpMzAKLWIoRiktOCBiKG9yKTMxIGIoQ29tcGxldGlvbl0sKWcocGFnZSlnKDExMFwpKWgoaXMpZihwKXMoZXJmb3JtZWQuKTI3NQotMjg1OSB5KEZpcnN0LClnKHRoZSlnKGFjdGlvbnMpZyhzcClzKGVjaVwwMTRlZClmKGIpbSh5KWgodGhlKWYoY29tcHNwKXMKLShlYyloKGFyZSlnKHVzZWQuKTQwIGIoT25seSkzMCBiKG1hdGMpbShoZXMpaSh3aGljKW0oaCllKGFyZSloCi0ocHJlXDAxNHhlZCkxNTAgMjk2OSB5KGIpbSh5KTI1IGIodGhlKWgodyltKG9yZClmKGIpcyhlaW5nKWYoY29tcGxldGVkKQotaihhcmUpZShyZXR1cm5lZC4pMzggYihXaGVuKTI1IGIodGhlKWgoYClwIEZzKC1mKXAgRnQoJylmKG9yKWcoYClwCitiKHRoZSkxNTAgMjA0OCB5KGNvbW1hbmQpMzYgYih3KW0ob3JkKWcoaXMpZyh0aGUpZyhlbXB0KW0oeSloKHN0cmluZylmCisoXChjb21wbGV0aW9uKWkoYXR0ZW1wdGVkKWYoYXQpZyh0aGUpZyhiKXMoZWdpbm5pbmcpZShvZiloKGFuKWgoZW1wdCltCisoeSkxNTAgMjE1NyB5KGxpbmVcKSwpMjggYihhbiltKHkpZShjb21wc3ApcyhlYylmKGRlXDAxNG5lZClnKHdpdGgpZworKHRoZSloKGApcCBGcygtRSlwIEZ0KCcpZihvcHRpb24paSh0bylmIEZzKGNvbXBsZXRlKWUKK0Z0KGlzKWgodXNlZC4pMzkgYihJZikyNSBiKHRoZSloKGNvbW1hbmQpZih3KW0ob3JkKTE1MAorMjI2NyB5KGlzKWkoYSloKGZ1bGwpZShwYXRobmFtZSwpaShhKWcoY29tcHNwKXMoZWMpZShmb3IpaCh0aGUpZyhmdWxsKWcKKyhwYXRobmFtZSlnKGlzKWcoc2VhcmMpbShoZWQpaChmb3IpZihcMDE0cnN0LikzOSBiKElmKTI2CitiKG5vKWgoY29tcHNwKXMoZWMpZyhpcykxNTAgMjM3NiB5KGZvdW5kKTIyIGIoZm9yKWcodGhlKWgoZnVsbClnCisocGF0aG5hbWUsKWgoYW4pZihhdHRlbXB0KWgoaXMpZihtYWRlKWcodG8pZyhcMDE0bmQpZihhKWgoY29tcHNwKXMoZWMpZgorKGZvciloKHRoZSlnKHApcyhvcnRpb24pZihmb2xsbyltKHdpbmcpMTUwIDI0ODYgeSh0aGUpMzQKK2IoXDAxNG5hbClnKHNsYXNoLik1MyBiKElmKTM0IGIodGhvc2UpZyhzZWFyYyltKGhlcylpKGRvKWUobm90KWcKKyhyZXN1bHQpaChpbilmKGEpZyhjb21wc3ApcyhlYywpaChhbiltKHkpZyhjb21wc3ApcyhlYylmKGRlXDAxNG5lZClmCisod2l0aCkxNTAgMjU5NSB5KHRoZSllKGApcCBGcygtRClwIEZ0KCcpZihvcHRpb24paCh0bylnCitGcyhjb21wbGV0ZSlkIEZ0KGlzKWkodXNlZClnKGFzKWcodGhlKWgoZGVmYXVsdC4pMjc1CisyNzI4IHkoT25jZSlqKGEpZyhjb21wc3ApcyhlYylnKGhhcylnKGIpcyhlZW4pZihmb3VuZCwpaChpdCloKGlzKWYKKyh1c2VkKWYodG8paShnZW5lcmF0ZSloKHRoZSllKGxpc3QpaChvZilmKG1hdGMpbShoaW5nKWgodyltKG9yZHMuKTUxCitiKElmKTE1MCAyODM4IHkoYSkzNyBiKGNvbXBzcClzKGVjKWYoaXMpZyhub3QpaChmb3VuZCwpZih0aGUpaChkZWZhdWx0KQorZihCYXNoKWgoY29tcGxldGlvbilnKGRlc2NyaWIpcyhlZCllKGFiKXMobyltKHYpbShlKWooXChzZWUpZihTZWN0aW9uKWcKKyg4LjQuNikxNTAgMjk0NyB5KFtDb21tYW5kcykzMCBiKEYpLTggYihvcikzMSBiKENvbXBsZXRpb25dLClnKHBhZ2UpZworKDExMFwpKWgoaXMpZihwKXMoZXJmb3JtZWQuKTI3NSAzMDgwIHkoRmlyc3QsKWcodGhlKWcoYWN0aW9ucylnKHNwKXMKKyhlY2lcMDE0ZWQpZihiKW0oeSloKHRoZSlmKGNvbXBzcClzKGVjKWgoYXJlKWcodXNlZC4pNDAKK2IoT25seSkzMCBiKG1hdGMpbShoZXMpaSh3aGljKW0oaCllKGFyZSloKHByZVwwMTR4ZWQpMTUwCiszMTg5IHkoYiltKHkpMjUgYih0aGUpaCh3KW0ob3JkKWYoYilzKGVpbmcpZihjb21wbGV0ZWQpaihhcmUpZQorKHJldHVybmVkLikzOCBiKFdoZW4pMjUgYih0aGUpaChgKXAgRnMoLWYpcCBGdCgnKWYob3IpZyhgKXAKIEZzKC1kKXAgRnQoJylnKG9wdGlvbiloKGlzKWYodXNlZClnKGZvcilnKFwwMTRsZW5hbWUpMTUwCi0zMDc4IHkob3IpMzAgYihkaXJlY3RvcnkpaChuYW1lKWYoY29tcGxldGlvbiwpaSh0aGUpZShzaGVsbCloKHYpLTUKKzMyOTkgeShvcikzMCBiKGRpcmVjdG9yeSloKG5hbWUpZihjb21wbGV0aW9uLClpKHRoZSllKHNoZWxsKWgodiktNQogYihhcmlhYmxlKTMxIGIgRnMoRklHTk9SRSlkIEZ0KGlzKWkodXNlZClmKHRvKWkoXDAxNGx0ZXIpZyh0aGUpZihtYXRjKW0KLShoZXMuKTQyIGIoU2VlKTE1MCAzMTg4IHkoU2VjdGlvbikzMSBiKDUuMiloKFtCYXNoKWUoViktOAorKGhlcy4pNDIgYihTZWUpMTUwIDM0MDggeShTZWN0aW9uKTMxIGIoNS4yKWgoW0Jhc2gpZShWKS04CiBiKGFyaWFibGVzXSwpMzMgYihwYWdlKWUoNjEsKWcoZm9yKWYoYSloKGRlc2NyaXB0aW9uKWcob2YpZgotRnMoRklHTk9SRSlwIEZ0KC4pMjc1IDMzMjEgeShBbiltKHkpZihjb21wbGV0aW9ucyloKHNwKXMoZWNpXDAxNGVkKWYoYikKK0ZzKEZJR05PUkUpcCBGdCguKTI3NSAzNTQxIHkoQW4pbSh5KWYoY29tcGxldGlvbnMpaChzcClzKGVjaVwwMTRlZClmKGIpCiBtKHkpZyhhKWgoXDAxNGxlbmFtZSlmKGV4cGFuc2lvbiloKHBhdHRlcm4pZih0byloKHRoZSlnKGApcAotRnMoLUcpcCBGdCgnKWYob3B0aW9uKWgoYXJlKWYoZ2VuZXItKTE1MCAzNDMwIHkoYXRlZCloKG5leHQuKTQwCitGcygtRylwIEZ0KCcpZihvcHRpb24paChhcmUpZihnZW5lci0pMTUwIDM2NTAgeShhdGVkKWgobmV4dC4pNDAKIGIoVGhlKTI5IGIodyltKG9yZHMpZyhnZW5lcmF0ZWQpaChiKW0oeSlmKHRoZSloKHBhdHRlcm4pZihuZWVkKWcobm90KWcKIChtYXRjKW0oaClpKHRoZSllKHcpbShvcmQpZyhiKXMoZWluZylnKGNvbXBsZXRlZC4pMTUwCi0zNTQwIHkoVGhlKTQyIGIgRnMoR0xPQklHTk9SRSlkIEZ0KHNoZWxsKWsodiktNSBiKGFyaWFibGUpNDMKKzM3NjAgeShUaGUpNDIgYiBGcyhHTE9CSUdOT1JFKWQgRnQoc2hlbGwpayh2KS01IGIoYXJpYWJsZSk0MwogYihpcylmKG5vdCloKHVzZWQpZSh0bylpKFwwMTRsdGVyKWYodGhlKWgobWF0YyltKGhlcywpaihidXQpYyh0aGUpZwotRnMoRklHTk9SRSlmIEZ0KHNoZWxsKTE1MCAzNjUwIHkodiktNSBiKGFyaWFibGUpMzEgYihpcylnKHVzZWQuKTI3NQotMzc4MiB5KE5leHQsKWsodGhlKWcoc3RyaW5nKWUoc3ApcyhlY2lcMDE0ZWQpaChhcylnKHRoZSlnKGFyZ3VtZW4pbSh0KWcKK0ZzKEZJR05PUkUpZiBGdChzaGVsbCkxNTAgMzg3MCB5KHYpLTUgYihhcmlhYmxlKTMxIGIoaXMpZyh1c2VkLikyNzUKKzQwMDIgeShOZXh0LClrKHRoZSlnKHN0cmluZyllKHNwKXMoZWNpXDAxNGVkKWgoYXMpZyh0aGUpZyhhcmd1bWVuKW0odClnCiAodG8paCh0aGUpZihgKXAgRnMoLVcpcCBGdCgnKWcob3B0aW9uKWcoaXMpZyhjb25zaWRlcmVkLik1MgotYihUaGUpMzMgYihzdHJpbmcpMTUwIDM4OTIgeShpcylnKFwwMTRyc3QpZShzcGxpdClpKHVzaW5nKWYodGhlKWgoYyltCitiKFRoZSkzMyBiKHN0cmluZykxNTAgNDExMiB5KGlzKWcoXDAxNHJzdCllKHNwbGl0KWkodXNpbmcpZih0aGUpaChjKW0KIChoYXJhY3RlcnMpaChpbillKHRoZSloIEZzKElGUyllIEZ0KHNwKXMoZWNpYWwpaih2KS01CiBiKGFyaWFibGUpMzMgYihhcylnKGRlbGltaXRlcnMuKTQ4IGIoU2hlbGwpMzIgYihxdW90aW5nKWgoaXMpMTUwCi00MDAyIHkoaG9ub3JlZC4pNTYgYihFYWMpbShoKTM3IGIodyltKG9yZCllKGlzKWgodGhlbilmKGV4cGFuZGVkKWcKKzQyMjEgeShob25vcmVkLik1NiBiKEVhYyltKGgpMzcgYih3KW0ob3JkKWUoaXMpaCh0aGVuKWYoZXhwYW5kZWQpZwogKHVzaW5nKWgoYnJhY2UpZyhleHBhbnNpb24sKWgodGlsZGUpZihleHBhbnNpb24sKWgocGFyYW1ldGVyKTE1MAotNDExMSB5KGFuZCk0NCBiKHYpLTUgYihhcmlhYmxlKTQ2IGIoZXhwYW5zaW9uLClqKGNvbW1hbmQpNDQKKzQzMzEgeShhbmQpNDQgYih2KS01IGIoYXJpYWJsZSk0NiBiKGV4cGFuc2lvbiwpaihjb21tYW5kKTQ0CiBiKHN1YnN0aXR1dGlvbiwpNDkgYihhbmQpNDQgYihhcml0aG1ldGljKWkoZXhwYW5zaW9uLClqKGFzKWMoZGVzY3JpYilzCi0oZWQpMTUwIDQyMjEgeShhYilzKG8pbSh2KW0oZSkzOCBiKFwoc2VlKWYoU2VjdGlvbiloKDMuNSlnKFtTaGVsbCllCisoZWQpMTUwIDQ0NDAgeShhYilzKG8pbSh2KW0oZSkzOCBiKFwoc2VlKWYoU2VjdGlvbiloKDMuNSlnKFtTaGVsbCllCiAoRXhwYW5zaW9uc10sKWkocGFnZSlmKDE3XCkuKTYxIGIoVGhlKTM2IGIocmVzdWx0cyloKGFyZSlnKHNwbGl0KWYKLSh1c2luZyloKHRoZSlmKHJ1bGVzKTE1MCA0MzMwIHkoZGVzY3JpYilzKGVkKTI5IGIoYWIpcyhvKW0odiltKGUpaQotKFwoc2VlKWYoU2VjdGlvbiloKDMuNS43KWgoW1cpLTggYihvcmQpMzAgYihTcGxpdHRpbmddLCloKHBhZ2UpZigyNFwpLikKLTQyIGIoVGhlKTMwIGIocmVzdWx0cylmKG9mKWgodGhlKWcoZXhwYW5zaW9uKTE1MCA0NDQwCisodXNpbmcpaCh0aGUpZihydWxlcykxNTAgNDU1MCB5KGRlc2NyaWIpcyhlZCkyOSBiKGFiKXMobyltKHYpbShlKWkKKyhcKHNlZSlmKFNlY3Rpb24paCgzLjUuNyloKFtXKS04IGIob3JkKTMwIGIoU3BsaXR0aW5nXSwpaChwYWdlKWYoMjNcKS4pCis0MiBiKFRoZSkzMCBiKHJlc3VsdHMpZihvZiloKHRoZSlnKGV4cGFuc2lvbikxNTAgNDY2MAogeShhcmUpZihwcmVcMDE0eC1tYXRjKW0oaGVkKWgoYWdhaW5zdClnKHRoZSlmKHcpbShvcmQpZyhiKXMoZWluZylmCiAoY29tcGxldGVkLClqKGFuZClkKHRoZSlpKG1hdGMpbShoaW5nKWcodyltKG9yZHMpZShiKXMoZWNvbWUpaSh0aGUpMTUwCi00NTUwIHkocClzKG9zc2libGUpZyhjb21wbGV0aW9ucy4pMjc1IDQ2ODIgeShBZnRlcilmKHRoZXNlKWcobWF0YyltCis0NzY5IHkocClzKG9zc2libGUpZyhjb21wbGV0aW9ucy4pMjc1IDQ5MDIgeShBZnRlcilmKHRoZXNlKWcobWF0YyltCiAoaGVzKWkoaGEpbSh2KW0oZSlmKGIpcyhlZW4pZihnZW5lcmF0ZWQsKWgoYW4pbSh5KWcoc2hlbGwpZihmdW5jdGlvbilnCi0ob3IpZyhjb21tYW5kKWcoc3ApcyhlY2lcMDE0ZWQpZih3aXRoKTE1MCA0NzkyIHkodGhlKWkoYClwCisob3IpZyhjb21tYW5kKWcoc3ApcyhlY2lcMDE0ZWQpZih3aXRoKTE1MCA1MDExIHkodGhlKWkoYClwCiBGcygtRilwIEZ0KCcpZyhhbmQpZihgKXAgRnMoLUMpcCBGdCgnKWgob3B0aW9ucylnKGlzKWcoaW4pbSh2KW0ob2spbQogKGVkLik0MSBiKFdoZW4pMzAgYih0aGUpZyhjb21tYW5kKWcob3IpZihmdW5jdGlvbiloKGlzKWcoaW4pbSh2KW0ob2spbQotKGVkLCloKHRoZSlmIEZzKENPTVBfKTE1MCA0OTAyIHkoTElORSlwIEZ0KCwpNDIgYiBGcyhDT01QX1BPSU5UKXAKKyhlZCwpaCh0aGUpZiBGcyhDT01QXykxNTAgNTEyMSB5KExJTkUpcCBGdCgsKTQyIGIgRnMoQ09NUF9QT0lOVClwCiBGdCgsKWQgRnMoQ09NUF9LRVkpcCBGdCgsKWkoYW5kKWUgRnMoQ09NUF9UWVBFKWYgRnQodiktNQogYihhcmlhYmxlcyk0MSBiKGFyZSlmKGFzc2lnbmVkKWcodiktNSBiKGFsdWVzKTQxIGIoYXMpZihkZXNjcmliKXMoZWQpCi0xNTAgNTAxMSB5KGFiKXMobyltKHYpbShlKWsoXChzZWUpZyhTZWN0aW9uKWYoNS4yKWgoW0Jhc2gpZihWKS04CisxNTAgNTIzMCB5KGFiKXMobyltKHYpbShlKWsoXChzZWUpZyhTZWN0aW9uKWYoNS4yKWgoW0Jhc2gpZihWKS04CiBiKGFyaWFibGVzXSwpNDggYihwYWdlKWMoNjFcKS4pNzkgYihJZik0MiBiKGEpaShzaGVsbClmKGZ1bmN0aW9uKWYoaXMpaAotKGIpcyhlaW5nKWYoaW4pbSh2KW0ob2spbShlZCwpMTUwIDUxMjEgeSh0aGUpMzcgYiBGcyhDT01QX1dPUkRTKWQKKyhiKXMoZWluZylmKGluKW0odiltKG9rKW0oZWQsKTE1MCA1MzQwIHkodGhlKTM3IGIgRnMoQ09NUF9XT1JEUylkCiBGdChhbmQpaSBGcyhDT01QX0NXT1JEKWUgRnQodiktNSBiKGFyaWFibGVzKTM4IGIoYXJlKWYoYWxzbyloKHNldC4pNjAKLWIoV2hlbikzNyBiKHRoZSlnKGZ1bmN0aW9uKWYob3IpaChjb21tYW5kKTE1MCA1MjMwIHkoaXMpNDIKLWIoaW4pbSh2KW0ob2spbShlZCwpayh0aGUpNDEgYihcMDE0cnN0KWcoYXJndW1lbiltKHQpaChpcylnKHRoZSlnKG5hbWUpCi1mKG9mKWgodGhlKWcoY29tbWFuZClmKHdob3NlKWgoYXJndW1lbiltKHRzKWYoYXJlKWgoYilzKGVpbmcpMTUwCi01MzQwIHkoY29tcGxldGVkLClkKHRoZSlkKHNlY29uZClnKGFyZ3VtZW4pbSh0KWgoaXMpZih0aGUpZyh3KW0ob3JkKWcKLShiKXMoZWluZylnKGNvbXBsZXRlZCwpaShhbmQpZSh0aGUpZyh0aGlyZClmKGFyZ3VtZW4pbSh0KWkoaXMpcAotZW9wIGVuZAorYihXaGVuKTM3IGIodGhlKWcoZnVuY3Rpb24pZihvciloKGNvbW1hbmQpcCBlb3AgZW5kCiAlJVBhZ2U6IDExNiAxMjIKIFRlWERpY3QgYmVnaW4gMTE2IDEyMSBib3AgMTUwIC0xMTYgYSBGdCgxMTYpMjUyNyBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSh0aGUpZCh3KW0ob3JkKWcocHJlY2VkaW5nKWgodGhlKWYodyltCi0ob3JkKWcoYilzKGVpbmcpZyhjb21wbGV0ZWQpaChvbilmKHRoZSloKGN1cnJlbiltKHQpZihjb21tYW5kKWcobGluZS4pCi00MCBiKE5vKTI5IGIoXDAxNGx0ZXJpbmcpZyhvZikxNTAgNDA4IHkodGhlKWkoZ2VuZXJhdGVkKWgoY29tcGxldGlvbnMpaAotKGFnYWluc3QpZih0aGUpZih3KW0ob3JkKWcoYilzKGVpbmcpZyhjb21wbGV0ZWQpaChpcylmKHApcyhlcmZvcm1lZDspZgotKHRoZSloKGZ1bmN0aW9uKWcob3IpMTUwIDUxOCB5KGNvbW1hbmQpZihoYXMpZyhjb21wbGV0ZSlpKGZyZWVkb20pZShpbikKLWcoZ2VuZXJhdGluZylpKHRoZSlmKG1hdGMpbShoZXMuKTI3NSA2NjAgeShBbiltKHkpZyhmdW5jdGlvbiloKHNwKXMKLShlY2lcMDE0ZWQpZih3aXRoKWcoYClwIEZzKC1GKXAgRnQoJyloKGlzKWcoaW4pbSh2KW0ob2spbShlZCloCi0oXDAxNHJzdC4pNDQgYihUaGUpMzEgYihmdW5jdGlvbiloKG1hKW0oeSlnKHVzZSlnKGFuKW0oeSlnKG9mKWcodGhlKWcKLShzaGVsbCkxNTAgNzcwIHkoZmFjaWxpdGllcywpNTAgYihpbmNsdWRpbmcpNDQgYih0aGUpaAotRnMoY29tcGdlbilkIEZ0KGFuZClpIEZzKGNvbXBvcHQpZSBGdChidWlsdGlucylpKGRlc2NyaWIpcyhlZClmKGIpcwotKGVsbyltKHcpaChcKHNlZSlpKFNlY3Rpb24pZig4LjcpMTUwIDg3OSB5KFtQcm9ncmFtbWFibGUpMzEKLWIoQ29tcGxldGlvbiloKEJ1aWx0aW5zXSwpZihwYWdlKWgoMTE2XCksKWcodG8pZyhnZW5lcmF0ZSlnKHRoZSlmKG1hdGMpCi1tKGhlcy4pNDIgYihJdCkzMSBiKG0pbSh1c3QpZyhwdXQpZih0aGUpMTUwIDk4OSB5KHApcyhvc3NpYmxlKWcKLShjb21wbGV0aW9ucyloKGluKWYodGhlKWggRnMoQ09NUFJFUExZKWQgRnQoYXJyYSltKHkpaih2KS01Ci1iKGFyaWFibGUuKTI3NSAxMTMxIHkoTmV4dCwpMjMgYihhbiltKHkpZShjb21tYW5kKWYoc3ApcyhlY2lcMDE0ZWQpZwotKHdpdGgpZyh0aGUpaChgKXAgRnMoLUMpcCBGdCgnKWYob3B0aW9uKWgoaXMpZyhpbiltKHYpbShvayltKGVkKWgoaW4pZQotKGFuKWcoZW4pbSh2aXJvbm1lbiltKHQpaChlcXVpdiktNSBiKGFsZW4pbSh0KTE1MCAxMjQwCi15KHRvKTI2IGIoY29tbWFuZCllKHN1YnN0aXR1dGlvbi4pMzkgYihJdCkyNSBiKHNob3VsZClmKHByaW4pbSh0KWgoYSlnCi0obGlzdCloKG9mKWYoY29tcGxldGlvbnMsKWkob25lKWUocClzKGVyKWYobGluZSwpaih0bylmKHRoZSlmKHN0YW5kYXJkKQotMTUwIDEzNTAgeShvdXRwdXQuKTQwIGIoQmFjKW0oa3NsYXNoKTMyIGIobWEpbSh5KWYoYilzKGUpZih1c2VkKWcodG8paAotKGVzY2FwKXMoZSlnKGEpZihuZXdsaW5lLCloKGlmKWYobmVjZXNzYXJ5KS04IGIoLikyNzUKLTE0OTIgeShBZnRlcik0MiBiKGFsbClnKG9mKWcodGhlKWcocClzKG9zc2libGUpZyhjb21wbGV0aW9ucyloKGFyZSlmCi0oZ2VuZXJhdGVkLClrKGFuKW0oeSljKFwwMTRsdGVyKWcoc3ApcyhlY2lcMDE0ZWQpZih3aXRoKWgodGhlKWcoYClwCi1GcygtWClwIEZ0KCcpMTUwIDE2MDIgeShvcHRpb24pMzQgYihpcylmKGFwcGxpZWQpZyh0byloKHRoZSlmKGxpc3QuKTQ5Ci1iKFRoZSkzMyBiKFwwMTRsdGVyKWcoaXMpZyhhKWgocGF0dGVybilmKGFzKWcodXNlZClnKGZvcilnKHBhdGhuYW1lKWcKLShleHBhbnNpb247KWgoYSlnKGApcCBGcygmKXAgRnQoJykxNTAgMTcxMSB5KGluKTM5IGIodGhlKWcocGF0dGVybilnCi0oaXMpZyhyZXBsYWNlZClnKHdpdGgpZyh0aGUpZyh0ZXh0KWgob2YpZih0aGUpZyh3KW0ob3JkKWcoYilzKGVpbmcpZgotKGNvbXBsZXRlZC4pNjggYihBKTM5IGIobGl0ZXJhbCloKGApcCBGcygmKXAgRnQoJylmKG1hKW0oeSkxNTAKLTE4MjEgeShiKXMoZSllKGVzY2FwKXMoZWQpaCh3aXRoKWcoYSloKGJhYyltKGtzbGFzaDspayh0aGUpMzgKLWIoYmFjKW0oa3NsYXNoKWgoaXMpZihyZW1vKW0odiltKGVkKWgoYilzKGVmb3JlKWUoYXR0ZW1wdGluZylqKGEpZQotKG1hdGMpbShoLik2NSBiKEFuKW0oeSkxNTAgMTkzMCB5KGNvbXBsZXRpb24pMzUgYih0aGF0KWcobWF0YyltKGhlcylnCi0odGhlKWYocGF0dGVybilnKHdpbGwpZyhiKXMoZSlnKHJlbW8pbSh2KW0oZWQpaChmcm9tKWUodGhlKWgobGlzdC4pNTMKLWIoQSkzNCBiKGxlYWRpbmcpZyhgKXAgRnMoISlwIEZ0KCcpaChuZWdhdGVzKTE1MCAyMDQwCi15KHRoZSljKHBhdHRlcm47KWYoaW4pZyh0aGlzKWgoY2FzZSlnKGFuKW0oeSlnKGNvbXBsZXRpb24pZyhub3QpZyhtYXRjKQotbShoaW5nKWgodGhlKWUocGF0dGVybiloKHdpbGwpZihiKXMoZSlnKHJlbW8pbSh2KW0oZWQuKTI3NQotMjE4MiB5KEZpbmFsbHkpLTggYigsKTMzIGIoYW4pbSh5KWYocHJlXDAxNHgpZihhbmQpZyhzdVwwMTZ4KWcoc3ApcwotKGVjaVwwMTRlZClnKHdpdGgpaCh0aGUpZyhgKXAgRnMoLVApcCBGdCgnKWYoYW5kKWcoYClwCi1GcygtUylwIEZ0KCcpaChvcHRpb25zKWcoYXJlKWcoYWRkZWQpZih0bylpKGVhYyltKGgpMTUwCi0yMjkyIHkobWVtKW0oYilzKGVyKWUob2YpZyh0aGUpaChjb21wbGV0aW9uKWgobGlzdCwpZihhbmQpZih0aGUpaAorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5KGlzKTQyIGIoaW4pbSh2KW0ob2spbShlZCwpayh0aGUpNDEKK2IoXDAxNHJzdClnKGFyZ3VtZW4pbSh0KWgoaXMpZyh0aGUpZyhuYW1lKWYob2YpaCh0aGUpZyhjb21tYW5kKWYod2hvc2UpCitoKGFyZ3VtZW4pbSh0cylmKGFyZSloKGIpcyhlaW5nKTE1MCA0MDggeShjb21wbGV0ZWQsKWQodGhlKWQoc2Vjb25kKWcKKyhhcmd1bWVuKW0odCloKGlzKWYodGhlKWcodyltKG9yZClnKGIpcyhlaW5nKWcoY29tcGxldGVkLClpKGFuZCllKHRoZSlnCisodGhpcmQpZihhcmd1bWVuKW0odClpKGlzKTE1MCA1MTggeSh0aGUpMjggYih3KW0ob3JkKWcocHJlY2VkaW5nKWgodGhlKQorZih3KW0ob3JkKWcoYilzKGVpbmcpZyhjb21wbGV0ZWQpaChvbilmKHRoZSloKGN1cnJlbiltKHQpZihjb21tYW5kKWcKKyhsaW5lLik0MCBiKE5vKTI5IGIoXDAxNGx0ZXJpbmcpZyhvZikxNTAgNjI4IHkodGhlKWkoZ2VuZXJhdGVkKWgKKyhjb21wbGV0aW9ucyloKGFnYWluc3QpZih0aGUpZih3KW0ob3JkKWcoYilzKGVpbmcpZyhjb21wbGV0ZWQpaChpcylmKHApCitzKGVyZm9ybWVkOylmKHRoZSloKGZ1bmN0aW9uKWcob3IpMTUwIDczNyB5KGNvbW1hbmQpZihoYXMpZyhjb21wbGV0ZSlpCisoZnJlZWRvbSllKGluKWcoZ2VuZXJhdGluZylpKHRoZSlmKG1hdGMpbShoZXMuKTI3NSA4NzEKK3koQW4pbSh5KWcoZnVuY3Rpb24paChzcClzKGVjaVwwMTRlZClmKHdpdGgpZyhgKXAgRnMoLUYpcAorRnQoJyloKGlzKWcoaW4pbSh2KW0ob2spbShlZCloKFwwMTRyc3QuKTQ0IGIoVGhlKTMxIGIoZnVuY3Rpb24paChtYSltCisoeSlnKHVzZSlnKGFuKW0oeSlnKG9mKWcodGhlKWcoc2hlbGwpMTUwIDk4MSB5KGZhY2lsaXRpZXMsKTUwCitiKGluY2x1ZGluZyk0NCBiKHRoZSloIEZzKGNvbXBnZW4pZCBGdChhbmQpaSBGcyhjb21wb3B0KWUKK0Z0KGJ1aWx0aW5zKWkoZGVzY3JpYilzKGVkKWYoYilzKGVsbyltKHcpaChcKHNlZSlpKFNlY3Rpb24pZig4LjcpMTUwCisxMDkwIHkoW1Byb2dyYW1tYWJsZSkzMSBiKENvbXBsZXRpb24paChCdWlsdGluc10sKWYocGFnZSloKDExN1wpLClnKHRvKQorZyhnZW5lcmF0ZSlnKHRoZSlmKG1hdGMpbShoZXMuKTQyIGIoSXQpMzEgYihtKW0odXN0KWcocHV0KWYodGhlKTE1MAorMTIwMCB5KHApcyhvc3NpYmxlKWcoY29tcGxldGlvbnMpaChpbilmKHRoZSloIEZzKENPTVBSRVBMWSlkCitGdChhcnJhKW0oeSlqKHYpLTUgYihhcmlhYmxlLikyNzUgMTMzNCB5KE5leHQsKTIzIGIoYW4pbSh5KWUoY29tbWFuZClmCisoc3ApcyhlY2lcMDE0ZWQpZyh3aXRoKWcodGhlKWgoYClwIEZzKC1DKXAgRnQoJylmKG9wdGlvbiloKGlzKWcoaW4pbSh2KQorbShvayltKGVkKWgoaW4pZShhbilnKGVuKW0odmlyb25tZW4pbSh0KWgoZXF1aXYpLTUgYihhbGVuKW0odCkxNTAKKzE0NDMgeSh0bykyNiBiKGNvbW1hbmQpZShzdWJzdGl0dXRpb24uKTM5IGIoSXQpMjUgYihzaG91bGQpZihwcmluKW0odCloCisoYSlnKGxpc3QpaChvZilmKGNvbXBsZXRpb25zLClpKG9uZSllKHApcyhlcilmKGxpbmUsKWoodG8pZih0aGUpZgorKHN0YW5kYXJkKTE1MCAxNTUzIHkob3V0cHV0Lik0MCBiKEJhYyltKGtzbGFzaCkzMiBiKG1hKW0oeSlmKGIpcyhlKWYKKyh1c2VkKWcodG8paChlc2NhcClzKGUpZyhhKWYobmV3bGluZSwpaChpZilmKG5lY2Vzc2FyeSktOAorYiguKTI3NSAxNjg3IHkoQWZ0ZXIpNDIgYihhbGwpZyhvZilnKHRoZSlnKHApcyhvc3NpYmxlKWcoY29tcGxldGlvbnMpaAorKGFyZSlmKGdlbmVyYXRlZCwpayhhbiltKHkpYyhcMDE0bHRlcilnKHNwKXMoZWNpXDAxNGVkKWYod2l0aCloKHRoZSlnCisoYClwIEZzKC1YKXAgRnQoJykxNTAgMTc5NyB5KG9wdGlvbikzNCBiKGlzKWYoYXBwbGllZClnKHRvKWgodGhlKWYKKyhsaXN0Lik0OSBiKFRoZSkzMyBiKFwwMTRsdGVyKWcoaXMpZyhhKWgocGF0dGVybilmKGFzKWcodXNlZClnKGZvcilnCisocGF0aG5hbWUpZyhleHBhbnNpb247KWgoYSlnKGApcCBGcygmKXAgRnQoJykxNTAgMTkwNgoreShpbikzOSBiKHRoZSlnKHBhdHRlcm4pZyhpcylnKHJlcGxhY2VkKWcod2l0aClnKHRoZSlnKHRleHQpaChvZilmKHRoZSkKK2codyltKG9yZClnKGIpcyhlaW5nKWYoY29tcGxldGVkLik2OCBiKEEpMzkgYihsaXRlcmFsKWgoYClwCitGcygmKXAgRnQoJylmKG1hKW0oeSkxNTAgMjAxNiB5KGIpcyhlKWUoZXNjYXApcyhlZCloKHdpdGgpZyhhKWgoYmFjKW0KKyhrc2xhc2g7KWsodGhlKTM4IGIoYmFjKW0oa3NsYXNoKWgoaXMpZihyZW1vKW0odiltKGVkKWgoYilzKGVmb3JlKWUKKyhhdHRlbXB0aW5nKWooYSllKG1hdGMpbShoLik2NSBiKEFuKW0oeSkxNTAgMjEyNSB5KGNvbXBsZXRpb24pMzUKK2IodGhhdClnKG1hdGMpbShoZXMpZyh0aGUpZihwYXR0ZXJuKWcod2lsbClnKGIpcyhlKWcocmVtbyltKHYpbShlZCloCisoZnJvbSllKHRoZSloKGxpc3QuKTUzIGIoQSkzNCBiKGxlYWRpbmcpZyhgKXAgRnMoISlwCitGdCgnKWgobmVnYXRlcykxNTAgMjIzNSB5KHRoZSljKHBhdHRlcm47KWYoaW4pZyh0aGlzKWgoY2FzZSlnKGFuKW0oeSlnCisoY29tcGxldGlvbilnKG5vdClnKG1hdGMpbShoaW5nKWgodGhlKWUocGF0dGVybiloKHdpbGwpZihiKXMoZSlnKHJlbW8pbQorKHYpbShlZC4pMjc1IDIzNjkgeShGaW5hbGx5KS04IGIoLCkzMyBiKGFuKW0oeSlmKHByZVwwMTR4KWYoYW5kKWcKKyhzdVwwMTZ4KWcoc3ApcyhlY2lcMDE0ZWQpZyh3aXRoKWgodGhlKWcoYClwIEZzKC1QKXAKK0Z0KCcpZihhbmQpZyhgKXAgRnMoLVMpcCBGdCgnKWgob3B0aW9ucylnKGFyZSlnKGFkZGVkKWYodG8paShlYWMpbShoKQorMTUwIDI0NzggeShtZW0pbShiKXMoZXIpZShvZilnKHRoZSloKGNvbXBsZXRpb24paChsaXN0LClmKGFuZClmKHRoZSloCiAocmVzdWx0KWYoaXMpaChyZXR1cm5lZCllKHRvKWkodGhlKWcoUmVhZGxpbmUpZyhjb21wbGV0aW9uKWgoY28pcyhkZSkKLTE1MCAyNDAxIHkoYXMpZSh0aGUpZihsaXN0KWgob2YpZyhwKXMob3NzaWJsZSlmKGNvbXBsZXRpb25zLikyNzUKLTI1NDMgeShJZikyMiBiKHRoZSlpKHByZXZpb3VzbHktYXBwbGllZClmKGFjdGlvbnMpaShkbyllKG5vdCloCisxNTAgMjU4OCB5KGFzKWUodGhlKWYobGlzdCloKG9mKWcocClzKG9zc2libGUpZihjb21wbGV0aW9ucy4pMjc1CisyNzIyIHkoSWYpMjIgYih0aGUpaShwcmV2aW91c2x5LWFwcGxpZWQpZihhY3Rpb25zKWkoZG8pZShub3QpaAogKGdlbmVyYXRlKWgoYW4pbSh5KWYobWF0YyltKGhlcywpaShhbmQpZCh0aGUpZyhgKXAgRnMoLW8pMzAKLWIoZGlybmFtZXMpcCBGdCgnKTIyIGIob3AtKTE1MCAyNjUzIHkodGlvbikyOSBiKHcpbShhcylmKHN1cHBsaWVkKWYodG8pCitiKGRpcm5hbWVzKXAgRnQoJykyMiBiKG9wLSkxNTAgMjgzMiB5KHRpb24pMjkgYih3KW0oYXMpZihzdXBwbGllZClmKHRvKQogaSBGcyhjb21wbGV0ZSlkIEZ0KHdoZW4paCh0aGUpaChjb21wc3ApcyhlYylnKHcpbShhcylnKGRlXDAxNG5lZCwpZwotKGRpcmVjdG9yeSlnKG5hbWUpaChjb21wbGV0aW9uKTE1MCAyNzYyIHkoaXMpaChhdHRlbXB0ZWQuKTI3NQotMjkwNCB5KElmKWcodGhlKWkoYClwIEZzKC1vKWUocGx1c2RpcnMpcCBGdCgnKWYob3B0aW9uKWoodyltKGFzKWYKKyhkaXJlY3RvcnkpZyhuYW1lKWgoY29tcGxldGlvbikxNTAgMjk0MSB5KGlzKWgoYXR0ZW1wdGVkLikyNzUKKzMwNzUgeShJZilnKHRoZSlpKGApcCBGcygtbyllKHBsdXNkaXJzKXAgRnQoJylmKG9wdGlvbilqKHcpbShhcylmCiAoc3VwcGxpZWQpZih0bylpIEZzKGNvbXBsZXRlKWUgRnQod2hlbilnKHRoZSloKGNvbXBzcClzKGVjKWcodyltKGFzKWgKLShkZVwwMTRuZWQsKTE1MCAzMDE0IHkoZGlyZWN0b3J5KWsobmFtZSlmKGNvbXBsZXRpb24paShpcyllKGF0dGVtcHRlZCloCisoZGVcMDE0bmVkLCkxNTAgMzE4NSB5KGRpcmVjdG9yeSlrKG5hbWUpZihjb21wbGV0aW9uKWkoaXMpZShhdHRlbXB0ZWQpaAogKGFuZClmKGFuKW0oeSloKG1hdGMpbShoZXMpZyhhcmUpZyhhZGRlZClmKHRvKWgodGhlKWYocmVzdWx0cylnKG9mKWgKLSh0aGUpMTUwIDMxMjMgeShvdGhlcikzMSBiKGFjdGlvbnMuKTI3NSAzMjY1IHkoQnkpZyhkZWZhdWx0LClpKGlmKWUoYSloCisodGhlKTE1MCAzMjk0IHkob3RoZXIpMzEgYihhY3Rpb25zLikyNzUgMzQyOCB5KEJ5KWcoZGVmYXVsdCwpaShpZillKGEpaAogKGNvbXBzcClzKGVjKWYoaXMpaChmb3VuZCwpZih3aGF0ZXYpbShlciloKGl0KWcoZ2VuZXJhdGVzKWgoaXMpZQotKHJldHVybmVkKWcodG8paCh0aGUpZyhjb21wbGV0aW9uKTE1MCAzMzc1IHkoY28pcyhkZSkyMQorKHJldHVybmVkKWcodG8paCh0aGUpZyhjb21wbGV0aW9uKTE1MCAzNTM4IHkoY28pcyhkZSkyMQogYihhcylnKHRoZSlnKGZ1bGwpZyhzZXQpZyhvZilnKHApcyhvc3NpYmxlKWYoY29tcGxldGlvbnMuKTM5CiBiKFRoZSkyMCBiKGRlZmF1bHQpaChCYXNoKWcoY29tcGxldGlvbnMpaChhcmUpZyhub3QpZihhdHRlbXB0ZWQsKTE1MAotMzQ4NSB5KGFuZClrKHRoZSloKFJlYWRsaW5lKWcoZGVmYXVsdClnKG9mKWcoXDAxNGxlbmFtZSlnKGNvbXBsZXRpb24paAorMzY0NyB5KGFuZClrKHRoZSloKFJlYWRsaW5lKWcoZGVmYXVsdClnKG9mKWcoXDAxNGxlbmFtZSlnKGNvbXBsZXRpb24paAogKGlzKWYoZGlzYWJsZWQuKTM4IGIoSWYpMjYgYih0aGUpZyhgKXAgRnMoLW8payhiYXNoZGVmYXVsdClwCi1GdCgnKTIyIGIob3B0aW9uKTE1MCAzNTk0IHkodyltKGFzKWkoc3VwcGxpZWQpZSh0bylqCitGdCgnKTIyIGIob3B0aW9uKTE1MCAzNzU3IHkodyltKGFzKWkoc3VwcGxpZWQpZSh0bylqCiBGcyhjb21wbGV0ZSljIEZ0KHdoZW4paSh0aGUpZyhjb21wc3ApcyhlYyloKHcpbShhcylnKGRlXDAxNG5lZCwpZyh0aGUpZgotKGRlZmF1bHQpaChCYXNoKWcoY29tcGxldGlvbnMpaChhcmUpMTUwIDM3MDQgeShhdHRlbXB0ZWQpZihpZilmKHRoZSlnCisoZGVmYXVsdCloKEJhc2gpZyhjb21wbGV0aW9ucyloKGFyZSkxNTAgMzg2NyB5KGF0dGVtcHRlZClmKGlmKWYodGhlKWcKIChjb21wc3ApcyhlYylnKGdlbmVyYXRlcylpKG5vKWUobWF0YyltKGhlcy4pMzkgYihJZikyMwogYih0aGUpZyhgKXAgRnMoLW8pMzAgYihkZWZhdWx0KXAgRnQoJykyMSBiKG9wdGlvbilqKHcpbShhcylmKHN1cHBsaWVkKWYKLSh0bykxNTAgMzgxMyB5IEZzKGNvbXBsZXRlKWogRnQod2hlbiloKHRoZSloKGNvbXBzcClzKGVjKWYodyltKGFzKWkKKyh0bykxNTAgMzk3NiB5IEZzKGNvbXBsZXRlKWogRnQod2hlbiloKHRoZSloKGNvbXBzcClzKGVjKWYodyltKGFzKWkKIChkZVwwMTRuZWQsKWUoUmVhZGxpbmUncylpKGRlZmF1bHQpZihjb21wbGV0aW9uKWgod2lsbClmKGIpcyhlKWYocClzCi0oZXJmb3JtZWQpMTUwIDM5MjMgeShpZilrKHRoZSloKGNvbXBzcClzKGVjKWYoXChhbmQsKWcoaWYpaChhdHRlbXB0ZWQsKQorKGVyZm9ybWVkKTE1MCA0MDg2IHkoaWYpayh0aGUpaChjb21wc3ApcyhlYylmKFwoYW5kLClnKGlmKWgoYXR0ZW1wdGVkLCkKIGcodGhlKWcoZGVmYXVsdClmKEJhc2gpaChjb21wbGV0aW9uc1wpKWgoZ2VuZXJhdGUpZyhubyllKG1hdGMpbShoZXMuKQotMjc1IDQwNjUgeShXaGVuKTIwIGIoYSlpKGNvbXBzcClzKGVjKWUoaW5kaWNhdGVzKWkodGhhdClnKGRpcmVjdG9yeSlnCisyNzUgNDIyMCB5KFdoZW4pMjAgYihhKWkoY29tcHNwKXMoZWMpZShpbmRpY2F0ZXMpaSh0aGF0KWcoZGlyZWN0b3J5KWcKIChuYW1lKWYoY29tcGxldGlvbiloKGlzKWYoZGVzaXJlZCwpaSh0aGUpZShwcm9ncmFtbWFibGUpMTUwCi00MTc1IHkoY29tcGxldGlvbikzMSBiKGZ1bmN0aW9ucyllKGZvcmNlKWkoUmVhZGxpbmUpZih0byloKGFwcClzKGVuZClkCis0MzI5IHkoY29tcGxldGlvbikzMSBiKGZ1bmN0aW9ucyllKGZvcmNlKWkoUmVhZGxpbmUpZih0byloKGFwcClzKGVuZClkCiAoYSlpKHNsYXNoKWcodG8pZyhjb21wbGV0ZWQpaChuYW1lcyllKHdoaWMpbShoKWgoYXJlKWcoc3ltLSkxNTAKLTQyODQgeShiKXMob2xpYyk0MCBiKGxpbmtzKWcodG8paChkaXJlY3RvcmllcywpaihzdWIpNQorNDQzOSB5KGIpcyhvbGljKTQwIGIobGlua3MpZyh0byloKGRpcmVjdG9yaWVzLClqKHN1Yik1CiBiKGplY3QpNDAgYih0byloKHRoZSlmKHYpLTUgYihhbHVlKTQxIGIob2YpZih0aGUpZyBGcShtYXJrLWRpcmVjdG9yaWVzKQotNDUgYiBGdChSZWFkbGluZSljKHYpLTUgYihhcmlhYmxlLCkxNTAgNDM5NCB5KHJlZ2FyZGxlc3MpMzEKKzQ1IGIgRnQoUmVhZGxpbmUpYyh2KS01IGIoYXJpYWJsZSwpMTUwIDQ1NDggeShyZWdhcmRsZXNzKTMxCiBiKG9mKWYodGhlKWgoc2V0dGluZylnKG9mKWcodGhlKWYgRnEobWFyay1zeW1saW5rKW0oZWQtZGlyZWN0b3JpZXMpMzYKLWIgRnQoUmVhZGxpbmUpMzEgYih2KS01IGIoYXJpYWJsZS4pMTUwIDQ2NzAgeSBGcig4LjcpNjgKLWIoUHJvZ3JhbW1hYmxlKTQ3IGIoQ29tcGxldGlvbilmKEJ1aWx0aW5zKTI3NSA0OTIxIHkKLUZ0KFR3KW0obykzMCBiKGJ1aWx0aW4pZyhjb21tYW5kcylnKGFyZSloKGEpbSh2KS01IGIoYWlsYWJsZSkzMgotYih0bylmKG1hbmlwdWxhdGUpZyh0aGUpZyhwcm9ncmFtbWFibGUpZihjb21wbGV0aW9uKWkoZmFjaWwtKTE1MAotNTAzMSB5KGl0aWVzLikxNTAgNTIwMiB5IEZzKGNvbXBnZW4pODcwIDUzNDAgeShjb21wZ2VuKTQ2Ci1iKFspcCBGaihvcHRpb24pMTEgYiBGcyhdKTQ1IGIoWylwIEZqKHdvcmQpMTEgYiBGcyhdKXAKLWVvcCBlbmQKK2IgRnQoUmVhZGxpbmUpMzEgYih2KS01IGIoYXJpYWJsZS4pMjc1IDQ2ODIgeShUaGVyZSkyNQorYihpcylpKHNvbWUpZyhzdXBwKXMob3J0KWUoZm9yKWgoZHluYW1pY2FsbHkpaChtbylzKGRpZnlpbmcpZgorKGNvbXBsZXRpb25zLik0MCBiKFRoaXMpMjYgYihpcylnKG1vc3QpaCh1c2VmdWwpZih3aGVuKTE1MAorNDc5MiB5KHVzZWQpMzcgYihpbiloKGNvbSltKGJpbmF0aW9uKWgod2l0aCllKGEpaShkZWZhdWx0KWYoY29tcGxldGlvbikKK2goc3ApcyhlY2lcMDE0ZWQpZSh3aXRoKWgoYClwIEZzKC1EKXAgRnQoJy4pNjMgYihJdCdzKTM4CitiKHApcyhvc3NpYmxlKWYoZm9yKWgoc2hlbGwpMTUwIDQ5MDIgeShmdW5jdGlvbnMpMjggYihleGVjdXRlZCloKGFzKWYKKyhjb21wbGV0aW9uKWkoaGFuZGxlcnMpZCh0bylpKGluZGljYXRlKWcodGhhdClnKGNvbXBsZXRpb24pZyhzaG91bGQpZQorKGIpcyhlKWgocmV0cmllZClnKGIpbSh5KTE1MCA1MDExIHkocmV0dXJuaW5nKWooYW4paShleGl0KWcoc3RhdHVzKWYKKyhvZiloKDEyNC4pNDggYihJZikzMSBiKGEpaShzaGVsbClmKGZ1bmN0aW9uKWcocmV0dXJucylmKDEyNCwpayhhbmQpYworKGMpbShoYW5nZXMpaih0aGUpZShjb21wc3ApcyhlYykxNTAgNTEyMSB5KGFzc28pcyhjaWF0ZWQpNDMKK2Iod2l0aCllKHRoZSlnKGNvbW1hbmQpZyhvbilnKHdoaWMpbShoKWcoY29tcGxldGlvbilpKGlzKWUoYilzKGVpbmcpZworKGF0dGVtcHRlZCloKFwoc3VwcGxpZWQpZShhcylpKHRoZSkxNTAgNTIzMCB5KFwwMTRyc3QpMjkKK2IoYXJndW1lbiltKHQpaCh3aGVuKWUodGhlKWkoZnVuY3Rpb24pZihpcylnKGV4ZWN1dGVkXCksKWoKKyhwcm9ncmFtbWFibGUpZChjb21wbGV0aW9uKWkocmVzdGFydHMpZihmcm9tKWYodGhlKTE1MAorNTM0MCB5KGIpcyhlZ2lubmluZywpNDAgYih3aXRoKWUoYW4paChhdHRlbXB0KWcodG8paChcMDE0bmQpZChhKWkKKyhjb21wc3ApcyhlYylmKGZvcilnKHRoYXQpaChjb21tYW5kLik2NSBiKFRoaXMpMzggYihhbGxvKW0od3MpaShhKWYKKyhzZXQpZyhvZilwIGVvcCBlbmQKICUlUGFnZTogMTE3IDEyMwogVGVYRGljdCBiZWdpbiAxMTcgMTIyIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig4Oik0MQotYihDb21tYW5kKTI5IGIoTGluZSlpKEVkaXRpbmcpMjA2MiBiKDExNyk2MzAgMjk5IHkoR2VuZXJhdGUpMjcKLWIocClzKG9zc2libGUpZShjb21wbGV0aW9uKWkobWF0YyltKGhlcylnKGZvcillIEZxKHcpbShvcmQpawotRnQoYWNjb3JkaW5nKWUodG8pZih0aGUpZyBGcShvcHRpb24pcCBGdChzLCloKHdoaWMpbShoKTYzMAotNDA4IHkobWEpbSh5KWgoYilzKGUpZihhbiltKHkpaChvcHRpb24pZyhhY2NlcHRlZCloKGIpbSh5KWUodGhlKWgKLUZzKGNvbXBsZXRlKWQgRnQoYnVpbHRpbilqKHdpdGgpZih0aGUpaChleGNlcHRpb24pZyhvZilnKGApcAotRnMoLXApcCBGdCgnKTYzMCA1MTggeShhbmQpayhgKXAgRnMoLXIpcCBGdCgnLClpKGFuZCllKHdyaXRlKWgodGhlKWcKLShtYXRjKW0oaGVzKWgodG8pZyh0aGUpZihzdGFuZGFyZClmKG91dHB1dC4pNDggYihXaGVuKTMzCi1iKHVzaW5nKWYodGhlKWgoYClwIEZzKC1GKXAgRnQoJyk2MzAgNjI4IHkob3IpMjggYihgKXAKLUZzKC1DKXAgRnQoJylnKG9wdGlvbnMsKWgodGhlKWYodiktNSBiKGFyaW91cykyOSBiKHNoZWxsKWYodiktNQotYihhcmlhYmxlcykyOSBiKHNldClmKGIpbSh5KWcodGhlKWcocHJvZ3JhbW1hYmxlKWgoY29tcGxldGlvbik2MzAKLTczNyB5KGZhY2lsaXRpZXMsKWsod2hpbGUpZChhKW0odiktNSBiKGFpbGFibGUsKTMzIGIod2lsbCllKG5vdClnKGhhKW0KLSh2KW0oZSlnKHVzZWZ1bClmKHYpLTUgYihhbHVlcy4pNjMwIDg4MSB5KFRoZSkzNCBiKG1hdGMpbShoZXMpaCh3aWxsKWcKLShiKXMoZSlmKGdlbmVyYXRlZCloKGluKWYodGhlKWgoc2FtZSlnKHcpbShhKW0oeSlnKGFzKWcoaWYpZih0aGUpaAotKHByb2dyYW1tYWJsZSlmKGNvbS0pNjMwIDk5MSB5KHBsZXRpb24pZChjbylzKGRlKWcoaGFkKWYoZ2VuZXJhdGVkKWkKLSh0aGVtKWUoZGlyZWN0bHkpaShmcm9tKWUoYSloKGNvbXBsZXRpb24paChzcClzKGVjaVwwMTRjYXRpb24pZih3aXRoKQotNjMwIDExMDAgeSh0aGUpZShzYW1lKWgoXDAxNWFncy4pNDAgYihJZikyOSBiIEZxKHcpbShvcmQpagotRnQoaXMpZChzcClzKGVjaVwwMTRlZCwpZyhvbmx5KWcodGhvc2UpaChjb21wbGV0aW9ucylnKG1hdGMpbShoaW5nKWcKLUZxKHcpbShvcmQpaiBGdCh3aWxsKTYzMCAxMjEwIHkoYilzKGUpZChkaXNwbGEpbSh5KW0oZWQuKTYzMAotMTM1NCB5KFRoZSkyNCBiKHJldHVybilnKHYpLTUgYihhbHVlKTI1IGIoaXMpZyh0cnVlKWYodW5sZXNzKWcoYW4paChpbikKK2IoQ29tbWFuZCkyOSBiKExpbmUpaShFZGl0aW5nKTIwNjIgYigxMTcpMTUwIDI5OSB5KGNvbXBsZXRpb25zKTMzCitiKHRvKWYoYilzKGUpZyhidWlsdClmKGR5bmFtaWNhbGx5KWkoYXMpZihjb21wbGV0aW9uKWgoaXMpZihhdHRlbXB0ZWQsKQoraChyYXRoZXIpZih0aGFuKWYoYilzKGVpbmcpZyhsb2FkZWQpMTUwIDQwOCB5KGFsbClnKGF0KWcob25jZS4pMjc1Cis1NjQgeShGKS04IGIob3IpMzggYihpbnN0YW5jZSwpaChhc3N1bWluZyllKHRoYXQpaCh0aGVyZSlmKGlzKWgoYSlmCisobGlicmFyeSlnKG9mKWcoY29tcHNwKXMoZWNzLClpKGVhYyltKGgpZyhrKW0oZXB0KWUoaW4pZyhhKWgoXDAxNGxlKWYKKyhjb3JyZS0pMTUwIDY3MyB5KHNwKXMob25kaW5nKWcodG8paih0aGUpZihuYW1lKWYob2YpaCh0aGUpZyhjb21tYW5kLClpCisodGhlKWUoZm9sbG8pbSh3aW5nKWgoZGVmYXVsdClmKGNvbXBsZXRpb24paChmdW5jdGlvbillKHcpbShvdWxkKTE1MAorNzgzIHkobG9hZCkzMSBiKGNvbXBsZXRpb25zKWcoZHluYW1pY2FsbHk6KTM5MCA5MzggeQorRnMoX2NvbXBsZXRpb25fbG9hZGVyXChcKSkzOTAgMTA0OCB5KHspMzkwIDExNTcgeSguKTQ3CitiKCIvZXRjL2Jhc2hfY29tcGxldGlvbi5kLyQxKW8oLnNoIik0MSBiKD4vZGV2L251bGwpaygyPiYxKWkoJiYpZworKHJldHVybilmKDEyNCkzOTAgMTI2NyB5KH0pMzkwIDEzNzYgeShjb21wbGV0ZSlnKC1EKWgoLUYpZworKF9jb21wbGV0aW9uX2xvYWRlcikxNTAgMTY0MCB5IEZyKDguNyk2OCBiKFByb2dyYW1tYWJsZSk0NworYihDb21wbGV0aW9uKWYoQnVpbHRpbnMpMTUwIDE3OTkgeSBGdChUdyltKG8pMjcgYihidWlsdGluKWcoY29tbWFuZHMpZworKGFyZSlnKGEpbSh2KS01IGIoYWlsYWJsZSkyOSBiKHRvKWYobWFuaXB1bGF0ZSlnKHRoZSlmKHByb2dyYW1tYWJsZSlnCisoY29tcGxldGlvbiloKGZhY2lsaXRpZXMuKTE1MCAxOTkwIHkgRnMoY29tcGdlbik4NzAgMjEzNAoreShjb21wZ2VuKTQ2IGIoWylwIEZpKG9wdGlvbikxMSBiIEZzKF0pNDUgYihbKXAgRmkod29yZCkxMQorYiBGcyhdKTYzMCAyMjc5IHkgRnQoR2VuZXJhdGUpMjcgYihwKXMob3NzaWJsZSllKGNvbXBsZXRpb24paShtYXRjKW0KKyhoZXMpZyhmb3IpZSBGcSh3KW0ob3JkKWsgRnQoYWNjb3JkaW5nKWUodG8pZih0aGUpZyBGcShvcHRpb24pcAorRnQocywpaCh3aGljKW0oaCk2MzAgMjM4OSB5KG1hKW0oeSloKGIpcyhlKWYoYW4pbSh5KWgob3B0aW9uKWcKKyhhY2NlcHRlZCloKGIpbSh5KWUodGhlKWggRnMoY29tcGxldGUpZCBGdChidWlsdGluKWood2l0aClmKHRoZSloCisoZXhjZXB0aW9uKWcob2YpZyhgKXAgRnMoLXApcCBGdCgnKTYzMCAyNDk4IHkoYW5kKWsoYClwCitGcygtcilwIEZ0KCcsKWkoYW5kKWUod3JpdGUpaCh0aGUpZyhtYXRjKW0oaGVzKWgodG8pZyh0aGUpZihzdGFuZGFyZClmCisob3V0cHV0Lik0OCBiKFdoZW4pMzMgYih1c2luZylmKHRoZSloKGApcCBGcygtRilwIEZ0KCcpNjMwCisyNjA4IHkob3IpMjggYihgKXAgRnMoLUMpcCBGdCgnKWcob3B0aW9ucywpaCh0aGUpZih2KS01CitiKGFyaW91cykyOSBiKHNoZWxsKWYodiktNSBiKGFyaWFibGVzKTI5IGIoc2V0KWYoYiltKHkpZyh0aGUpZworKHByb2dyYW1tYWJsZSloKGNvbXBsZXRpb24pNjMwIDI3MTggeShmYWNpbGl0aWVzLClrKHdoaWxlKWQoYSltKHYpLTUKK2IoYWlsYWJsZSwpMzMgYih3aWxsKWUobm90KWcoaGEpbSh2KW0oZSlnKHVzZWZ1bClmKHYpLTUKK2IoYWx1ZXMuKTYzMCAyODYyIHkoVGhlKTM0IGIobWF0YyltKGhlcyloKHdpbGwpZyhiKXMoZSlmKGdlbmVyYXRlZCloCisoaW4pZih0aGUpaChzYW1lKWcodyltKGEpbSh5KWcoYXMpZyhpZilmKHRoZSloKHByb2dyYW1tYWJsZSlmKGNvbS0pNjMwCisyOTcyIHkocGxldGlvbilkKGNvKXMoZGUpZyhoYWQpZihnZW5lcmF0ZWQpaSh0aGVtKWUoZGlyZWN0bHkpaShmcm9tKWUKKyhhKWgoY29tcGxldGlvbiloKHNwKXMoZWNpXDAxNGNhdGlvbilmKHdpdGgpNjMwIDMwODIKK3kodGhlKWUoc2FtZSloKFwwMTVhZ3MuKTQwIGIoSWYpMjkgYiBGcSh3KW0ob3JkKWogRnQoaXMpZChzcClzCisoZWNpXDAxNGVkLClnKG9ubHkpZyh0aG9zZSloKGNvbXBsZXRpb25zKWcobWF0YyltKGhpbmcpZworRnEodyltKG9yZClqIEZ0KHdpbGwpNjMwIDMxOTEgeShiKXMoZSlkKGRpc3BsYSltKHkpbShlZC4pNjMwCiszMzM2IHkoVGhlKTI0IGIocmV0dXJuKWcodiktNSBiKGFsdWUpMjUgYihpcylnKHRydWUpZih1bmxlc3MpZyhhbiloKGluKQogbSh2KS01IGIoYWxpZCkyNSBiKG9wdGlvbilnKGlzKWcoc3VwcGxpZWQsKWYob3IpaChubylnKG1hdGMpbShoZXMpZyh3KW0KLShlcmUpNjMwIDE0NjMgeShnZW5lcmF0ZWQuKTE1MCAxNjQxIHkgRnMoY29tcGxldGUpODcwCi0xNzg1IHkoY29tcGxldGUpNDYgYihbLWFiY2RlZmdqa3N1dl0pZChbLW8payBGaihjb21wLW9wdGlvbikxMQotYiBGcyhdKTQ0IGIoWy1FXSlqKFstQSlnIEZqKGFjdGlvbikxMSBiIEZzKF0pNDUgYihbLSk4NzAKLTE4OTUgeShHKWkgRmooZ2xvYnBhdCkxMSBiIEZzKF0pNDYgYihbLVcpZyBGaih3b3JkbGlzdCkxMQotYiBGcyhdKTg3MCAyMDA0IHkoWy1GKTQ3IGIgRmooZnVuY3Rpb24pMTEgYiBGcyhdKTQ1IGIoWy1DKWkKLUZqKGNvbW1hbmQpMTEgYiBGcyhdKTQ1IGIoWy1YKWkgRmooZmlsdGVycGF0KTExIGIgRnMoXSk4NzAKLTIxMTQgeShbLVApNDcgYiBGaihwcmVmaXgpMTEgYiBGcyhdKTQ1IGIoWy1TKWkgRmooc3VmZml4KTExCi1iIEZzKF0pNDUgYiBGaihuYW1lKTU4IGIgRnMoWylwIEZqKG5hbWUpZiBGcyguLi4pbyhdKTg3MAotMjIyNCB5KGNvbXBsZXRlKTQ2IGIoLXByKWcoWy1FXSloKFspcCBGaihuYW1lKTU3IGIgRnMoLi4uKW8oXSk2MzAKLTIzNjcgeSBGdChTcClzKGVjaWZ5KTMzIGIoaG8pbSh3KWgoYXJndW1lbiltKHRzKWgodG8pZihlYWMpbShoKWkKKyhlcmUpNjMwIDM0NDYgeShnZW5lcmF0ZWQuKTE1MCAzNjI2IHkgRnMoY29tcGxldGUpODcwCiszNzcwIHkoY29tcGxldGUpNDYgYihbLWFiY2RlZmdqa3N1dl0pZChbLW8payBGaShjb21wLW9wdGlvbikxMQorYiBGcyhdKTQ0IGIoWy1ERV0paShbLUEpaCBGaShhY3Rpb24pMTEgYiBGcyhdKTQ2IGIoWy0pODcwCiszODgwIHkoRyloIEZpKGdsb2JwYXQpMTEgYiBGcyhdKTQ2IGIoWy1XKWcgRmkod29yZGxpc3QpMTEKK2IgRnMoXSk4NzAgMzk5MCB5KFstRik0NyBiIEZpKGZ1bmN0aW9uKTExIGIgRnMoXSk0NSBiKFstQylpCitGaShjb21tYW5kKTExIGIgRnMoXSk0NSBiKFstWClpIEZpKGZpbHRlcnBhdCkxMSBiIEZzKF0pODcwCis0MDk5IHkoWy1QKTQ3IGIgRmkocHJlZml4KTExIGIgRnMoXSk0NSBiKFstUylpIEZpKHN1ZmZpeCkxMQorYiBGcyhdKTQ1IGIgRmkobmFtZSk1OCBiIEZzKFspcCBGaShuYW1lKWYgRnMoLi4uKW8oXSk4NzAKKzQyMDkgeShjb21wbGV0ZSk0NiBiKC1wcilnKFstREVdKWgoWylwIEZpKG5hbWUpNTcgYiBGcyguLi4pbyhdKTYzMAorNDM1NCB5IEZ0KFNwKXMoZWNpZnkpMzMgYihobyltKHcpaChhcmd1bWVuKW0odHMpaCh0bylmKGVhYyltKGgpaQogRnEobmFtZSlqIEZ0KHNob3VsZCkzMyBiKGIpcyhlKWcoY29tcGxldGVkLik1MyBiKElmKTMzCi1iKHRoZSlpKGApcCBGcygtcClwIEZ0KCcpZShvcHRpb24pNjMwIDI0NzcgeShpcylkKHN1cHBsaWVkLCllKG9yKWkoaWYpZworYih0aGUpaShgKXAgRnMoLXApcCBGdCgnKWUob3B0aW9uKTYzMCA0NDYzIHkoaXMpZChzdXBwbGllZCwpZShvcilpKGlmKWcKIChubylmKG9wdGlvbnMpaChhcmUpZyhzdXBwbGllZCwpZihleGlzdGluZyloKGNvbXBsZXRpb24paChzcClzCi0oZWNpXDAxNGNhdGlvbnMpZyhhcmUpNjMwIDI1ODcgeShwcmluKW0odGVkKTIxIGIoaW4pZyhhKWcodyltKGEpbSh5KWgKLSh0aGF0KWcoYWxsbyltKHdzKWcodGhlbSlmKHRvKWgoYilzKGUpZihyZXVzZWQpZihhcylpKGlucHV0LikzNgotYihUaGUpMjEgYihgKXAgRnMoLXIpcCBGdCgnKWcob3B0aW9uKWgocmVtbyltKHYpbShlcyk2MzAKLTI2OTYgeShhKTQ2IGIoY29tcGxldGlvbilnKHNwKXMoZWNpXDAxNGNhdGlvbilnKGZvcilmKGVhYyltKGgpaAotRnEobmFtZSlwIEZ0KCwpaihvciwpZyhpZiljKG5vKWggRnEobmFtZSk1IGIgRnQocyk0NQotYihhcmUpZyhzdXBwbGllZCwpaihhbGwpNjMwIDI4MDYgeShjb21wbGV0aW9uKTI5IGIoc3ApcwotKGVjaVwwMTRjYXRpb25zLik0MCBiKFRoZSkyNyBiKGApcCBGcygtRSlwIEZ0KCcpZyhvcHRpb24paChpbmRpY2F0ZXMpZwotKHRoYXQpZyh0aGUpZihyZW1haW5pbmcpaChvcHRpb25zKTYzMCAyOTE1IHkoYW5kKWUoYWN0aW9ucylpKHNob3VsZClkCi0oYXBwbHkpaSh0bylnKFxcZW1wdCltKHkiKWgoY29tbWFuZCllKGNvbXBsZXRpb247KWsodGhhdClkKGlzLCloCi0oY29tcGxldGlvbik2MzAgMzAyNSB5KGF0dGVtcHRlZClqKG9uKWcoYSlmKGJsYW5rKWcobGluZS4pNjMwCi0zMTY5IHkoVGhlKWYocHJvKXMoY2VzcylnKG9mKWgoYXBwbHlpbmcpZyh0aGVzZSlnKGNvbXBsZXRpb24pZyhzcClzCi0oZWNpXDAxNGNhdGlvbnMpaCh3aGVuKWQodyltKG9yZClpKGNvbXBsZXRpb24pNjMwIDMyNzgKLXkoaXMpMzUgYihhdHRlbXB0ZWQpaChpcylmKGRlc2NyaWIpcyhlZClmKGFiKXMobyltKHYpbShlKWooXChzZWUpZgotKFNlY3Rpb24pZyg4LjYpZyhbUHJvZ3JhbW1hYmxlKWcoQ29tcGxldGlvbl0sKTYzMCAzMzg4Ci15KHBhZ2UpMzEgYigxMTVcKS4pNjMwIDM1MzIgeShPdGhlcik0MSBiKG9wdGlvbnMsKTQ2Ci1iKGlmKTQxIGIoc3ApcyhlY2lcMDE0ZWQsKWooaGEpbSh2KW0oZSlmKHRoZSlmKGZvbGxvKW0od2luZylpCi0obWVhbmluZ3MuKTc1IGIoVGhlKTQxIGIoYXJndW1lbiltKHRzKWgodG8pNjMwIDM2NDEgeSh0aGUpZShgKXAKLUZzKC1HKXAgRnQoJywpaihgKXAgRnMoLVcpcCBGdCgnLClnKGFuZClkKGApcCBGcygtWClwCi1GdCgnKWcob3B0aW9ucylnKFwoYW5kLClqKGlmKWQobmVjZXNzYXJ5KS04IGIoLCk0NCBiKHRoZSljKGApcAotRnMoLVApcCBGdCgnKWgoYW5kKWUoYClwIEZzKC1TKXAgRnQoJyloKG9wdGlvbnNcKSk2MzAKLTM3NTEgeShzaG91bGQpMzAgYihiKXMoZSloKHF1b3RlZClnKHRvKWgocHJvdGVjdClnKHRoZW0pZihmcm9tKWcKLShleHBhbnNpb24pZyhiKXMoZWZvcmUpZyh0aGUpZyBGcyhjb21wbGV0ZSllIEZ0KGJ1aWx0aW4pNjMwCi0zODYxIHkoaXMpaChpbiltKHYpbShvayltKGVkLik2MzAgNDAzOSB5IEZzKC1vKWcgRmooY29tcC1vcHRpb24pMTExMAotNDE0OCB5IEZ0KFRoZSljIEZxKGNvbXAtb3B0aW9uKWkgRnQoY29uKW0odHJvbHMpZyhzZXYpbShlcmFsKWgoYXNwKXMKLShlY3RzKWUob2YpZyh0aGUpZyhjb21wc3ApcyhlYydzKWcoYilzKGVoYSltKHYtKTExMTAKLTQyNTggeShpb3IpZyhiKXMoZXkpbShvbmQpZih0aGUpZyhzaW1wbGUpaChnZW5lcmF0aW9uKWgob2YpZQotKGNvbXBsZXRpb25zLik0MSBiIEZxKGNvbXAtb3B0aW9uKTI3IGIgRnQobWEpbSh5KTExMTAKLTQzNjcgeShiKXMoZSlqKG9uZSlnKG9mOikxMTEwIDQ1NDUgeSBGcyhiYXNoZGVmYXVsdCkxNTkwCi00NjU1IHkgRnQoUCltKGVyZm9ybSlkKHRoZSloKHJlc3QpZihvZiloKHRoZSlnKGRlZmF1bHQpZihCYXNoKWgKLShjb21wbGV0aW9ucylnKGlmKWcodGhlKTE1OTAgNDc2NSB5KGNvbXBzcClzKGVjKWkoZ2VuZXJhdGVzKWkobm8pZQotKG1hdGMpbShoZXMuKTExMTAgNDk0MyB5IEZzKGRlZmF1bHQpMTQ0IGIgRnQoVXNlKTIyIGIoUmVhZGxpbmUncylnCi0oZGVmYXVsdClnKFwwMTRsZW5hbWUpZyhjb21wbGV0aW9uKWcoaWYpZyh0aGUpZyhjb21wLSkxNTkwCi01MDUyIHkoc3ApcyhlYykzMCBiKGdlbmVyYXRlcylpKG5vKWUobWF0YyltKGhlcy4pMTExMAotNTIzMCB5IEZzKGRpcm5hbWVzKTk2IGIgRnQoUCltKGVyZm9ybSk0NiBiKGRpcmVjdG9yeSlnKG5hbWUpaAotKGNvbXBsZXRpb24pZyhpZilmKHRoZSlnKGNvbXBzcClzKGVjKTE1OTAgNTM0MCB5KGdlbmVyYXRlcykzMgotYihubyllKG1hdGMpbShoZXMuKXAgZW9wIGVuZAorKGVjaVwwMTRjYXRpb25zKWcoYXJlKTYzMCA0NTczIHkocHJpbiltKHRlZCk0MyBiKGluKWgoYSlnKHcpbShhKW0oeSloCisodGhhdClmKGFsbG8pbSh3cyloKHRoZW0pZih0bylnKGIpcyhlKWcocmV1c2VkKWYoYXMpaChpbnB1dC4pODAKK2IoVGhlKTQzIGIoYClwIEZzKC1yKXAgRnQoJylnKG9wdGlvbik2MzAgNDY4MiB5KHJlbW8pbSh2KW0oZXMpMjkKK2IoYSllKGNvbXBsZXRpb24paShzcClzKGVjaVwwMTRjYXRpb24pZShmb3IpZyhlYWMpbShoKWkKK0ZxKG5hbWUpNSBiIEZ0KCwpMjggYihvciwpZyhpZilmKG5vKWcgRnEobmFtZSk1IGIgRnQocykyNworYihhcmUpaChzdXBwbGllZCwpNjMwIDQ3OTIgeShhbGwpNDYgYihjb21wbGV0aW9uKWgoc3ApcworKGVjaVwwMTRjYXRpb25zLik4NyBiKFRoZSk0NSBiKGApcCBGcygtRClwIEZ0KCcpaChvcHRpb24pZyhpbmRpY2F0ZXMpZworKHRoYXQpZyh0aGUpZyhyZW1haW5pbmcpNjMwIDQ5MDIgeShvcHRpb25zKTM1IGIoYW5kKWYoYWN0aW9ucyloKHNob3VsZCkKK2YoYXBwbHkpZyh0byloKHRoZSlnKFxcZGVmYXVsdCIpZyhjb21tYW5kKWYoY29tcGxldGlvbjspayh0aGF0KTYzMAorNTAxMSB5KGlzLCkyNSBiKGNvbXBsZXRpb24pZyhhdHRlbXB0ZWQpZyhvbillKGEpaChjb21tYW5kKWYoZm9yKWcod2hpYykKK20oaCloKG5vKWYoY29tcGxldGlvbilpKGhhcyllKHByZXZpb3VzbHkpNjMwIDUxMjEgeShiKXMoZWVuKTI4CitiKGRlXDAxNG5lZC4pMzkgYihUaGUpMjcgYihgKXAgRnMoLUUpcCBGdCgnKWkob3B0aW9uKWcoaW5kaWNhdGVzKWcKKyh0aGF0KWcodGhlKWcocmVtYWluaW5nKWYob3B0aW9ucyloKGFuZClmKGFjdGlvbnMpNjMwCis1MjMwIHkoc2hvdWxkKWkoYXBwbHkpaSh0bylnKFxcZW1wdCltKHkiKWcoY29tbWFuZClnKGNvbXBsZXRpb247KWgKKyh0aGF0KWYoaXMsKWcoY29tcGxldGlvbiloKGF0dGVtcHRlZCk2MzAgNTM0MCB5KG9uKWQoYSloKGJsYW5rKWYobGluZS4pCitwIGVvcCBlbmQKICUlUGFnZTogMTE4IDEyNAogVGVYRGljdCBiZWdpbiAxMTggMTIzIGJvcCAxNTAgLTExNiBhIEZ0KDExOCkyNTI3IGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTExMCAyOTkgeSBGcyhmaWxlbmFtZXMpMTU5MAotNDA4IHkgRnQoVCktOCBiKGVsbCk0MCBiKFJlYWRsaW5lKWYodGhhdCloKHRoZSlmKGNvbXBzcClzKGVjKWYKLShnZW5lcmF0ZXMpaihcMDE0bGVuYW1lcywpMTU5MCA1MTggeShzbykyOSBiKGl0KWgoY2FuKWYocClzKGVyZm9ybSlmCi0oYW4pbSh5KWgoXDAxNGxlbmFtZS1zcClzKGVjaVwwMTRjKWgocHJvKXMoY2Vzc2luZyllKFwobGlrKW0oZSkxNTkwCi02MjggeShhZGRpbmcpZChhKWgoc2xhc2gpZih0byloKGRpcmVjdG9yeSlnKG5hbWVzKWYocXVvdGluZyloKHNwKXMKLShlY2lhbClnKGMpbShoYXItKTE1OTAgNzM3IHkoYWN0ZXJzLCkzOSBiKG9yKWQoc3VwcHJlc3NpbmcpZih0cmFpbGluZylpCi0oc3BhY2VzXCkuKTU5IGIoVGhpcykzNSBiKG9wdGlvbilpKGlzKTE1OTAgODQ3IHkoaW4pbSh0ZW5kZWQpMzAKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeShUaGUpZShwcm8pcyhjZXNzKWcob2YpaChhcHBseWluZylnCisodGhlc2UpZyhjb21wbGV0aW9uKWcoc3ApcyhlY2lcMDE0Y2F0aW9ucyloKHdoZW4pZCh3KW0ob3JkKWkKKyhjb21wbGV0aW9uKTYzMCA0MDggeShpcykzNSBiKGF0dGVtcHRlZCloKGlzKWYoZGVzY3JpYilzKGVkKWYoYWIpcyhvKW0KKyh2KW0oZSlqKFwoc2VlKWYoU2VjdGlvbilnKDguNilnKFtQcm9ncmFtbWFibGUpZyhDb21wbGV0aW9uXSwpNjMwCis1MTggeShwYWdlKTMxIGIoMTE1XCkuKTQyIGIoVGhlKTMwIGIoYClwIEZzKC1EKXAgRnQoJyloKG9wdGlvbilmKHRhayltCisoZXMpaShwcmVjZWRlbmNlKWYobyltKHYpbShlciloKGApcCBGcygtRSlwIEZ0KCcuKTYzMAorNjU2IHkoT3RoZXIpNDEgYihvcHRpb25zLCk0NiBiKGlmKTQxIGIoc3ApcyhlY2lcMDE0ZWQsKWooaGEpbSh2KW0oZSlmCisodGhlKWYoZm9sbG8pbSh3aW5nKWkobWVhbmluZ3MuKTc1IGIoVGhlKTQxIGIoYXJndW1lbiltKHRzKWgodG8pNjMwCis3NjYgeSh0aGUpZShgKXAgRnMoLUcpcCBGdCgnLClqKGApcCBGcygtVylwIEZ0KCcsKWcoYW5kKWQoYClwCitGcygtWClwIEZ0KCcpZyhvcHRpb25zKWcoXChhbmQsKWooaWYpZChuZWNlc3NhcnkpLTggYigsKTQ0CitiKHRoZSljKGApcCBGcygtUClwIEZ0KCcpaChhbmQpZShgKXAgRnMoLVMpcCBGdCgnKWgob3B0aW9uc1wpKTYzMAorODc1IHkoc2hvdWxkKTMwIGIoYilzKGUpaChxdW90ZWQpZyh0byloKHByb3RlY3QpZyh0aGVtKWYoZnJvbSlnCisoZXhwYW5zaW9uKWcoYilzKGVmb3JlKWcodGhlKWcgRnMoY29tcGxldGUpZSBGdChidWlsdGluKTYzMAorOTg1IHkoaXMpaChpbiltKHYpbShvayltKGVkLik2MzAgMTE1MSB5IEZzKC1vKWcgRmkoY29tcC1vcHRpb24pMTExMAorMTI2MSB5IEZ0KFRoZSljIEZxKGNvbXAtb3B0aW9uKWkgRnQoY29uKW0odHJvbHMpZyhzZXYpbShlcmFsKWgoYXNwKXMKKyhlY3RzKWUob2YpZyh0aGUpZyhjb21wc3ApcyhlYydzKWcoYilzKGVoYSltKHYtKTExMTAKKzEzNzAgeShpb3IpZyhiKXMoZXkpbShvbmQpZih0aGUpZyhzaW1wbGUpaChnZW5lcmF0aW9uKWgob2YpZQorKGNvbXBsZXRpb25zLik0MSBiIEZxKGNvbXAtb3B0aW9uKTI3IGIgRnQobWEpbSh5KTExMTAKKzE0ODAgeShiKXMoZSlqKG9uZSlnKG9mOikxMTEwIDE2NDYgeSBGcyhiYXNoZGVmYXVsdCkxNTkwCisxNzU2IHkgRnQoUCltKGVyZm9ybSlkKHRoZSloKHJlc3QpZihvZiloKHRoZSlnKGRlZmF1bHQpZihCYXNoKWgKKyhjb21wbGV0aW9ucylnKGlmKWcodGhlKTE1OTAgMTg2NiB5KGNvbXBzcClzKGVjKWkoZ2VuZXJhdGVzKWkobm8pZQorKG1hdGMpbShoZXMuKTExMTAgMjAzMiB5IEZzKGRlZmF1bHQpMTQ0IGIgRnQoVXNlKTIyIGIoUmVhZGxpbmUncylnCisoZGVmYXVsdClnKFwwMTRsZW5hbWUpZyhjb21wbGV0aW9uKWcoaWYpZyh0aGUpZyhjb21wLSkxNTkwCisyMTQyIHkoc3ApcyhlYykzMCBiKGdlbmVyYXRlcylpKG5vKWUobWF0YyltKGhlcy4pMTExMAorMjMwOCB5IEZzKGRpcm5hbWVzKTk2IGIgRnQoUCltKGVyZm9ybSk0NiBiKGRpcmVjdG9yeSlnKG5hbWUpaAorKGNvbXBsZXRpb24pZyhpZilmKHRoZSlnKGNvbXBzcClzKGVjKTE1OTAgMjQxOCB5KGdlbmVyYXRlcykzMgorYihubyllKG1hdGMpbShoZXMuKTExMTAgMjU4NCB5IEZzKGZpbGVuYW1lcykxNTkwIDI2OTQKK3kgRnQoVCktOCBiKGVsbCk0MCBiKFJlYWRsaW5lKWYodGhhdCloKHRoZSlmKGNvbXBzcClzKGVjKWYoZ2VuZXJhdGVzKWoKKyhcMDE0bGVuYW1lcywpMTU5MCAyODAzIHkoc28pMjkgYihpdCloKGNhbilmKHApcyhlcmZvcm0pZihhbiltKHkpaAorKFwwMTRsZW5hbWUtc3ApcyhlY2lcMDE0YyloKHBybylzKGNlc3NpbmcpZShcKGxpayltKGUpMTU5MAorMjkxMyB5KGFkZGluZylkKGEpaChzbGFzaClmKHRvKWgoZGlyZWN0b3J5KWcobmFtZXMpZihxdW90aW5nKWgoc3ApcworKGVjaWFsKWcoYyltKGhhci0pMTU5MCAzMDIyIHkoYWN0ZXJzLCkzOSBiKG9yKWQoc3VwcHJlc3NpbmcpZih0cmFpbGluZykKK2koc3BhY2VzXCkuKTU5IGIoVGhpcykzNSBiKG9wdGlvbilpKGlzKTE1OTAgMzEzMiB5KGluKW0odGVuZGVkKTMwCiBiKHRvKWcoYilzKGUpZyh1c2VkKWYod2l0aClnKHNoZWxsKWkoZnVuY3Rpb25zKWUoc3ApcyhlY2lcMDE0ZWQpZyh3aXRoKQotMTU5MCA5NTYgeShgKXAgRnMoLUYpcCBGdCgnLikxMTEwIDExMTUgeSBGcyhub3NwYWNlKTE0NAorMTU5MCAzMjQyIHkoYClwIEZzKC1GKXAgRnQoJy4pMTExMCAzNDA4IHkgRnMobm9zcGFjZSkxNDQKIGIgRnQoVCktOCBiKGVsbCk0MCBiKFJlYWRsaW5lKWcobm90KWcodG8pZyhhcHApcyhlbmQpZChhKWooc3BhY2UpZwotKFwodGhlKWYoZGVmYXVsdFwpKWgodG8pMTU5MCAxMjI0IHkodyltKG9yZHMpMzAgYihjb21wbGV0ZWQpaChhdClnKHRoZSkKLWcoZW5kKWYob2YpZyh0aGUpaChsaW5lLikxMTEwIDEzODMgeSBGcyhwbHVzZGlycyk5NiBiCisoXCh0aGUpZihkZWZhdWx0XCkpaCh0bykxNTkwIDM1MTggeSh3KW0ob3JkcykzMCBiKGNvbXBsZXRlZCloKGF0KWcodGhlKQorZyhlbmQpZihvZilnKHRoZSloKGxpbmUuKTExMTAgMzY4NCB5IEZzKHBsdXNkaXJzKTk2IGIKIEZ0KEFmdGVyKTMwIGIoYW4pbSh5KWgobWF0YyltKGhlcylnKGRlXDAxNG5lZClkKGIpbSh5KWkodGhlKWcoY29tcHNwKXMKLShlYylnKGFyZSlnKGdlbmVyLSkxNTkwIDE0OTIgeShhdGVkLClnKGRpcmVjdG9yeSlmKG5hbWUpZyhjb21wbGV0aW9uKWkKLShpcylkKGF0dGVtcHRlZClpKGFuZClmKGFuKW0oeSkxNTkwIDE2MDIgeShtYXRjKW0oaGVzKWooYXJlKWUoYWRkZWQpZworKGVjKWcoYXJlKWcoZ2VuZXItKTE1OTAgMzc5NCB5KGF0ZWQsKWcoZGlyZWN0b3J5KWYobmFtZSlnKGNvbXBsZXRpb24paQorKGlzKWQoYXR0ZW1wdGVkKWkoYW5kKWYoYW4pbSh5KTE1OTAgMzkwMyB5KG1hdGMpbShoZXMpaihhcmUpZShhZGRlZClnCiAodG8paCh0aGUpZyhyZXN1bHRzKWYob2YpZyh0aGUpaChvdGhlcilnKGFjdGlvbnMuKTYzMAotMTc2MCB5IEZzKC1BKWYgRmooYWN0aW9uKTExMTAgMTg3MCB5IEZ0KFRoZSkyNSBiIEZxKGFjdGlvbiloCis0MDcwIHkgRnMoLUEpZiBGaShhY3Rpb24pMTExMCA0MTc5IHkgRnQoVGhlKTI1IGIgRnEoYWN0aW9uKWgKIEZ0KG1hKW0oeSlnKGIpcyhlKWUob25lKWgob2YpaCh0aGUpZihmb2xsbyltKHdpbmcpaSh0byllKGdlbmVyYXRlKWkoYSllCi0obGlzdCloKG9mKWYocClzKG9zc2libGUpMTExMCAxOTc5IHkoY29tcGxldGlvbnM6KTExMTAKLTIxMzggeSBGcyhhbGlhcykyNDAgYiBGdChBbGlhcykzMSBiKG5hbWVzLik0MSBiKE1hKW0oeSkzMQorKGxpc3QpaChvZilmKHApcyhvc3NpYmxlKTExMTAgNDI4OSB5KGNvbXBsZXRpb25zOikxMTEwCis0NDU1IHkgRnMoYWxpYXMpMjQwIGIgRnQoQWxpYXMpMzEgYihuYW1lcy4pNDEgYihNYSltKHkpMzEKIGIoYWxzbyloKGIpcyhlKWUoc3ApcyhlY2lcMDE0ZWQpZihhcylpKGApcCBGcygtYSlwIEZ0KCcuKTExMTAKLTIyOTYgeSBGcyhhcnJheXZhcik5NiBiIEZ0KEFycmEpbSh5KTMxIGIodiktNSBiKGFyaWFibGUpMzEKLWIobmFtZXMuKTExMTAgMjQ1NCB5IEZzKGJpbmRpbmcpMTQ0IGIgRnQoUmVhZGxpbmUpMzAKKzQ2MjIgeSBGcyhhcnJheXZhcik5NiBiIEZ0KEFycmEpbSh5KTMxIGIodiktNSBiKGFyaWFibGUpMzEKK2IobmFtZXMuKTExMTAgNDc4OCB5IEZzKGJpbmRpbmcpMTQ0IGIgRnQoUmVhZGxpbmUpMzAKIGIoayltKGV5KWYoYmluZGluZylmKG5hbWVzKWgoXChzZWUpaChTZWN0aW9uKWYoOC40KWgoW0JpbmRhYmxlKTE1OTAKLTI1NjQgeShSZWFkbGluZSloKENvbW1hbmRzXSwpZihwYWdlKWgoMTA2XCkuKTExMTAgMjcyMgorNDg5OCB5KFJlYWRsaW5lKWgoQ29tbWFuZHNdLClmKHBhZ2UpaCgxMDZcKS4pMTExMCA1MDY0CiB5IEZzKGJ1aWx0aW4pMTQ0IGIgRnQoTmFtZXMpMjEgYihvZilnKHNoZWxsKWYoYnVpbHRpbiloKGNvbW1hbmRzLikzNwotYihNYSltKHkpMjEgYihhbHNvKWgoYilzKGUpZShzcClzKGVjaVwwMTRlZCkxNTkwIDI4MzIKLXkoYXMpMzEgYihgKXAgRnMoLWIpcCBGdCgnLikxMTEwIDI5OTAgeSBGcyhjb21tYW5kKTE0NAorYihNYSltKHkpMjEgYihhbHNvKWgoYilzKGUpZShzcClzKGVjaVwwMTRlZCkxNTkwIDUxNzQKK3koYXMpMzEgYihgKXAgRnMoLWIpcCBGdCgnLikxMTEwIDUzNDAgeSBGcyhjb21tYW5kKTE0NAogYiBGdChDb21tYW5kKTI5IGIobmFtZXMuKTQxIGIoTWEpbSh5KTMyIGIoYWxzbylmKGIpcyhlKWYoc3ApcwotKGVjaVwwMTRlZClmKGFzKWkoYClwIEZzKC1jKXAgRnQoJy4pMTExMCAzMTQ4IHkgRnMoZGlyZWN0b3J5KTE1OTAKLTMyNTggeSBGdChEaXJlY3RvcnkpaChuYW1lcy4pNDAgYihNYSltKHkpMzIgYihhbHNvKWYoYilzKGUpZihzcClzCi0oZWNpXDAxNGVkKWcoYXMpZyhgKXAgRnMoLWQpcCBGdCgnLikxMTEwIDM0MTYgeSBGcyhkaXNhYmxlZCk5NgotYiBGdChOYW1lcykzMSBiKG9mKWcoZGlzYWJsZWQpZihzaGVsbClnKGJ1aWx0aW5zLikxMTEwCi0zNTc0IHkgRnMoZW5hYmxlZCkxNDQgYiBGdChOYW1lcykzMSBiKG9mKWcoZW5hYmxlZClmKHNoZWxsKWcoYnVpbHRpbnMuKQotMTExMCAzNzMzIHkgRnMoZXhwb3J0KTE5MiBiIEZ0KE5hbWVzKTM0IGIob2YpZihleHApcyhvcnRlZClmKHNoZWxsKWgodikKLS01IGIoYXJpYWJsZXMuKTQ5IGIoTWEpbSh5KTM1IGIoYWxzbyllKGIpcyhlKWcoc3ApcyhlY2ktKTE1OTAKLTM4NDIgeShcMDE0ZWQpZChhcylnKGApcCBGcygtZSlwIEZ0KCcuKTExMTAgNDAwMSB5IEZzKGZpbGUpMjg4Ci1iIEZ0KEZpbGUpMzIgYihuYW1lcy4pNDAgYihNYSltKHkpMzIgYihhbHNvKWYoYilzKGUpZihzcClzKGVjaVwwMTRlZClmCi0oYXMpaShgKXAgRnMoLWYpcCBGdCgnLikxMTEwIDQxNTkgeSBGcyhmdW5jdGlvbik5NiBiCi1GdChOYW1lcykzMSBiKG9mKWcoc2hlbGwpZihmdW5jdGlvbnMuKTExMTAgNDMxNyB5IEZzKGdyb3VwKTI0MAotYiBGdChHcm91cCkzMCBiKG5hbWVzLik0MCBiKE1hKW0oeSkzMiBiKGFsc28pZihiKXMoZSlmKHNwKXMoZWNpXDAxNGVkKWcKLShhcylnKGApcCBGcygtZylwIEZ0KCcuKTExMTAgNDQ3NSB5IEZzKGhlbHB0b3BpYykxNTkwCi00NTg1IHkgRnQoSGVscCkzNyBiKHRvcGljcylnKGFzKWcoYWNjZXB0ZWQpaChiKW0oeSllKHRoZSloCi1GcyhoZWxwKWYgRnQoYnVpbHRpbilnKFwoc2VlKWgoU2VjLSkxNTkwIDQ2OTUgeSh0aW9uKTMxCi1iKDQuMilnKFtCYXNoKWcoQnVpbHRpbnNdLClnKHBhZ2UpZyg0MVwpLikxMTEwIDQ4NTMgeQotRnMoaG9zdG5hbWUpOTYgYiBGdChIb3N0bmFtZXMsKTg5IGIoYXMpNzYgYih0YWspbShlbiloKGZyb20pZih0aGUpZwotKFwwMTRsZSloKHNwKXMoZWNpXDAxNGVkKWUoYiltKHkpMTU5MCA0OTYzIHkodGhlKTU1IGIKLUZzKEhPU1RGSUxFKWUgRnQoc2hlbGwpaih2KS01IGIoYXJpYWJsZSk1NiBiKFwoc2VlKWcoU2VjdGlvbilnKDUuMiloCi0oW0Jhc2gpMTU5MCA1MDcyIHkoViktOCBiKGFyaWFibGVzXSwpMzIgYihwYWdlKWYoNjFcKS4pMTExMAotNTIzMCB5IEZzKGpvYikzMzYgYiBGdChKb2IpMzEgYihuYW1lcywpaChpZilnKGpvYilmKGNvbiltKHRyb2wpaShpcylmCi0oYWN0aXYpbShlLik0NiBiKE1hKW0oeSkzMyBiKGFsc28pZyhiKXMoZSllKHNwKXMoZWNpLSkxNTkwCi01MzQwIHkoXDAxNGVkKWYoYXMpZyhgKXAgRnMoLWopcCBGdCgnLilwIGVvcCBlbmQKKyhlY2lcMDE0ZWQpZihhcylpKGApcCBGcygtYylwIEZ0KCcuKXAgZW9wIGVuZAogJSVQYWdlOiAxMTkgMTI1CiBUZVhEaWN0IGJlZ2luIDExOSAxMjQgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDg6KTQxCi1iKENvbW1hbmQpMjkgYihMaW5lKWkoRWRpdGluZykyMDYyIGIoMTE5KTExMTAgMjk5IHkgRnMoa2V5d29yZCkxNDQKK2IoQ29tbWFuZCkyOSBiKExpbmUpaShFZGl0aW5nKTIwNjIgYigxMTkpMTExMCAyOTkgeSBGcyhkaXJlY3RvcnkpMTU5MAorNDA4IHkgRnQoRGlyZWN0b3J5KTMyIGIobmFtZXMuKTQwIGIoTWEpbSh5KTMyIGIoYWxzbylmKGIpcyhlKWYoc3ApcworKGVjaVwwMTRlZClnKGFzKWcoYClwIEZzKC1kKXAgRnQoJy4pMTExMCA1NzMgeSBGcyhkaXNhYmxlZCk5NgorYiBGdChOYW1lcykzMSBiKG9mKWcoZGlzYWJsZWQpZihzaGVsbClnKGJ1aWx0aW5zLikxMTEwCis3MzcgeSBGcyhlbmFibGVkKTE0NCBiIEZ0KE5hbWVzKTMxIGIob2YpZyhlbmFibGVkKWYoc2hlbGwpZyhidWlsdGlucy4pCisxMTEwIDkwMiB5IEZzKGV4cG9ydCkxOTIgYiBGdChOYW1lcykzNCBiKG9mKWYoZXhwKXMob3J0ZWQpZihzaGVsbCloKHYpCistNSBiKGFyaWFibGVzLik0OSBiKE1hKW0oeSkzNSBiKGFsc28pZShiKXMoZSlnKHNwKXMoZWNpLSkxNTkwCisxMDExIHkoXDAxNGVkKWQoYXMpZyhgKXAgRnMoLWUpcCBGdCgnLikxMTEwIDExNzYgeSBGcyhmaWxlKTI4OAorYiBGdChGaWxlKTMyIGIobmFtZXMuKTQwIGIoTWEpbSh5KTMyIGIoYWxzbylmKGIpcyhlKWYoc3ApcyhlY2lcMDE0ZWQpZgorKGFzKWkoYClwIEZzKC1mKXAgRnQoJy4pMTExMCAxMzQwIHkgRnMoZnVuY3Rpb24pOTYgYgorRnQoTmFtZXMpMzEgYihvZilnKHNoZWxsKWYoZnVuY3Rpb25zLikxMTEwIDE1MDQgeSBGcyhncm91cCkyNDAKK2IgRnQoR3JvdXApMzAgYihuYW1lcy4pNDAgYihNYSltKHkpMzIgYihhbHNvKWYoYilzKGUpZihzcClzKGVjaVwwMTRlZClnCisoYXMpZyhgKXAgRnMoLWcpcCBGdCgnLikxMTEwIDE2NjkgeSBGcyhoZWxwdG9waWMpMTU5MAorMTc3OCB5IEZ0KEhlbHApMzcgYih0b3BpY3MpZyhhcylnKGFjY2VwdGVkKWgoYiltKHkpZSh0aGUpaAorRnMoaGVscClmIEZ0KGJ1aWx0aW4pZyhcKHNlZSloKFNlYy0pMTU5MCAxODg4IHkodGlvbikzMQorYig0LjIpZyhbQmFzaClnKEJ1aWx0aW5zXSwpZyhwYWdlKWcoNDFcKS4pMTExMCAyMDUyIHkKK0ZzKGhvc3RuYW1lKTk2IGIgRnQoSG9zdG5hbWVzLCk4OSBiKGFzKTc2IGIodGFrKW0oZW4paChmcm9tKWYodGhlKWcKKyhcMDE0bGUpaChzcClzKGVjaVwwMTRlZCllKGIpbSh5KTE1OTAgMjE2MiB5KHRoZSk1NSBiCitGcyhIT1NURklMRSllIEZ0KHNoZWxsKWoodiktNSBiKGFyaWFibGUpNTYgYihcKHNlZSlnKFNlY3Rpb24pZyg1LjIpaAorKFtCYXNoKTE1OTAgMjI3MSB5KFYpLTggYihhcmlhYmxlc10sKTMyIGIocGFnZSlmKDYxXCkuKTExMTAKKzI0MzYgeSBGcyhqb2IpMzM2IGIgRnQoSm9iKTMxIGIobmFtZXMsKWgoaWYpZyhqb2IpZihjb24pbSh0cm9sKWkoaXMpZgorKGFjdGl2KW0oZS4pNDYgYihNYSltKHkpMzMgYihhbHNvKWcoYilzKGUpZShzcClzKGVjaS0pMTU5MAorMjU0NSB5KFwwMTRlZClmKGFzKWcoYClwIEZzKC1qKXAgRnQoJy4pMTExMCAyNzEwIHkgRnMoa2V5d29yZCkxNDQKIGIgRnQoU2hlbGwpMzAgYihyZXNlcnYpbShlZCloKHcpbShvcmRzLik0MCBiKE1hKW0oeSkzMgogYihhbHNvKWYoYilzKGUpZihzcClzKGVjaVwwMTRlZClmKGFzKWkoYClwIEZzKC1rKXAgRnQoJy4pMTExMAotNDY3IHkgRnMocnVubmluZykxNDQgYiBGdChOYW1lcykzMSBiKG9mKWcocnVubmluZylkKGpvYnMsKWkoaWYpaChqb2IpZgotKGNvbiltKHRyb2wpaChpcylnKGFjdGl2KW0oZS4pMTExMCA2MzUgeSBGcyhzZXJ2aWNlKTE0NAorMjg3NCB5IEZzKHJ1bm5pbmcpMTQ0IGIgRnQoTmFtZXMpMzEgYihvZilnKHJ1bm5pbmcpZChqb2JzLClpKGlmKWgoam9iKWYKKyhjb24pbSh0cm9sKWgoaXMpZyhhY3RpdiltKGUuKTExMTAgMzAzOSB5IEZzKHNlcnZpY2UpMTQ0CiBiIEZ0KFNlcnZpY2UpMzEgYihuYW1lcy4pNDEgYihNYSltKHkpMzEgYihhbHNvKWcoYilzKGUpZihzcClzCi0oZWNpXDAxNGVkKWcoYXMpZyhgKXAgRnMoLXMpcCBGdCgnLikxMTEwIDgwMyB5IEZzKHNldG9wdCkxOTIKKyhlY2lcMDE0ZWQpZyhhcylnKGApcCBGcygtcylwIEZ0KCcuKTExMTAgMzIwMyB5IEZzKHNldG9wdCkxOTIKIGIgRnQoViktOCBiKGFsaWQpMzQgYihhcmd1bWVuKW0odHMpZihmb3IpZih0aGUpaChgKXAKIEZzKC1vKXAgRnQoJylnKG9wdGlvbilnKHRvKWgodGhlKWYgRnMoc2V0KWUgRnQoYnVpbHRpbikxNTkwCi05MTMgeShcKHNlZSlnKFNlY3Rpb24paCg0LjMuMSlnKFtUaGUpZShTZXQpZyhCdWlsdGluXSwpaShwYWdlKWYoNTFcKS4pCi0xMTEwIDEwODEgeSBGcyhzaG9wdCkyNDAgYiBGdChTaGVsbCk0MCBiKG9wdGlvbilnKG5hbWVzKWcoYXMpZworMzMxMyB5KFwoc2VlKWcoU2VjdGlvbiloKDQuMy4xKWcoW1RoZSllKFNldClnKEJ1aWx0aW5dLClpKHBhZ2UpZig1MVwpLikKKzExMTAgMzQ3NyB5IEZzKHNob3B0KTI0MCBiIEZ0KFNoZWxsKTQwIGIob3B0aW9uKWcobmFtZXMpZyhhcylnCiAoYWNjZXB0ZWQpaShiKW0oeSllKHRoZSlnIEZzKHNob3B0KWUgRnQoYnVpbHRpbikxNTkwCi0xMTkwIHkoXChzZWUpMzEgYihTZWN0aW9uKWgoNC4yKWYoW0Jhc2gpZyhCdWlsdGluc10sKWcocGFnZSlnKDQxXCkuKQotMTExMCAxMzU4IHkgRnMoc2lnbmFsKTE5MiBiIEZ0KFNpZ25hbCkzMSBiKG5hbWVzLikxMTEwCi0xNTI2IHkgRnMoc3RvcHBlZCkxNDQgYiBGdChOYW1lcykzMSBiKG9mKWcoc3RvcHApcyhlZCllKGpvYnMsKWgoaWYpZwotKGpvYilnKGNvbiltKHRyb2wpaShpcylmKGFjdGl2KW0oZS4pMTExMCAxNjk0IHkgRnModXNlcikyODgKKzM1ODcgeShcKHNlZSkzMSBiKFNlY3Rpb24paCg0LjIpZihbQmFzaClnKEJ1aWx0aW5zXSwpZyhwYWdlKWcoNDFcKS4pCisxMTEwIDM3NTEgeSBGcyhzaWduYWwpMTkyIGIgRnQoU2lnbmFsKTMxIGIobmFtZXMuKTExMTAKKzM5MTUgeSBGcyhzdG9wcGVkKTE0NCBiIEZ0KE5hbWVzKTMxIGIob2YpZyhzdG9wcClzKGVkKWUoam9icywpaChpZilnCisoam9iKWcoY29uKW0odHJvbClpKGlzKWYoYWN0aXYpbShlLikxMTEwIDQwODAgeSBGcyh1c2VyKTI4OAogYiBGdChVc2VyKTMwIGIobmFtZXMuKTQxIGIoTWEpbSh5KTMyIGIoYWxzbylmKGIpcyhlKWYoc3ApcyhlY2lcMDE0ZWQpZgotKGFzKWkoYClwIEZzKC11KXAgRnQoJy4pMTExMCAxODYyIHkgRnModmFyaWFibGUpOTYgYgorKGFzKWkoYClwIEZzKC11KXAgRnQoJy4pMTExMCA0MjQ0IHkgRnModmFyaWFibGUpOTYgYgogRnQoTmFtZXMpMzYgYihvZilnKGFsbClnKHNoZWxsKWcodiktNSBiKGFyaWFibGVzLik1NgogYihNYSltKHkpMzcgYihhbHNvKWYoYilzKGUpZihzcClzKGVjaVwwMTRlZClnKGFzKTE1OTAKLTE5NzIgeShgKXAgRnMoLXYpcCBGdCgnLik2MzAgMjE0MCB5IEZzKC1HKTMwIGIgRmooZ2xvYnBhdCkxMTEwCi0yMjUwIHkgRnQoVGhlKTM5IGIoXDAxNGxlbmFtZSloKGV4cGFuc2lvbilnKHBhdHRlcm4pZwotRnEoZ2xvYnBhdClqIEZ0KGlzKWQoZXhwYW5kZWQpZih0byloKGdlbmVyYXRlKTExMTAgMjM1OQoteSh0aGUpMzEgYihwKXMob3NzaWJsZSllKGNvbXBsZXRpb25zLik2MzAgMjUyNyB5IEZzKC1XKWgKLUZqKHdvcmRsaXN0KTExMTAgMjYzNyB5IEZ0KFRoZSkyNCBiIEZxKHcpbShvcmRsaXN0KWsKKzQzNTQgeShgKXAgRnMoLXYpcCBGdCgnLik2MzAgNDUxOCB5IEZzKC1HKTMwIGIgRmkoZ2xvYnBhdCkxMTEwCis0NjI4IHkgRnQoVGhlKTM5IGIoXDAxNGxlbmFtZSloKGV4cGFuc2lvbilnKHBhdHRlcm4pZworRnEoZ2xvYnBhdClqIEZ0KGlzKWQoZXhwYW5kZWQpZih0byloKGdlbmVyYXRlKTExMTAgNDczNworeSh0aGUpMzEgYihwKXMob3NzaWJsZSllKGNvbXBsZXRpb25zLik2MzAgNDkwMiB5IEZzKC1XKWgKK0ZpKHdvcmRsaXN0KTExMTAgNTAxMSB5IEZ0KFRoZSkyNCBiIEZxKHcpbShvcmRsaXN0KWsKIEZ0KGlzKWQoc3BsaXQpZyh1c2luZylmKHRoZSloKGMpbShoYXJhY3RlcnMpaShpbilkKHRoZSlpCi1GcyhJRlMpZSBGdChzcClzKGVjaWFsKWgodiktNSBiKGFyaWFibGUpMTExMCAyNzQ2IHkoYXMpMzYKK0ZzKElGUyllIEZ0KHNwKXMoZWNpYWwpaCh2KS01IGIoYXJpYWJsZSkxMTEwIDUxMjEgeShhcykzNgogYihkZWxpbWl0ZXJzLClpKGFuZCllKGVhYyltKGgpaChyZXN1bHRhbiltKHQpZyh3KW0ob3JkKWUoaXMpaAotKGV4cGFuZGVkLik1NyBiKFRoZSkzNSBiKHApcyhvc3NpYmxlKTExMTAgMjg1NiB5KGNvbXBsZXRpb25zKWMoYXJlKWUKKyhleHBhbmRlZC4pNTcgYihUaGUpMzUgYihwKXMob3NzaWJsZSkxMTEwIDUyMzAgeShjb21wbGV0aW9ucyljKGFyZSllCiAodGhlKWgobWVtKW0oYilzKGVycylmKG9mKWcodGhlKWgocmVzdWx0YW4pbSh0KWcobGlzdClnKHdoaWMpbShoKWYKLShtYXRjKW0oaClpKHRoZSkxMTEwIDI5NjYgeSh3KW0ob3JkKWYoYilzKGVpbmcpZyhjb21wbGV0ZWQuKTYzMAotMzEzNCB5IEZzKC1DKWcgRmooY29tbWFuZCkxMTEwIDMyNDMgeSBGcShjb21tYW5kKTM1IGIKLUZ0KGlzKWUoZXhlY3V0ZWQpZyhpbillKGEpaShzdWJzaGVsbCllKGVuKW0odmlyb25tZW4pbSh0LClpKGFuZClmKGl0cylnCi0ob3V0cHV0KWcoaXMpMTExMCAzMzUzIHkodXNlZCllKGFzKWcodGhlKWgocClzKG9zc2libGUpZihjb21wbGV0aW9ucy4pCi02MzAgMzUyMSB5IEZzKC1GKWcgRmooZnVuY3Rpb24pMTExMCAzNjMwIHkgRnQoVGhlKTI1Ci1iKHNoZWxsKWkoZnVuY3Rpb24pZSBGcShmdW5jdGlvbiloIEZ0KGlzKWcoZXhlY3V0ZWQpaChpbillKHRoZSlpCi0oY3VycmVuKW0odCllKHNoZWxsKWkoZW4pbSh2aXJvbi0pMTExMCAzNzQwIHkobWVuKW0odC4pNDAKLWIoV2hlbikyNSBiKGl0KWgoXDAxNG5pc2hlcywpZih0aGUpaChwKXMob3NzaWJsZSlmKGNvbXBsZXRpb25zKWgoYXJlKWcKLShyZXRyaWV2KW0oZWQpZyhmcm9tKTExMTAgMzg1MCB5KHRoZSkzMSBiKHYpLTUgYihhbHVlKTMwCi1iKG9mKWgodGhlKWcgRnMoQ09NUFJFUExZKWMgRnQoYXJyYSltKHkpayh2KS01IGIoYXJpYWJsZS4pNjMwCi00MDE4IHkgRnMoLVgpMzAgYiBGaihmaWx0ZXJwYXQpMTExMCA0MTI3IHkgRnEoXDAxNGx0ZXJwYXQpZAotRnQoaXMpZShhKWcocGF0dGVybilnKGFzKWYodXNlZClnKGZvciloKFwwMTRsZW5hbWUpZyhleHBhbnNpb24uKTM4Ci1iKEl0KTI1IGIoaXMpZyhhcHBsaWVkKWYodG8pMTExMCA0MjM3IHkodGhlKTMwIGIobGlzdClmKG9mKWgocClzCi0ob3NzaWJsZSlmKGNvbXBsZXRpb25zKWgoZ2VuZXJhdGVkKWgoYiltKHkpZSh0aGUpZyhwcmVjZWRpbmcpaChvcHRpb25zKQotMTExMCA0MzQ2IHkoYW5kKWQoYXJndW1lbiltKHRzLClpKGFuZCllKGVhYyltKGgpaShjb21wbGV0aW9uKWcobWF0YyltCi0oaGluZylnIEZxKFwwMTRsdGVycGF0KWggRnQoaXMpZShyZW1vKW0odiltKGVkKTExMTAgNDQ1NgoteShmcm9tKWkodGhlKWgobGlzdC4pNDIgYihBKTMwIGIobGVhZGluZylpKGApcCBGcyghKXAKLUZ0KCcpZShpbilnIEZxKFwwMTRsdGVycGF0KWogRnQobmVnYXRlcylmKHRoZSlmKHBhdHRlcm47KWcoaW4pZih0aGlzKQotMTExMCA0NTY2IHkoY2FzZSwpaShhbiltKHkpZShjb21wbGV0aW9uKWkobm90KWYobWF0YyltKGhpbmcpZwotRnEoXDAxNGx0ZXJwYXQpaSBGdChpcylkKHJlbW8pbSh2KW0oZWQuKTYzMCA0NzM0IHkgRnMoLVApZwotRmoocHJlZml4KTExMTAgNDg0MyB5IEZxKHByZVwwMTR4KTM5IGIgRnQoaXMpMzQgYihhZGRlZClmKGF0KWkodGhlKWYoYikKLXMoZWdpbm5pbmcpZihvZilpKGVhYyltKGgpZyhwKXMob3NzaWJsZSllKGNvbXBsZXRpb24paShhZnRlcikxMTEwCi00OTUzIHkoYWxsKWMob3RoZXIpZyhvcHRpb25zKWcoaGEpbSh2KW0oZSlnKGIpcyhlZW4pZihhcHBsaWVkLik2MzAKLTUxMjEgeSBGcygtUylnIEZqKHN1ZmZpeCkxMTEwIDUyMzAgeSBGcShzdVwwMTZ4KWMgRnQoaXMpMjAKLWIoYXBwKXMoZW5kZWQpZih0bylpKGVhYyltKGgpaChwKXMob3NzaWJsZSllKGNvbXBsZXRpb24paShhZnRlcilmKGFsbClnCi0ob3RoZXIpZyhvcHRpb25zKTExMTAgNTM0MCB5KGhhKW0odiltKGUpMzIgYihiKXMoZWVuKWQoYXBwbGllZC4pcAorKG1hdGMpbShoKWkodGhlKTExMTAgNTM0MCB5KHcpbShvcmQpZihiKXMoZWluZylnKGNvbXBsZXRlZC4pcAogZW9wIGVuZAogJSVQYWdlOiAxMjAgMTI2CiBUZVhEaWN0IGJlZ2luIDEyMCAxMjUgYm9wIDE1MCAtMTE2IGEgRnQoMTIwKTI1MjcgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkoVGhlKWsocmV0dXJuKWcodiktNQotYihhbHVlKTM3IGIoaXMpZih0cnVlKWYodW5sZXNzKWgoYW4pZihpbiltKHYpLTUgYihhbGlkKTM3Ci1iKG9wdGlvbilmKGlzKWcoc3VwcGxpZWQsKWcoYW4pZyhvcHRpb24paChvdGhlcik2MzAgNDA4Ci15KHRoYW4pMzEgYihgKXAgRnMoLXApcCBGdCgnKWcob3IpZyhgKXAgRnMoLXIpcCBGdCgnKWcoaXMpZyhzdXBwbGllZClmCi0od2l0aG91dCloKGEpZyBGcShuYW1lKTM3IGIgRnQoYXJndW1lbiltKHQsKTMyIGIoYW4pZihhdHRlbXB0KWgoaXMpZgotKG1hZGUpZyh0byk2MzAgNTE4IHkocmVtbyltKHYpbShlKWgoYSllKGNvbXBsZXRpb24paShzcClzCi0oZWNpXDAxNGNhdGlvbilmKGZvcilmKGEpaCBGcShuYW1lKWsgRnQoZm9yKTMwIGIod2hpYyltKGgpZyhubylnKHNwKXMKLShlY2lcMDE0Y2F0aW9uKWgoZXhpc3RzLCk2MzAgNjI4IHkob3IpZihhbiloKGVycm9yKWYobylzKGNjdXJzKWcKLShhZGRpbmcpZyhhKWcoY29tcGxldGlvbilpKHNwKXMoZWNpXDAxNGNhdGlvbi4pMTUwIDc4NwoteSBGcyhjb21wb3B0KTg3MCA5MjIgeShjb21wb3B0KTQ2IGIoWy1vKWggRmoob3B0aW9uKTExCi1iIEZzKF0pNDUgYihbK28paSBGaihvcHRpb24pMTEgYiBGcyhdKTQ1IGIoWylwIEZqKG5hbWUpMTEKLWIgRnMoXSk2MzAgMTA1NiB5IEZ0KE1vKXMoZGlmeSkzMyBiKGNvbXBsZXRpb24paChvcHRpb25zKWcoZm9yKWYoZWFjKW0KLShoKWggRnEobmFtZSkzOSBiIEZ0KGFjY29yZGluZykzNCBiKHRvKWcodGhlKWYgRnEob3B0aW9uKXAKLUZ0KHMsKWkob3IpZShmb3IpZyh0aGUpNjMwIDExNjYgeShjdXJyZW4pbSh0bHktZXhlY3V0aW9uKTQ2Ci1iKGNvbXBsZXRpb24pZihpZilmKG5vKWYgRnEobmFtZSk1IGIgRnQocyk0NCBiKGFyZSloKHN1cHBsaWVkLik4MAotYihJZik0MyBiKG5vKWggRnEob3B0aW9uKXAgRnQocyloKGFyZSk2MzAgMTI3NSB5KGdpdiltKGVuLCkzMAotYihkaXNwbGEpbSh5KWUodGhlKWcoY29tcGxldGlvbiloKG9wdGlvbnMpZyhmb3IpZShlYWMpbShoKWkKLUZxKG5hbWUpMzQgYiBGdChvcikyNyBiKHRoZSlpKGN1cnJlbiltKHQpZShjb21wbGV0aW9uLik2MzAKLTEzODUgeShUaGUpZihwKXMob3NzaWJsZSlnKHYpLTUgYihhbHVlcykyNyBiKG9mKWYgRnEob3B0aW9uKWgKLUZ0KGFyZSlnKHRob3NlKWcodiktNSBiKGFsaWQpMjYgYihmb3IpZyh0aGUpaCBGcyhjb21wbGV0ZSlkCi1GdChidWlsdGluKWkoZGVzY3JpYilzKGVkKTYzMCAxNDk0IHkoYWIpcyhvKW0odiltKGUuKTYzMAotMTYyOSB5KFRoZSlkKHJldHVybilnKHYpLTUgYihhbHVlKTI1IGIoaXMpZih0cnVlKWcodW5sZXNzKWYoYW4paChpbiltCi0odiktNSBiKGFsaWQpMjQgYihvcHRpb24paChpcylmKHN1cHBsaWVkLClnKGFuKWcoYXR0ZW1wdCloKGlzKWYobWFkZSkKLTYzMCAxNzM4IHkodG8pMzIgYihtbylzKGRpZnkpZih0aGUpZyhvcHRpb25zKWgoZm9yKWYoYSloCi1GcShuYW1lKWsgRnQoZm9yKTMxIGIod2hpYyltKGgpZyhubylnKGNvbXBsZXRpb24paShzcClzKGVjaVwwMTRjYXRpb24pZgotKGV4aXN0cywpNjMwIDE4NDggeShvcillKGFuKWgob3V0cHV0KWYoZXJyb3IpZyhvKXMoY2N1cnMuKXAKLWVvcCBlbmQKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeSBGcygtQylmIEZpKGNvbW1hbmQpMTExMAorNDA4IHkgRnEoY29tbWFuZCkzNSBiIEZ0KGlzKWUoZXhlY3V0ZWQpZyhpbillKGEpaShzdWJzaGVsbCllKGVuKW0KKyh2aXJvbm1lbiltKHQsKWkoYW5kKWYoaXRzKWcob3V0cHV0KWcoaXMpMTExMCA1MTggeSh1c2VkKWUoYXMpZyh0aGUpaAorKHApcyhvc3NpYmxlKWYoY29tcGxldGlvbnMuKTYzMCA2NzcgeSBGcygtRilnIEZpKGZ1bmN0aW9uKTExMTAKKzc4NyB5IEZ0KFRoZSkyNSBiKHNoZWxsKWkoZnVuY3Rpb24pZSBGcShmdW5jdGlvbiloIEZ0KGlzKWcoZXhlY3V0ZWQpaAorKGluKWUodGhlKWkoY3VycmVuKW0odCllKHNoZWxsKWkoZW4pbSh2aXJvbi0pMTExMCA4OTcKK3kobWVuKW0odC4pNDAgYihXaGVuKTI1IGIoaXQpaChcMDE0bmlzaGVzLClmKHRoZSloKHApcyhvc3NpYmxlKWYKKyhjb21wbGV0aW9ucyloKGFyZSlnKHJldHJpZXYpbShlZClnKGZyb20pMTExMCAxMDA2IHkodGhlKTMxCitiKHYpLTUgYihhbHVlKTMwIGIob2YpaCh0aGUpZyBGcyhDT01QUkVQTFkpYyBGdChhcnJhKW0oeSlrKHYpLTUKK2IoYXJpYWJsZS4pNjMwIDExNjYgeSBGcygtWCkzMCBiIEZpKGZpbHRlcnBhdCkxMTEwIDEyNzUKK3kgRnEoXDAxNGx0ZXJwYXQpZCBGdChpcyllKGEpZyhwYXR0ZXJuKWcoYXMpZih1c2VkKWcoZm9yKWgoXDAxNGxlbmFtZSlnCisoZXhwYW5zaW9uLikzOCBiKEl0KTI1IGIoaXMpZyhhcHBsaWVkKWYodG8pMTExMCAxMzg1Cit5KHRoZSkzMCBiKGxpc3QpZihvZiloKHApcyhvc3NpYmxlKWYoY29tcGxldGlvbnMpaChnZW5lcmF0ZWQpaChiKW0oeSllCisodGhlKWcocHJlY2VkaW5nKWgob3B0aW9ucykxMTEwIDE0OTQgeShhbmQpZChhcmd1bWVuKW0odHMsKWkoYW5kKWUoZWFjKQorbShoKWkoY29tcGxldGlvbilnKG1hdGMpbShoaW5nKWcgRnEoXDAxNGx0ZXJwYXQpaCBGdChpcyllKHJlbW8pbSh2KW0KKyhlZCkxMTEwIDE2MDQgeShmcm9tKWkodGhlKWgobGlzdC4pNDIgYihBKTMwIGIobGVhZGluZylpKGApcAorRnMoISlwIEZ0KCcpZShpbilnIEZxKFwwMTRsdGVycGF0KWogRnQobmVnYXRlcylmKHRoZSlmKHBhdHRlcm47KWcoaW4pZgorKHRoaXMpMTExMCAxNzE0IHkoY2FzZSwpaShhbiltKHkpZShjb21wbGV0aW9uKWkobm90KWYobWF0YyltKGhpbmcpZworRnEoXDAxNGx0ZXJwYXQpaSBGdChpcylkKHJlbW8pbSh2KW0oZWQuKTYzMCAxODczIHkgRnMoLVApZworRmkocHJlZml4KTExMTAgMTk4MyB5IEZxKHByZVwwMTR4KTM5IGIgRnQoaXMpMzQgYihhZGRlZClmKGF0KWkodGhlKWYoYikKK3MoZWdpbm5pbmcpZihvZilpKGVhYyltKGgpZyhwKXMob3NzaWJsZSllKGNvbXBsZXRpb24paShhZnRlcikxMTEwCisyMDkyIHkoYWxsKWMob3RoZXIpZyhvcHRpb25zKWcoaGEpbSh2KW0oZSlnKGIpcyhlZW4pZihhcHBsaWVkLik2MzAKKzIyNTIgeSBGcygtUylnIEZpKHN1ZmZpeCkxMTEwIDIzNjEgeSBGcShzdVwwMTZ4KWMgRnQoaXMpMjAKK2IoYXBwKXMoZW5kZWQpZih0bylpKGVhYyltKGgpaChwKXMob3NzaWJsZSllKGNvbXBsZXRpb24paShhZnRlcilmKGFsbClnCisob3RoZXIpZyhvcHRpb25zKTExMTAgMjQ3MSB5KGhhKW0odiltKGUpMzIgYihiKXMoZWVuKWQoYXBwbGllZC4pNjMwCisyNjMwIHkoVGhlKTM1IGIocmV0dXJuKWcodiktNSBiKGFsdWUpMzcgYihpcylmKHRydWUpZih1bmxlc3MpaChhbilmKGluKQorbSh2KS01IGIoYWxpZCkzNyBiKG9wdGlvbilmKGlzKWcoc3VwcGxpZWQsKWcoYW4pZyhvcHRpb24paChvdGhlcik2MzAKKzI3NDAgeSh0aGFuKTMxIGIoYClwIEZzKC1wKXAgRnQoJylnKG9yKWcoYClwIEZzKC1yKXAKK0Z0KCcpZyhpcylnKHN1cHBsaWVkKWYod2l0aG91dCloKGEpZyBGcShuYW1lKTM3IGIgRnQoYXJndW1lbiltKHQsKTMyCitiKGFuKWYoYXR0ZW1wdCloKGlzKWYobWFkZSlnKHRvKTYzMCAyODQ5IHkocmVtbyltKHYpbShlKWgoYSllCisoY29tcGxldGlvbilpKHNwKXMoZWNpXDAxNGNhdGlvbilmKGZvcilmKGEpaCBGcShuYW1lKWsKK0Z0KGZvcikzMCBiKHdoaWMpbShoKWcobm8pZyhzcClzKGVjaVwwMTRjYXRpb24paChleGlzdHMsKTYzMAorMjk1OSB5KG9yKWYoYW4paChlcnJvcilmKG8pcyhjY3VycylnKGFkZGluZylnKGEpZyhjb21wbGV0aW9uKWkoc3ApcworKGVjaVwwMTRjYXRpb24uKTE1MCAzMTE4IHkgRnMoY29tcG9wdCk4NzAgMzI1MyB5KGNvbXBvcHQpNDYKK2IoWy1vKWggRmkob3B0aW9uKTExIGIgRnMoXSk0NSBiKFstREVdKWgoWytvKWggRmkob3B0aW9uKTExCitiIEZzKF0pNDYgYihbKXAgRmkobmFtZSkxMSBiIEZzKF0pNjMwIDMzODcgeSBGdChNbylzKGRpZnkpMzMKK2IoY29tcGxldGlvbiloKG9wdGlvbnMpZyhmb3IpZihlYWMpbShoKWggRnEobmFtZSkzOSBiCitGdChhY2NvcmRpbmcpMzQgYih0bylnKHRoZSlmIEZxKG9wdGlvbilwIEZ0KHMsKWkob3IpZShmb3IpZyh0aGUpNjMwCiszNDk3IHkoY3VycmVuKW0odGx5LWV4ZWN1dGlvbik0NiBiKGNvbXBsZXRpb24pZihpZilmKG5vKWYKK0ZxKG5hbWUpNSBiIEZ0KHMpNDQgYihhcmUpaChzdXBwbGllZC4pODAgYihJZik0MyBiKG5vKWgKK0ZxKG9wdGlvbilwIEZ0KHMpaChhcmUpNjMwIDM2MDYgeShnaXYpbShlbiwpMzAgYihkaXNwbGEpbSh5KWUodGhlKWcKKyhjb21wbGV0aW9uKWgob3B0aW9ucylnKGZvcillKGVhYyltKGgpaSBGcShuYW1lKTM0IGIKK0Z0KG9yKTI3IGIodGhlKWkoY3VycmVuKW0odCllKGNvbXBsZXRpb24uKTYzMCAzNzE2IHkoVGhlKWYocClzKG9zc2libGUpCitnKHYpLTUgYihhbHVlcykyNyBiKG9mKWYgRnEob3B0aW9uKWggRnQoYXJlKWcodGhvc2UpZyh2KS01CitiKGFsaWQpMjYgYihmb3IpZyh0aGUpaCBGcyhjb21wbGV0ZSlkIEZ0KGJ1aWx0aW4paShkZXNjcmliKXMoZWQpNjMwCiszODI2IHkoYWIpcyhvKW0odiltKGUuKTQwIGIoVGhlKTIzIGIoYClwIEZzKC1EKXAgRnQoJylpKG9wdGlvbilmCisoaW5kaWNhdGVzKWgodGhhdClnKHRoZSlmKHJlbWFpbmluZylnKG9wdGlvbnMpaChzaG91bGQpZShhcHBseSloKHRvKWgKKyh0aGUpNjMwIDM5MzUgeShcXGRlZmF1bHQiKTMzIGIoY29tbWFuZClmKGNvbXBsZXRpb247KWkodGhhdClmKGlzLClnCisoY29tcGxldGlvbilnKGF0dGVtcHRlZClnKG9uKWYoYSlnKGNvbW1hbmQpNjMwIDQwNDUgeShmb3IpYyh3aGljKW0oaClmCisobm8paChjb21wbGV0aW9uKWgoaGFzKWYocHJldmlvdXNseSlnKGIpcyhlZW4pZihkZVwwMTRuZWQuKTM4CitiKFRoZSkyOCBiKGApcCBGcygtRSlwIEZ0KCcpZyhvcHRpb24pZyhpbmRpY2F0ZXMpNjMwCis0MTU0IHkodGhhdCljKHRoZSlnKHJlbWFpbmluZylnKG9wdGlvbnMpZyhzaG91bGQpZShhcHBseSloKHRvKWkoXFxlbXB0KQorbSh5IilnKGNvbW1hbmQpZShjb21wbGV0aW9uOylrKHRoYXQpNjMwIDQyNjQgeShpcywpayhjb21wbGV0aW9uKWcKKyhhdHRlbXB0ZWQpaChvbillKGEpaChibGFuaylmKGxpbmUuKTYzMCA0Mzk5IHkoVGhlKWcoYClwCitGcygtRClwIEZ0KCcpZyhvcHRpb24paCh0YWspbShlcyloKHByZWNlZGVuY2UpZihvKW0odiltKGVyKWcoYClwCitGcygtRSlwIEZ0KCcuKTYzMCA0NTMzIHkoVGhlKTIzIGIocmV0dXJuKWcodiktNSBiKGFsdWUpMjUKK2IoaXMpZih0cnVlKWcodW5sZXNzKWYoYW4paChpbiltKHYpLTUgYihhbGlkKTI0IGIob3B0aW9uKWgoaXMpZgorKHN1cHBsaWVkLClnKGFuKWcoYXR0ZW1wdCloKGlzKWYobWFkZSk2MzAgNDY0MyB5KHRvKTMyCitiKG1vKXMoZGlmeSlmKHRoZSlnKG9wdGlvbnMpaChmb3IpZihhKWggRnEobmFtZSlrIEZ0KGZvcikzMQorYih3aGljKW0oaClnKG5vKWcoY29tcGxldGlvbilpKHNwKXMoZWNpXDAxNGNhdGlvbilmKGV4aXN0cywpNjMwCis0NzUyIHkob3IpZShhbiloKG91dHB1dClmKGVycm9yKWcobylzKGNjdXJzLilwIGVvcCBlbmQKICUlUGFnZTogMTIxIDEyNwotVGVYRGljdCBiZWdpbiAxMjEgMTI2IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpNDcgYig5OilpKFVzaW5nKWYKLShIaXN0b3J5KWcoSW4pbSh0ZXJhY3RpdiltKGVseSkxODY1IGIoMTIxKTE1MCAyOTkgeSBGbyg5KTgwCi1iKFVzaW5nKTUzIGIoSGlzdG9yeSlnKEluKWwodGVyYWN0aXYpbChlbHkpMjc1IDU1MiB5Ci1GdChUaGlzKTMyIGIoYyltKGhhcHRlcilpKGRlc2NyaWIpcyhlcyllKGhvKW0odyloKHRvKWgodXNlKWYodGhlKWcKLUZsKGdudSlnIEZ0KEhpc3RvcnkpaChMaWJyYXJ5KWUoaW4pbSh0ZXJhY3RpdiltKGVseSktOAotYigsKTM3IGIoZnJvbSljKGEpaCh1c2VyJ3MpMTUwIDY2MSB5KHN0YW5kcClzKG9pbiltKHQuKTc2CitUZVhEaWN0IGJlZ2luIDEyMSAxMjYgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDk6KTQxCitiKFVzaW5nKTMwIGIoSGlzdG9yeSloKEluKW0odGVyYWN0aXYpbShlbHkpMTkyNSBiKDEyMSkxNTAKKzI5OSB5IEZvKDkpODAgYihVc2luZyk1MyBiKEhpc3RvcnkpZyhJbilsKHRlcmFjdGl2KWwoZWx5KTE1MAorNTcyIHkgRnQoVGhpcyk0MiBiKGMpbShoYXB0ZXIpaChkZXNjcmliKXMoZXMpZihobyltKHcpZyh0byloKHVzZSlnKHRoZSkKK2YgRmwoZ251KWggRnQoSGlzdG9yeSlnKExpYnJhcnkpZShpbiltKHRlcmFjdGl2KW0oZWx5KS04CitiKCwpNTAgYihmcm9tKTQyIGIoYSloKHVzZXIncykxNTAgNjgxIHkoc3RhbmRwKXMob2luKW0odC4pNzYKIGIoSXQpNDIgYihzaG91bGQpZihiKXMoZSloKGNvbnNpZGVyZWQpZyhhKWcodXNlcidzKWcoZ3VpZGUuKTc2CiBiKEYpLTggYihvcik0MyBiKGluZm9ybWF0aW9uKWYob24pZyh1c2luZylnKHRoZSlnIEZsKGdudSkxNTAKLTc3MSB5IEZ0KEhpc3RvcnkpMzEgYihMaWJyYXJ5KWYoaW4pZyhvdGhlcilnKHByb2dyYW1zLClnKHNlZSloKHRoZSlnCi1GbChnbnUpZiBGdChSZWFkbGluZSloKExpYnJhcnkpZihNYW4pbSh1YWwuKTE1MCAxMDQ0Ci15IEZyKDkuMSk2OCBiKEJhc2gpNDUgYihIaXN0b3J5KWgoRiktMTEgYihhY2lsaXRpZXMpMjc1Ci0xMjk0IHkgRnQoV2hlbikzMSBiKHRoZSlnKGApcCBGcygtbylmKGhpc3RvcnkpcCBGdCgnKWcob3B0aW9uKWkodG8pZwotKHRoZSlnIEZzKHNldClmIEZ0KGJ1aWx0aW4pZyhpcylnKGVuYWJsZWQpaChcKHNlZSlnKFNlY3Rpb24pZyg0LjMuMSlpCi0oW1RoZSlkKFNldCkxNTAgMTQwNCB5KEJ1aWx0aW5dLCloKHBhZ2UpZyg1MVwpLCloKHRoZSllKHNoZWxsKWgocHJvKW0KLSh2aWRlcylmKGFjY2VzcyloKHRvKWcodGhlKWYgRnEoY29tbWFuZClnKGhpc3RvcnkpcCBGdCgsKWgodGhlKWYobGlzdCloCi0ob2YpZihjb21tYW5kcykxNTAgMTUxNCB5KHByZXZpb3VzbHkpaCh0KW0oeXApcyhlZC4pNDcKLWIoVGhlKTMzIGIodiktNSBiKGFsdWUpMzMgYihvZilmKHRoZSloIEZzKEhJU1RTSVpFKWUKLUZ0KHNoZWxsKWgodiktNSBiKGFyaWFibGUpMzQgYihpcylmKHVzZWQpZShhcylpKHRoZSlnKG4pbSh1bSltKGIpcyhlcillCi0ob2YpaShjb20tKTE1MCAxNjIzIHkobWFuZHMpaSh0bylpKHNhKW0odiltKGUpaChpbillKGEpZyhoaXN0b3J5KWgKLShsaXN0Lik1OCBiKFRoZSkzNiBiKHRleHQpaChvZilnKHRoZSlmKGxhc3QpaCBGcygkSElTVFNJWkUpZAotRnQoY29tbWFuZHMpaShcKGRlZmF1bHQpZyg1MDBcKSkxNTAgMTczMyB5KGlzKWgoc2EpbSh2KW0oZWQuKTYxCi1iKFRoZSkzNiBiKHNoZWxsKWgoc3RvcmVzKWgoZWFjKW0oaClnKGNvbW1hbmQpZShpbiloKHRoZSlnKGhpc3RvcnkpZwotKGxpc3QpZyhwcmlvcilmKHRvKWkocGFyYW1ldGVyKWYoYW5kKWYodiktNSBiKGFyaS0pMTUwCi0xODQyIHkoYWJsZSkzMyBiKGV4cGFuc2lvbilnKGJ1dClmKGFmdGVyKWgoaGlzdG9yeSlmKGV4cGFuc2lvbiloKGlzKWcKLShwKXMoZXJmb3JtZWQsKWUoc3ViKTUgYihqZWN0KTMzIGIodG8pZyh0aGUpZyh2KS01IGIoYWx1ZXMpMzMKLWIob2YpZyh0aGUpZyhzaGVsbCkxNTAgMTk1MiB5KHYpLTUgYihhcmlhYmxlcykzMSBiIEZzKEhJU1RJR05PUkUpZAotRnQoYW5kKWggRnMoSElTVENPTlRST0wpcCBGdCguKTI3NSAyMDkzIHkoV2hlbilnKHRoZSlnKHNoZWxsKWgoc3RhcnRzKWcKKzc5MSB5IEZ0KEhpc3RvcnkpMzEgYihMaWJyYXJ5KWYoaW4pZyhvdGhlcilnKHByb2dyYW1zLClnKHNlZSloKHRoZSlnCitGbChnbnUpZiBGdChSZWFkbGluZSloKExpYnJhcnkpZihNYW4pbSh1YWwuKTE1MCAxMDQyCit5IEZyKDkuMSk2OCBiKEJhc2gpNDUgYihIaXN0b3J5KWgoRiktMTEgYihhY2lsaXRpZXMpMTUwCisxMjAyIHkgRnQoV2hlbik0MCBiKHRoZSloKGApcCBGcygtbykzMCBiKGhpc3RvcnkpcCBGdCgnKTM4CitiKG9wdGlvbilqKHRvKWcodGhlKWcgRnMoc2V0KWUgRnQoYnVpbHRpbiloKGlzKWgoZW5hYmxlZClmKFwoc2VlKWgKKyhTZWN0aW9uKWcoNC4zLjEpaShbVGhlKWQoU2V0KTE1MCAxMzExIHkoQnVpbHRpbl0sKTMyCitiKHBhZ2UpZyg1MVwpLCloKHRoZSllKHNoZWxsKWgocHJvKW0odmlkZXMpZihhY2Nlc3MpaCh0bylnKHRoZSlmCitGcShjb21tYW5kKWcoaGlzdG9yeSlwIEZ0KCwpaCh0aGUpZihsaXN0KWgob2YpZihjb21tYW5kcykxNTAKKzE0MjEgeShwcmV2aW91c2x5KWgodCltKHlwKXMoZWQuKTQ3IGIoVGhlKTMzIGIodiktNSBiKGFsdWUpMzMKK2Iob2YpZih0aGUpaCBGcyhISVNUU0laRSllIEZ0KHNoZWxsKWgodiktNSBiKGFyaWFibGUpMzQKK2IoaXMpZih1c2VkKWUoYXMpaSh0aGUpZyhuKW0odW0pbShiKXMoZXIpZShvZilpKGNvbS0pMTUwCisxNTMxIHkobWFuZHMpaSh0bylpKHNhKW0odiltKGUpaChpbillKGEpZyhoaXN0b3J5KWgobGlzdC4pNTgKK2IoVGhlKTM2IGIodGV4dCloKG9mKWcodGhlKWYobGFzdCloIEZzKCRISVNUU0laRSlkIEZ0KGNvbW1hbmRzKWkKKyhcKGRlZmF1bHQpZyg1MDBcKSkxNTAgMTY0MCB5KGlzKWgoc2EpbSh2KW0oZWQuKTYxIGIoVGhlKTM2CitiKHNoZWxsKWgoc3RvcmVzKWgoZWFjKW0oaClnKGNvbW1hbmQpZShpbiloKHRoZSlnKGhpc3RvcnkpZyhsaXN0KWcKKyhwcmlvcilmKHRvKWkocGFyYW1ldGVyKWYoYW5kKWYodiktNSBiKGFyaS0pMTUwIDE3NTAKK3koYWJsZSkzMyBiKGV4cGFuc2lvbilnKGJ1dClmKGFmdGVyKWgoaGlzdG9yeSlmKGV4cGFuc2lvbiloKGlzKWcocClzCisoZXJmb3JtZWQsKWUoc3ViKTUgYihqZWN0KTMzIGIodG8pZyh0aGUpZyh2KS01IGIoYWx1ZXMpMzMKK2Iob2YpZyh0aGUpZyhzaGVsbCkxNTAgMTg1OSB5KHYpLTUgYihhcmlhYmxlcykzMSBiIEZzKEhJU1RJR05PUkUpZAorRnQoYW5kKWggRnMoSElTVENPTlRST0wpcCBGdCguKTI3NSAyMDA3IHkoV2hlbilnKHRoZSlnKHNoZWxsKWgoc3RhcnRzKWcKICh1cCwpZih0aGUpaChoaXN0b3J5KWYoaXMpaChpbml0aWFsaXplZCloKGZyb20pZSh0aGUpaChcMDE0bGUpZihuYW1lZClnCi0oYiltKHkpaCh0aGUpZiBGcyhISVNURklMRSkxNTAgMjIwMiB5IEZ0KHYpLTUgYihhcmlhYmxlKTIxCisoYiltKHkpaCh0aGUpZiBGcyhISVNURklMRSkxNTAgMjExNiB5IEZ0KHYpLTUgYihhcmlhYmxlKTIxCiBiKFwoZGVmYXVsdCloKGApcCBGcyh+Ly5iYXNoX2hpc3RvcnkpcCBGdCgnXCkuKTM0IGIoVGhlKTIwCiBiKFwwMTRsZSloKG5hbWVkKWYoYiltKHkpaCh0aGUpZyh2KS01IGIoYWx1ZSkyMSBiKG9mKWcKLUZzKEhJU1RGSUxFKWQgRnQoaXMpaih0cnVuY2F0ZWQsKTE1MCAyMzEyIHkoaWYpNDIgYihuZWNlc3NhcnkpLTgKK0ZzKEhJU1RGSUxFKWQgRnQoaXMpaih0cnVuY2F0ZWQsKTE1MCAyMjI2IHkoaWYpNDIgYihuZWNlc3NhcnkpLTgKIGIoLCk0NSBiKHRvKWUoY29uKW0odGFpbilnKG5vKWYobW9yZSlnKHRoYW4pZih0aGUpaChuKW0odW0pbShiKXMoZXIpZgogKG9mKWgobGluZXMpZyhzcClzKGVjaVwwMTRlZClmKGIpbSh5KWgodGhlKWcodiktNSBiKGFsdWUpNDIKLWIob2YpZyh0aGUpMTUwIDI0MjIgeSBGcyhISVNURklMRVNJWkUpMjEgYiBGdCh2KS01IGIoYXJpYWJsZS4pNDAKK2Iob2YpZyh0aGUpMTUwIDIzMzYgeSBGcyhISVNURklMRVNJWkUpMjEgYiBGdCh2KS01IGIoYXJpYWJsZS4pNDAKIGIoV2hlbikyNCBiKGFuKWcoaW4pbSh0ZXJhY3RpdiltKGUpaihzaGVsbCllKGV4aXRzLCloKHRoZSlmKGxhc3QpZwotRnMoJEhJU1RTSVpFKWQgRnQobGluZXMpaihhcmUpZihjb3BpZWQpMTUwIDI1MzEgeShmcm9tKTI5CitGcygkSElTVFNJWkUpZCBGdChsaW5lcylqKGFyZSlmKGNvcGllZCkxNTAgMjQ0NSB5KGZyb20pMjkKIGIodGhlKWkoaGlzdG9yeSllKGxpc3QpaSh0bylnKHRoZSlmKFwwMTRsZSlnKG5hbWVkKWYoYiltKHkpaAogRnMoJEhJU1RGSUxFKXAgRnQoLikzOCBiKElmKTMwIGIodGhlKWcgRnMoaGlzdGFwcGVuZClkCi1GdChzaGVsbClqKG9wdGlvbilnKGlzKWcoc2V0KTE1MCAyNjQxIHkoXChzZWUpMjIgYihTZWN0aW9uKWcoNC4yKWcKK0Z0KHNoZWxsKWoob3B0aW9uKWcoaXMpZyhzZXQpMTUwIDI1NTUgeShcKHNlZSkyMiBiKFNlY3Rpb24pZyg0LjIpZwogKFtCYXNoKWcoQnVpbHRpbnNdLCloKHBhZ2UpZig0MVwpLClqKHRoZSljKGxpbmVzKWcoYXJlKWgoYXBwKXMoZW5kZWQpZAotKHRvKWoodGhlKWYoaGlzdG9yeSlnKFwwMTRsZSwpaihvdGhlcndpc2UpMTUwIDI3NTAgeSh0aGUpMzIKKyh0bylqKHRoZSlmKGhpc3RvcnkpZyhcMDE0bGUsKWoob3RoZXJ3aXNlKTE1MCAyNjY0IHkodGhlKTMyCiBiKGhpc3RvcnkpZihcMDE0bGUpZyhpcyloKG8pbSh2KW0oZXJ3cml0dGVuLik0NSBiKElmKTMxCiBiIEZzKEhJU1RGSUxFKWUgRnQoaXMpaih1bnNldCwpZihvciloKGlmKWYodGhlKWgoaGlzdG9yeSlmKFwwMTRsZSlnKGlzKQotaCh1biltKHdyaXRhYmxlLClnKHRoZSkxNTAgMjg2MCB5KGhpc3RvcnkpMzcgYihpcyloKG5vdClmKHNhKW0odiltKGVkLikKK2godW4pbSh3cml0YWJsZSwpZyh0aGUpMTUwIDI3NzQgeShoaXN0b3J5KTM3IGIoaXMpaChub3QpZihzYSltKHYpbShlZC4pCiA2MyBiKEFmdGVyKTM4IGIoc2EpbSh2aW5nKWcodGhlKWYoaGlzdG9yeSktOCBiKCwpNDAgYih0aGUpZShoaXN0b3J5KWYKLShcMDE0bGUpZyhpcyloKHRydW5jYXRlZClmKHRvKWgoY29uKW0odGFpbiloKG5vKTE1MCAyOTcwCisoXDAxNGxlKWcoaXMpaCh0cnVuY2F0ZWQpZih0byloKGNvbiltKHRhaW4paChubykxNTAgMjg4MwogeShtb3JlKTMxIGIodGhhbilmIEZzKCRISVNURklMRVNJWkUpYyBGdChsaW5lcy4pNDEgYihJZikzMAogYiBGcyhISVNURklMRVNJWkUpZCBGdChpcylrKG5vdClmKHNldCwpaChubylnKHRydW5jYXRpb24pZihpcyloKHApcwotKGVyZm9ybWVkLikyNzUgMzExMCB5KElmKWcodGhlKWggRnMoSElTVFRJTUVGT1JNQVQpZAorKGVyZm9ybWVkLikyNzUgMzAzMSB5KElmKWcodGhlKWggRnMoSElTVFRJTUVGT1JNQVQpZAogRnQoaXMpaihzZXQsKWgodGhlKWYodGltZSloKHN0YW1wKWYoaW5mb3JtYXRpb24pZyhhc3NvKXMoY2lhdGVkKWkod2l0aCkKLWUoZWFjKW0oaCloKGhpc3RvcnkpMTUwIDMyMjAgeShlbiltKHRyeSlkKGlzKWgod3JpdHRlbilmKHRvKWgodGhlKWYKK2UoZWFjKW0oaCloKGhpc3RvcnkpMTUwIDMxNDAgeShlbiltKHRyeSlkKGlzKWgod3JpdHRlbilmKHRvKWgodGhlKWYKIChoaXN0b3J5KWgoXDAxNGxlLClmKG1hcmspbShlZCloKHdpdGgpZih0aGUpZyhoaXN0b3J5KWcoY29tbWVuKW0odCloKGMpCi1tKGhhcmFjdGVyLik0MyBiKFdoZW4pMzAgYih0aGUpMTUwIDMzMjkgeShoaXN0b3J5KTIyCittKGhhcmFjdGVyLik0MyBiKFdoZW4pMzAgYih0aGUpMTUwIDMyNTAgeShoaXN0b3J5KTIyCiBiKFwwMTRsZSloKGlzKWcocmVhZCwpaChsaW5lcylmKGIpcyhlZ2lubmluZyllKHdpdGgpaSh0aGUpZihoaXN0b3J5KWgKIChjb21tZW4pbSh0KWcoYyltKGhhcmFjdGVyKWgoZm9sbG8pbSh3KW0oZWQpaChpbW1lZGlhdGVseSkxNTAKLTM0MzkgeShiKW0oeSkzMCBiKGEpaChkaWdpdClnKGFyZSlnKGluKW0odGVycHJldGVkKWcoYXMpZih0aW1lc3RhbXBzKWgKLShmb3IpZih0aGUpaChwcmV2aW91cylmKGhpc3RvcnkpZyhsaW5lLikyNzUgMzU4MCB5KFRoZSkxOQorMzM2MCB5KGIpbSh5KTMwIGIoYSloKGRpZ2l0KWcoYXJlKWcoaW4pbSh0ZXJwcmV0ZWQpZyhhcylmKHRpbWVzdGFtcHMpaAorKGZvcilmKHRoZSloKHByZXZpb3VzKWYoaGlzdG9yeSlnKGxpbmUuKTI3NSAzNTA3IHkoVGhlKTE5CiBiKGJ1aWx0aW4paChjb21tYW5kKWcgRnMoZmMpZyBGdChtYSltKHkpaChiKXMoZSlmKHVzZWQpZih0bylpKGxpc3QpZwogKG9yKWcoZWRpdClnKGFuZCllKHJlLWV4ZWN1dGUpaihhKWYocClzKG9ydGlvbilmKG9mKWcodGhlKWgoaGlzdG9yeSkxNTAKLTM2ODkgeShsaXN0Lik0MSBiKFRoZSkyNyBiIEZzKGhpc3RvcnkpZiBGdChidWlsdGluKWkobWEpbSh5KWgoYilzKGUpZQorMzYxNyB5KGxpc3QuKTQxIGIoVGhlKTI3IGIgRnMoaGlzdG9yeSlmIEZ0KGJ1aWx0aW4paShtYSltKHkpaChiKXMoZSllCiAodXNlZClnKHRvKWkoZGlzcGxhKW0oeSlnKG9yKWYobW8pcyhkaWZ5KWYodGhlKWgoaGlzdG9yeSlnKGxpc3QpaChhbmQpZgotKG1hbmlwdWxhdGUpMTUwIDM3OTkgeSh0aGUpaihoaXN0b3J5KWcoXDAxNGxlLik0MiBiKFdoZW4pMzEKKyhtYW5pcHVsYXRlKTE1MCAzNzI2IHkodGhlKWooaGlzdG9yeSlnKFwwMTRsZS4pNDIgYihXaGVuKTMxCiBiKHVzaW5nKWYoY29tbWFuZC1saW5lKWgoZWRpdGluZywpaChzZWFyYyltKGgpZihjb21tYW5kcylnKGFyZSlnKGEpbSh2KQotLTUgYihhaWxhYmxlKTMzIGIoaW4pZShlYWMpbShoKTE1MCAzOTA5IHkoZWRpdGluZyk0NQorLTUgYihhaWxhYmxlKTMzIGIoaW4pZShlYWMpbShoKTE1MCAzODM2IHkoZWRpdGluZyk0NQogYihtbylzKGRlKWcodGhhdClnKHBybyltKHZpZGUpZyhhY2Nlc3MpaCh0bylmKHRoZSlnKGhpc3RvcnkpZihsaXN0KWkKIChcKHNlZSlmKFNlY3Rpb24paCg4LjQuMilnKFtDb21tYW5kcyllKEYpLTggYihvcikxNTAKLTQwMTggeShIaXN0b3J5XSwpMzEgYihwYWdlKWgoMTA3XCkuKTI3NSA0MTU5IHkoVGhlKTQ3CiszOTQ1IHkoSGlzdG9yeV0sKTMxIGIocGFnZSloKDEwN1wpLikyNzUgNDA5MyB5KFRoZSk0NwogYihzaGVsbClpKGFsbG8pbSh3cyloKGNvbiltKHRyb2wpZihvKW0odiltKGVyKWgod2hpYyltKGgpZShjb21tYW5kcylnCiAoYXJlKWgoc2EpbSh2KW0oZWQpZyhvbilmKHRoZSloKGhpc3RvcnkpZihsaXN0Lik5NSBiKFRoZSkxNTAKLTQyNjkgeSBGcyhISVNUQ09OVFJPTCkyNSBiIEZ0KGFuZClqIEZzKEhJU1RJR05PUkUpZSBGdCh2KS01Cis0MjAyIHkgRnMoSElTVENPTlRST0wpMjUgYiBGdChhbmQpaiBGcyhISVNUSUdOT1JFKWUgRnQodiktNQogYihhcmlhYmxlcykyOSBiKG1hKW0oeSloKGIpcyhlKWQoc2V0KWoodG8pZihjYXVzZSlnKHRoZSlnKHNoZWxsKWYodG8paQotKHNhKW0odiltKGUpZyhvbmx5KWYoYSlnKHN1YnNldCkxNTAgNDM3OCB5KG9mKWUodGhlKWcoY29tbWFuZHMpZihlbiltCisoc2EpbSh2KW0oZSlnKG9ubHkpZihhKWcoc3Vic2V0KTE1MCA0MzEyIHkob2YpZSh0aGUpZyhjb21tYW5kcylmKGVuKW0KICh0ZXJlZC4pNDAgYihUaGUpMjYgYiBGcyhjbWRoaXN0KWYgRnQoc2hlbGwpaShvcHRpb24sKWgoaWYpZihlbmFibGVkLClnCi0oY2F1c2VzKWgodGhlKWUoc2hlbGwpaCh0byloKGF0dGVtcHQpMTUwIDQ0ODggeSh0bykyMworKGNhdXNlcyloKHRoZSllKHNoZWxsKWgodG8paChhdHRlbXB0KTE1MCA0NDIxIHkodG8pMjMKIGIoc2EpbSh2KW0oZSloKGVhYyltKGgpZihsaW5lKWcob2YpZihhKWgobSltKHVsdGktbGluZSlnKGNvbW1hbmQpZihpbilnCiAodGhlKWgoc2FtZSlmKGhpc3RvcnkpZyhlbiltKHRyeSktOCBiKCwpMjUgYihhZGRpbmcpZChzZW1pY29sb25zKWgKLSh3aGVyZSkxNTAgNDU5NyB5KG5lY2Vzc2FyeSkzNyBiKHRvKWYocHJlc2VydiltKGUpaChzeW4pbSh0YWN0aWMpaAorKHdoZXJlKTE1MCA0NTMxIHkobmVjZXNzYXJ5KTM3IGIodG8pZihwcmVzZXJ2KW0oZSloKHN5biltKHRhY3RpYyloCiAoY29ycmVjdG5lc3MuKTU4IGIoVGhlKTM2IGIgRnMobGl0aGlzdCllIEZ0KHNoZWxsKWkob3B0aW9uKWgoY2F1c2VzKWcKLSh0aGUpZihzaGVsbClnKHRvKTE1MCA0NzA3IHkoc2EpbSh2KW0oZSkyNSBiKHRoZSllKGNvbW1hbmQpaCh3aXRoKWYoZW0pCisodGhlKWYoc2hlbGwpZyh0bykxNTAgNDY0MSB5KHNhKW0odiltKGUpMjUgYih0aGUpZShjb21tYW5kKWgod2l0aClmKGVtKQogbShiKXMoZWRkZWQpZihuZXdsaW5lcyloKGluc3RlYWQpaChvZilmKHNlbWljb2xvbnMuKTQwCi1iKFRoZSkyMyBiIEZzKHNob3B0KWUgRnQoYnVpbHRpbilpKGlzKWgodXNlZCkxNTAgNDgxNworYihUaGUpMjMgYiBGcyhzaG9wdCllIEZ0KGJ1aWx0aW4paShpcyloKHVzZWQpMTUwIDQ3NTAKIHkodG8pMzEgYihzZXQpZyh0aGVzZSlnKG9wdGlvbnMuKTQxIGIoU2VlKTMxIGIoU2VjdGlvbilnKDQuMilnKFtCYXNoKWcKIChCdWlsdGluc10sKWcocGFnZSlnKDQxLCloKGZvcillKGEpaChkZXNjcmlwdGlvbilmKG9mKWgKLUZzKHNob3B0KXAgRnQoLikxNTAgNTA5MCB5IEZyKDkuMik2OCBiKEJhc2gpNDUgYihIaXN0b3J5KWgoQnVpbHRpbnMpMjc1Ci01MzQwIHkgRnQoQmFzaCkzMCBiKHBybyltKHZpZGVzKWcodCltKHcpbShvKWkoYnVpbHRpbillKGNvbW1hbmRzKWcKLSh3aGljKW0oaClnKG1hbmlwdWxhdGUpaCh0aGUpZihoaXN0b3J5KWgobGlzdClnKGFuZClmKGhpc3RvcnkpZwotKFwwMTRsZS4pcCBlb3AgZW5kCitGcyhzaG9wdClwIEZ0KC4pMTUwIDUwMDIgeSBGcig5LjIpNjggYihCYXNoKTQ1IGIoSGlzdG9yeSloKEJ1aWx0aW5zKTE1MAorNTE2MSB5IEZ0KEJhc2gpMzEgYihwcm8pbSh2aWRlcylmKHQpbSh3KW0obylpKGJ1aWx0aW4pZShjb21tYW5kcylnCisod2hpYyltKGgpZyhtYW5pcHVsYXRlKWcodGhlKWgoaGlzdG9yeSlmKGxpc3QpaChhbmQpZihoaXN0b3J5KWcKKyhcMDE0bGUuKTE1MCA1MzQwIHkgRnMoZmMpcCBlb3AgZW5kCiAlJVBhZ2U6IDEyMiAxMjgKIFRlWERpY3QgYmVnaW4gMTIyIDEyNyBib3AgMTUwIC0xMTYgYSBGdCgxMjIpMjUyNyBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcyhmYyk4NzAgNDQ1IHkoZmMpNDcKLWIoWy1lKWcgRmooZW5hbWUpMTEgYiBGcyhdKTQ2IGIoWy1sbnJdKWcoWylwIEZqKGZpcnN0KTExCi1iIEZzKF0pNDUgYihbKXAgRmoobGFzdCkxMSBiIEZzKF0pODcwIDU1NSB5KGZjKTQ3IGIoLXMpZyhbKXAKLUZqKHBhdCkxMSBiIEZzKD0pcCBGaihyZXApZyBGcyhdKTQ1IGIoWylwIEZqKGNvbW1hbmQpMTEKLWIgRnMoXSk2MzAgNzAxIHkgRnQoRml4KTQxIGIoQ29tbWFuZC4pNjggYihJbikzOSBiKHRoZSlpKFwwMTRyc3QpZQotKGZvcm0sKWooYSllKHJhbmdlKWgob2YpZihjb21tYW5kcylnKGZyb20pZiBGcShcMDE0cnN0KWkKLUZ0KHRvKWcgRnEobGFzdClpIEZ0KGlzKTYzMCA4MTAgeShzZWxlY3RlZCkzNSBiKGZyb20pZSh0aGUpZyhoaXN0b3J5KWcKLShsaXN0Lik1MCBiKEJvdGgpMzQgYiBGcShcMDE0cnN0KWggRnQoYW5kKWUgRnEobGFzdClqCi1GdChtYSltKHkpZShiKXMoZSllKHNwKXMoZWNpXDAxNGVkKWgoYXMpZyhhKWgoc3RyaW5nKTYzMAotOTIwIHkoXCh0bykyNiBiKGxvKXMoY2F0ZSloKHRoZSllKG1vc3QpaChyZWNlbiltKHQpZyhjb21tYW5kKWUoYilzCi0oZWdpbm5pbmcpaCh3aXRoKWcodGhhdClnKHN0cmluZ1wpKWgob3IpZihhcylnKGEpZyhuKW0odW0pbShiKXMoZXIpNjMwCi0xMDI5IHkoXChhbilmKGluZGV4KWYoaW4pbSh0byloKHRoZSlnKGhpc3RvcnkpZyhsaXN0LCloKHdoZXJlKWUoYSloCi0obmVnYXRpdiltKGUpaShuKW0odW0pbShiKXMoZXIpYyhpcylpKHVzZWQpZihhcylnKGFuKWgob1wwMTNzZXQpZyhmcm9tKQotNjMwIDExMzkgeSh0aGUpaihjdXJyZW4pbSh0KWYoY29tbWFuZCloKG4pbSh1bSltKGIpcyhlclwpLikzOQotYihJZikyNiBiIEZxKGxhc3QpaiBGdChpcyllKG5vdClnKHNwKXMoZWNpXDAxNGVkKWYoaXQpaChpcylnKHNldClnKHRvKWgKLUZxKFwwMTRyc3QpcCBGdCguKTM5IGIoSWYpMjYgYiBGcShcMDE0cnN0KWkgRnQoaXMpNjMwCi0xMjQ5IHkobm90KWooc3ApcyhlY2lcMDE0ZWQpZihpdCloKGlzKWcoc2V0KWgodG8pZih0aGUpZyhwcmV2aW91cylmCi0oY29tbWFuZCloKGZvcilmKGVkaXRpbmcpaShhbmQpZSBGcChcMDAwKXAgRnQoMTYpaChmb3IpZyhsaXN0aW5nLik2MzAKLTEzNTggeShJZilmKHRoZSlnKGApcCBGcygtbClwIEZ0KCcpZyhcMDE1YWcpaChpcylmKGdpdiltKGVuLCloKHRoZSlnCi0oY29tbWFuZHMpZShhcmUpaShsaXN0ZWQpZyhvbilmKHN0YW5kYXJkKWYob3V0cHV0Lik0MAotYihUaGUpMzAgYihgKXAgRnMoLW4pcCBGdCgnKTYzMCAxNDY4IHkoXDAxNWFnKWkoc3VwcHJlc3NlcylmKHRoZSloCi0oY29tbWFuZClnKG4pbSh1bSltKGIpcyhlcnMpZSh3aGVuKWkobGlzdGluZy4pNDYgYihUaGUpMzIKLWIoYClwIEZzKC1yKXAgRnQoJylnKFwwMTVhZylnKHJldiltKGVyc2VzKWgodGhlKTYzMCAxNTc3Ci15KG9yZGVyKWcob2YpZyh0aGUpaChsaXN0aW5nLik1MCBiKE90aGVyd2lzZSwpMzQgYih0aGUpZihlZGl0b3IpaChnaXYpbQotKGVuKWcoYiltKHkpZiBGcShlbmFtZSkzOSBiIEZ0KGlzKTMzIGIoaW4pbSh2KW0ob2spbShlZClpKG9uKWUoYSloCi0oXDAxNGxlKTYzMCAxNjg3IHkoY29uKW0odGFpbmluZylpKHRob3NlKWYoY29tbWFuZHMuKTUyCi1iKElmKTMzIGIgRnEoZW5hbWUpNDAgYiBGdChpcykzNCBiKG5vdCloKGdpdiltKGVuLCloKHRoZSlmKHYpLTUKLWIoYWx1ZSkzNSBiKG9mKWYodGhlKWcoZm9sbG8pbSh3aW5nKTYzMCAxNzk3IHkodiktNSBiKGFyaWFibGUpMzMKLWIoZXhwYW5zaW9uKWUoaXMpaCh1c2VkOik0MiBiIEZzKCR7RkNFRElUOi0ke0VESVRPUjotdml9fSlwCi1GdCguKWQoVGhpcykzMSBiKHNhKW0oeXMpaCh0bylnKHVzZSlnKHRoZSk2MzAgMTkwNiB5KHYpLTUKLWIoYWx1ZSkzNCBiKG9mKWYodGhlKWggRnMoRkNFRElUKWUgRnQodiktNSBiKGFyaWFibGUpMzQKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTg3MCAyOTkgeSBGcyhmYyk0NyBiKFstZSlnIEZpKGVuYW1lKTExCitiIEZzKF0pNDYgYihbLWxucl0pZyhbKXAgRmkoZmlyc3QpMTEgYiBGcyhdKTQ1IGIoWylwCitGaShsYXN0KTExIGIgRnMoXSk4NzAgNDA4IHkoZmMpNDcgYigtcylnKFspcCBGaShwYXQpMTEKK2IgRnMoPSlwIEZpKHJlcClnIEZzKF0pNDUgYihbKXAgRmkoY29tbWFuZCkxMSBiIEZzKF0pNjMwCis1MzkgeSBGdChGaXgpNDEgYihDb21tYW5kLik2OCBiKEluKTM5IGIodGhlKWkoXDAxNHJzdCllKGZvcm0sKWooYSllCisocmFuZ2UpaChvZilmKGNvbW1hbmRzKWcoZnJvbSlmIEZxKFwwMTRyc3QpaSBGdCh0bylnCitGcShsYXN0KWkgRnQoaXMpNjMwIDY0OCB5KHNlbGVjdGVkKTM1IGIoZnJvbSllKHRoZSlnKGhpc3RvcnkpZyhsaXN0Lik1MAorYihCb3RoKTM0IGIgRnEoXDAxNHJzdCloIEZ0KGFuZCllIEZxKGxhc3QpaiBGdChtYSltKHkpZShiKXMoZSllKHNwKXMKKyhlY2lcMDE0ZWQpaChhcylnKGEpaChzdHJpbmcpNjMwIDc1OCB5KFwodG8pMjYgYihsbylzKGNhdGUpaCh0aGUpZQorKG1vc3QpaChyZWNlbiltKHQpZyhjb21tYW5kKWUoYilzKGVnaW5uaW5nKWgod2l0aClnKHRoYXQpZyhzdHJpbmdcKSloCisob3IpZihhcylnKGEpZyhuKW0odW0pbShiKXMoZXIpNjMwIDg2NyB5KFwoYW4pZihpbmRleClmKGluKW0odG8paCh0aGUpZworKGhpc3RvcnkpZyhsaXN0LCloKHdoZXJlKWUoYSloKG5lZ2F0aXYpbShlKWkobiltKHVtKW0oYilzKGVyKWMoaXMpaQorKHVzZWQpZihhcylnKGFuKWgob1wwMTNzZXQpZyhmcm9tKTYzMCA5NzcgeSh0aGUpaihjdXJyZW4pbSh0KWYoY29tbWFuZCkKK2gobiltKHVtKW0oYilzKGVyXCkuKTM4IGIoSWYpMjYgYiBGcShsYXN0KWsgRnQoaXMpYyhub3QpaChzcClzCisoZWNpXDAxNGVkKWYoaXQpaChpcylnKHNldClnKHRvKWcgRnEoXDAxNHJzdClyIEZ0KC4pMzkKK2IoSWYpMjYgYiBGcShcMDE0cnN0KWkgRnQoaXMpNjMwIDEwODcgeShub3QpaihzcClzKGVjaVwwMTRlZClmKGl0KWgoaXMpCitnKHNldCloKHRvKWYodGhlKWcocHJldmlvdXMpZihjb21tYW5kKWgoZm9yKWYoZWRpdGluZylpKGFuZCllCitGcChcMDAwKXAgRnQoMTYpaChmb3IpZyhsaXN0aW5nLik2MzAgMTE5NiB5KElmKWYodGhlKWcoYClwCitGcygtbClwIEZ0KCcpZyhcMDE1YWcpaChpcylmKGdpdiltKGVuLCloKHRoZSlnKGNvbW1hbmRzKWUoYXJlKWkobGlzdGVkKQorZyhvbilmKHN0YW5kYXJkKWYob3V0cHV0Lik0MCBiKFRoZSkzMCBiKGApcCBGcygtbilwIEZ0KCcpNjMwCisxMzA2IHkoXDAxNWFnKWkoc3VwcHJlc3NlcylmKHRoZSloKGNvbW1hbmQpZyhuKW0odW0pbShiKXMoZXJzKWUod2hlbilpCisobGlzdGluZy4pNDYgYihUaGUpMzIgYihgKXAgRnMoLXIpcCBGdCgnKWcoXDAxNWFnKWcocmV2KW0oZXJzZXMpaCh0aGUpCis2MzAgMTQxNSB5KG9yZGVyKWcob2YpZyh0aGUpaChsaXN0aW5nLik1MCBiKE90aGVyd2lzZSwpMzQKK2IodGhlKWYoZWRpdG9yKWgoZ2l2KW0oZW4pZyhiKW0oeSlmIEZxKGVuYW1lKTM5IGIgRnQoaXMpMzMKK2IoaW4pbSh2KW0ob2spbShlZClpKG9uKWUoYSloKFwwMTRsZSk2MzAgMTUyNSB5KGNvbiltKHRhaW5pbmcpaSh0aG9zZSlmCisoY29tbWFuZHMuKTUyIGIoSWYpMzMgYiBGcShlbmFtZSk0MCBiIEZ0KGlzKTM0IGIobm90KWgoZ2l2KW0oZW4sKWgodGhlKQorZih2KS01IGIoYWx1ZSkzNSBiKG9mKWYodGhlKWcoZm9sbG8pbSh3aW5nKTYzMCAxNjM0IHkodiktNQorYihhcmlhYmxlKTMzIGIoZXhwYW5zaW9uKWUoaXMpaCh1c2VkOik0MiBiIEZzKCR7RkNFRElUOi0ke0VESVRPUjotdml9fSkKK3AgRnQoLilkKFRoaXMpMzEgYihzYSltKHlzKWgodG8pZyh1c2UpZyh0aGUpNjMwIDE3NDQKK3kodiktNSBiKGFsdWUpMzQgYihvZilmKHRoZSloIEZzKEZDRURJVCllIEZ0KHYpLTUgYihhcmlhYmxlKTM0CiBiKGlmKWYoc2V0LClpKG9yKWYodGhlKWYodiktNSBiKGFsdWUpMzQgYihvZilnKHRoZSlmCi1GcyhFRElUT1IpZiBGdCh2KS01IGIoYXJpYWJsZSkzNCBiKGlmKWYodGhhdCk2MzAgMjAxNgorRnMoRURJVE9SKWYgRnQodiktNSBiKGFyaWFibGUpMzQgYihpZilmKHRoYXQpNjMwIDE4NTQKIHkoaXMpZyhzZXQsKWkob3IpZSBGcyh2aSlnIEZ0KGlmKWcobmVpdGhlcilnKGlzKWcoc2V0Lik1MAogYihXaGVuKTMzIGIoZWRpdGluZyloKGlzKWYoY29tcGxldGUsKWkodGhlKWYoZWRpdGVkKWYoY29tbWFuZHMpNjMwCi0yMTI1IHkoYXJlKWUoZWMpbShobylzKGVkKWcoYW5kKWYoZXhlY3V0ZWQuKTYzMCAyMjcxCisxOTYzIHkoYXJlKWUoZWMpbShobylzKGVkKWcoYW5kKWYoZXhlY3V0ZWQuKTYzMCAyMDkzCiB5KEluKWsodGhlKWcoc2Vjb25kKWcoZm9ybSwpaCBGcShjb21tYW5kKWogRnQoaXMpYyhyZS1leGVjdXRlZClpKGFmdGVyKQogZihlYWMpbShoKWcoaW5zdGFuY2UpZyhvZilmIEZxKHBhdClqIEZ0KGluKWQodGhlKTYzMAotMjM4MSB5KHNlbGVjdGVkKWUoY29tbWFuZCllKGlzKWcocmVwbGFjZWQpaChiKW0oeSlnIEZxKHJlcClwCi1GdCguKTYzMCAyNTI3IHkoQSlnKHVzZWZ1bClmKGFsaWFzKWkodG8pZyh1c2UpZSh3aXRoKWgodGhlKWcKKzIyMDMgeShzZWxlY3RlZCllKGNvbW1hbmQpZShpcylnKHJlcGxhY2VkKWgoYiltKHkpZyBGcShyZXApcworRnQoLik2MzAgMjMzMyB5KEEpZyh1c2VmdWwpZihhbGlhcylpKHRvKWcodXNlKWUod2l0aCloKHRoZSlnCiBGcyhmYylmIEZ0KGNvbW1hbmQpaChpcylnIEZzKHI9J2ZjKWUoLXMnKXAgRnQoLCloKHNvKWgodGhhdCloKHQpbQotKHlwaW5nKWYoYClwIEZzKHIpZihjYylwIEZ0KCcpNjMwIDI2MzcgeShydW5zKTM1IGIodGhlKWgobGFzdCloCisoeXBpbmcpZihgKXAgRnMocilmKGNjKXAgRnQoJyk2MzAgMjQ0MyB5KHJ1bnMpMzUgYih0aGUpaChsYXN0KWgKIChjb21tYW5kKWYoYilzKGVnaW5uaW5nKWcod2l0aClnIEZzKGNjKWYgRnQoYW5kKWgodCltKHlwaW5nKWcoYClwCi1GcyhyKXAgRnQoJyloKHJlLWV4ZWN1dGVzKWgodGhlKWUobGFzdCk2MzAgMjc0NiB5KGNvbW1hbmQpMzAKK0ZzKHIpcCBGdCgnKWgocmUtZXhlY3V0ZXMpaCh0aGUpZShsYXN0KTYzMCAyNTUyIHkoY29tbWFuZCkzMAogYihcKHNlZSloKFNlY3Rpb24paCg2LjYpZihbQWxpYXNlc10sKWgocGFnZSlnKDc5XCkuKTE1MAotMjkyOSB5IEZzKGhpc3RvcnkpODcwIDMwNzUgeShoaXN0b3J5KTQ2IGIoWylwIEZqKG4pMTEKLWIgRnMoXSk4NzAgMzE4NSB5KGhpc3RvcnkpNDYgYigtYyk4NzAgMzI5NCB5KGhpc3RvcnkpZygtZCloCi1GaihvZmZzZXQpODcwIDM0MDQgeSBGcyhoaXN0b3J5KWYoWy1hbnJ3XSlnKFspcCBGaihmaWxlbmFtZSkxMQotYiBGcyhdKTg3MCAzNTEzIHkoaGlzdG9yeSk0NiBiKC1wcyloIEZqKGFyZyk2MzAgMzY2MAorMjcwMyB5IEZzKGhpc3RvcnkpODcwIDI4MzMgeShoaXN0b3J5KTQ2IGIoWylwIEZpKG4pMTEKK2IgRnMoXSk4NzAgMjk0MyB5KGhpc3RvcnkpNDYgYigtYyk4NzAgMzA1MiB5KGhpc3RvcnkpZygtZCloCitGaShvZmZzZXQpODcwIDMxNjIgeSBGcyhoaXN0b3J5KWYoWy1hbnJ3XSlnKFspcCBGaShmaWxlbmFtZSkxMQorYiBGcyhdKTg3MCAzMjcxIHkoaGlzdG9yeSk0NiBiKC1wcyloIEZpKGFyZyk2MzAgMzQwMgogeSBGdChXaXRoKTI2IGIobm8pZyhvcHRpb25zLCloKGRpc3BsYSltKHkpZih0aGUpZyhoaXN0b3J5KWcobGlzdClnCiAod2l0aClmKGxpbmUpaChuKW0odW0pbShiKXMoZXJzLikzOCBiKExpbmVzKTI2IGIocHJlXDAxNHhlZCllKHdpdGgpNjMwCi0zNzY5IHkoYSkzNSBiKGApcCBGcygqKXAgRnQoJylnKGhhKW0odiltKGUpaChiKXMoZWVuKWUobW8pcyhkaVwwMTRlZC4pCiszNTExIHkoYSkzNSBiKGApcCBGcygqKXAgRnQoJylnKGhhKW0odiltKGUpaChiKXMoZWVuKWUobW8pcyhkaVwwMTRlZC4pCiA1MyBiKEFuKTM0IGIoYXJndW1lbiltKHQpaChvZilnIEZxKG4pZiBGdChsaXN0cylpKG9ubHkpZih0aGUpZyhsYXN0KWcKLUZxKG4pZiBGdChsaW5lcy4pNTQgYihJZikzNSBiKHRoZSk2MzAgMzg3OSB5KHNoZWxsKTMwCitGcShuKWYgRnQobGluZXMuKTU0IGIoSWYpMzUgYih0aGUpNjMwIDM2MjEgeShzaGVsbCkzMAogYih2KS01IGIoYXJpYWJsZSkzMSBiIEZzKEhJU1RUSU1FRk9STUFUKTI2IGIgRnQoaXMpayhzZXQpaChhbmQpZShub3QpaQogKG4pbSh1bGwsKWYoaXQpaChpcylmKHVzZWQpZihhcyloKGEpaChmb3JtYXQpZihzdHJpbmcpNjMwCi0zOTg4IHkoZm9yKTM2IGIgRnEoc3RyZnRpbWUpNDEgYiBGdCh0bykzNiBiKGRpc3BsYSltKHkpZyh0aGUpZyh0aW1lKWgKKzM3MzAgeShmb3IpMzYgYiBGcShzdHJmdGltZSk0MSBiIEZ0KHRvKTM2IGIoZGlzcGxhKW0oeSlnKHRoZSlnKHRpbWUpaAogKHN0YW1wKWYoYXNzbylzKGNpYXRlZCloKHdpdGgpZihlYWMpbShoKWgoZGlzcGxhKW0oeSltKGVkKWYoaGlzdG9yeSk2MzAKLTQwOTggeShlbiltKHRyeSktOCBiKC4pNDcgYihObykzMyBiKGluKW0odGVydiltKGVuaW5nKWcoYmxhbmspZihpcylnCiszODQwIHkoZW4pbSh0cnkpLTggYiguKTQ3IGIoTm8pMzMgYihpbiltKHRlcnYpbShlbmluZylnKGJsYW5rKWYoaXMpZwogKHByaW4pbSh0ZWQpZyhiKXMoZXQpbSh3KW0oZWVuKWgodGhlKWcoZm9ybWF0dGVkKWYodGltZSloKHN0YW1wKWcoYW5kKQotNjMwIDQyMDggeSh0aGUpZShoaXN0b3J5KWYobGluZS4pNjMwIDQzNTQgeShPcHRpb25zLClnKGlmKWgoc3VwcGxpZWQsKWUKLShoYSltKHYpbShlKWkodGhlKWcoZm9sbG8pbSh3aW5nKWgobWVhbmluZ3M6KTYzMCA0NTM2Cis2MzAgMzk1MCB5KHRoZSllKGhpc3RvcnkpZihsaW5lLik2MzAgNDA4MCB5KE9wdGlvbnMsKWcoaWYpaChzdXBwbGllZCwpZQorKGhhKW0odiltKGUpaSh0aGUpZyhmb2xsbyltKHdpbmcpaChtZWFuaW5nczopNjMwIDQyMzAKIHkgRnMoLWMpMzg0IGIgRnQoQ2xlYXIpMjMgYih0aGUpZyhoaXN0b3J5KWcobGlzdC4pMzkKIGIoVGhpcykyMiBiKG1hKW0oeSlpKGIpcyhlKWUoY29tKW0oYmluZWQpaCh3aXRoKWYodGhlKWgob3RoZXIpaAotKG9wdGlvbnMpMTExMCA0NjQ2IHkodG8pMzEgYihyZXBsYWNlKWcodGhlKWcoaGlzdG9yeSlmKGxpc3QpaAotKGNvbXBsZXRlbHkpLTggYiguKTYzMCA0ODI5IHkgRnMoLWQpMzAgYiBGaihvZmZzZXQpMTExMAotNDkzOCB5IEZ0KERlbGV0ZSkyNSBiKHRoZSlmKGhpc3RvcnkpZihlbiltKHRyeSloKGF0KWcocClzKG9zaXRpb24pZgotRnEob1wwMTNzZXQpcCBGdCguKTM5IGIgRnEob1wwMTNzZXQpMjcgYiBGdChzaG91bGQpMjIKLWIoYilzKGUpaChzcClzKGVjaVwwMTRlZCkxMTEwIDUwNDggeShhcykzMSBiKGl0KWcoYXBwKXMoZWFycyllKHdoZW4paAotKHRoZSlnKGhpc3RvcnkpZyhpcyloKGRpc3BsYSltKHkpbShlZC4pNjMwIDUyMzAgeSBGcygtYSkzODQKLWIgRnQoQXBwKXMoZW5kKTM1IGIodGhlKWkobmV3KWcoaGlzdG9yeSlnKGxpbmVzKWcoXChoaXN0b3J5KWcobGluZXMpZwotKGVuKW0odGVyZWQpaChzaW5jZSlmKHRoZSlnKGIpcyhlLSkxMTEwIDUzNDAgeShnaW5uaW5nKTMwCi1iKG9mKWgodGhlKWYoY3VycmVuKW0odClnKEJhc2gpaChzZXNzaW9uXCkpZyh0bylnKHRoZSlnKGhpc3RvcnkpZgotKFwwMTRsZS4pcCBlb3AgZW5kCisob3B0aW9ucykxMTEwIDQzNDAgeSh0bykzMSBiKHJlcGxhY2UpZyh0aGUpZyhoaXN0b3J5KWYobGlzdCloCisoY29tcGxldGVseSktOCBiKC4pNjMwIDQ0OTEgeSBGcygtZCkzMCBiIEZpKG9mZnNldCkxMTEwCis0NjAwIHkgRnQoRGVsZXRlKTI1IGIodGhlKWYoaGlzdG9yeSlmKGVuKW0odHJ5KWcoYXQpaChwKXMob3NpdGlvbilmCitGcShvXDAxM3NldClyIEZ0KC4pMzkgYiBGcShvXDAxM3NldCkyNiBiIEZ0KHNob3VsZCljKGIpcyhlKWgoc3ApcworKGVjaVwwMTRlZCkxMTEwIDQ3MTAgeShhcykzMSBiKGl0KWcoYXBwKXMoZWFycyllKHdoZW4paCh0aGUpZyhoaXN0b3J5KWcKKyhpcyloKGRpc3BsYSltKHkpbShlZC4pNjMwIDQ4NjEgeSBGcygtYSkzODQgYiBGdChBcHApcyhlbmQpMzUKK2IodGhlKWkobmV3KWcoaGlzdG9yeSlnKGxpbmVzKWcoXChoaXN0b3J5KWcobGluZXMpZyhlbiltKHRlcmVkKWgoc2luY2UpCitmKHRoZSlnKGIpcyhlLSkxMTEwIDQ5NzAgeShnaW5uaW5nKTMwIGIob2YpaCh0aGUpZihjdXJyZW4pbSh0KWcoQmFzaCloCisoc2Vzc2lvblwpKWcodG8pZyh0aGUpZyhoaXN0b3J5KWYoXDAxNGxlLik2MzAgNTEyMSB5CitGcygtbikzODQgYiBGdChBcHApcyhlbmQpMzIgYih0aGUpaShoaXN0b3J5KWYobGluZXMpaChub3QpZyhhbHJlYWR5KWcKKyhyZWFkKWcoZnJvbSlmKHRoZSloKGhpc3RvcnkpZihcMDE0bGUpaCh0bykxMTEwIDUyMzAKK3kodGhlKTI2IGIoY3VycmVuKW0odClmKGhpc3RvcnkpZyhsaXN0Lik0MCBiKFRoZXNlKTI1CitiKGFyZSloKGxpbmVzKWcoYXBwKXMoZW5kZWQpZSh0bylpKHRoZSlmKGhpc3RvcnkpaChcMDE0bGUpMTExMAorNTM0MCB5KHNpbmNlKTMxIGIodGhlKWYoYilzKGVnaW5uaW5nKWcob2YpZyh0aGUpaChjdXJyZW4pbSh0KWYoQmFzaCloCisoc2Vzc2lvbi4pcCBlb3AgZW5kCiAlJVBhZ2U6IDEyMyAxMjkKIFRlWERpY3QgYmVnaW4gMTIzIDEyOCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoOTopNDEKIGIoVXNpbmcpMzAgYihIaXN0b3J5KWgoSW4pbSh0ZXJhY3RpdiltKGVseSkxOTI1IGIoMTIzKTYzMAotMjk5IHkgRnMoLW4pMzg0IGIgRnQoQXBwKXMoZW5kKTMyIGIodGhlKWkoaGlzdG9yeSlmKGxpbmVzKWgobm90KWcKLShhbHJlYWR5KWcocmVhZClnKGZyb20pZih0aGUpaChoaXN0b3J5KWYoXDAxNGxlKWgodG8pMTExMAotNDA4IHkodGhlKTI2IGIoY3VycmVuKW0odClmKGhpc3RvcnkpZyhsaXN0Lik0MCBiKFRoZXNlKTI1Ci1iKGFyZSloKGxpbmVzKWcoYXBwKXMoZW5kZWQpZSh0bylpKHRoZSlmKGhpc3RvcnkpaChcMDE0bGUpMTExMAotNTE4IHkoc2luY2UpMzEgYih0aGUpZihiKXMoZWdpbm5pbmcpZyhvZilnKHRoZSloKGN1cnJlbiltKHQpZihCYXNoKWgKLShzZXNzaW9uLik2MzAgNjY4IHkgRnMoLXIpMzg0IGIgRnQoUmVhZCkyNiBiKHRoZSloKGN1cnJlbiltKHQpZgotKGhpc3RvcnkpZyhcMDE0bGUpZyhhbmQpZyhhcHApcyhlbmQpZShpdHMpaihjb24pbSh0ZW4pbSh0cyloKHRvKWYodGhlKWYKLShoaXN0b3J5KTExMTAgNzc4IHkobGlzdC4pNjMwIDkyOCB5IEZzKC13KTM4NCBiIEZ0KFcpLTgKLWIocml0ZSkzMiBiKG91dCllKHRoZSloKGN1cnJlbiltKHQpZihoaXN0b3J5KWcodG8paSh0aGUpZShoaXN0b3J5KWcKLShcMDE0bGUuKTYzMCAxMDc4IHkgRnMoLXApMzg0IGIgRnQoUCltKGVyZm9ybSkzMSBiKGhpc3RvcnkpZgotKHN1YnN0aXR1dGlvbiloKG9uKWYodGhlKWggRnEoYXJnKTggYiBGdChzKTMxIGIoYW5kKWYoZGlzcGxhKW0oeSloKHRoZSkKLWYocmVzdWx0KWgob24pMTExMCAxMTg4IHkodGhlKWQoc3RhbmRhcmQpZihvdXRwdXQsKWkod2l0aG91dClmKHN0b3JpbmcpCi1nKHRoZSlnKHJlc3VsdHMpZyhpbilnKHRoZSlnKGhpc3RvcnkpZyhsaXN0Lik2MzAgMTMzOAoteSBGcygtcykzODQgYiBGdChUaGUpMzAgYiBGcShhcmcpOCBiIEZ0KHMpMzAgYihhcmUpaChhZGRlZClmKHRvKWgodGhlKWYKLShlbmQpZyhvZiloKHRoZSlmKGhpc3RvcnkpaChsaXN0KWcoYXMpZihhKWgoc2luZ2xlKWcoZW4pbSh0cnkpLTgKLWIoLik2MzAgMTQ4OCB5KFdoZW4pMjQgYihhbiltKHkpaChvZilmKHRoZSloKGApcCBGcygtdylwCi1GdCgnLCloKGApcCBGcygtcilwIEZ0KCcsKWYoYClwIEZzKC1hKXAgRnQoJywpaChvcilmKGApcAotRnMoLW4pcCBGdCgnKWYob3B0aW9ucylnKGlzKWgodXNlZCwpZyhpZilmIEZxKFwwMTRsZW5hbWUpMzAKLWIgRnQoaXMpMjQgYihnaXYpbShlbiwpaih0aGVuKTYzMCAxNTk4IHkoaXQpMzIgYihpcylnKHVzZWQpZihhcyloKHRoZSlmCisyOTkgeSBGcygtcikzODQgYiBGdChSZWFkKTI2IGIodGhlKWgoY3VycmVuKW0odClmKGhpc3RvcnkpZyhcMDE0bGUpZworKGFuZClnKGFwcClzKGVuZCllKGl0cylqKGNvbiltKHRlbiltKHRzKWgodG8pZih0aGUpZihoaXN0b3J5KTExMTAKKzQwOCB5KGxpc3QuKTYzMCA1NzMgeSBGcygtdykzODQgYiBGdChXKS04IGIocml0ZSkzMiBiKG91dCllKHRoZSloCisoY3VycmVuKW0odClmKGhpc3RvcnkpZyh0bylpKHRoZSllKGhpc3RvcnkpZyhcMDE0bGUuKTYzMAorNzM5IHkgRnMoLXApMzg0IGIgRnQoUCltKGVyZm9ybSkzMSBiKGhpc3RvcnkpZihzdWJzdGl0dXRpb24paChvbilmKHRoZSkKK2ggRnEoYXJnKTggYiBGdChzKTMxIGIoYW5kKWYoZGlzcGxhKW0oeSloKHRoZSlmKHJlc3VsdCloKG9uKTExMTAKKzg0OCB5KHRoZSlkKHN0YW5kYXJkKWYob3V0cHV0LClpKHdpdGhvdXQpZihzdG9yaW5nKWcodGhlKWcocmVzdWx0cylnCisoaW4pZyh0aGUpZyhoaXN0b3J5KWcobGlzdC4pNjMwIDEwMTMgeSBGcygtcykzODQgYiBGdChUaGUpMzAKK2IgRnEoYXJnKTggYiBGdChzKTMwIGIoYXJlKWgoYWRkZWQpZih0byloKHRoZSlmKGVuZClnKG9mKWgodGhlKWYKKyhoaXN0b3J5KWgobGlzdClnKGFzKWYoYSloKHNpbmdsZSlnKGVuKW0odHJ5KS04IGIoLik2MzAKKzExNzggeShXaGVuKTI0IGIoYW4pbSh5KWgob2YpZih0aGUpaChgKXAgRnMoLXcpcCBGdCgnLCloKGApcAorRnMoLXIpcCBGdCgnLClmKGApcCBGcygtYSlwIEZ0KCcsKWgob3IpZihgKXAgRnMoLW4pcAorRnQoJylmKG9wdGlvbnMpZyhpcyloKHVzZWQsKWcoaWYpZiBGcShcMDE0bGVuYW1lKTMwIGIKK0Z0KGlzKTI0IGIoZ2l2KW0oZW4sKWoodGhlbik2MzAgMTI4OCB5KGl0KTMyIGIoaXMpZyh1c2VkKWYoYXMpaCh0aGUpZgogKGhpc3RvcnkpaChcMDE0bGUuKTQ1IGIoSWYpMzEgYihub3QsKWgodGhlbilnKHRoZSlmKHYpLTUKIGIoYWx1ZSkzMiBiKG9mKWcodGhlKWcgRnMoSElTVEZJTEUpZCBGdCh2KS01IGIoYXJpYWJsZSkzMwotYihpcyk2MzAgMTcwNyB5KHVzZWQuKTE1MCAxOTUxIHkgRnIoOS4zKTY4IGIoSGlzdG9yeSk0NgotYihFeHBhbnNpb24pMjc1IDIxOTAgeSBGdChUaGUpMzUgYihIaXN0b3J5KWgobGlicmFyeSlmKHBybyltKHZpZGVzKWgoYSkKLWcoaGlzdG9yeSlmKGV4cGFuc2lvbiloKGZlYXR1cmUpZyh0aGF0KWcoaXMpZyhzaW1pbGFyKWcodG8pZyh0aGUpZwotKGhpc3RvcnkpMTUwIDIzMDAgeShleHBhbnNpb24pMjIgYihwcm8pbSh2aWRlZClmKGIpbSh5KWgKLUZzKGNzaClwIEZ0KC4pMzcgYihUaGlzKTIyIGIoc2VjdGlvbiloKGRlc2NyaWIpcyhlcyllKHRoZSloKHN5biltKHRheCloCi0odXNlZCllKHRvKWgobWFuaXB1bGF0ZSloKHRoZSlmKGhpc3RvcnkpMTUwIDI0MDkgeShpbmZvcm1hdGlvbi4pMjc1Ci0yNTM5IHkoSGlzdG9yeSkzMSBiKGV4cGFuc2lvbnMpZihpbiltKHRybylzKGR1Y2UpZyh3KW0ob3JkcylnKGZyb20pZwotKHRoZSloKGhpc3RvcnkpZihsaXN0KWgoaW4pbSh0bylnKHRoZSlnKGlucHV0KWYoc3RyZWFtLCloKG1ha2luZykxNTAKLTI2NDkgeShpdClnKGVhc3kpZyh0bylnKHJlcClzKGVhdClnKGNvbW1hbmRzLClmKGluc2VydClnKHRoZSloKGFyZ3VtZW4pCitiKGlzKTYzMCAxMzk3IHkodXNlZC4pMTUwIDE2MzggeSBGcig5LjMpNjggYihIaXN0b3J5KTQ2CitiKEV4cGFuc2lvbikxNTAgMTc5OCB5IEZ0KFRoZSlmKEhpc3RvcnkpaChsaWJyYXJ5KWUocHJvKW0odmlkZXMpaShhKWYKKyhoaXN0b3J5KWcoZXhwYW5zaW9uKWcoZmVhdHVyZSloKHRoYXQpZyhpcylmKHNpbWlsYXIpaCh0bylnKHRoZSlmCisoaGlzdG9yeSkxNTAgMTkwNyB5KGV4cGFuc2lvbilnKHBybyltKHZpZGVkKWYoYiltKHkpaAorRnMoY3NoKXAgRnQoLik4MyBiKFRoaXMpNDQgYihzZWN0aW9uKWkoZGVzY3JpYilzKGVzKWUodGhlKWgoc3luKW0odGF4KWgKKyh1c2VkKWUodG8paShtYW5pcHVsYXRlKWYodGhlKTE1MCAyMDE3IHkoaGlzdG9yeSkzMCBiKGluZm9ybWF0aW9uLikyNzUKKzIxNTcgeShIaXN0b3J5KWgoZXhwYW5zaW9ucylmKGluKW0odHJvKXMoZHVjZSlnKHcpbShvcmRzKWcoZnJvbSlnKHRoZSloCisoaGlzdG9yeSlmKGxpc3QpaChpbiltKHRvKWcodGhlKWcoaW5wdXQpZihzdHJlYW0sKWgobWFraW5nKTE1MAorMjI2NiB5KGl0KWcoZWFzeSlnKHRvKWcocmVwKXMoZWF0KWcoY29tbWFuZHMsKWYoaW5zZXJ0KWcodGhlKWgoYXJndW1lbikKIG0odHMpZih0byloKGEpZyhwcmV2aW91cylmKGNvbW1hbmQpZyhpbiltKHRvKWkodGhlKWUoY3VycmVuKW0odCkxNTAKLTI3NTkgeShpbnB1dClmKGxpbmUsKWkob3IpZyhcMDE0eClmKGVycm9ycylmKGluKWgocHJldmlvdXMpZyhjb21tYW5kcylnCi0ocXVpYyltKGtseSktOCBiKC4pMjc1IDI4ODggeShIaXN0b3J5KTI3IGIoZXhwYW5zaW9uKWYodGFrKW0oZXMpaQorMjM3NiB5KGlucHV0KWYobGluZSwpaShvcilnKFwwMTR4KWYoZXJyb3JzKWYoaW4paChwcmV2aW91cylnKGNvbW1hbmRzKWcKKyhxdWljKW0oa2x5KS04IGIoLikyNzUgMjUxNiB5KEhpc3RvcnkpMjcgYihleHBhbnNpb24pZih0YWspbShlcylpCiAocGxhY2UpZihpbilmKHQpbSh3KW0obylpKHBhcnRzLikzOSBiKFRoZSkyNiBiKFwwMTRyc3QpZyhpcylnKHRvKWgKLShkZXRlcm1pbmUpZyh3aGljKW0oaClmKGxpbmUpaChmcm9tKWYodGhlKTE1MCAyOTk4IHkoaGlzdG9yeSlpKGxpc3QpZworKGRldGVybWluZSlnKHdoaWMpbShoKWYobGluZSloKGZyb20pZih0aGUpMTUwIDI2MjYgeShoaXN0b3J5KWkobGlzdClnCiAoc2hvdWxkKWYoYilzKGUpZyh1c2VkKWcoZHVyaW5nKWcoc3Vic3RpdHV0aW9uLikzOSBiKFRoZSkyNwogYihzZWNvbmQpaChpcylnKHRvKWgoc2VsZWN0KWcocClzKG9ydGlvbnMpZShvZiloKHRoYXQpaChsaW5lKTE1MAotMzEwOCB5KGZvcilkKGluY2x1c2lvbilmKGluKW0odG8paSh0aGUpZihjdXJyZW4pbSh0KWYob25lLik0MAorMjczNSB5KGZvcilkKGluY2x1c2lvbilmKGluKW0odG8paSh0aGUpZihjdXJyZW4pbSh0KWYob25lLik0MAogYihUaGUpMjUgYihsaW5lKWgoc2VsZWN0ZWQpaChmcm9tKWYodGhlKWcoaGlzdG9yeSlmKGlzKWgoY2FsbGVkKWgodGhlKWYKLUZxKGV2KW0oZW4pbSh0KXAgRnQoLClqKGFuZCkxNTAgMzIxNyB5KHRoZSkyMSBiKHApcyhvcnRpb25zKWcob2YpZworRnEoZXYpbShlbiltKHQpcCBGdCgsKWooYW5kKTE1MCAyODQ1IHkodGhlKTIxIGIocClzKG9ydGlvbnMpZyhvZilnCiAodGhhdCloKGxpbmUpZih0aGF0KWgoYXJlKWcoYWN0ZWQpZyh1cClzKG9uKWUoYXJlKWgoY2FsbGVkKWgKIEZxKHcpbShvcmRzKXAgRnQoLikzOCBiKFYpLTggYihhcmlvdXMpMjEgYiBGcShtbylzKGRpXDAxNGVycylqCi1GdChhcmUpZShhKW0odiktNSBiKGFpbGFibGUpMTUwIDMzMjcgeSh0bykzNSBiKG1hbmlwdWxhdGUpZih0aGUpZworRnQoYXJlKWUoYSltKHYpLTUgYihhaWxhYmxlKTE1MCAyOTU1IHkodG8pMzUgYihtYW5pcHVsYXRlKWYodGhlKWcKIChzZWxlY3RlZClpKHcpbShvcmRzLik1MSBiKFRoZSkzMyBiKGxpbmUpaChpcylnKGJyb2spbShlbilnKGluKW0odG8paAotKHcpbShvcmRzKWUoaW4paCh0aGUpZyhzYW1lKWgoZmFzaGlvbillKHRoYXQpMTUwIDM0MzYKKyh3KW0ob3JkcyllKGluKWgodGhlKWcoc2FtZSloKGZhc2hpb24pZSh0aGF0KTE1MCAzMDY0CiB5KEJhc2gpaShkbylzKGVzLCloKHNvKWYodGhhdCloKHNldiltKGVyYWwpZyh3KW0ob3JkcyllKHN1cnJvdW5kZWQpZihiKQogbSh5KWkocXVvdGVzKWcoYXJlKWcoY29uc2lkZXJlZClnKG9uZSlnKHcpbShvcmQuKTU0IGIoSGlzdG9yeSkxNTAKLTM1NDYgeShleHBhbnNpb25zKTM0IGIoYXJlKWcoaW4pbSh0cm8pcyhkdWNlZClmKGIpbSh5KWgodGhlKWcoYXBwKXMKKzMxNzQgeShleHBhbnNpb25zKTM0IGIoYXJlKWcoaW4pbSh0cm8pcyhkdWNlZClmKGIpbSh5KWgodGhlKWcoYXBwKXMKIChlYXJhbmNlKWcob2YpZyh0aGUpZyhoaXN0b3J5KWcoZXhwYW5zaW9uKWcoYyltKGhhcmFjdGVyLClpKHdoaWMpbShoKWUKLShpcykxNTAgMzY1NiB5KGApcCBGcyghKXAgRnQoJylkKGIpbSh5KWYoZGVmYXVsdC4pNDEKKyhpcykxNTAgMzI4MyB5KGApcCBGcyghKXAgRnQoJylkKGIpbSh5KWYoZGVmYXVsdC4pNDEKIGIoT25seSkyOSBiKGApcCBGcyhcXClwIEZ0KCcpaShhbmQpZihgKXAgRnMoJylwIEZ0KCcpZyhtYSltKHkpaChiKXMoZSlmCiAodXNlZClnKHRvKWgoZXNjYXApcyhlKWcodGhlKWYoaGlzdG9yeSlnKGV4cGFuc2lvbiloKGMpbShoYXJhY3Rlci4pMjc1Ci0zNzg1IHkoU2V2KW0oZXJhbCk0MCBiKHNoZWxsKWcob3B0aW9ucylnKHNldHRhYmxlKWgod2l0aCllKHRoZSloCiszNDIzIHkoU2V2KW0oZXJhbCk0MCBiKHNoZWxsKWcob3B0aW9ucylnKHNldHRhYmxlKWgod2l0aCllKHRoZSloCiBGcyhzaG9wdCllIEZ0KGJ1aWx0aW4paChcKHNlZSloKFNlY3Rpb24paCg0LjIpZihbQmFzaClnKEJ1aWx0aW5zXSwpMTUwCi0zODk1IHkocGFnZSkzMiBiKDQxXCkpaChtYSltKHkpZihiKXMoZSlmKHVzZWQpZyh0bylpKHRhaWxvcilnKHRoZSllKGIpcworMzUzMyB5KHBhZ2UpMzIgYig0MVwpKWgobWEpbSh5KWYoYilzKGUpZih1c2VkKWcodG8paSh0YWlsb3IpZyh0aGUpZShiKXMKIChlaGEpbSh2aW9yKWgob2YpZyhoaXN0b3J5KWcoZXhwYW5zaW9uLik0NCBiKElmKTMxIGIodGhlKWgKLUZzKGhpc3R2ZXJpZnkpZCBGdChzaGVsbCkxNTAgNDAwNSB5KG9wdGlvbikzOSBiKGlzKWYoZW5hYmxlZCwpaShhbmQpZQorRnMoaGlzdHZlcmlmeSlkIEZ0KHNoZWxsKTE1MCAzNjQzIHkob3B0aW9uKTM5IGIoaXMpZihlbmFibGVkLClpKGFuZCllCiAoUmVhZGxpbmUpZyhpcyloKGIpcyhlaW5nKWUodXNlZCwpaihoaXN0b3J5KWUoc3Vic3RpdHV0aW9ucylnKGFyZSlnCi0obm90KWgoaW1tZWRpYXRlbHkpMTUwIDQxMTQgeShwYXNzZWQpMzAgYih0byloKHRoZSlnKHNoZWxsKWcocGFyc2VyLik0MAorKG5vdCloKGltbWVkaWF0ZWx5KTE1MCAzNzUyIHkocGFzc2VkKTMwIGIodG8paCh0aGUpZyhzaGVsbClnKHBhcnNlci4pNDAKIGIoSW5zdGVhZCwpMzAgYih0aGUpaChleHBhbmRlZClmKGxpbmUpaChpcylmKHJlbG9hZGVkKWgoaW4pbSh0byloKHRoZSllCi0oUmVhZGxpbmUpaChlZGl0aW5nKTE1MCA0MjI0IHkoYnVcMDEzZXIpZShmb3IpaShmdXJ0aGVyKWUobW8pcworKFJlYWRsaW5lKWgoZWRpdGluZykxNTAgMzg2MiB5KGJ1XDAxM2VyKWUoZm9yKWkoZnVydGhlcillKG1vKXMKIChkaVwwMTRjYXRpb24uKTQxIGIoSWYpMzAgYihSZWFkbGluZSloKGlzKWYoYilzKGVpbmcpZyh1c2VkLClnKGFuZClnCi0odGhlKWcgRnMoaGlzdHJlZWRpdCllIEZ0KHNoZWxsKWkob3B0aW9uKTE1MCA0MzMzIHkoaXMpayhlbmFibGVkLCloKGEpZworKHRoZSlnIEZzKGhpc3RyZWVkaXQpZSBGdChzaGVsbClpKG9wdGlvbikxNTAgMzk3MSB5KGlzKWsoZW5hYmxlZCwpaChhKWcKIChmYWlsZWQpZyhoaXN0b3J5KWYoZXhwYW5zaW9uKWcod2lsbClnKGIpcyhlKWcocmVsb2FkZWQpZyhpbiltKHRvKWgKLSh0aGUpZyhSZWFkbGluZSlmKGVkaXRpbmcpaChidVwwMTNlcillKGZvcikxNTAgNDQ0MyB5KGNvcnJlY3Rpb24uKTc0CisodGhlKWcoUmVhZGxpbmUpZihlZGl0aW5nKWgoYnVcMDEzZXIpZShmb3IpMTUwIDQwODEgeShjb3JyZWN0aW9uLik3NAogYihUaGUpNDEgYihgKXAgRnMoLXApcCBGdCgnKWcob3B0aW9uKWcodG8paCh0aGUpZiBGcyhoaXN0b3J5KWYKIEZ0KGJ1aWx0aW4pZyhjb21tYW5kKWgobWEpbSh5KWgoYilzKGUpZSh1c2VkKWgodG8pZyhzZWUpaCh3aGF0KTE1MAotNDU1MyB5KGEpYyhoaXN0b3J5KWcoZXhwYW5zaW9uKWYod2lsbCloKGRvKWYoYilzKGVmb3JlKWgodXNpbmcpZihpdC4pNjMKKzQxOTEgeShhKWMoaGlzdG9yeSlnKGV4cGFuc2lvbilmKHdpbGwpaChkbylmKGIpcyhlZm9yZSloKHVzaW5nKWYoaXQuKTYzCiBiKFRoZSkzNyBiKGApcCBGcygtcylwIEZ0KCcpZyhvcHRpb24paCh0byloKHRoZSlmIEZzKGhpc3RvcnkpZAotRnQoYnVpbHRpbilpKG1hKW0oeSkxNTAgNDY2MiB5KGIpcyhlKWModXNlZCloKHRvKWcoYWRkKWcoY29tbWFuZHMpZih0bykKK0Z0KGJ1aWx0aW4paShtYSltKHkpMTUwIDQzMDAgeShiKXMoZSljKHVzZWQpaCh0bylnKGFkZClnKGNvbW1hbmRzKWYodG8pCiBpKHRoZSlmKGVuZClnKG9mKWcodGhlKWcoaGlzdG9yeSlnKGxpc3QpaCh3aXRob3V0KWYoYWN0dWFsbHkpaQotKGV4ZWN1dGluZylmKHRoZW0sKTE1MCA0NzcyIHkoc28paih0aGF0KWgodGhleSlmKGFyZSlnKGEpbSh2KS01CisoZXhlY3V0aW5nKWYodGhlbSwpMTUwIDQ0MTAgeShzbylqKHRoYXQpaCh0aGV5KWYoYXJlKWcoYSltKHYpLTUKIGIoYWlsYWJsZSk0MCBiKGZvcillKHN1YnNlcXVlbiltKHQpZihyZWNhbGwuKTY1IGIoVGhpcykzNwotYihpcyloKG1vc3QpZyh1c2VmdWwpZyhpbilmKGNvbmp1bmN0aW9uKWgod2l0aCkxNTAgNDg4MQoteShSZWFkbGluZS4pMjc1IDUwMTEgeShUaGUpMzMgYihzaGVsbCloKGFsbG8pbSh3cyloKGNvbiltKHRyb2wpaChvZillCitiKGlzKWgobW9zdClnKHVzZWZ1bClnKGluKWYoY29uanVuY3Rpb24paCh3aXRoKTE1MCA0NTE5Cit5KFJlYWRsaW5lLikyNzUgNDY1OSB5KFRoZSkzMyBiKHNoZWxsKWgoYWxsbyltKHdzKWgoY29uKW0odHJvbCloKG9mKWUKICh0aGUpZyh2KS01IGIoYXJpb3VzKTM0IGIoYyltKGhhcmFjdGVycyloKHVzZWQpZihiKW0oeSlmKHRoZSloKGhpc3RvcnkpCi1nKGV4cGFuc2lvbilnKG1lYyltKGgtKTE1MCA1MTIxIHkoYW5pc20paCh3aXRoKWcodGhlKWcKK2coZXhwYW5zaW9uKWcobWVjKW0oaC0pMTUwIDQ3NjkgeShhbmlzbSloKHdpdGgpZyh0aGUpZwogRnMoaGlzdGNoYXJzKWQgRnQodiktNSBiKGFyaWFibGUsKTM4IGIoYXMpZChleHBsYWluZWQpZyhhYilzKG8pbSh2KW0oZSkKIGkoXChzZWUpZihTZWN0aW9uKWYoNS4yKWkoW0Jhc2gpZShWKS04IGIoYXJpYWJsZXNdLCkxNTAKLTUyMzAgeShwYWdlKTMyIGIoNjFcKS4pNDQgYihUaGUpMzEgYihzaGVsbClnKHVzZXMpZyh0aGUpZyhoaXN0b3J5KWcKKzQ4NzkgeShwYWdlKTMyIGIoNjFcKS4pNDQgYihUaGUpMzEgYihzaGVsbClnKHVzZXMpZyh0aGUpZyhoaXN0b3J5KWcKIChjb21tZW4pbSh0KWkoYyltKGhhcmFjdGVyKWYodG8pZyhtYXJrKWYoaGlzdG9yeSlnKHRpbWVzdGFtcHMpaCh3aGVuKQotMTUwIDUzNDAgeSh3cml0aW5nKWUodGhlKWgoaGlzdG9yeSlmKFwwMTRsZS4pcCBlb3AgZW5kCisxNTAgNDk4OCB5KHdyaXRpbmcpZSh0aGUpaChoaXN0b3J5KWYoXDAxNGxlLikxNTAgNTE5MworeSBGaig5LjMuMSk2MyBiKEV2KW0oZW4pbSh0KTM5IGIoRGVzaWduYXRvcnMpMTUwIDUzNDAKK3kgRnQoQW4pMzAgYihldiltKGVuKW0odClpKGRlc2lnbmF0b3IpZihpcylmKGEpaChyZWZlcmVuY2UpZyh0bylnKGEpZworKGNvbW1hbmQpZihsaW5lKWgoZW4pbSh0cnkpZihpbilnKHRoZSloKGhpc3RvcnkpZihsaXN0LilwCitlb3AgZW5kCiAlJVBhZ2U6IDEyNCAxMzAKIFRlWERpY3QgYmVnaW4gMTI0IDEyOSBib3AgMTUwIC0xMTYgYSBGdCgxMjQpMjUyNyBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGayg5LjMuMSk2MyBiKEV2KW0oZW4pbSh0KTM5Ci1iKERlc2lnbmF0b3JzKTI3NSA1NDUgeSBGdChBbikzMCBiKGV2KW0oZW4pbSh0KWgoZGVzaWduYXRvciloKGlzKWUoYSloCi0ocmVmZXJlbmNlKWcodG8pZyhhKWYoY29tbWFuZCloKGxpbmUpZihlbiltKHRyeSloKGluKWYodGhlKWgoaGlzdG9yeSlmCi0obGlzdC4pMTUwIDcwOSB5IEZzKCEpNDMyIGIgRnQoU3RhcnQpMzQgYihhKWYoaGlzdG9yeSloKHN1YnN0aXR1dGlvbiwpZwotKGV4Y2VwdClnKHdoZW4pZihmb2xsbyltKHcpbShlZClpKGIpbSh5KWUoYSloKHNwYWNlLCloKHRhYiwpZih0aGUpZwotKGVuZClmKG9mKTYzMCA4MTggeSh0aGUpaShsaW5lLClnKGApcCBGcyg9KXAgRnQoJylnKG9yKWYoYClwCi1GcyhcKClwIEZ0KCcpaChcKHdoZW4pZSh0aGUpaSBGcyhleHRnbG9iKWQgRnQoc2hlbGwpaihvcHRpb24pZihpcyloCi0oZW5hYmxlZClmKHVzaW5nKWcodGhlKWcgRnMoc2hvcHQpNjMwIDkyOCB5IEZ0KGJ1aWx0aW5cKS4pMTUwCi0xMDkwIHkgRnMoISlwIEZqKG4pMzg0IGIgRnQoUmVmZXIpMzAgYih0bylpKGNvbW1hbmQpZShsaW5lKWcKLUZxKG4pcCBGdCguKTE1MCAxMjUyIHkgRnMoIS0pcCBGaihuKTMzNiBiIEZ0KFJlZmVyKTMwCi1iKHRvKWkodGhlKWUoY29tbWFuZClnIEZxKG4pZyBGdChsaW5lcyloKGJhYyltKGsuKTE1MAotMTQxMyB5IEZzKCEhKTM4NCBiIEZ0KFJlZmVyKTMwIGIodG8paSh0aGUpZShwcmV2aW91cylnKGNvbW1hbmQuKTQwCi1iKFRoaXMpMzAgYihpcylnKGEpaChzeW5vbiltKHltKWYoZm9yKWcoYClwIEZzKCEtMSlwCi1GdCgnLikxNTAgMTU3NSB5IEZzKCEpcCBGaihzdHJpbmcpMTQ0IGIgRnQoUmVmZXIpMzAgYih0bylpKHRoZSllKG1vc3QpaAotKHJlY2VuKW0odClnKGNvbW1hbmQpZihzdGFydGluZylpKHdpdGgpZSBGcShzdHJpbmcpcAotRnQoLikxNTAgMTczNyB5IEZzKCE/KXAgRmooc3RyaW5nKTExIGIgRnMoWz9dKTYzMCAxODQ3Ci15IEZ0KFJlZmVyKTM0IGIodG8pZyh0aGUpZihtb3N0KWgocmVjZW4pbSh0KWgoY29tbWFuZCllKGNvbiltKHRhaW5pbmcpaQotRnEoc3RyaW5nKXAgRnQoLik1MCBiKFRoZSkzMyBiKHRyYWlsaW5nKWkoYClwIEZzKD8pcAotRnQoJyllKG1hKW0oeSlpKGIpcyhlKTYzMCAxOTU2IHkob21pdHRlZCljKGlmKWcodGhlKWYKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcyghKTQzMiBiIEZ0KFN0YXJ0KTM0CitiKGEpZihoaXN0b3J5KWgoc3Vic3RpdHV0aW9uLClnKGV4Y2VwdClnKHdoZW4pZihmb2xsbyltKHcpbShlZClpKGIpbSh5KQorZShhKWgoc3BhY2UsKWgodGFiLClmKHRoZSlnKGVuZClmKG9mKTYzMCA0MDggeSh0aGUpaShsaW5lLClnKGApcAorRnMoPSlwIEZ0KCcpZyhvcilmKGApcCBGcyhcKClwIEZ0KCcpaChcKHdoZW4pZSh0aGUpaQorRnMoZXh0Z2xvYilkIEZ0KHNoZWxsKWoob3B0aW9uKWYoaXMpaChlbmFibGVkKWYodXNpbmcpZyh0aGUpZworRnMoc2hvcHQpNjMwIDUxOCB5IEZ0KGJ1aWx0aW5cKS4pMTUwIDY4MCB5IEZzKCEpcCBGaShuKTM4NAorYiBGdChSZWZlcikzMCBiKHRvKWkoY29tbWFuZCllKGxpbmUpZyBGcShuKXAgRnQoLikxNTAKKzg0MSB5IEZzKCEtKXAgRmkobikzMzYgYiBGdChSZWZlcikzMCBiKHRvKWkodGhlKWUoY29tbWFuZClnCitGcShuKWcgRnQobGluZXMpaChiYWMpbShrLikxNTAgMTAwMyB5IEZzKCEhKTM4NCBiIEZ0KFJlZmVyKTMwCitiKHRvKWkodGhlKWUocHJldmlvdXMpZyhjb21tYW5kLik0MCBiKFRoaXMpMzAgYihpcylnKGEpaChzeW5vbiltKHltKWYKKyhmb3IpZyhgKXAgRnMoIS0xKXAgRnQoJy4pMTUwIDExNjQgeSBGcyghKXAgRmkoc3RyaW5nKTE0NAorYiBGdChSZWZlcikzMCBiKHRvKWkodGhlKWUobW9zdCloKHJlY2VuKW0odClnKGNvbW1hbmQpZihzdGFydGluZylpCisod2l0aCllIEZxKHN0cmluZyk4IGIgRnQoLikxNTAgMTMyNiB5IEZzKCE/KXAgRmkoc3RyaW5nKWoKK0ZzKFs/XSk2MzAgMTQzNiB5IEZ0KFJlZmVyKTMzIGIodG8paCh0aGUpZihtb3N0KWcocmVjZW4pbSh0KWgoY29tbWFuZClmCisoY29uKW0odGFpbmluZyloIEZxKHN0cmluZyk4IGIgRnQoLik0OCBiKFRoZSkzMyBiKHRyYWlsaW5nKWgoYClwCitGcyg/KXAgRnQoJylmKG1hKW0oeSloKGIpcyhlKTYzMCAxNTQ1IHkob21pdHRlZClkKGlmKWcodGhlKWYKIEZxKHN0cmluZykzOCBiIEZ0KGlzKTMxIGIoZm9sbG8pbSh3KW0oZWQpaChpbW1lZGlhdGVseSlnKGIpbSh5KWUoYSloCi0obmV3bGluZS4pMTUwIDIxMTggeSBGcyheKXAgRmooc3RyaW5nMSkxMSBiIEZzKF4pcCBGaihzdHJpbmcyKWcKLUZzKF4pNjMwIDIyMjggeSBGdChRdWljKW0oaykzMiBiKFN1YnN0aXR1dGlvbi4pNDQgYihSZXApcyhlYXQpMzIKLWIodGhlKWcobGFzdCloKGNvbW1hbmQsKWYocmVwbGFjaW5nKWcgRnEoc3RyaW5nMSk0MCBiCi1GdCh3aXRoKTMxIGIgRnEoc3RyaW5nMilwIEZ0KC4pNjMwIDIzMzcgeShFcXVpdiktNSBiKGFsZW4pbSh0KTMxCi1iKHRvKWcgRnMoISE6cy8pcCBGaihzdHJpbmcxKTExIGIgRnMoLylwIEZqKHN0cmluZzIpZwotRnMoLylwIEZ0KC4pMTUwIDI0OTkgeSBGcyghIykzODQgYiBGdChUaGUpMzAgYihlbiltKHRpcmUpaChjb21tYW5kKWYKLShsaW5lKWgodCltKHlwKXMoZWQpZihzbyloKGZhci4pMTUwIDI3MjkgeSBGayg5LjMuMik2MwotYihXKS0xMCBiKG9yZCk0MSBiKERlc2lnbmF0b3JzKTI3NSAyOTc1IHkgRnQoVyktOCBiKG9yZCkzNQotYihkZXNpZ25hdG9ycylnKGFyZSlnKHVzZWQpZih0byloKHNlbGVjdCloKGRlc2lyZWQpZSh3KW0ob3JkcyloKGZyb20pZgotKHRoZSloKGV2KW0oZW4pbSh0Lik1NSBiKEEpMzQgYihgKXAgRnMoOilwIEZ0KCcpaChzZXBhcmF0ZXMpaCh0aGUpMTUwCi0zMDg1IHkoZXYpbShlbiltKHQpNDEgYihzcClzKGVjaVwwMTRjYXRpb24pZihmcm9tKWcodGhlKWYodyltKG9yZClnCi0oZGVzaWduYXRvci4pNjkgYihJdCk0MCBiKG1hKW0oeSlnKGIpcyhlKWYob21pdHRlZClpKGlmKWUodGhlKWgodyltCi0ob3JkKWYoZGVzaWduYXRvcikxNTAgMzE5NCB5KGIpcyhlZ2lucykzMyBiKHdpdGgpaChhKWgoYClwCi1GcyheKXAgRnQoJywpZyhgKXAgRnMoJClwIEZ0KCcsKWcoYClwIEZzKCopcCBGdCgnLCloKGApcAotRnMoLSlwIEZ0KCcsKWYob3IpZihgKXAgRnMoXDA0NSlwIEZ0KCcuKTUyIGIoVyktOCBiKG9yZHMpMzUKLWIoYXJlKWYobiltKHVtKW0oYilzKGVyZWQpZihmcm9tKWcodGhlKWkoYilzKGVnaW5uaW5nKWUob2YpaCh0aGUpZwotKGxpbmUsKTE1MCAzMzA0IHkod2l0aCkzOSBiKHRoZSloKFwwMTRyc3QpZih3KW0ob3JkKWcoYilzKGVpbmcpZwotKGRlbm90ZWQpaChiKW0oeSlnKDApZyhcKHplcm9cKS4pNzAgYihXKS04IGIob3JkcykzOQotYihhcmUpaChpbnNlcnRlZClnKGluKW0odG8pZyh0aGUpZyhjdXJyZW4pbSh0KWcobGluZSkxNTAKLTM0MTMgeShzZXBhcmF0ZWQpMzEgYihiKW0oeSlmKHNpbmdsZSloKHNwYWNlcy4pMjc1IDM1NTAKLXkoRiktOCBiKG9yKTMxIGIoZXhhbXBsZSwpMTUwIDM3MTQgeSBGcyghISkzODQgYiBGdChkZXNpZ25hdGVzKTM3Ci1iKHRoZSlmKHByZWNlZGluZylnKGNvbW1hbmQuKTU3IGIoV2hlbikzNSBiKHkpbShvdSlpKHQpbSh5cClzKGUpZgotKHRoaXMsKWgodGhlKWYocHJlY2VkaW5nKWcoY29tLSk2MzAgMzgyMyB5KG1hbmQpMzAgYihpcylnKHJlcClzKGVhdGVkKWcKLShpbilnKHRvdG8uKTE1MCAzOTg1IHkgRnMoISE6JCkyODggYiBGdChkZXNpZ25hdGVzKTIzCi1iKHRoZSlnKGxhc3QpZyhhcmd1bWVuKW0odClnKG9mKWYodGhlKWgocHJlY2VkaW5nKWYoY29tbWFuZC4pMzgKLWIoVGhpcykyMiBiKG1hKW0oeSloKGIpcyhlKWUoc2hvcnRlbmVkKTYzMCA0MDk1IHkodG8pMzEKLWIgRnMoISQpcCBGdCguKTE1MCA0MjU3IHkgRnMoIWZpOjIpMjQwIGIgRnQoZGVzaWduYXRlcykzMAotYih0aGUpZyhzZWNvbmQpZihhcmd1bWVuKW0odCloKG9mKWYodGhlKWgobW9zdClmKHJlY2VuKW0odClpKGNvbW1hbmQpZQotKHN0YXJ0aW5nKWgod2l0aClmKHRoZSk2MzAgNDM2NiB5KGxldHRlcnMpaiBGcyhmaSlwIEZ0KC4pMjc1Ci00NTI5IHkoSGVyZSllKGFyZSloKHRoZSlnKHcpbShvcmQpZihkZXNpZ25hdG9yczopMTUwCi00NjkyIHkgRnMoMClnKFwoemVyb1wpKTExNCBiIEZ0KFRoZSkzMCBiIEZzKDApcCBGdCh0aClnKHcpbShvcmQuKTQwCi1iKEYpLTggYihvcikzMSBiKG1hbiltKHkpZyhhcHBsaWNhdGlvbnMsKWgodGhpcyllKGlzKWcodGhlKWgoY29tbWFuZClmCi0odyltKG9yZC4pMTUwIDQ4NTQgeSBGaihuKTQzMiBiIEZ0KFRoZSkzMCBiIEZxKG4pcCBGdCh0aClnKHcpbShvcmQuKTE1MAotNTAxNiB5IEZzKF4pNDMyIGIgRnQoVGhlKTMwIGIoXDAxNHJzdClmKGFyZ3VtZW4pbSh0OylqKHRoYXQpZihpcywpZih3KW0KLShvcmQpZygxLikxNTAgNTE3OCB5IEZzKCQpNDMyIGIgRnQoVGhlKTMwIGIobGFzdCloKGFyZ3VtZW4pbSh0LikxNTAKLTUzNDAgeSBGcyhcMDQ1KTQzMiBiIEZ0KFRoZSkzMCBiKHcpbShvcmQpZyhtYXRjKW0oaGVkKWgoYiltKHkpZih0aGUpaAotKG1vc3QpZyhyZWNlbiltKHQpZyhgKXAgRnMoPylwIEZqKHN0cmluZykxMSBiIEZzKD8pcAotRnQoJykyOCBiKHNlYXJjKW0oaC4pcCBlb3AgZW5kCisobmV3bGluZS4pMTUwIDE3MDcgeSBGcyheKXAgRmkoc3RyaW5nMSkxMSBiIEZzKF4pcCBGaShzdHJpbmcyKWcKK0ZzKF4pNjMwIDE4MTYgeSBGdChRdWljKW0oaykzMSBiKFN1YnN0aXR1dGlvbi4pNDMgYihSZXApcyhlYXQpMzEKK2IodGhlKWcobGFzdCloKGNvbW1hbmQsKWcocmVwbGFjaW5nKWYgRnEoc3RyaW5nMSkzOSBiCitGdCh3aXRoKTMxIGIgRnEoc3RyaW5nMik3IGIgRnQoLik2MzAgMTkyNiB5KEVxdWl2KS01CitiKGFsZW4pbSh0KTMxIGIodG8pZyBGcyghITpzLylwIEZpKHN0cmluZzEpMTEgYiBGcygvKXAKK0ZpKHN0cmluZzIpZyBGcygvKXAgRnQoLikxNTAgMjA4OCB5IEZzKCEjKTM4NCBiIEZ0KFRoZSkzMAorYihlbiltKHRpcmUpaChjb21tYW5kKWYobGluZSloKHQpbSh5cClzKGVkKWYoc28paChmYXIuKTE1MAorMjI4OSB5IEZqKDkuMy4yKTYzIGIoVyktMTAgYihvcmQpNDEgYihEZXNpZ25hdG9ycykxNTAKKzI0MzYgeSBGdChXKS04IGIob3JkKTI3IGIoZGVzaWduYXRvcnMpaChhcmUpZyh1c2VkKWUodG8paShzZWxlY3QpaAorKGRlc2lyZWQpZCh3KW0ob3JkcyloKGZyb20pZih0aGUpaShldiltKGVuKW0odC4pNDEgYihBKTI3CitiKGApcCBGcyg6KXAgRnQoJylnKHNlcGFyYXRlcyloKHRoZSlmKGV2KW0oZW4pbSh0KTE1MAorMjU0NiB5KHNwKXMoZWNpXDAxNGNhdGlvbikzOCBiKGZyb20pZSh0aGUpaCh3KW0ob3JkKWYoZGVzaWduYXRvci4pNjEKK2IoSXQpMzcgYihtYSltKHkpaChiKXMoZSllKG9taXR0ZWQpaShpZillKHRoZSloKHcpbShvcmQpZyhkZXNpZ25hdG9yKWcKKyhiKXMoZWdpbnMpMTUwIDI2NTUgeSh3aXRoKTMwIGIoYSlnKGApcCBGcyheKXAgRnQoJywpZyhgKXAKK0ZzKCQpcCBGdCgnLClnKGApcCBGcygqKXAgRnQoJywpaChgKXAgRnMoLSlwIEZ0KCcsKWYob3IpZyhgKXAKK0ZzKFwwNDUpcCBGdCgnLik0MSBiKFcpLTggYihvcmRzKTMwIGIoYXJlKWcobiltKHVtKW0oYilzKGVyZWQpZShmcm9tKWkKKyh0aGUpZyhiKXMoZWdpbm5pbmcpZihvZiloKHRoZSlnKGxpbmUsKWcod2l0aClnKHRoZSkxNTAKKzI3NjUgeShcMDE0cnN0KWYodyltKG9yZClmKGIpcyhlaW5nKWgoZGVub3RlZCloKGIpbSh5KWYoMCloKFwoemVyb1wpLikKKzQxIGIoVyktOCBiKG9yZHMpMzAgYihhcmUpZyhpbnNlcnRlZClmKGluKW0odG8paCh0aGUpZyhjdXJyZW4pbSh0KWYKKyhsaW5lKWcoc2VwYXJhdGVkKWgoYiltKHkpMTUwIDI4NzQgeShzaW5nbGUpaChzcGFjZXMuKTI3NQorMzAxMSB5KEYpLTggYihvcikzMSBiKGV4YW1wbGUsKTE1MCAzMTc0IHkgRnMoISEpMzg0IGIKK0Z0KGRlc2lnbmF0ZXMpMzcgYih0aGUpZihwcmVjZWRpbmcpZyhjb21tYW5kLik1NyBiKFdoZW4pMzUKK2IoeSltKG91KWkodCltKHlwKXMoZSlmKHRoaXMsKWgodGhlKWYocHJlY2VkaW5nKWcoY29tLSk2MzAKKzMyODMgeShtYW5kKTMwIGIoaXMpZyhyZXApcyhlYXRlZClnKGluKWcodG90by4pMTUwIDM0NDUKK3kgRnMoISE6JCkyODggYiBGdChkZXNpZ25hdGVzKTIzIGIodGhlKWcobGFzdClnKGFyZ3VtZW4pbSh0KWcob2YpZih0aGUpCitoKHByZWNlZGluZylmKGNvbW1hbmQuKTM4IGIoVGhpcykyMiBiKG1hKW0oeSloKGIpcyhlKWUoc2hvcnRlbmVkKTYzMAorMzU1NSB5KHRvKTMxIGIgRnMoISQpcCBGdCguKTE1MCAzNzE2IHkgRnMoIWZpOjIpMjQwIGIKK0Z0KGRlc2lnbmF0ZXMpMzAgYih0aGUpZyhzZWNvbmQpZihhcmd1bWVuKW0odCloKG9mKWYodGhlKWgobW9zdClmCisocmVjZW4pbSh0KWkoY29tbWFuZCllKHN0YXJ0aW5nKWgod2l0aClmKHRoZSk2MzAgMzgyNgoreShsZXR0ZXJzKWogRnMoZmkpcCBGdCguKTI3NSAzOTg4IHkoSGVyZSllKGFyZSloKHRoZSlnKHcpbShvcmQpZgorKGRlc2lnbmF0b3JzOikxNTAgNDE1MSB5IEZzKDApZyhcKHplcm9cKSkxMTQgYiBGdChUaGUpMzAKK2IgRnMoMClwIEZ0KHRoKWcodyltKG9yZC4pNDAgYihGKS04IGIob3IpMzEgYihtYW4pbSh5KWcoYXBwbGljYXRpb25zLCloCisodGhpcyllKGlzKWcodGhlKWgoY29tbWFuZClmKHcpbShvcmQuKTE1MCA0MzEzIHkgRmkobik0MzIKK2IgRnQoVGhlKTMwIGIgRnEobilwIEZ0KHRoKWcodyltKG9yZC4pMTUwIDQ0NzQgeSBGcyheKTQzMgorYiBGdChUaGUpMzAgYihcMDE0cnN0KWYoYXJndW1lbiltKHQ7KWoodGhhdClmKGlzLClmKHcpbShvcmQpZygxLikxNTAKKzQ2MzYgeSBGcygkKTQzMiBiIEZ0KFRoZSkzMCBiKGxhc3QpaChhcmd1bWVuKW0odC4pMTUwCis0Nzk4IHkgRnMoXDA0NSk0MzIgYiBGdChUaGUpMzAgYih3KW0ob3JkKWcobWF0YyltKGhlZCloKGIpbSh5KWYodGhlKWgKKyhtb3N0KWcocmVjZW4pbSh0KWcoYClwIEZzKD8pcCBGaShzdHJpbmcpMTEgYiBGcyg/KXAKK0Z0KCcpMjggYihzZWFyYyltKGguKTE1MCA0OTU5IHkgRmkoeCkxMSBiIEZzKC0pcCBGaSh5KTMyNQorYiBGdChBKTMwIGIocmFuZ2UpaChvZilnKHcpbShvcmRzOylmKGApcCBGcygtKXAgRmkoeSkxMQorYiBGdCgnKTMwIGIoYWJicmV2aWF0ZXMpaChgKXAgRnMoMC0pcCBGaSh5KTExIGIgRnQoJy4pMTUwCis1MTIxIHkgRnMoKik0MzIgYiBGdChBbGwpMjggYihvZilnKHRoZSlnKHcpbShvcmRzLClnKGV4Y2VwdCloKHRoZSllCitGcygwKXAgRnQodGguKTQwIGIoVGhpcykyNyBiKGlzKWcoYSloKHN5bm9uKW0oeW0pZihmb3IpaChgKXAKK0ZzKDEtJClwIEZ0KCcuKTM5IGIoSXQpMjggYihpcylnKG5vdClnKGFuKWYoZXJyb3IpNjMwCis1MjMwIHkodG8paih1c2UpZyhgKXAgRnMoKilwIEZ0KCcpZihpZiloKHRoZXJlKWcoaXMpZyhqdXN0KWYob25lKWgodyltCisob3JkKWYoaW4pZyh0aGUpaChldiltKGVuKW0odDspaSh0aGUpZChlbXB0KW0oeSlpKHN0cmluZyllKGlzKWgKKyhyZXR1cm5lZCllKGluKTYzMCA1MzQwIHkodGhhdClqKGNhc2UuKXAgZW9wIGVuZAogJSVQYWdlOiAxMjUgMTMxCiBUZVhEaWN0IGJlZ2luIDEyNSAxMzAgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDk6KTQxCiBiKFVzaW5nKTMwIGIoSGlzdG9yeSloKEluKW0odGVyYWN0aXYpbShlbHkpMTkyNSBiKDEyNSkxNTAKLTI5OSB5IEZqKHgpcCBGcygtKXAgRmooeSkzMzYgYiBGdChBKTMwIGIocmFuZ2UpaChvZilnKHcpbShvcmRzOylmKGApcAotRnMoLSlwIEZqKHkpMTEgYiBGdCgnKTMwIGIoYWJicmV2aWF0ZXMpaChgKXAgRnMoMC0pcAotRmooeSkxMSBiIEZ0KCcuKTE1MCA0NTggeSBGcygqKTQzMiBiIEZ0KEFsbCkyOCBiKG9mKWcodGhlKWcodyltKG9yZHMsKWcKLShleGNlcHQpaCh0aGUpZSBGcygwKXAgRnQodGguKTQwIGIoVGhpcykyNyBiKGlzKWcoYSloKHN5bm9uKW0oeW0pZihmb3IpCi1oKGApcCBGcygxLSQpcCBGdCgnLikzOSBiKEl0KTI4IGIoaXMpZyhub3QpZyhhbilmKGVycm9yKTYzMAotNTY4IHkodG8paih1c2UpZyhgKXAgRnMoKilwIEZ0KCcpZihpZiloKHRoZXJlKWcoaXMpZyhqdXN0KWYob25lKWgodyltCi0ob3JkKWYoaW4pZyh0aGUpaChldiltKGVuKW0odDspaSh0aGUpZChlbXB0KW0oeSlpKHN0cmluZyllKGlzKWgKLShyZXR1cm5lZCllKGluKTYzMCA2NzcgeSh0aGF0KWooY2FzZS4pMTUwIDgzNyB5IEZqKHgpMTEKLWIgRnMoKikzNzMgYiBGdChBYmJyZXZpYXRlcykzMSBiKGApcCBGaih4KXAgRnMoLSQpcCBGdCgnKTE1MAotOTk2IHkgRmooeClwIEZzKC0pMzg0IGIgRnQoQWJicmV2aWF0ZXMpMzEgYihgKXAgRmooeClwCi1GcygtJClwIEZ0KCcpZihsaWspbShlKWgoYClwIEZqKHgpMTEgYiBGcygqKXAgRnQoJywpMzEKLWIoYnV0KWUob21pdHMpaSh0aGUpZyhsYXN0KWcodyltKG9yZC4pMjc1IDExNTYgeShJZilpKGEpaCh3KW0ob3JkKWcKLShkZXNpZ25hdG9yKWcoaXMpZyhzdXBwbGllZClmKHdpdGhvdXQpaChhbilnKGV2KW0oZW4pbSh0KWgoc3ApcwotKGVjaVwwMTRjYXRpb24sKWgodGhlKWUocHJldmlvdXMpZihjb21tYW5kKTE1MCAxMjY1IHkoaXMpZCh1c2VkKWcoYXMpaAotKHRoZSlmKGV2KW0oZW4pbSh0LikxNTAgMTQ4OSB5IEZrKDkuMy4zKTYzIGIoTW8pcyhkaVwwMTRlcnMpMjc1Ci0xNzMzIHkgRnQoQWZ0ZXIpMjAgYih0aGUpaChvcHRpb25hbCloKHcpbShvcmQpZihkZXNpZ25hdG9yLClpKHkpbShvdSllCi0oY2FuKWcoYWRkKWYoYSloKHNlcXVlbmNlKWcob2YpZyhvbmUpZyhvcilnKG1vcmUpZyhvZilnKHRoZSlmKGZvbGxvKW0KLSh3aW5nKTE1MCAxODQzIHkobW8pcyhkaVwwMTRlcnMsKTI5IGIoZWFjKW0oaClqKHByZWNlZGVkKWUoYiltKHkpZyhhKWgKLShgKXAgRnMoOilwIEZ0KCcuKTE1MCAyMDAyIHkgRnMoaCk0MzIgYiBGdChSZW1vKW0odiltKGUpMzIKLWIoYSlmKHRyYWlsaW5nKWcocGF0aG5hbWUpZyhjb21wKXMob25lbiltKHQsKWcobGVhKW0odmluZyloKG9ubHkpZSh0aGUpCi1oKGhlYWQuKTE1MCAyMTYyIHkgRnModCk0MzIgYiBGdChSZW1vKW0odiltKGUpMzIgYihhbGwpZihsZWFkaW5nKWgKLShwYXRobmFtZSllKGNvbXApcyhvbmVuKW0odHMsKWgobGVhKW0odmluZyloKHRoZSllKHRhaWwuKTE1MAotMjMyMSB5IEZzKHIpNDMyIGIgRnQoUmVtbyltKHYpbShlKTMyIGIoYSlmKHRyYWlsaW5nKWcoc3VcMDE2eClmKG9mKWcKLSh0aGUpaChmb3JtKWYoYClwIEZzKC4pcCBGaihzdWZmaXgpMTEgYiBGdCgnLCkyOCBiKGxlYSltKHZpbmcpMzMKLWIodGhlKWQoYmFzZW5hbWUuKTE1MCAyNDgxIHkgRnMoZSk0MzIgYiBGdChSZW1vKW0odiltKGUpMzIKLWIoYWxsKWYoYnV0KWYodGhlKWgodHJhaWxpbmcpZyhzdVwwMTZ4LikxNTAgMjY0MCB5IEZzKHApNDMyCi1iIEZ0KFByaW4pbSh0KTMwIGIodGhlKWgobmV3KWYoY29tbWFuZClnKGJ1dClnKGRvKWcobm90KWcoZXhlY3V0ZSlpCi0oaXQuKTE1MCAyODAwIHkgRnMocSk0MzIgYiBGdChRdW90ZSkzMSBiKHRoZSlmKHN1YnN0aXR1dGVkKWcodyltKG9yZHMsKQotZyhlc2NhcGluZyloKGZ1cnRoZXIpZShzdWJzdGl0dXRpb25zLikxNTAgMjk1OSB5IEZzKHgpNDMyCi1iIEZ0KFF1b3RlKTMyIGIodGhlKWYoc3Vic3RpdHV0ZWQpZyh3KW0ob3JkcylmKGFzKWkod2l0aClmKGApcAotRnMocSlwIEZ0KCcsKWgoYnV0KWUoYnJlYWspaChpbiltKHRvKWkodyltKG9yZHMpZChhdClpKHNwYWNlcywpaCh0YWJzLCkKLTYzMCAzMDY4IHkoYW5kKWQobmV3bGluZXMuKTE1MCAzMjI4IHkgRnMocy8pcCBGaihvbGQpMTEKLWIgRnMoLylwIEZqKG5ldylnIEZzKC8pNjMwIDMzMzcgeSBGdChTdWJzdGl0dXRlKTMyIGIKLUZxKG5ldyk0MCBiIEZ0KGZvcikzMiBiKHRoZSloKFwwMTRyc3QpZihvKXMoY2N1cnJlbmNlKWgob2YpZgotRnEob2xkKTM3IGIgRnQoaW4pMzIgYih0aGUpaChldiltKGVuKW0odCloKGxpbmUuKTQ4IGIoQW4pbSh5KTMyCi1iKGRlbGltaXRlcik2MzAgMzQ0NyB5KG1hKW0oeSkyNSBiKGIpcyhlKWcodXNlZClmKGluKWcocGxhY2UpaShvZilmKGApcAotRnMoLylwIEZ0KCcuKTM5IGIoVGhlKTI0IGIoZGVsaW1pdGVyKWgobWEpbSh5KWgoYilzKGUpZShxdW90ZWQpaChpbilmCi1GcShvbGQpMjkgYiBGdChhbmQpMjQgYiBGcShuZXcpMzIgYiBGdCh3aXRoKTI1IGIoYSk2MzAKLTM1NTcgeShzaW5nbGUpayhiYWMpbShrc2xhc2guKTQwIGIoSWYpMjggYihgKXAgRnMoJilwCi1GdCgnKWcoYXBwKXMoZWFycylnKGluKWYgRnEobmV3KXAgRnQoLClpKGl0KWYoaXMpaChyZXBsYWNlZClmKGIpbSh5KWcKLUZxKG9sZClwIEZ0KC4pNDAgYihBKTI4IGIoc2luZ2xlKWgoYmFjKW0oa3NsYXNoKTYzMCAzNjY2Ci15KHdpbGwpMzUgYihxdW90ZSlnKHRoZSlnKGApcCBGcygmKXAgRnQoJy4pNTQgYihUaGUpMzQKLWIoXDAxNG5hbClnKGRlbGltaXRlcilpKGlzKWUob3B0aW9uYWwpaShpZilmKGl0KWcoaXMpZih0aGUpaChsYXN0KWgoYyltCi0oaGFyYWN0ZXIpZyhvbik2MzAgMzc3NiB5KHRoZSkzMSBiKGlucHV0KWUobGluZS4pMTUwCi0zOTM1IHkgRnMoJik0MzIgYiBGdChSZXApcyhlYXQpMzEgYih0aGUpZihwcmV2aW91cylnKHN1YnN0aXR1dGlvbi4pMTUwCi00MDk1IHkgRnMoZykxNTAgNDIwNCB5KGEpNDMyIGIgRnQoQ2F1c2UpMzggYihjKW0oaGFuZ2VzKWkodG8pZihiKXMoZSlmCi0oYXBwbGllZCloKG8pbSh2KW0oZXIpaCh0aGUpZihlbiltKHRpcmUpZyhldiltKGVuKW0odCloKGxpbmUuKTY2Ci1iKFVzZWQpMzkgYihpbilmKGNvbmp1bmN0aW9uKTYzMCA0MzE0IHkod2l0aCkzMCBiKGApcAotRnMocylwIEZ0KCcsKWgoYXMpZihpbiloIEZzKGdzLylwIEZqKG9sZCkxMSBiIEZzKC8pcAotRmoobmV3KWcgRnMoLylwIEZ0KCwpMjYgYihvcilrKHdpdGgpaChgKXAgRnMoJilwIEZ0KCcuKTE1MAotNDQ3MyB5IEZzKEcpNDMyIGIgRnQoQXBwbHkpMzAgYih0aGUpZyhmb2xsbyltKHdpbmcpaShgKXAKLUZzKHMpcCBGdCgnKWYobW8pcyhkaVwwMTRlcillKG9uY2UpaSh0bylnKGVhYyltKGgpaCh3KW0ob3JkKWUoaW4pZyh0aGUpCi1nKGV2KW0oZW4pbSh0LilwIGVvcCBlbmQKKzI5OSB5IEZpKHgpMTEgYiBGcygqKTM3MyBiIEZ0KEFiYnJldmlhdGVzKTMxIGIoYClwIEZpKHgpMTEKK2IgRnMoLSQpcCBGdCgnKTE1MCA0NTggeSBGaSh4KWcgRnMoLSkzNzMgYiBGdChBYmJyZXZpYXRlcykzMQorYihgKXAgRmkoeCkxMSBiIEZzKC0kKXAgRnQoJykyOSBiKGxpayltKGUpaihgKXAgRmkoeCkxMQorYiBGcygqKXAgRnQoJywpMzAgYihidXQpZyhvbWl0cyloKHRoZSlmKGxhc3QpaCh3KW0ob3JkLikyNzUKKzYxOCB5KElmKWkoYSloKHcpbShvcmQpZyhkZXNpZ25hdG9yKWcoaXMpZyhzdXBwbGllZClmKHdpdGhvdXQpaChhbilnCisoZXYpbShlbiltKHQpaChzcClzKGVjaVwwMTRjYXRpb24sKWgodGhlKWUocHJldmlvdXMpZihjb21tYW5kKTE1MAorNzI3IHkoaXMpZCh1c2VkKWcoYXMpaCh0aGUpZihldiltKGVuKW0odC4pMTUwIDkyNyB5IEZqKDkuMy4zKTYzCitiKE1vKXMoZGlcMDE0ZXJzKTE1MCAxMDczIHkgRnQoQWZ0ZXIpMjkgYih0aGUpZyhvcHRpb25hbClnKHcpbShvcmQpZworKGRlc2lnbmF0b3IsKWcoeSltKG91KWcoY2FuKWcoYWRkKWYoYSloKHNlcXVlbmNlKWcob2YpZyhvbmUpZyhvcilmCisobW9yZSloKG9mKWcodGhlKWYoZm9sbG8pbSh3aW5nKTE1MCAxMTgzIHkobW8pcyhkaVwwMTRlcnMsKWgoZWFjKW0oaClqCisocHJlY2VkZWQpZShiKW0oeSlnKGEpaChgKXAgRnMoOilwIEZ0KCcuKTE1MCAxMzQyIHkgRnMoaCk0MzIKK2IgRnQoUmVtbyltKHYpbShlKTMyIGIoYSlmKHRyYWlsaW5nKWcocGF0aG5hbWUpZyhjb21wKXMob25lbiltKHQsKWcKKyhsZWEpbSh2aW5nKWgob25seSllKHRoZSloKGhlYWQuKTE1MCAxNTAyIHkgRnModCk0MzIKK2IgRnQoUmVtbyltKHYpbShlKTMyIGIoYWxsKWYobGVhZGluZyloKHBhdGhuYW1lKWUoY29tcClzKG9uZW4pbSh0cywpaAorKGxlYSltKHZpbmcpaCh0aGUpZSh0YWlsLikxNTAgMTY2MSB5IEZzKHIpNDMyIGIgRnQoUmVtbyltKHYpbShlKTMyCitiKGEpZih0cmFpbGluZylnKHN1XDAxNngpZihvZilnKHRoZSloKGZvcm0pZihgKXAgRnMoLilwCitGaShzdWZmaXgpMTEgYiBGdCgnLCkyOCBiKGxlYSltKHZpbmcpMzMgYih0aGUpZChiYXNlbmFtZS4pMTUwCisxODIxIHkgRnMoZSk0MzIgYiBGdChSZW1vKW0odiltKGUpMzIgYihhbGwpZihidXQpZih0aGUpaCh0cmFpbGluZylnCisoc3VcMDE2eC4pMTUwIDE5ODAgeSBGcyhwKTQzMiBiIEZ0KFByaW4pbSh0KTMwIGIodGhlKWgobmV3KWYoY29tbWFuZClnCisoYnV0KWcoZG8pZyhub3QpZyhleGVjdXRlKWkoaXQuKTE1MCAyMTM5IHkgRnMocSk0MzIgYgorRnQoUXVvdGUpMzEgYih0aGUpZihzdWJzdGl0dXRlZClnKHcpbShvcmRzLClnKGVzY2FwaW5nKWgoZnVydGhlcillCisoc3Vic3RpdHV0aW9ucy4pMTUwIDIyOTkgeSBGcyh4KTQzMiBiIEZ0KFF1b3RlKTMyIGIodGhlKWYoc3Vic3RpdHV0ZWQpZworKHcpbShvcmRzKWYoYXMpaSh3aXRoKWYoYClwIEZzKHEpcCBGdCgnLCloKGJ1dCllKGJyZWFrKWgoaW4pbSh0bylpKHcpbQorKG9yZHMpZChhdClpKHNwYWNlcywpaCh0YWJzLCk2MzAgMjQwOCB5KGFuZClkKG5ld2xpbmVzLikxNTAKKzI1NjggeSBGcyhzLylwIEZpKG9sZCkxMSBiIEZzKC8pcCBGaShuZXcpZyBGcygvKTYzMCAyNjc3Cit5IEZ0KFN1YnN0aXR1dGUpMzIgYiBGcShuZXcpNDAgYiBGdChmb3IpMzIgYih0aGUpaChcMDE0cnN0KWYobylzCisoY2N1cnJlbmNlKWgob2YpZiBGcShvbGQpMzcgYiBGdChpbikzMiBiKHRoZSloKGV2KW0oZW4pbSh0KWgobGluZS4pNDgKK2IoQW4pbSh5KTMyIGIoZGVsaW1pdGVyKTYzMCAyNzg3IHkobWEpbSh5KTI1IGIoYilzKGUpZyh1c2VkKWYoaW4pZworKHBsYWNlKWkob2YpZihgKXAgRnMoLylwIEZ0KCcuKTM5IGIoVGhlKTI0IGIoZGVsaW1pdGVyKWgobWEpbSh5KWgoYilzCisoZSllKHF1b3RlZCloKGluKWYgRnEob2xkKTI5IGIgRnQoYW5kKTI0IGIgRnEobmV3KTMyCitiIEZ0KHdpdGgpMjUgYihhKTYzMCAyODk3IHkoc2luZ2xlKWooYmFjKW0oa3NsYXNoLik0MAorYihJZikyNyBiKGApcCBGcygmKXAgRnQoJylnKGFwcClzKGVhcnMpZyhpbilnIEZxKG5ldyk4CitiIEZ0KCwpMjcgYihpdCloKGlzKWYocmVwbGFjZWQpaChiKW0oeSlmIEZxKG9sZCl0IEZ0KC4pMzkKK2IoQSkyNyBiKHNpbmdsZSloKGJhYyltKGtzbGFzaCk2MzAgMzAwNiB5KHdpbGwpMzUgYihxdW90ZSlnKHRoZSlnKGApcAorRnMoJilwIEZ0KCcuKTU0IGIoVGhlKTM0IGIoXDAxNG5hbClnKGRlbGltaXRlcilpKGlzKWUob3B0aW9uYWwpaShpZilmCisoaXQpZyhpcylmKHRoZSloKGxhc3QpaChjKW0oaGFyYWN0ZXIpZyhvbik2MzAgMzExNiB5KHRoZSkzMQorYihpbnB1dCllKGxpbmUuKTE1MCAzMjc1IHkgRnMoJik0MzIgYiBGdChSZXApcyhlYXQpMzEKK2IodGhlKWYocHJldmlvdXMpZyhzdWJzdGl0dXRpb24uKTE1MCAzNDM1IHkgRnMoZykxNTAKKzM1NDQgeShhKTQzMiBiIEZ0KENhdXNlKTM4IGIoYyltKGhhbmdlcylpKHRvKWYoYilzKGUpZihhcHBsaWVkKWgobyltKHYpCittKGVyKWgodGhlKWYoZW4pbSh0aXJlKWcoZXYpbShlbiltKHQpaChsaW5lLik2NiBiKFVzZWQpMzkKK2IoaW4pZihjb25qdW5jdGlvbik2MzAgMzY1NCB5KHdpdGgpMzAgYihgKXAgRnMocylwIEZ0KCcsKWgoYXMpZihpbiloCitGcyhncy8pcCBGaShvbGQpMTEgYiBGcygvKXAgRmkobmV3KWcgRnMoLylwIEZ0KCwpMjYgYihvcilrKHdpdGgpaChgKXAKK0ZzKCYpcCBGdCgnLikxNTAgMzgxMyB5IEZzKEcpNDMyIGIgRnQoQXBwbHkpMzAgYih0aGUpZyhmb2xsbyltKHdpbmcpaQorKGApcCBGcyhzKXAgRnQoJylmKG1vKXMoZGlcMDE0ZXIpZShvbmNlKWkodG8pZyhlYWMpbShoKWgodyltKG9yZCllKGluKWcKKyh0aGUpZyhldiltKGVuKW0odC4pcCBlb3AgZW5kCiAlJVBhZ2U6IDEyNiAxMzIKLVRlWERpY3QgYmVnaW4gMTI2IDEzMSBib3AgMTUwIC0xMTYgYSBGdCgxMjYpMjUyNyBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKXAgZW9wIGVuZAorVGVYRGljdCBiZWdpbiAxMjYgMTMxIGJvcCBlb3AgZW5kCiAlJVBhZ2U6IDEyNyAxMzMKIFRlWERpY3QgYmVnaW4gMTI3IDEzMiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoMTA6KTQxCiBiKEluc3RhbGxpbmcpMzEgYihCYXNoKTIzNTYgYigxMjcpMTUwIDI5OSB5IEZvKDEwKTgwCi1iKEluc3RhbGxpbmcpNTIgYihCYXNoKTI3NSA1MzUgeSBGdChUaGlzKTM5IGIoYyltKGhhcHRlcilpKHBybyltKHZpZGVzKQotZihiYXNpYylnKGluc3RydWN0aW9ucylnKGZvcilnKGluc3RhbGxpbmcpaChCYXNoKWYob24pZyh0aGUpaCh2KS01Ci1iKGFyaW91cyk0MCBiKHN1cHApcyhvcnRlZCkxNTAgNjQ1IHkocGxhdGZvcm1zLik1OCBiKFRoZSkzNgotYihkaXN0cmlidXRpb24pZyhzdXBwKXMob3J0cyllKHRoZSlqIEZsKGdudSlmIEZ0KG9wKXMoZXJhdGluZylnCi0oc3lzdGVtcywpaihuZWFybHkpZChldiltKGVyeSloKHYpbShlcnNpb24pZyhvZikxNTAgNzU0Ci15KFVuaXgsKWcoYW5kKWUoc2V2KW0oZXJhbClpKG5vbi1Vbml4KWYoc3lzdGVtcylnKHN1YyltKGgpZihhcyloKEJlT1MpZwotKGFuZClmKEluKW0odGVyaXguKTU3IGIoT3RoZXIpMzUgYihpbmRlcClzKGVuZGVuKW0odClnKHApcyhvcnRzKTE1MAotODY0IHkoZXhpc3QpYyhmb3IpZiBGbChtcy1kb3MpcCBGdCgsKWcgRmwob3MvMilwIEZ0KCwpZyhhbmQpZyhXaW5kbyltCi0od3MpaChwbGF0Zm9ybXMuKTE1MCAxMTIzIHkgRnIoMTAuMSk2OCBiKEJhc2ljKTQ1IGIoSW5zdGFsbGF0aW9uKTI3NQotMTM2NyB5IEZ0KFRoZXNlKTMwIGIoYXJlKWcoaW5zdGFsbGF0aW9uKWooaW5zdHJ1Y3Rpb25zKWQoZm9yKWcoQmFzaC4pCi0yNzUgMTUwMyB5KFRoZSlmKHNpbXBsZXN0KWkodyltKGEpbSh5KWcodG8pZyhjb21waWxlKWgoQmFzaCllKGlzOikxOTkKLTE2MzggeSgxLik2MSBiIEZzKGNkKTM4IGIgRnQodG8paCh0aGUpZihkaXJlY3RvcnkpaChjb24pbSh0YWluaW5nKWgKLSh0aGUpZihzb3VyY2UpZihjbylzKGRlKWgoYW5kKWYodCltKHlwKXMoZSlnKGApcCBGcyguL2NvbmZpZ3VyZSlwCi1GdCgnKWUodG8paihjb25cMDE0Z3VyZSkzMzAgMTc0NyB5KEJhc2gpYyhmb3IpZih5KW0ob3VyKWgoc3lzdGVtLik1NAotYihJZikzNCBiKHkpbShvdSdyZSloKHVzaW5nKWYgRnMoY3NoKWcgRnQob24pZyhhbiloKG9sZClnKHYpbShlcnNpb24pZwotKG9mKWcoU3lzdGVtKWYoViwpaCh5KW0ob3UpZyhtaWdoKW0odCkzMzAgMTg1NyB5KG5lZWQpMjEKLWIodG8pZyh0KW0oeXApcyhlKWcoYClwIEZzKHNoKTMwIGIoLi9jb25maWd1cmUpcCBGdCgnKTE4Ci1iKGluc3RlYWQpaih0bylnKHByZXYpbShlbiltKHQpaCBGcyhjc2gpZSBGdChmcm9tKWcodHJ5aW5nKWgodG8pZwotKGV4ZWN1dGUpaCBGcyhjb25maWd1cmUpMzMwIDE5NjYgeSBGdChpdHNlbGYuKTMzMCAyMTAxCi15KFJ1bm5pbmcpMzAgYiBGcyhjb25maWd1cmUpZiBGdCh0YWspbShlcylrKHNvbWUpZSh0aW1lLik0NQotYihXaGlsZSkzMiBiKHJ1bm5pbmcsKWUoaXQpaShwcmluKW0odHMpZihtZXNzYWdlcyloKHRlbGxpbmcpaCh3aGljKW0oaCkKLTMzMCAyMjExIHkoZmVhdHVyZXMpZShpdClnKGlzKWYoYyltKGhlYyltKGtpbmcpaShmb3IuKTE5OQotMjM0NiB5KDIuKTYxIGIoVCltKHlwKXMoZSkzMCBiKGApcCBGcyhtYWtlKXAgRnQoJylnKHRvKWgoY29tcGlsZSlnCi0oQmFzaClnKGFuZCllKGJ1aWxkKWgodGhlKWcgRnMoYmFzaGJ1ZylmIEZ0KGJ1ZylnKHJlcClzKG9ydGluZyloCi0oc2NyaXB0LikxOTkgMjQ4MSB5KDMuKTYxIGIoT3B0aW9uYWxseSktOCBiKCwpMzIgYih0KW0oeXApcyhlKWUoYClwCi1GcyhtYWtlKWcodGVzdHMpcCBGdCgnKWYodG8paShydW4pZSh0aGUpaChCYXNoKWgodGVzdClnKHN1aXRlLikxOTkKLTI2MTUgeSg0Lik2MSBiKFQpbSh5cClzKGUpMzYgYihgKXAgRnMobWFrZSkyOSBiKGluc3RhbGwpcAorYihJbnN0YWxsaW5nKTUyIGIoQmFzaCkxNTAgNTU2IHkgRnQoVGhpcykzMSBiKGMpbShoYXB0ZXIpaChwcm8pbSh2aWRlcykKK2coYmFzaWMpZyhpbnN0cnVjdGlvbnMpZihmb3IpZyhpbnN0YWxsaW5nKWkoQmFzaClmKG9uKWYodGhlKWgodiktNQorYihhcmlvdXMpMzEgYihzdXBwKXMob3J0ZWQpZihwbGF0LSkxNTAgNjY1IHkoZm9ybXMuKTQwCitiKFRoZSkyOCBiKGRpc3RyaWJ1dGlvbiloKHN1cHApcyhvcnRzKWUodGhlKWogRmwoZ251KWYKK0Z0KG9wKXMoZXJhdGluZyloKHN5c3RlbXMsKWYobmVhcmx5KWgoZXYpbShlcnkpZyh2KW0oZXJzaW9uKWYob2YpaAorKFVuaXgsKTE1MCA3NzUgeShhbmQpZChzZXYpbShlcmFsKWoobm9uLVVuaXgpZChzeXN0ZW1zKWgoc3VjKW0oaClnKGFzKWcKKyhCZU9TKWcoYW5kKWYoSW4pbSh0ZXJpeC4pNDAgYihPdGhlcikyOCBiKGluZGVwKXMoZW5kZW4pbSh0KWUocClzKG9ydHMpCitoKGV4aXN0KWkoZm9yKTE1MCA4ODQgeSBGbChtcy1kb3MpcCBGdCgsKWggRmwob3MvMilwCitGdCgsKWcoYW5kKWcoV2luZG8pbSh3cylnKHBsYXRmb3Jtcy4pMTUwIDExMjggeSBGcigxMC4xKTY4CitiKEJhc2ljKTQ1IGIoSW5zdGFsbGF0aW9uKTE1MCAxMjg4IHkgRnQoVGhlc2UpMzAgYihhcmUpaChpbnN0YWxsYXRpb24paAorKGluc3RydWN0aW9ucyllKGZvciloKEJhc2guKTI3NSAxNDMwIHkoVGhlKWUoc2ltcGxlc3QpaSh3KW0oYSltKHkpZyh0bykKK2coY29tcGlsZSloKEJhc2gpZShpczopMTk5IDE1NzIgeSgxLik2MSBiIEZzKGNkKTM4IGIKK0Z0KHRvKWgodGhlKWYoZGlyZWN0b3J5KWgoY29uKW0odGFpbmluZyloKHRoZSlmKHNvdXJjZSlmKGNvKXMoZGUpaChhbmQpCitmKHQpbSh5cClzKGUpZyhgKXAgRnMoLi9jb25maWd1cmUpcCBGdCgnKWUodG8paihjb25cMDE0Z3VyZSkzMzAKKzE2ODEgeShCYXNoKWMoZm9yKWYoeSltKG91ciloKHN5c3RlbS4pNTQgYihJZikzNCBiKHkpbShvdSdyZSloKHVzaW5nKWYKK0ZzKGNzaClnIEZ0KG9uKWcoYW4paChvbGQpZyh2KW0oZXJzaW9uKWcob2YpZyhTeXN0ZW0pZihWLCloKHkpbShvdSlnCisobWlnaCltKHQpMzMwIDE3OTEgeShuZWVkKTIxIGIodG8pZyh0KW0oeXApcyhlKWcoYClwCitGcyhzaCkzMCBiKC4vY29uZmlndXJlKXAgRnQoJykxOCBiKGluc3RlYWQpaih0bylnKHByZXYpbShlbiltKHQpaAorRnMoY3NoKWUgRnQoZnJvbSlnKHRyeWluZyloKHRvKWcoZXhlY3V0ZSloIEZzKGNvbmZpZ3VyZSkzMzAKKzE5MDEgeSBGdChpdHNlbGYuKTMzMCAyMDM5IHkoUnVubmluZykzMCBiIEZzKGNvbmZpZ3VyZSlmCitGdCh0YWspbShlcylrKHNvbWUpZSh0aW1lLik0NSBiKFdoaWxlKTMyIGIocnVubmluZywpZShpdClpKHByaW4pbSh0cylmCisobWVzc2FnZXMpaCh0ZWxsaW5nKWgod2hpYyltKGgpMzMwIDIxNDkgeShmZWF0dXJlcyllKGl0KWcoaXMpZihjKW0oaGVjKQorbShraW5nKWkoZm9yLikxOTkgMjI4NyB5KDIuKTYxIGIoVCltKHlwKXMoZSkzMCBiKGApcAorRnMobWFrZSlwIEZ0KCcpZyh0byloKGNvbXBpbGUpZyhCYXNoKWcoYW5kKWUoYnVpbGQpaCh0aGUpZworRnMoYmFzaGJ1ZylmIEZ0KGJ1ZylnKHJlcClzKG9ydGluZyloKHNjcmlwdC4pMTk5IDI0MjUKK3koMy4pNjEgYihPcHRpb25hbGx5KS04IGIoLCkzMiBiKHQpbSh5cClzKGUpZShgKXAgRnMobWFrZSlnKHRlc3RzKXAKK0Z0KCcpZih0bylpKHJ1billKHRoZSloKEJhc2gpaCh0ZXN0KWcoc3VpdGUuKTE5OSAyNTYzCit5KDQuKTYxIGIoVCltKHlwKXMoZSkzNiBiKGApcCBGcyhtYWtlKTI5IGIoaW5zdGFsbClwCiBGdCgnKTM1IGIodG8paShpbnN0YWxsKWggRnMoYmFzaClkIEZ0KGFuZCloIEZzKGJhc2hidWcpcAogRnQoLik1NyBiKFRoaXMpMzUgYih3aWxsKWkoYWxzbyloKGluc3RhbGwpZih0aGUpZyhtYW4pbSh1YWwpMzMwCi0yNzI1IHkocGFnZXMpMzEgYihhbmQpZihJbmZvKWcoXDAxNGxlLikyNzUgMjg4NSB5KFRoZSkyMAorMjY3MyB5KHBhZ2VzKTMxIGIoYW5kKWYoSW5mbylnKFwwMTRsZS4pMjc1IDI4NDQgeShUaGUpMjAKIGIgRnMoY29uZmlndXJlKWYgRnQoc2hlbGwpaShzY3JpcHQpZyhhdHRlbXB0cyloKHRvKWcoZ3Vlc3MpZihjb3JyZWN0KWkKICh2KS01IGIoYWx1ZXMpMjEgYihmb3IpZyh2KS01IGIoYXJpb3VzKTIxIGIoc3lzdGVtLWRlcClzKGVuZGVuKW0odCkxNTAKLTI5OTUgeSh2KS01IGIoYXJpYWJsZXMpNDQgYih1c2VkKWYoZHVyaW5nKWcoY29tcGlsYXRpb24uKTgyCisyOTUzIHkodiktNSBiKGFyaWFibGVzKTQ0IGIodXNlZClmKGR1cmluZylnKGNvbXBpbGF0aW9uLik4MgogYihJdCk0MyBiKHVzZXMpaCh0aG9zZSlnKHYpLTUgYihhbHVlcyk0NCBiKHRvKWcoY3JlYXRlKWgoYSlnKGApcAotRnMoTWFrZWZpbGUpcCBGdCgnKWMoaW4paihlYWMpbShoKTE1MCAzMTA0IHkoZGlyZWN0b3J5KTI1CitGcyhNYWtlZmlsZSlwIEZ0KCcpYyhpbilqKGVhYyltKGgpMTUwIDMwNjMgeShkaXJlY3RvcnkpMjUKIGIob2YpZyh0aGUpZyhwYWMpbShrKS01IGIoYWdlKTI3IGIoXCh0aGUpZSh0b3ApZyhkaXJlY3RvcnkpLTgKIGIoLCkyNyBiKHRoZSllKGApcCBGcyhidWlsdGlucylwIEZ0KCcsKWYoYClwIEZzKGRvYylwCiBGdCgnLClpKGFuZCllKGApcCBGcyhzdXBwb3J0KXAgRnQoJylnKGRpcmVjdG9yaWVzLCkxNTAKLTMyMTQgeShlYWMpbShoKTMyIGIoZGlyZWN0b3J5KWYodW5kZXIpZChgKXAgRnMobGliKXAKKzMxNzIgeShlYWMpbShoKTMyIGIoZGlyZWN0b3J5KWYodW5kZXIpZChgKXAgRnMobGliKXAKIEZ0KCcsKWooYW5kKWYoc2V2KW0oZXJhbCloKG90aGVyc1wpLik0MiBiKEl0KTMwIGIoYWxzbylpKGNyZWF0ZXMpZihhKWcKIChgKXAgRnMoY29uZmlnLmgpcCBGdCgnKWUoXDAxNGxlKWgoY29uKW0odGFpbmluZykxNTAKLTMzMjQgeShzeXN0ZW0tZGVwKXMoZW5kZW4pbSh0KWgoZGVcMDE0bml0aW9ucy4pNDQgYihGaW5hbGx5KS04CiszMjgyIHkoc3lzdGVtLWRlcClzKGVuZGVuKW0odCloKGRlXDAxNG5pdGlvbnMuKTQ0IGIoRmluYWxseSktOAogYigsKTM0IGIoaXQpZShjcmVhdGVzKWgoYSlmKHNoZWxsKWcoc2NyaXB0KWYobmFtZWQpZwotRnMoY29uZmlnLnN0YXR1cylkIEZ0KHRoYXQpMTUwIDM0MzMgeSh5KW0ob3UpayhjYW4pZyhydW4pZShpbiloKHRoZSlnCitGcyhjb25maWcuc3RhdHVzKWQgRnQodGhhdCkxNTAgMzM5MiB5KHkpbShvdSlrKGNhbilnKHJ1billKGluKWgodGhlKWcKIChmdXR1cmUpZyh0byloKHJlY3JlYXRlKWgodGhlKWYoY3VycmVuKW0odClmKGNvblwwMTRndXJhdGlvbiwpaChhKWcKLShcMDE0bGUpZyhgKXAgRnMoY29uZmlnLmNhY2hlKXAgRnQoJyljKHRoYXQpMTUwIDM1NDMKKyhcMDE0bGUpZyhgKXAgRnMoY29uZmlnLmNhY2hlKXAgRnQoJyljKHRoYXQpMTUwIDM1MDEKIHkoc2EpbSh2KW0oZXMpMzUgYih0aGUpZihyZXN1bHRzKWYob2YpaChpdHMpZyh0ZXN0cyloKHRvKWYoc3ApcyhlZWQpZgogKHVwKWcocmVjb25cMDE0Z3VyaW5nLCloKGFuZClmKGEpaChcMDE0bGUpZyhgKXAgRnMoY29uZmlnLmxvZylwCi1GdCgnKWQoY29uKW0odGFpbmluZykxNTAgMzY1MiB5KGNvbXBpbGVyKTI1IGIob3V0cHV0KWcoXCh1c2VmdWwpZgorRnQoJylkKGNvbiltKHRhaW5pbmcpMTUwIDM2MTEgeShjb21waWxlcikyNSBiKG91dHB1dClnKFwodXNlZnVsKWYKIChtYWlubHkpaChmb3IpZyhkZWJ1Z2dpbmcpZiBGcyhjb25maWd1cmUpcCBGdChcKS4pMzcKIGIoSWYpMjQgYihhdClpKHNvbWUpZihwKXMob2luKW0odClnKGApcCBGcyhjb25maWcuY2FjaGUpcAotRnQoJykxNTAgMzc2MiB5KGNvbiltKHRhaW5zKTMyIGIocmVzdWx0cyllKHkpbShvdSlnKGRvbid0KWgodyltKGFuKW0odCkKK0Z0KCcpMTUwIDM3MjAgeShjb24pbSh0YWlucykzMiBiKHJlc3VsdHMpZSh5KW0ob3UpZyhkb24ndCloKHcpbShhbiltKHQpCiBnKHRvKWcoayltKGVlcCwpZyh5KW0ob3UpZyhtYSltKHkpZyhyZW1vKW0odiltKGUpaChvcillKGVkaXQpaChpdC4pMjc1Ci0zODk3IHkoVCktOCBiKG8pMzcgYihcMDE0bmQpZihvdXQpaShtb3JlKWYoYWIpcyhvdXQpaCh0aGUpZihvcHRpb25zKWgKKzM4NjIgeShUKS04IGIobykzNyBiKFwwMTRuZClmKG91dClpKG1vcmUpZihhYilzKG91dCloKHRoZSlmKG9wdGlvbnMpaAogKGFuZClmKGFyZ3VtZW4pbSh0cylnKHRoYXQpaCh0aGUpZyBGcyhjb25maWd1cmUpZCBGdChzY3JpcHQpaSh1bmRlci0pCi0xNTAgNDAwNyB5KHN0YW5kcywpMzAgYih0KW0oeXApcyhlKTM5MCA0MTQyIHkgRnMoYmFzaC0yLjA0JCk0NQotYiguL2NvbmZpZ3VyZSlnKC0taGVscCkxNTAgNDI3NyB5IEZ0KGF0KTMxIGIodGhlKWcoQmFzaClmKHByb21wdClnKGluKWcKLSh5KW0ob3VyKWcoQmFzaCloKHNvdXJjZSlmKGRpcmVjdG9yeSktOCBiKC4pMjc1IDQ0MTIKKzE1MCAzOTcyIHkoc3RhbmRzLCkzMCBiKHQpbSh5cClzKGUpMzkwIDQxMTQgeSBGcyhiYXNoLTIuMDQkKTQ1CitiKC4vY29uZmlndXJlKWcoLS1oZWxwKTE1MCA0MjU2IHkgRnQoYXQpMzEgYih0aGUpZyhCYXNoKWYocHJvbXB0KWcoaW4pZworKHkpbShvdXIpZyhCYXNoKWgoc291cmNlKWYoZGlyZWN0b3J5KS04IGIoLikyNzUgNDM5OAogeShJZik1MyBiKHkpbShvdSloKG5lZWQpZih0bylpKGRvKWUodW4pbSh1c3VhbClnKHRoaW5ncylnKHRvKWkoY29tcGlsZSkKIGcoQmFzaCwpayhwbGVhc2UpYyh0cnkpZSh0bylpKFwwMTRndXJlKWUob3V0KWgoaG8pbSh3KTE1MAotNDUyMiB5IEZzKGNvbmZpZ3VyZSk0NyBiIEZ0KGNvdWxkKWooYyltKGhlYyltKGspaCh3aGV0aGVyKWUob3IpZyhub3QpaAorNDUwOCB5IEZzKGNvbmZpZ3VyZSk0NyBiIEZ0KGNvdWxkKWooYyltKGhlYyltKGspaCh3aGV0aGVyKWUob3IpZyhub3QpaAogKHRvKWgoZG8pZSh0aGVtLCk1NSBiKGFuZCk0OSBiKG1haWwpaChkaVwwMTNzKWYob3IpaChpbnN0cnVjdGlvbnMpZih0bykKLTE1MCA0NjMxIHkgRnMoYmFzaC1tYWludGFpbmVyc0BnbnUub3JnKTI0IGIgRnQoc28pMzAKKzE1MCA0NjE3IHkgRnMoYmFzaC1tYWludGFpbmVyc0BnbnUub3JnKTI0IGIgRnQoc28pMzAKIGIodGhleSloKGNhbilnKGIpcyhlKWUoY29uc2lkZXJlZClpKGZvcilmKHRoZSlnKG5leHQpaChyZWxlYXNlLikyNzUKLTQ3NjYgeShUaGUpMjQgYihcMDE0bGUpaShgKXAgRnMoY29uZmlndXJlLmluKXAgRnQoJyljKGlzKWsodXNlZCllKHRvKWoKKzQ3NjAgeShUaGUpMjQgYihcMDE0bGUpaShgKXAgRnMoY29uZmlndXJlLmluKXAgRnQoJyljKGlzKWsodXNlZCllKHRvKWoKIChjcmVhdGUpZyBGcyhjb25maWd1cmUpMjIgYiBGdChiKW0oeSlrKGEpZyhwcm9ncmFtKWYoY2FsbGVkKWgoQXV0bylzCi0oY29uZi4pMzkgYihZKS04IGIob3UpMTUwIDQ4NzYgeShvbmx5KTMxIGIobmVlZClmKGApcAorKGNvbmYuKTM5IGIoWSktOCBiKG91KTE1MCA0ODY5IHkob25seSkzMSBiKG5lZWQpZihgKXAKIEZzKGNvbmZpZ3VyZS5pbilwIEZ0KCcpZChpZilrKHkpbShvdSlmKHcpbShhbiltKHQpaSh0bylmKGMpbShoYW5nZSlnCiAoaXQpZyhvcilmKHJlZ2VuZXJhdGUpaSBGcyhjb25maWd1cmUpYyBGdCh1c2luZylpKGEpaChuZXcpbShlcikxNTAKLTQ5ODYgeSh2KW0oZXJzaW9uKTI1IGIob2YpZihBdXRvKXMoY29uZi4pMzkgYihJZikyNCBiKHkpbShvdSloKGRvKWYKKzQ5NzkgeSh2KW0oZXJzaW9uKTI1IGIob2YpZihBdXRvKXMoY29uZi4pMzkgYihJZikyNCBiKHkpbShvdSloKGRvKWYKICh0aGlzLClpKG1hayltKGUpZihzdXJlKWYoeSltKG91KWgoYXJlKWYodXNpbmcpZyhBdXRvKXMoY29uZiloKHYpbQogKGVyc2lvbilmKDIuNTApaShvcilmKG5ldyltKGVyLikyNzUgNTEyMSB5KFkpLTggYihvdSkyOQogYihjYW4pZihyZW1vKW0odiltKGUpaSh0aGUpZihwcm9ncmFtKWcoYmluYXJpZXMpZihhbmQpZyhvYik1CkBAIC0xMzU1OCw0MTAgKzEzNTM1LDQxMyBAQAogJSVQYWdlOiAxMjggMTM0CiBUZVhEaWN0IGJlZ2luIDEyOCAxMzMgYm9wIDE1MCAtMTE2IGEgRnQoMTI4KTI1MjcgYihCYXNoKTMxCiBiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRnIoMTAuMik2OCBiKENvbXBpbGVycyk0NgotYihhbmQpZihPcHRpb25zKTI3NSA1NjAgeSBGdChTb21lKTQwIGIoc3lzdGVtcylnKHJlcXVpcmUpZih1biltKHVzdWFsKWcKLShvcHRpb25zKWgoZm9yKWcoY29tcGlsYXRpb24paShvcillKGxpbmtpbmcpZyh0aGF0KWcodGhlKWcKLUZzKGNvbmZpZ3VyZSkxNTAgNjY5IHkgRnQoc2NyaXB0KTMwIGIoZG8pcyhlcyloKG5vdClnKGtubyltKHcpZihhYilzCi0ob3V0Lik0MSBiKFkpLTggYihvdSkzMSBiKGNhbilnKGdpdiltKGUpaCBGcyhjb25maWd1cmUpYwotRnQoaW5pdGlhbClrKHYpLTUgYihhbHVlcykzMSBiKGZvcilmKHYpLTUgYihhcmlhYmxlcykzMQotYihiKW0oeSlnKHNldHRpbmcpMTUwIDc3OSB5KHRoZW0pMjEgYihpbilmKHRoZSloKGVuKW0odmlyb25tZW4pbSh0LikzOAotYihVc2luZykyMSBiKGEpZyhCb3VybmUtY29tcGF0aWJsZSloKHNoZWxsLCloKHkpbShvdSllKGNhbilnKGRvKWYodGhhdCkKLWkob24pZSh0aGUpaChjb21tYW5kKTE1MCA4ODggeShsaW5lKTMxIGIobGlrKW0oZSlnKHRoaXM6KTM5MAotMTAzOSB5IEZzKENDPWM4OSk0NiBiKENGTEFHUz0tTzIpZihMSUJTPS1scG9zaXgpZyguL2NvbmZpZ3VyZSkyNzUKLTExOTEgeSBGdChPbikyOSBiKHN5c3RlbXMpaCh0aGF0KWgoaGEpbSh2KW0oZSloKHRoZSlmCitiKGFuZClmKE9wdGlvbnMpMTUwIDQ1OCB5IEZ0KFNvbWUpMjggYihzeXN0ZW1zKWgocmVxdWlyZSlmKHVuKW0odXN1YWwpZgorKG9wdGlvbnMpaShmb3IpZihjb21waWxhdGlvbilpKG9yKWYobGlua2luZylmKHRoYXQpaCh0aGUpZworRnMoY29uZmlndXJlKWQgRnQoc2NyaXB0KTE1MCA1NjggeShkbylzKGVzKTMyIGIobm90KWcoa25vKW0odylnKGFiKXMKKyhvdXQuKTQ0IGIoWSktOCBiKG91KTMzIGIoY2FuKWYoZ2l2KW0oZSloIEZzKGNvbmZpZ3VyZSlkCitGdChpbml0aWFsKWoodiktNSBiKGFsdWVzKTMyIGIoZm9yKWcodiktNSBiKGFyaWFibGVzKTMyCitiKGIpbSh5KWcoc2V0dGluZyloKHRoZW0pMTUwIDY3NyB5KGluKWsodGhlKWcoZW4pbSh2aXJvbm1lbiltKHQuKTYyCitiKFVzaW5nKTM4IGIoYSlmKEJvdXJuZS1jb21wYXRpYmxlKWkoc2hlbGwsKWcoeSltKG91KWYoY2FuKWcoZG8pZih0aGF0KQoraChvbilmKHRoZSlnKGNvbW1hbmQpMTUwIDc4NyB5KGxpbmUpMzEgYihsaWspbShlKWcodGhpczopMzkwCis5MjAgeSBGcyhDQz1jODkpNDYgYihDRkxBR1M9LU8yKWYoTElCUz0tbHBvc2l4KWcoLi9jb25maWd1cmUpMjc1CisxMDUzIHkgRnQoT24pMjkgYihzeXN0ZW1zKWgodGhhdCloKGhhKW0odiltKGUpaCh0aGUpZgogRnMoZW52KWUgRnQocHJvZ3JhbSwpaCh5KW0ob3UpaChjYW4pZyhkbylmKGl0KWgobGlrKW0oZSloKHRoaXM6KTM5MAotMTM0MiB5IEZzKGVudik0NyBiKENQUEZMQUdTPS1JL3Vzci9sb2NhbC9pbilvKGNsdWQpbyhlKTQyCi1iKExERkxBR1M9LXMpaiguL2NvbmZpZ3VyZSkyNzUgMTQ5MyB5IEZ0KFRoZSkyOSBiKGNvblwwMTRndXJhdGlvbilpCisxMTg2IHkgRnMoZW52KTQ3IGIoQ1BQRkxBR1M9LUkvdXNyL2xvY2FsL2luKW8oY2x1ZClvKGUpNDIKK2IoTERGTEFHUz0tcylqKC4vY29uZmlndXJlKTI3NSAxMzE4IHkgRnQoVGhlKTI5IGIoY29uXDAxNGd1cmF0aW9uKWkKIChwcm8pcyhjZXNzKWYodXNlcylnKEdDQylnKHRvKWgoYnVpbGQpZShCYXNoKWkoaWYpZihpdCloKGlzKWcoYSltKHYpLTUKLWIoYWlsYWJsZS4pMTUwIDE3OTIgeSBGcigxMC4zKTY4IGIoQ29tcGlsaW5nKTQ2IGIoRiktMTEKLWIob3IpNDUgYihNdWx0aXBsZSlnKEFyYylsKGhpdGVjdHVyZXMpMjc1IDIwNTIgeSBGdChZKS04Ci1iKG91KTI4IGIoY2FuKWgoY29tcGlsZSlnKEJhc2gpZyhmb3IpZihtb3JlKWcodGhhbilnKG9uZSloKGtpbmQpZShvZilpCi0oY29tcHV0ZXIpZihhdCloKHRoZSlnKHNhbWUpZih0aW1lLClpKGIpbSh5KWUocGxhY2luZykxNTAKLTIxNjIgeSh0aGUpMzkgYihvYik1IGIoamVjdCkzOSBiKFwwMTRsZXMpZyhmb3IpZihlYWMpbShoKWkoYXJjKW0KLShoaXRlY3R1cmUpZyhpbillKHRoZWlyKWgobyltKHduKWYoZGlyZWN0b3J5KS04IGIoLik2NwotYihUKS04IGIobykzOSBiKGRvKWYodGhpcywpaih5KW0ob3UpZShtKW0odXN0KWYodXNlKWgoYSkxNTAKLTIyNzEgeSh2KW0oZXJzaW9uKTMzIGIob2YpZyBGcyhtYWtlKWYgRnQodGhhdClpKHN1cHApcyhvcnRzKWQodGhlKWkKLUZzKFZQQVRIKWUgRnQodiktNSBiKGFyaWFibGUsKTM1IGIoc3VjKW0oaClkKGFzKWkoR05VKWYKLUZzKG1ha2UpcCBGdCguKTQ3IGIgRnMoY2QpMzMgYiBGdCh0bylnKHRoZSlnKGRpcmVjdG9yeSkxNTAKLTIzODEgeSh3aGVyZSkyMyBiKHkpbShvdSlnKHcpbShhbiltKHQpaCh0aGUpZihvYik1IGIoamVjdCkyNAotYihcMDE0bGVzKWYoYW5kKWYoZXhlY3V0YWJsZXMpaih0bylmKGdvKWYoYW5kKWcocnVuKWYodGhlKWgKLUZzKGNvbmZpZ3VyZSlkIEZ0KHNjcmlwdClqKGZyb20pZyh0aGUpMTUwIDI0OTEgeShzb3VyY2UpaihkaXJlY3RvcnkpLTgKLWIoLik0MCBiKFkpLTggYihvdSkyNiBiKG1hKW0oeSlnKG5lZWQpZyh0bylnKHN1cHBseSlmKHRoZSlnKGApcAotRnMoLS1zcmNkaXI9UEFUSClwIEZ0KCcpZShhcmd1bWVuKW0odClqKHRvKWgodGVsbClmIEZzKGNvbmZpZ3VyZSkxNTAKLTI2MDAgeSBGdCh3aGVyZSk0MyBiKHRoZSloKHNvdXJjZSlnKFwwMTRsZXMpZyhhcmUuKTgyCi1iIEZzKGNvbmZpZ3VyZSk0MSBiIEZ0KGF1dG9tYXRpY2FsbHkpNDcgYihjKW0oaGVjKW0oa3MpZShmb3IpZih0aGUpZwotKHNvdXJjZSlnKGNvKXMoZGUpZyhpbilnKHRoZSkxNTAgMjcxMCB5KGRpcmVjdG9yeSkzMQotYih0aGF0KWcgRnMoY29uZmlndXJlKWQgRnQoaXMpaShpbilnKGFuZClnKGluKWcoYC4uJy4pMjc1Ci0yODYxIHkoSWYpMjAgYih5KW0ob3UpaChoYSltKHYpbShlKWkodG8pZSh1c2UpZyhhKWcgRnMobWFrZSlmCitiKGFpbGFibGUuKTE1MCAxNTQ4IHkgRnIoMTAuMyk2OCBiKENvbXBpbGluZyk0NiBiKEYpLTExCitiKG9yKTQ1IGIoTXVsdGlwbGUpZyhBcmMpbChoaXRlY3R1cmVzKTE1MCAxNzA3IHkgRnQoWSktOAorYihvdSkyNyBiKGNhbilnKGNvbXBpbGUpZyhCYXNoKWcoZm9yKWYobW9yZSloKHRoYW4pZihvbmUpaChraW5kKWYob2YpZworKGNvbXB1dGVyKWgoYXQpZyh0aGUpZyhzYW1lKWcodGltZSwpaChiKW0oeSllKHBsYWNpbmcpaSh0aGUpMTUwCisxODE3IHkob2IpNSBiKGplY3QpMzEgYihcMDE0bGVzKWYoZm9yKWcoZWFjKW0oaClpKGFyYyltKGhpdGVjdHVyZSlmKGluKQorZih0aGVpcilnKG8pbSh3biloKGRpcmVjdG9yeSktOCBiKC4pNDEgYihUKS04IGIobykzMQorYihkbylmKHRoaXMsKWcoeSltKG91KWgobSltKHVzdClmKHVzZSlnKGEpZyh2KW0oZXJzaW9uKTE1MAorMTkyNiB5KG9mKTI1IGIgRnMobWFrZSlmIEZ0KHRoYXQpaChzdXBwKXMob3J0cylmKHRoZSloCitGcyhWUEFUSCllIEZ0KHYpLTUgYihhcmlhYmxlLCkyNyBiKHN1YyltKGgpZShhcylnKEdOVSloCitGcyhtYWtlKXAgRnQoLikzNyBiIEZzKGNkKTI1IGIgRnQodG8paCh0aGUpZihkaXJlY3RvcnkpZyh3aGVyZSlnKHkpbQorKG91KTE1MCAyMDM2IHkodyltKGFuKW0odCkzNCBiKHRoZSlmKG9iKTUgYihqZWN0KTM0IGIoXDAxNGxlcylmKGFuZClmCisoZXhlY3V0YWJsZXMpaSh0bylnKGdvKWcoYW5kKWUocnVuKWcodGhlKWggRnMoY29uZmlndXJlKWQKK0Z0KHNjcmlwdClqKGZyb20pZyh0aGUpZyhzb3VyY2UpMTUwIDIxNDUgeShkaXJlY3RvcnkpLTgKK2IoLik0MSBiKFkpLTggYihvdSkyNyBiKG1hKW0oeSloKG5lZWQpZih0bylnKHN1cHBseSlmKHRoZSloKGApcAorRnMoLS1zcmNkaXI9UEFUSClwIEZ0KCcpZChhcmd1bWVuKW0odClrKHRvKWcodGVsbClnIEZzKGNvbmZpZ3VyZSljCitGdCh3aGVyZSkxNTAgMjI1NSB5KHRoZSkzNiBiKHNvdXJjZSlnKFwwMTRsZXMpZihhcmUuKTU3CitiIEZzKGNvbmZpZ3VyZSkzMyBiIEZ0KGF1dG9tYXRpY2FsbHkpMzkgYihjKW0oaGVjKW0oa3MpZShmb3IpZSh0aGUpaAorKHNvdXJjZSlnKGNvKXMoZGUpZihpbiloKHRoZSlmKGRpcmVjdG9yeSkxNTAgMjM2NCB5KHRoYXQpYworRnMoY29uZmlndXJlKWQgRnQoaXMpaShpbilnKGFuZClnKGluKWcoYC4uJy4pMjc1IDI0OTcKK3koSWYpMjAgYih5KW0ob3UpaChoYSltKHYpbShlKWkodG8pZSh1c2UpZyhhKWcgRnMobWFrZSlmCiBGdCh0aGF0KWkoZG8pcyhlcyllKG5vdClpKHN1cHApcyhvcnRzKWQodGhlKWkgRnMoVlBBVEgpZQogRnQodiktNSBiKGFyaWFibGUsKTI0IGIoeSltKG91KWUoY2FuKWYoY29tcGlsZSloKEJhc2gpMTUwCi0yOTcxIHkoZm9yKTMzIGIob25lKWgoYXJjKW0oaGl0ZWN0dXJlKWgoYXQpZihhKWcodGltZSlnKGluKWYodGhlKWgKKzI2MDcgeShmb3IpMzMgYihvbmUpaChhcmMpbShoaXRlY3R1cmUpaChhdClmKGEpZyh0aW1lKWcoaW4pZih0aGUpaAogKHNvdXJjZSlnKGNvKXMoZGUpZihkaXJlY3RvcnkpLTggYiguKTUxIGIoQWZ0ZXIpMzQgYih5KW0ob3UpZyhoYSltKHYpbQotKGUpaChpbnN0YWxsZWQpZihCYXNoKTE1MCAzMDgwIHkoZm9yKWMob25lKWgoYXJjKW0oaGl0ZWN0dXJlLCloKHVzZSllCisoZSloKGluc3RhbGxlZClmKEJhc2gpMTUwIDI3MTYgeShmb3IpYyhvbmUpaChhcmMpbShoaXRlY3R1cmUsKWgodXNlKWUKIChgKXAgRnMobWFrZSlnKGRpc3RjbGVhbilwIEZ0KCcpZShiKXMoZWZvcmUpaShyZWNvblwwMTRndXJpbmcpZyhmb3IpZwotKGFub3RoZXIpZyhhcmMpbShoaXRlY3R1cmUuKTI3NSAzMjMxIHkoQWx0ZXJuYXRpdiltKGVseSktOAorKGFub3RoZXIpZyhhcmMpbShoaXRlY3R1cmUuKTI3NSAyODQ5IHkoQWx0ZXJuYXRpdiltKGVseSktOAogYigsKTI2IGIoaWYpMjEgYih5KW0ob3VyKWgoc3lzdGVtKWcoc3VwcClzKG9ydHMpZChzeW0pbShiKXMob2xpYylqCiAobGlua3MsKWkoeSltKG91KWUoY2FuKWcodXNlKWYodGhlKWgoYClwIEZzKHN1cHBvcnQvbWtjbG9uZSlwCi1GdCgnKTE1MCAzMzQxIHkoc2NyaXB0KWgodG8paChjcmVhdGUpZyhhKWYoYnVpbGQpZih0cmVlKWkod2hpYyltKGgpZgorRnQoJykxNTAgMjk1OSB5KHNjcmlwdCloKHRvKWgoY3JlYXRlKWcoYSlmKGJ1aWxkKWYodHJlZSlpKHdoaWMpbShoKWYKIChoYXMpZihzeW0pbShiKXMob2xpYylpKGxpbmtzKWUoYmFjKW0oaylpKHRvKWcoZWFjKW0oaClnKFwwMTRsZSlmKGluKWcKLSh0aGUpZyhzb3VyY2UpZyhkaXJlY3RvcnkpLTggYiguKTE1MCAzNDUwIHkoSGVyZSdzKTQxCisodGhlKWcoc291cmNlKWcoZGlyZWN0b3J5KS04IGIoLikxNTAgMzA2OCB5KEhlcmUncyk0MQogYihhbilmKGV4YW1wbGUpaSh0aGF0KWYoY3JlYXRlcyloKGEpZShidWlsZClnKGRpcmVjdG9yeSloKGluKWYodGhlKWgKLShjdXJyZW4pbSh0KWYoZGlyZWN0b3J5KWgoZnJvbSlmKGEpaChzb3VyY2UpMTUwIDM1NjAKKyhjdXJyZW4pbSh0KWYoZGlyZWN0b3J5KWgoZnJvbSlmKGEpaChzb3VyY2UpMTUwIDMxNzgKIHkoZGlyZWN0b3J5KTMxIGIoYClwIEZzKC91c3IvZ251L3NyYy9iYXNoLTIuMClwIEZ0KCc6KTM5MAotMzcxMSB5IEZzKGJhc2gpNDcgYigvdXNyL2dudS9zcmMvYmFzaC0yLjAvcylvKHVwcG8pbyhydC8pbyhta2NsKW8ob25lKQotNDEgYigtcyk0NyBiKC91c3IvZ251L3NyYy9iYXNoLTIuMCk0MiBiKC4pMTUwIDM4NjIgeQorMzMxMSB5IEZzKGJhc2gpNDcgYigvdXNyL2dudS9zcmMvYmFzaC0yLjAvcylvKHVwcG8pbyhydC8pbyhta2NsKW8ob25lKQorNDEgYigtcyk0NyBiKC91c3IvZ251L3NyYy9iYXNoLTIuMCk0MiBiKC4pMTUwIDM0NDQgeQogRnQoVGhlKWMgRnMobWtjbG9uZSllIEZ0KHNjcmlwdClpKHJlcXVpcmVzKWcoQmFzaCwpaShzbylmKHkpbShvdSlmKG0pbQogKHVzdCloKGhhKW0odiltKGUpZyhhbHJlYWR5KWcoYnVpbHQpZihCYXNoKWcoZm9yKWcoYXQpaChsZWFzdCloKG9uZSkxNTAKLTM5NzIgeShhcmMpbShoaXRlY3R1cmUpMzIgYihiKXMoZWZvcmUpZSh5KW0ob3UpaChjYW4pZihjcmVhdGUpaShidWlsZCllCi0oZGlyZWN0b3JpZXMpaChmb3IpZihvdGhlciloKGFyYyltKGhpdGVjdHVyZXMuKTE1MCA0MjcxCi15IEZyKDEwLjQpNjggYihJbnN0YWxsYXRpb24pNDcgYihOYW1lcykyNzUgNDUzMSB5IEZ0KEJ5KTM2Ci1iKGRlZmF1bHQsKWgoYClwIEZzKG1ha2UpMjkgYihpbnN0YWxsKXAgRnQoJykzNCBiKHdpbGwpaihpbnN0YWxsKWYoaW4pbQotKHRvKWgoYClwIEZzKC91c3IvbG9jYWwvYmluKXAgRnQoJywpZChgKXAgRnMoL3Vzci9sb2NhbC9tYW4pcAotRnQoJywpZyhldGMuKTE1MCA0NjQxIHkoWSktOCBiKG91KTM5IGIoY2FuKWcoc3ApcyhlY2lmeSlmKGFuKWgKKzM1NTMgeShhcmMpbShoaXRlY3R1cmUpMzIgYihiKXMoZWZvcmUpZSh5KW0ob3UpaChjYW4pZihjcmVhdGUpaShidWlsZCllCisoZGlyZWN0b3JpZXMpaChmb3IpZihvdGhlciloKGFyYyltKGhpdGVjdHVyZXMuKTE1MCAzNzgyCit5IEZyKDEwLjQpNjggYihJbnN0YWxsYXRpb24pNDcgYihOYW1lcykxNTAgMzk0MiB5IEZ0KEJ5KTI3CitiKGRlZmF1bHQsKWgoYClwIEZzKG1ha2UpaShpbnN0YWxsKXAgRnQoJykyNSBiKHdpbGwpaihpbnN0YWxsKWcoaW4pbQorKHRvKWcoYClwIEZzKC91c3IvbG9jYWwvYmluKXAgRnQoJywpYyhgKXAgRnMoL3Vzci9sb2NhbC9tYW4pcAorRnQoJywpaChldGMuKTQwIGIoWSktOCBiKG91KTE1MCA0MDUxIHkoY2FuKTMxIGIoc3ApcyhlY2lmeSlmKGFuKWgKIChpbnN0YWxsYXRpb24paChwcmVcMDE0eClkKG90aGVyKWkodGhhbilnKGApcCBGcygvdXNyL2xvY2FsKXAKLUZ0KCcpZChiKW0oeSlpKGdpdmluZylpIEZzKGNvbmZpZ3VyZSljIEZ0KHRoZSkxNTAgNDc1MQoteShvcHRpb24pNDEgYihgKXAgRnMoLS1wcmVmaXg9KXAgRmooUEFUSCkxMSBiIEZ0KCcsKTQxCi1iKG9yKWcoYiltKHkpZihzcClzKGVjaWZ5aW5nKWgoYSloKHYpLTUgYihhbHVlKTQxIGIoZm9yKWcodGhlKWcKLUZzKERFU1RESVIpZSBGdChgKXAgRnMobWFrZSlwIEZ0KCcpaCh2KS01IGIoYXJpYWJsZSk0MgotYih3aGVuKTE1MCA0ODYwIHkocnVubmluZykyOSBiKGApcCBGcyhtYWtlKWcoaW5zdGFsbClwCi1GdCgnLikyNzUgNTAxMSB5KFkpLTggYihvdSk3MSBiKGNhbiloKHNwKXMoZWNpZnkpZihzZXBhcmF0ZSloCi0oaW5zdGFsbGF0aW9uKWgocHJlXDAxNHhlcylkKGZvciloKGFyYyltKGhpdGVjdHVyZS1zcClzKGVjaVwwMTRjKWkKLShcMDE0bGVzKWYoYW5kKTE1MCA1MTIxIHkoYXJjKW0oaGl0ZWN0dXJlLWluZGVwKXMoZW5kZW4pbSh0KTM4Ci1iKFwwMTRsZXMuKTYyIGIoSWYpMzcgYih5KW0ob3UpaChnaXYpbShlKWcgRnMoY29uZmlndXJlKWQKLUZ0KHRoZSlqKG9wdGlvbilnKGApcCBGcygtLWV4ZWMtcHJlZml4PSlwIEZqKFBBVEgpMTEKLWIgRnQoJywpMTUwIDUyMzAgeShgKXAgRnMobWFrZSkyOSBiKGluc3RhbGwpcCBGdCgnKTYzCi1iKHdpbGwpaCh1c2UpZiBGcShQKS04IGIoQSlnKFRIKTc1IGIgRnQoYXMpNjQgYih0aGUpZyhwcmVcMDE0eCllKGZvcilpCi0oaW5zdGFsbGluZyloKHByb2dyYW1zKWUoYW5kKWgobGlicmFyaWVzLikxNTAgNTM0MCB5KERvKXMoY3VtZW4pbQotKHRhdGlvbikzMiBiKGFuZCllKG90aGVyKWgoZGF0YSlnKFwwMTRsZXMpZih3aWxsKWgoc3RpbGwpZyh1c2UpZih0aGUpaAotKHJlZ3VsYXIpZihwcmVcMDE0eC4pcCBlb3AgZW5kCitGdCgnKWQoYiltKHkpaShnaXZpbmcpaSBGcyhjb25maWd1cmUpYyBGdCh0aGUpaShvcHRpb24pMTUwCis0MTYxIHkoYClwIEZzKC0tcHJlZml4PSlwIEZpKFBBVEgpMTEgYiBGdCgnLCkzNSBiKG9yKWgoYiltKHkpZyhzcClzCisoZWNpZnlpbmcpZyhhKWgodiktNSBiKGFsdWUpMzcgYihmb3IpZih0aGUpaCBGcyhERVNURElSKWQKK0Z0KGApcCBGcyhtYWtlKXAgRnQoJylpKHYpLTUgYihhcmlhYmxlKTM3IGIod2hlbilmKHJ1bm5pbmcpMTUwCis0MjcxIHkoYClwIEZzKG1ha2UpMjkgYihpbnN0YWxsKXAgRnQoJy4pMjc1IDQ0MDMgeShZKS04CitiKG91KTcxIGIoY2FuKWgoc3ApcyhlY2lmeSlmKHNlcGFyYXRlKWgoaW5zdGFsbGF0aW9uKWgocHJlXDAxNHhlcylkCisoZm9yKWgoYXJjKW0oaGl0ZWN0dXJlLXNwKXMoZWNpXDAxNGMpaShcMDE0bGVzKWYoYW5kKTE1MAorNDUxMyB5KGFyYyltKGhpdGVjdHVyZS1pbmRlcClzKGVuZGVuKW0odCkzOCBiKFwwMTRsZXMuKTYyCitiKElmKTM3IGIoeSltKG91KWgoZ2l2KW0oZSlnIEZzKGNvbmZpZ3VyZSlkIEZ0KHRoZSlqKG9wdGlvbilnKGApcAorRnMoLS1leGVjLXByZWZpeD0pcCBGaShQQVRIKTExIGIgRnQoJywpMTUwIDQ2MjMgeShgKXAKK0ZzKG1ha2UpMjkgYihpbnN0YWxsKXAgRnQoJyk2MyBiKHdpbGwpaCh1c2UpZiBGcShQKS04CitiKEEpZyhUSCk3NSBiIEZ0KGFzKTY0IGIodGhlKWcocHJlXDAxNHgpZShmb3IpaShpbnN0YWxsaW5nKWgocHJvZ3JhbXMpZQorKGFuZCloKGxpYnJhcmllcy4pMTUwIDQ3MzIgeShEbylzKGN1bWVuKW0odGF0aW9uKTMyIGIoYW5kKWUob3RoZXIpaAorKGRhdGEpZyhcMDE0bGVzKWYod2lsbCloKHN0aWxsKWcodXNlKWYodGhlKWgocmVndWxhcilmKHByZVwwMTR4LikxNTAKKzQ5NjEgeSBGcigxMC41KTY4IGIoU3ApdChlY2lmeWluZyk0NSBiKHRoZSlnKFN5c3RlbSloKFQpbCh5cCl0KGUpMTUwCis1MTIxIHkgRnQoVGhlcmUpZihtYSltKHkpZyhiKXMoZSlmKHNvbWUpaShmZWF0dXJlcylmCitGcyhjb25maWd1cmUpZSBGdChjYW4paShub3QpZyhcMDE0Z3VyZSlnKG91dClnKGF1dG9tYXRpY2FsbHkpLTgKK2IoLCk1MiBiKGJ1dCk0NCBiKG5lZWQpaCh0bykxNTAgNTIzMCB5KGRldGVybWluZSkzNiBiKGIpbSh5KWcodGhlKWgodCltCisoeXApcyhlKWYob2YpZyhob3N0KWgoQmFzaClmKHdpbGwpaChydW4pZChvbi4pNTggYihVc3VhbGx5KTM3CitiIEZzKGNvbmZpZ3VyZSlkIEZ0KGNhbilpKFwwMTRndXJlKWcodGhhdClnKG91dCwpMTUwCis1MzQwIHkoYnV0KWMoaWYpaChpdClnKHByaW4pbSh0cylnKGEpZyhtZXNzYWdlKWgoc2EpbSh5aW5nKWcoaXQpZihjYW4paAorKG5vdClmKGd1ZXNzKWcodGhlKWcoaG9zdClnKHQpbSh5cClzKGUsKWgoZ2l2KW0oZSlnKGl0KWYodGhlKWgoYClwCitGcygtLWhvc3Q9VFlQRSlwIEZ0KCcpcCBlb3AgZW5kCiAlJVBhZ2U6IDEyOSAxMzUKIFRlWERpY3QgYmVnaW4gMTI5IDEzNCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoMTA6KTQxCi1iKEluc3RhbGxpbmcpMzEgYihCYXNoKTIzNTYgYigxMjkpMTUwIDI5OSB5IEZyKDEwLjUpNjgKLWIoU3ApdChlY2lmeWluZyk0NSBiKHRoZSlnKFN5c3RlbSloKFQpbCh5cCl0KGUpMjc1IDUzOQoteSBGdChUaGVyZSkzNSBiKG1hKW0oeSloKGIpcyhlKWYoc29tZSloKGZlYXR1cmVzKWcgRnMoY29uZmlndXJlKWQKLUZ0KGNhbilqKG5vdClnKFwwMTRndXJlKWYob3V0KWcoYXV0b21hdGljYWxseSktOCBiKCwpNDEKLWIoYnV0KTM1IGIobmVlZClnKHRvKTE1MCA2NDkgeShkZXRlcm1pbmUpaChiKW0oeSlnKHRoZSloKHQpbSh5cClzKGUpZgotKG9mKWcoaG9zdCloKEJhc2gpZih3aWxsKWgocnVuKWQob24uKTU4IGIoVXN1YWxseSkzNwotYiBGcyhjb25maWd1cmUpZCBGdChjYW4paShcMDE0Z3VyZSlnKHRoYXQpZyhvdXQsKTE1MAotNzU4IHkoYnV0KWMoaWYpaChpdClnKHByaW4pbSh0cylnKGEpZyhtZXNzYWdlKWgoc2EpbSh5aW5nKWcoaXQpZihjYW4paAotKG5vdClmKGd1ZXNzKWcodGhlKWcoaG9zdClnKHQpbSh5cClzKGUsKWgoZ2l2KW0oZSlnKGl0KWYodGhlKWgoYClwCi1GcygtLWhvc3Q9VFlQRSlwIEZ0KCcpMTUwIDg2OCB5KG9wdGlvbi4pMzkgYihgKXAgRnMoVFlQRSlwCi1GdCgnKTI1IGIoY2FuKWcoZWl0aGVyKWcoYilzKGUpZyhhKWcoc2hvcnQpZyhuYW1lKWcoZm9yKWcodGhlKWcoc3lzdGVtKQotZyh0KW0oeXApcyhlLCloKHN1YyltKGgpZihhcylnKGApcCBGcyhzdW40KXAgRnQoJywpaChvcilmKGEpZwotKGNhbm9uaWNhbCkxNTAgOTc3IHkobmFtZSkzMCBiKHdpdGgpZyh0aHJlZSloKFwwMTRlbGRzOik0MAotYihgKXAgRnMoQ1BVLUNPTVBBTlktU1lTVEVNKXAgRnQoJykyNiBiKFwoZS5nLiwpMzIgYihgKXAKLUZzKGkzODYtdW5rbm93bi1mcmVlYnNkNC4yKXAgRnQoJ1wpLikyNzUgMTEwOCB5KFNlZSllKHRoZSloKFwwMTRsZSlmKGApCi1wIEZzKHN1cHBvcnQvY29uZmlnLnN1YilwIEZ0KCcpYyhmb3Ipayh0aGUpaChwKXMob3NzaWJsZSlmKHYpLTUKLWIoYWx1ZXMpMzAgYihvZiloKGVhYyltKGgpZyhcMDE0ZWxkLikxNTAgMTM1NCB5IEZyKDEwLjYpNjgKLWIoU2hhcmluZyk0NSBiKERlZmF1bHRzKTI3NSAxNTk0IHkgRnQoSWYpMzQgYih5KW0ob3UpaSh3KW0oYW4pbSh0KWcodG8pCi1nKHNldClnKGRlZmF1bHQpZih2KS01IGIoYWx1ZXMpMzYgYihmb3IpZiBGcyhjb25maWd1cmUpZQotRnQoc2NyaXB0cylpKHRvKWgoc2hhcmUsKWcoeSltKG91KWcoY2FuKWcoY3JlYXRlKWcoYSlnKHNpdGUpMTUwCi0xNzA0IHkoc2hlbGwpNDggYihzY3JpcHQpZihjYWxsZWQpaSBGcyhjb25maWcuc2l0ZSk0NAotYiBGdCh0aGF0KWsoZ2l2KW0oZXMpaChkZWZhdWx0KWYodiktNSBiKGFsdWVzKTQ4IGIoZm9yKWYodiktNQotYihhcmlhYmxlcyk0OCBiKGxpayltKGUpaCBGcyhDQylwIEZ0KCwpaiBGcyhjYWNoZV8pMTUwCi0xODEzIHkoZmlsZSlwIEZ0KCwpNDMgYihhbmQpZSBGcyhwcmVmaXgpcCBGdCguKTczIGIgRnMoY29uZmlndXJlKTM5Ci1iIEZ0KGxvKXMob2tzKWooZm9yKWYoYClwIEZzKFBSRUZJWC9zaGFyZS9jb25maWcuc2l0ZSlwCi1GdCgnKTM1IGIoaWYpNDIgYihpdClnKGV4aXN0cywpaih0aGVuKTE1MCAxOTIzIHkoYClwCi1GcyhQUkVGSVgvZXRjL2NvbmZpZy5zaXRlKXAgRnQoJykyMCBiKGlmKTI2IGIoaXQpZyhleGlzdHMuKTQwCi1iKE9yLCkyNiBiKHkpbShvdSlnKGNhbilnKHNldClnKHRoZSlnIEZzKENPTkZJR19TSVRFKWMKLUZ0KGVuKW0odmlyb25tZW4pbSh0KWsodiktNSBiKGFyaS0pMTUwIDIwMzMgeShhYmxlKTQwCi1iKHRvKWcodGhlKWcobG8pcyhjYXRpb24paChvZillKHRoZSloKHNpdGUpZyhzY3JpcHQuKTY3CitiKEluc3RhbGxpbmcpMzEgYihCYXNoKTIzNTYgYigxMjkpMTUwIDI5OSB5KG9wdGlvbi4pMzkKK2IoYClwIEZzKFRZUEUpcCBGdCgnKTI1IGIoY2FuKWcoZWl0aGVyKWcoYilzKGUpZyhhKWcoc2hvcnQpZyhuYW1lKWcKKyhmb3IpZyh0aGUpZyhzeXN0ZW0pZyh0KW0oeXApcyhlLCloKHN1YyltKGgpZihhcylnKGApcAorRnMoc3VuNClwIEZ0KCcsKWgob3IpZihhKWcoY2Fub25pY2FsKTE1MCA0MDggeShuYW1lKTMwCitiKHdpdGgpZyh0aHJlZSloKFwwMTRlbGRzOik0MCBiKGApcCBGcyhDUFUtQ09NUEFOWS1TWVNURU0pcAorRnQoJykyNiBiKFwoZS5nLiwpMzIgYihgKXAgRnMoaTM4Ni11bmtub3duLWZyZWVic2Q0LjIpcAorRnQoJ1wpLikyNzUgNTM5IHkoU2VlKWUodGhlKWgoXDAxNGxlKWYoYClwIEZzKHN1cHBvcnQvY29uZmlnLnN1YilwCitGdCgnKWMoZm9yKWsodGhlKWgocClzKG9zc2libGUpZih2KS01IGIoYWx1ZXMpMzAgYihvZiloKGVhYyltKGgpZworKFwwMTRlbGQuKTE1MCA3NjQgeSBGcigxMC42KTY4IGIoU2hhcmluZyk0NSBiKERlZmF1bHRzKTE1MAorOTI0IHkgRnQoSWYpZCh5KW0ob3UpaSh3KW0oYW4pbSh0KWcodG8pZihzZXQpaChkZWZhdWx0KWYodiktNQorYihhbHVlcyk0MyBiKGZvcilnIEZzKGNvbmZpZ3VyZSlkIEZ0KHNjcmlwdHMpaih0byloKHNoYXJlLClpKHkpbShvdSlkCisoY2FuKWcoY3JlYXRlKWkoYSllKHNpdGUpMTUwIDEwMzMgeShzaGVsbCk0OCBiKHNjcmlwdClmKGNhbGxlZClpCitGcyhjb25maWcuc2l0ZSk0NCBiIEZ0KHRoYXQpayhnaXYpbShlcyloKGRlZmF1bHQpZih2KS01CitiKGFsdWVzKTQ4IGIoZm9yKWYodiktNSBiKGFyaWFibGVzKTQ4IGIobGlrKW0oZSloIEZzKENDKXAKK0Z0KCwpaiBGcyhjYWNoZV8pMTUwIDExNDMgeShmaWxlKXAgRnQoLCk0MyBiKGFuZCllIEZzKHByZWZpeClwCitGdCguKTczIGIgRnMoY29uZmlndXJlKTM5IGIgRnQobG8pcyhva3Mpaihmb3IpZihgKXAgRnMKKyhQUkVGSVgvc2hhcmUvY29uZmlnLnNpdGUpcCBGdCgnKTM1IGIoaWYpNDIgYihpdClnKGV4aXN0cywpaih0aGVuKTE1MAorMTI1MiB5KGApcCBGcyhQUkVGSVgvZXRjL2NvbmZpZy5zaXRlKXAgRnQoJykyMCBiKGlmKTI2CitiKGl0KWcoZXhpc3RzLik0MCBiKE9yLCkyNiBiKHkpbShvdSlnKGNhbilnKHNldClnKHRoZSlnCitGcyhDT05GSUdfU0lURSljIEZ0KGVuKW0odmlyb25tZW4pbSh0KWsodiktNSBiKGFyaS0pMTUwCisxMzYyIHkoYWJsZSk0MCBiKHRvKWcodGhlKWcobG8pcyhjYXRpb24paChvZillKHRoZSloKHNpdGUpZyhzY3JpcHQuKTY3CiBiKEEpNDAgYih3KW0oYXJuaW5nOik1OCBiKHRoZSk0MCBiKEJhc2gpZyBGcyhjb25maWd1cmUpYwotRnQobG8pcyhva3Mpayhmb3IpZihhKWgoc2l0ZSkxNTAgMjE0MiB5KHNjcmlwdCwpMzEgYihidXQpZShub3QpaShhbGwpZwotRnMoY29uZmlndXJlKWQgRnQoc2NyaXB0cylpKGRvLikxNTAgMjM4OCB5IEZyKDEwLjcpNjgKLWIoT3ApdChlcmF0aW9uKTQ2IGIoQ29uKWwodHJvbHMpMjc1IDI2MjggeSBGcyhjb25maWd1cmUpMjcKLWIgRnQocmVjb2duaXplcykzMiBiKHRoZSlmKGZvbGxvKW0od2luZyloKG9wdGlvbnMpZih0bylnKGNvbiltKHRyb2wpZwotKGhvKW0odylnKGl0KWcob3ApcyhlcmF0ZXMuKTE1MCAyNzgwIHkgRnMoLS1jYWNoZS1maWxlPSlwCi1GaihmaWxlKTYzMCAyODkwIHkgRnQoVXNlKWsoYW5kKWcoc2EpbSh2KW0oZSloKHRoZSlmKHJlc3VsdHMpZyhvZilnCitGdChsbylzKG9rcylrKGZvcilmKGEpaChzaXRlKTE1MCAxNDcyIHkoc2NyaXB0LCkzMSBiKGJ1dCllKG5vdClpKGFsbClnCitGcyhjb25maWd1cmUpZCBGdChzY3JpcHRzKWkoZG8uKTE1MCAxNjk3IHkgRnIoMTAuNyk2OAorYihPcCl0KGVyYXRpb24pNDYgYihDb24pbCh0cm9scykxNTAgMTg1NiB5IEZzKGNvbmZpZ3VyZSkyOAorYiBGdChyZWNvZ25pemVzKWsodGhlKWUoZm9sbG8pbSh3aW5nKWkob3B0aW9ucylmKHRvKWcoY29uKW0odHJvbCloKGhvKW0KKyh3KWUoaXQpaChvcClzKGVyYXRlcy4pMTUwIDIwMDggeSBGcygtLWNhY2hlLWZpbGU9KXAKK0ZpKGZpbGUpNjMwIDIxMTcgeSBGdChVc2UpayhhbmQpZyhzYSltKHYpbShlKWgodGhlKWYocmVzdWx0cylnKG9mKWcKICh0aGUpaCh0ZXN0cylmKGluKWcgRnEoXDAxNGxlKTQwIGIgRnQoaW5zdGVhZCkzNSBiKG9mKWgoYClwCi1GcyguL2NvbmZpZy5jYWNoZSlwIEZ0KCcuKTUxIGIoU2V0KTYzMCAyOTk5IHkgRnEoXDAxNGxlKTM2CitGcyguL2NvbmZpZy5jYWNoZSlwIEZ0KCcuKTUxIGIoU2V0KTYzMCAyMjI3IHkgRnEoXDAxNGxlKTM2CiBiIEZ0KHRvKTMxIGIoYClwIEZzKC9kZXYvbnVsbClwIEZ0KCcpZCh0bylqKGRpc2FibGUpZyhjYWMpbShoaW5nLCloCi0oZm9yKWUoZGVidWdnaW5nKWcgRnMoY29uZmlndXJlKXAgRnQoLikxNTAgMzE1MSB5IEZzKC0taGVscCkxOTIKKyhmb3IpZShkZWJ1Z2dpbmcpZyBGcyhjb25maWd1cmUpcCBGdCguKTE1MCAyMzc5IHkgRnMoLS1oZWxwKTE5MgogYiBGdChQcmluKW0odCkzMCBiKGEpaChzdW1tYXJ5KWUob2YpaSh0aGUpZihvcHRpb25zKWgodG8pZwotRnMoY29uZmlndXJlKXAgRnQoLClkKGFuZClpKGV4aXQuKTE1MCAzMzAzIHkgRnMoLS1xdWlldCkxNTAKLTM0MTIgeSgtLXNpbGVudCkxNTAgMzUyMiB5KC1xKTM4NCBiIEZ0KERvKTMxIGIobm90KWcocHJpbiltKHQpZgorRnMoY29uZmlndXJlKXAgRnQoLClkKGFuZClpKGV4aXQuKTE1MCAyNTMxIHkgRnMoLS1xdWlldCkxNTAKKzI2NDEgeSgtLXNpbGVudCkxNTAgMjc1MCB5KC1xKTM4NCBiIEZ0KERvKTMxIGIobm90KWcocHJpbiltKHQpZgogKG1lc3NhZ2VzKWgoc2EpbSh5aW5nKWcod2hpYyltKGgpZyhjKW0oaGVjKW0oa3MpZyhhcmUpZyhiKXMoZWluZylmCi0obWFkZS4pMTUwIDM2NzQgeSBGcygtLXNyY2Rpcj0pcCBGaihkaXIpNjMwIDM3ODMgeSBGdChMbylzKG9rKWkoZm9yKWcKLSh0aGUpZyhCYXNoKWcoc291cmNlKWgoY28pcyhkZSlmKGluKWcoZGlyZWN0b3J5KWcgRnEoZGlyKXAKLUZ0KC4pNDUgYihVc3VhbGx5KTMzIGIgRnMoY29uZmlndXJlKWMgRnQoY2FuKWooZGV0ZXItKTYzMAotMzg5MyB5KG1pbmUpZSh0aGF0KWgoZGlyZWN0b3J5KWcoYXV0b21hdGljYWxseSktOCBiKC4pMTUwCi00MDQ1IHkgRnMoLS12ZXJzaW9uKTYzMCA0MTU0IHkgRnQoUHJpbiltKHQpMjkgYih0aGUpaCh2KW0oZXJzaW9uKWcob2YpZworKG1hZGUuKTE1MCAyOTAyIHkgRnMoLS1zcmNkaXI9KXAgRmkoZGlyKTYzMCAzMDEyIHkgRnQoTG8pcyhvaylpKGZvcilmCisodGhlKWgoQmFzaClnKHNvdXJjZSlmKGNvKXMoZGUpaChpbilmKGRpcmVjdG9yeSloIEZxKGRpcik3CitiIEZ0KC4pNDQgYihVc3VhbGx5KTMyIGIgRnMoY29uZmlndXJlKWQgRnQoY2FuKWkoZGV0ZXItKTYzMAorMzEyMSB5KG1pbmUpZih0aGF0KWgoZGlyZWN0b3J5KWcoYXV0b21hdGljYWxseSktOCBiKC4pMTUwCiszMjczIHkgRnMoLS12ZXJzaW9uKTYzMCAzMzgzIHkgRnQoUHJpbiltKHQpMjkgYih0aGUpaCh2KW0oZXJzaW9uKWcob2YpZwogKEF1dG8pcyhjb25mKWYodXNlZClnKHRvKWgoZ2VuZXJhdGUpaCh0aGUpZiBGcyhjb25maWd1cmUpZAotRnQoc2NyaXB0LClqKGFuZClmKGV4aXQuKTI3NSA0MzA2IHkgRnMoY29uZmlndXJlKTM0IGIKK0Z0KHNjcmlwdCwpaihhbmQpZihleGl0LikyNzUgMzUzNSB5IEZzKGNvbmZpZ3VyZSkzNCBiCiBGdChhbHNvKWsoYWNjZXB0cylnKHNvbWUpZyhvdGhlciwpaChub3QpZSh3aWRlbHkpZyh1c2VkLCloKGIpcwotKG9pbGVycGxhdGUpZyhvcHRpb25zLik2MSBiKGApcCBGcyhjb25maWd1cmUpMTUwIDQ0MTUKKyhvaWxlcnBsYXRlKWcob3B0aW9ucy4pNjEgYihgKXAgRnMoY29uZmlndXJlKTE1MCAzNjQ0CiB5KC0taGVscClwIEZ0KCcpMjkgYihwcmluKW0odHMpaCh0aGUpZyhjb21wbGV0ZSlpKGxpc3QuKTE1MAotNDY2MSB5IEZyKDEwLjgpNjggYihPcHRpb25hbCk0NiBiKEYpLTExIGIoZWF0dXJlcykyNzUKLTQ5MDIgeSBGdChUaGUpMzQgYihCYXNoKWggRnMoY29uZmlndXJlKWQgRnQoaGFzKWooYSlnKG4pbSh1bSltKGIpcyhlcilmCi0ob2YpaChgKXAgRnMoLS1lbmFibGUtKXAgRmooZmVhdHVyZSkxMSBiIEZ0KCcpMzAgYihvcHRpb25zLCkzNwotYih3aGVyZSllIEZxKGZlYXR1cmUpNDAgYiBGdChpbi0pMTUwIDUwMTEgeShkaWNhdGVzKTMzCi1iKGFuKWYob3B0aW9uYWwpaChwYXJ0KWYob2YpZyhCYXNoLik0NSBiKFRoZXJlKTMyIGIoYXJlKWcoYWxzbyloKHNldiltCi0oZXJhbClnKGApcCBGcygtLXdpdGgtKXAgRmoocGFja2FnZSkxMSBiIEZ0KCcpMjkgYihvcHRpb25zLClqKHdoZXJlKTE1MAotNTEyMSB5IEZxKHBhYyltKGspLTUgYihhZ2UpMzUgYiBGdChpcykyOCBiKHNvbWV0aGluZyloKGxpayltKGUpaChgKXAKLUZzKGJhc2gtbWFsbG9jKXAgRnQoJykyNSBiKG9yKWooYClwIEZzKHB1cmlmeSlwIEZ0KCcuKTM5Ci1iKFQpLTggYihvKTI5IGIodHVybillKG9cMDEzKWgodGhlKWgoZGVmYXVsdClmKHVzZSlnKG9mKWcoYSloKHBhYyltKGstKQotMTUwIDUyMzAgeShhZ2UsKTQzIGIodXNlKWQoYClwIEZzKC0td2l0aG91dC0pcCBGaihwYWNrYWdlKTExCi1iIEZ0KCcuKTYzIGIoVCktOCBiKG8pNDAgYihjb25cMDE0Z3VyZSlnKEJhc2gpZih3aXRob3V0KWgoYSlnKGZlYXR1cmUpZwotKHRoYXQpZyhpcylnKGVuYWJsZWQpZihiKW0oeSkxNTAgNTM0MCB5KGRlZmF1bHQsKTMxIGIodXNlKWYoYClwCi1GcygtLWRpc2FibGUtKXAgRmooZmVhdHVyZSkxMSBiIEZ0KCcuKXAgZW9wIGVuZAorMzg2OSB5IEZyKDEwLjgpNjggYihPcHRpb25hbCk0NiBiKEYpLTExIGIoZWF0dXJlcykxNTAKKzQwMjkgeSBGdChUaGUpMjQgYihCYXNoKWcgRnMoY29uZmlndXJlKWUgRnQoaGFzKWgoYSlpKG4pbSh1bSltKGIpcyhlcillCisob2YpaChgKXAgRnMoLS1lbmFibGUtKXAgRmkoZmVhdHVyZSkxMSBiIEZ0KCcpMjAgYihvcHRpb25zLCkyNgorYih3aGVyZSlkIEZxKGZlYXR1cmUpMzAgYiBGdChpbmRpY2F0ZXMpMTUwIDQxMzggeShhbilmKG9wdGlvbmFsKWkocGFydCkKK2Uob2YpZyhCYXNoLik0MSBiKFRoZXJlKTI4IGIoYXJlKWkoYWxzbylnKHNldiltKGVyYWwpaChgKXAKK0ZzKC0td2l0aC0pcCBGaShwYWNrYWdlKTExIGIgRnQoJykyNSBiKG9wdGlvbnMsKTMwIGIod2hlcmUpZgorRnEocGFjKW0oayktNSBiKGFnZSkxNTAgNDI0OCB5IEZ0KGlzKTMyIGIoc29tZXRoaW5nKWgobGlrKW0oZSloKGApcAorRnMoYmFzaC1tYWxsb2MpcCBGdCgnKWMob3IpaShgKXAgRnMocHVyaWZ5KXAgRnQoJy4pNDUKK2IoVCktOCBiKG8pMzMgYih0dXJuKWUob1wwMTMpaSh0aGUpZihkZWZhdWx0KWgodXNlKWYob2YpZyhhKWgocGFjKW0oaykKKy01IGIoYWdlLCkzNSBiKHVzZSkxNTAgNDM1NyB5KGApcCBGcygtLXdpdGhvdXQtKXAgRmkocGFja2FnZSkxMQorYiBGdCgnLikzNiBiKFQpLTggYihvKTI5IGIoY29uXDAxNGd1cmUpZyhCYXNoKWgod2l0aG91dClmKGEpZyhmZWF0dXJlKWgKKyh0aGF0KWcoaXMpZihlbmFibGVkKWcoYiltKHkpZyhkZWZhdWx0LCloKHVzZSkxNTAgNDQ2NworeShgKXAgRnMoLS1kaXNhYmxlLSlwIEZpKGZlYXR1cmUpMTEgYiBGdCgnLikyNzUgNDU5OAoreShIZXJlKTIxIGIoaXMpZyhhKWcoY29tcGxldGUpaChsaXN0KWcob2YpZih0aGUpZyhgKXAKK0ZzKC0tZW5hYmxlLSlwIEZ0KCcpZShhbmQpaChgKXAgRnMoLS13aXRoLSlwIEZ0KCcpZyhvcHRpb25zKWgodGhhdClnCisodGhlKWcoQmFzaClnIEZzKGNvbmZpZ3VyZSkxNTAgNDcwNyB5IEZ0KHJlY29nbml6ZXMuKTE1MAorNDg1OSB5IEZzKC0td2l0aC1hZnMpNjMwIDQ5NjkgeSBGdChEZVwwMTRuZSkzMSBiKGlmKWYoeSltKG91KWgoYXJlKWYKKyh1c2luZylnKHRoZSloKEFuZHJldyllKEZpbGUpaihTeXN0ZW0pZShmcm9tKWcoVCktOCBiKHJhbnNhcmMuKTE1MAorNTEyMSB5IEZzKC0td2l0aC1iYXNoLW1hbGxvYyk2MzAgNTIzMCB5IEZ0KFVzZSkzMSBiKHRoZSlnKEJhc2gpZih2KW0KKyhlcnNpb24paShvZillIEZzKG1hbGxvYylmIEZ0KGluKWgodGhlKWgoZGlyZWN0b3J5KWcoYClwCitGcyhsaWIvbWFsbG9jKXAgRnQoJy4pMzkgYihUaGlzKTMwIGIoaXMpaChub3QpZyh0aGUpNjMwCis1MzQwIHkoc2FtZSloIEZzKG1hbGxvYyllIEZ0KHRoYXQpaihhcHApcyhlYXJzKWUoaW4pZworRmwoZ251KWggRnQobGliKXMoYywpZyhidXQpZihhbiloKG9sZGVyKWYodiltKGVyc2lvbilpKG9yaWdpbmFsbHkpZworKGRlcml2KW0oZWQpcCBlb3AgZW5kCiAlJVBhZ2U6IDEzMCAxMzYKIFRlWERpY3QgYmVnaW4gMTMwIDEzNSBib3AgMTUwIC0xMTYgYSBGdCgxMzApMjUyNyBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTI3NSAyOTkgeShIZXJlKTIxIGIoaXMpZyhhKWcoY29tcGxldGUpaChsaXN0KWcKLShvZilmKHRoZSlnKGApcCBGcygtLWVuYWJsZS0pcCBGdCgnKWUoYW5kKWgoYClwIEZzKC0td2l0aC0pcAotRnQoJylnKG9wdGlvbnMpaCh0aGF0KWcodGhlKWcoQmFzaClnIEZzKGNvbmZpZ3VyZSkxNTAKLTQwOCB5IEZ0KHJlY29nbml6ZXMuKTE1MCA1ODkgeSBGcygtLXdpdGgtYWZzKTYzMCA2OTgKLXkgRnQoRGVcMDE0bmUpMzEgYihpZilmKHkpbShvdSloKGFyZSlmKHVzaW5nKWcodGhlKWgoQW5kcmV3KWUoRmlsZSlqCi0oU3lzdGVtKWUoZnJvbSlnKFQpLTggYihyYW5zYXJjLikxNTAgODcyIHkgRnMoLS13aXRoLWJhc2gtbWFsbG9jKTYzMAotOTgxIHkgRnQoVXNlKTMxIGIodGhlKWcoQmFzaClmKHYpbShlcnNpb24paShvZillIEZzKG1hbGxvYylmCi1GdChpbiloKHRoZSloKGRpcmVjdG9yeSlnKGApcCBGcyhsaWIvbWFsbG9jKXAgRnQoJy4pMzkKLWIoVGhpcykzMCBiKGlzKWgobm90KWcodGhlKTYzMCAxMDkxIHkoc2FtZSloIEZzKG1hbGxvYyllCi1GdCh0aGF0KWooYXBwKXMoZWFycyllKGluKWcgRmwoZ251KWggRnQobGliKXMoYywpZyhidXQpZihhbiloKG9sZGVyKWYKLSh2KW0oZXJzaW9uKWkob3JpZ2luYWxseSlnKGRlcml2KW0oZWQpNjMwIDEyMDAgeShmcm9tKWYodGhlKWgoNC4yKWcKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeShmcm9tKWgodGhlKWgoNC4yKWcKIEZsKGJzZClmIEZzKG1hbGxvYylwIEZ0KC4pNDUgYihUaGlzKTMxIGIgRnMobWFsbG9jKWcKIEZ0KGlzKWkodiltKGVyeSlmKGZhc3QsKWkoYnV0KWUodyltKGFzdGVzKWgoc29tZSlnKHNwYWNlKWcob24pNjMwCi0xMzEwIHkoZWFjKW0oaClnKGFsbG8pcyhjYXRpb24uKTQ4IGIoVGhpcykzMSBiKG9wdGlvbilpKGlzKWYoZW5hYmxlZClnCis0MDggeShlYWMpbShoKWcoYWxsbylzKGNhdGlvbi4pNDggYihUaGlzKTMxIGIob3B0aW9uKWkoaXMpZihlbmFibGVkKWcKIChiKW0oeSlnKGRlZmF1bHQuKTQ2IGIoVGhlKTMxIGIoYClwIEZzKE5PVEVTKXAgRnQoJylnKFwwMTRsZSloKGNvbiltCi0odGFpbnMpaShhKTYzMCAxNDE5IHkobGlzdCkyOSBiKG9mKWYoc3lzdGVtcylmKGZvciloKHdoaWMpbShoKWcodGhpcylnCisodGFpbnMpaShhKTYzMCA1MTggeShsaXN0KTI5IGIob2YpZihzeXN0ZW1zKWYoZm9yKWgod2hpYyltKGgpZyh0aGlzKWcKIChzaG91bGQpZShiKXMoZSlpKHR1cm5lZCllKG9cMDEzLClqKGFuZClmIEZzKGNvbmZpZ3VyZSlkCi1GdChkaXNhYmxlcylqKHRoaXMpNjMwIDE1MjkgeShvcHRpb24paihhdXRvbWF0aWNhbGx5KWkoZm9yKWQoYSloKG4pbQotKHVtKW0oYilzKGVyKWUob2YpaShzeXN0ZW1zLikxNTAgMTcwMiB5IEZzKC0td2l0aC1jdXJzZXMpNjMwCi0xODEyIHkgRnQoVXNlKWgodGhlKWgoY3Vyc2VzKWUobGlicmFyeSloKGluc3RlYWQpZyhvZiloKHRoZSlmKHRlcm1jYXApZworRnQoZGlzYWJsZXMpaih0aGlzKTYzMCA2MjggeShvcHRpb24paihhdXRvbWF0aWNhbGx5KWkoZm9yKWQoYSloKG4pbSh1bSkKK20oYilzKGVyKWUob2YpaShzeXN0ZW1zLikxNTAgNzk4IHkgRnMoLS13aXRoLWN1cnNlcyk2MzAKKzkwNyB5IEZ0KFVzZSloKHRoZSloKGN1cnNlcyllKGxpYnJhcnkpaChpbnN0ZWFkKWcob2YpaCh0aGUpZih0ZXJtY2FwKWcKIChsaWJyYXJ5KS04IGIoLik0NiBiKFRoaXMpMzIgYihzaG91bGQpZihiKXMoZSlnKHN1cHBsaWVkKTYzMAotMTkyMSB5KGlmKWYoeSltKG91ciloKHN5c3RlbSlmKGhhcylnKGFuKWgoaW5hZGVxdWF0ZSlnKG9yKWYoaW5jb21wbGV0ZSkKLWkodGVybWNhcCllKGRhdGFiYXNlLikxNTAgMjA5NSB5IEZzKC0td2l0aC1nbnUtbWFsbG9jKTYzMAotMjIwNCB5IEZ0KEEpZyhzeW5vbiltKHltKWcoZm9yKWcgRnMoLS13aXRoLWJhc2gtbWFsbG9jKXAKLUZ0KC4pMTUwIDIzNzggeSBGcygtLXdpdGgtaW5zdGFsbGVkLXJlYWRsaW4pbyhlWz0pcCBGaihQKW8oUkVGSSlvKFgpMTEKLWIgRnMoXSk2MzAgMjQ4NyB5IEZ0KERlXDAxNG5lKTI2IGIodGhpcylmKHRvKWgobWFrKW0oZSloKEJhc2gpZihsaW5rKWYKKzEwMTcgeShpZilmKHkpbShvdXIpaChzeXN0ZW0pZihoYXMpZyhhbiloKGluYWRlcXVhdGUpZyhvcilmKGluY29tcGxldGUpCitpKHRlcm1jYXApZShkYXRhYmFzZS4pMTUwIDExODcgeSBGcygtLXdpdGgtZ251LW1hbGxvYyk2MzAKKzEyOTcgeSBGdChBKWcoc3lub24pbSh5bSlnKGZvcilnIEZzKC0td2l0aC1iYXNoLW1hbGxvYylwCitGdCguKTE1MCAxNDY3IHkgRnMoLS13aXRoLWluc3RhbGxlZC1yZWFkbGluKW8oZVs9KXAgRmkoUClvKFJFRkkpbyhYKTExCitiIEZzKF0pNjMwIDE1NzYgeSBGdChEZVwwMTRuZSkyNiBiKHRoaXMpZih0byloKG1hayltKGUpaChCYXNoKWYobGluaylmCiAod2l0aClnKGEpaChsbylzKGNhbGx5LWluc3RhbGxlZClpKHYpbShlcnNpb24pZShvZilnKFJlYWRsaW5lKWcocmF0aGVyKQotNjMwIDI1OTcgeSh0aGFuKTM4IGIodGhlKWgodiltKGVyc2lvbilnKGluKWcoYClwIEZzKGxpYi9yZWFkbGluZSlwCis2MzAgMTY4NiB5KHRoYW4pMzggYih0aGUpaCh2KW0oZXJzaW9uKWcoaW4pZyhgKXAgRnMobGliL3JlYWRsaW5lKXAKIEZ0KCcuKTYyIGIoVGhpcykzOCBiKHcpbShvcmtzKWgob25seSlmKHdpdGgpaChSZWFkbGluZSlnKDUuMCloKGFuZCk2MzAKLTI3MDYgeShsYXRlcikyOSBiKHYpbShlcnNpb25zLik0MCBiKElmKTI4IGIgRnEoUFJFRklYKTM3CisxNzk2IHkobGF0ZXIpMjkgYih2KW0oZXJzaW9ucy4pNDAgYihJZikyOCBiIEZxKFBSRUZJWCkzNwogYiBGdChpcykyOCBiIEZzKHllcylmIEZ0KG9yKWgobm90KWcoc3VwcGxpZWQsKWYgRnMoY29uZmlndXJlKWYKLUZ0KHVzZXMpaCh0aGUpaCh2KS01IGIoYWx1ZXMpMjkgYihvZik2MzAgMjgxNiB5KHRoZSljKG1hayltKGUpZyh2KS01CitGdCh1c2VzKWgodGhlKWgodiktNSBiKGFsdWVzKTI5IGIob2YpNjMwIDE5MDUgeSh0aGUpYyhtYWspbShlKWcodiktNQogYihhcmlhYmxlcykyNSBiIEZzKGluY2x1ZGVkaXIpZCBGdChhbmQpaCBGcyhsaWJkaXIpcAogRnQoLCloKHdoaWMpbShoKWgoYXJlKWYoc3ViKXMoZGlyZWN0b3JpZXMpZyhvZiloIEZzKHByZWZpeCk2MzAKLTI5MjYgeSBGdChiKW0oeSkzMiBiKGRlZmF1bHQsKWcodG8paChcMDE0bmQpZCh0aGUpaShpbnN0YWxsZWQpaCh2KW0KKzIwMTUgeSBGdChiKW0oeSkzMiBiKGRlZmF1bHQsKWcodG8paChcMDE0bmQpZCh0aGUpaShpbnN0YWxsZWQpaCh2KW0KIChlcnNpb24pZihvZilnKFJlYWRsaW5lKWgoaWYpZihpdClnKGlzKWcobm90KWcoaW4pZyh0aGUpZyhzdGFuZGFyZCk2MzAKLTMwMzUgeShzeXN0ZW0paihpbmNsdWRlKWYoYW5kKWcobGlicmFyeSlnKGRpcmVjdG9yaWVzLik1NAorMjEyNCB5KHN5c3RlbSlqKGluY2x1ZGUpZihhbmQpZyhsaWJyYXJ5KWcoZGlyZWN0b3JpZXMuKTU0CiBiKElmKTM0IGIgRnEoUFJFRklYKTQzIGIgRnQoaXMpMzUgYiBGcyhubylwIEZ0KCwpZyhCYXNoKWYobGlua3MpaCh3aXRoKQotZih0aGUpNjMwIDMxNDUgeSh2KW0oZXJzaW9uKWsoaW4pZihgKXAgRnMobGliL3JlYWRsaW5lKXAKK2YodGhlKTYzMCAyMjM0IHkodiltKGVyc2lvbilrKGluKWYoYClwIEZzKGxpYi9yZWFkbGluZSlwCiBGdCgnLik1OCBiKElmKTM3IGIgRnEoUFJFRklYKTQ2IGIgRnQoaXMpMzggYihzZXQpZyh0bylnKGFuKW0oeSlmKG90aGVyKQotaCh2KS01IGIoYWx1ZSwpMzkgYiBGcyhjb25maWd1cmUpNjMwIDMyNTQgeSBGdCh0cmVhdHMpMjcKK2godiktNSBiKGFsdWUsKTM5IGIgRnMoY29uZmlndXJlKTYzMCAyMzQ0IHkgRnQodHJlYXRzKTI3CiBiKGl0KWcoYXMpZihhKWgoZGlyZWN0b3J5KWcocGF0aG5hbWUpZihhbmQpZihsbylzKG9rcylpKGZvcilmKHRoZSlnCi0oaW5zdGFsbGVkKWgodiltKGVyc2lvbilnKG9mKWYoUmVhZGxpbmUpNjMwIDMzNjQgeShpbikzNAorKGluc3RhbGxlZCloKHYpbShlcnNpb24pZyhvZilmKFJlYWRsaW5lKTYzMCAyNDUzIHkoaW4pMzQKIGIoc3ViKXMoZGlyZWN0b3JpZXMpZihvZiloKHRoYXQpaChkaXJlY3RvcnkpZyhcKGluY2x1ZGUpZihcMDE0bGVzKWcoaW4pCiBnIEZxKFBSRUZJWCk5IGIgRnQoLylwIEZzKGluY2x1ZGUpMzIgYiBGdChhbmQpaSh0aGUpNjMwCi0zNDczIHkobGlicmFyeSljKGluKWcgRnEoUFJFRklYKTkgYiBGdCgvKXAgRnMobGliKXAgRnQoXCkuKTE1MAotMzY0NyB5IEZzKC0td2l0aC1wdXJpZnkpNjMwIDM3NTYgeSBGdChEZVwwMTRuZSkyMyBiKHRoaXMpZyh0byloKHVzZSlmCisyNTYzIHkobGlicmFyeSljKGluKWcgRnEoUFJFRklYKTkgYiBGdCgvKXAgRnMobGliKXAgRnQoXCkuKTE1MAorMjczMyB5IEZzKC0td2l0aC1wdXJpZnkpNjMwIDI4NDMgeSBGdChEZVwwMTRuZSkyMyBiKHRoaXMpZyh0byloKHVzZSlmCiAodGhlKWcoUHVyaWZ5KWYobWVtb3J5KWgoYWxsbylzKGNhdGlvbilpKGMpbShoZWMpbShrKW0oZXIpZyhmcm9tKWUKLShSYXRpb25hbClpKFNvZnQpbSh3KW0oYXJlLikxNTAgMzkzMCB5IEZzKC0tZW5hYmxlLW1pbmltYWwtY29uZmlnKTYzMAotNDAzOSB5IEZ0KFRoaXMpZShwcm8pcyhkdWNlcylmKGEpaShzaGVsbClnKHdpdGgpZihtaW5pbWFsKWgoZmVhdHVyZXMsKWgKKyhSYXRpb25hbClpKFNvZnQpbSh3KW0oYXJlLikxNTAgMzAxMyB5IEZzKC0tZW5hYmxlLW1pbmltYWwtY29uZmlnKTYzMAorMzEyMiB5IEZ0KFRoaXMpZShwcm8pcyhkdWNlcylmKGEpaShzaGVsbClnKHdpdGgpZihtaW5pbWFsKWgoZmVhdHVyZXMsKWgKIChjbG9zZSlnKHRvKWYodGhlKWcoaGlzdG9yaWNhbCloKEJvdXJuZSllKHNoZWxsLikyNzUKLTQyMTkgeShUaGVyZSlnKGFyZSlpKHNldiltKGVyYWwpZyhgKXAgRnMoLS1lbmFibGUtKXAKKzMyOTggeShUaGVyZSlnKGFyZSlpKHNldiltKGVyYWwpZyhgKXAgRnMoLS1lbmFibGUtKXAKIEZ0KCcpZChvcHRpb25zKWoodGhhdClmKGFsdGVyKWgoaG8pbSh3KWcoQmFzaClmKGlzKWcoY29tcGlsZWQpaChhbmQpZQotKGxpbmspbShlZCwpaihyYXRoZXIpMTUwIDQzMjkgeSh0aGFuKWsoYyltKGhhbmdpbmcpaChydW4tdGltZSlmCi0oZmVhdHVyZXMuKTE1MCA0NTA5IHkgRnMoLS1lbmFibGUtbGFyZ2VmaWxlKTYzMCA0NjE5CisobGluayltKGVkLClqKHJhdGhlcikxNTAgMzQwNyB5KHRoYW4payhjKW0oaGFuZ2luZyloKHJ1bi10aW1lKWYKKyhmZWF0dXJlcy4pMTUwIDM1ODMgeSBGcygtLWVuYWJsZS1sYXJnZWZpbGUpNjMwIDM2OTMKIHkgRnQoRW5hYmxlKTc2IGIoc3VwcClzKG9ydClmKGZvciloKGxhcmdlKWgoXDAxNGxlcylmKFwoKXAKLUZzKGh0dHA6Ly93d3cuc2FzLmNvbS9zdGFuZGFyKW8oZHMvbClvKGFyZ2UpbyhfKTYzMCA0NzI4CitGcyhodHRwOi8vd3d3LnNhcy5jb20vc3RhbmRhcilvKGRzL2wpbyhhcmdlKW8oXyk2MzAgMzgwMgogeShmaWxlL3hfb3Blbi4yME1hcjk2Lmh0bWwpbyBGdChcKSkyMyBiKGlmKTI4IGIodGhlKWcob3ApcyhlcmF0aW5nKWgKLShzeXN0ZW0pZihyZXF1aXJlcylnKHNwKXMoZWNpYWwpZyhjb21waWxlcik2MzAgNDgzOCB5KG9wdGlvbnMpNDUKKyhzeXN0ZW0pZihyZXF1aXJlcylnKHNwKXMoZWNpYWwpZyhjb21waWxlcik2MzAgMzkxMiB5KG9wdGlvbnMpNDUKIGIodG8pZyhidWlsZCllKHByb2dyYW1zKWgod2hpYyltKGgpZyhjYW4pZyhhY2Nlc3MpaShsYXJnZSlmKFwwMTRsZXMuKTgyCi1iKFRoaXMpNDQgYihpcylnKGVuYWJsZWQpZyhiKW0oeSk2MzAgNDk0OCB5KGRlZmF1bHQsKTMxCitiKFRoaXMpNDQgYihpcylnKGVuYWJsZWQpZyhiKW0oeSk2MzAgNDAyMSB5KGRlZmF1bHQsKTMxCiBiKGlmKWYodGhlKWgob3ApcyhlcmF0aW5nKWcoc3lzdGVtKWYocHJvKW0odmlkZXMpZyhsYXJnZSlpKFwwMTRsZSllCi0oc3VwcClzKG9ydC4pMTUwIDUxMjEgeSBGcygtLWVuYWJsZS1wcm9maWxpbmcpNjMwIDUyMzAKKyhzdXBwKXMob3J0LikxNTAgNDE5MSB5IEZzKC0tZW5hYmxlLXByb2ZpbGluZyk2MzAgNDMwMQogeSBGdChUaGlzKWgoYnVpbGRzKWYoYSlpKEJhc2gpZyhiaW5hcnkpZih0aGF0KWgocHJvKXMoZHVjZXMpZQogKHByb1wwMTRsaW5nKWgoaW5mb3JtYXRpb24paCh0byloKGIpcyhlKWQocHJvKXMoY2Vzc2VkKTYzMAotNTM0MCB5KGIpbSh5KWcgRnMoZ3Byb2YpZiBGdChlYWMpbShoKWoodGltZSlmKGl0KWcoaXMpZihleGVjdXRlZC4pcAotZW9wIGVuZAotJSVQYWdlOiAxMzEgMTM3Ci1UZVhEaWN0IGJlZ2luIDEzMSAxMzYgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDEwOik0MQotYihJbnN0YWxsaW5nKTMxIGIoQmFzaCkyMzU2IGIoMTMxKTE1MCAyOTkgeSBGcygtLWVuYWJsZS1zdGF0aWMtbGluayk2MzAKLTQwOCB5IEZ0KFRoaXMpMzcgYihjYXVzZXMpaChCYXNoKWYodG8paChiKXMoZSlmKGxpbmspbShlZCloKHN0YXRpY2FsbHkpCi0tOCBiKCwpNDMgYihpZikzNyBiIEZzKGdjYylnIEZ0KGlzKWcoYilzKGVpbmcpZyh1c2VkLik2MQotYihUaGlzKTM3IGIoY291bGQpaChiKXMoZSk2MzAgNTE4IHkodXNlZCkzMCBiKHRvKWgoYnVpbGQpZShhKWkodiltCi0oZXJzaW9uKWcodG8pZyh1c2UpZihhcylnKHJvKXMob3QncyloKHNoZWxsLikyNzUgNjcxCis0NDExIHkoYiltKHkpZyBGcyhncHJvZilmIEZ0KGVhYyltKGgpaih0aW1lKWYoaXQpZyhpcylmKGV4ZWN1dGVkLikxNTAKKzQ1ODEgeSBGcygtLWVuYWJsZS1zdGF0aWMtbGluayk2MzAgNDY5MCB5IEZ0KFRoaXMpMzcKK2IoY2F1c2VzKWgoQmFzaClmKHRvKWgoYilzKGUpZihsaW5rKW0oZWQpaChzdGF0aWNhbGx5KS04CitiKCwpNDMgYihpZikzNyBiIEZzKGdjYylnIEZ0KGlzKWcoYilzKGVpbmcpZyh1c2VkLik2MQorYihUaGlzKTM3IGIoY291bGQpaChiKXMoZSk2MzAgNDgwMCB5KHVzZWQpMzAgYih0byloKGJ1aWxkKWUoYSlpKHYpbQorKGVyc2lvbilnKHRvKWcodXNlKWYoYXMpZyhybylzKG90J3MpaChzaGVsbC4pMjc1IDQ5NzYKIHkoVGhlKWYoYClwIEZzKG1pbmltYWwtY29uZmlnKXAgRnQoJylkKG9wdGlvbilrKGNhbilnKGIpcyhlKWYodXNlZClmCiAodG8paihkaXNhYmxlKWUoYWxsKWkob2YpZih0aGUpZihmb2xsbyltKHdpbmcpaShvcHRpb25zLClnKGJ1dClkKGl0KTE1MAotNzgxIHkoaXMpaChwcm8pcyhjZXNzZWQpZyhcMDE0cnN0LClnKHNvKWgoaW5kaXZpZHVhbClmKG9wdGlvbnMpZyhtYSltCi0oeSloKGIpcyhlKWYoZW5hYmxlZClnKHVzaW5nKWcoYClwIEZzKGVuYWJsZS0pcCBGaihmZWF0dXJlKTExCi1iIEZ0KCcuKTI3NSA5MTMgeShBbGwpMzcgYihvZilnKHRoZSlmKGZvbGxvKW0od2luZylpKG9wdGlvbnMpZihleGNlcHQpaAotKGZvcillKGApcCBGcyhkaXNhYmxlZC1idWlsdGlucylwIEZ0KCcpZChhbmQpaihgKXAgRnMoeHBnLWVjaG8tZGVmYXVsdCkKLXAgRnQoJykxNTAgMTAyMiB5KGFyZSkyNiBiKGVuYWJsZWQpZyhiKW0oeSlnKGRlZmF1bHQsKWgodW5sZXNzKWYodGhlKWcKLShvcClzKGVyYXRpbmcpZyhzeXN0ZW0pZyhkbylzKGVzKWcobm90KWcocHJvKW0odmlkZSlnKHRoZSlnKG5lY2Vzc2FyeSlnCi0oc3VwcClzKG9ydC4pMTUwIDExNzYgeSBGcygtLWVuYWJsZS1hbGlhcyk2MzAgMTI4NSB5Ci1GdChBbGxvKW0odyk0MSBiKGFsaWFzKWcoZXhwYW5zaW9uKWYoYW5kKWYoaW5jbHVkZSlnKHRoZSloCis1MDg1IHkoaXMpaChwcm8pcyhjZXNzZWQpZyhcMDE0cnN0LClnKHNvKWgoaW5kaXZpZHVhbClmKG9wdGlvbnMpZyhtYSltCisoeSloKGIpcyhlKWYoZW5hYmxlZClnKHVzaW5nKWcoYClwIEZzKGVuYWJsZS0pcCBGaShmZWF0dXJlKTExCitiIEZ0KCcuKTI3NSA1MjMwIHkoQWxsKTM3IGIob2YpZyh0aGUpZihmb2xsbyltKHdpbmcpaShvcHRpb25zKWYoZXhjZXB0KQoraChmb3IpZShgKXAgRnMoZGlzYWJsZWQtYnVpbHRpbnMpcCBGdCgnKWQoYW5kKWooYClwIEZzCisoeHBnLWVjaG8tZGVmYXVsdClwIEZ0KCcpMTUwIDUzNDAgeShhcmUpMjYgYihlbmFibGVkKWcoYiltKHkpZworKGRlZmF1bHQsKWgodW5sZXNzKWYodGhlKWcob3ApcyhlcmF0aW5nKWcoc3lzdGVtKWcoZG8pcyhlcylnKG5vdClnKHBybykKK20odmlkZSlnKHRoZSlnKG5lY2Vzc2FyeSlnKHN1cHApcyhvcnQuKXAgZW9wIGVuZAorJSVQYWdlOiAxMzEgMTM3CitUZVhEaWN0IGJlZ2luIDEzMSAxMzYgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDEwOik0MQorYihJbnN0YWxsaW5nKTMxIGIoQmFzaCkyMzU2IGIoMTMxKTE1MCAyOTkgeSBGcygtLWVuYWJsZS1hbGlhcyk2MzAKKzQwOCB5IEZ0KEFsbG8pbSh3KTQxIGIoYWxpYXMpZyhleHBhbnNpb24pZihhbmQpZihpbmNsdWRlKWcodGhlKWgKIEZzKGFsaWFzKWYgRnQoYW5kKWcgRnModW5hbGlhcyllIEZ0KGJ1aWx0aW5zKWooXChzZWUpZyhTZWMtKTYzMAotMTM5NSB5KHRpb24pMzEgYig2LjYpZyhbQWxpYXNlc10sKWkocGFnZSllKDc5XCkuKTE1MAotMTU0OCB5IEZzKC0tZW5hYmxlLWFyaXRoLWZvci1jb21tYSlvKG5kKTYzMCAxNjU4IHkgRnQoSW5jbHVkZSkyMQorNTE4IHkodGlvbikzMSBiKDYuNilnKFtBbGlhc2VzXSwpaShwYWdlKWUoNzlcKS4pMTUwIDY5MgoreSBGcygtLWVuYWJsZS1hcml0aC1mb3ItY29tbWEpbyhuZCk2MzAgODAxIHkgRnQoSW5jbHVkZSkyMQogYihzdXBwKXMob3J0KWcoZm9yKWcodGhlKWkoYWx0ZXJuYXRlKWcoZm9ybSlmKG9mKWcodGhlKWcKIEZzKGZvcilmIEZ0KGNvbW1hbmQpaCh0aGF0KWgoYilzKGVoYSltKHYpbShlcylmKGxpayltKGUpaSh0aGUpNjMwCi0xNzY3IHkoQykzMCBiKGxhbmd1YWdlKWkgRnMoZm9yKWQgRnQoc3RhdGVtZW4pbSh0KWooXChzZWUpZyhTZWN0aW9uKWYKLSgzLjIuNC4xKWkoW0xvKXMob3BpbmcpZChDb25zdHJ1Y3RzXSwpaChwYWdlKWcoMTBcKS4pMTUwCi0xOTIxIHkgRnMoLS1lbmFibGUtYXJyYXktdmFyaWFibGVzKTYzMCAyMDMwIHkgRnQoSW5jbHVkZSloKHN1cHApcyhvcnQpZworOTExIHkoQykzMCBiKGxhbmd1YWdlKWkgRnMoZm9yKWQgRnQoc3RhdGVtZW4pbSh0KWooXChzZWUpZyhTZWN0aW9uKWYKKygzLjIuNC4xKWkoW0xvKXMob3BpbmcpZChDb25zdHJ1Y3RzXSwpaChwYWdlKWcoOVwpLikxNTAKKzEwODQgeSBGcygtLWVuYWJsZS1hcnJheS12YXJpYWJsZXMpNjMwIDExOTQgeSBGdChJbmNsdWRlKWgoc3VwcClzKG9ydClnCiAoZm9yKWgob25lLWRpbWVuc2lvbmFsKWgoYXJyYSltKHkpZihzaGVsbCloKHYpLTUgYihhcmlhYmxlcykzMwotYihcKHNlZSloKFNlY3Rpb24pZyg2LjcpaChbQXItKTYzMCAyMTQwIHkocmEpbSh5c10sKWMocGFnZSlnKDgwXCkuKTE1MAotMjI5MyB5IEZzKC0tZW5hYmxlLWJhbmctaGlzdG9yeSk2MzAgMjQwMyB5IEZ0KEluY2x1ZGUpMzYKK2IoXChzZWUpaChTZWN0aW9uKWcoNi43KWgoW0FyLSk2MzAgMTMwMyB5KHJhKW0oeXNdLCljKHBhZ2UpZyg4MFwpLikxNTAKKzE0NzcgeSBGcygtLWVuYWJsZS1iYW5nLWhpc3RvcnkpNjMwIDE1ODcgeSBGdChJbmNsdWRlKTM2CiBiKHN1cHApcyhvcnQpZihmb3IpaCBGcyhjc2gpcCBGdCgtbGlrKW0oZSloKGhpc3RvcnkpZyhzdWJzdGl0dXRpb24pZgotKFwoc2VlKWgoU2VjdGlvbilnKDkuMyloKFtIaXN0b3J5KWYoSW4tKTYzMCAyNTEzIHkodGVyYWN0aW9uXSwpYyhwYWdlKWUKLSgxMjNcKS4pMTUwIDI2NjYgeSBGcygtLWVuYWJsZS1icmFjZS1leHBhbnNpb24pNjMwIDI3NzYKKyhcKHNlZSloKFNlY3Rpb24pZyg5LjMpaChbSGlzdG9yeSlmKEluLSk2MzAgMTY5NiB5KHRlcmFjdGlvbl0sKWMocGFnZSllCisoMTIzXCkuKTE1MCAxODcwIHkgRnMoLS1lbmFibGUtYnJhY2UtZXhwYW5zaW9uKTYzMCAxOTc5CiB5IEZ0KEluY2x1ZGUpNDAgYiBGcyhjc2gpcCBGdCgtbGlrKW0oZSloKGJyYWNlKWYoZXhwYW5zaW9uKWcoXCgpaAotRnMoYnthLGJ9YykyNDQ1IDI3NzIgeSBGcCg3ISkyNTc2IDI3NzYgeSBGcyhiYWMpMzAgYihiYmMpMzkKLWIgRnQoXCkuKTcxIGIoU2VlKTQwIGIoU2VjdGlvbiloKDMuNS4xKTYzMCAyODg1IHkoW0JyYWNlKTMyCi1iKEV4cGFuc2lvbl0sKWUocGFnZSloKDE4LCloKGZvcillKGEpZyhjb21wbGV0ZSlpKGRlc2NyaXB0aW9uLikxNTAKLTMwMzkgeSBGcygtLWVuYWJsZS1jYXNlbW9kLWF0dHJpYnUpbyh0ZXMpNjMwIDMxNDggeSBGdChJbmNsdWRlKTM3CitGcyhie2EsYn1jKWQgRnAoNyEpaSBGcyhiYWMpMzAgYihiYmMpMzkgYiBGdChcKS4pNzEgYihTZWUpNDAKK2IoU2VjdGlvbiloKDMuNS4xKTYzMCAyMDg5IHkoW0JyYWNlKTMyIGIoRXhwYW5zaW9uXSwpZShwYWdlKWgoMTgsKWgKKyhmb3IpZShhKWcoY29tcGxldGUpaShkZXNjcmlwdGlvbi4pMTUwIDIyNjIgeSBGcworKC0tZW5hYmxlLWNhc2Vtb2QtYXR0cmlidSlvKHRlcyk2MzAgMjM3MiB5IEZ0KEluY2x1ZGUpMzcKIGIoc3VwcClzKG9ydClnKGZvcilnKGNhc2UtbW8pcyhkaWZ5aW5nKWkoYXR0cmlidXRlcylnKGluKWUodGhlKWgKLUZzKGRlY2xhcmUpZSBGdChidWlsdGluKWkoYW5kKWYoYXMtKTYzMCAzMjU4IHkoc2lnbm1lbiltKHQpMjkKK0ZzKGRlY2xhcmUpZSBGdChidWlsdGluKWkoYW5kKWYoYXMtKTYzMCAyNDgyIHkoc2lnbm1lbiltKHQpMjkKIGIoc3RhdGVtZW4pbSh0cy4pNDEgYihWKS04IGIoYXJpYWJsZXMpMzAgYih3aXRoKWUodGhlKWcKIEZxKHVwcClzKGVyY2FzZSlrIEZ0KGF0dHJpYnV0ZSwpZShmb3IpZShleGFtcGxlLClpKHdpbGwpNjMwCi0zMzY3IHkoaGEpbSh2KW0oZSlpKHRoZWlyKWUodiktNSBiKGFsdWVzKTMxIGIoY29uKW0odiltKGVydGVkKWgodG8pZgotKHVwcClzKGVyY2FzZSllKHVwKXMob24pZyhhc3NpZ25tZW4pbSh0LikxNTAgMzUyMSB5IEZzCi0oLS1lbmFibGUtY2FzZW1vZC1leHBhbnNpKW8ob24pNjMwIDM2MzAgeSBGdChJbmNsdWRlKWgoc3VwcClzKG9ydCllCisyNTkxIHkoaGEpbSh2KW0oZSlpKHRoZWlyKWUodiktNSBiKGFsdWVzKTMxIGIoY29uKW0odiltKGVydGVkKWgodG8pZgorKHVwcClzKGVyY2FzZSllKHVwKXMob24pZyhhc3NpZ25tZW4pbSh0LikxNTAgMjc2NSB5IEZzCisoLS1lbmFibGUtY2FzZW1vZC1leHBhbnNpKW8ob24pNjMwIDI4NzQgeSBGdChJbmNsdWRlKWgoc3VwcClzKG9ydCllCiAoZm9yKWkoY2FzZS1tbylzKGRpZnlpbmcpaSh3KW0ob3JkKWUoZXhwYW5zaW9ucy4pMTUwCi0zNzg0IHkgRnMoLS1lbmFibGUtY29tbWFuZC10aW1pbmcpNjMwIDM4OTMgeSBGdChJbmNsdWRlKTQzCiszMDQ4IHkgRnMoLS1lbmFibGUtY29tbWFuZC10aW1pbmcpNjMwIDMxNTcgeSBGdChJbmNsdWRlKTQzCiBiKHN1cHApcyhvcnQpZihmb3IpaChyZWNvZ25pemluZylpIEZzKHRpbWUpZSBGdChhcylnKGEpaChyZXNlcnYpbShlZClnCi0odyltKG9yZClmKGFuZClnKGZvciloKGRpc3BsYSltKHlpbmcpNjMwIDQwMDMgeSh0aW1pbmcpMzcKKyh3KW0ob3JkKWYoYW5kKWcoZm9yKWgoZGlzcGxhKW0oeWluZyk2MzAgMzI2NyB5KHRpbWluZykzNwogYihzdGF0aXN0aWNzKWgoZm9yKWUodGhlKWcocGlwKXMoZWxpbmUpZyhmb2xsbyltKHdpbmcpaQogRnModGltZSlkIEZ0KFwoc2VlKWkoU2VjdGlvbilnKDMuMi4yKWgoW1BpcClzKGVsaW5lc10sKTYzMAotNDExMyB5KHBhZ2UpMjQgYig4XCkuKTM5IGIoVGhpcykyMyBiKGFsbG8pbSh3cyloKHBpcClzKGVsaW5lcylmKGFzKWgodykKKzMzNzcgeShwYWdlKTI0IGIoOFwpLikzOSBiKFRoaXMpMjMgYihhbGxvKW0od3MpaChwaXApcyhlbGluZXMpZihhcyloKHcpCiBtKGVsbClnKGFzKWcoc2hlbGwpZihidWlsdGlucylnKGFuZClnKGZ1bmN0aW9ucylnKHRvKWgoYilzKGUpZSh0aW1lZC4pCi0xNTAgNDI2NiB5IEZzKC0tZW5hYmxlLWNvbmQtY29tbWFuZCk2MzAgNDM3NiB5IEZ0KEluY2x1ZGUpMzMKKzE1MCAzNTUwIHkgRnMoLS1lbmFibGUtY29uZC1jb21tYW5kKTYzMCAzNjYwIHkgRnQoSW5jbHVkZSkzMwogYihzdXBwKXMob3J0KWYoZm9yKWkodGhlKWcgRnMoW1spZiBGdChjb25kaXRpb25hbClpKGNvbW1hbmQuKTUxCi1iKFwoc2VlKTM0IGIoU2VjdGlvbiloKDMuMi40LjIpaChbQ29uZGktKTYzMCA0NDg1IHkodGlvbmFsKWMKLShDb25zdHJ1Y3RzXSwpZShwYWdlKWgoMTBcKS4pMTUwIDQ2MzkgeSBGcygtLWVuYWJsZS1jb25kLXJlZ2V4cCk2MzAKLTQ3NDggeSBGdChJbmNsdWRlKWYoc3VwcClzKG9ydClmKGZvcilpKG1hdGMpbShoaW5nKWgoUE9TSVgpZChyZWd1bGFyKWkKK2IoXChzZWUpMzQgYihTZWN0aW9uKWgoMy4yLjQuMiloKFtDb25kaS0pNjMwIDM3NjkgeSh0aW9uYWwpYworKENvbnN0cnVjdHNdLCllKHBhZ2UpaCgxMFwpLikxNTAgMzk0MyB5IEZzKC0tZW5hYmxlLWNvbmQtcmVnZXhwKTYzMAorNDA1MiB5IEZ0KEluY2x1ZGUpZihzdXBwKXMob3J0KWYoZm9yKWkobWF0YyltKGhpbmcpaChQT1NJWClkKHJlZ3VsYXIpaQogKGV4cHJlc3Npb25zKWcodXNpbmcpZih0aGUpaChgKXAgRnMoPX4pcCBGdCgnKWcoYmluYXJ5KTYzMAotNDg1OCB5KG9wKXMoZXJhdG9yKTI1IGIoaW4pZih0aGUpaCBGcyhbWylmIEZ0KGNvbmRpdGlvbmFsKWgoY29tbWFuZC4pMzkKKzQxNjIgeShvcClzKGVyYXRvcikyNSBiKGluKWYodGhlKWggRnMoW1spZiBGdChjb25kaXRpb25hbCloKGNvbW1hbmQuKTM5CiBiKFwoc2VlKTI1IGIoU2VjdGlvbiloKDMuMi40LjIpaChbQ29uZGl0aW9uYWwpZShDb24tKTYzMAotNDk2NyB5KHN0cnVjdHNdLCkzMSBiKHBhZ2UpZygxMFwpLikxNTAgNTEyMSB5IEZzKC0tZW5hYmxlLWNvcHJvY2Vzc2VzKQotNjMwIDUyMzAgeSBGdChJbmNsdWRlKTIzIGIoc3VwcClzKG9ydClmKGZvcilpKGNvcHJvKXMoY2Vzc2VzKWcoYW5kKWYKKzQyNzEgeShzdHJ1Y3RzXSwpMzEgYihwYWdlKWcoMTBcKS4pMTUwIDQ0NDUgeSBGcygtLWVuYWJsZS1jb3Byb2Nlc3NlcykKKzYzMCA0NTU1IHkgRnQoSW5jbHVkZSkyMyBiKHN1cHApcyhvcnQpZihmb3IpaShjb3BybylzKGNlc3NlcylnKGFuZClmCiAodGhlKWggRnMoY29wcm9jKWUgRnQocmVzZXJ2KW0oZWQpaSh3KW0ob3JkKWcoXChzZWUpaChTZWN0aW9uKWYoMy4yLjIpCi02MzAgNTM0MCB5KFtQaXApcyhlbGluZXNdLCkzMSBiKHBhZ2UpZyg4XCkuKXAgZW9wIGVuZAorNjMwIDQ2NjQgeShbUGlwKXMoZWxpbmVzXSwpMzEgYihwYWdlKWcoOFwpLikxNTAgNDgzOAoreSBGcygtLWVuYWJsZS1kZWJ1Z2dlcik2MzAgNDk0NyB5IEZ0KEluY2x1ZGUpZihzdXBwKXMob3J0KWUoZm9yKWkodGhlKWgKKyhiYXNoKWYoZGVidWdnZXIpZyhcKGRpc3RyaWJ1dGVkKWcoc2VwYXJhdGVseVwpLikxNTAKKzUxMjEgeSBGcygtLWVuYWJsZS1kaXJlY3Rvcnktc3RhY2spNjMwIDUyMzAgeSBGdChJbmNsdWRlKWooc3VwcClzKG9ydClnCisoZm9yKWgoYSlnIEZzKGNzaClwIEZ0KC1saWspbShlKWgoZGlyZWN0b3J5KWYoc3RhYyltKGspaShhbmQpZCh0aGUpaQorRnMocHVzaGQpcCBGdCgsKWYgRnMocG9wZClwIEZ0KCwpZyhhbmQpZiBGcyhkaXJzKTYzMAorNTM0MCB5IEZ0KGJ1aWx0aW5zKWQoXChzZWUpaChTZWN0aW9uKWcoNi44KWgoW1RoZSllKERpcmVjdG9yeSlpKFN0YWMpbQorKGtdLClnKHBhZ2UpZig4MVwpLilwIGVvcCBlbmQKICUlUGFnZTogMTMyIDEzOAogVGVYRGljdCBiZWdpbiAxMzIgMTM3IGJvcCAxNTAgLTExNiBhIEZ0KDEzMikyNTI3IGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5IEZzKC0tZW5hYmxlLWRlYnVnZ2VyKTYzMAotNDA4IHkgRnQoSW5jbHVkZSlmKHN1cHApcyhvcnQpZShmb3IpaSh0aGUpaChiYXNoKWYoZGVidWdnZXIpZwotKFwoZGlzdHJpYnV0ZWQpZyhzZXBhcmF0ZWx5XCkuKTE1MCA1NzMgeSBGcygtLWVuYWJsZS1kaXJlY3Rvcnktc3RhY2spCi02MzAgNjgyIHkgRnQoSW5jbHVkZSlqKHN1cHApcyhvcnQpZyhmb3IpaChhKWcgRnMoY3NoKXAKLUZ0KC1saWspbShlKWgoZGlyZWN0b3J5KWYoc3RhYyltKGspaShhbmQpZCh0aGUpaSBGcyhwdXNoZClwCi1GdCgsKWYgRnMocG9wZClwIEZ0KCwpZyhhbmQpZiBGcyhkaXJzKTYzMCA3OTIgeSBGdChidWlsdGlucylkKFwoc2VlKWgKLShTZWN0aW9uKWcoNi44KWgoW1RoZSllKERpcmVjdG9yeSlpKFN0YWMpbShrXSwpZyhwYWdlKWYoODFcKS4pMTUwCi05NTYgeSBGcygtLWVuYWJsZS1kaXNhYmxlZC1idWlsdGkpbyhucyk2MzAgMTA2NiB5IEZ0KEFsbG8pbSh3KTQwCi1iKGJ1aWx0aW4pZShjb21tYW5kcylnKHRvKWgoYilzKGUpZihpbiltKHYpbShvayltKGVkKWkodmlhKWYoYClwCi1GcyhidWlsdGluKTI5IGIoeHh4KXAgRnQoJykzNyBiKGV2KW0oZW4paihhZnRlcilmIEZzKHh4eCllCi1GdChoYXMpNjMwIDExNzYgeShiKXMoZWVuKTMxIGIoZGlzYWJsZWQpZyh1c2luZylnKGApcAorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5IEZzKC0tZW5hYmxlLWRpc2FibGVkLWJ1aWx0aSlvKG5zKTYzMAorNDA4IHkgRnQoQWxsbyltKHcpNDAgYihidWlsdGluKWUoY29tbWFuZHMpZyh0byloKGIpcyhlKWYoaW4pbSh2KW0ob2spbQorKGVkKWkodmlhKWYoYClwIEZzKGJ1aWx0aW4pMjkgYih4eHgpcCBGdCgnKTM3IGIoZXYpbShlbilqKGFmdGVyKWYKK0ZzKHh4eCllIEZ0KGhhcyk2MzAgNTE4IHkoYilzKGVlbikzMSBiKGRpc2FibGVkKWcodXNpbmcpZyhgKXAKIEZzKGVuYWJsZSlkKC1uKWkoeHh4KXAgRnQoJy4pNDMgYihTZWUpMzIgYihTZWN0aW9uKWcoNC4yKWgoW0Jhc2gpZQotKEJ1aWx0aW5zXSwpaShwYWdlKWYoNDEsKTYzMCAxMjg1IHkoZm9yKWUoZGV0YWlscylpKG9mKWUodGhlKWgKKyhCdWlsdGluc10sKWkocGFnZSlmKDQxLCk2MzAgNjI4IHkoZm9yKWUoZGV0YWlscylpKG9mKWUodGhlKWgKIEZzKGJ1aWx0aW4pZCBGdChhbmQpaSBGcyhlbmFibGUpZSBGdChidWlsdGluKWkoY29tbWFuZHMuKTE1MAotMTQ1MCB5IEZzKC0tZW5hYmxlLWRwYXJlbi1hcml0aG1ldClvKGljKTYzMCAxNTU5IHkgRnQoSW5jbHVkZSk0MgorNzgzIHkgRnMoLS1lbmFibGUtZHBhcmVuLWFyaXRobWV0KW8oaWMpNjMwIDg5MiB5IEZ0KEluY2x1ZGUpNDIKIGIoc3VwcClzKG9ydClmKGZvciloKHRoZSloIEZzKFwoXCguLi4pbyhcKVwpKWYgRnQoY29tbWFuZClnKFwoc2VlKWkKLShTZWN0aW9uKWYoMy4yLjQuMilpKFtDb25kaXRpb25hbCk2MzAgMTY2OSB5KENvbnN0cnVjdHNdLCkzMAotYihwYWdlKWgoMTBcKS4pMTUwIDE4MzMgeSBGcygtLWVuYWJsZS1leHRlbmRlZC1nbG9iKTYzMAotMTk0MyB5IEZ0KEluY2x1ZGUpNDAgYihzdXBwKXMob3J0KWUoZm9yKWkodGhlKWgoZXh0ZW5kZWQpZihwYXR0ZXJuKWgKKyhTZWN0aW9uKWYoMy4yLjQuMilpKFtDb25kaXRpb25hbCk2MzAgMTAwMiB5KENvbnN0cnVjdHNdLCkzMAorYihwYWdlKWgoMTBcKS4pMTUwIDExNTcgeSBGcygtLWVuYWJsZS1leHRlbmRlZC1nbG9iKTYzMAorMTI2NyB5IEZ0KEluY2x1ZGUpNDAgYihzdXBwKXMob3J0KWUoZm9yKWkodGhlKWgoZXh0ZW5kZWQpZihwYXR0ZXJuKWgKIChtYXRjKW0oaGluZylnKGZlYXR1cmVzKWcoZGVzY3JpYilzKGVkKWUoYWIpcyhvKW0odiltKGUpNjMwCi0yMDUyIHkodW5kZXIpMjkgYihTZWN0aW9uKWkoMy41LjguMSlpKFtQKW0oYXR0ZXJuKWUoTWF0YyltKGhpbmddLClpCi0ocGFnZSllKDI1LikxNTAgMjIxNyB5IEZzKC0tZW5hYmxlLWhlbHAtYnVpbHRpbik2MzAgMjMyNgoteSBGdChJbmNsdWRlKTI0IGIodGhlKWggRnMoaGVscClmIEZ0KGJ1aWx0aW4sKWgod2hpYyltKGgpZyhkaXNwbGEpbSh5cykKLWYoaGVscCloKG9uKWYoc2hlbGwpaChidWlsdGlucylmKGFuZCloKHYpLTUgYihhcmlhYmxlcykyNQotYihcKHNlZSk2MzAgMjQzNiB5KFNlY3Rpb24pMzEgYig0LjIpaChbQmFzaCllKEJ1aWx0aW5zXSwpaShwYWdlKWYKLSg0MVwpLikxNTAgMjYwMCB5IEZzKC0tZW5hYmxlLWhpc3RvcnkpNjMwIDI3MTAgeSBGdChJbmNsdWRlKWUoY29tbWFuZClnCisxMzc3IHkodW5kZXIpMjkgYihTZWN0aW9uKWkoMy41LjguMSlpKFtQKW0oYXR0ZXJuKWUoTWF0YyltKGhpbmddLClpCisocGFnZSllKDI0LikxNTAgMTUzMiB5IEZzKC0tZW5hYmxlLWV4dGVuZGVkLWdsb2ItZClvKGVmYXUpbyhsdCk2MzAKKzE2NDEgeSBGdChTZXQpNDAgYih0aGUpZyhkZWZhdWx0KWcodiktNSBiKGFsdWUpNDEgYihvZilmKHRoZSlnCitGcShleHRnbG9iKWogRnQoc2hlbGwpZChvcHRpb24pZyhkZXNjcmliKXMoZWQpZihhYilzKG8pbSh2KW0oZSlpKHVuZGVyKQorZChTZWMtKTYzMCAxNzUxIHkodGlvbikzMSBiKDQuMy4yKWgoW1RoZSllKFNob3B0KWcoQnVpbHRpbl0sKWgocGFnZSlnCisoNTUpZyh0byloKGIpcyhlKWQoZW5hYmxlZC4pMTUwIDE5MDYgeSBGcygtLWVuYWJsZS1oZWxwLWJ1aWx0aW4pNjMwCisyMDE2IHkgRnQoSW5jbHVkZSkyNCBiKHRoZSloIEZzKGhlbHApZiBGdChidWlsdGluLCloKHdoaWMpbShoKWcoZGlzcGxhKQorbSh5cylmKGhlbHApaChvbilmKHNoZWxsKWgoYnVpbHRpbnMpZihhbmQpaCh2KS01IGIoYXJpYWJsZXMpMjUKK2IoXChzZWUpNjMwIDIxMjUgeShTZWN0aW9uKTMxIGIoNC4yKWgoW0Jhc2gpZShCdWlsdGluc10sKWkocGFnZSlmCisoNDFcKS4pMTUwIDIyODEgeSBGcygtLWVuYWJsZS1oaXN0b3J5KTYzMCAyMzkwIHkgRnQoSW5jbHVkZSllKGNvbW1hbmQpZwogKGhpc3RvcnkpaChhbmQpZih0aGUpaCBGcyhmYylmIEZ0KGFuZClnIEZzKGhpc3RvcnkpZQotRnQoYnVpbHRpbilqKGNvbW1hbmRzKWYoXChzZWUpaChTZWMtKTYzMCAyODE5IHkodGlvbiloKDkuMSlnKFtCYXNoKWcKK0Z0KGJ1aWx0aW4paihjb21tYW5kcylmKFwoc2VlKWgoU2VjLSk2MzAgMjUwMCB5KHRpb24paCg5LjEpZyhbQmFzaClnCiAoSGlzdG9yeSlnKEYpLTggYihhY2lsaXRpZXNdLCkzNCBiKHBhZ2UpZCgxMjFcKS4pMTUwCi0yOTg0IHkgRnMoLS1lbmFibGUtam9iLWNvbnRyb2wpNjMwIDMwOTMgeSBGdChUaGlzKWUoZW5hYmxlcylpKHRoZSlmCisyNjU1IHkgRnMoLS1lbmFibGUtam9iLWNvbnRyb2wpNjMwIDI3NjUgeSBGdChUaGlzKWUoZW5hYmxlcylpKHRoZSlmCiAoam9iKWcoY29uKW0odHJvbCloKGZlYXR1cmVzKWcoXChzZWUpZyhDaGFwdGVyKWYoNylnKFtKb2IpZyhDb24pbQotKHRyb2xdLCloKHBhZ2UpZyg4OVwpLCloKGlmKTYzMCAzMjAzIHkodGhlKWYob3ApcyhlcmF0aW5nKWYoc3lzdGVtKWgKLShzdXBwKXMob3J0cylkKHRoZW0uKTE1MCAzMzY3IHkgRnMoLS1lbmFibGUtbXVsdGlieXRlKTYzMAotMzQ3NyB5IEZ0KFRoaXMpaChlbmFibGVzKWkoc3VwcClzKG9ydClkKGZvcilpKG0pbSh1bHRpYiltKHl0ZSloKGMpbQorKHRyb2xdLCloKHBhZ2UpZyg4OVwpLCloKGlmKTYzMCAyODc0IHkodGhlKWYob3ApcyhlcmF0aW5nKWYoc3lzdGVtKWgKKyhzdXBwKXMob3J0cylkKHRoZW0uKTE1MCAzMDI5IHkgRnMoLS1lbmFibGUtbXVsdGlieXRlKTYzMAorMzEzOSB5IEZ0KFRoaXMpaChlbmFibGVzKWkoc3VwcClzKG9ydClkKGZvcilpKG0pbSh1bHRpYiltKHl0ZSloKGMpbQogKGhhcmFjdGVycylnKGlmKWYodGhlKWcob3ApcyhlcmF0aW5nKWgoc3lzdGVtKWYocHJvKW0odmlkZXMpNjMwCi0zNTg3IHkodGhlKWgobmVjZXNzYXJ5KWYoc3VwcClzKG9ydC4pMTUwIDM3NTEgeSBGcwotKC0tZW5hYmxlLW5ldC1yZWRpcmVjdGlvbilvKHMpNjMwIDM4NjEgeSBGdChUaGlzKTIxIGIoZW5hYmxlcyloKHRoZSlnCiszMjQ5IHkodGhlKWgobmVjZXNzYXJ5KWYoc3VwcClzKG9ydC4pMTUwIDM0MDQgeSBGcworKC0tZW5hYmxlLW5ldC1yZWRpcmVjdGlvbilvKHMpNjMwIDM1MTMgeSBGdChUaGlzKTIxIGIoZW5hYmxlcyloKHRoZSlnCiAoc3ApcyhlY2lhbCloKGhhbmRsaW5nKWUob2YpaChcMDE0bGVuYW1lcylnKG9mKWcodGhlKWcoZm9ybSlmCi1GcygvZGV2L3RjcC8pcCBGaihob3N0KTExIGIgRnMoLylwIEZqKHBvcnQpNjMwIDM5NzAgeQotRnQoYW5kKTI5IGIgRnMoL2Rldi91ZHAvKXAgRmooaG9zdCkxMSBiIEZzKC8pcCBGaihwb3J0KTM0CitGcygvZGV2L3RjcC8pcCBGaShob3N0KTExIGIgRnMoLylwIEZpKHBvcnQpNjMwIDM2MjMgeQorRnQoYW5kKTI5IGIgRnMoL2Rldi91ZHAvKXAgRmkoaG9zdCkxMSBiIEZzKC8pcCBGaShwb3J0KTM0CiBiIEZ0KHdoZW4pMjggYih1c2VkKWcoaW4paChyZWRpcmVjdGlvbnMpaChcKHNlZSlnKFNlY3Rpb24pZygzLjYpZwotKFtSZWRpcmVjLSk2MzAgNDA4MCB5KHRpb25zXSwpaChwYWdlKWcoMjZcKS4pMTUwIDQyNDQKLXkgRnMoLS1lbmFibGUtcHJvY2Vzcy1zdWJzdGl0KW8odXRpbylvKG4pNjMwIDQzNTQgeSBGdChUaGlzKTQ5CisoW1JlZGlyZWMtKTYzMCAzNzMzIHkodGlvbnNdLCloKHBhZ2UpZygyNlwpLikxNTAgMzg4OAoreSBGcygtLWVuYWJsZS1wcm9jZXNzLXN1YnN0aXQpbyh1dGlvKW8obik2MzAgMzk5OCB5IEZ0KFRoaXMpNDkKIGIoZW5hYmxlcylpKHBybylzKGNlc3MpZihzdWJzdGl0dXRpb24pZyhcKHNlZSloKFNlY3Rpb24pZygzLjUuNiloKFtQcm8pCi1zKGNlc3MpZShTdWJzdGl0dXRpb25dLCk2MzAgNDQ2MyB5KHBhZ2UpMzEgYigyM1wpKWgoaWYpZSh0aGUpaChvcClzCitzKGNlc3MpZShTdWJzdGl0dXRpb25dLCk2MzAgNDEwNyB5KHBhZ2UpMzEgYigyM1wpKWgoaWYpZSh0aGUpaChvcClzCiAoZXJhdGluZylmKHN5c3RlbSloKHBybyltKHZpZGVzKWYodGhlKWgobmVjZXNzYXJ5KWcoc3VwcClzKG9ydC4pMTUwCi00NjI4IHkgRnMoLS1lbmFibGUtcHJvZ2NvbXApNjMwIDQ3MzcgeSBGdChFbmFibGUpZCh0aGUpZyhwcm9ncmFtbWFibGUpZworNDI2MiB5IEZzKC0tZW5hYmxlLXByb2djb21wKTYzMCA0MzcyIHkgRnQoRW5hYmxlKWQodGhlKWcocHJvZ3JhbW1hYmxlKWcKIChjb21wbGV0aW9uKWkoZmFjaWxpdGllcylnKFwoc2VlKWYoU2VjdGlvbilnKDguNilnKFtQcm9ncmFtbWFibGUpNjMwCi00ODQ3IHkoQ29tcGxldGlvbl0sKWkocGFnZSloKDExNVwpLik0MiBiKElmKTMwIGIoUmVhZGxpbmUpaChpcylmKG5vdCloCis0NDgyIHkoQ29tcGxldGlvbl0sKWkocGFnZSloKDExNVwpLik0MiBiKElmKTMwIGIoUmVhZGxpbmUpaChpcylmKG5vdCloCiAoZW5hYmxlZCwpZih0aGlzKWgob3B0aW9uKWcoaGFzKWYobm8pZyhlXDAxM2VjdC4pMTUwCi01MDExIHkgRnMoLS1lbmFibGUtcHJvbXB0LXN0cmluZy1kKW8oZWNvZClvKGluZyk2MzAgNTEyMQorNDYzNyB5IEZzKC0tZW5hYmxlLXByb21wdC1zdHJpbmctZClvKGVjb2QpbyhpbmcpNjMwIDQ3NDYKIHkgRnQoVCktOCBiKHVybik0NiBiKG9uKWgodGhlKWgoaW4pbSh0ZXJwcmV0YXRpb24pZyhvZilnKGEpZyhuKW0odW0pbQogKGIpcyhlcillKG9mKWgoYmFjKW0oa3NsYXNoLWVzY2FwKXMoZWQpaChjKW0oaGFyYWN0ZXJzKWgoaW4pNjMwCi01MjMwIHkodGhlKTM5IGIgRnMoJFBTMSlwIEZ0KCwpZyBGcygkUFMyKXAgRnQoLCloIEZzKCRQUzMpcAorNDg1NiB5KHRoZSkzOSBiIEZzKCRQUzEpcCBGdCgsKWcgRnMoJFBTMilwIEZ0KCwpaCBGcygkUFMzKXAKIEZ0KCwpZihhbmQpZiBGcygkUFM0KWYgRnQocHJvbXB0KWgoc3RyaW5ncy4pNjQgYihTZWUpMzkKLWIoU2VjdGlvbilnKDYuOSloKFtQcmluKW0odGluZylmKGEpNjMwIDUzNDAgeShQcm9tcHRdLCkzMAotYihwYWdlKWgoODMsKWgoZm9yKWUoYSloKGNvbXBsZXRlKWgobGlzdClmKG9mKWYocHJvbXB0KWcoc3RyaW5nKWcKLShlc2NhcClzKGUpaChzZXF1ZW5jZXMuKXAgZW9wIGVuZAorYihTZWN0aW9uKWcoNi45KWgoW1ByaW4pbSh0aW5nKWYoYSk2MzAgNDk2NiB5KFByb21wdF0sKTMwCitiKHBhZ2UpaCg4MiwpaChmb3IpZShhKWgoY29tcGxldGUpaChsaXN0KWYob2YpZihwcm9tcHQpZyhzdHJpbmcpZworKGVzY2FwKXMoZSloKHNlcXVlbmNlcy4pMTUwIDUxMjEgeSBGcygtLWVuYWJsZS1yZWFkbGluZSk2MzAKKzUyMzAgeSBGdChJbmNsdWRlKWQoc3VwcClzKG9ydClmKGZvciloKGNvbW1hbmQtbGluZSloKGVkaXRpbmcpZyhhbmQpZgorKGhpc3RvcnkpZyh3aXRoKWcodGhlKWgoQmFzaClnKHYpbShlcnNpb24pZyhvZik2MzAgNTM0MAoreSh0aGUpaShSZWFkbGluZSlnKGxpYnJhcnkpZihcKHNlZSloKENoYXB0ZXIpZig4KWcoW0NvbW1hbmQpZyhMaW5lKWcKKyhFZGl0aW5nXSwpaChwYWdlKWcoOTNcKS4pcCBlb3AgZW5kCiAlJVBhZ2U6IDEzMyAxMzkKIFRlWERpY3QgYmVnaW4gMTMzIDEzOCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoMTA6KTQxCi1iKEluc3RhbGxpbmcpMzEgYihCYXNoKTIzNTYgYigxMzMpMTUwIDI5OSB5IEZzKC0tZW5hYmxlLXJlYWRsaW5lKTYzMAotNDA4IHkgRnQoSW5jbHVkZSkyOCBiKHN1cHApcyhvcnQpZihmb3IpaChjb21tYW5kLWxpbmUpaChlZGl0aW5nKWcoYW5kKWYKLShoaXN0b3J5KWcod2l0aClnKHRoZSloKEJhc2gpZyh2KW0oZXJzaW9uKWcob2YpNjMwIDUxOAoteSh0aGUpaShSZWFkbGluZSlnKGxpYnJhcnkpZihcKHNlZSloKENoYXB0ZXIpZig4KWcoW0NvbW1hbmQpZyhMaW5lKWcKLShFZGl0aW5nXSwpaChwYWdlKWcoOTNcKS4pMTUwIDY3NyB5IEZzKC0tZW5hYmxlLXJlc3RyaWN0ZWQpNjMwCi03ODcgeSBGdChJbmNsdWRlKTQxIGIoc3VwcClzKG9ydClmKGZvcilpKGEpZyBGcShyZXN0cmljdGVkKWcoc2hlbGwpcAorYihJbnN0YWxsaW5nKTMxIGIoQmFzaCkyMzU2IGIoMTMzKTE1MCAyOTkgeSBGcygtLWVuYWJsZS1yZXN0cmljdGVkKTYzMAorNDA4IHkgRnQoSW5jbHVkZSk0MSBiKHN1cHApcyhvcnQpZihmb3IpaShhKWcgRnEocmVzdHJpY3RlZClnKHNoZWxsKXAKIEZ0KC4pNzUgYihJZik0MiBiKHRoaXMpZihpcyloKGVuYWJsZWQsKWooQmFzaCwpZyh3aGVuKWMoY2FsbGVkKTYzMAotODk3IHkoYXMpZiBGcyhyYmFzaClwIEZ0KCwpaChlbiltKHRlcnMpZihhKWcocmVzdHJpY3RlZCloKG1vKXMoZGUuKTY4Cis1MTggeShhcylmIEZzKHJiYXNoKXAgRnQoLCloKGVuKW0odGVycylmKGEpZyhyZXN0cmljdGVkKWgobW8pcyhkZS4pNjgKIGIoU2VlKTQwIGIoU2VjdGlvbiloKDYuMTApZyhbVGhlKWYoUmVzdHJpY3RlZCloKFNoZWxsXSwpNjMwCi0xMDA2IHkocGFnZSkzMSBiKDg0LCloKGZvcillKGEpZyhkZXNjcmlwdGlvbiloKG9mKWYocmVzdHJpY3RlZCloKG1vKXMKLShkZS4pMTUwIDExNjYgeSBGcygtLWVuYWJsZS1zZWxlY3QpNjMwIDEyNzUgeSBGdChJbmNsdWRlKWsodGhlKWcKKzYyOCB5KHBhZ2UpMzEgYig4NCwpaChmb3IpZShhKWcoZGVzY3JpcHRpb24paChvZilmKHJlc3RyaWN0ZWQpaChtbylzCisoZGUuKTE1MCA3ODcgeSBGcygtLWVuYWJsZS1zZWxlY3QpNjMwIDg5NyB5IEZ0KEluY2x1ZGUpayh0aGUpZwogRnMoc2VsZWN0KWYgRnQoYnVpbHRpbiwpaSh3aGljKW0oaClmKGFsbG8pbSh3cylpKHRoZSlmKGdlbmVyYXRpb24pZyhvZikKLWcoc2ltcGxlKWYobWVuKW0odXMpZyhcKHNlZSk2MzAgMTM4NSB5KFNlY3Rpb24pYygzLjIuNC4yKWkKLShbQ29uZGl0aW9uYWwpZShDb25zdHJ1Y3RzXSwpZyhwYWdlKWcoMTBcKS4pMTUwIDE1NDQKLXkgRnMoLS1lbmFibGUtc2VwYXJhdGUtaGVscGZpKW8obGVzKTYzMCAxNjU0IHkgRnQoVXNlKWgoZXh0ZXJuYWwpaAorZyhzaW1wbGUpZihtZW4pbSh1cylnKFwoc2VlKTYzMCAxMDA2IHkoU2VjdGlvbiljKDMuMi40LjIpaQorKFtDb25kaXRpb25hbCllKENvbnN0cnVjdHNdLClnKHBhZ2UpZygxMFwpLikxNTAgMTE2NgoreSBGcygtLWVuYWJsZS1zZXBhcmF0ZS1oZWxwZmkpbyhsZXMpNjMwIDEyNzUgeSBGdChVc2UpaChleHRlcm5hbCloCiAoXDAxNGxlcylmKGZvcilnKHRoZSlnKGRvKXMoY3VtZW4pbSh0YXRpb24paChkaXNwbGEpbSh5KW0oZWQpZihiKW0oeSlnCi0odGhlKWcgRnMoaGVscClmIEZ0KGJ1aWx0aW4paChpbnN0ZWFkKTYzMCAxNzYzIHkob2YpZihzdG9yaW5nKWYodGhlKWgKLSh0ZXh0KWcoaW4pbSh0ZXJuYWxseSktOCBiKC4pMTUwIDE5MjMgeSBGcygtLWVuYWJsZS1zaW5nbGUtaGVscC1zdHIpbwotKGluZ3MpNjMwIDIwMzIgeSBGdChTdG9yZSk0MCBiKHRoZSlnKHRleHQpaChkaXNwbGEpbSh5KW0oZWQpZyhiKW0oeSllCisodGhlKWcgRnMoaGVscClmIEZ0KGJ1aWx0aW4paChpbnN0ZWFkKTYzMCAxMzg1IHkob2YpZihzdG9yaW5nKWYodGhlKWgKKyh0ZXh0KWcoaW4pbSh0ZXJuYWxseSktOCBiKC4pMTUwIDE1NDQgeSBGcygtLWVuYWJsZS1zaW5nbGUtaGVscC1zdHIpbworKGluZ3MpNjMwIDE2NTQgeSBGdChTdG9yZSk0MCBiKHRoZSlnKHRleHQpaChkaXNwbGEpbSh5KW0oZWQpZyhiKW0oeSllCiAodGhlKWkgRnMoaGVscClkIEZ0KGJ1aWx0aW4paShhcylnKGEpZyhzaW5nbGUpaChzdHJpbmcpZihmb3IpZihlYWMpbShoKQotaShoZWxwKTYzMCAyMTQyIHkodG9waWMuKTU0IGIoVGhpcykzMyBiKGFpZHMpaShpbilmKHRyYW5zbGF0aW5nKWgodGhlKWcKK2koaGVscCk2MzAgMTc2MyB5KHRvcGljLik1NCBiKFRoaXMpMzMgYihhaWRzKWkoaW4pZih0cmFuc2xhdGluZyloKHRoZSlnCiAodGV4dClnKHRvKWcoZGlcMDEzZXJlbiltKHQpZyhsYW5ndWFnZXMuKTU0IGIoWSktOCBiKG91KTM1Ci1iKG1hKW0oeSlnKG5lZWQpNjMwIDIyNTIgeSh0byljKGRpc2FibGUpZyh0aGlzKWYoaWYpZyh5KW0ob3VyKWgKK2IobWEpbSh5KWcobmVlZCk2MzAgMTg3MyB5KHRvKWMoZGlzYWJsZSlnKHRoaXMpZihpZilnKHkpbShvdXIpaAogKGNvbXBpbGVyKWcoY2Fubm90KWYoaGFuZGxlKWcodiltKGVyeSloKGxvbmcpZyhzdHJpbmcpZihsaXRlcmFscy4pMTUwCi0yNDExIHkgRnMoLS1lbmFibGUtc3RyaWN0LXBvc2l4LWRlKW8oZmF1bClvKHQpNjMwIDI1MjEKKzIwMzIgeSBGcygtLWVuYWJsZS1zdHJpY3QtcG9zaXgtZGUpbyhmYXVsKW8odCk2MzAgMjE0MgogeSBGdChNYWspbShlKWMoQmFzaClmIEZsKHBvc2l4KXAgRnQoLWNvbmZvcm1hbiltKHQpZyhiKW0oeSlmKGRlZmF1bHQpaAogKFwoc2VlKWcoU2VjdGlvbiloKDYuMTEpZyhbQmFzaClmKFBPU0lYKWUoTW8pcyhkZV0sKTYzMAotMjYzMCB5KHBhZ2UpMzEgYig4NVwpLikxNTAgMjc5MCB5IEZzKC0tZW5hYmxlLXVzZy1lY2hvLWRlZmF1bClvKHQpNjMwCi0yODk5IHkgRnQoQSlmKHN5bm9uKW0oeW0pZyhmb3IpZyBGcygtLWVuYWJsZS14cGctZWNoby1kZWZhdWx0KXAKLUZ0KC4pMTUwIDMwNTkgeSBGcygtLWVuYWJsZS14cGctZWNoby1kZWZhdWwpbyh0KTYzMCAzMTY4CisyMjUyIHkocGFnZSkzMSBiKDg0XCkuKTE1MCAyNDExIHkgRnMoLS1lbmFibGUtdXNnLWVjaG8tZGVmYXVsKW8odCk2MzAKKzI1MjEgeSBGdChBKWYoc3lub24pbSh5bSlnKGZvcilnIEZzKC0tZW5hYmxlLXhwZy1lY2hvLWRlZmF1bHQpcAorRnQoLikxNTAgMjY4MCB5IEZzKC0tZW5hYmxlLXhwZy1lY2hvLWRlZmF1bClvKHQpNjMwIDI3OTAKIHkgRnQoTWFrKW0oZSljKHRoZSlmIEZzKGVjaG8pZSBGdChidWlsdGluKWkoZXhwYW5kKWYoYmFjKW0KIChrc2xhc2gtZXNjYXApcyhlZCloKGMpbShoYXJhY3RlcnMpaChiKW0oeSlmKGRlZmF1bHQsKWgod2l0aG91dCk2MzAKLTMyNzggeShyZXF1aXJpbmcpNDEgYih0aGUpZyhgKXAgRnMoLWUpcCBGdCgnKWcob3B0aW9uLik3MworMjg5OSB5KHJlcXVpcmluZyk0MSBiKHRoZSlnKGApcCBGcygtZSlwIEZ0KCcpZyhvcHRpb24uKTczCiBiKFRoaXMpNDEgYihzZXRzKWcodGhlKWcoZGVmYXVsdCloKHYpLTUgYihhbHVlKTQxIGIob2YpaCh0aGUpZgotRnMoeHBnX2VjaG8pZSBGdChzaGVsbCk2MzAgMzM4NyB5KG9wdGlvbikyNiBiKHRvKWcgRnMob24pcAorRnMoeHBnX2VjaG8pZSBGdChzaGVsbCk2MzAgMzAwOSB5KG9wdGlvbikyNiBiKHRvKWcgRnMob24pcAogRnQoLClnKHdoaWMpbShoKWcobWFrKW0oZXMpZyh0aGUpZyhCYXNoKWcgRnMoZWNobyllIEZ0KGIpcyhlaGEpbSh2KW0oZSkKIGkobW9yZSlnKGxpayltKGUpaCh0aGUpZih2KW0oZXJzaW9uKWcoc3ApcyhlY2lcMDE0ZWQpNjMwCi0zNDk3IHkoaW4pNDEgYih0aGUpaChTaW5nbGUpZyhVbml4KWYoU3ApcyhlY2lcMDE0Y2F0aW9uLClrKHYpbShlcnNpb24pZQorMzExOCB5KGluKTQxIGIodGhlKWgoU2luZ2xlKWcoVW5peClmKFNwKXMoZWNpXDAxNGNhdGlvbiwpayh2KW0oZXJzaW9uKWUKICgzLik3NCBiKFNlZSk0MiBiKFNlY3Rpb24pZyg0LjIpaChbQmFzaClmKEJ1aWx0aW5zXSwpNjMwCi0zNjA2IHkocGFnZSkzMSBiKDQxLCloKGZvcillKGEpZyhkZXNjcmlwdGlvbiloKG9mKWYodGhlKWgoZXNjYXApcyhlKWcKLShzZXF1ZW5jZXMpZih0aGF0KWggRnMoZWNobylmIEZ0KHJlY29nbml6ZXMuKTI3NSAzNzY2CiszMjI4IHkocGFnZSkzMSBiKDQxLCloKGZvcillKGEpZyhkZXNjcmlwdGlvbiloKG9mKWYodGhlKWgoZXNjYXApcyhlKWcKKyhzZXF1ZW5jZXMpZih0aGF0KWggRnMoZWNobylmIEZ0KHJlY29nbml6ZXMuKTI3NSAzMzg3CiB5KFRoZSkyMyBiKFwwMTRsZSlpKGApcCBGcyhjb25maWctdG9wLmgpcCBGdCgnKWMoY29uKW0odGFpbnMpMjYKIGIoQyllKFByZXBybylzKGNlc3NvcilnKGApcCBGcygjZGVmaW5lKXAgRnQoJyllKHN0YXRlbWVuKW0odHMpayhmb3IpZgotKG9wdGlvbnMpZih3aGljKW0oaCkxNTAgMzg3NSB5KGFyZSkzNSBiKG5vdClnKHNldHRhYmxlKWkoZnJvbSlkCisob3B0aW9ucylmKHdoaWMpbShoKTE1MCAzNDk3IHkoYXJlKTM1IGIobm90KWcoc2V0dGFibGUpaShmcm9tKWQKIEZzKGNvbmZpZ3VyZSlwIEZ0KC4pNTEgYihTb21lKTM1IGIob2YpZyh0aGVzZSlnKGFyZSloKG5vdClmKG1lYW4pbSh0KWcKLSh0byloKGIpcyhlKWUoYyltKGhhbmdlZDspayhiKXMoZXcpbShhcmUpZChvZikxNTAgMzk4NQorKHRvKWgoYilzKGUpZShjKW0oaGFuZ2VkOylrKGIpcyhldyltKGFyZSlkKG9mKTE1MCAzNjA2CiB5KHRoZSloKGNvbnNlcXVlbmNlcylnKGlmKWYoeSltKG91KWgoZG8uKTU1IGIoUmVhZCkzNgogYih0aGUpZyhjb21tZW4pbSh0cylnKGFzc28pcyhjaWF0ZWQpaCh3aXRoKWUoZWFjKW0oaClpKGRlXDAxNG5pdGlvbillCi0oZm9yKWcobW9yZSkxNTAgNDA5NSB5KGluZm9ybWF0aW9uKWMoYWIpcyhvdXQpZihpdHMpaChlXDAxM2VjdC4pcAorKGZvcilnKG1vcmUpMTUwIDM3MTYgeShpbmZvcm1hdGlvbiljKGFiKXMob3V0KWYoaXRzKWgoZVwwMTNlY3QuKXAKIGVvcCBlbmQKICUlUGFnZTogMTM0IDE0MAotVGVYRGljdCBiZWdpbiAxMzQgMTM5IGJvcCAxNTAgLTExNiBhIEZ0KDEzNCkyNTI3IGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpcCBlb3AgZW5kCitUZVhEaWN0IGJlZ2luIDEzNCAxMzkgYm9wIGVvcCBlbmQKICUlUGFnZTogMTM1IDE0MQogVGVYRGljdCBiZWdpbiAxMzUgMTQwIGJvcCAxNTAgLTExNiBhIEZ0KEFwcClzKGVuZGl4KTI5CiBiKEE6KWgoUmVwKXMob3J0aW5nKWgoQnVncykyMjk5IGIoMTM1KTE1MCAyOTkgeSBGbyhBcHApdChlbmRpeCk1MgotYihBKTEyMSBiKFJlcCl0KG9ydGluZyk1MiBiKEJ1Z3MpMjc1IDUzMyB5IEZ0KFBsZWFzZSkzNQotYihyZXApcyhvcnQpZShhbGwpaShidWdzKWYoeSltKG91KWcoXDAxNG5kKWYoaW4paChCYXNoLik1MgotYihCdXQpMzQgYihcMDE0cnN0LCloKHkpbShvdSlmKHNob3VsZClmKG1hayltKGUpaShzdXJlKWYodGhhdClnKGl0KWgKLShyZWFsbHkpMTUwIDY0MyB5KGlzKWgoYSlnKGJ1ZywpaChhbmQpZSh0aGF0KWgoaXQpaChhcHApcyhlYXJzKWUoaW4pZwotKHRoZSloKGxhdGVzdClpKHYpbShlcnNpb24pZShvZilnKEJhc2guKTU3IGIoVGhlKTM1IGIobGF0ZXN0KWoodiltCi0oZXJzaW9uKWUob2YpZyhCYXNoKWcoaXMpMTUwIDc1MiB5KGFsdyltKGEpbSh5cyljKGEpbSh2KS01Ci1iKGFpbGFibGUpMzMgYihmb3IpZChGVFApZyhmcm9tKWcgRnMoZnRwOi8vZnRwLmdudS5vcmcvcHViL2JhKW8oc2gvKW8KLUZ0KC4pMjc1IDg4NyB5KE9uY2UpNDEgYih5KW0ob3UpZyhoYSltKHYpbShlKWgoZGV0ZXJtaW5lZClmKHRoYXQpaChhKWYKLShidWcpZyhhY3R1YWxseSloKGV4aXN0cywpaih1c2UpYyh0aGUpZyBGcyhiYXNoYnVnKWUKK2IoQSk4MSBiKFJlcCl0KG9ydGluZyk1MyBiKEJ1Z3MpMTUwIDUzMyB5IEZ0KFBsZWFzZSkzMworYihyZXApcyhvcnQpZShhbGwpaChidWdzKWYoeSltKG91KWgoXDAxNG5kKWUoaW4paShCYXNoLik0NAorYihCdXQpMzIgYihcMDE0cnN0LClnKHkpbShvdSlnKHNob3VsZCllKG1hayltKGUpaihzdXJlKWUodGhhdCloKGl0KWcKKyhyZWFsbHkpaChpcylmKGEpMTUwIDY0MyB5KGJ1ZywpZChhbmQpZyh0aGF0KWgoaXQpZyhhcHApcyhlYXJzKWYoaW4pZworKHRoZSloKGxhdGVzdCloKHYpbShlcnNpb24pZihvZilnKEJhc2guKTQwIGIoVGhlKTI5IGIobGF0ZXN0KWoodiltCisoZXJzaW9uKWUob2YpZihCYXNoKWgoaXMpZihhbHcpbShhKW0oeXMpMTUwIDc1MiB5KGEpbSh2KS01CitiKGFpbGFibGUpMzMgYihmb3IpZChGVFApZyhmcm9tKWcgRnMoZnRwOi8vZnRwLmdudS5vcmcvcHViL2duKW8odS9iYSlvCisoc2gvKW8gRnQoLikyNzUgODg3IHkoT25jZSk0MSBiKHkpbShvdSlnKGhhKW0odiltKGUpaChkZXRlcm1pbmVkKWYKKyh0aGF0KWgoYSlmKGJ1ZylnKGFjdHVhbGx5KWgoZXhpc3RzLClqKHVzZSljKHRoZSlnIEZzKGJhc2hidWcpZQogRnQoY29tbWFuZClpKHRvKTE1MCA5OTYgeShzdWJtaXQpMjUgYihhKWgoYnVnKWcocmVwKXMob3J0LikzOAogYihJZikyNiBiKHkpbShvdSlnKGhhKW0odiltKGUpaChhKWYoXDAxNHgsKWgoeSltKG91KWYoYXJlKWcoZW5jb3VyYWdlZCkKIGgodG8pZihtYWlsKWgodGhhdClmKGFzKWcodyltKGVsbCEpNDAgYihTdWdnZXN0aW9ucykxNTAKQEAgLTEzOTgwLDIzICsxMzk2MCwyMiBAQAogKHRocmVlKWcoaXRlbXMpaChhdXRvbWF0aWNhbGx5KWkoaW4pbSh0bylmKHRoZSllKHRlbXBsYXRlKWkoaXQpZihwcm8pbQogKHZpZGVzKWYoZm9yKWcoXDAxNGxpbmcpaChhKTE1MCAyMjkxIHkoYnVnKWgocmVwKXMob3J0LikyNzUKIDI0MjYgeShQbGVhc2UpaChzZW5kKWYoYWxsKWgocmVwKXMob3J0cylmKGNvbmNlcm5pbmcpZyh0aGlzKWgobWFuKW0KLSh1YWwpZih0byloIEZzKGNoZXRAcG8uQ1dSVS5FZHUpcCBGdCguKXAgZW9wIGVuZAorKHVhbClmKHRvKWggRnMoY2hldC5yYW1leUBjYXNlLmVkdSlwIEZ0KC4pcCBlb3AgZW5kCiAlJVBhZ2U6IDEzNiAxNDIKLVRlWERpY3QgYmVnaW4gMTM2IDE0MSBib3AgMTUwIC0xMTYgYSBGdCgxMzYpMjUyNyBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKXAgZW9wIGVuZAorVGVYRGljdCBiZWdpbiAxMzYgMTQxIGJvcCBlb3AgZW5kCiAlJVBhZ2U6IDEzNyAxNDMKIFRlWERpY3QgYmVnaW4gMTM3IDE0MiBib3AgMTUwIC0xMTYgYSBGdChBcHApcyhlbmRpeCkyOQogYihCOilpKE1hKTUgYihqb3IpMzEgYihEaVwwMTNlcmVuY2VzKWcoRiktOCBiKHJvbSkzMQotYihUaGUpZihCb3VybmUpZyhTaGVsbCkxMjU4IGIoMTM3KTE1MCAxNDEgeSBGbyhBcHApdChlbmRpeCk1MgotYihCKTEyOCBiKE1hKTkgYihqb3IpNTQgYihEaVwwMTNlcmVuY2VzKWQoRiktMTMgYihyb20pNTQKLWIoVGhlKWYoQm91cm5lKTExMzUgMjk5IHkoU2hlbGwpMjc1IDUzMCB5IEZ0KEJhc2gpMjUKLWIoaW1wbGVtZW4pbSh0cylnKGVzc2VuKW0odGlhbGx5KWkodGhlKWYoc2FtZSlmKGdyYW1tYXIsKWkocGFyYW1ldGVyKWUKLShhbmQpZyh2KS01IGIoYXJpYWJsZSkyNiBiKGV4cGFuc2lvbiwpZyhyZWRpLSkxNTAgNjQwCi15KHJlY3Rpb24sKWkoYW5kKWUocXVvdGluZyloKGFzKWYodGhlKWcoQm91cm5lKWcoU2hlbGwuKTQwCi1iKEJhc2gpMjYgYih1c2VzKWcodGhlKWcgRmwocG9zaXgpZyBGdChzdGFuZGFyZClmKGFzKWkodGhlKWYoc3ApcwotKGVjaVwwMTRjYXRpb24pMTUwIDc0OSB5KG9mKWgoaG8pbSh3KWgodGhlc2UpZihmZWF0dXJlcyloKGFyZSlmKHRvKWgoYikKLXMoZSlmKGltcGxlbWVuKW0odGVkLik0MCBiKFRoZXJlKTI3IGIoYXJlKWcoc29tZSloKGRpXDAxM2VyZW5jZXMpZihiKXMKLShldCltKHcpbShlZW4paCh0aGUpZyh0cmFkaS0pMTUwIDg1OSB5KHRpb25hbCkzMyBiKEJvdXJuZSllKHNoZWxsKWgKK2IoVGhlKWYoQm91cm5lKWcoU2hlbGwpMTI1OCBiKDEzNykxNTAgMTQxIHkgRm8oQXBwKXQoZW5kaXgpNTgKK2IoQik4MSBiKE1hKTkgYihqb3IpNTQgYihEaVwwMTNlcmVuY2VzKWQoRiktMTMgYihyb20pNTQKK2IoVGhlKWcoQm91cm5lKTEwODggMjk5IHkoU2hlbGwpMTUwIDUzMCB5IEZ0KEJhc2gpMjYKK2IoaW1wbGVtZW4pbSh0cyloKGVzc2VuKW0odGlhbGx5KWcodGhlKWcoc2FtZSlmKGdyYW1tYXIsKWgocGFyYW1ldGVyKWYKKyhhbmQpZyh2KS01IGIoYXJpYWJsZSkyNyBiKGV4cGFuc2lvbiwpZyhyZWRpcmVjLSkxNTAKKzY0MCB5KHRpb24sKWkoYW5kKWUocXVvdGluZylnKGFzKWgodGhlKWcoQm91cm5lKWYoU2hlbGwuKTQwCitiKEJhc2gpMjcgYih1c2VzKWcodGhlKWggRmwocG9zaXgpZiBGdChzdGFuZGFyZClmKGFzKWkodGhlKWcoc3ApcworKGVjaVwwMTRjYXRpb24pZyhvZikxNTAgNzQ5IHkoaG8pbSh3KTM0IGIodGhlc2UpaChmZWF0dXJlcylnKGFyZSlnKHRvKWcKKyhiKXMoZSlmKGltcGxlbWVuKW0odGVkLik1MyBiKFRoZXJlKTM0IGIoYXJlKWgoc29tZSlnKGRpXDAxM2VyZW5jZXMpZworKGIpcyhldCltKHcpbShlZW4pZyh0aGUpZyh0cmFkaS0pMTUwIDg1OSB5KHRpb25hbCllKEJvdXJuZSllKHNoZWxsKWgKIChhbmQpZihCYXNoOylpKHRoaXMpZihzZWN0aW9uKWcocXVpYyltKGtseSloKGRldGFpbHMpZyh0aGUpZQogKGRpXDAxM2VyZW5jZXMpaChvZilnKHNpZ25pXDAxNGNhbmNlLik0NiBiKEEpMTUwIDk2OQogeShuKW0odW0pbShiKXMoZXIpMjQgYihvZiloKHRoZXNlKWgoZGlcMDEzZXJlbmNlcylmKGFyZSloKGV4cGxhaW5lZClmCkBAIC0xNDAwOCw3ICsxMzk4Nyw3IEBACiBGbChwb3NpeClwIEZ0KC1jb25mb3JtYW4pbSh0LClnKGV2KW0oZW4pZyh3aGVyZSlmKHRoZSlnCiBGbChwb3NpeClnIEZ0KHNwKXMoZWNpXDAxNGNhdGlvbiloKGRpXDAxM2VycylmKGZyb20pZyh0cmFkaXRpb25hbCkzMzAKIDE0MzEgeSBGcyhzaCllIEZ0KGIpcyhlaGEpbSh2aW9yKWcoXChzZWUpaShTZWN0aW9uKWYoNi4xMSloKFtCYXNoKWUKLShQT1NJWClnKE1vKXMoZGVdLCloKHBhZ2UpZyg4NVwpLikyMjUgMTU2NSB5IEZwKFwwMTcpNjAKKyhQT1NJWClnKE1vKXMoZGVdLCloKHBhZ2UpZyg4NFwpLikyMjUgMTU2NSB5IEZwKFwwMTcpNjAKIGIgRnQoQmFzaCkyNiBiKGhhcylnKG0pbSh1bHRpLWMpbShoYXJhY3RlcilpKGluKW0odiltKG8pcyhjYXRpb24pZwogKG9wdGlvbnMpZihcKHNlZSlmKFNlY3Rpb24paCg2LjEpZyhbSW4pbSh2KW0ob2tpbmcpZyhCYXNoXSwpaChwYWdlKWUKICg3MVwpLikyMjUgMTY5OSB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTI4IGIoaGFzKWcoY29tbWFuZC1saW5lKWgKQEAgLTE0MDY1LDEwICsxNDA0NCwxMCBAQAogYihkaXNwbGEpbSh5KWkob2YpZih0aGUpZyh0aW1pbmcpZyhzdGF0aXN0aWNzKWkobWEpbSh5KWYoYilzKGUpZShjb24pbQogKHRyb2xsZWQpaih3aXRoKWUodGhlKWcgRnMoVElNRUZPUk1BVCkzMzAgNDg1MyB5IEZ0KHYpLTUKIGIoYXJpYWJsZS4pMjI1IDQ5ODcgeSBGcChcMDE3KTYwIGIgRnQoQmFzaCkyMyBiKGltcGxlbWVuKW0odHMpZyh0aGUpaAotRnMoZm9yKTI5IGIoXChcKCloIEZqKGV4cHIxKTM5IGIgRnMoOykzMCBiIEZqKGV4cHIyKTQwCi1iIEZzKDspMzAgYiBGaihleHByMykzOSBiIEZzKFwpXCkpMjMgYiBGdChhcml0aG1ldGljKWgoZm9yKWUoY29tbWFuZCwpagorRnMoZm9yKTI5IGIoXChcKCloIEZpKGV4cHIxKTM5IGIgRnMoOykzMCBiIEZpKGV4cHIyKTQwCitiIEZzKDspMzAgYiBGaShleHByMykzOSBiIEZzKFwpXCkpMjMgYiBGdChhcml0aG1ldGljKWgoZm9yKWUoY29tbWFuZCwpagogKHNpbS0pMzMwIDUwOTYgeShpbGFyKTMxIGIodG8pZyh0aGUpZyhDKWYobGFuZ3VhZ2UpaChcKHNlZSloKFNlY3Rpb24pZgotKDMuMi40LjEpaShbTG8pcyhvcGluZylkKENvbnN0cnVjdHNdLCloKHBhZ2UpZygxMFwpLikyMjUKKygzLjIuNC4xKWkoW0xvKXMob3BpbmcpZChDb25zdHJ1Y3RzXSwpaChwYWdlKWcoOVwpLikyMjUKIDUyMzAgeSBGcChcMDE3KTYwIGIgRnQoQmFzaCkzMSBiKGluY2x1ZGVzKWYodGhlKWcgRnMoc2VsZWN0KWYKIEZ0KGNvbXApcyhvdW5kKWcoY29tbWFuZCwpaSh3aGljKW0oaClmKGFsbG8pbSh3cylpKHRoZSlmKGdlbmVyYXRpb24pZwogKG9mKWcoc2ltcGxlKTMzMCA1MzQwIHkobWVuKW0odXMpZihcKHNlZSloKFNlY3Rpb24pZygzLjIuNC4yKWkKQEAgLTE0MTEwLDM5ICsxNDA4OSwzOSBAQAogRnQoJyloKGV4cGFuc2lvbnMpZyh0bylnKHJlbW8pbSh2KW0oZSkzMzAgMjM0MiB5KGxlYWRpbmcpZihvcilmCiAodHJhaWxpbmcpaChzdWJzdHJpbmdzKWUoZnJvbSlnKHYpLTUgYihhcmlhYmxlKTM1IGIodiktNQogYihhbHVlcykzNSBiKFwoc2VlKWcoU2VjdGlvbilnKDMuNS4zKWcoW1NoZWxsKWcoUCltKGFyYW1ldGVyKTMzMAotMjQ1MiB5KEV4cGFuc2lvbl0sKTMwIGIocGFnZSloKDIwXCkuKTIyNSAyNTg3IHkgRnAoXDAxNyk2MAorMjQ1MiB5KEV4cGFuc2lvbl0sKTMwIGIocGFnZSloKDE5XCkuKTIyNSAyNTg3IHkgRnAoXDAxNyk2MAogYiBGdChUaGUpNDYgYihleHBhbnNpb24pZyBGcygkeyN4eH0pcCBGdCgsKWood2hpYyltKGgpZChyZXR1cm5zKWYodGhlKWkKIChsZW5ndGgpZihvZiloIEZzKCR7eHh9KXAgRnQoLClpKGlzKWUoc3VwcClzKG9ydGVkKWQoXChzZWUpaihTZWMtKTMzMAogMjY5NyB5KHRpb24pMzEgYigzLjUuMyloKFtTaGVsbClmKFApbShhcmFtZXRlcilnKEV4cGFuc2lvbl0sKWYocGFnZSlpCi0oMjBcKS4pMjI1IDI4MzIgeSBGcChcMDE3KTYwIGIgRnQoVGhlKTMwIGIoZXhwYW5zaW9uKWcKKygxOVwpLikyMjUgMjgzMiB5IEZwKFwwMTcpNjAgYiBGdChUaGUpMzAgYihleHBhbnNpb24pZwogRnMoJHt2YXI6KXAgRnEob1wwMTNzZXQpciBGcyhbOilwIEZxKGxlbmd0aClwIEZzKF19KXAKIEZ0KCwpZyh3aGljKW0oaClnKGV4cGFuZHMpZyh0byloKHRoZSlnKHN1YnN0cmluZyllKG9mKWkKIEZzKHZhcilwIEZ0KCdzKWUodiktNSBiKGFsdWUpMzMwIDI5NDIgeShvZik0MyBiKGxlbmd0aClnCi1GcShsZW5ndGgpcCBGdCgsKWsoYilzKGVnaW5uaW5nKTQyIGIoYXQpaSBGcShvXDAxM3NldClwCi1GdCgsKWooaXMpYyhwcmVzZW4pbSh0KWcoXChzZWUpZyhTZWN0aW9uKWgoMy41LjMpaChbU2hlbGwpZShQKW0KLShhcmFtZXRlcikzMzAgMzA1MSB5KEV4cGFuc2lvbl0sKTMwIGIocGFnZSloKDIwXCkuKTIyNQorRnEobGVuZ3RoKXAgRnQoLClqKGIpcyhlZ2lubmluZyljKGF0KWkgRnEob1wwMTNzZXQpcgorRnQoLClqKGlzKTQyIGIocHJlc2VuKW0odCloKFwoc2VlKWgoU2VjdGlvbilmKDMuNS4zKWkoW1NoZWxsKWUoUCltCisoYXJhbWV0ZXIpMzMwIDMwNTEgeShFeHBhbnNpb25dLCkzMCBiKHBhZ2UpaCgxOVwpLikyMjUKIDMxODcgeSBGcChcMDE3KTYwIGIgRnQoVGhlKTIxIGIoZXhwYW5zaW9uKWYgRnMoJHt2YXIvWy9dKXAKIEZxKHBhdHRlcm4pcCBGcyhbLylwIEZxKHJlcGxhY2VtZW4pbSh0KXIgRnMoXX0pcCBGdCgsKWkod2hpYyltKGgpZQogKG1hdGMpbShoZXMpaiBGcShwYXR0ZXJuKWUgRnQoYW5kKWYocmVwbGFjZXMpMzMwIDMyOTYKIHkoaXQpMjkgYih3aXRoKWUgRnEocmVwbGFjZW1lbiltKHQpMzIgYiBGdChpbiljKHRoZSlnKHYpLTUKIGIoYWx1ZSkyOSBiKG9mKWYgRnModmFyKXAgRnQoLClnKGlzKWcoYSltKHYpLTUgYihhaWxhYmxlKTMxCiBiKFwoc2VlKWUoU2VjdGlvbilmKDMuNS4zKWkoW1NoZWxsKWYoUCltKGFyYW1ldGVyKTMzMAotMzQwNiB5KEV4cGFuc2lvbl0sKWgocGFnZSloKDIwXCkuKTIyNSAzNTQxIHkgRnAoXDAxNyk2MAotYiBGdChUaGUpMzIgYihleHBhbnNpb24pZyBGcygkeyEpcCBGaihwcmVmaXgpcCBGcyh9KXAKLUZqKCopNDAgYiBGdChleHBhbnNpb24sKTMyIGIod2hpYyltKGgpZyhleHBhbmRzKWcodG8paCh0aGUpZihuYW1lcylnCi0ob2YpaChhbGwpZyhzaGVsbClmKHYpLTUgYihhcmktKTMzMCAzNjUxIHkoYWJsZXMpMzYgYih3aG9zZSlnKG5hbWVzKWcKLShiKXMoZWdpbilnKHdpdGgpZyBGcShwcmVcMDE0eClwIEZ0KCwpZyhpcylnKGEpbSh2KS01Ci1iKGFpbGFibGUpMzkgYihcKHNlZSllKFNlY3Rpb24pZygzLjUuMylnKFtTaGVsbClnKFApbShhcmFtZXRlcikzMzAKLTM3NjEgeShFeHBhbnNpb25dLCkzMCBiKHBhZ2UpaCgyMFwpLikyMjUgMzg5NiB5IEZwKFwwMTcpNjAKKzM0MDYgeShFeHBhbnNpb25dLCloKHBhZ2UpaCgxOVwpLikyMjUgMzU0MSB5IEZwKFwwMTcpNjAKK2IgRnQoVGhlKTMyIGIoZXhwYW5zaW9uKWcgRnMoJHshKXAgRmkocHJlZml4KXAgRnMofSlwCitGaSgqKTQwIGIgRnQoZXhwYW5zaW9uLCkzMiBiKHdoaWMpbShoKWcoZXhwYW5kcylnKHRvKWgodGhlKWYobmFtZXMpZworKG9mKWgoYWxsKWcoc2hlbGwpZih2KS01IGIoYXJpLSkzMzAgMzY1MSB5KGFibGVzKTM2IGIod2hvc2UpZihuYW1lcyloCisoYilzKGVnaW4pZih3aXRoKWcgRnEocHJlXDAxNHgpNiBiIEZ0KCwpMzYgYihpcylnKGEpbSh2KS01CitiKGFpbGFibGUpMzggYihcKHNlZSllKFNlY3Rpb24paCgzLjUuMylnKFtTaGVsbClmKFApbShhcmFtZXRlcikzMzAKKzM3NjEgeShFeHBhbnNpb25dLCkzMCBiKHBhZ2UpaCgxOVwpLikyMjUgMzg5NiB5IEZwKFwwMTcpNjAKIGIgRnQoQmFzaCkyMiBiKGhhcylmIEZxKGluZGlyZWN0KWogRnQodiktNSBiKGFyaWFibGUpMjIKIGIoZXhwYW5zaW9uKWcodXNpbmcpZiBGcygkeyF3b3JkfSllIEZ0KFwoc2VlKWsoU2VjdGlvbilmKDMuNS4zKWkKLShbU2hlbGwpZShQKW0oYXJhbWV0ZXIpMzMwIDQwMDYgeShFeHBhbnNpb25dLCkzMCBiKHBhZ2UpaCgyMFwpLikyMjUKKyhbU2hlbGwpZShQKW0oYXJhbWV0ZXIpMzMwIDQwMDYgeShFeHBhbnNpb25dLCkzMCBiKHBhZ2UpaCgxOVwpLikyMjUKIDQxNDEgeSBGcChcMDE3KTYwIGIgRnQoQmFzaCkzMSBiKGNhbilmKGV4cGFuZClnKHApcyhvc2l0aW9uYWwpaAogKHBhcmFtZXRlcnMpZyhiKXMoZXkpbShvbmQpZSBGcygkOSloIEZ0KHVzaW5nKWcgRnMoJHspcAotRmoobnVtKTExIGIgRnMofSlwIEZ0KC4pMjI1IDQyNzYgeSBGcChcMDE3KTYwIGIgRnQoVGhlKTI3CitGaShudW0pMTEgYiBGcyh9KXAgRnQoLikyMjUgNDI3NiB5IEZwKFwwMTcpNjAgYiBGdChUaGUpMjcKIGIgRmwocG9zaXgpZyBGcygkXChcKSlnIEZ0KGZvcm0pZyhvZiloKGNvbW1hbmQpZyhzdWJzdGl0dXRpb24pZihpcyloCiAoaW1wbGVtZW4pbSh0ZWQpZyhcKHNlZSloKFNlY3Rpb24pZigzLjUuNClpKFtDb20tKTMzMAotNDM4NiB5KG1hbmQpMzggYihTdWJzdGl0dXRpb25dLClrKHBhZ2UpZSgyM1wpLClqKGFuZCkzOAorNDM4NiB5KG1hbmQpMzggYihTdWJzdGl0dXRpb25dLClrKHBhZ2UpZSgyMlwpLClqKGFuZCkzOAogYihwcmVmZXJyZWQpZyh0bylpKHRoZSlnKEJvdXJuZSlmKHNoZWxsJ3MpaCBGcyhgYCllIEZ0KFwod2hpYyltKGgpaShpcykKIGYoYWxzbykzMzAgNDQ5NSB5KGltcGxlbWVuKW0odGVkKTMxIGIoZm9yKWYoYmFjKW0oa3cpbShhcmRzKWgKIChjb21wYXRpYmlsaXQpbSh5XCkuKTIyNSA0NjMxIHkgRnAoXDAxNyk2MCBiIEZ0KEJhc2gpMzEKQEAgLTE0MTYwLDcgKzE0MTM5LDcgQEAKIChkZXRhaWxzLikyMjUgNTIzMCB5IEZwKFwwMTcpNjAgYiBGdChUaGUpNDQgYiBGcyhJRlMpZgogRnQodiktNSBiKGFyaWFibGUpNDUgYihpcylmKHVzZWQpZih0bylpKHNwbGl0KWYob25seSlnKHRoZSlnKHJlc3VsdHMpZwogKG9mKWgoZXhwYW5zaW9uLClpKG5vdClkKGFsbCloKHcpbShvcmRzKWYoXChzZWUpMzMwIDUzNDAKLXkoU2VjdGlvbikyOSBiKDMuNS43KWgoW1cpLTggYihvcmQpMjkgYihTcGxpdHRpbmddLCloKHBhZ2UpZigyNFwpLik0MQoreShTZWN0aW9uKTI5IGIoMy41LjcpaChbVyktOCBiKG9yZCkyOSBiKFNwbGl0dGluZ10sKWgocGFnZSlmKDIzXCkuKTQxCiBiKFRoaXMpMjggYihjbG9zZXMpaChhKWcobG9uZ3N0YW5kaW5nKWcoc2hlbGwpZihzZWN1cml0KW0oeSloKGhvbGUuKXAKIGVvcCBlbmQKICUlUGFnZTogMTM5IDE0NQpAQCAtMTQxNjksMTMgKzE0MTQ4LDEzIEBACiBiKFRoZSlmKEJvdXJuZSlnKFNoZWxsKTEyNTggYigxMzkpMjI1IDI5OSB5IEZwKFwwMTcpNjAKIGIgRnQoQmFzaCkzOCBiKGltcGxlbWVuKW0odHMpZyh0aGUpZyhmdWxsKWcoc2V0KWcob2YpZwogRmwocG9zaXgpZiBGdChcMDE0bGVuYW1lKWgoZXhwYW5zaW9uKWcob3ApcyhlcmF0b3JzLClpKGluY2x1ZGluZylkCi1GcShjKW0oaGFyLSkzMzAgNDA4IHkoYWN0ZXIpaShjbGFzc2VzKXAgRnQoLClqIEZxKGVxdWl2KS01Ci1iKGFsZW5jZSkzOSBiKGNsYXNzZXMpcCBGdCgsKWooYW5kKTM3IGIgRnEoY29sbGF0aW5nKWsoc3ltKW0oYilzKG9scylnCi1GdChcKHNlZSllKFNlY3Rpb24pZygzLjUuOCloKFtGaWxlbmFtZSkzMzAgNTE4IHkoRXhwYW5zaW9uXSwpMzAKK0ZxKGMpbShoYXItKTMzMCA0MDggeShhY3RlcilpKGNsYXNzZXMpdCBGdCgsKWggRnEoZXF1aXYpLTUKK2IoYWxlbmNlKTM5IGIoY2xhc3Nlcyl0IEZ0KCwpaChhbmQpZCBGcShjb2xsYXRpbmcpaihzeW0pbShiKXMob2xzKWcKK0Z0KFwoc2VlKWYoU2VjdGlvbilmKDMuNS44KWgoW0ZpbGVuYW1lKTMzMCA1MTggeShFeHBhbnNpb25dLCkzMAogYihwYWdlKWgoMjRcKS4pMjI1IDY2MCB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTM1IGIoaW1wbGVtZW4pbSh0cylnCiAoZXh0ZW5kZWQpZyhwYXR0ZXJuKWcobWF0YyltKGhpbmcpaChmZWF0dXJlcylmKHdoZW4pZih0aGUpaAogRnMoZXh0Z2xvYilkIEZ0KHNoZWxsKWoob3B0aW9uKTMzMCA3NjkgeShpcykzMCBiKGVuYWJsZWQpaChcKHNlZSlnCi0oU2VjdGlvbilnKDMuNS44LjEpaShbUCltKGF0dGVybilmKE1hdGMpbShoaW5nXSwpZyhwYWdlKWYoMjVcKS4pMjI1CisoU2VjdGlvbilnKDMuNS44LjEpaShbUCltKGF0dGVybilmKE1hdGMpbShoaW5nXSwpZyhwYWdlKWYoMjRcKS4pMjI1CiA5MTEgeSBGcChcMDE3KTYwIGIgRnQoSXQpMjIgYihpcylnKHApcyhvc3NpYmxlKWcodG8paChoYSltKHYpbShlKWcoYSlmCiAodiktNSBiKGFyaWFibGUpMjMgYihhbmQpZihhKWcoZnVuY3Rpb24pZyh3aXRoKWcodGhlKWcoc2FtZSlnKG5hbWU7KWoKIEZzKHNoKWQgRnQoZG8pcyhlcylnKG5vdClnKHNlcGFyYXRlKTMzMCAxMDIxIHkodGhlKTMxCkBAIC0xNDE4OCw3ICsxNDE2Nyw3IEBACiBiKGFyaWFibGUpMjUgYihhc3NpZ25tZW4pbSh0cylnKHByZWNlZGluZyllKGNvbW1hbmRzKWgoYVwwMTNlY3QpaChvbmx5KQogZih0aGF0KWcoY29tbWFuZCwpaChldiltKGVuKWYoYnVpbHRpbnMpZyhhbmQpMzMwIDE1MjQKIHkoZnVuY3Rpb25zKTM2IGIoXChzZWUpaChTZWN0aW9uKWcoMy43LjQpaChbRW4pbSh2aXJvbm1lbiltKHRdLCloKHBhZ2UpCi1lKDMyXCkuKTYwIGIoSW4pMzUgYiBGcyhzaClwIEZ0KCwpaihhbGwpZih2KS01IGIoYXJpYWJsZSkzNworZSgzMVwpLik2MCBiKEluKTM1IGIgRnMoc2gpcCBGdCgsKWooYWxsKWYodiktNSBiKGFyaWFibGUpMzcKIGIoYXNzaWdubWVuKW0odHMpMzMwIDE2MzMgeShwcmVjZWRpbmcpMzAgYihjb21tYW5kcylnKGFyZSloKGdsb2JhbCloCiAodW5sZXNzKWQodGhlKWkoY29tbWFuZClmKGlzKWgoZXhlY3V0ZWQpZyhmcm9tKWYodGhlKWcoXDAxNGxlKWgKIChzeXN0ZW0uKTIyNSAxNzc1IHkgRnAoXDAxNyk2MCBiIEZ0KEJhc2gpNDQgYihwKXMoZXJmb3JtcyllKFwwMTRsZW5hbWUpCkBAIC0xNDIwNiw4ICsxNDE4NSw4IEBACiBGdCgnKWcocmVkaXJlY3Rpb24pZyhvcClzKGVyYXRvciwpaShhbGxvKW0od2luZylnKGEpZShzdHJpbmcpZih0bylpKGIpcwogKGUpZSh1c2VkKWcoYXMpaCh0aGUpZyhzdGFuZGFyZCkzMzAgMjQ5NyB5KGlucHV0KTI5IGIodG8paihhKWUKIChjb21tYW5kLikyMjUgMjYzOSB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTI5IGIoaW1wbGVtZW4pbSh0cyloKHRoZSlmKGApCi1wIEZzKFtuXTwmKXAgRmood29yZCkxMSBiIEZ0KCcpMjYgYihhbmQpaihgKXAgRnMoW25dPiYpcAotRmood29yZCkxMSBiIEZ0KCcpMjYgYihyZWRpcmVjdGlvbilrKG9wKXMoZXJhdG9ycywpZyh3aGljKW0oaCllKG1vKW0odikKK3AgRnMoW25dPCYpcCBGaSh3b3JkKTExIGIgRnQoJykyNiBiKGFuZClqKGApcCBGcyhbbl0+JilwCitGaSh3b3JkKTExIGIgRnQoJykyNiBiKHJlZGlyZWN0aW9uKWsob3ApcyhlcmF0b3JzLClnKHdoaWMpbShoKWUobW8pbSh2KQogbShlKTMzMCAyNzQ5IHkob25lKWooXDAxNGxlKWYoZGVzY3JpcHRvcilnKHRvKWgoYW5vdGhlci4pMjI1CiAyODkwIHkgRnAoXDAxNyk2MCBiIEZ0KEJhc2gpMjUgYih0cmVhdHMpaChhKWYobiltKHVtKW0oYilzKGVyKWUob2YpaQogKFwwMTRsZW5hbWVzKWcoc3ApcyhlY2lhbGx5KWcod2hlbilmKHRoZXkpaChhcmUpZyh1c2VkKWYoaW4pZwpAQCAtMTQzMDUsNyArMTQyODQsNyBAQAogMjg3NCB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTQzIGIoaW5jbHVkZXMpZyh0aGUpZyBGcyhzaG9wdClmCiBGdChidWlsdGluLClrKGZvcilkKFwwMTRuZXIpZihjb24pbSh0cm9sKWoob2YpZShzaGVsbCloKG9wdGlvbmFsKWcKIChjYXBhYmlsaXRpZXMpaChcKHNlZSkzMzAgMjk4NCB5KFNlY3Rpb24pYyg0LjMuMilnKFtUaGUpZihTaG9wdClmCi0oQnVpbHRpbl0sKWsocGFnZSlkKDU0XCksKWsoYW5kKTM5IGIoYWxsbyltKHdzKWkodGhlc2UpZihvcHRpb25zKWgodG8pZgorKEJ1aWx0aW5dLClrKHBhZ2UpZCg1NVwpLClrKGFuZCkzOSBiKGFsbG8pbSh3cylpKHRoZXNlKWYob3B0aW9ucyloKHRvKWYKIChiKXMoZSlmKHNldClpKGFuZCkzMzAgMzA5MyB5KHVuc2V0KTMwIGIoYXQpaChzaGVsbClnKGluKW0odiltKG8pcwogKGNhdGlvbiloKFwoc2VlKWYoU2VjdGlvbiloKDYuMSlmKFtJbiltKHYpbShva2luZylnKEJhc2hdLClnKHBhZ2UpaAogKDcxXCkuKTIyNSAzMjMwIHkgRnAoXDAxNyk2MCBiIEZ0KEJhc2gpNDUgYihoYXMpZihtKW0odWMpbShoKWcobW9yZSloCkBAIC0xNDM1Niw3NyArMTQzMzUsNzcgQEAKIGIoVGhlKTM5IGIgRnMoRVJSKWcgRnQodHJhcClnKGlzKTMzMCA0MDggeShub3QpZyhpbmhlcml0ZWQpZihiKW0oeSloCiAoc2hlbGwpZyhmdW5jdGlvbnMpZih1bmxlc3MpZyh0aGUpaCBGcygtbykyOSBiKGVycnRyYWNlKTM3CiBiIEZ0KG9wdGlvbilpKHRvKWcodGhlKWcgRnMoc2V0KWYgRnQoYnVpbHRpbilnKGlzKTMzMAotNTE4IHkoZW5hYmxlZC4pMzMwIDY0NSB5KFRoZSlnIEZzKHRyYXApZyBGdChidWlsdGluKWgoXChzZWUpZyhTZWN0aW9uKWgKKzUxOCB5KGVuYWJsZWQuKTMzMCA2NTAgeShUaGUpZyBGcyh0cmFwKWcgRnQoYnVpbHRpbiloKFwoc2VlKWcoU2VjdGlvbiloCiAoNC4xKWcoW0JvdXJuZSlmKFNoZWxsKWcoQnVpbHRpbnNdLClpKHBhZ2UpZigzNVwpKWcoYWxsbyltKHdzKWcoYSlnCi1GcyhSRVRVUk4pMzMwIDc1NSB5IEZ0KHBzZXVkby1zaWduYWwpMzUgYihzcClzKGVjaVwwMTRjYXRpb24sKWoKK0ZzKFJFVFVSTikzMzAgNzYwIHkgRnQocHNldWRvLXNpZ25hbCkzNSBiKHNwKXMoZWNpXDAxNGNhdGlvbiwpagogKHNpbWlsYXIpZCh0byloIEZzKEVYSVQpZSBGdChhbmQpZyBGcyhERUJVRylwIEZ0KC4pNTQKLWIoQ29tbWFuZHMpMzQgYihzcClzKGVjaVwwMTRlZClnKHdpdGgpaChhbikzMzAgODY0IHkKK2IoQ29tbWFuZHMpMzQgYihzcClzKGVjaVwwMTRlZClnKHdpdGgpaChhbikzMzAgODY5IHkKIEZzKFJFVFVSTilrIEZ0KHRyYXApaShhcmUpZyhleGVjdXRlZCloKGIpcyhlZm9yZSllKGV4ZWN1dGlvbilpKHJlc3VtZXMpCi1lKGFmdGVyKWgoYSlnKHNoZWxsKWcoZnVuY3Rpb24pZyhvcilnKGEpZyhzaGVsbCkzMzAgOTc0CitlKGFmdGVyKWgoYSlnKHNoZWxsKWcoZnVuY3Rpb24pZyhvcilnKGEpZyhzaGVsbCkzMzAgOTc5CiB5KHNjcmlwdCkzNiBiKGV4ZWN1dGVkKWcod2l0aClnIEZzKC4pZiBGdChvciloIEZzKHNvdXJjZSllCiBGdChyZXR1cm5zLik1NiBiKFRoZSkzNSBiIEZzKFJFVFVSTilmIEZ0KHRyYXApaShpcylnKG5vdClnKGluaGVyaXRlZClmCi0oYiltKHkpaChzaGVsbCkzMzAgMTA4MyB5KGZ1bmN0aW9ucylrKHVubGVzcyloKHRoZSlnKGZ1bmN0aW9uKWYoaGFzKWgKKyhiKW0oeSloKHNoZWxsKTMzMCAxMDg4IHkoZnVuY3Rpb25zKWsodW5sZXNzKWgodGhlKWcoZnVuY3Rpb24pZihoYXMpaAogKGIpcyhlZW4pZihnaXYpbShlbilpKHRoZSlmIEZzKHRyYWNlKWUgRnQoYXR0cmlidXRlKWoob3IpZSh0aGUpaAotRnMoZnVuY3RyYWNlKTMzMCAxMTkzIHkgRnQob3B0aW9uKTMxIGIoaGFzKWYoYilzKGVlbilnKGVuYWJsZWQpZyh1c2luZykKLWcodGhlKWcgRnMoc2hvcHQpZiBGdChidWlsdGluLikyMjUgMTMyMCB5IEZwKFwwMTcpNjAKK0ZzKGZ1bmN0cmFjZSkzMzAgMTE5OCB5IEZ0KG9wdGlvbikzMSBiKGhhcylmKGIpcyhlZW4pZyhlbmFibGVkKWcodXNpbmcpCitnKHRoZSlnIEZzKHNob3B0KWYgRnQoYnVpbHRpbi4pMjI1IDEzMzAgeSBGcChcMDE3KTYwCiBiIEZ0KFRoZSkzMCBiKEJhc2gpZyBGcyh0eXBlKWYgRnQoYnVpbHRpbiloKGlzKWcobW9yZSlnKGV4dGVuc2l2KW0oZSlpCiAoYW5kKWQoZ2l2KW0oZXMpaihtb3JlKWUoaW5mb3JtYXRpb24paChhYilzKG91dClmKHRoZSlnKG5hbWVzKTMzMAotMTQzMCB5KGl0KWgoXDAxNG5kcyllKFwoc2VlKWkoU2VjdGlvbilnKDQuMiloKFtCYXNoKWUoQnVpbHRpbnNdLClpCi0ocGFnZSlmKDQxXCkuKTIyNSAxNTU3IHkgRnAoXDAxNyk2MCBiIEZ0KFRoZSkzNCBiKEJhc2gpaAorMTQ0MCB5KGl0KWgoXDAxNG5kcyllKFwoc2VlKWkoU2VjdGlvbilnKDQuMiloKFtCYXNoKWUoQnVpbHRpbnNdLClpCisocGFnZSlmKDQxXCkuKTIyNSAxNTcxIHkgRnAoXDAxNyk2MCBiIEZ0KFRoZSkzNCBiKEJhc2gpaAogRnModW1hc2spZSBGdChidWlsdGluKWgocClzKGVybWl0cylnKGEpZyhgKXAgRnMoLXApcAogRnQoJyloKG9wdGlvbilnKHRvKWcoY2F1c2UpZyh0aGUpZyhvdXRwdXQpZih0byloKGIpcyhlKWYoZGlzcGxhKW0oeSltCi0oZWQpaChpbikzMzAgMTY2NiB5KHRoZSlnKGZvcm0pZyhvZilnKGEpaCBGcyh1bWFzayllCisoZWQpaChpbikzMzAgMTY4MSB5KHRoZSlnKGZvcm0pZyhvZilnKGEpaCBGcyh1bWFzayllCiBGdChjb21tYW5kKWgodGhhdClnKG1hKW0oeSloKGIpcyhlKWYocmV1c2VkKWYoYXMpaChpbnB1dClnKFwoc2VlKWgKLShTZWN0aW9uKWcoNC4xKWcoW0JvdXJuZSkzMzAgMTc3NiB5KFNoZWxsKTMwIGIoQnVpbHRpbnNdLCloKHBhZ2UpaAotKDM1XCkuKTIyNSAxOTAzIHkgRnAoXDAxNyk2MCBiIEZ0KEJhc2gpMzQgYihpbXBsZW1lbiltKHRzKWgoYSlnCisoU2VjdGlvbilnKDQuMSlnKFtCb3VybmUpMzMwIDE3OTEgeShTaGVsbCkzMCBiKEJ1aWx0aW5zXSwpaChwYWdlKWgKKygzNVwpLikyMjUgMTkyMyB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTM0IGIoaW1wbGVtZW4pbSh0cyloKGEpZwogRnMoY3NoKXAgRnQoLWxpayltKGUpZyhkaXJlY3RvcnkpZihzdGFjKW0oaywpaihhbmQpZChwcm8pbSh2aWRlcylnKHRoZSkKIGcgRnMocHVzaGQpcCBGdCgsKWcgRnMocG9wZClwIEZ0KCwpZyhhbmQpZyBGcyhkaXJzKTMzMAotMjAxMiB5IEZ0KGJ1aWx0aW5zKWcodG8paShtYW5pcHVsYXRlKWYoaXQpaChcKHNlZSlmKFNlY3Rpb24paCg2LjgpZworMjAzMiB5IEZ0KGJ1aWx0aW5zKWcodG8paShtYW5pcHVsYXRlKWYoaXQpaChcKHNlZSlmKFNlY3Rpb24paCg2LjgpZwogKFtUaGUpZihEaXJlY3RvcnkpaChTdGFjKW0oa10sKWkocGFnZSlkKDgxXCkuKTU2IGIoQmFzaCkzNQotYihhbHNvKTMzMCAyMTIyIHkobWFrKW0oZXMpYyh0aGUpZyhkaXJlY3RvcnkpZyhzdGFjKW0oaylnKHZpc2libGUpZyhhcykKK2IoYWxzbykzMzAgMjE0MiB5KG1hayltKGVzKWModGhlKWcoZGlyZWN0b3J5KWcoc3RhYyltKGspZyh2aXNpYmxlKWcoYXMpCiBnKHRoZSlmKHYpLTUgYihhbHVlKTMxIGIob2YpZyh0aGUpZiBGcyhESVJTVEFDSylmIEZ0KHNoZWxsKWgodiktNQotYihhcmlhYmxlLikyMjUgMjI0OSB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTI4IGIoaW4pbSh0ZXJwcmV0cyloKHNwKXMKK2IoYXJpYWJsZS4pMjI1IDIyNzQgeSBGcChcMDE3KTYwIGIgRnQoQmFzaCkyOCBiKGluKW0odGVycHJldHMpaChzcClzCiAoZWNpYWwpZyhiYWMpbShrc2xhc2gtZXNjYXApcyhlZClnKGMpbShoYXJhY3RlcnMpZyhpbilmKHRoZSloKHByb21wdCllCi0oc3RyaW5ncyloKHdoZW4pZihpbiltKHRlci0pMzMwIDIzNTggeShhY3RpdiltKGUpMzMgYihcKHNlZSllKFNlY3Rpb24pZwotKDYuOSloKFtQcmluKW0odGluZyllKGEpaChQcm9tcHRdLClnKHBhZ2UpZyg4M1wpLikyMjUKLTI0ODUgeSBGcChcMDE3KTYwIGIgRnQoVGhlKTQ2IGIoQmFzaCloKHJlc3RyaWN0ZWQpZyhtbylzKGRlKWYoaXMpaAorKHN0cmluZ3MpaCh3aGVuKWYoaW4pbSh0ZXItKTMzMCAyMzgzIHkoYWN0aXYpbShlKTMzIGIoXChzZWUpZShTZWN0aW9uKWcKKyg2LjkpaChbUHJpbiltKHRpbmcpZShhKWgoUHJvbXB0XSwpZyhwYWdlKWcoODJcKS4pMjI1CisyNTE1IHkgRnAoXDAxNyk2MCBiIEZ0KFRoZSk0NiBiKEJhc2gpaChyZXN0cmljdGVkKWcobW8pcyhkZSlmKGlzKWgKIChtb3JlKWYodXNlZnVsKWcoXChzZWUpaChTZWN0aW9uKWgoNi4xMClnKFtUaGUpZShSZXN0cmljdGVkKWkoU2hlbGxdLCkKLTMzMCAyNTk1IHkocGFnZSkzMSBiKDg0XCk7KWgodGhlKWYoU1ZSNC4yKWcoc2hlbGwpZihyZXN0cmljdGVkKWgobW8pcwotKGRlKWYoaXMpaCh0bylzKG8pZyhsaW1pdGVkLikyMjUgMjcyMiB5IEZwKFwwMTcpNjAgYgorMzMwIDI2MjUgeShwYWdlKTMxIGIoODRcKTspaCh0aGUpZihTVlI0LjIpZyhzaGVsbClmKHJlc3RyaWN0ZWQpaChtbylzCisoZGUpZihpcyloKHRvKXMobylnKGxpbWl0ZWQuKTIyNSAyNzU3IHkgRnAoXDAxNyk2MCBiCiBGdChUaGUpMzAgYiBGcyhkaXNvd24pZiBGdChidWlsdGluKWgoY2FuKWgocmVtbyltKHYpbShlKWgoYSlmKGpvYilmCiAoZnJvbSlnKHRoZSloKGluKW0odGVybmFsKWcoc2hlbGwpZyhqb2IpZih0YWJsZSlpKFwoc2VlKWYoU2VjdGlvbiloCi0oNy4yKTMzMCAyODMyIHkoW0pvYiloKENvbiltKHRyb2wpaChCdWlsdGluc10sKWcocGFnZSlnKDkwXCkpaChvcillCisoNy4yKTMzMCAyODY2IHkoW0pvYiloKENvbiltKHRyb2wpaChCdWlsdGluc10sKWcocGFnZSlnKDkwXCkpaChvcillCiAoc3VwcHJlc3MpZSh0aGUpaShzZW5kaW5nKWcob2YpZyBGcyhTSUdIVVApZSBGdCh0bylqKGEpZyhqb2IpZih3aGVuKWYKLSh0aGUpMzMwIDI5NDEgeShzaGVsbClmKGV4aXRzKWcoYXMpZih0aGUpaChyZXN1bHQpZihvZiloKGEpZgotRnMoU0lHSFVQKXAgRnQoLikyMjUgMzA2OCB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTMxIGIoaW5jbHVkZXMpZihhKWcobikKKyh0aGUpMzMwIDI5NzYgeShzaGVsbClmKGV4aXRzKWcoYXMpZih0aGUpaChyZXN1bHQpZihvZiloKGEpZgorRnMoU0lHSFVQKXAgRnQoLikyMjUgMzEwOCB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTMxIGIoaW5jbHVkZXMpZihhKWcobikKIG0odW0pbShiKXMoZXIpZihvZilpKGZlYXR1cmVzKWcodG8pZyhzdXBwKXMob3J0KWQoYSlqKHNlcGFyYXRlKWcKLShkZWJ1Z2dlcilmKGZvciloKHNoZWxsKWYoc2NyaXB0cy4pMjI1IDMxOTUgeSBGcChcMDE3KTYwCisoZGVidWdnZXIpZihmb3IpaChzaGVsbClmKHNjcmlwdHMuKTIyNSAzMjQwIHkgRnAoXDAxNyk2MAogYiBGdChUaGUpMjggYihTVlI0LjIpaChzaGVsbClmKGhhcylnKHQpbSh3KW0obylpKHByaXZpbGVnZS1yZWxhdGVkKWcKIChidWlsdGlucyllKFwoKXAgRnMobWxkbW9kZSllIEZ0KGFuZClpIEZzKHByaXYpcCBGdChcKSlmKG5vdClpKHByZXNlbiltCi0odClmKGluKTMzMCAzMzA1IHkoQmFzaC4pMjI1IDM0MzIgeSBGcChcMDE3KTYwIGIgRnQoQmFzaCkzMQorKHQpZihpbikzMzAgMzM1MCB5KEJhc2guKTIyNSAzNDgyIHkgRnAoXDAxNyk2MCBiIEZ0KEJhc2gpMzEKIGIoZG8pcyhlcylmKG5vdClnKGhhKW0odiltKGUpaSh0aGUpZSBGcyhzdG9wKWcgRnQob3IpZwotRnMobmV3Z3JwKWYgRnQoYnVpbHRpbnMuKTIyNSAzNTU5IHkgRnAoXDAxNyk2MCBiIEZ0KEJhc2gpMzEKK0ZzKG5ld2dycClmIEZ0KGJ1aWx0aW5zLikyMjUgMzYxMyB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTMxCiBiKGRvKXMoZXMpZihub3QpZyh1c2UpZyh0aGUpaCBGcyhTSEFDQ1QpZCBGdCh2KS01IGIoYXJpYWJsZSkzMgotYihvcillKHApcyhlcmZvcm0pZihzaGVsbClpKGFjY291biltKHRpbmcuKTIyNSAzNjg2IHkKK2Iob3IpZShwKXMoZXJmb3JtKWYoc2hlbGwpaShhY2NvdW4pbSh0aW5nLikyMjUgMzc0NSB5CiBGcChcMDE3KTYwIGIgRnQoVGhlKTMwIGIoU1ZSNC4yKWggRnMoc2gpZiBGdCh1c2VzKWcoYSlnCiBGcyhUSU1FT1VUKWYgRnQodiktNSBiKGFyaWFibGUpMzEgYihsaWspbShlKWgoQmFzaCllKHVzZXMpZwotRnMoVE1PVVQpcCBGdCguKTE1MCAzODMwIHkoTW9yZSloKGZlYXR1cmVzKWcodW5pcXVlKWUodG8paShCYXNoKWcobWEpbQorRnMoVE1PVVQpcCBGdCguKTE1MCAzOTAwIHkoTW9yZSloKGZlYXR1cmVzKWcodW5pcXVlKWUodG8paShCYXNoKWcobWEpbQogKHkpZyhiKXMoZSlmKGZvdW5kKWYoaW4paChDaGFwdGVyKWYoNilpKFtCYXNoKWcoRiktOAotYihlYXR1cmVzXSwpMzIgYihwYWdlKWYoNzEuKTE1MCA0MDY1IHkgRnIoQi4xKTY3IGIoSW1wbGVtZW4pbCh0YXRpb24pNDgKLWIoRGlcMDEzZXJlbmNlcyllKEYpLTExIGIocm9tKTQ0IGIoVGhlKWgoU1ZSNC4yKWcoU2hlbGwpMjc1Ci00MzAxIHkgRnQoU2luY2UpMzkgYihCYXNoKWgoaXMpZihhKWgoY29tcGxldGVseSlpKG5ldylkKGltcGxlbWVuKW0KLSh0YXRpb24sKWsoaXQpZChkbylzKGVzKWcobm90KWYoc3VcMDEzZXIpZyhmcm9tKWcobWFuKW0oeSloKG9mKWcodGhlKQotMTUwIDQ0MTEgeShsaW1pdGF0aW9ucykzMiBiKG9mKWYodGhlKWYoU1ZSNC4yKWgoc2hlbGwuKTQxCi1iKEYpLTggYihvcikzMSBiKGluc3RhbmNlOikyMjUgNDUzOCB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTMyCitiKGVhdHVyZXNdLCkzMiBiKHBhZ2UpZig3MS4pMTUwIDQxMjcgeSBGcihCLjEpNjcgYihJbXBsZW1lbilsKHRhdGlvbik0OAorYihEaVwwMTNlcmVuY2VzKWUoRiktMTEgYihyb20pNDQgYihUaGUpaChTVlI0LjIpZyhTaGVsbCkxNTAKKzQyODcgeSBGdChTaW5jZSkzMyBiKEJhc2gpaChpcylmKGEpZyhjb21wbGV0ZWx5KWkobmV3KWUoaW1wbGVtZW4pbQorKHRhdGlvbiwpaihpdCllKGRvKXMoZXMpZShub3QpaShzdVwwMTNlcillKGZyb20paChtYW4pbSh5KWcob2YpaCh0aGUpZgorKGxpbWktKTE1MCA0Mzk2IHkodGF0aW9ucylmKG9mKWUodGhlKWgoU1ZSNC4yKWcoc2hlbGwuKTQxCitiKEYpLTggYihvcikzMSBiKGluc3RhbmNlOikyMjUgNDUyOCB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTMyCiBiKGRvKXMoZXMpZihub3QpaChmb3JrKWYoYSloKHN1YnNoZWxsKWUod2hlbiloKHJlZGlyZWN0aW5nKWgoaW4pbSh0byloCiAob3IpZShvdXQpaChvZilnKGEpZyhzaGVsbClmKGNvbiltKHRyb2wpaShzdHJ1Y3R1cmUpMzMwCi00NjQ4IHkoc3VjKW0oaClkKGFzKWgoYW4pZiBGcyhpZilnIEZ0KG9yKWcgRnMod2hpbGUpZgotRnQoc3RhdGVtZW4pbSh0LikyMjUgNDc3NSB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTI5IGIoZG8pcyhlcylmKG5vdCloCis0NjM4IHkoc3VjKW0oaClkKGFzKWgoYW4pZiBGcyhpZilnIEZ0KG9yKWcgRnMod2hpbGUpZgorRnQoc3RhdGVtZW4pbSh0LikyMjUgNDc3MCB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTI5IGIoZG8pcyhlcylmKG5vdCloCiAoYWxsbyltKHcpaCh1biltKGJhbGFuY2VkKWYocXVvdGVzLik0MSBiKFRoZSkyOCBiKFNWUjQuMiloKHNoZWxsKWcKLSh3aWxsKWcoc2lsZW4pbSh0bHkpaShpbnNlcnQpZChhKWgobmVlZGVkKTMzMCA0ODg0IHkoY2xvc2luZylnKHF1b3RlKWcKKyh3aWxsKWcoc2lsZW4pbSh0bHkpaShpbnNlcnQpZChhKWgobmVlZGVkKTMzMCA0ODc5IHkoY2xvc2luZylnKHF1b3RlKWcKIChhdClmIEZzKEVPRilmIEZ0KHVuZGVyKWcoY2VydGFpbiloKGNpcmN1bXN0YW5jZXMuKTQxCiBiKFRoaXMpMjcgYihjYW4paChiKXMoZSlnKHRoZSlnKGNhdXNlKWcob2YpZyhzb21lKWgoaGFyZC0pMzMwCi00OTk0IHkodG8tXDAxNG5kKWgoZXJyb3JzLikyMjUgNTEyMSB5IEZwKFwwMTcpNjAgYiBGdChUaGUpNDUKKzQ5ODkgeSh0by1cMDE0bmQpaChlcnJvcnMuKTIyNSA1MTIxIHkgRnAoXDAxNyk2MCBiIEZ0KFRoZSk0NQogYihTVlI0LjIpaChzaGVsbClmKHVzZXMpZyhhKWcoYmFybylzKHF1ZSlnKG1lbW9yeSlnKG1hbmFnZW1lbiltKHQpaShzYykKIG0oaGVtZSllKGJhc2VkKWcob24pZyh0cmFwcGluZykzMzAgNTIzMCB5IEZzKFNJR1NFR1YpcAogRnQoLik1NyBiKElmKTM1IGIodGhlKWkoc2hlbGwpZihpcyloKHN0YXJ0ZWQpZyhmcm9tKWUoYSlpKHBybylzKGNlc3MpZgpAQCAtMTQ0NjksMTkgKzE0NDQ4LDE4IEBACiAlJVBhZ2U6IDE0MyAxNDkKIFRlWERpY3QgYmVnaW4gMTQzIDE0OCBib3AgMTUwIC0xMTYgYSBGdChBcHApcyhlbmRpeCkyOQogYihDOiloKEdOVSloKEYpLTggYihyZWUpMzEgYihEbylzKGN1bWVuKW0odGF0aW9uKWkoTGljZW5zZSkxNTYwCi1iKDE0MykxNTAgMjk5IHkgRm8oQXBwKXQoZW5kaXgpNTIgYihDKTEyNiBiKEdOVSk1MyBiKEYpLTEzCi1iKHJlZSk1MyBiKERvKXQoY3VtZW4pbCh0YXRpb24pZihMaWNlbnNlKTEzOTYgNTAyIHkgRnQoViktOAotYihlcnNpb24pMzEgYigxLjIsKWgoTm8pbSh2KW0oZW0pbShiKXMoZXIpZygyMDAyKTM5MAorYigxNDMpMTUwIDI5OSB5IEZvKEFwcCl0KGVuZGl4KTUyIGIoQyk4MSBiKEdOVSk1NCBiKEYpLTEzCitiKHJlZSk1MyBiKERvKXQoY3VtZW4pbCh0YXRpb24pZShMaWNlbnNlKTEzNTkgNTAyIHkgRnQoViktOAorYihlcnNpb24pMzEgYigxLjMsKWcoMylnKE5vKW0odiltKGVtKW0oYilzKGVyKWgoMjAwOCkzOTAKIDYzNSB5KENvcCltKHlyaWdoKW0odCk4NDIgNjMyIHkoYyk4MTcgNjM1IHkgRnAoXDAxNSllCi1GdCgyMDAwLDIwMDEsMjAwMikzNiBiKEYpLTggYihyZWUpMzIgYihTb2Z0KW0odyltKGFyZSlmKEYpLTgKLWIob3VuZGF0aW9uLCkzMiBiKEluYy4pMzkwIDc0NSB5KDUxKWYoRiktOCBiKHJhbmtsaW4pMzEKLWIoU3QsKWYoRmlmdGgpaChGbG8pcyhvciwpZyhCb3N0b24sKWgoTUEpNjEgYigwMjExMC0xMzAxLCkzNQotYihVU0EpMzkwIDk2NCB5KEV2KW0oZXJ5KW0ob25lKWMoaXMpZyhwKXMoZXJtaXR0ZWQpZih0byloKGNvcCltKHkpZwotKGFuZClmKGRpc3RyaWJ1dGUpZyh2KW0oZXJiYXRpbSloKGNvcGllcykzOTAgMTA3NCB5KG9mKWcodGhpcylmCi0obGljZW5zZSloKGRvKXMoY3VtZW4pbSh0LClnKGJ1dCllKGMpbShoYW5naW5nKWooaXQpZihpcylmKG5vdCloKGFsbG8pbQotKHcpbShlZC4pMTk5IDEyMDcgeSgwLik2MSBiKFBSRUFNQkxFKTMzMCAxMzQwIHkoVGhlKTM3Ci1iKHB1cnApcyhvc2UpZShvZilpKHRoaXMpZyhMaWNlbnNlKWgoaXMpZih0byloKG1hayltKGUpZyhhKWcobWFuKW0KLSh1YWwsKWgodGV4dGIpcyhvKXMob2ssKWgob3IpZChvdGhlcilnKGZ1bmN0aW9uYWwpaChhbmQpMzMwCitGdCgyMDAwLClqKDIwMDEsKWYoMjAwMiwpZygyMDA3LCloKDIwMDgpZihGKS04IGIocmVlKTMxCitiKFNvZnQpbSh3KW0oYXJlKWgoRiktOCBiKG91bmRhdGlvbiwpMzEgYihJbmMuKTM5MCA3NDUKK3kgRnMoaHR0cDovL2ZzZi5vcmcvKTM5MCA5NjQgeSBGdChFdiltKGVyeSltKG9uZSlnKGlzKWcocClzKGVybWl0dGVkKWYKKyh0byloKGNvcCltKHkpZyhhbmQpZihkaXN0cmlidXRlKWcodiltKGVyYmF0aW0paChjb3BpZXMpMzkwCisxMDc0IHkob2YpZyh0aGlzKWYobGljZW5zZSloKGRvKXMoY3VtZW4pbSh0LClnKGJ1dCllKGMpbShoYW5naW5nKWooaXQpZgorKGlzKWYobm90KWgoYWxsbyltKHcpbShlZC4pMTk5IDEyMDcgeSgwLik2MSBiKFBSRUFNQkxFKTMzMAorMTM0MCB5KFRoZSkzNyBiKHB1cnApcyhvc2UpZShvZilpKHRoaXMpZyhMaWNlbnNlKWgoaXMpZih0byloKG1hayltKGUpZworKGEpZyhtYW4pbSh1YWwsKWgodGV4dGIpcyhvKXMob2ssKWgob3IpZChvdGhlcilnKGZ1bmN0aW9uYWwpaChhbmQpMzMwCiAxNDUwIHkodXNlZnVsKTI5IGIoZG8pcyhjdW1lbiltKHQpaCBGcShmcmVlKTM2IGIgRnQoaW4pMjkKIGIodGhlKWkoc2Vuc2UpZihvZilnKGZyZWVkb206KTQxIGIodG8pMzEgYihhc3N1cmUpZShldiltKGVyeSltKG9uZSlqCiAodGhlKWUoZVwwMTNlY3RpdiltKGUpaihmcmVlZG9tKTMzMCAxNTU5IHkodG8pZihjb3ApbSh5KWcoYW5kKWYKQEAgLTE0NTYxLDE2NDQgKzE0NTM5LDE3NTkgQEAKIGUoSW4pbSh2KS01IGIoYXJpYW4pbSh0KTMzMCA1MTggeShTZWN0aW9ucy4pMzkgYihJZikyNQogYih0aGUpZihEbylzKGN1bWVuKW0odClpKGRvKXMoZXMpZShub3QpaChpZGVuKW0odGlmeSlnKGFuKW0oeSlnKEluKW0odikKIC01IGIoYXJpYW4pbSh0KTI1IGIoU2VjdGlvbnMpaCh0aGVuKWUodGhlcmUpaChhcmUpZyhub25lLikzMzAKLTY1NSB5KFRoZSkzNiBiKFxcQ28pbSh2KW0oZXIpaShUKS04IGIoZXh0cyIpMzggYihhcmUpZihjZXJ0YWluKWcoc2hvcnQpCis2NjkgeShUaGUpMzYgYihcXENvKW0odiltKGVyKWkoVCktOCBiKGV4dHMiKTM4IGIoYXJlKWYoY2VydGFpbilnKHNob3J0KQogZyhwYXNzYWdlcylnKG9mKWcodGV4dClnKHRoYXQpaChhcmUpZihsaXN0ZWQsKWkoYXMpZChGKS04Ci1iKHJvbiltKHQtQ28pbSh2KW0oZXIpMzMwIDc2NSB5KFQpZyhleHRzKTI2IGIob3IpZihCYWMpbShrLUNvKW0odiltKGVyKQorYihyb24pbSh0LUNvKW0odiltKGVyKTMzMCA3NzggeShUKWcoZXh0cykyNiBiKG9yKWYoQmFjKW0oay1DbyltKHYpbShlcikKIGooVCktOCBiKGV4dHMsKTI3IGIoaW4pZCh0aGUpaChub3RpY2UpaSh0aGF0KWUoc2EpbSh5cyloKHRoYXQpZyh0aGUpZgotKERvKXMoY3VtZW4pbSh0KWgoaXMpZihyZWxlYXNlZClnKHVuZGVyKTMzMCA4NzQgeSh0aGlzKWgoTGljZW5zZS4pNDAKKyhEbylzKGN1bWVuKW0odCloKGlzKWYocmVsZWFzZWQpZyh1bmRlcikzMzAgODg4IHkodGhpcyloKExpY2Vuc2UuKTQwCiBiKEEpMjUgYihGKS04IGIocm9uKW0odC1DbyltKHYpbShlcikyOSBiKFQpLTggYihleHQpMjYKIGIobWEpbSh5KWgoYilzKGUpZShhdClpKG1vc3QpZig1KWcodyltKG9yZHMsKWcoYW5kKWcoYSlnKEJhYyltKGstQ28pbQotKHYpbShlcilqKFQpLTggYihleHQpMjYgYihtYSltKHkpMzMwIDk4NCB5KGIpcyhlKWsoYXQpaChtb3N0KWcoMjUpZyh3KW0KLShvcmRzLikzMzAgMTEyMSB5KEEpMzYgYihcXFQpLTggYihyYW5zcGFyZW4pbSh0IikzNiBiKGNvcCltKHkpZyhvZilnCisodiltKGVyKWooVCktOCBiKGV4dCkyNiBiKG1hKW0oeSkzMzAgOTk4IHkoYilzKGUpayhhdCloKG1vc3QpZygyNSlnKHcpbQorKG9yZHMuKTMzMCAxMTQ4IHkoQSkzNiBiKFxcVCktOCBiKHJhbnNwYXJlbiltKHQiKTM2IGIoY29wKW0oeSlnKG9mKWcKICh0aGUpZihEbylzKGN1bWVuKW0odCloKG1lYW5zKWcoYSlnKG1hYyltKGhpbmUtcmVhZGFibGUpaChjb3ApbSh5KS04Ci1iKCwpMzggYihyZXByZXNlbiltKHRlZCkzMzAgMTIzMCB5KGluKWQoYSloKGZvcm1hdClnKHdob3NlKWcoc3ApcworYigsKTM4IGIocmVwcmVzZW4pbSh0ZWQpMzMwIDEyNTggeShpbilkKGEpaChmb3JtYXQpZyh3aG9zZSlnKHNwKXMKIChlY2lcMDE0Y2F0aW9uKWcoaXMpZyhhKW0odiktNSBiKGFpbGFibGUpMzggYih0bylmKHRoZSlmKGdlbmVyYWwpZwotKHB1YmxpYywpaCh0aGF0KWYoaXMpZyhzdWl0YWJsZSlnKGZvcikzMzAgMTM0MCB5KHJldmlzaW5nKWModGhlKWcoZG8pcworKHB1YmxpYywpaCh0aGF0KWYoaXMpZyhzdWl0YWJsZSlnKGZvcikzMzAgMTM2NyB5KHJldmlzaW5nKWModGhlKWcoZG8pcwogKGN1bWVuKW0odClmKHN0cmFpZ2gpbSh0Zm9ydyltKGFyZGx5KWkod2l0aCllKGdlbmVyaWMpaSh0ZXh0KWcoZWRpdG9ycykKLWYob3IpZihcKGZvciloKGltYWdlcyloKGNvbS0pMzMwIDE0NTAgeShwKXMob3NlZCkyMyBiKG9mKWgocGl4ZWxzXCkpZworZihvcilmKFwoZm9yKWgoaW1hZ2VzKWgoY29tLSkzMzAgMTQ3NyB5KHApcyhvc2VkKTIzIGIob2YpaChwaXhlbHNcKSlnCiAoZ2VuZXJpYyloKHBhaW4pbSh0KWYocHJvZ3JhbXMpZyhvcilmKFwoZm9yKWgoZHJhKW0od2luZ3NcKSlnKHNvbWUpZwotKHdpZGVseSlnKGEpbSh2KS01IGIoYWlsYWJsZSkyNiBiKGRyYSltKHdpbmcpMzMwIDE1NTkKKyh3aWRlbHkpZyhhKW0odiktNSBiKGFpbGFibGUpMjYgYihkcmEpbSh3aW5nKTMzMCAxNTg3CiB5KGVkaXRvciwpayhhbmQpZih0aGF0KWcoaXMpZyhzdWl0YWJsZSloKGZvcilmKGlucHV0KWYodG8paSh0ZXh0KWcKIChmb3JtYXR0ZXJzKWYob3IpZyhmb3IpZyhhdXRvbWF0aWMpaSh0cmFuc2xhdGlvbilmKHRvKTMzMAotMTY2OSB5KGEpZCh2KS01IGIoYXJpZXQpbSh5KTI4IGIob2YpZihmb3JtYXRzKWcoc3VpdGFibGUpaChmb3IpZShpbnB1dCkKKzE2OTYgeShhKWQodiktNSBiKGFyaWV0KW0oeSkyOCBiKG9mKWYoZm9ybWF0cylnKHN1aXRhYmxlKWgoZm9yKWUoaW5wdXQpCiBnKHRvKWkodGV4dClnKGZvcm1hdHRlcnMuKTQwIGIoQSkyNyBiKGNvcCltKHkpZyhtYWRlKWcoaW4pZyhhbilnCi0ob3RoZXJ3aXNlKTMzMCAxNzc4IHkoVCktOCBiKHJhbnNwYXJlbiltKHQpMzcgYihcMDE0bGUpaChmb3JtYXQpZworKG90aGVyd2lzZSkzMzAgMTgwNiB5KFQpLTggYihyYW5zcGFyZW4pbSh0KTM3IGIoXDAxNGxlKWgoZm9ybWF0KWcKICh3aG9zZSlmKG1hcmt1cCwpaShvcillKGFic2VuY2UpaChvZilnKG1hcmt1cCwpZyhoYXMpZyhiKXMoZWVuKWYKLShhcnJhbmdlZClnKHRvKTMzMCAxODg4IHkodGgpbSh3KW0oYXJ0KTI3IGIob3IpZyhkaXNjb3VyYWdlKWcKKyhhcnJhbmdlZClnKHRvKTMzMCAxOTE1IHkodGgpbSh3KW0oYXJ0KTI3IGIob3IpZyhkaXNjb3VyYWdlKWcKIChzdWJzZXF1ZW4pbSh0KWYobW8pcyhkaVwwMTRjYXRpb24paChiKW0oeSlnKHJlYWRlcnMpZihpcylnKG5vdCloKFQpLTgKLWIocmFuc3BhcmVuKW0odC4pMzkgYihBbikyNyBiKGltYWdlKTMzMCAxOTk4IHkoZm9ybWF0KTM1CitiKHJhbnNwYXJlbiltKHQuKTM5IGIoQW4pMjcgYihpbWFnZSkzMzAgMjAyNSB5KGZvcm1hdCkzNQogYihpcylmKG5vdCloKFQpLTggYihyYW5zcGFyZW4pbSh0KTM0IGIoaWYpZyh1c2VkKWcoZm9yKWcoYW4pbSh5KWcKIChzdWJzdGFuKW0odGlhbCloKGFtb3VuKW0odClnKG9mKWcodGV4dC4pNTMgYihBKTM1IGIoY29wKW0oeSlnKHRoYXQpZwotKGlzKTMzMCAyMTA3IHkobm90KWMoXFxUKS04IGIocmFuc3BhcmVuKW0odCIpMzEgYihpcylmKGNhbGxlZClpCi0oXFxPcGFxdWUiLikzMzAgMjI0NCB5KEV4YW1wbGVzKTUzIGIob2YpZyhzdWl0YWJsZSloKGZvcm1hdHMpZihmb3IpZyhUKQorKGlzKTMzMCAyMTM0IHkobm90KWMoXFxUKS04IGIocmFuc3BhcmVuKW0odCIpMzEgYihpcylmKGNhbGxlZClpCisoXFxPcGFxdWUiLikzMzAgMjI4NSB5KEV4YW1wbGVzKTUzIGIob2YpZyhzdWl0YWJsZSloKGZvcm1hdHMpZihmb3IpZyhUKQogLTggYihyYW5zcGFyZW4pbSh0KTUzIGIoY29waWVzKWgoaW5jbHVkZSlmKHBsYWluKWcgRmwoYXNjaSlyKGkpZwotRnQod2l0aG91dCkzMzAgMjM1NCB5KG1hcmt1cCwpNDEgYihUKS04IGIoZXhpbmZvKTQwIGIoaW5wdXQpZihmb3JtYXQsKWoKLShMYVQpMTc3NSAyMzczIHkoRSkxODI2IDIzNTQgeShYKWQoaW5wdXQpZyhmb3JtYXQsKWsKLUZsKHNnbWwpYyBGdChvcilnIEZsKHhtbClnIEZ0KHVzaW5nKWcoYSloKHB1YmxpY2x5KTMzMAotMjQ2MyB5KGEpbSh2KS01IGIoYWlsYWJsZSkzNCBiIEZsKGR0ZClwIEZ0KCwpZChhbmQpZwotKHN0YW5kYXJkLWNvbmZvcm1pbmcpZyhzaW1wbGUpaCBGbChodG1sKXAgRnQoLClmKFApbShvc3RTY3JpcHQpaChvcilmCi1GbChwZGYpZyBGdChkZXNpZ25lZClnKGZvcikzMzAgMjU3MyB5KGgpbSh1bWFuKTM3IGIobW8pcyhkaVwwMTRjYXRpb24uKQotNjUgYihFeGFtcGxlcykzOCBiKG9mKWcodHJhbnNwYXJlbiltKHQpZyhpbWFnZSlpKGZvcm1hdHMpZShpbmNsdWRlKWcKLUZsKHBuZylwIEZ0KCwpaSBGbCh4KW4oY2YpZSBGdChhbmQpMzMwIDI2ODIgeSBGbChqcGcpcAotRnQoLik2MyBiKE9wYXF1ZSkzOCBiKGZvcm1hdHMpZyhpbmNsdWRlKWcocHJvcHJpZXRhcnkpZyhmb3JtYXRzKWcodGhhdCkKLWgoY2FuKWYoYilzKGUpZyhyZWFkKWcoYW5kKWYoZWRpdGVkKWkob25seSkzMzAgMjc5MiB5KGIpbSh5KWcKLShwcm9wcmlldGFyeSlnKHcpbShvcmQpZyhwcm8pcyhjZXNzb3JzLClqIEZsKHNnbWwpYyBGdChvcilpCi1GbCh4bWwpZSBGdChmb3IpaSh3aGljKW0oaClmKHRoZSlnIEZsKGR0ZClnIEZ0KGFuZC9vcilnKHBybylzKGNlc3NpbmcpCi0zMzAgMjkwMiB5KHRvKXMob2xzKTMyIGIoYXJlKWYobm90KWcoZ2VuZXJhbGx5KWgoYSltKHYpLTUKLWIoYWlsYWJsZSwpMzQgYihhbmQpYyh0aGUpaChtYWMpbShoaW5lLWdlbmVyYXRlZClpIEZsKGh0bWwpcAotRnQoLClkKFApbShvc3RTY3JpcHQpaShvcilmIEZsKHBkZikzMzAgMzAxMSB5IEZ0KHBybylzKGR1Y2VkKWUoYiltKHkpaAotKHNvbWUpaCh3KW0ob3JkKWYocHJvKXMoY2Vzc29ycylnKGZvcilnKG91dHB1dClnKHB1cnApcyhvc2VzKWUob25seSktOAotYiguKTMzMCAzMTQ4IHkoVGhlKTM0IGIoXFxUaXRsZSloKFApbShhZ2UiKWkobWVhbnMsKWUoZm9yKWYoYSloKHByaW4pbQotKHRlZClmKGIpcyhvKXMob2ssKWgodGhlKWYodGl0bGUpaShwYWdlKWYoaXRzZWxmLCloKHBsdXMpZShzdWMpbShoKWYKLShmb2xsbyltKHdpbmcpMzMwIDMyNTggeShwYWdlcykyOCBiKGFzKWcoYXJlKWcobmVlZGVkKWcodG8pZyhob2xkLClnCi0obGVnaWJseSktOCBiKCwpMzAgYih0aGUpZShtYXRlcmlhbCloKHRoaXMpZShMaWNlbnNlKWkocmVxdWlyZXMpZSh0byloCi0oYXBwKXMoZWFyKWYoaW4paCh0aGUpMzMwIDMzNjcgeSh0aXRsZSlnKHBhZ2UuKTQwIGIoRiktOAotYihvcikyOCBiKHcpbShvcmtzKWUoaW4pZyhmb3JtYXRzKWgod2hpYyltKGgpZyhkbylmKG5vdCloKGhhKW0odiltKGUpaAotKGFuKW0oeSllKHRpdGxlKWoocGFnZSllKGFzKWcoc3VjKW0oaCwpZyhcXFRpdGxlKWgoUCltKGFnZSIpMzMwCi0zNDc3IHkobWVhbnMpaih0aGUpZih0ZXh0KWkobmVhcillKHRoZSloKG1vc3QpZyhwcm9taW5lbiltKHQpZyhhcHApcwotKGVhcmFuY2UpZihvZiloKHRoZSlnKHcpbShvcmsncylnKHRpdGxlLCloKHByZWNlZGluZylmKHRoZSkzMzAKLTM1ODcgeShiKXMoZWdpbm5pbmcpZihvZilnKHRoZSloKGIpcyhvKXMoZHkpZShvZiloKHRoZSloKHRleHQuKTMzMAotMzcyNCB5KEEpZihzZWN0aW9uKWgoXFxFbiltKHRpdGxlZClnKFhZWiIpZihtZWFucylmKGEpaChuYW1lZClnCitGdCh3aXRob3V0KTMzMCAyMzk1IHkobWFya3VwLCkzNyBiKFQpLTggYihleGluZm8pMzYgYihpbnB1dClmKGZvcm1hdCwpagorKExhVCkxNzU5IDI0MTQgeShFKTE4MTAgMjM5NSB5KFgpZShpbnB1dClmKGZvcm1hdCwpagorRmYoU0dNTClmIEZ0KG9yKWYgRmYoWE1MKWcgRnQodXNpbmcpZyhhKWcocHVibGljbHkpMzMwCisyNTA0IHkoYSltKHYpLTUgYihhaWxhYmxlKTQyIGIgRmYoRFREKXAgRnQoLClnKGFuZClkCisoc3RhbmRhcmQtY29uZm9ybWluZyloKHNpbXBsZSlnIEZmKEhUTUwpcCBGdCgsKWcoUCltKG9zdFNjcmlwdCloKG9yKWYKK0ZmKFBERilnIEZ0KGRlc2lnbmVkKTMzMCAyNjE0IHkoZm9yKWUoaCltKHVtYW4pZyhtbylzKGRpXDAxNGNhdGlvbi4pNjUKK2IoRXhhbXBsZXMpMzggYihvZiloKHRyYW5zcGFyZW4pbSh0KWYoaW1hZ2UpaShmb3JtYXRzKWUoaW5jbHVkZSlnCitGZihQTkcpcCBGdCgsKWggRmYoWCluKENGKTMzMCAyNzI0IHkgRnQoYW5kKWggRmYoSlBHKXAKK0Z0KC4pZyhPcGFxdWUpaChmb3JtYXRzKWcoaW5jbHVkZSlmKHByb3ByaWV0YXJ5KWcoZm9ybWF0cyloKHRoYXQpaChjYW4pCitmKGIpcyhlKWYocmVhZClnKGFuZCloKGVkaXRlZCkzMzAgMjgzMyB5KG9ubHkpNTQgYihiKW0oeSlmKHByb3ByaWV0YXJ5KQoraCh3KW0ob3JkKWYocHJvKXMoY2Vzc29ycywpNTkgYiBGZihTR01MKTU0IGIgRnQob3IpZgorRmYoWE1MKWggRnQoZm9yKWcod2hpYyltKGgpZih0aGUpaCBGZihEVEQpZyBGdChhbmQvb3IpMzMwCisyOTQzIHkocHJvKXMoY2Vzc2luZyk2MSBiKHRvKXMob2xzKWgoYXJlKWYobm90KWcoZ2VuZXJhbGx5KWkoYSltKHYpLTUKK2IoYWlsYWJsZSwpNzEgYihhbmQpNjAgYih0aGUpaChtYWMpbShoaW5lLWdlbmVyYXRlZClqCitGZihIVE1MKXAgRnQoLCkzMzAgMzA1MiB5KFApbShvc3RTY3JpcHQpMzEgYihvcilmIEZmKFBERiloCitGdChwcm8pcyhkdWNlZClkKGIpbSh5KWooc29tZSlmKHcpbShvcmQpZyhwcm8pcyhjZXNzb3JzKWcoZm9yKWcob3V0cHV0KQorZyhwdXJwKXMob3NlcylmKG9ubHkpLTggYiguKTMzMCAzMjAzIHkoVGhlKTM0IGIoXFxUaXRsZSloKFApbShhZ2UiKWkKKyhtZWFucywpZShmb3IpZihhKWgocHJpbiltKHRlZClmKGIpcyhvKXMob2ssKWgodGhlKWYodGl0bGUpaShwYWdlKWYKKyhpdHNlbGYsKWgocGx1cyllKHN1YyltKGgpZihmb2xsbyltKHdpbmcpMzMwIDMzMTMgeShwYWdlcykyOAorYihhcylnKGFyZSlnKG5lZWRlZClnKHRvKWcoaG9sZCwpZyhsZWdpYmx5KS04IGIoLCkzMAorYih0aGUpZShtYXRlcmlhbCloKHRoaXMpZShMaWNlbnNlKWkocmVxdWlyZXMpZSh0byloKGFwcClzKGVhcilmKGluKWgKKyh0aGUpMzMwIDM0MjIgeSh0aXRsZSlnKHBhZ2UuKTQwIGIoRiktOCBiKG9yKTI4IGIodyltKG9ya3MpZShpbilnCisoZm9ybWF0cyloKHdoaWMpbShoKWcoZG8pZihub3QpaChoYSltKHYpbShlKWgoYW4pbSh5KWUodGl0bGUpaihwYWdlKWUKKyhhcylnKHN1YyltKGgsKWcoXFxUaXRsZSloKFApbShhZ2UiKTMzMCAzNTMyIHkobWVhbnMpaih0aGUpZih0ZXh0KWkKKyhuZWFyKWUodGhlKWgobW9zdClnKHByb21pbmVuKW0odClnKGFwcClzKGVhcmFuY2UpZihvZiloKHRoZSlnKHcpbQorKG9yaydzKWcodGl0bGUsKWgocHJlY2VkaW5nKWYodGhlKTMzMCAzNjQxIHkoYilzKGVnaW5uaW5nKWYob2YpZyh0aGUpaAorKGIpcyhvKXMoZHkpZShvZiloKHRoZSloKHRleHQuKTMzMCAzNzkyIHkoVGhlKWooXFxwdWJsaXNoZXIiKWcobWVhbnMpaAorKGFuKW0oeSlmKHApcyhlcnNvbilnKG9yKWgoZW4pbSh0aXQpbSh5KWgodGhhdClmKGRpc3RyaWJ1dGVzKWYoY29waWVzKWkKKyhvZillKHRoZSloKERvKXMoY3VtZW4pbSh0KTMzMCAzOTAyIHkodG8pYyh0aGUpZyhwdWJsaWMuKTMzMAorNDA1MiB5KEEpZihzZWN0aW9uKWgoXFxFbiltKHRpdGxlZClnKFhZWiIpZihtZWFucylmKGEpaChuYW1lZClnCiAoc3VidW5pdCllKG9mKWgodGhlKWgoRG8pcyhjdW1lbiltKHQpaCh3aG9zZSllKHRpdGxlKWkoZWl0aGVyKTMzMAotMzgzMyB5KGlzKWQocHJlY2lzZWx5KWcoWFlaKWcob3IpZihjb24pbSh0YWlucylpKFhZWilmKGluKWYocGFyZW4pbQorNDE2MiB5KGlzKWQocHJlY2lzZWx5KWcoWFlaKWcob3IpZihjb24pbSh0YWlucylpKFhZWilmKGluKWYocGFyZW4pbQogKHRoZXNlcylpKGZvbGxvKW0od2luZylnKHRleHQpZyh0aGF0KWYodHJhbnNsYXRlcyloKFhZWillKGluKTMzMAotMzk0MyB5KGFub3RoZXIpZShsYW5ndWFnZS4pNDAgYihcKEhlcmUpMjYgYihYWVopZihzdGFuZHMpZihmb3IpaChhKWcKKzQyNzEgeShhbm90aGVyKWUobGFuZ3VhZ2UuKTQwIGIoXChIZXJlKTI2IGIoWFlaKWYoc3RhbmRzKWYoZm9yKWgoYSlnCiAoc3ApcyhlY2lcMDE0YylnKHNlY3Rpb24paChuYW1lKWYobWVuKW0odGlvbmVkKWgoYilzKGVsbyltKHcsKWcoc3VjKW0KLShoKTMzMCA0MDUyIHkoYXMpaShcXEFjKW0oa25vKW0od2xlZGdlbWVuKW0odHMiLCkzMyBiKFxcRGVkaWNhdGlvbnMiLCllCisoaCkzMzAgNDM4MSB5KGFzKWkoXFxBYyltKGtubyltKHdsZWRnZW1lbiltKHRzIiwpMzMgYihcXERlZGljYXRpb25zIiwpZQogKFxcRW5kb3JzZW1lbiltKHRzIiwpZShvcilmKFxcSGlzdG9yeSIuXCkpNDIgYihUKS04IGIobykyOQotYihcXFByZXNlcnYpbShlKTMzMCA0MTYyIHkodGhlKTM0IGIoVGl0bGUiKWgob2YpZShzdWMpbShoKWgoYSlnCitiKFxcUHJlc2VydiltKGUpMzMwIDQ0OTEgeSh0aGUpMzQgYihUaXRsZSIpaChvZillKHN1YyltKGgpaChhKWcKIChzZWN0aW9uKWcod2hlbilmKHkpbShvdSloKG1vKXMoZGlmeSllKHRoZSlpKERvKXMoY3VtZW4pbSh0KWgobWVhbnMpZQotKHRoYXQpaChpdClnKHJlbWFpbnMpZyhhKTMzMCA0MjcxIHkoc2VjdGlvbillKFxcRW4pbSh0aXRsZWQpZihYWVoiKWcKLShhY2NvcmRpbmcpZyh0bylnKHRoaXMpZyhkZVwwMTRuaXRpb24uKTMzMCA0NDA4IHkoVGhlKWMoRG8pcyhjdW1lbiltKHQpCisodGhhdCloKGl0KWcocmVtYWlucylnKGEpMzMwIDQ2MDAgeShzZWN0aW9uKWUoXFxFbiltKHRpdGxlZClmKFhZWiIpZworKGFjY29yZGluZylnKHRvKWcodGhpcylnKGRlXDAxNG5pdGlvbi4pMzMwIDQ3NTEgeShUaGUpYyhEbylzKGN1bWVuKW0odCkKIGkobWEpbSh5KWYoaW5jbHVkZSlmKFcpLTggYihhcnJhbiltKHQpbSh5KTMwIGIoRGlzY2xhaW1lcnMpZihuZXh0KWYodG8pCi1nKHRoZSlnKG5vdGljZSloKHdoaWMpbShoKWUoc3RhdGVzKWkodGhhdCkzMzAgNDUxOCB5KHRoaXMpMzQKK2codGhlKWcobm90aWNlKWgod2hpYyltKGgpZShzdGF0ZXMpaSh0aGF0KTMzMCA0ODYxIHkodGhpcykzNAogYihMaWNlbnNlKWcoYXBwbGllcylnKHRvKWgodGhlKWYoRG8pcyhjdW1lbiltKHQuKTUyIGIoVGhlc2UpMzMKIGIoVyktOCBiKGFycmFuKW0odCltKHkpMzYgYihEaXNjbGFpbWVycylmKGFyZSlnKGNvbnNpZGVyZWQpZSh0bykzMzAKLTQ2MjggeShiKXMoZSlrKGluY2x1ZGVkKWcoYiltKHkpZyhyZWZlcmVuY2UpaChpbilnKHRoaXMpZihMaWNlbnNlLClqCis0OTcwIHkoYilzKGUpayhpbmNsdWRlZClnKGIpbSh5KWcocmVmZXJlbmNlKWgoaW4pZyh0aGlzKWYoTGljZW5zZSwpagogKGJ1dClkKG9ubHkpaChhcylnKHJlZ2FyZHMpZihkaXNjbGFpbWluZylpKHcpbShhcnJhbiltKHRpZXM6KTMzMAotNDczNyB5KGFuKW0oeSllKG90aGVyKWcoaW1wbGljYXRpb24paSh0aGF0KWUodGhlc2UpZyhXKS04Cis1MDgwIHkoYW4pbSh5KWUob3RoZXIpZyhpbXBsaWNhdGlvbilpKHRoYXQpZSh0aGVzZSlnKFcpLTgKIGIoYXJyYW4pbSh0KW0oeSkzOSBiKERpc2NsYWltZXJzKWYobWEpbSh5KWcoaGEpbSh2KW0oZSlnKGlzKWYodiltKG9pZClnCi0oYW5kKWYoaGFzKWgobm8pMzMwIDQ4NDcgeShlXDAxM2VjdCkzMiBiKG9uKWUodGhlKWgobWVhbmluZylmKG9mKWgKLSh0aGlzKWYoTGljZW5zZS4pMTk5IDQ5ODQgeSgyLik2MSBiKFZFUkJBKS04IGIoVElNKTMxCi1iKENPUFlJTkcpMzMwIDUxMjEgeShZKS04IGIob3UpMzkgYihtYSltKHkpZihjb3ApbSh5KWgoYW5kKWUKLShkaXN0cmlidXRlKWgodGhlKWcoRG8pcyhjdW1lbiltKHQpaChpbilmKGFuKW0oeSlnKG1lZGl1bSwpaChlaXRoZXIpZwotKGNvbW1lcmNpYWxseSloKG9yKTMzMCA1MjMwIHkobm9uY29tbWVyY2lhbGx5KS04IGIoLCk0OAotYihwcm8pbSh2aWRlZCk0MiBiKHRoYXQpaCh0aGlzKWYoTGljZW5zZSwpNDcgYih0aGUpNDIKLWIoY29wKW0oeXJpZ2gpbSh0KWkobm90aWNlcywpaihhbmQpNDIgYih0aGUpaChsaWNlbnNlKTMzMAotNTM0MCB5KG5vdGljZSkzNyBiKHNhKW0oeWluZylnKHRoaXMpZShMaWNlbnNlKWkoYXBwbGllcyllKHRvKWkodGhlKWYKLShEbylzKGN1bWVuKW0odClnKGFyZSlnKHJlcHJvKXMoZHVjZWQpZShpbilpKGFsbClnKGNvcGllcywpaihhbmQpcAotZW9wIGVuZAorKGFuZClmKGhhcyloKG5vKTMzMCA1MTg5IHkoZVwwMTNlY3QpMzIgYihvbillKHRoZSloKG1lYW5pbmcpZihvZiloCisodGhpcylmKExpY2Vuc2UuKTE5OSA1MzQwIHkoMi4pNjEgYihWRVJCQSktOCBiKFRJTSkzMQorYihDT1BZSU5HKXAgZW9wIGVuZAogJSVQYWdlOiAxNDUgMTUxCiBUZVhEaWN0IGJlZ2luIDE0NSAxNTAgYm9wIDE1MCAtMTE2IGEgRnQoQXBwKXMoZW5kaXgpMjkKIGIoQzopaChHTlUpaChGKS04IGIocmVlKTMxIGIoRG8pcyhjdW1lbiltKHRhdGlvbilpKExpY2Vuc2UpMTU2MAotYigxNDUpMzMwIDI5OSB5KHRoYXQpMjcgYih5KW0ob3UpZyhhZGQpZihubyloKG90aGVyKWYoY29uZGl0aW9ucyloCi0od2hhdHNvKXMoZXYpbShlciloKHRvKWYodGhvc2UpZyhvZilnKHRoaXMpZihMaWNlbnNlLik0MAotYihZKS04IGIob3UpMjcgYihtYSltKHkpZyhub3QpZyh1c2UpMzMwIDQwOCB5KHRlYyltKGhuaWNhbCkzNQotYihtZWFzdXJlcylkKHRvKWkob2JzdHJ1Y3QpZihvcilnKGNvbiltKHRyb2wpaCh0aGUpZihyZWFkaW5nKWcob3IpZwotKGZ1cnRoZXIpZShjb3ApbSh5aW5nKWoob2YpZih0aGUpZyhjb3BpZXMpMzMwIDUxOCB5KHkpbShvdSkyNQotYihtYWspbShlKWcob3IpZyhkaXN0cmlidXRlLikzOCBiKEhvKW0odyltKGV2KW0oZXIsKTI4CitiKDE0NSkzMzAgMjk5IHkoWSktOCBiKG91KTM5IGIobWEpbSh5KWYoY29wKW0oeSloKGFuZCllKGRpc3RyaWJ1dGUpaAorKHRoZSlnKERvKXMoY3VtZW4pbSh0KWgoaW4pZihhbiltKHkpZyhtZWRpdW0sKWgoZWl0aGVyKWcoY29tbWVyY2lhbGx5KWgKKyhvcikzMzAgNDA4IHkobm9uY29tbWVyY2lhbGx5KS04IGIoLCk0OCBiKHBybyltKHZpZGVkKTQyCitiKHRoYXQpaCh0aGlzKWYoTGljZW5zZSwpNDcgYih0aGUpNDIgYihjb3ApbSh5cmlnaCltKHQpaShub3RpY2VzLClqCisoYW5kKTQyIGIodGhlKWgobGljZW5zZSkzMzAgNTE4IHkobm90aWNlKTM3IGIoc2EpbSh5aW5nKWcodGhpcyllCisoTGljZW5zZSlpKGFwcGxpZXMpZSh0bylpKHRoZSlmKERvKXMoY3VtZW4pbSh0KWcoYXJlKWcocmVwcm8pcyhkdWNlZCllCisoaW4paShhbGwpZyhjb3BpZXMsKWooYW5kKTMzMCA2MjggeSh0aGF0KTI3IGIoeSltKG91KWcoYWRkKWYobm8paAorKG90aGVyKWYoY29uZGl0aW9ucyloKHdoYXRzbylzKGV2KW0oZXIpaCh0bylmKHRob3NlKWcob2YpZyh0aGlzKWYKKyhMaWNlbnNlLik0MCBiKFkpLTggYihvdSkyNyBiKG1hKW0oeSlnKG5vdClnKHVzZSkzMzAKKzczNyB5KHRlYyltKGhuaWNhbCkzNSBiKG1lYXN1cmVzKWQodG8paShvYnN0cnVjdClmKG9yKWcoY29uKW0odHJvbCloCisodGhlKWYocmVhZGluZylnKG9yKWcoZnVydGhlcillKGNvcCltKHlpbmcpaihvZilmKHRoZSlnKGNvcGllcykzMzAKKzg0NyB5KHkpbShvdSkyNSBiKG1hayltKGUpZyhvcilnKGRpc3RyaWJ1dGUuKTM4IGIoSG8pbSh3KW0oZXYpbShlciwpMjgKIGIoeSltKG91KWQobWEpbSh5KWcoYWNjZXB0KWgoY29tcClzKGVuc2F0aW9uKWYoaW4pZihleGMpbShoYW5nZSlqKGZvcilkCi0oY29waWVzLikzMzAgNjI4IHkoSWYpMzIgYih5KW0ob3UpZyhkaXN0cmlidXRlKWcoYSloKGxhcmdlKWcoZW5vdWdoKWYKKyhjb3BpZXMuKTMzMCA5NTYgeShJZikzMiBiKHkpbShvdSlnKGRpc3RyaWJ1dGUpZyhhKWgobGFyZ2UpZyhlbm91Z2gpZgogKG4pbSh1bSltKGIpcyhlcilmKG9mKWgoY29waWVzKWgoeSltKG91KWYobSltKHVzdCloKGFsc28pZyhmb2xsbyltKHcpZwotKHRoZSlmKGNvbmRpdGlvbnMpMzMwIDczNyB5KGluKWUoc2VjdGlvbilpKDMuKTMzMCA4ODMKKyh0aGUpZihjb25kaXRpb25zKTMzMCAxMDY2IHkoaW4pZShzZWN0aW9uKWkoMy4pMzMwIDEyMDAKIHkoWSktOCBiKG91KTIxIGIobWEpbSh5KWgoYWxzbylmKGxlbmQpZyhjb3BpZXMsKWkodW5kZXIpZCh0aGUpaChzYW1lKWcKIChjb25kaXRpb25zKWcoc3RhdGVkKWgoYWIpcyhvKW0odiltKGUsKWkoYW5kKWMoeSltKG91KWgobWEpbSh5KWcKLShwdWJsaWNseSkzMzAgOTkzIHkoZGlzcGxhKW0oeSkzMSBiKGNvcGllcy4pMTk5IDExMzkKLXkoMy4pNjEgYihDT1BZSU5HKTMwIGIoSU4pZyhRVUFOVElUWSkzMzAgMTI4NSB5KElmKTI1CisocHVibGljbHkpMzMwIDEzMTAgeShkaXNwbGEpbSh5KTMxIGIoY29waWVzLikxOTkgMTQ0MworeSgzLik2MSBiKENPUFlJTkcpMzAgYihJTilnKFFVQU5USVRZKTMzMCAxNTc3IHkoSWYpMjUKIGIoeSltKG91KWcocHVibGlzaClmKHByaW4pbSh0ZWQpZyhjb3BpZXMpaShcKG9yKWcoY29waWVzKWcoaW4pZihtZWRpYSlnCiAodGhhdCloKGNvbW1vbmx5KWcoaGEpbSh2KW0oZSlnKHByaW4pbSh0ZWQpZihjbyltKHYpbShlcnNcKSlpKG9mKTMzMAotMTM5NSB5KHRoZSkzMiBiKERvKXMoY3VtZW4pbSh0LCloKG4pbSh1bSltKGIpcyhlcmluZyllKG1vcmUpaCh0aGFuKWYKKzE2ODcgeSh0aGUpMzIgYihEbylzKGN1bWVuKW0odCwpaChuKW0odW0pbShiKXMoZXJpbmcpZShtb3JlKWgodGhhbilmCiAoMTAwLClqKGFuZClkKHRoZSloKERvKXMoY3VtZW4pbSh0J3MpaChsaWNlbnNlKWYobm90aWNlKWgocmVxdWlyZXMpMzMwCi0xNTA0IHkoQ28pbSh2KW0oZXIpaShUKS04IGIoZXh0cywpMzYgYih5KW0ob3UpZihtKW0odXN0KWYoZW5jbG9zZSlpCisxNzk3IHkoQ28pbSh2KW0oZXIpaShUKS04IGIoZXh0cywpMzYgYih5KW0ob3UpZihtKW0odXN0KWYoZW5jbG9zZSlpCiAodGhlKWUoY29waWVzKWgoaW4pZihjbyltKHYpbShlcnMpaSh0aGF0KWYoY2FycnkpLTggYigsKTM2Ci1iKGNsZWFybHkpZihhbmQpZihsZWdpYmx5KS04IGIoLCkzNyBiKGFsbCkzMzAgMTYxNCB5KHRoZXNlKWooQ28pbSh2KW0KK2IoY2xlYXJseSlmKGFuZClmKGxlZ2libHkpLTggYigsKTM3IGIoYWxsKTMzMCAxOTA2IHkodGhlc2UpaihDbyltKHYpbQogKGVyKWcoVCktOCBiKGV4dHM6KTU5IGIoRiktOCBiKHJvbiltKHQtQ28pbSh2KW0oZXIpNDEKIGIoVCktOCBiKGV4dHMpNDAgYihvbilmKHRoZSlnKGZyb24pbSh0KWcoY28pbSh2KW0oZXIsKTQ0CiBiKGFuZCkzOCBiKEJhYyltKGstQ28pbSh2KW0oZXIpayhUKS04IGIoZXh0cyk0MCBiKG9uKTMzMAotMTcyNCB5KHRoZSkyOSBiKGJhYyltKGspaChjbyltKHYpbShlci4pNDIgYihCb3RoKTMwIGIoY28pbSh2KW0oZXJzKWgobSkKKzIwMTYgeSh0aGUpMjkgYihiYWMpbShrKWgoY28pbSh2KW0oZXIuKTQyIGIoQm90aCkzMCBiKGNvKW0odiltKGVycyloKG0pCiBtKHVzdCllKGFsc28paChjbGVhcmx5KWcoYW5kKWYobGVnaWJseSloKGlkZW4pbSh0aWZ5KWYoeSltKG91KWgoYXMpZgotKHRoZSloKHB1Ymxpc2hlcikzMzAgMTgzMyB5KG9mKWsodGhlc2UpaChjb3BpZXMuKTUzIGIoVGhlKTM0CisodGhlKWgocHVibGlzaGVyKTMzMCAyMTI1IHkob2Ypayh0aGVzZSloKGNvcGllcy4pNTMgYihUaGUpMzQKIGIoZnJvbiltKHQpaChjbyltKHYpbShlciloKG0pbSh1c3QpZShwcmVzZW4pbSh0KWcodGhlKWgoZnVsbClmKHRpdGxlKWkKLSh3aXRoKWQoYWxsKWoodyltKG9yZHMpZChvZilpKHRoZSlmKHRpdGxlKTMzMCAxOTQzIHkoZXF1YWxseSllCisod2l0aClkKGFsbClqKHcpbShvcmRzKWQob2YpaSh0aGUpZih0aXRsZSkzMzAgMjIzNSB5KGVxdWFsbHkpZQogKHByb21pbmVuKW0odCllKGFuZClnKHZpc2libGUuKTQzIGIoWSktOCBiKG91KTMxIGIobWEpbSh5KWcoYWRkKWcKIChvdGhlcilnKG1hdGVyaWFsKWgob24pZih0aGUpZyhjbyltKHYpbShlcnMpaChpbillKGFkZGl0aW9uLikzMzAKLTIwNTIgeShDb3ApbSh5aW5nKTM2IGIod2l0aClnKGMpbShoYW5nZXMpaChsaW1pdGVkKWcodG8pZyh0aGUpZyhjbyltKHYpCisyMzQ1IHkoQ29wKW0oeWluZykzNiBiKHdpdGgpZyhjKW0oaGFuZ2VzKWgobGltaXRlZClnKHRvKWcodGhlKWcoY28pbSh2KQogbShlcnMsKWkoYXMpZChsb25nKWgoYXMpZyh0aGV5KWYocHJlc2VydiltKGUpZyh0aGUpaCh0aXRsZSlnKG9mKWcodGhlKQotMzMwIDIxNjIgeShEbylzKGN1bWVuKW0odCloKGFuZCllKHNhdGlzZnkpaSh0aGVzZSlmKGNvbmRpdGlvbnMsKWooY2FuKWQKKzMzMCAyNDU0IHkoRG8pcyhjdW1lbiltKHQpaChhbmQpZShzYXRpc2Z5KWkodGhlc2UpZihjb25kaXRpb25zLClqKGNhbilkCiAoYilzKGUpZyh0cmVhdGVkKWgoYXMpZih2KW0oZXJiYXRpbSloKGNvcCltKHlpbmcpZyhpbilmKG90aGVyKTMzMAotMjI3MSB5KHJlc3ApcyhlY3RzLikzMzAgMjQxOCB5KElmKTMyIGIodGhlKWgocmVxdWlyZWQpZih0ZXh0cylpKGZvcillCisyNTY0IHkocmVzcClzKGVjdHMuKTMzMCAyNjk4IHkoSWYpMzIgYih0aGUpaChyZXF1aXJlZClmKHRleHRzKWkoZm9yKWUKIChlaXRoZXIpaChjbyltKHYpbShlcilpKGFyZSllKHRvKXMobylnKHYpbShvbHVtaW5vdXMpZyh0bylnKFwwMTR0KWcKLShsZWdpYmx5KS04IGIoLCkzNSBiKHkpbShvdSllKHNob3VsZClmKHB1dCkzMzAgMjUyNyB5KHRoZSloKFwwMTRyc3QpZgorKGxlZ2libHkpLTggYigsKTM1IGIoeSltKG91KWUoc2hvdWxkKWYocHV0KTMzMCAyODA3IHkodGhlKWgoXDAxNHJzdClmCiAob25lcyloKGxpc3RlZClnKFwoYXMpaChtYW4pbSh5KWYoYXMpZyhcMDE0dClnKHJlYXNvbmFibHlcKSlnKG9uKWcodGhlKQogZyhhY3R1YWwpaChjbyltKHYpbShlciwpaChhbmQpZShjb24pbSh0aW4pbSh1ZSloKHRoZSkzMzAKLTI2MzcgeShyZXN0KWQob24pbSh0bylnKGFkamFjZW4pbSh0KWgocGFnZXMuKTMzMCAyNzgzCisyOTE3IHkocmVzdClkKG9uKW0odG8pZyhhZGphY2VuKW0odCloKHBhZ2VzLikzMzAgMzA1MQogeShJZikyNyBiKHkpbShvdSlnKHB1Ymxpc2gpZShvcilpKGRpc3RyaWJ1dGUpZyhPcGFxdWUpZihjb3BpZXMpaShvZilmCiAodGhlKWgoRG8pcyhjdW1lbiltKHQpZihuKW0odW0pbShiKXMoZXJpbmcpZihtb3JlKWkodGhhbillKDEwMCwpMzMwCi0yODkyIHkoeSltKG91KWkobSltKHVzdClnKGVpdGhlciloKGluY2x1ZGUpZShhKWkobWFjKW0oaGluZS1yZWFkYWJsZSlnCiszMTYwIHkoeSltKG91KWkobSltKHVzdClnKGVpdGhlciloKGluY2x1ZGUpZShhKWkobWFjKW0oaGluZS1yZWFkYWJsZSlnCiAoVCktOCBiKHJhbnNwYXJlbiltKHQpMjggYihjb3ApbSh5KWgoYWxvbmcpZyh3aXRoKWUoZWFjKW0oaClpKE9wYXF1ZSkKLTMzMCAzMDAyIHkoY29wKW0oeSktOCBiKCwpMzggYihvcilkKHN0YXRlKWgoaW4pZihvcilnKHdpdGgpZyhlYWMpbShoKWgKKzMzMCAzMjcwIHkoY29wKW0oeSktOCBiKCwpMzggYihvcilkKHN0YXRlKWgoaW4pZihvcilnKHdpdGgpZyhlYWMpbShoKWgKIChPcGFxdWUpZShjb3ApbSh5KWkoYSlnKGNvbXB1dGVyLW5ldCltKHcpbShvcmspZyhsbylzKGNhdGlvbiloKGZyb20pZAotKHdoaWMpbShoKTMzMCAzMTEyIHkodGhlKTI0IGIoZ2VuZXJhbClpKG5ldCltKHcpbShvcmstdXNpbmcpZihwdWJsaWMpZQorKHdoaWMpbShoKTMzMCAzMzgwIHkodGhlKTI0IGIoZ2VuZXJhbClpKG5ldCltKHcpbShvcmstdXNpbmcpZihwdWJsaWMpZQogKGhhcyloKGFjY2VzcylpKHRvKWYoZG8pbSh3bmxvYWQpZih1c2luZylnKHB1YmxpYy1zdGFuZGFyZClmKG5ldCltKHcpbQotKG9yaykzMzAgMzIyMSB5KHByb3RvKXMoY29scyk0MCBiKGEpZihjb21wbGV0ZSloKFQpLTgKKyhvcmspMzMwIDM0ODkgeShwcm90bylzKGNvbHMpNDAgYihhKWYoY29tcGxldGUpaChUKS04CiBiKHJhbnNwYXJlbiltKHQpMzkgYihjb3ApbSh5KWcob2YpZyh0aGUpaChEbylzKGN1bWVuKW0odCwpaShmcmVlKWQob2YpZwotKGFkZGVkKWYobWF0ZXJpYWwuKTY3IGIoSWYpMzMwIDMzMzEgeSh5KW0ob3UpMzkgYih1c2UpZyh0aGUpZyhsYXR0ZXIpaAorKGFkZGVkKWYobWF0ZXJpYWwuKTY3IGIoSWYpMzMwIDM1OTkgeSh5KW0ob3UpMzkgYih1c2UpZyh0aGUpZyhsYXR0ZXIpaAogKG9wdGlvbiwpaCh5KW0ob3UpZihtKW0odXN0KWUodGFrKW0oZSlqKHJlYXNvbmFibHkpZShwcnVkZW4pbSh0KWUKLShzdGVwcywpayh3aGVuKWQoeSltKG91KWgoYilzKGVnaW4pMzMwIDM0NDAgeShkaXN0cmlidXRpb24pZihvZilnCisoc3RlcHMsKWsod2hlbilkKHkpbShvdSloKGIpcyhlZ2luKTMzMCAzNzA4IHkoZGlzdHJpYnV0aW9uKWYob2YpZwogKE9wYXF1ZSlnKGNvcGllcyloKGluKWUocXVhbiltKHRpdCltKHkpLTggYigsKTQzIGIodG8pMzgKIGIoZW5zdXJlKWcodGhhdCloKHRoaXMpZihUKS04IGIocmFuc3BhcmVuKW0odCkzOCBiKGNvcCltKHkpaCh3aWxsKTMzMAotMzU1MCB5KHJlbWFpbikzMCBiKHRoKW0odXMpZyhhY2Nlc3NpYmxlKWkoYXQpZih0aGUpZihzdGF0ZWQpaChsbylzCiszODE4IHkocmVtYWluKTMwIGIodGgpbSh1cylnKGFjY2Vzc2libGUpaShhdClmKHRoZSlmKHN0YXRlZCloKGxvKXMKIChjYXRpb24paCh1biltKHRpbCllKGF0KWgobGVhc3QpaChvbmUpZSh5KW0oZWFyKWgoYWZ0ZXIpZyh0aGUpZihsYXN0KWgKLSh0aW1lKTMzMCAzNjYwIHkoeSltKG91KTM3IGIoZGlzdHJpYnV0ZSlmKGFuKWgoT3BhcXVlKWYoY29wKW0oeSlpCisodGltZSkzMzAgMzkyNyB5KHkpbShvdSkzNyBiKGRpc3RyaWJ1dGUpZihhbiloKE9wYXF1ZSlmKGNvcCltKHkpaQogKFwoZGlyZWN0bHkpZyhvcillKHRocm91Z2gpZyh5KW0ob3VyKWgoYWdlbiltKHRzKWgob3IpZihyZXRhaWxlcnNcKSloCi0ob2YpZih0aGF0KTMzMCAzNzY5IHkoZWRpdGlvbikzMSBiKHRvKWcodGhlKWcocHVibGljLikzMzAKLTM5MTUgeShJdClrKGlzKWYocmVxdWVzdGVkLClpKGJ1dCllKG5vdCloKHJlcXVpcmVkLClnKHRoYXQpZyh5KW0ob3UpZworKG9mKWYodGhhdCkzMzAgNDAzNyB5KGVkaXRpb24pMzEgYih0bylnKHRoZSlnKHB1YmxpYy4pMzMwCis0MTcxIHkoSXQpayhpcylmKHJlcXVlc3RlZCwpaShidXQpZShub3QpaChyZXF1aXJlZCwpZyh0aGF0KWcoeSltKG91KWcKIChjb24pbSh0YWN0KWgodGhlKWYoYXV0aG9ycylmKG9mKWgodGhlKWcoRG8pcyhjdW1lbiltKHQpZyh3KW0oZWxsKTMzMAotNDAyNSB5KGIpcyhlZm9yZSkyOCBiKHJlZGlzdHJpYnV0aW5nKWcoYW4pbSh5KWgobGFyZ2UpaChuKW0odW0pbShiKXMKKzQyODEgeShiKXMoZWZvcmUpMjggYihyZWRpc3RyaWJ1dGluZylnKGFuKW0oeSloKGxhcmdlKWgobiltKHVtKW0oYilzCiAoZXIpZChvZilpKGNvcGllcywpaCh0bylmKGdpdiltKGUpaCh0aGVtKWYoYSlnKGMpbShoYW5jZSloKHRvKWYocHJvKW0KLSh2aWRlKWcoeSltKG91KTMzMCA0MTM0IHkod2l0aCloKGFuKWcodXApcyhkYXRlZClmKHYpbShlcnNpb24paShvZilnCi0odGhlKWYoRG8pcyhjdW1lbiltKHQuKTE5OSA0MjgxIHkoNC4pNjEgYihNT0RJRklDQSktOAotYihUSU9OUykzMzAgNDQyNyB5KFkpZyhvdSkyNiBiKG1hKW0oeSlnKGNvcCltKHkpZyhhbmQpZihkaXN0cmlidXRlKWcoYSkKKyh2aWRlKWcoeSltKG91KTMzMCA0MzkwIHkod2l0aCloKGFuKWcodXApcyhkYXRlZClmKHYpbShlcnNpb24paShvZilnCisodGhlKWYoRG8pcyhjdW1lbiltKHQuKTE5OSA0NTI0IHkoNC4pNjEgYihNT0RJRklDQSktOAorYihUSU9OUykzMzAgNDY1OCB5KFkpZyhvdSkyNiBiKG1hKW0oeSlnKGNvcCltKHkpZyhhbmQpZihkaXN0cmlidXRlKWcoYSkKIGgoTW8pcyhkaVwwMTRlZClmKFYpLTggYihlcnNpb24pMjYgYihvZilnKHRoZSlnKERvKXMoY3VtZW4pbSh0KWcodW5kZXIpCi1lKHRoZSloKGNvbmRpdGlvbnMpMzMwIDQ1MzYgeShvZiljKHNlY3Rpb25zKWgoMilnKGFuZCllKDMpaChhYilzKG8pbSh2KQorZSh0aGUpaChjb25kaXRpb25zKTMzMCA0NzY4IHkob2YpYyhzZWN0aW9ucyloKDIpZyhhbmQpZSgzKWgoYWIpcyhvKW0odikKIG0oZSwpayhwcm8pbSh2aWRlZCkyMCBiKHRoYXQpaSh5KW0ob3UpZihyZWxlYXNlKWkodGhlKWUoTW8pcyhkaVwwMTRlZClmCi0oViktOCBiKGVyc2lvbikyMiBiKHVuZGVyKWQocHJlY2lzZWx5KTMzMCA0NjQ2IHkodGhpcykyOQorKFYpLTggYihlcnNpb24pMjIgYih1bmRlcilkKHByZWNpc2VseSkzMzAgNDg3NyB5KHRoaXMpMjkKIGIoTGljZW5zZSwpaCh3aXRoKWYodGhlKWcoTW8pcyhkaVwwMTRlZClmKFYpLTggYihlcnNpb24pMzAKIGIoXDAxNGxsaW5nKWYodGhlKWcocm9sZSloKG9mKWYodGhlKWcoRG8pcyhjdW1lbiltKHQsKWgodGgpbSh1cylmCi0obGljZW5zaW5nKTMzMCA0NzU1IHkoZGlzdHJpYnV0aW9uKWsoYW5kKWgobW8pcyhkaVwwMTRjYXRpb24pZyhvZiloCisobGljZW5zaW5nKTMzMCA0OTg3IHkoZGlzdHJpYnV0aW9uKWsoYW5kKWgobW8pcyhkaVwwMTRjYXRpb24pZyhvZiloCiAodGhlKWYoTW8pcyhkaVwwMTRlZClmKFYpLTggYihlcnNpb24pMzUgYih0bylnKHdobylzKGV2KW0oZXIpZihwKXMKLShvc3Nlc3NlcylmKGEpaShjb3ApbSh5KWcob2YpMzMwIDQ4NjUgeShpdC4pNDEgYihJbikzMAorKG9zc2Vzc2VzKWYoYSlpKGNvcCltKHkpZyhvZikzMzAgNTA5NiB5KGl0Lik0MSBiKEluKTMwCiBiKGFkZGl0aW9uLCloKHkpbShvdSlmKG0pbSh1c3QpaChkbylmKHRoZXNlKWgodGhpbmdzKWYoaW4pZyh0aGUpaChNbylzCi0oZGlcMDE0ZWQpZShWKS04IGIoZXJzaW9uOikzNTcgNTAxMSB5KEEuKTYwIGIoVXNlKTMzCisoZGlcMDE0ZWQpZShWKS04IGIoZXJzaW9uOikzNTcgNTIzMCB5KEEuKTYwIGIoVXNlKTMzCiBiKGluKWYodGhlKWgoVGl0bGUpaChQKW0oYWdlKWcoXChhbmQpZihvbilmKHRoZSloKGNvKW0odiltKGVycywpaShpZillCiAoYW4pbSh5XCkpZyhhKWcodGl0bGUpaChkaXN0aW5jdClmKGZyb20pZyh0aGF0KWcob2YpZyh0aGUpNTEwCi01MTIxIHkoRG8pcyhjdW1lbiltKHQsKWooYW5kKWQoZnJvbSlnKHRob3NlKWkob2YpZihwcmV2aW91cylmKHYpbQorNTM0MCB5KERvKXMoY3VtZW4pbSh0LClqKGFuZClkKGZyb20pZyh0aG9zZSlpKG9mKWYocHJldmlvdXMpZih2KW0KIChlcnNpb25zKWgoXCh3aGljKW0oaClnKHNob3VsZCwpZyhpZilnKHRoZXJlKWcodyltKGVyZSlnKGFuKW0oeSktOAotYigsKTUxMCA1MjMwIHkoYilzKGUpMzEgYihsaXN0ZWQpaChpbilmKHRoZSlnKEhpc3RvcnkpaChzZWN0aW9uKWcob2YpZwotKHRoZSlmKERvKXMoY3VtZW4pbSh0XCkuKTQ1IGIoWSktOCBiKG91KTMyIGIobWEpbSh5KWcodXNlKWYodGhlKWcoc2FtZSkKLWgodGl0bGUpaChhcyk1MTAgNTM0MCB5KGEpZShwcmV2aW91cylmKHYpbShlcnNpb24pZyhpZiloKHRoZSlmCi0ob3JpZ2luYWwpaShwdWJsaXNoZXIpZChvZiloKHRoYXQpaCh2KW0oZXJzaW9uKWcoZ2l2KW0oZXMpaChwKXMKLShlcm1pc3Npb24uKXAgZW9wIGVuZAorYigsKXAgZW9wIGVuZAogJSVQYWdlOiAxNDYgMTUyCiBUZVhEaWN0IGJlZ2luIDE0NiAxNTEgYm9wIDE1MCAtMTE2IGEgRnQoMTQ2KTI1MjcgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkzNjAgMjk5IHkoQi4pNjEgYihMaXN0KTMxIGIob24pZih0aGUpaChUaXRsZSlnCi0oUCltKGFnZSwpaShhcylkKGF1dGhvcnMsKWgob25lKWcob3IpZihtb3JlKWgocClzKGVyc29ucyllKG9yKWgoZW4pbQotKHRpdGllcylqKHJlc3ApcyhvbnNpYmxlKWMoZm9yKTUxMCA0MDggeShhdXRob3JzaGlwKWMob2YpaCh0aGUpaChtbylzCi0oZGlcMDE0Y2F0aW9ucylmKGluKWcodGhlKWcoTW8pcyhkaVwwMTRlZClmKFYpLTggYihlcnNpb24sKTI4Ci1iKHRvZ2V0aGVyKWcod2l0aClkKGF0KWkobGVhc3QpaChcMDE0diltKGUpNTEwIDUxOCB5KG9mKWModGhlKWcKLShwcmluY2lwYWwpZyhhdXRob3JzKWYob2YpaSh0aGUpZihEbylzKGN1bWVuKW0odClnKFwoYWxsKWgob2YpZyhpdHMpZgotKHByaW5jaXBhbClnKGF1dGhvcnMsKWgoaWYpZihpdClnKGhhcylnKGZldyltKGVyKTUxMAotNjI4IHkodGhhbikzMCBiKFwwMTR2KW0oZVwpLCloKHVubGVzcylmKHRoZXkpaChyZWxlYXNlKWcoeSltKG91KWcoZnJvbSkKLWYodGhpcylnKHJlcXVpcmVtZW4pbSh0LikzNTkgNzY2IHkoQy4pNjAgYihTdGF0ZSkzMiBiKG9uKWUodGhlKWgoVGl0bGUpCi1oKHBhZ2UpZih0aGUpZyhuYW1lKWcob2YpZyh0aGUpZyhwdWJsaXNoZXIpZShvZilpKHRoZSlnKE1vKXMoZGlcMDE0ZWQpZgotKFYpLTggYihlcnNpb24sKTMyIGIoYXMpZih0aGUpNTEwIDg3NiB5KHB1Ymxpc2hlci4pMzU1Ci0xMDE1IHkoRC4pNjEgYihQcmVzZXJ2KW0oZSkzMSBiKGFsbClnKHRoZSlnKGNvcCltKHlyaWdoKW0odCloKG5vdGljZXMpZgotKG9mKWcodGhlKWYoRG8pcyhjdW1lbiltKHQuKTM2MyAxMTU0IHkoRS4pNjAgYihBZGQpMzAKLWIoYW4paShhcHByb3ByaWF0ZSlmKGNvcCltKHlyaWdoKW0odClpKG5vdGljZSlmKGZvcilnKHkpbShvdXIpZihtbylzCi0oZGlcMDE0Y2F0aW9ucylnKGFkamFjZW4pbSh0KWkodG8pZih0aGUpZyhvdGhlcik1MTAgMTI2MwoteShjb3ApbSh5cmlnaCltKHQpZyhub3RpY2VzLikzNjUgMTQwMiB5KEYuKTYxIGIoSW5jbHVkZSwpMjgKLWIoaW1tZWRpYXRlbHkpaChhZnRlcilmKHRoZSloKGNvcCltKHlyaWdoKW0odClnKG5vdGljZXMsKWgoYSllKGxpY2Vuc2UpCi1oKG5vdGljZSlnKGdpdmluZylnKHRoZSlmKHB1YmxpYyk1MTAgMTUxMiB5KHApcyhlcm1pc3Npb24pMjMKLWIodG8paih1c2UpZSh0aGUpZyhNbylzKGRpXDAxNGVkKWcoViktOCBiKGVyc2lvbikyNSBiKHVuZGVyKWUodGhlKWkKLSh0ZXJtcylmKG9mKWgodGhpcylmKExpY2Vuc2UsKWooaW4pZCh0aGUpZyhmb3JtKTUxMCAxNjIxCi15KHNobyltKHduKTMwIGIoaW4pZyh0aGUpZyhBZGRlbmR1bSlmKGIpcyhlbG8pbSh3LikzNTMKLTE3NjAgeShHLik2MSBiKFByZXNlcnYpbShlKTIzIGIoaW4pZyh0aGF0KWcobGljZW5zZSloKG5vdGljZSlnKHRoZSlmCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk1MTAgMjk5IHkoYilzKGUpZyhsaXN0ZWQpaChpbilmKHRoZSlnKEhpc3RvcnkpaAorKHNlY3Rpb24pZyhvZilnKHRoZSlmKERvKXMoY3VtZW4pbSh0XCkuKTQ1IGIoWSktOCBiKG91KTMyCitiKG1hKW0oeSlnKHVzZSlmKHRoZSlnKHNhbWUpaCh0aXRsZSloKGFzKTUxMCA0MDggeShhKWUocHJldmlvdXMpZih2KW0KKyhlcnNpb24pZyhpZiloKHRoZSlmKG9yaWdpbmFsKWkocHVibGlzaGVyKWQob2YpaCh0aGF0KWgodiltKGVyc2lvbilnCisoZ2l2KW0oZXMpaChwKXMoZXJtaXNzaW9uLikzNjAgNTQ1IHkoQi4pNjEgYihMaXN0KTMxCitiKG9uKWYodGhlKWgoVGl0bGUpZyhQKW0oYWdlLClpKGFzKWQoYXV0aG9ycywpaChvbmUpZyhvcilmKG1vcmUpaChwKXMKKyhlcnNvbnMpZShvciloKGVuKW0odGl0aWVzKWoocmVzcClzKG9uc2libGUpYyhmb3IpNTEwCis2NTUgeShhdXRob3JzaGlwKWMob2YpaCh0aGUpaChtbylzKGRpXDAxNGNhdGlvbnMpZihpbilnKHRoZSlnKE1vKXMKKyhkaVwwMTRlZClmKFYpLTggYihlcnNpb24sKTI4IGIodG9nZXRoZXIpZyh3aXRoKWQoYXQpaShsZWFzdCloKFwwMTR2KW0KKyhlKTUxMCA3NjUgeShvZiljKHRoZSlnKHByaW5jaXBhbClnKGF1dGhvcnMpZihvZilpKHRoZSlmKERvKXMoY3VtZW4pbQorKHQpZyhcKGFsbCloKG9mKWcoaXRzKWYocHJpbmNpcGFsKWcoYXV0aG9ycywpaChpZilmKGl0KWcoaGFzKWcoZmV3KW0KKyhlcik1MTAgODc0IHkodGhhbikzMCBiKFwwMTR2KW0oZVwpLCloKHVubGVzcylmKHRoZXkpaChyZWxlYXNlKWcoeSltCisob3UpZyhmcm9tKWYodGhpcylnKHJlcXVpcmVtZW4pbSh0LikzNTkgMTAxMSB5KEMuKTYwCitiKFN0YXRlKTMyIGIob24pZSh0aGUpaChUaXRsZSloKHBhZ2UpZih0aGUpZyhuYW1lKWcob2YpZyh0aGUpZworKHB1Ymxpc2hlcillKG9mKWkodGhlKWcoTW8pcyhkaVwwMTRlZClmKFYpLTggYihlcnNpb24sKTMyCitiKGFzKWYodGhlKTUxMCAxMTIxIHkocHVibGlzaGVyLikzNTUgMTI1OCB5KEQuKTYxIGIoUHJlc2VydiltKGUpMzEKK2IoYWxsKWcodGhlKWcoY29wKW0oeXJpZ2gpbSh0KWgobm90aWNlcylmKG9mKWcodGhlKWYoRG8pcyhjdW1lbiltKHQuKQorMzYzIDEzOTUgeShFLik2MCBiKEFkZCkzMCBiKGFuKWkoYXBwcm9wcmlhdGUpZihjb3ApbSh5cmlnaCltKHQpaQorKG5vdGljZSlmKGZvcilnKHkpbShvdXIpZihtbylzKGRpXDAxNGNhdGlvbnMpZyhhZGphY2VuKW0odClpKHRvKWYodGhlKWcKKyhvdGhlcik1MTAgMTUwNCB5KGNvcCltKHlyaWdoKW0odClnKG5vdGljZXMuKTM2NSAxNjQxCit5KEYuKTYxIGIoSW5jbHVkZSwpMjggYihpbW1lZGlhdGVseSloKGFmdGVyKWYodGhlKWgoY29wKW0oeXJpZ2gpbSh0KWcKKyhub3RpY2VzLCloKGEpZShsaWNlbnNlKWgobm90aWNlKWcoZ2l2aW5nKWcodGhlKWYocHVibGljKTUxMAorMTc1MSB5KHApcyhlcm1pc3Npb24pMjMgYih0bylqKHVzZSllKHRoZSlnKE1vKXMoZGlcMDE0ZWQpZyhWKS04CitiKGVyc2lvbikyNSBiKHVuZGVyKWUodGhlKWkodGVybXMpZihvZiloKHRoaXMpZihMaWNlbnNlLClqKGluKWQodGhlKWcKKyhmb3JtKTUxMCAxODYxIHkoc2hvKW0od24pMzAgYihpbilnKHRoZSlnKEFkZGVuZHVtKWYoYilzKGVsbyltKHcuKTM1MworMTk5OCB5KEcuKTYxIGIoUHJlc2VydiltKGUpMjMgYihpbilnKHRoYXQpZyhsaWNlbnNlKWgobm90aWNlKWcodGhlKWYKIChmdWxsKWcobGlzdHMpZyhvZilnKEluKW0odiktNSBiKGFyaWFuKW0odCkyMyBiKFNlY3Rpb25zKWgoYW5kKWUKLShyZXF1aXJlZClnKENvKW0odiltKGVyKTUxMCAxODcwIHkoVCktOCBiKGV4dHMpMzEgYihnaXYpbShlbilnKGluKWYKLSh0aGUpaChEbylzKGN1bWVuKW0odCdzKWcobGljZW5zZSloKG5vdGljZS4pMzU3IDIwMDgKKyhyZXF1aXJlZClnKENvKW0odiltKGVyKTUxMCAyMTA3IHkoVCktOCBiKGV4dHMpMzEgYihnaXYpbShlbilnKGluKWYKKyh0aGUpaChEbylzKGN1bWVuKW0odCdzKWcobGljZW5zZSloKG5vdGljZS4pMzU3IDIyNDQKIHkoSC4pNjAgYihJbmNsdWRlKTMwIGIoYW4pZyh1bmFsdGVyZWQpZyhjb3ApbSh5KWgob2YpZyh0aGlzKWYoTGljZW5zZS4pCi0zOTIgMjE0NyB5KEkuKTYwIGIoUHJlc2VydiltKGUpMzMgYih0aGUpZihzZWN0aW9uKWgoRW4pbSh0aXRsZWQpZworMzkyIDIzODEgeShJLik2MCBiKFByZXNlcnYpbShlKTMzIGIodGhlKWYoc2VjdGlvbiloKEVuKW0odGl0bGVkKWcKIChcXEhpc3RvcnkiLCloKFByZXNlcnYpbShlKWYoaXRzKWYoVGl0bGUsKWkoYW5kKWQoYWRkKWgodG8paChpdClmKGFuKWcKLShpdGVtKTUxMCAyMjU3IHkoc3RhdGluZylkKGF0KWcobGVhc3QpZyh0aGUpZyh0aXRsZSwpaCh5KW0oZWFyLClnKG5ldylkCisoaXRlbSk1MTAgMjQ5MSB5KHN0YXRpbmcpZChhdClnKGxlYXN0KWcodGhlKWcodGl0bGUsKWgoeSltKGVhciwpZyhuZXcpZAogKGF1dGhvcnMsKWkoYW5kKWUocHVibGlzaGVyKWYob2Ypaih0aGUpZihNbylzKGRpXDAxNGVkKWYoViktOAotYihlcnNpb24pNTEwIDIzNjYgeShhcykzMiBiKGdpdiltKGVuKWcob24pZih0aGUpaChUaXRsZSlnKFApbShhZ2UuKTQ1CitiKGVyc2lvbik1MTAgMjYwMCB5KGFzKTMyIGIoZ2l2KW0oZW4pZyhvbilmKHRoZSloKFRpdGxlKWcoUCltKGFnZS4pNDUKIGIoSWYpMzEgYih0aGVyZSloKGlzKWYobm8pZyhzZWN0aW9uKWkoRW4pbSh0aXRsZWQpZihcXEhpc3RvcnkiKWgoaW4pZQotKHRoZSlnKERvKXMoY3UtKTUxMCAyNDc2IHkobWVuKW0odCwpMzcgYihjcmVhdGUpZihvbmUpZihzdGF0aW5nKWgodGhlKWYKKyh0aGUpZyhEbylzKGN1LSk1MTAgMjcxMCB5KG1lbiltKHQsKTM3IGIoY3JlYXRlKWYob25lKWYoc3RhdGluZyloKHRoZSlmCiAodGl0bGUsKWkoeSltKGVhciwpZyhhdXRob3JzLClmKGFuZCllKHB1Ymxpc2hlcilmKG9mKWkodGhlKWcoRG8pcwotKGN1bWVuKW0odCk1MTAgMjU4NiB5KGFzKWgoZ2l2KW0oZW4paChvbilmKGl0cyloKFRpdGxlKWcoUCltKGFnZSwpaQorKGN1bWVuKW0odCk1MTAgMjgxOSB5KGFzKWgoZ2l2KW0oZW4paChvbilmKGl0cyloKFRpdGxlKWcoUCltKGFnZSwpaQogKHRoZW4pZChhZGQpZyhhbilnKGl0ZW0pZyhkZXNjcmliaW5nKWcodGhlKWcoTW8pcyhkaVwwMTRlZClnKFYpLTgKLWIoZXJzaW9uKTM3IGIoYXMpNTEwIDI2OTUgeShzdGF0ZWQpMzEgYihpbilmKHRoZSloKHByZXZpb3VzKWYoc2VuKW0KLSh0ZW5jZS4pMzc4IDI4MzQgeShKLik2MCBiKFByZXNlcnYpbShlKTMzIGIodGhlKWcobmV0KW0odyltKG9yaylnKGxvKXMKK2IoZXJzaW9uKTM3IGIoYXMpNTEwIDI5MjkgeShzdGF0ZWQpMzEgYihpbilmKHRoZSloKHByZXZpb3VzKWYoc2VuKW0KKyh0ZW5jZS4pMzc4IDMwNjYgeShKLik2MCBiKFByZXNlcnYpbShlKTMzIGIodGhlKWcobmV0KW0odyltKG9yaylnKGxvKXMKIChjYXRpb24sKWkoaWYpZChhbiltKHkpLTggYigsKTM0IGIoZ2l2KW0oZW4pZihpbilnKHRoZSlmKERvKXMoY3VtZW4pbQotKHQpaChmb3IpZyhwdWJsaWMpZShhY2Nlc3Mpaih0byk1MTAgMjk0NCB5KGEpZShUKS04IGIocmFuc3BhcmVuKW0odCkzMAorKHQpaChmb3IpZyhwdWJsaWMpZShhY2Nlc3Mpaih0byk1MTAgMzE3NiB5KGEpZShUKS04IGIocmFuc3BhcmVuKW0odCkzMAogYihjb3ApbSh5KWkob2YpZyh0aGUpZihEbylzKGN1bWVuKW0odCwpaChhbmQpZihsaWspbShld2lzZSloKHRoZSlnKG5ldCkKLW0odyltKG9yaylnKGxvKXMoY2F0aW9ucylnKGdpdiltKGVuKWcoaW4pNTEwIDMwNTMgeSh0aGUpZyhEbylzKGN1bWVuKW0KK20odyltKG9yaylnKGxvKXMoY2F0aW9ucylnKGdpdiltKGVuKWcoaW4pNTEwIDMyODUgeSh0aGUpZyhEbylzKGN1bWVuKW0KICh0KWcoZm9yKWcocHJldmlvdXMpZih2KW0oZXJzaW9ucyloKGl0KWcodyltKGFzKWcoYmFzZWQpZihvbi4pNDUKLWIoVGhlc2UpMzEgYihtYSltKHkpaChiKXMoZSlmKHBsYWNlZCloKGluKWcodGhlKTUxMCAzMTYzCitiKFRoZXNlKTMxIGIobWEpbSh5KWgoYilzKGUpZihwbGFjZWQpaChpbilnKHRoZSk1MTAgMzM5NQogeShcXEhpc3RvcnkiKTI3IGIoc2VjdGlvbi4pNDAgYihZKS04IGIob3UpMjUgYihtYSltKHkpaChvbWl0KWcoYSlmKG5ldCkKIG0odyltKG9yayloKGxvKXMoY2F0aW9uKWcoZm9yKWYoYSloKHcpbShvcmspZih0aGF0KWcodyltKGFzKWgKLShwdWJsaXNoZWQpNTEwIDMyNzIgeShhdCkzNiBiKGxlYXN0KWgoZm91cillKHkpbShlYXJzKWkoYilzKGVmb3JlKWUKKyhwdWJsaXNoZWQpNTEwIDM1MDQgeShhdCkzNiBiKGxlYXN0KWgoZm91cillKHkpbShlYXJzKWkoYilzKGVmb3JlKWUKICh0aGUpaChEbylzKGN1bWVuKW0odCloKGl0c2VsZiwpaChvcilkKGlmKWgodGhlKWcob3JpZ2luYWwpaChwdWJsaXNoZXIpCi1kKG9mKWkodGhlKTUxMCAzMzgyIHkodiltKGVyc2lvbikzMSBiKGl0KWcocmVmZXJzKWYodG8paChnaXYpbShlcyloKHApcwotKGVybWlzc2lvbi4pMzU0IDM1MjEgeShLLik2MCBiKEYpLTggYihvcikyNCBiKGFuKW0oeSloKHNlY3Rpb24pZihFbiltCitkKG9mKWkodGhlKTUxMCAzNjE0IHkodiltKGVyc2lvbikzMSBiKGl0KWcocmVmZXJzKWYodG8paChnaXYpbShlcyloKHApcworKGVybWlzc2lvbi4pMzU0IDM3NTEgeShLLik2MCBiKEYpLTggYihvcikyNCBiKGFuKW0oeSloKHNlY3Rpb24pZihFbiltCiAodGl0bGVkKWgoXFxBYyltKGtubyltKHdsZWRnZW1lbiltKHRzIilpKG9yKWQoXFxEZWRpY2F0aW9ucyIsKWsKLShQcmVzZXJ2KW0oZSljKHRoZSlnKFRpdGxlKTUxMCAzNjMwIHkob2Ypaih0aGUpZihzZWN0aW9uLClqKGFuZClkCisoUHJlc2VydiltKGUpYyh0aGUpZyhUaXRsZSk1MTAgMzg2MSB5KG9mKWoodGhlKWYoc2VjdGlvbiwpaihhbmQpZAogKHByZXNlcnYpbShlKWgoaW4pZih0aGUpaChzZWN0aW9uKWcoYWxsKWgodGhlKWUoc3Vic3RhbmNlKWgoYW5kKWYodG9uZSkKLWgob2YpZihlYWMpbShoKWkob2YpZih0aGUpNTEwIDM3NDAgeShjb24pbSh0cmlidXRvcilrKGFjKW0oa25vKW0KK2gob2YpZihlYWMpbShoKWkob2YpZih0aGUpNTEwIDM5NzAgeShjb24pbSh0cmlidXRvcilrKGFjKW0oa25vKW0KICh3bGVkZ2VtZW4pbSh0cylpKGFuZC9vcilkKGRlZGljYXRpb25zKWgoZ2l2KW0oZW4paCh0aGVyZWluLikzNjgKLTM4NzkgeShMLik2MCBiKFByZXNlcnYpbShlKTM2IGIoYWxsKWcodGhlKWcoSW4pbSh2KS01Cis0MTA3IHkoTC4pNjAgYihQcmVzZXJ2KW0oZSkzNiBiKGFsbClnKHRoZSlnKEluKW0odiktNQogYihhcmlhbiltKHQpMzYgYihTZWN0aW9ucylnKG9mKWYodGhlKWgoRG8pcyhjdW1lbiltKHQsKWgodW5hbHRlcmVkKWYKLShpbilmKHRoZWlyKWcodGV4dClpKGFuZCk1MTAgMzk4OCB5KGluKWYodGhlaXIpZyh0aXRsZXMuKTU4CisoaW4pZih0aGVpcilnKHRleHQpaShhbmQpNTEwIDQyMTcgeShpbilmKHRoZWlyKWcodGl0bGVzLik1OAogYihTZWN0aW9uKTM3IGIobiltKHVtKW0oYilzKGVycylkKG9yKWkodGhlKWcoZXF1aXYpLTUKIGIoYWxlbiltKHQpMzggYihhcmUpZShub3QpZyhjb25zaWRlcmVkKWcocGFydClnKG9mKWcodGhlKTUxMAotNDA5OCB5KHNlY3Rpb24pYyh0aXRsZXMuKTM0MSA0MjM3IHkoTS4pNjEgYihEZWxldGUpMzMKKzQzMjYgeShzZWN0aW9uKWModGl0bGVzLikzNDEgNDQ2MyB5KE0uKTYxIGIoRGVsZXRlKTMzCiBiKGFuKW0oeSllKHNlY3Rpb24paChFbiltKHRpdGxlZClmKFxcRW5kb3JzZW1lbiltKHRzIi4pNDIKIGIoU3VjKW0oaCkzMCBiKGEpaShzZWN0aW9uKWYobWEpbSh5KWgobm90KWYoYilzKGUpZihpbmNsdWRlZCk1MTAKLTQzNDYgeShpbilnKHRoZSloKE1vKXMoZGlcMDE0ZWQpZShWKS04IGIoZXJzaW9uLikzNTcKLTQ0ODUgeShOLik2MCBiKERvKTI5IGIobm90KWcocmV0aXRsZSloKGFuKW0oeSllKGV4aXN0aW5nKWkoc2VjdGlvbilmCis0NTczIHkoaW4pZyh0aGUpaChNbylzKGRpXDAxNGVkKWUoViktOCBiKGVyc2lvbi4pMzU3Cis0NzEwIHkoTi4pNjAgYihEbykyOSBiKG5vdClnKHJldGl0bGUpaChhbiltKHkpZShleGlzdGluZylpKHNlY3Rpb24pZgogKHRvKWcoYilzKGUpZihFbiltKHRpdGxlZCloKFxcRW5kb3JzZW1lbiltKHRzIilnKG9yKWYodG8paChjb25cMDE1aWN0KWcKLShpbik1MTAgNDU5NSB5KHRpdGxlKWood2l0aCllKGFuKW0oeSloKEluKW0odiktNSBiKGFyaWFuKW0odCkzMQotYihTZWN0aW9uLikzNTQgNDczNCB5KE8uKTYwIGIoUHJlc2VydiltKGUpMzEgYihhbiltKHkpZyhXKS04Ci1iKGFycmFuKW0odCltKHkpMzIgYihEaXNjbGFpbWVycy4pMzMwIDQ5MDIgeShJZiloKHRoZSlnKE1vKXMoZGlcMDE0ZWQpZworKGluKTUxMCA0ODE5IHkodGl0bGUpaih3aXRoKWUoYW4pbSh5KWgoSW4pbSh2KS01IGIoYXJpYW4pbSh0KTMxCitiKFNlY3Rpb24uKTM1NCA0OTU2IHkoTy4pNjAgYihQcmVzZXJ2KW0oZSkzMSBiKGFuKW0oeSlnKFcpLTgKK2IoYXJyYW4pbSh0KW0oeSkzMiBiKERpc2NsYWltZXJzLikzMzAgNTEyMSB5KElmKWgodGhlKWcoTW8pcyhkaVwwMTRlZClnCiAoViktOCBiKGVyc2lvbikzNCBiKGluY2x1ZGVzKWYobmV3KWcoZnJvbiltKHQtbWF0dGVyKWkoc2VjdGlvbnMpZihvcilmCi0oYXBwKXMoZW5kaWNlcylnKHRoYXQpaChxdWFsaWZ5KTMzMCA1MDExIHkoYXMpMjggYihTZWNvbmRhcnkpZworKGFwcClzKGVuZGljZXMpZyh0aGF0KWgocXVhbGlmeSkzMzAgNTIzMCB5KGFzKTI4IGIoU2Vjb25kYXJ5KWcKIChTZWN0aW9ucylnKGFuZClmKGNvbiltKHRhaW4paihubylkKG1hdGVyaWFsKWooY29waWVkKWUoZnJvbSlmKHRoZSloCi0oRG8pcyhjdW1lbiltKHQsKWkoeSltKG91KWUobWEpbSh5KWcoYXQpMzMwIDUxMjEgeSh5KW0ob3VyKWsob3B0aW9uKWgKKyhEbylzKGN1bWVuKW0odCwpaSh5KW0ob3UpZShtYSltKHkpZyhhdCkzMzAgNTM0MCB5KHkpbShvdXIpayhvcHRpb24paAogKGRlc2lnbmF0ZSloKHNvbWUpZShvciloKGFsbClnKG9mKWYodGhlc2UpaChzZWN0aW9ucyloKGFzKWUoaW4pbSh2KS01Ci1iKGFyaWFuKW0odC4pNDggYihUKS04IGIobykzMyBiKGRvKWYodGhpcywpaChhZGQpZih0aGVpcikzMzAKLTUyMzAgeSh0aXRsZXMpMzcgYih0bylmKHRoZSlmKGxpc3QpaChvZilnKEluKW0odiktNSBiKGFyaWFuKW0odCkzNgotYihTZWN0aW9ucylnKGluKWYodGhlKWgoTW8pcyhkaVwwMTRlZClmKFYpLTggYihlcnNpb24ncykzNgotYihsaWNlbnNlKWcobm90aWNlLik1NyBiKFRoZXNlKTMzMCA1MzQwIHkodGl0bGVzKTMyIGIobSltKHVzdCllKGIpcyhlKWcKLShkaXN0aW5jdCloKGZyb20pZShhbiltKHkpaShvdGhlcilnKHNlY3Rpb24pZyh0aXRsZXMuKXAKK2IoYXJpYW4pbSh0Lik0OCBiKFQpLTggYihvKTMzIGIoZG8pZih0aGlzLCloKGFkZClmKHRoZWlyKXAKIGVvcCBlbmQKICUlUGFnZTogMTQ3IDE1MwogVGVYRGljdCBiZWdpbiAxNDcgMTUyIGJvcCAxNTAgLTExNiBhIEZ0KEFwcClzKGVuZGl4KTI5CiBiKEM6KWgoR05VKWgoRiktOCBiKHJlZSkzMSBiKERvKXMoY3VtZW4pbSh0YXRpb24paShMaWNlbnNlKTE1NjAKLWIoMTQ3KTMzMCAyOTkgeShZKS04IGIob3UpNDMgYihtYSltKHkpZyhhZGQpZihhKWcoc2VjdGlvbilpKEVuKW0KLSh0aXRsZWQpZihcXEVuZG9yc2VtZW4pbSh0cyIsKWoocHJvKW0odmlkZWQpYyhpdCloKGNvbiltKHRhaW5zKWcKLShub3RoaW5nKWcoYnV0KTMzMCA0MDggeShlbmRvcnNlbWVuKW0odHMpMzAgYihvZilnKHkpbShvdXIpZihNbylzCitiKDE0NykzMzAgMjk5IHkodGl0bGVzKTM3IGIodG8pZih0aGUpZihsaXN0KWgob2YpZyhJbiltKHYpLTUKK2IoYXJpYW4pbSh0KTM2IGIoU2VjdGlvbnMpZyhpbilmKHRoZSloKE1vKXMoZGlcMDE0ZWQpZihWKS04CitiKGVyc2lvbidzKTM2IGIobGljZW5zZSlnKG5vdGljZS4pNTcgYihUaGVzZSkzMzAgNDA4Cit5KHRpdGxlcykzMiBiKG0pbSh1c3QpZShiKXMoZSlnKGRpc3RpbmN0KWgoZnJvbSllKGFuKW0oeSlpKG90aGVyKWcKKyhzZWN0aW9uKWcodGl0bGVzLikzMzAgNTUxIHkoWSktOCBiKG91KTQzIGIobWEpbSh5KWcoYWRkKWYoYSlnKHNlY3Rpb24pCitpKEVuKW0odGl0bGVkKWYoXFxFbmRvcnNlbWVuKW0odHMiLClqKHBybyltKHZpZGVkKWMoaXQpaChjb24pbSh0YWlucylnCisobm90aGluZylnKGJ1dCkzMzAgNjYxIHkoZW5kb3JzZW1lbiltKHRzKTMwIGIob2YpZyh5KW0ob3VyKWYoTW8pcwogKGRpXDAxNGVkKWcoViktOCBiKGVyc2lvbikzMSBiKGIpbSh5KWUodiktNSBiKGFyaW91cykzMAotYihwYXJ0aWVzfGZvcilnKGV4YW1wbGUsKWcoc3RhdGVtZW4pbSh0cylpKG9mKTMzMCA1MTgKK2IocGFydGllc3xmb3IpZyhleGFtcGxlLClnKHN0YXRlbWVuKW0odHMpaShvZikzMzAgNzcwCiB5KHApcyhlZXIpMjcgYihyZXZpZXcpZyhvcilnKHRoYXQpaCh0aGUpZih0ZXh0KWkoaGFzKWQoYilzKGVlbiloKGFwcHJvKQogbSh2KW0oZWQpZyhiKW0oeSlnKGFuKWgob3JnYW5pemF0aW9uKWgoYXMpZSh0aGUpaChhdXRob3JpdGF0aXYpbShlKTMzMAotNjI4IHkoZGVcMDE0bml0aW9uKWkob2YpaChhKWYoc3RhbmRhcmQuKTMzMCA3NTcgeShZKS04Cis4ODAgeShkZVwwMTRuaXRpb24paShvZiloKGEpZihzdGFuZGFyZC4pMzMwIDEwMjIgeShZKS04CiBiKG91KTI5IGIobWEpbSh5KWcoYWRkKWUoYSlpKHBhc3NhZ2UpZyhvZilnKHVwKWUodG8paShcMDE0diltKGUpZyh3KW0KIChvcmRzKWUoYXMpaShhKWcoRiktOCBiKHJvbiltKHQtQ28pbSh2KW0oZXIpMzAgYihUKS04Ci1iKGV4dCwpMzAgYihhbmQpZShhKWcocGFzc2FnZSlpKG9mKWUodXApMzMwIDg2NyB5KHRvKWcoMjUpZyh3KW0ob3JkcyllCitiKGV4dCwpMzAgYihhbmQpZShhKWcocGFzc2FnZSlpKG9mKWUodXApMzMwIDExMzIgeSh0bylnKDI1KWcodyltKG9yZHMpZQogKGFzKWkoYSlmKEJhYyltKGstQ28pbSh2KW0oZXIpaihUKS04IGIoZXh0LCkyOSBiKHRvKWYodGhlKWYoZW5kKWYob2YpaQogKHRoZSlmKGxpc3QpaChvZilmKENvKW0odiltKGVyKWgoVCktOCBiKGV4dHMpMjcgYihpbilnKHRoZSloKE1vKXMKLShkaVwwMTRlZCkzMzAgOTc2IHkoViktOCBiKGVyc2lvbi4pNTggYihPbmx5KTM1IGIob25lKWgocGFzc2FnZSloKG9mKWYKKyhkaVwwMTRlZCkzMzAgMTI0MSB5KFYpLTggYihlcnNpb24uKTU4IGIoT25seSkzNSBiKG9uZSloKHBhc3NhZ2UpaChvZilmCiAoRiktOCBiKHJvbiltKHQtQ28pbSh2KW0oZXIpMzggYihUKS04IGIoZXh0KTM2IGIoYW5kKWcob25lKWcob2YpZyhCYWMpbQotKGstQ28pbSh2KW0oZXIpaihUKS04IGIoZXh0KTM2IGIobWEpbSh5KWgoYilzKGUpMzMwIDEwODYKKyhrLUNvKW0odiltKGVyKWooVCktOCBiKGV4dCkzNiBiKG1hKW0oeSloKGIpcyhlKTMzMCAxMzUxCiB5KGFkZGVkKTI3IGIoYiltKHkpZyhcKG9yKWgodGhyb3VnaClmKGFycmFuZ2VtZW4pbSh0cyloKG1hZGUpZyhiKW0oeVwpKQogZyhhbiltKHkpZyhvbmUpZihlbiltKHRpdCltKHkpLTggYiguKTQyIGIoSWYpMjcgYih0aGUpaChEbylzKGN1bWVuKW0odCkKLWcoYWxyZWFkeSkzMzAgMTE5NiB5KGluY2x1ZGVzKTM0IGIoYSlnKGNvKW0odiltKGVyKWgodGV4dClnKGZvcilmKHRoZSlnCitnKGFscmVhZHkpMzMwIDE0NjEgeShpbmNsdWRlcykzNCBiKGEpZyhjbyltKHYpbShlciloKHRleHQpZyhmb3IpZih0aGUpZwogKHNhbWUpaChjbyltKHYpbShlciwpaChwcmV2aW91c2x5KWUoYWRkZWQpZihiKW0oeSloKHkpbShvdSlnKG9yKWcoYiltCi0oeSlnKGFycmFuZ2VtZW4pbSh0KTMzMCAxMzA1IHkobWFkZSloKGIpbSh5KWcodGhlKWgoc2FtZSlmKGVuKW0odGl0KW0KKyh5KWcoYXJyYW5nZW1lbiltKHQpMzMwIDE1NzAgeShtYWRlKWgoYiltKHkpZyh0aGUpaChzYW1lKWYoZW4pbSh0aXQpbQogKHkpaSh5KW0ob3UpZihhcmUpZihhY3RpbmcpaShvbillKGIpcyhlaGFsZilmKG9mLClqKHkpbShvdSlmKG1hKW0oeSlnCi0obm90KWYoYWRkKWcoYW5vdGhlcjspaihidXQpMzMwIDE0MTUgeSh5KW0ob3UpYyhtYSltKHkpaChyZXBsYWNlKWcodGhlKQorKG5vdClmKGFkZClnKGFub3RoZXI7KWooYnV0KTMzMCAxNjgwIHkoeSltKG91KWMobWEpbSh5KWgocmVwbGFjZSlnKHRoZSkKIGYob2xkKWcob25lLClpKG9uKWUoZXhwbGljaXQpaChwKXMoZXJtaXNzaW9uKWUoZnJvbSlnKHRoZSlpKHByZXZpb3VzKWUKLShwdWJsaXNoZXIpZih0aGF0KTMzMCAxNTI0IHkoYWRkZWQpZSh0aGUpZyhvbGQpaChvbmUuKTMzMAotMTY1NCB5KFRoZSkyNSBiKGF1dGhvclwoc1wpKWgoYW5kKWYocHVibGlzaGVyXChzXCkpZihvZilpKHRoZSlmKERvKXMKKyhwdWJsaXNoZXIpZih0aGF0KTMzMCAxNzg5IHkoYWRkZWQpZSh0aGUpZyhvbGQpaChvbmUuKTMzMAorMTkzMiB5KFRoZSkyNSBiKGF1dGhvclwoc1wpKWgoYW5kKWYocHVibGlzaGVyXChzXCkpZihvZilpKHRoZSlmKERvKXMKIChjdW1lbiltKHQpaChkbylnKG5vdClmKGIpbSh5KWgodGhpcylmKExpY2Vuc2UpaChnaXYpbShlKWgocClzCi0oZXJtaXNzaW9uKTMzMCAxNzYzIHkodG8payh1c2UpZih0aGVpcilnKG5hbWVzKWgoZm9yKWYocHVibGljaXQpbSh5KWcKKyhlcm1pc3Npb24pMzMwIDIwNDEgeSh0bylrKHVzZSlmKHRoZWlyKWcobmFtZXMpaChmb3IpZihwdWJsaWNpdCltKHkpZwogKGZvciloKG9yKWYodG8paChhc3NlcnQpZyhvcilmKGltcGx5KWcoZW5kb3JzZW1lbiltKHQpZyhvZiloKGFuKW0oeSlnCi0oTW8pcyhkaVwwMTRlZCkzMzAgMTg3MyB5KFYpLTggYihlcnNpb24uKTE5OSAyMDAyIHkoNS4pNjEKLWIoQ09NQklOSU5HKTMxIGIoRE9DVU1FTlRTKTMzMCAyMTMyIHkoWSktOCBiKG91KTM5IGIobWEpbSh5KWcoY29tKW0KKyhNbylzKGRpXDAxNGVkKTMzMCAyMTUxIHkoViktOCBiKGVyc2lvbi4pMTk5IDIyOTMgeSg1Lik2MQorYihDT01CSU5JTkcpMzEgYihET0NVTUVOVFMpMzMwIDI0MzYgeShZKS04IGIob3UpMzkgYihtYSltKHkpZyhjb20pbQogKGJpbmUpaCh0aGUpZihEbylzKGN1bWVuKW0odClnKHdpdGgpZyhvdGhlcilmKGRvKXMoY3VtZW4pbSh0cyloCi0ocmVsZWFzZWQpZyh1bmRlcilmKHRoaXMpZyhMaWNlbnNlLCkzMzAgMjI0MiB5KHVuZGVyKWYodGhlKWgodGVybXMpZworKHJlbGVhc2VkKWcodW5kZXIpZih0aGlzKWcoTGljZW5zZSwpMzMwIDI1NDUgeSh1bmRlcilmKHRoZSloKHRlcm1zKWcKIChkZVwwMTRuZWQpZihpbiloKHNlY3Rpb24paCg0KWcoYWIpcyhvKW0odiltKGUpZyhmb3IpZihtbylzKGRpXDAxNGVkKWYKLSh2KW0oZXJzaW9ucywpayhwcm8pbSh2aWRlZClkKHRoYXQpaCh5KW0ob3UpMzMwIDIzNTEKKyh2KW0oZXJzaW9ucywpayhwcm8pbSh2aWRlZClkKHRoYXQpaCh5KW0ob3UpMzMwIDI2NTUKIHkoaW5jbHVkZSkyNSBiKGluKWcodGhlKWcoY29tKW0oYmluYXRpb24paShhbGwpZihvZilnKHRoZSlmKEluKW0odiktNQogYihhcmlhbiltKHQpMjYgYihTZWN0aW9ucylnKG9mKWcoYWxsKWcob2YpZih0aGUpaChvcmlnaW5hbClnKGRvKXMKLShjdW1lbiltKHRzLCkzMzAgMjQ2MSB5KHVubW8pcyhkaVwwMTRlZCwpZyhhbmQpZyhsaXN0KWgodGhlbSlnKGFsbClnCisoY3VtZW4pbSh0cywpMzMwIDI3NjUgeSh1bm1vKXMoZGlcMDE0ZWQsKWcoYW5kKWcobGlzdCloKHRoZW0pZyhhbGwpZwogKGFzKWcoSW4pbSh2KS01IGIoYXJpYW4pbSh0KTI4IGIoU2VjdGlvbnMpZihvZilnKHkpbShvdXIpZyhjb20pbShiaW5lZCkKLWcodyltKG9yaylmKGluKWgoaXRzKWcobGljZW5zZSkzMzAgMjU3MCB5KG5vdGljZSwpMzIKK2codyltKG9yaylmKGluKWgoaXRzKWcobGljZW5zZSkzMzAgMjg3NCB5KG5vdGljZSwpMzIKIGIoYW5kKWUodGhhdCloKHkpbShvdSlmKHByZXNlcnYpbShlKWgoYWxsKWcodGhlaXIpZyhXKS04Ci1iKGFycmFuKW0odCltKHkpMzIgYihEaXNjbGFpbWVycy4pMzMwIDI3MDAgeShUaGUpZShjb20pbShiaW5lZClnKHcpbQorYihhcnJhbiltKHQpbSh5KTMyIGIoRGlzY2xhaW1lcnMuKTMzMCAzMDE3IHkoVGhlKWUoY29tKW0oYmluZWQpZyh3KW0KIChvcmspaChuZWVkKWUob25seSlpKGNvbiltKHRhaW4pZyhvbmUpZyhjb3ApbSh5KWcob2YpZih0aGlzKWcoTGljZW5zZSwpCi1pKGFuZClkKG0pbSh1bHRpcGxlKWkoaWRlbiltKHRpY2FsKTMzMCAyODA5IHkoSW4pbSh2KS01CitpKGFuZClkKG0pbSh1bHRpcGxlKWkoaWRlbiltKHRpY2FsKTMzMCAzMTI2IHkoSW4pbSh2KS01CiBiKGFyaWFuKW0odCkzMyBiKFNlY3Rpb25zKWcobWEpbSh5KWcoYilzKGUpZihyZXBsYWNlZCloKHdpdGgpZihhKWgKIChzaW5nbGUpZyhjb3ApbSh5KS04IGIoLik0OCBiKElmKTMyIGIodGhlcmUpaChhcmUpZyhtKW0odWx0aXBsZSlnKEluKW0KLSh2KS01IGIoYXJpYW4pbSh0KTMzMCAyOTE5IHkoU2VjdGlvbnMpMjcgYih3aXRoKWcodGhlKWcoc2FtZSlnKG5hbWUpZworKHYpLTUgYihhcmlhbiltKHQpMzMwIDMyMzYgeShTZWN0aW9ucykyNyBiKHdpdGgpZyh0aGUpZyhzYW1lKWcobmFtZSlnCiAoYnV0KWYoZGlcMDEzZXJlbiltKHQpaChjb24pbSh0ZW4pbSh0cywpaShtYWspbShlKWYodGhlKWYodGl0bGUpaChvZilmCi0oZWFjKW0oaCloKHN1YyltKGgpZihzZWN0aW9uKTMzMCAzMDI5IHkodW5pcXVlKTMzIGIoYiltKHkpaChhZGRpbmcpZgorKGVhYyltKGgpaChzdWMpbShoKWYoc2VjdGlvbikzMzAgMzM0NSB5KHVuaXF1ZSkzMyBiKGIpbSh5KWgoYWRkaW5nKWYKIChhdClpKHRoZSlmKGVuZClnKG9mKWcoaXQsKWgoaW4pZihwYXJlbiltKHRoZXNlcywpaSh0aGUpZShuYW1lKWcob2YpZwotKHRoZSlnKG9yaWdpbmFsKWgoYXV0aG9yKWYob3IpMzMwIDMxMzggeShwdWJsaXNoZXIpMjMKKyh0aGUpZyhvcmlnaW5hbCloKGF1dGhvcilmKG9yKTMzMCAzNDU1IHkocHVibGlzaGVyKTIzCiBiKG9mKWkodGhhdCloKHNlY3Rpb24pZyhpZilmKGtubyltKHduLCloKG9yKWYoZWxzZSloKGEpZih1bmlxdWUpZihuKW0KICh1bSltKGIpcyhlci4pMzggYihNYWspbShlKTI2IGIodGhlKWcoc2FtZSlmKGFkanVzdG1lbiltKHQpMzMwCi0zMjQ4IHkodG8pZyh0aGUpZyhzZWN0aW9uKWcodGl0bGVzKWgoaW4pZSh0aGUpaChsaXN0KWcob2YpZihJbiltKHYpLTUKKzM1NjUgeSh0bylnKHRoZSlnKHNlY3Rpb24pZyh0aXRsZXMpaChpbillKHRoZSloKGxpc3QpZyhvZilmKEluKW0odiktNQogYihhcmlhbiltKHQpMjYgYihTZWN0aW9ucylmKGluKWYodGhlKWcobGljZW5zZSlpKG5vdGljZSlnKG9mKWUodGhlKWgKLShjb20pbShiaW5lZCkzMzAgMzM1NyB5KHcpbShvcmsuKTMzMCAzNDg3IHkoSW4pNDEgYih0aGUpZyhjb20pbQorKGNvbSltKGJpbmVkKTMzMCAzNjc0IHkodyltKG9yay4pMzMwIDM4MTcgeShJbik0MSBiKHRoZSlnKGNvbSltCiAoYmluYXRpb24sKTQ2IGIoeSltKG91KTQxIGIobSltKHVzdClnKGNvbSltKGJpbmUpaChhbiltKHkpZyhzZWN0aW9ucylnCiAoRW4pbSh0aXRsZWQpZyhcXEhpc3RvcnkiKWgoaW4pZSh0aGUpZyh2KS01IGIoYXJpLSkzMzAKLTM1OTcgeShvdXMpMzIgYihvcmlnaW5hbCloKGRvKXMoY3VtZW4pbSh0cywpZyhmb3JtaW5nKWYob25lKWcoc2VjdGlvbiloCiszOTI2IHkob3VzKTMyIGIob3JpZ2luYWwpaChkbylzKGN1bWVuKW0odHMsKWcoZm9ybWluZylmKG9uZSlnKHNlY3Rpb24paAogKEVuKW0odGl0bGVkKWcoXFxIaXN0b3J5IjspaShsaWspbShld2lzZSlmKGNvbSltKGJpbmUpZihhbiltKHkpMzMwCi0zNzA2IHkoc2VjdGlvbnMpZyhFbiltKHRpdGxlZClmKFxcQWMpbShrbm8pbSh3bGVkZ2VtZW4pbSh0cyIsKWsoYW5kKTMxCis0MDM2IHkoc2VjdGlvbnMpZyhFbiltKHRpdGxlZClmKFxcQWMpbShrbm8pbSh3bGVkZ2VtZW4pbSh0cyIsKWsoYW5kKTMxCiBiKGFuKW0oeSloKHNlY3Rpb25zKWgoRW4pbSh0aXRsZWQpZyhcXERlZGljYXRpb25zIi4pNDcKLWIoWSktOCBiKG91KTMzMCAzODE2IHkobSltKHVzdCkzMCBiKGRlbGV0ZSlpKGFsbClmKHNlY3Rpb25zKWgoRW4pbQotKHRpdGxlZClmKFxcRW5kb3JzZW1lbiltKHRzLiIpMTk5IDM5NDUgeSg2Lik2MSBiKENPTExFQ1RJT05TKTI4Ci1iKE9GKWkoRE9DVU1FTlRTKTMzMCA0MDc1IHkoWSktOCBiKG91KTMyIGIobWEpbSh5KWgobWFrKW0oZSlnKGEpZgorYihZKS04IGIob3UpMzMwIDQxNDUgeShtKW0odXN0KTMwIGIoZGVsZXRlKWkoYWxsKWYoc2VjdGlvbnMpaChFbiltCisodGl0bGVkKWYoXFxFbmRvcnNlbWVuKW0odHMuIikxOTkgNDI4OCB5KDYuKTYxIGIoQ09MTEVDVElPTlMpMjgKK2IoT0YpaShET0NVTUVOVFMpMzMwIDQ0MzAgeShZKS04IGIob3UpMzIgYihtYSltKHkpaChtYWspbShlKWcoYSlmCiAoY29sbGVjdGlvbilpKGNvbnNpc3RpbmcpZihvZilmKHRoZSlnKERvKXMoY3VtZW4pbSh0KWcoYW5kKWcob3RoZXIpZwotKGRvKXMoY3VtZW4pbSh0cylmKHJlbGVhc2VkKTMzMCA0MTg0IHkodW5kZXIpNDEgYih0aGlzKWgoTGljZW5zZSwpaworKGRvKXMoY3VtZW4pbSh0cylmKHJlbGVhc2VkKTMzMCA0NTQwIHkodW5kZXIpNDEgYih0aGlzKWgoTGljZW5zZSwpawogKGFuZCljKHJlcGxhY2UpaCh0aGUpZyhpbmRpdmlkdWFsKWYoY29waWVzKWgob2YpZih0aGlzKWcoTGljZW5zZSloKGluKWYKLSh0aGUpaCh2KS01IGIoYXJpb3VzKTMzMCA0Mjk0IHkoZG8pcyhjdW1lbiltKHRzKTQyIGIod2l0aClnKGEpaChzaW5nbGUpCisodGhlKWgodiktNSBiKGFyaW91cykzMzAgNDY1MCB5KGRvKXMoY3VtZW4pbSh0cyk0MiBiKHdpdGgpZyhhKWgoc2luZ2xlKQogZyhjb3ApbSh5KWgodGhhdClmKGlzKWYoaW5jbHVkZWQpZyhpbilnKHRoZSloKGNvbGxlY3Rpb24sKTQ4Ci1iKHBybyltKHZpZGVkKTQyIGIodGhhdClpKHkpbShvdSkzMzAgNDQwMyB5KGZvbGxvKW0odykzOAorYihwcm8pbSh2aWRlZCk0MiBiKHRoYXQpaSh5KW0ob3UpMzMwIDQ3NTkgeShmb2xsbyltKHcpMzgKIGIodGhlKWcocnVsZXMpZShvZiloKHRoaXMpZyhMaWNlbnNlKWgoZm9yKWYodiltKGVyYmF0aW0paChjb3ApbSh5aW5nKWcKIChvZilmKGVhYyltKGgpaChvZilmKHRoZSloKGRvKXMoY3VtZW4pbSh0cyllKGluKWgoYWxsKTMzMAotNDUxMyB5KG90aGVyKTMxIGIocmVzcClzKGVjdHMuKTMzMCA0NjQzIHkoWSktOCBiKG91KTMyCis0ODY5IHkob3RoZXIpMzEgYihyZXNwKXMoZWN0cy4pMzMwIDUwMTEgeShZKS04IGIob3UpMzIKIGIobWEpbSh5KWcoZXh0cmFjdCloKGEpZihzaW5nbGUpZyhkbylzKGN1bWVuKW0odClmKGZyb20pZyhzdWMpbShoKWcoYSloCiAoY29sbGVjdGlvbiwpaShhbmQpZChkaXN0cmlidXRlKWcoaXQpaChpbmRpdmlkdS0pMzMwCi00NzUyIHkoYWxseSlrKHVuZGVyKWQodGhpcylpKExpY2Vuc2UsKWkocHJvKW0odmlkZWQpZSh5KW0ob3UpZyhpbnNlcnQpZworNTEyMSB5KGFsbHkpayh1bmRlcilkKHRoaXMpaShMaWNlbnNlLClpKHBybyltKHZpZGVkKWUoeSltKG91KWcoaW5zZXJ0KWcKIChhKWcoY29wKW0oeSloKG9mKWYodGhpcylnKExpY2Vuc2UpZyhpbiltKHRvKWgodGhlKWcoZXh0cmFjdGVkKTMzMAotNDg2MiB5KGRvKXMoY3VtZW4pbSh0LClkKGFuZClmKGZvbGxvKW0odylpKHRoaXMpZShMaWNlbnNlKWgoaW4pZyhhbGwpZworNTIzMCB5KGRvKXMoY3VtZW4pbSh0LClkKGFuZClmKGZvbGxvKW0odylpKHRoaXMpZShMaWNlbnNlKWgoaW4pZyhhbGwpZwogKG90aGVyKWcocmVzcClzKGVjdHMpZihyZWdhcmRpbmcpaCh2KW0oZXJiYXRpbSlnKGNvcCltKHlpbmcpaChvZikzMzAKLTQ5NzEgeSh0aGF0KWQoZG8pcyhjdW1lbiltKHQuKTE5OSA1MTAxIHkoNy4pNjEgYihBKW0oR0dSRUdBKS04Ci1iKFRJT04pMzIgYihXSVRIKWUoSU5ERVBFTkRFTlQpaChXKW0oT1JLUykzMzAgNTIzMCB5KEEpZChjb21waWxhdGlvbilpCi0ob2YpZSh0aGUpZyhEbylzKGN1bWVuKW0odCloKG9yKWYoaXRzKWcoZGVyaXYpLTUgYihhdGl2KW0oZXMpMzAKLWIod2l0aClkKG90aGVyKWkoc2VwYXJhdGUpZyhhbmQpZShpbmRlcClzKGVuZGVuKW0odCkzMzAKLTUzNDAgeShkbylzKGN1bWVuKW0odHMpMzMgYihvcilnKHcpbShvcmtzLCloKGluKWYob3IpaChvbilmKGEpZyh2KW0KLShvbHVtZSloKG9mKWcoYSlmKHN0b3JhZ2UpaShvcillKGRpc3RyaWJ1dGlvbilnKG1lZGl1bSwpZyhpcyloKGNhbGxlZClwCi1lb3AgZW5kCis1MzQwIHkodGhhdClkKGRvKXMoY3VtZW4pbSh0LilwIGVvcCBlbmQKICUlUGFnZTogMTQ4IDE1NAogVGVYRGljdCBiZWdpbiAxNDggMTUzIGJvcCAxNTAgLTExNiBhIEZ0KDE0OCkyNTI3IGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMzMwIDI5OSB5KGFuKWYoXFxhZ2dyZWdhdGUiKWsoaWYpYyh0aGUpZyhjb3ApbQotKHlyaWdoKW0odClpKHJlc3VsdGluZyllKGZyb20pZih0aGUpaShjb21waWxhdGlvbilnKGlzKWYobm90KWgodXNlZCllCi0odG8paShsaW1pdClnKHRoZSkzMzAgNDA4IHkobGVnYWwpZChyaWdoKW0odHMpZihvZilnKHRoZSlnCi0oY29tcGlsYXRpb24ncyloKHVzZXJzKWUoYilzKGV5KW0ob25kKWcod2hhdClnKHRoZSloKGluZGl2aWR1YWwpZih3KW0KLShvcmtzKWcocClzKGVybWl0LikzOSBiKFdoZW4pMzMwIDUxOCB5KHRoZSlnKERvKXMoY3VtZW4pbSh0KWcoaXMpZgotKGluY2x1ZGVkKWcoaW4pZyhhbilnKGFnZ3JlZ2F0ZSwpNDQgYih0aGlzKTM4IGIoTGljZW5zZSloKGRvKXMoZXMpZgotKG5vdCloKGFwcGx5KWYodG8paCh0aGUpZyhvdGhlcikzMzAgNjI4IHkodyltKG9ya3MpMzAKLWIoaW4pZyh0aGUpaChhZ2dyZWdhdGUpaSh3aGljKW0oaClkKGFyZSloKG5vdClnKHRoZW1zZWx2KW0oZXMpZyhkZXJpdikKLS01IGIoYXRpdiltKGUpMzIgYih3KW0ob3JrcylmKG9mKWYodGhlKWgoRG8pcyhjdW1lbiltKHQuKTMzMAotNzYyIHkoSWYpMjIgYih0aGUpaChDbyltKHYpbShlciloKFQpLTggYihleHQpMjMgYihyZXF1aXJlbWVuKW0odClnKG9mKWcKLShzZWN0aW9uKWgoMylmKGlzKWcoYXBwbGljYWJsZSloKHRvKWYodGhlc2UpaChjb3BpZXMpZihvZilnKHRoZSlnKERvKXMKLShjdW1lbiltKHQsKTMzMCA4NzIgeSh0aGVuKWYoaWYpZyh0aGUpaChEbylzKGN1bWVuKW0odClnKGlzKWcobGVzcylmCi0odGhhbilnKG9uZSloKGhhbGYpZihvZiloKHRoZSlnKGVuKW0odGlyZSlnKGFnZ3JlZ2F0ZSwpayh0aGUpYyhEbylzCi0oY3VtZW4pbSh0J3MpZyhDbyltKHYpbShlcikzMzAgOTgxIHkoVCktOCBiKGV4dHMpMjcgYihtYSltKHkpZyhiKXMoZSlmCi0ocGxhY2VkKWgob24pZyhjbyltKHYpbShlcnMpaCh0aGF0KWYoYnJhYyltKGspbShldCloKHRoZSlmKERvKXMoY3VtZW4pbQotKHQpZyh3aXRoaW4pZih0aGUpaChhZ2dyZWdhdGUsKWoob3IpZCh0aGUpMzMwIDEwOTEgeShlbGVjdHJvbmljKTM3Ci1iKGVxdWl2KS01IGIoYWxlbiltKHQpMzYgYihvZilnKGNvKW0odiltKGVycylnKGlmKWYodGhlKWcoRG8pcyhjdW1lbiltCi0odCloKGlzKWYoaW4pZyhlbGVjdHJvbmljKWkoZm9ybS4pNTQgYihPdGhlcndpc2UpMzUgYih0aGV5KTMzMAotMTIwMCB5KG0pbSh1c3QpMzAgYihhcHApcyhlYXIpZyhvbilnKHByaW4pbSh0ZWQpZyhjbyltKHYpbShlcnMpaSh0aGF0KWYKLShicmFjKW0oayltKGV0KWgodGhlKWYod2hvbGUpZihhZ2dyZWdhdGUuKTE5OSAxMzM1IHkoOC4pNjEKLWIoVFJBTlNMQSktOCBiKFRJT04pMzMwIDE0NjkgeShUKWcocmFuc2xhdGlvbik0MSBiKGlzKWYoY29uc2lkZXJlZClmKGEpCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxOTkgMjk5IHkoNy4pNjEgYihBKW0oR0dSRUdBKS04CitiKFRJT04pMzIgYihXSVRIKWUoSU5ERVBFTkRFTlQpaChXKW0oT1JLUykzMzAgNDQxIHkoQSlkKGNvbXBpbGF0aW9uKWkKKyhvZillKHRoZSlnKERvKXMoY3VtZW4pbSh0KWgob3IpZihpdHMpZyhkZXJpdiktNSBiKGF0aXYpbShlcykzMAorYih3aXRoKWQob3RoZXIpaShzZXBhcmF0ZSlnKGFuZCllKGluZGVwKXMoZW5kZW4pbSh0KTMzMAorNTUxIHkoZG8pcyhjdW1lbiltKHRzKTMzIGIob3IpZyh3KW0ob3JrcywpaChpbilmKG9yKWgob24pZihhKWcodiltCisob2x1bWUpaChvZilnKGEpZihzdG9yYWdlKWkob3IpZShkaXN0cmlidXRpb24pZyhtZWRpdW0sKWcoaXMpaChjYWxsZWQpCiszMzAgNjYxIHkoYW4pYyhcXGFnZ3JlZ2F0ZSIpayhpZiljKHRoZSlnKGNvcCltKHlyaWdoKW0odClpKHJlc3VsdGluZyllCisoZnJvbSlmKHRoZSlpKGNvbXBpbGF0aW9uKWcoaXMpZihub3QpaCh1c2VkKWUodG8paShsaW1pdClnKHRoZSkzMzAKKzc3MCB5KGxlZ2FsKWQocmlnaCltKHRzKWYob2YpZyh0aGUpZyhjb21waWxhdGlvbidzKWgodXNlcnMpZShiKXMoZXkpbQorKG9uZClnKHdoYXQpZyh0aGUpaChpbmRpdmlkdWFsKWYodyltKG9ya3MpZyhwKXMoZXJtaXQuKTM5CitiKFdoZW4pMzMwIDg4MCB5KHRoZSlnKERvKXMoY3VtZW4pbSh0KWcoaXMpZihpbmNsdWRlZClnKGluKWcoYW4pZworKGFnZ3JlZ2F0ZSwpNDQgYih0aGlzKTM4IGIoTGljZW5zZSloKGRvKXMoZXMpZihub3QpaChhcHBseSlmKHRvKWgodGhlKWcKKyhvdGhlcikzMzAgOTg5IHkodyltKG9ya3MpMzAgYihpbilnKHRoZSloKGFnZ3JlZ2F0ZSlpKHdoaWMpbShoKWQoYXJlKWgKKyhub3QpZyh0aGVtc2VsdiltKGVzKWcoZGVyaXYpLTUgYihhdGl2KW0oZSkzMiBiKHcpbShvcmtzKWYob2YpZih0aGUpaAorKERvKXMoY3VtZW4pbSh0LikzMzAgMTEzMiB5KElmKTIyIGIodGhlKWgoQ28pbSh2KW0oZXIpaChUKS04CitiKGV4dCkyMyBiKHJlcXVpcmVtZW4pbSh0KWcob2YpZyhzZWN0aW9uKWgoMylmKGlzKWcoYXBwbGljYWJsZSloKHRvKWYKKyh0aGVzZSloKGNvcGllcylmKG9mKWcodGhlKWcoRG8pcyhjdW1lbiltKHQsKTMzMCAxMjQxCit5KHRoZW4pZihpZilnKHRoZSloKERvKXMoY3VtZW4pbSh0KWcoaXMpZyhsZXNzKWYodGhhbilnKG9uZSloKGhhbGYpZgorKG9mKWgodGhlKWcoZW4pbSh0aXJlKWcoYWdncmVnYXRlLClrKHRoZSljKERvKXMoY3VtZW4pbSh0J3MpZyhDbyltKHYpbQorKGVyKTMzMCAxMzUxIHkoVCktOCBiKGV4dHMpMjcgYihtYSltKHkpZyhiKXMoZSlmKHBsYWNlZCloKG9uKWcoY28pbSh2KW0KKyhlcnMpaCh0aGF0KWYoYnJhYyltKGspbShldCloKHRoZSlmKERvKXMoY3VtZW4pbSh0KWcod2l0aGluKWYodGhlKWgKKyhhZ2dyZWdhdGUsKWoob3IpZCh0aGUpMzMwIDE0NjEgeShlbGVjdHJvbmljKTM3IGIoZXF1aXYpLTUKK2IoYWxlbiltKHQpMzYgYihvZilnKGNvKW0odiltKGVycylnKGlmKWYodGhlKWcoRG8pcyhjdW1lbiltKHQpaChpcylmCisoaW4pZyhlbGVjdHJvbmljKWkoZm9ybS4pNTQgYihPdGhlcndpc2UpMzUgYih0aGV5KTMzMAorMTU3MCB5KG0pbSh1c3QpMzAgYihhcHApcyhlYXIpZyhvbilnKHByaW4pbSh0ZWQpZyhjbyltKHYpbShlcnMpaSh0aGF0KWYKKyhicmFjKW0oayltKGV0KWgodGhlKWYod2hvbGUpZihhZ2dyZWdhdGUuKTE5OSAxNzEzIHkoOC4pNjEKK2IoVFJBTlNMQSktOCBiKFRJT04pMzMwIDE4NTUgeShUKWcocmFuc2xhdGlvbik0MSBiKGlzKWYoY29uc2lkZXJlZClmKGEpCiBpKGtpbmQpZShvZiloKG1vKXMoZGlcMDE0Y2F0aW9uLClqKHNvKWQoeSltKG91KWcobWEpbSh5KWgoZGlzdHJpYnV0ZSllCi0odHJhbnNsYXRpb25zKTMzMCAxNTc5IHkob2YpNDUgYih0aGUpZihEbylzKGN1bWVuKW0odCloKHVuZGVyKWUodGhlKWgKKyh0cmFuc2xhdGlvbnMpMzMwIDE5NjUgeShvZik0NSBiKHRoZSlmKERvKXMoY3VtZW4pbSh0KWgodW5kZXIpZSh0aGUpaAogKHRlcm1zKWgob2YpZihzZWN0aW9uKWkoNC4pODMgYihSZXBsYWNpbmcpNDUgYihJbiltKHYpLTUKLWIoYXJpYW4pbSh0KTQ1IGIoU2VjdGlvbnMpZyh3aXRoKTMzMCAxNjg5IHkodHJhbnNsYXRpb25zKWgocmVxdWlyZXMpZgorYihhcmlhbiltKHQpNDUgYihTZWN0aW9ucylnKHdpdGgpMzMwIDIwNzQgeSh0cmFuc2xhdGlvbnMpaChyZXF1aXJlcylmCiAoc3ApcyhlY2lhbCloKHApcyhlcm1pc3Npb24pZihmcm9tKWcodGhlaXIpZyhjb3ApbSh5cmlnaCltKHQpaQotKGhvbGRlcnMsKWkoYnV0KWMoeSltKG91KWcobWEpbSh5KTMzMCAxNzk4IHkoaW5jbHVkZSkyNAorKGhvbGRlcnMsKWkoYnV0KWMoeSltKG91KWcobWEpbSh5KTMzMCAyMTg0IHkoaW5jbHVkZSkyNAogYih0cmFuc2xhdGlvbnMpaShvZillKHNvbWUpaChvcilnKGFsbClnKEluKW0odiktNSBiKGFyaWFuKW0odCkyNQogYihTZWN0aW9ucylnKGluKWYoYWRkaXRpb24paCh0bylnKHRoZSlnKG9yaWdpbmFsKWgodiltKGVyc2lvbnMpMzMwCi0xOTA4IHkob2YpMzIgYih0aGVzZSlmKEluKW0odiktNSBiKGFyaWFuKW0odCkzMyBiKFNlY3Rpb25zLik0NAorMjI5MyB5KG9mKTMyIGIodGhlc2UpZihJbiltKHYpLTUgYihhcmlhbiltKHQpMzMgYihTZWN0aW9ucy4pNDQKIGIoWSktOCBiKG91KTMyIGIobWEpbSh5KWcoaW5jbHVkZSlmKGEpaCh0cmFuc2xhdGlvbilnKG9mKWcodGhpcylmCi0oTGljZW5zZSwpaShhbmQpZChhbGwpaih0aGUpMzMwIDIwMTcgeShsaWNlbnNlKTQyIGIobm90aWNlcylnKGluKWYodGhlKQorKExpY2Vuc2UsKWkoYW5kKWQoYWxsKWoodGhlKTMzMCAyNDAzIHkobGljZW5zZSk0MiBiKG5vdGljZXMpZyhpbilmKHRoZSkKIGgoRG8pcyhjdW1lbiltKHQsKWooYW5kKTQwIGIoYW4pbSh5KWkoVyktOCBiKGFycmFuKW0odCltKHkpNDIKLWIoRGlzY2xhaW1lcnMsKWsocHJvKW0odmlkZWQpNDEgYih0aGF0KWgoeSltKG91KTMzMCAyMTI3CitiKERpc2NsYWltZXJzLClrKHBybyltKHZpZGVkKTQxIGIodGhhdCloKHkpbShvdSkzMzAgMjUxMwogeShhbHNvKWYoaW5jbHVkZSlmKHRoZSlnKG9yaWdpbmFsKWgoRW5nbGlzaClmKHYpbShlcnNpb24pZyhvZilnKHRoaXMpZwogKExpY2Vuc2UpaChhbmQpZSh0aGUpaChvcmlnaW5hbCloKHYpbShlcnNpb25zKWcob2YpMzMwCi0yMjM3IHkodGhvc2UpMzUgYihub3RpY2VzKWcoYW5kKWUoZGlzY2xhaW1lcnMuKTUzIGIoSW4pMzMKKzI2MjIgeSh0aG9zZSkzNSBiKG5vdGljZXMpZyhhbmQpZShkaXNjbGFpbWVycy4pNTMgYihJbikzMwogYihjYXNlKWkob2YpZyhhKWYoZGlzYWdyZWVtZW4pbSh0KWgoYilzKGV0KW0odyltKGVlbilnKHRoZSlmCi0odHJhbnNsYXRpb24paShhbmQpMzMwIDIzNDYgeSh0aGUpZihvcmlnaW5hbClpKHYpbShlcnNpb24pZShvZiloKHRoaXMpZgorKHRyYW5zbGF0aW9uKWkoYW5kKTMzMCAyNzMyIHkodGhlKWYob3JpZ2luYWwpaSh2KW0oZXJzaW9uKWUob2YpaCh0aGlzKWYKIChMaWNlbnNlKWgob3IpZihhKWcobm90aWNlKWkob3IpZShkaXNjbGFpbWVyLClpKHRoZSlmKG9yaWdpbmFsKWcodiltCi0oZXJzaW9uKWcod2lsbCkzMzAgMjQ1NiB5KHByZXYpLTUgYihhaWwuKTMzMCAyNTkwIHkoSWYpMjgKKyhlcnNpb24pZyh3aWxsKTMzMCAyODQxIHkocHJldiktNSBiKGFpbC4pMzMwIDI5ODQgeShJZikyOAogYihhKWgoc2VjdGlvbiloKGluKWUodGhlKWgoRG8pcyhjdW1lbiltKHQpaChpcyllKEVuKW0odGl0bGVkKWkoXFxBYyltCiAoa25vKW0od2xlZGdlbWVuKW0odHMiLClpKFxcRGVkaWNhdGlvbnMiLClnKG9yKWQoXFxIaXMtKTMzMAotMjcwMCB5KHRvcnkiLClmKHRoZSlmKHJlcXVpcmVtZW4pbSh0KWYoXChzZWN0aW9uKWkoNFwpKWYodG8pZyhQcmVzZXJ2KW0KKzMwOTMgeSh0b3J5IiwpZih0aGUpZihyZXF1aXJlbWVuKW0odClmKFwoc2VjdGlvbilpKDRcKSlmKHRvKWcoUHJlc2VydiltCiAoZSlnKGl0cylmKFRpdGxlKWkoXChzZWN0aW9uKWYoMVwpKWcod2lsbClnKHQpbSh5cGljYWxseSloKHJlcXVpcmUpMzMwCi0yODA5IHkoYyltKGhhbmdpbmcpaih0aGUpZyhhY3R1YWwpaCh0aXRsZS4pMTk5IDI5NDQgeSg5Lik2MQotYihURVJNSU5BKS04IGIoVElPTikzMzAgMzA3OCB5KFkpZyhvdSkzMCBiKG1hKW0oeSloKG5vdClmKGNvcCltKHkpLTgKKzMyMDMgeShjKW0oaGFuZ2luZylqKHRoZSlnKGFjdHVhbCloKHRpdGxlLikxOTkgMzM0NSB5KDkuKTYxCitiKFRFUk1JTkEpLTggYihUSU9OKTMzMCAzNDg4IHkoWSlnKG91KTMwIGIobWEpbSh5KWgobm90KWYoY29wKW0oeSktOAogYigsKTMxIGIobW8pcyhkaWZ5KS04IGIoLCkzMCBiKHN1YmxpY2Vuc2UsKWcob3IpZyhkaXN0cmlidXRlKWYodGhlKWgKLShEbylzKGN1bWVuKW0odClnKGV4Y2VwdCloKGFzKWYoZXhwcmVzc2x5KTMzMCAzMTg4IHkocHJvKW0odmlkZWQpNDEKLWIoZm9yKWgodW5kZXIpZSh0aGlzKWkoTGljZW5zZS4pNzUgYihBbiltKHkpNDIgYihvdGhlcilnKGF0dGVtcHQpaCh0bylnCi0oY29wKW0oeSktOCBiKCwpNDYgYihtbylzKGRpZnkpLTggYigsKTQ0IGIoc3VibGljZW5zZSllKG9yKTMzMAotMzI5OCB5KGRpc3RyaWJ1dGUpMzYgYih0aGUpaChEbylzKGN1bWVuKW0odClnKGlzKWcodiltKG9pZCwpaShhbmQpZAotKHdpbGwpaChhdXRvbWF0aWNhbGx5KWkodGVybWluYXRlKWYoeSltKG91cillKHJpZ2gpbSh0cyloKHVuZGVyKTMzMAotMzQwNyB5KHRoaXMpMjggYihMaWNlbnNlLik0MCBiKEhvKW0odyltKGV2KW0oZXIsKTMxIGIocGFydGllcylkKHdobylmCi0oaGEpbSh2KW0oZSlpKHJlY2VpdiltKGVkKWcoY29waWVzLCloKG9yKWQocmlnaCltKHRzLClpKGZyb20pZih5KW0ob3UpZwotKHVuZGVyKWUodGhpcykzMzAgMzUxNyB5KExpY2Vuc2UpMzcgYih3aWxsKWcobm90KWcoaGEpbSh2KW0oZSloKHRoZWlyKWYKLShsaWNlbnNlcylnKHRlcm1pbmF0ZWQpaChzbylmKGxvbmcpZyhhcylnKHN1YyltKGgpZihwYXJ0aWVzKWgocmVtYWluKWcKLShpbilmKGZ1bGwpMzMwIDM2MjYgeShjb21wbGlhbmNlLikxNTQgMzc2MSB5KDEwLik2MSBiKEZVVFVSRSkzMAotYihSRVZJU0lPTlMpZihPRilpKFRISVMpZShMSUNFTlNFKTMzMCAzODk1IHkoVGhlKTQxIGIoRiktOAotYihyZWUpNDMgYihTb2Z0KW0odyltKGFyZSlmKEYpLTggYihvdW5kYXRpb24pNDMgYihtYSltKHkpZihwdWJsaXNoKWUKLShuZXcsKWsocmV2aXNlZClkKHYpbShlcnNpb25zKWgob2YpZyh0aGUpZyhHTlUpZyhGKS04Ci1iKHJlZSkzMzAgNDAwNSB5KERvKXMoY3VtZW4pbSh0YXRpb24pMzQgYihMaWNlbnNlKWUoZnJvbSlnKHRpbWUpaCh0bylnCi0odGltZS4pNDYgYihTdWMpbShoKTMxIGIobmV3KWgodiltKGVyc2lvbnMpZyh3aWxsKWgoYilzKGUpZShzaW1pbGFyKWgKLShpbilnKHNwaXJpdCkzMzAgNDExNSB5KHRvKWoodGhlKWcocHJlc2VuKW0odClmKHYpbShlcnNpb24sKWkoYnV0KWUobWEpCi1tKHkpaChkaVwwMTNlcilmKGluKWcoZGV0YWlsKWgodG8pZyhhZGRyZXNzKWYobmV3KWcocHJvYmxlbXMpZihvcilpCi0oY29uY2VybnMuKTMzMCA0MjI0IHkoU2VlKWMgRnMoaHR0cDovL3d3dy5nbnUub3JnL2NvcHkpbyhsZWZ0KW8oLylwCi1GdCguKTMzMCA0MzU5IHkoRWFjKW0oaClmKHYpbShlcnNpb24pZyhvZilnKHRoZSlmKExpY2Vuc2UpaChpcylnKGdpdiltCi0oZW4pZyhhKWcoZGlzdGluZ3Vpc2hpbmcpZih2KW0oZXJzaW9uKWgobiltKHVtKW0oYilzKGVyLikzOQotYihJZikyOSBiKHRoZSlnKERvKXMoY3VtZW4pbSh0KTMzMCA0NDY4IHkoc3ApcyhlY2lcMDE0ZXMpNDUKLWIodGhhdCloKGEpZyhwYXJ0aWN1bGFyKWYobiltKHVtKW0oYilzKGVyZWQpZih2KW0oZXJzaW9uKWkob2YpZih0aGlzKWcKLShMaWNlbnNlKWgoXFxvcilnKGFuKW0oeSlnKGxhdGVyKWcodiltKGVyc2lvbiIpMzMwIDQ1NzgKLXkoYXBwbGllcykzMyBiKHRvKWcoaXQsKWgoeSltKG91KWUoaGEpbSh2KW0oZSlpKHRoZSlmKG9wdGlvbilnKG9mKWYKLShmb2xsbyltKHdpbmcpaSh0aGUpZih0ZXJtcylmKGFuZClnKGNvbmRpdGlvbnMpaChlaXRoZXIpZyhvZilmKHRoYXQpMzMwCi00Njg3IHkoc3ApcyhlY2lcMDE0ZWQpMzcgYih2KW0oZXJzaW9uKWkob3IpZShvZiloKGFuKW0oeSloKGxhdGVyKWcodiltCi0oZXJzaW9uKWYodGhhdClnKGhhcylnKGIpcyhlZW4pZihwdWJsaXNoZWQpZihcKG5vdClqKGFzKWYoYSlnKGRyYWZ0XCkpZwotKGIpbSh5KTMzMCA0Nzk3IHkodGhlKTMzIGIoRiktOCBiKHJlZSkzNCBiKFNvZnQpbSh3KW0oYXJlKWYoRiktOAotYihvdW5kYXRpb24uKTQ5IGIoSWYpMzIgYih0aGUpaChEbylzKGN1bWVuKW0odClnKGRvKXMoZXMpZyhub3QpZyhzcClzCi0oZWNpZnkpZihhKWgodiltKGVyc2lvbilnKG4pbSh1bSltKGIpcyhlcilmKG9mKTMzMCA0OTA3Ci15KHRoaXMpaShMaWNlbnNlLClqKHkpbShvdSlkKG1hKW0oeSlpKGMpbShobylzKG9zZSlmKGFuKW0oeSlnKHYpbQotKGVyc2lvbilnKGV2KW0oZXIpZyhwdWJsaXNoZWQpZShcKG5vdClpKGFzKWcoYSlmKGRyYWZ0XCkpaChiKW0oeSlmKHRoZSkKLWgoRiktOCBiKHJlZSkzMzAgNTAxNiB5KFNvZnQpbSh3KW0oYXJlKTMxIGIoRiktOCBiKG91bmRhdGlvbi4pcAotZW9wIGVuZAorKERvKXMoY3VtZW4pbSh0KWcoZXhjZXB0KWgoYXMpZihleHByZXNzbHkpMzMwIDM1OTggeShwcm8pbSh2aWRlZCkzOAorYih1bmRlcilmKHRoaXMpaShMaWNlbnNlLik2NSBiKEFuKW0oeSkzOSBiKGF0dGVtcHQpaChvdGhlcndpc2UpZih0bylnCisoY29wKW0oeSktOCBiKCwpNDIgYihtbylzKGRpZnkpLTggYigsKTQwIGIoc3VibGljZW5zZSwpaChvcikzMzAKKzM3MDcgeShkaXN0cmlidXRlKTMwIGIoaXQpaChpcylmKHYpbShvaWQsKWgoYW5kKWYod2lsbCloKGF1dG9tYXRpY2FsbHkpCitpKHRlcm1pbmF0ZSlmKHkpbShvdXIpZShyaWdoKW0odHMpaCh1bmRlcillKHRoaXMpaChMaWNlbnNlLikzMzAKKzM4NTAgeShIbyltKHcpbShldiltKGVyLCkzNSBiKGlmKWUoeSltKG91KWYoY2Vhc2UpaShhbGwpZih2aW9sYXRpb24paQorKG9mKWQodGhpcylnKExpY2Vuc2UsKWkodGhlbillKHkpbShvdXIpaChsaWNlbnNlKWcoZnJvbSlmKGEpaAorKHBhcnRpY3VsYXIpMzMwIDM5NTkgeShjb3ApbSh5cmlnaCltKHQpayhob2xkZXIpZShpcyloKHJlaW5zdGF0ZWQpaAorKFwoYVwpKWYocHJvKW0odmlzaW9uYWxseSktOCBiKCwpMzkgYih1bmxlc3MpYyhhbmQpZyh1biltKHRpbCloKHRoZSlnCisoY29wKW0oeXJpZ2gpbSh0KWgoaG9sZGVyKTMzMCA0MDY5IHkoZXhwbGljaXRseSk0MiBiKGFuZCllKFwwMTRuYWxseSloCisodGVybWluYXRlcylnKHkpbShvdXIpZyhsaWNlbnNlLClqKGFuZCljKFwoYlwpKWgocClzKGVybWFuZW4pbSh0bHkpLTgKK2IoLCk0MyBiKGlmKWUodGhlKWcoY29wKW0oeXJpZ2gpbSh0KTMzMCA0MTc4IHkoaG9sZGVyKTM0CitiKGZhaWxzKWgodG8pZyhub3RpZnkpZyh5KW0ob3UpZyhvZilmKHRoZSloKHZpb2xhdGlvbiloKGIpbSh5KWUoc29tZSloCisocmVhc29uYWJsZSlnKG1lYW5zKWcocHJpb3IpZSh0bylpKDYwKWgoZGEpbSh5cykzMzAgNDI4OAoreShhZnRlcikzMSBiKHRoZSlmKGNlc3NhdGlvbi4pMzMwIDQ0MzAgeShNb3JlbyltKHYpbShlciwpayh5KW0ob3VyKWQKKyhsaWNlbnNlKWkoZnJvbSllKGEpaChwYXJ0aWN1bGFyKWYoY29wKW0oeXJpZ2gpbSh0KWkoaG9sZGVyKWUoaXMpaAorKHJlaW5zdGF0ZWQpZyhwKXMoZXJtYW5lbiltKHRseSlmKGlmKTMzMCA0NTQwIHkodGhlKWQoY29wKW0oeXJpZ2gpbSh0KWgKKyhob2xkZXIpZihub3RpXDAxNGVzKWcoeSltKG91KWcob2YpZyh0aGUpZyh2aW9sYXRpb24paChiKW0oeSlmKHNvbWUpZworKHJlYXNvbmFibGUpaChtZWFucywpZih0aGlzKWcoaXMpZyh0aGUpMzMwIDQ2NTAgeShcMDE0cnN0KWYodGltZSlpKHkpbQorKG91KWYoaGEpbSh2KW0oZSloKHJlY2VpdiltKGVkKWcobm90aWNlKWcob2YpZih2aW9sYXRpb24paShvZillKHRoaXMpZgorKExpY2Vuc2UpaShcKGZvcilmKGFuKW0oeSlnKHcpbShvcmtcKSlnKGZyb20pZih0aGF0KTMzMAorNDc1OSB5KGNvcCltKHlyaWdoKW0odCkzMyBiKGhvbGRlciwpZyhhbmQpZSh5KW0ob3UpaChjdXJlKWcodGhlKWcKKyh2aW9sYXRpb24paShwcmlvcilkKHRvKWkoMzApZihkYSltKHlzKWgoYWZ0ZXIpZih5KW0ob3VyKWcocmVjZWlwdCloCisob2YpZih0aGUpMzMwIDQ4NjkgeShub3RpY2UuKTMzMCA1MDExIHkoVCktOCBiKGVybWluYXRpb24pMjgKK2Iob2YpZyh5KW0ob3VyKWYocmlnaCltKHRzKWgodW5kZXIpZSh0aGlzKWkoc2VjdGlvbilnKGRvKXMoZXMpZihub3QpaAorKHRlcm1pbmF0ZSloKHRoZSllKGxpY2Vuc2VzKWkob2YpZihwYXJ0aWVzKTMzMCA1MTIxIHkod2hvKTM4CitiKGhhKW0odiltKGUpaChyZWNlaXYpbShlZCloKGNvcGllcyllKG9yKWgocmlnaCltKHRzKWYoZnJvbSlnKHkpbShvdSlnCisodW5kZXIpZih0aGlzKWgoTGljZW5zZS4pNjQgYihJZikzOCBiKHkpbShvdXIpZyhyaWdoKW0odHMpaChoYSltKHYpbShlKQorMzMwIDUyMzAgeShiKXMoZWVuKTI1IGIodGVybWluYXRlZClpKGFuZCllKG5vdCloKHApcyhlcm1hbmVuKW0odGx5KWcKKyhyZWluc3RhdGVkLClpKHJlY2VpcHQpZihvZilmKGEpZyhjb3ApbSh5KWgob2YpZihzb21lKWgob3IpZihhbGwpaChvZilmCisodGhlKTMzMCA1MzQwIHkoc2FtZSkzMSBiKG1hdGVyaWFsKWgoZG8pcyhlcyllKG5vdClnKGdpdiltKGUpaSh5KW0ob3UpZgorKGFuKW0oeSlnKHJpZ2gpbSh0cylmKHRvKWkodXNlKWUoaXQuKXAgZW9wIGVuZAogJSVQYWdlOiAxNDkgMTU1CiBUZVhEaWN0IGJlZ2luIDE0OSAxNTQgYm9wIDE1MCAtMTE2IGEgRnQoQXBwKXMoZW5kaXgpMjkKIGIoQzopaChHTlUpaChGKS04IGIocmVlKTMxIGIoRG8pcyhjdW1lbiltKHRhdGlvbilpKExpY2Vuc2UpMTU2MAotYigxNDkpMTUwIDI5OSB5IEZyKEFEREVORFVNOik0NSBiKEhvKWwodyloKHRvKWYodXNlKWcodGhpcyloKExpY2Vuc2UpZgotKGZvcilnKHkpbChvdXIpZyhkbyl0KGN1bWVuKWwodHMpMjc1IDU0MyB5IEZ0KFQpLTggYihvKTI3Ci1iKHVzZSlnKHRoaXMpZyhMaWNlbnNlKWgoaW4pZihhKWgoZG8pcyhjdW1lbiltKHQpZih5KW0ob3UpaChoYSltKHYpbShlKQotZyh3cml0dGVuLClnKGluY2x1ZGUpZihhKWgoY29wKW0oeSlnKG9mKWYodGhlKWgoTGljZW5zZSlnKGluKWYodGhlKTE1MAotNjUzIHkoZG8pcyhjdW1lbiltKHQpaihhbmQpZyhwdXQpZyh0aGUpZyhmb2xsbyltKHdpbmcpaShjb3ApbSh5cmlnaCltCi0odClnKGFuZCllKGxpY2Vuc2UpaChub3RpY2VzKWcoanVzdClmKGFmdGVyKWgodGhlKWcodGl0bGUpaChwYWdlOik0NjgKLTc2NSB5IEZlKENvcHlyaWdodCk0MiBiKFwoQ1wpKTc5IGIgRmQoeWVhcik4OCBiKHlvdXIpNDAKLWIobmFtZSlwIEZlKC4pNDY4IDg1MiB5KFBlcm1pc3Npb24paShpcyllKGdyYW50ZWQpZyh0bylnKGNvcHksKWgKLShkaXN0cmlidXRlKWcoYW5kL29yKWcobW9kaWZ5KWYodGhpcylnKGRvY3VtZW50KTQ2OCA5MzkKLXkodW5kZXIpaCh0aGUpZih0ZXJtcylnKG9mKWcodGhlKWcoR05VKWcoRnJlZSlnKERvY3VtZW50YXRpb24paQotKExpY2Vuc2UsKWYoVmVyc2lvbilnKDEuMik0NjggMTAyNiB5KG9yKWYoYW55KWcobGF0ZXIpZyh2ZXJzaW9uKWgKLShwdWJsaXNoZWQpaChieSlkKHRoZSloKEZyZWUpZyhTb2Z0d2FyZSloKEZvdW5kYXRpb247KTQ2OAotMTExMyB5KHdpdGgpZyhubyllKEludmFyaWFudClqKFNlY3Rpb25zLClmKG5vKWYoRnJvbnQtQ292ZXIpaChUZXh0cywpZwotKGFuZClmKG5vKWYoQmFjay1Db3Zlcik0NjggMTIwMCB5KFRleHRzLik4MCBiKEEpNDAgYihjb3B5KWcob2YpZyh0aGUpZgotKGxpY2Vuc2UpaShpcylmKGluY2x1ZGVkKWgoaW4pZih0aGUpZyhzZWN0aW9uKWcoZW50aXRsZWQpaChgYEdOVSk0NjgKLTEyODggeShGcmVlKWcoRG9jdW1lbnRhdGlvbiloKExpY2Vuc2UnJy4pMjc1IDE0MTAgeSBGdChJZilkKHkpbShvdSloCi0oaGEpbSh2KW0oZSloKEluKW0odiktNSBiKGFyaWFuKW0odCk0MSBiKFNlY3Rpb25zLClpKEYpLTgKLWIocm9uKW0odC1DbyltKHYpbShlcik0MiBiKFQpLTggYihleHRzKTQxIGIoYW5kKWUoQmFjKW0oay1DbyltKHYpbShlcilrCi0oVCktOCBiKGV4dHMsKTQzIGIocmVwbGFjZSllKHRoZSkxNTAgMTUyMCB5KFxcd2l0aCk2Ci1iKC4pMjIgYiguKWcoLikxMiBiKFQpLTggYihleHRzLiIpNDEgYihsaW5lKTMxIGIod2l0aClmKHRoaXM6KTU0NwotMTYzMiB5IEZlKHdpdGgpNDAgYih0aGUpZyhJbnZhcmlhbnQpaChTZWN0aW9ucylnKGJlaW5nKWcKLUZkKGxpc3QpZih0aGVpcilnKHRpdGxlcylwIEZlKCwpaCh3aXRoKTU0NyAxNzE5IHkodGhlKWYoRnJvbnQtQ292ZXIpaQotKFRleHRzKWUoYmVpbmcpZyBGZChsaXN0KXAgRmUoLCloKGFuZClmKHdpdGgpZyh0aGUpZyhCYWNrLUNvdmVyKWgKLShUZXh0cyk1NDcgMTgwNiB5KGJlaW5nKWYgRmQobGlzdClwIEZlKC4pMjc1IDE5MjkgeSBGdChJZikzNAotYih5KW0ob3UpaShoYSltKHYpbShlKWcoSW4pbSh2KS01IGIoYXJpYW4pbSh0KTM2IGIoU2VjdGlvbnMpZyh3aXRob3V0KWYKLShDbyltKHYpbShlciloKFQpLTggYihleHRzLCkzOCBiKG9yKWQoc29tZSlnKG90aGVyKWgoY29tKW0oYmluYXRpb24pZwotKG9mKWcodGhlKTE1MCAyMDM4IHkodGhyZWUsKTMxIGIobWVyZ2UpZyh0aG9zZSlnKHQpbSh3KW0obylnCi0oYWx0ZXJuYXRpdiltKGVzKWkodG8pZShzdWl0KWYodGhlKWgoc2l0dWF0aW9uLikyNzUgMjE3MwoteShJZikyMyBiKHkpbShvdXIpaChkbylzKGN1bWVuKW0odClmKGNvbiltKHRhaW5zKWkobm9uKW0odHJpdmlhbClnCi0oZXhhbXBsZXMpZyhvZilmKHByb2dyYW0pZihjbylzKGRlLClqKHcpbShlKWUocmVjb21tZW5kKWcocmVsZWFzaW5nKTE1MAotMjI4MyB5KHRoZXNlKTQ0IGIoZXhhbXBsZXMpZihpbilnKHBhcmFsbGVsKWgodW5kZXIpZSh5KW0ob3VyKWgoYyltCi0oaG9pY2UpaShvZillKGZyZWUpZyhzb2Z0KW0odyltKGFyZSloKGxpY2Vuc2UsKWsoc3VjKW0oaCk0MwotYihhcylnKHRoZSlnKEdOVSkxNTAgMjM5MiB5KEdlbmVyYWwpMzEgYihQdWJsaWMpZihMaWNlbnNlLClpKHRvKWYocClzCi0oZXJtaXQpZSh0aGVpcilpKHVzZSlmKGluKWcoZnJlZSlnKHNvZnQpbSh3KW0oYXJlLilwCi1lb3AgZW5kCitiKDE0OSkxNTQgMjk5IHkoMTAuKTYxIGIoRlVUVVJFKTMwIGIoUkVWSVNJT05TKWYoT0YpaShUSElTKWUoTElDRU5TRSkKKzMzMCA0MzMgeShUaGUpNDEgYihGKS04IGIocmVlKTQzIGIoU29mdCltKHcpbShhcmUpZihGKS04CitiKG91bmRhdGlvbik0MyBiKG1hKW0oeSlmKHB1Ymxpc2gpZShuZXcsKWsocmV2aXNlZClkKHYpbShlcnNpb25zKWgob2YpZworKHRoZSlnKEdOVSlnKEYpLTggYihyZWUpMzMwIDU0MyB5KERvKXMoY3VtZW4pbSh0YXRpb24pMzQKK2IoTGljZW5zZSllKGZyb20pZyh0aW1lKWgodG8pZyh0aW1lLik0NiBiKFN1YyltKGgpMzEKK2IobmV3KWgodiltKGVyc2lvbnMpZyh3aWxsKWgoYilzKGUpZShzaW1pbGFyKWgoaW4pZyhzcGlyaXQpMzMwCis2NTMgeSh0bylqKHRoZSlnKHByZXNlbiltKHQpZih2KW0oZXJzaW9uLClpKGJ1dCllKG1hKW0oeSloKGRpXDAxM2VyKWYKKyhpbilnKGRldGFpbCloKHRvKWcoYWRkcmVzcylmKG5ldylnKHByb2JsZW1zKWYob3IpaShjb25jZXJucy4pMzMwCis3NjIgeShTZWUpYyBGcyhodHRwOi8vd3d3LmdudS5vcmcvY29weSlvKGxlZnQpbygvKXAgRnQoLikzMzAKKzg5NyB5KEVhYyltKGgpZih2KW0oZXJzaW9uKWcob2YpZyh0aGUpZihMaWNlbnNlKWgoaXMpZyhnaXYpbShlbilnKGEpZworKGRpc3Rpbmd1aXNoaW5nKWYodiltKGVyc2lvbiloKG4pbSh1bSltKGIpcyhlci4pMzkgYihJZikyOQorYih0aGUpZyhEbylzKGN1bWVuKW0odCkzMzAgMTAwNiB5KHNwKXMoZWNpXDAxNGVzKTQ1IGIodGhhdCloKGEpZworKHBhcnRpY3VsYXIpZihuKW0odW0pbShiKXMoZXJlZClmKHYpbShlcnNpb24paShvZilmKHRoaXMpZyhMaWNlbnNlKWgKKyhcXG9yKWcoYW4pbSh5KWcobGF0ZXIpZyh2KW0oZXJzaW9uIikzMzAgMTExNiB5KGFwcGxpZXMpMzMKK2IodG8pZyhpdCwpaCh5KW0ob3UpZShoYSltKHYpbShlKWkodGhlKWYob3B0aW9uKWcob2YpZihmb2xsbyltKHdpbmcpaQorKHRoZSlmKHRlcm1zKWYoYW5kKWcoY29uZGl0aW9ucyloKGVpdGhlcilnKG9mKWYodGhhdCkzMzAKKzEyMjUgeShzcClzKGVjaVwwMTRlZCkzNyBiKHYpbShlcnNpb24paShvcillKG9mKWgoYW4pbSh5KWgobGF0ZXIpZyh2KW0KKyhlcnNpb24pZih0aGF0KWcoaGFzKWcoYilzKGVlbilmKHB1Ymxpc2hlZClmKFwobm90KWooYXMpZihhKWcoZHJhZnRcKSlnCisoYiltKHkpMzMwIDEzMzUgeSh0aGUpMzMgYihGKS04IGIocmVlKTM0IGIoU29mdCltKHcpbShhcmUpZihGKS04CitiKG91bmRhdGlvbi4pNDkgYihJZikzMiBiKHRoZSloKERvKXMoY3VtZW4pbSh0KWcoZG8pcyhlcylnKG5vdClnKHNwKXMKKyhlY2lmeSlmKGEpaCh2KW0oZXJzaW9uKWcobiltKHVtKW0oYilzKGVyKWYob2YpMzMwIDE0NDUKK3kodGhpcylpKExpY2Vuc2UsKWooeSltKG91KWQobWEpbSh5KWkoYyltKGhvKXMob3NlKWYoYW4pbSh5KWcodiltCisoZXJzaW9uKWcoZXYpbShlcilnKHB1Ymxpc2hlZCllKFwobm90KWkoYXMpZyhhKWYoZHJhZnRcKSloKGIpbSh5KWYodGhlKQoraChGKS04IGIocmVlKTMzMCAxNTU0IHkoU29mdCltKHcpbShhcmUpMzMgYihGKS04IGIob3VuZGF0aW9uLik0NgorYihJZikzMiBiKHRoZSlnKERvKXMoY3VtZW4pbSh0KWcoc3ApcyhlY2lcMDE0ZXMpZyh0aGF0KWcoYSloKHBybyltKHh5KWYKKyhjYW4pZyhkZWNpZGUpZyh3aGljKW0oaClnKGZ1dHVyZSkzMzAgMTY2NCB5KHYpbShlcnNpb25zKWgob2YpZyh0aGlzKWYKKyhMaWNlbnNlKWgoY2FuKWcoYilzKGUpZih1c2VkLClnKHRoYXQpaShwcm8pbSh4eSdzKWUocHVibGljKWcoc3RhdGVtZW4pCittKHQpaShvZilmKGFjY2VwdGFuY2UpaShvZillKGEpMzMwIDE3NzMgeSh2KW0oZXJzaW9uKWUocClzKGVybWFuZW4pbQorKHRseSlmKGF1dGhvcml6ZXMpaCh5KW0ob3UpZyh0bylnKGMpbShobylzKG9zZSlnKHRoYXQpZyh2KW0oZXJzaW9uKWcKKyhmb3IpZih0aGUpaChEbylzKGN1bWVuKW0odC4pMTU0IDE5MDggeSgxMS4pNjEgYihSRUxJQ0VOU0lORykzMzAKKzIwNDIgeShcXE1hc3NpdiltKGUpMzkgYihNdWx0aWF1dGhvcilmKENvbGxhYilzKG9yYXRpb24pZyhTaXRlIiloKFwob3IpCitlKFxcTU1DKWgoU2l0ZSJcKSloKG1lYW5zKWUoYW4pbSh5KWgoVyktOCBiKG9ybGQpMzcgYihXaWRlKTMzMAorMjE1MiB5KFcpLTggYihlYikzNiBiKHNlcnYpbShlcilnKHRoYXQpaChwdWJsaXNoZXMpZChjb3ApbSh5cmlnaCltCisodGFibGUpayh3KW0ob3JrcyllKGFuZClmKGFsc28paShwcm8pbSh2aWRlcyllKHByb21pbmVuKW0odCloCisoZmFjaWxpdGllcykzMzAgMjI2MiB5KGZvcikyNyBiKGFuKW0oeWIpcyhvKXMoZHkpZyh0byloKGVkaXQpZyh0aG9zZSlnCisodyltKG9ya3MuKTM5IGIoQSkyOCBiKHB1YmxpYylmKHdpa2kpaCh0aGF0KWcoYW4pbSh5YilzKG8pcyhkeSllKGNhbilpCisoZWRpdClnKGlzKWYoYW4paChleGFtcGxlKWcob2YpMzMwIDIzNzEgeShzdWMpbShoKTMzCitiKGEpaChzZXJ2KW0oZXIuKTUxIGIoQSkzNCBiKFxcTWFzc2l2KW0oZSlpKE11bHRpYXV0aG9yKWUoQ29sbGFiKXMKKyhvcmF0aW9uIiloKFwob3IpZihcXE1NQyJcKSloKGNvbiltKHRhaW5lZClnKGluKWYodGhlKTMzMAorMjQ4MSB5KHNpdGUpZChtZWFucylmKGFuKW0oeSloKHNldClnKG9mKWcoY29wKW0oeXJpZ2gpbSh0YWJsZSloKHcpbQorKG9ya3MpZSh0aCltKHVzKWcocHVibGlzaGVkKWYob24paCh0aGUpaChNTUMpZihzaXRlLikzMzAKKzI2MTUgeShcXENDLUJZLVNBIikzNiBiKG1lYW5zKWYodGhlKWcoQ3JlYXRpdiltKGUpaShDb21tb25zKWUoQSltCisodHRyaWJ1dGlvbi1TaGFyZSlnKEFsaWspbShlKWkoMy4wKWYobGljZW5zZSlnKHB1Yi0pMzMwCisyNzI1IHkobGlzaGVkKTI3IGIoYiltKHkpZihDcmVhdGl2KW0oZSlqKENvbW1vbnMpZChDb3JwKXMob3JhdGlvbiwpaChhKQorZyhub3QtZm9yLXByb1wwMTR0KWcoY29ycClzKG9yYXRpb24paCh3aXRoKWUoYSloKHByaW5jaXBhbCkzMzAKKzI4MzQgeShwbGFjZSlnKG9mKWYoYnVzaW5lc3MpZShpbilpKFNhbilmKEYpLTggYihyYW5jaXNjbywpMjkKK2IoQ2FsaWZvcm5pYSwpZihhcyllKHcpbShlbGwpaChhcylmKGZ1dHVyZSlmKGNvcCltKHlsZWZ0KWkodiltKGVyc2lvbnMpCitmKG9mKWcodGhhdCkzMzAgMjk0NCB5KGxpY2Vuc2UpMzEgYihwdWJsaXNoZWQpZShiKW0oeSloKHRoYXQpaChzYW1lKWcKKyhvcmdhbml6YXRpb24uKTMzMCAzMDc4IHkoXFxJbmNvcnApcyhvcmF0ZSIpaChtZWFucyllKHRvKWgocHVibGlzaCllCisob3IpaShyZXB1Ymxpc2gpZShhKWkoRG8pcyhjdW1lbiltKHQsKWcoaW4pZyh3aG9sZSlnKG9yKWYoaW4pZyhwYXJ0LCloCisoYXMpZyhwYXJ0KTMzMCAzMTg4IHkob2YpZyhhbm90aGVyKWYoRG8pcyhjdW1lbiltKHQuKTMzMAorMzMyMyB5KEFuKWMoTU1DKWcoaXMpaChcXGVsaWdpYmxlKWgoZm9yKWUocmVsaWNlbnNpbmciKWgoaWYpZyhpdClmKGlzKWgKKyhsaWNlbnNlZClmKHVuZGVyKWYodGhpcyloKExpY2Vuc2UsKWkoYW5kKWUoaWYpZyhhbGwpaCh3KW0ob3JrcykzMzAKKzM0MzIgeSh0aGF0KTQzIGIodyltKGVyZSlmKFwwMTRyc3QpZihwdWJsaXNoZWQpZih1bmRlciloKHRoaXMpaAorKExpY2Vuc2UpZyhzb21ld2hlcmUpZyhvdGhlcilnKHRoYW4pZyh0aGlzKWcoTU1DLCloKGFuZCkzMzAKKzM1NDIgeShzdWJzZXF1ZW4pbSh0bHkpMzQgYihpbmNvcnApcyhvcmF0ZWQpaChpbilmKHdob2xlKWgob3IpZyhpbilmCisocGFydCloKGluKW0odG8paCh0aGUpZihNTUMsKWcoXCgxXCkpaChoYWQpZShubyloKGNvKW0odiltKGVyKWgodGV4dHMpCiszMzAgMzY1MSB5KG9yKTMwIGIoaW4pbSh2KS01IGIoYXJpYW4pbSh0KTMyIGIoc2VjdGlvbnMsKWcoYW5kKWQoXCgyXCkpagorKHcpbShlcmUpZih0aCltKHVzKWYoaW5jb3JwKXMob3JhdGVkKWcocHJpb3IpZyh0byloKE5vKW0odiltKGVtKW0oYilzCisoZXIpZygxLClnKDIwMDguKTMzMCAzNzg2IHkoVGhlKTQwIGIob3ApcyhlcmF0b3IpaChvZilnKGFuKWYoTU1DKWgKKyhTaXRlKWcobWEpbSh5KWcocmVwdWJsaXNoKWUoYW4paChNTUMpaChjb24pbSh0YWluZWQpaChpbillKHRoZSloKHNpdGUpCitnKHVuZGVyKTMzMCAzODk1IHkoQ0MtQlktU0EpMzAgYihvbilnKHRoZSloKHNhbWUpZihzaXRlKWgoYXQpZyhhbiltKHkpZworKHRpbWUpZyhiKXMoZWZvcmUpZShBdWd1c3QpaCgxLCloKDIwMDksKWgocHJvKW0odmlkZWQpZSh0aGUpZyhNTUMpaChpcykKKzMzMCA0MDA1IHkoZWxpZ2libGUpaChmb3IpZShyZWxpY2Vuc2luZy4pcCBlb3AgZW5kCiAlJVBhZ2U6IDE1MCAxNTYKIFRlWERpY3QgYmVnaW4gMTUwIDE1NSBib3AgMTUwIC0xMTYgYSBGdCgxNTApMjUyNyBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKXAgZW9wIGVuZAorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5IEZyKEFEREVORFVNOik0NSBiKEhvKWwodyloKHRvKWYodXNlKWcKKyh0aGlzKWgoTGljZW5zZSlmKGZvcilnKHkpbChvdXIpZyhkbyl0KGN1bWVuKWwodHMpMTUwCis0NTggeSBGdChUKS04IGIobykzNSBiKHVzZSlmKHRoaXMpaChMaWNlbnNlKWcoaW4pZihhKWgoZG8pcyhjdW1lbiltKHQpZworKHkpbShvdSlmKGhhKW0odiltKGUpaSh3cml0dGVuLClnKGluY2x1ZGUpZihhKWYoY29wKW0oeSlpKG9mKWYodGhlKWYKKyhMaWNlbnNlKWgoaW4pZyh0aGUpMTUwIDU2OCB5KGRvKXMoY3VtZW4pbSh0KTMwIGIoYW5kKWcocHV0KWcodGhlKWcKKyhmb2xsbyltKHdpbmcpaShjb3ApbSh5cmlnaCltKHQpZyhhbmQpZShsaWNlbnNlKWgobm90aWNlcylnKGp1c3QpZgorKGFmdGVyKWgodGhlKWcodGl0bGUpaChwYWdlOik0NjggNjgwIHkgRmUoQ29weXJpZ2h0KTQyCitiKFwoQ1wpKTc5IGIgRmQoeWVhcik4OCBiKHlvdXIpNDAgYihuYW1lKTkgYiBGZSguKTQ2OAorNzY3IHkoUGVybWlzc2lvbik0MiBiKGlzKWUoZ3JhbnRlZClnKHRvKWcoY29weSwpaChkaXN0cmlidXRlKWcoYW5kL29yKWcKKyhtb2RpZnkpZih0aGlzKWcoZG9jdW1lbnQpNDY4IDg1NCB5KHVuZGVyKWgodGhlKWYodGVybXMpZyhvZilnKHRoZSlnCisoR05VKWcoRnJlZSlnKERvY3VtZW50YXRpb24paShMaWNlbnNlLClmKFZlcnNpb24pZygxLjMpNDY4Cis5NDEgeShvcilmKGFueSlnKGxhdGVyKWcodmVyc2lvbiloKHB1Ymxpc2hlZCloKGJ5KWQodGhlKWgoRnJlZSlnCisoU29mdHdhcmUpaChGb3VuZGF0aW9uOyk0NjggMTAyOSB5KHdpdGgpZyhubyllKEludmFyaWFudClqKFNlY3Rpb25zLClmCisobm8pZihGcm9udC1Db3ZlciloKFRleHRzLClnKGFuZClmKG5vKWYoQmFjay1Db3Zlcik0NjgKKzExMTYgeShUZXh0cy4pODAgYihBKTQwIGIoY29weSlnKG9mKWcodGhlKWYobGljZW5zZSlpKGlzKWYoaW5jbHVkZWQpaAorKGluKWYodGhlKWcoc2VjdGlvbilnKGVudGl0bGVkKWgoYGBHTlUpNDY4IDEyMDMgeShGcmVlKWcoRG9jdW1lbnRhdGlvbikKK2goTGljZW5zZScnLikyNzUgMTMzNyB5IEZ0KElmKWQoeSltKG91KWgoaGEpbSh2KW0oZSloKEluKW0odiktNQorYihhcmlhbiltKHQpNDEgYihTZWN0aW9ucywpaShGKS04IGIocm9uKW0odC1DbyltKHYpbShlcik0MgorYihUKS04IGIoZXh0cyk0MSBiKGFuZCllKEJhYyltKGstQ28pbSh2KW0oZXIpayhUKS04IGIoZXh0cywpNDMKK2IocmVwbGFjZSllKHRoZSkxNTAgMTQ0NyB5KFxcd2l0aCk2IGIoLikyMiBiKC4pZyguKTEyCitiKFQpLTggYihleHRzLiIpNDEgYihsaW5lKTMxIGIod2l0aClmKHRoaXM6KTU0NyAxNTU5Cit5IEZlKHdpdGgpNDAgYih0aGUpZyhJbnZhcmlhbnQpaChTZWN0aW9ucylnKGJlaW5nKWcgRmQobGlzdClmKHRoZWlyKWcKKyh0aXRsZXMpOSBiIEZlKCwpNDEgYih3aXRoKTU0NyAxNjQ2IHkodGhlKWYoRnJvbnQtQ292ZXIpaShUZXh0cyllCisoYmVpbmcpZyBGZChsaXN0KTkgYiBGZSgsKTQwIGIoYW5kKWcod2l0aClnKHRoZSlnKEJhY2stQ292ZXIpaShUZXh0cykKKzU0NyAxNzMzIHkoYmVpbmcpZSBGZChsaXN0KTkgYiBGZSguKTI3NSAxODY4IHkgRnQoSWYpMzQKK2IoeSltKG91KWkoaGEpbSh2KW0oZSlnKEluKW0odiktNSBiKGFyaWFuKW0odCkzNiBiKFNlY3Rpb25zKWcod2l0aG91dClmCisoQ28pbSh2KW0oZXIpaChUKS04IGIoZXh0cywpMzggYihvcilkKHNvbWUpZyhvdGhlciloKGNvbSltKGJpbmF0aW9uKWcKKyhvZilnKHRoZSkxNTAgMTk3OCB5KHRocmVlLCkzMSBiKG1lcmdlKWcodGhvc2UpZyh0KW0odyltKG8pZworKGFsdGVybmF0aXYpbShlcylpKHRvKWUoc3VpdClmKHRoZSloKHNpdHVhdGlvbi4pMjc1IDIxMTIKK3koSWYpMjMgYih5KW0ob3VyKWgoZG8pcyhjdW1lbiltKHQpZihjb24pbSh0YWlucylpKG5vbiltKHRyaXZpYWwpZworKGV4YW1wbGVzKWcob2YpZihwcm9ncmFtKWYoY28pcyhkZSwpaih3KW0oZSllKHJlY29tbWVuZClnKHJlbGVhc2luZykxNTAKKzIyMjIgeSh0aGVzZSk0NCBiKGV4YW1wbGVzKWYoaW4pZyhwYXJhbGxlbCloKHVuZGVyKWUoeSltKG91ciloKGMpbQorKGhvaWNlKWkob2YpZShmcmVlKWcoc29mdCltKHcpbShhcmUpaChsaWNlbnNlLClrKHN1YyltKGgpNDMKK2IoYXMpZyh0aGUpZyhHTlUpMTUwIDIzMzEgeShHZW5lcmFsKTMxIGIoUHVibGljKWYoTGljZW5zZSwpaSh0bylmKHApcworKGVybWl0KWUodGhlaXIpaSh1c2UpZihpbilnKGZyZWUpZyhzb2Z0KW0odyltKGFyZS4pcAorZW9wIGVuZAogJSVQYWdlOiAxNTEgMTU3CiBUZVhEaWN0IGJlZ2luIDE1MSAxNTYgYm9wIDE1MCAtMTE2IGEgRnQoQXBwKXMoZW5kaXgpMjkKIGIoRDopaShJbmRleGVzKTI2MjMgYigxNTEpMTUwIDI5OSB5IEZvKEFwcCl0KGVuZGl4KTUyCi1iKEQpMTE5IGIoSW5kZXhlcykxNTAgNjU2IHkgRnIoRC4xKTY4IGIoSW5kZXgpNDUgYihvZilnKFNoZWxsKWcKLShCdWlsdGluKWcoQ29tbWFuZHMpMTUwIDk3NyB5KC4pMTUwIDExMDUgeSBGZSguKTE3IGIKLUZjKC4pMTIgYiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQyIGIgRmIoMzUpMTUwIDEzNjcKLXkgRnIoOikxNTAgMTQ5NSB5IEZlKDopMTcgYiBGYyguKTEyIGIoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLikKLWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLik0MgotYiBGYigzNSkxNTAgMTc2NyB5IEZyKFspMTUwIDE4OTUgeSBGZShbKTE3IGIgRmMoLikxMgotYiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQyIGIgRmIoMzkpMTUwIDIxNjYgeSBGcihBKTE1MAotMjI5MyB5IEZlKGFsaWFzKTExIGIgRmMoLilqKC4pZSguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLikzNyBiIEZiKDQxKTE1MCAyNTU2Ci15IEZyKEIpMTUwIDI2ODQgeSBGZShiZykxNSBiIEZjKC4pZSguKWcoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pNDEKLWIgRmIoOTApMTUwIDI3NzcgeSBGZShiaW5kKTEzIGIgRmMoLilnKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pMzgKLWIgRmIoNDEpMTUwIDI4NjkgeSBGZShicmVhaykxMSBiIEZjKC4paiguKWUoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4pMzcgYgotRmIoMzUpMTUwIDI5NjIgeSBGZShidWlsdGluKTggYiBGYyguKTE0IGIoLillKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikzNCBiIEZiKDQyKTE1MAotMzIyNSB5IEZyKEMpMTUwIDMzNTIgeSBGZShjYWxsZXIpMTAgYiBGYyguKWooLilnKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pMzUKLWIgRmIoNDMpMTUwIDM0NDUgeSBGZShjZCkxNSBiIEZjKC4pZSguKWcoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pNDEKLWIgRmIoMzYpMTUwIDM1MzggeSBGZShjb21tYW5kKTggYiBGYyguKTE0IGIoLillKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikzNCBiIEZiKDQzKTE1MAotMzYzMSB5IEZlKGNvbXBnZW4pNyBiIEZjKC4pMTQgYiguKWUoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pMzMgYiBGYigxMTYpMTUwIDM3MjQgeSBGZShjb21wbGV0ZSkyNgotYiBGYyguKTEyIGIoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pCi01MCBiIEZiKDExNykxNTAgMzgxNyB5IEZlKGNvbXBvcHQpNyBiIEZjKC4pMTQgYiguKWUoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pMzMgYiBGYigxMjApMTUwCi0zOTEwIHkgRmUoY29udGludWUpNyBiIEZjKC4pMTQgYiguKWUoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pMzIgYiBGYigzNikxNTAgNDE3MiB5Ci1GcihEKTE1MCA0MzAwIHkgRmUoZGVjbGFyZSk4IGIgRmMoLikxNCBiKC4pZSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pMzQgYiBGYig0MykxNTAKLTQzOTMgeSBGZShkaXJzKTEzIGIgRmMoLilnKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pMzggYiBGYig4MikxNTAKLTQ0ODUgeSBGZShkaXNvd24pMTAgYiBGYyguKWooLilnKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pMzUgYiBGYig5MSkxNTAgNDc0OAoteSBGcihFKTE1MCA0ODc2IHkgRmUoZWNobykxMyBiIEZjKC4pZyguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTM4Ci1iIEZiKDQ0KTE1MCA0OTY5IHkgRmUoZW5hYmxlKTEwIGIgRmMoLilqKC4pZyguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTM1IGIgRmIoNDUpMTUwCi01MDYxIHkgRmUoZXZhbCkxMyBiIEZjKC4pZyguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTM4IGIgRmIoMzYpMTUwCi01MTU0IHkgRmUoZXhlYykxMyBiIEZjKC4pZyguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTM4IGIgRmIoMzYpMTUwCi01MjQ3IHkgRmUoZXhpdCkxMyBiIEZjKC4pZyguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTM4IGIgRmIoMzYpMTUwCi01MzQwIHkgRmUoZXhwb3J0KTEwIGIgRmMoLilqKC4pZyguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTM1IGIgRmIoMzYpMjAyNSA5NzcKLXkgRnIoRikyMDI1IDExMDQgeSBGZShmYykxNCBiIEZjKC4pZiguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLik0MQotYiBGYigxMjIpMjAyNSAxMTk2IHkgRmUoZmcpMTUgYiBGYyguKWUoLilmKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLikKLWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTQxCi1iIEZiKDkwKTIwMjUgMTQ3NCB5IEZyKEcpMjAyNSAxNjAxIHkgRmUoZ2V0b3B0cyk4IGIgRmMoLikxNAotYiguKWUoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKQotZiguKTM0IGIgRmIoMzcpMjAyNSAxODc5IHkgRnIoSCkyMDI1IDIwMDYgeSBGZShoYXNoKTEzCi1iIEZjKC4pZyguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLilnKC4paCguKWYoLilnKC4paCguKTM4IGIgRmIoMzcpMjAyNSAyMDk4IHkgRmUoaGVscCkxMwotYiBGYyguKWcoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4pZyguKWgoLilmKC4pZyguKWgoLikzOCBiIEZiKDQ2KTIwMjUgMjE5MCB5IEZlKGhpc3RvcnkpNwotYiBGYyguKTE0IGIoLillKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pCi1nKC4paCguKTMzIGIgRmIoMTIyKTIwMjUgMjQ2OSB5IEZyKEopMjAyNSAyNTk1IHkgRmUoam9icykxMwotYiBGYyguKWcoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4pZyguKWgoLilmKC4pZyguKWgoLikzOCBiIEZiKDkwKTIwMjUgMjg3NCB5IEZyKEspMjAyNQotMzAwMCB5IEZlKGtpbGwpMTMgYiBGYyguKWcoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLikzOCBiIEZiKDkxKTIwMjUKLTMyNjAgeSBGcihMKTIwMjUgMzM4NyB5IEZlKGxldCkxNCBiIEZjKC4pZiguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4pCi1oKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLik0MAotYiBGYig0NikyMDI1IDM0NzkgeSBGZShsb2NhbCkxMSBiIEZjKC4paSguKWcoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pMzcKLWIgRmIoNDYpMjAyNSAzNTcxIHkgRmUobG9nb3V0KTEwIGIgRmMoLilqKC4pZiguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLikKLWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTM1IGIKLUZiKDQ2KTIwMjUgMzg1MCB5IEZyKE0pMjAyNSAzOTc2IHkgRmUobWFwZmlsZSk4IGIgRmMoLikxNAotYiguKWUoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKQotZiguKTM0IGIgRmIoNDYpMjAyNSA0MjU1IHkgRnIoUCkyMDI1IDQzODEgeSBGZShwb3BkKTEzCi1iIEZjKC4pZyguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLilnKC4paCguKWYoLilnKC4paCguKTM4IGIgRmIoODIpMjAyNSA0NDczIHkgRmUocHJpbnRmKTEwCi1iIEZjKC4paiguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLikzNSBiIEZiKDQ3KTIwMjUgNDU2NiB5IEZlKHB1c2hkKTExIGIgRmMoLilpKC4pZyguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikzNwotYiBGYig4MikyMDI1IDQ2NTggeSBGZShwd2QpMTQgYiBGYyguKWYoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLikKLWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pNDAKLWIgRmIoMzgpMjAyNSA0OTM3IHkgRnIoUikyMDI1IDUwNjMgeSBGZShyZWFkKTEzIGIgRmMoLilnKC4pZiguKWcoLilnKC4pCi1oKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pCi0zOCBiIEZiKDQ3KTIwMjUgNTE1NSB5IEZlKHJlYWRhcnJheSkyNSBiIEZjKC4pMTMgYiguKWYoLilnKC4paCguKWYoLilnCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTQ5IGIgRmIoNDgpMjAyNQotNTI0OCB5IEZlKHJlYWRvbmx5KTcgYiBGYyguKTE0IGIoLillKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTMyIGIgRmIoMzgpMjAyNSA1MzQwIHkKLUZlKHJldHVybikxMCBiIEZjKC4paiguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikzNSBiIEZiKDM4KXAgZW9wIGVuZAorYihEKTgxIGIoSW5kZXhlcykxNTAgNjMxIHkgRnIoRC4xKTY4IGIoSW5kZXgpNDUgYihvZilnKFNoZWxsKWcoQnVpbHRpbikKK2coQ29tbWFuZHMpMTUwIDg2OCB5KC4pMTUwIDk4NCB5IEZlKC4pMTMgYiBGYyg6KWcoOilnKDopZyg6KWgoOilmKDopZworKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikKK2coOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KTM5IGIgRmIoMzUpMTUwIDEyMTggeSBGcig6KTE1MCAxMzM1Cit5IEZlKDopMTMgYiBGYyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikzOQorYiBGYigzNSkxNTAgMTU3OSB5IEZyKFspMTUwIDE2OTUgeSBGZShbKTEzIGIgRmMoOilnKDopZyg6KWcoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCitnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOikzOSBiIEZiKDM5KTE1MCAxOTM4IHkgRnIoQSkxNTAgMjA1NQoreSBGZShhbGlhcykyMSBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0NiBiIEZiKDQxKTE1MAorMjI4OSB5IEZyKEIpMTUwIDI0MDUgeSBGZShiZykxMCBiIEZjKDopayg6KWYoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOikzNyBiIEZiKDkwKTE1MCAyNDkzIHkgRmUoYmluZCkyMyBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopCitnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCis0OSBiIEZiKDQxKTE1MCAyNTgwIHkgRmUoYnJlYWspMjEgYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopaCg6KWYKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCitnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDYKK2IgRmIoMzUpMTUwIDI2NjggeSBGZShidWlsdGluKTE1IGIgRmMoOilmKDopZig6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2goOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0MQorYiBGYig0MykxNTAgMjkwMiB5IEZyKEMpMTUwIDMwMTkgeSBGZShjYWxsZXIpMTcgYiBGYyg6KWUoOillKDopZyg6KWcoOikKK2coOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKKzQzIGIgRmIoNDMpMTUwIDMxMDYgeSBGZShjZCkxMCBiIEZjKDopayg6KWYoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCisoOikzNyBiIEZiKDM2KTE1MCAzMTk0IHkgRmUoY29tbWFuZCkxNSBiIEZjKDopZig6KWYoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDEKK2IgRmIoNDMpMTUwIDMyODEgeSBGZShjb21wZ2VuKTEyIGIgRmMoOilqKDopZSg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM5IGIKK0ZiKDExNykxNTAgMzM2OCB5IEZlKGNvbXBsZXRlKTEwIGIgRmMoOikxNSBiKDopZSg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopMzcgYiBGYigxMTcpMTUwCiszNDU2IHkgRmUoY29tcG9wdCkxMiBiIEZjKDopaig6KWUoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCitnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzOSBiIEZiKDEyMCkxNTAgMzU0MworeSBGZShjb250aW51ZSkxMiBiIEZjKDopaig6KWUoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikzOCBiIEZiKDM2KTE1MCAzNzc4IHkKK0ZyKEQpMTUwIDM4OTQgeSBGZShkZWNsYXJlKTE1IGIgRmMoOilmKDopZig6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0MSBiCitGYig0MykxNTAgMzk4MiB5IEZlKGRpcnMpMjMgYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKK2YoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTQ5CitiIEZiKDgxKTE1MCA0MDY5IHkgRmUoZGlzb3duKTE3IGIgRmMoOillKDopZSg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDMKK2IgRmIoOTEpMTUwIDQzMDMgeSBGcihFKTE1MCA0NDIwIHkgRmUoZWNobykyMyBiIEZjKDopMTMKK2IoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopZyg6KTQ5IGIgRmIoNDUpMTUwIDQ1MDcgeSBGZShlbmFibGUpMTcKK2IgRmMoOillKDopZSg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopNDMgYiBGYig0NSkxNTAgNDU5NSB5IEZlKGV2YWwpMjMKK2IgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KQoraCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOik0OSBiIEZiKDM2KTE1MCA0NjgyIHkKK0ZlKGV4ZWMpMjMgYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCitnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTQ5IGIgRmIoMzYpMTUwCis0NzcwIHkgRmUoZXhpdCkyMyBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKKyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCitnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDkKK2IgRmIoMzYpMTUwIDQ4NTcgeSBGZShleHBvcnQpMTcgYiBGYyg6KWUoOillKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0MworYiBGYigzNikxNTAgNTExMCB5IEZyKEYpMTUwIDUyMjcgeSBGZShmYyk4IGIgRmMoOikxNAorYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikzNSBiIEZiKDEyMSkxNTAgNTMxNAoreSBGZShmZykxMCBiIEZjKDopayg6KWYoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgKKyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCitnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopMzcKK2IgRmIoOTApMjAyNSA4NjggeSBGcihHKTIwMjUgOTg4IHkgRmUoZ2V0b3B0cykxNSBiIEZjKDopZig6KWYoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopNDEKK2IgRmIoMzcpMjAyNSAxMjUwIHkgRnIoSCkyMDI1IDEzNzAgeSBGZShoYXNoKTIzIGIgRmMoOikxMworYig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KQoraCg6KWYoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYigzNykyMDI1IDE0NTkgeSBGZShoZWxwKTIzCitiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYig0NikyMDI1IDE1NDkKK3kgRmUoaGlzdG9yeSkxMiBiIEZjKDopaig6KWUoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCitnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikzOSBiIEZiKDEyMikyMDI1IDE4MTEKK3kgRnIoSikyMDI1IDE5MzEgeSBGZShqb2JzKTIzIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZworKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0OQorYiBGYig5MCkyMDI1IDIxOTMgeSBGcihLKTIwMjUgMjMxMyB5IEZlKGtpbGwpMjMgYiBGYyg6KTEzCitiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOik0OSBiIEZiKDkxKTIwMjUgMjU1NyB5IEZyKEwpMjAyNQorMjY3NyB5IEZlKGxldCk4IGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCitnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM0CitiIEZiKDQ2KTIwMjUgMjc2NiB5IEZlKGxvY2FsKTIxIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTQ2CitiIEZiKDQ2KTIwMjUgMjg1NiB5IEZlKGxvZ291dCkxNyBiIEZjKDopZCg6KWcoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQ0CitiIEZiKDQ2KTIwMjUgMzExOCB5IEZyKE0pMjAyNSAzMjM4IHkgRmUobWFwZmlsZSkxNSBiCitGYyg6KWYoOilmKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQoraCg6KWYoOilnKDopZyg6KTQxIGIgRmIoNDYpMjAyNSAzNTAwIHkgRnIoUCkyMDI1IDM2MjAKK3kgRmUocG9wZCkyMyBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYig4MikyMDI1CiszNzEwIHkgRmUocHJpbnRmKTE3IGIgRmMoOilkKDopZyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDQgYiBGYig0NykyMDI1CiszNzk5IHkgRmUocHVzaGQpMjEgYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDYgYgorRmIoODIpMjAyNSAzODg4IHkgRmUocHdkKTggYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKK2YoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopMzQKK2IgRmIoMzgpMjAyNSA0MTUwIHkgRnIoUikyMDI1IDQyNzAgeSBGZShyZWFkKTIzIGIgRmMoOikxMworYig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KQoraCg6KWYoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYig0NykyMDI1IDQzNjAgeSBGZShyZWFkYXJyYXkpOQorYiBGYyg6KTE1IGIoOilmKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOikzNiBiIEZiKDQ5KTIwMjUgNDQ0OSB5IEZlKHJlYWRvbmx5KTEyIGIgRmMoOilqKDopZSg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM5CitiIEZiKDM4KTIwMjUgNDUzOCB5IEZlKHJldHVybikxNyBiIEZjKDopZCg6KWcoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQ0CitiIEZiKDM4KTIwMjUgNDc4MiB5IEZyKFMpMjAyNSA0OTAyIHkgRmUoc2V0KTggYiBGYyg6KTEzCitiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgKKyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCitnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM0IGIgRmIoNTEpMjAyNSA0OTkxCit5IEZlKHNoaWZ0KTIxIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKKyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCitnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTQ2IGIgRmIoMzgpMjAyNQorNTA4MCB5IEZlKHNob3B0KTIxIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTQ2IGIKK0ZiKDU1KTIwMjUgNTE2OSB5IEZlKHNvdXJjZSkxNyBiIEZjKDopZCg6KWcoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQ0CitiIEZiKDQ5KTIwMjUgNTI1OSB5IEZlKHN1c3BlbmQpMTUgYiBGYyg6KWYoOilmKDopZyg6KWcoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTQxCitiIEZiKDkxKXAgZW9wIGVuZAogJSVQYWdlOiAxNTIgMTU4CiBUZVhEaWN0IGJlZ2luIDE1MiAxNTcgYm9wIDE1MCAtMTE2IGEgRnQoMTUyKTI1MjcgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRnIoUykxNTAgNDIzIHkgRmUoc2V0KTE0Ci1iIEZjKC4pZiguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikzOSBiIEZiKDUxKTE1MCA1MTQgeSBGZShzaGlmdCkxMQotYiBGYyguKWooLillKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4pZyguKWgoLilmKC4pZyguKTM3IGIgRmIoMzgpMTUwIDYwNiB5IEZlKHNob3B0KTExIGIKLUZjKC4paiguKWUoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pCi1nKC4paCguKWYoLilnKC4pMzcgYiBGYig1NCkxNTAgNjk3IHkgRmUoc291cmNlKTEwIGIgRmMoLilqKC4pZyguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTM1Ci1iIEZiKDQ5KTE1MCA3ODggeSBGZShzdXNwZW5kKTggYiBGYyguKTE0IGIoLillKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikzNCBiIEZiKDkxKTE1MAotMTA2MSB5IEZyKFQpMTUwIDExODUgeSBGZSh0ZXN0KTEzIGIgRmMoLilnKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLikKLWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pMzgKLWIgRmIoMzkpMTUwIDEyNzYgeSBGZSh0aW1lcykxMSBiIEZjKC4paiguKWUoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4pMzcgYgotRmIoNDApMTUwIDEzNjggeSBGZSh0cmFwKTEzIGIgRmMoLilnKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pMzgKLWIgRmIoNDApMjAyNSAyOTkgeSBGZSh0eXBlKTEzIGIgRmMoLilnKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pMzgKLWIgRmIoNDkpMjAyNSAzODYgeSBGZSh0eXBlc2V0KTggYiBGYyguKTE0IGIoLillKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLikzNCBiIEZiKDQ5KTIwMjUKLTYzOSB5IEZyKFUpMjAyNSA3NTUgeSBGZSh1bGltaXQpMTAgYiBGYyguKWooLilmKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pMzUgYgotRmIoNDkpMjAyNSA4NDMgeSBGZSh1bWFzaykxMSBiIEZjKC4paSguKWcoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pMzcgYgotRmIoNDEpMjAyNSA5MzAgeSBGZSh1bmFsaWFzKTggYiBGYyguKTE0IGIoLillKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLikzNCBiIEZiKDUwKTIwMjUKLTEwMTcgeSBGZSh1bnNldCkxMSBiIEZjKC4paSguKWcoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pMzcgYiBGYig0MSkyMDI1IDEyNTEKLXkgRnIoVykyMDI1IDEzNjggeSBGZSh3YWl0KTEzIGIgRmMoLilnKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pMzgKLWIgRmIoOTEpMTUwIDE2NDIgeSBGcihELjIpNjggYihJbmRleCk0NSBiKG9mKWcoU2hlbGwpZyhSZXNlcnYpbChlZCloKFcpCi0tMTEgYihvcmRzKTE1MCAxOTYzIHkoISkxNTAgMjA5NiB5IEZlKCEpMTggYiBGYyguKTEyCi1iKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pCi1oKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTQ0IGIgRmIoOCkxNTAgMjM4MiB5Ci1GcihbKTE1MCAyNTE1IHkgRmUoW1spMTUgYiBGYyguKWUoLilnKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTQxCi1iIEZiKDEyKTE1MCAyODA3IHkgRnIoXSkxNTAgMjk0MCB5IEZlKF1dKTE1IGIgRmMoLillKC4pZyguKWYoLilnKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKTQxIGIgRmIoMTIpMTUwIDMyMjYgeSBGYSh7KTE1MCAzMzU5IHkgRmUoeykxNyBiIEZjKC4pMTIKLWIoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLik0MiBiIEZiKDE0KTE1MCAzNjQ1IHkgRmEofSkxNTAKLTM3NzcgeSBGZSh9KTE3IGIgRmMoLikxMiBiKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4pCi1oKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pNDIKLWIgRmIoMTQpMTUwIDQwNjIgeSBGcihDKTE1MCA0MTk1IHkgRmUoY2FzZSkxMyBiIEZjKC4pZyguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTM4Ci1iIEZiKDExKTE1MCA0NDcxIHkgRnIoRCkxNTAgNDYwNCB5IEZlKGRvKTE1IGIgRmMoLillKC4pZyguKWYoLilnKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKTQxIGIgRmIoMTApMTUwIDQ3MDAgeSBGZShkb25lKTEzIGIgRmMoLilnKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pMzgKLWIgRmIoMTApMjAyNSAxOTYzIHkgRnIoRSkyMDI1IDIwNzkgeSBGZShlbGlmKTEzIGIgRmMoLilnKC4pZiguKWcoLilnKC4pCi1oKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pCi0zOCBiIEZiKDEwKTIwMjUgMjE2NiB5IEZlKGVsc2UpMTMgYiBGYyguKWcoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLikzOAotYiBGYigxMCkyMDI1IDIyNTQgeSBGZShlc2FjKTEzIGIgRmMoLilnKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pMzgKLWIgRmIoMTEpMjAyNSAyNDg3IHkgRnIoRikyMDI1IDI2MDMgeSBGZShmaSkxNSBiIEZjKC4pZSguKWYoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLik0MSBiIEZiKDEwKTIwMjUgMjY5MCB5IEZlKGZvcikxNCBiIEZjKC4pZiguKWYoLilnKC4paCguKWYoLilnKC4pCi1oKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLik0MAotYiBGYigxMCkyMDI1IDI3NzggeSBGZShmdW5jdGlvbik3IGIgRmMoLikxNCBiKC4pZSguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikzMiBiIEZiKDE1KTIwMjUKLTMwMTEgeSBGcihJKTIwMjUgMzEyNyB5IEZlKGlmKTE1IGIgRmMoLillKC4pZiguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLik0MQotYiBGYigxMCkyMDI1IDMyMTUgeSBGZShpbikxNSBiIEZjKC4pZSguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pNDEKLWIgRmIoMTEpMjAyNSAzNDQ4IHkgRnIoUykyMDI1IDM1NjQgeSBGZShzZWxlY3QpMTAgYiBGYyguKWooLilmKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pMzUKLWIgRmIoMTIpMjAyNSAzNzk3IHkgRnIoVCkyMDI1IDM5MTQgeSBGZSh0aGVuKTEzIGIgRmMoLilnKC4pZiguKWcoLilnKC4pCi1oKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pCi0zOCBiIEZiKDEwKTIwMjUgNDAwMSB5IEZlKHRpbWUpMTQgYiBGYyguKWYoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pNDAKLWIgRmIoOCkyMDI1IDQyMzQgeSBGcihVKTIwMjUgNDM1MCB5IEZlKHVudGlsKTExIGIgRmMoLilpKC4pZyguKWYoLilnKC4pCi1oKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikzNwotYiBGYigxMCkyMDI1IDQ1ODQgeSBGcihXKTIwMjUgNDcwMCB5IEZlKHdoaWxlKTExIGIgRmMoLilpKC4pZyguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikzNwotYiBGYigxMCkxNTAgNDk1NyB5IEZyKEQuMyk2OCBiKFApbChhcmFtZXRlcik0NyBiKGFuZClkKFYpLTExCi1iKGFyaWFibGUpNDYgYihJbmRleCkxNTAgNTI3OSB5KCEpMTgzNCBiIEZlKCEpMTcgYiBGYyguKTEyCi1iKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pCi1nKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pNDMgYiBGYigxNylwIGVvcCBlbmQKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcihUKTE1MCA0MjggeSBGZSh0ZXN0KTIzCitiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2goOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYigzOSkxNTAgNTIyIHkKK0ZlKHRpbWVzKTIxIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQ2IGIgRmIoNDApMTUwCis2MTYgeSBGZSh0cmFwKTIzIGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOik0OQorYiBGYig0MCkxNTAgNzA5IHkgRmUodHlwZSkyMyBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDkKK2IgRmIoNDkpMTUwIDgwMyB5IEZlKHR5cGVzZXQpMTUgYiBGYyg6KWYoOilmKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCitnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKKyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQxCitiIEZiKDQ5KTIwMjUgMjk5IHkgRnIoVSkyMDI1IDQxNSB5IEZlKHVsaW1pdCkxNyBiIEZjKDopZCg6KWcoOilmKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQorNDQgYiBGYig0OSkyMDI1IDUwMiB5IEZlKHVtYXNrKTIxIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTQ2CitiIEZiKDQxKTIwMjUgNTkwIHkgRmUodW5hbGlhcykxNSBiIEZjKDopZig6KWYoOilnKDopZyg6KWgoOilmKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCitnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopNDEKK2IgRmIoNTEpMjAyNSA2NzcgeSBGZSh1bnNldCkyMSBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKKyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCitnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0NgorYiBGYig0MSkyMDI1IDkxMCB5IEZyKFcpMjAyNSAxMDI2IHkgRmUod2FpdCkyMyBiIEZjKDopMTMKK2IoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2goOilmKDopZyg6KWcoOilnKDopZyg6KTQ5IGIgRmIoOTEpMTUwIDEyNTkgeSBGcihELjIpNjgKK2IoSW5kZXgpNDUgYihvZilnKFNoZWxsKWcoUmVzZXJ2KWwoZWQpaChXKS0xMSBiKG9yZHMpMTUwCisxNDk1IHkoISkxNTAgMTYxMiB5IEZlKCEpMTUgYiBGYyg6KWUoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCisoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQorZyg6KWcoOik0MiBiIEZiKDgpMTUwIDE4NTUgeSBGcihbKTE1MCAxOTcxIHkgRmUoW1spMTAKK2IgRmMoOilrKDopZig6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCitnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKKyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikzNyBiIEZiKDEyKTE1MAorMjIyMCB5IEZyKF0pMTUwIDIzMzcgeSBGZShdXSkxMCBiIEZjKDopayg6KWYoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOikzNyBiIEZiKDEyKTE1MCAyNTc5IHkgRmEoeykxNTAgMjY5NSB5IEZlKHspMTMgYiBGYyg6KWcoOilnKDopZyg6KWgKKyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCitnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKKyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTM5IGIgRmIoMTMpMTUwIDI5MzggeSBGYSh9KTE1MAorMzA1NCB5IEZlKH0pMTMgYiBGYyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCitnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikzOQorYiBGYigxMykxNTAgMzI5NiB5IEZyKEMpMTUwIDM0MTIgeSBGZShjYXNlKTIzIGIgRmMoOikxMworYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYigxMCkxNTAgMzY0NiB5IEZyKEQpMTUwCiszNzYyIHkgRmUoZG8pMTIgYiBGYyg6KWkoOilmKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQoraCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnCisoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikzOQorYiBGYig5KTE1MCAzODQ5IHkgRmUoZG9uZSk3IGIgRmMoOikxNCBiKDopZig6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM0CitiIEZiKDkpMTUwIDQwODMgeSBGcihFKTE1MCA0MTk5IHkgRmUoZWxpZikyMyBiIEZjKDopMTMKK2IoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopZyg6KTQ5IGIgRmIoMTApMjAyNSAxNDk1IHkgRmUoZWxzZSkyMworYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCitnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ5IGIgRmIoMTApMjAyNSAxNTg2Cit5IEZlKGVzYWMpMjMgYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KQoraCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnCisoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ5IGIgRmIoMTApMjAyNQorMTgzOCB5IEZyKEYpMjAyNSAxOTYxIHkgRmUoZmkpMTAgYiBGYyg6KWsoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopMzcgYiBGYigxMCkyMDI1IDIwNTIgeSBGZShmb3IpOCBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KTM0IGIgRmIoMTApMjAyNSAyMTQzIHkgRmUoZnVuY3Rpb24pMTIgYiBGYyg6KWooOillKDopZyg6KWcKKyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCitnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopMzkKK2IgRmIoMTQpMjAyNSAyMzk0IHkgRnIoSSkyMDI1IDI1MTggeSBGZShpZikxMCBiIEZjKDopayg6KWYoOilnKDopZyg6KWcKKyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCitnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKKyg6KWcoOilnKDopZyg6KWcoOikzNyBiIEZiKDEwKTIwMjUgMjYwOCB5IEZlKGluKTEwIGIKK0ZjKDopayg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKKyg6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCitnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzcgYiBGYigxMCkyMDI1CisyODYwIHkgRnIoUykyMDI1IDI5ODMgeSBGZShzZWxlY3QpMTcgYiBGYyg6KWQoOilnKDopZig6KWcoOilnKDopZyg6KWcKKyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0NAorYiBGYigxMSkyMDI1IDMyMzUgeSBGcihUKTIwMjUgMzM1OCB5IEZlKHRoZW4pMjMgYiBGYyg6KTEzCitiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOik0OSBiIEZiKDEwKTIwMjUgMzQ0OSB5IEZlKHRpbWUpNworYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCitnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopMzQgYiBGYig4KTIwMjUKKzM3MDEgeSBGcihVKTIwMjUgMzgyNCB5IEZlKHVudGlsKTIzIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0OQorYiBGYig5KTIwMjUgNDA3NiB5IEZyKFcpMjAyNSA0MTk5IHkgRmUod2hpbGUpMjMgYiBGYyg6KTEzCitiKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCitnKDopaCg6KWYoOilnKDopZyg6KWcoOik0OSBiIEZiKDkpMTUwIDQ0MzEgeSBGcihELjMpNjgKK2IoUClsKGFyYW1ldGVyKTQ3IGIoYW5kKWQoViktMTEgYihhcmlhYmxlKTQ2IGIoSW5kZXgpMTUwCis0NjY4IHkoISkxNTAgNDc5NCB5IEZlKCEpMTMgYiBGYyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQorZyg6KTM5IGIgRmIoMTcpMTUwIDUwNTQgeSBGcigjKTE1MCA1MTgwIHkgRmUoIykxMyBiIEZjKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopMzkgYiBGYigxNykyMDI1IDQ2NjggeSBGcigkKTIwMjUKKzQ3OTQgeSBGZSgkKTEzIGIgRmMoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopMzkKK2IgRmIoMTcpMjAyNSA1MDY3IHkgRnIoKikyMDI1IDUxOTIgeSBGZSgqKTEzIGIgRmMoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOikzOSBiIEZiKDE2KXAgZW9wIGVuZAogJSVQYWdlOiAxNTMgMTU5CiBUZVhEaWN0IGJlZ2luIDE1MyAxNTggYm9wIDE1MCAtMTE2IGEgRnQoQXBwKXMoZW5kaXgpMjkKLWIoRDopaShJbmRleGVzKTI2MjMgYigxNTMpMTUwIDI5OSB5IEZyKCMpMTUwIDQyNCB5IEZlKCMpMTcKLWIgRmMoLikxMiBiKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pNDIgYiBGYigxNykxNTAgNjg4Ci15IEZyKCQpMTUwIDgxMyB5IEZlKCQpMTcgYiBGYyguKTEyIGIoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLik0MgotYiBGYigxNykxNTAgMTA4NCB5IEZyKCopMTUwIDEyMDkgeSBGZSgqKTE3IGIgRmMoLikxMgotYiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQyIGIgRmIoMTcpMTUwIDE0NjQgeSBGcigtKTE1MAotMTU4OSB5IEZlKC0pMTcgYiBGYyguKTEyIGIoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLik0MgotYiBGYigxNykxNTAgMTg0NCB5IEZyKD8pMTUwIDE5NjkgeSBGZSg/KTE3IGIgRmMoLikxMgotYiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQyIGIgRmIoMTcpMTUwIDIyMjQgeSBGcihAKTE1MAotMjM0OCB5IEZlKEApMTcgYiBGYyguKTEyIGIoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLik0MgotYiBGYigxNylwIDE1OSAyNjAzIDQxIDYgdiAxNTAgMjcyOCBhIEZlKF8pMTcgYiBGYyguKTEyCi1iKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pCi1oKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pNDIgYiBGYigxNykxNTAgMjk4MyB5IEZyKDApMTUwCi0zMTA4IHkgRmUoMCkxNyBiIEZjKC4pMTIgYiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQyCi1iIEZiKDE3KTE1MCAzMzYzIHkgRnIoQSkxNTAgMzQ4OCB5IEZlKGF1dG9fcmVzdW1lKTIzCi1iIEZjKC4pMTIgYiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pNDYKLWIgRmIoOTIpMTUwIDM3NTIgeSBGcihCKTE1MCAzODc3IHkgRmUoQkFTSCkxMyBiIEZjKC4pZyguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTM4Ci1iIEZiKDYxKTE1MCAzOTY4IHkgRmUoQkFTSF9BTElBU0VTKTIyIGIgRmMoLikxMiBiKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pCi1oKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4pNDUgYiBGYig2MikxNTAgNDA2MCB5IEZlKEJBU0hfQVJHQykyNQotYiBGYyguKTEzIGIoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi00OSBiIEZiKDYyKTE1MCA0MTUxIHkgRmUoQkFTSF9BUkdWKTI1IGIgRmMoLikxMyBiKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pNDkgYiBGYig2MikxNTAKLTQyNDMgeSBGZShCQVNIX0NNRFMpMjUgYiBGYyguKTEzIGIoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pCi1nKC4paCguKWYoLilnKC4paCguKWYoLik0OSBiIEZiKDYyKTE1MCA0MzM0IHkgRmUoQkFTSF9DT01NQU5EKTIyCi1iIEZjKC4pMTIgYiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLik0NQotYiBGYig2MikxNTAgNDQyNiB5IEZlKEJBU0hfRU5WKTcgYiBGYyguKTE0IGIoLillKC4pZyguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKTMyIGIgRmIoNjIpMTUwCi00NTE3IHkgRmUoQkFTSF9FWEVDVVRJT05fU1RSSU5HKWQgRmMoLikxMiBiKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pNTAKLWIgRmIoNjIpMTUwIDQ2MDggeSBGZShCQVNIX0xJTkVOTykyMyBiIEZjKC4pMTIgYiguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLik0NiBiIEZiKDYyKTE1MCA0NzAwIHkKLUZlKEJBU0hfUkVNQVRDSCkyMiBiIEZjKC4pMTIgYiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pCi1mKC4pZyguKTQ1IGIgRmIoNjMpMTUwIDQ3OTEgeSBGZShCQVNIX1NPVVJDRSkyMyBiIEZjKC4pMTIKLWIoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTQ2Ci1iIEZiKDYzKTE1MCA0ODgzIHkgRmUoQkFTSF9TVUJTSEVMTCkxOCBiIEZjKC4pZCguKWQoLiloKC4pZiguKWcoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKWgoLilmKC4pNDMgYiBGYig2MykxNTAgNDk3NCB5IEZlKEJBU0hfVkVSU0lORk8pMTgKLWIgRmMoLilkKC4pZCguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pNDMKLWIgRmIoNjMpMTUwIDUwNjYgeSBGZShCQVNIX1ZFUlNJT04pMjIgYiBGYyguKTEyIGIoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLik0NSBiIEZiKDYzKTE1MCA1MTU3IHkgRmUoQkFTSFBJRCk4Ci1iIEZjKC4pMTQgYiguKWUoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKTM0IGIgRmIoNjIpMTUwIDUyNDkgeSBGZShiZWxsLXN0eWxlKTI0IGIKLUZjKC4pMTMgYiguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQ3Ci1iIEZiKDk3KTE1MCA1MzQwIHkgRmUoYmluZC10dHktc3BlY2lhbC1jaGFycykyOCBiIEZjKC4pMTIKLWIoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKTQ4IGIgRmIoOTcpMjAyNSAyOTkgeSBGcihDKTIwMjUgNDE3IHkgRmUoQ0RQQVRIKTEwCi1iIEZjKC4paiguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLikzNSBiIEZiKDYxKTIwMjUgNTA2IHkgRmUoQ09MVU1OUyk4IGIgRmMoLikxNAotYiguKWUoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKQotZiguKTM0IGIgRmIoNjMpMjAyNSA1OTQgeSBGZShjb21tZW50LWJlZ2luKTE4IGIgRmMoLilkKC4pZCguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLik0MyBiIEZiKDk3KTIwMjUgNjgzIHkgRmUoQ09NUF9DV09SRCkyNAotYiBGYyguKTEyIGIoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLik0OAotYiBGYig2MykyMDI1IDc3MSB5IEZlKENPTVBfS0VZKTcgYiBGYyguKTE0IGIoLillKC4pZyguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTMyIGIgRmIoNjQpMjAyNQotODYwIHkgRmUoQ09NUF9MSU5FKTI1IGIgRmMoLikxMyBiKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKWgoLilmKC4pZyguKWgoLilmKC4pNDkgYiBGYig2MykyMDI1IDk0OCB5IEZlKENPTVBfUE9JTlQpMjQKLWIgRmMoLikxMiBiKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pNDgKLWIgRmIoNjQpMjAyNSAxMDM2IHkgRmUoQ09NUF9UWVBFKTI1IGIgRmMoLikxMyBiKC4pZiguKWcoLiloKC4pZiguKWcoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pNDkgYiBGYig2NCkyMDI1IDExMjUKLXkgRmUoQ09NUF9XT1JEQlJFQUtTKTE1IGIgRmMoLilnKC4pZSguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQwCi1iIEZiKDY0KTIwMjUgMTIxMyB5IEZlKENPTVBfV09SRFMpMjQgYiBGYyguKTEyIGIoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTQ4IGIgRmIoNjQpMjAyNSAxMzAyCi15IEZlKGNvbXBsZXRpb24tcHJlZml4LWRpc3BsYXktbGVuZylxKHRoKTkgYiBGYyguKTE4Ci1iKC4pMTIgYiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLikzNCBiIEZiKDk3KTIwMjUKLTEzOTAgeSBGZShjb21wbGV0aW9uLXF1ZXJ5LWl0ZW1zKTI3IGIgRmMoLikxMyBiKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLik0OAotYiBGYig5NykyMDI1IDE0NzkgeSBGZShDT01QUkVQTFkpMjUgYiBGYyguKTEzIGIoLilmKC4pZyguKWgoLilmKC4pZyguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLik0OSBiIEZiKDY0KTIwMjUgMTU2NwoteSBGZShjb252ZXJ0LW1ldGEpMjIgYiBGYyguKTEyIGIoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLik0NSBiIEZiKDk4KTIwMjUgMTgwNyB5IEZyKEQpMjAyNSAxOTI1IHkgRmUoRElSU1RBQ0spNwotYiBGYyguKTE0IGIoLillKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4paCguKTMyIGIgRmIoNjQpMjAyNSAyMDE0IHkgRmUoZGlzYWJsZS1jb21wbGV0aW9uKTEwCi1iIEZjKC4pMTcgYiguKTEyIGIoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLikzNiBiIEZiKDk4KTIwMjUKLTIyNzIgeSBGcihFKTIwMjUgMjM5MCB5IEZlKGVkaXRpbmctbW9kZSkyMiBiIEZjKC4pMTIKLWIoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pNDUKLWIgRmIoOTgpMjAyNSAyNDc5IHkgRmUoRU1BQ1MpMTEgYiBGYyguKWkoLilnKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTM3Ci1iIEZiKDY0KTIwMjUgMjU2NyB5IEZlKGVuYWJsZS1rZXlwYWQpMTggYiBGYyguKWQoLilkKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKTQzIGIgRmIoOTgpMjAyNSAyNjU2IHkgRmUoRVVJRCkxMwotYiBGYyguKWcoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4pZyguKWgoLilmKC4pZyguKWgoLikzOCBiIEZiKDY1KTIwMjUgMjc0NCB5IEZlKGV4cGFuZC10aWxkZSkyMgotYiBGYyguKTEyIGIoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pNDUKLWIgRmIoOTgpMjAyNSAzMDAyIHkgRnIoRikyMDI1IDMxMjEgeSBGZShGQ0VESVQpMTAgYiBGYyguKWooLilmKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pMzUKLWIgRmIoNjUpMjAyNSAzMjA5IHkgRmUoRklHTk9SRSk4IGIgRmMoLikxNCBiKC4pZSguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pMzQgYiBGYig2NSkyMDI1Ci0zMjk3IHkgRmUoRlVOQ05BTUUpNyBiIEZjKC4pMTQgYiguKWUoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pMzIgYiBGYig2NSkyMDI1IDM1MzcgeQotRnIoRykyMDI1IDM2NTUgeSBGZShHTE9CSUdOT1JFKTI0IGIgRmMoLikxMiBiKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLik0OCBiIEZiKDY1KTIwMjUgMzc0NAoteSBGZShHUk9VUFMpMTAgYiBGYyguKWooLilmKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pCi1oKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pMzUgYiBGYig2NSkyMDI1IDM5ODMgeSBGcihIKTIwMjUKLTQxMDIgeSBGZShoaXN0Y2hhcnMpMjUgYiBGYyguKTEzIGIoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4paCguKWYoLik0OSBiIEZiKDY1KTIwMjUgNDE5MCB5IEZlKEhJU1RDTUQpOAotYiBGYyguKTE0IGIoLillKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pCi1nKC4paCguKWYoLikzNCBiIEZiKDY1KTIwMjUgNDI3OSB5IEZlKEhJU1RDT05UUk9MKTIzCi1iIEZjKC4pMTIgYiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pNDYKLWIgRmIoNjUpMjAyNSA0MzY3IHkgRmUoSElTVEZJTEUpNyBiIEZjKC4pMTQgYiguKWUoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLikKLWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pMzIgYiBGYig2NikyMDI1Ci00NDU2IHkgRmUoSElTVEZJTEVTSVpFKTIyIGIgRmMoLikxMiBiKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4pNDUgYiBGYig2NikyMDI1IDQ1NDQgeSBGZShISVNUSUdOT1JFKTI0Ci1iIEZjKC4pMTIgYiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTQ4Ci1iIEZiKDY2KTIwMjUgNDYzMiB5IEZlKGhpc3RvcnktcHJlc2VydmUtcG9pbnQpMjcgYiBGYyguKTEzCi1iKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLik0OCBiIEZiKDk4KTIwMjUgNDcyMSB5IEZlKGhpc3Rvcnktc2l6ZSkyMiBiIEZjKC4pMTIKLWIoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pNDUKLWIgRmIoOTgpMjAyNSA0ODA5IHkgRmUoSElTVFNJWkUpNyBiIEZjKC4pMTQgYiguKWUoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLikKLWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pMzIgYiBGYig2NikyMDI1Ci00ODk4IHkgRmUoSElTVFRJTUVGT1JNQVQpMTYgYiBGYyguKWYoLillKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloCi0oLilmKC4pNDIgYiBGYig2NikyMDI1IDQ5ODYgeSBGZShIT01FKTEzIGIgRmMoLilnKC4pZiguKWcoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pMzgKLWIgRmIoNjEpMjAyNSA1MDc1IHkgRmUoaG9yaXpvbnRhbC1zY3JvbGwtbW9kZSkyNyBiIEZjKC4pMTMKLWIoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKTQ4IGIgRmIoOTgpMjAyNSA1MTYzIHkgRmUoSE9TVEZJTEUpNyBiIEZjKC4pMTQKLWIoLillKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikKLTMyIGIgRmIoNjYpMjAyNSA1MjUyIHkgRmUoSE9TVE5BTUUpNyBiIEZjKC4pMTQgYiguKWUoLilnKC4paCguKWYoLilnKC4pCi1oKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pMzIgYiBGYig2NikyMDI1Ci01MzQwIHkgRmUoSE9TVFRZUEUpNyBiIEZjKC4pMTQgYiguKWUoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pMzIgYiBGYig2NilwIGVvcCBlbmQKK2IoRDopaShJbmRleGVzKTI2MjMgYigxNTMpMTUwIDI5OSB5IEZyKC0pMTUwIDQxNSB5IEZlKC0pMTMKK2IgRmMoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCitnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopMzkgYiBGYigxNykxNTAKKzY0OSB5IEZyKD8pMTUwIDc2NSB5IEZlKD8pMTMgYiBGYyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2goOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZworKDopZyg6KTM5IGIgRmIoMTcpMTUwIDk5OSB5IEZyKEApMTUwIDExMTUgeSBGZShAKTEzIGIKK0ZjKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTM5IGIgRmIoMTYpcAorMTU5IDEzNDkgNDEgNiB2IDE1MCAxNDY1IGEgRmUoXykxMyBiIEZjKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCitnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKKyg6KWcoOilnKDopMzkgYiBGYigxNykxNTAgMTY5OSB5IEZyKDApMTUwIDE4MTUgeSBGZSgwKTEzCitiIEZjKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTM5IGIgRmIoMTcpMTUwCisyMDQ5IHkgRnIoQSkxNTAgMjE2NiB5IEZlKGF1dG9fcmVzdW1lKTI0IGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDggYiBGYig5MikxNTAKKzI0MDkgeSBGcihCKTE1MCAyNTI1IHkgRmUoQkFTSCkyMyBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDkKK2IgRmIoNjEpMTUwIDI2MTIgeSBGZShCQVNIX0FMSUFTRVMpMjIgYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTQ1IGIgRmIoNjIpMTUwIDI3MDAKK3kgRmUoQkFTSF9BUkdDKTkgYiBGYyg6KTE2IGIoOilkKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCitnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikzNiBiIEZiKDYyKTE1MCAyNzg3IHkKK0ZlKEJBU0hfQVJHVik5IGIgRmMoOikxNiBiKDopZCg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCitnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzYgYiBGYig2MikxNTAgMjg3NCB5IEZlKEJBU0hfQ01EUyk5CitiIEZjKDopMTYgYig6KWQoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KTM2IGIgRmIoNjIpMTUwIDI5NjIgeSBGZShCQVNIX0NPTU1BTkQpMjIKK2IgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCisoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDUKK2IgRmIoNjIpMTUwIDMwNDkgeSBGZShCQVNIX0VOVikxMiBiIEZjKDopaig6KWUoOilnKDopZyg6KWcoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCitnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikzOCBiCitGYig2MikxNTAgMzEzNyB5IEZlKEJBU0hfRVhFQ1VUSU9OX1NUUklORykxMyBiIEZjKDopMTgKK2IoOikxMyBiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCitnKDopZyg6KWcoOiloKDopZig6KTM5IGIgRmIoNjIpMTUwIDMyMjQgeSBGZShCQVNIX0xJTkVOTykyNAorYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCis0OCBiIEZiKDYzKTE1MCAzMzExIHkgRmUoQkFTSF9SRU1BVENIKTIyIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCisoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0NSBiIEZiKDYzKTE1MAorMzM5OSB5IEZlKEJBU0hfU09VUkNFKTI0IGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDggYiBGYig2MykxNTAgMzQ4NiB5IEZlKEJBU0hfU1VCU0hFTEwpMTYKK2IgRmMoOilnKDopZSg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0MworYiBGYig2MykxNTAgMzU3MyB5IEZlKEJBU0hfVkVSU0lORk8pMTYgYiBGYyg6KWcoOillKDopZig6KWcoOilnKDopZyg6KWcKKyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDMgYiBGYig2MykxNTAgMzY2MSB5IEZlKEJBU0hfVkVSU0lPTikyMgorYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0NQorYiBGYig2MykxNTAgMzc0OCB5IEZlKEJBU0hfWFRSQUNFRkQpMTYgYiBGYyg6KWcoOillKDopZig6KWcoOilnKDopZyg6KWcKKyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDMgYiBGYig2MykxNTAgMzgzNSB5IEZlKEJBU0hPUFRTKTEyCitiIEZjKDopaig6KWUoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOikzOCBiIEZiKDYyKTE1MCAzOTIzIHkgRmUoQkFTSFBJRCkxNSBiCitGYyg6KWYoOilmKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOilnKDopZyg6KTQxIGIgRmIoNjIpMTUwIDQwMTAgeSBGZShiZWxsLXN0eWxlKTcKK2IgRmMoOikxNSBiKDopZSg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOikzMyBiIEZiKDk3KTE1MCA0MDk4IHkgRmUoYmluZC10dHktc3BlY2lhbC1jaGFycykxMAorYiBGYyg6KTE5IGIoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzcgYiBGYig5NykxNTAgNDM1MCB5IEZyKEMpMTUwCis0NDY2IHkgRmUoQ0RQQVRIKTE3IGIgRmMoOillKDopZSg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDMgYiBGYig2MSkxNTAKKzQ1NTQgeSBGZShDT0xVTU5TKTE1IGIgRmMoOilmKDopZig6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0MSBiIEZiKDY0KTE1MAorNDY0MSB5IEZlKGNvbW1lbnQtYmVnaW4pMTYgYiBGYyg6KWcoOillKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKKyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCitnKDopZyg6KWcoOilnKDopNDMgYiBGYig5NykxNTAgNDcyOCB5IEZlKENPTVBfQ1dPUkQpNworYiBGYyg6KTE1IGIoOillKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KTMzIGIgRmIoNjQpMTUwIDQ4MTYgeSBGZShDT01QX0tFWSkxMiBiIEZjKDopaig6KWUoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCitnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikzOAorYiBGYig2NCkxNTAgNDkwMyB5IEZlKENPTVBfTElORSk5IGIgRmMoOikxNiBiKDopZCg6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzYgYgorRmIoNjQpMTUwIDQ5OTEgeSBGZShDT01QX1BPSU5UKTcgYiBGYyg6KTE1IGIoOillKDopaCg6KWYoOilnKDopZyg6KWcoOikKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTMzIGIgRmIoNjQpMTUwCis1MDc4IHkgRmUoQ09NUF9UWVBFKTkgYiBGYyg6KTE2IGIoOilkKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCitnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikzNiBiIEZiKDY0KTE1MCA1MTY1Cit5IEZlKENPTVBfV09SREJSRUFLUykxMSBiIEZjKDopMTcgYig6KWMoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZworKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOilnKDopMzggYiBGYig2NCkxNTAgNTI1MyB5IEZlKENPTVBfV09SRFMpNyBiIEZjKDopMTUKK2IoOillKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKKzMzIGIgRmIoNjQpMTUwIDUzNDAgeSBGZShjb21wbGV0aW9uLXByZWZpeC1kaXNwbGF5LWxlbilxKGd0aCkyNQorYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQ1IGIgRmIoOTcpMjAyNQorMjk5IHkgRmUoY29tcGxldGlvbi1xdWVyeS1pdGVtcykxMCBiIEZjKDopMTggYig6KWMoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikzNworYiBGYig5NykyMDI1IDM4NyB5IEZlKENPTVBSRVBMWSk5IGIgRmMoOikxNSBiKDopZig6KWYoOilnKDopZyg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KQoraCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopMzYgYgorRmIoNjUpMjAyNSA0NzUgeSBGZShjb252ZXJ0LW1ldGEpMjEgYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQ1IGIgRmIoOTgpMjAyNSA3MTMgeQorRnIoRCkyMDI1IDgzMSB5IEZlKERJUlNUQUNLKTEyIGIgRmMoOilqKDopZSg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCitnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM5IGIgRmIoNjUpMjAyNQorOTE5IHkgRmUoZGlzYWJsZS1jb21wbGV0aW9uKTI1IGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKKzQ3IGIgRmIoOTgpMjAyNSAxMTc1IHkgRnIoRSkyMDI1IDEyOTMgeSBGZShlZGl0aW5nLW1vZGUpMjEKK2IgRmMoOikxNCBiKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDUKK2IgRmIoOTgpMjAyNSAxMzgxIHkgRmUoRU1BQ1MpMjEgYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDYKK2IgRmIoNjUpMjAyNSAxNDcwIHkgRmUoZW5hYmxlLWtleXBhZCkxNiBiIEZjKDopZyg6KWQoOilnKDopaCg6KWYoOilnKDopCitnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKKyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0MyBiIEZiKDk4KTIwMjUgMTU1OCB5CitGZShFVUlEKTIzIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0OSBiIEZiKDY1KTIwMjUKKzE2NDYgeSBGZShleHBhbmQtdGlsZGUpMjEgYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KWcoOilnKDopaCg6KTQ1IGIgRmIoOTgpMjAyNSAxOTAyIHkgRnIoRikyMDI1CisyMDIwIHkgRmUoRkNFRElUKTE3IGIgRmMoOilkKDopZyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDQgYiBGYig2NSkyMDI1CisyMTA4IHkgRmUoRklHTk9SRSkxNSBiIEZjKDopZig6KWYoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopNDEgYiBGYig2NSkyMDI1CisyMTk2IHkgRmUoRlVOQ05BTUUpMTIgYiBGYyg6KWooOillKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopMzkgYiBGYig2NSkyMDI1IDI0MzQKK3kgRnIoRykyMDI1IDI1NTIgeSBGZShHTE9CSUdOT1JFKTcgYiBGYyg6KTE1IGIoOillKDopZyg6KWcoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCitnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTMzIGIgRmIoNjUpMjAyNQorMjY0MCB5IEZlKEdST1VQUykxNyBiIEZjKDopZCg6KWcoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQ0IGIgRmIoNjUpMjAyNQorMjg3OCB5IEZyKEgpMjAyNSAyOTk2IHkgRmUoaGlzdGNoYXJzKTkgYiBGYyg6KTE1IGIoOilmKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikzNgorYiBGYig2NSkyMDI1IDMwODQgeSBGZShISVNUQ01EKTE1IGIgRmMoOilmKDopZig6KWcoOilnKDopaCg6KWYoOilnKDopZworKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOik0MQorYiBGYig2NikyMDI1IDMxNzIgeSBGZShISVNUQ09OVFJPTCkyNCBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQ4IGIgRmIoNjYpMjAyNQorMzI2MCB5IEZlKEhJU1RGSUxFKTEyIGIgRmMoOilqKDopZSg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM5IGIgRmIoNjYpMjAyNSAzMzQ4Cit5IEZlKEhJU1RGSUxFU0laRSkyMSBiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWcoOiloKDopNDUgYiBGYig2NikyMDI1IDM0MzYgeSBGZShISVNUSUdOT1JFKTcKK2IgRmMoOikxNSBiKDopZSg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWgoOikzMyBiIEZiKDY2KTIwMjUgMzUyNSB5IEZlKGhpc3RvcnktcHJlc2VydmUtcG9pbnQpMTAKK2IgRmMoOikxOCBiKDopYyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KTM3IGIgRmIoOTgpMjAyNSAzNjEzIHkgRmUoaGlzdG9yeS1zaXplKTIxCitiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQ1CitiIEZiKDk4KTIwMjUgMzcwMSB5IEZlKEhJU1RTSVpFKTEyIGIgRmMoOilqKDopZSg6KWcoOilnKDopZyg6KWcoOiloKDopZgorKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM5IGIKK0ZiKDY2KTIwMjUgMzc4OSB5IEZlKEhJU1RUSU1FRk9STUFUKTE0IGIgRmMoOilpKDopZCg6KWcoOilnKDopZyg6KWgoOilmCisoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWgoOilmKDopNDAgYiBGYig2NikyMDI1IDM4NzcgeSBGZShIT01FKTIzCitiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYig2MSkyMDI1IDM5NjUKK3kgRmUoaG9yaXpvbnRhbC1zY3JvbGwtbW9kZSkxMCBiIEZjKDopMTggYig6KWMoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikzNworYiBGYig5OCkyMDI1IDQwNTMgeSBGZShIT1NURklMRSkxMiBiIEZjKDopaig6KWUoOilnKDopZyg6KWcoOilnKDopaCg6KWYKKyg6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCitnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikzOSBiCitGYig2NykyMDI1IDQxNDEgeSBGZShIT1NUTkFNRSkxMiBiIEZjKDopaig6KWUoOilnKDopZyg6KWcoOilnKDopaCg6KWYKKyg6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCitnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikzOSBiCitGYig2NykyMDI1IDQyMzAgeSBGZShIT1NUVFlQRSkxMiBiIEZjKDopaig6KWUoOilnKDopZyg6KWcoOilnKDopaCg6KWYKKyg6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCitnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikzOSBiCitGYig2NykyMDI1IDQ0NjcgeSBGcihJKTIwMjUgNDU4NSB5IEZlKElGUyk4IGIgRmMoOikxMworYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzNCBiIEZiKDYxKTIwMjUgNDY3MworeSBGZShJR05PUkVFT0YpOSBiIEZjKDopMTUgYig6KWYoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTM2IGIgRmIoNjcpMjAyNSA0NzYxIHkKK0ZlKGlucHV0LW1ldGEpNyBiIEZjKDopMTUgYig6KWUoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWcoOiloKDopMzMgYiBGYig5OSkyMDI1IDQ4NTAgeSBGZShJTlBVVFJDKTE1CitiIEZjKDopZig6KWYoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQorZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopNDEgYiBGYig2NykyMDI1IDQ5MzggeSBGZShpc2VhcmNoLXRlcm1pbmF0b3JzKTE4CitiIEZjKDopZig6KWMoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0NSBiIEZiKDk5KTIwMjUgNTE3NQoreSBGcihLKTIwMjUgNTI5MyB5IEZlKGtleW1hcCkxNyBiIEZjKDopZCg6KWcoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgorKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQ0CitiIEZiKDk5KXAgZW9wIGVuZAogJSVQYWdlOiAxNTQgMTYwCiBUZVhEaWN0IGJlZ2luIDE1NCAxNTkgYm9wIDE1MCAtMTE2IGEgRnQoMTU0KTI1MjcgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRnIoSSkxNTAgNDIzIHkgRmUoSUZTKTE0Ci1iIEZjKC4pZiguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikzOSBiIEZiKDYxKTE1MCA1MTUgeSBGZShJR05PUkVFT0YpMjUKLWIgRmMoLikxMyBiKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKQotNDkgYiBGYig2NikxNTAgNjA2IHkgRmUoaW5wdXQtbWV0YSkyNCBiIEZjKC4pMTMgYiguKWYoLilnKC4paCguKWYoLilnCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pNDcgYiBGYig5OCkxNTAgNjk4Ci15IEZlKElOUFVUUkMpOCBiIEZjKC4pMTQgYiguKWUoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTM0IGIgRmIoNjcpMTUwIDc4OSB5IEZlCi0oaXNlYXJjaC10ZXJtaW5hdG9ycyk5IGIgRmMoLikxNyBiKC4pMTIgYiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pMzQKLWIgRmIoOTkpMTUwIDEwNDQgeSBGcihLKTE1MCAxMTY4IHkgRmUoa2V5bWFwKTEwIGIgRmMoLilqKC4pZyguKWYoLilnKC4pCi1oKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTM1Ci1iIEZiKDk5KTE1MCAxNDQyIHkgRnIoTCkxNTAgMTU2NiB5IEZlKExBTkcpMTMgYiBGYyguKWcoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLikzOAotYiBGYig2NykxNTAgMTY1OCB5IEZlKExDX0FMTCkxMCBiIEZjKC4paiguKWcoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLikzNSBiIEZiKDY3KTE1MAotMTc0OSB5IEZlKExDX0NPTExBVEUpMjQgYiBGYyguKTEzIGIoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4paCguKTQ3IGIgRmIoNjcpMTUwIDE4NDAgeSBGZShMQ19DVFlQRSk3Ci1iIEZjKC4pMTQgYiguKWUoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWcoLiloKC4pMzIgYiBGYig2NykxNTAgMTkzMiB5IEZlKExDX01FU1NBR0VTKTE0IGIgRmMoLiloKC4pZCguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLik0MCBiIEZiKDcsKTI2IGIoNjcpMTUwCi0yMDIzIHkgRmUoTENfTlVNRVJJQyllIEZjKC4pMTMgYiguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pNDcgYiBGYig2NykxNTAgMjExNCB5IEZlKExJTkVOTykxMAotYiBGYyguKWooLilnKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLikKLWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pMzUgYiBGYig2NykxNTAgMjIwNiB5IEZlKExJTkVTKTExIGIgRmMoLilqKC4pZSguKWcoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLikzNwotYiBGYig2NykxNTAgMjQ2MCB5IEZyKE0pMTUwIDI1ODUgeSBGZShNQUNIVFlQRSk3IGIgRmMoLikxNAotYiguKWUoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKQotMzIgYiBGYig2NykxNTAgMjY3NiB5IEZlKE1BSUwpMTMgYiBGYyguKWcoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLikzOAotYiBGYig2MSkxNTAgMjc2OCB5IEZlKE1BSUxDSEVDSykyNSBiIEZjKC4pMTMgYiguKWYoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTQ5IGIgRmIoNjcpMTUwIDI4NTkKLXkgRmUoTUFJTFBBVEgpNyBiIEZjKC4pMTQgYiguKWUoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKWgoLilmKC4pZyguKWcoLiloKC4pMzIgYiBGYig2MSkxNTAgMjk1MCB5IEZlKG1hcmstbW9kaWZpZWQtbGluZXMpOQotYiBGYyguKTE3IGIoLikxMiBiKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikzNCBiIEZiKDk5KTE1MCAzMDQyCi15IEZlKG1hcmstc3ltbGlua2VkLWRpcmVjdG9yaWVzKTE3IGIgRmMoLiloKC4pMTIgYiguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQyIGIgRmIoOTkpMTUwIDMxMzMKLXkgRmUobWF0Y2gtaGlkZGVuLWZpbGVzKTEwIGIgRmMoLikxNyBiKC4pMTIgYiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTM2Ci1iIEZiKDk5KTE1MCAzMjI1IHkgRmUobWV0YS1mbGFnKTI1IGIgRmMoLikxMyBiKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pNDkgYiBGYig5OCkxNTAgMzQ5OAoteSBGcihPKTE1MCAzNjIzIHkgRmUoT0xEUFdEKTEwIGIgRmMoLilqKC4pZyguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pCi1oKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTM1IGIgRmIoNjcpMTUwCi0zNzE0IHkgRmUoT1BUQVJHKTEwIGIgRmMoLilqKC4pZyguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTM1IGIgRmIoNjEpMTUwIDM4MDUKLXkgRmUoT1BURVJSKTEwIGIgRmMoLilqKC4pZyguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTM1IGIgRmIoNjcpMTUwIDM4OTcgeSBGZShPUFRJTkQpMTAKLWIgRmMoLilqKC4pZyguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKTM1IGIgRmIoNjEpMTUwIDM5ODggeSBGZShPU1RZUEUpMTAgYiBGYyguKWooLilnKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pMzUKLWIgRmIoNjcpMTUwIDQwNzkgeSBGZShvdXRwdXQtbWV0YSkyMyBiIEZjKC4pMTIgYiguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLik0NiBiIEZiKDk5KTIwMjUgMjk5IHkKLUZyKFApMjAyNSA0MTUgeSBGZShwYWdlLWNvbXBsZXRpb25zKTEzIGIgRmMoLilqKC4pYyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLikzOSBiIEZiKDk5KTIwMjUgNTAyIHkgRmUoUEFUSCkxMyBiIEZjKC4pZyguKWYoLilnKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKTM4Ci1iIEZiKDYxKTIwMjUgNTg5IHkgRmUoUElQRVNUQVRVUykyNCBiIEZjKC4pMTIgYiguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pNDggYiBGYig2NykyMDI1IDY3NyB5Ci1GZShQT1NJWExZX0NPUlJFQ1QpMTUgYiBGYyguKWcoLillKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pNDAKLWIgRmIoNjgpMjAyNSA3NjQgeSBGZShQUElEKTEzIGIgRmMoLilnKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pMzgKLWIgRmIoNjgpMjAyNSA4NTEgeSBGZShQUk9NUFRfQ09NTUFORCkxNiBiIEZjKC4pZiguKWUoLilmKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLilnKC4paCguKWYoLik0MiBiIEZiKDY4KTIwMjUgOTM4IHkgRmUoUFJPTVBUX0RJUlRSSU0pMTYKLWIgRmMoLilmKC4pZSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pCi1oKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLik0MiBiCi1GYig2OCkyMDI1IDEwMjYgeSBGZShQUzEpMTQgYiBGYyguKWYoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pNDAKLWIgRmIoNjEpMjAyNSAxMTEzIHkgRmUoUFMyKTE0IGIgRmMoLilmKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTQwCi1iIEZiKDYxKTIwMjUgMTIwMCB5IEZlKFBTMykxNCBiIEZjKC4pZiguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLik0MAotYiBGYig2OCkyMDI1IDEyODcgeSBGZShQUzQpMTQgYiBGYyguKWYoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLikKLWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pNDAKLWIgRmIoNjgpMjAyNSAxMzc0IHkgRmUoUFdEKTE0IGIgRmMoLilmKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTQwCi1iIEZiKDY4KTIwMjUgMTYwNyB5IEZyKFIpMjAyNSAxNzI0IHkgRmUoUkFORE9NKTEwIGIgRmMoLilqKC4pZiguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTM1Ci1iIEZiKDY4KTIwMjUgMTgxMSB5IEZlKFJFUExZKTExIGIgRmMoLilpKC4pZyguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikzNwotYiBGYig2OCkyMDI1IDE4OTggeSBGZShyZXZlcnQtYWxsLWF0LW5ld2xpbmUpMjggYiBGYyguKTEyCi1iKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcKLSguKWgoLik0OSBiIEZiKDEwMCkyMDI1IDIxMzEgeSBGcihTKTIwMjUgMjI0NyB5IEZlKFNFQ09ORFMpOAotYiBGYyguKTE0IGIoLillKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pCi1nKC4paCguKWYoLikzNCBiIEZiKDY4KTIwMjUgMjMzNCB5IEZlKFNIRUxMKTExIGIgRmMoLilpKC4pZyguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLikKLWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikzNwotYiBGYig2OCkyMDI1IDI0MjIgeSBGZShTSEVMTE9QVFMpMjUgYiBGYyguKTEzIGIoLilmKC4pZyguKWgoLilmKC4pZyguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLik0OSBiIEZiKDY4KTIwMjUgMjUwOQoteSBGZShTSExWTCkxMSBiIEZjKC4paSguKWcoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pMzcgYiBGYig2OSkyMDI1IDI1OTYKLXkgRmUoc2hvdy1hbGwtaWYtYW1iaWd1b3VzKTI4IGIgRmMoLikxMiBiKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLik0OSBiIEZiKDEwMCkyMDI1Ci0yNjgzIHkgRmUoc2hvdy1hbGwtaWYtdW5tb2RpZmllZCkyNiBiIEZjKC4pMTMgYiguKWYoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLik0OCBiIEZiKDEwMCkyMDI1Ci0yOTE2IHkgRnIoVCkyMDI1IDMwMzIgeSBGZShURVhURE9NQUlOKTI1IGIgRmMoLikxMiBiKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pNDkgYiBGYig3KTIwMjUKLTMxMjAgeSBGZShURVhURE9NQUlORElSKTIxIGIgRmMoLikxMyBiKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pNDUgYiBGYig3KTIwMjUgMzIwNyB5IEZlKFRJTUVGT1JNQVQpMjQKLWIgRmMoLikxMiBiKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pNDgKLWIgRmIoNjkpMjAyNSAzMjk0IHkgRmUoVE1PVVQpMTEgYiBGYyguKWkoLilnKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTM3Ci1iIEZiKDY5KTIwMjUgMzM4MSB5IEZlKFRNUERJUikxMCBiIEZjKC4paiguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikzNSBiCi1GYig2OSkyMDI1IDM2MTQgeSBGcihVKTIwMjUgMzczMCB5IEZlKFVJRCkxNCBiIEZjKC4pZiguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKTQwIGIgRmIoNjkpMjAyNSAzOTYzIHkgRnIoVikyMDI1IDQwNzkgeSBGZSh2aXNpYmxlLXN0YXRzKTE3Ci1iIEZjKC4pZSguKWQoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pNDMgYgotRmIoMTAwKTE1MCA0MzUzIHkgRnIoRC40KTY4IGIoRiktMTEgYih1bmN0aW9uKTQ0IGIoSW5kZXgpMTUwCi00Njc1IHkoQSkxNTAgNDc5MiB5IEZlKGFib3J0KTI3IGIoXChDLWdcKSk4IGIgRmMoLikxMwotYiguKWcoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pMzQKLWIgRmIoMTEyKTE1MCA0ODgwIHkgRmUoYWNjZXB0LWxpbmUpMjggYihcKE5ld2xpbmUpZyhvcillKFJldHVyblwpKTExCi1iIEZjKC4paSguKWcoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTM3IGIgRmIoMTA3KTE1MAotNDk2OCB5IEZlKGFsaWFzLWV4cGFuZC1saW5lKTI5IGIoXChcKSkxMyBiIEZjKC4pZyguKWcoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLikzOQotYiBGYigxMTQpMTUwIDUyMjMgeSBGcihCKTE1MCA1MzQwIHkgRmUoYmFja3dhcmQtY2hhcikyOQotYihcKEMtYlwpKTE1IGIgRmMoLillKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLik0MSBiIEZiKDEwNikyMDI1Ci00Njc1IHkgRmUoYmFja3dhcmQtZGVsZXRlLWNoYXIpMzAgYihcKFJ1Ym91dFwpKTE4IGIgRmMoLiljKC4pZiguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pNDQgYiBGYigxMDgpMjAyNSA0Nzg2Ci15IEZlKGJhY2t3YXJkLWtpbGwtbGluZSkyOSBiKFwoQy14KWUoUnVib3V0XCkpZCBGYyguKTEyCi1iKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLik0OCBiIEZiKDEwOSkyMDI1Ci00ODk2IHkgRmUoYmFja3dhcmQta2lsbC13b3JkKTI5IGIoXChcKSkxMiBiIEZjKC4paCguKWYoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKTM4Ci1iIEZiKDEwOSkyMDI1IDUwMDcgeSBGZShiYWNrd2FyZC1raWxsLXdvcmQpMjkgYihcKE0tKTI4NzMKLTUwMDQgeSBGZyhoKXAgMjg5OCA0OTUxIDE0NiA0IHYgMjg5OCA1MDA3IGEgRmYoREVMKXAKLTI4OTggNTAyMyBWIDMwNDAgNTAwNCBhIEZnKGkpMzA3MCA1MDA3IHkgRmUoXCkpMjAgYiBGYyguKTEyCi1iKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLik0NiBiCi1GYigxMDkpMjAyNSA1MTE4IHkgRmUoYmFja3dhcmQtd29yZCkyOCBiKFwoTS1iXCkpMTUgYgotRmMoLillKC4pZyguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLik0MSBiIEZiKDEwNikyMDI1IDUyMjkgeSBGZShiZWdpbm5pbmctb2YtaGlzdG9yeSkKLTMwIGIoXChNLTxcKSkyNCBiIEZjKC4pMTIgYiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKTQ5IGIgRmIoMTA3KTIwMjUgNTM0MCB5IEZlKGJlZ2lubmluZy1vZi1saW5lKTI5Ci1iKFwoQy1hXCkpOSBiIEZjKC4pMTQgYiguKWUoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLikzNSBiIEZiKDEwNilwIGVvcCBlbmQKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcihMKTE1MCA0MTUgeSBGZShMQU5HKTIzCitiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2goOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYig2NykxNTAgNTAyIHkKK0ZlKExDX0FMTCkxNyBiIEZjKDopZSg6KWUoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2goOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQzIGIgRmIoNjcpMTUwIDU4OQoreSBGZShMQ19DT0xMQVRFKTcgYiBGYyg6KTE1IGIoOillKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCisoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTMzIGIgRmIoNjcpMTUwIDY3NiB5IEZlKExDX0NUWVBFKTEyCitiIEZjKDopaig6KWUoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOikzOCBiIEZiKDY3KTE1MCA3NjQgeSBGZShMQ19NRVNTQUdFUykxMworYiBGYyg6KWooOilkKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKK2YoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTQwCitiIEZiKDcsKTI2IGIoNjcpMTUwIDg1MSB5IEZlKExDX05VTUVSSUMpNyBiIEZjKDopMTUgYig6KWUoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCitnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopMzMKK2IgRmIoNjcpMTUwIDkzOCB5IEZlKExJTkVOTykxNyBiIEZjKDopZSg6KWUoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCisoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQzCitiIEZiKDY3KTE1MCAxMDI1IHkgRmUoTElORVMpMjEgYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDYKK2IgRmIoNjcpMTUwIDEyNTggeSBGcihNKTE1MCAxMzc0IHkgRmUoTUFDSFRZUEUpMTIgYiBGYyg6KWooOillKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopMzgKK2IgRmIoNjcpMTUwIDE0NjEgeSBGZShNQUlMKTIzIGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2goOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOik0OQorYiBGYig2MSkxNTAgMTU0OSB5IEZlKE1BSUxDSEVDSyk5IGIgRmMoOikxNiBiKDopZCg6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzYgYgorRmIoNjgpMTUwIDE2MzYgeSBGZShNQUlMUEFUSCkxMiBiIEZjKDopaig6KWUoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikzOCBiIEZiKDYxKTE1MAorMTcyMyB5IEZlKG1hcmstbW9kaWZpZWQtbGluZXMpMTggYiBGYyg6KWcoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDQKK2IgRmIoOTkpMTUwIDE4MTAgeSBGZShtYXJrLXN5bWxpbmtlZC1kaXJlY3RvcmllcykxOCBiCitGYyg6KWcoOiljKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0NAorYiBGYig5OSkxNTAgMTg5NyB5IEZlKG1hdGNoLWhpZGRlbi1maWxlcykyNSBiIEZjKDopMTMKK2IoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQ3IGIgRmIoOTkpMTUwIDE5ODUgeQorRmUobWV0YS1mbGFnKTkgYiBGYyg6KTE2IGIoOilkKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOikzNiBiIEZiKDk5KTE1MCAyMjM2IHkgRnIoTykxNTAKKzIzNTIgeSBGZShPTERQV0QpMTcgYiBGYyg6KWUoOillKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCitnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0MyBiIEZiKDY4KTE1MAorMjQzOSB5IEZlKE9QVEFSRykxNyBiIEZjKDopZSg6KWUoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikKK2coOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQzIGIgRmIoNjEpMTUwCisyNTI2IHkgRmUoT1BURVJSKTE3IGIgRmMoOillKDopZSg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDMgYiBGYig2OCkxNTAKKzI2MTQgeSBGZShPUFRJTkQpMTcgYiBGYyg6KWUoOillKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCitnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0MyBiIEZiKDYxKTE1MAorMjcwMSB5IEZlKE9TVFlQRSkxNyBiIEZjKDopZSg6KWUoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikKK2coOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQzIGIgRmIoNjgpMTUwCisyNzg4IHkgRmUob3V0cHV0LW1ldGEpMjQgYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0OCBiIEZiKDk5KTE1MCAzMDQwIHkgRnIoUCkxNTAKKzMxNTYgeSBGZShwYWdlLWNvbXBsZXRpb25zKTkgYiBGYyg6KTE2IGIoOillKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKKyg6KWcoOilnKDopMzUgYiBGYig5OSkxNTAgMzI0MyB5IEZlKFBBVEgpMjMgYiBGYyg6KTEzCitiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCitnKDopZyg6KWcoOilnKDopZyg6KWcoOik0OSBiIEZiKDYxKTE1MCAzMzMwIHkgRmUoUElQRVNUQVRVUyk3CitiIEZjKDopMTUgYig6KWUoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKK2YoOilnKDopMzMgYiBGYig2OCkxNTAgMzQxNyB5IEZlKFBPU0lYTFlfQ09SUkVDVCkxMSBiCitGYyg6KTE3IGIoOiljKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikzOAorYiBGYig2OCkxNTAgMzUwNCB5IEZlKFBQSUQpMjMgYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQoraCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTQ5CitiIEZiKDY4KTE1MCAzNTkyIHkgRmUoUFJPTVBUX0NPTU1BTkQpMTQgYiBGYyg6KWkoOilkKDopZyg6KWgoOilmKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOik0MCBiIEZiKDY4KTIwMjUgMjk5IHkgRmUoUFJPTVBUX0RJUlRSSU0pMTQKK2IgRmMoOilpKDopZCg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCitnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTQwCitiIEZiKDY4KTIwMjUgMzg3IHkgRmUoUFMxKTggYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKK2YoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopMzQKK2IgRmIoNjEpMjAyNSA0NzUgeSBGZShQUzIpOCBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzNAorYiBGYig2MSkyMDI1IDU2MyB5IEZlKFBTMyk4IGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM0CitiIEZiKDY4KTIwMjUgNjUxIHkgRmUoUFM0KTggYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKK2YoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopMzQKK2IgRmIoNjgpMjAyNSA3MzkgeSBGZShQV0QpOCBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzNAorYiBGYig2OCkyMDI1IDk3NyB5IEZyKFIpMjAyNSAxMDk1IHkgRmUoUkFORE9NKTE3IGIgRmMoOilkKDopZyg6KWYoOilnCisoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQorZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOik0NCBiIEZiKDY4KTIwMjUgMTE4MyB5IEZlKFJFUExZKTIxIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTQ2CitiIEZiKDY4KTIwMjUgMTI3MSB5IEZlKHJldmVydC1hbGwtYXQtbmV3bGluZSkxMSBiIEZjKDopMTgKK2IoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCitnKDopZyg6KWcoOilnKDopMzggYiBGYigxMDApMjAyNSAxNTA4IHkgRnIoUykyMDI1IDE2MjYKK3kgRmUoU0VDT05EUykxNSBiIEZjKDopZig6KWYoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopNDEgYiBGYig2OSkyMDI1IDE3MTQKK3kgRmUoU0hFTEwpMjEgYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDYgYiBGYig2OSkyMDI1CisxODAyIHkgRmUoU0hFTExPUFRTKTkgYiBGYyg6KTE1IGIoOilmKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKKyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCitnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikzNiBiIEZiKDY5KTIwMjUgMTg5MAoreSBGZShTSExWTCkyMSBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0NiBiIEZiKDY5KTIwMjUKKzE5NzggeSBGZShzaG93LWFsbC1pZi1hbWJpZ3VvdXMpMTEgYiBGYyg6KTE4IGIoOikxMyBiKDopZyg6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzgKK2IgRmIoMTAwKTIwMjUgMjA2NyB5IEZlKHNob3ctYWxsLWlmLXVubW9kaWZpZWQpOCBiIEZjKDopMTgKK2IoOikxMyBiKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCitnKDopaCg6KWYoOikzNSBiIEZiKDEwMCkyMDI1IDIxNTUgeSBGZShza2lwLWNvbXBsZXRlZC10ZXh0KTE2CitiIEZjKDopaCg6KWMoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQzIGIgRmIoMTAwKTIwMjUgMjQxMSB5IEZyKFQpMjAyNQorMjUyOSB5IEZlKFRFWFRET01BSU4pOSBiIEZjKDopMTUgYig6KWUoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM2IGIgRmIoNykyMDI1IDI2MTcKK3kgRmUoVEVYVERPTUFJTkRJUikyMSBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopNDYgYiBGYig3KTIwMjUgMjcwNSB5IEZlKFRJTUVGT1JNQVQpNworYiBGYyg6KTE1IGIoOillKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCitnKDopaCg6KTMzIGIgRmIoNjkpMjAyNSAyNzkzIHkgRmUoVE1PVVQpMjEgYiBGYyg6KTEzCitiKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCitnKDopZyg6KWgoOilmKDopZyg6KTQ2IGIgRmIoNjkpMjAyNSAyODgxIHkgRmUoVE1QRElSKTE3CitiIEZjKDopZCg6KWcoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCisoOilnKDopZyg6KWcoOilnKDopZyg6KTQ0IGIgRmIoNzApMjAyNSAzMTE5IHkgRnIoVSkyMDI1CiszMjM2IHkgRmUoVUlEKTggYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgorKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikKK2coOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopMzQKK2IgRmIoNzApMjAyNSAzNDc0IHkgRnIoVikyMDI1IDM1OTIgeSBGZSh2aXNpYmxlLXN0YXRzKTE0CitiIEZjKDopaSg6KWQoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0MQorYiBGYigxMDApMTUwIDM4MzEgeSBGcihELjQpNjggYihGKS0xMSBiKHVuY3Rpb24pNDQgYihJbmRleCkxNTAKKzQwNjggeShBKTE1MCA0MTk1IHkgRmUoYWJvcnQpMjcgYihcKEMtZ1wpKTkgYiBGYyg6KTE0CitiKDopZig6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTM2CitiIEZiKDExMikxNTAgNDI4NyB5IEZlKGFjY2VwdC1saW5lKTI4IGIoXChOZXdsaW5lKWcob3IpZShSZXR1cm5cKSllCitGYyg6KTEzIGIoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik1MCBiCitGYigxMDcpMTUwIDQzODAgeSBGZShhbGlhcy1leHBhbmQtbGluZSkyOSBiKFwoXCkpMjEgYgorRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0NyBiIEZiKDExNCkxNTAgNDY1OSB5IEZyKEIpMTUwCis0Nzg1IHkgRmUoYmFja3dhcmQtY2hhcikyOSBiKFwoQy1iXCkpMjMgYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKKzQ5IGIgRmIoMTA2KTE1MCA0ODc4IHkgRmUoYmFja3dhcmQtZGVsZXRlLWNoYXIpMzAgYihcKFJ1Ym91dFwpKTE0CitiIEZjKDopaCg6KWYoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopNDEKK2IgRmIoMTA4KTE1MCA0OTcwIHkgRmUoYmFja3dhcmQta2lsbC1saW5lKTMwIGIoXChDLXgpYyhSdWJvdXRcKSkxNgorYiBGYyg6KWYoOillKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0MyBiIEZiKDEwOSkxNTAKKzUwNjMgeSBGZShiYWNrd2FyZC1raWxsLXdvcmQpMzAgYihcKFwpKTE4IGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQ0CitiIEZiKDEwOSkxNTAgNTE1NSB5IEZlKGJhY2t3YXJkLWtpbGwtd29yZCkzMCBiKFwoTS1ERUxcKSkyMworYiBGYyg6KTEzIGIoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQorNDkgYiBGYigxMDkpMTUwIDUyNDggeSBGZShiYWNrd2FyZC13b3JkKTI5IGIoXChNLWJcKSkyMworYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKKyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0OSBiIEZiKDEwNikxNTAgNTM0MCB5CitGZShiZWdpbm5pbmctb2YtaGlzdG9yeSkzMCBiKFwoTS08XCkpMjMgYiBGYyg6KTEzIGIoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYigxMDcpMjAyNQorNDA2OCB5IEZlKGJlZ2lubmluZy1vZi1saW5lKTI5IGIoXChDLWFcKSkxMyBiIEZjKDopaCg6KWYoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDAKK2IgRmIoMTA2KTIwMjUgNDMyOSB5IEZyKEMpMjAyNSA0NDQ5IHkgRmUoY2FsbC1sYXN0LWtiZC1tYWNybykzMAorYihcKEMteCljKGVcKSk5IGIgRmMoOikxNCBiKDopZig6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KTM2IGIgRmIoMTEyKTIwMjUgNDUzOCB5IEZlKGNhcGl0YWxpemUtd29yZCkyOQorYihcKE0tY1wpKTE4IGIgRmMoOiljKDopZig6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQ1IGIgRmIoMTA5KTIwMjUgNDYyNworeSBGZShjaGFyYWN0ZXItc2VhcmNoKTI5IGIoXChDLV1cKSkxNSBiIEZjKDopZig6KWcoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTQyCitiIEZiKDExMykyMDI1IDQ3MTYgeSBGZShjaGFyYWN0ZXItc2VhcmNoLWJhY2t3YXJkKTMxCitiKFwoTS1DLV1cKSkyMyBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTQ4CitiIEZiKDExMykyMDI1IDQ4MDYgeSBGZShjbGVhci1zY3JlZW4pMjggYihcKEMtbFwpKTggYgorRmMoOikxNSBiKDopZSg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzNSBiIEZiKDEwNikyMDI1Cis0ODk1IHkgRmUoY29tcGxldGUpMjcgYihcKFRBQlwpKTIwIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWgoOilmCisoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWgoOik0NSBiIEZiKDExMCkyMDI1IDQ5ODQgeSBGZShjb21wbGV0ZS1jb21tYW5kKTI5CitiKFwoTS0hXCkpMTUgYiBGYyg6KWYoOilnKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOik0MiBiIEZiKDExMSkyMDI1IDUwNzMKK3kgRmUoY29tcGxldGUtZmlsZW5hbWUpMjkgYihcKE0tL1wpKTEzIGIgRmMoOiloKDopZig6KWcoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOik0MAorYiBGYigxMTEpMjAyNSA1MTYyIHkgRmUoY29tcGxldGUtaG9zdG5hbWUpMjkgYihcKE0tQFwpKTEzCitiIEZjKDopaCg6KWYoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorZyg6KWcoOilnKDopNDAgYiBGYigxMTEpMjAyNSA1MjUxIHkgRmUoY29tcGxldGUtaW50by1icmFjZXMpMzAKK2IoXChNLXtcKSkyMyBiIEZjKDopMTMgYig6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCitnKDopZyg6KWcoOik0OSBiIEZiKDExMikyMDI1IDUzNDAgeSBGZShjb21wbGV0ZS11c2VybmFtZSkyOQorYihcKE0tflwpKTEzIGIgRmMoOiloKDopZig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCisoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOik0MCBiIEZiKDExMSlwIGVvcCBlbmQKICUlUGFnZTogMTU1IDE2MQogVGVYRGljdCBiZWdpbiAxNTUgMTYwIGJvcCAxNTAgLTExNiBhIEZ0KEFwcClzKGVuZGl4KTI5Ci1iKEQ6KWkoSW5kZXhlcykyNjIzIGIoMTU1KTE1MCAyOTkgeSBGcihDKTE1MCA0MjggeSBGZQotKGNhbGwtbGFzdC1rYmQtbWFjcm8pMzAgYihcKEMteCljKGVcKSkxMCBiIEZjKC4paiguKWYoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTM2IGIgRmIoMTEyKTE1MCA1MjEKLXkgRmUoY2FwaXRhbGl6ZS13b3JkKTI5IGIoXChNLWNcKSkxMiBiIEZjKC4paCguKWcoLilmKC4pZyguKWgoLilmKC4pZwotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTM4Ci1iIEZiKDEwOSkxNTAgNjE1IHkgRmUoY2hhcmFjdGVyLXNlYXJjaCkyOSBiKFwoQy1dXCkpMTAKLWIgRmMoLilrKC4pZSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4pZyguKWgoLikzNiBiIEZiKDExMykxNTAgNzA4IHkgRmUoY2hhcmFjdGVyLXNlYXJjaC1iYWNrd2FyZCkzMQotYihcKE0tQy1dXCkpMTIgYiBGYyguKWooLilkKC4pZyguKWgoLilmKC4pZyguKWgoLikzOAotYiBGYigxMTMpMTUwIDgwMiB5IEZlKGNsZWFyLXNjcmVlbikyOCBiKFwoQy1sXCkpMTYgYgotRmMoLillKC4pZSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pNDIgYiBGYigxMDYpMTUwIDg5NiB5IEZlKGNvbXBsZXRlKTI3Ci1iKFwoKTUyOCA4OTMgeSBGZyhoKXAgNTUzIDgzOSAxNDggNCB2IDU1MyA4OTYgYSBGZihUKS02Ci1iKEFCKXAgNTUzIDkxMSBWIDY5NyA4OTMgYSBGZyhpKTcyNiA4OTYgeSBGZShcKSkxOCBiCi1GYyguKTEzIGIoLilmKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTQ0IGIgRmIoMTEwKTE1MAotOTg5IHkgRmUoY29tcGxldGUtY29tbWFuZCkyOSBiKFwoTS0hXCkpMTAgYiBGYyguKWsoLillKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKTM2Ci1iIEZiKDExMSkxNTAgMTA4MyB5IEZlKGNvbXBsZXRlLWZpbGVuYW1lKTI5IGIoXChNLS9cKSk5Ci1iIEZjKC4pMTQgYiguKWUoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLikzNSBiIEZiKDExMSkxNTAgMTE3NiB5IEZlKGNvbXBsZXRlLWhvc3RuYW1lKTI5Ci1iKFwoTS1AXCkpOSBiIEZjKC4pMTQgYiguKWUoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLikzNSBiIEZiKDExMSkxNTAgMTI3MCB5IEZlKGNvbXBsZXRlLWludG8tYnJhY2VzKQotMzAgYihcKE0te1wpKTI0IGIgRmMoLikxMiBiKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgKLSguKWYoLilnKC4pNDkgYiBGYigxMTIpMTUwIDEzNjMgeSBGZShjb21wbGV0ZS11c2VybmFtZSkyOQotYihcKE0tflwpKTkgYiBGYyguKTE0IGIoLillKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4pMzUgYiBGYigxMTEpMTUwIDE0NTcgeSBGZShjb21wbGV0ZS12YXJpYWJsZSkyOQotYihcKE0tJFwpKTkgYiBGYyguKTE0IGIoLillKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4pMzUgYiBGYigxMTEpMTUwIDE1NTAgeSBGZShjb3B5LWJhY2t3YXJkLXdvcmQpMzAKLWIoXChcKSkxMiBiIEZjKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTM4IGIgRmIoMTEwKTE1MCAxNjQ0IHkgRmUoY29weS1mb3J3YXJkLXdvcmQpCi0yOSBiKFwoXCkpMTMgYiBGYyguKWcoLilnKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pMzkgYiBGYigxMTApMTUwIDE3MzcKLXkgRmUoY29weS1yZWdpb24tYXMta2lsbCkzMCBiKFwoXCkpMTAgYiBGYyguKWooLilmKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKTM2Ci1iIEZiKDExMCkxNTAgMjAyMiB5IEZyKEQpMTUwIDIxNTEgeSBGZShkYWJicmV2LWV4cGFuZCkyOQotYihcKFwpKTE4IGIgRmMoLikxMiBiKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQzIGIgRmIoMTEyKTE1MAotMjI0NSB5IEZlKGRlbGV0ZS1jaGFyKTI4IGIoXChDLWRcKSkxOCBiIEZjKC4pMTMgYiguKWYoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotaCguKTQzIGIgRmIoMTA4KTE1MCAyMzM4IHkgRmUoZGVsZXRlLWNoYXItb3ItbGlzdCkzMAotYihcKFwpKTEwIGIgRmMoLilqKC4pZiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4pZyguKWgoLikzNiBiIEZiKDExMSkxNTAgMjQzMiB5IEZlCi0oZGVsZXRlLWhvcml6b250YWwtc3BhY2UpMzEgYihcKFwpKTIzIGIgRmMoLikxMiBiKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4pNDkgYiBGYigxMTApMTUwIDI1MjUKLXkgRmUoZGlnaXQtYXJndW1lbnQpMjkgYihcKClwIEZkKE0tMClwIEZlKCwpZSBGZChNLTEpcAotRmUoLClmKC4uLilnIEZkKE0tLSlwIEZlKFwpKTEzIGIgRmMoLiloKC4pZSguKWgoLilmKC4pZyguKWcoLiloKC4pMzkKLWIgRmIoMTEwKTE1MCAyNjE5IHkgRmUoZGlzcGxheS1zaGVsbC12ZXJzaW9uKTMwIGIoXChDLXgpZChDLXZcKSljCi1GYyguKTEyIGIoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTQ4IGIgRmIoMTE0KTE1MAotMjcxMiB5IEZlKGRvLXVwcGVyY2FzZS12ZXJzaW9uKTMwIGIoXChNLWEsKWQoTS1iLClmKE0tKXAKLUZkKHgpcCBGZSgsKWgoLi4uKXEoXCkpMzE3IDI3OTkgeSBGYyguKTEyIGIoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTM5Ci1iIEZiKDExMikxNTAgMjg5MyB5IEZlKGRvd25jYXNlLXdvcmQpMjkgYihcKE0tbFwpKTE1Ci1iIEZjKC4pZSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLilnKC4paCguKWYoLilnKC4pNDEgYiBGYigxMDgpMTUwIDI5ODcgeSBGZShkdW1wLWZ1bmN0aW9ucykyOQotYihcKFwpKTE4IGIgRmMoLikxMiBiKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQzIGIgRmIoMTEzKTE1MAotMzA4MCB5IEZlKGR1bXAtbWFjcm9zKTI4IGIoXChcKSkyMiBiIEZjKC4pMTMgYiguKWYoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKTQ4IGIgRmIoMTEzKTE1MCAzMTc0IHkgRmUoZHVtcC12YXJpYWJsZXMpMjkKLWIoXChcKSkxOCBiIEZjKC4pMTIgYiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLik0MyBiIEZiKDExMykxNTAKLTMyNjcgeSBGZShkeW5hbWljLWNvbXBsZXRlLWhpc3RvcnkpMzEgYihcKE0tKTEyMzQgMzI2NAoteSBGZyhoKXAgMTI1OSAzMjExIFYgMTI1OSAzMjY3IGEgRmYoVCktNiBiKEFCKXAgMTI1OQotMzI4MiBWIDE0MDMgMzI2NCBhIEZnKGkpMTQzMiAzMjY3IHkgRmUoXCkpMTAgYiBGYyguKWooLilnKC4pZiguKWcoLiloCi0oLilmKC4pMzYgYiBGYigxMTIpMTUwIDM1NTIgeSBGcihFKTE1MCAzNjgxIHkgRmUKLShlZGl0LWFuZC1leGVjdXRlLWNvbW1hbmQpMzEgYihcKEMteEMtZVwpKTEyIGIgRmMoLilqKC4pZCguKWcoLiloKC4pZgotKC4pZyguKWgoLikzOCBiIEZiKDExNCkxNTAgMzc3NCB5IEZlKGVuZC1rYmQtbWFjcm8pMjkKLWIoXChDLXgpZChcKVwpKTE5IGIgRmMoLikxMiBiKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pNDQgYiBGYigxMTIpMTUwCi0zODY4IHkgRmUoZW5kLW9mLWhpc3RvcnkpMjkgYihcKE0tPlwpKTEzIGIgRmMoLilnKC4pZyguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTM5Ci1iIEZiKDEwNykxNTAgMzk2MiB5IEZlKGVuZC1vZi1saW5lKTI4IGIoXChDLWVcKSkxOCBiCi1GYyguKTEzIGIoLilmKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pNDMgYiBGYigxMDYpMTUwIDQwNTUKLXkgRmUoZXhjaGFuZ2UtcG9pbnQtYW5kLW1hcmspMzEgYihcKEMteCkyNiBiKEMteFwpKTIxCi1iIEZjKC4pMTIgYiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKTQ1IGIgRmIoMTEzKTE1MAotNDM0MCB5IEZyKEYpMTUwIDQ0NjkgeSBGZShmb3J3YXJkLWJhY2t3YXJkLWRlbGV0ZS1jaGFyKTMyCi1iKFwoXCkpMTUgYiBGYyguKWUoLilmKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQxCi1iIEZiKDEwOCkxNTAgNDU2MiB5IEZlKGZvcndhcmQtY2hhcikyOCBiKFwoQy1mXCkpMTYgYgotRmMoLillKC4pZSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pNDIgYiBGYigxMDYpMTUwIDQ2NTYgeSBGZQotKGZvcndhcmQtc2VhcmNoLWhpc3RvcnkpMzEgYihcKEMtc1wpKTIwIGIgRmMoLikxMyBiKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTQ2IGIgRmIoMTA3KTE1MCA0NzQ5IHkgRmUoZm9yd2FyZC13b3JkKTI4Ci1iKFwoTS1mXCkpMTYgYiBGYyguKWUoLillKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLik0MiBiIEZiKDEwNikxNTAKLTUwMjQgeSBGcihHKTE1MCA1MTUzIHkgRmUoZ2xvYi1jb21wbGV0ZS13b3JkKTMwIGIoXChNLWdcKSk3Ci1iIEZjKC4pMTQgYiguKWUoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKTMzIGIgRmIoMTEzKTE1MCA1MjQ2IHkgRmUoZ2xvYi1leHBhbmQtd29yZCljKFwoQy14KWUoKlwpKTE0Ci1iIEZjKC4pZiguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKTQwIGIgRmIoMTE0KTE1MCA1MzQwIHkgRmUoZ2xvYi1saXN0LWV4cGFuc2lvbnMpMzAKLWIoXChDLXgpZChnXCkpOCBiIEZjKC4pMTMgYiguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pMzQgYiBGYigxMTQpMjAyNSAyOTkgeSBGcihIKTIwMjUgNDMxIHkgRmUKLShoaXN0b3J5LWFuZC1hbGlhcy1leHBhbmQtbGluZSllKFwoXCkpMTQgYiBGYyguKWYoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLik0MCBiIEZiKDExNCkyMDI1IDUyNiB5IEZlKGhpc3RvcnktZXhwYW5kLWxpbmUpMzAKLWIoXChNLV5cKSkyNSBiIEZjKC4pMTIgYiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pCi1mKC4pZyguKWgoLik1MCBiIEZiKDExNCkyMDI1IDYyMSB5IEZlKGhpc3Rvcnktc2VhcmNoLWJhY2t3YXJkKTMxCi1iKFwoXCkpMjMgYiBGYyguKTEyIGIoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLik0OSBiIEZiKDEwNykyMDI1IDcxNiB5IEZlKGhpc3Rvcnktc2VhcmNoLWZvcndhcmQpMzAKLWIoXChcKSkyNSBiIEZjKC4pMTIgYiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZgotKC4pZyguKWgoLik1MCBiIEZiKDEwNykyMDI1IDEwMDggeSBGcihJKTIwMjUgMTE0MCB5IEZlKGluc2VydC1jb21tZW50KQotMjkgYihcKE0tI1wpKTEzIGIgRmMoLilnKC4pZyguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTM5IGIgRmIoMTEzKTIwMjUKLTEyMzUgeSBGZShpbnNlcnQtY29tcGxldGlvbnMpMjkgYihcKE0tKlwpKTcgYiBGYyguKTE0Ci1iKC4pZiguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKTM0Ci1iIEZiKDExMSkyMDI1IDEzMzAgeSBGZShpbnNlcnQtbGFzdC1hcmd1bWVudCljKFwoTS0uKWMob3IpZyhNLV9cKSk4Ci1iIEZjKC4pMTQgYiguKWUoLilnKC4paCguKWYoLilnKC4paCguKWYoLikzNCBiIEZiKDExNCkyMDI1Ci0xNjIyIHkgRnIoSykyMDI1IDE3NTQgeSBGZShraWxsLWxpbmUpMjcgYihcKEMta1wpKTIyCi1iIEZjKC4pMTIgYiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTQ3IGIgRmIoMTA5KTIwMjUKLTE4NDkgeSBGZShraWxsLXJlZ2lvbikyOCBiKFwoXCkpMjIgYiBGYyguKTEzIGIoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLik0OCBiIEZiKDExMCkyMDI1IDE5NDQgeSBGZShraWxsLXdob2xlLWxpbmUpMjkKLWIoXChcKSkxNiBiIEZjKC4pZCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKTQyIGIgRmIoMTA5KTIwMjUKLTIwMzkgeSBGZShraWxsLXdvcmQpMjcgYihcKE0tZFwpKTIyIGIgRmMoLikxMiBiKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLik0NyBiIEZiKDEwOSkyMDI1IDIzMjEgeSBGcihNKTIwMjUgMjQ1MyB5IEZlKG1hZ2ljLXNwYWNlKTI4Ci1iKFwoXCkpMjIgYiBGYyguKTEzIGIoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pNDgKLWIgRmIoMTE0KTIwMjUgMjU0OCB5IEZlKG1lbnUtY29tcGxldGUpMjggYihcKFwpKTIwIGIKLUZjKC4pMTIgYiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pNDUgYiBGYigxMTEpMjAyNQotMjg0MCB5IEZyKE4pMjAyNSAyOTcyIHkgRmUobmV4dC1oaXN0b3J5KTI4IGIoXChDLW5cKSkxNgotYiBGYyguKWUoLillKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLik0MiBiIEZiKDEwNykyMDI1IDMwNjcgeSBGZQotKG5vbi1pbmNyZW1lbnRhbC1mb3J3YXJkLXNlYXJjaClxKC1oaXN0KXEob3J5KTMyIGIoXChNLW5cKSkyMTkxCi0zMTU0IHkgRmMoLikxMyBiKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikzOSBiIEZiKDEwNykyMDI1IDMyNDkgeSBGZQotKG5vbi1pbmNyZW1lbnRhbC1yZXZlcnNlLXNlYXJjaClxKC1oaXN0KXEob3J5KTMyIGIoXChNLXBcKSkyMTkxCi0zMzM3IHkgRmMoLikxMyBiKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikzOSBiIEZiKDEwNykyMDI1IDM2MTAgeSBGcihPKTIwMjUKLTM3NDIgeSBGZShvcGVyYXRlLWFuZC1nZXQtbmV4dCkzMCBiKFwoQy1vXCkpMjQgYiBGYyguKTEyCi1iKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTQ5Ci1iIEZiKDExNCkyMDI1IDM4MzcgeSBGZShvdmVyd3JpdGUtbW9kZSkyOSBiKFwoXCkpMTggYgotRmMoLikxMiBiKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTQ0IGIgRmIoMTA5KTIwMjUgNDExOQoteSBGcihQKTIwMjUgNDI1MSB5IEZlKHBvc3NpYmxlLWNvbW1hbmQtY29tcGxldGlvbnMpMzIKLWIoXChDLXgpMjYgYighXCkpMTUgYiBGYyguKWUoLilmKC4paCguKWYoLik0MSBiIEZiKDExMikyMDI1Ci00MzQ2IHkgRmUocG9zc2libGUtY29tcGxldGlvbnMpMzAgYihcKE0tP1wpKTI0IGIgRmMoLikxMgotYiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLik0OQotYiBGYigxMTEpMjAyNSA0NDQxIHkgRmUocG9zc2libGUtZmlsZW5hbWUtY29tcGxldGlvbnMpMzIKLWIoXChDLXgpMjYgYigvXCkpMTQgYiBGYyguKWYoLilmKC4pZyguKTQwIGIgRmIoMTExKTIwMjUKLTQ1MzYgeSBGZShwb3NzaWJsZS1ob3N0bmFtZS1jb21wbGV0aW9ucykzMiBiKFwoQy14KTI2Ci1iKEBcKSkxNCBiIEZjKC4pZiguKWYoLilnKC4pNDAgYiBGYigxMTEpMjAyNSA0NjMxIHkgRmUKLShwb3NzaWJsZS11c2VybmFtZS1jb21wbGV0aW9ucykzMiBiKFwoQy14KTI2IGIoflwpKTE0Ci1iIEZjKC4pZiguKWYoLilnKC4pNDAgYiBGYigxMTEpMjAyNSA0NzI2IHkgRmUKLShwb3NzaWJsZS12YXJpYWJsZS1jb21wbGV0aW9ucykzMiBiKFwoQy14KTI2IGIoJFwpKTE0Ci1iIEZjKC4pZiguKWYoLilnKC4pNDAgYiBGYigxMTEpMjAyNSA0ODIxIHkgRmUocHJlZml4LW1ldGEpMjgKLWIoXCgpMjUyMSA0ODE4IHkgRmcoaClwIDI1NDUgNDc2NSAxMzkgNCB2IDI1NDUgNDgyMSBhCi1GZihFU0MpcCAyNTQ1IDQ4MzYgViAyNjc5IDQ4MTggYSBGZyhpKTI3MDkgNDgyMSB5IEZlKFwpKTE5Ci1iIEZjKC4pMTIgYiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pNDUgYiBGYigxMTIpMjAyNSA0OTE2IHkgRmUocHJldmlvdXMtaGlzdG9yeSkKLTI5IGIoXChDLXBcKSkxMCBiIEZjKC4payguKWUoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pCi1oKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pMzYgYiBGYigxMDcpMjAyNSA1MjA4IHkgRnIoUSkyMDI1Ci01MzQwIHkgRmUocXVvdGVkLWluc2VydCkyOCBiKFwoQy1xKWYob3IpZihDLXZcKSkxOCBiCi1GYyguKTEzIGIoLilnKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQ0Ci1iIEZiKDEwOClwIGVvcCBlbmQKK2IoRDopaShJbmRleGVzKTI2MjMgYigxNTUpMTUwIDI5OSB5IEZlKGNvbXBsZXRlLXZhcmlhYmxlKTI5CitiKFwoTS0kXCkpMTMgYiBGYyg6KWgoOilmKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTM5IGIgRmIoMTExKTE1MCAzODkgeSBGZShjb3B5LWJhY2t3YXJkLXdvcmQpCiszMCBiKFwoXCkpMTggYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KQoraCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDQgYiBGYigxMTApMTUwIDQ3OQoreSBGZShjb3B5LWZvcndhcmQtd29yZCkyOSBiKFwoXCkpMjEgYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQ3CitiIEZiKDExMCkxNTAgNTY5IHkgRmUoY29weS1yZWdpb24tYXMta2lsbCkzMCBiKFwoXCkpMTUKK2IgRmMoOilmKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCitnKDopZyg6KWcoOilnKDopNDIgYiBGYigxMTApMTUwIDgzNiB5IEZyKEQpMTUwIDk1OCB5CitGZShkYWJicmV2LWV4cGFuZCkyOSBiKFwoXCkpMTEgYiBGYyg6KWkoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKKzM4IGIgRmIoMTEyKTE1MCAxMDQ4IHkgRmUoZGVsZXRlLWNoYXIpMjggYihcKEMtZFwpKTExCitiIEZjKDopaig6KWYoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM4IGIgRmIoMTA4KTE1MAorMTEzOCB5IEZlKGRlbGV0ZS1jaGFyLW9yLWxpc3QpMzAgYihcKFwpKTE1IGIgRmMoOilmKDopZig6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDIKK2IgRmIoMTExKTE1MCAxMjI4IHkgRmUoZGVsZXRlLWhvcml6b250YWwtc3BhY2UpMzEgYihcKFwpKTIyCitiIEZjKDopMTMgYig6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCis0OSBiIEZiKDEwOSkxNTAgMTMxOCB5IEZlKGRpZ2l0LWFyZ3VtZW50KTI5IGIoXCgpcCBGZChNLTApcAorRmUoLCllIEZkKE0tMSlwIEZlKCwpZiguLi4pZyBGZChNLS0pcCBGZShcKSlkIEZjKDopMTMKK2IoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0OSBiIEZiKDExMCkxNTAgMTQwOCB5IEZlCisoZGlzcGxheS1zaGVsbC12ZXJzaW9uKTMwIGIoXChDLXgpZChDLXZcKSkxNiBiIEZjKDopZSg6KWYoOilnKDopZyg6KWgKKyg6KWYoOilnKDopZyg6KWcoOilnKDopNDMgYiBGYigxMTQpMTUwIDE0OTkgeSBGZShkby11cHBlcmNhc2UtdmVyc2lvbikKKzMwIGIoXChNLWEsKWQoTS1iLClmKE0tKXAgRmQoeCk5IGIgRmUoLCkyNyBiKC4uLlwpKTMyNQorMTU4NiB5IEZjKDopMTMgYig6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0OCBiIEZiKDExMikxNTAgMTY3NgoreSBGZShkb3duY2FzZS13b3JkKTI5IGIoXChNLWxcKSkyMyBiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQ5CitiIEZiKDEwOCkxNTAgMTc2NiB5IEZlKGR1bXAtZnVuY3Rpb25zKTI5IGIoXChcKSkxMSBiCitGYyg6KWkoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikzOCBiIEZiKDExMykxNTAKKzE4NTYgeSBGZShkdW1wLW1hY3JvcykyOCBiKFwoXCkpMTkgYiBGYyg6KTEzIGIoOilnKDopZyg6KWgoOilmKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCitnKDopZyg6KWgoOilmKDopZyg6KTQ1IGIgRmIoMTEzKTE1MCAxOTQ2IHkgRmUoZHVtcC12YXJpYWJsZXMpMjkKK2IoXChcKSkxMSBiIEZjKDopaSg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM4CitiIEZiKDExMykxNTAgMjAzNiB5IEZlKGR5bmFtaWMtY29tcGxldGUtaGlzdG9yeSkzMSBiKFwoTS1UQUJcKSk3CitiIEZjKDopMTUgYig6KWUoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopMzMgYiBGYigxMTIpMTUwCisyMzAzIHkgRnIoRSkxNTAgMjQyNSB5IEZlKGVkaXQtYW5kLWV4ZWN1dGUtY29tbWFuZCllKFwoQy14Qy1lXCkpMjMKK2IgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDggYiBGYigxMTQpMTUwCisyNTE1IHkgRmUoZW5kLWtiZC1tYWNybykyOSBiKFwoQy14KWQoXClcKSk3IGIgRmMoOikxNAorYig6KWYoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopMzQgYiBGYigxMTIpMTUwIDI2MDUgeSBGZShlbmQtb2YtaGlzdG9yeSkyOQorYihcKE0tPlwpKTIxIGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0NyBiIEZiKDEwNykxNTAKKzI2OTUgeSBGZShlbmQtb2YtbGluZSkyOCBiKFwoQy1lXCkpMTEgYiBGYyg6KWooOilmKDopZyg6KWgoOilmKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCitnKDopZyg6KTM4IGIgRmIoMTA2KTE1MCAyNzg1IHkgRmUoZXhjaGFuZ2UtcG9pbnQtYW5kLW1hcmspMzEKK2IoXChDLXgpMjYgYihDLXhcKSkxMSBiIEZjKDopaig6KWcoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikzOAorYiBGYigxMTMpMTUwIDMwNTIgeSBGcihGKTE1MCAzMTc0IHkgRmUoZm9yd2FyZC1iYWNrd2FyZC1kZWxldGUtY2hhcikzMgorYihcKFwpKTkgYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikzNgorYiBGYigxMDgpMTUwIDMyNjQgeSBGZShmb3J3YXJkLWNoYXIpMjggYihcKEMtZlwpKTggYgorRmMoOikxNSBiKDopZSg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikzNSBiIEZiKDEwNikxNTAKKzMzNTQgeSBGZShmb3J3YXJkLXNlYXJjaC1oaXN0b3J5KWMoXChDLXNcKSkxNyBiIEZjKDopZCg6KWYoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDQgYiBGYigxMDcpMTUwIDM0NDUKK3kgRmUoZm9yd2FyZC13b3JkKTI4IGIoXChNLWZcKSk4IGIgRmMoOikxNSBiKDopZSg6KWcoOilnKDopZyg6KWgoOilmKDopCitnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKKyg6KTM1IGIgRmIoMTA2KTE1MCAzNzAxIHkgRnIoRykxNTAgMzgyMyB5IEZlKGdsb2ItY29tcGxldGUtd29yZCkzMAorYihcKE0tZ1wpKTEwIGIgRmMoOilrKDopZig6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KTM3IGIgRmIoMTE0KTE1MCAzOTEzIHkgRmUoZ2xvYi1leHBhbmQtd29yZCkyOQorYihcKEMteCllKCpcKSkxNyBiIEZjKDopYyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCisoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOik0NCBiIEZiKDExNCkxNTAgNDAwMyB5IEZlCisoZ2xvYi1saXN0LWV4cGFuc2lvbnMpMzAgYihcKEMteClkKGdcKSk3IGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KQoraCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopMzMgYiBGYigxMTQpMTUwIDQyNzAKK3kgRnIoSCkxNTAgNDM5MiB5IEZlKGhpc3RvcnktYW5kLWFsaWFzLWV4cGFuZC1saW5lKWYoXChcKSk3CitiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopMzMgYiBGYigxMTQpMTUwCis0NDgyIHkgRmUoaGlzdG9yeS1leHBhbmQtbGluZSlkKFwoTS1eXCkpOCBiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcKKyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM0CitiIEZiKDExNCkxNTAgNDU3MiB5IEZlKGhpc3Rvcnktc2VhcmNoLWJhY2t3YXJkKWQoXChcKSkyMgorYiBGYyg6KTEzIGIoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQorNDkgYiBGYigxMDcpMTUwIDQ2NjIgeSBGZShoaXN0b3J5LXNlYXJjaC1mb3J3YXJkKTMxIGIoXChcKSk4CitiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgorKDopZyg6KTM0IGIgRmIoMTA3KTE1MCA0OTI5IHkgRnIoSSkxNTAgNTA1MSB5IEZlKGluc2VydC1jb21tZW50KTI5CitiKFwoTS0jXCkpMjEgYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQ3IGIgRmIoMTEzKTE1MAorNTE0MSB5IEZlKGluc2VydC1jb21wbGV0aW9ucykzMCBiKFwoTS0qXCkpMTAgYiBGYyg6KWsoOilmKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzcKK2IgRmIoMTExKTE1MCA1MjMxIHkgRmUoaW5zZXJ0LWxhc3QtYXJndW1lbnQpMzAgYihcKE0tLilkKG9yKWYoTS1fXCkpMTgKK2IgRmMoOiljKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTQ1IGIgRmIoMTE0KTIwMjUKKzI5OSB5IEZyKEspMjAyNSA0MTYgeSBGZShraWxsLWxpbmUpMjcgYihcKEMta1wpKTE2IGIKK0ZjKDopZig6KWUoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKKyg6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDMgYiBGYigxMDkpMjAyNQorNTAzIHkgRmUoa2lsbC1yZWdpb24pMjggYihcKFwpKTE5IGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWgoOilmCisoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWgoOik0NSBiIEZiKDExMCkyMDI1IDU5MSB5IEZlKGtpbGwtd2hvbGUtbGluZSkyOQorYihcKFwpKTggYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM1IGIKK0ZiKDEwOSkyMDI1IDY3OCB5IEZlKGtpbGwtd29yZCkyNyBiKFwoTS1kXCkpMTYgYiBGYyg6KWYoOillKDopZyg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDMgYiBGYigxMDkpMjAyNSA5MjEgeSBGcihNKTIwMjUKKzEwMzggeSBGZShtYWdpYy1zcGFjZSkyOCBiKFwoXCkpMTkgYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopaCg6KWYKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCitnKDopZyg6KWcoOilnKDopaCg6KTQ1IGIgRmIoMTE0KTIwMjUgMTEyNiB5IEZlKG1lbnUtY29tcGxldGUpMjgKK2IoXChcKSkxMyBiIEZjKDopaCg6KWYoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOik0MAorYiBGYigxMTEpMjAyNSAxMjEzIHkgRmUobWVudS1jb21wbGV0ZS1iYWNrd2FyZCkzMCBiKFwoXCkpOAorYiBGYyg6KTEzIGIoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOikzNCBiIEZiKDExMSkyMDI1IDE0NjcgeSBGcihOKTIwMjUgMTU4NCB5IEZlKG5leHQtaGlzdG9yeSkyOAorYihcKEMtblwpKTggYiBGYyg6KTE1IGIoOillKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKKyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM1CitiIEZiKDEwNykyMDI1IDE2NzEgeSBGZShub24taW5jcmVtZW50YWwtZm9yd2FyZC1zZWFyY2gpcSgtaGlzdClxKG9yeSlkCisoXChNLW5cKSkyMjAwIDE3NTggeSBGYyg6KTEzIGIoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDkgYgorRmIoMTA3KTIwMjUgMTg0NiB5IEZlKG5vbi1pbmNyZW1lbnRhbC1yZXZlcnNlLXNlYXJjaClxKC1oaXN0KXEob3J5KTMyCitiKFwoTS1wXCkpMjIwMCAxOTMzIHkgRmMoOikxMyBiKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQ5IGIKK0ZiKDEwNykyMDI1IDIxNjggeSBGcihPKTIwMjUgMjI4NSB5IEZlKG9wZXJhdGUtYW5kLWdldC1uZXh0KTMwCitiKFwoQy1vXCkpMjMgYiBGYyg6KTEzIGIoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopNDkgYiBGYigxMTQpMjAyNSAyMzcyIHkgRmUob3ZlcndyaXRlLW1vZGUpMjkKK2IoXChcKSkxMSBiIEZjKDopaSg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKKyg6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTM4CitiIEZiKDEwOSkyMDI1IDI2MTUgeSBGcihQKTIwMjUgMjczMiB5IEZlKHBvc3NpYmxlLWNvbW1hbmQtY29tcGxldGlvbnMpCiszMiBiKFwoQy14KTI2IGIoIVwpKTIxIGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopNDcgYgorRmIoMTEyKTIwMjUgMjgyMCB5IEZlKHBvc3NpYmxlLWNvbXBsZXRpb25zKTMwIGIoXChNLT9cKSkyMworYiBGYyg6KTEzIGIoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorNDkgYiBGYigxMTApMjAyNSAyOTA3IHkgRmUocG9zc2libGUtZmlsZW5hbWUtY29tcGxldGlvbnMpMzIKK2IoXChDLXgpMjYgYigvXCkpMTggYiBGYyg6KWMoOilmKDopZyg6KTQ1IGIgRmIoMTExKTIwMjUKKzI5OTUgeSBGZShwb3NzaWJsZS1ob3N0bmFtZS1jb21wbGV0aW9ucykzMiBiKFwoQy14KTI2CitiKEBcKSkxOCBiIEZjKDopYyg6KWYoOilnKDopNDUgYiBGYigxMTEpMjAyNSAzMDgyIHkgRmUKKyhwb3NzaWJsZS11c2VybmFtZS1jb21wbGV0aW9ucykzMiBiKFwoQy14KTI2IGIoflwpKTE4CitiIEZjKDopYyg6KWYoOilnKDopNDUgYiBGYigxMTEpMjAyNSAzMTcwIHkgRmUKKyhwb3NzaWJsZS12YXJpYWJsZS1jb21wbGV0aW9ucykzMiBiKFwoQy14KTI2IGIoJFwpKTE4CitiIEZjKDopYyg6KWYoOilnKDopNDUgYiBGYigxMTEpMjAyNSAzMjU4IHkgRmUocHJlZml4LW1ldGEpMjgKK2IoXChFU0NcKSkxMSBiIEZjKDopaig6KWYoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTM4CitiIEZiKDExMikyMDI1IDMzNDUgeSBGZShwcmV2aW91cy1oaXN0b3J5KTI5IGIoXChDLXBcKSkxNQorYiBGYyg6KWYoOilnKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2goOilmKDopZyg6KWcoOik0MiBiIEZiKDEwNykyMDI1IDM1OTkgeSBGcihRKTIwMjUgMzcxNQoreSBGZShxdW90ZWQtaW5zZXJ0KTI4IGIoXChDLXEpZihvcilmKEMtdlwpKTE5IGIgRmMoOikxNAorYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTQ2CitiIEZiKDEwOCkyMDI1IDM5NjkgeSBGcihSKTIwMjUgNDA4NiB5IEZlKHJlLXJlYWQtaW5pdC1maWxlKTI5CitiKFwoQy14KWUoQy1yXCkpOSBiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOikzNiBiIEZiKDExMikyMDI1IDQxNzMgeSBGZShyZWRyYXctY3VycmVudC1saW5lKTMwCitiKFwoXCkpMTUgYiBGYyg6KWUoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOik0MiBiIEZiKDEwNikyMDI1IDQyNjEgeSBGZQorKHJldmVyc2Utc2VhcmNoLWhpc3RvcnkpMzAgYihcKEMtclwpKTE3IGIgRmMoOillKDopZSg6KWcoOilnKDopZyg6KWcoOikKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0NCBiIEZiKDEwNykyMDI1IDQzNDggeSBGZShyZXZlcnQtbGluZSkyOAorYihcKE0tclwpKTExIGIgRmMoOilqKDopZig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzgKK2IgRmIoMTEyKTIwMjUgNDU5MiB5IEZyKFMpMjAyNSA0NzA4IHkgRmUoc2VsZi1pbnNlcnQpMjgKK2IoXChhLCllKGIsKWcoQSwpZygxLClnKCEsKWcoLi4uKXEoXCkpNyBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWgoOilmCisoOilnKDopZyg6KWcoOilnKDopZyg6KTM0IGIgRmIoMTA4KTIwMjUgNDc5NiB5IEZlKHNldC1tYXJrKTI3CitiKFwoQy1AXCkpMjAgYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQoraCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0NQorYiBGYigxMTMpMjAyNSA0ODgzIHkgRmUoc2hlbGwtYmFja3dhcmQtd29yZCkzMCBiKFwoXCkpMTUKK2IgRmMoOillKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopNDIgYiBGYigxMDYpMjAyNSA0OTcxIHkgRmUoc2hlbGwtZXhwYW5kLWxpbmUpMjkKK2IoXChNLUMtZVwpKTggYiBGYyg6KTE0IGIoOilnKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZworKDopZyg6KWcoOilnKDopZyg6KWgoOikzNCBiIEZiKDExNCkyMDI1IDUwNTkgeSBGZShzaGVsbC1mb3J3YXJkLXdvcmQpMjkKK2IoXChcKSkxOCBiIEZjKDopYyg6KWYoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0NSBiIEZiKDEwNikyMDI1IDUxNDYKK3kgRmUoc2hlbGwta2lsbC13b3JkKTI5IGIoXChcKSk4IGIgRmMoOikxNCBiKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKKyg6KTM1IGIgRmIoMTA5KTIwMjUgNTIzNCB5IEZlKHNraXAtY3NpLXNlcXVlbmNlKTI5IGIoXChcKSkyMQorYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTQ3IGIgRmIoMTEzKTIwMjUgNTMyMSB5IEZlKHN0YXJ0LWtiZC1tYWNybykKKzI5IGIoXChDLXgpZChcKFwpKTIwIGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOik0NiBiIEZiKDExMilwIGVvcAorZW5kCiAlJVBhZ2U6IDE1NiAxNjIKIFRlWERpY3QgYmVnaW4gMTU2IDE2MSBib3AgMTUwIC0xMTYgYSBGdCgxNTYpMjUyNyBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcihSKTE1MCA0MjQgeSBGZShyZS1yZWFkLWluaXQtZmlsZSllCi0oXChDLXgpZShDLXJcKSkxMCBiIEZjKC4paiguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKTM2IGIgRmIoMTEyKTE1MCA1MTYgeSBGZShyZWRyYXctY3VycmVudC1saW5lKTMwCi1iKFwoXCkpMTAgYiBGYyguKWooLilmKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLilnKC4paCguKTM2IGIgRmIoMTA3KTE1MCA2MDggeSBGZShyZXZlcnNlLXNlYXJjaC1oaXN0b3J5KQotMzEgYihcKEMtclwpKTIwIGIgRmMoLikxMyBiKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKTQ2IGIgRmIoMTA3KTE1MCA3MDAgeSBGZShyZXZlcnQtbGluZSkyOCBiKFwoTS1yXCkpMTgKLWIgRmMoLikxMyBiKC4pZiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQzIGIgRmIoMTEzKTE1MCA5NjUKLXkgRnIoUykxNTAgMTA5MSB5IEZlKHNlbGYtaW5zZXJ0KTI4IGIoXChhLCllKGIsKWcoQSwpZygxLCloKCEsKWYoLi4uXCkpCi0xMiBiIEZjKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTM4Ci1iIEZiKDEwOCkxNTAgMTE4MyB5IEZlKHNldC1tYXJrKTI3IGIoXChDLUBcKSljIEZjKC4pMTMKLWIoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pNDggYiBGYigxMTMpMTUwCi0xMjc1IHkgRmUoc2hlbGwtYmFja3dhcmQtd29yZCkzMCBiKFwoXCkpMTAgYiBGYyguKWooLilmKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKTM2Ci1iIEZiKDEwNikxNTAgMTM2NiB5IEZlKHNoZWxsLWV4cGFuZC1saW5lKTI5IGIoXChNLUMtZVwpKWQKLUZjKC4pMTIgYiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pNTAKLWIgRmIoMTE0KTE1MCAxNDU4IHkgRmUoc2hlbGwtZm9yd2FyZC13b3JkKTMwIGIoXChcKSkxMgotYiBGYyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLikKLWcoLiloKC4pZiguKWcoLikzOCBiIEZiKDEwNikxNTAgMTU1MCB5IEZlKHNoZWxsLWtpbGwtd29yZCkyOQotYihcKFwpKTE2IGIgRmMoLilkKC4pZiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pNDIgYiBGYigxMDkpMTUwCi0xNjQyIHkgRmUoc3RhcnQta2JkLW1hY3JvKTI5IGIoXChDLXgpZShcKFwpKTE2IGIgRmMoLiljKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKTQyCi1iIEZiKDExMikxNTAgMTkwNyB5IEZyKFQpMjAyNSAyOTkgeSBGZSh0aWxkZS1leHBhbmQpMjgKLWIoXChNLSZcKSkxNiBiIEZjKC4pZSguKWUoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKTQyIGIgRmIoMTEzKTIwMjUKLTM4NiB5IEZlKHRyYW5zcG9zZS1jaGFycykyOSBiKFwoQy10XCkpMTIgYiBGYyguKWgoLilmKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLikzOAotYiBGYigxMDgpMjAyNSA0NzMgeSBGZSh0cmFuc3Bvc2Utd29yZHMpMjkgYihcKE0tdFwpKTEyCi1iIEZjKC4paCguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKWcoLiloKC4pZiguKTM4IGIgRmIoMTA4KTIwMjUgNzI1IHkgRnIoVSkyMDI1IDg0MQoteSBGZSh1bmRvKTI2IGIoXChDLV8paChvcilmKEMteClnKEMtdVwpKTE0IGIgRmMoLilmKC4pZyguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTQwCi1iIEZiKDExMikyMDI1IDkyOSB5IEZlKHVuaXZlcnNhbC1hcmd1bWVudCkyOSBiKFwoXCkpMTIKLWIgRmMoLiloKC4pZiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4pZyguKWgoLilmKC4pMzggYiBGYigxMTApMjAyNSAxMDE2IHkgRmUodW5peC1maWxlbmFtZS1ydWJvdXQpMzAKLWIoXChcKSk5IGIgRmMoLilrKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKTM1IGIgRmIoMTA5KTIwMjUgMTEwMyB5IEZlKHVuaXgtbGluZS1kaXNjYXJkKTI5Ci1iKFwoQy11XCkpOSBiIEZjKC4pMTQgYiguKWUoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLikzNSBiIEZiKDEwOSkyMDI1IDExOTAgeSBGZSh1bml4LXdvcmQtcnVib3V0KTI5Ci1iKFwoQy13XCkpMTAgYiBGYyguKWsoLillKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKTM2IGIgRmIoMTA5KTIwMjUgMTI3OCB5IEZlKHVwY2FzZS13b3JkKTI4Ci1iKFwoTS11XCkpMTggYiBGYyguKTEzIGIoLilmKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pNDQgYgotRmIoMTA4KTIwMjUgMTUzMCB5IEZyKFkpMjAyNSAxNjQ2IHkgRmUoeWFuaykyNiBiKFwoQy15XCkpMTAKLWIgRmMoLilqKC4pZyguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pCi1nKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pMzYKLWIgRmIoMTEwKTIwMjUgMTczMyB5IEZlKHlhbmstbGFzdC1hcmcpMjggYihcKE0tLilmKG9yKWYoTS1fXCkpMTgKLWIgRmMoLikxMyBiKC4pZyguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikKLTQ0IGIgRmIoMTA4KTIwMjUgMTgyMCB5IEZlKHlhbmstbnRoLWFyZykyOCBiKFwoTS1DLXlcKSkxMwotYiBGYyguKWgoLilmKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLikKLWcoLiloKC4pZiguKWcoLiloKC4pMzkgYiBGYigxMDcpMjAyNSAxOTA3IHkgRmUoeWFuay1wb3ApMjcKLWIoXChNLXlcKSljIEZjKC4pMTMgYiguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLik0OAotYiBGYigxMTApMTUwIDIxNjUgeSBGcihELjUpNjggYihDb25jZXB0KTQ1IGIoSW5kZXgpMTUwCi0yNTA5IHkoQSkxNTAgMjYzMCB5IEZiKGFsaWFzKTI3IGIoZXhwYW5zaW9uKTIwIGIgRmMoLikxMgotYiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTQ1IGIgRmIoNzkpMTUwCi0yNzE5IHkoYXJpdGhtZXRpYykyNiBiKGV2KWwoYWx1YXRpb24pZiBGYyguKTEyIGIoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLik1MAotYiBGYig3OCkxNTAgMjgwOCB5KGFyaXRobWV0aWMpMjYgYihleHBhbnNpb24pMTIgYiBGYyguKWgoLilmKC4paCguKWYoLikKLWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLikzOCBiIEZiKDIzKTE1MCAyODk4IHkoYXJpdGhtZXRpYywpMjcgYihzaGVsbCkyMAotYiBGYyguKTEyIGIoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTQ1Ci1iIEZiKDc4KTE1MCAyOTg3IHkoYXJyYSluKHlzKTYgYiBGYyguKTEzIGIoLilnKC4pZiguKWcoLiloKC4pZiguKWcoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTMyCi1iIEZiKDgwKTE1MCAzMjQ4IHkgRnIoQikxNTAgMzM2OCB5IEZiKGJhYyluKGtncm91bmQpMjMKLWIgRmMoLikxMyBiKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pNDkKLWIgRmIoODkpMTUwIDM0NTcgeShCYXNoKTI2IGIoY29uXDAxNGd1cmF0aW9uKTExIGIgRmMoLilpKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKTM2IGIgRmIoMTI3KTE1MCAzNTQ3IHkoQmFzaCkyNiBiKGluc3RhbGxhdGlvbik2Ci1iIEZjKC4pMTUgYiguKWQoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLikzMiBiIEZiKDEyNykxNTAKLTM2MzYgeShCb3VybmUpMjYgYihzaGVsbCkxMCBiIEZjKC4paiguKWcoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKTM2IGIgRmIoNSkxNTAgMzcyNSB5KGJyYWNlKTI2Ci1iKGV4cGFuc2lvbilkIEZjKC4pMTIgYiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pNDgKLWIgRmIoMTgpMTUwIDM4MTQgeShidWlsdGluKTE3IGIgRmMoLiljKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLik0MyBiCi1GYigzKTE1MCA0MDU4IHkgRnIoQykxNTAgNDE3OSB5IEZiKGNvbW1hbmQpMjYgYihlZGl0aW5nKTE5Ci1iIEZjKC4pMTIgYiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLik0NCBiIEZiKDk0KTE1MAotNDI2OCB5KGNvbW1hbmQpMjYgYihleGVjdXRpb24pMTEgYiBGYyguKWgoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotMzcgYiBGYigzMCkxNTAgNDM1NyB5KGNvbW1hbmQpMjYgYihleHBhbnNpb24pZCBGYyguKTEyCi1iKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQ4IGIgRmIoMzApMTUwIDQ0NDcgeShjb21tYW5kKTI2Ci1iKGhpc3RvcnkpMTYgYiBGYyguKWQoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLik0MgotYiBGYigxMjEpMTUwIDQ1MzYgeShjb21tYW5kKTI2IGIoc2VhcmMpbihoKTEyIGIgRmMoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4paCguKWYoLilnKC4pZyguKTM4IGIgRmIoMzApMTUwIDQ2MjUgeShjb21tYW5kKTI2Ci1iKHN1YnN0aXR1dGlvbillIEZjKC4pMTIgYiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pNDkgYiBGYigyMykxNTAKLTQ3MTUgeShjb21tYW5kKTI2IGIodGltaW5nKTggYiBGYyguKTEzIGIoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKTM0IGIgRmIoOCkxNTAgNDgwNCB5KGNvbW1hbmRzLCkyNiBiKGNvbXApcihvdW5kKTgKLWIgRmMoLikxMyBiKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTM0IGIgRmIoOSkxNTAgNDg5MwoteShjb21tYW5kcywpMjYgYihjb25kaXRpb25hbCkxMyBiIEZjKC4paCguKWYoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pMzkKLWIgRmIoMTApMTUwIDQ5ODMgeShjb21tYW5kcywpMjYgYihncm91cGluZykxNSBiIEZjKC4pZiguKWUoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4pCi1oKC4pZiguKTQxIGIgRmIoMTMpMTUwIDUwNzIgeShjb21tYW5kcywpMjYgYihsaXN0cyk2Ci1iIEZjKC4pMTQgYiguKWYoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikzMgotYiBGYig5KTE1MCA1MTYxIHkoY29tbWFuZHMsKTI2IGIobG8pcihvcGluZyllIEZjKC4pMTIKLWIoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQ3IGIgRmIoMTApMTUwIDUyNTEgeShjb21tYW5kcywpMjYKLWIocGlwKXIoZWxpbmVzKTE3IGIgRmMoLilkKC4pZSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLik0MwotYiBGYig4KTE1MCA1MzQwIHkoY29tbWFuZHMsKTI2IGIoc2hlbGwpMTYgYiBGYyguKWUoLillKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLikKLWcoLilnKC4paCguKWYoLilnKC4paCguKTQyIGIgRmIoOCkyMDI1IDI1MDkgeShjb21tYW5kcywpMjYKLWIoc2ltcGxlKTIxIGIgRmMoLikxMyBiKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTQ3Ci1iIEZiKDgpMjAyNSAyNTk4IHkoY29tbWVuKW4odHMsKTI2IGIoc2hlbGwpOCBiIEZjKC4pMTMKLWIoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pMzQKLWIgRmIoNykyMDI1IDI2ODcgeShjb21wbGV0aW9uKTI2IGIoYnVpbHRpbnMpYyBGYyguKTEzCi1iKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTQ4IGIgRmIoMTE2KTIwMjUgMjc3NyB5KGNvblwwMTRndXJhdGlvbikxNQotYiBGYyguKWUoLilmKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLikKLWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4pNDIKLWIgRmIoMTI3KTIwMjUgMjg2NiB5KGNvbiluKHRyb2wpMjYgYihvcClyKGVyYXRvciljIEZjKC4pMTIKLWIoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLik0NyBiIEZiKDMpMjAyNQotMjk1NSB5KGNvcHJvKXIoY2Vzcyk2IGIgRmMoLikxNCBiKC4pZSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLikzMiBiIEZiKDE0KTIwMjUgMzIxNAoteSBGcihEKTIwMjUgMzMzNCB5IEZiKGRpcmVjdG9yeSkyNiBiKHN0YWMpbihrKWQgRmMoLikxMwotYiguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQ5IGIgRmIoODEpMjAyNQotMzU5NCB5IEZyKEUpMjAyNSAzNzEzIHkgRmIoZWRpdGluZykyNiBiKGNvbW1hbmQpZyhsaW5lcyljCi1GYyguKTEzIGIoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTQ4IGIgRmIoOTQpMjAyNSAzODAyIHkoZW4pbih2aXJvbm1lbiluKHQpMTAKLWIgRmMoLiloKC4paSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pMzYKLWIgRmIoMzIpMjAyNSAzODkyIHkoZXYpbChhbHVhdGlvbiwpMjYgYihhcml0aG1ldGljKTEzCi1iIEZjKC4paCguKWUoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKTM5IGIgRmIoNzgpMjAyNSAzOTgxIHkoZXYpbihlbiluKHQpMjQKLWIoZGVzaWduYXRvcnMpMTggYiBGYyguKWQoLilkKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLik0NAotYiBGYigxMjQpMjAyNSA0MDcwIHkoZXhlY3V0aW9uKTI1IGIoZW4pbih2aXJvbm1lbiluKHQpMTkKLWIgRmMoLikxMyBiKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLik0NiBiIEZiKDMxKTIwMjUgNDE1OSB5KGV4aXQpMjUKLWIoc3RhdHVzKTE3IGIgRmMoLiljKC4pZiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgKLSguKTQzIGIgRmIoMywpMjYgYigzMykyMDI1IDQyNDggeShleHBhbnNpb24pMTYgYiBGYyguKWMoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pNDIgYgotRmIoMTcpMjAyNSA0MzM3IHkoZXhwYW5zaW9uLCkyNiBiKGFyaXRobWV0aWMpMjAgYiBGYyguKTEzCi1iKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pNDUgYiBGYigyMykyMDI1IDQ0MjYgeShleHBhbnNpb24sKTI2Ci1iKGJyYWNlKTEyIGIgRmMoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikzOAotYiBGYigxOCkyMDI1IDQ1MTUgeShleHBhbnNpb24sKTI2IGIoXDAxNGxlbmFtZSkxOCBiIEZjKC4pMTIKLWIoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQzIGIgRmIoMjQpMjAyNSA0NjA0IHkoZXhwYW5zaW9uLCkyNgotYihwYXJhbWV0ZXIpYyBGYyguKTEzIGIoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLik0NyBiIEZiKDIwKTIwMjUKLTQ2OTMgeShleHBhbnNpb24sKTI2IGIocGF0aG5hbWUpOCBiIEZjKC4payguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikzNAotYiBGYigyNCkyMDI1IDQ3ODIgeShleHBhbnNpb24sKTI2IGIodGlsZGUpOSBiIEZjKC4paiguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pMzUgYiBGYigxOSkyMDI1IDQ4NzIgeShleHByZXNzaW9ucywpMjcKLWIoYXJpdGhtZXRpYykxNiBiIEZjKC4pZCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pNDIgYiBGYig3OCkyMDI1Ci00OTYxIHkoZXhwcmVzc2lvbnMsKTI3IGIoY29uZGl0aW9uYWwpMjIgYiBGYyguKTEyIGIoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pNDcKLWIgRmIoNzcpMjAyNSA1MjIwIHkgRnIoRikyMDI1IDUzNDAgeSBGYihcMDE0ZWxkKTIxIGIKLUZjKC4pMTMgYiguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLikKLWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLik0OCBiIEZiKDMpcCBlb3AgZW5kCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRnIoVCkxNTAgNDE1IHkgRmUodGlsZGUtZXhwYW5kKWQKKyhcKE0tJlwpKTggYiBGYyg6KTE1IGIoOillKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTM1CitiIEZiKDExMykxNTAgNTAyIHkgRmUodHJhbnNwb3NlLWNoYXJzKTI5IGIoXChDLXRcKSkxOAorYiBGYyg6KWMoOilmKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikKK2coOilnKDopZyg6KWcoOiloKDopNDQgYiBGYigxMDgpMTUwIDU5MCB5IEZlKHRyYW5zcG9zZS13b3JkcykyOQorYihcKE0tdFwpKTE4IGIgRmMoOiljKDopZig6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQ0IGIgRmIoMTA4KTE1MCA4NDIKK3kgRnIoVSkxNTAgOTU4IHkgRmUodW5kbykyNyBiKFwoQy1fKWYob3IpZyhDLXgpZyhDLXVcKSljCitGYyg6KTEzIGIoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ4IGIgRmIoMTEyKTE1MCAxMDQ2IHkgRmUKKyh1bml2ZXJzYWwtYXJndW1lbnQpMzAgYihcKFwpKTE4IGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCitnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQ0CitiIEZiKDExMCkxNTAgMTEzMyB5IEZlKHVuaXgtZmlsZW5hbWUtcnVib3V0KTMwIGIoXChcKSkxMworYiBGYyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KTM5IGIgRmIoMTA5KTIwMjUgMjk5IHkgRmUodW5peC1saW5lLWRpc2NhcmQpMjkKK2IoXChDLXVcKSkxMyBiIEZjKDopaCg6KWYoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgorKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDAgYiBGYigxMDkpMjAyNSAzODkgeSBGZSh1bml4LXdvcmQtcnVib3V0KQorMjkgYihcKEMtd1wpKTE1IGIgRmMoOilmKDopZyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopNDIgYiBGYigxMDkpMjAyNSA0NzgKK3kgRmUodXBjYXNlLXdvcmQpMjggYihcKE0tdVwpKTExIGIgRmMoOilqKDopZig6KWcoOilnKDopZyg6KWgoOilmKDopZworKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikKK2coOikzOCBiIEZiKDEwOCkyMDI1IDc0MyB5IEZyKFkpMjAyNSA4NjQgeSBGZSh5YW5rKTI2CitiKFwoQy15XCkpMTIgYiBGYyg6KWkoOilmKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCitnKDopZyg6KWcoOilnKDopMzkgYiBGYigxMTApMjAyNSA5NTQgeSBGZSh5YW5rLWxhc3QtYXJnKTI4CitiKFwoTS0uKWYob3IpZihNLV9cKSkxOSBiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgorKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDYgYiBGYigxMDgpMjAyNSAxMDQzIHkgRmUoeWFuay1udGgtYXJnKTI4CitiKFwoTS1DLXlcKSkyMiBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDcgYiBGYigxMDcpMjAyNQorMTEzMyB5IEZlKHlhbmstcG9wKTI3IGIoXChNLXlcKSkyMCBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOiloKDopZgorKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikKK2coOilnKDopZyg6KWcoOiloKDopNDUgYiBGYigxMTApMTUwIDEzNjYgeSBGcihELjUpNjgKK2IoQ29uY2VwdCk0NSBiKEluZGV4KTE1MCAxNjI1IHkoQSkxNTAgMTc0MyB5IEZiKGFsaWFzKTI3CitiKGV4cGFuc2lvbikxOCBiIEZjKDopYyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2goOik0NCBiIEZiKDc5KTE1MCAxODMxIHkoYXJpdGhtZXRpYykyNiBiKGV2KWwoYWx1YXRpb24pMTYKK2IgRmMoOillKDopZig6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCitnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOik0MyBiIEZiKDc4KTE1MCAxOTE5Cit5KGFyaXRobWV0aWMpMjYgYihleHBhbnNpb24pZCBGYyg6KTEzIGIoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ5CitiIEZiKDIzKTE1MCAyMDA3IHkoYXJpdGhtZXRpYywpMjcgYihzaGVsbCkxNyBiIEZjKDopZCg6KWYoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQzIGIgRmIoNzgpMTUwIDIwOTUgeShhcnJhKW4oeXMpMTUKK2IgRmMoOilmKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTQxIGIgRmIoODApMTUwIDIzNDggeSBGcihCKTE1MAorMjQ2NiB5IEZiKGJhYyluKGtncm91bmQpOSBiIEZjKDopaig6KWkoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopMzUgYiBGYig4OSkxNTAgMjU1NCB5KEJhc2gpMjYKK2IoY29uXDAxNGd1cmF0aW9uKWQgRmMoOikxMyBiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDkKK2IgRmIoMTI3KTE1MCAyNjQyIHkoQmFzaCkyNiBiKGluc3RhbGxhdGlvbiljIEZjKDopMTMKK2IoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQ2IGIgRmIoMTI3KTE1MAorMjcyOSB5KEJvdXJuZSkyNiBiKHNoZWxsKTEzIGIgRmMoOiloKDopZig6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgorKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOik0MCBiIEZiKDUpMTUwIDI4MTcKK3koYnJhY2UpMjYgYihleHBhbnNpb24pMjAgYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KWcoOik0NyBiIEZiKDE4KTE1MCAyOTA1IHkoYnVpbHRpbik5IGIgRmMoOilrKDopZyg6KWcoOilnKDopCitnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKKyg6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCitnKDopZyg6KTM2IGIgRmIoMykxNTAgMzE0MiB5IEZyKEMpMTUwIDMyNjAgeSBGYihjb21tYW5kKTI2CitiKGVkaXRpbmcpMTUgYiBGYyg6KWYoOilmKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0MgorYiBGYig5NCkxNTAgMzM0OCB5KGNvbW1hbmQpMjYgYihleGVjdXRpb24pZCBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQoraCg6KWYoOilnKDopZyg6KTQ5IGIgRmIoMzApMTUwIDM0MzUgeShjb21tYW5kKTI2IGIoZXhwYW5zaW9uKTE2CitiIEZjKDopZCg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQyIGIgRmIoMjkpMTUwCiszNTIzIHkoY29tbWFuZCkyNiBiKGhpc3RvcnkpMTIgYiBGYyg6KWgoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOilnKDopMzkgYiBGYigxMjEpMTUwIDM2MTEgeShjb21tYW5kKTI2IGIoc2VhcmMpbihoKTEwCitiIEZjKDopaig6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikzNgorYiBGYigzMCkxNTAgMzY5OSB5KGNvbW1hbmQpMjYgYihzdWJzdGl0dXRpb24pMTUgYiBGYyg6KWUoOilnKDopZyg6KWcoOikKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOik0MSBiIEZiKDIyKTE1MCAzNzg3IHkoY29tbWFuZCkyNiBiKHRpbWluZyk3CitiIEZjKDopMTMgYig6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopMzQKK2IgRmIoOCkxNTAgMzg3NSB5KGNvbW1hbmRzLCkyNiBiKGNvbXApcihvdW5kKTE4IGIgRmMoOiljKDopZig6KWcoOilnKDopCitnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KTQ1IGIgRmIoOSkxNTAgMzk2MyB5KGNvbW1hbmRzLCkyNiBiKGNvbmRpdGlvbmFsKWQKK0ZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ4IGIgRmIoMTApMTUwIDQwNTEgeShjb21tYW5kcywpMjYKK2IoZ3JvdXBpbmcpOSBiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCitnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTM1CitiIEZiKDEzKTE1MCA0MTM5IHkoY29tbWFuZHMsKTI2IGIobGlzdHMpNiBiIEZjKDopMTUgYig6KWUoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCitnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopMzMgYiBGYig4KTE1MAorNDIyNyB5KGNvbW1hbmRzLCkyNiBiKGxvKXIob3BpbmcpMTggYiBGYyg6KWQoOillKDopaCg6KWYoOilnKDopZyg6KWcoOikKK2coOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopNDUgYiBGYig5KTE1MCA0MzE1IHkoY29tbWFuZHMsKTI2IGIocGlwKXIoZWxpbmVzKTEyCitiIEZjKDopaSg6KWYoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQorZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikzOSBiIEZiKDgpMTUwCis0NDAzIHkoY29tbWFuZHMsKTI2IGIoc2hlbGwpMTUgYiBGYyg6KWYoOilmKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKK2YoOilnKDopZyg6KWcoOilnKDopNDIgYiBGYig3KTE1MCA0NDkxIHkoY29tbWFuZHMsKTI2CitiKHNpbXBsZSkxNyBiIEZjKDopZCg6KWcoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQorZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQ0CitiIEZiKDgpMTUwIDQ1NzkgeShjb21tZW4pbih0cywpMjYgYihzaGVsbCk3IGIgRmMoOikxNQorYig6KWUoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTM0CitiIEZiKDcpMTUwIDQ2NjcgeShjb21wbGV0aW9uKTI3IGIoYnVpbHRpbnMpMTUgYiBGYyg6KWUoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KTQyIGIgRmIoMTE3KTE1MCA0NzU1IHkoY29uXDAxNGd1cmF0aW9uKTE1CitiIEZjKDopZig6KWYoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQyCitiIEZiKDEyNykxNTAgNDg0MiB5KGNvbiluKHRyb2wpMjYgYihvcClyKGVyYXRvcikyMSBiCitGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTQ2CitiIEZiKDMpMTUwIDQ5MzAgeShjb3BybylyKGNlc3MpMTIgYiBGYyg6KWkoOilnKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopMzggYgorRmIoMTQpMTUwIDUxODQgeSBGcihEKTE1MCA1MzAxIHkgRmIoZGlyZWN0b3J5KTI2IGIoc3RhYyluKGspYworRmMoOikxMyBiKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0OQorYiBGYig4MSkyMDI1IDE2MjUgeSBGcihFKTIwMjUgMTc0NSB5IEZiKGVkaXRpbmcpMjYgYihjb21tYW5kKWcobGluZXMpMTMKK2IgRmMoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTM5IGIgRmIoOTQpMjAyNSAxODM0Cit5KGVuKW4odmlyb25tZW4pbih0KTEyIGIgRmMoOilnKDopaCg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopZyg6KTM5IGIgRmIoMzEpMjAyNSAxOTIzIHkoZXYpbChhbHVhdGlvbiwpMjYKK2IoYXJpdGhtZXRpYyllIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCitnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0OSBiCitGYig3OCkyMDI1IDIwMTIgeShldiluKGVuKW4odCkyNCBiKGRlc2lnbmF0b3JzKTE0IGIgRmMoOiloKDopZSg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KQoraCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQxIGIgRmIoMTIzKTIwMjUgMjEwMSB5KGV4ZWN1dGlvbikyNQorYihlbiluKHZpcm9ubWVuKW4odCkxMSBiIEZjKDopaSg6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikzNworYiBGYigzMCkyMDI1IDIxOTAgeShleGl0KTI1IGIoc3RhdHVzKTE4IGIgRmMoOiljKDopZig6KWcoOilnKDopZyg6KWgoOikKK2YoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZworKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDUgYiBGYigzLCkyNgorYigzMikyMDI1IDIyNzkgeShleHBhbnNpb24pMjAgYiBGYyg6KTEzIGIoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0NyBiIEZiKDE3KTIwMjUKKzIzNjggeShleHBhbnNpb24sKTI2IGIoYXJpdGhtZXRpYykxMiBiIEZjKDopaSg6KWYoOilnKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKK2YoOikzOCBiIEZiKDIzKTIwMjUgMjQ1NyB5KGV4cGFuc2lvbiwpMjYgYihicmFjZSkxMCBiCitGYyg6KWooOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopMzYKK2IgRmIoMTgpMjAyNSAyNTQ2IHkoZXhwYW5zaW9uLCkyNiBiKFwwMTRsZW5hbWUpMTIgYiBGYyg6KWgoOilnKDopZyg6KWgKKyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCitnKDopZyg6KWcoOilnKDopZyg6KWgoOikzOCBiIEZiKDI0KTIwMjUgMjYzNSB5KGV4cGFuc2lvbiwpMjYKK2IocGFyYW1ldGVyKTE0IGIgRmMoOilmKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0MAorYiBGYigxOSkyMDI1IDI3MjQgeShleHBhbnNpb24sKTI2IGIocGF0aG5hbWUpMTggYiBGYyg6KTEzCitiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0NSBiIEZiKDI0KTIwMjUgMjgxMyB5KGV4cGFuc2lvbiwpMjYKK2IodGlsZGUpOCBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOikzNCBiIEZiKDE5KTIwMjUgMjkwMiB5KGV4cHJlc3Npb25zLCkyNyBiKGFyaXRobWV0aWMpNworYiBGYyg6KTEzIGIoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopMzQgYiBGYig3OCkyMDI1IDI5OTEKK3koZXhwcmVzc2lvbnMsKTI3IGIoY29uZGl0aW9uYWwpMTEgYiBGYyg6KWooOilmKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikzOAorYiBGYig3NikyMDI1IDMyNTAgeSBGcihGKTIwMjUgMzM2OSB5IEZiKFwwMTRlbGQpMTUgYgorRmMoOillKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQyIGIgRmIoMykyMDI1IDM0NTgKK3koXDAxNGxlbmFtZSkxNSBiIEZjKDopZig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCitnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQyIGIgRmIoMykyMDI1CiszNTQ3IHkoXDAxNGxlbmFtZSkyNiBiKGV4cGFuc2lvbiljIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCisoOilnKDopZyg6KTQ5IGIgRmIoMjQpMjAyNSAzNjM2IHkoZm9yZWdyb3VuZCkyMyBiIEZjKDopMTMKK2IoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKKzQ5IGIgRmIoODkpMjAyNSAzNzI1IHkoZnVuY3Rpb25zLCkyNiBiKHNoZWxsKTIxIGIgRmMoOikxMworYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDcKK2IgRmIoMTQpMjAyNSAzOTg0IHkgRnIoSCkyMDI1IDQxMDQgeSBGYihoaXN0b3J5KTI1IGIoYnVpbHRpbnMpMTQKK2IgRmMoOilnKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQxCitiIEZiKDEyMSkyMDI1IDQxOTMgeShoaXN0b3J5KTI1IGIoZXYpbihlbiluKHRzKTE5IGIgRmMoOikxMworYig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopNDYKK2IgRmIoMTIzKTIwMjUgNDI4MiB5KGhpc3RvcnkpMjUgYihleHBhbnNpb24pOCBiIEZjKDopMTQKK2IoOilmKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTM1IGIgRmIoMTIzKTIwMjUKKzQzNzEgeShoaXN0b3J5KTI1IGIobGlzdCljIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCitnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOik0NyBiIEZiKDEyMSkyMDI1IDQ0NjAKK3koSGlzdG9yeSktNiBiKCwpMjUgYihobyluKHcpaCh0bylnKHVzZSkxMyBiIEZjKDopZyg6KWcoOilnKDopaCg6KWYoOilnCisoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQorZyg6KWcoOilnKDopNDAgYiBGYigxMjApMjAyNSA0NzE5IHkgRnIoSSkyMDI1IDQ4MzggeQorRmIoaWRlbiluKHRpXDAxNGVyKTIyIGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik1MCBiIEZiKDMpMjAyNQorNDkyNyB5KGluaXRpYWxpemF0aW9uKTI4IGIoXDAxNGxlLCllKHJlYWRsaW5lKTEzIGIgRmMoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQorNDAgYiBGYig5NikyMDI1IDUwMTYgeShpbnN0YWxsYXRpb24pMTMgYiBGYyg6KWkoOillKDopZyg6KWcoOilnKDopZyg6KWgKKyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCitnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDAgYiBGYigxMjcpMjAyNQorNTEwNSB5KGluKW4odGVyYWN0aW9uLCkyNiBiKHJlYWRsaW5lKWMgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2goOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgorKDopZyg6KWcoOik0NyBiIEZiKDkzKTIwMjUgNTE5NCB5KGluKW4odGVyYWN0aXYpbihlKTI2CitiKHNoZWxsKTE0IGIgRmMoOilmKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTQwCitiIEZiKDczLCkyNyBiKDc1KTIwMjUgNTI4MyB5KGluKW4odGVybmF0aW9uYWxpemF0aW9uKTE0CitiIEZjKDopaCg6KWUoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopNDEgYgorRmIoNylwIGVvcCBlbmQKICUlUGFnZTogMTU3IDE2MwogVGVYRGljdCBiZWdpbiAxNTcgMTYyIGJvcCAxNTAgLTExNiBhIEZ0KEFwcClzKGVuZGl4KTI5Ci1iKEQ6KWkoSW5kZXhlcykyNjIzIGIoMTU3KTE1MCAyOTkgeSBGYihcMDE0bGVuYW1lKTggYgotRmMoLikxMyBiKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKTM0IGIgRmIoMykxNTAgMzk4IHkoXDAxNGxlbmFtZSkyNiBiKGV4cGFuc2lvbikxMAotYiBGYyguKWkoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLikzNiBiIEZiKDI0KTE1MAotNDk3IHkoZm9yZWdyb3VuZCkyMCBiIEZjKC4pMTMgYiguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pCi1oKC4pZiguKWcoLiloKC4pZiguKTQ1IGIgRmIoODkpMTUwIDU5NiB5KGZ1bmN0aW9ucywpMjYKLWIoc2hlbGwpZCBGYyguKTEyIGIoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLik0NwotYiBGYigxNCkxNTAgOTA4IHkgRnIoSCkxNTAgMTA0OCB5IEZiKGhpc3RvcnkpMjYgYihidWlsdGlucykxNgotYiBGYyguKWMoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLikKLWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTQyIGIKLUZiKDEyMSkxNTAgMTE0NyB5KGhpc3RvcnkpMjYgYihldiluKGVuKW4odHMpMTkgYiBGYyguKTEzCi1iKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pNDYgYiBGYigxMjQpMTUwCi0xMjQ2IHkoaGlzdG9yeSkyNiBiKGV4cGFuc2lvbikxMyBiIEZjKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4pMzkgYiBGYigxMjMpMTUwIDEzNDUgeShoaXN0b3J5KTI2IGIobGlzdCkxOCBiIEZjKC4pMTMKLWIoLilmKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLik0NAotYiBGYigxMjEpMTUwIDE0NDQgeShIaXN0b3J5KS02IGIoLCkyNiBiKGhvKW4odylnKHRvKWYodXNlKTIwCi1iIEZjKC4pMTIgYiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLik0NSBiIEZiKDEyMCkxNTAgMTc1NQoteSBGcihJKTE1MCAxODk2IHkgRmIoaWRlbiluKHRpXDAxNGVyKTE2IGIgRmMoLiljKC4paCguKWYoLilnKC4paCguKWYoLikKLWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pNDIKLWIgRmIoMykxNTAgMTk5NSB5KGluaXRpYWxpemF0aW9uKTI4IGIoXDAxNGxlLCllKHJlYWRsaW5lKTcKLWIgRmMoLikxMyBiKC4pZyguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4pMzMgYiBGYig5NikxNTAgMjA5NCB5KGluc3RhbGxhdGlvbikxMQotYiBGYyguKWooLillKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLikKLWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikzNwotYiBGYigxMjcpMTUwIDIxOTMgeShpbiluKHRlcmFjdGlvbiwpMjcgYihyZWFkbGluZSk5IGIKLUZjKC4payguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4pMzUgYiBGYig5MykxNTAgMjI5MgoteShpbiluKHRlcmFjdGl2KW4oZSkyNiBiKHNoZWxsKTIwIGIgRmMoLikxMiBiKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKTQ2IGIgRmIoNzMsKTI2IGIoNzUpMTUwIDIzOTEgeShpbiluKHRlcm5hdGlvbmFsaXphdGlvbikyMQotYiBGYyguKTEyIGIoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLik0NSBiIEZiKDcpMTUwCi0yNjg2IHkgRnIoSikxNTAgMjgyNiB5IEZiKGpvYikyMiBiIEZjKC4pMTIgYiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pNDgKLWIgRmIoMykxNTAgMjkyNSB5KGpvYikyNiBiKGNvbiluKHRyb2wpMTIgYiBGYyguKWgoLilnKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pMzggYiBGYigzLCkyNiBiKDg5KTE1MAotMzIzNiB5IEZyKEspMTUwIDMzNzcgeSBGYihraWxsKWcocmluZykxNCBiIEZjKC4pZiguKWYoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTQwCi1iIEZiKDk1KTE1MCAzNDc2IHkoa2lsbGluZykyNyBiKHRleHQpMTYgYiBGYyguKWMoLilnKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLik0MiBiIEZiKDk1KTE1MAotMzc4NyB5IEZyKEwpMTUwIDM5MjggeSBGYihsbylyKGNhbGl6YXRpb24pMTAgYiBGYyguKTE1Ci1iKC4pZSguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLikzNgotYiBGYig3KTE1MCA0MDI3IHkobG9naW4pMjcgYihzaGVsbCkxMyBiIEZjKC4pZyguKWYoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLikzOSBiIEZiKDczKTE1MAotNDMzOCB5IEZyKE0pMTUwIDQ0NzggeSBGYihtYXRjKW4oaGluZywpMjYgYihwYXR0ZXJuKTcKLWIgRmMoLikxMiBiKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTMyIGIgRmIoMjUpMTUwCi00NTc3IHkobWV0YWMpbihoYXJhY3RlcikxNyBiIEZjKC4pZCguKWUoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKWgoLik0MyBiIEZiKDMpMTUwIDQ4NzIgeSBGcihOKTE1MCA1MDEzIHkKLUZiKG5hbWUpMjEgYiBGYyguKTEyIGIoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4pCi1oKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLik0NyBiIEZiKDMpMTUwIDUxMTIKLXkobmF0aXYpbihlKTI1IGIobGFuZ3VhZ2VzKTE0IGIgRmMoLiloKC4pZCguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLik0MCBiIEZiKDcpMTUwIDUyMTEgeShub3RhdGlvbiwpMjcgYihyZWFkbGluZSkxMgotYiBGYyguKWgoLilmKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pMzggYiBGYig5NCkxNTAKLTU1MjIgeSBGcihPKTE1MCA1NjYyIHkgRmIob3ApcihlcmF0b3IsKTI3IGIoc2hlbGwpMTUKLWIgRmMoLillKC4pZyguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLik0MQotYiBGYigzKTIwMjUgMjk5IHkgRnIoUCkyMDI1IDQxNSB5IEZiKHBhcmFtZXRlcikyNiBiKGV4cGFuc2lvbikxNAotYiBGYyguKWYoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pNDAgYiBGYigyMCkyMDI1IDUwMiB5KHBhcmFtZXRlcnMpMTQKLWIgRmMoLilmKC4pZiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTQwCi1iIEZiKDE2KTIwMjUgNTg5IHkocGFyYW1ldGVycywpMjcgYihwKXIob3NpdGlvbmFsKTkgYgotRmMoLikxNCBiKC4pZSguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pMzQgYiBGYigxNikyMDI1IDY3NyB5KHBhcmFtZXRlcnMsKTI3Ci1iKHNwKXIoZWNpYWwpZSBGYyguKTEyIGIoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQ5Ci1iIEZiKDE3KTIwMjUgNzY0IHkocGF0aG5hbWUpMjUgYihleHBhbnNpb24pMTkgYiBGYyguKTEyCi1iKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQ0IGIgRmIoMjQpMjAyNSA4NTEgeShwYXR0ZXJuKTI1Ci1iKG1hdGMpbihoaW5nKTE4IGIgRmMoLikxMiBiKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQzCi1iIEZiKDI1KTIwMjUgOTM4IHkocGlwKXIoZWxpbmUpMTUgYiBGYyguKWUoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pNDIgYgotRmIoOCkyMDI1IDEwMjYgeShQT1NJWCk4IGIgRmMoLilqKC4paSguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikzNSBiIEZiKDMpMjAyNQotMTExMyB5KFBPU0lYKTI0IGIoTW8pcihkZSkxMCBiIEZjKC4paiguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKWgoLilmKC4pZyguKWgoLikzNSBiIEZiKDg1KTIwMjUgMTIwMCB5KHBybylyKGNlc3MpMjYKLWIoZ3JvdXApNyBiIEZjKC4pMTMgYiguKWcoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4pMzQgYiBGYigzKTIwMjUgMTI4NyB5KHBybylyKGNlc3MpMjYgYihncm91cClnKElEKWUKLUZjKC4pMTIgYiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pNTAKLWIgRmIoMykyMDI1IDEzNzQgeShwcm8pcihjZXNzKTI2IGIoc3Vic3RpdHV0aW9uKTEwIGIKLUZjKC4paiguKWYoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pMzYgYiBGYigyMykyMDI1IDE0NjIKLXkocHJvZ3JhbW1hYmxlKTI3IGIoY29tcGxldGlvbikxNiBiIEZjKC4pZCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLik0MiBiIEZiKDExNSkyMDI1Ci0xNTQ5IHkocHJvbXB0aW5nKTcgYiBGYyguKTEyIGIoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pMzIgYiBGYig4MykyMDI1IDE3OTkgeSBGcihRKTIwMjUKLTE5MTUgeSBGYihxdW90aW5nKTE5IGIgRmMoLikxMyBiKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pCi1oKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTQ2IGIgRmIoNikyMDI1Ci0yMDAyIHkocXVvdGluZywpMjYgYihBTlNJKTEyIGIgRmMoLilmKC4paCguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKTM5IGIgRmIoNikyMDI1IDIyNTEgeSBGcihSKTIwMjUgMjM2OAoteSBGYihSZWFkbGluZSwpMjYgYihobyluKHcpZyh0bylnKHVzZSkxNCBiIEZjKC4pZSguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKQotZyguKTQwIGIgRmIoOTIpMjAyNSAyNDU1IHkocmVkaXJlY3Rpb24pMjEgYiBGYyguKTEyIGIoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLik0NiBiIEZiKDI2KTIwMjUKLTI1NDIgeShyZXNlcnYpbihlZCkyNSBiKHcpbihvcmQpZiBGYyguKTEzIGIoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotaCguKWYoLilnKC4paCguKWYoLilnKC4pNTAgYiBGYigzKTIwMjUgMjYyOSB5KHJlc3RyaWN0ZWQpMjYKLWIoc2hlbGwpOCBiIEZjKC4pMTMgYiguKWcoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLikKLTM0IGIgRmIoODQpMjAyNSAyNzE2IHkocmV0dXJuKTI1IGIoc3RhdHVzKTE5IGIgRmMoLikxMwotYiguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQ1Ci1iIEZiKDQpMjAyNSAyOTQ5IHkgRnIoUykyMDI1IDMwNjYgeSBGYihzaGVsbCkyNiBiKGFyaXRobWV0aWMpMTIKLWIgRmMoLiloKC4pZyguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pMzgKLWIgRmIoNzgpMjAyNSAzMTUzIHkoc2hlbGwpMjYgYihmdW5jdGlvbikxMSBiIEZjKC4paSguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKQotZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikzNyBiIEZiKDE0KTIwMjUgMzI0MAoteShzaGVsbCkyNiBiKHNjcmlwdCkxOCBiIEZjKC4pMTMgYiguKWYoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paAotKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pZyguKWgoLilmKC4pZyguKTQ0IGIgRmIoMzQpMjAyNSAzMzI3IHkoc2hlbGwpMjYKLWIodilsKGFyaWFibGUpMTcgYiBGYyguKWMoLilnKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLikKLWgoLilmKC4pNDMgYiBGYigxNikyMDI1IDM0MTQgeShzaGVsbCwpMjYgYihpbiluKHRlcmFjdGl2KW4oZSkxNgotYiBGYyguKWQoLilnKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLikKLWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTQyIGIKLUZiKDc1KTIwMjUgMzUwMiB5KHNpZ25hbCkxNCBiIEZjKC4pZiguKWcoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pCi1nKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQwCi1iIEZiKDQpMjAyNSAzNTg5IHkoc2lnbmFsKTI3IGIoaGFuZGxpbmcpMTggYiBGYyguKTEzCi1iKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pNDQgYiBGYigzMykyMDI1Ci0zNjc2IHkoc3ApcihlY2lhbCkyNyBiKGJ1aWx0aW4pMTIgYiBGYyguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnCi0oLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKWcoLiloKC4pMzggYiBGYig0LCkyNiBiKDU5KTIwMjUgMzc2MyB5KHN0YXJ0dXApZihcMDE0bGVzKTIwCi1iIEZjKC4pMTIgYiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZgotKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKTQ1Ci1iIEZiKDczKTIwMjUgMzg1MSB5KHN1c3ApcihlbmRpbmcpMjUgYihqb2JzKTcgYiBGYyguKTE0Ci1iKC4pZSguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pMzMgYiBGYig4OSkyMDI1Ci00MTAwIHkgRnIoVCkyMDI1IDQyMTYgeSBGYih0aWxkZSkyNiBiKGV4cGFuc2lvbikxOSBiCi1GYyguKTEzIGIoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgKLSguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLik0NQotYiBGYigxOSkyMDI1IDQzMDQgeSh0b2spbihlbikxOCBiIEZjKC4pMTIgYiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcKLSguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pCi1mKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKTQ1Ci1iIEZiKDQpMjAyNSA0MzkxIHkodHJhbnNsYXRpb24sKTI3IGIobmF0aXYpbihlKWUobGFuZ3VhZ2VzKTkKLWIgRmMoLikxNCBiKC4pZiguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmCi0oLilnKC4paCguKTM1IGIgRmIoNykyMDI1IDQ2NDAgeSBGcihWKTIwMjUgNDc1NiB5IEZiKHYpbChhcmlhYmxlLCkyNgotYihzaGVsbCk3IGIgRmMoLikxMyBiKC4pZiguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKQotaCguKTMyIGIgRmIoMTYpMjAyNSA0ODQ0IHkodilsKGFyaWFibGVzLCkyNyBiKHJlYWRsaW5lKTcKLWIgRmMoLikxMiBiKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmCi0oLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTMyIGIgRmIoOTcpMjAyNQotNTA5MyB5IEZyKFcpMjAyNSA1MjA5IHkgRmIodyluKG9yZCkxMCBiIEZjKC4paSguKWgoLilmKC4pZyguKWgoLilmKC4pZwotKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWgoLikKLWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLikzNgotYiBGYig0KTIwMjUgNTI5NyB5KHcpbihvcmQpMjYgYihzcGxpdHRpbmcpMjEgYiBGYyguKTEyCi1iKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKWYKLSguKWcoLiloKC4pZiguKWcoLilnKC4paCguKWYoLilnKC4paCguKWYoLilnKC4paCguKTQ2Ci1iIEZiKDI0KTIwMjUgNTU0NiB5IEZyKFkpMjAyNSA1NjYyIHkgRmIoeSluKGFua2luZykyNQotYih0ZXh0KTcgYiBGYyguKWsoLilpKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloCi0oLilmKC4pZyguKWgoLilmKC4pZyguKWgoLilmKC4pZyguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKWcoLiloKC4pZiguKQotZyguKTMzIGIgRmIoOTUpcCBlb3AgZW5kCitiKEQ6KWkoSW5kZXhlcykyNjIzIGIoMTU3KTE1MCAyOTkgeSBGcihKKTE1MCA0MTUgeSBGYihqb2IpMTYKK2IgRmMoOillKDopZig6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCitnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOik0MyBiIEZiKDMpMTUwCis1MDMgeShqb2IpMjYgYihjb24pbih0cm9sKTEzIGIgRmMoOiloKDopZig6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKKyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCitnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDAgYiBGYigzLCkyNiBiKDg5KTE1MCA3NTMKK3kgRnIoSykxNTAgODcwIHkgRmIoa2lsbClnKHJpbmcpMjEgYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCitnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQ3CitiIEZiKDk1KTE1MCA5NTcgeShraWxsaW5nKTI3IGIodGV4dCkxOSBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDYgYgorRmIoOTUpMTUwIDEyMDggeSBGcihMKTE1MCAxMzI0IHkgRmIobG8pcihjYWxpemF0aW9uKTE0CitiIEZjKDopaSg6KWQoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KTQxIGIgRmIoNykxNTAgMTQxMiB5KGxvZ2luKTI3IGIoc2hlbGwpMTcgYgorRmMoOilkKDopZig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOilnKDopNDQgYiBGYig3MykxNTAgMTY2MiB5IEZyKE0pMTUwIDE3NzkgeSBGYihtYXRjKW4oaGluZywpMjYKK2IocGF0dGVybikyMCBiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCitnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDcKK2IgRmIoMjQpMTUwIDE4NjYgeShtZXRhYyluKGhhcmFjdGVyKTE4IGIgRmMoOilkKDopZSg6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDUgYiBGYigzKTE1MCAyMTAwCit5IEZyKE4pMTUwIDIyMTcgeSBGYihuYW1lKTEzIGIgRmMoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKKyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCitnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopNDAKK2IgRmIoMykxNTAgMjMwNCB5KG5hdGl2KW4oZSkyNSBiKGxhbmd1YWdlcykxMyBiIEZjKDopaSg6KWUoOilnKDopaCg6KWYKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCitnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0MCBiIEZiKDcpMTUwIDIzOTEKK3kobm90YXRpb24sKTI3IGIocmVhZGxpbmUpOSBiIEZjKDopayg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCitnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKKyg6KWYoOilnKDopMzUgYiBGYig5NCkxNTAgMjY0MiB5IEZyKE8pMTUwIDI3NTkgeSBGYihvcClyKGVyYXRvciwpMjcKK2Ioc2hlbGwpMTYgYiBGYyg6KWUoOilmKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQorZyg6KWcoOik0MyBiIEZiKDMpMTUwIDMwMDkgeSBGcihQKTE1MCAzMTI2IHkgRmIocGFyYW1ldGVyKTI2CitiKGV4cGFuc2lvbik3IGIgRmMoOikxNCBiKDopZig6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzQKK2IgRmIoMTkpMTUwIDMyMTMgeShwYXJhbWV0ZXJzKTE3IGIgRmMoOilkKDopZig6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOik0MyBiIEZiKDE1KTE1MAorMzMwMCB5KHBhcmFtZXRlcnMsKTI3IGIocClyKG9zaXRpb25hbCkxOCBiIEZjKDopZCg6KWUoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KTQ0IGIgRmIoMTYpMTUwIDMzODggeShwYXJhbWV0ZXJzLCkyNyBiKHNwKXIoZWNpYWwpMTgKK2IgRmMoOiljKDopZyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTQ0IGIgRmIoMTYpMTUwCiszNDc1IHkocGF0aG5hbWUpMjUgYihleHBhbnNpb24pMTIgYiBGYyg6KWkoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KTM4IGIgRmIoMjQpMTUwIDM1NjMgeShwYXR0ZXJuKTI1IGIobWF0YyluKGhpbmcpMTQKK2IgRmMoOilnKDopZig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCitnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDAKK2IgRmIoMjQpMTUwIDM2NTAgeShwaXApcihlbGluZSkyMyBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTUwCitiIEZiKDgpMTUwIDM3MzcgeShQT1NJWCkxNyBiIEZjKDopMTIgYig6KWgoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0NAorYiBGYigzKTE1MCAzODI1IHkoUE9TSVgpMjUgYihNbylyKGRlKTExIGIgRmMoOilpKDopZyg6KWcoOilnKDopZyg6KWgoOikKK2YoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzcgYiBGYig4NCkxNTAKKzM5MTIgeShwcm8pcihjZXNzKTI3IGIoZ3JvdXApOSBiIEZjKDopayg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikzNiBiIEZiKDMpMTUwIDQwMDAgeShwcm8pcihjZXNzKTI3CitiKGdyb3VwKWUoSUQpZCBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCisoOik0OSBiIEZiKDMpMTUwIDQwODcgeShwcm8pcihjZXNzKTI3IGIoc3Vic3RpdHV0aW9uKTIxCitiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTQ4IGIgRmIoMjMpMTUwCis0MTc1IHkocHJvZ3JhbW1hYmxlKTI3IGIoY29tcGxldGlvbikyMCBiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopNDYKK2IgRmIoMTE1KTE1MCA0MjYyIHkocHJvbXB0aW5nKTExIGIgRmMoOilpKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopMzcgYiBGYig4MikyMDI1CisyOTkgeSBGcihRKTIwMjUgNDE5IHkgRmIocXVvdGluZykxMCBiIEZjKDopaig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzNworYiBGYig2KTIwMjUgNTA4IHkocXVvdGluZywpMjYgYihBTlNJKTEzIGIgRmMoOillKDopaig6KWYoOilnKDopZyg6KWcoOikKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopNDAgYiBGYig2KTIwMjUKKzc2OCB5IEZyKFIpMjAyNSA4ODggeSBGYihSZWFkbGluZSwpMjYgYihobyluKHcpZyh0bylnKHVzZSk3CitiIEZjKDopMTMgYig6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTM0IGIgRmIoOTIpMjAyNQorOTc3IHkocmVkaXJlY3Rpb24pNyBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKKyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCitnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTMzIGIgRmIoMjYpMjAyNSAxMDY2Cit5KHJlc2VydiluKGVkKTI1IGIodyluKG9yZCk3IGIgRmMoOikxNCBiKDopZig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTM0IGIgRmIoMykyMDI1IDExNTUKK3kocmVzdHJpY3RlZCkyNiBiKHNoZWxsKTggYiBGYyg6KTE0IGIoOilmKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2goOilmKDopZyg6KWcoOilnKDopZyg6KTM1IGIgRmIoODQpMjAyNSAxMjQ0IHkocmV0dXJuKTI1CitiKHN0YXR1cyljIEZjKDopMTMgYig6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQorZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOik0OCBiIEZiKDQpMjAyNSAxNDg3IHkgRnIoUykyMDI1IDE2MDcgeQorRmIoc2hlbGwpMjYgYihhcml0aG1ldGljKTExIGIgRmMoOilqKDopZig6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KTM3IGIgRmIoNzgpMjAyNSAxNjk2IHkoc2hlbGwpMjYgYihmdW5jdGlvbikxMgorYiBGYyg6KWgoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopMzgKK2IgRmIoMTQpMjAyNSAxNzg1IHkoc2hlbGwpMjYgYihzY3JpcHQpYyBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ4IGIKK0ZiKDMzKTIwMjUgMTg3NCB5KHNoZWxsKTI2IGIodilsKGFyaWFibGUpMTggYiBGYyg6KWMoOilmKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0NSBiIEZiKDE1KTIwMjUKKzE5NjQgeShzaGVsbCwpMjYgYihpbiluKHRlcmFjdGl2KW4oZSkxNCBiIEZjKDopZyg6KWYoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQwIGIgRmIoNzUpMjAyNSAyMDUzIHkoc2lnbmFsKTcKK2IgRmMoOikxNCBiKDopZig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzQgYiBGYig0KTIwMjUgMjE0MgoreShzaWduYWwpMjcgYihoYW5kbGluZykxNyBiIEZjKDopYyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOik0NCBiIEZiKDMyKTIwMjUgMjIzMSB5KHNwKXIoZWNpYWwpMjcKK2IoYnVpbHRpbikxMCBiIEZjKDopaig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKKzM3IGIgRmIoNCwpMjYgYig1OSkyMDI1IDIzMjAgeShzdGFydHVwKWYoXDAxNGxlcylkIEZjKDopMTMKK2IoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ4CitiIEZiKDczKTIwMjUgMjQwOSB5KHN1c3ApcihlbmRpbmcpMjUgYihqb2JzKTYgYiBGYyg6KTE0CitiKDopZyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKKyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikzMworYiBGYig4OSkyMDI1IDI2NjkgeSBGcihUKTIwMjUgMjc4OSB5IEZiKHRpbGRlKTI2IGIoZXhwYW5zaW9uKTE4CitiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDUKK2IgRmIoMTkpMjAyNSAyODc4IHkodG9rKW4oZW4pMTEgYiBGYyg6KWgoOilpKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCitnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzOAorYiBGYig0KTIwMjUgMjk2NyB5KHRyYW5zbGF0aW9uLCkyNyBiKG5hdGl2KW4oZSllKGxhbmd1YWdlcykxMworYiBGYyg6KWkoOillKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KTQwIGIgRmIoNykyMDI1IDMyMjcgeSBGcihWKTIwMjUgMzM0NyB5IEZiKHYpbChhcmlhYmxlLCkyNgorYihzaGVsbCk4IGIgRmMoOikxNCBiKDopZig6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOilnKDopMzQgYiBGYigxNSkyMDI1IDM0MzYgeSh2KWwoYXJpYWJsZXMsKTI3IGIocmVhZGxpbmUpMjEKK2IgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCisoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0NworYiBGYig5NykyMDI1IDM2OTUgeSBGcihXKTIwMjUgMzgxNSB5IEZiKHcpbihvcmQpMjEgYgorRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDggYiBGYig0KTIwMjUgMzkwNAoreSh3KW4ob3JkKTI2IGIoc3BsaXR0aW5nKTIxIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCitnKDopaCg6KWYoOilnKDopZyg6KWcoOik0NyBiIEZiKDIzKTIwMjUgNDE2NCB5IEZyKFkpMjAyNQorNDI4NCB5IEZiKHkpbihhbmtpbmcpMjUgYih0ZXh0KTkgYiBGYyg6KWooOiloKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopMzUgYiBGYig5NSlwIGVvcAorZW5kCiAlJVBhZ2U6IDE1OCAxNjQKLVRlWERpY3QgYmVnaW4gMTU4IDE2MyBib3AgMTUwIC0xMTYgYSBGdCgxNTgpMjUyNyBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKXAgZW9wIGVuZAorVGVYRGljdCBiZWdpbiAxNTggMTYzIGJvcCBlb3AgZW5kCiAlJVRyYWlsZXIKIAogdXNlcmRpY3QgL2VuZC1ob29rIGtub3due2VuZC1ob29rfWlmCmRpZmYgLS1naXQgYS9kb2MvYmFzaHJlZi50ZXhpIGIvZG9jL2Jhc2hyZWYudGV4aQppbmRleCBjMzEwNjY0Li5iZjhlM2QwIDEwMDY0NAotLS0gYS9kb2MvYmFzaHJlZi50ZXhpCisrKyBiL2RvYy9iYXNocmVmLnRleGkKQEAgLTI0LDcgKzI0LDcgQEAKIAogQHF1b3RhdGlvbgogUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0aGlzIGRvY3VtZW50Ci11bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBGcmVlIERvY3VtZW50YXRpb24gTGljZW5zZSwgVmVyc2lvbiAxLjIgb3IKK3VuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlLCBWZXJzaW9uIDEuMyBvcgogYW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHdpdGggbm8KIEludmFyaWFudCBTZWN0aW9ucywgd2l0aCB0aGUgRnJvbnQtQ292ZXIgdGV4dHMgYmVpbmcgYGBBIEdOVSBNYW51YWwnJywKIGFuZCB3aXRoIHRoZSBCYWNrLUNvdmVyIFRleHRzIGFzIGluIChhKSBiZWxvdy4gIEEgY29weSBvZiB0aGUgbGljZW5zZSBpcwpAQCAtNDk4LDYgKzQ5OCw3IEBACiBAaXRlbSBcYgogYmFja3NwYWNlCiBAaXRlbSBcZQorQGl0ZW14IFxFCiBhbiBlc2NhcGUgY2hhcmFjdGVyIChub3QgQU5TSSBDKQogQGl0ZW0gXGYKIGZvcm0gZmVlZApAQCAtNTEzLDYgKzUxNCw4IEBACiBiYWNrc2xhc2gKIEBpdGVtIFwnCiBzaW5nbGUgcXVvdGUKK0BpdGVtIFwiCitkb3VibGUgcXVvdGUKIEBpdGVtIFxAdmFye25ubn0KIHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHZhbHVlIGlzIHRoZSBvY3RhbCB2YWx1ZSBAdmFye25ubn0KIChvbmUgdG8gdGhyZWUgZGlnaXRzKQpAQCAtNzc3LDcgKzc4MCw3IEBACiBUaGUgc3ludGF4IG9mIHRoZSBAY29kZXtmb3J9IGNvbW1hbmQgaXM6CiAKIEBleGFtcGxlCi1mb3IgQHZhcntuYW1lfSBbaW4gQHZhcnt3b3Jkc30gQGRvdHN7fV07IGRvIEB2YXJ7Y29tbWFuZHN9OyBkb25lCitmb3IgQHZhcntuYW1lfSBbIFtpbiBbQHZhcnt3b3Jkc30gQGRvdHN7fV0gXSA7IF0gZG8gQHZhcntjb21tYW5kc307IGRvbmUKIEBlbmQgZXhhbXBsZQogRXhwYW5kIEB2YXJ7d29yZHN9LCBhbmQgZXhlY3V0ZSBAdmFye2NvbW1hbmRzfSBvbmNlIGZvciBlYWNoIG1lbWJlcgogaW4gdGhlIHJlc3VsdGFudCBsaXN0LCB3aXRoIEB2YXJ7bmFtZX0gYm91bmQgdG8gdGhlIGN1cnJlbnQgbWVtYmVyLgpAQCAtODY0LDcgKzg2Nyw3IEBACiBBIGxpc3Qgb2YgcGF0dGVybnMgYW5kIGFuIGFzc29jaWF0ZWQgY29tbWFuZC1saXN0IGlzIGtub3duCiBhcyBhIEB2YXJ7Y2xhdXNlfS4KIAotRWFjaCBjbGF1c2UgbXVzdCBiZSB0ZXJtaW5hdGVkIHdpdGggQHNhbXB7Ozt9LCBAc2FtcHssJn0sIG9yIEBzYW1wezs7Jn0uCitFYWNoIGNsYXVzZSBtdXN0IGJlIHRlcm1pbmF0ZWQgd2l0aCBAc2FtcHs7O30sIEBzYW1wezsmfSwgb3IgQHNhbXB7OzsmfS4KIFRoZSBAdmFye3dvcmR9IHVuZGVyZ29lcyB0aWxkZSBleHBhbnNpb24sIHBhcmFtZXRlciBleHBhbnNpb24sIGNvbW1hbmQKIHN1YnN0aXR1dGlvbiwgYXJpdGhtZXRpYyBleHBhbnNpb24sIGFuZCBxdW90ZSByZW1vdmFsIGJlZm9yZSBtYXRjaGluZyBpcwogYXR0ZW1wdGVkLiAgRWFjaCBAdmFye3BhdHRlcm59IHVuZGVyZ29lcyB0aWxkZSBleHBhbnNpb24sIHBhcmFtZXRlcgpAQCAtOTc2LDYgKzk3OSw5IEBACiBDb25kaXRpb25hbCBvcGVyYXRvcnMgc3VjaCBhcyBAc2FtcHstZn0gbXVzdCBiZSB1bnF1b3RlZCB0byBiZSByZWNvZ25pemVkCiBhcyBwcmltYXJpZXMuCiAKK1doZW4gdXNlZCB3aXRoIEBzYW1we1tbfSwgVGhlIEBzYW1wezx9IGFuZCBAc2FtcHs+fSBvcGVyYXRvcnMgc29ydAorbGV4aWNvZ3JhcGhpY2FsbHkgdXNpbmcgdGhlIGN1cnJlbnQgbG9jYWxlLgorCiBXaGVuIHRoZSBAc2FtcHs9PX0gYW5kIEBzYW1weyE9fSBvcGVyYXRvcnMgYXJlIHVzZWQsIHRoZSBzdHJpbmcgdG8gdGhlCiByaWdodCBvZiB0aGUgb3BlcmF0b3IgaXMgY29uc2lkZXJlZCBhIHBhdHRlcm4gYW5kIG1hdGNoZWQgYWNjb3JkaW5nCiB0byB0aGUgcnVsZXMgZGVzY3JpYmVkIGJlbG93IGluIEByZWZ7UGF0dGVybiBNYXRjaGluZ30uCkBAIC0xMTc3LDE0ICsxMTgzLDE4IEBACiBTcGVjaWFsIHBhcmFtZXRlciBAY29kZXswfSBpcyB1bmNoYW5nZWQuCiBUaGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgQGVudntGVU5DTkFNRX0gdmFyaWFibGUgaXMgc2V0IHRvIHRoZQogbmFtZSBvZiB0aGUgZnVuY3Rpb24gd2hpbGUgdGhlIGZ1bmN0aW9uIGlzIGV4ZWN1dGluZy4KKwogQWxsIG90aGVyIGFzcGVjdHMgb2YgdGhlIHNoZWxsIGV4ZWN1dGlvbgogZW52aXJvbm1lbnQgYXJlIGlkZW50aWNhbCBiZXR3ZWVuIGEgZnVuY3Rpb24gYW5kIGl0cyBjYWxsZXIKLXdpdGggdGhlIGV4Y2VwdGlvbiB0aGF0IHRoZSBAZW52e0RFQlVHfSBhbmQgQGVudntSRVRVUk59IHRyYXBzCit3aXRoIHRoZXNlIGV4Y2VwdGlvbnM6Cit0aGUgQGVudntERUJVR30gYW5kIEBlbnZ7UkVUVVJOfSB0cmFwcwogYXJlIG5vdCBpbmhlcml0ZWQgdW5sZXNzIHRoZSBmdW5jdGlvbiBoYXMgYmVlbiBnaXZlbiB0aGUKIEBjb2Rle3RyYWNlfSBhdHRyaWJ1dGUgdXNpbmcgdGhlIEBjb2Rle2RlY2xhcmV9IGJ1aWx0aW4gb3IKIHRoZSBAY29kZXstbyBmdW5jdHJhY2V9IG9wdGlvbiBoYXMgYmVlbiBlbmFibGVkIHdpdGgKIHRoZSBAY29kZXtzZXR9IGJ1aWx0aW4sCi0oaW4gd2hpY2ggY2FzZSBhbGwgZnVuY3Rpb25zIGluaGVyaXQgdGhlIEBlbnZ7REVCVUd9IGFuZCBAZW52e1JFVFVSTn0gdHJhcHMpLgorKGluIHdoaWNoIGNhc2UgYWxsIGZ1bmN0aW9ucyBpbmhlcml0IHRoZSBAZW52e0RFQlVHfSBhbmQgQGVudntSRVRVUk59IHRyYXBzKSwKK2FuZCB0aGUgQGVudntFUlJ9IHRyYXAgaXMgbm90IGluaGVyaXRlZCB1bmxlc3MgdGhlIEBjb2Rley1vIGVycnRyYWNlfQorc2hlbGwgb3B0aW9uIGhhcyBiZWVuIGVuYWJsZWQuCiBAeHJlZntCb3VybmUgU2hlbGwgQnVpbHRpbnN9LCBmb3IgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZQogQGNvZGV7dHJhcH0gYnVpbHRpbi4KIApAQCAtMTQ2MSw3ICsxNDcxLDcgQEAKIGFkZSBhY2UgYWJlCiBAZW5kIGV4YW1wbGUKIAotQSBzZXF1ZW5jZSBleHByZXNzaW9uIHRha2VzIHRoZSBmb3JtIEBjb2Rle0B7QHZhcnt4fS4uQHZhcnt5fVtAdmFye2luY3J9XUB9fSwKK0Egc2VxdWVuY2UgZXhwcmVzc2lvbiB0YWtlcyB0aGUgZm9ybSBAY29kZXtAe0B2YXJ7eH0uLkB2YXJ7eX1bLi5AdmFye2luY3J9XUB9fSwKIHdoZXJlIEB2YXJ7eH0gYW5kIEB2YXJ7eX0gYXJlIGVpdGhlciBpbnRlZ2VycyBvciBzaW5nbGUgY2hhcmFjdGVycywKIGFuZCBAdmFye2luY3J9LCBhbiBvcHRpb25hbCBpbmNyZW1lbnQsIGlzIGFuIGludGVnZXIuCiBXaGVuIGludGVnZXJzIGFyZSBzdXBwbGllZCwgdGhlIGV4cHJlc3Npb24gZXhwYW5kcyB0byBlYWNoIG51bWJlciBiZXR3ZWVuCkBAIC0xNjAxLDcgKzE2MTEsNyBAQAogaXMgZm9sbG93ZWQgYnkgYSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgdG8gYmUKIGludGVycHJldGVkIGFzIHBhcnQgb2YgaXRzIG5hbWUuCiAKLUlmIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgQHZhcntwYXJhbWV0ZXJ9IGlzIGFuIGV4Y2xhbWF0aW9uIHBvaW50LAorSWYgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiBAdmFye3BhcmFtZXRlcn0gaXMgYW4gZXhjbGFtYXRpb24gcG9pbnQgKCEpLAogYSBsZXZlbCBvZiB2YXJpYWJsZSBpbmRpcmVjdGlvbiBpcyBpbnRyb2R1Y2VkLgogQmFzaCB1c2VzIHRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgZm9ybWVkIGZyb20gdGhlIHJlc3Qgb2YKIEB2YXJ7cGFyYW1ldGVyfSBhcyB0aGUgbmFtZSBvZiB0aGUgdmFyaWFibGU7IHRoaXMgdmFyaWFibGUgaXMgdGhlbgpAQCAtMTc2Nyw3ICsxNzc3LDcgQEAKIEBpdGVteCAkQHtAdmFye3BhcmFtZXRlcn0sLEB2YXJ7cGF0dGVybn1AfQogVGhpcyBleHBhbnNpb24gbW9kaWZpZXMgdGhlIGNhc2Ugb2YgYWxwaGFiZXRpYyBjaGFyYWN0ZXJzIGluIEB2YXJ7cGFyYW1ldGVyfS4KIFRoZSBAdmFye3BhdHRlcm59IGlzIGV4cGFuZGVkIHRvIHByb2R1Y2UgYSBwYXR0ZXJuIGp1c3QgYXMgaW4KLXBhdGhuYW1lIGV4cGFuc2lvbi4KK2ZpbGVuYW1lIGV4cGFuc2lvbi4KIFRoZSBAc2FtcHtefSBvcGVyYXRvciBjb252ZXJ0cyBsb3dlcmNhc2UgbGV0dGVycyBtYXRjaGluZyBAdmFye3BhdHRlcm59CiB0byB1cHBlcmNhc2U7IHRoZSBAc2FtcHssfSBvcGVyYXRvciBjb252ZXJ0cyBtYXRjaGluZyB1cHBlcmNhc2UgbGV0dGVycwogdG8gbG93ZXJjYXNlLgpAQCAtMTk0MSw3ICsxOTUxLDcgQEAKIElmIHRoZSBzaGVsbCBvcHRpb24gQGNvZGV7bm9jYXNlZ2xvYn0gaXMgZW5hYmxlZCwgdGhlIG1hdGNoIGlzIHBlcmZvcm1lZAogd2l0aG91dCByZWdhcmQgdG8gdGhlIGNhc2Ugb2YgYWxwaGFiZXRpYyBjaGFyYWN0ZXJzLgogCi1XaGVuIGEgcGF0dGVybiBpcyB1c2VkIGZvciBmaWxlbmFtZSBnZW5lcmF0aW9uLCB0aGUgY2hhcmFjdGVyIEBzYW1wey59CitXaGVuIGEgcGF0dGVybiBpcyB1c2VkIGZvciBmaWxlbmFtZSBleHBhbnNpb24sIHRoZSBjaGFyYWN0ZXIgQHNhbXB7Ln0KIGF0IHRoZSBzdGFydCBvZiBhIGZpbGVuYW1lIG9yIGltbWVkaWF0ZWx5IGZvbGxvd2luZyBhIHNsYXNoCiBtdXN0IGJlIG1hdGNoZWQgZXhwbGljaXRseSwgdW5sZXNzIHRoZSBzaGVsbCBvcHRpb24gQGNvZGV7ZG90Z2xvYn0gaXMgc2V0LgogV2hlbiBtYXRjaGluZyBhIGZpbGUgbmFtZSwgdGhlIHNsYXNoIGNoYXJhY3RlciBtdXN0IGFsd2F5cyBiZQpAQCAtMjA4NCw2ICsyMDk0LDE0IEBACiBSZWRpcmVjdGlvbnMgYXJlIHByb2Nlc3NlZCBpbiB0aGUgb3JkZXIgdGhleSBhcHBlYXIsIGZyb20KIGxlZnQgdG8gcmlnaHQuCiAKK0VhY2ggcmVkaXJlY3Rpb24gdGhhdCBtYXkgYmUgcHJlY2VkZWQgYnkgYSBmaWxlIGRlc2NyaXB0b3IgbnVtYmVyCittYXkgaW5zdGVhZCBiZSBwcmVjZWRlZCBieSBhIHdvcmQgb2YgdGhlIGZvcm0gQHtAdmFye3Zhcm5hbWV9QH0uCitJbiB0aGlzIGNhc2UsIGZvciBlYWNoIHJlZGlyZWN0aW9uIG9wZXJhdG9yIGV4Y2VwdAorPiYtIGFuZCA8Ji0sIHRoZSBzaGVsbCB3aWxsIGFsbG9jYXRlIGEgZmlsZSBkZXNjcmlwdG9yIGdyZWF0ZXIKK3RoYW4gMTAgYW5kIGFzc2lnbiBpdCB0byBAe0B2YXJ7dmFybmFtZX1AfS4gIElmID4mLSBvciA8Ji0gaXMgcHJlY2VkZWQKK2J5IEB7QHZhcnt2YXJuYW1lfUB9LCB0aGUgdmFsdWUgb2YgQHZhcnt2YXJuYW1lfSBkZWZpbmVzIHRoZSBmaWxlCitkZXNjcmlwdG9yIHRvIGNsb3NlLgorCiBJbiB0aGUgZm9sbG93aW5nIGRlc2NyaXB0aW9ucywgaWYgdGhlIGZpbGUgZGVzY3JpcHRvciBudW1iZXIgaXMKIG9taXR0ZWQsIGFuZCB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIHRoZSByZWRpcmVjdGlvbiBvcGVyYXRvciBpcwogQHNhbXB7PH0sIHRoZSByZWRpcmVjdGlvbiByZWZlcnMgdG8gdGhlIHN0YW5kYXJkIGlucHV0IChmaWxlCkBAIC0yNzY1LDggKzI3ODMsMTQgQEAKIFVubGVzcyBvdGhlcndpc2Ugbm90ZWQsIGVhY2ggYnVpbHRpbiBjb21tYW5kIGRvY3VtZW50ZWQgYXMgYWNjZXB0aW5nCiBvcHRpb25zIHByZWNlZGVkIGJ5IEBzYW1wey19IGFjY2VwdHMgQHNhbXB7LS19CiB0byBzaWduaWZ5IHRoZSBlbmQgb2YgdGhlIG9wdGlvbnMuCi1Gb3IgZXhhbXBsZSwgdGhlIEBjb2Rlezp9LCBAY29kZXt0cnVlfSwgQGNvZGV7ZmFsc2V9LCBhbmQgQGNvZGV7dGVzdH0KLWJ1aWx0aW5zIGRvIG5vdCBhY2NlcHQgb3B0aW9ucy4KK1RoZSBAY29kZXs6fSwgQGNvZGV7dHJ1ZX0sIEBjb2Rle2ZhbHNlfSwgYW5kIEBjb2Rle3Rlc3R9CitidWlsdGlucyBkbyBub3QgYWNjZXB0IG9wdGlvbnMgYW5kIGRvIG5vdCB0cmVhdCBAc2FtcHstLX0gc3BlY2lhbGx5LgorVGhlIEBjb2Rle2V4aXR9LCBAY29kZXtsb2dvdXR9LCBAY29kZXticmVha30sIEBjb2Rle2NvbnRpbnVlfSwgQGNvZGV7bGV0fSwKK2FuZCBAY29kZXtzaGlmdH0gYnVpbHRpbnMgYWNjZXB0IGFuZCBwcm9jZXNzIGFyZ3VtZW50cyBiZWdpbm5pbmcKK3dpdGggQHNhbXB7LX0gd2l0aG91dCByZXF1aXJpbmcgQHNhbXB7LS19LgorT3RoZXIgYnVpbHRpbnMgdGhhdCBhY2NlcHQgYXJndW1lbnRzIGJ1dCBhcmUgbm90IHNwZWNpZmllZCBhcyBhY2NlcHRpbmcKK29wdGlvbnMgaW50ZXJwcmV0IGFyZ3VtZW50cyBiZWdpbm5pbmcgd2l0aCBAc2FtcHstfSBhcyBpbnZhbGlkIG9wdGlvbnMgYW5kCityZXF1aXJlIEBzYW1wey0tfSB0byBwcmV2ZW50IHRoaXMgaW50ZXJwcmV0YXRpb24uCiAKIEBub2RlIEJvdXJuZSBTaGVsbCBCdWlsdGlucwogQHNlY3Rpb24gQm91cm5lIFNoZWxsIEJ1aWx0aW5zCkBAIC0zMTU5LDE1ICszMTgzLDIwIEBACiBhbmQgdGhlaXIgY29ycmVzcG9uZGluZyBudW1iZXJzLgogRWFjaCBAdmFye3NpZ3NwZWN9IGlzIGVpdGhlciBhIHNpZ25hbCBuYW1lIG9yIGEgc2lnbmFsIG51bWJlci4KIFNpZ25hbCBuYW1lcyBhcmUgY2FzZSBpbnNlbnNpdGl2ZSBhbmQgdGhlIEBjb2Rle1NJR30gcHJlZml4IGlzIG9wdGlvbmFsLgorCiBJZiBhIEB2YXJ7c2lnc3BlY30KIGlzIEBjb2RlezB9IG9yIEBjb2Rle0VYSVR9LCBAdmFye2FyZ30gaXMgZXhlY3V0ZWQgd2hlbiB0aGUgc2hlbGwgZXhpdHMuCiBJZiBhIEB2YXJ7c2lnc3BlY30gaXMgQGNvZGV7REVCVUd9LCB0aGUgY29tbWFuZCBAdmFye2FyZ30gaXMgZXhlY3V0ZWQKIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZCwgQGNvZGV7Zm9yfSBjb21tYW5kLCBAY29kZXtjYXNlfSBjb21tYW5kLAogQGNvZGV7c2VsZWN0fSBjb21tYW5kLCBldmVyeSBhcml0aG1ldGljIEBjb2Rle2Zvcn0gY29tbWFuZCwgYW5kIGJlZm9yZQogdGhlIGZpcnN0IGNvbW1hbmQgZXhlY3V0ZXMgaW4gYSBzaGVsbCBmdW5jdGlvbi4KLVJlZmVyIHRvIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgQGNvZGV7ZXh0Z2xvYn0gb3B0aW9uIHRvIHRoZQorUmVmZXIgdG8gdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBAY29kZXtleHRkZWJ1Z30gb3B0aW9uIHRvIHRoZQogQGNvZGV7c2hvcHR9IGJ1aWx0aW4gKEBweHJlZntUaGUgU2hvcHQgQnVpbHRpbn0pIGZvciBkZXRhaWxzIG9mIGl0cwogZWZmZWN0IG9uIHRoZSBAY29kZXtERUJVR30gdHJhcC4KK0lmIGEgQHZhcntzaWdzcGVjfSBpcyBAY29kZXtSRVRVUk59LCB0aGUgY29tbWFuZCBAdmFye2FyZ30gaXMgZXhlY3V0ZWQKK2VhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yIGEgc2NyaXB0IGV4ZWN1dGVkIHdpdGggdGhlIEBjb2Rley59IG9yCitAY29kZXtzb3VyY2V9IGJ1aWx0aW5zIGZpbmlzaGVzIGV4ZWN1dGluZy4KKwogSWYgYSBAdmFye3NpZ3NwZWN9IGlzIEBjb2Rle0VSUn0sIHRoZSBjb21tYW5kIEB2YXJ7YXJnfSAKIGlzIGV4ZWN1dGVkIHdoZW5ldmVyIGEgc2ltcGxlIGNvbW1hbmQgaGFzIGEgbm9uLXplcm8gZXhpdCBzdGF0dXMsCiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucy4KQEAgLTMxNzgsMTMgKzMyMDcsMTAgQEAKIG9yIGlmIHRoZSBjb21tYW5kJ3MgcmV0dXJuCiBzdGF0dXMgaXMgYmVpbmcgaW52ZXJ0ZWQgdXNpbmcgQGNvZGV7IX0uCiBUaGVzZSBhcmUgdGhlIHNhbWUgY29uZGl0aW9ucyBvYmV5ZWQgYnkgdGhlIEBjb2Rle2VycmV4aXR9IG9wdGlvbi4KLUlmIGEgQHZhcntzaWdzcGVjfSBpcyBAY29kZXtSRVRVUk59LCB0aGUgY29tbWFuZCBAdmFye2FyZ30gaXMgZXhlY3V0ZWQKLWVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yIGEgc2NyaXB0IGV4ZWN1dGVkIHdpdGggdGhlIEBjb2Rley59IG9yCi1AY29kZXtzb3VyY2V9IGJ1aWx0aW5zIGZpbmlzaGVzIGV4ZWN1dGluZy4KIAogU2lnbmFscyBpZ25vcmVkIHVwb24gZW50cnkgdG8gdGhlIHNoZWxsIGNhbm5vdCBiZSB0cmFwcGVkIG9yIHJlc2V0LgogVHJhcHBlZCBzaWduYWxzIHRoYXQgYXJlIG5vdCBiZWluZyBpZ25vcmVkIGFyZSByZXNldCB0byB0aGVpciBvcmlnaW5hbAotdmFsdWVzIGluIGEgY2hpbGQgcHJvY2VzcyB3aGVuIGl0IGlzIGNyZWF0ZWQuCit2YWx1ZXMgaW4gYSBzdWJzaGVsbCBvciBzdWJzaGVsbCBlbnZpcm9ubWVudCB3aGVuIG9uZSBpcyBjcmVhdGVkLgogCiBUaGUgcmV0dXJuIHN0YXR1cyBpcyB6ZXJvIHVubGVzcyBhIEB2YXJ7c2lnc3BlY30gZG9lcyBub3Qgc3BlY2lmeSBhCiB2YWxpZCBzaWduYWwuCkBAIC0zNjI1LDcgKzM2NTEsNyBAQAogbWFwZmlsZSBbLW4gQHZhcntjb3VudH1dIFstTyBAdmFye29yaWdpbn1dIFstcyBAdmFye2NvdW50fV0gWy10XSBbLXUgQHZhcntmZH1dIFsKIC1DIEB2YXJ7Y2FsbGJhY2t9XSBbLWMgQHZhcntxdWFudHVtfV0gW0B2YXJ7YXJyYXl9XQogQGVuZCBleGFtcGxlCi1SZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYXJyYXkgdmFyaWFibGUgQHZhcnthcnJheX0sCitSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUgQHZhcnthcnJheX0sCiBvciBmcm9tIGZpbGUgZGVzY3JpcHRvciBAdmFye2ZkfQogaWYgdGhlIEBvcHRpb257LXV9IG9wdGlvbiBpcyBzdXBwbGllZC4KIFRoZSB2YXJpYWJsZSBAY29kZXtNQVBGSUxFfSBpcyB0aGUgZGVmYXVsdCBAdmFye2FycmF5fS4KQEAgLTM2NDAsNyArMzY2Niw3IEBACiBAaXRlbSAtcwogRGlzY2FyZCB0aGUgZmlyc3QgQHZhcntjb3VudH0gbGluZXMgcmVhZC4KIEBpdGVtIC10Ci1SZW1vdmUgYSB0cmFpbGluZyBsaW5lIGZyb20gZWFjaCBsaW5lIHJlYWQuCitSZW1vdmUgYSB0cmFpbGluZyBuZXdsaW5lIGZyb20gZWFjaCBsaW5lIHJlYWQuCiBAaXRlbSAtdQogUmVhZCBsaW5lcyBmcm9tIGZpbGUgZGVzY3JpcHRvciBAdmFye2ZkfSBpbnN0ZWFkIG9mIHRoZSBzdGFuZGFyZCBpbnB1dC4KIEBpdGVtIC1DCkBAIC0zNjYxLDcgKzM2ODcsOCBAQAogYmVmb3JlIGFzc2lnbmluZyB0byBpdC4KIAogQGNvZGV7bWFwZmlsZX0gcmV0dXJucyBzdWNjZXNzZnVsbHkgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIG9yIG9wdGlvbgotYXJndW1lbnQgaXMgc3VwcGxpZWQsIG9yIEB2YXJ7YXJyYXl9IGlzIGludmFsaWQgb3IgdW5hc3NpZ25hYmxlLgorYXJndW1lbnQgaXMgc3VwcGxpZWQsIEB2YXJ7YXJyYXl9IGlzIGludmFsaWQgb3IgdW5hc3NpZ25hYmxlLCBvciBAdmFye2FycmF5fQoraXMgbm90IGFuIGluZGV4ZWQgYXJyYXkuCiAKIEBpdGVtIHByaW50ZgogQGJ0aW5kZXggcHJpbnRmCkBAIC0zNjk2LDcgKzM3MjMsNyBAQAogQGl0ZW0gcmVhZAogQGJ0aW5kZXggcmVhZAogQGV4YW1wbGUKLXJlYWQgWy1lcnNdIFstYSBAdmFye2FuYW1lfV0gWy1kIEB2YXJ7ZGVsaW19XSBbLWkgQHZhcnt0ZXh0fV0gWy1uIEB2YXJ7bmNoYXJzfV0gWy1wIEB2YXJ7cHJvbXB0fV0gWy10IEB2YXJ7dGltZW91dH1dIFstdSBAdmFye2ZkfV0gW0B2YXJ7bmFtZX0gQGRvdHN7fV0KK3JlYWQgWy1lcnNdIFstYSBAdmFye2FuYW1lfV0gWy1kIEB2YXJ7ZGVsaW19XSBbLWkgQHZhcnt0ZXh0fV0gWy1uIEB2YXJ7bmNoYXJzfV0gWy1OIEB2YXJ7bmNoYXJzfV0gWy1wIEB2YXJ7cHJvbXB0fV0gWy10IEB2YXJ7dGltZW91dH1dIFstdSBAdmFye2ZkfV0gW0B2YXJ7bmFtZX0gQGRvdHN7fV0KIEBlbmQgZXhhbXBsZQogT25lIGxpbmUgaXMgcmVhZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCwgb3IgZnJvbSB0aGUgZmlsZSBkZXNjcmlwdG9yCiBAdmFye2ZkfSBzdXBwbGllZCBhcyBhbiBhcmd1bWVudCB0byB0aGUgQG9wdGlvbnstdX0gb3B0aW9uLCBhbmQgdGhlIGZpcnN0IHdvcmQKQEAgLTM3MzksNyArMzc2NiwxNiBAQAogCiBAaXRlbSAtbiBAdmFye25jaGFyc30KIEBjb2Rle3JlYWR9IHJldHVybnMgYWZ0ZXIgcmVhZGluZyBAdmFye25jaGFyc30gY2hhcmFjdGVycyByYXRoZXIgdGhhbgotd2FpdGluZyBmb3IgYSBjb21wbGV0ZSBsaW5lIG9mIGlucHV0Lgord2FpdGluZyBmb3IgYSBjb21wbGV0ZSBsaW5lIG9mIGlucHV0LCBidXQgaG9ub3IgYSBkZWxpbWl0ZXIgaWYgZmV3ZXIKK3RoYW4gQHZhcntuY2hhcnN9IGNoYXJhY3RlcnMgYXJlIHJlYWQgYmVmb3JlIHRoZSBkZWxpbWl0ZXIuCisKK0BpdGVtIC1OIEB2YXJ7bmNoYXJzfQorQGNvZGV7cmVhZH0gcmV0dXJucyBhZnRlciByZWFkaW5nIGV4YWN0bHkgQHZhcntuY2hhcnN9IGNoYXJhY3RlcnMgcmF0aGVyCit0aGFuIHdhaXRpbmcgZm9yIGEgY29tcGxldGUgbGluZSBvZiBpbnB1dCwgdW5sZXNzIEVPRiBpcyBlbmNvdW50ZXJlZCBvcgorQGNvZGV7cmVhZH0gdGltZXMgb3V0LgorRGVsaW1pdGVyIGNoYXJhY3RlcnMgZW5jb3VudGVyZWQgaW4gdGhlIGlucHV0IGFyZQorbm90IHRyZWF0ZWQgc3BlY2lhbGx5IGFuZCBkbyBub3QgY2F1c2UgQGNvZGV7cmVhZH0gdG8gcmV0dXJuIHVudGlsCitAdmFye25jaGFyc30gY2hhcmFjdGVycyBhcmUgcmVhZC4KIAogQGl0ZW0gLXAgQHZhcntwcm9tcHR9CiBEaXNwbGF5IEB2YXJ7cHJvbXB0fSwgd2l0aG91dCBhIHRyYWlsaW5nIG5ld2xpbmUsIGJlZm9yZSBhdHRlbXB0aW5nCkBAIC0zNzc5LDcgKzM4MTUsNyBAQAogcmVhZGFycmF5IFstbiBAdmFye2NvdW50fV0gWy1PIEB2YXJ7b3JpZ2lufV0gWy1zIEB2YXJ7Y291bnR9XSBbLXRdIFstdSBAdmFye2ZkfV0gWwogLUMgQHZhcntjYWxsYmFja31dIFstYyBAdmFye3F1YW50dW19XSBbQHZhcnthcnJheX1dCiBAZW5kIGV4YW1wbGUKLVJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhcnJheSB2YXJpYWJsZSBAdmFye2FycmF5fSwKK1JlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgaW5kZXhlZCBhcnJheSB2YXJpYWJsZSBAdmFye2FycmF5fSwKIG9yIGZyb20gZmlsZSBkZXNjcmlwdG9yIEB2YXJ7ZmR9CiBpZiB0aGUgQG9wdGlvbnstdX0gb3B0aW9uIGlzIHN1cHBsaWVkLgogCkBAIC00MDA3LDcgKzQwNDMsNyBAQAogc3Vic2hlbGxzIHRvIGV4aXQgYmVmb3JlIGV4ZWN1dGluZyBhbGwgdGhlIGNvbW1hbmRzIGluIHRoZSBzdWJzaGVsbC4KIAogQGl0ZW0gLWYKLURpc2FibGUgZmlsZSBuYW1lIGdlbmVyYXRpb24gKGdsb2JiaW5nKS4KK0Rpc2FibGUgZmlsZW5hbWUgZXhwYW5zaW9uIChnbG9iYmluZykuCiAKIEBpdGVtIC1oCiBMb2NhdGUgYW5kIHJlbWVtYmVyIChoYXNoKSBjb21tYW5kcyBhcyB0aGV5IGFyZSBsb29rZWQgdXAgZm9yIGV4ZWN1dGlvbi4KQEAgLTQxMjQsOCArNDE2MCw4IEBACiBUdXJuIG9uIHByaXZpbGVnZWQgbW9kZS4KIEluIHRoaXMgbW9kZSwgdGhlIEBlbnZ7JEJBU0hfRU5WfSBhbmQgQGVudnskRU5WfSBmaWxlcyBhcmUgbm90CiBwcm9jZXNzZWQsIHNoZWxsIGZ1bmN0aW9ucyBhcmUgbm90IGluaGVyaXRlZCBmcm9tIHRoZSBlbnZpcm9ubWVudCwKLWFuZCB0aGUgQGVudntTSEVMTE9QVFN9LCBAZW52e0NEUEFUSH0gYW5kIEBlbnZ7R0xPQklHTk9SRX0gIHZhcmlhYmxlcywKLWlmIHRoZXkgYXBwZWFyIGluIHRoZSBlbnZpcm9ubWVudCwgYXJlIGlnbm9yZWQuCithbmQgdGhlIEBlbnZ7U0hFTExPUFRTfSwgQGVudntCQVNIT1BUU30sIEBlbnZ7Q0RQQVRIfSBhbmQgQGVudntHTE9CSUdOT1JFfQordmFyaWFibGVzLCBpZiB0aGV5IGFwcGVhciBpbiB0aGUgZW52aXJvbm1lbnQsIGFyZSBpZ25vcmVkLgogSWYgdGhlIHNoZWxsIGlzIHN0YXJ0ZWQgd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgKGdyb3VwKSBpZCBub3QgZXF1YWwgdG8gdGhlCiByZWFsIHVzZXIgKGdyb3VwKSBpZCwgYW5kIHRoZSBAY29kZXstcH0gb3B0aW9uIGlzIG5vdCBzdXBwbGllZCwgdGhlc2UgYWN0aW9ucwogYXJlIHRha2VuIGFuZCB0aGUgZWZmZWN0aXZlIHVzZXIgaWQgaXMgc2V0IHRvIHRoZSByZWFsIHVzZXIgaWQuCkBAIC00MzkxLDcgKzQ0MjcsNyBAQAogZW5jbG9zZWQgaW4gZG91YmxlIHF1b3Rlcy4gIFRoaXMgb3B0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gCiAKIEBpdGVtIGZhaWxnbG9iCi1JZiBzZXQsIHBhdHRlcm5zIHdoaWNoIGZhaWwgdG8gbWF0Y2ggZmlsZW5hbWVzIGR1cmluZyBwYXRobmFtZSBleHBhbnNpb24KK0lmIHNldCwgcGF0dGVybnMgd2hpY2ggZmFpbCB0byBtYXRjaCBmaWxlbmFtZXMgZHVyaW5nIGZpbGVuYW1lIGV4cGFuc2lvbgogcmVzdWx0IGluIGFuIGV4cGFuc2lvbiBlcnJvci4KIAogQGl0ZW0gZm9yY2VfZmlnbm9yZQpAQCAtNDYzOCw2ICs0Njc0LDE2IEBACiBAaXRlbSBCQVNICiBUaGUgZnVsbCBwYXRobmFtZSB1c2VkIHRvIGV4ZWN1dGUgdGhlIGN1cnJlbnQgaW5zdGFuY2Ugb2YgQmFzaC4KIAorQGl0ZW0gQkFTSE9QVFMKK0EgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgZW5hYmxlZCBzaGVsbCBvcHRpb25zLiAgRWFjaCB3b3JkIGluCit0aGUgbGlzdCBpcyBhIHZhbGlkIGFyZ3VtZW50IGZvciB0aGUgQG9wdGlvbnstc30gb3B0aW9uIHRvIHRoZQorQGNvZGV7c2hvcHR9IGJ1aWx0aW4gY29tbWFuZCAoQHB4cmVme1RoZSBTaG9wdCBCdWlsdGlufSkuCitUaGUgb3B0aW9ucyBhcHBlYXJpbmcgaW4gQGVudntCQVNIT1BUU30gYXJlIHRob3NlIHJlcG9ydGVkCithcyBAc2FtcHtvbn0gYnkgQHNhbXB7c2hvcHR9LgorSWYgdGhpcyB2YXJpYWJsZSBpcyBpbiB0aGUgZW52aXJvbm1lbnQgd2hlbiBCYXNoCitzdGFydHMgdXAsIGVhY2ggc2hlbGwgb3B0aW9uIGluIHRoZSBsaXN0IHdpbGwgYmUgZW5hYmxlZCBiZWZvcmUKK3JlYWRpbmcgYW55IHN0YXJ0dXAgZmlsZXMuICBUaGlzIHZhcmlhYmxlIGlzIHJlYWRvbmx5LgorCiBAaXRlbSBCQVNIUElECiBFeHBhbmRzIHRvIHRoZSBwcm9jZXNzIGlkIG9mIHRoZSBjdXJyZW50IEJhc2ggcHJvY2Vzcy4KIFRoaXMgZGlmZmVycyBmcm9tIEBjb2RleyQkfSB1bmRlciBjZXJ0YWluIGNpcmN1bXN0YW5jZXMsIHN1Y2ggYXMgc3Vic2hlbGxzCkBAIC00NzUwLDYgKzQ3OTYsMjAgQEAKIEBpdGVtIEJBU0hfVkVSU0lPTgogVGhlIHZlcnNpb24gbnVtYmVyIG9mIHRoZSBjdXJyZW50IGluc3RhbmNlIG9mIEJhc2guCiAKK0BpdGVtIEJBU0hfWFRSQUNFRkQKK0lmIHNldCB0byBhbiBpbnRlZ2VyIGNvcnJlc3BvbmRpbmcgdG8gYSB2YWxpZCBmaWxlIGRlc2NyaXB0b3IsIEJhc2gKK3dpbGwgd3JpdGUgdGhlIHRyYWNlIG91dHB1dCBnZW5lcmF0ZWQgd2hlbiBAc2FtcHtzZXQgLXh9CitpcyBlbmFibGVkIHRvIHRoYXQgZmlsZSBkZXNjcmlwdG9yLgorVGhpcyBhbGxvd3MgdHJhY2luZyBvdXRwdXQgdG8gYmUgc2VwYXJhdGVkIGZyb20gZGlhZ25vc3RpYyBhbmQgZXJyb3IKK21lc3NhZ2VzLgorVGhlIGZpbGUgZGVzY3JpcHRvciBpcyBjbG9zZWQgd2hlbiBAY29kZXtCQVNIX1hUUkFDRUZEfSBpcyB1bnNldCBvciBhc3NpZ25lZAorYSBuZXcgdmFsdWUuCitVbnNldHRpbmcgQGNvZGV7QkFTSF9YVFJBQ0VGRH0gb3IgYXNzaWduaW5nIGl0IHRoZSBlbXB0eSBzdHJpbmcgY2F1c2VzIHRoZQordHJhY2Ugb3V0cHV0IHRvIGJlIHNlbnQgdG8gdGhlIHN0YW5kYXJkIGVycm9yLgorTm90ZSB0aGF0IHNldHRpbmcgQGNvZGV7QkFTSF9YVFJBQ0VGRH0gdG8gMiAodGhlIHN0YW5kYXJkIGVycm9yIGZpbGUKK2Rlc2NyaXB0b3IpIGFuZCB0aGVuIHVuc2V0dGluZyBpdCB3aWxsIHJlc3VsdCBpbiB0aGUgc3RhbmRhcmQgZXJyb3IKK2JlaW5nIGNsb3NlZC4KKwogQGl0ZW0gQ09MVU1OUwogVXNlZCBieSB0aGUgQGNvZGV7c2VsZWN0fSBidWlsdGluIGNvbW1hbmQgdG8gZGV0ZXJtaW5lIHRoZSB0ZXJtaW5hbCB3aWR0aAogd2hlbiBwcmludGluZyBzZWxlY3Rpb24gbGlzdHMuICBBdXRvbWF0aWNhbGx5IHNldCB1cG9uIHJlY2VpcHQgb2YgYQpAQCAtNDk2Miw3ICs1MDIyLDggQEAKIHRoZSBuZXh0IHRpbWUgaG9zdG5hbWUgY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQgYWZ0ZXIgdGhlCiB2YWx1ZSBpcyBjaGFuZ2VkLCBCYXNoIGFkZHMgdGhlIGNvbnRlbnRzIG9mIHRoZSBuZXcgZmlsZSB0byB0aGUKIGV4aXN0aW5nIGxpc3QuCi1JZiBAZW52e0hPU1RGSUxFfSBpcyBzZXQsIGJ1dCBoYXMgbm8gdmFsdWUsIEJhc2ggYXR0ZW1wdHMgdG8gcmVhZCAKK0lmIEBlbnZ7SE9TVEZJTEV9IGlzIHNldCwgYnV0IGhhcyBubyB2YWx1ZSwgb3IgZG9lcyBub3QgbmFtZSBhIHJlYWRhYmxlIGZpbGUsCitCYXNoIGF0dGVtcHRzIHRvIHJlYWQgCiBAZmlsZXsvZXRjL2hvc3RzfSB0byBvYnRhaW4gdGhlIGxpc3Qgb2YgcG9zc2libGUgaG9zdG5hbWUgY29tcGxldGlvbnMuCiBXaGVuIEBlbnZ7SE9TVEZJTEV9IGlzIHVuc2V0LCB0aGUgaG9zdG5hbWUgbGlzdCBpcyBjbGVhcmVkLgogCkBAIC01NDgyLDggKzU1NDMsOSBAQAogSWYgQmFzaCBpcyBzdGFydGVkIHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIChncm91cCkgaWQgbm90IGVxdWFsIHRvIHRoZQogcmVhbCB1c2VyIChncm91cCkgaWQsIGFuZCB0aGUgQGNvZGV7LXB9IG9wdGlvbiBpcyBub3Qgc3VwcGxpZWQsIG5vIHN0YXJ0dXAKIGZpbGVzIGFyZSByZWFkLCBzaGVsbCBmdW5jdGlvbnMgYXJlIG5vdCBpbmhlcml0ZWQgZnJvbSB0aGUgZW52aXJvbm1lbnQsCi10aGUgQGVudntTSEVMTE9QVFN9IHZhcmlhYmxlLCBpZiBpdCBhcHBlYXJzIGluIHRoZSBlbnZpcm9ubWVudCwgaXMgaWdub3JlZCwKLWFuZCB0aGUgZWZmZWN0aXZlIHVzZXIgaWQgaXMgc2V0IHRvIHRoZSByZWFsIHVzZXIgaWQuCit0aGUgQGVudntTSEVMTE9QVFN9LCBAZW52e0JBU0hPUFRTfSwgQGVudntDRFBBVEh9LCBhbmQgQGVudntHTE9CSUdOT1JFfQordmFyaWFibGVzLCBpZiB0aGV5IGFwcGVhciBpbiB0aGUgZW52aXJvbm1lbnQsIGFyZSBpZ25vcmVkLCBhbmQgdGhlIGVmZmVjdGl2ZQordXNlciBpZCBpcyBzZXQgdG8gdGhlIHJlYWwgdXNlciBpZC4KIElmIHRoZSBAY29kZXstcH0gb3B0aW9uIGlzIHN1cHBsaWVkIGF0IGludm9jYXRpb24sIHRoZSBzdGFydHVwIGJlaGF2aW9yIGlzCiB0aGUgc2FtZSwgYnV0IHRoZSBlZmZlY3RpdmUgdXNlciBpZCBpcyBub3QgcmVzZXQuCiAKQEAgLTU2NjAsNiArNTcyMiw5IEBACiBAZmlsZXsvZGV2L3N0ZGlufSwgQGZpbGV7L2Rldi9zdGRvdXR9LCBvciBAZmlsZXsvZGV2L3N0ZGVycn0sIGZpbGUKIGRlc2NyaXB0b3IgMCwgMSwgb3IgMiwgcmVzcGVjdGl2ZWx5LCBpcyBjaGVja2VkLgogCitXaGVuIHVzZWQgd2l0aCBAc2FtcHtbW30sIFRoZSBAc2FtcHs8fSBhbmQgQHNhbXB7Pn0gb3BlcmF0b3JzIHNvcnQKK2xleGljb2dyYXBoaWNhbGx5IHVzaW5nIHRoZSBjdXJyZW50IGxvY2FsZS4KKwogVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsIHByaW1hcmllcyB0aGF0IG9wZXJhdGUgb24gZmlsZXMgZm9sbG93IHN5bWJvbGljCiBsaW5rcyBhbmQgb3BlcmF0ZSBvbiB0aGUgdGFyZ2V0IG9mIHRoZSBsaW5rLCByYXRoZXIgdGhhbiB0aGUgbGluayBpdHNlbGYuCiAKQEAgLTU3NTIsMTkgKzU4MTcsMTggQEAKIFRydWUgaWYgdGhlIGxlbmd0aCBvZiBAdmFye3N0cmluZ30gaXMgbm9uLXplcm8uCiAKIEBpdGVtIEB2YXJ7c3RyaW5nMX0gPT0gQHZhcntzdHJpbmcyfQorQGl0ZW14IEB2YXJ7c3RyaW5nMX0gPSBAdmFye3N0cmluZzJ9CiBUcnVlIGlmIHRoZSBzdHJpbmdzIGFyZSBlcXVhbC4KLUBzYW1wez19IG1heSBiZSB1c2VkIGluIHBsYWNlIG9mIEBzYW1wez09fSBmb3Igc3RyaWN0IEBzY3twb3NpeH0gY29tcGxpYW5jZS4KK0BzYW1wez19IHNob3VsZCBiZSB1c2VkIHdpdGggdGhlIEBjb2Rle3Rlc3R9IGNvbW1hbmQgZm9yIEBzY3twb3NpeH0gY29uZm9ybWFuY2UuCiAKIEBpdGVtIEB2YXJ7c3RyaW5nMX0gIT0gQHZhcntzdHJpbmcyfQogVHJ1ZSBpZiB0aGUgc3RyaW5ncyBhcmUgbm90IGVxdWFsLgogCiBAaXRlbSBAdmFye3N0cmluZzF9IDwgQHZhcntzdHJpbmcyfQotVHJ1ZSBpZiBAdmFye3N0cmluZzF9IHNvcnRzIGJlZm9yZSBAdmFye3N0cmluZzJ9IGxleGljb2dyYXBoaWNhbGx5Ci1pbiB0aGUgY3VycmVudCBsb2NhbGUuCitUcnVlIGlmIEB2YXJ7c3RyaW5nMX0gc29ydHMgYmVmb3JlIEB2YXJ7c3RyaW5nMn0gbGV4aWNvZ3JhcGhpY2FsbHkuCiAKIEBpdGVtIEB2YXJ7c3RyaW5nMX0gPiBAdmFye3N0cmluZzJ9Ci1UcnVlIGlmIEB2YXJ7c3RyaW5nMX0gc29ydHMgYWZ0ZXIgQHZhcntzdHJpbmcyfSBsZXhpY29ncmFwaGljYWxseQotaW4gdGhlIGN1cnJlbnQgbG9jYWxlLgorVHJ1ZSBpZiBAdmFye3N0cmluZzF9IHNvcnRzIGFmdGVyIEB2YXJ7c3RyaW5nMn0gbGV4aWNvZ3JhcGhpY2FsbHkuCiAKIEBpdGVtIEB2YXJ7YXJnMX0gT1AgQHZhcnthcmcyfQogQGNvZGV7T1B9IGlzIG9uZSBvZiAKQEAgLTYwMzIsMTEgKzYwOTYsMTQgQEAKIFJlZmVyZW5jaW5nIGFuIGFycmF5IHZhcmlhYmxlIHdpdGhvdXQgYSBzdWJzY3JpcHQgaXMgZXF1aXZhbGVudCB0bwogcmVmZXJlbmNpbmcgd2l0aCBhIHN1YnNjcmlwdCBvZiAwLiAKIAorQW4gYXJyYXkgdmFyaWFibGUgaXMgY29uc2lkZXJlZCBzZXQgaWYgYSBzdWJzY3JpcHQgaGFzIGJlZW4gYXNzaWduZWQgYQordmFsdWUuICBUaGUgbnVsbCBzdHJpbmcgaXMgYSB2YWxpZCB2YWx1ZS4KKwogVGhlIEBjb2Rle3Vuc2V0fSBidWlsdGluIGlzIHVzZWQgdG8gZGVzdHJveSBhcnJheXMuCiBAY29kZXt1bnNldH0gQHZhcntuYW1lfVtAdmFye3N1YnNjcmlwdH1dCiBkZXN0cm95cyB0aGUgYXJyYXkgZWxlbWVudCBhdCBpbmRleCBAdmFye3N1YnNjcmlwdH0uCiBDYXJlIG11c3QgYmUgdGFrZW4gdG8gYXZvaWQgdW53YW50ZWQgc2lkZSBlZmZlY3RzIGNhdXNlZCBieSBmaWxlbmFtZQotZ2VuZXJhdGlvbi4KK2V4cGFuc2lvbi4KIEBjb2Rle3Vuc2V0fSBAdmFye25hbWV9LCB3aGVyZSBAdmFye25hbWV9IGlzIGFuIGFycmF5LCByZW1vdmVzIHRoZQogZW50aXJlIGFycmF5LiBBIHN1YnNjcmlwdCBvZiBAc2FtcHsqfSBvciBAc2FtcHtAQH0gYWxzbyByZW1vdmVzIHRoZQogZW50aXJlIGFycmF5LgpAQCAtNjUxMiw2ICs2NTc5LDExIEBACiBUaGUgQGNvZGV7dWxpbWl0fSBidWlsdGluIHVzZXMgYSBibG9jayBzaXplIG9mIDUxMiBieXRlcyBmb3IgdGhlIEBvcHRpb257LWN9CiBhbmQgQG9wdGlvbnstZn0gb3B0aW9ucy4KIAorQGl0ZW0KK1RoZSBhcnJpdmFsIG9mIEBjb2Rle1NJR0NITER9ICB3aGVuIGEgdHJhcCBpcyBzZXQgb24gQGNvZGV7U0lHQ0hMRH0gZG9lcworbm90IGludGVycnVwdCB0aGUgQGNvZGV7d2FpdH0gYnVpbHRpbiBhbmQgY2F1c2UgaXQgdG8gcmV0dXJuIGltbWVkaWF0ZWx5LgorVGhlIHRyYXAgY29tbWFuZCBpcyBydW4gb25jZSBmb3IgZWFjaCBjaGlsZCB0aGF0IGV4aXRzLgorCiBAZW5kIGVudW1lcmF0ZQogCiBUaGVyZSBpcyBvdGhlciBAc2N7cG9zaXh9IGJlaGF2aW9yIHRoYXQgQmFzaCBkb2VzIG5vdCBpbXBsZW1lbnQgYnkKQEAgLTY1NjEsNyArNjYzMyw3IEBACiB0aGUgZXhlY3V0aW9uIG9mIHByb2Nlc3NlcyBhbmQgY29udGludWUgKHJlc3VtZSkKIHRoZWlyIGV4ZWN1dGlvbiBhdCBhIGxhdGVyIHBvaW50LiAgQSB1c2VyIHR5cGljYWxseSBlbXBsb3lzCiB0aGlzIGZhY2lsaXR5IHZpYSBhbiBpbnRlcmFjdGl2ZSBpbnRlcmZhY2Ugc3VwcGxpZWQgam9pbnRseQotYnkgdGhlIHN5c3RlbSdzIHRlcm1pbmFsIGRyaXZlciBhbmQgQmFzaC4KK2J5IHRoZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCdzIHRlcm1pbmFsIGRyaXZlciBhbmQgQmFzaC4KIAogVGhlIHNoZWxsIGFzc29jaWF0ZXMgYSBAdmFye2pvYn0gd2l0aCBlYWNoIHBpcGVsaW5lLiAgSXQga2VlcHMgYQogdGFibGUgb2YgY3VycmVudGx5IGV4ZWN1dGluZyBqb2JzLCB3aGljaCBtYXkgYmUgbGlzdGVkIHdpdGggdGhlCkBAIC02NTg2LDExICs2NjU4LDEzIEBACiBUaGVzZSBwcm9jZXNzZXMgYXJlIHNhaWQgdG8gYmUgaW4gdGhlIGZvcmVncm91bmQuICBCYWNrZ3JvdW5kCiBwcm9jZXNzZXMgYXJlIHRob3NlIHdob3NlIHByb2Nlc3MgZ3JvdXAgQHNje2lkfSBkaWZmZXJzIGZyb20gdGhlCiB0ZXJtaW5hbCdzOyBzdWNoIHByb2Nlc3NlcyBhcmUgaW1tdW5lIHRvIGtleWJvYXJkLWdlbmVyYXRlZAotc2lnbmFscy4gIE9ubHkgZm9yZWdyb3VuZCBwcm9jZXNzZXMgYXJlIGFsbG93ZWQgdG8gcmVhZCBmcm9tIG9yCi13cml0ZSB0byB0aGUgdGVybWluYWwuICBCYWNrZ3JvdW5kIHByb2Nlc3NlcyB3aGljaCBhdHRlbXB0IHRvCi1yZWFkIGZyb20gKHdyaXRlIHRvKSB0aGUgdGVybWluYWwgYXJlIHNlbnQgYSBAY29kZXtTSUdUVElOfQotKEBjb2Rle1NJR1RUT1V9KSBzaWduYWwgYnkgdGhlIHRlcm1pbmFsIGRyaXZlciwgd2hpY2gsIHVubGVzcwotY2F1Z2h0LCBzdXNwZW5kcyB0aGUgcHJvY2Vzcy4gCitzaWduYWxzLiAgT25seSBmb3JlZ3JvdW5kIHByb2Nlc3NlcyBhcmUgYWxsb3dlZCB0byByZWFkIGZyb20gb3IsIGlmCit0aGUgdXNlciBzbyBzcGVjaWZpZXMgd2l0aCBAY29kZXtzdHR5IHRvc3RvcH0sIHdyaXRlIHRvIHRoZSB0ZXJtaW5hbC4KK0JhY2tncm91bmQgcHJvY2Vzc2VzIHdoaWNoIGF0dGVtcHQgdG8KK3JlYWQgZnJvbSAod3JpdGUgdG8gd2hlbiBAY29kZXtzdHR5IHRvc3RvcH0gaXMgaW4gZWZmZWN0KSB0aGUKK3Rlcm1pbmFsIGFyZSBzZW50IGEgQGNvZGV7U0lHVFRJTn0gKEBjb2Rle1NJR1RUT1V9KQorc2lnbmFsIGJ5IHRoZSBrZXJuZWwncyB0ZXJtaW5hbCBkcml2ZXIsCit3aGljaCwgdW5sZXNzIGNhdWdodCwgc3VzcGVuZHMgdGhlIHByb2Nlc3MuIAogCiBJZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSBvbiB3aGljaCBCYXNoIGlzIHJ1bm5pbmcgc3VwcG9ydHMKIGpvYiBjb250cm9sLCBCYXNoIGNvbnRhaW5zIGZhY2lsaXRpZXMgdG8gdXNlIGl0LiAgVHlwaW5nIHRoZQpAQCAtNzIyNSw2ICs3Mjk5LDEwIEBACiBJbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBleHRlbmRlZCBwYXR0ZXJuIG1hdGNoaW5nIGZlYXR1cmVzIGRlc2NyaWJlZAogYWJvdmUgdW5kZXIgQHJlZntQYXR0ZXJuIE1hdGNoaW5nfS4KIAorQGl0ZW0gLS1lbmFibGUtZXh0ZW5kZWQtZ2xvYi1kZWZhdWx0CitTZXQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIEB2YXJ7ZXh0Z2xvYn0gc2hlbGwgb3B0aW9uIGRlc2NyaWJlZAorYWJvdmUgdW5kZXIgQHJlZntUaGUgU2hvcHQgQnVpbHRpbn0gdG8gYmUgZW5hYmxlZC4KKwogQGl0ZW0gLS1lbmFibGUtaGVscC1idWlsdGluCiBJbmNsdWRlIHRoZSBAY29kZXtoZWxwfSBidWlsdGluLCB3aGljaCBkaXNwbGF5cyBoZWxwIG9uIHNoZWxsIGJ1aWx0aW5zIGFuZAogdmFyaWFibGVzIChAcHhyZWZ7QmFzaCBCdWlsdGluc30pLgpAQCAtNzMxOCw3ICs3Mzk2LDcgQEAKIG1ha2Ugc3VyZSB0aGF0IGl0IHJlYWxseSBpcyBhIGJ1ZywgYW5kIHRoYXQgaXQgYXBwZWFycyBpbiB0aGUgbGF0ZXN0CiB2ZXJzaW9uIG9mIEJhc2guCiBUaGUgbGF0ZXN0IHZlcnNpb24gb2YgQmFzaCBpcyBhbHdheXMgYXZhaWxhYmxlIGZvciBGVFAgZnJvbQotQHVyZWZ7ZnRwOi8vZnRwLmdudS5vcmcvcHViL2Jhc2gvfS4KK0B1cmVme2Z0cDovL2Z0cC5nbnUub3JnL3B1Yi9nbnUvYmFzaC99LgogCiBPbmNlIHlvdSBoYXZlIGRldGVybWluZWQgdGhhdCBhIGJ1ZyBhY3R1YWxseSBleGlzdHMsIHVzZSB0aGUKIEBjb2Rle2Jhc2hidWd9IGNvbW1hbmQgdG8gc3VibWl0IGEgYnVnIHJlcG9ydC4KZGlmZiAtLWdpdCBhL2RvYy9idWlsdGlucy4wIGIvZG9jL2J1aWx0aW5zLjAKaW5kZXggZmFmOTBhMC4uYTcyMWUzOCAxMDA2NDQKLS0tIGEvZG9jL2J1aWx0aW5zLjAKKysrIGIvZG9jL2J1aWx0aW5zLjAKQEAgLTE0LDggKzE0LDEyIEBACiBCCEJBCEFTCFNICEggQghCVQhVSQhJTAhMVAhUSQhJTghOIEMIQ08IT00ITU0ITUEIQU4ITkQIRFMIUwogICAgICAgIFVubGVzcyBvdGhlcndpc2Ugbm90ZWQsIGVhY2ggYnVpbHRpbiBjb21tYW5kIGRvY3VtZW50ZWQgaW4gdGhpcyBzZWN0aW9uCiAgICAgICAgYXMgYWNjZXB0aW5nIG9wdGlvbnMgcHJlY2VkZWQgYnkgLQgtIGFjY2VwdHMgLQgtLQgtIHRvIHNpZ25pZnkgdGhlIGVuZCBvZiB0aGUKLSAgICAgICBvcHRpb25zLiAgIEZvciAgZXhhbXBsZSwgIHRoZSAgOgg6LCB0CHRyCHJ1CHVlCGUsIGYIZmEIYWwIbHMIc2UIZSwgYW5kIHQIdGUIZXMIc3QIdCBidWlsdGlucyBkbyBub3QKLSAgICAgICBhY2NlcHQgb3B0aW9ucy4KKyAgICAgICBvcHRpb25zLiAgIFRoZSAgOgg6LCB0CHRyCHJ1CHVlCGUsIGYIZmEIYWwIbHMIc2UIZSwgYW5kIHQIdGUIZXMIc3QIdCBidWlsdGlucyBkbyBub3QgYWNjZXB0IG9wdGlvbnMKKyAgICAgICBhbmQgZG8gbm90IHRyZWF0IC0ILS0ILSBzcGVjaWFsbHkuICBUaGUgZQhleAh4aQhpdAh0LCBsCGxvCG9nCGdvCG91CHV0CHQsIGIIYnIIcmUIZWEIYWsIaywgYwhjbwhvbghudAh0aQhpbghudQh1ZQhlLCBsCGxlCGV0CHQsCisgICAgICAgYW5kICBzCHNoCGhpCGlmCGZ0CHQgYnVpbHRpbnMgYWNjZXB0IGFuZCBwcm9jZXNzIGFyZ3VtZW50cyBiZWdpbm5pbmcgd2l0aCAtCC0gd2l0aC0KKyAgICAgICBvdXQgcmVxdWlyaW5nIC0ILS0ILS4gIE90aGVyIGJ1aWx0aW5zIHRoYXQgYWNjZXB0ICBhcmd1bWVudHMgIGJ1dCAgYXJlICBub3QKKyAgICAgICBzcGVjaWZpZWQgIGFzIGFjY2VwdGluZyBvcHRpb25zIGludGVycHJldCBhcmd1bWVudHMgYmVnaW5uaW5nIHdpdGggLQgtIGFzCisgICAgICAgaW52YWxpZCBvcHRpb25zIGFuZCByZXF1aXJlIC0ILS0ILSB0byBwcmV2ZW50IHRoaXMgaW50ZXJwcmV0YXRpb24uCiAgICAgICAgOgg6IFtfCGFfCHJfCGdfCHVfCG1fCGVfCG5fCHRfCHNdCiAgICAgICAgICAgICAgIE5vIGVmZmVjdDsgdGhlIGNvbW1hbmQgZG9lcyBub3RoaW5nIGJleW9uZCAgZXhwYW5kaW5nICBfCGFfCHJfCGdfCHVfCG1fCGVfCG5fCHRfCHMKICAgICAgICAgICAgICAgYW5kICBwZXJmb3JtaW5nIGFueSBzcGVjaWZpZWQgcmVkaXJlY3Rpb25zLiAgQSB6ZXJvIGV4aXQgY29kZSBpcwpAQCAtMTg0LDE4ICsxODgsMjIgQEAKICAgICAgICAgICAgICAgVGhlICByZXR1cm4gIHZhbHVlIGlzIHRydWUgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLAogICAgICAgICAgICAgICBvciBubyBtYXRjaGVzIHdlcmUgZ2VuZXJhdGVkLgogCi0gICAgICAgYwhjbwhvbQhtcAhwbAhsZQhldAh0ZQhlIFstCC1hCGFiCGJjCGNkCGRlCGVmCGZnCGdqCGprCGtzCHN1CHV2CHZdIFstCC1vCG8gXwhjXwhvXwhtXwhwXwgtXwhvXwhwXwh0XwhpXwhvXwhuXSBbLQgtRQhFXSBbLQgtQQhBIF8IYV8IY18IdF8IaV8Ib18Ibl0gWy0ILUcIRyBfCGdfCGxfCG9fCGJfCHBfCGFfCHRdCi0gICAgICAgWy0ILVcIVyBfCHdfCG9fCHJfCGRfCGxfCGlfCHNfCHRdIFstCC1GCEYgXwhmXwh1XwhuXwhjXwh0XwhpXwhvXwhuXSBbLQgtQwhDIF8IY18Ib18IbV8IbV8IYV8Ibl8IZF0KKyAgICAgICBjCGNvCG9tCG1wCHBsCGxlCGV0CHRlCGUgWy0ILWEIYWIIYmMIY2QIZGUIZWYIZmcIZ2oIamsIa3MIc3UIdXYIdl0gWy0ILW8IbyBfCGNfCG9fCG1fCHBfCC1fCG9fCHBfCHRfCGlfCG9fCG5dIFstCC1ECERFCEVdIFstCC1BCEEgXwhhXwhjXwh0XwhpXwhvXwhuXSAgWy0ILUcIRyAgXwhnXwhsXwhvXwhiXwgtCisgICAgICAgXwhwXwhhXwh0XSBbLQgtVwhXIF8Id18Ib18Icl8IZF8IbF8IaV8Ic18IdF0gWy0ILUYIRiBfCGZfCHVfCG5fCGNfCHRfCGlfCG9fCG5dIFstCC1DCEMgXwhjXwhvXwhtXwhtXwhhXwhuXwhkXQogICAgICAgICAgICAgICBbLQgtWAhYIF8IZl8IaV8IbF8IdF8IZV8Icl8IcF8IYV8IdF0gWy0ILVAIUCBfCHBfCHJfCGVfCGZfCGlfCHhdIFstCC1TCFMgXwhzXwh1XwhmXwhmXwhpXwh4XSBfCG5fCGFfCG1fCGUgW18Ibl8IYV8IbV8IZSBfCC5fCC5fCC5dCi0gICAgICAgYwhjbwhvbQhtcAhwbAhsZQhldAh0ZQhlIC0ILXAIcHIIciBbLQgtRQhFXSBbXwhuXwhhXwhtXwhlIC4uLl0KKyAgICAgICBjCGNvCG9tCG1wCHBsCGxlCGV0CHRlCGUgLQgtcAhwcghyIFstCC1ECERFCEVdIFtfCG5fCGFfCG1fCGUgLi4uXQogICAgICAgICAgICAgICBTcGVjaWZ5IGhvdyBhcmd1bWVudHMgdG8gZWFjaCBfCG5fCGFfCG1fCGUgc2hvdWxkIGJlIGNvbXBsZXRlZC4gIElmICB0aGUKICAgICAgICAgICAgICAgLQgtcAhwICBvcHRpb24gIGlzIHN1cHBsaWVkLCBvciBpZiBubyBvcHRpb25zIGFyZSBzdXBwbGllZCwgZXhpc3RpbmcKICAgICAgICAgICAgICAgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9ucyBhcmUgcHJpbnRlZCBpbiBhIHdheSB0aGF0IGFsbG93cyAgdGhlbQogICAgICAgICAgICAgICB0byBiZSByZXVzZWQgYXMgaW5wdXQuICBUaGUgLQgtcghyIG9wdGlvbiByZW1vdmVzIGEgY29tcGxldGlvbiBzcGVjLQogICAgICAgICAgICAgICBpZmljYXRpb24gZm9yIGVhY2ggXwhuXwhhXwhtXwhlLCBvciwgaWYgbm8gXwhuXwhhXwhtXwhlcyBhcmUgc3VwcGxpZWQsIGFsbCAgY29tLQotICAgICAgICAgICAgICBwbGV0aW9uICBzcGVjaWZpY2F0aW9ucy4gICBUaGUgIC0ILUUIRSAgb3B0aW9uICBpbmRpY2F0ZXMgIHRoYXQgIHRoZQotICAgICAgICAgICAgICByZW1haW5pbmcgb3B0aW9ucyBhbmQgYWN0aW9ucyBzaG91bGQgYXBwbHkgdG8gYGBlbXB0eScnICBjb21tYW5kCi0gICAgICAgICAgICAgIGNvbXBsZXRpb247IHRoYXQgaXMsIGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZS4KKyAgICAgICAgICAgICAgcGxldGlvbiAgc3BlY2lmaWNhdGlvbnMuICAgVGhlICAtCC1ECEQgIG9wdGlvbiAgaW5kaWNhdGVzICB0aGF0ICB0aGUKKyAgICAgICAgICAgICAgcmVtYWluaW5nIG9wdGlvbnMgYW5kIGFjdGlvbnMgc2hvdWxkIGFwcGx5ICB0byAgdGhlICBgYGRlZmF1bHQnJworICAgICAgICAgICAgICBjb21tYW5kICBjb21wbGV0aW9uOyAgdGhhdCBpcywgY29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYSBjb21tYW5kCisgICAgICAgICAgICAgIGZvciB3aGljaCBubyBjb21wbGV0aW9uIGhhcyBwcmV2aW91c2x5ICBiZWVuICBkZWZpbmVkLiAgIFRoZSAgLQgtRQhFCisgICAgICAgICAgICAgIG9wdGlvbiAgaW5kaWNhdGVzICB0aGF0IHRoZSByZW1haW5pbmcgb3B0aW9ucyBhbmQgYWN0aW9ucyBzaG91bGQKKyAgICAgICAgICAgICAgYXBwbHkgdG8gIGBgZW1wdHknJyAgY29tbWFuZCAgY29tcGxldGlvbjsgIHRoYXQgIGlzLCAgY29tcGxldGlvbgorICAgICAgICAgICAgICBhdHRlbXB0ZWQgb24gYSBibGFuayBsaW5lLgogCiAgICAgICAgICAgICAgIFRoZSAgcHJvY2VzcyAgb2YgIGFwcGx5aW5nICB0aGVzZSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zIHdoZW4KICAgICAgICAgICAgICAgd29yZCBjb21wbGV0aW9uIGlzICBhdHRlbXB0ZWQgIGlzICBkZXNjcmliZWQgIGFib3ZlICB1bmRlciAgUAhQcghybwhvLQgtCkBAIC0yNzUsNyArMjgzLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWVzIG9mIGFsbCBzaGVsbCB2YXJpYWJsZXMuICBNYXkgYWxzbyBiZSBzcGVjLQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZpZWQgYXMgLQgtdgh2LgogICAgICAgICAgICAgICAtCC1HCEcgXwhnXwhsXwhvXwhiXwhwXwhhXwh0Ci0gICAgICAgICAgICAgICAgICAgICAgVGhlIGZpbGVuYW1lIGV4cGFuc2lvbiBwYXR0ZXJuIF8IZ18IbF8Ib18IYl8IcF8IYV8IdCAgaXMgIGV4cGFuZGVkICB0bworICAgICAgICAgICAgICAgICAgICAgIFRoZSBwYXRobmFtZSBleHBhbnNpb24gcGF0dGVybiBfCGdfCGxfCG9fCGJfCHBfCGFfCHQgIGlzICBleHBhbmRlZCAgdG8KICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZSB0aGUgcG9zc2libGUgY29tcGxldGlvbnMuCiAgICAgICAgICAgICAgIC0ILVcIVyBfCHdfCG9fCHJfCGRfCGxfCGlfCHNfCHQKICAgICAgICAgICAgICAgICAgICAgICBUaGUgIF8Id18Ib18Icl8IZF8IbF8IaV8Ic18IdCAgaXMgIHNwbGl0IHVzaW5nIHRoZSBjaGFyYWN0ZXJzIGluIHRoZSBJCElGCEZTCFMKQEAgLTI5Miw3ICszMDAsNyBAQAogICAgICAgICAgICAgICAgICAgICAgIHBsZXRpb25zIGFyZSByZXRyaWV2ZWQgZnJvbSB0aGUgdmFsdWUgb2YgIHRoZSAgQwhDTwhPTQhNUAhQUghSRQhFUAhQTAhMWQhZCiAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkgdmFyaWFibGUuCiAgICAgICAgICAgICAgIC0ILVgIWCBfCGZfCGlfCGxfCHRfCGVfCHJfCHBfCGFfCHQKLSAgICAgICAgICAgICAgICAgICAgICBfCGZfCGlfCGxfCHRfCGVfCHJfCHBfCGFfCHQgIGlzICBhIHBhdHRlcm4gYXMgdXNlZCBmb3IgZmlsZW5hbWUgZXhwYW5zaW9uLgorICAgICAgICAgICAgICAgICAgICAgIF8IZl8IaV8IbF8IdF8IZV8Icl8IcF8IYV8IdCAgaXMgIGEgcGF0dGVybiBhcyB1c2VkIGZvciBwYXRobmFtZSBleHBhbnNpb24uCiAgICAgICAgICAgICAgICAgICAgICAgSXQgaXMgYXBwbGllZCB0byB0aGUgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucyBnZW5lci0KICAgICAgICAgICAgICAgICAgICAgICBhdGVkICBieSAgdGhlICBwcmVjZWRpbmcgb3B0aW9ucyBhbmQgYXJndW1lbnRzLCBhbmQgZWFjaAogICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRpb24gbWF0Y2hpbmcgXwhmXwhpXwhsXwh0XwhlXwhyXwhwXwhhXwh0IGlzIHJlbW92ZWQgZnJvbSB0aGUgIGxpc3QuCkBAIC0zMTEsMTI5ICszMTksMTM0IEBACiAgICAgICAgICAgICAgIGZvciBhIF8Ibl8IYV8IbV8IZSBmb3Igd2hpY2ggbm8gc3BlY2lmaWNhdGlvbiBleGlzdHMsIG9yIGFuIGVycm9yIG9jY3VycwogICAgICAgICAgICAgICBhZGRpbmcgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24uCiAKLSAgICAgICBjCGNvCG9tCG1wCHBvCG9wCHB0CHQgWy0ILW8IbyBfCG9fCHBfCHRfCGlfCG9fCG5dIFsrCCtvCG8gXwhvXwhwXwh0XwhpXwhvXwhuXSBbXwhuXwhhXwhtXwhlXQorICAgICAgIGMIY28Ib20IbXAIcG8Ib3AIcHQIdCBbLQgtbwhvIF8Ib18IcF8IdF8IaV8Ib18Ibl0gWy0ILUQIREUIRV0gWysIK28IbyBfCG9fCHBfCHRfCGlfCG9fCG5dIFtfCG5fCGFfCG1fCGVdCiAgICAgICAgICAgICAgIE1vZGlmeSAgY29tcGxldGlvbiAgb3B0aW9ucyAgZm9yICBlYWNoICBfCG5fCGFfCG1fCGUgIGFjY29yZGluZyAgdG8gIHRoZQogICAgICAgICAgICAgICBfCG9fCHBfCHRfCGlfCG9fCG5zLCBvciBmb3IgdGhlIGN1cnJlbnRseS1leGVjdXRpb24gY29tcGxldGlvbiBpZiAgbm8gIF8Ibl8IYV8IbV8IZXMKICAgICAgICAgICAgICAgYXJlICBzdXBwbGllZC4gICBJZiBubyBfCG9fCHBfCHRfCGlfCG9fCG5zIGFyZSBnaXZlbiwgZGlzcGxheSB0aGUgY29tcGxldGlvbgogICAgICAgICAgICAgICBvcHRpb25zIGZvciBlYWNoIF8Ibl8IYV8IbV8IZSBvciB0aGUgY3VycmVudCBjb21wbGV0aW9uLiAgIFRoZSAgcG9zc2libGUKICAgICAgICAgICAgICAgdmFsdWVzICBvZiAgXwhvXwhwXwh0XwhpXwhvXwhuICBhcmUgIHRob3NlICB2YWxpZCAgZm9yICB0aGUgYwhjbwhvbQhtcAhwbAhsZQhldAh0ZQhlIGJ1aWx0aW4KLSAgICAgICAgICAgICAgZGVzY3JpYmVkIGFib3ZlLgorICAgICAgICAgICAgICBkZXNjcmliZWQgYWJvdmUuICBUaGUgLQgtRAhEIG9wdGlvbiAgaW5kaWNhdGVzICB0aGF0ICB0aGUgIHJlbWFpbmluZworICAgICAgICAgICAgICBvcHRpb25zIHNob3VsZCBhcHBseSB0byB0aGUgYGBkZWZhdWx0JycgY29tbWFuZCBjb21wbGV0aW9uOyB0aGF0CisgICAgICAgICAgICAgIGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhIGNvbW1hbmQgZm9yICB3aGljaCAgbm8gIGNvbXBsZXRpb24KKyAgICAgICAgICAgICAgaGFzICBwcmV2aW91c2x5ICBiZWVuIGRlZmluZWQuICBUaGUgLQgtRQhFIG9wdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUKKyAgICAgICAgICAgICAgcmVtYWluaW5nIG9wdGlvbnMgc2hvdWxkIGFwcGx5IHRvIGBgZW1wdHknJyBjb21tYW5kICBjb21wbGV0aW9uOworICAgICAgICAgICAgICB0aGF0IGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhIGJsYW5rIGxpbmUuCiAKLSAgICAgICBUaGUgcmV0dXJuIHZhbHVlIGlzIHRydWUgdW5sZXNzICBhbiAgaW52YWxpZCAgb3B0aW9uICBpcyAgc3VwcGxpZWQsICBhbgotICAgICAgIGF0dGVtcHQgIGlzICBtYWRlIHRvIG1vZGlmeSB0aGUgb3B0aW9ucyBmb3IgYSBfCG5fCGFfCG1fCGUgZm9yIHdoaWNoIG5vIGNvbXBsZS0KKyAgICAgICBUaGUgIHJldHVybiAgdmFsdWUgIGlzICB0cnVlICB1bmxlc3MgIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbgorICAgICAgIGF0dGVtcHQgaXMgbWFkZSB0byBtb2RpZnkgdGhlIG9wdGlvbnMgZm9yIGEgXwhuXwhhXwhtXwhlIGZvciB3aGljaCAgbm8gIGNvbXBsZS0KICAgICAgICB0aW9uIHNwZWNpZmljYXRpb24gZXhpc3RzLCBvciBhbiBvdXRwdXQgZXJyb3Igb2NjdXJzLgogCiAgICAgICAgYwhjbwhvbghudAh0aQhpbghudQh1ZQhlIFtfCG5dCiAgICAgICAgICAgICAgIFJlc3VtZSB0aGUgbmV4dCBpdGVyYXRpb24gb2YgdGhlIGVuY2xvc2luZyBmCGZvCG9yCHIsIHcId2gIaGkIaWwIbGUIZSwgdQh1bghudAh0aQhpbAhsLCBvcgotICAgICAgICAgICAgICBzCHNlCGVsCGxlCGVjCGN0CHQgIGxvb3AuICAgSWYgIF8IbiAgaXMgc3BlY2lmaWVkLCByZXN1bWUgYXQgdGhlIF8IbnRoIGVuY2xvc2luZwotICAgICAgICAgICAgICBsb29wLiAgXwhuIG11c3QgYmUgPj0gMS4gIElmIF8IbiAgaXMgIGdyZWF0ZXIgIHRoYW4gIHRoZSAgbnVtYmVyICBvZgotICAgICAgICAgICAgICBlbmNsb3NpbmcgIGxvb3BzLCAgdGhlICBsYXN0ICBlbmNsb3NpbmcgIGxvb3AgKHRoZSBgYHRvcC1sZXZlbCcnCisgICAgICAgICAgICAgIHMIc2UIZWwIbGUIZWMIY3QIdCBsb29wLiAgSWYgXwhuIGlzIHNwZWNpZmllZCwgcmVzdW1lICBhdCAgdGhlICBfCG50aCAgZW5jbG9zaW5nCisgICAgICAgICAgICAgIGxvb3AuICAgXwhuICBtdXN0ICBiZSAgPj0gIDEuICAgSWYgXwhuIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbnVtYmVyIG9mCisgICAgICAgICAgICAgIGVuY2xvc2luZyBsb29wcywgdGhlICBsYXN0ICBlbmNsb3NpbmcgIGxvb3AgICh0aGUgIGBgdG9wLWxldmVsJycKICAgICAgICAgICAgICAgbG9vcCkgaXMgcmVzdW1lZC4gIFRoZSByZXR1cm4gdmFsdWUgaXMgMCB1bmxlc3MgXwhuIGlzIG5vdCBncmVhdGVyCiAgICAgICAgICAgICAgIHRoYW4gb3IgZXF1YWwgdG8gMS4KIAogICAgICAgIGQIZGUIZWMIY2wIbGEIYXIIcmUIZSBbLQgtYQhhQQhBZghmRghGaQhpbAhscghydAh0dQh1eAh4XSBbLQgtcAhwXSBbXwhuXwhhXwhtXwhlWz1fCHZfCGFfCGxfCHVfCGVdIC4uLl0KICAgICAgICB0CHR5CHlwCHBlCGVzCHNlCGV0CHQgWy0ILWEIYUEIQWYIZkYIRmkIaWwIbHIIcnQIdHUIdXgIeF0gWy0ILXAIcF0gW18Ibl8IYV8IbV8IZVs9Xwh2XwhhXwhsXwh1XwhlXSAuLi5dCi0gICAgICAgICAgICAgIERlY2xhcmUgIHZhcmlhYmxlcyBhbmQvb3IgZ2l2ZSB0aGVtIGF0dHJpYnV0ZXMuICBJZiBubyBfCG5fCGFfCG1fCGVzIGFyZQotICAgICAgICAgICAgICBnaXZlbiB0aGVuIGRpc3BsYXkgdGhlIHZhbHVlcyBvZiB2YXJpYWJsZXMuICBUaGUgLQgtcAhwIG9wdGlvbiAgd2lsbAorICAgICAgICAgICAgICBEZWNsYXJlIHZhcmlhYmxlcyBhbmQvb3IgZ2l2ZSB0aGVtIGF0dHJpYnV0ZXMuICBJZiBubyBfCG5fCGFfCG1fCGVzICBhcmUKKyAgICAgICAgICAgICAgZ2l2ZW4gIHRoZW4gZGlzcGxheSB0aGUgdmFsdWVzIG9mIHZhcmlhYmxlcy4gIFRoZSAtCC1wCHAgb3B0aW9uIHdpbGwKICAgICAgICAgICAgICAgZGlzcGxheSB0aGUgYXR0cmlidXRlcyBhbmQgdmFsdWVzIG9mIGVhY2ggXwhuXwhhXwhtXwhlLiAgV2hlbiAtCC1wCHAgaXMgdXNlZAogICAgICAgICAgICAgICB3aXRoIF8Ibl8IYV8IbV8IZSBhcmd1bWVudHMsIGFkZGl0aW9uYWwgb3B0aW9ucyBhcmUgaWdub3JlZC4gIFdoZW4gLQgtcAhwIGlzCi0gICAgICAgICAgICAgIHN1cHBsaWVkICB3aXRob3V0IF8Ibl8IYV8IbV8IZSBhcmd1bWVudHMsIGl0IHdpbGwgZGlzcGxheSB0aGUgYXR0cmlidXRlcwotICAgICAgICAgICAgICBhbmQgdmFsdWVzIG9mIGFsbCB2YXJpYWJsZXMgaGF2aW5nIHRoZSBhdHRyaWJ1dGVzICBzcGVjaWZpZWQgIGJ5Ci0gICAgICAgICAgICAgIHRoZSAgYWRkaXRpb25hbCAgb3B0aW9ucy4gIElmIG5vIG90aGVyIG9wdGlvbnMgYXJlIHN1cHBsaWVkIHdpdGgKLSAgICAgICAgICAgICAgLQgtcAhwLCBkCGRlCGVjCGNsCGxhCGFyCHJlCGUgd2lsbCBkaXNwbGF5IHRoZSBhdHRyaWJ1dGVzIGFuZCB2YWx1ZXMgb2YgYWxsICBzaGVsbAotICAgICAgICAgICAgICB2YXJpYWJsZXMuICAgVGhlICAtCC1mCGYgIG9wdGlvbiAgd2lsbCByZXN0cmljdCB0aGUgZGlzcGxheSB0byBzaGVsbAorICAgICAgICAgICAgICBzdXBwbGllZCB3aXRob3V0IF8Ibl8IYV8IbV8IZSBhcmd1bWVudHMsIGl0IHdpbGwgZGlzcGxheSB0aGUgIGF0dHJpYnV0ZXMKKyAgICAgICAgICAgICAgYW5kICB2YWx1ZXMgIG9mIGFsbCB2YXJpYWJsZXMgaGF2aW5nIHRoZSBhdHRyaWJ1dGVzIHNwZWNpZmllZCBieQorICAgICAgICAgICAgICB0aGUgYWRkaXRpb25hbCBvcHRpb25zLiAgSWYgbm8gb3RoZXIgb3B0aW9ucyBhcmUgIHN1cHBsaWVkICB3aXRoCisgICAgICAgICAgICAgIC0ILXAIcCwgIGQIZGUIZWMIY2wIbGEIYXIIcmUIZSB3aWxsIGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlcyBvZiBhbGwgc2hlbGwKKyAgICAgICAgICAgICAgdmFyaWFibGVzLiAgVGhlIC0ILWYIZiBvcHRpb24gd2lsbCByZXN0cmljdCAgdGhlICBkaXNwbGF5ICB0byAgc2hlbGwKICAgICAgICAgICAgICAgZnVuY3Rpb25zLiAgVGhlIC0ILUYIRiBvcHRpb24gaW5oaWJpdHMgdGhlIGRpc3BsYXkgb2YgZnVuY3Rpb24gZGVmaS0KLSAgICAgICAgICAgICAgbml0aW9uczsgIG9ubHkgdGhlIGZ1bmN0aW9uIG5hbWUgYW5kIGF0dHJpYnV0ZXMgYXJlIHByaW50ZWQuICBJZgotICAgICAgICAgICAgICB0aGUgZQhleAh4dAh0ZAhkZQhlYghidQh1ZwhnIHNoZWxsIG9wdGlvbiBpcyBlbmFibGVkICB1c2luZyAgcwhzaAhobwhvcAhwdAh0LCAgdGhlICBzb3VyY2UKKyAgICAgICAgICAgICAgbml0aW9uczsgb25seSB0aGUgZnVuY3Rpb24gbmFtZSBhbmQgYXR0cmlidXRlcyBhcmUgcHJpbnRlZC4gICBJZgorICAgICAgICAgICAgICB0aGUgIGUIZXgIeHQIdGQIZGUIZWIIYnUIdWcIZyAgc2hlbGwgIG9wdGlvbiAgaXMgZW5hYmxlZCB1c2luZyBzCHNoCGhvCG9wCHB0CHQsIHRoZSBzb3VyY2UKICAgICAgICAgICAgICAgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlciB3aGVyZSB0aGUgZnVuY3Rpb24gaXMgZGVmaW5lZCBhcmUgZGlzLQotICAgICAgICAgICAgICBwbGF5ZWQgYXMgd2VsbC4gICBUaGUgIC0ILUYIRiAgb3B0aW9uICBpbXBsaWVzICAtCC1mCGYuICAgVGhlICBmb2xsb3dpbmcKLSAgICAgICAgICAgICAgb3B0aW9ucyAgY2FuICBiZSAgdXNlZCAgdG8gcmVzdHJpY3Qgb3V0cHV0IHRvIHZhcmlhYmxlcyB3aXRoIHRoZQorICAgICAgICAgICAgICBwbGF5ZWQgIGFzICB3ZWxsLiAgIFRoZSAgLQgtRghGICBvcHRpb24gIGltcGxpZXMgIC0ILWYIZi4gIFRoZSBmb2xsb3dpbmcKKyAgICAgICAgICAgICAgb3B0aW9ucyBjYW4gYmUgdXNlZCB0byByZXN0cmljdCBvdXRwdXQgIHRvICB2YXJpYWJsZXMgIHdpdGggIHRoZQogICAgICAgICAgICAgICBzcGVjaWZpZWQgYXR0cmlidXRlIG9yIHRvIGdpdmUgdmFyaWFibGVzIGF0dHJpYnV0ZXM6Ci0gICAgICAgICAgICAgIC0ILWEIYSAgICAgRWFjaCBfCG5fCGFfCG1fCGUgIGlzICBhbiAgaW5kZXhlZCAgYXJyYXkgIHZhcmlhYmxlICAoc2VlICBBCEFyCHJyCHJhCGF5CHlzCHMKKyAgICAgICAgICAgICAgLQgtYQhhICAgICBFYWNoICBfCG5fCGFfCG1fCGUgIGlzICBhbiAgaW5kZXhlZCAgYXJyYXkgIHZhcmlhYmxlICAoc2VlIEEIQXIIcnIIcmEIYXkIeXMIcwogICAgICAgICAgICAgICAgICAgICAgYWJvdmUpLgotICAgICAgICAgICAgICAtCC1BCEEgICAgIEVhY2ggIF8Ibl8IYV8IbV8IZSAgaXMgIGFuIGFzc29jaWF0aXZlIGFycmF5IHZhcmlhYmxlIChzZWUgQQhBcghycghyYQhheQh5cwhzCisgICAgICAgICAgICAgIC0ILUEIQSAgICAgRWFjaCBfCG5fCGFfCG1fCGUgaXMgYW4gYXNzb2NpYXRpdmUgYXJyYXkgIHZhcmlhYmxlICAoc2VlICBBCEFyCHJyCHJhCGF5CHlzCHMKICAgICAgICAgICAgICAgICAgICAgIGFib3ZlKS4KICAgICAgICAgICAgICAgLQgtZghmICAgICBVc2UgZnVuY3Rpb24gbmFtZXMgb25seS4KICAgICAgICAgICAgICAgLQgtaQhpICAgICBUaGUgdmFyaWFibGUgaXMgdHJlYXRlZCBhcyBhbiBpbnRlZ2VyOyBhcml0aG1ldGljIGV2YWx1YS0KLSAgICAgICAgICAgICAgICAgICAgIHRpb24gIChzZWUgIEEIQVIIUkkISVQIVEgISE0ITUUIRVQIVEkISUMIQyBFCEVWCFZBCEFMCExVCFVBCEFUCFRJCElPCE9OCE4gKQgpIGlzIHBlcmZvcm1lZCB3aGVuIHRoZQotICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgaXMgYXNzaWduZWQgYSB2YWx1ZS4KLSAgICAgICAgICAgICAgLQgtbAhsICAgICBXaGVuIHRoZSB2YXJpYWJsZSBpcyBhc3NpZ25lZCAgYSAgdmFsdWUsICBhbGwgIHVwcGVyLWNhc2UKLSAgICAgICAgICAgICAgICAgICAgIGNoYXJhY3RlcnMgIGFyZSAgY29udmVydGVkIHRvIGxvd2VyLWNhc2UuICBUaGUgdXBwZXItY2FzZQorICAgICAgICAgICAgICAgICAgICAgdGlvbiAoc2VlIEEIQVIIUkkISVQIVEgISE0ITUUIRVQIVEkISUMIQyBFCEVWCFZBCEFMCExVCFVBCEFUCFRJCElPCE9OCE4gYWJvdmUpIGlzIHBlcmZvcm1lZCAgd2hlbgorICAgICAgICAgICAgICAgICAgICAgdGhlIHZhcmlhYmxlIGlzIGFzc2lnbmVkIGEgdmFsdWUuCisgICAgICAgICAgICAgIC0ILWwIbCAgICAgV2hlbiAgdGhlICB2YXJpYWJsZSAgaXMgIGFzc2lnbmVkIGEgdmFsdWUsIGFsbCB1cHBlci1jYXNlCisgICAgICAgICAgICAgICAgICAgICBjaGFyYWN0ZXJzIGFyZSBjb252ZXJ0ZWQgdG8gbG93ZXItY2FzZS4gICBUaGUgIHVwcGVyLWNhc2UKICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBpcyBkaXNhYmxlZC4KICAgICAgICAgICAgICAgLQgtcghyICAgICBNYWtlIF8Ibl8IYV8IbV8IZXMgcmVhZG9ubHkuICBUaGVzZSBuYW1lcyBjYW5ub3QgdGhlbiBiZSBhc3NpZ25lZAogICAgICAgICAgICAgICAgICAgICAgdmFsdWVzIGJ5IHN1YnNlcXVlbnQgYXNzaWdubWVudCBzdGF0ZW1lbnRzIG9yIHVuc2V0LgotICAgICAgICAgICAgICAtCC10CHQgICAgIEdpdmUgIGVhY2ggIF8Ibl8IYV8IbV8IZSAgdGhlICBfCHRfCHJfCGFfCGNfCGUgYXR0cmlidXRlLiAgVHJhY2VkIGZ1bmN0aW9ucwotICAgICAgICAgICAgICAgICAgICAgaW5oZXJpdCB0aGUgRAhERQhFQghCVQhVRwhHICBhbmQgIFIIUkUIRVQIVFUIVVIIUk4ITiAgdHJhcHMgIGZyb20gIHRoZSAgY2FsbGluZwotICAgICAgICAgICAgICAgICAgICAgc2hlbGwuICAgVGhlICB0cmFjZSAgYXR0cmlidXRlIGhhcyBubyBzcGVjaWFsIG1lYW5pbmcgZm9yCisgICAgICAgICAgICAgIC0ILXQIdCAgICAgR2l2ZSBlYWNoIF8Ibl8IYV8IbV8IZSB0aGUgIF8IdF8Icl8IYV8IY18IZSAgYXR0cmlidXRlLiAgIFRyYWNlZCAgZnVuY3Rpb25zCisgICAgICAgICAgICAgICAgICAgICBpbmhlcml0ICB0aGUgIEQIREUIRUIIQlUIVUcIRyAgYW5kICBSCFJFCEVUCFRVCFVSCFJOCE4gIHRyYXBzICBmcm9tIHRoZSBjYWxsaW5nCisgICAgICAgICAgICAgICAgICAgICBzaGVsbC4gIFRoZSB0cmFjZSBhdHRyaWJ1dGUgaGFzIG5vICBzcGVjaWFsICBtZWFuaW5nICBmb3IKICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlcy4KLSAgICAgICAgICAgICAgLQgtdQh1ICAgICBXaGVuIHRoZSB2YXJpYWJsZSBpcyBhc3NpZ25lZCAgYSAgdmFsdWUsICBhbGwgIGxvd2VyLWNhc2UKLSAgICAgICAgICAgICAgICAgICAgIGNoYXJhY3RlcnMgIGFyZSAgY29udmVydGVkIHRvIHVwcGVyLWNhc2UuICBUaGUgbG93ZXItY2FzZQorICAgICAgICAgICAgICAtCC11CHUgICAgIFdoZW4gIHRoZSAgdmFyaWFibGUgIGlzICBhc3NpZ25lZCBhIHZhbHVlLCBhbGwgbG93ZXItY2FzZQorICAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVycyBhcmUgY29udmVydGVkIHRvIHVwcGVyLWNhc2UuICAgVGhlICBsb3dlci1jYXNlCiAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgaXMgZGlzYWJsZWQuCi0gICAgICAgICAgICAgIC0ILXgIeCAgICAgTWFyayBfCG5fCGFfCG1fCGVzIGZvciBleHBvcnQgIHRvICBzdWJzZXF1ZW50ICBjb21tYW5kcyAgdmlhICB0aGUKKyAgICAgICAgICAgICAgLQgteAh4ICAgICBNYXJrICBfCG5fCGFfCG1fCGVzICBmb3IgIGV4cG9ydCAgdG8gIHN1YnNlcXVlbnQgY29tbWFuZHMgdmlhIHRoZQogICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQuCiAKLSAgICAgICAgICAgICAgVXNpbmcgIGArJyAgaW5zdGVhZCBvZiBgLScgdHVybnMgb2ZmIHRoZSBhdHRyaWJ1dGUgaW5zdGVhZCwgd2l0aAorICAgICAgICAgICAgICBVc2luZyBgKycgaW5zdGVhZCBvZiBgLScgdHVybnMgb2ZmIHRoZSBhdHRyaWJ1dGUgIGluc3RlYWQsICB3aXRoCiAgICAgICAgICAgICAgIHRoZSBleGNlcHRpb25zIHRoYXQgKwgrYQhhIG1heSBub3QgYmUgdXNlZCB0byBkZXN0cm95IGFuIGFycmF5IHZhcmktCi0gICAgICAgICAgICAgIGFibGUgIGFuZCAgKwgrcghyIHcId2kIaWwIbGwIbCBuCG5vCG90CHQgcghyZQhlbQhtbwhvdgh2ZQhlIHQIdGgIaGUIZSByCHJlCGVhCGFkCGRvCG9uCG5sCGx5CHkgYQhhdAh0dAh0cghyaQhpYghidQh1dAh0ZQhlLgguICBXCFdoCGhlCGVuCG4gdQh1cwhzZQhlZAhkCi0gICAgICAgICAgICAgIGkIaW4IbiBhCGEgZghmdQh1bghuYwhjdAh0aQhpbwhvbghuLAgsIG0IbWEIYWsIa2UIZXMIcyBlCGVhCGFjCGNoCGggXwhuXwhhXwhtXwhlIGwIbG8Ib2MIY2EIYWwIbCwILCBhCGFzCHMgdwh3aQhpdAh0aAhoIHQIdGgIaGUIZSBsCGxvCG9jCGNhCGFsCGwgY29tbWFuZC4KKyAgICAgICAgICAgICAgYWJsZSBhbmQgKwgrcghyIHdpbGwgbm90IHJlbW92ZSB0aGUgcmVhZG9ubHkgYXR0cmlidXRlLiAgIFdoZW4gIHVzZWQKKyAgICAgICAgICAgICAgaW4gYSBmdW5jdGlvbiwgbWFrZXMgZWFjaCBfCG5fCGFfCG1fCGUgbG9jYWwsIGFzIHdpdGggdGhlIGwIbG8Ib2MIY2EIYWwIbCBjb21tYW5kLgogICAgICAgICAgICAgICBJZiBhIHZhcmlhYmxlIG5hbWUgaXMgZm9sbG93ZWQgYnkgPV8Idl8IYV8IbF8IdV8IZSwgdGhlIHZhbHVlIG9mIHRoZSB2YXJpLQotICAgICAgICAgICAgICBhYmxlIGlzIHNldCB0byBfCHZfCGFfCGxfCHVfCGUuICBUaGUgcmV0dXJuIHZhbHVlIGlzIDAgdW5sZXNzICBhbiAgaW52YWxpZAotICAgICAgICAgICAgICBvcHRpb24gIGlzICBlbmNvdW50ZXJlZCwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGRlZmluZSBhIGZ1bmN0aW9uCi0gICAgICAgICAgICAgIHVzaW5nIGBgLWYgZm9vPWJhcicnLCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gYXNzaWduIGEgdmFsdWUgdG8gIGEKLSAgICAgICAgICAgICAgcmVhZG9ubHkgIHZhcmlhYmxlLCAgYW4gIGF0dGVtcHQgaXMgbWFkZSB0byBhc3NpZ24gYSB2YWx1ZSB0byBhbgorICAgICAgICAgICAgICBhYmxlICBpcyAgc2V0IHRvIF8Idl8IYV8IbF8IdV8IZS4gIFRoZSByZXR1cm4gdmFsdWUgaXMgMCB1bmxlc3MgYW4gaW52YWxpZAorICAgICAgICAgICAgICBvcHRpb24gaXMgZW5jb3VudGVyZWQsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBkZWZpbmUgIGEgIGZ1bmN0aW9uCisgICAgICAgICAgICAgIHVzaW5nICBgYC1mIGZvbz1iYXInJywgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGFzc2lnbiBhIHZhbHVlIHRvIGEKKyAgICAgICAgICAgICAgcmVhZG9ubHkgdmFyaWFibGUsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBhc3NpZ24gYSAgdmFsdWUgIHRvICBhbgogICAgICAgICAgICAgICBhcnJheSB2YXJpYWJsZSB3aXRob3V0IHVzaW5nIHRoZSBjb21wb3VuZCBhc3NpZ25tZW50IHN5bnRheCAoc2VlCi0gICAgICAgICAgICAgIEEIQXIIcnIIcmEIYXkIeXMIcyAgYWJvdmUpLCAgb25lICBvZiB0aGUgXwhuXwhhXwhtXwhlXwhzIGlzIG5vdCBhIHZhbGlkIHNoZWxsIHZhcmlhYmxlCisgICAgICAgICAgICAgIEEIQXIIcnIIcmEIYXkIeXMIcyBhYm92ZSksIG9uZSBvZiB0aGUgXwhuXwhhXwhtXwhlXwhzIGlzIG5vdCBhICB2YWxpZCAgc2hlbGwgIHZhcmlhYmxlCiAgICAgICAgICAgICAgIG5hbWUsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byB0dXJuIG9mZiByZWFkb25seSBzdGF0dXMgZm9yIGEgcmVhZC0KLSAgICAgICAgICAgICAgb25seSAgdmFyaWFibGUsICBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gdHVybiBvZmYgYXJyYXkgc3RhdHVzIGZvcgotICAgICAgICAgICAgICBhbiBhcnJheSB2YXJpYWJsZSwgb3IgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGRpc3BsYXkgYSAgbm9uLWV4aXMtCisgICAgICAgICAgICAgIG9ubHkgdmFyaWFibGUsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byB0dXJuIG9mZiBhcnJheSAgc3RhdHVzICBmb3IKKyAgICAgICAgICAgICAgYW4gIGFycmF5IHZhcmlhYmxlLCBvciBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gZGlzcGxheSBhIG5vbi1leGlzLQogICAgICAgICAgICAgICB0ZW50IGZ1bmN0aW9uIHdpdGggLQgtZghmLgogCiAgICAgICAgZAhkaQhpcghycwhzIFsIWysIK18Ibl0IXSBbCFstCC1fCG5dCF0gWwhbLQgtYwhjcAhwbAhsdgh2XQhdCi0gICAgICAgICAgICAgIFdpdGhvdXQgIG9wdGlvbnMsICBkaXNwbGF5cyAgdGhlICBsaXN0ICBvZiAgY3VycmVudGx5IHJlbWVtYmVyZWQKLSAgICAgICAgICAgICAgZGlyZWN0b3JpZXMuICBUaGUgZGVmYXVsdCBkaXNwbGF5ICBpcyAgb24gIGEgIHNpbmdsZSAgbGluZSAgd2l0aAotICAgICAgICAgICAgICBkaXJlY3RvcnkgIG5hbWVzICBzZXBhcmF0ZWQgYnkgc3BhY2VzLiAgRGlyZWN0b3JpZXMgYXJlIGFkZGVkIHRvCi0gICAgICAgICAgICAgIHRoZSBsaXN0IHdpdGggIHRoZSAgcAhwdQh1cwhzaAhoZAhkICBjb21tYW5kOyAgdGhlICBwCHBvCG9wCHBkCGQgIGNvbW1hbmQgIHJlbW92ZXMKKyAgICAgICAgICAgICAgV2l0aG91dCBvcHRpb25zLCAgZGlzcGxheXMgIHRoZSAgbGlzdCAgb2YgIGN1cnJlbnRseSAgcmVtZW1iZXJlZAorICAgICAgICAgICAgICBkaXJlY3Rvcmllcy4gICBUaGUgIGRlZmF1bHQgIGRpc3BsYXkgIGlzICBvbiAgYSBzaW5nbGUgbGluZSB3aXRoCisgICAgICAgICAgICAgIGRpcmVjdG9yeSBuYW1lcyBzZXBhcmF0ZWQgYnkgc3BhY2VzLiAgRGlyZWN0b3JpZXMgYXJlICBhZGRlZCAgdG8KKyAgICAgICAgICAgICAgdGhlICBsaXN0ICB3aXRoICB0aGUgIHAIcHUIdXMIc2gIaGQIZCAgY29tbWFuZDsgIHRoZSAgcAhwbwhvcAhwZAhkIGNvbW1hbmQgcmVtb3ZlcwogICAgICAgICAgICAgICBlbnRyaWVzIGZyb20gdGhlIGxpc3QuCiAgICAgICAgICAgICAgICsIK18IbiAgICAgRGlzcGxheXMgdGhlIF8IbnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3QKICAgICAgICAgICAgICAgICAgICAgIHNob3duIGJ5IGQIZGkIaXIIcnMIcyB3aGVuIGludm9rZWQgd2l0aG91dCBvcHRpb25zLCBzdGFydGluZyB3aXRoCiAgICAgICAgICAgICAgICAgICAgICB6ZXJvLgotICAgICAgICAgICAgICAtCC1fCG4gICAgIERpc3BsYXlzICB0aGUgIF8IbnRoICBlbnRyeSAgY291bnRpbmcgZnJvbSB0aGUgcmlnaHQgb2YgdGhlCisgICAgICAgICAgICAgIC0ILV8IbiAgICAgRGlzcGxheXMgdGhlIF8IbnRoIGVudHJ5IGNvdW50aW5nIGZyb20gIHRoZSAgcmlnaHQgIG9mICB0aGUKICAgICAgICAgICAgICAgICAgICAgIGxpc3Qgc2hvd24gYnkgZAhkaQhpcghycwhzIHdoZW4gaW52b2tlZCB3aXRob3V0IG9wdGlvbnMsIHN0YXJ0aW5nCiAgICAgICAgICAgICAgICAgICAgICB3aXRoIHplcm8uCiAgICAgICAgICAgICAgIC0ILWMIYyAgICAgQ2xlYXJzICB0aGUgIGRpcmVjdG9yeSAgc3RhY2sgIGJ5ICBkZWxldGluZyAgYWxsICBvZiAgdGhlCiAgICAgICAgICAgICAgICAgICAgICBlbnRyaWVzLgotICAgICAgICAgICAgICAtCC1sCGwgICAgIFByb2R1Y2VzIGEgbG9uZ2VyIGxpc3Rpbmc7ICB0aGUgIGRlZmF1bHQgIGxpc3RpbmcgIGZvcm1hdAorICAgICAgICAgICAgICAtCC1sCGwgICAgIFByb2R1Y2VzICBhICBsb25nZXIgIGxpc3Rpbmc7ICB0aGUgZGVmYXVsdCBsaXN0aW5nIGZvcm1hdAogICAgICAgICAgICAgICAgICAgICAgdXNlcyBhIHRpbGRlIHRvIGRlbm90ZSB0aGUgaG9tZSBkaXJlY3RvcnkuCiAgICAgICAgICAgICAgIC0ILXAIcCAgICAgUHJpbnQgdGhlIGRpcmVjdG9yeSBzdGFjayB3aXRoIG9uZSBlbnRyeSBwZXIgbGluZS4KLSAgICAgICAgICAgICAgLQgtdgh2ICAgICBQcmludCAgdGhlICBkaXJlY3Rvcnkgc3RhY2sgd2l0aCBvbmUgZW50cnkgcGVyIGxpbmUsIHByZS0KKyAgICAgICAgICAgICAgLQgtdgh2ICAgICBQcmludCB0aGUgZGlyZWN0b3J5IHN0YWNrIHdpdGggb25lIGVudHJ5IHBlciAgbGluZSwgIHByZS0KICAgICAgICAgICAgICAgICAgICAgIGZpeGluZyBlYWNoIGVudHJ5IHdpdGggaXRzIGluZGV4IGluIHRoZSBzdGFjay4KIAotICAgICAgICAgICAgICBUaGUgcmV0dXJuIHZhbHVlIGlzIDAgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yICBfCG4KKyAgICAgICAgICAgICAgVGhlICByZXR1cm4gdmFsdWUgaXMgMCB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgXwhuCiAgICAgICAgICAgICAgIGluZGV4ZXMgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpcmVjdG9yeSBzdGFjay4KIAogICAgICAgIGQIZGkIaXMIc28Ib3cId24IbiBbLQgtYQhhcghyXSBbLQgtaAhoXSBbXwhqXwhvXwhiXwhzXwhwXwhlXwhjIC4uLl0KLSAgICAgICAgICAgICAgV2l0aG91dCAgb3B0aW9ucywgIGVhY2ggIF8Ial8Ib18IYl8Ic18IcF8IZV8IYyAgaXMgIHJlbW92ZWQgIGZyb20gdGhlIHRhYmxlIG9mCi0gICAgICAgICAgICAgIGFjdGl2ZSBqb2JzLiAgSWYgXwhqXwhvXwhiXwhzXwhwXwhlXwhjIGlzIG5vdCBwcmVzZW50LCBhbmQgbmVpdGhlciAtCC1hCGEgIG4Ibm8Ib3IIciAgLQgtcghyCi0gICAgICAgICAgICAgIGkIaXMIcyAgcwhzdQh1cAhwcAhwbAhsaQhpZQhlZAhkLAgsIHQIdGgIaGUIZSBzCHNoCGhlCGVsCGxsCGwnCCdzCHMgbghubwhvdAh0aQhpbwhvbghuIG8Ib2YIZiB0CHRoCGhlCGUgXwhjXwh1XwhyXwhyXwhlXwhuXwh0IF8Ial8Ib18IYiBpCGlzCHMgdQh1cwhzZQhlZAhkLgguICBJCElmCGYKLSAgICAgICAgICAgICAgdAh0aAhoZQhlIC0ILWgIaCBvCG9wCHB0CHRpCGlvCG9uCG4gaQhpcwhzIGcIZ2kIaXYIdmUIZW4IbiwILCBlCGVhCGFjCGNoCGggXwhqXwhvXwhiXwhzXwhwXwhlXwhjIGlzIG5vdCByZW1vdmVkIGZyb20gdGhlIHRhLQotICAgICAgICAgICAgICBibGUsICBidXQgaXMgbWFya2VkIHNvIHRoYXQgUwhTSQhJRwhHSAhIVQhVUAhQIGlzIG5vdCBzZW50IHRvIHRoZSBqb2IgaWYgdGhlCi0gICAgICAgICAgICAgIHNoZWxsIHJlY2VpdmVzIGEgUwhTSQhJRwhHSAhIVQhVUAhQLiAgSWYgbm8gXwhqXwhvXwhiXwhzXwhwXwhlXwhjIGlzIHByZXNlbnQsIGFuZCAgbmVpdGhlcgotICAgICAgICAgICAgICB0aGUgIC0ILWEIYSAgbm9yIHRoZSAtCC1yCHIgb3B0aW9uIGlzIHN1cHBsaWVkLCB0aGUgXwhjXwh1XwhyXwhyXwhlXwhuXwh0IF8Ial8Ib18IYiBpcyB1c2VkLgorICAgICAgICAgICAgICBXaXRob3V0IG9wdGlvbnMsIGVhY2ggXwhqXwhvXwhiXwhzXwhwXwhlXwhjICBpcyAgcmVtb3ZlZCAgZnJvbSAgdGhlICB0YWJsZSAgb2YKKyAgICAgICAgICAgICAgYWN0aXZlICBqb2JzLiAgIElmIF8Ial8Ib18IYl8Ic18IcF8IZV8IYyBpcyBub3QgcHJlc2VudCwgYW5kIG5laXRoZXIgLQgtYQhhIG5vciAtCC1yCHIKKyAgICAgICAgICAgICAgaXMgc3VwcGxpZWQsIHRoZSBzaGVsbCdzIG5vdGlvbiBvZiB0aGUgXwhjXwh1XwhyXwhyXwhlXwhuXwh0IF8Ial8Ib18IYiBpcyB1c2VkLiAgIElmCisgICAgICAgICAgICAgIHRoZSAtCC1oCGggb3B0aW9uIGlzIGdpdmVuLCBlYWNoIF8Ial8Ib18IYl8Ic18IcF8IZV8IYyBpcyBub3QgcmVtb3ZlZCBmcm9tIHRoZSB0YS0KKyAgICAgICAgICAgICAgYmxlLCBidXQgaXMgbWFya2VkIHNvIHRoYXQgUwhTSQhJRwhHSAhIVQhVUAhQIGlzIG5vdCBzZW50IHRvIHRoZSBqb2IgaWYgIHRoZQorICAgICAgICAgICAgICBzaGVsbCAgcmVjZWl2ZXMgYSBTCFNJCElHCEdICEhVCFVQCFAuICBJZiBubyBfCGpfCG9fCGJfCHNfCHBfCGVfCGMgaXMgcHJlc2VudCwgYW5kIG5laXRoZXIKKyAgICAgICAgICAgICAgdGhlIC0ILWEIYSBub3IgdGhlIC0ILXIIciBvcHRpb24gaXMgc3VwcGxpZWQsIHRoZSBfCGNfCHVfCHJfCHJfCGVfCG5fCHQgXwhqXwhvXwhiICBpcyAgdXNlZC4KICAgICAgICAgICAgICAgSWYgbm8gXwhqXwhvXwhiXwhzXwhwXwhlXwhjIGlzIHN1cHBsaWVkLCB0aGUgLQgtYQhhIG9wdGlvbiBtZWFucyB0byByZW1vdmUgb3IgbWFyawotICAgICAgICAgICAgICBhbGwgIGpvYnM7ICB0aGUgIC0ILXIIciAgb3B0aW9uIHdpdGhvdXQgYSBfCGpfCG9fCGJfCHNfCHBfCGVfCGMgYXJndW1lbnQgcmVzdHJpY3RzCi0gICAgICAgICAgICAgIG9wZXJhdGlvbiB0byBydW5uaW5nIGpvYnMuICBUaGUgcmV0dXJuIHZhbHVlIGlzIDAgdW5sZXNzIGEgIF8Ial8Ib18IYl8ILQorICAgICAgICAgICAgICBhbGwgam9iczsgdGhlIC0ILXIIciBvcHRpb24gd2l0aG91dCAgYSAgXwhqXwhvXwhiXwhzXwhwXwhlXwhjICBhcmd1bWVudCAgcmVzdHJpY3RzCisgICAgICAgICAgICAgIG9wZXJhdGlvbiAgdG8gcnVubmluZyBqb2JzLiAgVGhlIHJldHVybiB2YWx1ZSBpcyAwIHVubGVzcyBhIF8Ial8Ib18IYl8ILQogICAgICAgICAgICAgICBfCHNfCHBfCGVfCGMgZG9lcyBub3Qgc3BlY2lmeSBhIHZhbGlkIGpvYi4KIAogICAgICAgIGUIZWMIY2gIaG8IbyBbLQgtbghuZQhlRQhFXSBbXwhhXwhyXwhnIC4uLl0KLSAgICAgICAgICAgICAgT3V0cHV0ICB0aGUgIF8IYV8Icl8IZ3MsICBzZXBhcmF0ZWQgIGJ5IHNwYWNlcywgZm9sbG93ZWQgYnkgYSBuZXdsaW5lLgorICAgICAgICAgICAgICBPdXRwdXQgdGhlIF8IYV8Icl8IZ3MsIHNlcGFyYXRlZCBieSBzcGFjZXMsICBmb2xsb3dlZCAgYnkgIGEgIG5ld2xpbmUuCiAgICAgICAgICAgICAgIFRoZSByZXR1cm4gc3RhdHVzIGlzIGFsd2F5cyAwLiAgSWYgLQgtbghuIGlzIHNwZWNpZmllZCwgdGhlIHRyYWlsaW5nCi0gICAgICAgICAgICAgIG5ld2xpbmUgIGlzICBzdXBwcmVzc2VkLiAgSWYgdGhlIC0ILWUIZSBvcHRpb24gaXMgZ2l2ZW4sIGludGVycHJldGEtCi0gICAgICAgICAgICAgIHRpb24gb2YgdGhlIGZvbGxvd2luZyBiYWNrc2xhc2gtZXNjYXBlZCBjaGFyYWN0ZXJzICBpcyAgZW5hYmxlZC4KLSAgICAgICAgICAgICAgVGhlICAtCC1FCEUgb3B0aW9uIGRpc2FibGVzIHRoZSBpbnRlcnByZXRhdGlvbiBvZiB0aGVzZSBlc2NhcGUgY2hhci0KLSAgICAgICAgICAgICAgYWN0ZXJzLCBldmVuIG9uIHN5c3RlbXMgd2hlcmUgdGhleSBhcmUgaW50ZXJwcmV0ZWQgIGJ5ICBkZWZhdWx0LgotICAgICAgICAgICAgICBUaGUgIHgIeHAIcGcIZ18IX2UIZWMIY2gIaG8IbyAgc2hlbGwgb3B0aW9uIG1heSBiZSB1c2VkIHRvIGR5bmFtaWNhbGx5IGRldGVybWluZQotICAgICAgICAgICAgICB3aGV0aGVyIG9yIG5vdCBlCGVjCGNoCGhvCG8gZXhwYW5kcyB0aGVzZSBlc2NhcGUgY2hhcmFjdGVycyBieSAgZGVmYXVsdC4KLSAgICAgICAgICAgICAgZQhlYwhjaAhobwhvICBkb2VzICBub3QgIGludGVycHJldCAgLQgtLQgtIHRvIG1lYW4gdGhlIGVuZCBvZiBvcHRpb25zLiAgZQhlYwhjaAhobwhvCisgICAgICAgICAgICAgIG5ld2xpbmUgaXMgc3VwcHJlc3NlZC4gIElmIHRoZSAtCC1lCGUgb3B0aW9uIGlzICBnaXZlbiwgIGludGVycHJldGEtCisgICAgICAgICAgICAgIHRpb24gIG9mICB0aGUgZm9sbG93aW5nIGJhY2tzbGFzaC1lc2NhcGVkIGNoYXJhY3RlcnMgaXMgZW5hYmxlZC4KKyAgICAgICAgICAgICAgVGhlIC0ILUUIRSBvcHRpb24gZGlzYWJsZXMgdGhlIGludGVycHJldGF0aW9uIG9mIHRoZXNlIGVzY2FwZSAgY2hhci0KKyAgICAgICAgICAgICAgYWN0ZXJzLCAgZXZlbiAgb24gc3lzdGVtcyB3aGVyZSB0aGV5IGFyZSBpbnRlcnByZXRlZCBieSBkZWZhdWx0LgorICAgICAgICAgICAgICBUaGUgeAh4cAhwZwhnXwhfZQhlYwhjaAhobwhvIHNoZWxsIG9wdGlvbiBtYXkgYmUgdXNlZCB0byAgZHluYW1pY2FsbHkgIGRldGVybWluZQorICAgICAgICAgICAgICB3aGV0aGVyICBvciBub3QgZQhlYwhjaAhobwhvIGV4cGFuZHMgdGhlc2UgZXNjYXBlIGNoYXJhY3RlcnMgYnkgZGVmYXVsdC4KKyAgICAgICAgICAgICAgZQhlYwhjaAhobwhvIGRvZXMgbm90IGludGVycHJldCAtCC0tCC0gdG8gbWVhbiB0aGUgIGVuZCAgb2YgIG9wdGlvbnMuICAgZQhlYwhjaAhobwhvCiAgICAgICAgICAgICAgIGludGVycHJldHMgdGhlIGZvbGxvd2luZyBlc2NhcGUgc2VxdWVuY2VzOgogICAgICAgICAgICAgICBcCFxhCGEgICAgIGFsZXJ0IChiZWxsKQogICAgICAgICAgICAgICBcCFxiCGIgICAgIGJhY2tzcGFjZQpAQCAtNDQ1LDE4NyArNDU4LDE4NyBAQAogICAgICAgICAgICAgICBcCFx0CHQgICAgIGhvcml6b250YWwgdGFiCiAgICAgICAgICAgICAgIFwIXHYIdiAgICAgdmVydGljYWwgdGFiCiAgICAgICAgICAgICAgIFwIXFwIXCAgICAgYmFja3NsYXNoCi0gICAgICAgICAgICAgIFwIXDAIMF8Ibl8Ibl8IbiAgdGhlIGVpZ2h0LWJpdCBjaGFyYWN0ZXIgd2hvc2UgdmFsdWUgaXMgIHRoZSAgb2N0YWwgIHZhbHVlCisgICAgICAgICAgICAgIFwIXDAIMF8Ibl8Ibl8IbiAgdGhlICBlaWdodC1iaXQgIGNoYXJhY3RlciAgd2hvc2UgdmFsdWUgaXMgdGhlIG9jdGFsIHZhbHVlCiAgICAgICAgICAgICAgICAgICAgICBfCG5fCG5fCG4gKHplcm8gdG8gdGhyZWUgb2N0YWwgZGlnaXRzKQotICAgICAgICAgICAgICBcCFx4CHhfCEhfCEggICB0aGUgIGVpZ2h0LWJpdCAgY2hhcmFjdGVyICB3aG9zZSB2YWx1ZSBpcyB0aGUgaGV4YWRlY2ltYWwKKyAgICAgICAgICAgICAgXAhceAh4XwhIXwhIICAgdGhlIGVpZ2h0LWJpdCBjaGFyYWN0ZXIgd2hvc2UgdmFsdWUgIGlzICB0aGUgIGhleGFkZWNpbWFsCiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBfCEhfCEggKG9uZSBvciB0d28gaGV4IGRpZ2l0cykKIAogICAgICAgIGUIZW4IbmEIYWIIYmwIbGUIZSBbLQgtYQhhXSBbLQgtZAhkbghucAhwcwhzXSBbLQgtZghmIF8IZl8IaV8IbF8IZV8Ibl8IYV8IbV8IZV0gW18Ibl8IYV8IbV8IZSAuLi5dCi0gICAgICAgICAgICAgIEVuYWJsZSBhbmQgZGlzYWJsZSBidWlsdGluIHNoZWxsIGNvbW1hbmRzLiAgRGlzYWJsaW5nIGEgIGJ1aWx0aW4KKyAgICAgICAgICAgICAgRW5hYmxlICBhbmQgZGlzYWJsZSBidWlsdGluIHNoZWxsIGNvbW1hbmRzLiAgRGlzYWJsaW5nIGEgYnVpbHRpbgogICAgICAgICAgICAgICBhbGxvd3MgYSBkaXNrIGNvbW1hbmQgd2hpY2ggaGFzIHRoZSBzYW1lIG5hbWUgYXMgYSBzaGVsbCBidWlsdGluCi0gICAgICAgICAgICAgIHRvIGJlIGV4ZWN1dGVkIHdpdGhvdXQgc3BlY2lmeWluZyBhIGZ1bGwgcGF0aG5hbWUsICBldmVuICB0aG91Z2gKLSAgICAgICAgICAgICAgdGhlICBzaGVsbCAgbm9ybWFsbHkgc2VhcmNoZXMgZm9yIGJ1aWx0aW5zIGJlZm9yZSBkaXNrIGNvbW1hbmRzLgotICAgICAgICAgICAgICBJZiAtCC1uCG4gaXMgdXNlZCwgZWFjaCAgXwhuXwhhXwhtXwhlICBpcyAgZGlzYWJsZWQ7ICBvdGhlcndpc2UsICBfCG5fCGFfCG1fCGVfCHMgIGFyZQorICAgICAgICAgICAgICB0byAgYmUgIGV4ZWN1dGVkIHdpdGhvdXQgc3BlY2lmeWluZyBhIGZ1bGwgcGF0aG5hbWUsIGV2ZW4gdGhvdWdoCisgICAgICAgICAgICAgIHRoZSBzaGVsbCBub3JtYWxseSBzZWFyY2hlcyBmb3IgYnVpbHRpbnMgYmVmb3JlICBkaXNrICBjb21tYW5kcy4KKyAgICAgICAgICAgICAgSWYgIC0ILW4IbiAgaXMgIHVzZWQsICBlYWNoICBfCG5fCGFfCG1fCGUgIGlzIGRpc2FibGVkOyBvdGhlcndpc2UsIF8Ibl8IYV8IbV8IZV8IcyBhcmUKICAgICAgICAgICAgICAgZW5hYmxlZC4gIEZvciBleGFtcGxlLCB0byB1c2UgdGhlIHQIdGUIZXMIc3QIdCBiaW5hcnkgZm91bmQgdmlhIHRoZSBQCFBBCEFUCFRICEgKLSAgICAgICAgICAgICAgaW5zdGVhZCBvZiB0aGUgc2hlbGwgYnVpbHRpbiB2ZXJzaW9uLCBydW4gIGBgZW5hYmxlICAtbiAgdGVzdCcnLgotICAgICAgICAgICAgICBUaGUgIC0ILWYIZiAgb3B0aW9uICBtZWFucyB0byBsb2FkIHRoZSBuZXcgYnVpbHRpbiBjb21tYW5kIF8Ibl8IYV8IbV8IZSBmcm9tCisgICAgICAgICAgICAgIGluc3RlYWQgIG9mICB0aGUgIHNoZWxsIGJ1aWx0aW4gdmVyc2lvbiwgcnVuIGBgZW5hYmxlIC1uIHRlc3QnJy4KKyAgICAgICAgICAgICAgVGhlIC0ILWYIZiBvcHRpb24gbWVhbnMgdG8gbG9hZCB0aGUgbmV3IGJ1aWx0aW4gIGNvbW1hbmQgIF8Ibl8IYV8IbV8IZSAgZnJvbQogICAgICAgICAgICAgICBzaGFyZWQgb2JqZWN0IF8IZl8IaV8IbF8IZV8Ibl8IYV8IbV8IZSwgb24gc3lzdGVtcyB0aGF0IHN1cHBvcnQgZHluYW1pYyBsb2FkaW5nLgotICAgICAgICAgICAgICBUaGUgIC0ILWQIZCAgb3B0aW9uIHdpbGwgZGVsZXRlIGEgYnVpbHRpbiBwcmV2aW91c2x5IGxvYWRlZCB3aXRoIC0ILWYIZi4KKyAgICAgICAgICAgICAgVGhlIC0ILWQIZCBvcHRpb24gd2lsbCBkZWxldGUgYSBidWlsdGluIHByZXZpb3VzbHkgbG9hZGVkICB3aXRoICAtCC1mCGYuCiAgICAgICAgICAgICAgIElmIG5vIF8Ibl8IYV8IbV8IZSBhcmd1bWVudHMgYXJlIGdpdmVuLCBvciBpZiB0aGUgLQgtcAhwIG9wdGlvbiBpcyBzdXBwbGllZCwKICAgICAgICAgICAgICAgYSBsaXN0IG9mIHNoZWxsIGJ1aWx0aW5zIGlzIHByaW50ZWQuICBXaXRoIG5vIG90aGVyIG9wdGlvbiBhcmd1LQotICAgICAgICAgICAgICBtZW50cywgdGhlIGxpc3QgY29uc2lzdHMgb2YgYWxsIGVuYWJsZWQgc2hlbGwgYnVpbHRpbnMuICAgSWYgIC0ILW4IbgotICAgICAgICAgICAgICBpcyAgc3VwcGxpZWQsIG9ubHkgZGlzYWJsZWQgYnVpbHRpbnMgYXJlIHByaW50ZWQuICBJZiAtCC1hCGEgaXMgc3VwLQotICAgICAgICAgICAgICBwbGllZCwgdGhlIGxpc3QgcHJpbnRlZCBpbmNsdWRlcyBhbGwgYnVpbHRpbnMsIHdpdGggIGFuICBpbmRpY2EtCi0gICAgICAgICAgICAgIHRpb24gIG9mIHdoZXRoZXIgb3Igbm90IGVhY2ggaXMgZW5hYmxlZC4gIElmIC0ILXMIcyBpcyBzdXBwbGllZCwgdGhlCi0gICAgICAgICAgICAgIG91dHB1dCBpcyByZXN0cmljdGVkIHRvIHRoZSBQT1NJWCBfCHNfCHBfCGVfCGNfCGlfCGFfCGwgYnVpbHRpbnMuICBUaGUgIHJldHVybgotICAgICAgICAgICAgICB2YWx1ZSAgaXMgIDAgdW5sZXNzIGEgXwhuXwhhXwhtXwhlIGlzIG5vdCBhIHNoZWxsIGJ1aWx0aW4gb3IgdGhlcmUgaXMgYW4KKyAgICAgICAgICAgICAgbWVudHMsICB0aGUgIGxpc3QgY29uc2lzdHMgb2YgYWxsIGVuYWJsZWQgc2hlbGwgYnVpbHRpbnMuICBJZiAtCC1uCG4KKyAgICAgICAgICAgICAgaXMgc3VwcGxpZWQsIG9ubHkgZGlzYWJsZWQgYnVpbHRpbnMgYXJlIHByaW50ZWQuICBJZiAtCC1hCGEgaXMgIHN1cC0KKyAgICAgICAgICAgICAgcGxpZWQsICB0aGUgIGxpc3QgcHJpbnRlZCBpbmNsdWRlcyBhbGwgYnVpbHRpbnMsIHdpdGggYW4gaW5kaWNhLQorICAgICAgICAgICAgICB0aW9uIG9mIHdoZXRoZXIgb3Igbm90IGVhY2ggaXMgZW5hYmxlZC4gIElmIC0ILXMIcyBpcyBzdXBwbGllZCwgIHRoZQorICAgICAgICAgICAgICBvdXRwdXQgIGlzIHJlc3RyaWN0ZWQgdG8gdGhlIFBPU0lYIF8Ic18IcF8IZV8IY18IaV8IYV8IbCBidWlsdGlucy4gIFRoZSByZXR1cm4KKyAgICAgICAgICAgICAgdmFsdWUgaXMgMCB1bmxlc3MgYSBfCG5fCGFfCG1fCGUgaXMgbm90IGEgc2hlbGwgYnVpbHRpbiBvciB0aGVyZSAgaXMgIGFuCiAgICAgICAgICAgICAgIGVycm9yIGxvYWRpbmcgYSBuZXcgYnVpbHRpbiBmcm9tIGEgc2hhcmVkIG9iamVjdC4KIAogICAgICAgIGUIZXYIdmEIYWwIbCBbXwhhXwhyXwhnIC4uLl0KLSAgICAgICAgICAgICAgVGhlIF8IYV8Icl8IZ3MgYXJlIHJlYWQgYW5kIGNvbmNhdGVuYXRlZCB0b2dldGhlciBpbnRvIGEgIHNpbmdsZSAgY29tLQotICAgICAgICAgICAgICBtYW5kLiAgIFRoaXMgY29tbWFuZCBpcyB0aGVuIHJlYWQgYW5kIGV4ZWN1dGVkIGJ5IHRoZSBzaGVsbCwgYW5kCi0gICAgICAgICAgICAgIGl0cyBleGl0IHN0YXR1cyBpcyByZXR1cm5lZCBhcyB0aGUgdmFsdWUgb2YgZQhldgh2YQhhbAhsLiAgSWYgdGhlcmUgIGFyZQorICAgICAgICAgICAgICBUaGUgIF8IYV8Icl8IZ3MgIGFyZSByZWFkIGFuZCBjb25jYXRlbmF0ZWQgdG9nZXRoZXIgaW50byBhIHNpbmdsZSBjb20tCisgICAgICAgICAgICAgIG1hbmQuICBUaGlzIGNvbW1hbmQgaXMgdGhlbiByZWFkIGFuZCBleGVjdXRlZCBieSB0aGUgc2hlbGwsICBhbmQKKyAgICAgICAgICAgICAgaXRzICBleGl0IHN0YXR1cyBpcyByZXR1cm5lZCBhcyB0aGUgdmFsdWUgb2YgZQhldgh2YQhhbAhsLiAgSWYgdGhlcmUgYXJlCiAgICAgICAgICAgICAgIG5vIF8IYV8Icl8IZ18Icywgb3Igb25seSBudWxsIGFyZ3VtZW50cywgZQhldgh2YQhhbAhsIHJldHVybnMgMC4KIAogICAgICAgIGUIZXgIeGUIZWMIYyBbLQgtYwhjbAhsXSBbLQgtYQhhIF8Ibl8IYV8IbV8IZV0gW18IY18Ib18IbV8IbV8IYV8Ibl8IZCBbXwhhXwhyXwhnXwh1XwhtXwhlXwhuXwh0XwhzXV0KLSAgICAgICAgICAgICAgSWYgIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBpcyBzcGVjaWZpZWQsIGl0IHJlcGxhY2VzIHRoZSBzaGVsbC4gIE5vIG5ldyBwcm9jZXNzCi0gICAgICAgICAgICAgIGlzIGNyZWF0ZWQuICBUaGUgXwhhXwhyXwhnXwh1XwhtXwhlXwhuXwh0XwhzIGJlY29tZSB0aGUgYXJndW1lbnRzIHRvIF8IY18Ib18IbV8IbV8IYV8Ibl8IZC4gICBJZgorICAgICAgICAgICAgICBJZiBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgaXMgc3BlY2lmaWVkLCBpdCByZXBsYWNlcyB0aGUgc2hlbGwuICBObyBuZXcgIHByb2Nlc3MKKyAgICAgICAgICAgICAgaXMgIGNyZWF0ZWQuICBUaGUgXwhhXwhyXwhnXwh1XwhtXwhlXwhuXwh0XwhzIGJlY29tZSB0aGUgYXJndW1lbnRzIHRvIF8IY18Ib18IbV8IbV8IYV8Ibl8IZC4gIElmCiAgICAgICAgICAgICAgIHRoZSAtCC1sCGwgb3B0aW9uIGlzIHN1cHBsaWVkLCB0aGUgc2hlbGwgcGxhY2VzIGEgZGFzaCBhdCB0aGUgYmVnaW4tCi0gICAgICAgICAgICAgIG5pbmcgb2YgdGhlIHplcm90aCBhcmd1bWVudCBwYXNzZWQgdG8gIF8IY18Ib18IbV8IbV8IYV8Ibl8IZC4gICBUaGlzICBpcyAgd2hhdAorICAgICAgICAgICAgICBuaW5nICBvZiAgdGhlICB6ZXJvdGggIGFyZ3VtZW50IHBhc3NlZCB0byBfCGNfCG9fCG1fCG1fCGFfCG5fCGQuICBUaGlzIGlzIHdoYXQKICAgICAgICAgICAgICAgXwhsXwhvXwhnXwhpXwhuKDEpIGRvZXMuICBUaGUgLQgtYwhjIG9wdGlvbiBjYXVzZXMgXwhjXwhvXwhtXwhtXwhhXwhuXwhkIHRvIGJlIGV4ZWN1dGVkIHdpdGgKLSAgICAgICAgICAgICAgYW4gZW1wdHkgZW52aXJvbm1lbnQuICBJZiAtCC1hCGEgaXMgc3VwcGxpZWQsIHRoZSBzaGVsbCBwYXNzZXMgIF8Ibl8IYV8IbV8IZQorICAgICAgICAgICAgICBhbiAgZW1wdHkgZW52aXJvbm1lbnQuICBJZiAtCC1hCGEgaXMgc3VwcGxpZWQsIHRoZSBzaGVsbCBwYXNzZXMgXwhuXwhhXwhtXwhlCiAgICAgICAgICAgICAgIGFzIHRoZSB6ZXJvdGggYXJndW1lbnQgdG8gdGhlIGV4ZWN1dGVkIGNvbW1hbmQuICBJZiBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgY2FuLQotICAgICAgICAgICAgICBub3QgYmUgZXhlY3V0ZWQgZm9yIHNvbWUgcmVhc29uLCBhIG5vbi1pbnRlcmFjdGl2ZSBzaGVsbCAgZXhpdHMsCi0gICAgICAgICAgICAgIHVubGVzcyAgdGhlICBzaGVsbCAgb3B0aW9uIGUIZXgIeGUIZWMIY2YIZmEIYWkIaWwIbCBpcyBlbmFibGVkLCBpbiB3aGljaCBjYXNlIGl0Ci0gICAgICAgICAgICAgIHJldHVybnMgZmFpbHVyZS4gIEFuIGludGVyYWN0aXZlIHNoZWxsIHJldHVybnMgIGZhaWx1cmUgIGlmICB0aGUKKyAgICAgICAgICAgICAgbm90ICBiZSBleGVjdXRlZCBmb3Igc29tZSByZWFzb24sIGEgbm9uLWludGVyYWN0aXZlIHNoZWxsIGV4aXRzLAorICAgICAgICAgICAgICB1bmxlc3MgdGhlIHNoZWxsIG9wdGlvbiBlCGV4CHhlCGVjCGNmCGZhCGFpCGlsCGwgaXMgZW5hYmxlZCwgaW4gIHdoaWNoICBjYXNlICBpdAorICAgICAgICAgICAgICByZXR1cm5zICBmYWlsdXJlLiAgIEFuICBpbnRlcmFjdGl2ZSBzaGVsbCByZXR1cm5zIGZhaWx1cmUgaWYgdGhlCiAgICAgICAgICAgICAgIGZpbGUgY2Fubm90IGJlIGV4ZWN1dGVkLiAgSWYgXwhjXwhvXwhtXwhtXwhhXwhuXwhkIGlzIG5vdCBzcGVjaWZpZWQsIGFueSByZWRpLQogICAgICAgICAgICAgICByZWN0aW9ucyB0YWtlIGVmZmVjdCBpbiB0aGUgY3VycmVudCBzaGVsbCwgYW5kIHRoZSByZXR1cm4gc3RhdHVzCi0gICAgICAgICAgICAgIGlzICAwLiAgSWYgdGhlcmUgaXMgYSByZWRpcmVjdGlvbiBlcnJvciwgdGhlIHJldHVybiBzdGF0dXMgaXMgMS4KKyAgICAgICAgICAgICAgaXMgMC4gIElmIHRoZXJlIGlzIGEgcmVkaXJlY3Rpb24gZXJyb3IsIHRoZSByZXR1cm4gc3RhdHVzIGlzICAxLgogCiAgICAgICAgZQhleAh4aQhpdAh0IFtfCG5dCi0gICAgICAgICAgICAgIENhdXNlIHRoZSBzaGVsbCB0byBleGl0IHdpdGggYSBzdGF0dXMgb2YgXwhuLiAgSWYgIF8IbiAgaXMgIG9taXR0ZWQsCisgICAgICAgICAgICAgIENhdXNlICB0aGUgIHNoZWxsICB0byBleGl0IHdpdGggYSBzdGF0dXMgb2YgXwhuLiAgSWYgXwhuIGlzIG9taXR0ZWQsCiAgICAgICAgICAgICAgIHRoZSBleGl0IHN0YXR1cyBpcyB0aGF0IG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuICBBIHRyYXAgb24KICAgICAgICAgICAgICAgRQhFWAhYSQhJVAhUIGlzIGV4ZWN1dGVkIGJlZm9yZSB0aGUgc2hlbGwgdGVybWluYXRlcy4KIAogICAgICAgIGUIZXgIeHAIcG8Ib3IIcnQIdCBbLQgtZghmbghuXSBbXwhuXwhhXwhtXwhlWz1fCHdfCG9fCHJfCGRdXSAuLi4KICAgICAgICBlCGV4CHhwCHBvCG9yCHJ0CHQgLQgtcAhwCi0gICAgICAgICAgICAgIFRoZSBzdXBwbGllZCBfCG5fCGFfCG1fCGVfCHMgYXJlIG1hcmtlZCBmb3IgYXV0b21hdGljIGV4cG9ydCB0byB0aGUgIGVudmktCi0gICAgICAgICAgICAgIHJvbm1lbnQgIG9mIHN1YnNlcXVlbnRseSBleGVjdXRlZCBjb21tYW5kcy4gIElmIHRoZSAtCC1mCGYgb3B0aW9uIGlzCi0gICAgICAgICAgICAgIGdpdmVuLCB0aGUgXwhuXwhhXwhtXwhlXwhzIHJlZmVyIHRvIGZ1bmN0aW9ucy4gIElmIG5vIF8Ibl8IYV8IbV8IZV8IcyBhcmUgZ2l2ZW4sICBvcgotICAgICAgICAgICAgICBpZiAgdGhlICAtCC1wCHAgIG9wdGlvbiAgaXMgIHN1cHBsaWVkLCAgYSBsaXN0IG9mIGFsbCBuYW1lcyB0aGF0IGFyZQotICAgICAgICAgICAgICBleHBvcnRlZCBpbiB0aGlzIHNoZWxsIGlzIHByaW50ZWQuICBUaGUgIC0ILW4IbiAgb3B0aW9uICBjYXVzZXMgIHRoZQotICAgICAgICAgICAgICBleHBvcnQgIHByb3BlcnR5ICB0byAgYmUgIHJlbW92ZWQgZnJvbSBlYWNoIF8Ibl8IYV8IbV8IZS4gIElmIGEgdmFyaWFibGUKLSAgICAgICAgICAgICAgbmFtZSBpcyBmb2xsb3dlZCBieSA9Xwh3XwhvXwhyXwhkLCB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGlzICBzZXQgIHRvCi0gICAgICAgICAgICAgIF8Id18Ib18Icl8IZC4gICBlCGV4CHhwCHBvCG9yCHJ0CHQgIHJldHVybnMgIGFuICBleGl0ICBzdGF0dXMgb2YgMCB1bmxlc3MgYW4gaW52YWxpZAotICAgICAgICAgICAgICBvcHRpb24gaXMgZW5jb3VudGVyZWQsIG9uZSBvZiB0aGUgXwhuXwhhXwhtXwhlXwhzIGlzICBub3QgIGEgIHZhbGlkICBzaGVsbAorICAgICAgICAgICAgICBUaGUgIHN1cHBsaWVkIF8Ibl8IYV8IbV8IZV8IcyBhcmUgbWFya2VkIGZvciBhdXRvbWF0aWMgZXhwb3J0IHRvIHRoZSBlbnZpLQorICAgICAgICAgICAgICByb25tZW50IG9mIHN1YnNlcXVlbnRseSBleGVjdXRlZCBjb21tYW5kcy4gIElmIHRoZSAtCC1mCGYgb3B0aW9uICBpcworICAgICAgICAgICAgICBnaXZlbiwgIHRoZSBfCG5fCGFfCG1fCGVfCHMgcmVmZXIgdG8gZnVuY3Rpb25zLiAgSWYgbm8gXwhuXwhhXwhtXwhlXwhzIGFyZSBnaXZlbiwgb3IKKyAgICAgICAgICAgICAgaWYgdGhlIC0ILXAIcCBvcHRpb24gaXMgc3VwcGxpZWQsIGEgIGxpc3QgIG9mICBhbGwgIG5hbWVzICB0aGF0ICBhcmUKKyAgICAgICAgICAgICAgZXhwb3J0ZWQgIGluICB0aGlzICBzaGVsbCAgaXMgcHJpbnRlZC4gIFRoZSAtCC1uCG4gb3B0aW9uIGNhdXNlcyB0aGUKKyAgICAgICAgICAgICAgZXhwb3J0IHByb3BlcnR5IHRvIGJlIHJlbW92ZWQgZnJvbSBlYWNoICBfCG5fCGFfCG1fCGUuICAgSWYgIGEgIHZhcmlhYmxlCisgICAgICAgICAgICAgIG5hbWUgIGlzICBmb2xsb3dlZCBieSA9Xwh3XwhvXwhyXwhkLCB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGlzIHNldCB0bworICAgICAgICAgICAgICBfCHdfCG9fCHJfCGQuICBlCGV4CHhwCHBvCG9yCHJ0CHQgcmV0dXJucyBhbiBleGl0IHN0YXR1cyAgb2YgIDAgIHVubGVzcyAgYW4gIGludmFsaWQKKyAgICAgICAgICAgICAgb3B0aW9uICBpcyAgZW5jb3VudGVyZWQsICBvbmUgIG9mIHRoZSBfCG5fCGFfCG1fCGVfCHMgaXMgbm90IGEgdmFsaWQgc2hlbGwKICAgICAgICAgICAgICAgdmFyaWFibGUgbmFtZSwgb3IgLQgtZghmIGlzIHN1cHBsaWVkIHdpdGggYSBfCG5fCGFfCG1fCGUgdGhhdCBpcyBub3QgYSBmdW5jLQogICAgICAgICAgICAgICB0aW9uLgogCiAgICAgICAgZghmYwhjIFstCC1lCGUgXwhlXwhuXwhhXwhtXwhlXSBbLQgtbAhsbghucghyXSBbXwhmXwhpXwhyXwhzXwh0XSBbXwhsXwhhXwhzXwh0XQogICAgICAgIGYIZmMIYyAtCC1zCHMgW18IcF8IYV8IdD1fCHJfCGVfCHBdIFtfCGNfCG1fCGRdCi0gICAgICAgICAgICAgIEZpeCBDb21tYW5kLiAgSW4gdGhlIGZpcnN0IGZvcm0sIGEgcmFuZ2Ugb2YgY29tbWFuZHMgZnJvbSAgXwhmXwhpXwhyXwhzXwh0Ci0gICAgICAgICAgICAgIHRvICBfCGxfCGFfCHNfCHQgIGlzIHNlbGVjdGVkIGZyb20gdGhlIGhpc3RvcnkgbGlzdC4gIF8IRl8IaV8Icl8Ic18IdCBhbmQgXwhsXwhhXwhzXwh0IG1heQotICAgICAgICAgICAgICBiZSBzcGVjaWZpZWQgYXMgYSBzdHJpbmcgKHRvIGxvY2F0ZSB0aGUgbGFzdCAgY29tbWFuZCAgYmVnaW5uaW5nCi0gICAgICAgICAgICAgIHdpdGggIHRoYXQgIHN0cmluZykgIG9yICBhcyAgYSBudW1iZXIgKGFuIGluZGV4IGludG8gdGhlIGhpc3RvcnkKKyAgICAgICAgICAgICAgRml4ICBDb21tYW5kLiAgSW4gdGhlIGZpcnN0IGZvcm0sIGEgcmFuZ2Ugb2YgY29tbWFuZHMgZnJvbSBfCGZfCGlfCHJfCHNfCHQKKyAgICAgICAgICAgICAgdG8gXwhsXwhhXwhzXwh0IGlzIHNlbGVjdGVkIGZyb20gdGhlIGhpc3RvcnkgbGlzdC4gIF8IRl8IaV8Icl8Ic18IdCBhbmQgIF8IbF8IYV8Ic18IdCAgbWF5CisgICAgICAgICAgICAgIGJlICBzcGVjaWZpZWQgIGFzIGEgc3RyaW5nICh0byBsb2NhdGUgdGhlIGxhc3QgY29tbWFuZCBiZWdpbm5pbmcKKyAgICAgICAgICAgICAgd2l0aCB0aGF0IHN0cmluZykgb3IgYXMgYSBudW1iZXIgIChhbiAgaW5kZXggIGludG8gIHRoZSAgaGlzdG9yeQogICAgICAgICAgICAgICBsaXN0LCB3aGVyZSBhIG5lZ2F0aXZlIG51bWJlciBpcyB1c2VkIGFzIGFuIG9mZnNldCBmcm9tIHRoZSBjdXItCiAgICAgICAgICAgICAgIHJlbnQgY29tbWFuZCBudW1iZXIpLiAgSWYgXwhsXwhhXwhzXwh0IGlzIG5vdCBzcGVjaWZpZWQgaXQgaXMgc2V0IHRvIHRoZQotICAgICAgICAgICAgICBjdXJyZW50IGNvbW1hbmQgZm9yIGxpc3RpbmcgKHNvIHRoYXQgYGBmYyAtbCAgLTEwJycgIHByaW50cyAgdGhlCisgICAgICAgICAgICAgIGN1cnJlbnQgIGNvbW1hbmQgIGZvciAgbGlzdGluZyAoc28gdGhhdCBgYGZjIC1sIC0xMCcnIHByaW50cyB0aGUKICAgICAgICAgICAgICAgbGFzdCAxMCBjb21tYW5kcykgYW5kIHRvIF8IZl8IaV8Icl8Ic18IdCBvdGhlcndpc2UuICBJZiBfCGZfCGlfCHJfCHNfCHQgaXMgbm90IHNwZWMtCi0gICAgICAgICAgICAgIGlmaWVkIGl0IGlzIHNldCB0byB0aGUgcHJldmlvdXMgY29tbWFuZCBmb3IgZWRpdGluZyBhbmQgLTE2ICBmb3IKKyAgICAgICAgICAgICAgaWZpZWQgIGl0IGlzIHNldCB0byB0aGUgcHJldmlvdXMgY29tbWFuZCBmb3IgZWRpdGluZyBhbmQgLTE2IGZvcgogICAgICAgICAgICAgICBsaXN0aW5nLgogCi0gICAgICAgICAgICAgIFRoZSAgLQgtbghuIG9wdGlvbiBzdXBwcmVzc2VzIHRoZSBjb21tYW5kIG51bWJlcnMgd2hlbiBsaXN0aW5nLiAgVGhlCi0gICAgICAgICAgICAgIC0ILXIIciBvcHRpb24gcmV2ZXJzZXMgdGhlIG9yZGVyIG9mIHRoZSBjb21tYW5kcy4gIElmIHRoZSAtCC1sCGwgIG9wdGlvbgotICAgICAgICAgICAgICBpcyAgZ2l2ZW4sICB0aGUgIGNvbW1hbmRzIGFyZSBsaXN0ZWQgb24gc3RhbmRhcmQgb3V0cHV0LiAgT3RoZXItCi0gICAgICAgICAgICAgIHdpc2UsIHRoZSBlZGl0b3IgZ2l2ZW4gYnkgXwhlXwhuXwhhXwhtXwhlIGlzIGludm9rZWQgb24gYSBmaWxlICBjb250YWluaW5nCi0gICAgICAgICAgICAgIHRob3NlICBjb21tYW5kcy4gIElmIF8IZV8Ibl8IYV8IbV8IZSBpcyBub3QgZ2l2ZW4sIHRoZSB2YWx1ZSBvZiB0aGUgRghGQwhDRQhFRAhESQhJVAhUCi0gICAgICAgICAgICAgIHZhcmlhYmxlIGlzIHVzZWQsIGFuZCB0aGUgdmFsdWUgb2YgRQhFRAhESQhJVAhUTwhPUghSIGlmIEYIRkMIQ0UIRUQIREkISVQIVCBpcyBub3QgIHNldC4KLSAgICAgICAgICAgICAgSWYgIG5laXRoZXIgdmFyaWFibGUgaXMgc2V0LCBpcyB1c2VkLiAgV2hlbiBlZGl0aW5nIGlzIGNvbXBsZXRlLAorICAgICAgICAgICAgICBUaGUgLQgtbghuIG9wdGlvbiBzdXBwcmVzc2VzIHRoZSBjb21tYW5kIG51bWJlcnMgd2hlbiBsaXN0aW5nLiAgIFRoZQorICAgICAgICAgICAgICAtCC1yCHIgIG9wdGlvbiByZXZlcnNlcyB0aGUgb3JkZXIgb2YgdGhlIGNvbW1hbmRzLiAgSWYgdGhlIC0ILWwIbCBvcHRpb24KKyAgICAgICAgICAgICAgaXMgZ2l2ZW4sIHRoZSBjb21tYW5kcyBhcmUgbGlzdGVkIG9uICBzdGFuZGFyZCAgb3V0cHV0LiAgIE90aGVyLQorICAgICAgICAgICAgICB3aXNlLCAgdGhlIGVkaXRvciBnaXZlbiBieSBfCGVfCG5fCGFfCG1fCGUgaXMgaW52b2tlZCBvbiBhIGZpbGUgY29udGFpbmluZworICAgICAgICAgICAgICB0aG9zZSBjb21tYW5kcy4gIElmIF8IZV8Ibl8IYV8IbV8IZSBpcyBub3QgZ2l2ZW4sIHRoZSB2YWx1ZSBvZiB0aGUgIEYIRkMIQ0UIRUQIREkISVQIVAorICAgICAgICAgICAgICB2YXJpYWJsZSAgaXMgdXNlZCwgYW5kIHRoZSB2YWx1ZSBvZiBFCEVECERJCElUCFRPCE9SCFIgaWYgRghGQwhDRQhFRAhESQhJVAhUIGlzIG5vdCBzZXQuCisgICAgICAgICAgICAgIElmIG5laXRoZXIgdmFyaWFibGUgaXMgc2V0LCBpcyB1c2VkLiAgV2hlbiBlZGl0aW5nIGlzICBjb21wbGV0ZSwKICAgICAgICAgICAgICAgdGhlIGVkaXRlZCBjb21tYW5kcyBhcmUgZWNob2VkIGFuZCBleGVjdXRlZC4KIAotICAgICAgICAgICAgICBJbiB0aGUgc2Vjb25kIGZvcm0sIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBpcyByZS1leGVjdXRlZCBhZnRlciAgZWFjaCAgaW5zdGFuY2UKLSAgICAgICAgICAgICAgb2YgIF8IcF8IYV8IdCAgaXMgcmVwbGFjZWQgYnkgXwhyXwhlXwhwLiAgQSB1c2VmdWwgYWxpYXMgdG8gdXNlIHdpdGggdGhpcyBpcwotICAgICAgICAgICAgICBgYHI9ImZjIC1zIicnLCBzbyB0aGF0IHR5cGluZyBgYHIgY2MnJyAgcnVucyAgdGhlICBsYXN0ICBjb21tYW5kCisgICAgICAgICAgICAgIEluICB0aGUgIHNlY29uZCBmb3JtLCBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgaXMgcmUtZXhlY3V0ZWQgYWZ0ZXIgZWFjaCBpbnN0YW5jZQorICAgICAgICAgICAgICBvZiBfCHBfCGFfCHQgaXMgcmVwbGFjZWQgYnkgXwhyXwhlXwhwLiAgQSB1c2VmdWwgYWxpYXMgdG8gdXNlIHdpdGggIHRoaXMgIGlzCisgICAgICAgICAgICAgIGBgcj0iZmMgIC1zIicnLCAgc28gIHRoYXQgIHR5cGluZyBgYHIgY2MnJyBydW5zIHRoZSBsYXN0IGNvbW1hbmQKICAgICAgICAgICAgICAgYmVnaW5uaW5nIHdpdGggYGBjYycnIGFuZCB0eXBpbmcgYGByJycgcmUtZXhlY3V0ZXMgdGhlIGxhc3QgY29tLQogICAgICAgICAgICAgICBtYW5kLgogCi0gICAgICAgICAgICAgIElmIHRoZSBmaXJzdCBmb3JtIGlzIHVzZWQsIHRoZSAgcmV0dXJuICB2YWx1ZSAgaXMgIDAgIHVubGVzcyAgYW4KLSAgICAgICAgICAgICAgaW52YWxpZCAgb3B0aW9uICBpcyBlbmNvdW50ZXJlZCBvciBfCGZfCGlfCHJfCHNfCHQgb3IgXwhsXwhhXwhzXwh0IHNwZWNpZnkgaGlzdG9yeQotICAgICAgICAgICAgICBsaW5lcyBvdXQgb2YgcmFuZ2UuICBJZiB0aGUgLQgtZQhlIG9wdGlvbiBpcyAgc3VwcGxpZWQsICB0aGUgIHJldHVybgorICAgICAgICAgICAgICBJZiAgdGhlICBmaXJzdCAgZm9ybSAgaXMgIHVzZWQsICB0aGUgcmV0dXJuIHZhbHVlIGlzIDAgdW5sZXNzIGFuCisgICAgICAgICAgICAgIGludmFsaWQgb3B0aW9uIGlzIGVuY291bnRlcmVkIG9yIF8IZl8IaV8Icl8Ic18IdCBvciBfCGxfCGFfCHNfCHQgIHNwZWNpZnkgIGhpc3RvcnkKKyAgICAgICAgICAgICAgbGluZXMgIG91dCAgb2YgIHJhbmdlLiAgSWYgdGhlIC0ILWUIZSBvcHRpb24gaXMgc3VwcGxpZWQsIHRoZSByZXR1cm4KICAgICAgICAgICAgICAgdmFsdWUgaXMgdGhlIHZhbHVlIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQgb3IgZmFpbHVyZSBpZiBhbgogICAgICAgICAgICAgICBlcnJvciBvY2N1cnMgd2l0aCB0aGUgdGVtcG9yYXJ5IGZpbGUgb2YgY29tbWFuZHMuICBJZiB0aGUgc2Vjb25kCi0gICAgICAgICAgICAgIGZvcm0gIGlzICB1c2VkLCB0aGUgcmV0dXJuIHN0YXR1cyBpcyB0aGF0IG9mIHRoZSBjb21tYW5kIHJlLWV4ZS0KLSAgICAgICAgICAgICAgY3V0ZWQsIHVubGVzcyBfCGNfCG1fCGQgZG9lcyBub3Qgc3BlY2lmeSAgYSAgdmFsaWQgIGhpc3RvcnkgIGxpbmUsICBpbgorICAgICAgICAgICAgICBmb3JtIGlzIHVzZWQsIHRoZSByZXR1cm4gc3RhdHVzIGlzIHRoYXQgb2YgdGhlICBjb21tYW5kICByZS1leGUtCisgICAgICAgICAgICAgIGN1dGVkLCAgdW5sZXNzICBfCGNfCG1fCGQgIGRvZXMgIG5vdCAgc3BlY2lmeSBhIHZhbGlkIGhpc3RvcnkgbGluZSwgaW4KICAgICAgICAgICAgICAgd2hpY2ggY2FzZSBmCGZjCGMgcmV0dXJucyBmYWlsdXJlLgogCiAgICAgICAgZghmZwhnIFtfCGpfCG9fCGJfCHNfCHBfCGVfCGNdCi0gICAgICAgICAgICAgIFJlc3VtZSAgXwhqXwhvXwhiXwhzXwhwXwhlXwhjICBpbiB0aGUgZm9yZWdyb3VuZCwgYW5kIG1ha2UgaXQgdGhlIGN1cnJlbnQgam9iLgorICAgICAgICAgICAgICBSZXN1bWUgXwhqXwhvXwhiXwhzXwhwXwhlXwhjIGluIHRoZSBmb3JlZ3JvdW5kLCBhbmQgbWFrZSBpdCB0aGUgIGN1cnJlbnQgIGpvYi4KICAgICAgICAgICAgICAgSWYgXwhqXwhvXwhiXwhzXwhwXwhlXwhjIGlzIG5vdCBwcmVzZW50LCB0aGUgc2hlbGwncyBub3Rpb24gb2YgdGhlIF8IY18IdV8Icl8Icl8IZV8Ibl8IdCBfCGpfCG9fCGIKLSAgICAgICAgICAgICAgaXMgIHVzZWQuICAgVGhlICByZXR1cm4gdmFsdWUgaXMgdGhhdCBvZiB0aGUgY29tbWFuZCBwbGFjZWQgaW50bwotICAgICAgICAgICAgICB0aGUgZm9yZWdyb3VuZCwgb3IgZmFpbHVyZSBpZiBydW4gd2hlbiBqb2IgY29udHJvbCAgaXMgIGRpc2FibGVkCisgICAgICAgICAgICAgIGlzIHVzZWQuICBUaGUgcmV0dXJuIHZhbHVlIGlzIHRoYXQgb2YgdGhlICBjb21tYW5kICBwbGFjZWQgIGludG8KKyAgICAgICAgICAgICAgdGhlICBmb3JlZ3JvdW5kLCAgb3IgZmFpbHVyZSBpZiBydW4gd2hlbiBqb2IgY29udHJvbCBpcyBkaXNhYmxlZAogICAgICAgICAgICAgICBvciwgd2hlbiBydW4gd2l0aCBqb2IgY29udHJvbCBlbmFibGVkLCBpZiBfCGpfCG9fCGJfCHNfCHBfCGVfCGMgZG9lcyBub3Qgc3BlYy0KLSAgICAgICAgICAgICAgaWZ5IGEgdmFsaWQgam9iIG9yIF8Ial8Ib18IYl8Ic18IcF8IZV8IYyBzcGVjaWZpZXMgIGEgIGpvYiAgdGhhdCAgd2FzICBzdGFydGVkCisgICAgICAgICAgICAgIGlmeSAgYSAgdmFsaWQgIGpvYiAgb3IgIF8Ial8Ib18IYl8Ic18IcF8IZV8IYyBzcGVjaWZpZXMgYSBqb2IgdGhhdCB3YXMgc3RhcnRlZAogICAgICAgICAgICAgICB3aXRob3V0IGpvYiBjb250cm9sLgogCiAgICAgICAgZwhnZQhldAh0bwhvcAhwdAh0cwhzIF8Ib18IcF8IdF8Ic18IdF8Icl8IaV8Ibl8IZyBfCG5fCGFfCG1fCGUgW18IYV8Icl8IZ18Ic10KLSAgICAgICAgICAgICAgZwhnZQhldAh0bwhvcAhwdAh0cwhzICBpcyB1c2VkIGJ5IHNoZWxsIHByb2NlZHVyZXMgdG8gcGFyc2UgcG9zaXRpb25hbCBwYXJhbWUtCi0gICAgICAgICAgICAgIHRlcnMuICBfCG9fCHBfCHRfCHNfCHRfCHJfCGlfCG5fCGcgY29udGFpbnMgdGhlIG9wdGlvbiAgY2hhcmFjdGVycyAgdG8gIGJlICByZWNvZy0KLSAgICAgICAgICAgICAgbml6ZWQ7ICBpZiAgYSAgY2hhcmFjdGVyICBpcyAgZm9sbG93ZWQgYnkgYSBjb2xvbiwgdGhlIG9wdGlvbiBpcwotICAgICAgICAgICAgICBleHBlY3RlZCB0byBoYXZlIGFuIGFyZ3VtZW50LCB3aGljaCBzaG91bGQgYmUgc2VwYXJhdGVkIGZyb20gIGl0Ci0gICAgICAgICAgICAgIGJ5ICB3aGl0ZSBzcGFjZS4gIFRoZSBjb2xvbiBhbmQgcXVlc3Rpb24gbWFyayBjaGFyYWN0ZXJzIG1heSBub3QKLSAgICAgICAgICAgICAgYmUgdXNlZCBhcyBvcHRpb24gY2hhcmFjdGVycy4gIEVhY2ggdGltZSBpdCBpcyBpbnZva2VkLCAgZwhnZQhldAh0bwhvcAhwdAh0cwhzCi0gICAgICAgICAgICAgIHBsYWNlcyAgdGhlIG5leHQgb3B0aW9uIGluIHRoZSBzaGVsbCB2YXJpYWJsZSBfCG5fCGFfCG1fCGUsIGluaXRpYWxpemluZworICAgICAgICAgICAgICBnCGdlCGV0CHRvCG9wCHB0CHRzCHMgaXMgdXNlZCBieSBzaGVsbCBwcm9jZWR1cmVzIHRvIHBhcnNlIHBvc2l0aW9uYWwgIHBhcmFtZS0KKyAgICAgICAgICAgICAgdGVycy4gICBfCG9fCHBfCHRfCHNfCHRfCHJfCGlfCG5fCGcgIGNvbnRhaW5zICB0aGUgIG9wdGlvbiBjaGFyYWN0ZXJzIHRvIGJlIHJlY29nLQorICAgICAgICAgICAgICBuaXplZDsgaWYgYSBjaGFyYWN0ZXIgaXMgZm9sbG93ZWQgYnkgIGEgIGNvbG9uLCAgdGhlICBvcHRpb24gIGlzCisgICAgICAgICAgICAgIGV4cGVjdGVkICB0byBoYXZlIGFuIGFyZ3VtZW50LCB3aGljaCBzaG91bGQgYmUgc2VwYXJhdGVkIGZyb20gaXQKKyAgICAgICAgICAgICAgYnkgd2hpdGUgc3BhY2UuICBUaGUgY29sb24gYW5kIHF1ZXN0aW9uIG1hcmsgY2hhcmFjdGVycyBtYXkgIG5vdAorICAgICAgICAgICAgICBiZSAgdXNlZCBhcyBvcHRpb24gY2hhcmFjdGVycy4gIEVhY2ggdGltZSBpdCBpcyBpbnZva2VkLCBnCGdlCGV0CHRvCG9wCHB0CHRzCHMKKyAgICAgICAgICAgICAgcGxhY2VzIHRoZSBuZXh0IG9wdGlvbiBpbiB0aGUgc2hlbGwgdmFyaWFibGUgXwhuXwhhXwhtXwhlLCAgaW5pdGlhbGl6aW5nCiAgICAgICAgICAgICAgIF8Ibl8IYV8IbV8IZSBpZiBpdCBkb2VzIG5vdCBleGlzdCwgYW5kIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBhcmd1bWVudCB0bwogICAgICAgICAgICAgICBiZSBwcm9jZXNzZWQgaW50byB0aGUgdmFyaWFibGUgTwhPUAhQVAhUSQhJTghORAhELiAgTwhPUAhQVAhUSQhJTghORAhEIGlzIGluaXRpYWxpemVkIHRvCi0gICAgICAgICAgICAgIDEgZWFjaCB0aW1lIHRoZSBzaGVsbCBvciBhIHNoZWxsIHNjcmlwdCAgaXMgIGludm9rZWQuICAgV2hlbiAgYW4KLSAgICAgICAgICAgICAgb3B0aW9uICByZXF1aXJlcyAgYW4gYXJndW1lbnQsIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyBwbGFjZXMgdGhhdCBhcmd1bWVudCBpbnRvCi0gICAgICAgICAgICAgIHRoZSB2YXJpYWJsZSBPCE9QCFBUCFRBCEFSCFJHCEcuICBUaGUgc2hlbGwgZG9lcyBub3QgcmVzZXQgTwhPUAhQVAhUSQhJTghORAhEICBhdXRvbWF0aS0KLSAgICAgICAgICAgICAgY2FsbHk7ICBpdCAgbXVzdCAgYmUgIG1hbnVhbGx5ICByZXNldCAgYmV0d2VlbiBtdWx0aXBsZSBjYWxscyB0bworICAgICAgICAgICAgICAxICBlYWNoICB0aW1lICB0aGUgIHNoZWxsIG9yIGEgc2hlbGwgc2NyaXB0IGlzIGludm9rZWQuICBXaGVuIGFuCisgICAgICAgICAgICAgIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCwgZwhnZQhldAh0bwhvcAhwdAh0cwhzIHBsYWNlcyB0aGF0ICBhcmd1bWVudCAgaW50bworICAgICAgICAgICAgICB0aGUgIHZhcmlhYmxlIE8IT1AIUFQIVEEIQVIIUkcIRy4gIFRoZSBzaGVsbCBkb2VzIG5vdCByZXNldCBPCE9QCFBUCFRJCElOCE5ECEQgYXV0b21hdGktCisgICAgICAgICAgICAgIGNhbGx5OyBpdCBtdXN0IGJlICBtYW51YWxseSAgcmVzZXQgIGJldHdlZW4gIG11bHRpcGxlICBjYWxscyAgdG8KICAgICAgICAgICAgICAgZwhnZQhldAh0bwhvcAhwdAh0cwhzIHdpdGhpbiB0aGUgc2FtZSBzaGVsbCBpbnZvY2F0aW9uIGlmIGEgbmV3IHNldCBvZiBwYXJhbWUtCiAgICAgICAgICAgICAgIHRlcnMgaXMgdG8gYmUgdXNlZC4KIAotICAgICAgICAgICAgICBXaGVuICB0aGUgIGVuZCAgb2YgIG9wdGlvbnMgaXMgZW5jb3VudGVyZWQsIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyBleGl0cyB3aXRoIGEKLSAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlIGdyZWF0ZXIgdGhhbiB6ZXJvLiAgTwhPUAhQVAhUSQhJTghORAhEIGlzIHNldCB0byB0aGUgIGluZGV4ICBvZgorICAgICAgICAgICAgICBXaGVuIHRoZSBlbmQgb2Ygb3B0aW9ucyBpcyBlbmNvdW50ZXJlZCwgIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyAgZXhpdHMgIHdpdGggIGEKKyAgICAgICAgICAgICAgcmV0dXJuICB2YWx1ZSAgZ3JlYXRlciB0aGFuIHplcm8uICBPCE9QCFBUCFRJCElOCE5ECEQgaXMgc2V0IHRvIHRoZSBpbmRleCBvZgogICAgICAgICAgICAgICB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCwgYW5kIG4IbmEIYW0IbWUIZSBpcyBzZXQgdG8gPy4KIAotICAgICAgICAgICAgICBnCGdlCGV0CHRvCG9wCHB0CHRzCHMgIG5vcm1hbGx5ICBwYXJzZXMgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycywgYnV0IGlmIG1vcmUKKyAgICAgICAgICAgICAgZwhnZQhldAh0bwhvcAhwdAh0cwhzIG5vcm1hbGx5IHBhcnNlcyB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLCBidXQgIGlmICBtb3JlCiAgICAgICAgICAgICAgIGFyZ3VtZW50cyBhcmUgZ2l2ZW4gaW4gXwhhXwhyXwhnXwhzLCBnCGdlCGV0CHRvCG9wCHB0CHRzCHMgcGFyc2VzIHRob3NlIGluc3RlYWQuCiAKLSAgICAgICAgICAgICAgZwhnZQhldAh0bwhvcAhwdAh0cwhzIGNhbiByZXBvcnQgZXJyb3JzIGluIHR3byB3YXlzLiAgSWYgdGhlICBmaXJzdCAgY2hhcmFjdGVyCi0gICAgICAgICAgICAgIG9mICBfCG9fCHBfCHRfCHNfCHRfCHJfCGlfCG5fCGcgIGlzICBhICBjb2xvbiwgXwhzXwhpXwhsXwhlXwhuXwh0IGVycm9yIHJlcG9ydGluZyBpcyB1c2VkLiAgSW4KLSAgICAgICAgICAgICAgbm9ybWFsIG9wZXJhdGlvbiBkaWFnbm9zdGljIG1lc3NhZ2VzIGFyZSAgcHJpbnRlZCAgd2hlbiAgaW52YWxpZAotICAgICAgICAgICAgICBvcHRpb25zICBvciAgbWlzc2luZyAgb3B0aW9uICBhcmd1bWVudHMgYXJlIGVuY291bnRlcmVkLiAgSWYgdGhlCi0gICAgICAgICAgICAgIHZhcmlhYmxlIE8IT1AIUFQIVEUIRVIIUlIIUiBpcyBzZXQgdG8gMCwgbm8gIGVycm9yICBtZXNzYWdlcyAgd2lsbCAgYmUgIGRpcy0KKyAgICAgICAgICAgICAgZwhnZQhldAh0bwhvcAhwdAh0cwhzICBjYW4gIHJlcG9ydCBlcnJvcnMgaW4gdHdvIHdheXMuICBJZiB0aGUgZmlyc3QgY2hhcmFjdGVyCisgICAgICAgICAgICAgIG9mIF8Ib18IcF8IdF8Ic18IdF8Icl8IaV8Ibl8IZyBpcyBhIGNvbG9uLCBfCHNfCGlfCGxfCGVfCG5fCHQgZXJyb3IgIHJlcG9ydGluZyAgaXMgIHVzZWQuICAgSW4KKyAgICAgICAgICAgICAgbm9ybWFsICBvcGVyYXRpb24gIGRpYWdub3N0aWMgIG1lc3NhZ2VzIGFyZSBwcmludGVkIHdoZW4gaW52YWxpZAorICAgICAgICAgICAgICBvcHRpb25zIG9yIG1pc3Npbmcgb3B0aW9uIGFyZ3VtZW50cyAgYXJlICBlbmNvdW50ZXJlZC4gICBJZiAgdGhlCisgICAgICAgICAgICAgIHZhcmlhYmxlICBPCE9QCFBUCFRFCEVSCFJSCFIgIGlzICBzZXQgIHRvICAwLCBubyBlcnJvciBtZXNzYWdlcyB3aWxsIGJlIGRpcy0KICAgICAgICAgICAgICAgcGxheWVkLCBldmVuIGlmIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgXwhvXwhwXwh0XwhzXwh0XwhyXwhpXwhuXwhnIGlzIG5vdCBhIGNvbG9uLgogCiAgICAgICAgICAgICAgIElmIGFuIGludmFsaWQgb3B0aW9uIGlzIHNlZW4sIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyBwbGFjZXMgPyBpbnRvIF8Ibl8IYV8IbV8IZSBhbmQsIGlmCi0gICAgICAgICAgICAgIG5vdCAgc2lsZW50LCAgcHJpbnRzICBhbiAgZXJyb3IgIG1lc3NhZ2UgIGFuZCB1bnNldHMgTwhPUAhQVAhUQQhBUghSRwhHLiAgSWYKLSAgICAgICAgICAgICAgZwhnZQhldAh0bwhvcAhwdAh0cwhzIGlzIHNpbGVudCwgdGhlICBvcHRpb24gIGNoYXJhY3RlciAgZm91bmQgIGlzICBwbGFjZWQgIGluCisgICAgICAgICAgICAgIG5vdCBzaWxlbnQsIHByaW50cyBhbiAgZXJyb3IgIG1lc3NhZ2UgIGFuZCAgdW5zZXRzICBPCE9QCFBUCFRBCEFSCFJHCEcuICAgSWYKKyAgICAgICAgICAgICAgZwhnZQhldAh0bwhvcAhwdAh0cwhzICBpcyAgc2lsZW50LCAgdGhlICBvcHRpb24gIGNoYXJhY3RlciAgZm91bmQgaXMgcGxhY2VkIGluCiAgICAgICAgICAgICAgIE8IT1AIUFQIVEEIQVIIUkcIRyBhbmQgbm8gZGlhZ25vc3RpYyBtZXNzYWdlIGlzIHByaW50ZWQuCiAKLSAgICAgICAgICAgICAgSWYgIGEgcmVxdWlyZWQgYXJndW1lbnQgaXMgbm90IGZvdW5kLCBhbmQgZwhnZQhldAh0bwhvcAhwdAh0cwhzIGlzIG5vdCBzaWxlbnQsCi0gICAgICAgICAgICAgIGEgcXVlc3Rpb24gbWFyayAoPwg/KSBpcyBwbGFjZWQgaW4gXwhuXwhhXwhtXwhlLCBPCE9QCFBUCFRBCEFSCFJHCEcgaXMgIHVuc2V0LCAgYW5kICBhCi0gICAgICAgICAgICAgIGRpYWdub3N0aWMgIG1lc3NhZ2UgIGlzICBwcmludGVkLiAgIElmIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyBpcyBzaWxlbnQsIHRoZW4gYQotICAgICAgICAgICAgICBjb2xvbiAoOgg6KSBpcyBwbGFjZWQgaW4gXwhuXwhhXwhtXwhlIGFuZCBPCE9QCFBUCFRBCEFSCFJHCEcgIGlzICBzZXQgIHRvICB0aGUgIG9wdGlvbgorICAgICAgICAgICAgICBJZiBhIHJlcXVpcmVkIGFyZ3VtZW50IGlzIG5vdCBmb3VuZCwgYW5kIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyBpcyBub3QgIHNpbGVudCwKKyAgICAgICAgICAgICAgYSAgcXVlc3Rpb24gIG1hcmsgICg/CD8pIGlzIHBsYWNlZCBpbiBfCG5fCGFfCG1fCGUsIE8IT1AIUFQIVEEIQVIIUkcIRyBpcyB1bnNldCwgYW5kIGEKKyAgICAgICAgICAgICAgZGlhZ25vc3RpYyBtZXNzYWdlIGlzIHByaW50ZWQuICBJZiBnCGdlCGV0CHRvCG9wCHB0CHRzCHMgIGlzICBzaWxlbnQsICB0aGVuICBhCisgICAgICAgICAgICAgIGNvbG9uICAoOgg6KSAgaXMgIHBsYWNlZCAgaW4gIF8Ibl8IYV8IbV8IZSBhbmQgTwhPUAhQVAhUQQhBUghSRwhHIGlzIHNldCB0byB0aGUgb3B0aW9uCiAgICAgICAgICAgICAgIGNoYXJhY3RlciBmb3VuZC4KIAotICAgICAgICAgICAgICBnCGdlCGV0CHRvCG9wCHB0CHRzCHMgIHJldHVybnMgdHJ1ZSBpZiBhbiBvcHRpb24sIHNwZWNpZmllZCBvciB1bnNwZWNpZmllZCwgaXMKKyAgICAgICAgICAgICAgZwhnZQhldAh0bwhvcAhwdAh0cwhzIHJldHVybnMgdHJ1ZSBpZiBhbiBvcHRpb24sIHNwZWNpZmllZCBvciB1bnNwZWNpZmllZCwgIGlzCiAgICAgICAgICAgICAgIGZvdW5kLiAgSXQgcmV0dXJucyBmYWxzZSBpZiB0aGUgZW5kIG9mIG9wdGlvbnMgaXMgZW5jb3VudGVyZWQgb3IKICAgICAgICAgICAgICAgYW4gZXJyb3Igb2NjdXJzLgogCiAgICAgICAgaAhoYQhhcwhzaAhoIFstCC1sCGxyCHJdIFstCC1wCHAgXwhmXwhpXwhsXwhlXwhuXwhhXwhtXwhlXSBbLQgtZAhkdAh0XSBbXwhuXwhhXwhtXwhlXQotICAgICAgICAgICAgICBGb3IgIGVhY2ggIF8Ibl8IYV8IbV8IZSwgdGhlIGZ1bGwgZmlsZSBuYW1lIG9mIHRoZSBjb21tYW5kIGlzIGRldGVybWluZWQKKyAgICAgICAgICAgICAgRm9yIGVhY2ggXwhuXwhhXwhtXwhlLCB0aGUgZnVsbCBmaWxlIG5hbWUgb2YgdGhlIGNvbW1hbmQgIGlzICBkZXRlcm1pbmVkCiAgICAgICAgICAgICAgIGJ5IHNlYXJjaGluZyB0aGUgZGlyZWN0b3JpZXMgaW4gJAgkUAhQQQhBVAhUSAhIIGFuZCByZW1lbWJlcmVkLiAgSWYgdGhlIC0ILXAIcAogICAgICAgICAgICAgICBvcHRpb24gaXMgc3VwcGxpZWQsIG5vIHBhdGggc2VhcmNoIGlzIHBlcmZvcm1lZCwgYW5kIF8IZl8IaV8IbF8IZV8Ibl8IYV8IbV8IZSBpcwogICAgICAgICAgICAgICB1c2VkIGFzIHRoZSBmdWxsIGZpbGUgbmFtZSBvZiB0aGUgY29tbWFuZC4gIFRoZSAtCC1yCHIgb3B0aW9uIGNhdXNlcwotICAgICAgICAgICAgICB0aGUgIHNoZWxsICB0byAgZm9yZ2V0ICBhbGwgcmVtZW1iZXJlZCBsb2NhdGlvbnMuICBUaGUgLQgtZAhkIG9wdGlvbgorICAgICAgICAgICAgICB0aGUgc2hlbGwgdG8gZm9yZ2V0IGFsbCByZW1lbWJlcmVkICBsb2NhdGlvbnMuICAgVGhlICAtCC1kCGQgIG9wdGlvbgogICAgICAgICAgICAgICBjYXVzZXMgdGhlIHNoZWxsIHRvIGZvcmdldCB0aGUgcmVtZW1iZXJlZCBsb2NhdGlvbiBvZiBlYWNoIF8Ibl8IYV8IbV8IZS4KLSAgICAgICAgICAgICAgSWYgIHRoZSAgLQgtdAh0ICBvcHRpb24gaXMgc3VwcGxpZWQsIHRoZSBmdWxsIHBhdGhuYW1lIHRvIHdoaWNoIGVhY2gKLSAgICAgICAgICAgICAgXwhuXwhhXwhtXwhlIGNvcnJlc3BvbmRzIGlzIHByaW50ZWQuICBJZiAgbXVsdGlwbGUgIF8Ibl8IYV8IbV8IZSAgYXJndW1lbnRzICBhcmUKLSAgICAgICAgICAgICAgc3VwcGxpZWQgIHdpdGggIC0ILXQIdCwgIHRoZSAgXwhuXwhhXwhtXwhlIGlzIHByaW50ZWQgYmVmb3JlIHRoZSBoYXNoZWQgZnVsbAorICAgICAgICAgICAgICBJZiB0aGUgLQgtdAh0IG9wdGlvbiBpcyBzdXBwbGllZCwgdGhlIGZ1bGwgcGF0aG5hbWUgIHRvICB3aGljaCAgZWFjaAorICAgICAgICAgICAgICBfCG5fCGFfCG1fCGUgIGNvcnJlc3BvbmRzICBpcyAgcHJpbnRlZC4gICBJZiBtdWx0aXBsZSBfCG5fCGFfCG1fCGUgYXJndW1lbnRzIGFyZQorICAgICAgICAgICAgICBzdXBwbGllZCB3aXRoIC0ILXQIdCwgdGhlIF8Ibl8IYV8IbV8IZSBpcyBwcmludGVkICBiZWZvcmUgIHRoZSAgaGFzaGVkICBmdWxsCiAgICAgICAgICAgICAgIHBhdGhuYW1lLiAgVGhlIC0ILWwIbCBvcHRpb24gY2F1c2VzIG91dHB1dCB0byBiZSBkaXNwbGF5ZWQgaW4gYSBmb3ItCi0gICAgICAgICAgICAgIG1hdCAgdGhhdCBtYXkgYmUgcmV1c2VkIGFzIGlucHV0LiAgSWYgbm8gYXJndW1lbnRzIGFyZSBnaXZlbiwgb3IKKyAgICAgICAgICAgICAgbWF0IHRoYXQgbWF5IGJlIHJldXNlZCBhcyBpbnB1dC4gIElmIG5vIGFyZ3VtZW50cyBhcmUgZ2l2ZW4sICBvcgogICAgICAgICAgICAgICBpZiBvbmx5IC0ILWwIbCBpcyBzdXBwbGllZCwgaW5mb3JtYXRpb24gYWJvdXQgcmVtZW1iZXJlZCBjb21tYW5kcyBpcwotICAgICAgICAgICAgICBwcmludGVkLiAgIFRoZSAgcmV0dXJuIHN0YXR1cyBpcyB0cnVlIHVubGVzcyBhIF8Ibl8IYV8IbV8IZSBpcyBub3QgZm91bmQKKyAgICAgICAgICAgICAgcHJpbnRlZC4gIFRoZSByZXR1cm4gc3RhdHVzIGlzIHRydWUgdW5sZXNzIGEgXwhuXwhhXwhtXwhlIGlzICBub3QgIGZvdW5kCiAgICAgICAgICAgICAgIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLgogCiAgICAgICAgaAhoZQhlbAhscAhwIFstCC1kCGRtCG1zCHNdIFtfCHBfCGFfCHRfCHRfCGVfCHJfCG5dCi0gICAgICAgICAgICAgIERpc3BsYXkgaGVscGZ1bCBpbmZvcm1hdGlvbiBhYm91dCBidWlsdGluIGNvbW1hbmRzLiAgSWYgIF8IcF8IYV8IdF8IdF8IZV8Icl8IbgotICAgICAgICAgICAgICBpcyAgc3BlY2lmaWVkLCBoCGhlCGVsCGxwCHAgZ2l2ZXMgZGV0YWlsZWQgaGVscCBvbiBhbGwgY29tbWFuZHMgbWF0Y2hpbmcKLSAgICAgICAgICAgICAgXwhwXwhhXwh0Xwh0XwhlXwhyXwhuOyBvdGhlcndpc2UgaGVscCBmb3IgYWxsIHRoZSBidWlsdGlucyBhbmQgIHNoZWxsICBjb250cm9sCisgICAgICAgICAgICAgIERpc3BsYXkgIGhlbHBmdWwgaW5mb3JtYXRpb24gYWJvdXQgYnVpbHRpbiBjb21tYW5kcy4gIElmIF8IcF8IYV8IdF8IdF8IZV8Icl8IbgorICAgICAgICAgICAgICBpcyBzcGVjaWZpZWQsIGgIaGUIZWwIbHAIcCBnaXZlcyBkZXRhaWxlZCBoZWxwIG9uIGFsbCBjb21tYW5kcyAgbWF0Y2hpbmcKKyAgICAgICAgICAgICAgXwhwXwhhXwh0Xwh0XwhlXwhyXwhuOyAgb3RoZXJ3aXNlICBoZWxwIGZvciBhbGwgdGhlIGJ1aWx0aW5zIGFuZCBzaGVsbCBjb250cm9sCiAgICAgICAgICAgICAgIHN0cnVjdHVyZXMgaXMgcHJpbnRlZC4KICAgICAgICAgICAgICAgLQgtZAhkICAgICBEaXNwbGF5IGEgc2hvcnQgZGVzY3JpcHRpb24gb2YgZWFjaCBfCHBfCGFfCHRfCHRfCGVfCHJfCG4KLSAgICAgICAgICAgICAgIC0ILW0IbSAgICBEaXNwbGF5IHRoZSBkZXNjcmlwdGlvbiBvZiBlYWNoIF8IcF8IYV8IdF8IdF8IZV8Icl8IbiBpbiBhIG1hbnBhZ2UtbGlrZQorICAgICAgICAgICAgICAtCC1tCG0gICAgIERpc3BsYXkgdGhlIGRlc2NyaXB0aW9uIG9mIGVhY2ggXwhwXwhhXwh0Xwh0XwhlXwhyXwhuIGluIGEgbWFucGFnZS1saWtlCiAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQKICAgICAgICAgICAgICAgLQgtcwhzICAgICBEaXNwbGF5IG9ubHkgYSBzaG9ydCB1c2FnZSBzeW5vcHNpcyBmb3IgZWFjaCBfCHBfCGFfCHRfCHRfCGVfCHJfCG4KICAgICAgICBUaGUgcmV0dXJuIHN0YXR1cyBpcyAwIHVubGVzcyBubyBjb21tYW5kIG1hdGNoZXMgXwhwXwhhXwh0Xwh0XwhlXwhyXwhuLgpAQCAtNjM4LDEzMiArNjUxLDEzMyBAQAogICAgICAgIGgIaGkIaXMIc3QIdG8Ib3IIcnkIeSAtCC1zCHMgXwhhXwhyXwhnIFtfCGFfCHJfCGcgXwguXwguXwguXQogICAgICAgICAgICAgICBXaXRoIG5vIG9wdGlvbnMsIGRpc3BsYXkgdGhlIGNvbW1hbmQgaGlzdG9yeSBsaXN0IHdpdGggbGluZSBudW0tCiAgICAgICAgICAgICAgIGJlcnMuICBMaW5lcyBsaXN0ZWQgd2l0aCBhICoIKiBoYXZlIGJlZW4gbW9kaWZpZWQuICBBbiBhcmd1bWVudCBvZgotICAgICAgICAgICAgICBfCG4gbGlzdHMgb25seSB0aGUgbGFzdCBfCG4gbGluZXMuICBJZiB0aGUgc2hlbGwgdmFyaWFibGUgIEgISEkISVMIU1QIVFQIVEkISU0ITUUIRS0ILQotICAgICAgICAgICAgICBGCEZPCE9SCFJNCE1BCEFUCFQgIGlzICBzZXQgIGFuZCBub3QgbnVsbCwgaXQgaXMgdXNlZCBhcyBhIGZvcm1hdCBzdHJpbmcgZm9yCi0gICAgICAgICAgICAgIF8Ic18IdF8Icl8IZl8IdF8IaV8IbV8IZSgzKSB0byBkaXNwbGF5IHRoZSB0aW1lIHN0YW1wIGFzc29jaWF0ZWQgd2l0aCBlYWNoICBkaXMtCi0gICAgICAgICAgICAgIHBsYXllZCAgaGlzdG9yeSAgZW50cnkuICBObyBpbnRlcnZlbmluZyBibGFuayBpcyBwcmludGVkIGJldHdlZW4KLSAgICAgICAgICAgICAgdGhlIGZvcm1hdHRlZCB0aW1lIHN0YW1wIGFuZCB0aGUgaGlzdG9yeSBsaW5lLiAgSWYgIF8IZl8IaV8IbF8IZV8Ibl8IYV8IbV8IZSAgaXMKLSAgICAgICAgICAgICAgc3VwcGxpZWQsICBpdCAgaXMgIHVzZWQgYXMgdGhlIG5hbWUgb2YgdGhlIGhpc3RvcnkgZmlsZTsgaWYgbm90LAotICAgICAgICAgICAgICB0aGUgdmFsdWUgb2YgSAhISQhJUwhTVAhURghGSQhJTAhMRQhFIGlzIHVzZWQuICBPcHRpb25zLCBpZiBzdXBwbGllZCwgIGhhdmUgIHRoZQorICAgICAgICAgICAgICBfCG4gIGxpc3RzIG9ubHkgdGhlIGxhc3QgXwhuIGxpbmVzLiAgSWYgdGhlIHNoZWxsIHZhcmlhYmxlIEgISEkISVMIU1QIVFQIVEkISU0ITUUIRS0ILQorICAgICAgICAgICAgICBGCEZPCE9SCFJNCE1BCEFUCFQgaXMgc2V0IGFuZCBub3QgbnVsbCwgaXQgaXMgdXNlZCBhcyBhICBmb3JtYXQgIHN0cmluZyAgZm9yCisgICAgICAgICAgICAgIF8Ic18IdF8Icl8IZl8IdF8IaV8IbV8IZSgzKSAgdG8gZGlzcGxheSB0aGUgdGltZSBzdGFtcCBhc3NvY2lhdGVkIHdpdGggZWFjaCBkaXMtCisgICAgICAgICAgICAgIHBsYXllZCBoaXN0b3J5IGVudHJ5LiAgTm8gaW50ZXJ2ZW5pbmcgYmxhbmsgaXMgIHByaW50ZWQgIGJldHdlZW4KKyAgICAgICAgICAgICAgdGhlICBmb3JtYXR0ZWQgIHRpbWUgc3RhbXAgYW5kIHRoZSBoaXN0b3J5IGxpbmUuICBJZiBfCGZfCGlfCGxfCGVfCG5fCGFfCG1fCGUgaXMKKyAgICAgICAgICAgICAgc3VwcGxpZWQsIGl0IGlzIHVzZWQgYXMgdGhlIG5hbWUgb2YgdGhlIGhpc3RvcnkgIGZpbGU7ICBpZiAgbm90LAorICAgICAgICAgICAgICB0aGUgIHZhbHVlICBvZiBICEhJCElTCFNUCFRGCEZJCElMCExFCEUgaXMgdXNlZC4gIE9wdGlvbnMsIGlmIHN1cHBsaWVkLCBoYXZlIHRoZQogICAgICAgICAgICAgICBmb2xsb3dpbmcgbWVhbmluZ3M6CiAgICAgICAgICAgICAgIC0ILWMIYyAgICAgQ2xlYXIgdGhlIGhpc3RvcnkgbGlzdCBieSBkZWxldGluZyBhbGwgdGhlIGVudHJpZXMuCiAgICAgICAgICAgICAgIC0ILWQIZCBfCG9fCGZfCGZfCHNfCGVfCHQKICAgICAgICAgICAgICAgICAgICAgIERlbGV0ZSB0aGUgaGlzdG9yeSBlbnRyeSBhdCBwb3NpdGlvbiBfCG9fCGZfCGZfCHNfCGVfCHQuCi0gICAgICAgICAgICAgIC0ILWEIYSAgICAgQXBwZW5kICB0aGUgIGBgbmV3JycgaGlzdG9yeSBsaW5lcyAoaGlzdG9yeSBsaW5lcyBlbnRlcmVkCi0gICAgICAgICAgICAgICAgICAgICBzaW5jZSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBjdXJyZW50IGIIYmEIYXMIc2gIaCBzZXNzaW9uKSAgdG8gIHRoZQorICAgICAgICAgICAgICAtCC1hCGEgICAgIEFwcGVuZCB0aGUgYGBuZXcnJyBoaXN0b3J5IGxpbmVzIChoaXN0b3J5ICBsaW5lcyAgZW50ZXJlZAorICAgICAgICAgICAgICAgICAgICAgc2luY2UgIHRoZSAgYmVnaW5uaW5nIG9mIHRoZSBjdXJyZW50IGIIYmEIYXMIc2gIaCBzZXNzaW9uKSB0byB0aGUKICAgICAgICAgICAgICAgICAgICAgIGhpc3RvcnkgZmlsZS4KLSAgICAgICAgICAgICAgLQgtbghuICAgICBSZWFkICB0aGUgaGlzdG9yeSBsaW5lcyBub3QgYWxyZWFkeSByZWFkIGZyb20gdGhlIGhpc3RvcnkKLSAgICAgICAgICAgICAgICAgICAgIGZpbGUgaW50byB0aGUgY3VycmVudCAgaGlzdG9yeSAgbGlzdC4gICBUaGVzZSAgYXJlICBsaW5lcwotICAgICAgICAgICAgICAgICAgICAgYXBwZW5kZWQgIHRvICB0aGUgaGlzdG9yeSBmaWxlIHNpbmNlIHRoZSBiZWdpbm5pbmcgb2YgdGhlCisgICAgICAgICAgICAgIC0ILW4IbiAgICAgUmVhZCB0aGUgaGlzdG9yeSBsaW5lcyBub3QgYWxyZWFkeSByZWFkIGZyb20gdGhlICBoaXN0b3J5CisgICAgICAgICAgICAgICAgICAgICBmaWxlICBpbnRvICB0aGUgIGN1cnJlbnQgIGhpc3RvcnkgIGxpc3QuICBUaGVzZSBhcmUgbGluZXMKKyAgICAgICAgICAgICAgICAgICAgIGFwcGVuZGVkIHRvIHRoZSBoaXN0b3J5IGZpbGUgc2luY2UgdGhlIGJlZ2lubmluZyAgb2YgIHRoZQogICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBiCGJhCGFzCHNoCGggc2Vzc2lvbi4KICAgICAgICAgICAgICAgLQgtcghyICAgICBSZWFkIHRoZSBjb250ZW50cyBvZiB0aGUgaGlzdG9yeSBmaWxlIGFuZCB1c2UgdGhlbSBhcyB0aGUKICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgaGlzdG9yeS4KLSAgICAgICAgICAgICAgLQgtdwh3ICAgICBXcml0ZSAgdGhlIGN1cnJlbnQgaGlzdG9yeSB0byB0aGUgaGlzdG9yeSBmaWxlLCBvdmVyd3JpdC0KKyAgICAgICAgICAgICAgLQgtdwh3ICAgICBXcml0ZSB0aGUgY3VycmVudCBoaXN0b3J5IHRvIHRoZSBoaXN0b3J5IGZpbGUsICBvdmVyd3JpdC0KICAgICAgICAgICAgICAgICAgICAgIGluZyB0aGUgaGlzdG9yeSBmaWxlJ3MgY29udGVudHMuCi0gICAgICAgICAgICAgIC0ILXAIcCAgICAgUGVyZm9ybSBoaXN0b3J5IHN1YnN0aXR1dGlvbiBvbiB0aGUgIGZvbGxvd2luZyAgXwhhXwhyXwhnXwhzICBhbmQKLSAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgIHRoZSAgcmVzdWx0ICBvbiAgdGhlICBzdGFuZGFyZCBvdXRwdXQuICBEb2VzIG5vdAotICAgICAgICAgICAgICAgICAgICAgc3RvcmUgdGhlIHJlc3VsdHMgaW4gdGhlIGhpc3RvcnkgbGlzdC4gIEVhY2ggXwhhXwhyXwhnIG11c3QgIGJlCisgICAgICAgICAgICAgIC0ILXAIcCAgICAgUGVyZm9ybSAgaGlzdG9yeSAgc3Vic3RpdHV0aW9uICBvbiB0aGUgZm9sbG93aW5nIF8IYV8Icl8IZ18IcyBhbmQKKyAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhlIHJlc3VsdCBvbiAgdGhlICBzdGFuZGFyZCAgb3V0cHV0LiAgIERvZXMgIG5vdAorICAgICAgICAgICAgICAgICAgICAgc3RvcmUgIHRoZSByZXN1bHRzIGluIHRoZSBoaXN0b3J5IGxpc3QuICBFYWNoIF8IYV8Icl8IZyBtdXN0IGJlCiAgICAgICAgICAgICAgICAgICAgICBxdW90ZWQgdG8gZGlzYWJsZSBub3JtYWwgaGlzdG9yeSBleHBhbnNpb24uCi0gICAgICAgICAgICAgIC0ILXMIcyAgICAgU3RvcmUgIHRoZSAgXwhhXwhyXwhnXwhzICBpbiAgdGhlIGhpc3RvcnkgbGlzdCBhcyBhIHNpbmdsZSBlbnRyeS4KLSAgICAgICAgICAgICAgICAgICAgIFRoZSBsYXN0IGNvbW1hbmQgaW4gdGhlIGhpc3RvcnkgbGlzdCAgaXMgIHJlbW92ZWQgIGJlZm9yZQorICAgICAgICAgICAgICAtCC1zCHMgICAgIFN0b3JlIHRoZSBfCGFfCHJfCGdfCHMgaW4gdGhlIGhpc3RvcnkgbGlzdCAgYXMgIGEgIHNpbmdsZSAgZW50cnkuCisgICAgICAgICAgICAgICAgICAgICBUaGUgIGxhc3QgIGNvbW1hbmQgIGluIHRoZSBoaXN0b3J5IGxpc3QgaXMgcmVtb3ZlZCBiZWZvcmUKICAgICAgICAgICAgICAgICAgICAgIHRoZSBfCGFfCHJfCGdfCHMgYXJlIGFkZGVkLgogCi0gICAgICAgICAgICAgIElmIHRoZSBICEhJCElTCFNUCFRUCFRJCElNCE1FCEVGCEZPCE9SCFJNCE1BCEFUCFQgaXMgc2V0LCB0aGUgdGltZSBzdGFtcCBpbmZvcm1hdGlvbiBhc3NvY2ktCi0gICAgICAgICAgICAgIGF0ZWQgd2l0aCBlYWNoIGhpc3RvcnkgZW50cnkgaXMgd3JpdHRlbiAgdG8gIHRoZSAgaGlzdG9yeSAgZmlsZSwKLSAgICAgICAgICAgICAgbWFya2VkICB3aXRoICB0aGUgIGhpc3RvcnkgIGNvbW1lbnQgY2hhcmFjdGVyLiAgV2hlbiB0aGUgaGlzdG9yeQotICAgICAgICAgICAgICBmaWxlIGlzIHJlYWQsIGxpbmVzIGJlZ2lubmluZyB3aXRoIHRoZSBoaXN0b3J5IGNvbW1lbnQgY2hhcmFjdGVyCi0gICAgICAgICAgICAgIGZvbGxvd2VkICBpbW1lZGlhdGVseSAgYnkgIGEgZGlnaXQgYXJlIGludGVycHJldGVkIGFzIHRpbWVzdGFtcHMKLSAgICAgICAgICAgICAgZm9yIHRoZSBwcmV2aW91cyBoaXN0b3J5IGxpbmUuICBUaGUgcmV0dXJuIHZhbHVlIGlzIDAgdW5sZXNzICBhbgotICAgICAgICAgICAgICBpbnZhbGlkICBvcHRpb24gaXMgZW5jb3VudGVyZWQsIGFuIGVycm9yIG9jY3VycyB3aGlsZSByZWFkaW5nIG9yCi0gICAgICAgICAgICAgIHdyaXRpbmcgdGhlIGhpc3RvcnkgZmlsZSwgYW4gaW52YWxpZCBfCG9fCGZfCGZfCHNfCGVfCHQgaXMgIHN1cHBsaWVkICBhcyAgYW4KLSAgICAgICAgICAgICAgYXJndW1lbnQgdG8gLQgtZAhkLCBvciB0aGUgaGlzdG9yeSBleHBhbnNpb24gc3VwcGxpZWQgYXMgYW4gYXJndW1lbnQKLSAgICAgICAgICAgICAgdG8gLQgtcAhwIGZhaWxzLgorICAgICAgICAgICAgICBJZiB0aGUgSAhISQhJUwhTVAhUVAhUSQhJTQhNRQhFRghGTwhPUghSTQhNQQhBVAhUIHZhcmlhYmxlIGlzIHNldCwgdGhlIHRpbWUgIHN0YW1wICBpbmZvcm1hLQorICAgICAgICAgICAgICB0aW9uICBhc3NvY2lhdGVkICB3aXRoIGVhY2ggaGlzdG9yeSBlbnRyeSBpcyB3cml0dGVuIHRvIHRoZSBoaXMtCisgICAgICAgICAgICAgIHRvcnkgZmlsZSwgbWFya2VkIHdpdGggdGhlIGhpc3RvcnkgY29tbWVudCBjaGFyYWN0ZXIuICBXaGVuICB0aGUKKyAgICAgICAgICAgICAgaGlzdG9yeSAgZmlsZSAgaXMgcmVhZCwgbGluZXMgYmVnaW5uaW5nIHdpdGggdGhlIGhpc3RvcnkgY29tbWVudAorICAgICAgICAgICAgICBjaGFyYWN0ZXIgZm9sbG93ZWQgaW1tZWRpYXRlbHkgYnkgYSAgZGlnaXQgIGFyZSAgaW50ZXJwcmV0ZWQgIGFzCisgICAgICAgICAgICAgIHRpbWVzdGFtcHMgZm9yIHRoZSBwcmV2aW91cyBoaXN0b3J5IGxpbmUuICBUaGUgcmV0dXJuIHZhbHVlIGlzIDAKKyAgICAgICAgICAgICAgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGVuY291bnRlcmVkLCBhbiBlcnJvciAgb2NjdXJzICB3aGlsZQorICAgICAgICAgICAgICByZWFkaW5nICBvciAgd3JpdGluZyB0aGUgaGlzdG9yeSBmaWxlLCBhbiBpbnZhbGlkIF8Ib18IZl8IZl8Ic18IZV8IdCBpcyBzdXAtCisgICAgICAgICAgICAgIHBsaWVkIGFzIGFuIGFyZ3VtZW50IHRvIC0ILWQIZCwgb3IgdGhlIGhpc3RvcnkgZXhwYW5zaW9uIHN1cHBsaWVkIGFzCisgICAgICAgICAgICAgIGFuIGFyZ3VtZW50IHRvIC0ILXAIcCBmYWlscy4KIAogICAgICAgIGoIam8Ib2IIYnMIcyBbLQgtbAhsbghucAhwcghycwhzXSBbIF8Ial8Ib18IYl8Ic18IcF8IZV8IYyAuLi4gXQogICAgICAgIGoIam8Ib2IIYnMIcyAtCC14CHggXwhjXwhvXwhtXwhtXwhhXwhuXwhkIFsgXwhhXwhyXwhnXwhzIC4uLiBdCiAgICAgICAgICAgICAgIFRoZSBmaXJzdCBmb3JtIGxpc3RzIHRoZSBhY3RpdmUgam9icy4gIFRoZSBvcHRpb25zIGhhdmUgdGhlIGZvbC0KICAgICAgICAgICAgICAgbG93aW5nIG1lYW5pbmdzOgogICAgICAgICAgICAgICAtCC1sCGwgICAgIExpc3QgcHJvY2VzcyBJRHMgaW4gYWRkaXRpb24gdG8gdGhlIG5vcm1hbCBpbmZvcm1hdGlvbi4KLSAgICAgICAgICAgICAgLQgtcAhwICAgICBMaXN0ICBvbmx5ICB0aGUgIHByb2Nlc3MgIElEICBvZiAgdGhlIGpvYidzIHByb2Nlc3MgZ3JvdXAKKyAgICAgICAgICAgICAgLQgtcAhwICAgICBMaXN0IG9ubHkgdGhlIHByb2Nlc3MgIElEICBvZiAgdGhlICBqb2IncyAgcHJvY2VzcyAgZ3JvdXAKICAgICAgICAgICAgICAgICAgICAgIGxlYWRlci4KLSAgICAgICAgICAgICAgLQgtbghuICAgICBEaXNwbGF5IGluZm9ybWF0aW9uIG9ubHkgYWJvdXQgIGpvYnMgIHRoYXQgIGhhdmUgIGNoYW5nZWQKLSAgICAgICAgICAgICAgICAgICAgIHN0YXR1cyAgc2luY2UgdGhlIHVzZXIgd2FzIGxhc3Qgbm90aWZpZWQgb2YgdGhlaXIgc3RhdHVzLgorICAgICAgICAgICAgICAtCC1uCG4gICAgIERpc3BsYXkgIGluZm9ybWF0aW9uICBvbmx5ICBhYm91dCAgam9icyB0aGF0IGhhdmUgY2hhbmdlZAorICAgICAgICAgICAgICAgICAgICAgc3RhdHVzIHNpbmNlIHRoZSB1c2VyIHdhcyBsYXN0IG5vdGlmaWVkIG9mIHRoZWlyICBzdGF0dXMuCiAgICAgICAgICAgICAgIC0ILXIIciAgICAgUmVzdHJpY3Qgb3V0cHV0IHRvIHJ1bm5pbmcgam9icy4KICAgICAgICAgICAgICAgLQgtcwhzICAgICBSZXN0cmljdCBvdXRwdXQgdG8gc3RvcHBlZCBqb2JzLgogCi0gICAgICAgICAgICAgIElmIF8Ial8Ib18IYl8Ic18IcF8IZV8IYyBpcyBnaXZlbiwgb3V0cHV0IGlzIHJlc3RyaWN0ZWQgdG8gIGluZm9ybWF0aW9uICBhYm91dAotICAgICAgICAgICAgICB0aGF0ICBqb2IuICAgVGhlICByZXR1cm4gc3RhdHVzIGlzIDAgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzCisgICAgICAgICAgICAgIElmICBfCGpfCG9fCGJfCHNfCHBfCGVfCGMgIGlzIGdpdmVuLCBvdXRwdXQgaXMgcmVzdHJpY3RlZCB0byBpbmZvcm1hdGlvbiBhYm91dAorICAgICAgICAgICAgICB0aGF0IGpvYi4gIFRoZSByZXR1cm4gc3RhdHVzIGlzIDAgdW5sZXNzIGFuICBpbnZhbGlkICBvcHRpb24gIGlzCiAgICAgICAgICAgICAgIGVuY291bnRlcmVkIG9yIGFuIGludmFsaWQgXwhqXwhvXwhiXwhzXwhwXwhlXwhjIGlzIHN1cHBsaWVkLgogCiAgICAgICAgICAgICAgIElmIHRoZSAtCC14CHggb3B0aW9uIGlzIHN1cHBsaWVkLCBqCGpvCG9iCGJzCHMgcmVwbGFjZXMgYW55IF8Ial8Ib18IYl8Ic18IcF8IZV8IYyBmb3VuZCBpbgotICAgICAgICAgICAgICBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgIG9yICBfCGFfCHJfCGdfCHMgIHdpdGggIHRoZSBjb3JyZXNwb25kaW5nIHByb2Nlc3MgZ3JvdXAgSUQsIGFuZAorICAgICAgICAgICAgICBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgb3IgXwhhXwhyXwhnXwhzIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgIHByb2Nlc3MgIGdyb3VwICBJRCwgIGFuZAogICAgICAgICAgICAgICBleGVjdXRlcyBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgcGFzc2luZyBpdCBfCGFfCHJfCGdfCHMsIHJldHVybmluZyBpdHMgZXhpdCBzdGF0dXMuCiAKICAgICAgICBrCGtpCGlsCGxsCGwgWy0ILXMIcyBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgfCAtCC1uCG4gXwhzXwhpXwhnXwhuXwh1XwhtIHwgLQgtXwhzXwhpXwhnXwhzXwhwXwhlXwhjXSBbXwhwXwhpXwhkIHwgXwhqXwhvXwhiXwhzXwhwXwhlXwhjXSAuLi4KICAgICAgICBrCGtpCGlsCGxsCGwgLQgtbAhsIFtfCHNfCGlfCGdfCHNfCHBfCGVfCGMgfCBfCGVfCHhfCGlfCHRfCF9fCHNfCHRfCGFfCHRfCHVfCHNdCi0gICAgICAgICAgICAgIFNlbmQgdGhlIHNpZ25hbCBuYW1lZCBieSBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgIG9yICBfCHNfCGlfCGdfCG5fCHVfCG0gIHRvICB0aGUgIHByb2Nlc3NlcwotICAgICAgICAgICAgICBuYW1lZCAgYnkgIF8IcF8IaV8IZCBvciBfCGpfCG9fCGJfCHNfCHBfCGVfCGMuICBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgaXMgZWl0aGVyIGEgY2FzZS1pbnNlbnNpdGl2ZQotICAgICAgICAgICAgICBzaWduYWwgbmFtZSBzdWNoIGFzIFMIU0kISUcIR0sIS0kISUwITEwITCAod2l0aCBvciB3aXRob3V0IHRoZSBTCFNJCElHCEcgcHJlZml4KSAgb3IKLSAgICAgICAgICAgICAgYSAgc2lnbmFsICBudW1iZXI7IF8Ic18IaV8IZ18Ibl8IdV8IbSBpcyBhIHNpZ25hbCBudW1iZXIuICBJZiBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgaXMgbm90Ci0gICAgICAgICAgICAgIHByZXNlbnQsIHRoZW4gUwhTSQhJRwhHVAhURQhFUghSTQhNIGlzIGFzc3VtZWQuICBBbiBhcmd1bWVudCBvZiAtCC1sCGwgIGxpc3RzICB0aGUKLSAgICAgICAgICAgICAgc2lnbmFsICBuYW1lcy4gICBJZiBhbnkgYXJndW1lbnRzIGFyZSBzdXBwbGllZCB3aGVuIC0ILWwIbCBpcyBnaXZlbiwKLSAgICAgICAgICAgICAgdGhlIG5hbWVzIG9mIHRoZSBzaWduYWxzICBjb3JyZXNwb25kaW5nICB0byAgdGhlICBhcmd1bWVudHMgIGFyZQorICAgICAgICAgICAgICBTZW5kICB0aGUgIHNpZ25hbCAgbmFtZWQgIGJ5ICBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgb3IgXwhzXwhpXwhnXwhuXwh1XwhtIHRvIHRoZSBwcm9jZXNzZXMKKyAgICAgICAgICAgICAgbmFtZWQgYnkgXwhwXwhpXwhkIG9yIF8Ial8Ib18IYl8Ic18IcF8IZV8IYy4gIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyBpcyBlaXRoZXIgIGEgIGNhc2UtaW5zZW5zaXRpdmUKKyAgICAgICAgICAgICAgc2lnbmFsICBuYW1lIHN1Y2ggYXMgUwhTSQhJRwhHSwhLSQhJTAhMTAhMICh3aXRoIG9yIHdpdGhvdXQgdGhlIFMIU0kISUcIRyBwcmVmaXgpIG9yCisgICAgICAgICAgICAgIGEgc2lnbmFsIG51bWJlcjsgXwhzXwhpXwhnXwhuXwh1XwhtIGlzIGEgc2lnbmFsIG51bWJlci4gIElmIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyAgaXMgIG5vdAorICAgICAgICAgICAgICBwcmVzZW50LCAgdGhlbiAgUwhTSQhJRwhHVAhURQhFUghSTQhNIGlzIGFzc3VtZWQuICBBbiBhcmd1bWVudCBvZiAtCC1sCGwgbGlzdHMgdGhlCisgICAgICAgICAgICAgIHNpZ25hbCBuYW1lcy4gIElmIGFueSBhcmd1bWVudHMgYXJlIHN1cHBsaWVkIHdoZW4gLQgtbAhsICBpcyAgZ2l2ZW4sCisgICAgICAgICAgICAgIHRoZSAgbmFtZXMgIG9mICB0aGUgIHNpZ25hbHMgIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGFyZ3VtZW50cyBhcmUKICAgICAgICAgICAgICAgbGlzdGVkLCBhbmQgdGhlIHJldHVybiBzdGF0dXMgaXMgMC4gIFRoZSBfCGVfCHhfCGlfCHRfCF9fCHNfCHRfCGFfCHRfCHVfCHMgYXJndW1lbnQgdG8KLSAgICAgICAgICAgICAgLQgtbAhsIGlzIGEgbnVtYmVyIHNwZWNpZnlpbmcgZWl0aGVyIGEgc2lnbmFsICBudW1iZXIgIG9yICB0aGUgIGV4aXQKLSAgICAgICAgICAgICAgc3RhdHVzICBvZiAgYSBwcm9jZXNzIHRlcm1pbmF0ZWQgYnkgYSBzaWduYWwuICBrCGtpCGlsCGxsCGwgcmV0dXJucyB0cnVlCi0gICAgICAgICAgICAgIGlmIGF0IGxlYXN0IG9uZSBzaWduYWwgd2FzIHN1Y2Nlc3NmdWxseSBzZW50LCAgb3IgIGZhbHNlICBpZiAgYW4KKyAgICAgICAgICAgICAgLQgtbAhsICBpcyAgYSAgbnVtYmVyICBzcGVjaWZ5aW5nIGVpdGhlciBhIHNpZ25hbCBudW1iZXIgb3IgdGhlIGV4aXQKKyAgICAgICAgICAgICAgc3RhdHVzIG9mIGEgcHJvY2VzcyB0ZXJtaW5hdGVkIGJ5IGEgc2lnbmFsLiAgawhraQhpbAhsbAhsICByZXR1cm5zICB0cnVlCisgICAgICAgICAgICAgIGlmICBhdCAgbGVhc3QgIG9uZSAgc2lnbmFsIHdhcyBzdWNjZXNzZnVsbHkgc2VudCwgb3IgZmFsc2UgaWYgYW4KICAgICAgICAgICAgICAgZXJyb3Igb2NjdXJzIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGVuY291bnRlcmVkLgogCiAgICAgICAgbAhsZQhldAh0IF8IYV8Icl8IZyBbXwhhXwhyXwhnIC4uLl0KICAgICAgICAgICAgICAgRWFjaCBfCGFfCHJfCGcgaXMgYW4gYXJpdGhtZXRpYyBleHByZXNzaW9uIHRvIGJlIGV2YWx1YXRlZCAoc2VlIEEIQVIIUkkISVQIVEgISC0ILQotICAgICAgICAgICAgICBNCE1FCEVUCFRJCElDCEMgRQhFVghWQQhBTAhMVQhVQQhBVAhUSQhJTwhPTghOKS4gIElmIHRoZSBsYXN0IF8IYV8Icl8IZyBldmFsdWF0ZXMgdG8gMCwgbAhsZQhldAh0ICByZXR1cm5zCi0gICAgICAgICAgICAgIDE7IDAgaXMgcmV0dXJuZWQgb3RoZXJ3aXNlLgorICAgICAgICAgICAgICBNCE1FCEVUCFRJCElDCEMgIEUIRVYIVkEIQUwITFUIVUEIQVQIVEkISU8IT04ITiAgYWJvdmUpLiAgIElmIHRoZSBsYXN0IF8IYV8Icl8IZyBldmFsdWF0ZXMgdG8gMCwgbAhsZQhldAh0CisgICAgICAgICAgICAgIHJldHVybnMgMTsgMCBpcyByZXR1cm5lZCBvdGhlcndpc2UuCiAKICAgICAgICBsCGxvCG9jCGNhCGFsCGwgW18Ib18IcF8IdF8IaV8Ib18Ibl0gW18Ibl8IYV8IbV8IZVs9Xwh2XwhhXwhsXwh1XwhlXSAuLi5dCi0gICAgICAgICAgICAgIEZvciAgZWFjaCAgYXJndW1lbnQsIGEgbG9jYWwgdmFyaWFibGUgbmFtZWQgXwhuXwhhXwhtXwhlIGlzIGNyZWF0ZWQsIGFuZAotICAgICAgICAgICAgICBhc3NpZ25lZCBfCHZfCGFfCGxfCHVfCGUuICBUaGUgXwhvXwhwXwh0XwhpXwhvXwhuIGNhbiBiZSBhbnkgb2YgdGhlICBvcHRpb25zICBhY2NlcHRlZAorICAgICAgICAgICAgICBGb3IgZWFjaCBhcmd1bWVudCwgYSBsb2NhbCB2YXJpYWJsZSBuYW1lZCBfCG5fCGFfCG1fCGUgaXMgIGNyZWF0ZWQsICBhbmQKKyAgICAgICAgICAgICAgYXNzaWduZWQgIF8Idl8IYV8IbF8IdV8IZS4gICBUaGUgXwhvXwhwXwh0XwhpXwhvXwhuIGNhbiBiZSBhbnkgb2YgdGhlIG9wdGlvbnMgYWNjZXB0ZWQKICAgICAgICAgICAgICAgYnkgZAhkZQhlYwhjbAhsYQhhcghyZQhlLiAgV2hlbiBsCGxvCG9jCGNhCGFsCGwgaXMgdXNlZCB3aXRoaW4gYSBmdW5jdGlvbiwgaXQgY2F1c2VzIHRoZQotICAgICAgICAgICAgICB2YXJpYWJsZSBfCG5fCGFfCG1fCGUgdG8gaGF2ZSBhIHZpc2libGUgc2NvcGUgcmVzdHJpY3RlZCB0byAgdGhhdCAgZnVuYy0KKyAgICAgICAgICAgICAgdmFyaWFibGUgIF8Ibl8IYV8IbV8IZSAgdG8gaGF2ZSBhIHZpc2libGUgc2NvcGUgcmVzdHJpY3RlZCB0byB0aGF0IGZ1bmMtCiAgICAgICAgICAgICAgIHRpb24gYW5kIGl0cyBjaGlsZHJlbi4gIFdpdGggbm8gb3BlcmFuZHMsIGwIbG8Ib2MIY2EIYWwIbCB3cml0ZXMgYSBsaXN0IG9mCi0gICAgICAgICAgICAgIGxvY2FsIHZhcmlhYmxlcyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LiAgSXQgaXMgYW4gZXJyb3IgIHRvICB1c2UKKyAgICAgICAgICAgICAgbG9jYWwgIHZhcmlhYmxlcyAgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC4gIEl0IGlzIGFuIGVycm9yIHRvIHVzZQogICAgICAgICAgICAgICBsCGxvCG9jCGNhCGFsCGwgd2hlbiBub3Qgd2l0aGluIGEgZnVuY3Rpb24uICBUaGUgcmV0dXJuIHN0YXR1cyBpcyAwIHVubGVzcwotICAgICAgICAgICAgICBsCGxvCG9jCGNhCGFsCGwgaXMgdXNlZCBvdXRzaWRlIGEgZnVuY3Rpb24sIGFuIGludmFsaWQgXwhuXwhhXwhtXwhlICBpcyAgc3VwcGxpZWQsCisgICAgICAgICAgICAgIGwIbG8Ib2MIY2EIYWwIbCAgaXMgIHVzZWQgb3V0c2lkZSBhIGZ1bmN0aW9uLCBhbiBpbnZhbGlkIF8Ibl8IYV8IbV8IZSBpcyBzdXBwbGllZCwKICAgICAgICAgICAgICAgb3IgXwhuXwhhXwhtXwhlIGlzIGEgcmVhZG9ubHkgdmFyaWFibGUuCiAKICAgICAgICBsCGxvCG9nCGdvCG91CHV0CHQgRXhpdCBhIGxvZ2luIHNoZWxsLgogCi0gICAgICAgbQhtYQhhcAhwZghmaQhpbAhsZQhlICBbLQgtbghuICBfCGNfCG9fCHVfCG5fCHRdICBbLQgtTwhPIF8Ib18Icl8IaV8IZ18IaV8Ibl0gWy0ILXMIcyBfCGNfCG9fCHVfCG5fCHRdIFstCC10CHRdIFstCC11CHUgXwhmXwhkXSBbLQgtQwhDIF8IY18IYV8IbF8IbF8IYl8IYV8IY18Ia10KKyAgICAgICBtCG1hCGFwCHBmCGZpCGlsCGxlCGUgWy0ILW4IbiBfCGNfCG9fCHVfCG5fCHRdIFstCC1PCE8gXwhvXwhyXwhpXwhnXwhpXwhuXSBbLQgtcwhzIF8IY18Ib18IdV8Ibl8IdF0gWy0ILXQIdF0gWy0ILXUIdSAgXwhmXwhkXSAgWy0ILUMIQyAgXwhjXwhhXwhsXwhsXwhiXwhhXwhjXwhrXQogICAgICAgIFstCC1jCGMgXwhxXwh1XwhhXwhuXwh0Xwh1XwhtXSBbXwhhXwhyXwhyXwhhXwh5XQotICAgICAgIHIIcmUIZWEIYWQIZGEIYXIIcnIIcmEIYXkIeSAgWy0ILW4IbiBfCGNfCG9fCHVfCG5fCHRdIFstCC1PCE8gXwhvXwhyXwhpXwhnXwhpXwhuXSBbLQgtcwhzIF8IY18Ib18IdV8Ibl8IdF0gWy0ILXQIdF0gWy0ILXUIdSBfCGZfCGRdIFstCC1DCEMgXwhjXwhhXwhsXwhsXwhiXwhhXwhjXwhrXQorICAgICAgIHIIcmUIZWEIYWQIZGEIYXIIcnIIcmEIYXkIeSBbLQgtbghuIF8IY18Ib18IdV8Ibl8IdF0gWy0ILU8ITyBfCG9fCHJfCGlfCGdfCGlfCG5dIFstCC1zCHMgXwhjXwhvXwh1XwhuXwh0XSBbLQgtdAh0XSBbLQgtdQh1IF8IZl8IZF0gWy0ILUMIQyAgXwhjXwhhXwhsXwhsXwhiXwhhXwhjXwhrXQogICAgICAgIFstCC1jCGMgXwhxXwh1XwhhXwhuXwh0Xwh1XwhtXSBbXwhhXwhyXwhyXwhhXwh5XQotICAgICAgICAgICAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYXJyYXkgdmFyaWFibGUgXwhhXwhyXwhyXwhhXwh5LCBvcgotICAgICAgICAgICAgICBmcm9tIGZpbGUgZGVzY3JpcHRvciBfCGZfCGQgaWYgdGhlIC0ILXUIdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaS0KLSAgICAgICAgICAgICAgYWJsZSAgTQhNQQhBUAhQRghGSQhJTAhMRQhFICBpcyB0aGUgZGVmYXVsdCBfCGFfCHJfCHJfCGFfCHkuICBPcHRpb25zLCBpZiBzdXBwbGllZCwgaGF2ZQotICAgICAgICAgICAgICB0aGUgZm9sbG93aW5nIG1lYW5pbmdzOgotICAgICAgICAgICAgICAtCC1uCG4gICAgIENvcHkgYXQgbW9zdCBfCGNfCG9fCHVfCG5fCHQgbGluZXMuICBJZiBfCGNfCG9fCHVfCG5fCHQgaXMgMCwgYWxsICBsaW5lcyAgYXJlCisgICAgICAgICAgICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgaW5kZXhlZCBhcnJheSAgdmFyaS0KKyAgICAgICAgICAgICAgYWJsZSAgXwhhXwhyXwhyXwhhXwh5LCBvciBmcm9tIGZpbGUgZGVzY3JpcHRvciBfCGZfCGQgaWYgdGhlIC0ILXUIdSBvcHRpb24gaXMgc3VwLQorICAgICAgICAgICAgICBwbGllZC4gIFRoZSB2YXJpYWJsZSBNCE1BCEFQCFBGCEZJCElMCExFCEUgaXMgdGhlIGRlZmF1bHQgXwhhXwhyXwhyXwhhXwh5LiAgT3B0aW9ucywgIGlmCisgICAgICAgICAgICAgIHN1cHBsaWVkLCBoYXZlIHRoZSBmb2xsb3dpbmcgbWVhbmluZ3M6CisgICAgICAgICAgICAgIC0ILW4IbiAgICAgQ29weSAgYXQgIG1vc3QgXwhjXwhvXwh1XwhuXwh0IGxpbmVzLiAgSWYgXwhjXwhvXwh1XwhuXwh0IGlzIDAsIGFsbCBsaW5lcyBhcmUKICAgICAgICAgICAgICAgICAgICAgIGNvcGllZC4KLSAgICAgICAgICAgICAgLQgtTwhPICAgICBCZWdpbiAgYXNzaWduaW5nICB0byAgXwhhXwhyXwhyXwhhXwh5IGF0IGluZGV4IF8Ib18Icl8IaV8IZ18IaV8Ibi4gIFRoZSBkZWZhdWx0CisgICAgICAgICAgICAgIC0ILU8ITyAgICAgQmVnaW4gYXNzaWduaW5nIHRvIF8IYV8Icl8Icl8IYV8IeSBhdCBpbmRleCAgXwhvXwhyXwhpXwhnXwhpXwhuLiAgIFRoZSAgZGVmYXVsdAogICAgICAgICAgICAgICAgICAgICAgaW5kZXggaXMgMC4KICAgICAgICAgICAgICAgLQgtcwhzICAgICBEaXNjYXJkIHRoZSBmaXJzdCBfCGNfCG9fCHVfCG5fCHQgbGluZXMgcmVhZC4KLSAgICAgICAgICAgICAgLQgtdAh0ICAgICBSZW1vdmUgYSB0cmFpbGluZyBsaW5lIGZyb20gZWFjaCBsaW5lIHJlYWQuCi0gICAgICAgICAgICAgIC0ILXUIdSAgICAgUmVhZCBsaW5lcyBmcm9tIGZpbGUgZGVzY3JpcHRvciBfCGZfCGQgaW5zdGVhZCBvZiAgdGhlICBzdGFuLQorICAgICAgICAgICAgICAtCC10CHQgICAgIFJlbW92ZSBhIHRyYWlsaW5nIG5ld2xpbmUgZnJvbSBlYWNoIGxpbmUgcmVhZC4KKyAgICAgICAgICAgICAgLQgtdQh1ICAgICBSZWFkICBsaW5lcyAgZnJvbSBmaWxlIGRlc2NyaXB0b3IgXwhmXwhkIGluc3RlYWQgb2YgdGhlIHN0YW4tCiAgICAgICAgICAgICAgICAgICAgICBkYXJkIGlucHV0LgotICAgICAgICAgICAgICAtCC1DCEMgICAgIEV2YWx1YXRlICBfCGNfCGFfCGxfCGxfCGJfCGFfCGNfCGsgZWFjaCB0aW1lIF8IcV8IdV8IYV8Ibl8IdF8IdV8IbSBsaW5lcyBhcmUgcmVhZC4gIFRoZQorICAgICAgICAgICAgICAtCC1DCEMgICAgIEV2YWx1YXRlIF8IY18IYV8IbF8IbF8IYl8IYV8IY18IayBlYWNoIHRpbWUgXwhxXwh1XwhhXwhuXwh0Xwh1XwhtIGxpbmVzIGFyZSByZWFkLiAgIFRoZQogICAgICAgICAgICAgICAgICAgICAgLQgtYwhjIG9wdGlvbiBzcGVjaWZpZXMgXwhxXwh1XwhhXwhuXwh0Xwh1XwhtLgotICAgICAgICAgICAgICAtCC1jCGMgICAgIFNwZWNpZnkgdGhlIG51bWJlciBvZiBsaW5lcyByZWFkICBiZXR3ZWVuICBlYWNoICBjYWxsICB0bworICAgICAgICAgICAgICAtCC1jCGMgICAgIFNwZWNpZnkgIHRoZSAgbnVtYmVyICBvZiAgbGluZXMgcmVhZCBiZXR3ZWVuIGVhY2ggY2FsbCB0bwogICAgICAgICAgICAgICAgICAgICAgXwhjXwhhXwhsXwhsXwhiXwhhXwhjXwhrLgogCi0gICAgICAgICAgICAgIElmICAtCC1DCEMgIGlzICBzcGVjaWZpZWQgIHdpdGhvdXQgIC0ILWMIYywgdGhlIGRlZmF1bHQgcXVhbnR1bSBpcyA1MDAwLgorICAgICAgICAgICAgICBJZiAtCC1DCEMgaXMgc3BlY2lmaWVkIHdpdGhvdXQgLQgtYwhjLCAgdGhlICBkZWZhdWx0ICBxdWFudHVtICBpcyAgNTAwMC4KICAgICAgICAgICAgICAgV2hlbiBfCGNfCGFfCGxfCGxfCGJfCGFfCGNfCGsgaXMgZXZhbHVhdGVkLCBpdCBpcyBzdXBwbGllZCB0aGUgaW5kZXggb2YgdGhlIG5leHQKLSAgICAgICAgICAgICAgYXJyYXkgIGVsZW1lbnQgIHRvIGJlIGFzc2lnbmVkIGFzIGFuIGFkZGl0aW9uYWwgYXJndW1lbnQuICBfCGNfCGFfCGxfCGxfCC0KLSAgICAgICAgICAgICAgXwhiXwhhXwhjXwhrIGlzIGV2YWx1YXRlZCBhZnRlciB0aGUgbGluZSBpcyByZWFkIGJ1dCAgYmVmb3JlICB0aGUgIGFycmF5CisgICAgICAgICAgICAgIGFycmF5IGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYXMgYW4gYWRkaXRpb25hbCAgYXJndW1lbnQuICAgXwhjXwhhXwhsXwhsXwgtCisgICAgICAgICAgICAgIF8IYl8IYV8IY18IayAgaXMgIGV2YWx1YXRlZCAgYWZ0ZXIgdGhlIGxpbmUgaXMgcmVhZCBidXQgYmVmb3JlIHRoZSBhcnJheQogICAgICAgICAgICAgICBlbGVtZW50IGlzIGFzc2lnbmVkLgogCi0gICAgICAgICAgICAgIElmICBub3QgIHN1cHBsaWVkICB3aXRoICBhbiAgZXhwbGljaXQgb3JpZ2luLCBtCG1hCGFwCHBmCGZpCGlsCGxlCGUgd2lsbCBjbGVhcgorICAgICAgICAgICAgICBJZiBub3Qgc3VwcGxpZWQgd2l0aCBhbiAgZXhwbGljaXQgIG9yaWdpbiwgIG0IbWEIYXAIcGYIZmkIaWwIbGUIZSAgd2lsbCAgY2xlYXIKICAgICAgICAgICAgICAgXwhhXwhyXwhyXwhhXwh5IGJlZm9yZSBhc3NpZ25pbmcgdG8gaXQuCiAKLSAgICAgICAgICAgICAgbQhtYQhhcAhwZghmaQhpbAhsZQhlIHJldHVybnMgc3VjY2Vzc2Z1bGx5IHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBvciAgb3B0aW9uCi0gICAgICAgICAgICAgIGFyZ3VtZW50IGlzIHN1cHBsaWVkLCBvciBfCGFfCHJfCHJfCGFfCHkgaXMgaW52YWxpZCBvciB1bmFzc2lnbmFibGUuCisgICAgICAgICAgICAgIG0IbWEIYXAIcGYIZmkIaWwIbGUIZSAgcmV0dXJucyBzdWNjZXNzZnVsbHkgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIG9yIG9wdGlvbgorICAgICAgICAgICAgICBhcmd1bWVudCBpcyBzdXBwbGllZCwgXwhhXwhyXwhyXwhhXwh5IGlzIGludmFsaWQgb3IgIHVuYXNzaWduYWJsZSwgIG9yICBpZgorICAgICAgICAgICAgICBfCGFfCHJfCHJfCGFfCHkgaXMgbm90IGFuIGluZGV4ZWQgYXJyYXkuCiAKICAgICAgICBwCHBvCG9wCHBkCGQgWy1uCG5dIFsrXwhuXSBbLV8Ibl0KICAgICAgICAgICAgICAgUmVtb3ZlcyAgZW50cmllcyAgZnJvbSAgdGhlIGRpcmVjdG9yeSBzdGFjay4gIFdpdGggbm8gYXJndW1lbnRzLApAQCAtODQ2LDggKzg2MCw4IEBACiAgICAgICAgICAgICAgIG9jY3VycyB3aGlsZSByZWFkaW5nIHRoZSBuYW1lIG9mIHRoZSAgY3VycmVudCAgZGlyZWN0b3J5ICBvciAgYW4KICAgICAgICAgICAgICAgaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQuCiAKLSAgICAgICByCHJlCGVhCGFkCGQgIFstCC1lCGVyCHJzCHNdIFstCC1hCGEgXwhhXwhuXwhhXwhtXwhlXSBbLQgtZAhkIF8IZF8IZV8IbF8IaV8IbV0gWy0ILSBfCHRfCGVfCHhfCHRdIFstCC1uCG4gXwhuXwhjXwhoXwhhXwhyXwhzXSBbLQgtcAhwIF8IcF8Icl8Ib18IbV8IcF8IdF0gWy0ILXQIdAotICAgICAgIF8IdF8IaV8IbV8IZV8Ib18IdV8IdF0gWy0ILXUIdSBfCGZfCGRdIFtfCG5fCGFfCG1fCGUgLi4uXQorICAgICAgIHIIcmUIZWEIYWQIZCBbLQgtZQhlcghycwhzXSBbLQgtYQhhIF8IYV8Ibl8IYV8IbV8IZV0gWy0ILWQIZCBfCGRfCGVfCGxfCGlfCG1dIFstCC1pCGkgXwh0XwhlXwh4Xwh0XSBbLQgtbghuIF8Ibl8IY18IaF8IYV8Icl8Ic10gWy0ILU4ITiBfCG5fCGNfCGhfCGFfCHJfCHNdIFstCC1wCHAKKyAgICAgICBfCHBfCHJfCG9fCG1fCHBfCHRdIFstCC10CHQgXwh0XwhpXwhtXwhlXwhvXwh1Xwh0XSBbLQgtdQh1IF8IZl8IZF0gW18Ibl8IYV8IbV8IZSAuLi5dCiAgICAgICAgICAgICAgIE9uZSAgbGluZSAgaXMgIHJlYWQgIGZyb20gIHRoZSAgc3RhbmRhcmQgaW5wdXQsIG9yIGZyb20gdGhlIGZpbGUKICAgICAgICAgICAgICAgZGVzY3JpcHRvciBfCGZfCGQgc3VwcGxpZWQgYXMgYW4gYXJndW1lbnQgdG8gdGhlIC0ILXUIdSBvcHRpb24sIGFuZCAgdGhlCiAgICAgICAgICAgICAgIGZpcnN0IHdvcmQgaXMgYXNzaWduZWQgdG8gdGhlIGZpcnN0IF8Ibl8IYV8IbV8IZSwgdGhlIHNlY29uZCB3b3JkIHRvIHRoZQpAQCAtODc2LDkzICs4OTAsMTA3IEBACiAgICAgICAgICAgICAgICAgICAgICBwbGFjZWQgaW50byB0aGUgZWRpdGluZyBidWZmZXIgYmVmb3JlIGVkaXRpbmcgYmVnaW5zLgogICAgICAgICAgICAgICAtCC1uCG4gXwhuXwhjXwhoXwhhXwhyXwhzCiAgICAgICAgICAgICAgICAgICAgICByCHJlCGVhCGFkCGQgIHJldHVybnMgYWZ0ZXIgcmVhZGluZyBfCG5fCGNfCGhfCGFfCHJfCHMgY2hhcmFjdGVycyByYXRoZXIgdGhhbgotICAgICAgICAgICAgICAgICAgICAgd2FpdGluZyBmb3IgYSBjb21wbGV0ZSBsaW5lIG9mIGlucHV0LgorICAgICAgICAgICAgICAgICAgICAgd2FpdGluZyBmb3IgYSBjb21wbGV0ZSBsaW5lIG9mIGlucHV0LCBidXQgaG9ub3IgYSAgZGVsaW0tCisgICAgICAgICAgICAgICAgICAgICBpdGVyICBpZiBmZXdlciB0aGFuIF8Ibl8IY18IaF8IYV8Icl8IcyBjaGFyYWN0ZXJzIGFyZSByZWFkIGJlZm9yZSB0aGUKKyAgICAgICAgICAgICAgICAgICAgIGRlbGltaXRlci4KKyAgICAgICAgICAgICAgLQgtTghOIF8Ibl8IY18IaF8IYV8Icl8IcworICAgICAgICAgICAgICAgICAgICAgcghyZQhlYQhhZAhkIHJldHVybnMgIGFmdGVyICByZWFkaW5nICBleGFjdGx5ICBfCG5fCGNfCGhfCGFfCHJfCHMgIGNoYXJhY3RlcnMKKyAgICAgICAgICAgICAgICAgICAgIHJhdGhlciAgdGhhbiB3YWl0aW5nIGZvciBhIGNvbXBsZXRlIGxpbmUgb2YgaW5wdXQsIHVubGVzcworICAgICAgICAgICAgICAgICAgICAgRU9GIGlzIGVuY291bnRlcmVkIG9yIHIIcmUIZWEIYWQIZCB0aW1lcyBvdXQuICBEZWxpbWl0ZXIgIGNoYXJhYy0KKyAgICAgICAgICAgICAgICAgICAgIHRlcnMgIGVuY291bnRlcmVkICBpbiB0aGUgaW5wdXQgYXJlIG5vdCB0cmVhdGVkIHNwZWNpYWxseQorICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjYXVzZSByCHJlCGVhCGFkCGQgdG8gcmV0dXJuIHVudGlsICBfCG5fCGNfCGhfCGFfCHJfCHMgIGNoYXJhY3RlcnMKKyAgICAgICAgICAgICAgICAgICAgIGFyZSByZWFkLgogICAgICAgICAgICAgICAtCC1wCHAgXwhwXwhyXwhvXwhtXwhwXwh0CiAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IF8IcF8Icl8Ib18IbV8IcF8IdCBvbiBzdGFuZGFyZCBlcnJvciwgd2l0aG91dCBhIHRyYWlsaW5nIG5ldy0KICAgICAgICAgICAgICAgICAgICAgIGxpbmUsIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHJlYWQgYW55IGlucHV0LiAgVGhlIHByb21wdCBpcwogICAgICAgICAgICAgICAgICAgICAgZGlzcGxheWVkIG9ubHkgaWYgaW5wdXQgaXMgY29taW5nIGZyb20gYSB0ZXJtaW5hbC4KICAgICAgICAgICAgICAgLQgtcghyICAgICBCYWNrc2xhc2ggZG9lcyBub3QgYWN0IGFzIGFuIGVzY2FwZSBjaGFyYWN0ZXIuICBUaGUgYmFjay0KLSAgICAgICAgICAgICAgICAgICAgIHNsYXNoICBpcyBjb25zaWRlcmVkIHRvIGJlIHBhcnQgb2YgdGhlIGxpbmUuICBJbiBwYXJ0aWN1LQotICAgICAgICAgICAgICAgICAgICAgbGFyLCBhIGJhY2tzbGFzaC1uZXdsaW5lIHBhaXIgbWF5IG5vdCBiZSB1c2VkIGFzICBhICBsaW5lCisgICAgICAgICAgICAgICAgICAgICBzbGFzaCBpcyBjb25zaWRlcmVkIHRvIGJlIHBhcnQgb2YgdGhlIGxpbmUuICBJbiAgcGFydGljdS0KKyAgICAgICAgICAgICAgICAgICAgIGxhciwgIGEgIGJhY2tzbGFzaC1uZXdsaW5lIHBhaXIgbWF5IG5vdCBiZSB1c2VkIGFzIGEgbGluZQogICAgICAgICAgICAgICAgICAgICAgY29udGludWF0aW9uLgogICAgICAgICAgICAgICAtCC1zCHMgICAgIFNpbGVudCBtb2RlLiAgSWYgaW5wdXQgaXMgY29taW5nIGZyb20gYSB0ZXJtaW5hbCwgY2hhcmFjLQogICAgICAgICAgICAgICAgICAgICAgdGVycyBhcmUgbm90IGVjaG9lZC4KICAgICAgICAgICAgICAgLQgtdAh0IF8IdF8IaV8IbV8IZV8Ib18IdV8IdAotICAgICAgICAgICAgICAgICAgICAgQ2F1c2UgcghyZQhlYQhhZAhkIHRvIHRpbWUgb3V0IGFuZCByZXR1cm4gZmFpbHVyZSBpZiAgYSAgY29tcGxldGUKLSAgICAgICAgICAgICAgICAgICAgIGxpbmUgIG9mIGlucHV0IGlzIG5vdCByZWFkIHdpdGhpbiBfCHRfCGlfCG1fCGVfCG9fCHVfCHQgc2Vjb25kcy4gIF8IdF8IaV8IbV8IZV8ILQotICAgICAgICAgICAgICAgICAgICAgXwhvXwh1Xwh0IG1heSBiZSBhIGRlY2ltYWwgbnVtYmVyICB3aXRoICBhICBmcmFjdGlvbmFsICBwb3J0aW9uCi0gICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgIHRoZSBkZWNpbWFsIHBvaW50LiAgVGhpcyBvcHRpb24gaXMgb25seSBlZmZlYy0KLSAgICAgICAgICAgICAgICAgICAgIHRpdmUgaWYgcghyZQhlYQhhZAhkIGlzIHJlYWRpbmcgaW5wdXQgZnJvbSBhIHRlcm1pbmFsLCAgcGlwZSwgIG9yCi0gICAgICAgICAgICAgICAgICAgICBvdGhlciAgc3BlY2lhbCAgZmlsZTsgIGl0IGhhcyBubyBlZmZlY3Qgd2hlbiByZWFkaW5nIGZyb20KLSAgICAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZXMuICBJZiBfCHRfCGlfCG1fCGVfCG9fCHVfCHQgaXMgMCwgcghyZQhlYQhhZAhkIHJldHVybnMgc3VjY2VzcyAgaWYKLSAgICAgICAgICAgICAgICAgICAgIGlucHV0ICBpcyAgYXZhaWxhYmxlICBvbiAgdGhlICBzcGVjaWZpZWQgZmlsZSBkZXNjcmlwdG9yLAotICAgICAgICAgICAgICAgICAgICAgZmFpbHVyZSBvdGhlcndpc2UuICBUaGUgZXhpdCBzdGF0dXMgaXMgZ3JlYXRlciAgdGhhbiAgMTI4CisgICAgICAgICAgICAgICAgICAgICBDYXVzZSAgcghyZQhlYQhhZAhkICB0byB0aW1lIG91dCBhbmQgcmV0dXJuIGZhaWx1cmUgaWYgYSBjb21wbGV0ZQorICAgICAgICAgICAgICAgICAgICAgbGluZSBvZiBpbnB1dCBpcyBub3QgcmVhZCB3aXRoaW4gXwh0XwhpXwhtXwhlXwhvXwh1Xwh0IHNlY29uZHMuICAgXwh0XwhpXwhtXwhlXwgtCisgICAgICAgICAgICAgICAgICAgICBfCG9fCHVfCHQgIG1heSAgYmUgIGEgIGRlY2ltYWwgbnVtYmVyIHdpdGggYSBmcmFjdGlvbmFsIHBvcnRpb24KKyAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyB0aGUgZGVjaW1hbCBwb2ludC4gIFRoaXMgb3B0aW9uIGlzIG9ubHkgIGVmZmVjLQorICAgICAgICAgICAgICAgICAgICAgdGl2ZSAgaWYgIHIIcmUIZWEIYWQIZCBpcyByZWFkaW5nIGlucHV0IGZyb20gYSB0ZXJtaW5hbCwgcGlwZSwgb3IKKyAgICAgICAgICAgICAgICAgICAgIG90aGVyIHNwZWNpYWwgZmlsZTsgaXQgaGFzIG5vIGVmZmVjdCAgd2hlbiAgcmVhZGluZyAgZnJvbQorICAgICAgICAgICAgICAgICAgICAgcmVndWxhciAgZmlsZXMuICBJZiBfCHRfCGlfCG1fCGVfCG9fCHVfCHQgaXMgMCwgcghyZQhlYQhhZAhkIHJldHVybnMgc3VjY2VzcyBpZgorICAgICAgICAgICAgICAgICAgICAgaW5wdXQgaXMgYXZhaWxhYmxlICBvbiAgdGhlICBzcGVjaWZpZWQgIGZpbGUgIGRlc2NyaXB0b3IsCisgICAgICAgICAgICAgICAgICAgICBmYWlsdXJlICBvdGhlcndpc2UuICAgVGhlIGV4aXQgc3RhdHVzIGlzIGdyZWF0ZXIgdGhhbiAxMjgKICAgICAgICAgICAgICAgICAgICAgIGlmIHRoZSB0aW1lb3V0IGlzIGV4Y2VlZGVkLgogICAgICAgICAgICAgICAtCC11CHUgXwhmXwhkICBSZWFkIGlucHV0IGZyb20gZmlsZSBkZXNjcmlwdG9yIF8IZl8IZC4KIAogICAgICAgICAgICAgICBJZiBubyBfCG5fCGFfCG1fCGVfCHMgYXJlIHN1cHBsaWVkLCB0aGUgbGluZSByZWFkIGlzIGFzc2lnbmVkIHRvIHRoZSB2YXJpLQotICAgICAgICAgICAgICBhYmxlIFIIUkUIRVAIUEwITFkIWS4gIFRoZSByZXR1cm4gY29kZSAgaXMgIHplcm8sICB1bmxlc3MgIGVuZC1vZi1maWxlICBpcwotICAgICAgICAgICAgICBlbmNvdW50ZXJlZCwgIHIIcmUIZWEIYWQIZCAgdGltZXMgIG91dCAoaW4gd2hpY2ggY2FzZSB0aGUgcmV0dXJuIGNvZGUgaXMKLSAgICAgICAgICAgICAgZ3JlYXRlciB0aGFuIDEyOCksIG9yIGFuIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIGlzIHN1cHBsaWVkICBhcworICAgICAgICAgICAgICBhYmxlICBSCFJFCEVQCFBMCExZCFkuICAgVGhlICByZXR1cm4gIGNvZGUgIGlzIHplcm8sIHVubGVzcyBlbmQtb2YtZmlsZSBpcworICAgICAgICAgICAgICBlbmNvdW50ZXJlZCwgcghyZQhlYQhhZAhkIHRpbWVzIG91dCAoaW4gd2hpY2ggY2FzZSB0aGUgIHJldHVybiAgY29kZSAgaXMKKyAgICAgICAgICAgICAgZ3JlYXRlciAgdGhhbiAxMjgpLCBvciBhbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBpcyBzdXBwbGllZCBhcwogICAgICAgICAgICAgICB0aGUgYXJndW1lbnQgdG8gLQgtdQh1LgogCiAgICAgICAgcghyZQhlYQhhZAhkbwhvbghubAhseQh5IFstCC1hCGFBCEFwCHBmCGZdIFtfCG5fCGFfCG1fCGVbPV8Id18Ib18Icl8IZF0gLi4uXQotICAgICAgICAgICAgICBUaGUgIGdpdmVuICBfCG5fCGFfCG1fCGVfCHMgYXJlIG1hcmtlZCByZWFkb25seTsgdGhlIHZhbHVlcyBvZiB0aGVzZSBfCG5fCGFfCG1fCGVfCHMKLSAgICAgICAgICAgICAgbWF5IG5vdCBiZSBjaGFuZ2VkIGJ5IHN1YnNlcXVlbnQgYXNzaWdubWVudC4gIElmIHRoZSAgLQgtZghmICBvcHRpb24KLSAgICAgICAgICAgICAgaXMgIHN1cHBsaWVkLCAgdGhlICBmdW5jdGlvbnMgIGNvcnJlc3BvbmRpbmcgdG8gdGhlIF8Ibl8IYV8IbV8IZV8IcyBhcmUgc28KLSAgICAgICAgICAgICAgbWFya2VkLiAgVGhlICAtCC1hCGEgIG9wdGlvbiAgcmVzdHJpY3RzICB0aGUgIHZhcmlhYmxlcyAgdG8gIGluZGV4ZWQKLSAgICAgICAgICAgICAgYXJyYXlzOyAgdGhlICAtCC1BCEEgIG9wdGlvbiAgcmVzdHJpY3RzIHRoZSB2YXJpYWJsZXMgdG8gYXNzb2NpYXRpdmUKLSAgICAgICAgICAgICAgYXJyYXlzLiAgSWYgbm8gXwhuXwhhXwhtXwhlIGFyZ3VtZW50cyBhcmUgZ2l2ZW4sIG9yIGlmIHRoZSAtCC1wCHAgb3B0aW9uICBpcwotICAgICAgICAgICAgICBzdXBwbGllZCwgIGEgIGxpc3QgIG9mICBhbGwgIHJlYWRvbmx5ICBuYW1lcyBpcyBwcmludGVkLiAgVGhlIC0ILXAIcAotICAgICAgICAgICAgICBvcHRpb24gY2F1c2VzIG91dHB1dCB0byBiZSBkaXNwbGF5ZWQgaW4gYSAgZm9ybWF0ICB0aGF0ICBtYXkgIGJlCi0gICAgICAgICAgICAgIHJldXNlZCAgYXMgIGlucHV0LiAgSWYgYSB2YXJpYWJsZSBuYW1lIGlzIGZvbGxvd2VkIGJ5ID1fCHdfCG9fCHJfCGQsIHRoZQotICAgICAgICAgICAgICB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgaXMgc2V0IHRvIF8Id18Ib18Icl8IZC4gIFRoZSByZXR1cm4gIHN0YXR1cyAgaXMgIDAKKyAgICAgICAgICAgICAgVGhlIGdpdmVuIF8Ibl8IYV8IbV8IZV8IcyBhcmUgbWFya2VkIHJlYWRvbmx5OyB0aGUgdmFsdWVzIG9mICB0aGVzZSAgXwhuXwhhXwhtXwhlXwhzCisgICAgICAgICAgICAgIG1heSAgbm90ICBiZSBjaGFuZ2VkIGJ5IHN1YnNlcXVlbnQgYXNzaWdubWVudC4gIElmIHRoZSAtCC1mCGYgb3B0aW9uCisgICAgICAgICAgICAgIGlzIHN1cHBsaWVkLCB0aGUgZnVuY3Rpb25zIGNvcnJlc3BvbmRpbmcgdG8gIHRoZSAgXwhuXwhhXwhtXwhlXwhzICBhcmUgIHNvCisgICAgICAgICAgICAgIG1hcmtlZC4gICBUaGUgIC0ILWEIYSAgb3B0aW9uICByZXN0cmljdHMgIHRoZSAgdmFyaWFibGVzICB0byBpbmRleGVkCisgICAgICAgICAgICAgIGFycmF5czsgdGhlIC0ILUEIQSBvcHRpb24gcmVzdHJpY3RzICB0aGUgIHZhcmlhYmxlcyAgdG8gIGFzc29jaWF0aXZlCisgICAgICAgICAgICAgIGFycmF5cy4gICBJZiBubyBfCG5fCGFfCG1fCGUgYXJndW1lbnRzIGFyZSBnaXZlbiwgb3IgaWYgdGhlIC0ILXAIcCBvcHRpb24gaXMKKyAgICAgICAgICAgICAgc3VwcGxpZWQsIGEgbGlzdCBvZiBhbGwgIHJlYWRvbmx5ICBuYW1lcyAgaXMgIHByaW50ZWQuICAgVGhlICAtCC1wCHAKKyAgICAgICAgICAgICAgb3B0aW9uICBjYXVzZXMgIG91dHB1dCAgdG8gIGJlIGRpc3BsYXllZCBpbiBhIGZvcm1hdCB0aGF0IG1heSBiZQorICAgICAgICAgICAgICByZXVzZWQgYXMgaW5wdXQuICBJZiBhIHZhcmlhYmxlIG5hbWUgaXMgZm9sbG93ZWQgYnkgID1fCHdfCG9fCHJfCGQsICB0aGUKKyAgICAgICAgICAgICAgdmFsdWUgIG9mICB0aGUgIHZhcmlhYmxlIGlzIHNldCB0byBfCHdfCG9fCHJfCGQuICBUaGUgcmV0dXJuIHN0YXR1cyBpcyAwCiAgICAgICAgICAgICAgIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBlbmNvdW50ZXJlZCwgb25lIG9mIHRoZSBfCG5fCGFfCG1fCGVfCHMgaXMgbm90Ci0gICAgICAgICAgICAgIGEgdmFsaWQgc2hlbGwgdmFyaWFibGUgbmFtZSwgb3IgLQgtZghmIGlzIHN1cHBsaWVkIHdpdGggYSBfCG5fCGFfCG1fCGUgIHRoYXQKKyAgICAgICAgICAgICAgYSAgdmFsaWQgc2hlbGwgdmFyaWFibGUgbmFtZSwgb3IgLQgtZghmIGlzIHN1cHBsaWVkIHdpdGggYSBfCG5fCGFfCG1fCGUgdGhhdAogICAgICAgICAgICAgICBpcyBub3QgYSBmdW5jdGlvbi4KIAogICAgICAgIHIIcmUIZXQIdHUIdXIIcm4IbiBbXwhuXQotICAgICAgICAgICAgICBDYXVzZXMgIGEgZnVuY3Rpb24gdG8gZXhpdCB3aXRoIHRoZSByZXR1cm4gdmFsdWUgc3BlY2lmaWVkIGJ5IF8Ibi4KLSAgICAgICAgICAgICAgSWYgXwhuIGlzIG9taXR0ZWQsIHRoZSByZXR1cm4gc3RhdHVzIGlzIHRoYXQgb2YgdGhlICBsYXN0ICBjb21tYW5kCi0gICAgICAgICAgICAgIGV4ZWN1dGVkICBpbiB0aGUgZnVuY3Rpb24gYm9keS4gIElmIHVzZWQgb3V0c2lkZSBhIGZ1bmN0aW9uLCBidXQKLSAgICAgICAgICAgICAgZHVyaW5nIGV4ZWN1dGlvbiBvZiBhIHNjcmlwdCBieSAgdGhlICAuCC4gICAocwhzbwhvdQh1cghyYwhjZQhlKSAgY29tbWFuZCwgIGl0CisgICAgICAgICAgICAgIENhdXNlcyBhIGZ1bmN0aW9uIHRvIGV4aXQgd2l0aCB0aGUgcmV0dXJuIHZhbHVlIHNwZWNpZmllZCBieSAgXwhuLgorICAgICAgICAgICAgICBJZiAgXwhuICBpcyBvbWl0dGVkLCB0aGUgcmV0dXJuIHN0YXR1cyBpcyB0aGF0IG9mIHRoZSBsYXN0IGNvbW1hbmQKKyAgICAgICAgICAgICAgZXhlY3V0ZWQgaW4gdGhlIGZ1bmN0aW9uIGJvZHkuICBJZiB1c2VkIG91dHNpZGUgYSBmdW5jdGlvbiwgIGJ1dAorICAgICAgICAgICAgICBkdXJpbmcgIGV4ZWN1dGlvbiAgb2YgIGEgIHNjcmlwdCAgYnkgdGhlIC4ILiAgKHMIc28Ib3UIdXIIcmMIY2UIZSkgY29tbWFuZCwgaXQKICAgICAgICAgICAgICAgY2F1c2VzIHRoZSBzaGVsbCB0byBzdG9wIGV4ZWN1dGluZyB0aGF0IHNjcmlwdCBhbmQgcmV0dXJuIGVpdGhlcgotICAgICAgICAgICAgICBfCG4gb3IgdGhlIGV4aXQgc3RhdHVzIG9mIHRoZSBsYXN0ICBjb21tYW5kICBleGVjdXRlZCAgd2l0aGluICB0aGUKLSAgICAgICAgICAgICAgc2NyaXB0ICBhcyAgdGhlICBleGl0ICBzdGF0dXMgIG9mIHRoZSBzY3JpcHQuICBJZiB1c2VkIG91dHNpZGUgYQotICAgICAgICAgICAgICBmdW5jdGlvbiBhbmQgbm90IGR1cmluZyBleGVjdXRpb24gb2YgYSBzY3JpcHQgYnkgLgguLCAgdGhlICByZXR1cm4KKyAgICAgICAgICAgICAgXwhuICBvciAgdGhlICBleGl0ICBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZCB3aXRoaW4gdGhlCisgICAgICAgICAgICAgIHNjcmlwdCBhcyB0aGUgZXhpdCBzdGF0dXMgb2YgdGhlICBzY3JpcHQuICAgSWYgIHVzZWQgIG91dHNpZGUgIGEKKyAgICAgICAgICAgICAgZnVuY3Rpb24gIGFuZCAgbm90IGR1cmluZyBleGVjdXRpb24gb2YgYSBzY3JpcHQgYnkgLgguLCB0aGUgcmV0dXJuCiAgICAgICAgICAgICAgIHN0YXR1cyBpcyBmYWxzZS4gIEFueSBjb21tYW5kIGFzc29jaWF0ZWQgd2l0aCB0aGUgUghSRQhFVAhUVQhVUghSTghOIHRyYXAgaXMKLSAgICAgICAgICAgICAgZXhlY3V0ZWQgYmVmb3JlIGV4ZWN1dGlvbiByZXN1bWVzIGFmdGVyIHRoZSBmdW5jdGlvbiBvciAgc2NyaXB0LgorICAgICAgICAgICAgICBleGVjdXRlZCAgYmVmb3JlIGV4ZWN1dGlvbiByZXN1bWVzIGFmdGVyIHRoZSBmdW5jdGlvbiBvciBzY3JpcHQuCiAKICAgICAgICBzCHNlCGV0CHQgWy0ILS0ILWEIYWIIYmUIZWYIZmgIaGsIa20IbW4IbnAIcHQIdHUIdXYIdngIeEIIQkMIQ0UIRUgISFAIUFQIVF0gWy0ILW8IbyBfCG9fCHBfCHRfCGlfCG9fCG5dIFtfCGFfCHJfCGcgLi4uXQogICAgICAgIHMIc2UIZXQIdCBbKwgrYQhhYghiZQhlZghmaAhoawhrbQhtbghucAhwdAh0dQh1dgh2eAh4QghCQwhDRQhFSAhIUAhQVAhUXSBbKwgrbwhvIF8Ib18IcF8IdF8IaV8Ib18Ibl0gW18IYV8Icl8IZyAuLi5dCi0gICAgICAgICAgICAgIFdpdGhvdXQgIG9wdGlvbnMsICB0aGUgbmFtZSBhbmQgdmFsdWUgb2YgZWFjaCBzaGVsbCB2YXJpYWJsZSBhcmUKKyAgICAgICAgICAgICAgV2l0aG91dCBvcHRpb25zLCB0aGUgbmFtZSBhbmQgdmFsdWUgb2YgZWFjaCBzaGVsbCAgdmFyaWFibGUgIGFyZQogICAgICAgICAgICAgICBkaXNwbGF5ZWQgaW4gYSBmb3JtYXQgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIGlucHV0IGZvciBzZXR0aW5nIG9yCiAgICAgICAgICAgICAgIHJlc2V0dGluZyB0aGUgY3VycmVudGx5LXNldCB2YXJpYWJsZXMuICBSZWFkLW9ubHkgdmFyaWFibGVzIGNhbi0KLSAgICAgICAgICAgICAgbm90IGJlIHJlc2V0LiAgSW4gXwhwXwhvXwhzXwhpXwh4IF8IbV8Ib18IZF8IZSwgb25seSBzaGVsbCB2YXJpYWJsZXMgIGFyZSAgbGlzdGVkLgotICAgICAgICAgICAgICBUaGUgIG91dHB1dCAgaXMgIHNvcnRlZCAgYWNjb3JkaW5nICB0byB0aGUgY3VycmVudCBsb2NhbGUuICBXaGVuCi0gICAgICAgICAgICAgIG9wdGlvbnMgYXJlIHNwZWNpZmllZCwgdGhleSBzZXQgb3IgdW5zZXQgc2hlbGwgYXR0cmlidXRlcy4gICBBbnkKLSAgICAgICAgICAgICAgYXJndW1lbnRzICByZW1haW5pbmcgYWZ0ZXIgb3B0aW9uIHByb2Nlc3NpbmcgYXJlIHRyZWF0ZWQgYXMgdmFsLQorICAgICAgICAgICAgICBub3QgIGJlICByZXNldC4gIEluIF8IcF8Ib18Ic18IaV8IeCBfCG1fCG9fCGRfCGUsIG9ubHkgc2hlbGwgdmFyaWFibGVzIGFyZSBsaXN0ZWQuCisgICAgICAgICAgICAgIFRoZSBvdXRwdXQgaXMgc29ydGVkIGFjY29yZGluZyAgdG8gIHRoZSAgY3VycmVudCAgbG9jYWxlLiAgIFdoZW4KKyAgICAgICAgICAgICAgb3B0aW9ucyAgYXJlIHNwZWNpZmllZCwgdGhleSBzZXQgb3IgdW5zZXQgc2hlbGwgYXR0cmlidXRlcy4gIEFueQorICAgICAgICAgICAgICBhcmd1bWVudHMgcmVtYWluaW5nIGFmdGVyIG9wdGlvbiBwcm9jZXNzaW5nIGFyZSB0cmVhdGVkIGFzICB2YWwtCiAgICAgICAgICAgICAgIHVlcyBmb3IgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBhbmQgYXJlIGFzc2lnbmVkLCBpbiBvcmRlciwgdG8KLSAgICAgICAgICAgICAgJAgkMQgxLCAgJAgkMggyLCAgLgguLgguLgguICAgJAgkXwhuLiAgIE9wdGlvbnMsICBpZiBzcGVjaWZpZWQsIGhhdmUgdGhlIGZvbGxvd2luZworICAgICAgICAgICAgICAkCCQxCDEsICQIJDIIMiwgLgguLgguLgguICAkCCRfCG4uICBPcHRpb25zLCAgaWYgIHNwZWNpZmllZCwgIGhhdmUgIHRoZSAgZm9sbG93aW5nCiAgICAgICAgICAgICAgIG1lYW5pbmdzOgotICAgICAgICAgICAgICAtCC1hCGEgICAgICBBdXRvbWF0aWNhbGx5IG1hcmsgdmFyaWFibGVzICBhbmQgIGZ1bmN0aW9ucyAgd2hpY2ggIGFyZQotICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkICBvciAgY3JlYXRlZCAgZm9yICBleHBvcnQgdG8gdGhlIGVudmlyb25tZW50IG9mCisgICAgICAgICAgICAgIC0ILWEIYSAgICAgIEF1dG9tYXRpY2FsbHkgIG1hcmsgIHZhcmlhYmxlcyAgYW5kICBmdW5jdGlvbnMgd2hpY2ggYXJlCisgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZWQgb3IgY3JlYXRlZCBmb3IgZXhwb3J0ICB0byAgdGhlICBlbnZpcm9ubWVudCAgb2YKICAgICAgICAgICAgICAgICAgICAgICBzdWJzZXF1ZW50IGNvbW1hbmRzLgotICAgICAgICAgICAgICAtCC1iCGIgICAgICBSZXBvcnQgdGhlIHN0YXR1cyBvZiB0ZXJtaW5hdGVkIGJhY2tncm91bmQgam9icyAgaW1tZWRpLQorICAgICAgICAgICAgICAtCC1iCGIgICAgICBSZXBvcnQgIHRoZSBzdGF0dXMgb2YgdGVybWluYXRlZCBiYWNrZ3JvdW5kIGpvYnMgaW1tZWRpLQogICAgICAgICAgICAgICAgICAgICAgIGF0ZWx5LCByYXRoZXIgdGhhbiBiZWZvcmUgdGhlIG5leHQgcHJpbWFyeSBwcm9tcHQuICBUaGlzCiAgICAgICAgICAgICAgICAgICAgICAgaXMgZWZmZWN0aXZlIG9ubHkgd2hlbiBqb2IgY29udHJvbCBpcyBlbmFibGVkLgotICAgICAgICAgICAgICAtCC1lCGUgICAgICBFeGl0IGltbWVkaWF0ZWx5IGlmIGEgXwhzXwhpXwhtXwhwXwhsXwhlIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCAoc2VlIFMIU0gISEUIRUwITEwITCAgRwhHUghSQQhBTQhNTQhNQQhBUghSCisgICAgICAgICAgICAgIC0ILWUIZSAgICAgIEV4aXQgIGltbWVkaWF0ZWx5ICBpZiBhIF8IcF8IaV8IcF8IZV8IbF8IaV8Ibl8IZSAod2hpY2ggbWF5IGNvbnNpc3Qgb2YgYQorICAgICAgICAgICAgICAgICAgICAgIHNpbmdsZSBfCHNfCGlfCG1fCHBfCGxfCGUgXwhjXwhvXwhtXwhtXwhhXwhuXwhkKSwgIGEgXwhzXwh1XwhiXwhzXwhoXwhlXwhsXwhsIGNvbW1hbmQgZW5jbG9zZWQgIGluCisgICAgICAgICAgICAgICAgICAgICAgcGFyZW50aGVzZXMsICBvciBvbmUgb2YgdGhlIGNvbW1hbmRzIGV4ZWN1dGVkIGFzIHBhcnQgb2YKKyAgICAgICAgICAgICAgICAgICAgICBhIGNvbW1hbmQgbGlzdCBlbmNsb3NlZCBieSAgYnJhY2VzICAoc2VlICBTCFNICEhFCEVMCExMCEwgIEcIR1IIUkEIQU0ITU0ITUEIQVIIUgogICAgICAgICAgICAgICAgICAgICAgIGFib3ZlKSBleGl0cyB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLiAgVGhlIHNoZWxsIGRvZXMgbm90CiAgICAgICAgICAgICAgICAgICAgICAgZXhpdCBpZiB0aGUgY29tbWFuZCB0aGF0IGZhaWxzIGlzIHBhcnQgIG9mICB0aGUgIGNvbW1hbmQKICAgICAgICAgICAgICAgICAgICAgICBsaXN0ICBpbW1lZGlhdGVseSAgZm9sbG93aW5nICBhICB3CHdoCGhpCGlsCGxlCGUgb3IgdQh1bghudAh0aQhpbAhsIGtleXdvcmQsCi0gICAgICAgICAgICAgICAgICAgICAgcGFydCBvZiB0aGUgdGVzdCBpbiBhbiBpCGlmCGYgc3RhdGVtZW50LCBwYXJ0IG9mICBhICBjb21tYW5kCi0gICAgICAgICAgICAgICAgICAgICAgZXhlY3V0ZWQgIGluICBhICYIJiYIJiBvciB8CHx8CHwgbGlzdCwgYW55IGNvbW1hbmQgaW4gYSBwaXBlbGluZQotICAgICAgICAgICAgICAgICAgICAgIGJ1dCB0aGUgbGFzdCwgb3IgaWYgdGhlIGNvbW1hbmQncyByZXR1cm4gdmFsdWUgaXMgIGJlaW5nCi0gICAgICAgICAgICAgICAgICAgICAgaW52ZXJ0ZWQgIHZpYSAgIQghLiAgRmFpbGluZyBzaW1wbGUgY29tbWFuZHMgdGhhdCBhcmUgcGFydAotICAgICAgICAgICAgICAgICAgICAgIG9mIHNoZWxsIGZ1bmN0aW9ucyBvciBjb21tYW5kIGxpc3RzIGVuY2xvc2VkICBpbiAgYnJhY2VzCi0gICAgICAgICAgICAgICAgICAgICAgb3IgIHBhcmVudGhlc2VzICBzYXRpc2Z5aW5nICB0aGUgYWJvdmUgY29uZGl0aW9ucyBkbyBub3QKLSAgICAgICAgICAgICAgICAgICAgICBjYXVzZSB0aGUgc2hlbGwgdG8gZXhpdC4gIEEgdHJhcCBvbiBFCEVSCFJSCFIsIGlmIHNldCwgaXMgZXhlLQotICAgICAgICAgICAgICAgICAgICAgIGN1dGVkIGJlZm9yZSB0aGUgc2hlbGwgZXhpdHMuCisgICAgICAgICAgICAgICAgICAgICAgcGFydCBvZiB0aGUgdGVzdCAgZm9sbG93aW5nICB0aGUgIGkIaWYIZiAgb3IgIGUIZWwIbGkIaWYIZiAgcmVzZXJ2ZWQKKyAgICAgICAgICAgICAgICAgICAgICB3b3JkcywgIHBhcnQgIG9mIGFueSBjb21tYW5kIGV4ZWN1dGVkIGluIGEgJggmJggmIG9yIHwIfHwIfCBsaXN0CisgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IHRoZSBjb21tYW5kIGZvbGxvd2luZyB0aGUgZmluYWwgICYIJiYIJiAgb3IgIHwIfHwIfCwgIGFueQorICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQgIGluIGEgcGlwZWxpbmUgYnV0IHRoZSBsYXN0LCBvciBpZiB0aGUgY29tbWFuZCdzCisgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlIGlzIGJlaW5nIGludmVydGVkIHdpdGggIQghLiAgQSB0cmFwICBvbiAgRQhFUghSUghSLAorICAgICAgICAgICAgICAgICAgICAgIGlmIHNldCwgaXMgZXhlY3V0ZWQgYmVmb3JlIHRoZSBzaGVsbCBleGl0cy4gIFRoaXMgb3B0aW9uCisgICAgICAgICAgICAgICAgICAgICAgYXBwbGllcyB0byB0aGUgc2hlbGwgZW52aXJvbm1lbnQgYW5kIGVhY2ggc3Vic2hlbGwgZW52aS0KKyAgICAgICAgICAgICAgICAgICAgICByb25tZW50ICBzZXBhcmF0ZWx5ICAoc2VlICBDCENPCE9NCE1NCE1BCEFOCE5ECEQgRQhFWAhYRQhFQwhDVQhVVAhUSQhJTwhPTghOIEUIRU4ITlYIVkkISVIIUk8IT04ITk0ITUUIRU4ITlQIVAorICAgICAgICAgICAgICAgICAgICAgIGFib3ZlKSwgYW5kIG1heSBjYXVzZSBzdWJzaGVsbHMgdG8gZXhpdCBiZWZvcmUgZXhlY3V0aW5nCisgICAgICAgICAgICAgICAgICAgICAgYWxsIHRoZSBjb21tYW5kcyBpbiB0aGUgc3Vic2hlbGwuCiAgICAgICAgICAgICAgIC0ILWYIZiAgICAgIERpc2FibGUgcGF0aG5hbWUgZXhwYW5zaW9uLgogICAgICAgICAgICAgICAtCC1oCGggICAgICBSZW1lbWJlciAgdGhlIGxvY2F0aW9uIG9mIGNvbW1hbmRzIGFzIHRoZXkgYXJlIGxvb2tlZCB1cAogICAgICAgICAgICAgICAgICAgICAgIGZvciBleGVjdXRpb24uICBUaGlzIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4KQEAgLTk4OSwxMSArMTAxNywxMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgaW50ZXJhY3RpdmUsIHVubGVzcyB0aGUgc2hlbGwgaXMgc3RhcnRlZCB3aXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgLQgtLQgtbghubwhvZQhlZAhkaQhpdAh0aQhpbghuZwhnIG9wdGlvbi4gIFRoaXMgYWxzbyAgYWZmZWN0cyAgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZGl0aW5nIGludGVyZmFjZSB1c2VkIGZvciByCHJlCGVhCGFkCGQgLQgtZQhlLgorICAgICAgICAgICAgICAgICAgICAgIGUIZXIIcnIIcmUIZXgIeGkIaXQIdCBTYW1lIGFzIC0ILWUIZS4KICAgICAgICAgICAgICAgICAgICAgICBlCGVyCHJyCHJ0CHRyCHJhCGFjCGNlCGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhbWUgYXMgLQgtRQhFLgogICAgICAgICAgICAgICAgICAgICAgIGYIZnUIdW4IbmMIY3QIdHIIcmEIYWMIY2UIZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2FtZSBhcyAtCC1UCFQuCi0gICAgICAgICAgICAgICAgICAgICAgZQhlcghycghyZQhleAh4aQhpdAh0IFNhbWUgYXMgLQgtZQhlLgogICAgICAgICAgICAgICAgICAgICAgIGgIaGEIYXMIc2gIaGEIYWwIbGwIbCBTYW1lIGFzIC0ILWgIaC4KICAgICAgICAgICAgICAgICAgICAgICBoCGhpCGlzCHN0CHRlCGV4CHhwCHBhCGFuCG5kCGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhbWUgYXMgLQgtSAhILgpAQCAtMTA0MCwyMCArMTA2OCwyMiBAQAogICAgICAgICAgICAgICAtCC1wCHAgICAgICBUdXJuICBvbiAgXwhwXwhyXwhpXwh2XwhpXwhsXwhlXwhnXwhlXwhkICBtb2RlLiAgIEluIHRoaXMgbW9kZSwgdGhlICQIJEUIRU4ITlYIViBhbmQKICAgICAgICAgICAgICAgICAgICAgICAkCCRCCEJBCEFTCFNICEhfCF9FCEVOCE5WCFYgZmlsZXMgYXJlIG5vdCBwcm9jZXNzZWQsIHNoZWxsICBmdW5jdGlvbnMgIGFyZQogICAgICAgICAgICAgICAgICAgICAgIG5vdCAgaW5oZXJpdGVkICBmcm9tIHRoZSBlbnZpcm9ubWVudCwgYW5kIHRoZSBTCFNICEhFCEVMCExMCExPCE9QCFBUCFRTCFMsCi0gICAgICAgICAgICAgICAgICAgICAgQwhDRAhEUAhQQQhBVAhUSAhILCBhbmQgRwhHTAhMTwhPQghCSQhJRwhHTghOTwhPUghSRQhFIHZhcmlhYmxlcywgaWYgdGhleSBhcHBlYXIgaW4gIHRoZQotICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50LCAgYXJlIGlnbm9yZWQuICBJZiB0aGUgc2hlbGwgaXMgc3RhcnRlZCB3aXRoCi0gICAgICAgICAgICAgICAgICAgICAgdGhlIGVmZmVjdGl2ZSB1c2VyIChncm91cCkgaWQgbm90IGVxdWFsIHRvIHRoZSByZWFsIHVzZXIKLSAgICAgICAgICAgICAgICAgICAgICAoZ3JvdXApICBpZCwgIGFuZCAgdGhlICAtCC1wCHAgb3B0aW9uIGlzIG5vdCBzdXBwbGllZCwgdGhlc2UKLSAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zIGFyZSB0YWtlbiBhbmQgdGhlIGVmZmVjdGl2ZSB1c2VyIGlkICBpcyAgc2V0ICB0bwotICAgICAgICAgICAgICAgICAgICAgIHRoZSAgcmVhbCAgdXNlciAgaWQuICAgSWYgIHRoZSAgLQgtcAhwIG9wdGlvbiBpcyBzdXBwbGllZCBhdAotICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0dXAsIHRoZSBlZmZlY3RpdmUgdXNlciBpZCBpcyAgbm90ICByZXNldC4gICBUdXJuaW5nCi0gICAgICAgICAgICAgICAgICAgICAgdGhpcyAgb3B0aW9uIG9mZiBjYXVzZXMgdGhlIGVmZmVjdGl2ZSB1c2VyIGFuZCBncm91cCBpZHMKLSAgICAgICAgICAgICAgICAgICAgICB0byBiZSBzZXQgdG8gdGhlIHJlYWwgdXNlciBhbmQgZ3JvdXAgaWRzLgorICAgICAgICAgICAgICAgICAgICAgIEIIQkEIQVMIU0gISE8IT1AIUFQIVFMIUywgQwhDRAhEUAhQQQhBVAhUSAhILCAgYW5kICBHCEdMCExPCE9CCEJJCElHCEdOCE5PCE9SCFJFCEUgIHZhcmlhYmxlcywgIGlmICB0aGV5CisgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyIGluIHRoZSBlbnZpcm9ubWVudCwgYXJlIGlnbm9yZWQuICBJZiB0aGUgc2hlbGwgaXMKKyAgICAgICAgICAgICAgICAgICAgICBzdGFydGVkIHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIChncm91cCkgaWQgbm90IGVxdWFsICB0bworICAgICAgICAgICAgICAgICAgICAgIHRoZSAgcmVhbCB1c2VyIChncm91cCkgaWQsIGFuZCB0aGUgLQgtcAhwIG9wdGlvbiBpcyBub3Qgc3VwLQorICAgICAgICAgICAgICAgICAgICAgIHBsaWVkLCB0aGVzZSBhY3Rpb25zIGFyZSB0YWtlbiBhbmQgdGhlIGVmZmVjdGl2ZSB1c2VyIGlkCisgICAgICAgICAgICAgICAgICAgICAgaXMgIHNldCAgdG8gIHRoZSByZWFsIHVzZXIgaWQuICBJZiB0aGUgLQgtcAhwIG9wdGlvbiBpcyBzdXAtCisgICAgICAgICAgICAgICAgICAgICAgcGxpZWQgYXQgc3RhcnR1cCwgdGhlIGVmZmVjdGl2ZSB1c2VyIGlkICBpcyAgbm90ICByZXNldC4KKyAgICAgICAgICAgICAgICAgICAgICBUdXJuaW5nICB0aGlzICBvcHRpb24gIG9mZiBjYXVzZXMgdGhlIGVmZmVjdGl2ZSB1c2VyIGFuZAorICAgICAgICAgICAgICAgICAgICAgIGdyb3VwIGlkcyB0byBiZSBzZXQgdG8gdGhlIHJlYWwgdXNlciBhbmQgZ3JvdXAgaWRzLgogICAgICAgICAgICAgICAtCC10CHQgICAgICBFeGl0IGFmdGVyIHJlYWRpbmcgYW5kIGV4ZWN1dGluZyBvbmUgY29tbWFuZC4KLSAgICAgICAgICAgICAgLQgtdQh1ICAgICAgVHJlYXQgdW5zZXQgdmFyaWFibGVzIGFzIGFuIGVycm9yIHdoZW4gcGVyZm9ybWluZyBwYXJhbS0KLSAgICAgICAgICAgICAgICAgICAgICBldGVyICBleHBhbnNpb24uICAgSWYgZXhwYW5zaW9uIGlzIGF0dGVtcHRlZCBvbiBhbiB1bnNldAotICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLCB0aGUgc2hlbGwgcHJpbnRzIGFuIGVycm9yIG1lc3NhZ2UsIGFuZCwgaWYgbm90Ci0gICAgICAgICAgICAgICAgICAgICAgaW50ZXJhY3RpdmUsIGV4aXRzIHdpdGggYSBub24temVybyBzdGF0dXMuCisgICAgICAgICAgICAgIC0ILXUIdSAgICAgIFRyZWF0IHVuc2V0IHZhcmlhYmxlcyBhbmQgcGFyYW1ldGVycyBvdGhlciB0aGFuIHRoZSBzcGUtCisgICAgICAgICAgICAgICAgICAgICAgY2lhbCAgcGFyYW1ldGVycyAiQCIgYW5kICIqIiBhcyBhbiBlcnJvciB3aGVuIHBlcmZvcm1pbmcKKyAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXIgZXhwYW5zaW9uLiAgSWYgZXhwYW5zaW9uIGlzICBhdHRlbXB0ZWQgIG9uICBhbgorICAgICAgICAgICAgICAgICAgICAgIHVuc2V0ICB2YXJpYWJsZSAgb3IgcGFyYW1ldGVyLCB0aGUgc2hlbGwgcHJpbnRzIGFuIGVycm9yCisgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSwgYW5kLCBpZiBub3QgaW50ZXJhY3RpdmUsIGV4aXRzIHdpdGggYSAgbm9uLXplcm8KKyAgICAgICAgICAgICAgICAgICAgICBzdGF0dXMuCiAgICAgICAgICAgICAgIC0ILXYIdiAgICAgIFByaW50IHNoZWxsIGlucHV0IGxpbmVzIGFzIHRoZXkgYXJlIHJlYWQuCiAgICAgICAgICAgICAgIC0ILXgIeCAgICAgIEFmdGVyICBleHBhbmRpbmcgIGVhY2ggXwhzXwhpXwhtXwhwXwhsXwhlIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCwgZghmbwhvcghyIGNvbW1hbmQsIGMIY2EIYXMIc2UIZQogICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQsIHMIc2UIZWwIbGUIZWMIY3QIdCBjb21tYW5kLCBvciBhcml0aG1ldGljIGYIZm8Ib3IIciBjb21tYW5kLCBkaXMtCkBAIC0xMTcyLDYxICsxMjAyLDcwIEBACiAgICAgICAgICAgICAgICAgICAgICAgSWYgc2V0LCBiCGJhCGFzCHNoCGggY2hhbmdlcyBpdHMgYmVoYXZpb3IgdG8gdGhhdCBvZiB2ZXJzaW9uIDMuMQogICAgICAgICAgICAgICAgICAgICAgIHdpdGggcmVzcGVjdCB0byBxdW90ZWQgYXJndW1lbnRzIHRvIHRoZSBjb25kaXRpb25hbCBjb20tCiAgICAgICAgICAgICAgICAgICAgICAgbWFuZCdzID1+IG9wZXJhdG9yLgorICAgICAgICAgICAgICBjCGNvCG9tCG1wCHBhCGF0CHQzCDMyCDIKKyAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIGIIYmEIYXMIc2gIaCBjaGFuZ2VzIGl0cyBiZWhhdmlvciB0byB0aGF0IG9mIHZlcnNpb24gMy4yCisgICAgICAgICAgICAgICAgICAgICAgd2l0aCByZXNwZWN0IHRvIGxvY2FsZS1zcGVjaWZpYyBzdHJpbmcgIGNvbXBhcmlzb24gIHdoZW4KKyAgICAgICAgICAgICAgICAgICAgICB1c2luZyB0aGUgY29uZGl0aW9uYWwgY29tbWFuZCdzIDwgYW5kID4gb3BlcmF0b3JzLgorICAgICAgICAgICAgICBjCGNvCG9tCG1wCHBhCGF0CHQ0CDQwCDAKKyAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIGIIYmEIYXMIc2gIaCBjaGFuZ2VzIGl0cyBiZWhhdmlvciB0byB0aGF0IG9mIHZlcnNpb24gNC4wCisgICAgICAgICAgICAgICAgICAgICAgd2l0aCByZXNwZWN0IHRvIGxvY2FsZS1zcGVjaWZpYyBzdHJpbmcgIGNvbXBhcmlzb24gIHdoZW4KKyAgICAgICAgICAgICAgICAgICAgICB1c2luZyAgdGhlICBjb25kaXRpb25hbCAgY29tbWFuZCdzIDwgYW5kID4gb3BlcmF0b3JzIGFuZAorICAgICAgICAgICAgICAgICAgICAgIHRoZSBlZmZlY3Qgb2YgaW50ZXJydXB0aW5nIGEgY29tbWFuZCBsaXN0LgogICAgICAgICAgICAgICBkCGRpCGlyCHJzCHNwCHBlCGVsCGxsCGwKLSAgICAgICAgICAgICAgICAgICAgICBJZiAgc2V0LCAgYghiYQhhcwhzaAhoIGF0dGVtcHRzIHNwZWxsaW5nIGNvcnJlY3Rpb24gb24gZGlyZWN0b3J5Ci0gICAgICAgICAgICAgICAgICAgICAgbmFtZXMgZHVyaW5nIHdvcmQgY29tcGxldGlvbiBpZiB0aGUgZGlyZWN0b3J5IG5hbWUgIGluaS0KKyAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIGIIYmEIYXMIc2gIaCBhdHRlbXB0cyBzcGVsbGluZyBjb3JyZWN0aW9uICBvbiAgZGlyZWN0b3J5CisgICAgICAgICAgICAgICAgICAgICAgbmFtZXMgIGR1cmluZyB3b3JkIGNvbXBsZXRpb24gaWYgdGhlIGRpcmVjdG9yeSBuYW1lIGluaS0KICAgICAgICAgICAgICAgICAgICAgICB0aWFsbHkgc3VwcGxpZWQgZG9lcyBub3QgZXhpc3QuCi0gICAgICAgICAgICAgIGQIZG8Ib3QIdGcIZ2wIbG8Ib2IIYiBJZiAgc2V0LCBiCGJhCGFzCHNoCGggaW5jbHVkZXMgZmlsZW5hbWVzIGJlZ2lubmluZyB3aXRoIGEgYC4nIGluCisgICAgICAgICAgICAgIGQIZG8Ib3QIdGcIZ2wIbG8Ib2IIYiBJZiBzZXQsIGIIYmEIYXMIc2gIaCBpbmNsdWRlcyBmaWxlbmFtZXMgYmVnaW5uaW5nIHdpdGggYSBgLicgIGluCiAgICAgICAgICAgICAgICAgICAgICAgdGhlIHJlc3VsdHMgb2YgcGF0aG5hbWUgZXhwYW5zaW9uLgogICAgICAgICAgICAgICBlCGV4CHhlCGVjCGNmCGZhCGFpCGlsCGwKICAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIGEgbm9uLWludGVyYWN0aXZlIHNoZWxsIHdpbGwgbm90IGV4aXQgaWYgaXQgY2FuLQotICAgICAgICAgICAgICAgICAgICAgIG5vdCAgZXhlY3V0ZSAgdGhlICBmaWxlICBzcGVjaWZpZWQgYXMgYW4gYXJndW1lbnQgdG8gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgZQhleAh4ZQhlYwhjIGJ1aWx0aW4gY29tbWFuZC4gIEFuICBpbnRlcmFjdGl2ZSAgc2hlbGwgIGRvZXMgIG5vdAorICAgICAgICAgICAgICAgICAgICAgIG5vdCBleGVjdXRlIHRoZSBmaWxlIHNwZWNpZmllZCBhcyAgYW4gIGFyZ3VtZW50ICB0byAgdGhlCisgICAgICAgICAgICAgICAgICAgICAgZQhleAh4ZQhlYwhjICBidWlsdGluICBjb21tYW5kLiAgIEFuICBpbnRlcmFjdGl2ZSBzaGVsbCBkb2VzIG5vdAogICAgICAgICAgICAgICAgICAgICAgIGV4aXQgaWYgZQhleAh4ZQhlYwhjIGZhaWxzLgogICAgICAgICAgICAgICBlCGV4CHhwCHBhCGFuCG5kCGRfCF9hCGFsCGxpCGlhCGFzCHNlCGVzCHMKLSAgICAgICAgICAgICAgICAgICAgICBJZiAgc2V0LCAgYWxpYXNlcyAgYXJlIGV4cGFuZGVkIGFzIGRlc2NyaWJlZCBhYm92ZSB1bmRlcgorICAgICAgICAgICAgICAgICAgICAgIElmIHNldCwgYWxpYXNlcyBhcmUgZXhwYW5kZWQgYXMgIGRlc2NyaWJlZCAgYWJvdmUgIHVuZGVyCiAgICAgICAgICAgICAgICAgICAgICAgQQhBTAhMSQhJQQhBUwhTRQhFUwhTLiAgVGhpcyBvcHRpb24gaXMgZW5hYmxlZCBieSBkZWZhdWx0IGZvciBpbnRlcmFjLQogICAgICAgICAgICAgICAgICAgICAgIHRpdmUgc2hlbGxzLgogICAgICAgICAgICAgICBlCGV4CHh0CHRkCGRlCGViCGJ1CHVnCGcKLSAgICAgICAgICAgICAgICAgICAgICBJZiAgc2V0LCAgYmVoYXZpb3IgIGludGVuZGVkICBmb3IgIHVzZSAgYnkgIGRlYnVnZ2VycyBpcworICAgICAgICAgICAgICAgICAgICAgIElmIHNldCwgIGJlaGF2aW9yICBpbnRlbmRlZCAgZm9yICB1c2UgIGJ5ICBkZWJ1Z2dlcnMgIGlzCiAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZDoKICAgICAgICAgICAgICAgICAgICAgICAxCDEuCC4gICAgIFRoZSAtCC1GCEYgb3B0aW9uIHRvIHRoZSBkCGRlCGVjCGNsCGxhCGFyCHJlCGUgYnVpbHRpbiBkaXNwbGF5cyB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlIGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXIgY29ycmVzcG9uZGluZyB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYWNoIGZ1bmN0aW9uIG5hbWUgc3VwcGxpZWQgYXMgYW4gYXJndW1lbnQuCi0gICAgICAgICAgICAgICAgICAgICAgMggyLgguICAgICBJZiB0aGUgY29tbWFuZCBydW4gYnkgdGhlIEQIREUIRUIIQlUIVUcIRyAgdHJhcCAgcmV0dXJucyAgYQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub24temVybyAgdmFsdWUsICB0aGUgbmV4dCBjb21tYW5kIGlzIHNraXBwZWQgYW5kCisgICAgICAgICAgICAgICAgICAgICAgMggyLgguICAgICBJZiAgdGhlICBjb21tYW5kICBydW4gYnkgdGhlIEQIREUIRUIIQlUIVUcIRyB0cmFwIHJldHVybnMgYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub24temVybyB2YWx1ZSwgdGhlIG5leHQgY29tbWFuZCBpcyAgc2tpcHBlZCAgYW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCBleGVjdXRlZC4KLSAgICAgICAgICAgICAgICAgICAgICAzCDMuCC4gICAgIElmIHRoZSBjb21tYW5kIHJ1biBieSB0aGUgRAhERQhFQghCVQhVRwhHICB0cmFwICByZXR1cm5zICBhCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlICBvZiAyLCBhbmQgdGhlIHNoZWxsIGlzIGV4ZWN1dGluZyBpbiBhIHN1Yi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm91dGluZSAoYSBzaGVsbCBmdW5jdGlvbiBvciBhIHNoZWxsIHNjcmlwdCAgZXhlLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXRlZCAgYnkgIHRoZSAgLgguICBvciBzCHNvCG91CHVyCHJjCGNlCGUgYnVpbHRpbnMpLCBhIGNhbGwgdG8KKyAgICAgICAgICAgICAgICAgICAgICAzCDMuCC4gICAgIElmICB0aGUgIGNvbW1hbmQgIHJ1biBieSB0aGUgRAhERQhFQghCVQhVRwhHIHRyYXAgcmV0dXJucyBhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIG9mIDIsIGFuZCB0aGUgc2hlbGwgaXMgZXhlY3V0aW5nIGluIGEgIHN1Yi0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm91dGluZSAgKGEgc2hlbGwgZnVuY3Rpb24gb3IgYSBzaGVsbCBzY3JpcHQgZXhlLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXRlZCBieSB0aGUgLgguIG9yIHMIc28Ib3UIdXIIcmMIY2UIZSAgYnVpbHRpbnMpLCAgYSAgY2FsbCAgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcghyZQhldAh0dQh1cghybghuIGlzIHNpbXVsYXRlZC4KLSAgICAgICAgICAgICAgICAgICAgICA0CDQuCC4gICAgIEIIQkEIQVMIU0gISF8IX0EIQVIIUkcIR0MIQyBhbmQgQghCQQhBUwhTSAhIXwhfQQhBUghSRwhHVghWIGFyZSB1cGRhdGVkIGFzICBkZXNjcmliZWQKKyAgICAgICAgICAgICAgICAgICAgICA0CDQuCC4gICAgIEIIQkEIQVMIU0gISF8IX0EIQVIIUkcIR0MIQyAgYW5kIEIIQkEIQVMIU0gISF8IX0EIQVIIUkcIR1YIViBhcmUgdXBkYXRlZCBhcyBkZXNjcmliZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlaXIgZGVzY3JpcHRpb25zIGFib3ZlLgotICAgICAgICAgICAgICAgICAgICAgIDUINS4ILiAgICAgRnVuY3Rpb24gIHRyYWNpbmcgIGlzIGVuYWJsZWQ6ICBjb21tYW5kIHN1YnN0aXR1LQorICAgICAgICAgICAgICAgICAgICAgIDUINS4ILiAgICAgRnVuY3Rpb24gdHJhY2luZyBpcyBlbmFibGVkOiAgIGNvbW1hbmQgIHN1YnN0aXR1LQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW9uLCBzaGVsbCBmdW5jdGlvbnMsIGFuZCBzdWJzaGVsbHMgaW52b2tlZCB3aXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgIKCBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgKQgpIGluaGVyaXQgdGhlIEQIREUIRUIIQlUIVUcIRyBhbmQgUghSRQhFVAhUVQhVUghSTghOIHRyYXBzLgotICAgICAgICAgICAgICAgICAgICAgIDYINi4ILiAgICAgRXJyb3IgIHRyYWNpbmcgaXMgZW5hYmxlZDogIGNvbW1hbmQgc3Vic3RpdHV0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGVsbCBmdW5jdGlvbnMsIGFuZCAgc3Vic2hlbGxzICBpbnZva2VkICB3aXRoICAoCCgKKyAgICAgICAgICAgICAgICAgICAgICA2CDYuCC4gICAgIEVycm9yIHRyYWNpbmcgaXMgZW5hYmxlZDogIGNvbW1hbmQgIHN1YnN0aXR1dGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hlbGwgIGZ1bmN0aW9ucywgIGFuZCAgc3Vic2hlbGxzICBpbnZva2VkIHdpdGggKAgoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCApCCkgaW5oZXJpdCB0aGUgRQhFUghSUghSTwhPUghSIHRyYXAuCiAgICAgICAgICAgICAgIGUIZXgIeHQIdGcIZ2wIbG8Ib2IIYiBJZiBzZXQsIHRoZSBleHRlbmRlZCBwYXR0ZXJuIG1hdGNoaW5nIGZlYXR1cmVzIGRlc2NyaWJlZAogICAgICAgICAgICAgICAgICAgICAgIGFib3ZlIHVuZGVyIFAIUGEIYXQIdGgIaG4IbmEIYW0IbWUIZSBFCEV4CHhwCHBhCGFuCG5zCHNpCGlvCG9uCG4gYXJlIGVuYWJsZWQuCiAgICAgICAgICAgICAgIGUIZXgIeHQIdHEIcXUIdW8Ib3QIdGUIZQotICAgICAgICAgICAgICAgICAgICAgIElmIHNldCwgJAgkJ18Ic18IdF8Icl8IaV8Ibl8IZycgYW5kICAkCCQiXwhzXwh0XwhyXwhpXwhuXwhnIiAgcXVvdGluZyAgaXMgIHBlcmZvcm1lZAotICAgICAgICAgICAgICAgICAgICAgIHdpdGhpbiAgICQIJHsIe18IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8Icn0IfSAgIGV4cGFuc2lvbnMgIGVuY2xvc2VkICBpbiAgZG91YmxlCisgICAgICAgICAgICAgICAgICAgICAgSWYgIHNldCwgICQIJCdfCHNfCHRfCHJfCGlfCG5fCGcnICBhbmQgICQIJCJfCHNfCHRfCHJfCGlfCG5fCGciIHF1b3RpbmcgaXMgcGVyZm9ybWVkCisgICAgICAgICAgICAgICAgICAgICAgd2l0aGluICAkCCR7CHtfCHBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHJ9CH0gIGV4cGFuc2lvbnMgIGVuY2xvc2VkICAgaW4gICBkb3VibGUKICAgICAgICAgICAgICAgICAgICAgICBxdW90ZXMuICBUaGlzIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuCiAgICAgICAgICAgICAgIGYIZmEIYWkIaWwIbGcIZ2wIbG8Ib2IIYgotICAgICAgICAgICAgICAgICAgICAgIElmIHNldCwgcGF0dGVybnMgd2hpY2ggZmFpbCB0byAgbWF0Y2ggIGZpbGVuYW1lcyAgZHVyaW5nCisgICAgICAgICAgICAgICAgICAgICAgSWYgIHNldCwgIHBhdHRlcm5zICB3aGljaCBmYWlsIHRvIG1hdGNoIGZpbGVuYW1lcyBkdXJpbmcKICAgICAgICAgICAgICAgICAgICAgICBwYXRobmFtZSBleHBhbnNpb24gcmVzdWx0IGluIGFuIGV4cGFuc2lvbiBlcnJvci4KICAgICAgICAgICAgICAgZghmbwhvcghyYwhjZQhlXwhfZghmaQhpZwhnbghubwhvcghyZQhlCi0gICAgICAgICAgICAgICAgICAgICAgSWYgIHNldCwgIHRoZSAgc3VmZml4ZXMgIHNwZWNpZmllZCAgYnkgdGhlIEYIRkkISUcIR04ITk8IT1IIUkUIRSBzaGVsbAotICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlIGNhdXNlIHdvcmRzIHRvIGJlIGlnbm9yZWQgd2hlbiBwZXJmb3JtaW5nICB3b3JkCisgICAgICAgICAgICAgICAgICAgICAgSWYgc2V0LCB0aGUgc3VmZml4ZXMgIHNwZWNpZmllZCAgYnkgIHRoZSAgRghGSQhJRwhHTghOTwhPUghSRQhFICBzaGVsbAorICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlICBjYXVzZSB3b3JkcyB0byBiZSBpZ25vcmVkIHdoZW4gcGVyZm9ybWluZyB3b3JkCiAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbiBldmVuIGlmIHRoZSBpZ25vcmVkIHdvcmRzIGFyZSB0aGUgb25seSBwb3NzaS0KICAgICAgICAgICAgICAgICAgICAgICBibGUgIGNvbXBsZXRpb25zLiAgIFNlZSAgUwhTSAhIRQhFTAhMTAhMICBWCFZBCEFSCFJJCElBCEFCCEJMCExFCEVTCFMgIGFib3ZlICBmb3IgIGEKLSAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAgb2YgIEYIRkkISUcIR04ITk8IT1IIUkUIRS4gICBUaGlzICBvcHRpb24gIGlzICBlbmFibGVkIGJ5CisgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gb2YgIEYIRkkISUcIR04ITk8IT1IIUkUIRS4gICBUaGlzICBvcHRpb24gIGlzICBlbmFibGVkICBieQogICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQuCiAgICAgICAgICAgICAgIGcIZ2wIbG8Ib2IIYnMIc3QIdGEIYXIIcgotICAgICAgICAgICAgICAgICAgICAgIElmIHNldCwgdGhlIHBhdHRlcm4gKggqKggqIHVzZWQgaW4gYSBmaWxlbmFtZSBleHBhbnNpb24gY29uLQorICAgICAgICAgICAgICAgICAgICAgIElmIHNldCwgdGhlIHBhdHRlcm4gKggqKggqIHVzZWQgaW4gYSBwYXRobmFtZSBleHBhbnNpb24gY29uLQogICAgICAgICAgICAgICAgICAgICAgIHRleHQgd2lsbCBtYXRjaCBhIGZpbGVzIGFuZCB6ZXJvIG9yIG1vcmUgZGlyZWN0b3JpZXMgYW5kCiAgICAgICAgICAgICAgICAgICAgICAgc3ViZGlyZWN0b3JpZXMuICBJZiB0aGUgcGF0dGVybiBpcyBmb2xsb3dlZCBieSBhIC8ILywgb25seQogICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yaWVzIGFuZCBzdWJkaXJlY3RvcmllcyBtYXRjaC4KQEAgLTEyMzQsNTggKzEyNzMsNTggQEAKICAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIHNoZWxsIGVycm9yIG1lc3NhZ2VzIGFyZSB3cml0dGVuIGluIHRoZSBzdGFuZGFyZAogICAgICAgICAgICAgICAgICAgICAgIEdOVSBlcnJvciBtZXNzYWdlIGZvcm1hdC4KICAgICAgICAgICAgICAgaAhoaQhpcwhzdAh0YQhhcAhwcAhwZQhlbghuZAhkCi0gICAgICAgICAgICAgICAgICAgICAgSWYgc2V0LCB0aGUgaGlzdG9yeSBsaXN0IGlzIGFwcGVuZGVkIHRvIHRoZSAgZmlsZSAgbmFtZWQKLSAgICAgICAgICAgICAgICAgICAgICBieSAgdGhlICB2YWx1ZSAgb2YgIHRoZSBICEhJCElTCFNUCFRGCEZJCElMCExFCEUgdmFyaWFibGUgd2hlbiB0aGUgc2hlbGwKKyAgICAgICAgICAgICAgICAgICAgICBJZiAgc2V0LCAgdGhlIGhpc3RvcnkgbGlzdCBpcyBhcHBlbmRlZCB0byB0aGUgZmlsZSBuYW1lZAorICAgICAgICAgICAgICAgICAgICAgIGJ5IHRoZSB2YWx1ZSBvZiB0aGUgSAhISQhJUwhTVAhURghGSQhJTAhMRQhFICB2YXJpYWJsZSAgd2hlbiAgdGhlICBzaGVsbAogICAgICAgICAgICAgICAgICAgICAgIGV4aXRzLCByYXRoZXIgdGhhbiBvdmVyd3JpdGluZyB0aGUgZmlsZS4KICAgICAgICAgICAgICAgaAhoaQhpcwhzdAh0cghyZQhlZQhlZAhkaQhpdAh0Ci0gICAgICAgICAgICAgICAgICAgICAgSWYgc2V0LCBhbmQgcghyZQhlYQhhZAhkbAhsaQhpbghuZQhlIGlzIGJlaW5nIHVzZWQsIGEgdXNlciBpcyBnaXZlbiAgdGhlCisgICAgICAgICAgICAgICAgICAgICAgSWYgIHNldCwgYW5kIHIIcmUIZWEIYWQIZGwIbGkIaW4IbmUIZSBpcyBiZWluZyB1c2VkLCBhIHVzZXIgaXMgZ2l2ZW4gdGhlCiAgICAgICAgICAgICAgICAgICAgICAgb3Bwb3J0dW5pdHkgdG8gcmUtZWRpdCBhIGZhaWxlZCBoaXN0b3J5IHN1YnN0aXR1dGlvbi4KICAgICAgICAgICAgICAgaAhoaQhpcwhzdAh0dgh2ZQhlcghyaQhpZghmeQh5Ci0gICAgICAgICAgICAgICAgICAgICAgSWYgIHNldCwgYW5kIHIIcmUIZWEIYWQIZGwIbGkIaW4IbmUIZSBpcyBiZWluZyB1c2VkLCB0aGUgcmVzdWx0cyBvZiBoaXMtCi0gICAgICAgICAgICAgICAgICAgICAgdG9yeSBzdWJzdGl0dXRpb24gYXJlICBub3QgIGltbWVkaWF0ZWx5ICBwYXNzZWQgIHRvICB0aGUKLSAgICAgICAgICAgICAgICAgICAgICBzaGVsbCAgcGFyc2VyLiAgIEluc3RlYWQsICB0aGUgIHJlc3VsdGluZyBsaW5lIGlzIGxvYWRlZAorICAgICAgICAgICAgICAgICAgICAgIElmIHNldCwgYW5kIHIIcmUIZWEIYWQIZGwIbGkIaW4IbmUIZSBpcyBiZWluZyB1c2VkLCB0aGUgcmVzdWx0cyBvZiAgaGlzLQorICAgICAgICAgICAgICAgICAgICAgIHRvcnkgIHN1YnN0aXR1dGlvbiAgYXJlICBub3QgIGltbWVkaWF0ZWx5ICBwYXNzZWQgdG8gdGhlCisgICAgICAgICAgICAgICAgICAgICAgc2hlbGwgcGFyc2VyLiAgSW5zdGVhZCwgdGhlICByZXN1bHRpbmcgIGxpbmUgIGlzICBsb2FkZWQKICAgICAgICAgICAgICAgICAgICAgICBpbnRvIHRoZSByCHJlCGVhCGFkCGRsCGxpCGluCG5lCGUgZWRpdGluZyBidWZmZXIsIGFsbG93aW5nIGZ1cnRoZXIgbW9kaS0KICAgICAgICAgICAgICAgICAgICAgICBmaWNhdGlvbi4KICAgICAgICAgICAgICAgaAhobwhvcwhzdAh0YwhjbwhvbQhtcAhwbAhsZQhldAh0ZQhlCiAgICAgICAgICAgICAgICAgICAgICAgSWYgc2V0LCBhbmQgcghyZQhlYQhhZAhkbAhsaQhpbghuZQhlIGlzIGJlaW5nIHVzZWQsIGIIYmEIYXMIc2gIaCB3aWxsIGF0dGVtcHQgdG8KLSAgICAgICAgICAgICAgICAgICAgICBwZXJmb3JtIGhvc3RuYW1lIGNvbXBsZXRpb24gd2hlbiBhIHdvcmQgY29udGFpbmluZyAgYSAgQAhACi0gICAgICAgICAgICAgICAgICAgICAgaXMgICBiZWluZyAgY29tcGxldGVkICAoc2VlICBDCENvCG9tCG1wCHBsCGxlCGV0CHRpCGluCG5nCGcgIHVuZGVyICBSCFJFCEVBCEFECERMCExJCElOCE5FCEUKKyAgICAgICAgICAgICAgICAgICAgICBwZXJmb3JtICBob3N0bmFtZSAgY29tcGxldGlvbiB3aGVuIGEgd29yZCBjb250YWluaW5nIGEgQAhACisgICAgICAgICAgICAgICAgICAgICAgaXMgIGJlaW5nICBjb21wbGV0ZWQgIChzZWUgIEMIQ28Ib20IbXAIcGwIbGUIZXQIdGkIaW4IbmcIZyAgdW5kZXIgICBSCFJFCEVBCEFECERMCExJCElOCE5FCEUKICAgICAgICAgICAgICAgICAgICAgICBhYm92ZSkuICBUaGlzIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4KICAgICAgICAgICAgICAgaAhodQh1cAhwbwhvbghuZQhleAh4aQhpdAh0CiAgICAgICAgICAgICAgICAgICAgICAgSWYgc2V0LCBiCGJhCGFzCHNoCGggd2lsbCBzZW5kIFMIU0kISUcIR0gISFUIVVAIUCB0byBhbGwgam9icyB3aGVuIGFuIGludGVyLQogICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZSBsb2dpbiBzaGVsbCBleGl0cy4KICAgICAgICAgICAgICAgaQhpbghudAh0ZQhlcghyYQhhYwhjdAh0aQhpdgh2ZQhlXwhfYwhjbwhvbQhtbQhtZQhlbghudAh0cwhzCiAgICAgICAgICAgICAgICAgICAgICAgSWYgc2V0LCBhbGxvdyBhIHdvcmQgYmVnaW5uaW5nIHdpdGggIwgjIHRvIGNhdXNlIHRoYXQgd29yZAotICAgICAgICAgICAgICAgICAgICAgIGFuZCBhbGwgcmVtYWluaW5nIGNoYXJhY3RlcnMgb24gdGhhdCBsaW5lIHRvIGJlICBpZ25vcmVkCi0gICAgICAgICAgICAgICAgICAgICAgaW4gIGFuICBpbnRlcmFjdGl2ZSAgc2hlbGwgIChzZWUgIEMIQ08IT00ITU0ITUUIRU4ITlQIVFMIUyBhYm92ZSkuICBUaGlzCisgICAgICAgICAgICAgICAgICAgICAgYW5kICBhbGwgcmVtYWluaW5nIGNoYXJhY3RlcnMgb24gdGhhdCBsaW5lIHRvIGJlIGlnbm9yZWQKKyAgICAgICAgICAgICAgICAgICAgICBpbiBhbiBpbnRlcmFjdGl2ZSAgc2hlbGwgIChzZWUgIEMIQ08IT00ITU0ITUUIRU4ITlQIVFMIUyAgYWJvdmUpLiAgIFRoaXMKICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24gaXMgZW5hYmxlZCBieSBkZWZhdWx0LgotICAgICAgICAgICAgICBsCGxpCGl0CHRoCGhpCGlzCHN0CHQgSWYgc2V0LCBhbmQgdGhlIGMIY20IbWQIZGgIaGkIaXMIc3QIdCBvcHRpb24gIGlzICBlbmFibGVkLCAgbXVsdGktbGluZQorICAgICAgICAgICAgICBsCGxpCGl0CHRoCGhpCGlzCHN0CHQgSWYgIHNldCwgIGFuZCAgdGhlIGMIY20IbWQIZGgIaGkIaXMIc3QIdCBvcHRpb24gaXMgZW5hYmxlZCwgbXVsdGktbGluZQogICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmRzIGFyZSBzYXZlZCB0byB0aGUgaGlzdG9yeSB3aXRoIGVtYmVkZGVkIG5ld2xpbmVzCiAgICAgICAgICAgICAgICAgICAgICAgcmF0aGVyIHRoYW4gdXNpbmcgc2VtaWNvbG9uIHNlcGFyYXRvcnMgd2hlcmUgcG9zc2libGUuCiAgICAgICAgICAgICAgIGwIbG8Ib2cIZ2kIaW4Ibl8IX3MIc2gIaGUIZWwIbGwIbAotICAgICAgICAgICAgICAgICAgICAgIFRoZSBzaGVsbCBzZXRzIHRoaXMgb3B0aW9uIGlmIGl0IGlzIHN0YXJ0ZWQgYXMgIGEgIGxvZ2luCi0gICAgICAgICAgICAgICAgICAgICAgc2hlbGwgIChzZWUgIEkISU4ITlYIVk8IT0MIQ0EIQVQIVEkISU8IT04ITiAgYWJvdmUpLiAgIFRoZSAgdmFsdWUgbWF5IG5vdCBiZQorICAgICAgICAgICAgICAgICAgICAgIFRoZSAgc2hlbGwgIHNldHMgdGhpcyBvcHRpb24gaWYgaXQgaXMgc3RhcnRlZCBhcyBhIGxvZ2luCisgICAgICAgICAgICAgICAgICAgICAgc2hlbGwgKHNlZSBJCElOCE5WCFZPCE9DCENBCEFUCFRJCElPCE9OCE4gYWJvdmUpLiAgIFRoZSAgdmFsdWUgIG1heSAgbm90ICBiZQogICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZWQuCiAgICAgICAgICAgICAgIG0IbWEIYWkIaWwIbHcId2EIYXIIcm4IbgotICAgICAgICAgICAgICAgICAgICAgIElmIHNldCwgYW5kIGEgZmlsZSB0aGF0IGIIYmEIYXMIc2gIaCBpcyBjaGVja2luZyAgZm9yICBtYWlsICBoYXMKLSAgICAgICAgICAgICAgICAgICAgICBiZWVuICBhY2Nlc3NlZCAgc2luY2UgIHRoZSBsYXN0IHRpbWUgaXQgd2FzIGNoZWNrZWQsIHRoZQotICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgYGBUaGUgbWFpbCBpbiBfCG1fCGFfCGlfCGxfCGZfCGlfCGxfCGUgaGFzIGJlZW4gcmVhZCcnICBpcyAgZGlzLQorICAgICAgICAgICAgICAgICAgICAgIElmICBzZXQsICBhbmQgIGEgZmlsZSB0aGF0IGIIYmEIYXMIc2gIaCBpcyBjaGVja2luZyBmb3IgbWFpbCBoYXMKKyAgICAgICAgICAgICAgICAgICAgICBiZWVuIGFjY2Vzc2VkIHNpbmNlIHRoZSBsYXN0IHRpbWUgaXQgIHdhcyAgY2hlY2tlZCwgIHRoZQorICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgIGBgVGhlICBtYWlsIGluIF8IbV8IYV8IaV8IbF8IZl8IaV8IbF8IZSBoYXMgYmVlbiByZWFkJycgaXMgZGlzLQogICAgICAgICAgICAgICAgICAgICAgIHBsYXllZC4KICAgICAgICAgICAgICAgbghubwhvXwhfZQhlbQhtcAhwdAh0eQh5XwhfYwhjbQhtZAhkXwhfYwhjbwhvbQhtcAhwbAhsZQhldAh0aQhpbwhvbghuCi0gICAgICAgICAgICAgICAgICAgICAgSWYgIHNldCwgIGFuZCAgcghyZQhlYQhhZAhkbAhsaQhpbghuZQhlICBpcyAgYmVpbmcgIHVzZWQsICBiCGJhCGFzCHNoCGggd2lsbCBub3QKKyAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIGFuZCAgcghyZQhlYQhhZAhkbAhsaQhpbghuZQhlICBpcyAgYmVpbmcgIHVzZWQsICBiCGJhCGFzCHNoCGggIHdpbGwgIG5vdAogICAgICAgICAgICAgICAgICAgICAgIGF0dGVtcHQgdG8gc2VhcmNoIHRoZSBQCFBBCEFUCFRICEggZm9yIHBvc3NpYmxlIGNvbXBsZXRpb25zIHdoZW4KICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCBvbiBhbiBlbXB0eSBsaW5lLgogICAgICAgICAgICAgICBuCG5vCG9jCGNhCGFzCHNlCGVnCGdsCGxvCG9iCGIKLSAgICAgICAgICAgICAgICAgICAgICBJZiAgc2V0LCAgYghiYQhhcwhzaAhoICBtYXRjaGVzICBmaWxlbmFtZXMgaW4gYSBjYXNlLWluc2Vuc2l0aXZlCisgICAgICAgICAgICAgICAgICAgICAgSWYgc2V0LCBiCGJhCGFzCHNoCGggbWF0Y2hlcyAgZmlsZW5hbWVzICBpbiAgYSAgY2FzZS1pbnNlbnNpdGl2ZQogICAgICAgICAgICAgICAgICAgICAgIGZhc2hpb24gd2hlbiBwZXJmb3JtaW5nIHBhdGhuYW1lIGV4cGFuc2lvbiAoc2VlIFAIUGEIYXQIdGgIaG4IbmEIYW0IbWUIZQogICAgICAgICAgICAgICAgICAgICAgIEUIRXgIeHAIcGEIYW4IbnMIc2kIaW8Ib24IbiBhYm92ZSkuCiAgICAgICAgICAgICAgIG4Ibm8Ib2MIY2EIYXMIc2UIZW0IbWEIYXQIdGMIY2gIaAotICAgICAgICAgICAgICAgICAgICAgIElmICBzZXQsICBiCGJhCGFzCHNoCGggIG1hdGNoZXMgIHBhdHRlcm5zICBpbiBhIGNhc2UtaW5zZW5zaXRpdmUKKyAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIGIIYmEIYXMIc2gIaCAgbWF0Y2hlcyAgcGF0dGVybnMgIGluICBhICBjYXNlLWluc2Vuc2l0aXZlCiAgICAgICAgICAgICAgICAgICAgICAgZmFzaGlvbiB3aGVuIHBlcmZvcm1pbmcgbWF0Y2hpbmcgd2hpbGUgZXhlY3V0aW5nIGMIY2EIYXMIc2UIZSBvcgogICAgICAgICAgICAgICAgICAgICAgIFsIW1sIWyBjb25kaXRpb25hbCBjb21tYW5kcy4KICAgICAgICAgICAgICAgbghudQh1bAhsbAhsZwhnbAhsbwhvYghiCi0gICAgICAgICAgICAgICAgICAgICAgSWYgIHNldCwgIGIIYmEIYXMIc2gIaCBhbGxvd3MgcGF0dGVybnMgd2hpY2ggbWF0Y2ggbm8gZmlsZXMgKHNlZQotICAgICAgICAgICAgICAgICAgICAgIFAIUGEIYXQIdGgIaG4IbmEIYW0IbWUIZSBFCEV4CHhwCHBhCGFuCG5zCHNpCGlvCG9uCG4gYWJvdmUpIHRvIGV4cGFuZCB0byAgYSAgbnVsbCAgc3RyaW5nLAorICAgICAgICAgICAgICAgICAgICAgIElmIHNldCwgYghiYQhhcwhzaAhoIGFsbG93cyBwYXR0ZXJucyB3aGljaCBtYXRjaCBubyAgZmlsZXMgIChzZWUKKyAgICAgICAgICAgICAgICAgICAgICBQCFBhCGF0CHRoCGhuCG5hCGFtCG1lCGUgIEUIRXgIeHAIcGEIYW4IbnMIc2kIaW8Ib24IbiAgYWJvdmUpICB0byBleHBhbmQgdG8gYSBudWxsIHN0cmluZywKICAgICAgICAgICAgICAgICAgICAgICByYXRoZXIgdGhhbiB0aGVtc2VsdmVzLgogICAgICAgICAgICAgICBwCHByCHJvCG9nCGdjCGNvCG9tCG1wCHAKICAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIHRoZSBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmYWNpbGl0aWVzIChzZWUgUAhQcghybwhvLQgtCkBAIC0xMjkzLDQ3ICsxMzMyLDQ3IEBACiAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZCBieSBkZWZhdWx0LgogICAgICAgICAgICAgICBwCHByCHJvCG9tCG1wCHB0CHR2CHZhCGFyCHJzCHMKICAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIHByb21wdCBzdHJpbmdzIHVuZGVyZ28gcGFyYW1ldGVyIGV4cGFuc2lvbiwgY29tLQotICAgICAgICAgICAgICAgICAgICAgIG1hbmQgIHN1YnN0aXR1dGlvbiwgIGFyaXRobWV0aWMgIGV4cGFuc2lvbiwgIGFuZCAgIHF1b3RlCi0gICAgICAgICAgICAgICAgICAgICAgcmVtb3ZhbCAgYWZ0ZXIgIGJlaW5nIGV4cGFuZGVkIGFzIGRlc2NyaWJlZCBpbiBQCFBSCFJPCE9NCE1QCFBUCFRJCElOCE5HCEcKKyAgICAgICAgICAgICAgICAgICAgICBtYW5kICAgc3Vic3RpdHV0aW9uLCAgYXJpdGhtZXRpYyAgZXhwYW5zaW9uLCAgYW5kICBxdW90ZQorICAgICAgICAgICAgICAgICAgICAgIHJlbW92YWwgYWZ0ZXIgYmVpbmcgZXhwYW5kZWQgYXMgZGVzY3JpYmVkICBpbiAgUAhQUghSTwhPTQhNUAhQVAhUSQhJTghORwhHCiAgICAgICAgICAgICAgICAgICAgICAgYWJvdmUuICBUaGlzIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuCiAgICAgICAgICAgICAgIHIIcmUIZXMIc3QIdHIIcmkIaWMIY3QIdGUIZWQIZF8IX3MIc2gIaGUIZWwIbGwIbAotICAgICAgICAgICAgICAgICAgICAgIFRoZSAgc2hlbGwgIHNldHMgIHRoaXMgIG9wdGlvbiAgaWYgIGl0ICBpcyAgc3RhcnRlZCAgIGluCisgICAgICAgICAgICAgICAgICAgICAgVGhlICAgc2hlbGwgIHNldHMgIHRoaXMgIG9wdGlvbiAgaWYgIGl0ICBpcyAgc3RhcnRlZCAgaW4KICAgICAgICAgICAgICAgICAgICAgICByZXN0cmljdGVkIG1vZGUgKHNlZSBSCFJFCEVTCFNUCFRSCFJJCElDCENUCFRFCEVECEQgUwhTSAhIRQhFTAhMTAhMIGJlbG93KS4gIFRoZSB2YWx1ZQotICAgICAgICAgICAgICAgICAgICAgIG1heSBub3QgYmUgY2hhbmdlZC4gIFRoaXMgaXMgbm90IHJlc2V0IHdoZW4gdGhlICBzdGFydHVwCi0gICAgICAgICAgICAgICAgICAgICAgZmlsZXMgIGFyZSAgZXhlY3V0ZWQsIGFsbG93aW5nIHRoZSBzdGFydHVwIGZpbGVzIHRvIGRpcy0KKyAgICAgICAgICAgICAgICAgICAgICBtYXkgIG5vdCBiZSBjaGFuZ2VkLiAgVGhpcyBpcyBub3QgcmVzZXQgd2hlbiB0aGUgc3RhcnR1cAorICAgICAgICAgICAgICAgICAgICAgIGZpbGVzIGFyZSBleGVjdXRlZCwgYWxsb3dpbmcgdGhlIHN0YXJ0dXAgZmlsZXMgIHRvICBkaXMtCiAgICAgICAgICAgICAgICAgICAgICAgY292ZXIgd2hldGhlciBvciBub3QgYSBzaGVsbCBpcyByZXN0cmljdGVkLgogICAgICAgICAgICAgICBzCHNoCGhpCGlmCGZ0CHRfCF92CHZlCGVyCHJiCGJvCG9zCHNlCGUKLSAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIHRoZSBzCHNoCGhpCGlmCGZ0CHQgYnVpbHRpbiBwcmludHMgYW4gZXJyb3IgIG1lc3NhZ2UgIHdoZW4KKyAgICAgICAgICAgICAgICAgICAgICBJZiAgc2V0LCAgdGhlIHMIc2gIaGkIaWYIZnQIdCBidWlsdGluIHByaW50cyBhbiBlcnJvciBtZXNzYWdlIHdoZW4KICAgICAgICAgICAgICAgICAgICAgICB0aGUgc2hpZnQgY291bnQgZXhjZWVkcyB0aGUgbnVtYmVyIG9mIHBvc2l0aW9uYWwgcGFyYW1lLQogICAgICAgICAgICAgICAgICAgICAgIHRlcnMuCiAgICAgICAgICAgICAgIHMIc28Ib3UIdXIIcmMIY2UIZXAIcGEIYXQIdGgIaAogICAgICAgICAgICAgICAgICAgICAgIElmIHNldCwgdGhlIHMIc28Ib3UIdXIIcmMIY2UIZSAoLgguKSBidWlsdGluIHVzZXMgdGhlIHZhbHVlIG9mIFAIUEEIQVQIVEgISCB0bwotICAgICAgICAgICAgICAgICAgICAgIGZpbmQgIHRoZSAgZGlyZWN0b3J5ICBjb250YWluaW5nIHRoZSBmaWxlIHN1cHBsaWVkIGFzIGFuCisgICAgICAgICAgICAgICAgICAgICAgZmluZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIGZpbGUgIHN1cHBsaWVkICBhcyAgYW4KICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVudC4gIFRoaXMgb3B0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4KICAgICAgICAgICAgICAgeAh4cAhwZwhnXwhfZQhlYwhjaAhobwhvCi0gICAgICAgICAgICAgICAgICAgICAgSWYgIHNldCwgIHRoZSAgZQhlYwhjaAhobwhvICBidWlsdGluICBleHBhbmRzICAgYmFja3NsYXNoLWVzY2FwZQorICAgICAgICAgICAgICAgICAgICAgIElmICAgc2V0LCAgdGhlICBlCGVjCGNoCGhvCG8gIGJ1aWx0aW4gIGV4cGFuZHMgIGJhY2tzbGFzaC1lc2NhcGUKICAgICAgICAgICAgICAgICAgICAgICBzZXF1ZW5jZXMgYnkgZGVmYXVsdC4KICAgICAgICBzCHN1CHVzCHNwCHBlCGVuCG5kCGQgWy0ILWYIZl0KLSAgICAgICAgICAgICAgU3VzcGVuZCAgdGhlIGV4ZWN1dGlvbiBvZiB0aGlzIHNoZWxsIHVudGlsIGl0IHJlY2VpdmVzIGEgUwhTSQhJRwhHQwhDTwhPTghOVAhUCisgICAgICAgICAgICAgIFN1c3BlbmQgdGhlIGV4ZWN1dGlvbiBvZiB0aGlzIHNoZWxsIHVudGlsIGl0IHJlY2VpdmVzIGEgIFMIU0kISUcIR0MIQ08IT04ITlQIVAogICAgICAgICAgICAgICBzaWduYWwuICBBIGxvZ2luIHNoZWxsIGNhbm5vdCBiZSBzdXNwZW5kZWQ7IHRoZSAtCC1mCGYgb3B0aW9uIGNhbiBiZQogICAgICAgICAgICAgICB1c2VkIHRvIG92ZXJyaWRlIHRoaXMgYW5kIGZvcmNlIHRoZSBzdXNwZW5zaW9uLiAgVGhlIHJldHVybiBzdGEtCi0gICAgICAgICAgICAgIHR1cyBpcyAwIHVubGVzcyB0aGUgc2hlbGwgaXMgYSBsb2dpbiBzaGVsbCBhbmQgLQgtZghmICBpcyAgbm90ICBzdXAtCisgICAgICAgICAgICAgIHR1cyAgaXMgIDAgIHVubGVzcyB0aGUgc2hlbGwgaXMgYSBsb2dpbiBzaGVsbCBhbmQgLQgtZghmIGlzIG5vdCBzdXAtCiAgICAgICAgICAgICAgIHBsaWVkLCBvciBpZiBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZC4KICAgICAgICB0CHRlCGVzCHN0CHQgXwhlXwh4XwhwXwhyCiAgICAgICAgWwhbIF8IZV8IeF8IcF8IciBdCF0KLSAgICAgICAgICAgICAgUmV0dXJuICBhICBzdGF0dXMgIG9mICAwIG9yIDEgZGVwZW5kaW5nIG9uIHRoZSBldmFsdWF0aW9uIG9mIHRoZQotICAgICAgICAgICAgICBjb25kaXRpb25hbCBleHByZXNzaW9uIF8IZV8IeF8IcF8Ici4gIEVhY2ggb3BlcmF0b3IgYW5kIG9wZXJhbmQgbXVzdCAgYmUKLSAgICAgICAgICAgICAgYSAgc2VwYXJhdGUgYXJndW1lbnQuICBFeHByZXNzaW9ucyBhcmUgY29tcG9zZWQgb2YgdGhlIHByaW1hcmllcwotICAgICAgICAgICAgICBkZXNjcmliZWQgYWJvdmUgdW5kZXIgQwhDTwhPTghORAhESQhJVAhUSQhJTwhPTghOQQhBTAhMIEUIRVgIWFAIUFIIUkUIRVMIU1MIU0kISU8IT04ITlMIUy4gICB0CHRlCGVzCHN0CHQgIGRvZXMgIG5vdAorICAgICAgICAgICAgICBSZXR1cm4gYSBzdGF0dXMgb2YgMCBvciAxIGRlcGVuZGluZyBvbiAgdGhlICBldmFsdWF0aW9uICBvZiAgdGhlCisgICAgICAgICAgICAgIGNvbmRpdGlvbmFsICBleHByZXNzaW9uIF8IZV8IeF8IcF8Ici4gIEVhY2ggb3BlcmF0b3IgYW5kIG9wZXJhbmQgbXVzdCBiZQorICAgICAgICAgICAgICBhIHNlcGFyYXRlIGFyZ3VtZW50LiAgRXhwcmVzc2lvbnMgYXJlIGNvbXBvc2VkIG9mIHRoZSAgcHJpbWFyaWVzCisgICAgICAgICAgICAgIGRlc2NyaWJlZCAgYWJvdmUgIHVuZGVyICBDCENPCE9OCE5ECERJCElUCFRJCElPCE9OCE5BCEFMCEwgRQhFWAhYUAhQUghSRQhFUwhTUwhTSQhJTwhPTghOUwhTLiAgdAh0ZQhlcwhzdAh0IGRvZXMgbm90CiAgICAgICAgICAgICAgIGFjY2VwdCBhbnkgb3B0aW9ucywgbm9yIGRvZXMgaXQgYWNjZXB0IGFuZCBpZ25vcmUgYW4gYXJndW1lbnQgb2YKICAgICAgICAgICAgICAgLQgtLQgtIGFzIHNpZ25pZnlpbmcgdGhlIGVuZCBvZiBvcHRpb25zLgogCi0gICAgICAgICAgICAgIEV4cHJlc3Npb25zIG1heSAgYmUgIGNvbWJpbmVkICB1c2luZyAgdGhlICBmb2xsb3dpbmcgIG9wZXJhdG9ycywKKyAgICAgICAgICAgICAgRXhwcmVzc2lvbnMgIG1heSAgYmUgIGNvbWJpbmVkICB1c2luZyAgdGhlICBmb2xsb3dpbmcgb3BlcmF0b3JzLAogICAgICAgICAgICAgICBsaXN0ZWQgIGluICBkZWNyZWFzaW5nICBvcmRlciAgb2YgIHByZWNlZGVuY2UuICAgVGhlICBldmFsdWF0aW9uCiAgICAgICAgICAgICAgIGRlcGVuZHMgb24gdGhlIG51bWJlciBvZiBhcmd1bWVudHM7IHNlZSBiZWxvdy4KICAgICAgICAgICAgICAgIQghIF8IZV8IeF8IcF8IciBUcnVlIGlmIF8IZV8IeF8IcF8IciBpcyBmYWxzZS4KICAgICAgICAgICAgICAgKAgoIF8IZV8IeF8IcF8IciApCCkKLSAgICAgICAgICAgICAgICAgICAgIFJldHVybnMgdGhlIHZhbHVlIG9mIF8IZV8IeF8IcF8Ici4gIFRoaXMgbWF5IGJlIHVzZWQgdG8gIG92ZXJyaWRlCisgICAgICAgICAgICAgICAgICAgICBSZXR1cm5zICB0aGUgdmFsdWUgb2YgXwhlXwh4XwhwXwhyLiAgVGhpcyBtYXkgYmUgdXNlZCB0byBvdmVycmlkZQogICAgICAgICAgICAgICAgICAgICAgdGhlIG5vcm1hbCBwcmVjZWRlbmNlIG9mIG9wZXJhdG9ycy4KICAgICAgICAgICAgICAgXwhlXwh4XwhwXwhyXwgxIC1hCGEgXwhlXwh4XwhwXwhyXwgyCiAgICAgICAgICAgICAgICAgICAgICBUcnVlIGlmIGJvdGggXwhlXwh4XwhwXwhyXwgxIGFuZCBfCGVfCHhfCHBfCHJfCDIgYXJlIHRydWUuCkBAIC0xMzUwLDczICsxMzg5LDc4IEBACiAgICAgICAgICAgICAgICAgICAgICBudWxsLgogICAgICAgICAgICAgICAyIGFyZ3VtZW50cwogICAgICAgICAgICAgICAgICAgICAgSWYgdGhlIGZpcnN0IGFyZ3VtZW50IGlzICEIISwgdGhlIGV4cHJlc3Npb24gaXMgdHJ1ZSBpZiBhbmQKLSAgICAgICAgICAgICAgICAgICAgIG9ubHkgaWYgdGhlIHNlY29uZCBhcmd1bWVudCBpcyBudWxsLiAgSWYgdGhlIGZpcnN0ICBhcmd1LQotICAgICAgICAgICAgICAgICAgICAgbWVudCAgaXMgIG9uZSAgb2YgIHRoZSB1bmFyeSBjb25kaXRpb25hbCBvcGVyYXRvcnMgbGlzdGVkCi0gICAgICAgICAgICAgICAgICAgICBhYm92ZSB1bmRlciBDCENPCE9OCE5ECERJCElUCFRJCElPCE9OCE5BCEFMCEwgRQhFWAhYUAhQUghSRQhFUwhTUwhTSQhJTwhPTghOUwhTLCAgdGhlICBleHByZXNzaW9uICBpcworICAgICAgICAgICAgICAgICAgICAgb25seSAgaWYgdGhlIHNlY29uZCBhcmd1bWVudCBpcyBudWxsLiAgSWYgdGhlIGZpcnN0IGFyZ3UtCisgICAgICAgICAgICAgICAgICAgICBtZW50IGlzIG9uZSBvZiB0aGUgIHVuYXJ5ICBjb25kaXRpb25hbCAgb3BlcmF0b3JzICBsaXN0ZWQKKyAgICAgICAgICAgICAgICAgICAgIGFib3ZlICB1bmRlciAgQwhDTwhPTghORAhESQhJVAhUSQhJTwhPTghOQQhBTAhMICBFCEVYCFhQCFBSCFJFCEVTCFNTCFNJCElPCE9OCE5TCFMsIHRoZSBleHByZXNzaW9uIGlzCiAgICAgICAgICAgICAgICAgICAgICB0cnVlIGlmIHRoZSB1bmFyeSB0ZXN0IGlzIHRydWUuICBJZiB0aGUgZmlyc3QgYXJndW1lbnQgaXMKICAgICAgICAgICAgICAgICAgICAgIG5vdCBhIHZhbGlkIHVuYXJ5IGNvbmRpdGlvbmFsIG9wZXJhdG9yLCB0aGUgZXhwcmVzc2lvbiBpcwogICAgICAgICAgICAgICAgICAgICAgZmFsc2UuCiAgICAgICAgICAgICAgIDMgYXJndW1lbnRzCi0gICAgICAgICAgICAgICAgICAgICBJZiAgdGhlICBzZWNvbmQgYXJndW1lbnQgaXMgb25lIG9mIHRoZSBiaW5hcnkgY29uZGl0aW9uYWwKKyAgICAgICAgICAgICAgICAgICAgIElmIHRoZSBzZWNvbmQgYXJndW1lbnQgaXMgb25lIG9mIHRoZSAgYmluYXJ5ICBjb25kaXRpb25hbAogICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JzIGxpc3RlZCBhYm92ZSB1bmRlciBDCENPCE9OCE5ECERJCElUCFRJCElPCE9OCE5BCEFMCEwgRQhFWAhYUAhQUghSRQhFUwhTUwhTSQhJTwhPTghOUwhTLCB0aGUKICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCBvZiB0aGUgZXhwcmVzc2lvbiBpcyB0aGUgcmVzdWx0IG9mIHRoZSBiaW5hcnkgdGVzdAotICAgICAgICAgICAgICAgICAgICAgdXNpbmcgdGhlIGZpcnN0IGFuZCB0aGlyZCBhcmd1bWVudHMgYXMgb3BlcmFuZHMuICBUaGUgIC0ILWEIYQotICAgICAgICAgICAgICAgICAgICAgYW5kICAtCC1vCG8gIG9wZXJhdG9ycyAgYXJlICBjb25zaWRlcmVkIGJpbmFyeSBvcGVyYXRvcnMgd2hlbgotICAgICAgICAgICAgICAgICAgICAgdGhlcmUgYXJlIHRocmVlIGFyZ3VtZW50cy4gIElmIHRoZSBmaXJzdCBhcmd1bWVudCAgaXMgICEIISwKLSAgICAgICAgICAgICAgICAgICAgIHRoZSAgdmFsdWUgaXMgdGhlIG5lZ2F0aW9uIG9mIHRoZSB0d28tYXJndW1lbnQgdGVzdCB1c2luZworICAgICAgICAgICAgICAgICAgICAgdXNpbmcgIHRoZSBmaXJzdCBhbmQgdGhpcmQgYXJndW1lbnRzIGFzIG9wZXJhbmRzLiAgVGhlIC0ILWEIYQorICAgICAgICAgICAgICAgICAgICAgYW5kIC0ILW8IbyBvcGVyYXRvcnMgYXJlICBjb25zaWRlcmVkICBiaW5hcnkgIG9wZXJhdG9ycyAgd2hlbgorICAgICAgICAgICAgICAgICAgICAgdGhlcmUgIGFyZSAgdGhyZWUgYXJndW1lbnRzLiAgSWYgdGhlIGZpcnN0IGFyZ3VtZW50IGlzICEIISwKKyAgICAgICAgICAgICAgICAgICAgIHRoZSB2YWx1ZSBpcyB0aGUgbmVnYXRpb24gb2YgdGhlIHR3by1hcmd1bWVudCB0ZXN0ICB1c2luZwogICAgICAgICAgICAgICAgICAgICAgdGhlIHNlY29uZCBhbmQgdGhpcmQgYXJndW1lbnRzLiAgSWYgdGhlIGZpcnN0IGFyZ3VtZW50IGlzCiAgICAgICAgICAgICAgICAgICAgICBleGFjdGx5ICgIKCBhbmQgdGhlIHRoaXJkIGFyZ3VtZW50IGlzIGV4YWN0bHkgKQgpLCB0aGUgcmVzdWx0Ci0gICAgICAgICAgICAgICAgICAgICBpcyB0aGUgb25lLWFyZ3VtZW50IHRlc3Qgb2YgdGhlIHNlY29uZCBhcmd1bWVudC4gICBPdGhlci0KKyAgICAgICAgICAgICAgICAgICAgIGlzICB0aGUgb25lLWFyZ3VtZW50IHRlc3Qgb2YgdGhlIHNlY29uZCBhcmd1bWVudC4gIE90aGVyLQogICAgICAgICAgICAgICAgICAgICAgd2lzZSwgdGhlIGV4cHJlc3Npb24gaXMgZmFsc2UuCiAgICAgICAgICAgICAgIDQgYXJndW1lbnRzCiAgICAgICAgICAgICAgICAgICAgICBJZiB0aGUgZmlyc3QgYXJndW1lbnQgaXMgIQghLCB0aGUgcmVzdWx0IGlzIHRoZSBuZWdhdGlvbiBvZgotICAgICAgICAgICAgICAgICAgICAgdGhlIHRocmVlLWFyZ3VtZW50IGV4cHJlc3Npb24gY29tcG9zZWQgb2YgIHRoZSAgcmVtYWluaW5nCisgICAgICAgICAgICAgICAgICAgICB0aGUgIHRocmVlLWFyZ3VtZW50ICBleHByZXNzaW9uIGNvbXBvc2VkIG9mIHRoZSByZW1haW5pbmcKICAgICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50cy4gIE90aGVyd2lzZSwgdGhlIGV4cHJlc3Npb24gaXMgcGFyc2VkIGFuZCBldmFsLQotICAgICAgICAgICAgICAgICAgICAgdWF0ZWQgYWNjb3JkaW5nIHRvICBwcmVjZWRlbmNlICB1c2luZyAgdGhlICBydWxlcyAgbGlzdGVkCisgICAgICAgICAgICAgICAgICAgICB1YXRlZCAgYWNjb3JkaW5nICB0byAgcHJlY2VkZW5jZSAgdXNpbmcgIHRoZSBydWxlcyBsaXN0ZWQKICAgICAgICAgICAgICAgICAgICAgIGFib3ZlLgogICAgICAgICAgICAgICA1IG9yIG1vcmUgYXJndW1lbnRzCi0gICAgICAgICAgICAgICAgICAgICBUaGUgIGV4cHJlc3Npb24gIGlzICBwYXJzZWQgIGFuZCAgZXZhbHVhdGVkICBhY2NvcmRpbmcgdG8KKyAgICAgICAgICAgICAgICAgICAgIFRoZSBleHByZXNzaW9uICBpcyAgcGFyc2VkICBhbmQgIGV2YWx1YXRlZCAgYWNjb3JkaW5nICB0bwogICAgICAgICAgICAgICAgICAgICAgcHJlY2VkZW5jZSB1c2luZyB0aGUgcnVsZXMgbGlzdGVkIGFib3ZlLgogCi0gICAgICAgdAh0aQhpbQhtZQhlcwhzICBQcmludCB0aGUgYWNjdW11bGF0ZWQgdXNlciBhbmQgc3lzdGVtIHRpbWVzIGZvciAgdGhlICBzaGVsbCAgYW5kCisgICAgICAgdAh0aQhpbQhtZQhlcwhzICBQcmludCAgdGhlICBhY2N1bXVsYXRlZCAgdXNlciBhbmQgc3lzdGVtIHRpbWVzIGZvciB0aGUgc2hlbGwgYW5kCiAgICAgICAgICAgICAgIGZvciBwcm9jZXNzZXMgcnVuIGZyb20gdGhlIHNoZWxsLiAgVGhlIHJldHVybiBzdGF0dXMgaXMgMC4KIAogICAgICAgIHQIdHIIcmEIYXAIcCBbLQgtbAhscAhwXSBbW18IYV8Icl8IZ10gXwhzXwhpXwhnXwhzXwhwXwhlXwhjIC4uLl0KLSAgICAgICAgICAgICAgVGhlICBjb21tYW5kICBfCGFfCHJfCGcgIGlzICB0byAgYmUgIHJlYWQgIGFuZCBleGVjdXRlZCB3aGVuIHRoZSBzaGVsbAotICAgICAgICAgICAgICByZWNlaXZlcyBzaWduYWwocykgXwhzXwhpXwhnXwhzXwhwXwhlXwhjLiAgSWYgXwhhXwhyXwhnIGlzIGFic2VudCAoYW5kICB0aGVyZSAgaXMgIGEKLSAgICAgICAgICAgICAgc2luZ2xlICBfCHNfCGlfCGdfCHNfCHBfCGVfCGMpICBvciAgLQgtLCAgZWFjaCAgc3BlY2lmaWVkIHNpZ25hbCBpcyByZXNldCB0byBpdHMKLSAgICAgICAgICAgICAgb3JpZ2luYWwgZGlzcG9zaXRpb24gKHRoZSB2YWx1ZSBpdCAgaGFkICB1cG9uICBlbnRyYW5jZSAgdG8gIHRoZQotICAgICAgICAgICAgICBzaGVsbCkuICAgSWYgXwhhXwhyXwhnIGlzIHRoZSBudWxsIHN0cmluZyB0aGUgc2lnbmFsIHNwZWNpZmllZCBieSBlYWNoCi0gICAgICAgICAgICAgIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyBpcyBpZ25vcmVkIGJ5IHRoZSBzaGVsbCBhbmQgYnkgdGhlIGNvbW1hbmRzIGl0ICBpbnZva2VzLgotICAgICAgICAgICAgICBJZiAgXwhhXwhyXwhnICBpcyAgbm90IHByZXNlbnQgYW5kIC0ILXAIcCBoYXMgYmVlbiBzdXBwbGllZCwgdGhlbiB0aGUgdHJhcAotICAgICAgICAgICAgICBjb21tYW5kcyBhc3NvY2lhdGVkIHdpdGggZWFjaCAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjICBhcmUgIGRpc3BsYXllZC4gICBJZiAgbm8KLSAgICAgICAgICAgICAgYXJndW1lbnRzICBhcmUgIHN1cHBsaWVkIG9yIGlmIG9ubHkgLQgtcAhwIGlzIGdpdmVuLCB0CHRyCHJhCGFwCHAgcHJpbnRzIHRoZQotICAgICAgICAgICAgICBsaXN0IG9mIGNvbW1hbmRzIGFzc29jaWF0ZWQgd2l0aCBlYWNoICBzaWduYWwuICAgVGhlICAtCC1sCGwgIG9wdGlvbgotICAgICAgICAgICAgICBjYXVzZXMgIHRoZSBzaGVsbCB0byBwcmludCBhIGxpc3Qgb2Ygc2lnbmFsIG5hbWVzIGFuZCB0aGVpciBjb3ItCi0gICAgICAgICAgICAgIHJlc3BvbmRpbmcgbnVtYmVycy4gICBFYWNoICBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgIGlzICBlaXRoZXIgIGEgIHNpZ25hbCAgbmFtZQotICAgICAgICAgICAgICBkZWZpbmVkICBpbiAgPF8Ic18IaV8IZ18Ibl8IYV8IbF8ILl8IaD4sICBvciAgYSBzaWduYWwgbnVtYmVyLiAgU2lnbmFsIG5hbWVzIGFyZQotICAgICAgICAgICAgICBjYXNlIGluc2Vuc2l0aXZlIGFuZCB0aGUgU0lHIHByZWZpeCBpcyBvcHRpb25hbC4gIElmICBhICBfCHNfCGlfCGdfCHNfCHBfCGVfCGMKLSAgICAgICAgICAgICAgaXMgIEUIRVgIWEkISVQIVCAoMCkgdGhlIGNvbW1hbmQgXwhhXwhyXwhnIGlzIGV4ZWN1dGVkIG9uIGV4aXQgZnJvbSB0aGUgc2hlbGwuCi0gICAgICAgICAgICAgIElmIGEgXwhzXwhpXwhnXwhzXwhwXwhlXwhjIGlzIEQIREUIRUIIQlUIVUcIRywgdGhlIGNvbW1hbmQgXwhhXwhyXwhnIGlzIGV4ZWN1dGVkIGJlZm9yZSAgZXZlcnkKLSAgICAgICAgICAgICAgXwhzXwhpXwhtXwhwXwhsXwhlIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCwgXwhmXwhvXwhyIGNvbW1hbmQsIF8IY18IYV8Ic18IZSBjb21tYW5kLCBfCHNfCGVfCGxfCGVfCGNfCHQgY29tbWFuZCwgZXZlcnkKLSAgICAgICAgICAgICAgYXJpdGhtZXRpYyBfCGZfCG9fCHIgY29tbWFuZCwgYW5kIGJlZm9yZSB0aGUgZmlyc3QgY29tbWFuZCBleGVjdXRlcyBpbgotICAgICAgICAgICAgICBhICBzaGVsbCAgZnVuY3Rpb24gIChzZWUgIFMIU0gISEUIRUwITEwITCAgRwhHUghSQQhBTQhNTQhNQQhBUghSICBhYm92ZSkuICAgUmVmZXIgdG8gdGhlCi0gICAgICAgICAgICAgIGRlc2NyaXB0aW9uIG9mIHRoZSBlCGV4CHh0CHRkCGRlCGViCGJ1CHVnCGcgb3B0aW9uICB0byAgdGhlICBzCHNoCGhvCG9wCHB0CHQgIGJ1aWx0aW4gIGZvcgotICAgICAgICAgICAgICBkZXRhaWxzICBvZiAgaXRzIGVmZmVjdCBvbiB0aGUgRAhERQhFQghCVQhVRwhHIHRyYXAuICBJZiBhIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyBpcyBFCEVSCFJSCFIsCi0gICAgICAgICAgICAgIHRoZSBjb21tYW5kIF8IYV8Icl8IZyBpcyBleGVjdXRlZCB3aGVuZXZlciAgYSAgc2ltcGxlICBjb21tYW5kICBoYXMgIGEKLSAgICAgICAgICAgICAgbm9uLXplcm8gIGV4aXQgc3RhdHVzLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucy4gIFRoZQotICAgICAgICAgICAgICBFCEVSCFJSCFIgdHJhcCBpcyBub3QgZXhlY3V0ZWQgaWYgdGhlIGZhaWxlZCBjb21tYW5kIGlzICBwYXJ0ICBvZiAgdGhlCi0gICAgICAgICAgICAgIGNvbW1hbmQgIGxpc3QgIGltbWVkaWF0ZWx5ICBmb2xsb3dpbmcgIGEgdwh3aAhoaQhpbAhsZQhlIG9yIHUIdW4IbnQIdGkIaWwIbCBrZXl3b3JkLAotICAgICAgICAgICAgICBwYXJ0IG9mIHRoZSB0ZXN0IGluIGFuIF8IaV8IZiBzdGF0ZW1lbnQsIHBhcnQgb2YgYSBjb21tYW5kICBleGVjdXRlZAotICAgICAgICAgICAgICBpbiAgYSAgJggmJggmICBvciB8CHx8CHwgbGlzdCwgb3IgaWYgdGhlIGNvbW1hbmQncyByZXR1cm4gdmFsdWUgaXMgYmVpbmcKLSAgICAgICAgICAgICAgaW52ZXJ0ZWQgdmlhICEIIS4gIFRoZXNlIGFyZSB0aGUgc2FtZSAgY29uZGl0aW9ucyAgb2JleWVkICBieSAgdGhlCi0gICAgICAgICAgICAgIGUIZXIIcnIIcmUIZXgIeGkIaXQIdCBvcHRpb24uICBJZiBhIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyBpcyBSCFJFCEVUCFRVCFVSCFJOCE4sIHRoZSBjb21tYW5kIF8IYV8Icl8IZyBpcyBleGUtCi0gICAgICAgICAgICAgIGN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yIGEgc2NyaXB0IGV4ZWN1dGVkIHdpdGggdGhlIC4ILgotICAgICAgICAgICAgICBvciAgcwhzbwhvdQh1cghyYwhjZQhlICBidWlsdGlucyAgZmluaXNoZXMgIGV4ZWN1dGluZy4gIFNpZ25hbHMgaWdub3JlZCB1cG9uCi0gICAgICAgICAgICAgIGVudHJ5IHRvIHRoZSBzaGVsbCBjYW5ub3QgYmUgdHJhcHBlZCBvciByZXNldC4gIFRyYXBwZWQgIHNpZ25hbHMKLSAgICAgICAgICAgICAgdGhhdCBhcmUgbm90IGJlaW5nIGlnbm9yZWQgYXJlIHJlc2V0IHRvIHRoZWlyIG9yaWdpbmFsIHZhbHVlcyBpbgotICAgICAgICAgICAgICBhIGNoaWxkIHByb2Nlc3Mgd2hlbiBpdCBpcyBjcmVhdGVkLiAgVGhlIHJldHVybiBzdGF0dXMgaXMgIGZhbHNlCi0gICAgICAgICAgICAgIGlmIGFueSBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgaXMgaW52YWxpZDsgb3RoZXJ3aXNlIHQIdHIIcmEIYXAIcCByZXR1cm5zIHRydWUuCisgICAgICAgICAgICAgIFRoZSBjb21tYW5kIF8IYV8Icl8IZyBpcyB0byAgYmUgIHJlYWQgIGFuZCAgZXhlY3V0ZWQgIHdoZW4gIHRoZSAgc2hlbGwKKyAgICAgICAgICAgICAgcmVjZWl2ZXMgIHNpZ25hbChzKSAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjLiAgIElmIF8IYV8Icl8IZyBpcyBhYnNlbnQgKGFuZCB0aGVyZSBpcyBhCisgICAgICAgICAgICAgIHNpbmdsZSBfCHNfCGlfCGdfCHNfCHBfCGVfCGMpIG9yIC0ILSwgZWFjaCBzcGVjaWZpZWQgIHNpZ25hbCAgaXMgIHJlc2V0ICB0byAgaXRzCisgICAgICAgICAgICAgIG9yaWdpbmFsICBkaXNwb3NpdGlvbiAgKHRoZSAgdmFsdWUgIGl0ICBoYWQgdXBvbiBlbnRyYW5jZSB0byB0aGUKKyAgICAgICAgICAgICAgc2hlbGwpLiAgSWYgXwhhXwhyXwhnIGlzIHRoZSBudWxsIHN0cmluZyB0aGUgc2lnbmFsIHNwZWNpZmllZCBieSAgZWFjaAorICAgICAgICAgICAgICBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgIGlzIGlnbm9yZWQgYnkgdGhlIHNoZWxsIGFuZCBieSB0aGUgY29tbWFuZHMgaXQgaW52b2tlcy4KKyAgICAgICAgICAgICAgSWYgXwhhXwhyXwhnIGlzIG5vdCBwcmVzZW50IGFuZCAtCC1wCHAgaGFzIGJlZW4gc3VwcGxpZWQsICB0aGVuICB0aGUgIHRyYXAKKyAgICAgICAgICAgICAgY29tbWFuZHMgIGFzc29jaWF0ZWQgIHdpdGggIGVhY2ggIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyAgYXJlIGRpc3BsYXllZC4gIElmIG5vCisgICAgICAgICAgICAgIGFyZ3VtZW50cyBhcmUgc3VwcGxpZWQgb3IgaWYgb25seSAtCC1wCHAgaXMgZ2l2ZW4sIHQIdHIIcmEIYXAIcCAgcHJpbnRzICB0aGUKKyAgICAgICAgICAgICAgbGlzdCAgb2YgIGNvbW1hbmRzICBhc3NvY2lhdGVkICB3aXRoIGVhY2ggc2lnbmFsLiAgVGhlIC0ILWwIbCBvcHRpb24KKyAgICAgICAgICAgICAgY2F1c2VzIHRoZSBzaGVsbCB0byBwcmludCBhIGxpc3Qgb2Ygc2lnbmFsIG5hbWVzIGFuZCB0aGVpciAgY29yLQorICAgICAgICAgICAgICByZXNwb25kaW5nICBudW1iZXJzLiAgIEVhY2ggIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyAgaXMgIGVpdGhlciAgYSAgc2lnbmFsIG5hbWUKKyAgICAgICAgICAgICAgZGVmaW5lZCBpbiA8XwhzXwhpXwhnXwhuXwhhXwhsXwguXwhoPiwgb3IgYSBzaWduYWwgIG51bWJlci4gICBTaWduYWwgIG5hbWVzICBhcmUKKyAgICAgICAgICAgICAgY2FzZSBpbnNlbnNpdGl2ZSBhbmQgdGhlIFNJRyBwcmVmaXggaXMgb3B0aW9uYWwuCisKKyAgICAgICAgICAgICAgSWYgIGEgIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyAgaXMgIEUIRVgIWEkISVQIVCAoMCkgdGhlIGNvbW1hbmQgXwhhXwhyXwhnIGlzIGV4ZWN1dGVkIG9uIGV4aXQKKyAgICAgICAgICAgICAgZnJvbSB0aGUgc2hlbGwuICBJZiBhIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyBpcyBECERFCEVCCEJVCFVHCEcsIHRoZSBjb21tYW5kIF8IYV8Icl8IZyBpcyAgZXhlLQorICAgICAgICAgICAgICBjdXRlZCAgYmVmb3JlICBldmVyeSAgXwhzXwhpXwhtXwhwXwhsXwhlIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCwgXwhmXwhvXwhyIGNvbW1hbmQsIF8IY18IYV8Ic18IZSBjb21tYW5kLAorICAgICAgICAgICAgICBfCHNfCGVfCGxfCGVfCGNfCHQgY29tbWFuZCwgZXZlcnkgYXJpdGhtZXRpYyBfCGZfCG9fCHIgIGNvbW1hbmQsICBhbmQgIGJlZm9yZSAgdGhlCisgICAgICAgICAgICAgIGZpcnN0ICBjb21tYW5kICBleGVjdXRlcyAgaW4gYSBzaGVsbCBmdW5jdGlvbiAoc2VlIFMIU0gISEUIRUwITEwITCBHCEdSCFJBCEFNCE1NCE1BCEFSCFIKKyAgICAgICAgICAgICAgYWJvdmUpLiAgUmVmZXIgdG8gdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBlCGV4CHh0CHRkCGRlCGViCGJ1CHVnCGcgb3B0aW9uIHRvICB0aGUKKyAgICAgICAgICAgICAgcwhzaAhobwhvcAhwdAh0IGJ1aWx0aW4gZm9yIGRldGFpbHMgb2YgaXRzIGVmZmVjdCBvbiB0aGUgRAhERQhFQghCVQhVRwhHIHRyYXAuICBJZiBhCisgICAgICAgICAgICAgIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyBpcyBSCFJFCEVUCFRVCFVSCFJOCE4sIHRoZSBjb21tYW5kIF8IYV8Icl8IZyBpcyBleGVjdXRlZCBlYWNoIHRpbWUgYSBzaGVsbAorICAgICAgICAgICAgICBmdW5jdGlvbiBvciBhIHNjcmlwdCBleGVjdXRlZCB3aXRoIHRoZSAuCC4gb3IgcwhzbwhvdQh1cghyYwhjZQhlIGJ1aWx0aW5zIGZpbi0KKyAgICAgICAgICAgICAgaXNoZXMgZXhlY3V0aW5nLgorCisgICAgICAgICAgICAgIElmIGEgXwhzXwhpXwhnXwhzXwhwXwhlXwhjIGlzIEUIRVIIUlIIUiwgdGhlIGNvbW1hbmQgXwhhXwhyXwhnIGlzIGV4ZWN1dGVkIHdoZW5ldmVyIGEgc2ltLQorICAgICAgICAgICAgICBwbGUgY29tbWFuZCBoYXMgYSBub24temVybyBleGl0IHN0YXR1cywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nCisgICAgICAgICAgICAgIGNvbmRpdGlvbnMuICBUaGUgRQhFUghSUghSIHRyYXAgaXMgbm90IGV4ZWN1dGVkIGlmIHRoZSBmYWlsZWQgIGNvbW1hbmQKKyAgICAgICAgICAgICAgaXMgIHBhcnQgIG9mICB0aGUgIGNvbW1hbmQgbGlzdCBpbW1lZGlhdGVseSBmb2xsb3dpbmcgYSB3CHdoCGhpCGlsCGxlCGUgb3IKKyAgICAgICAgICAgICAgdQh1bghudAh0aQhpbAhsIGtleXdvcmQsIHBhcnQgb2YgdGhlIHRlc3QgaW4gYW4gXwhpXwhmIHN0YXRlbWVudCwgIHBhcnQgIG9mICBhCisgICAgICAgICAgICAgIGNvbW1hbmQgIGV4ZWN1dGVkIGluIGEgJggmJggmIG9yIHwIfHwIfCBsaXN0LCBvciBpZiB0aGUgY29tbWFuZCdzIHJldHVybgorICAgICAgICAgICAgICB2YWx1ZSBpcyBiZWluZyBpbnZlcnRlZCB2aWEgIQghLiAgVGhlc2UgYXJlICB0aGUgIHNhbWUgIGNvbmRpdGlvbnMKKyAgICAgICAgICAgICAgb2JleWVkIGJ5IHRoZSBlCGVyCHJyCHJlCGV4CHhpCGl0CHQgb3B0aW9uLgorCisgICAgICAgICAgICAgIFNpZ25hbHMgIGlnbm9yZWQgIHVwb24gIGVudHJ5ICB0byB0aGUgc2hlbGwgY2Fubm90IGJlIHRyYXBwZWQgb3IKKyAgICAgICAgICAgICAgcmVzZXQuICBUcmFwcGVkIHNpZ25hbHMgdGhhdCBhcmUgbm90IGJlaW5nIGlnbm9yZWQgYXJlIHJlc2V0ICB0bworICAgICAgICAgICAgICB0aGVpciBvcmlnaW5hbCB2YWx1ZXMgaW4gYSBzdWJzaGVsbCBvciBzdWJzaGVsbCBlbnZpcm9ubWVudCB3aGVuCisgICAgICAgICAgICAgIG9uZSBpcyBjcmVhdGVkLiAgVGhlIHJldHVybiBzdGF0dXMgaXMgZmFsc2UgaWYgIGFueSAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjICBpcworICAgICAgICAgICAgICBpbnZhbGlkOyBvdGhlcndpc2UgdAh0cghyYQhhcAhwIHJldHVybnMgdHJ1ZS4KIAogICAgICAgIHQIdHkIeXAIcGUIZSBbLQgtYQhhZghmdAh0cAhwUAhQXSBfCG5fCGFfCG1fCGUgW18Ibl8IYV8IbV8IZSAuLi5dCiAgICAgICAgICAgICAgIFdpdGggIG5vIG9wdGlvbnMsIGluZGljYXRlIGhvdyBlYWNoIF8Ibl8IYV8IbV8IZSB3b3VsZCBiZSBpbnRlcnByZXRlZCBpZgpAQCAtMTQ2NCw3ICsxNTA4LDggQEAKICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuCiAgICAgICAgICAgICAgIC0ILWkIaSAgICAgVGhlIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscwogICAgICAgICAgICAgICAtCC1sCGwgICAgIFRoZSBtYXhpbXVtIHNpemUgdGhhdCBtYXkgYmUgbG9ja2VkIGludG8gbWVtb3J5Ci0gICAgICAgICAgICAgIC0ILW0IbSAgICAgVGhlIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemUKKyAgICAgICAgICAgICAgLQgtbQhtICAgICBUaGUgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZSAobWFueSBzeXN0ZW1zIGRvIG5vdCAgaG9ub3IKKyAgICAgICAgICAgICAgICAgICAgIHRoaXMgbGltaXQpCiAgICAgICAgICAgICAgIC0ILW4IbiAgICAgVGhlIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZSBkZXNjcmlwdG9ycyAobW9zdCBzeXN0ZW1zCiAgICAgICAgICAgICAgICAgICAgICBkbyBub3QgYWxsb3cgdGhpcyB2YWx1ZSB0byBiZSBzZXQpCiAgICAgICAgICAgICAgIC0ILXAIcCAgICAgVGhlIHBpcGUgc2l6ZSBpbiA1MTItYnl0ZSBibG9ja3MgKHRoaXMgbWF5IG5vdCBiZSBzZXQpCkBAIC0xNDcyLDU4ICsxNTE3LDU4IEBACiAgICAgICAgICAgICAgIC0ILXIIciAgICAgVGhlIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHkKICAgICAgICAgICAgICAgLQgtcwhzICAgICBUaGUgbWF4aW11bSBzdGFjayBzaXplCiAgICAgICAgICAgICAgIC0ILXQIdCAgICAgVGhlIG1heGltdW0gYW1vdW50IG9mIGNwdSB0aW1lIGluIHNlY29uZHMKLSAgICAgICAgICAgICAgLQgtdQh1ICAgICBUaGUgIG1heGltdW0gIG51bWJlciAgb2YgIHByb2Nlc3NlcyBhdmFpbGFibGUgdG8gYSBzaW5nbGUKKyAgICAgICAgICAgICAgLQgtdQh1ICAgICBUaGUgbWF4aW11bSBudW1iZXIgb2YgcHJvY2Vzc2VzICBhdmFpbGFibGUgIHRvICBhICBzaW5nbGUKICAgICAgICAgICAgICAgICAgICAgIHVzZXIKLSAgICAgICAgICAgICAgLQgtdgh2ICAgICBUaGUgbWF4aW11bSBhbW91bnQgb2YgdmlydHVhbCAgbWVtb3J5ICBhdmFpbGFibGUgIHRvICB0aGUKKyAgICAgICAgICAgICAgLQgtdgh2ICAgICBUaGUgIG1heGltdW0gIGFtb3VudCAgb2YgIHZpcnR1YWwgbWVtb3J5IGF2YWlsYWJsZSB0byB0aGUKICAgICAgICAgICAgICAgICAgICAgIHNoZWxsCiAgICAgICAgICAgICAgIC0ILXgIeCAgICAgVGhlIG1heGltdW0gbnVtYmVyIG9mIGZpbGUgbG9ja3MKICAgICAgICAgICAgICAgLQgtVAhUICAgICBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcwogCiAgICAgICAgICAgICAgIElmIF8IbF8IaV8IbV8IaV8IdCBpcyBnaXZlbiwgaXQgaXMgdGhlIG5ldyB2YWx1ZSBvZiB0aGUgc3BlY2lmaWVkIHJlc291cmNlCiAgICAgICAgICAgICAgICh0aGUgLQgtYQhhIG9wdGlvbiBpcyBkaXNwbGF5IG9ubHkpLiAgSWYgbm8gb3B0aW9uIGlzIGdpdmVuLCB0aGVuIC0ILWYIZgotICAgICAgICAgICAgICBpcyAgYXNzdW1lZC4gIFZhbHVlcyBhcmUgaW4gMTAyNC1ieXRlIGluY3JlbWVudHMsIGV4Y2VwdCBmb3IgLQgtdAh0LAotICAgICAgICAgICAgICB3aGljaCBpcyBpbiBzZWNvbmRzLCAtCC1wCHAsIHdoaWNoIGlzIGluIHVuaXRzIG9mICA1MTItYnl0ZSAgYmxvY2tzLAotICAgICAgICAgICAgICBhbmQgIC0ILVQIVCwgIC0ILWIIYiwgLQgtbghuLCBhbmQgLQgtdQh1LCB3aGljaCBhcmUgdW5zY2FsZWQgdmFsdWVzLiAgVGhlIHJldHVybgorICAgICAgICAgICAgICBpcyBhc3N1bWVkLiAgVmFsdWVzIGFyZSBpbiAxMDI0LWJ5dGUgaW5jcmVtZW50cywgZXhjZXB0IGZvciAgLQgtdAh0LAorICAgICAgICAgICAgICB3aGljaCAgaXMgIGluIHNlY29uZHMsIC0ILXAIcCwgd2hpY2ggaXMgaW4gdW5pdHMgb2YgNTEyLWJ5dGUgYmxvY2tzLAorICAgICAgICAgICAgICBhbmQgLQgtVAhULCAtCC1iCGIsIC0ILW4IbiwgYW5kIC0ILXUIdSwgd2hpY2ggYXJlIHVuc2NhbGVkIHZhbHVlcy4gICBUaGUgIHJldHVybgogICAgICAgICAgICAgICBzdGF0dXMgaXMgMCB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gb3IgYXJndW1lbnQgaXMgc3VwcGxpZWQsIG9yCiAgICAgICAgICAgICAgIGFuIGVycm9yIG9jY3VycyB3aGlsZSBzZXR0aW5nIGEgbmV3IGxpbWl0LgogCiAgICAgICAgdQh1bQhtYQhhcwhzawhrIFstCC1wCHBdIFstCC1TCFNdIFtfCG1fCG9fCGRfCGVdCiAgICAgICAgICAgICAgIFRoZSB1c2VyIGZpbGUtY3JlYXRpb24gbWFzayBpcyBzZXQgdG8gXwhtXwhvXwhkXwhlLiAgSWYgXwhtXwhvXwhkXwhlIGJlZ2lucyB3aXRoCi0gICAgICAgICAgICAgIGEgZGlnaXQsIGl0IGlzIGludGVycHJldGVkIGFzIGFuIG9jdGFsIG51bWJlcjsgb3RoZXJ3aXNlICBpdCAgaXMKLSAgICAgICAgICAgICAgaW50ZXJwcmV0ZWQgIGFzIGEgc3ltYm9saWMgbW9kZSBtYXNrIHNpbWlsYXIgdG8gdGhhdCBhY2NlcHRlZCBieQotICAgICAgICAgICAgICBfCGNfCGhfCG1fCG9fCGQoMSkuICBJZiBfCG1fCG9fCGRfCGUgaXMgb21pdHRlZCwgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIG1hc2sgIGlzCi0gICAgICAgICAgICAgIHByaW50ZWQuICAgVGhlICAtCC1TCFMgIG9wdGlvbiBjYXVzZXMgdGhlIG1hc2sgdG8gYmUgcHJpbnRlZCBpbiBzeW0tCi0gICAgICAgICAgICAgIGJvbGljIGZvcm07IHRoZSBkZWZhdWx0IG91dHB1dCBpcyBhbiBvY3RhbCBudW1iZXIuICAgSWYgIHRoZSAgLQgtcAhwCisgICAgICAgICAgICAgIGEgIGRpZ2l0LCAgaXQgaXMgaW50ZXJwcmV0ZWQgYXMgYW4gb2N0YWwgbnVtYmVyOyBvdGhlcndpc2UgaXQgaXMKKyAgICAgICAgICAgICAgaW50ZXJwcmV0ZWQgYXMgYSBzeW1ib2xpYyBtb2RlIG1hc2sgc2ltaWxhciB0byB0aGF0IGFjY2VwdGVkICBieQorICAgICAgICAgICAgICBfCGNfCGhfCG1fCG9fCGQoMSkuICAgSWYgXwhtXwhvXwhkXwhlIGlzIG9taXR0ZWQsIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBtYXNrIGlzCisgICAgICAgICAgICAgIHByaW50ZWQuICBUaGUgLQgtUwhTIG9wdGlvbiBjYXVzZXMgdGhlIG1hc2sgdG8gYmUgIHByaW50ZWQgIGluICBzeW0tCisgICAgICAgICAgICAgIGJvbGljICBmb3JtOyAgdGhlICBkZWZhdWx0IG91dHB1dCBpcyBhbiBvY3RhbCBudW1iZXIuICBJZiB0aGUgLQgtcAhwCiAgICAgICAgICAgICAgIG9wdGlvbiBpcyBzdXBwbGllZCwgYW5kIF8IbV8Ib18IZF8IZSBpcyBvbWl0dGVkLCB0aGUgb3V0cHV0IGlzIGluIGEgZm9ybQogICAgICAgICAgICAgICB0aGF0IG1heSBiZSByZXVzZWQgYXMgaW5wdXQuICBUaGUgcmV0dXJuIHN0YXR1cyBpcyAwIGlmIHRoZSBtb2RlCi0gICAgICAgICAgICAgIHdhcyAgc3VjY2Vzc2Z1bGx5ICBjaGFuZ2VkICBvciBpZiBubyBfCG1fCG9fCGRfCGUgYXJndW1lbnQgd2FzIHN1cHBsaWVkLAorICAgICAgICAgICAgICB3YXMgc3VjY2Vzc2Z1bGx5IGNoYW5nZWQgb3IgaWYgbm8gXwhtXwhvXwhkXwhlICBhcmd1bWVudCAgd2FzICBzdXBwbGllZCwKICAgICAgICAgICAgICAgYW5kIGZhbHNlIG90aGVyd2lzZS4KIAogICAgICAgIHUIdW4IbmEIYWwIbGkIaWEIYXMIcyBbLWEIYV0gW18Ibl8IYV8IbV8IZSAuLi5dCi0gICAgICAgICAgICAgIFJlbW92ZSBlYWNoIF8Ibl8IYV8IbV8IZSBmcm9tIHRoZSBsaXN0IG9mIGRlZmluZWQgIGFsaWFzZXMuICAgSWYgIC0ILWEIYSAgaXMKLSAgICAgICAgICAgICAgc3VwcGxpZWQsICBhbGwgIGFsaWFzIGRlZmluaXRpb25zIGFyZSByZW1vdmVkLiAgVGhlIHJldHVybiB2YWx1ZQorICAgICAgICAgICAgICBSZW1vdmUgIGVhY2ggIF8Ibl8IYV8IbV8IZSAgZnJvbSAgdGhlIGxpc3Qgb2YgZGVmaW5lZCBhbGlhc2VzLiAgSWYgLQgtYQhhIGlzCisgICAgICAgICAgICAgIHN1cHBsaWVkLCBhbGwgYWxpYXMgZGVmaW5pdGlvbnMgYXJlIHJlbW92ZWQuICBUaGUgIHJldHVybiAgdmFsdWUKICAgICAgICAgICAgICAgaXMgdHJ1ZSB1bmxlc3MgYSBzdXBwbGllZCBfCG5fCGFfCG1fCGUgaXMgbm90IGEgZGVmaW5lZCBhbGlhcy4KIAogICAgICAgIHUIdW4IbnMIc2UIZXQIdCBbLWYIZnYIdl0gW18Ibl8IYV8IbV8IZSAuLi5dCi0gICAgICAgICAgICAgIEZvciBlYWNoIF8Ibl8IYV8IbV8IZSwgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nICB2YXJpYWJsZSAgb3IgIGZ1bmN0aW9uLgorICAgICAgICAgICAgICBGb3IgIGVhY2ggIF8Ibl8IYV8IbV8IZSwgIHJlbW92ZSB0aGUgY29ycmVzcG9uZGluZyB2YXJpYWJsZSBvciBmdW5jdGlvbi4KICAgICAgICAgICAgICAgSWYgbm8gb3B0aW9ucyBhcmUgc3VwcGxpZWQsIG9yIHRoZSAtCC12CHYgb3B0aW9uIGlzIGdpdmVuLCBlYWNoIF8Ibl8IYV8IbV8IZQotICAgICAgICAgICAgICByZWZlcnMgdG8gYSBzaGVsbCB2YXJpYWJsZS4gICBSZWFkLW9ubHkgIHZhcmlhYmxlcyAgbWF5ICBub3QgIGJlCi0gICAgICAgICAgICAgIHVuc2V0LiAgIElmICAtCC1mCGYgIGlzIHNwZWNpZmllZCwgZWFjaCBfCG5fCGFfCG1fCGUgcmVmZXJzIHRvIGEgc2hlbGwgZnVuYy0KLSAgICAgICAgICAgICAgdGlvbiwgYW5kIHRoZSBmdW5jdGlvbiBkZWZpbml0aW9uIGlzIHJlbW92ZWQuICBFYWNoIHVuc2V0ICB2YXJpLQotICAgICAgICAgICAgICBhYmxlICBvciBmdW5jdGlvbiBpcyByZW1vdmVkIGZyb20gdGhlIGVudmlyb25tZW50IHBhc3NlZCB0byBzdWItCi0gICAgICAgICAgICAgIHNlcXVlbnQgY29tbWFuZHMuICBJZiBhbnkgb2YgUghSQQhBTghORAhETwhPTQhNLCBTCFNFCEVDCENPCE9OCE5ECERTCFMsICBMCExJCElOCE5FCEVOCE5PCE8sICBICEhJCElTCFNUCFRDCENNCE1ECEQsCi0gICAgICAgICAgICAgIEYIRlUIVU4ITkMIQ04ITkEIQU0ITUUIRSwgRwhHUghSTwhPVQhVUAhQUwhTLCBvciBECERJCElSCFJTCFNUCFRBCEFDCENLCEsgYXJlIHVuc2V0LCB0aGV5IGxvc2UgdGhlaXIgc3BlY2lhbAotICAgICAgICAgICAgICBwcm9wZXJ0aWVzLCBldmVuIGlmIHRoZXkgYXJlIHN1YnNlcXVlbnRseSByZXNldC4gIFRoZSBleGl0ICBzdGEtCi0gICAgICAgICAgICAgIHR1cyBpcyB0cnVlIHVubGVzcyBhIF8Ibl8IYV8IbV8IZSBpcyByZWFkb25seS4KKyAgICAgICAgICAgICAgcmVmZXJzICB0byAgYSAgc2hlbGwgIHZhcmlhYmxlLiAgIFJlYWQtb25seSB2YXJpYWJsZXMgbWF5IG5vdCBiZQorICAgICAgICAgICAgICB1bnNldC4gIElmIC0ILWYIZiBpcyBzcGVjaWZpZWQsIGVhY2ggXwhuXwhhXwhtXwhlIHJlZmVycyB0byAgYSAgc2hlbGwgIGZ1bmMtCisgICAgICAgICAgICAgIHRpb24sICBhbmQgdGhlIGZ1bmN0aW9uIGRlZmluaXRpb24gaXMgcmVtb3ZlZC4gIEVhY2ggdW5zZXQgdmFyaS0KKyAgICAgICAgICAgICAgYWJsZSBvciBmdW5jdGlvbiBpcyByZW1vdmVkIGZyb20gdGhlIGVudmlyb25tZW50IHBhc3NlZCB0byAgc3ViLQorICAgICAgICAgICAgICBzZXF1ZW50ICBjb21tYW5kcy4gICBJZiBhbnkgb2YgQwhDTwhPTQhNUAhQXwhfVwhXTwhPUghSRAhEQghCUghSRQhFQQhBSwhLUwhTLCBSCFJBCEFOCE5ECERPCE9NCE0sIFMIU0UIRUMIQ08IT04ITkQIRFMIUywKKyAgICAgICAgICAgICAgTAhMSQhJTghORQhFTghOTwhPLCBICEhJCElTCFNUCFRDCENNCE1ECEQsIEYIRlUIVU4ITkMIQ04ITkEIQU0ITUUIRSwgRwhHUghSTwhPVQhVUAhQUwhTLCBvciBECERJCElSCFJTCFNUCFRBCEFDCENLCEsgYXJlICB1bnNldCwgIHRoZXkKKyAgICAgICAgICAgICAgbG9zZSAgdGhlaXIgIHNwZWNpYWwgIHByb3BlcnRpZXMsICBldmVuIGlmIHRoZXkgYXJlIHN1YnNlcXVlbnRseQorICAgICAgICAgICAgICByZXNldC4gIFRoZSBleGl0IHN0YXR1cyBpcyB0cnVlIHVubGVzcyBhIF8Ibl8IYV8IbV8IZSBpcyByZWFkb25seS4KIAogICAgICAgIHcId2EIYWkIaXQIdCBbXwhuIF8ILl8ILl8ILl0KLSAgICAgICAgICAgICAgV2FpdCAgZm9yIGVhY2ggc3BlY2lmaWVkIHByb2Nlc3MgYW5kIHJldHVybiBpdHMgdGVybWluYXRpb24gc3RhLQotICAgICAgICAgICAgICB0dXMuICBFYWNoIF8IbiBtYXkgYmUgYSBwcm9jZXNzIElEIG9yIGEgam9iICBzcGVjaWZpY2F0aW9uOyAgaWYgIGEKLSAgICAgICAgICAgICAgam9iICBzcGVjICBpcyAgZ2l2ZW4sICBhbGwgIHByb2Nlc3NlcyBpbiB0aGF0IGpvYidzIHBpcGVsaW5lIGFyZQotICAgICAgICAgICAgICB3YWl0ZWQgZm9yLiAgSWYgXwhuIGlzIG5vdCBnaXZlbiwgYWxsIGN1cnJlbnRseSBhY3RpdmUgY2hpbGQgIHByby0KLSAgICAgICAgICAgICAgY2Vzc2VzICBhcmUgIHdhaXRlZCAgZm9yLCAgYW5kICB0aGUgcmV0dXJuIHN0YXR1cyBpcyB6ZXJvLiAgSWYgXwhuCi0gICAgICAgICAgICAgIHNwZWNpZmllcyBhIG5vbi1leGlzdGVudCBwcm9jZXNzIG9yIGpvYiwgdGhlICByZXR1cm4gIHN0YXR1cyAgaXMKLSAgICAgICAgICAgICAgMTI3LiAgIE90aGVyd2lzZSwgIHRoZSAgcmV0dXJuICBzdGF0dXMgaXMgdGhlIGV4aXQgc3RhdHVzIG9mIHRoZQorICAgICAgICAgICAgICBXYWl0IGZvciBlYWNoIHNwZWNpZmllZCBwcm9jZXNzIGFuZCByZXR1cm4gaXRzIHRlcm1pbmF0aW9uICBzdGEtCisgICAgICAgICAgICAgIHR1cy4gICBFYWNoICBfCG4gIG1heSBiZSBhIHByb2Nlc3MgSUQgb3IgYSBqb2Igc3BlY2lmaWNhdGlvbjsgaWYgYQorICAgICAgICAgICAgICBqb2Igc3BlYyBpcyBnaXZlbiwgYWxsIHByb2Nlc3NlcyAgaW4gIHRoYXQgIGpvYidzICBwaXBlbGluZSAgYXJlCisgICAgICAgICAgICAgIHdhaXRlZCAgZm9yLiAgSWYgXwhuIGlzIG5vdCBnaXZlbiwgYWxsIGN1cnJlbnRseSBhY3RpdmUgY2hpbGQgcHJvLQorICAgICAgICAgICAgICBjZXNzZXMgYXJlIHdhaXRlZCBmb3IsIGFuZCB0aGUgcmV0dXJuICBzdGF0dXMgIGlzICB6ZXJvLiAgIElmICBfCG4KKyAgICAgICAgICAgICAgc3BlY2lmaWVzICBhICBub24tZXhpc3RlbnQgIHByb2Nlc3Mgb3Igam9iLCB0aGUgcmV0dXJuIHN0YXR1cyBpcworICAgICAgICAgICAgICAxMjcuICBPdGhlcndpc2UsIHRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSAgZXhpdCAgc3RhdHVzICBvZiAgdGhlCiAgICAgICAgICAgICAgIGxhc3QgcHJvY2VzcyBvciBqb2Igd2FpdGVkIGZvci4KIAogUwhTRQhFRQhFIEEIQUwITFMIU08ITwpkaWZmIC0tZ2l0IGEvZG9jL2J1aWx0aW5zLnBzIGIvZG9jL2J1aWx0aW5zLnBzCmluZGV4IDdkMDAyMzAuLjUzOWRmYjAgMTAwNjQ0Ci0tLSBhL2RvYy9idWlsdGlucy5wcworKysgYi9kb2MvYnVpbHRpbnMucHMKQEAgLTEsMTMgKzEsMTMgQEAKICUhUFMtQWRvYmUtMy4wCiAlJUNyZWF0b3I6IGdyb2ZmIHZlcnNpb24gMS4xOS4yCi0lJUNyZWF0aW9uRGF0ZTogVGh1IEZlYiAgNSAwODowNToyOCAyMDA5CislJUNyZWF0aW9uRGF0ZTogV2VkIERlYyAzMCAxMzowNzozNyAyMDA5CiAlJURvY3VtZW50TmVlZGVkUmVzb3VyY2VzOiBmb250IFRpbWVzLVJvbWFuCiAlJSsgZm9udCBUaW1lcy1Cb2xkCiAlJSsgZm9udCBUaW1lcy1JdGFsaWMKICUlKyBmb250IFN5bWJvbAogJSUrIGZvbnQgQ291cmllcgogJSVEb2N1bWVudFN1cHBsaWVkUmVzb3VyY2VzOiBwcm9jc2V0IGdyb3BzIDEuMTkgMgotJSVQYWdlczogMjAKKyUlUGFnZXM6IDIxCiAlJVBhZ2VPcmRlcjogQXNjZW5kCiAlJURvY3VtZW50TWVkaWE6IERlZmF1bHQgNTk1IDg0MiAwICgpICgpCiAlJU9yaWVudGF0aW9uOiBQb3J0cmFpdApAQCAtMjUxLDM0NCArMjUxLDM1NyBAQAogLjMyOSBFKFVJTCktLjExIEUoVElOIENPTU1BTkRTKS0xLjAwNyBFIEYwIC4wNjMKIChVbmxlc3Mgb3RoZXJ3aXNlIG5vdGVkLCBlYWNoIGIpMTA4IDE3Mi44IFIgLjA2Mih1aWx0aW4gY29tbWFuZCBkb2N1bWVuXAogdGVkIGluIHRoaXMgc2VjdGlvbiBhcyBhY2NlcHRpbmcgb3B0aW9ucyBwcmVjZWRlZCBieSktLjIgRiBGMjxhZD4xMDgKLTE4NC44IFEgRjAoYWNjZXB0cykzLjggRSBGMjxhZGFkPjMuOCBFIEYwIDEuMwotKHRvIHNpZ25pZnkgdGhlIGVuZCBvZiB0aGUgb3B0aW9ucy4pMy44IEYgLS4xNShGbyk2LjMgRyAzLjgocmUpLjE1IEcgMS4zCi0oeGFtcGxlLCB0aGUpLTMuOTUgRiBGMig6KTMuOCBFIEYwKCwpQSBGMih0cnVlKTMuOCBFIEYwKCwpQSBGMihmYWxzZSkzLjgKLUUgRjAgMy44KCxhKUMobmQpLTMuOCBFIEYyKHRlc3QpMy44IEUgRjAgLS4yKGJ1KTMuOCBHIDEuMyhpbHRpbnMgZG8gbm90KQotLjIgRihhY2NlcHQgb3B0aW9ucy4pMTA4IDE5Ni44IFEgRjIoOikxMDggMjE0LjggUSBGMChbKTIuNSBFL0YzIDEwCi0vVGltZXMtSXRhbGljQDAgU0YoYXIpQShndW1lbnRzKS0uMzcgRSBGMChdKUEgLjQ1MihObyBlZikxNDQgMjI2LjggUgotLjQ1MihmZWN0OyB0aGUgY29tbWFuZCBkb2VzIG5vdGhpbmcgYmUpLS4yNSBGIC40NTIoeW9uZCBlKS0uMTUgRgotKHhwYW5kaW5nKS0uMTUgRSBGMyhhcikzLjI4MiBFKGd1bWVudHMpLS4zNyBFIEYwIC40NTEoYW5kIHBlcmZvcm1pbmcgYW4pCi0zLjIyMSBGIDIuOTUxKHlzKS0uMTUgRyhwZWNpXDIxNGVkKS0yLjk1MSBFIDIuNShyZWRpcmVjdGlvbnMuIEEpMTQ0Ci0yMzguOCBSKHplcm8gZSkyLjUgRSh4aXQgY29kZSBpcyByZXR1cm5lZC4pLS4xNSBFIEYyKC4pMTEwLjUgMjU1LjYgUSBGMwotKFwyMTRsZW5hbWUpNi42NjYgRSBGMChbKTIuNSBFIEYzKGFyKUEoZ3VtZW50cyktLjM3IEUgRjAoXSlBIEYyKHNvdXIpMTA4Ci0yNjcuNiBRKGNlKS0uMTggRSBGMyhcMjE0bGVuYW1lKTIuNSBFIEYwKFspMi41IEUgRjMoYXIpQShndW1lbnRzKS0uMzcgRQotRjAoXSlBIDEuMDIoUmVhZCBhbmQgZSkxNDQgMjc5LjYgUiAtLjE1KHhlKS0uMTUgRyAxLjAyCi0oY3V0ZSBjb21tYW5kcyBmcm9tKS4xNSBGIEYzKFwyMTRsZW5hbWUpNS40MyBFIEYwIDEuMDIKKzE4NC44IFEgRjAoYWNjZXB0cykyLjUzMyBFIEYyPGFkYWQ+Mi41MzMgRSBGMCAuMDM0CisodG8gc2lnbmlmeSB0aGUgZW5kIG9mIHRoZSBvcHRpb25zLikyLjUzMyBGKFRoZSk1LjAzNCBFIEYyKDopMi41MzQgRSBGMAorKCwpQSBGMih0cnVlKTIuNTM0IEUgRjAoLClBIEYyKGZhbHNlKTIuNTM0IEUgRjAgMi41MzQoLGEpQyhuZCktMi41MzQgRQorRjIodGVzdCkyLjUzNCBFIEYwIC0uMihidSkyLjUzNCBHIC4wMzQoaWx0aW5zIGRvIG5vdCBhY2NlcHQgb3B0aW9ucyBhbmQpCisuMiBGIC4wNzgoZG8gbm90IHRyZWF0KTEwOCAxOTYuOCBSIEYyPGFkYWQ+Mi41NzcgRSBGMChzcGVjaWFsbHkpMi41NzcgRQorNS4wNzcoLlQpLS42NSBHKGhlKS01LjA3NyBFIEYyKGV4aXQpMi41NzcgRSBGMCgsKUEgRjIobG9nb3V0KTIuNTc3IEUgRjAKKygsKUEgRjIoYnIpMi41NzcgRShlYWspLS4xOCBFIEYwKCwpQSBGMihjb250aW51ZSkyLjU3NyBFIEYwKCwpQSBGMihsZXQpCisyLjU3NyBFIEYwIDIuNTc3KCxhKUMobmQpLTIuNTc3IEUgRjIoc2hpZnQpMi41NzcgRSBGMCAtLjIoYnUpMi41NzcgRworLjA3NyhpbHRpbnMgYWNjZXB0IGFuZCBwcm9jZXNzIGFyKS4yIEYoZ3UtKS0uMTggRSAuMzE5KG1lbnRzIGJlKTEwOAorMjA4LjggUiAuMzE5KGdpbm5pbmcgd2l0aCktLjE1IEYgRjI8YWQ+Mi44MTkgRSBGMCAuMzE5Cisod2l0aG91dCByZXF1aXJpbmcpMi44MTkgRiBGMjxhZGFkPjIuODE5IEUgRjAgNS4zMTkoLk8pQyAuMzE5KHRoZXIgYikKKy01LjMxOSBGIC4zMTkodWlsdGlucyB0aGF0IGFjY2VwdCBhciktLjIgRiAuMzIoZ3VtZW50cyBiKS0uMTggRiAuMzIKKyh1dCBhcmUgbm90IHNwZWNpXDIxNGVkIGFzKS0uMiBGIDEuMTQ0KGFjY2VwdGluZyBvcHRpb25zIGludGVycHJldCBhcikKKzEwOCAyMjAuOCBSIDEuMTQ0KGd1bWVudHMgYmUpLS4xOCBGIDEuMTQ0KGdpbm5pbmcgd2l0aCktLjE1IEYgRjI8YWQ+CiszLjY0MyBFIEYwIDEuMTQzKGFzIGluKTMuNjQzIEYgLS4yNSh2YSktLjQgRyAxLjE0MworKGxpZCBvcHRpb25zIGFuZCByZXF1aXJlKS4yNSBGIEYyPGFkYWQ+My42NDMgRSBGMCAxLjE0Myh0byBwcmUpMy42NDMgRgorLS4xNSh2ZSktLjI1IEcgMS4xNDMobnQgdGhpcykuMTUgRihpbnRlcnByZXRhdGlvbi4pMTA4IDIzMi44IFEgRjIoOikxMDgKKzI1MC44IFEgRjAoWykyLjUgRS9GMyAxMC9UaW1lcy1JdGFsaWNAMCBTRihhcilBKGd1bWVudHMpLS4zNyBFIEYwKF0pQQorLjQ1MShObyBlZikxNDQgMjYyLjggUiAuNDUxKGZlY3Q7IHRoZSBjb21tYW5kIGRvZXMgbm90aGluZyBiZSktLjI1IEYKKy40NTIoeW9uZCBlKS0uMTUgRih4cGFuZGluZyktLjE1IEUgRjMoYXIpMy4yODIgRShndW1lbnRzKS0uMzcgRSBGMCAuNDUyCisoYW5kIHBlcmZvcm1pbmcgYW4pMy4yMjIgRiAyLjk1Mih5cyktLjE1IEcocGVjaVwyMTRlZCktMi45NTIgRSAyLjUKKyhyZWRpcmVjdGlvbnMuIEEpMTQ0IDI3NC44IFIoemVybyBlKTIuNSBFKHhpdCBjb2RlIGlzIHJldHVybmVkLiktLjE1IEUKK0YyKC4pMTEwLjUgMjkxLjYgUSBGMyhcMjE0bGVuYW1lKTYuNjY2IEUgRjAoWykyLjUgRSBGMyhhcilBKGd1bWVudHMpLS4zNworRSBGMChdKUEgRjIoc291cikxMDggMzAzLjYgUShjZSktLjE4IEUgRjMoXDIxNGxlbmFtZSkyLjUgRSBGMChbKTIuNSBFIEYzCisoYXIpQShndW1lbnRzKS0uMzcgRSBGMChdKUEgMS4wMihSZWFkIGFuZCBlKTE0NCAzMTUuNiBSIC0uMTUoeGUpLS4xNSBHCisxLjAyKGN1dGUgY29tbWFuZHMgZnJvbSkuMTUgRiBGMyhcMjE0bGVuYW1lKTUuNDMgRSBGMCAxLjAyCiAoaW4gdGhlIGN1cnJlbnQgc2hlbGwgZW4pMy43IEYgMS4wMih2aXJvbm1lbnQgYW5kIHJldHVybiB0aGUgZSktLjQgRgotKHhpdCktLjE1IEUgMS42OChzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBlKTE0NCAyOTEuNiBSIC0uMTUoeGUpLS4xNSBHCisoeGl0KS0uMTUgRSAxLjY4KHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGUpMTQ0IDMyNy42IFIgLS4xNSh4ZSktLjE1IEcKIDEuNjgoY3V0ZWQgZnJvbSkuMTUgRiBGMyhcMjE0bGVuYW1lKTQuMTggRSBGMCA2LjY4KC5JKS4xOCBHKGYpLTYuNjggRSBGMwogKFwyMTRsZW5hbWUpNi4wOSBFIEYwIDEuNjgoZG9lcyBub3QgY29udGFpbiBhIHNsYXNoLCBcMjE0bGUpNC4zNiBGIC42MDgKLShuYW1lcyBpbikxNDQgMzAzLjYgUi9GNCA5L1RpbWVzLUJvbGRAMCBTRiAtLjY2NihQQSkzLjEwOCBHKFRIKS0uMTg5IEUKKyhuYW1lcyBpbikxNDQgMzM5LjYgUi9GNCA5L1RpbWVzLUJvbGRAMCBTRiAtLjY2NihQQSkzLjEwOCBHKFRIKS0uMTg5IEUKIEYwIC42MDgoYXJlIHVzZWQgdG8gXDIxNG5kIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZykyLjg1OCBGIEYzCiAoXDIxNGxlbmFtZSkzLjEwOCBFIEYwIDUuNjA4KC5UKS4xOCBHIC42MDgoaGUgXDIxNGxlIHNlYXJjaGVkIGZvciBpbikKLS01LjYwOCBGIEY0IC0uNjY2KFBBKTMuMTA4IEcoVEgpLS4xODkgRSBGMCAuODMzKG5lZWQgbm90IGJlIGUpMTQ0IDMxNS42Ci1SIC0uMTUoeGUpLS4xNSBHIDMuMzMzKGN1dGFibGUuIFdoZW4pLjE1IEYgRjIoYmFzaCkzLjMzMyBFIEYwIC44MzIKLShpcyBub3QgaW4pMy4zMzMgRiBGMyAuODMyKHBvc2l4IG1vZGUpMy4zMzIgRiBGMCAzLjMzMigsdClDIC44MzIKLShoZSBjdXJyZW50IGRpcmVjdG9yeSBpcyBzZWFyY2hlZCBpZiBubyktMy4zMzIgRiAuOTgxCi0oXDIxNGxlIGlzIGZvdW5kIGluKTE0NCAzMjcuNiBSIEY0IC0uNjY2KFBBKTMuNDgxIEcoVEgpLS4xODkgRS9GNSA5CistNS42MDggRiBGNCAtLjY2NihQQSkzLjEwOCBHKFRIKS0uMTg5IEUgRjAgLjgzMihuZWVkIG5vdCBiZSBlKTE0NCAzNTEuNgorUiAtLjE1KHhlKS0uMTUgRyAzLjMzMihjdXRhYmxlLiBXaGVuKS4xNSBGIEYyKGJhc2gpMy4zMzIgRSBGMCAuODMyCisoaXMgbm90IGluKTMuMzMyIEYgRjMgLjgzMihwb3NpeCBtb2RlKTMuMzMyIEYgRjAgMy4zMzIoLHQpQyAuODMzCisoaGUgY3VycmVudCBkaXJlY3RvcnkgaXMgc2VhcmNoZWQgaWYgbm8pLTMuMzMyIEYgLjk4MgorKFwyMTRsZSBpcyBmb3VuZCBpbikxNDQgMzYzLjYgUiBGNCAtLjY2NihQQSkzLjQ4MSBHKFRIKS0uMTg5IEUvRjUgOQogL1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIC45ODEoSWYgdGhlKTUuNDgxIEYgRjIoc291cikzLjQ4MSBFKGNlcGF0aCktLjE4CiBFIEYwIC45ODEob3B0aW9uIHRvIHRoZSkzLjQ4MSBGIEYyKHNob3B0KTMuNDgxIEUgRjAgLS4yKGJ1KTMuNDgxIEcgLjk4MQotKGlsdGluIGNvbW1hbmQgaXMgdHVybmVkIG9mKS4yIEYgLjk4MihmLCB0aGUpLS4yNSBGIEY0IC0uNjY2KFBBKTE0NAotMzM5LjYgUyhUSCktLjE4OSBFIEYwIC4xMTIoaXMgbm90IHNlYXJjaGVkLikyLjM2MyBGIC4xMTIoSWYgYW4pNS4xMTIgRgorKGlsdGluIGNvbW1hbmQgaXMgdHVybmVkIG9mKS4yIEYgLjk4MShmLCB0aGUpLS4yNSBGIEY0IC0uNjY2KFBBKTE0NAorMzc1LjYgUyhUSCktLjE4OSBFIEYwIC4xMTIoaXMgbm90IHNlYXJjaGVkLikyLjM2MiBGIC4xMTIoSWYgYW4pNS4xMTIgRgogKHkpLS4xNSBFIEYzKGFyKTIuNjEyIEUoZ3VtZW50cyktLjM3IEUgRjAgLjExMihhcmUgc3VwcGxpZWQsIHRoZSkyLjYxMiBGCiAyLjYxMih5YiktLjE1IEcgLjExMihlY29tZSB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIHdoZW4pLTIuNjEyIEYgRjMKLShcMjE0bGVuYW1lKTE0NCAzNTEuNiBRIEYwIC4zNDEoaXMgZSkyLjg0MSBGIC0uMTUoeGUpLS4xNSBHIDIuODQxCi0oY3V0ZWQuIE90aGVyd2lzZSkuMTUgRiAuMzQxKHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYXJlIHVuY2hhbmdlZC4pCi0yLjg0MSBGIC4zNDIoVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlKTUuMzQyIEYgLjcxNgotKHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGUpMTQ0IDM2My42IFIgLjcxNgorKFwyMTRsZW5hbWUpMTQ0IDM4Ny42IFEgRjAgLjM0MihpcyBlKTIuODQyIEYgLS4xNSh4ZSktLjE1IEcgMi44NDIKKyhjdXRlZC4gT3RoZXJ3aXNlKS4xNSBGIC4zNDIodGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBhcmUgdW5jaGFuZ2VkLikKKzIuODQyIEYgLjM0MShUaGUgcmV0dXJuIHN0YXR1cyBpcyB0aGUpNS4zNDEgRiAuNzE2Cisoc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZSkxNDQgMzk5LjYgUiAuNzE2CiAoeGl0ZWQgd2l0aGluIHRoZSBzY3JpcHQgXCgwIGlmIG5vIGNvbW1hbmRzIGFyZSBlKS0uMTUgRiAtLjE1KHhlKS0uMTUgRwotLjcxNihjdXRlZFwpLCBhbmQgZikuMTUgRiAuNzE1KGFsc2UgaWYpLS4xIEYgRjMoXDIxNGxlbmFtZSkxNDUuOTEgMzc1LjYKLVEgRjAoaXMgbm90IGZvdW5kIG9yIGNhbm5vdCBiZSByZWFkLikyLjY4IEUgRjIoYWxpYXMpMTA4IDM5Mi40IFEgRjAoWykKKy43MTYoY3V0ZWRcKSwgYW5kIGYpLjE1IEYgLjcxNihhbHNlIGlmKS0uMSBGIEYzKFwyMTRsZW5hbWUpMTQ1LjkxIDQxMS42CitRIEYwKGlzIG5vdCBmb3VuZCBvciBjYW5ub3QgYmUgcmVhZC4pMi42OCBFIEYyKGFsaWFzKTEwOCA0MjguNCBRIEYwKFspCiAyLjUgRSBGMjxhZDcwPkEgRjAgMi41KF1bKUMgRjMobmFtZSktMi41IEUgRjAoWz0pQSBGMyh2YWx1ZSlBIEYwIDIuNShdLikKLUMoLi5dKS0yLjUgRSBGMihBbGlhcykxNDQgNDA0LjQgUSBGMCAyLjcyNCh3aXRoIG5vIGFyKTUuMjI0IEYgMi43MjQKK0MoLi5dKS0yLjUgRSBGMihBbGlhcykxNDQgNDQwLjQgUSBGMCAyLjcyNSh3aXRoIG5vIGFyKTUuMjI1IEYgMi43MjQKIChndW1lbnRzIG9yIHdpdGggdGhlKS0uMTggRiBGMjxhZDcwPjUuMjI0IEUgRjAgMi43MjQKLShvcHRpb24gcHJpbnRzIHRoZSBsaXN0IG9mIGFsaWFzZXMgaW4gdGhlIGZvcm0pNS4yMjQgRiBGMihhbGlhcyk1LjIyNSBFCi1GMyhuYW1lKTE0NCA0MTYuNCBRIEYwKD0pQSBGMyh2YWx1ZSlBIEYwIC41OChvbiBzdGFuZGFyZCBvdXRwdXQuKTMuMDggRgorKG9wdGlvbiBwcmludHMgdGhlIGxpc3Qgb2YgYWxpYXNlcyBpbiB0aGUgZm9ybSk1LjIyNCBGIEYyKGFsaWFzKTUuMjI0IEUKK0YzKG5hbWUpMTQ0IDQ1Mi40IFEgRjAoPSlBIEYzKHZhbHVlKUEgRjAgLjU4KG9uIHN0YW5kYXJkIG91dHB1dC4pMy4wOCBGCiAuNTgoV2hlbiBhcik1LjU4IEYgLjU4CiAoZ3VtZW50cyBhcmUgc3VwcGxpZWQsIGFuIGFsaWFzIGlzIGRlXDIxNG5lZCBmb3IgZWFjaCktLjE4IEYgRjMobmFtZSkKLTMuMDggRSBGMCh3aG9zZSkxNDQgNDI4LjQgUSBGMyh2YWx1ZSkyLjg5NSBFIEYwIC4zOTUoaXMgZ2kpMi44OTUgRiAtLjE1CiszLjA4IEUgRjAod2hvc2UpMTQ0IDQ2NC40IFEgRjModmFsdWUpMi44OTUgRSBGMCAuMzk1KGlzIGdpKTIuODk1IEYgLS4xNQogKHZlKS0uMjUgRyAyLjg5NShuLiBBKS4xNSBGIC4zOTUodHJhaWxpbmcgc3BhY2UgaW4pMi44OTUgRiBGMyh2YWx1ZSkKIDUuMzk1IEUgRjAgLjM5NShjYXVzZXMgdGhlIG5lKTIuODk1IEYgLjM5NSh4dCB3KS0uMTUgRiAuMzk1CiAob3JkIHRvIGJlIGNoZWNrKS0uMSBGIC4zOTUoZWQgZm9yIGFsaWFzIHN1Yi0pLS4xIEYgLjA1NAotKHN0aXR1dGlvbiB3aGVuIHRoZSBhbGlhcyBpcyBlKTE0NCA0NDAuNCBSIDIuNTU0KHhwYW5kZWQuIEYpLS4xNSBGIC4wNTQKKyhzdGl0dXRpb24gd2hlbiB0aGUgYWxpYXMgaXMgZSkxNDQgNDc2LjQgUiAyLjU1NCh4cGFuZGVkLiBGKS0uMTUgRiAuMDU0CiAob3IgZWFjaCktLjE1IEYgRjMobmFtZSkyLjU1NCBFIEYwIC4wNTQoaW4gdGhlIGFyKTIuNTU0IEYgLjA1NAotKGd1bWVudCBsaXN0IGZvciB3aGljaCBubyktLjE4IEYgRjModmFsdWUpMi41NTQgRSBGMCAuMDUzKGlzIHN1cC0pMi41NTMKLUYgMS4zMTMocGxpZWQsIHRoZSBuYW1lIGFuZCB2KTE0NCA0NTIuNCBSIDEuMzE0CisoZ3VtZW50IGxpc3QgZm9yIHdoaWNoIG5vKS0uMTggRiBGMyh2YWx1ZSkyLjU1NCBFIEYwIC4wNTQoaXMgc3VwLSkyLjU1NAorRiAxLjMxNChwbGllZCwgdGhlIG5hbWUgYW5kIHYpMTQ0IDQ4OC40IFIgMS4zMTQKIChhbHVlIG9mIHRoZSBhbGlhcyBpcyBwcmludGVkLiktLjI1IEYgRjIoQWxpYXMpNi4zMTQgRSBGMCAxLjMxNAotKHJldHVybnMgdHJ1ZSB1bmxlc3MgYSkzLjgxNCBGIEYzKG5hbWUpMy44MTQgRSBGMCAxLjMxNChpcyBnaSkzLjgxNCBGCi0tLjE1KHZlKS0uMjUgRyAzLjgxNChuZikuMTUgRyhvciktMy44MTQgRQotKHdoaWNoIG5vIGFsaWFzIGhhcyBiZWVuIGRlXDIxNG5lZC4pMTQ0IDQ2NC40IFEgRjIoYmcpMTA4IDQ4MS4yIFEgRjAoWykKLTIuNSBFIEYzKGpvYnNwZWMpQSBGMCguLi5dKTIuNSBFIC43NDUoUmVzdW1lIGVhY2ggc3VzcGVuZGVkIGpvYikxNDQKLTQ5My4yIFIgRjMoam9ic3BlYykzLjI0NSBFIEYwIC43NDUKLShpbiB0aGUgYmFja2dyb3VuZCwgYXMgaWYgaXQgaGFkIGJlZW4gc3RhcnRlZCB3aXRoKTMuMjQ1IEYgRjIoJikzLjI0NCBFCi1GMCA1Ljc0NCguSSlDKGYpLTUuNzQ0IEUgRjMoam9iLSk0Ljk4NCBFKHNwZWMpMTQ0IDUwNS4yIFEgRjAgLjY3MQotKGlzIG5vdCBwcmVzZW50LCB0aGUgc2hlbGwnKTMuNDgxIEYgMy4xNzEoc24pLS41NSBHIC42NzIob3Rpb24gb2YgdGhlKQotLTMuMTcxIEYgRjMoY3VycikzLjE3MiBFIC42NzIoZW50IGpvYiktLjM3IEYgRjAgLjY3MihpcyB1c2VkLikzLjE3MiBGIEYyCi0oYmcpNS42NzIgRSBGMyhqb2JzcGVjKTQuOTEyIEUgRjAgLjY3MihyZXR1cm5zIDAgdW5sZXNzIHJ1bikzLjQ4MiBGIC40MTkKLSh3aGVuIGpvYiBjb250cm9sIGlzIGRpc2FibGVkIG9yKTE0NCA1MTcuMiBSIDIuOTE5KCx3KS0uNCBHIC40MTkKLShoZW4gcnVuIHdpdGggam9iIGNvbnRyb2wgZW5hYmxlZCwgYW4pLTIuOTE5IEYgMi45MTgoeXMpLS4xNSBHCi0ocGVjaVwyMTRlZCktMi45MTggRSBGMyhqb2JzcGVjKTIuOTE4IEUgRjAgLS4xKHdhKTIuOTE4IEcgMi45MTgoc24pLjEgRwotKG90KS0yLjkxOCBFKGZvdW5kIG9yIHcpMTQ0IDUyOS4yIFEoYXMgc3RhcnRlZCB3aXRob3V0IGpvYiBjb250cm9sLiktLjEKLUUgRjIoYmluZCkxMDggNTQ2IFEgRjAoWykyLjUgRSBGMjxhZDZkPkEgRjMgLS4xKGtlKTIuNSBHKHltYXApLS4yIEUgRjAKLTIuNShdWylDIEYyKFwyNTVscHN2UFNWKS0yLjUgRSBGMChdKUEgRjIoYmluZCkxMDggNTU4IFEgRjAoWykyLjUgRSBGMgorKHJldHVybnMgdHJ1ZSB1bmxlc3MgYSkzLjgxNCBGIEYzKG5hbWUpMy44MTQgRSBGMCAxLjMxMyhpcyBnaSkzLjgxNCBGCistLjE1KHZlKS0uMjUgRyAzLjgxMyhuZikuMTUgRyhvciktMy44MTMgRQorKHdoaWNoIG5vIGFsaWFzIGhhcyBiZWVuIGRlXDIxNG5lZC4pMTQ0IDUwMC40IFEgRjIoYmcpMTA4IDUxNy4yIFEgRjAoWykKKzIuNSBFIEYzKGpvYnNwZWMpQSBGMCguLi5dKTIuNSBFIC43NDQoUmVzdW1lIGVhY2ggc3VzcGVuZGVkIGpvYikxNDQKKzUyOS4yIFIgRjMoam9ic3BlYykzLjI0NCBFIEYwIC43NDUKKyhpbiB0aGUgYmFja2dyb3VuZCwgYXMgaWYgaXQgaGFkIGJlZW4gc3RhcnRlZCB3aXRoKTMuMjQ0IEYgRjIoJikzLjI0NSBFCitGMCA1Ljc0NSguSSlDKGYpLTUuNzQ1IEUgRjMoam9iLSk0Ljk4NSBFKHNwZWMpMTQ0IDU0MS4yIFEgRjAgLjY3MgorKGlzIG5vdCBwcmVzZW50LCB0aGUgc2hlbGwnKTMuNDgyIEYgMy4xNzIoc24pLS41NSBHIC42NzIob3Rpb24gb2YgdGhlKQorLTMuMTcyIEYgRjMoY3VycikzLjE3MiBFIC42NzIoZW50IGpvYiktLjM3IEYgRjAgLjY3MihpcyB1c2VkLikzLjE3MiBGIEYyCisoYmcpNS42NzEgRSBGMyhqb2JzcGVjKTQuOTExIEUgRjAgLjY3MShyZXR1cm5zIDAgdW5sZXNzIHJ1bikzLjQ4MSBGIC40MTgKKyh3aGVuIGpvYiBjb250cm9sIGlzIGRpc2FibGVkIG9yKTE0NCA1NTMuMiBSIDIuOTE5KCx3KS0uNCBHIC40MTkKKyhoZW4gcnVuIHdpdGggam9iIGNvbnRyb2wgZW5hYmxlZCwgYW4pLTIuOTE5IEYgMi45MTkoeXMpLS4xNSBHCisocGVjaVwyMTRlZCktMi45MTkgRSBGMyhqb2JzcGVjKTIuOTE5IEUgRjAgLS4xKHdhKTIuOTE5IEcgMi45MTkoc24pLjEgRworKG90KS0yLjkxOSBFKGZvdW5kIG9yIHcpMTQ0IDU2NS4yIFEoYXMgc3RhcnRlZCB3aXRob3V0IGpvYiBjb250cm9sLiktLjEKK0UgRjIoYmluZCkxMDggNTgyIFEgRjAoWykyLjUgRSBGMjxhZDZkPkEgRjMgLS4xKGtlKTIuNSBHKHltYXApLS4yIEUgRjAKKzIuNShdWylDIEYyKFwyNTVscHN2UFNWKS0yLjUgRSBGMChdKUEgRjIoYmluZCkxMDggNTk0IFEgRjAoWykyLjUgRSBGMgogPGFkNmQ+QSBGMyAtLjEoa2UpMi41IEcoeW1hcCktLjIgRSBGMCAyLjUoXVspQyBGMjxhZDcxPi0yLjUgRSBGMwogKGZ1bmN0aW9uKTIuNSBFIEYwIDIuNShdWylDIEYyPGFkNzU+LTIuNSBFIEYzKGZ1bmN0aW9uKTIuNSBFIEYwIDIuNShdWylDCi1GMjxhZDcyPi0yLjUgRSBGMyAtLjEoa2UpMi41IEcoeXNlcSktLjIgRSBGMChdKUEgRjIoYmluZCkxMDggNTcwIFEgRjAoWykKK0YyPGFkNzI+LTIuNSBFIEYzIC0uMShrZSkyLjUgRyh5c2VxKS0uMiBFIEYwKF0pQSBGMihiaW5kKTEwOCA2MDYgUSBGMChbKQogMi41IEUgRjI8YWQ2ZD5BIEYzIC0uMShrZSkyLjUgRyh5bWFwKS0uMiBFIEYwKF0pQSBGMjxhZDY2PjIuNSBFIEYzCi0oXDIxNGxlbmFtZSkyLjUgRSBGMihiaW5kKTEwOCA1ODIgUSBGMChbKTIuNSBFIEYyPGFkNmQ+QSBGMyAtLjEoa2UpMi41IEcKKyhcMjE0bGVuYW1lKTIuNSBFIEYyKGJpbmQpMTA4IDYxOCBRIEYwKFspMi41IEUgRjI8YWQ2ZD5BIEYzIC0uMShrZSkyLjUgRwogKHltYXApLS4yIEUgRjAoXSlBIEYyPGFkNzg+Mi41IEUgRjMgLS4xKGtlKTIuNSBHKHlzZXEpLS4yIEUgRjAoOilBIEYzCi0oc2hlbGxcMjU1Y29tbWFuZClBIEYyKGJpbmQpMTA4IDU5NCBRIEYwKFspMi41IEUgRjI8YWQ2ZD5BIEYzIC0uMShrZSkyLjUKKyhzaGVsbFwyNTVjb21tYW5kKUEgRjIoYmluZCkxMDggNjMwIFEgRjAoWykyLjUgRSBGMjxhZDZkPkEgRjMgLS4xKGtlKTIuNQogRyh5bWFwKS0uMiBFIEYwKF0pQSBGMyAtLjEoa2UpMi41IEcoeXNlcSktLjIgRSBGMCg6KUEgRjMKLShmdW5jdGlvblwyNTVuYW1lKUEgRjIoYmluZCkxMDggNjA2IFEgRjMgLS4zNyhyZSkyLjUgRwotKGFkbGluZVwyNTVjb21tYW5kKS4zNyBFIEYwIC4yMzgoRGlzcGxheSBjdXJyZW50KTE0NCA2MTggUiBGMiAtLjE4KHJlKQotMi43MzggRyhhZGxpbmUpLjE4IEUgRjAgLS4xKGtlKTIuNzM4IEcgMi43MzgoeWEpLS4wNSBHIC4yMzkKLShuZCBmdW5jdGlvbiBiaW5kaW5ncywgYmluZCBhIGspLTIuNzM4IEYgLjUzOSAtLjE1KGV5IHMpLS4xIEggLjIzOQotKGVxdWVuY2UgdG8gYSkuMTUgRiBGMiAtLjE4KHJlKTIuNzM5IEcoYWRsaW5lKS4xOCBFIEYwIC4yMzkoZnVuY3Rpb24gb3IpCi0yLjczOSBGIC40NzYobWFjcm8sIG9yIHNldCBhKTE0NCA2MzAgUiBGMiAtLjE4KHJlKTIuOTc2IEcoYWRsaW5lKS4xOCBFCi1GMCAtLjI1KHZhKTIuOTc2IEcgMi45NzYocmlhYmxlLiBFYWNoKS4yNSBGIC40NzYobm9uLW9wdGlvbiBhcikyLjk3NiBGCi0uNDc1KGd1bWVudCBpcyBhIGNvbW1hbmQgYXMgaXQgdyktLjE4IEYgLjQ3NShvdWxkIGFwcGVhciBpbiktLjEgRiBGMwotKC5pbnB1dHIpMTQ0IDY0MiBRKGMpLS4zNyBFIEYwIDIuOTgzKCxiKS4zMSBHIC40ODQKLSh1dCBlYWNoIGJpbmRpbmcgb3IgY29tbWFuZCBtdXN0IGJlIHBhc3NlZCBhcyBhIHNlcGFyYXRlIGFyKS0zLjE4MyBGCi0uNDg0KGd1bWVudDsgZS5nLiwgJyJcXENcMjU1eFxcQ1wyNTVyIjopLS4xOCBGIDIuNQotKHJlXDI1NXJlYWRcMjU1aW5pdFwyNTVcMjE0bGUnLiBPcHRpb25zLCkxNDQgNjU0IFIoaWYgc3VwcGxpZWQsIGhhKTIuNSBFCi0uMyAtLjE1KHZlIHQpLS4yIEgoaGUgZm9sbG8pLjE1IEUod2luZyBtZWFuaW5nczopLS4yNSBFIEYyPGFkNmQ+MTQ0IDY2NgotUSBGMyAtLjEoa2UpMi41IEcoeW1hcCktLjIgRSBGMChVc2UpMTgwIDY3OCBRIEYzIC0uMShrZSk1LjE1OSBHKHltYXApLS4yCi1FIEYwIDIuNjU5KGFzIHRoZSBrKTUuMzQ5IEYgLS4xNShleSktLjEgRyAyLjY1OChtYXAgdG8gYmUgYWYpLjE1IEYgMi42NTgKLShmZWN0ZWQgYnkgdGhlIHN1YnNlcXVlbnQgYmluZGluZ3MuKS0uMjUgRihBY2NlcHRhYmxlKTcuNjU4IEUgRjMgLS4xKGtlKQotMTgwIDY5MCBTKHltYXApLS4yIEUgRjAgMy4xOTIobmFtZXMgYXJlKTUuODgyIEYgRjMgMy4xOTIKLShlbWFjcywgZW1hY3NcMjU1c3RhbmRhcik1LjY5MiBGIDMuMTkzCisoZnVuY3Rpb25cMjU1bmFtZSlBIEYyKGJpbmQpMTA4IDY0MiBRIEYzIC0uMzcocmUpMi41IEcKKyhhZGxpbmVcMjU1Y29tbWFuZCkuMzcgRSBGMCAuMjM5KERpc3BsYXkgY3VycmVudCkxNDQgNjU0IFIgRjIgLS4xOChyZSkKKzIuNzM5IEcoYWRsaW5lKS4xOCBFIEYwIC0uMShrZSkyLjczOSBHIDIuNzM5KHlhKS0uMDUgRyAuMjM5CisobmQgZnVuY3Rpb24gYmluZGluZ3MsIGJpbmQgYSBrKS0yLjczOSBGIC41MzkgLS4xNShleSBzKS0uMSBIIC4yMzgKKyhlcXVlbmNlIHRvIGEpLjE1IEYgRjIgLS4xOChyZSkyLjczOCBHKGFkbGluZSkuMTggRSBGMCAuMjM4KGZ1bmN0aW9uIG9yKQorMi43MzggRiAuNDc1KG1hY3JvLCBvciBzZXQgYSkxNDQgNjY2IFIgRjIgLS4xOChyZSkyLjk3NSBHKGFkbGluZSkuMTggRQorRjAgLS4yNSh2YSkyLjk3NSBHIDIuOTc1KHJpYWJsZS4gRWFjaCkuMjUgRiAuNDc2KG5vbi1vcHRpb24gYXIpMi45NzYgRgorLjQ3NihndW1lbnQgaXMgYSBjb21tYW5kIGFzIGl0IHcpLS4xOCBGIC40NzYob3VsZCBhcHBlYXIgaW4pLS4xIEYgRjMKKyguaW5wdXRyKTE0NCA2NzggUShjKS0uMzcgRSBGMCAyLjk4NCgsYikuMzEgRyAuNDg0CisodXQgZWFjaCBiaW5kaW5nIG9yIGNvbW1hbmQgbXVzdCBiZSBwYXNzZWQgYXMgYSBzZXBhcmF0ZSBhciktMy4xODQgRgorLjQ4MyhndW1lbnQ7IGUuZy4sICciXFxDXDI1NXhcXENcMjU1ciI6KS0uMTggRiAyLjUKKyhyZVwyNTVyZWFkXDI1NWluaXRcMjU1XDIxNGxlJy4gT3B0aW9ucywpMTQ0IDY5MCBSKGlmIHN1cHBsaWVkLCBoYSkyLjUgRQorLjMgLS4xNSh2ZSB0KS0uMiBIKGhlIGZvbGxvKS4xNSBFKHdpbmcgbWVhbmluZ3M6KS0uMjUgRSBGMjxhZDZkPjE0NCA3MDIKK1EgRjMgLS4xKGtlKTIuNSBHKHltYXApLS4yIEUgRjAoVXNlKTE4MCA3MTQgUSBGMyAtLjEoa2UpNS4xNTggRyh5bWFwKS0uMgorRSBGMCAyLjY1OChhcyB0aGUgayk1LjM0OCBGIC0uMTUoZXkpLS4xIEcgMi42NTgobWFwIHRvIGJlIGFmKS4xNSBGIDIuNjU5CisoZmVjdGVkIGJ5IHRoZSBzdWJzZXF1ZW50IGJpbmRpbmdzLiktLjI1IEYoQWNjZXB0YWJsZSk3LjY1OSBFIEYzIC0uMShrZSkKKzE4MCA3MjYgUyh5bWFwKS0uMiBFIEYwIDMuMTkzKG5hbWVzIGFyZSk1Ljg4MyBGIEYzIDMuMTkzCisoZW1hY3MsIGVtYWNzXDI1NXN0YW5kYXIpNS42OTMgRiAzLjE5MgogKGQsIGVtYWNzXDI1NW1ldGEsIGVtYWNzXDI1NWN0bHgsIHZpLCB2aVwyNTVtbyktLjM3IEYodmUpLS4xIEUoLCktLjEgRQotKHZpXDI1NWNvbW1hbmQpMTgwIDcwMiBRIEYwIDQuNDMoLGEpQyhuZCktNC40MyBFIEYzKHZpXDI1NWluc2VydCk0LjQyOSBFCi1GMCguKS42OCBFIEYzKHZpKTYuOTI5IEUgRjAgMS45MjkoaXMgZXF1aSk0LjQyOSBGIC0uMjUodmEpLS4yNSBHIDEuOTI5Ci0obGVudCB0bykuMjUgRiBGMyh2aVwyNTVjb21tYW5kKTQuNDI5IEUgRjAoOylBIEYzKGVtYWNzKTQuNDI5IEUgRjAgMS45MjkKLShpcyBlcXVpKTQuNDI5IEYgLS4yNSh2YSktLjI1IEcgMS45MjkobGVudCB0bykuMjUgRiBGMyhlbWFjc1wyNTVzdGFuZGFyKQotMTgwIDcxNCBRKGQpLS4zNyBFIEYwKC4pQShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDEpCi0yMDMuNzI1IEUgMCBDZyBFUAorRjAoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSgxKTIwMy43MjUgRSAwIENnIEVQCiAlJVBhZ2U6IDIgMgogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMoU0hfQikuMzUgRShVSUwpLS4xIEUgMjkwLjQ4CiAoVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRS9GMSAxMAotL1RpbWVzLUJvbGRAMCBTRjxhZDZjPjE0NCA4NCBRIEYwKExpc3QgdGhlIG5hbWVzIG9mIGFsbCkyNy41MiBFIEYxIC0uMTgKLShyZSkyLjUgRyhhZGxpbmUpLjE4IEUgRjAoZnVuY3Rpb25zLikyLjUgRSBGMTxhZDcwPjE0NCA5NiBRIEYwKERpc3BsYXkpCi0yNC43NCBFIEYxIC0uMTgocmUpMi41IEcoYWRsaW5lKS4xOCBFIEYwCisvVGltZXMtSXRhbGljQDAgU0YodmlcMjU1Y29tbWFuZCkxODAgODQgUSBGMCA0LjQyOSgsYSlDKG5kKS00LjQyOSBFIEYxCisodmlcMjU1aW5zZXJ0KTQuNDI5IEUgRjAoLikuNjggRSBGMSh2aSk2LjkyOSBFIEYwIDEuOTI5KGlzIGVxdWkpNC40MjkgRgorLS4yNSh2YSktLjI1IEcgMS45MjkobGVudCB0bykuMjUgRiBGMSh2aVwyNTVjb21tYW5kKTQuNDI5IEUgRjAoOylBIEYxCisoZW1hY3MpNC40MjkgRSBGMCAxLjkyOShpcyBlcXVpKTQuNDI5IEYgLS4yNSh2YSktLjI1IEcgMS45MyhsZW50IHRvKS4yNQorRiBGMShlbWFjc1wyNTVzdGFuZGFyKTE4MCA5NiBRKGQpLS4zNyBFIEYwKC4pQS9GMiAxMC9UaW1lcy1Cb2xkQDAgU0YKKzxhZDZjPjE0NCAxMDggUSBGMChMaXN0IHRoZSBuYW1lcyBvZiBhbGwpMjcuNTIgRSBGMiAtLjE4KHJlKTIuNSBHCisoYWRsaW5lKS4xOCBFIEYwKGZ1bmN0aW9ucy4pMi41IEUgRjI8YWQ3MD4xNDQgMTIwIFEgRjAoRGlzcGxheSkyNC43NCBFCitGMiAtLjE4KHJlKTIuNSBHKGFkbGluZSkuMTggRSBGMAogKGZ1bmN0aW9uIG5hbWVzIGFuZCBiaW5kaW5ncyBpbiBzdWNoIGEgdykyLjUgRShheSB0aGF0IHRoZSktLjEgRSAyLjUoeWMpCi0tLjE1IEcoYW4gYmUgcmUtcmVhZC4pLTIuNSBFIEYxPGFkNTA+MTQ0IDEwOCBRIEYwKExpc3QgY3VycmVudCkyNC4xOSBFCi1GMSAtLjE4KHJlKTIuNSBHKGFkbGluZSkuMTggRSBGMChmdW5jdGlvbiBuYW1lcyBhbmQgYmluZGluZ3MuKTIuNSBFIEYxCi08YWQ3Mz4xNDQgMTIwIFEgRjAoRGlzcGxheSkyNi40MSBFIEYxIC0uMTgocmUpMy42NTUgRyhhZGxpbmUpLjE4IEUgRjAKKy0uMTUgRyhhbiBiZSByZS1yZWFkLiktMi41IEUgRjI8YWQ1MD4xNDQgMTMyIFEgRjAoTGlzdCBjdXJyZW50KTI0LjE5IEUKK0YyIC0uMTgocmUpMi41IEcoYWRsaW5lKS4xOCBFIEYwKGZ1bmN0aW9uIG5hbWVzIGFuZCBiaW5kaW5ncy4pMi41IEUgRjIKKzxhZDczPjE0NCAxNDQgUSBGMChEaXNwbGF5KTI2LjQxIEUgRjIgLS4xOChyZSkzLjY1NSBHKGFkbGluZSkuMTggRSBGMAogLS4xKGtlKTMuNjU1IEcgMy42NTUoeXMpLS4wNSBHIDEuMTU1CiAoZXF1ZW5jZXMgYm91bmQgdG8gbWFjcm9zIGFuZCB0aGUgc3RyaW5ncyB0aGUpLTMuNjU1IEYgMy42NTUoeW8pLS4xNSBHCi0xLjE1NSh1dHB1dCBpbiBzdWNoIGEpLTMuNjU1IEYgLS4xKHdhKTE4MCAxMzIgUyAyLjUoeXQpLjEgRyhoYXQgdGhlKS0yLjUKLUUgMi41KHljKS0uMTUgRyhhbiBiZSByZS1yZWFkLiktMi41IEUgRjE8YWQ1Mz4xNDQgMTQ0IFEgRjAoRGlzcGxheSkyNC43NAotRSBGMSAtLjE4KHJlKTIuNSBHKGFkbGluZSkuMTggRSBGMCAtLjEoa2UpMi41IEcgMi41KHlzKS0uMDUgRworMS4xNTUodXRwdXQgaW4gc3VjaCBhKS0zLjY1NSBGIC0uMSh3YSkxODAgMTU2IFMgMi41KHl0KS4xIEcoaGF0IHRoZSktMi41CitFIDIuNSh5YyktLjE1IEcoYW4gYmUgcmUtcmVhZC4pLTIuNSBFIEYyPGFkNTM+MTQ0IDE2OCBRIEYwKERpc3BsYXkpMjQuNzQKK0UgRjIgLS4xOChyZSkyLjUgRyhhZGxpbmUpLjE4IEUgRjAgLS4xKGtlKTIuNSBHIDIuNSh5cyktLjA1IEcKIChlcXVlbmNlcyBib3VuZCB0byBtYWNyb3MgYW5kIHRoZSBzdHJpbmdzIHRoZSktMi41IEUgMi41KHlvKS0uMTUgRwotKHV0cHV0LiktMi41IEUgRjE8YWQ3Nj4xNDQgMTU2IFEgRjAoRGlzcGxheSkyNS4zIEUgRjEgLS4xOChyZSkyLjUgRworKHV0cHV0LiktMi41IEUgRjI8YWQ3Nj4xNDQgMTgwIFEgRjAoRGlzcGxheSkyNS4zIEUgRjIgLS4xOChyZSkyLjUgRwogKGFkbGluZSkuMTggRSBGMCAtLjI1KHZhKTIuNSBHKHJpYWJsZSBuYW1lcyBhbmQgdikuMjUgRQogKGFsdWVzIGluIHN1Y2ggYSB3KS0uMjUgRShheSB0aGF0IHRoZSktLjEgRSAyLjUoeWMpLS4xNSBHCi0oYW4gYmUgcmUtcmVhZC4pLTIuNSBFIEYxPGFkNTY+MTQ0IDE2OCBRIEYwKExpc3QgY3VycmVudCkyMy4wOCBFIEYxIC0uMTgKKyhhbiBiZSByZS1yZWFkLiktMi41IEUgRjI8YWQ1Nj4xNDQgMTkyIFEgRjAoTGlzdCBjdXJyZW50KTIzLjA4IEUgRjIgLS4xOAogKHJlKTIuNSBHKGFkbGluZSkuMTggRSBGMCAtLjI1KHZhKTIuNSBHKHJpYWJsZSBuYW1lcyBhbmQgdikuMjUgRShhbHVlcy4pCi0tLjI1IEUgRjE8YWQ2Nj4xNDQgMTgwIFEvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YoXDIxNGxlbmFtZSkyLjUgRSBGMAotKFJlYWQgaykxODAgMTkyIFEgLjMgLS4xNShleSBiKS0uMSBIKGluZGluZ3MgZnJvbSkuMTUgRSBGMihcMjE0bGVuYW1lKQotMi41IEUgRjAoLilBIEYxPGFkNzE+MTQ0IDIwNCBRIEYyKGZ1bmN0aW9uKTIuNSBFIEYwKFF1ZXJ5IGFib3V0IHdoaWNoIGspCi0xODAgMjE2IFEgLS4xNShleSktLjEgRyAyLjUoc2kpLjE1IEcgLTEuOSAtLjQobnYgbyktMi41IEggLjIgLS4xKGtlIHQpLjQKLUgoaGUgbmFtZWQpLjEgRSBGMihmdW5jdGlvbikyLjUgRSBGMCguKUEgRjE8YWQ3NT4xNDQgMjI4IFEgRjIoZnVuY3Rpb24pCi0yLjUgRSBGMChVbmJpbmQgYWxsIGspMTgwIDI0MCBRIC0uMTUoZXkpLS4xIEcgMi41KHNiKS4xNSBHCi0ob3VuZCB0byB0aGUgbmFtZWQpLTIuNSBFIEYyKGZ1bmN0aW9uKTIuNSBFIEYwKC4pQSBGMTxhZDcyPjE0NCAyNTIgUSBGMgotLS4xKGtlKTIuNSBHKHlzZXEpLS4yIEUgRjAoUmVtbykxODAgMjY0IFEgLjMgLS4xNSh2ZSBhKS0uMTUgSCAuMyAtLjE1Ci0obnkgYykuMTUgSCh1cnJlbnQgYmluZGluZyBmb3IpLjE1IEUgRjIgLS4xKGtlKTIuNSBHKHlzZXEpLS4yIEUgRjAoLilBCi1GMTxhZDc4PjE0NCAyNzYgUSBGMiAtLjEoa2UpMi41IEcoeXNlcSktLjIgRSBGMSg6KUEgRjIoc2hlbGxcMjU1Y29tbWFuZCkKLUEgRjAoQ2F1c2UpMTgwIDI4OCBRIEYyKHNoZWxsXDI1NWNvbW1hbmQpNC4zMjUgRSBGMCAxLjgyNSh0byBiZSBlKTQuMzI1Ci1GIC0uMTUoeGUpLS4xNSBHIDEuODI1KGN1dGVkIHdoZW5lKS4xNSBGIC0uMTUodmUpLS4yNSBHKHIpLjE1IEUgRjIgLS4xCi0oa2UpNC4zMjUgRyh5c2VxKS0uMiBFIEYwIDEuODI1KGlzIGVudGVyZWQuKTQuMzI1IEYoV2hlbik2LjgyNSBFIEYyCi0oc2hlbGxcMjU1Y29tLSk0LjMyNSBFKG1hbmQpMTgwIDMwMCBRIEYwIDEuMTEzKGlzIGUpMy42MTMgRiAtLjE1KHhlKS0uMTUKLUcgMS4xMTMoY3V0ZWQsIHRoZSBzaGVsbCBzZXRzIHRoZSkuMTUgRiBGMShSRUFETElORV9MSU5FKTMuNjEzIEUgRjAgLS4yNQotKHZhKTMuNjEzIEcgMS4xMTMocmlhYmxlIHRvIHRoZSBjb250ZW50cyBvZiB0aGUpLjI1IEYgRjEgLS4xOChyZSkxODAgMzEyCi1TKGFkbGluZSkuMTggRSBGMCAuNTg3KGxpbmUgYikzLjA4NyBGKHVmKS0uMiBFIC41ODcoZmVyIGFuZCB0aGUpLS4yNSBGCi1GMShSRUFETElORV9QT0lOVCkzLjA4NyBFIEYwIC0uMjUodmEpMy4wODcgRyAuNTg2Ci0ocmlhYmxlIHRvIHRoZSBjdXJyZW50IGxvY2F0aW9uIG9mIHRoZSkuMjUgRiAxLjI0KGluc2VydGlvbiBwb2ludC4pMTgwCi0zMjQgUiAxLjI0MShJZiB0aGUgZSk2LjI0MSBGIC0uMTUoeGUpLS4xNSBHIDEuMjQxCi0oY3V0ZWQgY29tbWFuZCBjaGFuZ2VzIHRoZSB2KS4xNSBGIDEuMjQxKGFsdWUgb2YpLS4yNSBGIEYxCi0oUkVBRExJTkVfTElORSkzLjc0MSBFIEYwKG9yKTMuNzQxIEUgRjEoUkVBRExJTkVfUE9JTlQpMTgwIDMzNiBRIEYwIDIuNQotKCx0KUMoaG9zZSBuZSktMi41IEUgMi41KHd2KS0uMjUgRworLS4yNSBFIEYyPGFkNjY+MTQ0IDIwNCBRIEYxKFwyMTRsZW5hbWUpMi41IEUgRjAoUmVhZCBrKTE4MCAyMTYgUSAuMyAtLjE1CisoZXkgYiktLjEgSChpbmRpbmdzIGZyb20pLjE1IEUgRjEoXDIxNGxlbmFtZSkyLjUgRSBGMCguKUEgRjI8YWQ3MT4xNDQKKzIyOCBRIEYxKGZ1bmN0aW9uKTIuNSBFIEYwKFF1ZXJ5IGFib3V0IHdoaWNoIGspMTgwIDI0MCBRIC0uMTUoZXkpLS4xIEcKKzIuNShzaSkuMTUgRyAtMS45IC0uNChudiBvKS0yLjUgSCAuMiAtLjEoa2UgdCkuNCBIKGhlIG5hbWVkKS4xIEUgRjEKKyhmdW5jdGlvbikyLjUgRSBGMCguKUEgRjI8YWQ3NT4xNDQgMjUyIFEgRjEoZnVuY3Rpb24pMi41IEUgRjAKKyhVbmJpbmQgYWxsIGspMTgwIDI2NCBRIC0uMTUoZXkpLS4xIEcgMi41KHNiKS4xNSBHKG91bmQgdG8gdGhlIG5hbWVkKQorLTIuNSBFIEYxKGZ1bmN0aW9uKTIuNSBFIEYwKC4pQSBGMjxhZDcyPjE0NCAyNzYgUSBGMSAtLjEoa2UpMi41IEcoeXNlcSkKKy0uMiBFIEYwKFJlbW8pMTgwIDI4OCBRIC4zIC0uMTUodmUgYSktLjE1IEggLjMgLS4xNShueSBjKS4xNSBICisodXJyZW50IGJpbmRpbmcgZm9yKS4xNSBFIEYxIC0uMShrZSkyLjUgRyh5c2VxKS0uMiBFIEYwKC4pQSBGMjxhZDc4PjE0NAorMzAwIFEgRjEgLS4xKGtlKTIuNSBHKHlzZXEpLS4yIEUgRjIoOilBIEYxKHNoZWxsXDI1NWNvbW1hbmQpQSBGMChDYXVzZSkKKzE4MCAzMTIgUSBGMShzaGVsbFwyNTVjb21tYW5kKTQuMzI1IEUgRjAgMS44MjUodG8gYmUgZSk0LjMyNSBGIC0uMTUoeGUpCistLjE1IEcgMS44MjUoY3V0ZWQgd2hlbmUpLjE1IEYgLS4xNSh2ZSktLjI1IEcocikuMTUgRSBGMSAtLjEoa2UpNC4zMjUgRworKHlzZXEpLS4yIEUgRjAgMS44MjUoaXMgZW50ZXJlZC4pNC4zMjUgRihXaGVuKTYuODI1IEUgRjEoc2hlbGxcMjU1Y29tLSkKKzQuMzI1IEUobWFuZCkxODAgMzI0IFEgRjAgMS43NjUoaXMgZSk0LjI2NSBGIC0uMTUoeGUpLS4xNSBHIDEuNzY1CisoY3V0ZWQsIHRoZSBzaGVsbCBzZXRzIHRoZSkuMTUgRi9GMyA5L1RpbWVzLUJvbGRAMCBTRihSRUFETElORV9MSU5FKQorNC4yNjUgRSBGMCAtLjI1KHZhKTQuMDE1IEcgMS43NjUocmlhYmxlIHRvIHRoZSBjb250ZW50cyBvZiB0aGUpLjI1IEYgRjIKKy0uMTgocmUpMTgwIDMzNiBTKGFkbGluZSkuMTggRSBGMCAxLjM1MyhsaW5lIGIpMy44NTIgRih1ZiktLjIgRSAxLjM1MworKGZlciBhbmQgdGhlKS0uMjUgRiBGMyhSRUFETElORV9QT0lOVCkzLjg1MyBFIEYwIC0uMjUodmEpMy42MDMgRyAxLjM1MworKHJpYWJsZSB0byB0aGUgY3VycmVudCBsb2NhdGlvbiBvZiB0aGUpLjI1IEYgMi4wMTIoaW5zZXJ0aW9uIHBvaW50LikxODAKKzM0OCBSIDIuMDExKElmIHRoZSBlKTcuMDEyIEYgLS4xNSh4ZSktLjE1IEcgMi4wMTEKKyhjdXRlZCBjb21tYW5kIGNoYW5nZXMgdGhlIHYpLjE1IEYgMi4wMTEoYWx1ZSBvZiktLjI1IEYgRjMKKyhSRUFETElORV9MSU5FKTQuNTExIEUgRjAob3IpNC4yNjEgRSBGMyhSRUFETElORV9QT0lOVCkxODAgMzYwIFEvRjQgOQorL1RpbWVzLVJvbWFuQDAgU0YoLClBIEYwKHRob3NlIG5lKTIuMjUgRSAyLjUod3YpLS4yNSBHCiAoYWx1ZXMgd2lsbCBiZSByZVwyMTVlY3RlZCBpbiB0aGUgZWRpdGluZyBzdGF0ZS4pLTIuNzUgRShUaGUgcmV0dXJuIHYpCi0xNDQgMzUyLjggUShhbHVlIGlzIDAgdW5sZXNzIGFuIHVucmVjb2duaXplZCBvcHRpb24gaXMgZ2kpLS4yNSBFIC0uMTUKKzE0NCAzNzYuOCBRKGFsdWUgaXMgMCB1bmxlc3MgYW4gdW5yZWNvZ25pemVkIG9wdGlvbiBpcyBnaSktLjI1IEUgLS4xNQogKHZlKS0uMjUgRyAyLjUobm8pLjE1IEcgMi41KHJhKS0yLjUgRyAyLjUobmUpLTIuNSBHKHJyb3Igb2NjdXJyZWQuKS0yLjUKLUUgRjEoYnIpMTA4IDM2OS42IFEoZWFrKS0uMTggRSBGMChbKTIuNSBFIEYyKG4pQSBGMChdKUEgLjA1NQotKEV4aXQgZnJvbSB3aXRoaW4gYSkxNDQgMzgxLjYgUiBGMSAtLjI1KGZvKTIuNTU1IEcocikuMjUgRSBGMCgsKUEgRjEKLSh3aGlsZSkyLjU1NSBFIEYwKCwpQSBGMSh1bnRpbCkyLjU1NSBFIEYwIDIuNTU1KCxvKUMociktMi41NTUgRSBGMQotKHNlbGVjdCkyLjU1NSBFIEYwIDIuNTU1KGxvb3AuIElmKTIuNTU1IEYgRjIobikyLjU1NSBFIEYwIC4wNTUKLShpcyBzcGVjaVwyMTRlZCwgYnJlYWspMi41NTUgRiBGMihuKTIuNTU1IEUgRjAobGUpMi41NTUgRSAtLjE1KHZlKS0uMjUgRwotKGxzLikuMTUgRSBGMihuKTUuNDE0IEUgRjAgLjA1NChtdXN0IGJlKTIuNzk0IEYvRjMgMTAvU3ltYm9sIFNGPGIzPjIuNTU0Ci1FIEYwKDEuKTIuNTU0IEUoSWYpMTQ0IDM5My42IFEgRjIobikzLjA3NCBFIEYwIC4yMTUoaXMgZ3JlYXRlciB0aGFuIHRoZVwKLSBudW1iZXIgb2YgZW5jbG9zaW5nIGxvb3BzLCBhbGwgZW5jbG9zaW5nIGxvb3BzIGFyZSBlKTIuOTU0IEYgMi43MTUKLSh4aXRlZC4gVGhlKS0uMTUgRiAuMjE1KHJldHVybiB2KTIuNzE1IEYoYWx1ZSktLjI1IEUoaXMgMCB1bmxlc3MpMTQ0Ci00MDUuNiBRIEYyKG4pMi41IEUgRjAoaXMgbm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLikyLjUgRSBGMSAtLjIKLShidSkxMDggNDIyLjQgUyhpbHRpbikuMiBFIEYyKHNoZWxsXDI1NWIpMi41IEUodWlsdGluKS0uMiBFIEYwKFspMi41IEUKLUYyKGFyKUEoZ3VtZW50cyktLjM3IEUgRjAoXSlBKEV4KTE0NCA0MzQuNCBRIC43OTMKLShlY3V0ZSB0aGUgc3BlY2lcMjE0ZWQgc2hlbGwgYiktLjE1IEYgLjc5Myh1aWx0aW4sIHBhc3NpbmcgaXQpLS4yIEYgRjIKK0UgRjIoYnIpMTA4IDM5My42IFEoZWFrKS0uMTggRSBGMChbKTIuNSBFIEYxKG4pQSBGMChdKUEgLjA1NAorKEV4aXQgZnJvbSB3aXRoaW4gYSkxNDQgNDA1LjYgUiBGMiAtLjI1KGZvKTIuNTU0IEcocikuMjUgRSBGMCgsKUEgRjIKKyh3aGlsZSkyLjU1NCBFIEYwKCwpQSBGMih1bnRpbCkyLjU1NSBFIEYwIDIuNTU1KCxvKUMociktMi41NTUgRSBGMgorKHNlbGVjdCkyLjU1NSBFIEYwIDIuNTU1KGxvb3AuIElmKTIuNTU1IEYgRjEobikyLjU1NSBFIEYwIC4wNTUKKyhpcyBzcGVjaVwyMTRlZCwgYnJlYWspMi41NTUgRiBGMShuKTIuNTU1IEUgRjAobGUpMi41NTUgRSAtLjE1KHZlKS0uMjUgRworKGxzLikuMTUgRSBGMShuKTUuNDE1IEUgRjAgLjA1NShtdXN0IGJlKTIuNzk1IEYvRjUgMTAvU3ltYm9sIFNGPGIzPjIuNTU1CitFIEYwKDEuKTIuNTU1IEUoSWYpMTQ0IDQxNy42IFEgRjEobikzLjA3NSBFIEYwIC4yMTUoaXMgZ3JlYXRlciB0aGFuIHRoZVwKKyBudW1iZXIgb2YgZW5jbG9zaW5nIGxvb3BzLCBhbGwgZW5jbG9zaW5nIGxvb3BzIGFyZSBlKTIuOTU1IEYgMi43MTQKKyh4aXRlZC4gVGhlKS0uMTUgRiAuMjE0KHJldHVybiB2KTIuNzE0IEYoYWx1ZSktLjI1IEUoaXMgMCB1bmxlc3MpMTQ0Cis0MjkuNiBRIEYxKG4pMi41IEUgRjAoaXMgbm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLikyLjUgRSBGMiAtLjIKKyhidSkxMDggNDQ2LjQgUyhpbHRpbikuMiBFIEYxKHNoZWxsXDI1NWIpMi41IEUodWlsdGluKS0uMiBFIEYwKFspMi41IEUKK0YxKGFyKUEoZ3VtZW50cyktLjM3IEUgRjAoXSlBKEV4KTE0NCA0NTguNCBRIC43OTIKKyhlY3V0ZSB0aGUgc3BlY2lcMjE0ZWQgc2hlbGwgYiktLjE1IEYgLjc5Mih1aWx0aW4sIHBhc3NpbmcgaXQpLS4yIEYgRjEKIChhcikzLjI5MyBFKGd1bWVudHMpLS4zNyBFIEYwIDMuMjkzKCxhKS4yNyBHIC43OTMobmQgcmV0dXJuIGl0cyBlKS0zLjI5MwotRiAuNzkyKHhpdCBzdGF0dXMuKS0uMTUgRiAuNzkyKFRoaXMgaXMgdXNlZnVsKTUuNzkyIEYgLjYxNQorRiAuNzkzKHhpdCBzdGF0dXMuKS0uMTUgRiAuNzkzKFRoaXMgaXMgdXNlZnVsKTUuNzkzIEYgLjYxNgogKHdoZW4gZGVcMjE0bmluZyBhIGZ1bmN0aW9uIHdob3NlIG5hbWUgaXMgdGhlIHNhbWUgYXMgYSBzaGVsbCBiKTE0NAotNDQ2LjQgUiAuNjE2KHVpbHRpbiwgcmV0YWluaW5nIHRoZSBmdW5jdGlvbmFsaXR5IG9mKS0uMiBGIC41Nyh0aGUgYikxNDQKLTQ1OC40IFIgLjU3KHVpbHRpbiB3aXRoaW4gdGhlIGZ1bmN0aW9uLiktLjIgRihUaGUpNS41NyBFIEYxKGNkKTMuMDcgRSBGMAorNDcwLjQgUiAuNjE1KHVpbHRpbiwgcmV0YWluaW5nIHRoZSBmdW5jdGlvbmFsaXR5IG9mKS0uMiBGIC41Nyh0aGUgYikxNDQKKzQ4Mi40IFIgLjU3KHVpbHRpbiB3aXRoaW4gdGhlIGZ1bmN0aW9uLiktLjIgRihUaGUpNS41NyBFIEYyKGNkKTMuMDcgRSBGMAogLS4yKGJ1KTMuMDcgRyAuNTcoaWx0aW4gaXMgY29tbW9ubHkgcmVkZVwyMTRuZWQgdGhpcyB3KS4yIEYoYXkpLS4xIEUKLTUuNTcoLlQpLS42NSBHIC41NyhoZSByZXR1cm4gc3RhdHVzKS01LjU3IEYoaXMgZikxNDQgNDcwLjQgUShhbHNlIGlmKS0uMQotRSBGMihzaGVsbFwyNTViKTIuODQgRSh1aWx0aW4pLS4yIEUgRjAoaXMgbm90IGEgc2hlbGwgYikyLjc0IEUKLSh1aWx0aW4gY29tbWFuZC4pLS4yIEUgRjEoY2FsbGVyKTEwOCA0ODcuMiBRIEYwKFspMi41IEUgRjIgLS4yKGV4KUMocHIpCi0uMiBFIEYwKF0pQSAuMjUzKFJldHVybnMgdGhlIGNvbnRlKTE0NCA0OTkuMiBSIC4yNTQoeHQgb2YgYW4pLS4xNSBGCis1LjU3KC5UKS0uNjUgRyAuNTcoaGUgcmV0dXJuIHN0YXR1cyktNS41NyBGKGlzIGYpMTQ0IDQ5NC40IFEoYWxzZSBpZiktLjEKK0UgRjEoc2hlbGxcMjU1YikyLjg0IEUodWlsdGluKS0uMiBFIEYwKGlzIG5vdCBhIHNoZWxsIGIpMi43NCBFCisodWlsdGluIGNvbW1hbmQuKS0uMiBFIEYyKGNhbGxlcikxMDggNTExLjIgUSBGMChbKTIuNSBFIEYxIC0uMihleClDKHByKQorLjIgRSBGMChdKUEgLjI1NChSZXR1cm5zIHRoZSBjb250ZSkxNDQgNTIzLjIgUiAuMjU0KHh0IG9mIGFuKS0uMTUgRgogMi43NTQoeWEpLS4xNSBHKGN0aSktMi43NTQgRSAuNTU0IC0uMTUodmUgcyktLjI1IEggLjI1NAogKHVicm91dGluZSBjYWxsIFwoYSBzaGVsbCBmdW5jdGlvbiBvciBhIHNjcmlwdCBlKS4xNSBGIC0uMTUoeGUpLS4xNSBHCi0uMjU0KGN1dGVkIHdpdGggdGhlKS4xNSBGIEYxKC4pMi43NTQgRSBGMChvcikyLjc1NCBFIEYxKHNvdXIpMTQ0IDUxMS4yIFEKLShjZSktLjE4IEUgRjAgLS4yKGJ1KTMuMDYzIEcgMy4wNjMoaWx0aW5zLiBXKS4yIEYoaXRob3V0KS0uNCBFIEYyIC0uMgotKGV4KTMuMDYyIEcocHIpLjIgRSBGMCgsKUEgRjEoY2FsbGVyKTMuMDYyIEUgRjAgLjU2MgorLjI1NChjdXRlZCB3aXRoIHRoZSkuMTUgRiBGMiguKTIuNzUzIEUgRjAob3IpMi43NTMgRSBGMihzb3VyKTE0NCA1MzUuMiBRCisoY2UpLS4xOCBFIEYwIC0uMihidSkzLjA2MiBHIDMuMDYyKGlsdGlucy4gVykuMiBGKGl0aG91dCktLjQgRSBGMSAtLjIKKyhleCkzLjA2MiBHKHByKS4yIEUgRjAoLClBIEYyKGNhbGxlcikzLjA2MiBFIEYwIC41NjIKIChkaXNwbGF5cyB0aGUgbGluZSBudW1iZXIgYW5kIHNvdXJjZSBcMjE0bGVuYW1lIG9mIHRoZSBjdXJyZW50KTMuMDYyIEYKLS4yNTMoc3Vicm91dGluZSBjYWxsLikxNDQgNTIzLjIgUiAuMjUzKElmIGEgbm9uLW5lKTUuMjUzIEYgLS4wNShnYSktLjE1Ci1HKHRpKS4wNSBFIC41NTMgLS4xNSh2ZSBpKS0uMjUgSChudGUpLjE1IEUgLjI1MyhnZXIgaXMgc3VwcGxpZWQgYXMpLS4xNQotRiBGMiAtLjIoZXgpMi43NTMgRyhwcikuMiBFIEYwKCwpQSBGMShjYWxsZXIpMi43NTMgRSBGMCAuMjU0Ci0oZGlzcGxheXMgdGhlIGxpbmUgbnVtYmVyKTIuNzU0IEYgMi43NTQoLHMpLS40IEcodWItKS0yLjc1NCBFIDEuMzI3KHJvdVwKKy4yNTQoc3Vicm91dGluZSBjYWxsLikxNDQgNTQ3LjIgUiAuMjU0KElmIGEgbm9uLW5lKTUuMjU0IEYgLS4wNShnYSktLjE1CitHKHRpKS4wNSBFIC41NTQgLS4xNSh2ZSBpKS0uMjUgSChudGUpLjE1IEUgLjI1MyhnZXIgaXMgc3VwcGxpZWQgYXMpLS4xNQorRiBGMSAtLjIoZXgpMi43NTMgRyhwcikuMiBFIEYwKCwpQSBGMihjYWxsZXIpMi43NTMgRSBGMCAuMjUzCisoZGlzcGxheXMgdGhlIGxpbmUgbnVtYmVyKTIuNzUzIEYgMi43NTMoLHMpLS40IEcodWItKS0yLjc1MyBFIDEuMzI3KHJvdVwKIHRpbmUgbmFtZSwgYW5kIHNvdXJjZSBcMjE0bGUgY29ycmVzcG9uZGluZyB0byB0aGF0IHBvc2l0aW9uIGluIHRoZSBjdXJyXAotZW50IGUpMTQ0IDUzNS4yIFIgLS4xNSh4ZSktLjE1IEcgMS4zMjcoY3V0aW9uIGNhbGwgc3RhY2suKS4xNSBGKFRoaXMgZSkKLTE0NCA1NDcuMiBRKHh0cmEgaW5mb3JtYXRpb24gbWF5IGJlIHVzZWQsIGZvciBlKS0uMTUgRSAuMDAxCi0oeGFtcGxlLCB0byBwcmludCBhIHN0YWNrIHRyYWNlLiktLjE1IEYgLjAwMShUaGUgY3VycmVudCBmcmFtZSBpcyBmcmFtZSkKLTUuMDAxIEYgMy4wMigwLiBUaGUpMTQ0IDU1OS4yIFIgLjUyKHJldHVybiB2KTMuMDIgRiAuNTIKLShhbHVlIGlzIDAgdW5sZXNzIHRoZSBzaGVsbCBpcyBub3QgZSktLjI1IEYgLS4xNSh4ZSktLjE1IEcgLjUxOQotKGN1dGluZyBhIHN1YnJvdXRpbmUgY2FsbCBvcikuMTUgRiBGMiAtLjIoZXgpMy4wMTkgRyhwcikuMiBFIEYwIC41MTkKLShkb2VzIG5vdCBjb3JyZS0pMy4wMTkgRihzcG9uZCB0byBhIHYpMTQ0IDU3MS4yIFEKLShhbGlkIHBvc2l0aW9uIGluIHRoZSBjYWxsIHN0YWNrLiktLjI1IEUgRjEoY2QpMTA4IDU4OCBRIEYwKFspMi41IEUgRjEKLShcMjU1THwtUClBIEYwIDIuNShdWylDIEYyKGRpciktMi41IEUgRjAoXSlBIC4yMQotKENoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkgdG8pMTQ0IDYwMCBSIEYyKGRpcikyLjcxIEUgRjAgNS4yMSguVClDCi0uMjEoaGUgdiktNS4yMSBGKGFyaWFibGUpLS4yNSBFL0Y0IDkvVGltZXMtQm9sZEAwIFNGKEhPTUUpMi43MSBFIEYwIC4yMQotKGlzIHRoZSBkZWYpMi40NiBGKGF1bHQpLS4xIEUgRjIoZGlyKTIuNzEgRSBGMCA1LjIxKC5UKS43MyBHIC4yMShoZSB2KQotLTUuMjEgRihhcmlhYmxlKS0uMjUgRSBGNChDRFApMi43MSBFIC0uODU1KEFUKS0uNjY2IEcoSCkuODU1IEUgRjAgLjc3NwotKGRlXDIxNG5lcyB0aGUgc2VhcmNoIHBhdGggZm9yIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZykxNDQgNjEyIFIgRjIKLShkaXIpMy4yNzYgRSBGMCA1Ljc3NiguQSkuNzMgRyhsdGVybmF0aSktNS43NzYgRSAxLjA3NiAtLjE1KHZlIGQpLS4yNSBICi0uNzc2KGlyZWN0b3J5IG5hbWVzIGluKS4xNSBGIEY0KENEUCkzLjI3NiBFIC0uODU1KEFUKS0uNjY2IEcoSCkuODU1IEUgRjAKLS43NjQoYXJlIHNlcGFyYXRlZCBieSBhIGNvbG9uIFwoOlwpLikxNDQgNjI0IFIgMy4yNjQoQW4pNS43NjQgRyAuNzY0Ci0odWxsIGRpcmVjdG9yeSBuYW1lIGluKS0zLjI2NCBGIEY0KENEUCkzLjI2NCBFIC0uODU1KEFUKS0uNjY2IEcoSCkuODU1IEUKLUYwIC43NjQoaXMgdGhlIHNhbWUgYXMgdGhlIGN1cnJlbnQgZGlyZWMtKTMuMDE0IEYodG9yeSkxNDQgNjM2IFEgMi45NzQKLSgsaSktLjY1IEcgLjQ3NCguZS4sIGApLTIuOTc0IEYoYCktLjc0IEUgRjEoLilBIEYwIC0uNzQoJycpQyA1LjQ3NCguSSkKLS43NCBHKGYpLTUuNDc0IEUgRjIoZGlyKTMuMzI0IEUgRjAoYmUpMy43MDQgRSAuNDc0Ci0oZ2lucyB3aXRoIGEgc2xhc2ggXCgvXCksIHRoZW4pLS4xNSBGIEY0KENEUCkyLjk3NCBFIC0uODU1KEFUKS0uNjY2IEcoSCkKLS44NTUgRSBGMCAuNDczKGlzIG5vdCB1c2VkLiBUaGUpMi43MjQgRiBGMTxhZDUwPjIuOTczIEUgRjAgLjQ3MwotKG9wdGlvbiBzYXlzIHRvIHVzZSkyLjk3MyBGIC41NzkodGhlIHBoKTE0NCA2NDggUiAuNTc5CitlbnQgZSkxNDQgNTU5LjIgUiAtLjE1KHhlKS0uMTUgRyAxLjMyOChjdXRpb24gY2FsbCBzdGFjay4pLjE1IEYgLjAwMQorKFRoaXMgZSkxNDQgNTcxLjIgUiAuMDAxKHh0cmEgaW5mb3JtYXRpb24gbWF5IGJlIHVzZWQsIGZvciBlKS0uMTUgRiAuMDAxCisoeGFtcGxlLCB0byBwcmludCBhIHN0YWNrIHRyYWNlLiktLjE1IEYoVGhlIGN1cnJlbnQgZnJhbWUgaXMgZnJhbWUpNSBFCiszLjAxOSgwLiBUaGUpMTQ0IDU4My4yIFIgLjUxOShyZXR1cm4gdikzLjAxOSBGIC41MTkKKyhhbHVlIGlzIDAgdW5sZXNzIHRoZSBzaGVsbCBpcyBub3QgZSktLjI1IEYgLS4xNSh4ZSktLjE1IEcgLjUyCisoY3V0aW5nIGEgc3Vicm91dGluZSBjYWxsIG9yKS4xNSBGIEYxIC0uMihleCkzLjAyIEcocHIpLjIgRSBGMCAuNTIKKyhkb2VzIG5vdCBjb3JyZS0pMy4wMiBGKHNwb25kIHRvIGEgdikxNDQgNTk1LjIgUQorKGFsaWQgcG9zaXRpb24gaW4gdGhlIGNhbGwgc3RhY2suKS0uMjUgRSBGMihjZCkxMDggNjEyIFEgRjAoWykyLjUgRSBGMgorKFwyNTVMfC1QKUEgRjAgMi41KF1bKUMgRjEoZGlyKS0yLjUgRSBGMChdKUEgLjIxCisoQ2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeSB0bykxNDQgNjI0IFIgRjEoZGlyKTIuNzEgRSBGMCA1LjIxKC5UKUMKKy4yMShoZSB2KS01LjIxIEYoYXJpYWJsZSktLjI1IEUgRjMoSE9NRSkyLjcxIEUgRjAgLjIxKGlzIHRoZSBkZWYpMi40NiBGCisoYXVsdCktLjEgRSBGMShkaXIpMi43MSBFIEYwIDUuMjEoLlQpLjczIEcgLjIxKGhlIHYpLTUuMjEgRihhcmlhYmxlKS0uMjUKK0UgRjMoQ0RQKTIuNzEgRSAtLjg1NShBVCktLjY2NiBHKEgpLjg1NSBFIEYwIC43NzYKKyhkZVwyMTRuZXMgdGhlIHNlYXJjaCBwYXRoIGZvciB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcpMTQ0IDYzNiBSIEYxCisoZGlyKTMuMjc2IEUgRjAgNS43NzcoLkEpLjczIEcobHRlcm5hdGkpLTUuNzc3IEUgMS4wNzcgLS4xNSh2ZSBkKS0uMjUgSAorLjc3NyhpcmVjdG9yeSBuYW1lcyBpbikuMTUgRiBGMyhDRFApMy4yNzcgRSAtLjg1NShBVCktLjY2NiBHKEgpLjg1NSBFIEYwCisuNzY0KGFyZSBzZXBhcmF0ZWQgYnkgYSBjb2xvbiBcKDpcKS4pMTQ0IDY0OCBSIDMuMjY0KEFuKTUuNzY0IEcgLjc2NAorKHVsbCBkaXJlY3RvcnkgbmFtZSBpbiktMy4yNjQgRiBGMyhDRFApMy4yNjQgRSAtLjg1NShBVCktLjY2NiBHKEgpLjg1NSBFCitGMCAuNzY0KGlzIHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50IGRpcmVjLSkzLjAxNCBGKHRvcnkpMTQ0IDY2MCBRIDIuOTczCisoLGkpLS42NSBHIC40NzMoLmUuLCBgKS0yLjk3MyBGKGApLS43NCBFIEYyKC4pQSBGMCAtLjc0KCcnKUMgNS40NzMoLkkpCisuNzQgRyhmKS01LjQ3MyBFIEYxKGRpcikzLjMyMyBFIEYwKGJlKTMuNzAzIEUgLjQ3NAorKGdpbnMgd2l0aCBhIHNsYXNoIFwoL1wpLCB0aGVuKS0uMTUgRiBGMyhDRFApMi45NzQgRSAtLjg1NShBVCktLjY2NiBHKEgpCisuODU1IEUgRjAgLjQ3NChpcyBub3QgdXNlZC4gVGhlKTIuNzI0IEYgRjI8YWQ1MD4yLjk3NCBFIEYwIC40NzQKKyhvcHRpb24gc2F5cyB0byB1c2UpMi45NzQgRiAuNTgodGhlIHBoKTE0NCA2NzIgUiAuNTgKICh5c2ljYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSBpbnN0ZWFkIG9mIGZvbGxvKS0uMDUgRiAuNTc5Ci0od2luZyBzeW1ib2xpYyBsaW5rcyBcKHNlZSBhbHNvIHRoZSktLjI1IEYgRjE8YWQ1MD4zLjA4IEUgRjAgLjU4Ci0ob3B0aW9uIHRvIHRoZSkzLjA4IEYgRjEoc2V0KTE0NCA2NjAgUSBGMCAtLjIoYnUpMy4zODQgRyAuODg0Ci0oaWx0aW4gY29tbWFuZFwpOyB0aGUpLjIgRiBGMTxhZDRjPjMuMzg0IEUgRjAgLjg4NAorKHdpbmcgc3ltYm9saWMgbGlua3MgXChzZWUgYWxzbyB0aGUpLS4yNSBGIEYyPGFkNTA+My4wNzkgRSBGMCAuNTc5Cisob3B0aW9uIHRvIHRoZSkzLjA3OSBGIEYyKHNldCkxNDQgNjg0IFEgRjAgLS4yKGJ1KTMuMzgzIEcgLjg4MworKGlsdGluIGNvbW1hbmRcKTsgdGhlKS4yIEYgRjI8YWQ0Yz4zLjM4MyBFIEYwIC44ODQKIChvcHRpb24gZm9yY2VzIHN5bWJvbGljIGxpbmtzIHRvIGJlIGZvbGxvKTMuMzg0IEYgMy4zODQod2VkLiBBbiktLjI1IEYKLShhcikzLjM4MyBFIC44ODMoZ3VtZW50IG9mKS0uMTggRiBGMTxhZD4zLjM4MyBFIEYwKGlzKTMuMzgzIEUoZXF1aSkxNDQKLTY3MiBRIC0uMjUodmEpLS4yNSBHIC4wNjIobGVudCB0bykuMjUgRiBGNCgkT0xEUFdEKTIuNTYyIEUvRjUgOQotL1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIC4wNjIoSWYgYSBub24tZW1wdHkgZGlyZWN0b3J5IG5hbWUgZnJvbSk0LjU2MiBGCi1GMShDRFApMi41NjIgRSAtLjk1KEFUKS0uNzQgRyhIKS45NSBFIEYwIC4wNjMoaXMgdXNlZCwgb3IgaWYpMi41NjIgRiBGMQotPGFkPjIuNTYzIEUgRjAgLjA2MyhpcyB0aGUgXDIxNHJzdCkyLjU2MyBGKGFyKTE0NCA2ODQgUSAuMTE2KGd1bWVudCwgYW5cCi1kIHRoZSBkaXJlY3RvcnkgY2hhbmdlIGlzIHN1Y2Nlc3NmdWwsIHRoZSBhYnNvbHV0ZSBwYXRobmFtZSBvZiB0aGUgbmUpCi0tLjE4IEYgMi42MTUod3cpLS4yNSBHIC4xMTUob3JraW5nIGRpcmVjLSktMi43MTUgRiAxLjE2NAotKHRvcnkgaXMgd3JpdHRlbiB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LikxNDQgNjk2IFIgMS4xNjQoVGhlIHJldHVybiB2KQotNi4xNjQgRiAxLjE2NShhbHVlIGlzIHRydWUgaWYgdGhlIGRpcmVjdG9yeSB3KS0uMjUgRiAxLjE2NQotKGFzIHN1Y2Nlc3NmdWxseSktLjEgRihjaGFuZ2VkOyBmKTE0NCA3MDggUShhbHNlIG90aGVyd2lzZS4pLS4xIEUKLShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDIpMjAzLjcyNSBFIDAgQ2cgRVAKKyhhcikzLjM4NCBFIC44ODQoZ3VtZW50IG9mKS0uMTggRiBGMjxhZD4zLjM4NCBFIEYwKGlzKTMuMzg0IEUoZXF1aSkxNDQKKzY5NiBRIC0uMjUodmEpLS4yNSBHIC4zMTYobGVudCB0bykuMjUgRiBGMygkT0xEUFdEKTIuODE2IEUgRjQoLilBIEYwCisuMzE2KElmIGEgbm9uLWVtcHR5IGRpcmVjdG9yeSBuYW1lIGZyb20pNC44MTYgRiBGMyhDRFApMi44MTUgRSAtLjg1NShBVCkKKy0uNjY2IEcoSCkuODU1IEUgRjAgLjMxNShpcyB1c2VkLCBvciBpZikyLjU2NSBGIEYyPGFkPjIuODE1IEUgRjAgLjMxNQorKGlzIHRoZSBcMjE0cnN0KTIuODE1IEYoYXIpMTQ0IDcwOCBRIC4xMTYoZ3VtZW50LCBhbmQgdGhlIGRpcmVjdG9yeSBjaGFcCituZ2UgaXMgc3VjY2Vzc2Z1bCwgdGhlIGFic29sdXRlIHBhdGhuYW1lIG9mIHRoZSBuZSktLjE4IEYgMi42MTYod3cpLS4yNQorRyAuMTE2KG9ya2luZyBkaXJlYy0pLTIuNzE2IEYgMS4xNjUKKyh0b3J5IGlzIHdyaXR0ZW4gdG8gdGhlIHN0YW5kYXJkIG91dHB1dC4pMTQ0IDcyMCBSIDEuMTY0KFRoZSByZXR1cm4gdikKKzYuMTY0IEYgMS4xNjQoYWx1ZSBpcyB0cnVlIGlmIHRoZSBkaXJlY3RvcnkgdyktLjI1IEYgMS4xNjQKKyhhcyBzdWNjZXNzZnVsbHkpLS4xIEYoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSgyKQorMjAzLjcyNSBFIDAgQ2cgRVAKICUlUGFnZTogMyAzCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyhTSF9CKS4zNSBFKFVJTCktLjEgRSAyOTAuNDgKLShUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFL0YxIDEwCi0vVGltZXMtQm9sZEAwIFNGKGNvbW1hbmQpMTA4IDg0IFEgRjAoWykyLjUgRSBGMShcMjU1cFZ2KUEgRjAoXSlBL0YyIDEwCi0vVGltZXMtSXRhbGljQDAgU0YoY29tbWFuZCkyLjUgRSBGMChbKTIuNSBFIEYyKGFyKUEoZyktLjM3IEUgRjAoLi4uXSkyLjUKLUUoUnVuKTE0NCA5NiBRIEYyKGNvbW1hbmQpMi45NTcgRSBGMCh3aXRoKTMuNTI3IEUgRjIoYXIpMy4wODcgRShncyktLjM3Ci1FIEYwIC4yNTcoc3VwcHJlc3NpbmcgdGhlIG5vcm1hbCBzaGVsbCBmdW5jdGlvbiBsb29rdXAuIE9ubHkgYikzLjAyNyBGCi0uMjU3KHVpbHRpbiBjb21tYW5kcyBvciktLjIgRiAuNTAxKGNvbW1hbmRzIGZvdW5kIGluIHRoZSkxNDQgMTA4IFIvRjMgOQotL1RpbWVzLUJvbGRAMCBTRiAtLjY2NihQQSkzLjAwMSBHKFRIKS0uMTg5IEUgRjAgLjUwMihhcmUgZSkyLjc1MSBGIC0uMTUKKyhUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFKGNoYW5nZWQ7IGYpCisxNDQgODQgUShhbHNlIG90aGVyd2lzZS4pLS4xIEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGNvbW1hbmQpMTA4IDEwMC44IFEKK0YwKFspMi41IEUgRjEoXDI1NXBWdilBIEYwKF0pQS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihjb21tYW5kKTIuNSBFIEYwCisoWykyLjUgRSBGMihhcilBKGcpLS4zNyBFIEYwKC4uLl0pMi41IEUoUnVuKTE0NCAxMTIuOCBRIEYyKGNvbW1hbmQpMi45NTYKK0UgRjAod2l0aCkzLjUyNyBFIEYyKGFyKTMuMDg3IEUoZ3MpLS4zNyBFIEYwIC4yNTcKKyhzdXBwcmVzc2luZyB0aGUgbm9ybWFsIHNoZWxsIGZ1bmN0aW9uIGxvb2t1cC4gT25seSBiKTMuMDI3IEYgLjI1NworKHVpbHRpbiBjb21tYW5kcyBvciktLjIgRiAuNTAyKGNvbW1hbmRzIGZvdW5kIGluIHRoZSkxNDQgMTI0LjggUi9GMyA5CisvVGltZXMtQm9sZEAwIFNGIC0uNjY2KFBBKTMuMDAyIEcoVEgpLS4xODkgRSBGMCAuNTAyKGFyZSBlKTIuNzUyIEYgLS4xNQogKHhlKS0uMTUgRyAzLjAwMihjdXRlZC4gSWYpLjE1IEYodGhlKTMuMDAyIEUgRjE8YWQ3MD4zLjAwMiBFIEYwIC41MDIKLShvcHRpb24gaXMgZ2kpMy4wMDIgRiAtLjE1KHZlKS0uMjUgRyAuNTAyKG4sIHRoZSBzZWFyY2ggZm9yKS4xNSBGIEYyCi0oY29tbWFuZCkzLjIwMiBFIEYwKGlzKTMuNzcyIEUgLjIzMihwZXJmb3JtZWQgdXNpbmcgYSBkZWYpMTQ0IDEyMCBSIC4yMzEKLShhdWx0IHYpLS4xIEYgLjIzMShhbHVlIGZvciktLjI1IEYgRjEgLS43NChQQSkyLjczMSBHKFRIKS0uMjEgRSBGMCAuMjMxCi0odGhhdCBpcyBndWFyYW50ZWVkIHRvIFwyMTRuZCBhbGwgb2YgdGhlIHN0YW5kYXJkIHV0aWxpdGllcy4pMi43MzEgRihJZikKLTUuMjMxIEUgLjE3NChlaXRoZXIgdGhlKTE0NCAxMzIgUiBGMTxhZDU2PjIuNjc0IEUgRjAob3IpMi42NzQgRSBGMTxhZDc2PgotMi42NzQgRSBGMCAuMTc1KG9wdGlvbiBpcyBzdXBwbGllZCwgYSBkZXNjcmlwdGlvbiBvZikyLjY3NCBGIEYyKGNvbW1hbmQpCi0yLjg3NSBFIEYwIC4xNzUoaXMgcHJpbnRlZC4pMy40NDUgRihUaGUpNS4xNzUgRSBGMTxhZDc2PjIuNjc1IEUgRjAgLjE3NQotKG9wdGlvbiBjYXVzZXMpMi42NzUgRiAzLjExKGFzKTE0NCAxNDQgUyAuNjEoaW5nbGUgdyktMy4xMSBGIC42MQotKG9yZCBpbmRpY2F0aW5nIHRoZSBjb21tYW5kIG9yIFwyMTRsZSBuYW1lIHVzZWQgdG8gaW4pLS4xIEYgLS4yKHZvKS0uNCBHCi0tLjEoa2UpLjIgRyBGMihjb21tYW5kKTMuNDEgRSBGMCAuNjEodG8gYmUgZGlzcGxheWVkOyB0aGUpMy44OCBGIEYxCi08YWQ1Nj4xNDQgMTU2IFEgRjAgLjI0OShvcHRpb24gcHJvZHVjZXMgYSBtb3JlIHYpMi43NDkgRiAuMjQ5Ci0oZXJib3NlIGRlc2NyaXB0aW9uLiktLjE1IEYgLjI0OShJZiB0aGUpNS4yNDkgRiBGMTxhZDU2PjIuNzQ5IEUgRjAob3IpCi0yLjc0OSBFIEYxPGFkNzY+Mi43NSBFIEYwIC4yNShvcHRpb24gaXMgc3VwcGxpZWQsIHRoZSBlKTIuNzUgRiAuMjUKLSh4aXQgc3RhdHVzKS0uMTUgRiAxLjAwNShpcyAwIGlmKTE0NCAxNjggUiBGMihjb21tYW5kKTMuNzA1IEUgRjAgLS4xKHdhKQotNC4yNzUgRyAzLjUwNShzZikuMSBHIDEuMDA1KG91bmQsIGFuZCAxIGlmIG5vdC4pLTMuNTA1IEYgMS4wMDQKKyhvcHRpb24gaXMgZ2kpMy4wMDIgRiAtLjE1KHZlKS0uMjUgRyAuNTAxKG4sIHRoZSBzZWFyY2ggZm9yKS4xNSBGIEYyCisoY29tbWFuZCkzLjIwMSBFIEYwKGlzKTMuNzcxIEUgLjM5OShwZXJmb3JtZWQgdXNpbmcgYSBkZWYpMTQ0IDEzNi44IFIKKy4zOTkoYXVsdCB2KS0uMSBGIC4zOTkoYWx1ZSBmb3IpLS4yNSBGIEYzIC0uNjY2KFBBKTIuODk5IEcoVEgpLS4xODkgRSBGMAorLjQodGhhdCBpcyBndWFyYW50ZWVkIHRvIFwyMTRuZCBhbGwgb2YgdGhlIHN0YW5kYXJkIHV0aWxpdGllcy4pMi42NDkgRgorKElmKTUuNCBFIC4xNzUoZWl0aGVyIHRoZSkxNDQgMTQ4LjggUiBGMTxhZDU2PjIuNjc1IEUgRjAob3IpMi42NzUgRSBGMQorPGFkNzY+Mi42NzUgRSBGMCAuMTc1KG9wdGlvbiBpcyBzdXBwbGllZCwgYSBkZXNjcmlwdGlvbiBvZikyLjY3NSBGIEYyCisoY29tbWFuZCkyLjg3NSBFIEYwIC4xNzQoaXMgcHJpbnRlZC4pMy40NDUgRihUaGUpNS4xNzQgRSBGMTxhZDc2PjIuNjc0IEUKK0YwIC4xNzQob3B0aW9uIGNhdXNlcykyLjY3NCBGIDMuMTEoYXMpMTQ0IDE2MC44IFMgLjYxKGluZ2xlIHcpLTMuMTEgRgorLjYxKG9yZCBpbmRpY2F0aW5nIHRoZSBjb21tYW5kIG9yIFwyMTRsZSBuYW1lIHVzZWQgdG8gaW4pLS4xIEYgLS4yKHZvKQorLS40IEcgLS4xKGtlKS4yIEcgRjIoY29tbWFuZCkzLjQxIEUgRjAgLjYxKHRvIGJlIGRpc3BsYXllZDsgdGhlKTMuODggRgorRjE8YWQ1Nj4xNDQgMTcyLjggUSBGMCAuMjUob3B0aW9uIHByb2R1Y2VzIGEgbW9yZSB2KTIuNzUgRiAuMjUKKyhlcmJvc2UgZGVzY3JpcHRpb24uKS0uMTUgRiAuMjQ5KElmIHRoZSk1LjI1IEYgRjE8YWQ1Nj4yLjc0OSBFIEYwKG9yKQorMi43NDkgRSBGMTxhZDc2PjIuNzQ5IEUgRjAgLjI0OShvcHRpb24gaXMgc3VwcGxpZWQsIHRoZSBlKTIuNzQ5IEYgLjI0OQorKHhpdCBzdGF0dXMpLS4xNSBGIDEuMDA0KGlzIDAgaWYpMTQ0IDE4NC44IFIgRjIoY29tbWFuZCkzLjcwNCBFIEYwIC0uMQorKHdhKTQuMjc0IEcgMy41MDQoc2YpLjEgRyAxLjAwNShvdW5kLCBhbmQgMSBpZiBub3QuKS0zLjUwNCBGIDEuMDA1CiAoSWYgbmVpdGhlciBvcHRpb24gaXMgc3VwcGxpZWQgYW5kIGFuIGVycm9yIG9jY3VycmVkIG9yKTYuMDA1IEYgRjIKLShjb21tYW5kKTE0NC4yIDE4MCBRIEYwIDEuNTk4KGNhbm5vdCBiZSBmb3VuZCwgdGhlIGUpNC44NjggRiAxLjU5OQotKHhpdCBzdGF0dXMgaXMgMTI3LiktLjE1IEYgMS41OTkoT3RoZXJ3aXNlLCB0aGUgZSk2LjU5OSBGIDEuNTk5Ci0oeGl0IHN0YXR1cyBvZiB0aGUpLS4xNSBGIEYxKGNvbW1hbmQpNC4wOTkgRSBGMCAtLjIoYnUpMTQ0IDE5MiBTCisoY29tbWFuZCkxNDQuMiAxOTYuOCBRIEYwIDEuNTk5KGNhbm5vdCBiZSBmb3VuZCwgdGhlIGUpNC44NjkgRiAxLjU5OQorKHhpdCBzdGF0dXMgaXMgMTI3LiktLjE1IEYgMS41OTkoT3RoZXJ3aXNlLCB0aGUgZSk2LjU5OSBGIDEuNTk4CisoeGl0IHN0YXR1cyBvZiB0aGUpLS4xNSBGIEYxKGNvbW1hbmQpNC4wOTggRSBGMCAtLjIoYnUpMTQ0IDIwOC44IFMKIChpbHRpbiBpcyB0aGUgZSkuMiBFKHhpdCBzdGF0dXMgb2YpLS4xNSBFIEYyKGNvbW1hbmQpMi41IEUgRjAoLikuNzcgRSBGMQotKGNvbXBnZW4pMTA4IDIwOC44IFEgRjAoWykyLjUgRSBGMihvcHRpb24pQSBGMCAyLjUoXVspQyBGMih3b3IpLTIuNSBFKGQpCi0tLjM3IEUgRjAoXSlBIC4wMTMoR2VuZXJhdGUgcG9zc2libGUgY29tcGxldGlvbiBtYXRjaGVzIGZvcikxNDQgMjIwLjggUgorKGNvbXBnZW4pMTA4IDIyNS42IFEgRjAoWykyLjUgRSBGMihvcHRpb24pQSBGMCAyLjUoXVspQyBGMih3b3IpLTIuNSBFKGQpCistLjM3IEUgRjAoXSlBIC4wMTIoR2VuZXJhdGUgcG9zc2libGUgY29tcGxldGlvbiBtYXRjaGVzIGZvcikxNDQgMjM3LjYgUgogRjIod29yKTIuNTEzIEUoZCktLjM3IEUgRjAgLjAxMyhhY2NvcmRpbmcgdG8gdGhlKTIuNTEzIEYgRjIob3B0aW9uKTIuNTEzCi1FIEYwIC4wMTMocywgd2hpY2ggbWF5IGJlIGFuKUIgMi41MTIoeW8pLS4xNSBHKHB0aW9uKS0yLjUxMiBFIC45ODEKLShhY2NlcHRlZCBieSB0aGUpMTQ0IDIzMi44IFIgRjEoY29tcGxldGUpMy40ODEgRSBGMCAtLjIoYnUpMy40ODEgRyAuOTgxCitFIEYwIC4wMTMocywgd2hpY2ggbWF5IGJlIGFuKUIgMi41MTMoeW8pLS4xNSBHKHB0aW9uKS0yLjUxMyBFIC45ODIKKyhhY2NlcHRlZCBieSB0aGUpMTQ0IDI0OS42IFIgRjEoY29tcGxldGUpMy40ODIgRSBGMCAtLjIoYnUpMy40ODEgRyAuOTgxCiAoaWx0aW4gd2l0aCB0aGUgZSkuMiBGIC45ODEoeGNlcHRpb24gb2YpLS4xNSBGIEYxPGFkNzA+My40ODEgRSBGMChhbmQpCi0zLjQ4MSBFIEYxPGFkNzI+My40ODEgRSBGMCAzLjQ4MSgsYSlDIC45ODIobmQgd3JpdGUgdGhlIG1hdGNoZXMgdG8gdGhlKQotLTMuNDgxIEYgMS40MTUoc3RhbmRhcmQgb3V0cHV0LikxNDQgMjQ0LjggUiAxLjQxNShXaGVuIHVzaW5nIHRoZSk2LjQxNSBGCiszLjQ4MSBFIEYxPGFkNzI+My40ODEgRSBGMCAzLjQ4MSgsYSlDIC45ODEobmQgd3JpdGUgdGhlIG1hdGNoZXMgdG8gdGhlKQorLTMuNDgxIEYgMS40MTUoc3RhbmRhcmQgb3V0cHV0LikxNDQgMjYxLjYgUiAxLjQxNShXaGVuIHVzaW5nIHRoZSk2LjQxNSBGCiBGMTxhZDQ2PjMuOTE1IEUgRjAob3IpMy45MTUgRSBGMTxhZDQzPjMuOTE1IEUgRjAgMS40MTUob3B0aW9ucywgdGhlIHYpCiAzLjkxNSBGIDEuNDE1KGFyaW91cyBzaGVsbCB2KS0uMjUgRiAxLjQxNShhcmlhYmxlcyBzZXQgYnkgdGhlIHByby0pLS4yNQotRihncmFtbWFibGUgY29tcGxldGlvbiBmKTE0NCAyNTYuOCBRKGFjaWxpdGllcywgd2hpbGUgYSktLjEgRSAtLjI1KHZhKQorRihncmFtbWFibGUgY29tcGxldGlvbiBmKTE0NCAyNzMuNiBRKGFjaWxpdGllcywgd2hpbGUgYSktLjEgRSAtLjI1KHZhKQogLS4yIEcoaWxhYmxlLCB3aWxsIG5vdCBoYSkuMjUgRSAuMyAtLjE1KHZlIHUpLS4yIEgoc2VmdWwgdikuMTUgRShhbHVlcy4pCi0tLjI1IEUgLjM1MihUaGUgbWF0Y2hlcyB3aWxsIGJlIGdlbmVyYXRlZCBpbiB0aGUgc2FtZSB3KTE0NCAyODAuOCBSIC4zNTIKKy0uMjUgRSAuMzUyKFRoZSBtYXRjaGVzIHdpbGwgYmUgZ2VuZXJhdGVkIGluIHRoZSBzYW1lIHcpMTQ0IDI5Ny42IFIgLjM1MgogKGF5IGFzIGlmIHRoZSBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBjb2RlIGhhZCBnZW4tKS0uMSBGIC4wMihlcmF0ZWQgdGhcCiBlbSBkaXJlY3RseSBmcm9tIGEgY29tcGxldGlvbiBzcGVjaVwyMTRjYXRpb24gd2l0aCB0aGUgc2FtZSBcMjE1YWdzLikxNDQKLTI5Mi44IFIoSWYpNS4wMiBFIEYyKHdvcikyLjUyIEUoZCktLjM3IEUgRjAgLjAyKGlzIHNwZWNpXDIxNGVkLCBvbmx5KQotMi41MiBGKHRob3NlIGNvbXBsZXRpb25zIG1hdGNoaW5nKTE0NCAzMDQuOCBRIEYyKHdvcikyLjUgRShkKS0uMzcgRSBGMAotKHdpbGwgYmUgZGlzcGxheWVkLikyLjUgRShUaGUgcmV0dXJuIHYpMTQ0IDMyOC44IFEKKzMwOS42IFIoSWYpNS4wMiBFIEYyKHdvcikyLjUyIEUoZCktLjM3IEUgRjAgLjAyKGlzIHNwZWNpXDIxNGVkLCBvbmx5KQorMi41MiBGKHRob3NlIGNvbXBsZXRpb25zIG1hdGNoaW5nKTE0NCAzMjEuNiBRIEYyKHdvcikyLjUgRShkKS0uMzcgRSBGMAorKHdpbGwgYmUgZGlzcGxheWVkLikyLjUgRShUaGUgcmV0dXJuIHYpMTQ0IDM0NS42IFEKIChhbHVlIGlzIHRydWUgdW5sZXNzIGFuIGluKS0uMjUgRSAtLjI1KHZhKS0uNCBHCiAobGlkIG9wdGlvbiBpcyBzdXBwbGllZCwgb3Igbm8gbWF0Y2hlcyB3ZXJlIGdlbmVyYXRlZC4pLjI1IEUgRjEKLShjb21wbGV0ZSkxMDggMzQ1LjYgUSBGMChbKTMuMDMzIEUgRjEoXDI1NWFiY2RlZmdqa3N1dilBIEYwIDMuMDMzKF1bKUMKLUYxPGFkNmY+LTMuMDMzIEUgRjIoY29tcC1vcHRpb24pMy4wMzMgRSBGMCAzLjAzMyhdWylDIEYxPGFkNDU+LTMuMDMzIEUKLUYwIDMuMDMzKF1bKUMgRjE8YWQ0MT4tMy4wMzMgRSBGMihhY3Rpb24pMy4wMzMgRSBGMCAzLjAzMyhdWylDIEYxPGFkNDc+Ci0tMy4wMzMgRSBGMihnbG9icGF0KTMuMDMzIEUgRjAgMy4wMzQoXVspQyBGMTxhZDU3Pi0zLjAzNCBFIEYyKHdvcikzLjAzNAotRShkbGlzdCktLjM3IEUgRjAgMy4wMzQoXVspQyBGMTxhZDQ2Pi0zLjAzNCBFIEYyKGZ1bmN0aW9uKTMuMDM0IEUgRjAoXSlBCi0oWykxMDggMzU3LjYgUSBGMTxhZDQzPkEgRjIoY29tbWFuZCkyLjUgRSBGMChdKUEoWykxNDQgMzY5LjYgUSBGMTxhZDU4PkEKLUYyKFwyMTRsdGVycGF0KTIuNSBFIEYwIDIuNShdWylDIEYxPGFkNTA+LTIuNSBFIEYyKHByKTIuNSBFKGVcMjE0eCktLjM3Ci1FIEYwIDIuNShdWylDIEYxPGFkNTM+LTIuNSBFIEYyKHN1ZikyLjUgRTw4Yzc4Pi0uMTggRSBGMChdKUEgRjIobmFtZSkyLjUKLUUgRjAoWykyLjUgRSBGMihuYW1lIC4uLilBIEYwKF0pQSBGMShjb21wbGV0ZSBcMjU1cHIpMTA4IDM4MS42IFEgRjAoWykKLTIuNSBFIEYxPGFkNDU+QSBGMCAyLjUoXVspQyBGMihuYW1lKS0yLjUgRSBGMCguLi5dKTIuNSBFIC42MzMKLShTcGVjaWZ5IGhvKTE0NCAzOTMuNiBSIDMuMTMzKHdhKS0uMjUgRyAtLjE4KHJnKS0zLjEzMyBHIC42MzMKLSh1bWVudHMgdG8gZWFjaCkuMTggRiBGMihuYW1lKTMuMTMzIEUgRjAgLjYzMyhzaG91bGQgYmUgY29tcGxldGVkLikzLjEzMwotRiAuNjM0KElmIHRoZSk1LjYzNCBGIEYxPGFkNzA+My4xMzQgRSBGMCAuNjM0Ci0ob3B0aW9uIGlzIHN1cHBsaWVkLCBvciBpZiBubykzLjEzNCBGIC4xNChvcHRpb25zIGFyZSBzdXBwbGllZCwgZSkxNDQKLTQwNS42IFIgLjEzOSh4aXN0aW5nIGNvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9ucyBhcmUgcHJpbnRlZCBpbiBhIHcpLS4xNQotRiAuMTM5KGF5IHRoYXQgYWxsbyktLjEgRiAuMTM5KHdzIHRoZW0gdG8gYmUpLS4yNSBGIC4zMQotKHJldXNlZCBhcyBpbnB1dC4pMTQ0IDQxNy42IFIoVGhlKTUuMzEgRSBGMTxhZDcyPjIuODEgRSBGMCAuMzEKLShvcHRpb24gcmVtbykyLjgxIEYgLS4xNSh2ZSktLjE1IEcgMi44MShzYWMpLjE1IEcgLjMxCi0ob21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbiBmb3IgZWFjaCktMi44MSBGIEYyKG5hbWUpMi44MSBFIEYwIDIuODEoLG8pQwotMS4xMSAtLjQociwgaSktMi44MSBIIDIuODEoZm4pLjQgRyhvKS0yLjgxIEUgRjIobmFtZSkyLjgxIEUgRjAocylBIDEuMzkzCi0oYXJlIHN1cHBsaWVkLCBhbGwgY29tcGxldGlvbiBzcGVjaVwyMTRjYXRpb25zLikxNDQgNDI5LjYgUihUaGUpNi4zOTMgRQotRjE8YWQ0NT4zLjg5MyBFIEYwIDEuMzkyKG9wdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVtYWluaW5nIG9wdGlvbnMpCi0zLjg5MiBGIDEuMzA0KGFuZCBhY3Rpb25zIHNob3VsZCBhcHBseSB0byBgKTE0NCA0NDEuNiBSKGBlbXB0eScpLS43NCBFCi0zLjgwNCgnYyktLjc0IEcgMS4zMDQKLShvbW1hbmQgY29tcGxldGlvbjsgdGhhdCBpcywgY29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYSktMy44MDQgRgotKGJsYW5rIGxpbmUuKTE0NCA0NTMuNiBRIDEuNDM4CisoY29tcGxldGUpMTA4IDM2Mi40IFEgRjAoWykzLjcyOSBFIEYxKFwyNTVhYmNkZWZnamtzdXYpQSBGMCAzLjcyOShdWylDCitGMTxhZDZmPi0zLjcyOSBFIEYyKGNvbXAtb3B0aW9uKTMuNzI5IEUgRjAgMy43MjkoXVspQyBGMShcMjU1REUpLTMuNzI5IEUKK0YwIDMuNzI4KF1bKUMgRjE8YWQ0MT4tMy43MjggRSBGMihhY3Rpb24pMy43MjggRSBGMCAzLjcyOChdWylDIEYxPGFkNDc+CistMy43MjggRSBGMihnbG9icGF0KTMuNzI4IEUgRjAgMy43MjgoXVspQyBGMTxhZDU3Pi0zLjcyOCBFIEYyKHdvcikzLjcyOAorRShkbGlzdCktLjM3IEUgRjAgMy43MjgoXVspQyBGMTxhZDQ2Pi0zLjcyOCBFIEYyKGZ1bmMtKTMuNzI4IEUodGlvbikxMDgKKzM3NC40IFEgRjAgMi41KF1bKUMgRjE8YWQ0Mz4tMi41IEUgRjIoY29tbWFuZCkyLjUgRSBGMChdKUEoWykxNDQgMzg2LjQgUQorRjE8YWQ1OD5BIEYyKFwyMTRsdGVycGF0KTIuNSBFIEYwIDIuNShdWylDIEYxPGFkNTA+LTIuNSBFIEYyKHByKTIuNSBFCisoZVwyMTR4KS0uMzcgRSBGMCAyLjUoXVspQyBGMTxhZDUzPi0yLjUgRSBGMihzdWYpMi41IEU8OGM3OD4tLjE4IEUgRjAoXSkKK0EgRjIobmFtZSkyLjUgRSBGMChbKTIuNSBFIEYyKG5hbWUgLi4uKUEgRjAoXSlBIEYxKGNvbXBsZXRlIFwyNTVwcikxMDgKKzM5OC40IFEgRjAoWykyLjUgRSBGMShcMjU1REUpQSBGMCAyLjUoXVspQyBGMihuYW1lKS0yLjUgRSBGMCguLi5dKTIuNSBFCisuNjM0KFNwZWNpZnkgaG8pMTQ0IDQxMC40IFIgMy4xMzQod2EpLS4yNSBHIC0uMTgocmcpLTMuMTM0IEcgLjYzNAorKHVtZW50cyB0byBlYWNoKS4xOCBGIEYyKG5hbWUpMy4xMzQgRSBGMCAuNjM0KHNob3VsZCBiZSBjb21wbGV0ZWQuKTMuMTM0CitGIC42MzMoSWYgdGhlKTUuNjM0IEYgRjE8YWQ3MD4zLjEzMyBFIEYwIC42MzMKKyhvcHRpb24gaXMgc3VwcGxpZWQsIG9yIGlmIG5vKTMuMTMzIEYgLjEzOShvcHRpb25zIGFyZSBzdXBwbGllZCwgZSkxNDQKKzQyMi40IFIgLjEzOSh4aXN0aW5nIGNvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9ucyBhcmUgcHJpbnRlZCBpbiBhIHcpLS4xNQorRiAuMTQoYXkgdGhhdCBhbGxvKS0uMSBGIC4xNCh3cyB0aGVtIHRvIGJlKS0uMjUgRiAuMzEocmV1c2VkIGFzIGlucHV0LikKKzE0NCA0MzQuNCBSKFRoZSk1LjMxIEUgRjE8YWQ3Mj4yLjgxIEUgRjAgLjMxKG9wdGlvbiByZW1vKTIuODEgRiAtLjE1KHZlKQorLS4xNSBHIDIuODEoc2FjKS4xNSBHIC4zMShvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9uIGZvciBlYWNoKS0yLjgxIEYgRjIKKyhuYW1lKTIuODEgRSBGMCAyLjgxKCxvKUMgMS4xMSAtLjQociwgaSktMi44MSBIIDIuODEoZm4pLjQgRyhvKS0yLjgxIEUKK0YyKG5hbWUpMi44MSBFIEYwKHMpQSAxLjM0NgorKGFyZSBzdXBwbGllZCwgYWxsIGNvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9ucy4pMTQ0IDQ0Ni40IFIoVGhlKTYuMzQ3IEUKK0YxPGFkNDQ+My44NDcgRSBGMCAxLjM0NyhvcHRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIHJlbWFpbmluZyBvcHRpb25zKQorMy44NDcgRiAuNShhbmQgYWN0aW9ucyBzaG91bGQgYXBwbHkgdG8gdGhlIGApMTQ0IDQ1OC40IFIoYGRlZiktLjc0IEUKKyhhdWx0JyktLjEgRSAzKCdjKS0uNzQgRyAuNQorKG9tbWFuZCBjb21wbGV0aW9uOyB0aGF0IGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiktMyBGIDMuNDU1KGFjKTE0NAorNDcwLjQgUyAuOTU1KG9tbWFuZCBmb3Igd2hpY2ggbm8gY29tcGxldGlvbiBoYXMgcHJlKS0zLjQ1NSBGIC45NTUKKyh2aW91c2x5IGJlZW4gZGVcMjE0bmVkLiktLjI1IEYoVGhlKTUuOTU1IEUgRjE8YWQ0NT4zLjQ1NSBFIEYwIC45NTUKKyhvcHRpb24gaW5kaWNhdGVzIHRoYXQpMy40NTUgRiAuMDY1CisodGhlIHJlbWFpbmluZyBvcHRpb25zIGFuZCBhY3Rpb25zIHNob3VsZCBhcHBseSB0byBgKTE0NCA0ODIuNCBSCisoYGVtcHR5JyktLjc0IEUgMi41NjQoJ2MpLS43NCBHIC4wNjQKKyhvbW1hbmQgY29tcGxldGlvbjsgdGhhdCBpcywgY29tcGxlLSktMi41NjQgRgorKHRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZS4pMTQ0IDQ5NC40IFEgMS40MzcKIChUaGUgcHJvY2VzcyBvZiBhcHBseWluZyB0aGVzZSBjb21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbnMgd2hlbiB3KTE0NAotNDc3LjYgUiAxLjQzNyhvcmQgY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQgaXMpLS4xIEYoZGVzY3JpYmVkIGFibykxNDQKLTQ4OS42IFEgLjMgLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYxKFByKTIuNSBFCi0ob2dyYW1tYWJsZSBDb21wbGV0aW9uKS0uMTggRSBGMCguKUEgLjU1NQotKE90aGVyIG9wdGlvbnMsIGlmIHNwZWNpXDIxNGVkLCBoYSkxNDQgNTEzLjYgUiAuODU1IC0uMTUodmUgdCktLjIgSCAuNTU1Cis1MTguNCBSIDEuNDM4KG9yZCBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCBpcyktLjEgRihkZXNjcmliZWQgYWJvKTE0NAorNTMwLjQgUSAuMyAtLjE1KHZlIHUpLS4xNSBIKG5kZXIpLjE1IEUgRjEoUHIpMi41IEUKKyhvZ3JhbW1hYmxlIENvbXBsZXRpb24pLS4xOCBFIEYwKC4pQSAuNTU2CisoT3RoZXIgb3B0aW9ucywgaWYgc3BlY2lcMjE0ZWQsIGhhKTE0NCA1NTQuNCBSIC44NTYgLS4xNSh2ZSB0KS0uMiBIIC41NTUKIChoZSBmb2xsbykuMTUgRiAuNTU1KHdpbmcgbWVhbmluZ3MuKS0uMjUgRiAuNTU1KFRoZSBhcik1LjU1NSBGIC41NTUKLShndW1lbnRzIHRvIHRoZSktLjE4IEYgRjE8YWQ0Nz4zLjA1NiBFIEYwKCwpQSBGMTxhZDU3PjMuMDU2IEUgRjAgMy4wNTYKLSgsYSlDKG5kKS0zLjA1NiBFIEYxPGFkNTg+My4wNTYgRSBGMCAuNzIzKG9wdGlvbnMgXChhbmQsIGlmIG5lY2Vzc2FyeSkKLTE0NCA1MjUuNiBSIDMuMjIzKCx0KS0uNjUgRyhoZSktMy4yMjMgRSBGMTxhZDUwPjMuMjIzIEUgRjAoYW5kKTMuMjIzIEUKLUYxPGFkNTM+My4yMjMgRSBGMCAuNzIyCi0ob3B0aW9uc1wpIHNob3VsZCBiZSBxdW90ZWQgdG8gcHJvdGVjdCB0aGVtIGZyb20gZSkzLjIyMyBGKHhwYW4tKS0uMTUgRQotKHNpb24gYmVmb3JlIHRoZSkxNDQgNTM3LjYgUSBGMShjb21wbGV0ZSkyLjUgRSBGMCAtLjIoYnUpMi41IEcKLShpbHRpbiBpcyBpbikuMiBFIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyhkLikuMSBFIEYxPGFkNmY+MTQ0IDU0OS42IFEKLUYyKGNvbXAtb3B0aW9uKTIuNSBFIEYwKFRoZSkxODQgNTYxLjYgUSBGMihjb21wLW9wdGlvbikyLjc5IEUgRjAgLjI5MQorKGd1bWVudHMgdG8gdGhlKS0uMTggRiBGMTxhZDQ3PjMuMDU1IEUgRjAoLClBIEYxPGFkNTc+My4wNTUgRSBGMCAzLjA1NQorKCxhKUMobmQpLTMuMDU1IEUgRjE8YWQ1OD4zLjA1NSBFIEYwIC43MjIob3B0aW9ucyBcKGFuZCwgaWYgbmVjZXNzYXJ5KQorMTQ0IDU2Ni40IFIgMy4yMjIoLHQpLS42NSBHKGhlKS0zLjIyMiBFIEYxPGFkNTA+My4yMjIgRSBGMChhbmQpMy4yMjIgRQorRjE8YWQ1Mz4zLjIyMiBFIEYwIC43MjMKKyhvcHRpb25zXCkgc2hvdWxkIGJlIHF1b3RlZCB0byBwcm90ZWN0IHRoZW0gZnJvbSBlKTMuMjIyIEYoeHBhbi0pLS4xNSBFCisoc2lvbiBiZWZvcmUgdGhlKTE0NCA1NzguNCBRIEYxKGNvbXBsZXRlKTIuNSBFIEYwIC0uMihidSkyLjUgRworKGlsdGluIGlzIGluKS4yIEUgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHKGQuKS4xIEUgRjE8YWQ2Zj4xNDQgNTkwLjQgUQorRjIoY29tcC1vcHRpb24pMi41IEUgRjAoVGhlKTE4NCA2MDIuNCBRIEYyKGNvbXAtb3B0aW9uKTIuNzkxIEUgRjAgLjI5MQogKGNvbnRyb2xzIHNlKTIuNzkxIEYgLS4xNSh2ZSktLjI1IEcgLjI5MShyYWwgYXNwZWN0cyBvZiB0aGUgY29tcHNwZWMnKQogLjE1IEYgMi43OTEoc2IpLS41NSBHKGVoYSktMi43OTEgRSAuMjkxKHZpb3IgYmUpLS4yIEYgLjI5MQotKHlvbmQgdGhlIHNpbXBsZSktLjE1IEYoZ2VuZXJhdGlvbiBvZiBjb21wbGV0aW9ucy4pMTg0IDU3My42IFEgRjIKLShjb21wLW9wdGlvbik1IEUgRjAobWF5IGJlIG9uZSBvZjopMi41IEUgRjEoYmFzaGRlZmF1bHQpMTg0IDU4NS42IFEgRjAKLS4yODEoUGVyZm9ybSB0aGUgcmVzdCBvZiB0aGUgZGVmKTIyNCA1OTcuNiBSKGF1bHQpLS4xIEUgRjEoYmFzaCkyLjc4MSBFCisoeW9uZCB0aGUgc2ltcGxlKS0uMTUgRihnZW5lcmF0aW9uIG9mIGNvbXBsZXRpb25zLikxODQgNjE0LjQgUSBGMgorKGNvbXAtb3B0aW9uKTUgRSBGMChtYXkgYmUgb25lIG9mOikyLjUgRSBGMShiYXNoZGVmYXVsdCkxODQgNjI2LjQgUSBGMAorLjI4MShQZXJmb3JtIHRoZSByZXN0IG9mIHRoZSBkZWYpMjI0IDYzOC40IFIoYXVsdCktLjEgRSBGMShiYXNoKTIuNzgxIEUKIEYwIC4yODEoY29tcGxldGlvbnMgaWYgdGhlIGNvbXBzcGVjIGdlbmVyYXRlcyBubykyLjc4MSBGKG1hdGNoZXMuKTIyNAotNjA5LjYgUSBGMShkZWZhdWx0KTE4NCA2MjEuNiBRIEYwIDIuODc1KFVzZSByZWFkbGluZScpMTAgRiA1LjM3NShzZCktLjU1Ci1HKGVmKS01LjM3NSBFIDIuODc2Cis2NTAuNCBRIEYxKGRlZmF1bHQpMTg0IDY2Mi40IFEgRjAgMi44NzYoVXNlIHJlYWRsaW5lJykxMCBGIDUuMzc2KHNkKS0uNTUKK0coZWYpLTUuMzc2IEUgMi44NzUKIChhdWx0IFwyMTRsZW5hbWUgY29tcGxldGlvbiBpZiB0aGUgY29tcHNwZWMgZ2VuZXJhdGVzIG5vKS0uMSBGKG1hdGNoZXMuKQotMjI0IDYzMy42IFEgRjEoZGlyKTE4NCA2NDUuNiBRKG5hbWVzKS0uMTUgRSBGMChQZXJmb3JtIGRpcmVjdG9yeSBuYW1lIGNcCi1vbXBsZXRpb24gaWYgdGhlIGNvbXBzcGVjIGdlbmVyYXRlcyBubyBtYXRjaGVzLikyMjQgNjU3LjYgUSBGMQotKFwyMTRsZW5hbWVzKTE4NCA2NjkuNiBRIEYwIC0uNyhUZSkyMjQgNjgxLjYgUyAuMTM3KGxsIHJlYWRsaW5lIHRoYXQgdGhcCi1lIGNvbXBzcGVjIGdlbmVyYXRlcyBcMjE0bGVuYW1lcywgc28gaXQgY2FuIHBlcmZvcm0gYW4pLjcgRiAyLjYzNjw3OThjPgotLS4xNSBHKGxlLSktMi42MzYgRSAuMTM0KG5hbWVcMjU1c3BlY2lcMjE0YyBwcm9jZXNzaW5nIFwobGlrKTIyNCA2OTMuNiBSCi0yLjYzNChlYSktLjEgRyAuMTM0KGRkaW5nIGEgc2xhc2ggdG8gZGlyZWN0b3J5IG5hbWVzLCBxdW90aW5nIHNwZS0pCi0tMi42MzQgRiAuNDUoY2lhbCBjaGFyYWN0ZXJzLCBvciBzdXBwcmVzc2luZyB0cmFpbGluZyBzcGFjZXNcKS4pMjI0Ci03MDUuNiBSIC40NShJbnRlbmRlZCB0byBiZSB1c2VkIHdpdGggc2hlbGwpNS40NSBGKGZ1bmN0aW9ucy4pMjI0IDcxNy42IFEKKzIyNCA2NzQuNCBRIEYxKGRpcikxODQgNjg2LjQgUShuYW1lcyktLjE1IEUgRjAoUGVyZm9ybSBkaXJlY3RvcnkgbmFtZSBjXAorb21wbGV0aW9uIGlmIHRoZSBjb21wc3BlYyBnZW5lcmF0ZXMgbm8gbWF0Y2hlcy4pMjI0IDY5OC40IFEKIChHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDMpMjAzLjcyNSBFIDAgQ2cgRVAKICUlUGFnZTogNCA0CiAlJUJlZ2luUGFnZVNldHVwCkBAIC01OTYsMTk3MiArNjA5LDIwNDMgQEAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMoU0hfQikuMzUgRShVSUwpLS4xIEUgMjkwLjQ4CiAoVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRS9GMSAxMAotL1RpbWVzLUJvbGRAMCBTRihub3NwYWNlKTE4NCA4NCBRIEYwIC0uNyhUZSk2LjExIEcgLjIyCisvVGltZXMtQm9sZEAwIFNGKFwyMTRsZW5hbWVzKTE4NCA4NCBRIEYwIC0uNyhUZSkyMjQgOTYgUyAuMTM3KGxsIHJlYWRsaVwKK25lIHRoYXQgdGhlIGNvbXBzcGVjIGdlbmVyYXRlcyBcMjE0bGVuYW1lcywgc28gaXQgY2FuIHBlcmZvcm0gYW4pLjcgRgorMi42Mzc8Nzk4Yz4tLjE1IEcobGUtKS0yLjYzNyBFIC4xMzQobmFtZVwyNTVzcGVjaVwyMTRjIHByb2Nlc3NpbmcgXChsaWspCisyMjQgMTA4IFIgMi42MzQoZWEpLS4xIEcgLjEzNAorKGRkaW5nIGEgc2xhc2ggdG8gZGlyZWN0b3J5IG5hbWVzLCBxdW90aW5nIHNwZS0pLTIuNjM0IEYgLjQ1CisoY2lhbCBjaGFyYWN0ZXJzLCBvciBzdXBwcmVzc2luZyB0cmFpbGluZyBzcGFjZXNcKS4pMjI0IDEyMCBSIC40NQorKEludGVuZGVkIHRvIGJlIHVzZWQgd2l0aCBzaGVsbCk1LjQ1IEYoZnVuY3Rpb25zLikyMjQgMTMyIFEgRjEobm9zcGFjZSkKKzE4NCAxNDQgUSBGMCAtLjcoVGUpNi4xMSBHIC4yMgogKGxsIHJlYWRsaW5lIG5vdCB0byBhcHBlbmQgYSBzcGFjZSBcKHRoZSBkZWYpLjcgRiAuMjIoYXVsdFwpIHRvIHcpLS4xIEYKLS4yMihvcmRzIGNvbXBsZXRlZCBhdCB0aGUgZW5kKS0uMSBGKG9mIHRoZSBsaW5lLikyMjQgOTYgUSBGMShwbHVzZGlycykKLTE4NCAxMDggUSBGMCAxLjk4NShBZnRlciBhbik1LjU0IEYgNC40ODUoeW0pLS4xNSBHIDEuOTg1CisuMjIob3JkcyBjb21wbGV0ZWQgYXQgdGhlIGVuZCktLjEgRihvZiB0aGUgbGluZS4pMjI0IDE1NiBRIEYxKHBsdXNkaXJzKQorMTg0IDE2OCBRIEYwIDEuOTg1KEFmdGVyIGFuKTUuNTQgRiA0LjQ4NSh5bSktLjE1IEcgMS45ODUKIChhdGNoZXMgZGVcMjE0bmVkIGJ5IHRoZSBjb21wc3BlYyBhcmUgZ2VuZXJhdGVkLCBkaXJlY3RvcnkgbmFtZSktNC40ODUgRgotLjU4Myhjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCBhbmQgYW4pMjI0IDEyMCBSIDMuMDg0KHltKS0uMTUgRyAuNTg0Ci0oYXRjaGVzIGFyZSBhZGRlZCB0byB0aGUgcmVzdWx0cyBvZiB0aGUgb3RoZXIpLTMuMDg0IEYoYWN0aW9ucy4pMjI0IDEzMgotUSBGMTxhZDQxPjE0NCAxNDQgUS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihhY3Rpb24pMi41IEUgRjAoVGhlKTE4NCAxNTYKKy41ODQoY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQgYW5kIGFuKTIyNCAxODAgUiAzLjA4NCh5bSktLjE1IEcgLjU4NAorKGF0Y2hlcyBhcmUgYWRkZWQgdG8gdGhlIHJlc3VsdHMgb2YgdGhlIG90aGVyKS0zLjA4NCBGKGFjdGlvbnMuKTIyNCAxOTIKK1EgRjE8YWQ0MT4xNDQgMjA0IFEvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YoYWN0aW9uKTIuNSBFIEYwKFRoZSkxODQgMjE2CiBRIEYyKGFjdGlvbikyLjUgRSBGMChtYXkgYmUgb25lIG9mIHRoZSBmb2xsbykyLjUgRQogKHdpbmcgdG8gZ2VuZXJhdGUgYSBsaXN0IG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zOiktLjI1IEUgRjEoYWxpYXMpMTg0Ci0xNjggUSBGMChBbGlhcyBuYW1lcy4pMjAuNTUgRShNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ2MT4yLjUKLUUgRjAoLilBIEYxKGFycmF5dikxODQgMTgwIFEoYXIpLS4xIEUgRjAoQXJyYXkgdikyMjQgMTkyIFEKLShhcmlhYmxlIG5hbWVzLiktLjI1IEUgRjEgNC43KGJpbmRpbmcgUmVhZGxpbmUpMTg0IDIwNCBSIEYwIC0uMShrZSkyLjUgRwotMi41KHliKS0uMDUgRyhpbmRpbmcgbmFtZXMuKS0yLjUgRSBGMSAtLjIoYnUpMTg0IDIxNiBTKGlsdGluKS4yIEUgRjAKKzIyOCBRIEYwKEFsaWFzIG5hbWVzLikyMC41NSBFKE1heSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTUgRSBGMTxhZDYxPjIuNQorRSBGMCguKUEgRjEoYXJyYXl2KTE4NCAyNDAgUShhciktLjEgRSBGMChBcnJheSB2KTIyNCAyNTIgUQorKGFyaWFibGUgbmFtZXMuKS0uMjUgRSBGMSA0LjcoYmluZGluZyBSZWFkbGluZSkxODQgMjY0IFIgRjAgLS4xKGtlKTIuNSBHCisyLjUoeWIpLS4wNSBHKGluZGluZyBuYW1lcy4pLTIuNSBFIEYxIC0uMihidSkxODQgMjc2IFMoaWx0aW4pLjIgRSBGMAogKE5hbWVzIG9mIHNoZWxsIGIpMTEuODUgRSh1aWx0aW4gY29tbWFuZHMuKS0uMiBFCi0oTWF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpNSBFIEYxPGFkNjI+Mi41IEUgRjAoLilBIEYxKGNvbW1hbmQpMTg0IDIyOAotUSBGMChDb21tYW5kIG5hbWVzLikyMjQgMjQwIFEoTWF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpNSBFIEYxPGFkNjM+Mi41Ci1FIEYwKC4pQSBGMShkaXIpMTg0IDI1MiBRKGVjdG9yeSktLjE4IEUgRjAoRGlyZWN0b3J5IG5hbWVzLikyMjQgMjY0IFEKLShNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ2ND4yLjUgRSBGMCguKUEgRjEoZGlzYWJsZWQpMTg0IDI3NgotUSBGMChOYW1lcyBvZiBkaXNhYmxlZCBzaGVsbCBiKTIyNCAyODggUSh1aWx0aW5zLiktLjIgRSBGMShlbmFibGVkKTE4NAotMzAwIFEgRjAoTmFtZXMgb2YgZW5hYmxlZCBzaGVsbCBiKTYuNjYgRSh1aWx0aW5zLiktLjIgRSBGMShleHBvcnQpMTg0Ci0zMTIgUSBGMChOYW1lcyBvZiBlKTEyLjIzIEUoeHBvcnRlZCBzaGVsbCB2KS0uMTUgRSAyLjUoYXJpYWJsZXMuIE1heSkKKyhNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ2Mj4yLjUgRSBGMCguKUEgRjEoY29tbWFuZCkxODQgMjg4CitRIEYwKENvbW1hbmQgbmFtZXMuKTIyNCAzMDAgUShNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ2Mz4yLjUKK0UgRjAoLilBIEYxKGRpcikxODQgMzEyIFEoZWN0b3J5KS0uMTggRSBGMChEaXJlY3RvcnkgbmFtZXMuKTIyNCAzMjQgUQorKE1heSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTUgRSBGMTxhZDY0PjIuNSBFIEYwKC4pQSBGMShkaXNhYmxlZCkxODQgMzM2CitRIEYwKE5hbWVzIG9mIGRpc2FibGVkIHNoZWxsIGIpMjI0IDM0OCBRKHVpbHRpbnMuKS0uMiBFIEYxKGVuYWJsZWQpMTg0CiszNjAgUSBGMChOYW1lcyBvZiBlbmFibGVkIHNoZWxsIGIpNi42NiBFKHVpbHRpbnMuKS0uMiBFIEYxKGV4cG9ydCkxODQKKzM3MiBRIEYwKE5hbWVzIG9mIGUpMTIuMjMgRSh4cG9ydGVkIHNoZWxsIHYpLS4xNSBFIDIuNShhcmlhYmxlcy4gTWF5KQogLS4yNSBGKGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpMi41IEUgRjE8YWQ2NT4yLjUgRSBGMCguKUEgRjEoXDIxNGxlKTE4NAotMzI0IFEgRjAoRmlsZSBuYW1lcy4pMjcuMjIgRShNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ2Nj4yLjUKLUUgRjAoLilBIEYxKGZ1bmN0aW9uKTE4NCAzMzYgUSBGMChOYW1lcyBvZiBzaGVsbCBmdW5jdGlvbnMuKTIyNCAzNDggUSBGMQotKGdyKTE4NCAzNjAgUShvdXApLS4xOCBFIEYwKEdyb3VwIG5hbWVzLikxNC42MiBFCiszODQgUSBGMChGaWxlIG5hbWVzLikyNy4yMiBFKE1heSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTUgRSBGMTxhZDY2PjIuNQorRSBGMCguKUEgRjEoZnVuY3Rpb24pMTg0IDM5NiBRIEYwKE5hbWVzIG9mIHNoZWxsIGZ1bmN0aW9ucy4pMjI0IDQwOCBRIEYxCisoZ3IpMTg0IDQyMCBRKG91cCktLjE4IEUgRjAoR3JvdXAgbmFtZXMuKTE0LjYyIEUKIChNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ2Nz4yLjUgRSBGMCguKUEgRjEoaGVscHRvcGljKTE4NAotMzcyIFEgRjAoSGVscCB0b3BpY3MgYXMgYWNjZXB0ZWQgYnkgdGhlKTIyNCAzODQgUSBGMShoZWxwKTIuNSBFIEYwIC0uMgotKGJ1KTIuNSBHKGlsdGluLikuMiBFIEYxKGhvc3RuYW1lKTE4NCAzOTYgUSBGMChIb3N0bmFtZXMsIGFzIHRhaykyMjQgNDA4Cis0MzIgUSBGMChIZWxwIHRvcGljcyBhcyBhY2NlcHRlZCBieSB0aGUpMjI0IDQ0NCBRIEYxKGhlbHApMi41IEUgRjAgLS4yCisoYnUpMi41IEcoaWx0aW4uKS4yIEUgRjEoaG9zdG5hbWUpMTg0IDQ1NiBRIEYwKEhvc3RuYW1lcywgYXMgdGFrKTIyNCA0NjgKIFEoZW4gZnJvbSB0aGUgXDIxNGxlIHNwZWNpXDIxNGVkIGJ5IHRoZSktLjEgRS9GMyA5L1RpbWVzLUJvbGRAMCBTRgotKEhPU1RGSUxFKTIuNSBFIEYwKHNoZWxsIHYpMi4yNSBFKGFyaWFibGUuKS0uMjUgRSBGMShqb2IpMTg0IDQyMCBRIEYwCisoSE9TVEZJTEUpMi41IEUgRjAoc2hlbGwgdikyLjI1IEUoYXJpYWJsZS4pLS4yNSBFIEYxKGpvYikxODQgNDgwIFEgRjAKIChKb2IgbmFtZXMsIGlmIGpvYiBjb250cm9sIGlzIGFjdGkpMjYuMTEgRSAtLjE1KHZlKS0uMjUgRyA1KC5NKS4xNSBHCi0oYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyktNSBFIEYxPGFkNmE+Mi41IEUgRjAoLilBIEYxIC0uMShrZSkxODQgNDMyIFMKLSh5dykuMSBFKG9yZCktLjEgRSBGMChTaGVsbCByZXNlcnYpMjI0IDQ0NCBRKGVkIHcpLS4xNSBFIDIuNShvcmRzLiBNYXkpCisoYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyktNSBFIEYxPGFkNmE+Mi41IEUgRjAoLilBIEYxIC0uMShrZSkxODQgNDkyIFMKKyh5dykuMSBFKG9yZCktLjEgRSBGMChTaGVsbCByZXNlcnYpMjI0IDUwNCBRKGVkIHcpLS4xNSBFIDIuNShvcmRzLiBNYXkpCiAtLjEgRihhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTIuNSBFIEYxPGFkNmI+Mi41IEUgRjAoLilBIEYxKHJ1bm5pbmcpMTg0Ci00NTYgUSBGMChOYW1lcyBvZiBydW5uaW5nIGpvYnMsIGlmIGpvYiBjb250cm9sIGlzIGFjdGkpNS41NCBFIC0uMTUodmUpCi0tLjI1IEcoLikuMTUgRSBGMShzZXIpMTg0IDQ2OCBRKHZpY2UpLS4xIEUgRjAoU2VydmljZSBuYW1lcy4pMTAuNjcgRQotKE1heSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTUgRSBGMTxhZDczPjIuNSBFIEYwKC4pQSBGMShzZXRvcHQpMTg0IDQ4MCBRCis1MTYgUSBGMChOYW1lcyBvZiBydW5uaW5nIGpvYnMsIGlmIGpvYiBjb250cm9sIGlzIGFjdGkpNS41NCBFIC0uMTUodmUpCistLjI1IEcoLikuMTUgRSBGMShzZXIpMTg0IDUyOCBRKHZpY2UpLS4xIEUgRjAoU2VydmljZSBuYW1lcy4pMTAuNjcgRQorKE1heSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTUgRSBGMTxhZDczPjIuNSBFIEYwKC4pQSBGMShzZXRvcHQpMTg0IDU0MCBRCiBGMCAtMS4xMShWYSkxNC40NSBHKGxpZCBhcikxLjExIEUoZ3VtZW50cyBmb3IgdGhlKS0uMTggRSBGMTxhZDZmPjIuNSBFCiBGMChvcHRpb24gdG8gdGhlKTIuNSBFIEYxKHNldCkyLjUgRSBGMCAtLjIoYnUpMi41IEcoaWx0aW4uKS4yIEUgRjEKLShzaG9wdCkxODQgNDkyIFEgRjAoU2hlbGwgb3B0aW9uIG5hbWVzIGFzIGFjY2VwdGVkIGJ5IHRoZSkxNi42NiBFIEYxCi0oc2hvcHQpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluLikuMiBFIEYxKHNpZ25hbCkxODQgNTA0IFEgRjAKLShTaWduYWwgbmFtZXMuKTE0Ljk5IEUgRjEoc3RvcHBlZCkxODQgNTE2IFEgRjAKKyhzaG9wdCkxODQgNTUyIFEgRjAoU2hlbGwgb3B0aW9uIG5hbWVzIGFzIGFjY2VwdGVkIGJ5IHRoZSkxNi42NiBFIEYxCisoc2hvcHQpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluLikuMiBFIEYxKHNpZ25hbCkxODQgNTY0IFEgRjAKKyhTaWduYWwgbmFtZXMuKTE0Ljk5IEUgRjEoc3RvcHBlZCkxODQgNTc2IFEgRjAKIChOYW1lcyBvZiBzdG9wcGVkIGpvYnMsIGlmIGpvYiBjb250cm9sIGlzIGFjdGkpNi42NiBFIC0uMTUodmUpLS4yNSBHKC4pCi0uMTUgRSBGMSh1c2VyKTE4NCA1MjggUSBGMChVc2VyIG5hbWVzLikyMS42NyBFCi0oTWF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpNSBFIEYxPGFkNzU+Mi41IEUgRjAoLilBIEYxIC0uMSh2YSkxODQgNTQwIFMKKy4xNSBFIEYxKHVzZXIpMTg0IDU4OCBRIEYwKFVzZXIgbmFtZXMuKTIxLjY3IEUKKyhNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ3NT4yLjUgRSBGMCguKUEgRjEgLS4xKHZhKTE4NCA2MDAgUwogKHJpYWJsZSkuMSBFIEYwKE5hbWVzIG9mIGFsbCBzaGVsbCB2KTUuMSBFIDIuNShhcmlhYmxlcy4gTWF5KS0uMjUgRgotKGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpMi41IEUgRjE8YWQ3Nj4yLjUgRSBGMCguKUEgRjE8YWQ0Nz4xNDQgNTUyIFEgRjIKLShnbG9icGF0KTIuNSBFIEYwIDEuNDExKFRoZSBcMjE0bGVuYW1lIGUpMTg0IDU2NCBSIDEuNDExCi0oeHBhbnNpb24gcGF0dGVybiktLjE1IEYgRjIoZ2xvYnBhdCkzLjkxMSBFIEYwIDEuNDExKGlzIGUpMy45MTEgRiAxLjQxMQotKHhwYW5kZWQgdG8gZ2VuZXJhdGUgdGhlIHBvc3NpYmxlIGNvbXBsZS0pLS4xNSBGKHRpb25zLikxODQgNTc2IFEgRjEKLTxhZDU3PjE0NCA1ODggUSBGMih3b3IpMi41IEUoZGxpc3QpLS4zNyBFIEYwKFRoZSkxODQgNjAwIFEgRjIod29yKTMuNjM5Ci1FKGRsaXN0KS0uMzcgRSBGMCAxLjE0KGlzIHNwbGl0IHVzaW5nIHRoZSBjaGFyYWN0ZXJzIGluIHRoZSkzLjYzOSBGIEYzCi0oSUZTKTMuNjQgRSBGMCAxLjE0KHNwZWNpYWwgdikzLjM5IEYgMS4xNChhcmlhYmxlIGFzIGRlbGltaXRlcnMsIGFuZCkKLS0uMjUgRiAyLjAwOChlYWNoIHJlc3VsdGFudCB3KTE4NCA2MTIgUiAyLjAwOChvcmQgaXMgZSktLjEgRiA0LjUwOAotKHhwYW5kZWQuIFRoZSktLjE1IEYgMi4wMDcocG9zc2libGUgY29tcGxldGlvbnMgYXJlIHRoZSBtZW1iZXJzIG9mIHRoZSkKLTQuNTA4IEYocmVzdWx0YW50IGxpc3Qgd2hpY2ggbWF0Y2ggdGhlIHcpMTg0IDYyNCBRKG9yZCBiZWluZyBjb21wbGV0ZWQuKQotLS4xIEUgRjE8YWQ0Mz4xNDQgNjM2IFEgRjIoY29tbWFuZCkyLjUgRShjb21tYW5kKTE4NCA2NDggUSBGMCAxLjA1NQotKGlzIGUpMy41NTUgRiAtLjE1KHhlKS0uMTUgRyAxLjA1NShjdXRlZCBpbiBhIHN1YnNoZWxsIGVuKS4xNSBGIDEuMDU2CisoYWxzbyBiZSBzcGVjaVwyMTRlZCBhcykyLjUgRSBGMTxhZDc2PjIuNSBFIEYwKC4pQSBGMTxhZDQ3PjE0NCA2MTIgUSBGMgorKGdsb2JwYXQpMi41IEUgRjAgMS4wMDcoVGhlIHBhdGhuYW1lIGUpMTg0IDYyNCBSIDEuMDA3KHhwYW5zaW9uIHBhdHRlcm4pCistLjE1IEYgRjIoZ2xvYnBhdCkzLjUwNyBFIEYwIDEuMDA3KGlzIGUpMy41MDcgRiAxLjAwOAorKHhwYW5kZWQgdG8gZ2VuZXJhdGUgdGhlIHBvc3NpYmxlIGNvbXBsZS0pLS4xNSBGKHRpb25zLikxODQgNjM2IFEgRjEKKzxhZDU3PjE0NCA2NDggUSBGMih3b3IpMi41IEUoZGxpc3QpLS4zNyBFIEYwKFRoZSkxODQgNjYwIFEgRjIod29yKTMuNjQgRQorKGRsaXN0KS0uMzcgRSBGMCAxLjE0KGlzIHNwbGl0IHVzaW5nIHRoZSBjaGFyYWN0ZXJzIGluIHRoZSkzLjY0IEYgRjMKKyhJRlMpMy42NCBFIEYwIDEuMTM5KHNwZWNpYWwgdikzLjM5IEYgMS4xMzkoYXJpYWJsZSBhcyBkZWxpbWl0ZXJzLCBhbmQpCistLjI1IEYgMi4wMDcoZWFjaCByZXN1bHRhbnQgdykxODQgNjcyIFIgMi4wMDcob3JkIGlzIGUpLS4xIEYgNC41MDcKKyh4cGFuZGVkLiBUaGUpLS4xNSBGIDIuMDA4KHBvc3NpYmxlIGNvbXBsZXRpb25zIGFyZSB0aGUgbWVtYmVycyBvZiB0aGUpCis0LjUwNyBGKHJlc3VsdGFudCBsaXN0IHdoaWNoIG1hdGNoIHRoZSB3KTE4NCA2ODQgUShvcmQgYmVpbmcgY29tcGxldGVkLikKKy0uMSBFIEYxPGFkNDM+MTQ0IDY5NiBRIEYyKGNvbW1hbmQpMi41IEUoY29tbWFuZCkxODQgNzA4IFEgRjAgMS4wNTYKKyhpcyBlKTMuNTU2IEYgLS4xNSh4ZSktLjE1IEcgMS4wNTYoY3V0ZWQgaW4gYSBzdWJzaGVsbCBlbikuMTUgRiAxLjA1NgogKHZpcm9ubWVudCwgYW5kIGl0cyBvdXRwdXQgaXMgdXNlZCBhcyB0aGUgcG9zc2libGUpLS40IEYoY29tcGxldGlvbnMuKQotMTg0IDY2MCBRIEYxPGFkNDY+MTQ0IDY3MiBRIEYyKGZ1bmN0aW9uKTIuNSBFIEYwIDEuMTgxCi0oVGhlIHNoZWxsIGZ1bmN0aW9uKTE4NCA2ODQgUiBGMihmdW5jdGlvbikzLjY4MSBFIEYwIDEuMTgxKGlzIGUpMy42ODEgRgotLS4xNSh4ZSktLjE1IEcgMS4xODEoY3V0ZWQgaW4gdGhlIGN1cnJlbnQgc2hlbGwgZW4pLjE1IEYgMy42OAotKHZpcm9ubWVudC4gV2hlbiktLjQgRiAxLjE4KGl0IFwyMTRuLSkzLjY4IEYgLjkzMgotKGlzaGVzLCB0aGUgcG9zc2libGUgY29tcGxldGlvbnMgYXJlIHJldHJpZSkxODQgNjk2IFIgLS4xNSh2ZSktLjI1IEcKLTMuNDMyKGRmKS4xNSBHIC45MzIocm9tIHRoZSB2KS0zLjQzMiBGIC45MzIoYWx1ZSBvZiB0aGUpLS4yNSBGIEYzCi0oQ09NUFJFUEwpMy40MzIgRShZKS0uODI4IEUgRjAoYXJyYXkpMy4xODIgRSAtLjI1KHZhKTE4NCA3MDggUyhyaWFibGUuKQotLjI1IEUoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSg0KTIwMy43MjUgRSAwIENnIEVQCisxODQgNzIwIFEoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSg0KTIwMy43MjUgRSAwIENnCitFUAogJSVQYWdlOiA1IDUKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTKFNIX0IpLjM1IEUoVUlMKS0uMSBFIDI5MC40OAogKFRJTlNcKDFcKSBCKS0uOTIgRihBU0hfQiktLjM1IEUoVUlMKS0uMSBFKFRJTlNcKDFcKSktLjkyIEUvRjEgMTAKLS9UaW1lcy1Cb2xkQDAgU0Y8YWQ1OD4xNDQgODQgUS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihcMjE0bHRlcnBhdCkyLjUgRQotKFwyMTRsdGVycGF0KTE4NCA5NiBRIEYwIC43MzMoaXMgYSBwYXR0ZXJuIGFzIHVzZWQgZm9yIFwyMTRsZW5hbWUgZSkKLTMuMjM0IEYgMy4yMzMoeHBhbnNpb24uIEl0KS0uMTUgRiAuNzMzCi0oaXMgYXBwbGllZCB0byB0aGUgbGlzdCBvZiBwb3NzaWJsZSkzLjIzMyBGIDEuNTk2Ci0oY29tcGxldGlvbnMgZ2VuZXJhdGVkIGJ5IHRoZSBwcmVjZWRpbmcgb3B0aW9ucyBhbmQgYXIpMTg0IDEwOCBSIDEuNTk2Ci0oZ3VtZW50cywgYW5kIGVhY2ggY29tcGxldGlvbiktLjE4IEYobWF0Y2hpbmcpMTg0IDEyMCBRIEYyKFwyMTRsdGVycGF0KQotMy4yMDUgRSBGMCAuNzA1KGlzIHJlbW8pMy4yMDUgRiAtLjE1KHZlKS0uMTUgRyAzLjIwNShkZikuMTUgRyAuNzA0Ci0ocm9tIHRoZSBsaXN0LiktMy4yMDUgRiAzLjIwNChBbCk1LjcwNCBHKGVhZGluZyktMy4yMDQgRSBGMSghKTMuMjA0IEUgRjAKLShpbikzLjIwNCBFIEYyKFwyMTRsdGVycGF0KTMuMjA0IEUgRjAobmUpMy4yMDQgRSAtLjA1KGdhKS0uMTUgRyAuNzA0Ci0odGVzIHRoZSBwYXR0ZXJuOykuMDUgRihpbiB0aGlzIGNhc2UsIGFuKTE4NCAxMzIgUSAyLjUoeWMpLS4xNSBHCisvVGltZXMtQm9sZEAwIFNGPGFkNDY+MTQ0IDg0IFEvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YoZnVuY3Rpb24pMi41IEUgRjAKKzEuMTgoVGhlIHNoZWxsIGZ1bmN0aW9uKTE4NCA5NiBSIEYyKGZ1bmN0aW9uKTMuNjggRSBGMCAxLjE4MShpcyBlKTMuNjgxCitGIC0uMTUoeGUpLS4xNSBHIDEuMTgxKGN1dGVkIGluIHRoZSBjdXJyZW50IHNoZWxsIGVuKS4xNSBGIDMuNjgxCisodmlyb25tZW50LiBXaGVuKS0uNCBGIDEuMTgxKGl0IFwyMTRuLSkzLjY4MSBGIC45MzIKKyhpc2hlcywgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIGFyZSByZXRyaWUpMTg0IDEwOCBSIC0uMTUodmUpLS4yNSBHCiszLjQzMihkZikuMTUgRyAuOTMyKHJvbSB0aGUgdiktMy40MzIgRiAuOTMyKGFsdWUgb2YgdGhlKS0uMjUgRi9GMyA5CisvVGltZXMtQm9sZEAwIFNGKENPTVBSRVBMKTMuNDMxIEUoWSktLjgyOCBFIEYwKGFycmF5KTMuMTgxIEUgLS4yNSh2YSkxODQKKzEyMCBTKHJpYWJsZS4pLjI1IEUgRjE8YWQ1OD4xNDQgMTMyIFEgRjIoXDIxNGx0ZXJwYXQpMi41IEUoXDIxNGx0ZXJwYXQpCisxODQgMTQ0IFEgRjAgLjQ1NShpcyBhIHBhdHRlcm4gYXMgdXNlZCBmb3IgcGF0aG5hbWUgZSkyLjk1NSBGIDIuOTU2CisoeHBhbnNpb24uIEl0KS0uMTUgRiAuNDU2KGlzIGFwcGxpZWQgdG8gdGhlIGxpc3Qgb2YgcG9zc2libGUpMi45NTYgRgorMS41OTYoY29tcGxldGlvbnMgZ2VuZXJhdGVkIGJ5IHRoZSBwcmVjZWRpbmcgb3B0aW9ucyBhbmQgYXIpMTg0IDE1NiBSCisxLjU5NihndW1lbnRzLCBhbmQgZWFjaCBjb21wbGV0aW9uKS0uMTggRihtYXRjaGluZykxODQgMTY4IFEgRjIKKyhcMjE0bHRlcnBhdCkzLjIwNCBFIEYwIC43MDQoaXMgcmVtbykzLjIwNCBGIC0uMTUodmUpLS4xNSBHIDMuMjA0KGRmKS4xNQorRyAuNzA0KHJvbSB0aGUgbGlzdC4pLTMuMjA0IEYgMy4yMDQoQWwpNS43MDQgRyhlYWRpbmcpLTMuMjA0IEUgRjEoISkKKzMuMjA0IEUgRjAoaW4pMy4yMDQgRSBGMihcMjE0bHRlcnBhdCkzLjIwNSBFIEYwKG5lKTMuMjA1IEUgLS4wNShnYSktLjE1CitHIC43MDUodGVzIHRoZSBwYXR0ZXJuOykuMDUgRihpbiB0aGlzIGNhc2UsIGFuKTE4NCAxODAgUSAyLjUoeWMpLS4xNSBHCiAob21wbGV0aW9uIG5vdCBtYXRjaGluZyktMi41IEUgRjIoXDIxNGx0ZXJwYXQpMi41IEUgRjAoaXMgcmVtbykyLjUgRQotLS4xNSh2ZSktLjE1IEcoZC4pLjE1IEUgRjE8YWQ1MD4xNDQgMTQ0IFEgRjIocHIpMi41IEUoZVwyMTR4KS0uMzcgRShwcikKLTE4NCAxNTYgUShlXDIxNHgpLS4zNyBFIEYwIC41MzQoaXMgYWRkZWQgYXQgdGhlIGJlKTMuMDM0IEYgLjUzNAorLS4xNSh2ZSktLjE1IEcoZC4pLjE1IEUgRjE8YWQ1MD4xNDQgMTkyIFEgRjIocHIpMi41IEUoZVwyMTR4KS0uMzcgRShwcikKKzE4NCAyMDQgUShlXDIxNHgpLS4zNyBFIEYwIC41MzUoaXMgYWRkZWQgYXQgdGhlIGJlKTMuMDM1IEYgLjUzNAogKGdpbm5pbmcgb2YgZWFjaCBwb3NzaWJsZSBjb21wbGV0aW9uIGFmdGVyIGFsbCBvdGhlciBvcHRpb25zIGhhKS0uMTUgRgotLS4xNSh2ZSktLjIgRyhiZWVuIGFwcGxpZWQuKTE4NCAxNjggUSBGMTxhZDUzPjE0NCAxODAgUSBGMihzdWYpMi41IEUKKy0uMTUodmUpLS4yIEcoYmVlbiBhcHBsaWVkLikxODQgMjE2IFEgRjE8YWQ1Mz4xNDQgMjI4IFEgRjIoc3VmKTIuNSBFCiAyLjgxKFwyMTR4IHN1ZiktLjE4IEY8OGM3OD4tLjE4IEUgRjAKIChpcyBhcHBlbmRlZCB0byBlYWNoIHBvc3NpYmxlIGNvbXBsZXRpb24gYWZ0ZXIgYWxsIG90aGVyIG9wdGlvbnMgaGEpMi41Ci1FIC4zIC0uMTUodmUgYiktLjIgSChlZW4gYXBwbGllZC4pLjE1IEUgLjQ2NyhUaGUgcmV0dXJuIHYpMTQ0IDE5Ni44IFIKLS40NjcoYWx1ZSBpcyB0cnVlIHVubGVzcyBhbiBpbiktLjI1IEYgLS4yNSh2YSktLjQgRyAuNDY2Ci0obGlkIG9wdGlvbiBpcyBzdXBwbGllZCwgYW4gb3B0aW9uIG90aGVyIHRoYW4pLjI1IEYgRjE8YWQ3MD4yLjk2NiBFIEYwCi0ob3IpMi45NjYgRSBGMTxhZDcyPjIuOTY2IEUgRjAgLjQ2NihpcyBzdXAtKTIuOTY2IEYgMS4zNjEKLShwbGllZCB3aXRob3V0IGEpMTQ0IDIwOC44IFIgRjIobmFtZSkzLjg2MSBFIEYwKGFyKTMuODYxIEUgMS4zNjEKLShndW1lbnQsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byByZW1vKS0uMTggRiAxLjY2MiAtLjE1KHZlIGEgYyktLjE1IEgKLTEuMzYyKG9tcGxldGlvbiBzcGVjaVwyMTRjYXRpb24gZm9yIGEpLjE1IEYgRjIobmFtZSkxNDQgMjIwLjggUSBGMAorRSAuMyAtLjE1KHZlIGIpLS4yIEgoZWVuIGFwcGxpZWQuKS4xNSBFIC40NjYoVGhlIHJldHVybiB2KTE0NCAyNDQuOCBSCisuNDY2KGFsdWUgaXMgdHJ1ZSB1bmxlc3MgYW4gaW4pLS4yNSBGIC0uMjUodmEpLS40IEcgLjQ2NgorKGxpZCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuIG9wdGlvbiBvdGhlciB0aGFuKS4yNSBGIEYxPGFkNzA+Mi45NjcgRSBGMAorKG9yKTIuOTY3IEUgRjE8YWQ3Mj4yLjk2NyBFIEYwIC40NjcoaXMgc3VwLSkyLjk2NyBGIDEuMzYyCisocGxpZWQgd2l0aG91dCBhKTE0NCAyNTYuOCBSIEYyKG5hbWUpMy44NjIgRSBGMChhcikzLjg2MiBFIDEuMzYxCisoZ3VtZW50LCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gcmVtbyktLjE4IEYgMS42NjEgLS4xNSh2ZSBhIGMpLS4xNSBICisxLjM2MShvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9uIGZvciBhKS4xNSBGIEYyKG5hbWUpMTQ0IDI2OC44IFEgRjAKIChmb3Igd2hpY2ggbm8gc3BlY2lcMjE0Y2F0aW9uIGUpMi41IEUKICh4aXN0cywgb3IgYW4gZXJyb3Igb2NjdXJzIGFkZGluZyBhIGNvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9uLiktLjE1IEUKLUYxKGNvbXBvcHQpMTA4IDIzNy42IFEgRjAoWykyLjUgRSBGMTxhZDZmPkEgRjIob3B0aW9uKTIuNSBFIEYwIDIuNShdWylDCi1GMSgrbyktMi41IEUgRjIob3B0aW9uKTIuNSBFIEYwIDIuNShdWylDIEYyKG5hbWUpLTIuNSBFIEYwKF0pQSAuNDQ3Ci0oTW9kaWZ5IGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCkxNDQgMjQ5LjYgUiBGMihuYW1lKTIuOTQ3IEUgRjAgLjQ0NwotKGFjY29yZGluZyB0byB0aGUpMi45NDcgRiBGMihvcHRpb24pMi45NDcgRSBGMCAuNDQ3Ci0ocywgb3IgZm9yIHRoZSBjdXJyZW50bHktZSlCIC0uMTUoeGUpLS4xNSBHKGN1dGlvbikuMTUgRSAuNzI1Ci0oY29tcGxldGlvbiBpZiBubykxNDQgMjYxLjYgUiBGMihuYW1lKTMuMjI1IEUgRjAgMy4yMjUoc2EpQyAuNzI1Ci0ocmUgc3VwcGxpZWQuKS0zLjIyNSBGIC43MjUoSWYgbm8pNS43MjUgRiBGMihvcHRpb24pMy4yMjUgRSBGMCAzLjIyNShzYSkKLUMgLjcyNShyZSBnaSktMy4yMjUgRiAtLjE1KHZlKS0uMjUgRyAuNzI2Ci0obiwgZGlzcGxheSB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvcikuMTUgRihlYWNoKTE0NCAyNzMuNiBRIEYyKG5hbWUpCi0zLjIyNCBFIEYwIC43MjQob3IgdGhlIGN1cnJlbnQgY29tcGxldGlvbi4pMy4yMjQgRiAuNzI0KFRoZSBwb3NzaWJsZSB2KQorRjEoY29tcG9wdCkxMDggMjg1LjYgUSBGMChbKTIuNSBFIEYxPGFkNmY+QSBGMihvcHRpb24pMi41IEUgRjAgMi41KF1bKUMKK0YxKFwyNTVERSktMi41IEUgRjAgMi41KF1bKUMgRjEoK28pLTIuNSBFIEYyKG9wdGlvbikyLjUgRSBGMCAyLjUoXVspQyBGMgorKG5hbWUpLTIuNSBFIEYwKF0pQSAuNDQ3KE1vZGlmeSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2gpMTQ0IDI5Ny42IFIKK0YyKG5hbWUpMi45NDcgRSBGMCAuNDQ3KGFjY29yZGluZyB0byB0aGUpMi45NDcgRiBGMihvcHRpb24pMi45NDcgRSBGMAorLjQ0NyhzLCBvciBmb3IgdGhlIGN1cnJlbnRseS1lKUIgLS4xNSh4ZSktLjE1IEcoY3V0aW9uKS4xNSBFIC43MjYKKyhjb21wbGV0aW9uIGlmIG5vKTE0NCAzMDkuNiBSIEYyKG5hbWUpMy4yMjYgRSBGMCAzLjIyNihzYSlDIC43MjYKKyhyZSBzdXBwbGllZC4pLTMuMjI2IEYgLjcyNShJZiBubyk1LjcyNSBGIEYyKG9wdGlvbikzLjIyNSBFIEYwIDMuMjI1KHNhKQorQyAuNzI1KHJlIGdpKS0zLjIyNSBGIC0uMTUodmUpLS4yNSBHIC43MjUKKyhuLCBkaXNwbGF5IHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yKS4xNSBGKGVhY2gpMTQ0IDMyMS42IFEgRjIobmFtZSkKKzMuMjIzIEUgRjAgLjcyMyhvciB0aGUgY3VycmVudCBjb21wbGV0aW9uLikzLjIyMyBGIC43MjQoVGhlIHBvc3NpYmxlIHYpCiA1LjcyNCBGIC43MjQoYWx1ZXMgb2YpLS4yNSBGIEYyKG9wdGlvbikzLjIyNCBFIEYwIC43MjQoYXJlIHRob3NlIHYpMy4yMjQKLUYgLjcyMyhhbGlkIGZvciB0aGUpLS4yNSBGIEYxKGNvbS0pMy4yMjMgRShwbGV0ZSkxNDQgMjg1LjYgUSBGMCAtLjIoYnUpCi0yLjUgRyhpbHRpbiBkZXNjcmliZWQgYWJvKS4yIEUgLS4xNSh2ZSktLjE1IEcoLikuMTUgRSAuMzI3KFRoZSByZXR1cm4gdikKLTEwOCAzMDIuNCBSIC4zMjcoYWx1ZSBpcyB0cnVlIHVubGVzcyBhbiBpbiktLjI1IEYgLS4yNSh2YSktLjQgRyAuMzI3CitGIC43MjQoYWxpZCBmb3IgdGhlKS0uMjUgRiBGMShjb20tKTMuMjI0IEUocGxldGUpMTQ0IDMzMy42IFEgRjAgLS4yKGJ1KQorMi43OTggRyAuMjk4KGlsdGluIGRlc2NyaWJlZCBhYm8pLjIgRiAtLjE1KHZlKS0uMTUgRyA1LjI5NyguVCkuMTUgRyhoZSkKKy01LjI5NyBFIEYxPGFkNDQ+Mi43OTcgRSBGMCAuMjk3Cisob3B0aW9uIGluZGljYXRlcyB0aGF0IHRoZSByZW1haW5pbmcgb3B0aW9ucyBzaG91bGQgYXBwbHkgdG8pMi43OTcgRgorMS4yMjcodGhlIGApMTQ0IDM0NS42IFIoYGRlZiktLjc0IEUoYXVsdCcpLS4xIEUgMy43MjcoJ2MpLS43NCBHIDEuMjI4KG9cCittbWFuZCBjb21wbGV0aW9uOyB0aGF0IGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhIGNvbW1hbmQgZm9yIHdoaWNoIFwKK25vKS0zLjcyNyBGIDIuMTc4KGNvbXBsZXRpb24gaGFzIHByZSkxNDQgMzU3LjYgUiAyLjE3OAorKHZpb3VzbHkgYmVlbiBkZVwyMTRuZWQuKS0uMjUgRihUaGUpNy4xNzggRSBGMTxhZDQ1PjQuNjc4IEUgRjAgMi4xNzcKKyhvcHRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIHJlbWFpbmluZyBvcHRpb25zKTQuNjc3IEYoc2hvdWxkIGFwcGx5IHRvIGApCisxNDQgMzY5LjYgUShgZW1wdHknKS0uNzQgRSAyLjUoJ2MpLS43NCBHCisob21tYW5kIGNvbXBsZXRpb247IHRoYXQgaXMsIGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZS4pLTIuNQorRSAuMzI3KFRoZSByZXR1cm4gdikxMDggMzg2LjQgUiAuMzI3KGFsdWUgaXMgdHJ1ZSB1bmxlc3MgYW4gaW4pLS4yNSBGCistLjI1KHZhKS0uNCBHIC4zMjcKIChsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gbW9kaWZ5IHRoZSBvcHRpb25zIGZvciBhKQotLjI1IEYgRjIobmFtZSkxMDggMzE0LjQgUSBGMChmb3Igd2hpY2ggbm8gY29tcGxldGlvbiBzcGVjaVwyMTRjYXRpb24gZSkKLTIuNSBFKHhpc3RzLCBvciBhbiBvdXRwdXQgZXJyb3Igb2NjdXJzLiktLjE1IEUgRjEoY29udGludWUpMTA4IDMzMS4yIFEKLUYwKFspMi41IEUgRjIobilBIEYwKF0pQSAxLjc1NChSZXN1bWUgdGhlIG5lKTE0NCAzNDMuMiBSIDEuNzU0CisuMjUgRiBGMihuYW1lKTEwOCAzOTguNCBRIEYwKGZvciB3aGljaCBubyBjb21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbiBlKQorMi41IEUoeGlzdHMsIG9yIGFuIG91dHB1dCBlcnJvciBvY2N1cnMuKS0uMTUgRSBGMShjb250aW51ZSkxMDggNDE1LjIgUQorRjAoWykyLjUgRSBGMihuKUEgRjAoXSlBIDEuNzU0KFJlc3VtZSB0aGUgbmUpMTQ0IDQyNy4yIFIgMS43NTQKICh4dCBpdGVyYXRpb24gb2YgdGhlIGVuY2xvc2luZyktLjE1IEYgRjEgLS4yNShmbyk0LjI1NCBHKHIpLjI1IEUgRjAoLClBCiBGMSh3aGlsZSk0LjI1NCBFIEYwKCwpQSBGMSh1bnRpbCk0LjI1NCBFIEYwIDQuMjU0KCxvKUMociktNC4yNTQgRSBGMQogKHNlbGVjdCk0LjI1NCBFIEYwIDQuMjUzKGxvb3AuIElmKTQuMjU0IEYgRjIobik0LjYxMyBFIEYwIDEuNzUzCi0oaXMgc3BlY2lcMjE0ZWQsKTQuNDkzIEYgMS4yMDgocmVzdW1lIGF0IHRoZSkxNDQgMzU1LjIgUiBGMihuKTMuNzA5IEUgRjAKLTEuMjA5KHRoIGVuY2xvc2luZyBsb29wLilCIEYyKG4pNi41NjkgRSBGMCAxLjIwOShtdXN0IGJlKTMuOTQ5IEYvRjMgMTAKKyhpcyBzcGVjaVwyMTRlZCwpNC40OTMgRiAxLjIwOChyZXN1bWUgYXQgdGhlKTE0NCA0MzkuMiBSIEYyKG4pMy43MDkgRSBGMAorMS4yMDkodGggZW5jbG9zaW5nIGxvb3AuKUIgRjIobik2LjU2OSBFIEYwIDEuMjA5KG11c3QgYmUpMy45NDkgRi9GNCAxMAogL1N5bWJvbCBTRjxiMz4zLjcwOSBFIEYwIDMuNzA5KDEuIElmKTMuNzA5IEYgRjIobik0LjA2OSBFIEYwIDEuMjA5CiAoaXMgZ3JlYXRlciB0aGFuIHRoZSBudW1iZXIgb2YgZW5jbG9zaW5nKTMuOTQ5IEYgLjUxNAotKGxvb3BzLCB0aGUgbGFzdCBlbmNsb3NpbmcgbG9vcCBcKHRoZSBgKTE0NCAzNjcuMiBSKGB0b3AtbGUpLS43NCBFIC0uMTUKKyhsb29wcywgdGhlIGxhc3QgZW5jbG9zaW5nIGxvb3AgXCh0aGUgYCkxNDQgNDUxLjIgUihgdG9wLWxlKS0uNzQgRSAtLjE1CiAodmUpLS4yNSBHKGwnKS4xNSBFIDMuMDE0KCdsKS0uNzQgRyAuNTE0KG9vcFwpIGlzIHJlc3VtZWQuKS0zLjAxNCBGIC41MTMKIChUaGUgcmV0dXJuIHYpNS41MTMgRiAuNTEzKGFsdWUgaXMgMCB1bmxlc3MpLS4yNSBGIEYyKG4pMy4wMTMgRSBGMChpcykKLTMuMDEzIEUobm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLikxNDQgMzc5LjIgUSBGMShkZWNsYXIpMTA4IDM5NiBRCiszLjAxMyBFKG5vdCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMS4pMTQ0IDQ2My4yIFEgRjEoZGVjbGFyKTEwOCA0ODAgUQogKGUpLS4xOCBFIEYwKFspMi41IEUgRjEoXDI1NWFBZkZpbHJ0dXgpQSBGMCAyLjUoXVspQyBGMTxhZDcwPi0yLjUgRSBGMAogMi41KF1bKUMgRjIobmFtZSktMi41IEUgRjAoWz0pQSBGMih2YWx1ZSlBIEYwIDIuNShdLilDKC4uXSktMi41IEUgRjEKLSh0eXBlc2V0KTEwOCA0MDggUSBGMChbKTIuNSBFIEYxKFwyNTVhQWZGaWxydHV4KUEgRjAgMi41KF1bKUMgRjE8YWQ3MD4KKyh0eXBlc2V0KTEwOCA0OTIgUSBGMChbKTIuNSBFIEYxKFwyNTVhQWZGaWxydHV4KUEgRjAgMi41KF1bKUMgRjE8YWQ3MD4KIC0yLjUgRSBGMCAyLjUoXVspQyBGMihuYW1lKS0yLjUgRSBGMChbPSlBIEYyKHZhbHVlKUEgRjAgMi41KF0uKUMoLi5dKQotLTIuNSBFIDEuMjY0KERlY2xhcmUgdikxNDQgNDIwIFIgMS4yNjQoYXJpYWJsZXMgYW5kL29yIGdpKS0uMjUgRiAxLjU2NAorLTIuNSBFIDEuMjY0KERlY2xhcmUgdikxNDQgNTA0IFIgMS4yNjQoYXJpYWJsZXMgYW5kL29yIGdpKS0uMjUgRiAxLjU2NAogLS4xNSh2ZSB0KS0uMjUgSCAxLjI2NChoZW0gYXR0cmliKS4xNSBGIDMuNzY1KHV0ZXMuIElmKS0uMiBGKG5vKTMuNzY1IEUKIEYyKG5hbWUpMy43NjUgRSBGMCAzLjc2NShzYSlDIDEuMjY1KHJlIGdpKS0zLjc2NSBGIC0uMTUodmUpLS4yNSBHIDMuNzY1CiAobnQpLjE1IEcgMS4yNjUoaGVuIGRpc3BsYXkgdGhlIHYpLTMuNzY1IEYgMS4yNjUoYWx1ZXMgb2YpLS4yNSBGIC0uMjUKLSh2YSkxNDQgNDMyIFMgMy40ODMocmlhYmxlcy4gVGhlKS4yNSBGIEYxPGFkNzA+My40ODMgRSBGMCAuOTgzCisodmEpMTQ0IDUxNiBTIDMuNDgzKHJpYWJsZXMuIFRoZSkuMjUgRiBGMTxhZDcwPjMuNDgzIEUgRjAgLjk4MwogKG9wdGlvbiB3aWxsIGRpc3BsYXkgdGhlIGF0dHJpYikzLjQ4MyBGIC45ODModXRlcyBhbmQgdiktLjIgRiAuOTgyCiAoYWx1ZXMgb2YgZWFjaCktLjI1IEYgRjIobmFtZSkzLjQ4MiBFIEYwIDUuOTgyKC5XKS4xOCBHKGhlbiktNS45ODIgRSBGMQotPGFkNzA+My40ODIgRSBGMCAuOTgyKGlzIHVzZWQpMy40ODIgRih3aXRoKTE0NCA0NDQgUSBGMihuYW1lKTMuNTc5IEUgRjAKKzxhZDcwPjMuNDgyIEUgRjAgLjk4MihpcyB1c2VkKTMuNDgyIEYod2l0aCkxNDQgNTI4IFEgRjIobmFtZSkzLjU3OSBFIEYwCiAoYXIpMy41NzkgRSAxLjA3OShndW1lbnRzLCBhZGRpdGlvbmFsIG9wdGlvbnMgYXJlIGlnbm9yZWQuKS0uMTggRihXaGVuKQogNi4wNzkgRSBGMTxhZDcwPjMuNTc5IEUgRjAgMS4wNzkoaXMgc3VwcGxpZWQgd2l0aG91dCkzLjU3OSBGIEYyKG5hbWUpCiAzLjU4IEUgRjAoYXIpMy41OCBFKGd1LSktLjE4IEUgLjE1MShtZW50cywgaXQgd2lsbCBkaXNwbGF5IHRoZSBhdHRyaWIpCi0xNDQgNDU2IFIgLjE1MSh1dGVzIGFuZCB2KS0uMiBGIC4xNTEoYWx1ZXMgb2YgYWxsIHYpLS4yNSBGIC4xNQorMTQ0IDU0MCBSIC4xNTEodXRlcyBhbmQgdiktLjIgRiAuMTUxKGFsdWVzIG9mIGFsbCB2KS0uMjUgRiAuMTUKIChhcmlhYmxlcyBoYSktLjI1IEYgLjE1KHZpbmcgdGhlIGF0dHJpYiktLjIgRiAuMTUKLSh1dGVzIHNwZWNpXDIxNGVkIGJ5IHRoZSktLjIgRiAuMDQ2KGFkZGl0aW9uYWwgb3B0aW9ucy4pMTQ0IDQ2OCBSIC4wNDYKKyh1dGVzIHNwZWNpXDIxNGVkIGJ5IHRoZSktLjIgRiAuMDQ2KGFkZGl0aW9uYWwgb3B0aW9ucy4pMTQ0IDU1MiBSIC4wNDYKIChJZiBubyBvdGhlciBvcHRpb25zIGFyZSBzdXBwbGllZCB3aXRoKTUuMDQ2IEYgRjE8YWQ3MD4yLjU0NyBFIEYwKCwpQSBGMQogKGRlY2xhcikyLjU0NyBFKGUpLS4xOCBFIEYwIC4wNDcod2lsbCBkaXNwbGF5IHRoZSBhdHRyaWIpMi41NDcgRiAuMDQ3Ci0odXRlcyBhbmQpLS4yIEYgLS4yNSh2YSkxNDQgNDgwIFMgMS4zNjMobHVlcyBvZiBhbGwgc2hlbGwgdikuMjUgRiAzLjg2MworKHV0ZXMgYW5kKS0uMiBGIC0uMjUodmEpMTQ0IDU2NCBTIDEuMzYzKGx1ZXMgb2YgYWxsIHNoZWxsIHYpLjI1IEYgMy44NjMKIChhcmlhYmxlcy4gVGhlKS0uMjUgRiBGMTxhZDY2PjMuODYzIEUgRjAgMS4zNjIKIChvcHRpb24gd2lsbCByZXN0cmljdCB0aGUgZGlzcGxheSB0byBzaGVsbCBmdW5jdGlvbnMuKTMuODYzIEYoVGhlKTYuMzYyCiBFIEYxPGFkNDY+My44NjIgRSBGMCAyLjQyMihvcHRpb24gaW5oaWJpdHMgdGhlIGRpc3BsYXkgb2YgZnVuY3Rpb24gZGVcCi1cMjE0bml0aW9uczsgb25seSB0aGUgZnVuY3Rpb24gbmFtZSBhbmQgYXR0cmliKTE0NCA0OTIgUiAyLjQyMyh1dGVzIGFyZSkKLS0uMiBGIDIuNjY0KHByaW50ZWQuIElmKTE0NCA1MDQgUih0aGUpMi42NjQgRSBGMShleHRkZWIpMi42NjQgRSh1ZyktLjIgRQorXDIxNG5pdGlvbnM7IG9ubHkgdGhlIGZ1bmN0aW9uIG5hbWUgYW5kIGF0dHJpYikxNDQgNTc2IFIgMi40MjModXRlcyBhcmUpCistLjIgRiAyLjY2NChwcmludGVkLiBJZikxNDQgNTg4IFIodGhlKTIuNjY0IEUgRjEoZXh0ZGViKTIuNjY0IEUodWcpLS4yIEUKIEYwIC4xNjQoc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQgdXNpbmcpMi42NjQgRiBGMShzaG9wdCkyLjY2NCBFIEYwIDIuNjY0CiAoLHQpQyAuMTYzKGhlIHNvdXJjZSBcMjE0bGUgbmFtZSBhbmQgbGluZSBudW1iZXIpLTIuNjY0IEYgMS4zODIKLSh3aGVyZSB0aGUgZnVuY3Rpb24gaXMgZGVcMjE0bmVkIGFyZSBkaXNwbGF5ZWQgYXMgd2VsbC4pMTQ0IDUxNiBSKFRoZSkKKyh3aGVyZSB0aGUgZnVuY3Rpb24gaXMgZGVcMjE0bmVkIGFyZSBkaXNwbGF5ZWQgYXMgd2VsbC4pMTQ0IDYwMCBSKFRoZSkKIDYuMzgyIEUgRjE8YWQ0Nj4zLjg4MiBFIEYwIDEuMzgyKG9wdGlvbiBpbXBsaWVzKTMuODgyIEYgRjE8YWQ2Nj4zLjg4MiBFCiBGMCA2LjM4MiguVClDIDEuMzgyKGhlIGZvbGxvKS02LjM4MiBGKHdpbmcpLS4yNSBFIC43OTQKLShvcHRpb25zIGNhbiBiZSB1c2VkIHRvIHJlc3RyaWN0IG91dHB1dCB0byB2KTE0NCA1MjggUiAuNzk0Cisob3B0aW9ucyBjYW4gYmUgdXNlZCB0byByZXN0cmljdCBvdXRwdXQgdG8gdikxNDQgNjEyIFIgLjc5NAogKGFyaWFibGVzIHdpdGggdGhlIHNwZWNpXDIxNGVkIGF0dHJpYiktLjI1IEYgLjc5Myh1dGUgb3IgdG8gZ2kpLS4yIEYKLTEuMDkzIC0uMTUodmUgdiktLjI1IEgoYXJpYWJsZXMpLS4xIEUoYXR0cmliKTE0NCA1NDAgUSh1dGVzOiktLjIgRSBGMQotPGFkNjE+MTQ0IDU1MiBRIEYwKEVhY2gpMjUuMyBFIEYyKG5hbWUpMi41IEUgRjAoaXMgYW4gaW5kZSkyLjUgRSAtLjE1CisxLjA5MyAtLjE1KHZlIHYpLS4yNSBIKGFyaWFibGVzKS0uMSBFKGF0dHJpYikxNDQgNjI0IFEodXRlczopLS4yIEUgRjEKKzxhZDYxPjE0NCA2MzYgUSBGMChFYWNoKTI1LjMgRSBGMihuYW1lKTIuNSBFIEYwKGlzIGFuIGluZGUpMi41IEUgLS4xNQogKHhlKS0uMTUgRyAyLjUoZGEpLjE1IEcocnJheSB2KS0yLjUgRShhcmlhYmxlIFwoc2VlKS0uMjUgRSBGMShBcnJheXMpMi41Ci1FIEYwKGFibykyLjUgRSAtLjE1KHZlKS0uMTUgRyhcKS4pLjE1IEUgRjE8YWQ0MT4xNDQgNTY0IFEgRjAoRWFjaCkyMy4wOAorRSBGMChhYm8pMi41IEUgLS4xNSh2ZSktLjE1IEcoXCkuKS4xNSBFIEYxPGFkNDE+MTQ0IDY0OCBRIEYwKEVhY2gpMjMuMDgKIEUgRjIobmFtZSkyLjUgRSBGMChpcyBhbiBhc3NvY2lhdGkpMi41IEUgLjMgLS4xNSh2ZSBhKS0uMjUgSChycmF5IHYpLjE1CiBFKGFyaWFibGUgXChzZWUpLS4yNSBFIEYxKEFycmF5cykyLjUgRSBGMChhYm8pMi41IEUgLS4xNSh2ZSktLjE1IEcoXCkuKQotLjE1IEUgRjE8YWQ2Nj4xNDQgNTc2IFEgRjAoVXNlIGZ1bmN0aW9uIG5hbWVzIG9ubHkpMjYuOTcgRSguKS0uNjUgRSBGMQotPGFkNjk+MTQ0IDU4OCBRIEYwIC41NTcoVGhlIHYpMjcuNTIgRiAuNTU4CisuMTUgRSBGMTxhZDY2PjE0NCA2NjAgUSBGMChVc2UgZnVuY3Rpb24gbmFtZXMgb25seSkyNi45NyBFKC4pLS42NSBFIEYxCis8YWQ2OT4xNDQgNjcyIFEgRjAgLjU1NyhUaGUgdikyNy41MiBGIC41NTgKIChhcmlhYmxlIGlzIHRyZWF0ZWQgYXMgYW4gaW50ZSktLjI1IEYgLjU1OChnZXI7IGFyaXRobWV0aWMgZSktLjE1IEYgLS4yNQotKHZhKS0uMjUgRyAuNTU4KGx1YXRpb24gXChzZWUpLjI1IEYvRjQgOS9UaW1lcy1Cb2xkQDAgU0YgLjU1OAotKEFSSVRITUVUSUMgRVYpMy4wNTggRihBTFUpLTEuMjE1IEUoQS0pLS41NCBFKFRJT04gXCkpMTgwIDYwMCBRIEYwCi0oaXMgcGVyZm9ybWVkIHdoZW4gdGhlIHYpMi4yNSBFKGFyaWFibGUgaXMgYXNzaWduZWQgYSB2KS0uMjUgRShhbHVlLikKLS0uMjUgRSBGMTxhZDZjPjE0NCA2MTIgUSBGMCAuOTEoV2hlbiB0aGUgdikyNy41MiBGIC45MDkKKyh2YSktLjI1IEcgLjU1OChsdWF0aW9uIFwoc2VlKS4yNSBGIEYzIC41NTgoQVJJVEhNRVRJQyBFVikzLjA1OCBGKEFMVSkKKy0xLjIxNSBFKEEtKS0uNTQgRShUSU9OKTE4MCA2ODQgUSBGMChhYm8pMi4yNSBFIC0uMTUodmUpLS4xNSBHIDIuNShcKWkpCisuMTUgRyAyLjUoc3ApLTIuNSBHKGVyZm9ybWVkIHdoZW4gdGhlIHYpLTIuNSBFKGFyaWFibGUgaXMgYXNzaWduZWQgYSB2KQorLS4yNSBFKGFsdWUuKS0uMjUgRSBGMTxhZDZjPjE0NCA2OTYgUSBGMCAuOTEoV2hlbiB0aGUgdikyNy41MiBGIC45MDkKIChhcmlhYmxlIGlzIGFzc2lnbmVkIGEgdiktLjI1IEYgLjkwOShhbHVlLCBhbGwgdXBwZXIpLS4yNSBGIC45MDkKICgtY2FzZSBjaGFyYWN0ZXJzIGFyZSBjb24pLS4yIEYgLS4xNSh2ZSktLjQgRyAuOTA5KHJ0ZWQgdG8gbG8pLjE1IEYod2VyKQotLS4yNSBFKC0pLS4yIEUgMi41KGNhc2UuIFRoZSkxODAgNjI0IFIodXBwZXIpMi41IEUoLWNhc2UgYXR0cmliKS0uMiBFCi0odXRlIGlzIGRpc2FibGVkLiktLjIgRSBGMTxhZDcyPjE0NCA2MzYgUSBGMChNYWspMjUuODYgRShlKS0uMSBFIEYyCi0obmFtZSk1LjA0NiBFIEYwIDUuMDQ2KHNyKUMoZWFkb25seSktNS4wNDYgRSA3LjU0NiguVCktLjY1IEcgMi41NDYKLShoZXNlIG5hbWVzIGNhbm5vdCB0aGVuIGJlIGFzc2lnbmVkIHYpLTcuNTQ2IEYgMi41NDcKLShhbHVlcyBieSBzdWJzZXF1ZW50KS0uMjUgRihhc3NpZ25tZW50IHN0YXRlbWVudHMgb3IgdW5zZXQuKTE4MCA2NDggUSBGMQotPGFkNzQ+MTQ0IDY2MCBRIEYwKEdpKTI2Ljk3IEUgLjczIC0uMTUodmUgZSktLjI1IEgoYWNoKS4xNSBFIEYyKG5hbWUpCi0yLjkzIEUgRjAodGhlKTIuOTI5IEUgRjIodHIpMi45MjkgRShhY2UpLS4xNSBFIEYwKGF0dHJpYikyLjkyOSBFIDIuOTI5Ci0odXRlLiBUKS0uMiBGIC40MjkocmFjZWQgZnVuY3Rpb25zIGluaGVyaXQgdGhlKS0uMzUgRiBGMShERUIpMi45MjkgRShVRykKLS0uMSBFIEYwKGFuZCkyLjkyOSBFIEYxKFJFVFVSTikyLjkyOSBFIEYwKHRyYXBzIGZyb20gdGhlIGNhbGxpbmcgc2hlbGwuKQotMTgwIDY3MiBRKFRoZSB0cmFjZSBhdHRyaWIpNSBFKHV0ZSBoYXMgbm8gc3BlY2lhbCBtZWFuaW5nIGZvciB2KS0uMiBFCi0oYXJpYWJsZXMuKS0uMjUgRSBGMTxhZDc1PjE0NCA2ODQgUSBGMCAuOTA5KFdoZW4gdGhlIHYpMjQuNzQgRiAuOTA5Ci0oYXJpYWJsZSBpcyBhc3NpZ25lZCBhIHYpLS4yNSBGIC45MDkoYWx1ZSwgYWxsIGxvKS0uMjUgRih3ZXIpLS4yNSBFIC45MDkKLSgtY2FzZSBjaGFyYWN0ZXJzIGFyZSBjb24pLS4yIEYgLS4xNSh2ZSktLjQgRyAuOTEocnRlZCB0byB1cHBlcikuMTUgRigtKQotLS4yIEUgMi41KGNhc2UuIFRoZSkxODAgNjk2IFIobG8pMi41IEUod2VyKS0uMjUgRSgtY2FzZSBhdHRyaWIpLS4yIEUKLSh1dGUgaXMgZGlzYWJsZWQuKS0uMiBFIEYxPGFkNzg+MTQ0IDcwOCBRIEYwKE1hcmspMjUuMyBFIEYyKG5hbWUpMi41IEUKLUYwIDIuNShzZilDKG9yIGUpLTIuNSBFKHhwb3J0IHRvIHN1YnNlcXVlbnQgY29tbWFuZHMgdmlhIHRoZSBlbiktLjE1IEUKLSh2aXJvbm1lbnQuKS0uNCBFIC4xMjEoVXNpbmcgYCsnIGluc3RlYWQgb2YgYFwyNTUnIHR1cm5zIG9mKTE0NCA3MjQuOCBSCi0yLjYyMShmdCktLjI1IEcgLjEyMShoZSBhdHRyaWIpLTIuNjIxIEYgLjEyMSh1dGUgaW5zdGVhZCwgd2l0aCB0aGUgZSktLjIKLUYgLjEyKHhjZXB0aW9ucyB0aGF0KS0uMTUgRiBGMSgrYSkyLjYyIEUgRjAgLjEyKG1heSBub3QgYmUgdXNlZCkyLjYyIEYKLShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDUpMjAzLjcyNSBFIDAgQ2cgRVAKKy0uMjUgRSgtKS0uMiBFIDIuNShjYXNlLiBUaGUpMTgwIDcwOCBSKHVwcGVyKTIuNSBFKC1jYXNlIGF0dHJpYiktLjIgRQorKHV0ZSBpcyBkaXNhYmxlZC4pLS4yIEUoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSg1KQorMjAzLjcyNSBFIDAgQ2cgRVAKICUlUGFnZTogNiA2CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyhTSF9CKS4zNSBFKFVJTCktLjEgRSAyOTAuNDgKLShUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFIDEuMjM2Ci0odG8gZGVzdHJvKTE0NCA4NCBSIDMuNzM2KHlhKS0uMSBHIDMuNzM3KG5hKS0zLjczNiBHIDEuMjM3KHJyYXkgdiktMy43MzcKLUYgMS4yMzcoYXJpYWJsZSBhbmQpLS4yNSBGL0YxIDEwL1RpbWVzLUJvbGRAMCBTRiAxLjIzNygrciB3aWxsIG5vdCByKQotMy43MzcgRihlbW8pLS4xOCBFIDEuNDM3IC0uMSh2ZSB0KS0uMSBIIDEuMjM3KGhlIHIpLjEgRiAxLjIzNwotKGVhZG9ubHkgYXR0cmliKS0uMTggRiAzLjczNyh1dGUuIFdoZW4pLS4yIEYgMS4yMzcodXNlZCBpbiBhKTMuNzM3IEYKLS4zMTIoZnVuY3Rpb24sIG1haykxNDQgOTYgUiAuMzEyKGVzIGVhY2gpLS4xIEYvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YKLShuYW1lKTIuODEyIEUgRjEgLjMxMShsb2NhbCwgYXMgd2l0aCB0aGUgbG9jYWwpMi44MTIgRiBGMCAyLjgxMQotKGNvbW1hbmQuIElmKTIuODExIEYgMi44MTEoYXYpMi44MTEgRyAuMzExKGFyaWFibGUgbmFtZSBpcyBmb2xsbyktMy4wNjEKLUYgLjMxMSh3ZWQgYnkpLS4yNSBGKD0pMTQ0IDEwOCBRIEYyKHZhbHVlKUEgRjAgMy4yMzgoLHQpQyAuNzM4KGhlIHYpCi0tMy4yMzggRiAuNzM4KGFsdWUgb2YgdGhlIHYpLS4yNSBGIC43MzgoYXJpYWJsZSBpcyBzZXQgdG8pLS4yNSBGIEYyCi0odmFsdWUpMy4yMzggRSBGMCA1LjczOCguVClDIC43MzgoaGUgcmV0dXJuIHYpLTUuNzM4IEYgLjczOQotKGFsdWUgaXMgMCB1bmxlc3MgYW4gaW4pLS4yNSBGIC0uMjUodmEpLS40IEcgLjczOShsaWQgb3B0aW9uIGlzKS4yNSBGCi0uNjAzKGVuY291bnRlcmVkLCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gZGVcMjE0bmUgYSBmdW5jdGlvbiB1c2luZykxNDQKLTEyMCBSL0YzIDEwL0NvdXJpZXJAMCBTRiAuNjAzKFwyNTVmIGZvbz1iYXIpMy4xMDMgRiBGMCAzLjEwMygsYSlDIDMuMTAzCi0obmEpLTMuMTAzIEcgLjYwMyh0dGVtcHQgaXMgbWFkZSB0byktMy4xMDMgRiAxLjI0Mihhc3NpZ24gYSB2KTE0NCAxMzIgUgorKFRJTlNcKDFcKSBCKS0uOTIgRihBU0hfQiktLjM1IEUoVUlMKS0uMSBFKFRJTlNcKDFcKSktLjkyIEUvRjEgMTAKKy9UaW1lcy1Cb2xkQDAgU0Y8YWQ3Mj4xNDQgODQgUSBGMChNYWspMjUuODYgRShlKS0uMSBFL0YyIDEwCisvVGltZXMtSXRhbGljQDAgU0YobmFtZSk1LjA0NiBFIEYwIDUuMDQ2KHNyKUMoZWFkb25seSktNS4wNDYgRSA3LjU0NiguVCkKKy0uNjUgRyAyLjU0NihoZXNlIG5hbWVzIGNhbm5vdCB0aGVuIGJlIGFzc2lnbmVkIHYpLTcuNTQ2IEYgMi41NDcKKyhhbHVlcyBieSBzdWJzZXF1ZW50KS0uMjUgRihhc3NpZ25tZW50IHN0YXRlbWVudHMgb3IgdW5zZXQuKTE4MCA5NiBRIEYxCis8YWQ3ND4xNDQgMTA4IFEgRjAoR2kpMjYuOTcgRSAuNzMgLS4xNSh2ZSBlKS0uMjUgSChhY2gpLjE1IEUgRjIobmFtZSkKKzIuOTMgRSBGMCh0aGUpMi45MjkgRSBGMih0cikyLjkyOSBFKGFjZSktLjE1IEUgRjAoYXR0cmliKTIuOTI5IEUgMi45MjkKKyh1dGUuIFQpLS4yIEYgLjQyOShyYWNlZCBmdW5jdGlvbnMgaW5oZXJpdCB0aGUpLS4zNSBGIEYxKERFQikyLjkyOSBFKFVHKQorLS4xIEUgRjAoYW5kKTIuOTI5IEUgRjEoUkVUVVJOKTIuOTI5IEUgRjAodHJhcHMgZnJvbSB0aGUgY2FsbGluZyBzaGVsbC4pCisxODAgMTIwIFEoVGhlIHRyYWNlIGF0dHJpYik1IEUodXRlIGhhcyBubyBzcGVjaWFsIG1lYW5pbmcgZm9yIHYpLS4yIEUKKyhhcmlhYmxlcy4pLS4yNSBFIEYxPGFkNzU+MTQ0IDEzMiBRIEYwIC45MDkoV2hlbiB0aGUgdikyNC43NCBGIC45MDkKKyhhcmlhYmxlIGlzIGFzc2lnbmVkIGEgdiktLjI1IEYgLjkwOShhbHVlLCBhbGwgbG8pLS4yNSBGKHdlciktLjI1IEUgLjkwOQorKC1jYXNlIGNoYXJhY3RlcnMgYXJlIGNvbiktLjIgRiAtLjE1KHZlKS0uNCBHIC45MShydGVkIHRvIHVwcGVyKS4xNSBGKC0pCistLjIgRSAyLjUoY2FzZS4gVGhlKTE4MCAxNDQgUihsbykyLjUgRSh3ZXIpLS4yNSBFKC1jYXNlIGF0dHJpYiktLjIgRQorKHV0ZSBpcyBkaXNhYmxlZC4pLS4yIEUgRjE8YWQ3OD4xNDQgMTU2IFEgRjAoTWFyaykyNS4zIEUgRjIobmFtZSkyLjUgRQorRjAgMi41KHNmKUMob3IgZSktMi41IEUoeHBvcnQgdG8gc3Vic2VxdWVudCBjb21tYW5kcyB2aWEgdGhlIGVuKS0uMTUgRQorKHZpcm9ubWVudC4pLS40IEUgLjEyMShVc2luZyBgKycgaW5zdGVhZCBvZiBgXDI1NScgdHVybnMgb2YpMTQ0IDE3Mi44IFIKKzIuNjIxKGZ0KS0uMjUgRyAuMTIxKGhlIGF0dHJpYiktMi42MjEgRiAuMTIxKHV0ZSBpbnN0ZWFkLCB3aXRoIHRoZSBlKS0uMgorRiAuMTIoeGNlcHRpb25zIHRoYXQpLS4xNSBGIEYxKCthKTIuNjIgRSBGMCAuMTIobWF5IG5vdCBiZSB1c2VkKTIuNjIgRgorLjY0NCh0byBkZXN0cm8pMTQ0IDE4NC44IFIgMy4xNDQoeWEpLS4xIEcgMy4xNDQobmEpLTMuMTQ0IEcgLjY0NChycmF5IHYpCistMy4xNDQgRiAuNjQ0KGFyaWFibGUgYW5kKS0uMjUgRiBGMSgrcikzLjE0NSBFIEYwIC42NDUod2lsbCBub3QgcmVtbykKKzMuMTQ1IEYgLjk0NSAtLjE1KHZlIHQpLS4xNSBIIC42NDUoaGUgcmVhZG9ubHkgYXR0cmliKS4xNSBGIDMuMTQ1CisodXRlLiBXaGVuKS0uMiBGIC42NDUodXNlZCBpbiBhIGZ1bmMtKTMuMTQ1IEYgMS45NDUodGlvbiwgbWFrKTE0NCAxOTYuOAorUiAxLjk0NShlcyBlYWNoKS0uMSBGIEYyKG5hbWUpNC40NDUgRSBGMCAxLjk0NShsb2NhbCwgYXMgd2l0aCB0aGUpNC40NDUKK0YgRjEobG9jYWwpNC40NDQgRSBGMCA0LjQ0NChjb21tYW5kLiBJZik0LjQ0NCBGIDQuNDQ0KGF2KTQuNDQ0IEcgMS45NDQKKyhhcmlhYmxlIG5hbWUgaXMgZm9sbG8pLTQuNjk0IEYgMS45NDQod2VkIGJ5KS0uMjUgRig9KTE0NCAyMDguOCBRIEYyCisodmFsdWUpQSBGMCAzLjIzOCgsdClDIC43MzgoaGUgdiktMy4yMzggRiAuNzM4KGFsdWUgb2YgdGhlIHYpLS4yNSBGIC43MzgKKyhhcmlhYmxlIGlzIHNldCB0byktLjI1IEYgRjIodmFsdWUpMy4yMzggRSBGMCA1LjczOCguVClDIC43MzgKKyhoZSByZXR1cm4gdiktNS43MzggRiAuNzM5KGFsdWUgaXMgMCB1bmxlc3MgYW4gaW4pLS4yNSBGIC0uMjUodmEpLS40IEcKKy43MzkobGlkIG9wdGlvbiBpcykuMjUgRiAuNjAzCisoZW5jb3VudGVyZWQsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBkZVwyMTRuZSBhIGZ1bmN0aW9uIHVzaW5nKTE0NCAyMjAuOAorUi9GMyAxMC9Db3VyaWVyQDAgU0YgLjYwMyhcMjU1ZiBmb289YmFyKTMuMTAzIEYgRjAgMy4xMDMoLGEpQyAzLjEwMyhuYSkKKy0zLjEwMyBHIC42MDModHRlbXB0IGlzIG1hZGUgdG8pLTMuMTAzIEYgMS4yNDIoYXNzaWduIGEgdikxNDQgMjMyLjggUgogMS4yNDIoYWx1ZSB0byBhIHJlYWRvbmx5IHYpLS4yNSBGIDEuMjQyCiAoYXJpYWJsZSwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGFzc2lnbiBhIHYpLS4yNSBGIDEuMjQzCiAoYWx1ZSB0byBhbiBhcnJheSB2KS0uMjUgRihhcmlhYmxlKS0uMjUgRSAxLjM4NgotKHdpdGhvdXQgdXNpbmcgdGhlIGNvbXBvdW5kIGFzc2lnbm1lbnQgc3ludGF4IFwoc2VlKTE0NCAxNDQgUiBGMShBcnJheXMpCi0zLjg4NiBFIEYwKGFibykzLjg4NiBFIC0uMTUodmUpLS4xNSBHIDEuMzg2KFwpLCBvbmUgb2YgdGhlKS4xNSBGIEYyCi0obmFtZXMpMy44ODYgRSBGMCAxLjM4NihpcyBub3QgYSkzLjg4NiBGIC0uMjUodmEpMTQ0IDE1NiBTIC4xNzEKKyh3aXRob3V0IHVzaW5nIHRoZSBjb21wb3VuZCBhc3NpZ25tZW50IHN5bnRheCBcKHNlZSkxNDQgMjQ0LjggUiBGMQorKEFycmF5cykzLjg4NiBFIEYwKGFibykzLjg4NiBFIC0uMTUodmUpLS4xNSBHIDEuMzg2KFwpLCBvbmUgb2YgdGhlKS4xNSBGCitGMihuYW1lcykzLjg4NiBFIEYwIDEuMzg2KGlzIG5vdCBhKTMuODg2IEYgLS4yNSh2YSkxNDQgMjU2LjggUyAuMTcxCiAobGlkIHNoZWxsIHYpLjI1IEYgLjE3MShhcmlhYmxlIG5hbWUsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byB0dXJuIG9mKS0uMjUKIEYgMi42NzEoZnIpLS4yNSBHIC4xNzEoZWFkb25seSBzdGF0dXMgZm9yIGEgcmVhZG9ubHkgdiktMi42NzEgRiAuMTcyCi0oYXJpYWJsZSwgYW4pLS4yNSBGIC45NihhdHRlbXB0IGlzIG1hZGUgdG8gdHVybiBvZikxNDQgMTY4IFIgMy40NihmYSkKKyhhcmlhYmxlLCBhbiktLjI1IEYgLjk2KGF0dGVtcHQgaXMgbWFkZSB0byB0dXJuIG9mKTE0NCAyNjguOCBSIDMuNDYoZmEpCiAtLjI1IEcgLjk2KHJyYXkgc3RhdHVzIGZvciBhbiBhcnJheSB2KS0zLjQ2IEYgLjk2Ci0oYXJpYWJsZSwgb3IgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGRpc3BsYXkgYSktLjI1IEYobm9uLWUpMTQ0IDE4MCBRCi0oeGlzdGVudCBmdW5jdGlvbiB3aXRoKS0uMTUgRSBGMTxhZDY2PjIuNSBFIEYwKC4pQSBGMShkaXJzIFsrKTEwOCAxOTYuOAorKGFyaWFibGUsIG9yIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBkaXNwbGF5IGEpLS4yNSBGKG5vbi1lKTE0NCAyODAuOCBRCisoeGlzdGVudCBmdW5jdGlvbiB3aXRoKS0uMTUgRSBGMTxhZDY2PjIuNSBFIEYwKC4pQSBGMShkaXJzIFsrKTEwOCAyOTcuNgogUSBGMihuKUEgRjEgMi41KF1bKUM8YWQ+LTIuNSBFIEYyKG4pQSBGMSAyLjUoXVspQyhcMjU1Y3Bsdl0pLTIuNSBFIEYwCi0tLjQoV2kpMTQ0IDIwOC44IFMgLjMyOAorLS40KFdpKTE0NCAzMDkuNiBTIC4zMjgKICh0aG91dCBvcHRpb25zLCBkaXNwbGF5cyB0aGUgbGlzdCBvZiBjdXJyZW50bHkgcmVtZW1iZXJlZCBkaXJlY3Rvcmllcy4pCiAuNCBGIC4zMjkoVGhlIGRlZik1LjMyOSBGIC4zMjkoYXVsdCBkaXNwbGF5IGlzIG9uIGEpLS4xIEYgMS4yMzgKLShzaW5nbGUgbGluZSB3aXRoIGRpcmVjdG9yeSBuYW1lcyBzZXBhcmF0ZWQgYnkgc3BhY2VzLikxNDQgMjIwLjggUiAxLjIzOAotKERpcmVjdG9yaWVzIGFyZSBhZGRlZCB0byB0aGUgbGlzdCB3aXRoIHRoZSk2LjIzOCBGIEYxKHB1c2hkKTE0NCAyMzIuOCBRCisoc2luZ2xlIGxpbmUgd2l0aCBkaXJlY3RvcnkgbmFtZXMgc2VwYXJhdGVkIGJ5IHNwYWNlcy4pMTQ0IDMyMS42IFIgMS4yMzgKKyhEaXJlY3RvcmllcyBhcmUgYWRkZWQgdG8gdGhlIGxpc3Qgd2l0aCB0aGUpNi4yMzggRiBGMShwdXNoZCkxNDQgMzMzLjYgUQogRjAoY29tbWFuZDsgdGhlKTIuNSBFIEYxKHBvcGQpMi41IEUgRjAoY29tbWFuZCByZW1vKTIuNSBFIC0uMTUodmUpLS4xNSBHCi0yLjUoc2UpLjE1IEcobnRyaWVzIGZyb20gdGhlIGxpc3QuKS0yLjUgRSBGMSgrKTE0NCAyNDQuOCBRIEYyKG4pQSBGMAorMi41KHNlKS4xNSBHKG50cmllcyBmcm9tIHRoZSBsaXN0LiktMi41IEUgRjEoKykxNDQgMzQ1LjYgUSBGMihuKUEgRjAKIDEuNTY0KERpc3BsYXlzIHRoZSkyNS4zIEYgRjIobik0LjA2NCBFIEYwIDEuNTY1CiAodGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdCBzaG8pQiAxLjU2NSh3biBieSktLjI1IEYgRjEKIChkaXJzKTQuMDY1IEUgRjAgMS41NjUod2hlbiBpbik0LjA2NSBGIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyhkKS4xIEUKLSh3aXRob3V0IG9wdGlvbnMsIHN0YXJ0aW5nIHdpdGggemVyby4pMTgwIDI1Ni44IFEgRjE8YWQ+MTQ0IDI2OC44IFEgRjIKKyh3aXRob3V0IG9wdGlvbnMsIHN0YXJ0aW5nIHdpdGggemVyby4pMTgwIDM1Ny42IFEgRjE8YWQ+MTQ0IDM2OS42IFEgRjIKIChuKUEgRjAgMS4xOTQoRGlzcGxheXMgdGhlKTI1LjMgRiBGMihuKTMuNjk0IEUgRjAgMS4xOTQKICh0aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdCBzaG8pQiAxLjE5NCh3biBieSktLjI1IEYKIEYxKGRpcnMpMy42OTQgRSBGMCAxLjE5NCh3aGVuIGluKTMuNjk0IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHKGQpLjEgRQotKHdpdGhvdXQgb3B0aW9ucywgc3RhcnRpbmcgd2l0aCB6ZXJvLikxODAgMjgwLjggUSBGMTxhZDYzPjE0NCAyOTIuOCBRIEYwCisod2l0aG91dCBvcHRpb25zLCBzdGFydGluZyB3aXRoIHplcm8uKTE4MCAzODEuNiBRIEYxPGFkNjM+MTQ0IDM5My42IFEgRjAKIChDbGVhcnMgdGhlIGRpcmVjdG9yeSBzdGFjayBieSBkZWxldGluZyBhbGwgb2YgdGhlIGVudHJpZXMuKTI1Ljg2IEUgRjEKLTxhZDZjPjE0NCAzMDQuOCBRIEYwIC4zMjQoUHJvZHVjZXMgYSBsb25nZXIgbGlzdGluZzsgdGhlIGRlZikyNy41MiBGCis8YWQ2Yz4xNDQgNDA1LjYgUSBGMCAuMzI0KFByb2R1Y2VzIGEgbG9uZ2VyIGxpc3Rpbmc7IHRoZSBkZWYpMjcuNTIgRgogLjMyNChhdWx0IGxpc3RpbmcgZm9ybWF0IHVzZXMgYSB0aWxkZSB0byBkZW5vdGUgdGhlIGhvbWUgZGlyZWMtKS0uMSBGCi0odG9yeSkxODAgMzE2LjggUSguKS0uNjUgRSBGMTxhZDcwPjE0NCAzMjguOCBRIEYwCisodG9yeSkxODAgNDE3LjYgUSguKS0uNjUgRSBGMTxhZDcwPjE0NCA0MjkuNiBRIEYwCiAoUHJpbnQgdGhlIGRpcmVjdG9yeSBzdGFjayB3aXRoIG9uZSBlbnRyeSBwZXIgbGluZS4pMjQuNzQgRSBGMTxhZDc2PjE0NAotMzQwLjggUSBGMCAuMjczKFByaW50IHRoZSBkaXJlY3Rvcnkgc3RhY2sgd2l0aCBvbmUgZW50cnkgcGVyIGxpbmUsIHByZVwKKzQ0MS42IFEgRjAgLjI3MyhQcmludCB0aGUgZGlyZWN0b3J5IHN0YWNrIHdpdGggb25lIGVudHJ5IHBlciBsaW5lLCBwcmVcCiBcMjE0eGluZyBlYWNoIGVudHJ5IHdpdGggaXRzIGluZGUpMjUuMyBGIDIuNzcyKHhpKS0uMTUgRyAyLjc3MihudCktMi43NzIKLUcoaGUpLTIuNzcyIEUoc3RhY2suKTE4MCAzNTIuOCBRIC4yNTcoVGhlIHJldHVybiB2KTE0NCAzNjkuNiBSIC4yNTgKK0coaGUpLTIuNzcyIEUoc3RhY2suKTE4MCA0NTMuNiBRIC4yNTcoVGhlIHJldHVybiB2KTE0NCA0NzAuNCBSIC4yNTgKIChhbHVlIGlzIDAgdW5sZXNzIGFuIGluKS0uMjUgRiAtLjI1KHZhKS0uNCBHIC4yNTgKIChsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yKS4yNSBGIEYyKG4pMi43NTggRSBGMChpbmRlKTIuNzU4IEUgLS4xNSh4ZSkKIC0uMTUgRyAyLjc1OChzYikuMTUgRyAtLjE1KGV5KS0yLjc1OCBHIC4yNTgob25kIHRoZSBlbmQgb2YgdGhlIGRpcmVjLSkKLS4xNSBGKHRvcnkgc3RhY2suKTE0NCAzODEuNiBRIEYxKGRpc28pMTA4IDM5OC40IFEod24pLS4xIEUgRjAoWykyLjUgRSBGMQorLjE1IEYodG9yeSBzdGFjay4pMTQ0IDQ4Mi40IFEgRjEoZGlzbykxMDggNDk5LjIgUSh3biktLjEgRSBGMChbKTIuNSBFIEYxCiAoXDI1NWFyKUEgRjAgMi41KF1bKUMgRjE8YWQ2OD4tMi41IEUgRjAgMi41KF1bKUMgRjIoam9ic3BlYyktMi41IEUgRjAKLSguLi5dKTIuNSBFIC0uNChXaSkxNDQgNDEwLjQgUyAuMjk1KHRob3V0IG9wdGlvbnMsIGVhY2gpLjQgRiBGMihqb2JzcGVjKQorKC4uLl0pMi41IEUgLS40KFdpKTE0NCA1MTEuMiBTIC4yOTUodGhvdXQgb3B0aW9ucywgZWFjaCkuNCBGIEYyKGpvYnNwZWMpCiA0LjUzNSBFIEYwIC4yOTUoaXMgcmVtbykzLjEwNSBGIC0uMTUodmUpLS4xNSBHIDIuNzk1KGRmKS4xNSBHIC4yOTUKIChyb20gdGhlIHRhYmxlIG9mIGFjdGkpLTIuNzk1IEYgLjU5NSAtLjE1KHZlIGopLS4yNSBIIDIuNzk1KG9icy4gSWYpLjE1Ci1GIEYyKGpvYnNwZWMpNC41MzUgRSBGMCAuMjk1KGlzIG5vdCBwcmVzZW50LCkzLjEwNSBGIC4yNDMoYW5kIG5laXRoZXIpCi0xNDQgNDIyLjQgUiBGMSAuMjQzKFwyNTVhIG5vciBcMjU1ciBpcyBzdXBwbGllZCwgdGhlIHNoZWxsJykyLjc0MyBGCi0yLjc0MyhzbiktLjM3IEcgLjI0MyhvdGlvbiBvZiB0aGUpLTIuNzQzIEYgRjIoY3VycikyLjc0MyBFIC4yNDMoZW50IGpvYikKLS0uMzcgRiBGMSAuMjQzKGlzIHVzZWQuKTIuNzQzIEYgLjI0NChJZiB0aGUgXDI1NWggb3B0aW9uKTUuMjQzIEYgLjMzNAotKGlzIGdpKTE0NCA0MzQuNCBSIC0uMSh2ZSktLjEgRyAuMzM0KG4sIGVhY2gpLjEgRiBGMihqb2JzcGVjKTQuNTc0IEUgRjAKLS4zMzQoaXMgbm90IHJlbW8pMy4xNDQgRiAtLjE1KHZlKS0uMTUgRyAyLjgzNChkZikuMTUgRyAuMzM0Ci0ocm9tIHRoZSB0YWJsZSwgYiktMi44MzQgRiAuMzM0KHV0IGlzIG1hcmspLS4yIEYgLjMzNChlZCBzbyB0aGF0KS0uMSBGCi0vRjQgOS9UaW1lcy1Cb2xkQDAgU0YoU0lHSFVQKTIuODM0IEUgRjAgLjMzMyhpcyBub3Qgc2VudCB0bykyLjU4NCBGCi0xLjE4OSh0aGUgam9iIGlmIHRoZSBzaGVsbCByZWNlaSkxNDQgNDQ2LjQgUiAtLjE1KHZlKS0uMjUgRyAzLjY4OShzYSkuMTUKLUcgRjQoU0lHSFVQKUEvRjUgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMCAxLjE4OShJZiBubyk1LjY4OSBGIEYyCi0oam9ic3BlYyk1LjQyOSBFIEYwIDEuMTg5KGlzIHByZXNlbnQsIGFuZCBuZWl0aGVyIHRoZSkzLjk5OSBGIEYxPGFkNjE+Ci0zLjY4OSBFIEYwIDEuMTkobm9yIHRoZSkzLjY5IEYgRjE8YWQ3Mj4zLjY5IEUgRjAgMS41NwotKG9wdGlvbiBpcyBzdXBwbGllZCwgdGhlKTE0NCA0NTguNCBSIEYyKGN1cnIpNC4wNyBFIDEuNTcoZW50IGpvYiktLjM3IEYKLUYwIDEuNTcoaXMgdXNlZC4pNC4wNyBGIDEuNTY5KElmIG5vKTYuNTY5IEYgRjIoam9ic3BlYyk1LjgwOSBFIEYwIDEuNTY5Ci0oaXMgc3VwcGxpZWQsIHRoZSk0LjM3OSBGIEYxPGFkNjE+NC4wNjkgRSBGMCAxLjU2OShvcHRpb24gbWVhbnMgdG8pNC4wNjkKLUYocmVtbykxNDQgNDcwLjQgUSAuOTAzIC0uMTUodmUgbyktLjE1IEggMy4xMDMocm0pLjE1IEcgLjYwMwotKGFyayBhbGwgam9iczsgdGhlKS0zLjEwMyBGIEYxPGFkNzI+My4xMDMgRSBGMCAuNjAzKG9wdGlvbiB3aXRob3V0IGEpCi0zLjEwMyBGIEYyKGpvYnNwZWMpNC44NDMgRSBGMChhcikzLjQxNCBFIC42MDQKLShndW1lbnQgcmVzdHJpY3RzIG9wZXJhdGlvbiB0byBydW5uaW5nKS0uMTggRiAyLjUoam9icy4gVGhlKTE0NCA0ODIuNCBSCi0ocmV0dXJuIHYpMi41IEUoYWx1ZSBpcyAwIHVubGVzcyBhKS0uMjUgRSBGMihqb2JzcGVjKTQuMjQgRSBGMAotKGRvZXMgbm90IHNwZWNpZnkgYSB2KTIuODEgRShhbGlkIGpvYiktLjI1IEUoLiktLjQgRSBGMShlY2hvKTEwOCA0OTkuMiBRCitGIEYyKGpvYnNwZWMpNC41MzUgRSBGMCAuMjk1KGlzIG5vdCBwcmVzZW50LCkzLjEwNSBGIC40MjIoYW5kIG5laXRoZXIpCisxNDQgNTIzLjIgUiBGMTxhZDYxPjIuOTIyIEUgRjAobm9yKTIuOTIyIEUgRjE8YWQ3Mj4yLjkyMiBFIEYwIC40MjIKKyhpcyBzdXBwbGllZCwgdGhlIHNoZWxsJykyLjkyMiBGIDIuOTIyKHNuKS0uNTUgRyAuNDIyKG90aW9uIG9mIHRoZSkKKy0yLjkyMiBGIEYyKGN1cnIpMi45MjMgRSAuNDIzKGVudCBqb2IpLS4zNyBGIEYwIC40MjMoaXMgdXNlZC4pMi45MjMgRgorLjQyMyhJZiB0aGUpNS40MjMgRiBGMTxhZDY4PjIuOTIzIEUgRjAgLjQyMyhvcHRpb24gaXMpMi45MjMgRihnaSkxNDQKKzUzNS4yIFEgLS4xNSh2ZSktLjI1IEcgLjE0MShuLCBlYWNoKS4xNSBGIEYyKGpvYnNwZWMpNC4zODEgRSBGMCAuMTQxCisoaXMgbm90IHJlbW8pMi45NTEgRiAtLjE1KHZlKS0uMTUgRyAyLjY0MShkZikuMTUgRyAuMTQxCisocm9tIHRoZSB0YWJsZSwgYiktMi42NDEgRiAuMTQxKHV0IGlzIG1hcmspLS4yIEYgLjE0MShlZCBzbyB0aGF0KS0uMSBGCisvRjQgOS9UaW1lcy1Cb2xkQDAgU0YoU0lHSFVQKTIuNjQxIEUgRjAgLjE0KGlzIG5vdCBzZW50IHRvIHRoZSkyLjM5IEYKKy4wMDQoam9iIGlmIHRoZSBzaGVsbCByZWNlaSkxNDQgNTQ3LjIgUiAtLjE1KHZlKS0uMjUgRyAyLjUwNChzYSkuMTUgRyBGNAorKFNJR0hVUClBL0Y1IDkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAgLjAwNChJZiBubyk0LjUwNCBGIEYyKGpvYnNwZWMpCis0LjI0NCBFIEYwIC4wMDQoaXMgcHJlc2VudCwgYW5kIG5laXRoZXIgdGhlKTIuODE0IEYgRjE8YWQ2MT4yLjUwNCBFIEYwCisuMDA1KG5vciB0aGUpMi41MDQgRiBGMTxhZDcyPjIuNTA1IEUgRjAgLjAwNShvcHRpb24gaXMpMi41MDUgRiAxLjIyOQorKHN1cHBsaWVkLCB0aGUpMTQ0IDU1OS4yIFIgRjIoY3VycikzLjcyOSBFIDEuMjI5KGVudCBqb2IpLS4zNyBGIEYwIDEuMjI5CisoaXMgdXNlZC4pMy43MjkgRiAxLjIyOShJZiBubyk2LjIyOSBGIEYyKGpvYnNwZWMpNS40NjkgRSBGMCAxLjIyOQorKGlzIHN1cHBsaWVkLCB0aGUpNC4wMzkgRiBGMTxhZDYxPjMuNzI5IEUgRjAgMS4yMjgob3B0aW9uIG1lYW5zIHRvIHJlbW8pCiszLjcyOSBGIDEuNTI4IC0uMTUodmUgbyktLjE1IEgocikuMTUgRSAuNjU2KG1hcmsgYWxsIGpvYnM7IHRoZSkxNDQgNTcxLjIKK1IgRjE8YWQ3Mj4zLjE1NiBFIEYwIC42NTcob3B0aW9uIHdpdGhvdXQgYSkzLjE1NiBGIEYyKGpvYnNwZWMpNC44OTcgRSBGMAorKGFyKTMuNDY3IEUgLjY1NyhndW1lbnQgcmVzdHJpY3RzIG9wZXJhdGlvbiB0byBydW5uaW5nIGpvYnMuKS0uMTggRihUaGUpCis1LjY1NyBFKHJldHVybiB2KTE0NCA1ODMuMiBRKGFsdWUgaXMgMCB1bmxlc3MgYSktLjI1IEUgRjIoam9ic3BlYyk0LjI0IEUKK0YwKGRvZXMgbm90IHNwZWNpZnkgYSB2KTIuODEgRShhbGlkIGpvYiktLjI1IEUoLiktLjQgRSBGMShlY2hvKTEwOCA2MDAgUQogRjAoWykyLjUgRSBGMShcMjU1bmVFKUEgRjAgMi41KF1bKUMgRjIoYXIpLTIuNSBFKGcpLS4zNyBFIEYwKC4uLl0pMi41IEUKLS4zOTUoT3V0cHV0IHRoZSkxNDQgNTExLjIgUiBGMihhcikyLjg5NSBFKGcpLS4zNyBFIEYwIC4zOTUKKy4zOTUoT3V0cHV0IHRoZSkxNDQgNjEyIFIgRjIoYXIpMi44OTUgRShnKS0uMzcgRSBGMCAuMzk1CiAocywgc2VwYXJhdGVkIGJ5IHNwYWNlcywgZm9sbG8pQiAuMzk1KHdlZCBieSBhIG5lKS0uMjUgRiAyLjg5NQogKHdsaW5lLiBUaGUpLS4yNSBGIC4zOTQocmV0dXJuIHN0YXR1cyBpcyBhbCkyLjg5NSBGIC0uMSh3YSktLjEgRyAuMzk0CiAoeXMgMC4pLjEgRihJZik1LjM5NCBFIEYxPGFkNmU+Mi44OTQgRSBGMCAuNTQ4Ci0oaXMgc3BlY2lcMjE0ZWQsIHRoZSB0cmFpbGluZyBuZSkxNDQgNTIzLjIgUiAuNTQ4KHdsaW5lIGlzIHN1cHByZXNzZWQuKQorKGlzIHNwZWNpXDIxNGVkLCB0aGUgdHJhaWxpbmcgbmUpMTQ0IDYyNCBSIC41NDgod2xpbmUgaXMgc3VwcHJlc3NlZC4pCiAtLjI1IEYgLjU0OChJZiB0aGUpNS41NDggRiBGMTxhZDY1PjMuMDQ4IEUgRjAgLjU0OChvcHRpb24gaXMgZ2kpMy4wNDggRgotLS4xNSh2ZSktLjI1IEcgLjU0OChuLCBpbnRlcnByZXRhdGlvbiBvZiB0aGUgZm9sLSkuMTUgRihsbykxNDQgNTM1LjIgUQorLS4xNSh2ZSktLjI1IEcgLjU0OChuLCBpbnRlcnByZXRhdGlvbiBvZiB0aGUgZm9sLSkuMTUgRihsbykxNDQgNjM2IFEKIC4wNTMod2luZyBiYWNrc2xhc2gtZXNjYXBlZCBjaGFyYWN0ZXJzIGlzIGVuYWJsZWQuKS0uMjUgRihUaGUpNS4wNTMgRSBGMQogPGFkNDU+Mi41NTMgRSBGMCAuMDUyKG9wdGlvbiBkaXNhYmxlcyB0aGUgaW50ZXJwcmV0YXRpb24gb2YgdGhlc2UpMi41NTIKLUYgMS41MDIoZXNjYXBlIGNoYXJhY3RlcnMsIGUpMTQ0IDU0Ny4yIFIgLS4xNSh2ZSktLjI1IEcgNC4wMDIobm8pLjE1IEcKK0YgMS41MDIoZXNjYXBlIGNoYXJhY3RlcnMsIGUpMTQ0IDY0OCBSIC0uMTUodmUpLS4yNSBHIDQuMDAyKG5vKS4xNSBHCiA0LjAwMihucyktNC4wMDIgRyAxLjUwMih5c3RlbXMgd2hlcmUgdGhlKS00LjAwMiBGIDQuMDAyKHlhKS0uMTUgRyAxLjUwMgogKHJlIGludGVycHJldGVkIGJ5IGRlZiktNC4wMDIgRiA0LjAwMyhhdWx0LiBUaGUpLS4xIEYgRjEoeHBnX2VjaG8pNC4wMDMKIEUgRjAoc2hlbGwpNC4wMDMgRSAuMDA5Ci0ob3B0aW9uIG1heSBiZSB1c2VkIHRvIGR5bmFtaWNhbGx5IGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCkxNDQgNTU5LjIgUgotRjEoZWNobykyLjUwOSBFIEYwIC0uMTUoZXgpMi41MDkgRyAuMDA5KHBhbmRzIHRoZXNlIGVzY2FwZSBjaGFyYWN0ZXJzKQotLjE1IEYgLjY1OShieSBkZWYpMTQ0IDU3MS4yIFIoYXVsdC4pLS4xIEUgRjEoZWNobyk1LjY1OSBFIEYwIC42NTkKKyhvcHRpb24gbWF5IGJlIHVzZWQgdG8gZHluYW1pY2FsbHkgZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90KTE0NCA2NjAgUiBGMQorKGVjaG8pMi41MDkgRSBGMCAtLjE1KGV4KTIuNTA5IEcgLjAwOShwYW5kcyB0aGVzZSBlc2NhcGUgY2hhcmFjdGVycykuMTUKK0YgLjY1OShieSBkZWYpMTQ0IDY3MiBSKGF1bHQuKS0uMSBFIEYxKGVjaG8pNS42NTkgRSBGMCAuNjU5CiAoZG9lcyBub3QgaW50ZXJwcmV0KTMuMTU5IEYgRjE8YWRhZD4zLjE1OSBFIEYwIC42NTkKICh0byBtZWFuIHRoZSBlbmQgb2Ygb3B0aW9ucy4pMy4xNTkgRiBGMShlY2hvKTUuNjYgRSBGMCAuNjYKLShpbnRlcnByZXRzIHRoZSBmb2xsbykzLjE2IEYod2luZyktLjI1IEUoZXNjYXBlIHNlcXVlbmNlczopMTQ0IDU4My4yIFEKLUYxKFxcYSkxNDQgNTk1LjIgUSBGMChhbGVydCBcKGJlbGxcKSkyOC4yMiBFIEYxKFxcYikxNDQgNjA3LjIgUSBGMAotKGJhY2tzcGFjZSkyNy42NiBFIEYxKFxcYykxNDQgNjE5LjIgUSBGMChzdXBwcmVzcyBmdXJ0aGVyIG91dHB1dCkyOC43OCBFCi1GMShcXGUpMTQ0IDYzMS4yIFEgRjAoYW4gZXNjYXBlIGNoYXJhY3RlcikyOC43OCBFIEYxKFxcZikxNDQgNjQzLjIgUSBGMAotKGZvcm0gZmVlZCkyOS44OSBFIEYxKFxcbikxNDQgNjU1LjIgUSBGMChuZSkyNy42NiBFIDIuNSh3bCktLjI1IEcoaW5lKQotLTIuNSBFIEYxKFxccikxNDQgNjY3LjIgUSBGMChjYXJyaWFnZSByZXR1cm4pMjguNzggRSBGMShcXHQpMTQ0IDY3OS4yIFEKLUYwKGhvcml6b250YWwgdGFiKTI5Ljg5IEUgRjEoXFx2KTE0NCA2OTEuMiBRIEYwIC0uMTUodmUpMjguMjIgRwotKHJ0aWNhbCB0YWIpLjE1IEUgRjEoXFxcXCkxNDQgNzAzLjIgUSBGMChiYWNrc2xhc2gpMzAuNDQgRSBGMShcXDApMTQ0Ci03MTUuMiBRIEYyKG5ubilBIEYwKHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHYpMTMuMjIgRQotKGFsdWUgaXMgdGhlIG9jdGFsIHYpLS4yNSBFKGFsdWUpLS4yNSBFIEYyKG5ubikyLjUgRSBGMAotKFwoemVybyB0byB0aHJlZSBvY3RhbCBkaWdpdHNcKSkyLjUgRShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwNCBBcHIgMjApCi0xNDguNzM1IEUoNikyMDMuNzI1IEUgMCBDZyBFUAorKGludGVycHJldHMgdGhlIGZvbGxvKTMuMTYgRih3aW5nKS0uMjUgRShlc2NhcGUgc2VxdWVuY2VzOikxNDQgNjg0IFEgRjEKKyhcXGEpMTQ0IDY5NiBRIEYwKGFsZXJ0IFwoYmVsbFwpKTI4LjIyIEUgRjEoXFxiKTE0NCA3MDggUSBGMChiYWNrc3BhY2UpCisyNy42NiBFKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA0IEFwciAyMCkxNDguNzM1IEUoNikyMDMuNzI1IEUgMCBDZyBFUAogJSVQYWdlOiA3IDcKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTKFNIX0IpLjM1IEUoVUlMKS0uMSBFIDI5MC40OAogKFRJTlNcKDFcKSBCKS0uOTIgRihBU0hfQiktLjM1IEUoVUlMKS0uMSBFKFRJTlNcKDFcKSktLjkyIEUvRjEgMTAKLS9UaW1lcy1Cb2xkQDAgU0YoXFx4KTE0NCA4NCBRL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGKEhIKUEgRjAKLSh0aGUgZWlnaHQtYml0IGNoYXJhY3RlciB3aG9zZSB2KTEzLjc4IEUoYWx1ZSBpcyB0aGUgaGUpLS4yNSBFCi0oeGFkZWNpbWFsIHYpLS4xNSBFKGFsdWUpLS4yNSBFIEYyKEhIKTIuNSBFIEYwKFwob25lIG9yIHR3KTIuNSBFIDIuNShvaCkKLS0uMSBHIC4zIC0uMTUoZXggZCktMi41IEgoaWdpdHNcKSkuMTUgRSBGMShlbmFibGUpMTA4IDEwMC44IFEgRjAoWykyLjUgRQotRjE8YWQ2MT5BIEYwIDIuNShdWylDIEYxKFwyNTVkbnBzKS0yLjUgRSBGMCAyLjUoXVspQyBGMTxhZDY2Pi0yLjUgRSBGMgotKFwyMTRsZW5hbWUpMi41IEUgRjAgMi41KF1bKUMgRjIobmFtZSktMi41IEUgRjAoLi4uXSkyLjUgRSAuMjc4Ci0oRW5hYmxlIGFuZCBkaXNhYmxlIGIpMTQ0IDExMi44IFIgLjI3OCh1aWx0aW4gc2hlbGwgY29tbWFuZHMuKS0uMiBGIC4yNzgKLShEaXNhYmxpbmcgYSBiKTUuMjc4IEYgLjI3OCh1aWx0aW4gYWxsbyktLjIgRiAuMjc4Ci0od3MgYSBkaXNrIGNvbW1hbmQgd2hpY2ggaGFzKS0uMjUgRiAuODMzKHRoZSBzYW1lIG5hbWUgYXMgYSBzaGVsbCBiKTE0NAotMTI0LjggUiAuODM0KHVpbHRpbiB0byBiZSBlKS0uMiBGIC0uMTUoeGUpLS4xNSBHIC44MzQKLShjdXRlZCB3aXRob3V0IHNwZWNpZnlpbmcgYSBmdWxsIHBhdGhuYW1lLCBlKS4xNSBGIC0uMTUodmUpLS4yNSBHIDMuMzM0Ci0obnQpLjE1IEcoaG91Z2gpLTMuMzM0IEUgLjk5KHRoZSBzaGVsbCBub3JtYWxseSBzZWFyY2hlcyBmb3IgYikxNDQgMTM2LjgKLVIgLjk4OSh1aWx0aW5zIGJlZm9yZSBkaXNrIGNvbW1hbmRzLiktLjIgRihJZik1Ljk4OSBFIEYxPGFkNmU+My40ODkgRSBGMAotLjk4OShpcyB1c2VkLCBlYWNoKTMuNDg5IEYgRjIobmFtZSkzLjQ4OSBFIEYwIC45ODkoaXMgZGlzLSkzLjQ4OSBGIDEuNTgxCi0oYWJsZWQ7IG90aGVyd2lzZSwpMTQ0IDE0OC44IFIgRjIobmFtZXMpNC4wODIgRSBGMCAxLjU4MihhcmUgZW5hYmxlZC4pCisvVGltZXMtQm9sZEAwIFNGKFxcYykxNDQgODQgUSBGMChzdXBwcmVzcyBmdXJ0aGVyIG91dHB1dCkyOC43OCBFIEYxKFxcZSkKKzE0NCA5NiBRIEYwKGFuIGVzY2FwZSBjaGFyYWN0ZXIpMjguNzggRSBGMShcXGYpMTQ0IDEwOCBRIEYwKGZvcm0gZmVlZCkKKzI5Ljg5IEUgRjEoXFxuKTE0NCAxMjAgUSBGMChuZSkyNy42NiBFIDIuNSh3bCktLjI1IEcoaW5lKS0yLjUgRSBGMShcXHIpCisxNDQgMTMyIFEgRjAoY2FycmlhZ2UgcmV0dXJuKTI4Ljc4IEUgRjEoXFx0KTE0NCAxNDQgUSBGMChob3Jpem9udGFsIHRhYikKKzI5Ljg5IEUgRjEoXFx2KTE0NCAxNTYgUSBGMCAtLjE1KHZlKTI4LjIyIEcocnRpY2FsIHRhYikuMTUgRSBGMShcXFxcKTE0NAorMTY4IFEgRjAoYmFja3NsYXNoKTMwLjQ0IEUgRjEoXFwwKTE0NCAxODAgUS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihubm4pCitBIEYwKHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHYpMTMuMjIgRShhbHVlIGlzIHRoZSBvY3RhbCB2KS0uMjUgRQorKGFsdWUpLS4yNSBFIEYyKG5ubikyLjUgRSBGMChcKHplcm8gdG8gdGhyZWUgb2N0YWwgZGlnaXRzXCkpMi41IEUgRjEKKyhcXHgpMTQ0IDE5MiBRIEYyKEhIKUEgRjAodGhlIGVpZ2h0LWJpdCBjaGFyYWN0ZXIgd2hvc2UgdikxMy43OCBFCisoYWx1ZSBpcyB0aGUgaGUpLS4yNSBFKHhhZGVjaW1hbCB2KS0uMTUgRShhbHVlKS0uMjUgRSBGMihISCkyLjUgRSBGMAorKFwob25lIG9yIHR3KTIuNSBFIDIuNShvaCktLjEgRyAuMyAtLjE1KGV4IGQpLTIuNSBIKGlnaXRzXCkpLjE1IEUgRjEKKyhlbmFibGUpMTA4IDIwOC44IFEgRjAoWykyLjUgRSBGMTxhZDYxPkEgRjAgMi41KF1bKUMgRjEoXDI1NWRucHMpLTIuNSBFCitGMCAyLjUoXVspQyBGMTxhZDY2Pi0yLjUgRSBGMihcMjE0bGVuYW1lKTIuNSBFIEYwIDIuNShdWylDIEYyKG5hbWUpLTIuNQorRSBGMCguLi5dKTIuNSBFIC4yNzgoRW5hYmxlIGFuZCBkaXNhYmxlIGIpMTQ0IDIyMC44IFIgLjI3OAorKHVpbHRpbiBzaGVsbCBjb21tYW5kcy4pLS4yIEYgLjI3OChEaXNhYmxpbmcgYSBiKTUuMjc4IEYgLjI3OAorKHVpbHRpbiBhbGxvKS0uMiBGIC4yNzgod3MgYSBkaXNrIGNvbW1hbmQgd2hpY2ggaGFzKS0uMjUgRiAuODMzCisodGhlIHNhbWUgbmFtZSBhcyBhIHNoZWxsIGIpMTQ0IDIzMi44IFIgLjgzNCh1aWx0aW4gdG8gYmUgZSktLjIgRiAtLjE1CisoeGUpLS4xNSBHIC44MzQoY3V0ZWQgd2l0aG91dCBzcGVjaWZ5aW5nIGEgZnVsbCBwYXRobmFtZSwgZSkuMTUgRiAtLjE1CisodmUpLS4yNSBHIDMuMzM0KG50KS4xNSBHKGhvdWdoKS0zLjMzNCBFIC45OQorKHRoZSBzaGVsbCBub3JtYWxseSBzZWFyY2hlcyBmb3IgYikxNDQgMjQ0LjggUiAuOTg5CisodWlsdGlucyBiZWZvcmUgZGlzayBjb21tYW5kcy4pLS4yIEYoSWYpNS45ODkgRSBGMTxhZDZlPjMuNDg5IEUgRjAgLjk4OQorKGlzIHVzZWQsIGVhY2gpMy40ODkgRiBGMihuYW1lKTMuNDg5IEUgRjAgLjk4OShpcyBkaXMtKTMuNDg5IEYgMS41ODEKKyhhYmxlZDsgb3RoZXJ3aXNlLCkxNDQgMjU2LjggUiBGMihuYW1lcyk0LjA4MiBFIEYwIDEuNTgyKGFyZSBlbmFibGVkLikKIDQuMDgyIEYgLS4xNShGbyk2LjU4MiBHIDQuMDgyKHJlKS4xNSBHIDEuNTgyKHhhbXBsZSwgdG8gdXNlIHRoZSktNC4yMzIgRgogRjEodGVzdCk0LjA4MiBFIEYwIDEuNTgyKGJpbmFyeSBmb3VuZCB2aWEgdGhlKTQuMDgyIEYvRjMgOS9UaW1lcy1Cb2xkQDAKLVNGIC0uNjY2KFBBKTQuMDgyIEcoVEgpLS4xODkgRSBGMCAuMDgxKGluc3RlYWQgb2YgdGhlIHNoZWxsIGIpMTQ0IDE2MC44CitTRiAtLjY2NihQQSk0LjA4MiBHKFRIKS0uMTg5IEUgRjAgLjA4MShpbnN0ZWFkIG9mIHRoZSBzaGVsbCBiKTE0NCAyNjguOAogUiAuMDgxKHVpbHRpbiB2KS0uMiBGIC4wODEoZXJzaW9uLCBydW4pLS4xNSBGL0Y0IDEwL0NvdXJpZXJAMCBTRiAuMDgxCiAoZW5hYmxlIC1uIHRlc3QpMi41ODEgRiBGMCA1LjA4MSguVClDKGhlKS01LjA4MSBFIEYxPGFkNjY+Mi41OCBFIEYwIC4wOAotKG9wdGlvbiBtZWFucyB0byBsb2FkIHRoZSBuZSkyLjU4IEYodyktLjI1IEUgLS4yKGJ1KTE0NCAxNzIuOCBTIDEuNTI0Cisob3B0aW9uIG1lYW5zIHRvIGxvYWQgdGhlIG5lKTIuNTggRih3KS0uMjUgRSAtLjIoYnUpMTQ0IDI4MC44IFMgMS41MjQKIChpbHRpbiBjb21tYW5kKS4yIEYgRjIobmFtZSk0LjM4NCBFIEYwIDEuNTI0KGZyb20gc2hhcmVkIG9iamVjdCk0LjIwNCBGCiBGMihcMjE0bGVuYW1lKTQuMDI0IEUgRjAgNC4wMjQoLG8pLjE4IEcgNC4wMjQobnMpLTQuMDI0IEcgMS41MjQKLSh5c3RlbXMgdGhhdCBzdXBwb3J0IGR5bmFtaWMgbG9hZGluZy4pLTQuMDI0IEYoVGhlKTE0NCAxODQuOCBRIEYxPGFkNjQ+CisoeXN0ZW1zIHRoYXQgc3VwcG9ydCBkeW5hbWljIGxvYWRpbmcuKS00LjAyNCBGKFRoZSkxNDQgMjkyLjggUSBGMTxhZDY0PgogMi44NjcgRSBGMCAuMzY3KG9wdGlvbiB3aWxsIGRlbGV0ZSBhIGIpMi44NjcgRiAuMzY3KHVpbHRpbiBwcmUpLS4yIEYKIC4zNjcodmlvdXNseSBsb2FkZWQgd2l0aCktLjI1IEYgRjE8YWQ2Nj4yLjg2NiBFIEYwIDUuMzY2KC5JKUMgMi44NjYoZm4pCiAtNS4zNjYgRyhvKS0yLjg2NiBFIEYyKG5hbWUpMi44NjYgRSBGMChhcikyLjg2NiBFIC4zNjYoZ3VtZW50cyBhcmUgZ2kpCi0tLjE4IEYgLS4xNSh2ZSktLjI1IEcgLjM2NihuLCBvcikuMTUgRiAuMzk4KGlmIHRoZSkxNDQgMTk2LjggUiBGMTxhZDcwPgorLS4xOCBGIC0uMTUodmUpLS4yNSBHIC4zNjYobiwgb3IpLjE1IEYgLjM5OChpZiB0aGUpMTQ0IDMwNC44IFIgRjE8YWQ3MD4KIDIuODk4IEUgRjAgLjM5OShvcHRpb24gaXMgc3VwcGxpZWQsIGEgbGlzdCBvZiBzaGVsbCBiKTIuODk5IEYgLjM5OQogKHVpbHRpbnMgaXMgcHJpbnRlZC4pLS4yIEYgLS40KFdpKTUuMzk5IEcgLjM5OSh0aCBubyBvdGhlciBvcHRpb24gYXIpLjQKIEYgLjM5OShndW1lbnRzLCB0aGUpLS4xOCBGIC4wOTkobGlzdCBjb25zaXN0cyBvZiBhbGwgZW5hYmxlZCBzaGVsbCBiKTE0NAotMjA4LjggUiAyLjU5OCh1aWx0aW5zLiBJZiktLjIgRiBGMTxhZDZlPjIuNTk4IEUgRjAgLjA5OAorMzE2LjggUiAyLjU5OCh1aWx0aW5zLiBJZiktLjIgRiBGMTxhZDZlPjIuNTk4IEUgRjAgLjA5OAogKGlzIHN1cHBsaWVkLCBvbmx5IGRpc2FibGVkIGIpMi41OTggRiAuMDk4KHVpbHRpbnMgYXJlIHByaW50ZWQuKS0uMiBGCiAoSWYpNS4wOTggRSBGMTxhZDYxPjIuNTk4IEUgRjAgMS45MTYKLShpcyBzdXBwbGllZCwgdGhlIGxpc3QgcHJpbnRlZCBpbmNsdWRlcyBhbGwgYikxNDQgMjIwLjggUiAxLjkxNgorKGlzIHN1cHBsaWVkLCB0aGUgbGlzdCBwcmludGVkIGluY2x1ZGVzIGFsbCBiKTE0NCAzMjguOCBSIDEuOTE2CiAodWlsdGlucywgd2l0aCBhbiBpbmRpY2F0aW9uIG9mIHdoZXRoZXIgb3Igbm90IGVhY2ggaXMpLS4yIEYgMi44NzkKLShlbmFibGVkLiBJZikxNDQgMjMyLjggUiBGMTxhZDczPjIuODc5IEUgRjAgLjM3OQorKGVuYWJsZWQuIElmKTE0NCAzNDAuOCBSIEYxPGFkNzM+Mi44NzkgRSBGMCAuMzc5CiAoaXMgc3VwcGxpZWQsIHRoZSBvdXRwdXQgaXMgcmVzdHJpY3RlZCB0byB0aGUgUE9TSVgpMi44NzkgRiBGMihzcGVjaWFsKQogMi44NzkgRSBGMCAtLjIoYnUpMi44NzggRyAyLjg3OChpbHRpbnMuIFRoZSkuMiBGIC4zNzgocmV0dXJuIHYpMi44NzggRgotKGFsdWUpLS4yNSBFIC45OTQoaXMgMCB1bmxlc3MgYSkxNDQgMjQ0LjggUiBGMihuYW1lKTMuODU0IEUgRjAgLjk5NAorKGFsdWUpLS4yNSBFIC45OTQoaXMgMCB1bmxlc3MgYSkxNDQgMzUyLjggUiBGMihuYW1lKTMuODU0IEUgRjAgLjk5NAogKGlzIG5vdCBhIHNoZWxsIGIpMy42NzQgRiAuOTk0KHVpbHRpbiBvciB0aGVyZSBpcyBhbiBlcnJvciBsb2FkaW5nIGEgbmUpCiAtLjIgRiAzLjQ5NSh3YiktLjI1IEcgLjk5NSh1aWx0aW4gZnJvbSBhIHNoYXJlZCktMy42OTUgRihvYmplY3QuKTE0NAotMjU2LjggUSBGMSAtMi4zIC0uMTUoZXYgYSkxMDggMjczLjYgVChsKS4xNSBFIEYwKFspMi41IEUgRjIoYXIpQShnKS0uMzcKLUUgRjAoLi4uXSkyLjUgRShUaGUpMTQ0IDI4NS42IFEgRjIoYXIpMy4xNzEgRShnKS0uMzcgRSBGMCAzLjE3MShzYSlDCiszNjQuOCBRIEYxIC0yLjMgLS4xNShldiBhKTEwOCAzODEuNiBUKGwpLjE1IEUgRjAoWykyLjUgRSBGMihhcilBKGcpLS4zNworRSBGMCguLi5dKTIuNSBFKFRoZSkxNDQgMzkzLjYgUSBGMihhcikzLjE3MSBFKGcpLS4zNyBFIEYwIDMuMTcxKHNhKUMKIC42NzEocmUgcmVhZCBhbmQgY29uY2F0ZW5hdGVkIHRvZ2V0aGVyIGludG8gYSBzaW5nbGUgY29tbWFuZC4pLTMuMTcxIEYKLS42NyhUaGlzIGNvbW1hbmQgaXMgdGhlbiByZWFkKTUuNjcgRiAuNDk1KGFuZCBlKTE0NCAyOTcuNiBSIC0uMTUoeGUpLS4xNQorLjY3KFRoaXMgY29tbWFuZCBpcyB0aGVuIHJlYWQpNS42NyBGIC40OTUoYW5kIGUpMTQ0IDQwNS42IFIgLS4xNSh4ZSktLjE1CiBHIC40OTUoY3V0ZWQgYnkgdGhlIHNoZWxsLCBhbmQgaXRzIGUpLjE1IEYgLjQ5NQogKHhpdCBzdGF0dXMgaXMgcmV0dXJuZWQgYXMgdGhlIHYpLS4xNSBGIC40OTUoYWx1ZSBvZiktLjI1IEYgRjEgLTIuMyAtLjE1CiAoZXYgYSkyLjk5NSBIKGwpLjE1IEUgRjAgNS40OTUoLkkpQyAyLjk5NShmdCktNS40OTUgRyAuNDk1KGhlcmUgYXJlIG5vKQotLTIuOTk1IEYgRjIoYXIpMi45OTUgRShncyktLjM3IEUgRjAoLCkuMjcgRShvciBvbmx5IG51bGwgYXIpMTQ0IDMwOS42IFEKKy0yLjk5NSBGIEYyKGFyKTIuOTk1IEUoZ3MpLS4zNyBFIEYwKCwpLjI3IEUob3Igb25seSBudWxsIGFyKTE0NCA0MTcuNiBRCiAoZ3VtZW50cywpLS4xOCBFIEYxIC0yLjMgLS4xNShldiBhKTIuNSBIKGwpLjE1IEUgRjAocmV0dXJucyAwLikyLjUgRSBGMQotKGV4ZWMpMTA4IDMyNi40IFEgRjAoWykyLjUgRSBGMShcMjU1Y2wpQSBGMCAyLjUoXVspQyBGMTxhZDYxPi0yLjUgRSBGMgorKGV4ZWMpMTA4IDQzNC40IFEgRjAoWykyLjUgRSBGMShcMjU1Y2wpQSBGMCAyLjUoXVspQyBGMTxhZDYxPi0yLjUgRSBGMgogKG5hbWUpMi41IEUgRjAgMi41KF1bKUMgRjIoY29tbWFuZCktMi41IEUgRjAoWykyLjUgRSBGMihhcilBKGd1bWVudHMpCi0tLjM3IEUgRjAoXV0pQShJZikxNDQgMzM4LjQgUSBGMihjb21tYW5kKTMuMDA2IEUgRjAgLjMwNgorLS4zNyBFIEYwKF1dKUEoSWYpMTQ0IDQ0Ni40IFEgRjIoY29tbWFuZCkzLjAwNiBFIEYwIC4zMDYKIChpcyBzcGVjaVwyMTRlZCwgaXQgcmVwbGFjZXMgdGhlIHNoZWxsLikzLjU3NiBGIC4zMDUoTm8gbmUpNS4zMDUgRiAyLjgwNQogKHdwKS0uMjUgRyAuMzA1KHJvY2VzcyBpcyBjcmVhdGVkLiktMi44MDUgRihUaGUpNS4zMDUgRSBGMihhcikzLjEzNSBFCi0oZ3VtZW50cyktLjM3IEUgRjAoYmVjb21lKTMuMDc1IEUgLjE3Nih0aGUgYXIpMTQ0IDM1MC40IFIgLjE3NgorKGd1bWVudHMpLS4zNyBFIEYwKGJlY29tZSkzLjA3NSBFIC4xNzYodGhlIGFyKTE0NCA0NTguNCBSIC4xNzYKIChndW1lbnRzIHRvKS0uMTggRiBGMihjb21tYW5kKTIuNjc2IEUgRjAgNS4xNzYoLkkpQyAyLjY3NihmdCktNS4xNzYgRwogKGhlKS0yLjY3NiBFIEYxPGFkNmM+Mi42NzYgRSBGMCAuMTc2CiAob3B0aW9uIGlzIHN1cHBsaWVkLCB0aGUgc2hlbGwgcGxhY2VzIGEgZGFzaCBhdCB0aGUgYmUpMi42NzYgRiAuMTc3Ci0oZ2lubmluZyBvZiktLjE1IEYgLjUodGhlIHplcm90aCBhcikxNDQgMzYyLjQgUiAuNShndW1lbnQgcGFzc2VkIHRvKS0uMTgKKyhnaW5uaW5nIG9mKS0uMTUgRiAuNSh0aGUgemVyb3RoIGFyKTE0NCA0NzAuNCBSIC41KGd1bWVudCBwYXNzZWQgdG8pLS4xOAogRiBGMihjb21tYW5kKTMgRSBGMCA1LjQ5OSguVCkuNzcgRyAuNDk5KGhpcyBpcyB3aGF0KS01LjQ5OSBGIEYyKGxvKTIuOTk5CiBFKGdpbiktLjEgRSBGMCAuNDk5KFwoMVwpIGRvZXMuKS4yNCBGKFRoZSk1LjQ5OSBFIEYxPGFkNjM+Mi45OTkgRSBGMAotLjQ5OShvcHRpb24gY2F1c2VzKTIuOTk5IEYgRjIoY29tLSkzLjE5OSBFKG1hbmQpMTQ0IDM3NC40IFEgRjAgLjYzOAorLjQ5OShvcHRpb24gY2F1c2VzKTIuOTk5IEYgRjIoY29tLSkzLjE5OSBFKG1hbmQpMTQ0IDQ4Mi40IFEgRjAgLjYzOAogKHRvIGJlIGUpMy45MDggRiAtLjE1KHhlKS0uMTUgRyAuNjM4KGN1dGVkIHdpdGggYW4gZW1wdHkgZW4pLjE1IEYgMy4xMzgKICh2aXJvbm1lbnQuIElmKS0uNCBGIEYxPGFkNjE+My4xMzggRSBGMCAuNjM4CiAoaXMgc3VwcGxpZWQsIHRoZSBzaGVsbCBwYXNzZXMpMy4xMzggRiBGMihuYW1lKTMuNDk5IEUgRjAgLjYzOShhcyB0aGUpCi0zLjMxOSBGIDEuMDc4KHplcm90aCBhcikxNDQgMzg2LjQgUiAxLjA3NyhndW1lbnQgdG8gdGhlIGUpLS4xOCBGIC0uMTUKKzMuMzE5IEYgMS4wNzgoemVyb3RoIGFyKTE0NCA0OTQuNCBSIDEuMDc3KGd1bWVudCB0byB0aGUgZSktLjE4IEYgLS4xNQogKHhlKS0uMTUgRyAxLjA3NyhjdXRlZCBjb21tYW5kLikuMTUgRihJZik2LjA3NyBFIEYyKGNvbW1hbmQpMy43NzcgRSBGMAogMS4wNzcoY2Fubm90IGJlIGUpNC4zNDcgRiAtLjE1KHhlKS0uMTUgRyAxLjA3NyhjdXRlZCBmb3Igc29tZSByZWFzb24sIGEpCi0uMTUgRihub24taW50ZXJhY3RpKTE0NCAzOTguNCBRIC42MTcgLS4xNSh2ZSBzKS0uMjUgSCAuMzE3KGhlbGwgZSkuMTUgRgorLjE1IEYobm9uLWludGVyYWN0aSkxNDQgNTA2LjQgUSAuNjE3IC0uMTUodmUgcyktLjI1IEggLjMxNyhoZWxsIGUpLjE1IEYKIC4zMTcoeGl0cywgdW5sZXNzIHRoZSBzaGVsbCBvcHRpb24pLS4xNSBGIEYxKGV4ZWNmYWlsKTIuODE3IEUgRjAgLjMxOAogKGlzIGVuYWJsZWQsIGluIHdoaWNoIGNhc2UgaXQgcmV0dXJucyBmKTIuODE3IEYoYWlsLSktLjEgRSAyLjUwNQotKHVyZS4gQW4pMTQ0IDQxMC40IFIoaW50ZXJhY3RpKTIuNTA1IEUgLjMwNSAtLjE1KHZlIHMpLS4yNSBIIC4wMDUKKyh1cmUuIEFuKTE0NCA1MTguNCBSKGludGVyYWN0aSkyLjUwNSBFIC4zMDUgLS4xNSh2ZSBzKS0uMjUgSCAuMDA1CiAoaGVsbCByZXR1cm5zIGYpLjE1IEYgLjAwNShhaWx1cmUgaWYgdGhlIFwyMTRsZSBjYW5ub3QgYmUgZSktLjEgRiAtLjE1CiAoeGUpLS4xNSBHIDIuNTA1KGN1dGVkLiBJZikuMTUgRiBGMihjb21tYW5kKTIuNzA1IEUgRjAgLjAwNQotKGlzIG5vdCBzcGVjaVwyMTRlZCwpMy4yNzUgRihhbikxNDQgNDIyLjQgUSAzLjAzNih5ciktLjE1IEcgLjUzNgorKGlzIG5vdCBzcGVjaVwyMTRlZCwpMy4yNzUgRihhbikxNDQgNTMwLjQgUSAzLjAzNih5ciktLjE1IEcgLjUzNgogKGVkaXJlY3Rpb25zIHRhayktMy4wMzYgRiAzLjAzNihlZSktLjEgRyAtLjI1KGZmKS0zLjAzNiBHIC41MzYKIChlY3QgaW4gdGhlIGN1cnJlbnQgc2hlbGwsIGFuZCB0aGUgcmV0dXJuIHN0YXR1cyBpcyAwLikuMjUgRiAuNTM2Ci0oSWYgdGhlcmUgaXMgYSByZWRpcmVjdGlvbik1LjUzNiBGKGVycm9yKTE0NCA0MzQuNCBRIDIuNSgsdCktLjQgRwotKGhlIHJldHVybiBzdGF0dXMgaXMgMS4pLTIuNSBFIEYxKGV4aXQpMTA4IDQ1MS4yIFEgRjAoWykyLjUgRSBGMihuKUEgRjAKKyhJZiB0aGVyZSBpcyBhIHJlZGlyZWN0aW9uKTUuNTM2IEYoZXJyb3IpMTQ0IDU0Mi40IFEgMi41KCx0KS0uNCBHCisoaGUgcmV0dXJuIHN0YXR1cyBpcyAxLiktMi41IEUgRjEoZXhpdCkxMDggNTU5LjIgUSBGMChbKTIuNSBFIEYyKG4pQSBGMAogNi4yOShdQylDIC4wOTYoYXVzZSB0aGUgc2hlbGwgdG8gZSktNi4yOSBGIC4wOTYoeGl0IHdpdGggYSBzdGF0dXMgb2YpCiAtLjE1IEYgRjIobikyLjU5NiBFIEYwIDUuMDk2KC5JKUMoZiktNS4wOTYgRSBGMihuKTIuOTU1IEUgRjAgLjA5NQogKGlzIG9taXR0ZWQsIHRoZSBlKTIuODM1IEYgLjA5NSh4aXQgc3RhdHVzIGlzIHRoYXQgb2YgdGhlIGxhc3QgY29tbWFuZCkKLS0uMTUgRiAtLjE1KGV4ZSkxNDQgNDYzLjIgUyAyLjUoY3V0ZWQuIEEpLjE1IEYodHJhcCBvbikyLjUgRSBGMyhFWElUKTIuNQorLS4xNSBGIC0uMTUoZXhlKTE0NCA1NzEuMiBTIDIuNShjdXRlZC4gQSkuMTUgRih0cmFwIG9uKTIuNSBFIEYzKEVYSVQpMi41CiBFIEYwKGlzIGUpMi4yNSBFIC0uMTUoeGUpLS4xNSBHKGN1dGVkIGJlZm9yZSB0aGUgc2hlbGwgdGVybWluYXRlcy4pLjE1IEUKLUYxKGV4cG9ydCkxMDggNDgwIFEgRjAoWykyLjUgRSBGMShcMjU1Zm4pQSBGMCAyLjUoXVspLjgzMyBHIEYyKG5hbWUpLTIuNQotRSBGMChbPSlBIEYyKHdvcilBKGQpLS4zNyBFIEYwKF1dIC4uLilBIEYxKGV4cG9ydCBcMjU1cCkxMDggNDkyIFEgRjAKLS4yNTYoVGhlIHN1cHBsaWVkKTE0NCA1MDQgUiBGMihuYW1lcykzLjExNyBFIEYwIC4yNTcoYXJlIG1hcmspMy4wMjcgRgorRjEoZXhwb3J0KTEwOCA1ODggUSBGMChbKTIuNSBFIEYxKFwyNTVmbilBIEYwIDIuNShdWykuODMzIEcgRjIobmFtZSktMi41CitFIEYwKFs9KUEgRjIod29yKUEoZCktLjM3IEUgRjAoXV0gLi4uKUEgRjEoZXhwb3J0IFwyNTVwKTEwOCA2MDAgUSBGMAorLjI1NihUaGUgc3VwcGxpZWQpMTQ0IDYxMiBSIEYyKG5hbWVzKTMuMTE3IEUgRjAgLjI1NyhhcmUgbWFyaykzLjAyNyBGCiAuMjU3KGVkIGZvciBhdXRvbWF0aWMgZSktLjEgRiAuMjU3KHhwb3J0IHRvIHRoZSBlbiktLjE1IEYgLjI1NwogKHZpcm9ubWVudCBvZiBzdWJzZXF1ZW50bHkgZSktLjQgRiAtLjE1KHhlKS0uMTUgRyhjdXRlZCkuMTUgRSAyLjYyNwotKGNvbW1hbmRzLiBJZikxNDQgNTE2IFIodGhlKTIuNjI3IEUgRjE8YWQ2Nj4yLjYyNyBFIEYwIC4xMjcKKyhjb21tYW5kcy4gSWYpMTQ0IDYyNCBSKHRoZSkyLjYyNyBFIEYxPGFkNjY+Mi42MjcgRSBGMCAuMTI3CiAob3B0aW9uIGlzIGdpKTIuNjI3IEYgLS4xNSh2ZSktLjI1IEcgLjEyNyhuLCB0aGUpLjE1IEYgRjIobmFtZXMpMi45ODcgRQogRjAgLjEyNyhyZWZlciB0byBmdW5jdGlvbnMuKTIuODk3IEYgLjEyNyhJZiBubyk1LjEyNyBGIEYyKG5hbWVzKTIuOTg3IEUKIEYwIC4xMjcoYXJlIGdpKTIuODk3IEYgLS4xNSh2ZSktLjI1IEcgLjEyNihuLCBvciBpZiB0aGUpLjE1IEYgRjE8YWQ3MD4KLTE0NCA1MjggUSBGMCAuNjU5KG9wdGlvbiBpcyBzdXBwbGllZCwgYSBsaXN0IG9mIGFsbCBuYW1lcyB0aGF0IGFyZSBlKQorMTQ0IDYzNiBRIEYwIC42NTkob3B0aW9uIGlzIHN1cHBsaWVkLCBhIGxpc3Qgb2YgYWxsIG5hbWVzIHRoYXQgYXJlIGUpCiAzLjE1OSBGIC42Nih4cG9ydGVkIGluIHRoaXMgc2hlbGwgaXMgcHJpbnRlZC4pLS4xNSBGKFRoZSk1LjY2IEUgRjE8YWQ2ZT4KLTMuMTYgRSBGMChvcHRpb24pMy4xNiBFIDEuNTg3KGNhdXNlcyB0aGUgZSkxNDQgNTQwIFIgMS41ODcKKzMuMTYgRSBGMChvcHRpb24pMy4xNiBFIDEuNTg3KGNhdXNlcyB0aGUgZSkxNDQgNjQ4IFIgMS41ODcKICh4cG9ydCBwcm9wZXJ0eSB0byBiZSByZW1vKS0uMTUgRiAtLjE1KHZlKS0uMTUgRyA0LjA4NihkZikuMTUgRyAxLjU4NgogKHJvbSBlYWNoKS00LjA4NiBGIEYyKG5hbWUpNC4wODYgRSBGMCA2LjU4NiguSSlDIDQuMDg2KGZhdiktNi41ODYgRwotMS41ODYoYXJpYWJsZSBuYW1lIGlzIGZvbGxvKS00LjMzNiBGIDEuNTg2KHdlZCBieSktLjI1IEYoPSkxNDQgNTUyIFEgRjIKKzEuNTg2KGFyaWFibGUgbmFtZSBpcyBmb2xsbyktNC4zMzYgRiAxLjU4Nih3ZWQgYnkpLS4yNSBGKD0pMTQ0IDY2MCBRIEYyCiAod29yKUEoZCktLjM3IEUgRjAgMi44MDMoLHQpQyAuMzAzKGhlIHYpLTIuODAzIEYgLjMwMyhhbHVlIG9mIHRoZSB2KS0uMjUKIEYgLjMwNChhcmlhYmxlIGlzIHNldCB0byktLjI1IEYgRjIod29yKTIuODA0IEUoZCktLjM3IEUgRjAoLilBIEYxCiAoZXhwb3J0KTUuMzA0IEUgRjAgLjMwNChyZXR1cm5zIGFuIGUpMi44MDQgRiAuMzA0CiAoeGl0IHN0YXR1cyBvZiAwIHVubGVzcyBhbiBpbiktLjE1IEYgLS4yNSh2YSktLjQgRyhsaWQpLjI1IEUgLjI5NAotKG9wdGlvbiBpcyBlbmNvdW50ZXJlZCwgb25lIG9mIHRoZSkxNDQgNTY0IFIgRjIobmFtZXMpMi43OTMgRSBGMCAuMjkzCisob3B0aW9uIGlzIGVuY291bnRlcmVkLCBvbmUgb2YgdGhlKTE0NCA2NzIgUiBGMihuYW1lcykyLjc5MyBFIEYwIC4yOTMKIChpcyBub3QgYSB2KTIuNzkzIEYgLjI5MyhhbGlkIHNoZWxsIHYpLS4yNSBGIC4yOTMoYXJpYWJsZSBuYW1lLCBvciktLjI1Ci1GIEYxPGFkNjY+Mi43OTMgRSBGMCAuMjkzKGlzIHN1cHBsaWVkIHdpdGggYSkyLjc5MyBGIEYyKG5hbWUpMTQ0LjM2IDU3NgotUSBGMCh0aGF0IGlzIG5vdCBhIGZ1bmN0aW9uLikyLjY4IEUgRjEoZmMpMTA4IDU5Mi44IFEgRjAoWykyLjUgRSBGMQorRiBGMTxhZDY2PjIuNzkzIEUgRjAgLjI5MyhpcyBzdXBwbGllZCB3aXRoIGEpMi43OTMgRiBGMihuYW1lKTE0NC4zNiA2ODQKK1EgRjAodGhhdCBpcyBub3QgYSBmdW5jdGlvbi4pMi42OCBFIEYxKGZjKTEwOCA3MDAuOCBRIEYwKFspMi41IEUgRjEKIDxhZDY1PkEgRjIoZW5hbWUpMi41IEUgRjAgMi41KF1bKUMgRjEoXDI1NWxuciktMi41IEUgRjAgMi41KF1bKUMgRjIKLTw4YzcyPi0yLjUgRShzdCktLjEgRSBGMCAyLjUoXVspQyBGMihsYXN0KS0yLjUgRSBGMChdKUEgRjEoZmMgXDI1NXMpMTA4Ci02MDQuOCBRIEYwKFspMi41IEUgRjIocGF0KUEgRjAoPSlBIEYyIC0uMzcocmUpQyhwKS4zNyBFIEYwIDIuNShdWylDIEYyCi0oY21kKS0yLjUgRSBGMChdKUEgLjQ3NyhGaXggQ29tbWFuZC4pMTQ0IDYxNi44IFIgLjQ3OAotKEluIHRoZSBcMjE0cnN0IGZvcm0sIGEgcmFuZ2Ugb2YgY29tbWFuZHMgZnJvbSk1LjQ3NyBGIEYyPDhjNzI+NC44ODggRQotKHN0KS0uMSBFIEYwKHRvKTMuNjU4IEUgRjIobGFzdCkzLjA2OCBFIEYwIC40NzgKLShpcyBzZWxlY3RlZCBmcm9tIHRoZSBoaXMtKTMuNjU4IEYgLjg4Mih0b3J5IGxpc3QuKTE0NCA2MjguOCBSIEYyIC0uNDUKLShGaSk1Ljg4MiBHIC0uMShycykuNDUgRyh0KS4xIEUgRjAoYW5kKTQuMDYyIEUgRjIobGFzdCkzLjQ3MiBFIEYwIC44ODIKLShtYXkgYmUgc3BlY2lcMjE0ZWQgYXMgYSBzdHJpbmcgXCh0byBsb2NhdGUgdGhlIGxhc3QgY29tbWFuZCBiZSk0LjA2MiBGCi0uODgxKGdpbm5pbmcgd2l0aCktLjE1IEYgLjc5Nyh0aGF0IHN0cmluZ1wpIG9yIGFzIGEgbnVtYmVyIFwoYW4gaW5kZSkxNDQKLTY0MC44IFIgMy4yOTcoeGkpLS4xNSBHIC43OTcobnRvIHRoZSBoaXN0b3J5IGxpc3QsIHdoZXJlIGEgbmUpLTMuMjk3IEYKLS0uMDUoZ2EpLS4xNSBHKHRpKS4wNSBFIDEuMDk3IC0uMTUodmUgbiktLjI1IEggLjc5Nyh1bWJlciBpcyB1c2VkIGFzIGFuKQotLjE1IEYob2YpMTQ0IDY1Mi44IFEgLjI3Nyhmc2V0IGZyb20gdGhlIGN1cnJlbnQgY29tbWFuZCBudW1iZXJcKS4pLS4yNSBGCi0oSWYpNS4yNzcgRSBGMihsYXN0KTIuODY3IEUgRjAgLjI3NgotKGlzIG5vdCBzcGVjaVwyMTRlZCBpdCBpcyBzZXQgdG8gdGhlIGN1cnJlbnQgY29tbWFuZCkzLjQ1NyBGIC4wOTIKLShmb3IgbGlzdGluZyBcKHNvIHRoYXQpMTQ0IDY2NC44IFIgRjQgLjA5MihmYyBcMjU1bCBcMjU1MTApMi41OTIgRiBGMAotLjA5MihwcmludHMgdGhlIGxhc3QgMTAgY29tbWFuZHNcKSBhbmQgdG8pMi41OTIgRiBGMjw4YzcyPjQuNTAyIEUoc3QpLS4xCi1FIEYwIDIuNTkyKG90aGVyd2lzZS4gSWYpMy4yNzIgRiBGMjw4YzcyPjQuNTAyIEUoc3QpLS4xIEUgRjAgLjA5MwotKGlzIG5vdCkzLjI3MyBGKHNwZWNpXDIxNGVkIGl0IGlzIHNldCB0byB0aGUgcHJlKTE0NCA2NzYuOCBRCi0odmlvdXMgY29tbWFuZCBmb3IgZWRpdGluZyBhbmQgXDI1NTE2IGZvciBsaXN0aW5nLiktLjI1IEUoVGhlKTE0NCA3MDAuOAotUSBGMTxhZDZlPjIuNTIyIEUgRjAgLjAyMgotKG9wdGlvbiBzdXBwcmVzc2VzIHRoZSBjb21tYW5kIG51bWJlcnMgd2hlbiBsaXN0aW5nLikyLjUyMiBGKFRoZSk1LjAyMiBFCi1GMTxhZDcyPjIuNTIyIEUgRjAgLjAyMihvcHRpb24gcmUpMi41MjIgRiAtLjE1KHZlKS0uMjUgRyAuMDIyCi0ocnNlcyB0aGUgb3JkZXIgb2YpLjE1IEYgLjQzOCh0aGUgY29tbWFuZHMuKTE0NCA3MTIuOCBSIC40MzgoSWYgdGhlKQotNS40MzggRiBGMTxhZDZjPjIuOTM4IEUgRjAgLjQzOChvcHRpb24gaXMgZ2kpMi45MzggRiAtLjE1KHZlKS0uMjUgRyAuNDM4Ci0obiwgdGhlIGNvbW1hbmRzIGFyZSBsaXN0ZWQgb24gc3RhbmRhcmQgb3V0cHV0LikuMTUgRihPdGhlcndpc2UsKTUuNDM4IEUKLS4zMzUodGhlIGVkaXRvciBnaSkxNDQgNzI0LjggUiAtLjE1KHZlKS0uMjUgRyAyLjgzNShuYikuMTUgRyh5KS0yLjgzNSBFCi1GMihlbmFtZSkzLjAyNSBFIEYwIC4zMzUoaXMgaW4pMy4wMTUgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMi44MzUKLShkbykuMSBHIDIuODM1KG5hXDIxNCktMi44MzUgRyAuMzM1KGxlIGNvbnRhaW5pbmcgdGhvc2UgY29tbWFuZHMuKS0yLjgzNQotRihJZik1LjMzNCBFIEYyKGVuYW1lKTMuMDI0IEUgRjAgLjMzNChpcyBub3QgZ2kpMy4wMTQgRiAtLjE1KHZlKS0uMjUgRwotKG4sKS4xNSBFKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA0IEFwciAyMCkxNDguNzM1IEUoNykyMDMuNzI1IEUgMCBDZwotRVAKKzw4YzcyPi0yLjUgRShzdCktLjEgRSBGMCAyLjUoXVspQyBGMihsYXN0KS0yLjUgRSBGMChdKUEoR05VIEJhc2gtNC4wKTcyCis3NjggUSgyMDA0IEFwciAyMCkxNDguNzM1IEUoNykyMDMuNzI1IEUgMCBDZyBFUAogJSVQYWdlOiA4IDgKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTKFNIX0IpLjM1IEUoVUlMKS0uMSBFIDI5MC40OAotKFRJTlNcKDFcKSBCKS0uOTIgRihBU0hfQiktLjM1IEUoVUlMKS0uMSBFKFRJTlNcKDFcKSktLjkyIEUgLjYzKHRoZSB2KQotMTQ0IDg0IFIgLjYzKGFsdWUgb2YgdGhlKS0uMjUgRi9GMSA5L1RpbWVzLUJvbGRAMCBTRihGQ0VESVQpMy4xMyBFIEYwCi0tLjI1KHZhKTIuODggRyAuNjMxKHJpYWJsZSBpcyB1c2VkLCBhbmQgdGhlIHYpLjI1IEYgLjYzMShhbHVlIG9mKS0uMjUgRgotRjEoRURJVCkzLjEzMSBFKE9SKS0uMTYyIEUgRjAoaWYpMi44ODEgRSBGMShGQ0VESVQpMy4xMzEgRSBGMCAuNjMxCi0oaXMgbm90IHNldC4pMi44ODEgRiAuNjMxKElmIG5laS0pNS42MzEgRiAxLjg4NCh0aGVyIHYpMTQ0IDk2IFIgMS44ODQKLShhcmlhYmxlIGlzIHNldCwgaXMgdXNlZC4pLS4yNSBGIDEuODg0CisoVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRS9GMSAxMAorL1RpbWVzLUJvbGRAMCBTRihmYyBcMjU1cykxMDggODQgUSBGMChbKTIuNSBFL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGCisocGF0KUEgRjAoPSlBIEYyIC0uMzcocmUpQyhwKS4zNyBFIEYwIDIuNShdWylDIEYyKGNtZCktMi41IEUgRjAoXSlBIC40NzcKKyhGaXggQ29tbWFuZC4pMTQ0IDk2IFIgLjQ3OAorKEluIHRoZSBcMjE0cnN0IGZvcm0sIGEgcmFuZ2Ugb2YgY29tbWFuZHMgZnJvbSk1LjQ3NyBGIEYyPDhjNzI+NC44ODggRQorKHN0KS0uMSBFIEYwKHRvKTMuNjU4IEUgRjIobGFzdCkzLjA2OCBFIEYwIC40NzgKKyhpcyBzZWxlY3RlZCBmcm9tIHRoZSBoaXMtKTMuNjU4IEYgLjg4Mih0b3J5IGxpc3QuKTE0NCAxMDggUiBGMiAtLjQ1KEZpKQorNS44ODIgRyAtLjEocnMpLjQ1IEcodCkuMSBFIEYwKGFuZCk0LjA2MiBFIEYyKGxhc3QpMy40NzIgRSBGMCAuODgyCisobWF5IGJlIHNwZWNpXDIxNGVkIGFzIGEgc3RyaW5nIFwodG8gbG9jYXRlIHRoZSBsYXN0IGNvbW1hbmQgYmUpNC4wNjIgRgorLjg4MShnaW5uaW5nIHdpdGgpLS4xNSBGIC43OTcodGhhdCBzdHJpbmdcKSBvciBhcyBhIG51bWJlciBcKGFuIGluZGUpMTQ0CisxMjAgUiAzLjI5Nyh4aSktLjE1IEcgLjc5NyhudG8gdGhlIGhpc3RvcnkgbGlzdCwgd2hlcmUgYSBuZSktMy4yOTcgRgorLS4wNShnYSktLjE1IEcodGkpLjA1IEUgMS4wOTcgLS4xNSh2ZSBuKS0uMjUgSCAuNzk3KHVtYmVyIGlzIHVzZWQgYXMgYW4pCisuMTUgRihvZikxNDQgMTMyIFEgLjI3Nyhmc2V0IGZyb20gdGhlIGN1cnJlbnQgY29tbWFuZCBudW1iZXJcKS4pLS4yNSBGCisoSWYpNS4yNzcgRSBGMihsYXN0KTIuODY3IEUgRjAgLjI3NgorKGlzIG5vdCBzcGVjaVwyMTRlZCBpdCBpcyBzZXQgdG8gdGhlIGN1cnJlbnQgY29tbWFuZCkzLjQ1NyBGIC4wOTIKKyhmb3IgbGlzdGluZyBcKHNvIHRoYXQpMTQ0IDE0NCBSL0YzIDEwL0NvdXJpZXJAMCBTRiAuMDkyCisoZmMgXDI1NWwgXDI1NTEwKTIuNTkyIEYgRjAgLjA5MihwcmludHMgdGhlIGxhc3QgMTAgY29tbWFuZHNcKSBhbmQgdG8pCisyLjU5MiBGIEYyPDhjNzI+NC41MDIgRShzdCktLjEgRSBGMCAyLjU5MihvdGhlcndpc2UuIElmKTMuMjcyIEYgRjI8OGM3Mj4KKzQuNTAyIEUoc3QpLS4xIEUgRjAgLjA5MyhpcyBub3QpMy4yNzMgRgorKHNwZWNpXDIxNGVkIGl0IGlzIHNldCB0byB0aGUgcHJlKTE0NCAxNTYgUQorKHZpb3VzIGNvbW1hbmQgZm9yIGVkaXRpbmcgYW5kIFwyNTUxNiBmb3IgbGlzdGluZy4pLS4yNSBFKFRoZSkxNDQgMTgwIFEKK0YxPGFkNmU+Mi41MjIgRSBGMCAuMDIyCisob3B0aW9uIHN1cHByZXNzZXMgdGhlIGNvbW1hbmQgbnVtYmVycyB3aGVuIGxpc3RpbmcuKTIuNTIyIEYoVGhlKTUuMDIyIEUKK0YxPGFkNzI+Mi41MjIgRSBGMCAuMDIyKG9wdGlvbiByZSkyLjUyMiBGIC0uMTUodmUpLS4yNSBHIC4wMjIKKyhyc2VzIHRoZSBvcmRlciBvZikuMTUgRiAuNDM4KHRoZSBjb21tYW5kcy4pMTQ0IDE5MiBSIC40MzgoSWYgdGhlKTUuNDM4CitGIEYxPGFkNmM+Mi45MzggRSBGMCAuNDM4KG9wdGlvbiBpcyBnaSkyLjkzOCBGIC0uMTUodmUpLS4yNSBHIC40MzgKKyhuLCB0aGUgY29tbWFuZHMgYXJlIGxpc3RlZCBvbiBzdGFuZGFyZCBvdXRwdXQuKS4xNSBGKE90aGVyd2lzZSwpNS40MzggRQorLjMzNSh0aGUgZWRpdG9yIGdpKTE0NCAyMDQgUiAtLjE1KHZlKS0uMjUgRyAyLjgzNShuYikuMTUgRyh5KS0yLjgzNSBFIEYyCisoZW5hbWUpMy4wMjUgRSBGMCAuMzM1KGlzIGluKTMuMDE1IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuODM1KGRvKQorLjEgRyAyLjgzNShuYVwyMTQpLTIuODM1IEcgLjMzNShsZSBjb250YWluaW5nIHRob3NlIGNvbW1hbmRzLiktMi44MzUgRgorKElmKTUuMzM0IEUgRjIoZW5hbWUpMy4wMjQgRSBGMCAuMzM0KGlzIG5vdCBnaSkzLjAxNCBGIC0uMTUodmUpLS4yNSBHCisobiwpLjE1IEUgLjYzKHRoZSB2KTE0NCAyMTYgUiAuNjMoYWx1ZSBvZiB0aGUpLS4yNSBGL0Y0IDkvVGltZXMtQm9sZEAwCitTRihGQ0VESVQpMy4xMyBFIEYwIC0uMjUodmEpMi44OCBHIC42MzEocmlhYmxlIGlzIHVzZWQsIGFuZCB0aGUgdikuMjUgRgorLjYzMShhbHVlIG9mKS0uMjUgRiBGNChFRElUKTMuMTMxIEUoT1IpLS4xNjIgRSBGMChpZikyLjg4MSBFIEY0KEZDRURJVCkKKzMuMTMxIEUgRjAgLjYzMShpcyBub3Qgc2V0LikyLjg4MSBGIC42MzEoSWYgbmVpLSk1LjYzMSBGIDEuODg0KHRoZXIgdikKKzE0NCAyMjggUiAxLjg4NChhcmlhYmxlIGlzIHNldCwgaXMgdXNlZC4pLS4yNSBGIDEuODg0CiAoV2hlbiBlZGl0aW5nIGlzIGNvbXBsZXRlLCB0aGUgZWRpdGVkIGNvbW1hbmRzIGFyZSBlY2hvZWQgYW5kKTYuODg0IEYKLS0uMTUoZXhlKTE0NCAxMDggUyhjdXRlZC4pLjE1IEUgLjAzOShJbiB0aGUgc2Vjb25kIGZvcm0sKTE0NCAxMzIgUi9GMiAxMAotL1RpbWVzLUl0YWxpY0AwIFNGKGNvbW1hbmQpMi41MzkgRSBGMCAuMDM5KGlzIHJlLWUpMi41MzkgRiAtLjE1KHhlKS0uMTUKLUcgLjAzOShjdXRlZCBhZnRlciBlYWNoIGluc3RhbmNlIG9mKS4xNSBGIEYyKHBhdCkyLjU0IEUgRjAgLjA0Ci0oaXMgcmVwbGFjZWQgYnkpMi41NCBGIEYyIC0uMzcocmUpMi41NCBHKHApLjM3IEUgRjAgNS4wNCguQSlDKHVzZWZ1bCkKLS0yLjUgRSAuNDA2KGFsaWFzIHRvIHVzZSB3aXRoIHRoaXMgaXMpMTQ0IDE0NCBSL0YzIDEwL0NvdXJpZXJAMCBTRiAuNDA2Ci0ocj0nZmMgXDI1NXMnKTIuOTA2IEYgRjAgMi45MDYoLHMpQyAyLjkwNihvdCktMi45MDYgRyAuNDA2KGhhdCB0eXBpbmcpCi0tMi45MDYgRiBGMyA2LjQwNihyYykyLjkwNiBHKGMpLTYuNDA2IEUgRjAgLjQwNgotKHJ1bnMgdGhlIGxhc3QgY29tbWFuZCBiZSkyLjkwNiBGIC40MDYoZ2lubmluZyB3aXRoKS0uMTUgRiBGMyhjYykxNDQgMTU2Ci1RIEYwKGFuZCB0eXBpbmcpMi41IEUgRjMocikyLjUgRSBGMChyZS1lKTIuNSBFIC0uMTUoeGUpLS4xNSBHCi0oY3V0ZXMgdGhlIGxhc3QgY29tbWFuZC4pLjE1IEUgLjE0MgotKElmIHRoZSBcMjE0cnN0IGZvcm0gaXMgdXNlZCwgdGhlIHJldHVybiB2KTE0NCAxODAgUiAuMTQyCistLjE1KGV4ZSkxNDQgMjQwIFMoY3V0ZWQuKS4xNSBFIC4wMzkoSW4gdGhlIHNlY29uZCBmb3JtLCkxNDQgMjY0IFIgRjIKKyhjb21tYW5kKTIuNTM5IEUgRjAgLjAzOShpcyByZS1lKTIuNTM5IEYgLS4xNSh4ZSktLjE1IEcgLjAzOQorKGN1dGVkIGFmdGVyIGVhY2ggaW5zdGFuY2Ugb2YpLjE1IEYgRjIocGF0KTIuNTQgRSBGMCAuMDQoaXMgcmVwbGFjZWQgYnkpCisyLjU0IEYgRjIgLS4zNyhyZSkyLjU0IEcocCkuMzcgRSBGMCA1LjA0KC5BKUModXNlZnVsKS0yLjUgRSAuNDA2CisoYWxpYXMgdG8gdXNlIHdpdGggdGhpcyBpcykxNDQgMjc2IFIgRjMgLjQwNihyPSdmYyBcMjU1cycpMi45MDYgRiBGMAorMi45MDYoLHMpQyAyLjkwNihvdCktMi45MDYgRyAuNDA2KGhhdCB0eXBpbmcpLTIuOTA2IEYgRjMgNi40MDYocmMpMi45MDYKK0coYyktNi40MDYgRSBGMCAuNDA2KHJ1bnMgdGhlIGxhc3QgY29tbWFuZCBiZSkyLjkwNiBGIC40MDYoZ2lubmluZyB3aXRoKQorLS4xNSBGIEYzKGNjKTE0NCAyODggUSBGMChhbmQgdHlwaW5nKTIuNSBFIEYzKHIpMi41IEUgRjAocmUtZSkyLjUgRSAtLjE1CisoeGUpLS4xNSBHKGN1dGVzIHRoZSBsYXN0IGNvbW1hbmQuKS4xNSBFIC4xNDIKKyhJZiB0aGUgXDIxNHJzdCBmb3JtIGlzIHVzZWQsIHRoZSByZXR1cm4gdikxNDQgMzEyIFIgLjE0MgogKGFsdWUgaXMgMCB1bmxlc3MgYW4gaW4pLS4yNSBGIC0uMjUodmEpLS40IEcgLjE0MgogKGxpZCBvcHRpb24gaXMgZW5jb3VudGVyZWQgb3IpLjI1IEYgRjI8OGM3Mj40LjU1MiBFKHN0KS0uMSBFIEYwKG9yKTMuMzIyCi1FIEYyKGxhc3QpMi43MzIgRSBGMCAuNDU1KHNwZWNpZnkgaGlzdG9yeSBsaW5lcyBvdXQgb2YgcmFuZ2UuKTE0NCAxOTIgUgotLjQ1NChJZiB0aGUpNS40NTQgRi9GNCAxMC9UaW1lcy1Cb2xkQDAgU0Y8YWQ2NT4yLjk1NCBFIEYwIC40NTQKK0UgRjIobGFzdCkyLjczMiBFIEYwIC40NTUoc3BlY2lmeSBoaXN0b3J5IGxpbmVzIG91dCBvZiByYW5nZS4pMTQ0IDMyNCBSCisuNDU0KElmIHRoZSk1LjQ1NCBGIEYxPGFkNjU+Mi45NTQgRSBGMCAuNDU0CiAob3B0aW9uIGlzIHN1cHBsaWVkLCB0aGUgcmV0dXJuIHYpMi45NTQgRiAuNDU0KGFsdWUgaXMgdGhlIHYpLS4yNSBGIC40NTQKLShhbHVlIG9mIHRoZSktLjI1IEYgLjc4NyhsYXN0IGNvbW1hbmQgZSkxNDQgMjA0IFIgLS4xNSh4ZSktLjE1IEcgLjc4NworKGFsdWUgb2YgdGhlKS0uMjUgRiAuNzg3KGxhc3QgY29tbWFuZCBlKTE0NCAzMzYgUiAtLjE1KHhlKS0uMTUgRyAuNzg3CiAoY3V0ZWQgb3IgZikuMTUgRiAuNzg4CiAoYWlsdXJlIGlmIGFuIGVycm9yIG9jY3VycyB3aXRoIHRoZSB0ZW1wb3JhcnkgXDIxNGxlIG9mIGNvbW1hbmRzLiktLjEgRgogLjc4OChJZiB0aGUpNS43ODggRiAxLjEzNgogKHNlY29uZCBmb3JtIGlzIHVzZWQsIHRoZSByZXR1cm4gc3RhdHVzIGlzIHRoYXQgb2YgdGhlIGNvbW1hbmQgcmUtZSkxNDQKLTIxNiBSIC0uMTUoeGUpLS4xNSBHIDEuMTM1KGN1dGVkLCB1bmxlc3MpLjE1IEYgRjIoY21kKTMuODM1IEUgRjAgMS4xMzUKLShkb2VzIG5vdCk0LjQwNSBGKHNwZWNpZnkgYSB2KTE0NCAyMjggUQotKGFsaWQgaGlzdG9yeSBsaW5lLCBpbiB3aGljaCBjYXNlKS0uMjUgRSBGNChmYykyLjUgRSBGMChyZXR1cm5zIGYpMi41IEUKLShhaWx1cmUuKS0uMSBFIEY0KGZnKTEwOCAyNDQuOCBRIEYwKFspMi41IEUgRjIoam9ic3BlYylBIEYwKF0pQShSZXN1bWUpCi0xNDQgMjU2LjggUSBGMihqb2JzcGVjKTUuNjUzIEUgRjAgMS40MTMoaW4gdGhlIGZvcmUpNC4yMjMgRiAxLjQxMworMzQ4IFIgLS4xNSh4ZSktLjE1IEcgMS4xMzUoY3V0ZWQsIHVubGVzcykuMTUgRiBGMihjbWQpMy44MzUgRSBGMCAxLjEzNQorKGRvZXMgbm90KTQuNDA1IEYoc3BlY2lmeSBhIHYpMTQ0IDM2MCBRCisoYWxpZCBoaXN0b3J5IGxpbmUsIGluIHdoaWNoIGNhc2UpLS4yNSBFIEYxKGZjKTIuNSBFIEYwKHJldHVybnMgZikyLjUgRQorKGFpbHVyZS4pLS4xIEUgRjEoZmcpMTA4IDM3Ni44IFEgRjAoWykyLjUgRSBGMihqb2JzcGVjKUEgRjAoXSlBKFJlc3VtZSkKKzE0NCAzODguOCBRIEYyKGpvYnNwZWMpNS42NTMgRSBGMCAxLjQxMyhpbiB0aGUgZm9yZSk0LjIyMyBGIDEuNDEzCiAoZ3JvdW5kLCBhbmQgbWFrKS0uMTUgRiAzLjkxMyhlaSktLjEgRyAzLjkxMyh0dCktMy45MTMgRyAxLjQxMwogKGhlIGN1cnJlbnQgam9iKS0zLjkxMyBGIDYuNDEzKC5JKS0uNCBHKGYpLTYuNDEzIEUgRjIoam9ic3BlYyk1LjY1MyBFIEYwCi0xLjQxNChpcyBub3QgcHJlc2VudCwgdGhlKTQuMjIzIEYoc2hlbGwnKTE0NCAyNjguOCBRIDMuMTE3KHNuKS0uNTUgRworMS40MTQoaXMgbm90IHByZXNlbnQsIHRoZSk0LjIyMyBGKHNoZWxsJykxNDQgNDAwLjggUSAzLjExNyhzbiktLjU1IEcKIC42MTcob3Rpb24gb2YgdGhlKS0zLjExNyBGIEYyKGN1cnIpMy4xMTcgRSAuNjE3KGVudCBqb2IpLS4zNyBGIEYwIC42MTcKIChpcyB1c2VkLikzLjExNyBGIC42MTcoVGhlIHJldHVybiB2KTUuNjE3IEYgLjYxNgotKGFsdWUgaXMgdGhhdCBvZiB0aGUgY29tbWFuZCBwbGFjZWQgaW50byB0aGUpLS4yNSBGKGZvcmUpMTQ0IDI4MC44IFEKKyhhbHVlIGlzIHRoYXQgb2YgdGhlIGNvbW1hbmQgcGxhY2VkIGludG8gdGhlKS0uMjUgRihmb3JlKTE0NCA0MTIuOCBRCiAuMzYyKGdyb3VuZCwgb3IgZiktLjE1IEYgLjM2MgogKGFpbHVyZSBpZiBydW4gd2hlbiBqb2IgY29udHJvbCBpcyBkaXNhYmxlZCBvciktLjEgRiAyLjg2MigsdyktLjQgRyAuMzYzCi0oaGVuIHJ1biB3aXRoIGpvYiBjb250cm9sIGVuYWJsZWQsIGlmKS0yLjg2MiBGIEYyKGpvYnNwZWMpMTQ1Ljc0IDI5Mi44IFEKKyhoZW4gcnVuIHdpdGggam9iIGNvbnRyb2wgZW5hYmxlZCwgaWYpLTIuODYyIEYgRjIoam9ic3BlYykxNDUuNzQgNDI0LjggUQogRjAgLjAwNChkb2VzIG5vdCBzcGVjaWZ5IGEgdikyLjgxNSBGIC4wMDQoYWxpZCBqb2Igb3IpLS4yNSBGIEYyKGpvYnNwZWMpCiA0LjI0NCBFIEYwIC4wMDQoc3BlY2lcMjE0ZXMgYSBqb2IgdGhhdCB3KTIuODE0IEYgLjAwNAotKGFzIHN0YXJ0ZWQgd2l0aG91dCBqb2IgY29udHJvbC4pLS4xIEYgRjQoZ2V0b3B0cykxMDggMzA5LjYgUSBGMgotKG9wdHN0cmluZyBuYW1lKTIuNSBFIEYwKFspMi41IEUgRjIoYXIpQShncyktLjM3IEUgRjAoXSlBIEY0KGdldG9wdHMpMTQ0Ci0zMjEuNiBRIEYwIC43OTMKKyhhcyBzdGFydGVkIHdpdGhvdXQgam9iIGNvbnRyb2wuKS0uMSBGIEYxKGdldG9wdHMpMTA4IDQ0MS42IFEgRjIKKyhvcHRzdHJpbmcgbmFtZSkyLjUgRSBGMChbKTIuNSBFIEYyKGFyKUEoZ3MpLS4zNyBFIEYwKF0pQSBGMShnZXRvcHRzKTE0NAorNDUzLjYgUSBGMCAuNzkzCiAoaXMgdXNlZCBieSBzaGVsbCBwcm9jZWR1cmVzIHRvIHBhcnNlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy4pMy4yOTMgRiBGMgogKG9wdHN0cmluZyk2LjAyMyBFIEYwIC43OTMoY29udGFpbnMgdGhlIG9wdGlvbikzLjUxMyBGIC4xNQotKGNoYXJhY3RlcnMgdG8gYmUgcmVjb2duaXplZDsgaWYgYSBjaGFyYWN0ZXIgaXMgZm9sbG8pMTQ0IDMzMy42IFIgLjE0OQorKGNoYXJhY3RlcnMgdG8gYmUgcmVjb2duaXplZDsgaWYgYSBjaGFyYWN0ZXIgaXMgZm9sbG8pMTQ0IDQ2NS42IFIgLjE0OQogKHdlZCBieSBhIGNvbG9uLCB0aGUgb3B0aW9uIGlzIGUpLS4yNSBGIC4xNDkoeHBlY3RlZCB0byBoYSktLjE1IEYgLjQ0OQotLS4xNSh2ZSBhKS0uMiBIKG4pLjE1IEUoYXIpMTQ0IDM0NS42IFEgLjU3OAorLS4xNSh2ZSBhKS0uMiBIKG4pLjE1IEUoYXIpMTQ0IDQ3Ny42IFEgLjU3OAogKGd1bWVudCwgd2hpY2ggc2hvdWxkIGJlIHNlcGFyYXRlZCBmcm9tIGl0IGJ5IHdoaXRlIHNwYWNlLiktLjE4IEYgLjU3OQogKFRoZSBjb2xvbiBhbmQgcXVlc3Rpb24gbWFyayBjaGFyKTUuNTc5IEYoLSktLjIgRSAxLjY2NQotKGFjdGVycyBtYXkgbm90IGJlIHVzZWQgYXMgb3B0aW9uIGNoYXJhY3RlcnMuKTE0NCAzNTcuNiBSIDEuNjY1Ci0oRWFjaCB0aW1lIGl0IGlzIGluKTYuNjY1IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHKGQsKS4xIEUgRjQoZ2V0b3B0cykKKyhhY3RlcnMgbWF5IG5vdCBiZSB1c2VkIGFzIG9wdGlvbiBjaGFyYWN0ZXJzLikxNDQgNDg5LjYgUiAxLjY2NQorKEVhY2ggdGltZSBpdCBpcyBpbik2LjY2NSBGIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyhkLCkuMSBFIEYxKGdldG9wdHMpCiA0LjE2NSBFIEYwIDEuNjY1KHBsYWNlcyB0aGUgbmUpNC4xNjUgRih4dCktLjE1IEUgLjc5NgotKG9wdGlvbiBpbiB0aGUgc2hlbGwgdikxNDQgMzY5LjYgUihhcmlhYmxlKS0uMjUgRSBGMihuYW1lKTMuMjk2IEUgRjAKKyhvcHRpb24gaW4gdGhlIHNoZWxsIHYpMTQ0IDUwMS42IFIoYXJpYWJsZSktLjI1IEUgRjIobmFtZSkzLjI5NiBFIEYwCiAzLjI5NigsaSkuMTggRyhuaXRpYWxpemluZyktMy4yOTYgRSBGMihuYW1lKTMuNjU3IEUgRjAgLjc5NwogKGlmIGl0IGRvZXMgbm90IGUpMy40NzcgRiAuNzk3KHhpc3QsIGFuZCB0aGUgaW5kZSktLjE1IEYgMy4yOTcoeG8pLS4xNSBHCi0zLjI5NyhmdCktMy4yOTcgRyAuNzk3KGhlIG5lKS0zLjI5NyBGKHh0KS0uMTUgRShhcikxNDQgMzgxLjYgUSAuMDg1Ci0oZ3VtZW50IHRvIGJlIHByb2Nlc3NlZCBpbnRvIHRoZSB2KS0uMTggRihhcmlhYmxlKS0uMjUgRSBGMShPUFRJTkQpMi41ODUKLUUvRjUgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMShPUFRJTkQpNC41ODUgRSBGMCAuMDg1CiszLjI5NyhmdCktMy4yOTcgRyAuNzk3KGhlIG5lKS0zLjI5NyBGKHh0KS0uMTUgRShhcikxNDQgNTEzLjYgUSAuMDg1CisoZ3VtZW50IHRvIGJlIHByb2Nlc3NlZCBpbnRvIHRoZSB2KS0uMTggRihhcmlhYmxlKS0uMjUgRSBGNChPUFRJTkQpMi41ODUKK0UvRjUgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGNChPUFRJTkQpNC41ODUgRSBGMCAuMDg1CiAoaXMgaW5pdGlhbGl6ZWQgdG8gMSBlYWNoIHRpbWUgdGhlIHNoZWxsKTIuMzM1IEYgLjg0NQotKG9yIGEgc2hlbGwgc2NyaXB0IGlzIGluKTE0NCAzOTMuNiBSIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAzLjM0NQotKGQuIFdoZW4pLjEgRiAuODQ1KGFuIG9wdGlvbiByZXF1aXJlcyBhbiBhcikzLjM0NSBGKGd1bWVudCwpLS4xOCBFIEY0Cisob3IgYSBzaGVsbCBzY3JpcHQgaXMgaW4pMTQ0IDUyNS42IFIgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDMuMzQ1CisoZC4gV2hlbikuMSBGIC44NDUoYW4gb3B0aW9uIHJlcXVpcmVzIGFuIGFyKTMuMzQ1IEYoZ3VtZW50LCktLjE4IEUgRjEKIChnZXRvcHRzKTMuMzQ2IEUgRjAgLjg0NihwbGFjZXMgdGhhdCBhcikzLjM0NiBGKGd1bWVudCktLjE4IEUgLjgwNAotKGludG8gdGhlIHYpMTQ0IDQwNS42IFIoYXJpYWJsZSktLjI1IEUgRjEoT1BUKTMuMzA0IEUoQVJHKS0uODEgRSBGNSguKUEKLUYwIC44MDMoVGhlIHNoZWxsIGRvZXMgbm90IHJlc2V0KTUuMzA0IEYgRjEoT1BUSU5EKTMuMzAzIEUgRjAgLjgwMworKGludG8gdGhlIHYpMTQ0IDUzNy42IFIoYXJpYWJsZSktLjI1IEUgRjQoT1BUKTMuMzA0IEUoQVJHKS0uODEgRSBGNSguKUEKK0YwIC44MDMoVGhlIHNoZWxsIGRvZXMgbm90IHJlc2V0KTUuMzA0IEYgRjQoT1BUSU5EKTMuMzAzIEUgRjAgLjgwMwogKGF1dG9tYXRpY2FsbHk7IGl0IG11c3QgYmUgbWFudWFsbHkpMy4wNTMgRiAuMjkzCi0ocmVzZXQgYmV0d2VlbiBtdWx0aXBsZSBjYWxscyB0bykxNDQgNDE3LjYgUiBGNChnZXRvcHRzKTIuNzkzIEUgRjAgLjI5MworKHJlc2V0IGJldHdlZW4gbXVsdGlwbGUgY2FsbHMgdG8pMTQ0IDU0OS42IFIgRjEoZ2V0b3B0cykyLjc5MyBFIEYwIC4yOTMKICh3aXRoaW4gdGhlIHNhbWUgc2hlbGwgaW4pMi43OTMgRiAtLjIodm8pLS40IEcgLjI5MyhjYXRpb24gaWYgYSBuZSkuMiBGCi0yLjc5Myh3cyktLjI1IEcgLjI5NChldCBvZiBwYXJhbWV0ZXJzKS0yLjc5MyBGKGlzIHRvIGJlIHVzZWQuKTE0NCA0MjkuNgotUSAyLjA0NChXaGVuIHRoZSBlbmQgb2Ygb3B0aW9ucyBpcyBlbmNvdW50ZXJlZCwpMTQ0IDQ1My42IFIgRjQoZ2V0b3B0cykKKzIuNzkzKHdzKS0uMjUgRyAuMjk0KGV0IG9mIHBhcmFtZXRlcnMpLTIuNzkzIEYoaXMgdG8gYmUgdXNlZC4pMTQ0IDU2MS42CitRIDIuMDQ0KFdoZW4gdGhlIGVuZCBvZiBvcHRpb25zIGlzIGVuY291bnRlcmVkLCkxNDQgNTg1LjYgUiBGMShnZXRvcHRzKQogNC41NDMgRSBGMCAtLjE1KGV4KTQuNTQzIEcgMi4wNDMoaXRzIHdpdGggYSByZXR1cm4gdikuMTUgRiAyLjA0MwotKGFsdWUgZ3JlYXRlciB0aGFuIHplcm8uKS0uMjUgRiBGNChPUFRJTkQpMTQ0IDQ2NS42IFEgRjAKLShpcyBzZXQgdG8gdGhlIGluZGUpMi41IEUgMi41KHhvKS0uMTUgRyAyLjUoZnQpLTIuNSBHCi0oaGUgXDIxNHJzdCBub24tb3B0aW9uIGFyKS0yLjUgRShndW1lbnQsIGFuZCktLjE4IEUgRjQobmFtZSkyLjUgRSBGMAotKGlzIHNldCB0byA/LikyLjUgRSBGNChnZXRvcHRzKTE0NCA0ODkuNiBRIEYwIDIuMzkyCisoYWx1ZSBncmVhdGVyIHRoYW4gemVyby4pLS4yNSBGIEY0KE9QVElORCkxNDQgNTk3LjYgUSBGMAorKGlzIHNldCB0byB0aGUgaW5kZSkyLjI1IEUgMi41KHhvKS0uMTUgRyAyLjUoZnQpLTIuNSBHCisoaGUgXDIxNHJzdCBub24tb3B0aW9uIGFyKS0yLjUgRShndW1lbnQsIGFuZCktLjE4IEUgRjEobmFtZSkyLjUgRSBGMAorKGlzIHNldCB0byA/LikyLjUgRSBGMShnZXRvcHRzKTE0NCA2MjEuNiBRIEYwIDIuMzkyCiAobm9ybWFsbHkgcGFyc2VzIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMsIGIpNC44OTIgRiAyLjM5MgogKHV0IGlmIG1vcmUgYXIpLS4yIEYgMi4zOTMoZ3VtZW50cyBhcmUgZ2kpLS4xOCBGIC0uMTUodmUpLS4yNSBHIDQuODkzCi0obmkpLjE1IEcobiktNC44OTMgRSBGMihhcik0Ljg5MyBFKGdzKS0uMzcgRSBGMCgsKS4yNyBFIEY0KGdldG9wdHMpMTQ0Ci01MDEuNiBRIEYwKHBhcnNlcyB0aG9zZSBpbnN0ZWFkLikyLjUgRSBGNChnZXRvcHRzKTE0NCA1MjUuNiBRIEYwIDEuMTY2CisobmkpLjE1IEcobiktNC44OTMgRSBGMihhcik0Ljg5MyBFKGdzKS0uMzcgRSBGMCgsKS4yNyBFIEYxKGdldG9wdHMpMTQ0Cis2MzMuNiBRIEYwKHBhcnNlcyB0aG9zZSBpbnN0ZWFkLikyLjUgRSBGMShnZXRvcHRzKTE0NCA2NTcuNiBRIEYwIDEuMTY2CiAoY2FuIHJlcG9ydCBlcnJvcnMgaW4gdHcpMy42NjYgRiAzLjY2NShvdyktLjEgRyAzLjY2NShheXMuIElmKS0zLjc2NSBGCiAxLjE2NSh0aGUgXDIxNHJzdCBjaGFyYWN0ZXIgb2YpMy42NjUgRiBGMihvcHRzdHJpbmcpMy44OTUgRSBGMCAxLjE2NQogKGlzIGEgY29sb24sKTMuODg1IEYgRjIoc2lsZW50KTQuMDA1IEUgRjAoZXJyb3IpNC4zNDUgRSAxLjI2MwotKHJlcG9ydGluZyBpcyB1c2VkLikxNDQgNTM3LjYgUiAxLjI2MworKHJlcG9ydGluZyBpcyB1c2VkLikxNDQgNjY5LjYgUiAxLjI2MwogKEluIG5vcm1hbCBvcGVyYXRpb24gZGlhZ25vc3RpYyBtZXNzYWdlcyBhcmUgcHJpbnRlZCB3aGVuIGluKTYuMjYzIEYKIC0uMjUodmEpLS40IEcgMS4yNjMobGlkIG9wdGlvbnMgb3IpLjI1IEYgLjM5NChtaXNzaW5nIG9wdGlvbiBhcikxNDQKLTU0OS42IFIgLjM5NChndW1lbnRzIGFyZSBlbmNvdW50ZXJlZC4pLS4xOCBGIC4zOTQoSWYgdGhlIHYpNS4zOTQgRgotKGFyaWFibGUpLS4yNSBFIEYxKE9QVEVSUikyLjg5NCBFIEYwIC4zOTQKLShpcyBzZXQgdG8gMCwgbm8gZXJyb3IgbWVzc2FnZXMpMi42NDQgRih3aWxsIGJlIGRpc3BsYXllZCwgZSkxNDQgNTYxLjYgUQorNjgxLjYgUiAuMzk0KGd1bWVudHMgYXJlIGVuY291bnRlcmVkLiktLjE4IEYgLjM5NChJZiB0aGUgdik1LjM5NCBGCisoYXJpYWJsZSktLjI1IEUgRjQoT1BURVJSKTIuODk0IEUgRjAgLjM5NAorKGlzIHNldCB0byAwLCBubyBlcnJvciBtZXNzYWdlcykyLjY0NCBGKHdpbGwgYmUgZGlzcGxheWVkLCBlKTE0NCA2OTMuNiBRCiAtLjE1KHZlKS0uMjUgRyAyLjUobmkpLjE1IEcgMi41KGZ0KS0yLjUgRyhoZSBcMjE0cnN0IGNoYXJhY3RlciBvZiktMi41IEUKLUYyKG9wdHN0cmluZykyLjczIEUgRjAoaXMgbm90IGEgY29sb24uKTIuNzIgRSAuNjY2KElmIGFuIGluKTE0NCA1ODUuNiBSCi0tLjI1KHZhKS0uNCBHIC42NjYobGlkIG9wdGlvbiBpcyBzZWVuLCkuMjUgRiBGNChnZXRvcHRzKTMuMTY2IEUgRjAgLjY2NworRjIob3B0c3RyaW5nKTIuNzMgRSBGMChpcyBub3QgYSBjb2xvbi4pMi43MiBFIC42NjYoSWYgYW4gaW4pMTQ0IDcxNy42IFIKKy0uMjUodmEpLS40IEcgLjY2NihsaWQgb3B0aW9uIGlzIHNlZW4sKS4yNSBGIEYxKGdldG9wdHMpMy4xNjYgRSBGMCAuNjY3CiAocGxhY2VzID8gaW50bykzLjE2NyBGIEYyKG5hbWUpMy41MjcgRSBGMCAuNjY3CiAoYW5kLCBpZiBub3Qgc2lsZW50LCBwcmludHMgYW4gZXJyb3IgbWVzc2FnZSkzLjM0NyBGIC40KGFuZCB1bnNldHMpMTQ0Ci01OTcuNiBSIEYxKE9QVCkyLjkgRShBUkcpLS44MSBFIEY1KC4pQSBGMChJZik0Ljg5OSBFIEY0KGdldG9wdHMpMi44OTkgRQotRjAgLjM5OShpcyBzaWxlbnQsIHRoZSBvcHRpb24gY2hhcmFjdGVyIGZvdW5kIGlzIHBsYWNlZCBpbikyLjg5OSBGIEYxCi0oT1BUKTIuODk5IEUoQVJHKS0uODEgRSBGMCAuMzk5KGFuZCBubykyLjY0OSBGCi0oZGlhZ25vc3RpYyBtZXNzYWdlIGlzIHByaW50ZWQuKTE0NCA2MDkuNiBRIDEuMjQxKElmIGEgcmVxdWlyZWQgYXIpMTQ0Ci02MzMuNiBSIDEuMjQxKGd1bWVudCBpcyBub3QgZm91bmQsIGFuZCktLjE4IEYgRjQoZ2V0b3B0cykzLjc0MSBFIEYwCi0xLjI0MShpcyBub3Qgc2lsZW50LCBhIHF1ZXN0aW9uIG1hcmsgXCgpMy43NDEgRiBGNCg/KS44MzMgRSBGMCAzLjc0MgotKFwpaSkuODMzIEcgMy43NDIoc3ApLTMuNzQyIEcgMS4yNDIobGFjZWQgaW4pLTMuNzQyIEYgRjIobmFtZSkxNDQgNjQ1LjYKLVEgRjAoLCkuMTggRSBGMShPUFQpMi43MzUgRShBUkcpLS44MSBFIEYwIC4yMzQKLShpcyB1bnNldCwgYW5kIGEgZGlhZ25vc3RpYyBtZXNzYWdlIGlzIHByaW50ZWQuKTIuNDg1IEYoSWYpNS4yMzQgRSBGNAotKGdldG9wdHMpMi43MzQgRSBGMCAuMjM0KGlzIHNpbGVudCwgdGhlbiBhIGNvbG9uIFwoKTIuNzM0IEYgRjQoOikuODMzIEUKLUYwKFwpKS44MzMgRShpcyBwbGFjZWQgaW4pMTQ0IDY1Ny42IFEgRjIobmFtZSkyLjg2IEUgRjAoYW5kKTIuNjggRSBGMQotKE9QVCkyLjUgRShBUkcpLS44MSBFIEYwKGlzIHNldCB0byB0aGUgb3B0aW9uIGNoYXJhY3RlciBmb3VuZC4pMi4yNSBFIEY0Ci0oZ2V0b3B0cykxNDQgNjgxLjYgUSBGMCAuOTAyCi0ocmV0dXJucyB0cnVlIGlmIGFuIG9wdGlvbiwgc3BlY2lcMjE0ZWQgb3IgdW5zcGVjaVwyMTRlZCwgaXMgZm91bmQuKQotMy40MDEgRiAuOTAyKEl0IHJldHVybnMgZik1LjkwMiBGIC45MDIoYWxzZSBpZiB0aGUgZW5kIG9mKS0uMSBGCi0ob3B0aW9ucyBpcyBlbmNvdW50ZXJlZCBvciBhbiBlcnJvciBvY2N1cnMuKTE0NCA2OTMuNiBRKEdOVSBCYXNoLTQuMCk3MgotNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDgpMjAzLjcyNSBFIDAgQ2cgRVAKKzcyOS42IFIgRjQoT1BUKTIuOSBFKEFSRyktLjgxIEUgRjUoLilBIEYwKElmKTQuODk5IEUgRjEoZ2V0b3B0cykyLjg5OSBFCitGMCAuMzk5KGlzIHNpbGVudCwgdGhlIG9wdGlvbiBjaGFyYWN0ZXIgZm91bmQgaXMgcGxhY2VkIGluKTIuODk5IEYgRjQKKyhPUFQpMi44OTkgRShBUkcpLS44MSBFIEYwIC4zOTkoYW5kIG5vKTIuNjQ5IEYoR05VIEJhc2gtNC4wKTcyIDc2OCBRCisoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDgpMjAzLjcyNSBFIDAgQ2cgRVAKICUlUGFnZTogOSA5CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyhTSF9CKS4zNSBFKFVJTCktLjEgRSAyOTAuNDgKLShUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFL0YxIDEwCi0vVGltZXMtQm9sZEAwIFNGKGhhc2gpMTA4IDg0IFEgRjAoWykyLjUgRSBGMShcMjU1bHIpQSBGMCAyLjUoXVspQyBGMQotPGFkNzA+LTIuNSBFL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGKFwyMTRsZW5hbWUpMi41IEUgRjAgMi41KF1bKUMgRjEKLShcMjU1ZHQpLTIuNSBFIEYwIDIuNShdWylDIEYyKG5hbWUpLTIuNSBFIEYwKF0pQSAtLjE1KEZvKTE0NCA5NiBTIDMuNTU1Ci0ocmUpLjE1IEcoYWNoKS0zLjU1NSBFIEYyKG5hbWUpMy41NTUgRSBGMCAzLjU1NSgsdCkuMTggRyAxLjA1NChoZSBmdWxsIFwKLVwyMTRsZSBuYW1lIG9mIHRoZSBjb21tYW5kIGlzIGRldGVybWluZWQgYnkgc2VhcmNoaW5nIHRoZSBkaXJlY3RvcmllcyBpXAotbiktMy41NTUgRiBGMSgkUCkxNDQgMTA4IFEgLS45NShBVCktLjc0IEcoSCkuOTUgRSBGMCAuMzQ5Ci0oYW5kIHJlbWVtYmVyZWQuKTIuODQ5IEYgLjM0OShJZiB0aGUpNS4zNDkgRiBGMTxhZDcwPjIuODQ5IEUgRjAgLjM0OQorKFRJTlNcKDFcKSBCKS0uOTIgRihBU0hfQiktLjM1IEUoVUlMKS0uMSBFKFRJTlNcKDFcKSktLjkyIEUKKyhkaWFnbm9zdGljIG1lc3NhZ2UgaXMgcHJpbnRlZC4pMTQ0IDg0IFEgMS4yNDEoSWYgYSByZXF1aXJlZCBhcikxNDQgMTA4CitSIDEuMjQxKGd1bWVudCBpcyBub3QgZm91bmQsIGFuZCktLjE4IEYvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGdldG9wdHMpCiszLjc0MSBFIEYwIDEuMjQxKGlzIG5vdCBzaWxlbnQsIGEgcXVlc3Rpb24gbWFyayBcKCkzLjc0MSBGIEYxKD8pLjgzMyBFCitGMCAzLjc0MihcKWkpLjgzMyBHIDMuNzQyKHNwKS0zLjc0MiBHIDEuMjQyKGxhY2VkIGluKS0zLjc0MiBGL0YyIDEwCisvVGltZXMtSXRhbGljQDAgU0YobmFtZSkxNDQgMTIwIFEgRjAoLCkuMTggRS9GMyA5L1RpbWVzLUJvbGRAMCBTRihPUFQpCisyLjczNSBFKEFSRyktLjgxIEUgRjAgLjIzNAorKGlzIHVuc2V0LCBhbmQgYSBkaWFnbm9zdGljIG1lc3NhZ2UgaXMgcHJpbnRlZC4pMi40ODUgRihJZik1LjIzNCBFIEYxCisoZ2V0b3B0cykyLjczNCBFIEYwIC4yMzQoaXMgc2lsZW50LCB0aGVuIGEgY29sb24gXCgpMi43MzQgRiBGMSg6KS44MzMgRQorRjAoXCkpLjgzMyBFKGlzIHBsYWNlZCBpbikxNDQgMTMyIFEgRjIobmFtZSkyLjg2IEUgRjAoYW5kKTIuNjggRSBGMyhPUFQpCisyLjUgRShBUkcpLS44MSBFIEYwKGlzIHNldCB0byB0aGUgb3B0aW9uIGNoYXJhY3RlciBmb3VuZC4pMi4yNSBFIEYxCisoZ2V0b3B0cykxNDQgMTU2IFEgRjAgLjkwMgorKHJldHVybnMgdHJ1ZSBpZiBhbiBvcHRpb24sIHNwZWNpXDIxNGVkIG9yIHVuc3BlY2lcMjE0ZWQsIGlzIGZvdW5kLikKKzMuNDAxIEYgLjkwMihJdCByZXR1cm5zIGYpNS45MDIgRiAuOTAyKGFsc2UgaWYgdGhlIGVuZCBvZiktLjEgRgorKG9wdGlvbnMgaXMgZW5jb3VudGVyZWQgb3IgYW4gZXJyb3Igb2NjdXJzLikxNDQgMTY4IFEgRjEoaGFzaCkxMDggMTg0LjgKK1EgRjAoWykyLjUgRSBGMShcMjU1bHIpQSBGMCAyLjUoXVspQyBGMTxhZDcwPi0yLjUgRSBGMihcMjE0bGVuYW1lKTIuNSBFCitGMCAyLjUoXVspQyBGMShcMjU1ZHQpLTIuNSBFIEYwIDIuNShdWylDIEYyKG5hbWUpLTIuNSBFIEYwKF0pQSAtLjE1KEZvKQorMTQ0IDE5Ni44IFMgMy41NTUocmUpLjE1IEcoYWNoKS0zLjU1NSBFIEYyKG5hbWUpMy41NTUgRSBGMCAzLjU1NSgsdCkuMTgKK0cgMS4wNTQoaGUgZnVsbCBcMjE0bGUgbmFtZSBvZiB0aGUgY29tbWFuZCBpcyBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyB0XAoraGUgZGlyZWN0b3JpZXMgaW4pLTMuNTU1IEYgRjEoJFApMTQ0IDIwOC44IFEgLS45NShBVCktLjc0IEcoSCkuOTUgRSBGMAorLjM0OShhbmQgcmVtZW1iZXJlZC4pMi44NDkgRiAuMzQ5KElmIHRoZSk1LjM0OSBGIEYxPGFkNzA+Mi44NDkgRSBGMCAuMzQ5CiAob3B0aW9uIGlzIHN1cHBsaWVkLCBubyBwYXRoIHNlYXJjaCBpcyBwZXJmb3JtZWQsIGFuZCkyLjg0OSBGIEYyCiAoXDIxNGxlbmFtZSk0Ljc2IEUgRjAgLjQ1MgotKGlzIHVzZWQgYXMgdGhlIGZ1bGwgXDIxNGxlIG5hbWUgb2YgdGhlIGNvbW1hbmQuKTE0NCAxMjAgUihUaGUpNS40NTIgRQorKGlzIHVzZWQgYXMgdGhlIGZ1bGwgXDIxNGxlIG5hbWUgb2YgdGhlIGNvbW1hbmQuKTE0NCAyMjAuOCBSKFRoZSk1LjQ1MiBFCiBGMTxhZDcyPjIuOTUyIEUgRjAgLjQ1MihvcHRpb24gY2F1c2VzIHRoZSBzaGVsbCB0byBmb3IpMi45NTIgRiAuNDUyCi0oZ2V0IGFsbCByZW1lbS0pLS4xOCBGIC41OTIoYmVyZWQgbG9jYXRpb25zLikxNDQgMTMyIFIoVGhlKTUuNTkyIEUgRjEKKyhnZXQgYWxsIHJlbWVtLSktLjE4IEYgLjU5MihiZXJlZCBsb2NhdGlvbnMuKTE0NCAyMzIuOCBSKFRoZSk1LjU5MiBFIEYxCiA8YWQ2ND4zLjA5MiBFIEYwIC41OTMob3B0aW9uIGNhdXNlcyB0aGUgc2hlbGwgdG8gZm9yKTMuMDkyIEYgLjU5MwogKGdldCB0aGUgcmVtZW1iZXJlZCBsb2NhdGlvbiBvZiBlYWNoKS0uMTggRiBGMihuYW1lKTMuMDkzIEUgRjAoLilBIC4wMjEKLShJZiB0aGUpMTQ0IDE0NCBSIEYxPGFkNzQ+Mi41MjEgRSBGMCAuMDIxCisoSWYgdGhlKTE0NCAyNDQuOCBSIEYxPGFkNzQ+Mi41MjEgRSBGMCAuMDIxCiAob3B0aW9uIGlzIHN1cHBsaWVkLCB0aGUgZnVsbCBwYXRobmFtZSB0byB3aGljaCBlYWNoKTIuNTIxIEYgRjIobmFtZSkKIDIuNTIgRSBGMCAuMDIoY29ycmVzcG9uZHMgaXMgcHJpbnRlZC4pMi41MiBGIC4wMihJZiBtdWx0aS0pNS4wMiBGKHBsZSkKLTE0NCAxNTYgUSBGMihuYW1lKTMuNzAzIEUgRjAoYXIpMy43MDMgRSAxLjIwMyhndW1lbnRzIGFyZSBzdXBwbGllZCB3aXRoKQotLS4xOCBGIEYxPGFkNzQ+My43MDMgRSBGMCAzLjcwMygsdClDKGhlKS0zLjcwMyBFIEYyKG5hbWUpMy43MDMgRSBGMAotMS4yMDQoaXMgcHJpbnRlZCBiZWZvcmUgdGhlIGhhc2hlZCBmdWxsIHBhdGhuYW1lLikzLjcwMyBGKFRoZSkxNDQgMTY4IFEKLUYxPGFkNmM+My4yMTYgRSBGMCAuNzE1KG9wdGlvbiBjYXVzZXMgb3V0cHV0IHRvIGJlIGRpc3BsYXllZCBpbiBhIGZvcm1hXAotdCB0aGF0IG1heSBiZSByZXVzZWQgYXMgaW5wdXQuKTMuMjE2IEYgLjcxNShJZiBubyBhcik1LjcxNSBGKGd1LSktLjE4IEUKLTEuMTgzKG1lbnRzIGFyZSBnaSkxNDQgMTgwIFIgLS4xNSh2ZSktLjI1IEcgMS4xODMobiwgb3IgaWYgb25seSkuMTUgRiBGMQotPGFkNmM+My42ODMgRSBGMCAxLjE4NAorMTQ0IDI1Ni44IFEgRjIobmFtZSkzLjcwMyBFIEYwKGFyKTMuNzAzIEUgMS4yMDMKKyhndW1lbnRzIGFyZSBzdXBwbGllZCB3aXRoKS0uMTggRiBGMTxhZDc0PjMuNzAzIEUgRjAgMy43MDMoLHQpQyhoZSkKKy0zLjcwMyBFIEYyKG5hbWUpMy43MDMgRSBGMCAxLjIwNAorKGlzIHByaW50ZWQgYmVmb3JlIHRoZSBoYXNoZWQgZnVsbCBwYXRobmFtZS4pMy43MDMgRihUaGUpMTQ0IDI2OC44IFEgRjEKKzxhZDZjPjMuMjE2IEUgRjAgLjcxNShvcHRpb24gY2F1c2VzIG91dHB1dCB0byBiZSBkaXNwbGF5ZWQgaW4gYSBmb3JtYXQgXAordGhhdCBtYXkgYmUgcmV1c2VkIGFzIGlucHV0LikzLjIxNiBGIC43MTUoSWYgbm8gYXIpNS43MTUgRihndS0pLS4xOCBFCisxLjE4MyhtZW50cyBhcmUgZ2kpMTQ0IDI4MC44IFIgLS4xNSh2ZSktLjI1IEcgMS4xODMobiwgb3IgaWYgb25seSkuMTUgRgorRjE8YWQ2Yz4zLjY4MyBFIEYwIDEuMTg0CiAoaXMgc3VwcGxpZWQsIGluZm9ybWF0aW9uIGFib3V0IHJlbWVtYmVyZWQgY29tbWFuZHMgaXMgcHJpbnRlZC4pMy42ODQgRgotKFRoZSByZXR1cm4gc3RhdHVzIGlzIHRydWUgdW5sZXNzIGEpMTQ0IDE5MiBRIEYyKG5hbWUpMi44NiBFIEYwCisoVGhlIHJldHVybiBzdGF0dXMgaXMgdHJ1ZSB1bmxlc3MgYSkxNDQgMjkyLjggUSBGMihuYW1lKTIuODYgRSBGMAogKGlzIG5vdCBmb3VuZCBvciBhbiBpbikyLjY4IEUgLS4yNSh2YSktLjQgRyhsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLikuMjUKLUUgRjEoaGVscCkxMDggMjA4LjggUSBGMChbKTIuNSBFIEYxKFwyNTVkbXMpQSBGMCAyLjUoXVspQyBGMihwYXR0ZXJuKQotLTIuNSBFIEYwKF0pQSAuODY3KERpc3BsYXkgaGVscGZ1bCBpbmZvcm1hdGlvbiBhYm91dCBiKTE0NCAyMjAuOCBSIC44NjcKK0UgRjEoaGVscCkxMDggMzA5LjYgUSBGMChbKTIuNSBFIEYxKFwyNTVkbXMpQSBGMCAyLjUoXVspQyBGMihwYXR0ZXJuKQorLTIuNSBFIEYwKF0pQSAuODY3KERpc3BsYXkgaGVscGZ1bCBpbmZvcm1hdGlvbiBhYm91dCBiKTE0NCAzMjEuNiBSIC44NjcKICh1aWx0aW4gY29tbWFuZHMuKS0uMiBGKElmKTUuODY3IEUgRjIocGF0dGVybik0LjYxNyBFIEYwIC44NjYKIChpcyBzcGVjaVwyMTRlZCwpMy42MDcgRiBGMShoZWxwKTMuMzY2IEUgRjAoZ2kpMy4zNjYgRSAtLjE1KHZlKS0uMjUgRwogMy4zNjYoc2QpLjE1IEcoZXRhaWxlZCktMy4zNjYgRSAuMzA2KGhlbHAgb24gYWxsIGNvbW1hbmRzIG1hdGNoaW5nKTE0NAotMjMyLjggUiBGMihwYXR0ZXJuKTIuODA2IEUgRjAgMi44MDcoO28pLjI0IEcgLjMwNworMzMzLjYgUiBGMihwYXR0ZXJuKTIuODA2IEUgRjAgMi44MDcoO28pLjI0IEcgLjMwNwogKHRoZXJ3aXNlIGhlbHAgZm9yIGFsbCB0aGUgYiktMi44MDcgRiAuMzA3Ci0odWlsdGlucyBhbmQgc2hlbGwgY29udHJvbCBzdHJ1Yy0pLS4yIEYodHVyZXMgaXMgcHJpbnRlZC4pMTQ0IDI0NC44IFEgRjEKLTxhZDY0PjE0NCAyNTYuOCBRIEYwKERpc3BsYXkgYSBzaG9ydCBkZXNjcmlwdGlvbiBvZiBlYWNoKTI0Ljc0IEUgRjIKLShwYXR0ZXJuKTIuNSBFIEYxKC1tKTE0Ni41IDI2OC44IFEgRjAoRGlzcGxheSB0aGUgZGVzY3JpcHRpb24gb2YgZWFjaCkKLTIxLjg0IEUgRjIocGF0dGVybikyLjUgRSBGMChpbiBhIG1hbnBhZ2UtbGlrKTIuNSBFIDIuNShlZiktLjEgRyhvcm1hdCkKLS0yLjUgRSBGMTxhZDczPjE0NCAyODAuOCBRIEYwCisodWlsdGlucyBhbmQgc2hlbGwgY29udHJvbCBzdHJ1Yy0pLS4yIEYodHVyZXMgaXMgcHJpbnRlZC4pMTQ0IDM0NS42IFEgRjEKKzxhZDY0PjE0NCAzNTcuNiBRIEYwKERpc3BsYXkgYSBzaG9ydCBkZXNjcmlwdGlvbiBvZiBlYWNoKTI0Ljc0IEUgRjIKKyhwYXR0ZXJuKTIuNSBFIEYxPGFkNmQ+MTQ0IDM2OS42IFEgRjAoRGlzcGxheSB0aGUgZGVzY3JpcHRpb24gb2YgZWFjaCkKKzIxLjk3IEUgRjIocGF0dGVybikyLjUgRSBGMChpbiBhIG1hbnBhZ2UtbGlrKTIuNSBFIDIuNShlZiktLjEgRyhvcm1hdCkKKy0yLjUgRSBGMTxhZDczPjE0NCAzODEuNiBRIEYwCiAoRGlzcGxheSBvbmx5IGEgc2hvcnQgdXNhZ2Ugc3lub3BzaXMgZm9yIGVhY2gpMjYuNDEgRSBGMihwYXR0ZXJuKTIuNSBFCi1GMChUaGUgcmV0dXJuIHN0YXR1cyBpcyAwIHVubGVzcyBubyBjb21tYW5kIG1hdGNoZXMpMTA4IDI5Mi44IFEgRjIKLShwYXR0ZXJuKTIuNSBFIEYwKC4pLjI0IEUgRjEoaGlzdG9yeSBbKTEwOCAzMDkuNiBRIEYyKG4pQSBGMShdKUEKLShoaXN0b3J5IFwyNTVjKTEwOCAzMjEuNiBRKGhpc3RvcnkgXDI1NWQpMTA4IDMzMy42IFEgRjIob2YpMi41IEUoZnNldCkKLS0uMTggRSBGMShoaXN0b3J5IFwyNTVhbnJ3KTEwOCAzNDUuNiBRIEYwKFspMi41IEUgRjIoXDIxNGxlbmFtZSlBIEYwKF0pQQotRjEoaGlzdG9yeSBcMjU1cCkxMDggMzU3LjYgUSBGMihhcikyLjUgRShnKS0uMzcgRSBGMChbKTIuNSBFIEYyKGFyKUEgMi41Ci0oZy4pLS4zNyBHKC4uKS0yLjUgRSBGMChdKUEgRjEoaGlzdG9yeSBcMjU1cykxMDggMzY5LjYgUSBGMihhcikyLjUgRShnKQorRjAoVGhlIHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3Mgbm8gY29tbWFuZCBtYXRjaGVzKTEwOCAzOTMuNiBRIEYyCisocGF0dGVybikyLjUgRSBGMCguKS4yNCBFIEYxKGhpc3RvcnkgWykxMDggNDEwLjQgUSBGMihuKUEgRjEoXSlBCisoaGlzdG9yeSBcMjU1YykxMDggNDIyLjQgUShoaXN0b3J5IFwyNTVkKTEwOCA0MzQuNCBRIEYyKG9mKTIuNSBFKGZzZXQpCistLjE4IEUgRjEoaGlzdG9yeSBcMjU1YW5ydykxMDggNDQ2LjQgUSBGMChbKTIuNSBFIEYyKFwyMTRsZW5hbWUpQSBGMChdKUEKK0YxKGhpc3RvcnkgXDI1NXApMTA4IDQ1OC40IFEgRjIoYXIpMi41IEUoZyktLjM3IEUgRjAoWykyLjUgRSBGMihhcilBIDIuNQorKGcuKS0uMzcgRyguLiktMi41IEUgRjAoXSlBIEYxKGhpc3RvcnkgXDI1NXMpMTA4IDQ3MC40IFEgRjIoYXIpMi41IEUoZykKIC0uMzcgRSBGMChbKTIuNSBFIEYyKGFyKUEgMi41KGcuKS0uMzcgRyguLiktMi41IEUgRjAoXSlBIC0uNChXaSkxNDQKLTM4MS42IFMgLjc1MgorNDgyLjQgUyAuNzUyCiAodGggbm8gb3B0aW9ucywgZGlzcGxheSB0aGUgY29tbWFuZCBoaXN0b3J5IGxpc3Qgd2l0aCBsaW5lIG51bWJlcnMuKS40IEYKIC43NTIoTGluZXMgbGlzdGVkIHdpdGggYSk1Ljc1MiBGIEYxKCopMy4yNTEgRSBGMChoYSkzLjI1MSBFIC0uMTUodmUpLS4yCi1HIDEuMjMoYmVlbiBtb2RpXDIxNGVkLikxNDQgMzkzLjYgUiAxLjIzKEFuIGFyKTYuMjMgRiAxLjIzKGd1bWVudCBvZikKLS0uMTggRiBGMihuKTQuMDkgRSBGMCAxLjIzMShsaXN0cyBvbmx5IHRoZSBsYXN0KTMuOTcgRiBGMihuKTQuMDkxIEUgRjAKLTMuNzMxKGxpbmVzLiBJZikzLjk3MSBGIDEuMjMxKHRoZSBzaGVsbCB2KTMuNzMxIEYoYXJpYWJsZSktLjI1IEUgRjEKLShISVNUVElNRS0pMy43MzEgRShGT1JNQSkxNDQgNDA1LjYgUShUKS0uOTUgRSBGMCAuMjUKLShpcyBzZXQgYW5kIG5vdCBudWxsLCBpdCBpcyB1c2VkIGFzIGEgZm9ybWF0IHN0cmluZyBmb3IpMi43NSBGIEYyCi0oc3RyZnRpbWUpMi43NDkgRSBGMCAuMjQ5KFwoM1wpIHRvIGRpc3BsYXkgdGhlIHRpbWUgc3RhbXApQiAuMzc4Ci0oYXNzb2NpYXRlZCB3aXRoIGVhY2ggZGlzcGxheWVkIGhpc3RvcnkgZW50cnkpMTQ0IDQxNy42IFIgNS4zNzgoLk4pLS42NQotRyAyLjg3OChvaSktNS4zNzggRyhudGVydiktMi44NzggRSAuMzc5Ci0oZW5pbmcgYmxhbmsgaXMgcHJpbnRlZCBiZXR3ZWVuIHRoZSBmb3JtYXQtKS0uMTUgRiAuODE1Ci0odGVkIHRpbWUgc3RhbXAgYW5kIHRoZSBoaXN0b3J5IGxpbmUuKTE0NCA0MjkuNiBSKElmKTUuODE0IEUgRjIKLShcMjE0bGVuYW1lKTMuMzE0IEUgRjAgLjgxNAotKGlzIHN1cHBsaWVkLCBpdCBpcyB1c2VkIGFzIHRoZSBuYW1lIG9mIHRoZSBoaXN0b3J5KTMuMzE0IEYKLShcMjE0bGU7IGlmIG5vdCwgdGhlIHYpMTQ0IDQ0MS42IFEoYWx1ZSBvZiktLjI1IEUvRjMgOS9UaW1lcy1Cb2xkQDAgU0YKLShISVNURklMRSkyLjUgRSBGMChpcyB1c2VkLikyLjI1IEUoT3B0aW9ucywgaWYgc3VwcGxpZWQsIGhhKTUgRSAuMyAtLjE1Ci0odmUgdCktLjIgSChoZSBmb2xsbykuMTUgRSh3aW5nIG1lYW5pbmdzOiktLjI1IEUgRjE8YWQ2Mz4xNDQgNDUzLjYgUSBGMAorRyAuMzgoYmVlbiBtb2RpXDIxNGVkLikxNDQgNDk0LjQgUiAuMzgoQW4gYXIpNS4zOCBGIC4zOChndW1lbnQgb2YpLS4xOCBGCitGMihuKTMuMjQgRSBGMCAuMzgobGlzdHMgb25seSB0aGUgbGFzdCkzLjEyIEYgRjIobikzLjI0IEUgRjAgMi44OAorKGxpbmVzLiBJZikzLjEyIEYgLjM4KHRoZSBzaGVsbCB2KTIuODggRihhcmlhYmxlKS0uMjUgRSBGMyhISVNUVElNRUZPUi0pCisyLjg4MSBFKE1BKTE0NCA1MDYuNCBRKFQpLS44NTUgRSBGMCAuMjY1CisoaXMgc2V0IGFuZCBub3QgbnVsbCwgaXQgaXMgdXNlZCBhcyBhIGZvcm1hdCBzdHJpbmcgZm9yKTIuNTE1IEYgRjIKKyhzdHJmdGltZSkyLjc2NCBFIEYwIC4yNjQoXCgzXCkgdG8gZGlzcGxheSB0aGUgdGltZSBzdGFtcCBhc3NvLSlCIDEuMDE5CisoY2lhdGVkIHdpdGggZWFjaCBkaXNwbGF5ZWQgaGlzdG9yeSBlbnRyeSkxNDQgNTE4LjQgUiA2LjAxOSguTiktLjY1IEcKKzMuNTE5KG9pKS02LjAxOSBHKG50ZXJ2KS0zLjUxOSBFIDEuMDE5CisoZW5pbmcgYmxhbmsgaXMgcHJpbnRlZCBiZXR3ZWVuIHRoZSBmb3JtYXR0ZWQpLS4xNSBGIC4xNzYKKyh0aW1lIHN0YW1wIGFuZCB0aGUgaGlzdG9yeSBsaW5lLikxNDQgNTMwLjQgUihJZik1LjE3NiBFIEYyKFwyMTRsZW5hbWUpCisyLjY3NiBFIEYwIC4xNzYKKyhpcyBzdXBwbGllZCwgaXQgaXMgdXNlZCBhcyB0aGUgbmFtZSBvZiB0aGUgaGlzdG9yeSBcMjE0bGU7IGlmKTIuNjc2IEYKKyhub3QsIHRoZSB2KTE0NCA1NDIuNCBRKGFsdWUgb2YpLS4yNSBFIEYzKEhJU1RGSUxFKTIuNSBFIEYwKGlzIHVzZWQuKQorMi4yNSBFKE9wdGlvbnMsIGlmIHN1cHBsaWVkLCBoYSk1IEUgLjMgLS4xNSh2ZSB0KS0uMiBIKGhlIGZvbGxvKS4xNSBFCisod2luZyBtZWFuaW5nczopLS4yNSBFIEYxPGFkNjM+MTQ0IDU1NC40IFEgRjAKIChDbGVhciB0aGUgaGlzdG9yeSBsaXN0IGJ5IGRlbGV0aW5nIGFsbCB0aGUgZW50cmllcy4pMjUuODYgRSBGMTxhZDY0PjE0NAotNDY1LjYgUSBGMihvZikyLjUgRShmc2V0KS0uMTggRSBGMChEZWxldGUgdGhlIGhpc3RvcnkgZW50cnkgYXQgcG9zaXRpb24pCi0xODAgNDc3LjYgUSBGMihvZikyLjUgRShmc2V0KS0uMTggRSBGMCguKUEgRjE8YWQ2MT4xNDQgNDg5LjYgUSBGMCAuNTk4Cis1NjYuNCBRIEYyKG9mKTIuNSBFKGZzZXQpLS4xOCBFIEYwKERlbGV0ZSB0aGUgaGlzdG9yeSBlbnRyeSBhdCBwb3NpdGlvbikKKzE4MCA1NzguNCBRIEYyKG9mKTIuNSBFKGZzZXQpLS4xOCBFIEYwKC4pQSBGMTxhZDYxPjE0NCA1OTAuNCBRIEYwIC41OTgKIChBcHBlbmQgdGhlIGApMjUuMyBGKGBuZSktLjc0IEUodycpLS4yNSBFIDMuMDk4KCdoKS0uNzQgRyAuNTk4CiAoaXN0b3J5IGxpbmVzIFwoaGlzdG9yeSBsaW5lcyBlbnRlcmVkIHNpbmNlIHRoZSBiZSktMy4wOTggRiAuNTk5Ci0oZ2lubmluZyBvZiB0aGUgY3VycmVudCktLjE1IEYgRjEoYmFzaCkxODAgNTAxLjYgUSBGMAotKHNlc3Npb25cKSB0byB0aGUgaGlzdG9yeSBcMjE0bGUuKTIuNSBFIEYxPGFkNmU+MTQ0IDUxMy42IFEgRjAgLjg1NChSZWFcCisoZ2lubmluZyBvZiB0aGUgY3VycmVudCktLjE1IEYgRjEoYmFzaCkxODAgNjAyLjQgUSBGMAorKHNlc3Npb25cKSB0byB0aGUgaGlzdG9yeSBcMjE0bGUuKTIuNSBFIEYxPGFkNmU+MTQ0IDYxNC40IFEgRjAgLjg1NChSZWFcCiBkIHRoZSBoaXN0b3J5IGxpbmVzIG5vdCBhbHJlYWR5IHJlYWQgZnJvbSB0aGUgaGlzdG9yeSBcMjE0bGUgaW50byB0aGUgY1wKIHVycmVudCBoaXN0b3J5IGxpc3QuKTI0Ljc0IEYgLjc3MgotKFRoZXNlIGFyZSBsaW5lcyBhcHBlbmRlZCB0byB0aGUgaGlzdG9yeSBcMjE0bGUgc2luY2UgdGhlIGJlKTE4MCA1MjUuNiBSCisoVGhlc2UgYXJlIGxpbmVzIGFwcGVuZGVkIHRvIHRoZSBoaXN0b3J5IFwyMTRsZSBzaW5jZSB0aGUgYmUpMTgwIDYyNi40IFIKIC43NzMoZ2lubmluZyBvZiB0aGUgY3VycmVudCktLjE1IEYgRjEoYmFzaCkzLjI3MyBFIEYwKHNlcy0pMy4yNzMgRQotKHNpb24uKTE4MCA1MzcuNiBRIEYxPGFkNzI+MTQ0IDU0OS42IFEgRjAoUmVhZCB0aGUgY29udGVudHMgb2YgdGhlIGhpc3RcCisoc2lvbi4pMTgwIDYzOC40IFEgRjE8YWQ3Mj4xNDQgNjUwLjQgUSBGMChSZWFkIHRoZSBjb250ZW50cyBvZiB0aGUgaGlzdFwKIG9yeSBcMjE0bGUgYW5kIHVzZSB0aGVtIGFzIHRoZSBjdXJyZW50IGhpc3RvcnkpMjUuODYgRSguKS0uNjUgRSBGMTxhZDc3PgotMTQ0IDU2MS42IFEgRjAoV3JpdGUgdGhlIGN1cnJlbnQgaGlzdG9yeSB0byB0aGUgaGlzdG9yeSBcMjE0bGUsIG8pMjMuMDgKKzE0NCA2NjIuNCBRIEYwKFdyaXRlIHRoZSBjdXJyZW50IGhpc3RvcnkgdG8gdGhlIGhpc3RvcnkgXDIxNGxlLCBvKTIzLjA4CiBFIC0uMTUodmUpLS4xNSBHKHJ3cml0aW5nIHRoZSBoaXN0b3J5IFwyMTRsZScpLjE1IEUgMi41KHNjKS0uNTUgRwotKG9udGVudHMuKS0yLjUgRSBGMTxhZDcwPjE0NCA1NzMuNiBRIEYwIC42MjYKKyhvbnRlbnRzLiktMi41IEUgRjE8YWQ3MD4xNDQgNjc0LjQgUSBGMCAuNjI2CiAoUGVyZm9ybSBoaXN0b3J5IHN1YnN0aXR1dGlvbiBvbiB0aGUgZm9sbG8pMjQuNzQgRih3aW5nKS0uMjUgRSBGMihhcikKIDMuMTI1IEUoZ3MpLS4zNyBFIEYwIC42MjUoYW5kIGRpc3BsYXkgdGhlIHJlc3VsdCBvbiB0aGUgc3RhbmRhcmQpMy4xMjUgRgotMi45NzUob3V0cHV0LiBEb2VzKTE4MCA1ODUuNiBSIC40NzUKKzIuOTc1KG91dHB1dC4gRG9lcykxODAgNjg2LjQgUiAuNDc1CiAobm90IHN0b3JlIHRoZSByZXN1bHRzIGluIHRoZSBoaXN0b3J5IGxpc3QuKTIuOTc1IEYoRWFjaCk1LjQ3NSBFIEYyKGFyKQogMi45NzUgRShnKS0uMzcgRSBGMCAuNDc1KG11c3QgYmUgcXVvdGVkIHRvIGRpc2FibGUpMi45NzUgRgotKG5vcm1hbCBoaXN0b3J5IGUpMTgwIDU5Ny42IFEoeHBhbnNpb24uKS0uMTUgRSBGMTxhZDczPjE0NCA2MDkuNiBRIEYwCisobm9ybWFsIGhpc3RvcnkgZSkxODAgNjk4LjQgUSh4cGFuc2lvbi4pLS4xNSBFIEYxPGFkNzM+MTQ0IDcxMC40IFEgRjAKIC4zNjMoU3RvcmUgdGhlKTI2LjQxIEYgRjIoYXIpMy4xOTMgRShncyktLjM3IEUgRjAgLjM2MwogKGluIHRoZSBoaXN0b3J5IGxpc3QgYXMgYSBzaW5nbGUgZW50cnkpMy4xMzMgRiA1LjM2MyguVCktLjY1IEcgLjM2MgotKGhlIGxhc3QgY29tbWFuZCBpbiB0aGUgaGlzdG9yeSBsaXN0IGlzKS01LjM2MyBGKHJlbW8pMTgwIDYyMS42IFEgLS4xNQorKGhlIGxhc3QgY29tbWFuZCBpbiB0aGUgaGlzdG9yeSBsaXN0IGlzKS01LjM2MyBGKHJlbW8pMTgwIDcyMi40IFEgLS4xNQogKHZlKS0uMTUgRyAyLjUoZGIpLjE1IEcoZWZvcmUgdGhlKS0yLjUgRSBGMihhcikyLjgzIEUoZ3MpLS4zNyBFIEYwCi0oYXJlIGFkZGVkLikyLjc3IEUgLjI4KElmIHRoZSkxNDQgNjM4LjQgUiBGMShISVNUVElNRUZPUk1BKTIuNzggRShUKS0uOTUKLUUgRjAgLjI4Ci0oaXMgc2V0LCB0aGUgdGltZSBzdGFtcCBpbmZvcm1hdGlvbiBhc3NvY2lhdGVkIHdpdGggZWFjaCBoaXN0b3J5IGVudHJ5KQotMi43OCBGIC41NChpcyB3cml0dGVuIHRvIHRoZSBoaXN0b3J5IFwyMTRsZSwgbWFyaykxNDQgNjUwLjQgUiAuNTM5Ci0oZWQgd2l0aCB0aGUgaGlzdG9yeSBjb21tZW50IGNoYXJhY3RlciktLjEgRiA1LjUzOSguVyktLjU1IEcgLjUzOQotKGhlbiB0aGUgaGlzdG9yeSBcMjE0bGUgaXMpLTUuNTM5IEYgMS43NzgocmVhZCwgbGluZXMgYmUpMTQ0IDY2Mi40IFIKLTEuNzc4KGdpbm5pbmcgd2l0aCB0aGUgaGlzdG9yeSBjb21tZW50IGNoYXJhY3RlciBmb2xsbyktLjE1IEYgMS43NzkKLSh3ZWQgaW1tZWRpYXRlbHkgYnkgYSBkaWdpdCBhcmUpLS4yNSBGIDEuNDI0Ci0oaW50ZXJwcmV0ZWQgYXMgdGltZXN0YW1wcyBmb3IgdGhlIHByZSkxNDQgNjc0LjQgUiAxLjQyNAotKHZpb3VzIGhpc3RvcnkgbGluZS4pLS4yNSBGIDEuNDI0KFRoZSByZXR1cm4gdik2LjQyNCBGIDEuNDI0Ci0oYWx1ZSBpcyAwIHVubGVzcyBhbiBpbiktLjI1IEYgLS4yNSh2YSktLjQgRyhsaWQpLjI1IEUgLjQ5OShvcHRpb24gaXMgZVwKLW5jb3VudGVyZWQsIGFuIGVycm9yIG9jY3VycyB3aGlsZSByZWFkaW5nIG9yIHdyaXRpbmcgdGhlIGhpc3RvcnkgXDIxNGxlXAotLCBhbiBpbikxNDQgNjg2LjQgUiAtLjI1KHZhKS0uNCBHKGxpZCkuMjUgRSBGMihvZikzIEUoZnNldCktLjE4IEUgRjAoaXMpCi0zIEUoc3VwcGxpZWQgYXMgYW4gYXIpMTQ0IDY5OC40IFEoZ3VtZW50IHRvKS0uMTggRSBGMTxhZDY0PjIuNSBFIEYwIDIuNQotKCxvKUMgMi41KHJ0KS0yLjUgRyhoZSBoaXN0b3J5IGUpLTIuNSBFKHhwYW5zaW9uIHN1cHBsaWVkIGFzIGFuIGFyKS0uMTUKLUUoZ3VtZW50IHRvKS0uMTggRSBGMTxhZDcwPjIuNSBFIEYwIC0uMShmYSkyLjUgRyhpbHMuKS4xIEUoR05VIEJhc2gtNC4wKQotNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDkpMjAzLjcyNSBFIDAgQ2cgRVAKKyhhcmUgYWRkZWQuKTIuNzcgRShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDkpMjAzLjcyNQorRSAwIENnIEVQCiAlJVBhZ2U6IDEwIDEwCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyhTSF9CKS4zNSBFKFVJTCktLjEgRSAyOTAuNDgKLShUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFL0YxIDEwCi0vVGltZXMtQm9sZEAwIFNGKGpvYnMpMTA4IDg0IFEgRjAoWykyLjUgRSBGMShcMjU1bG5wcnMpQSBGMCAyLjUoXVspQy9GMgotMTAvVGltZXMtSXRhbGljQDAgU0Yoam9ic3BlYylBIEYwKC4uLiBdKTIuNSBFIEYxKGpvYnMgXDI1NXgpMTA4IDk2IFEgRjIKKyhUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFIC4xNDUoSWYgdGhlKQorMTQ0IDg0IFIvRjEgOS9UaW1lcy1Cb2xkQDAgU0YoSElTVFRJTUVGT1JNQSkyLjY0NSBFKFQpLS44NTUgRSBGMCAtLjI1CisodmEpMi4zOTUgRyAuMTQ1CisocmlhYmxlIGlzIHNldCwgdGhlIHRpbWUgc3RhbXAgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGVhY2ggaGlzdG9yeSkKKy4yNSBGIC42NjkoZW50cnkgaXMgd3JpdHRlbiB0byB0aGUgaGlzdG9yeSBcMjE0bGUsIG1hcmspMTQ0IDk2IFIgLjY2OQorKGVkIHdpdGggdGhlIGhpc3RvcnkgY29tbWVudCBjaGFyYWN0ZXIpLS4xIEYgNS42NjgoLlcpLS41NSBHIC42NjgKKyhoZW4gdGhlIGhpc3RvcnkpLTUuNjY4IEYgLjk1NShcMjE0bGUgaXMgcmVhZCwgbGluZXMgYmUpMTQ0IDEwOCBSIC45NTYKKyhnaW5uaW5nIHdpdGggdGhlIGhpc3RvcnkgY29tbWVudCBjaGFyYWN0ZXIgZm9sbG8pLS4xNSBGIC45NTYKKyh3ZWQgaW1tZWRpYXRlbHkgYnkgYSBkaWdpdCktLjI1IEYgLjQxNgorKGFyZSBpbnRlcnByZXRlZCBhcyB0aW1lc3RhbXBzIGZvciB0aGUgcHJlKTE0NCAxMjAgUiAuNDE2CisodmlvdXMgaGlzdG9yeSBsaW5lLiktLjI1IEYgLjQxNihUaGUgcmV0dXJuIHYpNS40MTYgRiAuNDE1CisoYWx1ZSBpcyAwIHVubGVzcyBhbiBpbiktLjI1IEYgLS4yNSh2YSktLjQgRyhsaWQpLjI1IEUgLjQ5OShvcHRpb24gaXMgZVwKK25jb3VudGVyZWQsIGFuIGVycm9yIG9jY3VycyB3aGlsZSByZWFkaW5nIG9yIHdyaXRpbmcgdGhlIGhpc3RvcnkgXDIxNGxlXAorLCBhbiBpbikxNDQgMTMyIFIgLS4yNSh2YSktLjQgRyhsaWQpLjI1IEUvRjIgMTAvVGltZXMtSXRhbGljQDAgU0Yob2YpMyBFCisoZnNldCktLjE4IEUgRjAoaXMpMyBFKHN1cHBsaWVkIGFzIGFuIGFyKTE0NCAxNDQgUShndW1lbnQgdG8pLS4xOCBFL0YzCisxMC9UaW1lcy1Cb2xkQDAgU0Y8YWQ2ND4yLjUgRSBGMCAyLjUoLG8pQyAyLjUocnQpLTIuNSBHKGhlIGhpc3RvcnkgZSkKKy0yLjUgRSh4cGFuc2lvbiBzdXBwbGllZCBhcyBhbiBhciktLjE1IEUoZ3VtZW50IHRvKS0uMTggRSBGMzxhZDcwPjIuNSBFCitGMCAtLjEoZmEpMi41IEcoaWxzLikuMSBFIEYzKGpvYnMpMTA4IDE2MC44IFEgRjAoWykyLjUgRSBGMyhcMjU1bG5wcnMpQQorRjAgMi41KF1bKUMgRjIoam9ic3BlYylBIEYwKC4uLiBdKTIuNSBFIEYzKGpvYnMgXDI1NXgpMTA4IDE3Mi44IFEgRjIKIChjb21tYW5kKTIuNSBFIEYwKFspMi41IEUgRjIoYXIpMi41IEUoZ3MpLS4zNyBFIEYwKC4uLiBdKTIuNSBFCi0oVGhlIFwyMTRyc3QgZm9ybSBsaXN0cyB0aGUgYWN0aSkxNDQgMTA4IFEgLjMgLS4xNSh2ZSBqKS0uMjUgSCAyLjUKKyhUaGUgXDIxNHJzdCBmb3JtIGxpc3RzIHRoZSBhY3RpKTE0NCAxODQuOCBRIC4zIC0uMTUodmUgaiktLjI1IEggMi41CiAob2JzLiBUaGUpLjE1IEYob3B0aW9ucyBoYSkyLjUgRSAuMyAtLjE1KHZlIHQpLS4yIEgoaGUgZm9sbG8pLjE1IEUKLSh3aW5nIG1lYW5pbmdzOiktLjI1IEUgRjE8YWQ2Yz4xNDQgMTIwIFEgRjAKLShMaXN0IHByb2Nlc3MgSURzIGluIGFkZGl0aW9uIHRvIHRoZSBub3JtYWwgaW5mb3JtYXRpb24uKTI3LjUyIEUgRjEKLTxhZDcwPjE0NCAxMzIgUSBGMChMaXN0IG9ubHkgdGhlIHByb2Nlc3MgSUQgb2YgdGhlIGpvYicpMjQuNzQgRSAyLjUoc3ApCi0tLjU1IEcocm9jZXNzIGdyb3VwIGxlYWRlciktMi41IEUoLiktLjU1IEUgRjE8YWQ2ZT4xNDQgMTQ0IFEgRjAgLjE5NAotKERpc3BsYXkgaW5mb3JtYXRpb24gb25seSBhYm91dCBqb2JzIHRoYXQgaGEpMjQuNzQgRiAuNDk0IC0uMTUodmUgYyktLjIKLUggLjE5MyhoYW5nZWQgc3RhdHVzIHNpbmNlIHRoZSB1c2VyIHcpLjE1IEYgLjE5MyhhcyBsYXN0IG5vdGktKS0uMSBGCi0oXDIxNGVkIG9mIHRoZWlyIHN0YXR1cy4pMTgwIDE1NiBRIEYxPGFkNzI+MTQ0IDE2OCBRIEYwCi0oUmVzdHJpY3Qgb3V0cHV0IHRvIHJ1bm5pbmcgam9icy4pMjUuODYgRSBGMTxhZDczPjE0NCAxODAgUSBGMAotKFJlc3RyaWN0IG91dHB1dCB0byBzdG9wcGVkIGpvYnMuKTI2LjQxIEUoSWYpMTQ0IDE5Ni44IFEgRjIoam9ic3BlYykKKyh3aW5nIG1lYW5pbmdzOiktLjI1IEUgRjM8YWQ2Yz4xNDQgMTk2LjggUSBGMAorKExpc3QgcHJvY2VzcyBJRHMgaW4gYWRkaXRpb24gdG8gdGhlIG5vcm1hbCBpbmZvcm1hdGlvbi4pMjcuNTIgRSBGMworPGFkNzA+MTQ0IDIwOC44IFEgRjAoTGlzdCBvbmx5IHRoZSBwcm9jZXNzIElEIG9mIHRoZSBqb2InKTI0Ljc0IEUgMi41Cisoc3ApLS41NSBHKHJvY2VzcyBncm91cCBsZWFkZXIpLTIuNSBFKC4pLS41NSBFIEYzPGFkNmU+MTQ0IDIyMC44IFEgRjAKKy4xOTQoRGlzcGxheSBpbmZvcm1hdGlvbiBvbmx5IGFib3V0IGpvYnMgdGhhdCBoYSkyNC43NCBGIC40OTQgLS4xNSh2ZSBjKQorLS4yIEggLjE5MyhoYW5nZWQgc3RhdHVzIHNpbmNlIHRoZSB1c2VyIHcpLjE1IEYgLjE5MyhhcyBsYXN0IG5vdGktKS0uMSBGCisoXDIxNGVkIG9mIHRoZWlyIHN0YXR1cy4pMTgwIDIzMi44IFEgRjM8YWQ3Mj4xNDQgMjQ0LjggUSBGMAorKFJlc3RyaWN0IG91dHB1dCB0byBydW5uaW5nIGpvYnMuKTI1Ljg2IEUgRjM8YWQ3Mz4xNDQgMjU2LjggUSBGMAorKFJlc3RyaWN0IG91dHB1dCB0byBzdG9wcGVkIGpvYnMuKTI2LjQxIEUoSWYpMTQ0IDI3My42IFEgRjIoam9ic3BlYykKIDQuNTUzIEUgRjAgLjMxMyhpcyBnaSkzLjEyMyBGIC0uMTUodmUpLS4yNSBHIC4zMTMKIChuLCBvdXRwdXQgaXMgcmVzdHJpY3RlZCB0byBpbmZvcm1hdGlvbiBhYm91dCB0aGF0IGpvYikuMTUgRiA1LjMxNCguVCkKLS0uNCBHIC4zMTQoaGUgcmV0dXJuIHN0YXR1cyBpcyAwIHVubGVzcyktNS4zMTQgRihhbiBpbikxNDQgMjA4LjggUSAtLjI1CistLjQgRyAuMzE0KGhlIHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3MpLTUuMzE0IEYoYW4gaW4pMTQ0IDI4NS42IFEgLS4yNQogKHZhKS0uNCBHKGxpZCBvcHRpb24gaXMgZW5jb3VudGVyZWQgb3IgYW4gaW4pLjI1IEUgLS4yNSh2YSktLjQgRyhsaWQpLjI1Ci1FIEYyKGpvYnNwZWMpNC4yNCBFIEYwKGlzIHN1cHBsaWVkLikyLjgxIEUgLjM5NShJZiB0aGUpMTQ0IDIyNS42IFIgRjEKLTxhZDc4PjIuODk1IEUgRjAgLjM5NChvcHRpb24gaXMgc3VwcGxpZWQsKTIuODk0IEYgRjEoam9icykyLjg5NCBFIEYwCitFIEYyKGpvYnNwZWMpNC4yNCBFIEYwKGlzIHN1cHBsaWVkLikyLjgxIEUgLjM5NShJZiB0aGUpMTQ0IDMwMi40IFIgRjMKKzxhZDc4PjIuODk1IEUgRjAgLjM5NChvcHRpb24gaXMgc3VwcGxpZWQsKTIuODk0IEYgRjMoam9icykyLjg5NCBFIEYwCiAuMzk0KHJlcGxhY2VzIGFuKTIuODk0IEYoeSktLjE1IEUgRjIoam9ic3BlYyk0LjYzNCBFIEYwIC4zOTQoZm91bmQgaW4pCiAzLjIwNCBGIEYyKGNvbW1hbmQpMy4wOTQgRSBGMChvcikzLjY2NCBFIEYyKGFyKTMuMjI0IEUoZ3MpLS4zNyBFIEYwIC4zOTQKLSh3aXRoIHRoZSBjb3JyZS0pMy4xNjQgRihzcG9uZGluZyBwcm9jZXNzIGdyb3VwIElELCBhbmQgZSkxNDQgMjM3LjYgUQorKHdpdGggdGhlIGNvcnJlLSkzLjE2NCBGKHNwb25kaW5nIHByb2Nlc3MgZ3JvdXAgSUQsIGFuZCBlKTE0NCAzMTQuNCBRCiAtLjE1KHhlKS0uMTUgRyhjdXRlcykuMTUgRSBGMihjb21tYW5kKTIuNyBFIEYwKHBhc3NpbmcgaXQpMy4yNyBFIEYyKGFyKQogMi41IEUoZ3MpLS4zNyBFIEYwIDIuNSgscikuMjcgRyhldHVybmluZyBpdHMgZSktMi41IEUoeGl0IHN0YXR1cy4pLS4xNSBFCi1GMShraWxsKTEwOCAyNTQuNCBRIEYwKFspMi41IEUgRjE8YWQ3Mz5BIEYyKHNpZ3NwZWMpMi41IEUgRjAofCkyLjUgRSBGMQotPGFkNmU+Mi41IEUgRjIoc2lnbnVtKTIuNSBFIEYwKHwpMi41IEUgRjE8YWQ+Mi41IEUgRjIoc2lnc3BlYylBIEYwIDIuNQotKF1bKUMgRjIocGlkKS0yLjUgRSBGMCh8KTIuNSBFIEYyKGpvYnNwZWMpMi41IEUgRjAgMi41KF0uKUMoLi4pLTIuNSBFIEYxCi0oa2lsbCBcMjU1bCkxMDggMjY2LjQgUSBGMChbKTIuNSBFIEYyKHNpZ3NwZWMpQSBGMCh8KTIuNSBFIEYyIC0uMihleCkyLjUKLUcoaXRfc3RhdHVzKS4yIEUgRjAoXSlBIC4xMTkoU2VuZCB0aGUgc2lnbmFsIG5hbWVkIGJ5KTE0NCAyNzguNCBSIEYyCitGMyhraWxsKTEwOCAzMzEuMiBRIEYwKFspMi41IEUgRjM8YWQ3Mz5BIEYyKHNpZ3NwZWMpMi41IEUgRjAofCkyLjUgRSBGMworPGFkNmU+Mi41IEUgRjIoc2lnbnVtKTIuNSBFIEYwKHwpMi41IEUgRjM8YWQ+Mi41IEUgRjIoc2lnc3BlYylBIEYwIDIuNQorKF1bKUMgRjIocGlkKS0yLjUgRSBGMCh8KTIuNSBFIEYyKGpvYnNwZWMpMi41IEUgRjAgMi41KF0uKUMoLi4pLTIuNSBFIEYzCisoa2lsbCBcMjU1bCkxMDggMzQzLjIgUSBGMChbKTIuNSBFIEYyKHNpZ3NwZWMpQSBGMCh8KTIuNSBFIEYyIC0uMihleCkyLjUKK0coaXRfc3RhdHVzKS4yIEUgRjAoXSlBIC4xMTkoU2VuZCB0aGUgc2lnbmFsIG5hbWVkIGJ5KTE0NCAzNTUuMiBSIEYyCiAoc2lnc3BlYykyLjk1OSBFIEYwKG9yKTIuOTI5IEUgRjIoc2lnbnVtKTIuOTU5IEUgRjAgLjExOQogKHRvIHRoZSBwcm9jZXNzZXMgbmFtZWQgYnkpMi45MzkgRiBGMihwaWQpMy44NyBFIEYwKG9yKTMuMzkgRSBGMgogKGpvYnNwZWMpMi42MiBFIEYwKC4pLjMxIEUgRjIoc2lnc3BlYyk1LjQ2IEUgRjAoaXMpMi45MyBFIC4zMTkKLShlaXRoZXIgYSBjYXNlLWluc2Vuc2l0aSkxNDQgMjkwLjQgUiAuNjE5IC0uMTUodmUgcyktLjI1IEggLjMxOQotKGlnbmFsIG5hbWUgc3VjaCBhcykuMTUgRi9GMyA5L1RpbWVzLUJvbGRAMCBTRihTSUdLSUxMKTIuODE5IEUgRjAgLjMxOAotKFwod2l0aCBvciB3aXRob3V0IHRoZSkyLjU2OSBGIEYzKFNJRykyLjgxOCBFIEYwIC4zMTgKLShwcmVcMjE0eFwpIG9yIGEgc2lnbmFsKTIuNTY4IEYobnVtYmVyOykxNDQgMzAyLjQgUSBGMihzaWdudW0pNC4xODggRSBGMAorKGVpdGhlciBhIGNhc2UtaW5zZW5zaXRpKTE0NCAzNjcuMiBSIC42MTkgLS4xNSh2ZSBzKS0uMjUgSCAuMzE5CisoaWduYWwgbmFtZSBzdWNoIGFzKS4xNSBGIEYxKFNJR0tJTEwpMi44MTkgRSBGMCAuMzE4CisoXCh3aXRoIG9yIHdpdGhvdXQgdGhlKTIuNTY5IEYgRjEoU0lHKTIuODE4IEUgRjAgLjMxOAorKHByZVwyMTR4XCkgb3IgYSBzaWduYWwpMi41NjggRihudW1iZXI7KTE0NCAzNzkuMiBRIEYyKHNpZ251bSk0LjE4OCBFIEYwCiAxLjM0OShpcyBhIHNpZ25hbCBudW1iZXIpNC4xNjggRiA2LjM0OSguSSktLjU1IEcoZiktNi4zNDkgRSBGMihzaWdzcGVjKQotNC4xODkgRSBGMCAxLjM0OShpcyBub3QgcHJlc2VudCwgdGhlbik0LjE1OSBGIEYzKFNJR1RFUk0pMy44NDkgRSBGMAotMS4zNDkoaXMgYXNzdW1lZC4pMy41OTkgRihBbik2LjM0OSBFKGFyKTE0NCAzMTQuNCBRIC41MjMoZ3VtZW50IG9mKS0uMTgKLUYgRjE8YWQ2Yz4zLjAyMyBFIEYwIC41MjMobGlzdHMgdGhlIHNpZ25hbCBuYW1lcy4pMy4wMjMgRiAuNTIzKElmIGFuKQorNC4xODkgRSBGMCAxLjM0OShpcyBub3QgcHJlc2VudCwgdGhlbik0LjE1OSBGIEYxKFNJR1RFUk0pMy44NDkgRSBGMAorMS4zNDkoaXMgYXNzdW1lZC4pMy41OTkgRihBbik2LjM0OSBFKGFyKTE0NCAzOTEuMiBRIC41MjMoZ3VtZW50IG9mKS0uMTgKK0YgRjM8YWQ2Yz4zLjAyMyBFIEYwIC41MjMobGlzdHMgdGhlIHNpZ25hbCBuYW1lcy4pMy4wMjMgRiAuNTIzKElmIGFuKQogNS41MjMgRiAzLjAyMyh5YSktLjE1IEcgLS4xOChyZyktMy4wMjMgRyAuNTIzKHVtZW50cyBhcmUgc3VwcGxpZWQgd2hlbikKLS4xOCBGIEYxPGFkNmM+My4wMjMgRSBGMCAuNTIzKGlzIGdpKTMuMDIzIEYgLS4xNSh2ZSktLjI1IEcgLjUyMwotKG4sIHRoZSBuYW1lcykuMTUgRiAuMjgob2YgdGhlIHNpZ25hbHMgY29ycmVzcG9uZGluZyB0byB0aGUgYXIpMTQ0IDMyNi40CisuMTggRiBGMzxhZDZjPjMuMDIzIEUgRjAgLjUyMyhpcyBnaSkzLjAyMyBGIC0uMTUodmUpLS4yNSBHIC41MjMKKyhuLCB0aGUgbmFtZXMpLjE1IEYgLjI4KG9mIHRoZSBzaWduYWxzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGFyKTE0NCA0MDMuMgogUiAuMjgoZ3VtZW50cyBhcmUgbGlzdGVkLCBhbmQgdGhlIHJldHVybiBzdGF0dXMgaXMgMC4pLS4xOCBGKFRoZSk1LjI4IEUKLUYyIC0uMihleCkyLjc4IEcoaXRfc3RhdHVzKS4yIEUgRjAoYXIpMTQ0IDMzOC40IFEgLjM3OChndW1lbnQgdG8pLS4xOCBGCi1GMTxhZDZjPjIuODc4IEUgRjAgLjM3OAorRjIgLS4yKGV4KTIuNzggRyhpdF9zdGF0dXMpLjIgRSBGMChhcikxNDQgNDE1LjIgUSAuMzc4KGd1bWVudCB0byktLjE4IEYKK0YzPGFkNmM+Mi44NzggRSBGMCAuMzc4CiAoaXMgYSBudW1iZXIgc3BlY2lmeWluZyBlaXRoZXIgYSBzaWduYWwgbnVtYmVyIG9yIHRoZSBlKTIuODc4IEYgLjM3NwotKHhpdCBzdGF0dXMgb2YgYSBwcm9jZXNzIHRlcm1pLSktLjE1IEYgLjU5MyhuYXRlZCBieSBhIHNpZ25hbC4pMTQ0IDM1MC40Ci1SIEYxKGtpbGwpNS41OTMgRSBGMCAuNTkzKHJldHVybnMgdHJ1ZSBpZiBhdCBsZWFzdCBvbmUgc2lnbmFsIHcpMy4wOTMgRgorKHhpdCBzdGF0dXMgb2YgYSBwcm9jZXNzIHRlcm1pLSktLjE1IEYgLjU5MyhuYXRlZCBieSBhIHNpZ25hbC4pMTQ0IDQyNy4yCitSIEYzKGtpbGwpNS41OTMgRSBGMCAuNTkzKHJldHVybnMgdHJ1ZSBpZiBhdCBsZWFzdCBvbmUgc2lnbmFsIHcpMy4wOTMgRgogLjU5MyhhcyBzdWNjZXNzZnVsbHkgc2VudCwgb3IgZiktLjEgRiAuNTk0KGFsc2UgaWYgYW4gZXJyb3IpLS4xIEYKLShvY2N1cnMgb3IgYW4gaW4pMTQ0IDM2Mi40IFEgLS4yNSh2YSktLjQgRyhsaWQgb3B0aW9uIGlzIGVuY291bnRlcmVkLikKLS4yNSBFIEYxKGxldCkxMDggMzc5LjIgUSBGMihhcikyLjUgRShnKS0uMzcgRSBGMChbKTIuNSBFIEYyKGFyKUEoZyktLjM3Ci1FIEYwKC4uLl0pMi41IEUoRWFjaCkxNDQgMzkxLjIgUSBGMihhcikzLjk2NSBFKGcpLS4zNyBFIEYwIDEuMTM1Ci0oaXMgYW4gYXJpdGhtZXRpYyBlKTMuODU1IEYgMS4xMzQoeHByZXNzaW9uIHRvIGJlIGUpLS4xNSBGIC0uMjUodmEpLS4yNQotRyAxLjEzNChsdWF0ZWQgXChzZWUpLjI1IEYgRjMgMS4xMzQoQVJJVEhNRVRJQyBFVikzLjYzNCBGKEFMVSktMS4yMTUgRQotLS44NTUoQVQpLS41NCBHKElPTikuODU1IEUvRjQgOS9UaW1lcy1Sb21hbkAwIFNGKFwpLilBIEYwIDEuMTM0KElmIHRoZSkKLTUuNjM0IEYobGFzdCkxNDQgNDAzLjIgUSBGMihhcikyLjgzIEUoZyktLjM3IEUgRjAgLS4yNShldmEpMi43MiBHCi0obHVhdGVzIHRvIDAsKS4yNSBFIEYxKGxldCkyLjUgRSBGMChyZXR1cm5zIDE7IDAgaXMgcmV0dXJuZWQgb3RoZXJ3aXNlLikKLTIuNSBFIEYxKGxvY2FsKTEwOCA0MjAgUSBGMChbKTIuNSBFIEYyKG9wdGlvbilBIEYwIDIuNShdWylDIEYyKG5hbWUpLTIuNQotRSBGMChbPSlBIEYyKHZhbHVlKUEgRjAgMi41KF0uKUMoLi5dKS0yLjUgRSAtLjE1KEZvKTE0NCA0MzIgUyAyLjU2KHJlKQotLjE1IEcgLjA2KGFjaCBhciktMi41NiBGIC4wNihndW1lbnQsIGEgbG9jYWwgdiktLjE4IEYgLjA2KGFyaWFibGUgbmFtZWQpCi0tLjI1IEYgRjIobmFtZSkyLjkyIEUgRjAgLjA2KGlzIGNyZWF0ZWQsIGFuZCBhc3NpZ25lZCkyLjc0IEYgRjIodmFsdWUpCi0yLjU2IEUgRjAgNS4wNiguVCkuMTggRyhoZSktNS4wNiBFIEYyKG9wdGlvbikyLjU2IEUgRjAgLjA2KGNhbiBiZSkyLjU2IEYKLShhbikxNDQgNDQ0IFEgMy4xNTMoeW8pLS4xNSBHIDMuMTUzKGZ0KS0zLjE1MyBHIC42NTMKLShoZSBvcHRpb25zIGFjY2VwdGVkIGJ5KS0zLjE1MyBGIEYxKGRlY2xhcikzLjE1MyBFKGUpLS4xOCBFIEYwIDUuNjUyKC5XKQotQyhoZW4pLTUuNjUyIEUgRjEobG9jYWwpMy4xNTIgRSBGMCAuNjUyCisob2NjdXJzIG9yIGFuIGluKTE0NCA0MzkuMiBRIC0uMjUodmEpLS40IEcobGlkIG9wdGlvbiBpcyBlbmNvdW50ZXJlZC4pCisuMjUgRSBGMyhsZXQpMTA4IDQ1NiBRIEYyKGFyKTIuNSBFKGcpLS4zNyBFIEYwKFspMi41IEUgRjIoYXIpQShnKS0uMzcgRQorRjAoLi4uXSkyLjUgRShFYWNoKTE0NCA0NjggUSBGMihhcikzLjAyNyBFKGcpLS4zNyBFIEYwIC4xOTcKKyhpcyBhbiBhcml0aG1ldGljIGUpMi45MTcgRiAuMTk3KHhwcmVzc2lvbiB0byBiZSBlKS0uMTUgRiAtLjI1KHZhKS0uMjUgRworLjE5NihsdWF0ZWQgXChzZWUpLjI1IEYgRjEgLjE5NihBUklUSE1FVElDIEVWKTIuNjk2IEYoQUxVKS0xLjIxNSBFIC0uODU1CisoQVQpLS41NCBHKElPTikuODU1IEUgRjAoYWJvKTIuNDQ2IEUgLS4xNSh2ZSktLjE1IEcgMi42OTYoXCkuIElmKS4xNSBGCisodGhlIGxhc3QpMTQ0IDQ4MCBRIEYyKGFyKTIuODMgRShnKS0uMzcgRSBGMCAtLjI1KGV2YSkyLjcyIEcKKyhsdWF0ZXMgdG8gMCwpLjI1IEUgRjMobGV0KTIuNSBFIEYwKHJldHVybnMgMTsgMCBpcyByZXR1cm5lZCBvdGhlcndpc2UuKQorMi41IEUgRjMobG9jYWwpMTA4IDQ5Ni44IFEgRjAoWykyLjUgRSBGMihvcHRpb24pQSBGMCAyLjUoXVspQyBGMihuYW1lKQorLTIuNSBFIEYwKFs9KUEgRjIodmFsdWUpQSBGMCAyLjUoXS4pQyguLl0pLTIuNSBFIC0uMTUoRm8pMTQ0IDUwOC44IFMKKzIuNTYocmUpLjE1IEcgLjA2KGFjaCBhciktMi41NiBGIC4wNihndW1lbnQsIGEgbG9jYWwgdiktLjE4IEYgLjA2CisoYXJpYWJsZSBuYW1lZCktLjI1IEYgRjIobmFtZSkyLjkyIEUgRjAgLjA2KGlzIGNyZWF0ZWQsIGFuZCBhc3NpZ25lZCkKKzIuNzQgRiBGMih2YWx1ZSkyLjU2IEUgRjAgNS4wNiguVCkuMTggRyhoZSktNS4wNiBFIEYyKG9wdGlvbikyLjU2IEUgRjAKKy4wNihjYW4gYmUpMi41NiBGKGFuKTE0NCA1MjAuOCBRIDMuMTUzKHlvKS0uMTUgRyAzLjE1MyhmdCktMy4xNTMgRyAuNjUzCisoaGUgb3B0aW9ucyBhY2NlcHRlZCBieSktMy4xNTMgRiBGMyhkZWNsYXIpMy4xNTMgRShlKS0uMTggRSBGMCA1LjY1MiguVykKK0MoaGVuKS01LjY1MiBFIEYzKGxvY2FsKTMuMTUyIEUgRjAgLjY1MgogKGlzIHVzZWQgd2l0aGluIGEgZnVuY3Rpb24sIGl0IGNhdXNlcyB0aGUgdikzLjE1MiBGKGFyaS0pLS4yNSBFKGFibGUpMTQ0Ci00NTYgUSBGMihuYW1lKTMuNzIgRSBGMCAuODYodG8gaGEpMy41NCBGIDEuMTYgLS4xNSh2ZSBhIHYpLS4yIEggLjg2MQorNTMyLjggUSBGMihuYW1lKTMuNzIgRSBGMCAuODYodG8gaGEpMy41NCBGIDEuMTYgLS4xNSh2ZSBhIHYpLS4yIEggLjg2MQogKGlzaWJsZSBzY29wZSByZXN0cmljdGVkIHRvIHRoYXQgZnVuY3Rpb24gYW5kIGl0cyBjaGlsZHJlbi4pLjE1IEYgLS40Ci0oV2kpNS44NjEgRyAuODYxKHRoIG5vIG9wZXJhbmRzLCkuNCBGIEYxKGxvY2FsKTE0NCA0NjggUSBGMCAxLjE2NQorKFdpKTUuODYxIEcgLjg2MSh0aCBubyBvcGVyYW5kcywpLjQgRiBGMyhsb2NhbCkxNDQgNTQ0LjggUSBGMCAxLjE2NQogKHdyaXRlcyBhIGxpc3Qgb2YgbG9jYWwgdikzLjY2NSBGIDEuMTY1CiAoYXJpYWJsZXMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC4pLS4yNSBGIDEuMTY1KEl0IGlzIGFuIGVycm9yIHRvIHVzZSkKLTYuMTY1IEYgRjEobG9jYWwpMy42NjQgRSBGMCAxLjE2NCh3aGVuIG5vdCkzLjY2NCBGIC4yMzIKLSh3aXRoaW4gYSBmdW5jdGlvbi4pMTQ0IDQ4MCBSIC4yMzMoVGhlIHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3MpNS4yMzIgRgotRjEobG9jYWwpMi43MzMgRSBGMCAuMjMzKGlzIHVzZWQgb3V0c2lkZSBhIGZ1bmN0aW9uLCBhbiBpbikyLjczMyBGIC0uMjUKLSh2YSktLjQgRyhsaWQpLjI1IEUgRjIobmFtZSkzLjA5MyBFIEYwKGlzKTIuOTEzIEUoc3VwcGxpZWQsIG9yKTE0NCA0OTIgUQotRjIobmFtZSkyLjUgRSBGMChpcyBhIHJlYWRvbmx5IHYpMi41IEUoYXJpYWJsZS4pLS4yNSBFIEYxKGxvZ291dCkxMDgKLTUwOC44IFEgRjAoRXhpdCBhIGxvZ2luIHNoZWxsLik5LjMzIEUgRjEobWFwXDIxNGxlKTEwOCA1MjUuNiBRIEYwKFspMi41Ci1FIEYxPGFkNmU+QSBGMihjb3VudCkyLjUgRSBGMCAyLjUoXVspQyBGMTxhZDRmPi0yLjUgRSBGMihvcmlnaW4pMi41IEUgRjAKLTIuNShdWylDIEYxPGFkNzM+LTIuNSBFIEYyKGNvdW50KTIuNSBFIEYwIDIuNShdWylDIEYxPGFkNzQ+LTIuNSBFIEYwIDIuNQotKF1bKUMgRjE8YWQ3NT4tMi41IEUgRjIoZmQpMi41IEUgRjAgMi41KF1bKUMgRjE8YWQ0Mz4tMi41IEUgRjIoY2FsbGJhYykKLTIuNSBFKGspLS4yIEUgRjAgMi41KF1bKUMgRjE8YWQ2Mz4tMi41IEUgRjIocXVhbnR1bSkyLjUgRSBGMCAyLjUoXVspQyBGMgotKGFyciktMi41IEUoYXkpLS4xNSBFIEYwKF0pQSBGMSAtLjE4KHJlKTEwOCA1MzcuNiBTKGFkYXJyYXkpLjE4IEUgRjAoWykKLTIuNSBFIEYxPGFkNmU+QSBGMihjb3VudCkyLjUgRSBGMCAyLjUoXVspQyBGMTxhZDRmPi0yLjUgRSBGMihvcmlnaW4pMi41Ci1FIEYwIDIuNShdWylDIEYxPGFkNzM+LTIuNSBFIEYyKGNvdW50KTIuNSBFIEYwIDIuNShdWylDIEYxPGFkNzQ+LTIuNSBFCi1GMCAyLjUoXVspQyBGMTxhZDc1Pi0yLjUgRSBGMihmZCkyLjUgRSBGMCAyLjUoXVspQyBGMTxhZDQzPi0yLjUgRSBGMgotKGNhbGxiYWMpMi41IEUoayktLjIgRSBGMCAyLjUoXVspQyBGMTxhZDYzPi0yLjUgRSBGMihxdWFudHVtKTIuNSBFIEYwCi0yLjUoXVspQyBGMihhcnIpLTIuNSBFKGF5KS0uMTUgRSBGMChdKUEgMS4wMDYKLShSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYXJyYXkgdikxNDQgNTQ5LjYgUihhcmlhYmxlKQotLS4yNSBFIEYyKGFycikzLjUwNiBFKGF5KS0uMTUgRSBGMCAzLjUwNigsbykuMzIgRyAzLjUwNihyZiktMy41MDYgRwotMS4wMDYocm9tIFwyMTRsZSBkZXNjcmlwdG9yKS0zLjUwNiBGIEYyKGZkKTMuNTA2IEUgRjAgMS4wMDUoaWYgdGhlKTMuNTA2Ci1GIEYxPGFkNzU+My41MDUgRSBGMCAxLjA4NihvcHRpb24gaXMgc3VwcGxpZWQuKTE0NCA1NjEuNiBSIDEuMDg2KFRoZSB2KQotNi4wODYgRihhcmlhYmxlKS0uMjUgRSBGMShNQVBGSUxFKTMuNTg2IEUgRjAgMS4wODYoaXMgdGhlIGRlZikzLjU4NiBGCi0oYXVsdCktLjEgRSBGMihhcnIpMy41ODcgRShheSktLjE1IEUgRjAgNi4wODcoLk8pQyAxLjA4NwotKHB0aW9ucywgaWYgc3VwcGxpZWQsIGhhKS02LjA4NyBGIDEuMzg3IC0uMTUodmUgdCktLjIgSChoZSkuMTUgRShmb2xsbykKLTE0NCA1NzMuNiBRKHdpbmcgbWVhbmluZ3M6KS0uMjUgRSBGMTxhZDZlPjE0NCA1ODUuNiBRIEYwKENvcCkyNC43NCBFIDIuNQotKHlhKS0uMSBHIDIuNSh0bSktMi41IEcob3N0KS0yLjUgRSBGMihjb3VudCkyLjcgRSBGMCAyLjUobGluZXMuIElmKTMuMTgKLUYgRjIoY291bnQpMi41IEUgRjAoaXMgMCwgYWxsIGxpbmVzIGFyZSBjb3BpZWQuKTIuNSBFIEYxPGFkNGY+MTQ0IDU5Ny42Ci1RIEYwKEJlKTIyLjUyIEUoZ2luIGFzc2lnbmluZyB0byktLjE1IEUgRjIoYXJyKTIuODMgRShheSktLjE1IEUgRjAKLShhdCBpbmRlKTIuODIgRSh4KS0uMTUgRSBGMihvcmlnaW4pMi41IEUgRjAgNSguVCkuMjQgRyhoZSBkZWYpLTUgRQotKGF1bHQgaW5kZSktLjEgRSAyLjUoeGkpLS4xNSBHIDIuNShzMCktMi41IEcoLiktMi41IEUgRjE8YWQ3Mz4xNDQgNjA5LjYKLVEgRjAoRGlzY2FyZCB0aGUgXDIxNHJzdCkyNi40MSBFIEYyKGNvdW50KTIuNSBFIEYwKGxpbmVzIHJlYWQuKTIuNSBFIEYxCi08YWQ3ND4xNDQgNjIxLjYgUSBGMChSZW1vKTI2Ljk3IEUgLjMgLS4xNSh2ZSBhIHQpLS4xNSBICi0ocmFpbGluZyBsaW5lIGZyb20gZWFjaCBsaW5lIHJlYWQuKS4xNSBFIEYxPGFkNzU+MTQ0IDYzMy42IFEgRjAKKzYuMTY1IEYgRjMobG9jYWwpMy42NjQgRSBGMCAxLjE2NCh3aGVuIG5vdCkzLjY2NCBGIC4yMzIKKyh3aXRoaW4gYSBmdW5jdGlvbi4pMTQ0IDU1Ni44IFIgLjIzMyhUaGUgcmV0dXJuIHN0YXR1cyBpcyAwIHVubGVzcyk1LjIzMgorRiBGMyhsb2NhbCkyLjczMyBFIEYwIC4yMzMoaXMgdXNlZCBvdXRzaWRlIGEgZnVuY3Rpb24sIGFuIGluKTIuNzMzIEYKKy0uMjUodmEpLS40IEcobGlkKS4yNSBFIEYyKG5hbWUpMy4wOTMgRSBGMChpcykyLjkxMyBFKHN1cHBsaWVkLCBvcikxNDQKKzU2OC44IFEgRjIobmFtZSkyLjUgRSBGMChpcyBhIHJlYWRvbmx5IHYpMi41IEUoYXJpYWJsZS4pLS4yNSBFIEYzCisobG9nb3V0KTEwOCA1ODUuNiBRIEYwKEV4aXQgYSBsb2dpbiBzaGVsbC4pOS4zMyBFIEYzKG1hcFwyMTRsZSkxMDggNjAyLjQKK1EgRjAoWykyLjUgRSBGMzxhZDZlPkEgRjIoY291bnQpMi41IEUgRjAgMi41KF1bKUMgRjM8YWQ0Zj4tMi41IEUgRjIKKyhvcmlnaW4pMi41IEUgRjAgMi41KF1bKUMgRjM8YWQ3Mz4tMi41IEUgRjIoY291bnQpMi41IEUgRjAgMi41KF1bKUMgRjMKKzxhZDc0Pi0yLjUgRSBGMCAyLjUoXVspQyBGMzxhZDc1Pi0yLjUgRSBGMihmZCkyLjUgRSBGMCAyLjUoXVspQyBGMzxhZDQzPgorLTIuNSBFIEYyKGNhbGxiYWMpMi41IEUoayktLjIgRSBGMCAyLjUoXVspQyBGMzxhZDYzPi0yLjUgRSBGMihxdWFudHVtKQorMi41IEUgRjAgMi41KF1bKUMgRjIoYXJyKS0yLjUgRShheSktLjE1IEUgRjAoXSlBIEYzIC0uMTgocmUpMTA4IDYxNC40IFMKKyhhZGFycmF5KS4xOCBFIEYwKFspMi41IEUgRjM8YWQ2ZT5BIEYyKGNvdW50KTIuNSBFIEYwIDIuNShdWylDIEYzPGFkNGY+CistMi41IEUgRjIob3JpZ2luKTIuNSBFIEYwIDIuNShdWylDIEYzPGFkNzM+LTIuNSBFIEYyKGNvdW50KTIuNSBFIEYwIDIuNQorKF1bKUMgRjM8YWQ3ND4tMi41IEUgRjAgMi41KF1bKUMgRjM8YWQ3NT4tMi41IEUgRjIoZmQpMi41IEUgRjAgMi41KF1bKUMKK0YzPGFkNDM+LTIuNSBFIEYyKGNhbGxiYWMpMi41IEUoayktLjIgRSBGMCAyLjUoXVspQyBGMzxhZDYzPi0yLjUgRSBGMgorKHF1YW50dW0pMi41IEUgRjAgMi41KF1bKUMgRjIoYXJyKS0yLjUgRShheSktLjE1IEUgRjAoXSlBIC4zNTEKKyhSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGluZGUpMTQ0IDYyNi40IFIgLS4xNSh4ZSkKKy0uMTUgRyAyLjg1MShkYSkuMTUgRyAuMzUxKHJyYXkgdiktMi44NTEgRihhcmlhYmxlKS0uMjUgRSBGMihhcnIpMi44NSBFCisoYXkpLS4xNSBFIEYwIDIuODUoLG8pLjMyIEcgMi44NShyZiktMi44NSBHIC4zNShyb20gXDIxNGxlIGRlc2NyaXB0b3IpCistMi44NSBGIEYyKGZkKTIuODUgRSBGMCAxLjI0OChpZiB0aGUpMTQ0IDYzOC40IFIgRjM8YWQ3NT4zLjc0OCBFIEYwCisxLjI0OChvcHRpb24gaXMgc3VwcGxpZWQuKTMuNzQ4IEYgMS4yNDkoVGhlIHYpNi4yNDkgRihhcmlhYmxlKS0uMjUgRSBGMQorKE1BUEZJTEUpMy43NDkgRSBGMCAxLjI0OShpcyB0aGUgZGVmKTMuNDk5IEYoYXVsdCktLjEgRSBGMihhcnIpMy43NDkgRQorKGF5KS0uMTUgRSBGMCA2LjI0OSguTylDIDEuMjQ5KHB0aW9ucywgaWYgc3VwcGxpZWQsKS02LjI0OSBGKGhhKTE0NAorNjUwLjQgUSAuMyAtLjE1KHZlIHQpLS4yIEgoaGUgZm9sbG8pLjE1IEUod2luZyBtZWFuaW5nczopLS4yNSBFIEYzPGFkNmU+CisxNDQgNjYyLjQgUSBGMChDb3ApMjQuNzQgRSAyLjUoeWEpLS4xIEcgMi41KHRtKS0yLjUgRyhvc3QpLTIuNSBFIEYyCisoY291bnQpMi43IEUgRjAgMi41KGxpbmVzLiBJZikzLjE4IEYgRjIoY291bnQpMi41IEUgRjAKKyhpcyAwLCBhbGwgbGluZXMgYXJlIGNvcGllZC4pMi41IEUgRjM8YWQ0Zj4xNDQgNjc0LjQgUSBGMChCZSkyMi41MiBFCisoZ2luIGFzc2lnbmluZyB0byktLjE1IEUgRjIoYXJyKTIuODMgRShheSktLjE1IEUgRjAoYXQgaW5kZSkyLjgyIEUoeCkKKy0uMTUgRSBGMihvcmlnaW4pMi41IEUgRjAgNSguVCkuMjQgRyhoZSBkZWYpLTUgRShhdWx0IGluZGUpLS4xIEUgMi41KHhpKQorLS4xNSBHIDIuNShzMCktMi41IEcoLiktMi41IEUgRjM8YWQ3Mz4xNDQgNjg2LjQgUSBGMAorKERpc2NhcmQgdGhlIFwyMTRyc3QpMjYuNDEgRSBGMihjb3VudCkyLjUgRSBGMChsaW5lcyByZWFkLikyLjUgRSBGMworPGFkNzQ+MTQ0IDY5OC40IFEgRjAoUmVtbykyNi45NyBFIC4zIC0uMTUodmUgYSB0KS0uMTUgSChyYWlsaW5nIG5lKS4xNSBFCisod2xpbmUgZnJvbSBlYWNoIGxpbmUgcmVhZC4pLS4yNSBFIEYzPGFkNzU+MTQ0IDcxMC40IFEgRjAKIChSZWFkIGxpbmVzIGZyb20gXDIxNGxlIGRlc2NyaXB0b3IpMjQuNzQgRSBGMihmZCkyLjUgRSBGMAotKGluc3RlYWQgb2YgdGhlIHN0YW5kYXJkIGlucHV0LikyLjUgRSBGMTxhZDQzPjE0NCA2NDUuNiBRIEYwKEV2KTIzLjA4IEUKLShhbHVhdGUpLS4yNSBFIEYyKGNhbGxiYWMpMi43IEUoayktLjIgRSBGMChlYWNoIHRpbWUpMy4xNyBFIEYyKHF1YW50dW0pCi0yLjUgRSBGMChsaW5lcyBhcmUgcmVhZC4pMi41IEUoVGhlKTUgRSBGMTxhZDYzPjIuNSBFIEYwCi0ob3B0aW9uIHNwZWNpXDIxNGVzKTIuNSBFIEYyKHF1YW50dW0pMi41IEUgRjAoLikuMzIgRSBGMTxhZDYzPjE0NCA2NTcuNgotUSBGMChTcGVjaWZ5IHRoZSBudW1iZXIgb2YgbGluZXMgcmVhZCBiZXR3ZWVuIGVhY2ggY2FsbCB0bykyNS44NiBFIEYyCi0oY2FsbGJhYykyLjUgRShrKS0uMiBFIEYwKC4pLjY3IEUoSWYpMTQ0IDY3NC40IFEgRjE8YWQ0Mz4yLjk2OCBFIEYwIC40NjcKLShpcyBzcGVjaVwyMTRlZCB3aXRob3V0KTIuOTY3IEYgRjE8YWQ2Mz4yLjk2NyBFIEYwIDIuOTY3KCx0KUMgLjQ2NwotKGhlIGRlZiktMi45NjcgRiAuNDY3KGF1bHQgcXVhbnR1bSBpcyA1MDAwLiktLjEgRihXaGVuKTUuNDY3IEUgRjIKLShjYWxsYmFjKTIuOTY3IEUoayktLjIgRSBGMCAuNDY3KGlzIGUpMi45NjcgRiAtLjI1KHZhKS0uMjUgRyAuNDY3Ci0obHVhdGVkLCBpdCBpcyBzdXAtKS4yNSBGIDEuMjIocGxpZWQgdGhlIGluZGUpMTQ0IDY4Ni40IFIgMy43Mih4byktLjE1IEcKLTMuNzIoZnQpLTMuNzIgRyAxLjIyKGhlIG5lKS0zLjcyIEYgMS4yMgotKHh0IGFycmF5IGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYXMgYW4gYWRkaXRpb25hbCBhciktLjE1IEYoZ3VtZW50LiktLjE4Ci1FIEYyKGNhbGxiYWMpNi4yMiBFKGspLS4yIEUgRjAoaXMpMy43MiBFIC0uMjUoZXZhKTE0NCA2OTguNCBTCi0obHVhdGVkIGFmdGVyIHRoZSBsaW5lIGlzIHJlYWQgYikuMjUgRQotKHV0IGJlZm9yZSB0aGUgYXJyYXkgZWxlbWVudCBpcyBhc3NpZ25lZC4pLS4yIEUKLShJZiBub3Qgc3VwcGxpZWQgd2l0aCBhbiBlKTE0NCA3MTUuMiBRKHhwbGljaXQgb3JpZ2luLCktLjE1IEUgRjEKLShtYXBcMjE0bGUpMi41IEUgRjAod2lsbCBjbGVhcikyLjUgRSBGMihhcnIpMi41IEUoYXkpLS4xNSBFIEYwCi0oYmVmb3JlIGFzc2lnbmluZyB0byBpdC4pMi41IEUoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUKLUUoMTApMTk4LjcyNSBFIDAgQ2cgRVAKKyhpbnN0ZWFkIG9mIHRoZSBzdGFuZGFyZCBpbnB1dC4pMi41IEUoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKQorMTQ4LjczNSBFKDEwKTE5OC43MjUgRSAwIENnIEVQCiAlJVBhZ2U6IDExIDExCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyhTSF9CKS4zNSBFKFVJTCktLjEgRSAyOTAuNDgKIChUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFL0YxIDEwCi0vVGltZXMtQm9sZEAwIFNGKG1hcFwyMTRsZSkxNDQgODQgUSBGMCAuOTk2Ci0ocmV0dXJucyBzdWNjZXNzZnVsbHkgdW5sZXNzIGFuIGluKTMuNDk2IEYgLS4yNSh2YSktLjQgRyAuOTk2Ci0obGlkIG9wdGlvbiBvciBvcHRpb24gYXIpLjI1IEYgLjk5NShndW1lbnQgaXMgc3VwcGxpZWQsIG9yKS0uMTggRi9GMiAxMAotL1RpbWVzLUl0YWxpY0AwIFNGKGFycikzLjQ5NSBFKGF5KS0uMTUgRSBGMChpcykzLjQ5NSBFKGluKTE0NCA5NiBRIC0uMjUKLSh2YSktLjQgRyhsaWQgb3IgdW5hc3NpZ25hYmxlLikuMjUgRSBGMShwb3BkKTEwOCAxMTIuOCBRIEYwPDViYWQ+Mi41IEUKLUYxKG4pQSBGMCAyLjUoXVspQygrKS0yLjUgRSBGMihuKUEgRjAgMi41KF1bKUM8YWQ+LTIuNSBFIEYyKG4pQSBGMChdKUEKLShSZW1vKTE0NCAxMjQuOCBRIC0uMTUodmUpLS4xNSBHIDIuNzk5KHNlKS4xNSBHIC4yOTkKLShudHJpZXMgZnJvbSB0aGUgZGlyZWN0b3J5IHN0YWNrLiktMi43OTkgRiAtLjQoV2kpNS4yOTkgRyAuMjk5KHRoIG5vIGFyKQotLjQgRiAuMjk5KGd1bWVudHMsIHJlbW8pLS4xOCBGIC0uMTUodmUpLS4xNSBHIDIuNzk5KHN0KS4xNSBHIC4zCi0oaGUgdG9wIGRpcmVjdG9yeSBmcm9tIHRoZSktMi43OTkgRiAxLjQ3OShzdGFjaywgYW5kIHBlcmZvcm1zIGEpMTQ0Ci0xMzYuOCBSIEYxKGNkKTMuOTc5IEUgRjAgMS40NzkodG8gdGhlIG5lKTMuOTc5IEYgMy45Nzkod3QpLS4yNSBHIDEuNDc5CisvVGltZXMtQm9sZEAwIFNGPGFkNDM+MTQ0IDg0IFEgRjAoRXYpMjMuMDggRShhbHVhdGUpLS4yNSBFL0YyIDEwCisvVGltZXMtSXRhbGljQDAgU0YoY2FsbGJhYykyLjcgRShrKS0uMiBFIEYwKGVhY2ggdGltZSkzLjE3IEUgRjIocXVhbnR1bSkKKzIuNSBFIEYwKGxpbmVzIGFyZSByZWFkLikyLjUgRShUaGUpNSBFIEYxPGFkNjM+Mi41IEUgRjAKKyhvcHRpb24gc3BlY2lcMjE0ZXMpMi41IEUgRjIocXVhbnR1bSkyLjUgRSBGMCguKS4zMiBFIEYxPGFkNjM+MTQ0IDk2IFEKK0YwKFNwZWNpZnkgdGhlIG51bWJlciBvZiBsaW5lcyByZWFkIGJldHdlZW4gZWFjaCBjYWxsIHRvKTI1Ljg2IEUgRjIKKyhjYWxsYmFjKTIuNSBFKGspLS4yIEUgRjAoLikuNjcgRShJZikxNDQgMTEyLjggUSBGMTxhZDQzPjIuOTY4IEUgRjAgLjQ2NworKGlzIHNwZWNpXDIxNGVkIHdpdGhvdXQpMi45NjcgRiBGMTxhZDYzPjIuOTY3IEUgRjAgMi45NjcoLHQpQyAuNDY3CisoaGUgZGVmKS0yLjk2NyBGIC40NjcoYXVsdCBxdWFudHVtIGlzIDUwMDAuKS0uMSBGKFdoZW4pNS40NjcgRSBGMgorKGNhbGxiYWMpMi45NjcgRShrKS0uMiBFIEYwIC40NjcoaXMgZSkyLjk2NyBGIC0uMjUodmEpLS4yNSBHIC40NjcKKyhsdWF0ZWQsIGl0IGlzIHN1cC0pLjI1IEYgMS4yMihwbGllZCB0aGUgaW5kZSkxNDQgMTI0LjggUiAzLjcyKHhvKS0uMTUgRworMy43MihmdCktMy43MiBHIDEuMjIoaGUgbmUpLTMuNzIgRiAxLjIyCisoeHQgYXJyYXkgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhcyBhbiBhZGRpdGlvbmFsIGFyKS0uMTUgRihndW1lbnQuKS0uMTgKK0UgRjIoY2FsbGJhYyk2LjIyIEUoayktLjIgRSBGMChpcykzLjcyIEUgLS4yNShldmEpMTQ0IDEzNi44IFMKKyhsdWF0ZWQgYWZ0ZXIgdGhlIGxpbmUgaXMgcmVhZCBiKS4yNSBFCisodXQgYmVmb3JlIHRoZSBhcnJheSBlbGVtZW50IGlzIGFzc2lnbmVkLiktLjIgRQorKElmIG5vdCBzdXBwbGllZCB3aXRoIGFuIGUpMTQ0IDE1My42IFEoeHBsaWNpdCBvcmlnaW4sKS0uMTUgRSBGMQorKG1hcFwyMTRsZSkyLjUgRSBGMCh3aWxsIGNsZWFyKTIuNSBFIEYyKGFycikyLjUgRShheSktLjE1IEUgRjAKKyhiZWZvcmUgYXNzaWduaW5nIHRvIGl0LikyLjUgRSBGMShtYXBcMjE0bGUpMTQ0IDE3MC40IFEgRjAgMS45MDYKKyhyZXR1cm5zIHN1Y2Nlc3NmdWxseSB1bmxlc3MgYW4gaW4pNC40MDYgRiAtLjI1KHZhKS0uNCBHIDEuOTA1CisobGlkIG9wdGlvbiBvciBvcHRpb24gYXIpLjI1IEYgMS45MDUoZ3VtZW50IGlzIHN1cHBsaWVkLCktLjE4IEYgRjIoYXJyKQorNC40MDUgRShheSktLjE1IEUgRjAoaXMpNC40MDUgRShpbikxNDQgMTgyLjQgUSAtLjI1KHZhKS0uNCBHCisobGlkIG9yIHVuYXNzaWduYWJsZSwgb3IgaWYpLjI1IEUgRjIoYXJyKTIuNSBFKGF5KS0uMTUgRSBGMAorKGlzIG5vdCBhbiBpbmRlKTIuNSBFIC0uMTUoeGUpLS4xNSBHIDIuNShkYSkuMTUgRyhycmF5KS0yLjUgRSguKS0uNjUgRQorRjEocG9wZCkxMDggMTk5LjIgUSBGMDw1YmFkPjIuNSBFIEYxKG4pQSBGMCAyLjUoXVspQygrKS0yLjUgRSBGMihuKUEgRjAKKzIuNShdWylDPGFkPi0yLjUgRSBGMihuKUEgRjAoXSlBKFJlbW8pMTQ0IDIxMS4yIFEgLS4xNSh2ZSktLjE1IEcgMi43OTkKKyhzZSkuMTUgRyAuMjk5KG50cmllcyBmcm9tIHRoZSBkaXJlY3Rvcnkgc3RhY2suKS0yLjc5OSBGIC0uNChXaSk1LjI5OSBHCisuMjk5KHRoIG5vIGFyKS40IEYgLjI5OShndW1lbnRzLCByZW1vKS0uMTggRiAtLjE1KHZlKS0uMTUgRyAyLjc5OShzdCkuMTUKK0cgLjMoaGUgdG9wIGRpcmVjdG9yeSBmcm9tIHRoZSktMi43OTkgRiAxLjQ3OShzdGFjaywgYW5kIHBlcmZvcm1zIGEpMTQ0CisyMjMuMiBSIEYxKGNkKTMuOTc5IEUgRjAgMS40NzkodG8gdGhlIG5lKTMuOTc5IEYgMy45Nzkod3QpLS4yNSBHIDEuNDc5CiAob3AgZGlyZWN0b3J5KS0zLjk3OSBGIDYuNDc5KC5BKS0uNjUgRyAtLjE4KHJnKS02LjQ3OSBHIDEuNDc4CiAodW1lbnRzLCBpZiBzdXBwbGllZCwgaGEpLjE4IEYgMS43NzggLS4xNSh2ZSB0KS0uMiBIIDEuNDc4KGhlIGZvbGxvKS4xNQotRih3aW5nKS0uMjUgRShtZWFuaW5nczopMTQ0IDE0OC44IFEgRjE8YWQ2ZT4xNDQgMTYwLjggUSBGMCAuNTUxCitGKHdpbmcpLS4yNSBFKG1lYW5pbmdzOikxNDQgMjM1LjIgUSBGMTxhZDZlPjE0NCAyNDcuMiBRIEYwIC41NTEKIChTdXBwcmVzc2VzIHRoZSBub3JtYWwgY2hhbmdlIG9mIGRpcmVjdG9yeSB3aGVuIHJlbW8pMjQuNzQgRiAuNTUxCiAodmluZyBkaXJlY3RvcmllcyBmcm9tIHRoZSBzdGFjaywgc28pLS4xNSBGCi0odGhhdCBvbmx5IHRoZSBzdGFjayBpcyBtYW5pcHVsYXRlZC4pMTgwIDE3Mi44IFEgRjEoKykxNDQgMTg0LjggUSBGMihuKUEKKyh0aGF0IG9ubHkgdGhlIHN0YWNrIGlzIG1hbmlwdWxhdGVkLikxODAgMjU5LjIgUSBGMSgrKTE0NCAyNzEuMiBRIEYyKG4pQQogRjAoUmVtbykyNS4zIEUgLS4xNSh2ZSktLjE1IEcgMi42NChzdCkuMTUgRyhoZSktMi42NCBFIEYyKG4pMi42NCBFIEYwCiAuMTQodGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdCBzaG8pQiAuMTQod24gYnkpLS4yNSBGCiBGMShkaXJzKTIuNjQgRSBGMCAyLjY0KCxzKUMgLjE0KHRhcnRpbmcgd2l0aCB6ZXJvLiktMi42NCBGIC0uMTUoRm8pMTgwCi0xOTYuOCBTIDIuNShyZSkuMTUgRyh4YW1wbGU6KS0yLjY1IEUvRjMgMTAvQ291cmllckAwIFNGKHBvcGQgKzApMi41IEUgRjAKKzI4My4yIFMgMi41KHJlKS4xNSBHKHhhbXBsZTopLTIuNjUgRS9GMyAxMC9Db3VyaWVyQDAgU0YocG9wZCArMCkyLjUgRSBGMAogKHJlbW8pMi41IEUgLS4xNSh2ZSktLjE1IEcgMi41KHN0KS4xNSBHKGhlIFwyMTRyc3QgZGlyZWN0b3J5KS0yLjUgRSgsKQotLS42NSBFIEYzKHBvcGQgKzEpMi41IEUgRjAodGhlIHNlY29uZC4pMi41IEUgRjE8YWQ+MTQ0IDIwOC44IFEgRjIobilBIEYwCistLjY1IEUgRjMocG9wZCArMSkyLjUgRSBGMCh0aGUgc2Vjb25kLikyLjUgRSBGMTxhZD4xNDQgMjk1LjIgUSBGMihuKUEgRjAKIChSZW1vKTI1LjMgRSAtLjE1KHZlKS0uMTUgRyAzLjc1OShzdCkuMTUgRyhoZSktMy43NTkgRSBGMihuKTMuNzU5IEUgRjAKIDEuMjU5KHRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNobylCIDEuMjYod24gYnkpLS4yNQogRiBGMShkaXJzKTMuNzYgRSBGMCAzLjc2KCxzKUMgMS4yNih0YXJ0aW5nIHdpdGgpLTMuNzYgRiAyLjUoemVyby4gRikxODAKLTIyMC44IFIob3IgZSktLjE1IEUoeGFtcGxlOiktLjE1IEUgRjMocG9wZCAtMCkyLjUgRSBGMChyZW1vKTIuNSBFIC0uMTUKKzMwNy4yIFIob3IgZSktLjE1IEUoeGFtcGxlOiktLjE1IEUgRjMocG9wZCAtMCkyLjUgRSBGMChyZW1vKTIuNSBFIC0uMTUKICh2ZSktLjE1IEcgMi41KHN0KS4xNSBHKGhlIGxhc3QgZGlyZWN0b3J5KS0yLjUgRSgsKS0uNjUgRSBGMyhwb3BkIC0xKTIuNQotRSBGMCh0aGUgbmUpMi41IEUoeHQgdG8gbGFzdC4pLS4xNSBFIC42NDQoSWYgdGhlKTE0NCAyMzcuNiBSIEYxKHBvcGQpCi0zLjE0NCBFIEYwIC42NDQoY29tbWFuZCBpcyBzdWNjZXNzZnVsLCBhKTMuMTQ0IEYgRjEoZGlycykzLjE0MyBFIEYwIC42NDMKK0UgRjAodGhlIG5lKTIuNSBFKHh0IHRvIGxhc3QuKS0uMTUgRSAuNjQ0KElmIHRoZSkxNDQgMzI0IFIgRjEocG9wZCkzLjE0NAorRSBGMCAuNjQ0KGNvbW1hbmQgaXMgc3VjY2Vzc2Z1bCwgYSkzLjE0NCBGIEYxKGRpcnMpMy4xNDMgRSBGMCAuNjQzCiAoaXMgcGVyZm9ybWVkIGFzIHdlbGwsIGFuZCB0aGUgcmV0dXJuIHN0YXR1cyBpcyAwLikzLjE0MyBGIEYxKHBvcGQpNS42NDMKLUUgRjAgLjQxNShyZXR1cm5zIGYpMTQ0IDI0OS42IFIgLjQxNShhbHNlIGlmIGFuIGluKS0uMSBGIC0uMjUodmEpLS40IEcKK0UgRjAgLjQxNShyZXR1cm5zIGYpMTQ0IDMzNiBSIC40MTUoYWxzZSBpZiBhbiBpbiktLjEgRiAtLjI1KHZhKS0uNCBHCiAuNDE1KGxpZCBvcHRpb24gaXMgZW5jb3VudGVyZWQsIHRoZSBkaXJlY3Rvcnkgc3RhY2sgaXMgZW1wdHkpLjI1IEYgMi45MTYKICgsYW4pLS42NSBHKG9uLWUpLTIuOTE2IEUgLjQxNih4aXN0ZW50IGRpcmVjLSktLjE1IEYKLSh0b3J5IHN0YWNrIGVudHJ5IGlzIHNwZWNpXDIxNGVkLCBvciB0aGUgZGlyZWN0b3J5IGNoYW5nZSBmKTE0NCAyNjEuNiBRCi0oYWlscy4pLS4xIEUgRjEocHJpbnRmKTEwOCAyNzguNCBRIEYwKFspMi41IEUgRjE8YWQ3Nj5BIEYyKHZhcikyLjUgRSBGMAorKHRvcnkgc3RhY2sgZW50cnkgaXMgc3BlY2lcMjE0ZWQsIG9yIHRoZSBkaXJlY3RvcnkgY2hhbmdlIGYpMTQ0IDM0OCBRCisoYWlscy4pLS4xIEUgRjEocHJpbnRmKTEwOCAzNjQuOCBRIEYwKFspMi41IEUgRjE8YWQ3Nj5BIEYyKHZhcikyLjUgRSBGMAogKF0pQSBGMihmb3JtYXQpMi41IEUgRjAoWykyLjUgRSBGMihhcilBKGd1bWVudHMpLS4zNyBFIEYwKF0pQSAuMzcyCi0oV3JpdGUgdGhlIGZvcm1hdHRlZCkxNDQgMjkwLjQgUiBGMihhcikyLjg3MiBFKGd1bWVudHMpLS4zNyBFIEYwIC4zNzIKKyhXcml0ZSB0aGUgZm9ybWF0dGVkKTE0NCAzNzYuOCBSIEYyKGFyKTIuODcyIEUoZ3VtZW50cyktLjM3IEUgRjAgLjM3MgogKHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQgdW5kZXIgdGhlIGNvbnRyb2wgb2YgdGhlKTIuODcyIEYgRjIoZm9ybWF0KTIuODcyCiBFIEYwIDUuMzcyKC5UKUMoaGUpLTUuMzcyIEUgRjIoZm9ybWF0KTIuODcyIEUgRjAgMS44MDQoaXMgYSBjaGFyYWN0ZXIgc1wKIHRyaW5nIHdoaWNoIGNvbnRhaW5zIHRocmVlIHR5cGVzIG9mIG9iamVjdHM6IHBsYWluIGNoYXJhY3RlcnMsIHdoaWNoIGFyXAotZSBzaW1wbHkpMTQ0IDMwMi40IFIgLjE1OQorZSBzaW1wbHkpMTQ0IDM4OC44IFIgLjE1OQogKGNvcGllZCB0byBzdGFuZGFyZCBvdXRwdXQsIGNoYXJhY3RlciBlc2NhcGUgc2VxdWVuY2VzLCB3aGljaCBhcmUgY29uKQotMTQ0IDMxNC40IFIgLS4xNSh2ZSktLjQgRyAuMTU4KHJ0ZWQgYW5kIGNvcGllZCB0byB0aGUgc3Rhbi0pLjE1IEYgLjQ5OShcCisxNDQgNDAwLjggUiAtLjE1KHZlKS0uNCBHIC4xNTgocnRlZCBhbmQgY29waWVkIHRvIHRoZSBzdGFuLSkuMTUgRiAuNDk5KFwKIGRhcmQgb3V0cHV0LCBhbmQgZm9ybWF0IHNwZWNpXDIxNGNhdGlvbnMsIGVhY2ggb2Ygd2hpY2ggY2F1c2VzIHByaW50aW5nXAotIG9mIHRoZSBuZSkxNDQgMzI2LjQgUiAuNSh4dCBzdWNjZXNzaSktLjE1IEYgLS4xNSh2ZSktLjI1IEcgRjIoYXIpMy4xNSBFCi0oZ3UtKS0uMzcgRShtZW50KTE0NCAzMzguNCBRIEYwIDUuNDI0KC5JKUMgMi45MjQobmEpLTUuNDI0IEcgLjQyNAorIG9mIHRoZSBuZSkxNDQgNDEyLjggUiAuNSh4dCBzdWNjZXNzaSktLjE1IEYgLS4xNSh2ZSktLjI1IEcgRjIoYXIpMy4xNSBFCisoZ3UtKS0uMzcgRShtZW50KTE0NCA0MjQuOCBRIEYwIDUuNDI0KC5JKUMgMi45MjQobmEpLTUuNDI0IEcgLjQyNAogKGRkaXRpb24gdG8gdGhlIHN0YW5kYXJkKS0yLjkyNCBGIEYyKHByaW50ZikyLjkyNCBFIEYwIC40MjQKIChcKDFcKSBmb3JtYXRzLClCIEYxKCViKTIuOTI0IEUgRjAoY2F1c2VzKTIuOTIzIEUgRjEocHJpbnRmKTIuOTIzIEUgRjAKIC40MjModG8gZSkyLjkyMyBGIC40MjMoeHBhbmQgYmFja3NsYXNoIGVzY2FwZSktLjE1IEYgLjk3NgotKHNlcXVlbmNlcyBpbiB0aGUgY29ycmVzcG9uZGluZykxNDQgMzUwLjQgUiBGMihhcikzLjQ3NiBFKGd1bWVudCktLjM3IEUKKyhzZXF1ZW5jZXMgaW4gdGhlIGNvcnJlc3BvbmRpbmcpMTQ0IDQzNi44IFIgRjIoYXIpMy40NzYgRShndW1lbnQpLS4zNyBFCiBGMChcKGUpMy40NzYgRSAuOTc2KHhjZXB0IHRoYXQpLS4xNSBGIEYxKFxcYykzLjQ3NiBFIEYwIC45NzYKICh0ZXJtaW5hdGVzIG91dHB1dCwgYmFja3NsYXNoZXMgaW4pMy40NzYgRiBGMTw1YzA4PjMuNDc3IEUgRjAoLClBIEYxCi0oXFwiKTMuNDc3IEUgRjAoLClBKGFuZCkxNDQgMzYyLjQgUSBGMShcXD8pMy40MjIgRSBGMCAuOTIyKGFyZSBub3QgcmVtbykKKyhcXCIpMy40NzcgRSBGMCgsKUEoYW5kKTE0NCA0NDguOCBRIEYxKFxcPykzLjQyMiBFIEYwIC45MjIoYXJlIG5vdCByZW1vKQogMy40MjIgRiAtLjE1KHZlKS0uMTUgRyAuOTIyKGQsIGFuZCBvY3RhbCBlc2NhcGVzIGJlKS4xNSBGIC45MjIKIChnaW5uaW5nIHdpdGgpLS4xNSBGIEYxKFxcMCkzLjQyMiBFIEYwIC45MjEKLShtYXkgY29udGFpbiB1cCB0byBmb3VyIGRpZ2l0c1wpLCBhbmQpMy40MjIgRiBGMSglcSkxNDQgMzc0LjQgUSBGMAorKG1heSBjb250YWluIHVwIHRvIGZvdXIgZGlnaXRzXCksIGFuZCkzLjQyMiBGIEYxKCVxKTE0NCA0NjAuOCBRIEYwCiAoY2F1c2VzKTMuNjMgRSBGMShwcmludGYpMy42MyBFIEYwIDEuMTModG8gb3V0cHV0IHRoZSBjb3JyZXNwb25kaW5nKTMuNjMKIEYgRjIoYXIpMy42MzEgRShndW1lbnQpLS4zNyBFIEYwIDEuMTMxCi0oaW4gYSBmb3JtYXQgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxsKTMuNjMxIEYoaW5wdXQuKTE0NCAzODYuNCBRKFRoZSkKLTE0NCA0MTAuNCBRIEYxPGFkNzY+Mi45MDQgRSBGMCAuNDA0CisoaW4gYSBmb3JtYXQgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxsKTMuNjMxIEYoaW5wdXQuKTE0NCA0NzIuOCBRKFRoZSkKKzE0NCA0OTYuOCBRIEYxPGFkNzY+Mi45MDQgRSBGMCAuNDA0CiAob3B0aW9uIGNhdXNlcyB0aGUgb3V0cHV0IHRvIGJlIGFzc2lnbmVkIHRvIHRoZSB2KTIuOTA0IEYoYXJpYWJsZSktLjI1IEUKIEYyKHZhcikyLjkwNCBFIEYwIC40MDQocmF0aGVyIHRoYW4gYmVpbmcgcHJpbnRlZCB0byB0aGUpMi45MDQgRgotKHN0YW5kYXJkIG91dHB1dC4pMTQ0IDQyMi40IFEoVGhlKTE0NCA0NDYuNCBRIEYyKGZvcm1hdCkzLjQyMyBFIEYwIC45MjMKKyhzdGFuZGFyZCBvdXRwdXQuKTE0NCA1MDguOCBRKFRoZSkxNDQgNTMyLjggUSBGMihmb3JtYXQpMy40MjMgRSBGMCAuOTIzCiAoaXMgcmV1c2VkIGFzIG5lY2Vzc2FyeSB0byBjb25zdW1lIGFsbCBvZiB0aGUpMy40MjMgRiBGMihhcikzLjQyMyBFCiAoZ3VtZW50cyktLjM3IEUgRjAgNS45MjMoLkkpQyAzLjQyMyhmdCktNS45MjMgRyhoZSktMy40MjMgRSBGMihmb3JtYXQpCi0zLjQyMyBFIEYwIC45MjQocmVxdWlyZXMgbW9yZSkzLjQyNCBGIEYyKGFyKTE0NCA0NTguNCBRKGd1bWVudHMpLS4zNyBFCiszLjQyMyBFIEYwIC45MjQocmVxdWlyZXMgbW9yZSkzLjQyNCBGIEYyKGFyKTE0NCA1NDQuOCBRKGd1bWVudHMpLS4zNyBFCiBGMCAuMDMzKHRoYW4gYXJlIHN1cHBsaWVkLCB0aGUgZSkyLjUzNCBGIC4wMzMKICh4dHJhIGZvcm1hdCBzcGVjaVwyMTRjYXRpb25zIGJlaGEpLS4xNSBGIC4zMzMgLS4xNSh2ZSBhKS0uMiBIIDIuNTMzKHNpKQogLjE1IEcgMi41MzMoZmF6KS0yLjUzMyBHIC4wMzMoZXJvIHYpLTIuNTMzIEYgLjAzMyhhbHVlIG9yIG51bGwgc3RyaW5nLCkKLS0uMjUgRihhcyBhcHByb3ByaWF0ZSwgaGFkIGJlZW4gc3VwcGxpZWQuKTE0NCA0NzAuNCBRKFRoZSByZXR1cm4gdik1IEUKKy0uMjUgRihhcyBhcHByb3ByaWF0ZSwgaGFkIGJlZW4gc3VwcGxpZWQuKTE0NCA1NTYuOCBRKFRoZSByZXR1cm4gdik1IEUKIChhbHVlIGlzIHplcm8gb24gc3VjY2Vzcywgbm9uLXplcm8gb24gZiktLjI1IEUoYWlsdXJlLiktLjEgRSBGMShwdXNoZCkKLTEwOCA0ODcuMiBRIEYwKFspMi41IEUgRjE8YWQ2ZT5BIEYwIDIuNShdWylDKCspLTIuNSBFIEYyKG4pQSBGMCAyLjUoXVspQwotPGFkPi0yLjUgRSBGMihuKUEgRjAoXSlBIEYxKHB1c2hkKTEwOCA0OTkuMiBRIEYwKFspMi41IEUgRjE8YWQ2ZT5BIEYwCisxMDggNTczLjYgUSBGMChbKTIuNSBFIEYxPGFkNmU+QSBGMCAyLjUoXVspQygrKS0yLjUgRSBGMihuKUEgRjAgMi41KF1bKUMKKzxhZD4tMi41IEUgRjIobilBIEYwKF0pQSBGMShwdXNoZCkxMDggNTg1LjYgUSBGMChbKTIuNSBFIEYxPGFkNmU+QSBGMAogMi41KF1bKUMgRjIoZGlyKS0yLjUgRSBGMChdKUEgLjYzOShBZGRzIGEgZGlyZWN0b3J5IHRvIHRoZSB0b3Agb2YgdGhlIGRcCi1pcmVjdG9yeSBzdGFjaywgb3Igcm90YXRlcyB0aGUgc3RhY2ssIG1ha2luZyB0aGUgbmUpMTQ0IDUxMS4yIFIgMy4xNCh3dCkKLS0uMjUgRyAuNjQob3Agb2YgdGhlKS0zLjE0IEYgMS4zMTYoc3RhY2sgdGhlIGN1cnJlbnQgdykxNDQgNTIzLjIgUiAxLjMxNgoraXJlY3Rvcnkgc3RhY2ssIG9yIHJvdGF0ZXMgdGhlIHN0YWNrLCBtYWtpbmcgdGhlIG5lKTE0NCA1OTcuNiBSIDMuMTQod3QpCistLjI1IEcgLjY0KG9wIG9mIHRoZSktMy4xNCBGIDEuMzE2KHN0YWNrIHRoZSBjdXJyZW50IHcpMTQ0IDYwOS42IFIgMS4zMTYKIChvcmtpbmcgZGlyZWN0b3J5KS0uMSBGIDYuMzE2KC5XKS0uNjUgRyAxLjMxNShpdGggbm8gYXIpLTYuNzE2IEYgMS4zMTUKIChndW1lbnRzLCBlKS0uMTggRiAxLjMxNSh4Y2hhbmdlcyB0aGUgdG9wIHR3KS0uMTUgRiAzLjgxNShvZCktLjEgRyAxLjMxNQogKGlyZWN0b3JpZXMgYW5kKS0zLjgxNSBGIC44NzEKLShyZXR1cm5zIDAsIHVubGVzcyB0aGUgZGlyZWN0b3J5IHN0YWNrIGlzIGVtcHR5KTE0NCA1MzUuMiBSIDUuODcxKC5BKQorKHJldHVybnMgMCwgdW5sZXNzIHRoZSBkaXJlY3Rvcnkgc3RhY2sgaXMgZW1wdHkpMTQ0IDYyMS42IFIgNS44NzEoLkEpCiAtLjY1IEcgLS4xOChyZyktNS44NzEgRyAuODcyKHVtZW50cywgaWYgc3VwcGxpZWQsIGhhKS4xOCBGIDEuMTcyIC0uMTUKLSh2ZSB0KS0uMiBIIC44NzIoaGUgZm9sbG8pLjE1IEYgLjg3Mih3aW5nIG1lYW4tKS0uMjUgRihpbmdzOikxNDQgNTQ3LjIgUQotRjE8YWQ2ZT4xNDQgNTU5LjIgUSBGMCAuOTAyKFN1cHByZXNzZXMgdGhlIG5vcm1hbCBjaGFuZ2Ugb2YgZGlyZWN0b3J5IHdcCisodmUgdCktLjIgSCAuODcyKGhlIGZvbGxvKS4xNSBGIC44NzIod2luZyBtZWFuLSktLjI1IEYoaW5nczopMTQ0IDYzMy42IFEKK0YxPGFkNmU+MTQ0IDY0NS42IFEgRjAgLjkwMihTdXBwcmVzc2VzIHRoZSBub3JtYWwgY2hhbmdlIG9mIGRpcmVjdG9yeSB3XAogaGVuIGFkZGluZyBkaXJlY3RvcmllcyB0byB0aGUgc3RhY2ssIHNvIHRoYXQpMjQuNzQgRgotKG9ubHkgdGhlIHN0YWNrIGlzIG1hbmlwdWxhdGVkLikxODAgNTcxLjIgUSBGMSgrKTE0NCA1ODMuMiBRIEYyKG4pQSBGMAorKG9ubHkgdGhlIHN0YWNrIGlzIG1hbmlwdWxhdGVkLikxODAgNjU3LjYgUSBGMSgrKTE0NCA2NjkuNiBRIEYyKG4pQSBGMAogMS4yNjcoUm90YXRlcyB0aGUgc3RhY2sgc28gdGhhdCB0aGUpMjUuMyBGIEYyKG4pMy43NjcgRSBGMCAxLjI2OAogKHRoIGRpcmVjdG9yeSBcKGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3Qgc2hvKUIgMS4yNjgod24gYnkpCi0tLjI1IEYgRjEoZGlycykxODAgNTk1LjIgUSBGMCAyLjUoLHMpQwotKHRhcnRpbmcgd2l0aCB6ZXJvXCkgaXMgYXQgdGhlIHRvcC4pLTIuNSBFIEYxPGFkPjE0NCA2MDcuMiBRIEYyKG4pQSBGMAorLS4yNSBGIEYxKGRpcnMpMTgwIDY4MS42IFEgRjAgMi41KCxzKUMKKyh0YXJ0aW5nIHdpdGggemVyb1wpIGlzIGF0IHRoZSB0b3AuKS0yLjUgRSBGMTxhZD4xNDQgNjkzLjYgUSBGMihuKUEgRjAKIC45MihSb3RhdGVzIHRoZSBzdGFjayBzbyB0aGF0IHRoZSkyNS4zIEYgRjIobikzLjQyIEUgRjAgLjkyCiAodGggZGlyZWN0b3J5IFwoY291bnRpbmcgZnJvbSB0aGUgcmlnaHQgb2YgdGhlIGxpc3Qgc2hvKUIgLjkyKHduIGJ5KS0uMjUKLUYgRjEoZGlycykxODAgNjE5LjIgUSBGMCAyLjUoLHMpQyh0YXJ0aW5nIHdpdGggemVyb1wpIGlzIGF0IHRoZSB0b3AuKQotLTIuNSBFIEYyKGRpcikxNDQuMzUgNjMxLjIgUSBGMChBZGRzKTIzLjk4IEUgRjIoZGlyKTIuODUgRSBGMAorRiBGMShkaXJzKTE4MCA3MDUuNiBRIEYwIDIuNSgscylDKHRhcnRpbmcgd2l0aCB6ZXJvXCkgaXMgYXQgdGhlIHRvcC4pCistMi41IEUgRjIoZGlyKTE0NC4zNSA3MTcuNiBRIEYwKEFkZHMpMjMuOTggRSBGMihkaXIpMi44NSBFIEYwCiAodG8gdGhlIGRpcmVjdG9yeSBzdGFjayBhdCB0aGUgdG9wLCBtYWtpbmcgaXQgdGhlIG5lKTMuMjMgRSAyLjUod2MpLS4yNQotRyh1cnJlbnQgdyktMi41IEUob3JraW5nIGRpcmVjdG9yeSktLjEgRSguKS0uNjUgRSAuNDg4KElmIHRoZSkxNDQgNjQ4IFIKLUYxKHB1c2hkKTIuOTg4IEUgRjAgLjQ4OChjb21tYW5kIGlzIHN1Y2Nlc3NmdWwsIGEpMi45ODggRiBGMShkaXJzKTIuOTg4Ci1FIEYwIC40ODgoaXMgcGVyZm9ybWVkIGFzIHdlbGwuKTIuOTg4IEYgLjQ4OQotKElmIHRoZSBcMjE0cnN0IGZvcm0gaXMgdXNlZCwpNS40ODggRiBGMShwdXNoZCkyLjk4OSBFIEYwIDEuMDQKLShyZXR1cm5zIDAgdW5sZXNzIHRoZSBjZCB0bykxNDQgNjYwIFIgRjIoZGlyKTMuODkgRSBGMCAtLjEoZmEpNC4yNyBHCi0zLjUzOShpbHMuIFcpLjEgRiAxLjAzOShpdGggdGhlIHNlY29uZCBmb3JtLCktLjQgRiBGMShwdXNoZCkzLjUzOSBFIEYwCi0xLjAzOShyZXR1cm5zIDAgdW5sZXNzIHRoZSBkaXJlY3RvcnkpMy41MzkgRiAuODQ2KHN0YWNrIGlzIGVtcHR5KTE0NCA2NzIKLVIgMy4zNDYoLGFuKS0uNjUgRyhvbi1lKS0zLjM0NiBFIC44NDcoeGlzdGVudCBkaXJlY3Rvcnkgc3RhY2sgZWxlbWVudCBpXAotcyBzcGVjaVwyMTRlZCwgb3IgdGhlIGRpcmVjdG9yeSBjaGFuZ2UgdG8gdGhlKS0uMTUgRihzcGVjaVwyMTRlZCBuZSkxNDQKLTY4NCBRIDIuNSh3YyktLjI1IEcodXJyZW50IGRpcmVjdG9yeSBmKS0yLjUgRShhaWxzLiktLjEgRSBGMShwd2QpMTA4Ci03MDAuOCBRIEYwKFspMi41IEUgRjEoXDI1NUxQKUEgRjAoXSlBIC44NDUKLShQcmludCB0aGUgYWJzb2x1dGUgcGF0aG5hbWUgb2YgdGhlIGN1cnJlbnQgdykxNDQgNzEyLjggUiAuODQ1Ci0ob3JraW5nIGRpcmVjdG9yeSktLjEgRiA1Ljg0NCguVCktLjY1IEcgLjg0NAotKGhlIHBhdGhuYW1lIHByaW50ZWQgY29udGFpbnMgbm8pLTUuODQ0IEYgLjE4MShzeW1ib2xpYyBsaW5rcyBpZiB0aGUpMTQ0Ci03MjQuOCBSIEYxPGFkNTA+Mi42ODEgRSBGMCAuMTgxKG9wdGlvbiBpcyBzdXBwbGllZCBvciB0aGUpMi42ODEgRiBGMQotLjE4MShcMjU1byBwaCkyLjY4MSBGKHlzaWNhbCktLjE1IEUgRjAgLjE4MShvcHRpb24gdG8gdGhlKTIuNjgxIEYgRjEKLShzZXQpMi42ODEgRSBGMCAtLjIoYnUpMi42ODEgRyAuMTgyKGlsdGluIGNvbW1hbmQgaXMpLjIgRihHTlUgQmFzaC00LjApCi03MiA3NjggUSgyMDA0IEFwciAyMCkxNDguNzM1IEUoMTEpMTk4LjcyNSBFIDAgQ2cgRVAKK0codXJyZW50IHcpLTIuNSBFKG9ya2luZyBkaXJlY3RvcnkpLS4xIEUoLiktLjY1IEUoR05VIEJhc2gtNC4wKTcyIDc2OCBRCisoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDExKTE5OC43MjUgRSAwIENnIEVQCiAlJVBhZ2U6IDEyIDEyCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyhTSF9CKS4zNSBFKFVJTCktLjEgRSAyOTAuNDgKLShUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFIDMuMjY0Ci0oZW5hYmxlZC4gSWYpMTQ0IDg0IFIodGhlKTMuMjY0IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGPGFkNGM+My4yNjQgRSBGMAotLjc2MyhvcHRpb24gaXMgdXNlZCwgdGhlIHBhdGhuYW1lIHByaW50ZWQgbWF5IGNvbnRhaW4gc3ltYm9saWMgbGlua3MuKQotMy4yNjQgRiAuNzYzKFRoZSByZXR1cm4pNS43NjMgRiAxLjM2KHN0YXR1cyBpcyAwIHVubGVzcyBhbiBlcnJvciBvY2N1cnNcCi0gd2hpbGUgcmVhZGluZyB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBkaXJlY3Rvcnkgb3IgYW4gaW4pMTQ0IDk2IFIgLS4yNQotKHZhKS0uNCBHKGxpZCkuMjUgRShvcHRpb24gaXMgc3VwcGxpZWQuKTE0NCAxMDggUSBGMSAtLjE4KHJlKTEwOCAxMjQuOCBTCi0oYWQpLjE4IEUgRjAoWykyLjUgRSBGMShcMjU1ZXJzKUEgRjAgMi41KF1bKUMgRjE8YWQ2MT4tMi41IEUvRjIgMTAKLS9UaW1lcy1JdGFsaWNAMCBTRihhbmFtZSkyLjUgRSBGMCAyLjUoXVspQyBGMTxhZDY0Pi0yLjUgRSBGMihkZWxpbSkyLjUgRQotRjAgMi41KF1bKUMgRjE8YWQ+LTIuNSBFIEYyKHRlKTIuNSBFKHh0KS0uMiBFIEYwIDIuNShdWylDIEYxPGFkNmU+LTIuNSBFCi1GMihuYykyLjUgRShoYXIpLS4xNSBFKHMpLS4xIEUgRjAgMi41KF1bKUMgRjE8YWQ3MD4tMi41IEUgRjIocHIpMi41IEUKLShvbXB0KS0uNDUgRSBGMCAyLjUoXVspQyBGMTxhZDc0Pi0yLjUgRSBGMih0aW1lb3V0KTIuNSBFIEYwIDIuNShdWylDIEYxCi08YWQ3NT4tMi41IEUgRjIoZmQpMi41IEUgRjAgMi41KF1bKUMgRjIobmFtZSktMi41IEUgRjAoLi4uXSkyLjUgRSAuNTE2KFwKLU9uZSBsaW5lIGlzIHJlYWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQsIG9yIGZyb20gdGhlIFwyMTRsZSBkZXNjcmlwdG9yKQotMTQ0IDEzNi44IFIgRjIoZmQpMy4wMTYgRSBGMCAuNTE2KHN1cHBsaWVkIGFzIGFuIGFyKTMuMDE2IEYgLjUxNgotKGd1bWVudCB0byktLjE4IEYodGhlKTE0NCAxNDguOCBRIEYxPGFkNzU+Mi41MzggRSBGMCAuMDM4CisoVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRSAuNDg4KElmIHRoZSkKKzE0NCA4NCBSL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihwdXNoZCkyLjk4OCBFIEYwIC40ODgKKyhjb21tYW5kIGlzIHN1Y2Nlc3NmdWwsIGEpMi45ODggRiBGMShkaXJzKTIuOTg4IEUgRjAgLjQ4OAorKGlzIHBlcmZvcm1lZCBhcyB3ZWxsLikyLjk4OCBGIC40ODkoSWYgdGhlIFwyMTRyc3QgZm9ybSBpcyB1c2VkLCk1LjQ4OCBGCitGMShwdXNoZCkyLjk4OSBFIEYwIDEuMDQocmV0dXJucyAwIHVubGVzcyB0aGUgY2QgdG8pMTQ0IDk2IFIvRjIgMTAKKy9UaW1lcy1JdGFsaWNAMCBTRihkaXIpMy44OSBFIEYwIC0uMShmYSk0LjI3IEcgMy41MzkoaWxzLiBXKS4xIEYgMS4wMzkKKyhpdGggdGhlIHNlY29uZCBmb3JtLCktLjQgRiBGMShwdXNoZCkzLjUzOSBFIEYwIDEuMDM5CisocmV0dXJucyAwIHVubGVzcyB0aGUgZGlyZWN0b3J5KTMuNTM5IEYgLjg0NihzdGFjayBpcyBlbXB0eSkxNDQgMTA4IFIKKzMuMzQ2KCxhbiktLjY1IEcob24tZSktMy4zNDYgRSAuODQ3KHhpc3RlbnQgZGlyZWN0b3J5IHN0YWNrIGVsZW1lbnQgaXMgXAorc3BlY2lcMjE0ZWQsIG9yIHRoZSBkaXJlY3RvcnkgY2hhbmdlIHRvIHRoZSktLjE1IEYoc3BlY2lcMjE0ZWQgbmUpMTQ0CisxMjAgUSAyLjUod2MpLS4yNSBHKHVycmVudCBkaXJlY3RvcnkgZiktMi41IEUoYWlscy4pLS4xIEUgRjEocHdkKTEwOAorMTM2LjggUSBGMChbKTIuNSBFIEYxKFwyNTVMUClBIEYwKF0pQSAuODQ1CisoUHJpbnQgdGhlIGFic29sdXRlIHBhdGhuYW1lIG9mIHRoZSBjdXJyZW50IHcpMTQ0IDE0OC44IFIgLjg0NQorKG9ya2luZyBkaXJlY3RvcnkpLS4xIEYgNS44NDQoLlQpLS42NSBHIC44NDQKKyhoZSBwYXRobmFtZSBwcmludGVkIGNvbnRhaW5zIG5vKS01Ljg0NCBGIC4xODEoc3ltYm9saWMgbGlua3MgaWYgdGhlKTE0NAorMTYwLjggUiBGMTxhZDUwPjIuNjgxIEUgRjAgLjE4MShvcHRpb24gaXMgc3VwcGxpZWQgb3IgdGhlKTIuNjgxIEYgRjEKKy4xODEoXDI1NW8gcGgpMi42ODEgRih5c2ljYWwpLS4xNSBFIEYwIC4xODEob3B0aW9uIHRvIHRoZSkyLjY4MSBGIEYxCisoc2V0KTIuNjgxIEUgRjAgLS4yKGJ1KTIuNjgxIEcgLjE4MihpbHRpbiBjb21tYW5kIGlzKS4yIEYgMy4yNjQKKyhlbmFibGVkLiBJZikxNDQgMTcyLjggUih0aGUpMy4yNjQgRSBGMTxhZDRjPjMuMjY0IEUgRjAgLjc2MworKG9wdGlvbiBpcyB1c2VkLCB0aGUgcGF0aG5hbWUgcHJpbnRlZCBtYXkgY29udGFpbiBzeW1ib2xpYyBsaW5rcy4pMy4yNjQKK0YgLjc2MyhUaGUgcmV0dXJuKTUuNzYzIEYgMS4zNihzdGF0dXMgaXMgMCB1bmxlc3MgYW4gZXJyb3Igb2NjdXJzIHdoaWxlXAorIHJlYWRpbmcgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IG9yIGFuIGluKTE0NCAxODQuOCBSIC0uMjUodmEpCistLjQgRyhsaWQpLjI1IEUob3B0aW9uIGlzIHN1cHBsaWVkLikxNDQgMTk2LjggUSBGMSAtLjE4KHJlKTEwOCAyMTMuNiBTCisoYWQpLjE4IEUgRjAoWykzLjgxNyBFIEYxKFwyNTVlcnMpQSBGMCAzLjgxNyhdWylDIEYxPGFkNjE+LTMuODE3IEUgRjIKKyhhbmFtZSkzLjgxNyBFIEYwIDMuODE3KF1bKUMgRjE8YWQ2ND4tMy44MTcgRSBGMihkZWxpbSkzLjgxNyBFIEYwIDMuODE3CisoXVspQyBGMTxhZDY5Pi0zLjgxNyBFIEYyKHRlKTMuODE3IEUoeHQpLS4yIEUgRjAgMy44MTcoXVspQyBGMTxhZDZlPgorLTMuODE3IEUgRjIobmMpMy44MTYgRShoYXIpLS4xNSBFKHMpLS4xIEUgRjAgMy44MTYoXVspQyBGMTxhZDRlPi0zLjgxNiBFCitGMihuYykzLjgxNiBFKGhhciktLjE1IEUocyktLjEgRSBGMCAzLjgxNihdWylDIEYxPGFkNzA+LTMuODE2IEUgRjIocHIpCiszLjgxNiBFKG9tcHQpLS40NSBFIEYwIDMuODE2KF1bKUMgRjE8YWQ3ND4tMy44MTYgRSBGMih0aW1lb3V0KTMuODE2IEUgRjAKKzMuODE2KF1bKUMgRjE8YWQ3NT4tMy44MTYgRSBGMihmZCkzLjgxNiBFIEYwKF0pQShbKTEwOCAyMjUuNiBRIEYyKG5hbWUpQQorRjAoLi4uXSkyLjUgRSAuNTE2KE9uZSBsaW5lIGlzIHJlYWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQsIG9yIGZyb20gdGhcCitlIFwyMTRsZSBkZXNjcmlwdG9yKTE0NCAyMzcuNiBSIEYyKGZkKTMuMDE2IEUgRjAgLjUxNihzdXBwbGllZCBhcyBhbiBhcikKKzMuMDE2IEYgLjUxNihndW1lbnQgdG8pLS4xOCBGKHRoZSkxNDQgMjQ5LjYgUSBGMTxhZDc1PjIuNTM4IEUgRjAgLjAzOAogKG9wdGlvbiwgYW5kIHRoZSBcMjE0cnN0IHcpMi41MzggRiAuMDM4KG9yZCBpcyBhc3NpZ25lZCB0byB0aGUgXDIxNHJzdCkKIC0uMSBGIEYyKG5hbWUpMi41MzkgRSBGMCAyLjUzOSgsdCkuMTggRyAuMDM5KGhlIHNlY29uZCB3KS0yLjUzOSBGIC4wMzkKIChvcmQgdG8gdGhlIHNlY29uZCktLjEgRiBGMihuYW1lKTIuNTM5IEUgRjAoLCkuMTggRSAuNDIKLShhbmQgc28gb24sIHdpdGggbGVmdG8pMTQ0IDE2MC44IFIgLS4xNSh2ZSktLjE1IEcgMi45MihydykuMTUgRyAuNDIKKyhhbmQgc28gb24sIHdpdGggbGVmdG8pMTQ0IDI2MS42IFIgLS4xNSh2ZSktLjE1IEcgMi45MihydykuMTUgRyAuNDIKIChvcmRzIGFuZCB0aGVpciBpbnRlcnYpLTMuMDIgRiAuNDIKIChlbmluZyBzZXBhcmF0b3JzIGFzc2lnbmVkIHRvIHRoZSBsYXN0KS0uMTUgRiBGMihuYW1lKTIuOTIgRSBGMCA1LjQyKC5JKQotLjE4IEcgMi45MihmdCktNS40MiBHKGhlcmUpLTIuOTIgRSAuNTQoYXJlIGZlKTE0NCAxNzIuOCBSIC41NCh3ZXIgdyktLjI1CisuMTggRyAyLjkyKGZ0KS01LjQyIEcoaGVyZSktMi45MiBFIC41NChhcmUgZmUpMTQ0IDI3My42IFIgLjU0KHdlciB3KS0uMjUKIEYgLjU0MShvcmRzIHJlYWQgZnJvbSB0aGUgaW5wdXQgc3RyZWFtIHRoYW4gbmFtZXMsIHRoZSByZW1haW5pbmcgbmFtZXMgXAotYXJlIGFzc2lnbmVkIGVtcHR5KS0uMSBGIC0uMjUodmEpMTQ0IDE4NC44IFMgMi41MTEobHVlcy4gVGhlKS4yNSBGIC4wMTEKK2FyZSBhc3NpZ25lZCBlbXB0eSktLjEgRiAtLjI1KHZhKTE0NCAyODUuNiBTIDIuNTExKGx1ZXMuIFRoZSkuMjUgRiAuMDExCiAoY2hhcmFjdGVycyBpbikyLjUxMSBGL0YzIDkvVGltZXMtQm9sZEAwIFNGKElGUykyLjUxMSBFIEYwIC4wMTEKIChhcmUgdXNlZCB0byBzcGxpdCB0aGUgbGluZSBpbnRvIHcpMi4yNjEgRiAyLjUxMShvcmRzLiBUaGUpLS4xIEYgLjAxMQogKGJhY2tzbGFzaCBjaGFyYWN0ZXIgXCgpMi41MTEgRiBGMShcXClBIEYwIDIuNTEoXCltKUMoYXkpLTIuNTEgRSAxLjg5Ci0oYmUgdXNlZCB0byByZW1vKTE0NCAxOTYuOCBSIDIuMTkgLS4xNSh2ZSBhKS0uMTUgSCAyLjE5IC0uMTUobnkgcykuMTUgSAorKGJlIHVzZWQgdG8gcmVtbykxNDQgMjk3LjYgUiAyLjE5IC0uMTUodmUgYSktLjE1IEggMi4xOSAtLjE1KG55IHMpLjE1IEgKIDEuODkxKHBlY2lhbCBtZWFuaW5nIGZvciB0aGUgbmUpLjE1IEYgMS44OTEKICh4dCBjaGFyYWN0ZXIgcmVhZCBhbmQgZm9yIGxpbmUgY29udGludWF0aW9uLiktLjE1IEYKLShPcHRpb25zLCBpZiBzdXBwbGllZCwgaGEpMTQ0IDIwOC44IFEgLjMgLS4xNSh2ZSB0KS0uMiBIKGhlIGZvbGxvKS4xNSBFCi0od2luZyBtZWFuaW5nczopLS4yNSBFIEYxPGFkNjE+MTQ0IDIyMC44IFEgRjIoYW5hbWUpMi41IEUgRjAgMS4wNShUaGUgdykKLTE4MCAyMzIuOCBSIDEuMDQ5CisoT3B0aW9ucywgaWYgc3VwcGxpZWQsIGhhKTE0NCAzMDkuNiBRIC4zIC0uMTUodmUgdCktLjIgSChoZSBmb2xsbykuMTUgRQorKHdpbmcgbWVhbmluZ3M6KS0uMjUgRSBGMTxhZDYxPjE0NCAzMjEuNiBRIEYyKGFuYW1lKTIuNSBFIEYwIDEuMDUoVGhlIHcpCisxODAgMzMzLjYgUiAxLjA0OQogKG9yZHMgYXJlIGFzc2lnbmVkIHRvIHNlcXVlbnRpYWwgaW5kaWNlcyBvZiB0aGUgYXJyYXkgdiktLjEgRihhcmlhYmxlKQogLS4yNSBFIEYyKGFuYW1lKTMuNTQ5IEUgRjAgMy41NDkoLHMpLjE4IEcgMS4wNDkodGFydGluZyBhdCAwLiktMy41NDkgRgotRjIoYW5hbWUpMTgwLjMzIDI0NC44IFEgRjAoaXMgdW5zZXQgYmVmb3JlIGFuKTIuNjggRSAyLjUoeW4pLS4xNSBHIC41CitGMihhbmFtZSkxODAuMzMgMzQ1LjYgUSBGMChpcyB1bnNldCBiZWZvcmUgYW4pMi42OCBFIDIuNSh5biktLjE1IEcgLjUKIC0uMjUoZXcgdmEpLTIuNSBIKGx1ZXMgYXJlIGFzc2lnbmVkLikuMjUgRShPdGhlcik1IEUgRjIobmFtZSkyLjUgRSBGMAotKGFyKTIuNSBFKGd1bWVudHMgYXJlIGlnbm9yZWQuKS0uMTggRSBGMTxhZDY0PjE0NCAyNTYuOCBRIEYyKGRlbGltKTIuNSBFCi1GMChUaGUgXDIxNHJzdCBjaGFyYWN0ZXIgb2YpMTgwIDI2OC44IFEgRjIoZGVsaW0pMi41IEUgRjAKKyhhcikyLjUgRShndW1lbnRzIGFyZSBpZ25vcmVkLiktLjE4IEUgRjE8YWQ2ND4xNDQgMzU3LjYgUSBGMihkZWxpbSkyLjUgRQorRjAoVGhlIFwyMTRyc3QgY2hhcmFjdGVyIG9mKTE4MCAzNjkuNiBRIEYyKGRlbGltKTIuNSBFIEYwCiAoaXMgdXNlZCB0byB0ZXJtaW5hdGUgdGhlIGlucHV0IGxpbmUsIHJhdGhlciB0aGFuIG5lKTIuNSBFKHdsaW5lLiktLjI1IEUKLUYxPGFkNjU+MTQ0IDI4MC44IFEgRjAgLjM3MgorRjE8YWQ2NT4xNDQgMzgxLjYgUSBGMCAuMzcyCiAoSWYgdGhlIHN0YW5kYXJkIGlucHV0IGlzIGNvbWluZyBmcm9tIGEgdGVybWluYWwsKTI1Ljg2IEYgRjEgLS4xOChyZSkKIDIuODczIEcoYWRsaW5lKS4xOCBFIEYwKFwoc2VlKTIuODczIEUgRjMoUkVBRExJTkUpMi44NzMgRSBGMChhYm8pMi42MjMgRQogLS4xNSh2ZSktLjE1IEcgMi44NzMoXClpKS4xNSBHIDIuODczKHN1KS0yLjg3MyBHKHNlZCktMi44NzMgRSAuMjE4Ci0odG8gb2J0YWluIHRoZSBsaW5lLikxODAgMjkyLjggUiAuMjE4CisodG8gb2J0YWluIHRoZSBsaW5lLikxODAgMzkzLjYgUiAuMjE4CiAoUmVhZGxpbmUgdXNlcyB0aGUgY3VycmVudCBcKG9yIGRlZik1LjIxOCBGIC4yMTgKIChhdWx0LCBpZiBsaW5lIGVkaXRpbmcgdyktLjEgRiAuMjE4KGFzIG5vdCBwcmUpLS4xIEYodmlvdXNseSktLjI1IEUKLShhY3RpKTE4MCAzMDQuOCBRIC0uMTUodmUpLS4yNSBHIDIuNShcKWUpLjE1IEcoZGl0aW5nIHNldHRpbmdzLiktMi41IEUKLUYxPGFkNjk+MTQ0IDMxNi44IFEgRjIodGUpMi41IEUoeHQpLS4yIEUgRjAoSWYpMTAuNzggRSBGMSAtLjE4KHJlKTIuNzE1CisoYWN0aSkxODAgNDA1LjYgUSAtLjE1KHZlKS0uMjUgRyAyLjUoXCllKS4xNSBHKGRpdGluZyBzZXR0aW5ncy4pLTIuNSBFCitGMTxhZDY5PjE0NCA0MTcuNiBRIEYyKHRlKTIuNSBFKHh0KS0uMiBFIEYwKElmKTEwLjc4IEUgRjEgLS4xOChyZSkyLjcxNQogRyhhZGxpbmUpLjE4IEUgRjAgLjIxNihpcyBiZWluZyB1c2VkIHRvIHJlYWQgdGhlIGxpbmUsKTIuNzE1IEYgRjIodGUpCiAyLjcxNiBFKHh0KS0uMiBFIEYwIC4yMTYoaXMgcGxhY2VkIGludG8gdGhlIGVkaXRpbmcgYikyLjcxNiBGKHVmKS0uMiBFCi0uMjE2KGZlciBiZWZvcmUgZWRpdC0pLS4yNSBGKGluZyBiZSkxODAgMzI4LjggUShnaW5zLiktLjE1IEUgRjE8YWQ2ZT4xNDQKLTM0MC44IFEgRjIobmMpMi41IEUoaGFyKS0uMTUgRShzKS0uMSBFIEYxIC0uMTgocmUpMTgwIDM1Mi44IFMoYWQpLjE4IEUKKy4yMTYoZmVyIGJlZm9yZSBlZGl0LSktLjI1IEYoaW5nIGJlKTE4MCA0MjkuNiBRKGdpbnMuKS0uMTUgRSBGMTxhZDZlPjE0NAorNDQxLjYgUSBGMihuYykyLjUgRShoYXIpLS4xNSBFKHMpLS4xIEUgRjEgLS4xOChyZSkxODAgNDUzLjYgUyhhZCkuMTggRQogRjAgMS4zOTUocmV0dXJucyBhZnRlciByZWFkaW5nKTMuODk1IEYgRjIobmMpMy44OTUgRShoYXIpLS4xNSBFKHMpLS4xIEUKIEYwIDEuMzk1KGNoYXJhY3RlcnMgcmF0aGVyIHRoYW4gdykzLjg5NSBGIDEuMzk0Ci0oYWl0aW5nIGZvciBhIGNvbXBsZXRlIGxpbmUgb2YpLS4xIEYoaW5wdXQuKTE4MCAzNjQuOCBRIEYxPGFkNzA+MTQ0Ci0zNzYuOCBRIEYyKHByKTIuNSBFKG9tcHQpLS40NSBFIEYwKERpc3BsYXkpMTgwIDM4OC44IFEgRjIocHIpMy42NiBFCi0ob21wdCktLjQ1IEUgRjAgMS4xNjEob24gc3RhbmRhcmQgZXJyb3IpMy42NiBGIDMuNjYxKCx3KS0uNCBHIDEuMTYxCisoYWl0aW5nIGZvciBhIGNvbXBsZXRlIGxpbmUgb2YpLS4xIEYoaW5wdXQsIGIpMTgwIDQ2NS42IFEKKyh1dCBob25vciBhIGRlbGltaXRlciBpZiBmZSktLjIgRSh3ZXIgdGhhbiktLjI1IEUgRjIobmMpMi41IEUoaGFyKS0uMTUgRQorKHMpLS4xIEUgRjAoY2hhcmFjdGVycyBhcmUgcmVhZCBiZWZvcmUgdGhlIGRlbGltaXRlcikyLjUgRSguKS0uNTUgRSBGMQorPGFkNGU+MTQ0IDQ3Ny42IFEgRjIobmMpMi41IEUoaGFyKS0uMTUgRShzKS0uMSBFIEYxIC0uMTgocmUpMTgwIDQ4OS42IFMKKyhhZCkuMTggRSBGMCAxLjI2OShyZXR1cm5zIGFmdGVyIHJlYWRpbmcgZSkzLjc2OSBGKHhhY3RseSktLjE1IEUgRjIobmMpCiszLjc2OSBFKGhhciktLjE1IEUocyktLjEgRSBGMCAxLjI2OShjaGFyYWN0ZXJzIHJhdGhlciB0aGFuIHcpMy43NjkgRgorMS4yNyhhaXRpbmcgZm9yIGEgY29tcGxldGUpLS4xIEYgLjI3NQorKGxpbmUgb2YgaW5wdXQsIHVubGVzcyBFT0YgaXMgZW5jb3VudGVyZWQgb3IpMTgwIDUwMS42IFIgRjEgLS4xOChyZSkKKzIuNzc1IEcoYWQpLjE4IEUgRjAgLjI3NCh0aW1lcyBvdXQuKTIuNzc0IEYgLjI3NAorKERlbGltaXRlciBjaGFyYWN0ZXJzIGVuY291bi0pNS4yNzQgRiAxLjAwMgorKHRlcmVkIGluIHRoZSBpbnB1dCBhcmUgbm90IHRyZWF0ZWQgc3BlY2lhbGx5IGFuZCBkbyBub3QgY2F1c2UpMTgwIDUxMy42CitSIEYxIC0uMTgocmUpMy41MDMgRyhhZCkuMTggRSBGMCAxLjAwMyh0byByZXR1cm4gdW50aWwpMy41MDMgRiBGMihuYykKKzMuNTAzIEUoaGFyKS0uMTUgRShzKS0uMSBFIEYwKGNoYXJhY3RlcnMgYXJlIHJlYWQuKTE4MCA1MjUuNiBRIEYxPGFkNzA+CisxNDQgNTM3LjYgUSBGMihwcikyLjUgRShvbXB0KS0uNDUgRSBGMChEaXNwbGF5KTE4MCA1NDkuNiBRIEYyKHByKTMuNjYxIEUKKyhvbXB0KS0uNDUgRSBGMCAxLjE2MShvbiBzdGFuZGFyZCBlcnJvcikzLjY2MSBGIDMuNjYxKCx3KS0uNCBHIDEuMTYxCiAoaXRob3V0IGEgdHJhaWxpbmcgbmUpLTMuNjYxIEYgMS4xNjEod2xpbmUsIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHJlYWQpCi0tLjI1IEYoYW4pMTgwIDQwMC44IFEgMi41KHlpKS0uMTUgRyAyLjUobnB1dC4gVGhlKS0yLjUgRgorLS4yNSBGKGFuKTE4MCA1NjEuNiBRIDIuNSh5aSktLjE1IEcgMi41KG5wdXQuIFRoZSktMi41IEYKIChwcm9tcHQgaXMgZGlzcGxheWVkIG9ubHkgaWYgaW5wdXQgaXMgY29taW5nIGZyb20gYSB0ZXJtaW5hbC4pMi41IEUgRjEKLTxhZDcyPjE0NCA0MTIuOCBRIEYwIC41NDQoQmFja3NsYXNoIGRvZXMgbm90IGFjdCBhcyBhbiBlc2NhcGUgY2hhcmFjdGVyKQotMjUuODYgRiA1LjU0MyguVCktLjU1IEcgLjU0MyhoZSBiYWNrc2xhc2ggaXMgY29uc2lkZXJlZCB0byBiZSBwYXJ0IG9mKQotLTUuNTQzIEYodGhlIGxpbmUuKTE4MCA0MjQuOCBRKEluIHBhcnRpY3VsYXIpNSBFIDIuNSgsYWIpLS40IEcKKzxhZDcyPjE0NCA1NzMuNiBRIEYwIC41NDMoQmFja3NsYXNoIGRvZXMgbm90IGFjdCBhcyBhbiBlc2NhcGUgY2hhcmFjdGVyKQorMjUuODYgRiA1LjU0MyguVCktLjU1IEcgLjU0NChoZSBiYWNrc2xhc2ggaXMgY29uc2lkZXJlZCB0byBiZSBwYXJ0IG9mKQorLTUuNTQzIEYodGhlIGxpbmUuKTE4MCA1ODUuNiBRKEluIHBhcnRpY3VsYXIpNSBFIDIuNSgsYWIpLS40IEcKIChhY2tzbGFzaC1uZSktMi41IEUod2xpbmUgcGFpciBtYXkgbm90IGJlIHVzZWQgYXMgYSBsaW5lIGNvbnRpbnVhdGlvbi4pCi0tLjI1IEUgRjE8YWQ3Mz4xNDQgNDM2LjggUSBGMChTaWxlbnQgbW9kZS4pMjYuNDEgRQorLS4yNSBFIEYxPGFkNzM+MTQ0IDU5Ny42IFEgRjAoU2lsZW50IG1vZGUuKTI2LjQxIEUKIChJZiBpbnB1dCBpcyBjb21pbmcgZnJvbSBhIHRlcm1pbmFsLCBjaGFyYWN0ZXJzIGFyZSBub3QgZWNob2VkLik1IEUgRjEKLTxhZDc0PjE0NCA0NDguOCBRIEYyKHRpbWVvdXQpMi41IEUgRjAoQ2F1c2UpMTgwIDQ2MC44IFEgRjEgLS4xOChyZSkzLjU0OAotRyhhZCkuMTggRSBGMCAxLjA0OCh0byB0aW1lIG91dCBhbmQgcmV0dXJuIGYpMy41NDggRiAxLjA0OAorPGFkNzQ+MTQ0IDYwOS42IFEgRjIodGltZW91dCkyLjUgRSBGMChDYXVzZSkxODAgNjIxLjYgUSBGMSAtLjE4KHJlKTMuNTQ5CitHKGFkKS4xOCBFIEYwIDEuMDQ4KHRvIHRpbWUgb3V0IGFuZCByZXR1cm4gZikzLjU0OSBGIDEuMDQ4CiAoYWlsdXJlIGlmIGEgY29tcGxldGUgbGluZSBvZiBpbnB1dCBpcyBub3QgcmVhZCB3aXRoaW4pLS4xIEYgRjIodGltZW91dCkKLTE4MCA0NzIuOCBRIEYwKHNlY29uZHMuKTMuNDk3IEUgRjIodGltZW91dCk1Ljk5NyBFIEYwIC45OTcKLShtYXkgYmUgYSBkZWNpbWFsIG51bWJlciB3aXRoIGEgZnJhY3Rpb25hbCBwb3J0aW9uIGZvbGxvKTMuNDk3IEYod2luZykKLS0uMjUgRSAuNTc2KHRoZSBkZWNpbWFsIHBvaW50LikxODAgNDg0LjggUiAuNTc2KFRoaXMgb3B0aW9uIGlzIG9ubHkgZWYpCisxODAgNjMzLjYgUSBGMChzZWNvbmRzLikzLjQ5NiBFIEYyKHRpbWVvdXQpNS45OTYgRSBGMCAuOTk3CisobWF5IGJlIGEgZGVjaW1hbCBudW1iZXIgd2l0aCBhIGZyYWN0aW9uYWwgcG9ydGlvbiBmb2xsbykzLjQ5NiBGKHdpbmcpCistLjI1IEUgLjU3Nih0aGUgZGVjaW1hbCBwb2ludC4pMTgwIDY0NS42IFIgLjU3NihUaGlzIG9wdGlvbiBpcyBvbmx5IGVmKQogNS41NzYgRihmZWN0aSktLjI1IEUgLjg3NiAtLjE1KHZlIGkpLS4yNSBIKGYpLjE1IEUgRjEgLS4xOChyZSkzLjA3NiBHCi0oYWQpLjE4IEUgRjAgLjU3NihpcyByZWFkaW5nIGlucHV0IGZyb20gYSB0ZXJtaW5hbCwpMy4wNzYgRiAuMTQyCi0ocGlwZSwgb3Igb3RoZXIgc3BlY2lhbCBcMjE0bGU7IGl0IGhhcyBubyBlZikxODAgNDk2LjggUiAuMTQyCi0oZmVjdCB3aGVuIHJlYWRpbmcgZnJvbSByZSktLjI1IEYgLjE0MihndWxhciBcMjE0bGVzLiktLjE1IEYoSWYpNS4xNDEgRQotRjIodGltZW91dCkyLjY0MSBFIEYwIC4xNDEoaXMgMCwpMi42NDEgRiBGMSAtLjE4KHJlKTE4MCA1MDguOCBTKGFkKS4xOCBFCi1GMCAuMTEzKHJldHVybnMgc3VjY2VzcyBpZiBpbnB1dCBpcyBhKTIuNjEzIEYgLS4yNSh2YSktLjIgRyAuMTEzCi0oaWxhYmxlIG9uIHRoZSBzcGVjaVwyMTRlZCBcMjE0bGUgZGVzY3JpcHRvcikuMjUgRiAyLjYxMygsZiktLjQgRyAuMTE0Ci0oYWlsdXJlIG90aGVyd2lzZS4pLTIuNzEzIEYoVGhlIGUpMTgwIDUyMC44IFEKKyhhZCkuMTggRSBGMCAuNTc2KGlzIHJlYWRpbmcgaW5wdXQgZnJvbSBhIHRlcm1pbmFsLCkzLjA3NiBGIC4xNDEKKyhwaXBlLCBvciBvdGhlciBzcGVjaWFsIFwyMTRsZTsgaXQgaGFzIG5vIGVmKTE4MCA2NTcuNiBSIC4xNDIKKyhmZWN0IHdoZW4gcmVhZGluZyBmcm9tIHJlKS0uMjUgRiAuMTQyKGd1bGFyIFwyMTRsZXMuKS0uMTUgRihJZik1LjE0MiBFCitGMih0aW1lb3V0KTIuNjQyIEUgRjAgLjE0MihpcyAwLCkyLjY0MiBGIEYxIC0uMTgocmUpMTgwIDY2OS42IFMoYWQpLjE4IEUKK0YwIC4xMTMocmV0dXJucyBzdWNjZXNzIGlmIGlucHV0IGlzIGEpMi42MTQgRiAtLjI1KHZhKS0uMiBHIC4xMTMKKyhpbGFibGUgb24gdGhlIHNwZWNpXDIxNGVkIFwyMTRsZSBkZXNjcmlwdG9yKS4yNSBGIDIuNjEzKCxmKS0uNCBHIC4xMTMKKyhhaWx1cmUgb3RoZXJ3aXNlLiktMi43MTMgRihUaGUgZSkxODAgNjgxLjYgUQogKHhpdCBzdGF0dXMgaXMgZ3JlYXRlciB0aGFuIDEyOCBpZiB0aGUgdGltZW91dCBpcyBlKS0uMTUgRSh4Y2VlZGVkLiktLjE1Ci1FIEYxPGFkNzU+MTQ0IDUzMi44IFEgRjIoZmQpMi41IEUgRjAoUmVhZCBpbnB1dCBmcm9tIFwyMTRsZSBkZXNjcmlwdG9yKQotMTQuNDYgRSBGMihmZCkyLjUgRSBGMCguKUEgLjE5MihJZiBubykxNDQgNTQ5LjYgUiBGMihuYW1lcykzLjA1MiBFIEYwCi0uMTkyKGFyZSBzdXBwbGllZCwgdGhlIGxpbmUgcmVhZCBpcyBhc3NpZ25lZCB0byB0aGUgdikyLjk2MiBGKGFyaWFibGUpCi0tLjI1IEUgRjMoUkVQTCkyLjY5MSBFKFkpLS44MjggRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIC4xOTEKLShUaGUgcmV0dXJuIGNvZGUgaXMgemVybywpNC42OTEgRiAxLjM0MwotKHVubGVzcyBlbmQtb2YtXDIxNGxlIGlzIGVuY291bnRlcmVkLCkxNDQgNTYxLjYgUiBGMSAtLjE4KHJlKTMuODQzIEcoYWQpCitFIEYxPGFkNzU+MTQ0IDY5My42IFEgRjIoZmQpMi41IEUgRjAoUmVhZCBpbnB1dCBmcm9tIFwyMTRsZSBkZXNjcmlwdG9yKQorMTQuNDYgRSBGMihmZCkyLjUgRSBGMCguKUEgLjE5MShJZiBubykxNDQgNzEwLjQgUiBGMihuYW1lcykzLjA1MSBFIEYwCisuMTkxKGFyZSBzdXBwbGllZCwgdGhlIGxpbmUgcmVhZCBpcyBhc3NpZ25lZCB0byB0aGUgdikyLjk2MSBGKGFyaWFibGUpCistLjI1IEUgRjMoUkVQTCkyLjY5MiBFKFkpLS44MjggRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIC4xOTIKKyhUaGUgcmV0dXJuIGNvZGUgaXMgemVybywpNC42OTIgRiAxLjM0NAorKHVubGVzcyBlbmQtb2YtXDIxNGxlIGlzIGVuY291bnRlcmVkLCkxNDQgNzIyLjQgUiBGMSAtLjE4KHJlKTMuODQ0IEcoYWQpCiAuMTggRSBGMCAxLjM0MwotKHRpbWVzIG91dCBcKGluIHdoaWNoIGNhc2UgdGhlIHJldHVybiBjb2RlIGlzIGdyZWF0ZXIgdGhhbikzLjg0MyBGCi0oMTI4XCksIG9yIGFuIGluKTE0NCA1NzMuNiBRIC0uMjUodmEpLS40IEcKLShsaWQgXDIxNGxlIGRlc2NyaXB0b3IgaXMgc3VwcGxpZWQgYXMgdGhlIGFyKS4yNSBFKGd1bWVudCB0byktLjE4IEUgRjEKLTxhZDc1PjIuNSBFIEYwKC4pQSBGMSAtLjE4KHJlKTEwOCA1OTAuNCBTKGFkb25seSkuMTggRSBGMChbKTIuNSBFIEYxCi0oXDI1NWFBKUEocGYpLS4yNSBFIEYwIDIuNShdWylDIEYyKG5hbWUpLTIuNSBFIEYwKFs9KUEgRjIod29yKUEoZCktLjM3IEUKLUYwIDIuNShdLilDKC4uXSktMi41IEUgLjc3KFRoZSBnaSkxNDQgNjAyLjQgUiAtLjE1KHZlKS0uMjUgRyhuKS4xNSBFIEYyCi0obmFtZXMpMy4yNyBFIEYwIC43NyhhcmUgbWFyaykzLjI3IEYgLjc3KGVkIHJlYWRvbmx5OyB0aGUgdiktLjEgRiAuNzcKLShhbHVlcyBvZiB0aGVzZSktLjI1IEYgRjIobmFtZXMpMy42MyBFIEYwIC43NwotKG1heSBub3QgYmUgY2hhbmdlZCBieSBzdWJzZS0pMy41NCBGIDEuMDk2KHF1ZW50IGFzc2lnbm1lbnQuKTE0NCA2MTQuNCBSCi0xLjA5NihJZiB0aGUpNi4wOTYgRiBGMTxhZDY2PjMuNTk2IEUgRjAgMS4wOTcKLShvcHRpb24gaXMgc3VwcGxpZWQsIHRoZSBmdW5jdGlvbnMgY29ycmVzcG9uZGluZyB0byB0aGUpMy41OTYgRiBGMgotKG5hbWVzKTMuNTk3IEUgRjAgMS4wOTcoYXJlIHNvKTMuNTk3IEYobWFyaykxNDQgNjI2LjQgUSAzLjMzNChlZC4gVGhlKQotLS4xIEYgRjE8YWQ2MT4zLjMzNCBFIEYwIC44MzQob3B0aW9uIHJlc3RyaWN0cyB0aGUgdikzLjMzNCBGIC44MzQKLShhcmlhYmxlcyB0byBpbmRlKS0uMjUgRiAtLjE1KHhlKS0uMTUgRyAzLjMzNChkYSkuMTUgRyAuODM0KHJyYXlzOyB0aGUpCi0tMy4zMzQgRiBGMTxhZDQxPjMuMzM0IEUgRjAgLjgzNChvcHRpb24gcmVzdHJpY3RzIHRoZSB2KTMuMzM0IEYoYXJpLSkKLS0uMjUgRSAuNTM3KGFibGVzIHRvIGFzc29jaWF0aSkxNDQgNjM4LjQgUiAuODM3IC0uMTUodmUgYSktLjI1IEggMy4wMzcKLShycmF5cy4gSWYpLjE1IEYobm8pMy4wMzggRSBGMihuYW1lKTMuMzk4IEUgRjAoYXIpMy4yMTggRSAuNTM4Ci0oZ3VtZW50cyBhcmUgZ2kpLS4xOCBGIC0uMTUodmUpLS4yNSBHIC41Mzgobiwgb3IgaWYgdGhlKS4xNSBGIEYxPGFkNzA+Ci0zLjAzOCBFIEYwIC41Mzgob3B0aW9uIGlzIHN1cHBsaWVkLCBhIGxpc3QpMy4wMzggRiAuMDgxCi0ob2YgYWxsIHJlYWRvbmx5IG5hbWVzIGlzIHByaW50ZWQuKTE0NCA2NTAuNCBSKFRoZSk1LjA4MSBFIEYxPGFkNzA+Mi41ODEKLUUgRjAgLjA4KG9wdGlvbiBjYXVzZXMgb3V0cHV0IHRvIGJlIGRpc3BsYXllZCBpbiBhIGZvcm1hdCB0aGF0IG1heSkyLjU4MQotRiAxLjE3NihiZSByZXVzZWQgYXMgaW5wdXQuKTE0NCA2NjIuNCBSIDEuMTc2KElmIGEgdik2LjE3NiBGIDEuMTc2Ci0oYXJpYWJsZSBuYW1lIGlzIGZvbGxvKS0uMjUgRiAxLjE3Nih3ZWQgYnkgPSktLjI1IEYgRjIod29yKUEoZCktLjM3IEUgRjAKLTMuNjc2KCx0KUMgMS4xNzYoaGUgdiktMy42NzYgRiAxLjE3NyhhbHVlIG9mIHRoZSB2KS0uMjUgRiAxLjE3NwotKGFyaWFibGUgaXMgc2V0IHRvKS0uMjUgRiBGMih3b3IpMTQ0IDY3NC40IFEoZCktLjM3IEUgRjAgNi4yMDYoLlQpQwotMS4yMDYoaGUgcmV0dXJuIHN0YXR1cyBpcyAwIHVubGVzcyBhbiBpbiktNi4yMDYgRiAtLjI1KHZhKS0uNCBHIDEuMjA1Ci0obGlkIG9wdGlvbiBpcyBlbmNvdW50ZXJlZCwgb25lIG9mIHRoZSkuMjUgRiBGMihuYW1lcyk0LjA2NSBFIEYwIDEuMjA1Ci0oaXMgbm90IGEpMy45NzUgRiAtLjI1KHZhKTE0NCA2ODYuNCBTKGxpZCBzaGVsbCB2KS4yNSBFCi0oYXJpYWJsZSBuYW1lLCBvciktLjI1IEUgRjE8YWQ2Nj4yLjUgRSBGMChpcyBzdXBwbGllZCB3aXRoIGEpMi41IEUgRjIKLShuYW1lKTIuODYgRSBGMCh0aGF0IGlzIG5vdCBhIGZ1bmN0aW9uLikyLjY4IEUgRjEgLS4xOChyZSkxMDggNzAzLjIgUwotKHR1cikuMTggRShuKS0uMTUgRSBGMChbKTIuNSBFIEYyKG4pQSBGMChdKUEgLjU4NgotKENhdXNlcyBhIGZ1bmN0aW9uIHRvIGUpMTQ0IDcxNS4yIFIgLjU4Nyh4aXQgd2l0aCB0aGUgcmV0dXJuIHYpLS4xNSBGCi0uNTg3KGFsdWUgc3BlY2lcMjE0ZWQgYnkpLS4yNSBGIEYyKG4pMy4wODcgRSBGMCA1LjU4NyguSSkuMjQgRyhmKS01LjU4NwotRSBGMihuKTMuNDQ3IEUgRjAgLjU4NyhpcyBvbWl0dGVkLCB0aGUgcmV0dXJuIHN0YXR1cyBpcykzLjMyNyBGIDEuMzM1Ci0odGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kIGUpMTQ0IDcyNy4yIFIgLS4xNSh4ZSktLjE1IEcgMS4zMzUKLShjdXRlZCBpbiB0aGUgZnVuY3Rpb24gYm9keSkuMTUgRiA2LjMzNSguSSktLjY1IEcgMy44MzUoZnUpLTYuMzM1IEcKLTEuMzM1KHNlZCBvdXRzaWRlIGEgZnVuY3Rpb24sIGIpLTMuODM1IEYgMS4zMzUodXQgZHVyaW5nKS0uMiBGCisodGltZXMgb3V0IFwoaW4gd2hpY2ggY2FzZSB0aGUgcmV0dXJuIGNvZGUgaXMgZ3JlYXRlciB0aGFuKTMuODQ0IEYKIChHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDEyKTE5OC43MjUgRSAwIENnIEVQCiAlJVBhZ2U6IDEzIDEzCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyhTSF9CKS4zNSBFKFVJTCktLjEgRSAyOTAuNDgKLShUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFIC0uMTUoZXhlKTE0NAotODQgUyAuNzk0KGN1dGlvbiBvZiBhIHNjcmlwdCBieSB0aGUpLjE1IEYvRjEgMTAvVGltZXMtQm9sZEAwIFNGKC4pMy4yOTQKLUUgRjAoXCgpNS43OTQgRSBGMShzb3VyKUEoY2UpLS4xOCBFIEYwIDMuMjk0KFwpYylDIC43OTQKLShvbW1hbmQsIGl0IGNhdXNlcyB0aGUgc2hlbGwgdG8gc3RvcCBlKS0zLjI5NCBGIC0uMTUoeGUpLS4xNSBHIC43OTUKLShjdXRpbmcgdGhhdCBzY3JpcHQpLjE1IEYgLjI0NihhbmQgcmV0dXJuIGVpdGhlcikxNDQgOTYgUi9GMiAxMAotL1RpbWVzLUl0YWxpY0AwIFNGKG4pMy4xMDYgRSBGMCAuMjQ2KG9yIHRoZSBlKTIuOTg2IEYgLjI0NgotKHhpdCBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBlKS0uMTUgRiAtLjE1KHhlKS0uMTUgRyAuMjQ2Ci0oY3V0ZWQgd2l0aGluIHRoZSBzY3JpcHQgYXMgdGhlIGUpLjE1IEYgLjI0NSh4aXQgc3RhLSktLjE1IEYgLjA4MQotKHR1cyBvZiB0aGUgc2NyaXB0LikxNDQgMTA4IFIgLjA4MgorKFRJTlNcKDFcKSBCKS0uOTIgRihBU0hfQiktLjM1IEUoVUlMKS0uMSBFKFRJTlNcKDFcKSktLjkyIEUKKygxMjhcKSwgb3IgYW4gaW4pMTQ0IDg0IFEgLS4yNSh2YSktLjQgRworKGxpZCBcMjE0bGUgZGVzY3JpcHRvciBpcyBzdXBwbGllZCBhcyB0aGUgYXIpLjI1IEUoZ3VtZW50IHRvKS0uMTggRS9GMQorMTAvVGltZXMtQm9sZEAwIFNGPGFkNzU+Mi41IEUgRjAoLilBIEYxIC0uMTgocmUpMTA4IDEwMC44IFMoYWRvbmx5KS4xOCBFCitGMChbKTIuNSBFIEYxKFwyNTVhQSlBKHBmKS0uMjUgRSBGMCAyLjUoXVspQy9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRgorKG5hbWUpLTIuNSBFIEYwKFs9KUEgRjIod29yKUEoZCktLjM3IEUgRjAgMi41KF0uKUMoLi5dKS0yLjUgRSAuNzcKKyhUaGUgZ2kpMTQ0IDExMi44IFIgLS4xNSh2ZSktLjI1IEcobikuMTUgRSBGMihuYW1lcykzLjI3IEUgRjAgLjc3CisoYXJlIG1hcmspMy4yNyBGIC43NyhlZCByZWFkb25seTsgdGhlIHYpLS4xIEYgLjc3KGFsdWVzIG9mIHRoZXNlKS0uMjUgRgorRjIobmFtZXMpMy42MyBFIEYwIC43NyhtYXkgbm90IGJlIGNoYW5nZWQgYnkgc3Vic2UtKTMuNTQgRiAxLjA5NworKHF1ZW50IGFzc2lnbm1lbnQuKTE0NCAxMjQuOCBSIDEuMDk3KElmIHRoZSk2LjA5NyBGIEYxPGFkNjY+My41OTcgRSBGMAorMS4wOTcob3B0aW9uIGlzIHN1cHBsaWVkLCB0aGUgZnVuY3Rpb25zIGNvcnJlc3BvbmRpbmcgdG8gdGhlKTMuNTk3IEYgRjIKKyhuYW1lcykzLjU5NiBFIEYwIDEuMDk2KGFyZSBzbykzLjU5NiBGKG1hcmspMTQ0IDEzNi44IFEgMy4zMzQoZWQuIFRoZSkKKy0uMSBGIEYxPGFkNjE+My4zMzQgRSBGMCAuODM0KG9wdGlvbiByZXN0cmljdHMgdGhlIHYpMy4zMzQgRiAuODM0CisoYXJpYWJsZXMgdG8gaW5kZSktLjI1IEYgLS4xNSh4ZSktLjE1IEcgMy4zMzQoZGEpLjE1IEcgLjgzNChycmF5czsgdGhlKQorLTMuMzM0IEYgRjE8YWQ0MT4zLjMzNCBFIEYwIC44MzQob3B0aW9uIHJlc3RyaWN0cyB0aGUgdikzLjMzNCBGKGFyaS0pCistLjI1IEUgLjUzOChhYmxlcyB0byBhc3NvY2lhdGkpMTQ0IDE0OC44IFIgLjgzOCAtLjE1KHZlIGEpLS4yNSBIIDMuMDM4CisocnJheXMuIElmKS4xNSBGKG5vKTMuMDM4IEUgRjIobmFtZSkzLjM5OCBFIEYwKGFyKTMuMjE4IEUgLjUzOAorKGd1bWVudHMgYXJlIGdpKS0uMTggRiAtLjE1KHZlKS0uMjUgRyAuNTM4KG4sIG9yIGlmIHRoZSkuMTUgRiBGMTxhZDcwPgorMy4wMzggRSBGMCAuNTM3KG9wdGlvbiBpcyBzdXBwbGllZCwgYSBsaXN0KTMuMDM4IEYgLjA4Cisob2YgYWxsIHJlYWRvbmx5IG5hbWVzIGlzIHByaW50ZWQuKTE0NCAxNjAuOCBSKFRoZSk1LjA4IEUgRjE8YWQ3MD4yLjU4IEUKK0YwIC4wODEob3B0aW9uIGNhdXNlcyBvdXRwdXQgdG8gYmUgZGlzcGxheWVkIGluIGEgZm9ybWF0IHRoYXQgbWF5KTIuNTggRgorMS4xNzcoYmUgcmV1c2VkIGFzIGlucHV0LikxNDQgMTcyLjggUiAxLjE3NyhJZiBhIHYpNi4xNzcgRiAxLjE3NgorKGFyaWFibGUgbmFtZSBpcyBmb2xsbyktLjI1IEYgMS4xNzYod2VkIGJ5ID0pLS4yNSBGIEYyKHdvcilBKGQpLS4zNyBFIEYwCiszLjY3NigsdClDIDEuMTc2KGhlIHYpLTMuNjc2IEYgMS4xNzYoYWx1ZSBvZiB0aGUgdiktLjI1IEYgMS4xNzYKKyhhcmlhYmxlIGlzIHNldCB0byktLjI1IEYgRjIod29yKTE0NCAxODQuOCBRKGQpLS4zNyBFIEYwIDYuMjA1KC5UKUMKKzEuMjA1KGhlIHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3MgYW4gaW4pLTYuMjA1IEYgLS4yNSh2YSktLjQgRyAxLjIwNgorKGxpZCBvcHRpb24gaXMgZW5jb3VudGVyZWQsIG9uZSBvZiB0aGUpLjI1IEYgRjIobmFtZXMpNC4wNjYgRSBGMCAxLjIwNgorKGlzIG5vdCBhKTMuOTc2IEYgLS4yNSh2YSkxNDQgMTk2LjggUyhsaWQgc2hlbGwgdikuMjUgRQorKGFyaWFibGUgbmFtZSwgb3IpLS4yNSBFIEYxPGFkNjY+Mi41IEUgRjAoaXMgc3VwcGxpZWQgd2l0aCBhKTIuNSBFIEYyCisobmFtZSkyLjg2IEUgRjAodGhhdCBpcyBub3QgYSBmdW5jdGlvbi4pMi42OCBFIEYxIC0uMTgocmUpMTA4IDIxMy42IFMKKyh0dXIpLjE4IEUobiktLjE1IEUgRjAoWykyLjUgRSBGMihuKUEgRjAoXSlBIC41ODcKKyhDYXVzZXMgYSBmdW5jdGlvbiB0byBlKTE0NCAyMjUuNiBSIC41ODcoeGl0IHdpdGggdGhlIHJldHVybiB2KS0uMTUgRgorLjU4NyhhbHVlIHNwZWNpXDIxNGVkIGJ5KS0uMjUgRiBGMihuKTMuMDg3IEUgRjAgNS41ODcoLkkpLjI0IEcoZiktNS41ODcKK0UgRjIobikzLjQ0NyBFIEYwIC41ODYoaXMgb21pdHRlZCwgdGhlIHJldHVybiBzdGF0dXMgaXMpMy4zMjcgRiAxLjMzNQorKHRoYXQgb2YgdGhlIGxhc3QgY29tbWFuZCBlKTE0NCAyMzcuNiBSIC0uMTUoeGUpLS4xNSBHIDEuMzM1CisoY3V0ZWQgaW4gdGhlIGZ1bmN0aW9uIGJvZHkpLjE1IEYgNi4zMzUoLkkpLS42NSBHIDMuODM1KGZ1KS02LjMzNSBHCisxLjMzNShzZWQgb3V0c2lkZSBhIGZ1bmN0aW9uLCBiKS0zLjgzNSBGIDEuMzM1KHV0IGR1cmluZyktLjIgRiAtLjE1KGV4ZSkKKzE0NCAyNDkuNiBTIC43OTQoY3V0aW9uIG9mIGEgc2NyaXB0IGJ5IHRoZSkuMTUgRiBGMSguKTMuMjk0IEUgRjAoXCgpCis1Ljc5NCBFIEYxKHNvdXIpQShjZSktLjE4IEUgRjAgMy4yOTQoXCljKUMgLjc5NAorKG9tbWFuZCwgaXQgY2F1c2VzIHRoZSBzaGVsbCB0byBzdG9wIGUpLTMuMjk0IEYgLS4xNSh4ZSktLjE1IEcgLjc5NAorKGN1dGluZyB0aGF0IHNjcmlwdCkuMTUgRiAuMjQ1KGFuZCByZXR1cm4gZWl0aGVyKTE0NCAyNjEuNiBSIEYyKG4pMy4xMDUKK0UgRjAgLjI0NihvciB0aGUgZSkyLjk4NSBGIC4yNDYoeGl0IHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGUpLS4xNSBGCistLjE1KHhlKS0uMTUgRyAuMjQ2KGN1dGVkIHdpdGhpbiB0aGUgc2NyaXB0IGFzIHRoZSBlKS4xNSBGIC4yNDYKKyh4aXQgc3RhLSktLjE1IEYgLjA4Mih0dXMgb2YgdGhlIHNjcmlwdC4pMTQ0IDI3My42IFIgLjA4MgogKElmIHVzZWQgb3V0c2lkZSBhIGZ1bmN0aW9uIGFuZCBub3QgZHVyaW5nIGUpNS4wODIgRiAtLjE1KHhlKS0uMTUgRyAuMDgyCi0oY3V0aW9uIG9mIGEgc2NyaXB0IGJ5KS4xNSBGIEYxKC4pMi41ODIgRSBGMCAyLjU4MigsdCkuODMzIEcgLjA4MgotKGhlIHJldHVybiBzdGEtKS0yLjU4MiBGIDIuMzA2KHR1cyBpcyBmKTE0NCAxMjAgUiA0LjgwNihhbHNlLiBBbiktLjEgRgotNC44MDYoeWMpLS4xNSBHIDIuMzA1KG9tbWFuZCBhc3NvY2lhdGVkIHdpdGggdGhlKS00LjgwNiBGIEYxKFJFVFVSTikKLTQuODA1IEUgRjAgMi4zMDUodHJhcCBpcyBlKTQuODA1IEYgLS4xNSh4ZSktLjE1IEcgMi4zMDUoY3V0ZWQgYmVmb3JlIGUpCisoY3V0aW9uIG9mIGEgc2NyaXB0IGJ5KS4xNSBGIEYxKC4pMi41ODIgRSBGMCAyLjU4MSgsdCkuODMzIEcgLjA4MQorKGhlIHJldHVybiBzdGEtKS0yLjU4MSBGIDIuMzA1KHR1cyBpcyBmKTE0NCAyODUuNiBSIDQuODA1KGFsc2UuIEFuKS0uMSBGCis0LjgwNSh5YyktLjE1IEcgMi4zMDUob21tYW5kIGFzc29jaWF0ZWQgd2l0aCB0aGUpLTQuODA1IEYgRjEoUkVUVVJOKQorNC44MDUgRSBGMCAyLjMwNih0cmFwIGlzIGUpNC44MDYgRiAtLjE1KHhlKS0uMTUgRyAyLjMwNihjdXRlZCBiZWZvcmUgZSkKIC4xNSBGIC0uMTUoeGUpLS4xNSBHKGN1dGlvbikuMTUgRShyZXN1bWVzIGFmdGVyIHRoZSBmdW5jdGlvbiBvciBzY3JpcHQuKQotMTQ0IDEzMiBRIEYxKHNldCkxMDggMTQ4LjggUSBGMChbKTIuNSBFIEYxKFwyNTVcMjU1YWJlZmhrbW5wdHV2eEJDRUhQVClBCi1GMCAyLjUoXVspQyBGMTxhZDZmPi0yLjUgRSBGMihvcHRpb24pMi41IEUgRjAgMi41KF1bKUMgRjIoYXIpLTIuNSBFKGcpCi0tLjM3IEUgRjAoLi4uXSkyLjUgRSBGMShzZXQpMTA4IDE2MC44IFEgRjAoWykyLjUgRSBGMQotKCthYmVmaGttbnB0dXZ4QkNFSFBUKUEgRjAgMi41KF1bKUMgRjEoK28pLTIuNSBFIEYyKG9wdGlvbikyLjUgRSBGMCAyLjUKLShdWylDIEYyKGFyKS0yLjUgRShnKS0uMzcgRSBGMCguLi5dKTIuNSBFIC0uNChXaSkxNDQgMTcyLjggUyAuODM1Ci0odGhvdXQgb3B0aW9ucywgdGhlIG5hbWUgYW5kIHYpLjQgRiAuODM1KGFsdWUgb2YgZWFjaCBzaGVsbCB2KS0uMjUgRgotLjgzNihhcmlhYmxlIGFyZSBkaXNwbGF5ZWQgaW4gYSBmb3JtYXQgdGhhdCBjYW4gYmUpLS4yNSBGIC43ODQKLShyZXVzZWQgYXMgaW5wdXQgZm9yIHNldHRpbmcgb3IgcmVzZXR0aW5nIHRoZSBjdXJyZW50bHktc2V0IHYpMTQ0IDE4NC44Ci1SIDMuMjg0KGFyaWFibGVzLiBSZWFkLW9ubHkpLS4yNSBGIC0uMjUodmEpMy4yODQgRyAuNzgzCi0ocmlhYmxlcyBjYW5ub3QgYmUpLjI1IEYgMi45NDYocmVzZXQuIEluKTE0NCAxOTYuOCBSIEYyIC40NDcocG9zaXggbW9kZSkKLTIuOTQ2IEYgRjAgMi45NDcoLG8pQyAuNDQ3KG5seSBzaGVsbCB2KS0yLjk0NyBGIC40NDcKKzE0NCAyOTcuNiBRIEYxKHNldCkxMDggMzE0LjQgUSBGMChbKTIuNSBFIEYxCisoXDI1NVwyNTVhYmVmaGttbnB0dXZ4QkNFSFBUKUEgRjAgMi41KF1bKUMgRjE8YWQ2Zj4tMi41IEUgRjIob3B0aW9uKTIuNQorRSBGMCAyLjUoXVspQyBGMihhciktMi41IEUoZyktLjM3IEUgRjAoLi4uXSkyLjUgRSBGMShzZXQpMTA4IDMyNi40IFEgRjAKKyhbKTIuNSBFIEYxKCthYmVmaGttbnB0dXZ4QkNFSFBUKUEgRjAgMi41KF1bKUMgRjEoK28pLTIuNSBFIEYyKG9wdGlvbikKKzIuNSBFIEYwIDIuNShdWylDIEYyKGFyKS0yLjUgRShnKS0uMzcgRSBGMCguLi5dKTIuNSBFIC0uNChXaSkxNDQgMzM4LjQgUworLjgzNih0aG91dCBvcHRpb25zLCB0aGUgbmFtZSBhbmQgdikuNCBGIC44MzUoYWx1ZSBvZiBlYWNoIHNoZWxsIHYpLS4yNSBGCisuODM1KGFyaWFibGUgYXJlIGRpc3BsYXllZCBpbiBhIGZvcm1hdCB0aGF0IGNhbiBiZSktLjI1IEYgLjc4NAorKHJldXNlZCBhcyBpbnB1dCBmb3Igc2V0dGluZyBvciByZXNldHRpbmcgdGhlIGN1cnJlbnRseS1zZXQgdikxNDQgMzUwLjQKK1IgMy4yODQoYXJpYWJsZXMuIFJlYWQtb25seSktLjI1IEYgLS4yNSh2YSkzLjI4NCBHIC43ODQKKyhyaWFibGVzIGNhbm5vdCBiZSkuMjUgRiAyLjk0NyhyZXNldC4gSW4pMTQ0IDM2Mi40IFIgRjIgLjQ0Nyhwb3NpeCBtb2RlKQorMi45NDcgRiBGMCAyLjk0NygsbylDIC40NDcobmx5IHNoZWxsIHYpLTIuOTQ3IEYgLjQ0NwogKGFyaWFibGVzIGFyZSBsaXN0ZWQuKS0uMjUgRiAuNDQ3Ci0oVGhlIG91dHB1dCBpcyBzb3J0ZWQgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50KTUuNDQ3IEYgMy41MzEKLShsb2NhbGUuIFdoZW4pMTQ0IDIwOC44IFIgMS4wMzEob3B0aW9ucyBhcmUgc3BlY2lcMjE0ZWQsIHRoZSkzLjUzMSBGCi0zLjUzMSh5cyktLjE1IEcgMS4wMzEoZXQgb3IgdW5zZXQgc2hlbGwgYXR0cmliKS0zLjUzMSBGIDMuNTModXRlcy4gQW4pCi0tLjIgRiAzLjUzKHlhKS0uMTUgRyAtLjE4KHJnKS0zLjUzIEcgMS4wMyh1bWVudHMgcmVtYWluaW5nKS4xOCBGIDEuNjIzCi0oYWZ0ZXIgb3B0aW9uIHByb2Nlc3NpbmcgYXJlIHRyZWF0ZWQgYXMgdikxNDQgMjIwLjggUiAxLjYyNAorKFRoZSBvdXRwdXQgaXMgc29ydGVkIGFjY29yZGluZyB0byB0aGUgY3VycmVudCk1LjQ0NyBGIDMuNTMKKyhsb2NhbGUuIFdoZW4pMTQ0IDM3NC40IFIgMS4wMzEob3B0aW9ucyBhcmUgc3BlY2lcMjE0ZWQsIHRoZSkzLjUzIEYKKzMuNTMxKHlzKS0uMTUgRyAxLjAzMShldCBvciB1bnNldCBzaGVsbCBhdHRyaWIpLTMuNTMxIEYgMy41MzEodXRlcy4gQW4pCistLjIgRiAzLjUzMSh5YSktLjE1IEcgLS4xOChyZyktMy41MzEgRyAxLjAzMSh1bWVudHMgcmVtYWluaW5nKS4xOCBGCisxLjYyNChhZnRlciBvcHRpb24gcHJvY2Vzc2luZyBhcmUgdHJlYXRlZCBhcyB2KTE0NCAzODYuNCBSIDEuNjIzCiAoYWx1ZXMgZm9yIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYW5kIGFyZSBhc3NpZ25lZCwgaW4pLS4yNSBGKG9yZGVyKQotMTQ0IDIzMi44IFEgMi41KCx0KS0uNCBHKG8pLTIuNSBFIEYxKCQxKTIuNSBFIEYwKCwpQSBGMSgkMikyLjUgRSBGMCgsKUEKKzE0NCAzOTguNCBRIDIuNSgsdCktLjQgRyhvKS0yLjUgRSBGMSgkMSkyLjUgRSBGMCgsKUEgRjEoJDIpMi41IEUgRjAoLClBCiBGMSAyLjUoLi4uICQpMi41IEYgRjIobilBIEYwIDUoLk8pQyhwdGlvbnMsIGlmIHNwZWNpXDIxNGVkLCBoYSktNSBFIC4zCi0tLjE1KHZlIHQpLS4yIEgoaGUgZm9sbG8pLjE1IEUod2luZyBtZWFuaW5nczopLS4yNSBFIEYxPGFkNjE+MTQ0IDI0NC44IFEKLUYwIC41NChBdXRvbWF0aWNhbGx5IG1hcmsgdikyOS4zIEYgLjUzOQotKGFyaWFibGVzIGFuZCBmdW5jdGlvbnMgd2hpY2ggYXJlIG1vZGlcMjE0ZWQgb3IgY3JlYXRlZCBmb3IgZSktLjI1IEYKLS41MzkoeHBvcnQgdG8pLS4xNSBGKHRoZSBlbikxODQgMjU2LjggUQotKHZpcm9ubWVudCBvZiBzdWJzZXF1ZW50IGNvbW1hbmRzLiktLjQgRSBGMTxhZDYyPjE0NCAyNjguOCBRIEYwIC4xMzEKKy0uMTUodmUgdCktLjIgSChoZSBmb2xsbykuMTUgRSh3aW5nIG1lYW5pbmdzOiktLjI1IEUgRjE8YWQ2MT4xNDQgNDEwLjQgUQorRjAgLjUzOShBdXRvbWF0aWNhbGx5IG1hcmsgdikyOS4zIEYgLjUzOQorKGFyaWFibGVzIGFuZCBmdW5jdGlvbnMgd2hpY2ggYXJlIG1vZGlcMjE0ZWQgb3IgY3JlYXRlZCBmb3IgZSktLjI1IEYgLjU0CisoeHBvcnQgdG8pLS4xNSBGKHRoZSBlbikxODQgNDIyLjQgUSh2aXJvbm1lbnQgb2Ygc3Vic2VxdWVudCBjb21tYW5kcy4pCistLjQgRSBGMTxhZDYyPjE0NCA0MzQuNCBRIEYwIC4xMzIKIChSZXBvcnQgdGhlIHN0YXR1cyBvZiB0ZXJtaW5hdGVkIGJhY2tncm91bmQgam9icyBpbW1lZGlhdGVseSkyOC43NCBGCi0yLjYzMigsciktLjY1IEcgLjEzMihhdGhlciB0aGFuIGJlZm9yZSB0aGUgbmUpLTIuNjMyIEYoeHQpLS4xNSBFCi0ocHJpbWFyeSBwcm9tcHQuKTE4NCAyODAuOCBRKFRoaXMgaXMgZWYpNSBFKGZlY3RpKS0uMjUgRSAuMyAtLjE1KHZlIG8pCi0tLjI1IEgobmx5IHdoZW4gam9iIGNvbnRyb2wgaXMgZW5hYmxlZC4pLjE1IEUgRjE8YWQ2NT4xNDQgMjkyLjggUSBGMAotMS42OTQoRXhpdCBpbW1lZGlhdGVseSBpZiBhKTI5Ljg2IEYgRjIgMS42OTMoc2ltcGxlIGNvbW1hbmQpNC4xOTMgRiBGMAotKFwoc2VlKTQuMTkzIEUvRjMgOS9UaW1lcy1Cb2xkQDAgU0YgMS42OTMoU0hFTEwgR1JBTU1BUik0LjE5MyBGIEYwKGFibykKLTMuOTQzIEUgLS4xNSh2ZSktLjE1IEcgNC4xOTMoXCllKS4xNSBHIDEuNjkzKHhpdHMgd2l0aCBhKS00LjM0MyBGIC4wMTEKLShub24temVybyBzdGF0dXMuKTE4NCAzMDQuOCBSIC4wMTEoVGhlIHNoZWxsIGRvZXMgbm90IGUpNS4wMTEgRiAuMDExCi0oeGl0IGlmIHRoZSBjb21tYW5kIHRoYXQgZiktLjE1IEYgLjAxMihhaWxzIGlzIHBhcnQgb2YgdGhlIGNvbW1hbmQpLS4xIEYKLS43MTkobGlzdCBpbW1lZGlhdGVseSBmb2xsbykxODQgMzE2LjggUiAuNzE5KHdpbmcgYSktLjI1IEYgRjEod2hpbGUpCi0zLjIxOSBFIEYwKG9yKTMuMjE5IEUgRjEodW50aWwpMy4yMTkgRSBGMCAtLjEoa2UpMy4yMTkgRyh5dyktLjA1IEUgLjcxOQotKG9yZCwgcGFydCBvZiB0aGUgdGVzdCBpbiBhbiktLjEgRiBGMShpZikzLjIxOCBFIEYwKHN0YXRlbWVudCwpMy4yMTggRQotLjM3OChwYXJ0IG9mIGEgY29tbWFuZCBlKTE4NCAzMjguOCBSIC0uMTUoeGUpLS4xNSBHIC4zNzkoY3V0ZWQgaW4gYSkuMTUKLUYgRjEoJiYpMi44NzkgRSBGMChvcikyLjg3OSBFL0Y0IDEwL1N5bWJvbCBTRjxlZmVmPjIuODc5IEUgRjAgLjM3OQotKGxpc3QsIGFuKTIuODc5IEYgMi44NzkoeWMpLS4xNSBHIC4zNzkob21tYW5kIGluIGEgcGlwZWxpbmUgYiktMi44NzkgRgotLjM3OSh1dCB0aGUgbGFzdCwpLS4yIEYgLjU3OChvciBpZiB0aGUgY29tbWFuZCcpMTg0IDM0MC44IFIgMy4wNzgoc3IpCi0tLjU1IEcgLjU3OChldHVybiB2KS0zLjA3OCBGIC41NzgoYWx1ZSBpcyBiZWluZyBpbiktLjI1IEYgLS4xNSh2ZSktLjQgRwotLjU3OChydGVkIHZpYSkuMTUgRiBGMSghKTMuMDc4IEUgRjAgNS41NzgoLkYpQyAuNTc3Ci0oYWlsaW5nIHNpbXBsZSBjb21tYW5kcyB0aGF0KS01LjcyOCBGIC40MDIoYXJlIHBhcnQgb2Ygc2hlbGwgZnVuY3Rpb25zIFwKLW9yIGNvbW1hbmQgbGlzdHMgZW5jbG9zZWQgaW4gYnJhY2VzIG9yIHBhcmVudGhlc2VzIHNhdGlzZnlpbmcpMTg0IDM1Mi44Ci1SIC44NDEodGhlIGFibykxODQgMzY0LjggUiAxLjE0MSAtLjE1KHZlIGMpLS4xNSBIIC44NDEKLShvbmRpdGlvbnMgZG8gbm90IGNhdXNlIHRoZSBzaGVsbCB0byBlKS4xNSBGIDMuMzQxKHhpdC4gQSktLjE1IEYgLjg0Ci0odHJhcCBvbikzLjM0IEYgRjEoRVJSKTMuMzQgRSBGMCAzLjM0KCxpKUMgMy4zNChmcyktMy4zNCBHIC44NChldCwgaXMgZSkKLS0zLjM0IEYgLS4xNSh4ZSktLjE1IEcoY3V0ZWQpLjE1IEUoYmVmb3JlIHRoZSBzaGVsbCBlKTE4NCAzNzYuOCBRKHhpdHMuKQotLS4xNSBFIEYxPGFkNjY+MTQ0IDM4OC44IFEgRjAoRGlzYWJsZSBwYXRobmFtZSBlKTMwLjk3IEUoeHBhbnNpb24uKS0uMTUKLUUgRjE8YWQ2OD4xNDQgNDAwLjggUSBGMCAyLjIzOChSZW1lbWJlciB0aGUgbG9jYXRpb24gb2YgY29tbWFuZHMgYXMgdGhlKQotMjguNzQgRiA0LjczOCh5YSktLjE1IEcgMi4yMzkocmUgbG9vayktNC43MzggRiAyLjIzOShlZCB1cCBmb3IgZSktLjEgRgotLS4xNSh4ZSktLjE1IEcgNC43MzkoY3V0aW9uLiBUaGlzKS4xNSBGKGlzKTQuNzM5IEUoZW5hYmxlZCBieSBkZWYpMTg0Ci00MTIuOCBRKGF1bHQuKS0uMSBFIEYxPGFkNmI+MTQ0IDQyNC44IFEgRjAgLjUxNChBbGwgYXIpMjguNzQgRiAuNTE0CisyLjYzMigsciktLjY1IEcgLjEzMShhdGhlciB0aGFuIGJlZm9yZSB0aGUgbmUpLTIuNjMyIEYoeHQpLS4xNSBFCisocHJpbWFyeSBwcm9tcHQuKTE4NCA0NDYuNCBRKFRoaXMgaXMgZWYpNSBFKGZlY3RpKS0uMjUgRSAuMyAtLjE1KHZlIG8pCistLjI1IEgobmx5IHdoZW4gam9iIGNvbnRyb2wgaXMgZW5hYmxlZC4pLjE1IEUgRjE8YWQ2NT4xNDQgNDU4LjQgUSBGMCAuNTEKKyhFeGl0IGltbWVkaWF0ZWx5IGlmIGEpMjkuODYgRiBGMihwaXBlbGluZSkzLjAxIEUgRjAgLjUxMQorKFwod2hpY2ggbWF5IGNvbnNpc3Qgb2YgYSBzaW5nbGUpMy4wMTEgRiBGMiAuNTExKHNpbXBsZSBjb21tYW5kKTMuMDExIEYKK0YwIDMuMDExKFwpLCBhKUIgRjIoc3ViLSkzLjAxMSBFKHNoZWxsKTE4NCA0NzAuNCBRIEYwIC44NzIKKyhjb21tYW5kIGVuY2xvc2VkIGluIHBhcmVudGhlc2VzLCBvciBvbmUgb2YgdGhlIGNvbW1hbmRzIGUpMy4zNzMgRiAtLjE1CisoeGUpLS4xNSBHIC44NzIoY3V0ZWQgYXMgcGFydCBvZiBhKS4xNSBGIC4zOTkKKyhjb21tYW5kIGxpc3QgZW5jbG9zZWQgYnkgYnJhY2VzIFwoc2VlKTE4NCA0ODIuNCBSL0YzIDkvVGltZXMtQm9sZEAwIFNGCisuMzk5KFNIRUxMIEdSQU1NQVIpMi44OTkgRiBGMChhYm8pMi42NDkgRSAtLjE1KHZlKS0uMTUgRyAyLjg5OShcKWUpLjE1IEcKKy4zOTkoeGl0cyB3aXRoIGEgbm9uLXplcm8pLTMuMDQ5IEYgMy45Njkoc3RhdHVzLiBUaGUpMTg0IDQ5NC40IFIgMS40NjgKKyhzaGVsbCBkb2VzIG5vdCBlKTMuOTY5IEYgMS40NjgoeGl0IGlmIHRoZSBjb21tYW5kIHRoYXQgZiktLjE1IEYgMS40NjgKKyhhaWxzIGlzIHBhcnQgb2YgdGhlIGNvbW1hbmQgbGlzdCktLjEgRiAuNTY5KGltbWVkaWF0ZWx5IGZvbGxvKTE4NCA1MDYuNAorUiAuNTY5KHdpbmcgYSktLjI1IEYgRjEod2hpbGUpMy4wNjkgRSBGMChvcikzLjA2OSBFIEYxKHVudGlsKTMuMDY5IEUgRjAKKy0uMShrZSkzLjA2OSBHKHl3KS0uMDUgRSAuNTY5KG9yZCwgcGFydCBvZiB0aGUgdGVzdCBmb2xsbyktLjEgRiAuNTcKKyh3aW5nIHRoZSktLjI1IEYgRjEoaWYpMy4wNyBFIEYwKG9yKTMuMDcgRSBGMShlbGlmKTMuMDcgRSBGMChyZXNlcnYpMTg0Cis1MTguNCBRIC41NDQoZWQgdyktLjE1IEYgLjU0NChvcmRzLCBwYXJ0IG9mIGFuKS0uMSBGIDMuMDQ0KHljKS0uMTUgRworLjU0NChvbW1hbmQgZSktMy4wNDQgRiAtLjE1KHhlKS0uMTUgRyAuNTQ0KGN1dGVkIGluIGEpLjE1IEYgRjEoJiYpMy4wNDQKK0UgRjAob3IpMy4wNDQgRS9GNCAxMC9TeW1ib2wgU0Y8ZWZlZj4zLjA0NCBFIEYwIC41NDQobGlzdCBlKTMuMDQ0IEYgLjU0NAorKHhjZXB0IHRoZSBjb21tYW5kKS0uMTUgRihmb2xsbykxODQgNTMwLjQgUSAxLjIzKHdpbmcgdGhlIFwyMTRuYWwpLS4yNSBGCitGMSgmJikzLjczIEUgRjAob3IpMy43MyBFIEY0PGVmZWY+My43MyBFIEYwIDMuNzMoLGEpQyAxLjUzIC0uMTUobnkgYykKKy0zLjczIEggMS4yMzEob21tYW5kIGluIGEgcGlwZWxpbmUgYikuMTUgRiAxLjIzMQorKHV0IHRoZSBsYXN0LCBvciBpZiB0aGUgY29tLSktLjIgRihtYW5kJykxODQgNTQyLjQgUSAzLjE5MShzciktLjU1IEcKKy42OTEoZXR1cm4gdiktMy4xOTEgRiAuNjkxKGFsdWUgaXMgYmVpbmcgaW4pLS4yNSBGIC0uMTUodmUpLS40IEcgLjY5MQorKHJ0ZWQgd2l0aCkuMTUgRiBGMSghKTMuMTkxIEUgRjAgNS42OTEoLkEpQyAuNjkxKHRyYXAgb24pLTIuNSBGIEYxKEVSUikKKzMuMTkgRSBGMCAzLjE5KCxpKUMgMy4xOShmcyktMy4xOSBHIC42OShldCwgaXMgZSktMy4xOSBGIC0uMTUoeGUpLS4xNSBHCisuNjkoY3V0ZWQgYmVmb3JlKS4xNSBGIC42ODYodGhlIHNoZWxsIGUpMTg0IDU1NC40IFIgMy4xODYoeGl0cy4gVGhpcykKKy0uMTUgRiAuNjg2KG9wdGlvbiBhcHBsaWVzIHRvIHRoZSBzaGVsbCBlbikzLjE4NiBGIC42ODYKKyh2aXJvbm1lbnQgYW5kIGVhY2ggc3Vic2hlbGwgZW4pLS40IEYodmlyb24tKS0uNCBFIC4wNjgKKyhtZW50IHNlcGFyYXRlbHkgXChzZWUpMTg0IDU2Ni40IFIgRjMgLjA2OChDT01NQU5EIEVYRUNVVElPTiBFTlZJUikyLjU2OAorRihPTk1FTlQpLS4yNyBFIEYwKGFibykyLjMxOCBFIC0uMTUodmUpLS4xNSBHIC4wNjgoXCksIGFuZCBtYXkgY2F1c2UpLjE1CitGKHN1YnNoZWxscyB0byBlKTE4NCA1NzguNCBRKHhpdCBiZWZvcmUgZSktLjE1IEUgLS4xNSh4ZSktLjE1IEcKKyhjdXRpbmcgYWxsIHRoZSBjb21tYW5kcyBpbiB0aGUgc3Vic2hlbGwuKS4xNSBFIEYxPGFkNjY+MTQ0IDU5MC40IFEgRjAKKyhEaXNhYmxlIHBhdGhuYW1lIGUpMzAuOTcgRSh4cGFuc2lvbi4pLS4xNSBFIEYxPGFkNjg+MTQ0IDYwMi40IFEgRjAKKzIuMjM4KFJlbWVtYmVyIHRoZSBsb2NhdGlvbiBvZiBjb21tYW5kcyBhcyB0aGUpMjguNzQgRiA0LjczOCh5YSktLjE1IEcKKzIuMjM5KHJlIGxvb2spLTQuNzM4IEYgMi4yMzkoZWQgdXAgZm9yIGUpLS4xIEYgLS4xNSh4ZSktLjE1IEcgNC43MzkKKyhjdXRpb24uIFRoaXMpLjE1IEYoaXMpNC43MzkgRShlbmFibGVkIGJ5IGRlZikxODQgNjE0LjQgUShhdWx0LiktLjEgRSBGMQorPGFkNmI+MTQ0IDYyNi40IFEgRjAgLjUxNChBbGwgYXIpMjguNzQgRiAuNTE0CiAoZ3VtZW50cyBpbiB0aGUgZm9ybSBvZiBhc3NpZ25tZW50IHN0YXRlbWVudHMgYXJlIHBsYWNlZCBpbiB0aGUgZW4pLS4xOAogRiAuNTEzKHZpcm9ubWVudCBmb3IgYSktLjQgRgotKGNvbW1hbmQsIG5vdCBqdXN0IHRob3NlIHRoYXQgcHJlY2VkZSB0aGUgY29tbWFuZCBuYW1lLikxODQgNDM2LjggUSBGMQotPGFkNmQ+MTQ0IDQ0OC44IFEgRjAgLjE0OChNb25pdG9yIG1vZGUuKTI1Ljk3IEYgLjE0OAorKGNvbW1hbmQsIG5vdCBqdXN0IHRob3NlIHRoYXQgcHJlY2VkZSB0aGUgY29tbWFuZCBuYW1lLikxODQgNjM4LjQgUSBGMQorPGFkNmQ+MTQ0IDY1MC40IFEgRjAgLjE0OChNb25pdG9yIG1vZGUuKTI1Ljk3IEYgLjE0OAogKEpvYiBjb250cm9sIGlzIGVuYWJsZWQuKTUuMTQ4IEYgLjE0OShUaGlzIG9wdGlvbiBpcyBvbiBieSBkZWYpNS4xNDggRgogLjE0OShhdWx0IGZvciBpbnRlcmFjdGkpLS4xIEYgLjQ0OSAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzKS4xNSBFIC42MzcKLShvbiBzeXN0ZW1zIHRoYXQgc3VwcG9ydCBpdCBcKHNlZSkxODQgNDYwLjggUiBGMyAuNjM2KEpPQiBDT05UUikzLjEzNiBGCisob24gc3lzdGVtcyB0aGF0IHN1cHBvcnQgaXQgXChzZWUpMTg0IDY2Mi40IFIgRjMgLjYzNihKT0IgQ09OVFIpMy4xMzYgRgogKE9MKS0uMjcgRSBGMChhYm8pMi44ODYgRSAtLjE1KHZlKS0uMTUgRyAzLjEzNihcKS4gQmFja2dyb3VuZCkuMTUgRiAuNjM2CiAocHJvY2Vzc2VzIHJ1biBpbiBhKTMuMTM2IEYgLjY0MQotKHNlcGFyYXRlIHByb2Nlc3MgZ3JvdXAgYW5kIGEgbGluZSBjb250YWluaW5nIHRoZWlyIGUpMTg0IDQ3Mi44IFIgLjY0MgotKHhpdCBzdGF0dXMgaXMgcHJpbnRlZCB1cG9uIHRoZWlyIGNvbS0pLS4xNSBGKHBsZXRpb24uKTE4NCA0ODQuOCBRIEYxCi08YWQ2ZT4xNDQgNDk2LjggUSBGMCAuNjUzKFJlYWQgY29tbWFuZHMgYikyOC43NCBGIC42NTModXQgZG8gbm90IGUpLS4yIEYKKyhzZXBhcmF0ZSBwcm9jZXNzIGdyb3VwIGFuZCBhIGxpbmUgY29udGFpbmluZyB0aGVpciBlKTE4NCA2NzQuNCBSIC42NDIKKyh4aXQgc3RhdHVzIGlzIHByaW50ZWQgdXBvbiB0aGVpciBjb20tKS0uMTUgRihwbGV0aW9uLikxODQgNjg2LjQgUSBGMQorPGFkNmU+MTQ0IDY5OC40IFEgRjAgLjY1MyhSZWFkIGNvbW1hbmRzIGIpMjguNzQgRiAuNjUzKHV0IGRvIG5vdCBlKS0uMiBGCiAtLjE1KHhlKS0uMTUgRyAuNjUzKGN1dGUgdGhlbS4pLjE1IEYgLjY1MgogKFRoaXMgbWF5IGJlIHVzZWQgdG8gY2hlY2sgYSBzaGVsbCBzY3JpcHQgZm9yKTUuNjUzIEYoc3ludGF4IGVycm9ycy4pMTg0Ci01MDguOCBRKFRoaXMgaXMgaWdub3JlZCBieSBpbnRlcmFjdGkpNSBFIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbHMuKS4xNQotRSBGMTxhZDZmPjE0NCA1MjAuOCBRIEYyKG9wdGlvblwyNTVuYW1lKTIuNSBFIEYwKFRoZSkxODQgNTMyLjggUSBGMgotKG9wdGlvblwyNTVuYW1lKTIuNSBFIEYwKGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvKTIuNSBFKHdpbmc6KS0uMjUgRSBGMQotKGFsbGV4cG9ydCkxODQgNTQ0LjggUSBGMChTYW1lIGFzKTIyNCA1NTYuOCBRIEYxPGFkNjE+Mi41IEUgRjAoLilBIEYxCi0oYnJhY2VleHBhbmQpMTg0IDU2OC44IFEgRjAoU2FtZSBhcykyMjQgNTgwLjggUSBGMTxhZDQyPjIuNSBFIEYwKC4pQSBGMQotKGVtYWNzKTE4NCA1OTIuOCBRIEYwIC4wODkKLShVc2UgYW4gZW1hY3Mtc3R5bGUgY29tbWFuZCBsaW5lIGVkaXRpbmcgaW50ZXJmKTEzLjkgRiAyLjU4OShhY2UuIFRoaXMpCi0tLjEgRiAuMDg5KGlzIGVuYWJsZWQgYnkgZGVmKTIuNTg5IEYoYXVsdCktLjEgRSAuOTUKLSh3aGVuIHRoZSBzaGVsbCBpcyBpbnRlcmFjdGkpMjI0IDYwNC44IFIgLS4xNSh2ZSktLjI1IEcgMy40NSgsdSkuMTUgRwotLjk1KG5sZXNzIHRoZSBzaGVsbCBpcyBzdGFydGVkIHdpdGggdGhlKS0zLjQ1IEYgRjEoXDI1NVwyNTVub2VkaXRpbmcpCi0zLjQ1IEUgRjAgMi41KG9wdGlvbi4gVGhpcykyMjQgNjE2LjggUihhbHNvIGFmKTIuNSBFCi0oZmVjdHMgdGhlIGVkaXRpbmcgaW50ZXJmKS0uMjUgRShhY2UgdXNlZCBmb3IpLS4xIEUgRjEgLS4xOChyZSkyLjUgRwotKGFkIFwyNTVlKS4xOCBFIEYwKC4pQSBGMShlcnJ0cmFjZSkxODQgNjI4LjggUSBGMChTYW1lIGFzKTUuMDMgRSBGMQotPGFkNDU+Mi41IEUgRjAoLilBIEYxKGZ1bmN0cmFjZSkxODQgNjQwLjggUSBGMChTYW1lIGFzKTIyNCA2NTIuOCBRIEYxCi08YWQ1ND4yLjUgRSBGMCguKUEgRjEoZXJyKTE4NCA2NjQuOCBRKGV4aXQpLS4xOCBFIEYwKFNhbWUgYXMpMTEuMzEgRSBGMQotPGFkNjU+Mi41IEUgRjAoLilBIEYxKGhhc2hhbGwpMTg0IDY3Ni44IFEgRjAoU2FtZSBhcyk5LjQzIEUgRjE8YWQ2OD4yLjUKLUUgRjAoLilBIEYxKGhpc3RleHBhbmQpMTg0IDY4OC44IFEgRjAoU2FtZSBhcykyMjQgNzAwLjggUSBGMTxhZDQ4PjIuNSBFCi1GMCguKUEgRjEoaGlzdG9yeSkxODQgNzEyLjggUSBGMCAuNTg2KEVuYWJsZSBjb21tYW5kIGhpc3RvcnkpMTAgRiAzLjA4NwotKCxhKS0uNjUgRyAzLjA4NyhzZCktMy4wODcgRyAuNTg3KGVzY3JpYmVkIGFibyktMy4wODcgRiAuODg3IC0uMTUodmUgdSkKLS0uMTUgSChuZGVyKS4xNSBFIEYzKEhJU1QpMy4wODcgRShPUiktLjE2MiBFKFkpLS4zMTUgRS9GNSA5Ci0vVGltZXMtUm9tYW5AMCBTRiguKUEgRjAgLjU4NyhUaGlzIG9wdGlvbiBpcyk1LjA4NyBGKG9uIGJ5IGRlZikyMjQgNzI0LjgKLVEoYXVsdCBpbiBpbnRlcmFjdGkpLS4xIEUgLjMgLS4xNSh2ZSBzKS0uMjUgSChoZWxscy4pLjE1IEUoR05VIEJhc2gtNC4wKQotNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDEzKTE5OC43MjUgRSAwIENnIEVQCis3MTAuNCBRKFRoaXMgaXMgaWdub3JlZCBieSBpbnRlcmFjdGkpNSBFIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbHMuKS4xNQorRShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDEzKTE5OC43MjUgRSAwIENnIEVQCiAlJVBhZ2U6IDE0IDE0CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyhTSF9CKS4zNSBFKFVJTCktLjEgRSAyOTAuNDgKIChUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFL0YxIDEwCi0vVGltZXMtQm9sZEAwIFNGKGlnbm9yKTE4NCA4NCBRKGVlb2YpLS4xOCBFIEYwIDEuNjU3KFRoZSBlZikyMjQgOTYgUgotMS42NTcoZmVjdCBpcyBhcyBpZiB0aGUgc2hlbGwgY29tbWFuZCktLjI1IEYvRjIgMTAvQ291cmllckAwIFNGCi0oSUdOT1JFRU9GPTEwKTQuMTU2IEUgRjAgMS42NTYoaGFkIGJlZW4gZSk0LjE1NiBGIC0uMTUoeGUpLS4xNSBHKGN1dGVkKQotLjE1IEUoXChzZWUpMjI0IDEwOCBRIEYxKFNoZWxsIFYpMi41IEUoYXJpYWJsZXMpLS45MiBFIEYwKGFibykyLjUgRSAtLjE1Ci0odmUpLS4xNSBHKFwpLikuMTUgRSBGMSAtLjEoa2UpMTg0IDEyMCBTKHl3KS4xIEUob3JkKS0uMSBFIEYwKFNhbWUgYXMpCi0yMjQgMTMyIFEgRjE8YWQ2Yj4yLjUgRSBGMCguKUEgRjEobW9uaXRvcikxODQgMTQ0IFEgRjAoU2FtZSBhcyk1LjU2IEUgRjEKLTxhZDZkPjIuNSBFIEYwKC4pQSBGMShub2Nsb2IpMTg0IDE1NiBRKGJlciktLjEgRSBGMChTYW1lIGFzKTIyNCAxNjggUSBGMQotPGFkNDM+Mi41IEUgRjAoLilBIEYxKG5vZXhlYykxODQgMTgwIFEgRjAoU2FtZSBhcykxMS4xMiBFIEYxPGFkNmU+Mi41IEUKLUYwKC4pQSBGMShub2dsb2IpMTg0IDE5MiBRIEYwKFNhbWUgYXMpMTEuMSBFIEYxPGFkNjY+Mi41IEUgRjAoLilBIEYxCi0obm9sb2cpMTg0IDIwNCBRIEYwKEN1cnJlbnRseSBpZ25vcmVkLikxNi42NiBFIEYxKG5vdGlmeSkxODQgMjE2IFEgRjAKLShTYW1lIGFzKTE1IEUgRjE8YWQ2Mj4yLjUgRSBGMCguKUEgRjEobm91bnNldCkxODQgMjI4IFEgRjAoU2FtZSBhcyk2LjY2Ci1FIEYxPGFkNzU+Mi41IEUgRjAoLilBIEYxKG9uZWNtZCkxODQgMjQwIFEgRjAoU2FtZSBhcyk2LjY3IEUgRjE8YWQ3ND4yLjUKLUUgRjAoLilBIEYxKHBoKTE4NCAyNTIgUSh5c2ljYWwpLS4xNSBFIEYwKFNhbWUgYXMpNS4xNCBFIEYxPGFkNTA+Mi41IEUKLUYwKC4pQSBGMShwaXBlZmFpbCkxODQgMjY0IFEgRjAgMS4wMjkoSWYgc2V0LCB0aGUgcmV0dXJuIHYpNy43NyBGIDEuMDI5CisvVGltZXMtQm9sZEAwIFNGPGFkNmY+MTQ0IDg0IFEvRjIgMTAvVGltZXMtSXRhbGljQDAgU0Yob3B0aW9uXDI1NW5hbWUpCisyLjUgRSBGMChUaGUpMTg0IDk2IFEgRjIob3B0aW9uXDI1NW5hbWUpMi41IEUgRjAKKyhjYW4gYmUgb25lIG9mIHRoZSBmb2xsbykyLjUgRSh3aW5nOiktLjI1IEUgRjEoYWxsZXhwb3J0KTE4NCAxMDggUSBGMAorKFNhbWUgYXMpMjI0IDEyMCBRIEYxPGFkNjE+Mi41IEUgRjAoLilBIEYxKGJyYWNlZXhwYW5kKTE4NCAxMzIgUSBGMAorKFNhbWUgYXMpMjI0IDE0NCBRIEYxPGFkNDI+Mi41IEUgRjAoLilBIEYxKGVtYWNzKTE4NCAxNTYgUSBGMCAuMDg5CisoVXNlIGFuIGVtYWNzLXN0eWxlIGNvbW1hbmQgbGluZSBlZGl0aW5nIGludGVyZikxMy45IEYgMi41ODkoYWNlLiBUaGlzKQorLS4xIEYgLjA4OShpcyBlbmFibGVkIGJ5IGRlZikyLjU4OSBGKGF1bHQpLS4xIEUgLjk1Cisod2hlbiB0aGUgc2hlbGwgaXMgaW50ZXJhY3RpKTIyNCAxNjggUiAtLjE1KHZlKS0uMjUgRyAzLjQ1KCx1KS4xNSBHIC45NQorKG5sZXNzIHRoZSBzaGVsbCBpcyBzdGFydGVkIHdpdGggdGhlKS0zLjQ1IEYgRjEoXDI1NVwyNTVub2VkaXRpbmcpMy40NSBFCitGMCAyLjUob3B0aW9uLiBUaGlzKTIyNCAxODAgUihhbHNvIGFmKTIuNSBFKGZlY3RzIHRoZSBlZGl0aW5nIGludGVyZikKKy0uMjUgRShhY2UgdXNlZCBmb3IpLS4xIEUgRjEgLS4xOChyZSkyLjUgRyhhZCBcMjU1ZSkuMTggRSBGMCguKUEgRjEoZXJyKQorMTg0IDE5MiBRKGV4aXQpLS4xOCBFIEYwKFNhbWUgYXMpMTEuMzEgRSBGMTxhZDY1PjIuNSBFIEYwKC4pQSBGMQorKGVycnRyYWNlKTE4NCAyMDQgUSBGMChTYW1lIGFzKTUuMDMgRSBGMTxhZDQ1PjIuNSBFIEYwKC4pQSBGMShmdW5jdHJhY2UpCisxODQgMjE2IFEgRjAoU2FtZSBhcykyMjQgMjI4IFEgRjE8YWQ1ND4yLjUgRSBGMCguKUEgRjEoaGFzaGFsbCkxODQgMjQwIFEKK0YwKFNhbWUgYXMpOS40MyBFIEYxPGFkNjg+Mi41IEUgRjAoLilBIEYxKGhpc3RleHBhbmQpMTg0IDI1MiBRIEYwCisoU2FtZSBhcykyMjQgMjY0IFEgRjE8YWQ0OD4yLjUgRSBGMCguKUEgRjEoaGlzdG9yeSkxODQgMjc2IFEgRjAgLjU4NgorKEVuYWJsZSBjb21tYW5kIGhpc3RvcnkpMTAgRiAzLjA4NygsYSktLjY1IEcgMy4wODcoc2QpLTMuMDg3IEcgLjU4NworKGVzY3JpYmVkIGFibyktMy4wODcgRiAuODg3IC0uMTUodmUgdSktLjE1IEgobmRlcikuMTUgRS9GMyA5CisvVGltZXMtQm9sZEAwIFNGKEhJU1QpMy4wODcgRShPUiktLjE2MiBFKFkpLS4zMTUgRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YKKyguKUEgRjAgLjU4NyhUaGlzIG9wdGlvbiBpcyk1LjA4NyBGKG9uIGJ5IGRlZikyMjQgMjg4IFEKKyhhdWx0IGluIGludGVyYWN0aSktLjEgRSAuMyAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzLikuMTUgRSBGMShpZ25vcikxODQKKzMwMCBRKGVlb2YpLS4xOCBFIEYwIDEuNjU3KFRoZSBlZikyMjQgMzEyIFIgMS42NTcKKyhmZWN0IGlzIGFzIGlmIHRoZSBzaGVsbCBjb21tYW5kKS0uMjUgRi9GNSAxMC9Db3VyaWVyQDAgU0YoSUdOT1JFRU9GPTEwKQorNC4xNTYgRSBGMCAxLjY1NihoYWQgYmVlbiBlKTQuMTU2IEYgLS4xNSh4ZSktLjE1IEcoY3V0ZWQpLjE1IEUoXChzZWUpMjI0CiszMjQgUSBGMShTaGVsbCBWKTIuNSBFKGFyaWFibGVzKS0uOTIgRSBGMChhYm8pMi41IEUgLS4xNSh2ZSktLjE1IEcoXCkuKQorLjE1IEUgRjEgLS4xKGtlKTE4NCAzMzYgUyh5dykuMSBFKG9yZCktLjEgRSBGMChTYW1lIGFzKTIyNCAzNDggUSBGMQorPGFkNmI+Mi41IEUgRjAoLilBIEYxKG1vbml0b3IpMTg0IDM2MCBRIEYwKFNhbWUgYXMpNS41NiBFIEYxPGFkNmQ+Mi41IEUKK0YwKC4pQSBGMShub2Nsb2IpMTg0IDM3MiBRKGJlciktLjEgRSBGMChTYW1lIGFzKTIyNCAzODQgUSBGMTxhZDQzPjIuNSBFCitGMCguKUEgRjEobm9leGVjKTE4NCAzOTYgUSBGMChTYW1lIGFzKTExLjEyIEUgRjE8YWQ2ZT4yLjUgRSBGMCguKUEgRjEKKyhub2dsb2IpMTg0IDQwOCBRIEYwKFNhbWUgYXMpMTEuMSBFIEYxPGFkNjY+Mi41IEUgRjAoLilBIEYxKG5vbG9nKTE4NAorNDIwIFEgRjAoQ3VycmVudGx5IGlnbm9yZWQuKTE2LjY2IEUgRjEobm90aWZ5KTE4NCA0MzIgUSBGMChTYW1lIGFzKTE1IEUKK0YxPGFkNjI+Mi41IEUgRjAoLilBIEYxKG5vdW5zZXQpMTg0IDQ0NCBRIEYwKFNhbWUgYXMpNi42NiBFIEYxPGFkNzU+Mi41CitFIEYwKC4pQSBGMShvbmVjbWQpMTg0IDQ1NiBRIEYwKFNhbWUgYXMpNi42NyBFIEYxPGFkNzQ+Mi41IEUgRjAoLilBIEYxCisocGgpMTg0IDQ2OCBRKHlzaWNhbCktLjE1IEUgRjAoU2FtZSBhcyk1LjE0IEUgRjE8YWQ1MD4yLjUgRSBGMCguKUEgRjEKKyhwaXBlZmFpbCkxODQgNDgwIFEgRjAgMS4wMjkoSWYgc2V0LCB0aGUgcmV0dXJuIHYpNy43NyBGIDEuMDI5CiAoYWx1ZSBvZiBhIHBpcGVsaW5lIGlzIHRoZSB2KS0uMjUgRiAxLjAzCi0oYWx1ZSBvZiB0aGUgbGFzdCBcKHJpZ2h0bW9zdFwpIGNvbS0pLS4yNSBGIDEuMTM3KG1hbmQgdG8gZSkyMjQgMjc2IFIKKyhhbHVlIG9mIHRoZSBsYXN0IFwocmlnaHRtb3N0XCkgY29tLSktLjI1IEYgMS4xMzcobWFuZCB0byBlKTIyNCA0OTIgUgogMS4xMzYKICh4aXQgd2l0aCBhIG5vbi16ZXJvIHN0YXR1cywgb3IgemVybyBpZiBhbGwgY29tbWFuZHMgaW4gdGhlIHBpcGVsaW5lKQotLS4xNSBGIC0uMTUoZXgpMjI0IDI4OCBTKGl0IHN1Y2Nlc3NmdWxseSkuMTUgRSA1KC5UKS0uNjUgRwotKGhpcyBvcHRpb24gaXMgZGlzYWJsZWQgYnkgZGVmKS01IEUoYXVsdC4pLS4xIEUgRjEocG9zaXgpMTg0IDMwMCBRIEYwCistLjE1IEYgLS4xNShleCkyMjQgNTA0IFMoaXQgc3VjY2Vzc2Z1bGx5KS4xNSBFIDUoLlQpLS42NSBHCisoaGlzIG9wdGlvbiBpcyBkaXNhYmxlZCBieSBkZWYpLTUgRShhdWx0LiktLjEgRSBGMShwb3NpeCkxODQgNTE2IFEgRjAKIDIuMDkoQ2hhbmdlIHRoZSBiZWhhKTE3Ljc3IEYgMi4wOTEodmlvciBvZiktLjIgRiBGMShiYXNoKTQuNTkxIEUgRjAKIDIuMDkxKHdoZXJlIHRoZSBkZWYpNC41OTEgRiAyLjA5MShhdWx0IG9wZXJhdGlvbiBkaWYpLS4xIEYgMi4wOTEKLShmZXJzIGZyb20gdGhlKS0uMjUgRihQT1NJWCBzdGFuZGFyZCB0byBtYXRjaCB0aGUgc3RhbmRhcmQgXCgpMjI0IDMxMiBRCi0vRjMgMTAvVGltZXMtSXRhbGljQDAgU0YocG9zaXggbW9kZSlBIEYwKFwpLilBIEYxKHByaSkxODQgMzI0IFEodmlsZWdlZCkKLS0uMSBFIEYwKFNhbWUgYXMpMjI0IDMzNiBRIEYxPGFkNzA+Mi41IEUgRjAoLilBIEYxIC0uMSh2ZSkxODQgMzQ4IFMKLShyYm9zZSkuMSBFIEYwKFNhbWUgYXMpNy4zMyBFIEYxPGFkNzY+Mi41IEUgRjAoLilBIEYxKHZpKTE4NCAzNjAgUSBGMAotMS40NjYoVXNlIGEgdmktc3R5bGUgY29tbWFuZCBsaW5lIGVkaXRpbmcgaW50ZXJmKTMyLjIyIEYgMy45NjUKLShhY2UuIFRoaXMpLS4xIEYgMS40NjUoYWxzbyBhZikzLjk2NSBGIDEuNDY1KGZlY3RzIHRoZSBlZGl0aW5nKS0uMjUgRgotKGludGVyZikyMjQgMzcyIFEoYWNlIHVzZWQgZm9yKS0uMSBFIEYxIC0uMTgocmUpMi41IEcoYWQgXDI1NWUpLjE4IEUgRjAKLSguKUEgRjEoeHRyYWNlKTE4NCAzODQgUSBGMChTYW1lIGFzKTEzLjM1IEUgRjE8YWQ3OD4yLjUgRSBGMCguKUEoSWYpMTg0Ci00MDIgUSBGMTxhZDZmPjMuMDUyIEUgRjAgLjU1MihpcyBzdXBwbGllZCB3aXRoIG5vKTMuMDUyIEYgRjMKLShvcHRpb25cMjU1bmFtZSkzLjA1MyBFIEYwIDMuMDUzKCx0KUMgLjU1MyhoZSB2KS0zLjA1MyBGIC41NTMKLShhbHVlcyBvZiB0aGUgY3VycmVudCBvcHRpb25zIGFyZSBwcmludGVkLiktLjI1IEYoSWYpNS41NTMgRSBGMSgrbykxODQKLTQxNCBRIEYwIDEuMDcyKGlzIHN1cHBsaWVkIHdpdGggbm8pMy41NzIgRiBGMyhvcHRpb25cMjU1bmFtZSkzLjU3MiBFIEYwCi0zLjU3MigsYSlDIDEuMDcxKHNlcmllcyBvZiktLjAwMSBGIEYxKHNldCkzLjU3MSBFIEYwIDEuMDcxCi0oY29tbWFuZHMgdG8gcmVjcmVhdGUgdGhlIGN1cnJlbnQpMy41NzEgRgotKG9wdGlvbiBzZXR0aW5ncyBpcyBkaXNwbGF5ZWQgb24gdGhlIHN0YW5kYXJkIG91dHB1dC4pMTg0IDQyNiBRIEYxPGFkNzA+Ci0xNDQgNDM4IFEgRjAgLS40NShUdSkyOC43NCBHIDEuMDcxKHJuIG9uKS40NSBGIEYzKHByaXZpbGUpNC44MjEgRSAtLjEKKyhmZXJzIGZyb20gdGhlKS0uMjUgRihQT1NJWCBzdGFuZGFyZCB0byBtYXRjaCB0aGUgc3RhbmRhcmQgXCgpMjI0IDUyOCBRCitGMihwb3NpeCBtb2RlKUEgRjAoXCkuKUEgRjEocHJpKTE4NCA1NDAgUSh2aWxlZ2VkKS0uMSBFIEYwKFNhbWUgYXMpMjI0Cis1NTIgUSBGMTxhZDcwPjIuNSBFIEYwKC4pQSBGMSAtLjEodmUpMTg0IDU2NCBTKHJib3NlKS4xIEUgRjAoU2FtZSBhcykKKzcuMzMgRSBGMTxhZDc2PjIuNSBFIEYwKC4pQSBGMSh2aSkxODQgNTc2IFEgRjAgMS40NjYKKyhVc2UgYSB2aS1zdHlsZSBjb21tYW5kIGxpbmUgZWRpdGluZyBpbnRlcmYpMzIuMjIgRiAzLjk2NShhY2UuIFRoaXMpLS4xCitGIDEuNDY1KGFsc28gYWYpMy45NjUgRiAxLjQ2NShmZWN0cyB0aGUgZWRpdGluZyktLjI1IEYoaW50ZXJmKTIyNCA1ODggUQorKGFjZSB1c2VkIGZvciktLjEgRSBGMSAtLjE4KHJlKTIuNSBHKGFkIFwyNTVlKS4xOCBFIEYwKC4pQSBGMSh4dHJhY2UpMTg0Cis2MDAgUSBGMChTYW1lIGFzKTEzLjM1IEUgRjE8YWQ3OD4yLjUgRSBGMCguKUEoSWYpMTg0IDYxOCBRIEYxPGFkNmY+My4wNTIKK0UgRjAgLjU1MihpcyBzdXBwbGllZCB3aXRoIG5vKTMuMDUyIEYgRjIob3B0aW9uXDI1NW5hbWUpMy4wNTMgRSBGMCAzLjA1MworKCx0KUMgLjU1MyhoZSB2KS0zLjA1MyBGIC41NTMoYWx1ZXMgb2YgdGhlIGN1cnJlbnQgb3B0aW9ucyBhcmUgcHJpbnRlZC4pCistLjI1IEYoSWYpNS41NTMgRSBGMSgrbykxODQgNjMwIFEgRjAgMS4wNzIoaXMgc3VwcGxpZWQgd2l0aCBubykzLjU3MiBGCitGMihvcHRpb25cMjU1bmFtZSkzLjU3MiBFIEYwIDMuNTcyKCxhKUMgMS4wNzEoc2VyaWVzIG9mKS0uMDAxIEYgRjEoc2V0KQorMy41NzEgRSBGMCAxLjA3MShjb21tYW5kcyB0byByZWNyZWF0ZSB0aGUgY3VycmVudCkzLjU3MSBGCisob3B0aW9uIHNldHRpbmdzIGlzIGRpc3BsYXllZCBvbiB0aGUgc3RhbmRhcmQgb3V0cHV0LikxODQgNjQyIFEgRjE8YWQ3MD4KKzE0NCA2NTQgUSBGMCAtLjQ1KFR1KTI4Ljc0IEcgMS4wNzEocm4gb24pLjQ1IEYgRjIocHJpdmlsZSk0LjgyMSBFIC0uMQogKGdlKS0uNCBHKGQpLjEgRSBGMCAzLjU3Mihtb2RlLiBJbik0LjM0MSBGIDEuMDcyKHRoaXMgbW9kZSwgdGhlKTMuNTcyIEYKLS9GNCA5L1RpbWVzLUJvbGRAMCBTRigkRU5WKTMuNTcyIEUgRjAoYW5kKTMuMzIyIEUgRjQoJEIpMy41NzIgRShBU0hfRU5WKQotLS4yNyBFIEYwIDEuMDcyKFwyMTRsZXMgYXJlIG5vdCBwcm8tKTMuMzIyIEYgMS41MDEKLShjZXNzZWQsIHNoZWxsIGZ1bmN0aW9ucyBhcmUgbm90IGluaGVyaXRlZCBmcm9tIHRoZSBlbikxODQgNDUwIFIgMS41Ci0odmlyb25tZW50LCBhbmQgdGhlKS0uNCBGIEY0KFNIRUxMT1BUUyk0IEUvRjUgOS9UaW1lcy1Sb21hbkAwIFNGKCwpQSBGMQotKENEUCkxODQgNDYyIFEgLS45NShBVCktLjc0IEcoSCkuOTUgRSBGMCA1LjYwMygsYSlDKG5kKS01LjYwMyBFIEYxCi0oR0xPQklHTk9SRSk1LjYwMyBFIEYwIC0uMjUodmEpNS42MDMgRyAzLjEwMyhyaWFibGVzLCBpZiB0aGUpLjI1IEYgNS42MDMKLSh5YSktLjE1IEcgMy4xMDMocHBlYXIgaW4gdGhlIGVuKS01LjYwMyBGIDMuMTAzKHZpcm9ubWVudCwgYXJlKS0uNCBGCi0yLjYxOChpZ25vcmVkLiBJZikxODQgNDc0IFIgLjExOCh0aGUgc2hlbGwgaXMgc3RhcnRlZCB3aXRoIHRoZSBlZikyLjYxOAotRihmZWN0aSktLjI1IEUgLjQxOCAtLjE1KHZlIHUpLS4yNSBIIC4xMTcKLShzZXIgXChncm91cFwpIGlkIG5vdCBlcXVhbCB0byB0aGUgcmVhbCB1c2VyKS4xNSBGIDEuMDE4Ci0oXChncm91cFwpIGlkLCBhbmQgdGhlKTE4NCA0ODYgUiBGMTxhZDcwPjMuNTE4IEUgRjAgMS4wMTgKLShvcHRpb24gaXMgbm90IHN1cHBsaWVkLCB0aGVzZSBhY3Rpb25zIGFyZSB0YWspMy41MTggRiAxLjAxOAotKGVuIGFuZCB0aGUgZWYpLS4xIEYoZmVjdGkpLS4yNSBFIC0uMTUodmUpLS4yNSBHIC4yODcKLSh1c2VyIGlkIGlzIHNldCB0byB0aGUgcmVhbCB1c2VyIGlkLikxODQgNDk4IFIgLjI4NihJZiB0aGUpNS4yODYgRiBGMQotPGFkNzA+Mi43ODYgRSBGMCAuMjg2KG9wdGlvbiBpcyBzdXBwbGllZCBhdCBzdGFydHVwLCB0aGUgZWYpMi43ODYgRgotKGZlY3RpKS0uMjUgRSAuNTg2IC0uMTUodmUgdSktLjI1IEgoc2VyKS4xNSBFIC4xMDIoaWQgaXMgbm90IHJlc2V0LikxODQKLTUxMCBSIC0uNDUoVHUpNS4xMDIgRyAuMTAyKHJuaW5nIHRoaXMgb3B0aW9uIG9mKS40NSBGIDIuNjAyKGZjKS0uMjUgRwotLjEwMihhdXNlcyB0aGUgZWYpLTIuNjAyIEYoZmVjdGkpLS4yNSBFIC40MDIgLS4xNSh2ZSB1KS0uMjUgSCAuMTAzCi0oc2VyIGFuZCBncm91cCBpZHMgdG8gYmUgc2V0IHRvKS4xNSBGKHRoZSByZWFsIHVzZXIgYW5kIGdyb3VwIGlkcy4pMTg0Ci01MjIgUSBGMTxhZDc0PjE0NCA1MzQgUSBGMChFeGl0IGFmdGVyIHJlYWRpbmcgYW5kIGUpMzAuOTcgRSAtLjE1KHhlKS0uMTUKLUcoY3V0aW5nIG9uZSBjb21tYW5kLikuMTUgRSBGMTxhZDc1PjE0NCA1NDYgUSBGMCAtLjM1KFRyKTI4Ljc0IEcgLjQ0NQotKGVhdCB1bnNldCB2KS4zNSBGIC40NDQKLShhcmlhYmxlcyBhcyBhbiBlcnJvciB3aGVuIHBlcmZvcm1pbmcgcGFyYW1ldGVyIGUpLS4yNSBGIDIuOTQ0Ci0oeHBhbnNpb24uIElmKS0uMTUgRiAtLjE1KGV4KTIuOTQ0IEcgLjQ0NChwYW5zaW9uIGlzKS4xNSBGIC41MTkKLShhdHRlbXB0ZWQgb24gYW4gdW5zZXQgdikxODQgNTU4IFIgLjUxOQotKGFyaWFibGUsIHRoZSBzaGVsbCBwcmludHMgYW4gZXJyb3IgbWVzc2FnZSwgYW5kLCBpZiBub3QgaW50ZXJhY3RpKS0uMjUKLUYgLS4xNSh2ZSktLjI1IEcoLCkuMTUgRSAtLjE1KGV4KTE4NCA1NzAgUyhpdHMgd2l0aCBhIG5vbi16ZXJvIHN0YXR1cy4pCi0uMTUgRSBGMTxhZDc2PjE0NCA1ODIgUSBGMChQcmludCBzaGVsbCBpbnB1dCBsaW5lcyBhcyB0aGUpMjkuMyBFIDIuNSh5YSkKLS0uMTUgRyhyZSByZWFkLiktMi41IEUgRjE8YWQ3OD4xNDQgNTk0IFEgRjAgLjMxNShBZnRlciBlKTI5LjMgRiAuMzE1Ci0oeHBhbmRpbmcgZWFjaCktLjE1IEYgRjMgLjMxNShzaW1wbGUgY29tbWFuZCkyLjgxNSBGIEYwKCwpQSBGMSAtLjI1KGZvKQotMi44MTUgRyhyKS4yNSBFIEYwKGNvbW1hbmQsKTIuODE1IEUgRjEoY2FzZSkyLjgxNSBFIEYwKGNvbW1hbmQsKTIuODE1IEUKLUYxKHNlbGVjdCkyLjgxNSBFIEYwKGNvbW1hbmQsKTIuODE1IEUgMS4yMzUob3IgYXJpdGhtZXRpYykxODQgNjA2IFIgRjEKLS0uMjUoZm8pMy43MzYgRyhyKS4yNSBFIEYwIDEuMjM2KGNvbW1hbmQsIGRpc3BsYXkgdGhlIGUpMy43MzYgRiAxLjIzNgotKHhwYW5kZWQgdiktLjE1IEYgMS4yMzYoYWx1ZSBvZiktLjI1IEYgRjQoUFM0KTMuNzM2IEUgRjUoLClBIEYwKGZvbGxvKQotMy40ODYgRSAxLjIzNih3ZWQgYnkgdGhlIGNvbS0pLS4yNSBGKG1hbmQgYW5kIGl0cyBlKTE4NCA2MTggUQotKHhwYW5kZWQgYXIpLS4xNSBFKGd1bWVudHMgb3IgYXNzb2NpYXRlZCB3KS0uMTggRShvcmQgbGlzdC4pLS4xIEUgRjEKLTxhZDQyPjE0NCA2MzAgUSBGMCAyLjU3OShUaGUgc2hlbGwgcGVyZm9ybXMgYnJhY2UgZSkyNy42MyBGIDIuNTc4Ci0oeHBhbnNpb24gXChzZWUpLS4xNSBGIEYxIDIuNTc4KEJyYWNlIEV4cGFuc2lvbik1LjA3OCBGIEYwKGFibyk1LjA3OCBFCi0tLjE1KHZlKS0uMTUgRyA1LjA3OChcKS4gVGhpcykuMTUgRiAyLjU3OChpcyBvbiBieSk1LjA3OCBGKGRlZikxODQgNjQyIFEKLShhdWx0LiktLjEgRSBGMTxhZDQzPjE0NCA2NTQgUSBGMCAuMjEzKElmIHNldCwpMjcuMDggRiBGMShiYXNoKTIuNzEzIEUKLUYwIC4yMTMoZG9lcyBub3QgbykyLjcxMyBGIC0uMTUodmUpLS4xNSBHIC4yMTQocndyaXRlIGFuIGUpLjE1IEYgLjIxNAotKHhpc3RpbmcgXDIxNGxlIHdpdGggdGhlKS0uMTUgRiBGMSg+KTIuNzE0IEUgRjAoLClBIEYxKD4mKTIuNzE0IEUgRjAKLTIuNzE0KCxhKUMobmQpLTIuNzE0IEUgRjEoPD4pMi43MTQgRSBGMCAuMjE0KHJlZGlyZWN0aW9uIG9wZXJhLSkyLjcxNCBGCi0zLjA1NCh0b3JzLiBUaGlzKTE4NCA2NjYgUiAuNTUzKG1heSBiZSBvKTMuMDUzIEYgLS4xNSh2ZSktLjE1IEcgLjU1MwotKHJyaWRkZW4gd2hlbiBjcmVhdGluZyBvdXRwdXQgXDIxNGxlcyBieSB1c2luZyB0aGUgcmVkaXJlY3Rpb24gb3BlcmEtKQotLjE1IEYodG9yKTE4NCA2NzggUSBGMSg+fCkyLjUgRSBGMChpbnN0ZWFkIG9mKTIuNSBFIEYxKD4pMi41IEUgRjAoLilBIEYxCi08YWQ0NT4xNDQgNjkwIFEgRjAgLjEwMyhJZiBzZXQsIGFuKTI3LjYzIEYgMi42MDMoeXQpLS4xNSBHIC4xMDMocmFwIG9uKQotLTIuNjAzIEYgRjEoRVJSKTIuNjAzIEUgRjAgLjEwNAotKGlzIGluaGVyaXRlZCBieSBzaGVsbCBmdW5jdGlvbnMsIGNvbW1hbmQgc3Vic3RpdHV0aW9ucywgYW5kIGNvbS0pMi42MDMKLUYgLjgzOShtYW5kcyBlKTE4NCA3MDIgUiAtLjE1KHhlKS0uMTUgRyAuODM5KGN1dGVkIGluIGEgc3Vic2hlbGwgZW4pLjE1Ci1GIDMuMzM5KHZpcm9ubWVudC4gVGhlKS0uNCBGIEYxKEVSUikzLjMzOCBFIEYwIC44MzgKLSh0cmFwIGlzIG5vcm1hbGx5IG5vdCBpbmhlcml0ZWQgaW4pMy4zMzggRihzdWNoIGNhc2VzLikxODQgNzE0IFEKK0YzKCRFTlYpMy41NzIgRSBGMChhbmQpMy4zMjIgRSBGMygkQikzLjU3MiBFKEFTSF9FTlYpLS4yNyBFIEYwIDEuMDcyCisoXDIxNGxlcyBhcmUgbm90IHByby0pMy4zMjIgRiAxLjUwMQorKGNlc3NlZCwgc2hlbGwgZnVuY3Rpb25zIGFyZSBub3QgaW5oZXJpdGVkIGZyb20gdGhlIGVuKTE4NCA2NjYgUiAxLjUKKyh2aXJvbm1lbnQsIGFuZCB0aGUpLS40IEYgRjMoU0hFTExPUFRTKTQgRSBGNCgsKUEgRjMgLS4yNyhCQSkxODQgNjc4IFMKKyhTSE9QVFMpLjI3IEUgRjQoLClBIEYzKENEUCkyLjc3NCBFIC0uODU1KEFUKS0uNjY2IEcoSCkuODU1IEUgRjQoLClBIEYwCisoYW5kKTIuNzc0IEUgRjMoR0xPQklHTk9SRSkzLjAyNCBFIEYwIC0uMjUodmEpMi43NzQgRyAuNTI0CisocmlhYmxlcywgaWYgdGhlKS4yNSBGIDMuMDI1KHlhKS0uMTUgRyAuNTI1KHBwZWFyIGluIHRoZSBlbiktMy4wMjUgRgorKHZpcm9ubWVudCwpLS40IEUgLjM4KGFyZSBpZ25vcmVkLikxODQgNjkwIFIgLjM4CisoSWYgdGhlIHNoZWxsIGlzIHN0YXJ0ZWQgd2l0aCB0aGUgZWYpNS4zOCBGKGZlY3RpKS0uMjUgRSAuNjc5IC0uMTUodmUgdSkKKy0uMjUgSCAuMzc5KHNlciBcKGdyb3VwXCkgaWQgbm90IGVxdWFsIHRvIHRoZSByZWFsKS4xNSBGIC40NjEKKyh1c2VyIFwoZ3JvdXBcKSBpZCwgYW5kIHRoZSkxODQgNzAyIFIgRjE8YWQ3MD4yLjk2MSBFIEYwIC40NjEKKyhvcHRpb24gaXMgbm90IHN1cHBsaWVkLCB0aGVzZSBhY3Rpb25zIGFyZSB0YWspMi45NjEgRiAuNDYyCisoZW4gYW5kIHRoZSBlZiktLjEgRihmZWMtKS0uMjUgRSh0aSkxODQgNzE0IFEgLjY5NSAtLjE1KHZlIHUpLS4yNSBIIC4zOTUKKyhzZXIgaWQgaXMgc2V0IHRvIHRoZSByZWFsIHVzZXIgaWQuKS4xNSBGIC4zOTUoSWYgdGhlKTUuMzk1IEYgRjE8YWQ3MD4KKzIuODk1IEUgRjAgLjM5NChvcHRpb24gaXMgc3VwcGxpZWQgYXQgc3RhcnR1cCwgdGhlIGVmKTIuODk1IEYoZmVjdGkpLS4yNQorRSAtLjE1KHZlKS0uMjUgRyAuMzg2KHVzZXIgaWQgaXMgbm90IHJlc2V0LikxODQgNzI2IFIgLS40NShUdSk1LjM4NiBHCisuMzg2KHJuaW5nIHRoaXMgb3B0aW9uIG9mKS40NSBGIDIuODg2KGZjKS0uMjUgRyAuMzg3KGF1c2VzIHRoZSBlZiktMi44ODYKK0YoZmVjdGkpLS4yNSBFIC42ODcgLS4xNSh2ZSB1KS0uMjUgSCAuMzg3KHNlciBhbmQgZ3JvdXAgaWRzIHRvIGJlKS4xNSBGCiAoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSgxNCkxOTguNzI1IEUgMCBDZyBFUAogJSVQYWdlOiAxNSAxNQogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMoU0hfQikuMzUgRShVSUwpLS4xIEUgMjkwLjQ4Ci0oVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRS9GMSAxMAotL1RpbWVzLUJvbGRAMCBTRjxhZDQ4PjE0NCA4NCBRIEYwKEVuYWJsZSkyNi41MiBFIEYxKCEpMy4wMzEgRSBGMCAuNTMxCi0oc3R5bGUgaGlzdG9yeSBzdWJzdGl0dXRpb24uKTUuNTMxIEYgLjUzMShUaGlzIG9wdGlvbiBpcyBvbiBieSBkZWYpNS41MzEKLUYgLjUzMihhdWx0IHdoZW4gdGhlIHNoZWxsIGlzIGludGVyKS0uMSBGKC0pLS4yIEUoYWN0aSkxODQgOTYgUSAtLjE1KHZlKQotLS4yNSBHKC4pLjE1IEUgRjE8YWQ1MD4xNDQgMTA4IFEgRjAgMS4xNjUKKyhUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFCisoc2V0IHRvIHRoZSByZWFsIHVzZXIgYW5kIGdyb3VwIGlkcy4pMTg0IDg0IFEvRjEgMTAvVGltZXMtQm9sZEAwIFNGCis8YWQ3ND4xNDQgOTYgUSBGMChFeGl0IGFmdGVyIHJlYWRpbmcgYW5kIGUpMzAuOTcgRSAtLjE1KHhlKS0uMTUgRworKGN1dGluZyBvbmUgY29tbWFuZC4pLjE1IEUgRjE8YWQ3NT4xNDQgMTA4IFEgRjAgLS4zNShUcikyOC43NCBHIC4wNDQKKyhlYXQgdW5zZXQgdikuMzUgRiAuMDQ0KGFyaWFibGVzIGFuZCBwYXJhbWV0ZXJzIG90aGVyIHRoYW4gdGhlIHNwZWNpYWwgXAorcGFyYW1ldGVycyAiQCIgYW5kICIqIiBhcyBhbiktLjI1IEYgLjE4MgorKGVycm9yIHdoZW4gcGVyZm9ybWluZyBwYXJhbWV0ZXIgZSkxODQgMTIwIFIgMi42ODIoeHBhbnNpb24uIElmKS0uMTUgRgorLS4xNShleCkyLjY4MiBHIC4xODMocGFuc2lvbiBpcyBhdHRlbXB0ZWQgb24gYW4gdW5zZXQgdikuMTUgRihhcmktKS0uMjUKK0UgLjc0NihhYmxlIG9yIHBhcmFtZXRlcikxODQgMTMyIFIgMy4yNDYoLHQpLS40IEcgLjc0NgorKGhlIHNoZWxsIHByaW50cyBhbiBlcnJvciBtZXNzYWdlLCBhbmQsIGlmIG5vdCBpbnRlcmFjdGkpLTMuMjQ2IEYgLS4xNQorKHZlKS0uMjUgRyAzLjI0NigsZSkuMTUgRyAuNzQ2KHhpdHMgd2l0aCBhKS0zLjM5NiBGKG5vbi16ZXJvIHN0YXR1cy4pMTg0CisxNDQgUSBGMTxhZDc2PjE0NCAxNTYgUSBGMChQcmludCBzaGVsbCBpbnB1dCBsaW5lcyBhcyB0aGUpMjkuMyBFIDIuNSh5YSkKKy0uMTUgRyhyZSByZWFkLiktMi41IEUgRjE8YWQ3OD4xNDQgMTY4IFEgRjAgLjMxNShBZnRlciBlKTI5LjMgRiAuMzE1CisoeHBhbmRpbmcgZWFjaCktLjE1IEYvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YgLjMxNShzaW1wbGUgY29tbWFuZCkyLjgxNQorRiBGMCgsKUEgRjEgLS4yNShmbykyLjgxNSBHKHIpLjI1IEUgRjAoY29tbWFuZCwpMi44MTUgRSBGMShjYXNlKTIuODE1IEUKK0YwKGNvbW1hbmQsKTIuODE1IEUgRjEoc2VsZWN0KTIuODE1IEUgRjAoY29tbWFuZCwpMi44MTUgRSAxLjIzNgorKG9yIGFyaXRobWV0aWMpMTg0IDE4MCBSIEYxIC0uMjUoZm8pMy43MzYgRyhyKS4yNSBFIEYwIDEuMjM2CisoY29tbWFuZCwgZGlzcGxheSB0aGUgZSkzLjczNiBGIDEuMjM2KHhwYW5kZWQgdiktLjE1IEYgMS4yMzYoYWx1ZSBvZikKKy0uMjUgRi9GMyA5L1RpbWVzLUJvbGRAMCBTRihQUzQpMy43MzYgRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLClBIEYwCisoZm9sbG8pMy40ODYgRSAxLjIzNih3ZWQgYnkgdGhlIGNvbS0pLS4yNSBGKG1hbmQgYW5kIGl0cyBlKTE4NCAxOTIgUQorKHhwYW5kZWQgYXIpLS4xNSBFKGd1bWVudHMgb3IgYXNzb2NpYXRlZCB3KS0uMTggRShvcmQgbGlzdC4pLS4xIEUgRjEKKzxhZDQyPjE0NCAyMDQgUSBGMCAyLjU3OChUaGUgc2hlbGwgcGVyZm9ybXMgYnJhY2UgZSkyNy42MyBGIDIuNTc4CisoeHBhbnNpb24gXChzZWUpLS4xNSBGIEYxIDIuNTc4KEJyYWNlIEV4cGFuc2lvbik1LjA3OCBGIEYwKGFibyk1LjA3OCBFCistLjE1KHZlKS0uMTUgRyA1LjA3OShcKS4gVGhpcykuMTUgRiAyLjU3OShpcyBvbiBieSk1LjA3OSBGKGRlZikxODQgMjE2IFEKKyhhdWx0LiktLjEgRSBGMTxhZDQzPjE0NCAyMjggUSBGMCAuMjE0KElmIHNldCwpMjcuMDggRiBGMShiYXNoKTIuNzE0IEUKK0YwIC4yMTQoZG9lcyBub3QgbykyLjcxNCBGIC0uMTUodmUpLS4xNSBHIC4yMTQocndyaXRlIGFuIGUpLjE1IEYgLjIxNAorKHhpc3RpbmcgXDIxNGxlIHdpdGggdGhlKS0uMTUgRiBGMSg+KTIuNzE0IEUgRjAoLClBIEYxKD4mKTIuNzE0IEUgRjAKKzIuNzEzKCxhKUMobmQpLTIuNzEzIEUgRjEoPD4pMi43MTMgRSBGMCAuMjEzKHJlZGlyZWN0aW9uIG9wZXJhLSkyLjcxMyBGCiszLjA1Myh0b3JzLiBUaGlzKTE4NCAyNDAgUiAuNTUzKG1heSBiZSBvKTMuMDUzIEYgLS4xNSh2ZSktLjE1IEcgLjU1MworKHJyaWRkZW4gd2hlbiBjcmVhdGluZyBvdXRwdXQgXDIxNGxlcyBieSB1c2luZyB0aGUgcmVkaXJlY3Rpb24gb3BlcmEtKQorLjE1IEYodG9yKTE4NCAyNTIgUSBGMSg+fCkyLjUgRSBGMChpbnN0ZWFkIG9mKTIuNSBFIEYxKD4pMi41IEUgRjAoLilBIEYxCis8YWQ0NT4xNDQgMjY0IFEgRjAgLjEwNChJZiBzZXQsIGFuKTI3LjYzIEYgMi42MDQoeXQpLS4xNSBHIC4xMDQocmFwIG9uKQorLTIuNjA0IEYgRjEoRVJSKTIuNjA0IEUgRjAgLjEwMworKGlzIGluaGVyaXRlZCBieSBzaGVsbCBmdW5jdGlvbnMsIGNvbW1hbmQgc3Vic3RpdHV0aW9ucywgYW5kIGNvbS0pMi42MDQKK0YgLjgzOChtYW5kcyBlKTE4NCAyNzYgUiAtLjE1KHhlKS0uMTUgRyAuODM4KGN1dGVkIGluIGEgc3Vic2hlbGwgZW4pLjE1CitGIDMuMzM4KHZpcm9ubWVudC4gVGhlKS0uNCBGIEYxKEVSUikzLjMzOCBFIEYwIC44MzkKKyh0cmFwIGlzIG5vcm1hbGx5IG5vdCBpbmhlcml0ZWQgaW4pMy4zMzkgRihzdWNoIGNhc2VzLikxODQgMjg4IFEgRjEKKzxhZDQ4PjE0NCAzMDAgUSBGMChFbmFibGUpMjYuNTIgRSBGMSghKTMuMDMyIEUgRjAgLjUzMgorKHN0eWxlIGhpc3Rvcnkgc3Vic3RpdHV0aW9uLik1LjUzMiBGIC41MzEoVGhpcyBvcHRpb24gaXMgb24gYnkgZGVmKTUuNTMyCitGIC41MzEoYXVsdCB3aGVuIHRoZSBzaGVsbCBpcyBpbnRlciktLjEgRigtKS0uMiBFKGFjdGkpMTg0IDMxMiBRIC0uMTUKKyh2ZSktLjI1IEcoLikuMTUgRSBGMTxhZDUwPjE0NCAzMjQgUSBGMCAxLjE2NAogKElmIHNldCwgdGhlIHNoZWxsIGRvZXMgbm90IGZvbGxvKTI4LjE5IEYgMy42NjQod3MpLS4yNSBHIDEuMTY0Ci0oeW1ib2xpYyBsaW5rcyB3aGVuIGUpLTMuNjY0IEYgLS4xNSh4ZSktLjE1IEcgMS4xNjQKLShjdXRpbmcgY29tbWFuZHMgc3VjaCBhcykuMTUgRiBGMShjZCkzLjY2NCBFIEYwIDIuODIxCi0odGhhdCBjaGFuZ2UgdGhlIGN1cnJlbnQgdykxODQgMTIwIFIgMi44MjIob3JraW5nIGRpcmVjdG9yeSktLjEgRiA3LjgyMgotKC5JKS0uNjUgRyA1LjMyMih0dSktNy44MjIgRyAyLjgyMihzZXMgdGhlIHBoKS01LjMyMiBGIDIuODIyCi0oeXNpY2FsIGRpcmVjdG9yeSBzdHJ1Y3R1cmUpLS4wNSBGIDIuNjg2KGluc3RlYWQuIEJ5KTE4NCAxMzIgUihkZWYpMi42ODYKKyh5bWJvbGljIGxpbmtzIHdoZW4gZSktMy42NjQgRiAtLjE1KHhlKS0uMTUgRyAxLjE2NQorKGN1dGluZyBjb21tYW5kcyBzdWNoIGFzKS4xNSBGIEYxKGNkKTMuNjY1IEUgRjAgMi44MjIKKyh0aGF0IGNoYW5nZSB0aGUgY3VycmVudCB3KTE4NCAzMzYgUiAyLjgyMihvcmtpbmcgZGlyZWN0b3J5KS0uMSBGIDcuODIyCisoLkkpLS42NSBHIDUuMzIyKHR1KS03LjgyMiBHIDIuODIyKHNlcyB0aGUgcGgpLTUuMzIyIEYgMi44MjEKKyh5c2ljYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSktLjA1IEYgMi42ODUoaW5zdGVhZC4gQnkpMTg0IDM0OCBSKGRlZikyLjY4NQogRShhdWx0LCktLjEgRSBGMShiYXNoKTIuNjg2IEUgRjAoZm9sbG8pMi42ODYgRSAuMTg2CiAod3MgdGhlIGxvZ2ljYWwgY2hhaW4gb2YgZGlyZWN0b3JpZXMgd2hlbiBwZXJmb3JtaW5nIGNvbS0pLS4yNSBGCi0obWFuZHMgd2hpY2ggY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeSkxODQgMTQ0IFEoLiktLjY1IEUgRjE8YWQ1ND4xNDQKLTE1NiBRIEYwIC44OShJZiBzZXQsIGFuKTI3LjYzIEYgMy4zOSh5dCktLjE1IEcgLjg5KHJhcHMgb24pLTMuMzkgRiBGMQorKG1hbmRzIHdoaWNoIGNoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkpMTg0IDM2MCBRKC4pLS42NSBFIEYxPGFkNTQ+MTQ0CiszNzIgUSBGMCAuODkoSWYgc2V0LCBhbikyNy42MyBGIDMuMzkoeXQpLS4xNSBHIC44OShyYXBzIG9uKS0zLjM5IEYgRjEKIChERUIpMy4zOSBFKFVHKS0uMSBFIEYwKGFuZCkzLjM5IEUgRjEoUkVUVVJOKTMuMzkgRSBGMCAuODkKIChhcmUgaW5oZXJpdGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucywgY29tbWFuZCkzLjM5IEYgMS45MzIKLShzdWJzdGl0dXRpb25zLCBhbmQgY29tbWFuZHMgZSkxODQgMTY4IFIgLS4xNSh4ZSktLjE1IEcgMS45MzIKKyhzdWJzdGl0dXRpb25zLCBhbmQgY29tbWFuZHMgZSkxODQgMzg0IFIgLS4xNSh4ZSktLjE1IEcgMS45MzIKIChjdXRlZCBpbiBhIHN1YnNoZWxsIGVuKS4xNSBGIDQuNDMyKHZpcm9ubWVudC4gVGhlKS0uNCBGIEYxKERFQik0LjQzMiBFCi0oVUcpLS4xIEUgRjAoYW5kKTQuNDMyIEUgRjEoUkVUVVJOKTE4NCAxODAgUSBGMAotKHRyYXBzIGFyZSBub3JtYWxseSBub3QgaW5oZXJpdGVkIGluIHN1Y2ggY2FzZXMuKTIuNSBFIEYxPGFkYWQ+MTQ0IDE5MiBRCi1GMCAuNChJZiBubyBhcikyOC42IEYgLjQwMShndW1lbnRzIGZvbGxvKS0uMTggRiAyLjkwMSh3dCktLjI1IEcgLjQwMQorKFVHKS0uMSBFIEYwKGFuZCk0LjQzMiBFIEYxKFJFVFVSTikxODQgMzk2IFEgRjAKKyh0cmFwcyBhcmUgbm9ybWFsbHkgbm90IGluaGVyaXRlZCBpbiBzdWNoIGNhc2VzLikyLjUgRSBGMTxhZGFkPjE0NCA0MDggUQorRjAgLjQwMShJZiBubyBhcikyOC42IEYgLjQwMShndW1lbnRzIGZvbGxvKS0uMTggRiAyLjkwMSh3dCktLjI1IEcgLjQwMQogKGhpcyBvcHRpb24sIHRoZW4gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBhcmUgdW5zZXQuKS0yLjkwMSBGCi0oT3RoZXJ3aXNlLCk1LjQwMSBFKHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYXJlIHNldCB0byB0aGUpMTg0IDIwNCBRCi0vRjIgMTAvVGltZXMtSXRhbGljQDAgU0YoYXIpMi41IEUoZyktLjM3IEUgRjAocywgZSlBIC0uMTUodmUpLS4yNSBHIDIuNQotKG5pKS4xNSBHIDIuNShmcyktMi41IEcob21lIG9mIHRoZW0gYmUpLTIuNSBFKGdpbiB3aXRoIGEpLS4xNSBFIEYxPGFkPgotMi41IEUgRjAoLilBIEYxPGFkPjE0NCAyMTYgUSBGMCAxLjk0NQotKFNpZ25hbCB0aGUgZW5kIG9mIG9wdGlvbnMsIGNhdXNlIGFsbCByZW1haW5pbmcpMzQuMyBGIEYyKGFyKTQuNDQ0IEUoZykKLS0uMzcgRSBGMCA0LjQ0NChzdClDIDQuNDQ0KG9iKS00LjQ0NCBHIDQuNDQ0KGVhKS00LjQ0NCBHIDEuOTQ0Ci0oc3NpZ25lZCB0byB0aGUgcG9zaXRpb25hbCktNC40NDQgRiAzLjQ0NShwYXJhbWV0ZXJzLiBUaGUpMTg0IDIyOCBSIEYxCi08YWQ3OD4zLjQ0NSBFIEYwKGFuZCkzLjQ0NSBFIEYxPGFkNzY+My40NDUgRSBGMCAuOTQ1Ci0ob3B0aW9ucyBhcmUgdHVybmVkIG9mKTMuNDQ1IEYgMy40NDUoZi4gSWYpLS4yNSBGIC45NDYodGhlcmUgYXJlIG5vKQotMy40NDUgRiBGMihhcikzLjQ0NiBFKGcpLS4zNyBFIEYwIC45NDYocywgdGhlIHBvc2l0aW9uYWwpQgotKHBhcmFtZXRlcnMgcmVtYWluIHVuY2hhbmdlZC4pMTg0IDI0MCBRIC40MjUoVGhlIG9wdGlvbnMgYXJlIG9mKTE0NAotMjU2LjggUiAyLjkyNShmYiktLjI1IEcgMi45MjUoeWQpLTIuOTI1IEcoZWYpLTIuOTI1IEUgLjQyNQorKE90aGVyd2lzZSwpNS40IEUodGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBhcmUgc2V0IHRvIHRoZSkxODQgNDIwIFEgRjIKKyhhcikyLjUgRShnKS0uMzcgRSBGMChzLCBlKUEgLS4xNSh2ZSktLjI1IEcgMi41KG5pKS4xNSBHIDIuNShmcyktMi41IEcKKyhvbWUgb2YgdGhlbSBiZSktMi41IEUoZ2luIHdpdGggYSktLjE1IEUgRjE8YWQ+Mi41IEUgRjAoLilBIEYxPGFkPjE0NAorNDMyIFEgRjAgMS45NDQoU2lnbmFsIHRoZSBlbmQgb2Ygb3B0aW9ucywgY2F1c2UgYWxsIHJlbWFpbmluZykzNC4zIEYgRjIKKyhhcik0LjQ0NCBFKGcpLS4zNyBFIEYwIDQuNDQ0KHN0KUMgNC40NDQob2IpLTQuNDQ0IEcgNC40NDUoZWEpLTQuNDQ0IEcKKzEuOTQ1KHNzaWduZWQgdG8gdGhlIHBvc2l0aW9uYWwpLTQuNDQ1IEYgMy40NDYocGFyYW1ldGVycy4gVGhlKTE4NCA0NDQgUgorRjE8YWQ3OD4zLjQ0NiBFIEYwKGFuZCkzLjQ0NiBFIEYxPGFkNzY+My40NDYgRSBGMCAuOTQ1Cisob3B0aW9ucyBhcmUgdHVybmVkIG9mKTMuNDQ2IEYgMy40NDUoZi4gSWYpLS4yNSBGIC45NDUodGhlcmUgYXJlIG5vKQorMy40NDUgRiBGMihhcikzLjQ0NSBFKGcpLS4zNyBFIEYwIC45NDUocywgdGhlIHBvc2l0aW9uYWwpQgorKHBhcmFtZXRlcnMgcmVtYWluIHVuY2hhbmdlZC4pMTg0IDQ1NiBRIC40MjUoVGhlIG9wdGlvbnMgYXJlIG9mKTE0NAorNDcyLjggUiAyLjkyNShmYiktLjI1IEcgMi45MjUoeWQpLTIuOTI1IEcoZWYpLTIuOTI1IEUgLjQyNQogKGF1bHQgdW5sZXNzIG90aGVyd2lzZSBub3RlZC4pLS4xIEYgLjQyNQotKFVzaW5nICsgcmF0aGVyIHRoYW4gXDI1NSBjYXVzZXMgdGhlc2Ugb3B0aW9ucyk1LjQyNSBGIC4xNzcKLSh0byBiZSB0dXJuZWQgb2YpMTQ0IDI2OC44IFIgMi42NzcoZi4gVGhlKS0uMjUgRiAuMTc4CisoVXNpbmcgKyByYXRoZXIgdGhhbiBcMjU1IGNhdXNlcyB0aGVzZSBvcHRpb25zKTUuNDI1IEYgLjE3OAorKHRvIGJlIHR1cm5lZCBvZikxNDQgNDg0LjggUiAyLjY3OChmLiBUaGUpLS4yNSBGIC4xNzgKIChvcHRpb25zIGNhbiBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzIGFyKTIuNjc4IEYgLjE3OChndW1lbnRzIHRvIGFuIGluKQotLS4xOCBGIC0uMih2byktLjQgRyAuMTc4KGNhdGlvbiBvZiB0aGUgc2hlbGwuKS4yIEYoVGhlKTUuMTc4IEUgLjA2NgotKGN1cnJlbnQgc2V0IG9mIG9wdGlvbnMgbWF5IGJlIGZvdW5kIGluKTE0NCAyODAuOCBSIEYxPDI0YWQ+Mi41NjYgRSBGMAorLS4xOCBGIC0uMih2byktLjQgRyAuMTc3KGNhdGlvbiBvZiB0aGUgc2hlbGwuKS4yIEYoVGhlKTUuMTc3IEUgLjA2NgorKGN1cnJlbnQgc2V0IG9mIG9wdGlvbnMgbWF5IGJlIGZvdW5kIGluKTE0NCA0OTYuOCBSIEYxPDI0YWQ+Mi41NjYgRSBGMAogNS4wNjYoLlQpQyAuMDY2KGhlIHJldHVybiBzdGF0dXMgaXMgYWwpLTUuMDY2IEYgLS4xKHdhKS0uMSBHIC4wNjYKLSh5cyB0cnVlIHVubGVzcyBhbiBpbikuMSBGIC0uMjUodmEpLS40IEcgLjA2NihsaWQgb3B0aW9uKS4yNSBGCi0oaXMgZW5jb3VudGVyZWQuKTE0NCAyOTIuOCBRIEYxKHNoaWZ0KTEwOCAzMDkuNiBRIEYwKFspMi41IEUgRjIobilBIEYwCi0oXSlBIC40MjgoVGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBmcm9tKTE0NCAzMjEuNiBSIEYyKG4pMi45MjggRSBGMAotLjQyOSgrMSAuLi4gYXJlIHJlbmFtZWQgdG8pQiBGMSAuNDI5KCQxIC4uLi4pMi45MjkgRiBGMCAtLjE1KFBhKTUuNDI5IEcKLS40MjkocmFtZXRlcnMgcmVwcmVzZW50ZWQgYnkgdGhlIG51bS0pLjE1IEYoYmVycykxNDQgMzMzLjYgUSBGMSgkIykyLjU4MwotRSBGMChkbykyLjU4MyBFIC4wODMod24gdG8pLS4yNSBGIEYxKCQjKTIuNTgzIEUgRjA8YWQ+QSBGMihuKUEgRjAgLjA4MwotKCsxIGFyZSB1bnNldC4pQiBGMihuKTUuNDQzIEUgRjAgLjA4MyhtdXN0IGJlIGEgbm9uLW5lKTIuODIzIEYgLS4wNShnYSkKLS0uMTUgRyh0aSkuMDUgRSAuMzgyIC0uMTUodmUgbiktLjI1IEggLjA4Mih1bWJlciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8pCi0uMTUgRiBGMSgkIykyLjU4MiBFIEYwIDUuMDgyKC5JKUMoZiktNS4wODIgRSBGMihuKTIuOTQyIEUgRjAgLjA2Ci0oaXMgMCwgbm8gcGFyYW1ldGVycyBhcmUgY2hhbmdlZC4pMTQ0IDM0NS42IFIoSWYpNS4wNiBFIEYyKG4pMi45MiBFIEYwCisoeXMgdHJ1ZSB1bmxlc3MgYW4gaW4pLjEgRiAtLjI1KHZhKS0uNCBHIC4wNjcobGlkIG9wdGlvbikuMjUgRgorKGlzIGVuY291bnRlcmVkLikxNDQgNTA4LjggUSBGMShzaGlmdCkxMDggNTI1LjYgUSBGMChbKTIuNSBFIEYyKG4pQSBGMAorKF0pQSAuNDI5KFRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgZnJvbSkxNDQgNTM3LjYgUiBGMihuKTIuOTI5IEUgRjAKKy40MjkoKzEgLi4uIGFyZSByZW5hbWVkIHRvKUIgRjEgLjQyOSgkMSAuLi4uKTIuOTI5IEYgRjAgLS4xNShQYSk1LjQyOCBHCisuNDI4KHJhbWV0ZXJzIHJlcHJlc2VudGVkIGJ5IHRoZSBudW0tKS4xNSBGKGJlcnMpMTQ0IDU0OS42IFEgRjEoJCMpMi41ODIKK0UgRjAoZG8pMi41ODIgRSAuMDgyKHduIHRvKS0uMjUgRiBGMSgkIykyLjU4MiBFIEYwPGFkPkEgRjIobilBIEYwIC4wODIKKygrMSBhcmUgdW5zZXQuKUIgRjIobik1LjQ0MiBFIEYwIC4wODIobXVzdCBiZSBhIG5vbi1uZSkyLjgyMiBGIC0uMDUoZ2EpCistLjE1IEcodGkpLjA1IEUgLjM4MyAtLjE1KHZlIG4pLS4yNSBIIC4wODModW1iZXIgbGVzcyB0aGFuIG9yIGVxdWFsIHRvKQorLjE1IEYgRjEoJCMpMi41ODMgRSBGMCA1LjA4MyguSSlDKGYpLTUuMDgzIEUgRjIobikyLjk0MyBFIEYwIC4wNgorKGlzIDAsIG5vIHBhcmFtZXRlcnMgYXJlIGNoYW5nZWQuKTE0NCA1NjEuNiBSKElmKTUuMDYgRSBGMihuKTIuOTIgRSBGMAogLjA2KGlzIG5vdCBnaSkyLjggRiAtLjE1KHZlKS0uMjUgRyAuMDYobiwgaXQgaXMgYXNzdW1lZCB0byBiZSAxLikuMTUgRgogKElmKTUuMDYgRSBGMihuKTIuOTIgRSBGMCAuMDYoaXMgZ3JlYXRlciB0aGFuKTIuOCBGIEYxKCQjKTIuNTYgRSBGMCAyLjU2Ci0oLHQpQyhoZSktMi41NiBFIC4xNDQocG9zaXRpb25hbCBwYXJhbWV0ZXJzIGFyZSBub3QgY2hhbmdlZC4pMTQ0IDM1Ny42IFIKLS4xNDQoVGhlIHJldHVybiBzdGF0dXMgaXMgZ3JlYXRlciB0aGFuIHplcm8gaWYpNS4xNDQgRiBGMihuKTMuMDAzIEUgRjAKLS4xNDMoaXMgZ3JlYXRlciB0aGFuKTIuODgzIEYgRjEoJCMpMi42NDMgRSBGMAotKG9yIGxlc3MgdGhhbiB6ZXJvOyBvdGhlcndpc2UgMC4pMTQ0IDM2OS42IFEgRjEoc2hvcHQpMTA4IDM4Ni40IFEgRjAoWykKKygsdClDKGhlKS0yLjU2IEUgLjE0Myhwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYXJlIG5vdCBjaGFuZ2VkLikxNDQgNTczLjYgUgorLjE0NChUaGUgcmV0dXJuIHN0YXR1cyBpcyBncmVhdGVyIHRoYW4gemVybyBpZik1LjE0MyBGIEYyKG4pMy4wMDQgRSBGMAorLjE0NChpcyBncmVhdGVyIHRoYW4pMi44ODQgRiBGMSgkIykyLjY0NCBFIEYwCisob3IgbGVzcyB0aGFuIHplcm87IG90aGVyd2lzZSAwLikxNDQgNTg1LjYgUSBGMShzaG9wdCkxMDggNjAyLjQgUSBGMChbKQogMi41IEUgRjEoXDI1NXBxc3UpQSBGMCAyLjUoXVspQyBGMTxhZDZmPi0yLjUgRSBGMCAyLjUoXVspQyBGMihvcHRuYW1lKQotLTIuNSBFIEYwKC4uLl0pMi41IEUgLS44KFRvKTE0NCAzOTguNCBTIC4yMjIoZ2dsZSB0aGUgdikuOCBGIC4yMjIKKy0yLjUgRSBGMCguLi5dKTIuNSBFIC0uOChUbykxNDQgNjE0LjQgUyAuMjIyKGdnbGUgdGhlIHYpLjggRiAuMjIyCiAoYWx1ZXMgb2YgdiktLjI1IEYgLjIyMihhcmlhYmxlcyBjb250cm9sbGluZyBvcHRpb25hbCBzaGVsbCBiZWhhKS0uMjUgRgogKHZpb3IpLS4yIEUgNS4yMjIoLlcpLS41NSBHIC4yMjIoaXRoIG5vIG9wdGlvbnMsIG9yIHdpdGggdGhlKS01LjYyMiBGIEYxCiA8YWQ3MD4yLjcyMiBFIEYwIC43MjEob3B0aW9uLCBhIGxpc3Qgb2YgYWxsIHNldHRhYmxlIG9wdGlvbnMgaXMgZGlzcGxheVwKLWVkLCB3aXRoIGFuIGluZGljYXRpb24gb2Ygd2hldGhlciBvciBub3QgZWFjaCBpcyBzZXQuKTE0NCA0MTAuNCBSKFRoZSkKLTE0NCA0MjIuNCBRIEYxPGFkNzA+Mi44MjcgRSBGMCAuMzI3KG9wdGlvbiBjYXVzZXMgb3V0cHV0IHRvIGJlIGRpc3BsYXllXAotZCBpbiBhIGZvcm0gdGhhdCBtYXkgYmUgcmV1c2VkIGFzIGlucHV0LikyLjgyNyBGIC4zMjgoT3RoZXIgb3B0aW9ucykKLTUuMzI4IEYoaGEpMTQ0IDQzNC40IFEgLjMgLS4xNSh2ZSB0KS0uMiBIKGhlIGZvbGxvKS4xNSBFKHdpbmcgbWVhbmluZ3M6KQotLS4yNSBFIEYxPGFkNzM+MTQ0IDQ0Ni40IFEgRjAoRW5hYmxlIFwoc2V0XCkgZWFjaCkyNi40MSBFIEYyKG9wdG5hbWUpMi41Ci1FIEYwKC4pQSBGMTxhZDc1PjE0NCA0NTguNCBRIEYwKERpc2FibGUgXCh1bnNldFwpIGVhY2gpMjQuNzQgRSBGMgotKG9wdG5hbWUpMi41IEUgRjAoLilBIEYxPGFkNzE+MTQ0IDQ3MC40IFEgRjAgLjAwMyhTdXBwcmVzc2VzIG5vcm1hbCBvdXRcCitlZCwgd2l0aCBhbiBpbmRpY2F0aW9uIG9mIHdoZXRoZXIgb3Igbm90IGVhY2ggaXMgc2V0LikxNDQgNjI2LjQgUihUaGUpCisxNDQgNjM4LjQgUSBGMTxhZDcwPjIuODI4IEUgRjAgLjMyNyhvcHRpb24gY2F1c2VzIG91dHB1dCB0byBiZSBkaXNwbGF5ZVwKK2QgaW4gYSBmb3JtIHRoYXQgbWF5IGJlIHJldXNlZCBhcyBpbnB1dC4pMi44MjggRiAuMzI3KE90aGVyIG9wdGlvbnMpCis1LjMyNyBGKGhhKTE0NCA2NTAuNCBRIC4zIC0uMTUodmUgdCktLjIgSChoZSBmb2xsbykuMTUgRSh3aW5nIG1lYW5pbmdzOikKKy0uMjUgRSBGMTxhZDczPjE0NCA2NjIuNCBRIEYwKEVuYWJsZSBcKHNldFwpIGVhY2gpMjYuNDEgRSBGMihvcHRuYW1lKTIuNQorRSBGMCguKUEgRjE8YWQ3NT4xNDQgNjc0LjQgUSBGMChEaXNhYmxlIFwodW5zZXRcKSBlYWNoKTI0Ljc0IEUgRjIKKyhvcHRuYW1lKTIuNSBFIEYwKC4pQSBGMTxhZDcxPjE0NCA2ODYuNCBRIEYwIC4wMDMoU3VwcHJlc3NlcyBub3JtYWwgb3V0XAogcHV0IFwocXVpZXQgbW9kZVwpOyB0aGUgcmV0dXJuIHN0YXR1cyBpbmRpY2F0ZXMgd2hldGhlciB0aGUpMjQuNzQgRiBGMgotKG9wdG5hbWUpMi41MDMgRSBGMChpcykyLjUwMyBFIC4yNTUoc2V0IG9yIHVuc2V0LikxODAgNDgyLjQgUiAuMjU1Ci0oSWYgbXVsdGlwbGUpNS4yNTUgRiBGMihvcHRuYW1lKTIuNzU1IEUgRjAoYXIpMi43NTUgRSAuMjU2Cisob3B0bmFtZSkyLjUwNCBFIEYwKGlzKTIuNTA0IEUgLjI1NihzZXQgb3IgdW5zZXQuKTE4MCA2OTguNCBSIC4yNTYKKyhJZiBtdWx0aXBsZSk1LjI1NiBGIEYyKG9wdG5hbWUpMi43NTYgRSBGMChhcikyLjc1NiBFIC4yNTYKIChndW1lbnRzIGFyZSBnaSktLjE4IEYgLS4xNSh2ZSktLjI1IEcgMi43NTYobncpLjE1IEcoaXRoKS0yLjc1NiBFIEYxCi08YWQ3MT4yLjc1NiBFIEYwIDIuNzU2KCx0KUMgLjI1NihoZSByZXR1cm4gc3RhdHVzIGlzIHplcm8gaWYpLTIuNzU2IEYKLShhbGwpMTgwIDQ5NC40IFEgRjIob3B0bmFtZXMpMi41IEUgRjAoYXJlIGVuYWJsZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4pCi0yLjUgRSBGMTxhZDZmPjE0NCA1MDYuNCBRIEYwKFJlc3RyaWN0cyB0aGUgdikyNS4zIEUoYWx1ZXMgb2YpLS4yNSBFIEYyCi0ob3B0bmFtZSkyLjUgRSBGMCh0byBiZSB0aG9zZSBkZVwyMTRuZWQgZm9yIHRoZSkyLjUgRSBGMTxhZDZmPjIuNSBFIEYwCi0ob3B0aW9uIHRvIHRoZSkyLjUgRSBGMShzZXQpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluLikuMiBFIC4xMjgKLShJZiBlaXRoZXIpMTQ0IDUyMy4yIFIgRjE8YWQ3Mz4yLjYyOCBFIEYwKG9yKTIuNjI4IEUgRjE8YWQ3NT4yLjYyOCBFIEYwCi0uMTI3KGlzIHVzZWQgd2l0aCBubykyLjYyNyBGIEYyKG9wdG5hbWUpMi42MjcgRSBGMChhcikyLjYyNyBFIC4xMjcKLShndW1lbnRzLCB0aGUgZGlzcGxheSBpcyBsaW1pdGVkIHRvIHRob3NlIG9wdGlvbnMgd2hpY2gpLS4xOCBGIDEuMDIzCi0oYXJlIHNldCBvciB1bnNldCwgcmVzcGVjdGkpMTQ0IDUzNS4yIFIgLS4xNSh2ZSktLjI1IEcobHkpLjE1IEUgNi4wMjMKLSguVSktLjY1IEcgMS4wMjQobmxlc3Mgb3RoZXJ3aXNlIG5vdGVkLCB0aGUpLTYuMDIzIEYgRjEoc2hvcHQpMy41MjQgRSBGMAotMS4wMjQob3B0aW9ucyBhcmUgZGlzYWJsZWQgXCh1bnNldFwpIGJ5KTMuNTI0IEYoZGVmKTE0NCA1NDcuMiBRKGF1bHQuKQotLS4xIEUgMS41NDQoVGhlIHJldHVybiBzdGF0dXMgd2hlbiBsaXN0aW5nIG9wdGlvbnMgaXMgemVybyBpZiBhbGwpMTQ0Ci01NjQgUiBGMihvcHRuYW1lcyk0LjA0NCBFIEYwIDEuNTQ0KGFyZSBlbmFibGVkLCBub24temVybyBvdGhlcndpc2UuKQotNC4wNDQgRiAuNjk2Ci0oV2hlbiBzZXR0aW5nIG9yIHVuc2V0dGluZyBvcHRpb25zLCB0aGUgcmV0dXJuIHN0YXR1cyBpcyB6ZXJvIHVubGVzcyBhbikKLTE0NCA1NzYgUiBGMihvcHRuYW1lKTMuMTk2IEUgRjAgLjY5NihpcyBub3QgYSB2KTMuMTk2IEYgLjY5NihhbGlkIHNoZWxsKQotLS4yNSBGKG9wdGlvbi4pMTQ0IDU4OCBRKFRoZSBsaXN0IG9mKTE0NCA2MDQuOCBRIEYxKHNob3B0KTIuNSBFIEYwCi0ob3B0aW9ucyBpczopMi41IEUgRjEoYXV0b2NkKTE0NCA2MjIuOCBRIEYwIC4yCi0oSWYgc2V0LCBhIGNvbW1hbmQgbmFtZSB0aGF0IGlzIHRoZSBuYW1lIG9mIGEgZGlyZWN0b3J5IGlzIGUpMTEuMTEgRgotLS4xNSh4ZSktLjE1IEcgLjE5OShjdXRlZCBhcyBpZiBpdCB3ZXJlIHRoZSBhcikuMTUgRihndS0pLS4xOCBFCi0obWVudCB0byB0aGUpMTg0IDYzNC44IFEgRjEoY2QpMi41IEUgRjAgMi41KGNvbW1hbmQuIFRoaXMpMi41IEYKLShvcHRpb24gaXMgb25seSB1c2VkIGJ5IGludGVyYWN0aSkyLjUgRSAuMyAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzLikuMTUgRQotRjEoY2RhYmxlX3YpMTQ0IDY0Ni44IFEoYXJzKS0uMSBFIEYwIC4xNTUoSWYgc2V0LCBhbiBhcikxODQgNjU4LjggUiAuMTU1Ci0oZ3VtZW50IHRvIHRoZSktLjE4IEYgRjEoY2QpMi42NTUgRSBGMCAtLjIoYnUpMi42NTUgRyAuMTU2Ci0oaWx0aW4gY29tbWFuZCB0aGF0IGlzIG5vdCBhIGRpcmVjdG9yeSBpcyBhc3N1bWVkIHRvIGJlIHRoZSkuMiBGCi0obmFtZSBvZiBhIHYpMTg0IDY3MC44IFEoYXJpYWJsZSB3aG9zZSB2KS0uMjUgRQotKGFsdWUgaXMgdGhlIGRpcmVjdG9yeSB0byBjaGFuZ2UgdG8uKS0uMjUgRSBGMShjZHNwZWxsKTE0NCA2ODIuOCBRIEYwCi0xLjA1NQotKElmIHNldCwgbWlub3IgZXJyb3JzIGluIHRoZSBzcGVsbGluZyBvZiBhIGRpcmVjdG9yeSBjb21wb25lbnQgaW4gYSkKLTEwLjU1IEYgRjEoY2QpMy41NTUgRSBGMCAxLjA1NShjb21tYW5kIHdpbGwgYmUpMy41NTUgRiAzLjk4NwotKGNvcnJlY3RlZC4gVGhlKTE4NCA2OTQuOCBSIDEuNDg3KGVycm9ycyBjaGVjaykzLjk4NyBGIDEuNDg3Ci0oZWQgZm9yIGFyZSB0cmFuc3Bvc2VkIGNoYXJhY3RlcnMsIGEgbWlzc2luZyBjaGFyYWN0ZXIpLS4xIEYgMy45ODgoLGEpCi0tLjQgRyhuZCktMy45ODggRSAuNTUyKG9uZSBjaGFyYWN0ZXIgdG9vIG1hbikxODQgNzA2LjggUiA0LjM1MiAtLjY1Ci0oeS4gSSktLjE1IEggMy4wNTIoZmFjKS42NSBHIC41NTIKLShvcnJlY3Rpb24gaXMgZm91bmQsIHRoZSBjb3JyZWN0ZWQgXDIxNGxlIG5hbWUgaXMgcHJpbnRlZCwgYW5kKS0zLjA1MiBGCi0odGhlIGNvbW1hbmQgcHJvY2VlZHMuKTE4NCA3MTguOCBRCi0oVGhpcyBvcHRpb24gaXMgb25seSB1c2VkIGJ5IGludGVyYWN0aSk1IEUgLjMgLS4xNSh2ZSBzKS0uMjUgSChoZWxscy4pCi0uMTUgRShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDE1KTE5OC43MjUgRSAwIENnIEVQCis8YWQ3MT4yLjc1NiBFIEYwIDIuNzU1KCx0KUMgLjI1NShoZSByZXR1cm4gc3RhdHVzIGlzIHplcm8gaWYpLTIuNzU1IEYKKyhhbGwpMTgwIDcxMC40IFEgRjIob3B0bmFtZXMpMi41IEUgRjAoYXJlIGVuYWJsZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4pCisyLjUgRShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDE1KTE5OC43MjUgRSAwIENnIEVQCiAlJVBhZ2U6IDE2IDE2CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyhTSF9CKS4zNSBFKFVJTCktLjEgRSAyOTAuNDgKIChUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFL0YxIDEwCi0vVGltZXMtQm9sZEAwIFNGKGNoZWNraGFzaCkxNDQgODQgUSBGMCAyLjA3OShJZiBzZXQsKTE4NCA5NiBSIEYxKGJhc2gpCi00LjU3OSBFIEYwIDIuMDc5KGNoZWNrcyB0aGF0IGEgY29tbWFuZCBmb3VuZCBpbiB0aGUgaGFzaCB0YWJsZSBlKTQuNTc5IEYKLTIuMDgoeGlzdHMgYmVmb3JlIHRyeWluZyB0byktLjE1IEYgLS4xNShleGUpMTg0IDEwOCBTKGN1dGUgaXQuKS4xNSBFCisvVGltZXMtQm9sZEAwIFNGPGFkNmY+MTQ0IDg0IFEgRjAoUmVzdHJpY3RzIHRoZSB2KTI1LjMgRShhbHVlcyBvZiktLjI1IEUKKy9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihvcHRuYW1lKTIuNSBFIEYwKHRvIGJlIHRob3NlIGRlXDIxNG5lZCBmb3IgdGhlKQorMi41IEUgRjE8YWQ2Zj4yLjUgRSBGMChvcHRpb24gdG8gdGhlKTIuNSBFIEYxKHNldCkyLjUgRSBGMCAtLjIoYnUpMi41IEcKKyhpbHRpbi4pLjIgRSAuMTI3KElmIGVpdGhlcikxNDQgMTAwLjggUiBGMTxhZDczPjIuNjI3IEUgRjAob3IpMi42MjcgRSBGMQorPGFkNzU+Mi42MjcgRSBGMCAuMTI3KGlzIHVzZWQgd2l0aCBubykyLjYyNyBGIEYyKG9wdG5hbWUpMi42MjcgRSBGMChhcikKKzIuNjI3IEUgLjEyNyhndW1lbnRzLCB0aGUgZGlzcGxheSBpcyBsaW1pdGVkIHRvIHRob3NlIG9wdGlvbnMgd2hpY2gpLS4xOAorRiAxLjAyNChhcmUgc2V0IG9yIHVuc2V0LCByZXNwZWN0aSkxNDQgMTEyLjggUiAtLjE1KHZlKS0uMjUgRyhseSkuMTUgRQorNi4wMjQoLlUpLS42NSBHIDEuMDI0KG5sZXNzIG90aGVyd2lzZSBub3RlZCwgdGhlKS02LjAyNCBGIEYxKHNob3B0KTMuNTIzCitFIEYwIDEuMDIzKG9wdGlvbnMgYXJlIGRpc2FibGVkIFwodW5zZXRcKSBieSkzLjUyMyBGKGRlZikxNDQgMTI0LjggUQorKGF1bHQuKS0uMSBFIDEuNTQ0CisoVGhlIHJldHVybiBzdGF0dXMgd2hlbiBsaXN0aW5nIG9wdGlvbnMgaXMgemVybyBpZiBhbGwpMTQ0IDE0MS42IFIgRjIKKyhvcHRuYW1lcyk0LjA0NCBFIEYwIDEuNTQ1KGFyZSBlbmFibGVkLCBub24temVybyBvdGhlcndpc2UuKTQuMDQ1IEYgLjY5NgorKFdoZW4gc2V0dGluZyBvciB1bnNldHRpbmcgb3B0aW9ucywgdGhlIHJldHVybiBzdGF0dXMgaXMgemVybyB1bmxlc3MgYW4pCisxNDQgMTUzLjYgUiBGMihvcHRuYW1lKTMuMTk2IEUgRjAgLjY5NihpcyBub3QgYSB2KTMuMTk2IEYgLjY5NQorKGFsaWQgc2hlbGwpLS4yNSBGKG9wdGlvbi4pMTQ0IDE2NS42IFEoVGhlIGxpc3Qgb2YpMTQ0IDE4Mi40IFEgRjEoc2hvcHQpCisyLjUgRSBGMChvcHRpb25zIGlzOikyLjUgRSBGMShhdXRvY2QpMTQ0IDIwMC40IFEgRjAgLjE5OQorKElmIHNldCwgYSBjb21tYW5kIG5hbWUgdGhhdCBpcyB0aGUgbmFtZSBvZiBhIGRpcmVjdG9yeSBpcyBlKTExLjExIEYKKy0uMTUoeGUpLS4xNSBHIC4yKGN1dGVkIGFzIGlmIGl0IHdlcmUgdGhlIGFyKS4xNSBGKGd1LSktLjE4IEUKKyhtZW50IHRvIHRoZSkxODQgMjEyLjQgUSBGMShjZCkyLjUgRSBGMCAyLjUoY29tbWFuZC4gVGhpcykyLjUgRgorKG9wdGlvbiBpcyBvbmx5IHVzZWQgYnkgaW50ZXJhY3RpKTIuNSBFIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbHMuKS4xNSBFCitGMShjZGFibGVfdikxNDQgMjI0LjQgUShhcnMpLS4xIEUgRjAgLjE1NihJZiBzZXQsIGFuIGFyKTE4NCAyMzYuNCBSIC4xNTYKKyhndW1lbnQgdG8gdGhlKS0uMTggRiBGMShjZCkyLjY1NiBFIEYwIC0uMihidSkyLjY1NiBHIC4xNTUKKyhpbHRpbiBjb21tYW5kIHRoYXQgaXMgbm90IGEgZGlyZWN0b3J5IGlzIGFzc3VtZWQgdG8gYmUgdGhlKS4yIEYKKyhuYW1lIG9mIGEgdikxODQgMjQ4LjQgUShhcmlhYmxlIHdob3NlIHYpLS4yNSBFCisoYWx1ZSBpcyB0aGUgZGlyZWN0b3J5IHRvIGNoYW5nZSB0by4pLS4yNSBFIEYxKGNkc3BlbGwpMTQ0IDI2MC40IFEgRjAKKzEuMDU1CisoSWYgc2V0LCBtaW5vciBlcnJvcnMgaW4gdGhlIHNwZWxsaW5nIG9mIGEgZGlyZWN0b3J5IGNvbXBvbmVudCBpbiBhKQorMTAuNTUgRiBGMShjZCkzLjU1NSBFIEYwIDEuMDU1KGNvbW1hbmQgd2lsbCBiZSkzLjU1NSBGIDMuOTg4CisoY29ycmVjdGVkLiBUaGUpMTg0IDI3Mi40IFIgMS40ODgoZXJyb3JzIGNoZWNrKTMuOTg4IEYgMS40ODcKKyhlZCBmb3IgYXJlIHRyYW5zcG9zZWQgY2hhcmFjdGVycywgYSBtaXNzaW5nIGNoYXJhY3RlciktLjEgRiAzLjk4NygsYSkKKy0uNCBHKG5kKS0zLjk4NyBFIC41NTIob25lIGNoYXJhY3RlciB0b28gbWFuKTE4NCAyODQuNCBSIDQuMzUyIC0uNjUKKyh5LiBJKS0uMTUgSCAzLjA1MihmYWMpLjY1IEcgLjU1MgorKG9ycmVjdGlvbiBpcyBmb3VuZCwgdGhlIGNvcnJlY3RlZCBcMjE0bGUgbmFtZSBpcyBwcmludGVkLCBhbmQpLTMuMDUyIEYKKyh0aGUgY29tbWFuZCBwcm9jZWVkcy4pMTg0IDI5Ni40IFEKKyhUaGlzIG9wdGlvbiBpcyBvbmx5IHVzZWQgYnkgaW50ZXJhY3RpKTUgRSAuMyAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzLikKKy4xNSBFIEYxKGNoZWNraGFzaCkxNDQgMzA4LjQgUSBGMCAyLjA4KElmIHNldCwpMTg0IDMyMC40IFIgRjEoYmFzaCk0LjU4CitFIEYwIDIuMDc5KGNoZWNrcyB0aGF0IGEgY29tbWFuZCBmb3VuZCBpbiB0aGUgaGFzaCB0YWJsZSBlKTQuNTggRiAyLjA3OQorKHhpc3RzIGJlZm9yZSB0cnlpbmcgdG8pLS4xNSBGIC0uMTUoZXhlKTE4NCAzMzIuNCBTKGN1dGUgaXQuKS4xNSBFCiAoSWYgYSBoYXNoZWQgY29tbWFuZCBubyBsb25nZXIgZSk1IEUKLSh4aXN0cywgYSBub3JtYWwgcGF0aCBzZWFyY2ggaXMgcGVyZm9ybWVkLiktLjE1IEUgRjEoY2hlY2tqb2JzKTE0NCAxMjAgUQotRjAgLjQ0OShJZiBzZXQsKTE4NCAxMzIgUiBGMShiYXNoKTIuOTQ5IEUgRjAgLjQ0OQotKGxpc3RzIHRoZSBzdGF0dXMgb2YgYW4pMi45NDkgRiAyLjk0OSh5cyktLjE1IEcgLjQ0OAotKHRvcHBlZCBhbmQgcnVubmluZyBqb2JzIGJlZm9yZSBlKS0yLjk0OSBGIC40NDgoeGl0aW5nIGFuIGludGVyYWN0aSktLjE1Ci1GIC0uMTUodmUpLS4yNSBHIDMuNDM4KHNoZWxsLiBJZikxODQgMTQ0IFIoYW4pMy40MzggRSAzLjQzOCh5aiktLjE1IEcKLS45Mzgob2JzIGFyZSBydW5uaW5nLCB0aGlzIGNhdXNlcyB0aGUgZSktMy40MzggRiAuOTM4Ci0oeGl0IHRvIGJlIGRlZmVycmVkIHVudGlsIGEgc2Vjb25kIGUpLS4xNSBGIC45MzkoeGl0IGlzKS0uMTUgRiAxLjQ1NgotKGF0dGVtcHRlZCB3aXRob3V0IGFuIGludGVydikxODQgMTU2IFIgMS40NTYoZW5pbmcgY29tbWFuZCBcKHNlZSktLjE1IEYKLUYxIDEuNDU2KEpPQiBDT05UUikzLjk1NiBGKE9MKS0uMyBFIEYwKGFibykzLjk1NiBFIC0uMTUodmUpLS4xNSBHIDMuOTU2Ci0oXCkuIFRoZSkuMTUgRihzaGVsbCkzLjk1NiBFKGFsKTE4NCAxNjggUSAtLjEod2EpLS4xIEcoeXMgcG9zdHBvbmVzIGUpLjEKLUUoeGl0aW5nIGlmIGFuKS0uMTUgRSAyLjUoeWopLS4xNSBHKG9icyBhcmUgc3RvcHBlZC4pLTIuNSBFIEYxCi0oY2hlY2t3aW5zaXplKTE0NCAxODAgUSBGMCAuNzk2KElmIHNldCwpMTg0IDE5MiBSIEYxKGJhc2gpMy4yOTYgRSBGMAotLjc5NihjaGVja3MgdGhlIHdpbmRvKTMuMjk2IEYgMy4yOTYod3MpLS4yNSBHIC43OTcKLShpemUgYWZ0ZXIgZWFjaCBjb21tYW5kIGFuZCwgaWYgbmVjZXNzYXJ5KS0zLjI5NiBGIDMuMjk3KCx1KS0uNjUgRyAuNzk3Ci0ocGRhdGVzIHRoZSktMy4yOTcgRiAtLjI1KHZhKTE4NCAyMDQgUyhsdWVzIG9mKS4yNSBFL0YyIDkvVGltZXMtQm9sZEAwCi1TRihMSU5FUykyLjUgRSBGMChhbmQpMi4yNSBFIEYyKENPTFVNTlMpMi41IEUvRjMgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQQotRjEoY21kaGlzdCkxNDQgMjE2IFEgRjAgMS4yMDIoSWYgc2V0LCk2LjExIEYgRjEoYmFzaCkzLjcwMiBFIEYwIDEuMjAyCisoeGlzdHMsIGEgbm9ybWFsIHBhdGggc2VhcmNoIGlzIHBlcmZvcm1lZC4pLS4xNSBFIEYxKGNoZWNram9icykxNDQgMzQ0LjQKK1EgRjAgLjQ0OChJZiBzZXQsKTE4NCAzNTYuNCBSIEYxKGJhc2gpMi45NDggRSBGMCAuNDQ4CisobGlzdHMgdGhlIHN0YXR1cyBvZiBhbikyLjk0OCBGIDIuOTQ5KHlzKS0uMTUgRyAuNDQ5CisodG9wcGVkIGFuZCBydW5uaW5nIGpvYnMgYmVmb3JlIGUpLTIuOTQ5IEYgLjQ0OSh4aXRpbmcgYW4gaW50ZXJhY3RpKS0uMTUKK0YgLS4xNSh2ZSktLjI1IEcgMy40Mzkoc2hlbGwuIElmKTE4NCAzNjguNCBSKGFuKTMuNDM5IEUgMy40MzkoeWopLS4xNSBHCisuOTM4KG9icyBhcmUgcnVubmluZywgdGhpcyBjYXVzZXMgdGhlIGUpLTMuNDM5IEYgLjkzOAorKHhpdCB0byBiZSBkZWZlcnJlZCB1bnRpbCBhIHNlY29uZCBlKS0uMTUgRiAuOTM4KHhpdCBpcyktLjE1IEYgMi4yMDMKKyhhdHRlbXB0ZWQgd2l0aG91dCBhbiBpbnRlcnYpMTg0IDM4MC40IFIgMi4yMDMoZW5pbmcgY29tbWFuZCBcKHNlZSktLjE1CitGL0YzIDkvVGltZXMtQm9sZEAwIFNGIDIuMjAzKEpPQiBDT05UUik0LjcwMyBGKE9MKS0uMjcgRSBGMChhYm8pNC40NTMgRQorLS4xNSh2ZSktLjE1IEcgNC43MDMoXCkuIFRoZSkuMTUgRihzaGVsbCk0LjcwNCBFKGFsKTE4NCAzOTIuNCBRIC0uMSh3YSkKKy0uMSBHKHlzIHBvc3Rwb25lcyBlKS4xIEUoeGl0aW5nIGlmIGFuKS0uMTUgRSAyLjUoeWopLS4xNSBHCisob2JzIGFyZSBzdG9wcGVkLiktMi41IEUgRjEoY2hlY2t3aW5zaXplKTE0NCA0MDQuNCBRIEYwIC43OTcoSWYgc2V0LCkxODQKKzQxNi40IFIgRjEoYmFzaCkzLjI5NyBFIEYwIC43OTcoY2hlY2tzIHRoZSB3aW5kbykzLjI5NyBGIDMuMjk3KHdzKS0uMjUgRworLjc5NihpemUgYWZ0ZXIgZWFjaCBjb21tYW5kIGFuZCwgaWYgbmVjZXNzYXJ5KS0zLjI5NyBGIDMuMjk2KCx1KS0uNjUgRworLjc5NihwZGF0ZXMgdGhlKS0zLjI5NiBGIC0uMjUodmEpMTg0IDQyOC40IFMobHVlcyBvZikuMjUgRSBGMyhMSU5FUykyLjUKK0UgRjAoYW5kKTIuMjUgRSBGMyhDT0xVTU5TKTIuNSBFL0Y0IDkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjEoY21kaGlzdCkKKzE0NCA0NDAuNCBRIEYwIDEuMjAyKElmIHNldCwpNi4xMSBGIEYxKGJhc2gpMy43MDIgRSBGMCAxLjIwMgogKGF0dGVtcHRzIHRvIHNhKTMuNzAyIEYgMS41MDIgLS4xNSh2ZSBhKS0uMiBIIDEuMjAyCiAobGwgbGluZXMgb2YgYSBtdWx0aXBsZS1saW5lIGNvbW1hbmQgaW4gdGhlIHNhbWUgaGlzdG9yeSkuMTUgRihlbnRyeSkxODQKLTIyOCBRIDUoLlQpLS42NSBHKGhpcyBhbGxvKS01IEUKLSh3cyBlYXN5IHJlLWVkaXRpbmcgb2YgbXVsdGktbGluZSBjb21tYW5kcy4pLS4yNSBFIEYxKGNvbXBhdDMxKTE0NCAyNDAgUQotRjAgLjQxOShJZiBzZXQsKTE4NCAyNTIgUiBGMShiYXNoKTIuOTE5IEUgRjAgLjQxOShjaGFuZ2VzIGl0cyBiZWhhKTIuOTE5Ci1GIC40MTkodmlvciB0byB0aGF0IG9mIHYpLS4yIEYgLjQyKGVyc2lvbiAzLjEgd2l0aCByZXNwZWN0IHRvIHF1b3RlZCBhcikKLS0uMTUgRihndW1lbnRzKS0uMTggRSh0byB0aGUgY29uZGl0aW9uYWwgY29tbWFuZCcpMTg0IDI2NCBRIDIuNShzPSktLjU1Ci1HIDIuNSh+byktMi41IEcocGVyYXRvciktMi41IEUoLiktLjU1IEUgRjEoZGlyc3BlbGwpMTQ0IDI3NiBRIEYwIC44NTkKLShJZiBzZXQsKTcuNzcgRiBGMShiYXNoKTMuMzU5IEUgRjAgLjg1OAorNDUyLjQgUSA1KC5UKS0uNjUgRyhoaXMgYWxsbyktNSBFCisod3MgZWFzeSByZS1lZGl0aW5nIG9mIG11bHRpLWxpbmUgY29tbWFuZHMuKS0uMjUgRSBGMShjb21wYXQzMSkxNDQgNDY0LjQKK1EgRjAgLjQyKElmIHNldCwpMTg0IDQ3Ni40IFIgRjEoYmFzaCkyLjkyIEUgRjAgLjQyKGNoYW5nZXMgaXRzIGJlaGEpMi45MgorRiAuNDE5KHZpb3IgdG8gdGhhdCBvZiB2KS0uMiBGIC40MTkKKyhlcnNpb24gMy4xIHdpdGggcmVzcGVjdCB0byBxdW90ZWQgYXIpLS4xNSBGKGd1bWVudHMpLS4xOCBFCisodG8gdGhlIGNvbmRpdGlvbmFsIGNvbW1hbmQnKTE4NCA0ODguNCBRIDIuNShzPSktLjU1IEcgMi41KH5vKS0yLjUgRworKHBlcmF0b3IpLTIuNSBFKC4pLS41NSBFIEYxKGNvbXBhdDMyKTE0NCA1MDAuNCBRIEYwIDEuNDA5KElmIHNldCwpMTg0Cis1MTIuNCBSIEYxKGJhc2gpMy45MDkgRSBGMCAxLjQwOShjaGFuZ2VzIGl0cyBiZWhhKTMuOTA5IEYgMS40MDkKKyh2aW9yIHRvIHRoYXQgb2YgdiktLjIgRiAxLjQxCisoZXJzaW9uIDMuMiB3aXRoIHJlc3BlY3QgdG8gbG9jYWxlLXNwZWNpXDIxNGMpLS4xNSBGCisoc3RyaW5nIGNvbXBhcmlzb24gd2hlbiB1c2luZyB0aGUgY29uZGl0aW9uYWwgY29tbWFuZCcpMTg0IDUyNC40IFEgMi41CisoczxhKS0uNTUgRyhuZCA+IG9wZXJhdG9ycy4pLTIuNSBFIEYxKGNvbXBhdDQwKTE0NCA1MzYuNCBRIEYwIDEuNDEKKyhJZiBzZXQsKTE4NCA1NDguNCBSIEYxKGJhc2gpMy45MSBFIEYwIDEuNDEoY2hhbmdlcyBpdHMgYmVoYSkzLjkxIEYKKzEuNDA5KHZpb3IgdG8gdGhhdCBvZiB2KS0uMiBGIDEuNDA5CisoZXJzaW9uIDQuMCB3aXRoIHJlc3BlY3QgdG8gbG9jYWxlLXNwZWNpXDIxNGMpLS4xNSBGIDEuNjkyCisoc3RyaW5nIGNvbXBhcmlzb24gd2hlbiB1c2luZyB0aGUgY29uZGl0aW9uYWwgY29tbWFuZCcpMTg0IDU2MC40IFIgNC4xOTMKKyhzPGEpLS41NSBHIDEuNjkzKG5kID4gb3BlcmF0b3JzIGFuZCB0aGUpLTQuMTkzIEYoZWYpMTg0IDU3Mi40IFEKKyhmZWN0IG9mIGludGVycnVwdGluZyBhIGNvbW1hbmQgbGlzdC4pLS4yNSBFIEYxKGRpcnNwZWxsKTE0NCA1ODQuNCBRIEYwCisuODU5KElmIHNldCwpNy43NyBGIEYxKGJhc2gpMy4zNTkgRSBGMCAuODU4CiAoYXR0ZW1wdHMgc3BlbGxpbmcgY29ycmVjdGlvbiBvbiBkaXJlY3RvcnkgbmFtZXMgZHVyaW5nIHcpMy4zNTkgRiAuODU4CiAob3JkIGNvbXBsZXRpb24gaWYpLS4xIEYKLSh0aGUgZGlyZWN0b3J5IG5hbWUgaW5pdGlhbGx5IHN1cHBsaWVkIGRvZXMgbm90IGUpMTg0IDI4OCBRKHhpc3QuKS0uMTUgRQotRjEoZG90Z2xvYikxNDQgMzAwIFEgRjAgLjE2NShJZiBzZXQsKTcuNzcgRiBGMShiYXNoKTIuNjY1IEUgRjAgLjE2NQorKHRoZSBkaXJlY3RvcnkgbmFtZSBpbml0aWFsbHkgc3VwcGxpZWQgZG9lcyBub3QgZSkxODQgNTk2LjQgUSh4aXN0LiktLjE1CitFIEYxKGRvdGdsb2IpMTQ0IDYwOC40IFEgRjAgLjE2NShJZiBzZXQsKTcuNzcgRiBGMShiYXNoKTIuNjY1IEUgRjAgLjE2NQogKGluY2x1ZGVzIFwyMTRsZW5hbWVzIGJlKTIuNjY1IEYgLjE2NShnaW5uaW5nIHdpdGggYSBgLiktLjE1IEYgMi42NjUoJ2kpCiAtLjcgRyAyLjY2NShudCktMi42NjUgRyAuMTY1KGhlIHJlc3VsdHMgb2YgcGF0aG5hbWUgZSktMi42NjUgRgotKHhwYW5zaW9uLiktLjE1IEUgRjEoZXhlY2ZhaWwpMTQ0IDMxMiBRIEYwIDEuMzg3CisoeHBhbnNpb24uKS0uMTUgRSBGMShleGVjZmFpbCkxNDQgNjIwLjQgUSBGMCAxLjM4NwogKElmIHNldCwgYSBub24taW50ZXJhY3RpKTcuNzkgRiAxLjY4NyAtLjE1KHZlIHMpLS4yNSBIIDEuMzg2CiAoaGVsbCB3aWxsIG5vdCBlKS4xNSBGIDEuMzg2KHhpdCBpZiBpdCBjYW5ub3QgZSktLjE1IEYgLS4xNSh4ZSktLjE1IEcKLTEuMzg2KGN1dGUgdGhlIFwyMTRsZSBzcGVjaVwyMTRlZCBhcyBhbikuMTUgRihhcikxODQgMzI0IFEKKzEuMzg2KGN1dGUgdGhlIFwyMTRsZSBzcGVjaVwyMTRlZCBhcyBhbikuMTUgRihhcikxODQgNjMyLjQgUQogKGd1bWVudCB0byB0aGUpLS4xOCBFIEYxKGV4ZWMpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluIGNvbW1hbmQuKS4yIEUKIChBbiBpbnRlcmFjdGkpNSBFIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbCBkb2VzIG5vdCBlKS4xNSBFKHhpdCBpZiktLjE1Ci1FIEYxKGV4ZWMpMi41IEUgRjAgLS4xKGZhKTIuNSBHKGlscy4pLjEgRSBGMShleHBhbmRfYWxpYXNlcykxNDQgMzM2IFEgRjAKLS43MTYoSWYgc2V0LCBhbGlhc2VzIGFyZSBlKTE4NCAzNDggUiAuNzE3KHhwYW5kZWQgYXMgZGVzY3JpYmVkIGFibyktLjE1Ci1GIDEuMDE3IC0uMTUodmUgdSktLjE1IEgobmRlcikuMTUgRSBGMihBTElBU0VTKTMuMjE3IEUgRjMoLilBIEYwIC43MTcKLShUaGlzIG9wdGlvbiBpcyBlbmFibGVkKTUuMjE3IEYoYnkgZGVmKTE4NCAzNjAgUShhdWx0IGZvciBpbnRlcmFjdGkpLS4xCi1FIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbHMuKS4xNSBFIEYxKGV4dGRlYikxNDQgMzcyIFEodWcpLS4yIEUgRjAKLShJZiBzZXQsIGJlaGEpMTg0IDM4NCBRKHZpb3IgaW50ZW5kZWQgZm9yIHVzZSBieSBkZWIpLS4yIEUKLSh1Z2dlcnMgaXMgZW5hYmxlZDopLS4yIEUgRjEoMS4pMTg0IDM5NiBRIEYwKFRoZSkyOC41IEUgRjE8YWQ0Nj40LjI1MSBFCi1GMCAxLjc1MShvcHRpb24gdG8gdGhlKTQuMjUxIEYgRjEoZGVjbGFyKTQuMjUxIEUoZSktLjE4IEUgRjAgLS4yKGJ1KQotNC4yNTEgRyAxLjc1MShpbHRpbiBkaXNwbGF5cyB0aGUgc291cmNlIFwyMTRsZSBuYW1lIGFuZCBsaW5lKS4yIEYKLShudW1iZXIgY29ycmVzcG9uZGluZyB0byBlYWNoIGZ1bmN0aW9uIG5hbWUgc3VwcGxpZWQgYXMgYW4gYXIpMjIwIDQwOCBRCi0oZ3VtZW50LiktLjE4IEUgRjEoMi4pMTg0IDQyMCBRIEYwIDEuNjY3KElmIHRoZSBjb21tYW5kIHJ1biBieSB0aGUpMjguNQotRiBGMShERUIpNC4xNjcgRShVRyktLjEgRSBGMCAxLjY2Nyh0cmFwIHJldHVybnMgYSBub24temVybyB2KTQuMTY3IEYKLTEuNjY3KGFsdWUsIHRoZSBuZSktLjI1IEYoeHQpLS4xNSBFKGNvbW1hbmQgaXMgc2tpcHBlZCBhbmQgbm90IGUpMjIwIDQzMgotUSAtLjE1KHhlKS0uMTUgRyhjdXRlZC4pLjE1IEUgRjEoMy4pMTg0IDQ0NCBRIEYwIC44NDEKLShJZiB0aGUgY29tbWFuZCBydW4gYnkgdGhlKTI4LjUgRiBGMShERUIpMy4zNDEgRShVRyktLjEgRSBGMCAuODQxCi0odHJhcCByZXR1cm5zIGEgdikzLjM0MSBGIC44NChhbHVlIG9mIDIsIGFuZCB0aGUgc2hlbGwgaXMpLS4yNSBGIC0uMTUKLShleGUpMjIwIDQ1NiBTIC40ODgKLShjdXRpbmcgaW4gYSBzdWJyb3V0aW5lIFwoYSBzaGVsbCBmdW5jdGlvbiBvciBhIHNoZWxsIHNjcmlwdCBlKS4xNSBGCi0tLjE1KHhlKS0uMTUgRyAuNDg4KGN1dGVkIGJ5IHRoZSkuMTUgRiBGMSguKTIuOTg4IEUgRjAob3IpMi45ODggRSBGMQotKHNvdXIpMjIwIDQ2OCBRKGNlKS0uMTggRSBGMCAtLjIoYnUpMi41IEcoaWx0aW5zXCksIGEgY2FsbCB0bykuMiBFIEYxCi0tLjE4KHJlKTIuNSBHKHR1cikuMTggRShuKS0uMTUgRSBGMChpcyBzaW11bGF0ZWQuKTIuNSBFIEYxIDI2KDQuIEIpMTg0Ci00ODAgUihBU0hfQVJHQyktLjMgRSBGMChhbmQpMy43NzYgRSBGMSAtLjMoQkEpMy43NzYgRyhTSF9BUkdWKS4zIEUgRjAKLTEuMjc1KGFyZSB1cGRhdGVkIGFzIGRlc2NyaWJlZCBpbiB0aGVpciBkZXNjcmlwLSkzLjc3NiBGKHRpb25zIGFibykyMjAKLTQ5MiBRIC0uMTUodmUpLS4xNSBHKC4pLjE1IEUgRjEoNS4pMTg0IDUwNCBRIEYwIDEuMzU5Ci0oRnVuY3Rpb24gdHJhY2luZyBpcyBlbmFibGVkOikyOC41IEYgMS4zNTkKLShjb21tYW5kIHN1YnN0aXR1dGlvbiwgc2hlbGwgZnVuY3Rpb25zLCBhbmQgc3ViLSk2LjM1OSBGKHNoZWxscyBpbikyMjAKLTUxNiBRIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAyLjUoZHcpLjEgRyhpdGgpLTIuNSBFIEYxKFwoKTIuNSBFL0Y0IDEwCi0vVGltZXMtSXRhbGljQDAgU0YoY29tbWFuZCkyLjUgRSBGMShcKSkyLjUgRSBGMChpbmhlcml0IHRoZSkyLjUgRSBGMQotKERFQikyLjUgRShVRyktLjEgRSBGMChhbmQpMi41IEUgRjEoUkVUVVJOKTIuNSBFIEYwKHRyYXBzLikyLjUgRSBGMSg2LikKLTE4NCA1MjggUSBGMCAuODA1KEVycm9yIHRyYWNpbmcgaXMgZW5hYmxlZDopMjguNSBGIC44MDQKLShjb21tYW5kIHN1YnN0aXR1dGlvbiwgc2hlbGwgZnVuY3Rpb25zLCBhbmQgc3Vic2hlbGxzKTUuODA1IEYoaW4pMjIwIDU0MAotUSAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMi41KGR3KS4xIEcoaXRoKS0yLjUgRSBGMShcKCkyLjUgRSBGNAotKGNvbW1hbmQpMi41IEUgRjEoXCkpMi41IEUgRjAoaW5oZXJpdCB0aGUpMi41IEUgRjEoRVJSKTIuNSBFKE9SKS0uMyBFIEYwCi0odHJhcC4pMi41IEUgRjEoZXh0Z2xvYikxNDQgNTUyIFEgRjAgLjQoSWYgc2V0LCB0aGUgZSk4Ljg5IEYgLjQKLSh4dGVuZGVkIHBhdHRlcm4gbWF0Y2hpbmcgZmVhdHVyZXMgZGVzY3JpYmVkIGFibyktLjE1IEYgLjcgLS4xNSh2ZSB1KQotLS4xNSBIKG5kZXIpLjE1IEUgRjEgLS4xKFBhKTIuOSBHIC40KHRobmFtZSBFeHBhbi0pLjEgRihzaW9uKTE4NCA1NjQgUQotRjAoYXJlIGVuYWJsZWQuKTIuNSBFIEYxKGV4dHF1b3RlKTE0NCA1NzYgUSBGMCAyLjQ3MyhJZiBzZXQsKTE4NCA1ODggUgotRjEoJCk0Ljk3MyBFIEYwPDA4PkEgRjQoc3RyaW5nKUEgRjAgNC45NzM8MDg2MT5DKG5kKS00Ljk3MyBFIEYxKCQpNC45NzMKLUUgRjAoIilBIEY0KHN0cmluZylBIEYwIDQuOTczKCJxKUMgMi40NzModW90aW5nIGlzIHBlcmZvcm1lZCB3aXRoaW4pCi0tNC45NzMgRiBGMSgkeyk0Ljk3MyBFIEY0KHBhcilBKGFtZXRlciktLjE1IEUgRjEofSlBIEYwIC0uMTUoZXgpNC45NzMgRwotKHBhbnNpb25zKS4xNSBFKGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXMuKTE4NCA2MDAgUQotKFRoaXMgb3B0aW9uIGlzIGVuYWJsZWQgYnkgZGVmKTUgRShhdWx0LiktLjEgRSBGMShmYWlsZ2xvYikxNDQgNjEyIFEgRjAKLTEuNDI0KElmIHNldCwgcGF0dGVybnMgd2hpY2ggZik3Ljc3IEYgMS40MjUKLShhaWwgdG8gbWF0Y2ggXDIxNGxlbmFtZXMgZHVyaW5nIHBhdGhuYW1lIGUpLS4xIEYgMS40MjUKLSh4cGFuc2lvbiByZXN1bHQgaW4gYW4pLS4xNSBGIC0uMTUoZXgpMTg0IDYyNCBTKHBhbnNpb24gZXJyb3IpLjE1IEUoLikKLS0uNTUgRSBGMSAtLjI1KGZvKTE0NCA2MzYgUyAtLjE4KHJjKS4yNSBHKGVfXDIxNGdub3IpLjE4IEUoZSktLjE4IEUgRjAKLS41ODUoSWYgc2V0LCB0aGUgc3VmKTE4NCA2NDggUjw4Yzc4Pi0uMjUgRSAuNTg1KGVzIHNwZWNpXDIxNGVkIGJ5IHRoZSkKLS0uMTUgRiBGMShGSUdOT1JFKTMuMDg1IEUgRjAgLjU4NShzaGVsbCB2KTMuMDg1IEYgLjU4NShhcmlhYmxlIGNhdXNlIHcpCi0tLjI1IEYgLjU4NShvcmRzIHRvIGJlIGlnbm9yZWQpLS4xIEYgLjMyKHdoZW4gcGVyZm9ybWluZyB3KTE4NCA2NjAgUiAuMzIKLShvcmQgY29tcGxldGlvbiBlKS0uMSBGIC0uMTUodmUpLS4yNSBHIDIuODIobmkpLjE1IEcgMi44MihmdCktMi44MiBHIC4zMgotKGhlIGlnbm9yZWQgdyktMi44MiBGIC4zMihvcmRzIGFyZSB0aGUgb25seSBwb3NzaWJsZSBjb20tKS0uMSBGIDMuMzMKLShwbGV0aW9ucy4gU2VlKTE4NCA2NzIgUiBGMiAuODMoU0hFTEwgVikzLjMzIEYoQVJJQUJMRVMpLTEuMjE1IEUgRjAoYWJvKQotMy4wOCBFIDEuMTMgLS4xNSh2ZSBmKS0uMTUgSCAuODI5KG9yIGEgZGVzY3JpcHRpb24gb2YpLjE1IEYgRjEoRklHTk9SRSkKLTMuMzI5IEUgRjAgNS44MjkoLlQpQyAuODI5KGhpcyBvcHRpb24pLTUuODI5IEYoaXMgZW5hYmxlZCBieSBkZWYpMTg0IDY4NAotUShhdWx0LiktLjEgRSBGMShnbG9ic3RhcikxNDQgNjk2IFEgRjAgLjQzOShJZiBzZXQsIHRoZSBwYXR0ZXJuKTUgRiBGMQotKCoqKTIuOTM5IEUgRjAgLjQzOSh1c2VkIGluIGEgXDIxNGxlbmFtZSBlKTIuOTM5IEYgLjQzOSh4cGFuc2lvbiBjb250ZSkKLS0uMTUgRiAuNDQoeHQgd2lsbCBtYXRjaCBhIFwyMTRsZXMgYW5kIHplcm8gb3IpLS4xNSBGIDEuMjk4Ci0obW9yZSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMuKTE4NCA3MDggUiAxLjI5OAotKElmIHRoZSBwYXR0ZXJuIGlzIGZvbGxvKTYuMjk4IEYgMS4yOTgod2VkIGJ5IGEpLS4yNSBGIEYxKC8pMy43OTcgRSBGMAotMy43OTcoLG8pQyAxLjI5NyhubHkgZGlyZWN0b3JpZXMpLTMuNzk3IEYoYW5kIHN1YmRpcmVjdG9yaWVzIG1hdGNoLikxODQKLTcyMCBRKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA0IEFwciAyMCkxNDguNzM1IEUoMTYpMTk4LjcyNSBFIDAgQ2cgRVAKK0UgRjEoZXhlYykyLjUgRSBGMCAtLjEoZmEpMi41IEcoaWxzLikuMSBFIEYxKGV4cGFuZF9hbGlhc2VzKTE0NCA2NDQuNCBRCitGMCAuNzE2KElmIHNldCwgYWxpYXNlcyBhcmUgZSkxODQgNjU2LjQgUiAuNzE3KHhwYW5kZWQgYXMgZGVzY3JpYmVkIGFibykKKy0uMTUgRiAxLjAxNyAtLjE1KHZlIHUpLS4xNSBIKG5kZXIpLjE1IEUgRjMoQUxJQVNFUykzLjIxNyBFIEY0KC4pQSBGMAorLjcxNyhUaGlzIG9wdGlvbiBpcyBlbmFibGVkKTUuMjE3IEYoYnkgZGVmKTE4NCA2NjguNCBRCisoYXVsdCBmb3IgaW50ZXJhY3RpKS0uMSBFIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbHMuKS4xNSBFIEYxKGV4dGRlYikxNDQKKzY4MC40IFEodWcpLS4yIEUgRjAoSWYgc2V0LCBiZWhhKTE4NCA2OTIuNCBRCisodmlvciBpbnRlbmRlZCBmb3IgdXNlIGJ5IGRlYiktLjIgRSh1Z2dlcnMgaXMgZW5hYmxlZDopLS4yIEUgRjEoMS4pMTg0Cis3MDQuNCBRIEYwKFRoZSkyOC41IEUgRjE8YWQ0Nj40LjI1MSBFIEYwIDEuNzUxKG9wdGlvbiB0byB0aGUpNC4yNTEgRiBGMQorKGRlY2xhcik0LjI1MSBFKGUpLS4xOCBFIEYwIC0uMihidSk0LjI1MSBHIDEuNzUxCisoaWx0aW4gZGlzcGxheXMgdGhlIHNvdXJjZSBcMjE0bGUgbmFtZSBhbmQgbGluZSkuMiBGCisobnVtYmVyIGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBmdW5jdGlvbiBuYW1lIHN1cHBsaWVkIGFzIGFuIGFyKTIyMCA3MTYuNAorUShndW1lbnQuKS0uMTggRShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDE2KTE5OC43MjUKK0UgMCBDZyBFUAogJSVQYWdlOiAxNyAxNwogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMoU0hfQikuMzUgRShVSUwpLS4xIEUgMjkwLjQ4CiAoVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRS9GMSAxMAotL1RpbWVzLUJvbGRAMCBTRihnbnVfZXJyZm10KTE0NCA4NCBRIEYwKElmIHNldCwgc2hlbGwgZXJyb3IgbWVzc2FnZXMgYXJcCi1lIHdyaXR0ZW4gaW4gdGhlIHN0YW5kYXJkIEdOVSBlcnJvciBtZXNzYWdlIGZvcm1hdC4pMTg0IDk2IFEgRjEKLShoaXN0YXBwZW5kKTE0NCAxMDggUSBGMCAuMzgzCisvVGltZXMtQm9sZEAwIFNGKDIuKTE4NCA4NCBRIEYwIDEuNjY3KElmIHRoZSBjb21tYW5kIHJ1biBieSB0aGUpMjguNSBGCitGMShERUIpNC4xNjcgRShVRyktLjEgRSBGMCAxLjY2Nyh0cmFwIHJldHVybnMgYSBub24temVybyB2KTQuMTY3IEYgMS42NjcKKyhhbHVlLCB0aGUgbmUpLS4yNSBGKHh0KS0uMTUgRShjb21tYW5kIGlzIHNraXBwZWQgYW5kIG5vdCBlKTIyMCA5NiBRCistLjE1KHhlKS0uMTUgRyhjdXRlZC4pLjE1IEUgRjEoMy4pMTg0IDEwOCBRIEYwIC44NDEKKyhJZiB0aGUgY29tbWFuZCBydW4gYnkgdGhlKTI4LjUgRiBGMShERUIpMy4zNDEgRShVRyktLjEgRSBGMCAuODQxCisodHJhcCByZXR1cm5zIGEgdikzLjM0MSBGIC44NChhbHVlIG9mIDIsIGFuZCB0aGUgc2hlbGwgaXMpLS4yNSBGIC0uMTUKKyhleGUpMjIwIDEyMCBTIC40ODgKKyhjdXRpbmcgaW4gYSBzdWJyb3V0aW5lIFwoYSBzaGVsbCBmdW5jdGlvbiBvciBhIHNoZWxsIHNjcmlwdCBlKS4xNSBGCistLjE1KHhlKS0uMTUgRyAuNDg4KGN1dGVkIGJ5IHRoZSkuMTUgRiBGMSguKTIuOTg4IEUgRjAob3IpMi45ODggRSBGMQorKHNvdXIpMjIwIDEzMiBRKGNlKS0uMTggRSBGMCAtLjIoYnUpMi41IEcoaWx0aW5zXCksIGEgY2FsbCB0bykuMiBFIEYxCistLjE4KHJlKTIuNSBHKHR1cikuMTggRShuKS0uMTUgRSBGMChpcyBzaW11bGF0ZWQuKTIuNSBFIEYxKDQuKTE4NCAxNDQgUQorL0YyIDkvVGltZXMtQm9sZEAwIFNGIC0uMjcoQkEpMjguNSBHKFNIX0FSR0MpLjI3IEUgRjAoYW5kKTMuMTU0IEUgRjIKKy0uMjcoQkEpMy40MDQgRyhTSF9BUkdWKS4yNyBFIEYwIC45MDQKKyhhcmUgdXBkYXRlZCBhcyBkZXNjcmliZWQgaW4gdGhlaXIgZGVzY3JpcHRpb25zKTMuMTU0IEYoYWJvKTIyMCAxNTYgUQorLS4xNSh2ZSktLjE1IEcoLikuMTUgRSBGMSg1LikxODQgMTY4IFEgRjAgMS4zNTkKKyhGdW5jdGlvbiB0cmFjaW5nIGlzIGVuYWJsZWQ6KTI4LjUgRiAxLjM1OQorKGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBzaGVsbCBmdW5jdGlvbnMsIGFuZCBzdWItKTYuMzU5IEYoc2hlbGxzIGluKTIyMAorMTgwIFEgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuNShkdykuMSBHKGl0aCktMi41IEUgRjEoXCgpMi41IEUvRjMgMTAKKy9UaW1lcy1JdGFsaWNAMCBTRihjb21tYW5kKTIuNSBFIEYxKFwpKTIuNSBFIEYwKGluaGVyaXQgdGhlKTIuNSBFIEYxCisoREVCKTIuNSBFKFVHKS0uMSBFIEYwKGFuZCkyLjUgRSBGMShSRVRVUk4pMi41IEUgRjAodHJhcHMuKTIuNSBFIEYxKDYuKQorMTg0IDE5MiBRIEYwIC44MDUoRXJyb3IgdHJhY2luZyBpcyBlbmFibGVkOikyOC41IEYgLjgwNAorKGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBzaGVsbCBmdW5jdGlvbnMsIGFuZCBzdWJzaGVsbHMpNS44MDUgRihpbikyMjAgMjA0CitRIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAyLjUoZHcpLjEgRyhpdGgpLTIuNSBFIEYxKFwoKTIuNSBFIEYzCisoY29tbWFuZCkyLjUgRSBGMShcKSkyLjUgRSBGMChpbmhlcml0IHRoZSkyLjUgRSBGMShFUlIpMi41IEUoT1IpLS4zIEUgRjAKKyh0cmFwLikyLjUgRSBGMShleHRnbG9iKTE0NCAyMTYgUSBGMCAuNChJZiBzZXQsIHRoZSBlKTguODkgRiAuNAorKHh0ZW5kZWQgcGF0dGVybiBtYXRjaGluZyBmZWF0dXJlcyBkZXNjcmliZWQgYWJvKS0uMTUgRiAuNyAtLjE1KHZlIHUpCistLjE1IEgobmRlcikuMTUgRSBGMSAtLjEoUGEpMi45IEcgLjQodGhuYW1lIEV4cGFuLSkuMSBGKHNpb24pMTg0IDIyOCBRCitGMChhcmUgZW5hYmxlZC4pMi41IEUgRjEoZXh0cXVvdGUpMTQ0IDI0MCBRIEYwIDIuNDczKElmIHNldCwpMTg0IDI1MiBSCitGMSgkKTQuOTczIEUgRjA8MDg+QSBGMyhzdHJpbmcpQSBGMCA0Ljk3MzwwODYxPkMobmQpLTQuOTczIEUgRjEoJCk0Ljk3MworRSBGMCgiKUEgRjMoc3RyaW5nKUEgRjAgNC45NzMoInEpQyAyLjQ3Myh1b3RpbmcgaXMgcGVyZm9ybWVkIHdpdGhpbikKKy00Ljk3MyBGIEYxKCR7KTQuOTczIEUgRjMocGFyKUEoYW1ldGVyKS0uMTUgRSBGMSh9KUEgRjAgLS4xNShleCk0Ljk3MyBHCisocGFuc2lvbnMpLjE1IEUoZW5jbG9zZWQgaW4gZG91YmxlIHF1b3Rlcy4pMTg0IDI2NCBRCisoVGhpcyBvcHRpb24gaXMgZW5hYmxlZCBieSBkZWYpNSBFKGF1bHQuKS0uMSBFIEYxKGZhaWxnbG9iKTE0NCAyNzYgUSBGMAorMS40MjQoSWYgc2V0LCBwYXR0ZXJucyB3aGljaCBmKTcuNzcgRiAxLjQyNQorKGFpbCB0byBtYXRjaCBcMjE0bGVuYW1lcyBkdXJpbmcgcGF0aG5hbWUgZSktLjEgRiAxLjQyNQorKHhwYW5zaW9uIHJlc3VsdCBpbiBhbiktLjE1IEYgLS4xNShleCkxODQgMjg4IFMocGFuc2lvbiBlcnJvcikuMTUgRSguKQorLS41NSBFIEYxIC0uMjUoZm8pMTQ0IDMwMCBTIC0uMTgocmMpLjI1IEcoZV9cMjE0Z25vcikuMTggRShlKS0uMTggRSBGMAorLjkzNyhJZiBzZXQsIHRoZSBzdWYpMTg0IDMxMiBSPDhjNzg+LS4yNSBFIC45MzYoZXMgc3BlY2lcMjE0ZWQgYnkgdGhlKQorLS4xNSBGIEYyKEZJR05PUkUpMy40MzYgRSBGMCAuOTM2KHNoZWxsIHYpMy4xODYgRiAuOTM2KGFyaWFibGUgY2F1c2UgdykKKy0uMjUgRiAuOTM2KG9yZHMgdG8gYmUgaWdub3JlZCktLjEgRiAuMzIod2hlbiBwZXJmb3JtaW5nIHcpMTg0IDMyNCBSIC4zMgorKG9yZCBjb21wbGV0aW9uIGUpLS4xIEYgLS4xNSh2ZSktLjI1IEcgMi44MihuaSkuMTUgRyAyLjgyKGZ0KS0yLjgyIEcgLjMyCisoaGUgaWdub3JlZCB3KS0yLjgyIEYgLjMyKG9yZHMgYXJlIHRoZSBvbmx5IHBvc3NpYmxlIGNvbS0pLS4xIEYgMi45NDgKKyhwbGV0aW9ucy4gU2VlKTE4NCAzMzYgUiBGMiAuNDQ4KFNIRUxMIFYpMi45NDggRihBUklBQkxFUyktMS4yMTUgRSBGMAorKGFibykyLjY5OCBFIC43NDggLS4xNSh2ZSBmKS0uMTUgSCAuNDQ4KG9yIGEgZGVzY3JpcHRpb24gb2YpLjE1IEYgRjIKKyhGSUdOT1JFKTIuOTQ3IEUvRjQgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMCAuNDQ3KFRoaXMgb3B0aW9uIGlzKTQuOTQ3CitGKGVuYWJsZWQgYnkgZGVmKTE4NCAzNDggUShhdWx0LiktLjEgRSBGMShnbG9ic3RhcikxNDQgMzYwIFEgRjAgLjE3OAorKElmIHNldCwgdGhlIHBhdHRlcm4pNSBGIEYxKCoqKTIuNjc4IEUgRjAgLjE3OCh1c2VkIGluIGEgcGF0aG5hbWUgZSkKKzIuNjc4IEYgLjE3OCh4cGFuc2lvbiBjb250ZSktLjE1IEYgLjE3OQorKHh0IHdpbGwgbWF0Y2ggYSBcMjE0bGVzIGFuZCB6ZXJvIG9yKS0uMTUgRiAxLjI5OAorKG1vcmUgZGlyZWN0b3JpZXMgYW5kIHN1YmRpcmVjdG9yaWVzLikxODQgMzcyIFIgMS4yOTgKKyhJZiB0aGUgcGF0dGVybiBpcyBmb2xsbyk2LjI5OCBGIDEuMjk4KHdlZCBieSBhKS0uMjUgRiBGMSgvKTMuNzk3IEUgRjAKKzMuNzk3KCxvKUMgMS4yOTcobmx5IGRpcmVjdG9yaWVzKS0zLjc5NyBGKGFuZCBzdWJkaXJlY3RvcmllcyBtYXRjaC4pMTg0CiszODQgUSBGMShnbnVfZXJyZm10KTE0NCAzOTYgUSBGMChJZiBzZXQsIHNoZWxsIGVycm9yIG1lc3NhZ2VzIGFyZSB3cml0dFwKK2VuIGluIHRoZSBzdGFuZGFyZCBHTlUgZXJyb3IgbWVzc2FnZSBmb3JtYXQuKTE4NCA0MDggUSBGMShoaXN0YXBwZW5kKTE0NAorNDIwIFEgRjAgLjY3NgogKElmIHNldCwgdGhlIGhpc3RvcnkgbGlzdCBpcyBhcHBlbmRlZCB0byB0aGUgXDIxNGxlIG5hbWVkIGJ5IHRoZSB2KTE4NAotMTIwIFIgLjM4NChhbHVlIG9mIHRoZSktLjI1IEYgRjEoSElTVEZJTEUpMi44ODQgRSBGMCAtLjI1KHZhKTIuODg0IEcKLShyaS0pLjI1IEUoYWJsZSB3aGVuIHRoZSBzaGVsbCBlKTE4NCAxMzIgUSh4aXRzLCByYXRoZXIgdGhhbiBvKS0uMTUgRQotLS4xNSh2ZSktLjE1IEcocndyaXRpbmcgdGhlIFwyMTRsZS4pLjE1IEUgRjEoaGlzdHIpMTQ0IDE0NCBRKGVlZGl0KS0uMTgKLUUgRjAgLjU3NihJZiBzZXQsIGFuZCkxODQgMTU2IFIgRjEgLS4xOChyZSkzLjA3NiBHKGFkbGluZSkuMTggRSBGMCAuNTc1Cis0MzIgUiAuNjc2KGFsdWUgb2YgdGhlKS0uMjUgRiBGMihISVNURklMRSkzLjE3NyBFIEYwIC0uMjUodmEpMi45MjcgRworKHJpLSkuMjUgRShhYmxlIHdoZW4gdGhlIHNoZWxsIGUpMTg0IDQ0NCBRKHhpdHMsIHJhdGhlciB0aGFuIG8pLS4xNSBFCistLjE1KHZlKS0uMTUgRyhyd3JpdGluZyB0aGUgXDIxNGxlLikuMTUgRSBGMShoaXN0cikxNDQgNDU2IFEoZWVkaXQpLS4xOAorRSBGMCAuNTc2KElmIHNldCwgYW5kKTE4NCA0NjggUiBGMSAtLjE4KHJlKTMuMDc2IEcoYWRsaW5lKS4xOCBFIEYwIC41NzUKIChpcyBiZWluZyB1c2VkLCBhIHVzZXIgaXMgZ2kpMy4wNzYgRiAtLjE1KHZlKS0uMjUgRyAzLjA3NShudCkuMTUgRyAuNTc1CiAoaGUgb3Bwb3J0dW5pdHkgdG8gcmUtZWRpdCBhIGYpLTMuMDc1IEYgLjU3NShhaWxlZCBoaXMtKS0uMSBGCi0odG9yeSBzdWJzdGl0dXRpb24uKTE4NCAxNjggUSBGMShoaXN0dikxNDQgMTgwIFEoZXJpZnkpLS4xIEUgRjAgLjQwMgotKElmIHNldCwgYW5kKTE4NCAxOTIgUiBGMSAtLjE4KHJlKTIuOTAzIEcoYWRsaW5lKS4xOCBFIEYwIC40MDMKKyh0b3J5IHN1YnN0aXR1dGlvbi4pMTg0IDQ4MCBRIEYxKGhpc3R2KTE0NCA0OTIgUShlcmlmeSktLjEgRSBGMCAuNDAyCisoSWYgc2V0LCBhbmQpMTg0IDUwNCBSIEYxIC0uMTgocmUpMi45MDMgRyhhZGxpbmUpLjE4IEUgRjAgLjQwMwogKGlzIGJlaW5nIHVzZWQsIHRoZSByZXN1bHRzIG9mIGhpc3Rvcnkgc3Vic3RpdHV0aW9uIGFyZSBub3QgaW1tZWRpYXRlbHkpCi0yLjkwMyBGIC42NjIocGFzc2VkIHRvIHRoZSBzaGVsbCBwYXJzZXIpMTg0IDIwNCBSIDUuNjYyKC5JKS0uNTUgRyAuNjYxCisyLjkwMyBGIC42NjIocGFzc2VkIHRvIHRoZSBzaGVsbCBwYXJzZXIpMTg0IDUxNiBSIDUuNjYyKC5JKS0uNTUgRyAuNjYxCiAobnN0ZWFkLCB0aGUgcmVzdWx0aW5nIGxpbmUgaXMgbG9hZGVkIGludG8gdGhlKS01LjY2MiBGIEYxIC0uMTgocmUpMy4xNjEKLUcoYWRsaW5lKS4xOCBFIEYwKGVkaXRpbmcpMy4xNjEgRSAtLjIoYnUpMTg0IDIxNiBTIC0uMjUoZmYpLjIgRyhlcikuMjUgRQorRyhhZGxpbmUpLjE4IEUgRjAoZWRpdGluZykzLjE2MSBFIC0uMihidSkxODQgNTI4IFMgLS4yNShmZikuMiBHKGVyKS4yNSBFCiAyLjUoLGEpLS40IEcobGxvKS0yLjUgRSh3aW5nIGZ1cnRoZXIgbW9kaVwyMTRjYXRpb24uKS0uMjUgRSBGMQotKGhvc3Rjb21wbGV0ZSkxNDQgMjI4IFEgRjAgMS4xODEoSWYgc2V0LCBhbmQpMTg0IDI0MCBSIEYxIC0uMTgocmUpMy42ODEKKyhob3N0Y29tcGxldGUpMTQ0IDU0MCBRIEYwIDEuMTgxKElmIHNldCwgYW5kKTE4NCA1NTIgUiBGMSAtLjE4KHJlKTMuNjgxCiBHKGFkbGluZSkuMTggRSBGMCAxLjE4MShpcyBiZWluZyB1c2VkLCkzLjY4MSBGIEYxKGJhc2gpMy42ODIgRSBGMCAxLjE4MgogKHdpbGwgYXR0ZW1wdCB0byBwZXJmb3JtIGhvc3RuYW1lIGNvbXBsZXRpb24pMy42ODIgRiAxLjM4MSh3aGVuIGEgdykxODQKLTI1MiBSIDEuMzgxKG9yZCBjb250YWluaW5nIGEpLS4xIEYgRjEoQCkzLjg4MSBFIEYwIDEuMzgxCis1NjQgUiAxLjM4MShvcmQgY29udGFpbmluZyBhKS0uMSBGIEYxKEApMy44ODEgRSBGMCAxLjM4MQogKGlzIGJlaW5nIGNvbXBsZXRlZCBcKHNlZSkzLjg4MSBGIEYxKENvbXBsZXRpbmcpMy44OCBFIEYwKHVuZGVyKTMuODggRQotL0YyIDkvVGltZXMtQm9sZEAwIFNGKFJFQURMSU5FKTMuODggRSBGMChhYm8pMTg0IDI2NCBRIC0uMTUodmUpLS4xNSBHCi0yLjUoXCkuIFRoaXMpLjE1IEYoaXMgZW5hYmxlZCBieSBkZWYpMi41IEUoYXVsdC4pLS4xIEUgRjEoaHVwb25leGl0KTE0NAotMjc2IFEgRjAoSWYgc2V0LCkxODQgMjg4IFEgRjEoYmFzaCkyLjUgRSBGMCh3aWxsIHNlbmQpMi41IEUgRjIoU0lHSFVQKQotMi41IEUgRjAodG8gYWxsIGpvYnMgd2hlbiBhbiBpbnRlcmFjdGkpMi4yNSBFIC4zIC0uMTUodmUgbCktLjI1IEgKLShvZ2luIHNoZWxsIGUpLjE1IEUoeGl0cy4pLS4xNSBFIEYxKGludGVyYWN0aSkxNDQgMzAwIFEgLS4xKHZlKS0uMSBHCi0oX2NvbW1lbnRzKS4xIEUgRjAgLjMzKElmIHNldCwgYWxsbykxODQgMzEyIFIgMi44Myh3YXcpLS4yNSBHIC4zMwotKG9yZCBiZSktMi45MyBGIC4zMyhnaW5uaW5nIHdpdGgpLS4xNSBGIEYxKCMpMi44MyBFIEYwIC4zMwotKHRvIGNhdXNlIHRoYXQgdykyLjgzIEYgLjMzKG9yZCBhbmQgYWxsIHJlbWFpbmluZyBjaGFyYWN0ZXJzIG9uKS0uMSBGCi0uOTY3KHRoYXQgbGluZSB0byBiZSBpZ25vcmVkIGluIGFuIGludGVyYWN0aSkxODQgMzI0IFIgMS4yNjcgLS4xNSh2ZSBzKQotLS4yNSBIIC45NjcoaGVsbCBcKHNlZSkuMTUgRiBGMihDT01NRU5UUykzLjQ2NyBFIEYwKGFibykzLjIxNyBFIC0uMTUodmUpCi0tLjE1IEcgMy40NjcoXCkuIFRoaXMpLjE1IEYgLjk2NyhvcHRpb24gaXMpMy40NjcgRihlbmFibGVkIGJ5IGRlZikxODQKLTMzNiBRKGF1bHQuKS0uMSBFIEYxKGxpdGhpc3QpMTQ0IDM0OCBRIEYwIC42NTQoSWYgc2V0LCBhbmQgdGhlKTE1LjU1IEYKLUYxKGNtZGhpc3QpMy4xNTQgRSBGMCAuNjU0Ci0ob3B0aW9uIGlzIGVuYWJsZWQsIG11bHRpLWxpbmUgY29tbWFuZHMgYXJlIHNhKTMuMTU0IEYgLS4xNSh2ZSktLjIgRwotMy4xNTUoZHQpLjE1IEcgMy4xNTUob3QpLTMuMTU1IEcgLjY1NShoZSBoaXN0b3J5KS0zLjE1NSBGCi0od2l0aCBlbWJlZGRlZCBuZSkxODQgMzYwIFEKK0YyKFJFQURMSU5FKTMuODggRSBGMChhYm8pMTg0IDU3NiBRIC0uMTUodmUpLS4xNSBHIDIuNShcKS4gVGhpcykuMTUgRgorKGlzIGVuYWJsZWQgYnkgZGVmKTIuNSBFKGF1bHQuKS0uMSBFIEYxKGh1cG9uZXhpdCkxNDQgNTg4IFEgRjAoSWYgc2V0LCkKKzE4NCA2MDAgUSBGMShiYXNoKTIuNSBFIEYwKHdpbGwgc2VuZCkyLjUgRSBGMihTSUdIVVApMi41IEUgRjAKKyh0byBhbGwgam9icyB3aGVuIGFuIGludGVyYWN0aSkyLjI1IEUgLjMgLS4xNSh2ZSBsKS0uMjUgSChvZ2luIHNoZWxsIGUpCisuMTUgRSh4aXRzLiktLjE1IEUgRjEoaW50ZXJhY3RpKTE0NCA2MTIgUSAtLjEodmUpLS4xIEcoX2NvbW1lbnRzKS4xIEUgRjAKKy4zMyhJZiBzZXQsIGFsbG8pMTg0IDYyNCBSIDIuODMod2F3KS0uMjUgRyAuMzMob3JkIGJlKS0yLjkzIEYgLjMzCisoZ2lubmluZyB3aXRoKS0uMTUgRiBGMSgjKTIuODMgRSBGMCAuMzModG8gY2F1c2UgdGhhdCB3KTIuODMgRiAuMzMKKyhvcmQgYW5kIGFsbCByZW1haW5pbmcgY2hhcmFjdGVycyBvbiktLjEgRiAuOTY3CisodGhhdCBsaW5lIHRvIGJlIGlnbm9yZWQgaW4gYW4gaW50ZXJhY3RpKTE4NCA2MzYgUiAxLjI2NyAtLjE1KHZlIHMpLS4yNQorSCAuOTY3KGhlbGwgXChzZWUpLjE1IEYgRjIoQ09NTUVOVFMpMy40NjcgRSBGMChhYm8pMy4yMTcgRSAtLjE1KHZlKS0uMTUKK0cgMy40NjcoXCkuIFRoaXMpLjE1IEYgLjk2NyhvcHRpb24gaXMpMy40NjcgRihlbmFibGVkIGJ5IGRlZikxODQgNjQ4IFEKKyhhdWx0LiktLjEgRSBGMShsaXRoaXN0KTE0NCA2NjAgUSBGMCAuNjU0KElmIHNldCwgYW5kIHRoZSkxNS41NSBGIEYxCisoY21kaGlzdCkzLjE1NCBFIEYwIC42NTQob3B0aW9uIGlzIGVuYWJsZWQsIG11bHRpLWxpbmUgY29tbWFuZHMgYXJlIHNhKQorMy4xNTQgRiAtLjE1KHZlKS0uMiBHIDMuMTU1KGR0KS4xNSBHIDMuMTU1KG90KS0zLjE1NSBHIC42NTUoaGUgaGlzdG9yeSkKKy0zLjE1NSBGKHdpdGggZW1iZWRkZWQgbmUpMTg0IDY3MiBRCiAod2xpbmVzIHJhdGhlciB0aGFuIHVzaW5nIHNlbWljb2xvbiBzZXBhcmF0b3JzIHdoZXJlIHBvc3NpYmxlLiktLjI1IEUgRjEKLShsb2dpbl9zaGVsbCkxNDQgMzcyIFEgRjAgLjQ4NgorKGxvZ2luX3NoZWxsKTE0NCA2ODQgUSBGMCAuNDg2CiAoVGhlIHNoZWxsIHNldHMgdGhpcyBvcHRpb24gaWYgaXQgaXMgc3RhcnRlZCBhcyBhIGxvZ2luIHNoZWxsIFwoc2VlKTE4NAotMzg0IFIgRjIoSU5WKTIuOTg2IEUoT0NBKS0uNDA1IEUoVElPTiktLjg1NSBFIEYwKGFibykyLjczNiBFIC0uMTUodmUpCi0tLjE1IEcgMi45ODYoXCkuIFRoZSkuMTUgRiAtLjI1KHZhKTE4NCAzOTYgUyhsdWUgbWF5IG5vdCBiZSBjaGFuZ2VkLikuMjUKLUUgRjEobWFpbHdhcikxNDQgNDA4IFEobiktLjE1IEUgRjAgLjgxNChJZiBzZXQsIGFuZCBhIFwyMTRsZSB0aGF0KTE4NAotNDIwIFIgRjEoYmFzaCkzLjMxNCBFIEYwIC44MTUKLShpcyBjaGVja2luZyBmb3IgbWFpbCBoYXMgYmVlbiBhY2Nlc3NlZCBzaW5jZSB0aGUgbGFzdCB0aW1lIGl0KTMuMzE0IEYKLS0uMSh3YSkxODQgNDMyIFMgMi41KHNjKS4xIEcoaGVjayktMi41IEUoZWQsIHRoZSBtZXNzYWdlIGApLS4xIEUKLShgVGhlIG1haWwgaW4pLS43NCBFL0YzIDEwL1RpbWVzLUl0YWxpY0AwIFNGKG1haWxcMjE0bGUpMi41IEUgRjAKLShoYXMgYmVlbiByZWFkJykyLjUgRSAyLjUoJ2kpLS43NCBHIDIuNShzZCktMi41IEcoaXNwbGF5ZWQuKS0yLjUgRSBGMQotKG5vX2VtcHR5X2NtZF9jb21wbGV0aW9uKTE0NCA0NDQgUSBGMCAuMTQ2KElmIHNldCwgYW5kKTE4NCA0NTYgUiBGMSAtLjE4Ci0ocmUpMi42NDYgRyhhZGxpbmUpLjE4IEUgRjAgLjE0NihpcyBiZWluZyB1c2VkLCkyLjY0NiBGIEYxKGJhc2gpMi42NDYgRQotRjAgLjE0NSh3aWxsIG5vdCBhdHRlbXB0IHRvIHNlYXJjaCB0aGUpMi42NDYgRiBGMSAtLjc0KFBBKTIuNjQ1IEcoVEgpCi0tLjIxIEUgRjAgLjE0NShmb3IgcG9zc2libGUpMi42NDUgRgotKGNvbXBsZXRpb25zIHdoZW4gY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQgb24gYW4gZW1wdHkgbGluZS4pMTg0IDQ2OCBRIEYxCi0obm9jYXNlZ2xvYikxNDQgNDgwIFEgRjAgLjQzNihJZiBzZXQsKTE4NCA0OTIgUiBGMShiYXNoKTIuOTM2IEUgRjAgLjQzNgotKG1hdGNoZXMgXDIxNGxlbmFtZXMgaW4gYSBjYXNlXDI1NWluc2Vuc2l0aSkyLjkzNiBGIC43MzcgLS4xNSh2ZSBmKS0uMjUKLUggLjQzNyhhc2hpb24gd2hlbiBwZXJmb3JtaW5nIHBhdGhuYW1lKS4wNSBGIC0uMTUoZXgpMTg0IDUwNCBTCi0ocGFuc2lvbiBcKHNlZSkuMTUgRSBGMSAtLjEoUGEpMi41IEcodGhuYW1lIEV4cGFuc2lvbikuMSBFIEYwKGFibykyLjUgRQotLS4xNSh2ZSktLjE1IEcoXCkuKS4xNSBFIEYxKG5vY2FzZW1hdGNoKTE0NCA1MTYgUSBGMCAxLjE5NChJZiBzZXQsKTE4NAotNTI4IFIgRjEoYmFzaCkzLjY5NCBFIEYwIDEuMTk0KG1hdGNoZXMgcGF0dGVybnMgaW4gYSBjYXNlXDI1NWluc2Vuc2l0aSkKLTMuNjk0IEYgMS40OTMgLS4xNSh2ZSBmKS0uMjUgSCAxLjE5Myhhc2hpb24gd2hlbiBwZXJmb3JtaW5nIG1hdGNoaW5nKS4wNQotRih3aGlsZSBlKTE4NCA1NDAgUSAtLjE1KHhlKS0uMTUgRyhjdXRpbmcpLjE1IEUgRjEoY2FzZSkyLjUgRSBGMChvcikyLjUKLUUgRjEoW1spMi41IEUgRjAoY29uZGl0aW9uYWwgY29tbWFuZHMuKTIuNSBFIEYxKG51bGxnbG9iKTE0NCA1NTIgUSBGMAotLjg1NChJZiBzZXQsKTE4NCA1NjQgUiBGMShiYXNoKTMuMzU0IEUgRjAoYWxsbykzLjM1NCBFIC44NTUKLSh3cyBwYXR0ZXJucyB3aGljaCBtYXRjaCBubyBcMjE0bGVzIFwoc2VlKS0uMjUgRiBGMSAtLjEoUGEpMy4zNTUgRyAuODU1Ci0odGhuYW1lIEV4cGFuc2lvbikuMSBGIEYwKGFibykzLjM1NSBFIC0uMTUodmUpLS4xNSBHIDMuMzU1KFwpdCkuMTUgRyhvKQotLTMuMzU1IEUgLS4xNShleCkxODQgNTc2IFMocGFuZCB0byBhIG51bGwgc3RyaW5nLCByYXRoZXIgdGhhbiB0aGVtc2VsdikKLS4xNSBFKGVzLiktLjE1IEUgRjEocHIpMTQ0IDU4OCBRKG9nY29tcCktLjE4IEUgRjAgLjY3NwotKElmIHNldCwgdGhlIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGYpMTg0IDYwMCBSIC42NzcoYWNpbGl0aWVzIFwoc2VlKQotLS4xIEYgRjEoUHIpMy4xNzYgRSAuNjc2KG9ncmFtbWFibGUgQ29tcGxldGlvbiktLjE4IEYgRjAoYWJvKTMuMTc2IEUKLS0uMTUodmUpLS4xNSBHKFwpKS4xNSBFKGFyZSBlbmFibGVkLikxODQgNjEyIFEKLShUaGlzIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZik1IEUoYXVsdC4pLS4xIEUgRjEocHIpMTQ0IDYyNCBRKG9tcHR2KQotLS4xOCBFKGFycyktLjEgRSBGMCAxLjQ0NyhJZiBzZXQsIHByb21wdCBzdHJpbmdzIHVuZGVyKTE4NCA2MzYgUiAxLjQ0OAotKGdvIHBhcmFtZXRlciBlKS0uMTggRiAxLjQ0OCh4cGFuc2lvbiwgY29tbWFuZCBzdWJzdGl0dXRpb24sIGFyaXRobWV0aWMpCi0tLjE1IEYgLS4xNShleCkxODQgNjQ4IFMgLjE3MShwYW5zaW9uLCBhbmQgcXVvdGUgcmVtbykuMTUgRiAtLjI1KHZhKS0uMTUKLUcgMi42NyhsYSkuMjUgRyAuMTcoZnRlciBiZWluZyBlKS0yLjY3IEYgLjE3KHhwYW5kZWQgYXMgZGVzY3JpYmVkIGluKQotLS4xNSBGIEYyKFBSKTIuNjcgRShPTVBUSU5HKS0uMjcgRSBGMChhYm8pMi40MiBFIC0uMTUodmUpLS4xNSBHKC4pLjE1IEUKLShUaGlzIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZikxODQgNjYwIFEoYXVsdC4pLS4xIEUgRjEgLS4xOChyZSkxNDQgNjcyCi1TKHN0cmljdGVkX3NoZWxsKS4xOCBFIEYwIDEuMDY5Ci0oVGhlIHNoZWxsIHNldHMgdGhpcyBvcHRpb24gaWYgaXQgaXMgc3RhcnRlZCBpbiByZXN0cmljdGVkIG1vZGUgXChzZWUpCi0xODQgNjg0IFIgRjIgMS4wNjkoUkVTVFJJQ1RFRCBTSEVMTCkzLjU2OSBGIEYwKGJlbG8pMTg0IDY5NiBRIDQuMTc4Ci0od1wpLiBUaGUpLS4yNSBGIC0uMjUodmEpNC4xNzggRyAxLjY3OChsdWUgbWF5IG5vdCBiZSBjaGFuZ2VkLikuMjUgRgotMS42NzgoVGhpcyBpcyBub3QgcmVzZXQgd2hlbiB0aGUgc3RhcnR1cCBcMjE0bGVzIGFyZSk2LjY3OCBGIC0uMTUoZXhlKQotMTg0IDcwOCBTKGN1dGVkLCBhbGxvKS4xNSBFKHdpbmcgdGhlIHN0YXJ0dXAgXDIxNGxlcyB0byBkaXNjbyktLjI1IEUKLS0uMTUodmUpLS4xNSBHIDIuNShydykuMTUgRyhoZXRoZXIgb3Igbm90IGEgc2hlbGwgaXMgcmVzdHJpY3RlZC4pLTIuNSBFCi0oR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSgxNykxOTguNzI1IEUgMCBDZyBFUAorNjk2IFIgRjIoSU5WKTIuOTg2IEUoT0NBKS0uNDA1IEUoVElPTiktLjg1NSBFIEYwKGFibykyLjczNiBFIC0uMTUodmUpCistLjE1IEcgMi45ODYoXCkuIFRoZSkuMTUgRiAtLjI1KHZhKTE4NCA3MDggUyhsdWUgbWF5IG5vdCBiZSBjaGFuZ2VkLikuMjUKK0UoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSgxNykxOTguNzI1IEUgMCBDZyBFUAogJSVQYWdlOiAxOCAxOAogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMoU0hfQikuMzUgRShVSUwpLS4xIEUgMjkwLjQ4CiAoVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRS9GMSAxMAotL1RpbWVzLUJvbGRAMCBTRihzaGlmdF92KTE0NCA4NCBRKGVyYm9zZSktLjEgRSBGMCAuNTAxKElmIHNldCwgdGhlKTE4NAotOTYgUiBGMShzaGlmdCkzLjAwMSBFIEYwIC0uMihidSkzLjAwMSBHIC41MDEKKy9UaW1lcy1Cb2xkQDAgU0YobWFpbHdhcikxNDQgODQgUShuKS0uMTUgRSBGMCAuODE0CisoSWYgc2V0LCBhbmQgYSBcMjE0bGUgdGhhdCkxODQgOTYgUiBGMShiYXNoKTMuMzE0IEUgRjAgLjgxNQorKGlzIGNoZWNraW5nIGZvciBtYWlsIGhhcyBiZWVuIGFjY2Vzc2VkIHNpbmNlIHRoZSBsYXN0IHRpbWUgaXQpMy4zMTQgRgorLS4xKHdhKTE4NCAxMDggUyAyLjUoc2MpLjEgRyhoZWNrKS0yLjUgRShlZCwgdGhlIG1lc3NhZ2UgYCktLjEgRQorKGBUaGUgbWFpbCBpbiktLjc0IEUvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YobWFpbFwyMTRsZSkyLjUgRSBGMAorKGhhcyBiZWVuIHJlYWQnKTIuNSBFIDIuNSgnaSktLjc0IEcgMi41KHNkKS0yLjUgRyhpc3BsYXllZC4pLTIuNSBFIEYxCisobm9fZW1wdHlfY21kX2NvbXBsZXRpb24pMTQ0IDEyMCBRIEYwIC4zMjUoSWYgc2V0LCBhbmQpMTg0IDEzMiBSIEYxIC0uMTgKKyhyZSkyLjgyNSBHKGFkbGluZSkuMTggRSBGMCAuMzI1KGlzIGJlaW5nIHVzZWQsKTIuODI1IEYgRjEoYmFzaCkyLjgyNCBFCitGMCAuMzI0KHdpbGwgbm90IGF0dGVtcHQgdG8gc2VhcmNoIHRoZSkyLjgyNCBGL0YzIDkvVGltZXMtQm9sZEAwIFNGCistLjY2NihQQSkyLjgyNCBHKFRIKS0uMTg5IEUgRjAgLjMyNChmb3IgcG9zc2libGUpMi41NzQgRgorKGNvbXBsZXRpb25zIHdoZW4gY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQgb24gYW4gZW1wdHkgbGluZS4pMTg0IDE0NCBRIEYxCisobm9jYXNlZ2xvYikxNDQgMTU2IFEgRjAgLjQzNihJZiBzZXQsKTE4NCAxNjggUiBGMShiYXNoKTIuOTM2IEUgRjAgLjQzNgorKG1hdGNoZXMgXDIxNGxlbmFtZXMgaW4gYSBjYXNlXDI1NWluc2Vuc2l0aSkyLjkzNiBGIC43MzcgLS4xNSh2ZSBmKS0uMjUKK0ggLjQzNyhhc2hpb24gd2hlbiBwZXJmb3JtaW5nIHBhdGhuYW1lKS4wNSBGIC0uMTUoZXgpMTg0IDE4MCBTCisocGFuc2lvbiBcKHNlZSkuMTUgRSBGMSAtLjEoUGEpMi41IEcodGhuYW1lIEV4cGFuc2lvbikuMSBFIEYwKGFibykyLjUgRQorLS4xNSh2ZSktLjE1IEcoXCkuKS4xNSBFIEYxKG5vY2FzZW1hdGNoKTE0NCAxOTIgUSBGMCAxLjE5NChJZiBzZXQsKTE4NAorMjA0IFIgRjEoYmFzaCkzLjY5NCBFIEYwIDEuMTk0KG1hdGNoZXMgcGF0dGVybnMgaW4gYSBjYXNlXDI1NWluc2Vuc2l0aSkKKzMuNjk0IEYgMS40OTMgLS4xNSh2ZSBmKS0uMjUgSCAxLjE5Myhhc2hpb24gd2hlbiBwZXJmb3JtaW5nIG1hdGNoaW5nKS4wNQorRih3aGlsZSBlKTE4NCAyMTYgUSAtLjE1KHhlKS0uMTUgRyhjdXRpbmcpLjE1IEUgRjEoY2FzZSkyLjUgRSBGMChvcikyLjUKK0UgRjEoW1spMi41IEUgRjAoY29uZGl0aW9uYWwgY29tbWFuZHMuKTIuNSBFIEYxKG51bGxnbG9iKTE0NCAyMjggUSBGMAorLjg1NChJZiBzZXQsKTE4NCAyNDAgUiBGMShiYXNoKTMuMzU0IEUgRjAoYWxsbykzLjM1NCBFIC44NTUKKyh3cyBwYXR0ZXJucyB3aGljaCBtYXRjaCBubyBcMjE0bGVzIFwoc2VlKS0uMjUgRiBGMSAtLjEoUGEpMy4zNTUgRyAuODU1CisodGhuYW1lIEV4cGFuc2lvbikuMSBGIEYwKGFibykzLjM1NSBFIC0uMTUodmUpLS4xNSBHIDMuMzU1KFwpdCkuMTUgRyhvKQorLTMuMzU1IEUgLS4xNShleCkxODQgMjUyIFMocGFuZCB0byBhIG51bGwgc3RyaW5nLCByYXRoZXIgdGhhbiB0aGVtc2VsdikKKy4xNSBFKGVzLiktLjE1IEUgRjEocHIpMTQ0IDI2NCBRKG9nY29tcCktLjE4IEUgRjAgLjY3NworKElmIHNldCwgdGhlIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGYpMTg0IDI3NiBSIC42NzcoYWNpbGl0aWVzIFwoc2VlKQorLS4xIEYgRjEoUHIpMy4xNzYgRSAuNjc2KG9ncmFtbWFibGUgQ29tcGxldGlvbiktLjE4IEYgRjAoYWJvKTMuMTc2IEUKKy0uMTUodmUpLS4xNSBHKFwpKS4xNSBFKGFyZSBlbmFibGVkLikxODQgMjg4IFEKKyhUaGlzIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZik1IEUoYXVsdC4pLS4xIEUgRjEocHIpMTQ0IDMwMCBRKG9tcHR2KQorLS4xOCBFKGFycyktLjEgRSBGMCAxLjQ0NyhJZiBzZXQsIHByb21wdCBzdHJpbmdzIHVuZGVyKTE4NCAzMTIgUiAxLjQ0OAorKGdvIHBhcmFtZXRlciBlKS0uMTggRiAxLjQ0OCh4cGFuc2lvbiwgY29tbWFuZCBzdWJzdGl0dXRpb24sIGFyaXRobWV0aWMpCistLjE1IEYgLS4xNShleCkxODQgMzI0IFMgLjE3MShwYW5zaW9uLCBhbmQgcXVvdGUgcmVtbykuMTUgRiAtLjI1KHZhKS0uMTUKK0cgMi42NyhsYSkuMjUgRyAuMTcoZnRlciBiZWluZyBlKS0yLjY3IEYgLjE3KHhwYW5kZWQgYXMgZGVzY3JpYmVkIGluKQorLS4xNSBGIEYzKFBSKTIuNjcgRShPTVBUSU5HKS0uMjcgRSBGMChhYm8pMi40MiBFIC0uMTUodmUpLS4xNSBHKC4pLjE1IEUKKyhUaGlzIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZikxODQgMzM2IFEoYXVsdC4pLS4xIEUgRjEgLS4xOChyZSkxNDQgMzQ4CitTKHN0cmljdGVkX3NoZWxsKS4xOCBFIEYwIDEuMDY5CisoVGhlIHNoZWxsIHNldHMgdGhpcyBvcHRpb24gaWYgaXQgaXMgc3RhcnRlZCBpbiByZXN0cmljdGVkIG1vZGUgXChzZWUpCisxODQgMzYwIFIgRjMgMS4wNjkoUkVTVFJJQ1RFRCBTSEVMTCkzLjU2OSBGIEYwKGJlbG8pMTg0IDM3MiBRIDQuMTc4Cisod1wpLiBUaGUpLS4yNSBGIC0uMjUodmEpNC4xNzggRyAxLjY3OChsdWUgbWF5IG5vdCBiZSBjaGFuZ2VkLikuMjUgRgorMS42NzgoVGhpcyBpcyBub3QgcmVzZXQgd2hlbiB0aGUgc3RhcnR1cCBcMjE0bGVzIGFyZSk2LjY3OCBGIC0uMTUoZXhlKQorMTg0IDM4NCBTKGN1dGVkLCBhbGxvKS4xNSBFKHdpbmcgdGhlIHN0YXJ0dXAgXDIxNGxlcyB0byBkaXNjbyktLjI1IEUKKy0uMTUodmUpLS4xNSBHIDIuNShydykuMTUgRyhoZXRoZXIgb3Igbm90IGEgc2hlbGwgaXMgcmVzdHJpY3RlZC4pLTIuNSBFCitGMShzaGlmdF92KTE0NCAzOTYgUShlcmJvc2UpLS4xIEUgRjAgLjUwMShJZiBzZXQsIHRoZSkxODQgNDA4IFIgRjEKKyhzaGlmdCkzLjAwMSBFIEYwIC0uMihidSkzLjAwMSBHIC41MDEKIChpbHRpbiBwcmludHMgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIHRoZSBzaGlmdCBjb3VudCBlKS4yIEYgLjUwMgotKHhjZWVkcyB0aGUgbnVtYmVyKS0uMTUgRihvZiBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuKTE4NCAxMDggUSBGMShzb3VyKQotMTQ0IDEyMCBRKGNlcGF0aCktLjE4IEUgRjAgLjc3MShJZiBzZXQsIHRoZSkxODQgMTMyIFIgRjEoc291cikzLjI3MSBFCisoeGNlZWRzIHRoZSBudW1iZXIpLS4xNSBGKG9mIHBvc2l0aW9uYWwgcGFyYW1ldGVycy4pMTg0IDQyMCBRIEYxKHNvdXIpCisxNDQgNDMyIFEoY2VwYXRoKS0uMTggRSBGMCAuNzcxKElmIHNldCwgdGhlKTE4NCA0NDQgUiBGMShzb3VyKTMuMjcxIEUKIChjZSktLjE4IEUgRjAoXCgpMy4yNzEgRSBGMSguKUEgRjAgMy4yNzEoXCliKUMgLjc3MSh1aWx0aW4gdXNlcyB0aGUgdikKLS0zLjQ3MSBGIC43NzEoYWx1ZSBvZiktLjI1IEYvRjIgOS9UaW1lcy1Cb2xkQDAgU0YgLS42NjYoUEEpMy4yNyBHKFRIKQotLS4xODkgRSBGMCAuNzcodG8gXDIxNG5kIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUpMy4wMiBGCi0oXDIxNGxlIHN1cHBsaWVkIGFzIGFuIGFyKTE4NCAxNDQgUSAyLjUoZ3VtZW50LiBUaGlzKS0uMTggRgotKG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZikyLjUgRShhdWx0LiktLjEgRSBGMSh4cGdfZWNobykxNDQgMTU2IFEgRjAKLShJZiBzZXQsIHRoZSkxODQgMTY4IFEgRjEoZWNobykyLjUgRSBGMCAtLjIoYnUpMi41IEcoaWx0aW4gZSkuMiBFCi0oeHBhbmRzIGJhY2tzbGFzaC1lc2NhcGUgc2VxdWVuY2VzIGJ5IGRlZiktLjE1IEUoYXVsdC4pLS4xIEUgRjEoc3VzcGVuZCkKLTEwOCAxODAgUSBGMChbKTIuNSBFIEYxPGFkNjY+QSBGMChdKUEgMS4wMDEoU3VzcGVuZCB0aGUgZSkxNDQgMTkyIFIgLS4xNQotKHhlKS0uMTUgRyAxLjAwMShjdXRpb24gb2YgdGhpcyBzaGVsbCB1bnRpbCBpdCByZWNlaSkuMTUgRiAtLjE1KHZlKS0uMjUKLUcgMy41MDEoc2EpLjE1IEcgRjIoU0lHQ09OVClBIEYwIDMuNTAyKHNpZ25hbC4gQSkzLjI1MiBGIDEuMDAyCi0obG9naW4gc2hlbGwgY2Fubm90IGJlKTMuNTAyIEYgLjAyMyhzdXNwZW5kZWQ7IHRoZSkxNDQgMjA0IFIgRjE8YWQ2Nj4KLTIuNTIzIEUgRjAgLjAyMyhvcHRpb24gY2FuIGJlIHVzZWQgdG8gbykyLjUyMyBGIC0uMTUodmUpLS4xNSBHIC4wMjIKKy0zLjQ3MSBGIC43NzEoYWx1ZSBvZiktLjI1IEYgRjMgLS42NjYoUEEpMy4yNyBHKFRIKS0uMTg5IEUgRjAgLjc3CisodG8gXDIxNG5kIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUpMy4wMiBGKFwyMTRsZSBzdXBwbGllZCBhcyBhbiBhcikKKzE4NCA0NTYgUSAyLjUoZ3VtZW50LiBUaGlzKS0uMTggRihvcHRpb24gaXMgZW5hYmxlZCBieSBkZWYpMi41IEUoYXVsdC4pCistLjEgRSBGMSh4cGdfZWNobykxNDQgNDY4IFEgRjAoSWYgc2V0LCB0aGUpMTg0IDQ4MCBRIEYxKGVjaG8pMi41IEUgRjAKKy0uMihidSkyLjUgRyhpbHRpbiBlKS4yIEUoeHBhbmRzIGJhY2tzbGFzaC1lc2NhcGUgc2VxdWVuY2VzIGJ5IGRlZiktLjE1CitFKGF1bHQuKS0uMSBFIEYxKHN1c3BlbmQpMTA4IDQ5MiBRIEYwKFspMi41IEUgRjE8YWQ2Nj5BIEYwKF0pQSAxLjAwMQorKFN1c3BlbmQgdGhlIGUpMTQ0IDUwNCBSIC0uMTUoeGUpLS4xNSBHIDEuMDAxCisoY3V0aW9uIG9mIHRoaXMgc2hlbGwgdW50aWwgaXQgcmVjZWkpLjE1IEYgLS4xNSh2ZSktLjI1IEcgMy41MDEoc2EpLjE1IEcKK0YzKFNJR0NPTlQpQSBGMCAzLjUwMihzaWduYWwuIEEpMy4yNTIgRiAxLjAwMihsb2dpbiBzaGVsbCBjYW5ub3QgYmUpCiszLjUwMiBGIC4wMjMoc3VzcGVuZGVkOyB0aGUpMTQ0IDUxNiBSIEYxPGFkNjY+Mi41MjMgRSBGMCAuMDIzCisob3B0aW9uIGNhbiBiZSB1c2VkIHRvIG8pMi41MjMgRiAtLjE1KHZlKS0uMTUgRyAuMDIyCiAocnJpZGUgdGhpcyBhbmQgZm9yY2UgdGhlIHN1c3BlbnNpb24uKS4xNSBGIC4wMjIoVGhlIHJldHVybiBzdGF0dXMgaXMpCi01LjAyMiBGIDIuNSgwdSkxNDQgMjE2IFMobmxlc3MgdGhlIHNoZWxsIGlzIGEgbG9naW4gc2hlbGwgYW5kKS0yLjUgRSBGMQorNS4wMjIgRiAyLjUoMHUpMTQ0IDUyOCBTKG5sZXNzIHRoZSBzaGVsbCBpcyBhIGxvZ2luIHNoZWxsIGFuZCktMi41IEUgRjEKIDxhZDY2PjIuNSBFIEYwKGlzIG5vdCBzdXBwbGllZCwgb3IgaWYgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQuKTIuNSBFCi1GMSh0ZXN0KTEwOCAyMjggUS9GMyAxMC9UaW1lcy1JdGFsaWNAMCBTRiAtLjIoZXgpMi41IEcocHIpLjIgRSBGMShbKTEwOAotMjQwIFEgRjMgLS4yKGV4KTIuNSBHKHByKS4yIEUgRjEoXSkyLjUgRSBGMCAxLjE1CitGMSh0ZXN0KTEwOCA1NDAgUSBGMiAtLjIoZXgpMi41IEcocHIpLjIgRSBGMShbKTEwOCA1NTIgUSBGMiAtLjIoZXgpMi41IEcKKyhwcikuMiBFIEYxKF0pMi41IEUgRjAgMS4xNQogKFJldHVybiBhIHN0YXR1cyBvZiAwIG9yIDEgZGVwZW5kaW5nIG9uIHRoZSBlKTYuNzcgRiAtLjI1KHZhKS0uMjUgRyAxLjE1Ci0obHVhdGlvbiBvZiB0aGUgY29uZGl0aW9uYWwgZSkuMjUgRih4cHJlc3Npb24pLS4xNSBFIEYzIC0uMihleCkzLjY1IEcKKyhsdWF0aW9uIG9mIHRoZSBjb25kaXRpb25hbCBlKS4yNSBGKHhwcmVzc2lvbiktLjE1IEUgRjIgLS4yKGV4KTMuNjUgRwogKHByKS4yIEUgRjAgNi4xNSguRSkuNzMgRyhhY2gpLTYuMTUgRSAxLjE4OAotKG9wZXJhdG9yIGFuZCBvcGVyYW5kIG11c3QgYmUgYSBzZXBhcmF0ZSBhcikxNDQgMjUyIFIgMy42ODgKKyhvcGVyYXRvciBhbmQgb3BlcmFuZCBtdXN0IGJlIGEgc2VwYXJhdGUgYXIpMTQ0IDU2NCBSIDMuNjg4CiAoZ3VtZW50LiBFeHByZXNzaW9ucyktLjE4IEYgMS4xODcoYXJlIGNvbXBvc2VkIG9mIHRoZSBwcmltYXJpZXMpMy42ODggRgotMS44ODkoZGVzY3JpYmVkIGFibykxNDQgMjY0IFIgMi4xODkgLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYyCisxLjg4OShkZXNjcmliZWQgYWJvKTE0NCA1NzYgUiAyLjE4OSAtLjE1KHZlIHUpLS4xNSBIKG5kZXIpLjE1IEUgRjMKIChDT05ESVRJT04pNC4zODkgRSAxLjg4OShBTCBFWFBSRVNTSU9OUyktLjE4IEYvRjQgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQQogRjEodGVzdCk2LjM4OSBFIEYwIDEuODkoZG9lcyBub3QgYWNjZXB0IGFuKTQuMzg5IEYgNC4zOSh5byktLjE1IEcgMS44OQotKHB0aW9ucywgbm9yKS00LjM5IEYoZG9lcyBpdCBhY2NlcHQgYW5kIGlnbm9yZSBhbiBhcikxNDQgMjc2IFEKKyhwdGlvbnMsIG5vciktNC4zOSBGKGRvZXMgaXQgYWNjZXB0IGFuZCBpZ25vcmUgYW4gYXIpMTQ0IDU4OCBRCiAoZ3VtZW50IG9mKS0uMTggRSBGMTxhZGFkPjIuNSBFIEYwKGFzIHNpZ25pZnlpbmcgdGhlIGVuZCBvZiBvcHRpb25zLikyLjUKLUUgLjc4NihFeHByZXNzaW9ucyBtYXkgYmUgY29tYmluZWQgdXNpbmcgdGhlIGZvbGxvKTE0NCAyOTQgUiAuNzg1CitFIC43ODYoRXhwcmVzc2lvbnMgbWF5IGJlIGNvbWJpbmVkIHVzaW5nIHRoZSBmb2xsbykxNDQgNjA2IFIgLjc4NQogKHdpbmcgb3BlcmF0b3JzLCBsaXN0ZWQgaW4gZGVjcmVhc2luZyBvcmRlciBvZiBwcmVjZS0pLS4yNSBGIDIuNQotKGRlbmNlLiBUaGUpMTQ0IDMwNiBSIC0uMjUoZXZhKTIuNSBHCisoZGVuY2UuIFRoZSkxNDQgNjE4IFIgLS4yNShldmEpMi41IEcKIChsdWF0aW9uIGRlcGVuZHMgb24gdGhlIG51bWJlciBvZiBhcikuMjUgRShndW1lbnRzOyBzZWUgYmVsbyktLjE4IEUgLS42NQotKHcuKS0uMjUgRyBGMSghKTE0NCAzMTggUSBGMyAtLjIoZXgpMi41IEcocHIpLjIgRSBGMCAtLjM1KFRyKTEyLjYgRwotKHVlIGlmKS4zNSBFIEYzIC0uMihleCkyLjUgRyhwcikuMiBFIEYwKGlzIGYpMy4yMyBFKGFsc2UuKS0uMSBFIEYxKFwoKQotMTQ0IDMzMCBRIEYzIC0uMihleCkyLjUgRyhwcikuMiBFIEYxKFwpKTIuNSBFIEYwIC4yNihSZXR1cm5zIHRoZSB2KTYuNzcKLUYgLjI2KGFsdWUgb2YpLS4yNSBGIEYzIC0uMihleCkyLjc2IEcocHIpLjIgRSBGMCA1LjI2KC5UKUMgLjI2Cisody4pLS4yNSBHIEYxKCEpMTQ0IDYzMCBRIEYyIC0uMihleCkyLjUgRyhwcikuMiBFIEYwIC0uMzUoVHIpMTIuNiBHCisodWUgaWYpLjM1IEUgRjIgLS4yKGV4KTIuNSBHKHByKS4yIEUgRjAoaXMgZikzLjIzIEUoYWxzZS4pLS4xIEUgRjEoXCgpCisxNDQgNjQyIFEgRjIgLS4yKGV4KTIuNSBHKHByKS4yIEUgRjEoXCkpMi41IEUgRjAgLjI2KFJldHVybnMgdGhlIHYpNi43NworRiAuMjYoYWx1ZSBvZiktLjI1IEYgRjIgLS4yKGV4KTIuNzYgRyhwcikuMiBFIEYwIDUuMjYoLlQpQyAuMjYKIChoaXMgbWF5IGJlIHVzZWQgdG8gbyktNS4yNiBGIC0uMTUodmUpLS4xNSBHIC4yNgotKHJyaWRlIHRoZSBub3JtYWwgcHJlY2VkZW5jZSBvZiBvcGVyYS0pLjE1IEYodG9ycy4pMTgwIDM0MiBRIEYzIC0uMihleCkKLTE0NCAzNTQgUyhwcjEpLjIgRSBGMDxhZD4yLjUgRSBGMShhKUEgRjMgLS4yKGV4KTIuNSBHKHByMikuMiBFIEYwIC0uMzUKLShUcikxODAgMzY2IFModWUgaWYgYm90aCkuMzUgRSBGMyAtLjIoZXgpMi41IEcocHIxKS4yIEUgRjAoYW5kKTIuNSBFIEYzCi0tLjIoZXgpMi41IEcocHIyKS4yIEUgRjAoYXJlIHRydWUuKTIuNTIgRSBGMyAtLjIoZXgpMTQ0IDM3OCBTKHByMSkuMiBFCi1GMDxhZD4yLjUgRSBGMShvKUEgRjMgLS4yKGV4KTIuNSBHKHByMikuMiBFIEYwIC0uMzUoVHIpMTgwIDM5MCBTCi0odWUgaWYgZWl0aGVyKS4zNSBFIEYzIC0uMihleCkyLjUgRyhwcjEpLjIgRSBGMChvcikyLjUgRSBGMyAtLjIoZXgpMi41IEcKLShwcjIpLjIgRSBGMChpcyB0cnVlLikyLjUyIEUgRjEodGVzdCkxNDQgNDA2LjggUSBGMChhbmQpMi41IEUgRjEoWykyLjUgRQorKHJyaWRlIHRoZSBub3JtYWwgcHJlY2VkZW5jZSBvZiBvcGVyYS0pLjE1IEYodG9ycy4pMTgwIDY1NCBRIEYyIC0uMihleCkKKzE0NCA2NjYgUyhwcjEpLjIgRSBGMDxhZD4yLjUgRSBGMShhKUEgRjIgLS4yKGV4KTIuNSBHKHByMikuMiBFIEYwIC0uMzUKKyhUcikxODAgNjc4IFModWUgaWYgYm90aCkuMzUgRSBGMiAtLjIoZXgpMi41IEcocHIxKS4yIEUgRjAoYW5kKTIuNSBFIEYyCistLjIoZXgpMi41IEcocHIyKS4yIEUgRjAoYXJlIHRydWUuKTIuNTIgRSBGMiAtLjIoZXgpMTQ0IDY5MCBTKHByMSkuMiBFCitGMDxhZD4yLjUgRSBGMShvKUEgRjIgLS4yKGV4KTIuNSBHKHByMikuMiBFIEYwIC0uMzUoVHIpMTgwIDcwMiBTCisodWUgaWYgZWl0aGVyKS4zNSBFIEYyIC0uMihleCkyLjUgRyhwcjEpLjIgRSBGMChvcikyLjUgRSBGMiAtLjIoZXgpMi41IEcKKyhwcjIpLjIgRSBGMChpcyB0cnVlLikyLjUyIEUgRjEodGVzdCkxNDQgNzE4LjggUSBGMChhbmQpMi41IEUgRjEoWykyLjUgRQogRjAgLS4yNShldmEpMi41IEcobHVhdGUgY29uZGl0aW9uYWwgZSkuMjUgRQogKHhwcmVzc2lvbnMgdXNpbmcgYSBzZXQgb2YgcnVsZXMgYmFzZWQgb24gdGhlIG51bWJlciBvZiBhciktLjE1IEUKLShndW1lbnRzLiktLjE4IEUgMi41KDBhKTE0NCA0MjQuOCBTIC0uMTgocmcpLTIuNSBHKHVtZW50cykuMTggRShUaGUgZSkKLTE4MCA0MzYuOCBRKHhwcmVzc2lvbiBpcyBmKS0uMTUgRShhbHNlLiktLjEgRSAyLjUoMWEpMTQ0IDQ0OC44IFMgLS4xOAotKHJnKS0yLjUgRyh1bWVudCkuMTggRShUaGUgZSkxODAgNDYwLjggUQotKHhwcmVzc2lvbiBpcyB0cnVlIGlmIGFuZCBvbmx5IGlmIHRoZSBhciktLjE1IEUoZ3VtZW50IGlzIG5vdCBudWxsLiktLjE4Ci1FIDIuNSgyYSkxNDQgNDcyLjggUyAtLjE4KHJnKS0yLjUgRyh1bWVudHMpLjE4IEUgLjM3KElmIHRoZSBcMjE0cnN0IGFyKQotMTgwIDQ4NC44IFIgLjM3KGd1bWVudCBpcyktLjE4IEYgRjEoISkyLjg3IEUgRjAgMi44NygsdClDIC4zNyhoZSBlKS0yLjg3Ci1GIC4zNyh4cHJlc3Npb24gaXMgdHJ1ZSBpZiBhbmQgb25seSBpZiB0aGUgc2Vjb25kIGFyKS0uMTUgRiAuMzcKLShndW1lbnQgaXMgbnVsbC4pLS4xOCBGIC4zNzkoSWYgdGhlIFwyMTRyc3QgYXIpMTgwIDQ5Ni44IFIgLjM4Ci0oZ3VtZW50IGlzIG9uZSBvZiB0aGUgdW5hcnkgY29uZGl0aW9uYWwgb3BlcmF0b3JzIGxpc3RlZCBhYm8pLS4xOCBGIC42OAotLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYyKENPTkRJLSkyLjg4IEUoVElPTikxODAgNTA4LjggUSAuNTUzCi0oQUwgRVhQUkVTU0lPTlMpLS4xOCBGIEY0KCwpQSBGMCAuNTUyKHRoZSBlKTIuODAyIEYgLjU1MgotKHhwcmVzc2lvbiBpcyB0cnVlIGlmIHRoZSB1bmFyeSB0ZXN0IGlzIHRydWUuKS0uMTUgRiAuNTUyCi0oSWYgdGhlIFwyMTRyc3QgYXIpNS41NTIgRihndS0pLS4xOCBFKG1lbnQgaXMgbm90IGEgdikxODAgNTIwLjggUQotKGFsaWQgdW5hcnkgY29uZGl0aW9uYWwgb3BlcmF0b3IpLS4yNSBFIDIuNSgsdCktLjQgRyhoZSBlKS0yLjUgRQotKHhwcmVzc2lvbiBpcyBmKS0uMTUgRShhbHNlLiktLjEgRSAyLjUoM2EpMTQ0IDUzMi44IFMgLS4xOChyZyktMi41IEcKLSh1bWVudHMpLjE4IEUgLjAyMyhJZiB0aGUgc2Vjb25kIGFyKTE4MCA1NDQuOCBSIC4wMjMKLShndW1lbnQgaXMgb25lIG9mIHRoZSBiaW5hcnkgY29uZGl0aW9uYWwgb3BlcmF0b3JzIGxpc3RlZCBhYm8pLS4xOCBGCi0uMzI0IC0uMTUodmUgdSktLjE1IEgobmRlcikuMTUgRSBGMihDT04tKTIuNTI0IEUoRElUSU9OKTE4MCA1NTYuOCBRCi0xLjQ3OChBTCBFWFBSRVNTSU9OUyktLjE4IEYgRjQoLClBIEYwIDEuNDc3KHRoZSByZXN1bHQgb2YgdGhlIGUpMy43MjcgRgotMS40NzcoeHByZXNzaW9uIGlzIHRoZSByZXN1bHQgb2YgdGhlIGJpbmFyeSB0ZXN0KS0uMTUgRiAuNTEzCi0odXNpbmcgdGhlIFwyMTRyc3QgYW5kIHRoaXJkIGFyKTE4MCA1NjguOCBSIC41MTMoZ3VtZW50cyBhcyBvcGVyYW5kcy4pCi0tLjE4IEYoVGhlKTUuNTEzIEUgRjE8YWQ2MT4zLjAxMyBFIEYwKGFuZCkzLjAxMyBFIEYxPGFkNmY+My4wMTMgRSBGMAotLjUxMyhvcGVyYXRvcnMgYXJlIGNvbnNpZGVyZWQpMy4wMTMgRiAuOTcyCi0oYmluYXJ5IG9wZXJhdG9ycyB3aGVuIHRoZXJlIGFyZSB0aHJlZSBhcikxODAgNTgwLjggUiAzLjQ3MihndW1lbnRzLiBJZikKLS0uMTggRiAuOTcyKHRoZSBcMjE0cnN0IGFyKTMuNDcyIEYgLjk3MihndW1lbnQgaXMpLS4xOCBGIEYxKCEpMy40NzIgRSBGMAotMy40NzIoLHQpQyAuOTcyKGhlIHYpLTMuNDcyIEYgLjk3MihhbHVlIGlzKS0uMjUgRiAuODgzKHRoZSBuZSkxODAgNTkyLjgKLVIgLS4wNShnYSktLjE1IEcgLjg4Myh0aW9uIG9mIHRoZSB0dykuMDUgRihvLWFyKS0uMSBFIC44ODQKLShndW1lbnQgdGVzdCB1c2luZyB0aGUgc2Vjb25kIGFuZCB0aGlyZCBhciktLjE4IEYgMy4zODQoZ3VtZW50cy4gSWYpLS4xOAotRiAuODg0KHRoZSBcMjE0cnN0KTMuMzg0IEYoYXIpMTgwIDYwNC44IFEgLjg3NShndW1lbnQgaXMgZSktLjE4IEYKLSh4YWN0bHkpLS4xNSBFIEYxKFwoKTMuMzc1IEUgRjAgLjg3NShhbmQgdGhlIHRoaXJkIGFyKTMuMzc1IEYgLjg3NQotKGd1bWVudCBpcyBlKS0uMTggRih4YWN0bHkpLS4xNSBFIEYxKFwpKTMuMzc1IEUgRjAgMy4zNzQoLHQpQyAuODc0Ci0oaGUgcmVzdWx0IGlzIHRoZSBvbmUtYXIpLTMuMzc0IEYoZ3VtZW50KS0uMTggRSh0ZXN0IG9mIHRoZSBzZWNvbmQgYXIpCi0xODAgNjE2LjggUSAyLjUoZ3VtZW50LiBPdGhlcndpc2UsKS0uMTggRih0aGUgZSkyLjUgRSh4cHJlc3Npb24gaXMgZikKLS0uMTUgRShhbHNlLiktLjEgRSAyLjUoNGEpMTQ0IDYyOC44IFMgLS4xOChyZyktMi41IEcodW1lbnRzKS4xOCBFIC4zODQKLShJZiB0aGUgXDIxNHJzdCBhcikxODAgNjQwLjggUiAuMzg0KGd1bWVudCBpcyktLjE4IEYgRjEoISkyLjg4NCBFIEYwCi0yLjg4NSgsdClDIC4zODUoaGUgcmVzdWx0IGlzIHRoZSBuZSktMi44ODUgRiAtLjA1KGdhKS0uMTUgRyAuMzg1Ci0odGlvbiBvZiB0aGUgdGhyZWUtYXIpLjA1IEYgLjM4NShndW1lbnQgZSktLjE4IEYgLjM4NSh4cHJlc3Npb24gY29tLSkKLS0uMTUgRiAxLjY0OChwb3NlZCBvZiB0aGUgcmVtYWluaW5nIGFyKTE4MCA2NTIuOCBSIDQuMTQ3Ci0oZ3VtZW50cy4gT3RoZXJ3aXNlLCktLjE4IEYgMS42NDcodGhlIGUpNC4xNDcgRiAxLjY0NwotKHhwcmVzc2lvbiBpcyBwYXJzZWQgYW5kIGUpLS4xNSBGIC0uMjUodmEpLS4yNSBHKGx1YXRlZCkuMjUgRQotKGFjY29yZGluZyB0byBwcmVjZWRlbmNlIHVzaW5nIHRoZSBydWxlcyBsaXN0ZWQgYWJvKTE4MCA2NjQuOCBRIC0uMTUodmUpCi0tLjE1IEcoLikuMTUgRSAyLjUoNW8pMTQ0IDY3Ni44IFMgMi41KHJtKS0yLjUgRyhvcmUgYXIpLTIuNSBFKGd1bWVudHMpCi0tLjE4IEUgMS42MzUoVGhlIGUpMTgwIDY4OC44IFIgMS42MzUoeHByZXNzaW9uIGlzIHBhcnNlZCBhbmQgZSktLjE1IEYKLS0uMjUodmEpLS4yNSBHIDEuNjM1Ci0obHVhdGVkIGFjY29yZGluZyB0byBwcmVjZWRlbmNlIHVzaW5nIHRoZSBydWxlcyBsaXN0ZWQpLjI1IEYoYWJvKTE4MAotNzAwLjggUSAtLjE1KHZlKS0uMTUgRyguKS4xNSBFIEYxKHRpbWVzKTEwOCA3MTcuNiBRIEYwIDEuMjI5KFByaW50IHRoZSBcCi1hY2N1bXVsYXRlZCB1c2VyIGFuZCBzeXN0ZW0gdGltZXMgZm9yIHRoZSBzaGVsbCBhbmQgZm9yIHByb2Nlc3NlcyBydW4gZlwKLXJvbSB0aGUgc2hlbGwuKTEzLjIzIEYoVGhlIHJldHVybiBzdGF0dXMgaXMgMC4pMTQ0IDcyOS42IFEoR05VIEJhc2gtNC4wKQotNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDE4KTE5OC43MjUgRSAwIENnIEVQCisoZ3VtZW50cy4pLS4xOCBFKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA0IEFwciAyMCkxNDguNzM1IEUoMTgpMTk4LjcyNQorRSAwIENnIEVQCiAlJVBhZ2U6IDE5IDE5CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyhTSF9CKS4zNSBFKFVJTCktLjEgRSAyOTAuNDgKLShUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFL0YxIDEwCi0vVGltZXMtQm9sZEAwIFNGKHRyYXApMTA4IDg0IFEgRjAoWykyLjUgRSBGMShcMjU1bHApQSBGMCAyLjUoXVspQyhbKS0yLjUKLUUvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YoYXIpQShnKS0uMzcgRSBGMChdKUEgRjIoc2lnc3BlYykyLjUgRSBGMCguLi5dKQotMi41IEUgLjcwMihUaGUgY29tbWFuZCkxNDQgOTYgUiBGMihhcikzLjUzMiBFKGcpLS4zNyBFIEYwIC43MDIKKyhUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFIDIuNSgwYSkxNDQKKzg0IFMgLS4xOChyZyktMi41IEcodW1lbnRzKS4xOCBFKFRoZSBlKTE4MCA5NiBRKHhwcmVzc2lvbiBpcyBmKS0uMTUgRQorKGFsc2UuKS0uMSBFIDIuNSgxYSkxNDQgMTA4IFMgLS4xOChyZyktMi41IEcodW1lbnQpLjE4IEUoVGhlIGUpMTgwIDEyMCBRCisoeHByZXNzaW9uIGlzIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhlIGFyKS0uMTUgRShndW1lbnQgaXMgbm90IG51bGwuKS0uMTgKK0UgMi41KDJhKTE0NCAxMzIgUyAtLjE4KHJnKS0yLjUgRyh1bWVudHMpLjE4IEUgLjM3KElmIHRoZSBcMjE0cnN0IGFyKTE4MAorMTQ0IFIgLjM3KGd1bWVudCBpcyktLjE4IEYvRjEgMTAvVGltZXMtQm9sZEAwIFNGKCEpMi44NyBFIEYwIDIuODcoLHQpQworLjM3KGhlIGUpLTIuODcgRiAuMzcoeHByZXNzaW9uIGlzIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhlIHNlY29uZCBhciktLjE1CitGIC4zNyhndW1lbnQgaXMgbnVsbC4pLS4xOCBGIC4zNzkoSWYgdGhlIFwyMTRyc3QgYXIpMTgwIDE1NiBSIC4zOAorKGd1bWVudCBpcyBvbmUgb2YgdGhlIHVuYXJ5IGNvbmRpdGlvbmFsIG9wZXJhdG9ycyBsaXN0ZWQgYWJvKS0uMTggRiAuNjgKKy0uMTUodmUgdSktLjE1IEgobmRlcikuMTUgRS9GMiA5L1RpbWVzLUJvbGRAMCBTRihDT05ESS0pMi44OCBFKFRJT04pMTgwCisxNjggUSAuNTUzKEFMIEVYUFJFU1NJT05TKS0uMTggRi9GMyA5L1RpbWVzLVJvbWFuQDAgU0YoLClBIEYwIC41NTIKKyh0aGUgZSkyLjgwMiBGIC41NTIoeHByZXNzaW9uIGlzIHRydWUgaWYgdGhlIHVuYXJ5IHRlc3QgaXMgdHJ1ZS4pLS4xNSBGCisuNTUyKElmIHRoZSBcMjE0cnN0IGFyKTUuNTUyIEYoZ3UtKS0uMTggRShtZW50IGlzIG5vdCBhIHYpMTgwIDE4MCBRCisoYWxpZCB1bmFyeSBjb25kaXRpb25hbCBvcGVyYXRvciktLjI1IEUgMi41KCx0KS0uNCBHKGhlIGUpLTIuNSBFCisoeHByZXNzaW9uIGlzIGYpLS4xNSBFKGFsc2UuKS0uMSBFIDIuNSgzYSkxNDQgMTkyIFMgLS4xOChyZyktMi41IEcKKyh1bWVudHMpLjE4IEUgLjAyMyhJZiB0aGUgc2Vjb25kIGFyKTE4MCAyMDQgUiAuMDIzCisoZ3VtZW50IGlzIG9uZSBvZiB0aGUgYmluYXJ5IGNvbmRpdGlvbmFsIG9wZXJhdG9ycyBsaXN0ZWQgYWJvKS0uMTggRgorLjMyNCAtLjE1KHZlIHUpLS4xNSBIKG5kZXIpLjE1IEUgRjIoQ09OLSkyLjUyNCBFKERJVElPTikxODAgMjE2IFEgMS40NzgKKyhBTCBFWFBSRVNTSU9OUyktLjE4IEYgRjMoLClBIEYwIDEuNDc3KHRoZSByZXN1bHQgb2YgdGhlIGUpMy43MjcgRiAxLjQ3NworKHhwcmVzc2lvbiBpcyB0aGUgcmVzdWx0IG9mIHRoZSBiaW5hcnkgdGVzdCktLjE1IEYgLjUxMworKHVzaW5nIHRoZSBcMjE0cnN0IGFuZCB0aGlyZCBhcikxODAgMjI4IFIgLjUxMyhndW1lbnRzIGFzIG9wZXJhbmRzLiktLjE4CitGKFRoZSk1LjUxMyBFIEYxPGFkNjE+My4wMTMgRSBGMChhbmQpMy4wMTMgRSBGMTxhZDZmPjMuMDEzIEUgRjAgLjUxMworKG9wZXJhdG9ycyBhcmUgY29uc2lkZXJlZCkzLjAxMyBGIC45NzIKKyhiaW5hcnkgb3BlcmF0b3JzIHdoZW4gdGhlcmUgYXJlIHRocmVlIGFyKTE4MCAyNDAgUiAzLjQ3MihndW1lbnRzLiBJZikKKy0uMTggRiAuOTcyKHRoZSBcMjE0cnN0IGFyKTMuNDcyIEYgLjk3MihndW1lbnQgaXMpLS4xOCBGIEYxKCEpMy40NzIgRSBGMAorMy40NzIoLHQpQyAuOTcyKGhlIHYpLTMuNDcyIEYgLjk3MihhbHVlIGlzKS0uMjUgRiAuODgzKHRoZSBuZSkxODAgMjUyIFIKKy0uMDUoZ2EpLS4xNSBHIC44ODModGlvbiBvZiB0aGUgdHcpLjA1IEYoby1hciktLjEgRSAuODg0CisoZ3VtZW50IHRlc3QgdXNpbmcgdGhlIHNlY29uZCBhbmQgdGhpcmQgYXIpLS4xOCBGIDMuMzg0KGd1bWVudHMuIElmKS0uMTgKK0YgLjg4NCh0aGUgXDIxNHJzdCkzLjM4NCBGKGFyKTE4MCAyNjQgUSAuODc1KGd1bWVudCBpcyBlKS0uMTggRih4YWN0bHkpCistLjE1IEUgRjEoXCgpMy4zNzUgRSBGMCAuODc1KGFuZCB0aGUgdGhpcmQgYXIpMy4zNzUgRiAuODc1KGd1bWVudCBpcyBlKQorLS4xOCBGKHhhY3RseSktLjE1IEUgRjEoXCkpMy4zNzUgRSBGMCAzLjM3NCgsdClDIC44NzQKKyhoZSByZXN1bHQgaXMgdGhlIG9uZS1hciktMy4zNzQgRihndW1lbnQpLS4xOCBFKHRlc3Qgb2YgdGhlIHNlY29uZCBhcikKKzE4MCAyNzYgUSAyLjUoZ3VtZW50LiBPdGhlcndpc2UsKS0uMTggRih0aGUgZSkyLjUgRSh4cHJlc3Npb24gaXMgZiktLjE1CitFKGFsc2UuKS0uMSBFIDIuNSg0YSkxNDQgMjg4IFMgLS4xOChyZyktMi41IEcodW1lbnRzKS4xOCBFIC4zODQKKyhJZiB0aGUgXDIxNHJzdCBhcikxODAgMzAwIFIgLjM4NChndW1lbnQgaXMpLS4xOCBGIEYxKCEpMi44ODQgRSBGMCAyLjg4NQorKCx0KUMgLjM4NShoZSByZXN1bHQgaXMgdGhlIG5lKS0yLjg4NSBGIC0uMDUoZ2EpLS4xNSBHIC4zODUKKyh0aW9uIG9mIHRoZSB0aHJlZS1hcikuMDUgRiAuMzg1KGd1bWVudCBlKS0uMTggRiAuMzg1KHhwcmVzc2lvbiBjb20tKQorLS4xNSBGIDEuNjQ4KHBvc2VkIG9mIHRoZSByZW1haW5pbmcgYXIpMTgwIDMxMiBSIDQuMTQ3CisoZ3VtZW50cy4gT3RoZXJ3aXNlLCktLjE4IEYgMS42NDcodGhlIGUpNC4xNDcgRiAxLjY0NworKHhwcmVzc2lvbiBpcyBwYXJzZWQgYW5kIGUpLS4xNSBGIC0uMjUodmEpLS4yNSBHKGx1YXRlZCkuMjUgRQorKGFjY29yZGluZyB0byBwcmVjZWRlbmNlIHVzaW5nIHRoZSBydWxlcyBsaXN0ZWQgYWJvKTE4MCAzMjQgUSAtLjE1KHZlKQorLS4xNSBHKC4pLjE1IEUgMi41KDVvKTE0NCAzMzYgUyAyLjUocm0pLTIuNSBHKG9yZSBhciktMi41IEUoZ3VtZW50cyktLjE4CitFIDEuNjM1KFRoZSBlKTE4MCAzNDggUiAxLjYzNSh4cHJlc3Npb24gaXMgcGFyc2VkIGFuZCBlKS0uMTUgRiAtLjI1KHZhKQorLS4yNSBHIDEuNjM1KGx1YXRlZCBhY2NvcmRpbmcgdG8gcHJlY2VkZW5jZSB1c2luZyB0aGUgcnVsZXMgbGlzdGVkKS4yNSBGCisoYWJvKTE4MCAzNjAgUSAtLjE1KHZlKS0uMTUgRyguKS4xNSBFIEYxKHRpbWVzKTEwOCAzNzYuOCBRIEYwIDEuMjI5KFByaVwKK250IHRoZSBhY2N1bXVsYXRlZCB1c2VyIGFuZCBzeXN0ZW0gdGltZXMgZm9yIHRoZSBzaGVsbCBhbmQgZm9yIHByb2Nlc3NlXAorcyBydW4gZnJvbSB0aGUgc2hlbGwuKTEzLjIzIEYoVGhlIHJldHVybiBzdGF0dXMgaXMgMC4pMTQ0IDM4OC44IFEgRjEKKyh0cmFwKTEwOCA0MDUuNiBRIEYwKFspMi41IEUgRjEoXDI1NWxwKUEgRjAgMi41KF1bKUMoWyktMi41IEUvRjQgMTAKKy9UaW1lcy1JdGFsaWNAMCBTRihhcilBKGcpLS4zNyBFIEYwKF0pQSBGNChzaWdzcGVjKTIuNSBFIEYwKC4uLl0pMi41IEUKKy43MDIoVGhlIGNvbW1hbmQpMTQ0IDQxNy42IFIgRjQoYXIpMy41MzIgRShnKS0uMzcgRSBGMCAuNzAyCiAoaXMgdG8gYmUgcmVhZCBhbmQgZSkzLjQyMiBGIC0uMTUoeGUpLS4xNSBHIC43MDIKIChjdXRlZCB3aGVuIHRoZSBzaGVsbCByZWNlaSkuMTUgRiAtLjE1KHZlKS0uMjUgRyAzLjIwMyhzcykuMTUgRwotKGlnbmFsXChzXCkpLTMuMjAzIEUgRjIoc2lnc3BlYykzLjIwMyBFIEYwIDUuNzAzKC5JKS4zMSBHKGYpLTUuNzAzIEUgRjIKKyhpZ25hbFwoc1wpKS0zLjIwMyBFIEY0KHNpZ3NwZWMpMy4yMDMgRSBGMCA1LjcwMyguSSkuMzEgRyhmKS01LjcwMyBFIEY0CiAoYXIpMy41MzMgRShnKS0uMzcgRSBGMChpcykzLjQyMyBFIC42MDkoYWJzZW50IFwoYW5kIHRoZXJlIGlzIGEgc2luZ2xlKQotMTQ0IDEwOCBSIEYyKHNpZ3NwZWMpMy4xMDggRSBGMCAzLjEwOChcKW8pQyhyKS0zLjEwOCBFIEYxPGFkPjMuMTA4IEUgRjAKLTMuMTA4KCxlKUMgLjYwOAorMTQ0IDQyOS42IFIgRjQoc2lnc3BlYykzLjEwOCBFIEYwIDMuMTA4KFwpbylDKHIpLTMuMTA4IEUgRjE8YWQ+My4xMDggRQorRjAgMy4xMDgoLGUpQyAuNjA4CiAoYWNoIHNwZWNpXDIxNGVkIHNpZ25hbCBpcyByZXNldCB0byBpdHMgb3JpZ2luYWwgZGlzcG9zaXRpb24pLTMuMTA4IEYKLS42NTgoXCh0aGUgdikxNDQgMTIwIFIgLjY1OChhbHVlIGl0IGhhZCB1cG9uIGVudHJhbmNlIHRvIHRoZSBzaGVsbFwpLikKLS0uMjUgRihJZik1LjY1OCBFIEYyKGFyKTMuNDg4IEUoZyktLjM3IEUgRjAgLjY1OQotKGlzIHRoZSBudWxsIHN0cmluZyB0aGUgc2lnbmFsIHNwZWNpXDIxNGVkIGJ5IGVhY2gpMy4zNzggRiBGMihzaWdzcGVjKQotMTQ0LjM0IDEzMiBRIEYwIC41ODEoaXMgaWdub3JlZCBieSB0aGUgc2hlbGwgYW5kIGJ5IHRoZSBjb21tYW5kcyBpdCBpbikKLTMuMzkxIEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDMuMDgocy4gSWYpLjEgRiBGMihhcikzLjQxIEUoZyktLjM3IEUKLUYwIC41OChpcyBub3QgcHJlc2VudCBhbmQpMy4zIEYgRjE8YWQ3MD4zLjA4IEUgRjAoaGFzKTMuMDggRSAxLjIxNAotKGJlZW4gc3VwcGxpZWQsIHRoZW4gdGhlIHRyYXAgY29tbWFuZHMgYXNzb2NpYXRlZCB3aXRoIGVhY2gpMTQ0IDE0NCBSIEYyCi0oc2lnc3BlYyk0LjA1NCBFIEYwIDEuMjE1KGFyZSBkaXNwbGF5ZWQuKTQuMDI0IEYgMS4yMTUoSWYgbm8gYXIpNi4yMTUgRgotKGd1LSktLjE4IEUgLjg2KG1lbnRzIGFyZSBzdXBwbGllZCBvciBpZiBvbmx5KTE0NCAxNTYgUiBGMTxhZDcwPjMuMzYgRQotRjAgLjg2KGlzIGdpKTMuMzYgRiAtLjE1KHZlKS0uMjUgRyhuLCkuMTUgRSBGMSh0cmFwKTMuMzYgRSBGMCAuODYKKy42NTgoXCh0aGUgdikxNDQgNDQxLjYgUiAuNjU4KGFsdWUgaXQgaGFkIHVwb24gZW50cmFuY2UgdG8gdGhlIHNoZWxsXCkuKQorLS4yNSBGKElmKTUuNjU4IEUgRjQoYXIpMy40ODggRShnKS0uMzcgRSBGMCAuNjU5CisoaXMgdGhlIG51bGwgc3RyaW5nIHRoZSBzaWduYWwgc3BlY2lcMjE0ZWQgYnkgZWFjaCkzLjM3OCBGIEY0KHNpZ3NwZWMpCisxNDQuMzQgNDUzLjYgUSBGMCAuNTgxCisoaXMgaWdub3JlZCBieSB0aGUgc2hlbGwgYW5kIGJ5IHRoZSBjb21tYW5kcyBpdCBpbikzLjM5MSBGIC0uMih2byktLjQgRworLS4xKGtlKS4yIEcgMy4wOChzLiBJZikuMSBGIEY0KGFyKTMuNDEgRShnKS0uMzcgRSBGMCAuNTgKKyhpcyBub3QgcHJlc2VudCBhbmQpMy4zIEYgRjE8YWQ3MD4zLjA4IEUgRjAoaGFzKTMuMDggRSAxLjIxNAorKGJlZW4gc3VwcGxpZWQsIHRoZW4gdGhlIHRyYXAgY29tbWFuZHMgYXNzb2NpYXRlZCB3aXRoIGVhY2gpMTQ0IDQ2NS42IFIKK0Y0KHNpZ3NwZWMpNC4wNTQgRSBGMCAxLjIxNShhcmUgZGlzcGxheWVkLik0LjAyNCBGIDEuMjE1KElmIG5vIGFyKTYuMjE1CitGKGd1LSktLjE4IEUgLjg2KG1lbnRzIGFyZSBzdXBwbGllZCBvciBpZiBvbmx5KTE0NCA0NzcuNiBSIEYxPGFkNzA+My4zNgorRSBGMCAuODYoaXMgZ2kpMy4zNiBGIC0uMTUodmUpLS4yNSBHKG4sKS4xNSBFIEYxKHRyYXApMy4zNiBFIEYwIC44NgogKHByaW50cyB0aGUgbGlzdCBvZiBjb21tYW5kcyBhc3NvY2lhdGVkIHdpdGggZWFjaCkzLjM2IEYgMi44MwotKHNpZ25hbC4gVGhlKTE0NCAxNjggUiBGMTxhZDZjPjIuODMgRSBGMCAuMzMob3B0aW9uIGNhdXNlcyB0aGUgc2hlbGwgdG9cCi0gcHJpbnQgYSBsaXN0IG9mIHNpZ25hbCBuYW1lcyBhbmQgdGhlaXIgY29ycmVzcG9uZGluZyBudW0tKTIuODMgRiA0LjMxMQotKGJlcnMuIEVhY2gpMTQ0IDE4MCBSIEYyKHNpZ3NwZWMpNC42NTEgRSBGMCAxLjgxMQotKGlzIGVpdGhlciBhIHNpZ25hbCBuYW1lIGRlXDIxNG5lZCBpbiA8KTQuNjIxIEYgRjIoc2lnbmFsLmgpQSBGMCAxLjgxCi0oPiwgb3IgYSBzaWduYWwgbnVtYmVyKUIgNi44MSguUyktLjU1IEcoaWduYWwpLTYuODEgRSAuNzQ1Ci0obmFtZXMgYXJlIGNhc2UgaW5zZW5zaXRpKTE0NCAxOTIgUiAxLjA0NSAtLjE1KHZlIGEpLS4yNSBIIC43NDUKLShuZCB0aGUgU0lHIHByZVwyMTR4IGlzIG9wdGlvbmFsLikuMTUgRiAuNzQ1KElmIGEpNS43NDUgRiBGMihzaWdzcGVjKQotMy41ODUgRSBGMChpcykzLjU1NSBFL0YzIDkvVGltZXMtQm9sZEAwIFNGKEVYSVQpMy4yNDUgRSBGMCAuNzQ1Ci0oXCgwXCkgdGhlIGNvbW1hbmQpMi45OTUgRiBGMihhcikxNDQuMzMgMjA0IFEoZyktLjM3IEUgRjAgMS42MyhpcyBlKTQuMzUKLUYgLS4xNSh4ZSktLjE1IEcgMS42MyhjdXRlZCBvbiBlKS4xNSBGIDEuNjMoeGl0IGZyb20gdGhlIHNoZWxsLiktLjE1IEYKLTEuNjMoSWYgYSk2LjYzIEYgRjIoc2lnc3BlYyk0LjQ3IEUgRjAoaXMpNC40NCBFIEYzKERFQik0LjEzIEUoVUcpLS4wOSBFCi0vRjQgOS9UaW1lcy1Sb21hbkAwIFNGKCwpQSBGMCAxLjYyOSh0aGUgY29tbWFuZCkzLjg4IEYgRjIoYXIpNC40NTkgRShnKQotLS4zNyBFIEYwIDEuNjI5KGlzIGUpNC4zNDkgRiAtLjE1KHhlKS0uMTUgRyhjdXRlZCkuMTUgRSAxLjIwNihiZWZvcmUgZSkKLTE0NCAyMTYgUiAtLjE1KHZlKS0uMjUgRyhyeSkuMTUgRSBGMiAxLjIwNihzaW1wbGUgY29tbWFuZCkzLjcwNiBGIEYwKCwpQQotRjIoZm9yKTMuNzA2IEUgRjAoY29tbWFuZCwpMy43MDYgRSBGMihjYXNlKTMuNzA2IEUgRjAoY29tbWFuZCwpMy43MDYgRQotRjIoc2VsZWN0KTMuNzA3IEUgRjAgMS4yMDcoY29tbWFuZCwgZSkzLjcwNyBGIC0uMTUodmUpLS4yNSBHIDEuMjA3Ci0ocnkgYXJpdGhtZXRpYykuMTUgRiBGMihmb3IpMTQ0IDIyOCBRIEYwIC40MTIKLShjb21tYW5kLCBhbmQgYmVmb3JlIHRoZSBcMjE0cnN0IGNvbW1hbmQgZSkyLjkxMyBGIC0uMTUoeGUpLS4xNSBHIC40MTIKLShjdXRlcyBpbiBhIHNoZWxsIGZ1bmN0aW9uIFwoc2VlKS4xNSBGIEYzIC40MTIoU0hFTEwgR1JBTU1BUikyLjkxMiBGIEYwCi0oYWJvKTE0NCAyNDAgUSAtLjE1KHZlKS0uMTUgRyAyLjY2NShcKS4gUmVmZXIpLjE1IEYgLjE2NgotKHRvIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUpMi42NjUgRiBGMShleHRkZWIpMi42NjYgRSh1ZyktLjIgRSBGMCAuMTY2Ci0ob3B0aW9uIHRvIHRoZSkyLjY2NiBGIEYxKHNob3B0KTIuNjY2IEUgRjAgLS4yKGJ1KTIuNjY2IEcgLjE2NgotKGlsdGluIGZvciBkZXRhaWxzIG9mIGl0cyBlZikuMiBGKGZlY3QpLS4yNSBFIC41MDkob24gdGhlKTE0NCAyNTIgUiBGMQotKERFQikzLjAwOSBFKFVHKS0uMSBFIEYwIDMuMDA5KHRyYXAuIElmKTMuMDA5IEYoYSkzLjAwOSBFIEYyKHNpZ3NwZWMpCi0zLjM0OCBFIEYwKGlzKTMuMzE4IEUgRjMoRVJSKTMuMDA4IEUgRjQoLClBIEYwIC41MDgodGhlIGNvbW1hbmQpMi43NTggRgotRjIoYXIpMy4zMzggRShnKS0uMzcgRSBGMCAuNTA4KGlzIGUpMy4yMjggRiAtLjE1KHhlKS0uMTUgRyAuNTA4Ci0oY3V0ZWQgd2hlbmUpLjE1IEYgLS4xNSh2ZSktLjI1IEcgMy4wMDgocmFzKS4xNSBHIC41MDgoaW1wbGUgY29tLSktMy4wMDgKLUYgMi41MDYobWFuZCBoYXMgYSBub25cMjU1emVybyBlKTE0NCAyNjQgUiAyLjUwNgotKHhpdCBzdGF0dXMsIHN1YmplY3QgdG8gdGhlIGZvbGxvKS0uMTUgRiAyLjUwNih3aW5nIGNvbmRpdGlvbnMuKS0uMjUgRgotKFRoZSk3LjUwNiBFIEYzKEVSUik1LjAwNiBFIEYwIDIuNTA2KHRyYXAgaXMgbm90KTQuNzU2IEYgLS4xNShleGUpMTQ0Ci0yNzYgUyAuMTA1KGN1dGVkIGlmIHRoZSBmKS4xNSBGIC4xMDUKLShhaWxlZCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIGNvbW1hbmQgbGlzdCBpbW1lZGlhdGVseSBmb2xsbyktLjEgRiAuMTA1Ci0od2luZyBhKS0uMjUgRiBGMSh3aGlsZSkyLjYwNSBFIEYwKG9yKTIuNjA1IEUgRjEodW50aWwpMi42MDUgRSBGMCAtLjEKLShrZSkxNDQgMjg4IFMoeXcpLS4wNSBFIC41NDkob3JkLCBwYXJ0IG9mIHRoZSB0ZXN0IGluIGFuKS0uMSBGIEYyKGlmKQotMy4wNTkgRSBGMCAuNTQ5KHN0YXRlbWVudCwgcGFydCBvZiBhIGNvbW1hbmQgZSk1LjAwOSBGIC0uMTUoeGUpLS4xNSBHCi0uNTQ5KGN1dGVkIGluIGEpLjE1IEYgRjEoJiYpMy4wNDkgRSBGMChvcikzLjA0OSBFL0Y1IDEwL1N5bWJvbCBTRjxlZmVmPgotMy4wNDkgRSBGMCAuNTQ5KGxpc3QsIG9yIGlmKTMuMDQ5IEYgLjU3OCh0aGUgY29tbWFuZCcpMTQ0IDMwMCBSIDMuMDc4Ci0oc3IpLS41NSBHIC41NzgoZXR1cm4gdiktMy4wNzggRiAuNTc4KGFsdWUgaXMgYmVpbmcgaW4pLS4yNSBGIC0uMTUodmUpCi0tLjQgRyAuNTc4KHJ0ZWQgdmlhKS4xNSBGIEYxKCEpMy4wNzggRSBGMCA1LjU3NyguVClDIC41NzcKLShoZXNlIGFyZSB0aGUgc2FtZSBjb25kaXRpb25zIG9iZSktNS41NzcgRiAuNTc3KHllZCBieSB0aGUpLS4xNSBGIEYxCi0oZXJyKTE0NCAzMTIgUShleGl0KS0uMTggRSBGMCAzLjAzKG9wdGlvbi4gSWYpMy4wMyBGKGEpMy4wMyBFIEYyCi0oc2lnc3BlYykzLjM3IEUgRjAoaXMpMy4zNDEgRSBGMyhSRVRVUk4pMy4wMzEgRSBGNCgsKUEgRjAgLjUzMQotKHRoZSBjb21tYW5kKTIuNzgxIEYgRjIoYXIpMy4zNjEgRShnKS0uMzcgRSBGMCAuNTMxKGlzIGUpMy4yNTEgRiAtLjE1Ci0oeGUpLS4xNSBHIC41MzEoY3V0ZWQgZWFjaCB0aW1lIGEgc2hlbGwgZnVuY3Rpb24pLjE1IEYgLjMxNwotKG9yIGEgc2NyaXB0IGUpMTQ0IDMyNCBSIC0uMTUoeGUpLS4xNSBHIC4zMTcoY3V0ZWQgd2l0aCB0aGUpLjE1IEYgRjEoLikKLTIuODE3IEUgRjAob3IpMi44MTcgRSBGMShzb3VyKTIuODE3IEUoY2UpLS4xOCBFIEYwIC0uMihidSkyLjgxNyBHIC4zMTcKLShpbHRpbnMgXDIxNG5pc2hlcyBlKS4yIEYgLS4xNSh4ZSktLjE1IEcgMi44MTcoY3V0aW5nLiBTaWduYWxzKS4xNSBGCi0uMzE2KGlnbm9yZWQgdXBvbiBlbnRyeSB0bykyLjgxNyBGIC43ODcKLSh0aGUgc2hlbGwgY2Fubm90IGJlIHRyYXBwZWQgb3IgcmVzZXQuKTE0NCAzMzYgUiAtLjM1KFRyKTUuNzg3IEcgLjc4NwotKGFwcGVkIHNpZ25hbHMgdGhhdCBhcmUgbm90IGJlaW5nIGlnbm9yZWQgYXJlIHJlc2V0IHRvIHRoZWlyKS4zNSBGIDEuMQotKG9yaWdpbmFsIHYpMTQ0IDM0OCBSIDEuMShhbHVlcyBpbiBhIGNoaWxkIHByb2Nlc3Mgd2hlbiBpdCBpcyBjcmVhdGVkLikKLS0uMjUgRiAxLjEoVGhlIHJldHVybiBzdGF0dXMgaXMgZik2LjEgRiAxLjEoYWxzZSBpZiBhbiktLjEgRih5KS0uMTUgRSBGMgotKHNpZ3NwZWMpMy45NCBFIEYwKGlzKTMuOTEgRShpbikxNDQgMzYwIFEgLS4yNSh2YSktLjQgRyhsaWQ7IG90aGVyd2lzZSkKLS4yNSBFIEYxKHRyYXApMi41IEUgRjAocmV0dXJucyB0cnVlLikyLjUgRSBGMSh0eXBlKTEwOCAzNzYuOCBRIEYwKFspMi41Ci1FIEYxKFwyNTVhZnRwUClBIEYwKF0pQSBGMihuYW1lKTIuNSBFIEYwKFspMi41IEUgRjIobmFtZSlBIEYwKC4uLl0pMi41IEUKLS0uNChXaSkxNDQgMzg4LjggUyAuMTczKHRoIG5vIG9wdGlvbnMsIGluZGljYXRlIGhvKS40IEYgMi42NzMod2UpLS4yNSBHCi0oYWNoKS0yLjY3MyBFIEYyKG5hbWUpMy4wMzMgRSBGMCAtLjEod28pMi44NTMgRyAuMTc0Ci0odWxkIGJlIGludGVycHJldGVkIGlmIHVzZWQgYXMgYSBjb21tYW5kIG5hbWUuKS4xIEYgLjE3NChJZiB0aGUpNS4xNzQgRgotRjE8YWQ3ND4xNDQgNDAwLjggUSBGMCAuODQzKG9wdGlvbiBpcyB1c2VkLCkzLjM0MyBGIEYxKHR5cGUpMy4zNDMgRSBGMAotLjg0MyhwcmludHMgYSBzdHJpbmcgd2hpY2ggaXMgb25lIG9mKTMuMzQzIEYgRjIoYWxpYXMpMy4zNDMgRSBGMCgsKS4yNyBFCi1GMiAtLjEoa2UpMy4zNDMgRyh5d29yKS0uMiBFKGQpLS4zNyBFIEYwKCwpLjc3IEUgRjIoZnVuY3Rpb24pMy4zNDMgRSBGMAotKCwpLjI0IEUgRjIgLS4yKGJ1KTMuMzQyIEcoaWx0aW4pLjIgRSBGMCAzLjM0MigsbykuMjQgRyhyKS0zLjM0MiBFIEYyCi0oXDIxNGxlKTUuMjUyIEUgRjAoaWYpMy41MjIgRSBGMihuYW1lKTE0NC4zNiA0MTIuOCBRIEYwIC4wODYKLShpcyBhbiBhbGlhcywgc2hlbGwgcmVzZXJ2KTIuNzY2IEYgLjA4NihlZCB3KS0uMTUgRiAuMDg2Ci0ob3JkLCBmdW5jdGlvbiwgYiktLjEgRiAuMDg3KHVpbHRpbiwgb3IgZGlzayBcMjE0bGUsIHJlc3BlY3RpKS0uMiBGIC0uMTUKLSh2ZSktLjI1IEcobHkpLjE1IEUgNS4wODcoLkkpLS42NSBHIDIuNTg3KGZ0KS01LjA4NyBHKGhlKS0yLjU4NyBFIEYyCi0obmFtZSkyLjk0NyBFIEYwIC4wODcoaXMgbm90KTIuNzY3IEYgLjExOQotKGZvdW5kLCB0aGVuIG5vdGhpbmcgaXMgcHJpbnRlZCwgYW5kIGFuIGUpMTQ0IDQyNC44IFIgLjExOAotKHhpdCBzdGF0dXMgb2YgZiktLjE1IEYgLjExOChhbHNlIGlzIHJldHVybmVkLiktLjEgRiAuMTE4KElmIHRoZSk1LjExOCBGCi1GMTxhZDcwPjIuNjE4IEUgRjAgLjExOChvcHRpb24gaXMgdXNlZCwpMi42MTggRiBGMSh0eXBlKTIuNjE4IEUgRjAgLjg1NQotKGVpdGhlciByZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSBkaXNrIFwyMTRsZSB0aGF0IHcpMTQ0IDQzNi44IFIgLjg1NQotKG91bGQgYmUgZSktLjEgRiAtLjE1KHhlKS0uMTUgRyAuODU1KGN1dGVkIGlmKS4xNSBGIEYyKG5hbWUpMy43MTUgRSBGMAotLjg1NSh3ZXJlIHNwZWNpXDIxNGVkIGFzIGEgY29tLSkzLjUzNSBGIC42NDEobWFuZCBuYW1lLCBvciBub3RoaW5nIGlmKQotMTQ0IDQ0OC44IFIvRjYgMTAvQ291cmllckAwIFNGIC42NDEodHlwZSAtdCBuYW1lKTMuMTQxIEYgRjAgLS4xKHdvKTMuMTQxCi1HIC42NDEodWxkIG5vdCByZXR1cm4pLjEgRiBGMihcMjE0bGUpMy4xNCBFIEYwIDUuNjQoLlQpLjE4IEcoaGUpLTUuNjQgRQotRjE8YWQ1MD4zLjE0IEUgRjAgLjY0KG9wdGlvbiBmb3JjZXMgYSkzLjE0IEYgRjMgLS42NjYoUEEpMy4xNCBHKFRIKS0uMTg5Ci1FIEYwIC4xMTIoc2VhcmNoIGZvciBlYWNoKTE0NCA0NjAuOCBSIEYyKG5hbWUpMi42MTIgRSBGMCAyLjYxMigsZSlDIC0uMTUKLSh2ZSktMi44NjIgRyAyLjYxMyhuaSkuMTUgRyhmKS0yLjYxMyBFIEY2IC4xMTModHlwZSAtdCBuYW1lKTIuNjEzIEYgRjAKLS0uMSh3bykyLjYxMyBHIC4xMTModWxkIG5vdCByZXR1cm4pLjEgRiBGMihcMjE0bGUpMi42MTMgRSBGMCA1LjExMyguSSkKLS4xOCBHIDIuNjEzKGZhYyktNS4xMTMgRyAuMTEzKG9tbWFuZCBpcyBoYXNoZWQsKS0yLjYxMyBGIEYxPGFkNzA+Mi42MTMgRQotRjAoYW5kKTE0NCA0NzIuOCBRIEYxPGFkNTA+Mi45NDUgRSBGMCAuNDQ1KHByaW50IHRoZSBoYXNoZWQgdikyLjk0NSBGCi0uNDQ0KGFsdWUsIG5vdCBuZWNlc3NhcmlseSB0aGUgXDIxNGxlIHRoYXQgYXBwZWFycyBcMjE0cnN0IGluKS0uMjUgRiBGMwotLS42NjYoUEEpMi45NDQgRyhUSCktLjE4OSBFIEY0KC4pQSBGMCAuNDQ0KElmIHRoZSk0Ljk0NCBGIEYxPGFkNjE+Mi45NDQKLUUgRjAob3B0aW9uKTIuOTQ0IEUgLjI2NShpcyB1c2VkLCkxNDQgNDg0LjggUiBGMSh0eXBlKTIuNzY1IEUgRjAgLjI2NQotKHByaW50cyBhbGwgb2YgdGhlIHBsYWNlcyB0aGF0IGNvbnRhaW4gYW4gZSkyLjc2NSBGIC0uMTUoeGUpLS4xNSBHIC4yNjUKLShjdXRhYmxlIG5hbWVkKS4xNSBGIEYyKG5hbWUpMi43NjUgRSBGMCA1LjI2NSguVCkuMTggRyAuMjY1Ci0oaGlzIGluY2x1ZGVzIGFsaWFzZXMpLTUuMjY1IEYgLjQyNyhhbmQgZnVuY3Rpb25zLCBpZiBhbmQgb25seSBpZiB0aGUpCi0xNDQgNDk2LjggUiBGMTxhZDcwPjIuOTI2IEUgRjAgLjQyNihvcHRpb24gaXMgbm90IGFsc28gdXNlZC4pMi45MjYgRgotLjQyNihUaGUgdGFibGUgb2YgaGFzaGVkIGNvbW1hbmRzIGlzIG5vdCk1LjQyNiBGIC41NDgKLShjb25zdWx0ZWQgd2hlbiB1c2luZykxNDQgNTA4LjggUiBGMTxhZDYxPjMuMDQ4IEUgRjAgNS41NDgoLlQpQyhoZSkKLS01LjU0OCBFIEYxPGFkNjY+My4wNDggRSBGMCAuNTQ5Ci0ob3B0aW9uIHN1cHByZXNzZXMgc2hlbGwgZnVuY3Rpb24gbG9va3VwLCBhcyB3aXRoIHRoZSkzLjA0OCBGIEYxCi0oY29tbWFuZCkzLjA0OSBFIEYwIC0uMihidSkxNDQgNTIwLjggUyhpbHRpbi4pLjIgRSBGMSh0eXBlKTUgRSBGMAotKHJldHVybnMgdHJ1ZSBpZiBhbGwgb2YgdGhlIGFyKTIuNSBFKGd1bWVudHMgYXJlIGZvdW5kLCBmKS0uMTggRQotKGFsc2UgaWYgYW4pLS4xIEUgMi41KHlhKS0uMTUgRyhyZSBub3QgZm91bmQuKS0yLjUgRSBGMSh1bGltaXQpMTA4IDUzNy42Ci1RIEYwKFspMi41IEUgRjEoXDI1NUhTVClBKGFiY2RlXDIxNGxtbnBxcnN0dXZ4KS0uOTIgRSBGMChbKTIuNSBFIEYyCi0obGltaXQpQSBGMChdXSlBKFBybykxNDQgNTQ5LjYgUSAuMjQ0KHZpZGVzIGNvbnRyb2wgbyktLjE1IEYgLS4xNSh2ZSkKLS0uMTUgRyAyLjc0NChydCkuMTUgRyAuMjQ0KGhlIHJlc291cmNlcyBhKS0yLjc0NCBGIC0uMjUodmEpLS4yIEcgLjI0NAotKGlsYWJsZSB0byB0aGUgc2hlbGwgYW5kIHRvIHByb2Nlc3NlcyBzdGFydGVkIGJ5IGl0LCBvbiBzeXN0ZW1zKS4yNSBGCi0uOTQzKHRoYXQgYWxsbykxNDQgNTYxLjYgUiAzLjQ0Myh3cyktLjI1IEcgLjk0Myh1Y2ggY29udHJvbC4pLTMuNDQzIEYKLShUaGUpNS45NDMgRSBGMTxhZDQ4PjMuNDQzIEUgRjAoYW5kKTMuNDQzIEUgRjE8YWQ1Mz4zLjQ0NCBFIEYwIC45NDQKLShvcHRpb25zIHNwZWNpZnkgdGhhdCB0aGUgaGFyZCBvciBzb2Z0IGxpbWl0IGlzIHNldCBmb3IgdGhlKTMuNDQ0IEYoZ2kpCi0xNDQgNTczLjYgUSAtLjE1KHZlKS0uMjUgRyAyLjcwOShucikuMTUgRyAyLjcwOShlc291cmNlLiBBKS0yLjcwOSBGIC4yMDgKLShoYXJkIGxpbWl0IGNhbm5vdCBiZSBpbmNyZWFzZWQgYnkgYSBub24tcm9vdCB1c2VyIG9uY2UgaXQgaXMgc2V0OyBhIHNvXAotZnQgbGltaXQgbWF5KTIuNzA5IEYgLjQyNShiZSBpbmNyZWFzZWQgdXAgdG8gdGhlIHYpMTQ0IDU4NS42IFIgLjQyNQotKGFsdWUgb2YgdGhlIGhhcmQgbGltaXQuKS0uMjUgRiAuNDI2KElmIG5laXRoZXIpNS40MjUgRiBGMTxhZDQ4PjIuOTI2IEUKLUYwKG5vcikyLjkyNiBFIEYxPGFkNTM+Mi45MjYgRSBGMCAuNDI2Ci0oaXMgc3BlY2lcMjE0ZWQsIGJvdGggdGhlIHNvZnQgYW5kKTIuOTI2IEYgLjEzOShoYXJkIGxpbWl0cyBhcmUgc2V0LikxNDQKLTU5Ny42IFIgLjEzOShUaGUgdik1LjEzOSBGIC4xMzkoYWx1ZSBvZiktLjI1IEYgRjIobGltaXQpMi43MjkgRSBGMCAuMTM5Ci0oY2FuIGJlIGEgbnVtYmVyIGluIHRoZSB1bml0IHNwZWNpXDIxNGVkIGZvciB0aGUgcmVzb3VyY2Ugb3Igb25lKTMuMzE5IEYKLS43NDEob2YgdGhlIHNwZWNpYWwgdikxNDQgNjA5LjYgUihhbHVlcyktLjI1IEUgRjEoaGFyZCkzLjI0MSBFIEYwKCwpQSBGMQotKHNvZnQpMy4yNDEgRSBGMCAzLjI0MSgsbylDKHIpLTMuMjQxIEUgRjEodW5saW1pdGVkKTMuMjQxIEUgRjAgMy4yNDEoLHcpCi1DIC43NDEoaGljaCBzdGFuZCBmb3IgdGhlIGN1cnJlbnQgaGFyZCBsaW1pdCwgdGhlIGN1cnJlbnQpLTMuMjQxIEYgLjc4Ci0oc29mdCBsaW1pdCwgYW5kIG5vIGxpbWl0LCByZXNwZWN0aSkxNDQgNjIxLjYgUiAtLjE1KHZlKS0uMjUgRyhseSkuMTUgRQotNS43OCguSSktLjY1IEcoZiktNS43OCBFIEYyKGxpbWl0KTMuMzcgRSBGMCAuNzgKLShpcyBvbWl0dGVkLCB0aGUgY3VycmVudCB2KTMuOTYgRiAuNzgoYWx1ZSBvZiB0aGUgc29mdCBsaW1pdCBvZiB0aGUpLS4yNQotRiAuNDk4KHJlc291cmNlIGlzIHByaW50ZWQsIHVubGVzcyB0aGUpMTQ0IDYzMy42IFIgRjE8YWQ0OD4yLjk5OSBFIEYwCi0uNDk5KG9wdGlvbiBpcyBnaSkyLjk5OSBGIC0uMTUodmUpLS4yNSBHIDIuOTk5KG4uIFdoZW4pLjE1IEYgLjQ5OQotKG1vcmUgdGhhbiBvbmUgcmVzb3VyY2UgaXMgc3BlY2lcMjE0ZWQsIHRoZSkyLjk5OSBGCi0obGltaXQgbmFtZSBhbmQgdW5pdCBhcmUgcHJpbnRlZCBiZWZvcmUgdGhlIHYpMTQ0IDY0NS42IFEgMi41Ci0oYWx1ZS4gT3RoZXIpLS4yNSBGKG9wdGlvbnMgYXJlIGludGVycHJldGVkIGFzIGZvbGxvKTIuNSBFKHdzOiktLjI1IEUgRjEKLTxhZDYxPjE0NCA2NTcuNiBRIEYwKEFsbCBjdXJyZW50IGxpbWl0cyBhcmUgcmVwb3J0ZWQpMjUuMyBFIEYxPGFkNjI+MTQ0Ci02NjkuNiBRIEYwKFRoZSBtYXhpbXVtIHNvY2spMjQuNzQgRShldCBiKS0uMSBFKHVmKS0uMiBFKGZlciBzaXplKS0uMjUgRQotRjE8YWQ2Mz4xNDQgNjgxLjYgUSBGMChUaGUgbWF4aW11bSBzaXplIG9mIGNvcmUgXDIxNGxlcyBjcmVhdGVkKTI1Ljg2IEUKLUYxPGFkNjQ+MTQ0IDY5My42IFEgRjAoVGhlIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MnKTI0Ljc0IEUgMi41KHNkKQotLS41NSBHKGF0YSBzZSktMi41IEUoZ21lbnQpLS4xNSBFIEYxPGFkNjU+MTQ0IDcwNS42IFEgRjAKLShUaGUgbWF4aW11bSBzY2hlZHVsaW5nIHByaW9yaXR5IFwoIm5pY2UiXCkpMjUuODYgRSBGMTxhZDY2PjE0NCA3MTcuNiBRCi1GMChUaGUgbWF4aW11bSBzaXplIG9mIFwyMTRsZXMgd3JpdHRlbiBieSB0aGUgc2hlbGwgYW5kIGl0cyBjaGlsZHJlbikKLTI2Ljk3IEUoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSgxOSkxOTguNzI1IEUgMCBDZyBFUAorKHNpZ25hbC4gVGhlKTE0NCA0ODkuNiBSIEYxPGFkNmM+Mi44MyBFIEYwIC4zMyhvcHRpb24gY2F1c2VzIHRoZSBzaGVsbCBcCit0byBwcmludCBhIGxpc3Qgb2Ygc2lnbmFsIG5hbWVzIGFuZCB0aGVpciBjb3JyZXNwb25kaW5nIG51bS0pMi44MyBGCis0LjMxMShiZXJzLiBFYWNoKTE0NCA1MDEuNiBSIEY0KHNpZ3NwZWMpNC42NTEgRSBGMCAxLjgxMQorKGlzIGVpdGhlciBhIHNpZ25hbCBuYW1lIGRlXDIxNG5lZCBpbiA8KTQuNjIxIEYgRjQoc2lnbmFsLmgpQSBGMCAxLjgxCisoPiwgb3IgYSBzaWduYWwgbnVtYmVyKUIgNi44MSguUyktLjU1IEcoaWduYWwpLTYuODEgRQorKG5hbWVzIGFyZSBjYXNlIGluc2Vuc2l0aSkxNDQgNTEzLjYgUSAuMyAtLjE1KHZlIGEpLS4yNSBICisobmQgdGhlIFNJRyBwcmVcMjE0eCBpcyBvcHRpb25hbC4pLjE1IEUgMS42NDgoSWYgYSkxNDQgNTMxLjYgUiBGNAorKHNpZ3NwZWMpNC40ODggRSBGMChpcyk0LjQ1OCBFIEYyKEVYSVQpNC4xNDggRSBGMCAxLjY0OAorKFwoMFwpIHRoZSBjb21tYW5kKTMuODk4IEYgRjQoYXIpNC40NzkgRShnKS0uMzcgRSBGMCAxLjY0OShpcyBlKTQuMzY5IEYKKy0uMTUoeGUpLS4xNSBHIDEuNjQ5KGN1dGVkIG9uIGUpLjE1IEYgMS42NDkoeGl0IGZyb20gdGhlIHNoZWxsLiktLjE1IEYKKzEuNjQ5KElmIGEpNi42NDkgRiBGNChzaWdzcGVjKTQuNDg5IEUgRjAoaXMpNC40NTkgRSBGMihERUIpMTQ0IDU0My42IFEKKyhVRyktLjA5IEUgRjMoLClBIEYwIDEuMTY4KHRoZSBjb21tYW5kKTMuNDE4IEYgRjQoYXIpMy45OTggRShnKS0uMzcgRSBGMAorMS4xNjgoaXMgZSkzLjg4OCBGIC0uMTUoeGUpLS4xNSBHIDEuMTY3KGN1dGVkIGJlZm9yZSBlKS4xNSBGIC0uMTUodmUpCistLjI1IEcocnkpLjE1IEUgRjQgMS4xNjcoc2ltcGxlIGNvbW1hbmQpMy42NjcgRiBGMCgsKUEgRjQoZm9yKTMuNjY3IEUgRjAKKyhjb21tYW5kLCkzLjY2NyBFIEY0KGNhc2UpMy42NjcgRSBGMChjb20tKTMuNjY3IEUobWFuZCwpMTQ0IDU1NS42IFEgRjQKKyhzZWxlY3QpMi42NDYgRSBGMCAuMTQ2KGNvbW1hbmQsIGUpMi42NDYgRiAtLjE1KHZlKS0uMjUgRyAuMTQ2CisocnkgYXJpdGhtZXRpYykuMTUgRiBGNChmb3IpMi42NDYgRSBGMCAuMTQ3CisoY29tbWFuZCwgYW5kIGJlZm9yZSB0aGUgXDIxNHJzdCBjb21tYW5kIGUpMi42NDYgRiAtLjE1KHhlKS0uMTUgRyAuMTQ3CisoY3V0ZXMgaW4gYSkuMTUgRiAuMTQ2KHNoZWxsIGZ1bmN0aW9uIFwoc2VlKTE0NCA1NjcuNiBSIEYyIC4xNDYKKyhTSEVMTCBHUkFNTUFSKTIuNjQ2IEYgRjAoYWJvKTIuMzk2IEUgLS4xNSh2ZSktLjE1IEcgMi42NDYoXCkuIFJlZmVyKS4xNQorRiAuMTQ2KHRvIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUpMi42NDYgRiBGMShleHRkZWIpMi42NDUgRSh1ZyktLjIgRSBGMAorLjE0NShvcHRpb24gdG8pMi42NDUgRih0aGUpMTQ0IDU3OS42IFEgRjEoc2hvcHQpMy4yIEUgRjAgLS4yKGJ1KTMuMiBHIC43CisoaWx0aW4gZm9yIGRldGFpbHMgb2YgaXRzIGVmKS4yIEYgLjcoZmVjdCBvbiB0aGUpLS4yNSBGIEYxKERFQikzLjIgRShVRykKKy0uMSBFIEYwIDMuMih0cmFwLiBJZikzLjIgRihhKTMuMiBFIEY0KHNpZ3NwZWMpMy41NCBFIEYwKGlzKTMuNTEgRSBGMgorKFJFVFVSTikzLjIgRSBGMygsKUEgRjAgLjcwMSh0aGUgY29tLSkyLjk1MSBGKG1hbmQpMTQ0IDU5MS42IFEgRjQoYXIpCiszLjQ3NCBFKGcpLS4zNyBFIEYwIC42NDQoaXMgZSkzLjM2NCBGIC0uMTUoeGUpLS4xNSBHIC42NDMKKyhjdXRlZCBlYWNoIHRpbWUgYSBzaGVsbCBmdW5jdGlvbiBvciBhIHNjcmlwdCBlKS4xNSBGIC0uMTUoeGUpLS4xNSBHCisuNjQzKGN1dGVkIHdpdGggdGhlKS4xNSBGIEYxKC4pMy4xNDMgRSBGMChvcikzLjE0MyBFIEYxKHNvdXIpMy4xNDMgRShjZSkKKy0uMTggRSBGMCAtLjIoYnUpMy4xNDMgRyhpbHRpbnMpLjIgRShcMjE0bmlzaGVzIGUpMTQ0IDYwMy42IFEgLS4xNSh4ZSkKKy0uMTUgRyhjdXRpbmcuKS4xNSBFIC45MjgoSWYgYSkxNDQgNjIxLjYgUiBGNChzaWdzcGVjKTMuNzY4IEUgRjAoaXMpCiszLjczOCBFIEYyKEVSUikzLjQyOSBFIEYzKCwpQSBGMCAuOTI5KHRoZSBjb21tYW5kKTMuMTc5IEYgRjQoYXIpMy43NTkgRQorKGcpLS4zNyBFIEYwIC45MjkoaXMgZSkzLjY0OSBGIC0uMTUoeGUpLS4xNSBHIC45MjkoY3V0ZWQgd2hlbmUpLjE1IEYKKy0uMTUodmUpLS4yNSBHIDMuNDI5KHJhcykuMTUgRyAuOTI5KGltcGxlIGNvbW1hbmQgaGFzIGEgbm9uXDI1NXplcm8pCistMy40MjkgRiAtLjE1KGV4KTE0NCA2MzMuNiBTIDEuMDA5KGl0IHN0YXR1cywgc3ViamVjdCB0byB0aGUgZm9sbG8pLjE1IEYKKzEuMDA5KHdpbmcgY29uZGl0aW9ucy4pLS4yNSBGKFRoZSk2LjAwOSBFIEYyKEVSUikzLjUwOSBFIEYwIDEuMDA5CisodHJhcCBpcyBub3QgZSkzLjI1OSBGIC0uMTUoeGUpLS4xNSBHIDEuMDA4KGN1dGVkIGlmIHRoZSBmKS4xNSBGIDEuMDA4CisoYWlsZWQgY29tLSktLjEgRiAuMzI0CisobWFuZCBpcyBwYXJ0IG9mIHRoZSBjb21tYW5kIGxpc3QgaW1tZWRpYXRlbHkgZm9sbG8pMTQ0IDY0NS42IFIgLjMyNAorKHdpbmcgYSktLjI1IEYgRjEod2hpbGUpMi44MjQgRSBGMChvcikyLjgyNCBFIEYxKHVudGlsKTIuODI0IEUgRjAgLS4xCisoa2UpMi44MjQgRyh5dyktLjA1IEUgLjMyNChvcmQsIHBhcnQgb2YgdGhlIHRlc3QpLS4xIEYgMS4xMjkoaW4gYW4pMTQ0Cis2NTcuNiBSIEY0KGlmKTMuNjM5IEUgRjAgMS4xMjkoc3RhdGVtZW50LCBwYXJ0IG9mIGEgY29tbWFuZCBlKTUuNTg5IEYKKy0uMTUoeGUpLS4xNSBHIDEuMTI5KGN1dGVkIGluIGEpLjE1IEYgRjEoJiYpMy42MjkgRSBGMChvcikzLjYyOSBFL0Y1IDEwCisvU3ltYm9sIFNGPGVmZWY+My42MjkgRSBGMCAxLjEyOShsaXN0LCBvciBpZiB0aGUgY29tbWFuZCcpMy42MjkgRiAzLjYyOAorKHNyKS0uNTUgRyhldHVybiktMy42MjggRSAtLjI1KHZhKTE0NCA2NjkuNiBTKGx1ZSBpcyBiZWluZyBpbikuMjUgRSAtLjE1CisodmUpLS40IEcocnRlZCB2aWEpLjE1IEUgRjEoISkyLjUgRSBGMCA1KC5UKUMKKyhoZXNlIGFyZSB0aGUgc2FtZSBjb25kaXRpb25zIG9iZSktNSBFKHllZCBieSB0aGUpLS4xNSBFIEYxKGVycikyLjUgRQorKGV4aXQpLS4xOCBFIEYwKG9wdGlvbi4pMi41IEUgMS4wOTUKKyhTaWduYWxzIGlnbm9yZWQgdXBvbiBlbnRyeSB0byB0aGUgc2hlbGwgY2Fubm90IGJlIHRyYXBwZWQgb3IgcmVzZXQuKTE0NAorNjg3LjYgUiAtLjM1KFRyKTYuMDk1IEcgMS4wOTUoYXBwZWQgc2lnbmFscyB0aGF0IGFyZSBub3QpLjM1IEYgLjY2MgorKGJlaW5nIGlnbm9yZWQgYXJlIHJlc2V0IHRvIHRoZWlyIG9yaWdpbmFsIHYpMTQ0IDY5OS42IFIgLjY2MgorKGFsdWVzIGluIGEgc3Vic2hlbGwgb3Igc3Vic2hlbGwgZW4pLS4yNSBGIC42NjEodmlyb25tZW50IHdoZW4gb25lIGlzKQorLS40IEYgMi41KGNyZWF0ZWQuIFRoZSkxNDQgNzExLjYgUihyZXR1cm4gc3RhdHVzIGlzIGYpMi41IEUoYWxzZSBpZiBhbikKKy0uMSBFKHkpLS4xNSBFIEY0KHNpZ3NwZWMpMi44NCBFIEYwKGlzIGluKTIuODEgRSAtLjI1KHZhKS0uNCBHCisobGlkOyBvdGhlcndpc2UpLjI1IEUgRjEodHJhcCkyLjUgRSBGMChyZXR1cm5zIHRydWUuKTIuNSBFKEdOVSBCYXNoLTQuMCkKKzcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSgxOSkxOTguNzI1IEUgMCBDZyBFUAogJSVQYWdlOiAyMCAyMAogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMoU0hfQikuMzUgRShVSUwpLS4xIEUgMjkwLjQ4CiAoVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRS9GMSAxMAotL1RpbWVzLUJvbGRAMCBTRjxhZDY5PjE0NCA4NCBRIEYwKFRoZSBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHMpCi0yNy41MiBFIEYxPGFkNmM+MTQ0IDk2IFEgRjAoVGhlIG1heGltdW0gc2l6ZSB0aGF0IG1heSBiZSBsb2NrKTI3LjUyIEUKLShlZCBpbnRvIG1lbW9yeSktLjEgRSBGMTxhZDZkPjE0NCAxMDggUSBGMAotKFRoZSBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplKTIxLjk3IEUgRjE8YWQ2ZT4xNDQgMTIwIFEgRjAgLjc5MShUaGUgbWFcCi14aW11bSBudW1iZXIgb2Ygb3BlbiBcMjE0bGUgZGVzY3JpcHRvcnMgXChtb3N0IHN5c3RlbXMgZG8gbm90IGFsbG8pMjQuNzQKLUYgMy4yOSh3dCktLjI1IEcgLjc5KGhpcyB2KS0zLjI5IEYgLjc5KGFsdWUgdG8pLS4yNSBGKGJlIHNldFwpKTE4MCAxMzIgUQotRjE8YWQ3MD4xNDQgMTQ0IFEgRjAKKy9UaW1lcy1Cb2xkQDAgU0YodHlwZSkxMDggODQgUSBGMChbKTIuNSBFIEYxKFwyNTVhZnRwUClBIEYwKF0pQS9GMiAxMAorL1RpbWVzLUl0YWxpY0AwIFNGKG5hbWUpMi41IEUgRjAoWykyLjUgRSBGMihuYW1lKUEgRjAoLi4uXSkyLjUgRSAtLjQoV2kpCisxNDQgOTYgUyAuMTczKHRoIG5vIG9wdGlvbnMsIGluZGljYXRlIGhvKS40IEYgMi42NzMod2UpLS4yNSBHKGFjaCktMi42NzMKK0UgRjIobmFtZSkzLjAzMyBFIEYwIC0uMSh3bykyLjg1MyBHIC4xNzQKKyh1bGQgYmUgaW50ZXJwcmV0ZWQgaWYgdXNlZCBhcyBhIGNvbW1hbmQgbmFtZS4pLjEgRiAuMTc0KElmIHRoZSk1LjE3NCBGCitGMTxhZDc0PjE0NCAxMDggUSBGMCAuODQzKG9wdGlvbiBpcyB1c2VkLCkzLjM0MyBGIEYxKHR5cGUpMy4zNDMgRSBGMAorLjg0MyhwcmludHMgYSBzdHJpbmcgd2hpY2ggaXMgb25lIG9mKTMuMzQzIEYgRjIoYWxpYXMpMy4zNDMgRSBGMCgsKS4yNyBFCitGMiAtLjEoa2UpMy4zNDMgRyh5d29yKS0uMiBFKGQpLS4zNyBFIEYwKCwpLjc3IEUgRjIoZnVuY3Rpb24pMy4zNDMgRSBGMAorKCwpLjI0IEUgRjIgLS4yKGJ1KTMuMzQyIEcoaWx0aW4pLjIgRSBGMCAzLjM0MigsbykuMjQgRyhyKS0zLjM0MiBFIEYyCisoXDIxNGxlKTUuMjUyIEUgRjAoaWYpMy41MjIgRSBGMihuYW1lKTE0NC4zNiAxMjAgUSBGMCAuMDg2CisoaXMgYW4gYWxpYXMsIHNoZWxsIHJlc2VydikyLjc2NiBGIC4wODYoZWQgdyktLjE1IEYgLjA4NgorKG9yZCwgZnVuY3Rpb24sIGIpLS4xIEYgLjA4Nyh1aWx0aW4sIG9yIGRpc2sgXDIxNGxlLCByZXNwZWN0aSktLjIgRiAtLjE1CisodmUpLS4yNSBHKGx5KS4xNSBFIDUuMDg3KC5JKS0uNjUgRyAyLjU4NyhmdCktNS4wODcgRyhoZSktMi41ODcgRSBGMgorKG5hbWUpMi45NDcgRSBGMCAuMDg3KGlzIG5vdCkyLjc2NyBGIC4xMTkKKyhmb3VuZCwgdGhlbiBub3RoaW5nIGlzIHByaW50ZWQsIGFuZCBhbiBlKTE0NCAxMzIgUiAuMTE4CisoeGl0IHN0YXR1cyBvZiBmKS0uMTUgRiAuMTE4KGFsc2UgaXMgcmV0dXJuZWQuKS0uMSBGIC4xMTgoSWYgdGhlKTUuMTE4IEYKK0YxPGFkNzA+Mi42MTggRSBGMCAuMTE4KG9wdGlvbiBpcyB1c2VkLCkyLjYxOCBGIEYxKHR5cGUpMi42MTggRSBGMCAuODU1CisoZWl0aGVyIHJldHVybnMgdGhlIG5hbWUgb2YgdGhlIGRpc2sgXDIxNGxlIHRoYXQgdykxNDQgMTQ0IFIgLjg1NQorKG91bGQgYmUgZSktLjEgRiAtLjE1KHhlKS0uMTUgRyAuODU1KGN1dGVkIGlmKS4xNSBGIEYyKG5hbWUpMy43MTUgRSBGMAorLjg1NSh3ZXJlIHNwZWNpXDIxNGVkIGFzIGEgY29tLSkzLjUzNSBGIC42NDEobWFuZCBuYW1lLCBvciBub3RoaW5nIGlmKQorMTQ0IDE1NiBSL0YzIDEwL0NvdXJpZXJAMCBTRiAuNjQxKHR5cGUgLXQgbmFtZSkzLjE0MSBGIEYwIC0uMSh3bykzLjE0MSBHCisuNjQxKHVsZCBub3QgcmV0dXJuKS4xIEYgRjIoXDIxNGxlKTMuMTQgRSBGMCA1LjY0KC5UKS4xOCBHKGhlKS01LjY0IEUgRjEKKzxhZDUwPjMuMTQgRSBGMCAuNjQob3B0aW9uIGZvcmNlcyBhKTMuMTQgRi9GNCA5L1RpbWVzLUJvbGRAMCBTRiAtLjY2NgorKFBBKTMuMTQgRyhUSCktLjE4OSBFIEYwIC4xMTIoc2VhcmNoIGZvciBlYWNoKTE0NCAxNjggUiBGMihuYW1lKTIuNjEyIEUKK0YwIDIuNjEyKCxlKUMgLS4xNSh2ZSktMi44NjIgRyAyLjYxMyhuaSkuMTUgRyhmKS0yLjYxMyBFIEYzIC4xMTMKKyh0eXBlIC10IG5hbWUpMi42MTMgRiBGMCAtLjEod28pMi42MTMgRyAuMTEzKHVsZCBub3QgcmV0dXJuKS4xIEYgRjIKKyhcMjE0bGUpMi42MTMgRSBGMCA1LjExMyguSSkuMTggRyAyLjYxMyhmYWMpLTUuMTEzIEcgLjExMworKG9tbWFuZCBpcyBoYXNoZWQsKS0yLjYxMyBGIEYxPGFkNzA+Mi42MTMgRSBGMChhbmQpMTQ0IDE4MCBRIEYxPGFkNTA+CisyLjk0NSBFIEYwIC40NDUocHJpbnQgdGhlIGhhc2hlZCB2KTIuOTQ1IEYgLjQ0NAorKGFsdWUsIG5vdCBuZWNlc3NhcmlseSB0aGUgXDIxNGxlIHRoYXQgYXBwZWFycyBcMjE0cnN0IGluKS0uMjUgRiBGNAorLS42NjYoUEEpMi45NDQgRyhUSCktLjE4OSBFL0Y1IDkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAgLjQ0NChJZiB0aGUpCis0Ljk0NCBGIEYxPGFkNjE+Mi45NDQgRSBGMChvcHRpb24pMi45NDQgRSAuMjY1KGlzIHVzZWQsKTE0NCAxOTIgUiBGMQorKHR5cGUpMi43NjUgRSBGMCAuMjY1KHByaW50cyBhbGwgb2YgdGhlIHBsYWNlcyB0aGF0IGNvbnRhaW4gYW4gZSkyLjc2NSBGCistLjE1KHhlKS0uMTUgRyAuMjY1KGN1dGFibGUgbmFtZWQpLjE1IEYgRjIobmFtZSkyLjc2NSBFIEYwIDUuMjY1KC5UKS4xOAorRyAuMjY1KGhpcyBpbmNsdWRlcyBhbGlhc2VzKS01LjI2NSBGIC40MjcKKyhhbmQgZnVuY3Rpb25zLCBpZiBhbmQgb25seSBpZiB0aGUpMTQ0IDIwNCBSIEYxPGFkNzA+Mi45MjYgRSBGMCAuNDI2Cisob3B0aW9uIGlzIG5vdCBhbHNvIHVzZWQuKTIuOTI2IEYgLjQyNgorKFRoZSB0YWJsZSBvZiBoYXNoZWQgY29tbWFuZHMgaXMgbm90KTUuNDI2IEYgLjU0OChjb25zdWx0ZWQgd2hlbiB1c2luZykKKzE0NCAyMTYgUiBGMTxhZDYxPjMuMDQ4IEUgRjAgNS41NDgoLlQpQyhoZSktNS41NDggRSBGMTxhZDY2PjMuMDQ4IEUgRjAKKy41NDkob3B0aW9uIHN1cHByZXNzZXMgc2hlbGwgZnVuY3Rpb24gbG9va3VwLCBhcyB3aXRoIHRoZSkzLjA0OCBGIEYxCisoY29tbWFuZCkzLjA0OSBFIEYwIC0uMihidSkxNDQgMjI4IFMoaWx0aW4uKS4yIEUgRjEodHlwZSk1IEUgRjAKKyhyZXR1cm5zIHRydWUgaWYgYWxsIG9mIHRoZSBhcikyLjUgRShndW1lbnRzIGFyZSBmb3VuZCwgZiktLjE4IEUKKyhhbHNlIGlmIGFuKS0uMSBFIDIuNSh5YSktLjE1IEcocmUgbm90IGZvdW5kLiktMi41IEUgRjEodWxpbWl0KTEwOCAyNDQuOAorUSBGMChbKTIuNSBFIEYxKFwyNTVIU1QpQShhYmNkZVwyMTRsbW5wcXJzdHV2eCktLjkyIEUgRjAoWykyLjUgRSBGMgorKGxpbWl0KUEgRjAoXV0pQShQcm8pMTQ0IDI1Ni44IFEgLjI0NCh2aWRlcyBjb250cm9sIG8pLS4xNSBGIC0uMTUodmUpCistLjE1IEcgMi43NDQocnQpLjE1IEcgLjI0NChoZSByZXNvdXJjZXMgYSktMi43NDQgRiAtLjI1KHZhKS0uMiBHIC4yNDQKKyhpbGFibGUgdG8gdGhlIHNoZWxsIGFuZCB0byBwcm9jZXNzZXMgc3RhcnRlZCBieSBpdCwgb24gc3lzdGVtcykuMjUgRgorLjk0Myh0aGF0IGFsbG8pMTQ0IDI2OC44IFIgMy40NDMod3MpLS4yNSBHIC45NDModWNoIGNvbnRyb2wuKS0zLjQ0MyBGCisoVGhlKTUuOTQzIEUgRjE8YWQ0OD4zLjQ0MyBFIEYwKGFuZCkzLjQ0MyBFIEYxPGFkNTM+My40NDQgRSBGMCAuOTQ0Cisob3B0aW9ucyBzcGVjaWZ5IHRoYXQgdGhlIGhhcmQgb3Igc29mdCBsaW1pdCBpcyBzZXQgZm9yIHRoZSkzLjQ0NCBGKGdpKQorMTQ0IDI4MC44IFEgLS4xNSh2ZSktLjI1IEcgMi43MDkobnIpLjE1IEcgMi43MDkoZXNvdXJjZS4gQSktMi43MDkgRiAuMjA4CisoaGFyZCBsaW1pdCBjYW5ub3QgYmUgaW5jcmVhc2VkIGJ5IGEgbm9uLXJvb3QgdXNlciBvbmNlIGl0IGlzIHNldDsgYSBzb1wKK2Z0IGxpbWl0IG1heSkyLjcwOSBGIC40MjUoYmUgaW5jcmVhc2VkIHVwIHRvIHRoZSB2KTE0NCAyOTIuOCBSIC40MjUKKyhhbHVlIG9mIHRoZSBoYXJkIGxpbWl0LiktLjI1IEYgLjQyNihJZiBuZWl0aGVyKTUuNDI1IEYgRjE8YWQ0OD4yLjkyNiBFCitGMChub3IpMi45MjYgRSBGMTxhZDUzPjIuOTI2IEUgRjAgLjQyNgorKGlzIHNwZWNpXDIxNGVkLCBib3RoIHRoZSBzb2Z0IGFuZCkyLjkyNiBGIC4xMzkoaGFyZCBsaW1pdHMgYXJlIHNldC4pMTQ0CiszMDQuOCBSIC4xMzkoVGhlIHYpNS4xMzkgRiAuMTM5KGFsdWUgb2YpLS4yNSBGIEYyKGxpbWl0KTIuNzI5IEUgRjAgLjEzOQorKGNhbiBiZSBhIG51bWJlciBpbiB0aGUgdW5pdCBzcGVjaVwyMTRlZCBmb3IgdGhlIHJlc291cmNlIG9yIG9uZSkzLjMxOSBGCisuNzQxKG9mIHRoZSBzcGVjaWFsIHYpMTQ0IDMxNi44IFIoYWx1ZXMpLS4yNSBFIEYxKGhhcmQpMy4yNDEgRSBGMCgsKUEgRjEKKyhzb2Z0KTMuMjQxIEUgRjAgMy4yNDEoLG8pQyhyKS0zLjI0MSBFIEYxKHVubGltaXRlZCkzLjI0MSBFIEYwIDMuMjQxKCx3KQorQyAuNzQxKGhpY2ggc3RhbmQgZm9yIHRoZSBjdXJyZW50IGhhcmQgbGltaXQsIHRoZSBjdXJyZW50KS0zLjI0MSBGIC43OAorKHNvZnQgbGltaXQsIGFuZCBubyBsaW1pdCwgcmVzcGVjdGkpMTQ0IDMyOC44IFIgLS4xNSh2ZSktLjI1IEcobHkpLjE1IEUKKzUuNzgoLkkpLS42NSBHKGYpLTUuNzggRSBGMihsaW1pdCkzLjM3IEUgRjAgLjc4CisoaXMgb21pdHRlZCwgdGhlIGN1cnJlbnQgdikzLjk2IEYgLjc4KGFsdWUgb2YgdGhlIHNvZnQgbGltaXQgb2YgdGhlKS0uMjUKK0YgLjQ5OChyZXNvdXJjZSBpcyBwcmludGVkLCB1bmxlc3MgdGhlKTE0NCAzNDAuOCBSIEYxPGFkNDg+Mi45OTkgRSBGMAorLjQ5OShvcHRpb24gaXMgZ2kpMi45OTkgRiAtLjE1KHZlKS0uMjUgRyAyLjk5OShuLiBXaGVuKS4xNSBGIC40OTkKKyhtb3JlIHRoYW4gb25lIHJlc291cmNlIGlzIHNwZWNpXDIxNGVkLCB0aGUpMi45OTkgRgorKGxpbWl0IG5hbWUgYW5kIHVuaXQgYXJlIHByaW50ZWQgYmVmb3JlIHRoZSB2KTE0NCAzNTIuOCBRIDIuNQorKGFsdWUuIE90aGVyKS0uMjUgRihvcHRpb25zIGFyZSBpbnRlcnByZXRlZCBhcyBmb2xsbykyLjUgRSh3czopLS4yNSBFIEYxCis8YWQ2MT4xNDQgMzY0LjggUSBGMChBbGwgY3VycmVudCBsaW1pdHMgYXJlIHJlcG9ydGVkKTI1LjMgRSBGMTxhZDYyPjE0NAorMzc2LjggUSBGMChUaGUgbWF4aW11bSBzb2NrKTI0Ljc0IEUoZXQgYiktLjEgRSh1ZiktLjIgRShmZXIgc2l6ZSktLjI1IEUKK0YxPGFkNjM+MTQ0IDM4OC44IFEgRjAoVGhlIG1heGltdW0gc2l6ZSBvZiBjb3JlIFwyMTRsZXMgY3JlYXRlZCkyNS44NiBFCitGMTxhZDY0PjE0NCA0MDAuOCBRIEYwKFRoZSBtYXhpbXVtIHNpemUgb2YgYSBwcm9jZXNzJykyNC43NCBFIDIuNShzZCkKKy0uNTUgRyhhdGEgc2UpLTIuNSBFKGdtZW50KS0uMTUgRSBGMTxhZDY1PjE0NCA0MTIuOCBRIEYwCisoVGhlIG1heGltdW0gc2NoZWR1bGluZyBwcmlvcml0eSBcKCJuaWNlIlwpKTI1Ljg2IEUgRjE8YWQ2Nj4xNDQgNDI0LjggUQorRjAoVGhlIG1heGltdW0gc2l6ZSBvZiBcMjE0bGVzIHdyaXR0ZW4gYnkgdGhlIHNoZWxsIGFuZCBpdHMgY2hpbGRyZW4pCisyNi45NyBFIEYxPGFkNjk+MTQ0IDQzNi44IFEgRjAoVGhlIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscykKKzI3LjUyIEUgRjE8YWQ2Yz4xNDQgNDQ4LjggUSBGMChUaGUgbWF4aW11bSBzaXplIHRoYXQgbWF5IGJlIGxvY2spMjcuNTIgRQorKGVkIGludG8gbWVtb3J5KS0uMSBFIEYxPGFkNmQ+MTQ0IDQ2MC44IFEgRjAKKyhUaGUgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZSBcKG1hbikyMS45NyBFIDIuNSh5cyktLjE1IEcKKyh5c3RlbXMgZG8gbm90IGhvbm9yIHRoaXMgbGltaXRcKSktMi41IEUgRjE8YWQ2ZT4xNDQgNDcyLjggUSBGMCAuNzkxKFRoXAorZSBtYXhpbXVtIG51bWJlciBvZiBvcGVuIFwyMTRsZSBkZXNjcmlwdG9ycyBcKG1vc3Qgc3lzdGVtcyBkbyBub3QgYWxsbykKKzI0Ljc0IEYgMy4yOSh3dCktLjI1IEcgLjc5KGhpcyB2KS0zLjI5IEYgLjc5KGFsdWUgdG8pLS4yNSBGKGJlIHNldFwpKTE4MAorNDg0LjggUSBGMTxhZDcwPjE0NCA0OTYuOCBRIEYwCiAoVGhlIHBpcGUgc2l6ZSBpbiA1MTItYnl0ZSBibG9ja3MgXCh0aGlzIG1heSBub3QgYmUgc2V0XCkpMjQuNzQgRSBGMQotPGFkNzE+MTQ0IDE1NiBRIEYwKFRoZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlcykKLTI0Ljc0IEUgRjE8YWQ3Mj4xNDQgMTY4IFEgRjAoVGhlIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHkpCi0yNS44NiBFIEYxPGFkNzM+MTQ0IDE4MCBRIEYwKFRoZSBtYXhpbXVtIHN0YWNrIHNpemUpMjYuNDEgRSBGMTxhZDc0PjE0NAotMTkyIFEgRjAoVGhlIG1heGltdW0gYW1vdW50IG9mIGNwdSB0aW1lIGluIHNlY29uZHMpMjYuOTcgRSBGMTxhZDc1PjE0NAotMjA0IFEgRjAoVGhlIG1heGltdW0gbnVtYmVyIG9mIHByb2Nlc3NlcyBhKTI0Ljc0IEUgLS4yNSh2YSktLjIgRwotKGlsYWJsZSB0byBhIHNpbmdsZSB1c2VyKS4yNSBFIEYxPGFkNzY+MTQ0IDIxNiBRIEYwCis8YWQ3MT4xNDQgNTA4LjggUSBGMAorKFRoZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlcykyNC43NCBFIEYxPGFkNzI+MTQ0Cis1MjAuOCBRIEYwKFRoZSBtYXhpbXVtIHJlYWwtdGltZSBzY2hlZHVsaW5nIHByaW9yaXR5KTI1Ljg2IEUgRjE8YWQ3Mz4xNDQKKzUzMi44IFEgRjAoVGhlIG1heGltdW0gc3RhY2sgc2l6ZSkyNi40MSBFIEYxPGFkNzQ+MTQ0IDU0NC44IFEgRjAKKyhUaGUgbWF4aW11bSBhbW91bnQgb2YgY3B1IHRpbWUgaW4gc2Vjb25kcykyNi45NyBFIEYxPGFkNzU+MTQ0IDU1Ni44IFEKK0YwKFRoZSBtYXhpbXVtIG51bWJlciBvZiBwcm9jZXNzZXMgYSkyNC43NCBFIC0uMjUodmEpLS4yIEcKKyhpbGFibGUgdG8gYSBzaW5nbGUgdXNlcikuMjUgRSBGMTxhZDc2PjE0NCA1NjguOCBRIEYwCiAoVGhlIG1heGltdW0gYW1vdW50IG9mIHZpcnR1YWwgbWVtb3J5IGEpMjUuMyBFIC0uMjUodmEpLS4yIEcKLShpbGFibGUgdG8gdGhlIHNoZWxsKS4yNSBFIEYxPGFkNzg+MTQ0IDIyOCBRIEYwCi0oVGhlIG1heGltdW0gbnVtYmVyIG9mIFwyMTRsZSBsb2NrcykyNS4zIEUgRjE8YWQ1ND4xNDQgMjQwIFEgRjAKLShUaGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcykyMy42MyBFKElmKTE0NCAyNTYuOCBRL0YyIDEwCi0vVGltZXMtSXRhbGljQDAgU0YobGltaXQpMi45MzMgRSBGMCAuMzQzKGlzIGdpKTMuNTIzIEYgLS4xNSh2ZSktLjI1IEcKLS4zNDMobiwgaXQgaXMgdGhlIG5lKS4xNSBGIDIuODQzKHd2KS0uMjUgRyAuMzQzCi0oYWx1ZSBvZiB0aGUgc3BlY2lcMjE0ZWQgcmVzb3VyY2UgXCh0aGUpLTMuMDkzIEYgRjE8YWQ2MT4yLjg0MyBFIEYwIC4zNDMKLShvcHRpb24gaXMgZGlzcGxheSBvbmx5XCkuKTIuODQzIEYgLjM0MyhJZiBubyk1LjM0MyBGIC4xNzYob3B0aW9uIGlzIGdpKQotMTQ0IDI2OC44IFIgLS4xNSh2ZSktLjI1IEcgLjE3NihuLCB0aGVuKS4xNSBGIEYxPGFkNjY+Mi42NzYgRSBGMCAuMTc1Ci0oaXMgYXNzdW1lZC4pMi42NzYgRiAtMS4xMShWYSk1LjE3NSBHIC4xNzUKKyhpbGFibGUgdG8gdGhlIHNoZWxsKS4yNSBFIEYxPGFkNzg+MTQ0IDU4MC44IFEgRjAKKyhUaGUgbWF4aW11bSBudW1iZXIgb2YgXDIxNGxlIGxvY2tzKTI1LjMgRSBGMTxhZDU0PjE0NCA1OTIuOCBRIEYwCisoVGhlIG1heGltdW0gbnVtYmVyIG9mIHRocmVhZHMpMjMuNjMgRShJZikxNDQgNjA5LjYgUSBGMihsaW1pdCkyLjkzMyBFCitGMCAuMzQzKGlzIGdpKTMuNTIzIEYgLS4xNSh2ZSktLjI1IEcgLjM0MyhuLCBpdCBpcyB0aGUgbmUpLjE1IEYgMi44NDMKKyh3diktLjI1IEcgLjM0MyhhbHVlIG9mIHRoZSBzcGVjaVwyMTRlZCByZXNvdXJjZSBcKHRoZSktMy4wOTMgRiBGMTxhZDYxPgorMi44NDMgRSBGMCAuMzQzKG9wdGlvbiBpcyBkaXNwbGF5IG9ubHlcKS4pMi44NDMgRiAuMzQzKElmIG5vKTUuMzQzIEYKKy4xNzYob3B0aW9uIGlzIGdpKTE0NCA2MjEuNiBSIC0uMTUodmUpLS4yNSBHIC4xNzYobiwgdGhlbikuMTUgRiBGMTxhZDY2PgorMi42NzYgRSBGMCAuMTc1KGlzIGFzc3VtZWQuKTIuNjc2IEYgLTEuMTEoVmEpNS4xNzUgRyAuMTc1CiAobHVlcyBhcmUgaW4gMTAyNC1ieXRlIGluY3JlbWVudHMsIGUpMS4xMSBGIC4xNzUoeGNlcHQgZm9yKS0uMTUgRiBGMQotPGFkNzQ+Mi42NzUgRSBGMCAyLjY3NSgsdylDIC4xNzUoaGljaCBpcyBpbiktMi42NzUgRihzZWNvbmRzLCkxNDQgMjgwLjgKKzxhZDc0PjIuNjc1IEUgRjAgMi42NzUoLHcpQyAuMTc1KGhpY2ggaXMgaW4pLTIuNjc1IEYoc2Vjb25kcywpMTQ0IDYzMy42CiBRIEYxPGFkNzA+Mi41MTUgRSBGMCAyLjUxNSgsdylDIC4wMTUKIChoaWNoIGlzIGluIHVuaXRzIG9mIDUxMi1ieXRlIGJsb2NrcywgYW5kKS0yLjUxNSBGIEYxPGFkNTQ+Mi41MTYgRSBGMCgsKQogQSBGMTxhZDYyPjIuNTE2IEUgRjAoLClBIEYxPGFkNmU+Mi41MTYgRSBGMCAyLjUxNigsYSlDKG5kKS0yLjUxNiBFIEYxCiA8YWQ3NT4yLjUxNiBFIEYwIDIuNTE2KCx3KUMgLjAxNihoaWNoIGFyZSB1bnNjYWxlZCB2KS0yLjUxNiBGKGFsLSktLjI1IEUKLTMuNzg4KHVlcy4gVGhlKTE0NCAyOTIuOCBSIDEuMjg3KHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3MgYW4gaW4pMy43ODcgRgorMy43ODgodWVzLiBUaGUpMTQ0IDY0NS42IFIgMS4yODcocmV0dXJuIHN0YXR1cyBpcyAwIHVubGVzcyBhbiBpbikzLjc4NyBGCiAtLjI1KHZhKS0uNCBHIDEuMjg3KGxpZCBvcHRpb24gb3IgYXIpLjI1IEYgMS4yODcKIChndW1lbnQgaXMgc3VwcGxpZWQsIG9yIGFuIGVycm9yIG9jY3VycyktLjE4IEYod2hpbGUgc2V0dGluZyBhIG5lKTE0NAotMzA0LjggUSAyLjUod2wpLS4yNSBHKGltaXQuKS0yLjUgRSBGMSh1bWFzaykxMDggMzIxLjYgUSBGMChbKTIuNSBFIEYxCis2NTcuNiBRIDIuNSh3bCktLjI1IEcoaW1pdC4pLTIuNSBFIEYxKHVtYXNrKTEwOCA2NzQuNCBRIEYwKFspMi41IEUgRjEKIDxhZDcwPkEgRjAgMi41KF1bKUMgRjE8YWQ1Mz4tMi41IEUgRjAgMi41KF1bKUMgRjIobW9kZSktMi41IEUgRjAoXSlBIC4yCi0oVGhlIHVzZXIgXDIxNGxlLWNyZWF0aW9uIG1hc2sgaXMgc2V0IHRvKTE0NCAzMzMuNiBSIEYyKG1vZGUpMi43IEUgRjAKKyhUaGUgdXNlciBcMjE0bGUtY3JlYXRpb24gbWFzayBpcyBzZXQgdG8pMTQ0IDY4Ni40IFIgRjIobW9kZSkyLjcgRSBGMAogNS4yKC5JKS4xOCBHKGYpLTUuMiBFIEYyKG1vZGUpMy4wOCBFIEYwKGJlKTIuODggRSAuMgogKGdpbnMgd2l0aCBhIGRpZ2l0LCBpdCBpcyBpbnRlcnByZXRlZCBhcyBhbiBvY3RhbCktLjE1IEYgLjA2NihudW1iZXI7IG9cCiB0aGVyd2lzZSBpdCBpcyBpbnRlcnByZXRlZCBhcyBhIHN5bWJvbGljIG1vZGUgbWFzayBzaW1pbGFyIHRvIHRoYXQgYWNjZVwKLXB0ZWQgYnkpMTQ0IDM0NS42IFIgRjIgLS4xNShjaCkyLjU2NiBHKG1vZCkuMTUgRSBGMChcKDFcKS4pLjc3IEUoSWYpMTQ0Ci0zNTcuNiBRIEYyKG1vZGUpMy4yNjIgRSBGMCAuMzgyKGlzIG9taXR0ZWQsIHRoZSBjdXJyZW50IHYpMy4wNjIgRiAuMzgyCitwdGVkIGJ5KTE0NCA2OTguNCBSIEYyIC0uMTUoY2gpMi41NjYgRyhtb2QpLjE1IEUgRjAoXCgxXCkuKS43NyBFKElmKTE0NAorNzEwLjQgUSBGMihtb2RlKTMuMjYyIEUgRjAgLjM4MihpcyBvbWl0dGVkLCB0aGUgY3VycmVudCB2KTMuMDYyIEYgLjM4MgogKGFsdWUgb2YgdGhlIG1hc2sgaXMgcHJpbnRlZC4pLS4yNSBGKFRoZSk1LjM4MiBFIEYxPGFkNTM+Mi44ODIgRSBGMCAuMzgyCiAob3B0aW9uIGNhdXNlcyB0aGUgbWFzayB0byBiZSkyLjg4MiBGIC41NDcKLShwcmludGVkIGluIHN5bWJvbGljIGZvcm07IHRoZSBkZWYpMTQ0IDM2OS42IFIgLjU0NworKHByaW50ZWQgaW4gc3ltYm9saWMgZm9ybTsgdGhlIGRlZikxNDQgNzIyLjQgUiAuNTQ3CiAoYXVsdCBvdXRwdXQgaXMgYW4gb2N0YWwgbnVtYmVyKS0uMSBGIDUuNTQ3KC5JKS0uNTUgRyAzLjA0NyhmdCktNS41NDcgRwotKGhlKS0zLjA0NyBFIEYxPGFkNzA+My4wNDcgRSBGMCAuNTQ3KG9wdGlvbiBpcyBzdXBwbGllZCwgYW5kKTMuMDQ3IEYgRjIKLShtb2RlKTE0NC4zOCAzODEuNiBRIEYwIC41NTEKKyhoZSktMy4wNDcgRSBGMTxhZDcwPjMuMDQ3IEUgRjAgLjU0NyhvcHRpb24gaXMgc3VwcGxpZWQsIGFuZCkzLjA0NyBGCisoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSgyMCkxOTguNzI1IEUgMCBDZyBFUAorJSVQYWdlOiAyMSAyMQorJSVCZWdpblBhZ2VTZXR1cAorQlAKKyUlRW5kUGFnZVNldHVwCisvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMoU0hfQikuMzUgRShVSUwpLS4xIEUgMjkwLjQ4CisoVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRS9GMSAxMAorL1RpbWVzLUl0YWxpY0AwIFNGKG1vZGUpMTQ0LjM4IDg0IFEgRjAgLjU1MQogKGlzIG9taXR0ZWQsIHRoZSBvdXRwdXQgaXMgaW4gYSBmb3JtIHRoYXQgbWF5IGJlIHJldXNlZCBhcyBpbnB1dC4pMy4yMzEKLUYgLjU1MihUaGUgcmV0dXJuIHN0YXR1cyBpcyAwIGlmIHRoZSk1LjU1MiBGKG1vZGUgdykxNDQgMzkzLjYgUQotKGFzIHN1Y2Nlc3NmdWxseSBjaGFuZ2VkIG9yIGlmIG5vKS0uMSBFIEYyKG1vZGUpMi41IEUgRjAoYXIpMi41IEUKLShndW1lbnQgdyktLjE4IEUoYXMgc3VwcGxpZWQsIGFuZCBmKS0uMSBFKGFsc2Ugb3RoZXJ3aXNlLiktLjEgRSBGMQotKHVuYWxpYXMpMTA4IDQxMC40IFEgRjA8NWJhZD4yLjUgRSBGMShhKUEgRjAgMi41KF1bKUMgRjIobmFtZSktMi41IEUgRjAKLSguLi5dKTIuNSBFKFJlbW8pMTQ0IDQyMi40IFEgMS45NTUgLS4xNSh2ZSBlKS0uMTUgSChhY2gpLjE1IEUgRjIobmFtZSkKLTQuMTU1IEUgRjAgMS42NTUoZnJvbSB0aGUgbGlzdCBvZiBkZVwyMTRuZWQgYWxpYXNlcy4pNC4xNTUgRihJZik2LjY1NSBFCi1GMTxhZDYxPjQuMTU1IEUgRjAgMS42NTUoaXMgc3VwcGxpZWQsIGFsbCBhbGlhcyBkZVwyMTRuaXRpb25zIGFyZSk0LjE1NQotRihyZW1vKTE0NCA0MzQuNCBRIC0uMTUodmUpLS4xNSBHIDIuNShkLiBUaGUpLjE1IEYocmV0dXJuIHYpMi41IEUKLShhbHVlIGlzIHRydWUgdW5sZXNzIGEgc3VwcGxpZWQpLS4yNSBFIEYyKG5hbWUpMi44NiBFIEYwCi0oaXMgbm90IGEgZGVcMjE0bmVkIGFsaWFzLikyLjY4IEUgRjEodW5zZXQpMTA4IDQ1MS4yIFEgRjA8NWJhZD4yLjUgRSBGMQotKGZ2KUEgRjAgMi41KF1bKUMgRjIobmFtZSktMi41IEUgRjAoLi4uXSkyLjUgRSAtLjE1KEZvKTE0NCA0NjMuMiBTIDMuMTA2Ci0ocmUpLjE1IEcoYWNoKS0zLjEwNiBFIEYyKG5hbWUpMy4xMDYgRSBGMCAzLjEwNigscikuMTggRyhlbW8pLTMuMTA2IEUKK0YgLjU1MihUaGUgcmV0dXJuIHN0YXR1cyBpcyAwIGlmIHRoZSk1LjU1MiBGKG1vZGUgdykxNDQgOTYgUQorKGFzIHN1Y2Nlc3NmdWxseSBjaGFuZ2VkIG9yIGlmIG5vKS0uMSBFIEYxKG1vZGUpMi41IEUgRjAoYXIpMi41IEUKKyhndW1lbnQgdyktLjE4IEUoYXMgc3VwcGxpZWQsIGFuZCBmKS0uMSBFKGFsc2Ugb3RoZXJ3aXNlLiktLjEgRS9GMiAxMAorL1RpbWVzLUJvbGRAMCBTRih1bmFsaWFzKTEwOCAxMTIuOCBRIEYwPDViYWQ+Mi41IEUgRjIoYSlBIEYwIDIuNShdWylDIEYxCisobmFtZSktMi41IEUgRjAoLi4uXSkyLjUgRShSZW1vKTE0NCAxMjQuOCBRIDEuOTU1IC0uMTUodmUgZSktLjE1IEgoYWNoKQorLjE1IEUgRjEobmFtZSk0LjE1NSBFIEYwIDEuNjU1KGZyb20gdGhlIGxpc3Qgb2YgZGVcMjE0bmVkIGFsaWFzZXMuKTQuMTU1CitGKElmKTYuNjU1IEUgRjI8YWQ2MT40LjE1NSBFIEYwIDEuNjU1CisoaXMgc3VwcGxpZWQsIGFsbCBhbGlhcyBkZVwyMTRuaXRpb25zIGFyZSk0LjE1NSBGKHJlbW8pMTQ0IDEzNi44IFEgLS4xNQorKHZlKS0uMTUgRyAyLjUoZC4gVGhlKS4xNSBGKHJldHVybiB2KTIuNSBFCisoYWx1ZSBpcyB0cnVlIHVubGVzcyBhIHN1cHBsaWVkKS0uMjUgRSBGMShuYW1lKTIuODYgRSBGMAorKGlzIG5vdCBhIGRlXDIxNG5lZCBhbGlhcy4pMi42OCBFIEYyKHVuc2V0KTEwOCAxNTMuNiBRIEYwPDViYWQ+Mi41IEUgRjIKKyhmdilBIEYwIDIuNShdWylDIEYxKG5hbWUpLTIuNSBFIEYwKC4uLl0pMi41IEUgLS4xNShGbykxNDQgMTY1LjYgUyAzLjEwNgorKHJlKS4xNSBHKGFjaCktMy4xMDYgRSBGMShuYW1lKTMuMTA2IEUgRjAgMy4xMDYoLHIpLjE4IEcoZW1vKS0zLjEwNiBFCiAuOTA2IC0uMTUodmUgdCktLjE1IEggLjYwNihoZSBjb3JyZXNwb25kaW5nIHYpLjE1IEYgLjYwNwogKGFyaWFibGUgb3IgZnVuY3Rpb24uKS0uMjUgRiAuNjA3KElmIG5vIG9wdGlvbnMgYXJlIHN1cHBsaWVkLCBvciB0aGUpCi01LjYwNyBGIEYxPGFkNzY+MTQ0IDQ3NS4yIFEgRjAgLjMwNShvcHRpb24gaXMgZ2kpMi44MDUgRiAtLjE1KHZlKS0uMjUgRwotLjMwNShuLCBlYWNoKS4xNSBGIEYyKG5hbWUpMy4xNjUgRSBGMCAuMzA1KHJlZmVycyB0byBhIHNoZWxsIHYpMi45ODUgRgorNS42MDcgRiBGMjxhZDc2PjE0NCAxNzcuNiBRIEYwIC4zMDUob3B0aW9uIGlzIGdpKTIuODA1IEYgLS4xNSh2ZSktLjI1IEcKKy4zMDUobiwgZWFjaCkuMTUgRiBGMShuYW1lKTMuMTY1IEUgRjAgLjMwNShyZWZlcnMgdG8gYSBzaGVsbCB2KTIuOTg1IEYKIDIuODA1KGFyaWFibGUuIFJlYWQtb25seSktLjI1IEYgLS4yNSh2YSkyLjgwNSBHIC4zMDQKLShyaWFibGVzIG1heSBub3QgYmUgdW5zZXQuKS4yNSBGKElmKTUuMzA0IEUgRjE8YWQ2Nj4xNDQgNDg3LjIgUSBGMCAuNDU5Ci0oaXMgc3BlY2lcMjE0ZWQsIGVhY2gpMi45NTkgRiBGMihuYW1lKTMuMzE5IEUgRjAgLjQ1OQorKHJpYWJsZXMgbWF5IG5vdCBiZSB1bnNldC4pLjI1IEYoSWYpNS4zMDQgRSBGMjxhZDY2PjE0NCAxODkuNiBRIEYwIC40NTkKKyhpcyBzcGVjaVwyMTRlZCwgZWFjaCkyLjk1OSBGIEYxKG5hbWUpMy4zMTkgRSBGMCAuNDU5CiAocmVmZXJzIHRvIGEgc2hlbGwgZnVuY3Rpb24sIGFuZCB0aGUgZnVuY3Rpb24gZGVcMjE0bml0aW9uIGlzIHJlbW8pMy4xMzkKLUYgLS4xNSh2ZSktLjE1IEcgMi45NihkLiBFYWNoKS4xNSBGIC45MDModW5zZXQgdikxNDQgNDk5LjIgUiAuOTAzCitGIC0uMTUodmUpLS4xNSBHIDIuOTYoZC4gRWFjaCkuMTUgRiAuOTAzKHVuc2V0IHYpMTQ0IDIwMS42IFIgLjkwMwogKGFyaWFibGUgb3IgZnVuY3Rpb24gaXMgcmVtbyktLjI1IEYgLS4xNSh2ZSktLjE1IEcgMy40MDIoZGYpLjE1IEcgLjkwMgogKHJvbSB0aGUgZW4pLTMuNDAyIEYgLjkwMih2aXJvbm1lbnQgcGFzc2VkIHRvIHN1YnNlcXVlbnQgY29tbWFuZHMuKS0uNCBGCi0oSWYpNS45MDIgRShhbikxNDQgNTExLjIgUSA0LjI4NCh5byktLjE1IEcoZiktNC4yODQgRS9GMyA5L1RpbWVzLUJvbGRAMAotU0YoUkFORE9NKTQuMjg0IEUvRjQgOS9UaW1lcy1Sb21hbkAwIFNGKCwpQSBGMyhTRUNPTkRTKTQuMDM1IEUgRjQoLClBIEYzCi0oTElORU5PKTQuMDM1IEUgRjQoLClBIEYzKEhJU1RDTUQpNC4wMzUgRSBGNCgsKUEgRjMoRlVOQ04pNC4wMzUgRShBTUUpCi0tLjE4IEUgRjQoLClBIEYzKEdSKTQuMDM1IEUoT1VQUyktLjI3IEUgRjQoLClBIEYwKG9yKTQuMDM1IEUgRjMoRElSU1QpCi00LjI4NSBFIC0uNDk1KEFDKS0uODEgRyhLKS40OTUgRSBGMChhcmUpNC4wMzUgRSAuMzI5KHVuc2V0LCB0aGUpMTQ0Ci01MjMuMiBSIDIuODI5KHlsKS0uMTUgRyAuMzI4KG9zZSB0aGVpciBzcGVjaWFsIHByb3BlcnRpZXMsIGUpLTIuODI5IEYKLS0uMTUodmUpLS4yNSBHIDIuODI4KG5pKS4xNSBHIDIuODI4KGZ0KS0yLjgyOCBHKGhlKS0yLjgyOCBFIDIuODI4KHlhKQotLS4xNSBHIC4zMjgocmUgc3Vic2VxdWVudGx5IHJlc2V0LiktMi44MjggRiAuMzI4KFRoZSBlKTUuMzI4IEYgLjMyOAotKHhpdCBzdGF0dXMgaXMgdHJ1ZSktLjE1IEYodW5sZXNzIGEpMTQ0IDUzNS4yIFEgRjIobmFtZSkyLjg2IEUgRjAKLShpcyByZWFkb25seSkyLjY4IEUoLiktLjY1IEUgRjEod2FpdCkxMDggNTUyIFEgRjAoWykyLjUgRSBGMiAyLjUobi4pQwotKC4uKS0yLjUgRSBGMChdKUEgLS44KFdhKTE0NCA1NjQgUyAuMjg4CisoSWYpNS45MDIgRShhbikxNDQgMjEzLjYgUSA2LjkxNSh5byktLjE1IEcoZiktNi45MTUgRS9GMyA5L1RpbWVzLUJvbGRAMAorU0YoQ09NUF9XKTYuOTE1IEUoT1JEQlJFQUtTKS0uMDkgRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLClBIEYzKFJBTkRPTSkKKzYuNjY1IEUgRjQoLClBIEYzKFNFQ09ORFMpNi42NjUgRSBGNCgsKUEgRjMoTElORU5PKTYuNjY1IEUgRjQoLClBIEYzCisoSElTVENNRCk2LjY2NiBFIEY0KCwpQSBGMyhGVU5DTik2LjY2NiBFKEFNRSktLjE4IEUgRjQoLClBIEYzKEdSKTE0NAorMjI1LjYgUShPVVBTKS0uMjcgRSBGNCgsKUEgRjAob3IpMi41MjMgRSBGMyhESVJTVCkyLjc3MyBFIC0uNDk1KEFDKS0uODEKK0coSykuNDk1IEUgRjAgLjI3MihhcmUgdW5zZXQsIHRoZSkyLjUyMiBGIDIuNzcyKHlsKS0uMTUgRyAuMjcyCisob3NlIHRoZWlyIHNwZWNpYWwgcHJvcGVydGllcywgZSktMi43NzIgRiAtLjE1KHZlKS0uMjUgRyAyLjc3MihuaSkuMTUgRworMi43NzIoZnQpLTIuNzcyIEcoaGUpLTIuNzcyIEUgMi43NzIoeWEpLS4xNSBHIC4yNzIocmUgc3Vic2VxdWVudGx5KQorLTIuNzcyIEYgMi41KHJlc2V0LiBUaGUpMTQ0IDIzNy42IFIgLS4xNShleCkyLjUgRworKGl0IHN0YXR1cyBpcyB0cnVlIHVubGVzcyBhKS4xNSBFIEYxKG5hbWUpMi44NiBFIEYwKGlzIHJlYWRvbmx5KTIuNjggRQorKC4pLS42NSBFIEYyKHdhaXQpMTA4IDI1NC40IFEgRjAoWykyLjUgRSBGMSAyLjUobi4pQyguLiktMi41IEUgRjAoXSlBCistLjgoV2EpMTQ0IDI2Ni40IFMgLjI4OAogKGl0IGZvciBlYWNoIHNwZWNpXDIxNGVkIHByb2Nlc3MgYW5kIHJldHVybiBpdHMgdGVybWluYXRpb24gc3RhdHVzLikuOCBGCi0oRWFjaCk1LjI4OCBFIEYyKG4pMy4xNDggRSBGMCAuMjg4KG1heSBiZSBhIHByb2Nlc3MgSUQgb3IgYSkzLjAyOCBGIC43MjIKLShqb2Igc3BlY2lcMjE0Y2F0aW9uOyBpZiBhIGpvYiBzcGVjIGlzIGdpKTE0NCA1NzYgUiAtLjE1KHZlKS0uMjUgRyAuNzIyCi0obiwgYWxsIHByb2Nlc3NlcyBpbiB0aGF0IGpvYicpLjE1IEYgMy4yMjIoc3ApLS41NSBHIC43MjIoaXBlbGluZSBhcmUgdykKLS0zLjIyMiBGIC43MjIoYWl0ZWQgZm9yKS0uMSBGIDUuNzIyKC5JKS0uNTUgRyhmKS01LjcyMiBFIEYyKG4pMy41ODIgRSBGMAotKGlzKTMuNDYyIEUgMS4yNjUobm90IGdpKTE0NCA1ODggUiAtLjE1KHZlKS0uMjUgRyAxLjI2NQorKEVhY2gpNS4yODggRSBGMShuKTMuMTQ4IEUgRjAgLjI4OChtYXkgYmUgYSBwcm9jZXNzIElEIG9yIGEpMy4wMjggRiAuNzIyCisoam9iIHNwZWNpXDIxNGNhdGlvbjsgaWYgYSBqb2Igc3BlYyBpcyBnaSkxNDQgMjc4LjQgUiAtLjE1KHZlKS0uMjUgRworLjcyMihuLCBhbGwgcHJvY2Vzc2VzIGluIHRoYXQgam9iJykuMTUgRiAzLjIyMihzcCktLjU1IEcgLjcyMgorKGlwZWxpbmUgYXJlIHcpLTMuMjIyIEYgLjcyMihhaXRlZCBmb3IpLS4xIEYgNS43MjIoLkkpLS41NSBHKGYpLTUuNzIyIEUKK0YxKG4pMy41ODIgRSBGMChpcykzLjQ2MiBFIDEuMjY1KG5vdCBnaSkxNDQgMjkwLjQgUiAtLjE1KHZlKS0uMjUgRyAxLjI2NQogKG4sIGFsbCBjdXJyZW50bHkgYWN0aSkuMTUgRiAxLjU2NSAtLjE1KHZlIGMpLS4yNSBIIDEuMjY1CiAoaGlsZCBwcm9jZXNzZXMgYXJlIHcpLjE1IEYgMS4yNjUoYWl0ZWQgZm9yKS0uMSBGIDMuNzY1KCxhKS0uNCBHIDEuMjY2Ci0obmQgdGhlIHJldHVybiBzdGF0dXMgaXMgemVyby4pLTMuNzY1IEYoSWYpNi4yNjYgRSBGMihuKTQuMTI2IEUgRjAgLjQ1NwotKHNwZWNpXDIxNGVzIGEgbm9uLWUpMTQ0IDYwMCBSIC40NTcKKyhuZCB0aGUgcmV0dXJuIHN0YXR1cyBpcyB6ZXJvLiktMy43NjUgRihJZik2LjI2NiBFIEYxKG4pNC4xMjYgRSBGMCAuNDU3Cisoc3BlY2lcMjE0ZXMgYSBub24tZSkxNDQgMzAyLjQgUiAuNDU3CiAoeGlzdGVudCBwcm9jZXNzIG9yIGpvYiwgdGhlIHJldHVybiBzdGF0dXMgaXMgMTI3LiktLjE1IEYgLjQ1NwotKE90aGVyd2lzZSwgdGhlIHJldHVybiBzdGF0dXMgaXMgdGhlKTUuNDU3IEYgLS4xNShleCkxNDQgNjEyIFMKKyhPdGhlcndpc2UsIHRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSk1LjQ1NyBGIC0uMTUoZXgpMTQ0IDMxNC40IFMKIChpdCBzdGF0dXMgb2YgdGhlIGxhc3QgcHJvY2VzcyBvciBqb2IgdykuMTUgRShhaXRlZCBmb3IpLS4xIEUoLiktLjU1IEUKLS9GNSAxMC45NS9UaW1lcy1Cb2xkQDAgU0YoU0VFIEFMU08pNzIgNjI4LjggUSBGMChiYXNoXCgxXCksIHNoXCgxXCkpMTA4Ci02NDAuOCBRKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA0IEFwciAyMCkxNDguNzM1IEUoMjApMTk4LjcyNSBFIDAgQ2cgRVAKKy9GNSAxMC45NS9UaW1lcy1Cb2xkQDAgU0YoU0VFIEFMU08pNzIgMzMxLjIgUSBGMChiYXNoXCgxXCksIHNoXCgxXCkpMTA4CiszNDMuMiBRKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA0IEFwciAyMCkxNDguNzM1IEUoMjEpMTk4LjcyNSBFIDAgQ2cgRVAKICUlVHJhaWxlcgogZW5kCiAlJUVPRgpkaWZmIC0tZ2l0IGEvZG9jL2ZkbC50ZXhpIGIvZG9jL2ZkbC50ZXhpCmluZGV4IDk2Y2U3NGUuLjg4MDVmMWEgMTAwNjQ0Ci0tLSBhL2RvYy9mZGwudGV4aQorKysgYi9kb2MvZmRsLnRleGkKQEAgLTEsMTIgKzEsMTIgQEAKIEBjIFRoZSBHTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2UuCi1AY2VudGVyIFZlcnNpb24gMS4yLCBOb3ZlbWJlciAyMDAyCitAY2VudGVyIFZlcnNpb24gMS4zLCAzIE5vdmVtYmVyIDIwMDgKIAogQGMgVGhpcyBmaWxlIGlzIGludGVuZGVkIHRvIGJlIGluY2x1ZGVkIHdpdGhpbiBhbm90aGVyIGRvY3VtZW50LAogQGMgaGVuY2Ugbm8gc2VjdGlvbmluZyBjb21tYW5kIG9yIEBub2RlLgogCiBAZGlzcGxheQotQ29weXJpZ2h0IEBjb3B5cmlnaHR7fSAyMDAwLDIwMDEsMjAwMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLTUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBCitDb3B5cmlnaHQgQGNvcHlyaWdodHt9IDIwMDAsIDIwMDEsIDIwMDIsIDIwMDcsIDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCitAdXJlZntodHRwOi8vZnNmLm9yZy99CiAKIEV2ZXJ5b25lIGlzIHBlcm1pdHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcwogb2YgdGhpcyBsaWNlbnNlIGRvY3VtZW50LCBidXQgY2hhbmdpbmcgaXQgaXMgbm90IGFsbG93ZWQuCkBAIC0xMTEsNiArMTExLDkgQEAKIHRoZSB0ZXh0IG5lYXIgdGhlIG1vc3QgcHJvbWluZW50IGFwcGVhcmFuY2Ugb2YgdGhlIHdvcmsncyB0aXRsZSwKIHByZWNlZGluZyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBib2R5IG9mIHRoZSB0ZXh0LgogCitUaGUgYGBwdWJsaXNoZXInJyBtZWFucyBhbnkgcGVyc29uIG9yIGVudGl0eSB0aGF0IGRpc3RyaWJ1dGVzIGNvcGllcworb2YgdGhlIERvY3VtZW50IHRvIHRoZSBwdWJsaWMuCisKIEEgc2VjdGlvbiBgYEVudGl0bGVkIFhZWicnIG1lYW5zIGEgbmFtZWQgc3VidW5pdCBvZiB0aGUgRG9jdW1lbnQgd2hvc2UKIHRpdGxlIGVpdGhlciBpcyBwcmVjaXNlbHkgWFlaIG9yIGNvbnRhaW5zIFhZWiBpbiBwYXJlbnRoZXNlcyBmb2xsb3dpbmcKIHRleHQgdGhhdCB0cmFuc2xhdGVzIFhZWiBpbiBhbm90aGVyIGxhbmd1YWdlLiAgKEhlcmUgWFlaIHN0YW5kcyBmb3IgYQpAQCAtMzc5LDEzICszODIsMzAgQEAKIEBpdGVtCiBURVJNSU5BVElPTgogCi1Zb3UgbWF5IG5vdCBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIG9yIGRpc3RyaWJ1dGUgdGhlIERvY3VtZW50IGV4Y2VwdAotYXMgZXhwcmVzc2x5IHByb3ZpZGVkIGZvciB1bmRlciB0aGlzIExpY2Vuc2UuICBBbnkgb3RoZXIgYXR0ZW1wdCB0bwotY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlIG9yIGRpc3RyaWJ1dGUgdGhlIERvY3VtZW50IGlzIHZvaWQsIGFuZCB3aWxsCi1hdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZSB5b3VyIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2UuICBIb3dldmVyLAotcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMsIG9yIHJpZ2h0cywgZnJvbSB5b3UgdW5kZXIgdGhpcwotTGljZW5zZSB3aWxsIG5vdCBoYXZlIHRoZWlyIGxpY2Vuc2VzIHRlcm1pbmF0ZWQgc28gbG9uZyBhcyBzdWNoCi1wYXJ0aWVzIHJlbWFpbiBpbiBmdWxsIGNvbXBsaWFuY2UuCitZb3UgbWF5IG5vdCBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIG9yIGRpc3RyaWJ1dGUgdGhlIERvY3VtZW50CitleGNlcHQgYXMgZXhwcmVzc2x5IHByb3ZpZGVkIHVuZGVyIHRoaXMgTGljZW5zZS4gIEFueSBhdHRlbXB0CitvdGhlcndpc2UgdG8gY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRlIGl0IGlzIHZvaWQsIGFuZAord2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZSB5b3VyIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2UuCisKK0hvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyIGxpY2Vuc2UKK2Zyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMgcmVpbnN0YXRlZCAoYSkgcHJvdmlzaW9uYWxseSwKK3VubGVzcyBhbmQgdW50aWwgdGhlIGNvcHlyaWdodCBob2xkZXIgZXhwbGljaXRseSBhbmQgZmluYWxseQordGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQgaG9sZGVyCitmYWlscyB0byBub3RpZnkgeW91IG9mIHRoZSB2aW9sYXRpb24gYnkgc29tZSByZWFzb25hYmxlIG1lYW5zIHByaW9yIHRvCis2MCBkYXlzIGFmdGVyIHRoZSBjZXNzYXRpb24uCisKK01vcmVvdmVyLCB5b3VyIGxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcworcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCit2aW9sYXRpb24gYnkgc29tZSByZWFzb25hYmxlIG1lYW5zLCB0aGlzIGlzIHRoZSBmaXJzdCB0aW1lIHlvdSBoYXZlCityZWNlaXZlZCBub3RpY2Ugb2YgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSAoZm9yIGFueSB3b3JrKSBmcm9tIHRoYXQKK2NvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKK3lvdXIgcmVjZWlwdCBvZiB0aGUgbm90aWNlLgorCitUZXJtaW5hdGlvbiBvZiB5b3VyIHJpZ2h0cyB1bmRlciB0aGlzIHNlY3Rpb24gZG9lcyBub3QgdGVybWluYXRlIHRoZQorbGljZW5zZXMgb2YgcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMgb3IgcmlnaHRzIGZyb20geW91IHVuZGVyCit0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CityZWluc3RhdGVkLCByZWNlaXB0IG9mIGEgY29weSBvZiBzb21lIG9yIGFsbCBvZiB0aGUgc2FtZSBtYXRlcmlhbCBkb2VzCitub3QgZ2l2ZSB5b3UgYW55IHJpZ2h0cyB0byB1c2UgaXQuCiAKIEBpdGVtCiBGVVRVUkUgUkVWSVNJT05TIE9GIFRISVMgTElDRU5TRQpAQCAtNDAzLDcgKzQyMyw0MiBAQAogb2YgYW55IGxhdGVyIHZlcnNpb24gdGhhdCBoYXMgYmVlbiBwdWJsaXNoZWQgKG5vdCBhcyBhIGRyYWZ0KSBieSB0aGUKIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4gIElmIHRoZSBEb2N1bWVudCBkb2VzIG5vdCBzcGVjaWZ5IGEgdmVyc2lvbgogbnVtYmVyIG9mIHRoaXMgTGljZW5zZSwgeW91IG1heSBjaG9vc2UgYW55IHZlcnNpb24gZXZlciBwdWJsaXNoZWQgKG5vdAotYXMgYSBkcmFmdCkgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KK2FzIGEgZHJhZnQpIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uICBJZiB0aGUgRG9jdW1lbnQKK3NwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUgdmVyc2lvbnMgb2YgdGhpcworTGljZW5zZSBjYW4gYmUgdXNlZCwgdGhhdCBwcm94eSdzIHB1YmxpYyBzdGF0ZW1lbnQgb2YgYWNjZXB0YW5jZSBvZiBhCit2ZXJzaW9uIHBlcm1hbmVudGx5IGF1dGhvcml6ZXMgeW91IHRvIGNob29zZSB0aGF0IHZlcnNpb24gZm9yIHRoZQorRG9jdW1lbnQuCisKK0BpdGVtCitSRUxJQ0VOU0lORworCitgYE1hc3NpdmUgTXVsdGlhdXRob3IgQ29sbGFib3JhdGlvbiBTaXRlJycgKG9yIGBgTU1DIFNpdGUnJykgbWVhbnMgYW55CitXb3JsZCBXaWRlIFdlYiBzZXJ2ZXIgdGhhdCBwdWJsaXNoZXMgY29weXJpZ2h0YWJsZSB3b3JrcyBhbmQgYWxzbworcHJvdmlkZXMgcHJvbWluZW50IGZhY2lsaXRpZXMgZm9yIGFueWJvZHkgdG8gZWRpdCB0aG9zZSB3b3Jrcy4gIEEKK3B1YmxpYyB3aWtpIHRoYXQgYW55Ym9keSBjYW4gZWRpdCBpcyBhbiBleGFtcGxlIG9mIHN1Y2ggYSBzZXJ2ZXIuICBBCitgYE1hc3NpdmUgTXVsdGlhdXRob3IgQ29sbGFib3JhdGlvbicnIChvciBgYE1NQycnKSBjb250YWluZWQgaW4gdGhlCitzaXRlIG1lYW5zIGFueSBzZXQgb2YgY29weXJpZ2h0YWJsZSB3b3JrcyB0aHVzIHB1Ymxpc2hlZCBvbiB0aGUgTU1DCitzaXRlLgorCitgYENDLUJZLVNBJycgbWVhbnMgdGhlIENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tU2hhcmUgQWxpa2UgMy4wCitsaWNlbnNlIHB1Ymxpc2hlZCBieSBDcmVhdGl2ZSBDb21tb25zIENvcnBvcmF0aW9uLCBhIG5vdC1mb3ItcHJvZml0Citjb3Jwb3JhdGlvbiB3aXRoIGEgcHJpbmNpcGFsIHBsYWNlIG9mIGJ1c2luZXNzIGluIFNhbiBGcmFuY2lzY28sCitDYWxpZm9ybmlhLCBhcyB3ZWxsIGFzIGZ1dHVyZSBjb3B5bGVmdCB2ZXJzaW9ucyBvZiB0aGF0IGxpY2Vuc2UKK3B1Ymxpc2hlZCBieSB0aGF0IHNhbWUgb3JnYW5pemF0aW9uLgorCitgYEluY29ycG9yYXRlJycgbWVhbnMgdG8gcHVibGlzaCBvciByZXB1Ymxpc2ggYSBEb2N1bWVudCwgaW4gd2hvbGUgb3IKK2luIHBhcnQsIGFzIHBhcnQgb2YgYW5vdGhlciBEb2N1bWVudC4KKworQW4gTU1DIGlzIGBgZWxpZ2libGUgZm9yIHJlbGljZW5zaW5nJycgaWYgaXQgaXMgbGljZW5zZWQgdW5kZXIgdGhpcworTGljZW5zZSwgYW5kIGlmIGFsbCB3b3JrcyB0aGF0IHdlcmUgZmlyc3QgcHVibGlzaGVkIHVuZGVyIHRoaXMgTGljZW5zZQorc29tZXdoZXJlIG90aGVyIHRoYW4gdGhpcyBNTUMsIGFuZCBzdWJzZXF1ZW50bHkgaW5jb3Jwb3JhdGVkIGluIHdob2xlCitvciBpbiBwYXJ0IGludG8gdGhlIE1NQywgKDEpIGhhZCBubyBjb3ZlciB0ZXh0cyBvciBpbnZhcmlhbnQgc2VjdGlvbnMsCithbmQgKDIpIHdlcmUgdGh1cyBpbmNvcnBvcmF0ZWQgcHJpb3IgdG8gTm92ZW1iZXIgMSwgMjAwOC4KKworVGhlIG9wZXJhdG9yIG9mIGFuIE1NQyBTaXRlIG1heSByZXB1Ymxpc2ggYW4gTU1DIGNvbnRhaW5lZCBpbiB0aGUgc2l0ZQordW5kZXIgQ0MtQlktU0Egb24gdGhlIHNhbWUgc2l0ZSBhdCBhbnkgdGltZSBiZWZvcmUgQXVndXN0IDEsIDIwMDksCitwcm92aWRlZCB0aGUgTU1DIGlzIGVsaWdpYmxlIGZvciByZWxpY2Vuc2luZy4KKwogQGVuZCBlbnVtZXJhdGUKIAogQHBhZ2UKQEAgLTQxNyw3ICs0NzIsNyBAQAogQGdyb3VwCiAgIENvcHlyaWdodCAoQykgIEB2YXJ7eWVhcn0gIEB2YXJ7eW91ciBuYW1lfS4KICAgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0aGlzIGRvY3VtZW50Ci0gIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlLCBWZXJzaW9uIDEuMgorICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBGcmVlIERvY3VtZW50YXRpb24gTGljZW5zZSwgVmVyc2lvbiAxLjMKICAgb3IgYW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247CiAgIHdpdGggbm8gSW52YXJpYW50IFNlY3Rpb25zLCBubyBGcm9udC1Db3ZlciBUZXh0cywgYW5kIG5vIEJhY2stQ292ZXIKICAgVGV4dHMuICBBIGNvcHkgb2YgdGhlIGxpY2Vuc2UgaXMgaW5jbHVkZWQgaW4gdGhlIHNlY3Rpb24gZW50aXRsZWQgYGBHTlUKZGlmZiAtLWdpdCBhL2RvYy9mZGwudHh0IGIvZG9jL2ZkbC50eHQKaW5kZXggZGFhMmRkNC4uMmY3ZTAzYyAxMDA2NDQKLS0tIGEvZG9jL2ZkbC50eHQKKysrIGIvZG9jL2ZkbC50eHQKQEAgLTEsMTMgKzEsMTMgQEAKLQkJR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlCi0JCSAgVmVyc2lvbiAxLjIsIE5vdmVtYmVyIDIwMDIKKworICAgICAgICAgICAgICAgIEdOVSBGcmVlIERvY3VtZW50YXRpb24gTGljZW5zZQorICAgICAgICAgICAgICAgICBWZXJzaW9uIDEuMywgMyBOb3ZlbWJlciAyMDA4CiAKIAotIENvcHlyaWdodCAoQykgMjAwMCwyMDAxLDIwMDIgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotICAgICA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgQ29weXJpZ2h0IChDKSAyMDAwLCAyMDAxLCAyMDAyLCAyMDA3LCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAgICA8aHR0cDovL2ZzZi5vcmcvPgogIEV2ZXJ5b25lIGlzIHBlcm1pdHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcwogIG9mIHRoaXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLgogCi0KIDAuIFBSRUFNQkxFCiAKIFRoZSBwdXJwb3NlIG9mIHRoaXMgTGljZW5zZSBpcyB0byBtYWtlIGEgbWFudWFsLCB0ZXh0Ym9vaywgb3Igb3RoZXIKQEAgLTUwLDExICs1MCwxMSBAQAogCiBBICJTZWNvbmRhcnkgU2VjdGlvbiIgaXMgYSBuYW1lZCBhcHBlbmRpeCBvciBhIGZyb250LW1hdHRlciBzZWN0aW9uIG9mCiB0aGUgRG9jdW1lbnQgdGhhdCBkZWFscyBleGNsdXNpdmVseSB3aXRoIHRoZSByZWxhdGlvbnNoaXAgb2YgdGhlCi1wdWJsaXNoZXJzIG9yIGF1dGhvcnMgb2YgdGhlIERvY3VtZW50IHRvIHRoZSBEb2N1bWVudCdzIG92ZXJhbGwgc3ViamVjdAotKG9yIHRvIHJlbGF0ZWQgbWF0dGVycykgYW5kIGNvbnRhaW5zIG5vdGhpbmcgdGhhdCBjb3VsZCBmYWxsIGRpcmVjdGx5Ci13aXRoaW4gdGhhdCBvdmVyYWxsIHN1YmplY3QuICAoVGh1cywgaWYgdGhlIERvY3VtZW50IGlzIGluIHBhcnQgYQotdGV4dGJvb2sgb2YgbWF0aGVtYXRpY3MsIGEgU2Vjb25kYXJ5IFNlY3Rpb24gbWF5IG5vdCBleHBsYWluIGFueQotbWF0aGVtYXRpY3MuKSAgVGhlIHJlbGF0aW9uc2hpcCBjb3VsZCBiZSBhIG1hdHRlciBvZiBoaXN0b3JpY2FsCitwdWJsaXNoZXJzIG9yIGF1dGhvcnMgb2YgdGhlIERvY3VtZW50IHRvIHRoZSBEb2N1bWVudCdzIG92ZXJhbGwKK3N1YmplY3QgKG9yIHRvIHJlbGF0ZWQgbWF0dGVycykgYW5kIGNvbnRhaW5zIG5vdGhpbmcgdGhhdCBjb3VsZCBmYWxsCitkaXJlY3RseSB3aXRoaW4gdGhhdCBvdmVyYWxsIHN1YmplY3QuICAoVGh1cywgaWYgdGhlIERvY3VtZW50IGlzIGluCitwYXJ0IGEgdGV4dGJvb2sgb2YgbWF0aGVtYXRpY3MsIGEgU2Vjb25kYXJ5IFNlY3Rpb24gbWF5IG5vdCBleHBsYWluCithbnkgbWF0aGVtYXRpY3MuKSAgVGhlIHJlbGF0aW9uc2hpcCBjb3VsZCBiZSBhIG1hdHRlciBvZiBoaXN0b3JpY2FsCiBjb25uZWN0aW9uIHdpdGggdGhlIHN1YmplY3Qgb3Igd2l0aCByZWxhdGVkIG1hdHRlcnMsIG9yIG9mIGxlZ2FsLAogY29tbWVyY2lhbCwgcGhpbG9zb3BoaWNhbCwgZXRoaWNhbCBvciBwb2xpdGljYWwgcG9zaXRpb24gcmVnYXJkaW5nCiB0aGVtLgpAQCAtMTAzLDYgKzEwMyw5IEBACiB0aGUgdGV4dCBuZWFyIHRoZSBtb3N0IHByb21pbmVudCBhcHBlYXJhbmNlIG9mIHRoZSB3b3JrJ3MgdGl0bGUsCiBwcmVjZWRpbmcgdGhlIGJlZ2lubmluZyBvZiB0aGUgYm9keSBvZiB0aGUgdGV4dC4KIAorVGhlICJwdWJsaXNoZXIiIG1lYW5zIGFueSBwZXJzb24gb3IgZW50aXR5IHRoYXQgZGlzdHJpYnV0ZXMgY29waWVzIG9mCit0aGUgRG9jdW1lbnQgdG8gdGhlIHB1YmxpYy4KKwogQSBzZWN0aW9uICJFbnRpdGxlZCBYWVoiIG1lYW5zIGEgbmFtZWQgc3VidW5pdCBvZiB0aGUgRG9jdW1lbnQgd2hvc2UKIHRpdGxlIGVpdGhlciBpcyBwcmVjaXNlbHkgWFlaIG9yIGNvbnRhaW5zIFhZWiBpbiBwYXJlbnRoZXNlcyBmb2xsb3dpbmcKIHRleHQgdGhhdCB0cmFuc2xhdGVzIFhZWiBpbiBhbm90aGVyIGxhbmd1YWdlLiAgKEhlcmUgWFlaIHN0YW5kcyBmb3IgYQpAQCAtMTE4LDE0ICsxMjEsMTMgQEAKIGltcGxpY2F0aW9uIHRoYXQgdGhlc2UgV2FycmFudHkgRGlzY2xhaW1lcnMgbWF5IGhhdmUgaXMgdm9pZCBhbmQgaGFzCiBubyBlZmZlY3Qgb24gdGhlIG1lYW5pbmcgb2YgdGhpcyBMaWNlbnNlLgogCi0KIDIuIFZFUkJBVElNIENPUFlJTkcKIAogWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHRoZSBEb2N1bWVudCBpbiBhbnkgbWVkaXVtLCBlaXRoZXIKIGNvbW1lcmNpYWxseSBvciBub25jb21tZXJjaWFsbHksIHByb3ZpZGVkIHRoYXQgdGhpcyBMaWNlbnNlLCB0aGUKIGNvcHlyaWdodCBub3RpY2VzLCBhbmQgdGhlIGxpY2Vuc2Ugbm90aWNlIHNheWluZyB0aGlzIExpY2Vuc2UgYXBwbGllcwotdG8gdGhlIERvY3VtZW50IGFyZSByZXByb2R1Y2VkIGluIGFsbCBjb3BpZXMsIGFuZCB0aGF0IHlvdSBhZGQgbm8gb3RoZXIKLWNvbmRpdGlvbnMgd2hhdHNvZXZlciB0byB0aG9zZSBvZiB0aGlzIExpY2Vuc2UuICBZb3UgbWF5IG5vdCB1c2UKK3RvIHRoZSBEb2N1bWVudCBhcmUgcmVwcm9kdWNlZCBpbiBhbGwgY29waWVzLCBhbmQgdGhhdCB5b3UgYWRkIG5vCitvdGhlciBjb25kaXRpb25zIHdoYXRzb2V2ZXIgdG8gdGhvc2Ugb2YgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgdXNlCiB0ZWNobmljYWwgbWVhc3VyZXMgdG8gb2JzdHJ1Y3Qgb3IgY29udHJvbCB0aGUgcmVhZGluZyBvciBmdXJ0aGVyCiBjb3B5aW5nIG9mIHRoZSBjb3BpZXMgeW91IG1ha2Ugb3IgZGlzdHJpYnV0ZS4gIEhvd2V2ZXIsIHlvdSBtYXkgYWNjZXB0CiBjb21wZW5zYXRpb24gaW4gZXhjaGFuZ2UgZm9yIGNvcGllcy4gIElmIHlvdSBkaXN0cmlidXRlIGEgbGFyZ2UgZW5vdWdoCkBAIC0xNjksOCArMTcxLDkgQEAKIGVkaXRpb24gdG8gdGhlIHB1YmxpYy4KIAogSXQgaXMgcmVxdWVzdGVkLCBidXQgbm90IHJlcXVpcmVkLCB0aGF0IHlvdSBjb250YWN0IHRoZSBhdXRob3JzIG9mIHRoZQotRG9jdW1lbnQgd2VsbCBiZWZvcmUgcmVkaXN0cmlidXRpbmcgYW55IGxhcmdlIG51bWJlciBvZiBjb3BpZXMsIHRvIGdpdmUKLXRoZW0gYSBjaGFuY2UgdG8gcHJvdmlkZSB5b3Ugd2l0aCBhbiB1cGRhdGVkIHZlcnNpb24gb2YgdGhlIERvY3VtZW50LgorRG9jdW1lbnQgd2VsbCBiZWZvcmUgcmVkaXN0cmlidXRpbmcgYW55IGxhcmdlIG51bWJlciBvZiBjb3BpZXMsIHRvCitnaXZlIHRoZW0gYSBjaGFuY2UgdG8gcHJvdmlkZSB5b3Ugd2l0aCBhbiB1cGRhdGVkIHZlcnNpb24gb2YgdGhlCitEb2N1bWVudC4KIAogCiA0LiBNT0RJRklDQVRJT05TCkBAIC0yODUsMTYgKzI4OCwxOCBAQAogCiA2LiBDT0xMRUNUSU9OUyBPRiBET0NVTUVOVFMKIAotWW91IG1heSBtYWtlIGEgY29sbGVjdGlvbiBjb25zaXN0aW5nIG9mIHRoZSBEb2N1bWVudCBhbmQgb3RoZXIgZG9jdW1lbnRzCi1yZWxlYXNlZCB1bmRlciB0aGlzIExpY2Vuc2UsIGFuZCByZXBsYWNlIHRoZSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGlzCi1MaWNlbnNlIGluIHRoZSB2YXJpb3VzIGRvY3VtZW50cyB3aXRoIGEgc2luZ2xlIGNvcHkgdGhhdCBpcyBpbmNsdWRlZCBpbgotdGhlIGNvbGxlY3Rpb24sIHByb3ZpZGVkIHRoYXQgeW91IGZvbGxvdyB0aGUgcnVsZXMgb2YgdGhpcyBMaWNlbnNlIGZvcgotdmVyYmF0aW0gY29weWluZyBvZiBlYWNoIG9mIHRoZSBkb2N1bWVudHMgaW4gYWxsIG90aGVyIHJlc3BlY3RzLgorWW91IG1heSBtYWtlIGEgY29sbGVjdGlvbiBjb25zaXN0aW5nIG9mIHRoZSBEb2N1bWVudCBhbmQgb3RoZXIKK2RvY3VtZW50cyByZWxlYXNlZCB1bmRlciB0aGlzIExpY2Vuc2UsIGFuZCByZXBsYWNlIHRoZSBpbmRpdmlkdWFsCitjb3BpZXMgb2YgdGhpcyBMaWNlbnNlIGluIHRoZSB2YXJpb3VzIGRvY3VtZW50cyB3aXRoIGEgc2luZ2xlIGNvcHkKK3RoYXQgaXMgaW5jbHVkZWQgaW4gdGhlIGNvbGxlY3Rpb24sIHByb3ZpZGVkIHRoYXQgeW91IGZvbGxvdyB0aGUgcnVsZXMKK29mIHRoaXMgTGljZW5zZSBmb3IgdmVyYmF0aW0gY29weWluZyBvZiBlYWNoIG9mIHRoZSBkb2N1bWVudHMgaW4gYWxsCitvdGhlciByZXNwZWN0cy4KIAotWW91IG1heSBleHRyYWN0IGEgc2luZ2xlIGRvY3VtZW50IGZyb20gc3VjaCBhIGNvbGxlY3Rpb24sIGFuZCBkaXN0cmlidXRlCi1pdCBpbmRpdmlkdWFsbHkgdW5kZXIgdGhpcyBMaWNlbnNlLCBwcm92aWRlZCB5b3UgaW5zZXJ0IGEgY29weSBvZiB0aGlzCi1MaWNlbnNlIGludG8gdGhlIGV4dHJhY3RlZCBkb2N1bWVudCwgYW5kIGZvbGxvdyB0aGlzIExpY2Vuc2UgaW4gYWxsCi1vdGhlciByZXNwZWN0cyByZWdhcmRpbmcgdmVyYmF0aW0gY29weWluZyBvZiB0aGF0IGRvY3VtZW50LgorWW91IG1heSBleHRyYWN0IGEgc2luZ2xlIGRvY3VtZW50IGZyb20gc3VjaCBhIGNvbGxlY3Rpb24sIGFuZAorZGlzdHJpYnV0ZSBpdCBpbmRpdmlkdWFsbHkgdW5kZXIgdGhpcyBMaWNlbnNlLCBwcm92aWRlZCB5b3UgaW5zZXJ0IGEKK2NvcHkgb2YgdGhpcyBMaWNlbnNlIGludG8gdGhlIGV4dHJhY3RlZCBkb2N1bWVudCwgYW5kIGZvbGxvdyB0aGlzCitMaWNlbnNlIGluIGFsbCBvdGhlciByZXNwZWN0cyByZWdhcmRpbmcgdmVyYmF0aW0gY29weWluZyBvZiB0aGF0Citkb2N1bWVudC4KIAogCiA3LiBBR0dSRUdBVElPTiBXSVRIIElOREVQRU5ERU5UIFdPUktTCkBAIC0zMDQsNyArMzA5LDcgQEAKIGRpc3RyaWJ1dGlvbiBtZWRpdW0sIGlzIGNhbGxlZCBhbiAiYWdncmVnYXRlIiBpZiB0aGUgY29weXJpZ2h0CiByZXN1bHRpbmcgZnJvbSB0aGUgY29tcGlsYXRpb24gaXMgbm90IHVzZWQgdG8gbGltaXQgdGhlIGxlZ2FsIHJpZ2h0cwogb2YgdGhlIGNvbXBpbGF0aW9uJ3MgdXNlcnMgYmV5b25kIHdoYXQgdGhlIGluZGl2aWR1YWwgd29ya3MgcGVybWl0LgotV2hlbiB0aGUgRG9jdW1lbnQgaXMgaW5jbHVkZWQgYW4gYWdncmVnYXRlLCB0aGlzIExpY2Vuc2UgZG9lcyBub3QKK1doZW4gdGhlIERvY3VtZW50IGlzIGluY2x1ZGVkIGluIGFuIGFnZ3JlZ2F0ZSwgdGhpcyBMaWNlbnNlIGRvZXMgbm90CiBhcHBseSB0byB0aGUgb3RoZXIgd29ya3MgaW4gdGhlIGFnZ3JlZ2F0ZSB3aGljaCBhcmUgbm90IHRoZW1zZWx2ZXMKIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIERvY3VtZW50LgogCkBAIC0zNDAsMjEgKzM0NSwzOCBAQAogCiA5LiBURVJNSU5BVElPTgogCi1Zb3UgbWF5IG5vdCBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIG9yIGRpc3RyaWJ1dGUgdGhlIERvY3VtZW50IGV4Y2VwdAotYXMgZXhwcmVzc2x5IHByb3ZpZGVkIGZvciB1bmRlciB0aGlzIExpY2Vuc2UuICBBbnkgb3RoZXIgYXR0ZW1wdCB0bwotY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlIG9yIGRpc3RyaWJ1dGUgdGhlIERvY3VtZW50IGlzIHZvaWQsIGFuZCB3aWxsCi1hdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZSB5b3VyIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2UuICBIb3dldmVyLAotcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMsIG9yIHJpZ2h0cywgZnJvbSB5b3UgdW5kZXIgdGhpcwotTGljZW5zZSB3aWxsIG5vdCBoYXZlIHRoZWlyIGxpY2Vuc2VzIHRlcm1pbmF0ZWQgc28gbG9uZyBhcyBzdWNoCi1wYXJ0aWVzIHJlbWFpbiBpbiBmdWxsIGNvbXBsaWFuY2UuCitZb3UgbWF5IG5vdCBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIG9yIGRpc3RyaWJ1dGUgdGhlIERvY3VtZW50CitleGNlcHQgYXMgZXhwcmVzc2x5IHByb3ZpZGVkIHVuZGVyIHRoaXMgTGljZW5zZS4gIEFueSBhdHRlbXB0CitvdGhlcndpc2UgdG8gY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRlIGl0IGlzIHZvaWQsIGFuZAord2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZSB5b3VyIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2UuCisKK0hvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyIGxpY2Vuc2UKK2Zyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMgcmVpbnN0YXRlZCAoYSkgcHJvdmlzaW9uYWxseSwKK3VubGVzcyBhbmQgdW50aWwgdGhlIGNvcHlyaWdodCBob2xkZXIgZXhwbGljaXRseSBhbmQgZmluYWxseQordGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQgaG9sZGVyCitmYWlscyB0byBub3RpZnkgeW91IG9mIHRoZSB2aW9sYXRpb24gYnkgc29tZSByZWFzb25hYmxlIG1lYW5zIHByaW9yIHRvCis2MCBkYXlzIGFmdGVyIHRoZSBjZXNzYXRpb24uCisKK01vcmVvdmVyLCB5b3VyIGxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcworcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCit2aW9sYXRpb24gYnkgc29tZSByZWFzb25hYmxlIG1lYW5zLCB0aGlzIGlzIHRoZSBmaXJzdCB0aW1lIHlvdSBoYXZlCityZWNlaXZlZCBub3RpY2Ugb2YgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSAoZm9yIGFueSB3b3JrKSBmcm9tIHRoYXQKK2NvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKK3lvdXIgcmVjZWlwdCBvZiB0aGUgbm90aWNlLgorCitUZXJtaW5hdGlvbiBvZiB5b3VyIHJpZ2h0cyB1bmRlciB0aGlzIHNlY3Rpb24gZG9lcyBub3QgdGVybWluYXRlIHRoZQorbGljZW5zZXMgb2YgcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMgb3IgcmlnaHRzIGZyb20geW91IHVuZGVyCit0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CityZWluc3RhdGVkLCByZWNlaXB0IG9mIGEgY29weSBvZiBzb21lIG9yIGFsbCBvZiB0aGUgc2FtZSBtYXRlcmlhbCBkb2VzCitub3QgZ2l2ZSB5b3UgYW55IHJpZ2h0cyB0byB1c2UgaXQuCiAKIAogMTAuIEZVVFVSRSBSRVZJU0lPTlMgT0YgVEhJUyBMSUNFTlNFCiAKLVRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gbWF5IHB1Ymxpc2ggbmV3LCByZXZpc2VkIHZlcnNpb25zCi1vZiB0aGUgR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiAgU3VjaCBuZXcKLXZlcnNpb25zIHdpbGwgYmUgc2ltaWxhciBpbiBzcGlyaXQgdG8gdGhlIHByZXNlbnQgdmVyc2lvbiwgYnV0IG1heQotZGlmZmVyIGluIGRldGFpbCB0byBhZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4gIFNlZQorVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBtYXkgcHVibGlzaCBuZXcsIHJldmlzZWQgdmVyc2lvbnMgb2YgdGhlCitHTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucword2lsbCBiZSBzaW1pbGFyIGluIHNwaXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9uLCBidXQgbWF5IGRpZmZlciBpbgorZGV0YWlsIHRvIGFkZHJlc3MgbmV3IHByb2JsZW1zIG9yIGNvbmNlcm5zLiAgU2VlCiBodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQvLgogCiBFYWNoIHZlcnNpb24gb2YgdGhlIExpY2Vuc2UgaXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4KQEAgLTM2NCw3ICszODYsMzkgQEAKIG9mIGFueSBsYXRlciB2ZXJzaW9uIHRoYXQgaGFzIGJlZW4gcHVibGlzaGVkIChub3QgYXMgYSBkcmFmdCkgYnkgdGhlCiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uICBJZiB0aGUgRG9jdW1lbnQgZG9lcyBub3Qgc3BlY2lmeSBhIHZlcnNpb24KIG51bWJlciBvZiB0aGlzIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIChub3QKLWFzIGEgZHJhZnQpIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCithcyBhIGRyYWZ0KSBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgSWYgdGhlIERvY3VtZW50CitzcGVjaWZpZXMgdGhhdCBhIHByb3h5IGNhbiBkZWNpZGUgd2hpY2ggZnV0dXJlIHZlcnNpb25zIG9mIHRoaXMKK0xpY2Vuc2UgY2FuIGJlIHVzZWQsIHRoYXQgcHJveHkncyBwdWJsaWMgc3RhdGVtZW50IG9mIGFjY2VwdGFuY2Ugb2YgYQordmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdSB0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUKK0RvY3VtZW50LgorCisxMS4gUkVMSUNFTlNJTkcKKworIk1hc3NpdmUgTXVsdGlhdXRob3IgQ29sbGFib3JhdGlvbiBTaXRlIiAob3IgIk1NQyBTaXRlIikgbWVhbnMgYW55CitXb3JsZCBXaWRlIFdlYiBzZXJ2ZXIgdGhhdCBwdWJsaXNoZXMgY29weXJpZ2h0YWJsZSB3b3JrcyBhbmQgYWxzbworcHJvdmlkZXMgcHJvbWluZW50IGZhY2lsaXRpZXMgZm9yIGFueWJvZHkgdG8gZWRpdCB0aG9zZSB3b3Jrcy4gIEEKK3B1YmxpYyB3aWtpIHRoYXQgYW55Ym9keSBjYW4gZWRpdCBpcyBhbiBleGFtcGxlIG9mIHN1Y2ggYSBzZXJ2ZXIuICBBCisiTWFzc2l2ZSBNdWx0aWF1dGhvciBDb2xsYWJvcmF0aW9uIiAob3IgIk1NQyIpIGNvbnRhaW5lZCBpbiB0aGUgc2l0ZQorbWVhbnMgYW55IHNldCBvZiBjb3B5cmlnaHRhYmxlIHdvcmtzIHRodXMgcHVibGlzaGVkIG9uIHRoZSBNTUMgc2l0ZS4KKworIkNDLUJZLVNBIiBtZWFucyB0aGUgQ3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbi1TaGFyZSBBbGlrZSAzLjAgCitsaWNlbnNlIHB1Ymxpc2hlZCBieSBDcmVhdGl2ZSBDb21tb25zIENvcnBvcmF0aW9uLCBhIG5vdC1mb3ItcHJvZml0IAorY29ycG9yYXRpb24gd2l0aCBhIHByaW5jaXBhbCBwbGFjZSBvZiBidXNpbmVzcyBpbiBTYW4gRnJhbmNpc2NvLCAKK0NhbGlmb3JuaWEsIGFzIHdlbGwgYXMgZnV0dXJlIGNvcHlsZWZ0IHZlcnNpb25zIG9mIHRoYXQgbGljZW5zZSAKK3B1Ymxpc2hlZCBieSB0aGF0IHNhbWUgb3JnYW5pemF0aW9uLgorCisiSW5jb3Jwb3JhdGUiIG1lYW5zIHRvIHB1Ymxpc2ggb3IgcmVwdWJsaXNoIGEgRG9jdW1lbnQsIGluIHdob2xlIG9yIGluIAorcGFydCwgYXMgcGFydCBvZiBhbm90aGVyIERvY3VtZW50LgorCitBbiBNTUMgaXMgImVsaWdpYmxlIGZvciByZWxpY2Vuc2luZyIgaWYgaXQgaXMgbGljZW5zZWQgdW5kZXIgdGhpcyAKK0xpY2Vuc2UsIGFuZCBpZiBhbGwgd29ya3MgdGhhdCB3ZXJlIGZpcnN0IHB1Ymxpc2hlZCB1bmRlciB0aGlzIExpY2Vuc2UgCitzb21ld2hlcmUgb3RoZXIgdGhhbiB0aGlzIE1NQywgYW5kIHN1YnNlcXVlbnRseSBpbmNvcnBvcmF0ZWQgaW4gd2hvbGUgb3IgCitpbiBwYXJ0IGludG8gdGhlIE1NQywgKDEpIGhhZCBubyBjb3ZlciB0ZXh0cyBvciBpbnZhcmlhbnQgc2VjdGlvbnMsIGFuZCAKKygyKSB3ZXJlIHRodXMgaW5jb3Jwb3JhdGVkIHByaW9yIHRvIE5vdmVtYmVyIDEsIDIwMDguCisKK1RoZSBvcGVyYXRvciBvZiBhbiBNTUMgU2l0ZSBtYXkgcmVwdWJsaXNoIGFuIE1NQyBjb250YWluZWQgaW4gdGhlIHNpdGUKK3VuZGVyIENDLUJZLVNBIG9uIHRoZSBzYW1lIHNpdGUgYXQgYW55IHRpbWUgYmVmb3JlIEF1Z3VzdCAxLCAyMDA5LAorcHJvdmlkZWQgdGhlIE1NQyBpcyBlbGlnaWJsZSBmb3IgcmVsaWNlbnNpbmcuCiAKIAogQURERU5EVU06IEhvdyB0byB1c2UgdGhpcyBMaWNlbnNlIGZvciB5b3VyIGRvY3VtZW50cwpAQCAtMzc1LDcgKzQyOSw3IEBACiAKICAgICBDb3B5cmlnaHQgKGMpICBZRUFSICBZT1VSIE5BTUUuCiAgICAgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0aGlzIGRvY3VtZW50Ci0gICAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2UsIFZlcnNpb24gMS4yCisgICAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2UsIFZlcnNpb24gMS4zCiAgICAgb3IgYW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247CiAgICAgd2l0aCBubyBJbnZhcmlhbnQgU2VjdGlvbnMsIG5vIEZyb250LUNvdmVyIFRleHRzLCBhbmQgbm8gQmFjay1Db3ZlciBUZXh0cy4KICAgICBBIGNvcHkgb2YgdGhlIGxpY2Vuc2UgaXMgaW5jbHVkZWQgaW4gdGhlIHNlY3Rpb24gZW50aXRsZWQgIkdOVQpkaWZmIC0tZ2l0IGEvZG9jL3JiYXNoLnBzIGIvZG9jL3JiYXNoLnBzCmluZGV4IDM4ZDMxZTEuLjUxODA4N2QgMTAwNjQ0Ci0tLSBhL2RvYy9yYmFzaC5wcworKysgYi9kb2MvcmJhc2gucHMKQEAgLTEsNiArMSw2IEBACiAlIVBTLUFkb2JlLTMuMAogJSVDcmVhdG9yOiBncm9mZiB2ZXJzaW9uIDEuMTkuMgotJSVDcmVhdGlvbkRhdGU6IFRodSBGZWIgIDUgMDg6MDU6MjggMjAwOQorJSVDcmVhdGlvbkRhdGU6IFdlZCBEZWMgMzAgMTM6MDc6MzcgMjAwOQogJSVEb2N1bWVudE5lZWRlZFJlc291cmNlczogZm9udCBUaW1lcy1Sb21hbgogJSUrIGZvbnQgVGltZXMtQm9sZAogJSVEb2N1bWVudFN1cHBsaWVkUmVzb3VyY2VzOiBwcm9jc2V0IGdyb3BzIDEuMTkgMgpAQCAtMjQwLDkgKzI0MCwxMCBAQAogKGJhc2gpMi41IEUgRjAod2l0aCB0aGUgZSkyLjUgRSh4Y2VwdGlvbiB0aGF0IHRoZSBmb2xsbyktLjE1IEUKICh3aW5nIGFyZSBkaXNhbGxvKS0uMjUgRSh3ZWQgb3Igbm90IHBlcmZvcm1lZDopLS4yNSBFIDMyLjU8ODM2Mz4xMDgKIDE2NS42IFMoaGFuZ2luZyBkaXJlY3RvcmllcyB3aXRoKS0zMi41IEUgRjIoY2QpMi41IEUgRjAgMzIuNTw4MzczPjEwOAotMTgyLjQgUyhldHRpbmcgb3IgdW5zZXR0aW5nIHRoZSB2KS0zMi41IEUoYWx1ZXMgb2YpLS4yNSBFIEYyKFNIRUxMKTIuNSBFCi1GMCgsKUEgRjIgLS43NChQQSkyLjUgRyhUSCktLjIxIEUgRjAoLClBIEYyKEVOVikyLjUgRSBGMCAyLjUoLG8pQyhyKS0yLjUKLUUgRjIgLS4zKEJBKTIuNSBHKFNIX0VOVikuMyBFIEYwIDMyLjU8ODM3Mz4xMDggMTk5LjIgUworMTgyLjQgUyhldHRpbmcgb3IgdW5zZXR0aW5nIHRoZSB2KS0zMi41IEUoYWx1ZXMgb2YpLS4yNSBFL0YzIDkKKy9UaW1lcy1Cb2xkQDAgU0YoU0hFTEwpMi41IEUvRjQgOS9UaW1lcy1Sb21hbkAwIFNGKCwpQSBGMyAtLjY2NihQQSkyLjI1CitHKFRIKS0uMTg5IEUgRjQoLClBIEYzKEVOVikyLjI1IEUgRjQoLClBIEYwKG9yKTIuMjUgRSBGMyAtLjI3KEJBKTIuNSBHCisoU0hfRU5WKS4yNyBFIEYwIDMyLjU8ODM3Mz4xMDggMTk5LjIgUwogKHBlY2lmeWluZyBjb21tYW5kIG5hbWVzIGNvbnRhaW5pbmcpLTMyLjUgRSBGMigvKTIuNSBFIEYwIDMyLjU8ODM3Mz4xMDgKIDIxNiBTKHBlY2lmeWluZyBhIFwyMTRsZSBuYW1lIGNvbnRhaW5pbmcgYSktMzIuNSBFIEYyKC8pMi41IEUgRjAKIChhcyBhbiBhcikyLjUgRShndW1lbnQgdG8gdGhlKS0uMTggRSBGMiguKTIuNSBFIEYwIC0uMihidSk1IEcKQEAgLTI1Miw3ICsyNTMsNyBAQAogKGhhc2gpMi44NTEgRSBGMCAtLjIoYnUpMi44NTEgRyAuMzUxKGlsdGluIGNvbS0pLjIgRihtYW5kKTE0NCAyNDQuOCBRCiAzMi41PDgzNjk+MTA4IDI2MS42IFMobXBvcnRpbmcgZnVuY3Rpb24gZGVcMjE0bml0aW9ucyBmcm9tIHRoZSBzaGVsbCBlbikKIC0zMi41IEUodmlyb25tZW50IGF0IHN0YXJ0dXApLS40IEUgMzIuNTw4MzcwPjEwOCAyNzguNCBTKGFyc2luZyB0aGUgdikKLS0zMi41IEUoYWx1ZSBvZiktLjI1IEUgRjIoU0hFTExPUFRTKTIuNSBFIEYwKGZyb20gdGhlIHNoZWxsIGVuKTIuNSBFCistMzIuNSBFKGFsdWUgb2YpLS4yNSBFIEYzKFNIRUxMT1BUUykyLjUgRSBGMChmcm9tIHRoZSBzaGVsbCBlbikyLjI1IEUKICh2aXJvbm1lbnQgYXQgc3RhcnR1cCktLjQgRSAzMi41PDgzNzI+MTA4IDI5NS4yIFMoZWRpcmVjdGluZyBvdXRwdXQgdXNpXAogbmcgdGhlID4sID58LCA8PiwgPiYsICY+LCBhbmQgPj4gcmVkaXJlY3Rpb24gb3BlcmF0b3JzKS0zMi41IEUgMzIuNQogPDgzNzU+MTA4IDMxMiBTKHNpbmcgdGhlKS0zMi41IEUgRjIoZXhlYykyLjUgRSBGMCAtLjIoYnUpMi41IEcKZGlmZiAtLWdpdCBhL2RvYy90ZXhpbmZvLnRleCBiL2RvYy90ZXhpbmZvLnRleAppbmRleCA1NTVhMDc3Li4wM2MyOTk4IDEwMDY0NAotLS0gYS9kb2MvdGV4aW5mby50ZXgKKysrIGIvZG9jL3RleGluZm8udGV4CkBAIC0zLDE1ICszLDE2IEBACiAlIExvYWQgcGxhaW4gaWYgbmVjZXNzYXJ5LCBpLmUuLCBpZiBydW5uaW5nIHVuZGVyIGluaXRleC4KIFxleHBhbmRhZnRlclxpZnhcY3NuYW1lIGZtdG5hbWVcZW5kY3NuYW1lXHJlbGF4XGlucHV0IHBsYWluXGZpCiAlCi1cZGVmXHRleGluZm92ZXJzaW9uezIwMDMtMDItMDMuMTZ9CitcZGVmXHRleGluZm92ZXJzaW9uezIwMDktMDEtMTguMTd9CiAlCi0lIENvcHlyaWdodCAoQykgMTk4NSwgMTk4NiwgMTk4OCwgMTk5MCwgMTk5MSwgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwKLSUgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMiwgMjAwMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyUgQ29weXJpZ2h0IDE5ODUsIDE5ODYsIDE5ODgsIDE5OTAsIDE5OTEsIDE5OTIsIDE5OTMsIDE5OTQsIDE5OTUsCislIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsCislIDIwMDcsIDIwMDgsIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAlCi0lIFRoaXMgdGV4aW5mby50ZXggZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyUgVGhpcyB0ZXhpbmZvLnRleCBmaWxlIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogJSBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwotJSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0Ci0lIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyUgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlCislIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAlCiAlIFRoaXMgdGV4aW5mby50ZXggZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUKICUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eQpAQCAtMTksMjcgKzIwLDIwIEBACiAlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICUKICUgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSUgYWxvbmcgd2l0aCB0aGlzIHRleGluZm8udGV4IGZpbGU7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAgSWYgbm90LCB3cml0ZQotJSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0lIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorJSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICUKLSUgSW4gb3RoZXIgd29yZHMsIHlvdSBhcmUgd2VsY29tZSB0byB1c2UsIHNoYXJlIGFuZCBpbXByb3ZlIHRoaXMgcHJvZ3JhbS4KLSUgWW91IGFyZSBmb3JiaWRkZW4gdG8gZm9yYmlkIGFueW9uZSBlbHNlIHRvIHVzZSwgc2hhcmUgYW5kIGltcHJvdmUKLSUgd2hhdCB5b3UgZ2l2ZSB0aGVtLiAgIEhlbHAgc3RhbXAgb3V0IHNvZnR3YXJlLWhvYXJkaW5nIQorJSBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uLCB3aGVuIHRoaXMgZmlsZSBpcyByZWFkIGJ5IFRlWCB3aGVuIHByb2Nlc3NpbmcKKyUgYSBUZXhpbmZvIHNvdXJjZSBkb2N1bWVudCwgeW91IG1heSB1c2UgdGhlIHJlc3VsdCB3aXRob3V0CislIHJlc3RyaWN0aW9uLiAgKFRoaXMgaGFzIGJlZW4gb3VyIGludGVudCBzaW5jZSBUZXhpbmZvIHdhcyBpbnZlbnRlZC4pCiAlCiAlIFBsZWFzZSB0cnkgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRleGluZm8udGV4IGJlZm9yZSBzdWJtaXR0aW5nIGJ1ZwogJSByZXBvcnRzOyB5b3UgY2FuIGdldCB0aGUgbGF0ZXN0IHZlcnNpb24gZnJvbToKLSUgICBmdHA6Ly9mdHAuZ251Lm9yZy9nbnUvdGV4aW5mby90ZXhpbmZvLnRleAotJSAgICAgKGFuZCBhbGwgR05VIG1pcnJvcnMsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvb3JkZXIvZnRwLmh0bWwpCislICAgaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL3RleGluZm8vICh0aGUgVGV4aW5mbyBob21lIHBhZ2UpLCBvcgogJSAgIGZ0cDovL3R1Zy5vcmcvdGV4L3RleGluZm8udGV4Ci0lICAgICAoYW5kIGFsbCBDVEFOIG1pcnJvcnMsIHNlZSBodHRwOi8vd3d3LmN0YW4ub3JnKSwKLSUgICBhbmQgL2hvbWUvZ2QvZ251L2RvYy90ZXhpbmZvLnRleCBvbiB0aGUgR05VIG1hY2hpbmVzLgotJSAKLSUgVGhlIEdOVSBUZXhpbmZvIGhvbWUgcGFnZSBpcyBodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvdGV4aW5mby4KLSUgCi0lIFRoZSB0ZXhpbmZvLnRleCBpbiBhbnkgZ2l2ZW4gVGV4aW5mbyBkaXN0cmlidXRpb24gY291bGQgd2VsbCBiZSBvdXQKKyUgICAgIChhbmQgYWxsIENUQU4gbWlycm9ycywgc2VlIGh0dHA6Ly93d3cuY3Rhbi5vcmcpLgorJSBUaGUgdGV4aW5mby50ZXggaW4gYW55IGdpdmVuIGRpc3RyaWJ1dGlvbiBjb3VsZCB3ZWxsIGJlIG91dAogJSBvZiBkYXRlLCBzbyBpZiB0aGF0J3Mgd2hhdCB5b3UncmUgdXNpbmcsIHBsZWFzZSBjaGVjay4KLSUgCislCiAlIFNlbmQgYnVnIHJlcG9ydHMgdG8gYnVnLXRleGluZm9AZ251Lm9yZy4gIFBsZWFzZSBpbmNsdWRlIGluY2x1ZGluZyBhCiAlIGNvbXBsZXRlIGRvY3VtZW50IGluIGVhY2ggYnVnIHJlcG9ydCB3aXRoIHdoaWNoIHdlIGNhbiByZXByb2R1Y2UgdGhlCiAlIHByb2JsZW0uICBQYXRjaGVzIGFyZSwgb2YgY291cnNlLCBncmVhdGx5IGFwcHJlY2lhdGVkLgpAQCAtNTUsMTAgKzQ5LDEzIEBACiAlIFRoZSBleHRyYSBUZVggcnVucyBnZXQgdGhlIGNyb3NzLXJlZmVyZW5jZSBpbmZvcm1hdGlvbiBjb3JyZWN0LgogJSBTb21ldGltZXMgb25lIHJ1biBhZnRlciB0ZXhpbmRleCBzdWZmaWNlcywgYW5kIHNvbWV0aW1lcyB5b3UgbmVlZCBtb3JlCiAlIHRoYW4gdHdvOyB0ZXhpMmR2aSBkb2VzIGl0IGFzIG1hbnkgdGltZXMgYXMgbmVjZXNzYXJ5LgotJSAKKyUKICUgSXQgaXMgcG9zc2libGUgdG8gYWRhcHQgdGV4aW5mby50ZXggZm9yIG90aGVyIGxhbmd1YWdlcywgdG8gc29tZQogJSBleHRlbnQuICBZb3UgY2FuIGdldCB0aGUgZXhpc3RpbmcgbGFuZ3VhZ2Utc3BlY2lmaWMgZmlsZXMgZnJvbSB0aGUKICUgZnVsbCBUZXhpbmZvIGRpc3RyaWJ1dGlvbi4KKyUKKyUgVGhlIEdOVSBUZXhpbmZvIGhvbWUgcGFnZSBpcyBodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvdGV4aW5mby4KKwogCiBcbWVzc2FnZXtMb2FkaW5nIHRleGluZm8gW3ZlcnNpb24gXHRleGluZm92ZXJzaW9uXTp9CiAKQEAgLTY4LDE0ICs2NSwxNCBAQAogXGV2ZXJ5am9ie1xtZXNzYWdle1tUZXhpbmZvIHZlcnNpb24gXHRleGluZm92ZXJzaW9uXX0lCiAgIFxjYXRjb2RlYCs9XGFjdGl2ZSBcY2F0Y29kZWBcXz1cYWN0aXZlfQogCi1cbWVzc2FnZXtCYXNpY3MsfQorCiBcY2hhcmRlZlxvdGhlcj0xMgogCi0lIFdlIG5ldmVyIHdhbnQgcGxhaW4ncyBvdXRlciBcKyBkZWZpbml0aW9uIGluIFRleGluZm8uCislIFdlIG5ldmVyIHdhbnQgcGxhaW4ncyBcb3V0ZXIgZGVmaW5pdGlvbiBvZiBcKyBpbiBUZXhpbmZvLgogJSBGb3IgQHRleCwgd2UgY2FuIHVzZSBcdGFiYWxpZ24uCiBcbGV0XCsgPSBccmVsYXgKIAotJSBTYXZlIHNvbWUgcGFydHMgb2YgcGxhaW4gdGV4IHdob3NlIG5hbWVzIHdlIHdpbGwgcmVkZWZpbmUuCislIFNhdmUgc29tZSBwbGFpbiB0ZXggbWFjcm9zIHdob3NlIG5hbWVzIHdlIHdpbGwgcmVkZWZpbmUuCiBcbGV0XHB0ZXhiPVxiCiBcbGV0XHB0ZXhidWxsZXQ9XGJ1bGxldAogXGxldFxwdGV4Yz1cYwpAQCAtODUsMjAgKzgyLDM5IEBACiBcbGV0XHB0ZXhlbmQ9XGVuZAogXGxldFxwdGV4ZXF1aXY9XGVxdWl2CiBcbGV0XHB0ZXhleGNsYW09XCEKK1xsZXRccHRleGZvb3Rub3RlPVxmb290bm90ZQogXGxldFxwdGV4Z3RyPT4KIFxsZXRccHRleGhhdD1eCiBcbGV0XHB0ZXhpPVxpCitcbGV0XHB0ZXhpbmRlbnQ9XGluZGVudAorXGxldFxwdGV4aW5zZXJ0PVxpbnNlcnQKIFxsZXRccHRleGxicmFjZT1cewogXGxldFxwdGV4bGVzcz08CitcbGV0XHB0ZXhuZXd3cml0ZVxuZXd3cml0ZQorXGxldFxwdGV4bm9pbmRlbnQ9XG5vaW5kZW50CiBcbGV0XHB0ZXhwbHVzPSsKIFxsZXRccHRleHJicmFjZT1cfQorXGxldFxwdGV4c2xhc2g9XC8KIFxsZXRccHRleHN0YXI9XCoKIFxsZXRccHRleHQ9XHQKK1xsZXRccHRleHRvcD1cdG9wCit7XGNhdGNvZGVgXCc9XGFjdGl2ZQorXGdsb2JhbFxsZXRccHRleHF1b3RlcmlnaHQnfSUgTWF0aC1tb2RlIGRlZiBmcm9tIHBsYWluLnRleC4KK1xsZXRccHRleHJhZ2dlZHJpZ2h0PVxyYWdnZWRyaWdodAogCiAlIElmIHRoaXMgY2hhcmFjdGVyIGFwcGVhcnMgaW4gYW4gZXJyb3IgbWVzc2FnZSBvciBoZWxwIHN0cmluZywgaXQKICUgc3RhcnRzIGEgbmV3IGxpbmUgaW4gdGhlIG91dHB1dC4KIFxuZXdsaW5lY2hhciA9IGBeXkoKIAorJSBVc2UgVGVYIDMuMCdzIFxpbnB1dGxpbmVubyB0byBnZXQgdGhlIGxpbmUgbnVtYmVyLCBmb3IgYmV0dGVyIGVycm9yCislIG1lc3NhZ2VzLCBidXQgaWYgd2UncmUgdXNpbmcgYW4gb2xkIHZlcnNpb24gb2YgVGVYLCBkb24ndCBkbyBhbnl0aGluZy4KKyUKK1xpZnhcaW5wdXRsaW5lbm9cdGhpc2lzdW5kZWZpbmVkCisgIFxsZXRcbGluZW51bWJlciA9IFxlbXB0eSAlIFByZS0zLjAuCitcZWxzZQorICBcZGVmXGxpbmVudW1iZXJ7bC5cdGhlXGlucHV0bGluZW5vOlxzcGFjZX0KK1xmaQorCiAlIFNldCB1cCBmaXhlZCB3b3JkcyBmb3IgRW5nbGlzaCBpZiBub3QgYWxyZWFkeSBzZXQuCiBcaWZ4XHB1dHdvcmRBcHBlbmRpeFx1bmRlZmluZWQgIFxnZGVmXHB1dHdvcmRBcHBlbmRpeHtBcHBlbmRpeH1cZmkKIFxpZnhccHV0d29yZENoYXB0ZXJcdW5kZWZpbmVkICAgXGdkZWZccHV0d29yZENoYXB0ZXJ7Q2hhcHRlcn1cZmkKQEAgLTEzNyw0MiArMTUzLDgzIEBACiBcaWZ4XHB1dHdvcmREZWZzcGVjXHVuZGVmaW5lZCAgIFxnZGVmXHB1dHdvcmREZWZzcGVje1NwZWNpYWwgRm9ybX1cZmkKIFxpZnhccHV0d29yZERlZnZhclx1bmRlZmluZWQgICAgXGdkZWZccHV0d29yZERlZnZhcntWYXJpYWJsZX1cZmkKIFxpZnhccHV0d29yZERlZm9wdFx1bmRlZmluZWQgICAgXGdkZWZccHV0d29yZERlZm9wdHtVc2VyIE9wdGlvbn1cZmkKLVxpZnhccHV0d29yZERlZnR5cGV2YXJcdW5kZWZpbmVkXGdkZWZccHV0d29yZERlZnR5cGV2YXJ7VmFyaWFibGV9XGZpCiBcaWZ4XHB1dHdvcmREZWZmdW5jXHVuZGVmaW5lZCAgIFxnZGVmXHB1dHdvcmREZWZmdW5je0Z1bmN0aW9ufVxmaQotXGlmeFxwdXR3b3JkRGVmdHlwZWZ1blx1bmRlZmluZWRcZ2RlZlxwdXR3b3JkRGVmdHlwZWZ1bntGdW5jdGlvbn1cZmkKIAotJSBJbiBzb21lIG1hY3Jvcywgd2UgY2Fubm90IHVzZSB0aGUgYFw/IG5vdGF0aW9uLS0tdGhlIGxlZnQgcXVvdGUgaXMKLSUgaW4gc29tZSBjYXNlcyB0aGUgZXNjYXBlIGNoYXIuCislIFNpbmNlIHRoZSBjYXRlZ29yeSBvZiBzcGFjZSBpcyBub3Qga25vd24sIHdlIGhhdmUgdG8gYmUgY2FyZWZ1bC4KK1xjaGFyZGVmXHNwYWNlY2F0ID0gMTAKK1xkZWZcc3BhY2Vpc3NwYWNle1xjYXRjb2RlYFwgPVxzcGFjZWNhdH0KKworJSBzb21ldGltZXMgY2hhcmFjdGVycyBhcmUgYWN0aXZlLCBzbyB3ZSBuZWVkIGNvbnRyb2wgc2VxdWVuY2VzLgogXGNoYXJkZWZcY29sb25DaGFyID0gYFw6CiBcY2hhcmRlZlxjb21tYUNoYXIgPSBgXCwKK1xjaGFyZGVmXGRhc2hDaGFyICA9IGBcLQogXGNoYXJkZWZcZG90Q2hhciAgID0gYFwuCi1cY2hhcmRlZlxlcXVhbENoYXIgPSBgXD0KIFxjaGFyZGVmXGV4Y2xhbUNoYXI9IGBcIQorXGNoYXJkZWZcbHF1b3RlQ2hhcj0gYFxgCiBcY2hhcmRlZlxxdWVzdENoYXIgPSBgXD8KK1xjaGFyZGVmXHJxdW90ZUNoYXI9IGBcJwogXGNoYXJkZWZcc2VtaUNoYXIgID0gYFw7Ci1cY2hhcmRlZlxzcGFjZUNoYXIgPSBgXCAlCiBcY2hhcmRlZlx1bmRlckNoYXIgPSBgXF8KIAogJSBJZ25vcmUgYSB0b2tlbi4KICUKIFxkZWZcZ29iYmxlIzF7fQogCi0lIFRydWUgaWYgIzEgaXMgdGhlIGVtcHR5IHN0cmluZywgaS5lLiwgY2FsbGVkIGxpa2UgYFxpZmVtcHR5e30nLgotJQotXGRlZlxpZmVtcHR5IzF7XGlmZW1wdHl4ICMxXGVtcHR5bWFya0FcZW1wdHltYXJrQn0lCi1cZGVmXGlmZW1wdHl4IzEjMlxlbXB0eW1hcmtCe1xpZnggIzFcZW1wdHltYXJrQX0lCislIFRoZSBmb2xsb3dpbmcgaXMgdXNlZCBpbnNpZGUgc2V2ZXJhbCBcZWRlZidzLgorXGRlZlxtYWtlY3NuYW1lIzF7XGV4cGFuZGFmdGVyXG5vZXhwYW5kXGNzbmFtZSMxXGVuZGNzbmFtZX0KIAogJSBIeXBoZW5hdGlvbiBmaXhlcy4KLVxoeXBoZW5hdGlvbnthcC1wZW4tZGl4fQotXGh5cGhlbmF0aW9ue21pbmktYnVmLWZlciBtaW5pLWJ1Zi1mZXJzfQotXGh5cGhlbmF0aW9ue2VzaGVsbH0KLVxoeXBoZW5hdGlvbnt3aGl0ZS1zcGFjZX0KK1xoeXBoZW5hdGlvbnsKKyAgRmxvci1pLWRhIEdob3N0LXNjcmlwdCBHaG9zdC12aWV3IE1hYy1PUyBQb3N0LVNjcmlwdAorICBhcC1wZW4tZGl4IGJpdC1tYXAgYml0LW1hcHMKKyAgZGF0YS1iYXNlIGRhdGEtYmFzZXMgZXNoZWxsIGZhbGwtaW5nIGhhbGYtd2F5IGxvbmctZXN0IG1hbi11LXNjcmlwdAorICBtYW4tdS1zY3JpcHRzIG1pbmktYnVmLWZlciBtaW5pLWJ1Zi1mZXJzIG92ZXItdmlldyBwYXItYS1kaWdtCisgIHBhci1hLWRpZ21zIHJhdGgtZXIgcmVjLXRhbi1ndS1sYXIgcm8tYm90LWljcyBzZS12ZXJlLWx5IHNldC11cCBzcGEtY2VzCisgIHNwZWxsLWluZyBzcGVsbC1pbmdzCisgIHN0YW5kLWFsb25lIHN0cm9uZy1lc3QgdGltZS1zdGFtcCB0aW1lLXN0YW1wcyB3aGljaC1ldmVyIHdoaXRlLXNwYWNlCisgIHdpZGUtc3ByZWFkIHdyYXAtYXJvdW5kCit9CiAKICUgTWFyZ2luIHRvIGFkZCB0byByaWdodCBvZiBldmVuIHBhZ2VzLCB0byBsZWZ0IG9mIG9kZCBwYWdlcy4KIFxuZXdkaW1lblxiaW5kaW5nb2Zmc2V0CiBcbmV3ZGltZW5cbm9ybWFsb2Zmc2V0CiBcbmV3ZGltZW5ccGFnZXdpZHRoIFxuZXdkaW1lblxwYWdlaGVpZ2h0CiAKKyUgRm9yIGEgZmluYWwgY29weSwgdGFrZSBvdXQgdGhlIHJlY3RhbmdsZXMKKyUgdGhhdCBtYXJrIG92ZXJmdWxsIGJveGVzIChpbiBjYXNlIHlvdSBoYXZlIGRlY2lkZWQKKyUgdGhhdCB0aGUgdGV4dCBsb29rcyBvayBldmVuIHRob3VnaCBpdCBwYXNzZXMgdGhlIG1hcmdpbikuCislCitcZGVmXGZpbmFsb3V0e1xvdmVyZnVsbHJ1bGU9MHB0fQorCislIEB8IGluc2VydHMgYSBjaGFuZ2ViYXIgdG8gdGhlIGxlZnQgb2YgdGhlIGN1cnJlbnQgbGluZS4gIEl0IHNob3VsZAorJSBzdXJyb3VuZCBhbnkgY2hhbmdlZCB0ZXh0LiAgVGhpcyBhcHByb2FjaCBkb2VzICpub3QqIHdvcmsgaWYgdGhlCislIGNoYW5nZSBzcGFucyBtb3JlIHRoYW4gdHdvIGxpbmVzIG9mIG91dHB1dC4gIFRvIGhhbmRsZSB0aGF0LCB3ZSB3b3VsZAorJSBoYXZlIGFkb3B0IGEgbXVjaCBtb3JlIGRpZmZpY3VsdCBhcHByb2FjaCAocHV0dGluZyBtYXJrcyBpbnRvIHRoZSBtYWluCislIHZlcnRpY2FsIGxpc3QgZm9yIHRoZSBiZWdpbm5pbmcgYW5kIGVuZCBvZiBlYWNoIGNoYW5nZSkuCislCitcZGVmXHx7JQorICAlIFx2YWRqdXN0IGNhbiBvbmx5IGJlIHVzZWQgaW4gaG9yaXpvbnRhbCBtb2RlLgorICBcbGVhdmV2bW9kZQorICAlCisgICUgQXBwZW5kIHRoaXMgdmVydGljYWwgbW9kZSBtYXRlcmlhbCBhZnRlciB0aGUgY3VycmVudCBsaW5lIGluIHRoZSBvdXRwdXQuCisgIFx2YWRqdXN0eyUKKyAgICAlIFdlIHdhbnQgdG8gaW5zZXJ0IGEgcnVsZSB3aXRoIHRoZSBoZWlnaHQgYW5kIGRlcHRoIG9mIHRoZSBjdXJyZW50CisgICAgJSBsZWFkaW5nOyB0aGF0IGlzIGV4YWN0bHkgd2hhdCBcc3RydXRib3ggaXMgc3VwcG9zZWQgdG8gcmVjb3JkLgorICAgIFx2c2tpcC1cYmFzZWxpbmVza2lwCisgICAgJQorICAgICUgXHZhZGp1c3QtaXRlbXMgYXJlIGluc2VydGVkIGF0IHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlIHR5cGUuICBTbworICAgICUgdGhlIFxsbGFwIGhlcmUgbW92ZXMgb3V0IGludG8gdGhlIGxlZnQtaGFuZCBtYXJnaW4uCisgICAgXGxsYXB7JQorICAgICAgJQorICAgICAgJSBGb3IgYSB0aGlja2VyIG9yIHRoaW5uZXIgYmFyLCBjaGFuZ2UgdGhlIGAxcHQnLgorICAgICAgXHZydWxlIGhlaWdodFxiYXNlbGluZXNraXAgd2lkdGgxcHQKKyAgICAgICUKKyAgICAgICUgVGhpcyBpcyB0aGUgc3BhY2UgYmV0d2VlbiB0aGUgYmFyIGFuZCB0aGUgdGV4dC4KKyAgICAgIFxoc2tpcCAxMnB0CisgICAgfSUKKyAgfSUKK30KKwogJSBTb21ldGltZXMgaXQgaXMgY29udmVuaWVudCB0byBoYXZlIGV2ZXJ5dGhpbmcgaW4gdGhlIHRyYW5zY3JpcHQgZmlsZQogJSBhbmQgbm90aGluZyBvbiB0aGUgdGVybWluYWwuICBXZSBkb24ndCBqdXN0IGNhbGwgXHRyYWNpbmdhbGwgaGVyZSwKICUgc2luY2UgdGhhdCBwcm9kdWNlcyBzb21lIHVzZWxlc3Mgb3V0cHV0IG9uIHRoZSB0ZXJtaW5hbC4gIFdlIGFsc28gbWFrZQpAQCAtMTk3LDEyICsyNTQsMTIgQEAKICAgICBcdHJhY2luZ2Fzc2lnbnMxCiAgIFxmaQogICBcdHJhY2luZ2NvbW1hbmRzMyAgJSAzIGdpdmVzIHVzIG1vcmUgaW4gZXRleAotICBcZXJyb3Jjb250ZXh0bGluZXNcbWF4ZGltZW4KKyAgXGVycm9yY29udGV4dGxpbmVzMTYKIH0lCiAKICUgYWRkIGNoZWNrIGZvciBcbGFzdHBlbmFsdHkgdG8gcGxhaW4ncyBkZWZpbml0aW9ucy4gIElmIHRoZSBsYXN0IHRoaW5nCiAlIHdlIGRpZCB3YXMgYSBcbm9icmVhaywgd2UgZG9uJ3Qgd2FudCB0byBpbnNlcnQgbW9yZSBzcGFjZS4KLSUgCislCiBcZGVmXHNtYWxsYnJlYWt7XGlmbnVtXGxhc3RwZW5hbHR5PDEwMDAwXHBhclxpZmRpbVxsYXN0c2tpcDxcc21hbGxza2lwYW1vdW50CiAgIFxyZW1vdmVsYXN0c2tpcFxwZW5hbHR5LTUwXHNtYWxsc2tpcFxmaVxmaX0KIFxkZWZcbWVkYnJlYWt7XGlmbnVtXGxhc3RwZW5hbHR5PDEwMDAwXHBhclxpZmRpbVxsYXN0c2tpcDxcbWVkc2tpcGFtb3VudApAQCAtMjI0LDYgKzI4MSw1MCBAQAogXG5ld2RpbWVuXGNvcm5lcnRoaWNrIFxjb3JuZXJ0aGljaz0uM3B0CiBcbmV3ZGltZW5cdG9wYW5kYm90dG9tbWFyZ2luIFx0b3BhbmRib3R0b21tYXJnaW49Ljc1aW4KIAorJSBPdXRwdXQgYSBtYXJrIHdoaWNoIHNldHMgXHRoaXNjaGFwdGVyLCBcdGhpc3NlY3Rpb24gYW5kIFx0aGlzY29sb3IuCislIFdlIGR1bXAgZXZlcnl0aGluZyB0b2dldGhlciBiZWNhdXNlIHdlIG9ubHkgaGF2ZSBvbmUga2luZCBvZiBtYXJrLgorJSBUaGlzIHdvcmtzIGJlY2F1c2Ugd2Ugb25seSB1c2UgXGJvdG1hcmsgLyBcdG9wbWFyaywgbm90IFxmaXJzdG1hcmsuCislCislIEEgbWFyayBjb250YWlucyBhIHN1YmV4cHJlc3Npb24gb2YgdGhlIFxpZmNhc2UgLi4uIFxmaSBjb25zdHJ1Y3QuCislIFxnZXQqbWFya3MgbWFjcm9zIGJlbG93IGV4dHJhY3QgdGhlIG5lZWRlZCBwYXJ0IHVzaW5nIFxpZmNhc2UuCislCislIEFub3RoZXIgY29tcGxpY2F0aW9uIGlzIHRvIGxldCB0aGUgdXNlciBjaG9vc2Ugd2hldGhlciBcdGhpc2NoYXB0ZXIKKyUgKFx0aGlzc2VjdGlvbikgcmVmZXJzIHRvIHRoZSBjaGFwdGVyIChzZWN0aW9uKSBpbiBlZmZlY3QgYXQgdGhlIHRvcAorJSBvZiBhIHBhZ2UsIG9yIHRoYXQgYXQgdGhlIGJvdHRvbSBvZiBhIHBhZ2UuICBUaGUgc29sdXRpb24gaXMKKyUgZGVzY3JpYmVkIG9uIHBhZ2UgMjYwIG9mIFRoZSBUZVhib29rLiAgSXQgaW52b2x2ZXMgb3V0cHV0dGluZyB0d28KKyUgbWFya3MgZm9yIHRoZSBzZWN0aW9uaW5nIG1hY3Jvcywgb25lIGJlZm9yZSB0aGUgc2VjdGlvbiBicmVhaywgYW5kCislIG9uZSBhZnRlci4gIEkgd29uJ3QgcHJldGVuZCBJIGNhbiBkZXNjcmliZSB0aGlzIGJldHRlciB0aGFuIERFSy4uLgorXGRlZlxkb21hcmt7JQorICBcdG9rczA9XGV4cGFuZGFmdGVye1xsYXN0Y2hhcHRlcmRlZnN9JQorICBcdG9rczI9XGV4cGFuZGFmdGVye1xsYXN0c2VjdGlvbmRlZnN9JQorICBcdG9rczQ9XGV4cGFuZGFmdGVye1xwcmV2Y2hhcHRlcmRlZnN9JQorICBcdG9rczY9XGV4cGFuZGFmdGVye1xwcmV2c2VjdGlvbmRlZnN9JQorICBcdG9rczg9XGV4cGFuZGFmdGVye1xsYXN0Y29sb3JkZWZzfSUKKyAgXG1hcmt7JQorICAgICAgICAgICAgICAgICAgIFx0aGVcdG9rczAgXHRoZVx0b2tzMgorICAgICAgXG5vZXhwYW5kXG9yIFx0aGVcdG9rczQgXHRoZVx0b2tzNgorICAgIFxub2V4cGFuZFxlbHNlIFx0aGVcdG9rczgKKyAgfSUKK30KKyUgXHRvcG1hcmsgZG9lc24ndCB3b3JrIGZvciB0aGUgdmVyeSBmaXJzdCBjaGFwdGVyIChhZnRlciB0aGUgdGl0bGUKKyUgcGFnZSBvciB0aGUgY29udGVudHMpLCBzbyB3ZSB1c2UgXGZpcnN0bWFyayB0aGVyZSAtLSB0aGlzIGdldHMgdXMKKyUgdGhlIG1hcmsgd2l0aCB0aGUgY2hhcHRlciBkZWZzLCB1bmxlc3MgdGhlIHVzZXIgc25lYWtzIGluLCBlLmcuLAorJSBAc2V0Y29sb3IgKG9yIEB1cmwsIG9yIEBsaW5rLCBldGMuKSBiZXR3ZWVuIEBjb250ZW50cyBhbmQgdGhlIHZlcnkKKyUgZmlyc3QgQGNoYXB0ZXIuCitcZGVmXGdldHRvcGhlYWRpbmdtYXJrc3slCisgIFxpZmNhc2UwXHRvcG1hcmtcZmkKKyAgXGlmeFx0aGlzY2hhcHRlclxlbXB0eSBcaWZjYXNlMFxmaXJzdG1hcmtcZmkgXGZpCit9CitcZGVmXGdldGJvdHRvbWhlYWRpbmdtYXJrc3tcaWZjYXNlMVxib3RtYXJrXGZpfQorXGRlZlxnZXRjb2xvcm1hcmtze1xpZmNhc2UyXHRvcG1hcmtcZml9CisKKyUgQXZvaWQgInVuZGVmaW5lZCBjb250cm9sIHNlcXVlbmNlIiBlcnJvcnMuCitcZGVmXGxhc3RjaGFwdGVyZGVmc3t9CitcZGVmXGxhc3RzZWN0aW9uZGVmc3t9CitcZGVmXHByZXZjaGFwdGVyZGVmc3t9CitcZGVmXHByZXZzZWN0aW9uZGVmc3t9CitcZGVmXGxhc3Rjb2xvcmRlZnN7fQorCiAlIE1haW4gb3V0cHV0IHJvdXRpbmUuCiBcY2hhcmRlZlxQQUdFID0gMjU1CiBcb3V0cHV0ID0ge1xvbmVwYWdlb3V0e1xwYWdlY29udGVudHNcUEFHRX19CkBAIC0yNDEsNyArMzQyLDkgQEAKICAgJQogICAlIERvIHRoaXMgb3V0c2lkZSBvZiB0aGUgXHNoaXBvdXQgc28gQGNvZGUgZXRjLiB3aWxsIGJlIGV4cGFuZGVkIGluCiAgICUgdGhlIGhlYWRsaW5lIGFzIHRoZXkgc2hvdWxkIGJlLCBub3QgdGFrZW4gbGl0ZXJhbGx5IChvdXRwdXR0aW5nICcnY29kZSkuCisgIFxpZm9kZFxwYWdlbm8gXGdldG9kZGhlYWRpbmdtYXJrcyBcZWxzZSBcZ2V0ZXZlbmhlYWRpbmdtYXJrcyBcZmkKICAgXHNldGJveFxoZWFkbGluZWJveCA9IFx2Ym94e1xsZXRcaHNpemU9XHBhZ2V3aWR0aCBcbWFrZWhlYWRsaW5lfSUKKyAgXGlmb2RkXHBhZ2VubyBcZ2V0b2RkZm9vdGluZ21hcmtzIFxlbHNlIFxnZXRldmVuZm9vdGluZ21hcmtzIFxmaQogICBcc2V0Ym94XGZvb3RsaW5lYm94ID0gXHZib3h7XGxldFxoc2l6ZT1ccGFnZXdpZHRoIFxtYWtlZm9vdGxpbmV9JQogICAlCiAgIHslCkBAIC0yNDksMTMgKzM1MiwxNyBAQAogICAgICUgdGFrZSBlZmZlY3QgaW4gXHdyaXRlJ3MsIHlldCB0aGUgZ3JvdXAgZGVmaW5lZCBieSB0aGUgXHZib3ggZW5kcwogICAgICUgYmVmb3JlIHRoZSBcc2hpcG91dCBydW5zLgogICAgICUKLSAgICBcZXNjYXBlY2hhciA9IGBcXCAgICAgJSB1c2UgYmFja3NsYXNoIGluIG91dHB1dCBmaWxlcy4KICAgICBcaW5kZXhkdW1taWVzICAgICAgICAgJSBkb24ndCBleHBhbmQgY29tbWFuZHMgaW4gdGhlIG91dHB1dC4KICAgICBcbm9ybWFsdHVybm9mZmFjdGl2ZSAgJSBcIGluIGluZGV4IGVudHJpZXMgbXVzdCBub3Qgc3RheSBcLCBlLmcuLCBpZgotICAgICAgICAgICAgICAgICAgICUgdGhlIHBhZ2UgYnJlYWsgaGFwcGVucyB0byBiZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGV4YW1wbGUuCisgICAgICAgICAgICAgICAlIHRoZSBwYWdlIGJyZWFrIGhhcHBlbnMgdG8gYmUgaW4gdGhlIG1pZGRsZSBvZiBhbiBleGFtcGxlLgorICAgICAgICAgICAgICAgJSBXZSBkb24ndCB3YW50IC52ciAob3Igd2hhdGV2ZXIpIGVudHJpZXMgbGlrZSB0aGlzOgorICAgICAgICAgICAgICAgJSBcZW50cnl7e1x0dCBcaW5kZXhiYWNrc2xhc2ggfWFjcm9ueW19ezMyfXtcY29kZSB7XGFjcm9ueW19fQorICAgICAgICAgICAgICAgJSAiXGFjcm9ueW0iIHdvbid0IHdvcmsgd2hlbiBpdCdzIHJlYWQgYmFjayBpbjsKKyAgICAgICAgICAgICAgICUgaXQgbmVlZHMgdG8gYmUgCisgICAgICAgICAgICAgICAlIHtcY29kZSB7e1x0dCBcYmFja3NsYXNoY3VyZm9udCB9YWNyb255bX0KICAgICBcc2hpcG91dFx2Ym94eyUKICAgICAgICUgRG8gdGhpcyBlYXJseSBzbyBwZGYgcmVmZXJlbmNlcyBnbyB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBwYWdlLgotICAgICAgXGlmcGRmbWFrZXBhZ2VkZXN0IFxwZGZta2Rlc3R7XHRoZVxwYWdlbm99IFxmaQorICAgICAgXGlmcGRmbWFrZXBhZ2VkZXN0IFxwZGZkZXN0IG5hbWV7XHRoZVxwYWdlbm99IHh5elxmaQogICAgICAgJQogICAgICAgXGlmY3JvcG1hcmtzIFx2Ym94IHRvIFxvdXRlcnZzaXplXGJncm91cAogICAgICAgICBcaHNpemUgPSBcb3V0ZXJoc2l6ZQpAQCAtMjgwLDkgKzM4Nyw5IEBACiAgICAgICBccGFnZWJvZHl7IzF9JQogICAgICAgXGlmZGltXGh0XGZvb3RsaW5lYm94ID4gMHB0CiAgICAgICAgICUgT25seSBsZWF2ZSB0aGlzIHNwYWNlIGlmIHRoZSBmb290bGluZSBpcyBub25lbXB0eS4KLSAgICAgICAgJSAoV2UgbGVzc2VuZWQgXHZzaXplIGZvciBpdCBpbiBcb2RkZm9vdGluZ3h4eC4pCisgICAgICAgICUgKFdlIGxlc3NlbmVkIFx2c2l6ZSBmb3IgaXQgaW4gXG9kZGZvb3Rpbmd5eXkuKQogICAgICAgICAlIFRoZSBcYmFzZWxpbmVza2lwPTI0cHQgaW4gcGxhaW4ncyBcbWFrZWZvb3RsaW5lIGhhcyBubyBlZmZlY3QuCi0gICAgICAgIFx2c2tpcCAyXGJhc2VsaW5lc2tpcAorICAgICAgICBcdnNraXAgMjRwdAogICAgICAgICBcdW52Ym94XGZvb3RsaW5lYm94CiAgICAgICBcZmkKICAgICAgICUKQEAgLTMwMyw3ICs0MTAsNyBAQAogICAgICAgXGVncm91cCAlIFx2Ym94IGZyb20gZmlyc3QgY3JvcG1hcmtzIGNsYXVzZQogICAgICAgXGZpCiAgICAgfSUgZW5kIG9mIFxzaGlwb3V0XHZib3gKLSAgfSUgZW5kIG9mIGdyb3VwIHdpdGggXG5vcm1hbHR1cm5vZmZhY3RpdmUKKyAgfSUgZW5kIG9mIGdyb3VwIHdpdGggXGluZGV4ZHVtbWllcwogICBcYWR2YW5jZXBhZ2VubwogICBcaWZudW1cb3V0cHV0cGVuYWx0eT4tMjAwMDAgXGVsc2VcZG9zdXBlcmVqZWN0XGZpCiB9CkBAIC0zMTYsNyArNDIzLDcgQEAKICUgbWFyZ2luYWwgaGFja3MsIGp1aGFAdmlpc2EudXVjcCAoSnVoYSBUYWthbGEpCiBcaWZ2b2lkXG1hcmdpblxlbHNlICUgbWFyZ2luYWwgaW5mbyBpcyBwcmVzZW50CiAgIFxybGFwe1xrZXJuXGhzaXplXHZib3ggdG9cekB7XGtlcm4xcHRcYm94XG1hcmdpbiBcdnNzfX1cZmkKLVxkaW1lbkA9XGRwIzEgXHVudmJveCMxCitcZGltZW5APVxkcCMxXHJlbGF4IFx1bnZib3gjMVxyZWxheAogXGlmdm9pZFxmb290aW5zXGVsc2VcdnNraXBcc2tpcFxmb290aW5zXGZvb3Rub3RlcnVsZSBcdW52Ym94XGZvb3RpbnNcZmkKIFxpZnJAZ2dlZGJvdHRvbSBca2Vybi1cZGltZW5AIFx2ZmlsIFxmaX0KIH0KQEAgLTMzNiwxMzIgKzQ0MywxNjEgQEAKICUgdGhlIGlucHV0IGxpbmUgKGV4Y2VwdCB3ZSByZW1vdmUgYSB0cmFpbGluZyBjb21tZW50KS4gICMxIHNob3VsZCBiZSBhCiAlIG1hY3JvIHdoaWNoIGV4cGVjdHMgYW4gb3JkaW5hcnkgdW5kZWxpbWl0ZWQgVGVYIGFyZ3VtZW50LgogJQotXGRlZlxwYXJzZWFyZyMxeyUKLSAgXGxldFxuZXh0ID0gIzElCitcZGVmXHBhcnNlYXJne1xwYXJzZWFyZ3VzaW5ne319CitcZGVmXHBhcnNlYXJndXNpbmcjMSMyeyUKKyAgXGRlZlxhcmd0b3J1bnsjMn0lCiAgIFxiZWdpbmdyb3VwCiAgICAgXG9iZXlsaW5lcwotICAgIFxmdXR1cmVsZXRcdGVtcFxwYXJzZWFyZ3gKKyAgICBcc3BhY2Vpc3NwYWNlCisgICAgIzElCisgICAgXHBhcnNlYXJnbGluZVxlbXB0eSUgSW5zZXJ0IHRoZSBcZW1wdHkgdG9rZW4sIHNlZSBcZmluaXNocGFyc2VhcmcgYmVsb3cuCiB9CiAKLSUgSWYgdGhlIG5leHQgdG9rZW4gaXMgYW4gb2JleWVkIHNwYWNlIChmcm9tIGFuIEBleGFtcGxlIGVudmlyb25tZW50IG9yCi0lIHRoZSBsaWtlKSwgcmVtb3ZlIGl0IGFuZCByZWN1cnNlLiAgT3RoZXJ3aXNlLCB3ZSdyZSBkb25lLgotXGRlZlxwYXJzZWFyZ3h7JQotICAlIFxvYmV5ZWRzcGFjZSBpcyBkZWZpbmVkIGZhciBiZWxvdywgYWZ0ZXIgdGhlIGRlZmluaXRpb24gb2YgXHNlcHNwYWNlcy4KLSAgXGlmeFxvYmV5ZWRzcGFjZVx0ZW1wCi0gICAgXGV4cGFuZGFmdGVyXHBhcnNlYXJnZGlzY2FyZHNwYWNlCi0gIFxlbHNlCi0gICAgXGV4cGFuZGFmdGVyXHBhcnNlYXJnbGluZQotICBcZmkKLX0KLQotJSBSZW1vdmUgYSBzaW5nbGUgc3BhY2UgKGFzIHRoZSBkZWxpbWl0ZXIgdG9rZW4gdG8gdGhlIG1hY3JvIGNhbGwpLgote1xvYmV5c3BhY2VzICUKLSBcZ2RlZlxwYXJzZWFyZ2Rpc2NhcmRzcGFjZSB7XGZ1dHVyZWxldFx0ZW1wXHBhcnNlYXJneH19Ci0KIHtcb2JleWxpbmVzICUKICAgXGdkZWZccGFyc2VhcmdsaW5lIzFeXk17JQogICAgIFxlbmRncm91cCAlIEVuZCBvZiB0aGUgZ3JvdXAgc3RhcnRlZCBpbiBccGFyc2VhcmcuCi0gICAgJQotICAgICUgRmlyc3QgcmVtb3ZlIGFueSBAYyBjb21tZW50LCB0aGVuIGFueSBAY29tbWVudC4KLSAgICAlIFJlc3VsdCBvZiBlYWNoIG1hY3JvIGlzIHB1dCBpbiBcdG9rczAuCi0gICAgXGFyZ3JlbW92ZWMgIzFcY1xyZWxheCAlCi0gICAgXGV4cGFuZGFmdGVyXGFyZ3JlbW92ZWNvbW1lbnQgXHRoZVx0b2tzMCBcY29tbWVudFxyZWxheCAlCi0gICAgJQotICAgICUgQ2FsbCB0aGUgY2FsbGVyJ3MgbWFjcm8sIHNhdmVkIGFzIFxuZXh0IGluIFxwYXJzZWFyZy4KLSAgICBcZXhwYW5kYWZ0ZXJcbmV4dFxleHBhbmRhZnRlcntcdGhlXHRva3MwfSUKKyAgICBcYXJncmVtb3ZlY29tbWVudCAjMVxjb21tZW50XEFyZ1Rlcm0lCiAgIH0lCiB9CiAKLSUgU2luY2UgYWxsIFxjeyxvbW1lbnR9IGRvZXMgaXMgdGhyb3cgYXdheSB0aGUgYXJndW1lbnQsIHdlIGNhbiBsZXQgVGVYCi0lIGRvIHRoYXQgZm9yIHVzLiAgVGhlIFxyZWxheCBoZXJlIGlzIG1hdGNoZWQgYnkgdGhlIFxyZWxheCBpbiB0aGUgY2FsbAotJSBpbiBccGFyc2VhcmdsaW5lOyBpdCBjb3VsZCBiZSBtb3JlIG9yIGxlc3MgYW55dGhpbmcsIGl0cyBwdXJwb3NlIGlzCi0lIGp1c3QgdG8gZGVsaW1pdCB0aGUgYXJndW1lbnQgdG8gdGhlIFxjLgotXGRlZlxhcmdyZW1vdmVjIzFcYyMyXHJlbGF4e1x0b2tzMCA9IHsjMX19Ci1cZGVmXGFyZ3JlbW92ZWNvbW1lbnQjMVxjb21tZW50IzJccmVsYXh7XHRva3MwID0geyMxfX0KKyUgRmlyc3QgcmVtb3ZlIGFueSBAY29tbWVudCwgdGhlbiBhbnkgQGMgY29tbWVudC4KK1xkZWZcYXJncmVtb3ZlY29tbWVudCMxXGNvbW1lbnQjMlxBcmdUZXJte1xhcmdyZW1vdmVjICMxXGNcQXJnVGVybX0KK1xkZWZcYXJncmVtb3ZlYyMxXGMjMlxBcmdUZXJte1xhcmdjaGVja3NwYWNlcyMxXF5eTVxBcmdUZXJtfQogCi0lIFxhcmdyZW1vdmVjeyxvbW1lbnR9IG1pZ2h0IGxlYXZlIHVzIHdpdGggdHJhaWxpbmcgc3BhY2VzLCB0aG91Z2g7IGUuZy4sCislIEVhY2ggb2NjdXJyZW5jZSBvZiBgXF5eTScgb3IgYDxzcGFjZT5cXl5NJyBpcyByZXBsYWNlZCBieSBhIHNpbmdsZSBzcGFjZS4KKyUKKyUgXGFyZ3JlbW92ZWMgbWlnaHQgbGVhdmUgdXMgd2l0aCB0cmFpbGluZyBzcGFjZSwgZS5nLiwKICUgICAgQGVuZCBpdGVtaXplICBAYyBmb28KLSUgd2lsbCBoYXZlIHR3byBhY3RpdmUgc3BhY2VzIGFzIHBhcnQgb2YgdGhlIGFyZ3VtZW50IHdpdGggdGhlCi0lIGBpdGVtaXplJy4gIEhlcmUgd2UgcmVtb3ZlIGFsbCBhY3RpdmUgc3BhY2VzIGZyb20gIzEsIGFuZCBhc3NpZ24gdGhlCi0lIHJlc3VsdCB0byBcdG9rczAuCislIFRoaXMgc3BhY2UgdG9rZW4gdW5kZXJnb2VzIHRoZSBzYW1lIHByb2NlZHVyZSBhbmQgaXMgZXZlbnR1YWxseSByZW1vdmVkCislIGJ5IFxmaW5pc2hwYXJzZWFyZy4KICUKLSUgVGhpcyBsb3NlcyBpZiB0aGVyZSBhcmUgYW55ICpvdGhlciogYWN0aXZlIGNoYXJhY3RlcnMgYmVzaWRlcyBzcGFjZXMKLSUgaW4gdGhlIGFyZ3VtZW50IC0tIF8gXiArLCBmb3IgZXhhbXBsZSAtLSBzaW5jZSB0aGV5IGdldCBleHBhbmRlZC4KLSUgRm9ydHVuYXRlbHksIFRleGluZm8gZG9lcyBub3QgZGVmaW5lIGFueSBzdWNoIGNvbW1hbmRzLiAgKElmIGl0IGV2ZXIKLSUgZG9lcywgdGhlIGNhdGNvZGUgb2YgdGhlIGNoYXJhY3RlcnMgaW4gcXVlc3Rpb253aWxsIGhhdmUgdG8gYmUgY2hhbmdlZAotJSBoZXJlLikgIEJ1dCB0aGlzIG1lYW5zIHdlIGNhbm5vdCBjYWxsIFxyZW1vdmVhY3RpdmVzcGFjZXMgYXMgcGFydCBvZgotJSBcYXJncmVtb3ZlY3ssb21tZW50fSwgc2luY2UgQGMgdXNlcyBccGFyc2VhcmcsIGFuZCB0aHVzIHRoZSBhcmd1bWVudAotJSB0aGF0IFxwYXJzZWFyZyBnZXRzIG1pZ2h0IHdlbGwgaGF2ZSBhbnkgY2hhcmFjdGVyIGF0IGFsbCBpbiBpdC4KLSUKLVxkZWZccmVtb3ZlYWN0aXZlc3BhY2VzIzF7JQotICBcYmVnaW5ncm91cAotICAgIFxpZ25vcmVhY3RpdmVzcGFjZXMKLSAgICBcZWRlZlx0ZW1weyMxfSUKLSAgICBcZ2xvYmFsXHRva3MwID0gXGV4cGFuZGFmdGVye1x0ZW1wfSUKLSAgXGVuZGdyb3VwCitcZGVmXGFyZ2NoZWNrc3BhY2VzIzFcXl5Ne1xhcmdjaGVja3NwYWNlc1gjMVxeXk0gXF5eTX0KK1xkZWZcYXJnY2hlY2tzcGFjZXNYIzEgXF5eTXtcYXJnY2hlY2tzcGFjZXNZIzFcXl5NfQorXGRlZlxhcmdjaGVja3NwYWNlc1kjMVxeXk0jMlxeXk0jM1xBcmdUZXJteyUKKyAgXGRlZlx0ZW1weyMzfSUKKyAgXGlmeFx0ZW1wXGVtcHR5CisgICAgJSBEbyBub3QgdXNlIFxuZXh0LCBwZXJoYXBzIHRoZSBjYWxsZXIgb2YgXHBhcnNlYXJnIHVzZXMgaXQ7IHJldXNlIFx0ZW1wOgorICAgIFxsZXRcdGVtcFxmaW5pc2hwYXJzZWFyZworICBcZWxzZQorICAgIFxsZXRcdGVtcFxhcmdjaGVja3NwYWNlcworICBcZmkKKyAgJSBQdXQgdGhlIHNwYWNlIHRva2VuIGluOgorICBcdGVtcCMxICMzXEFyZ1Rlcm0KIH0KIAotJSBDaGFuZ2UgdGhlIGFjdGl2ZSBzcGFjZSB0byBleHBhbmQgdG8gbm90aGluZy4KKyUgSWYgYSBfZGVsaW1pdGVkXyBhcmd1bWVudCBpcyBlbmNsb3NlZCBpbiBicmFjZXMsIHRoZXkgZ2V0IHN0cmlwcGVkOyBzbworJSB0byBnZXQgX2V4YWN0bHlfIHRoZSByZXN0IG9mIHRoZSBsaW5lLCB3ZSBoYWQgdG8gcHJldmVudCBzdWNoIHNpdHVhdGlvbi4KKyUgV2UgcHJlcGVuZGVkIGFuIFxlbXB0eSB0b2tlbiBhdCB0aGUgdmVyeSBiZWdpbm5pbmcgYW5kIHdlIGV4cGFuZCBpdCBub3csCislIGp1c3QgYmVmb3JlIHBhc3NpbmcgdGhlIGNvbnRyb2wgdG8gXGFyZ3RvcnVuLgorJSAoU2ltaWxhcmx5LCB3ZSBoYXZlIHRvIHRoaW5rIGFib3V0ICMzIG9mIFxhcmdjaGVja3NwYWNlc1kgYWJvdmU6IGl0IGlzCislIGVpdGhlciB0aGUgbnVsbCBzdHJpbmcsIG9yIGl0IGVuZHMgd2l0aCBcXl5NLS0tdGh1cyB0aGVyZSBpcyBubyBkYW5nZXIKKyUgdGhhdCBhIHBhaXIgb2YgYnJhY2VzIHdvdWxkIGJlIHN0cmlwcGVkLgogJQotXGJlZ2luZ3JvdXAKKyUgQnV0IGZpcnN0LCB3ZSBoYXZlIHRvIHJlbW92ZSB0aGUgdHJhaWxpbmcgc3BhY2UgdG9rZW4uCislCitcZGVmXGZpbmlzaHBhcnNlYXJnIzEgXEFyZ1Rlcm17XGV4cGFuZGFmdGVyXGFyZ3RvcnVuXGV4cGFuZGFmdGVyeyMxfX0KKworJSBccGFyc2VhcmdkZWZcZm9vey4uLn0KKyUJaXMgcm91Z2hseSBlcXVpdmFsZW50IHRvCislIFxkZWZcZm9ve1xwYXJzZWFyZ1xYZm9vfQorJSBcZGVmXFhmb28jMXsuLi59CislCislIEFjdHVhbGx5LCBJIHVzZSBcY3NuYW1lXHN0cmluZ1xmb29cZW5kY3NuYW1lLCBpZS4gXFxmb28sIGFzIGl0IGlzIG15CislIGZhdm91cml0ZSBUZVggdHJpY2suICAtLWthc2FsLCAxNm5vdjAzCisKK1xkZWZccGFyc2VhcmdkZWYjMXslCisgIFxleHBhbmRhZnRlciBcZG9wYXJzZWFyZ2RlZiBcY3NuYW1lXHN0cmluZyMxXGVuZGNzbmFtZSAjMSUKK30KK1xkZWZcZG9wYXJzZWFyZ2RlZiMxIzJ7JQorICBcZGVmIzJ7XHBhcnNlYXJnIzF9JQorICBcZGVmIzEjIzElCit9CisKKyUgU2V2ZXJhbCB1dGlsaXR5IGRlZmluaXRpb25zIHdpdGggYWN0aXZlIHNwYWNlOgorewogICBcb2JleXNwYWNlcwotICBcZ2RlZlxpZ25vcmVhY3RpdmVzcGFjZXN7XG9iZXlzcGFjZXNcbGV0ID1cZW1wdHl9Ci1cZW5kZ3JvdXAKKyAgXGdkZWZcb2JleWVkc3BhY2V7IH0KKworICAlIE1ha2UgZWFjaCBzcGFjZSBjaGFyYWN0ZXIgaW4gdGhlIGlucHV0IHByb2R1Y2UgYSBub3JtYWwgaW50ZXJ3b3JkCisgICUgc3BhY2UgaW4gdGhlIG91dHB1dC4gIERvbid0IGFsbG93IGEgbGluZSBicmVhayBhdCB0aGlzIHNwYWNlLCBhcyB0aGlzCisgICUgaXMgdXNlZCBvbmx5IGluIGVudmlyb25tZW50cyBsaWtlIEBleGFtcGxlLCB3aGVyZSBlYWNoIGxpbmUgb2YgaW5wdXQKKyAgJSBzaG91bGQgcHJvZHVjZSBhIGxpbmUgb2Ygb3V0cHV0IGFueXdheS4KKyAgJQorICBcZ2RlZlxzZXBzcGFjZXN7XG9iZXlzcGFjZXNcbGV0ID1cdGllfQorCisgICUgSWYgYW4gaW5kZXggY29tbWFuZCBpcyB1c2VkIGluIGFuIEBleGFtcGxlIGVudmlyb25tZW50LCBhbnkgc3BhY2VzCisgICUgdGhlcmVpbiBzaG91bGQgYmVjb21lIHJlZ3VsYXIgc3BhY2VzIGluIHRoZSByYXcgaW5kZXggZmlsZSwgbm90IHRoZQorICAlIGV4cGFuc2lvbiBvZiBcdGllIChcbGVhdmV2bW9kZSBccGVuYWx0eSBcQE0gXCApLgorICBcZ2RlZlx1bnNlcHNwYWNlc3tcbGV0ID1cc3BhY2V9Cit9CiAKIAogXGRlZlxmbHVzaGNye1xpZnhccGFyXGxpc3BwYXIgXGRlZlxuZXh0IyMxe31cZWxzZSBcbGV0XG5leHQ9XHJlbGF4IFxmaSBcbmV4dH0KIAotJSUgVGhlc2UgYXJlIHVzZWQgdG8ga2VlcCBAYmVnaW4vQGVuZCBsZXZlbHMgZnJvbSBydW5uaW5nIGF3YXkKLSUlIENhbGwgXGluRU5WIHdpdGhpbiBlbnZpcm9ubWVudHMgKGFmdGVyIGEgXGJlZ2luZ3JvdXApCi1cbmV3aWZcaWZFTlYgXEVOVmZhbHNlIFxkZWZcaW5FTlZ7XGlmRU5WXHJlbGF4XGVsc2VcRU5WdHJ1ZVxmaX0KLVxkZWZcRU5WY2hlY2t7JQotXGlmRU5WXGVycm1lc3NhZ2V7U3RpbGwgd2l0aGluIGFuIGVudmlyb25tZW50OyBwcmVzcyBSRVRVUk4gdG8gY29udGludWV9Ci1cZW5kZ3JvdXBcZml9ICUgVGhpcyBpcyBub3QgcGVyZmVjdCwgYnV0IGl0IHNob3VsZCByZWR1Y2UgbG9zc2FnZQotCi0lIEBiZWdpbiBmb28gIGlzIHRoZSBzYW1lIGFzIEBmb28sIGZvciBub3cuCi1cbmV3aGVscFxFTXNpbXBsZXtQcmVzcyBSRVRVUk4gdG8gY29udGludWUufQotCi1cb3V0ZXJcZGVmXGJlZ2lue1xwYXJzZWFyZ1xiZWdpbnh4eH0KLQotXGRlZlxiZWdpbnh4eCAjMXslCi1cZXhwYW5kYWZ0ZXJcaWZ4XGNzbmFtZSAjMVxlbmRjc25hbWVccmVsYXgKLXtcZXJyaGVscD1cRU1zaW1wbGUgXGVycm1lc3NhZ2V7VW5kZWZpbmVkIGNvbW1hbmQgQGJlZ2luICMxfX1cZWxzZQotXGNzbmFtZSAjMVxlbmRjc25hbWVcZml9Ci0KLSUgQGVuZCBmb28gZXhlY3V0ZXMgdGhlIGRlZmluaXRpb24gb2YgXEVmb28uCislIERlZmluZSB0aGUgZnJhbWV3b3JrIGZvciBlbnZpcm9ubWVudHMgaW4gdGV4aW5mby50ZXguICBJdCdzIHVzZWQgbGlrZSB0aGlzOgogJQotXGRlZlxlbmR7XHBhcnNlYXJnXGVuZHh4eH0KLVxkZWZcZW5keHh4ICMxeyUKLSAgXHJlbW92ZWFjdGl2ZXNwYWNlc3sjMX0lCi0gIFxlZGVmXGVuZHRoaW5ne1x0aGVcdG9rczB9JQotICAlCi0gIFxleHBhbmRhZnRlclxpZnhcY3NuYW1lIEVcZW5kdGhpbmdcZW5kY3NuYW1lXHJlbGF4Ci0gICAgXGV4cGFuZGFmdGVyXGlmeFxjc25hbWUgXGVuZHRoaW5nXGVuZGNzbmFtZVxyZWxheAotICAgICAgJSBUaGVyZSdzIG5vIFxmb28sIGkuZS4sIG5vIGBgZW52aXJvbm1lbnQnJyBmb28uCi0gICAgICBcZXJyaGVscCA9IFxFTXNpbXBsZQotICAgICAgXGVycm1lc3NhZ2V7VW5kZWZpbmVkIGNvbW1hbmQgYEBlbmQgXGVuZHRoaW5nJ30lCi0gICAgXGVsc2UKLSAgICAgIFx1bm1hdGNoZWRlbmRlcnJvclxlbmR0aGluZwotICAgIFxmaQorJSAgIFxlbnZkZWZcZm9vey4uLn0KKyUgICBcZGVmXEVmb297Li4ufQorJQorJSBJdCdzIHRoZSByZXNwb25zaWJpbGl0eSBvZiBcZW52ZGVmIHRvIGluc2VydCBcYmVnaW5ncm91cCBiZWZvcmUgdGhlCislIGFjdHVhbCBib2R5OyBAZW5kIGNsb3NlcyB0aGUgZ3JvdXAgYWZ0ZXIgY2FsbGluZyBcRWZvby4gIFxlbnZkZWYgYWxzbworJSBkZWZpbmVzIFx0aGlzZW52LCBzbyB0aGUgY3VycmVudCBlbnZpcm9ubWVudCBpcyBrbm93bjsgQGVuZCBjaGVja3MKKyUgd2hldGhlciB0aGUgZW52aXJvbm1lbnQgbmFtZSBtYXRjaGVzLiAgVGhlIFxjaGVja2VudiBtYWNybyBjYW4gYWxzbyBiZQorJSB1c2VkIHRvIGNoZWNrIHdoZXRoZXIgdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQgaXMgdGhlIG9uZSBleHBlY3RlZC4KKyUKKyUgTm9uLWZhbHNlIGNvbmRpdGlvbmFscyAoQGlmdGV4LCBAaWZzZXQpIGRvbid0IGZpdCBpbnRvIHRoaXMsIHNvIHRoZXkKKyUgYXJlIG5vdCB0cmVhdGVkIGFzIGVudmlyb25tZW50czsgdGhleSBkb24ndCBvcGVuIGEgZ3JvdXAuICAoVGhlCislIGltcGxlbWVudGF0aW9uIG9mIEBlbmQgdGFrZXMgY2FyZSBub3QgdG8gY2FsbCBcZW5kZ3JvdXAgaW4gdGhpcworJSBzcGVjaWFsIGNhc2UuKQorCisKKyUgQXQgcnVuLXRpbWUsIGVudmlyb25tZW50cyBzdGFydCB3aXRoIHRoaXM6CitcZGVmXHN0YXJ0ZW52aXJvbm1lbnQjMXtcYmVnaW5ncm91cFxkZWZcdGhpc2VudnsjMX19CislIGluaXRpYWxpemUKK1xsZXRcdGhpc2VudlxlbXB0eQorCislIC4uLiBidXQgdGhleSBnZXQgZGVmaW5lZCB2aWEgYGBcZW52ZGVmXGZvb3suLi59Jyc6CitcbG9uZ1xkZWZcZW52ZGVmIzEjMntcZGVmIzF7XHN0YXJ0ZW52aXJvbm1lbnQjMSMyfX0KK1xkZWZcZW52cGFyc2VhcmdkZWYjMSMye1xwYXJzZWFyZ2RlZiMxe1xzdGFydGVudmlyb25tZW50IzEjMn19CisKKyUgQ2hlY2sgd2hldGhlciB3ZSdyZSBpbiB0aGUgcmlnaHQgZW52aXJvbm1lbnQ6CitcZGVmXGNoZWNrZW52IzF7JQorICBcZGVmXHRlbXB7IzF9JQorICBcaWZ4XHRoaXNlbnZcdGVtcAogICBcZWxzZQotICAgICUgRXZlcnl0aGluZydzIG9rOyB0aGUgcmlnaHQgZW52aXJvbm1lbnQgaGFzIGJlZW4gc3RhcnRlZC4KLSAgICBcY3NuYW1lIEVcZW5kdGhpbmdcZW5kY3NuYW1lCisgICAgXGJhZGVudmVycgogICBcZmkKIH0KIAotJSBUaGVyZSBpcyBhbiBlbnZpcm9ubWVudCAjMSwgYnV0IGl0IGhhc24ndCBiZWVuIHN0YXJ0ZWQuICBHaXZlIGFuIGVycm9yLgotJQotXGRlZlx1bm1hdGNoZWRlbmRlcnJvciMxeyUKKyUgRW52aXJvbm1lbnQgbWlzbWF0Y2gsICMxIGV4cGVjdGVkOgorXGRlZlxiYWRlbnZlcnJ7JQogICBcZXJyaGVscCA9IFxFTXNpbXBsZQotICBcZXJybWVzc2FnZXtUaGlzIGBAZW5kICMxJyBkb2Vzbid0IGhhdmUgYSBtYXRjaGluZyBgQCMxJ30lCisgIFxlcnJtZXNzYWdle1RoaXMgY29tbWFuZCBjYW4gYXBwZWFyIG9ubHkgXGluZW52aXJvbm1lbnRcdGVtcCwKKyAgICBub3QgXGluZW52aXJvbm1lbnRcdGhpc2Vudn0lCit9CitcZGVmXGluZW52aXJvbm1lbnQjMXslCisgIFxpZngjMVxlbXB0eQorICAgIG91dCBvZiBhbnkgZW52aXJvbm1lbnQlCisgIFxlbHNlCisgICAgaW4gZW52aXJvbm1lbnQgXGV4cGFuZGFmdGVyXHN0cmluZyMxJQorICBcZmkKIH0KIAotJSBEZWZpbmUgdGhlIGNvbnRyb2wgc2VxdWVuY2UgXEUjMSB0byBnaXZlIGFuIHVubWF0Y2hlZCBAZW5kIGVycm9yLgorJSBAZW5kIGZvbyBleGVjdXRlcyB0aGUgZGVmaW5pdGlvbiBvZiBcRWZvby4KKyUgQnV0IGZpcnN0LCBpdCBleGVjdXRlcyBhIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgXGNoZWNrZW52CiAlCi1cZGVmXGRlZmluZXVubWF0Y2hlZGVuZCMxeyUKLSAgXGV4cGFuZGFmdGVyXGRlZlxjc25hbWUgRSMxXGVuZGNzbmFtZXtcdW5tYXRjaGVkZW5kZXJyb3J7IzF9fSUKK1xwYXJzZWFyZ2RlZlxlbmR7JQorICBcaWYgMVxjc25hbWUgaXNjb25kLiMxXGVuZGNzbmFtZQorICBcZWxzZQorICAgICUgVGhlIGdlbmVyYWwgd29yZGluZyBvZiBcYmFkZW52ZXJyIG1heSBub3QgYmUgaWRlYWwsIGJ1dC4uLiAtLWthc2FsLCAwNm5vdjAzCisgICAgXGV4cGFuZGFmdGVyXGNoZWNrZW52XGNzbmFtZSMxXGVuZGNzbmFtZQorICAgIFxjc25hbWUgRSMxXGVuZGNzbmFtZQorICAgIFxlbmRncm91cAorICBcZmkKIH0KIAorXG5ld2hlbHBcRU1zaW1wbGV7UHJlc3MgUkVUVVJOIHRvIGNvbnRpbnVlLn0KKwogCiAlJSBTaW1wbGUgc2luZ2xlLWNoYXJhY3RlciBAIGNvbW1hbmRzCiAKQEAgLTQ4Myw3ICs2MTksNyBAQAogXGxldFx9PVxteXJicmFjZQogXGJlZ2luZ3JvdXAKICAgJSBEZWZpbml0aW9ucyB0byBwcm9kdWNlIFx7IGFuZCBcfSBjb21tYW5kcyBmb3IgaW5kaWNlcywKLSAgJSBhbmQgQHsgYW5kIEB9IGZvciB0aGUgYXV4IGZpbGUuCisgICUgYW5kIEB7IGFuZCBAfSBmb3IgdGhlIGF1eC90b2MgZmlsZXMuCiAgIFxjYXRjb2RlYFx7ID0gXG90aGVyIFxjYXRjb2RlYFx9ID0gXG90aGVyCiAgIFxjYXRjb2RlYFxbID0gMSBcY2F0Y29kZWBcXSA9IDIKICAgXGNhdGNvZGVgXCEgPSAwIFxjYXRjb2RlYFxcID0gXG90aGVyCkBAIC00OTMsNiArNjI5LDkgQEAKICAgIWdkZWYhcmJyYWNlYXRjbWRbQH1dJQogIWVuZGdyb3VwCiAKKyUgQGNvbW1he30gdG8gYXZvaWQgLCBwYXJzaW5nIHByb2JsZW1zLgorXGxldFxjb21tYSA9ICwKKwogJSBBY2NlbnRzOiBALCBAZG90YWNjZW50IEByaW5nYWNjZW50IEB1YmFyYWNjZW50IEB1ZG90YWNjZW50CiAlIE90aGVycyBhcmUgZGVmaW5lZCBieSBwbGFpbiBUZVg6IEBgIEAnIEAiIEBeIEB+IEA9IEB1IEB2IEBILgogXGxldFwsID0gXGMKQEAgLTUwMiwyMiArNjQxLDQzIEBACiBcbGV0XHViYXJhY2NlbnQgPSBcYgogXGxldFx1ZG90YWNjZW50ID0gXGQKIAotJSBPdGhlciBzcGVjaWFsIGNoYXJhY3RlcnM6IEBxdWVzdGlvbmRvd24gQGV4Y2xhbWRvd24KKyUgT3RoZXIgc3BlY2lhbCBjaGFyYWN0ZXJzOiBAcXVlc3Rpb25kb3duIEBleGNsYW1kb3duIEBvcmRmIEBvcmRtCiAlIFBsYWluIFRlWCBkZWZpbmVzOiBAQUEgQEFFIEBPIEBPRSBATCAocGx1cyBsb3dlcmNhc2UgdmVyc2lvbnMpIEBzcy4KIFxkZWZccXVlc3Rpb25kb3duez9gfQogXGRlZlxleGNsYW1kb3dueyFgfQorXGRlZlxvcmRme1xsZWF2ZXZtb2RlXHJhaXNlMWV4XGhib3h7XHNlbGVjdGZvbnRzXGxsbHNpemUgXHVuZGVyYmFye2F9fX0KK1xkZWZcb3JkbXtcbGVhdmV2bW9kZVxyYWlzZTFleFxoYm94e1xzZWxlY3Rmb250c1xsbGxzaXplIFx1bmRlcmJhcntvfX19CiAKICUgRG90bGVzcyBpIGFuZCBkb3RsZXNzIGosIHVzZWQgZm9yIGFjY2VudHMuCiBcZGVmXGltYWNyb3tpfQogXGRlZlxqbWFjcm97an0KIFxkZWZcZG90bGVzcyMxeyUKICAgXGRlZlx0ZW1weyMxfSUKLSAgXGlmeFx0ZW1wXGltYWNybyBccHRleGkKLSAgXGVsc2VcaWZ4XHRlbXBcam1hY3JvIFxqCisgIFxpZnhcdGVtcFxpbWFjcm8gXGlmbW1vZGVcaW1hdGggXGVsc2VccHRleGkgXGZpCisgIFxlbHNlXGlmeFx0ZW1wXGptYWNybyBcaWZtbW9kZVxqbWF0aCBcZWxzZVxqIFxmaQogICBcZWxzZSBcZXJybWVzc2FnZXtAZG90bGVzcyBjYW4gYmUgdXNlZCBvbmx5IHdpdGggaSBvciBqfSUKICAgXGZpXGZpCiB9CiAKKyUgVGhlIFxUZVh7fSBsb2dvLCBhcyBpbiBwbGFpbiwgYnV0IHJlc2V0dGluZyB0aGUgc3BhY2luZyBzbyB0aGF0IGEKKyUgcGVyaW9kIGZvbGxvd2luZyBjb3VudHMgYXMgZW5kaW5nIGEgc2VudGVuY2UuICAoSWRlYSBmb3VuZCBpbiBsYXRleC4pCislCitcZWRlZlxUZVh7XFRlWCBcc3BhY2VmYWN0b3I9MTAwMCB9CisKKyUgQExhVGVYe30gbG9nby4gIE5vdCBxdWl0ZSB0aGUgc2FtZSByZXN1bHRzIGFzIHRoZSBkZWZpbml0aW9uIGluCislIGxhdGV4Lmx0eCwgc2luY2Ugd2UgdXNlIGEgZGlmZmVyZW50IGZvbnQgZm9yIHRoZSByYWlzZWQgQTsgaXQncyBtb3N0CislIGNvbnZlbmllbnQgZm9yIHVzIHRvIHVzZSBhbiBleHBsaWNpdGx5IHNtYWxsZXIgZm9udCwgcmF0aGVyIHRoYW4gdXNpbmcKKyUgdGhlIFxzY3JpcHRzdHlsZSBmb250IChzaW5jZSB3ZSBkb24ndCByZXNldCBcc2NyaXB0c3R5bGUgYW5kCislIFxzY3JpcHRzY3JpcHRzdHlsZSkuCislCitcZGVmXExhVGVYeyUKKyAgTFxrZXJuLS4zNmVtCisgIHtcc2V0Ym94MD1caGJveHtUfSUKKyAgIFx2Ym94IHRvIFxodDB7XGhib3h7XHNlbGVjdGZvbnRzXGxsbHNpemUgQX1cdnNzfX0lCisgIFxrZXJuLS4xNWVtCisgIFxUZVgKK30KKwogJSBCZSBzdXJlIHdlJ3JlIGluIGhvcml6b250YWwgbW9kZSB3aGVuIGRvaW5nIGEgdGllLCBzaW5jZSB3ZSBtYWtlIHNwYWNlCiAlIGVxdWl2YWxlbnQgdG8gdGhpcyBpbiBAZXhhbXBsZS1saWtlIGVudmlyb25tZW50cy4gT3RoZXJ3aXNlLCBhIHNwYWNlCiAlIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBsaW5lIHdpbGwgc3RhcnQgd2l0aCBccGVuYWx0eSAtLSBhbmQKQEAgLTUzNiwxNCArNjk2LDMyIEBACiAlIEAqIGZvcmNlcyBhIGxpbmUgYnJlYWsuCiBcZGVmXCp7XGhmaWxcYnJlYWtcaGJveHt9XGlnbm9yZXNwYWNlc30KIAorJSBALyBhbGxvd3MgYSBsaW5lIGJyZWFrLgorXGxldFwvPVxhbGxvd2JyZWFrCisKICUgQC4gaXMgYW4gZW5kLW9mLXNlbnRlbmNlIHBlcmlvZC4KLVxkZWZcLnsuXHNwYWNlZmFjdG9yPTMwMDAgfQorXGRlZlwuey5cc3BhY2VmYWN0b3I9XGVuZG9mc2VudGVuY2VzcGFjZWZhY3RvclxzcGFjZX0KIAogJSBAISBpcyBhbiBlbmQtb2Ytc2VudGVuY2UgYmFuZy4KLVxkZWZcIXshXHNwYWNlZmFjdG9yPTMwMDAgfQorXGRlZlwheyFcc3BhY2VmYWN0b3I9XGVuZG9mc2VudGVuY2VzcGFjZWZhY3RvclxzcGFjZX0KIAogJSBAPyBpcyBhbiBlbmQtb2Ytc2VudGVuY2UgcXVlcnkuCi1cZGVmXD97P1xzcGFjZWZhY3Rvcj0zMDAwIH0KK1xkZWZcP3s/XHNwYWNlZmFjdG9yPVxlbmRvZnNlbnRlbmNlc3BhY2VmYWN0b3Jcc3BhY2V9CisKKyUgQGZyZW5jaHNwYWNpbmcgb258b2ZmICBzYXlzIHdoZXRoZXIgdG8gcHV0IGV4dHJhIHNwYWNlIGFmdGVyIHB1bmN0dWF0aW9uLgorJSAKK1xkZWZcb253b3Jke29ufQorXGRlZlxvZmZ3b3Jke29mZn0KKyUKK1xwYXJzZWFyZ2RlZlxmcmVuY2hzcGFjaW5neyUKKyAgXGRlZlx0ZW1weyMxfSUKKyAgXGlmeFx0ZW1wXG9ud29yZCBccGxhaW5mcmVuY2hzcGFjaW5nCisgIFxlbHNlXGlmeFx0ZW1wXG9mZndvcmQgXHBsYWlubm9uZnJlbmNoc3BhY2luZworICBcZWxzZQorICAgIFxlcnJoZWxwID0gXEVNc2ltcGxlCisgICAgXGVycm1lc3NhZ2V7VW5rbm93biBAZnJlbmNoc3BhY2luZyBvcHRpb24gYFx0ZW1wJywgbXVzdCBiZSBvbi9vZmZ9JQorICBcZmlcZmkKK30KIAogJSBAdyBwcmV2ZW50cyBhIHdvcmQgYnJlYWsuICBXaXRob3V0IHRoZSBcbGVhdmV2bW9kZSwgQHcgYXQgdGhlCiAlIGJlZ2lubmluZyBvZiBhIHBhcmFncmFwaCwgd2hlbiBUZVggaXMgc3RpbGwgaW4gdmVydGljYWwgbW9kZSwgd291bGQKQEAgLTU2NCw2MyArNzQyLDE4IEBACiAlIGV4cGxpY2l0IFx2ZmlsbCBzbyB0aGF0IHRoZSBleHRyYSBzcGFjZSBpcyBhdCB0aGUgYm90dG9tLiAgVGhlCiAlIHRocmVzaG9sZCBmb3IgZG9pbmcgdGhpcyBpcyBpZiB0aGUgZ3JvdXAgaXMgbW9yZSB0aGFuIFx2ZmlsbGxpbWl0CiAlIHBlcmNlbnQgb2YgYSBwYWdlIChcdmZpbGxsaW1pdCBjYW4gYmUgY2hhbmdlZCBpbnNpZGUgb2YgQHRleCkuCi0lIAorJQogXG5ld2JveFxncm91cGJveAogXGRlZlx2ZmlsbGxpbWl0ezAuN30KICUKLVxkZWZcZ3JvdXB7XGJlZ2luZ3JvdXAKLSAgXGlmbnVtXGNhdGNvZGUxMz1cYWN0aXZlIFxlbHNlCitcZW52ZGVmXGdyb3VweyUKKyAgXGlmbnVtXGNhdGNvZGVgXF5eTT1cYWN0aXZlIFxlbHNlCiAgICAgXGVycmhlbHAgPSBcZ3JvdXBpbnZhbGlkaGVscAogICAgIFxlcnJtZXNzYWdle0Bncm91cCBpbnZhbGlkIGluIGNvbnRleHQgd2hlcmUgZmlsbGluZyBpcyBlbmFibGVkfSUKICAgXGZpCi0gICUKLSAgJSBUaGUgXHZ0b3Agd2Ugc3RhcnQgYmVsb3cgcHJvZHVjZXMgYSBib3ggd2l0aCBub3JtYWwgaGVpZ2h0IGFuZCBsYXJnZQotICAlIGRlcHRoOyB0aHVzLCBUZVggcHV0cyBcYmFzZWxpbmVza2lwIGdsdWUgYmVmb3JlIGl0LCBhbmQgKHdoZW4gdGhlCi0gICUgbmV4dCBsaW5lIG9mIHRleHQgaXMgZG9uZSkgXGxpbmVza2lwIGdsdWUgYWZ0ZXIgaXQuICAoU2VlIHAuODIgb2YKLSAgJSB0aGUgVGVYYm9vay4pICBUaHVzLCBzcGFjZSBiZWxvdyBpcyBub3QgcXVpdGUgZXF1YWwgdG8gc3BhY2UKLSAgJSBhYm92ZS4gIEJ1dCBpdCdzIHByZXR0eSBjbG9zZS4KLSAgXGRlZlxFZ3JvdXB7JQotICAgIFxlZ3JvdXAgICAgICAgICAgICUgRW5kIHRoZSBcdnRvcC4KLSAgICAlIFxkaW1lbjAgaXMgdGhlIHZlcnRpY2FsIHNpemUgb2YgdGhlIGdyb3VwJ3MgYm94LgotICAgIFxkaW1lbjAgPSBcaHRcZ3JvdXBib3ggIFxhZHZhbmNlXGRpbWVuMCBieSBcZHBcZ3JvdXBib3gKLSAgICAlIFxkaW1lbjIgaXMgaG93IG11Y2ggc3BhY2UgaXMgbGVmdCBvbiB0aGUgcGFnZSAobW9yZSBvciBsZXNzKS4KLSAgICBcZGltZW4yID0gXHBhZ2VoZWlnaHQgICBcYWR2YW5jZVxkaW1lbjIgYnkgLVxwYWdldG90YWwKLSAgICAlIGlmIHRoZSBncm91cCBkb2Vzbid0IGZpdCBvbiB0aGUgY3VycmVudCBwYWdlLCBhbmQgaXQncyBhIGJpZyBiaWcKLSAgICAlIGdyb3VwLCBmb3JjZSBhIHBhZ2UgYnJlYWsuCi0gICAgXGlmZGltIFxkaW1lbjAgPiBcZGltZW4yCi0gICAgICBcaWZkaW0gXHBhZ2V0b3RhbCA8IFx2ZmlsbGxpbWl0XHBhZ2VoZWlnaHQKLSAgICAgICAgXHBhZ2UKLSAgICAgIFxmaQotICAgIFxmaQotICAgIFxjb3B5XGdyb3VwYm94Ci0gICAgXGVuZGdyb3VwICAgICAgICAgJSBFbmQgdGhlIFxncm91cC4KLSAgfSUKKyAgXHN0YXJ0c2F2aW5naW5zZXJ0cwogICAlCiAgIFxzZXRib3hcZ3JvdXBib3ggPSBcdnRvcFxiZ3JvdXAKLSAgICAlIFdlIGhhdmUgdG8gcHV0IGEgc3RydXQgb24gdGhlIGxhc3QgbGluZSBpbiBjYXNlIHRoZSBAZ3JvdXAgaXMgaW4KLSAgICAlIHRoZSBtaWRzdCBvZiBhbiBleGFtcGxlLCByYXRoZXIgdGhhbiBjb21wbGV0ZWx5IGVuY2xvc2luZyBpdC4KLSAgICAlIE90aGVyd2lzZSwgdGhlIGludGVybGluZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYXN0IGxpbmUgb2YgdGhlIGdyb3VwCi0gICAgJSBhbmQgdGhlIGZpcnN0IGxpbmUgYWZ0ZXJ3YXJkcyBpcyB0b28gc21hbGwuICBCdXQgd2UgY2FuJ3QgcHV0IHRoZQotICAgICUgc3RydXQgaW4gXEVncm91cCwgc2luY2UgdGhlcmUgaXQgd291bGQgYmUgb24gYSBsaW5lIGJ5IGl0c2VsZi4KLSAgICAlIEhlbmNlIHRoaXMganVzdCBpbnNlcnRzIGEgc3RydXQgYXQgdGhlIGJlZ2lubmluZyBvZiBlYWNoIGxpbmUuCi0gICAgXGV2ZXJ5cGFyID0ge1xzdHJ1dH0lCi0gICAgJQotICAgICUgU2luY2Ugd2UgaGF2ZSBhIHN0cnV0IG9uIGV2ZXJ5IGxpbmUsIHdlIGRvbid0IG5lZWQgYW55IG9mIFRlWCdzCi0gICAgJSBub3JtYWwgaW50ZXJsaW5lIHNwYWNpbmcuCi0gICAgXG9mZmludGVybGluZXNraXAKLSAgICAlCi0gICAgJSBPSywgYnV0IG5vdyB3ZSBoYXZlIHRvIGRvIHNvbWV0aGluZyBhYm91dCBibGFuawotICAgICUgbGluZXMgaW4gdGhlIGlucHV0IGluIEBleGFtcGxlLWxpa2UgZW52aXJvbm1lbnRzLCB3aGljaCBub3JtYWxseQotICAgICUganVzdCB0dXJuIGludG8gXGxpc3BwYXIsIHdoaWNoIHdpbGwgaW5zZXJ0IG5vIHNwYWNlIG5vdyB0aGF0IHdlJ3ZlCi0gICAgJSB0dXJuZWQgb2ZmIHRoZSBpbnRlcmxpbmUgc3BhY2UuICBTaW1wbGVzdCBpcyB0byBtYWtlIHRoZW0gYmUgYW4KLSAgICAlIGVtcHR5IHBhcmFncmFwaC4KLSAgICBcaWZ4XHBhclxsaXNwcGFyCi0gICAgICBcZWRlZlxwYXJ7XGxlYXZldm1vZGUgXHBhcn0lCi0gICAgICAlCi0gICAgICAlIFJlc2V0IF5eTSdzIGRlZmluaXRpb24gdG8gbmV3IGRlZmluaXRpb24gb2YgXHBhci4KLSAgICAgIFxvYmV5bGluZXMKLSAgICBcZmkKLSAgICAlCiAgICAgJSBEbyBAY29tbWVudCBzaW5jZSB3ZSBhcmUgY2FsbGVkIGluc2lkZSBhbiBlbnZpcm9ubWVudCBzdWNoIGFzCiAgICAgJSBAZXhhbXBsZSwgd2hlcmUgZWFjaCBlbmQtb2YtbGluZSBpbiB0aGUgaW5wdXQgY2F1c2VzIGFuCiAgICAgJSBlbmQtb2YtbGluZSBpbiB0aGUgb3V0cHV0LiAgV2UgZG9uJ3Qgd2FudCB0aGUgZW5kLW9mLWxpbmUgYWZ0ZXIKQEAgLTYzMCw2ICs3NjMsMzIgQEAKICAgICBcY29tbWVudAogfQogJQorJSBUaGUgXHZ0b3AgcHJvZHVjZXMgYSBib3ggd2l0aCBub3JtYWwgaGVpZ2h0IGFuZCBsYXJnZSBkZXB0aDsgdGh1cywgVGVYIHB1dHMKKyUgXGJhc2VsaW5lc2tpcCBnbHVlIGJlZm9yZSBpdCwgYW5kICh3aGVuIHRoZSBuZXh0IGxpbmUgb2YgdGV4dCBpcyBkb25lKQorJSBcbGluZXNraXAgZ2x1ZSBhZnRlciBpdC4gIFRodXMsIHNwYWNlIGJlbG93IGlzIG5vdCBxdWl0ZSBlcXVhbCB0byBzcGFjZQorJSBhYm92ZS4gIEJ1dCBpdCdzIHByZXR0eSBjbG9zZS4KK1xkZWZcRWdyb3VweyUKKyAgICAlIFRvIGdldCBjb3JyZWN0IGludGVybGluZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYXN0IGxpbmUgb2YgdGhlIGdyb3VwCisgICAgJSBhbmQgdGhlIGZpcnN0IGxpbmUgYWZ0ZXJ3YXJkcywgd2UgaGF2ZSB0byBwcm9wYWdhdGUgXHByZXZkZXB0aC4KKyAgICBcZW5kZ3JhZiAlIE5vdCBccGFyLCBhcyBpdCBtYXkgaGF2ZSBiZWVuIHNldCB0byBcbGlzcHBhci4KKyAgICBcZ2xvYmFsXGRpbWVuMSA9IFxwcmV2ZGVwdGgKKyAgXGVncm91cCAgICAgICAgICAgJSBFbmQgdGhlIFx2dG9wLgorICAlIFxkaW1lbjAgaXMgdGhlIHZlcnRpY2FsIHNpemUgb2YgdGhlIGdyb3VwJ3MgYm94LgorICBcZGltZW4wID0gXGh0XGdyb3VwYm94ICBcYWR2YW5jZVxkaW1lbjAgYnkgXGRwXGdyb3VwYm94CisgICUgXGRpbWVuMiBpcyBob3cgbXVjaCBzcGFjZSBpcyBsZWZ0IG9uIHRoZSBwYWdlIChtb3JlIG9yIGxlc3MpLgorICBcZGltZW4yID0gXHBhZ2VoZWlnaHQgICBcYWR2YW5jZVxkaW1lbjIgYnkgLVxwYWdldG90YWwKKyAgJSBpZiB0aGUgZ3JvdXAgZG9lc24ndCBmaXQgb24gdGhlIGN1cnJlbnQgcGFnZSwgYW5kIGl0J3MgYSBiaWcgYmlnCisgICUgZ3JvdXAsIGZvcmNlIGEgcGFnZSBicmVhay4KKyAgXGlmZGltIFxkaW1lbjAgPiBcZGltZW4yCisgICAgXGlmZGltIFxwYWdldG90YWwgPCBcdmZpbGxsaW1pdFxwYWdlaGVpZ2h0CisgICAgICBccGFnZQorICAgIFxmaQorICBcZmkKKyAgXGJveFxncm91cGJveAorICBccHJldmRlcHRoID0gXGRpbWVuMQorICBcY2hlY2tpbnNlcnRzCit9CislCiAlIFRlWCBwdXRzIGluIGFuIFxlc2NhcGVjaGFyIChpLmUuLCBgQCcpIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGhlbHAKICUgbWVzc2FnZSwgc28gdGhpcyBlbmRzIHVwIHByaW50aW5nIGBAZ3JvdXAgY2FuIG9ubHkgLi4uJy4KICUKQEAgLTY0MiwxMCArODAxLDggQEAKIAogXG5ld2RpbWVuXG1pbCAgXG1pbD0wLjAwMWluCiAKLVxkZWZcbmVlZHtccGFyc2VhcmdcbmVlZHh9Ci0KICUgT2xkIGRlZmluaXRpb24tLWRpZG4ndCB3b3JrLgotJVxkZWZcbmVlZHggIzF7XHBhciAlCislXHBhcnNlYXJnZGVmXG5lZWR7XHBhciAlCiAlJSBUaGlzIG1ldGhvZCB0cmllcyB0byBtYWtlIFRlWCBicmVhayB0aGUgcGFnZSBuYXR1cmFsbHkKICUlIGlmIHRoZSBkZXB0aCBvZiB0aGUgYm94IGRvZXMgbm90IGZpdC4KICV7XGJhc2VsaW5lc2tpcD0wcHQlCkBAIC02NTMsNyArODEwLDcgQEAKICVccHJldmRlcHRoPS0xMDAwcHQKICV9fQogCi1cZGVmXG5lZWR4IzF7JQorXHBhcnNlYXJnZGVmXG5lZWR7JQogICAlIEVuc3VyZSB2ZXJ0aWNhbCBtb2RlLCBzbyB3ZSBkb24ndCBtYWtlIGEgYmlnIGJveCBpbiB0aGUgbWlkZGxlIG9mIGEKICAgJSBwYXJhZ3JhcGguCiAgIFxwYXIKQEAgLTY5MiwzNyArODQ5LDExIEBACiAgIFxmaQogfQogCi0lIEBiciAgIGZvcmNlcyBwYXJhZ3JhcGggYnJlYWsKKyUgQGJyICAgZm9yY2VzIHBhcmFncmFwaCBicmVhayAoYW5kIGlzIHVuZG9jdW1lbnRlZCkuCiAKIFxsZXRcYnIgPSBccGFyCiAKLSUgQGRvdHN7fSBvdXRwdXQgYW4gZWxsaXBzaXMgdXNpbmcgdGhlIGN1cnJlbnQgZm9udC4KLSUgV2UgZG8gLjVlbSBwZXIgcGVyaW9kIHNvIHRoYXQgaXQgaGFzIHRoZSBzYW1lIHNwYWNpbmcgaW4gYSB0eXBld3JpdGVyCi0lIGZvbnQgYXMgdGhyZWUgYWN0dWFsIHBlcmlvZCBjaGFyYWN0ZXJzLgotJQotXGRlZlxkb3RzeyUKLSAgXGxlYXZldm1vZGUKLSAgXGhib3ggdG8gMS41ZW17JQotICAgIFxoc2tpcCAwcHQgcGx1cyAwLjI1ZmlsIG1pbnVzIDAuMjVmaWwKLSAgICAuXGhzcy5caHNzLiUKLSAgICBcaHNraXAgMHB0IHBsdXMgMC41ZmlsIG1pbnVzIDAuNWZpbAotICB9JQotfQotCi0lIEBlbmRkb3Rze30gaXMgYW4gZW5kLW9mLXNlbnRlbmNlIGVsbGlwc2lzLgotJQotXGRlZlxlbmRkb3RzeyUKLSAgXGxlYXZldm1vZGUKLSAgXGhib3ggdG8gMmVteyUKLSAgICBcaHNraXAgMHB0IHBsdXMgMC4yNWZpbCBtaW51cyAwLjI1ZmlsCi0gICAgLlxoc3MuXGhzcy5caHNzLiUKLSAgICBcaHNraXAgMHB0IHBsdXMgMC41ZmlsIG1pbnVzIDAuNWZpbAotICB9JQotICBcc3BhY2VmYWN0b3I9MzAwMAotfQotCi0KLSUgQHBhZ2UgICAgZm9yY2VzIHRoZSBzdGFydCBvZiBhIG5ldyBwYWdlCislIEBwYWdlIGZvcmNlcyB0aGUgc3RhcnQgb2YgYSBuZXcgcGFnZS4KICUKIFxkZWZccGFnZXtccGFyXHZmaWxsXHN1cGVyZWplY3R9CiAKQEAgLTczNCwxMyArODY1LDExIEBACiBcbmV3c2tpcFxleGRlbnRhbW91bnQKIAogJSBUaGlzIGRlZm4gaXMgdXNlZCBpbnNpZGUgZmlsbCBlbnZpcm9ubWVudHMgc3VjaCBhcyBAZGVmdW4uCi1cZGVmXGV4ZGVudHtccGFyc2VhcmdcZXhkZW50eXl5fQotXGRlZlxleGRlbnR5eXkgIzF7e1xoZmlsXGJyZWFrXGhib3h7XGtlcm4gLVxleGRlbnRhbW91bnR7XHJtIzF9fVxoZmlsXGJyZWFrfX0KK1xwYXJzZWFyZ2RlZlxleGRlbnR7XGhmaWxcYnJlYWtcaGJveHtca2VybiAtXGV4ZGVudGFtb3VudHtccm0jMX19XGhmaWxcYnJlYWt9CiAKICUgVGhpcyBkZWZuIGlzIHVzZWQgaW5zaWRlIG5vZmlsbCBlbnZpcm9ubWVudHMgc3VjaCBhcyBAZXhhbXBsZS4KLVxkZWZcbm9maWxsZXhkZW50e1xwYXJzZWFyZ1xub2ZpbGxleGRlbnR5eXl9Ci1cZGVmXG5vZmlsbGV4ZGVudHl5eSAjMXt7XGFkdmFuY2UgXGxlZnRza2lwIGJ5IC1cZXhkZW50YW1vdW50Ci1cbGVmdGxpbmV7XGhza2lwXGxlZnRza2lwe1xybSMxfX19fQorXHBhcnNlYXJnZGVmXG5vZmlsbGV4ZGVudHt7XGFkdmFuY2UgXGxlZnRza2lwIGJ5IC1cZXhkZW50YW1vdW50CisgIFxsZWZ0bGluZXtcaHNraXBcbGVmdHNraXB7XHJtIzF9fX19CiAKICUgQGlubWFyZ2lue1dISUNIfXtURVhUfSBwdXRzIFRFWFQgaW4gdGhlIFdISUNIIG1hcmdpbiBuZXh0IHRvIHRoZSBjdXJyZW50CiAlIHBhcmFncmFwaC4gIEZvciBtb3JlIGdlbmVyYWwgcHVycG9zZXMsIHVzZSB0aGUgXG1hcmdpbiBpbnNlcnRpb24KQEAgLTc3MSwxMCArOTAwLDEwIEBACiAlIEBpbm1hcmdpbntURVhUIFssIFJJR0hULVRFWFRdfQogJSAoaWYgUklHSFQtVEVYVCBpcyBnaXZlbiwgdXNlIFRFWFQgZm9yIGxlZnQgcGFnZSwgUklHSFQtVEVYVCBmb3IgcmlnaHQ7CiAlIGVsc2UgdXNlIFRFWFQgZm9yIGJvdGgpLgotJSAKKyUKIFxkZWZcaW5tYXJnaW4jMXtccGFyc2Vpbm1hcmdpbiAjMSwsXGZpbmlzaH0KIFxkZWZccGFyc2Vpbm1hcmdpbiMxLCMyLCMzXGZpbmlzaHslIG5vdCBwZXJmZWN0LCBidXQgYmV0dGVyIHRoYW4gbm90aGluZy4KLSAgXHNldGJveDAgPSBcaGJveHtcaWdub3Jlc3BhY2VzICMyfSUgCisgIFxzZXRib3gwID0gXGhib3h7XGlnbm9yZXNwYWNlcyAjMn0lCiAgIFxpZmRpbVx3ZDAgPiAwcHQKICAgICBcZGVmXGxlZnR0ZXh0eyMxfSUgIGhhdmUgYm90aCB0ZXh0cwogICAgIFxkZWZccmlnaHR0ZXh0eyMyfSUKQEAgLTc5MSw5ICs5MjAsMjUgQEAKICAgXHRlbXAKIH0KIAotJSBAaW5jbHVkZSBmaWxlICAgIGluc2VydCB0ZXh0IG9mIHRoYXQgZmlsZSBhcyBpbnB1dC4KLSUgQWxsb3cgbm9ybWFsIGNoYXJhY3RlcnMgdGhhdCAgd2UgbWFrZSBhY3RpdmUgaW4gdGhlIGFyZ3VtZW50IChhIGZpbGUgbmFtZSkuCi1cZGVmXGluY2x1ZGV7XGJlZ2luZ3JvdXAKKyUgQGluY2x1ZGUgRklMRSAtLSBcaW5wdXQgdGV4dCBvZiBGSUxFLgorJQorXGRlZlxpbmNsdWRle1xwYXJzZWFyZ3VzaW5nXGZpbGVuYW1lY2F0Y29kZXNcaW5jbHVkZXp6en0KK1xkZWZcaW5jbHVkZXp6eiMxeyUKKyAgXHB1c2h0aGlzZmlsZXN0YWNrCisgIFxkZWZcdGhpc2ZpbGV7IzF9JQorICB7JQorICAgIFxtYWtldmFsdWVleHBhbmRhYmxlICAlIHdlIHdhbnQgdG8gZXhwYW5kIGFueSBAdmFsdWUgaW4gRklMRS4KKyAgICBcdHVybm9mZmFjdGl2ZSAgICAgICAgJSBhbmQgYWxsb3cgc3BlY2lhbCBjaGFyYWN0ZXJzIGluIHRoZSBleHBhbnNpb24KKyAgICBcaW5kZXhub2ZvbnRzICAgICAgICAgJSBBbGxvdyBgQEAnIGFuZCBvdGhlciB3ZWlyZCB0aGluZ3MgaW4gZmlsZSBuYW1lcy4KKyAgICBcZWRlZlx0ZW1we1xub2V4cGFuZFxpbnB1dCAjMSB9JQorICAgICUKKyAgICAlIFRoaXMgdHJpY2tlcnkgaXMgdG8gcmVhZCBGSUxFIG91dHNpZGUgb2YgYSBncm91cCwgaW4gY2FzZSBpdCBtYWtlcworICAgICUgZGVmaW5pdGlvbnMsIGV0Yy4KKyAgICBcZXhwYW5kYWZ0ZXIKKyAgfVx0ZW1wCisgIFxwb3B0aGlzZmlsZXN0YWNrCit9CitcZGVmXGZpbGVuYW1lY2F0Y29kZXN7JQogICBcY2F0Y29kZWBcXD1cb3RoZXIKICAgXGNhdGNvZGVgfj1cb3RoZXIKICAgXGNhdGNvZGVgXj1cb3RoZXIKQEAgLTgwMiwzMyArOTQ3LDUyIEBACiAgIFxjYXRjb2RlYDw9XG90aGVyCiAgIFxjYXRjb2RlYD49XG90aGVyCiAgIFxjYXRjb2RlYCs9XG90aGVyCi0gIFxwYXJzZWFyZ1xpbmNsdWRlenp6fQotJSBSZXN0b3JlIGFjdGl2ZSBjaGFycyBmb3IgaW5jbHVkZWQgZmlsZS4KLVxkZWZcaW5jbHVkZXp6eiMxe1xlbmRncm91cFxiZWdpbmdyb3VwCi0gICUgUmVhZCB0aGUgaW5jbHVkZWQgZmlsZSBpbiBhIGdyb3VwIHNvIG5lc3RlZCBAaW5jbHVkZSdzIHdvcmsuCi0gIFxkZWZcdGhpc2ZpbGV7IzF9JQotICBcbGV0XHZhbHVlPVxleHBhbmRhYmxldmFsdWUKLSAgXGlucHV0XHRoaXNmaWxlCi1cZW5kZ3JvdXB9CisgIFxjYXRjb2RlYC09XG90aGVyCisgIFxjYXRjb2RlYFxgPVxvdGhlcgorICBcY2F0Y29kZWBcJz1cb3RoZXIKK30KKworXGRlZlxwdXNodGhpc2ZpbGVzdGFja3slCisgIFxleHBhbmRhZnRlclxwdXNodGhpc2ZpbGVzdGFja1hccG9wdGhpc2ZpbGVzdGFja1xTdGFja1Rlcm0KK30KK1xkZWZccHVzaHRoaXNmaWxlc3RhY2tYeyUKKyAgXGV4cGFuZGFmdGVyXHB1c2h0aGlzZmlsZXN0YWNrWVx0aGlzZmlsZVxTdGFja1Rlcm0KK30KK1xkZWZccHVzaHRoaXNmaWxlc3RhY2tZICMxXFN0YWNrVGVybSAjMlxTdGFja1Rlcm0geyUKKyAgXGdkZWZccG9wdGhpc2ZpbGVzdGFja3tcZ2RlZlx0aGlzZmlsZXsjMX1cZ2RlZlxwb3B0aGlzZmlsZXN0YWNreyMyfX0lCit9CisKK1xkZWZccG9wdGhpc2ZpbGVzdGFja3tcZXJydGhpc2ZpbGVzdGFja2VtcHR5fQorXGRlZlxlcnJ0aGlzZmlsZXN0YWNrZW1wdHl7XGVycm1lc3NhZ2V7SW50ZXJuYWwgZXJyb3I6CisgIHRoZSBzdGFjayBvZiBmaWxlbmFtZXMgaXMgZW1wdHkufX0KIAogXGRlZlx0aGlzZmlsZXt9CiAKICUgQGNlbnRlciBsaW5lCiAlIG91dHB1dHMgdGhhdCBsaW5lLCBjZW50ZXJlZC4KICUKLVxkZWZcY2VudGVye1xwYXJzZWFyZ1xkb2NlbnRlcn0KLVxkZWZcZG9jZW50ZXIjMXt7JQotICBcaWZobW9kZSBcaGZpbFxicmVhayBcZmkKLSAgXGFkdmFuY2VcaHNpemUgYnkgLVxsZWZ0c2tpcAotICBcYWR2YW5jZVxoc2l6ZSBieSAtXHJpZ2h0c2tpcAotICBcbGluZXtcaGZpbCBcaWdub3Jlc3BhY2VzIzFcdW5za2lwIFxoZmlsfSUKLSAgXGlmaG1vZGUgXGJyZWFrIFxmaQotfX0KK1xwYXJzZWFyZ2RlZlxjZW50ZXJ7JQorICBcaWZobW9kZQorICAgIFxsZXRcbmV4dFxjZW50ZXJICisgIFxlbHNlCisgICAgXGxldFxuZXh0XGNlbnRlclYKKyAgXGZpCisgIFxuZXh0e1xoZmlsIFxpZ25vcmVzcGFjZXMjMVx1bnNraXAgXGhmaWx9JQorfQorXGRlZlxjZW50ZXJIIzF7JQorICB7JQorICAgIFxoZmlsXGJyZWFrCisgICAgXGFkdmFuY2VcaHNpemUgYnkgLVxsZWZ0c2tpcAorICAgIFxhZHZhbmNlXGhzaXplIGJ5IC1ccmlnaHRza2lwCisgICAgXGxpbmV7IzF9JQorICAgIFxicmVhaworICB9JQorfQorXGRlZlxjZW50ZXJWIzF7XGxpbmV7XGtlcm5cbGVmdHNraXAgIzFca2VyblxyaWdodHNraXB9fQogCiAlIEBzcCBuICAgb3V0cHV0cyBuIGxpbmVzIG9mIHZlcnRpY2FsIHNwYWNlCiAKLVxkZWZcc3B7XHBhcnNlYXJnXHNweHh4fQotXGRlZlxzcHh4eCAjMXtcdnNraXAgIzFcYmFzZWxpbmVza2lwfQorXHBhcnNlYXJnZGVmXHNwe1x2c2tpcCAjMVxiYXNlbGluZXNraXB9CiAKICUgQGNvbW1lbnQgLi4ubGluZSB3aGljaCBpcyBpZ25vcmVkLi4uCiAlIEBjIGlzIHRoZSBzYW1lIGFzIEBjb21tZW50CkBAIC04NDMsMTMgKzEwMDcsMTMgQEAKIAogJSBAcGFyYWdyYXBoaW5kZW50IE5DSEFSUwogJSBXZSdsbCB1c2UgZW1zIGZvciBOQ0hBUlMsIGNsb3NlIGVub3VnaC4KLSUgV2UgY2Fubm90IGltcGxlbWVudCBAcGFyYWdyYXBoaW5kZW50IGFzaXMsIHRob3VnaC4KLSUgCislIE5DSEFSUyBjYW4gYWxzbyBiZSB0aGUgd29yZCBgYXNpcycgb3IgYG5vbmUnLgorJSBXZSBjYW5ub3QgZmVhc2libHkgaW1wbGVtZW50IEBwYXJhZ3JhcGhpbmRlbnQgYXNpcywgdGhvdWdoLgorJQogXGRlZlxhc2lzd29yZHthc2lzfSAlIG5vIHRyYW5zbGF0aW9uLCB0aGVzZSBhcmUga2V5d29yZHMKIFxkZWZcbm9uZXdvcmR7bm9uZX0KICUKLVxkZWZccGFyYWdyYXBoaW5kZW50e1xwYXJzZWFyZ1xkb3BhcmFncmFwaGluZGVudH0KLVxkZWZcZG9wYXJhZ3JhcGhpbmRlbnQjMXslCitccGFyc2VhcmdkZWZccGFyYWdyYXBoaW5kZW50eyUKICAgXGRlZlx0ZW1weyMxfSUKICAgXGlmeFx0ZW1wXGFzaXN3b3JkCiAgIFxlbHNlCkBAIC04NjYsOCArMTAzMCw3IEBACiAlIFdlJ2xsIHVzZSBlbXMgZm9yIE5DSEFSUyBsaWtlIEBwYXJhZ3JhcGhpbmRlbnQuCiAlIEl0IHNlZW1zIEBleGFtcGxlaW5kZW50IGFzaXMgaXNuJ3QgbmVjZXNzYXJ5LCBidXQKICUgSSBwcmVzZXJ2ZSBpdCB0byBtYWtlIGl0IHNpbWlsYXIgdG8gQHBhcmFncmFwaGluZGVudC4KLVxkZWZcZXhhbXBsZWluZGVudHtccGFyc2VhcmdcZG9leGFtcGxlaW5kZW50fQotXGRlZlxkb2V4YW1wbGVpbmRlbnQjMXslCitccGFyc2VhcmdkZWZcZXhhbXBsZWluZGVudHslCiAgIFxkZWZcdGVtcHsjMX0lCiAgIFxpZnhcdGVtcFxhc2lzd29yZAogICBcZWxzZQpAQCAtODc5LDY0ICsxMDQyLDE2MSBAQAogICBcZmkKIH0KIAorJSBAZmlyc3RwYXJhZ3JhcGhpbmRlbnQgV09SRAorJSBJZiBXT1JEIGlzIGBub25lJywgdGhlbiBzdXBwcmVzcyBpbmRlbnRhdGlvbiBvZiB0aGUgZmlyc3QgcGFyYWdyYXBoCislIGFmdGVyIGEgc2VjdGlvbiBoZWFkaW5nLiAgSWYgV09SRCBpcyBgaW5zZXJ0JywgdGhlbiBkbyBpbmRlbnQgYXQgc3VjaAorJSBwYXJhZ3JhcGhzLgorJQorJSBUaGUgcGFyYWdyYXBoIGluZGVudGF0aW9uIGlzIHN1cHByZXNzZWQgb3Igbm90IGJ5IGNhbGxpbmcKKyUgXHN1cHByZXNzZmlyc3RwYXJhZ3JhcGhpbmRlbnQsIHdoaWNoIHRoZSBzZWN0aW9uaW5nIGNvbW1hbmRzIGRvLgorJSBXZSBzd2l0Y2ggdGhlIGRlZmluaXRpb24gb2YgdGhpcyBiYWNrIGFuZCBmb3J0aCBhY2NvcmRpbmcgdG8gV09SRC4KKyUgQnkgZGVmYXVsdCwgd2Ugc3VwcHJlc3MgaW5kZW50YXRpb24uCislCitcZGVmXHN1cHByZXNzZmlyc3RwYXJhZ3JhcGhpbmRlbnR7XGRvc3VwcHJlc3NmaXJzdHBhcmFncmFwaGluZGVudH0KK1xkZWZcaW5zZXJ0d29yZHtpbnNlcnR9CislCitccGFyc2VhcmdkZWZcZmlyc3RwYXJhZ3JhcGhpbmRlbnR7JQorICBcZGVmXHRlbXB7IzF9JQorICBcaWZ4XHRlbXBcbm9uZXdvcmQKKyAgICBcbGV0XHN1cHByZXNzZmlyc3RwYXJhZ3JhcGhpbmRlbnQgPSBcZG9zdXBwcmVzc2ZpcnN0cGFyYWdyYXBoaW5kZW50CisgIFxlbHNlXGlmeFx0ZW1wXGluc2VydHdvcmQKKyAgICBcbGV0XHN1cHByZXNzZmlyc3RwYXJhZ3JhcGhpbmRlbnQgPSBccmVsYXgKKyAgXGVsc2UKKyAgICBcZXJyaGVscCA9IFxFTXNpbXBsZQorICAgIFxlcnJtZXNzYWdle1Vua25vd24gQGZpcnN0cGFyYWdyYXBoaW5kZW50IG9wdGlvbiBgXHRlbXAnfSUKKyAgXGZpXGZpCit9CisKKyUgSGVyZSBpcyBob3cgd2UgYWN0dWFsbHkgc3VwcHJlc3MgaW5kZW50YXRpb24uICBSZWRlZmluZSBcZXZlcnlwYXIgdG8KKyUgXGtlcm4gYmFja3dhcmRzIGJ5IFxwYXJpbmRlbnQsIGFuZCB0aGVuIHJlc2V0IGl0c2VsZiB0byBlbXB0eS4KKyUKKyUgV2UgYWxzbyBtYWtlIFxpbmRlbnQgaXRzZWxmIG5vdCBhY3R1YWxseSBkbyBhbnl0aGluZyB1bnRpbCB0aGUgbmV4dAorJSBwYXJhZ3JhcGguCislCitcZ2RlZlxkb3N1cHByZXNzZmlyc3RwYXJhZ3JhcGhpbmRlbnR7JQorICBcZ2RlZlxpbmRlbnR7JQorICAgIFxyZXN0b3JlZmlyc3RwYXJhZ3JhcGhpbmRlbnQKKyAgICBcaW5kZW50CisgIH0lCisgIFxnZGVmXG5vaW5kZW50eyUKKyAgICBccmVzdG9yZWZpcnN0cGFyYWdyYXBoaW5kZW50CisgICAgXG5vaW5kZW50CisgIH0lCisgIFxnbG9iYWxcZXZlcnlwYXIgPSB7JQorICAgIFxrZXJuIC1ccGFyaW5kZW50CisgICAgXHJlc3RvcmVmaXJzdHBhcmFncmFwaGluZGVudAorICB9JQorfQorCitcZ2RlZlxyZXN0b3JlZmlyc3RwYXJhZ3JhcGhpbmRlbnR7JQorICBcZ2xvYmFsIFxsZXQgXGluZGVudCA9IFxwdGV4aW5kZW50CisgIFxnbG9iYWwgXGxldCBcbm9pbmRlbnQgPSBccHRleG5vaW5kZW50CisgIFxnbG9iYWwgXGV2ZXJ5cGFyID0ge30lCit9CisKKwogJSBAYXNpcyBqdXN0IHlpZWxkcyBpdHMgYXJndW1lbnQuICBVc2VkIHdpdGggQHRhYmxlLCBmb3IgZXhhbXBsZS4KICUKIFxkZWZcYXNpcyMxeyMxfQogCiAlIEBtYXRoIG91dHB1dHMgaXRzIGFyZ3VtZW50IGluIG1hdGggbW9kZS4KLSUgV2UgZG9uJ3QgdXNlICQncyBkaXJlY3RseSBpbiB0aGUgZGVmaW5pdGlvbiBvZiBcbWF0aCBiZWNhdXNlIHdlIG5lZWQKLSUgdG8gc2V0IGNhdGNvZGVzIGFjY29yZGluZyB0byBwbGFpbiBUZVggZmlyc3QsIHRvIGFsbG93IGZvciBzdWJzY3JpcHRzLAotJSBzdXBlcnNjcmlwdHMsIHNwZWNpYWwgbWF0aCBjaGFycywgZXRjLgotJSAKLVxsZXRcaW1wbGljaXRtYXRoID0gJCUkIGZvbnQtbG9jayBmaXgKICUKICUgT25lIGNvbXBsaWNhdGlvbjogXyB1c3VhbGx5IG1lYW5zIHN1YnNjcmlwdHMsIGJ1dCBpdCBjb3VsZCBhbHNvIG1lYW4KICUgYW4gYWN0dWFsIF8gY2hhcmFjdGVyLCBhcyBpbiBAbWF0aHtAdmFye3NvbWVfdmFyaWFibGV9ICsgMX0uICBTbyBtYWtlCi0lIF8gd2l0aGluIEBtYXRoIGJlIGFjdGl2ZSAobWF0aGNvZGUgIjgwMDApLCBhbmQgZGlzdGluZ3Vpc2ggYnkgc2VlaW5nCi0lIGlmIHRoZSBjdXJyZW50IGZhbWlseSBpcyBcc2xmYW0sIHdoaWNoIGlzIHdoYXQgQHZhciB1c2VzLgotJSAKLXtcY2F0Y29kZVx1bmRlckNoYXIgPSBcYWN0aXZlCi1cZ2RlZlxtYXRodW5kZXJzY29yZXslCi0gIFxjYXRjb2RlXHVuZGVyQ2hhcj1cYWN0aXZlCi0gIFxkZWZfe1xpZm51bVxmYW09XHNsZmFtIFxfXGVsc2Vcc2JcZml9JQotfX0KLSUKKyUgXyBhY3RpdmUsIGFuZCBkaXN0aW5ndWlzaCBieSBzZWVpbmcgaWYgdGhlIGN1cnJlbnQgZmFtaWx5IGlzIFxzbGZhbSwKKyUgd2hpY2ggaXMgd2hhdCBAdmFyIHVzZXMuCit7CisgIFxjYXRjb2RlYFxfID0gXGFjdGl2ZQorICBcZ2RlZlxtYXRodW5kZXJzY29yZXslCisgICAgXGNhdGNvZGVgXF89XGFjdGl2ZQorICAgIFxkZWZfe1xpZm51bVxmYW09XHNsZmFtIFxfXGVsc2Vcc2JcZml9JQorICB9Cit9CiAlIEFub3RoZXIgY29tcGxpY2F0aW9uOiB3ZSB3YW50IFxcIChhbmQgQFwpIHRvIG91dHB1dCBhIFwgY2hhcmFjdGVyLgogJSBGWUksIHBsYWluLnRleCB1c2VzIFxcIGFzIGEgdGVtcG9yYXJ5IGNvbnRyb2wgc2VxdWVuY2UgKHdoeT8pLCBidXQKICUgdGhpcyBpcyBub3QgYWR2ZXJ0aXNlZCBhbmQgd2UgZG9uJ3QgY2FyZS4gIFRleGluZm8gZG9lcyBub3QKICUgb3RoZXJ3aXNlIGRlZmluZSBAXC4KLSUgCislCiAlIFRoZSBcbWF0aGNoYXIgaXMgY2xhc3M9MD1vcmRpbmFyeSwgZmFtaWx5PTc9dHRmYW0sIHBvc2l0aW9uPTVDPVwuCiBcZGVmXG1hdGhiYWNrc2xhc2h7XGlmbnVtXGZhbT1cdHRmYW0gXG1hdGhjaGFyIjA3NUMgXGVsc2VcYmFja3NsYXNoIFxmaX0KICUKIFxkZWZcbWF0aHslCiAgIFx0ZXgKLSAgXG1hdGhjb2RlYFxfPSI4MDAwIFxtYXRodW5kZXJzY29yZQorICBcbWF0aHVuZGVyc2NvcmUKICAgXGxldFxcID0gXG1hdGhiYWNrc2xhc2gKICAgXG1hdGhhY3RpdmUKLSAgXGltcGxpY2l0bWF0aFxmaW5pc2htYXRofQotXGRlZlxmaW5pc2htYXRoIzF7IzFcaW1wbGljaXRtYXRoXEV0ZXh9CisgICUgbWFrZSB0aGUgdGV4aW5mbyBhY2NlbnQgY29tbWFuZHMgd29yayBpbiBtYXRoIG1vZGUKKyAgXGxldFwiPVxkZG90CisgIFxsZXRcJz1cYWN1dGUKKyAgXGxldFw9PVxiYXIKKyAgXGxldFxePVxoYXQKKyAgXGxldFxgPVxncmF2ZQorICBcbGV0XHU9XGJyZXZlCisgIFxsZXRcdj1cY2hlY2sKKyAgXGxldFx+PVx0aWxkZQorICBcbGV0XGRvdGFjY2VudD1cZG90CisgICRcZmluaXNobWF0aAorfQorXGRlZlxmaW5pc2htYXRoIzF7IzEkXGVuZGdyb3VwfSAgJSBDbG9zZSB0aGUgZ3JvdXAgb3BlbmVkIGJ5IFx0ZXguCiAKICUgU29tZSBhY3RpdmUgY2hhcmFjdGVycyAoc3VjaCBhcyA8KSBhcmUgc3BhY2VkIGRpZmZlcmVudGx5IGluIG1hdGguCi0lIFdlIGhhdmUgdG8gcmVzZXQgdGhlaXIgZGVmaW5pdGlvbnMgaW4gY2FzZSB0aGUgQG1hdGggd2FzIGFuCi0lIGFyZ3VtZW50IHRvIGEgY29tbWFuZCB3aGljaCBzZXQgdGhlIGNhdGNvZGVzIChzdWNoIGFzIEBpdGVtIG9yIEBzZWN0aW9uKS4KLSUgCislIFdlIGhhdmUgdG8gcmVzZXQgdGhlaXIgZGVmaW5pdGlvbnMgaW4gY2FzZSB0aGUgQG1hdGggd2FzIGFuIGFyZ3VtZW50CislIHRvIGEgY29tbWFuZCB3aGljaCBzZXRzIHRoZSBjYXRjb2RlcyAoc3VjaCBhcyBAaXRlbSBvciBAc2VjdGlvbikuCislCiB7CiAgIFxjYXRjb2RlYF4gPSBcYWN0aXZlCiAgIFxjYXRjb2RlYDwgPSBcYWN0aXZlCiAgIFxjYXRjb2RlYD4gPSBcYWN0aXZlCiAgIFxjYXRjb2RlYCsgPSBcYWN0aXZlCisgIFxjYXRjb2RlYCcgPSBcYWN0aXZlCiAgIFxnZGVmXG1hdGhhY3RpdmV7JQogICAgIFxsZXReID0gXHB0ZXhoYXQKICAgICBcbGV0PCA9IFxwdGV4bGVzcwogICAgIFxsZXQ+ID0gXHB0ZXhndHIKICAgICBcbGV0KyA9IFxwdGV4cGx1cworICAgIFxsZXQnID0gXHB0ZXhxdW90ZXJpZ2h0CiAgIH0KIH0KIAotJSBAYnVsbGV0IGFuZCBAbWludXMgbmVlZCB0aGUgc2FtZSB0cmVhdG1lbnQgYXMgQG1hdGgsIGp1c3QgYWJvdmUuCi1cZGVmXGJ1bGxldHtcaW1wbGljaXRtYXRoXHB0ZXhidWxsZXRcaW1wbGljaXRtYXRofQotXGRlZlxtaW51c3tcaW1wbGljaXRtYXRoLVxpbXBsaWNpdG1hdGh9CislIFNvbWUgbWF0aCBtb2RlIHN5bWJvbHMuCitcZGVmXGJ1bGxldHskXHB0ZXhidWxsZXQkfQorXGRlZlxnZXF7XGlmbW1vZGUgXGdlXGVsc2UgJFxnZSRcZml9CitcZGVmXGxlcXtcaWZtbW9kZSBcbGVcZWxzZSAkXGxlJFxmaX0KK1xkZWZcbWludXN7XGlmbW1vZGUgLVxlbHNlICQtJFxmaX0KKworJSBAZG90c3t9IG91dHB1dHMgYW4gZWxsaXBzaXMgdXNpbmcgdGhlIGN1cnJlbnQgZm9udC4KKyUgV2UgZG8gLjVlbSBwZXIgcGVyaW9kIHNvIHRoYXQgaXQgaGFzIHRoZSBzYW1lIHNwYWNpbmcgaW4gdGhlIGNtCislIHR5cGV3cml0ZXIgZm9udHMgYXMgdGhyZWUgYWN0dWFsIHBlcmlvZCBjaGFyYWN0ZXJzOyBvbiB0aGUgb3RoZXIgaGFuZCwKKyUgaW4gb3RoZXIgdHlwZXdyaXRlciBmb250cyB0aHJlZSBwZXJpb2RzIGFyZSB3aWRlciB0aGFuIDEuNWVtLiAgU28gZG8KKyUgd2hpY2hldmVyIGlzIGxhcmdlci4KKyUKK1xkZWZcZG90c3slCisgIFxsZWF2ZXZtb2RlCisgIFxzZXRib3gwPVxoYm94ey4uLn0lIGdldCB3aWR0aCBvZiB0aHJlZSBwZXJpb2RzCisgIFxpZmRpbVx3ZDAgPiAxLjVlbQorICAgIFxkaW1lbjAgPSBcd2QwCisgIFxlbHNlCisgICAgXGRpbWVuMCA9IDEuNWVtCisgIFxmaQorICBcaGJveCB0byBcZGltZW4weyUKKyAgICBcaHNraXAgMHB0IHBsdXMuMjVmaWwKKyAgICAuXGhza2lwIDBwdCBwbHVzMWZpbAorICAgIC5caHNraXAgMHB0IHBsdXMxZmlsCisgICAgLlxoc2tpcCAwcHQgcGx1cy41ZmlsCisgIH0lCit9CisKKyUgQGVuZGRvdHN7fSBpcyBhbiBlbmQtb2Ytc2VudGVuY2UgZWxsaXBzaXMuCislCitcZGVmXGVuZGRvdHN7JQorICBcZG90cworICBcc3BhY2VmYWN0b3I9XGVuZG9mc2VudGVuY2VzcGFjZWZhY3RvcgorfQorCislIEBjb21tYXt9IGlzIHNvIGNvbW1hcyBjYW4gYmUgaW5zZXJ0ZWQgaW50byB0ZXh0IHdpdGhvdXQgbWVzc2luZyB1cAorJSBUZXhpbmZvJ3MgcGFyc2luZy4KKyUKK1xsZXRcY29tbWEgPSAsCiAKICUgQHJlZmlsbCBpcyBhIG5vLW9wLgogXGxldFxyZWZpbGw9XHJlbGF4CkBAIC05NTIsMjAgKzEyMTIsMjAgQEAKICUgU28gb3BlbiBoZXJlIHRoZSBmaWxlcyB3ZSBuZWVkIHRvIGhhdmUgb3BlbiB3aGlsZSByZWFkaW5nIHRoZSBpbnB1dC4KICUgVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBtYWtlIGEgLmZtdCBmaWxlIGZvciB0ZXhpbmZvLgogXGRlZlxzZXRmaWxlbmFtZXslCisgICBcZml4YmFja3NsYXNoICAlIFR1cm4gb2ZmIGhhY2sgdG8gc3dhbGxvdyBgXGlucHV0IHRleGluZm8nLgogICAgXGlmbGlua3MKLSAgICAgXHJlYWRhdXhmaWxlCisgICAgIFx0cnlhdXhmaWxlCisgICAgICUgT3BlbiB0aGUgbmV3IGF1eCBmaWxlLiAgVGVYIHdpbGwgY2xvc2UgaXQgYXV0b21hdGljYWxseSBhdCBleGl0LgorICAgICBcaW1tZWRpYXRlXG9wZW5vdXRcYXV4ZmlsZT1cam9ibmFtZS5hdXgKICAgIFxmaSAlIFxvcGVuaW5kaWNlcyBuZWVkcyB0byBkbyBzb21lIHdvcmsgaW4gYW55IGNhc2UuCiAgICBcb3BlbmluZGljZXMKLSAgIFxmaXhiYWNrc2xhc2ggICUgVHVybiBvZmYgaGFjayB0byBzd2FsbG93IGBcaW5wdXQgdGV4aW5mbycuCi0gICBcZ2xvYmFsXGxldFxzZXRmaWxlbmFtZT1cY29tbWVudCAlIElnbm9yZSBleHRyYSBAc2V0ZmlsZW5hbWUgY21kcy4KKyAgIFxsZXRcc2V0ZmlsZW5hbWU9XGNvbW1lbnQgJSBJZ25vcmUgZXh0cmEgQHNldGZpbGVuYW1lIGNtZHMuCiAgICAlCiAgICAlIElmIHRleGluZm8uY25mIGlzIHByZXNlbnQgb24gdGhlIHN5c3RlbSwgcmVhZCBpdC4KICAgICUgVXNlZnVsIGZvciBzaXRlLXdpZGUgQGFmb3VycGFwZXIsIGV0Yy4KLSAgICUgSnVzdCB0byBiZSBvbiB0aGUgc2FmZSBzaWRlLCBjbG9zZSB0aGUgaW5wdXQgc3RyZWFtIGJlZm9yZSB0aGUgXGlucHV0LgogICAgXG9wZW5pbiAxIHRleGluZm8uY25mCi0gICBcaWZlb2YxIFxsZXRcdGVtcD1ccmVsYXggXGVsc2UgXGRlZlx0ZW1we1xpbnB1dCB0ZXhpbmZvLmNuZiB9XGZpCi0gICBcY2xvc2VpbjEKLSAgIFx0ZW1wCisgICBcaWZlb2YgMSBcZWxzZSBcaW5wdXQgdGV4aW5mby5jbmYgXGZpCisgICBcY2xvc2VpbiAxCiAgICAlCiAgICBcY29tbWVudCAlIElnbm9yZSB0aGUgYWN0dWFsIGZpbGVuYW1lLgogfQpAQCAtMTAwMSwxMTkgKzEyNjEsMjk3IEBACiBcbmV3aWZcaWZwZGYKIFxuZXdpZlxpZnBkZm1ha2VwYWdlZGVzdAogCislIHdoZW4gcGRmdGV4IGlzIHJ1biBpbiBkdmkgbW9kZSwgXHBkZm91dHB1dCBpcyBkZWZpbmVkIChzbyBccGRmb3V0cHV0PTEKKyUgY2FuIGJlIHNldCkuICBTbyB3ZSB0ZXN0IGZvciBccmVsYXggYW5kIDAgYXMgd2VsbCBhcyBcdW5kZWZpbmVkLAorJSBib3Jyb3dlZCBmcm9tIGlmcGRmLnN0eS4KIFxpZnhccGRmb3V0cHV0XHVuZGVmaW5lZAotICBccGRmZmFsc2UKLSAgXGxldFxwZGZta2Rlc3QgPSBcZ29iYmxlCi0gIFxsZXRccGRmdXJsID0gXGdvYmJsZQotICBcbGV0XGVuZGxpbmsgPSBccmVsYXgKLSAgXGxldFxsaW5rY29sb3IgPSBccmVsYXgKLSAgXGxldFxwZGZtYWtlb3V0bGluZXMgPSBccmVsYXgKIFxlbHNlCi0gIFxwZGZ0cnVlCi0gIFxwZGZvdXRwdXQgPSAxCi0gIFxpbnB1dCBwZGZjb2xvcgorICBcaWZ4XHBkZm91dHB1dFxyZWxheAorICBcZWxzZQorICAgIFxpZmNhc2VccGRmb3V0cHV0CisgICAgXGVsc2UKKyAgICAgIFxwZGZ0cnVlCisgICAgXGZpCisgIFxmaQorXGZpCisKKyUgUERGIHVzZXMgUG9zdFNjcmlwdCBzdHJpbmcgY29uc3RhbnRzIGZvciB0aGUgbmFtZXMgb2YgeHJlZiB0YXJnZXRzLAorJSBmb3IgZGlzcGxheSBpbiB0aGUgb3V0bGluZXMsIGFuZCBpbiBvdGhlciBwbGFjZXMuICBUaHVzLCB3ZSBoYXZlIHRvCislIGRvdWJsZSBhbnkgYmFja3NsYXNoZXMuICBPdGhlcndpc2UsIGEgbmFtZSBsaWtlICJcbm9kZSIgd2lsbCBiZQorJSBpbnRlcnByZXRlZCBhcyBhIG5ld2xpbmUgKFxuKSwgZm9sbG93ZWQgYnkgbywgZCwgZS4gIE5vdCBnb29kLgorJSBodHRwOi8vd3d3Lm50Zy5ubC9waXBlcm1haWwvbnRnLXBkZnRleC8yMDA0LUp1bHkvMDAwNjU0Lmh0bWwKKyUgKGFuZCByZWxhdGVkIG1lc3NhZ2VzLCB0aGUgZmluYWwgb3V0Y29tZSBpcyB0aGF0IGl0IGlzIHVwIHRvIHRoZSBUZVgKKyUgdXNlciB0byBkb3VibGUgdGhlIGJhY2tzbGFzaGVzIGFuZCBvdGhlcndpc2UgbWFrZSB0aGUgc3RyaW5nIHZhbGlkLCBzbworJSB0aGF0J3Mgd2hhdCB3ZSBkbykuCisKKyUgZG91YmxlIGFjdGl2ZSBiYWNrc2xhc2hlcy4KKyUgCit7XGNhdGNvZGVgXEA9MCBcY2F0Y29kZWBcXD1cYWN0aXZlCisgQGdkZWZAYWN0aXZlYmFja3NsYXNoZG91YmxleyUKKyAgIEBjYXRjb2RlYEBcPUBhY3RpdmUKKyAgIEBsZXRcPUBkb3VibGViYWNrc2xhc2h9Cit9CisKKyUgVG8gaGFuZGxlIHBhcmVucywgd2UgbXVzdCBhZG9wdCBhIGRpZmZlcmVudCBhcHByb2FjaCwgc2luY2UgcGFyZW5zIGFyZQorJSBub3QgYWN0aXZlIGNoYXJhY3RlcnMuICBoeXBlcnJlZi5kdHggKHdoaWNoIGhhcyB0aGUgc2FtZSBwcm9ibGVtIGFzCislIHVzKSBoYW5kbGVzIGl0IHdpdGggdGhpcyBhbWF6aW5nIG1hY3JvIHRvIHJlcGxhY2UgdG9rZW5zLCB3aXRoIG1pbm9yCislIGNoYW5nZXMgZm9yIFRleGluZm8uICBJdCBpcyBpbmNsdWRlZCBoZXJlIHVuZGVyIHRoZSBHUEwgYnkgcGVybWlzc2lvbgorJSBmcm9tIHRoZSBhdXRob3IsIEhlaWtvIE9iZXJkaWVrLgorJSAKKyUgIzEgaXMgdGhlIHRva2VucyB0byByZXBsYWNlLgorJSAjMiBpcyB0aGUgcmVwbGFjZW1lbnQuCislICMzIGlzIHRoZSBjb250cm9sIHNlcXVlbmNlIHdpdGggdGhlIHN0cmluZy4KKyUgCitcZGVmXEh5UHNkU3Vic3QjMSMyIzN7JQorICBcZGVmXEh5UHNkUmVwbGFjZSMjMSMxIyMyXEVORHslCisgICAgIyMxJQorICAgIFxpZnhcXCMjMlxcJQorICAgIFxlbHNlCisgICAgICAjMiUKKyAgICAgIFxIeVJldHVybkFmdGVyRml7JQorICAgICAgICBcSHlQc2RSZXBsYWNlIyMyXEVORAorICAgICAgfSUKKyAgICBcZmkKKyAgfSUKKyAgXHhkZWYjM3tcZXhwYW5kYWZ0ZXJcSHlQc2RSZXBsYWNlIzMjMVxFTkR9JQorfQorXGxvbmdcZGVmXEh5UmV0dXJuQWZ0ZXJGaSMxXGZpe1xmaSMxfQorCislICMxIGlzIGEgY29udHJvbCBzZXF1ZW5jZSBpbiB3aGljaCB0byBkbyB0aGUgcmVwbGFjZW1lbnRzLgorXGRlZlxiYWNrc2xhc2hwYXJlbnMjMXslCisgIFx4ZGVmIzF7IzF9JSByZWRlZmluZSBpdCBhcyBpdHMgZXhwYW5zaW9uOyB0aGUgZGVmaW5pdGlvbiBpcyBzaW1wbHkKKyAgICAgICAgICAgICAlIFxsYXN0bm9kZSB3aGVuIGNhbGxlZCBmcm9tIFxzZXRyZWYgLT4gXHBkZm1rZGVzdC4KKyAgXEh5UHNkU3Vic3R7KH17XHJlYWxiYWNrc2xhc2gofXsjMX0lCisgIFxIeVBzZFN1YnN0eyl9e1xyZWFsYmFja3NsYXNoKX17IzF9JQorfQorCitcbmV3aGVscFxub3BkZmltYWdlaGVscHtUZXhpbmZvIHN1cHBvcnRzIC5wbmcsIC5qcGcsIC5qcGVnLCBhbmQgLnBkZiBpbWFnZXMKK3dpdGggUERGIG91dHB1dCwgYW5kIG5vbmUgb2YgdGhvc2UgZm9ybWF0cyBjb3VsZCBiZSBmb3VuZC4gICguZXBzIGNhbm5vdAorYmUgc3VwcG9ydGVkIGR1ZSB0byB0aGUgZGVzaWduIG9mIHRoZSBQREYgZm9ybWF0OyB1c2UgcmVndWxhciBUZVggKERWSQorb3V0cHV0KSBmb3IgdGhhdC4pfQorCitcaWZwZGYKKyAgJQorICAlIENvbG9yIG1hbmlwdWxhdGlvbiBtYWNyb3MgYmFzZWQgb24gcGRmY29sb3IudGV4LgorICBcZGVmXGNteWtEYXJrUmVkezAuMjggMSAxIDAuMzV9CisgIFxkZWZcY215a0JsYWNrezAgMCAwIDF9CisgICUKKyAgJSBrIHNldHMgdGhlIGNvbG9yIGZvciBmaWxsaW5nICh1c3VhbCB0ZXh0LCBldGMuKTsKKyAgJSBLIHNldHMgdGhlIGNvbG9yIGZvciBzdHJva2luZyAodGhpbiBydWxlcywgZS5nLiwgbm9ybWFsIF8ncykuCisgIFxkZWZccGRmc2V0Y29sb3IjMXtccGRmbGl0ZXJhbHsjMSBrICAjMSBLfX0KKyAgJQorICAlIFNldCBjb2xvciwgYW5kIGNyZWF0ZSBhIG1hcmsgd2hpY2ggZGVmaW5lcyBcdGhpc2NvbG9yIGFjY29yZGluZ2x5LAorICAlIHNvIHRoYXQgXG1ha2VoZWFkbGluZSBrbm93cyB3aGljaCBjb2xvciB0byByZXN0b3JlLgorICBcZGVmXHNldGNvbG9yIzF7JQorICAgIFx4ZGVmXGxhc3Rjb2xvcmRlZnN7XGdkZWZcbm9leHBhbmRcdGhpc2NvbG9yeyMxfX0lCisgICAgXGRvbWFyaworICAgIFxwZGZzZXRjb2xvcnsjMX0lCisgIH0KKyAgJQorICBcZGVmXG1haW5jb2xvcntcY215a0JsYWNrfQorICBccGRmc2V0Y29sb3J7XG1haW5jb2xvcn0KKyAgXGVkZWZcdGhpc2NvbG9ye1xtYWluY29sb3J9CisgIFxkZWZcbGFzdGNvbG9yZGVmc3t9CisgICUKKyAgXGRlZlxtYWtlZm9vdGxpbmV7JQorICAgIFxiYXNlbGluZXNraXAyNHB0CisgICAgXGxpbmV7XHBkZnNldGNvbG9ye1xtYWluY29sb3J9XHRoZVxmb290bGluZX0lCisgIH0KKyAgJQorICBcZGVmXG1ha2VoZWFkbGluZXslCisgICAgXHZib3ggdG8gMHB0eyUKKyAgICAgIFx2c2tpcC0yMi41cHQKKyAgICAgIFxsaW5leyUKKyAgICAgICAgXHZib3ggdG84LjVwdHt9JQorICAgICAgICAlIEV4dHJhY3QgXHRoaXNjb2xvciBkZWZpbml0aW9uIGZyb20gdGhlIG1hcmtzLgorICAgICAgICBcZ2V0Y29sb3JtYXJrcworICAgICAgICAlIFR5cGVzZXQgdGhlIGhlYWRsaW5lIHdpdGggXG1haW5jb2xvciwgdGhlbiByZXN0b3JlIHRoZSBjb2xvci4KKyAgICAgICAgXHBkZnNldGNvbG9ye1xtYWluY29sb3J9XHRoZVxoZWFkbGluZVxwZGZzZXRjb2xvcntcdGhpc2NvbG9yfSUKKyAgICAgIH0lCisgICAgICBcdnNzCisgICAgfSUKKyAgICBcbm9pbnRlcmxpbmVza2lwCisgIH0KKyAgJQorICAlCisgIFxwZGZjYXRhbG9ney9QYWdlTW9kZSAvVXNlT3V0bGluZXN9CisgICUKKyAgJSAjMSBpcyBpbWFnZSBuYW1lLCAjMiB3aWR0aCAobWlnaHQgYmUgZW1wdHkvd2hpdGVzcGFjZSksICMzIGhlaWdodCAoZGl0dG8pLgogICBcZGVmXGRvcGRmaW1hZ2UjMSMyIzN7JQotICAgIFxkZWZcaW1hZ2V3aWR0aHsjMn0lCi0gICAgXGRlZlxpbWFnZWhlaWdodHsjM30lCi0gICAgJSB3aXRob3V0IFxpbW1lZGlhdGUsIHBkZnRleCBzZWcgZmF1bHRzIHdoZW4gdGhlIHNhbWUgaW1hZ2UgaXMKKyAgICBcZGVmXGltYWdld2lkdGh7IzJ9XHNldGJveDAgPSBcaGJveHtcaWdub3Jlc3BhY2VzICMyfSUKKyAgICBcZGVmXGltYWdlaGVpZ2h0eyMzfVxzZXRib3gyID0gXGhib3h7XGlnbm9yZXNwYWNlcyAjM30lCisgICAgJQorICAgICUgcGRmdGV4IChhbmQgdGhlIFBERiBmb3JtYXQpIHN1cHBvcnQgLnBuZywgLmpwZywgLnBkZiAoYW1vbmcKKyAgICAlIG90aGVycykuICBMZXQncyB0cnkgaW4gdGhhdCBvcmRlci4KKyAgICBcbGV0XHBkZmltZ2V4dD1cZW1wdHkKKyAgICBcYmVnaW5ncm91cAorICAgICAgXG9wZW5pbiAxICMxLnBuZyBcaWZlb2YgMQorICAgICAgICBcb3BlbmluIDEgIzEuanBnIFxpZmVvZiAxCisgICAgICAgICAgXG9wZW5pbiAxICMxLmpwZWcgXGlmZW9mIDEKKyAgICAgICAgICAgIFxvcGVuaW4gMSAjMS5KUEcgXGlmZW9mIDEKKyAgICAgICAgICAgICAgXG9wZW5pbiAxICMxLnBkZiBcaWZlb2YgMQorICAgICAgICAgICAgICAgIFxvcGVuaW4gMSAjMS5QREYgXGlmZW9mIDEKKyAgICAgICAgICAgICAgICAgIFxlcnJoZWxwID0gXG5vcGRmaW1hZ2VoZWxwCisgICAgICAgICAgICAgICAgICBcZXJybWVzc2FnZXtDb3VsZCBub3QgZmluZCBpbWFnZSBmaWxlICMxIGZvciBwZGZ9JQorICAgICAgICAgICAgICAgIFxlbHNlIFxnZGVmXHBkZmltZ2V4dHtQREZ9JQorICAgICAgICAgICAgICAgIFxmaQorICAgICAgICAgICAgICBcZWxzZSBcZ2RlZlxwZGZpbWdleHR7cGRmfSUKKyAgICAgICAgICAgICAgXGZpCisgICAgICAgICAgICBcZWxzZSBcZ2RlZlxwZGZpbWdleHR7SlBHfSUKKyAgICAgICAgICAgIFxmaQorICAgICAgICAgIFxlbHNlIFxnZGVmXHBkZmltZ2V4dHtqcGVnfSUKKyAgICAgICAgICBcZmkKKyAgICAgICAgXGVsc2UgXGdkZWZccGRmaW1nZXh0e2pwZ30lCisgICAgICAgIFxmaQorICAgICAgXGVsc2UgXGdkZWZccGRmaW1nZXh0e3BuZ30lCisgICAgICBcZmkKKyAgICAgIFxjbG9zZWluIDEKKyAgICBcZW5kZ3JvdXAKKyAgICAlCisgICAgJSB3aXRob3V0IFxpbW1lZGlhdGUsIGFuY2llbnQgcGRmdGV4IHNlZyBmYXVsdHMgd2hlbiB0aGUgc2FtZSBpbWFnZSBpcwogICAgICUgaW5jbHVkZWQgdHdpY2UuICAoVmVyc2lvbiAzLjE0MTU5LXByZS0xLjAtdW5vZmZpY2lhbC0yMDAxMDcwNC4pCiAgICAgXGlmbnVtXHBkZnRleHZlcnNpb24gPCAxNAogICAgICAgXGltbWVkaWF0ZVxwZGZpbWFnZQogICAgIFxlbHNlCiAgICAgICBcaW1tZWRpYXRlXHBkZnhpbWFnZQogICAgIFxmaQotICAgICAgXGlmeFxlbXB0eVxpbWFnZXdpZHRoXGVsc2Ugd2lkdGggXGltYWdld2lkdGggXGZpCi0gICAgICBcaWZ4XGVtcHR5XGltYWdlaGVpZ2h0XGVsc2UgaGVpZ2h0IFxpbWFnZWhlaWdodCBcZmkKKyAgICAgIFxpZmRpbSBcd2QwID4wcHQgd2lkdGggXGltYWdld2lkdGggXGZpCisgICAgICBcaWZkaW0gXHdkMiA+MHB0IGhlaWdodCBcaW1hZ2VoZWlnaHQgXGZpCiAgICAgICBcaWZudW1ccGRmdGV4dmVyc2lvbjwxMwotICAgICAgICAgIzEucGRmJQorICAgICAgICAgIzEuXHBkZmltZ2V4dAogICAgICAgIFxlbHNlCi0gICAgICAgICB7IzEucGRmfSUKKyAgICAgICAgIHsjMS5ccGRmaW1nZXh0fSUKICAgICAgICBcZmkKICAgICBcaWZudW1ccGRmdGV4dmVyc2lvbiA8IDE0IFxlbHNlCiAgICAgICBccGRmcmVmeGltYWdlIFxwZGZsYXN0eGltYWdlCiAgICAgXGZpfQotICBcZGVmXHBkZm1rZGVzdCMxe3tcbm9ybWFsdHVybm9mZmFjdGl2ZSBccGRmZGVzdCBuYW1leyMxfSB4eXp9fQorICAlCisgIFxkZWZccGRmbWtkZXN0IzF7eyUKKyAgICAlIFdlIGhhdmUgdG8gc2V0IGR1bW1pZXMgc28gY29tbWFuZHMgc3VjaCBhcyBAY29kZSwgYW5kIGNoYXJhY3RlcnMKKyAgICAlIHN1Y2ggYXMgXCwgYXJlbid0IGV4cGFuZGVkIHdoZW4gcHJlc2VudCBpbiBhIHNlY3Rpb24gdGl0bGUuCisgICAgXGluZGV4bm9mb250cworICAgIFx0dXJub2ZmYWN0aXZlCisgICAgXGFjdGl2ZWJhY2tzbGFzaGRvdWJsZQorICAgIFxtYWtldmFsdWVleHBhbmRhYmxlCisgICAgXGRlZlxwZGZkZXN0bmFtZXsjMX0lCisgICAgXGJhY2tzbGFzaHBhcmVuc1xwZGZkZXN0bmFtZQorICAgIFxzYWZld2hhdHNpdHtccGRmZGVzdCBuYW1le1xwZGZkZXN0bmFtZX0geHl6fSUKKyAgfX0KKyAgJQorICAlIHVzZWQgdG8gbWFyayB0YXJnZXQgbmFtZXM7IG11c3QgYmUgZXhwYW5kYWJsZS4KICAgXGRlZlxwZGZta3BnbiMxeyMxfQotICBcbGV0XGxpbmtjb2xvciA9IFxCbHVlICAlIHdhcyBDeWFuLCBidXQgdGhhdCBzZWVtcyBsaWdodD8KLSAgXGRlZlxlbmRsaW5re1xCbGFja1xwZGZlbmRsaW5rfQorICAlCisgICUgYnkgZGVmYXVsdCwgdXNlIGEgY29sb3IgdGhhdCBpcyBkYXJrIGVub3VnaCB0byBwcmludCBvbiBwYXBlciBhcworICAlIG5lYXJseSBibGFjaywgYnV0IHN0aWxsIGRpc3Rpbmd1aXNoYWJsZSBmb3Igb25saW5lIHZpZXdpbmcuCisgIFxkZWZcdXJsY29sb3J7XGNteWtEYXJrUmVkfQorICBcZGVmXGxpbmtjb2xvcntcY215a0RhcmtSZWR9CisgIFxkZWZcZW5kbGlua3tcc2V0Y29sb3J7XG1haW5jb2xvcn1ccGRmZW5kbGlua30KKyAgJQogICAlIEFkZGluZyBvdXRsaW5lcyB0byBQREY7IG1hY3JvcyBmb3IgY2FsY3VsYXRpbmcgc3RydWN0dXJlIG9mIG91dGxpbmVzCiAgICUgY29tZSBmcm9tIFBldHIgT2xzYWsKICAgXGRlZlxleHBudW1iZXIjMXtcZXhwYW5kYWZ0ZXJcaWZ4XGNzbmFtZSMxXGVuZGNzbmFtZVxyZWxheCAwJQogICAgIFxlbHNlIFxjc25hbWUjMVxlbmRjc25hbWUgXGZpfQogICBcZGVmXGFkdmFuY2VudW1iZXIjMXtcdGVtcG51bT1cZXhwbnVtYmVyeyMxfVxyZWxheAotICAgIFxhZHZhbmNlXHRlbXBudW0gYnkxCisgICAgXGFkdmFuY2VcdGVtcG51bSBieSAxCiAgICAgXGV4cGFuZGFmdGVyXHhkZWZcY3NuYW1lIzFcZW5kY3NuYW1le1x0aGVcdGVtcG51bX19Ci0gIFxkZWZccGRmbWFrZW91dGxpbmVze3slCi0gICAgXG9wZW5pbiAxIFxqb2JuYW1lLnRvYwotICAgIFxpZmVvZiAxXGVsc2VcYmVnaW5ncm91cAotICAgICAgXGNsb3NlaW4gMSAKLSAgICAgICUgVGhhbmgncyBoYWNrIC8gcHJvcGVyIGJyYWNlcyBpbiBib29rbWFya3MgIAorICAlCisgICUgIzEgaXMgdGhlIHNlY3Rpb24gdGV4dCwgd2hpY2ggaXMgd2hhdCB3aWxsIGJlIGRpc3BsYXllZCBpbiB0aGUKKyAgJSBvdXRsaW5lIGJ5IHRoZSBwZGYgdmlld2VyLiAgIzIgaXMgdGhlIHBkZiBleHByZXNzaW9uIGZvciB0aGUgbnVtYmVyCisgICUgb2Ygc3ViZW50cmllcyAob3IgZW1wdHksIGZvciBzdWJzdWJzZWN0aW9ucykuICAjMyBpcyB0aGUgbm9kZSB0ZXh0LAorICAlIHdoaWNoIG1pZ2h0IGJlIGVtcHR5IGlmIHRoaXMgdG9jIGVudHJ5IGhhZCBubyBjb3JyZXNwb25kaW5nIG5vZGUuCisgICUgIzQgaXMgdGhlIHBhZ2UgbnVtYmVyCisgICUKKyAgXGRlZlxkb3BkZm91dGxpbmUjMSMyIzMjNHslCisgICAgJSBHZW5lcmF0ZSBhIGxpbmsgdG8gdGhlIG5vZGUgdGV4dCBpZiB0aGF0IGV4aXN0czsgZWxzZSwgdXNlIHRoZQorICAgICUgcGFnZSBudW1iZXIuICBXZSBjb3VsZCBnZW5lcmF0ZSBhIGRlc3RpbmF0aW9uIGZvciB0aGUgc2VjdGlvbgorICAgICUgdGV4dCBpbiB0aGUgY2FzZSB3aGVyZSBhIHNlY3Rpb24gaGFzIG5vIG5vZGUsIGJ1dCBpdCBkb2Vzbid0CisgICAgJSBzZWVtIHdvcnRoIHRoZSB0cm91YmxlLCBzaW5jZSBtb3N0IGRvY3VtZW50cyBhcmUgbm9ybWFsbHkgc3RydWN0dXJlZC4KKyAgICBcZGVmXHBkZm91dGxpbmVkZXN0eyMzfSUKKyAgICBcaWZ4XHBkZm91dGxpbmVkZXN0XGVtcHR5CisgICAgICBcZGVmXHBkZm91dGxpbmVkZXN0eyM0fSUKKyAgICBcZWxzZQorICAgICAgJSBEb3VibGVkIGJhY2tzbGFzaGVzIGluIHRoZSBuYW1lLgorICAgICAge1xhY3RpdmViYWNrc2xhc2hkb3VibGUgXHhkZWZccGRmb3V0bGluZWRlc3R7IzN9JQorICAgICAgIFxiYWNrc2xhc2hwYXJlbnNccGRmb3V0bGluZWRlc3R9JQorICAgIFxmaQorICAgICUKKyAgICAlIEFsc28gZG91YmxlIHRoZSBiYWNrc2xhc2hlcyBpbiB0aGUgZGlzcGxheSBzdHJpbmcuCisgICAge1xhY3RpdmViYWNrc2xhc2hkb3VibGUgXHhkZWZccGRmb3V0bGluZXRleHR7IzF9JQorICAgICBcYmFja3NsYXNocGFyZW5zXHBkZm91dGxpbmV0ZXh0fSUKKyAgICAlCisgICAgXHBkZm91dGxpbmUgZ290byBuYW1le1xwZGZta3BnbntccGRmb3V0bGluZWRlc3R9fSMye1xwZGZvdXRsaW5ldGV4dH0lCisgIH0KKyAgJQorICBcZGVmXHBkZm1ha2VvdXRsaW5lc3slCisgICAgXGJlZ2luZ3JvdXAKKyAgICAgICUgVGhhbmgncyBoYWNrIC8gcHJvcGVyIGJyYWNlcyBpbiBib29rbWFya3MKICAgICAgIFxlZGVmXG15bGJyYWNle1xpZnRydWUgXHN0cmluZ3tcZWxzZX1cZml9XGxldFx7PVxteWxicmFjZQogICAgICAgXGVkZWZcbXlyYnJhY2V7XGlmZmFsc2V7XGVsc2Vcc3RyaW5nfVxmaX1cbGV0XH09XG15cmJyYWNlCiAgICAgICAlCi0gICAgICBcZGVmXGNoYXBlbnRyeSAjIzEjIzIjIzN7fQotICAgICAgXGRlZlxzZWNlbnRyeSAjIzEjIzIjIzMjIzR7XGFkdmFuY2VudW1iZXJ7Y2hhcCMjMn19Ci0gICAgICBcZGVmXHN1YnNlY2VudHJ5ICMjMSMjMiMjMyMjNCMjNXtcYWR2YW5jZW51bWJlcntzZWMjIzIuIyMzfX0KLSAgICAgIFxkZWZcc3Vic3Vic2VjZW50cnkgIyMxIyMyIyMzIyM0IyM1IyM2e1xhZHZhbmNlbnVtYmVye3N1YnNlYyMjMi4jIzMuIyM0fX0KLSAgICAgIFxsZXRcYXBwZW5kaXhlbnRyeSA9IFxjaGFwZW50cnkKLSAgICAgIFxsZXRcdW5udW1iY2hhcGVudHJ5ID0gXGNoYXBlbnRyeQotICAgICAgXGxldFx1bm51bWJzZWNlbnRyeSA9IFxzZWNlbnRyeQotICAgICAgXGxldFx1bm51bWJzdWJzZWNlbnRyeSA9IFxzdWJzZWNlbnRyeQotICAgICAgXGxldFx1bm51bWJzdWJzdWJzZWNlbnRyeSA9IFxzdWJzdWJzZWNlbnRyeQotICAgICAgXGlucHV0IFxqb2JuYW1lLnRvYwotICAgICAgXGRlZlxjaGFwZW50cnkgIyMxIyMyIyMzeyUKLSAgICAgICAgXHBkZm91dGxpbmUgZ290byBuYW1le1xwZGZta3BnbnsjIzN9fWNvdW50LVxleHBudW1iZXJ7Y2hhcCMjMn17IyMxfX0KLSAgICAgIFxkZWZcc2VjZW50cnkgIyMxIyMyIyMzIyM0eyUKLSAgICAgICAgXHBkZm91dGxpbmUgZ290byBuYW1le1xwZGZta3BnbnsjIzR9fWNvdW50LVxleHBudW1iZXJ7c2VjIyMyLiMjM317IyMxfX0KLSAgICAgIFxkZWZcc3Vic2VjZW50cnkgIyMxIyMyIyMzIyM0IyM1eyUKLSAgICAgICAgXHBkZm91dGxpbmUgZ290byBuYW1le1xwZGZta3BnbnsjIzV9fWNvdW50LVxleHBudW1iZXJ7c3Vic2VjIyMyLiMjMy4jIzR9eyMjMX19Ci0gICAgICBcZGVmXHN1YnN1YnNlY2VudHJ5ICMjMSMjMiMjMyMjNCMjNSMjNnslCi0gICAgICAgIFxwZGZvdXRsaW5lIGdvdG8gbmFtZXtccGRmbWtwZ257IyM2fX17IyMxfX0KLSAgICAgIFxsZXRcYXBwZW5kaXhlbnRyeSA9IFxjaGFwZW50cnkKLSAgICAgIFxsZXRcdW5udW1iY2hhcGVudHJ5ID0gXGNoYXBlbnRyeQotICAgICAgXGxldFx1bm51bWJzZWNlbnRyeSA9IFxzZWNlbnRyeQotICAgICAgXGxldFx1bm51bWJzdWJzZWNlbnRyeSA9IFxzdWJzZWNlbnRyeQotICAgICAgXGxldFx1bm51bWJzdWJzdWJzZWNlbnRyeSA9IFxzdWJzdWJzZWNlbnRyeQorICAgICAgJSBSZWFkIHRvYyBzaWxlbnRseSwgdG8gZ2V0IGNvdW50cyBvZiBzdWJlbnRyaWVzIGZvciBccGRmb3V0bGluZS4KKyAgICAgIFxkZWZcbnVtY2hhcGVudHJ5IyMxIyMyIyMzIyM0eyUKKwlcZGVmXHRoaXNjaGFwbnVteyMjMn0lCisJXGRlZlx0aGlzc2VjbnVtezB9JQorCVxkZWZcdGhpc3N1YnNlY251bXswfSUKKyAgICAgIH0lCisgICAgICBcZGVmXG51bXNlY2VudHJ5IyMxIyMyIyMzIyM0eyUKKwlcYWR2YW5jZW51bWJlcntjaGFwXHRoaXNjaGFwbnVtfSUKKwlcZGVmXHRoaXNzZWNudW17IyMyfSUKKwlcZGVmXHRoaXNzdWJzZWNudW17MH0lCisgICAgICB9JQorICAgICAgXGRlZlxudW1zdWJzZWNlbnRyeSMjMSMjMiMjMyMjNHslCisJXGFkdmFuY2VudW1iZXJ7c2VjXHRoaXNzZWNudW19JQorCVxkZWZcdGhpc3N1YnNlY251bXsjIzJ9JQorICAgICAgfSUKKyAgICAgIFxkZWZcbnVtc3Vic3Vic2VjZW50cnkjIzEjIzIjIzMjIzR7JQorCVxhZHZhbmNlbnVtYmVye3N1YnNlY1x0aGlzc3Vic2VjbnVtfSUKKyAgICAgIH0lCisgICAgICBcZGVmXHRoaXNjaGFwbnVtezB9JQorICAgICAgXGRlZlx0aGlzc2VjbnVtezB9JQorICAgICAgXGRlZlx0aGlzc3Vic2VjbnVtezB9JQogICAgICAgJQotICAgICAgJSBNYWtlIHNwZWNpYWwgY2hhcmFjdGVycyBub3JtYWwgZm9yIHdyaXRpbmcgdG8gdGhlIHBkZiBmaWxlLgotICAgICAgJSAKKyAgICAgICUgdXNlIFxkZWYgcmF0aGVyIHRoYW4gXGxldCBoZXJlIGJlY2F1c2Ugd2UgcmVkZWZpbmUgXGNoYXBlbnRyeSBldAorICAgICAgJSBhbC4gYSBzZWNvbmQgdGltZSwgYmVsb3cuCisgICAgICBcZGVmXGFwcGVudHJ5e1xudW1jaGFwZW50cnl9JQorICAgICAgXGRlZlxhcHBzZWNlbnRyeXtcbnVtc2VjZW50cnl9JQorICAgICAgXGRlZlxhcHBzdWJzZWNlbnRyeXtcbnVtc3Vic2VjZW50cnl9JQorICAgICAgXGRlZlxhcHBzdWJzdWJzZWNlbnRyeXtcbnVtc3Vic3Vic2VjZW50cnl9JQorICAgICAgXGRlZlx1bm5jaGFwZW50cnl7XG51bWNoYXBlbnRyeX0lCisgICAgICBcZGVmXHVubnNlY2VudHJ5e1xudW1zZWNlbnRyeX0lCisgICAgICBcZGVmXHVubnN1YnNlY2VudHJ5e1xudW1zdWJzZWNlbnRyeX0lCisgICAgICBcZGVmXHVubnN1YnN1YnNlY2VudHJ5e1xudW1zdWJzdWJzZWNlbnRyeX0lCisgICAgICBccmVhZGRhdGFmaWxle3RvY30lCisgICAgICAlCisgICAgICAlIFJlYWQgdG9jIHNlY29uZCB0aW1lLCB0aGlzIHRpbWUgYWN0dWFsbHkgcHJvZHVjaW5nIHRoZSBvdXRsaW5lcy4KKyAgICAgICUgVGhlIGAtJyBtZWFucyB0YWtlIHRoZSBcZXhwbnVtYmVyIGFzIHRoZSBhYnNvbHV0ZSBudW1iZXIgb2YKKyAgICAgICUgc3ViZW50cmllcywgd2hpY2ggd2UgY2FsY3VsYXRlZCBvbiBvdXIgZmlyc3QgcmVhZCBvZiB0aGUgLnRvYyBhYm92ZS4KKyAgICAgICUKKyAgICAgICUgV2UgdXNlIHRoZSBub2RlIG5hbWVzIGFzIHRoZSBkZXN0aW5hdGlvbnMuCisgICAgICBcZGVmXG51bWNoYXBlbnRyeSMjMSMjMiMjMyMjNHslCisgICAgICAgIFxkb3BkZm91dGxpbmV7IyMxfXtjb3VudC1cZXhwbnVtYmVye2NoYXAjIzJ9fXsjIzN9eyMjNH19JQorICAgICAgXGRlZlxudW1zZWNlbnRyeSMjMSMjMiMjMyMjNHslCisgICAgICAgIFxkb3BkZm91dGxpbmV7IyMxfXtjb3VudC1cZXhwbnVtYmVye3NlYyMjMn19eyMjM317IyM0fX0lCisgICAgICBcZGVmXG51bXN1YnNlY2VudHJ5IyMxIyMyIyMzIyM0eyUKKyAgICAgICAgXGRvcGRmb3V0bGluZXsjIzF9e2NvdW50LVxleHBudW1iZXJ7c3Vic2VjIyMyfX17IyMzfXsjIzR9fSUKKyAgICAgIFxkZWZcbnVtc3Vic3Vic2VjZW50cnkjIzEjIzIjIzMjIzR7JSBjb3VudCBpcyBhbHdheXMgemVybworICAgICAgICBcZG9wZGZvdXRsaW5leyMjMX17fXsjIzN9eyMjNH19JQorICAgICAgJQorICAgICAgJSBQREYgb3V0bGluZXMgYXJlIGRpc3BsYXllZCB1c2luZyBzeXN0ZW0gZm9udHMsIGluc3RlYWQgb2YKKyAgICAgICUgZG9jdW1lbnQgZm9udHMuICBUaGVyZWZvcmUgd2UgY2Fubm90IHVzZSBzcGVjaWFsIGNoYXJhY3RlcnMsCisgICAgICAlIHNpbmNlIHRoZSBlbmNvZGluZyBpcyB1bmtub3duLiAgRm9yIGV4YW1wbGUsIHRoZSBlb2dvbmVrIGZyb20KKyAgICAgICUgTGF0aW4gMiAoMHhlYSkgZ2V0cyB0cmFuc2xhdGVkIHRvIGEgfCBjaGFyYWN0ZXIuICBJbmZvIGZyb20KKyAgICAgICUgU3Rhc3playBXYXdyeWtpZXdpY3osIDE5IEphbiAyMDA0IDA0OjA5OjI0ICswMTAwLgorICAgICAgJQorICAgICAgJSB4eCB0byBkbyB0aGlzIHJpZ2h0LCB3ZSBoYXZlIHRvIHRyYW5zbGF0ZSA4LWJpdCBjaGFyYWN0ZXJzIHRvCisgICAgICAlIHRoZWlyICJiZXN0IiBlcXVpdmFsZW50LCBiYXNlZCBvbiB0aGUgQGRvY3VtZW50ZW5jb2RpbmcuICBSaWdodAorICAgICAgJSBub3csIEkgZ3Vlc3Mgd2UnbGwganVzdCBsZXQgdGhlIHBkZiByZWFkZXIgaGF2ZSBpdHMgd2F5LgogICAgICAgXGluZGV4bm9mb250cwotICAgICAgXGxldFx0dD1ccmVsYXgKLSAgICAgIFx0dXJub2ZmYWN0aXZlCi0gICAgICBcaW5wdXQgXGpvYm5hbWUudG9jCi0gICAgXGVuZGdyb3VwXGZpCi0gIH19Ci0gIFxkZWZcbWFrZWxpbmtzICMxLHslCi0gICAgXGRlZlxwYXJhbXN7IzF9XGRlZlxFe0VORH0lCi0gICAgXGlmeFxwYXJhbXNcRQotICAgICAgXGxldFxuZXh0bWFrZWxpbmtzPVxyZWxheAotICAgIFxlbHNlCi0gICAgICBcbGV0XG5leHRtYWtlbGlua3M9XG1ha2VsaW5rcwotICAgICAgXGlmbnVtXGxua2NvdW50PjAsXGZpCi0gICAgICBccGlja251bXsjMX0lCi0gICAgICBcc3RhcnRsaW5rIGF0dHJ7L0JvcmRlciBbMCAwIDBdfSAKLSAgICAgICAgZ290byBuYW1le1xwZGZta3BnbntcdGhlXHBnbn19JQotICAgICAgXGxpbmtjb2xvciAjMSUKLSAgICAgIFxhZHZhbmNlXGxua2NvdW50IGJ5IDElCi0gICAgICBcZW5kbGluawotICAgIFxmaQotICAgIFxuZXh0bWFrZWxpbmtzCisgICAgICBcc2V0dXBkYXRhZmlsZQorICAgICAgXGNhdGNvZGVgXFw9XGFjdGl2ZSBcb3RoZXJiYWNrc2xhc2gKKyAgICAgIFxpbnB1dCBcdG9jcmVhZGZpbGVuYW1lCisgICAgXGVuZGdyb3VwCiAgIH0KLSAgXGRlZlxwaWNrbnVtIzF7XGV4cGFuZGFmdGVyXHBuIzF9Ci0gIFxkZWZccG4jMXslCi0gICAgXGRlZlxweyMxfSUKLSAgICBcaWZ4XHBcbGJyYWNlCi0gICAgICBcbGV0XG5leHRwbj1ccHBuCi0gICAgXGVsc2UKLSAgICAgIFxsZXRcbmV4dHBuPVxwcG5uCi0gICAgICBcZGVmXGZpcnN0eyMxfQotICAgIFxmaQotICAgIFxuZXh0cG4KLSAgfQotICBcZGVmXHBwbiMxe1xwZ249IzFcZ29iYmxlfQotICBcZGVmXHBwbm57XHBnbj1cZmlyc3R9Ci0gIFxkZWZccGRmbWtsbmsjMXtcbG5rY291bnQ9MFxtYWtlbGlua3MgIzEsRU5ELH0KLSAgXGRlZlxhZGR0b2tlbnMjMSMye1xlZGVmXGFkZHRva3N7XG5vZXhwYW5kIzE9e1x0aGUjMSMyfX1cYWRkdG9rc30KKyAgJQogICBcZGVmXHNraXBzcGFjZXMjMXtcZGVmXFBQeyMxfVxkZWZcRHt8fSUKICAgICBcaWZ4XFBQXERcbGV0XG5leHRzcFxyZWxheAogICAgIFxlbHNlXGxldFxuZXh0c3Bcc2tpcHNwYWNlcwpAQCAtMTEyOCwyNSArMTU2NiwzNiBAQAogICBcZWxzZQogICAgIFxsZXQgXHN0YXJ0bGluayBccGRmc3RhcnRsaW5rCiAgIFxmaQorICAlIG1ha2UgYSBsaXZlIHVybCBpbiBwZGYgb3V0cHV0LgogICBcZGVmXHBkZnVybCMxeyUKICAgICBcYmVnaW5ncm91cAotICAgICAgXG5vcm1hbHR1cm5vZmZhY3RpdmVcZGVmXEB7QH0lCi0gICAgICBcbGV0XHZhbHVlPVxleHBhbmRhYmxldmFsdWUKLSAgICAgIFxsZWF2ZXZtb2RlXFJlZAorICAgICAgJSBpdCBzZWVtcyB3ZSByZWFsbHkgbmVlZCB5ZXQgYW5vdGhlciBzZXQgb2YgZHVtbWllczsgaGF2ZSBub3QKKyAgICAgICUgdHJpZWQgdG8gZmlndXJlIG91dCB3aGF0IGVhY2ggY29tbWFuZCBzaG91bGQgZG8gaW4gdGhlIGNvbnRleHQKKyAgICAgICUgb2YgQHVybC4gIGZvciBub3csIGp1c3QgbWFrZSBALyBhIG5vLW9wLCB0aGF0J3MgdGhlIG9ubHkgb25lCisgICAgICAlIHBlb3BsZSBoYXZlIGFjdHVhbGx5IHJlcG9ydGVkIGEgcHJvYmxlbSB3aXRoLgorICAgICAgJSAKKyAgICAgIFxub3JtYWx0dXJub2ZmYWN0aXZlCisgICAgICBcZGVmXEB7QH0lCisgICAgICBcbGV0XC89XGVtcHR5CisgICAgICBcbWFrZXZhbHVlZXhwYW5kYWJsZQorICAgICAgJSBkbyB3ZSB3YW50IHRvIGdvIHNvIGZhciBhcyB0byB1c2UgXGluZGV4bm9mb250cyBpbnN0ZWFkIG9mIGp1c3QKKyAgICAgICUgc3BlY2lhbC1jYXNpbmcgXHZhciBoZXJlPworICAgICAgXGRlZlx2YXIjIzF7IyMxfSUKKyAgICAgICUKKyAgICAgIFxsZWF2ZXZtb2RlXHNldGNvbG9ye1x1cmxjb2xvcn0lCiAgICAgICBcc3RhcnRsaW5rIGF0dHJ7L0JvcmRlciBbMCAwIDBdfSUKICAgICAgICAgdXNlcnsvU3VidHlwZSAvTGluayAvQSA8PCAvUyAvVVJJIC9VUkkgKCMxKSA+Pn0lCi0gICAgICAgICUgIzEKICAgICBcZW5kZ3JvdXB9CiAgIFxkZWZccGRmZ2V0dG9rcyMxLntcc2V0Ym94XGJveEE9XGhib3h7XHRva3NBPXsjMS59XHRva3NCPXt9XG1ha2V0b2tzfX0KICAgXGRlZlxhZGR0b2tlbnMjMSMye1xlZGVmXGFkZHRva3N7XG5vZXhwYW5kIzE9e1x0aGUjMSMyfX1cYWRkdG9rc30KICAgXGRlZlxhZG4jMXtcYWRkdG9rZW5ze1x0b2tzQ317IzF9XGdsb2JhbFxjb3VudEE9MVxsZXRcbmV4dD1cbWFrZXRva3N9CiAgIFxkZWZccG9wdG9rcyMxIzJ8RU5EVE9LU3x7XGxldFxmaXJzdD0jMVx0b2tzRD17IzF9XHRva3NBPXsjMn19CiAgIFxkZWZcbWFrZXRva3N7JQotICAgIFxleHBhbmRhZnRlclxwb3B0b2tzXHRoZVx0b2tzQXxFTkRUT0tTfAorICAgIFxleHBhbmRhZnRlclxwb3B0b2tzXHRoZVx0b2tzQXxFTkRUT0tTfFxyZWxheAogICAgIFxpZnhcZmlyc3QwXGFkbjAKICAgICBcZWxzZVxpZnhcZmlyc3QxXGFkbjEgXGVsc2VcaWZ4XGZpcnN0MlxhZG4yIFxlbHNlXGlmeFxmaXJzdDNcYWRuMwogICAgIFxlbHNlXGlmeFxmaXJzdDRcYWRuNCBcZWxzZVxpZnhcZmlyc3Q1XGFkbjUgXGVsc2VcaWZ4XGZpcnN0NlxhZG42Ci0gICAgXGVsc2VcaWZ4XGZpcnN0N1xhZG43IFxlbHNlXGlmeFxmaXJzdDhcYWRuOCBcZWxzZVxpZnhcZmlyc3Q5XGFkbjkgCisgICAgXGVsc2VcaWZ4XGZpcnN0N1xhZG43IFxlbHNlXGlmeFxmaXJzdDhcYWRuOCBcZWxzZVxpZnhcZmlyc3Q5XGFkbjkKICAgICBcZWxzZQogICAgICAgXGlmbnVtMD1cY291bnRBXGVsc2VcbWFrZWxpbmtcZmkKICAgICAgIFxpZnhcZmlyc3QuXGxldFxuZXh0PVxkb25lXGVsc2UKQEAgLTExNjAsMjIgKzE2MDksNTMgQEAKICAgICB7XG5vZXhwYW5kXHBkZmxpbmt7XHRoZVx0b2tzQ319XHRva3NDPXt9XGdsb2JhbFxjb3VudEE9MH0KICAgXGRlZlxwZGZsaW5rIzF7JQogICAgIFxzdGFydGxpbmsgYXR0cnsvQm9yZGVyIFswIDAgMF19IGdvdG8gbmFtZXtccGRmbWtwZ257IzF9fQotICAgIFxsaW5rY29sb3IgIzFcZW5kbGlua30KKyAgICBcc2V0Y29sb3J7XGxpbmtjb2xvcn0jMVxlbmRsaW5rfQogICBcZGVmXGRvbmV7XGVkZWZcc3R7XGdsb2JhbFxub2V4cGFuZFx0b2tzQT17XHRoZVx0b2tzQn19XHN0fQotXGZpICUgXGlmeFxwZGZvdXRwdXQKK1xlbHNlCisgICUgbm9uLXBkZiBtb2RlCisgIFxsZXRccGRmbWtkZXN0ID0gXGdvYmJsZQorICBcbGV0XHBkZnVybCA9IFxnb2JibGUKKyAgXGxldFxlbmRsaW5rID0gXHJlbGF4CisgIFxsZXRcc2V0Y29sb3IgPSBcZ29iYmxlCisgIFxsZXRccGRmc2V0Y29sb3IgPSBcZ29iYmxlCisgIFxsZXRccGRmbWFrZW91dGxpbmVzID0gXHJlbGF4CitcZmkgICUgXGlmeFxwZGZvdXRwdXQKIAogCiBcbWVzc2FnZXtmb250cyx9Ci0lIEZvbnQtY2hhbmdlIGNvbW1hbmRzLgorCislIENoYW5nZSB0aGUgY3VycmVudCBmb250IHN0eWxlIHRvICMxLCByZW1lbWJlcmluZyBpdCBpbiBcY3VyZm9udHN0eWxlLgorJSBGb3Igbm93LCB3ZSBkbyBub3QgYWNjdW11bGF0ZSBmb250IHN0eWxlczogQGJ7QGl7Zm9vfX0gcHJpbnRzIGZvbyBpbgorJSBpdGFsaWNzLCBub3QgYm9sZCBpdGFsaWNzLgorJQorXGRlZlxzZXRmb250c3R5bGUjMXslCisgIFxkZWZcY3VyZm9udHN0eWxleyMxfSUgbm90IGFzIGEgY29udHJvbCBzZXF1ZW5jZSwgYmVjYXVzZSB3ZSBhcmUgXGVkZWYnZC4KKyAgXGNzbmFtZSB0ZW4jMVxlbmRjc25hbWUgICUgY2hhbmdlIHRoZSBjdXJyZW50IGZvbnQKK30KKworJSBTZWxlY3QgIzEgZm9udHMgd2l0aCB0aGUgY3VycmVudCBzdHlsZS4KKyUKK1xkZWZcc2VsZWN0Zm9udHMjMXtcY3NuYW1lICMxZm9udHNcZW5kY3NuYW1lIFxjc25hbWVcY3VyZm9udHN0eWxlXGVuZGNzbmFtZX0KKworXGRlZlxybXtcZmFtPTAgXHNldGZvbnRzdHlsZXtybX19CitcZGVmXGl0e1xmYW09XGl0ZmFtIFxzZXRmb250c3R5bGV7aXR9fQorXGRlZlxzbHtcZmFtPVxzbGZhbSBcc2V0Zm9udHN0eWxle3NsfX0KK1xkZWZcYmZ7XGZhbT1cYmZmYW0gXHNldGZvbnRzdHlsZXtiZn19XGRlZlxiZnN0eWxlbmFtZXtiZn0KK1xkZWZcdHR7XGZhbT1cdHRmYW0gXHNldGZvbnRzdHlsZXt0dH19CisKKyUgVW5mb3J0dW5hdGVseSwgd2UgaGF2ZSB0byBvdmVycmlkZSB0aGlzIGZvciB0aXRsZXMgYW5kIHRoZSBsaWtlLCBzaW5jZQorJSBpbiB0aG9zZSBjYXNlcyAicm0iIGlzIGJvbGQuICBTaWdoLgorXGRlZlxybWlzYm9sZHtccm1cZGVmXGN1cmZvbnRzdHlsZXtiZn19CiAKICUgVGV4aW5mbyBzb3J0IG9mIHN1cHBvcnRzIHRoZSBzYW5zIHNlcmlmIGZvbnQgc3R5bGUsIHdoaWNoIHBsYWluIFRlWCBkb2VzIG5vdC4KLSUgU28gd2Ugc2V0IHVwIGEgXHNmIGFuYWxvZ291cyB0byBwbGFpbidzIFxybSwgZXRjLgorJSBTbyB3ZSBzZXQgdXAgYSBcc2YuCiBcbmV3ZmFtXHNmZmFtCi1cZGVmXHNme1xmYW09XHNmZmFtIFx0ZW5zZn0KK1xkZWZcc2Z7XGZhbT1cc2ZmYW0gXHNldGZvbnRzdHlsZXtzZn19CiBcbGV0XGxpID0gXHNmICUgU29tZXRpbWVzIHdlIGNhbGwgaXQgXGxpLCBub3QgXHNmLgogCi0lIFdlIGRvbid0IG5lZWQgbWF0aCBmb3IgdGhpcyBvbmUuCi1cZGVmXHR0c2x7XHRlbnR0c2x9CislIFdlIGRvbid0IG5lZWQgbWF0aCBmb3IgdGhpcyBmb250IHN0eWxlLgorXGRlZlx0dHNse1xzZXRmb250c3R5bGV7dHRzbH19CisKIAogJSBEZWZhdWx0IGxlYWRpbmcuCiBcbmV3ZGltZW5cdGV4dGxlYWRpbmcgIFx0ZXh0bGVhZGluZyA9IDEzLjJwdApAQCAtMTE4OCw4ICsxNjY4LDEyIEBACiBcZGVmXHN0cnV0aGVpZ2h0cGVyY2VudHsuNzA4MzN9CiBcZGVmXHN0cnV0ZGVwdGhwZXJjZW50IHsuMjkxNjd9CiAlCislIGNhbiBnZXQgYSBzb3J0IG9mIHBvb3IgbWFuJ3MgZG91YmxlIHNwYWNpbmcgYnkgcmVkZWZpbmluZyB0aGlzLgorXGRlZlxiYXNlbGluZWZhY3RvcnsxfQorJQogXGRlZlxzZXRsZWFkaW5nIzF7JQotICBcbm9ybWFsYmFzZWxpbmVza2lwID0gIzFccmVsYXgKKyAgXGRpbWVuMCA9ICMxXHJlbGF4CisgIFxub3JtYWxiYXNlbGluZXNraXAgPSBcYmFzZWxpbmVmYWN0b3JcZGltZW4wCiAgIFxub3JtYWxsaW5lc2tpcCA9IFxsaW5lc2tpcGZhY3Rvclxub3JtYWxiYXNlbGluZXNraXAKICAgXG5vcm1hbGJhc2VsaW5lcwogICBcc2V0Ym94XHN0cnV0Ym94ID1caGJveHslCkBAIC0xMTk4LDEwICsxNjgyLDI3OSBAQAogICB9JQogfQogCislIFBERiBDTWFwcy4gIFNlZSBhbHNvIExhVGVYJ3MgdDEuY21hcC4KKyUKKyUgZG8gbm90aGluZyB3aXRoIHRoaXMgYnkgZGVmYXVsdC4KK1xleHBhbmRhZnRlclxsZXRcY3NuYW1lIGNtYXBPVDFcZW5kY3NuYW1lXGdvYmJsZQorXGV4cGFuZGFmdGVyXGxldFxjc25hbWUgY21hcE9UMUlUXGVuZGNzbmFtZVxnb2JibGUKK1xleHBhbmRhZnRlclxsZXRcY3NuYW1lIGNtYXBPVDFUVFxlbmRjc25hbWVcZ29iYmxlCisKKyUgaWYgd2UgYXJlIHByb2R1Y2luZyBwZGYsIGFuZCB3ZSBoYXZlIFxwZGZmb250YXR0ciwgdGhlbiBkZWZpbmUgY21hcHMuCislIChccGRmZm9udGF0dHIgd2FzIGludHJvZHVjZWQgbWFueSB5ZWFycyBhZ28sIGJ1dCBwZW9wbGUgc3RpbGwgcnVuCislIG9sZGVyIHBkZnRleCdzOyBpdCdzIGVhc3kgdG8gY29uZGl0aW9uYWxpemUsIHNvIHdlIGRvLikKK1xpZnBkZiBcaWZ4XHBkZmZvbnRhdHRyXHVuZGVmaW5lZCBcZWxzZQorICBcYmVnaW5ncm91cAorICAgIFxjYXRjb2RlYFxeXk09XGFjdGl2ZSBcZGVmXl5Ne15eSn0lIE91dHB1dCBsaW5lIGVuZGluZ3MgYXMgdGhlIF5eSiBjaGFyLgorICAgIFxjYXRjb2RlYFwlPTEyIFxpbW1lZGlhdGVccGRmb2JqIHN0cmVhbSB7JSFQUy1BZG9iZS0zLjAgUmVzb3VyY2UtQ01hcAorJSVEb2N1bWVudE5lZWRlZFJlc291cmNlczogUHJvY1NldCAoQ0lESW5pdCkKKyUlSW5jbHVkZVJlc291cmNlOiBQcm9jU2V0IChDSURJbml0KQorJSVCZWdpblJlc291cmNlOiBDTWFwIChUZVgtT1QxLTApCislJVRpdGxlOiAoVGVYLU9UMS0wIFRlWCBPVDEgMCkKKyUlVmVyc2lvbjogMS4wMDAKKyUlRW5kQ29tbWVudHMKKy9DSURJbml0IC9Qcm9jU2V0IGZpbmRyZXNvdXJjZSBiZWdpbgorMTIgZGljdCBiZWdpbgorYmVnaW5jbWFwCisvQ0lEU3lzdGVtSW5mbworPDwgL1JlZ2lzdHJ5IChUZVgpCisvT3JkZXJpbmcgKE9UMSkKKy9TdXBwbGVtZW50IDAKKz4+IGRlZgorL0NNYXBOYW1lIC9UZVgtT1QxLTAgZGVmCisvQ01hcFR5cGUgMiBkZWYKKzEgYmVnaW5jb2Rlc3BhY2VyYW5nZQorPDAwPiA8N0Y+CitlbmRjb2Rlc3BhY2VyYW5nZQorOCBiZWdpbmJmcmFuZ2UKKzwwMD4gPDAxPiA8MDM5Mz4KKzwwOT4gPDBBPiA8MDNBOD4KKzwyMz4gPDI2PiA8MDAyMz4KKzwyOD4gPDNCPiA8MDAyOD4KKzwzRj4gPDVCPiA8MDAzRj4KKzw1RD4gPDVFPiA8MDA1RD4KKzw2MT4gPDdBPiA8MDA2MT4KKzw3Qj4gPDdDPiA8MjAxMz4KK2VuZGJmcmFuZ2UKKzQwIGJlZ2luYmZjaGFyCis8MDI+IDwwMzk4PgorPDAzPiA8MDM5Qj4KKzwwND4gPDAzOUU+Cis8MDU+IDwwM0EwPgorPDA2PiA8MDNBMz4KKzwwNz4gPDAzRDI+Cis8MDg+IDwwM0E2PgorPDBCPiA8MDA2NjAwNjY+Cis8MEM+IDwwMDY2MDA2OT4KKzwwRD4gPDAwNjYwMDZDPgorPDBFPiA8MDA2NjAwNjYwMDY5PgorPDBGPiA8MDA2NjAwNjYwMDZDPgorPDEwPiA8MDEzMT4KKzwxMT4gPDAyMzc+Cis8MTI+IDwwMDYwPgorPDEzPiA8MDBCND4KKzwxND4gPDAyQzc+Cis8MTU+IDwwMkQ4PgorPDE2PiA8MDBBRj4KKzwxNz4gPDAyREE+Cis8MTg+IDwwMEI4PgorPDE5PiA8MDBERj4KKzwxQT4gPDAwRTY+Cis8MUI+IDwwMTUzPgorPDFDPiA8MDBGOD4KKzwxRD4gPDAwQzY+Cis8MUU+IDwwMTUyPgorPDFGPiA8MDBEOD4KKzwyMT4gPDAwMjE+Cis8MjI+IDwyMDFEPgorPDI3PiA8MjAxOT4KKzwzQz4gPDAwQTE+Cis8M0Q+IDwwMDNEPgorPDNFPiA8MDBCRj4KKzw1Qz4gPDIwMUM+Cis8NUY+IDwwMkQ5PgorPDYwPiA8MjAxOD4KKzw3RD4gPDAyREQ+Cis8N0U+IDwwMDdFPgorPDdGPiA8MDBBOD4KK2VuZGJmY2hhcgorZW5kY21hcAorQ01hcE5hbWUgY3VycmVudGRpY3QgL0NNYXAgZGVmaW5lcmVzb3VyY2UgcG9wCitlbmQKK2VuZAorJSVFbmRSZXNvdXJjZQorJSVFT0YKKyAgICB9XGVuZGdyb3VwCisgIFxleHBhbmRhZnRlclxlZGVmXGNzbmFtZSBjbWFwT1QxXGVuZGNzbmFtZSMxeyUKKyAgICBccGRmZm9udGF0dHIjMXsvVG9Vbmljb2RlIFx0aGVccGRmbGFzdG9ialxzcGFjZSAwIFJ9JQorICB9JQorJQorJSBcY21hcE9UMUlUCisgIFxiZWdpbmdyb3VwCisgICAgXGNhdGNvZGVgXF5eTT1cYWN0aXZlIFxkZWZeXk17Xl5KfSUgT3V0cHV0IGxpbmUgZW5kaW5ncyBhcyB0aGUgXl5KIGNoYXIuCisgICAgXGNhdGNvZGVgXCU9MTIgXGltbWVkaWF0ZVxwZGZvYmogc3RyZWFtIHslIVBTLUFkb2JlLTMuMCBSZXNvdXJjZS1DTWFwCislJURvY3VtZW50TmVlZGVkUmVzb3VyY2VzOiBQcm9jU2V0IChDSURJbml0KQorJSVJbmNsdWRlUmVzb3VyY2U6IFByb2NTZXQgKENJREluaXQpCislJUJlZ2luUmVzb3VyY2U6IENNYXAgKFRlWC1PVDFJVC0wKQorJSVUaXRsZTogKFRlWC1PVDFJVC0wIFRlWCBPVDFJVCAwKQorJSVWZXJzaW9uOiAxLjAwMAorJSVFbmRDb21tZW50cworL0NJREluaXQgL1Byb2NTZXQgZmluZHJlc291cmNlIGJlZ2luCisxMiBkaWN0IGJlZ2luCitiZWdpbmNtYXAKKy9DSURTeXN0ZW1JbmZvCis8PCAvUmVnaXN0cnkgKFRlWCkKKy9PcmRlcmluZyAoT1QxSVQpCisvU3VwcGxlbWVudCAwCis+PiBkZWYKKy9DTWFwTmFtZSAvVGVYLU9UMUlULTAgZGVmCisvQ01hcFR5cGUgMiBkZWYKKzEgYmVnaW5jb2Rlc3BhY2VyYW5nZQorPDAwPiA8N0Y+CitlbmRjb2Rlc3BhY2VyYW5nZQorOCBiZWdpbmJmcmFuZ2UKKzwwMD4gPDAxPiA8MDM5Mz4KKzwwOT4gPDBBPiA8MDNBOD4KKzwyNT4gPDI2PiA8MDAyNT4KKzwyOD4gPDNCPiA8MDAyOD4KKzwzRj4gPDVCPiA8MDAzRj4KKzw1RD4gPDVFPiA8MDA1RD4KKzw2MT4gPDdBPiA8MDA2MT4KKzw3Qj4gPDdDPiA8MjAxMz4KK2VuZGJmcmFuZ2UKKzQyIGJlZ2luYmZjaGFyCis8MDI+IDwwMzk4PgorPDAzPiA8MDM5Qj4KKzwwND4gPDAzOUU+Cis8MDU+IDwwM0EwPgorPDA2PiA8MDNBMz4KKzwwNz4gPDAzRDI+Cis8MDg+IDwwM0E2PgorPDBCPiA8MDA2NjAwNjY+Cis8MEM+IDwwMDY2MDA2OT4KKzwwRD4gPDAwNjYwMDZDPgorPDBFPiA8MDA2NjAwNjYwMDY5PgorPDBGPiA8MDA2NjAwNjYwMDZDPgorPDEwPiA8MDEzMT4KKzwxMT4gPDAyMzc+Cis8MTI+IDwwMDYwPgorPDEzPiA8MDBCND4KKzwxND4gPDAyQzc+Cis8MTU+IDwwMkQ4PgorPDE2PiA8MDBBRj4KKzwxNz4gPDAyREE+Cis8MTg+IDwwMEI4PgorPDE5PiA8MDBERj4KKzwxQT4gPDAwRTY+Cis8MUI+IDwwMTUzPgorPDFDPiA8MDBGOD4KKzwxRD4gPDAwQzY+Cis8MUU+IDwwMTUyPgorPDFGPiA8MDBEOD4KKzwyMT4gPDAwMjE+Cis8MjI+IDwyMDFEPgorPDIzPiA8MDAyMz4KKzwyND4gPDAwQTM+Cis8Mjc+IDwyMDE5PgorPDNDPiA8MDBBMT4KKzwzRD4gPDAwM0Q+Cis8M0U+IDwwMEJGPgorPDVDPiA8MjAxQz4KKzw1Rj4gPDAyRDk+Cis8NjA+IDwyMDE4PgorPDdEPiA8MDJERD4KKzw3RT4gPDAwN0U+Cis8N0Y+IDwwMEE4PgorZW5kYmZjaGFyCitlbmRjbWFwCitDTWFwTmFtZSBjdXJyZW50ZGljdCAvQ01hcCBkZWZpbmVyZXNvdXJjZSBwb3AKK2VuZAorZW5kCislJUVuZFJlc291cmNlCislJUVPRgorICAgIH1cZW5kZ3JvdXAKKyAgXGV4cGFuZGFmdGVyXGVkZWZcY3NuYW1lIGNtYXBPVDFJVFxlbmRjc25hbWUjMXslCisgICAgXHBkZmZvbnRhdHRyIzF7L1RvVW5pY29kZSBcdGhlXHBkZmxhc3RvYmpcc3BhY2UgMCBSfSUKKyAgfSUKKyUKKyUgXGNtYXBPVDFUVAorICBcYmVnaW5ncm91cAorICAgIFxjYXRjb2RlYFxeXk09XGFjdGl2ZSBcZGVmXl5Ne15eSn0lIE91dHB1dCBsaW5lIGVuZGluZ3MgYXMgdGhlIF5eSiBjaGFyLgorICAgIFxjYXRjb2RlYFwlPTEyIFxpbW1lZGlhdGVccGRmb2JqIHN0cmVhbSB7JSFQUy1BZG9iZS0zLjAgUmVzb3VyY2UtQ01hcAorJSVEb2N1bWVudE5lZWRlZFJlc291cmNlczogUHJvY1NldCAoQ0lESW5pdCkKKyUlSW5jbHVkZVJlc291cmNlOiBQcm9jU2V0IChDSURJbml0KQorJSVCZWdpblJlc291cmNlOiBDTWFwIChUZVgtT1QxVFQtMCkKKyUlVGl0bGU6IChUZVgtT1QxVFQtMCBUZVggT1QxVFQgMCkKKyUlVmVyc2lvbjogMS4wMDAKKyUlRW5kQ29tbWVudHMKKy9DSURJbml0IC9Qcm9jU2V0IGZpbmRyZXNvdXJjZSBiZWdpbgorMTIgZGljdCBiZWdpbgorYmVnaW5jbWFwCisvQ0lEU3lzdGVtSW5mbworPDwgL1JlZ2lzdHJ5IChUZVgpCisvT3JkZXJpbmcgKE9UMVRUKQorL1N1cHBsZW1lbnQgMAorPj4gZGVmCisvQ01hcE5hbWUgL1RlWC1PVDFUVC0wIGRlZgorL0NNYXBUeXBlIDIgZGVmCisxIGJlZ2luY29kZXNwYWNlcmFuZ2UKKzwwMD4gPDdGPgorZW5kY29kZXNwYWNlcmFuZ2UKKzUgYmVnaW5iZnJhbmdlCis8MDA+IDwwMT4gPDAzOTM+Cis8MDk+IDwwQT4gPDAzQTg+Cis8MjE+IDwyNj4gPDAwMjE+Cis8Mjg+IDw1Rj4gPDAwMjg+Cis8NjE+IDw3RT4gPDAwNjE+CitlbmRiZnJhbmdlCiszMiBiZWdpbmJmY2hhcgorPDAyPiA8MDM5OD4KKzwwMz4gPDAzOUI+Cis8MDQ+IDwwMzlFPgorPDA1PiA8MDNBMD4KKzwwNj4gPDAzQTM+Cis8MDc+IDwwM0QyPgorPDA4PiA8MDNBNj4KKzwwQj4gPDIxOTE+Cis8MEM+IDwyMTkzPgorPDBEPiA8MDAyNz4KKzwwRT4gPDAwQTE+Cis8MEY+IDwwMEJGPgorPDEwPiA8MDEzMT4KKzwxMT4gPDAyMzc+Cis8MTI+IDwwMDYwPgorPDEzPiA8MDBCND4KKzwxND4gPDAyQzc+Cis8MTU+IDwwMkQ4PgorPDE2PiA8MDBBRj4KKzwxNz4gPDAyREE+Cis8MTg+IDwwMEI4PgorPDE5PiA8MDBERj4KKzwxQT4gPDAwRTY+Cis8MUI+IDwwMTUzPgorPDFDPiA8MDBGOD4KKzwxRD4gPDAwQzY+Cis8MUU+IDwwMTUyPgorPDFGPiA8MDBEOD4KKzwyMD4gPDI0MjM+Cis8Mjc+IDwyMDE5PgorPDYwPiA8MjAxOD4KKzw3Rj4gPDAwQTg+CitlbmRiZmNoYXIKK2VuZGNtYXAKK0NNYXBOYW1lIGN1cnJlbnRkaWN0IC9DTWFwIGRlZmluZXJlc291cmNlIHBvcAorZW5kCitlbmQKKyUlRW5kUmVzb3VyY2UKKyUlRU9GCisgICAgfVxlbmRncm91cAorICBcZXhwYW5kYWZ0ZXJcZWRlZlxjc25hbWUgY21hcE9UMVRUXGVuZGNzbmFtZSMxeyUKKyAgICBccGRmZm9udGF0dHIjMXsvVG9Vbmljb2RlIFx0aGVccGRmbGFzdG9ialxzcGFjZSAwIFJ9JQorICB9JQorXGZpXGZpCisKKwogJSBTZXQgdGhlIGZvbnQgbWFjcm8gIzEgdG8gdGhlIGZvbnQgbmFtZWQgIzIsIGFkZGluZyBvbiB0aGUKICUgc3BlY2lmaWVkIGZvbnQgcHJlZml4IChub3JtYWxseSBgY20nKS4KLSUgIzMgaXMgdGhlIGZvbnQncyBkZXNpZ24gc2l6ZSwgIzQgaXMgYSBzY2FsZSBmYWN0b3IKLVxkZWZcc2V0Zm9udCMxIzIjMyM0e1xmb250IzE9XGZvbnRwcmVmaXgjMiMzIHNjYWxlZCAjNH0KKyUgIzMgaXMgdGhlIGZvbnQncyBkZXNpZ24gc2l6ZSwgIzQgaXMgYSBzY2FsZSBmYWN0b3IsICM1IGlzIHRoZSBDTWFwCislIGVuY29kaW5nIChjdXJyZW50bHkgb25seSBPVDEsIE9UMUlUIGFuZCBPVDFUVCBhcmUgYWxsb3dlZCwgcGFzcworJSBlbXB0eSB0byBvbWl0KS4KK1xkZWZcc2V0Zm9udCMxIzIjMyM0IzV7JQorICBcZm9udCMxPVxmb250cHJlZml4IzIjMyBzY2FsZWQgIzQKKyAgXGNzbmFtZSBjbWFwIzVcZW5kY3NuYW1lIzElCit9CislIFRoaXMgaXMgd2hhdCBnZXRzIGNhbGxlZCB3aGVuICM1IG9mIFxzZXRmb250IGlzIGVtcHR5LgorXGxldFxjbWFwXGdvYmJsZQorJSBlbWFjcy1wYWdlIGVuZCBvZiBjbWFwcwogCiAlIFVzZSBjbSBhcyB0aGUgZGVmYXVsdCBmb250IHByZWZpeC4KICUgVG8gc3BlY2lmeSB0aGUgZm9udCBwcmVmaXgsIHlvdSBtdXN0IGRlZmluZSBcZm9udHByZWZpeApAQCAtMTIyNiwxMTAgKzE5NzksMjkzIEBACiBcZGVmXHNjc2hhcGV7Y3NjfQogXGRlZlxzY2JzaGFwZXtjc2N9CiAKLVxuZXdjb3VudFxtYWlubWFnc3RlcAotXGlmeFxiaWdnZXJccmVsYXgKLSAgJSBub3QgcmVhbGx5IHN1cHBvcnRlZC4KLSAgXG1haW5tYWdzdGVwPVxtYWdzdGVwMQotICBcc2V0Zm9udFx0ZXh0cm1ccm1zaGFwZXsxMn17MTAwMH0KLSAgXHNldGZvbnRcdGV4dHR0XHR0c2hhcGV7MTJ9ezEwMDB9Ci1cZWxzZQotICBcbWFpbm1hZ3N0ZXA9XG1hZ3N0ZXBoYWxmCi0gIFxzZXRmb250XHRleHRybVxybXNoYXBlezEwfXtcbWFpbm1hZ3N0ZXB9Ci0gIFxzZXRmb250XHRleHR0dFx0dHNoYXBlezEwfXtcbWFpbm1hZ3N0ZXB9Ci1cZmkKLSUgSW5zdGVhZCBvZiBjbWIxMCwgeW91IG1heSB3YW50IHRvIHVzZSBjbWJ4MTAuCi0lIGNtYngxMCBpcyBhIHByZXR0aWVyIGZvbnQgb24gaXRzIG93biwgYnV0IGNtYjEwCi0lIGxvb2tzIGJldHRlciB3aGVuIGVtYmVkZGVkIGluIGEgbGluZSB3aXRoIGNtcjEwCi0lIChpbiBCb2IncyBvcGluaW9uKS4KLVxzZXRmb250XHRleHRiZlxiZnNoYXBlezEwfXtcbWFpbm1hZ3N0ZXB9Ci1cc2V0Zm9udFx0ZXh0aXRcaXRzaGFwZXsxMH17XG1haW5tYWdzdGVwfQotXHNldGZvbnRcdGV4dHNsXHNsc2hhcGV7MTB9e1xtYWlubWFnc3RlcH0KLVxzZXRmb250XHRleHRzZlxzZnNoYXBlezEwfXtcbWFpbm1hZ3N0ZXB9Ci1cc2V0Zm9udFx0ZXh0c2Ncc2NzaGFwZXsxMH17XG1haW5tYWdzdGVwfQotXHNldGZvbnRcdGV4dHR0c2xcdHRzbHNoYXBlezEwfXtcbWFpbm1hZ3N0ZXB9CislIERlZmluaXRpb25zIGZvciBhIG1haW4gdGV4dCBzaXplIG9mIDExcHQuICBUaGlzIGlzIHRoZSBkZWZhdWx0IGluCislIFRleGluZm8uCislIAorXGRlZlxkZWZpbmV0ZXh0Zm9udHNpemV4aXslCislIFRleHQgZm9udHMgKDExLjJwdCwgbWFnc3RlcDEpLgorXGRlZlx0ZXh0bm9taW5hbHNpemV7MTFwdH0KK1xlZGVmXG1haW5tYWdzdGVwe1xtYWdzdGVwaGFsZn0KK1xzZXRmb250XHRleHRybVxybXNoYXBlezEwfXtcbWFpbm1hZ3N0ZXB9e09UMX0KK1xzZXRmb250XHRleHR0dFx0dHNoYXBlezEwfXtcbWFpbm1hZ3N0ZXB9e09UMVRUfQorXHNldGZvbnRcdGV4dGJmXGJmc2hhcGV7MTB9e1xtYWlubWFnc3RlcH17T1QxfQorXHNldGZvbnRcdGV4dGl0XGl0c2hhcGV7MTB9e1xtYWlubWFnc3RlcH17T1QxSVR9Citcc2V0Zm9udFx0ZXh0c2xcc2xzaGFwZXsxMH17XG1haW5tYWdzdGVwfXtPVDF9Citcc2V0Zm9udFx0ZXh0c2Zcc2ZzaGFwZXsxMH17XG1haW5tYWdzdGVwfXtPVDF9Citcc2V0Zm9udFx0ZXh0c2Ncc2NzaGFwZXsxMH17XG1haW5tYWdzdGVwfXtPVDF9Citcc2V0Zm9udFx0ZXh0dHRzbFx0dHNsc2hhcGV7MTB9e1xtYWlubWFnc3RlcH17T1QxVFR9CiBcZm9udFx0ZXh0aT1jbW1pMTAgc2NhbGVkIFxtYWlubWFnc3RlcAogXGZvbnRcdGV4dHN5PWNtc3kxMCBzY2FsZWQgXG1haW5tYWdzdGVwCitcZGVmXHRleHRlY3NpemV7MTA5NX0KIAotJSBBIGZldyBmb250cyBmb3IgQGRlZnVuLCBldGMuCi1cc2V0Zm9udFxkZWZiZlxieHNoYXBlezEwfXtcbWFnc3RlcDF9ICV3YXMgMTMxNAotXHNldGZvbnRcZGVmdHRcdHRzaGFwZXsxMH17XG1hZ3N0ZXAxfQotXGRlZlxkZntcbGV0XHRlbnR0PVxkZWZ0dCBcbGV0XHRlbmJmID0gXGRlZmJmIFxiZn0KKyUgQSBmZXcgZm9udHMgZm9yIEBkZWZ1biBuYW1lcyBhbmQgYXJncy4KK1xzZXRmb250XGRlZmJmXGJmc2hhcGV7MTB9e1xtYWdzdGVwMX17T1QxfQorXHNldGZvbnRcZGVmdHRcdHRzaGFwZXsxMH17XG1hZ3N0ZXAxfXtPVDFUVH0KK1xzZXRmb250XGRlZnR0c2xcdHRzbHNoYXBlezEwfXtcbWFnc3RlcDF9e09UMVRUfQorXGRlZlxkZntcbGV0XHRlbnR0PVxkZWZ0dCBcbGV0XHRlbmJmID0gXGRlZmJmIFxsZXRcdGVudHRzbD1cZGVmdHRzbCBcYmZ9CiAKICUgRm9udHMgZm9yIGluZGljZXMsIGZvb3Rub3Rlcywgc21hbGwgZXhhbXBsZXMgKDlwdCkuCi1cc2V0Zm9udFxzbWFsbHJtXHJtc2hhcGV7OX17MTAwMH0KLVxzZXRmb250XHNtYWxsdHRcdHRzaGFwZXs5fXsxMDAwfQotXHNldGZvbnRcc21hbGxiZlxiZnNoYXBlezEwfXs5MDB9Ci1cc2V0Zm9udFxzbWFsbGl0XGl0c2hhcGV7OX17MTAwMH0KLVxzZXRmb250XHNtYWxsc2xcc2xzaGFwZXs5fXsxMDAwfQotXHNldGZvbnRcc21hbGxzZlxzZnNoYXBlezl9ezEwMDB9Ci1cc2V0Zm9udFxzbWFsbHNjXHNjc2hhcGV7MTB9ezkwMH0KLVxzZXRmb250XHNtYWxsdHRzbFx0dHNsc2hhcGV7MTB9ezkwMH0KK1xkZWZcc21hbGxub21pbmFsc2l6ZXs5cHR9Citcc2V0Zm9udFxzbWFsbHJtXHJtc2hhcGV7OX17MTAwMH17T1QxfQorXHNldGZvbnRcc21hbGx0dFx0dHNoYXBlezl9ezEwMDB9e09UMVRUfQorXHNldGZvbnRcc21hbGxiZlxiZnNoYXBlezEwfXs5MDB9e09UMX0KK1xzZXRmb250XHNtYWxsaXRcaXRzaGFwZXs5fXsxMDAwfXtPVDFJVH0KK1xzZXRmb250XHNtYWxsc2xcc2xzaGFwZXs5fXsxMDAwfXtPVDF9Citcc2V0Zm9udFxzbWFsbHNmXHNmc2hhcGV7OX17MTAwMH17T1QxfQorXHNldGZvbnRcc21hbGxzY1xzY3NoYXBlezEwfXs5MDB9e09UMX0KK1xzZXRmb250XHNtYWxsdHRzbFx0dHNsc2hhcGV7MTB9ezkwMH17T1QxVFR9CiBcZm9udFxzbWFsbGk9Y21taTkKIFxmb250XHNtYWxsc3k9Y21zeTkKK1xkZWZcc21hbGxlY3NpemV7MDkwMH0KIAogJSBGb250cyBmb3Igc21hbGwgZXhhbXBsZXMgKDhwdCkuCi1cc2V0Zm9udFxzbWFsbGVycm1ccm1zaGFwZXs4fXsxMDAwfQotXHNldGZvbnRcc21hbGxlcnR0XHR0c2hhcGV7OH17MTAwMH0KLVxzZXRmb250XHNtYWxsZXJiZlxiZnNoYXBlezEwfXs4MDB9Ci1cc2V0Zm9udFxzbWFsbGVyaXRcaXRzaGFwZXs4fXsxMDAwfQotXHNldGZvbnRcc21hbGxlcnNsXHNsc2hhcGV7OH17MTAwMH0KLVxzZXRmb250XHNtYWxsZXJzZlxzZnNoYXBlezh9ezEwMDB9Ci1cc2V0Zm9udFxzbWFsbGVyc2Ncc2NzaGFwZXsxMH17ODAwfQotXHNldGZvbnRcc21hbGxlcnR0c2xcdHRzbHNoYXBlezEwfXs4MDB9CitcZGVmXHNtYWxsZXJub21pbmFsc2l6ZXs4cHR9Citcc2V0Zm9udFxzbWFsbGVycm1ccm1zaGFwZXs4fXsxMDAwfXtPVDF9Citcc2V0Zm9udFxzbWFsbGVydHRcdHRzaGFwZXs4fXsxMDAwfXtPVDFUVH0KK1xzZXRmb250XHNtYWxsZXJiZlxiZnNoYXBlezEwfXs4MDB9e09UMX0KK1xzZXRmb250XHNtYWxsZXJpdFxpdHNoYXBlezh9ezEwMDB9e09UMUlUfQorXHNldGZvbnRcc21hbGxlcnNsXHNsc2hhcGV7OH17MTAwMH17T1QxfQorXHNldGZvbnRcc21hbGxlcnNmXHNmc2hhcGV7OH17MTAwMH17T1QxfQorXHNldGZvbnRcc21hbGxlcnNjXHNjc2hhcGV7MTB9ezgwMH17T1QxfQorXHNldGZvbnRcc21hbGxlcnR0c2xcdHRzbHNoYXBlezEwfXs4MDB9e09UMVRUfQogXGZvbnRcc21hbGxlcmk9Y21taTgKIFxmb250XHNtYWxsZXJzeT1jbXN5OAorXGRlZlxzbWFsbGVyZWNzaXplezA4MDB9CiAKLSUgRm9udHMgZm9yIHRpdGxlIHBhZ2U6Ci1cc2V0Zm9udFx0aXRsZXJtXHJtYnNoYXBlezEyfXtcbWFnc3RlcDN9Ci1cc2V0Zm9udFx0aXRsZWl0XGl0YnNoYXBlezEwfXtcbWFnc3RlcDR9Ci1cc2V0Zm9udFx0aXRsZXNsXHNsYnNoYXBlezEwfXtcbWFnc3RlcDR9Ci1cc2V0Zm9udFx0aXRsZXR0XHR0YnNoYXBlezEyfXtcbWFnc3RlcDN9Ci1cc2V0Zm9udFx0aXRsZXR0c2xcdHRzbHNoYXBlezEwfXtcbWFnc3RlcDR9Ci1cc2V0Zm9udFx0aXRsZXNmXHNmYnNoYXBlezE3fXtcbWFnc3RlcDF9CislIEZvbnRzIGZvciB0aXRsZSBwYWdlICgyMC40cHQpOgorXGRlZlx0aXRsZW5vbWluYWxzaXplezIwcHR9Citcc2V0Zm9udFx0aXRsZXJtXHJtYnNoYXBlezEyfXtcbWFnc3RlcDN9e09UMX0KK1xzZXRmb250XHRpdGxlaXRcaXRic2hhcGV7MTB9e1xtYWdzdGVwNH17T1QxSVR9Citcc2V0Zm9udFx0aXRsZXNsXHNsYnNoYXBlezEwfXtcbWFnc3RlcDR9e09UMX0KK1xzZXRmb250XHRpdGxldHRcdHRic2hhcGV7MTJ9e1xtYWdzdGVwM317T1QxVFR9Citcc2V0Zm9udFx0aXRsZXR0c2xcdHRzbHNoYXBlezEwfXtcbWFnc3RlcDR9e09UMVRUfQorXHNldGZvbnRcdGl0bGVzZlxzZmJzaGFwZXsxN317XG1hZ3N0ZXAxfXtPVDF9CiBcbGV0XHRpdGxlYmY9XHRpdGxlcm0KLVxzZXRmb250XHRpdGxlc2Ncc2Nic2hhcGV7MTB9e1xtYWdzdGVwNH0KK1xzZXRmb250XHRpdGxlc2Ncc2Nic2hhcGV7MTB9e1xtYWdzdGVwNH17T1QxfQogXGZvbnRcdGl0bGVpPWNtbWkxMiBzY2FsZWQgXG1hZ3N0ZXAzCiBcZm9udFx0aXRsZXN5PWNtc3kxMCBzY2FsZWQgXG1hZ3N0ZXA0Ci1cZGVmXGF1dGhvcnJte1xzZWNybX0KLVxkZWZcYXV0aG9ydHR7XHNlY3R0fQorXGRlZlx0aXRsZWVjc2l6ZXsyMDc0fQogCiAlIENoYXB0ZXIgKGFuZCB1bm51bWJlcmVkKSBmb250cyAoMTcuMjhwdCkuCi1cc2V0Zm9udFxjaGFwcm1ccm1ic2hhcGV7MTJ9e1xtYWdzdGVwMn0KLVxzZXRmb250XGNoYXBpdFxpdGJzaGFwZXsxMH17XG1hZ3N0ZXAzfQotXHNldGZvbnRcY2hhcHNsXHNsYnNoYXBlezEwfXtcbWFnc3RlcDN9Ci1cc2V0Zm9udFxjaGFwdHRcdHRic2hhcGV7MTJ9e1xtYWdzdGVwMn0KLVxzZXRmb250XGNoYXB0dHNsXHR0c2xzaGFwZXsxMH17XG1hZ3N0ZXAzfQotXHNldGZvbnRcY2hhcHNmXHNmYnNoYXBlezE3fXsxMDAwfQorXGRlZlxjaGFwbm9taW5hbHNpemV7MTdwdH0KK1xzZXRmb250XGNoYXBybVxybWJzaGFwZXsxMn17XG1hZ3N0ZXAyfXtPVDF9Citcc2V0Zm9udFxjaGFwaXRcaXRic2hhcGV7MTB9e1xtYWdzdGVwM317T1QxSVR9Citcc2V0Zm9udFxjaGFwc2xcc2xic2hhcGV7MTB9e1xtYWdzdGVwM317T1QxfQorXHNldGZvbnRcY2hhcHR0XHR0YnNoYXBlezEyfXtcbWFnc3RlcDJ9e09UMVRUfQorXHNldGZvbnRcY2hhcHR0c2xcdHRzbHNoYXBlezEwfXtcbWFnc3RlcDN9e09UMVRUfQorXHNldGZvbnRcY2hhcHNmXHNmYnNoYXBlezE3fXsxMDAwfXtPVDF9CiBcbGV0XGNoYXBiZj1cY2hhcHJtCi1cc2V0Zm9udFxjaGFwc2Ncc2Nic2hhcGV7MTB9e1xtYWdzdGVwM30KK1xzZXRmb250XGNoYXBzY1xzY2JzaGFwZXsxMH17XG1hZ3N0ZXAzfXtPVDF9CiBcZm9udFxjaGFwaT1jbW1pMTIgc2NhbGVkIFxtYWdzdGVwMgogXGZvbnRcY2hhcHN5PWNtc3kxMCBzY2FsZWQgXG1hZ3N0ZXAzCitcZGVmXGNoYXBlY3NpemV7MTcyOH0KIAogJSBTZWN0aW9uIGZvbnRzICgxNC40cHQpLgotXHNldGZvbnRcc2Vjcm1ccm1ic2hhcGV7MTJ9e1xtYWdzdGVwMX0KLVxzZXRmb250XHNlY2l0XGl0YnNoYXBlezEwfXtcbWFnc3RlcDJ9Ci1cc2V0Zm9udFxzZWNzbFxzbGJzaGFwZXsxMH17XG1hZ3N0ZXAyfQotXHNldGZvbnRcc2VjdHRcdHRic2hhcGV7MTJ9e1xtYWdzdGVwMX0KLVxzZXRmb250XHNlY3R0c2xcdHRzbHNoYXBlezEwfXtcbWFnc3RlcDJ9Ci1cc2V0Zm9udFxzZWNzZlxzZmJzaGFwZXsxMn17XG1hZ3N0ZXAxfQorXGRlZlxzZWNub21pbmFsc2l6ZXsxNHB0fQorXHNldGZvbnRcc2Vjcm1ccm1ic2hhcGV7MTJ9e1xtYWdzdGVwMX17T1QxfQorXHNldGZvbnRcc2VjaXRcaXRic2hhcGV7MTB9e1xtYWdzdGVwMn17T1QxSVR9Citcc2V0Zm9udFxzZWNzbFxzbGJzaGFwZXsxMH17XG1hZ3N0ZXAyfXtPVDF9Citcc2V0Zm9udFxzZWN0dFx0dGJzaGFwZXsxMn17XG1hZ3N0ZXAxfXtPVDFUVH0KK1xzZXRmb250XHNlY3R0c2xcdHRzbHNoYXBlezEwfXtcbWFnc3RlcDJ9e09UMVRUfQorXHNldGZvbnRcc2Vjc2Zcc2Zic2hhcGV7MTJ9e1xtYWdzdGVwMX17T1QxfQogXGxldFxzZWNiZlxzZWNybQotXHNldGZvbnRcc2Vjc2Ncc2Nic2hhcGV7MTB9e1xtYWdzdGVwMn0KK1xzZXRmb250XHNlY3NjXHNjYnNoYXBlezEwfXtcbWFnc3RlcDJ9e09UMX0KIFxmb250XHNlY2k9Y21taTEyIHNjYWxlZCBcbWFnc3RlcDEKIFxmb250XHNlY3N5PWNtc3kxMCBzY2FsZWQgXG1hZ3N0ZXAyCitcZGVmXHNlY2Vjc2l6ZXsxNDQwfQogCiAlIFN1YnNlY3Rpb24gZm9udHMgKDEzLjE1cHQpLgotXHNldGZvbnRcc3NlY3JtXHJtYnNoYXBlezEyfXtcbWFnc3RlcGhhbGZ9Ci1cc2V0Zm9udFxzc2VjaXRcaXRic2hhcGV7MTB9ezEzMTV9Ci1cc2V0Zm9udFxzc2Vjc2xcc2xic2hhcGV7MTB9ezEzMTV9Ci1cc2V0Zm9udFxzc2VjdHRcdHRic2hhcGV7MTJ9e1xtYWdzdGVwaGFsZn0KLVxzZXRmb250XHNzZWN0dHNsXHR0c2xzaGFwZXsxMH17MTMxNX0KLVxzZXRmb250XHNzZWNzZlxzZmJzaGFwZXsxMn17XG1hZ3N0ZXBoYWxmfQorXGRlZlxzc2Vjbm9taW5hbHNpemV7MTNwdH0KK1xzZXRmb250XHNzZWNybVxybWJzaGFwZXsxMn17XG1hZ3N0ZXBoYWxmfXtPVDF9Citcc2V0Zm9udFxzc2VjaXRcaXRic2hhcGV7MTB9ezEzMTV9e09UMUlUfQorXHNldGZvbnRcc3NlY3NsXHNsYnNoYXBlezEwfXsxMzE1fXtPVDF9Citcc2V0Zm9udFxzc2VjdHRcdHRic2hhcGV7MTJ9e1xtYWdzdGVwaGFsZn17T1QxVFR9Citcc2V0Zm9udFxzc2VjdHRzbFx0dHNsc2hhcGV7MTB9ezEzMTV9e09UMVRUfQorXHNldGZvbnRcc3NlY3NmXHNmYnNoYXBlezEyfXtcbWFnc3RlcGhhbGZ9e09UMX0KIFxsZXRcc3NlY2JmXHNzZWNybQotXHNldGZvbnRcc3NlY3NjXHNjYnNoYXBlezEwfXtcbWFnc3RlcDF9Citcc2V0Zm9udFxzc2Vjc2Ncc2Nic2hhcGV7MTB9ezEzMTV9e09UMX0KIFxmb250XHNzZWNpPWNtbWkxMiBzY2FsZWQgXG1hZ3N0ZXBoYWxmCiBcZm9udFxzc2Vjc3k9Y21zeTEwIHNjYWxlZCAxMzE1Ci0lIFRoZSBzbWFsbGNhcHMgYW5kIHN5bWJvbCBmb250cyBzaG91bGQgYWN0dWFsbHkgYmUgc2NhbGVkIFxtYWdzdGVwMS41LAotJSBidXQgdGhhdCBpcyBub3QgYSBzdGFuZGFyZCBtYWduaWZpY2F0aW9uLgorXGRlZlxzc2VjZWNzaXplezEyMDB9CisKKyUgUmVkdWNlZCBmb250cyBmb3IgQGFjcm8gaW4gdGV4dCAoMTBwdCkuCitcZGVmXHJlZHVjZWRub21pbmFsc2l6ZXsxMHB0fQorXHNldGZvbnRccmVkdWNlZHJtXHJtc2hhcGV7MTB9ezEwMDB9e09UMX0KK1xzZXRmb250XHJlZHVjZWR0dFx0dHNoYXBlezEwfXsxMDAwfXtPVDFUVH0KK1xzZXRmb250XHJlZHVjZWRiZlxiZnNoYXBlezEwfXsxMDAwfXtPVDF9Citcc2V0Zm9udFxyZWR1Y2VkaXRcaXRzaGFwZXsxMH17MTAwMH17T1QxSVR9Citcc2V0Zm9udFxyZWR1Y2Vkc2xcc2xzaGFwZXsxMH17MTAwMH17T1QxfQorXHNldGZvbnRccmVkdWNlZHNmXHNmc2hhcGV7MTB9ezEwMDB9e09UMX0KK1xzZXRmb250XHJlZHVjZWRzY1xzY3NoYXBlezEwfXsxMDAwfXtPVDF9Citcc2V0Zm9udFxyZWR1Y2VkdHRzbFx0dHNsc2hhcGV7MTB9ezEwMDB9e09UMVRUfQorXGZvbnRccmVkdWNlZGk9Y21taTEwCitcZm9udFxyZWR1Y2Vkc3k9Y21zeTEwCitcZGVmXHJlZHVjZWRlY3NpemV7MTAwMH0KKworJSByZXNldCB0aGUgY3VycmVudCBmb250cworXHRleHRmb250cworXHJtCit9ICUgZW5kIG9mIDExcHQgdGV4dCBmb250IHNpemUgZGVmaW5pdGlvbnMKKworCislIERlZmluaXRpb25zIHRvIG1ha2UgdGhlIG1haW4gdGV4dCBiZSAxMHB0IENvbXB1dGVyIE1vZGVybiwgd2l0aAorJSBzZWN0aW9uLCBjaGFwdGVyLCBldGMuLCBzaXplcyBmb2xsb3dpbmcgc3VpdC4gIFRoaXMgaXMgZm9yIHRoZSBHTlUKKyUgUHJlc3MgcHJpbnRpbmcgb2YgdGhlIEVtYWNzIDIyIG1hbnVhbC4gIE1heWJlIG90aGVyIG1hbnVhbHMgaW4gdGhlCislIGZ1dHVyZS4gIFVzZWQgd2l0aCBAc21hbGxib29rLCB3aGljaCBzZXRzIHRoZSBsZWFkaW5nIHRvIDEycHQuCislIAorXGRlZlxkZWZpbmV0ZXh0Zm9udHNpemV4eyUKKyUgVGV4dCBmb250cyAoMTBwdCkuCitcZGVmXHRleHRub21pbmFsc2l6ZXsxMHB0fQorXGVkZWZcbWFpbm1hZ3N0ZXB7MTAwMH0KK1xzZXRmb250XHRleHRybVxybXNoYXBlezEwfXtcbWFpbm1hZ3N0ZXB9e09UMX0KK1xzZXRmb250XHRleHR0dFx0dHNoYXBlezEwfXtcbWFpbm1hZ3N0ZXB9e09UMVRUfQorXHNldGZvbnRcdGV4dGJmXGJmc2hhcGV7MTB9e1xtYWlubWFnc3RlcH17T1QxfQorXHNldGZvbnRcdGV4dGl0XGl0c2hhcGV7MTB9e1xtYWlubWFnc3RlcH17T1QxSVR9Citcc2V0Zm9udFx0ZXh0c2xcc2xzaGFwZXsxMH17XG1haW5tYWdzdGVwfXtPVDF9Citcc2V0Zm9udFx0ZXh0c2Zcc2ZzaGFwZXsxMH17XG1haW5tYWdzdGVwfXtPVDF9Citcc2V0Zm9udFx0ZXh0c2Ncc2NzaGFwZXsxMH17XG1haW5tYWdzdGVwfXtPVDF9Citcc2V0Zm9udFx0ZXh0dHRzbFx0dHNsc2hhcGV7MTB9e1xtYWlubWFnc3RlcH17T1QxVFR9CitcZm9udFx0ZXh0aT1jbW1pMTAgc2NhbGVkIFxtYWlubWFnc3RlcAorXGZvbnRcdGV4dHN5PWNtc3kxMCBzY2FsZWQgXG1haW5tYWdzdGVwCitcZGVmXHRleHRlY3NpemV7MTAwMH0KKworJSBBIGZldyBmb250cyBmb3IgQGRlZnVuIG5hbWVzIGFuZCBhcmdzLgorXHNldGZvbnRcZGVmYmZcYmZzaGFwZXsxMH17XG1hZ3N0ZXBoYWxmfXtPVDF9Citcc2V0Zm9udFxkZWZ0dFx0dHNoYXBlezEwfXtcbWFnc3RlcGhhbGZ9e09UMVRUfQorXHNldGZvbnRcZGVmdHRzbFx0dHNsc2hhcGV7MTB9e1xtYWdzdGVwaGFsZn17T1QxVFR9CitcZGVmXGRme1xsZXRcdGVudHQ9XGRlZnR0IFxsZXRcdGVuYmYgPSBcZGVmYmYgXGxldFx0ZW50dHNsPVxkZWZ0dHNsIFxiZn0KKworJSBGb250cyBmb3IgaW5kaWNlcywgZm9vdG5vdGVzLCBzbWFsbCBleGFtcGxlcyAoOXB0KS4KK1xkZWZcc21hbGxub21pbmFsc2l6ZXs5cHR9Citcc2V0Zm9udFxzbWFsbHJtXHJtc2hhcGV7OX17MTAwMH17T1QxfQorXHNldGZvbnRcc21hbGx0dFx0dHNoYXBlezl9ezEwMDB9e09UMVRUfQorXHNldGZvbnRcc21hbGxiZlxiZnNoYXBlezEwfXs5MDB9e09UMX0KK1xzZXRmb250XHNtYWxsaXRcaXRzaGFwZXs5fXsxMDAwfXtPVDFJVH0KK1xzZXRmb250XHNtYWxsc2xcc2xzaGFwZXs5fXsxMDAwfXtPVDF9Citcc2V0Zm9udFxzbWFsbHNmXHNmc2hhcGV7OX17MTAwMH17T1QxfQorXHNldGZvbnRcc21hbGxzY1xzY3NoYXBlezEwfXs5MDB9e09UMX0KK1xzZXRmb250XHNtYWxsdHRzbFx0dHNsc2hhcGV7MTB9ezkwMH17T1QxVFR9CitcZm9udFxzbWFsbGk9Y21taTkKK1xmb250XHNtYWxsc3k9Y21zeTkKK1xkZWZcc21hbGxlY3NpemV7MDkwMH0KKworJSBGb250cyBmb3Igc21hbGwgZXhhbXBsZXMgKDhwdCkuCitcZGVmXHNtYWxsZXJub21pbmFsc2l6ZXs4cHR9Citcc2V0Zm9udFxzbWFsbGVycm1ccm1zaGFwZXs4fXsxMDAwfXtPVDF9Citcc2V0Zm9udFxzbWFsbGVydHRcdHRzaGFwZXs4fXsxMDAwfXtPVDFUVH0KK1xzZXRmb250XHNtYWxsZXJiZlxiZnNoYXBlezEwfXs4MDB9e09UMX0KK1xzZXRmb250XHNtYWxsZXJpdFxpdHNoYXBlezh9ezEwMDB9e09UMUlUfQorXHNldGZvbnRcc21hbGxlcnNsXHNsc2hhcGV7OH17MTAwMH17T1QxfQorXHNldGZvbnRcc21hbGxlcnNmXHNmc2hhcGV7OH17MTAwMH17T1QxfQorXHNldGZvbnRcc21hbGxlcnNjXHNjc2hhcGV7MTB9ezgwMH17T1QxfQorXHNldGZvbnRcc21hbGxlcnR0c2xcdHRzbHNoYXBlezEwfXs4MDB9e09UMVRUfQorXGZvbnRcc21hbGxlcmk9Y21taTgKK1xmb250XHNtYWxsZXJzeT1jbXN5OAorXGRlZlxzbWFsbGVyZWNzaXplezA4MDB9CisKKyUgRm9udHMgZm9yIHRpdGxlIHBhZ2UgKDIwLjRwdCk6CitcZGVmXHRpdGxlbm9taW5hbHNpemV7MjBwdH0KK1xzZXRmb250XHRpdGxlcm1ccm1ic2hhcGV7MTJ9e1xtYWdzdGVwM317T1QxfQorXHNldGZvbnRcdGl0bGVpdFxpdGJzaGFwZXsxMH17XG1hZ3N0ZXA0fXtPVDFJVH0KK1xzZXRmb250XHRpdGxlc2xcc2xic2hhcGV7MTB9e1xtYWdzdGVwNH17T1QxfQorXHNldGZvbnRcdGl0bGV0dFx0dGJzaGFwZXsxMn17XG1hZ3N0ZXAzfXtPVDFUVH0KK1xzZXRmb250XHRpdGxldHRzbFx0dHNsc2hhcGV7MTB9e1xtYWdzdGVwNH17T1QxVFR9Citcc2V0Zm9udFx0aXRsZXNmXHNmYnNoYXBlezE3fXtcbWFnc3RlcDF9e09UMX0KK1xsZXRcdGl0bGViZj1cdGl0bGVybQorXHNldGZvbnRcdGl0bGVzY1xzY2JzaGFwZXsxMH17XG1hZ3N0ZXA0fXtPVDF9CitcZm9udFx0aXRsZWk9Y21taTEyIHNjYWxlZCBcbWFnc3RlcDMKK1xmb250XHRpdGxlc3k9Y21zeTEwIHNjYWxlZCBcbWFnc3RlcDQKK1xkZWZcdGl0bGVlY3NpemV7MjA3NH0KKworJSBDaGFwdGVyIGZvbnRzICgxNC40cHQpLgorXGRlZlxjaGFwbm9taW5hbHNpemV7MTRwdH0KK1xzZXRmb250XGNoYXBybVxybWJzaGFwZXsxMn17XG1hZ3N0ZXAxfXtPVDF9Citcc2V0Zm9udFxjaGFwaXRcaXRic2hhcGV7MTB9e1xtYWdzdGVwMn17T1QxSVR9Citcc2V0Zm9udFxjaGFwc2xcc2xic2hhcGV7MTB9e1xtYWdzdGVwMn17T1QxfQorXHNldGZvbnRcY2hhcHR0XHR0YnNoYXBlezEyfXtcbWFnc3RlcDF9e09UMVRUfQorXHNldGZvbnRcY2hhcHR0c2xcdHRzbHNoYXBlezEwfXtcbWFnc3RlcDJ9e09UMVRUfQorXHNldGZvbnRcY2hhcHNmXHNmYnNoYXBlezEyfXtcbWFnc3RlcDF9e09UMX0KK1xsZXRcY2hhcGJmXGNoYXBybQorXHNldGZvbnRcY2hhcHNjXHNjYnNoYXBlezEwfXtcbWFnc3RlcDJ9e09UMX0KK1xmb250XGNoYXBpPWNtbWkxMiBzY2FsZWQgXG1hZ3N0ZXAxCitcZm9udFxjaGFwc3k9Y21zeTEwIHNjYWxlZCBcbWFnc3RlcDIKK1xkZWZcY2hhcGVjc2l6ZXsxNDQwfQorCislIFNlY3Rpb24gZm9udHMgKDEycHQpLgorXGRlZlxzZWNub21pbmFsc2l6ZXsxMnB0fQorXHNldGZvbnRcc2Vjcm1ccm1ic2hhcGV7MTJ9ezEwMDB9e09UMX0KK1xzZXRmb250XHNlY2l0XGl0YnNoYXBlezEwfXtcbWFnc3RlcDF9e09UMUlUfQorXHNldGZvbnRcc2Vjc2xcc2xic2hhcGV7MTB9e1xtYWdzdGVwMX17T1QxfQorXHNldGZvbnRcc2VjdHRcdHRic2hhcGV7MTJ9ezEwMDB9e09UMVRUfQorXHNldGZvbnRcc2VjdHRzbFx0dHNsc2hhcGV7MTB9e1xtYWdzdGVwMX17T1QxVFR9Citcc2V0Zm9udFxzZWNzZlxzZmJzaGFwZXsxMn17MTAwMH17T1QxfQorXGxldFxzZWNiZlxzZWNybQorXHNldGZvbnRcc2Vjc2Ncc2Nic2hhcGV7MTB9e1xtYWdzdGVwMX17T1QxfQorXGZvbnRcc2VjaT1jbW1pMTIgCitcZm9udFxzZWNzeT1jbXN5MTAgc2NhbGVkIFxtYWdzdGVwMQorXGRlZlxzZWNlY3NpemV7MTIwMH0KKworJSBTdWJzZWN0aW9uIGZvbnRzICgxMHB0KS4KK1xkZWZcc3NlY25vbWluYWxzaXplezEwcHR9Citcc2V0Zm9udFxzc2Vjcm1ccm1ic2hhcGV7MTB9ezEwMDB9e09UMX0KK1xzZXRmb250XHNzZWNpdFxpdGJzaGFwZXsxMH17MTAwMH17T1QxSVR9Citcc2V0Zm9udFxzc2Vjc2xcc2xic2hhcGV7MTB9ezEwMDB9e09UMX0KK1xzZXRmb250XHNzZWN0dFx0dGJzaGFwZXsxMH17MTAwMH17T1QxVFR9Citcc2V0Zm9udFxzc2VjdHRzbFx0dHNsc2hhcGV7MTB9ezEwMDB9e09UMVRUfQorXHNldGZvbnRcc3NlY3NmXHNmYnNoYXBlezEwfXsxMDAwfXtPVDF9CitcbGV0XHNzZWNiZlxzc2Vjcm0KK1xzZXRmb250XHNzZWNzY1xzY2JzaGFwZXsxMH17MTAwMH17T1QxfQorXGZvbnRcc3NlY2k9Y21taTEwCitcZm9udFxzc2Vjc3k9Y21zeTEwCitcZGVmXHNzZWNlY3NpemV7MTAwMH0KKworJSBSZWR1Y2VkIGZvbnRzIGZvciBAYWNybyBpbiB0ZXh0ICg5cHQpLgorXGRlZlxyZWR1Y2Vkbm9taW5hbHNpemV7OXB0fQorXHNldGZvbnRccmVkdWNlZHJtXHJtc2hhcGV7OX17MTAwMH17T1QxfQorXHNldGZvbnRccmVkdWNlZHR0XHR0c2hhcGV7OX17MTAwMH17T1QxVFR9Citcc2V0Zm9udFxyZWR1Y2VkYmZcYmZzaGFwZXsxMH17OTAwfXtPVDF9Citcc2V0Zm9udFxyZWR1Y2VkaXRcaXRzaGFwZXs5fXsxMDAwfXtPVDFJVH0KK1xzZXRmb250XHJlZHVjZWRzbFxzbHNoYXBlezl9ezEwMDB9e09UMX0KK1xzZXRmb250XHJlZHVjZWRzZlxzZnNoYXBlezl9ezEwMDB9e09UMX0KK1xzZXRmb250XHJlZHVjZWRzY1xzY3NoYXBlezEwfXs5MDB9e09UMX0KK1xzZXRmb250XHJlZHVjZWR0dHNsXHR0c2xzaGFwZXsxMH17OTAwfXtPVDFUVH0KK1xmb250XHJlZHVjZWRpPWNtbWk5CitcZm9udFxyZWR1Y2Vkc3k9Y21zeTkKK1xkZWZccmVkdWNlZGVjc2l6ZXswOTAwfQorCislIHJlZHVjZSBzcGFjZSBiZXR3ZWVuIHBhcmFncmFwaHMKK1xkaXZpZGVccGFyc2tpcCBieSAyCisKKyUgcmVzZXQgdGhlIGN1cnJlbnQgZm9udHMKK1x0ZXh0Zm9udHMKK1xybQorfSAlIGVuZCBvZiAxMHB0IHRleHQgZm9udCBzaXplIGRlZmluaXRpb25zCisKKworJSBXZSBwcm92aWRlIHRoZSB1c2VyLWxldmVsIGNvbW1hbmQKKyUgICBAZm9udHRleHRzaXplIDEwCislIChvciAxMSkgdG8gcmVkZWZpbmUgdGhlIHRleHQgZm9udCBzaXplLiAgcHQgaXMgYXNzdW1lZC4KKyUgCitcZGVmXHh3b3JkezEwfQorXGRlZlx4aXdvcmR7MTF9CislCitccGFyc2VhcmdkZWZcZm9udHRleHRzaXpleyUKKyAgXGRlZlx0ZXh0c2l6ZWFyZ3sjMX0lCisgIFx3bG9ne2RvaW5nIEBmb250dGV4dHNpemUgXHRleHRzaXplYXJnfSUKKyAgJQorICAlIFNldCBcZ2xvYmFsZGVmcyBzbyB0aGF0IGRvY3VtZW50cyBjYW4gdXNlIHRoaXMgaW5zaWRlIEB0ZXgsIHNpbmNlCisgICUgbWFrZWluZm8gNC44IGRvZXMgbm90IHN1cHBvcnQgaXQsIGJ1dCB3ZSBuZWVkIGl0IG5vbmV0aGVsZXNzLgorICAlIAorIFxiZWdpbmdyb3VwIFxnbG9iYWxkZWZzPTEKKyAgXGlmeFx0ZXh0c2l6ZWFyZ1x4d29yZCBcZGVmaW5ldGV4dGZvbnRzaXpleAorICBcZWxzZSBcaWZ4XHRleHRzaXplYXJnXHhpd29yZCBcZGVmaW5ldGV4dGZvbnRzaXpleGkKKyAgXGVsc2UKKyAgICBcZXJyaGVscD1cRU1zaW1wbGUKKyAgICBcZXJybWVzc2FnZXtAZm9udHRleHRzaXplIG9ubHkgc3VwcG9ydHMgYDEwJyBvciBgMTEnLCBub3QgYFx0ZXh0c2l6ZWFyZyd9CisgIFxmaVxmaQorIFxlbmRncm91cAorfQorCiAKICUgSW4gb3JkZXIgZm9yIHRoZSBmb250IGNoYW5nZXMgdG8gYWZmZWN0IG1vc3QgbWF0aCBzeW1ib2xzIGFuZCBsZXR0ZXJzLAogJSB3ZSBoYXZlIHRvIGRlZmluZSB0aGUgXHRleHRmb250IG9mIHRoZSBzdGFuZGFyZCBmYW1pbGllcy4gIFNpbmNlCkBAIC0xMzQ0LDEwNiArMjI4MCwyNjQgQEAKIH0KIAogJSBUaGUgZm9udC1jaGFuZ2luZyBjb21tYW5kcyByZWRlZmluZSB0aGUgbWVhbmluZ3Mgb2YgXHRlblNUWUxFLCBpbnN0ZWFkCi0lIG9mIGp1c3QgXFNUWUxFLiAgV2UgZG8gdGhpcyBzbyB0aGF0IGZvbnQgY2hhbmdlcyB3aWxsIGNvbnRpbnVlIHRvIHdvcmsKLSUgaW4gbWF0aCBtb2RlLCB3aGVyZSBpdCBpcyB0aGUgY3VycmVudCBcZmFtIHRoYXQgaXMgcmVsZXZhbnQgaW4gbW9zdAotJSBjYXNlcywgbm90IHRoZSBjdXJyZW50IGZvbnQuICBQbGFpbiBUZVggZG9lcyBcZGVmXGJme1xmYW09XGJmZmFtCi0lIFx0ZW5iZn0sIGZvciBleGFtcGxlLiAgQnkgcmVkZWZpbmluZyBcdGVuYmYsIHdlIG9idmlhdGUgdGhlIG5lZWQgdG8KLSUgcmVkZWZpbmUgXGJmIGl0c2VsZi4KKyUgb2YganVzdCBcU1RZTEUuICBXZSBkbyB0aGlzIGJlY2F1c2UgXFNUWUxFIG5lZWRzIHRvIGFsc28gc2V0IHRoZQorJSBjdXJyZW50IFxmYW0gZm9yIG1hdGggbW9kZS4gIE91ciBcU1RZTEUgKGUuZy4sIFxybSkgY29tbWFuZHMgaGFyZHdpcmUKKyUgXHRlblNUWUxFIHRvIHNldCB0aGUgY3VycmVudCBmb250LgorJQorJSBFYWNoIGZvbnQtY2hhbmdpbmcgY29tbWFuZCBhbHNvIHNldHMgdGhlIG5hbWVzIFxsc2l6ZSAob25lIHNpemUgbG93ZXIpCislIGFuZCBcbGxsc2l6ZSAodGhyZWUgc2l6ZXMgbG93ZXIpLiAgVGhlc2UgcmVsYXRpdmUgY29tbWFuZHMgYXJlIHVzZWQgaW4KKyUgdGhlIExhVGVYIGxvZ28gYW5kIGFjcm9ueW1zLgorJQorJSBUaGlzIGFsbCBuZWVkcyBnZW5lcmFsaXppbmcsIGJhZGx5LgorJQogXGRlZlx0ZXh0Zm9udHN7JQogICBcbGV0XHRlbnJtPVx0ZXh0cm0gXGxldFx0ZW5pdD1cdGV4dGl0IFxsZXRcdGVuc2w9XHRleHRzbAogICBcbGV0XHRlbmJmPVx0ZXh0YmYgXGxldFx0ZW50dD1cdGV4dHR0IFxsZXRcc21hbGxjYXBzPVx0ZXh0c2MKLSAgXGxldFx0ZW5zZj1cdGV4dHNmIFxsZXRcdGVuaT1cdGV4dGkgXGxldFx0ZW5zeT1cdGV4dHN5IFxsZXRcdGVudHRzbD1cdGV4dHR0c2wKKyAgXGxldFx0ZW5zZj1cdGV4dHNmIFxsZXRcdGVuaT1cdGV4dGkgXGxldFx0ZW5zeT1cdGV4dHN5CisgIFxsZXRcdGVudHRzbD1cdGV4dHR0c2wKKyAgXGRlZlxjdXJmb250c2l6ZXt0ZXh0fSUKKyAgXGRlZlxsc2l6ZXtyZWR1Y2VkfVxkZWZcbGxsc2l6ZXtzbWFsbGVyfSUKICAgXHJlc2V0bWF0aGZvbnRzIFxzZXRsZWFkaW5ne1x0ZXh0bGVhZGluZ319CiBcZGVmXHRpdGxlZm9udHN7JQogICBcbGV0XHRlbnJtPVx0aXRsZXJtIFxsZXRcdGVuaXQ9XHRpdGxlaXQgXGxldFx0ZW5zbD1cdGl0bGVzbAogICBcbGV0XHRlbmJmPVx0aXRsZWJmIFxsZXRcdGVudHQ9XHRpdGxldHQgXGxldFxzbWFsbGNhcHM9XHRpdGxlc2MKICAgXGxldFx0ZW5zZj1cdGl0bGVzZiBcbGV0XHRlbmk9XHRpdGxlaSBcbGV0XHRlbnN5PVx0aXRsZXN5CiAgIFxsZXRcdGVudHRzbD1cdGl0bGV0dHNsCisgIFxkZWZcY3VyZm9udHNpemV7dGl0bGV9JQorICBcZGVmXGxzaXple2NoYXB9XGRlZlxsbGxzaXple3N1YnNlY30lCiAgIFxyZXNldG1hdGhmb250cyBcc2V0bGVhZGluZ3syNXB0fX0KLVxkZWZcdGl0bGVmb250IzF7e1x0aXRsZWZvbnRzXHJtICMxfX0KK1xkZWZcdGl0bGVmb250IzF7e1x0aXRsZWZvbnRzXHJtaXNib2xkICMxfX0KIFxkZWZcY2hhcGZvbnRzeyUKICAgXGxldFx0ZW5ybT1cY2hhcHJtIFxsZXRcdGVuaXQ9XGNoYXBpdCBcbGV0XHRlbnNsPVxjaGFwc2wKICAgXGxldFx0ZW5iZj1cY2hhcGJmIFxsZXRcdGVudHQ9XGNoYXB0dCBcbGV0XHNtYWxsY2Fwcz1cY2hhcHNjCi0gIFxsZXRcdGVuc2Y9XGNoYXBzZiBcbGV0XHRlbmk9XGNoYXBpIFxsZXRcdGVuc3k9XGNoYXBzeSBcbGV0XHRlbnR0c2w9XGNoYXB0dHNsCisgIFxsZXRcdGVuc2Y9XGNoYXBzZiBcbGV0XHRlbmk9XGNoYXBpIFxsZXRcdGVuc3k9XGNoYXBzeQorICBcbGV0XHRlbnR0c2w9XGNoYXB0dHNsCisgIFxkZWZcY3VyZm9udHNpemV7Y2hhcH0lCisgIFxkZWZcbHNpemV7c2VjfVxkZWZcbGxsc2l6ZXt0ZXh0fSUKICAgXHJlc2V0bWF0aGZvbnRzIFxzZXRsZWFkaW5nezE5cHR9fQogXGRlZlxzZWNmb250c3slCiAgIFxsZXRcdGVucm09XHNlY3JtIFxsZXRcdGVuaXQ9XHNlY2l0IFxsZXRcdGVuc2w9XHNlY3NsCiAgIFxsZXRcdGVuYmY9XHNlY2JmIFxsZXRcdGVudHQ9XHNlY3R0IFxsZXRcc21hbGxjYXBzPVxzZWNzYwotICBcbGV0XHRlbnNmPVxzZWNzZiBcbGV0XHRlbmk9XHNlY2kgXGxldFx0ZW5zeT1cc2Vjc3kgXGxldFx0ZW50dHNsPVxzZWN0dHNsCisgIFxsZXRcdGVuc2Y9XHNlY3NmIFxsZXRcdGVuaT1cc2VjaSBcbGV0XHRlbnN5PVxzZWNzeQorICBcbGV0XHRlbnR0c2w9XHNlY3R0c2wKKyAgXGRlZlxjdXJmb250c2l6ZXtzZWN9JQorICBcZGVmXGxzaXple3N1YnNlY31cZGVmXGxsbHNpemV7cmVkdWNlZH0lCiAgIFxyZXNldG1hdGhmb250cyBcc2V0bGVhZGluZ3sxNnB0fX0KIFxkZWZcc3Vic2VjZm9udHN7JQogICBcbGV0XHRlbnJtPVxzc2Vjcm0gXGxldFx0ZW5pdD1cc3NlY2l0IFxsZXRcdGVuc2w9XHNzZWNzbAogICBcbGV0XHRlbmJmPVxzc2VjYmYgXGxldFx0ZW50dD1cc3NlY3R0IFxsZXRcc21hbGxjYXBzPVxzc2Vjc2MKLSAgXGxldFx0ZW5zZj1cc3NlY3NmIFxsZXRcdGVuaT1cc3NlY2kgXGxldFx0ZW5zeT1cc3NlY3N5IFxsZXRcdGVudHRzbD1cc3NlY3R0c2wKKyAgXGxldFx0ZW5zZj1cc3NlY3NmIFxsZXRcdGVuaT1cc3NlY2kgXGxldFx0ZW5zeT1cc3NlY3N5CisgIFxsZXRcdGVudHRzbD1cc3NlY3R0c2wKKyAgXGRlZlxjdXJmb250c2l6ZXtzc2VjfSUKKyAgXGRlZlxsc2l6ZXt0ZXh0fVxkZWZcbGxsc2l6ZXtzbWFsbH0lCiAgIFxyZXNldG1hdGhmb250cyBcc2V0bGVhZGluZ3sxNXB0fX0KLVxsZXRcc3Vic3Vic2VjZm9udHMgPSBcc3Vic2VjZm9udHMgJSBNYXliZSBtYWtlIHNzc2VjIGZvbnRzIHNjYWxlZCBtYWdzdGVwaGFsZj8KK1xsZXRcc3Vic3Vic2VjZm9udHMgPSBcc3Vic2VjZm9udHMKK1xkZWZccmVkdWNlZGZvbnRzeyUKKyAgXGxldFx0ZW5ybT1ccmVkdWNlZHJtIFxsZXRcdGVuaXQ9XHJlZHVjZWRpdCBcbGV0XHRlbnNsPVxyZWR1Y2Vkc2wKKyAgXGxldFx0ZW5iZj1ccmVkdWNlZGJmIFxsZXRcdGVudHQ9XHJlZHVjZWR0dCBcbGV0XHJlZHVjZWRjYXBzPVxyZWR1Y2Vkc2MKKyAgXGxldFx0ZW5zZj1ccmVkdWNlZHNmIFxsZXRcdGVuaT1ccmVkdWNlZGkgXGxldFx0ZW5zeT1ccmVkdWNlZHN5CisgIFxsZXRcdGVudHRzbD1ccmVkdWNlZHR0c2wKKyAgXGRlZlxjdXJmb250c2l6ZXtyZWR1Y2VkfSUKKyAgXGRlZlxsc2l6ZXtzbWFsbH1cZGVmXGxsbHNpemV7c21hbGxlcn0lCisgIFxyZXNldG1hdGhmb250cyBcc2V0bGVhZGluZ3sxMC41cHR9fQogXGRlZlxzbWFsbGZvbnRzeyUKICAgXGxldFx0ZW5ybT1cc21hbGxybSBcbGV0XHRlbml0PVxzbWFsbGl0IFxsZXRcdGVuc2w9XHNtYWxsc2wKICAgXGxldFx0ZW5iZj1cc21hbGxiZiBcbGV0XHRlbnR0PVxzbWFsbHR0IFxsZXRcc21hbGxjYXBzPVxzbWFsbHNjCiAgIFxsZXRcdGVuc2Y9XHNtYWxsc2YgXGxldFx0ZW5pPVxzbWFsbGkgXGxldFx0ZW5zeT1cc21hbGxzeQogICBcbGV0XHRlbnR0c2w9XHNtYWxsdHRzbAorICBcZGVmXGN1cmZvbnRzaXple3NtYWxsfSUKKyAgXGRlZlxsc2l6ZXtzbWFsbGVyfVxkZWZcbGxsc2l6ZXtzbWFsbGVyfSUKICAgXHJlc2V0bWF0aGZvbnRzIFxzZXRsZWFkaW5nezEwLjVwdH19CiBcZGVmXHNtYWxsZXJmb250c3slCiAgIFxsZXRcdGVucm09XHNtYWxsZXJybSBcbGV0XHRlbml0PVxzbWFsbGVyaXQgXGxldFx0ZW5zbD1cc21hbGxlcnNsCiAgIFxsZXRcdGVuYmY9XHNtYWxsZXJiZiBcbGV0XHRlbnR0PVxzbWFsbGVydHQgXGxldFxzbWFsbGNhcHM9XHNtYWxsZXJzYwogICBcbGV0XHRlbnNmPVxzbWFsbGVyc2YgXGxldFx0ZW5pPVxzbWFsbGVyaSBcbGV0XHRlbnN5PVxzbWFsbGVyc3kKICAgXGxldFx0ZW50dHNsPVxzbWFsbGVydHRzbAorICBcZGVmXGN1cmZvbnRzaXple3NtYWxsZXJ9JQorICBcZGVmXGxzaXple3NtYWxsZXJ9XGRlZlxsbGxzaXple3NtYWxsZXJ9JQogICBccmVzZXRtYXRoZm9udHMgXHNldGxlYWRpbmd7OS41cHR9fQogCislIEZvbnRzIGZvciBzaG9ydCB0YWJsZSBvZiBjb250ZW50cy4KK1xzZXRmb250XHNob3J0Y29udHJtXHJtc2hhcGV7MTJ9ezEwMDB9e09UMX0KK1xzZXRmb250XHNob3J0Y29udGJmXGJmc2hhcGV7MTB9e1xtYWdzdGVwMX17T1QxfSAgJSBubyBjbWIxMgorXHNldGZvbnRcc2hvcnRjb250c2xcc2xzaGFwZXsxMn17MTAwMH17T1QxfQorXHNldGZvbnRcc2hvcnRjb250dHRcdHRzaGFwZXsxMn17MTAwMH17T1QxVFR9CisKKyUgRGVmaW5lIHRoZXNlIGp1c3Qgc28gdGhleSBjYW4gYmUgZWFzaWx5IGNoYW5nZWQgZm9yIG90aGVyIGZvbnRzLgorXGRlZlxhbmdsZWxlZnR7JFxsYW5nbGUkfQorXGRlZlxhbmdsZXJpZ2h0eyRccmFuZ2xlJH0KKwogJSBTZXQgdGhlIGZvbnRzIHRvIHVzZSB3aXRoIHRoZSBAc21hbGwuLi4gZW52aXJvbm1lbnRzLgogXGxldFxzbWFsbGV4YW1wbGVmb250cyA9IFxzbWFsbGZvbnRzCiAKICUgQWJvdXQgXHNtYWxsZXhhbXBsZWZvbnRzLiAgSWYgd2UgdXNlIFxzbWFsbGZvbnRzICg5cHQpLCBAc21hbGxleGFtcGxlCiAlIGNhbiBmaXQgdGhpcyBtYW55IGNoYXJhY3RlcnM6CiAlICAgOC41eDExPTg2ICAgc21hbGxib29rPTcyICBhND05MCAgYTU9NjkKLSUgSWYgd2UgdXNlIFxzbWFsbGVyZm9udHMgKDhwdCksIHRoZW4gd2UgY2FuIGZpdCB0aGlzIG1hbnkgY2hhcmFjdGVyczoKKyUgSWYgd2UgdXNlIFxzY3JpcHRmb250cyAoOHB0KSwgdGhlbiB3ZSBjYW4gZml0IHRoaXMgbWFueSBjaGFyYWN0ZXJzOgogJSAgIDguNXgxMT05MCsgIHNtYWxsYm9vaz04MCAgYTQ9OTArICBhNT03NwogJSBGb3IgbWUsIHN1YmplY3RpdmVseSwgdGhlIGZldyBleHRyYSBjaGFyYWN0ZXJzIHRoYXQgZml0IGFyZW4ndCB3b3J0aAogJSB0aGUgYWRkaXRpb25hbCBzbWFsbG5lc3Mgb2YgOHB0LiAgU28gSSdtIG1ha2luZyB0aGUgZGVmYXVsdCA5cHQuCi0lIAorJQogJSBCeSB0aGUgd2F5LCBmb3IgY29tcGFyaXNvbiwgaGVyZSdzIHdoYXQgZml0cyB3aXRoIEBleGFtcGxlICgxMHB0KToKICUgICA4LjV4MTE9NzEgIHNtYWxsYm9vaz02MCAgYTQ9NzUgIGE1PTU4Ci0lIAotJSBJIHdpc2ggd2UgdXNlZCBBNCBwYXBlciBvbiB0aGlzIHNpZGUgb2YgdGhlIEF0bGFudGljLgotJSAKICUgLS1rYXJsLCAyNGphbjAzLgogCi0KICUgU2V0IHVwIHRoZSBkZWZhdWx0IGZvbnRzLCBzbyB3ZSBjYW4gdXNlIHRoZW0gZm9yIGNyZWF0aW5nIGJveGVzLgogJQotXHRleHRmb250cworXGRlZmluZXRleHRmb250c2l6ZXhpCiAKLSUgRGVmaW5lIHRoZXNlIHNvIHRoZXkgY2FuIGJlIGVhc2lseSBjaGFuZ2VkIGZvciBvdGhlciBmb250cy4KLVxkZWZcYW5nbGVsZWZ0eyRcbGFuZ2xlJH0KLVxkZWZcYW5nbGVyaWdodHskXHJhbmdsZSR9CisKK1xtZXNzYWdle21hcmt1cCx9CisKKyUgQ2hlY2sgaWYgd2UgYXJlIGN1cnJlbnRseSB1c2luZyBhIHR5cGV3cml0ZXIgZm9udC4gIFNpbmNlIGFsbCB0aGUKKyUgQ29tcHV0ZXIgTW9kZXJuIHR5cGV3cml0ZXIgZm9udHMgaGF2ZSB6ZXJvIGludGVyd29yZCBzdHJldGNoIChhbmQKKyUgc2hyaW5rKSwgYW5kIGl0IGlzIHJlYXNvbmFibGUgdG8gZXhwZWN0IGFsbCB0eXBld3JpdGVyIGZvbnRzIHRvIGhhdmUKKyUgdGhpcyBwcm9wZXJ0eSwgd2UgY2FuIGNoZWNrIHRoYXQgZm9udCBwYXJhbWV0ZXIuCislCitcZGVmXGlmbW9ub3NwYWNle1xpZmRpbVxmb250ZGltZW4zXGZvbnQ9MHB0IH0KKworJSBNYXJrdXAgc3R5bGUgaW5mcmFzdHJ1Y3R1cmUuICBcZGVmbWFya3Vwc3R5bGVzZXR1cFxJTklUTUFDUk8gd2lsbAorJSBkZWZpbmUgYW5kIHJlZ2lzdGVyIFxJTklUTUFDUk8gdG8gYmUgY2FsbGVkIG9uIG1hcmt1cCBzdHlsZSBjaGFuZ2VzLgorJSBcSU5JVE1BQ1JPIGNhbiBjaGVjayBcY3VycmVudG1hcmt1cHN0eWxlIGZvciB0aGUgaW5uZXJtb3N0CislIHN0eWxlIGFuZCB0aGUgc2V0IG9mIFxpZm1hcmt1cFNUWUxFIHN3aXRjaGVzIGZvciBhbGwgc3R5bGVzCislIGN1cnJlbnRseSBpbiBlZmZlY3QuCitcbmV3aWZcaWZtYXJrdXB2YXIKK1xuZXdpZlxpZm1hcmt1cHNhbXAKK1xuZXdpZlxpZm1hcmt1cGtleQorJVxuZXdpZlxpZm1hcmt1cGZpbGUgJSBAZmlsZSA9PSBAc2FtcC4KKyVcbmV3aWZcaWZtYXJrdXBvcHRpb24gJSBAb3B0aW9uID09IEBzYW1wLgorXG5ld2lmXGlmbWFya3VwY29kZQorXG5ld2lmXGlmbWFya3Vwa2JkCislXG5ld2lmXGlmbWFya3VwZW52ICUgQGVudiA9PSBAY29kZS4KKyVcbmV3aWZcaWZtYXJrdXBjb21tYW5kICUgQGNvbW1hbmQgPT0gQGNvZGUuCitcbmV3aWZcaWZtYXJrdXB0ZXggJSBAdGV4IChhbmQgcGFydCBvZiBAbWF0aCwgZm9yIG5vdykuCitcbmV3aWZcaWZtYXJrdXBleGFtcGxlCitcbmV3aWZcaWZtYXJrdXB2ZXJiCitcbmV3aWZcaWZtYXJrdXB2ZXJiYXRpbQorCitcbGV0XGN1cnJlbnRtYXJrdXBzdHlsZVxlbXB0eQorCitcZGVmXHNldHVwbWFya3Vwc3R5bGUjMXslCisgIFxjc25hbWUgbWFya3VwIzF0cnVlXGVuZGNzbmFtZQorICBcZGVmXGN1cnJlbnRtYXJrdXBzdHlsZXsjMX0lCisgIFxtYXJrdXBzdHlsZXNldHVwCit9CisKK1xsZXRcbWFya3Vwc3R5bGVzZXR1cFxlbXB0eQorCitcZGVmXGRlZm1hcmt1cHN0eWxlc2V0dXAjMXslCisgIFxleHBhbmRhZnRlclxkZWZcZXhwYW5kYWZ0ZXJcbWFya3Vwc3R5bGVzZXR1cAorICAgIFxleHBhbmRhZnRlcntcbWFya3Vwc3R5bGVzZXR1cCAjMX0lCisgIFxkZWYjMSUKK30KKworJSBNYXJrdXAgc3R5bGUgc2V0dXAgZm9yIGxlZnQgYW5kIHJpZ2h0IHF1b3Rlcy4KK1xkZWZtYXJrdXBzdHlsZXNldHVwXG1hcmt1cHNldHVwbHF7JQorICBcZXhwYW5kYWZ0ZXJcbGV0XGV4cGFuZGFmdGVyIFx0ZW1wIFxjc25hbWUgbWFya3Vwc2V0dXBscVxjdXJyZW50bWFya3Vwc3R5bGVcZW5kY3NuYW1lCisgIFxpZnhcdGVtcFxyZWxheCBcbWFya3Vwc2V0dXBscWRlZmF1bHQgXGVsc2UgXHRlbXAgXGZpCit9CisKK1xkZWZtYXJrdXBzdHlsZXNldHVwXG1hcmt1cHNldHVwcnF7JQorICBcZXhwYW5kYWZ0ZXJcbGV0XGV4cGFuZGFmdGVyIFx0ZW1wIFxjc25hbWUgbWFya3Vwc2V0dXBycVxjdXJyZW50bWFya3Vwc3R5bGVcZW5kY3NuYW1lCisgIFxpZnhcdGVtcFxyZWxheCBcbWFya3Vwc2V0dXBycWRlZmF1bHQgXGVsc2UgXHRlbXAgXGZpCit9CisKK3sKK1xjYXRjb2RlYFwnPVxhY3RpdmUKK1xjYXRjb2RlYFxgPVxhY3RpdmUKKworXGdkZWZcbWFya3Vwc2V0dXBscWRlZmF1bHR7XGxldGBcbHF9CitcZ2RlZlxtYXJrdXBzZXR1cHJxZGVmYXVsdHtcbGV0J1xycX0KKworXGdkZWZcbWFya3Vwc2V0Y29kZXF1b3RlbGVmdHtcbGV0YFxjb2RlcXVvdGVsZWZ0fQorXGdkZWZcbWFya3Vwc2V0Y29kZXF1b3RlcmlnaHR7XGxldCdcY29kZXF1b3RlcmlnaHR9CisKK1xnZGVmXG1hcmt1cHNldG5vbGlnYXR1cmVzcXVvdGVsZWZ0e1xsZXRgXG5vbGlnYXR1cmVzcXVvdGVsZWZ0fQorfQorCitcbGV0XG1hcmt1cHNldHVwbHFjb2RlIFxtYXJrdXBzZXRjb2RlcXVvdGVsZWZ0CitcbGV0XG1hcmt1cHNldHVwcnFjb2RlIFxtYXJrdXBzZXRjb2RlcXVvdGVyaWdodAorXGxldFxtYXJrdXBzZXR1cGxxZXhhbXBsZSBcbWFya3Vwc2V0Y29kZXF1b3RlbGVmdAorXGxldFxtYXJrdXBzZXR1cHJxZXhhbXBsZSBcbWFya3Vwc2V0Y29kZXF1b3RlcmlnaHQKK1xsZXRcbWFya3Vwc2V0dXBscXZlcmIgXG1hcmt1cHNldGNvZGVxdW90ZWxlZnQKK1xsZXRcbWFya3Vwc2V0dXBycXZlcmIgXG1hcmt1cHNldGNvZGVxdW90ZXJpZ2h0CitcbGV0XG1hcmt1cHNldHVwbHF2ZXJiYXRpbSBcbWFya3Vwc2V0Y29kZXF1b3RlbGVmdAorXGxldFxtYXJrdXBzZXR1cHJxdmVyYmF0aW0gXG1hcmt1cHNldGNvZGVxdW90ZXJpZ2h0CisKK1xsZXRcbWFya3Vwc2V0dXBscXNhbXAgXG1hcmt1cHNldG5vbGlnYXR1cmVzcXVvdGVsZWZ0CitcbGV0XG1hcmt1cHNldHVwbHFrYmQgXG1hcmt1cHNldG5vbGlnYXR1cmVzcXVvdGVsZWZ0CisKKyUgQWxsb3cgYW4gb3B0aW9uIHRvIG5vdCByZXBsYWNlIHF1b3RlcyB3aXRoIGEgcmVndWxhciBkaXJlY3RlZCByaWdodAorJSBxdW90ZS9hcG9zdHJvcGhlIChjaGFyIDB4MjcpLCBidXQgaW5zdGVhZCB1c2UgdGhlIHVuZGlyZWN0ZWQgcXVvdGUKKyUgZnJvbSBjbXR0IChjaGFyIDB4MGQpLiAgVGhlIHVuZGlyZWN0ZWQgcXVvdGUgaXMgdWdseSwgc28gZG9uJ3QgbWFrZSBpdAorJSB0aGUgZGVmYXVsdCwgYnV0IGl0IHdvcmtzIGZvciBwYXN0aW5nIHdpdGggbW9yZSBwZGYgdmlld2VycyAoYXQgbGVhc3QKKyUgZXZpbmNlKSwgdGhlIGxpbHlwb25kIGRldmVsb3BlcnMgcmVwb3J0LiAgeHBkZiBkb2VzIHdvcmsgd2l0aCB0aGUKKyUgcmVndWxhciAweDI3LiAgCislIAorXGRlZlxjb2RlcXVvdGVyaWdodHslCisgIFxleHBhbmRhZnRlclxpZnhcY3NuYW1lIFNFVHR4aWNvZGVxdW90ZXVuZGlyZWN0ZWRcZW5kY3NuYW1lXHJlbGF4CisgICAgXGV4cGFuZGFmdGVyXGlmeFxjc25hbWUgU0VUY29kZXF1b3RldW5kaXJlY3RlZFxlbmRjc25hbWVccmVsYXgKKyAgICAgICclCisgICAgXGVsc2UgXGNoYXInMTUgXGZpCisgIFxlbHNlIFxjaGFyJzE1IFxmaQorfQorJQorJSBhbmQgYSBzaW1pbGFyIG9wdGlvbiBmb3IgdGhlIGxlZnQgcXVvdGUgY2hhciB2cy4gYSBncmF2ZSBhY2NlbnQuCislIE1vZGVybiBmb250cyBkaXNwbGF5IEFTQ0lJIDB4NjAgYXMgYSBncmF2ZSBhY2NlbnQsIHNvIHNvbWUgcGVvcGxlIGxpa2UKKyUgdGhlIGNvZGUgZW52aXJvbm1lbnRzIHRvIGRvIGxpa2V3aXNlLgorJSAKK1xkZWZcY29kZXF1b3RlbGVmdHslCisgIFxleHBhbmRhZnRlclxpZnhcY3NuYW1lIFNFVHR4aWNvZGVxdW90ZWJhY2t0aWNrXGVuZGNzbmFtZVxyZWxheAorICAgIFxleHBhbmRhZnRlclxpZnhcY3NuYW1lIFNFVGNvZGVxdW90ZWJhY2t0aWNrXGVuZGNzbmFtZVxyZWxheAorICAgICAgJSBbS251dGhdIHBwLiAzODAsMzgxLDM5MQorICAgICAgJSBccmVsYXggZGlzYWJsZXMgU3BhbmlzaCBsaWdhdHVyZXMgP2AgYW5kICFgIG9mIFx0dCBmb250LgorICAgICAgXHJlbGF4YCUKKyAgICBcZWxzZSBcY2hhcicyMiBcZmkKKyAgXGVsc2UgXGNoYXInMjIgXGZpCit9CisKKyUgW0tudXRoXSBwcC4gMzgwLDM4MSwzOTEsIGRpc2FibGUgU3BhbmlzaCBsaWdhdHVyZXMgP2AgYW5kICFgIG9mIFx0dCBmb250LgorXGRlZlxub2xpZ2F0dXJlc3F1b3RlbGVmdHtccmVsYXhcbHF9CiAKICUgQ291bnQgZGVwdGggaW4gZm9udC1jaGFuZ2VzLCBmb3IgZXJyb3IgY2hlY2tzCiBcbmV3Y291bnRcZm9udGRlcHRoIFxmb250ZGVwdGg9MAogCi0lIEZvbnRzIGZvciBzaG9ydCB0YWJsZSBvZiBjb250ZW50cy4KLVxzZXRmb250XHNob3J0Y29udHJtXHJtc2hhcGV7MTJ9ezEwMDB9Ci1cc2V0Zm9udFxzaG9ydGNvbnRiZlxieHNoYXBlezEyfXsxMDAwfQotXHNldGZvbnRcc2hvcnRjb250c2xcc2xzaGFwZXsxMn17MTAwMH0KLVxzZXRmb250XHNob3J0Y29udHR0XHR0c2hhcGV7MTJ9ezEwMDB9Ci0KICUlIEFkZCBzY3JpYmUtbGlrZSBmb250IGVudmlyb25tZW50cywgcGx1cyBAbCBmb3IgaW5saW5lIGxpc3AgKHVzdWFsbHkgc2FucwogJSUgc2VyaWYpIGFuZCBAaWkgZm9yIFRlWCBpdGFsaWMKIAogJSBcc21hcnRpdGFsaWN7QVJHfSBvdXRwdXRzIGFyZyBpbiBpdGFsaWNzLCBmb2xsb3dlZCBieSBhbiBpdGFsaWMgY29ycmVjdGlvbgogJSB1bmxlc3MgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXIgaXMgc3VjaCBhcyBub3QgdG8gbmVlZCBvbmUuCi1cZGVmXHNtYXJ0aXRhbGljeHtcaWZ4XG5leHQsXGVsc2VcaWZ4XG5leHQtXGVsc2VcaWZ4XG5leHQuXGVsc2VcL1xmaVxmaVxmaX0KK1xkZWZcc21hcnRpdGFsaWN4e1xpZnhcbmV4dCxcZWxzZVxpZnhcbmV4dC1cZWxzZVxpZnhcbmV4dC5cZWxzZQorICAgICAgICAgICAgICAgICAgICBccHRleHNsYXNoXGZpXGZpXGZpfQogXGRlZlxzbWFydHNsYW50ZWQjMXt7XGlmdXNpbmd0dFx0dHNsXHNsICMxfVxmdXR1cmVsZXRcbmV4dFxzbWFydGl0YWxpY3h9CiBcZGVmXHNtYXJ0aXRhbGljIzF7e1xpZnVzaW5ndHRcdHRzbFxpdCAjMX1cZnV0dXJlbGV0XG5leHRcc21hcnRpdGFsaWN4fQogCislIGxpa2UgXHNtYXJ0c2xhbnRlZCBleGNlcHQgdW5jb25kaXRpb25hbGx5IHVzZXMgXHR0c2wuCislIEB2YXIgaXMgc2V0IHRvIHRoaXMgZm9yIGRlZnVuIGFyZ3VtZW50cy4KK1xkZWZcdHRzbGFudGVkIzF7e1x0dHNsICMxfVxmdXR1cmVsZXRcbmV4dFxzbWFydGl0YWxpY3h9CisKKyUgQGNpdGUgaXMgbGlrZSBcc21hcnRzbGFudGVkIGV4Y2VwdCB1bmNvbmRpdGlvbmFsbHkgdXNlIFxzbC4gIFdlIG5ldmVyIHdhbnQKKyUgdHRzbCBmb3IgYm9vayB0aXRsZXMsIGRvIHdlPworXGRlZlxjaXRlIzF7e1xzbCAjMX1cZnV0dXJlbGV0XG5leHRcc21hcnRpdGFsaWN4fQorCiBcbGV0XGk9XHNtYXJ0aXRhbGljCi1cbGV0XHZhcj1cc21hcnRzbGFudGVkCitcbGV0XHNsYW50ZWQ9XHNtYXJ0c2xhbnRlZAorXGRlZlx2YXIjMXt7XHNldHVwbWFya3Vwc3R5bGV7dmFyfVxzbWFydHNsYW50ZWR7IzF9fX0KIFxsZXRcZGZuPVxzbWFydHNsYW50ZWQKIFxsZXRcZW1waD1cc21hcnRpdGFsaWMKLVxsZXRcY2l0ZT1cc21hcnRzbGFudGVkCiAKKyUgRXhwbGljaXQgZm9udCBjaGFuZ2VzOiBAciwgQHNjLCB1bmRvY3VtZW50ZWQgQGlpLgorXGRlZlxyIzF7e1xybSAjMX19ICAgICAgICAgICAgICAlIHJvbWFuIGZvbnQKK1xkZWZcc2MjMXt7XHNtYWxsY2FwcyMxfX0gICAgICAgJSBzbWFsbGNhcHMgZm9udAorXGRlZlxpaSMxe3tcaXQgIzF9fSAgICAgICAgICAgICAlIGl0YWxpYyBmb250CisKKyUgQGIsIGV4cGxpY2l0IGJvbGQuICBBbHNvIEBzdHJvbmcuCiBcZGVmXGIjMXt7XGJmICMxfX0KIFxsZXRcc3Ryb25nPVxiCiAKKyUgQHNhbnNzZXJpZiwgZXhwbGljaXQgc2Fucy4KK1xkZWZcc2Fuc3NlcmlmIzF7e1xzZiAjMX19CisKICUgV2UgY2FuJ3QganVzdCB1c2UgXGV4aHlwaGVucGVuYWx0eSwgYmVjYXVzZSB0aGF0IG9ubHkgaGFzIGVmZmVjdCBhdAogJSB0aGUgZW5kIG9mIGEgcGFyYWdyYXBoLiAgUmVzdG9yZSBub3JtYWwgaHlwaGVuYXRpb24gYXQgdGhlIGVuZCBvZiB0aGUKICUgZ3JvdXAgd2l0aGluIHdoaWNoIFxub2h5cGhlbmF0aW9uIGlzIHByZXN1bWFibHkgY2FsbGVkLgpAQCAtMTQ1NCwzMCArMjU0OCw1MCBAQAogJSBTZXQgc2Zjb2RlIHRvIG5vcm1hbCBmb3IgdGhlIGNoYXJzIHRoYXQgdXN1YWxseSBoYXZlIGFub3RoZXIgdmFsdWUuCiAlIENhbid0IHVzZSBwbGFpbidzIFxmcmVuY2hzcGFjaW5nIGJlY2F1c2UgaXQgdXNlcyB0aGUgYFx4IG5vdGF0aW9uLCBhbmQKICUgc29tZXRpbWVzIFx4IGhhcyBhbiBhY3RpdmUgZGVmaW5pdGlvbiB0aGF0IG1lc3NlcyB0aGluZ3MgdXAuCi0lIAorJQogXGNhdGNvZGVgQD0xMQotICBcZGVmXGZyZW5jaHNwYWNpbmd7JQorICBcZGVmXHBsYWluZnJlbmNoc3BhY2luZ3slCiAgICAgXHNmY29kZVxkb3RDaGFyICA9XEBtIFxzZmNvZGVccXVlc3RDaGFyPVxAbSBcc2Zjb2RlXGV4Y2xhbUNoYXI9XEBtCiAgICAgXHNmY29kZVxjb2xvbkNoYXI9XEBtIFxzZmNvZGVcc2VtaUNoYXIgPVxAbSBcc2Zjb2RlXGNvbW1hQ2hhciA9XEBtCisgICAgXGRlZlxlbmRvZnNlbnRlbmNlc3BhY2VmYWN0b3J7MTAwMH0lIGZvciBALiBhbmQgZnJpZW5kcworICB9CisgIFxkZWZccGxhaW5ub25mcmVuY2hzcGFjaW5neyUKKyAgICBcc2Zjb2RlYFwuMzAwMFxzZmNvZGVgXD8zMDAwXHNmY29kZWBcITMwMDAKKyAgICBcc2Zjb2RlYFw6MjAwMFxzZmNvZGVgXDsxNTAwXHNmY29kZWBcLDEyNTAKKyAgICBcZGVmXGVuZG9mc2VudGVuY2VzcGFjZWZhY3RvcnszMDAwfSUgZm9yIEAuIGFuZCBmcmllbmRzCiAgIH0KIFxjYXRjb2RlYEA9XG90aGVyCitcZGVmXGVuZG9mc2VudGVuY2VzcGFjZWZhY3RvcnszMDAwfSUgZGVmYXVsdAogCislIEB0LCBleHBsaWNpdCB0eXBld3JpdGVyLgogXGRlZlx0IzF7JQotICB7XHR0IFxyYXdiYWNrc2xhc2ggXGZyZW5jaHNwYWNpbmcgIzF9JQorICB7XHR0IFxyYXdiYWNrc2xhc2ggXHBsYWluZnJlbmNoc3BhY2luZyAjMX0lCiAgIFxudWxsCiB9Ci1cbGV0XHR0Zm9udD1cdAotXGRlZlxzYW1wIzF7YFx0Y2xvc2V7IzF9J1xudWxsfQotXHNldGZvbnRca2V5cm1ccm1zaGFwZXs4fXsxMDAwfQotXGZvbnRca2V5c3k9Y21zeTkKLVxkZWZca2V5IzF7e1xrZXlybVx0ZXh0Zm9udDI9XGtleXN5IFxsZWF2ZXZtb2RlXGhib3h7JQotICBccmFpc2UwLjRwdFxoYm94e1xhbmdsZWxlZnR9XGtlcm4tLjA4ZW1cdnRvcHslCi0gICAgXHZib3h7XGhydWxlXGtlcm4tMC40cHQKLSAgICAgXGhib3h7XHJhaXNlMC40cHRcaGJveHtcdnBoYW50b217XGFuZ2xlbGVmdH19IzF9fSUKLSAgICBca2Vybi0wLjRwdFxocnVsZX0lCi0gIFxrZXJuLS4wNmVtXHJhaXNlMC40cHRcaGJveHtcYW5nbGVyaWdodH19fX0KLSUgVGhlIG9sZCBkZWZpbml0aW9uLCB3aXRoIG5vIGxvemVuZ2U6Ci0lXGRlZlxrZXkgIzF7e1x0dHNsIFxub2h5cGhlbmF0aW9uIFx1cHBlcmNhc2V7IzF9fVxudWxsfQorCislIEBzYW1wLgorXGRlZlxzYW1wIzF7e1xzZXR1cG1hcmt1cHN0eWxle3NhbXB9XGxxXHRjbG9zZXsjMX1ccnFcbnVsbH19CisKKyUgZGVmaW5pdGlvbiBvZiBAa2V5IHRoYXQgcHJvZHVjZXMgYSBsb3plbmdlLiAgRG9lc24ndCBhZGp1c3QgdG8gdGV4dCBzaXplLgorJVxzZXRmb250XGtleXJtXHJtc2hhcGV7OH17MTAwMH17T1QxfQorJVxmb250XGtleXN5PWNtc3k5CislXGRlZlxrZXkjMXt7XGtleXJtXHRleHRmb250Mj1ca2V5c3kgXGxlYXZldm1vZGVcaGJveHslCislICBccmFpc2UwLjRwdFxoYm94e1xhbmdsZWxlZnR9XGtlcm4tLjA4ZW1cdnRvcHslCislICAgIFx2Ym94e1xocnVsZVxrZXJuLTAuNHB0CislICAgICBcaGJveHtccmFpc2UwLjRwdFxoYm94e1x2cGhhbnRvbXtcYW5nbGVsZWZ0fX0jMX19JQorJSAgICBca2Vybi0wLjRwdFxocnVsZX0lCislICBca2Vybi0uMDZlbVxyYWlzZTAuNHB0XGhib3h7XGFuZ2xlcmlnaHR9fX19CisKKyUgZGVmaW5pdGlvbiBvZiBAa2V5IHdpdGggbm8gbG96ZW5nZS4gIElmIHRoZSBjdXJyZW50IGZvbnQgaXMgYWxyZWFkeQorJSBtb25vc3BhY2UsIGRvbid0IGNoYW5nZSBpdDsgdGhhdCB3YXksIHdlIHJlc3BlY3QgQGtiZGlucHV0c3R5bGUuICBCdXQKKyUgaWYgaXQgaXNuJ3QgbW9ub3NwYWNlLCB0aGVuIHVzZSBcdHQuCislCitcZGVmXGtleSMxe3tcc2V0dXBtYXJrdXBzdHlsZXtrZXl9JQorICBcbm9oeXBoZW5hdGlvbgorICBcaWZtb25vc3BhY2VcZWxzZVx0dFxmaQorICAjMX1cbnVsbH0KKworJSBjdHJsIGlzIG5vIGxvbmdlciBhIFRleGluZm8gY29tbWFuZC4KIFxkZWZcY3RybCAjMXt7XHR0IFxyYXdiYWNrc2xhc2ggXGhhdH0jMX0KIAogJSBAZmlsZSwgQG9wdGlvbiBhcmUgdGhlIHNhbWUgYXMgQHNhbXAuCkBAIC0xNTAxLDEzICsyNjE1LDEzIEBACiAgICAgXG5vaHlwaGVuYXRpb24KICAgICAlCiAgICAgXHJhd2JhY2tzbGFzaAotICAgIFxmcmVuY2hzcGFjaW5nCisgICAgXHBsYWluZnJlbmNoc3BhY2luZwogICAgICMxJQogICB9JQogICBcbnVsbAogfQogCi0lIFdlICptdXN0KiB0dXJuIG9uIGh5cGhlbmF0aW9uIGF0IGAtJyBhbmQgYF8nIGluIFxjb2RlLgorJSBXZSAqbXVzdCogdHVybiBvbiBoeXBoZW5hdGlvbiBhdCBgLScgYW5kIGBfJyBpbiBAY29kZS4KICUgT3RoZXJ3aXNlLCBpdCBpcyB0b28gaGFyZCB0byBhdm9pZCBvdmVyZnVsbCBoYm94ZXMKICUgaW4gdGhlIEVtYWNzIG1hbnVhbCwgdGhlIExpYnJhcnkgbWFudWFsLCBldGMuCiAKQEAgLTE1MTcsMTggKzI2MzEsMjMgQEAKICUgYW5kIGFycmFuZ2UgZXhwbGljaXRseSB0byBoeXBoZW5hdGUgYXQgYSBkYXNoLgogJSAgLS0gcm1zLgogewotICBcY2F0Y29kZWBcLT1cYWN0aXZlCi0gIFxjYXRjb2RlYFxfPVxhY3RpdmUKKyAgXGNhdGNvZGVgXC09XGFjdGl2ZSBcY2F0Y29kZWBcXz1cYWN0aXZlCisgIFxjYXRjb2RlYFwnPVxhY3RpdmUgXGNhdGNvZGVgXGA9XGFjdGl2ZQorICBcZ2xvYmFsXGxldCc9XHJxIFxnbG9iYWxcbGV0YD1cbHEgICUgZGVmYXVsdCBkZWZpbml0aW9ucwogICAlCiAgIFxnbG9iYWxcZGVmXGNvZGV7XGJlZ2luZ3JvdXAKLSAgICBcY2F0Y29kZWBcLT1cYWN0aXZlIFxsZXQtXGNvZGVkYXNoCi0gICAgXGNhdGNvZGVgXF89XGFjdGl2ZSBcbGV0X1xjb2RldW5kZXIKKyAgICBcc2V0dXBtYXJrdXBzdHlsZXtjb2RlfSUKKyAgICAlIFRoZSBmb2xsb3dpbmcgc2hvdWxkIHJlYWxseSBiZSBtb3ZlZCBpbnRvIFxzZXR1cG1hcmt1cHN0eWxlIGhhbmRsZXJzLgorICAgIFxjYXRjb2RlXGRhc2hDaGFyPVxhY3RpdmUgIFxjYXRjb2RlXHVuZGVyQ2hhcj1cYWN0aXZlCisgICAgXGlmYWxsb3djb2RlYnJlYWtzCisgICAgIFxsZXQtXGNvZGVkYXNoCisgICAgIFxsZXRfXGNvZGV1bmRlcgorICAgIFxlbHNlCisgICAgIFxsZXQtXHJlYWxkYXNoCisgICAgIFxsZXRfXHJlYWx1bmRlcgorICAgIFxmaQogICAgIFxjb2RleAogICB9Ci0gICUKLSAgJSBJZiB3ZSBlbmQgdXAgd2l0aCBhbnkgYWN0aXZlIC0gY2hhcmFjdGVycyB3aGVuIGhhbmRsaW5nIHRoZSBpbmRleCwKLSAgJSBqdXN0IHRyZWF0IHRoZW0gYXMgYSBub3JtYWwgLS4KLSAgXGdsb2JhbFxkZWZcaW5kZXhicmVha3N7XGNhdGNvZGVgXC09XGFjdGl2ZSBcbGV0LVxyZWFsZGFzaH0KIH0KIAogXGRlZlxyZWFsZGFzaHstfQpAQCAtMTU0Niw0NCArMjY2NSw3MyBAQAogfQogXGRlZlxjb2RleCAjMXtcdGNsb3NleyMxfVxlbmRncm91cH0KIAorJSBBbiBhZGRpdGlvbmFsIGNvbXBsaWNhdGlvbjogdGhlIGFib3ZlIHdpbGwgYWxsb3cgYnJlYWtzIGFmdGVyLCBlLmcuLAorJSBlYWNoIG9mIHRoZSBmb3VyIHVuZGVyc2NvcmVzIGluIF9fdHlwZW9mX18uICBUaGlzIGlzIHVuZGVzaXJhYmxlIGluCislIHNvbWUgbWFudWFscywgZXNwZWNpYWxseSBpZiB0aGV5IGRvbid0IGhhdmUgbG9uZyBpZGVudGlmaWVycyBpbgorJSBnZW5lcmFsLiAgQGFsbG93Y29kZWJyZWFrcyBwcm92aWRlcyBhIHdheSB0byBjb250cm9sIHRoaXMuCislIAorXG5ld2lmXGlmYWxsb3djb2RlYnJlYWtzICBcYWxsb3djb2RlYnJlYWtzdHJ1ZQorCitcZGVmXGtleXdvcmR0cnVle3RydWV9CitcZGVmXGtleXdvcmRmYWxzZXtmYWxzZX0KKworXHBhcnNlYXJnZGVmXGFsbG93Y29kZWJyZWFrc3slCisgIFxkZWZcdHhpYXJneyMxfSUKKyAgXGlmeFx0eGlhcmdca2V5d29yZHRydWUKKyAgICBcYWxsb3djb2RlYnJlYWtzdHJ1ZQorICBcZWxzZVxpZnhcdHhpYXJnXGtleXdvcmRmYWxzZQorICAgIFxhbGxvd2NvZGVicmVha3NmYWxzZQorICBcZWxzZQorICAgIFxlcnJoZWxwID0gXEVNc2ltcGxlCisgICAgXGVycm1lc3NhZ2V7VW5rbm93biBAYWxsb3djb2RlYnJlYWtzIG9wdGlvbiBgXHR4aWFyZyd9JQorICBcZmlcZmkKK30KKwogJSBAa2JkIGlzIGxpa2UgQGNvZGUsIGV4Y2VwdCB0aGF0IGlmIHRoZSBhcmd1bWVudCBpcyBqdXN0IG9uZSBAa2V5IGNvbW1hbmQsCiAlIHRoZW4gQGtiZCBoYXMgbm8gZWZmZWN0LgorXGRlZlxrYmQjMXt7XHNldHVwbWFya3Vwc3R5bGV7a2JkfVxkZWZcbG9va3sjMX1cZXhwYW5kYWZ0ZXJca2JkZm9vXGxvb2s/P1xwYXJ9fQogCiAlIEBrYmRpbnB1dHN0eWxlIC0tIGFyZyBpcyBgZGlzdGluY3QnIChAa2JkIHVzZXMgc2xhbnRlZCB0dHkgZm9udCBhbHdheXMpLAogJSAgIGBleGFtcGxlJyAoQGtiZCB1c2VzIHR0c2wgb25seSBpbnNpZGUgb2YgQGV4YW1wbGUgYW5kIGZyaWVuZHMpLAogJSAgIG9yIGBjb2RlJyAoQGtiZCB1c2VzIG5vcm1hbCB0dHkgZm9udCBhbHdheXMpLgotXGRlZlxrYmRpbnB1dHN0eWxle1xwYXJzZWFyZ1xrYmRpbnB1dHN0eWxleHh4fQotXGRlZlxrYmRpbnB1dHN0eWxleHh4IzF7JQotICBcZGVmXGFyZ3sjMX0lCi0gIFxpZnhcYXJnXHdvcmRkaXN0aW5jdAorXHBhcnNlYXJnZGVmXGtiZGlucHV0c3R5bGV7JQorICBcZGVmXHR4aWFyZ3sjMX0lCisgIFxpZnhcdHhpYXJnXHdvcmRkaXN0aW5jdAogICAgIFxnZGVmXGtiZGV4YW1wbGVmb250e1x0dHNsfVxnZGVmXGtiZGZvbnR7XHR0c2x9JQotICBcZWxzZVxpZnhcYXJnXHdvcmRleGFtcGxlCisgIFxlbHNlXGlmeFx0eGlhcmdcd29yZGV4YW1wbGUKICAgICBcZ2RlZlxrYmRleGFtcGxlZm9udHtcdHRzbH1cZ2RlZlxrYmRmb250e1x0dH0lCi0gIFxlbHNlXGlmeFxhcmdcd29yZGNvZGUKKyAgXGVsc2VcaWZ4XHR4aWFyZ1x3b3JkY29kZQogICAgIFxnZGVmXGtiZGV4YW1wbGVmb250e1x0dH1cZ2RlZlxrYmRmb250e1x0dH0lCiAgIFxlbHNlCiAgICAgXGVycmhlbHAgPSBcRU1zaW1wbGUKLSAgICBcZXJybWVzc2FnZXtVbmtub3duIEBrYmRpbnB1dHN0eWxlIGBcYXJnJ30lCisgICAgXGVycm1lc3NhZ2V7VW5rbm93biBAa2JkaW5wdXRzdHlsZSBvcHRpb24gYFx0eGlhcmcnfSUKICAgXGZpXGZpXGZpCiB9CiBcZGVmXHdvcmRkaXN0aW5jdHtkaXN0aW5jdH0KIFxkZWZcd29yZGV4YW1wbGV7ZXhhbXBsZX0KIFxkZWZcd29yZGNvZGV7Y29kZX0KIAotJSBEZWZhdWx0IGlzIGBkaXN0aW5jdC4nCislIERlZmF1bHQgaXMgYGRpc3RpbmN0Jy4KIFxrYmRpbnB1dHN0eWxlIGRpc3RpbmN0CiAKIFxkZWZceGtleXtca2V5fQogXGRlZlxrYmRmb28jMSMyIzNccGFye1xkZWZcb25leyMxfVxkZWZcdGhyZWV7IzN9XGRlZlx0aHJlZXh7Pz99JQogXGlmeFxvbmVceGtleVxpZnhcdGhyZWV4XHRocmVlIFxrZXl7IzJ9JQotXGVsc2V7XHRjbG9zZXtca2JkZm9udFxsb29rfX1cZmkKLVxlbHNle1x0Y2xvc2V7XGtiZGZvbnRcbG9va319XGZpfQorXGVsc2V7XHRjbG9zZXtca2JkZm9udFxzZXR1cG1hcmt1cHN0eWxle2tiZH1cbG9va319XGZpCitcZWxzZXtcdGNsb3Nle1xrYmRmb250XHNldHVwbWFya3Vwc3R5bGV7a2JkfVxsb29rfX1cZml9CiAKLSUgRm9yIEB1cmwsIEBlbnYsIEBjb21tYW5kIHF1b3RlcyBzZWVtIHVubmVjZXNzYXJ5LCBzbyB1c2UgXGNvZGUuCi1cbGV0XHVybD1cY29kZQorJSBGb3IgQGluZGljYXRldXJsLCBAZW52LCBAY29tbWFuZCBxdW90ZXMgc2VlbSB1bm5lY2Vzc2FyeSwgc28gdXNlIFxjb2RlLgorXGxldFxpbmRpY2F0ZXVybD1cY29kZQogXGxldFxlbnY9XGNvZGUKIFxsZXRcY29tbWFuZD1cY29kZQogCislIEBjbGlja3NlcXVlbmNle0ZpbGUgQGNsaWNre30gT3BlbiAuLi59CitcZGVmXGNsaWNrc2VxdWVuY2UjMXtcYmVnaW5ncm91cCAjMVxlbmRncm91cH0KKworJSBAY2xpY2tzdHlsZSBAYXJyb3cgICAoYnkgZGVmYXVsdCkKK1xwYXJzZWFyZ2RlZlxjbGlja3N0eWxle1xkZWZcY2xpY2t7IzF9fQorXGRlZlxjbGlja3tcYXJyb3d9CisKICUgQHVyZWYgKGFiYnJldmlhdGlvbiBmb3IgYHVybHJlZicpIHRha2VzIGFuIG9wdGlvbmFsIChjb21tYS1zZXBhcmF0ZWQpCiAlIHNlY29uZCBhcmd1bWVudCBzcGVjaWZ5aW5nIHRoZSB0ZXh0IHRvIGRpc3BsYXkgYW5kIGFuIG9wdGlvbmFsIHRoaXJkCiAlIGFyZyBhcyB0ZXh0IHRvIGRpc3BsYXkgaW5zdGVhZCBvZiAocmF0aGVyIHRoYW4gaW4gYWRkaXRpb24gdG8pIHRoZSB1cmwKQEAgLTE2MTIsOSArMjc2MCwxMyBAQAogICBcZW5kbGluawogXGVuZGdyb3VwfQogCislIEB1cmwgc3lub255bSBmb3IgQHVyZWYsIHNpbmNlIHRoYXQncyBob3cgZXZlcnlvbmUgdXNlcyBpdC4KKyUKK1xsZXRcdXJsPVx1cmVmCisKICUgcm1zIGRvZXMgbm90IGxpa2UgYW5nbGUgYnJhY2tldHMgLS1rYXJsLCAxN21heTk3LgogJSBTbyBub3cgQGVtYWlsIGlzIGp1c3QgbGlrZSBAdXJlZiwgdW5sZXNzIHdlIGFyZSBwZGYuCi0lIAorJQogJVxkZWZcZW1haWwjMXtcYW5nbGVsZWZ0e1x0dCAjMX1cYW5nbGVyaWdodH0KIFxpZnBkZgogICBcZGVmXGVtYWlsIzF7XGRvZW1haWwjMSwsXGZpbmlzaH0KQEAgLTE2MjksMzYgKzI3ODEsMjE1IEBACiAgIFxsZXRcZW1haWw9XHVyZWYKIFxmaQogCi0lIENoZWNrIGlmIHdlIGFyZSBjdXJyZW50bHkgdXNpbmcgYSB0eXBld3JpdGVyIGZvbnQuICBTaW5jZSBhbGwgdGhlCi0lIENvbXB1dGVyIE1vZGVybiB0eXBld3JpdGVyIGZvbnRzIGhhdmUgemVybyBpbnRlcndvcmQgc3RyZXRjaCAoYW5kCi0lIHNocmluayksIGFuZCBpdCBpcyByZWFzb25hYmxlIHRvIGV4cGVjdCBhbGwgdHlwZXdyaXRlciBmb250cyB0byBoYXZlCi0lIHRoaXMgcHJvcGVydHksIHdlIGNhbiBjaGVjayB0aGF0IGZvbnQgcGFyYW1ldGVyLgotJQotXGRlZlxpZm1vbm9zcGFjZXtcaWZkaW1cZm9udGRpbWVuM1xmb250PTBwdCB9Ci0KICUgVHlwZXNldCBhIGRpbWVuc2lvbiwgZS5nLiwgYGluJyBvciBgcHQnLiAgVGhlIG9ubHkgcmVhc29uIGZvciB0aGUKICUgYXJndW1lbnQgaXMgdG8gbWFrZSB0aGUgaW5wdXQgbG9vayByaWdodDogQGRtbntwdH0gaW5zdGVhZCBvZiBAZG1ue31wdC4KICUKIFxkZWZcZG1uIzF7XHRoaW5zcGFjZSAjMX0KIAotXGRlZlxrYmQjMXtcZGVmXGxvb2t7IzF9XGV4cGFuZGFmdGVyXGtiZGZvb1xsb29rPz9ccGFyfQotCiAlIEBsIHdhcyBuZXZlciBkb2N1bWVudGVkIHRvIG1lYW4gYGBzd2l0Y2ggdG8gdGhlIExpc3AgZm9udCcnLAogJSBhbmQgaXQgaXMgbm90IHVzZWQgYXMgc3VjaCBpbiBhbnkgbWFudWFsIEkgY2FuIGZpbmQuICBXZSBuZWVkIGl0IGZvcgogJSBQb2xpc2ggc3VwcHJlc3NlZC1sLiAgLS1rYXJsLCAyMnNlcDk2LgogJVxkZWZcbCMxe3tcbGkgIzF9XG51bGx9CiAKLSUgRXhwbGljaXQgZm9udCBjaGFuZ2VzOiBAciwgQHNjLCB1bmRvY3VtZW50ZWQgQGlpLgotXGRlZlxyIzF7e1xybSAjMX19ICAgICAgICAgICAgICAlIHJvbWFuIGZvbnQKLVxkZWZcc2MjMXt7XHNtYWxsY2FwcyMxfX0gICAgICAgJSBzbWFsbGNhcHMgZm9udAotXGRlZlxpaSMxe3tcaXQgIzF9fSAgICAgICAgICAgICAlIGl0YWxpYyBmb250CislIEBhY3JvbnltIGZvciAiRkJJIiwgIk5BVE8iLCBhbmQgdGhlIGxpa2UuCislIFdlIHByaW50IHRoaXMgb25lIHBvaW50IHNpemUgc21hbGxlciwgc2luY2UgaXQncyBpbnRlbmRlZCBmb3IKKyUgYWxsLXVwcGVyY2FzZS4KKyUgCitcZGVmXGFjcm9ueW0jMXtcZG9hY3JvbnltICMxLCxcZmluaXNofQorXGRlZlxkb2Fjcm9ueW0jMSwjMiwjM1xmaW5pc2h7JQorICB7XHNlbGVjdGZvbnRzXGxzaXplICMxfSUKKyAgXGRlZlx0ZW1weyMyfSUKKyAgXGlmeFx0ZW1wXGVtcHR5IFxlbHNlCisgICAgXHNwYWNlICh7XHVuc2Vwc3BhY2VzIFxpZ25vcmVzcGFjZXMgXHRlbXAgXHVuc2tpcH0pJQorICBcZmkKK30KIAotJSBAYWNyb255bSBkb3duY2FzZXMgdGhlIGFyZ3VtZW50IGFuZCBwcmludHMgaW4gc21hbGxjYXBzLgotXGRlZlxhY3JvbnltIzF7e1xzbWFsbGNhcHMgXGxvd2VyY2FzZXsjMX19fQorJSBAYWJiciBmb3IgIkNvbXB1dC4gSi4iIGFuZCB0aGUgbGlrZS4KKyUgTm8gZm9udCBjaGFuZ2UsIGJ1dCBkb24ndCBkbyBlbmQtb2Ytc2VudGVuY2Ugc3BhY2luZy4KKyUgCitcZGVmXGFiYnIjMXtcZG9hYmJyICMxLCxcZmluaXNofQorXGRlZlxkb2FiYnIjMSwjMiwjM1xmaW5pc2h7JQorICB7XHBsYWluZnJlbmNoc3BhY2luZyAjMX0lCisgIFxkZWZcdGVtcHsjMn0lCisgIFxpZnhcdGVtcFxlbXB0eSBcZWxzZQorICAgIFxzcGFjZSAoe1x1bnNlcHNwYWNlcyBcaWdub3Jlc3BhY2VzIFx0ZW1wIFx1bnNraXB9KSUKKyAgXGZpCit9CiAKLSUgQHBvdW5kc3t9IGlzIGEgc3Rlcmxpbmcgc2lnbi4KKworXG1lc3NhZ2V7Z2x5cGhzLH0KKworJSBAcG9pbnR7fSwgQHJlc3VsdHt9LCBAZXhwYW5zaW9ue30sIEBwcmludHt9LCBAZXF1aXZ7fS4KKyUKKyUgU2luY2UgdGhlc2UgY2hhcmFjdGVycyBhcmUgdXNlZCBpbiBleGFtcGxlcywgdGhleSBzaG91bGQgYmUgYW4gZXZlbiBudW1iZXIgb2YKKyUgXHR0IHdpZHRocy4gRWFjaCBcdHQgY2hhcmFjdGVyIGlzIDFlbiwgc28gdHdvIG1ha2VzIGl0IDFlbS4KKyUKK1xkZWZccG9pbnR7JFxzdGFyJH0KK1xkZWZcYXJyb3d7XGxlYXZldm1vZGVccmFpc2UuMDVleFxoYm94IHRvIDFlbXtcaGZpbCRccmlnaHRhcnJvdyRcaGZpbH19CitcZGVmXHJlc3VsdHtcbGVhdmV2bW9kZVxyYWlzZS4wNWV4XGhib3ggdG8gMWVte1xoZmlsJFxSaWdodGFycm93JFxoZmlsfX0KK1xkZWZcZXhwYW5zaW9ue1xsZWF2ZXZtb2RlXGhib3ggdG8gMWVte1xoZmlsJFxtYXBzdG8kXGhmaWx9fQorXGRlZlxwcmludHtcbGVhdmV2bW9kZVxsb3dlci4xZXhcaGJveCB0byAxZW17XGhmaWwkXGRhc2h2JFxoZmlsfX0KK1xkZWZcZXF1aXZ7XGxlYXZldm1vZGVcaGJveCB0byAxZW17XGhmaWwkXHB0ZXhlcXVpdiRcaGZpbH19CisKKyUgVGhlIEBlcnJvcnt9IGNvbW1hbmQuCislIEFkYXB0ZWQgZnJvbSB0aGUgVGVYYm9vaydzIFxib3hpdC4KKyUKK1xuZXdib3hcZXJyb3Jib3gKKyUKK3tcdGVudHQgXGdsb2JhbFxkaW1lbjAgPSAzZW19JSBXaWR0aCBvZiB0aGUgYm94LgorXGRpbWVuMiA9IC41NXB0ICUgVGhpY2tuZXNzIG9mIHJ1bGVzCislIFRoZSB0ZXh0LiAoYHInIGlzIG9wZW4gb24gdGhlIHJpZ2h0LCBgZScgc29tZXdoYXQgbGVzcyBzbyBvbiB0aGUgbGVmdC4pCitcc2V0Ym94MCA9IFxoYm94e1xrZXJuLS43NXB0IFxyZWR1Y2Vkc2YgZXJyb3Jca2Vybi0xLjVwdH0KKyUKK1xzZXRib3hcZXJyb3Jib3g9XGhib3ggdG8gXGRpbWVuMHtcaGZpbAorICAgXGhzaXplID0gXGRpbWVuMCBcYWR2YW5jZVxoc2l6ZSBieSAtNS44cHQgJSBTcGFjZSB0byBsZWZ0K3JpZ2h0LgorICAgXGFkdmFuY2VcaHNpemUgYnkgLTJcZGltZW4yICUgUnVsZXMuCisgICBcdmJveHslCisgICAgICBcaHJ1bGUgaGVpZ2h0XGRpbWVuMgorICAgICAgXGhib3h7XHZydWxlIHdpZHRoXGRpbWVuMiBca2VybjNwdCAgICAgICAgICAlIFNwYWNlIHRvIGxlZnQgb2YgdGV4dC4KKyAgICAgICAgIFx2dG9we1xrZXJuMi40cHQgXGJveDAgXGtlcm4yLjRwdH0lIFNwYWNlIGFib3ZlL2JlbG93LgorICAgICAgICAgXGtlcm4zcHRcdnJ1bGUgd2lkdGhcZGltZW4yfSUgU3BhY2UgdG8gcmlnaHQuCisgICAgICBcaHJ1bGUgaGVpZ2h0XGRpbWVuMn0KKyAgICBcaGZpbH0KKyUKK1xkZWZcZXJyb3J7XGxlYXZldm1vZGVcbG93ZXIuN2V4XGNvcHlcZXJyb3Jib3h9CisKKyUgQHBvdW5kc3t9IGlzIGEgc3Rlcmxpbmcgc2lnbiwgd2hpY2ggS251dGggcHV0IGluIHRoZSBDTSBpdGFsaWMgZm9udC4KKyUKIFxkZWZccG91bmRze3tcaXRcJH19CiAKKyUgQGV1cm97fSBjb21lcyBmcm9tIGEgc2VwYXJhdGUgZm9udCwgZGVwZW5kaW5nIG9uIHRoZSBjdXJyZW50IHN0eWxlLgorJSBXZSB1c2UgdGhlIGZyZWUgZmV5bSogZm9udHMgZnJvbSB0aGUgZXVyb3N5bSBwYWNrYWdlIGJ5IEhlbnJpaworJSBUaGVpbGluZywgd2hpY2ggc3VwcG9ydCByZWd1bGFyLCBzbGFudGVkLCBib2xkIGFuZCBib2xkIHNsYW50ZWQgKGFuZAorJSAib3V0bGluZWQiIChibGFja2JvYXJkIGJvYXJkLCBzb3J0IG9mKSB2ZXJzaW9ucywgd2hpY2ggd2UgZG9uJ3QgbmVlZCkuCislIEl0IGlzIGF2YWlsYWJsZSBmcm9tIGh0dHA6Ly93d3cuY3Rhbi5vcmcvdGV4LWFyY2hpdmUvZm9udHMvZXVyb3N5bS4KKyUgCislIEFsdGhvdWdoIG9ubHkgcmVndWxhciBpcyB0aGUgdHJ1bHkgb2ZmaWNpYWwgRXVybyBzeW1ib2wsIHdlIGlnbm9yZQorJSB0aGF0LiAgVGhlIEV1cm8gaXMgZGVzaWduZWQgdG8gYmUgc2xpZ2h0bHkgdGFsbGVyIHRoYW4gdGhlIHJlZ3VsYXIKKyUgZm9udCBoZWlnaHQuCislIAorJSBmZXltciAtIHJlZ3VsYXIKKyUgZmV5bW8gLSBzbGFudGVkCislIGZleWJyIC0gYm9sZAorJSBmZXlibyAtIGJvbGQgc2xhbnRlZAorJSAKKyUgVGhlcmUgaXMgbm8gZ29vZCAoZnJlZSkgdHlwZXdyaXRlciB2ZXJzaW9uLCB0byBteSBrbm93bGVkZ2UuCislIEEgZmV5bXIxMCBldXJvIGlzIH43LjNwdCB3aWRlLCB3aGlsZSBhIG5vcm1hbCBjbXR0MTAgY2hhciBpcyB+NS4yNXB0IHdpZGUuCislIEhtbS4KKyUgCislIEFsc28gZG9lc24ndCB3b3JrIGluIG1hdGguICBEbyB3ZSBuZWVkIHRvIGRvIG1hdGggd2l0aCBldXJvIHN5bWJvbHM/CislIEhvcGUgbm90LgorJSAKKyUgCitcZGVmXGV1cm97e1xldXJvZm9udCBlfX0KK1xkZWZcZXVyb2ZvbnR7JQorICAlIFdlIHNldCB0aGUgZm9udCBhdCBlYWNoIGNvbW1hbmQsIHJhdGhlciB0aGFuIHByZWRlZmluaW5nIGl0IGluCisgICUgXHRleHRmb250cyBhbmQgdGhlIG90aGVyIGZvbnQtc3dpdGNoaW5nIGNvbW1hbmRzLCBzbyB0aGF0CisgICUgaW5zdGFsbGF0aW9ucyB3aGljaCBuZXZlciBuZWVkIHRoZSBzeW1ib2wgZG9uJ3QgaGF2ZSB0byBoYXZlIHRoZQorICAlIGZvbnQgaW5zdGFsbGVkLgorICAlIAorICAlIFRoZXJlIGlzIG9ubHkgb25lIGRlc2lnbmVkIHNpemUgKG5vbWluYWwgMTBwdCksIHNvIHdlIGFsd2F5cyBzY2FsZQorICAlIHRoYXQgdG8gdGhlIGN1cnJlbnQgbm9taW5hbCBzaXplLgorICAlIAorICAlIEJ5IHRoZSB3YXksIHNpbXBseSB1c2luZyAiYXQgMWVtIiB3b3JrcyBmb3IgY21yMTAgYW5kIHRoZSBsaWtlLCBidXQKKyAgJSBkb2VzIG5vdCB3b3JrIGZvciBjbWJ4MTAgYW5kIG90aGVyIGV4dGVuZGVkL3NocnVua2VuIGZvbnRzLgorICAlIAorICBcZGVmXGV1cm9zaXple1xjc25hbWVcY3VyZm9udHNpemUgbm9taW5hbHNpemVcZW5kY3NuYW1lfSUKKyAgJQorICBcaWZ4XGN1cmZvbnRzdHlsZVxiZnN0eWxlbmFtZSAKKyAgICAlIGJvbGQ6CisgICAgXGZvbnRcdGhpc2V1cm9mb250ID0gXGlmdXNpbmdpdHtmZXlibzEwfXtmZXlicjEwfSBhdCBcZXVyb3NpemUKKyAgXGVsc2UgCisgICAgJSByZWd1bGFyOgorICAgIFxmb250XHRoaXNldXJvZm9udCA9IFxpZnVzaW5naXR7ZmV5bW8xMH17ZmV5bXIxMH0gYXQgXGV1cm9zaXplCisgIFxmaQorICBcdGhpc2V1cm9mb250Cit9CisKKyUgSGFja3MgZm9yIGdseXBocyBmcm9tIHRoZSBFQyBmb250cyBzaW1pbGFyIHRvIFxldXJvLiAgV2UgZG9uJ3QKKyUgdXNlIFxsZXQgZm9yIHRoZSBhbGlhc2VzLCBiZWNhdXNlIHNvbWV0aW1lcyB3ZSByZWRlZmluZSB0aGUgb3JpZ2luYWwKKyUgbWFjcm8sIGFuZCB0aGUgYWxpYXMgc2hvdWxkIHJlZmxlY3QgdGhlIHJlZGVmaW5pdGlvbi4KK1xkZWZcZ3VpbGxlbWV0bGVmdHt7XGVjZm9udCBcY2hhciIxM319CitcZGVmXGd1aWxsZW1vdGxlZnR7XGd1aWxsZW1ldGxlZnR9CitcZGVmXGd1aWxsZW1ldHJpZ2h0e3tcZWNmb250IFxjaGFyIjE0fX0KK1xkZWZcZ3VpbGxlbW90cmlnaHR7XGd1aWxsZW1ldHJpZ2h0fQorXGRlZlxndWlsc2luZ2xsZWZ0e3tcZWNmb250IFxjaGFyIjBFfX0KK1xkZWZcZ3VpbHNpbmdscmlnaHR7e1xlY2ZvbnQgXGNoYXIiMEZ9fQorXGRlZlxxdW90ZWRibGJhc2V7e1xlY2ZvbnQgXGNoYXIiMTJ9fQorXGRlZlxxdW90ZXNpbmdsYmFzZXt7XGVjZm9udCBcY2hhciIwRH19CislCislIFRoaXMgcG9zaXRpb25pbmcgaXMgbm90IHBlcmZlY3QgKHNlZSB0aGUgb2dvbmVrIExhVGVYIHBhY2thZ2UpLCBidXQKKyUgd2UgaGF2ZSB0aGUgcHJlY29tcG9zZWQgZ2x5cGhzIGZvciB0aGUgbW9zdCBjb21tb24gY2FzZXMuICBXZSBwdXQgdGhlCislIHRlc3RzIHRvIHVzZSB0aG9zZSBnbHlwaHMgaW4gdGhlIHNpbmdsZSBcb2dvbmVrIG1hY3JvIHNvIHdlIGhhdmUgZmV3ZXIKKyUgZHVtbXkgZGVmaW5pdGlvbnMgdG8gd29ycnkgYWJvdXQgZm9yIGluZGV4IGVudHJpZXMsIGV0Yy4KKyUgCislIG9nb25layBpcyBhbHNvIHVzZWQgd2l0aCBvdGhlciBsZXR0ZXJzIGluIExpdGh1YW5pYW4gKElPVSksIGJ1dCB1c2luZworJSB0aGUgcHJlY29tcG9zZWQgZ2x5cGhzIGZvciB0aG9zZSBpcyBub3Qgc28gZWFzeSBzaW5jZSB0aGV5IGFyZW4ndCBpbgorJSB0aGUgc2FtZSBFQyBmb250LgorXGRlZlxvZ29uZWsjMXt7JQorICBcZGVmXHRlbXB7IzF9JQorICBcaWZ4XHRlbXBcbWFjcm9jaGFyQVxBb2dvbmVrCisgIFxlbHNlXGlmeFx0ZW1wXG1hY3JvY2hhcmFcYW9nb25laworICBcZWxzZVxpZnhcdGVtcFxtYWNyb2NoYXJFXEVvZ29uZWsKKyAgXGVsc2VcaWZ4XHRlbXBcbWFjcm9jaGFyZVxlb2dvbmVrCisgIFxlbHNlCisgICAgXGVjZm9udCBcc2V0Ym94MD1caGJveHsjMX0lCisgICAgXGlmZGltXGh0MD0xZXhcYWNjZW50IjBDICMxJQorICAgIFxlbHNlXG9vYWxpZ257XHVuaGJveDBcY3JjclxoaWRld2lkdGhcY2hhciIwQyBcaGlkZXdpZHRofSUKKyAgICBcZmkKKyAgXGZpXGZpXGZpXGZpCisgIH0lCit9CitcZGVmXEFvZ29uZWt7e1xlY2ZvbnQgXGNoYXIiODF9fVxkZWZcbWFjcm9jaGFyQXtBfQorXGRlZlxhb2dvbmVre3tcZWNmb250IFxjaGFyIkExfX1cZGVmXG1hY3JvY2hhcmF7YX0KK1xkZWZcRW9nb25la3t7XGVjZm9udCBcY2hhciI4Nn19XGRlZlxtYWNyb2NoYXJFe0V9CitcZGVmXGVvZ29uZWt7e1xlY2ZvbnQgXGNoYXIiQTZ9fVxkZWZcbWFjcm9jaGFyZXtlfQorJQorXGRlZlxlY2ZvbnR7JQorICAlIFdlIGNhbid0IGRpc3Rpbmd1aXNoIHNlcmlmL3NhbnMgYW5kIGl0YWxpYy9zbGFudGVkLCBidXQgdGhpcworICAlIGlzIHVzZWQgZm9yIGNydWRlIGhhY2tzIGFueXdheSAobGlrZSBhZGRpbmcgRnJlbmNoIGFuZCBHZXJtYW4KKyAgJSBxdW90ZXMgdG8gZG9jdW1lbnRzIHR5cGVzZXQgd2l0aCBDTSwgd2hlcmUgd2UgbG9zZSBrZXJuaW5nKSwgc28KKyAgJSBob3BlZnVsbHkgbm9ib2R5IHdpbGwgbm90aWNlL2NhcmUuCisgIFxlZGVmXGVjc2l6ZXtcY3NuYW1lXGN1cmZvbnRzaXplIGVjc2l6ZVxlbmRjc25hbWV9JQorICBcZWRlZlxub21pbmFsc2l6ZXtcY3NuYW1lXGN1cmZvbnRzaXplIG5vbWluYWxzaXplXGVuZGNzbmFtZX0lCisgIFxpZnhcY3VyZm9udHN0eWxlXGJmc3R5bGVuYW1lCisgICAgJSBib2xkOgorICAgIFxmb250XHRoaXNlY2ZvbnQgPSBlY2JcaWZ1c2luZ2l0e2l9e3h9XGVjc2l6ZSBcc3BhY2UgYXQgXG5vbWluYWxzaXplCisgIFxlbHNlCisgICAgJSByZWd1bGFyOgorICAgIFxmb250XHRoaXNlY2ZvbnQgPSBlY1xpZnVzaW5naXR7dGl9e3JtfVxlY3NpemUgXHNwYWNlIGF0IFxub21pbmFsc2l6ZQorICBcZmkKKyAgXHRoaXNlY2ZvbnQKK30KKworJSBAcmVnaXN0ZXJlZHN5bWJvbCAtIFIgaW4gYSBjaXJjbGUuICBUaGUgZm9udCBmb3IgdGhlIFIgc2hvdWxkIHJlYWxseQorJSBiZSBzbWFsbGVyIHlldCwgYnV0IGxsbHNpemUgaXMgdGhlIGJlc3Qgd2UgY2FuIGRvIGZvciBub3cuCislIEFkYXB0ZWQgZnJvbSB0aGUgcGxhaW4udGV4IGRlZmluaXRpb24gb2YgXGNvcHlyaWdodC4KKyUKK1xkZWZccmVnaXN0ZXJlZHN5bWJvbHslCisgICRee3tcb29hbGlnbntcaGZpbFxyYWlzZS4wN2V4XGhib3h7XHNlbGVjdGZvbnRzXGxsbHNpemUgUn0lCisgICAgICAgICAgICAgICBcaGZpbFxjcmNyXE9yYn19JQorICAgIH0kJQorfQorCislIEB0ZXh0ZGVncmVlIC0gdGhlIG5vcm1hbCBkZWdyZWVzIHNpZ24uCislCitcZGVmXHRleHRkZWdyZWV7JF5cY2lyYyR9CisKKyUgTGF1cmVudCBTaWViZW5tYW5uIHJlcG9ydHMgXE9yYiB1bmRlZmluZWQgd2l0aDoKKyUgIFRleHR1cmVzIDEuNy43IChwcmVsb2FkZWQgZm9ybWF0PXBsYWluIDkzLjEwLjE0KSAgKDY4SykgIDE2IEFQUiAyMDA0IDAyOjM4CislIHNvIHdlJ2xsIGRlZmluZSBpdCBpZiBuZWNlc3NhcnkuCislIAorXGlmeFxPcmJcdW5kZWZpbmVkCitcZGVmXE9yYntcbWF0aGhleGJveDIwRH0KK1xmaQorCislIFF1b3Rlcy4KK1xjaGFyZGVmXHF1b3RlZGJsbGVmdD0iNUMKK1xjaGFyZGVmXHF1b3RlZGJscmlnaHQ9YFwiCitcY2hhcmRlZlxxdW90ZWxlZnQ9YFxgCitcY2hhcmRlZlxxdW90ZXJpZ2h0PWBcJworCiAKIFxtZXNzYWdle3BhZ2UgaGVhZGluZ3MsfQogCkBAIC0xNjc3LDg3ICszMDA4LDEwMCBAQAogXG5ld2lmXGlmc2V0c2hvcnRjb250ZW50c2FmdGVydGl0bGVwYWdlCiAgXGxldFxzZXRzaG9ydGNvbnRlbnRzYWZ0ZXJ0aXRsZXBhZ2UgPSBcc2V0c2hvcnRjb250ZW50c2FmdGVydGl0bGVwYWdldHJ1ZQogCi1cZGVmXHNob3J0dGl0bGVwYWdle1xwYXJzZWFyZ1xzaG9ydHRpdGxlcGFnZXp6en0KLVxkZWZcc2hvcnR0aXRsZXBhZ2V6enogIzF7XGJlZ2luZ3JvdXBcaGJveHt9XHZza2lwIDEuNWluIFxjaGFwcm0gXGNlbnRlcmxpbmV7IzF9JQorXHBhcnNlYXJnZGVmXHNob3J0dGl0bGVwYWdle1xiZWdpbmdyb3VwXGhib3h7fVx2c2tpcCAxLjVpbiBcY2hhcHJtIFxjZW50ZXJsaW5leyMxfSUKICAgICAgICAgXGVuZGdyb3VwXHBhZ2VcaGJveHt9XHBhZ2V9CiAKLVxkZWZcdGl0bGVwYWdle1xiZWdpbmdyb3VwIFxwYXJpbmRlbnQ9MHB0IFx0ZXh0Zm9udHMKLSAgIFxsZXRcc3VidGl0bGVybT1cdGVucm0KLSAgIFxkZWZcc3VidGl0bGVmb250e1xzdWJ0aXRsZXJtIFxub3JtYWxiYXNlbGluZXNraXAgPSAxM3B0IFxub3JtYWxiYXNlbGluZXN9JQotICAgJQotICAgXGRlZlxhdXRob3Jmb250e1xhdXRob3JybSBcbm9ybWFsYmFzZWxpbmVza2lwID0gMTZwdCBcbm9ybWFsYmFzZWxpbmVzCi0gICAgICAgICAgICAgICAgICAgXGxldFx0dD1cYXV0aG9ydHR9JQotICAgJQotICAgJSBMZWF2ZSBzb21lIHNwYWNlIGF0IHRoZSB2ZXJ5IHRvcCBvZiB0aGUgcGFnZS4KLSAgIFx2Z2x1ZVx0aXRsZXBhZ2V0b3BnbHVlCi0gICAlCi0gICAlIE5vdyB5b3UgY2FuIHByaW50IHRoZSB0aXRsZSB1c2luZyBAdGl0bGUuCi0gICBcZGVmXHRpdGxle1xwYXJzZWFyZ1x0aXRsZXp6en0lCi0gICBcZGVmXHRpdGxlenp6IyMxe1xsZWZ0bGluZXtcdGl0bGVmb250c1xybSAjIzF9Ci0gICAgICAgICAgICAgICAgICAgICUgcHJpbnQgYSBydWxlIGF0IHRoZSBwYWdlIGJvdHRvbSBhbHNvLgotICAgICAgICAgICAgICAgICAgICBcZmluaXNoZWR0aXRsZXBhZ2VmYWxzZQotICAgICAgICAgICAgICAgICAgICBcdnNraXA0cHQgXGhydWxlIGhlaWdodCA0cHQgd2lkdGggXGhzaXplIFx2c2tpcDRwdH0lCi0gICAlIE5vIHJ1bGUgYXQgcGFnZSBib3R0b20gdW5sZXNzIHdlIHByaW50IG9uZSBhdCB0aGUgdG9wIHdpdGggQHRpdGxlLgotICAgXGZpbmlzaGVkdGl0bGVwYWdldHJ1ZQotICAgJQotICAgJSBOb3cgeW91IGNhbiBwdXQgdGV4dCB1c2luZyBAc3VidGl0bGUuCi0gICBcZGVmXHN1YnRpdGxle1xwYXJzZWFyZ1xzdWJ0aXRsZXp6en0lCi0gICBcZGVmXHN1YnRpdGxlenp6IyMxe3tcc3VidGl0bGVmb250IFxyaWdodGxpbmV7IyMxfX19JQotICAgJQotICAgJSBAYXV0aG9yIHNob3VsZCBjb21lIGxhc3QsIGJ1dCBtYXkgY29tZSBtYW55IHRpbWVzLgotICAgXGRlZlxhdXRob3J7XHBhcnNlYXJnXGF1dGhvcnp6en0lCi0gICBcZGVmXGF1dGhvcnp6eiMjMXtcaWZzZWVuYXV0aG9yXGVsc2VcdnNraXAgMHB0IHBsdXMgMWZpbGxsXHNlZW5hdXRob3J0cnVlXGZpCi0gICAgICB7XGF1dGhvcmZvbnQgXGxlZnRsaW5leyMjMX19fSUKLSAgICUKLSAgICUgTW9zdCB0aXRsZSBgYHBhZ2VzJycgYXJlIGFjdHVhbGx5IHR3byBwYWdlcyBsb25nLCB3aXRoIHNwYWNlCi0gICAlIGF0IHRoZSB0b3Agb2YgdGhlIHNlY29uZC4gIFdlIGRvbid0IHdhbnQgdGhlIHJhZ2dlZCBsZWZ0IG9uIHRoZSBzZWNvbmQuCi0gICBcbGV0XG9sZHBhZ2UgPSBccGFnZQotICAgXGRlZlxwYWdleyUKK1xlbnZkZWZcdGl0bGVwYWdleyUKKyAgJSBPcGVuIG9uZSBleHRyYSBncm91cCwgYXMgd2Ugd2FudCB0byBjbG9zZSBpdCBpbiB0aGUgbWlkZGxlIG9mIFxFdGl0bGVwYWdlLgorICBcYmVnaW5ncm91cAorICAgIFxwYXJpbmRlbnQ9MHB0IFx0ZXh0Zm9udHMKKyAgICAlIExlYXZlIHNvbWUgc3BhY2UgYXQgdGhlIHZlcnkgdG9wIG9mIHRoZSBwYWdlLgorICAgIFx2Z2x1ZVx0aXRsZXBhZ2V0b3BnbHVlCisgICAgJSBObyBydWxlIGF0IHBhZ2UgYm90dG9tIHVubGVzcyB3ZSBwcmludCBvbmUgYXQgdGhlIHRvcCB3aXRoIEB0aXRsZS4KKyAgICBcZmluaXNoZWR0aXRsZXBhZ2V0cnVlCisgICAgJQorICAgICUgTW9zdCB0aXRsZSBgYHBhZ2VzJycgYXJlIGFjdHVhbGx5IHR3byBwYWdlcyBsb25nLCB3aXRoIHNwYWNlCisgICAgJSBhdCB0aGUgdG9wIG9mIHRoZSBzZWNvbmQuICBXZSBkb24ndCB3YW50IHRoZSByYWdnZWQgbGVmdCBvbiB0aGUgc2Vjb25kLgorICAgIFxsZXRcb2xkcGFnZSA9IFxwYWdlCisgICAgXGRlZlxwYWdleyUKICAgICAgIFxpZmZpbmlzaGVkdGl0bGVwYWdlXGVsc2UKLSAgICAgICAgIFxmaW5pc2h0aXRsZXBhZ2UKKwkgXGZpbmlzaHRpdGxlcGFnZQogICAgICAgXGZpCi0gICAgICBcb2xkcGFnZQogICAgICAgXGxldFxwYWdlID0gXG9sZHBhZ2UKLSAgICAgIFxoYm94e319JQotJSAgIFxkZWZccGFnZXtcb2xkcGFnZSBcaGJveHt9fQorICAgICAgXHBhZ2UKKyAgICAgIFxudWxsCisgICAgfSUKIH0KIAogXGRlZlxFdGl0bGVwYWdleyUKLSAgIFxpZmZpbmlzaGVkdGl0bGVwYWdlXGVsc2UKLSAgICAgIFxmaW5pc2h0aXRsZXBhZ2UKLSAgIFxmaQotICAgJSBJdCBpcyBpbXBvcnRhbnQgdG8gZG8gdGhlIHBhZ2UgYnJlYWsgYmVmb3JlIGVuZGluZyB0aGUgZ3JvdXAsCi0gICAlIGJlY2F1c2UgdGhlIGhlYWRsaW5lIGFuZCBmb290bGluZSBhcmUgb25seSBlbXB0eSBpbnNpZGUgdGhlIGdyb3VwLgotICAgJSBJZiB3ZSB1c2UgdGhlIG5ldyBkZWZpbml0aW9uIG9mIFxwYWdlLCB3ZSBhbHdheXMgZ2V0IGEgYmxhbmsgcGFnZQotICAgJSBhZnRlciB0aGUgdGl0bGUgcGFnZSwgd2hpY2ggd2UgY2VydGFpbmx5IGRvbid0IHdhbnQuCi0gICBcb2xkcGFnZQotICAgXGVuZGdyb3VwCi0gICAlCi0gICAlIE5lZWQgdGhpcyBiZWZvcmUgdGhlIFwuLi5hZnRlcnRpdGxlcGFnZSBjaGVja3Mgc28gdGhhdCBpZiB0aGV5IGFyZQotICAgJSBpbiBlZmZlY3QgdGhlIHRvYyBwYWdlcyB3aWxsIGNvbWUgb3V0IHdpdGggcGFnZSBudW1iZXJzLgotICAgXEhFQURJTkdTb24KLSAgICUKLSAgICUgSWYgdGhleSB3YW50IHNob3J0LCB0aGV5IGNlcnRhaW5seSB3YW50IGxvbmcgdG9vLgotICAgXGlmc2V0c2hvcnRjb250ZW50c2FmdGVydGl0bGVwYWdlCi0gICAgIFxzaG9ydGNvbnRlbnRzCi0gICAgIFxjb250ZW50cwotICAgICBcZ2xvYmFsXGxldFxzaG9ydGNvbnRlbnRzID0gXHJlbGF4Ci0gICAgIFxnbG9iYWxcbGV0XGNvbnRlbnRzID0gXHJlbGF4Ci0gICBcZmkKLSAgICUKLSAgIFxpZnNldGNvbnRlbnRzYWZ0ZXJ0aXRsZXBhZ2UKLSAgICAgXGNvbnRlbnRzCi0gICAgIFxnbG9iYWxcbGV0XGNvbnRlbnRzID0gXHJlbGF4Ci0gICAgIFxnbG9iYWxcbGV0XHNob3J0Y29udGVudHMgPSBccmVsYXgKLSAgIFxmaQorICAgIFxpZmZpbmlzaGVkdGl0bGVwYWdlXGVsc2UKKwlcZmluaXNodGl0bGVwYWdlCisgICAgXGZpCisgICAgJSBJdCBpcyBpbXBvcnRhbnQgdG8gZG8gdGhlIHBhZ2UgYnJlYWsgYmVmb3JlIGVuZGluZyB0aGUgZ3JvdXAsCisgICAgJSBiZWNhdXNlIHRoZSBoZWFkbGluZSBhbmQgZm9vdGxpbmUgYXJlIG9ubHkgZW1wdHkgaW5zaWRlIHRoZSBncm91cC4KKyAgICAlIElmIHdlIHVzZSB0aGUgbmV3IGRlZmluaXRpb24gb2YgXHBhZ2UsIHdlIGFsd2F5cyBnZXQgYSBibGFuayBwYWdlCisgICAgJSBhZnRlciB0aGUgdGl0bGUgcGFnZSwgd2hpY2ggd2UgY2VydGFpbmx5IGRvbid0IHdhbnQuCisgICAgXG9sZHBhZ2UKKyAgXGVuZGdyb3VwCisgICUKKyAgJSBOZWVkIHRoaXMgYmVmb3JlIHRoZSBcLi4uYWZ0ZXJ0aXRsZXBhZ2UgY2hlY2tzIHNvIHRoYXQgaWYgdGhleSBhcmUKKyAgJSBpbiBlZmZlY3QgdGhlIHRvYyBwYWdlcyB3aWxsIGNvbWUgb3V0IHdpdGggcGFnZSBudW1iZXJzLgorICBcSEVBRElOR1NvbgorICAlCisgICUgSWYgdGhleSB3YW50IHNob3J0LCB0aGV5IGNlcnRhaW5seSB3YW50IGxvbmcgdG9vLgorICBcaWZzZXRzaG9ydGNvbnRlbnRzYWZ0ZXJ0aXRsZXBhZ2UKKyAgICBcc2hvcnRjb250ZW50cworICAgIFxjb250ZW50cworICAgIFxnbG9iYWxcbGV0XHNob3J0Y29udGVudHMgPSBccmVsYXgKKyAgICBcZ2xvYmFsXGxldFxjb250ZW50cyA9IFxyZWxheAorICBcZmkKKyAgJQorICBcaWZzZXRjb250ZW50c2FmdGVydGl0bGVwYWdlCisgICAgXGNvbnRlbnRzCisgICAgXGdsb2JhbFxsZXRcY29udGVudHMgPSBccmVsYXgKKyAgICBcZ2xvYmFsXGxldFxzaG9ydGNvbnRlbnRzID0gXHJlbGF4CisgIFxmaQogfQogCiBcZGVmXGZpbmlzaHRpdGxlcGFnZXslCi0gICBcdnNraXA0cHQgXGhydWxlIGhlaWdodCAycHQgd2lkdGggXGhzaXplCi0gICBcdnNraXBcdGl0bGVwYWdlYm90dG9tZ2x1ZQotICAgXGZpbmlzaGVkdGl0bGVwYWdldHJ1ZQorICBcdnNraXA0cHQgXGhydWxlIGhlaWdodCAycHQgd2lkdGggXGhzaXplCisgIFx2c2tpcFx0aXRsZXBhZ2Vib3R0b21nbHVlCisgIFxmaW5pc2hlZHRpdGxlcGFnZXRydWUKIH0KIAorJSUlIE1hY3JvcyB0byBiZSB1c2VkIHdpdGhpbiBAdGl0bGVwYWdlOgorCitcbGV0XHN1YnRpdGxlcm09XHRlbnJtCitcZGVmXHN1YnRpdGxlZm9udHtcc3VidGl0bGVybSBcbm9ybWFsYmFzZWxpbmVza2lwID0gMTNwdCBcbm9ybWFsYmFzZWxpbmVzfQorCitccGFyc2VhcmdkZWZcdGl0bGV7JQorICBcY2hlY2tlbnZcdGl0bGVwYWdlCisgIFxsZWZ0bGluZXtcdGl0bGVmb250c1xybWlzYm9sZCAjMX0KKyAgJSBwcmludCBhIHJ1bGUgYXQgdGhlIHBhZ2UgYm90dG9tIGFsc28uCisgIFxmaW5pc2hlZHRpdGxlcGFnZWZhbHNlCisgIFx2c2tpcDRwdCBcaHJ1bGUgaGVpZ2h0IDRwdCB3aWR0aCBcaHNpemUgXHZza2lwNHB0Cit9CisKK1xwYXJzZWFyZ2RlZlxzdWJ0aXRsZXslCisgIFxjaGVja2Vudlx0aXRsZXBhZ2UKKyAge1xzdWJ0aXRsZWZvbnQgXHJpZ2h0bGluZXsjMX19JQorfQorCislIEBhdXRob3Igc2hvdWxkIGNvbWUgbGFzdCwgYnV0IG1heSBjb21lIG1hbnkgdGltZXMuCislIEl0IGNhbiBhbHNvIGJlIHVzZWQgaW5zaWRlIEBxdW90YXRpb24uCislCitccGFyc2VhcmdkZWZcYXV0aG9yeyUKKyAgXGRlZlx0ZW1we1xxdW90YXRpb259JQorICBcaWZ4XHRoaXNlbnZcdGVtcAorICAgIFxkZWZccXVvdGF0aW9uYXV0aG9yeyMxfSUgcHJpbnRlZCBpbiBcRXF1b3RhdGlvbi4KKyAgXGVsc2UKKyAgICBcY2hlY2tlbnZcdGl0bGVwYWdlCisgICAgXGlmc2VlbmF1dGhvclxlbHNlIFx2c2tpcCAwcHQgcGx1cyAxZmlsbGwgXHNlZW5hdXRob3J0cnVlIFxmaQorICAgIHtcc2VjZm9udHNccm1pc2JvbGQgXGxlZnRsaW5leyMxfX0lCisgIFxmaQorfQorCisKICUlJSBTZXQgdXAgcGFnZSBoZWFkaW5ncyBhbmQgZm9vdGluZ3MuCiAKIFxsZXRcdGhpc3BhZ2U9XGZvbGlvCkBAIC0xNzY3LDcgKzMxMTEsNyBAQAogXG5ld3Rva3NcZXZlbmZvb3RsaW5lICAgICUgZm9vdGxpbmUgb24gZXZlbiBwYWdlcwogXG5ld3Rva3Ncb2RkZm9vdGxpbmUgICAgICUgZm9vdGxpbmUgb24gb2RkIHBhZ2VzCiAKLSUgTm93IG1ha2UgVGV4IHVzZSB0aG9zZSB2YXJpYWJsZXMKKyUgTm93IG1ha2UgVGVYIHVzZSB0aG9zZSB2YXJpYWJsZXMKIFxoZWFkbGluZT17e1x0ZXh0Zm9udHNccm0gXGlmb2RkXHBhZ2VubyBcdGhlXG9kZGhlYWRsaW5lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXGVsc2UgXHRoZVxldmVuaGVhZGxpbmUgXGZpfX0KIFxmb290bGluZT17e1x0ZXh0Zm9udHNccm0gXGlmb2RkXHBhZ2VubyBcdGhlXG9kZGZvb3RsaW5lCkBAIC0xNzgxLDQzICszMTI1LDY0IEBACiAlIEBldmVuZm9vdGluZyBAdGhpc2ZpbGV8fAogJSBAb2RkZm9vdGluZyB8fEB0aGlzZmlsZQogCisKIFxkZWZcZXZlbmhlYWRpbmd7XHBhcnNlYXJnXGV2ZW5oZWFkaW5neHh4fQotXGRlZlxvZGRoZWFkaW5ne1xwYXJzZWFyZ1xvZGRoZWFkaW5neHh4fQotXGRlZlxldmVyeWhlYWRpbmd7XHBhcnNlYXJnXGV2ZXJ5aGVhZGluZ3h4eH0KLQotXGRlZlxldmVuZm9vdGluZ3tccGFyc2VhcmdcZXZlbmZvb3Rpbmd4eHh9Ci1cZGVmXG9kZGZvb3Rpbmd7XHBhcnNlYXJnXG9kZGZvb3Rpbmd4eHh9Ci1cZGVmXGV2ZXJ5Zm9vdGluZ3tccGFyc2VhcmdcZXZlcnlmb290aW5neHh4fQotCi17XGNhdGNvZGVgXEA9MCAlCi0KLVxnZGVmXGV2ZW5oZWFkaW5neHh4ICMxe1xldmVuaGVhZGluZ3l5eSAjMUB8QHxAfEB8XGZpbmlzaH0KLVxnZGVmXGV2ZW5oZWFkaW5neXl5ICMxQHwjMkB8IzNAfCM0XGZpbmlzaHslCitcZGVmXGV2ZW5oZWFkaW5neHh4ICMxe1xldmVuaGVhZGluZ3l5eSAjMVx8XHxcfFx8XGZpbmlzaH0KK1xkZWZcZXZlbmhlYWRpbmd5eXkgIzFcfCMyXHwjM1x8IzRcZmluaXNoeyUKIFxnbG9iYWxcZXZlbmhlYWRsaW5lPXtccmxhcHtcY2VudGVybGluZXsjMn19XGxpbmV7IzFcaGZpbCMzfX19CiAKLVxnZGVmXG9kZGhlYWRpbmd4eHggIzF7XG9kZGhlYWRpbmd5eXkgIzFAfEB8QHxAfFxmaW5pc2h9Ci1cZ2RlZlxvZGRoZWFkaW5neXl5ICMxQHwjMkB8IzNAfCM0XGZpbmlzaHslCitcZGVmXG9kZGhlYWRpbmd7XHBhcnNlYXJnXG9kZGhlYWRpbmd4eHh9CitcZGVmXG9kZGhlYWRpbmd4eHggIzF7XG9kZGhlYWRpbmd5eXkgIzFcfFx8XHxcfFxmaW5pc2h9CitcZGVmXG9kZGhlYWRpbmd5eXkgIzFcfCMyXHwjM1x8IzRcZmluaXNoeyUKIFxnbG9iYWxcb2RkaGVhZGxpbmU9e1xybGFwe1xjZW50ZXJsaW5leyMyfX1cbGluZXsjMVxoZmlsIzN9fX0KIAotXGdkZWZcZXZlcnloZWFkaW5neHh4IzF7XG9kZGhlYWRpbmd4eHh7IzF9XGV2ZW5oZWFkaW5neHh4eyMxfX0lCitccGFyc2VhcmdkZWZcZXZlcnloZWFkaW5ne1xvZGRoZWFkaW5neHh4eyMxfVxldmVuaGVhZGluZ3h4eHsjMX19JQogCi1cZ2RlZlxldmVuZm9vdGluZ3h4eCAjMXtcZXZlbmZvb3Rpbmd5eXkgIzFAfEB8QHxAfFxmaW5pc2h9Ci1cZ2RlZlxldmVuZm9vdGluZ3l5eSAjMUB8IzJAfCMzQHwjNFxmaW5pc2h7JQorXGRlZlxldmVuZm9vdGluZ3tccGFyc2VhcmdcZXZlbmZvb3Rpbmd4eHh9CitcZGVmXGV2ZW5mb290aW5neHh4ICMxe1xldmVuZm9vdGluZ3l5eSAjMVx8XHxcfFx8XGZpbmlzaH0KK1xkZWZcZXZlbmZvb3Rpbmd5eXkgIzFcfCMyXHwjM1x8IzRcZmluaXNoeyUKIFxnbG9iYWxcZXZlbmZvb3RsaW5lPXtccmxhcHtcY2VudGVybGluZXsjMn19XGxpbmV7IzFcaGZpbCMzfX19CiAKLVxnZGVmXG9kZGZvb3Rpbmd4eHggIzF7XG9kZGZvb3Rpbmd5eXkgIzFAfEB8QHxAfFxmaW5pc2h9Ci1cZ2RlZlxvZGRmb290aW5neXl5ICMxQHwjMkB8IzNAfCM0XGZpbmlzaHslCitcZGVmXG9kZGZvb3Rpbmd7XHBhcnNlYXJnXG9kZGZvb3Rpbmd4eHh9CitcZGVmXG9kZGZvb3Rpbmd4eHggIzF7XG9kZGZvb3Rpbmd5eXkgIzFcfFx8XHxcfFxmaW5pc2h9CitcZGVmXG9kZGZvb3Rpbmd5eXkgIzFcfCMyXHwjM1x8IzRcZmluaXNoeyUKICAgXGdsb2JhbFxvZGRmb290bGluZSA9IHtccmxhcHtcY2VudGVybGluZXsjMn19XGxpbmV7IzFcaGZpbCMzfX0lCiAgICUKICAgJSBMZWF2ZSBzb21lIHNwYWNlIGZvciB0aGUgZm9vdGxpbmUuICBIb3BlZnVsbHkgb2sgdG8gYXNzdW1lCiAgICUgQGV2ZW5mb290aW5nIHdpbGwgbm90IGJlIHVzZWQgYnkgaXRzZWxmLgotICBcZ2xvYmFsXGFkdmFuY2VccGFnZWhlaWdodCBieSAtXGJhc2VsaW5lc2tpcAotICBcZ2xvYmFsXGFkdmFuY2VcdnNpemUgYnkgLVxiYXNlbGluZXNraXAKKyAgXGdsb2JhbFxhZHZhbmNlXHBhZ2VoZWlnaHQgYnkgLTEycHQKKyAgXGdsb2JhbFxhZHZhbmNlXHZzaXplIGJ5IC0xMnB0CiB9CiAKLVxnZGVmXGV2ZXJ5Zm9vdGluZ3h4eCMxe1xvZGRmb290aW5neHh4eyMxfVxldmVuZm9vdGluZ3h4eHsjMX19CitccGFyc2VhcmdkZWZcZXZlcnlmb290aW5ne1xvZGRmb290aW5neHh4eyMxfVxldmVuZm9vdGluZ3h4eHsjMX19CisKKyUgQGV2ZW5oZWFkaW5nbWFya3MgdG9wICAgICBcdGhpc2NoYXB0ZXIgPC0gY2hhcHRlciBhdCB0aGUgdG9wIG9mIGEgcGFnZQorJSBAZXZlbmhlYWRpbmdtYXJrcyBib3R0b20gIFx0aGlzY2hhcHRlciA8LSBjaGFwdGVyIGF0IHRoZSBib3R0b20gb2YgYSBwYWdlCiAlCi19JSB1bmJpbmQgdGhlIGNhdGNvZGUgb2YgQC4KKyUgVGhlIHNhbWUgc2V0IG9mIGFyZ3VtZW50cyBmb3I6CislCislIEBvZGRoZWFkaW5nbWFya3MKKyUgQGV2ZW5mb290aW5nbWFya3MKKyUgQG9kZGZvb3RpbmdtYXJrcworJSBAZXZlcnloZWFkaW5nbWFya3MKKyUgQGV2ZXJ5Zm9vdGluZ21hcmtzCisKK1xkZWZcZXZlbmhlYWRpbmdtYXJrc3tcaGVhZGluZ21hcmtze2V2ZW59e2hlYWRpbmd9fQorXGRlZlxvZGRoZWFkaW5nbWFya3N7XGhlYWRpbmdtYXJrc3tvZGR9e2hlYWRpbmd9fQorXGRlZlxldmVuZm9vdGluZ21hcmtze1xoZWFkaW5nbWFya3N7ZXZlbn17Zm9vdGluZ319CitcZGVmXG9kZGZvb3RpbmdtYXJrc3tcaGVhZGluZ21hcmtze29kZH17Zm9vdGluZ319CitcZGVmXGV2ZXJ5aGVhZGluZ21hcmtzIzEge1xoZWFkaW5nbWFya3N7ZXZlbn17aGVhZGluZ317IzF9CisgICAgICAgICAgICAgICAgICAgICAgICAgIFxoZWFkaW5nbWFya3N7b2RkfXtoZWFkaW5nfXsjMX0gfQorXGRlZlxldmVyeWZvb3RpbmdtYXJrcyMxIHtcaGVhZGluZ21hcmtze2V2ZW59e2Zvb3Rpbmd9eyMxfQorICAgICAgICAgICAgICAgICAgICAgICAgICBcaGVhZGluZ21hcmtze29kZH17Zm9vdGluZ317IzF9IH0KKyUgIzEgPSBldmVuL29kZCwgIzIgPSBoZWFkaW5nL2Zvb3RpbmcsICMzID0gdG9wL2JvdHRvbS4KK1xkZWZcaGVhZGluZ21hcmtzIzEjMiMzIHslCisgIFxleHBhbmRhZnRlclxsZXRcZXhwYW5kYWZ0ZXJcdGVtcCBcY3NuYW1lIGdldCMzaGVhZGluZ21hcmtzXGVuZGNzbmFtZQorICBcZ2xvYmFsXGV4cGFuZGFmdGVyXGxldFxjc25hbWUgZ2V0IzEjMm1hcmtzXGVuZGNzbmFtZSBcdGVtcAorfQorCitcZXZlcnloZWFkaW5nbWFya3MgYm90dG9tCitcZXZlcnlmb290aW5nbWFya3MgYm90dG9tCiAKICUgQGhlYWRpbmdzIGRvdWJsZSAgICAgIHR1cm5zIGhlYWRpbmdzIG9uIGZvciBkb3VibGUtc2lkZWQgcHJpbnRpbmcuCiAlIEBoZWFkaW5ncyBzaW5nbGUgICAgICB0dXJucyBoZWFkaW5ncyBvbiBmb3Igc2luZ2xlLXNpZGVkIHByaW50aW5nLgpAQCAtMTgzMSw3ICszMTk2LDcgQEAKIAogXGRlZlxoZWFkaW5ncyAjMSB7XGNzbmFtZSBIRUFESU5HUyMxXGVuZGNzbmFtZX0KIAotXGRlZlxIRUFESU5HU29mZnsKK1xkZWZcSEVBRElOR1NvZmZ7JQogXGdsb2JhbFxldmVuaGVhZGxpbmU9e1xoZmlsfSBcZ2xvYmFsXGV2ZW5mb290bGluZT17XGhmaWx9CiBcZ2xvYmFsXG9kZGhlYWRsaW5lPXtcaGZpbH0gXGdsb2JhbFxvZGRmb290bGluZT17XGhmaWx9fQogXEhFQURJTkdTb2ZmCkBAIC0xODQwLDcgKzMyMDUsNyBAQAogJSBjaGFwdGVyIG5hbWUgb24gaW5zaWRlIHRvcCBvZiByaWdodCBoYW5kIHBhZ2VzLCBkb2N1bWVudAogJSB0aXRsZSBvbiBpbnNpZGUgdG9wIG9mIGxlZnQgaGFuZCBwYWdlcywgYW5kIHBhZ2UgbnVtYmVycyBvbiBvdXRzaWRlIHRvcAogJSBlZGdlIG9mIGFsbCBwYWdlcy4KLVxkZWZcSEVBRElOR1Nkb3VibGV7CitcZGVmXEhFQURJTkdTZG91YmxleyUKIFxnbG9iYWxccGFnZW5vPTEKIFxnbG9iYWxcZXZlbmZvb3RsaW5lPXtcaGZpbH0KIFxnbG9iYWxcb2RkZm9vdGxpbmU9e1xoZmlsfQpAQCAtMTg1Miw3ICszMjE3LDcgQEAKIAogJSBGb3Igc2luZ2xlLXNpZGVkIHByaW50aW5nLCBjaGFwdGVyIHRpdGxlIGdvZXMgYWNyb3NzIHRvcCBsZWZ0IG9mIHBhZ2UsCiAlIHBhZ2UgbnVtYmVyIG9uIHRvcCByaWdodC4KLVxkZWZcSEVBRElOR1NzaW5nbGV7CitcZGVmXEhFQURJTkdTc2luZ2xleyUKIFxnbG9iYWxccGFnZW5vPTEKIFxnbG9iYWxcZXZlbmZvb3RsaW5lPXtcaGZpbH0KIFxnbG9iYWxcb2RkZm9vdGxpbmU9e1xoZmlsfQpAQCAtMTg5OSwxMiArMzI2NCwxMSBAQAogJSBAc2V0dGl0bGUgbGluZS4uLiAgc3BlY2lmaWVzIHRoZSB0aXRsZSBvZiB0aGUgZG9jdW1lbnQsIGZvciBoZWFkaW5ncy4KICUgSXQgZ2VuZXJhdGVzIG5vIG91dHB1dCBvZiBpdHMgb3duLgogXGRlZlx0aGlzdGl0bGV7XHB1dHdvcmROb1RpdGxlfQotXGRlZlxzZXR0aXRsZXtccGFyc2Vhcmdcc2V0dGl0bGV6enp9Ci1cZGVmXHNldHRpdGxlenp6ICMxe1xnZGVmXHRoaXN0aXRsZXsjMX19CitcZGVmXHNldHRpdGxle1xwYXJzZWFyZ3tcZ2RlZlx0aGlzdGl0bGV9fQogCiAKIFxtZXNzYWdle3RhYmxlcyx9Ci0lIFRhYmxlcyAtLSBAdGFibGUsIEBmdGFibGUsIEB2dGFibGUsIEBpdGVtKHgpLCBAa2l0ZW0oeCksIEB4aXRlbSh4KS4KKyUgVGFibGVzIC0tIEB0YWJsZSwgQGZ0YWJsZSwgQHZ0YWJsZSwgQGl0ZW0oeCkuCiAKICUgZGVmYXVsdCBpbmRlbnRhdGlvbiBvZiB0YWJsZSB0ZXh0CiBcbmV3ZGltZW5cdGFibGVpbmRlbnQgXHRhYmxlaW5kZW50PS44aW4KQEAgLTE5MTYsNyArMzI4MCw3IEBACiAlIHVzZWQgaW50ZXJuYWxseSBmb3IgXGl0ZW1pbmRlbnQgbWludXMgXGl0ZW1tYXJnaW4KIFxuZXdkaW1lblxpdGVtbWF4CiAKLSUgTm90ZSBAdGFibGUsIEB2dGFibGUsIGFuZCBAdnRhYmxlIGRlZmluZSBAaXRlbSwgQGl0ZW14LCBldGMuLCB3aXRoCislIE5vdGUgQHRhYmxlLCBAZnRhYmxlLCBhbmQgQHZ0YWJsZSBkZWZpbmUgQGl0ZW0sIEBpdGVteCwgZXRjLiwgd2l0aAogJSB0aGVzZSBkZWZzLgogJSBUaGV5IGFsc28gZGVmaW5lIFxpdGVtaW5kZXgKICUgdG8gaW5kZXggdGhlIGl0ZW0gbmFtZSBpbiB3aGF0ZXZlciBtYW5uZXIgaXMgZGVzaXJlZCAocGVyaGFwcyBub25lKS4KQEAgLTE5MjgsMjIgKzMyOTIsMTAgQEAKIFxkZWZcaW50ZXJuYWxCaXRlbXtcc21hbGxicmVhayBccGFyc2VhcmdcaXRlbXp6en0KIFxkZWZcaW50ZXJuYWxCaXRlbXh7XGl0ZW14cGFyIFxwYXJzZWFyZ1xpdGVtenp6fQogCi1cZGVmXGludGVybmFsQnhpdGVtICIjMSJ7XGRlZlx4aXRlbXN1YnRvcGl4eyMxfSBcc21hbGxicmVhayBccGFyc2VhcmdceGl0ZW16enp9Ci1cZGVmXGludGVybmFsQnhpdGVteCAiIzEie1xkZWZceGl0ZW1zdWJ0b3BpeHsjMX0gXGl0ZW14cGFyIFxwYXJzZWFyZ1x4aXRlbXp6en0KLQotXGRlZlxpbnRlcm5hbEJraXRlbXtcc21hbGxicmVhayBccGFyc2Vhcmdca2l0ZW16enp9Ci1cZGVmXGludGVybmFsQmtpdGVteHtcaXRlbXhwYXIgXHBhcnNlYXJnXGtpdGVtenp6fQotCi1cZGVmXGtpdGVtenp6ICMxe1xkb3N1YmluZCB7a3d9e1xjb2RleyMxfX17Zm9yIHtcYmYgXGxhc3RmdW5jdGlvbn19JQotICAgICAgICAgICAgICAgICBcaXRlbXp6eiB7IzF9fQotCi1cZGVmXHhpdGVtenp6ICMxe1xkb3N1YmluZCB7a3d9e1xjb2RleyMxfX17Zm9yIHtcYmYgXHhpdGVtc3VidG9waWN9fSUKLSAgICAgICAgICAgICAgICAgXGl0ZW16enogeyMxfX0KLQogXGRlZlxpdGVtenp6ICMxe1xiZWdpbmdyb3VwICUKICAgXGFkdmFuY2VcaHNpemUgYnkgLVxyaWdodHNraXAKICAgXGFkdmFuY2VcaHNpemUgYnkgLVx0YWJsZWluZGVudAotICBcc2V0Ym94MD1caGJveHtcaXRlbWZvbnR7IzF9fSUKKyAgXHNldGJveDA9XGhib3h7XGl0ZW1pbmRpY2F0ZXsjMX19JQogICBcaXRlbWluZGV4eyMxfSUKICAgXG5vYnJlYWsgJSBUaGlzIHByZXZlbnRzIGEgYnJlYWsgYmVmb3JlIEBpdGVteC4KICAgJQpAQCAtMTk2NywxNyArMzMxOSwxMyBAQAogICAgICUgXHBhcnNraXAgZ2x1ZSAtLSBsb2dpY2FsbHkgaXQncyBwYXJ0IG9mIHRoZSBAaXRlbSB3ZSBqdXN0IHN0YXJ0ZWQuCiAgICAgXG5vYnJlYWsgXHZza2lwLVxwYXJza2lwCiAgICAgJQotICAgICUgU3RvcCBhIHBhZ2UgYnJlYWsgYXQgdGhlIFxwYXJza2lwIGdsdWUgY29taW5nIHVwLiAgKFVuZm9ydHVuYXRlbHkKLSAgICAlIHdlIGNhbid0IHByZXZlbnQgYSBwb3NzaWJsZSBwYWdlIGJyZWFrIGF0IHRoZSBmb2xsb3dpbmcKLSAgICAlIFxiYXNlbGluZXNraXAgZ2x1ZS4pICBIb3dldmVyLCBpZiB3aGF0IGZvbGxvd3MgaXMgYW4gZW52aXJvbm1lbnQKLSAgICAlIHN1Y2ggYXMgQGV4YW1wbGUsIHRoZXJlIHdpbGwgYmUgbm8gXHBhcnNraXAgZ2x1ZTsgdGhlbgotICAgICUgdGhlIG5lZ2F0aXZlIHZza2lwIHdlIGp1c3Qgd291bGQgY2F1c2UgdGhlIGV4YW1wbGUgYW5kIHRoZSBpdGVtIHRvCi0gICAgJSBjcmFzaCB0b2dldGhlci4gIFNvIHdlIHVzZSB0aGlzIGJpemFycmUgdmFsdWUgb2YgMTAwMDEgYXMgYSBzaWduYWwKLSAgICAlIHRvIFxhYm92ZWVudmJyZWFrIHRvIGluc2VydCBccGFyc2tpcCBnbHVlIGFmdGVyIGFsbC4KLSAgICAlIChQb3NzaWJseSB0aGVyZSBhcmUgb3RoZXIgY29tbWFuZHMgdGhhdCBjb3VsZCBiZSBmb2xsb3dlZCBieQotICAgICUgQGV4YW1wbGUgd2hpY2ggbmVlZCB0aGUgc2FtZSB0cmVhdG1lbnQsIGJ1dCBub3Qgc2VjdGlvbiB0aXRsZXM7IG9yCi0gICAgJSBtYXliZSBzZWN0aW9uIHRpdGxlcyBhcmUgdGhlIG9ubHkgc3BlY2lhbCBjYXNlIGFuZCB0aGV5IHNob3VsZCBiZQotICAgICUgcGVuYWx0eSAxMDAwMS4uLikKKyAgICAlIFN0b3AgYSBwYWdlIGJyZWFrIGF0IHRoZSBccGFyc2tpcCBnbHVlIGNvbWluZyB1cC4gIEhvd2V2ZXIsIGlmCisgICAgJSB3aGF0IGZvbGxvd3MgaXMgYW4gZW52aXJvbm1lbnQgc3VjaCBhcyBAZXhhbXBsZSwgdGhlcmUgd2lsbCBiZSBubworICAgICUgXHBhcnNraXAgZ2x1ZTsgdGhlbiB0aGUgbmVnYXRpdmUgdnNraXAgd2UganVzdCBpbnNlcnRlZCB3b3VsZAorICAgICUgY2F1c2UgdGhlIGV4YW1wbGUgYW5kIHRoZSBpdGVtIHRvIGNyYXNoIHRvZ2V0aGVyLiAgU28gd2UgdXNlIHRoaXMKKyAgICAlIGJpemFycmUgdmFsdWUgb2YgMTAwMDEgYXMgYSBzaWduYWwgdG8gXGFib3ZlZW52YnJlYWsgdG8gaW5zZXJ0CisgICAgJSBccGFyc2tpcCBnbHVlIGFmdGVyIGFsbC4gIFNlY3Rpb24gdGl0bGVzIGFyZSBoYW5kbGVkIHRoaXMgd2F5IGFsc28uCisgICAgJSAKICAgICBccGVuYWx0eSAxMDAwMQogICAgIFxlbmRncm91cAogICAgIFxpdGVteG5lZWRzbmVnYXRpdmV2c2tpcGZhbHNlCkBAIC0xOTk3LDkyICszMzQ1LDExNiBAQAogICBcZmkKIH0KIAotXGRlZlxpdGVte1xlcnJtZXNzYWdle0BpdGVtIHdoaWxlIG5vdCBpbiBhIHRhYmxlfX0KLVxkZWZcaXRlbXh7XGVycm1lc3NhZ2V7QGl0ZW14IHdoaWxlIG5vdCBpbiBhIHRhYmxlfX0KLVxkZWZca2l0ZW17XGVycm1lc3NhZ2V7QGtpdGVtIHdoaWxlIG5vdCBpbiBhIHRhYmxlfX0KLVxkZWZca2l0ZW14e1xlcnJtZXNzYWdle0BraXRlbXggd2hpbGUgbm90IGluIGEgdGFibGV9fQotXGRlZlx4aXRlbXtcZXJybWVzc2FnZXtAeGl0ZW0gd2hpbGUgbm90IGluIGEgdGFibGV9fQotXGRlZlx4aXRlbXh7XGVycm1lc3NhZ2V7QHhpdGVteCB3aGlsZSBub3QgaW4gYSB0YWJsZX19Ci0KLSUgQ29udGFpbnMgYSBrbHVkZ2UgdG8gZ2V0IEBlbmRbZGVzY3JpcHRpb25dIHRvIHdvcmsuCi1cZGVmXGRlc2NyaXB0aW9ue1x0YWJsZXp7XGRvbnRpbmRleH17MX17fXt9e317fX0KK1xkZWZcaXRlbXtcZXJybWVzc2FnZXtAaXRlbSB3aGlsZSBub3QgaW4gYSBsaXN0IGVudmlyb25tZW50fX0KK1xkZWZcaXRlbXh7XGVycm1lc3NhZ2V7QGl0ZW14IHdoaWxlIG5vdCBpbiBhIGxpc3QgZW52aXJvbm1lbnR9fQogCiAlIEB0YWJsZSwgQGZ0YWJsZSwgQHZ0YWJsZS4KLVxkZWZcdGFibGV7XGJlZ2luZ3JvdXBcaW5FTlZcb2JleWxpbmVzXG9iZXlzcGFjZXNcdGFibGV4fQote1xvYmV5bGluZXNcb2JleXNwYWNlcyUKLVxnZGVmXHRhYmxleCAjMV5eTXslCi1cdGFibGV5XGRvbnRpbmRleCMxICAgICAgICBcZW5kdGFibGV5fX0KLQotXGRlZlxmdGFibGV7XGJlZ2luZ3JvdXBcaW5FTlZcb2JleWxpbmVzXG9iZXlzcGFjZXNcZnRhYmxleH0KLXtcb2JleWxpbmVzXG9iZXlzcGFjZXMlCi1cZ2RlZlxmdGFibGV4ICMxXl5NeyUKLVx0YWJsZXlcZm5pdGVtaW5kZXgjMSAgICAgICAgXGVuZHRhYmxleQotXGRlZlxFZnRhYmxle1xlbmRncmFmXGFmdGVyZW52YnJlYWtcZW5kZ3JvdXB9JQotXGxldFxFdGFibGU9XHJlbGF4fX0KLQotXGRlZlx2dGFibGV7XGJlZ2luZ3JvdXBcaW5FTlZcb2JleWxpbmVzXG9iZXlzcGFjZXNcdnRhYmxleH0KLXtcb2JleWxpbmVzXG9iZXlzcGFjZXMlCi1cZ2RlZlx2dGFibGV4ICMxXl5NeyUKLVx0YWJsZXlcdnJpdGVtaW5kZXgjMSAgICAgICAgXGVuZHRhYmxleQotXGRlZlxFdnRhYmxle1xlbmRncmFmXGFmdGVyZW52YnJlYWtcZW5kZ3JvdXB9JQotXGxldFxFdGFibGU9XHJlbGF4fX0KLQotXGRlZlxkb250aW5kZXggIzF7fQotXGRlZlxmbml0ZW1pbmRleCAjMXtcZG9pbmQge2ZufXtcY29kZXsjMX19fSUKLVxkZWZcdnJpdGVtaW5kZXggIzF7XGRvaW5kIHt2cn17XGNvZGV7IzF9fX0lCi0KLXtcb2JleXNwYWNlcyAlCi1cZ2RlZlx0YWJsZXkjMSMyICMzICM0ICM1ICM2ICM3XGVuZHRhYmxleXtcZW5kZ3JvdXAlCi1cdGFibGV6eyMxfXsjMn17IzN9eyM0fXsjNX17IzZ9fX0KLQotXGRlZlx0YWJsZXogIzEjMiMzIzQjNSM2eyUKLVxhYm92ZWVudmJyZWFrICUKLVxiZWdpbmdyb3VwICUKLVxkZWZcRWRlc2NyaXB0aW9ue1xFdGFibGV9JSBOZWNlc3Nhcnkga2x1ZGdlLgotXGxldFxpdGVtaW5kZXg9IzElCi1caWZudW0gMCMzPjAgXGFkdmFuY2UgXGxlZnRza2lwIGJ5ICMzXG1pbCBcZmkgJQotXGlmbnVtIDAjND4wIFx0YWJsZWluZGVudD0jNFxtaWwgXGZpICUKLVxpZm51bSAwIzU+MCBcYWR2YW5jZSBccmlnaHRza2lwIGJ5ICM1XG1pbCBcZmkgJQotXGRlZlxpdGVtZm9udHsjMn0lCi1caXRlbW1heD1cdGFibGVpbmRlbnQgJQotXGFkdmFuY2UgXGl0ZW1tYXggYnkgLVxpdGVtbWFyZ2luICUKLVxhZHZhbmNlIFxsZWZ0c2tpcCBieSBcdGFibGVpbmRlbnQgJQotXGV4ZGVudGFtb3VudD1cdGFibGVpbmRlbnQKLVxwYXJpbmRlbnQgPSAwcHQKLVxwYXJza2lwID0gXHNtYWxsc2tpcGFtb3VudAotXGlmZGltIFxwYXJza2lwPTBwdCBccGFyc2tpcD0ycHQgXGZpJQotXGRlZlxFdGFibGV7XGVuZGdyYWZcYWZ0ZXJlbnZicmVha1xlbmRncm91cH0lCi1cbGV0XGl0ZW0gPSBcaW50ZXJuYWxCaXRlbSAlCi1cbGV0XGl0ZW14ID0gXGludGVybmFsQml0ZW14ICUKLVxsZXRca2l0ZW0gPSBcaW50ZXJuYWxCa2l0ZW0gJQotXGxldFxraXRlbXggPSBcaW50ZXJuYWxCa2l0ZW14ICUKLVxsZXRceGl0ZW0gPSBcaW50ZXJuYWxCeGl0ZW0gJQotXGxldFx4aXRlbXggPSBcaW50ZXJuYWxCeGl0ZW14ICUKK1xlbnZkZWZcdGFibGV7JQorICBcbGV0XGl0ZW1pbmRleFxnb2JibGUKKyAgXHRhYmxlY2hlY2t7dGFibGV9JQogfQorXGVudmRlZlxmdGFibGV7JQorICBcZGVmXGl0ZW1pbmRleCAjIzF7XGRvaW5kIHtmbn17XGNvZGV7IyMxfX19JQorICBcdGFibGVjaGVja3tmdGFibGV9JQorfQorXGVudmRlZlx2dGFibGV7JQorICBcZGVmXGl0ZW1pbmRleCAjIzF7XGRvaW5kIHt2cn17XGNvZGV7IyMxfX19JQorICBcdGFibGVjaGVja3t2dGFibGV9JQorfQorXGRlZlx0YWJsZWNoZWNrIzF7JQorICBcaWZudW0gXHRoZVxjYXRjb2RlYFxeXk09XGFjdGl2ZQorICAgIFxlbmRncm91cAorICAgIFxlcnJtZXNzYWdle1RoaXMgY29tbWFuZCB3b24ndCB3b3JrIGluIHRoaXMgY29udGV4dDsgcGVyaGFwcyB0aGUgcHJvYmxlbSBpcworICAgICAgdGhhdCB3ZSBhcmUgXGluZW52aXJvbm1lbnRcdGhpc2Vudn0lCisgICAgXGRlZlxuZXh0e1xkb2lnbm9yZXsjMX19JQorICBcZWxzZQorICAgIFxsZXRcbmV4dFx0YWJsZXgKKyAgXGZpCisgIFxuZXh0Cit9CitcZGVmXHRhYmxleCMxeyUKKyAgXGRlZlxpdGVtaW5kaWNhdGV7IzF9JQorICBccGFyc2VhcmdcdGFibGV5Cit9CitcZGVmXHRhYmxleSMxeyUKKyAgeyUKKyAgICBcbWFrZXZhbHVlZXhwYW5kYWJsZQorICAgIFxlZGVmXHRlbXB7XG5vZXhwYW5kXHRhYmxleiAjMVxzcGFjZVxzcGFjZVxzcGFjZX0lCisgICAgXGV4cGFuZGFmdGVyCisgIH1cdGVtcCBcZW5kdGFibGV6Cit9CitcZGVmXHRhYmxleiAjMSAjMiAjMyAjNFxlbmR0YWJsZXp7JQorICBcYWJvdmVlbnZicmVhaworICBcaWZudW0gMCMxPjAgXGFkdmFuY2UgXGxlZnRza2lwIGJ5ICMxXG1pbCBcZmkKKyAgXGlmbnVtIDAjMj4wIFx0YWJsZWluZGVudD0jMlxtaWwgXGZpCisgIFxpZm51bSAwIzM+MCBcYWR2YW5jZSBccmlnaHRza2lwIGJ5ICMzXG1pbCBcZmkKKyAgXGl0ZW1tYXg9XHRhYmxlaW5kZW50CisgIFxhZHZhbmNlIFxpdGVtbWF4IGJ5IC1caXRlbW1hcmdpbgorICBcYWR2YW5jZSBcbGVmdHNraXAgYnkgXHRhYmxlaW5kZW50CisgIFxleGRlbnRhbW91bnQ9XHRhYmxlaW5kZW50CisgIFxwYXJpbmRlbnQgPSAwcHQKKyAgXHBhcnNraXAgPSBcc21hbGxza2lwYW1vdW50CisgIFxpZmRpbSBccGFyc2tpcD0wcHQgXHBhcnNraXA9MnB0IFxmaQorICBcbGV0XGl0ZW0gPSBcaW50ZXJuYWxCaXRlbQorICBcbGV0XGl0ZW14ID0gXGludGVybmFsQml0ZW14Cit9CitcZGVmXEV0YWJsZXtcZW5kZ3JhZlxhZnRlcmVudmJyZWFrfQorXGxldFxFZnRhYmxlXEV0YWJsZQorXGxldFxFdnRhYmxlXEV0YWJsZQorXGxldFxFaXRlbWl6ZVxFdGFibGUKK1xsZXRcRWVudW1lcmF0ZVxFdGFibGUKIAogJSBUaGlzIGlzIHRoZSBjb3VudGVyIHVzZWQgYnkgQGVudW1lcmF0ZSwgd2hpY2ggaXMgcmVhbGx5IEBpdGVtaXplCiAKIFxuZXdjb3VudCBcaXRlbW5vCiAKLVxkZWZcaXRlbWl6ZXtccGFyc2VhcmdcaXRlbWl6ZXp6en0KK1xlbnZkZWZcaXRlbWl6ZXtccGFyc2VhcmdcZG9pdGVtaXplfQogCi1cZGVmXGl0ZW1pemV6enogIzF7JQotICBcYmVnaW5ncm91cCAlIGVuZGVkIGJ5IHRoZSBAZW5kIGl0ZW1pemUKLSAgXGl0ZW1pemV5IHsjMX17XEVpdGVtaXplfQorXGRlZlxkb2l0ZW1pemUjMXslCisgIFxhYm92ZWVudmJyZWFrCisgIFxpdGVtbWF4PVxpdGVtaW5kZW50CisgIFxhZHZhbmNlXGl0ZW1tYXggYnkgLVxpdGVtbWFyZ2luCisgIFxhZHZhbmNlXGxlZnRza2lwIGJ5IFxpdGVtaW5kZW50CisgIFxleGRlbnRhbW91bnQ9XGl0ZW1pbmRlbnQKKyAgXHBhcmluZGVudD0wcHQKKyAgXHBhcnNraXA9XHNtYWxsc2tpcGFtb3VudAorICBcaWZkaW1ccGFyc2tpcD0wcHQgXHBhcnNraXA9MnB0IFxmaQorICAlCisgICUgVHJ5IHR5cGVzZXR0aW5nIHRoZSBpdGVtIG1hcmsgdGhhdCBpZiB0aGUgZG9jdW1lbnQgZXJyb25lb3VzbHkgc2F5cworICAlIHNvbWV0aGluZyBsaWtlIEBpdGVtaXplIEBzYW1wIChpbnRlbmRpbmcgQHRhYmxlKSwgdGhlcmUncyBhbiBlcnJvcgorICAlIHJpZ2h0IGF3YXkgYXQgdGhlIEBpdGVtaXplLiAgSXQncyBub3QgdGhlIGJlc3QgZXJyb3IgbWVzc2FnZSBpbiB0aGUKKyAgJSB3b3JsZCwgYnV0IGl0J3MgYmV0dGVyIHRoYW4gbGVhdmluZyBpdCB0byB0aGUgQGl0ZW0uICBUaGlzIG1lYW5zIGlmCisgICUgdGhlIHVzZXIgd2FudHMgYW4gZW1wdHkgbWFyaywgdGhleSBoYXZlIHRvIHNheSBAd3t9IG5vdCBqdXN0IEB3LgorICBcZGVmXGl0ZW1jb250ZW50c3sjMX0lCisgIFxzZXRib3gwID0gXGhib3h7XGl0ZW1jb250ZW50c30lCisgICUKKyAgJSBAaXRlbWl6ZSB3aXRoIG5vIGFyZyBpcyBlcXVpdmFsZW50IHRvIEBpdGVtaXplIEBidWxsZXQuCisgIFxpZnhcaXRlbWNvbnRlbnRzXGVtcHR5XGRlZlxpdGVtY29udGVudHN7XGJ1bGxldH1cZmkKKyAgJQorICBcbGV0XGl0ZW09XGl0ZW1pemVpdGVtCiB9CiAKLVxkZWZcaXRlbWl6ZXkgIzEjMnslCi1cYWJvdmVlbnZicmVhayAlCi1caXRlbW1heD1caXRlbWluZGVudCAlCi1cYWR2YW5jZSBcaXRlbW1heCBieSAtXGl0ZW1tYXJnaW4gJQotXGFkdmFuY2UgXGxlZnRza2lwIGJ5IFxpdGVtaW5kZW50ICUKLVxleGRlbnRhbW91bnQ9XGl0ZW1pbmRlbnQKLVxwYXJpbmRlbnQgPSAwcHQgJQotXHBhcnNraXAgPSBcc21hbGxza2lwYW1vdW50ICUKLVxpZmRpbSBccGFyc2tpcD0wcHQgXHBhcnNraXA9MnB0IFxmaSUKLVxkZWYjMntcZW5kZ3JhZlxhZnRlcmVudmJyZWFrXGVuZGdyb3VwfSUKLVxkZWZcaXRlbWNvbnRlbnRzeyMxfSUKLVxsZXRcaXRlbT1caXRlbWl6ZWl0ZW19CislIERlZmluaXRpb24gb2YgQGl0ZW0gd2hpbGUgaW5zaWRlIEBpdGVtaXplIGFuZCBAZW51bWVyYXRlLgorJQorXGRlZlxpdGVtaXplaXRlbXslCisgIFxhZHZhbmNlXGl0ZW1ubyBieSAxICAlIGZvciBlbnVtZXJhdGlvbnMKKyAge1xsZXRccGFyPVxlbmRncmFmIFxzbWFsbGJyZWFrfSUgcmVhc29uYWJsZSBwbGFjZSB0byBicmVhaworICB7JQorICAgJSBJZiB0aGUgZG9jdW1lbnQgaGFzIGFuIEBpdGVtaXplIGRpcmVjdGx5IGFmdGVyIGEgc2VjdGlvbiB0aXRsZSwgYQorICAgJSBcbm9icmVhayB3aWxsIGJlIGxhc3Qgb24gdGhlIGxpc3QsIGFuZCBcc2VjdGlvbmhlYWRpbmcgd2lsbCBoYXZlCisgICAlIGRvbmUgYSBcdnNraXAtXHBhcnNraXAuICBJbiB0aGF0IGNhc2UsIHdlIGRvbid0IHdhbnQgdG8gemVybworICAgJSBwYXJza2lwLCBvciB0aGUgaXRlbSB0ZXh0IHdpbGwgY3Jhc2ggd2l0aCB0aGUgaGVhZGluZy4gIE9uIHRoZQorICAgJSBvdGhlciBoYW5kLCB3aGVuIHRoZXJlIGlzIG5vcm1hbCB0ZXh0IHByZWNlZGluZyB0aGUgaXRlbSAoYXMgdGhlcmUKKyAgICUgdXN1YWxseSBpcyksIHdlIGRvIHdhbnQgdG8gemVybyBwYXJza2lwLCBvciB0aGVyZSB3b3VsZCBiZSB0b28gbXVjaAorICAgJSBzcGFjZS4gIEluIHRoYXQgY2FzZSwgd2Ugd29uJ3QgaGF2ZSBhIFxub2JyZWFrIGJlZm9yZS4gIEF0IGxlYXN0CisgICAlIHRoYXQncyB0aGUgdGhlb3J5LgorICAgXGlmbnVtXGxhc3RwZW5hbHR5PDEwMDAwIFxwYXJza2lwPTBpbiBcZmkKKyAgIFxub2luZGVudAorICAgXGhib3ggdG8gMHB0e1xoc3MgXGl0ZW1jb250ZW50cyBca2VyblxpdGVtbWFyZ2lufSUKKyAgICUKKyAgIFx2YWRqdXN0e1xwZW5hbHR5IDEyMDB9fSUgbm90IGdvb2QgdG8gYnJlYWsgYWZ0ZXIgZmlyc3QgbGluZSBvZiBpdGVtLgorICBcZmx1c2hjcgorfQogCiAlIFxzcGxpdG9mZiBUT0tFTlNcZW5kbWFyayBkZWZpbmVzIFxmaXJzdCB0byBiZSB0aGUgZmlyc3QgdG9rZW4gaW4KICUgVE9LRU5TLCBhbmQgXHJlc3QgdG8gYmUgdGhlIHJlbWFpbmRlci4KQEAgLTIwOTMsMTEgKzM0NjUsOCBAQAogJSBvciBudW1iZXIsIHRvIHNwZWNpZnkgdGhlIGZpcnN0IGxhYmVsIGluIHRoZSBlbnVtZXJhdGVkIGxpc3QuICBObwogJSBhcmd1bWVudCBpcyB0aGUgc2FtZSBhcyBgMScuCiAlCi1cZGVmXGVudW1lcmF0ZXtccGFyc2VhcmdcZW51bWVyYXRlenp6fQotXGRlZlxlbnVtZXJhdGV6enogIzF7XGVudW1lcmF0ZXkgIzEgIFxlbmRlbnVtZXJhdGV5fQorXGVudnBhcnNlYXJnZGVmXGVudW1lcmF0ZXtcZW51bWVyYXRleSAjMSAgXGVuZGVudW1lcmF0ZXl9CiBcZGVmXGVudW1lcmF0ZXkgIzEgIzJcZW5kZW51bWVyYXRleXslCi0gIFxiZWdpbmdyb3VwICUgZW5kZWQgYnkgdGhlIEBlbmQgZW51bWVyYXRlCi0gICUKICAgJSBJZiB3ZSB3ZXJlIGdpdmVuIG5vIGFyZ3VtZW50LCBwcmV0ZW5kIHdlIHdlcmUgZ2l2ZW4gYDEnLgogICBcZGVmXHRoZWFyZ3sjMX0lCiAgIFxpZnhcdGhlYXJnXGVtcHR5IFxkZWZcdGhlYXJnezF9XGZpCkBAIC0yMTY4LDEzICszNTM3LDEzIEBACiAgIH0lCiB9CiAKLSUgQ2FsbCBpdGVtaXpleSwgYWRkaW5nIGEgcGVyaW9kIHRvIHRoZSBmaXJzdCBhcmd1bWVudCBhbmQgc3VwcGx5aW5nIHRoZQorJSBDYWxsIFxkb2l0ZW1pemUsIGFkZGluZyBhIHBlcmlvZCB0byB0aGUgZmlyc3QgYXJndW1lbnQgYW5kIHN1cHBseWluZyB0aGUKICUgY29tbW9uIGxhc3QgdHdvIGFyZ3VtZW50cy4gIEFsc28gc3VidHJhY3Qgb25lIGZyb20gdGhlIGluaXRpYWwgdmFsdWUgaW4KICUgXGl0ZW1ubywgc2luY2UgQGl0ZW0gaW5jcmVtZW50cyBcaXRlbW5vLgogJQogXGRlZlxzdGFydGVudW1lcmF0aW9uIzF7JQogICBcYWR2YW5jZVxpdGVtbm8gYnkgLTEKLSAgXGl0ZW1pemV5eyMxLn1cRWVudW1lcmF0ZVxmbHVzaGNyCisgIFxkb2l0ZW1pemV7IzEufVxmbHVzaGNyCiB9CiAKICUgQGFscGhhZW51bWVyYXRlIGFuZCBAY2Fwc2VudW1lcmF0ZSBhcmUgYWJicmV2aWF0aW9ucyBmb3IgZ2l2aW5nIGFuIGFyZwpAQCAtMjE4NSwxNiArMzU1NCw2IEBACiBcZGVmXEVhbHBoYWVudW1lcmF0ZXtcRWVudW1lcmF0ZX0KIFxkZWZcRWNhcHNlbnVtZXJhdGV7XEVlbnVtZXJhdGV9CiAKLSUgRGVmaW5pdGlvbiBvZiBAaXRlbSB3aGlsZSBpbnNpZGUgQGl0ZW1pemUuCi0KLVxkZWZcaXRlbWl6ZWl0ZW17JQotXGFkdmFuY2VcaXRlbW5vIGJ5IDEKLXtcbGV0XHBhcj1cZW5kZ3JhZiBcc21hbGxicmVha30lCi1caWZobW9kZSBcZXJybWVzc2FnZXtJbiBobW9kZSBhdCBpdGVtaXplaXRlbX1cZmkKLXtccGFyc2tpcD0waW4gXGhza2lwIDBwdAotXGhib3ggdG8gMHB0e1xoc3MgXGl0ZW1jb250ZW50c1xoc2tpcCBcaXRlbW1hcmdpbn0lCi1cdmFkanVzdHtccGVuYWx0eSAxMjAwfX0lCi1cZmx1c2hjcn0KIAogJSBAbXVsdGl0YWJsZSBtYWNyb3MKICUgQW15IEhlbmRyaWNrc29uLCA4LzE4Lzk0LCAzLzYvOTYKQEAgLTIyMjEsMjQgKzM1ODAsMTQgQEAKICUgICBAbXVsdGl0YWJsZSB7Q29sdW1uIDEgdGVtcGxhdGV9IHtDb2x1bW4gMiB0ZW1wbGF0ZX0ge0NvbHVtbiAzIHRlbXBsYXRlfQogJSAgIEBpdGVtIC4uLgogJSAgIHVzaW5nIHRoZSB3aWRlc3QgdGVybSBkZXNpcmVkIGluIGVhY2ggY29sdW1uLgotJQotJSBGb3IgdGhvc2Ugd2hvIHdhbnQgdG8gdXNlIG1vcmUgdGhhbiBvbmUgbGluZSdzIHdvcnRoIG9mIHdvcmRzIGluCi0lIHRoZSBwcmVhbWJsZSwgYnJlYWsgdGhlIGxpbmUgd2l0aGluIG9uZSBhcmd1bWVudCBhbmQgaXQKLSUgd2lsbCBwYXJzZSBjb3JyZWN0bHksIGkuZS4sCi0lCi0lICAgICBAbXVsdGl0YWJsZSB7Q29sdW1uIDEgdGVtcGxhdGV9IHtDb2x1bW4gMiB0ZW1wbGF0ZX0ge0NvbHVtbiAzCi0lICAgICAgdGVtcGxhdGV9Ci0lIE5vdDoKLSUgICAgIEBtdWx0aXRhYmxlIHtDb2x1bW4gMSB0ZW1wbGF0ZX0ge0NvbHVtbiAyIHRlbXBsYXRlfQotJSAgICAgIHtDb2x1bW4gMyB0ZW1wbGF0ZX0KIAogJSBFYWNoIG5ldyB0YWJsZSBsaW5lIHN0YXJ0cyB3aXRoIEBpdGVtLCBlYWNoIHN1YnNlcXVlbnQgbmV3IGNvbHVtbgogJSBzdGFydHMgd2l0aCBAdGFiLiBFbXB0eSBjb2x1bW5zIG1heSBiZSBwcm9kdWNlZCBieSBzdXBwbHlpbmcgQHRhYidzCiAlIHdpdGggbm90aGluZyBiZXR3ZWVuIHRoZW0gZm9yIGFzIG1hbnkgdGltZXMgYXMgZW1wdHkgY29sdW1ucyBhcmUgbmVlZGVkLAogJSBpZSwgQHRhYkB0YWJAdGFiIHdpbGwgcHJvZHVjZSB0d28gZW1wdHkgY29sdW1ucy4KIAotJSBAaXRlbSwgQHRhYiwgQG11bHRpdGFibGUgb3IgQGVuZCBtdWx0aXRhYmxlIGRvIG5vdCBuZWVkIHRvIGJlIG9uIHRoZWlyCi0lIG93biBsaW5lcywgYnV0IGl0IHdpbGwgbm90IGh1cnQgaWYgdGhleSBhcmUuCislIEBpdGVtLCBAdGFiIGRvIG5vdCBuZWVkIHRvIGJlIG9uIHRoZWlyIG93biBsaW5lcywgYnV0IGl0IHdpbGwgbm90IGh1cnQKKyUgaWYgdGhleSBhcmUuCiAKICUgU2FtcGxlIG11bHRpdGFibGU6CiAKQEAgLTIyODIsMTMgKzM2MzEsMTIgQEAKIFxkZWZceGNvbHVtbmZyYWN0aW9uc3tcY29sdW1uZnJhY3Rpb25zfQogXG5ld2lmXGlmc2V0cGVyY2VudAogCi0lICMxIGlzIHRoZSBwYXJ0IG9mIHRoZSBAY29sdW1uZnJhY3Rpb24gYmVmb3JlIHRoZSBkZWNpbWFsIHBvaW50LCB3aGljaAotJSBpcyBwcmVzdW1hYmx5IGVpdGhlciAwIG9yIHRoZSBlbXB0eSBzdHJpbmcgKGJ1dCB3ZSBkb24ndCBjaGVjaywgd2UKLSUganVzdCB0aHJvdyBpdCBhd2F5KS4gICMyIGlzIHRoZSBkZWNpbWFsIHBhcnQsIHdoaWNoIHdlIHVzZSBhcyB0aGUKLSUgcGVyY2VudCBvZiBcaHNpemUgZm9yIHRoaXMgY29sdW1uLgotXGRlZlxwaWNrdXB3aG9sZWZyYWN0aW9uIzEuIzIgeyUKKyUgIzEgaXMgdGhlIEBjb2x1bW5mcmFjdGlvbiwgdXN1YWxseSBhIGRlY2ltYWwgbnVtYmVyIGxpa2UgLjUsIGJ1dCBtaWdodAorJSBiZSBqdXN0IDEuICBXZSBqdXN0IHVzZSBpdCwgd2hhdGV2ZXIgaXQgaXMuCislCitcZGVmXHBpY2t1cHdob2xlZnJhY3Rpb24jMSB7JQogICBcZ2xvYmFsXGFkdmFuY2VcY29sY291bnQgYnkgMQotICBcZXhwYW5kYWZ0ZXJceGRlZlxjc25hbWUgY29sXHRoZVxjb2xjb3VudFxlbmRjc25hbWV7LiMyXGhzaXplfSUKKyAgXGV4cGFuZGFmdGVyXHhkZWZcY3NuYW1lIGNvbFx0aGVcY29sY291bnRcZW5kY3NuYW1leyMxXGhzaXplfSUKICAgXHNldHVwdGFibGUKIH0KIApAQCAtMjMyMSwxOCArMzY2OSw0MCBAQAogICBcZ28KIH0KIAorJSBtdWx0aXRhYmxlLW9ubHkgY29tbWFuZHMuCislCislIEBoZWFkaXRlbSBzdGFydHMgYSBoZWFkaW5nIHJvdywgd2hpY2ggd2UgdHlwZXNldCBpbiBib2xkLgorJSBBc3NpZ25tZW50cyBoYXZlIHRvIGJlIGdsb2JhbCBzaW5jZSB3ZSBhcmUgaW5zaWRlIHRoZSBpbXBsaWNpdCBncm91cAorJSBvZiBhbiBhbGlnbm1lbnQgZW50cnkuICBcZXZlcnljciByZXNldHMgXGV2ZXJ5dGFiIHNvIHdlIGRvbid0IGhhdmUgdG8KKyUgdW5kbyBpdCBvdXJzZWx2ZXMuCitcZGVmXGhlYWRpdGVtZm9udHtcYn0lIGZvciBwZW9wbGUgdG8gdXNlIGluIHRoZSB0ZW1wbGF0ZSByb3c7IG5vdCBjaGFuZ2VhYmxlCitcZGVmXGhlYWRpdGVteyUKKyAgXGNoZWNrZW52XG11bHRpdGFibGUKKyAgXGNyY3IKKyAgXGdsb2JhbFxldmVyeXRhYj17XGJmfSUgY2FuJ3QgdXNlIFxoZWFkaXRlbWZvbnQgc2luY2UgdGhlIHBhcnNpbmcgZGlmZmVycworICBcdGhlXGV2ZXJ5dGFiICUgZm9yIHRoZSBmaXJzdCBpdGVtCit9JQorJQorJSBBIFx0YWIgdXNlZCB0byBpbmNsdWRlIFxoc2tpcDFzcC4gIEJ1dCB0aGVuIHRoZSBzcGFjZSBpbiBhIHRlbXBsYXRlCislIGxpbmUgaXMgbm90IGVub3VnaC4gIFRoYXQgaXMgYmFkLiAgU28gbGV0J3MgZ28gYmFjayB0byBqdXN0IGAmJyB1bnRpbAorJSB3ZSBhZ2FpbiBlbmNvdW50ZXIgdGhlIHByb2JsZW0gdGhlIDFzcCB3YXMgaW50ZW5kZWQgdG8gc29sdmUuCislCQkJCQktLWthcmwsIG5hdGhhbkBhY20ub3JnLCAyMGFwcjk5LgorXGRlZlx0YWJ7XGNoZWNrZW52XG11bHRpdGFibGUgJlx0aGVcZXZlcnl0YWJ9JQorCiAlIEBtdWx0aXRhYmxlIC4uLiBAZW5kIG11bHRpdGFibGUgZGVmaW5pdGlvbnM6CiAlCi1cZGVmXG11bHRpdGFibGV7XHBhcnNlYXJnXGRvdGFibGV9Ci1cZGVmXGRvdGFibGUjMXtcYmdyb3VwCitcbmV3dG9rc1xldmVyeXRhYiAgJSBpbnNlcnQgYWZ0ZXIgZXZlcnkgdGFiLgorJQorXGVudmRlZlxtdWx0aXRhYmxleyUKICAgXHZza2lwXHBhcnNraXAKLSAgXGxldFxpdGVtPVxjcmNyd2l0aGZvb3Rub3RlcwotICAlIEEgXHRhYiB1c2VkIHRvIGluY2x1ZGUgXGhza2lwMXNwLiAgQnV0IHRoZW4gdGhlIHNwYWNlIGluIGEgdGVtcGxhdGUKLSAgJSBsaW5lIGlzIG5vdCBlbm91Z2guICBUaGF0IGlzIGJhZC4gIFNvIGxldCdzIGdvIGJhY2sgdG8ganVzdCAmIHVudGlsCi0gICUgd2UgZW5jb3VudGVyIHRoZSBwcm9ibGVtIGl0IHdhcyBpbnRlbmRlZCB0byBzb2x2ZSBhZ2Fpbi4gIC0ta2FybCwKLSAgJSBuYXRoYW5AYWNtLm9yZywgMjBhcHI5OS4KLSAgXGxldFx0YWI9JiUKLSAgXGxldFxzdGFydGZvb3RpbnM9XHN0YXJ0c2F2ZWRmb290bm90ZQorICBcc3RhcnRzYXZpbmdpbnNlcnRzCisgICUKKyAgJSBAaXRlbSB3aXRoaW4gYSBtdWx0aXRhYmxlIHN0YXJ0cyBhIG5vcm1hbCByb3cuCisgICUgV2UgdXNlIFxkZWYgaW5zdGVhZCBvZiBcbGV0IHNvIHRoYXQgaWYgb25lIG9mIHRoZSBtdWx0aXRhYmxlIGVudHJpZXMKKyAgJSBjb250YWlucyBhbiBAaXRlbWl6ZSwgd2UgZG9uJ3QgY2hva2Ugb24gdGhlIFxpdGVtIChzZWVuIGFzIFxjcmNyIGFrYQorICAlIFxlbmR0ZW1wbGF0ZSkgZXhwYW5kaW5nIFxkb2l0ZW1pemUuCisgIFxkZWZcaXRlbXtcY3Jjcn0lCisgICUKICAgXHRvbGVyYW5jZT05NTAwCiAgIFxoYmFkbmVzcz05NTAwCiAgIFxzZXRtdWx0aXRhYmxlc3BhY2luZwpAQCAtMjM0MCw4NSArMzcxMCw5MyBAQAogICBccGFyaW5kZW50PVxtdWx0aXRhYmxlcGFyaW5kZW50CiAgIFxvdmVyZnVsbHJ1bGU9MHB0CiAgIFxnbG9iYWxcY29sY291bnQ9MAotICBcZGVmXEVtdWx0aXRhYmxleyUKLSAgICBcZ2xvYmFsXHNldHBlcmNlbnRmYWxzZQotICAgIFxjcmNyd2l0aGZvb3Rub3Rlc1xjcmNyCi0gICAgXGVncm91cFxlZ3JvdXAKKyAgJQorICBcZXZlcnljciA9IHslCisgICAgXG5vYWxpZ257JQorICAgICAgXGdsb2JhbFxldmVyeXRhYj17fSUKKyAgICAgIFxnbG9iYWxcY29sY291bnQ9MCAlIFJlc2V0IHRoZSBjb2x1bW4gY291bnRlci4KKyAgICAgICUgQ2hlY2sgZm9yIHNhdmVkIGZvb3Rub3RlcywgZXRjLgorICAgICAgXGNoZWNraW5zZXJ0cworICAgICAgJSBLZWVwcyB1bmRlcmZ1bGwgYm94IG1lc3NhZ2VzIG9mZiB3aGVuIHRhYmxlIGJyZWFrcyBvdmVyIHBhZ2VzLgorICAgICAgJVxmaWxicmVhaworCSUgTWF5YmUgc28sIGJ1dCBpdCBhbHNvIGNyZWF0ZXMgcmVhbGx5IHdlaXJkIHBhZ2UgYnJlYWtzIHdoZW4gdGhlCisJJSB0YWJsZSBicmVha3Mgb3ZlciBwYWdlcy4gV291bGRuJ3QgXHZmaWwgYmUgYmV0dGVyPyAgV2FpdCB1bnRpbCB0aGUKKwklIHByb2JsZW0gbWFuaWZlc3RzIGl0c2VsZiwgc28gaXQgY2FuIGJlIGZpeGVkIGZvciByZWFsIC0ta2FybC4KKyAgICB9JQogICB9JQogICAlCisgIFxwYXJzZWFyZ1xkb211bHRpdGFibGUKK30KK1xkZWZcZG9tdWx0aXRhYmxlIzF7JQogICAlIFRvIHBhcnNlIGV2ZXJ5dGhpbmcgYmV0d2VlbiBAbXVsdGl0YWJsZSBhbmQgQGl0ZW06CiAgIFxzZXR1cHRhYmxlIzEgXGVuZHNldHVwdGFibGUKICAgJQotICAlIFxldmVyeWNyIHdpbGwgcmVzZXQgY29sdW1uIGNvdW50ZXIsIFxjb2xjb3VudCwgYXQgdGhlIGVuZCBvZgotICAlIGVhY2ggbGluZS4gRXZlcnkgY29sdW1uIGVudHJ5IHdpbGwgY2F1c2UgXGNvbGNvdW50IHRvIGFkdmFuY2UgYnkgb25lLgotICAlIFRoZSB0YWJsZSBwcmVhbWJsZQotICAlIGxvb2tzIGF0IHRoZSBjdXJyZW50IFxjb2xjb3VudCB0byBmaW5kIHRoZSBjb3JyZWN0IGNvbHVtbiB3aWR0aC4KLSAgXGV2ZXJ5Y3J7XG5vYWxpZ257JQotICAlCi0gICUgXGZpbGJyZWFrJSUga2VlcHMgdW5kZXJmdWxsIGJveCBtZXNzYWdlcyBvZmYgd2hlbiB0YWJsZSBicmVha3Mgb3ZlciBwYWdlcy4KLSAgJSBNYXliZSBzbywgYnV0IGl0IGFsc28gY3JlYXRlcyByZWFsbHkgd2VpcmQgcGFnZSBicmVha3Mgd2hlbiB0aGUgdGFibGUKLSAgJSBicmVha3Mgb3ZlciBwYWdlcy4gV291bGRuJ3QgXHZmaWwgYmUgYmV0dGVyPyAgV2FpdCB1bnRpbCB0aGUgcHJvYmxlbQotICAlIG1hbmlmZXN0cyBpdHNlbGYsIHNvIGl0IGNhbiBiZSBmaXhlZCBmb3IgcmVhbCAtLWthcmwuCi0gICAgXGdsb2JhbFxjb2xjb3VudD0wXHJlbGF4fX0lCi0gICUKICAgJSBUaGlzIHByZWFtYmxlIHNldHMgdXAgYSBnZW5lcmljIGNvbHVtbiBkZWZpbml0aW9uLCB3aGljaCB3aWxsCiAgICUgYmUgdXNlZCBhcyBtYW55IHRpbWVzIGFzIHVzZXIgY2FsbHMgZm9yIGNvbHVtbnMuCiAgICUgXHZ0b3Agd2lsbCBzZXQgYSBzaW5nbGUgbGluZSBhbmQgd2lsbCBhbHNvIGxldCB0ZXh0IHdyYXAgYW5kCiAgICUgY29udGludWUgZm9yIG1hbnkgcGFyYWdyYXBocyBpZiBkZXNpcmVkLgotICBcaGFsaWduXGJncm91cCZcZ2xvYmFsXGFkdmFuY2VcY29sY291bnQgYnkgMVxyZWxheAotICAgIFxtdWx0aXN0cnV0XHZ0b3B7XGhzaXplPVxleHBhbmRhZnRlclxjc25hbWUgY29sXHRoZVxjb2xjb3VudFxlbmRjc25hbWUKLSAgJQotICAlIEluIG9yZGVyIHRvIGtlZXAgZW50cmllcyBmcm9tIGJ1bXBpbmcgaW50byBlYWNoIG90aGVyCi0gICUgd2Ugd2lsbCBhZGQgYSBcbGVmdHNraXAgb2YgXG11bHRpdGFibGVjb2xzcGFjZSB0byBhbGwgY29sdW1ucyBhZnRlcgotICAlIHRoZSBmaXJzdCBvbmUuCi0gICUKLSAgJSBJZiBhIHRlbXBsYXRlIGhhcyBiZWVuIHVzZWQsIHdlIHdpbGwgYWRkIFxtdWx0aXRhYmxlY29sc3BhY2UKLSAgJSB0byB0aGUgd2lkdGggb2YgZWFjaCB0ZW1wbGF0ZSBlbnRyeS4KLSAgJQotICAlIElmIHRoZSB1c2VyIGhhcyBzZXQgcHJlYW1ibGUgaW4gdGVybXMgb2YgcGVyY2VudCBvZiBcaHNpemUgd2Ugd2lsbAotICAlIHVzZSB0aGF0IGRpbWVuc2lvbiBhcyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiwgYW5kIHRoZSBcbGVmdHNraXAKLSAgJSB3aWxsIGtlZXAgZW50cmllcyBmcm9tIGJ1bXBpbmcgaW50byBlYWNoIG90aGVyLiAgVGFibGUgd2lsbCBzdGFydCBhdAotICAlIGxlZnQgbWFyZ2luIGFuZCBmaW5hbCBjb2x1bW4gd2lsbCBqdXN0aWZ5IGF0IHJpZ2h0IG1hcmdpbi4KLSAgJQotICAlIE1ha2Ugc3VyZSB3ZSBkb24ndCBpbmhlcml0IFxyaWdodHNraXAgZnJvbSB0aGUgb3V0ZXIgZW52aXJvbm1lbnQuCi0gIFxyaWdodHNraXA9MHB0Ci0gIFxpZm51bVxjb2xjb3VudD0xCi0gICAgJSBUaGUgZmlyc3QgY29sdW1uIHdpbGwgYmUgaW5kZW50ZWQgd2l0aCB0aGUgc3Vycm91bmRpbmcgdGV4dC4KLSAgICBcYWR2YW5jZVxoc2l6ZSBieVxsZWZ0c2tpcAotICBcZWxzZQotICAgIFxpZnNldHBlcmNlbnQgXGVsc2UKLSAgICAgICUgSWYgdXNlciBoYXMgbm90IHNldCBwcmVhbWJsZSBpbiB0ZXJtcyBvZiBwZXJjZW50IG9mIFxoc2l6ZQotICAgICAgJSB3ZSB3aWxsIGFkdmFuY2UgXGhzaXplIGJ5IFxtdWx0aXRhYmxlY29sc3BhY2UuCi0gICAgICBcYWR2YW5jZVxoc2l6ZSBieSBcbXVsdGl0YWJsZWNvbHNwYWNlCi0gICAgXGZpCi0gICAlIEluIGVpdGhlciBjYXNlIHdlIHdpbGwgbWFrZSBcbGVmdHNraXA9XG11bHRpdGFibGVjb2xzcGFjZToKLSAgXGxlZnRza2lwPVxtdWx0aXRhYmxlY29sc3BhY2UKLSAgXGZpCi0gICUgSWdub3Jpbmcgc3BhY2UgYXQgdGhlIGJlZ2lubmluZyBhbmQgZW5kIGF2b2lkcyBhbiBvY2Nhc2lvbmFsIHNwdXJpb3VzCi0gICUgYmxhbmsgbGluZSwgd2hlbiBUZVggZGVjaWRlcyB0byBicmVhayB0aGUgbGluZSBhdCB0aGUgc3BhY2UgYmVmb3JlIHRoZQotICAlIGJveCBmcm9tIHRoZSBtdWx0aXN0cnV0LCBzbyB0aGUgc3RydXQgZW5kcyB1cCBvbiBhIGxpbmUgYnkgaXRzZWxmLgotICAlIEZvciBleGFtcGxlOgotICAlIEBtdWx0aXRhYmxlIEBjb2x1bW5mcmFjdGlvbnMgLjExIC44OQotICAlIEBpdGVtIEBjb2RleyN9Ci0gICUgQHRhYiBMZWdhbCBob2xpZGF5IHdoaWNoIGlzIHZhbGlkIGluIG1ham9yIHBhcnRzIG9mIHRoZSB3aG9sZSBjb3VudHJ5LgotICAlIElzIGF1dG9tYXRpY2FsbHkgcHJvdmlkZWQgd2l0aCBoaWdobGlnaHRpbmcgc2VxdWVuY2VzIHJlc3BlY3RpdmVseSBtYXJraW5nCi0gICUgY2hhcmFjdGVycy4KLSAgXG5vaW5kZW50XGlnbm9yZXNwYWNlcyMjXHVuc2tpcFxtdWx0aXN0cnV0fVxjcgorICBcaGFsaWduXGJncm91cCAmJQorICAgIFxnbG9iYWxcYWR2YW5jZVxjb2xjb3VudCBieSAxCisgICAgXG11bHRpc3RydXQKKyAgICBcdnRvcHslCisgICAgICAlIFVzZSB0aGUgY3VycmVudCBcY29sY291bnQgdG8gZmluZCB0aGUgY29ycmVjdCBjb2x1bW4gd2lkdGg6CisgICAgICBcaHNpemU9XGV4cGFuZGFmdGVyXGNzbmFtZSBjb2xcdGhlXGNvbGNvdW50XGVuZGNzbmFtZQorICAgICAgJQorICAgICAgJSBJbiBvcmRlciB0byBrZWVwIGVudHJpZXMgZnJvbSBidW1waW5nIGludG8gZWFjaCBvdGhlcgorICAgICAgJSB3ZSB3aWxsIGFkZCBhIFxsZWZ0c2tpcCBvZiBcbXVsdGl0YWJsZWNvbHNwYWNlIHRvIGFsbCBjb2x1bW5zIGFmdGVyCisgICAgICAlIHRoZSBmaXJzdCBvbmUuCisgICAgICAlCisgICAgICAlIElmIGEgdGVtcGxhdGUgaGFzIGJlZW4gdXNlZCwgd2Ugd2lsbCBhZGQgXG11bHRpdGFibGVjb2xzcGFjZQorICAgICAgJSB0byB0aGUgd2lkdGggb2YgZWFjaCB0ZW1wbGF0ZSBlbnRyeS4KKyAgICAgICUKKyAgICAgICUgSWYgdGhlIHVzZXIgaGFzIHNldCBwcmVhbWJsZSBpbiB0ZXJtcyBvZiBwZXJjZW50IG9mIFxoc2l6ZSB3ZSB3aWxsCisgICAgICAlIHVzZSB0aGF0IGRpbWVuc2lvbiBhcyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiwgYW5kIHRoZSBcbGVmdHNraXAKKyAgICAgICUgd2lsbCBrZWVwIGVudHJpZXMgZnJvbSBidW1waW5nIGludG8gZWFjaCBvdGhlci4gIFRhYmxlIHdpbGwgc3RhcnQgYXQKKyAgICAgICUgbGVmdCBtYXJnaW4gYW5kIGZpbmFsIGNvbHVtbiB3aWxsIGp1c3RpZnkgYXQgcmlnaHQgbWFyZ2luLgorICAgICAgJQorICAgICAgJSBNYWtlIHN1cmUgd2UgZG9uJ3QgaW5oZXJpdCBccmlnaHRza2lwIGZyb20gdGhlIG91dGVyIGVudmlyb25tZW50LgorICAgICAgXHJpZ2h0c2tpcD0wcHQKKyAgICAgIFxpZm51bVxjb2xjb3VudD0xCisJJSBUaGUgZmlyc3QgY29sdW1uIHdpbGwgYmUgaW5kZW50ZWQgd2l0aCB0aGUgc3Vycm91bmRpbmcgdGV4dC4KKwlcYWR2YW5jZVxoc2l6ZSBieVxsZWZ0c2tpcAorICAgICAgXGVsc2UKKwlcaWZzZXRwZXJjZW50IFxlbHNlCisJICAlIElmIHVzZXIgaGFzIG5vdCBzZXQgcHJlYW1ibGUgaW4gdGVybXMgb2YgcGVyY2VudCBvZiBcaHNpemUKKwkgICUgd2Ugd2lsbCBhZHZhbmNlIFxoc2l6ZSBieSBcbXVsdGl0YWJsZWNvbHNwYWNlLgorCSAgXGFkdmFuY2VcaHNpemUgYnkgXG11bHRpdGFibGVjb2xzcGFjZQorCVxmaQorICAgICAgICUgSW4gZWl0aGVyIGNhc2Ugd2Ugd2lsbCBtYWtlIFxsZWZ0c2tpcD1cbXVsdGl0YWJsZWNvbHNwYWNlOgorICAgICAgXGxlZnRza2lwPVxtdWx0aXRhYmxlY29sc3BhY2UKKyAgICAgIFxmaQorICAgICAgJSBJZ25vcmluZyBzcGFjZSBhdCB0aGUgYmVnaW5uaW5nIGFuZCBlbmQgYXZvaWRzIGFuIG9jY2FzaW9uYWwgc3B1cmlvdXMKKyAgICAgICUgYmxhbmsgbGluZSwgd2hlbiBUZVggZGVjaWRlcyB0byBicmVhayB0aGUgbGluZSBhdCB0aGUgc3BhY2UgYmVmb3JlIHRoZQorICAgICAgJSBib3ggZnJvbSB0aGUgbXVsdGlzdHJ1dCwgc28gdGhlIHN0cnV0IGVuZHMgdXAgb24gYSBsaW5lIGJ5IGl0c2VsZi4KKyAgICAgICUgRm9yIGV4YW1wbGU6CisgICAgICAlIEBtdWx0aXRhYmxlIEBjb2x1bW5mcmFjdGlvbnMgLjExIC44OQorICAgICAgJSBAaXRlbSBAY29kZXsjfQorICAgICAgJSBAdGFiIExlZ2FsIGhvbGlkYXkgd2hpY2ggaXMgdmFsaWQgaW4gbWFqb3IgcGFydHMgb2YgdGhlIHdob2xlIGNvdW50cnkuCisgICAgICAlIElzIGF1dG9tYXRpY2FsbHkgcHJvdmlkZWQgd2l0aCBoaWdobGlnaHRpbmcgc2VxdWVuY2VzIHJlc3BlY3RpdmVseQorICAgICAgJSBtYXJraW5nIGNoYXJhY3RlcnMuCisgICAgICBcbm9pbmRlbnRcaWdub3Jlc3BhY2VzIyNcdW5za2lwXG11bHRpc3RydXQKKyAgICB9XGNyCit9CitcZGVmXEVtdWx0aXRhYmxleyUKKyAgXGNyY3IKKyAgXGVncm91cCAlIGVuZCB0aGUgXGhhbGlnbgorICBcZ2xvYmFsXHNldHBlcmNlbnRmYWxzZQogfQogCi1cZGVmXHNldG11bHRpdGFibGVzcGFjaW5neyUgdGVzdCB0byBzZWUgaWYgdXNlciBoYXMgc2V0IFxtdWx0aXRhYmxlbGluZXNwYWNlLgotJSBJZiBzbywgZG8gbm90aGluZy4gSWYgbm90LCBnaXZlIGl0IGFuIGFwcHJvcHJpYXRlIGRpbWVuc2lvbiBiYXNlZCBvbgotJSBjdXJyZW50IGJhc2VsaW5lc2tpcC4KK1xkZWZcc2V0bXVsdGl0YWJsZXNwYWNpbmd7JQorICBcZGVmXG11bHRpc3RydXR7XHN0cnV0fSUganVzdCB1c2UgdGhlIHN0YW5kYXJkIGxpbmUgc3BhY2luZworICAlCisgICUgQ29tcHV0ZSBcbXVsdGl0YWJsZWxpbmVzcGFjZSAoaWYgbm90IGRlZmluZWQgYnkgdXNlcikgZm9yIHVzZSBpbgorICAlIFxtdWx0aXRhYmxlcGFyc2tpcCBjYWxjdWxhdGlvbi4gIFdlIHVzZWQgZGVmaW5lIFxtdWx0aXN0cnV0IGJhc2VkIG9uCisgICUgdGhpcywgYnV0IChpcm9uaWNhbGx5KSB0aGF0IGNhdXNlZCB0aGUgc3BhY2luZyB0byBiZSBvZmYuCisgICUgU2VlIGJ1Zy10ZXhpbmZvIHJlcG9ydCBmcm9tIFdlcm5lciBMZW1iZXJnLCAzMSBPY3QgMjAwNCAxMjo1MjoyMCArMDEwMC4KIFxpZmRpbVxtdWx0aXRhYmxlbGluZXNwYWNlPTBwdAogXHNldGJveDA9XHZib3h7WH1cZ2xvYmFsXG11bHRpdGFibGVsaW5lc3BhY2U9XHRoZVxiYXNlbGluZXNraXAKIFxnbG9iYWxcYWR2YW5jZVxtdWx0aXRhYmxlbGluZXNwYWNlIGJ5LVxodDAKLSUlIHN0cnV0IHRvIHB1dCBpbiB0YWJsZSBpbiBjYXNlIHNvbWUgZW50cnkgZG9lc24ndCBoYXZlIGRlc2NlbmRlcnMsCi0lJSB0byBrZWVwIGxpbmVzIGVxdWFsbHkgc3BhY2VkCi1cbGV0XG11bHRpc3RydXQgPSBcc3RydXQKLVxlbHNlCi0lJSBGSVhNRTogd2hhdCBpcyBcYm94MCBzdXBwb3NlZCB0byBiZT8KLVxnZGVmXG11bHRpc3RydXR7XHZydWxlIGhlaWdodFxtdWx0aXRhYmxlbGluZXNwYWNlIGRlcHRoXGRwMAotd2lkdGgwcHRccmVsYXh9IFxmaQorXGZpCiAlJSBUZXN0IHRvIHNlZSBpZiBwYXJza2lwIGlzIGxhcmdlciB0aGFuIHNwYWNlIGJldHdlZW4gbGluZXMgb2YKICUlIHRhYmxlLiBJZiBub3QsIGRvIG5vdGhpbmcuCiAlJSAgICAgICAgSWYgc28sIHNldCB0byBzYW1lIGRpbWVuc2lvbiBhcyBtdWx0aXRhYmxlbGluZXNwYWNlLgpAQCAtMjQzMywxNjMgKzM4MTEsMzMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSUgdGhhbiBza2lwIGJldHdlZW4gbGluZXMgaW4gdGhlIHRhYmxlLgogXGZpfQogCi0lIEluIGNhc2UgYSBAZm9vdG5vdGUgYXBwZWFycyBpbnNpZGUgYW4gYWxpZ25tZW50LCBzYXZlIHRoZSBmb290bm90ZQotJSB0ZXh0IHRvIGEgYm94IGFuZCBtYWtlIHRoZSBcaW5zZXJ0IHdoZW4gYSByb3cgb2YgdGhlIHRhYmxlIGlzCi0lIGZpbmlzaGVkLiAgT3RoZXJ3aXNlLCB0aGUgaW5zZXJ0aW9uIGlzIGxvc3QsIGl0IG5ldmVyIG1pZ3JhdGVzIHRvIHRoZQotJSBtYWluIHZlcnRpY2FsIGxpc3QuICAtLWthc2FsLCAyMmphbjAzLgotJQotXG5ld2JveFxzYXZlZGZvb3Rub3RlcwotJQotJSBcZG90YWJsZSBcbGV0J3MgXHN0YXJ0Zm9vdGlucyB0byB0aGlzLCBzbyB0aGF0IFxkb2Zvb3Rub3RlIHdpbGwgY2FsbAotJSBpdCBpbnN0ZWFkIG9mIHN0YXJ0aW5nIHRoZSBpbnNlcnRpb24gcmlnaHQgYXdheS4KLVxkZWZcc3RhcnRzYXZlZGZvb3Rub3RleyUKLSAgXGdsb2JhbFxzZXRib3hcc2F2ZWRmb290bm90ZXMgPSBcdmJveFxiZ3JvdXAKLSAgICBcdW52Ym94XHNhdmVkZm9vdG5vdGVzCi19Ci1cZGVmXGNyY3J3aXRoZm9vdG5vdGVzeyUKLSAgXGNyY3IKLSAgXGlmdm9pZFxzYXZlZGZvb3Rub3RlcyBcZWxzZQotICAgIFxub2FsaWdue1xpbnNlcnRcZm9vdGluc3tcYm94XHNhdmVkZm9vdG5vdGVzfX0lCi0gIFxmaQotfQogCiBcbWVzc2FnZXtjb25kaXRpb25hbHMsfQotJSBQcmV2ZW50IGVycm9ycyBmb3Igc2VjdGlvbiBjb21tYW5kcy4KLSUgVXNlZCBpbiBAaWdub3JlIGFuZCBpbiBmYWlsaW5nIGNvbmRpdGlvbmFscy4KLVxkZWZcaWdub3Jlc2VjdGlvbnN7JQotICBcbGV0XGNoYXB0ZXI9XHJlbGF4Ci0gIFxsZXRcdW5udW1iZXJlZD1ccmVsYXgKLSAgXGxldFx0b3A9XHJlbGF4Ci0gIFxsZXRcdW5udW1iZXJlZHNlYz1ccmVsYXgKLSAgXGxldFx1bm51bWJlcmVkc2VjdGlvbj1ccmVsYXgKLSAgXGxldFx1bm51bWJlcmVkc3Vic2VjPVxyZWxheAotICBcbGV0XHVubnVtYmVyZWRzdWJzZWN0aW9uPVxyZWxheAotICBcbGV0XHVubnVtYmVyZWRzdWJzdWJzZWM9XHJlbGF4Ci0gIFxsZXRcdW5udW1iZXJlZHN1YnN1YnNlY3Rpb249XHJlbGF4Ci0gIFxsZXRcc2VjdGlvbj1ccmVsYXgKLSAgXGxldFxzdWJzZWM9XHJlbGF4Ci0gIFxsZXRcc3Vic3Vic2VjPVxyZWxheAotICBcbGV0XHN1YnNlY3Rpb249XHJlbGF4Ci0gIFxsZXRcc3Vic3Vic2VjdGlvbj1ccmVsYXgKLSAgXGxldFxhcHBlbmRpeD1ccmVsYXgKLSAgXGxldFxhcHBlbmRpeHNlYz1ccmVsYXgKLSAgXGxldFxhcHBlbmRpeHNlY3Rpb249XHJlbGF4Ci0gIFxsZXRcYXBwZW5kaXhzdWJzZWM9XHJlbGF4Ci0gIFxsZXRcYXBwZW5kaXhzdWJzZWN0aW9uPVxyZWxheAotICBcbGV0XGFwcGVuZGl4c3Vic3Vic2VjPVxyZWxheAotICBcbGV0XGFwcGVuZGl4c3Vic3Vic2VjdGlvbj1ccmVsYXgKLSAgXGxldFxjb250ZW50cz1ccmVsYXgKLSAgXGxldFxzbWFsbGJvb2s9XHJlbGF4Ci0gIFxsZXRcdGl0bGVwYWdlPVxyZWxheAotfQogCi0lIFVzZWQgaW4gbmVzdGVkIGNvbmRpdGlvbmFscywgd2hlcmUgd2UgaGF2ZSB0byBwYXJzZSB0aGUgVGV4aW5mbyBzb3VyY2UKLSUgYW5kIHNvIHdhbnQgdG8gdHVybiBvZmYgbW9zdCBjb21tYW5kcywgaW4gY2FzZSB0aGV5IGFyZSB1c2VkCi0lIGluY29ycmVjdGx5LgorJSBAaWZ0ZXgsIEBpZm5vdGRvY2Jvb2ssIEBpZm5vdGh0bWwsIEBpZm5vdGluZm8sIEBpZm5vdHBsYWludGV4dCwKKyUgQGlmbm90eG1sIGFsd2F5cyBzdWNjZWVkLiAgVGhleSBjdXJyZW50bHkgZG8gbm90aGluZzsgd2UgZG9uJ3QKKyUgYXR0ZW1wdCB0byBjaGVjayB3aGV0aGVyIHRoZSBjb25kaXRpb25hbHMgYXJlIHByb3Blcmx5IG5lc3RlZC4gIEJ1dCB3ZQorJSBoYXZlIHRvIHJlbWVtYmVyIHRoYXQgdGhleSBhcmUgY29uZGl0aW9uYWxzLCBzbyB0aGF0IEBlbmQgZG9lc24ndAorJSBhdHRlbXB0IHRvIGNsb3NlIGFuIGVudmlyb25tZW50IGdyb3VwLgogJQotJSBXZSB1c2UgXGVtcHR5IGluc3RlYWQgb2YgXHJlbGF4IGZvciB0aGUgQGRlZi4uLiBjb21tYW5kcywgc28gdGhhdCBcZW5kCi0lIGRvZXNuJ3QgdGhyb3cgYW4gZXJyb3IuICBGb3IgaW5zdGFuY2U6Ci0lIEBpZ25vcmUKLSUgQGRlZmZuIC4uLgotJSBAZW5kIGRlZmZuCi0lIEBlbmQgaWdub3JlCi0lIAotJSBUaGUgQGVuZCBkZWZmbiBpcyBnb2luZyB0byBnZXQgZXhwYW5kZWQsIGJlY2F1c2Ugd2UncmUgdHJ5aW5nIHRvIGFsbG93Ci0lIG5lc3RlZCBjb25kaXRpb25hbHMuICBCdXQgd2UgZG9uJ3Qgd2FudCB0byBleHBhbmQgdGhlIGFjdHVhbCBAZGVmZm4sCi0lIHNpbmNlIGl0IG1pZ2h0IGJlIHN5bnRhY3RpY2FsbHkgY29ycmVjdCBhbmQgaW50ZW5kZWQgdG8gYmUgaWdub3JlZC4KLSUgU2luY2UgXGVuZCBjaGVja3MgZm9yIFxyZWxheCwgdXNpbmcgXGVtcHR5IGRvZXMgbm90IGNhdXNlIGFuIGVycm9yLgotJSAKLVxkZWZcaWdub3JlbW9yZWNvbW1hbmRzeyUKLSAgXGxldFxkZWZjb2RlaW5kZXggPSBccmVsYXgKLSAgXGxldFxkZWZjdiA9IFxlbXB0eQotICBcbGV0XGRlZmN2eCA9IFxlbXB0eQotICBcbGV0XEVkZWZjdiA9IFxlbXB0eQotICBcbGV0XGRlZmZuID0gXGVtcHR5Ci0gIFxsZXRcZGVmZm54ID0gXGVtcHR5Ci0gIFxsZXRcRWRlZmZuID0gXGVtcHR5Ci0gIFxsZXRcZGVmaW5kZXggPSBccmVsYXgKLSAgXGxldFxkZWZpdmFyID0gXGVtcHR5Ci0gIFxsZXRcZGVmaXZhcnggPSBcZW1wdHkKLSAgXGxldFxFZGVmaXZhciA9IFxlbXB0eQotICBcbGV0XGRlZm1hYyA9IFxlbXB0eQotICBcbGV0XGRlZm1hY3ggPSBcZW1wdHkKLSAgXGxldFxFZGVmbWFjID0gXGVtcHR5Ci0gIFxsZXRcZGVmbWV0aG9kID0gXGVtcHR5Ci0gIFxsZXRcZGVmbWV0aG9keCA9IFxlbXB0eQotICBcbGV0XEVkZWZtZXRob2QgPSBcZW1wdHkKLSAgXGxldFxkZWZvcCA9IFxlbXB0eQotICBcbGV0XGRlZm9weCA9IFxlbXB0eQotICBcbGV0XEVkZWZvcCA9IFxlbXB0eQotICBcbGV0XGRlZm9wdCA9IFxlbXB0eQotICBcbGV0XGRlZm9wdHggPSBcZW1wdHkKLSAgXGxldFxFZGVmb3B0ID0gXGVtcHR5Ci0gIFxsZXRcZGVmc3BlYyA9IFxlbXB0eQotICBcbGV0XGRlZnNwZWN4ID0gXGVtcHR5Ci0gIFxsZXRcRWRlZnNwZWMgPSBcZW1wdHkKLSAgXGxldFxkZWZ0cCA9IFxlbXB0eQotICBcbGV0XGRlZnRweCA9IFxlbXB0eQotICBcbGV0XEVkZWZ0cCA9IFxlbXB0eQotICBcbGV0XGRlZnR5cGVmbiA9IFxlbXB0eQotICBcbGV0XGRlZnR5cGVmbnggPSBcZW1wdHkKLSAgXGxldFxFZGVmdHlwZWZuID0gXGVtcHR5Ci0gIFxsZXRcZGVmdHlwZWZ1biA9IFxlbXB0eQotICBcbGV0XGRlZnR5cGVmdW54ID0gXGVtcHR5Ci0gIFxsZXRcRWRlZnR5cGVmdW4gPSBcZW1wdHkKLSAgXGxldFxkZWZ0eXBlaXZhciA9IFxlbXB0eQotICBcbGV0XGRlZnR5cGVpdmFyeCA9IFxlbXB0eQotICBcbGV0XEVkZWZ0eXBlaXZhciA9IFxlbXB0eQotICBcbGV0XGRlZnR5cGVtZXRob2QgPSBcZW1wdHkKLSAgXGxldFxkZWZ0eXBlbWV0aG9keCA9IFxlbXB0eQotICBcbGV0XEVkZWZ0eXBlbWV0aG9kID0gXGVtcHR5Ci0gIFxsZXRcZGVmdHlwZW9wID0gXGVtcHR5Ci0gIFxsZXRcZGVmdHlwZW9weCA9IFxlbXB0eQotICBcbGV0XEVkZWZ0eXBlb3AgPSBcZW1wdHkKLSAgXGxldFxkZWZ0eXBldmFyID0gXGVtcHR5Ci0gIFxsZXRcZGVmdHlwZXZhcnggPSBcZW1wdHkKLSAgXGxldFxFZGVmdHlwZXZhciA9IFxlbXB0eQotICBcbGV0XGRlZnR5cGV2ciA9IFxlbXB0eQotICBcbGV0XGRlZnR5cGV2cnggPSBcZW1wdHkKLSAgXGxldFxFZGVmdHlwZXZyID0gXGVtcHR5Ci0gIFxsZXRcZGVmdW4gPSBcZW1wdHkKLSAgXGxldFxkZWZ1bnggPSBcZW1wdHkKLSAgXGxldFxFZGVmdW4gPSBcZW1wdHkKLSAgXGxldFxkZWZ2YXIgPSBcZW1wdHkKLSAgXGxldFxkZWZ2YXJ4ID0gXGVtcHR5Ci0gIFxsZXRcRWRlZnZhciA9IFxlbXB0eQotICBcbGV0XGRlZnZyID0gXGVtcHR5Ci0gIFxsZXRcZGVmdnJ4ID0gXGVtcHR5Ci0gIFxsZXRcRWRlZnZyID0gXGVtcHR5Ci0gIFxsZXRcY2xlYXIgPSBccmVsYXgKLSAgXGxldFxkb3duID0gXHJlbGF4Ci0gIFxsZXRcZXZlbmZvb3RpbmcgPSBccmVsYXgKLSAgXGxldFxldmVuaGVhZGluZyA9IFxyZWxheAotICBcbGV0XGV2ZXJ5Zm9vdGluZyA9IFxyZWxheAotICBcbGV0XGV2ZXJ5aGVhZGluZyA9IFxyZWxheAotICBcbGV0XGhlYWRpbmdzID0gXHJlbGF4Ci0gIFxsZXRcaW5jbHVkZSA9IFxyZWxheAotICBcbGV0XGl0ZW0gPSBccmVsYXgKLSAgXGxldFxsb3dlcnNlY3Rpb25zID0gXHJlbGF4Ci0gIFxsZXRcb2RkZm9vdGluZyA9IFxyZWxheAotICBcbGV0XG9kZGhlYWRpbmcgPSBccmVsYXgKLSAgXGxldFxwcmludGluZGV4ID0gXHJlbGF4Ci0gIFxsZXRccHhyZWYgPSBccmVsYXgKLSAgXGxldFxyYWlzZXNlY3Rpb25zID0gXHJlbGF4Ci0gIFxsZXRccmVmID0gXHJlbGF4Ci0gIFxsZXRcc2V0ID0gXHJlbGF4Ci0gIFxsZXRcc2V0Y2hhcHRlcm5ld3BhZ2UgPSBccmVsYXgKLSAgXGxldFxzZXRjaGFwdGVyc3R5bGUgPSBccmVsYXgKLSAgXGxldFxzZXR0aXRsZSA9IFxyZWxheAotICBcbGV0XHVwID0gXHJlbGF4Ci0gIFxsZXRcdmVyYmF0aW1pbmNsdWRlID0gXHJlbGF4Ci0gIFxsZXRceHJlZiA9IFxyZWxheAorXGRlZlxtYWtlY29uZCMxeyUKKyAgXGV4cGFuZGFmdGVyXGxldFxjc25hbWUgIzFcZW5kY3NuYW1lID0gXHJlbGF4CisgIFxleHBhbmRhZnRlclxsZXRcY3NuYW1lIGlzY29uZC4jMVxlbmRjc25hbWUgPSAxCiB9CitcbWFrZWNvbmR7aWZ0ZXh9CitcbWFrZWNvbmR7aWZub3Rkb2Nib29rfQorXG1ha2Vjb25ke2lmbm90aHRtbH0KK1xtYWtlY29uZHtpZm5vdGluZm99CitcbWFrZWNvbmR7aWZub3RwbGFpbnRleHR9CitcbWFrZWNvbmR7aWZub3R4bWx9CiAKICUgSWdub3JlIEBpZ25vcmUsIEBpZmh0bWwsIEBpZmluZm8sIGFuZCB0aGUgbGlrZS4KICUKIFxkZWZcZGlyZW50cnl7XGRvaWdub3Jle2RpcmVudHJ5fX0KLVxkZWZcZG9jdW1lbnRkZXNjcmlwdGlvbndvcmR7ZG9jdW1lbnRkZXNjcmlwdGlvbn0KIFxkZWZcZG9jdW1lbnRkZXNjcmlwdGlvbntcZG9pZ25vcmV7ZG9jdW1lbnRkZXNjcmlwdGlvbn19CitcZGVmXGRvY2Jvb2t7XGRvaWdub3Jle2RvY2Jvb2t9fQogXGRlZlxodG1se1xkb2lnbm9yZXtodG1sfX0KK1xkZWZcaWZkb2Nib29re1xkb2lnbm9yZXtpZmRvY2Jvb2t9fQogXGRlZlxpZmh0bWx7XGRvaWdub3Jle2lmaHRtbH19CiBcZGVmXGlmaW5mb3tcZG9pZ25vcmV7aWZpbmZvfX0KIFxkZWZcaWZub3R0ZXh7XGRvaWdub3Jle2lmbm90dGV4fX0KQEAgLTI1OTksMTk4ICszODQ3LDEzOSBAQAogXGRlZlxtZW51e1xkb2lnbm9yZXttZW51fX0KIFxkZWZceG1se1xkb2lnbm9yZXt4bWx9fQogCi0lIEBkaXJjYXRlZ29yeSBDQVRFR09SWSAgLS0gc3BlY2lmeSBhIGNhdGVnb3J5IG9mIHRoZSBkaXIgZmlsZQotJSB3aGljaCB0aGlzIGZpbGUgc2hvdWxkIGJlbG9uZyB0by4gIElnbm9yZSB0aGlzIGluIFRlWC4KLVxsZXRcZGlyY2F0ZWdvcnkgPSBcY29tbWVudAotCi0lIElnbm9yZSB0ZXh0IHVudGlsIGEgbGluZSBgQGVuZCAjMScuCislIElnbm9yZSB0ZXh0IHVudGlsIGEgbGluZSBgQGVuZCAjMScsIGtlZXBpbmcgdHJhY2sgb2YgbmVzdGVkIGNvbmRpdGlvbmFscy4KICUKKyUgQSBjb3VudCB0byByZW1lbWJlciB0aGUgZGVwdGggb2YgbmVzdGluZy4KK1xuZXdjb3VudFxkb2lnbm9yZWNvdW50CisKIFxkZWZcZG9pZ25vcmUjMXtcYmVnaW5ncm91cAotICAlIERvbid0IGNvbXBsYWluIGFib3V0IGNvbnRyb2wgc2VxdWVuY2VzIHdlIGhhdmUgZGVjbGFyZWQgXG91dGVyLgotICBcaWdub3Jlc2VjdGlvbnMKLSAgJQotICAlIERlZmluZSBhIGNvbW1hbmQgdG8gc3dhbGxvdyB0ZXh0IHVudGlsIHdlIHJlYWNoIGBAZW5kICMxJy4KLSAgJSBUaGlzIEAgaXMgYSBjYXRjb2RlIDEyIHRva2VuICh0aGF0IGlzIHRoZSBub3JtYWwgY2F0Y29kZSBvZiBAIGluCi0gICUgdGhpcyB0ZXhpbmZvLnRleCBmaWxlKS4gIFdlIGNoYW5nZSB0aGUgY2F0Y29kZSBvZiBAIGJlbG93IHRvIG1hdGNoLgotICBcbG9uZ1xkZWZcZG9pZ25vcmV0ZXh0IyMxQGVuZCAjMXtcZW5kZG9pZ25vcmV9JQorICAlIFNjYW4gaW4gYGB2ZXJiYXRpbScnIG1vZGU6CisgIFxvYmV5bGluZXMKKyAgXGNhdGNvZGVgXEAgPSBcb3RoZXIKKyAgXGNhdGNvZGVgXHsgPSBcb3RoZXIKKyAgXGNhdGNvZGVgXH0gPSBcb3RoZXIKICAgJQogICAlIE1ha2Ugc3VyZSB0aGF0IHNwYWNlcyB0dXJuIGludG8gdG9rZW5zIHRoYXQgbWF0Y2ggd2hhdCBcZG9pZ25vcmV0ZXh0IHdhbnRzLgotICBcY2F0Y29kZVxzcGFjZUNoYXIgPSAxMAorICBcc3BhY2Vpc3NwYWNlCiAgICUKLSAgJSBJZ25vcmUgYnJhY2VzLCB0b28sIHNvIG1pc21hdGNoZWQgYnJhY2VzIGRvbid0IGNhdXNlIHRyb3VibGUuCi0gIFxjYXRjb2RlYFx7ID0gOQotICBcY2F0Y29kZWBcfSA9IDkKKyAgJSBDb3VudCBudW1iZXIgb2YgIzEncyB0aGF0IHdlJ3ZlIHNlZW4uCisgIFxkb2lnbm9yZWNvdW50ID0gMAogICAlCi0gICUgV2UgbXVzdCBub3QgaGF2ZSBAYyBpbnRlcnByZXRlZCBhcyBhIGNvbnRyb2wgc2VxdWVuY2UuCi0gIFxjYXRjb2RlYFxAID0gMTIKKyAgJSBTd2FsbG93IHRleHQgdW50aWwgd2UgcmVhY2ggdGhlIG1hdGNoaW5nIGBAZW5kICMxJy4KKyAgXGRvZG9pZ25vcmV7IzF9JQorfQorCit7IFxjYXRjb2RlYF89MTEgJSBXZSB3YW50IHRvIHVzZSBcX1NUT1BfIHdoaWNoIGNhbm5vdCBhcHBlYXIgaW4gdGV4aW5mbyBzb3VyY2UuCisgIFxvYmV5bGluZXMgJQogICAlCi0gIFxkZWZcaWdub3Jld29yZHsjMX0lCi0gIFxpZnhcaWdub3Jld29yZFxkb2N1bWVudGRlc2NyaXB0aW9ud29yZAotICAgICUgVGhlIGMga2x1ZGdlIGJyZWFrcyBkb2N1bWVudGRlc2NyaXB0aW9uLCBzaW5jZQotICAgICUgYGRvY3VtZW50ZGVzY3JpcHRpb24nIGNvbnRhaW5zIGEgYGMnLiAgTWVhbnMgbm90IGV2ZXJ5dGhpbmcgd2lsbAotICAgICUgYmUgaWdub3JlZCBpbnNpZGUgQGRvY3VtZW50ZGVzY3JpcHRpb24sIGJ1dCBvaCB3ZWxsLi4uCi0gIFxlbHNlCi0gICAgJSBNYWtlIHRoZSBsZXR0ZXIgYyBhIGNvbW1lbnQgY2hhcmFjdGVyIHNvIHRoYXQgdGhlIHJlc3Qgb2YgdGhlIGxpbmUKLSAgICAlIHdpbGwgYmUgaWdub3JlZC4gVGhpcyB3YXksIHRoZSBkb2N1bWVudCBjYW4gaGF2ZSAoZm9yIGV4YW1wbGUpCi0gICAgJSAgIEBjIEBlbmQgaWZpbmZvCi0gICAgJSBhbmQgdGhlIEBlbmQgaWZpbmZvIHdpbGwgYmUgcHJvcGVybHkgaWdub3JlZC4KLSAgICAlIChXZSd2ZSBqdXN0IGNoYW5nZWQgQCB0byBjYXRjb2RlIDEyLikKLSAgICBcY2F0Y29kZWBcYyA9IDE0CisgIFxnZGVmXGRvZG9pZ25vcmUjMXslCisgICAgJSAjMSBjb250YWlucyB0aGUgY29tbWFuZCBuYW1lIGFzIGEgc3RyaW5nLCBlLmcuLCBgaWZpbmZvJy4KKyAgICAlCisgICAgJSBEZWZpbmUgYSBjb21tYW5kIHRvIGZpbmQgdGhlIG5leHQgYEBlbmQgIzEnLgorICAgIFxsb25nXGRlZlxkb2lnbm9yZXRleHQjIzFeXk1AZW5kICMxeyUKKyAgICAgIFxkb2lnbm9yZXRleHR5eXkjIzFeXk1AIzFcX1NUT1BffSUKKyAgICAlCisgICAgJSBBbmQgdGhpcyBjb21tYW5kIHRvIGZpbmQgYW5vdGhlciAjMSBjb21tYW5kLCBhdCB0aGUgYmVnaW5uaW5nIG9mIGEKKyAgICAlIGxpbmUuICAoT3RoZXJ3aXNlLCB3ZSB3b3VsZCBjb25zaWRlciBhIGxpbmUgYEBjIEBpZnNldCcsIGZvcgorICAgICUgZXhhbXBsZSwgdG8gY291bnQgYXMgYW4gQGlmc2V0IGZvciBuZXN0aW5nLikKKyAgICBcbG9uZ1xkZWZcZG9pZ25vcmV0ZXh0eXl5IyMxXl5NQCMxIyMyXF9TVE9QX3tcZG9pZ25vcmV5eXl7IyMyfVxfU1RPUF99JQorICAgICUKKyAgICAlIEFuZCBub3cgZXhwYW5kIHRoYXQgY29tbWFuZC4KKyAgICBcZG9pZ25vcmV0ZXh0IF5eTSUKKyAgfSUKK30KKworXGRlZlxkb2lnbm9yZXl5eSMxeyUKKyAgXGRlZlx0ZW1weyMxfSUKKyAgXGlmeFx0ZW1wXGVtcHR5CQkJJSBOb3RoaW5nIGZvdW5kLgorICAgIFxsZXRcbmV4dFxkb2lnbm9yZXRleHR6enoKKyAgXGVsc2UJCQkJCSUgRm91bmQgYSBuZXN0ZWQgY29uZGl0aW9uLCAuLi4KKyAgICBcYWR2YW5jZVxkb2lnbm9yZWNvdW50IGJ5IDEKKyAgICBcbGV0XG5leHRcZG9pZ25vcmV0ZXh0eXl5CQklIC4uLiwgbG9vayBmb3IgYW5vdGhlci4KKyAgICAlIElmIHdlJ3JlIGhlcmUsICMxIGVuZHMgd2l0aCBeXk1caWZpbmZvIChmb3IgZXhhbXBsZSkuCiAgIFxmaQotICAlCi0gICUgQW5kIG5vdyBleHBhbmQgdGhlIGNvbW1hbmQgZGVmaW5lZCBhYm92ZS4KLSAgXGRvaWdub3JldGV4dAorICBcbmV4dCAjMSUgdGhlIHRva2VuIFxfU1RPUF8gaXMgcHJlc2VudCBqdXN0IGFmdGVyIHRoaXMgbWFjcm8uCiB9CiAKLSUgV2hhdCB3ZSBkbyB0byBmaW5pc2ggb2ZmIGlnbm9yZWQgdGV4dC4KKyUgV2UgaGF2ZSB0byBzd2FsbG93IHRoZSByZW1haW5pbmcgIlxfU1RPUF8iLgogJQotXGRlZlxlbmRkb2lnbm9yZXtcZW5kZ3JvdXBcaWdub3Jlc3BhY2VzfSUKLQotXG5ld2lmXGlmd2FybmVkb2JzXHdhcm5lZG9ic2ZhbHNlCi1cZGVmXG9ic3RleHdhcm57JQotICBcaWZ3YXJuZWRvYnNccmVsYXhcZWxzZQotICAlIFdlIG5lZWQgdG8gd2FybiBmb2xrcyB0aGF0IHRoZXkgbWF5IGhhdmUgdHJvdWJsZSB3aXRoIFRlWCAzLjAuCi0gICUgVGhpcyB1c2VzIFxpbW1lZGlhdGVcd3JpdGUxNiByYXRoZXIgdGhhbiBcbWVzc2FnZSB0byBnZXQgbmV3bGluZXMuCi0gICAgXGltbWVkaWF0ZVx3cml0ZTE2e30KLSAgICBcaW1tZWRpYXRlXHdyaXRlMTZ7V0FSTklORzogZm9yIHVzZXJzIG9mIFVuaXggVGVYIDMuMCF9Ci0gICAgXGltbWVkaWF0ZVx3cml0ZTE2e1RoaXMgbWFudWFsIHRyaXBzIGEgYnVnIGluIFRlWCB2ZXJzaW9uIDMuMCAodGV4IGhhbmdzKS59Ci0gICAgXGltbWVkaWF0ZVx3cml0ZTE2e0lmIHlvdSBhcmUgcnVubmluZyBhbm90aGVyIHZlcnNpb24gb2YgVGVYLCByZWxheC59Ci0gICAgXGltbWVkaWF0ZVx3cml0ZTE2e0lmIHlvdSBhcmUgcnVubmluZyBVbml4IFRlWCAzLjAsIGtpbGwgdGhpcyBUZVggcHJvY2Vzcy59Ci0gICAgXGltbWVkaWF0ZVx3cml0ZTE2eyAgVGhlbiB1cGdyYWRlIHlvdXIgVGVYIGluc3RhbGxhdGlvbiBpZiB5b3UgY2FuLn0KLSAgICBcaW1tZWRpYXRlXHdyaXRlMTZ7ICAoU2VlIGZ0cDovL2Z0cC5nbnUub3JnL25vbi1nbnUvVGVYLlJFQURNRS4pfQotICAgIFxpbW1lZGlhdGVcd3JpdGUxNntJZiB5b3UgYXJlIHN0dWNrIHdpdGggdmVyc2lvbiAzLjAsIHJ1biB0aGV9Ci0gICAgXGltbWVkaWF0ZVx3cml0ZTE2eyAgc2NyaXB0IGBgdGV4M3BhdGNoJycgZnJvbSB0aGUgVGV4aW5mbyBkaXN0cmlidXRpb259Ci0gICAgXGltbWVkaWF0ZVx3cml0ZTE2eyAgdG8gdXNlIGEgd29ya2Fyb3VuZC59Ci0gICAgXGltbWVkaWF0ZVx3cml0ZTE2e30KLSAgICBcZ2xvYmFsXHdhcm5lZG9ic3RydWUKLSAgICBcZmkKK1xkZWZcZG9pZ25vcmV0ZXh0enp6IzF7JQorICBcaWZudW1cZG9pZ25vcmVjb3VudCA9IDAJJSBXZSBoYXZlIGp1c3QgZm91bmQgdGhlIG91dGVybW9zdCBAZW5kLgorICAgIFxsZXRcbmV4dFxlbmRkb2lnbm9yZQorICBcZWxzZQkJCQklIFN0aWxsIGluc2lkZSBhIG5lc3RlZCBjb25kaXRpb24uCisgICAgXGFkdmFuY2VcZG9pZ25vcmVjb3VudCBieSAtMQorICAgIFxsZXRcbmV4dFxkb2lnbm9yZXRleHQgICAgICAlIExvb2sgZm9yIHRoZSBuZXh0IEBlbmQuCisgIFxmaQorICBcbmV4dAogfQogCi0lICoqSW4gVGVYIDMuMCwgc2V0dGluZyB0ZXh0IGluIFxudWxsZm9udCBoYW5ncyB0ZXguICBGb3IgYQotJSB3b3JrYXJvdW5kICh3aGljaCByZXF1aXJlcyB0aGUgZmlsZSBgYGR1bW15LnRmbScnIHRvIGJlIGluc3RhbGxlZCksCi0lIHVuY29tbWVudCB0aGUgZm9sbG93aW5nIGxpbmU6Ci0lJSUlJVxmb250XG51bGxmb250PWR1bW15XGxldFxvYnN0ZXh3YXJuPVxyZWxheAotCi0lIElnbm9yZSB0ZXh0LCBleGNlcHQgdGhhdCB3ZSBrZWVwIHRyYWNrIG9mIGNvbmRpdGlvbmFsIGNvbW1hbmRzIGZvcgotJSBwdXJwb3NlcyBvZiBuZXN0aW5nLCB1cCB0byBhbiBgQGVuZCAjMScgY29tbWFuZC4KLSUKLVxkZWZcbmVzdGVkaWdub3JlIzF7JQotICBcb2JzdGV4d2FybgotICAlIFdlIG11c3QgYWN0dWFsbHkgZXhwYW5kIHRoZSBpZ25vcmVkIHRleHQgdG8gbG9vayBmb3IgdGhlIEBlbmQKLSAgJSBjb21tYW5kLCBzbyB0aGF0IG5lc3RlZCBpZ25vcmUgY29uc3RydWN0cyB3b3JrLiAgVGh1cywgd2UgcHV0IHRoZQotICAlIHRleHQgaW50byBhIFx2Ym94IGFuZCB0aGVuIGRvIG5vdGhpbmcgd2l0aCB0aGUgcmVzdWx0LiAgVG8gbWluaW1pemUKLSAgJSB0aGUgY2hhbmNlIG9mIG1lbW9yeSBvdmVyZmxvdywgd2UgZm9sbG93IHRoZSBhcHByb2FjaCBvdXRsaW5lZCBvbgotICAlIHBhZ2UgNDAxIG9mIHRoZSBUZVhib29rLgotICAlCi0gIFxzZXRib3gwID0gXHZib3hcYmdyb3VwCi0gICAgJSBEb24ndCBjb21wbGFpbiBhYm91dCBjb250cm9sIHNlcXVlbmNlcyB3ZSBoYXZlIGRlY2xhcmVkIFxvdXRlci4KLSAgICBcaWdub3Jlc2VjdGlvbnMKLSAgICAlCi0gICAgJSBEZWZpbmUgYEBlbmQgIzEnIHRvIGVuZCB0aGUgYm94LCB3aGljaCB3aWxsIGluIHR1cm4gdW5kZWZpbmUgdGhlCi0gICAgJSBAZW5kIGNvbW1hbmQgYWdhaW4uCi0gICAgXGV4cGFuZGFmdGVyXGRlZlxjc25hbWUgRSMxXGVuZGNzbmFtZXtcZWdyb3VwXGlnbm9yZXNwYWNlc30lCi0gICAgJQotICAgICUgV2UgYXJlIGdvaW5nIHRvIGJlIHBhcnNpbmcgVGV4aW5mbyBjb21tYW5kcy4gIE1vc3QgY2F1c2Ugbm8KLSAgICAlIHRyb3VibGUgd2hlbiB0aGV5IGFyZSB1c2VkIGluY29ycmVjdGx5LCBidXQgc29tZSBjb21tYW5kcyBkbwotICAgICUgY29tcGxpY2F0ZWQgYXJndW1lbnQgcGFyc2luZyBvciBvdGhlcndpc2UgZ2V0IGNvbmZ1c2VkLCBzbyB3ZQotICAgICUgdW5kZWZpbmUgdGhlbS4KLSAgICAlCi0gICAgJSBXZSBjYW4ndCBkbyBhbnl0aGluZyBhYm91dCBzdHJheSBALXNpZ25zLCB1bmZvcnR1bmF0ZWx5OwotICAgICUgdGhleSdsbCBwcm9kdWNlIGB1bmRlZmluZWQgY29udHJvbCBzZXF1ZW5jZScgZXJyb3JzLgotICAgIFxpZ25vcmVtb3JlY29tbWFuZHMKLSAgICAlCi0gICAgJSBTZXQgdGhlIGN1cnJlbnQgZm9udCB0byBiZSBcbnVsbGZvbnQsIGEgVGVYIHByaW1pdGl2ZSwgYW5kIGRlZmluZQotICAgICUgYWxsIHRoZSBmb250IGNvbW1hbmRzIHRvIGFsc28gdXNlIFxudWxsZm9udC4gIFdlIGRvbid0IHVzZQotICAgICUgZHVtbXkudGZtLCBhcyBzdWdnZXN0ZWQgaW4gdGhlIFRlWGJvb2ssIGJlY2F1c2Ugc29tZSBzaXRlcwotICAgICUgbWlnaHQgbm90IGhhdmUgdGhhdCBpbnN0YWxsZWQuICBUaGVyZWZvcmUsIG1hdGggbW9kZSB3aWxsIHN0aWxsCi0gICAgJSBwcm9kdWNlIG91dHB1dCwgYnV0IHRoYXQgc2hvdWxkIGJlIGFuIGV4dHJlbWVseSBzbWFsbCBhbW91bnQgb2YKLSAgICAlIHN0dWZmIGNvbXBhcmVkIHRvIHRoZSBtYWluIGlucHV0LgotICAgICUKLSAgICBcbnVsbGZvbnQKLSAgICBcbGV0XHRlbnJtPVxudWxsZm9udCBcbGV0XHRlbml0PVxudWxsZm9udCBcbGV0XHRlbnNsPVxudWxsZm9udAotICAgIFxsZXRcdGVuYmY9XG51bGxmb250IFxsZXRcdGVudHQ9XG51bGxmb250IFxsZXRcc21hbGxjYXBzPVxudWxsZm9udAotICAgIFxsZXRcdGVuc2Y9XG51bGxmb250Ci0gICAgJSBTaW1pbGFybHkgZm9yIGluZGV4IGZvbnRzLgotICAgIFxsZXRcc21hbGxybT1cbnVsbGZvbnQgXGxldFxzbWFsbGl0PVxudWxsZm9udCBcbGV0XHNtYWxsc2w9XG51bGxmb250Ci0gICAgXGxldFxzbWFsbGJmPVxudWxsZm9udCBcbGV0XHNtYWxsdHQ9XG51bGxmb250IFxsZXRcc21hbGxzYz1cbnVsbGZvbnQKLSAgICBcbGV0XHNtYWxsc2Y9XG51bGxmb250Ci0gICAgJSBTaW1pbGFybHkgZm9yIHNtYWxsZXhhbXBsZSBmb250cy4KLSAgICBcbGV0XHNtYWxsZXJybT1cbnVsbGZvbnQgXGxldFxzbWFsbGVyaXQ9XG51bGxmb250IFxsZXRcc21hbGxlcnNsPVxudWxsZm9udAotICAgIFxsZXRcc21hbGxlcmJmPVxudWxsZm9udCBcbGV0XHNtYWxsZXJ0dD1cbnVsbGZvbnQgXGxldFxzbWFsbGVyc2M9XG51bGxmb250Ci0gICAgXGxldFxzbWFsbGVyc2Y9XG51bGxmb250Ci0gICAgJQotICAgICUgRG9uJ3QgY29tcGxhaW4gd2hlbiBjaGFyYWN0ZXJzIGFyZSBtaXNzaW5nIGZyb20gdGhlIGZvbnRzLgotICAgIFx0cmFjaW5nbG9zdGNoYXJzID0gMAotICAgICUKLSAgICAlIERvbid0IGJvdGhlciB0byBkbyBzcGFjZSBmYWN0b3IgY2FsY3VsYXRpb25zLgotICAgIFxmcmVuY2hzcGFjaW5nCi0gICAgJQotICAgICUgRG9uJ3QgcmVwb3J0IHVuZGVyZnVsbCBoYm94ZXMuCi0gICAgXGhiYWRuZXNzID0gMTAwMDAKLSAgICAlCi0gICAgJSBEbyBtaW5pbWFsIGxpbmUtYnJlYWtpbmcuCi0gICAgXHByZXRvbGVyYW5jZSA9IDEwMDAwCi0gICAgJQotICAgICUgRG8gbm90IGV4ZWN1dGUgaW5zdHJ1Y3Rpb25zIGluIEB0ZXguCi0gICAgXGRlZlx0ZXh7XGRvaWdub3Jle3RleH19JQotICAgICUgRG8gbm90IGV4ZWN1dGUgbWFjcm8gZGVmaW5pdGlvbnMuCi0gICAgJSBgYycgaXMgYSBjb21tZW50IGNoYXJhY3Rlciwgc28gdGhlIHdvcmQgYG1hY3JvJyB3aWxsIGdldCBjdXQgb2ZmLgotICAgIFxkZWZcbWFjcm97XGRvaWdub3Jle21hfX0lCislIEZpbmlzaCBvZmYgaWdub3JlZCB0ZXh0LgoreyBcb2JleWxpbmVzJQorICAlIElnbm9yZSBhbnl0aGluZyBhZnRlciB0aGUgbGFzdCBgQGVuZCAjMSc7IHRoaXMgbWF0dGVycyBpbiB2ZXJiYXRpbQorICAlIGVudmlyb25tZW50cywgd2hlcmUgb3RoZXJ3aXNlIHRoZSBuZXdsaW5lIGFmdGVyIGFuIGlnbm9yZWQgY29uZGl0aW9uYWwKKyAgJSB3b3VsZCByZXN1bHQgaW4gYSBibGFuayBsaW5lIGluIHRoZSBvdXRwdXQuCisgIFxnZGVmXGVuZGRvaWdub3JlIzFeXk17XGVuZGdyb3VwXGlnbm9yZXNwYWNlc30lCiB9CiAKKwogJSBAc2V0IFZBUiBzZXRzIHRoZSB2YXJpYWJsZSBWQVIgdG8gYW4gZW1wdHkgdmFsdWUuCiAlIEBzZXQgVkFSIFJFU1QtT0YtTElORSBzZXRzIFZBUiB0byB0aGUgdmFsdWUgUkVTVC1PRi1MSU5FLgogJQogJSBTaW5jZSB3ZSB3YW50IHRvIHNlcGFyYXRlIFZBUiBmcm9tIFJFU1QtT0YtTElORSAod2hpY2ggbWlnaHQgYmUKICUgZW1wdHkpLCB3ZSBjYW4ndCBqdXN0IHVzZSBccGFyc2Vhcmc7IHdlIGhhdmUgdG8gaW5zZXJ0IGEgc3BhY2Ugb2Ygb3VyCiAlIG93biB0byBkZWxpbWl0IHRoZSByZXN0IG9mIHRoZSBsaW5lLCBhbmQgdGhlbiB0YWtlIGl0IG91dCBhZ2FpbiBpZiB3ZQotJSBkaWRuJ3QgbmVlZCBpdC4gIE1ha2Ugc3VyZSB0aGUgY2F0Y29kZSBvZiBzcGFjZSBpcyBjb3JyZWN0IHRvIGF2b2lkCi0lIGxvc2luZyBpbnNpZGUgQGV4YW1wbGUsIGZvciBpbnN0YW5jZS4KKyUgZGlkbid0IG5lZWQgaXQuCislIFdlIHJlbHkgb24gdGhlIGZhY3QgdGhhdCBccGFyc2Vhcmcgc2V0cyBcY2F0Y29kZWBcID0xMC4KICUKLVxkZWZcc2V0e1xiZWdpbmdyb3VwXGNhdGNvZGVgID0xMAotICBcY2F0Y29kZWBcLT0xMiBcY2F0Y29kZWBcXz0xMiAlIEFsbG93IC0gYW5kIF8gaW4gVkFSLgotICBccGFyc2Vhcmdcc2V0eHh4fQotXGRlZlxzZXR4eHgjMXtcc2V0eXl5IzEgXGVuZHNldHl5eX0KK1xwYXJzZWFyZ2RlZlxzZXR7XHNldHl5eSMxIFxlbmRzZXR5eXl9CiBcZGVmXHNldHl5eSMxICMyXGVuZHNldHl5eXslCi0gIFxkZWZcdGVtcHsjMn0lCi0gIFxpZnhcdGVtcFxlbXB0eSBcZ2xvYmFsXGV4cGFuZGFmdGVyXGxldFxjc25hbWUgU0VUIzFcZW5kY3NuYW1lID0gXGVtcHR5Ci0gIFxlbHNlIFxzZXR6enp7IzF9IzJcZW5kc2V0enp6ICUgUmVtb3ZlIHRoZSB0cmFpbGluZyBzcGFjZSBcc2V0eHh4IGluc2VydGVkLgotICBcZmkKLSAgXGVuZGdyb3VwCisgIHslCisgICAgXG1ha2V2YWx1ZWV4cGFuZGFibGUKKyAgICBcZGVmXHRlbXB7IzJ9JQorICAgIFxlZGVmXG5leHR7XGdkZWZcbWFrZWNzbmFtZXtTRVQjMX19JQorICAgIFxpZnhcdGVtcFxlbXB0eQorICAgICAgXG5leHR7fSUKKyAgICBcZWxzZQorICAgICAgXHNldHp6eiMyXGVuZHNldHp6egorICAgIFxmaQorICB9JQogfQotJSBDYW4ndCB1c2UgXHhkZWYgdG8gcHJlLWV4cGFuZCAjMiBhbmQgc2F2ZSBzb21lIHRpbWUsIHNpbmNlIFx0ZW1wIG9yCi0lIFxuZXh0IG9yIG90aGVyIGNvbnRyb2wgc2VxdWVuY2VzIHRoYXQgd2UndmUgZGVmaW5lZCBtaWdodCBnZXQgdXMgaW50bwotJSBhbiBpbmZpbml0ZSBsb29wLiBDb25zaWRlciBgQHNldCBmb28gQGNpdGV7YmFyfScuCi1cZGVmXHNldHp6eiMxIzIgXGVuZHNldHp6entcZXhwYW5kYWZ0ZXJcZ2RlZlxjc25hbWUgU0VUIzFcZW5kY3NuYW1leyMyfX0KKyUgUmVtb3ZlIHRoZSB0cmFpbGluZyBzcGFjZSBcc2V0eHh4IGluc2VydGVkLgorXGRlZlxzZXR6enojMSBcZW5kc2V0enp6e1xuZXh0eyMxfX0KIAogJSBAY2xlYXIgVkFSIGNsZWFycyAoaS5lLiwgdW5zZXRzKSB0aGUgdmFyaWFibGUgVkFSLgogJQotXGRlZlxjbGVhcntccGFyc2VhcmdcY2xlYXJ4eHh9Ci1cZGVmXGNsZWFyeHh4IzF7XGdsb2JhbFxleHBhbmRhZnRlclxsZXRcY3NuYW1lIFNFVCMxXGVuZGNzbmFtZT1ccmVsYXh9CitccGFyc2VhcmdkZWZcY2xlYXJ7JQorICB7JQorICAgIFxtYWtldmFsdWVleHBhbmRhYmxlCisgICAgXGdsb2JhbFxleHBhbmRhZnRlclxsZXRcY3NuYW1lIFNFVCMxXGVuZGNzbmFtZT1ccmVsYXgKKyAgfSUKK30KIAogJSBAdmFsdWV7Zm9vfSBnZXRzIHRoZSB0ZXh0IHNhdmVkIGluIHZhcmlhYmxlIGZvby4KLXsKLSAgXGNhdGNvZGVgXF8gPSBcYWN0aXZlCi0gICUKLSAgJSBXZSBtaWdodCBlbmQgdXAgd2l0aCBhY3RpdmUgXyBvciAtIGNoYXJhY3RlcnMgaW4gdGhlIGFyZ3VtZW50IGlmCi0gICUgd2UncmUgY2FsbGVkIGZyb20gQGNvZGUsIGFzIEBjb2Rle0B2YWx1ZXtmb28tYmFyX319LiAgU28gXGxldCBhbnkKLSAgJSBzdWNoIGFjdGl2ZSBjaGFyYWN0ZXJzIHRvIHRoZWlyIG5vcm1hbCBlcXVpdmFsZW50cy4KLSAgXGdkZWZcdmFsdWV7XGJlZ2luZ3JvdXAKLSAgICBcY2F0Y29kZWBcLT1cb3RoZXIgXGNhdGNvZGVgXF89XG90aGVyCi0gICAgXGluZGV4YnJlYWtzIFxsZXRfXG5vcm1hbHVuZGVyc2NvcmUKLSAgICBcdmFsdWV4eHh9Ci19CitcZGVmXHZhbHVle1xiZWdpbmdyb3VwXG1ha2V2YWx1ZWV4cGFuZGFibGVcdmFsdWV4eHh9CiBcZGVmXHZhbHVleHh4IzF7XGV4cGFuZGFibGV2YWx1ZXsjMX1cZW5kZ3JvdXB9Cit7CisgIFxjYXRjb2RlYFwtID0gXGFjdGl2ZSBcY2F0Y29kZWBcXyA9IFxhY3RpdmUKKyAgJQorICBcZ2RlZlxtYWtldmFsdWVleHBhbmRhYmxleyUKKyAgICBcbGV0XHZhbHVlID0gXGV4cGFuZGFibGV2YWx1ZQorICAgICUgV2UgZG9uJ3Qgd2FudCB0aGVzZSBjaGFyYWN0ZXJzIGFjdGl2ZSwgLi4uCisgICAgXGNhdGNvZGVgXC09XG90aGVyIFxjYXRjb2RlYFxfPVxvdGhlcgorICAgICUgLi4uLCBidXQgd2UgbWlnaHQgZW5kIHVwIHdpdGggYWN0aXZlIG9uZXMgaW4gdGhlIGFyZ3VtZW50IGlmCisgICAgJSB3ZSdyZSBjYWxsZWQgZnJvbSBAY29kZSwgYXMgQGNvZGV7QHZhbHVle2Zvby1iYXJffX0sIHRob3VnaC4KKyAgICAlIFNvIFxsZXQgdGhlbSB0byB0aGVpciBub3JtYWwgZXF1aXZhbGVudHMuCisgICAgXGxldC1ccmVhbGRhc2ggXGxldF9cbm9ybWFsdW5kZXJzY29yZQorICB9Cit9CiAKICUgV2UgaGF2ZSB0aGlzIHN1YnJvdXRpbmUgc28gdGhhdCB3ZSBjYW4gaGFuZGxlIGF0IGxlYXN0IHNvbWUgQHZhbHVlJ3MKLSUgcHJvcGVybHkgaW4gaW5kZXhlcyAod2UgXGxldFx2YWx1ZSB0byB0aGlzIGluIFxpbmRleGR1bW1pZXMpLiAgT25lcwotJSB3aG9zZSBuYW1lcyBjb250YWluIC0gb3IgXyBzdGlsbCB3b24ndCB3b3JrLCBidXQgd2UgY2FuJ3QgZG8gYW55dGhpbmcKLSUgYWJvdXQgdGhhdC4gIFRoZSBjb21tYW5kIGhhcyB0byBiZSBmdWxseSBleHBhbmRhYmxlIChpZiB0aGUgdmFyaWFibGUKLSUgaXMgc2V0KSwgc2luY2UgdGhlIHJlc3VsdCB3aW5kcyB1cCBpbiB0aGUgaW5kZXggZmlsZS4gIFRoaXMgbWVhbnMgdGhhdAotJSBpZiB0aGUgdmFyaWFibGUncyB2YWx1ZSBjb250YWlucyBvdGhlciBUZXhpbmZvIGNvbW1hbmRzLCBpdCdzIGFsbW9zdAotJSBjZXJ0YWluIGl0IHdpbGwgZmFpbCAoYWx0aG91Z2ggcGVyaGFwcyB3ZSBjb3VsZCBmaXggdGhhdCB3aXRoCi0lIHN1ZmZpY2llbnQgd29yayB0byBkbyBhIG9uZS1sZXZlbCBleHBhbnNpb24gb24gdGhlIHJlc3VsdCwgaW5zdGVhZCBvZgotJSBjb21wbGV0ZSkuCislIHByb3Blcmx5IGluIGluZGV4ZXMgKHdlIGNhbGwgXG1ha2V2YWx1ZWV4cGFuZGFibGUgaW4gXGluZGV4ZHVtbWllcykuCislIFRoZSBjb21tYW5kIGhhcyB0byBiZSBmdWxseSBleHBhbmRhYmxlIChpZiB0aGUgdmFyaWFibGUgaXMgc2V0KSwgc2luY2UKKyUgdGhlIHJlc3VsdCB3aW5kcyB1cCBpbiB0aGUgaW5kZXggZmlsZS4gIFRoaXMgbWVhbnMgdGhhdCBpZiB0aGUKKyUgdmFyaWFibGUncyB2YWx1ZSBjb250YWlucyBvdGhlciBUZXhpbmZvIGNvbW1hbmRzLCBpdCdzIGFsbW9zdCBjZXJ0YWluCislIGl0IHdpbGwgZmFpbCAoYWx0aG91Z2ggcGVyaGFwcyB3ZSBjb3VsZCBmaXggdGhhdCB3aXRoIHN1ZmZpY2llbnQgd29yaworJSB0byBkbyBhIG9uZS1sZXZlbCBleHBhbnNpb24gb24gdGhlIHJlc3VsdCwgaW5zdGVhZCBvZiBjb21wbGV0ZSkuCiAlCiBcZGVmXGV4cGFuZGFibGV2YWx1ZSMxeyUKICAgXGV4cGFuZGFmdGVyXGlmeFxjc25hbWUgU0VUIzFcZW5kY3NuYW1lXHJlbGF4CkBAIC0yODA0LDU1ICszOTkzLDM2IEBACiAlIEBpZnNldCBWQVIgLi4uIEBlbmQgaWZzZXQgcmVhZHMgdGhlIGAuLi4nIGlmZiBWQVIgaGFzIGJlZW4gZGVmaW5lZAogJSB3aXRoIEBzZXQuCiAlCi1cZGVmXGlmc2V0e1xwYXJzZWFyZ1xkb2lmc2V0fQotXGRlZlxkb2lmc2V0IzF7JQotICBcZXhwYW5kYWZ0ZXJcaWZ4XGNzbmFtZSBTRVQjMVxlbmRjc25hbWVccmVsYXgKLSAgICBcbGV0XG5leHQ9XGlmc2V0ZmFpbAotICBcZWxzZQotICAgIFxsZXRcbmV4dD1caWZzZXRzdWNjZWVkCi0gIFxmaQotICBcbmV4dAorJSBUbyBnZXQgc3BlY2lhbCB0cmVhdG1lbnQgb2YgYEBlbmQgaWZzZXQsJyBjYWxsIFxtYWtlb25kIGFuZCB0aGUgcmVkZWZpbmUuCislCitcbWFrZWNvbmR7aWZzZXR9CitcZGVmXGlmc2V0e1xwYXJzZWFyZ3tcZG9pZnNldHtcbGV0XG5leHQ9XGlmc2V0ZmFpbH19fQorXGRlZlxkb2lmc2V0IzEjMnslCisgIHslCisgICAgXG1ha2V2YWx1ZWV4cGFuZGFibGUKKyAgICBcbGV0XG5leHQ9XGVtcHR5CisgICAgXGV4cGFuZGFmdGVyXGlmeFxjc25hbWUgU0VUIzJcZW5kY3NuYW1lXHJlbGF4CisgICAgICAjMSUgSWYgbm90IHNldCwgcmVkZWZpbmUgXG5leHQuCisgICAgXGZpCisgICAgXGV4cGFuZGFmdGVyCisgIH1cbmV4dAogfQotXGRlZlxpZnNldHN1Y2NlZWR7XGNvbmRpdGlvbmFsc3VjY2VlZHtpZnNldH19Ci1cZGVmXGlmc2V0ZmFpbHtcbmVzdGVkaWdub3Jle2lmc2V0fX0KLVxkZWZpbmV1bm1hdGNoZWRlbmR7aWZzZXR9CitcZGVmXGlmc2V0ZmFpbHtcZG9pZ25vcmV7aWZzZXR9fQogCiAlIEBpZmNsZWFyIFZBUiAuLi4gQGVuZCBpZmNsZWFyIHJlYWRzIHRoZSBgLi4uJyBpZmYgVkFSIGhhcyBuZXZlciBiZWVuCiAlIGRlZmluZWQgd2l0aCBAc2V0LCBvciBoYXMgYmVlbiB1bmRlZmluZWQgd2l0aCBAY2xlYXIuCiAlCi1cZGVmXGlmY2xlYXJ7XHBhcnNlYXJnXGRvaWZjbGVhcn0KLVxkZWZcZG9pZmNsZWFyIzF7JQotICBcZXhwYW5kYWZ0ZXJcaWZ4XGNzbmFtZSBTRVQjMVxlbmRjc25hbWVccmVsYXgKLSAgICBcbGV0XG5leHQ9XGlmY2xlYXJzdWNjZWVkCi0gIFxlbHNlCi0gICAgXGxldFxuZXh0PVxpZmNsZWFyZmFpbAotICBcZmkKLSAgXG5leHQKLX0KLVxkZWZcaWZjbGVhcnN1Y2NlZWR7XGNvbmRpdGlvbmFsc3VjY2VlZHtpZmNsZWFyfX0KLVxkZWZcaWZjbGVhcmZhaWx7XG5lc3RlZGlnbm9yZXtpZmNsZWFyfX0KLVxkZWZpbmV1bm1hdGNoZWRlbmR7aWZjbGVhcn0KLQotJSBAaWZ0ZXgsIEBpZm5vdGh0bWwsIEBpZm5vdGluZm8sIEBpZm5vdHBsYWludGV4dCBhbHdheXMgc3VjY2VlZDsgd2UKLSUgcmVhZCB0aGUgdGV4dCBmb2xsb3dpbmcsIHRocm91Z2ggdGhlIGZpcnN0IEBlbmQgaWZ0ZXggKGV0Yy4pLiAgTWFrZQotJSBgQGVuZCBpZnRleCcgKGV0Yy4pIHZhbGlkIG9ubHkgYWZ0ZXIgYW4gQGlmdGV4LgorJSBUaGUgYFxlbHNlJyBpbnNpZGUgdGhlIGBcZG9pZnNldCcgcGFyYW1ldGVyIGlzIGEgdHJpY2sgdG8gcmV1c2UgdGhlCislIGFib3ZlIGNvZGU6IGlmIHRoZSB2YXJpYWJsZSBpcyBub3Qgc2V0LCBkbyBub3RoaW5nLCBpZiBpdCBpcyBzZXQsCislIHRoZW4gcmVkZWZpbmUgXG5leHQgdG8gXGlmY2xlYXJmYWlsLgogJQotXGRlZlxpZnRleHtcY29uZGl0aW9uYWxzdWNjZWVke2lmdGV4fX0KLVxkZWZcaWZub3RodG1se1xjb25kaXRpb25hbHN1Y2NlZWR7aWZub3RodG1sfX0KLVxkZWZcaWZub3RpbmZve1xjb25kaXRpb25hbHN1Y2NlZWR7aWZub3RpbmZvfX0KLVxkZWZcaWZub3RwbGFpbnRleHR7XGNvbmRpdGlvbmFsc3VjY2VlZHtpZm5vdHBsYWludGV4dH19Ci1cZGVmaW5ldW5tYXRjaGVkZW5ke2lmdGV4fQotXGRlZmluZXVubWF0Y2hlZGVuZHtpZm5vdGh0bWx9Ci1cZGVmaW5ldW5tYXRjaGVkZW5ke2lmbm90aW5mb30KLVxkZWZpbmV1bm1hdGNoZWRlbmR7aWZub3RwbGFpbnRleHR9CitcbWFrZWNvbmR7aWZjbGVhcn0KK1xkZWZcaWZjbGVhcntccGFyc2Vhcmd7XGRvaWZzZXR7XGVsc2UgXGxldFxuZXh0PVxpZmNsZWFyZmFpbH19fQorXGRlZlxpZmNsZWFyZmFpbHtcZG9pZ25vcmV7aWZjbGVhcn19CiAKLSUgVHJ1ZSBjb25kaXRpb25hbC4gIFNpbmNlIFxzZXQgZ2xvYmFsbHkgZGVmaW5lcyBpdHMgdmFyaWFibGVzLCB3ZSBjYW4KLSUganVzdCBzdGFydCBhbmQgZW5kIGEgZ3JvdXAgKHRvIGtlZXAgdGhlIEBlbmQgZGVmaW5pdGlvbiB1bmRlZmluZWQgYXQKLSUgdGhlIG91dGVyIGxldmVsKS4KLSUKLVxkZWZcY29uZGl0aW9uYWxzdWNjZWVkIzF7XGJlZ2luZ3JvdXAKLSAgXGV4cGFuZGFmdGVyXGRlZlxjc25hbWUgRSMxXGVuZGNzbmFtZXtcZW5kZ3JvdXB9JQotfQorJSBAZGlyY2F0ZWdvcnkgQ0FURUdPUlkgIC0tIHNwZWNpZnkgYSBjYXRlZ29yeSBvZiB0aGUgZGlyIGZpbGUKKyUgd2hpY2ggdGhpcyBmaWxlIHNob3VsZCBiZWxvbmcgdG8uICBJZ25vcmUgdGhpcyBpbiBUZVguCitcbGV0XGRpcmNhdGVnb3J5PVxjb21tZW50CiAKICUgQGRlZmluaW5mb2VuY2xvc2UuCiBcbGV0XGRlZmluZm9lbmNsb3NlPVxjb21tZW50CkBAIC0yODYyLDkgKzQwMzIsOCBAQAogJSBJbmRleCBnZW5lcmF0aW9uIGZhY2lsaXRpZXMKIAogJSBEZWZpbmUgXG5ld3dyaXRlIHRvIGJlIGlkZW50aWNhbCB0byBwbGFpbiB0ZXgncyBcbmV3d3JpdGUKLSUgZXhjZXB0IG5vdCBcb3V0ZXIsIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGhpbiBcbmV3aW5kZXguCi17XGNhdGNvZGVgXEA9MTEKLVxnZGVmXG5ld3dyaXRle1xhbGxvY0A3XHdyaXRlXGNoYXJkZWZcc2l4dEBAbn19CislIGV4Y2VwdCBub3QgXG91dGVyLCBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoaW4gbWFjcm9zIGFuZCBcaWYncy4KK1xlZGVmXG5ld3dyaXRle1xtYWtlY3NuYW1le3B0ZXhuZXd3cml0ZX19CiAKICUgXG5ld2luZGV4IHtmb299IGRlZmluZXMgYW4gaW5kZXggbmFtZWQgZm9vLgogJSBJdCBhdXRvbWF0aWNhbGx5IGRlZmluZXMgXGZvb2luZGV4IHN1Y2ggdGhhdApAQCAtMjkwMywxMCArNDA3MiwxMCBAQAogCiAlIEBzeW5pbmRleCBmb28gYmFyICAgIG1ha2VzIGluZGV4IGZvbyBmZWVkIGludG8gaW5kZXggYmFyLgogJSBEbyB0aGlzIGluc3RlYWQgb2YgQGRlZmluZGV4IGZvbyBpZiB5b3UgZG9uJ3Qgd2FudCBpdCBhcyBhIHNlcGFyYXRlIGluZGV4LgotJSAKKyUKICUgQHN5bmNvZGVpbmRleCBmb28gYmFyICAgc2ltaWxhciwgYnV0IHB1dCBhbGwgZW50cmllcyBtYWRlIGZvciBpbmRleCBmb28KICUgaW5zaWRlIEBjb2RlLgotJSAKKyUKIFxkZWZcc3luaW5kZXgjMSAjMiB7XGRvc3luaW5kZXhcZG9pbmRleHsjMX17IzJ9fQogXGRlZlxzeW5jb2RlaW5kZXgjMSAjMiB7XGRvc3luaW5kZXhcZG9jb2RlaW5kZXh7IzF9eyMyfX0KIApAQCAtMjkxNSwxMSArNDA4NCwxMSBAQAogXGRlZlxkb3N5bmluZGV4IzEjMiMzeyUKICAgJSBPbmx5IGRvIFxjbG9zZW91dCBpZiB3ZSBoYXZlbid0IGFscmVhZHkgZG9uZSBpdCwgZWxzZSB3ZSdsbCBlbmQgdXAKICAgJSBjbG9zaW5nIHRoZSB0YXJnZXQgaW5kZXguCi0gIFxleHBhbmRhZnRlciBcaWZ4XGNzbmFtZSBkb25lc3luaW5kZXgjMlxlbmRjc25hbWUgXHVuZGVmaW5lZAorICBcZXhwYW5kYWZ0ZXIgXGlmeFxjc25hbWUgZG9uZXN5bmluZGV4IzJcZW5kY3NuYW1lIFxyZWxheAogICAgICUgVGhlIFxjbG9zZW91dCBoZWxwcyByZWR1Y2UgdW5uZWNlc3Nhcnkgb3BlbiBmaWxlczsgdGhlIGxpbWl0IG9uIHRoZQogICAgICUgQWNvcm4gUklTQyBPUyBpcyBhIG1lcmUgMTYgZmlsZXMuCiAgICAgXGV4cGFuZGFmdGVyXGNsb3Nlb3V0XGNzbmFtZSMyaW5kZmlsZVxlbmRjc25hbWUKLSAgICBcZXhwYW5kYWZ0ZXJcbGV0XGNzbmFtZVxkb25lc3luaW5kZXgjMlxlbmRjc25hbWUgPSAxCisgICAgXGV4cGFuZGFmdGVyXGxldFxjc25hbWUgZG9uZXN5bmluZGV4IzJcZW5kY3NuYW1lID0gMQogICBcZmkKICAgJSByZWRlZmluZSBcZm9vaW5kZmlsZToKICAgXGV4cGFuZGFmdGVyXGxldFxleHBhbmRhZnRlclx0ZW1wXGV4cGFuZGFmdGVyPVxjc25hbWUjM2luZGZpbGVcZW5kY3NuYW1lCkBAIC0yOTQ4LDIwNCArNDExNywyNDUgQEAKICUgVGFrZSBjYXJlIG9mIFRleGluZm8gY29tbWFuZHMgdGhhdCBjYW4gYXBwZWFyIGluIGFuIGluZGV4IGVudHJ5LgogJSBTaW5jZSB0aGVyZSBhcmUgc29tZSBjb21tYW5kcyB3ZSB3YW50IHRvIGV4cGFuZCwgYW5kIG90aGVycyB3ZSBkb24ndCwKICUgd2UgaGF2ZSB0byBsYWJvcmlvdXNseSBwcmV2ZW50IGV4cGFuc2lvbiBmb3IgdGhvc2UgdGhhdCB3ZSBkb24ndC4KLSUgCislCiBcZGVmXGluZGV4ZHVtbWllc3slCisgIFxlc2NhcGVjaGFyID0gYFxcICAgICAlIHVzZSBiYWNrc2xhc2ggaW4gb3V0cHV0IGZpbGVzLgogICBcZGVmXEB7QH0lIGNoYW5nZSB0byBAQCB3aGVuIHdlIHN3aXRjaCB0byBAIGFzIGVzY2FwZSBjaGFyIGluIGluZGV4IGZpbGVzLgogICBcZGVmXCB7XHJlYWxiYWNrc2xhc2hcc3BhY2UgfSUKKyAgJQogICAlIE5lZWQgdGhlc2UgaW4gY2FzZSBcdGV4IGlzIGluIGVmZmVjdCBhbmQgXHsgaXMgYSBcZGVsaW1pdGVyIGFnYWluLgogICAlIEJ1dCBjYW4ndCB1c2UgXGxicmFjZWNtZCBhbmQgXHJicmFjZWNtZCBiZWNhdXNlIHRleGluZGV4IGFzc3VtZXMKLSAgJSBicmFjZXMgYW5kIGJhY2tzbGFzaGVzIGFyZSB1c2VkIG9ubHkgYXMgZGVsaW1pdGVycy4gIAorICAlIGJyYWNlcyBhbmQgYmFja3NsYXNoZXMgYXJlIHVzZWQgb25seSBhcyBkZWxpbWl0ZXJzLgogICBcbGV0XHsgPSBcbXlsYnJhY2UKICAgXGxldFx9ID0gXG15cmJyYWNlCiAgICUKLSAgJSBcZGVmaW5lZHVtbXl3b3JkIGRlZmluZXMgXCMxIGFzIFxyZWFsYmFja3NsYXNoICMxXHNwYWNlLCB0aHVzCi0gICUgZWZmZWN0aXZlbHkgcHJldmVudGluZyBpdHMgZXhwYW5zaW9uLiAgVGhpcyBpcyB1c2VkIG9ubHkgZm9yIGNvbnRyb2wKLSAgJSB3b3Jkcywgbm90IGNvbnRyb2wgbGV0dGVycywgYmVjYXVzZSB0aGUgXHNwYWNlIHdvdWxkIGJlIGluY29ycmVjdAotICAlIGZvciBjb250cm9sIGNoYXJhY3RlcnMsIGJ1dCBpcyBuZWVkZWQgdG8gc2VwYXJhdGUgdGhlIGNvbnRyb2wgd29yZAotICAlIGZyb20gd2hhdGV2ZXIgZm9sbG93cy4KKyAgJSBJIGRvbid0IGVudGlyZWx5IHVuZGVyc3RhbmQgdGhpcywgYnV0IHdoZW4gYW4gaW5kZXggZW50cnkgaXMKKyAgJSBnZW5lcmF0ZWQgZnJvbSBhIG1hY3JvIGNhbGwsIHRoZSBcZW5kaW5wdXQgd2hpY2ggXHNjYW5tYWNybyBpbnNlcnRzCisgICUgY2F1c2VzIHByb2Nlc3NpbmcgdG8gYmUgcHJlbWF0dXJlbHkgdGVybWluYXRlZC4gIFRoaXMgaXMsCisgICUgYXBwYXJlbnRseSwgYmVjYXVzZSBcaW5kZXhzb3J0dG1wIGlzIGZ1bGx5IGV4cGFuZGVkLCBhbmQgXGVuZGlucHV0CisgICUgaXMgYW4gZXhwYW5kYWJsZSBjb21tYW5kLiAgVGhlIHJlZGVmaW5pdGlvbiBiZWxvdyBtYWtlcyBcZW5kaW5wdXQKKyAgJSBkaXNhcHBlYXIgYWx0b2dldGhlciBmb3IgdGhhdCBwdXJwb3NlIC0tIGFsdGhvdWdoIGxvZ2dpbmcgc2hvd3MgdGhhdAorICAlIHByb2Nlc3NpbmcgY29udGludWVzIHRvIHNvbWUgZnVydGhlciBwb2ludC4gIE9uIHRoZSBvdGhlciBoYW5kLCBpdAorICAlIHNlZW1zIFxlbmRpbnB1dCBkb2VzIG5vdCBodXJ0IGluIHRoZSBwcmludGVkIGluZGV4IGFyZywgc2luY2UgdGhhdAorICAlIGlzIHN0aWxsIGdldHRpbmcgd3JpdHRlbiB3aXRob3V0IGFwcGFyZW50IGhhcm0uCiAgICUgCi0gICUgRm9yIGNvbnRyb2wgbGV0dGVycywgd2UgaGF2ZSBcZGVmaW5lZHVtbXlsZXR0ZXIsIHdoaWNoIG9taXRzIHRoZQotICAlIHNwYWNlLgorICAlIFNhbXBsZSBzb3VyY2UgKG1hYy1pZHgzLnRleCwgcmVwb3J0ZWQgYnkgR3JhaGFtIFBlcmNpdmFsIHRvCisgICUgaGVscC10ZXhpbmZvLCAyMm1heTA2KToKKyAgJSBAbWFjcm8gZnVuaW5kZXgge1dPUkR9CisgICUgQGZpbmRleCB4eXoKKyAgJSBAZW5kIG1hY3JvCisgICUgLi4uCisgICUgQGZ1bmluZGV4IGNvbW10ZXN0CiAgICUgCi0gICUgVGhlc2UgY2FuIGJlIHVzZWQgYm90aCBmb3IgY29udHJvbCB3b3JkcyB0aGF0IHRha2UgYW4gYXJndW1lbnQgYW5kCi0gICUgdGhvc2UgdGhhdCBkbyBub3QuICBJZiBpdCBpcyBmb2xsb3dlZCBieSB7YXJnfSBpbiB0aGUgaW5wdXQsIHRoZW4KLSAgJSB0aGF0IHdpbGwgZHV0aWZ1bGx5IGdldCB3cml0dGVuIHRvIHRoZSBpbmRleCAob3Igd2hlcmV2ZXIpLgorICAlIFRoZSBhYm92ZSBpcyBub3QgZW5vdWdoIHRvIHJlcHJvZHVjZSB0aGUgYnVnLCBidXQgaXQgZ2l2ZXMgdGhlIGZsYXZvci4KICAgJSAKLSAgXGRlZlxkZWZpbmVkdW1teXdvcmQjIzF7JQotICAgIFxleHBhbmRhZnRlclxkZWZcY3NuYW1lICMjMVxlbmRjc25hbWV7XHJlYWxiYWNrc2xhc2ggIyMxXHNwYWNlfSUKLSAgfSUKLSAgXGRlZlxkZWZpbmVkdW1teWxldHRlciMjMXslCi0gICAgXGV4cGFuZGFmdGVyXGRlZlxjc25hbWUgIyMxXGVuZGNzbmFtZXtccmVhbGJhY2tzbGFzaCAjIzF9JQotICB9JQorICAlIFNhbXBsZSB3aGF0c2l0IHJlc3VsdGluZzoKKyAgJSAuQHdyaXRlM3tcZW50cnl7eHl6fXtAZm9saW8gfXtAY29kZSB7eHl6QGVuZGlucHV0IH19fQorICAlIAorICAlIFNvOgorICBcbGV0XGVuZGlucHV0ID0gXGVtcHR5CiAgICUKICAgJSBEbyB0aGUgcmVkZWZpbml0aW9ucy4KICAgXGNvbW1vbmR1bW1pZXMKIH0KIAotJSBGb3IgdGhlIGF1eCBmaWxlLCBAIGlzIHRoZSBlc2NhcGUgY2hhcmFjdGVyLiAgU28gd2Ugd2FudCB0byByZWRlZmluZQotJSBldmVyeXRoaW5nIHVzaW5nIEAgaW5zdGVhZCBvZiBccmVhbGJhY2tzbGFzaC4gIFdoZW4gZXZlcnl0aGluZyB1c2VzIAotJSBALCB0aGlzIHdpbGwgYmUgc2ltcGxlci4KLSUgCislIEZvciB0aGUgYXV4IGFuZCB0b2MgZmlsZXMsIEAgaXMgdGhlIGVzY2FwZSBjaGFyYWN0ZXIuICBTbyB3ZSB3YW50IHRvCislIHJlZGVmaW5lIGV2ZXJ5dGhpbmcgdXNpbmcgQCBhcyB0aGUgZXNjYXBlIGNoYXJhY3RlciAoaW5zdGVhZCBvZgorJSBccmVhbGJhY2tzbGFzaCwgc3RpbGwgdXNlZCBmb3IgaW5kZXggZmlsZXMpLiAgV2hlbiBldmVyeXRoaW5nIHVzZXMgQCwKKyUgdGhpcyB3aWxsIGJlIHNpbXBsZXIuCislCiBcZGVmXGF0ZHVtbWllc3slCiAgIFxkZWZcQHtAQH0lCiAgIFxkZWZcIHtAIH0lCiAgIFxsZXRceyA9IFxsYnJhY2VhdGNtZAogICBcbGV0XH0gPSBccmJyYWNlYXRjbWQKICAgJQotICAlIChTZWUgY29tbWVudHMgaW4gXGluZGV4ZHVtbWllcy4pCi0gIFxkZWZcZGVmaW5lZHVtbXl3b3JkIyMxeyUKLSAgICBcZXhwYW5kYWZ0ZXJcZGVmXGNzbmFtZSAjIzFcZW5kY3NuYW1le0AjIzFcc3BhY2V9JQotICB9JQotICBcZGVmXGRlZmluZWR1bW15bGV0dGVyIyMxeyUKLSAgICBcZXhwYW5kYWZ0ZXJcZGVmXGNzbmFtZSAjIzFcZW5kY3NuYW1le0AjIzF9JQotICB9JQotICAlCiAgICUgRG8gdGhlIHJlZGVmaW5pdGlvbnMuCiAgIFxjb21tb25kdW1taWVzCisgIFxvdGhlcmJhY2tzbGFzaAogfQogCi0lIENhbGxlZCBmcm9tIFxpbmRleGR1bW1pZXMgYW5kIFxhdGR1bW1pZXMuICBcZGVmaW5lZHVtbXl3b3JkIGFuZAotJSBcZGVmaW5lZHVtbXlsZXR0ZXIgbXVzdCBiZSBkZWZpbmVkIGZpcnN0LgotJSAKKyUgQ2FsbGVkIGZyb20gXGluZGV4ZHVtbWllcyBhbmQgXGF0ZHVtbWllcy4KKyUKIFxkZWZcY29tbW9uZHVtbWllc3slCiAgICUKKyAgJSBcZGVmaW5lZHVtbXl3b3JkIGRlZmluZXMgXCMxIGFzIFxzdHJpbmdcIzFcc3BhY2UsIHRodXMgZWZmZWN0aXZlbHkKKyAgJSBwcmV2ZW50aW5nIGl0cyBleHBhbnNpb24uICBUaGlzIGlzIHVzZWQgb25seSBmb3IgY29udHJvbCUgd29yZHMsCisgICUgbm90IGNvbnRyb2wgbGV0dGVycywgYmVjYXVzZSB0aGUgXHNwYWNlIHdvdWxkIGJlIGluY29ycmVjdCBmb3IKKyAgJSBjb250cm9sIGNoYXJhY3RlcnMsIGJ1dCBpcyBuZWVkZWQgdG8gc2VwYXJhdGUgdGhlIGNvbnRyb2wgd29yZAorICAlIGZyb20gd2hhdGV2ZXIgZm9sbG93cy4KKyAgJQorICAlIEZvciBjb250cm9sIGxldHRlcnMsIHdlIGhhdmUgXGRlZmluZWR1bW15bGV0dGVyLCB3aGljaCBvbWl0cyB0aGUKKyAgJSBzcGFjZS4KKyAgJQorICAlIFRoZXNlIGNhbiBiZSB1c2VkIGJvdGggZm9yIGNvbnRyb2wgd29yZHMgdGhhdCB0YWtlIGFuIGFyZ3VtZW50IGFuZAorICAlIHRob3NlIHRoYXQgZG8gbm90LiAgSWYgaXQgaXMgZm9sbG93ZWQgYnkge2FyZ30gaW4gdGhlIGlucHV0LCB0aGVuCisgICUgdGhhdCB3aWxsIGR1dGlmdWxseSBnZXQgd3JpdHRlbiB0byB0aGUgaW5kZXggKG9yIHdoZXJldmVyKS4KKyAgJQorICBcZGVmXGRlZmluZWR1bW15d29yZCAgIyMxe1xkZWYjIzF7XHN0cmluZyMjMVxzcGFjZX19JQorICBcZGVmXGRlZmluZWR1bW15bGV0dGVyIyMxe1xkZWYjIzF7XHN0cmluZyMjMX19JQorICBcbGV0XGRlZmluZWR1bW15YWNjZW50XGRlZmluZWR1bW15bGV0dGVyCisgICUKKyAgXGNvbW1vbmR1bW1pZXNub2ZvbnRzCisgICUKKyAgXGRlZmluZWR1bW15bGV0dGVyXF8lCisgICUKKyAgJSBOb24tRW5nbGlzaCBsZXR0ZXJzLgorICBcZGVmaW5lZHVtbXl3b3JkXEFBCisgIFxkZWZpbmVkdW1teXdvcmRcQUUKKyAgXGRlZmluZWR1bW15d29yZFxMCisgIFxkZWZpbmVkdW1teXdvcmRcT0UKKyAgXGRlZmluZWR1bW15d29yZFxPCisgIFxkZWZpbmVkdW1teXdvcmRcYWEKKyAgXGRlZmluZWR1bW15d29yZFxhZQorICBcZGVmaW5lZHVtbXl3b3JkXGwKKyAgXGRlZmluZWR1bW15d29yZFxvZQorICBcZGVmaW5lZHVtbXl3b3JkXG8KKyAgXGRlZmluZWR1bW15d29yZFxzcworICBcZGVmaW5lZHVtbXl3b3JkXGV4Y2xhbWRvd24KKyAgXGRlZmluZWR1bW15d29yZFxxdWVzdGlvbmRvd24KKyAgXGRlZmluZWR1bW15d29yZFxvcmRmCisgIFxkZWZpbmVkdW1teXdvcmRcb3JkbQorICAlCisgICUgQWx0aG91Z2ggdGhlc2UgaW50ZXJuYWwgY29tbWFuZHMgc2hvdWxkbid0IHNob3cgdXAsIHNvbWV0aW1lcyB0aGV5IGRvLgorICBcZGVmaW5lZHVtbXl3b3JkXGJmCisgIFxkZWZpbmVkdW1teXdvcmRcZ3RyCisgIFxkZWZpbmVkdW1teXdvcmRcaGF0CisgIFxkZWZpbmVkdW1teXdvcmRcbGVzcworICBcZGVmaW5lZHVtbXl3b3JkXHNmCisgIFxkZWZpbmVkdW1teXdvcmRcc2wKKyAgXGRlZmluZWR1bW15d29yZFx0Y2xvc2UKKyAgXGRlZmluZWR1bW15d29yZFx0dAorICAlCisgIFxkZWZpbmVkdW1teXdvcmRcTGFUZVgKKyAgXGRlZmluZWR1bW15d29yZFxUZVgKKyAgJQorICAlIEFzc29ydGVkIHNwZWNpYWwgY2hhcmFjdGVycy4KKyAgXGRlZmluZWR1bW15d29yZFxidWxsZXQKKyAgXGRlZmluZWR1bW15d29yZFxjb21tYQorICBcZGVmaW5lZHVtbXl3b3JkXGNvcHlyaWdodAorICBcZGVmaW5lZHVtbXl3b3JkXHJlZ2lzdGVyZWRzeW1ib2wKKyAgXGRlZmluZWR1bW15d29yZFxkb3RzCisgIFxkZWZpbmVkdW1teXdvcmRcZW5kZG90cworICBcZGVmaW5lZHVtbXl3b3JkXGVxdWl2CisgIFxkZWZpbmVkdW1teXdvcmRcZXJyb3IKKyAgXGRlZmluZWR1bW15d29yZFxldXJvCisgIFxkZWZpbmVkdW1teXdvcmRcZ3VpbGxlbWV0bGVmdAorICBcZGVmaW5lZHVtbXl3b3JkXGd1aWxsZW1ldHJpZ2h0CisgIFxkZWZpbmVkdW1teXdvcmRcZ3VpbHNpbmdsbGVmdAorICBcZGVmaW5lZHVtbXl3b3JkXGd1aWxzaW5nbHJpZ2h0CisgIFxkZWZpbmVkdW1teXdvcmRcZXhwYW5zaW9uCisgIFxkZWZpbmVkdW1teXdvcmRcbWludXMKKyAgXGRlZmluZWR1bW15d29yZFxvZ29uZWsKKyAgXGRlZmluZWR1bW15d29yZFxwb3VuZHMKKyAgXGRlZmluZWR1bW15d29yZFxwb2ludAorICBcZGVmaW5lZHVtbXl3b3JkXHByaW50CisgIFxkZWZpbmVkdW1teXdvcmRccXVvdGVkYmxiYXNlCisgIFxkZWZpbmVkdW1teXdvcmRccXVvdGVkYmxsZWZ0CisgIFxkZWZpbmVkdW1teXdvcmRccXVvdGVkYmxyaWdodAorICBcZGVmaW5lZHVtbXl3b3JkXHF1b3RlbGVmdAorICBcZGVmaW5lZHVtbXl3b3JkXHF1b3RlcmlnaHQKKyAgXGRlZmluZWR1bW15d29yZFxxdW90ZXNpbmdsYmFzZQorICBcZGVmaW5lZHVtbXl3b3JkXHJlc3VsdAorICBcZGVmaW5lZHVtbXl3b3JkXHRleHRkZWdyZWUKKyAgJQorICAlIFdlIHdhbnQgdG8gZGlzYWJsZSBhbGwgbWFjcm9zIHNvIHRoYXQgdGhleSBhcmUgbm90IGV4cGFuZGVkIGJ5IFx3cml0ZS4KKyAgXG1hY3JvbGlzdAorICAlCiAgIFxub3JtYWx0dXJub2ZmYWN0aXZlCiAgICUKLSAgJSBDb250cm9sIGxldHRlcnMgYW5kIGFjY2VudHMuCi0gIFxkZWZpbmVkdW1teWxldHRlcntffSUKLSAgXGRlZmluZWR1bW15bGV0dGVyeyx9JQotICBcZGVmaW5lZHVtbXlsZXR0ZXJ7In0lCi0gIFxkZWZpbmVkdW1teWxldHRlcntgfSUKLSAgXGRlZmluZWR1bW15bGV0dGVyeyd9JQotICBcZGVmaW5lZHVtbXlsZXR0ZXJ7Xn0lCi0gIFxkZWZpbmVkdW1teWxldHRlcnt+fSUKLSAgXGRlZmluZWR1bW15bGV0dGVyez19JQotICBcZGVmaW5lZHVtbXl3b3Jke3V9JQotICBcZGVmaW5lZHVtbXl3b3Jke3Z9JQotICBcZGVmaW5lZHVtbXl3b3Jke0h9JQotICBcZGVmaW5lZHVtbXl3b3Jke2RvdGFjY2VudH0lCi0gIFxkZWZpbmVkdW1teXdvcmR7cmluZ2FjY2VudH0lCi0gIFxkZWZpbmVkdW1teXdvcmR7dGllYWNjZW50fSUKLSAgXGRlZmluZWR1bW15d29yZHt1YmFyYWNjZW50fSUKLSAgXGRlZmluZWR1bW15d29yZHt1ZG90YWNjZW50fSUKLSAgXGRlZmluZWR1bW15d29yZHtkb3RsZXNzfSUKLSAgJQotICAlIE90aGVyIG5vbi1FbmdsaXNoIGxldHRlcnMuCi0gIFxkZWZpbmVkdW1teXdvcmR7QUF9JQotICBcZGVmaW5lZHVtbXl3b3Jke0FFfSUKLSAgXGRlZmluZWR1bW15d29yZHtMfSUKLSAgXGRlZmluZWR1bW15d29yZHtPRX0lCi0gIFxkZWZpbmVkdW1teXdvcmR7T30lCi0gIFxkZWZpbmVkdW1teXdvcmR7YWF9JQotICBcZGVmaW5lZHVtbXl3b3Jke2FlfSUKLSAgXGRlZmluZWR1bW15d29yZHtsfSUKLSAgXGRlZmluZWR1bW15d29yZHtvZX0lCi0gIFxkZWZpbmVkdW1teXdvcmR7b30lCi0gIFxkZWZpbmVkdW1teXdvcmR7c3N9JQotICAlCi0gICUgQWx0aG91Z2ggdGhlc2UgaW50ZXJuYWwgY29tbWFuZHMgc2hvdWxkbid0IHNob3cgdXAsIHNvbWV0aW1lcyB0aGV5IGRvLgotICBcZGVmaW5lZHVtbXl3b3Jke2JmfSUKLSAgXGRlZmluZWR1bW15d29yZHtndHJ9JQotICBcZGVmaW5lZHVtbXl3b3Jke2hhdH0lCi0gIFxkZWZpbmVkdW1teXdvcmR7bGVzc30lCi0gIFxkZWZpbmVkdW1teXdvcmR7c2Z9JQotICBcZGVmaW5lZHVtbXl3b3Jke3NsfSUKLSAgXGRlZmluZWR1bW15d29yZHt0Y2xvc2V9JQotICBcZGVmaW5lZHVtbXl3b3Jke3R0fSUKLSAgJQotICAlIFRleGluZm8gZm9udCBjb21tYW5kcy4KLSAgXGRlZmluZWR1bW15d29yZHtifSUKLSAgXGRlZmluZWR1bW15d29yZHtpfSUKLSAgXGRlZmluZWR1bW15d29yZHtyfSUKLSAgXGRlZmluZWR1bW15d29yZHtzY30lCi0gIFxkZWZpbmVkdW1teXdvcmR7dH0lCi0gICUKLSAgXGRlZmluZWR1bW15d29yZHtUZVh9JQotICBcZGVmaW5lZHVtbXl3b3Jke2Fjcm9ueW19JQotICBcZGVmaW5lZHVtbXl3b3Jke2NpdGV9JQotICBcZGVmaW5lZHVtbXl3b3Jke2NvZGV9JQotICBcZGVmaW5lZHVtbXl3b3Jke2NvbW1hbmR9JQotICBcZGVmaW5lZHVtbXl3b3Jke2Rmbn0lCi0gIFxkZWZpbmVkdW1teXdvcmR7ZG90c30lCi0gIFxkZWZpbmVkdW1teXdvcmR7ZW1waH0lCi0gIFxkZWZpbmVkdW1teXdvcmR7ZW52fSUKLSAgXGRlZmluZWR1bW15d29yZHtmaWxlfSUKLSAgXGRlZmluZWR1bW15d29yZHtrYmR9JQotICBcZGVmaW5lZHVtbXl3b3Jke2tleX0lCi0gIFxkZWZpbmVkdW1teXdvcmR7bWF0aH0lCi0gIFxkZWZpbmVkdW1teXdvcmR7b3B0aW9ufSUKLSAgXGRlZmluZWR1bW15d29yZHtzYW1wfSUKLSAgXGRlZmluZWR1bW15d29yZHtzdHJvbmd9JQotICBcZGVmaW5lZHVtbXl3b3Jke3VyZWZ9JQotICBcZGVmaW5lZHVtbXl3b3Jke3VybH0lCi0gIFxkZWZpbmVkdW1teXdvcmR7dmFyfSUKLSAgXGRlZmluZWR1bW15d29yZHt3fSUKLSAgJQotICAlIEFzc29ydGVkIHNwZWNpYWwgY2hhcmFjdGVycy4KLSAgXGRlZmluZWR1bW15d29yZHtidWxsZXR9JQotICBcZGVmaW5lZHVtbXl3b3Jke2NvcHlyaWdodH0lCi0gIFxkZWZpbmVkdW1teXdvcmR7ZG90c30lCi0gIFxkZWZpbmVkdW1teXdvcmR7ZW5kZG90c30lCi0gIFxkZWZpbmVkdW1teXdvcmR7ZXF1aXZ9JQotICBcZGVmaW5lZHVtbXl3b3Jke2Vycm9yfSUKLSAgXGRlZmluZWR1bW15d29yZHtleHBhbnNpb259JQotICBcZGVmaW5lZHVtbXl3b3Jke21pbnVzfSUKLSAgXGRlZmluZWR1bW15d29yZHtwb3VuZHN9JQotICBcZGVmaW5lZHVtbXl3b3Jke3BvaW50fSUKLSAgXGRlZmluZWR1bW15d29yZHtwcmludH0lCi0gIFxkZWZpbmVkdW1teXdvcmR7cmVzdWx0fSUKLSAgJQotICAlIEhhbmRsZSBzb21lIGNhc2VzIG9mIEB2YWx1ZSAtLSB3aGVyZSB0aGUgdmFyaWFibGUgbmFtZSBkb2VzIG5vdAotICAlIGNvbnRhaW4gLSBvciBfLCBhbmQgdGhlIHZhbHVlIGRvZXMgbm90IGNvbnRhaW4gYW55CisgICUgSGFuZGxlIHNvbWUgY2FzZXMgb2YgQHZhbHVlIC0tIHdoZXJlIGl0IGRvZXMgbm90IGNvbnRhaW4gYW55CiAgICUgKG5vbi1mdWxseS1leHBhbmRhYmxlKSBjb21tYW5kcy4KLSAgXGxldFx2YWx1ZSA9IFxleHBhbmRhYmxldmFsdWUKLSAgJQotICAlIE5vcm1hbCBzcGFjZXMsIG5vdCBhY3RpdmUgb25lcy4KLSAgXHVuc2Vwc3BhY2VzCi0gICUKLSAgJSBObyBtYWNybyBleHBhbnNpb24uCi0gIFx0dXJub2ZmbWFjcm9zCisgIFxtYWtldmFsdWVleHBhbmRhYmxlCiB9CiAKLSUgSWYgYW4gaW5kZXggY29tbWFuZCBpcyB1c2VkIGluIGFuIEBleGFtcGxlIGVudmlyb25tZW50LCBhbnkgc3BhY2VzCi0lIHRoZXJlaW4gc2hvdWxkIGJlY29tZSByZWd1bGFyIHNwYWNlcyBpbiB0aGUgcmF3IGluZGV4IGZpbGUsIG5vdCB0aGUKLSUgZXhwYW5zaW9uIG9mIFx0aWUgKFxsZWF2ZXZtb2RlIFxwZW5hbHR5IFxATSBcICkuCi17XG9iZXlzcGFjZXMKLSBcZ2RlZlx1bnNlcHNwYWNlc3tcb2JleXNwYWNlc1xsZXQgPVxzcGFjZX19Ci0KKyUgXGNvbW1vbmR1bW1pZXNub2ZvbnRzOiBjb21tb24gdG8gXGNvbW1vbmR1bW1pZXMgYW5kIFxpbmRleG5vZm9udHMuCislCitcZGVmXGNvbW1vbmR1bW1pZXNub2ZvbnRzeyUKKyAgJSBDb250cm9sIGxldHRlcnMgYW5kIGFjY2VudHMuCisgIFxkZWZpbmVkdW1teWxldHRlclwhJQorICBcZGVmaW5lZHVtbXlhY2NlbnRcIiUKKyAgXGRlZmluZWR1bW15YWNjZW50XCclCisgIFxkZWZpbmVkdW1teWxldHRlclwqJQorICBcZGVmaW5lZHVtbXlhY2NlbnRcLCUKKyAgXGRlZmluZWR1bW15bGV0dGVyXC4lCisgIFxkZWZpbmVkdW1teWxldHRlclwvJQorICBcZGVmaW5lZHVtbXlsZXR0ZXJcOiUKKyAgXGRlZmluZWR1bW15YWNjZW50XD0lCisgIFxkZWZpbmVkdW1teWxldHRlclw/JQorICBcZGVmaW5lZHVtbXlhY2NlbnRcXiUKKyAgXGRlZmluZWR1bW15YWNjZW50XGAlCisgIFxkZWZpbmVkdW1teWFjY2VudFx+JQorICBcZGVmaW5lZHVtbXl3b3JkXHUKKyAgXGRlZmluZWR1bW15d29yZFx2CisgIFxkZWZpbmVkdW1teXdvcmRcSAorICBcZGVmaW5lZHVtbXl3b3JkXGRvdGFjY2VudAorICBcZGVmaW5lZHVtbXl3b3JkXG9nb25laworICBcZGVmaW5lZHVtbXl3b3JkXHJpbmdhY2NlbnQKKyAgXGRlZmluZWR1bW15d29yZFx0aWVhY2NlbnQKKyAgXGRlZmluZWR1bW15d29yZFx1YmFyYWNjZW50CisgIFxkZWZpbmVkdW1teXdvcmRcdWRvdGFjY2VudAorICBcZGVmaW5lZHVtbXl3b3JkXGRvdGxlc3MKKyAgJQorICAlIFRleGluZm8gZm9udCBjb21tYW5kcy4KKyAgXGRlZmluZWR1bW15d29yZFxiCisgIFxkZWZpbmVkdW1teXdvcmRcaQorICBcZGVmaW5lZHVtbXl3b3JkXHIKKyAgXGRlZmluZWR1bW15d29yZFxzYworICBcZGVmaW5lZHVtbXl3b3JkXHQKKyAgJQorICAlIENvbW1hbmRzIHRoYXQgdGFrZSBhcmd1bWVudHMuCisgIFxkZWZpbmVkdW1teXdvcmRcYWNyb255bQorICBcZGVmaW5lZHVtbXl3b3JkXGNpdGUKKyAgXGRlZmluZWR1bW15d29yZFxjb2RlCisgIFxkZWZpbmVkdW1teXdvcmRcY29tbWFuZAorICBcZGVmaW5lZHVtbXl3b3JkXGRmbgorICBcZGVmaW5lZHVtbXl3b3JkXGVtcGgKKyAgXGRlZmluZWR1bW15d29yZFxlbnYKKyAgXGRlZmluZWR1bW15d29yZFxmaWxlCisgIFxkZWZpbmVkdW1teXdvcmRca2JkCisgIFxkZWZpbmVkdW1teXdvcmRca2V5CisgIFxkZWZpbmVkdW1teXdvcmRcbWF0aAorICBcZGVmaW5lZHVtbXl3b3JkXG9wdGlvbgorICBcZGVmaW5lZHVtbXl3b3JkXHB4cmVmCisgIFxkZWZpbmVkdW1teXdvcmRccmVmCisgIFxkZWZpbmVkdW1teXdvcmRcc2FtcAorICBcZGVmaW5lZHVtbXl3b3JkXHN0cm9uZworICBcZGVmaW5lZHVtbXl3b3JkXHRpZQorICBcZGVmaW5lZHVtbXl3b3JkXHVyZWYKKyAgXGRlZmluZWR1bW15d29yZFx1cmwKKyAgXGRlZmluZWR1bW15d29yZFx2YXIKKyAgXGRlZmluZWR1bW15d29yZFx2ZXJiCisgIFxkZWZpbmVkdW1teXdvcmRcdworICBcZGVmaW5lZHVtbXl3b3JkXHhyZWYKK30KIAogJSBcaW5kZXhub2ZvbnRzIGlzIHVzZWQgd2hlbiBvdXRwdXR0aW5nIHRoZSBzdHJpbmdzIHRvIHNvcnQgdGhlIGluZGV4CiAlIGJ5LCBhbmQgd2hlbiBjb25zdHJ1Y3RpbmcgY29udHJvbCBzZXF1ZW5jZSBuYW1lcy4gIEl0IGVsaW1pbmF0ZXMgYWxsCiAlIGNvbnRyb2wgc2VxdWVuY2VzIGFuZCBqdXN0IHdyaXRlcyB3aGF0ZXZlciB0aGUgYmVzdCBBU0NJSSBzb3J0IHN0cmluZwogJSB3b3VsZCBiZSBmb3IgYSBnaXZlbiBjb21tYW5kICh1c3VhbGx5IGl0cyBhcmd1bWVudCkuCiAlCi1cZGVmXGluZGV4ZHVtbXl0ZXh7VGVYfQotXGRlZlxpbmRleGR1bW15ZG90c3suLi59Ci0lCiBcZGVmXGluZGV4bm9mb250c3slCisgICUgQWNjZW50IGNvbW1hbmRzIHNob3VsZCBiZWNvbWUgQGFzaXMuCisgIFxkZWZcZGVmaW5lZHVtbXlhY2NlbnQjIzF7XGxldCMjMVxhc2lzfSUKKyAgJSBXZSBjYW4ganVzdCBpZ25vcmUgb3RoZXIgY29udHJvbCBsZXR0ZXJzLgorICBcZGVmXGRlZmluZWR1bW15bGV0dGVyIyMxe1xsZXQjIzFcZW1wdHl9JQorICAlIEhvcGVmdWxseSwgYWxsIGNvbnRyb2wgd29yZHMgY2FuIGJlY29tZSBAYXNpcy4KKyAgXGxldFxkZWZpbmVkdW1teXdvcmRcZGVmaW5lZHVtbXlhY2NlbnQKKyAgJQorICBcY29tbW9uZHVtbWllc25vZm9udHMKKyAgJQorICAlIERvbid0IG5vLW9wIFx0dCwgc2luY2UgaXQgaXNuJ3QgYSB1c2VyLWxldmVsIGNvbW1hbmQKKyAgJSBhbmQgaXMgdXNlZCBpbiB0aGUgZGVmaW5pdGlvbnMgb2YgdGhlIGFjdGl2ZSBjaGFycyBsaWtlIDwsID4sIHwsIGV0Yy4KKyAgJSBMaWtld2lzZSB3aXRoIHRoZSBvdGhlciBwbGFpbiB0ZXggZm9udCBjb21tYW5kcy4KKyAgJVxsZXRcdHQ9XGFzaXMKKyAgJQogICBcZGVmXCB7IH0lCiAgIFxkZWZcQHtAfSUKICAgJSBob3cgdG8gaGFuZGxlIGJyYWNlcz8KICAgXGRlZlxfe1xub3JtYWx1bmRlcnNjb3JlfSUKICAgJQotICBcbGV0XCw9XGFzaXMKLSAgXGxldFwiPVxhc2lzCi0gIFxsZXRcYD1cYXNpcwotICBcbGV0XCc9XGFzaXMKLSAgXGxldFxePVxhc2lzCi0gIFxsZXRcfj1cYXNpcwotICBcbGV0XD09XGFzaXMKLSAgXGxldFx1PVxhc2lzCi0gIFxsZXRcdj1cYXNpcwotICBcbGV0XEg9XGFzaXMKLSAgXGxldFxkb3RhY2NlbnQ9XGFzaXMKLSAgXGxldFxyaW5nYWNjZW50PVxhc2lzCi0gIFxsZXRcdGllYWNjZW50PVxhc2lzCi0gIFxsZXRcdWJhcmFjY2VudD1cYXNpcwotICBcbGV0XHVkb3RhY2NlbnQ9XGFzaXMKLSAgXGxldFxkb3RsZXNzPVxhc2lzCi0gICUKLSAgJSBPdGhlciBub24tRW5nbGlzaCBsZXR0ZXJzLgorICAlIE5vbi1FbmdsaXNoIGxldHRlcnMuCiAgIFxkZWZcQUF7QUF9JQogICBcZGVmXEFFe0FFfSUKICAgXGRlZlxMe0x9JQpAQCAtMzE1OSwxMzAgKzQzNjksMTkyIEBACiAgIFxkZWZcc3N7c3N9JQogICBcZGVmXGV4Y2xhbWRvd257IX0lCiAgIFxkZWZccXVlc3Rpb25kb3duez99JQorICBcZGVmXG9yZGZ7YX0lCisgIFxkZWZcb3JkbXtvfSUKICAgJQotICAlIERvbid0IG5vLW9wIFx0dCwgc2luY2UgaXQgaXNuJ3QgYSB1c2VyLWxldmVsIGNvbW1hbmQKLSAgJSBhbmQgaXMgdXNlZCBpbiB0aGUgZGVmaW5pdGlvbnMgb2YgdGhlIGFjdGl2ZSBjaGFycyBsaWtlIDwsID4sIHwsIGV0Yy4KLSAgJSBMaWtld2lzZSB3aXRoIHRoZSBvdGhlciBwbGFpbiB0ZXggZm9udCBjb21tYW5kcy4KLSAgJVxsZXRcdHQ9XGFzaXMKKyAgXGRlZlxMYVRlWHtMYVRlWH0lCisgIFxkZWZcVGVYe1RlWH0lCiAgICUKLSAgJSBUZXhpbmZvIGZvbnQgY29tbWFuZHMuCi0gIFxsZXRcYj1cYXNpcwotICBcbGV0XGk9XGFzaXMKLSAgXGxldFxyPVxhc2lzCi0gIFxsZXRcc2M9XGFzaXMKLSAgXGxldFx0PVxhc2lzCisgICUgQXNzb3J0ZWQgc3BlY2lhbCBjaGFyYWN0ZXJzLgorICAlIChUaGUgZm9sbG93aW5nIHt9IHdpbGwgZW5kIHVwIGluIHRoZSBzb3J0IHN0cmluZywgYnV0IHRoYXQncyBvay4pCisgIFxkZWZcYnVsbGV0e2J1bGxldH0lCisgIFxkZWZcY29tbWF7LH0lCisgIFxkZWZcY29weXJpZ2h0e2NvcHlyaWdodH0lCisgIFxkZWZccmVnaXN0ZXJlZHN5bWJvbHtSfSUKKyAgXGRlZlxkb3Rzey4uLn0lCisgIFxkZWZcZW5kZG90c3suLi59JQorICBcZGVmXGVxdWl2ez09fSUKKyAgXGRlZlxlcnJvcntlcnJvcn0lCisgIFxkZWZcZXVyb3tldXJvfSUKKyAgXGRlZlxndWlsbGVtZXRsZWZ0ezw8fSUKKyAgXGRlZlxndWlsbGVtZXRyaWdodHs+Pn0lCisgIFxkZWZcZ3VpbHNpbmdsbGVmdHs8fSUKKyAgXGRlZlxndWlsc2luZ2xyaWdodHs+fSUKKyAgXGRlZlxleHBhbnNpb257PT0+fSUKKyAgXGRlZlxtaW51c3stfSUKKyAgXGRlZlxwb3VuZHN7cG91bmRzfSUKKyAgXGRlZlxwb2ludHsufSUKKyAgXGRlZlxwcmludHstfH0lCisgIFxkZWZccXVvdGVkYmxiYXNleyJ9JQorICBcZGVmXHF1b3RlZGJsbGVmdHsifSUKKyAgXGRlZlxxdW90ZWRibHJpZ2h0eyJ9JQorICBcZGVmXHF1b3RlbGVmdHtgfSUKKyAgXGRlZlxxdW90ZXJpZ2h0eyd9JQorICBcZGVmXHF1b3Rlc2luZ2xiYXNleyx9JQorICBcZGVmXHJlc3VsdHs9Pn0lCisgIFxkZWZcdGV4dGRlZ3JlZXtkZWdyZWVzfSUKICAgJQotICBcbGV0XFRlWD1caW5kZXhkdW1teXRleAotICBcbGV0XGFjcm9ueW09XGFzaXMKLSAgXGxldFxjaXRlPVxhc2lzCi0gIFxsZXRcY29kZT1cYXNpcwotICBcbGV0XGNvbW1hbmQ9XGFzaXMKLSAgXGxldFxkZm49XGFzaXMKLSAgXGxldFxkb3RzPVxpbmRleGR1bW15ZG90cwotICBcbGV0XGVtcGg9XGFzaXMKLSAgXGxldFxlbnY9XGFzaXMKLSAgXGxldFxmaWxlPVxhc2lzCi0gIFxsZXRca2JkPVxhc2lzCi0gIFxsZXRca2V5PVxhc2lzCi0gIFxsZXRcbWF0aD1cYXNpcwotICBcbGV0XG9wdGlvbj1cYXNpcwotICBcbGV0XHNhbXA9XGFzaXMKLSAgXGxldFxzdHJvbmc9XGFzaXMKLSAgXGxldFx1cmVmPVxhc2lzCi0gIFxsZXRcdXJsPVxhc2lzCi0gIFxsZXRcdmFyPVxhc2lzCi0gIFxsZXRcdz1cYXNpcworICAlIFdlIG5lZWQgdG8gZ2V0IHJpZCBvZiBhbGwgbWFjcm9zLCBsZWF2aW5nIG9ubHkgdGhlIGFyZ3VtZW50cyAoaWYgcHJlc2VudCkuCisgICUgT2YgY291cnNlIHRoaXMgaXMgbm90IG5lYXJseSBjb3JyZWN0LCBidXQgaXQgaXMgdGhlIGJlc3Qgd2UgY2FuIGRvIGZvciBub3cuCisgICUgbWFrZWluZm8gZG9lcyBub3QgZXhwYW5kIG1hY3JvcyBpbiB0aGUgYXJndW1lbnQgdG8gQGRlZmZuLCB3aGljaCBlbmRzIHVwCisgICUgd3JpdGluZyBhbiBpbmRleCBlbnRyeSwgYW5kIHRleGluZGV4IGlzbid0IHByZXBhcmVkIGZvciBhbiBpbmRleCBzb3J0IGVudHJ5CisgICUgdGhhdCBzdGFydHMgd2l0aCBcLgorICAlIAorICAlIFNpbmNlIG1hY3JvIGludm9jYXRpb25zIGFyZSBmb2xsb3dlZCBieSBicmFjZXMsIHdlIGNhbiBqdXN0IHJlZGVmaW5lIHRoZW0KKyAgJSB0byB0YWtlIGEgc2luZ2xlIFRlWCBhcmd1bWVudC4gIFRoZSBjYXNlIG9mIGEgbWFjcm8gaW52b2NhdGlvbiB0aGF0CisgICUgZ29lcyB0byBlbmQtb2YtbGluZSBpcyBub3QgaGFuZGxlZC4KKyAgJSAKKyAgXG1hY3JvbGlzdAogfQogCiBcbGV0XGluZGV4YmFja3NsYXNoPTAgICVvdmVycmlkZGVuIGR1cmluZyBccHJpbnRpbmRleC4KIFxsZXRcU0VUbWFyZ2luaW5kZXg9XHJlbGF4ICUgcHV0IGluZGV4IGVudHJpZXMgaW4gbWFyZ2luICh1bmRvY3VtZW50ZWQpPwogCi0lIEZvciBcaWZ4IGNvbXBhcmlzb25zLgotXGRlZlxlbXB0eW1hY3Jve1xlbXB0eX0KLQogJSBNb3N0IGluZGV4IGVudHJpZXMgZ28gdGhyb3VnaCBoZXJlLCBidXQgXGRvc3ViaW5kIGlzIHRoZSBnZW5lcmFsIGNhc2UuCi0lCi1cZGVmXGRvaW5kIzEjMntcZG9zdWJpbmR7IzF9eyMyfVxlbXB0eX0KKyUgIzEgaXMgdGhlIGluZGV4IG5hbWUsICMyIGlzIHRoZSBlbnRyeSB0ZXh0LgorXGRlZlxkb2luZCMxIzJ7XGRvc3ViaW5keyMxfXsjMn17fX0KIAogJSBXb3JraG9yc2UgZm9yIGFsbCBcZm9vaW5kZXhlcy4KICUgIzEgaXMgbmFtZSBvZiBpbmRleCwgIzIgaXMgc3R1ZmYgdG8gcHV0IHRoZXJlLCAjMyBpcyBzdWJlbnRyeSAtLQotJSBcZW1wdHkgaWYgY2FsbGVkIGZyb20gXGRvaW5kLCBhcyB3ZSB1c3VhbGx5IGFyZS4gIFRoZSBtYWluIGV4Y2VwdGlvbgotJSBpcyB3aXRoIGRlZnVucywgd2hpY2ggY2FsbCB1cyBkaXJlY3RseS4KKyUgZW1wdHkgaWYgY2FsbGVkIGZyb20gXGRvaW5kLCBhcyB3ZSB1c3VhbGx5IGFyZSAodGhlIG1haW4gZXhjZXB0aW9uCislIGlzIHdpdGggbW9zdCBkZWZ1bnMsIHdoaWNoIGNhbGwgdXMgZGlyZWN0bHkpLgogJQogXGRlZlxkb3N1YmluZCMxIzIjM3slCisgIFxpZmxpbmtzCisgIHslCisgICAgJSBTdG9yZSB0aGUgbWFpbiBpbmRleCBlbnRyeSB0ZXh0IChpbmNsdWRpbmcgdGhlIHRoaXJkIGFyZykuCisgICAgXHRva3MwID0geyMyfSUKKyAgICAlIElmIHRoaXJkIGFyZyBpcyBwcmVzZW50LCBwcmVjZWRlIGl0IHdpdGggYSBzcGFjZS4KKyAgICBcZGVmXHRoaXJkYXJneyMzfSUKKyAgICBcaWZ4XHRoaXJkYXJnXGVtcHR5IFxlbHNlCisgICAgICBcdG9rczAgPSBcZXhwYW5kYWZ0ZXJ7XHRoZVx0b2tzMCBcc3BhY2UgIzN9JQorICAgIFxmaQorICAgICUKKyAgICBcZWRlZlx3cml0ZXRve1xjc25hbWUjMWluZGZpbGVcZW5kY3NuYW1lfSUKKyAgICAlCisgICAgXHNhZmV3aGF0c2l0XGRvc3ViaW5kd3JpdGUKKyAgfSUKKyAgXGZpCit9CisKKyUgV3JpdGUgdGhlIGVudHJ5IGluIFx0b2tzMCB0byB0aGUgaW5kZXggZmlsZToKKyUKK1xkZWZcZG9zdWJpbmR3cml0ZXslCiAgICUgUHV0IHRoZSBpbmRleCBlbnRyeSBpbiB0aGUgbWFyZ2luIGlmIGRlc2lyZWQuCiAgIFxpZnhcU0VUbWFyZ2luaW5kZXhccmVsYXhcZWxzZQotICAgIFxpbnNlcnRcbWFyZ2lue1xoYm94e1x2cnVsZSBoZWlnaHQ4cHQgZGVwdGgzcHQgd2lkdGgwcHQgIzJ9fSUKKyAgICBcaW5zZXJ0XG1hcmdpbntcaGJveHtcdnJ1bGUgaGVpZ2h0OHB0IGRlcHRoM3B0IHdpZHRoMHB0IFx0aGVcdG9rczB9fSUKICAgXGZpCi0gIHslCi0gICAgXGNvdW50MjU1PVxsYXN0cGVuYWx0eQotICAgIHslCi0gICAgICBcaW5kZXhkdW1taWVzICUgTXVzdCBkbyB0aGlzIGhlcmUsIHNpbmNlIFxiZiwgZXRjIGV4cGFuZCBhdCB0aGlzIHN0YWdlCi0gICAgICBcZXNjYXBlY2hhcj1gXFwKLSAgICAgIHslCi0gICAgICAgIFxsZXRcZm9saW8gPSAwJSBXZSB3aWxsIGV4cGFuZCBhbGwgbWFjcm9zIG5vdyBFWENFUFQgXGZvbGlvLgotICAgICAgICBcZGVmXHJhd2JhY2tzbGFzaHh4e1xpbmRleGJhY2tzbGFzaH0lIFxpbmRleGJhY2tzbGFzaCBpc24ndCBkZWZpbmVkIG5vdwotICAgICAgICAlIHNvIGl0IHdpbGwgYmUgb3V0cHV0IGFzIGlzOyBhbmQgaXQgd2lsbCBwcmludCBhcyBiYWNrc2xhc2guCi0gICAgICAgICUKLSAgICAgICAgJSBUaGUgbWFpbiBpbmRleCBlbnRyeSB0ZXh0LgotICAgICAgICBcdG9rczAgPSB7IzJ9JQotICAgICAgICAlCi0gICAgICAgICUgSWYgdGhpcmQgYXJnIGlzIHByZXNlbnQsIHByZWNlZGUgaXQgd2l0aCBzcGFjZSBpbiBzb3J0IGtleS4KLSAgICAgICAgXGRlZlx0aGlyZGFyZ3sjM30lCi0gICAgICAgIFxpZnhcdGhpcmRhcmdcZW1wdHltYWNybyBcZWxzZQotICAgICAgICAgICAlIElmIHRoZSB0aGlyZCAoc3ViZW50cnkpIGFyZyBpcyBwcmVzZW50LCBhZGQgaXQgdG8gdGhlIGluZGV4Ci0gICAgICAgICAgICUgbGluZSB0byB3cml0ZS4KLSAgICAgICAgICBcdG9rczAgPSBcZXhwYW5kYWZ0ZXJ7XHRoZVx0b2tzMCBcc3BhY2UgIzN9JQotICAgICAgICBcZmkKLSAgICAgICAgJQotICAgICAgICAlIFByb2Nlc3MgdGhlIGluZGV4IGVudHJ5IHdpdGggYWxsIGZvbnQgY29tbWFuZHMgdHVybmVkIG9mZiwgdG8KLSAgICAgICAgJSBnZXQgdGhlIHN0cmluZyB0byBzb3J0IGJ5LgotICAgICAgICB7XGluZGV4bm9mb250cwotICAgICAgICAgXGVkZWZcdGVtcHtcdGhlXHRva3MwfSUgbmVlZCBmdWxsIGV4cGFuc2lvbgotICAgICAgICAgXHhkZWZcaW5kZXhzb3J0dG1we1x0ZW1wfSUKLSAgICAgICAgfSUKLSAgICAgICAgJQotICAgICAgICAlIFNldCB1cCB0aGUgY29tcGxldGUgaW5kZXggZW50cnksIHdpdGggYm90aCB0aGUgc29ydCBrZXkgYW5kCi0gICAgICAgICUgdGhlIG9yaWdpbmFsIHRleHQsIGluY2x1ZGluZyBhbnkgZm9udCBjb21tYW5kcy4gIFdlIHdyaXRlCi0gICAgICAgICUgdGhyZWUgYXJndW1lbnRzIHRvIFxlbnRyeSB0byB0aGUgLj8/IGZpbGUgKGZvdXIgaW4gdGhlCi0gICAgICAgICUgc3ViZW50cnkgY2FzZSksIHRleGluZGV4IHJlZHVjZXMgdG8gdHdvIHdoZW4gd3JpdGluZyB0aGUgLj8/cwotICAgICAgICAlIHNvcnRlZCByZXN1bHQuCi0gICAgICAgIFxlZGVmXHRlbXB7JQotICAgICAgICAgIFx3cml0ZVxjc25hbWUjMWluZGZpbGVcZW5kY3NuYW1leyUKLSAgICAgICAgICAgIFxyZWFsYmFja3NsYXNoIGVudHJ5e1xpbmRleHNvcnR0bXB9e1xmb2xpb317XHRoZVx0b2tzMH19JQotICAgICAgICB9JQotICAgICAgICAlCi0gICAgICAgICUgSWYgYSBza2lwIGlzIHRoZSBsYXN0IHRoaW5nIG9uIHRoZSBsaXN0IG5vdywgcHJlc2VydmUgaXQKLSAgICAgICAgJSBieSBiYWNraW5nIHVwIGJ5IFxsYXN0c2tpcCwgZG9pbmcgdGhlIFx3cml0ZSwgdGhlbiBpbnNlcnRpbmcKLSAgICAgICAgJSB0aGUgc2tpcCBhZ2Fpbi4gIE90aGVyd2lzZSwgdGhlIHdoYXRzaXQgZ2VuZXJhdGVkIGJ5IHRoZQotICAgICAgICAlIFx3cml0ZSB3aWxsIG1ha2UgXGxhc3Rza2lwIHplcm8uICBUaGUgcmVzdWx0IGlzIHRoYXQgc2VxdWVuY2VzCi0gICAgICAgICUgbGlrZSB0aGlzOgotICAgICAgICAlIEBlbmQgZGVmdW4KLSAgICAgICAgJSBAdGluZGV4IHdoYXRldmVyCi0gICAgICAgICUgQGRlZnVuIC4uLgotICAgICAgICAlIHdpbGwgaGF2ZSBleHRyYSBzcGFjZSBpbnNlcnRlZCwgYmVjYXVzZSB0aGUgXG1lZGJyZWFrIGluIHRoZQotICAgICAgICAlIHN0YXJ0IG9mIHRoZSBAZGVmdW4gd29uJ3Qgc2VlIHRoZSBza2lwIGluc2VydGVkIGJ5IHRoZSBAZW5kIG9mCi0gICAgICAgICUgdGhlIHByZXZpb3VzIGRlZnVuLgotICAgICAgICAlCi0gICAgICAgICUgQnV0IGRvbid0IGRvIGFueSBvZiB0aGlzIGlmIHdlJ3JlIG5vdCBpbiB2ZXJ0aWNhbCBtb2RlLiAgV2UKLSAgICAgICAgJSBkb24ndCB3YW50IHRvIGRvIGEgXHZza2lwIGFuZCBwcmVtYXR1cmVseSBlbmQgYSBwYXJhZ3JhcGguCi0gICAgICAgICUKLSAgICAgICAgJSBBdm9pZCBwYWdlIGJyZWFrcyBkdWUgdG8gdGhlc2UgZXh0cmEgc2tpcHMsIHRvby4KLSAgICAgICAgJQotICAgICAgICBcaWZsaW5rcwotICAgICAgICAgIFxpZnZtb2RlCi0gICAgICAgICAgICBcc2tpcDAgPSBcbGFzdHNraXAKLSAgICAgICAgICAgIFxpZmRpbVxsYXN0c2tpcCA9IDBwdCBcZWxzZSBcbm9icmVha1x2c2tpcC1cc2tpcDAgXGZpCi0gICAgICAgICAgXGZpCi0gICAgICAgICAgJQotICAgICAgICAgIFx0ZW1wICUgZG8gdGhlIHdyaXRlCi0gICAgICAgICAgJQotICAgICAgICAgIFxpZnZtb2RlIFxpZmRpbVxza2lwMCA9IDBwdCBcZWxzZSBcbm9icmVha1x2c2tpcFxza2lwMCBcZmkgXGZpCi0gICAgICAgIFxmaQotICAgICAgfSUKLSAgICB9JQotICAgIFxwZW5hbHR5XGNvdW50MjU1CisgICUKKyAgJSBSZW1lbWJlciwgd2UgYXJlIHdpdGhpbiBhIGdyb3VwLgorICBcaW5kZXhkdW1taWVzICUgTXVzdCBkbyB0aGlzIGhlcmUsIHNpbmNlIFxiZiwgZXRjIGV4cGFuZCBhdCB0aGlzIHN0YWdlCisgIFxkZWZcYmFja3NsYXNoY3VyZm9udHtcaW5kZXhiYWNrc2xhc2h9JSBcaW5kZXhiYWNrc2xhc2ggaXNuJ3QgZGVmaW5lZCBub3cKKyAgICAgICUgc28gaXQgd2lsbCBiZSBvdXRwdXQgYXMgaXM7IGFuZCBpdCB3aWxsIHByaW50IGFzIGJhY2tzbGFzaC4KKyAgJQorICAlIFByb2Nlc3MgdGhlIGluZGV4IGVudHJ5IHdpdGggYWxsIGZvbnQgY29tbWFuZHMgdHVybmVkIG9mZiwgdG8KKyAgJSBnZXQgdGhlIHN0cmluZyB0byBzb3J0IGJ5LgorICB7XGluZGV4bm9mb250cworICAgXGVkZWZcdGVtcHtcdGhlXHRva3MwfSUgbmVlZCBmdWxsIGV4cGFuc2lvbgorICAgXHhkZWZcaW5kZXhzb3J0dG1we1x0ZW1wfSUKICAgfSUKKyAgJQorICAlIFNldCB1cCB0aGUgY29tcGxldGUgaW5kZXggZW50cnksIHdpdGggYm90aCB0aGUgc29ydCBrZXkgYW5kCisgICUgdGhlIG9yaWdpbmFsIHRleHQsIGluY2x1ZGluZyBhbnkgZm9udCBjb21tYW5kcy4gIFdlIHdyaXRlCisgICUgdGhyZWUgYXJndW1lbnRzIHRvIFxlbnRyeSB0byB0aGUgLj8/IGZpbGUgKGZvdXIgaW4gdGhlCisgICUgc3ViZW50cnkgY2FzZSksIHRleGluZGV4IHJlZHVjZXMgdG8gdHdvIHdoZW4gd3JpdGluZyB0aGUgLj8/cworICAlIHNvcnRlZCByZXN1bHQuCisgIFxlZGVmXHRlbXB7JQorICAgIFx3cml0ZVx3cml0ZXRveyUKKyAgICAgIFxzdHJpbmdcZW50cnl7XGluZGV4c29ydHRtcH17XG5vZXhwYW5kXGZvbGlvfXtcdGhlXHRva3MwfX0lCisgIH0lCisgIFx0ZW1wCit9CisKKyUgVGFrZSBjYXJlIG9mIHVud2FudGVkIHBhZ2UgYnJlYWtzL3NraXBzIGFyb3VuZCBhIHdoYXRzaXQ6CislCislIElmIGEgc2tpcCBpcyB0aGUgbGFzdCB0aGluZyBvbiB0aGUgbGlzdCBub3csIHByZXNlcnZlIGl0CislIGJ5IGJhY2tpbmcgdXAgYnkgXGxhc3Rza2lwLCBkb2luZyB0aGUgXHdyaXRlLCB0aGVuIGluc2VydGluZworJSB0aGUgc2tpcCBhZ2Fpbi4gIE90aGVyd2lzZSwgdGhlIHdoYXRzaXQgZ2VuZXJhdGVkIGJ5IHRoZQorJSBcd3JpdGUgb3IgXHBkZmRlc3Qgd2lsbCBtYWtlIFxsYXN0c2tpcCB6ZXJvLiAgVGhlIHJlc3VsdCBpcyB0aGF0CislIHNlcXVlbmNlcyBsaWtlIHRoaXM6CislIEBlbmQgZGVmdW4KKyUgQHRpbmRleCB3aGF0ZXZlcgorJSBAZGVmdW4gLi4uCislIHdpbGwgaGF2ZSBleHRyYSBzcGFjZSBpbnNlcnRlZCwgYmVjYXVzZSB0aGUgXG1lZGJyZWFrIGluIHRoZQorJSBzdGFydCBvZiB0aGUgQGRlZnVuIHdvbid0IHNlZSB0aGUgc2tpcCBpbnNlcnRlZCBieSB0aGUgQGVuZCBvZgorJSB0aGUgcHJldmlvdXMgZGVmdW4uCislCislIEJ1dCBkb24ndCBkbyBhbnkgb2YgdGhpcyBpZiB3ZSdyZSBub3QgaW4gdmVydGljYWwgbW9kZS4gIFdlCislIGRvbid0IHdhbnQgdG8gZG8gYSBcdnNraXAgYW5kIHByZW1hdHVyZWx5IGVuZCBhIHBhcmFncmFwaC4KKyUKKyUgQXZvaWQgcGFnZSBicmVha3MgZHVlIHRvIHRoZXNlIGV4dHJhIHNraXBzLCB0b28uCislCislIEJ1dCB3YWl0LCB0aGVyZSBpcyBhIGNhdGNoIHRoZXJlOgorJSBXZSdsbCBoYXZlIHRvIGNoZWNrIHdoZXRoZXIgXGxhc3Rza2lwIGlzIHplcm8gc2tpcC4gIFxpZmRpbSBpcyBub3QKKyUgc3VmZmljaWVudCBmb3IgdGhpcyBwdXJwb3NlLCBhcyBpdCBpZ25vcmVzIHN0cmV0Y2ggYW5kIHNocmluayBwYXJ0cworJSBvZiB0aGUgc2tpcC4gIFRoZSBvbmx5IHdheSBzZWVtcyB0byBiZSB0byBjaGVjayB0aGUgdGV4dHVhbAorJSByZXByZXNlbnRhdGlvbiBvZiB0aGUgc2tpcC4KKyUKKyUgVGhlIGZvbGxvd2luZyBpcyBhbG1vc3QgbGlrZSBcZGVmXHplcm9za2lwbWFjcm97MC4wcHR9IGV4Y2VwdCB0aGF0CislIHRoZSBgYHAnJyBhbmQgYGB0JycgY2hhcmFjdGVycyBoYXZlIGNhdGNvZGUgXG90aGVyLCBub3QgMTEgKGxldHRlcikuCislCitcZWRlZlx6ZXJvc2tpcG1hY3Jve1xleHBhbmRhZnRlclx0aGVcY3NuYW1lIHpAc2tpcFxlbmRjc25hbWV9CislCitcbmV3c2tpcFx3aGF0c2l0c2tpcAorXG5ld2NvdW50XHdoYXRzaXRwZW5hbHR5CislCislIC4uLiwgcmVhZHksIEdPOgorJQorXGRlZlxzYWZld2hhdHNpdCMxeyUKK1xpZmhtb2RlCisgICMxJQorXGVsc2UKKyAgJSBcbGFzdHNraXAgYW5kIFxsYXN0cGVuYWx0eSBjYW5ub3QgYm90aCBiZSBub256ZXJvIHNpbXVsdGFuZW91c2x5LgorICBcd2hhdHNpdHNraXAgPSBcbGFzdHNraXAKKyAgXGVkZWZcbGFzdHNraXBtYWNyb3tcdGhlXGxhc3Rza2lwfSUKKyAgXHdoYXRzaXRwZW5hbHR5ID0gXGxhc3RwZW5hbHR5CisgICUKKyAgJSBJZiBcbGFzdHNraXAgaXMgbm9uemVybywgdGhhdCBtZWFucyB0aGUgbGFzdCBpdGVtIHdhcyBhCisgICUgc2tpcC4gIEFuZCBzaW5jZSBhIHNraXAgaXMgZGlzY2FyZGFibGUsIHRoYXQgbWVhbnMgdGhpcworICAlIC1cd2hhdHNpdHNraXAgZ2x1ZSB3ZSdyZSBpbnNlcnRpbmcgaXMgcHJlY2VkZWQgYnkgYQorICAlIG5vbi1kaXNjYXJkYWJsZSBpdGVtLCB0aGVyZWZvcmUgaXQgaXMgbm90IGEgcG90ZW50aWFsCisgICUgYnJlYWtwb2ludCwgdGhlcmVmb3JlIG5vIFxub2JyZWFrIG5lZWRlZC4KKyAgXGlmeFxsYXN0c2tpcG1hY3JvXHplcm9za2lwbWFjcm8KKyAgXGVsc2UKKyAgICBcdnNraXAtXHdoYXRzaXRza2lwCisgIFxmaQorICAlCisgICMxJQorICAlCisgIFxpZnhcbGFzdHNraXBtYWNyb1x6ZXJvc2tpcG1hY3JvCisgICAgJSBJZiBcbGFzdHNraXAgd2FzIHplcm8sIHBlcmhhcHMgdGhlIGxhc3QgaXRlbSB3YXMgYSBwZW5hbHR5LCBhbmQKKyAgICAlIHBlcmhhcHMgaXQgd2FzID49MTAwMDAsIGUuZy4sIGEgXG5vYnJlYWsuICBJbiB0aGF0IGNhc2UsIHdlIHdhbnQKKyAgICAlIHRvIHJlLWluc2VydCB0aGUgc2FtZSBwZW5hbHR5ICh2YWx1ZXMgPjEwMDAwIGFyZSB1c2VkIGZvciB2YXJpb3VzCisgICAgJSBzaWduYWxzKTsgc2luY2Ugd2UganVzdCBpbnNlcnRlZCBhIG5vbi1kaXNjYXJkYWJsZSBpdGVtLCBhbnkKKyAgICAlIGZvbGxvd2luZyBnbHVlIChzdWNoIGFzIGEgXHBhcnNraXApIHdvdWxkIGJlIGEgYnJlYWtwb2ludC4gIEZvciBleGFtcGxlOgorICAgICUgCisgICAgJSAgIEBkZWZmbiBkZWZmbi13aGF0ZXZlcgorICAgICUgICBAdmluZGV4IGluZGV4LXdoYXRldmVyCisgICAgJSAgIERlc2NyaXB0aW9uLgorICAgICUgd291bGQgYWxsb3cgYSBicmVhayBiZXR3ZWVuIHRoZSBpbmRleC13aGF0ZXZlciB3aGF0c2l0CisgICAgJSBhbmQgdGhlICJEZXNjcmlwdGlvbi4iIHBhcmFncmFwaC4KKyAgICBcaWZudW1cd2hhdHNpdHBlbmFsdHk+OTk5OSBccGVuYWx0eVx3aGF0c2l0cGVuYWx0eSBcZmkKKyAgXGVsc2UKKyAgICAlIE9uIHRoZSBvdGhlciBoYW5kLCBpZiB3ZSBoYWQgYSBub256ZXJvIFxsYXN0c2tpcCwKKyAgICAlIHRoaXMgbWFrZS11cCBnbHVlIHdvdWxkIGJlIHByZWNlZGVkIGJ5IGEgbm9uLWRpc2NhcmRhYmxlIGl0ZW0KKyAgICAlICh0aGUgd2hhdHNpdCBmcm9tIHRoZSBcd3JpdGUpLCBzbyB3ZSBtdXN0IGluc2VydCBhIFxub2JyZWFrLgorICAgIFxub2JyZWFrXHZza2lwXHdoYXRzaXRza2lwCisgIFxmaQorXGZpCiB9CiAKICUgVGhlIGluZGV4IGVudHJ5IHdyaXR0ZW4gaW4gdGhlIGZpbGUgYWN0dWFsbHkgbG9va3MgbGlrZQpAQCAtMzMyMCwxMyArNDU5MiwxMyBAQAogJSBAcHJpbnRpbmRleCBjYXVzZXMgYSBwYXJ0aWN1bGFyIGluZGV4ICh0aGUgPz9zIGZpbGUpIHRvIGdldCBwcmludGVkLgogJSBJdCBkb2VzIG5vdCBwcmludCBhbnkgY2hhcHRlciBoZWFkaW5nICh1c3VhbGx5IGFuIEB1bm51bWJlcmVkKS4KICUKLVxkZWZccHJpbnRpbmRleHtccGFyc2VhcmdcZG9wcmludGluZGV4fQotXGRlZlxkb3ByaW50aW5kZXgjMXtcYmVnaW5ncm91cAorXHBhcnNlYXJnZGVmXHByaW50aW5kZXh7XGJlZ2luZ3JvdXAKICAgXGRvYnJlYWsgXGNoYXBoZWFkaW5nc2tpcHsxMDAwMH0lCiAgICUKICAgXHNtYWxsZm9udHMgXHJtCiAgIFx0b2xlcmFuY2UgPSA5NTAwCi0gIFxpbmRleGJyZWFrcworICBccGxhaW5mcmVuY2hzcGFjaW5nCisgIFxldmVyeXBhciA9IHt9JSBkb24ndCB3YW50IHRoZSBca2VyblwtcGFyaW5kZW50IGZyb20gaW5kZW50YXRpb24gc3VwcHJlc3Npb24uCiAgICUKICAgJSBTZWUgaWYgdGhlIGluZGV4IGZpbGUgZXhpc3RzIGFuZCBpcyBub25lbXB0eS4KICAgJSBDaGFuZ2UgY2F0Y29kZSBvZiBAIGhlcmUgc28gdGhhdCBpZiB0aGUgaW5kZXggZmlsZSBjb250YWlucwpAQCAtMzM1Myw3ICs0NjI1LDcgQEAKICAgICAgICUgSW5kZXggZmlsZXMgYXJlIGFsbW9zdCBUZXhpbmZvIHNvdXJjZSwgYnV0IHdlIHVzZSBcIGFzIHRoZSBlc2NhcGUKICAgICAgICUgY2hhcmFjdGVyLiAgSXQgd291bGQgYmUgYmV0dGVyIHRvIHVzZSBALCBidXQgdGhhdCdzIHRvbyBiaWcgYSBjaGFuZ2UKICAgICAgICUgdG8gbWFrZSByaWdodCBub3cuCi0gICAgICBcZGVmXGluZGV4YmFja3NsYXNoe1xyYXdiYWNrc2xhc2h4eH0lCisgICAgICBcZGVmXGluZGV4YmFja3NsYXNoe1xiYWNrc2xhc2hjdXJmb250fSUKICAgICAgIFxjYXRjb2RlYFxcID0gMAogICAgICAgXGVzY2FwZWNoYXIgPSBgXFwKICAgICAgIFxiZWdpbmRvdWJsZWNvbHVtbnMKQEAgLTMzNzUsNyArNDY0NywxMCBAQAogICBccmVtb3ZlbGFzdHNraXAKICAgJQogICAlIFdlIGxpa2UgYnJlYWtzIGJlZm9yZSB0aGUgaW5kZXggaW5pdGlhbHMsIHNvIGluc2VydCBhIGJvbnVzLgotICBccGVuYWx0eSAtMzAwCisgIFxub2JyZWFrCisgIFx2c2tpcCAwcHQgcGx1cyAzXGJhc2VsaW5lc2tpcAorICBccGVuYWx0eSAwCisgIFx2c2tpcCAwcHQgcGx1cyAtM1xiYXNlbGluZXNraXAKICAgJQogICAlIFR5cGVzZXQgdGhlIGluaXRpYWwuICBNYWtpbmcgdGhpcyBhZGQgdXAgdG8gYSB3aG9sZSBudW1iZXIgb2YKICAgJSBiYXNlbGluZXNraXBzIGluY3JlYXNlcyB0aGUgY2hhbmNlIG9mIHRoZSBkb3RzIGxpbmluZyB1cCBmcm9tIGNvbHVtbgpAQCAtMzM4NSw4NCArNDY2MCwxMDEgQEAKICAgJSBObyBzaHJpbmsgYmVjYXVzZSBpdCBjb25mdXNlcyBcYmFsYW5jZWNvbHVtbnMuCiAgIFx2c2tpcCAxLjY3XGJhc2VsaW5lc2tpcCBwbHVzIC41XGJhc2VsaW5lc2tpcAogICBcbGVmdGxpbmV7XHNlY2JmICMxfSUKLSAgXHZza2lwIC4zM1xiYXNlbGluZXNraXAgcGx1cyAuMVxiYXNlbGluZXNraXAKLSAgJQogICAlIERvIG91ciBiZXN0IG5vdCB0byBicmVhayBhZnRlciB0aGUgaW5pdGlhbC4KICAgXG5vYnJlYWsKKyAgXHZza2lwIC4zM1xiYXNlbGluZXNraXAgcGx1cyAuMVxiYXNlbGluZXNraXAKIH19CiAKLSUgVGhpcyB0eXBlc2V0cyBhIHBhcmFncmFwaCBjb25zaXN0aW5nIG9mICMxLCBkb3QgbGVhZGVycywgYW5kIHRoZW4gIzIKLSUgZmx1c2ggdG8gdGhlIHJpZ2h0IG1hcmdpbi4gIEl0IGlzIHVzZWQgZm9yIGluZGV4IGFuZCB0YWJsZSBvZiBjb250ZW50cwotJSBlbnRyaWVzLiAgVGhlIHBhcmFncmFwaCBpcyBpbmRlbnRlZCBieSBcbGVmdHNraXAuCislIFxlbnRyeSB0eXBlc2V0cyBhIHBhcmFncmFwaCBjb25zaXN0aW5nIG9mIHRoZSB0ZXh0ICgjMSksIGRvdCBsZWFkZXJzLCBhbmQKKyUgdGhlbiBwYWdlIG51bWJlciAoIzIpIGZsdXNoZWQgdG8gdGhlIHJpZ2h0IG1hcmdpbi4gIEl0IGlzIHVzZWQgZm9yIGluZGV4CislIGFuZCB0YWJsZSBvZiBjb250ZW50cyBlbnRyaWVzLiAgVGhlIHBhcmFncmFwaCBpcyBpbmRlbnRlZCBieSBcbGVmdHNraXAuCiAlCi1cZGVmXGVudHJ5IzEjMntcYmVnaW5ncm91cAotICAlCi0gICUgU3RhcnQgYSBuZXcgcGFyYWdyYXBoIGlmIG5lY2Vzc2FyeSwgc28gb3VyIGFzc2lnbm1lbnRzIGJlbG93IGNhbid0Ci0gICUgYWZmZWN0IHByZXZpb3VzIHRleHQuCi0gIFxwYXIKLSAgJQotICAlIERvIG5vdCBmaWxsIG91dCB0aGUgbGFzdCBsaW5lIHdpdGggd2hpdGUgc3BhY2UuCi0gIFxwYXJmaWxsc2tpcCA9IDBpbgotICAlCi0gICUgTm8gZXh0cmEgc3BhY2UgYWJvdmUgdGhpcyBwYXJhZ3JhcGguCi0gIFxwYXJza2lwID0gMGluCi0gICUKLSAgJSBEbyBub3QgcHJlZmVyIGEgc2VwYXJhdGUgbGluZSBlbmRpbmcgd2l0aCBhIGh5cGhlbiB0byBmZXdlciBsaW5lcy4KLSAgXGZpbmFsaHlwaGVuZGVtZXJpdHMgPSAwCi0gICUKLSAgJSBcaGFuZ2luZGVudCBpcyBvbmx5IHJlbGV2YW50IHdoZW4gdGhlIGVudHJ5IHRleHQgYW5kIHBhZ2UgbnVtYmVyCi0gICUgZG9uJ3QgYm90aCBmaXQgb24gb25lIGxpbmUuICBJbiB0aGF0IGNhc2UsIGJvYiBzdWdnZXN0cyBzdGFydGluZyB0aGUKLSAgJSBkb3RzIHByZXR0eSBmYXIgb3ZlciBvbiB0aGUgbGluZS4gIFVuZm9ydHVuYXRlbHksIGEgbGFyZ2UKLSAgJSBpbmRlbnRhdGlvbiBsb29rcyB3cm9uZyB3aGVuIHRoZSBlbnRyeSB0ZXh0IGl0c2VsZiBpcyBicm9rZW4gYWNyb3NzCi0gICUgbGluZXMuICBTbyB3ZSB1c2UgYSBzbWFsbCBpbmRlbnRhdGlvbiBhbmQgcHV0IHVwIHdpdGggbG9uZyBsZWFkZXJzLgotICAlCi0gICUgXGhhbmdhZnRlciBpcyByZXNldCB0byAxICh3aGljaCBpcyB0aGUgdmFsdWUgd2Ugd2FudCkgYXQgdGhlIHN0YXJ0Ci0gICUgb2YgZWFjaCBwYXJhZ3JhcGgsIHNvIHdlIG5lZWQgbm90IGRvIGFueXRoaW5nIHdpdGggdGhhdC4KLSAgXGhhbmdpbmRlbnQgPSAyZW0KLSAgJQotICAlIFdoZW4gdGhlIGVudHJ5IHRleHQgbmVlZHMgdG8gYmUgYnJva2VuLCBqdXN0IGZpbGwgb3V0IHRoZSBmaXJzdCBsaW5lCi0gICUgd2l0aCBibGFuayBzcGFjZS4KLSAgXHJpZ2h0c2tpcCA9IDBwdCBwbHVzMWZpbAotICAlCi0gICUgQSBiaXQgb2Ygc3RyZXRjaCBiZWZvcmUgZWFjaCBlbnRyeSBmb3IgdGhlIGJlbmVmaXQgb2YgYmFsYW5jaW5nIGNvbHVtbnMuCi0gIFx2c2tpcCAwcHQgcGx1czFwdAotICAlCi0gICUgU3RhcnQgYSBgYHBhcmFncmFwaCcnIGZvciB0aGUgaW5kZXggZW50cnkgc28gdGhlIGxpbmUgYnJlYWtpbmcKLSAgJSBwYXJhbWV0ZXJzIHdlJ3ZlIHNldCBhYm92ZSB3aWxsIGhhdmUgYW4gZWZmZWN0LgotICBcbm9pbmRlbnQKLSAgJQotICAlIEluc2VydCB0aGUgdGV4dCBvZiB0aGUgaW5kZXggZW50cnkuICBUZVggd2lsbCBkbyBsaW5lLWJyZWFraW5nIG9uIGl0LgotICAjMSUKLSAgJSBUaGUgZm9sbG93aW5nIGlzIGtsdWRnZWQgdG8gbm90IG91dHB1dCBhIGxpbmUgb2YgZG90cyBpbiB0aGUgaW5kZXggaWYKLSAgJSB0aGVyZSBhcmUgbm8gcGFnZSBudW1iZXJzLiAgVGhlIG5leHQgcGVyc29uIHdobyBicmVha3MgdGhpcyB3aWxsIGJlCi0gICUgY3Vyc2VkIGJ5IGEgVW5peCBkYWVtb24uCi0gIFxkZWZcdGVtcGF7e1xybSB9fSUKLSAgXGRlZlx0ZW1wYnsjMn0lCi0gIFxlZGVmXHRlbXBje1x0ZW1wYX0lCi0gIFxlZGVmXHRlbXBke1x0ZW1wYn0lCi0gIFxpZnhcdGVtcGNcdGVtcGRcIFxlbHNlJQorJSBBIHN0cmFpZ2h0Zm9yd2FyZCBpbXBsZW1lbnRhdGlvbiB3b3VsZCBzdGFydCBsaWtlIHRoaXM6CislCVxkZWZcZW50cnkjMSMyey4uLgorJSBCdXQgdGhpcyBmcmVlemVzIHRoZSBjYXRjb2RlcyBpbiB0aGUgYXJndW1lbnQsIGFuZCBjYW4gY2F1c2UgcHJvYmxlbXMgdG8KKyUgQGNvZGUsIHdoaWNoIHNldHMgLSBhY3RpdmUuICBUaGlzIHByb2JsZW0gd2FzIGZpeGVkIGJ5IGEga2x1ZGdlLS0tCislIGBgLScnIHdhcyBhY3RpdmUgdGhyb3VnaG91dCB3aG9sZSBpbmRleCwgYnV0IHRoaXMgaXNuJ3QgcmVhbGx5IHJpZ2h0LgorJQorJSBUaGUgcmlnaHQgc29sdXRpb24gaXMgdG8gcHJldmVudCBcZW50cnkgZnJvbSBzd2FsbG93aW5nIHRoZSB3aG9sZSB0ZXh0LgorJSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0ta2FzYWwsIDIxbm92MDMKK1xkZWZcZW50cnl7JQorICBcYmVnaW5ncm91cAogICAgICUKLSAgICAlIElmIHdlIG11c3QsIHB1dCB0aGUgcGFnZSBudW1iZXIgb24gYSBsaW5lIG9mIGl0cyBvd24sIGFuZCBmaWxsIG91dAotICAgICUgdGhpcyBsaW5lIHdpdGggYmxhbmsgc3BhY2UuICAoVGhlIFxoZmlsIGlzIG92ZXJ3aGVsbWVkIHdpdGggdGhlCi0gICAgJSBmaWxsIGxlYWRlcnMgZ2x1ZSBpbiBcaW5kZXhkb3RmaWxsIGlmIHRoZSBwYWdlIG51bWJlciBkb2VzIGZpdC4pCi0gICAgXGhmaWxccGVuYWx0eTUwCi0gICAgXG51bGxcbm9icmVha1xpbmRleGRvdGZpbGwgJSBIYXZlIGxlYWRlcnMgYmVmb3JlIHRoZSBwYWdlIG51bWJlci4KKyAgICAlIFN0YXJ0IGEgbmV3IHBhcmFncmFwaCBpZiBuZWNlc3NhcnksIHNvIG91ciBhc3NpZ25tZW50cyBiZWxvdyBjYW4ndAorICAgICUgYWZmZWN0IHByZXZpb3VzIHRleHQuCisgICAgXHBhcgogICAgICUKLSAgICAlIFRoZSBgXCAnIGhlcmUgaXMgcmVtb3ZlZCBieSB0aGUgaW1wbGljaXQgXHVuc2tpcCB0aGF0IFRlWCBkb2VzIGFzCi0gICAgJSBwYXJ0IG9mICh0aGUgcHJpbWl0aXZlKSBccGFyLiAgV2l0aG91dCBpdCwgYSBzcHVyaW91cyB1bmRlcmZ1bGwKLSAgICAlIFxoYm94IGVuc3Vlcy4KLSAgICBcaWZwZGYKLSAgICAgIFxwZGZnZXR0b2tzIzIuXCBcdGhlXHRva3NBICUgVGhlIHBhZ2UgbnVtYmVyIGVuZHMgdGhlIHBhcmFncmFwaC4KKyAgICAlIERvIG5vdCBmaWxsIG91dCB0aGUgbGFzdCBsaW5lIHdpdGggd2hpdGUgc3BhY2UuCisgICAgXHBhcmZpbGxza2lwID0gMGluCisgICAgJQorICAgICUgTm8gZXh0cmEgc3BhY2UgYWJvdmUgdGhpcyBwYXJhZ3JhcGguCisgICAgXHBhcnNraXAgPSAwaW4KKyAgICAlCisgICAgJSBEbyBub3QgcHJlZmVyIGEgc2VwYXJhdGUgbGluZSBlbmRpbmcgd2l0aCBhIGh5cGhlbiB0byBmZXdlciBsaW5lcy4KKyAgICBcZmluYWxoeXBoZW5kZW1lcml0cyA9IDAKKyAgICAlCisgICAgJSBcaGFuZ2luZGVudCBpcyBvbmx5IHJlbGV2YW50IHdoZW4gdGhlIGVudHJ5IHRleHQgYW5kIHBhZ2UgbnVtYmVyCisgICAgJSBkb24ndCBib3RoIGZpdCBvbiBvbmUgbGluZS4gIEluIHRoYXQgY2FzZSwgYm9iIHN1Z2dlc3RzIHN0YXJ0aW5nIHRoZQorICAgICUgZG90cyBwcmV0dHkgZmFyIG92ZXIgb24gdGhlIGxpbmUuICBVbmZvcnR1bmF0ZWx5LCBhIGxhcmdlCisgICAgJSBpbmRlbnRhdGlvbiBsb29rcyB3cm9uZyB3aGVuIHRoZSBlbnRyeSB0ZXh0IGl0c2VsZiBpcyBicm9rZW4gYWNyb3NzCisgICAgJSBsaW5lcy4gIFNvIHdlIHVzZSBhIHNtYWxsIGluZGVudGF0aW9uIGFuZCBwdXQgdXAgd2l0aCBsb25nIGxlYWRlcnMuCisgICAgJQorICAgICUgXGhhbmdhZnRlciBpcyByZXNldCB0byAxICh3aGljaCBpcyB0aGUgdmFsdWUgd2Ugd2FudCkgYXQgdGhlIHN0YXJ0CisgICAgJSBvZiBlYWNoIHBhcmFncmFwaCwgc28gd2UgbmVlZCBub3QgZG8gYW55dGhpbmcgd2l0aCB0aGF0LgorICAgIFxoYW5naW5kZW50ID0gMmVtCisgICAgJQorICAgICUgV2hlbiB0aGUgZW50cnkgdGV4dCBuZWVkcyB0byBiZSBicm9rZW4sIGp1c3QgZmlsbCBvdXQgdGhlIGZpcnN0IGxpbmUKKyAgICAlIHdpdGggYmxhbmsgc3BhY2UuCisgICAgXHJpZ2h0c2tpcCA9IDBwdCBwbHVzMWZpbAorICAgICUKKyAgICAlIEEgYml0IG9mIHN0cmV0Y2ggYmVmb3JlIGVhY2ggZW50cnkgZm9yIHRoZSBiZW5lZml0IG9mIGJhbGFuY2luZworICAgICUgY29sdW1ucy4KKyAgICBcdnNraXAgMHB0IHBsdXMxcHQKKyAgICAlCisgICAgJSBTd2FsbG93IHRoZSBsZWZ0IGJyYWNlIG9mIHRoZSB0ZXh0IChmaXJzdCBwYXJhbWV0ZXIpOgorICAgIFxhZnRlcmFzc2lnbm1lbnRcZG9lbnRyeQorICAgIFxsZXRcdGVtcCA9Cit9CitcZGVmXGRvZW50cnl7JQorICAgIFxiZ3JvdXAgJSBJbnN0ZWFkIG9mIHRoZSBzd2FsbG93ZWQgYnJhY2UuCisgICAgICBcbm9pbmRlbnQKKyAgICAgIFxhZnRlcmdyb3VwXGZpbmlzaGVudHJ5CisgICAgICAlIEFuZCBub3cgY29tZXMgdGhlIHRleHQgb2YgdGhlIGVudHJ5LgorfQorXGRlZlxmaW5pc2hlbnRyeSMxeyUKKyAgICAlICMxIGlzIHRoZSBwYWdlIG51bWJlci4KKyAgICAlCisgICAgJSBUaGUgZm9sbG93aW5nIGlzIGtsdWRnZWQgdG8gbm90IG91dHB1dCBhIGxpbmUgb2YgZG90cyBpbiB0aGUgaW5kZXggaWYKKyAgICAlIHRoZXJlIGFyZSBubyBwYWdlIG51bWJlcnMuICBUaGUgbmV4dCBwZXJzb24gd2hvIGJyZWFrcyB0aGlzIHdpbGwgYmUKKyAgICAlIGN1cnNlZCBieSBhIFVuaXggZGFlbW9uLgorICAgIFxzZXRib3hcYm94QSA9IFxoYm94eyMxfSUKKyAgICBcaWZkaW1cd2RcYm94QSA9IDBwdAorICAgICAgXCAlCiAgICAgXGVsc2UKLSAgICAgIFwgIzIlIFRoZSBwYWdlIG51bWJlciBlbmRzIHRoZSBwYXJhZ3JhcGguCisgICAgICAlCisgICAgICAlIElmIHdlIG11c3QsIHB1dCB0aGUgcGFnZSBudW1iZXIgb24gYSBsaW5lIG9mIGl0cyBvd24sIGFuZCBmaWxsIG91dAorICAgICAgJSB0aGlzIGxpbmUgd2l0aCBibGFuayBzcGFjZS4gIChUaGUgXGhmaWwgaXMgb3ZlcndoZWxtZWQgd2l0aCB0aGUKKyAgICAgICUgZmlsbCBsZWFkZXJzIGdsdWUgaW4gXGluZGV4ZG90ZmlsbCBpZiB0aGUgcGFnZSBudW1iZXIgZG9lcyBmaXQuKQorICAgICAgXGhmaWxccGVuYWx0eTUwCisgICAgICBcbnVsbFxub2JyZWFrXGluZGV4ZG90ZmlsbCAlIEhhdmUgbGVhZGVycyBiZWZvcmUgdGhlIHBhZ2UgbnVtYmVyLgorICAgICAgJQorICAgICAgJSBUaGUgYFwgJyBoZXJlIGlzIHJlbW92ZWQgYnkgdGhlIGltcGxpY2l0IFx1bnNraXAgdGhhdCBUZVggZG9lcyBhcworICAgICAgJSBwYXJ0IG9mICh0aGUgcHJpbWl0aXZlKSBccGFyLiAgV2l0aG91dCBpdCwgYSBzcHVyaW91cyB1bmRlcmZ1bGwKKyAgICAgICUgXGhib3ggZW5zdWVzLgorICAgICAgXGlmcGRmCisJXHBkZmdldHRva3MjMS4lCisJXCBcdGhlXHRva3NBCisgICAgICBcZWxzZQorCVwgIzElCisgICAgICBcZmkKICAgICBcZmkKLSAgXGZpJQotICBccGFyCi1cZW5kZ3JvdXB9CisgICAgXHBhcgorICBcZW5kZ3JvdXAKK30KIAotJSBMaWtlIFxkb3RmaWxsIGV4Y2VwdCB0YWtlcyBhdCBsZWFzdCAxIGVtLgorJSBMaWtlIHBsYWluLnRleCdzIFxkb3RmaWxsLCBleGNlcHQgdXNlcyB1cCBhdCBsZWFzdCAxIGVtLgogXGRlZlxpbmRleGRvdGZpbGx7XGNsZWFkZXJzCi0gIFxoYm94eyRcbWF0aHN1cnJvdW5kPTBwdCBcbWtlcm4xLjVtdSAke1xpdCAufSQgXG1rZXJuMS41bXUkfVxoc2tpcCAxZW0gcGx1cyAxZmlsbH0KKyAgXGhib3h7JFxtYXRoc3Vycm91bmQ9MHB0IFxta2VybjEuNW11Llxta2VybjEuNW11JH1caHNraXAgMWVtIHBsdXMgMWZpbGx9CiAKIFxkZWZccHJpbWFyeSAjMXtcbGluZXsjMVxoZmlsfX0KIApAQCAtMzU2OSw5ICs0ODYxLDM3IEBACiAgIFx3ZDA9XGhzaXplIFx3ZDI9XGhzaXplCiAgIFxoYm94IHRvXHBhZ2V3aWR0aHtcYm94MFxoZmlsXGJveDJ9JQogfQotJSAKKyUKICUgQWxsIGRvbmUgd2l0aCBkb3VibGUgY29sdW1ucy4KIFxkZWZcZW5kZG91YmxlY29sdW1uc3slCisgICUgVGhlIGZvbGxvd2luZyBwZW5hbHR5IGVuc3VyZXMgdGhhdCB0aGUgcGFnZSBidWlsZGVyIGlzIGV4ZXJjaXNlZAorICAlIF9iZWZvcmVfIHdlIGNoYW5nZSB0aGUgb3V0cHV0IHJvdXRpbmUuICBUaGlzIGlzIG5lY2Vzc2FyeSBpbiB0aGUKKyAgJSBmb2xsb3dpbmcgc2l0dWF0aW9uOgorICAlCisgICUgVGhlIGxhc3Qgc2VjdGlvbiBvZiB0aGUgaW5kZXggY29uc2lzdHMgb25seSBvZiBhIHNpbmdsZSBlbnRyeS4KKyAgJSBCZWZvcmUgdGhpcyBzZWN0aW9uLCBccGFnZXRvdGFsIGlzIGxlc3MgdGhhbiBccGFnZWdvYWwsIHNvIG5vCisgICUgYnJlYWsgb2NjdXJzIGJlZm9yZSB0aGUgbGFzdCBzZWN0aW9uIHN0YXJ0cy4gIEhvd2V2ZXIsIHRoZSBsYXN0CisgICUgc2VjdGlvbiwgY29uc2lzdGluZyBvZiBcaW5pdGlhbCBhbmQgdGhlIHNpbmdsZSBcZW50cnksIGRvZXMgbm90CisgICUgZml0IG9uIHRoZSBwYWdlIGFuZCBoYXMgdG8gYmUgYnJva2VuIG9mZi4gIFdpdGhvdXQgdGhlIGZvbGxvd2luZworICAlIHBlbmFsdHkgdGhlIHBhZ2UgYnVpbGRlciB3aWxsIG5vdCBiZSBleGVyY2lzZWQgdW50aWwgXGVqZWN0CisgICUgYmVsb3csIGFuZCBieSB0aGF0IHRpbWUgd2UnbGwgYWxyZWFkeSBoYXZlIGNoYW5nZWQgdGhlIG91dHB1dAorICAlIHJvdXRpbmUgdG8gdGhlIFxiYWxhbmNlY29sdW1ucyB2ZXJzaW9uLCBzbyB0aGUgbmV4dC10by1sYXN0CisgICUgZG91YmxlLWNvbHVtbiBwYWdlIHdpbGwgYmUgcHJvY2Vzc2VkIHdpdGggXGJhbGFuY2Vjb2x1bW5zLCB3aGljaAorICAlIGlzIHdyb25nOiAgVGhlIHR3byBjb2x1bW5zIHdpbGwgZ28gdG8gdGhlIG1haW4gdmVydGljYWwgbGlzdCwgd2l0aAorICAlIHRoZSBicm9rZW4tb2ZmIHNlY3Rpb24gaW4gdGhlIHJlY2VudCBjb250cmlidXRpb25zLiAgQXMgc29vbiBhcworICAlIHRoZSBvdXRwdXQgcm91dGluZSBmaW5pc2hlcywgVGVYIHN0YXJ0cyByZWNvbnNpZGVyaW5nIHRoZSBwYWdlCisgICUgYnJlYWsuICBUaGUgdHdvIGNvbHVtbnMgYW5kIHRoZSBicm9rZW4tb2ZmIHNlY3Rpb24gYm90aCBmaXQgb24gdGhlCisgICUgcGFnZSwgYmVjYXVzZSB0aGUgdHdvIGNvbHVtbnMgbm93IHRha2UgdXAgb25seSBoYWxmIG9mIHRoZSBwYWdlCisgICUgZ29hbC4gIFdoZW4gVGVYIHNlZXMgXGVqZWN0IGZyb20gYmVsb3cgd2hpY2ggZm9sbG93cyB0aGUgZmluYWwKKyAgJSBzZWN0aW9uLCBpdCBpbnZva2VzIHRoZSBuZXcgb3V0cHV0IHJvdXRpbmUgdGhhdCB3ZSd2ZSBzZXQgYWZ0ZXIKKyAgJSBcYmFsYW5jZWNvbHVtbnMgYmVsb3c7IFxvbmVwYWdlb3V0IHdpbGwgdHJ5IHRvIGZpdCB0aGUgdHdvIGNvbHVtbnMKKyAgJSBhbmQgdGhlIGZpbmFsIHNlY3Rpb24gaW50byB0aGUgdmJveCBvZiBccGFnZWhlaWdodCAoc2VlCisgICUgXHBhZ2Vib2R5KSwgY2F1c2luZyBhbiBvdmVyZnVsbCBib3guCisgICUKKyAgJSBOb3RlIHRoYXQgZ2x1ZSB3b24ndCB3b3JrIGhlcmUsIGJlY2F1c2UgZ2x1ZSBkb2VzIG5vdCBleGVyY2lzZSB0aGUKKyAgJSBwYWdlIGJ1aWxkZXIsIHVubGlrZSBwZW5hbHRpZXMgKHNlZSBUaGUgVGVYYm9vaywgcHAuIDI4MC0yODEpLgorICBccGVuYWx0eTAKKyAgJQogICBcb3V0cHV0ID0geyUKICAgICAlIFNwbGl0IHRoZSBsYXN0IG9mIHRoZSBkb3VibGUtY29sdW1uIG1hdGVyaWFsLiAgTGVhdmUgaXQgb24gdGhlCiAgICAgJSBjdXJyZW50IHBhZ2UsIG5vIGF1dG9tYXRpYyBwYWdlIGJyZWFrLgpAQCAtMzYyNyw2ICs0OTQ3LDEyIEBACiBcbWVzc2FnZXtzZWN0aW9uaW5nLH0KICUgQ2hhcHRlcnMsIHNlY3Rpb25zLCBldGMuCiAKKyUgXHVubnVtYmVyZWRubyBpcyBhbiBveHltb3Jvbiwgb2YgY291cnNlLiAgQnV0IHdlIGNvdW50IHRoZSB1bm51bWJlcmVkCislIHNlY3Rpb25zIHNvIHRoYXQgd2UgY2FuIHJlZmVyIHRvIHRoZW0gdW5hbWJpZ3VvdXNseSBpbiB0aGUgcGRmCislIG91dGxpbmVzIGJ5IHRoZWlyICJzZWN0aW9uIG51bWJlciIuICBXZSBhdm9pZCBjb2xsaXNpb25zIHdpdGggY2hhcHRlcgorJSBudW1iZXJzIGJ5IHN0YXJ0aW5nIHRoZW0gYXQgMTAwMDAuICAoSWYgYSBkb2N1bWVudCBldmVyIGhhcyAxMDAwMAorJSBjaGFwdGVycywgd2UncmUgaW4gdHJvdWJsZSBhbnl3YXksIEknbSBzdXJlLikKK1xuZXdjb3VudFx1bm51bWJlcmVkbm8gXHVubnVtYmVyZWRubyA9IDEwMDAwCiBcbmV3Y291bnRcY2hhcG5vCiBcbmV3Y291bnRcc2Vjbm8gICAgICAgIFxzZWNubz0wCiBcbmV3Y291bnRcc3Vic2Vjbm8gICAgIFxzdWJzZWNubz0wCkBAIC0zNjM0LDkgKzQ5NjAsMTIgQEAKIAogJSBUaGlzIGNvdW50ZXIgaXMgZnVubnkgc2luY2UgaXQgY291bnRzIHRocm91Z2ggY2hhcmNvZGVzIG9mIGxldHRlcnMgQSwgQiwgLi4uCiBcbmV3Y291bnRcYXBwZW5kaXhubyAgXGFwcGVuZGl4bm8gPSBgXEAKKyUKICUgXGRlZlxhcHBlbmRpeGxldHRlcntcY2hhclx0aGVcYXBwZW5kaXhub30KLSUgV2UgZG8gdGhlIGZvbGxvd2luZyBmb3IgdGhlIHNha2Ugb2YgcGRmdGV4LCB3aGljaCBuZWVkcyB0aGUgYWN0dWFsCislIFdlIGRvIHRoZSBmb2xsb3dpbmcgdWdseSBjb25kaXRpb25hbCBpbnN0ZWFkIG9mIHRoZSBhYm92ZSBzaW1wbGUKKyUgY29uc3RydWN0IGZvciB0aGUgc2FrZSBvZiBwZGZ0ZXgsIHdoaWNoIG5lZWRzIHRoZSBhY3R1YWwKICUgbGV0dGVyIGluIHRoZSBleHBhbnNpb24sIG5vdCBqdXN0IHR5cGVzZXQuCislCiBcZGVmXGFwcGVuZGl4bGV0dGVyeyUKICAgXGlmbnVtXGFwcGVuZGl4bm89YEEgQSUKICAgXGVsc2VcaWZudW1cYXBwZW5kaXhubz1gQiBCJQpAQCAtMzY3MiwxMyArNTAwMSwxOCBAQAogICBcZmlcZmlcZmlcZmlcZmlcZmlcZmlcZmlcZmlcZmlcZmlcZmlcZmkKICAgXGZpXGZpXGZpXGZpXGZpXGZpXGZpXGZpXGZpXGZpXGZpXGZpXGZpfQogCi0lIEVhY2ggQGNoYXB0ZXIgZGVmaW5lcyB0aGlzIGFzIHRoZSBuYW1lIG9mIHRoZSBjaGFwdGVyLgotJSBwYWdlIGhlYWRpbmdzIGFuZCBmb290aW5ncyBjYW4gdXNlIGl0LiAgQHNlY3Rpb24gZG9lcyBsaWtld2lzZS4KKyUgRWFjaCBAY2hhcHRlciBkZWZpbmVzIHRoZXNlICh1c2luZyBtYXJrcykgYXMgdGhlIG51bWJlcituYW1lLCBudW1iZXIKKyUgYW5kIG5hbWUgb2YgdGhlIGNoYXB0ZXIuICBQYWdlIGhlYWRpbmdzIGFuZCBmb290aW5ncyBjYW4gdXNlCislIHRoZXNlLiAgQHNlY3Rpb24gZG9lcyBsaWtld2lzZS4KIFxkZWZcdGhpc2NoYXB0ZXJ7fQorXGRlZlx0aGlzY2hhcHRlcm51bXt9CitcZGVmXHRoaXNjaGFwdGVybmFtZXt9CiBcZGVmXHRoaXNzZWN0aW9ue30KK1xkZWZcdGhpc3NlY3Rpb25udW17fQorXGRlZlx0aGlzc2VjdGlvbm5hbWV7fQogCiBcbmV3Y291bnRcYWJzc2VjbGV2ZWwgJSB1c2VkIHRvIGNhbGN1bGF0ZSBwcm9wZXIgaGVhZGluZyBsZXZlbAotXG5ld2NvdW50XHNlY2Jhc2Vcc2VjYmFzZT0wICUgQHJhaXNlL2xvd2Vyc2VjdGlvbnMgbW9kaWZ5IHRoaXMgY291bnQKK1xuZXdjb3VudFxzZWNiYXNlXHNlY2Jhc2U9MCAlIEByYWlzZXNlY3Rpb25zL0Bsb3dlcnNlY3Rpb25zIG1vZGlmeSB0aGlzIGNvdW50CiAKICUgQHJhaXNlc2VjdGlvbnM6IHRyZWF0IEBzZWN0aW9uIGFzIGNoYXB0ZXIsIEBzdWJzZWN0aW9uIGFzIHNlY3Rpb24sIGV0Yy4KIFxkZWZccmFpc2VzZWN0aW9uc3tcZ2xvYmFsXGFkdmFuY2Vcc2VjYmFzZSBieSAtMX0KQEAgLTM2ODgsMTE4ICs1MDIyLDE0MiBAQAogXGRlZlxsb3dlcnNlY3Rpb25ze1xnbG9iYWxcYWR2YW5jZVxzZWNiYXNlIGJ5IDF9CiBcbGV0XGRvd249XGxvd2Vyc2VjdGlvbnMgJSBvcmlnaW5hbCBCRm94IG5hbWUKIAotJSBDaG9vc2UgYSBudW1iZXJlZC1oZWFkaW5nIG1hY3JvCi0lICMxIGlzIGhlYWRpbmcgbGV2ZWwgaWYgdW5tb2RpZmllZCBieSBAcmFpc2VzZWN0aW9ucyBvciBAbG93ZXJzZWN0aW9ucwotJSAjMiBpcyB0ZXh0IGZvciBoZWFkaW5nCi1cZGVmXG51bWhlYWQjMSMye1xhYnNzZWNsZXZlbD1cc2VjYmFzZVxhZHZhbmNlXGFic3NlY2xldmVsIGJ5ICMxCi1caWZjYXNlXGFic3NlY2xldmVsCi0gIFxjaGFwdGVyenp6eyMyfQotXG9yCi0gIFxzZWN6enp7IzJ9Ci1cb3IKLSAgXG51bWJlcmVkc3Vic2Vjenp6eyMyfQotXG9yCi0gIFxudW1iZXJlZHN1YnN1YnNlY3p6ensjMn0KLVxlbHNlCi0gIFxpZm51bSBcYWJzc2VjbGV2ZWw8MAotICAgIFxjaGFwdGVyenp6eyMyfQorJSB3ZSBvbmx5IGhhdmUgc3Vic3ViLgorXGNoYXJkZWZcbWF4c2VjbGV2ZWwgPSAzCislCislIEEgbnVtYmVyZWQgc2VjdGlvbiB3aXRoaW4gYW4gdW5udW1iZXJlZCBjaGFuZ2VzIHRvIHVubnVtYmVyZWQgdG9vLgorJSBUbyBhY2hpdmUgdGhpcywgcmVtZW1iZXIgdGhlICJiaWdnZXN0IiB1bm51bS4gc2VjLiB3ZSBhcmUgY3VycmVudGx5IGluOgorXGNoYXJkZWZcdW5tbGV2ZWwgPSBcbWF4c2VjbGV2ZWwKKyUKKyUgVHJhY2Ugd2hldGhlciB0aGUgY3VycmVudCBjaGFwdGVyIGlzIGFuIGFwcGVuZGl4IG9yIG5vdDoKKyUgXGNoYXBoZWFkdHlwZSBpcyAiTiIgb3IgIkEiLCB1bm51bWJlcmVkIGNoYXB0ZXJzIGFyZSBpZ25vcmVkLgorXGRlZlxjaGFwaGVhZHR5cGV7Tn0KKworJSBDaG9vc2UgYSBoZWFkaW5nIG1hY3JvCislICMxIGlzIGhlYWRpbmcgdHlwZQorJSAjMiBpcyBoZWFkaW5nIGxldmVsCislICMzIGlzIHRleHQgZm9yIGhlYWRpbmcKK1xkZWZcZ2VuaGVhZCMxIzIjM3slCisgICUgQ29tcHV0ZSB0aGUgYWJzLiBzZWMuIGxldmVsOgorICBcYWJzc2VjbGV2ZWw9IzIKKyAgXGFkdmFuY2VcYWJzc2VjbGV2ZWwgYnkgXHNlY2Jhc2UKKyAgJSBNYWtlIHN1cmUgXGFic3NlY2xldmVsIGRvZXNuJ3QgZmFsbCBvdXRzaWRlIHRoZSByYW5nZToKKyAgXGlmbnVtIFxhYnNzZWNsZXZlbCA8IDAKKyAgICBcYWJzc2VjbGV2ZWwgPSAwCiAgIFxlbHNlCi0gICAgXG51bWJlcmVkc3Vic3Vic2Vjenp6eyMyfQorICAgIFxpZm51bSBcYWJzc2VjbGV2ZWwgPiAzCisgICAgICBcYWJzc2VjbGV2ZWwgPSAzCisgICAgXGZpCiAgIFxmaQotXGZpCisgICUgVGhlIGhlYWRpbmcgdHlwZToKKyAgXGRlZlxoZWFkdHlwZXsjMX0lCisgIFxpZiBcaGVhZHR5cGUgVSUKKyAgICBcaWZudW0gXGFic3NlY2xldmVsIDwgXHVubWxldmVsCisgICAgICBcY2hhcmRlZlx1bm1sZXZlbCA9IFxhYnNzZWNsZXZlbAorICAgIFxmaQorICBcZWxzZQorICAgICUgQ2hlY2sgZm9yIGFwcGVuZGl4IHNlY3Rpb25zOgorICAgIFxpZm51bSBcYWJzc2VjbGV2ZWwgPSAwCisgICAgICBcZWRlZlxjaGFwaGVhZHR5cGV7XGhlYWR0eXBlfSUKKyAgICBcZWxzZQorICAgICAgXGlmIFxoZWFkdHlwZSBBXGlmIFxjaGFwaGVhZHR5cGUgTiUKKwlcZXJybWVzc2FnZXtAYXBwZW5kaXguLi4gd2l0aGluIGEgbm9uLWFwcGVuZGl4IGNoYXB0ZXJ9JQorICAgICAgXGZpXGZpCisgICAgXGZpCisgICAgJSBDaGVjayBmb3IgbnVtYmVyZWQgd2l0aGluIHVubnVtYmVyZWQ6CisgICAgXGlmbnVtIFxhYnNzZWNsZXZlbCA+IFx1bm1sZXZlbAorICAgICAgXGRlZlxoZWFkdHlwZXtVfSUKKyAgICBcZWxzZQorICAgICAgXGNoYXJkZWZcdW5tbGV2ZWwgPSAzCisgICAgXGZpCisgIFxmaQorICAlIE5vdyBwcmludCB0aGUgaGVhZGluZzoKKyAgXGlmIFxoZWFkdHlwZSBVJQorICAgIFxpZmNhc2VcYWJzc2VjbGV2ZWwKKwlcdW5udW1iZXJlZHp6ensjM30lCisgICAgXG9yIFx1bm51bWJlcmVkc2Vjenp6eyMzfSUKKyAgICBcb3IgXHVubnVtYmVyZWRzdWJzZWN6enp7IzN9JQorICAgIFxvciBcdW5udW1iZXJlZHN1YnN1YnNlY3p6ensjM30lCisgICAgXGZpCisgIFxlbHNlCisgICAgXGlmIFxoZWFkdHlwZSBBJQorICAgICAgXGlmY2FzZVxhYnNzZWNsZXZlbAorCSAgXGFwcGVuZGl4enp6eyMzfSUKKyAgICAgIFxvciBcYXBwZW5kaXhzZWN0aW9uenp6eyMzfSUKKyAgICAgIFxvciBcYXBwZW5kaXhzdWJzZWN6enp7IzN9JQorICAgICAgXG9yIFxhcHBlbmRpeHN1YnN1YnNlY3p6ensjM30lCisgICAgICBcZmkKKyAgICBcZWxzZQorICAgICAgXGlmY2FzZVxhYnNzZWNsZXZlbAorCSAgXGNoYXB0ZXJ6enp7IzN9JQorICAgICAgXG9yIFxzZWN6enp7IzN9JQorICAgICAgXG9yIFxudW1iZXJlZHN1YnNlY3p6ensjM30lCisgICAgICBcb3IgXG51bWJlcmVkc3Vic3Vic2Vjenp6eyMzfSUKKyAgICAgIFxmaQorICAgIFxmaQorICBcZmkKKyAgXHN1cHByZXNzZmlyc3RwYXJhZ3JhcGhpbmRlbnQKIH0KIAotJSBsaWtlIFxudW1oZWFkLCBidXQgY2hvb3NlcyBhcHBlbmRpeCBoZWFkaW5nIGxldmVscwotXGRlZlxhcHBoZWFkIzEjMntcYWJzc2VjbGV2ZWw9XHNlY2Jhc2VcYWR2YW5jZVxhYnNzZWNsZXZlbCBieSAjMQotXGlmY2FzZVxhYnNzZWNsZXZlbAotICBcYXBwZW5kaXh6enp7IzJ9Ci1cb3IKLSAgXGFwcGVuZGl4c2VjdGlvbnp6ensjMn0KLVxvcgotICBcYXBwZW5kaXhzdWJzZWN6enp7IzJ9Ci1cb3IKLSAgXGFwcGVuZGl4c3Vic3Vic2Vjenp6eyMyfQotXGVsc2UKLSAgXGlmbnVtIFxhYnNzZWNsZXZlbDwwCi0gICAgXGFwcGVuZGl4enp6eyMyfQotICBcZWxzZQotICAgIFxhcHBlbmRpeHN1YnN1YnNlY3p6ensjMn0KLSAgXGZpCi1cZmkKLX0KKyUgYW4gaW50ZXJmYWNlOgorXGRlZlxudW1oZWFke1xnZW5oZWFkIE59CitcZGVmXGFwcGhlYWR7XGdlbmhlYWQgQX0KK1xkZWZcdW5ubWhlYWR7XGdlbmhlYWQgVX0KIAotJSBsaWtlIFxudW1oZWFkLCBidXQgY2hvb3NlcyBudW1iZXJsZXNzIGhlYWRpbmcgbGV2ZWxzCi1cZGVmXHVubm1oZWFkIzEjMntcYWJzc2VjbGV2ZWw9XHNlY2Jhc2VcYWR2YW5jZVxhYnNzZWNsZXZlbCBieSAjMQotXGlmY2FzZVxhYnNzZWNsZXZlbAotICBcdW5udW1iZXJlZHp6ensjMn0KLVxvcgotICBcdW5udW1iZXJlZHNlY3p6ensjMn0KLVxvcgotICBcdW5udW1iZXJlZHN1YnNlY3p6ensjMn0KLVxvcgotICBcdW5udW1iZXJlZHN1YnN1YnNlY3p6ensjMn0KLVxlbHNlCi0gIFxpZm51bSBcYWJzc2VjbGV2ZWw8MAotICAgIFx1bm51bWJlcmVkenp6eyMyfQotICBcZWxzZQotICAgIFx1bm51bWJlcmVkc3Vic3Vic2Vjenp6eyMyfQotICBcZmkKLVxmaQotfQotCi0lIEBjaGFwdGVyLCBAYXBwZW5kaXgsIEB1bm51bWJlcmVkLgotXGRlZlx0aGlzY2hhcHRlcm5hbWV7Tm8gQ2hhcHRlciBUaXRsZX0KLVxvdXRlclxkZWZcY2hhcHRlcntccGFyc2VhcmdcY2hhcHRlcnl5eX0KLVxkZWZcY2hhcHRlcnl5eSAjMXtcbnVtaGVhZDB7IzF9fSAlIG5vcm1hbGx5IG51bWhlYWQwIGNhbGxzIGNoYXB0ZXJ6enoKLVxkZWZcY2hhcHRlcnp6eiAjMXslCi0gIFxzZWNubz0wIFxzdWJzZWNubz0wIFxzdWJzdWJzZWNubz0wCi0gIFxnbG9iYWxcYWR2YW5jZSBcY2hhcG5vIGJ5IDEgXG1lc3NhZ2V7XHB1dHdvcmRDaGFwdGVyXHNwYWNlIFx0aGVcY2hhcG5vfSUKLSAgXGNoYXBtYWNybyB7IzF9e1x0aGVcY2hhcG5vfSUKLSAgXGdkZWZcdGhpc3NlY3Rpb257IzF9JQotICBcZ2RlZlx0aGlzY2hhcHRlcm5hbWV7IzF9JQotICAlIFdlIGRvbid0IHN1YnN0aXR1dGUgdGhlIGFjdHVhbCBjaGFwdGVyIG5hbWUgaW50byBcdGhpc2NoYXB0ZXIKLSAgJSBiZWNhdXNlIHdlIGRvbid0IHdhbnQgaXRzIG1hY3JvcyBldmFsdWF0ZWQgbm93LgotICBceGRlZlx0aGlzY2hhcHRlcntccHV0d29yZENoYXB0ZXJ7fSBcdGhlXGNoYXBubzogXG5vZXhwYW5kXHRoaXNjaGFwdGVybmFtZX0lCi0gIFx3cml0ZXRvY2VudHJ5e2NoYXB9eyMxfXt7XHRoZVxjaGFwbm99fQotICBcZG9ub2RlcmVmCislIEBjaGFwdGVyLCBAYXBwZW5kaXgsIEB1bm51bWJlcmVkLiAgSW5jcmVtZW50IHRvcC1sZXZlbCBjb3VudGVyLCByZXNldAorJSBhbGwgbG93ZXItbGV2ZWwgc2VjdGlvbmluZyBjb3VudGVycyB0byB6ZXJvLgorJQorJSBBbHNvIHNldCBcY2hhcGxldmVscHJlZml4LCB3aGljaCB3ZSBwcmVwZW5kIHRvIEBmbG9hdCBzZXF1ZW5jZSBudW1iZXJzCislIChlLmcuLCBmaWd1cmVzKSwgcS52LiAgQnkgZGVmYXVsdCAoYmVmb3JlIGFueSBjaGFwdGVyKSwgdGhhdCBpcyBlbXB0eS4KK1xsZXRcY2hhcGxldmVscHJlZml4ID0gXGVtcHR5CislCitcb3V0ZXJccGFyc2VhcmdkZWZcY2hhcHRlcntcbnVtaGVhZDB7IzF9fSAlIG5vcm1hbGx5IG51bWhlYWQwIGNhbGxzIGNoYXB0ZXJ6enoKK1xkZWZcY2hhcHRlcnp6eiMxeyUKKyAgJSBzZWN0aW9uIHJlc2V0dGluZyBpcyBcZ2xvYmFsIGluIGNhc2UgdGhlIGNoYXB0ZXIgaXMgaW4gYSBncm91cCwgc3VjaAorICAlIGFzIGFuIEBpbmNsdWRlIGZpbGUuCisgIFxnbG9iYWxcc2Vjbm89MCBcZ2xvYmFsXHN1YnNlY25vPTAgXGdsb2JhbFxzdWJzdWJzZWNubz0wCisgICAgXGdsb2JhbFxhZHZhbmNlXGNoYXBubyBieSAxCisgICUKKyAgJSBVc2VkIGZvciBcZmxvYXQuCisgIFxnZGVmXGNoYXBsZXZlbHByZWZpeHtcdGhlXGNoYXBuby59JQorICBccmVzZXRhbGxmbG9hdG5vcworICAlCisgIFxtZXNzYWdle1xwdXR3b3JkQ2hhcHRlclxzcGFjZSBcdGhlXGNoYXBub30lCisgICUKKyAgJSBXcml0ZSB0aGUgYWN0dWFsIGhlYWRpbmcuCisgIFxjaGFwbWFjcm97IzF9e1ludW1iZXJlZH17XHRoZVxjaGFwbm99JQorICAlCisgICUgU28gQHNlY3Rpb24gYW5kIHRoZSBsaWtlIGFyZSBudW1iZXJlZCB1bmRlcm5lYXRoIHRoaXMgY2hhcHRlci4KICAgXGdsb2JhbFxsZXRcc2VjdGlvbiA9IFxudW1iZXJlZHNlYwogICBcZ2xvYmFsXGxldFxzdWJzZWN0aW9uID0gXG51bWJlcmVkc3Vic2VjCiAgIFxnbG9iYWxcbGV0XHN1YnN1YnNlY3Rpb24gPSBcbnVtYmVyZWRzdWJzdWJzZWMKIH0KIAotJSB3ZSB1c2UgXGNoYXBubyB0byBhdm9pZCBpbmRlbnRpbmcgYmFjawotXGRlZlxhcHBlbmRpeGJveCMxeyUKLSAgXHNldGJveDAgPSBcaGJveHtccHV0d29yZEFwcGVuZGl4e30gXHRoZVxjaGFwbm99JQotICBcaGJveCB0byBcd2QweyMxXGhzc319Ci0KLVxvdXRlclxkZWZcYXBwZW5kaXh7XHBhcnNlYXJnXGFwcGVuZGl4eXl5fQotXGRlZlxhcHBlbmRpeHl5eSAjMXtcYXBwaGVhZDB7IzF9fSAlIG5vcm1hbGx5IGFwcGhlYWQwIGNhbGxzIGFwcGVuZGl4enp6Ci1cZGVmXGFwcGVuZGl4enp6ICMxeyUKLSAgXHNlY25vPTAgXHN1YnNlY25vPTAgXHN1YnN1YnNlY25vPTAKLSAgXGdsb2JhbFxhZHZhbmNlIFxhcHBlbmRpeG5vIGJ5IDEKLSAgXG1lc3NhZ2V7XHB1dHdvcmRBcHBlbmRpeFxzcGFjZSBcYXBwZW5kaXhsZXR0ZXJ9JQotICBcY2hhcG1hY3JvIHsjMX17XGFwcGVuZGl4Ym94e1xwdXR3b3JkQXBwZW5kaXh7fSBcYXBwZW5kaXhsZXR0ZXJ9fSUKLSAgXGdkZWZcdGhpc3NlY3Rpb257IzF9JQotICBcZ2RlZlx0aGlzY2hhcHRlcm5hbWV7IzF9JQotICBceGRlZlx0aGlzY2hhcHRlcntccHV0d29yZEFwcGVuZGl4e30gXGFwcGVuZGl4bGV0dGVyOiBcbm9leHBhbmRcdGhpc2NoYXB0ZXJuYW1lfSUKLSAgXHdyaXRldG9jZW50cnl7YXBwZW5kaXh9eyMxfXt7XGFwcGVuZGl4bGV0dGVyfX0KLSAgXGFwcGVuZGl4bm9kZXJlZgorXG91dGVyXHBhcnNlYXJnZGVmXGFwcGVuZGl4e1xhcHBoZWFkMHsjMX19ICUgbm9ybWFsbHkgYXBwaGVhZDAgY2FsbHMgYXBwZW5kaXh6enoKK1xkZWZcYXBwZW5kaXh6enojMXslCisgIFxnbG9iYWxcc2Vjbm89MCBcZ2xvYmFsXHN1YnNlY25vPTAgXGdsb2JhbFxzdWJzdWJzZWNubz0wCisgICAgXGdsb2JhbFxhZHZhbmNlXGFwcGVuZGl4bm8gYnkgMQorICBcZ2RlZlxjaGFwbGV2ZWxwcmVmaXh7XGFwcGVuZGl4bGV0dGVyLn0lCisgIFxyZXNldGFsbGZsb2F0bm9zCisgICUKKyAgXGRlZlxhcHBlbmRpeG51bXtccHV0d29yZEFwcGVuZGl4XHNwYWNlIFxhcHBlbmRpeGxldHRlcn0lCisgIFxtZXNzYWdle1xhcHBlbmRpeG51bX0lCisgICUKKyAgXGNoYXBtYWNyb3sjMX17WWFwcGVuZGl4fXtcYXBwZW5kaXhsZXR0ZXJ9JQorICAlCiAgIFxnbG9iYWxcbGV0XHNlY3Rpb24gPSBcYXBwZW5kaXhzZWMKICAgXGdsb2JhbFxsZXRcc3Vic2VjdGlvbiA9IFxhcHBlbmRpeHN1YnNlYwogICBcZ2xvYmFsXGxldFxzdWJzdWJzZWN0aW9uID0gXGFwcGVuZGl4c3Vic3Vic2VjCiB9CiAKLSUgQGNlbnRlcmNoYXAgaXMgbGlrZSBAdW5udW1iZXJlZCwgYnV0IHRoZSBoZWFkaW5nIGlzIGNlbnRlcmVkLgotXG91dGVyXGRlZlxjZW50ZXJjaGFwe1xwYXJzZWFyZ1xjZW50ZXJjaGFweXl5fQotXGRlZlxjZW50ZXJjaGFweXl5ICMxe3tcbGV0XHVubnVtYmNoYXBtYWNybz1cY2VudGVyY2hhcG1hY3JvIFx1bm51bWJlcmVkeXl5eyMxfX19Ci0KLSUgQHRvcCBpcyBsaWtlIEB1bm51bWJlcmVkLgotXG91dGVyXGRlZlx0b3B7XHBhcnNlYXJnXHVubnVtYmVyZWR5eXl9Ci0KLVxvdXRlclxkZWZcdW5udW1iZXJlZHtccGFyc2VhcmdcdW5udW1iZXJlZHl5eX0KLVxkZWZcdW5udW1iZXJlZHl5eSAjMXtcdW5ubWhlYWQweyMxfX0gJSBub3JtYWxseSB1bm5taGVhZDAgY2FsbHMgdW5udW1iZXJlZHp6egotXGRlZlx1bm51bWJlcmVkenp6ICMxeyUKLSAgXHNlY25vPTAgXHN1YnNlY25vPTAgXHN1YnN1YnNlY25vPTAKK1xvdXRlclxwYXJzZWFyZ2RlZlx1bm51bWJlcmVke1x1bm5taGVhZDB7IzF9fSAlIG5vcm1hbGx5IHVubm1oZWFkMCBjYWxscyB1bm51bWJlcmVkenp6CitcZGVmXHVubnVtYmVyZWR6enojMXslCisgIFxnbG9iYWxcc2Vjbm89MCBcZ2xvYmFsXHN1YnNlY25vPTAgXGdsb2JhbFxzdWJzdWJzZWNubz0wCisgICAgXGdsb2JhbFxhZHZhbmNlXHVubnVtYmVyZWRubyBieSAxCisgICUKKyAgJSBTaW5jZSBhbiB1bm51bWJlcmVkIGhhcyBubyBudW1iZXIsIG5vIHByZWZpeCBmb3IgZmlndXJlcy4KKyAgXGdsb2JhbFxsZXRcY2hhcGxldmVscHJlZml4ID0gXGVtcHR5CisgIFxyZXNldGFsbGZsb2F0bm9zCiAgICUKICAgJSBUaGlzIHVzZWQgdG8gYmUgc2ltcGx5IFxtZXNzYWdleyMxfSwgYnV0IFRlWCBmdWxseSBleHBhbmRzIHRoZQogICAlIGFyZ3VtZW50IHRvIFxtZXNzYWdlLiAgVGhlcmVmb3JlLCBpZiAjMSBjb250YWluZWQgQC1jb21tYW5kcywgVGVYCkBAIC0zODEyLDEzNCArNTE3MCw5OCBAQAogICAlIFx0aGU8dG9rcyByZWdpc3Rlcj4gdG8gYWNoaWV2ZSB0aGlzOiBUZVggZXhwYW5kcyBcdGhlPHRva3M+IG9ubHkgb25jZSwKICAgJSBzaW1wbHkgeWllbGRpbmcgdGhlIGNvbnRlbnRzIG9mIDx0b2tzIHJlZ2lzdGVyPi4gIChXZSBhbHNvIGRvIHRoaXMgZm9yCiAgICUgdGhlIHRvYyBlbnRyaWVzLikKLSAgXHRva3MwID0geyMxfVxtZXNzYWdleyhcdGhlXHRva3MwKX0lCisgIFx0b2tzMCA9IHsjMX0lCisgIFxtZXNzYWdleyhcdGhlXHRva3MwKX0lCiAgICUKLSAgXHVubnVtYmNoYXBtYWNybyB7IzF9JQotICBcZ2RlZlx0aGlzY2hhcHRlcnsjMX1cZ2RlZlx0aGlzc2VjdGlvbnsjMX0lCi0gIFx3cml0ZXRvY2VudHJ5e3VubnVtYmNoYXB9eyMxfXt7XHRoZVxjaGFwbm99fQotICBcdW5udW1ibm9kZXJlZgorICBcY2hhcG1hY3JveyMxfXtZbm90aGluZ317XHRoZVx1bm51bWJlcmVkbm99JQorICAlCiAgIFxnbG9iYWxcbGV0XHNlY3Rpb24gPSBcdW5udW1iZXJlZHNlYwogICBcZ2xvYmFsXGxldFxzdWJzZWN0aW9uID0gXHVubnVtYmVyZWRzdWJzZWMKICAgXGdsb2JhbFxsZXRcc3Vic3Vic2VjdGlvbiA9IFx1bm51bWJlcmVkc3Vic3Vic2VjCiB9CiAKKyUgQGNlbnRlcmNoYXAgaXMgbGlrZSBAdW5udW1iZXJlZCwgYnV0IHRoZSBoZWFkaW5nIGlzIGNlbnRlcmVkLgorXG91dGVyXHBhcnNlYXJnZGVmXGNlbnRlcmNoYXB7JQorICAlIFdlbGwsIHdlIGNvdWxkIGRvIHRoZSBmb2xsb3dpbmcgaW4gYSBncm91cCwgYnV0IHRoYXQgd291bGQgYnJlYWsKKyAgJSBhbiBhc3N1bXB0aW9uIHRoYXQgXGNoYXBtYWNybyBpcyBjYWxsZWQgYXQgdGhlIG91dGVybW9zdCBsZXZlbC4KKyAgJSBUaHVzIHdlIGFyZSBzYWZlciB0aGlzIHdheToJCS0ta2FzYWwsIDI0ZmViMDQKKyAgXGxldFxjZW50ZXJwYXJhbWV0ZXJzbWF5YmUgPSBcY2VudGVycGFyYW1ldGVycworICBcdW5ubWhlYWQweyMxfSUKKyAgXGxldFxjZW50ZXJwYXJhbWV0ZXJzbWF5YmUgPSBccmVsYXgKK30KKworJSBAdG9wIGlzIGxpa2UgQHVubnVtYmVyZWQuCitcbGV0XHRvcFx1bm51bWJlcmVkCisKICUgU2VjdGlvbnMuCi1cb3V0ZXJcZGVmXG51bWJlcmVkc2Vje1xwYXJzZWFyZ1xzZWN5eXl9Ci1cZGVmXHNlY3l5eSAjMXtcbnVtaGVhZDF7IzF9fSAlIG5vcm1hbGx5IGNhbGxzIHNlY3p6egotXGRlZlxzZWN6enogIzF7JQotICBcc3Vic2Vjbm89MCBcc3Vic3Vic2Vjbm89MCBcZ2xvYmFsXGFkdmFuY2UgXHNlY25vIGJ5IDEgJQotICBcZ2RlZlx0aGlzc2VjdGlvbnsjMX1cc2VjaGVhZGluZyB7IzF9e1x0aGVcY2hhcG5vfXtcdGhlXHNlY25vfSUKLSAgXHdyaXRldG9jZW50cnl7c2VjfXsjMX17e1x0aGVcY2hhcG5vfXtcdGhlXHNlY25vfX0KLSAgXGRvbm9kZXJlZgotICBcbm9icmVhaworXG91dGVyXHBhcnNlYXJnZGVmXG51bWJlcmVkc2Vje1xudW1oZWFkMXsjMX19ICUgbm9ybWFsbHkgY2FsbHMgc2Vjenp6CitcZGVmXHNlY3p6eiMxeyUKKyAgXGdsb2JhbFxzdWJzZWNubz0wIFxnbG9iYWxcc3Vic3Vic2Vjbm89MCAgXGdsb2JhbFxhZHZhbmNlXHNlY25vIGJ5IDEKKyAgXHNlY3Rpb25oZWFkaW5neyMxfXtzZWN9e1ludW1iZXJlZH17XHRoZVxjaGFwbm8uXHRoZVxzZWNub30lCiB9CiAKLVxvdXRlclxkZWZcYXBwZW5kaXhzZWN0aW9ue1xwYXJzZWFyZ1xhcHBlbmRpeHNlY3l5eX0KLVxvdXRlclxkZWZcYXBwZW5kaXhzZWN7XHBhcnNlYXJnXGFwcGVuZGl4c2VjeXl5fQotXGRlZlxhcHBlbmRpeHNlY3l5eSAjMXtcYXBwaGVhZDF7IzF9fSAlIG5vcm1hbGx5IGNhbGxzIGFwcGVuZGl4c2VjdGlvbnp6egotXGRlZlxhcHBlbmRpeHNlY3Rpb256enogIzF7JQotICBcc3Vic2Vjbm89MCBcc3Vic3Vic2Vjbm89MCBcZ2xvYmFsXGFkdmFuY2UgXHNlY25vIGJ5IDEgJQotICBcZ2RlZlx0aGlzc2VjdGlvbnsjMX1cc2VjaGVhZGluZyB7IzF9e1xhcHBlbmRpeGxldHRlcn17XHRoZVxzZWNub30lCi0gIFx3cml0ZXRvY2VudHJ5e3NlY317IzF9e3tcYXBwZW5kaXhsZXR0ZXJ9e1x0aGVcc2Vjbm99fQotICBcYXBwZW5kaXhub2RlcmVmCi0gIFxub2JyZWFrCitcb3V0ZXJccGFyc2VhcmdkZWZcYXBwZW5kaXhzZWN0aW9ue1xhcHBoZWFkMXsjMX19ICUgbm9ybWFsbHkgY2FsbHMgYXBwZW5kaXhzZWN0aW9uenp6CitcZGVmXGFwcGVuZGl4c2VjdGlvbnp6eiMxeyUKKyAgXGdsb2JhbFxzdWJzZWNubz0wIFxnbG9iYWxcc3Vic3Vic2Vjbm89MCAgXGdsb2JhbFxhZHZhbmNlXHNlY25vIGJ5IDEKKyAgXHNlY3Rpb25oZWFkaW5neyMxfXtzZWN9e1lhcHBlbmRpeH17XGFwcGVuZGl4bGV0dGVyLlx0aGVcc2Vjbm99JQogfQorXGxldFxhcHBlbmRpeHNlY1xhcHBlbmRpeHNlY3Rpb24KIAotXG91dGVyXGRlZlx1bm51bWJlcmVkc2Vje1xwYXJzZWFyZ1x1bm51bWJlcmVkc2VjeXl5fQotXGRlZlx1bm51bWJlcmVkc2VjeXl5ICMxe1x1bm5taGVhZDF7IzF9fSAlIG5vcm1hbGx5IGNhbGxzIHVubnVtYmVyZWRzZWN6enoKLVxkZWZcdW5udW1iZXJlZHNlY3p6eiAjMXslCi0gIFxwbGFpbnNlY2hlYWRpbmcgeyMxfVxnZGVmXHRoaXNzZWN0aW9ueyMxfSUKLSAgXHdyaXRldG9jZW50cnl7dW5udW1ic2VjfXsjMX17e1x0aGVcY2hhcG5vfXtcdGhlXHNlY25vfX0KLSAgXHVubnVtYm5vZGVyZWYKLSAgXG5vYnJlYWsKK1xvdXRlclxwYXJzZWFyZ2RlZlx1bm51bWJlcmVkc2Vje1x1bm5taGVhZDF7IzF9fSAlIG5vcm1hbGx5IGNhbGxzIHVubnVtYmVyZWRzZWN6enoKK1xkZWZcdW5udW1iZXJlZHNlY3p6eiMxeyUKKyAgXGdsb2JhbFxzdWJzZWNubz0wIFxnbG9iYWxcc3Vic3Vic2Vjbm89MCAgXGdsb2JhbFxhZHZhbmNlXHNlY25vIGJ5IDEKKyAgXHNlY3Rpb25oZWFkaW5neyMxfXtzZWN9e1lub3RoaW5nfXtcdGhlXHVubnVtYmVyZWRuby5cdGhlXHNlY25vfSUKIH0KIAogJSBTdWJzZWN0aW9ucy4KLVxvdXRlclxkZWZcbnVtYmVyZWRzdWJzZWN7XHBhcnNlYXJnXG51bWJlcmVkc3Vic2VjeXl5fQotXGRlZlxudW1iZXJlZHN1YnNlY3l5eSAjMXtcbnVtaGVhZDJ7IzF9fSAlIG5vcm1hbGx5IGNhbGxzIG51bWJlcmVkc3Vic2Vjenp6Ci1cZGVmXG51bWJlcmVkc3Vic2Vjenp6ICMxeyUKLSAgXGdkZWZcdGhpc3NlY3Rpb257IzF9XHN1YnN1YnNlY25vPTAgXGdsb2JhbFxhZHZhbmNlIFxzdWJzZWNubyBieSAxICUKLSAgXHN1YnNlY2hlYWRpbmcgeyMxfXtcdGhlXGNoYXBub317XHRoZVxzZWNub317XHRoZVxzdWJzZWNub30lCi0gIFx3cml0ZXRvY2VudHJ5e3N1YnNlY317IzF9e3tcdGhlXGNoYXBub317XHRoZVxzZWNub317XHRoZVxzdWJzZWNub319Ci0gIFxkb25vZGVyZWYKLSAgXG5vYnJlYWsKK1xvdXRlclxwYXJzZWFyZ2RlZlxudW1iZXJlZHN1YnNlY3tcbnVtaGVhZDJ7IzF9fSAlIG5vcm1hbGx5IGNhbGxzIG51bWJlcmVkc3Vic2Vjenp6CitcZGVmXG51bWJlcmVkc3Vic2Vjenp6IzF7JQorICBcZ2xvYmFsXHN1YnN1YnNlY25vPTAgIFxnbG9iYWxcYWR2YW5jZVxzdWJzZWNubyBieSAxCisgIFxzZWN0aW9uaGVhZGluZ3sjMX17c3Vic2VjfXtZbnVtYmVyZWR9e1x0aGVcY2hhcG5vLlx0aGVcc2Vjbm8uXHRoZVxzdWJzZWNub30lCiB9CiAKLVxvdXRlclxkZWZcYXBwZW5kaXhzdWJzZWN7XHBhcnNlYXJnXGFwcGVuZGl4c3Vic2VjeXl5fQotXGRlZlxhcHBlbmRpeHN1YnNlY3l5eSAjMXtcYXBwaGVhZDJ7IzF9fSAlIG5vcm1hbGx5IGNhbGxzIGFwcGVuZGl4c3Vic2Vjenp6Ci1cZGVmXGFwcGVuZGl4c3Vic2Vjenp6ICMxeyUKLSAgXGdkZWZcdGhpc3NlY3Rpb257IzF9XHN1YnN1YnNlY25vPTAgXGdsb2JhbFxhZHZhbmNlIFxzdWJzZWNubyBieSAxICUKLSAgXHN1YnNlY2hlYWRpbmcgeyMxfXtcYXBwZW5kaXhsZXR0ZXJ9e1x0aGVcc2Vjbm99e1x0aGVcc3Vic2Vjbm99JQotICBcd3JpdGV0b2NlbnRyeXtzdWJzZWN9eyMxfXt7XGFwcGVuZGl4bGV0dGVyfXtcdGhlXHNlY25vfXtcdGhlXHN1YnNlY25vfX0KLSAgXGFwcGVuZGl4bm9kZXJlZgotICBcbm9icmVhaworXG91dGVyXHBhcnNlYXJnZGVmXGFwcGVuZGl4c3Vic2Vje1xhcHBoZWFkMnsjMX19ICUgbm9ybWFsbHkgY2FsbHMgYXBwZW5kaXhzdWJzZWN6enoKK1xkZWZcYXBwZW5kaXhzdWJzZWN6enojMXslCisgIFxnbG9iYWxcc3Vic3Vic2Vjbm89MCAgXGdsb2JhbFxhZHZhbmNlXHN1YnNlY25vIGJ5IDEKKyAgXHNlY3Rpb25oZWFkaW5neyMxfXtzdWJzZWN9e1lhcHBlbmRpeH0lCisgICAgICAgICAgICAgICAgIHtcYXBwZW5kaXhsZXR0ZXIuXHRoZVxzZWNuby5cdGhlXHN1YnNlY25vfSUKIH0KIAotXG91dGVyXGRlZlx1bm51bWJlcmVkc3Vic2Vje1xwYXJzZWFyZ1x1bm51bWJlcmVkc3Vic2VjeXl5fQotXGRlZlx1bm51bWJlcmVkc3Vic2VjeXl5ICMxe1x1bm5taGVhZDJ7IzF9fSAlbm9ybWFsbHkgY2FsbHMgdW5udW1iZXJlZHN1YnNlY3p6egotXGRlZlx1bm51bWJlcmVkc3Vic2Vjenp6ICMxeyUKLSAgXHBsYWluc3Vic2VjaGVhZGluZyB7IzF9XGdkZWZcdGhpc3NlY3Rpb257IzF9JQotICBcd3JpdGV0b2NlbnRyeXt1bm51bWJzdWJzZWN9eyMxfXt7XHRoZVxjaGFwbm99e1x0aGVcc2Vjbm99e1x0aGVcc3Vic2Vjbm99fQotICBcdW5udW1ibm9kZXJlZgotICBcbm9icmVhaworXG91dGVyXHBhcnNlYXJnZGVmXHVubnVtYmVyZWRzdWJzZWN7XHVubm1oZWFkMnsjMX19ICVub3JtYWxseSBjYWxscyB1bm51bWJlcmVkc3Vic2Vjenp6CitcZGVmXHVubnVtYmVyZWRzdWJzZWN6enojMXslCisgIFxnbG9iYWxcc3Vic3Vic2Vjbm89MCAgXGdsb2JhbFxhZHZhbmNlXHN1YnNlY25vIGJ5IDEKKyAgXHNlY3Rpb25oZWFkaW5neyMxfXtzdWJzZWN9e1lub3RoaW5nfSUKKyAgICAgICAgICAgICAgICAge1x0aGVcdW5udW1iZXJlZG5vLlx0aGVcc2Vjbm8uXHRoZVxzdWJzZWNub30lCiB9CiAKICUgU3Vic3Vic2VjdGlvbnMuCi1cb3V0ZXJcZGVmXG51bWJlcmVkc3Vic3Vic2Vje1xwYXJzZWFyZ1xudW1iZXJlZHN1YnN1YnNlY3l5eX0KLVxkZWZcbnVtYmVyZWRzdWJzdWJzZWN5eXkgIzF7XG51bWhlYWQzeyMxfX0gJSBub3JtYWxseSBudW1iZXJlZHN1YnN1YnNlY3p6egotXGRlZlxudW1iZXJlZHN1YnN1YnNlY3p6eiAjMXslCi0gIFxnZGVmXHRoaXNzZWN0aW9ueyMxfVxnbG9iYWxcYWR2YW5jZSBcc3Vic3Vic2Vjbm8gYnkgMSAlCi0gIFxzdWJzdWJzZWNoZWFkaW5nIHsjMX0KLSAgICB7XHRoZVxjaGFwbm99e1x0aGVcc2Vjbm99e1x0aGVcc3Vic2Vjbm99e1x0aGVcc3Vic3Vic2Vjbm99JQotICBcd3JpdGV0b2NlbnRyeXtzdWJzdWJzZWN9eyMxfXt7XHRoZVxjaGFwbm99e1x0aGVcc2Vjbm99e1x0aGVcc3Vic2Vjbm99e1x0aGVcc3Vic3Vic2Vjbm99fQotICBcZG9ub2RlcmVmCi0gIFxub2JyZWFrCitcb3V0ZXJccGFyc2VhcmdkZWZcbnVtYmVyZWRzdWJzdWJzZWN7XG51bWhlYWQzeyMxfX0gJSBub3JtYWxseSBudW1iZXJlZHN1YnN1YnNlY3p6egorXGRlZlxudW1iZXJlZHN1YnN1YnNlY3p6eiMxeyUKKyAgXGdsb2JhbFxhZHZhbmNlXHN1YnN1YnNlY25vIGJ5IDEKKyAgXHNlY3Rpb25oZWFkaW5neyMxfXtzdWJzdWJzZWN9e1ludW1iZXJlZH0lCisgICAgICAgICAgICAgICAgIHtcdGhlXGNoYXBuby5cdGhlXHNlY25vLlx0aGVcc3Vic2Vjbm8uXHRoZVxzdWJzdWJzZWNub30lCiB9CiAKLVxvdXRlclxkZWZcYXBwZW5kaXhzdWJzdWJzZWN7XHBhcnNlYXJnXGFwcGVuZGl4c3Vic3Vic2VjeXl5fQotXGRlZlxhcHBlbmRpeHN1YnN1YnNlY3l5eSAjMXtcYXBwaGVhZDN7IzF9fSAlIG5vcm1hbGx5IGFwcGVuZGl4c3Vic3Vic2Vjenp6Ci1cZGVmXGFwcGVuZGl4c3Vic3Vic2Vjenp6ICMxeyUKLSAgXGdkZWZcdGhpc3NlY3Rpb257IzF9XGdsb2JhbFxhZHZhbmNlIFxzdWJzdWJzZWNubyBieSAxICUKLSAgXHN1YnN1YnNlY2hlYWRpbmcgeyMxfQotICAgIHtcYXBwZW5kaXhsZXR0ZXJ9e1x0aGVcc2Vjbm99e1x0aGVcc3Vic2Vjbm99e1x0aGVcc3Vic3Vic2Vjbm99JQotICBcd3JpdGV0b2NlbnRyeXtzdWJzdWJzZWN9eyMxfXt7XGFwcGVuZGl4bGV0dGVyfXtcdGhlXHNlY25vfXtcdGhlXHN1YnNlY25vfXtcdGhlXHN1YnN1YnNlY25vfX0KLSAgXGFwcGVuZGl4bm9kZXJlZgotICBcbm9icmVhaworXG91dGVyXHBhcnNlYXJnZGVmXGFwcGVuZGl4c3Vic3Vic2Vje1xhcHBoZWFkM3sjMX19ICUgbm9ybWFsbHkgYXBwZW5kaXhzdWJzdWJzZWN6enoKK1xkZWZcYXBwZW5kaXhzdWJzdWJzZWN6enojMXslCisgIFxnbG9iYWxcYWR2YW5jZVxzdWJzdWJzZWNubyBieSAxCisgIFxzZWN0aW9uaGVhZGluZ3sjMX17c3Vic3Vic2VjfXtZYXBwZW5kaXh9JQorICAgICAgICAgICAgICAgICB7XGFwcGVuZGl4bGV0dGVyLlx0aGVcc2Vjbm8uXHRoZVxzdWJzZWNuby5cdGhlXHN1YnN1YnNlY25vfSUKIH0KIAotXG91dGVyXGRlZlx1bm51bWJlcmVkc3Vic3Vic2Vje1xwYXJzZWFyZ1x1bm51bWJlcmVkc3Vic3Vic2VjeXl5fQotXGRlZlx1bm51bWJlcmVkc3Vic3Vic2VjeXl5ICMxe1x1bm5taGVhZDN7IzF9fSAlbm9ybWFsbHkgdW5udW1iZXJlZHN1YnN1YnNlY3p6egotXGRlZlx1bm51bWJlcmVkc3Vic3Vic2Vjenp6ICMxeyUKLSAgXHBsYWluc3Vic3Vic2VjaGVhZGluZyB7IzF9XGdkZWZcdGhpc3NlY3Rpb257IzF9JQotICBcd3JpdGV0b2NlbnRyeXt1bm51bWJzdWJzdWJzZWN9eyMxfXt7XHRoZVxjaGFwbm99e1x0aGVcc2Vjbm99e1x0aGVcc3Vic2Vjbm99e1x0aGVcc3Vic3Vic2Vjbm99fQotICBcdW5udW1ibm9kZXJlZgotICBcbm9icmVhaworXG91dGVyXHBhcnNlYXJnZGVmXHVubnVtYmVyZWRzdWJzdWJzZWN7XHVubm1oZWFkM3sjMX19ICVub3JtYWxseSB1bm51bWJlcmVkc3Vic3Vic2Vjenp6CitcZGVmXHVubnVtYmVyZWRzdWJzdWJzZWN6enojMXslCisgIFxnbG9iYWxcYWR2YW5jZVxzdWJzdWJzZWNubyBieSAxCisgIFxzZWN0aW9uaGVhZGluZ3sjMX17c3Vic3Vic2VjfXtZbm90aGluZ30lCisgICAgICAgICAgICAgICAgIHtcdGhlXHVubnVtYmVyZWRuby5cdGhlXHNlY25vLlx0aGVcc3Vic2Vjbm8uXHRoZVxzdWJzdWJzZWNub30lCiB9CiAKLSUgVGhlc2UgYXJlIHZhcmlhbnRzIHdoaWNoIGFyZSBub3QgIm91dGVyIiwgc28gdGhleSBjYW4gYXBwZWFyIGluIEBpZmluZm8uCi0lIEFjdHVhbGx5LCB0aGV5IHNob3VsZCBub3cgYmUgb2Jzb2xldGU7IG9yZGluYXJ5IHNlY3Rpb24gY29tbWFuZHMgc2hvdWxkIHdvcmsuCi1cZGVmXGluZm90b3B7XHBhcnNlYXJnXHVubnVtYmVyZWR6enp9Ci1cZGVmXGluZm91bm51bWJlcmVke1xwYXJzZWFyZ1x1bm51bWJlcmVkenp6fQotXGRlZlxpbmZvdW5udW1iZXJlZHNlY3tccGFyc2VhcmdcdW5udW1iZXJlZHNlY3p6en0KLVxkZWZcaW5mb3VubnVtYmVyZWRzdWJzZWN7XHBhcnNlYXJnXHVubnVtYmVyZWRzdWJzZWN6enp9Ci1cZGVmXGluZm91bm51bWJlcmVkc3Vic3Vic2Vje1xwYXJzZWFyZ1x1bm51bWJlcmVkc3Vic3Vic2Vjenp6fQotCi1cZGVmXGluZm9hcHBlbmRpeHtccGFyc2VhcmdcYXBwZW5kaXh6enp9Ci1cZGVmXGluZm9hcHBlbmRpeHNlY3tccGFyc2VhcmdcYXBwZW5kaXhzZWN6enp9Ci1cZGVmXGluZm9hcHBlbmRpeHN1YnNlY3tccGFyc2VhcmdcYXBwZW5kaXhzdWJzZWN6enp9Ci1cZGVmXGluZm9hcHBlbmRpeHN1YnN1YnNlY3tccGFyc2VhcmdcYXBwZW5kaXhzdWJzdWJzZWN6enp9Ci0KLVxkZWZcaW5mb2NoYXB0ZXJ7XHBhcnNlYXJnXGNoYXB0ZXJ6enp9Ci1cZGVmXGluZm9zZWN0aW9ue1xwYXJzZWFyZ1xzZWN0aW9uenp6fQotXGRlZlxpbmZvc3Vic2VjdGlvbntccGFyc2Vhcmdcc3Vic2VjdGlvbnp6en0KLVxkZWZcaW5mb3N1YnN1YnNlY3Rpb257XHBhcnNlYXJnXHN1YnN1YnNlY3Rpb256enp9Ci0KICUgVGhlc2UgbWFjcm9zIGNvbnRyb2wgd2hhdCB0aGUgc2VjdGlvbiBjb21tYW5kcyBkbywgYWNjb3JkaW5nCiAlIHRvIHdoYXQga2luZCBvZiBjaGFwdGVyIHdlIGFyZSBpbiAob3JkaW5hcnksIGFwcGVuZGl4LCBvciB1bm51bWJlcmVkKS4KICUgRGVmaW5lIHRoZW0gYnkgZGVmYXVsdCBmb3IgYSBudW1iZXJlZCBjaGFwdGVyLgotXGdsb2JhbFxsZXRcc2VjdGlvbiA9IFxudW1iZXJlZHNlYwotXGdsb2JhbFxsZXRcc3Vic2VjdGlvbiA9IFxudW1iZXJlZHN1YnNlYwotXGdsb2JhbFxsZXRcc3Vic3Vic2VjdGlvbiA9IFxudW1iZXJlZHN1YnN1YnNlYworXGxldFxzZWN0aW9uID0gXG51bWJlcmVkc2VjCitcbGV0XHN1YnNlY3Rpb24gPSBcbnVtYmVyZWRzdWJzZWMKK1xsZXRcc3Vic3Vic2VjdGlvbiA9IFxudW1iZXJlZHN1YnN1YnNlYwogCiAlIERlZmluZSBAbWFqb3JoZWFkaW5nLCBAaGVhZGluZyBhbmQgQHN1YmhlYWRpbmcKIApAQCAtMzk1MSwyNCArNTI3MywyNyBAQAogJSAgICAgICAzKSBMaWtld2lzZSwgaGVhZGluZ3MgbG9vayBiZXN0IGlmIG5vIFxwYXJpbmRlbnQgaXMgdXNlZCwgYW5kCiAlICAgICAgICAgIGlmIGp1c3RpZmljYXRpb24gaXMgbm90IGF0dGVtcHRlZC4gIEhlbmNlIFxyYWdnZWRyaWdodC4KIAotCi1cZGVmXG1ham9yaGVhZGluZ3tccGFyc2VhcmdcbWFqb3JoZWFkaW5nenp6fQotXGRlZlxtYWpvcmhlYWRpbmd6enogIzF7JQorXGRlZlxtYWpvcmhlYWRpbmd7JQogICB7XGFkdmFuY2VcY2hhcGhlYWRpbmdza2lwIGJ5IDEwcHQgXGNoYXBicmVhayB9JQotICB7XGNoYXBmb250cyBcdmJveHtcaHlwaGVucGVuYWx0eT0xMDAwMFx0b2xlcmFuY2U9NTAwMAotICAgICAgICAgICAgICAgICAgICBccGFyaW5kZW50PTBwdFxyYWdnZWRyaWdodAotICAgICAgICAgICAgICAgICAgICBccm0gIzFcaGZpbGx9fVxiaWdza2lwIFxwYXJccGVuYWx0eSAyMDB9CisgIFxwYXJzZWFyZ1xjaGFwaGVhZGluZ3p6egorfQogCi1cZGVmXGNoYXBoZWFkaW5ne1xwYXJzZWFyZ1xjaGFwaGVhZGluZ3p6en0KLVxkZWZcY2hhcGhlYWRpbmd6enogIzF7XGNoYXBicmVhayAlCitcZGVmXGNoYXBoZWFkaW5ne1xjaGFwYnJlYWsgXHBhcnNlYXJnXGNoYXBoZWFkaW5nenp6fQorXGRlZlxjaGFwaGVhZGluZ3p6eiMxeyUKICAge1xjaGFwZm9udHMgXHZib3h7XGh5cGhlbnBlbmFsdHk9MTAwMDBcdG9sZXJhbmNlPTUwMDAKLSAgICAgICAgICAgICAgICAgICAgXHBhcmluZGVudD0wcHRccmFnZ2VkcmlnaHQKLSAgICAgICAgICAgICAgICAgICAgXHJtICMxXGhmaWxsfX1cYmlnc2tpcCBccGFyXHBlbmFsdHkgMjAwfQorICAgICAgICAgICAgICAgICAgICBccGFyaW5kZW50PTBwdFxwdGV4cmFnZ2VkcmlnaHQKKyAgICAgICAgICAgICAgICAgICAgXHJtaXNib2xkICMxXGhmaWxsfX0lCisgIFxiaWdza2lwIFxwYXJccGVuYWx0eSAyMDBccmVsYXgKKyAgXHN1cHByZXNzZmlyc3RwYXJhZ3JhcGhpbmRlbnQKK30KIAogJSBAaGVhZGluZywgQHN1YmhlYWRpbmcsIEBzdWJzdWJoZWFkaW5nLgotXGRlZlxoZWFkaW5ne1xwYXJzZWFyZ1xwbGFpbnNlY2hlYWRpbmd9Ci1cZGVmXHN1YmhlYWRpbmd7XHBhcnNlYXJnXHBsYWluc3Vic2VjaGVhZGluZ30KLVxkZWZcc3Vic3ViaGVhZGluZ3tccGFyc2VhcmdccGxhaW5zdWJzdWJzZWNoZWFkaW5nfQorXHBhcnNlYXJnZGVmXGhlYWRpbmd7XHNlY3Rpb25oZWFkaW5neyMxfXtzZWN9e1lvbWl0ZnJvbXRvY317fQorICBcc3VwcHJlc3NmaXJzdHBhcmFncmFwaGluZGVudH0KK1xwYXJzZWFyZ2RlZlxzdWJoZWFkaW5ne1xzZWN0aW9uaGVhZGluZ3sjMX17c3Vic2VjfXtZb21pdGZyb210b2N9e30KKyAgXHN1cHByZXNzZmlyc3RwYXJhZ3JhcGhpbmRlbnR9CitccGFyc2VhcmdkZWZcc3Vic3ViaGVhZGluZ3tcc2VjdGlvbmhlYWRpbmd7IzF9e3N1YnN1YnNlY317WW9taXRmcm9tdG9jfXt9CisgIFxzdXBwcmVzc2ZpcnN0cGFyYWdyYXBoaW5kZW50fQogCiAlIFRoZXNlIG1hY3JvcyBnZW5lcmF0ZSBhIGNoYXB0ZXIsIHNlY3Rpb24sIGV0Yy4gaGVhZGluZyBvbmx5CiAlIChpbmNsdWRpbmcgd2hpdGVzcGFjZSwgbGluZWJyZWFraW5nLCBldGMuIGFyb3VuZCBpdCksCkBAIC0zOTc3LDggKzUzMDIsNiBAQAogJSUlIEFyZ3MgYXJlIHRoZSBza2lwIGFuZCBwZW5hbHR5ICh1c3VhbGx5IG5lZ2F0aXZlKQogXGRlZlxkb2JyZWFrIzEjMntccGFyXGlmZGltXGxhc3Rza2lwPCMxXHJlbW92ZWxhc3Rza2lwXHBlbmFsdHkjMlx2c2tpcCMxXGZpfQogCi1cZGVmXHNldGNoYXB0ZXJzdHlsZSAjMSB7XGNzbmFtZSBDSEFQRiMxXGVuZGNzbmFtZX0KLQogJSUlIERlZmluZSBwbGFpbiBjaGFwdGVyIHN0YXJ0cywgYW5kIHBhZ2Ugb24vb2ZmIHN3aXRjaGluZyBmb3IgaXQKICUgUGFyYW1ldGVyIGNvbnRyb2xsaW5nIHNraXAgYmVmb3JlIGNoYXB0ZXIgaGVhZGluZ3MgKGlmIG5lZWRlZCkKIApAQCAtMzk4Niw3ICs1MzA5LDIwIEBACiAKIFxkZWZcY2hhcGJyZWFre1xkb2JyZWFrIFxjaGFwaGVhZGluZ3NraXAgey00MDAwfX0KIFxkZWZcY2hhcHBhZ2Vye1xwYXJcdmZpbGxcc3VwZXJlamVjdH0KLVxkZWZcY2hhcG9kZHBhZ2V7XGNoYXBwYWdlciBcaWZvZGRccGFnZW5vIFxlbHNlIFxoYm94IHRvIDBwdHt9IFxjaGFwcGFnZXJcZml9CislIEJlY2F1c2UgXGRvbWFyayBpcyBjYWxsZWQgYmVmb3JlIFxjaGFwb2RkcGFnZSwgdGhlIGZpbGxlciBwYWdlIHdpbGwKKyUgZ2V0IHRoZSBoZWFkaW5ncyBmb3IgdGhlIG5leHQgY2hhcHRlciwgd2hpY2ggaXMgd3JvbmcuICBCdXQgd2UgZG9uJ3QKKyUgY2FyZSAtLSB3ZSBqdXN0IGRpc2FibGUgYWxsIGhlYWRpbmdzIG9uIHRoZSBmaWxsZXIgcGFnZS4KK1xkZWZcY2hhcG9kZHBhZ2V7JQorICBcY2hhcHBhZ2VyCisgIFxpZm9kZFxwYWdlbm8gXGVsc2UKKyAgICBcYmVnaW5ncm91cAorICAgICAgXGV2ZW5oZWFkbGluZT17XGhmaWx9XGV2ZW5mb290bGluZT17XGhmaWx9JQorICAgICAgXG9kZGhlYWRsaW5lPXtcaGZpbH1cb2RkZm9vdGxpbmU9e1xoZmlsfSUKKyAgICAgIFxoYm94IHRvIDBwdHt9JQorICAgICAgXGNoYXBwYWdlcgorICAgIFxlbmRncm91cAorICBcZmkKK30KIAogXGRlZlxzZXRjaGFwdGVybmV3cGFnZSAjMSB7XGNzbmFtZSBDSEFQUEFHIzFcZW5kY3NuYW1lfQogCkBAIC00MDAxLDcgKzUzMzcsNyBAQAogXGdsb2JhbFxsZXRccGFnZWFsaWdubWFjcm89XGNoYXBwYWdlcgogXGdsb2JhbFxkZWZcSEVBRElOR1NvbntcSEVBRElOR1NzaW5nbGV9fQogCi1cZGVmXENIQVBQQUdvZGR7CitcZGVmXENIQVBQQUdvZGR7JQogXGdsb2JhbFxsZXRcY29udGVudHNhbGlnbm1hY3JvID0gXGNoYXBvZGRwYWdlCiBcZ2xvYmFsXGxldFxwY2hhcHNlcG1hY3JvPVxjaGFwb2RkcGFnZQogXGdsb2JhbFxsZXRccGFnZWFsaWdubWFjcm89XGNoYXBvZGRwYWdlCkBAIC00MDA5LDExNiArNTM0NSwyODAgQEAKIAogXENIQVBQQUdvbgogCi1cZGVmXENIQVBGcGxhaW57Ci1cZ2xvYmFsXGxldFxjaGFwbWFjcm89XGNoZnBsYWluCi1cZ2xvYmFsXGxldFx1bm51bWJjaGFwbWFjcm89XHVubmNoZnBsYWluCi1cZ2xvYmFsXGxldFxjZW50ZXJjaGFwbWFjcm89XGNlbnRlcmNoZnBsYWlufQotCi0lIFBsYWluIGNoYXB0ZXIgb3BlbmluZy4KLSUgIzEgaXMgdGhlIHRleHQsICMyIHRoZSBjaGFwdGVyIG51bWJlciBvciBlbXB0eSBpZiB1bm51bWJlcmVkLgotXGRlZlxjaGZwbGFpbiMxIzJ7JQorJSBDaGFwdGVyIG9wZW5pbmcuCislCislICMxIGlzIHRoZSB0ZXh0LCAjMiBpcyB0aGUgc2VjdGlvbiB0eXBlIChZbnVtYmVyZWQsIFlub3RoaW5nLAorJSBZYXBwZW5kaXgsIFlvbWl0ZnJvbXRvYyksICMzIHRoZSBjaGFwdGVyIG51bWJlci4KKyUKKyUgVG8gdGVzdCBhZ2FpbnN0IG91ciBhcmd1bWVudC4KK1xkZWZcWW5vdGhpbmdrZXl3b3Jke1lub3RoaW5nfQorXGRlZlxZb21pdGZyb210b2NrZXl3b3Jke1lvbWl0ZnJvbXRvY30KK1xkZWZcWWFwcGVuZGl4a2V5d29yZHtZYXBwZW5kaXh9CislCitcZGVmXGNoYXBtYWNybyMxIzIjM3slCisgICUgSW5zZXJ0IHRoZSBmaXJzdCBtYXJrIGJlZm9yZSB0aGUgaGVhZGluZyBicmVhayAoc2VlIG5vdGVzIGZvciBcZG9tYXJrKS4KKyAgXGxldFxwcmV2Y2hhcHRlcmRlZnM9XGxhc3RjaGFwdGVyZGVmcworICBcbGV0XHByZXZzZWN0aW9uZGVmcz1cbGFzdHNlY3Rpb25kZWZzCisgIFxnZGVmXGxhc3RzZWN0aW9uZGVmc3tcZ2RlZlx0aGlzc2VjdGlvbm5hbWV7fVxnZGVmXHRoaXNzZWN0aW9ubnVte30lCisgICAgICAgICAgICAgICAgICAgICAgICBcZ2RlZlx0aGlzc2VjdGlvbnt9fSUKKyAgJQorICBcZGVmXHRlbXB0eXBleyMyfSUKKyAgXGlmeFx0ZW1wdHlwZVxZbm90aGluZ2tleXdvcmQKKyAgICBcZ2RlZlxsYXN0Y2hhcHRlcmRlZnN7XGdkZWZcdGhpc2NoYXB0ZXJuYW1leyMxfVxnZGVmXHRoaXNjaGFwdGVybnVte30lCisgICAgICAgICAgICAgICAgICAgICAgICAgIFxnZGVmXHRoaXNjaGFwdGVye1x0aGlzY2hhcHRlcm5hbWV9fSUKKyAgXGVsc2VcaWZ4XHRlbXB0eXBlXFlvbWl0ZnJvbXRvY2tleXdvcmQKKyAgICBcZ2RlZlxsYXN0Y2hhcHRlcmRlZnN7XGdkZWZcdGhpc2NoYXB0ZXJuYW1leyMxfVxnZGVmXHRoaXNjaGFwdGVybnVte30lCisgICAgICAgICAgICAgICAgICAgICAgICAgIFxnZGVmXHRoaXNjaGFwdGVye319JQorICBcZWxzZVxpZnhcdGVtcHR5cGVcWWFwcGVuZGl4a2V5d29yZAorICAgIFx0b2tzMD17IzF9JQorICAgIFx4ZGVmXGxhc3RjaGFwdGVyZGVmc3slCisgICAgICBcZ2RlZlxub2V4cGFuZFx0aGlzY2hhcHRlcm5hbWV7XHRoZVx0b2tzMH0lCisgICAgICBcZ2RlZlxub2V4cGFuZFx0aGlzY2hhcHRlcm51bXtcYXBwZW5kaXhsZXR0ZXJ9JQorICAgICAgXGdkZWZcbm9leHBhbmRcdGhpc2NoYXB0ZXJ7XHB1dHdvcmRBcHBlbmRpeHt9IFxub2V4cGFuZFx0aGlzY2hhcHRlcm51bToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxub2V4cGFuZFx0aGlzY2hhcHRlcm5hbWV9JQorICAgIH0lCisgIFxlbHNlCisgICAgXHRva3MwPXsjMX0lCisgICAgXHhkZWZcbGFzdGNoYXB0ZXJkZWZzeyUKKyAgICAgIFxnZGVmXG5vZXhwYW5kXHRoaXNjaGFwdGVybmFtZXtcdGhlXHRva3MwfSUKKyAgICAgIFxnZGVmXG5vZXhwYW5kXHRoaXNjaGFwdGVybnVte1x0aGVcY2hhcG5vfSUKKyAgICAgIFxnZGVmXG5vZXhwYW5kXHRoaXNjaGFwdGVye1xwdXR3b3JkQ2hhcHRlcnt9IFxub2V4cGFuZFx0aGlzY2hhcHRlcm51bToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxub2V4cGFuZFx0aGlzY2hhcHRlcm5hbWV9JQorICAgIH0lCisgIFxmaVxmaVxmaQorICAlCisgICUgT3V0cHV0IHRoZSBtYXJrLiAgUGFzcyBpdCB0aHJvdWdoIFxzYWZld2hhdHNpdCwgdG8gdGFrZSBjYXJlIG9mCisgICUgdGhlIHByZWNlZGluZyBzcGFjZS4KKyAgXHNhZmV3aGF0c2l0XGRvbWFyaworICAlCisgICUgSW5zZXJ0IHRoZSBjaGFwdGVyIGhlYWRpbmcgYnJlYWsuCiAgIFxwY2hhcHNlcG1hY3JvCisgICUKKyAgJSBOb3cgdGhlIHNlY29uZCBtYXJrLCBhZnRlciB0aGUgaGVhZGluZyBicmVhay4gIE5vIGJyZWFrIHBvaW50cworICAlIGJldHdlZW4gaGVyZSBhbmQgdGhlIGhlYWRpbmcuCisgIFxsZXRccHJldmNoYXB0ZXJkZWZzPVxsYXN0Y2hhcHRlcmRlZnMKKyAgXGxldFxwcmV2c2VjdGlvbmRlZnM9XGxhc3RzZWN0aW9uZGVmcworICBcZG9tYXJrCisgICUKICAgeyUKLSAgICBcY2hhcGZvbnRzIFxybQotICAgIFxkZWZcY2hhcG51bXsjMn0lCi0gICAgXHNldGJveDAgPSBcaGJveHsjMlxpZnhcY2hhcG51bVxlbXB0eVxlbHNlXGVuc3BhY2VcZml9JQotICAgIFx2Ym94e1xoeXBoZW5wZW5hbHR5PTEwMDAwIFx0b2xlcmFuY2U9NTAwMCBccGFyaW5kZW50PTBwdCBccmFnZ2VkcmlnaHQKLSAgICAgICAgICBcaGFuZ2luZGVudCA9IFx3ZDAgXGNlbnRlcnBhcmFtZXRlcnNtYXliZQorICAgIFxjaGFwZm9udHMgXHJtaXNib2xkCisgICAgJQorICAgICUgSGF2ZSB0byBkZWZpbmUgXGxhc3RzZWN0aW9uIGJlZm9yZSBjYWxsaW5nIFxkb25vZGVyZWYsIGJlY2F1c2UgdGhlCisgICAgJSB4cmVmIGNvZGUgZXZlbnR1YWxseSB1c2VzIGl0LiAgT24gdGhlIG90aGVyIGhhbmQsIGl0IGhhcyB0byBiZSBjYWxsZWQKKyAgICAlIGFmdGVyIFxwY2hhcHNlcG1hY3JvLCBvciB0aGUgaGVhZGxpbmUgd2lsbCBjaGFuZ2UgdG9vIHNvb24uCisgICAgXGdkZWZcbGFzdHNlY3Rpb257IzF9JQorICAgICUKKyAgICAlIE9ubHkgaW5zZXJ0IHRoZSBzZXBhcmF0aW5nIHNwYWNlIGlmIHdlIGhhdmUgYSBjaGFwdGVyL2FwcGVuZGl4CisgICAgJSBudW1iZXIsIGFuZCBkb24ndCBwcmludCB0aGUgdW5udW1iZXJlZCBgYG51bWJlcicnLgorICAgIFxpZnhcdGVtcHR5cGVcWW5vdGhpbmdrZXl3b3JkCisgICAgICBcc2V0Ym94MCA9IFxoYm94e30lCisgICAgICBcZGVmXHRvY3R5cGV7dW5uY2hhcH0lCisgICAgXGVsc2VcaWZ4XHRlbXB0eXBlXFlvbWl0ZnJvbXRvY2tleXdvcmQKKyAgICAgIFxzZXRib3gwID0gXGhib3h7fSUgY29udGVudHMgbGlrZSB1bm51bWJlcmVkLCBidXQgbm8gdG9jIGVudHJ5CisgICAgICBcZGVmXHRvY3R5cGV7b21pdH0lCisgICAgXGVsc2VcaWZ4XHRlbXB0eXBlXFlhcHBlbmRpeGtleXdvcmQKKyAgICAgIFxzZXRib3gwID0gXGhib3h7XHB1dHdvcmRBcHBlbmRpeHt9ICMzXGVuc3BhY2V9JQorICAgICAgXGRlZlx0b2N0eXBle2FwcH0lCisgICAgXGVsc2UKKyAgICAgIFxzZXRib3gwID0gXGhib3h7IzNcZW5zcGFjZX0lCisgICAgICBcZGVmXHRvY3R5cGV7bnVtY2hhcH0lCisgICAgXGZpXGZpXGZpCisgICAgJQorICAgICUgV3JpdGUgdGhlIHRvYyBlbnRyeSBmb3IgdGhpcyBjaGFwdGVyLiAgTXVzdCBjb21lIGJlZm9yZSB0aGUKKyAgICAlIFxkb25vZGVyZWYsIGJlY2F1c2Ugd2UgaW5jbHVkZSB0aGUgY3VycmVudCBub2RlIG5hbWUgaW4gdGhlIHRvYworICAgICUgZW50cnksIGFuZCBcZG9ub2RlcmVmIHJlc2V0cyBpdCB0byBlbXB0eS4KKyAgICBcd3JpdGV0b2NlbnRyeXtcdG9jdHlwZX17IzF9eyMzfSUKKyAgICAlCisgICAgJSBGb3IgcGRmdGV4LCB3ZSBoYXZlIHRvIHdyaXRlIG91dCB0aGUgbm9kZSBkZWZpbml0aW9uIChha2EsIG1ha2UKKyAgICAlIHRoZSBwZGZkZXN0KSBhZnRlciBhbnkgcGFnZSBicmVhaywgYnV0IGJlZm9yZSB0aGUgYWN0dWFsIHRleHQgaGFzCisgICAgJSBiZWVuIHR5cGVzZXQuICBJZiB0aGUgZGVzdGluYXRpb24gZm9yIHRoZSBwZGYgb3V0bGluZSBpcyBhZnRlciB0aGUKKyAgICAlIHRleHQsIHRoZW4ganVtcGluZyBmcm9tIHRoZSBvdXRsaW5lIG1heSB3aW5kIHVwIHdpdGggdGhlIHRleHQgbm90CisgICAgJSBiZWluZyB2aXNpYmxlLCBmb3IgaW5zdGFuY2UgdW5kZXIgaGlnaCBtYWduaWZpY2F0aW9uLgorICAgIFxkb25vZGVyZWZ7IzJ9JQorICAgICUKKyAgICAlIFR5cGVzZXQgdGhlIGFjdHVhbCBoZWFkaW5nLgorICAgIFxub2JyZWFrICUgQXZvaWQgcGFnZSBicmVha3MgYXQgdGhlIGludGVybGluZSBnbHVlLgorICAgIFx2Ym94e1xoeXBoZW5wZW5hbHR5PTEwMDAwIFx0b2xlcmFuY2U9NTAwMCBccGFyaW5kZW50PTBwdCBccHRleHJhZ2dlZHJpZ2h0CisgICAgICAgICAgXGhhbmdpbmRlbnQ9XHdkMCBcY2VudGVycGFyYW1ldGVyc21heWJlCiAgICAgICAgICAgXHVuaGJveDAgIzFccGFyfSUKICAgfSUKICAgXG5vYnJlYWtcYmlnc2tpcCAlIG5vIHBhZ2UgYnJlYWsgYWZ0ZXIgYSBjaGFwdGVyIHRpdGxlCiAgIFxub2JyZWFrCiB9CiAKLSUgUGxhaW4gb3BlbmluZyBmb3IgdW5udW1iZXJlZC4KLVxkZWZcdW5uY2hmcGxhaW4jMXtcY2hmcGxhaW57IzF9e319Ci0KICUgQGNlbnRlcmNoYXAgLS0gY2VudGVyZWQgYW5kIHVubnVtYmVyZWQuCiBcbGV0XGNlbnRlcnBhcmFtZXRlcnNtYXliZSA9IFxyZWxheAotXGRlZlxjZW50ZXJjaGZwbGFpbiMxe3slCi0gIFxkZWZcY2VudGVycGFyYW1ldGVyc21heWJleyUKLSAgICBcYWR2YW5jZVxyaWdodHNraXAgYnkgM1xyaWdodHNraXAKLSAgICBcbGVmdHNraXAgPSBccmlnaHRza2lwCi0gICAgXHBhcmZpbGxza2lwID0gMHB0Ci0gIH0lCi0gIFxjaGZwbGFpbnsjMX17fSUKLX19Ci0KLVxDSEFQRnBsYWluICUgVGhlIGRlZmF1bHQKLQotXGRlZlx1bm5jaGZvcGVuICMxeyUKLVxjaGFwb2RkcGFnZSB7XGNoYXBmb250cyBcdmJveHtcaHlwaGVucGVuYWx0eT0xMDAwMFx0b2xlcmFuY2U9NTAwMAotICAgICAgICAgICAgICAgICAgICAgICBccGFyaW5kZW50PTBwdFxyYWdnZWRyaWdodAotICAgICAgICAgICAgICAgICAgICAgICBccm0gIzFcaGZpbGx9fVxiaWdza2lwIFxwYXJcbm9icmVhaworXGRlZlxjZW50ZXJwYXJhbWV0ZXJzeyUKKyAgXGFkdmFuY2VccmlnaHRza2lwIGJ5IDNccmlnaHRza2lwCisgIFxsZWZ0c2tpcCA9IFxyaWdodHNraXAKKyAgXHBhcmZpbGxza2lwID0gMHB0CiB9CiAKKworJSBJIGRvbid0IHRoaW5rIHRoaXMgY2hhcHRlciBzdHlsZSBpcyBzdXBwb3J0ZWQgYW55IG1vcmUsIHNvIEknbSBub3QKKyUgdXBkYXRpbmcgaXQgd2l0aCB0aGUgbmV3IG5vZGVyZWYgc3R1ZmYuICBXZSdsbCBzZWUuICAtLWthcmwsIDExYXVnMDMuCislCitcZGVmXHNldGNoYXB0ZXJzdHlsZSAjMSB7XGNzbmFtZSBDSEFQRiMxXGVuZGNzbmFtZX0KKyUKK1xkZWZcdW5uY2hmb3BlbiAjMXslCitcY2hhcG9kZHBhZ2Uge1xjaGFwZm9udHMgXHZib3h7XGh5cGhlbnBlbmFsdHk9MTAwMDBcdG9sZXJhbmNlPTUwMDAKKyAgICAgICAgICAgICAgICAgICAgICAgXHBhcmluZGVudD0wcHRccHRleHJhZ2dlZHJpZ2h0CisgICAgICAgICAgICAgICAgICAgICAgIFxybWlzYm9sZCAjMVxoZmlsbH19XGJpZ3NraXAgXHBhclxub2JyZWFrCit9CiBcZGVmXGNoZm9wZW4gIzEjMntcY2hhcG9kZHBhZ2Uge1xjaGFwZm9udHMKIFx2Ym94IHRvIDNpbntcdmZpbCBcaGJveCB0b1xoc2l6ZXtcaGZpbCAjMn0gXGhib3ggdG9caHNpemV7XGhmaWwgIzF9IFx2ZmlsfX0lCiBccGFyXHBlbmFsdHkgNTAwMCAlCiB9Ci0KIFxkZWZcY2VudGVyY2hmb3BlbiAjMXslCiBcY2hhcG9kZHBhZ2Uge1xjaGFwZm9udHMgXHZib3h7XGh5cGhlbnBlbmFsdHk9MTAwMDBcdG9sZXJhbmNlPTUwMDAKICAgICAgICAgICAgICAgICAgICAgICAgXHBhcmluZGVudD0wcHQKLSAgICAgICAgICAgICAgICAgICAgICAgXGhmaWxsIHtccm0gIzF9XGhmaWxsfX1cYmlnc2tpcCBccGFyXG5vYnJlYWsKKyAgICAgICAgICAgICAgICAgICAgICAgXGhmaWxsIHtccm1pc2JvbGQgIzF9XGhmaWxsfX1cYmlnc2tpcCBccGFyXG5vYnJlYWsKIH0KLQotXGRlZlxDSEFQRm9wZW57Ci1cZ2xvYmFsXGxldFxjaGFwbWFjcm89XGNoZm9wZW4KLVxnbG9iYWxcbGV0XHVubnVtYmNoYXBtYWNybz1cdW5uY2hmb3BlbgotXGdsb2JhbFxsZXRcY2VudGVyY2hhcG1hY3JvPVxjZW50ZXJjaGZvcGVufQorXGRlZlxDSEFQRm9wZW57JQorICBcZ2xvYmFsXGxldFxjaGFwbWFjcm89XGNoZm9wZW4KKyAgXGdsb2JhbFxsZXRcY2VudGVyY2hhcG1hY3JvPVxjZW50ZXJjaGZvcGVufQogCiAKLSUgU2VjdGlvbiB0aXRsZXMuCislIFNlY3Rpb24gdGl0bGVzLiAgVGhlc2UgbWFjcm9zIGNvbWJpbmUgdGhlIHNlY3Rpb24gbnVtYmVyIHBhcnRzIGFuZAorJSBjYWxsIHRoZSBnZW5lcmljIFxzZWN0aW9uaGVhZGluZyB0byBkbyB0aGUgcHJpbnRpbmcuCislCiBcbmV3c2tpcFxzZWNoZWFkaW5nc2tpcAotXGRlZlxzZWNoZWFkaW5nYnJlYWt7XGRvYnJlYWsgXHNlY2hlYWRpbmdza2lwIHstMTAwMH19Ci1cZGVmXHNlY2hlYWRpbmcjMSMyIzN7XHNlY3Rpb25oZWFkaW5ne3NlY317IzIuIzN9eyMxfX0KLVxkZWZccGxhaW5zZWNoZWFkaW5nIzF7XHNlY3Rpb25oZWFkaW5ne3NlY317fXsjMX19CitcZGVmXHNlY2hlYWRpbmdicmVha3tcZG9icmVhayBcc2VjaGVhZGluZ3NraXB7LTEwMDB9fQogCiAlIFN1YnNlY3Rpb24gdGl0bGVzLgotXG5ld3NraXAgXHN1YnNlY2hlYWRpbmdza2lwCi1cZGVmXHN1YnNlY2hlYWRpbmdicmVha3tcZG9icmVhayBcc3Vic2VjaGVhZGluZ3NraXAgey01MDB9fQotXGRlZlxzdWJzZWNoZWFkaW5nIzEjMiMzIzR7XHNlY3Rpb25oZWFkaW5ne3N1YnNlY317IzIuIzMuIzR9eyMxfX0KLVxkZWZccGxhaW5zdWJzZWNoZWFkaW5nIzF7XHNlY3Rpb25oZWFkaW5ne3N1YnNlY317fXsjMX19CitcbmV3c2tpcFxzdWJzZWNoZWFkaW5nc2tpcAorXGRlZlxzdWJzZWNoZWFkaW5nYnJlYWt7XGRvYnJlYWsgXHN1YnNlY2hlYWRpbmdza2lwey01MDB9fQogCiAlIFN1YnN1YnNlY3Rpb24gdGl0bGVzLgotXGxldFxzdWJzdWJzZWNoZWFkaW5nc2tpcCA9IFxzdWJzZWNoZWFkaW5nc2tpcAotXGxldFxzdWJzdWJzZWNoZWFkaW5nYnJlYWsgPSBcc3Vic2VjaGVhZGluZ2JyZWFrCi1cZGVmXHN1YnN1YnNlY2hlYWRpbmcjMSMyIzMjNCM1e1xzZWN0aW9uaGVhZGluZ3tzdWJzdWJzZWN9eyMyLiMzLiM0LiM1fXsjMX19Ci1cZGVmXHBsYWluc3Vic3Vic2VjaGVhZGluZyMxe1xzZWN0aW9uaGVhZGluZ3tzdWJzdWJzZWN9e317IzF9fQorXGRlZlxzdWJzdWJzZWNoZWFkaW5nc2tpcHtcc3Vic2VjaGVhZGluZ3NraXB9CitcZGVmXHN1YnN1YnNlY2hlYWRpbmdicmVha3tcc3Vic2VjaGVhZGluZ2JyZWFrfQogCiAKLSUgUHJpbnQgYW55IHNpemUgc2VjdGlvbiB0aXRsZS4KKyUgUHJpbnQgYW55IHNpemUsIGFueSB0eXBlLCBzZWN0aW9uIHRpdGxlLgogJQotJSAjMSBpcyB0aGUgc2VjdGlvbiB0eXBlIChzZWMvc3Vic2VjL3N1YnN1YnNlYyksICMyIGlzIHRoZSBzZWN0aW9uCi0lIG51bWJlciAobWF5YmUgZW1wdHkpLCAjMyB0aGUgdGV4dC4KLVxkZWZcc2VjdGlvbmhlYWRpbmcjMSMyIzN7JQotICB7JQotICAgIFxleHBhbmRhZnRlclxhZHZhbmNlXGNzbmFtZSAjMWhlYWRpbmdza2lwXGVuZGNzbmFtZSBieSBccGFyc2tpcAotICAgIFxjc25hbWUgIzFoZWFkaW5nYnJlYWtcZW5kY3NuYW1lCi0gIH0lCislICMxIGlzIHRoZSB0ZXh0LCAjMiBpcyB0aGUgc2VjdGlvbiBsZXZlbCAoc2VjL3N1YnNlYy9zdWJzdWJzZWMpLCAjMyBpcworJSB0aGUgc2VjdGlvbiB0eXBlIGZvciB4cmVmcyAoWW51bWJlcmVkLCBZbm90aGluZywgWWFwcGVuZGl4KSwgIzQgaXMgdGhlCislIHNlY3Rpb24gbnVtYmVyLgorJQorXGRlZlxzZWNrZXl3b3Jke3NlY30KKyUKK1xkZWZcc2VjdGlvbmhlYWRpbmcjMSMyIzMjNHslCiAgIHslCiAgICAgJSBTd2l0Y2ggdG8gdGhlIHJpZ2h0IHNldCBvZiBmb250cy4KLSAgICBcY3NuYW1lICMxZm9udHNcZW5kY3NuYW1lIFxybQorICAgIFxjc25hbWUgIzJmb250c1xlbmRjc25hbWUgXHJtaXNib2xkCiAgICAgJQotICAgICUgT25seSBpbnNlcnQgdGhlIHNlcGFyYXRpbmcgc3BhY2UgaWYgd2UgaGF2ZSBhIHNlY3Rpb24gbnVtYmVyLgotICAgIFxkZWZcc2VjbnVteyMyfSUKLSAgICBcc2V0Ym94MCA9IFxoYm94eyMyXGlmeFxzZWNudW1cZW1wdHlcZWxzZVxlbnNwYWNlXGZpfSUKKyAgICBcZGVmXHNlY3Rpb25sZXZlbHsjMn0lCisgICAgXGRlZlx0ZW1wdHlwZXsjM30lCiAgICAgJQotICAgIFx2Ym94e1xoeXBoZW5wZW5hbHR5PTEwMDAwIFx0b2xlcmFuY2U9NTAwMCBccGFyaW5kZW50PTBwdCBccmFnZ2VkcmlnaHQKLSAgICAgICAgICBcaGFuZ2luZGVudCA9IFx3ZDAgJSB6ZXJvIGlmIG5vIHNlY3Rpb24gbnVtYmVyCi0gICAgICAgICAgXHVuaGJveDAgIzN9JQorICAgICUgSW5zZXJ0IGZpcnN0IG1hcmsgYmVmb3JlIHRoZSBoZWFkaW5nIGJyZWFrIChzZWUgbm90ZXMgZm9yIFxkb21hcmspLgorICAgIFxsZXRccHJldnNlY3Rpb25kZWZzPVxsYXN0c2VjdGlvbmRlZnMKKyAgICBcaWZ4XHRlbXB0eXBlXFlub3RoaW5na2V5d29yZAorICAgICAgXGlmeFxzZWN0aW9ubGV2ZWxcc2Vja2V5d29yZAorICAgICAgICBcZ2RlZlxsYXN0c2VjdGlvbmRlZnN7XGdkZWZcdGhpc3NlY3Rpb25uYW1leyMxfVxnZGVmXHRoaXNzZWN0aW9ubnVte30lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcZ2RlZlx0aGlzc2VjdGlvbntcdGhpc3NlY3Rpb25uYW1lfX0lCisgICAgICBcZmkKKyAgICBcZWxzZVxpZnhcdGVtcHR5cGVcWW9taXRmcm9tdG9ja2V5d29yZAorICAgICAgJSBEb24ndCByZWRlZmluZSBcdGhpc3NlY3Rpb24uCisgICAgXGVsc2VcaWZ4XHRlbXB0eXBlXFlhcHBlbmRpeGtleXdvcmQKKyAgICAgIFxpZnhcc2VjdGlvbmxldmVsXHNlY2tleXdvcmQKKyAgICAgICAgXHRva3MwPXsjMX0lCisgICAgICAgIFx4ZGVmXGxhc3RzZWN0aW9uZGVmc3slCisgICAgICAgICAgXGdkZWZcbm9leHBhbmRcdGhpc3NlY3Rpb25uYW1le1x0aGVcdG9rczB9JQorICAgICAgICAgIFxnZGVmXG5vZXhwYW5kXHRoaXNzZWN0aW9ubnVteyM0fSUKKyAgICAgICAgICBcZ2RlZlxub2V4cGFuZFx0aGlzc2VjdGlvbntccHV0d29yZFNlY3Rpb257fSBcbm9leHBhbmRcdGhpc3NlY3Rpb25udW06CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5vZXhwYW5kXHRoaXNzZWN0aW9ubmFtZX0lCisgICAgICAgIH0lCisgICAgICBcZmkKKyAgICBcZWxzZQorICAgICAgXGlmeFxzZWN0aW9ubGV2ZWxcc2Vja2V5d29yZAorICAgICAgICBcdG9rczA9eyMxfSUKKyAgICAgICAgXHhkZWZcbGFzdHNlY3Rpb25kZWZzeyUKKyAgICAgICAgICBcZ2RlZlxub2V4cGFuZFx0aGlzc2VjdGlvbm5hbWV7XHRoZVx0b2tzMH0lCisgICAgICAgICAgXGdkZWZcbm9leHBhbmRcdGhpc3NlY3Rpb25udW17IzR9JQorICAgICAgICAgIFxnZGVmXG5vZXhwYW5kXHRoaXNzZWN0aW9ue1xwdXR3b3JkU2VjdGlvbnt9IFxub2V4cGFuZFx0aGlzc2VjdGlvbm51bToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbm9leHBhbmRcdGhpc3NlY3Rpb25uYW1lfSUKKyAgICAgICAgfSUKKyAgICAgIFxmaQorICAgIFxmaVxmaVxmaQorICAgICUKKyAgICAlIEdvIGludG8gdmVydGljYWwgbW9kZS4gIFVzdWFsbHkgd2UnbGwgYWxyZWFkeSBiZSB0aGVyZSwgYnV0IHdlCisgICAgJSBkb24ndCB3YW50IHRoZSBmb2xsb3dpbmcgd2hhdHNpdCB0byBlbmQgdXAgaW4gYSBwcmVjZWRpbmcgcGFyYWdyYXBoCisgICAgJSBpZiB0aGUgZG9jdW1lbnQgZGlkbid0IGhhcHBlbiB0byBoYXZlIGEgYmxhbmsgbGluZS4KKyAgICBccGFyCisgICAgJQorICAgICUgT3V0cHV0IHRoZSBtYXJrLiAgUGFzcyBpdCB0aHJvdWdoIFxzYWZld2hhdHNpdCwgdG8gdGFrZSBjYXJlIG9mCisgICAgJSB0aGUgcHJlY2VkaW5nIHNwYWNlLgorICAgIFxzYWZld2hhdHNpdFxkb21hcmsKKyAgICAlCisgICAgJSBJbnNlcnQgc3BhY2UgYWJvdmUgdGhlIGhlYWRpbmcuCisgICAgXGNzbmFtZSAjMmhlYWRpbmdicmVha1xlbmRjc25hbWUKKyAgICAlCisgICAgJSBOb3cgdGhlIHNlY29uZCBtYXJrLCBhZnRlciB0aGUgaGVhZGluZyBicmVhay4gIE5vIGJyZWFrIHBvaW50cworICAgICUgYmV0d2VlbiBoZXJlIGFuZCB0aGUgaGVhZGluZy4KKyAgICBcbGV0XHByZXZzZWN0aW9uZGVmcz1cbGFzdHNlY3Rpb25kZWZzCisgICAgXGRvbWFyaworICAgICUKKyAgICAlIE9ubHkgaW5zZXJ0IHRoZSBzcGFjZSBhZnRlciB0aGUgbnVtYmVyIGlmIHdlIGhhdmUgYSBzZWN0aW9uIG51bWJlci4KKyAgICBcaWZ4XHRlbXB0eXBlXFlub3RoaW5na2V5d29yZAorICAgICAgXHNldGJveDAgPSBcaGJveHt9JQorICAgICAgXGRlZlx0b2N0eXBle3Vubn0lCisgICAgICBcZ2RlZlxsYXN0c2VjdGlvbnsjMX0lCisgICAgXGVsc2VcaWZ4XHRlbXB0eXBlXFlvbWl0ZnJvbXRvY2tleXdvcmQKKyAgICAgICUgZm9yIEBoZWFkaW5ncyAtLSBubyBzZWN0aW9uIG51bWJlciwgZG9uJ3QgaW5jbHVkZSBpbiB0b2MsCisgICAgICAlIGFuZCBkb24ndCByZWRlZmluZSBcbGFzdHNlY3Rpb24uCisgICAgICBcc2V0Ym94MCA9IFxoYm94e30lCisgICAgICBcZGVmXHRvY3R5cGV7b21pdH0lCisgICAgICBcbGV0XHNlY3Rpb25sZXZlbD1cZW1wdHkKKyAgICBcZWxzZVxpZnhcdGVtcHR5cGVcWWFwcGVuZGl4a2V5d29yZAorICAgICAgXHNldGJveDAgPSBcaGJveHsjNFxlbnNwYWNlfSUKKyAgICAgIFxkZWZcdG9jdHlwZXthcHB9JQorICAgICAgXGdkZWZcbGFzdHNlY3Rpb257IzF9JQorICAgIFxlbHNlCisgICAgICBcc2V0Ym94MCA9IFxoYm94eyM0XGVuc3BhY2V9JQorICAgICAgXGRlZlx0b2N0eXBle251bX0lCisgICAgICBcZ2RlZlxsYXN0c2VjdGlvbnsjMX0lCisgICAgXGZpXGZpXGZpCisgICAgJQorICAgICUgV3JpdGUgdGhlIHRvYyBlbnRyeSAoYmVmb3JlIFxkb25vZGVyZWYpLiAgU2VlIGNvbW1lbnRzIGluIFxjaGFwbWFjcm8uCisgICAgXHdyaXRldG9jZW50cnl7XHRvY3R5cGVcc2VjdGlvbmxldmVsfXsjMX17IzR9JQorICAgICUKKyAgICAlIFdyaXRlIHRoZSBub2RlIHJlZmVyZW5jZSAoPSBwZGYgZGVzdGluYXRpb24gZm9yIHBkZnRleCkuCisgICAgJSBBZ2Fpbiwgc2VlIGNvbW1lbnRzIGluIFxjaGFwbWFjcm8uCisgICAgXGRvbm9kZXJlZnsjM30lCisgICAgJQorICAgICUgSW50ZXJsaW5lIGdsdWUgd2lsbCBiZSBpbnNlcnRlZCB3aGVuIHRoZSB2Ym94IGlzIGNvbXBsZXRlZC4KKyAgICAlIFRoYXQgZ2x1ZSB3aWxsIGJlIGEgdmFsaWQgYnJlYWtwb2ludCBmb3IgdGhlIHBhZ2UsIHNpbmNlIGl0J2xsIGJlCisgICAgJSBwcmVjZWRlZCBieSBhIHdoYXRzaXQgKHVzdWFsbHkgZnJvbSB0aGUgXGRvbm9kZXJlZiwgb3IgZnJvbSB0aGUKKyAgICAlIFx3cml0ZXRvY2VudHJ5IGlmIHRoZXJlIHdhcyBubyBub2RlKS4gIFdlIGRvbid0IHdhbnQgdG8gYWxsb3cgdGhhdAorICAgICUgYnJlYWssIHNpbmNlIHRoZW4gdGhlIHdoYXRzaXRzIGNvdWxkIGVuZCB1cCBvbiBwYWdlIG4gd2hpbGUgdGhlCisgICAgJSBzZWN0aW9uIGlzIG9uIHBhZ2UgbisxLCB0aHVzIHRvYy9ldGMuIGFyZSB3cm9uZy4gIERlYmlhbiBidWcgMjc2MDAwLgorICAgIFxub2JyZWFrCisgICAgJQorICAgICUgT3V0cHV0IHRoZSBhY3R1YWwgc2VjdGlvbiBoZWFkaW5nLgorICAgIFx2Ym94e1xoeXBoZW5wZW5hbHR5PTEwMDAwIFx0b2xlcmFuY2U9NTAwMCBccGFyaW5kZW50PTBwdCBccHRleHJhZ2dlZHJpZ2h0CisgICAgICAgICAgXGhhbmdpbmRlbnQ9XHdkMCAgJSB6ZXJvIGlmIG5vIHNlY3Rpb24gbnVtYmVyCisgICAgICAgICAgXHVuaGJveDAgIzF9JQogICB9JQotICAlIEFkZCBleHRyYSBzcGFjZSBhZnRlciB0aGUgaGVhZGluZyAtLSBlaXRoZXIgYSBsaW5lIHNwYWNlIG9yIGEKLSAgJSBwYXJhZ3JhcGggc3BhY2UsIHdoaWNoZXZlciBpcyBtb3JlLiAgKFNvbWUgcGVvcGxlIGxpa2UgdG8gc2V0Ci0gICUgXHBhcnNraXAgdG8gbGFyZ2UgdmFsdWVzIGZvciBzb21lIHJlYXNvbi4pICBEb24ndCBhbGxvdyBzdHJldGNoLCB0aG91Z2guCisgICUgQWRkIGV4dHJhIHNwYWNlIGFmdGVyIHRoZSBoZWFkaW5nIC0tIGhhbGYgb2Ygd2hhdGV2ZXIgY2FtZSBhYm92ZSBpdC4KKyAgJSBEb24ndCBhbGxvdyBzdHJldGNoLCB0aG91Z2guCisgIFxrZXJuIC41IFxjc25hbWUgIzJoZWFkaW5nc2tpcFxlbmRjc25hbWUKKyAgJQorICAlIERvIG5vdCBsZXQgdGhlIGtlcm4gYmUgYSBwb3RlbnRpYWwgYnJlYWtwb2ludCwgYXMgaXQgd291bGQgYmUgaWYgaXQKKyAgJSB3YXMgZm9sbG93ZWQgYnkgZ2x1ZS4KICAgXG5vYnJlYWsKLSAgXGlmZGltXHBhcnNraXA+XG5vcm1hbGJhc2VsaW5lc2tpcAotICAgIFxrZXJuXHBhcnNraXAKLSAgXGVsc2UKLSAgICBca2Vyblxub3JtYWxiYXNlbGluZXNraXAKLSAgXGZpCi0gIFxub2JyZWFrCisgICUKKyAgJSBXZSdsbCBhbG1vc3QgY2VydGFpbmx5IHN0YXJ0IGEgcGFyYWdyYXBoIG5leHQsIHNvIGRvbid0IGxldCB0aGF0CisgICUgZ2x1ZSBhY2N1bXVsYXRlLiAgKE5vdCBhIGJyZWFrcG9pbnQgYmVjYXVzZSBpdCdzIHByZWNlZGVkIGJ5IGEKKyAgJSBkaXNjYXJkYWJsZSBpdGVtLikKKyAgXHZza2lwLVxwYXJza2lwCisgICUgCisgICUgVGhpcyBpcyBwdXJlbHkgc28gdGhlIGxhc3QgaXRlbSBvbiB0aGUgbGlzdCBpcyBhIGtub3duIFxwZW5hbHR5ID4KKyAgJSAxMDAwMC4gIFRoaXMgaXMgc28gXHN0YXJ0ZGVmdW4gY2FuIGF2b2lkIGFsbG93aW5nIGJyZWFrcG9pbnRzIGFmdGVyCisgICUgc2VjdGlvbiBoZWFkaW5ncy4gIE90aGVyd2lzZSwgaXQgd291bGQgaW5zZXJ0IGEgdmFsaWQgYnJlYWtwb2ludCBiZXR3ZWVuOgorICAlIAorICAlICAgQHNlY3Rpb24gc2VjLXdoYXRldmVyCisgICUgICBAZGVmZm4gZGVmLXdoYXRldmVyCisgIFxwZW5hbHR5IDEwMDAxCiB9CiAKIApAQCAtNDEyNywxNDggKzU2MjcsMTYyIEBACiBcbmV3d3JpdGVcdG9jZmlsZQogCiAlIFdyaXRlIGFuIGVudHJ5IHRvIHRoZSB0b2MgZmlsZSwgb3BlbmluZyBpdCBpZiBuZWNlc3NhcnkuCi0lIENhbGxlZCBmcm9tIEBjaGFwdGVyLCBldGMuICBXZSBzdXBwbHkge1xmb2xpb30gYXQgdGhlIGVuZCBvZiB0aGUKLSUgYXJndW1lbnQsIHdoaWNoIHdpbGwgZW5kIHVwIGFzIHRoZSBsYXN0IGFyZ3VtZW50IHRvIHRoZSBcLi4uZW50cnkgbWFjcm8uCislIENhbGxlZCBmcm9tIEBjaGFwdGVyLCBldGMuCiAlCi0lIFVzYWdlOiBcd3JpdGV0b2NlbnRyeXtjaGFwfXtUaGUgTmFtZSBvZiBUaGUgR2FtZX17e1x0aGVcY2hhcG5vfX0KKyUgRXhhbXBsZSB1c2FnZTogXHdyaXRldG9jZW50cnl7c2VjfXtTZWN0aW9uIE5hbWV9e1x0aGVcY2hhcG5vLlx0aGVcc2Vjbm99CislIFdlIGFwcGVuZCB0aGUgY3VycmVudCBub2RlIG5hbWUgKGlmIGFueSkgYW5kIHBhZ2UgbnVtYmVyIGFzIGFkZGl0aW9uYWwKKyUgYXJndW1lbnRzIGZvciB0aGUgXHtjaGFwLHNlYywuLi59ZW50cnkgbWFjcm9zIHdoaWNoIHdpbGwgZXZlbnR1YWxseQorJSByZWFkIHRoaXMuICBUaGUgbm9kZSBuYW1lIGlzIHVzZWQgaW4gdGhlIHBkZiBvdXRsaW5lcyBhcyB0aGUKKyUgZGVzdGluYXRpb24gdG8ganVtcCB0by4KKyUKICUgV2Ugb3BlbiB0aGUgLnRvYyBmaWxlIGZvciB3cml0aW5nIGhlcmUgaW5zdGVhZCBvZiBhdCBAc2V0ZmlsZW5hbWUgKG9yCiAlIGFueSBvdGhlciBmaXhlZCB0aW1lKSBzbyB0aGF0IEBjb250ZW50cyBjYW4gYmUgYW55d2hlcmUgaW4gdGhlIGRvY3VtZW50LgorJSBCdXQgaWYgIzEgaXMgYG9taXQnLCB0aGVuIHdlIGRvbid0IGRvIGFueXRoaW5nLiAgVGhpcyBpcyB1c2VkIGZvciB0aGUKKyUgdGFibGUgb2YgY29udGVudHMgY2hhcHRlciBvcGVuaW5ncyB0aGVtc2VsdmVzLgogJQogXG5ld2lmXGlmdG9jZmlsZW9wZW5lZAorXGRlZlxvbWl0a2V5d29yZHtvbWl0fSUKKyUKIFxkZWZcd3JpdGV0b2NlbnRyeSMxIzIjM3slCi0gIFxpZnRvY2ZpbGVvcGVuZWRcZWxzZQotICAgIFxpbW1lZGlhdGVcb3Blbm91dFx0b2NmaWxlID0gXGpvYm5hbWUudG9jCi0gICAgXGdsb2JhbFx0b2NmaWxlb3BlbmVkdHJ1ZQorICBcZWRlZlx3cml0ZXRvY3R5cGV7IzF9JQorICBcaWZ4XHdyaXRldG9jdHlwZVxvbWl0a2V5d29yZCBcZWxzZQorICAgIFxpZnRvY2ZpbGVvcGVuZWRcZWxzZQorICAgICAgXGltbWVkaWF0ZVxvcGVub3V0XHRvY2ZpbGUgPSBcam9ibmFtZS50b2MKKyAgICAgIFxnbG9iYWxcdG9jZmlsZW9wZW5lZHRydWUKKyAgICBcZmkKKyAgICAlCisgICAgXGlmbGlua3MKKyAgICAgIHtcYXRkdW1taWVzCisgICAgICAgXGVkZWZcdGVtcHslCisgICAgICAgICBcd3JpdGVcdG9jZmlsZXtAIzFlbnRyeXsjMn17IzN9e1xsYXN0bm9kZX17XG5vZXhwYW5kXGZvbGlvfX19JQorICAgICAgIFx0ZW1wCisgICAgICB9JQorICAgIFxmaQogICBcZmkKICAgJQotICBcaWZsaW5rcwotICAgIFx0b2tzMCA9IHsjMn0lCi0gICAgXGVkZWZcdGVtcHtcd3JpdGVcdG9jZmlsZXtccmVhbGJhY2tzbGFzaCAjMWVudHJ5e1x0aGVcdG9rczB9IzN7XGZvbGlvfX19JQotICAgIFx0ZW1wCi0gIFxmaQotICAlCi0gICUgVGVsbCBcc2hpcG91dCB0byBjcmVhdGUgYSBwYWdlIGRlc3RpbmF0aW9uIGlmIHdlJ3JlIGRvaW5nIHBkZiwgd2hpY2gKLSAgJSB3aWxsIGJlIHRoZSB0YXJnZXQgb2YgdGhlIGxpbmtzIGluIHRoZSB0YWJsZSBvZiBjb250ZW50cy4gIFdlIGNhbid0Ci0gICUganVzdCBkbyBpdCBvbiBldmVyeSBwYWdlIGJlY2F1c2UgdGhlIHRpdGxlIHBhZ2VzIGFyZSBudW1iZXJlZCAxIGFuZAotICAlIDIgKHRoZSBwYWdlIG51bWJlcnMgYXJlbid0IHByaW50ZWQpLCBhbmQgc28gYXJlIHRoZSBmaXJzdCB0d28gcGFnZXMKLSAgJSBvZiB0aGUgZG9jdW1lbnQuICBUaHVzLCB3ZSdkIGhhdmUgdHdvIGRlc3RpbmF0aW9ucyBuYW1lZCBgMScsIGFuZAotICAlIHR3byBuYW1lZCBgMicuCi0gIFxpZnBkZiBccGRmbWFrZXBhZ2VkZXN0dHJ1ZSBcZmkKKyAgJSBUZWxsIFxzaGlwb3V0IHRvIGNyZWF0ZSBhIHBkZiBkZXN0aW5hdGlvbiBvbiBlYWNoIHBhZ2UsIGlmIHdlJ3JlCisgICUgd3JpdGluZyBwZGYuICBUaGVzZSBhcmUgdXNlZCBpbiB0aGUgdGFibGUgb2YgY29udGVudHMuICBXZSBjYW4ndAorICAlIGp1c3Qgd3JpdGUgb25lIG9uIGV2ZXJ5IHBhZ2UgYmVjYXVzZSB0aGUgdGl0bGUgcGFnZXMgYXJlIG51bWJlcmVkCisgICUgMSBhbmQgMiAodGhlIHBhZ2UgbnVtYmVycyBhcmVuJ3QgcHJpbnRlZCksIGFuZCBzbyBhcmUgdGhlIGZpcnN0CisgICUgdHdvIHBhZ2VzIG9mIHRoZSBkb2N1bWVudC4gIFRodXMsIHdlJ2QgaGF2ZSB0d28gZGVzdGluYXRpb25zIG5hbWVkCisgICUgYDEnLCBhbmQgdHdvIG5hbWVkIGAyJy4KKyAgXGlmcGRmIFxnbG9iYWxccGRmbWFrZXBhZ2VkZXN0dHJ1ZSBcZmkKK30KKworCislIFRoZXNlIGNoYXJhY3RlcnMgZG8gbm90IHByaW50IHByb3Blcmx5IGluIHRoZSBDb21wdXRlciBNb2Rlcm4gcm9tYW4KKyUgZm9udHMsIHNvIHdlIG11c3QgdGFrZSBzcGVjaWFsIGNhcmUuICBUaGlzIGlzIG1vcmUgb3IgbGVzcyByZWR1bmRhbnQKKyUgd2l0aCB0aGUgVGV4aW5mbyBpbnB1dCBmb3JtYXQgc2V0dXAgYXQgdGhlIGVuZCBvZiB0aGlzIGZpbGUuCislIAorXGRlZlxhY3RpdmVjYXRjb2Rlc3slCisgIFxjYXRjb2RlYFwiPVxhY3RpdmUKKyAgXGNhdGNvZGVgXCQ9XGFjdGl2ZQorICBcY2F0Y29kZWBcPD1cYWN0aXZlCisgIFxjYXRjb2RlYFw+PVxhY3RpdmUKKyAgXGNhdGNvZGVgXFw9XGFjdGl2ZQorICBcY2F0Y29kZWBcXj1cYWN0aXZlCisgIFxjYXRjb2RlYFxfPVxhY3RpdmUKKyAgXGNhdGNvZGVgXHw9XGFjdGl2ZQorICBcY2F0Y29kZWBcfj1cYWN0aXZlCit9CisKKworJSBSZWFkIHRoZSB0b2MgZmlsZSwgd2hpY2ggaXMgZXNzZW50aWFsbHkgVGV4aW5mbyBpbnB1dC4KK1xkZWZccmVhZHRvY2ZpbGV7JQorICBcc2V0dXBkYXRhZmlsZQorICBcYWN0aXZlY2F0Y29kZXMKKyAgXGlucHV0IFx0b2NyZWFkZmlsZW5hbWUKIH0KIAogXG5ld3NraXBcY29udGVudHNyaWdodG1hcmdpbiBcY29udGVudHNyaWdodG1hcmdpbj0xaW4KIFxuZXdjb3VudFxzYXZlcGFnZW5vCiBcbmV3Y291bnRcbGFzdG5lZ2F0aXZlcGFnZW5vIFxsYXN0bmVnYXRpdmVwYWdlbm8gPSAtMQogCi0lIEZpbmlzaCB1cCB0aGUgbWFpbiB0ZXh0IGFuZCBwcmVwYXJlIHRvIHJlYWQgd2hhdCB3ZSd2ZSB3cml0dGVuCi0lIHRvIFx0b2NmaWxlLgorJSBQcmVwYXJlIHRvIHJlYWQgd2hhdCB3ZSd2ZSB3cml0dGVuIHRvIFx0b2NmaWxlLgogJQogXGRlZlxzdGFydGNvbnRlbnRzIzF7JQotICAgJSBJZiBAc2V0Y2hhcHRlcm5ld3BhZ2Ugb24sIGFuZCBAaGVhZGluZ3MgZG91YmxlLCB0aGUgY29udGVudHMgc2hvdWxkCi0gICAlIHN0YXJ0IG9uIGFuIG9kZCBwYWdlLCB1bmxpa2UgY2hhcHRlcnMuICBUaHVzLCB3ZSBtYWludGFpbgotICAgJSBcY29udGVudHNhbGlnbm1hY3JvIGluIHBhcmFsbGVsIHdpdGggXHBhZ2VhbGlnbm1hY3JvLgotICAgJSBGcm9tOiBUb3Jiam9ybiBHcmFubHVuZCA8dGVnZUBtYXRlbWF0aWsuc3Uuc2U+Ci0gICBcY29udGVudHNhbGlnbm1hY3JvCi0gICBcaW1tZWRpYXRlXGNsb3Nlb3V0XHRvY2ZpbGUKLSAgICUKLSAgICUgRG9uJ3QgbmVlZCB0byBwdXQgYENvbnRlbnRzJyBvciBgU2hvcnQgQ29udGVudHMnIGluIHRoZSBoZWFkbGluZS4KLSAgICUgSXQgaXMgYWJ1bmRhbnRseSBjbGVhciB3aGF0IHRoZXkgYXJlLgotICAgXHVubnVtYmNoYXBtYWNyb3sjMX1cZGVmXHRoaXNjaGFwdGVye30lCi0gICBcc2F2ZXBhZ2VubyA9IFxwYWdlbm8KLSAgIFxiZWdpbmdyb3VwICAgICAgICAgICAgICAgICAgJSBTZXQgdXAgdG8gaGFuZGxlIGNvbnRlbnRzIGZpbGVzIHByb3Blcmx5LgotICAgICAgXGNhdGNvZGVgXFw9MCAgXGNhdGNvZGVgXHs9MSAgXGNhdGNvZGVgXH09MiAgXGNhdGNvZGVgXEA9MTEKLSAgICAgICUgV2UgY2FuJ3QgZG8gdGhpcywgYmVjYXVzZSB0aGVuIGFuIGFjdHVhbCBeIGluIGEgc2VjdGlvbgotICAgICAgJSB0aXRsZSBmYWlscywgZS5nLiwgQGNoYXB0ZXIgXiAtLSBleHBvbmVudGlhdGlvbi4gIC0ta2FybCwgOWp1bDk3LgotICAgICAgJVxjYXRjb2RlYFxePTcgJSB0byBzZWUgXl5lNCBhcyBcImEgZXRjLiBqdWhhQHBpdWhhLnlkaS52dHQuZmkKLSAgICAgIFxyYWdnZWRib3R0b20gICAgICAgICAgICAgJSBXb3JyeSBtb3JlIGFib3V0IGJyZWFrcG9pbnRzIHRoYW4gdGhlIGJvdHRvbS4KLSAgICAgIFxhZHZhbmNlXGhzaXplIGJ5IC1cY29udGVudHNyaWdodG1hcmdpbiAlIERvbid0IHVzZSB0aGUgZnVsbCBsaW5lIGxlbmd0aC4KLSAgICAgICUKLSAgICAgICUgUm9tYW4gbnVtZXJhbHMgZm9yIHBhZ2UgbnVtYmVycy4KLSAgICAgIFxpZm51bSBccGFnZW5vPjAgXGdsb2JhbFxwYWdlbm8gPSBcbGFzdG5lZ2F0aXZlcGFnZW5vIFxmaQorICAlIElmIEBzZXRjaGFwdGVybmV3cGFnZSBvbiwgYW5kIEBoZWFkaW5ncyBkb3VibGUsIHRoZSBjb250ZW50cyBzaG91bGQKKyAgJSBzdGFydCBvbiBhbiBvZGQgcGFnZSwgdW5saWtlIGNoYXB0ZXJzLiAgVGh1cywgd2UgbWFpbnRhaW4KKyAgJSBcY29udGVudHNhbGlnbm1hY3JvIGluIHBhcmFsbGVsIHdpdGggXHBhZ2VhbGlnbm1hY3JvLgorICAlIEZyb206IFRvcmJqb3JuIEdyYW5sdW5kIDx0ZWdlQG1hdGVtYXRpay5zdS5zZT4KKyAgXGNvbnRlbnRzYWxpZ25tYWNybworICBcaW1tZWRpYXRlXGNsb3Nlb3V0XHRvY2ZpbGUKKyAgJQorICAlIERvbid0IG5lZWQgdG8gcHV0IGBDb250ZW50cycgb3IgYFNob3J0IENvbnRlbnRzJyBpbiB0aGUgaGVhZGxpbmUuCisgICUgSXQgaXMgYWJ1bmRhbnRseSBjbGVhciB3aGF0IHRoZXkgYXJlLgorICBcY2hhcG1hY3JveyMxfXtZb21pdGZyb210b2N9e30lCisgICUKKyAgXHNhdmVwYWdlbm8gPSBccGFnZW5vCisgIFxiZWdpbmdyb3VwICAgICAgICAgICAgICAgICAgJSBTZXQgdXAgdG8gaGFuZGxlIGNvbnRlbnRzIGZpbGVzIHByb3Blcmx5LgorICAgIFxyYWdnZWRib3R0b20gICAgICAgICAgICAgICUgV29ycnkgbW9yZSBhYm91dCBicmVha3BvaW50cyB0aGFuIHRoZSBib3R0b20uCisgICAgXGFkdmFuY2VcaHNpemUgYnkgLVxjb250ZW50c3JpZ2h0bWFyZ2luICUgRG9uJ3QgdXNlIHRoZSBmdWxsIGxpbmUgbGVuZ3RoLgorICAgICUKKyAgICAlIFJvbWFuIG51bWVyYWxzIGZvciBwYWdlIG51bWJlcnMuCisgICAgXGlmbnVtIFxwYWdlbm8+MCBcZ2xvYmFsXHBhZ2VubyA9IFxsYXN0bmVnYXRpdmVwYWdlbm8gXGZpCiB9CiAKKyUgcmVkZWZpbmVkIGZvciB0aGUgdHdvLXZvbHVtZSBsaXNwcmVmLiAgV2UgYWx3YXlzIG91dHB1dCBvbgorJSBcam9ibmFtZS50b2MgZXZlbiBpZiB0aGlzIGlzIHJlZGVmaW5lZC4KKyUgCitcZGVmXHRvY3JlYWRmaWxlbmFtZXtcam9ibmFtZS50b2N9CiAKICUgTm9ybWFsIChsb25nKSB0b2MuCislCiBcZGVmXGNvbnRlbnRzeyUKLSAgIFxzdGFydGNvbnRlbnRze1xwdXR3b3JkVE9DfSUKLSAgICAgXG9wZW5pbiAxIFxqb2JuYW1lLnRvYwotICAgICBcaWZlb2YgMSBcZWxzZQotICAgICAgIFxjbG9zZWluIDEKLSAgICAgICBcaW5wdXQgXGpvYm5hbWUudG9jCi0gICAgIFxmaQotICAgICBcdmZpbGwgXGVqZWN0Ci0gICAgIFxjb250ZW50c2FsaWdubWFjcm8gJSBpbiBjYXNlIEBzZXRjaGFwdGVybmV3cGFnZSBvZGQgaXMgaW4gZWZmZWN0Ci0gICAgIFxwZGZtYWtlb3V0bGluZXMKLSAgIFxlbmRncm91cAotICAgXGxhc3RuZWdhdGl2ZXBhZ2VubyA9IFxwYWdlbm8KLSAgIFxnbG9iYWxccGFnZW5vID0gXHNhdmVwYWdlbm8KKyAgXHN0YXJ0Y29udGVudHN7XHB1dHdvcmRUT0N9JQorICAgIFxvcGVuaW4gMSBcdG9jcmVhZGZpbGVuYW1lXHNwYWNlCisgICAgXGlmZW9mIDEgXGVsc2UKKyAgICAgIFxyZWFkdG9jZmlsZQorICAgIFxmaQorICAgIFx2ZmlsbCBcZWplY3QKKyAgICBcY29udGVudHNhbGlnbm1hY3JvICUgaW4gY2FzZSBAc2V0Y2hhcHRlcm5ld3BhZ2Ugb2RkIGlzIGluIGVmZmVjdAorICAgIFxpZmVvZiAxIFxlbHNlCisgICAgICBccGRmbWFrZW91dGxpbmVzCisgICAgXGZpCisgICAgXGNsb3NlaW4gMQorICBcZW5kZ3JvdXAKKyAgXGxhc3RuZWdhdGl2ZXBhZ2VubyA9IFxwYWdlbm8KKyAgXGdsb2JhbFxwYWdlbm8gPSBcc2F2ZXBhZ2VubwogfQogCiAlIEFuZCBqdXN0IHRoZSBjaGFwdGVycy4KIFxkZWZcc3VtbWFyeWNvbnRlbnRzeyUKLSAgIFxzdGFydGNvbnRlbnRze1xwdXR3b3JkU2hvcnRUT0N9JQotICAgICAgJQotICAgICAgXGxldFxjaGFwZW50cnkgPSBcc2hvcnRjaGFwZW50cnkKLSAgICAgIFxsZXRcYXBwZW5kaXhlbnRyeSA9IFxzaG9ydGFwcGVuZGl4ZW50cnkKLSAgICAgIFxsZXRcdW5udW1iY2hhcGVudHJ5ID0gXHNob3J0dW5udW1iZXJlZGVudHJ5Ci0gICAgICAlIFdlIHdhbnQgYSB0cnVlIHJvbWFuIGhlcmUgZm9yIHRoZSBwYWdlIG51bWJlcnMuCi0gICAgICBcc2VjZm9udHMKLSAgICAgIFxsZXRccm09XHNob3J0Y29udHJtIFxsZXRcYmY9XHNob3J0Y29udGJmCi0gICAgICBcbGV0XHNsPVxzaG9ydGNvbnRzbCBcbGV0XHR0PVxzaG9ydGNvbnR0dAotICAgICAgXHJtCi0gICAgICBcaHlwaGVucGVuYWx0eSA9IDEwMDAwCi0gICAgICBcYWR2YW5jZVxiYXNlbGluZXNraXAgYnkgMXB0ICUgT3BlbiBpdCB1cCBhIGxpdHRsZS4KLSAgICAgIFxkZWZcc2VjZW50cnkgIyMxIyMyIyMzIyM0e30KLSAgICAgIFxkZWZcc3Vic2VjZW50cnkgIyMxIyMyIyMzIyM0IyM1e30KLSAgICAgIFxkZWZcc3Vic3Vic2VjZW50cnkgIyMxIyMyIyMzIyM0IyM1IyM2e30KLSAgICAgIFxsZXRcdW5udW1ic2VjZW50cnkgPSBcc2VjZW50cnkKLSAgICAgIFxsZXRcdW5udW1ic3Vic2VjZW50cnkgPSBcc3Vic2VjZW50cnkKLSAgICAgIFxsZXRcdW5udW1ic3Vic3Vic2VjZW50cnkgPSBcc3Vic3Vic2VjZW50cnkKLSAgICAgIFxvcGVuaW4gMSBcam9ibmFtZS50b2MKLSAgICAgIFxpZmVvZiAxIFxlbHNlCi0gICAgICAgIFxjbG9zZWluIDEKLSAgICAgICAgXGlucHV0IFxqb2JuYW1lLnRvYwotICAgICAgXGZpCi0gICAgIFx2ZmlsbCBcZWplY3QKLSAgICAgXGNvbnRlbnRzYWxpZ25tYWNybyAlIGluIGNhc2UgQHNldGNoYXB0ZXJuZXdwYWdlIG9kZCBpcyBpbiBlZmZlY3QKLSAgIFxlbmRncm91cAotICAgXGxhc3RuZWdhdGl2ZXBhZ2VubyA9IFxwYWdlbm8KLSAgIFxnbG9iYWxccGFnZW5vID0gXHNhdmVwYWdlbm8KKyAgXHN0YXJ0Y29udGVudHN7XHB1dHdvcmRTaG9ydFRPQ30lCisgICAgJQorICAgIFxsZXRcbnVtY2hhcGVudHJ5ID0gXHNob3J0Y2hhcGVudHJ5CisgICAgXGxldFxhcHBlbnRyeSA9IFxzaG9ydGNoYXBlbnRyeQorICAgIFxsZXRcdW5uY2hhcGVudHJ5ID0gXHNob3J0dW5uY2hhcGVudHJ5CisgICAgJSBXZSB3YW50IGEgdHJ1ZSByb21hbiBoZXJlIGZvciB0aGUgcGFnZSBudW1iZXJzLgorICAgIFxzZWNmb250cworICAgIFxsZXRccm09XHNob3J0Y29udHJtIFxsZXRcYmY9XHNob3J0Y29udGJmCisgICAgXGxldFxzbD1cc2hvcnRjb250c2wgXGxldFx0dD1cc2hvcnRjb250dHQKKyAgICBccm0KKyAgICBcaHlwaGVucGVuYWx0eSA9IDEwMDAwCisgICAgXGFkdmFuY2VcYmFzZWxpbmVza2lwIGJ5IDFwdCAlIE9wZW4gaXQgdXAgYSBsaXR0bGUuCisgICAgXGRlZlxudW1zZWNlbnRyeSMjMSMjMiMjMyMjNHt9CisgICAgXGxldFxhcHBzZWNlbnRyeSA9IFxudW1zZWNlbnRyeQorICAgIFxsZXRcdW5uc2VjZW50cnkgPSBcbnVtc2VjZW50cnkKKyAgICBcbGV0XG51bXN1YnNlY2VudHJ5ID0gXG51bXNlY2VudHJ5CisgICAgXGxldFxhcHBzdWJzZWNlbnRyeSA9IFxudW1zZWNlbnRyeQorICAgIFxsZXRcdW5uc3Vic2VjZW50cnkgPSBcbnVtc2VjZW50cnkKKyAgICBcbGV0XG51bXN1YnN1YnNlY2VudHJ5ID0gXG51bXNlY2VudHJ5CisgICAgXGxldFxhcHBzdWJzdWJzZWNlbnRyeSA9IFxudW1zZWNlbnRyeQorICAgIFxsZXRcdW5uc3Vic3Vic2VjZW50cnkgPSBcbnVtc2VjZW50cnkKKyAgICBcb3BlbmluIDEgXHRvY3JlYWRmaWxlbmFtZVxzcGFjZQorICAgIFxpZmVvZiAxIFxlbHNlCisgICAgICBccmVhZHRvY2ZpbGUKKyAgICBcZmkKKyAgICBcY2xvc2VpbiAxCisgICAgXHZmaWxsIFxlamVjdAorICAgIFxjb250ZW50c2FsaWdubWFjcm8gJSBpbiBjYXNlIEBzZXRjaGFwdGVybmV3cGFnZSBvZGQgaXMgaW4gZWZmZWN0CisgIFxlbmRncm91cAorICBcbGFzdG5lZ2F0aXZlcGFnZW5vID0gXHBhZ2VubworICBcZ2xvYmFsXHBhZ2VubyA9IFxzYXZlcGFnZW5vCiB9CiBcbGV0XHNob3J0Y29udGVudHMgPSBcc3VtbWFyeWNvbnRlbnRzCiAKLVxpZnBkZgotICBccGRmY2F0YWxvZ3svUGFnZU1vZGUgL1VzZU91dGxpbmVzfSUKLVxmaQotCi0lIFRoZXNlIG1hY3JvcyBnZW5lcmF0ZSBpbmRpdmlkdWFsIGVudHJpZXMgaW4gdGhlIHRhYmxlIG9mIGNvbnRlbnRzLgotJSBUaGUgZmlyc3QgYXJndW1lbnQgaXMgdGhlIGNoYXB0ZXIgb3Igc2VjdGlvbiBuYW1lLgotJSBUaGUgbGFzdCBhcmd1bWVudCBpcyB0aGUgcGFnZSBudW1iZXIuCi0lIFRoZSBhcmd1bWVudHMgaW4gYmV0d2VlbiBhcmUgdGhlIGNoYXB0ZXIgbnVtYmVyLCBzZWN0aW9uIG51bWJlciwgLi4uCi0KLSUgQ2hhcHRlcnMsIGluIHRoZSBtYWluIGNvbnRlbnRzLgotXGRlZlxjaGFwZW50cnkjMSMyIzN7XGRvY2hhcGVudHJ5eyMyXGxhYmVsc3BhY2UjMX17IzN9fQotJQotJSBDaGFwdGVycywgaW4gdGhlIHNob3J0IHRvYy4KLSUgU2VlIGNvbW1lbnRzIGluIFxkb2NoYXBlbnRyeSByZSB2Ym94IGFuZCByZWxhdGVkIHNldHRpbmdzLgotXGRlZlxzaG9ydGNoYXBlbnRyeSMxIzIjM3slCi0gIFx0b2NlbnRyeXtcc2hvcnRjaGFwbGFiZWx7IzJ9XGxhYmVsc3BhY2UgIzF9e1xkb3Nob3J0cGFnZW5vXGJncm91cCMzXGVncm91cH0lCi19Ci0KLSUgQXBwZW5kaWNlcywgaW4gdGhlIG1haW4gY29udGVudHMuCi1cZGVmXGFwcGVuZGl4ZW50cnkjMSMyIzN7JQotICBcZG9jaGFwZW50cnl7XGFwcGVuZGl4Ym94e1xwdXR3b3JkQXBwZW5kaXh7fSAjMn1cbGFiZWxzcGFjZSMxfXsjM319Ci0lCi0lIEFwcGVuZGljZXMsIGluIHRoZSBzaG9ydCB0b2MuCi1cbGV0XHNob3J0YXBwZW5kaXhlbnRyeSA9IFxzaG9ydGNoYXBlbnRyeQotCiAlIFR5cGVzZXQgdGhlIGxhYmVsIGZvciBhIGNoYXB0ZXIgb3IgYXBwZW5kaXggZm9yIHRoZSBzaG9ydCBjb250ZW50cy4KLSUgVGhlIGFyZyBpcywgZS5nLiwgYEFwcGVuZGl4IEEnIGZvciBhbiBhcHBlbmRpeCwgb3IgYDMnIGZvciBhIGNoYXB0ZXIuCi0lIFdlIGNvdWxkIHNpbXBsaWZ5IHRoZSBjb2RlIGhlcmUgYnkgd3JpdGluZyBvdXQgYW4gXGFwcGVuZGl4ZW50cnkKLSUgY29tbWFuZCBpbiB0aGUgdG9jIGZpbGUgZm9yIGFwcGVuZGljZXMsIGluc3RlYWQgb2YgdXNpbmcgXGNoYXBlbnRyeQotJSBmb3IgYm90aCwgYnV0IGl0IGRvZXNuJ3Qgc2VlbSB3b3J0aCBpdC4KLSUKLVxuZXdkaW1lblxzaG9ydGFwcGVuZGl4d2lkdGgKKyUgVGhlIGFyZyBpcywgZS5nLiwgYEEnIGZvciBhbiBhcHBlbmRpeCwgb3IgYDMnIGZvciBhIGNoYXB0ZXIuCiAlCiBcZGVmXHNob3J0Y2hhcGxhYmVsIzF7JQogICAlIFRoaXMgc3BhY2Ugc2hvdWxkIGJlIGVub3VnaCwgc2luY2UgYSBzaW5nbGUgbnVtYmVyIGlzIC41ZW0sIGFuZCB0aGUKQEAgLTQyNzYsMjkgKzU3OTAsNjEgQEAKICAgJSBCdXQgdXNlIFxoc3MganVzdCBpbiBjYXNlLgogICAlIChUaGlzIHNwYWNlIGRvZXNuJ3QgaW5jbHVkZSB0aGUgZXh0cmEgc3BhY2UgdGhhdCBnZXRzIGFkZGVkIGFmdGVyCiAgICUgdGhlIGxhYmVsOyB0aGF0IGdldHMgcHV0IGluIGJ5IFxzaG9ydGNoYXBlbnRyeSBhYm92ZS4pCi0gIFxkaW1lbjAgPSAxZW0KLSAgXGhib3ggdG8gXGRpbWVuMHsjMVxoc3N9JQorICAlCisgICUgV2UnZCBsaWtlIHRvIHJpZ2h0LWp1c3RpZnkgY2hhcHRlciBudW1iZXJzLCBidXQgdGhhdCBsb29rcyBzdHJhbmdlCisgICUgd2l0aCBhcHBlbmRpeCBsZXR0ZXJzLiAgQW5kIHJpZ2h0LWp1c3RpZnlpbmcgbnVtYmVycyBhbmQKKyAgJSBsZWZ0LWp1c3RpZnlpbmcgbGV0dGVycyBsb29rcyBzdHJhbmdlIHdoZW4gdGhlcmUgaXMgbGVzcyB0aGFuIDEwCisgICUgY2hhcHRlcnMuICBIYXZlIHRvIHJlYWQgdGhlIHdob2xlIHRvYyBvbmNlIHRvIGtub3cgaG93IG1hbnkgY2hhcHRlcnMKKyAgJSB0aGVyZSBhcmUgYmVmb3JlIGRlY2lkaW5nIC4uLgorICBcaGJveCB0byAxZW17IzFcaHNzfSUKIH0KIAorJSBUaGVzZSBtYWNyb3MgZ2VuZXJhdGUgaW5kaXZpZHVhbCBlbnRyaWVzIGluIHRoZSB0YWJsZSBvZiBjb250ZW50cy4KKyUgVGhlIGZpcnN0IGFyZ3VtZW50IGlzIHRoZSBjaGFwdGVyIG9yIHNlY3Rpb24gbmFtZS4KKyUgVGhlIGxhc3QgYXJndW1lbnQgaXMgdGhlIHBhZ2UgbnVtYmVyLgorJSBUaGUgYXJndW1lbnRzIGluIGJldHdlZW4gYXJlIHRoZSBjaGFwdGVyIG51bWJlciwgc2VjdGlvbiBudW1iZXIsIC4uLgorCislIENoYXB0ZXJzLCBpbiB0aGUgbWFpbiBjb250ZW50cy4KK1xkZWZcbnVtY2hhcGVudHJ5IzEjMiMzIzR7XGRvY2hhcGVudHJ5eyMyXGxhYmVsc3BhY2UjMX17IzR9fQorJQorJSBDaGFwdGVycywgaW4gdGhlIHNob3J0IHRvYy4KKyUgU2VlIGNvbW1lbnRzIGluIFxkb2NoYXBlbnRyeSByZSB2Ym94IGFuZCByZWxhdGVkIHNldHRpbmdzLgorXGRlZlxzaG9ydGNoYXBlbnRyeSMxIzIjMyM0eyUKKyAgXHRvY2VudHJ5e1xzaG9ydGNoYXBsYWJlbHsjMn1cbGFiZWxzcGFjZSAjMX17XGRvc2hvcnRwYWdlbm9cYmdyb3VwIzRcZWdyb3VwfSUKK30KKworJSBBcHBlbmRpY2VzLCBpbiB0aGUgbWFpbiBjb250ZW50cy4KKyUgTmVlZCB0aGUgd29yZCBBcHBlbmRpeCwgYW5kIGEgZml4ZWQtc2l6ZSBib3guCislCitcZGVmXGFwcGVuZGl4Ym94IzF7JQorICAlIFdlIHVzZSBNIHNpbmNlIGl0J3MgcHJvYmFibHkgdGhlIHdpZGVzdCBsZXR0ZXIuCisgIFxzZXRib3gwID0gXGhib3h7XHB1dHdvcmRBcHBlbmRpeHt9IE19JQorICBcaGJveCB0byBcd2Qwe1xwdXR3b3JkQXBwZW5kaXh7fSAjMVxoc3N9fQorJQorXGRlZlxhcHBlbnRyeSMxIzIjMyM0e1xkb2NoYXBlbnRyeXtcYXBwZW5kaXhib3h7IzJ9XGxhYmVsc3BhY2UjMX17IzR9fQorCiAlIFVubnVtYmVyZWQgY2hhcHRlcnMuCi1cZGVmXHVubnVtYmNoYXBlbnRyeSMxIzIjM3tcZG9jaGFwZW50cnl7IzF9eyMzfX0KLVxkZWZcc2hvcnR1bm51bWJlcmVkZW50cnkjMSMyIzN7XHRvY2VudHJ5eyMxfXtcZG9zaG9ydHBhZ2Vub1xiZ3JvdXAjM1xlZ3JvdXB9fQorXGRlZlx1bm5jaGFwZW50cnkjMSMyIzMjNHtcZG9jaGFwZW50cnl7IzF9eyM0fX0KK1xkZWZcc2hvcnR1bm5jaGFwZW50cnkjMSMyIzMjNHtcdG9jZW50cnl7IzF9e1xkb3Nob3J0cGFnZW5vXGJncm91cCM0XGVncm91cH19CiAKICUgU2VjdGlvbnMuCi1cZGVmXHNlY2VudHJ5IzEjMiMzIzR7XGRvc2VjZW50cnl7IzIuIzNcbGFiZWxzcGFjZSMxfXsjNH19Ci1cZGVmXHVubnVtYnNlY2VudHJ5IzEjMiMzIzR7XGRvc2VjZW50cnl7IzF9eyM0fX0KK1xkZWZcbnVtc2VjZW50cnkjMSMyIzMjNHtcZG9zZWNlbnRyeXsjMlxsYWJlbHNwYWNlIzF9eyM0fX0KK1xsZXRcYXBwc2VjZW50cnk9XG51bXNlY2VudHJ5CitcZGVmXHVubnNlY2VudHJ5IzEjMiMzIzR7XGRvc2VjZW50cnl7IzF9eyM0fX0KIAogJSBTdWJzZWN0aW9ucy4KLVxkZWZcc3Vic2VjZW50cnkjMSMyIzMjNCM1e1xkb3N1YnNlY2VudHJ5eyMyLiMzLiM0XGxhYmVsc3BhY2UjMX17IzV9fQotXGRlZlx1bm51bWJzdWJzZWNlbnRyeSMxIzIjMyM0IzV7XGRvc3Vic2VjZW50cnl7IzF9eyM1fX0KK1xkZWZcbnVtc3Vic2VjZW50cnkjMSMyIzMjNHtcZG9zdWJzZWNlbnRyeXsjMlxsYWJlbHNwYWNlIzF9eyM0fX0KK1xsZXRcYXBwc3Vic2VjZW50cnk9XG51bXN1YnNlY2VudHJ5CitcZGVmXHVubnN1YnNlY2VudHJ5IzEjMiMzIzR7XGRvc3Vic2VjZW50cnl7IzF9eyM0fX0KIAogJSBBbmQgc3Vic3Vic2VjdGlvbnMuCi1cZGVmXHN1YnN1YnNlY2VudHJ5IzEjMiMzIzQjNSM2eyUKLSAgXGRvc3Vic3Vic2VjZW50cnl7IzIuIzMuIzQuIzVcbGFiZWxzcGFjZSMxfXsjNn19Ci1cZGVmXHVubnVtYnN1YnN1YnNlY2VudHJ5IzEjMiMzIzQjNSM2e1xkb3N1YnN1YnNlY2VudHJ5eyMxfXsjNn19CitcZGVmXG51bXN1YnN1YnNlY2VudHJ5IzEjMiMzIzR7XGRvc3Vic3Vic2VjZW50cnl7IzJcbGFiZWxzcGFjZSMxfXsjNH19CitcbGV0XGFwcHN1YnN1YnNlY2VudHJ5PVxudW1zdWJzdWJzZWNlbnRyeQorXGRlZlx1bm5zdWJzdWJzZWNlbnRyeSMxIzIjMyM0e1xkb3N1YnN1YnNlY2VudHJ5eyMxfXsjNH19CiAKICUgVGhpcyBwYXJhbWV0ZXIgY29udHJvbHMgdGhlIGluZGVudGF0aW9uIG9mIHRoZSB2YXJpb3VzIGxldmVscy4KLVxuZXdkaW1lblx0b2NpbmRlbnQgXHRvY2luZGVudCA9IDNwYworJSBTYW1lIGFzIFxkZWZhdWx0cGFyaW5kZW50LgorXG5ld2RpbWVuXHRvY2luZGVudCBcdG9jaW5kZW50ID0gMTVwdAogCiAlIE5vdyBmb3IgdGhlIGFjdHVhbCB0eXBlc2V0dGluZy4gSW4gYWxsIHRoZXNlLCAjMSBpcyB0aGUgdGV4dCBhbmQgIzIgaXMgdGhlCiAlIHBhZ2UgbnVtYmVyLgpAQCAtNDMyOSwxNyArNTg3NSw4IEBACiAgIFx0b2NlbnRyeXsjMX17XGRvcGFnZW5vXGJncm91cCMyXGVncm91cH0lCiBcZW5kZ3JvdXB9CiAKLSUgRmluYWwgdHlwZXNldHRpbmcgb2YgYSB0b2MgZW50cnk7IHdlIHVzZSB0aGUgc2FtZSBcZW50cnkgbWFjcm8gYXMgZm9yCi0lIHRoZSBpbmRleCBlbnRyaWVzLCBidXQgd2Ugd2FudCB0byBzdXBwcmVzcyBoeXBoZW5hdGlvbiBoZXJlLiAgKFdlCi0lIGNhbid0IGRvIHRoYXQgaW4gdGhlIFxlbnRyeSBtYWNybywgc2luY2UgaW5kZXggZW50cmllcyBtaWdodCBjb25zaXN0Ci0lIG9mIGh5cGhlbmF0ZWQtaWRlbnRpZmllcnMtdGhhdC1kby1ub3QtZml0LW9uLWEtbGluZS1hbmQtbm90aGluZy1lbHNlLikKLVxkZWZcdG9jZW50cnkjMSMye1xiZWdpbmdyb3VwCi0gIFx2c2tpcCAwcHQgcGx1czFwdCAlIGFsbG93IGEgbGl0dGxlIHN0cmV0Y2ggZm9yIHRoZSBzYWtlIG9mIG5pY2UgcGFnZSBicmVha3MKLSAgJSBEbyBub3QgdXNlIFx0dXJub2ZmYWN0aXZlIGluIHRoZXNlIGFyZ3VtZW50cy4gIFNpbmNlIHRoZSB0b2MgaXMKLSAgJSB0eXBlc2V0IGluIGNtciwgY2hhcmFjdGVycyBzdWNoIGFzIF8gd291bGQgY29tZSBvdXQgd3Jvbmc7IHdlCi0gICUgaGF2ZSB0byBkbyB0aGUgdXN1YWwgdHJhbnNsYXRpb24gdHJpY2tzLgotICBcZW50cnl7IzF9eyMyfSUKLVxlbmRncm91cH0KKyUgV2UgdXNlIHRoZSBzYW1lIFxlbnRyeSBtYWNybyBhcyBmb3IgdGhlIGluZGV4IGVudHJpZXMuCitcbGV0XHRvY2VudHJ5ID0gXGVudHJ5CiAKICUgU3BhY2UgYmV0d2VlbiBjaGFwdGVyIChvciB3aGF0ZXZlcikgbnVtYmVyIGFuZCB0aGUgdGl0bGUuCiBcZGVmXGxhYmVsc3BhY2V7XGhza2lwMWVtIFxyZWxheH0KQEAgLTQzNDksNjIgKzU4ODYsMzAgQEAKIAogXGRlZlxjaGFwZW50cnlmb250c3tcc2VjZm9udHMgXHJtfQogXGRlZlxzZWNlbnRyeWZvbnRze1x0ZXh0Zm9udHN9Ci1cbGV0XHN1YnNlY2VudHJ5Zm9udHMgPSBcdGV4dGZvbnRzCi1cbGV0XHN1YnN1YnNlY2VudHJ5Zm9udHMgPSBcdGV4dGZvbnRzCitcZGVmXHN1YnNlY2VudHJ5Zm9udHN7XHRleHRmb250c30KK1xkZWZcc3Vic3Vic2VjZW50cnlmb250c3tcdGV4dGZvbnRzfQogCiAKIFxtZXNzYWdle2Vudmlyb25tZW50cyx9CiAlIEBmb28gLi4uIEBlbmQgZm9vLgogCi0lIEBwb2ludHt9LCBAcmVzdWx0e30sIEBleHBhbnNpb257fSwgQHByaW50e30sIEBlcXVpdnt9LgotJSAKLSUgU2luY2UgdGhlc2UgY2hhcmFjdGVycyBhcmUgdXNlZCBpbiBleGFtcGxlcywgaXQgc2hvdWxkIGJlIGFuIGV2ZW4gbnVtYmVyIG9mCi0lIFx0dCB3aWR0aHMuIEVhY2ggXHR0IGNoYXJhY3RlciBpcyAxZW4sIHNvIHR3byBtYWtlcyBpdCAxZW0uCi0lCi1cZGVmXHBvaW50eyRcc3RhciR9Ci1cZGVmXHJlc3VsdHtcbGVhdmV2bW9kZVxyYWlzZS4xNWV4XGhib3ggdG8gMWVte1xoZmlsJFxSaWdodGFycm93JFxoZmlsfX0KLVxkZWZcZXhwYW5zaW9ue1xsZWF2ZXZtb2RlXHJhaXNlLjFleFxoYm94IHRvIDFlbXtcaGZpbCRcbWFwc3RvJFxoZmlsfX0KLVxkZWZccHJpbnR7XGxlYXZldm1vZGVcbG93ZXIuMWV4XGhib3ggdG8gMWVte1xoZmlsJFxkYXNodiRcaGZpbH19Ci1cZGVmXGVxdWl2e1xsZWF2ZXZtb2RlXGxvd2VyLjFleFxoYm94IHRvIDFlbXtcaGZpbCRccHRleGVxdWl2JFxoZmlsfX0KLQotJSBUaGUgQGVycm9ye30gY29tbWFuZC4KLSUgQWRhcHRlZCBmcm9tIHRoZSBUZVhib29rJ3MgXGJveGl0LgotJSAKLVxuZXdib3hcZXJyb3Jib3gKLSUKLXtcdGVudHQgXGdsb2JhbFxkaW1lbjAgPSAzZW19JSBXaWR0aCBvZiB0aGUgYm94LgotXGRpbWVuMiA9IC41NXB0ICUgVGhpY2tuZXNzIG9mIHJ1bGVzCi0lIFRoZSB0ZXh0LiAoYHInIGlzIG9wZW4gb24gdGhlIHJpZ2h0LCBgZScgc29tZXdoYXQgbGVzcyBzbyBvbiB0aGUgbGVmdC4pCi1cc2V0Ym94MCA9IFxoYm94e1xrZXJuLS43NXB0IFx0ZW5zZiBlcnJvclxrZXJuLTEuNXB0fQotJQotXGdsb2JhbFxzZXRib3hcZXJyb3Jib3g9XGhib3ggdG8gXGRpbWVuMHtcaGZpbAotICAgXGhzaXplID0gXGRpbWVuMCBcYWR2YW5jZVxoc2l6ZSBieSAtNS44cHQgJSBTcGFjZSB0byBsZWZ0K3JpZ2h0LgotICAgXGFkdmFuY2VcaHNpemUgYnkgLTJcZGltZW4yICUgUnVsZXMuCi0gICBcdmJveHsKLSAgICAgIFxocnVsZSBoZWlnaHRcZGltZW4yCi0gICAgICBcaGJveHtcdnJ1bGUgd2lkdGhcZGltZW4yIFxrZXJuM3B0ICAgICAgICAgICUgU3BhY2UgdG8gbGVmdCBvZiB0ZXh0LgotICAgICAgICAgXHZ0b3B7XGtlcm4yLjRwdCBcYm94MCBca2VybjIuNHB0fSUgU3BhY2UgYWJvdmUvYmVsb3cuCi0gICAgICAgICBca2VybjNwdFx2cnVsZSB3aWR0aFxkaW1lbjJ9JSBTcGFjZSB0byByaWdodC4KLSAgICAgIFxocnVsZSBoZWlnaHRcZGltZW4yfQotICAgIFxoZmlsfQotJQotXGRlZlxlcnJvcntcbGVhdmV2bW9kZVxsb3dlci43ZXhcY29weVxlcnJvcmJveH0KLQogJSBAdGV4IC4uLiBAZW5kIHRleCAgICBlc2NhcGVzIGludG8gcmF3IFRleCB0ZW1wb3JhcmlseS4KICUgT25lIGV4Y2VwdGlvbjogQCBpcyBzdGlsbCBhbiBlc2NhcGUgY2hhcmFjdGVyLCBzbyB0aGF0IEBlbmQgdGV4IHdvcmtzLgogJSBCdXQgXEAgb3IgQEAgd2lsbCBnZXQgYSBwbGFpbiB0ZXggQCBjaGFyYWN0ZXIuCiAKLVxkZWZcdGV4e1xiZWdpbmdyb3VwCitcZW52ZGVmXHRleHslCisgIFxzZXR1cG1hcmt1cHN0eWxle3RleH0lCiAgIFxjYXRjb2RlIGBcXD0wIFxjYXRjb2RlIGBcez0xIFxjYXRjb2RlIGBcfT0yCiAgIFxjYXRjb2RlIGBcJD0zIFxjYXRjb2RlIGBcJj00IFxjYXRjb2RlIGBcIz02CiAgIFxjYXRjb2RlIGBcXj03IFxjYXRjb2RlIGBcXz04IFxjYXRjb2RlIGBcfj1cYWN0aXZlIFxsZXR+PVx0aWUKICAgXGNhdGNvZGUgYFwlPTE0CiAgIFxjYXRjb2RlIGBcKz1cb3RoZXIKICAgXGNhdGNvZGUgYFwiPVxvdGhlcgotICBcY2F0Y29kZSBgXD09XG90aGVyCiAgIFxjYXRjb2RlIGBcfD1cb3RoZXIKICAgXGNhdGNvZGUgYFw8PVxvdGhlcgogICBcY2F0Y29kZSBgXD49XG90aGVyCisgIFxjYXRjb2RlYFxgPVxvdGhlcgorICBcY2F0Y29kZWBcJz1cb3RoZXIKICAgXGVzY2FwZWNoYXI9YFxcCiAgICUKICAgXGxldFxiPVxwdGV4YgpAQCAtNDQxNiwxOSArNTkyMSwyNSBAQAogICBcbGV0XGVxdWl2PVxwdGV4ZXF1aXYKICAgXGxldFwhPVxwdGV4ZXhjbGFtCiAgIFxsZXRcaT1ccHRleGkKKyAgXGxldFxpbmRlbnQ9XHB0ZXhpbmRlbnQKKyAgXGxldFxub2luZGVudD1ccHRleG5vaW5kZW50CiAgIFxsZXRcez1ccHRleGxicmFjZQogICBcbGV0XCs9XHRhYmFsaWduCiAgIFxsZXRcfT1ccHRleHJicmFjZQorICBcbGV0XC89XHB0ZXhzbGFzaAogICBcbGV0XCo9XHB0ZXhzdGFyCiAgIFxsZXRcdD1ccHRleHQKKyAgXGV4cGFuZGFmdGVyIFxsZXRcY3NuYW1lIHRvcFxlbmRjc25hbWU9XHB0ZXh0b3AgICUgb3V0ZXIKKyAgXGxldFxmcmVuY2hzcGFjaW5nPVxwbGFpbmZyZW5jaHNwYWNpbmcKICAgJQogICBcZGVmXGVuZGxkb3Rze1xtYXRoaW5uZXJ7XGxkb3RzXGxkb3RzXGxkb3RzXGxkb3RzfX0lCiAgIFxkZWZcZW5kZG90c3tccmVsYXhcaWZtbW9kZVxlbmRsZG90c1xlbHNlJFxtYXRoc3Vycm91bmQ9MHB0IFxlbmRsZG90c1wsJFxmaX0lCiAgIFxkZWZcQHtAfSUKLVxsZXRcRXRleD1cZW5kZ3JvdXB9Cit9CislIFRoZXJlIGlzIG5vIG5lZWQgdG8gZGVmaW5lIFxFdGV4LgogCiAlIERlZmluZSBAbGlzcCAuLi4gQGVuZCBsaXNwLgotJSBAbGlzcCBkb2VzIGEgXGJlZ2luZ3JvdXAgc28gaXQgY2FuIHJlYmluZCB0aGluZ3MsCislIEBsaXNwIGVudmlyb25tZW50IGZvcm1zIGEgZ3JvdXAgc28gaXQgY2FuIHJlYmluZCB0aGluZ3MsCiAlIGluY2x1ZGluZyB0aGUgZGVmaW5pdGlvbiBvZiBAZW5kIGxpc3AgKHdoaWNoIG5vcm1hbGx5IGlzIGVycm9uZW91cykuCiAKICUgQW1vdW50IHRvIG5hcnJvdyB0aGUgbWFyZ2lucyBieSBmb3IgQGxpc3AuCkBAIC00NDM5LDE5ICs1OTUwLDYgQEAKICUgaGF2ZSBhbnkgd2lkdGguCiBcZGVmXGxpc3BwYXJ7XG51bGxcZW5kZ3JhZn0KIAotJSBNYWtlIGVhY2ggc3BhY2UgY2hhcmFjdGVyIGluIHRoZSBpbnB1dCBwcm9kdWNlIGEgbm9ybWFsIGludGVyd29yZAotJSBzcGFjZSBpbiB0aGUgb3V0cHV0LiAgRG9uJ3QgYWxsb3cgYSBsaW5lIGJyZWFrIGF0IHRoaXMgc3BhY2UsIGFzIHRoaXMKLSUgaXMgdXNlZCBvbmx5IGluIGVudmlyb25tZW50cyBsaWtlIEBleGFtcGxlLCB3aGVyZSBlYWNoIGxpbmUgb2YgaW5wdXQKLSUgc2hvdWxkIHByb2R1Y2UgYSBsaW5lIG9mIG91dHB1dCBhbnl3YXkuCi0lCi17XG9iZXlzcGFjZXMgJQotXGdkZWZcc2Vwc3BhY2Vze1xvYmV5c3BhY2VzXGxldCA9XHRpZX19Ci0KLSUgRGVmaW5lIFxvYmV5ZWRzcGFjZSB0byBiZSBvdXIgYWN0aXZlIHNwYWNlLCB3aGF0ZXZlciBpdCBpcy4gIFRoaXMgaXMKLSUgZm9yIHVzZSBpbiBccGFyc2VhcmcuCi17XHNlcHNwYWNlcyUKLVxnbG9iYWxcbGV0XG9iZXllZHNwYWNlPSB9Ci0KICUgVGhpcyBzcGFjZSBpcyBhbHdheXMgcHJlc2VudCBhYm92ZSBhbmQgYmVsb3cgZW52aXJvbm1lbnRzLgogXG5ld3NraXBcZW52c2tpcGFtb3VudCBcZW52c2tpcGFtb3VudCA9IDBwdAogCkBAIC00NDYxLDcgKzU5NTksOCBAQAogJSBzdGFydCBvZiB0aGUgbmV4dCBwYXJhZ3JhcGggd2lsbCBpbnNlcnQgXHBhcnNraXAuCiAlCiBcZGVmXGFib3ZlZW52YnJlYWt7eyUKLSAgJSA9MTAwMDAgaW5zdGVhZCBvZiA8MTAwMDAgYmVjYXVzZSBvZiBhIHNwZWNpYWwgY2FzZSBpbiBcaXRlbXp6eiwgcS52LgorICAlID0xMDAwMCBpbnN0ZWFkIG9mIDwxMDAwMCBiZWNhdXNlIG9mIGEgc3BlY2lhbCBjYXNlIGluIFxpdGVtenp6IGFuZAorICAlIFxzZWN0aW9uaGVhZGluZywgcS52LgogICBcaWZudW0gXGxhc3RwZW5hbHR5PTEwMDAwIFxlbHNlCiAgICAgXGFkdmFuY2VcZW52c2tpcGFtb3VudCBieSBccGFyc2tpcAogICAgIFxlbmRncmFmCkBAIC00NDY5LDcgKzU5NjgsNyBAQAogICAgICAgXHJlbW92ZWxhc3Rza2lwCiAgICAgICAlIGl0J3Mgbm90IGEgZ29vZCBwbGFjZSB0byBicmVhayBpZiB0aGUgbGFzdCBwZW5hbHR5IHdhcyBcbm9icmVhawogICAgICAgJSBvciBiZXR0ZXIgLi4uCi0gICAgICBcaWZudW1cbGFzdHBlbmFsdHk+MTAwMDAgXGVsc2UgXHBlbmFsdHktNTAgXGZpCisgICAgICBcaWZudW1cbGFzdHBlbmFsdHk8MTAwMDAgXHBlbmFsdHktNTAgXGZpCiAgICAgICBcdnNraXBcZW52c2tpcGFtb3VudAogICAgIFxmaQogICBcZmkKQEAgLTQ0NzcsNyArNTk3Niw4IEBACiAKIFxsZXRcYWZ0ZXJlbnZicmVhayA9IFxhYm92ZWVudmJyZWFrCiAKLSUgXG5vbmFycm93aW5nIGlzIGEgZmxhZy4gIElmICJzZXQiLCBAbGlzcCBldGMgZG9uJ3QgbmFycm93IG1hcmdpbnMuCislIFxub25hcnJvd2luZyBpcyBhIGZsYWcuICBJZiAic2V0IiwgQGxpc3AgZXRjIGRvbid0IG5hcnJvdyBtYXJnaW5zOyBpdCB3aWxsCislIGFsc28gY2xlYXIgaXQsIHNvIHRoYXQgaXRzIGVtYmVkZGVkIGVudmlyb25tZW50cyBkbyB0aGUgbmFycm93aW5nIGFnYWluLgogXGxldFxub25hcnJvd2luZz1ccmVsYXgKIAogJSBAY2FydG91Y2hlIC4uLiBAZW5kIGNhcnRvdWNoZTogZHJhdyByZWN0YW5nbGUgdy9yb3VuZGVkIGNvcm5lcnMgYXJvdW5kCkBAIC00NTAxLDE3NCArNjAwMSwyNTYgQEAKICUKIFxuZXdza2lwXGxza2lwXG5ld3NraXBccnNraXAKIAotXGRlZlxjYXJ0b3VjaGV7JQotXHBhciAgJSBjYW4ndCBiZSBpbiB0aGUgbWlkc3Qgb2YgYSBwYXJhZ3JhcGguCi1cYmVnaW5ncm91cAotICAgICAgICBcbHNraXA9XGxlZnRza2lwIFxyc2tpcD1ccmlnaHRza2lwCi0gICAgICAgIFxsZWZ0c2tpcD0wcHRccmlnaHRza2lwPTBwdCAld2Ugd2FudCB0aGVzZSAqb3V0c2lkZSouCi0gICAgICAgIFxjYXJ0aW5uZXI9XGhzaXplIFxhZHZhbmNlXGNhcnRpbm5lciBieS1cbHNraXAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgXGFkdmFuY2VcY2FydGlubmVyIGJ5LVxyc2tpcAotICAgICAgICBcY2FydG91dGVyPVxoc2l6ZQotICAgICAgICBcYWR2YW5jZVxjYXJ0b3V0ZXIgYnkgMTguNHB0ICUgYWxsb3cgZm9yIDNwdCBrZXJucyBvbiBlaXRoZXIKLSUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWRlLCBhbmQgZm9yIDZwdCB3YXN0ZSBmcm9tCi0lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFjaCBjb3JuZXIgY2hhciwgYW5kIHJ1bGUgdGhpY2tuZXNzCi0gICAgICAgIFxub3JtYnNraXA9XGJhc2VsaW5lc2tpcCBcbm9ybXBza2lwPVxwYXJza2lwIFxub3JtbHNraXA9XGxpbmVza2lwCi0gICAgICAgICUgRmxhZyB0byB0ZWxsIEBsaXNwLCBldGMuLCBub3QgdG8gbmFycm93IG1hcmdpbi4KLSAgICAgICAgXGxldFxub25hcnJvd2luZz1cY29tbWVudAotICAgICAgICBcdmJveFxiZ3JvdXAKLSAgICAgICAgICAgICAgICBcYmFzZWxpbmVza2lwPTBwdFxwYXJza2lwPTBwdFxsaW5lc2tpcD0wcHQKLSAgICAgICAgICAgICAgICBcY2FydHRvcAotICAgICAgICAgICAgICAgIFxoYm94XGJncm91cAotICAgICAgICAgICAgICAgICAgICAgICAgXGhza2lwXGxza2lwCi0gICAgICAgICAgICAgICAgICAgICAgICBcdnJ1bGVca2VybjNwdAotICAgICAgICAgICAgICAgICAgICAgICAgXHZib3hcYmdyb3VwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxoc2l6ZT1cY2FydGlubmVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxrZXJuM3B0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxiZWdpbmdyb3VwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXGJhc2VsaW5lc2tpcD1cbm9ybWJza2lwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXGxpbmVza2lwPVxub3JtbHNraXAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBccGFyc2tpcD1cbm9ybXBza2lwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHZza2lwIC1ccGFyc2tpcAorXGVudmRlZlxjYXJ0b3VjaGV7JQorICBcaWZobW9kZVxwYXJcZmkgICUgY2FuJ3QgYmUgaW4gdGhlIG1pZHN0IG9mIGEgcGFyYWdyYXBoLgorICBcc3RhcnRzYXZpbmdpbnNlcnRzCisgIFxsc2tpcD1cbGVmdHNraXAgXHJza2lwPVxyaWdodHNraXAKKyAgXGxlZnRza2lwPTBwdFxyaWdodHNraXA9MHB0ICUgd2Ugd2FudCB0aGVzZSAqb3V0c2lkZSouCisgIFxjYXJ0aW5uZXI9XGhzaXplIFxhZHZhbmNlXGNhcnRpbm5lciBieS1cbHNraXAKKyAgXGFkdmFuY2VcY2FydGlubmVyIGJ5LVxyc2tpcAorICBcY2FydG91dGVyPVxoc2l6ZQorICBcYWR2YW5jZVxjYXJ0b3V0ZXIgYnkgMTguNHB0CSUgYWxsb3cgZm9yIDNwdCBrZXJucyBvbiBlaXRoZXIKKwkJCQklIHNpZGUsIGFuZCBmb3IgNnB0IHdhc3RlIGZyb20KKwkJCQklIGVhY2ggY29ybmVyIGNoYXIsIGFuZCBydWxlIHRoaWNrbmVzcworICBcbm9ybWJza2lwPVxiYXNlbGluZXNraXAgXG5vcm1wc2tpcD1ccGFyc2tpcCBcbm9ybWxza2lwPVxsaW5lc2tpcAorICAlIEZsYWcgdG8gdGVsbCBAbGlzcCwgZXRjLiwgbm90IHRvIG5hcnJvdyBtYXJnaW4uCisgIFxsZXRcbm9uYXJyb3dpbmcgPSB0JQorICBcdmJveFxiZ3JvdXAKKyAgICAgIFxiYXNlbGluZXNraXA9MHB0XHBhcnNraXA9MHB0XGxpbmVza2lwPTBwdAorICAgICAgXGNhcnR0b3AKKyAgICAgIFxoYm94XGJncm91cAorCSAgXGhza2lwXGxza2lwCisJICBcdnJ1bGVca2VybjNwdAorCSAgXHZib3hcYmdyb3VwCisJICAgICAgXGtlcm4zcHQKKwkgICAgICBcaHNpemU9XGNhcnRpbm5lcgorCSAgICAgIFxiYXNlbGluZXNraXA9XG5vcm1ic2tpcAorCSAgICAgIFxsaW5lc2tpcD1cbm9ybWxza2lwCisJICAgICAgXHBhcnNraXA9XG5vcm1wc2tpcAorCSAgICAgIFx2c2tpcCAtXHBhcnNraXAKKwkgICAgICBcY29tbWVudCAlIEZvciBleHBsYW5hdGlvbiwgc2VlIHRoZSBlbmQgb2YgXGRlZlxncm91cC4KK30KIFxkZWZcRWNhcnRvdWNoZXslCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxlbmRncm91cAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBca2VybjNwdAotICAgICAgICAgICAgICAgICAgICAgICAgXGVncm91cAotICAgICAgICAgICAgICAgICAgICAgICAgXGtlcm4zcHRcdnJ1bGUKLSAgICAgICAgICAgICAgICAgICAgICAgIFxoc2tpcFxyc2tpcAotICAgICAgICAgICAgICAgIFxlZ3JvdXAKLSAgICAgICAgICAgICAgICBcY2FydGJvdAotICAgICAgICBcZWdyb3VwCi1cZW5kZ3JvdXAKLX19CisgICAgICAgICAgICAgIFxpZmhtb2RlXHBhclxmaQorCSAgICAgIFxrZXJuM3B0CisJICBcZWdyb3VwCisJICBca2VybjNwdFx2cnVsZQorCSAgXGhza2lwXHJza2lwCisgICAgICBcZWdyb3VwCisgICAgICBcY2FydGJvdAorICBcZWdyb3VwCisgIFxjaGVja2luc2VydHMKK30KIAogCiAlIFRoaXMgbWFjcm8gaXMgY2FsbGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgYWxsIHRoZSBAZXhhbXBsZSB2YXJpYW50cywKICUgaW5zaWRlIGEgZ3JvdXAuCitcbmV3ZGltZW5cbm9uZmlsbHBhcmluZGVudAogXGRlZlxub25maWxsc3RhcnR7JQogICBcYWJvdmVlbnZicmVhawotICBcaW5FTlYgJSBUaGlzIGdyb3VwIGVuZHMgYXQgdGhlIGVuZCBvZiB0aGUgYm9keQogICBcaGZ1enogPSAxMnB0ICUgRG9uJ3QgYmUgZnVzc3kKICAgXHNlcHNwYWNlcyAlIE1ha2Ugc3BhY2VzIGJlIHdvcmQtc2VwYXJhdG9ycyByYXRoZXIgdGhhbiBzcGFjZSB0b2tlbnMuCiAgIFxsZXRccGFyID0gXGxpc3BwYXIgJSBkb24ndCBpZ25vcmUgYmxhbmsgbGluZXMKICAgXG9iZXlsaW5lcyAlIGVhY2ggbGluZSBvZiBpbnB1dCBpcyBhIGxpbmUgb2Ygb3V0cHV0CiAgIFxwYXJza2lwID0gMHB0CisgICUgVHVybiBvZmYgcGFyYWdyYXBoIGluZGVudGF0aW9uIGJ1dCByZWRlZmluZSBcaW5kZW50IHRvIGVtdWxhdGUKKyAgJSB0aGUgbm9ybWFsIFxpbmRlbnQuCisgIFxub25maWxscGFyaW5kZW50PVxwYXJpbmRlbnQKICAgXHBhcmluZGVudCA9IDBwdAorICBcbGV0XGluZGVudFxub25maWxsaW5kZW50CisgICUKICAgXGVtZXJnZW5jeXN0cmV0Y2ggPSAwcHQgJSBkb24ndCB0cnkgdG8gYXZvaWQgb3ZlcmZ1bGwgYm94ZXMKLSAgJSBAY2FydG91Y2hlIGRlZmluZXMgXG5vbmFycm93aW5nIHRvIGluaGliaXQgbmFycm93aW5nCi0gICUgYXQgbmV4dCBsZXZlbCBkb3duLgogICBcaWZ4XG5vbmFycm93aW5nXHJlbGF4CiAgICAgXGFkdmFuY2UgXGxlZnRza2lwIGJ5IFxsaXNwbmFycm93aW5nCiAgICAgXGV4ZGVudGFtb3VudD1cbGlzcG5hcnJvd2luZwotICAgIFxsZXRcZXhkZW50PVxub2ZpbGxleGRlbnQKLSAgICBcbGV0XG5vbmFycm93aW5nPVxyZWxheAorICBcZWxzZQorICAgIFxsZXRcbm9uYXJyb3dpbmcgPSBccmVsYXgKKyAgXGZpCisgIFxsZXRcZXhkZW50PVxub2ZpbGxleGRlbnQKK30KKworXGJlZ2luZ3JvdXAKK1xvYmV5c3BhY2VzCislIFdlIHdhbnQgdG8gc3dhbGxvdyBzcGFjZXMgKGJ1dCBub3Qgb3RoZXIgdG9rZW5zKSBhZnRlciB0aGUgZmFrZQorJSBAaW5kZW50IGluIG91ciBub25maWxsLWVudmlyb25tZW50cywgd2hlcmUgc3BhY2VzIGFyZSBub3JtYWxseQorJSBhY3RpdmUgYW5kIHNldCB0byBAdGllLCByZXN1bHRpbmcgaW4gdGhlbSBub3QgYmVpbmcgaWdub3JlZCBhZnRlcgorJSBAaW5kZW50LgorXGdkZWZcbm9uZmlsbGluZGVudHtcZnV0dXJlbGV0XHRlbXBcbm9uZmlsbGluZGVudGNoZWNrfSUKK1xnZGVmXG5vbmZpbGxpbmRlbnRjaGVja3slCitcaWZ4XHRlbXAgJQorXGV4cGFuZGFmdGVyXG5vbmZpbGxpbmRlbnRnb2JibGUlCitcZWxzZSUKK1xsZWF2ZXZtb2RlXG5vbmZpbGxpbmRlbnRib3glCitcZmklCit9JQorXGVuZGdyb3VwCitcZGVmXG5vbmZpbGxpbmRlbnRnb2JibGUjMXtcbm9uZmlsbGluZGVudH0KK1xkZWZcbm9uZmlsbGluZGVudGJveHtcaGJveCB0byBcbm9uZmlsbHBhcmluZGVudHtcaHNzfX0KKworJSBJZiB5b3Ugd2FudCBhbGwgZXhhbXBsZXMgZXRjLiBzbWFsbDogQHNldCBkaXNwZW52c2l6ZSBzbWFsbC4KKyUgSWYgeW91IHdhbnQgZXZlbiBzbWFsbCBleGFtcGxlcyB0aGUgZnVsbCBzaXplOiBAc2V0IGRpc3BlbnZzaXplIG5vc21hbGwuCislIFRoaXMgYWZmZWN0cyB0aGUgZm9sbG93aW5nIGRpc3BsYXllZCBlbnZpcm9ubWVudHM6CislICAgIEBleGFtcGxlLCBAZGlzcGxheSwgQGZvcm1hdCwgQGxpc3AKKyUKK1xkZWZcc21hbGx3b3Jke3NtYWxsfQorXGRlZlxub3NtYWxsd29yZHtub3NtYWxsfQorXGxldFxTRVRkaXNwZW52c2l6ZVxyZWxheAorXGRlZlxzZXRub3JtYWxkaXNwZW52eyUKKyAgXGlmeFxTRVRkaXNwZW52c2l6ZVxzbWFsbHdvcmQKKyAgICAlIGVuZCBwYXJhZ3JhcGggZm9yIHNha2Ugb2YgbGVhZGluZywgaW4gY2FzZSBkb2N1bWVudCBoYXMgbm8gYmxhbmsKKyAgICAlIGxpbmUuICBUaGlzIGlzIHJlZHVuZGFudCB3aXRoIHdoYXQgaGFwcGVucyBpbiBcYWJvdmVlbnZicmVhaywgYnV0CisgICAgJSB3ZSBuZWVkIHRvIGRvIGl0IGJlZm9yZSBjaGFuZ2luZyB0aGUgZm9udHMsIGFuZCBpdCdzIGluY29udmVuaWVudAorICAgICUgdG8gY2hhbmdlIHRoZSBmb250cyBhZnRlcndhcmQuCisgICAgXGlmbnVtIFxsYXN0cGVuYWx0eT0xMDAwMCBcZWxzZSBcZW5kZ3JhZiBcZmkKKyAgICBcc21hbGxleGFtcGxlZm9udHMgXHJtCisgIFxmaQorfQorXGRlZlxzZXRzbWFsbGRpc3BlbnZ7JQorICBcaWZ4XFNFVGRpc3BlbnZzaXplXG5vc21hbGx3b3JkCisgIFxlbHNlCisgICAgXGlmbnVtIFxsYXN0cGVuYWx0eT0xMDAwMCBcZWxzZSBcZW5kZ3JhZiBcZmkKKyAgICBcc21hbGxleGFtcGxlZm9udHMgXHJtCiAgIFxmaQogfQogCi0lIERlZmluZSB0aGUgXEUuLi4gY29udHJvbCBzZXF1ZW5jZSBvbmx5IGlmIHdlIGFyZSBpbnNpZGUgdGhlIHBhcnRpY3VsYXIKLSUgZW52aXJvbm1lbnQsIHNvIHRoZSBlcnJvciBjaGVja2luZyBpbiBcZW5kIHdpbGwgd29yay4KLSUKLSUgVG8gZW5kIGFuIEBleGFtcGxlLWxpa2UgZW52aXJvbm1lbnQsIHdlIGZpcnN0IGVuZCB0aGUgcGFyYWdyYXBoICh2aWEKLSUgXGFmdGVyZW52YnJlYWsncyB2ZXJ0aWNhbCBnbHVlKSwgYW5kIHRoZW4gdGhlIGdyb3VwLiAgVGhhdCB3YXkgd2Uga2VlcAotJSB0aGUgemVybyBccGFyc2tpcCB0aGF0IHRoZSBlbnZpcm9ubWVudHMgc2V0IC0tIFxwYXJza2lwIGdsdWUgd2lsbCBiZQotJSBpbnNlcnRlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBuZXh0IHBhcmFncmFwaCBpbiB0aGUgZG9jdW1lbnQsIGFmdGVyCi0lIHRoZSBlbnZpcm9ubWVudC4KLSUKLVxkZWZcbm9uZmlsbGZpbmlzaHtcYWZ0ZXJlbnZicmVha1xlbmRncm91cH0KKyUgV2Ugb2Z0ZW4gZGVmaW5lIHR3byBlbnZpcm9ubWVudHMsIEBmb28gYW5kIEBzbWFsbGZvby4KKyUgTGV0J3MgZG8gaXQgYnkgb25lIGNvbW1hbmQ6CitcZGVmXG1ha2VkaXNwZW52ICMxIzJ7CisgIFxleHBhbmRhZnRlclxlbnZkZWZcY3NuYW1lIzFcZW5kY3NuYW1lIHtcc2V0bm9ybWFsZGlzcGVudiAjMn0KKyAgXGV4cGFuZGFmdGVyXGVudmRlZlxjc25hbWUgc21hbGwjMVxlbmRjc25hbWUge1xzZXRzbWFsbGRpc3BlbnYgIzJ9CisgIFxleHBhbmRhZnRlclxsZXRcY3NuYW1lIEUjMVxlbmRjc25hbWUgXGFmdGVyZW52YnJlYWsKKyAgXGV4cGFuZGFmdGVyXGxldFxjc25hbWUgRXNtYWxsIzFcZW5kY3NuYW1lIFxhZnRlcmVudmJyZWFrCit9CiAKLSUgQGxpc3A6IGluZGVudGVkLCBuYXJyb3dlZCwgdHlwZXdyaXRlciBmb250LgotXGRlZlxsaXNwe1xiZWdpbmdyb3VwCislIERlZmluZSB0d28gc3lub255bXM6CitcZGVmXG1ha2V0d29kaXNwZW52cyAjMSMyIzN7CisgIFxtYWtlZGlzcGVudnsjMX17IzN9CisgIFxtYWtlZGlzcGVudnsjMn17IzN9Cit9CisKKyUgQGxpc3A6IGluZGVudGVkLCBuYXJyb3dlZCwgdHlwZXdyaXRlciBmb250OyBAZXhhbXBsZTogc2FtZSBhcyBAbGlzcC4KKyUKKyUgQHNtYWxsZXhhbXBsZSBhbmQgQHNtYWxsbGlzcDogdXNlIHNtYWxsZXIgZm9udHMuCislIE9yaWdpbmFsbHkgY29udHJpYnV0ZWQgYnkgUGF2ZWxAeGVyb3guCislCitcbWFrZXR3b2Rpc3BlbnZzIHtsaXNwfXtleGFtcGxlfXslCiAgIFxub25maWxsc3RhcnQKLSAgXGxldFxFbGlzcCA9IFxub25maWxsZmluaXNoCi0gIFx0dAorICBcdHRcc2V0dXBtYXJrdXBzdHlsZXtleGFtcGxlfSUKICAgXGxldFxrYmRmb250ID0gXGtiZGV4YW1wbGVmb250ICUgQWxsb3cgQGtiZCB0byBkbyBzb21ldGhpbmcgc3BlY2lhbC4KICAgXGdvYmJsZSAgICAgICAlIGVhdCByZXR1cm4KIH0KLQotJSBAZXhhbXBsZTogU2FtZSBhcyBAbGlzcC4KLVxkZWZcZXhhbXBsZXtcYmVnaW5ncm91cCBcZGVmXEVleGFtcGxle1xub25maWxsZmluaXNoXGVuZGdyb3VwfVxsaXNwfQotCi0lIEBzbWFsbGV4YW1wbGUgYW5kIEBzbWFsbGxpc3A6IHVzZSBzbWFsbGVyIGZvbnRzLgotJSBPcmlnaW5hbGx5IGNvbnRyaWJ1dGVkIGJ5IFBhdmVsQHhlcm94LgotXGRlZlxzbWFsbGxpc3B7XGJlZ2luZ3JvdXAKLSAgXGRlZlxFc21hbGxsaXNwe1xub25maWxsZmluaXNoXGVuZGdyb3VwfSUKLSAgXGRlZlxFc21hbGxleGFtcGxle1xub25maWxsZmluaXNoXGVuZGdyb3VwfSUKLSAgXHNtYWxsZXhhbXBsZWZvbnRzCi0gIFxsaXNwCi19Ci1cbGV0XHNtYWxsZXhhbXBsZSA9IFxzbWFsbGxpc3AKLQotCi0lIEBkaXNwbGF5OiBzYW1lIGFzIEBsaXNwIGV4Y2VwdCBrZWVwIGN1cnJlbnQgZm9udC4KKyUgQGRpc3BsYXkvQHNtYWxsZGlzcGxheTogc2FtZSBhcyBAbGlzcCBleGNlcHQga2VlcCBjdXJyZW50IGZvbnQuCiAlCi1cZGVmXGRpc3BsYXl7XGJlZ2luZ3JvdXAKK1xtYWtlZGlzcGVudiB7ZGlzcGxheX17JQogICBcbm9uZmlsbHN0YXJ0Ci0gIFxsZXRcRWRpc3BsYXkgPSBcbm9uZmlsbGZpbmlzaAogICBcZ29iYmxlCiB9Ci0lCi0lIEBzbWFsbGRpc3BsYXk6IEBkaXNwbGF5IHBsdXMgc21hbGxlciBmb250cy4KLSUKLVxkZWZcc21hbGxkaXNwbGF5e1xiZWdpbmdyb3VwCi0gIFxkZWZcRXNtYWxsZGlzcGxheXtcbm9uZmlsbGZpbmlzaFxlbmRncm91cH0lCi0gIFxzbWFsbGV4YW1wbGVmb250cyBccm0KLSAgXGRpc3BsYXkKLX0KIAotJSBAZm9ybWF0OiBzYW1lIGFzIEBkaXNwbGF5IGV4Y2VwdCBkb24ndCBuYXJyb3cgbWFyZ2lucy4KKyUgQGZvcm1hdC9Ac21hbGxmb3JtYXQ6IHNhbWUgYXMgQGRpc3BsYXkgZXhjZXB0IGRvbid0IG5hcnJvdyBtYXJnaW5zLgogJQotXGRlZlxmb3JtYXR7XGJlZ2luZ3JvdXAKLSAgXGxldFxub25hcnJvd2luZyA9IHQKK1xtYWtlZGlzcGVudntmb3JtYXR9eyUKKyAgXGxldFxub25hcnJvd2luZyA9IHQlCiAgIFxub25maWxsc3RhcnQKLSAgXGxldFxFZm9ybWF0ID0gXG5vbmZpbGxmaW5pc2gKICAgXGdvYmJsZQogfQotJQotJSBAc21hbGxmb3JtYXQ6IEBmb3JtYXQgcGx1cyBzbWFsbGVyIGZvbnRzLgotJQotXGRlZlxzbWFsbGZvcm1hdHtcYmVnaW5ncm91cAotICBcZGVmXEVzbWFsbGZvcm1hdHtcbm9uZmlsbGZpbmlzaFxlbmRncm91cH0lCi0gIFxzbWFsbGV4YW1wbGVmb250cyBccm0KLSAgXGZvcm1hdAotfQogCi0lIEBmbHVzaGxlZnQgKHNhbWUgYXMgQGZvcm1hdCkuCi0lCi1cZGVmXGZsdXNobGVmdHtcYmVnaW5ncm91cCBcZGVmXEVmbHVzaGxlZnR7XG5vbmZpbGxmaW5pc2hcZW5kZ3JvdXB9XGZvcm1hdH0KKyUgQGZsdXNobGVmdDogc2FtZSBhcyBAZm9ybWF0LCBidXQgZG9lc24ndCBvYmV5IFxTRVRkaXNwZW52c2l6ZS4KK1xlbnZkZWZcZmx1c2hsZWZ0eyUKKyAgXGxldFxub25hcnJvd2luZyA9IHQlCisgIFxub25maWxsc3RhcnQKKyAgXGdvYmJsZQorfQorXGxldFxFZmx1c2hsZWZ0ID0gXGFmdGVyZW52YnJlYWsKIAogJSBAZmx1c2hyaWdodC4KICUKLVxkZWZcZmx1c2hyaWdodHtcYmVnaW5ncm91cAotICBcbGV0XG5vbmFycm93aW5nID0gdAorXGVudmRlZlxmbHVzaHJpZ2h0eyUKKyAgXGxldFxub25hcnJvd2luZyA9IHQlCiAgIFxub25maWxsc3RhcnQKLSAgXGxldFxFZmx1c2hyaWdodCA9IFxub25maWxsZmluaXNoCiAgIFxhZHZhbmNlXGxlZnRza2lwIGJ5IDBwdCBwbHVzIDFmaWxsCiAgIFxnb2JibGUKIH0KK1xsZXRcRWZsdXNocmlnaHQgPSBcYWZ0ZXJlbnZicmVhaworCisKKyUgQHJhZ2dlZHJpZ2h0IGRvZXMgbW9yZS1vci1sZXNzIG5vcm1hbCBsaW5lIGJyZWFraW5nIGJ1dCBubyByaWdodAorJSBqdXN0aWZpY2F0aW9uLiAgRnJvbSBwbGFpbi50ZXguCitcZW52ZGVmXHJhZ2dlZHJpZ2h0eyUKKyAgXHJpZ2h0c2tpcDBwdCBwbHVzMmVtIFxzcGFjZXNraXAuMzMzM2VtIFx4c3BhY2Vza2lwLjVlbVxyZWxheAorfQorXGxldFxFcmFnZ2VkcmlnaHRccGFyCisKK1xlbnZkZWZccmFnZ2VkbGVmdHslCisgIFxwYXJpbmRlbnQ9MHB0IFxsZWZ0c2tpcDBwdCBwbHVzMmVtCisgIFxzcGFjZXNraXAuMzMzM2VtIFx4c3BhY2Vza2lwLjVlbSBccGFyZmlsbHNraXA9MHB0CisgIFxoYmFkbmVzcz0xMDAwMCAlIExhc3QgbGluZSB3aWxsIHVzdWFsbHkgYmUgdW5kZXJmdWxsLCBzbyB0dXJuIG9mZgorICAgICAgICAgICAgICAgICAgJSBiYWRuZXNzIHJlcG9ydGluZy4KK30KK1xsZXRcRXJhZ2dlZGxlZnRccGFyCisKK1xlbnZkZWZccmFnZ2VkY2VudGVyeyUKKyAgXHBhcmluZGVudD0wcHQgXHJpZ2h0c2tpcDBwdCBwbHVzMWVtIFxsZWZ0c2tpcDBwdCBwbHVzMWVtCisgIFxzcGFjZXNraXAuMzMzM2VtIFx4c3BhY2Vza2lwLjVlbSBccGFyZmlsbHNraXA9MHB0CisgIFxoYmFkbmVzcz0xMDAwMCAlIExhc3QgbGluZSB3aWxsIHVzdWFsbHkgYmUgdW5kZXJmdWxsLCBzbyB0dXJuIG9mZgorICAgICAgICAgICAgICAgICAgJSBiYWRuZXNzIHJlcG9ydGluZy4KK30KK1xsZXRcRXJhZ2dlZGNlbnRlclxwYXIKIAogCiAlIEBxdW90YXRpb24gZG9lcyBub3JtYWwgbGluZWJyZWFraW5nIChoZW5jZSB3ZSBjYW4ndCB1c2UgXG5vbmZpbGxzdGFydCkKLSUgYW5kIG5hcnJvd3MgdGhlIG1hcmdpbnMuCislIGFuZCBuYXJyb3dzIHRoZSBtYXJnaW5zLiAgV2Uga2VlcCBccGFyc2tpcCBub256ZXJvIGluIGdlbmVyYWwsIHNpbmNlCislIHdlJ3JlIGRvaW5nIG5vcm1hbCBmaWxsaW5nLiAgU28sIHdoZW4gdXNpbmcgXGFib3ZlZW52YnJlYWsgYW5kCislIFxhZnRlcmVudmJyZWFrLCB0ZW1wb3JhcmlseSBtYWtlIFxwYXJza2lwIDAuCiAlCi1cZGVmXHF1b3RhdGlvbnslCi0gIFxiZWdpbmdyb3VwXGluRU5WICVUaGlzIGdyb3VwIGVuZHMgYXQgdGhlIGVuZCBvZiB0aGUgQHF1b3RhdGlvbiBib2R5CitcZGVmXHF1b3RhdGlvbnN0YXJ0eyUKICAge1xwYXJza2lwPTBwdCBcYWJvdmVlbnZicmVha30lIGJlY2F1c2UgXGFib3ZlZW52YnJlYWsgaW5zZXJ0cyBccGFyc2tpcAogICBccGFyaW5kZW50PTBwdAotICAlIFdlIGhhdmUgcmV0YWluZWQgYSBub256ZXJvIHBhcnNraXAgZm9yIHRoZSBlbnZpcm9ubWVudCwgc2luY2Ugd2UncmUKLSAgJSBkb2luZyBub3JtYWwgZmlsbGluZy4gU28gdG8gYXZvaWQgZXh0cmEgc3BhY2UgYmVsb3cgdGhlIGVudmlyb25tZW50Li4uCi0gIFxkZWZcRXF1b3RhdGlvbntccGFyc2tpcCA9IDBwdCBcbm9uZmlsbGZpbmlzaH0lCiAgICUKICAgJSBAY2FydG91Y2hlIGRlZmluZXMgXG5vbmFycm93aW5nIHRvIGluaGliaXQgbmFycm93aW5nIGF0IG5leHQgbGV2ZWwgZG93bi4KICAgXGlmeFxub25hcnJvd2luZ1xyZWxheAogICAgIFxhZHZhbmNlXGxlZnRza2lwIGJ5IFxsaXNwbmFycm93aW5nCiAgICAgXGFkdmFuY2VccmlnaHRza2lwIGJ5IFxsaXNwbmFycm93aW5nCiAgICAgXGV4ZGVudGFtb3VudCA9IFxsaXNwbmFycm93aW5nCisgIFxlbHNlCiAgICAgXGxldFxub25hcnJvd2luZyA9IFxyZWxheAogICBcZmkKKyAgXHBhcnNlYXJnXHF1b3RhdGlvbmxhYmVsCit9CisKK1xlbnZkZWZccXVvdGF0aW9ueyUKKyAgXHNldG5vcm1hbGRpc3BlbnYKKyAgXHF1b3RhdGlvbnN0YXJ0Cit9CisKK1xlbnZkZWZcc21hbGxxdW90YXRpb257JQorICBcc2V0c21hbGxkaXNwZW52CisgIFxxdW90YXRpb25zdGFydAorfQorXGxldFxFc21hbGxxdW90YXRpb24gPSBcRXF1b3RhdGlvbgorCislIFdlIGhhdmUgcmV0YWluZWQgYSBub256ZXJvIHBhcnNraXAgZm9yIHRoZSBlbnZpcm9ubWVudCwgc2luY2Ugd2UncmUKKyUgZG9pbmcgbm9ybWFsIGZpbGxpbmcuCislCitcZGVmXEVxdW90YXRpb257JQorICBccGFyCisgIFxpZnhccXVvdGF0aW9uYXV0aG9yXHVuZGVmaW5lZFxlbHNlCisgICAgJSBpbmRlbnQgYSBiaXQuCisgICAgXGxlZnRsaW5le1xrZXJuIDJcbGVmdHNraXAgXHNsIC0tLVxxdW90YXRpb25hdXRob3J9JQorICBcZmkKKyAge1xwYXJza2lwPTBwdCBcYWZ0ZXJlbnZicmVha30lCit9CisKKyUgSWYgd2UncmUgZ2l2ZW4gYW4gYXJndW1lbnQsIHR5cGVzZXQgaXQgaW4gYm9sZCB3aXRoIGEgY29sb24gYWZ0ZXIuCitcZGVmXHF1b3RhdGlvbmxhYmVsIzF7JQorICBcZGVmXHRlbXB7IzF9JQorICBcaWZ4XHRlbXBcZW1wdHkgXGVsc2UKKyAgICB7XGJmICMxOiB9JQorICBcZmkKIH0KIAogCiAlIExhVGVYLWxpa2UgQHZlcmJhdGltLi4uQGVuZCB2ZXJiYXRpbSBhbmQgQHZlcmJ7PGNoYXI+Li4uPGNoYXI+fQotJSBJZiB3ZSB3YW50IHRvIGFsbG93IGFueSA8Y2hhcj4gYXMgZGVsaW1pdGVyLCAKKyUgSWYgd2Ugd2FudCB0byBhbGxvdyBhbnkgPGNoYXI+IGFzIGRlbGltaXRlciwKICUgd2UgbmVlZCB0aGUgY3VybHkgYnJhY2VzIHNvIHRoYXQgbWFrZWluZm8gc2VlcyB0aGUgQHZlcmIgY29tbWFuZCwgZWc6CiAlIGBAdmVyYnguLi54JyB3b3VsZCBsb29rIGxpa2UgdGhlICdAdmVyYngnIGNvbW1hbmQuICAtLWphbm5la2VAZ251Lm9yZwogJQpAQCAtNDY4MSwxNyArNjI2MywxNSBAQAogICBcZG9cIFxkb1xcXGRvXHtcZG9cfVxkb1wkXGRvXCYlCiAgIFxkb1wjXGRvXF5cZG9cXl5LXGRvXF9cZG9cXl5BXGRvXCVcZG9cfiUKICAgXGRvXDxcZG9cPlxkb1x8XGRvXEBcZG8rXGRvXCIlCisgICUgRG9uJ3QgZG8gdGhlIHF1b3RlcyAtLSBpZiB3ZSBkbywgQHNldCB0eGljb2RlcXVvdGV1bmRpcmVjdGVkIGFuZAorICAlIEBzZXQgdHhpY29kZXF1b3RlYmFja3RpY2sgd2lsbCBub3QgaGF2ZSBlZmZlY3Qgb24gQHZlcmIgYW5kCisgICUgQHZlcmJhdGltLCBhbmQgP2AgYW5kICFgIGxpZ2F0dXJlcyB3b24ndCBnZXQgZGlzYWJsZWQuCisgICVcZG9cYFxkb1wnJQogfQogJQogJSBbS251dGhdIHAuIDM4MAogXGRlZlx1bmNhdGNvZGVzcGVjaWFsc3slCi0gIFxkZWZcZG8jIzF7XGNhdGNvZGVgIyMxPTEyfVxkb3NwZWNpYWxzfQotJQotJSBbS251dGhdIHBwLiAzODAsMzgxLDM5MQotJSBEaXNhYmxlIFNwYW5pc2ggbGlnYXR1cmVzID9gIGFuZCAhYCBvZiBcdHQgZm9udAotXGJlZ2luZ3JvdXAKLSAgXGNhdGNvZGVgXGA9XGFjdGl2ZVxnZGVmYHtccmVsYXhcbHF9Ci1cZW5kZ3JvdXAKKyAgXGRlZlxkbyMjMXtcY2F0Y29kZWAjIzE9XG90aGVyfVxkb3NwZWNpYWxzfQogJQogJSBTZXR1cCBmb3IgdGhlIEB2ZXJiIGNvbW1hbmQuCiAlCkBAIC00NzA0LDcgKzYyODQsNyBAQAogXGRlZlxzZXR1cHZlcmJ7JQogICBcdHQgICUgZWFzaWVzdCAoYW5kIGNvbnZlbnRpb25hbGx5IHVzZWQpIGZvbnQgZm9yIHZlcmJhdGltCiAgIFxkZWZccGFye1xsZWF2ZXZtb2RlXGVuZGdyYWZ9JQotICBcY2F0Y29kZWBcYD1cYWN0aXZlCisgIFxzZXR1cG1hcmt1cHN0eWxle3ZlcmJ9JQogICBcdGFiZWlnaHRzcGFjZXMKICAgJSBSZXNwZWN0IGxpbmUgYnJlYWtzLAogICAlIHByaW50IHNwZWNpYWwgc3ltYm9scyBhcyB0aGVtc2VsdmVzLCBhbmQKQEAgLTQ3MTksNiArNjI5OSw3IEBACiBcbmV3ZGltZW5cdGFidyBcc2V0Ym94MD1caGJveHtcdHRcc3BhY2V9IFx0YWJ3PThcd2QwICUgdGFiIGFtb3VudAogJQogXGRlZlxzdGFydHRhYmJveHtcc2V0Ym94MD1caGJveFxiZ3JvdXB9CislCiBcYmVnaW5ncm91cAogICBcY2F0Y29kZWBcXl5JPVxhY3RpdmUKICAgXGdkZWZcdGFiZXhwYW5keyUKQEAgLTQ3MzIsMTIgKzYzMTMsMTYgQEAKICAgICB9JQogICB9CiBcZW5kZ3JvdXAKKworJSBzdGFydCB0aGUgdmVyYmF0aW0gZW52aXJvbm1lbnQuCiBcZGVmXHNldHVwdmVyYmF0aW17JQorICBcbGV0XG5vbmFycm93aW5nID0gdCUKKyAgXG5vbmZpbGxzdGFydAogICAlIEVhc2llc3QgKGFuZCBjb252ZW50aW9uYWxseSB1c2VkKSBmb250IGZvciB2ZXJiYXRpbQogICBcdHQKICAgXGRlZlxwYXJ7XGxlYXZldm1vZGVcZWdyb3VwXGJveDBcZW5kZ3JhZn0lCi0gIFxjYXRjb2RlYFxgPVxhY3RpdmUKICAgXHRhYmV4cGFuZAorICBcc2V0dXBtYXJrdXBzdHlsZXt2ZXJiYXRpbX0lCiAgICUgUmVzcGVjdCBsaW5lIGJyZWFrcywKICAgJSBwcmludCBzcGVjaWFsIHN5bWJvbHMgYXMgdGhlbXNlbHZlcywgYW5kCiAgICUgbWFrZSBlYWNoIHNwYWNlIGNvdW50CkBAIC00NzQ2LDE1ICs2MzMxLDE1IEBACiAgIFxldmVyeXBhcntcc3RhcnR0YWJib3h9JQogfQogCi0lIERvIHRoZSBAdmVyYiBtYWdpYzogdmVyYmF0aW0gdGV4dCBpcyBxdW90ZWQgYnkgdW5pcXVlIAotJSBkZWxpbWl0ZXIgY2hhcmFjdGVycy4gIEJlZm9yZSBmaXJzdCBkZWxpbWl0ZXIgZXhwZWN0IGEgCislIERvIHRoZSBAdmVyYiBtYWdpYzogdmVyYmF0aW0gdGV4dCBpcyBxdW90ZWQgYnkgdW5pcXVlCislIGRlbGltaXRlciBjaGFyYWN0ZXJzLiAgQmVmb3JlIGZpcnN0IGRlbGltaXRlciBleHBlY3QgYQogJSByaWdodCBicmFjZSwgYWZ0ZXIgbGFzdCBkZWxpbWl0ZXIgZXhwZWN0IGNsb3NpbmcgYnJhY2U6CiAlCiAlICAgIFxkZWZcZG92ZXJiJ3snPGNoYXI+IzE8Y2hhcj4nfSd7IzF9CiAlCiAlIFtLbnV0aF0gcC4gMzgyOyBvbmx5IGVhdCBvdXRlciB7fQogXGJlZ2luZ3JvdXAKLSAgXGNhdGNvZGVgWz0xXGNhdGNvZGVgXT0yXGNhdGNvZGVgXHs9MTJcY2F0Y29kZWBcfT0xMgorICBcY2F0Y29kZWBbPTFcY2F0Y29kZWBdPTJcY2F0Y29kZWBcez1cb3RoZXJcY2F0Y29kZWBcfT1cb3RoZXIKICAgXGdkZWZcZG92ZXJieyMxW1xkZWZcbmV4dCMjMSMxfVsjIzFcZW5kZ3JvdXBdXG5leHRdCiBcZW5kZ3JvdXAKICUKQEAgLTQ3NjYsMTggKzYzNTEsMTEgQEAKICUKICUgICAgIFxkZWZcZG92ZXJiYXRpbSMxQGVuZCB2ZXJiYXRpbXsjMX0KICUKLSUgRm9yIFRleGluZm8gaXQncyBhIGxvdCBlYXNpZXIgdGhhbiBmb3IgTGFUZVgsIAorJSBGb3IgVGV4aW5mbyBpdCdzIGEgbG90IGVhc2llciB0aGFuIGZvciBMYVRlWCwKICUgYmVjYXVzZSB0ZXhpbmZvJ3MgXHZlcmJhdGltIGRvZXNuJ3Qgc3RvcCBhdCAnXGVuZHt2ZXJiYXRpbX0nOgogJSB3ZSBuZWVkIG5vdCByZWRlZmluZSAnXCcsICd7JyBhbmQgJ30nLgogJQogJSBJbnNwaXJlZCBieSBMYVRlWCdzIHZlcmJhdGltIGNvbW1hbmQgc2V0IFtsYXRleC5sdHhdCi0lJSBJbmNsdWRlIExhVGVYIGhhY2sgZm9yIGNvbXBsZXRlbmVzcyAtLSBuZXZlciBrbm93Ci0lJSBcYmVnaW5ncm91cAotJSUgXGNhdGNvZGVgfD0wIFxjYXRjb2RlYFs9MQotJSUgXGNhdGNvZGVgXT0yXGNhdGNvZGVgXHs9MTJcY2F0Y29kZWBcfT0xMlxjYXRjb2RlYFwgPVxhY3RpdmUKLSUlIFxjYXRjb2RlYFxcPTEyfGdkZWZ8ZG92ZXJiYXRpbSMxQGVuZCB2ZXJiYXRpbVsKLSUlICMxfGVuZGdyb3VwfGRlZnxFdmVyYmF0aW1bXXxlbmRbdmVyYmF0aW1dXQotJSUgfGVuZGdyb3VwCiAlCiBcYmVnaW5ncm91cAogICBcY2F0Y29kZWBcID1cYWN0aXZlCkBAIC00Nzg1LDY5NyArNjM2MywzOTQgQEAKICAgJSBpZ25vcmUgZXZlcnl0aGluZyB1cCB0byB0aGUgZmlyc3QgXl5NLCB0aGF0J3MgdGhlIG5ld2xpbmUgYXQgdGhlIGVuZAogICAlIG9mIHRoZSBAdmVyYmF0aW0gaW5wdXQgbGluZSBpdHNlbGYuICBPdGhlcndpc2Ugd2UgZ2V0IGFuIGV4dHJhIGJsYW5rCiAgICUgbGluZSBpbiB0aGUgb3V0cHV0LgotICBcZ2RlZlxkb3ZlcmJhdGltIzFeXk0jMkBlbmQgdmVyYmF0aW17IzJcZW5ke3ZlcmJhdGltfX0lCisgIFx4ZGVmXGRvdmVyYmF0aW0jMV5eTSMyQGVuZCB2ZXJiYXRpbXsjMlxub2V4cGFuZFxlbmRcZ29iYmxlIHZlcmJhdGltfSUKKyAgJSBXZSByZWFsbHkgd2FudCB7Li4uXGVuZCB2ZXJiYXRpbX0gaW4gdGhlIGJvZHkgb2YgdGhlIG1hY3JvLCBidXQKKyAgJSB3aXRob3V0IHRoZSBhY3RpdmUgc3BhY2U7IHRodXMgd2UgaGF2ZSB0byB1c2UgXHhkZWYgYW5kIFxnb2JibGUuCiBcZW5kZ3JvdXAKICUKLVxkZWZcdmVyYmF0aW17JQotICBcZGVmXEV2ZXJiYXRpbXtcbm9uZmlsbGZpbmlzaFxlbmRncm91cH0lCi0gIFxiZWdpbmdyb3VwCi0gICAgXG5vbmZpbGxzdGFydAotICAgIFxhZHZhbmNlXGxlZnRza2lwIGJ5IC1cZGVmYm9keWluZGVudAotICAgIFxiZWdpbmdyb3VwXHNldHVwdmVyYmF0aW1cZG92ZXJiYXRpbQorXGVudmRlZlx2ZXJiYXRpbXslCisgICAgXHNldHVwdmVyYmF0aW1cZG92ZXJiYXRpbQogfQorXGxldFxFdmVyYmF0aW0gPSBcYWZ0ZXJlbnZicmVhaworCiAKICUgQHZlcmJhdGltaW5jbHVkZSBGSUxFIC0gaW5zZXJ0IHRleHQgb2YgZmlsZSBpbiB2ZXJiYXRpbSBlbnZpcm9ubWVudC4KICUKLSUgQWxsb3cgbm9ybWFsIGNoYXJhY3RlcnMgdGhhdCB3ZSBtYWtlIGFjdGl2ZSBpbiB0aGUgYXJndW1lbnQgKGEgZmlsZSBuYW1lKS4KLVxkZWZcdmVyYmF0aW1pbmNsdWRleyUKLSAgXGJlZ2luZ3JvdXAKLSAgICBcY2F0Y29kZWBcXD1cb3RoZXIKLSAgICBcY2F0Y29kZWB+PVxvdGhlcgotICAgIFxjYXRjb2RlYF49XG90aGVyCi0gICAgXGNhdGNvZGVgXz1cb3RoZXIKLSAgICBcY2F0Y29kZWB8PVxvdGhlcgotICAgIFxjYXRjb2RlYDw9XG90aGVyCi0gICAgXGNhdGNvZGVgPj1cb3RoZXIKLSAgICBcY2F0Y29kZWArPVxvdGhlcgotICAgIFxwYXJzZWFyZ1xkb3ZlcmJhdGltaW5jbHVkZQotfQotXGRlZlxzZXR1cHZlcmJhdGltaW5jbHVkZXslCi0gIFxiZWdpbmdyb3VwCi0gICAgXG5vbmZpbGxzdGFydAotICAgIFxhZHZhbmNlXGxlZnRza2lwIGJ5IC1cZGVmYm9keWluZGVudAotICAgIFxiZWdpbmdyb3VwXHNldHVwdmVyYmF0aW0KLX0KK1xkZWZcdmVyYmF0aW1pbmNsdWRle1xwYXJzZWFyZ3VzaW5nXGZpbGVuYW1lY2F0Y29kZXNcZG92ZXJiYXRpbWluY2x1ZGV9CiAlCiBcZGVmXGRvdmVyYmF0aW1pbmNsdWRlIzF7JQotICAgICAlIFJlc3RvcmUgYWN0aXZlIGNoYXJzIGZvciBpbmNsdWRlZCBmaWxlLgotICBcZW5kZ3JvdXAKLSAgXGJlZ2luZ3JvdXAKLSAgICBcbGV0XHZhbHVlPVxleHBhbmRhYmxldmFsdWUKLSAgICBcZGVmXHRoaXNmaWxleyMxfSUKLSAgICBcZXhwYW5kYWZ0ZXJcZXhwYW5kYWZ0ZXJcc2V0dXB2ZXJiYXRpbWluY2x1ZGVcaW5wdXRcdGhpc2ZpbGUKLSAgXGVuZGdyb3VwCi0gIFxub25maWxsZmluaXNoCi0gIFxlbmRncm91cAorICB7JQorICAgIFxtYWtldmFsdWVleHBhbmRhYmxlCisgICAgXHNldHVwdmVyYmF0aW0KKyAgICBcaW5kZXhub2ZvbnRzICAgICAgICUgQWxsb3cgYEBAJyBhbmQgb3RoZXIgd2VpcmQgdGhpbmdzIGluIGZpbGUgbmFtZXMuCisgICAgXGlucHV0ICMxCisgICAgXGFmdGVyZW52YnJlYWsKKyAgfSUKIH0KIAogJSBAY29weWluZyAuLi4gQGVuZCBjb3B5aW5nLgotJSBTYXZlIHRoZSB0ZXh0IGF3YXkgZm9yIEBpbnNlcnRjb3B5aW5nIGxhdGVyLiAgTWFueSBjb21tYW5kcyB3b24ndCBiZQotJSBhbGxvd2VkIGluIHRoaXMgY29udGV4dCwgYnV0IHRoYXQncyBvay4KLSUgCislIFNhdmUgdGhlIHRleHQgYXdheSBmb3IgQGluc2VydGNvcHlpbmcgbGF0ZXIuCislCiAlIFdlIHNhdmUgdGhlIHVuaW50ZXJwcmV0ZWQgdG9rZW5zLCByYXRoZXIgdGhhbiBjcmVhdGluZyBhIGJveC4KICUgU2F2aW5nIHRoZSB0ZXh0IGluIGEgYm94IHdvdWxkIGJlIG11Y2ggZWFzaWVyLCBidXQgdGhlbiBhbGwgdGhlCiAlIHR5cGVzZXR0aW5nIGNvbW1hbmRzIChAc21hbGxib29rLCBmb250IGNoYW5nZXMsIGV0Yy4pIGhhdmUgdG8gYmUgZG9uZQogJSBiZWZvcmVoYW5kIC0tIGFuZCBhKSB3ZSB3YW50IEBjb3B5aW5nIHRvIGJlIGRvbmUgZmlyc3QgaW4gdGhlIHNvdXJjZQogJSBmaWxlOyBiKSBsZXR0aW5nIHVzZXJzIGRlZmluZSB0aGUgZnJvbnRtYXR0ZXIgaW4gYXMgZmxleGlibGUgb3JkZXIgYXMKICUgcG9zc2libGUgaXMgdmVyeSBkZXNpcmFibGUuCi0lIAotXGRlZlxjb3B5aW5ne1xiZWdpbmdyb3VwCi0gICUgRGVmaW5lIGEgY29tbWFuZCB0byBzd2FsbG93IHRleHQgdW50aWwgd2UgcmVhY2ggYEBlbmQgY29weWluZycuCi0gICUgXCBpcyB0aGUgZXNjYXBlIGNoYXIgaW4gdGhpcyB0ZXhpbmZvLnRleCBmaWxlLCBzbyBpdCBpcyB0aGUKLSAgJSBkZWxpbWl0ZXIgZm9yIHRoZSBjb21tYW5kOyBAIHdpbGwgYmUgdGhlIGVzY2FwZSBjaGFyIHdoZW4gd2UgcmVhZAotICAlIGl0LCBidXQgdGhhdCBkb2Vzbid0IG1hdHRlci4KLSAgXGxvbmdcZGVmXGRvY29weWluZyMjMVxlbmQgY29weWluZ3tcZ2RlZlxjb3B5aW5ndGV4dHsjIzF9XGVuZGRvY29weWluZ30lCi0gICUKLSAgJSBXZSBtdXN0IHByZXNlcnZlIF5eTSdzIGluIHRoZSBpbnB1dCBmaWxlOyBzZWUgXGluc2VydGNvcHlpbmcgYmVsb3cuCi0gIFxjYXRjb2RlYFxeXk0gPSBcYWN0aXZlCi0gIFxkb2NvcHlpbmcKKyUKK1xkZWZcY29weWluZ3tcY2hlY2tlbnZ7fVxiZWdpbmdyb3VwXHNjYW5hcmdjdHh0XGRvY29weWluZ30KK1xkZWZcZG9jb3B5aW5nIzFAZW5kIGNvcHlpbmd7XGVuZGdyb3VwXGRlZlxjb3B5aW5ndGV4dHsjMX19CislCitcZGVmXGluc2VydGNvcHlpbmd7JQorICBcYmVnaW5ncm91cAorICAgIFxwYXJpbmRlbnQgPSAwcHQgICUgcGFyYWdyYXBoIGluZGVudGF0aW9uIGxvb2tzIHdyb25nIG9uIHRpdGxlIHBhZ2UKKyAgICBcc2NhbmV4cFxjb3B5aW5ndGV4dAorICBcZW5kZ3JvdXAKIH0KIAotJSBXaGF0IHdlIGRvIHRvIGZpbmlzaCBvZmYgdGhlIGNvcHlpbmcgdGV4dC4KLSUKLVxkZWZcZW5kZG9jb3B5aW5ne1xlbmRncm91cFxpZ25vcmVzcGFjZXN9Ci0KLSUgQGluc2VydGNvcHlpbmcuICBIZXJlIHdlIG11c3QgcGxheSBnYW1lcyB3aXRoIF5eTSdzLiAgT24gdGhlIG9uZSBoYW5kLAotJSB3ZSBuZWVkIHRoZW0gdG8gZGVsaW1pdCBjb21tYW5kcyBzdWNoIGFzIGBAZW5kIHF1b3RhdGlvbicsIHNvIHRoZXkKLSUgbXVzdCBiZSBhY3RpdmUuICBPbiB0aGUgb3RoZXIgaGFuZCwgd2UgY2VydGFpbmx5IGRvbid0IHdhbnQgZXZlcnkKLSUgZW5kLW9mLWxpbmUgdG8gYmUgYSBccGFyLCBhcyB3b3VsZCBoYXBwZW4gd2l0aCB0aGUgbm9ybWFsIGFjdGl2ZQotJSBkZWZpbml0aW9uIG9mIF5eTS4gIE9uIHRoZSB0aGlyZCBoYW5kLCB0d28gXl5NJ3MgaW4gYSByb3cgc2hvdWxkIHN0aWxsCi0lIGdlbmVyYXRlIGEgXHBhci4KLSUgCi0lIE91ciBhcHByb2FjaCBpcyB0byBtYWtlIF5eTSBpbnNlcnQgYSBzcGFjZSBhbmQgYSBwZW5hbHR5MSBub3JtYWxseTsKLSUgdGhlbiBpdCBjYW4gYWxzbyBjaGVjayBpZiBcbGFzdHBlbmFsdHk9MS4gIElmIGl0IGRvZXMsIHRoZW4gbWFudWFsbHkKLSUgZG8gXHBhci4KLSUgCi0lIFRoaXMgbWVzc2VzIHVwIHRoZSBub3JtYWwgZGVmaW5pdGlvbnMgb2YgQGNbb21tZW50XSwgc28gd2UgcmVkZWZpbmUKLSUgaXQuICBTaW1pbGFybHkgZm9yIEBpZ25vcmUuICAoVGhlc2UgY29tbWFuZHMgYXJlIHVzZWQgaW4gdGhlIGdjYwotJSBtYW51YWwgZm9yIG1hbiBwYWdlIGdlbmVyYXRpb24uKQotJSAKLSUgU2VlbXMgcHJldHR5IGZyYWdpbGUsIG1vc3QgbGluZS1vcmllbnRlZCBjb21tYW5kcyB3aWxsIHByZXN1bWFibHkKLSUgZmFpbCwgYnV0IGZvciB0aGUgbGltaXRlZCB1c2Ugb2YgZ2V0dGluZyB0aGUgY29weWluZyB0ZXh0ICh3aGljaAotJSBzaG91bGQgYmUgcXVpdGUgc2ltcGxlKSBpbnNlcnRlZCwgd2UgY2FuIGhvcGUgaXQncyBvay4KLSUKLXtcY2F0Y29kZWBcXl5NPVxhY3RpdmUgJQotXGdkZWZcaW5zZXJ0Y29weWluZ3tcYmVnaW5ncm91cCAlCi0gIFxwYXJpbmRlbnQgPSAwcHQgICUgbG9va3Mgd3Jvbmcgb24gdGl0bGUgcGFnZQotICBcZGVmXl5NeyUKLSAgICBcaWZudW0gXGxhc3RwZW5hbHR5PTEgJQotICAgICAgXHBhciAlCi0gICAgXGVsc2UgJQotICAgICAgXHNwYWNlIFxwZW5hbHR5IDEgJQotICAgIFxmaSAlCi0gIH0lCi0gICUKLSAgJSBGaXggQGNbb21tZW50XSBmb3IgY2F0Y29kZSAxMyBeXk0ncy4KLSAgXGRlZlxjIyMxXl5Ne1xpZ25vcmVzcGFjZXN9JQotICBcbGV0XGNvbW1lbnQgPSBcYyAlCi0gICUKLSAgJSBEb24ndCBib3RoZXIganVtcGluZyB0aHJvdWdoIGFsbCB0aGUgaG9vcHMgdGhhdCBcZG9pZ25vcmUgZG9lcywgaXQKLSAgJSB3b3VsZCBiZSB2ZXJ5IGhhcmQgc2luY2UgdGhlIGNhdGNvZGVzIGFyZSBhbHJlYWR5IHNldC4KLSAgXGxvbmdcZGVmXGlnbm9yZSMjMVxlbmQgaWdub3Jle1xpZ25vcmVzcGFjZXN9JQotICAlCi0gIFxjb3B5aW5ndGV4dCAlCi1cZW5kZ3JvdXB9JQotfQogCiBcbWVzc2FnZXtkZWZ1bnMsfQogJSBAZGVmdW4gZXRjLgogCi0lIEFsbG93IHVzZXIgdG8gY2hhbmdlIGRlZmluaXRpb24gb2JqZWN0IGZvbnQgKFxkZikgaW50ZXJuYWxseQotXGRlZlxzZXRkZWZmb250IzEge1xjc25hbWUgREVGIzFcZW5kY3NuYW1lfQotCiBcbmV3c2tpcFxkZWZib2R5aW5kZW50IFxkZWZib2R5aW5kZW50PS40aW4KIFxuZXdza2lwXGRlZmFyZ3NpbmRlbnQgXGRlZmFyZ3NpbmRlbnQ9NTBwdAogXG5ld3NraXBcZGVmbGFzdGFyZ21hcmdpbiBcZGVmbGFzdGFyZ21hcmdpbj0xOHB0CitcbmV3Y291bnRcZGVmdW5wZW5hbHR5CiAKLVxuZXdjb3VudFxwYXJlbmNvdW50Ci0KLSUgV2Ugd2FudCAoKSZbXSB0byBwcmludCBzcGVjaWFsbHkgb24gdGhlIGRlZnVuIGxpbmUuCi0lIAotXGRlZlxhY3RpdmVwYXJlbnN7JQotICBcY2F0Y29kZWBcKD1cYWN0aXZlIFxjYXRjb2RlYFwpPVxhY3RpdmUKLSAgXGNhdGNvZGVgXCY9XGFjdGl2ZQotICBcY2F0Y29kZWBcWz1cYWN0aXZlIFxjYXRjb2RlYFxdPVxhY3RpdmUKLX0KLQotJSBNYWtlIGNvbnRyb2wgc2VxdWVuY2VzIHdoaWNoIGFjdCBsaWtlIG5vcm1hbCBwYXJlbnRoZXNpcyBjaGFycy4KLVxsZXRcbHBhcmVuID0gKCBcbGV0XHJwYXJlbiA9ICkKLQote1xhY3RpdmVwYXJlbnMgJSBOb3csIHNtYXJ0IHBhcmVucyBkb24ndCB0dXJuIG9uIHVudGlsICZmb28gKHNlZSBcYW1wcm0pCi0KLSUgQmUgc3VyZSB0aGF0IHdlIGFsd2F5cyBoYXZlIGEgZGVmaW5pdGlvbiBmb3IgYCgnLCBldGMuICBGb3IgZXhhbXBsZSwKLSUgaWYgdGhlIGZuIG5hbWUgaGFzIHBhcmVucyBpbiBpdCwgXGJvbGRicmF4IHdpbGwgbm90IGJlIGluIGVmZmVjdCB5ZXQsCi0lIHNvIFRlWCB3b3VsZCBvdGhlcndpc2UgY29tcGxhaW4gYWJvdXQgdW5kZWZpbmVkIGNvbnRyb2wgc2VxdWVuY2UuCi1cZ2xvYmFsXGxldCg9XGxwYXJlbiBcZ2xvYmFsXGxldCk9XHJwYXJlbgotXGdsb2JhbFxsZXRbPVxsYnJhY2sgXGdsb2JhbFxsZXRdPVxyYnJhY2sKLQotXGdkZWZcZnVuY3Rpb25wYXJlbnN7XGJvbGRicmF4XGxldCY9XGFtcHJtXHBhcmVuY291bnQ9MCB9Ci1cZ2RlZlxib2xkYnJheHtcbGV0KD1cb3BuclxsZXQpPVxjbG5yXGxldFs9XGxicmJcbGV0XT1ccmJyYn0KLSUgVGhpcyBpcyB1c2VkIHRvIHR1cm4gb24gc3BlY2lhbCBwYXJlbnMKLSUgYnV0IG1ha2UgJiBhY3Qgb3JkaW5hcnkgKGdpdmVuIHRoYXQgaXQncyBhY3RpdmUpLgotXGdkZWZcYm9sZGJyYXhub2FtcHtcbGV0KD1cb3BuclxsZXQpPVxjbG5yXGxldFs9XGxicmJcbGV0XT1ccmJyYlxsZXQmPVxhbXBucn0KLQotJSBEZWZpbml0aW9ucyBvZiAoLCApIGFuZCAmIHVzZWQgaW4gYXJncyBmb3IgZnVuY3Rpb25zLgotJSBUaGlzIGlzIHRoZSBkZWZpbml0aW9uIG9mICggb3V0c2lkZSBvZiBhbGwgcGFyZW50aGVzZXMuCi1cZ2RlZlxvcHJtIzEge3tccm1cY2hhcmBcKH0jMSBcYmYgXGxldCg9XG9wbmVzdGVkCi0gIFxnbG9iYWxcYWR2YW5jZVxwYXJlbmNvdW50IGJ5IDEKLX0KLSUKLSUgVGhpcyBpcyB0aGUgZGVmaW5pdGlvbiBvZiAoIHdoZW4gYWxyZWFkeSBpbnNpZGUgYSBsZXZlbCBvZiBwYXJlbnMuCi1cZ2RlZlxvcG5lc3RlZHtcY2hhcmBcKFxnbG9iYWxcYWR2YW5jZVxwYXJlbmNvdW50IGJ5IDEgfQotJQotXGdkZWZcY2xybXslIFByaW50IGEgcGFyZW4gaW4gcm9tYW4gaWYgaXQgaXMgdGFraW5nIHVzIGJhY2sgdG8gZGVwdGggb2YgMC4KLSAgJSBhbHNvIGluIHRoYXQgY2FzZSByZXN0b3JlIHRoZSBvdXRlci1sZXZlbCBkZWZpbml0aW9uIG9mICguCi0gIFxpZm51bSBccGFyZW5jb3VudD0xIHtccm0gXGNoYXIgYFwpfVxzbCBcbGV0KD1cb3BybSBcZWxzZSBcY2hhciBgXCkgXGZpCi0gIFxnbG9iYWxcYWR2YW5jZSBccGFyZW5jb3VudCBieSAtMSB9Ci0lIElmIHdlIGVuY291bnRlciAmZm9vLCB0aGVuIHR1cm4gb24gKCktaGFja2luZyBhZnRlcndhcmRzCi1cZ2RlZlxhbXBybSMxIHt7XHJtXCYjMX1cbGV0KD1cb3BybSBcbGV0KT1cY2xybVwgfQotJQotXGdkZWZcbm9ybWFscGFyZW5ze1xib2xkYnJheFxsZXQmPVxhbXBucn0KLX0gJSBFbmQgb2YgZGVmaW5pdGlvbiBpbnNpZGUgXGFjdGl2ZXBhcmVucwotJSUgVGhlc2UgcGFyZW5zIChpbiBcYm9sZGJyYXgpIGFjdHVhbGx5IGFyZSBhIGxpdHRsZSBib2xkZXIgdGhhbiB0aGUKLSUlIGNvbnRhaW5lZCB0ZXh0LiAgVGhpcyBpcyBlc3BlY2lhbGx5IG5lZWRlZCBmb3IgWyBhbmQgXQotXGRlZlxvcG5ye3tcc2ZcY2hhcmBcKH1cZ2xvYmFsXGFkdmFuY2VccGFyZW5jb3VudCBieSAxIH0KLVxkZWZcY2xucnt7XHNmXGNoYXJgXCl9XGdsb2JhbFxhZHZhbmNlXHBhcmVuY291bnQgYnkgLTEgfQotXGxldFxhbXBuciA9IFwmCi1cZGVmXGxicmJ7e1xiZlxjaGFyYFxbfX0KLVxkZWZccmJyYnt7XGJmXGNoYXJgXF19fQotCi0lIEFjdGl2ZSAmJ3Mgc25lYWsgaW50byB0aGUgaW5kZXggYXJndW1lbnRzLCBzbyBtYWtlIHN1cmUgaXQncyBkZWZpbmVkLgotewotICBcY2F0Y29kZWAmID0gXGFjdGl2ZQotICBcZ2xvYmFsXGxldCYgPSBcYW1wbnIKLX0KLQotJSBcZGVmbmFtZSwgd2hpY2ggZm9ybWF0cyB0aGUgbmFtZSBvZiB0aGUgQGRlZiAobm90IHRoZSBhcmdzKS4KLSUgIzEgaXMgdGhlIGZ1bmN0aW9uIG5hbWUuCi0lICMyIGlzIHRoZSB0eXBlIG9mIGRlZmluaXRpb24sIHN1Y2ggYXMgIkZ1bmN0aW9uIi4KLSUKLVxkZWZcZGVmbmFtZSMxIzJ7JQotICAlIEhvdyB3ZSdsbCBvdXRwdXQgdGhlIHR5cGUgbmFtZS4gIFB1dHRpbmcgaXQgaW4gYnJhY2tldHMgaGVscHMKLSAgJSBkaXN0aW5ndWlzaCBpdCBmcm9tIHRoZSBib2R5IHRleHQgdGhhdCBtYXkgZW5kIHVwIG9uIHRoZSBuZXh0IGxpbmUKLSAgJSBqdXN0IGJlbG93IGl0LgotICBcaWZlbXB0eXsjMn0lCi0gICAgXGRlZlxkZWZuYW1ldHlwZXt9JQorJSBTdGFydCB0aGUgcHJvY2Vzc2luZyBvZiBAZGVmZm46CitcZGVmXHN0YXJ0ZGVmdW57JQorICBcaWZudW1cbGFzdHBlbmFsdHk8MTAwMDAKKyAgICBcbWVkYnJlYWsKKyAgICBcZGVmdW5wZW5hbHR5PTEwMDAzICUgV2lsbCBrZWVwIHRoaXMgQGRlZmZuIHRvZ2V0aGVyIHdpdGggdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAlIGZvbGxvd2luZyBAZGVmIGNvbW1hbmQsIHNlZSBiZWxvdy4KICAgXGVsc2UKLSAgICBcZGVmXGRlZm5hbWV0eXBle1tccm0gIzJdfSUKKyAgICAlIElmIHRoZXJlIGFyZSB0d28gQGRlZiBjb21tYW5kcyBpbiBhIHJvdywgd2UnbGwgaGF2ZSBhIFxub2JyZWFrLAorICAgICUgd2hpY2ggaXMgdGhlcmUgdG8ga2VlcCB0aGUgZnVuY3Rpb24gZGVzY3JpcHRpb24gdG9nZXRoZXIgd2l0aCBpdHMKKyAgICAlIGhlYWRlci4gIEJ1dCBpZiB0aGVyZSdzIG5vdGhpbmcgYnV0IGhlYWRlcnMsIHdlIG5lZWQgdG8gYWxsb3cgYQorICAgICUgYnJlYWsgc29tZXdoZXJlLiAgQ2hlY2sgc3BlY2lmaWNhbGx5IGZvciBwZW5hbHR5IDEwMDAyLCBpbnNlcnRlZAorICAgICUgYnkgXHByaW50ZGVmdW5saW5lLCBpbnN0ZWFkIG9mIDEwMDAwLCBzaW5jZSB0aGUgc2VjdGlvbmluZworICAgICUgY29tbWFuZHMgYWxzbyBpbnNlcnQgYSBub2JyZWFrIHBlbmFsdHksIGFuZCB3ZSBkb24ndCB3YW50IHRvIGFsbG93CisgICAgJSBhIGJyZWFrIGJldHdlZW4gYSBzZWN0aW9uIGhlYWRpbmcgYW5kIGEgZGVmdW4uCisgICAgJQorICAgICUgQXMgYSBtaW5vciByZWZpbmVtZW50LCB3ZSBhdm9pZCAiY2x1YiIgaGVhZGVycyBieSBzaWduYWxsaW5nCisgICAgJSB3aXRoIHBlbmFsdHkgb2YgMTAwMDMgYWZ0ZXIgdGhlIHZlcnkgZmlyc3QgQGRlZmZuIGluIHRoZQorICAgICUgc2VxdWVuY2UgKHNlZSBhYm92ZSksIGFuZCBwZW5hbHR5IG9mIDEwMDAyIGFmdGVyIGFueSBmb2xsb3dpbmcKKyAgICAlIEBkZWYgY29tbWFuZC4KKyAgICBcaWZudW1cbGFzdHBlbmFsdHk9MTAwMDIgXHBlbmFsdHkyMDAwIFxlbHNlIFxkZWZ1bnBlbmFsdHk9MTAwMDIgXGZpCisgICAgJQorICAgICUgU2ltaWxhcmx5LCBhZnRlciBhIHNlY3Rpb24gaGVhZGluZywgZG8gbm90IGFsbG93IGEgYnJlYWsuCisgICAgJSBCdXQgZG8gaW5zZXJ0IHRoZSBnbHVlLgorICAgIFxtZWRza2lwICAlIHByZWNlZGVkIGJ5IGRpc2NhcmRhYmxlIHBlbmFsdHksIHNvIG5vdCBhIGJyZWFrcG9pbnQKICAgXGZpCiAgICUKLSAgJSBHZXQgdGhlIHZhbHVlcyBvZiBcbGVmdHNraXAgYW5kIFxyaWdodHNraXAgYXMgdGhleSB3ZXJlIG91dHNpZGUgdGhlIEBkZWYuLi4KLSAgXGRpbWVuMj1cbGVmdHNraXAKLSAgXGFkdmFuY2VcZGltZW4yIGJ5IC1cZGVmYm9keWluZGVudAotICAlCi0gICUgRmlndXJlIG91dCB2YWx1ZXMgZm9yIHRoZSBwYXJhZ3JhcGggc2hhcGUuCi0gIFxzZXRib3gwPVxoYm94e1xoc2tpcCBcZGVmbGFzdGFyZ21hcmdpbntcZGVmbmFtZXR5cGV9fSUKLSAgXGRpbWVuMD1caHNpemUgXGFkdmFuY2UgXGRpbWVuMCBieSAtXHdkMCAgJSBjb21wdXRlIHNpemUgZm9yIGZpcnN0IGxpbmUKLSAgXGRpbWVuMT1caHNpemUgXGFkdmFuY2UgXGRpbWVuMSBieSAtXGRlZmFyZ3NpbmRlbnQgICUgc2l6ZSBmb3IgY29udGludWF0aW9ucwotICBccGFyc2hhcGUgMiAwaW4gXGRpbWVuMCBcZGVmYXJnc2luZGVudCBcZGltZW4xCi0gICUKLSAgJSBPdXRwdXQgYXJnIDIgKCJGdW5jdGlvbiIgb3Igc29tZSBzdWNoKSBidXQgc3R1Y2sgaW5zaWRlIGEgYm94IG9mCi0gICUgd2lkdGggMCBzbyBpdCBkb2VzIG5vdCBpbnRlcmZlcmUgd2l0aCBsaW5lYnJlYWtpbmcuCi0gIFxub2luZGVudAotICAlCi0gIHslIEFkanVzdCBcaHNpemUgdG8gZXhjbHVkZSB0aGUgYW1iaWVudCBtYXJnaW5zLAotICAgJSBzbyB0aGF0IFxyaWdodGxpbmUgd2lsbCBvYmV5IHRoZW0uCi0gICBcYWR2YW5jZSBcaHNpemUgYnkgLVxkaW1lbjIKLSAgIFxkaW1lbjMgPSAwcHQgICUgd2FzIC0xLjI1cGMKLSAgIFxybGFwe1xyaWdodGxpbmV7XGRlZm5hbWV0eXBlXGtlcm5cZGltZW4zfX0lCi0gIH0lCi0gICUKLSAgJSBBbGxvdyBhbGwgbGluZXMgdG8gYmUgdW5kZXJmdWxsIHdpdGhvdXQgY29tcGxhaW50OgotICBcdG9sZXJhbmNlPTEwMDAwIFxoYmFkbmVzcz0xMDAwMAotICBcYWR2YW5jZVxsZWZ0c2tpcCBieSAtXGRlZmJvZHlpbmRlbnQKLSAgXGV4ZGVudGFtb3VudD1cZGVmYm9keWluZGVudAotICB7XGRmICMxfVxlbnNraXAgICAgICAgICUgb3V0cHV0IGZ1bmN0aW9uIG5hbWUKLSAgJSBcZGVmdW5hcmdzIHdpbGwgYmUgY2FsbGVkIG5leHQgdG8gb3V0cHV0IHRoZSBhcmd1bWVudHMsIGlmIGFueS4KLX0KLQotJSBDb21tb24gcGllY2VzIHRvIHN0YXJ0IGFueSBAZGVmLi4uCi0lICMxIGlzIHRoZSBcRS4uLiBjb250cm9sIHNlcXVlbmNlIHRvIGVuZCB0aGUgZGVmaW5pdGlvbiAod2hpY2ggd2UgZGVmaW5lKS4KLSUgIzIgaXMgdGhlIFwuLi54IGNvbnRyb2wgc2VxdWVuY2UgKHdoaWNoIG91ciBjYWxsZXIgZGVmaW5lcykuCi0lICMzIGlzIHRoZSBjb250cm9sIHNlcXVlbmNlIHRvIHByb2Nlc3MgdGhlIGhlYWRlciwgc3VjaCBhcyBcZGVmdW5oZWFkZXIuCi0lIAotXGRlZlxwYXJzZWJvZHljb21tb24jMSMyIzN7JQotICBcYmVnaW5ncm91cFxpbkVOVgotICAlIElmIHRoZXJlIGFyZSB0d28gQGRlZiBjb21tYW5kcyBpbiBhIHJvdywgd2UnbGwgaGF2ZSBhIFxub2JyZWFrLAotICAlIHdoaWNoIGlzIHRoZXJlIHRvIGtlZXAgdGhlIGZ1bmN0aW9uIGRlc2NyaXB0aW9uIHRvZ2V0aGVyIHdpdGggaXRzCi0gICUgaGVhZGVyLiAgQnV0IGlmIHRoZXJlJ3Mgbm90aGluZyBidXQgaGVhZGVycywgd2Ugd2FudCB0byBhbGxvdyBhCi0gICUgYnJlYWsgYWZ0ZXIgYWxsLiAgQ2hlY2sgZm9yIHBlbmFsdHkgMTAwMDIgKGluc2VydGVkIGJ5Ci0gICUgXGRlZmFyZ3Njb21tb25lbmRpbmcpIGluc3RlYWQgb2YgMTAwMDAsIHNpbmNlIHRoZSBzZWN0aW9uaW5nCi0gICUgY29tbWFuZHMgaW5zZXJ0IGEgXHBlbmFsdHkxMDAwMCwgYW5kIHdlIGRvbid0IHdhbnQgdG8gYWxsb3cgYSBicmVhawotICAlIGJldHdlZW4gYSBzZWN0aW9uIGhlYWRpbmcgYW5kIGEgZGVmdW4uCi0gIFxpZm51bVxsYXN0cGVuYWx0eT0xMDAwMiBccGVuYWx0eTAgXGZpCi0gIFxtZWRicmVhawotICAlCi0gICUgRGVmaW5lIHRoZSBcRS4uLiBlbmQgdG9rZW4gdGhhdCB0aGlzIGRlZmluaW5nIGNvbnN0cnVjdCBzcGVjaWZpZXMKLSAgJSBzbyB0aGF0IGl0IHdpbGwgZXhpdCB0aGlzIGdyb3VwLgotICBcZGVmIzF7XGVuZGdyYWZcZW5kZ3JvdXBcbWVkYnJlYWt9JQotICAlCiAgIFxwYXJpbmRlbnQ9MGluCiAgIFxhZHZhbmNlXGxlZnRza2lwIGJ5IFxkZWZib2R5aW5kZW50CiAgIFxleGRlbnRhbW91bnQ9XGRlZmJvZHlpbmRlbnQKIH0KIAotJSBDb21tb24gcGFydCBvZiB0aGUgXC4uLnggZGVmaW5pdGlvbnMuCi0lIAotXGRlZlxkZWZ4Ym9keWNvbW1vbnslCi0gICUgQXMgd2l0aCBccGFyc2Vib2R5Y29tbW9uIGFib3ZlLCBhbGxvdyBsaW5lIGJyZWFrIGlmIHdlIGhhdmUgbXVsdGlwbGUKLSAgJSB4IGhlYWRlcnMgaW4gYSByb3cuICBJdCdzIG5vdCBhIGdyZWF0IHBsYWNlLCB0aG91Z2guCi0gIFxpZm51bVxsYXN0cGVuYWx0eT0xMDAwMCBccGVuYWx0eTEwMDAgXGZpCitcZGVmXGRvZGVmdW54IzF7JQorICAlIEZpcnN0LCBjaGVjayB3aGV0aGVyIHdlIGFyZSBpbiB0aGUgcmlnaHQgZW52aXJvbm1lbnQ6CisgIFxjaGVja2VudiMxJQogICAlCi0gIFxiZWdpbmdyb3VwXG9iZXlsaW5lcworICAlIEFzIGFib3ZlLCBhbGxvdyBsaW5lIGJyZWFrIGlmIHdlIGhhdmUgbXVsdGlwbGUgeCBoZWFkZXJzIGluIGEgcm93LgorICAlIEl0J3Mgbm90IGEgZ3JlYXQgcGxhY2UsIHRob3VnaC4KKyAgXGlmbnVtXGxhc3RwZW5hbHR5PTEwMDAyIFxwZW5hbHR5MzAwMCBcZWxzZSBcZGVmdW5wZW5hbHR5PTEwMDAyIFxmaQorICAlCisgICUgQW5kIG5vdywgaXQncyB0aW1lIHRvIHJldXNlIHRoZSBib2R5IG9mIHRoZSBvcmlnaW5hbCBkZWZ1bjoKKyAgXGV4cGFuZGFmdGVyXGdvYmJsZWRlZnVuIzElCiB9CitcZGVmXGdvYmJsZWRlZnVuIzFcc3RhcnRkZWZ1bnt9CiAKLSUgUHJvY2VzcyBib2R5IG9mIEBkZWZ1biwgQGRlZmZuLCBAZGVmbWFjLCBldGMuCislIFxwcmludGRlZnVubGluZSBcZGVmZm5oZWFkZXJ7dGV4dH0KICUKLVxkZWZcZGVmcGFyc2Vib2R5IzEjMiMzeyUKLSAgXHBhcnNlYm9keWNvbW1vbnsjMX17IzJ9eyMzfSUKLSAgXGRlZiMye1xkZWZ4Ym9keWNvbW1vbiBcYWN0aXZlcGFyZW5zIFxzcGFjZXNwbGl0IzN9JQotICBcY2F0Y29kZVxlcXVhbENoYXI9XGFjdGl2ZQotICBcYmVnaW5ncm91cFxvYmV5bGluZXNcYWN0aXZlcGFyZW5zCi0gIFxzcGFjZXNwbGl0IzMlCi19Ci0KLSUgIzEsICMyLCAjMyBhcmUgdGhlIGNvbW1vbiBhcmd1bWVudHMgKHNlZSBccGFyc2Vib2R5Y29tbW9uIGFib3ZlKS4KLSUgIzQsIGRlbGltaXRlZCBieSB0aGUgc3BhY2UsIGlzIHRoZSBjbGFzcyBuYW1lLgotJQotXGRlZlxkZWZtZXRocGFyc2Vib2R5IzEjMiMzIzQgeyUKLSAgXHBhcnNlYm9keWNvbW1vbnsjMX17IzJ9eyMzfSUKLSAgXGRlZiMyIyMxIHtcZGVmeGJvZHljb21tb24gXGFjdGl2ZXBhcmVucyBcc3BhY2VzcGxpdHsjM3sjIzF9fX0lCi0gIFxiZWdpbmdyb3VwXG9iZXlsaW5lc1xhY3RpdmVwYXJlbnMKLSAgJSBUaGUgXGVtcHR5IGhlcmUgcHJldmVudHMgbWlzaW50ZXJwcmV0YXRpb24gb2YgYSBjb25zdHJ1Y3Qgc3VjaCBhcwotICAlICAgQGRlZmZuIHt3aGF0ZXZlcn0ge0VuaGFybW9uaWMgY29tbWF9Ci0gICUgU2VlIGNvbW1lbnRzIGF0IFxkZWZ0cHBhcnNlYm9keSwgYWx0aG91Z2ggaW4gb3VyIGNhc2Ugd2UgZG9uJ3QgaGF2ZQotICAlIHRvIHJlbW92ZSB0aGUgXGVtcHR5IGFmdGVyd2FyZHMsIHNpbmNlIGl0IGlzIGVtcHR5LgotICBcc3BhY2VzcGxpdHsjM3sjNH19XGVtcHR5Ci19Ci0KLSUgVXNlZCBmb3IgQGRlZnR5cGVtZXRob2QgYW5kIEBkZWZ0eXBlaXZhci4KLSUgIzEsICMyLCAjMyBhcmUgdGhlIGNvbW1vbiBhcmd1bWVudHMgKHNlZSBcZGVmcGFyc2Vib2R5KS4KLSUgIzQsIGRlbGltaXRlZCBieSBhIHNwYWNlLCBpcyB0aGUgY2xhc3MgbmFtZS4KLSUgIzUgaXMgdGhlIG1ldGhvZCdzIHJldHVybiB0eXBlLgotJQotXGRlZlxkZWZ0eXBlbWV0aHBhcnNlYm9keSMxIzIjMyM0ICM1IHslCi0gIFxwYXJzZWJvZHljb21tb257IzF9eyMyfXsjM30lCi0gIFxkZWYjMiMjMSAjIzIge1xkZWZ4Ym9keWNvbW1vbiBcYWN0aXZlcGFyZW5zIFxzcGFjZXNwbGl0eyMzeyMjMX17IyMyfX19JQotICBcYmVnaW5ncm91cFxvYmV5bGluZXNcYWN0aXZlcGFyZW5zCi0gIFxzcGFjZXNwbGl0eyMzeyM0fXsjNX19JQotfQotCi0lIFVzZWQgZm9yIEBkZWZ0eXBlb3AuICBUaGUgY2hhbmdlIGZyb20gXGRlZnR5cGVtZXRocGFyc2Vib2R5IGlzIGFuCi0lIGV4dHJhIGFyZ3VtZW50IGF0IHRoZSBiZWdpbm5pbmcgd2hpY2ggaXMgdGhlIGBjYXRlZ29yeScsIGluc3RlYWQgb2YgaXQKLSUgYmVpbmcgdGhlIGhhcmR3aXJlZCBzdHJpbmcgYE1ldGhvZCcgb3IgYEluc3RhbmNlIFZhcmlhYmxlJy4gIFdlIGhhdmUKLSUgdG8gYWNjb3VudCBmb3IgdGhpcyBib3RoIGluIHRoZSBcLi4ueCBkZWZpbml0aW9uIGFuZCBpbiBwYXJzaW5nIHRoZQotJSBpbnB1dCBhdCBoYW5kLiAgVGh1cyBhbHNvIG5lZWQgYSBjb250cm9sIHNlcXVlbmNlIChwYXNzZWQgYXMgIzUpIGZvcgotJSB0aGUgXEUuLi4gZGVmaW5pdGlvbiB0byBhc3NpZ24gdGhlIGNhdGVnb3J5IG5hbWUgdG8uCi0lIAotXGRlZlxkZWZ0eXBlb3BwYXJzZWJvZHkjMSMyIzMjNCM1ICM2IHslCi0gIFxwYXJzZWJvZHljb21tb257IzF9eyMyfXsjM30lCi0gIFxkZWYjMiMjMSAjIzIgIyMzIHtcZGVmIzR7IyMxfSUKLSAgICBcZGVmeGJvZHljb21tb24gXGFjdGl2ZXBhcmVucyBcc3BhY2VzcGxpdHsjM3sjIzJ9eyMjM319fSUKLSAgXGJlZ2luZ3JvdXBcb2JleWxpbmVzXGFjdGl2ZXBhcmVucwotICBcc3BhY2VzcGxpdHsjM3sjNX17IzZ9fSUKLX0KLQotJSBGb3IgQGRlZm9wLgotXGRlZlxkZWZvcHBhcnNlYm9keSAjMSMyIzMjNCM1IHslCi0gIFxwYXJzZWJvZHljb21tb257IzF9eyMyfXsjM30lCi0gIFxkZWYjMiMjMSAjIzIge1xkZWYjNHsjIzF9JQotICAgIFxkZWZ4Ym9keWNvbW1vbiBcYWN0aXZlcGFyZW5zIFxzcGFjZXNwbGl0eyMzeyMjMn19fSUKLSAgXGJlZ2luZ3JvdXBcb2JleWxpbmVzXGFjdGl2ZXBhcmVucwotICBcc3BhY2VzcGxpdHsjM3sjNX19JQotfQotCi0lIFRoZXNlIHBhcnNpbmcgZnVuY3Rpb25zIGFyZSBzaW1pbGFyIHRvIHRoZSBwcmVjZWRpbmcgb25lcwotJSBleGNlcHQgdGhhdCB0aGV5IGRvIG5vdCBtYWtlIHBhcmVucyBpbnRvIGFjdGl2ZSBjaGFyYWN0ZXJzLgotJSBUaGVzZSBhcmUgdXNlZCBmb3IgInZhcmlhYmxlcyIgc2luY2UgdGhleSBoYXZlIG5vIGFyZ3VtZW50cy4KLSUKLVxkZWZcZGVmdmFycGFyc2Vib2R5ICMxIzIjM3slCi0gIFxwYXJzZWJvZHljb21tb257IzF9eyMyfXsjM30lCi0gIFxkZWYjMntcZGVmeGJvZHljb21tb24gXHNwYWNlc3BsaXQjM30lCi0gIFxjYXRjb2RlXGVxdWFsQ2hhcj1cYWN0aXZlCi0gIFxiZWdpbmdyb3VwXG9iZXlsaW5lcwotICBcc3BhY2VzcGxpdCMzJQotfQotCi0lIEBkZWZvcHZhci4KLVxkZWZcZGVmb3B2YXJwYXJzZWJvZHkgIzEjMiMzIzQjNSB7JQotICBccGFyc2Vib2R5Y29tbW9ueyMxfXsjMn17IzN9JQotICBcZGVmIzIjIzEgIyMyIHtcZGVmIzR7IyMxfSUKLSAgICBcZGVmeGJvZHljb21tb24gXHNwYWNlc3BsaXR7IzN7IyMyfX19JQotICBcYmVnaW5ncm91cFxvYmV5bGluZXMKLSAgXHNwYWNlc3BsaXR7IzN7IzV9fSUKLX0KLQotXGRlZlxkZWZ2cnBhcnNlYm9keSMxIzIjMyM0IHslCi0gIFxwYXJzZWJvZHljb21tb257IzF9eyMyfXsjM30lCi0gIFxkZWYjMiMjMSB7XGRlZnhib2R5Y29tbW9uIFxzcGFjZXNwbGl0eyMzeyMjMX19fSUKLSAgXGJlZ2luZ3JvdXBcb2JleWxpbmVzCi0gIFxzcGFjZXNwbGl0eyMzeyM0fX0lCi19Ci0KLSUgVGhpcyBsb3NlcyBvbiBgQGRlZnRwIHtEYXRhIFR5cGV9IHtzdHJ1Y3QgdGVybWlvc30nIC0tIGl0IHRoaW5rcyB0aGUKLSUgdHlwZSBpcyBqdXN0IGBzdHJ1Y3QnLCBiZWNhdXNlIHdlIGxvc2UgdGhlIGJyYWNlcyBpbiBge3N0cnVjdAotJSB0ZXJtaW9zfScgd2hlbiBcc3BhY2VzcGxpdCByZWFkcyBpdHMgdW5kZWxpbWl0ZWQgYXJndW1lbnQuICBTaWdoLgotJSBcbGV0XGRlZnRwcGFyc2Vib2R5PVxkZWZ2cnBhcnNlYm9keQotJQotJSBTbywgdG8gZ2V0IGFyb3VuZCB0aGlzLCB3ZSBwdXQgXGVtcHR5IGluIHdpdGggdGhlIHR5cGUgbmFtZS4gIFRoYXQKLSUgd2F5LCBUZVggd29uJ3QgZmluZCBleGFjdGx5IGB7Li4ufScgYXMgYW4gdW5kZWxpbWl0ZWQgYXJndW1lbnQsIGFuZAotJSB3b24ndCBzdHJpcCBvZmYgdGhlIGJyYWNlcy4KLSUKLVxkZWZcZGVmdHBwYXJzZWJvZHkgIzEjMiMzIzQgeyUKLSAgXHBhcnNlYm9keWNvbW1vbnsjMX17IzJ9eyMzfSUKLSAgXGRlZiMyIyMxIHtcZGVmeGJvZHljb21tb24gXHNwYWNlc3BsaXR7IzN7IyMxfX19JQotICBcYmVnaW5ncm91cFxvYmV5bGluZXMKLSAgXHNwYWNlc3BsaXR7XHBhcnNldHBoZWFkZXJsaW5leyMzeyM0fX19XGVtcHR5Ci19Ci0KLSUgRmluZSwgYnV0IHRoZW4gd2UgaGF2ZSB0byBldmVudHVhbGx5IHJlbW92ZSB0aGUgXGVtcHR5ICphbmQqIHRoZQotJSBicmFjZXMgKGlmIGFueSkuICBUaGF0J3Mgd2hhdCB0aGlzIGRvZXMuCi0lCi1cZGVmXHJlbW92ZWVtcHR5YnJhY2VzXGVtcHR5IzFccmVsYXh7IzF9Ci0KLSUgQWZ0ZXIgXHNwYWNlc3BsaXQgaGFzIGRvbmUgaXRzIHdvcmssIHRoaXMgaXMgY2FsbGVkIC0tICMxIGlzIHRoZSBmaW5hbAotJSB0aGluZyB0byBjYWxsLCAjMiB0aGUgdHlwZSBuYW1lICh3aGljaCBzdGFydHMgd2l0aCBcZW1wdHkpLCBhbmQgIzMKLSUgKHdoaWNoIG1pZ2h0IGJlIGVtcHR5KSB0aGUgYXJndW1lbnRzLgotJQotXGRlZlxwYXJzZXRwaGVhZGVybGluZSMxIzIjM3slCi0gICMxe1xyZW1vdmVlbXB0eWJyYWNlcyMyXHJlbGF4fXsjM30lCi19JQotCi0lIFNwbGl0IHVwICMyICh0aGUgcmVzdCBvZiB0aGUgaW5wdXQgbGluZSkgYXQgdGhlIGZpcnN0IHNwYWNlIHRva2VuLgotJSBjYWxsICMxIHdpdGggdHdvIGFyZ3VtZW50czoKLSUgIHRoZSBmaXJzdCBpcyBhbGwgb2YgIzIgYmVmb3JlIHRoZSBzcGFjZSB0b2tlbiwKLSUgIHRoZSBzZWNvbmQgaXMgYWxsIG9mICMyIGFmdGVyIHRoYXQgc3BhY2UgdG9rZW4uCi0lIElmICMyIGNvbnRhaW5zIG5vIHNwYWNlIHRva2VuLCBhbGwgb2YgaXQgaXMgcGFzc2VkIGFzIHRoZSBmaXJzdCBhcmcKLSUgYW5kIHRoZSBzZWNvbmQgaXMgcGFzc2VkIGFzIGVtcHR5LgotJQote1xvYmV5bGluZXMgJQotIFxnZGVmXHNwYWNlc3BsaXQjMSMyXl5Ne1xlbmRncm91cFxzcGFjZXNwbGl0eHsjMX0jMiBccmVsYXhcc3BhY2VzcGxpdHh9JQotIFxsb25nXGdkZWZcc3BhY2VzcGxpdHgjMSMyICMzIzRcc3BhY2VzcGxpdHh7JQotICAgXGlmeFxyZWxheCAjMyUKLSAgICAgIzF7IzJ9e30lCi0gICBcZWxzZSAlCi0gICAgICMxeyMyfXsjMyM0fSUKLSAgIFxmaX0lCi19Ci0KLSUgRGVmaW5lIEBkZWZ1bi4KLQotJSBUaGlzIGlzIGNhbGxlZCB0byBlbmQgdGhlIGFyZ3VtZW50cyBwcm9jZXNzaW5nIGZvciBhbGwgdGhlIEBkZWYuLi4gY29tbWFuZHMuCi0lCi1cZGVmXGRlZmFyZ3Njb21tb25lbmRpbmd7JQotICBcaW50ZXJsaW5lcGVuYWx0eSA9IDEwMDAwCi0gIFxhZHZhbmNlXHJpZ2h0c2tpcCBieSAwcHQgcGx1cyAxZmlsCi0gIFxlbmRncmFmCi0gIFxub2JyZWFrXHZza2lwIC1ccGFyc2tpcAotICBccGVuYWx0eSAxMDAwMiAgJSBzaWduYWwgdG8gXHBhcnNlYm9keWNvbW1vbi4KLX0KLQotJSBUaGlzIGV4cGFuZHMgdGhlIGFyZ3MgYW5kIHRlcm1pbmF0ZXMgdGhlIHBhcmFncmFwaCB0aGV5IGNvbXByaXNlLgotJSAKLVxkZWZcZGVmdW5hcmdzIzF7XGZ1bmN0aW9ucGFyZW5zIFxzbAotJSBFeHBhbmQsIHByZXZlbnRpbmcgaHlwaGVuYXRpb24gYXQgYC0nIGNoYXJzLgotJSBOb3RlIHRoYXQgZ3JvdXBzIGRvbid0IGFmZmVjdCBjaGFuZ2VzIGluIFxoeXBoZW5jaGFyLgotJSBTZXQgdGhlIGZvbnQgdGVtcG9yYXJpbHkgYW5kIHVzZSBcZm9udCBpbiBjYXNlIFxzZXRmb250IG1hZGUgXHRlbnNsIGEgbWFjcm8uCi17XHRlbnNsXGh5cGhlbmNoYXJcZm9udD0wfSUKLSMxJQote1x0ZW5zbFxoeXBoZW5jaGFyXGZvbnQ9NDV9JQotXGlmbnVtXHBhcmVuY291bnQ9MCBcZWxzZSBcZXJybWVzc2FnZXtVbmJhbGFuY2VkIHBhcmVudGhlc2VzIGluIEBkZWZ9XGZpJQotICBcZGVmYXJnc2NvbW1vbmVuZGluZwotfQotCi1cZGVmXGRlZnR5cGVmdW5hcmdzICMxeyUKLSUgRXhwYW5kLCBwcmV2ZW50aW5nIGh5cGhlbmF0aW9uIGF0IGAtJyBjaGFycy4KLSUgTm90ZSB0aGF0IGdyb3VwcyBkb24ndCBhZmZlY3QgY2hhbmdlcyBpbiBcaHlwaGVuY2hhci4KLSUgVXNlIFxib2xkYnJheG5vYW1wLCBub3QgXGZ1bmN0aW9ucGFyZW5zLCBzbyB0aGF0ICYgaXMgbm90IHNwZWNpYWwuCi1cYm9sZGJyYXhub2FtcAotXHRjbG9zZXsjMX0lIGF2b2lkIFxjb2RlIGJlY2F1c2Ugb2Ygc2lkZSBlZmZlY3RzIG9uIGFjdGl2ZSBjaGFycwotICBcZGVmYXJnc2NvbW1vbmVuZGluZwotfQotCi0lIERvIGNvbXBsZXRlIHByb2Nlc3Npbmcgb2Ygb25lIEBkZWZ1biBvciBAZGVmdW54IGxpbmUgYWxyZWFkeSBwYXJzZWQuCi0KLSUgQGRlZmZuIENvbW1hbmQgZm9yd2FyZC1jaGFyIG5jaGFycwotCi1cZGVmXGRlZmZue1xkZWZtZXRocGFyc2Vib2R5XEVkZWZmblxkZWZmbnhcZGVmZm5oZWFkZXJ9Ci0KLVxkZWZcZGVmZm5oZWFkZXIgIzEjMiMze1xkb2luZCB7Zm59e1xjb2RleyMyfX0lCi1cYmVnaW5ncm91cFxkZWZuYW1lIHsjMn17IzF9XGRlZnVuYXJnc3sjM31cZW5kZ3JvdXAgJQotXGNhdGNvZGVcZXF1YWxDaGFyPVxvdGhlciAlIFR1cm4gb2ZmIGNoYW5nZSBtYWRlIGluIFxkZWZwYXJzZWJvZHkKLX0KLQotJSBAZGVmdW4gPT0gQGRlZmZuIEZ1bmN0aW9uCi0KLVxkZWZcZGVmdW57XGRlZnBhcnNlYm9keVxFZGVmdW5cZGVmdW54XGRlZnVuaGVhZGVyfQotCi1cZGVmXGRlZnVuaGVhZGVyICMxIzJ7XGRvaW5kIHtmbn17XGNvZGV7IzF9fSUgTWFrZSBlbnRyeSBpbiBmdW5jdGlvbiBpbmRleAotXGJlZ2luZ3JvdXBcZGVmbmFtZSB7IzF9e1xwdXR3b3JkRGVmZnVuY30lCi1cZGVmdW5hcmdzIHsjMn1cZW5kZ3JvdXAgJQotXGNhdGNvZGVcZXF1YWxDaGFyPVxvdGhlciAlIFR1cm4gb2ZmIGNoYW5nZSBtYWRlIGluIFxkZWZwYXJzZWJvZHkKLX0KLQotJSBAZGVmdHlwZWZ1biBpbnQgZm9vYmFyIChpbnQgQHZhcntmb299LCBmbG9hdCBAdmFye2Jhcn0pCi0KLVxkZWZcZGVmdHlwZWZ1bntcZGVmcGFyc2Vib2R5XEVkZWZ0eXBlZnVuXGRlZnR5cGVmdW54XGRlZnR5cGVmdW5oZWFkZXJ9Ci0KLSUgIzEgaXMgdGhlIGRhdGEgdHlwZS4gICMyIGlzIHRoZSBuYW1lIGFuZCBhcmdzLgotXGRlZlxkZWZ0eXBlZnVuaGVhZGVyICMxIzJ7XGRlZnR5cGVmdW5oZWFkZXJ4eyMxfSMyIFxyZWxheH0KLSUgIzEgaXMgdGhlIGRhdGEgdHlwZSwgIzIgdGhlIG5hbWUsICMzIHRoZSBhcmdzLgotXGRlZlxkZWZ0eXBlZnVuaGVhZGVyeCAjMSMyICMzXHJlbGF4eyUKLVxkb2luZCB7Zm59e1xjb2RleyMyfX0lIE1ha2UgZW50cnkgaW4gZnVuY3Rpb24gaW5kZXgKLVxiZWdpbmdyb3VwXGRlZm5hbWUge1xkZWZoZWFkZXJ4Y29uZCMxXHJlbGF4JC4kIzJ9e1xwdXR3b3JkRGVmdHlwZWZ1bn0lCi1cZGVmdHlwZWZ1bmFyZ3MgeyMzfVxlbmRncm91cCAlCi1cY2F0Y29kZVxlcXVhbENoYXI9XG90aGVyICUgVHVybiBvZmYgY2hhbmdlIG1hZGUgaW4gXGRlZnBhcnNlYm9keQotfQotCi0lIEBkZWZ0eXBlZm4ge0xpYnJhcnkgRnVuY3Rpb259IGludCBmb29iYXIgKGludCBAdmFye2Zvb30sIGZsb2F0IEB2YXJ7YmFyfSkKLQotXGRlZlxkZWZ0eXBlZm57XGRlZm1ldGhwYXJzZWJvZHlcRWRlZnR5cGVmblxkZWZ0eXBlZm54XGRlZnR5cGVmbmhlYWRlcn0KLQotJSBcZGVmaGVhZGVyeGNvbmQjMVxyZWxheCQuJAotJSBwdXRzICMxIGluIEBjb2RlLCBmb2xsb3dlZCBieSBhIHNwYWNlLCBidXQgZG9lcyBub3RoaW5nIGlmICMxIGlzIG51bGwuCi1cZGVmXGRlZmhlYWRlcnhjb25kIzEjMiQuJHtcaWZ4IzFccmVsYXhcZWxzZVxjb2RleyMxIzJ9IFxmaX0KLQotJSAjMSBpcyB0aGUgY2xhc3NpZmljYXRpb24uICAjMiBpcyB0aGUgZGF0YSB0eXBlLiAgIzMgaXMgdGhlIG5hbWUgYW5kIGFyZ3MuCi1cZGVmXGRlZnR5cGVmbmhlYWRlciAjMSMyIzN7XGRlZnR5cGVmbmhlYWRlcnh7IzF9eyMyfSMzIFxyZWxheH0KLSUgIzEgaXMgdGhlIGNsYXNzaWZpY2F0aW9uLCAjMiB0aGUgZGF0YSB0eXBlLCAjMyB0aGUgbmFtZSwgIzQgdGhlIGFyZ3MuCi1cZGVmXGRlZnR5cGVmbmhlYWRlcnggIzEjMiMzICM0XHJlbGF4eyUKLVxkb2luZCB7Zm59e1xjb2RleyMzfX0lIE1ha2UgZW50cnkgaW4gZnVuY3Rpb24gaW5kZXgKLVxiZWdpbmdyb3VwCi1cbm9ybWFscGFyZW5zICUgbm90YWJseSwgdHVybiBvZmYgYCYnIG1hZ2ljLCB3aGljaCBwcmV2ZW50cwotJSAgICAgICAgICAgICAgIGF0IGxlYXN0IHNvbWUgQysrIHRleHQgZnJvbSB3b3JraW5nCi1cZGVmbmFtZSB7XGRlZmhlYWRlcnhjb25kIzJccmVsYXgkLiQjM317IzF9JQotXGRlZnR5cGVmdW5hcmdzIHsjNH1cZW5kZ3JvdXAgJQotXGNhdGNvZGVcZXF1YWxDaGFyPVxvdGhlciAlIFR1cm4gb2ZmIGNoYW5nZSBtYWRlIGluIFxkZWZwYXJzZWJvZHkKLX0KLQotJSBAZGVmbWFjID09IEBkZWZmbiBNYWNybwotCi1cZGVmXGRlZm1hY3tcZGVmcGFyc2Vib2R5XEVkZWZtYWNcZGVmbWFjeFxkZWZtYWNoZWFkZXJ9Ci0KLVxkZWZcZGVmbWFjaGVhZGVyICMxIzJ7XGRvaW5kIHtmbn17XGNvZGV7IzF9fSUgTWFrZSBlbnRyeSBpbiBmdW5jdGlvbiBpbmRleAotXGJlZ2luZ3JvdXBcZGVmbmFtZSB7IzF9e1xwdXR3b3JkRGVmbWFjfSUKLVxkZWZ1bmFyZ3MgeyMyfVxlbmRncm91cCAlCi1cY2F0Y29kZVxlcXVhbENoYXI9XG90aGVyICUgVHVybiBvZmYgY2hhbmdlIG1hZGUgaW4gXGRlZnBhcnNlYm9keQotfQotCi0lIEBkZWZzcGVjID09IEBkZWZmbiBTcGVjaWFsIEZvcm0KLQotXGRlZlxkZWZzcGVje1xkZWZwYXJzZWJvZHlcRWRlZnNwZWNcZGVmc3BlY3hcZGVmc3BlY2hlYWRlcn0KLQotXGRlZlxkZWZzcGVjaGVhZGVyICMxIzJ7XGRvaW5kIHtmbn17XGNvZGV7IzF9fSUgTWFrZSBlbnRyeSBpbiBmdW5jdGlvbiBpbmRleAotXGJlZ2luZ3JvdXBcZGVmbmFtZSB7IzF9e1xwdXR3b3JkRGVmc3BlY30lCi1cZGVmdW5hcmdzIHsjMn1cZW5kZ3JvdXAgJQotXGNhdGNvZGVcZXF1YWxDaGFyPVxvdGhlciAlIFR1cm4gb2ZmIGNoYW5nZSBtYWRlIGluIFxkZWZwYXJzZWJvZHkKLX0KLQotJSBAZGVmb3AgQ0FURUdPUlkgQ0xBU1MgT1BFUkFUSU9OIEFSRy4uLgotJQotXGRlZlxkZWZvcCAjMSB7XGRlZlxkZWZvcHR5cGV7IzF9JQotXGRlZm9wcGFyc2Vib2R5XEVkZWZvcFxkZWZvcHhcZGVmb3BoZWFkZXJcZGVmb3B0eXBlfQotJQotXGRlZlxkZWZvcGhlYWRlciMxIzIjM3slCi0gIFxkb3N1YmluZHtmbn17XGNvZGV7IzJ9fXtccHV0d29yZG9uXCBcY29kZXsjMX19JSBmdW5jdGlvbiBpbmRleCBlbnRyeQorXGRlZlxwcmludGRlZnVubGluZSMxIzJ7JQogICBcYmVnaW5ncm91cAotICAgIFxkZWZuYW1leyMyfXtcZGVmb3B0eXBlXCBccHV0d29yZG9uXCAjMX0lCi0gICAgXGRlZnVuYXJnc3sjM30lCisgICAgJSBjYWxsIFxkZWZmbmhlYWRlcjoKKyAgICAjMSMyIFxlbmRoZWFkZXIKKyAgICAlIGNvbW1vbiBlbmRpbmc6CisgICAgXGludGVybGluZXBlbmFsdHkgPSAxMDAwMAorICAgIFxhZHZhbmNlXHJpZ2h0c2tpcCBieSAwcHQgcGx1cyAxZmlsCisgICAgXGVuZGdyYWYKKyAgICBcbm9icmVha1x2c2tpcCAtXHBhcnNraXAKKyAgICBccGVuYWx0eVxkZWZ1bnBlbmFsdHkgICUgc2lnbmFsIHRvIFxzdGFydGRlZnVuIGFuZCBcZG9kZWZ1bngKKyAgICAlIFNvbWUgb2YgdGhlIEBkZWZ1bi10eXBlIHRhZ3MgZG8gbm90IGVuYWJsZSBtYWdpYyBwYXJlbnRoZXNlcywKKyAgICAlIHJlbmRlcmluZyB0aGUgZm9sbG93aW5nIGNoZWNrIHJlZHVuZGFudC4gIEJ1dCB3ZSBkb24ndCBvcHRpbWl6ZS4KKyAgICBcY2hlY2twYXJlbmNvdW50cwogICBcZW5kZ3JvdXAKIH0KIAotJSBAZGVmdHlwZW9wIENBVEVHT1JZIENMQVNTIFRZUEUgT1BFUkFUSU9OIEFSRy4uLgorXGRlZlxFZGVmdW57XGVuZGdyYWZcbWVkYnJlYWt9CisKKyUgXG1ha2VkZWZ1bntkZWZmbn0gY3JlYXRlcyBcZGVmZm4sIFxkZWZmbnggYW5kIFxFZGVmZm47CislIHRoZSBvbmx5IHRoaW5nIHJlbWFpbmluZyBpcyB0byBkZWZpbmUgXGRlZmZuaGVhZGVyLgogJQotXGRlZlxkZWZ0eXBlb3AgIzEge1xkZWZcZGVmdHlwZW9wY2F0ZWdvcnl7IzF9JQotICBcZGVmdHlwZW9wcGFyc2Vib2R5XEVkZWZ0eXBlb3BcZGVmdHlwZW9weFxkZWZ0eXBlb3BoZWFkZXIKLSAgICAgICAgICAgICAgICAgICAgICAgXGRlZnR5cGVvcGNhdGVnb3J5fQotJQotJSAjMSBpcyB0aGUgY2xhc3MgbmFtZSwgIzIgdGhlIGRhdGEgdHlwZSwgIzMgdGhlIG9wZXJhdGlvbiBuYW1lLCAjNCB0aGUgYXJncy4KLVxkZWZcZGVmdHlwZW9waGVhZGVyIzEjMiMzIzR7JQotICBcZG9zdWJpbmR7Zm59e1xjb2RleyMzfX17XHB1dHdvcmRvblwgXGNvZGV7IzF9fSUgZW50cnkgaW4gZnVuY3Rpb24gaW5kZXgKLSAgXGJlZ2luZ3JvdXAKLSAgICBcZGVmbmFtZXtcZGVmaGVhZGVyeGNvbmQjMlxyZWxheCQuJCMzfQotICAgICAgICAgICAge1xkZWZ0eXBlb3BjYXRlZ29yeVwgXHB1dHdvcmRvblwgXGNvZGV7IzF9fSUKLSAgICBcZGVmdHlwZWZ1bmFyZ3N7IzR9JQotICBcZW5kZ3JvdXAKK1xkZWZcbWFrZWRlZnVuIzF7JQorICBcZXhwYW5kYWZ0ZXJcbGV0XGNzbmFtZSBFIzFcZW5kY3NuYW1lID0gXEVkZWZ1bgorICBcZWRlZlx0ZW1we1xub2V4cGFuZFxkb21ha2VkZWZ1bgorICAgIFxtYWtlY3NuYW1leyMxfVxtYWtlY3NuYW1leyMxeH1cbWFrZWNzbmFtZXsjMWhlYWRlcn19JQorICBcdGVtcAogfQogCi0lIEBkZWZ0eXBlbWV0aG9kIENMQVNTIFRZUEUgTUVUSE9EIEFSRy4uLgorJSBcZG9tYWtlZGVmdW4gXGRlZmZuIFxkZWZmbnggXGRlZmZuaGVhZGVyCiAlCi1cZGVmXGRlZnR5cGVtZXRob2R7JQotICBcZGVmdHlwZW1ldGhwYXJzZWJvZHlcRWRlZnR5cGVtZXRob2RcZGVmdHlwZW1ldGhvZHhcZGVmdHlwZW1ldGhvZGhlYWRlcn0KKyUgRGVmaW5lIFxkZWZmbiBhbmQgXGRlZmZueCwgd2l0aG91dCBwYXJhbWV0ZXJzLgorJSBcZGVmZm5oZWFkZXIgaGFzIHRvIGJlIGRlZmluZWQgZXhwbGljaXRseS4KICUKLSUgIzEgaXMgdGhlIGNsYXNzIG5hbWUsICMyIHRoZSBkYXRhIHR5cGUsICMzIHRoZSBtZXRob2QgbmFtZSwgIzQgdGhlIGFyZ3MuCi1cZGVmXGRlZnR5cGVtZXRob2RoZWFkZXIjMSMyIzMjNHslCi0gIFxkb3N1YmluZHtmbn17XGNvZGV7IzN9fXtccHV0d29yZG9uXCBcY29kZXsjMX19JSBlbnRyeSBpbiBmdW5jdGlvbiBpbmRleAotICBcYmVnaW5ncm91cAotICAgIFxkZWZuYW1le1xkZWZoZWFkZXJ4Y29uZCMyXHJlbGF4JC4kIzN9e1xwdXR3b3JkTWV0aG9kb25cIFxjb2RleyMxfX0lCi0gICAgXGRlZnR5cGVmdW5hcmdzeyM0fSUKLSAgXGVuZGdyb3VwCitcZGVmXGRvbWFrZWRlZnVuIzEjMiMzeyUKKyAgXGVudmRlZiMxeyUKKyAgICBcc3RhcnRkZWZ1bgorICAgIFxwYXJzZWFyZ3VzaW5nXGFjdGl2ZXBhcmVuc3tccHJpbnRkZWZ1bmxpbmUjM30lCisgIH0lCisgIFxkZWYjMntcZG9kZWZ1bngjMX0lCisgIFxkZWYjMyUKIH0KIAotJSBAZGVmdHlwZWl2YXIgQ0xBU1MgVFlQRSBWQVJOQU1FCislJSUgVW50eXBlZCBmdW5jdGlvbnM6CisKKyUgQGRlZmZuIGNhdGVnb3J5IG5hbWUgYXJncworXG1ha2VkZWZ1bntkZWZmbn17XGRlZmZuZ2VuZXJhbHt9fQorCislIEBkZWZmbiBjYXRlZ29yeSBjbGFzcyBuYW1lIGFyZ3MKK1xtYWtlZGVmdW57ZGVmb3B9IzEge1xkZWZvcG9ueyMxXCBccHV0d29yZG9ufX0KKworJSBcZGVmb3BvbiB7Y2F0ZWdvcnkgb259Y2xhc3MgbmFtZSBhcmdzCitcZGVmXGRlZm9wb24jMSMyIHtcZGVmZm5nZW5lcmFse1xwdXR3b3Jkb25cIFxjb2RleyMyfX17IzFcIFxjb2RleyMyfX0gfQorCislIFxkZWZmbmdlbmVyYWwge3N1YmluZH1jYXRlZ29yeSBuYW1lIGFyZ3MKICUKLVxkZWZcZGVmdHlwZWl2YXJ7JQotICBcZGVmdHlwZW1ldGhwYXJzZWJvZHlcRWRlZnR5cGVpdmFyXGRlZnR5cGVpdmFyeFxkZWZ0eXBlaXZhcmhlYWRlcn0KK1xkZWZcZGVmZm5nZW5lcmFsIzEjMiAjMyAjNFxlbmRoZWFkZXJ7JQorICAlIFJlbWVtYmVyIHRoYXQgXGRvc3ViaW5ke2ZufXtmb299e30gaXMgZXF1aXZhbGVudCB0byBcZG9pbmR7Zm59e2Zvb30uCisgIFxkb3N1YmluZHtmbn17XGNvZGV7IzN9fXsjMX0lCisgIFxkZWZuYW1leyMyfXt9eyMzfVxtYWdpY2FtcFxkZWZ1bmFyZ3N7IzRcdW5za2lwfSUKK30KKworJSUlIFR5cGVkIGZ1bmN0aW9uczoKKworJSBAZGVmdHlwZWZuIGNhdGVnb3J5IHR5cGUgbmFtZSBhcmdzCitcbWFrZWRlZnVue2RlZnR5cGVmbn17XGRlZnR5cGVmbmdlbmVyYWx7fX0KKworJSBAZGVmdHlwZW9wIGNhdGVnb3J5IGNsYXNzIHR5cGUgbmFtZSBhcmdzCitcbWFrZWRlZnVue2RlZnR5cGVvcH0jMSB7XGRlZnR5cGVvcG9ueyMxXCBccHV0d29yZG9ufX0KKworJSBcZGVmdHlwZW9wb24ge2NhdGVnb3J5IG9ufWNsYXNzIHR5cGUgbmFtZSBhcmdzCitcZGVmXGRlZnR5cGVvcG9uIzEjMiB7XGRlZnR5cGVmbmdlbmVyYWx7XHB1dHdvcmRvblwgXGNvZGV7IzJ9fXsjMVwgXGNvZGV7IzJ9fSB9CisKKyUgXGRlZnR5cGVmbmdlbmVyYWwge3N1YmluZH1jYXRlZ29yeSB0eXBlIG5hbWUgYXJncwogJQotJSAjMSBpcyB0aGUgY2xhc3MgbmFtZSwgIzIgdGhlIGRhdGEgdHlwZSwgIzMgdGhlIHZhcmlhYmxlIG5hbWUuCi1cZGVmXGRlZnR5cGVpdmFyaGVhZGVyIzEjMiMzeyUKLSAgXGRvc3ViaW5ke3ZyfXtcY29kZXsjM319e1xwdXR3b3Jkb2ZcIFxjb2RleyMxfX0lIGVudHJ5IGluIHZhcmlhYmxlIGluZGV4Ci0gIFxiZWdpbmdyb3VwCi0gICAgXGRlZm5hbWV7XGRlZmhlYWRlcnhjb25kIzJccmVsYXgkLiQjM30KLSAgICAgICAgICAgIHtccHV0d29yZEluc3RhbmNlVmFyaWFibGVvZlwgXGNvZGV7IzF9fSUKLSAgICBcZGVmdmFyYXJnc3sjM30lCi0gIFxlbmRncm91cAorXGRlZlxkZWZ0eXBlZm5nZW5lcmFsIzEjMiAjMyAjNCAjNVxlbmRoZWFkZXJ7JQorICBcZG9zdWJpbmR7Zm59e1xjb2RleyM0fX17IzF9JQorICBcZGVmbmFtZXsjMn17IzN9eyM0fVxkZWZ1bmFyZ3N7IzVcdW5za2lwfSUKIH0KIAotJSBAZGVmbWV0aG9kID09IEBkZWZvcCBNZXRob2QKKyUlJSBUeXBlZCB2YXJpYWJsZXM6CisKKyUgQGRlZnR5cGV2ciBjYXRlZ29yeSB0eXBlIHZhciBhcmdzCitcbWFrZWRlZnVue2RlZnR5cGV2cn17XGRlZnR5cGVjdmdlbmVyYWx7fX0KKworJSBAZGVmdHlwZWN2IGNhdGVnb3J5IGNsYXNzIHR5cGUgdmFyIGFyZ3MKK1xtYWtlZGVmdW57ZGVmdHlwZWN2fSMxIHtcZGVmdHlwZWN2b2Z7IzFcIFxwdXR3b3Jkb2Z9fQorCislIFxkZWZ0eXBlY3ZvZiB7Y2F0ZWdvcnkgb2Z9Y2xhc3MgdHlwZSB2YXIgYXJncworXGRlZlxkZWZ0eXBlY3ZvZiMxIzIge1xkZWZ0eXBlY3ZnZW5lcmFse1xwdXR3b3Jkb2ZcIFxjb2RleyMyfX17IzFcIFxjb2RleyMyfX0gfQorCislIFxkZWZ0eXBlY3ZnZW5lcmFsIHtzdWJpbmR9Y2F0ZWdvcnkgdHlwZSB2YXIgYXJncwogJQotXGRlZlxkZWZtZXRob2R7XGRlZm1ldGhwYXJzZWJvZHlcRWRlZm1ldGhvZFxkZWZtZXRob2R4XGRlZm1ldGhvZGhlYWRlcn0KK1xkZWZcZGVmdHlwZWN2Z2VuZXJhbCMxIzIgIzMgIzQgIzVcZW5kaGVhZGVyeyUKKyAgXGRvc3ViaW5ke3ZyfXtcY29kZXsjNH19eyMxfSUKKyAgXGRlZm5hbWV7IzJ9eyMzfXsjNH1cZGVmdW5hcmdzeyM1XHVuc2tpcH0lCit9CisKKyUlJSBVbnR5cGVkIHZhcmlhYmxlczoKKworJSBAZGVmdnIgY2F0ZWdvcnkgdmFyIGFyZ3MKK1xtYWtlZGVmdW57ZGVmdnJ9IzEge1xkZWZ0eXBldnJoZWFkZXJ7IzF9IHt9IH0KKworJSBAZGVmY3YgY2F0ZWdvcnkgY2xhc3MgdmFyIGFyZ3MKK1xtYWtlZGVmdW57ZGVmY3Z9IzEge1xkZWZjdm9meyMxXCBccHV0d29yZG9mfX0KKworJSBcZGVmY3ZvZiB7Y2F0ZWdvcnkgb2Z9Y2xhc3MgdmFyIGFyZ3MKK1xkZWZcZGVmY3ZvZiMxIzIge1xkZWZ0eXBlY3ZvZnsjMX0jMiB7fSB9CisKKyUlJSBUeXBlOgorJSBAZGVmdHAgY2F0ZWdvcnkgbmFtZSBhcmdzCitcbWFrZWRlZnVue2RlZnRwfSMxICMyICMzXGVuZGhlYWRlcnslCisgIFxkb2luZHt0cH17XGNvZGV7IzJ9fSUKKyAgXGRlZm5hbWV7IzF9e317IzJ9XGRlZnVuYXJnc3sjM1x1bnNraXB9JQorfQorCislIFJlbWFpbmluZyBAZGVmdW4tbGlrZSBzaG9ydGN1dHM6CitcbWFrZWRlZnVue2RlZnVufXtcZGVmZm5oZWFkZXJ7XHB1dHdvcmREZWZmdW5jfSB9CitcbWFrZWRlZnVue2RlZm1hY317XGRlZmZuaGVhZGVye1xwdXR3b3JkRGVmbWFjfSB9CitcbWFrZWRlZnVue2RlZnNwZWN9e1xkZWZmbmhlYWRlcntccHV0d29yZERlZnNwZWN9IH0KK1xtYWtlZGVmdW57ZGVmdHlwZWZ1bn17XGRlZnR5cGVmbmhlYWRlcntccHV0d29yZERlZmZ1bmN9IH0KK1xtYWtlZGVmdW57ZGVmdmFyfXtcZGVmdnJoZWFkZXJ7XHB1dHdvcmREZWZ2YXJ9IH0KK1xtYWtlZGVmdW57ZGVmb3B0fXtcZGVmdnJoZWFkZXJ7XHB1dHdvcmREZWZvcHR9IH0KK1xtYWtlZGVmdW57ZGVmdHlwZXZhcn17XGRlZnR5cGV2cmhlYWRlcntccHV0d29yZERlZnZhcn0gfQorXG1ha2VkZWZ1bntkZWZtZXRob2R9e1xkZWZvcG9uXHB1dHdvcmRNZXRob2Rvbn0KK1xtYWtlZGVmdW57ZGVmdHlwZW1ldGhvZH17XGRlZnR5cGVvcG9uXHB1dHdvcmRNZXRob2Rvbn0KK1xtYWtlZGVmdW57ZGVmaXZhcn17XGRlZmN2b2ZccHV0d29yZEluc3RhbmNlVmFyaWFibGVvZn0KK1xtYWtlZGVmdW57ZGVmdHlwZWl2YXJ9e1xkZWZ0eXBlY3ZvZlxwdXR3b3JkSW5zdGFuY2VWYXJpYWJsZW9mfQorCislIFxkZWZuYW1lLCB3aGljaCBmb3JtYXRzIHRoZSBuYW1lIG9mIHRoZSBAZGVmIChub3QgdGhlIGFyZ3MpLgorJSAjMSBpcyB0aGUgY2F0ZWdvcnksIHN1Y2ggYXMgIkZ1bmN0aW9uIi4KKyUgIzIgaXMgdGhlIHJldHVybiB0eXBlLCBpZiBhbnkuCislICMzIGlzIHRoZSBmdW5jdGlvbiBuYW1lLgogJQotJSAjMSBpcyB0aGUgY2xhc3MgbmFtZSwgIzIgdGhlIG1ldGhvZCBuYW1lLCAjMyB0aGUgYXJncy4KLVxkZWZcZGVmbWV0aG9kaGVhZGVyIzEjMiMzeyUKLSAgXGRvc3ViaW5ke2ZufXtcY29kZXsjMn19e1xwdXR3b3Jkb25cIFxjb2RleyMxfX0lIGVudHJ5IGluIGZ1bmN0aW9uIGluZGV4Ci0gIFxiZWdpbmdyb3VwCi0gICAgXGRlZm5hbWV7IzJ9e1xwdXR3b3JkTWV0aG9kb25cIFxjb2RleyMxfX0lCi0gICAgXGRlZnVuYXJnc3sjM30lCi0gIFxlbmRncm91cAotfQotCi0lIEBkZWZjdiB7Q2xhc3MgT3B0aW9ufSBmb28tY2xhc3MgZm9vLWZsYWcKLQotXGRlZlxkZWZjdiAjMSB7XGRlZlxkZWZjdnR5cGV7IzF9JQotXGRlZm9wdmFycGFyc2Vib2R5XEVkZWZjdlxkZWZjdnhcZGVmY3ZhcmhlYWRlclxkZWZjdnR5cGV9Ci0KLVxkZWZcZGVmY3ZhcmhlYWRlciAjMSMyIzN7JQotICBcZG9zdWJpbmR7dnJ9e1xjb2RleyMyfX17XHB1dHdvcmRvZlwgXGNvZGV7IzF9fSUgdmFyaWFibGUgaW5kZXggZW50cnkKLSAgXGJlZ2luZ3JvdXAKLSAgICBcZGVmbmFtZXsjMn17XGRlZmN2dHlwZVwgXHB1dHdvcmRvZlwgIzF9JQotICAgIFxkZWZ2YXJhcmdzeyMzfSUKLSAgXGVuZGdyb3VwCi19Ci0KLSUgQGRlZml2YXIgQ0xBU1MgVkFSTkFNRSA9PSBAZGVmY3Yge0luc3RhbmNlIFZhcmlhYmxlfSBDTEFTUyBWQVJOQU1FCislIFdlIGFyZSBmb2xsb3dlZCBieSAoYnV0IG5vdCBwYXNzZWQpIHRoZSBhcmd1bWVudHMsIGlmIGFueS4KICUKLVxkZWZcZGVmaXZhcntcZGVmdnJwYXJzZWJvZHlcRWRlZml2YXJcZGVmaXZhcnhcZGVmaXZhcmhlYWRlcn0KK1xkZWZcZGVmbmFtZSMxIzIjM3slCisgICUgR2V0IHRoZSB2YWx1ZXMgb2YgXGxlZnRza2lwIGFuZCBccmlnaHRza2lwIGFzIHRoZXkgd2VyZSBvdXRzaWRlIHRoZSBAZGVmLi4uCisgIFxhZHZhbmNlXGxlZnRza2lwIGJ5IC1cZGVmYm9keWluZGVudAorICAlCisgICUgSG93IHdlJ2xsIGZvcm1hdCB0aGUgdHlwZSBuYW1lLiAgUHV0dGluZyBpdCBpbiBicmFja2V0cyBoZWxwcworICAlIGRpc3Rpbmd1aXNoIGl0IGZyb20gdGhlIGJvZHkgdGV4dCB0aGF0IG1heSBlbmQgdXAgb24gdGhlIG5leHQgbGluZQorICAlIGp1c3QgYmVsb3cgaXQuCisgIFxkZWZcdGVtcHsjMX0lCisgIFxzZXRib3gwPVxoYm94e1xrZXJuXGRlZmxhc3RhcmdtYXJnaW4gXGlmeFx0ZW1wXGVtcHR5XGVsc2UgW1xybVx0ZW1wXVxmaX0KKyAgJQorICAlIEZpZ3VyZSBvdXQgbGluZSBzaXplcyBmb3IgdGhlIHBhcmFncmFwaCBzaGFwZS4KKyAgJSBUaGUgZmlyc3QgbGluZSBuZWVkcyBzcGFjZSBmb3IgXGJveDA7IGJ1dCBpZiBccmlnaHRza2lwIGlzIG5vbnplcm8sCisgICUgd2UgbmVlZCBvbmx5IHNwYWNlIGZvciB0aGUgcGFydCBvZiBcYm94MCB3aGljaCBleGNlZWRzIGl0OgorICBcZGltZW4wPVxoc2l6ZSAgXGFkdmFuY2VcZGltZW4wIGJ5IC1cd2QwICBcYWR2YW5jZVxkaW1lbjAgYnkgXHJpZ2h0c2tpcAorICAlIFRoZSBjb250aW51YXRpb25zOgorICBcZGltZW4yPVxoc2l6ZSAgXGFkdmFuY2VcZGltZW4yIGJ5IC1cZGVmYXJnc2luZGVudAorICAlIChwbGFpbi50ZXggc2F5cyB0aGF0IFxkaW1lbjEgc2hvdWxkIGJlIHVzZWQgb25seSBhcyBnbG9iYWwuKQorICBccGFyc2hhcGUgMiAwaW4gXGRpbWVuMCBcZGVmYXJnc2luZGVudCBcZGltZW4yCisgICUKKyAgJSBQdXQgdGhlIHR5cGUgbmFtZSB0byB0aGUgcmlnaHQgbWFyZ2luLgorICBcbm9pbmRlbnQKKyAgXGhib3ggdG8gMHB0eyUKKyAgICBcaGZpbFxib3gwIFxrZXJuLVxoc2l6ZQorICAgICUgXGhzaXplIGhhcyB0byBiZSBzaG9ydGVuZWQgdGhpcyB3YXk6CisgICAgXGtlcm5cbGVmdHNraXAKKyAgICAlIEludGVudGlvbmFsbHkgZG8gbm90IHJlc3BlY3QgXHJpZ2h0c2tpcCwgc2luY2Ugd2UgbmVlZCB0aGUgc3BhY2UuCisgIH0lCisgICUKKyAgJSBBbGxvdyBhbGwgbGluZXMgdG8gYmUgdW5kZXJmdWxsIHdpdGhvdXQgY29tcGxhaW50OgorICBcdG9sZXJhbmNlPTEwMDAwIFxoYmFkbmVzcz0xMDAwMAorICBcZXhkZW50YW1vdW50PVxkZWZib2R5aW5kZW50CisgIHslCisgICAgJSBkZWZ1biBmb250cy4gV2UgdXNlIHR5cGV3cml0ZXIgYnkgZGVmYXVsdCAodXNlZCB0byBiZSBib2xkKSBiZWNhdXNlOgorICAgICUgLiB3ZSdyZSBwcmludGluZyBpZGVudGlmaWVycywgdGhleSBzaG91bGQgYmUgaW4gdHQgaW4gcHJpbmNpcGxlLgorICAgICUgLiBpbiBsYW5ndWFnZXMgd2l0aCBtYW55IGFjY2VudHMsIHN1Y2ggYXMgQ3plY2ggb3IgRnJlbmNoLCBpdCdzCisgICAgJSAgIGNvbW1vbiB0byBsZWF2ZSBhY2NlbnRzIG9mZiBpZGVudGlmaWVycy4gIFRoZSByZXN1bHQgbG9va3Mgb2sgaW4KKyAgICAlICAgdHQsIGJ1dCBleGNlZWRpbmdseSBzdHJhbmdlIGluIHJtLgorICAgICUgLiB3ZSBkb24ndCB3YW50IC0tIGFuZCAtLS0gdG8gYmUgdHJlYXRlZCBhcyBsaWdhdHVyZXMuCisgICAgJSAuIHRoaXMgc3RpbGwgZG9lcyBub3QgZml4IHRoZSA/YCBhbmQgIWAgbGlnYXR1cmVzLCBidXQgc28gZmFyIG5vCisgICAgJSAgIG9uZSBoYXMgbWFkZSBpZGVudGlmaWVycyB1c2luZyB0aGVtIDopLgorICAgIFxkZiBcdHQKKyAgICBcZGVmXHRlbXB7IzJ9JSByZXR1cm4gdmFsdWUgdHlwZQorICAgIFxpZnhcdGVtcFxlbXB0eVxlbHNlIFx0Y2xvc2V7XHRlbXB9IFxmaQorICAgICMzJSBvdXRwdXQgZnVuY3Rpb24gbmFtZQorICB9JQorICB7XHJtXGVuc2tpcH0lIGhza2lwIDAuNSBlbSBvZiBcdGVucm0KKyAgJQorICBcYm9sZGJyYXgKKyAgJSBhcmd1bWVudHMgd2lsbCBiZSBvdXRwdXQgbmV4dCwgaWYgYW55LgorfQorCislIFByaW50IGFyZ3VtZW50cyBpbiBzbGFudGVkIHJvbWFuIChub3QgdHRzbCksIGluY29uc2lzdGVudGx5IHdpdGggdXNpbmcKKyUgdHQgZm9yIHRoZSBuYW1lLiAgVGhpcyBpcyBiZWNhdXNlIGxpdGVyYWwgdGV4dCBpcyBzb21ldGltZXMgbmVlZGVkIGluCislIHRoZSBhcmd1bWVudCBsaXN0IChncm9mZiBtYW51YWwpLCBhbmQgdHRzbCBhbmQgdHQgYXJlIG5vdCB2ZXJ5CislIGRpc3Rpbmd1aXNoYWJsZS4gIFByZXZlbnQgaHlwaGVuYXRpb24gYXQgYC0nIGNoYXJzLgogJQotXGRlZlxkZWZpdmFyaGVhZGVyIzEjMiMzeyUKLSAgXGRvc3ViaW5ke3ZyfXtcY29kZXsjMn19e1xwdXR3b3Jkb2ZcIFxjb2RleyMxfX0lIGVudHJ5IGluIHZhciBpbmRleAotICBcYmVnaW5ncm91cAotICAgIFxkZWZuYW1leyMyfXtccHV0d29yZEluc3RhbmNlVmFyaWFibGVvZlwgIzF9JQotICAgIFxkZWZ2YXJhcmdzeyMzfSUKLSAgXGVuZGdyb3VwCitcZGVmXGRlZnVuYXJncyMxeyUKKyAgJSB1c2Ugc2wgYnkgZGVmYXVsdCAobm90IHR0c2wpLAorICAlIHR0IGZvciB0aGUgbmFtZXMuCisgIFxkZiBcc2wgXGh5cGhlbmNoYXJcZm9udD0wCisgICUKKyAgJSBPbiB0aGUgb3RoZXIgaGFuZCwgaWYgYW4gYXJndW1lbnQgaGFzIHR3byBkYXNoZXMgKGZvciBpbnN0YW5jZSksIHdlCisgICUgd2FudCBhIHdheSB0byBnZXQgdHRzbC4gIExldCdzIHRyeSBAdmFyIGZvciB0aGF0LgorICBcZGVmXHZhciMjMXt7XHNldHVwbWFya3Vwc3R5bGV7dmFyfVx0dHNsYW50ZWR7IyMxfX19JQorICAjMSUKKyAgXHNsXGh5cGhlbmNoYXJcZm9udD00NQogfQogCi0lIEBkZWZ2YXIKLSUgRmlyc3QsIGRlZmluZSB0aGUgcHJvY2Vzc2luZyB0aGF0IGlzIHdhbnRlZCBmb3IgYXJndW1lbnRzIG9mIEBkZWZ2YXIuCi0lIFRoaXMgaXMgYWN0dWFsbHkgc2ltcGxlOiBqdXN0IHByaW50IHRoZW0gaW4gcm9tYW4uCi0lIFRoaXMgbXVzdCBleHBhbmQgdGhlIGFyZ3MgYW5kIHRlcm1pbmF0ZSB0aGUgcGFyYWdyYXBoIHRoZXkgbWFrZSB1cAotXGRlZlxkZWZ2YXJhcmdzICMxe1xub3JtYWxwYXJlbnMgIzElCi0gIFxkZWZhcmdzY29tbW9uZW5kaW5nCislIFdlIHdhbnQgKCkmW10gdG8gcHJpbnQgc3BlY2lhbGx5IG9uIHRoZSBkZWZ1biBsaW5lLgorJQorXGRlZlxhY3RpdmVwYXJlbnN7JQorICBcY2F0Y29kZWBcKD1cYWN0aXZlIFxjYXRjb2RlYFwpPVxhY3RpdmUKKyAgXGNhdGNvZGVgXFs9XGFjdGl2ZSBcY2F0Y29kZWBcXT1cYWN0aXZlCisgIFxjYXRjb2RlYFwmPVxhY3RpdmUKIH0KIAotJSBAZGVmdnIgQ291bnRlciBmb28tY291bnQKKyUgTWFrZSBjb250cm9sIHNlcXVlbmNlcyB3aGljaCBhY3QgbGlrZSBub3JtYWwgcGFyZW50aGVzaXMgY2hhcnMuCitcbGV0XGxwYXJlbiA9ICggXGxldFxycGFyZW4gPSApCiAKLVxkZWZcZGVmdnJ7XGRlZnZycGFyc2Vib2R5XEVkZWZ2clxkZWZ2cnhcZGVmdnJoZWFkZXJ9CislIEJlIHN1cmUgdGhhdCB3ZSBhbHdheXMgaGF2ZSBhIGRlZmluaXRpb24gZm9yIGAoJywgZXRjLiAgRm9yIGV4YW1wbGUsCislIGlmIHRoZSBmbiBuYW1lIGhhcyBwYXJlbnMgaW4gaXQsIFxib2xkYnJheCB3aWxsIG5vdCBiZSBpbiBlZmZlY3QgeWV0LAorJSBzbyBUZVggd291bGQgb3RoZXJ3aXNlIGNvbXBsYWluIGFib3V0IHVuZGVmaW5lZCBjb250cm9sIHNlcXVlbmNlLgoreworICBcYWN0aXZlcGFyZW5zCisgIFxnbG9iYWxcbGV0KD1cbHBhcmVuIFxnbG9iYWxcbGV0KT1ccnBhcmVuCisgIFxnbG9iYWxcbGV0Wz1cbGJyYWNrIFxnbG9iYWxcbGV0XT1ccmJyYWNrCisgIFxnbG9iYWxcbGV0JiA9IFwmCiAKLVxkZWZcZGVmdnJoZWFkZXIgIzEjMiMze1xkb2luZCB7dnJ9e1xjb2RleyMyfX0lCi1cYmVnaW5ncm91cFxkZWZuYW1lIHsjMn17IzF9XGRlZnZhcmFyZ3N7IzN9XGVuZGdyb3VwfQotCi0lIEBkZWZ2YXIgPT0gQGRlZnZyIFZhcmlhYmxlCi0KLVxkZWZcZGVmdmFye1xkZWZ2YXJwYXJzZWJvZHlcRWRlZnZhclxkZWZ2YXJ4XGRlZnZhcmhlYWRlcn0KLQotXGRlZlxkZWZ2YXJoZWFkZXIgIzEjMntcZG9pbmQge3ZyfXtcY29kZXsjMX19JSBNYWtlIGVudHJ5IGluIHZhciBpbmRleAotXGJlZ2luZ3JvdXBcZGVmbmFtZSB7IzF9e1xwdXR3b3JkRGVmdmFyfSUKLVxkZWZ2YXJhcmdzIHsjMn1cZW5kZ3JvdXAgJQorICBcZ2RlZlxib2xkYnJheHtcbGV0KD1cb3BuclxsZXQpPVxjbG5yXGxldFs9XGxicmJcbGV0XT1ccmJyYn0KKyAgXGdkZWZcbWFnaWNhbXB7XGxldCY9XGFtcHJtfQogfQogCi0lIEBkZWZvcHQgPT0gQGRlZnZyIHtVc2VyIE9wdGlvbn0KK1xuZXdjb3VudFxwYXJlbmNvdW50CiAKLVxkZWZcZGVmb3B0e1xkZWZ2YXJwYXJzZWJvZHlcRWRlZm9wdFxkZWZvcHR4XGRlZm9wdGhlYWRlcn0KKyUgSWYgd2UgZW5jb3VudGVyICZmb28sIHRoZW4gdHVybiBvbiAoKS1oYWNraW5nIGFmdGVyd2FyZHMKK1xuZXdpZlxpZmFtcHNlZW4KK1xkZWZcYW1wcm0jMSB7XGFtcHNlZW50cnVle1xiZlwmIzEgfX0KIAotXGRlZlxkZWZvcHRoZWFkZXIgIzEjMntcZG9pbmQge3ZyfXtcY29kZXsjMX19JSBNYWtlIGVudHJ5IGluIHZhciBpbmRleAotXGJlZ2luZ3JvdXBcZGVmbmFtZSB7IzF9e1xwdXR3b3JkRGVmb3B0fSUKLVxkZWZ2YXJhcmdzIHsjMn1cZW5kZ3JvdXAgJQorXGRlZlxwYXJlbmZvbnR7JQorICBcaWZhbXBzZWVuCisgICAgJSBBdCB0aGUgZmlyc3QgbGV2ZWwsIHByaW50IHBhcmVucyBpbiByb21hbiwKKyAgICAlIG90aGVyd2lzZSB1c2UgdGhlIGRlZmF1bHQgZm9udC4KKyAgICBcaWZudW0gXHBhcmVuY291bnQ9MSBccm0gXGZpCisgIFxlbHNlCisgICAgJSBUaGUgXHNmIHBhcmVucyAoaW4gXGJvbGRicmF4KSBhY3R1YWxseSBhcmUgYSBsaXR0bGUgYm9sZGVyIHRoYW4KKyAgICAlIHRoZSBjb250YWluZWQgdGV4dC4gIFRoaXMgaXMgZXNwZWNpYWxseSBuZWVkZWQgZm9yIFsgYW5kIF0gLgorICAgIFxzZgorICBcZmkKK30KK1xkZWZcaW5maXJzdGxldmVsIzF7JQorICBcaWZhbXBzZWVuCisgICAgXGlmbnVtXHBhcmVuY291bnQ9MQorICAgICAgIzElCisgICAgXGZpCisgIFxmaQorfQorXGRlZlxiZmFmdGVyd29yZCMxIHsjMSBcYmZ9CisKK1xkZWZcb3BucnslCisgIFxnbG9iYWxcYWR2YW5jZVxwYXJlbmNvdW50IGJ5IDEKKyAge1xwYXJlbmZvbnQofSUKKyAgXGluZmlyc3RsZXZlbCBcYmZhZnRlcndvcmQKK30KK1xkZWZcY2xucnslCisgIHtccGFyZW5mb250KX0lCisgIFxpbmZpcnN0bGV2ZWwgXHNsCisgIFxnbG9iYWxcYWR2YW5jZVxwYXJlbmNvdW50IGJ5IC0xCiB9CiAKLSUgQGRlZnR5cGV2YXIgaW50IGZvb2JhcgorXG5ld2NvdW50XGJyYWNrY291bnQKK1xkZWZcbGJyYnslCisgIFxnbG9iYWxcYWR2YW5jZVxicmFja2NvdW50IGJ5IDEKKyAge1xiZlt9JQorfQorXGRlZlxyYnJieyUKKyAge1xiZl19JQorICBcZ2xvYmFsXGFkdmFuY2VcYnJhY2tjb3VudCBieSAtMQorfQogCi1cZGVmXGRlZnR5cGV2YXJ7XGRlZnZhcnBhcnNlYm9keVxFZGVmdHlwZXZhclxkZWZ0eXBldmFyeFxkZWZ0eXBldmFyaGVhZGVyfQotCi0lICMxIGlzIHRoZSBkYXRhIHR5cGUuICAjMiBpcyB0aGUgbmFtZSwgcGVyaGFwcyBmb2xsb3dlZCBieSB0ZXh0IHRoYXQKLSUgaXMgYWN0dWFsbHkgcGFydCBvZiB0aGUgZGF0YSB0eXBlLCB3aGljaCBzaG91bGQgbm90IGJlIHB1dCBpbnRvIHRoZSBpbmRleC4KLVxkZWZcZGVmdHlwZXZhcmhlYWRlciAjMSMyeyUKLVxkb3ZhcmluZCMyIFxyZWxheCUgTWFrZSBlbnRyeSBpbiB2YXJpYWJsZXMgaW5kZXgKLVxiZWdpbmdyb3VwXGRlZm5hbWUge1xkZWZoZWFkZXJ4Y29uZCMxXHJlbGF4JC4kIzJ9e1xwdXR3b3JkRGVmdHlwZXZhcn0lCi0gIFxkZWZhcmdzY29tbW9uZW5kaW5nCi1cZW5kZ3JvdXB9Ci1cZGVmXGRvdmFyaW5kIzEgIzJccmVsYXh7XGRvaW5ke3ZyfXtcY29kZXsjMX19fQotCi0lIEBkZWZ0eXBldnIge0dsb2JhbCBGbGFnfSBpbnQgZW5hYmxlCi0KLVxkZWZcZGVmdHlwZXZye1xkZWZ2cnBhcnNlYm9keVxFZGVmdHlwZXZyXGRlZnR5cGV2cnhcZGVmdHlwZXZyaGVhZGVyfQotCi1cZGVmXGRlZnR5cGV2cmhlYWRlciAjMSMyIzN7XGRvdmFyaW5kIzMgXHJlbGF4JQotXGJlZ2luZ3JvdXBcZGVmbmFtZSB7XGRlZmhlYWRlcnhjb25kIzJccmVsYXgkLiQjM317IzF9Ci0gIFxkZWZhcmdzY29tbW9uZW5kaW5nCi1cZW5kZ3JvdXB9Ci0KLSUgTm93IGRlZmluZSBAZGVmdHAKLSUgQXJncyBhcmUgcHJpbnRlZCBpbiBib2xkLCBhIHNsaWdodCBkaWZmZXJlbmNlIGZyb20gQGRlZnZhci4KLQotXGRlZlxkZWZ0cGFyZ3MgIzF7XGJmIFxkZWZ2YXJhcmdzeyMxfX0KLQotJSBAZGVmdHAgQ2xhc3Mgd2luZG93IGhlaWdodCB3aWR0aCAuLi4KLQotXGRlZlxkZWZ0cHtcZGVmdHBwYXJzZWJvZHlcRWRlZnRwXGRlZnRweFxkZWZ0cGhlYWRlcn0KLQotXGRlZlxkZWZ0cGhlYWRlciAjMSMyIzN7XGRvaW5kIHt0cH17XGNvZGV7IzJ9fSUKLVxiZWdpbmdyb3VwXGRlZm5hbWUgeyMyfXsjMX1cZGVmdHBhcmdzeyMzfVxlbmRncm91cH0KLQotJSBUaGVzZSBkZWZpbml0aW9ucyBhcmUgdXNlZCBpZiB5b3UgdXNlIEBkZWZ1bnggKGV0Yy4pCi0lIGFueXdoZXJlIG90aGVyIHRoYW4gaW1tZWRpYXRlbHkgYWZ0ZXIgYSBAZGVmdW4gb3IgQGRlZnVueC4KLSUgCi1cZGVmXGRlZmN2eCMxIHtcZXJybWVzc2FnZXtAZGVmY3Z4IGluIGludmFsaWQgY29udGV4dH19Ci1cZGVmXGRlZmZueCMxIHtcZXJybWVzc2FnZXtAZGVmZm54IGluIGludmFsaWQgY29udGV4dH19Ci1cZGVmXGRlZml2YXJ4IzEge1xlcnJtZXNzYWdle0BkZWZpdmFyeCBpbiBpbnZhbGlkIGNvbnRleHR9fQotXGRlZlxkZWZtYWN4IzEge1xlcnJtZXNzYWdle0BkZWZtYWN4IGluIGludmFsaWQgY29udGV4dH19Ci1cZGVmXGRlZm1ldGhvZHgjMSB7XGVycm1lc3NhZ2V7QGRlZm1ldGhvZHggaW4gaW52YWxpZCBjb250ZXh0fX0KLVxkZWZcZGVmb3B0eCAjMSB7XGVycm1lc3NhZ2V7QGRlZm9wdHggaW4gaW52YWxpZCBjb250ZXh0fX0KLVxkZWZcZGVmb3B4IzEge1xlcnJtZXNzYWdle0BkZWZvcHggaW4gaW52YWxpZCBjb250ZXh0fX0KLVxkZWZcZGVmc3BlY3gjMSB7XGVycm1lc3NhZ2V7QGRlZnNwZWN4IGluIGludmFsaWQgY29udGV4dH19Ci1cZGVmXGRlZnRweCMxIHtcZXJybWVzc2FnZXtAZGVmdHB4IGluIGludmFsaWQgY29udGV4dH19Ci1cZGVmXGRlZnR5cGVmbngjMSB7XGVycm1lc3NhZ2V7QGRlZnR5cGVmbnggaW4gaW52YWxpZCBjb250ZXh0fX0KLVxkZWZcZGVmdHlwZWZ1bngjMSB7XGVycm1lc3NhZ2V7QGRlZnR5cGVmdW54IGluIGludmFsaWQgY29udGV4dH19Ci1cZGVmXGRlZnR5cGVpdmFyeCMxIHtcZXJybWVzc2FnZXtAZGVmdHlwZWl2YXJ4IGluIGludmFsaWQgY29udGV4dH19Ci1cZGVmXGRlZnR5cGVtZXRob2R4IzEge1xlcnJtZXNzYWdle0BkZWZ0eXBlbWV0aG9keCBpbiBpbnZhbGlkIGNvbnRleHR9fQotXGRlZlxkZWZ0eXBlb3B4IzEge1xlcnJtZXNzYWdle0BkZWZ0eXBlb3B4IGluIGludmFsaWQgY29udGV4dH19Ci1cZGVmXGRlZnR5cGV2YXJ4IzEge1xlcnJtZXNzYWdle0BkZWZ0eXBldmFyeCBpbiBpbnZhbGlkIGNvbnRleHR9fQotXGRlZlxkZWZ0eXBldnJ4IzEge1xlcnJtZXNzYWdle0BkZWZ0eXBldnJ4IGluIGludmFsaWQgY29udGV4dH19Ci1cZGVmXGRlZnVueCMxIHtcZXJybWVzc2FnZXtAZGVmdW54IGluIGludmFsaWQgY29udGV4dH19Ci1cZGVmXGRlZnZhcngjMSB7XGVycm1lc3NhZ2V7QGRlZnZhcnggaW4gaW52YWxpZCBjb250ZXh0fX0KLVxkZWZcZGVmdnJ4IzEge1xlcnJtZXNzYWdle0BkZWZ2cnggaW4gaW52YWxpZCBjb250ZXh0fX0KK1xkZWZcY2hlY2twYXJlbmNvdW50c3slCisgIFxpZm51bVxwYXJlbmNvdW50PTAgXGVsc2UgXGJhZHBhcmVuY291bnQgXGZpCisgIFxpZm51bVxicmFja2NvdW50PTAgXGVsc2UgXGJhZGJyYWNrY291bnQgXGZpCit9CislIHRoZXNlIHNob3VsZCBub3QgdXNlIFxlcnJtZXNzYWdlOyB0aGUgZ2xpYmMgbWFudWFsLCBhdCBsZWFzdCwgYWN0dWFsbHkKKyUgaGFzIHN1Y2ggY29uc3RydWN0cyAod2hlbiBkb2N1bWVudGluZyBmdW5jdGlvbiBwb2ludGVycykuCitcZGVmXGJhZHBhcmVuY291bnR7JQorICBcbWVzc2FnZXtXYXJuaW5nOiB1bmJhbGFuY2VkIHBhcmVudGhlc2VzIGluIEBkZWYuLi59JQorICBcZ2xvYmFsXHBhcmVuY291bnQ9MAorfQorXGRlZlxiYWRicmFja2NvdW50eyUKKyAgXG1lc3NhZ2V7V2FybmluZzogdW5iYWxhbmNlZCBzcXVhcmUgYnJhY2tldHMgaW4gQGRlZi4uLn0lCisgIFxnbG9iYWxcYnJhY2tjb3VudD0wCit9CiAKIAogXG1lc3NhZ2V7bWFjcm9zLH0KQEAgLTU0ODQsNDIgKzY3NTksNjggQEAKICUgVG8gZG8gdGhpcyByaWdodCB3ZSBuZWVkIGEgZmVhdHVyZSBvZiBlLVRlWCwgXHNjYW50b2tlbnMsCiAlIHdoaWNoIHdlIGFycmFuZ2UgdG8gZW11bGF0ZSB3aXRoIGEgdGVtcG9yYXJ5IGZpbGUgaW4gb3JkaW5hcnkgVGVYLgogXGlmeFxlVGVYdmVyc2lvblx1bmRlZmluZWQKLSBcbmV3d3JpdGVcbWFjc2NyaWJibGUKLSBcZGVmXHNjYW5tYWNybyMxeyUKLSAgIFxiZWdpbmdyb3VwIFxuZXdsaW5lY2hhcmBcXl5NCi0gICAlIFVuZG8gY2F0Y29kZSBjaGFuZ2VzIG9mIFxzdGFydGNvbnRlbnRzIGFuZCBcZG9wcmludGluZGV4Ci0gICBcY2F0Y29kZWBcQD0wIFxjYXRjb2RlYFxcPVxvdGhlciBcZXNjYXBlY2hhcj1gXEAKLSAgICUgQXBwZW5kIFxlbmRpbnB1dCB0byBtYWtlIHN1cmUgdGhhdCBUZVggZG9lcyBub3Qgc2VlIHRoZSBlbmRpbmcgbmV3bGluZS4KLSAgIFx0b2tzMD17IzFcZW5kaW5wdXR9JQotICAgXGltbWVkaWF0ZVxvcGVub3V0XG1hY3NjcmliYmxlPVxqb2JuYW1lLnRtcAotICAgXGltbWVkaWF0ZVx3cml0ZVxtYWNzY3JpYmJsZXtcdGhlXHRva3MwfSUKLSAgIFxpbW1lZGlhdGVcY2xvc2VvdXRcbWFjc2NyaWJibGUKLSAgIFxsZXRceGVhdHNwYWNlc1xlYXRzcGFjZXMKLSAgIFxpbnB1dCBcam9ibmFtZS50bXAKLSAgIFxlbmRncm91cAotfQotXGVsc2UKLVxkZWZcc2Nhbm1hY3JvIzF7JQotXGJlZ2luZ3JvdXAgXG5ld2xpbmVjaGFyYFxeXk0KLSUgVW5kbyBjYXRjb2RlIGNoYW5nZXMgb2YgXHN0YXJ0Y29udGVudHMgYW5kIFxkb3ByaW50aW5kZXgKLVxjYXRjb2RlYFxAPTAgXGNhdGNvZGVgXFw9XG90aGVyIFxlc2NhcGVjaGFyPWBcQAotXGxldFx4ZWF0c3BhY2VzXGVhdHNwYWNlc1xzY2FudG9rZW5zeyMxXGVuZGlucHV0fVxlbmRncm91cH0KKyAgXG5ld3dyaXRlXG1hY3NjcmliYmxlCisgIFxkZWZcc2NhbnRva2VucyMxeyUKKyAgICBcdG9rczA9eyMxfSUKKyAgICBcaW1tZWRpYXRlXG9wZW5vdXRcbWFjc2NyaWJibGU9XGpvYm5hbWUudG1wCisgICAgXGltbWVkaWF0ZVx3cml0ZVxtYWNzY3JpYmJsZXtcdGhlXHRva3MwfSUKKyAgICBcaW1tZWRpYXRlXGNsb3Nlb3V0XG1hY3NjcmliYmxlCisgICAgXGlucHV0IFxqb2JuYW1lLnRtcAorICB9CiBcZmkKIAorXGRlZlxzY2FubWFjcm8jMXslCisgIFxiZWdpbmdyb3VwCisgICAgXG5ld2xpbmVjaGFyYFxeXk0KKyAgICBcbGV0XHhlYXRzcGFjZXNcZWF0c3BhY2VzCisgICAgJSBVbmRvIGNhdGNvZGUgY2hhbmdlcyBvZiBcc3RhcnRjb250ZW50cyBhbmQgXGRvcHJpbnRpbmRleAorICAgICUgV2hlbiBjYWxsZWQgZnJvbSBAaW5zZXJ0Y29weWluZyBvciAoc2hvcnQpY2FwdGlvbiwgd2UgbmVlZCBhY3RpdmUKKyAgICAlIGJhY2tzbGFzaCB0byBnZXQgaXQgcHJpbnRlZCBjb3JyZWN0bHkuICBQcmV2aW91c2x5LCB3ZSBoYWQKKyAgICAlIFxjYXRjb2RlYFxcPVxvdGhlciBpbnN0ZWFkLiAgV2UnbGwgc2VlIHdoZXRoZXIgYSBwcm9ibGVtIGFwcGVhcnMKKyAgICAlIHdpdGggbWFjcm8gZXhwYW5zaW9uLgkJCQktLWthc2FsLCAxOWF1ZzA0CisgICAgXGNhdGNvZGVgXEA9MCBcY2F0Y29kZWBcXD1cYWN0aXZlIFxlc2NhcGVjaGFyPWBcQAorICAgICUgLi4uIGFuZCBcZXhhbXBsZQorICAgIFxzcGFjZWlzc3BhY2UKKyAgICAlCisgICAgJSBBcHBlbmQgXGVuZGlucHV0IHRvIG1ha2Ugc3VyZSB0aGF0IFRlWCBkb2VzIG5vdCBzZWUgdGhlIGVuZGluZyBuZXdsaW5lLgorICAgICUgSSd2ZSB2ZXJpZmllZCB0aGF0IGl0IGlzIG5lY2Vzc2FyeSBib3RoIGZvciBlLVRlWCBhbmQgZm9yIG9yZGluYXJ5IFRlWAorICAgICUJCQkJCQkJLS1rYXNhbCwgMjlub3YwMworICAgIFxzY2FudG9rZW5zeyMxXGVuZGlucHV0fSUKKyAgXGVuZGdyb3VwCit9CisKK1xkZWZcc2NhbmV4cCMxeyUKKyAgXGVkZWZcdGVtcHtcbm9leHBhbmRcc2Nhbm1hY3JveyMxfX0lCisgIFx0ZW1wCit9CisKIFxuZXdjb3VudFxwYXJhbW5vICAgJSBDb3VudCBvZiBwYXJhbWV0ZXJzCiBcbmV3dG9rc1xtYWNuYW1lICAgICUgTWFjcm8gbmFtZQogXG5ld2lmXGlmcmVjdXJzaXZlICAlIElzIGl0IHJlY3Vyc2l2ZT8KLVxkZWZcbWFjcm9saXN0e30gICAgJSBMaXN0IG9mIGFsbCBkZWZpbmVkIG1hY3JvcyBpbiB0aGUgZm9ybQotICAgICAgICAgICAgICAgICAgICAlIFxkb1xtYWNybzFcZG9cbWFjcm8yLi4uCisKKyUgTGlzdCBvZiBhbGwgZGVmaW5lZCBtYWNyb3MgaW4gdGhlIGZvcm0KKyUgICAgXGRlZmluZWR1bW15d29yZFxtYWNybzFcZGVmaW5lZHVtbXl3b3JkXG1hY3JvMi4uLgorJSBDdXJyZW50bHkgaXMgYWxzbyBjb250YWlucyBhbGwgQGFsaWFzZXM7IHRoZSBsaXN0IGNhbiBiZSBzcGxpdAorJSBpZiB0aGVyZSBpcyBhIG5lZWQuCitcZGVmXG1hY3JvbGlzdHt9CisKKyUgQWRkIHRoZSBtYWNybyB0byBcbWFjcm9saXN0CitcZGVmXGFkZHRvbWFjcm9saXN0IzF7XGV4cGFuZGFmdGVyIFxhZGR0b21hY3JvbGlzdHh4eCBcY3NuYW1lIzFcZW5kY3NuYW1lfQorXGRlZlxhZGR0b21hY3JvbGlzdHh4eCMxeyUKKyAgICAgXHRva3MwID0gXGV4cGFuZGFmdGVye1xtYWNyb2xpc3RcZGVmaW5lZHVtbXl3b3JkIzF9JQorICAgICBceGRlZlxtYWNyb2xpc3R7XHRoZVx0b2tzMH0lCit9CiAKICUgVXRpbGl0eSByb3V0aW5lcy4KLSUgVGhpc2RvZXMgXGxldCAjMSA9ICMyLCBleGNlcHQgd2l0aCBcY3NuYW1lcy4KKyUgVGhpcyBkb2VzIFxsZXQgIzEgPSAjMiwgd2l0aCBcY3NuYW1lczsgdGhhdCBpcywKKyUgICBcbGV0IFxjc25hbWUjMVxlbmRjc25hbWUgPSBcY3NuYW1lIzJcZW5kY3NuYW1lCislIChleGNlcHQgb2YgY291cnNlIHdlIGhhdmUgdG8gcGxheSBleHBhbnNpb24gZ2FtZXMpLgorJSAKIFxkZWZcY3NsZXQjMSMyeyUKLVxleHBhbmRhZnRlclxleHBhbmRhZnRlcgotXGV4cGFuZGFmdGVyXGxldAotXGV4cGFuZGFmdGVyXGV4cGFuZGFmdGVyCi1cY3NuYW1lIzFcZW5kY3NuYW1lCi1cY3NuYW1lIzJcZW5kY3NuYW1lfQorICBcZXhwYW5kYWZ0ZXJcbGV0CisgIFxjc25hbWUjMVxleHBhbmRhZnRlclxlbmRjc25hbWUKKyAgXGNzbmFtZSMyXGVuZGNzbmFtZQorfQogCiAlIFRyaW0gbGVhZGluZyBhbmQgdHJhaWxpbmcgc3BhY2VzIG9mZiBhIHN0cmluZy4KICUgQ29uY2VwdHMgZnJvbSBhcm8tYmVuZCBwcm9ibGVtIDE1IChzZWUgQ1RBTikuCkBAIC01NTQyLDM0ICs2ODQzLDQ1IEBACiAlIGFsbCBjaGFyYWN0ZXJzIGFyZSBjYXRjb2RlIDEwLCAxMSBvciAxMiwgZXhjZXB0IFwgd2hpY2ggaXMgYWN0aXZlCiAlIChhcyBpbiBub3JtYWwgdGV4aW5mbykuIEl0IGlzIG5lY2Vzc2FyeSB0byBjaGFuZ2UgdGhlIGRlZmluaXRpb24gb2YgXC4KIAorJSBOb24tQVNDSUkgZW5jb2RpbmdzIG1ha2UgOC1iaXQgY2hhcmFjdGVycyBhY3RpdmUsIHNvIHVuLWFjdGl2YXRlCislIHRoZW0gdG8gYXZvaWQgdGhlaXIgZXhwYW5zaW9uLiAgTXVzdCBkbyB0aGlzIG5vbi1nbG9iYWxseSwgdG8KKyUgY29uZmluZSB0aGUgY2hhbmdlIHRvIHRoZSBjdXJyZW50IGdyb3VwLgorCiAlIEl0J3MgbmVjZXNzYXJ5IHRvIGhhdmUgaGFyZCBDUnMgd2hlbiB0aGUgbWFjcm8gaXMgZXhlY3V0ZWQuIFRoaXMgaXMKICUgZG9uZSBieSAgbWFraW5nIF5eTSAoXGVuZGxpbmVjaGFyKSBjYXRjb2RlIDEyIHdoZW4gcmVhZGluZyB0aGUgbWFjcm8KICUgYm9keSwgYW5kIHRoZW4gbWFraW5nIGl0IHRoZSBcbmV3bGluZWNoYXIgaW4gXHNjYW5tYWNyby4KIAotXGRlZlxtYWNyb2JvZHljdHh0eyUKLSAgXGNhdGNvZGVgXH49XG90aGVyCitcZGVmXHNjYW5jdHh0eyUKKyAgXGNhdGNvZGVgXCI9XG90aGVyCisgIFxjYXRjb2RlYFwrPVxvdGhlcgorICBcY2F0Y29kZWBcPD1cb3RoZXIKKyAgXGNhdGNvZGVgXD49XG90aGVyCisgIFxjYXRjb2RlYFxAPVxvdGhlcgogICBcY2F0Y29kZWBcXj1cb3RoZXIKICAgXGNhdGNvZGVgXF89XG90aGVyCiAgIFxjYXRjb2RlYFx8PVxvdGhlcgotICBcY2F0Y29kZWBcPD1cb3RoZXIKLSAgXGNhdGNvZGVgXD49XG90aGVyCi0gIFxjYXRjb2RlYFwrPVxvdGhlcgorICBcY2F0Y29kZWBcfj1cb3RoZXIKKyAgXGlmeFxkZWNsYXJlZGVuY29kaW5nXGFzY2lpIFxlbHNlIFxzZXRub25hc2NpaWNoYXJzY2F0Y29kZW5vbmdsb2JhbFxvdGhlciBcZmkKK30KKworXGRlZlxzY2FuYXJnY3R4dHslCisgIFxzY2FuY3R4dAorICBcY2F0Y29kZWBcXD1cb3RoZXIKKyAgXGNhdGNvZGVgXF5eTT1cb3RoZXIKK30KKworXGRlZlxtYWNyb2JvZHljdHh0eyUKKyAgXHNjYW5jdHh0CiAgIFxjYXRjb2RlYFx7PVxvdGhlcgogICBcY2F0Y29kZWBcfT1cb3RoZXIKLSAgXGNhdGNvZGVgXEA9XG90aGVyCiAgIFxjYXRjb2RlYFxeXk09XG90aGVyCi0gIFx1c2VtYm9keWJhY2tzbGFzaH0KKyAgXHVzZW1ib2R5YmFja3NsYXNoCit9CiAKIFxkZWZcbWFjcm9hcmdjdHh0eyUKLSAgXGNhdGNvZGVgXH49XG90aGVyCi0gIFxjYXRjb2RlYFxePVxvdGhlcgotICBcY2F0Y29kZWBcXz1cb3RoZXIKLSAgXGNhdGNvZGVgXHw9XG90aGVyCi0gIFxjYXRjb2RlYFw8PVxvdGhlcgotICBcY2F0Y29kZWBcPj1cb3RoZXIKLSAgXGNhdGNvZGVgXCs9XG90aGVyCi0gIFxjYXRjb2RlYFxAPVxvdGhlcgotICBcY2F0Y29kZWBcXD1cb3RoZXJ9CisgIFxzY2FuY3R4dAorICBcY2F0Y29kZWBcXD1cb3RoZXIKK30KIAogJSBcbWJvZHliYWNrc2xhc2ggaXMgdGhlIGRlZmluaXRpb24gb2YgXCBpbiBAbWFjcm8gYm9kaWVzLgogJSBJdCBtYXBzIFxmb29cID0+IFxjc25hbWUgbWFjYXJnLmZvb1xlbmRjc25hbWUgPT4gI04KQEAgLTU2MDAsMjUgKzY5MTIsMjEgQEAKICAgICAgXGVsc2UgXGVycm1lc3NhZ2V7TWFjcm8gbmFtZSBcdGhlXG1hY25hbWVcc3BhY2UgYWxyZWFkeSBkZWZpbmVkfVxmaQogICAgICBcZ2xvYmFsXGNzbGV0e21hY3NhdmUuXHRoZVxtYWNuYW1lfXtcdGhlXG1hY25hbWV9JQogICAgICBcZ2xvYmFsXGV4cGFuZGFmdGVyXGxldFxjc25hbWUgaXNtYWNyby5cdGhlXG1hY25hbWVcZW5kY3NuYW1lPTElCi0gICAgICUgQWRkIHRoZSBtYWNyb25hbWUgdG8gXG1hY3JvbGlzdAotICAgICBcdG9rczAgPSBcZXhwYW5kYWZ0ZXJ7XG1hY3JvbGlzdFxkb30lCi0gICAgIFx4ZGVmXG1hY3JvbGlzdHtcdGhlXHRva3MwCi0gICAgICAgXGV4cGFuZGFmdGVyXG5vZXhwYW5kXGNzbmFtZVx0aGVcbWFjbmFtZVxlbmRjc25hbWV9JQorICAgICBcYWRkdG9tYWNyb2xpc3R7XHRoZVxtYWNuYW1lfSUKICAgXGZpCiAgIFxiZWdpbmdyb3VwIFxtYWNyb2JvZHljdHh0CiAgIFxpZnJlY3Vyc2l2ZSBcZXhwYW5kYWZ0ZXJccGFyc2VybWFjYm9keQogICBcZWxzZSBcZXhwYW5kYWZ0ZXJccGFyc2VtYWNib2R5CiAgIFxmaX0KIAotXGRlZlx1bm1hY3Jve1xwYXJzZWFyZ1xkb3VubWFjcm99Ci1cZGVmXGRvdW5tYWNybyMxeyUKK1xwYXJzZWFyZ2RlZlx1bm1hY3JveyUKICAgXGlmMVxjc25hbWUgaXNtYWNyby4jMVxlbmRjc25hbWUKICAgICBcZ2xvYmFsXGNzbGV0eyMxfXttYWNzYXZlLiMxfSUKICAgICBcZ2xvYmFsXGV4cGFuZGFmdGVyXGxldCBcY3NuYW1lIGlzbWFjcm8uIzFcZW5kY3NuYW1lPTAlCiAgICAgJSBSZW1vdmUgdGhlIG1hY3JvIG5hbWUgZnJvbSBcbWFjcm9saXN0OgogICAgIFxiZWdpbmdyb3VwCiAgICAgICBcZXhwYW5kYWZ0ZXJcbGV0XGNzbmFtZSMxXGVuZGNzbmFtZSBccmVsYXgKLSAgICAgIFxsZXRcZG9cdW5tYWNyb2RvCisgICAgICBcbGV0XGRlZmluZWR1bW15d29yZFx1bm1hY3JvZG8KICAgICAgIFx4ZGVmXG1hY3JvbGlzdHtcbWFjcm9saXN0fSUKICAgICBcZW5kZ3JvdXAKICAgXGVsc2UKQEAgLTU2MjgsMTIgKzY5MzYsMTIgQEAKIAogJSBDYWxsZWQgYnkgXGRvIGZyb20gXGRvdW5tYWNybyBvbiBlYWNoIG1hY3JvLiAgVGhlIGlkZWEgaXMgdG8gb21pdCBhbnkKICUgbWFjcm8gZGVmaW5pdGlvbnMgdGhhdCBoYXZlIGJlZW4gY2hhbmdlZCB0byBccmVsYXguCi0lIAorJQogXGRlZlx1bm1hY3JvZG8jMXslCi0gIFxpZngjMVxyZWxheAorICBcaWZ4ICMxXHJlbGF4CiAgICAgJSByZW1vdmUgdGhpcwogICBcZWxzZQotICAgIFxub2V4cGFuZFxkbyBcbm9leHBhbmQgIzElCisgICAgXG5vZXhwYW5kXGRlZmluZWR1bW15d29yZCBcbm9leHBhbmQjMSUKICAgXGZpCiB9CiAKQEAgLTU3NDYsMzQgKzcwNTQsMzEgQEAKICUgey4gIElmIHNvIGl0IHJlYWRzIHVwIHRvIHRoZSBjbG9zaW5nIH0sIGlmIG5vdCwgaXQgcmVhZHMgdGhlIHdob2xlCiAlIGxpbmUuICBXaGF0ZXZlciB3YXMgcmVhZCBpcyB0aGVuIGZlZCB0byB0aGUgbmV4dCBjb250cm9sIHNlcXVlbmNlCiAlIGFzIGFuIGFyZ3VtZW50IChieSBccGFyc2VicmFjZSBvciBccGFyc2VhcmcpCi1cZGVmXGJyYWNlb3JsaW5lIzF7XGxldFxuZXh0PSMxXGZ1dHVyZWxldFxuY2hhclxicmFjZW9ybGluZXh4eH0KK1xkZWZcYnJhY2VvcmxpbmUjMXtcbGV0XG1hY25hbWV4eHg9IzFcZnV0dXJlbGV0XG5jaGFyXGJyYWNlb3JsaW5leHh4fQogXGRlZlxicmFjZW9ybGluZXh4eHslCiAgIFxpZnhcbmNoYXJcYmdyb3VwXGVsc2UKICAgICBcZXhwYW5kYWZ0ZXJccGFyc2VhcmcKLSAgXGZpIFxuZXh0fQotCi0lIFdlIG1hbnQgdG8gZGlzYWJsZSBhbGwgbWFjcm9zIGR1cmluZyBcc2hpcG91dCBzbyB0aGF0IHRoZXkgYXJlIG5vdAotJSBleHBhbmRlZCBieSBcd3JpdGUuCi1cZGVmXHR1cm5vZmZtYWNyb3N7XGJlZ2luZ3JvdXAgXGRlZlxkbyMjMXtcbGV0XG5vZXhwYW5kIyMxPVxyZWxheH0lCi0gIFxlZGVmXG5leHR7XG1hY3JvbGlzdH1cZXhwYW5kYWZ0ZXJcZW5kZ3JvdXBcbmV4dH0KKyAgXGZpIFxtYWNuYW1leHh4fQogCiAKICUgQGFsaWFzLgogJSBXZSBuZWVkIHNvbWUgdHJpY2tlcnkgdG8gcmVtb3ZlIHRoZSBvcHRpb25hbCBzcGFjZXMgYXJvdW5kIHRoZSBlcXVhbAogJSBzaWduLiAgSnVzdCBtYWtlIHRoZW0gYWN0aXZlIGFuZCB0aGVuIGV4cGFuZCB0aGVtIGFsbCB0byBub3RoaW5nLgotXGRlZlxhbGlhc3tcYmVnaW5ncm91cFxvYmV5c3BhY2VzXHBhcnNlYXJnXGFsaWFzeHh4fQorXGRlZlxhbGlhc3tccGFyc2Vhcmd1c2luZ1xvYmV5c3BhY2VzXGFsaWFzeHh4fQogXGRlZlxhbGlhc3h4eCAjMXtcYWxpYXN5eXkjMVxyZWxheH0KLVxkZWZcYWxpYXN5eXkgIzE9IzJccmVsYXh7XGlnbm9yZWFjdGl2ZXNwYWNlcwotXGVkZWZcbmV4dHtcZ2xvYmFsXGxldFxleHBhbmRhZnRlclxub2V4cGFuZFxjc25hbWUjMVxlbmRjc25hbWU9JQotICAgICAgICAgICBcZXhwYW5kYWZ0ZXJcbm9leHBhbmRcY3NuYW1lIzJcZW5kY3NuYW1lfSUKLVxleHBhbmRhZnRlclxlbmRncm91cFxuZXh0fQorXGRlZlxhbGlhc3l5eSAjMT0jMlxyZWxheHslCisgIHslCisgICAgXGV4cGFuZGFmdGVyXGxldFxvYmV5ZWRzcGFjZT1cZW1wdHkKKyAgICBcYWRkdG9tYWNyb2xpc3R7IzF9JQorICAgIFx4ZGVmXG5leHR7XGdsb2JhbFxsZXRcbWFrZWNzbmFtZXsjMX09XG1ha2Vjc25hbWV7IzJ9fSUKKyAgfSUKKyAgXG5leHQKK30KIAogCiBcbWVzc2FnZXtjcm9zcyByZWZlcmVuY2VzLH0KLSUgQHhyZWYgZXRjLgogCiBcbmV3d3JpdGVcYXV4ZmlsZQotCiBcbmV3aWZcaWZoYXZleHJlZnMgICAgJSBUcnVlIGlmIHhyZWYgdmFsdWVzIGFyZSBrbm93bi4KIFxuZXdpZlxpZndhcm5lZHhyZWZzICAlIFRydWUgaWYgd2Ugd2FybmVkIG9uY2UgdGhhdCB0aGV5IGFyZW4ndCBrbm93bi4KIApAQCAtNTc4Miw2NCArNzA4Nyw2OCBAQAogXGRlZlxpbmZvcmVmenp6ICMxLCMyLCMzLCM0Kip7XHB1dHdvcmRTZWV7fSBccHV0d29yZEluZm97fSBccHV0d29yZGZpbGV7fSBcZmlsZXtcaWdub3Jlc3BhY2VzICMze319LAogICBub2RlIFxzYW1we1xpZ25vcmVzcGFjZXMjMXt9fX0KIAotJSBAbm9kZSdzIGpvYiBpcyB0byBkZWZpbmUgXGxhc3Rub2RlLgotXGRlZlxub2Rle1xFTlZjaGVja1xwYXJzZWFyZ1xub2Rlenp6fQotXGRlZlxub2Rlenp6IzF7XG5vZGV4eHggWyMxLF19Ci1cZGVmXG5vZGV4eHhbIzEsIzJde1xnZGVmXGxhc3Rub2RleyMxfX0KKyUgQG5vZGUncyBvbmx5IGpvYiBpbiBUZVggaXMgdG8gZGVmaW5lIFxsYXN0bm9kZSwgd2hpY2ggaXMgdXNlZCBpbgorJSBjcm9zcy1yZWZlcmVuY2VzLiAgVGhlIEBub2RlIGxpbmUgbWlnaHQgb3IgbWlnaHQgbm90IGhhdmUgY29tbWFzLCBhbmQKKyUgbWlnaHQgb3IgbWlnaHQgbm90IGhhdmUgc3BhY2VzIGJlZm9yZSB0aGUgZmlyc3QgY29tbWEsIGxpa2U6CislIEBub2RlIGZvbyAsIGJhciAsIC4uLgorJSBXZSBkb24ndCB3YW50IHN1Y2ggdHJhaWxpbmcgc3BhY2VzIGluIHRoZSBub2RlIG5hbWUuCislCitccGFyc2VhcmdkZWZcbm9kZXtcY2hlY2tlbnZ7fVxkb25vZGUgIzEgLFxmaW5pc2hub2RlcGFyc2V9CislCislIGFsc28gcmVtb3ZlIGEgdHJhaWxpbmcgY29tbWEsIGluIGNhc2Ugb2Ygc29tZXRoaW5nIGxpa2UgdGhpczoKKyUgQG5vZGUgSGVscC1Dcm9zcywgICwgICwgQ3Jvc3MtcmVmcworXGRlZlxkb25vZGUjMSAsIzJcZmluaXNobm9kZXBhcnNle1xkb2Rvbm9kZSAjMSxcZmluaXNobm9kZXBhcnNlfQorXGRlZlxkb2Rvbm9kZSMxLCMyXGZpbmlzaG5vZGVwYXJzZXtcZ2RlZlxsYXN0bm9kZXsjMX19CisKIFxsZXRcbndub2RlPVxub2RlCi1cbGV0XGxhc3Rub2RlPVxyZWxheAorXGxldFxsYXN0bm9kZT1cZW1wdHkKIAotJSBUaGUgc2VjdGlvbmluZyBjb21tYW5kcyAoQGNoYXB0ZXIsIGV0Yy4pIGNhbGwgdGhlc2UuCi1cZGVmXGRvbm9kZXJlZnslCi0gIFxpZnhcbGFzdG5vZGVccmVsYXhcZWxzZQotICAgIFxleHBhbmRhZnRlclxleHBhbmRhZnRlclxleHBhbmRhZnRlclxzZXRyZWZ7XGxhc3Rub2RlfSUKLSAgICAgIHtZc2VjdGlvbm51bWJlcmFuZHR5cGV9JQotICAgIFxnbG9iYWxcbGV0XGxhc3Rub2RlPVxyZWxheAorJSBXcml0ZSBhIGNyb3NzLXJlZmVyZW5jZSBkZWZpbml0aW9uIGZvciB0aGUgY3VycmVudCBub2RlLiAgIzEgaXMgdGhlCislIHR5cGUgKFludW1iZXJlZCwgWWFwcGVuZGl4LCBZbm90aGluZykuCislCitcZGVmXGRvbm9kZXJlZiMxeyUKKyAgXGlmeFxsYXN0bm9kZVxlbXB0eVxlbHNlCisgICAgXHNldHJlZntcbGFzdG5vZGV9eyMxfSUKKyAgICBcZ2xvYmFsXGxldFxsYXN0bm9kZT1cZW1wdHkKICAgXGZpCiB9Ci1cZGVmXHVubnVtYm5vZGVyZWZ7JQotICBcaWZ4XGxhc3Rub2RlXHJlbGF4XGVsc2UKLSAgICBcZXhwYW5kYWZ0ZXJcZXhwYW5kYWZ0ZXJcZXhwYW5kYWZ0ZXJcc2V0cmVme1xsYXN0bm9kZX17WW5vdGhpbmd9JQotICAgIFxnbG9iYWxcbGV0XGxhc3Rub2RlPVxyZWxheAotICBcZmkKLX0KLVxkZWZcYXBwZW5kaXhub2RlcmVmeyUKLSAgXGlmeFxsYXN0bm9kZVxyZWxheFxlbHNlCi0gICAgXGV4cGFuZGFmdGVyXGV4cGFuZGFmdGVyXGV4cGFuZGFmdGVyXHNldHJlZntcbGFzdG5vZGV9JQotICAgICAge1lhcHBlbmRpeGxldHRlcmFuZHR5cGV9JQotICAgIFxnbG9iYWxcbGV0XGxhc3Rub2RlPVxyZWxheAotICBcZmkKLX0KLQogCiAlIEBhbmNob3J7TkFNRX0gLS0gZGVmaW5lIHhyZWYgdGFyZ2V0IGF0IGFyYml0cmFyeSBwb2ludC4KICUKIFxuZXdjb3VudFxzYXZlc2ZyZWdpc3RlcgotXGdkZWZcc2F2ZXNme1xyZWxheCBcaWZobW9kZSBcc2F2ZXNmcmVnaXN0ZXI9XHNwYWNlZmFjdG9yIFxmaX0KLVxnZGVmXHJlc3RvcmVzZntccmVsYXggXGlmaG1vZGUgXHNwYWNlZmFjdG9yPVxzYXZlc2ZyZWdpc3RlciBcZml9Ci1cZ2RlZlxhbmNob3IjMXtcc2F2ZXNmIFxzZXRyZWZ7IzF9e1lub3RoaW5nfVxyZXN0b3Jlc2YgXGlnbm9yZXNwYWNlc30KKyUKK1xkZWZcc2F2ZXNme1xyZWxheCBcaWZobW9kZSBcc2F2ZXNmcmVnaXN0ZXI9XHNwYWNlZmFjdG9yIFxmaX0KK1xkZWZccmVzdG9yZXNme1xyZWxheCBcaWZobW9kZSBcc3BhY2VmYWN0b3I9XHNhdmVzZnJlZ2lzdGVyIFxmaX0KK1xkZWZcYW5jaG9yIzF7XHNhdmVzZiBcc2V0cmVmeyMxfXtZbm90aGluZ31ccmVzdG9yZXNmIFxpZ25vcmVzcGFjZXN9CiAKICUgXHNldHJlZntOQU1FfXtTTlR9IGRlZmluZXMgYSBjcm9zcy1yZWZlcmVuY2UgcG9pbnQgTkFNRSAoYSBub2RlIG9yIGFuCi0lIGFuY2hvciksIG5hbWVseSBOQU1FLXRpdGxlICh0aGUgY29ycmVzcG9uZGluZyBAY2hhcHRlci9ldGMuIG5hbWUpLAotJSBOQU1FLXBnICh0aGUgcGFnZSBudW1iZXIpLCBhbmQgTkFNRS1zbnQgKHNlY3Rpb24gbnVtYmVyIGFuZCB0eXBlKS4KLSUgQ2FsbGVkIGZyb20gXGZvb25vZGVyZWYuCi0lIAotJSBXZSBoYXZlIHRvIHNldCBcaW5kZXhkdW1taWVzIHNvIGNvbW1hbmRzIHN1Y2ggYXMgQGNvZGUgaW4gYSBzZWN0aW9uCi0lIHRpdGxlIGFyZW4ndCBleHBhbmRlZC4gIEl0IHdvdWxkIGJlIG5pY2VyIG5vdCB0byBleHBhbmQgdGhlIHRpdGxlcyBpbgotJSB0aGUgZmlyc3QgcGxhY2UsIGJ1dCB0aGVyZSdzIHNvIG1hbnkgbGF5ZXJzIHRoYXQgdGhhdCBpcyBoYXJkIHRvIGRvLgorJSBhbmNob3IpLCB3aGljaCBjb25zaXN0cyBvZiB0aHJlZSBwYXJ0czoKKyUgMSkgTkFNRS10aXRsZSAtIHRoZSBjdXJyZW50IHNlY3Rpb25pbmcgbmFtZSB0YWtlbiBmcm9tIFxsYXN0c2VjdGlvbiwKKyUgICAgICAgICAgICAgICAgIG9yIHRoZSBhbmNob3IgbmFtZS4KKyUgMikgTkFNRS1zbnQgICAtIHNlY3Rpb24gbnVtYmVyIGFuZCB0eXBlLCBwYXNzZWQgYXMgdGhlIFNOVCBhcmcsIG9yCislICAgICAgICAgICAgICAgICBlbXB0eSBmb3IgYW5jaG9ycy4KKyUgMykgTkFNRS1wZyAgICAtIHRoZSBwYWdlIG51bWJlci4KICUKLSUgTGlrZXdpc2UsIHVzZSBcdHVybm9mZmFjdGl2ZSBzbyB0aGF0IHB1bmN0dWF0aW9uIGNoYXJzIHN1Y2ggYXMgdW5kZXJzY29yZQotJSBhbmQgYmFja3NsYXNoIHdvcmsgaW4gbm9kZSBuYW1lcy4KLSUgCi1cZGVmXHNldHJlZiMxIzJ7eyUKLSAgXGF0ZHVtbWllcworJSBUaGlzIGlzIGNhbGxlZCBmcm9tIFxkb25vZGVyZWYsIFxhbmNob3IsIGFuZCBcZG9mbG9hdC4gIEluIHRoZSBjYXNlIG9mCislIGZsb2F0cywgdGhlcmUgaXMgYW4gYWRkaXRpb25hbCBwYXJ0LCB3aGljaCBpcyBub3Qgd3JpdHRlbiBoZXJlOgorJSA0KSBOQU1FLWxvZiAgIC0gdGhlIHRleHQgYXMgaXQgc2hvdWxkIGFwcGVhciBpbiBhIEBsaXN0b2ZmbG9hdHMuCislCitcZGVmXHNldHJlZiMxIzJ7JQogICBccGRmbWtkZXN0eyMxfSUKLSAgJQotICBcdHVybm9mZmFjdGl2ZQotICBcZG9zZXRxeyMxLXRpdGxlfXtZdGl0bGV9JQotICBcZG9zZXRxeyMxLXBnfXtZcGFnZW51bWJlcn0lCi0gIFxkb3NldHF7IzEtc250fXsjMn0lCi19fQorICBcaWZsaW5rcworICAgIHslCisgICAgICBcYXRkdW1taWVzICAlIHByZXNlcnZlIGNvbW1hbmRzLCBidXQgZG9uJ3QgZXhwYW5kIHRoZW0KKyAgICAgIFxlZGVmXHdyaXRleHJkZWYjIzEjIzJ7JQorCVx3cml0ZVxhdXhmaWxle0B4cmRlZnsjMS0lICMxIG9mIFxzZXRyZWYsIGV4cGFuZGVkIGJ5IHRoZSBcZWRlZgorCSAgIyMxfXsjIzJ9fSUgdGhlc2UgYXJlIHBhcmFtZXRlcnMgb2YgXHdyaXRleHJkZWYKKyAgICAgIH0lCisgICAgICBcdG9rczAgPSBcZXhwYW5kYWZ0ZXJ7XGxhc3RzZWN0aW9ufSUKKyAgICAgIFxpbW1lZGlhdGUgXHdyaXRleHJkZWZ7dGl0bGV9e1x0aGVcdG9rczAgfSUKKyAgICAgIFxpbW1lZGlhdGUgXHdyaXRleHJkZWZ7c250fXtcY3NuYW1lICMyXGVuZGNzbmFtZX0lIFxZbnVtYmVyZWQgZXRjLgorICAgICAgXHNhZmV3aGF0c2l0e1x3cml0ZXhyZGVme3BnfXtcZm9saW99fSUgd2lsbCBiZSB3cml0dGVuIGxhdGVyLCBkdXJpbmcgXHNoaXBvdXQKKyAgICB9JQorICBcZmkKK30KIAogJSBAeHJlZiwgQHB4cmVmLCBhbmQgQHJlZiBnZW5lcmF0ZSBjcm9zcy1yZWZlcmVuY2VzLiAgRm9yIFx4cmVmWCwgIzEgaXMKICUgdGhlIG5vZGUgbmFtZSwgIzIgdGhlIG5hbWUgb2YgdGhlIEluZm8gY3Jvc3MtcmVmZXJlbmNlLCAjMyB0aGUgcHJpbnRlZApAQCAtNTg1Miw5NCArNzE2MSwxMjggQEAKIFxkZWZceHJlZlhbIzEsIzIsIzMsIzQsIzUsIzZde1xiZWdpbmdyb3VwCiAgIFx1bnNlcHNwYWNlcwogICBcZGVmXHByaW50ZWRtYW51YWx7XGlnbm9yZXNwYWNlcyAjNX0lCi0gIFxkZWZccHJpbnRlZG5vZGVuYW1le1xpZ25vcmVzcGFjZXMgIzN9JQotICBcc2V0Ym94MT1caGJveHtccHJpbnRlZG1hbnVhbH0lCi0gIFxzZXRib3gwPVxoYm94e1xwcmludGVkbm9kZW5hbWV9JQorICBcZGVmXHByaW50ZWRyZWZuYW1le1xpZ25vcmVzcGFjZXMgIzN9JQorICBcc2V0Ym94MT1caGJveHtccHJpbnRlZG1hbnVhbFx1bnNraXB9JQorICBcc2V0Ym94MD1caGJveHtccHJpbnRlZHJlZm5hbWVcdW5za2lwfSUKICAgXGlmZGltIFx3ZDAgPSAwcHQKICAgICAlIE5vIHByaW50ZWQgbm9kZSBuYW1lIHdhcyBleHBsaWNpdGx5IGdpdmVuLgogICAgIFxleHBhbmRhZnRlclxpZnhcY3NuYW1lIFNFVHhyZWYtYXV0b21hdGljLXNlY3Rpb24tdGl0bGVcZW5kY3NuYW1lXHJlbGF4CiAgICAgICAlIFVzZSB0aGUgbm9kZSBuYW1lIGluc2lkZSB0aGUgc3F1YXJlIGJyYWNrZXRzLgotICAgICAgXGRlZlxwcmludGVkbm9kZW5hbWV7XGlnbm9yZXNwYWNlcyAjMX0lCisgICAgICBcZGVmXHByaW50ZWRyZWZuYW1le1xpZ25vcmVzcGFjZXMgIzF9JQogICAgIFxlbHNlCiAgICAgICAlIFVzZSB0aGUgYWN0dWFsIGNoYXB0ZXIvc2VjdGlvbiB0aXRsZSBhcHBlYXIgaW5zaWRlCiAgICAgICAlIHRoZSBzcXVhcmUgYnJhY2tldHMuICBVc2UgdGhlIHJlYWwgc2VjdGlvbiB0aXRsZSBpZiB3ZSBoYXZlIGl0LgogICAgICAgXGlmZGltIFx3ZDEgPiAwcHQKICAgICAgICAgJSBJdCBpcyBpbiBhbm90aGVyIG1hbnVhbCwgc28gd2UgZG9uJ3QgaGF2ZSBpdC4KLSAgICAgICAgXGRlZlxwcmludGVkbm9kZW5hbWV7XGlnbm9yZXNwYWNlcyAjMX0lCisgICAgICAgIFxkZWZccHJpbnRlZHJlZm5hbWV7XGlnbm9yZXNwYWNlcyAjMX0lCiAgICAgICBcZWxzZQogICAgICAgICBcaWZoYXZleHJlZnMKICAgICAgICAgICAlIFdlIGtub3cgdGhlIHJlYWwgdGl0bGUgaWYgd2UgaGF2ZSB0aGUgeHJlZiB2YWx1ZXMuCi0gICAgICAgICAgXGRlZlxwcmludGVkbm9kZW5hbWV7XHJlZnh7IzEtdGl0bGV9e319JQorICAgICAgICAgIFxkZWZccHJpbnRlZHJlZm5hbWV7XHJlZnh7IzEtdGl0bGV9e319JQogICAgICAgICBcZWxzZQogICAgICAgICAgICUgT3RoZXJ3aXNlIGp1c3QgY29weSB0aGUgSW5mbyBub2RlIG5hbWUuCi0gICAgICAgICAgXGRlZlxwcmludGVkbm9kZW5hbWV7XGlnbm9yZXNwYWNlcyAjMX0lCisgICAgICAgICAgXGRlZlxwcmludGVkcmVmbmFtZXtcaWdub3Jlc3BhY2VzICMxfSUKICAgICAgICAgXGZpJQogICAgICAgXGZpCiAgICAgXGZpCiAgIFxmaQogICAlCi0gICUgSWYgd2UgdXNlIFx1bmhib3gwIGFuZCBcdW5oYm94MSB0byBwcmludCB0aGUgbm9kZSBuYW1lcywgVGVYIGRvZXMgbm90Ci0gICUgaW5zZXJ0IGVtcHR5IGRpc2NyZXRpb25hcmllcyBhZnRlciBoeXBoZW5zLCB3aGljaCBtZWFucyB0aGF0IGl0IHdpbGwKLSAgJSBub3QgZmluZCBhIGxpbmUgYnJlYWsgYXQgYSBoeXBoZW4gaW4gYSBub2RlIG5hbWVzLiAgU2luY2Ugc29tZSBtYW51YWxzCi0gICUgYXJlIGJlc3Qgd3JpdHRlbiB3aXRoIGZhaXJseSBsb25nIG5vZGUgbmFtZXMsIGNvbnRhaW5pbmcgaHlwaGVucywgdGhpcwotICAlIGlzIGEgbG9zcy4gIFRoZXJlZm9yZSwgd2UgZ2l2ZSB0aGUgdGV4dCBvZiB0aGUgbm9kZSBuYW1lIGFnYWluLCBzbyBpdAotICAlIGlzIGFzIGlmIFRlWCBpcyBzZWVpbmcgaXQgZm9yIHRoZSBmaXJzdCB0aW1lLgorICAlIE1ha2UgbGluayBpbiBwZGYgb3V0cHV0LgogICBcaWZwZGYKLSAgICBcbGVhdmV2bW9kZQotICAgIFxnZXRmaWxlbmFtZXsjNH0lCi0gICAge1x0dXJub2ZmYWN0aXZlIFxvdGhlcmJhY2tzbGFzaAorICAgIHtcaW5kZXhub2ZvbnRzCisgICAgIFx0dXJub2ZmYWN0aXZlCisgICAgICUgVGhpcyBleHBhbmRzIHRva2Vucywgc28gZG8gaXQgYWZ0ZXIgbWFraW5nIGNhdGNvZGUgY2hhbmdlcywgc28gXworICAgICAlIGV0Yy4gZG9uJ3QgZ2V0IHRoZWlyIFRlWCBkZWZpbml0aW9ucy4KKyAgICAgXGdldGZpbGVuYW1leyM0fSUKKyAgICAgJQorICAgICAlIFNlZSBjb21tZW50cyBhdCBcYWN0aXZlYmFja3NsYXNoZG91YmxlLgorICAgICB7XGFjdGl2ZWJhY2tzbGFzaGRvdWJsZSBceGRlZlxwZGZ4cmVmZGVzdHsjMX0lCisgICAgICBcYmFja3NsYXNocGFyZW5zXHBkZnhyZWZkZXN0fSUKKyAgICAgJQorICAgICBcbGVhdmV2bW9kZQorICAgICBcc3RhcnRsaW5rIGF0dHJ7L0JvcmRlciBbMCAwIDBdfSUKICAgICAgXGlmbnVtXGZpbGVuYW1lbGVuZ3RoPjAKLSAgICAgICBcc3RhcnRsaW5rIGF0dHJ7L0JvcmRlciBbMCAwIDBdfSUKLSAgICAgICAgIGdvdG8gZmlsZXtcdGhlXGZpbGVuYW1lLnBkZn0gbmFtZXsjMX0lCisgICAgICAgZ290byBmaWxle1x0aGVcZmlsZW5hbWUucGRmfSBuYW1le1xwZGZ4cmVmZGVzdH0lCiAgICAgIFxlbHNlCi0gICAgICAgXHN0YXJ0bGluayBhdHRyey9Cb3JkZXIgWzAgMCAwXX0lCi0gICAgICAgICBnb3RvIG5hbWV7IzF9JQorICAgICAgIGdvdG8gbmFtZXtccGRmbWtwZ257XHBkZnhyZWZkZXN0fX0lCiAgICAgIFxmaQogICAgIH0lCi0gICAgXGxpbmtjb2xvcgorICAgIFxzZXRjb2xvcntcbGlua2NvbG9yfSUKICAgXGZpCiAgICUKLSAgXGlmZGltIFx3ZDEgPiAwcHQKLSAgICBccHV0d29yZHNlY3Rpb257fSBgYFxwcmludGVkbm9kZW5hbWUnJyBccHV0d29yZGlue30gXGNpdGV7XHByaW50ZWRtYW51YWx9JQorICAlIEZsb2F0IHJlZmVyZW5jZXMgYXJlIHByaW50ZWQgY29tcGxldGVseSBkaWZmZXJlbnRseTogIkZpZ3VyZSAxLjIiCisgICUgaW5zdGVhZCBvZiAiW3NvbWVub2RlXSwgcC4zIi4gIFdlIGRpc3Rpbmd1aXNoIHRoZW0gYnkgdGhlCisgICUgTEFCRUwtdGl0bGUgYmVpbmcgc2V0IHRvIGEgbWFnaWMgc3RyaW5nLgorICB7JQorICAgICUgSGF2ZSB0byBvdGhlcmlmeSBldmVyeXRoaW5nIHNwZWNpYWwgdG8gYWxsb3cgdGhlIFxjc25hbWUgdG8KKyAgICAlIGluY2x1ZGUgYW4gXyBpbiB0aGUgeHJlZiBuYW1lLCBldGMuCisgICAgXGluZGV4bm9mb250cworICAgIFx0dXJub2ZmYWN0aXZlCisgICAgXGV4cGFuZGFmdGVyXGdsb2JhbFxleHBhbmRhZnRlclxsZXRcZXhwYW5kYWZ0ZXJcWHRoaXNyZWZ0aXRsZQorICAgICAgXGNzbmFtZSBYUiMxLXRpdGxlXGVuZGNzbmFtZQorICB9JQorICBcaWZmbG9hdFxYdGhpc3JlZnRpdGxlCisgICAgJSBJZiB0aGUgdXNlciBzcGVjaWZpZWQgdGhlIHByaW50IG5hbWUgKHRoaXJkIGFyZykgdG8gdGhlIHJlZiwKKyAgICAlIHByaW50IGl0IGluc3RlYWQgb2Ygb3VyIHVzdWFsICJGaWd1cmUgMS4yIi4KKyAgICBcaWZkaW1cd2QwID0gMHB0CisgICAgICBccmVmeHsjMS1zbnR9e30lCisgICAgXGVsc2UKKyAgICAgIFxwcmludGVkcmVmbmFtZQorICAgIFxmaQorICAgICUKKyAgICAlIGlmIHRoZSB1c2VyIGFsc28gZ2F2ZSB0aGUgcHJpbnRlZCBtYW51YWwgbmFtZSAoZmlmdGggYXJnKSwgYXBwZW5kCisgICAgJSAiaW4gTUFOVUFMTkFNRSIuCisgICAgXGlmZGltIFx3ZDEgPiAwcHQKKyAgICAgIFxzcGFjZSBccHV0d29yZGlue30gXGNpdGV7XHByaW50ZWRtYW51YWx9JQorICAgIFxmaQogICBcZWxzZQotICAgICUgXyAoZm9yIGV4YW1wbGUpIGhhcyB0byBiZSB0aGUgY2hhcmFjdGVyIF8gZm9yIHRoZSBwdXJwb3NlcyBvZiB0aGUKLSAgICAlIGNvbnRyb2wgc2VxdWVuY2UgY29ycmVzcG9uZGluZyB0byB0aGUgbm9kZSwgYnV0IGl0IGhhcyB0byBleHBhbmQKLSAgICAlIGludG8gdGhlIHVzdWFsIFxsZWF2ZXZtb2RlLi4uXHZydWxlIHN0dWZmIGZvciBwdXJwb3NlcyBvZgotICAgICUgcHJpbnRpbmcuIFNvIHdlIFx0dXJub2ZmYWN0aXZlIGZvciB0aGUgXHJlZngtc250LCBiYWNrIG9uIGZvciB0aGUKLSAgICAlIHByaW50aW5nLCBiYWNrIG9mZiBmb3IgdGhlIFxyZWZ4LXBnLgotICAgIHtcdHVybm9mZmFjdGl2ZSBcb3RoZXJiYWNrc2xhc2gKLSAgICAgJSBPbmx5IG91dHB1dCBhIGZvbGxvd2luZyBzcGFjZSBpZiB0aGUgLXNudCByZWYgaXMgbm9uZW1wdHk7IGZvcgotICAgICAlIEB1bm51bWJlcmVkIGFuZCBAYW5jaG9yLCBpdCB3b24ndCBiZS4KLSAgICAgXHNldGJveDIgPSBcaGJveHtcaWdub3Jlc3BhY2VzIFxyZWZ4eyMxLXNudH17fX0lCi0gICAgIFxpZmRpbSBcd2QyID4gMHB0IFxyZWZ4eyMxLXNudH1cc3BhY2VcZmkKLSAgICB9JQotICAgICUgW215bm9kZV0sCi0gICAgW1xwcmludGVkbm9kZW5hbWVdLFxzcGFjZQotICAgICUgcGFnZSAzCi0gICAgXHR1cm5vZmZhY3RpdmUgXG90aGVyYmFja3NsYXNoIFxwdXR3b3JkcGFnZVx0aWVccmVmeHsjMS1wZ317fSUKKyAgICAlIG5vZGUvYW5jaG9yIChub24tZmxvYXQpIHJlZmVyZW5jZXMuCisgICAgJQorICAgICUgSWYgd2UgdXNlIFx1bmhib3gwIGFuZCBcdW5oYm94MSB0byBwcmludCB0aGUgbm9kZSBuYW1lcywgVGVYIGRvZXMgbm90CisgICAgJSBpbnNlcnQgZW1wdHkgZGlzY3JldGlvbmFyaWVzIGFmdGVyIGh5cGhlbnMsIHdoaWNoIG1lYW5zIHRoYXQgaXQgd2lsbAorICAgICUgbm90IGZpbmQgYSBsaW5lIGJyZWFrIGF0IGEgaHlwaGVuIGluIGEgbm9kZSBuYW1lcy4gIFNpbmNlIHNvbWUgbWFudWFscworICAgICUgYXJlIGJlc3Qgd3JpdHRlbiB3aXRoIGZhaXJseSBsb25nIG5vZGUgbmFtZXMsIGNvbnRhaW5pbmcgaHlwaGVucywgdGhpcworICAgICUgaXMgYSBsb3NzLiAgVGhlcmVmb3JlLCB3ZSBnaXZlIHRoZSB0ZXh0IG9mIHRoZSBub2RlIG5hbWUgYWdhaW4sIHNvIGl0CisgICAgJSBpcyBhcyBpZiBUZVggaXMgc2VlaW5nIGl0IGZvciB0aGUgZmlyc3QgdGltZS4KKyAgICBcaWZkaW0gXHdkMSA+IDBwdAorICAgICAgXHB1dHdvcmRTZWN0aW9ue30gYGBccHJpbnRlZHJlZm5hbWUnJyBccHV0d29yZGlue30gXGNpdGV7XHByaW50ZWRtYW51YWx9JQorICAgIFxlbHNlCisgICAgICAlIF8gKGZvciBleGFtcGxlKSBoYXMgdG8gYmUgdGhlIGNoYXJhY3RlciBfIGZvciB0aGUgcHVycG9zZXMgb2YgdGhlCisgICAgICAlIGNvbnRyb2wgc2VxdWVuY2UgY29ycmVzcG9uZGluZyB0byB0aGUgbm9kZSwgYnV0IGl0IGhhcyB0byBleHBhbmQKKyAgICAgICUgaW50byB0aGUgdXN1YWwgXGxlYXZldm1vZGUuLi5cdnJ1bGUgc3R1ZmYgZm9yIHB1cnBvc2VzIG9mCisgICAgICAlIHByaW50aW5nLiBTbyB3ZSBcdHVybm9mZmFjdGl2ZSBmb3IgdGhlIFxyZWZ4LXNudCwgYmFjayBvbiBmb3IgdGhlCisgICAgICAlIHByaW50aW5nLCBiYWNrIG9mZiBmb3IgdGhlIFxyZWZ4LXBnLgorICAgICAge1x0dXJub2ZmYWN0aXZlCisgICAgICAgJSBPbmx5IG91dHB1dCBhIGZvbGxvd2luZyBzcGFjZSBpZiB0aGUgLXNudCByZWYgaXMgbm9uZW1wdHk7IGZvcgorICAgICAgICUgQHVubnVtYmVyZWQgYW5kIEBhbmNob3IsIGl0IHdvbid0IGJlLgorICAgICAgIFxzZXRib3gyID0gXGhib3h7XGlnbm9yZXNwYWNlcyBccmVmeHsjMS1zbnR9e319JQorICAgICAgIFxpZmRpbSBcd2QyID4gMHB0IFxyZWZ4eyMxLXNudH1cc3BhY2VcZmkKKyAgICAgIH0lCisgICAgICAlIG91dHB1dCB0aGUgYFtteW5vZGVdJyB2aWEgYSBtYWNybyBzbyBpdCBjYW4gYmUgb3ZlcnJpZGRlbi4KKyAgICAgIFx4cmVmcHJpbnRub2RlbmFtZVxwcmludGVkcmVmbmFtZQorICAgICAgJQorICAgICAgJSBCdXQgd2UgYWx3YXlzIHdhbnQgYSBjb21tYSBhbmQgYSBzcGFjZToKKyAgICAgICxcc3BhY2UKKyAgICAgICUKKyAgICAgICUgb3V0cHV0IHRoZSBgcGFnZSAzJy4KKyAgICAgIFx0dXJub2ZmYWN0aXZlIFxwdXR3b3JkcGFnZVx0aWVccmVmeHsjMS1wZ317fSUKKyAgICBcZmkKICAgXGZpCiAgIFxlbmRsaW5rCiBcZW5kZ3JvdXB9CiAKLSUgXGRvc2V0cSBpcyBjYWxsZWQgZnJvbSBcc2V0cmVmIHRvIGRvIHRoZSBhY3R1YWwgXHdyaXRlIChcaWZsaW5rcykuCislIFRoaXMgbWFjcm8gaXMgY2FsbGVkIGZyb20gXHhyZWZYIGZvciB0aGUgYFtub2RlbmFtZV0nIHBhcnQgb2YgeHJlZgorJSBvdXRwdXQuICBJdCdzIGEgc2VwYXJhdGUgbWFjcm8gb25seSBzbyBpdCBjYW4gYmUgY2hhbmdlZCBtb3JlIGVhc2lseSwKKyUgc2luY2Ugc3F1YXJlIGJyYWNrZXRzIGRvbid0IHdvcmsgd2VsbCBpbiBzb21lIGRvY3VtZW50cy4gIFBhcnRpY3VsYXJseQorJSBvbmUgdGhhdCBCb2IgaXMgd29ya2luZyBvbiA6KS4KICUKLVxkZWZcZG9zZXRxIzEjMnslCi0gIHtcbGV0XGZvbGlvPTAlCi0gICBcZWRlZlxuZXh0e1x3cml0ZVxhdXhmaWxle1xpbnRlcm5hbHNldHF7IzF9eyMyfX19JQotICAgXGlmbGlua3MgXG5leHQgXGZpCi0gIH0lCi19CitcZGVmXHhyZWZwcmludG5vZGVuYW1lIzF7WyMxXX0KIAotJSBcaW50ZXJuYWxzZXRxe2Zvb317cGFnZX0gZXhwYW5kcyBpbnRvCi0lICAgQ0hBUkFDVEVSUyBAeHJkZWZ7Zm9vfXsuLi5leHBhbnNpb24gb2YgXHBhZ2UuLi59Ci1cZGVmXGludGVybmFsc2V0cSMxIzJ7QHhyZGVmeyMxfXtcY3NuYW1lICMyXGVuZGNzbmFtZX19Ci0KLSUgVGhpbmdzIHRvIGJlIGV4cGFuZGVkIGJ5IFxpbnRlcm5hbHNldHEuCi0lIAotXGRlZlxZcGFnZW51bWJlcntcZm9saW99Ci1cZGVmXFl0aXRsZXtcdGhpc3NlY3Rpb259CislIFRoaW5ncyByZWZlcnJlZCB0byBieSBcc2V0cmVmLgorJQogXGRlZlxZbm90aGluZ3t9Ci1cZGVmXFlzZWN0aW9ubnVtYmVyYW5kdHlwZXslCitcZGVmXFlvbWl0ZnJvbXRvY3t9CitcZGVmXFludW1iZXJlZHslCiAgIFxpZm51bVxzZWNubz0wCiAgICAgXHB1dHdvcmRDaGFwdGVyQHRpZSBcdGhlXGNoYXBubwogICBcZWxzZSBcaWZudW1cc3Vic2Vjbm89MApAQCAtNTk1MCw4ICs3MjkzLDcgQEAKICAgICBccHV0d29yZFNlY3Rpb25AdGllIFx0aGVcY2hhcG5vLlx0aGVcc2Vjbm8uXHRoZVxzdWJzZWNuby5cdGhlXHN1YnN1YnNlY25vCiAgIFxmaVxmaVxmaQogfQotCi1cZGVmXFlhcHBlbmRpeGxldHRlcmFuZHR5cGV7JQorXGRlZlxZYXBwZW5kaXh7JQogICBcaWZudW1cc2Vjbm89MAogICAgICBccHV0d29yZEFwcGVuZGl4QHRpZSBAY2hhclx0aGVcYXBwZW5kaXhub3t9JQogICBcZWxzZSBcaWZudW1cc3Vic2Vjbm89MApAQCAtNTk2NCwxNSArNzMwNiw2IEBACiAgIFxmaVxmaVxmaQogfQogCi0lIFVzZSBUZVggMy4wJ3MgXGlucHV0bGluZW5vIHRvIGdldCB0aGUgbGluZSBudW1iZXIsIGZvciBiZXR0ZXIgZXJyb3IKLSUgbWVzc2FnZXMsIGJ1dCBpZiB3ZSdyZSB1c2luZyBhbiBvbGQgdmVyc2lvbiBvZiBUZVgsIGRvbid0IGRvIGFueXRoaW5nLgotJQotXGlmeFxpbnB1dGxpbmVub1x0aGlzaXN1bmRlZmluZWQKLSAgXGxldFxsaW5lbnVtYmVyID0gXGVtcHR5ICUgUHJlLTMuMC4KLVxlbHNlCi0gIFxkZWZcbGluZW51bWJlcntcdGhlXGlucHV0bGluZW5vOlxzcGFjZX0KLVxmaQotCiAlIERlZmluZSBccmVmeHtOQU1FfXtTVUZGSVh9IHRvIHJlZmVyZW5jZSBhIGNyb3NzLXJlZmVyZW5jZSBzdHJpbmcgbmFtZWQgTkFNRS4KICUgSWYgaXRzIHZhbHVlIGlzIG5vbmVtcHR5LCBTVUZGSVggaXMgb3V0cHV0IGFmdGVyd2FyZC4KICUKQEAgLTU5ODEsNyArNzMxNCw3IEBACiAgICAgXGluZGV4bm9mb250cwogICAgIFxvdGhlcmJhY2tzbGFzaAogICAgIFxleHBhbmRhZnRlclxnbG9iYWxcZXhwYW5kYWZ0ZXJcbGV0XGV4cGFuZGFmdGVyXHRoaXNyZWZYCi0gICAgICBcY3NuYW1lIFgjMVxlbmRjc25hbWUKKyAgICAgIFxjc25hbWUgWFIjMVxlbmRjc25hbWUKICAgfSUKICAgXGlmeFx0aGlzcmVmWFxyZWxheAogICAgICUgSWYgbm90IGRlZmluZWQsIHNheSBzb21ldGhpbmcgYXQgbGVhc3QuCkBAIC02MDAzLDEyICs3MzM2LDU0IEBACiAgICMyJSBPdXRwdXQgdGhlIHN1ZmZpeCBpbiBhbnkgY2FzZS4KIH0KIAotJSBUaGlzIGlzIHRoZSBtYWNybyBpbnZva2VkIGJ5IGVudHJpZXMgaW4gdGhlIGF1eCBmaWxlLgorJSBUaGlzIGlzIHRoZSBtYWNybyBpbnZva2VkIGJ5IGVudHJpZXMgaW4gdGhlIGF1eCBmaWxlLiAgVXN1YWxseSBpdCdzCislIGp1c3QgYSBcZGVmICh3ZSBwcmVwZW5kIFhSIHRvIHRoZSBjb250cm9sIHNlcXVlbmNlIG5hbWUgdG8gYXZvaWQKKyUgY29sbGlzaW9ucykuICBCdXQgaWYgdGhpcyBpcyBhIGZsb2F0IHR5cGUsIHdlIGhhdmUgbW9yZSB3b3JrIHRvIGRvLgogJQotXGRlZlx4cmRlZiMxe1xleHBhbmRhZnRlclxnZGVmXGNzbmFtZSBYIzFcZW5kY3NuYW1lfQorXGRlZlx4cmRlZiMxIzJ7JQorICB7JSBUaGUgbm9kZSBuYW1lIG1pZ2h0IGNvbnRhaW4gOC1iaXQgY2hhcmFjdGVycywgd2hpY2ggaW4gb3VyIGN1cnJlbnQKKyAgICUgaW1wbGVtZW50YXRpb24gYXJlIGNoYW5nZWQgdG8gY29tbWFuZHMgbGlrZSBAJ2UuICBEb24ndCBsZXQgdGhlc2UKKyAgICUgbWVzcyB1cCB0aGUgY29udHJvbCBzZXF1ZW5jZSBuYW1lLgorICAgIFxpbmRleG5vZm9udHMKKyAgICBcdHVybm9mZmFjdGl2ZQorICAgIFx4ZGVmXHNhZmV4cmVmbmFtZXsjMX0lCisgIH0lCisgICUKKyAgXGV4cGFuZGFmdGVyXGdkZWZcY3NuYW1lIFhSXHNhZmV4cmVmbmFtZVxlbmRjc25hbWV7IzJ9JSByZW1lbWJlciB0aGlzIHhyZWYKKyAgJQorICAlIFdhcyB0aGF0IHhyZWYgY29udHJvbCBzZXF1ZW5jZSB0aGF0IHdlIGp1c3QgZGVmaW5lZCBmb3IgYSBmbG9hdD8KKyAgXGV4cGFuZGFmdGVyXGlmZmxvYXRcY3NuYW1lIFhSXHNhZmV4cmVmbmFtZVxlbmRjc25hbWUKKyAgICAlIGl0IHdhcyBhIGZsb2F0LCBhbmQgd2UgaGF2ZSB0aGUgKHNhZmUpIGZsb2F0IHR5cGUgaW4gXGlmZmxvYXR0eXBlLgorICAgIFxleHBhbmRhZnRlclxsZXRcZXhwYW5kYWZ0ZXJcZmxvYXRsaXN0CisgICAgICBcY3NuYW1lIGZsb2F0bGlzdFxpZmZsb2F0dHlwZVxlbmRjc25hbWUKKyAgICAlCisgICAgJSBJcyB0aGlzIHRoZSBmaXJzdCB0aW1lIHdlJ3ZlIHNlZW4gdGhpcyBmbG9hdCB0eXBlPworICAgIFxleHBhbmRhZnRlclxpZnhcZmxvYXRsaXN0XHJlbGF4CisgICAgICBcdG9rczAgPSB7XGRvfSUgeWVzLCBzbyBqdXN0IFxkbworICAgIFxlbHNlCisgICAgICAlIGhhZCBpdCBiZWZvcmUsIHNvIHByZXNlcnZlIHByZXZpb3VzIGVsZW1lbnRzIGluIGxpc3QuCisgICAgICBcdG9rczAgPSBcZXhwYW5kYWZ0ZXJ7XGZsb2F0bGlzdFxkb30lCisgICAgXGZpCisgICAgJQorICAgICUgUmVtZW1iZXIgdGhpcyB4cmVmIGluIHRoZSBjb250cm9sIHNlcXVlbmNlIFxmbG9hdGxpc3RGTE9BVFRZUEUsCisgICAgJSBmb3IgbGF0ZXIgdXNlIGluIFxsaXN0b2ZmbG9hdHMuCisgICAgXGV4cGFuZGFmdGVyXHhkZWZcY3NuYW1lIGZsb2F0bGlzdFxpZmZsb2F0dHlwZVxlbmRjc25hbWV7XHRoZVx0b2tzMAorICAgICAge1xzYWZleHJlZm5hbWV9fSUKKyAgXGZpCit9CiAKICUgUmVhZCB0aGUgbGFzdCBleGlzdGluZyBhdXggZmlsZSwgaWYgYW55LiAgTm8gZXJyb3IgaWYgbm9uZSBleGlzdHMuCi1cZGVmXHJlYWRhdXhmaWxle1xiZWdpbmdyb3VwCislCitcZGVmXHRyeWF1eGZpbGV7JQorICBcb3BlbmluIDEgXGpvYm5hbWUuYXV4CisgIFxpZmVvZiAxIFxlbHNlCisgICAgXHJlYWRkYXRhZmlsZXthdXh9JQorICAgIFxnbG9iYWxcaGF2ZXhyZWZzdHJ1ZQorICBcZmkKKyAgXGNsb3NlaW4gMQorfQorCitcZGVmXHNldHVwZGF0YWZpbGV7JQogICBcY2F0Y29kZWBcXl5APVxvdGhlcgogICBcY2F0Y29kZWBcXl5BPVxvdGhlcgogICBcY2F0Y29kZWBcXl5CPVxvdGhlcgpAQCAtNjA2Niw0MSArNzQ0MSw0MCBAQAogICBcY2F0Y29kZWBcJT1cb3RoZXIKICAgXGNhdGNvZGVgKz1cb3RoZXIgJSBhdm9pZCBcKyBmb3IgcGFyYW5vaWEgZXZlbiB0aG91Z2ggd2UndmUgdHVybmVkIGl0IG9mZgogICAlCi0gICUgTWFrZSB0aGUgY2hhcmFjdGVycyAxMjgtMjU1IGJlIHByaW50aW5nIGNoYXJhY3RlcnMKKyAgJSBUaGlzIGlzIHRvIHN1cHBvcnQgXCBpbiBub2RlIG5hbWVzIGFuZCB0aXRsZXMsIHNpbmNlIHRoZSBcCisgICUgY2hhcmFjdGVycyBlbmQgdXAgaW4gYSBcY3NuYW1lLiAgSXQncyBlYXNpZXIgdGhhbgorICAlIGxlYXZpbmcgaXQgYWN0aXZlIGFuZCBtYWtpbmcgaXRzIGFjdGl2ZSBkZWZpbml0aW9uIGFuIGFjdHVhbCBcCisgICUgY2hhcmFjdGVyLiAgV2hhdCBJIGRvbid0IHVuZGVyc3RhbmQgaXMgd2h5IGl0IHdvcmtzIGluIHRoZSAqdmFsdWUqCisgICUgb2YgdGhlIHhyZGVmLiAgU2VlbXMgbGlrZSBpdCBzaG91bGQgYmUgYSBjYXRjb2RlMTIgXCwgYW5kIHRoYXQKKyAgJSBzaG91bGQgbm90IHR5cGVzZXQgcHJvcGVybHkuICBCdXQgaXQgd29ya3MsIHNvIEknbSBtb3Zpbmcgb24gZm9yCisgICUgbm93LiAgLS1rYXJsLCAxNWphbjA0LgorICBcY2F0Y29kZWBcXD1cb3RoZXIKKyAgJQorICAlIE1ha2UgdGhlIGNoYXJhY3RlcnMgMTI4LTI1NSBiZSBwcmludGluZyBjaGFyYWN0ZXJzLgogICB7JQotICAgIFxjb3VudCAxPTEyOAorICAgIFxjb3VudDE9MTI4CiAgICAgXGRlZlxsb29weyUKLSAgICAgIFxjYXRjb2RlXGNvdW50IDE9XG90aGVyCi0gICAgICBcYWR2YW5jZVxjb3VudCAxIGJ5IDEKLSAgICAgIFxpZm51bSBcY291bnQgMTwyNTYgXGxvb3AgXGZpCisgICAgICBcY2F0Y29kZVxjb3VudDE9XG90aGVyCisgICAgICBcYWR2YW5jZVxjb3VudDEgYnkgMQorICAgICAgXGlmbnVtIFxjb3VudDE8MjU2IFxsb29wIFxmaQogICAgIH0lCiAgIH0lCiAgICUKLSAgJSBUdXJuIG9mZiBcIGFzIGFuIGVzY2FwZSBzbyB3ZSBkbyBub3QgbG9zZSBvbgotICAlIGVudHJpZXMgd2hpY2ggd2VyZSBkdW1wZWQgd2l0aCBjb250cm9sIHNlcXVlbmNlcyBpbiB0aGVpciBuYW1lcy4KLSAgJSBGb3IgZXhhbXBsZSwgQHhyZGVmeyRcbGVxICQtZnVufXtwYWdlIC4uLn0gbWFkZSBieSBAZGVmdW4gXl4KLSAgJSBSZWZlcmVuY2UgdG8gc3VjaCBlbnRyaWVzIHN0aWxsIGRvZXMgbm90IHdvcmsgdGhlIHdheSBvbmUgd291bGQgd2lzaCwKLSAgJSBidXQgYXQgbGVhc3QgdGhleSBkbyBub3QgYm9tYiBvdXQgd2hlbiB0aGUgYXV4IGZpbGUgaXMgcmVhZCBpbi4KLSAgXGNhdGNvZGVgXFw9XG90aGVyCi0gICUKLSAgJSBAIGlzIG91ciBlc2NhcGUgY2hhcmFjdGVyIGluIC5hdXggZmlsZXMuCisgICUgQCBpcyBvdXIgZXNjYXBlIGNoYXJhY3RlciBpbiAuYXV4IGZpbGVzLCBhbmQgd2UgbmVlZCBicmFjZXMuCiAgIFxjYXRjb2RlYFx7PTEKICAgXGNhdGNvZGVgXH09MgogICBcY2F0Y29kZWBcQD0wCi0gICUKLSAgXG9wZW5pbiAxIFxqb2JuYW1lLmF1eAotICBcaWZlb2YgMSBcZWxzZQotICAgIFxjbG9zZWluIDEKLSAgICBcaW5wdXQgXGpvYm5hbWUuYXV4Ci0gICAgXGdsb2JhbFxoYXZleHJlZnN0cnVlCi0gICAgXGdsb2JhbFx3YXJuZWRvYnN0cnVlCi0gIFxmaQotICAlIE9wZW4gdGhlIG5ldyBhdXggZmlsZS4gIFRlWCB3aWxsIGNsb3NlIGl0IGF1dG9tYXRpY2FsbHkgYXQgZXhpdC4KLSAgXG9wZW5vdXRcYXV4ZmlsZT1cam9ibmFtZS5hdXgKK30KKworXGRlZlxyZWFkZGF0YWZpbGUjMXslCitcYmVnaW5ncm91cAorICBcc2V0dXBkYXRhZmlsZQorICBcaW5wdXRcam9ibmFtZS4jMQogXGVuZGdyb3VwfQogCiAKLSUgRm9vdG5vdGVzLgorXG1lc3NhZ2V7aW5zZXJ0aW9ucyx9CislIGluY2x1ZGluZyBmb290bm90ZXMuCiAKIFxuZXdjb3VudCBcZm9vdG5vdGVubwogCkBAIC02MTE0LDE5ICs3NDg4LDE5IEBACiAlIEBmb290bm90ZXN0eWxlIGlzIG1lYW5pbmdmdWwgZm9yIGluZm8gb3V0cHV0IG9ubHkuCiBcbGV0XGZvb3Rub3Rlc3R5bGU9XGNvbW1lbnQKIAotXGxldFxwdGV4Zm9vdG5vdGU9XGZvb3Rub3RlCi0KIHtcY2F0Y29kZSBgXEA9MTEKICUKICUgQXV0by1udW1iZXIgZm9vdG5vdGVzLiAgT3RoZXJ3aXNlIGxpa2UgcGxhaW4uCiBcZ2RlZlxmb290bm90ZXslCisgIFxsZXRcaW5kZW50PVxwdGV4aW5kZW50CisgIFxsZXRcbm9pbmRlbnQ9XHB0ZXhub2luZGVudAogICBcZ2xvYmFsXGFkdmFuY2VcZm9vdG5vdGVubyBieSBcQG5lCiAgIFxlZGVmXHRoaXNmb290bm97JF57XHRoZVxmb290bm90ZW5vfSR9JQogICAlCiAgICUgSW4gY2FzZSB0aGUgZm9vdG5vdGUgY29tZXMgYXQgdGhlIGVuZCBvZiBhIHNlbnRlbmNlLCBwcmVzZXJ2ZSB0aGUKICAgJSBleHRyYSBzcGFjaW5nIGFmdGVyIHdlIGRvIHRoZSBmb290bm90ZSBudW1iZXIuCiAgIFxsZXRcQHNmXGVtcHR5Ci0gIFxpZmhtb2RlXGVkZWZcQHNme1xzcGFjZWZhY3Rvclx0aGVcc3BhY2VmYWN0b3J9XC9cZmkKKyAgXGlmaG1vZGVcZWRlZlxAc2Z7XHNwYWNlZmFjdG9yXHRoZVxzcGFjZWZhY3Rvcn1ccHRleHNsYXNoXGZpCiAgICUKICAgJSBSZW1vdmUgaW5hZHZlcnRlbnQgYmxhbmsgc3BhY2UgYmVmb3JlIHR5cGVzZXR0aW5nIHRoZSBmb290bm90ZSBudW1iZXIuCiAgIFx1bnNraXAKQEAgLTYxMzcsMTcgKzc1MTEsMTIgQEAKICUgRG9uJ3QgYm90aGVyIHdpdGggdGhlIHRyaWNrZXJ5IGluIHBsYWluLnRleCB0byBub3QgcmVxdWlyZSB0aGUKICUgZm9vdG5vdGUgdGV4dCBhcyBhIHBhcmFtZXRlci4gIE91ciBmb290bm90ZXMgZG9uJ3QgbmVlZCB0byBiZSBzbyBnZW5lcmFsLgogJQotJSBPaCB5ZXMsIHRoZXkgZG87IG90aGVyd2lzZSwgQGlmc2V0IGFuZCBhbnl0aGluZyBlbHNlIHRoYXQgdXNlcwotJSBccGFyc2VhcmdsaW5lIGZhaWwgaW5zaWRlIGZvb3Rub3RlcyBiZWNhdXNlIHRoZSB0b2tlbnMgYXJlIGZpeGVkIHdoZW4KKyUgT2ggeWVzLCB0aGV5IGRvOyBvdGhlcndpc2UsIEBpZnNldCAoYW5kIGFueXRoaW5nIGVsc2UgdGhhdCB1c2VzCislIFxwYXJzZWFyZ2xpbmUpIGZhaWxzIGluc2lkZSBmb290bm90ZXMgYmVjYXVzZSB0aGUgdG9rZW5zIGFyZSBmaXhlZCB3aGVuCiAlIHRoZSBmb290bm90ZSBpcyByZWFkLiAgLS1rYXJsLCAxNm5vdjk2LgogJQotJSBUaGUgc3RhcnQgb2YgdGhlIGZvb3Rub3RlIGxvb2tzIHVzdWFsbHkgbGlrZSB0aGlzOgotXGdkZWZcc3RhcnRmb290aW5ze1xpbnNlcnRcZm9vdGluc1xiZ3JvdXB9Ci0lCi0lIC4uLiBidXQgdGhpcyBtYWNybyBpcyByZWRlZmluZWQgaW5zaWRlIEBtdWx0aXRhYmxlLgotJQogXGdkZWZcZG9mb290bm90ZXslCi0gIFxzdGFydGZvb3RpbnMKKyAgXGluc2VydFxmb290aW5zXGJncm91cAogICAlIFdlIHdhbnQgdG8gdHlwZXNldCB0aGlzIHRleHQgYXMgYSBub3JtYWwgcGFyYWdyYXBoLCBldmVuIGlmIHRoZQogICAlIGZvb3Rub3RlIHJlZmVyZW5jZSBvY2N1cnMgaW4gKGZvciBleGFtcGxlKSBhIGRpc3BsYXkgZW52aXJvbm1lbnQuCiAgICUgU28gcmVzZXQgc29tZSBwYXJhbWV0ZXJzLgpAQCAtNjE4Myw0MCArNzU1Miw2NiBAQAogfQogfSVlbmQgXGNhdGNvZGUgYFxAPTExCiAKLSUgQHwgaW5zZXJ0cyBhIGNoYW5nZWJhciB0byB0aGUgbGVmdCBvZiB0aGUgY3VycmVudCBsaW5lLiAgSXQgc2hvdWxkCi0lIHN1cnJvdW5kIGFueSBjaGFuZ2VkIHRleHQuICBUaGlzIGFwcHJvYWNoIGRvZXMgKm5vdCogd29yayBpZiB0aGUKLSUgY2hhbmdlIHNwYW5zIG1vcmUgdGhhbiB0d28gbGluZXMgb2Ygb3V0cHV0LiAgVG8gaGFuZGxlIHRoYXQsIHdlIHdvdWxkCi0lIGhhdmUgYWRvcHQgYSBtdWNoIG1vcmUgZGlmZmljdWx0IGFwcHJvYWNoIChwdXR0aW5nIG1hcmtzIGludG8gdGhlIG1haW4KLSUgdmVydGljYWwgbGlzdCBmb3IgdGhlIGJlZ2lubmluZyBhbmQgZW5kIG9mIGVhY2ggY2hhbmdlKS4KKyUgSW4gY2FzZSBhIEBmb290bm90ZSBhcHBlYXJzIGluIGEgdmJveCwgc2F2ZSB0aGUgZm9vdG5vdGUgdGV4dCBhbmQgY3JlYXRlCislIHRoZSByZWFsIFxpbnNlcnQganVzdCBhZnRlciB0aGUgdmJveCBmaW5pc2hlZC4gIE90aGVyd2lzZSwgdGhlIGluc2VydGlvbgorJSB3b3VsZCBiZSBsb3N0LgorJSBTaW1pbGFybHksIGlmIGEgQGZvb3Rub3RlIGFwcGVhcnMgaW5zaWRlIGFuIGFsaWdubWVudCwgc2F2ZSB0aGUgZm9vdG5vdGUKKyUgdGV4dCB0byBhIGJveCBhbmQgbWFrZSB0aGUgXGluc2VydCB3aGVuIGEgcm93IG9mIHRoZSB0YWJsZSBpcyBmaW5pc2hlZC4KKyUgQW5kIHRoZSBzYW1lIGNhbiBiZSBkb25lIGZvciBvdGhlciBpbnNlcnQgY2xhc3Nlcy4gIC0ta2FzYWwsIDE2bm92MDMuCisKKyUgUmVwbGFjZSB0aGUgXGluc2VydCBwcmltaXRpdmUgYnkgYSBjaGVhdGluZyBtYWNyby4KKyUgRGVlcGVyIGluc2lkZSwganVzdCBtYWtlIHN1cmUgdGhhdCB0aGUgc2F2ZWQgaW5zZXJ0aW9ucyBhcmUgbm90IHNwaWxsZWQKKyUgb3V0IHByZW1hdHVyZWx5LgogJQotXGRlZlx8eyUKLSAgJSBcdmFkanVzdCBjYW4gb25seSBiZSB1c2VkIGluIGhvcml6b250YWwgbW9kZS4KLSAgXGxlYXZldm1vZGUKLSAgJQotICAlIEFwcGVuZCB0aGlzIHZlcnRpY2FsIG1vZGUgbWF0ZXJpYWwgYWZ0ZXIgdGhlIGN1cnJlbnQgbGluZSBpbiB0aGUgb3V0cHV0LgotICBcdmFkanVzdHslCi0gICAgJSBXZSB3YW50IHRvIGluc2VydCBhIHJ1bGUgd2l0aCB0aGUgaGVpZ2h0IGFuZCBkZXB0aCBvZiB0aGUgY3VycmVudAotICAgICUgbGVhZGluZzsgdGhhdCBpcyBleGFjdGx5IHdoYXQgXHN0cnV0Ym94IGlzIHN1cHBvc2VkIHRvIHJlY29yZC4KLSAgICBcdnNraXAtXGJhc2VsaW5lc2tpcAotICAgICUKLSAgICAlIFx2YWRqdXN0LWl0ZW1zIGFyZSBpbnNlcnRlZCBhdCB0aGUgbGVmdCBlZGdlIG9mIHRoZSB0eXBlLiAgU28KLSAgICAlIHRoZSBcbGxhcCBoZXJlIG1vdmVzIG91dCBpbnRvIHRoZSBsZWZ0LWhhbmQgbWFyZ2luLgotICAgIFxsbGFweyUKLSAgICAgICUKLSAgICAgICUgRm9yIGEgdGhpY2tlciBvciB0aGlubmVyIGJhciwgY2hhbmdlIHRoZSBgMXB0Jy4KLSAgICAgIFx2cnVsZSBoZWlnaHRcYmFzZWxpbmVza2lwIHdpZHRoMXB0Ci0gICAgICAlCi0gICAgICAlIFRoaXMgaXMgdGhlIHNwYWNlIGJldHdlZW4gdGhlIGJhciBhbmQgdGhlIHRleHQuCi0gICAgICBcaHNraXAgMTJwdAotICAgIH0lCi0gIH0lCitcZGVmXHN0YXJ0c2F2aW5naW5zZXJ0c3slCisgIFxpZnggXGluc2VydFxwdGV4aW5zZXJ0CisgICAgXGxldFxpbnNlcnRcc2F2ZWluc2VydAorICBcZWxzZQorICAgIFxsZXRcY2hlY2tpbnNlcnRzXHJlbGF4CisgIFxmaQogfQogCi0lIEZvciBhIGZpbmFsIGNvcHksIHRha2Ugb3V0IHRoZSByZWN0YW5nbGVzCi0lIHRoYXQgbWFyayBvdmVyZnVsbCBib3hlcyAoaW4gY2FzZSB5b3UgaGF2ZSBkZWNpZGVkCi0lIHRoYXQgdGhlIHRleHQgbG9va3Mgb2sgZXZlbiB0aG91Z2ggaXQgcGFzc2VzIHRoZSBtYXJnaW4pLgorJSBUaGlzIFxpbnNlcnQgcmVwbGFjZW1lbnQgd29ya3MgZm9yIGJvdGggXGluc2VydFxmb290aW5ze2Zvb30gYW5kCislIFxpbnNlcnRcZm9vdGluc1xiZ3JvdXAgZm9vXGVncm91cCwgYnV0IGl0IGRvZXNuJ3Qgd29yayBmb3IgXGluc2VydDI3e2Zvb30uCiAlCi1cZGVmXGZpbmFsb3V0e1xvdmVyZnVsbHJ1bGU9MHB0fQorXGRlZlxzYXZlaW5zZXJ0IzF7JQorICBcZWRlZlxuZXh0e1xub2V4cGFuZFxzYXZldG9ib3ggXG1ha2VTQVZFbmFtZSMxfSUKKyAgXGFmdGVyYXNzaWdubWVudFxuZXh0CisgICUgc3dhbGxvdyB0aGUgbGVmdCBicmFjZQorICBcbGV0XHRlbXAgPQorfQorXGRlZlxtYWtlU0FWRW5hbWUjMXtcbWFrZWNzbmFtZXtTQVZFXGV4cGFuZGFmdGVyXGdvYmJsZVxzdHJpbmcjMX19CitcZGVmXHNhdmV0b2JveCMxe1xnbG9iYWxcc2V0Ym94IzEgPSBcdmJveFxiZ3JvdXAgXHVudmJveCMxfQorCitcZGVmXGNoZWNrc2F2ZWlucyMxe1xpZnZvaWQjMVxlbHNlIFxwbGFjZXNhdmVpbnMjMVxmaX0KKworXGRlZlxwbGFjZXNhdmVpbnMjMXslCisgIFxwdGV4aW5zZXJ0IFxjc25hbWVcZXhwYW5kYWZ0ZXJcZ29iYmxlc2F2ZVxzdHJpbmcjMVxlbmRjc25hbWUKKyAgICB7XGJveCMxfSUKK30KKworJSBlYXQgQFNBVkUgLS0gYmV3YXJlLCBhbGwgb2YgdGhlbSBoYXZlIGNhdGNvZGUgXG90aGVyOgoreworICBcZGVmXGRvc3BlY2lhbHN7XGRvIFNcZG8gQVxkbyBWXGRvIEV9IFx1bmNhdGNvZGVzcGVjaWFscyAgJSAgOy0pCisgIFxnZGVmXGdvYmJsZXNhdmUgQFNBVkV7fQorfQorCislIGluaXRpYWxpemF0aW9uOgorXGRlZlxuZXdzYXZlaW5zICMxeyUKKyAgXGVkZWZcbmV4dHtcbm9leHBhbmRcbmV3c2F2ZWluc1ggXG1ha2VTQVZFbmFtZSMxfSUKKyAgXG5leHQKK30KK1xkZWZcbmV3c2F2ZWluc1ggIzF7JQorICBcY3NuYW1lIG5ld2JveFxlbmRjc25hbWUgIzElCisgIFxleHBhbmRhZnRlclxkZWZcZXhwYW5kYWZ0ZXJcY2hlY2tpbnNlcnRzXGV4cGFuZGFmdGVye1xjaGVja2luc2VydHMKKyAgICBcY2hlY2tzYXZlaW5zICMxfSUKK30KKworJSBpbml0aWFsaXplOgorXGxldFxjaGVja2luc2VydHNcZW1wdHkKK1xuZXdzYXZlaW5zXGZvb3RpbnMKK1xuZXdzYXZlaW5zXG1hcmdpbgorCiAKICUgQGltYWdlLiAgV2UgdXNlIHRoZSBtYWNyb3MgZnJvbSBlcHNmLnRleCB0byBzdXBwb3J0IHRoaXMuCiAlIElmIGVwc2YudGV4IGlzIG5vdCBpbnN0YWxsZWQgYW5kIEBpbWFnZSBpcyB1c2VkLCB3ZSBjb21wbGFpbi4KQEAgLTYyMjYsMTIgKzc2MjEsMTIgQEAKICUgdW5kb25lIGFuZCB0aGUgbmV4dCBpbWFnZSB3b3VsZCBmYWlsLgogXG9wZW5pbiAxID0gZXBzZi50ZXgKIFxpZmVvZiAxIFxlbHNlCi0gIFxjbG9zZWluIDEKICAgJSBEbyBub3QgYm90aGVyIHNob3dpbmcgYmFubmVyIHdpdGggZXBzZi50ZXggdjIuN2sgKGF2YWlsYWJsZSBpbgogICAlIGRvYy9lcHNmLnRleCBhbmQgb24gY3RhbikuCiAgIFxkZWZcZXBzZmFubm91bmNle1x0b2tzMCA9IH0lCiAgIFxpbnB1dCBlcHNmLnRleAogXGZpCitcY2xvc2VpbiAxCiAlCiAlIFdlIHdpbGwgb25seSBjb21wbGFpbiBvbmNlIGFib3V0IGxhY2sgb2YgZXBzZi50ZXguCiBcbmV3aWZcaWZ3YXJuZWRub2Vwc2YKQEAgLTYyNjQsMTUgKzc2NTksMTkgQEAKICAgJSBJZiB0aGUgaW1hZ2UgaXMgYnkgaXRzZWxmLCBjZW50ZXIgaXQuCiAgIFxpZnZtb2RlCiAgICAgXGltYWdldm1vZGV0cnVlCi0gICAgXG5vYnJlYWtcYmlnc2tpcAorICAgIFxub2JyZWFrXG1lZHNraXAKICAgICAlIFVzdWFsbHkgd2UnbGwgaGF2ZSB0ZXh0IGFmdGVyIHRoZSBpbWFnZSB3aGljaCB3aWxsIGluc2VydAogICAgICUgXHBhcnNraXAgZ2x1ZSwgc28gaW5zZXJ0IGl0IGhlcmUgdG9vIHRvIGVxdWFsaXplIHRoZSBzcGFjZQotICAgICUgYWJvdmUgYW5kIGJlbG93LiAKKyAgICAlIGFib3ZlIGFuZCBiZWxvdy4KICAgICBcbm9icmVha1x2c2tpcFxwYXJza2lwCiAgICAgXG5vYnJlYWsKLSAgICBcbGluZVxiZ3JvdXBcaHNzCiAgIFxmaQogICAlCisgICUgTGVhdmUgdmVydGljYWwgbW9kZSBzbyB0aGF0IGluZGVudGF0aW9uIGZyb20gYW4gZW5jbG9zaW5nCisgICUgZW52aXJvbm1lbnQgc3VjaCBhcyBAcXVvdGF0aW9uIGlzIHJlc3BlY3RlZC4gIE9uIHRoZSBvdGhlciBoYW5kLCBpZgorICAlIGl0J3MgYXQgdGhlIHRvcCBsZXZlbCwgd2UgZG9uJ3Qgd2FudCB0aGUgbm9ybWFsIHBhcmFncmFwaCBpbmRlbnRhdGlvbi4KKyAgXG5vaW5kZW50CisgICUKICAgJSBPdXRwdXQgdGhlIGltYWdlLgogICBcaWZwZGYKICAgICBcZG9wZGZpbWFnZXsjMX17IzJ9eyMzfSUKQEAgLTYyODMsNDUgKzc2ODIsMTE3MyBAQAogICAgIFxlcHNmYm94eyMxLmVwc30lCiAgIFxmaQogICAlCi0gIFxpZmltYWdldm1vZGUgXGhzcyBcZWdyb3VwIFxiaWdicmVhayBcZmkgICUgc3BhY2UgYWZ0ZXIgdGhlIGltYWdlCisgIFxpZmltYWdldm1vZGUgXG1lZHNraXAgXGZpICAlIHNwYWNlIGFmdGVyIHRoZSBzdGFuZGFsb25lIGltYWdlCiBcZW5kZ3JvdXB9CiAKIAotXG1lc3NhZ2V7bG9jYWxpemF0aW9uLH0KLSUgYW5kIGkxOG4uCi0KLSUgQGRvY3VtZW50bGFuZ3VhZ2UgaXMgdXN1YWxseSBnaXZlbiB2ZXJ5IGVhcmx5LCBqdXN0IGFmdGVyCi0lIEBzZXRmaWxlbmFtZS4gIElmIGRvbmUgdG9vIGxhdGUsIGl0IG1heSBub3Qgb3ZlcnJpZGUgZXZlcnl0aGluZwotJSBwcm9wZXJseS4gIFNpbmdsZSBhcmd1bWVudCBpcyB0aGUgbGFuZ3VhZ2UgYWJicmV2aWF0aW9uLgotJSBJdCB3b3VsZCBiZSBuaWNlIGlmIHdlIGNvdWxkIHNldCB1cCBhIGh5cGhlbmF0aW9uIGZpbGUgaGVyZS4KKyUgQGZsb2F0IEZMT0FUVFlQRSxMQUJFTCxMT0MgLi4uIEBlbmQgZmxvYXQgZm9yIGRpc3BsYXllZCBmaWd1cmVzLCB0YWJsZXMsCislIGV0Yy4gIFdlIGRvbid0IGFjdHVhbGx5IGltcGxlbWVudCBmbG9hdGluZyB5ZXQsIHdlIGFsd2F5cyBpbmNsdWRlIHRoZQorJSBmbG9hdCAiaGVyZSIuICBCdXQgaXQgc2VlbWVkIHRoZSBiZXN0IG5hbWUgZm9yIHRoZSBmdXR1cmUuCiAlCi1cZGVmXGRvY3VtZW50bGFuZ3VhZ2V7XHBhcnNlYXJnXGRvZG9jdW1lbnRsYW5ndWFnZX0KLVxkZWZcZG9kb2N1bWVudGxhbmd1YWdlIzF7JQorXGVudnBhcnNlYXJnZGVmXGZsb2F0e1xlYXRjb21tYXNwYWNlXGVhdGNvbW1hc3BhY2VcZG9mbG9hdCMxLCAsICxcZmluaXNofQorCislIFRoZXJlIG1heSBiZSBhIHNwYWNlIGJlZm9yZSBzZWNvbmQgYW5kL29yIHRoaXJkIHBhcmFtZXRlcjsgZGVsZXRlIGl0LgorXGRlZlxlYXRjb21tYXNwYWNlIzEsIHsjMSx9CisKKyUgIzEgaXMgdGhlIG9wdGlvbmFsIEZMT0FUVFlQRSwgdGhlIHRleHQgbGFiZWwgZm9yIHRoaXMgZmxvYXQsIHR5cGljYWxseQorJSAiRmlndXJlIiwgIlRhYmxlIiwgIkV4YW1wbGUiLCBldGMuICBDYW4ndCBjb250YWluIGNvbW1hcy4gIElmIG9taXR0ZWQsCislIHRoaXMgZmxvYXQgd2lsbCBub3QgYmUgbnVtYmVyZWQgYW5kIGNhbm5vdCBiZSByZWZlcnJlZCB0by4KKyUKKyUgIzIgaXMgdGhlIG9wdGlvbmFsIHhyZWYgbGFiZWwuICBBbHNvIG11c3QgYmUgcHJlc2VudCBmb3IgdGhlIGZsb2F0IHRvCislIGJlIHJlZmVyYWJsZS4KKyUKKyUgIzMgaXMgdGhlIG9wdGlvbmFsIHBvc2l0aW9uaW5nIGFyZ3VtZW50OyBmb3Igbm93LCBpdCBpcyBpZ25vcmVkLiAgSXQKKyUgd2lsbCBzb21laG93IHNwZWNpZnkgdGhlIHBvc2l0aW9ucyBhbGxvd2VkIHRvIGZsb2F0IHRvIChoZXJlLCB0b3AsIGJvdHRvbSkuCislCislIFdlIGtlZXAgYSBzZXBhcmF0ZSBjb3VudGVyIGZvciBlYWNoIEZMT0FUVFlQRSwgd2hpY2ggd2UgcmVzZXQgYXQgZWFjaAorJSBjaGFwdGVyLWxldmVsIGNvbW1hbmQuCitcbGV0XHJlc2V0YWxsZmxvYXRub3M9XGVtcHR5CislCitcZGVmXGRvZmxvYXQjMSwjMiwjMywjNFxmaW5pc2h7JQorICBcbGV0XHRoaXNjYXB0aW9uPVxlbXB0eQorICBcbGV0XHRoaXNzaG9ydGNhcHRpb249XGVtcHR5CisgICUKKyAgJSBkb24ndCBsb3NlIGZvb3Rub3RlcyBpbnNpZGUgQGZsb2F0LgorICAlCisgICUgQkVXQVJFOiB3aGVuIHRoZSBmbG9hdHMgc3RhcnQgZmxvYXQsIHdlIGhhdmUgdG8gaXNzdWUgd2FybmluZyB3aGVuZXZlciBhbgorICAlIGluc2VydCBhcHBlYXJzIGluc2lkZSBhIGZsb2F0IHdoaWNoIGNvdWxkIHBvc3NpYmx5IGZsb2F0LiAtLWthc2FsLCAyNm1heTA0CisgICUKKyAgXHN0YXJ0c2F2aW5naW5zZXJ0cworICAlCisgICUgV2UgY2FuJ3QgYmUgdXNlZCBpbnNpZGUgYSBwYXJhZ3JhcGguCisgIFxwYXIKKyAgJQorICBcdnRvcFxiZ3JvdXAKKyAgICBcZGVmXGZsb2F0dHlwZXsjMX0lCisgICAgXGRlZlxmbG9hdGxhYmVseyMyfSUKKyAgICBcZGVmXGZsb2F0bG9jeyMzfSUgd2UgZG8gbm90aGluZyB3aXRoIHRoaXMgeWV0LgorICAgICUKKyAgICBcaWZ4XGZsb2F0dHlwZVxlbXB0eQorICAgICAgXGxldFxzYWZlZmxvYXR0eXBlPVxlbXB0eQorICAgIFxlbHNlCisgICAgICB7JQorICAgICAgICAlIHRoZSBmbG9hdHR5cGUgbWlnaHQgaGF2ZSBhY2NlbnRzIG9yIG90aGVyIHNwZWNpYWwgY2hhcmFjdGVycywKKyAgICAgICAgJSBidXQgd2UgbmVlZCB0byB1c2UgaXQgaW4gYSBjb250cm9sIHNlcXVlbmNlIG5hbWUuCisgICAgICAgIFxpbmRleG5vZm9udHMKKyAgICAgICAgXHR1cm5vZmZhY3RpdmUKKyAgICAgICAgXHhkZWZcc2FmZWZsb2F0dHlwZXtcZmxvYXR0eXBlfSUKKyAgICAgIH0lCisgICAgXGZpCisgICAgJQorICAgICUgSWYgbGFiZWwgaXMgZ2l2ZW4gYnV0IG5vIHR5cGUsIHdlIGhhbmRsZSB0aGF0IGFzIHRoZSBlbXB0eSB0eXBlLgorICAgIFxpZnhcZmxvYXRsYWJlbFxlbXB0eSBcZWxzZQorICAgICAgJSBXZSB3YW50IGVhY2ggRkxPQVRUWVBFIHRvIGJlIG51bWJlcmVkIHNlcGFyYXRlbHkgKEZpZ3VyZSAxLAorICAgICAgJSBUYWJsZSAxLCBGaWd1cmUgMiwgLi4uKS4gIChBbmQgaWYgbm8gbGFiZWwsIG5vIG51bWJlci4pCisgICAgICAlCisgICAgICBcZXhwYW5kYWZ0ZXJcZ2V0ZmxvYXRub1xjc25hbWVcc2FmZWZsb2F0dHlwZSBmbG9hdG5vXGVuZGNzbmFtZQorICAgICAgXGdsb2JhbFxhZHZhbmNlXGZsb2F0bm8gYnkgMQorICAgICAgJQorICAgICAgeyUKKyAgICAgICAgJSBUaGlzIG1hZ2ljIHZhbHVlIGZvciBcbGFzdHNlY3Rpb24gaXMgb3V0cHV0IGJ5IFxzZXRyZWYgYXMgdGhlCisgICAgICAgICUgWFJFRkxBQkVMLXRpdGxlIHZhbHVlLiAgXHhyZWZYIHVzZXMgaXQgdG8gZGlzdGluZ3Vpc2ggZmxvYXQKKyAgICAgICAgJSBsYWJlbHMgKHdoaWNoIGhhdmUgYSBjb21wbGV0ZWx5IGRpZmZlcmVudCBvdXRwdXQgZm9ybWF0KSBmcm9tCisgICAgICAgICUgbm9kZSBhbmQgYW5jaG9yIGxhYmVscy4gIEFuZCBceHJkZWYgdXNlcyBpdCB0byBjb25zdHJ1Y3QgdGhlCisgICAgICAgICUgbGlzdHMgb2YgZmxvYXRzLgorICAgICAgICAlCisgICAgICAgIFxlZGVmXGxhc3RzZWN0aW9ue1xmbG9hdG1hZ2ljPVxzYWZlZmxvYXR0eXBlfSUKKyAgICAgICAgXHNldHJlZntcZmxvYXRsYWJlbH17WWZsb2F0fSUKKyAgICAgIH0lCisgICAgXGZpCisgICAgJQorICAgICUgc3RhcnQgd2l0aCBccGFyc2tpcCBnbHVlLCBJIGd1ZXNzLgorICAgIFx2c2tpcFxwYXJza2lwCisgICAgJQorICAgICUgRG9uJ3Qgc3VwcHJlc3MgaW5kZW50YXRpb24gaWYgYSBmbG9hdCBoYXBwZW5zIHRvIHN0YXJ0IGEgc2VjdGlvbi4KKyAgICBccmVzdG9yZWZpcnN0cGFyYWdyYXBoaW5kZW50Cit9CisKKyUgd2UgaGF2ZSB0aGVzZSBwb3NzaWJpbGl0aWVzOgorJSBAZmxvYXQgRm9vLGxibCAmIEBjYXB0aW9ue0NhcH06IEZvbyAxLjE6IENhcAorJSBAZmxvYXQgRm9vLGxibCAmIG5vIGNhcHRpb246ICAgIEZvbyAxLjEKKyUgQGZsb2F0IEZvbyAmIEBjYXB0aW9ue0NhcH06ICAgICBGb286IENhcAorJSBAZmxvYXQgRm9vICYgbm8gY2FwdGlvbjogICAgICAgIEZvbworJSBAZmxvYXQgLGxibCAmIENhcHRpb257Q2FwfTogICAgIDEuMTogQ2FwCislIEBmbG9hdCAsbGJsICYgbm8gY2FwdGlvbjogICAgICAgMS4xCislIEBmbG9hdCAmIEBjYXB0aW9ue0NhcH06ICAgICAgICAgQ2FwCislIEBmbG9hdCAmIG5vIGNhcHRpb246CislCitcZGVmXEVmbG9hdHslCisgICAgXGxldFxmbG9hdGlkZW50ID0gXGVtcHR5CisgICAgJQorICAgICUgSW4gYWxsIGNhc2VzLCBpZiB3ZSBoYXZlIGEgZmxvYXQgdHlwZSwgaXQgY29tZXMgZmlyc3QuCisgICAgXGlmeFxmbG9hdHR5cGVcZW1wdHkgXGVsc2UgXGRlZlxmbG9hdGlkZW50e1xmbG9hdHR5cGV9XGZpCisgICAgJQorICAgICUgSWYgd2UgaGF2ZSBhbiB4cmVmIGxhYmVsLCB0aGUgbnVtYmVyIGNvbWVzIG5leHQuCisgICAgXGlmeFxmbG9hdGxhYmVsXGVtcHR5IFxlbHNlCisgICAgICBcaWZ4XGZsb2F0dHlwZVxlbXB0eSBcZWxzZSAlIGlmIGFsc28gaGFkIGZsb2F0IHR5cGUsIG5lZWQgdGllIGZpcnN0LgorICAgICAgICBcYXBwZW5kdG9tYWNyb1xmbG9hdGlkZW50e1x0aWV9JQorICAgICAgXGZpCisgICAgICAlIHRoZSBudW1iZXIuCisgICAgICBcYXBwZW5kdG9tYWNyb1xmbG9hdGlkZW50e1xjaGFwbGV2ZWxwcmVmaXhcdGhlXGZsb2F0bm99JQorICAgIFxmaQorICAgICUKKyAgICAlIFN0YXJ0IHRoZSBwcmludGVkIGNhcHRpb24gd2l0aCB3aGF0IHdlJ3ZlIGNvbnN0cnVjdGVkIGluCisgICAgJSBcZmxvYXRpZGVudCwgYnV0IGtlZXAgaXQgc2VwYXJhdGU7IHdlIG5lZWQgXGZsb2F0aWRlbnQgYWdhaW4uCisgICAgXGxldFxjYXB0aW9ubGluZSA9IFxmbG9hdGlkZW50CisgICAgJQorICAgIFxpZnhcdGhpc2NhcHRpb25cZW1wdHkgXGVsc2UKKyAgICAgIFxpZnhcZmxvYXRpZGVudFxlbXB0eSBcZWxzZQorCVxhcHBlbmR0b21hY3JvXGNhcHRpb25saW5lezogfSUgaGFkIGlkZW50LCBzbyBuZWVkIGEgY29sb24gYmV0d2VlbgorICAgICAgXGZpCisgICAgICAlCisgICAgICAlIGNhcHRpb24gdGV4dC4KKyAgICAgIFxhcHBlbmR0b21hY3JvXGNhcHRpb25saW5le1xzY2FuZXhwXHRoaXNjYXB0aW9ufSUKKyAgICBcZmkKKyAgICAlCisgICAgJSBJZiB3ZSBoYXZlIGFueXRoaW5nIHRvIHByaW50LCBwcmludCBpdCwgd2l0aCBzcGFjZSBiZWZvcmUuCisgICAgJSBFdmVudHVhbGx5IHRoaXMgbmVlZHMgdG8gYmVjb21lIGFuIFxpbnNlcnQuCisgICAgXGlmeFxjYXB0aW9ubGluZVxlbXB0eSBcZWxzZQorICAgICAgXHZza2lwLjVccGFyc2tpcAorICAgICAgXGNhcHRpb25saW5lCisgICAgICAlCisgICAgICAlIFNwYWNlIGJlbG93IGNhcHRpb24uCisgICAgICBcdnNraXBccGFyc2tpcAorICAgIFxmaQorICAgICUKKyAgICAlIElmIGhhdmUgYW4geHJlZiBsYWJlbCwgd3JpdGUgdGhlIGxpc3Qgb2YgZmxvYXRzIGluZm8uICBEbyB0aGlzCisgICAgJSBhZnRlciB0aGUgY2FwdGlvbiwgdG8gYXZvaWQgY2hhbmNlIG9mIGl0IGJlaW5nIGEgYnJlYWtwb2ludC4KKyAgICBcaWZ4XGZsb2F0bGFiZWxcZW1wdHkgXGVsc2UKKyAgICAgICUgV3JpdGUgdGhlIHRleHQgdGhhdCBnb2VzIGluIHRoZSBsb2YgdG8gdGhlIGF1eCBmaWxlIGFzCisgICAgICAlIFxmbG9hdGxhYmVsLWxvZi4gIEJlc2lkZXMgXGZsb2F0aWRlbnQsIHdlIGluY2x1ZGUgdGhlIHNob3J0CisgICAgICAlIGNhcHRpb24gaWYgc3BlY2lmaWVkLCBlbHNlIHRoZSBmdWxsIGNhcHRpb24gaWYgc3BlY2lmaWVkLCBlbHNlIG5vdGhpbmcuCisgICAgICB7JQorICAgICAgICBcYXRkdW1taWVzCisgICAgICAgICUKKyAgICAgICAgJSBzaW5jZSB3ZSByZWFkIHRoZSBjYXB0aW9uIHRleHQgaW4gdGhlIG1hY3JvIHdvcmxkLCB3aGVyZSBeXk0KKyAgICAgICAgJSBpcyB0dXJuZWQgaW50byBhIG5vcm1hbCBjaGFyYWN0ZXIsIHdlIGhhdmUgdG8gc2NhbiBpdCBiYWNrLCBzbworICAgICAgICAlIHdlIGRvbid0IHdyaXRlIHRoZSBsaXRlcmFsIHRocmVlIGNoYXJhY3RlcnMgIl5eTSIgaW50byB0aGUgYXV4IGZpbGUuCisJXHNjYW5leHB7JQorCSAgXHhkZWZcbm9leHBhbmRcZ3RlbXB7JQorCSAgICBcaWZ4XHRoaXNzaG9ydGNhcHRpb25cZW1wdHkKKwkgICAgICBcdGhpc2NhcHRpb24KKwkgICAgXGVsc2UKKwkgICAgICBcdGhpc3Nob3J0Y2FwdGlvbgorCSAgICBcZmkKKwkgIH0lCisJfSUKKyAgICAgICAgXGltbWVkaWF0ZVx3cml0ZVxhdXhmaWxle0B4cmRlZntcZmxvYXRsYWJlbC1sb2Z9e1xmbG9hdGlkZW50CisJICBcaWZ4XGd0ZW1wXGVtcHR5IFxlbHNlIDogXGd0ZW1wIFxmaX19JQorICAgICAgfSUKKyAgICBcZmkKKyAgXGVncm91cCAgJSBlbmQgb2YgXHZ0b3AKKyAgJQorICAlIHBsYWNlIHRoZSBjYXB0dXJlZCBpbnNlcnRzCisgICUKKyAgJSBCRVdBUkU6IHdoZW4gdGhlIGZsb2F0cyBzdGFydCBmbG9hdGluZywgd2UgaGF2ZSB0byBpc3N1ZSB3YXJuaW5nCisgICUgd2hlbmV2ZXIgYW4gaW5zZXJ0IGFwcGVhcnMgaW5zaWRlIGEgZmxvYXQgd2hpY2ggY291bGQgcG9zc2libHkKKyAgJSBmbG9hdC4gLS1rYXNhbCwgMjZtYXkwNAorICAlCisgIFxjaGVja2luc2VydHMKK30KKworJSBBcHBlbmQgdGhlIHRva2VucyAjMiB0byB0aGUgZGVmaW5pdGlvbiBvZiBtYWNybyAjMSwgbm90IGV4cGFuZGluZyBlaXRoZXIuCislCitcZGVmXGFwcGVuZHRvbWFjcm8jMSMyeyUKKyAgXGV4cGFuZGFmdGVyXGRlZlxleHBhbmRhZnRlciMxXGV4cGFuZGFmdGVyeyMxIzJ9JQorfQorCislIEBjYXB0aW9uLCBAc2hvcnRjYXB0aW9uCislCitcZGVmXGNhcHRpb257XGRvY2FwdGlvblx0aGlzY2FwdGlvbn0KK1xkZWZcc2hvcnRjYXB0aW9ue1xkb2NhcHRpb25cdGhpc3Nob3J0Y2FwdGlvbn0KK1xkZWZcZG9jYXB0aW9ue1xjaGVja2VudlxmbG9hdCBcYmdyb3VwXHNjYW5hcmdjdHh0XGRlZmNhcHRpb259CitcZGVmXGRlZmNhcHRpb24jMSMye1xlZ3JvdXAgXGRlZiMxeyMyfX0KKworJSBUaGUgcGFyYW1ldGVyIGlzIHRoZSBjb250cm9sIHNlcXVlbmNlIGlkZW50aWZ5aW5nIHRoZSBjb3VudGVyIHdlIGFyZQorJSBnb2luZyB0byB1c2UuICBDcmVhdGUgaXQgaWYgaXQgZG9lc24ndCBleGlzdCBhbmQgYXNzaWduIGl0IHRvIFxmbG9hdG5vLgorXGRlZlxnZXRmbG9hdG5vIzF7JQorICBcaWZ4IzFccmVsYXgKKyAgICAgICUgSGF2ZW4ndCBzZWVuIHRoaXMgZmlndXJlIHR5cGUgYmVmb3JlLgorICAgICAgXGNzbmFtZSBuZXdjb3VudFxlbmRjc25hbWUgIzElCisgICAgICAlCisgICAgICAlIFJlbWVtYmVyIHRvIHJlc2V0IHRoaXMgZmxvYXRubyBhdCB0aGUgbmV4dCBjaGFwLgorICAgICAgXGV4cGFuZGFmdGVyXGdkZWZcZXhwYW5kYWZ0ZXJccmVzZXRhbGxmbG9hdG5vcworICAgICAgICBcZXhwYW5kYWZ0ZXJ7XHJlc2V0YWxsZmxvYXRub3MgIzE9MCB9JQorICBcZmkKKyAgXGxldFxmbG9hdG5vIzElCit9CisKKyUgXHNldHJlZiBjYWxscyB0aGlzIHRvIGdldCB0aGUgWFJFRkxBQkVMLXNudCB2YWx1ZS4gIFdlIHdhbnQgYW4gQHhyZWYKKyUgdG8gdGhlIEZMT0FUTEFCRUwgdG8gZXhwYW5kIHRvICJGaWd1cmUgMy4xIi4gIFdlIGNhbGwgXHNldHJlZiB3aGVuIHdlCislIGZpcnN0IHJlYWQgdGhlIEBmbG9hdCBjb21tYW5kLgorJQorXGRlZlxZZmxvYXR7XGZsb2F0dHlwZUB0aWUgXGNoYXBsZXZlbHByZWZpeFx0aGVcZmxvYXRub30lCisKKyUgTWFnaWMgc3RyaW5nIHVzZWQgZm9yIHRoZSBYUkVGTEFCRUwtdGl0bGUgdmFsdWUsIHNvIFx4cmVmWCBjYW4KKyUgZGlzdGluZ3Vpc2ggZmxvYXRzIGZyb20gb3RoZXIgeHJlZiB0eXBlcy4KK1xkZWZcZmxvYXRtYWdpY3shIWZsb2F0ISF9CisKKyUgIzEgaXMgdGhlIGNvbnRyb2wgc2VxdWVuY2Ugd2UgYXJlIHBhc3NlZDsgd2UgZXhwYW5kIGludG8gYSBjb25kaXRpb25hbAorJSB3aGljaCBpcyB0cnVlIGlmICMxIHJlcHJlc2VudHMgYSBmbG9hdCByZWYuICBUaGF0IGlzLCB0aGUgbWFnaWMKKyUgXGxhc3RzZWN0aW9uIHZhbHVlIHdoaWNoIHdlIFxzZXRyZWYgYWJvdmUuCislCitcZGVmXGlmZmxvYXQjMXtcZXhwYW5kYWZ0ZXJcZG9pZmZsb2F0IzE9PVxmaW5pc2h9CislCislICMxIGlzIChtYXliZSkgdGhlIFxmbG9hdG1hZ2ljIHN0cmluZy4gIElmIHNvLCAjMiB3aWxsIGJlIHRoZQorJSAoc2FmZSkgZmxvYXQgdHlwZSBmb3IgdGhpcyBmbG9hdC4gIFdlIHNldCBcaWZmbG9hdHR5cGUgdG8gIzIuCislCitcZGVmXGRvaWZmbG9hdCMxPSMyPSMzXGZpbmlzaHslCisgIFxkZWZcdGVtcHsjMX0lCisgIFxkZWZcaWZmbG9hdHR5cGV7IzJ9JQorICBcaWZ4XHRlbXBcZmxvYXRtYWdpYworfQorCislIEBsaXN0b2ZmbG9hdHMgRkxPQVRUWVBFIC0gcHJpbnQgYSBsaXN0IG9mIGZsb2F0cyBsaWtlIGEgdGFibGUgb2YgY29udGVudHMuCislCitccGFyc2VhcmdkZWZcbGlzdG9mZmxvYXRzeyUKKyAgXGRlZlxmbG9hdHR5cGV7IzF9JSBmbG9hdHR5cGUKKyAgeyUKKyAgICAlIHRoZSBmbG9hdHR5cGUgbWlnaHQgaGF2ZSBhY2NlbnRzIG9yIG90aGVyIHNwZWNpYWwgY2hhcmFjdGVycywKKyAgICAlIGJ1dCB3ZSBuZWVkIHRvIHVzZSBpdCBpbiBhIGNvbnRyb2wgc2VxdWVuY2UgbmFtZS4KKyAgICBcaW5kZXhub2ZvbnRzCisgICAgXHR1cm5vZmZhY3RpdmUKKyAgICBceGRlZlxzYWZlZmxvYXR0eXBle1xmbG9hdHR5cGV9JQorICB9JQorICAlCisgICUgXHhyZGVmIHNhdmVzIHRoZSBmbG9hdHMgYXMgYSBcZG8tbGlzdCBpbiBcZmxvYXRsaXN0U0FGRUZMT0FUVFlQRS4KKyAgXGV4cGFuZGFmdGVyXGlmeFxjc25hbWUgZmxvYXRsaXN0XHNhZmVmbG9hdHR5cGVcZW5kY3NuYW1lIFxyZWxheAorICAgIFxpZmhhdmV4cmVmcworICAgICAgJSBpZiB0aGUgdXNlciBzYWlkIEBsaXN0b2ZmbG9hdHMgZm9vIGJ1dCBuZXZlciBAZmxvYXQgZm9vLgorICAgICAgXG1lc3NhZ2V7XGxpbmVudW1iZXIgTm8gYFxzYWZlZmxvYXR0eXBlJyBmbG9hdHMgdG8gbGlzdC59JQorICAgIFxmaQorICBcZWxzZQorICAgIFxiZWdpbmdyb3VwCisgICAgICBcbGVmdHNraXA9XHRvY2luZGVudCAgJSBpbmRlbnQgdGhlc2UgZW50cmllcyBsaWtlIGEgdG9jCisgICAgICBcbGV0XGRvPVxsaXN0b2ZmbG9hdHNkbworICAgICAgXGNzbmFtZSBmbG9hdGxpc3Rcc2FmZWZsb2F0dHlwZVxlbmRjc25hbWUKKyAgICBcZW5kZ3JvdXAKKyAgXGZpCit9CisKKyUgVGhpcyBpcyBjYWxsZWQgb24gZWFjaCBlbnRyeSBpbiBhIGxpc3Qgb2YgZmxvYXRzLiAgV2UncmUgcGFzc2VkIHRoZQorJSB4cmVmIGxhYmVsLCBpbiB0aGUgZm9ybSBMQUJFTC10aXRsZSwgd2hpY2ggaXMgaG93IHdlIHNhdmUgaXQgaW4gdGhlCislIGF1eCBmaWxlLiAgV2Ugc3RyaXAgb2ZmIHRoZSAtdGl0bGUgYW5kIGxvb2sgdXAgXFhSTEFCRUwtbG9mLCB3aGljaAorJSBoYXMgdGhlIHRleHQgd2UncmUgc3VwcG9zZWQgdG8gdHlwZXNldCBoZXJlLgorJQorJSBGaWd1cmVzIHdpdGhvdXQgeHJlZiBsYWJlbHMgd2lsbCBub3QgYmUgaW5jbHVkZWQgaW4gdGhlIGxpc3QgKHNpbmNlCislIHRoZXkgd29uJ3QgYXBwZWFyIGluIHRoZSBhdXggZmlsZSkuCislCitcZGVmXGxpc3RvZmZsb2F0c2RvIzF7XGxpc3RvZmZsb2F0c2RvZW50cnkjMVxmaW5pc2h9CitcZGVmXGxpc3RvZmZsb2F0c2RvZW50cnkjMS10aXRsZVxmaW5pc2h7eyUKKyAgJSBDYW4ndCBmdWxseSBleHBhbmQgWFIjMS1sb2YgYmVjYXVzZSBpdCBjYW4gY29udGFpbiBhbnl0aGluZy4gIEp1c3QKKyAgJSBwYXNzIHRoZSBjb250cm9sIHNlcXVlbmNlLiAgT24gdGhlIG90aGVyIGhhbmQsIFhSIzEtcGcgaXMganVzdCB0aGUKKyAgJSBwYWdlIG51bWJlciwgYW5kIHdlIHdhbnQgdG8gZnVsbHkgZXhwYW5kIHRoYXQgc28gd2UgY2FuIGdldCBhIGxpbmsKKyAgJSBpbiBwZGYgb3V0cHV0LgorICBcdG9rc0EgPSBcZXhwYW5kYWZ0ZXJ7XGNzbmFtZSBYUiMxLWxvZlxlbmRjc25hbWV9JQorICAlCisgICUgdXNlIHRoZSBzYW1lIFxlbnRyeSBtYWNybyB3ZSB1c2UgdG8gZ2VuZXJhdGUgdGhlIFRPQyBhbmQgaW5kZXguCisgIFxlZGVmXHdyaXRlZW50cnl7XG5vZXhwYW5kXGVudHJ5e1x0aGVcdG9rc0F9e1xjc25hbWUgWFIjMS1wZ1xlbmRjc25hbWV9fSUKKyAgXHdyaXRlZW50cnkKK319CisKKworXG1lc3NhZ2V7bG9jYWxpemF0aW9uLH0KKworJSBGb3Igc2luZ2xlLWxhbmd1YWdlIGRvY3VtZW50cywgQGRvY3VtZW50bGFuZ3VhZ2UgaXMgdXN1YWxseSBnaXZlbiB2ZXJ5CislIGVhcmx5LCBqdXN0IGFmdGVyIEBkb2N1bWVudGVuY29kaW5nLiAgU2luZ2xlIGFyZ3VtZW50IGlzIHRoZSBsYW5ndWFnZQorJSAoZGUpIG9yIGxvY2FsZSAoZGVfREUpIGFiYnJldmlhdGlvbi4KKyUKK3sKKyAgXGNhdGNvZGVgXF8gPSBcYWN0aXZlCisgIFxnbG9iYWxkZWZzPTEKK1xwYXJzZWFyZ2RlZlxkb2N1bWVudGxhbmd1YWdle1xiZWdpbmdyb3VwCisgIFxsZXRfPVxub3JtYWx1bmRlcnNjb3JlICAlIG5vcm1hbCBfIGNoYXJhY3RlciBmb3IgZmlsZW5hbWVzCiAgIFx0ZXggJSByZWFkIHR4aS0/Py50ZXggZmlsZSBpbiBwbGFpbiBUZVguCi0gICUgUmVhZCB0aGUgZmlsZSBpZiBpdCBleGlzdHMuCisgICAgJSBSZWFkIHRoZSBmaWxlIGJ5IHRoZSBuYW1lIHRoZXkgcGFzc2VkIGlmIGl0IGV4aXN0cy4KKyAgICBcb3BlbmluIDEgdHhpLSMxLnRleAorICAgIFxpZmVvZiAxCisgICAgICBcZG9jdW1lbnRsYW5ndWFnZXRyeXdpdGhvdXR1bmRlcnNjb3JleyMxX1xmaW5pc2h9JQorICAgIFxlbHNlCisgICAgICBcZ2xvYmFsZGVmcyA9IDEgICUgZXZlcnl0aGluZyBpbiB0aGUgdHhpLUxMIGZpbGVzIG5lZWRzIHRvIHBlcnNpc3QKKyAgICAgIFxpbnB1dCB0eGktIzEudGV4CisgICAgXGZpCisgICAgXGNsb3NlaW4gMQorICBcZW5kZ3JvdXAgJSBlbmQgcmF3IFRlWAorXGVuZGdyb3VwfQorfQorJQorJSBJZiB0aGV5IHBhc3NlZCBkZV9ERSwgYW5kIHR4aS1kZV9ERS50ZXggZG9lc24ndCBleGlzdCwKKyUgdHJ5IHR4aS1kZS50ZXguCislIAorXGRlZlxkb2N1bWVudGxhbmd1YWdldHJ5d2l0aG91dHVuZGVyc2NvcmUjMV8jMlxmaW5pc2h7JQogICBcb3BlbmluIDEgdHhpLSMxLnRleAotICBcaWZlb2YxCisgIFxpZmVvZiAxCiAgICAgXGVycmhlbHAgPSBcbm9sYW5naGVscAogICAgIFxlcnJtZXNzYWdle0Nhbm5vdCByZWFkIGxhbmd1YWdlIGZpbGUgdHhpLSMxLnRleH0lCi0gICAgXGxldFx0ZW1wID0gXHJlbGF4CiAgIFxlbHNlCi0gICAgXGRlZlx0ZW1we1xpbnB1dCB0eGktIzEudGV4IH0lCisgICAgXGlucHV0IHR4aS0jMS50ZXgKICAgXGZpCi0gIFx0ZW1wCi0gIFxlbmRncm91cAorICBcY2xvc2VpbiAxCiB9Ci1cbmV3aGVscFxub2xhbmdoZWxwe1RoZSBnaXZlbiBsYW5ndWFnZSBkZWZpbml0aW9uIGZpbGUgY2Fubm90IGJlIGZvdW5kIG9yCi1pcyBlbXB0eS4gIE1heWJlIHlvdSBuZWVkIHRvIGluc3RhbGwgaXQ/ICBJbiB0aGUgY3VycmVudCBkaXJlY3RvcnkKLXNob3VsZCB3b3JrIGlmIG5vd2hlcmUgZWxzZSBkb2VzLn0KLQotCi0lIEBkb2N1bWVudGVuY29kaW5nIHNob3VsZCBjaGFuZ2Ugc29tZXRoaW5nIGluIFRlWCBldmVudHVhbGx5LCBtb3N0Ci0lIGxpa2VseSwgYnV0IGZvciBub3cganVzdCByZWNvZ25pemUgaXQuCi1cbGV0XGRvY3VtZW50ZW5jb2RpbmcgPSBcY29tbWVudAotCi0KLSUgUGFnZSBzaXplIHBhcmFtZXRlcnMuCiAlCitcbmV3aGVscFxub2xhbmdoZWxwe1RoZSBnaXZlbiBsYW5ndWFnZSBkZWZpbml0aW9uIGZpbGUgY2Fubm90IGJlIGZvdW5kIG9yCitpcyBlbXB0eS4gIE1heWJlIHlvdSBuZWVkIHRvIGluc3RhbGwgaXQ/ICBQdXR0aW5nIGl0IGluIHRoZSBjdXJyZW50CitkaXJlY3Rvcnkgc2hvdWxkIHdvcmsgaWYgbm93aGVyZSBlbHNlIGRvZXMufQorCislIFRoaXMgbWFjcm8gaXMgY2FsbGVkIGZyb20gdHhpLT8/LnRleCBmaWxlczsgdGhlIGZpcnN0IGFyZ3VtZW50IGlzIHRoZQorJSBcbGFuZ3VhZ2UgbmFtZSB0byBzZXQgKHdpdGhvdXQgdGhlICJcbGFuZ0AiIHByZWZpeCksIHRoZSBzZWNvbmQgYW5kCislIHRoaXJkIGFyZ3MgYXJlIFx7bGVmdCxyaWdodH1oeXBoZW5taW4uCislIAorJSBUaGUgbGFuZ3VhZ2UgbmFtZXMgdG8gcGFzcyBhcmUgZGV0ZXJtaW5lZCB3aGVuIHRoZSBmb3JtYXQgaXMgYnVpbHQuCislIFNlZSB0aGUgZXRleC5sb2cgZmlsZSBjcmVhdGVkIGF0IHRoYXQgdGltZSwgZS5nLiwKKyUgL3Vzci9sb2NhbC90ZXhsaXZlLzIwMDgvdGV4bWYtdmFyL3dlYjJjL3BkZnRleC9ldGV4LmxvZy4KKyUgCislIFdpdGggVGVYIExpdmUgMjAwOCwgZXRleCBub3cgaW5jbHVkZXMgaHlwaGVuYXRpb24gcGF0dGVybnMgZm9yIGFsbAorJSBhdmFpbGFibGUgbGFuZ3VhZ2VzLiAgVGhpcyBtZWFucyB3ZSBjYW4gc3VwcG9ydCBoeXBoZW5hdGlvbiBpbgorJSBUZXhpbmZvLCBhdCBsZWFzdCB0byBzb21lIGV4dGVudC4gIChUaGlzIHN0aWxsIGRvZXNuJ3Qgc29sdmUgdGhlCislIGFjY2VudGVkIGNoYXJhY3RlcnMgcHJvYmxlbS4pCislIAorXGNhdGNvZGVgQD0xMQorXGRlZlx0eGlzZXRsYW5ndWFnZSMxIzIjM3slCisgICUgZG8gbm90IHNldCB0aGUgbGFuZ3VhZ2UgaWYgdGhlIG5hbWUgaXMgdW5kZWZpbmVkIGluIHRoZSBjdXJyZW50IFRlWC4KKyAgXGV4cGFuZGFmdGVyXGlmeFxjc25hbWUgbGFuZ0AjMVxlbmRjc25hbWUgXHJlbGF4CisgICAgXG1lc3NhZ2V7bm8gcGF0dGVybnMgZm9yICMxfSUKKyAgXGVsc2UKKyAgICBcZ2xvYmFsXGxhbmd1YWdlID0gXGNzbmFtZSBsYW5nQCMxXGVuZGNzbmFtZQorICBcZmkKKyAgJSBidXQgdGhlcmUgaXMgbm8gaGFybSBpbiBhZGp1c3RpbmcgdGhlIGh5cGhlbm1pbiB2YWx1ZXMgcmVnYXJkbGVzcy4KKyAgXGdsb2JhbFxsZWZ0aHlwaGVubWluID0gIzJccmVsYXgKKyAgXGdsb2JhbFxyaWdodGh5cGhlbm1pbiA9ICMzXHJlbGF4Cit9CisKKyUgSGVscGVycyBmb3IgZW5jb2RpbmdzLgorJSBTZXQgdGhlIGNhdGNvZGUgb2YgY2hhcmFjdGVycyAxMjggdGhyb3VnaCAyNTUgdG8gdGhlIHNwZWNpZmllZCBudW1iZXIuCislCitcZGVmXHNldG5vbmFzY2lpY2hhcnNjYXRjb2RlIzF7JQorICAgXGNvdW50MjU1PTEyOAorICAgXGxvb3BcaWZudW1cY291bnQyNTU8MjU2CisgICAgICBcZ2xvYmFsXGNhdGNvZGVcY291bnQyNTU9IzFccmVsYXgKKyAgICAgIFxhZHZhbmNlXGNvdW50MjU1IGJ5IDEKKyAgIFxyZXBlYXQKK30KKworXGRlZlxzZXRub25hc2NpaWNoYXJzY2F0Y29kZW5vbmdsb2JhbCMxeyUKKyAgIFxjb3VudDI1NT0xMjgKKyAgIFxsb29wXGlmbnVtXGNvdW50MjU1PDI1NgorICAgICAgXGNhdGNvZGVcY291bnQyNTU9IzFccmVsYXgKKyAgICAgIFxhZHZhbmNlXGNvdW50MjU1IGJ5IDEKKyAgIFxyZXBlYXQKK30KKworJSBAZG9jdW1lbnRlbmNvZGluZyBzZXRzIHRoZSBkZWZpbml0aW9uIG9mIG5vbi1BU0NJSSBjaGFyYWN0ZXJzCislIGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWVkIGVuY29kaW5nLgorJQorXHBhcnNlYXJnZGVmXGRvY3VtZW50ZW5jb2Rpbmd7JQorICAlIEVuY29kaW5nIGJlaW5nIGRlY2xhcmVkIGZvciB0aGUgZG9jdW1lbnQuCisgIFxkZWZcZGVjbGFyZWRlbmNvZGluZ3tcY3NuYW1lICMxLmVuY1xlbmRjc25hbWV9JQorICAlCisgICUgU3VwcG9ydGVkIGVuY29kaW5nczogbmFtZXMgY29udmVydGVkIHRvIHRva2VucyBpbiBvcmRlciB0byBiZSBhYmxlCisgICUgdG8gY29tcGFyZSB0aGVtIHdpdGggXGlmeC4KKyAgXGRlZlxhc2NpaXtcY3NuYW1lIFVTLUFTQ0lJLmVuY1xlbmRjc25hbWV9JQorICBcZGVmXGxhdG5pbmV7XGNzbmFtZSBJU08tODg1OS0xNS5lbmNcZW5kY3NuYW1lfSUKKyAgXGRlZlxsYXRvbmV7XGNzbmFtZSBJU08tODg1OS0xLmVuY1xlbmRjc25hbWV9JQorICBcZGVmXGxhdHR3b3tcY3NuYW1lIElTTy04ODU5LTIuZW5jXGVuZGNzbmFtZX0lCisgIFxkZWZcdXRmZWlnaHR7XGNzbmFtZSBVVEYtOC5lbmNcZW5kY3NuYW1lfSUKKyAgJQorICBcaWZ4IFxkZWNsYXJlZGVuY29kaW5nIFxhc2NpaQorICAgICBcYXNjaWljaGFyZGVmcworICAlCisgIFxlbHNlIFxpZnggXGRlY2xhcmVkZW5jb2RpbmcgXGxhdHR3bworICAgICBcc2V0bm9uYXNjaWljaGFyc2NhdGNvZGVcYWN0aXZlCisgICAgIFxsYXR0d29jaGFyZGVmcworICAlCisgIFxlbHNlIFxpZnggXGRlY2xhcmVkZW5jb2RpbmcgXGxhdG9uZSAKKyAgICAgXHNldG5vbmFzY2lpY2hhcnNjYXRjb2RlXGFjdGl2ZQorICAgICBcbGF0b25lY2hhcmRlZnMKKyAgJQorICBcZWxzZSBcaWZ4IFxkZWNsYXJlZGVuY29kaW5nIFxsYXRuaW5lCisgICAgIFxzZXRub25hc2NpaWNoYXJzY2F0Y29kZVxhY3RpdmUKKyAgICAgXGxhdG5pbmVjaGFyZGVmcworICAlCisgIFxlbHNlIFxpZnggXGRlY2xhcmVkZW5jb2RpbmcgXHV0ZmVpZ2h0CisgICAgIFxzZXRub25hc2NpaWNoYXJzY2F0Y29kZVxhY3RpdmUKKyAgICAgXHV0ZmVpZ2h0Y2hhcmRlZnMKKyAgJQorICBcZWxzZSAKKyAgICBcbWVzc2FnZXtVbmtub3duIGRvY3VtZW50IGVuY29kaW5nICMxLCBpZ25vcmluZy59JQorICAlCisgIFxmaSAlIHV0ZmVpZ2h0CisgIFxmaSAlIGxhdG5pbmUKKyAgXGZpICUgbGF0b25lCisgIFxmaSAlIGxhdHR3bworICBcZmkgJSBhc2NpaQorfQorCislIEEgbWVzc2FnZSB0byBiZSBsb2dnZWQgd2hlbiB1c2luZyBhIGNoYXJhY3RlciB0aGF0IGlzbid0IGF2YWlsYWJsZQorJSB0aGUgZGVmYXVsdCBmb250IGVuY29kaW5nIChPVDEpLgorJSAKK1xkZWZcbWlzc2luZ2NoYXJtc2cjMXtcbWVzc2FnZXtDaGFyYWN0ZXIgbWlzc2luZyBpbiBPVDEgZW5jb2Rpbmc6ICMxLn19CisKKyUgVGFrZSBhY2NvdW50IG9mIFxjIChwbGFpbikgdnMuIFwsIChUZXhpbmZvKSBkaWZmZXJlbmNlLgorXGRlZlxjZWRpbGxhIzF7XGlmeFxjXHB0ZXhjXGN7IzF9XGVsc2VcLHsjMX1cZml9CisKKyUgRmlyc3QsIG1ha2UgYWN0aXZlIG5vbi1BU0NJSSBjaGFyYWN0ZXJzIGluIG9yZGVyIGZvciB0aGVtIHRvIGJlCislIGNvcnJlY3RseSBjYXRlZ29yaXplZCB3aGVuIFRlWCByZWFkcyB0aGUgcmVwbGFjZW1lbnQgdGV4dCBvZgorJSBtYWNyb3MgY29udGFpbmluZyB0aGUgY2hhcmFjdGVyIGRlZmluaXRpb25zLgorXHNldG5vbmFzY2lpY2hhcnNjYXRjb2RlXGFjdGl2ZQorJQorJSBMYXRpbjEgKElTTy04ODU5LTEpIGNoYXJhY3RlciBkZWZpbml0aW9ucy4KK1xkZWZcbGF0b25lY2hhcmRlZnN7JQorICBcZ2RlZl5eYTB7fn0gCisgIFxnZGVmXl5hMXtcZXhjbGFtZG93bn0KKyAgXGdkZWZeXmEye1xtaXNzaW5nY2hhcm1zZ3tDRU5UIFNJR059fSAKKyAgXGdkZWZeXmEze3tccG91bmRzfX0KKyAgXGdkZWZeXmE0e1xtaXNzaW5nY2hhcm1zZ3tDVVJSRU5DWSBTSUdOfX0KKyAgXGdkZWZeXmE1e1xtaXNzaW5nY2hhcm1zZ3tZRU4gU0lHTn19CisgIFxnZGVmXl5hNntcbWlzc2luZ2NoYXJtc2d7QlJPS0VOIEJBUn19IAorICBcZ2RlZl5eYTd7XFN9CisgIFxnZGVmXl5hOHtcInt9fSAKKyAgXGdkZWZeXmE5e1xjb3B5cmlnaHR9IAorICBcZ2RlZl5eYWF7XG9yZGZ9CisgIFxnZGVmXl5hYntcZ3VpbGxlbWV0bGVmdH0KKyAgXGdkZWZeXmFjeyRcbG5vdCR9CisgIFxnZGVmXl5hZHtcLX0gCisgIFxnZGVmXl5hZXtccmVnaXN0ZXJlZHN5bWJvbH0gCisgIFxnZGVmXl5hZntcPXt9fQorICAlCisgIFxnZGVmXl5iMHtcdGV4dGRlZ3JlZX0KKyAgXGdkZWZeXmIxeyRccG0kfQorICBcZ2RlZl5eYjJ7JF4yJH0KKyAgXGdkZWZeXmIzeyReMyR9CisgIFxnZGVmXl5iNHtcJ3t9fQorICBcZ2RlZl5eYjV7JFxtdSR9CisgIFxnZGVmXl5iNntcUH0KKyAgJQorICBcZ2RlZl5eYjd7JF4uJH0KKyAgXGdkZWZeXmI4e1xjZWRpbGxhXCB9CisgIFxnZGVmXl5iOXskXjEkfQorICBcZ2RlZl5eYmF7XG9yZG19CisgICUKKyAgXGdkZWZeXmJie1xndWlsbGV0cmlnaHR9CisgIFxnZGVmXl5iY3skMVxvdmVyNCR9CisgIFxnZGVmXl5iZHskMVxvdmVyMiR9CisgIFxnZGVmXl5iZXskM1xvdmVyNCR9CisgIFxnZGVmXl5iZntccXVlc3Rpb25kb3dufQorICAlCisgIFxnZGVmXl5jMHtcYEF9CisgIFxnZGVmXl5jMXtcJ0F9CisgIFxnZGVmXl5jMntcXkF9CisgIFxnZGVmXl5jM3tcfkF9CisgIFxnZGVmXl5jNHtcIkF9CisgIFxnZGVmXl5jNXtccmluZ2FjY2VudCBBfSAKKyAgXGdkZWZeXmM2e1xBRX0KKyAgXGdkZWZeXmM3e1xjZWRpbGxhIEN9CisgIFxnZGVmXl5jOHtcYEV9CisgIFxnZGVmXl5jOXtcJ0V9CisgIFxnZGVmXl5jYXtcXkV9CisgIFxnZGVmXl5jYntcIkV9CisgIFxnZGVmXl5jY3tcYEl9CisgIFxnZGVmXl5jZHtcJ0l9CisgIFxnZGVmXl5jZXtcXkl9CisgIFxnZGVmXl5jZntcIkl9CisgICUKKyAgXGdkZWZeXmQwe1xtaXNzaW5nY2hhcm1zZ3tMQVRJTiBDQVBJVEFMIExFVFRFUiBFVEh9fQorICBcZ2RlZl5eZDF7XH5OfQorICBcZ2RlZl5eZDJ7XGBPfQorICBcZ2RlZl5eZDN7XCdPfQorICBcZ2RlZl5eZDR7XF5PfQorICBcZ2RlZl5eZDV7XH5PfQorICBcZ2RlZl5eZDZ7XCJPfQorICBcZ2RlZl5eZDd7JFx0aW1lcyR9CisgIFxnZGVmXl5kOHtcT30KKyAgXGdkZWZeXmQ5e1xgVX0KKyAgXGdkZWZeXmRhe1wnVX0KKyAgXGdkZWZeXmRie1xeVX0KKyAgXGdkZWZeXmRje1wiVX0KKyAgXGdkZWZeXmRke1wnWX0KKyAgXGdkZWZeXmRle1xtaXNzaW5nY2hhcm1zZ3tMQVRJTiBDQVBJVEFMIExFVFRFUiBUSE9STn19CisgIFxnZGVmXl5kZntcc3N9CisgICUKKyAgXGdkZWZeXmUwe1xgYX0KKyAgXGdkZWZeXmUxe1wnYX0KKyAgXGdkZWZeXmUye1xeYX0KKyAgXGdkZWZeXmUze1x+YX0KKyAgXGdkZWZeXmU0e1wiYX0KKyAgXGdkZWZeXmU1e1xyaW5nYWNjZW50IGF9CisgIFxnZGVmXl5lNntcYWV9CisgIFxnZGVmXl5lN3tcY2VkaWxsYSBjfQorICBcZ2RlZl5eZTh7XGBlfQorICBcZ2RlZl5eZTl7XCdlfQorICBcZ2RlZl5eZWF7XF5lfQorICBcZ2RlZl5eZWJ7XCJlfQorICBcZ2RlZl5eZWN7XGB7XGRvdGxlc3MgaX19CisgIFxnZGVmXl5lZHtcJ3tcZG90bGVzcyBpfX0KKyAgXGdkZWZeXmVle1xee1xkb3RsZXNzIGl9fQorICBcZ2RlZl5eZWZ7XCJ7XGRvdGxlc3MgaX19CisgICUKKyAgXGdkZWZeXmYwe1xtaXNzaW5nY2hhcm1zZ3tMQVRJTiBTTUFMTCBMRVRURVIgRVRIfX0KKyAgXGdkZWZeXmYxe1x+bn0KKyAgXGdkZWZeXmYye1xgb30KKyAgXGdkZWZeXmYze1wnb30KKyAgXGdkZWZeXmY0e1xeb30KKyAgXGdkZWZeXmY1e1x+b30KKyAgXGdkZWZeXmY2e1wib30KKyAgXGdkZWZeXmY3eyRcZGl2JH0KKyAgXGdkZWZeXmY4e1xvfQorICBcZ2RlZl5eZjl7XGB1fQorICBcZ2RlZl5eZmF7XCd1fQorICBcZ2RlZl5eZmJ7XF51fQorICBcZ2RlZl5eZmN7XCJ1fQorICBcZ2RlZl5eZmR7XCd5fQorICBcZ2RlZl5eZmV7XG1pc3NpbmdjaGFybXNne0xBVElOIFNNQUxMIExFVFRFUiBUSE9STn19CisgIFxnZGVmXl5mZntcInl9Cit9CisKKyUgTGF0aW45IChJU08tODg1OS0xNSkgZW5jb2RpbmcgY2hhcmFjdGVyIGRlZmluaXRpb25zLgorXGRlZlxsYXRuaW5lY2hhcmRlZnN7JQorICAlIEVuY29kaW5nIGlzIGFsbW9zdCBpZGVudGljYWwgdG8gTGF0aW4xLgorICBcbGF0b25lY2hhcmRlZnMKKyAgJQorICBcZ2RlZl5eYTR7XGV1cm99CisgIFxnZGVmXl5hNntcdiBTfQorICBcZ2RlZl5eYTh7XHYgc30KKyAgXGdkZWZeXmI0e1x2IFp9CisgIFxnZGVmXl5iOHtcdiB6fQorICBcZ2RlZl5eYmN7XE9FfQorICBcZ2RlZl5eYmR7XG9lfQorICBcZ2RlZl5eYmV7XCJZfQorfQorCislIExhdGluMiAoSVNPLTg4NTktMikgY2hhcmFjdGVyIGRlZmluaXRpb25zLgorXGRlZlxsYXR0d29jaGFyZGVmc3slCisgIFxnZGVmXl5hMHt+fQorICBcZ2RlZl5eYTF7XG9nb25la3tBfX0KKyAgXGdkZWZeXmEye1x1e319CisgIFxnZGVmXl5hM3tcTH0KKyAgXGdkZWZeXmE0e1xtaXNzaW5nY2hhcm1zZ3tDVVJSRU5DWSBTSUdOfX0KKyAgXGdkZWZeXmE1e1x2IEx9CisgIFxnZGVmXl5hNntcJ1N9CisgIFxnZGVmXl5hN3tcU30KKyAgXGdkZWZeXmE4e1wie319CisgIFxnZGVmXl5hOXtcdiBTfQorICBcZ2RlZl5eYWF7XGNlZGlsbGEgU30KKyAgXGdkZWZeXmFie1x2IFR9CisgIFxnZGVmXl5hY3tcJ1p9CisgIFxnZGVmXl5hZHtcLX0KKyAgXGdkZWZeXmFle1x2IFp9CisgIFxnZGVmXl5hZntcZG90YWNjZW50IFp9CisgICUKKyAgXGdkZWZeXmIwe1x0ZXh0ZGVncmVlfQorICBcZ2RlZl5eYjF7XG9nb25la3thfX0KKyAgXGdkZWZeXmIye1xvZ29uZWt7IH19CisgIFxnZGVmXl5iM3tcbH0KKyAgXGdkZWZeXmI0e1wne319CisgIFxnZGVmXl5iNXtcdiBsfQorICBcZ2RlZl5eYjZ7XCdzfQorICBcZ2RlZl5eYjd7XHZ7fX0KKyAgXGdkZWZeXmI4e1xjZWRpbGxhXCB9CisgIFxnZGVmXl5iOXtcdiBzfQorICBcZ2RlZl5eYmF7XGNlZGlsbGEgc30KKyAgXGdkZWZeXmJie1x2IHR9CisgIFxnZGVmXl5iY3tcJ3p9CisgIFxnZGVmXl5iZHtcSHt9fQorICBcZ2RlZl5eYmV7XHYgen0KKyAgXGdkZWZeXmJme1xkb3RhY2NlbnQgen0KKyAgJQorICBcZ2RlZl5eYzB7XCdSfQorICBcZ2RlZl5eYzF7XCdBfQorICBcZ2RlZl5eYzJ7XF5BfQorICBcZ2RlZl5eYzN7XHUgQX0KKyAgXGdkZWZeXmM0e1wiQX0KKyAgXGdkZWZeXmM1e1wnTH0KKyAgXGdkZWZeXmM2e1wnQ30KKyAgXGdkZWZeXmM3e1xjZWRpbGxhIEN9CisgIFxnZGVmXl5jOHtcdiBDfQorICBcZ2RlZl5eYzl7XCdFfQorICBcZ2RlZl5eY2F7XG9nb25la3tFfX0KKyAgXGdkZWZeXmNie1wiRX0KKyAgXGdkZWZeXmNje1x2IEV9CisgIFxnZGVmXl5jZHtcJ0l9CisgIFxnZGVmXl5jZXtcXkl9CisgIFxnZGVmXl5jZntcdiBEfQorICAlCisgIFxnZGVmXl5kMHtcbWlzc2luZ2NoYXJtc2d7TEFUSU4gQ0FQSVRBTCBMRVRURVIgRCBXSVRIIFNUUk9LRX19CisgIFxnZGVmXl5kMXtcJ059CisgIFxnZGVmXl5kMntcdiBOfQorICBcZ2RlZl5eZDN7XCdPfQorICBcZ2RlZl5eZDR7XF5PfQorICBcZ2RlZl5eZDV7XEggT30KKyAgXGdkZWZeXmQ2e1wiT30KKyAgXGdkZWZeXmQ3eyRcdGltZXMkfQorICBcZ2RlZl5eZDh7XHYgUn0KKyAgXGdkZWZeXmQ5e1xyaW5nYWNjZW50IFV9IAorICBcZ2RlZl5eZGF7XCdVfQorICBcZ2RlZl5eZGJ7XEggVX0KKyAgXGdkZWZeXmRje1wiVX0KKyAgXGdkZWZeXmRke1wnWX0KKyAgXGdkZWZeXmRle1xjZWRpbGxhIFR9CisgIFxnZGVmXl5kZntcc3N9CisgICUKKyAgXGdkZWZeXmUwe1wncn0KKyAgXGdkZWZeXmUxe1wnYX0KKyAgXGdkZWZeXmUye1xeYX0KKyAgXGdkZWZeXmUze1x1IGF9CisgIFxnZGVmXl5lNHtcImF9CisgIFxnZGVmXl5lNXtcJ2x9CisgIFxnZGVmXl5lNntcJ2N9CisgIFxnZGVmXl5lN3tcY2VkaWxsYSBjfQorICBcZ2RlZl5eZTh7XHYgY30KKyAgXGdkZWZeXmU5e1wnZX0KKyAgXGdkZWZeXmVhe1xvZ29uZWt7ZX19CisgIFxnZGVmXl5lYntcImV9CisgIFxnZGVmXl5lY3tcdiBlfQorICBcZ2RlZl5eZWR7XCdcaX0KKyAgXGdkZWZeXmVle1xeXGl9CisgIFxnZGVmXl5lZntcdiBkfQorICAlCisgIFxnZGVmXl5mMHtcbWlzc2luZ2NoYXJtc2d7TEFUSU4gU01BTEwgTEVUVEVSIEQgV0lUSCBTVFJPS0V9fQorICBcZ2RlZl5eZjF7XCdufQorICBcZ2RlZl5eZjJ7XHYgbn0KKyAgXGdkZWZeXmYze1wnb30KKyAgXGdkZWZeXmY0e1xeb30KKyAgXGdkZWZeXmY1e1xIIG99CisgIFxnZGVmXl5mNntcIm99CisgIFxnZGVmXl5mN3skXGRpdiR9CisgIFxnZGVmXl5mOHtcdiByfQorICBcZ2RlZl5eZjl7XHJpbmdhY2NlbnQgdX0KKyAgXGdkZWZeXmZhe1wndX0KKyAgXGdkZWZeXmZie1xIIHV9CisgIFxnZGVmXl5mY3tcInV9CisgIFxnZGVmXl5mZHtcJ3l9CisgIFxnZGVmXl5mZXtcY2VkaWxsYSB0fQorICBcZ2RlZl5eZmZ7XGRvdGFjY2VudHt9fQorfQorCislIFVURi04IGNoYXJhY3RlciBkZWZpbml0aW9ucy4KKyUgCislIFRoaXMgY29kZSB0byBzdXBwb3J0IFVURi04IGlzIGJhc2VkIG9uIExhVGVYJ3MgdXRmOC5kZWYsIHdpdGggc29tZQorJSBjaGFuZ2VzIGZvciBUZXhpbmZvIGNvbnZlbnRpb25zLiAgSXQgaXMgaW5jbHVkZWQgaGVyZSB1bmRlciB0aGUgR1BMIGJ5CislIHBlcm1pc3Npb24gZnJvbSBGcmFuayBNaXR0ZWxiYWNoIGFuZCB0aGUgTGFUZVggdGVhbS4KKyUgCitcbmV3Y291bnRcY291bnRVVEZ4CitcbmV3Y291bnRcY291bnRVVEZ5CitcbmV3Y291bnRcY291bnRVVEZ6CisKK1xnZGVmXFVURnZpaWlUd29PY3RldHMjMSMye1xleHBhbmRhZnRlcgorICAgXFVURnZpaWlEZWZpbmVkXGNzbmFtZSB1ODojMVxzdHJpbmcgIzJcZW5kY3NuYW1lfQorJQorXGdkZWZcVVRGdmlpaVRocmVlT2N0ZXRzIzEjMiMze1xleHBhbmRhZnRlcgorICAgXFVURnZpaWlEZWZpbmVkXGNzbmFtZSB1ODojMVxzdHJpbmcgIzJcc3RyaW5nICMzXGVuZGNzbmFtZX0KKyUKK1xnZGVmXFVURnZpaWlGb3VyT2N0ZXRzIzEjMiMzIzR7XGV4cGFuZGFmdGVyCisgICBcVVRGdmlpaURlZmluZWRcY3NuYW1lIHU4OiMxXHN0cmluZyAjMlxzdHJpbmcgIzNcc3RyaW5nICM0XGVuZGNzbmFtZX0KKworXGdkZWZcVVRGdmlpaURlZmluZWQjMXslCisgIFxpZnggIzFccmVsYXgKKyAgICBcbWVzc2FnZXtcbGluZW51bWJlciBVbmljb2RlIGNoYXIgXHN0cmluZyAjMSBub3QgZGVmaW5lZCBmb3IgVGV4aW5mb30lCisgIFxlbHNlCisgICAgXGV4cGFuZGFmdGVyICMxJQorICBcZmkKK30KKworXGJlZ2luZ3JvdXAKKyAgXGNhdGNvZGVgXH4xMworICBcY2F0Y29kZWBcIjEyCisKKyAgXGRlZlxVVEZ2aWlpTG9vcHslCisgICAgXGdsb2JhbFxjYXRjb2RlXGNvdW50VVRGeFxhY3RpdmUKKyAgICBcdWNjb2RlYFx+XGNvdW50VVRGeAorICAgIFx1cHBlcmNhc2VcZXhwYW5kYWZ0ZXJ7XFVURnZpaWlUbXB9JQorICAgIFxhZHZhbmNlXGNvdW50VVRGeCBieSAxCisgICAgXGlmbnVtXGNvdW50VVRGeCA8IFxjb3VudFVURnkKKyAgICAgIFxleHBhbmRhZnRlclxVVEZ2aWlpTG9vcAorICAgIFxmaX0KKworICBcY291bnRVVEZ4ID0gIkMyCisgIFxjb3VudFVURnkgPSAiRTAKKyAgXGRlZlxVVEZ2aWlpVG1weyUKKyAgICBceGRlZn57XG5vZXhwYW5kXFVURnZpaWlUd29PY3RldHNcc3RyaW5nfn19CisgIFxVVEZ2aWlpTG9vcAorCisgIFxjb3VudFVURnggPSAiRTAKKyAgXGNvdW50VVRGeSA9ICJGMAorICBcZGVmXFVURnZpaWlUbXB7JQorICAgIFx4ZGVmfntcbm9leHBhbmRcVVRGdmlpaVRocmVlT2N0ZXRzXHN0cmluZ359fQorICBcVVRGdmlpaUxvb3AKKworICBcY291bnRVVEZ4ID0gIkYwCisgIFxjb3VudFVURnkgPSAiRjQKKyAgXGRlZlxVVEZ2aWlpVG1weyUKKyAgICBceGRlZn57XG5vZXhwYW5kXFVURnZpaWlGb3VyT2N0ZXRzXHN0cmluZ359fQorICBcVVRGdmlpaUxvb3AKK1xlbmRncm91cAorCitcYmVnaW5ncm91cAorICBcY2F0Y29kZWBcIj0xMgorICBcY2F0Y29kZWBcPD0xMgorICBcY2F0Y29kZWBcLj0xMgorICBcY2F0Y29kZWBcLD0xMgorICBcY2F0Y29kZWBcOz0xMgorICBcY2F0Y29kZWBcIT0xMgorICBcY2F0Y29kZWBcfj0xMworCisgIFxnZGVmXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyIzEjMnslCisgICAgXGNvdW50VVRGeiA9ICIjMVxyZWxheAorICAgIFx3bG9ne1xzcGFjZVxzcGFjZSBkZWZpbmluZyBVbmljb2RlIGNoYXIgVSsjMSAoZGVjaW1hbCBcdGhlXGNvdW50VVRGeil9JQorICAgIFxiZWdpbmdyb3VwCisgICAgICBccGFyc2VYTUxDaGFycmVmCisgICAgICBcZGVmXFVURnZpaWlUd29PY3RldHMjIzEjIzJ7JQorICAgICAgICBcY3NuYW1lIHU4OiMjMVxzdHJpbmcgIyMyXGVuZGNzbmFtZX0lCisgICAgICBcZGVmXFVURnZpaWlUaHJlZU9jdGV0cyMjMSMjMiMjM3slCisgICAgICAgIFxjc25hbWUgdTg6IyMxXHN0cmluZyAjIzJcc3RyaW5nICMjM1xlbmRjc25hbWV9JQorICAgICAgXGRlZlxVVEZ2aWlpRm91ck9jdGV0cyMjMSMjMiMjMyMjNHslCisgICAgICAgIFxjc25hbWUgdTg6IyMxXHN0cmluZyAjIzJcc3RyaW5nICMjM1xzdHJpbmcgIyM0XGVuZGNzbmFtZX0lCisgICAgICBcZXhwYW5kYWZ0ZXJcZXhwYW5kYWZ0ZXJcZXhwYW5kYWZ0ZXJcZXhwYW5kYWZ0ZXIKKyAgICAgICBcZXhwYW5kYWZ0ZXJcZXhwYW5kYWZ0ZXJcZXhwYW5kYWZ0ZXIKKyAgICAgICBcZ2RlZlxVVEZ2aWlpVG1weyMyfSUKKyAgICBcZW5kZ3JvdXB9CisKKyAgXGdkZWZccGFyc2VYTUxDaGFycmVmeyUKKyAgICBcaWZudW1cY291bnRVVEZ6IDwgIkEwXHJlbGF4CisgICAgICBcZXJyaGVscCA9IFxFTXNpbXBsZQorICAgICAgXGVycm1lc3NhZ2V7Q2Fubm90IGRlZmluZSBVbmljb2RlIGNoYXIgdmFsdWUgPCAwMEEwfSUKKyAgICBcZWxzZVxpZm51bVxjb3VudFVURnogPCAiODAwXHJlbGF4CisgICAgICBccGFyc2VVVEZ2aWlpQSwlCisgICAgICBccGFyc2VVVEZ2aWlpQiBDXFVURnZpaWlUd29PY3RldHMuLCUKKyAgICBcZWxzZVxpZm51bVxjb3VudFVURnogPCAiMTAwMDBccmVsYXgKKyAgICAgIFxwYXJzZVVURnZpaWlBOyUKKyAgICAgIFxwYXJzZVVURnZpaWlBLCUKKyAgICAgIFxwYXJzZVVURnZpaWlCIEVcVVRGdmlpaVRocmVlT2N0ZXRzLnssO30lCisgICAgXGVsc2UKKyAgICAgIFxwYXJzZVVURnZpaWlBOyUKKyAgICAgIFxwYXJzZVVURnZpaWlBLCUKKyAgICAgIFxwYXJzZVVURnZpaWlBISUKKyAgICAgIFxwYXJzZVVURnZpaWlCIEZcVVRGdmlpaUZvdXJPY3RldHMueyEsO30lCisgICAgXGZpXGZpXGZpCisgIH0KKworICBcZ2RlZlxwYXJzZVVURnZpaWlBIzF7JQorICAgIFxjb3VudFVURnggPSBcY291bnRVVEZ6CisgICAgXGRpdmlkZVxjb3VudFVURnogYnkgNjQKKyAgICBcY291bnRVVEZ5ID0gXGNvdW50VVRGegorICAgIFxtdWx0aXBseVxjb3VudFVURnogYnkgNjQKKyAgICBcYWR2YW5jZVxjb3VudFVURnggYnkgLVxjb3VudFVURnoKKyAgICBcYWR2YW5jZVxjb3VudFVURnggYnkgMTI4CisgICAgXHVjY29kZSBgIzFcY291bnRVVEZ4CisgICAgXGNvdW50VVRGeiA9IFxjb3VudFVURnl9CisKKyAgXGdkZWZccGFyc2VVVEZ2aWlpQiMxIzIjMyM0eyUKKyAgICBcYWR2YW5jZVxjb3VudFVURnogYnkgIiMxMFxyZWxheAorICAgIFx1Y2NvZGUgYCMzXGNvdW50VVRGegorICAgIFx1cHBlcmNhc2V7XGdkZWZcVVRGdmlpaVRtcHsjMiMzIzR9fX0KK1xlbmRncm91cAorCitcZGVmXHV0ZmVpZ2h0Y2hhcmRlZnN7JQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBBMH17XHRpZX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwQTF9e1xleGNsYW1kb3dufQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBBM317XHBvdW5kc30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwQTh9e1wieyB9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBBOX17XGNvcHlyaWdodH0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwQUF9e1xvcmRmfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBBQn17XGd1aWxsZW1ldGxlZnR9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMEFEfXtcLX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwQUV9e1xyZWdpc3RlcmVkc3ltYm9sfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBBRn17XD17IH19CisKKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwQjB9e1xyaW5nYWNjZW50eyB9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBCNH17XCd7IH19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMEI4fXtcY2VkaWxsYXsgfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwQkF9e1xvcmRtfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBCQn17XGd1aWxsZW1ldHJpZ2h0fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBCRn17XHF1ZXN0aW9uZG93bn0KKworICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBDMH17XGBBfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBDMX17XCdBfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBDMn17XF5BfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBDM317XH5BfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBDNH17XCJBfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBDNX17XEFBfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBDNn17XEFFfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBDN317XGNlZGlsbGF7Q319CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMEM4fXtcYEV9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMEM5fXtcJ0V9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMENBfXtcXkV9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMENCfXtcIkV9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMENDfXtcYEl9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMENEfXtcJ0l9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMENFfXtcXkl9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMENGfXtcIkl9CisKKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwRDF9e1x+Tn0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwRDJ9e1xgT30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwRDN9e1wnT30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwRDR9e1xeT30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwRDV9e1x+T30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwRDZ9e1wiT30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwRDh9e1xPfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBEOX17XGBVfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBEQX17XCdVfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBEQn17XF5VfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBEQ317XCJVfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBERH17XCdZfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBERn17XHNzfQorCisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMEUwfXtcYGF9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMEUxfXtcJ2F9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMEUyfXtcXmF9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMEUzfXtcfmF9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMEU0fXtcImF9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMEU1fXtcYWF9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMEU2fXtcYWV9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMEU3fXtcY2VkaWxsYXtjfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwRTh9e1xgZX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwRTl9e1wnZX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwRUF9e1xeZX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwRUJ9e1wiZX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwRUN9e1xge1xkb3RsZXNze2l9fX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwRUR9e1wne1xkb3RsZXNze2l9fX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwRUV9e1xee1xkb3RsZXNze2l9fX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAwRUZ9e1wie1xkb3RsZXNze2l9fX0KKworICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBGMX17XH5ufQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBGMn17XGBvfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBGM317XCdvfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBGNH17XF5vfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBGNX17XH5vfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBGNn17XCJvfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDBGOH17XG99CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMEY5fXtcYHV9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMEZBfXtcJ3V9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMEZCfXtcXnV9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMEZDfXtcInV9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMEZEfXtcJ3l9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMEZGfXtcInl9CisKKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMDB9e1w9QX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMDF9e1w9YX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMDJ9e1x1e0F9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDEwM317XHV7YX19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTA0fXtcb2dvbmVre0F9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDEwNX17XG9nb25la3thfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMDZ9e1wnQ30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMDd9e1wnY30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMDh9e1xeQ30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMDl9e1xeY30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMTh9e1xvZ29uZWt7RX19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTE5fXtcb2dvbmVre2V9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDEwQX17XGRvdGFjY2VudHtDfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMEJ9e1xkb3RhY2NlbnR7Y319CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTBDfXtcdntDfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMER9e1x2e2N9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDEwRX17XHZ7RH19CisKKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMTJ9e1w9RX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMTN9e1w9ZX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMTR9e1x1e0V9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDExNX17XHV7ZX19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTE2fXtcZG90YWNjZW50e0V9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDExN317XGRvdGFjY2VudHtlfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMUF9e1x2e0V9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDExQn17XHZ7ZX19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTFDfXtcXkd9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTFEfXtcXmd9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTFFfXtcdXtHfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMUZ9e1x1e2d9fQorCisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTIwfXtcZG90YWNjZW50e0d9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDEyMX17XGRvdGFjY2VudHtnfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMjR9e1xeSH0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMjV9e1xeaH0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMjh9e1x+SX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMjl9e1x+e1xkb3RsZXNze2l9fX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMkF9e1w9SX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMkJ9e1w9e1xkb3RsZXNze2l9fX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMkN9e1x1e0l9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDEyRH17XHV7XGRvdGxlc3N7aX19fQorCisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTMwfXtcZG90YWNjZW50e0l9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDEzMX17XGRvdGxlc3N7aX19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTMyfXtJSn0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxMzN9e2lqfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDEzNH17XF5KfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDEzNX17XF57XGRvdGxlc3N7an19fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDEzOX17XCdMfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDEzQX17XCdsfQorCisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTQxfXtcTH0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxNDJ9e1xsfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE0M317XCdOfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE0NH17XCdufQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE0N317XHZ7Tn19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTQ4fXtcdntufX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxNEN9e1w9T30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxNER9e1w9b30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxNEV9e1x1e099fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE0Rn17XHV7b319CisKKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxNTB9e1xIe099fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE1MX17XEh7b319CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTUyfXtcT0V9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTUzfXtcb2V9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTU0fXtcJ1J9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTU1fXtcJ3J9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTU4fXtcdntSfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxNTl9e1x2e3J9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE1QX17XCdTfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE1Qn17XCdzfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE1Q317XF5TfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE1RH17XF5zfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE1RX17XGNlZGlsbGF7U319CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTVGfXtcY2VkaWxsYXtzfX0KKworICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE2MH17XHZ7U319CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTYxfXtcdntzfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxNjJ9e1xjZWRpbGxhe3R9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE2M317XGNlZGlsbGF7VH19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTY0fXtcdntUfX0KKworICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE2OH17XH5VfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE2OX17XH51fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE2QX17XD1VfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE2Qn17XD11fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE2Q317XHV7VX19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTZEfXtcdXt1fX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxNkV9e1xyaW5nYWNjZW50e1V9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE2Rn17XHJpbmdhY2NlbnR7dX19CisKKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxNzB9e1xIe1V9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE3MX17XEh7dX19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTc0fXtcXld9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTc1fXtcXnd9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTc2fXtcXll9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTc3fXtcXnl9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTc4fXtcIll9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTc5fXtcJ1p9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTdBfXtcJ3p9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMTdCfXtcZG90YWNjZW50e1p9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE3Q317XGRvdGFjY2VudHt6fX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxN0R9e1x2e1p9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDE3RX17XHZ7en19CisKKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxQzR9e0RcdntafX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxQzV9e0Rcdnt6fX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxQzZ9e2Rcdnt6fX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxQzd9e0xKfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDFDOH17TGp9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMUM5fXtsan0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxQ0F9e05KfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDFDQn17Tmp9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMUNDfXtuan0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxQ0R9e1x2e0F9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDFDRX17XHZ7YX19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMUNGfXtcdntJfX0KKworICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDFEMH17XHZ7XGRvdGxlc3N7aX19fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDFEMX17XHZ7T319CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMUQyfXtcdntvfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxRDN9e1x2e1V9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDFENH17XHZ7dX19CisKKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxRTJ9e1w9e1xBRX19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMUUzfXtcPXtcYWV9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDFFNn17XHZ7R319CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMUU3fXtcdntnfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxRTh9e1x2e0t9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDFFOX17XHZ7a319CisKKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxRjB9e1x2e1xkb3RsZXNze2p9fX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxRjF9e0RafQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDFGMn17RHp9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMUYzfXtken0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxRjR9e1wnR30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxRjV9e1wnZ30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxRjh9e1xgTn0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxRjl9e1xgbn0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAxRkN9e1wne1xBRX19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMUZEfXtcJ3tcYWV9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDFGRX17XCd7XE99fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDFGRn17XCd7XG99fQorCisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMjFFfXtcdntIfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAyMUZ9e1x2e2h9fQorCisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMjI2fXtcZG90YWNjZW50e0F9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDIyN317XGRvdGFjY2VudHthfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAyMjh9e1xjZWRpbGxhe0V9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDIyOX17XGNlZGlsbGF7ZX19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnswMjJFfXtcZG90YWNjZW50e099fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDIyRn17XGRvdGFjY2VudHtvfX0KKworICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDIzMn17XD1ZfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDIzM317XD15fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MDIzN317XGRvdGxlc3N7an19CisKKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezAyREJ9e1xvZ29uZWt7IH19CisKKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFMDJ9e1xkb3RhY2NlbnR7Qn19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTAzfXtcZG90YWNjZW50e2J9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUUwNH17XHVkb3RhY2NlbnR7Qn19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTA1fXtcdWRvdGFjY2VudHtifX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFMDZ9e1x1YmFyYWNjZW50e0J9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUUwN317XHViYXJhY2NlbnR7Yn19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTBBfXtcZG90YWNjZW50e0R9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUUwQn17XGRvdGFjY2VudHtkfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFMEN9e1x1ZG90YWNjZW50e0R9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUUwRH17XHVkb3RhY2NlbnR7ZH19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTBFfXtcdWJhcmFjY2VudHtEfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFMEZ9e1x1YmFyYWNjZW50e2R9fQorCisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTFFfXtcZG90YWNjZW50e0Z9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUUxRn17XGRvdGFjY2VudHtmfX0KKworICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUUyMH17XD1HfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUUyMX17XD1nfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUUyMn17XGRvdGFjY2VudHtIfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFMjN9e1xkb3RhY2NlbnR7aH19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTI0fXtcdWRvdGFjY2VudHtIfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFMjV9e1x1ZG90YWNjZW50e2h9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUUyNn17XCJIfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUUyN317XCJofQorCisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTMwfXtcJ0t9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTMxfXtcJ2t9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTMyfXtcdWRvdGFjY2VudHtLfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFMzN9e1x1ZG90YWNjZW50e2t9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUUzNH17XHViYXJhY2NlbnR7S319CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTM1fXtcdWJhcmFjY2VudHtrfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFMzZ9e1x1ZG90YWNjZW50e0x9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUUzN317XHVkb3RhY2NlbnR7bH19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTNBfXtcdWJhcmFjY2VudHtMfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFM0J9e1x1YmFyYWNjZW50e2x9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUUzRX17XCdNfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUUzRn17XCdtfQorCisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTQwfXtcZG90YWNjZW50e019fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUU0MX17XGRvdGFjY2VudHttfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFNDJ9e1x1ZG90YWNjZW50e019fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUU0M317XHVkb3RhY2NlbnR7bX19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTQ0fXtcZG90YWNjZW50e059fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUU0NX17XGRvdGFjY2VudHtufX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFNDZ9e1x1ZG90YWNjZW50e059fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUU0N317XHVkb3RhY2NlbnR7bn19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTQ4fXtcdWJhcmFjY2VudHtOfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFNDl9e1x1YmFyYWNjZW50e259fQorCisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTU0fXtcJ1B9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTU1fXtcJ3B9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTU2fXtcZG90YWNjZW50e1B9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUU1N317XGRvdGFjY2VudHtwfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFNTh9e1xkb3RhY2NlbnR7Un19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTU5fXtcZG90YWNjZW50e3J9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUU1QX17XHVkb3RhY2NlbnR7Un19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTVCfXtcdWRvdGFjY2VudHtyfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFNUV9e1x1YmFyYWNjZW50e1J9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUU1Rn17XHViYXJhY2NlbnR7cn19CisKKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFNjB9e1xkb3RhY2NlbnR7U319CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTYxfXtcZG90YWNjZW50e3N9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUU2Mn17XHVkb3RhY2NlbnR7U319CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTYzfXtcdWRvdGFjY2VudHtzfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFNkF9e1xkb3RhY2NlbnR7VH19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTZCfXtcZG90YWNjZW50e3R9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUU2Q317XHVkb3RhY2NlbnR7VH19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTZEfXtcdWRvdGFjY2VudHt0fX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFNkV9e1x1YmFyYWNjZW50e1R9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUU2Rn17XHViYXJhY2NlbnR7dH19CisKKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFN0N9e1x+Vn0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFN0R9e1x+dn0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFN0V9e1x1ZG90YWNjZW50e1Z9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUU3Rn17XHVkb3RhY2NlbnR7dn19CisKKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFODB9e1xgV30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFODF9e1xgd30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFODJ9e1wnV30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFODN9e1wnd30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFODR9e1wiV30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFODV9e1wid30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFODZ9e1xkb3RhY2NlbnR7V319CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTg3fXtcZG90YWNjZW50e3d9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUU4OH17XHVkb3RhY2NlbnR7V319CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTg5fXtcdWRvdGFjY2VudHt3fX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFOEF9e1xkb3RhY2NlbnR7WH19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRThCfXtcZG90YWNjZW50e3h9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUU4Q317XCJYfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUU4RH17XCJ4fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUU4RX17XGRvdGFjY2VudHtZfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFOEZ9e1xkb3RhY2NlbnR7eX19CisKKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFOTB9e1xeWn0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFOTF9e1xeen0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFOTJ9e1x1ZG90YWNjZW50e1p9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUU5M317XHVkb3RhY2NlbnR7en19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTk0fXtcdWJhcmFjY2VudHtafX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFOTV9e1x1YmFyYWNjZW50e3p9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUU5Nn17XHViYXJhY2NlbnR7aH19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTk3fXtcInR9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRTk4fXtccmluZ2FjY2VudHt3fX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFOTl9e1xyaW5nYWNjZW50e3l9fQorCisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRUEwfXtcdWRvdGFjY2VudHtBfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFQTF9e1x1ZG90YWNjZW50e2F9fQorCisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRUI4fXtcdWRvdGFjY2VudHtFfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFQjl9e1x1ZG90YWNjZW50e2V9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUVCQ317XH5FfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUVCRH17XH5lfQorCisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRUNBfXtcdWRvdGFjY2VudHtJfX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFQ0J9e1x1ZG90YWNjZW50e2l9fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUVDQ317XHVkb3RhY2NlbnR7T319CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRUNEfXtcdWRvdGFjY2VudHtvfX0KKworICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUVFNH17XHVkb3RhY2NlbnR7VX19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsxRUU1fXtcdWRvdGFjY2VudHt1fX0KKworICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUVGMn17XGBZfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUVGM317XGB5fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MUVGNH17XHVkb3RhY2NlbnR7WX19CisKKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFRjh9e1x+WX0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezFFRjl9e1x+eX0KKworICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MjAxM317LS19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsyMDE0fXstLS19CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsyMDE4fXtccXVvdGVsZWZ0fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MjAxOX17XHF1b3RlcmlnaHR9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsyMDFBfXtccXVvdGVzaW5nbGJhc2V9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsyMDFDfXtccXVvdGVkYmxsZWZ0fQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MjAxRH17XHF1b3RlZGJscmlnaHR9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsyMDFFfXtccXVvdGVkYmxiYXNlfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MjAyMn17XGJ1bGxldH0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezIwMjZ9e1xkb3RzfQorICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MjAzOX17XGd1aWxzaW5nbGxlZnR9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsyMDNBfXtcZ3VpbHNpbmdscmlnaHR9CisgIFxEZWNsYXJlVW5pY29kZUNoYXJhY3RlcnsyMEFDfXtcZXVyb30KKworICBcRGVjbGFyZVVuaWNvZGVDaGFyYWN0ZXJ7MjE5Mn17XGV4cGFuc2lvbn0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezIxRDJ9e1xyZXN1bHR9CisKKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezIyMTJ9e1xtaW51c30KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezIyMTd9e1xwb2ludH0KKyAgXERlY2xhcmVVbmljb2RlQ2hhcmFjdGVyezIyNjF9e1xlcXVpdn0KK30lIGVuZCBvZiBcdXRmZWlnaHRjaGFyZGVmcworCisKKyUgVVMtQVNDSUkgY2hhcmFjdGVyIGRlZmluaXRpb25zLgorXGRlZlxhc2NpaWNoYXJkZWZzeyUgbm90aGluZyBuZWVkIGJlIGRvbmUKKyAgIFxyZWxheAorfQorCislIE1ha2Ugbm9uLUFTQ0lJIGNoYXJhY3RlcnMgcHJpbnRhYmxlIGFnYWluIGZvciBjb21wYXRpYmlsaXR5IHdpdGgKKyUgZXhpc3RpbmcgVGV4aW5mbyBkb2N1bWVudHMgdGhhdCBtYXkgdXNlIHRoZW0sIGV2ZW4gd2l0aG91dCBkZWNsYXJpbmcgYQorJSBkb2N1bWVudCBlbmNvZGluZy4KKyUKK1xzZXRub25hc2NpaWNoYXJzY2F0Y29kZSBcb3RoZXIKKworCitcbWVzc2FnZXtmb3JtYXR0aW5nLH0KKwogXG5ld2RpbWVuXGRlZmF1bHRwYXJpbmRlbnQgXGRlZmF1bHRwYXJpbmRlbnQgPSAxNXB0CiAKIFxjaGFwaGVhZGluZ3NraXAgPSAxNXB0IHBsdXMgNHB0IG1pbnVzIDJwdApAQCAtNjMzNCw3ICs4ODYxLDcgQEAKICUgRG9uJ3QgYmUgc28gZmluaWNreSBhYm91dCB1bmRlcmZ1bGwgaGJveGVzLCBlaXRoZXIuCiBcaGJhZG5lc3MgPSAyMDAwCiAKLSUgRm9sbG93aW5nIEdlb3JnZSBCdXNoLCBqdXN0IGdldCByaWQgb2Ygd2lkb3dzIGFuZCBvcnBoYW5zLgorJSBGb2xsb3dpbmcgR2VvcmdlIEJ1c2gsIGdldCByaWQgb2Ygd2lkb3dzIGFuZCBvcnBoYW5zLgogXHdpZG93cGVuYWx0eT0xMDAwMAogXGNsdWJwZW5hbHR5PTEwMDAwCiAKQEAgLTYzNTIsMTAgKzg4NzksMTAgQEAKICAgXGZpCiB9CiAKLSUgUGFyYW1ldGVycyBpbiBvcmRlcjogMSkgdGV4dGhlaWdodDsgMikgdGV4dHdpZHRoOyAzKSB2b2Zmc2V0OwotJSA0KSBob2Zmc2V0OyA1KSBiaW5kaW5nIG9mZnNldDsgNikgdG9wc2tpcDsgNykgcGh5c2ljYWwgcGFnZSBoZWlnaHQ7IDgpCi0lIHBoeXNpY2FsIHBhZ2Ugd2lkdGguCi0lIAorJSBQYXJhbWV0ZXJzIGluIG9yZGVyOiAxKSB0ZXh0aGVpZ2h0OyAyKSB0ZXh0d2lkdGg7CislIDMpIHZvZmZzZXQ7IDQpIGhvZmZzZXQ7IDUpIGJpbmRpbmcgb2Zmc2V0OyA2KSB0b3Bza2lwOworJSA3KSBwaHlzaWNhbCBwYWdlIGhlaWdodDsgOCkgcGh5c2ljYWwgcGFnZSB3aWR0aC4KKyUKICUgV2UgYWxzbyBjYWxsIFxzZXRsZWFkaW5ne1x0ZXh0bGVhZGluZ30sIHNvIHRoZSBjYWxsZXIgc2hvdWxkIGRlZmluZQogJSBcdGV4dGxlYWRpbmcuICBUaGUgY2FsbGVyIHNob3VsZCBhbHNvIHNldCBccGFyc2tpcC4KICUKQEAgLTYzODEsNiArODkwOCwxMCBAQAogICBcaWZwZGYKICAgICBccGRmcGFnZWhlaWdodCAjN1xyZWxheAogICAgIFxwZGZwYWdld2lkdGggIzhccmVsYXgKKyAgICAlIGlmIHdlIGRvbid0IHJlc2V0IHRoZXNlLCB0aGV5IHdpbGwgcmVtYWluIGF0ICIxIHRydWUgaW4iIG9mCisgICAgJSB3aGF0ZXZlciBsYXlvdXQgcGRmdGV4IHdhcyBkdW1wZWQgd2l0aC4KKyAgICBccGRmaG9yaWdpbiA9IDEgdHJ1ZSBpbgorICAgIFxwZGZ2b3JpZ2luID0gMSB0cnVlIGluCiAgIFxmaQogICAlCiAgIFxzZXRsZWFkaW5ne1x0ZXh0bGVhZGluZ30KQEAgLTYzOTUsMTkgKzg5MjYsMTkgQEAKICAgXHRleHRsZWFkaW5nID0gMTMuMnB0CiAgICUKICAgJSBJZiBwYWdlIGlzIG5vdGhpbmcgYnV0IHRleHQsIG1ha2UgaXQgY29tZSBvdXQgZXZlbi4KLSAgXGludGVybmFscGFnZXNpemVzezQ2XGJhc2VsaW5lc2tpcH17NmlufSUKKyAgXGludGVybmFscGFnZXNpemVzezYwNy4ycHR9ezZpbn0lIHRoYXQncyA0NiBsaW5lcwogICAgICAgICAgICAgICAgICAgICB7XHZvZmZzZXR9ey4yNWlufSUKICAgICAgICAgICAgICAgICAgICAge1xiaW5kaW5nb2Zmc2V0fXszNnB0fSUKICAgICAgICAgICAgICAgICAgICAgezExaW59ezguNWlufSUKIH19CiAKLSUgVXNlIEBzbWFsbGJvb2sgdG8gcmVzZXQgcGFyYW1ldGVycyBmb3IgN3g5LjUgKG9yIHNvKSBmb3JtYXQuCislIFVzZSBAc21hbGxib29rIHRvIHJlc2V0IHBhcmFtZXRlcnMgZm9yIDd4OS4yNSB0cmltIHNpemUuCiBcZGVmXHNtYWxsYm9va3t7XGdsb2JhbGRlZnMgPSAxCiAgIFxwYXJza2lwID0gMnB0IHBsdXMgMXB0CiAgIFx0ZXh0bGVhZGluZyA9IDEycHQKICAgJQogICBcaW50ZXJuYWxwYWdlc2l6ZXN7Ny41aW59ezVpbn0lCi0gICAgICAgICAgICAgICAgICAgIHtcdm9mZnNldH17LjI1aW59JQorICAgICAgICAgICAgICAgICAgICB7LS4yaW59ezBpbn0lCiAgICAgICAgICAgICAgICAgICAgIHtcYmluZGluZ29mZnNldH17MTZwdH0lCiAgICAgICAgICAgICAgICAgICAgIHs5LjI1aW59ezdpbn0lCiAgICUKQEAgLTY0MTgsMTIgKzg5NDksMzAgQEAKICAgXGRlZmJvZHlpbmRlbnQgPSAuNWNtCiB9fQogCislIFVzZSBAc21hbGxlcmJvb2sgdG8gcmVzZXQgcGFyYW1ldGVycyBmb3IgNng5IHRyaW0gc2l6ZS4KKyUgKEp1c3QgdGVzdGluZywgcGFyYW1ldGVycyBzdGlsbCBpbiBmbHV4LikKK1xkZWZcc21hbGxlcmJvb2t7e1xnbG9iYWxkZWZzID0gMQorICBccGFyc2tpcCA9IDEuNXB0IHBsdXMgMXB0CisgIFx0ZXh0bGVhZGluZyA9IDEycHQKKyAgJQorICBcaW50ZXJuYWxwYWdlc2l6ZXN7Ny40aW59ezQuOGlufSUKKyAgICAgICAgICAgICAgICAgICAgey0uMmlufXstLjRpbn0lCisgICAgICAgICAgICAgICAgICAgIHswcHR9ezE0cHR9JQorICAgICAgICAgICAgICAgICAgICB7OWlufXs2aW59JQorICAlCisgIFxsaXNwbmFycm93aW5nID0gMC4yNWluCisgIFx0b2xlcmFuY2UgPSA3MDAKKyAgXGhmdXp6ID0gMXB0CisgIFxjb250ZW50c3JpZ2h0bWFyZ2luID0gMHB0CisgIFxkZWZib2R5aW5kZW50ID0gLjRjbQorfX0KKwogJSBVc2UgQGFmb3VycGFwZXIgdG8gcHJpbnQgb24gRXVyb3BlYW4gQTQgcGFwZXIuCiBcZGVmXGFmb3VycGFwZXJ7e1xnbG9iYWxkZWZzID0gMQogICBccGFyc2tpcCA9IDNwdCBwbHVzIDJwdCBtaW51cyAxcHQKICAgXHRleHRsZWFkaW5nID0gMTMuMnB0CiAgICUKLSAgJSBEb3VibGUtc2lkZSBwcmludGluZyB2aWEgcG9zdHNjcmlwdCBvbiBMYXNlcmpldCA0MDUwIAorICAlIERvdWJsZS1zaWRlIHByaW50aW5nIHZpYSBwb3N0c2NyaXB0IG9uIExhc2VyamV0IDQwNTAKICAgJSBwcmludHMgZG91YmxlLXNpZGVkIG5pY2VseSB3aGVuIFxiaW5kaW5nb2Zmc2V0PTEwbW0gYW5kIFxob2Zmc2V0PS02bW0uCiAgICUgVG8gY2hhbmdlIHRoZSBzZXR0aW5ncyBmb3IgYSBkaWZmZXJlbnQgcHJpbnRlciBvciBzaXR1YXRpb24sIGFkanVzdAogICAlIFxub3JtYWxvZmZzZXQgdW50aWwgdGhlIGZyb250LXNpZGUgYW5kIGJhY2stc2lkZSB0ZXh0cyBhbGlnbi4gIFRoZW4KQEAgLTY0MzMsNyArODk4Miw3IEBACiAgICUgXGdsb2JhbFxub3JtYWxvZmZzZXQgPSAtNm1tCiAgICUgXGdsb2JhbFxiaW5kaW5nb2Zmc2V0ID0gMTBtbQogICAlIEBlbmQgdGV4Ci0gIFxpbnRlcm5hbHBhZ2VzaXplc3s1MVxiYXNlbGluZXNraXB9ezE2MG1tfQorICBcaW50ZXJuYWxwYWdlc2l6ZXN7NjczLjJwdH17MTYwbW19JSB0aGF0J3MgNTEgbGluZXMKICAgICAgICAgICAgICAgICAgICAge1x2b2Zmc2V0fXtcaG9mZnNldH0lCiAgICAgICAgICAgICAgICAgICAgIHtcYmluZGluZ29mZnNldH17NDRwdH0lCiAgICAgICAgICAgICAgICAgICAgIHsyOTdtbX17MjEwbW19JQpAQCAtNjQ2NCw3ICs5MDEzLDcgQEAKICAgXHRhYmxlaW5kZW50ID0gMTJtbQogfX0KIAotJSBBIHNwZWNpZmljIHRleHQgbGF5b3V0LCAyNHgxNWNtIG92ZXJhbGwsIGludGVuZGVkIGZvciBBNCBwYXBlci4gIAorJSBBIHNwZWNpZmljIHRleHQgbGF5b3V0LCAyNHgxNWNtIG92ZXJhbGwsIGludGVuZGVkIGZvciBBNCBwYXBlci4KIFxkZWZcYWZvdXJsYXRleHt7XGdsb2JhbGRlZnMgPSAxCiAgIFxhZm91cnBhcGVyCiAgIFxpbnRlcm5hbHBhZ2VzaXplc3syMzdtbX17MTUwbW19JQpAQCAtNjQ5MCw4ICs5MDM5LDcgQEAKICUgUGVyaGFwcyB3ZSBzaG91bGQgYWxsb3cgc2V0dGluZyB0aGUgbWFyZ2lucywgXHRvcHNraXAsIFxwYXJza2lwLAogJSBhbmQvb3IgbGVhZGluZywgYWxzby4gT3IgcGVyaGFwcyB3ZSBzaG91bGQgY29tcHV0ZSB0aGVtIHNvbWVob3cuCiAlCi1cZGVmXHBhZ2VzaXplc3tccGFyc2VhcmdccGFnZXNpemVzeHh4fQotXGRlZlxwYWdlc2l6ZXN4eHgjMXtccGFnZXNpemVzeXl5ICMxLCxcZmluaXNofQorXHBhcnNlYXJnZGVmXHBhZ2VzaXplc3tccGFnZXNpemVzeXl5ICMxLCxcZmluaXNofQogXGRlZlxwYWdlc2l6ZXN5eXkjMSwjMiwjM1xmaW5pc2h7eyUKICAgXHNldGJveDAgPSBcaGJveHtcaWdub3Jlc3BhY2VzICMyfVxpZmRpbVx3ZDAgPiAwcHQgXGhzaXplPSMyXHJlbGF4IFxmaQogICBcZ2xvYmFsZGVmcyA9IDEKQEAgLTY0OTksNyArOTA0Nyw3IEBACiAgIFxwYXJza2lwID0gM3B0IHBsdXMgMnB0IG1pbnVzIDFwdAogICBcc2V0bGVhZGluZ3tcdGV4dGxlYWRpbmd9JQogICAlCi0gIFxkaW1lbjAgPSAjMQorICBcZGltZW4wID0gIzFccmVsYXgKICAgXGFkdmFuY2VcZGltZW4wIGJ5IFx2b2Zmc2V0CiAgICUKICAgXGRpbWVuMiA9IFxoc2l6ZQpAQCAtNjUxOCw2ICs5MDY2LDkgQEAKIAogXG1lc3NhZ2V7YW5kIHR1cm5pbmcgb24gdGV4aW5mbyBpbnB1dCBmb3JtYXQufQogCislIERFTCBpcyBhIGNvbW1lbnQgY2hhcmFjdGVyLCBpbiBjYXNlIEBjIGRvZXMgbm90IHN1ZmZpY2UuCitcY2F0Y29kZWBcXl4/ID0gMTQKKwogJSBEZWZpbmUgbWFjcm9zIHRvIG91dHB1dCB2YXJpb3VzIGNoYXJhY3RlcnMgd2l0aCBjYXRjb2RlIGZvciBub3JtYWwgdGV4dC4KIFxjYXRjb2RlYFwiPVxvdGhlcgogXGNhdGNvZGVgXH49XG90aGVyCkBAIC02NTM4LDggKzkwODksOCBAQAogXGRlZlxub3JtYWxwbHVzeyt9CiBcZGVmXG5vcm1hbGRvbGxhcnskfSUkIGZvbnQtbG9jayBmaXgKIAotJSBUaGlzIG1hY3JvIGlzIHVzZWQgdG8gbWFrZSBhIGNoYXJhY3RlciBwcmludCBvbmUgd2F5IGluIHR0Zm9udAotJSB3aGVyZSBpdCBjYW4gcHJvYmFibHkganVzdCBiZSBvdXRwdXQsIGFuZCBhbm90aGVyIHdheSBpbiBvdGhlciBmb250cywKKyUgVGhpcyBtYWNybyBpcyB1c2VkIHRvIG1ha2UgYSBjaGFyYWN0ZXIgcHJpbnQgb25lIHdheSBpbiBcdHQKKyUgKHdoZXJlIGl0IGNhbiBwcm9iYWJseSBiZSBvdXRwdXQgYXMtaXMpLCBhbmQgYW5vdGhlciB3YXkgaW4gb3RoZXIgZm9udHMsCiAlIHdoZXJlIHNvbWV0aGluZyBoYWlyaWVyIHByb2JhYmx5IG5lZWRzIHRvIGJlIGRvbmUuCiAlCiAlICMxIGlzIHdoYXQgdG8gcHJpbnQgaWYgd2UgYXJlIGluZGVlZCB1c2luZyBcdHQ7ICMyIGlzIHdoYXQgdG8gcHJpbnQKQEAgLTY1NzEsNiArOTEyMiw3IEBACiAKIFxjYXRjb2RlYFxfPVxhY3RpdmUKIFxkZWZfe1xpZnVzaW5ndHRcbm9ybWFsdW5kZXJzY29yZVxffQorXGxldFxyZWFsdW5kZXI9XwogJSBTdWJyb3V0aW5lIGZvciB0aGUgcHJldmlvdXMgbWFjcm8uCiBcZGVmXF97XGxlYXZldm1vZGUgXGtlcm4uMDdlbSBcdmJveHtcaHJ1bGUgd2lkdGguM2VtIGhlaWdodC4xZXh9XGtlcm4gLjA3ZW0gfQogCkBAIC02NTg3LDQ2ICs5MTM5LDQ5IEBACiBcY2F0Y29kZWBcJD1cYWN0aXZlCiBcZGVmJHtcaWZ1c2luZ2l0e3tcc2xcJH19XG5vcm1hbGRvbGxhcn0lJCBmb250LWxvY2sgZml4CiAKLSUgU2V0IHVwIGFuIGFjdGl2ZSBkZWZpbml0aW9uIGZvciA9LCBidXQgZG9uJ3QgZW5hYmxlIGl0IG1vc3Qgb2YgdGhlIHRpbWUuCi17XGNhdGNvZGVgXD09XGFjdGl2ZQotXGdsb2JhbFxkZWY9e3tcdHQgXGNoYXIgNjF9fX0KLQotXGNhdGNvZGVgKz1cYWN0aXZlCi1cY2F0Y29kZWBcXz1cYWN0aXZlCi0KICUgSWYgYSAuZm10IGZpbGUgaXMgYmVpbmcgdXNlZCwgY2hhcmFjdGVycyB0aGF0IG1pZ2h0IGFwcGVhciBpbiBhIGZpbGUKICUgbmFtZSBjYW5ub3QgYmUgYWN0aXZlIHVudGlsIHdlIGhhdmUgcGFyc2VkIHRoZSBjb21tYW5kIGxpbmUuCiAlIFNvIHR1cm4gdGhlbSBvZmYgYWdhaW4sIGFuZCBoYXZlIFxldmVyeWpvYiAob3IgQHNldGZpbGVuYW1lKSB0dXJuIHRoZW0gb24uCiAlIFxvdGhlcmlmeWFjdGl2ZSBpcyBjYWxsZWQgbmVhciB0aGUgZW5kIG9mIHRoaXMgZmlsZS4KIFxkZWZcb3RoZXJpZnlhY3RpdmV7XGNhdGNvZGVgKz1cb3RoZXIgXGNhdGNvZGVgXF89XG90aGVyfQogCi1cY2F0Y29kZWBcQD0wCi0KLSUgXHJhd2JhY2tzbGFzaHh4IG91dHB1dHMgb25lIGJhY2tzbGFzaCBjaGFyYWN0ZXIgaW4gY3VycmVudCBmb250LAotJSBhcyBpbiBcY2hhcmBcXC4KLVxnbG9iYWxcY2hhcmRlZlxyYXdiYWNrc2xhc2h4eD1gXFwKLQotJSBccmF3YmFja3NsYXNoIGRlZmluZXMgYW4gYWN0aXZlIFwgdG8gZG8gXHJhd2JhY2tzbGFzaHh4LgotJSBcb3RoZXJiYWNrc2xhc2ggZGVmaW5lcyBhbiBhY3RpdmUgXCB0byBiZSBhIGxpdGVyYWwgYFwnIGNoYXJhY3RlciB3aXRoCi0lIGNhdGNvZGUgb3RoZXIuCi17XGNhdGNvZGVgXFw9XGFjdGl2ZQotIEBnZGVmQHJhd2JhY2tzbGFzaHtAbGV0XD1AcmF3YmFja3NsYXNoeHh9Ci0gQGdkZWZAb3RoZXJiYWNrc2xhc2h7QGxldFw9QHJlYWxiYWNrc2xhc2h9CislIFVzZWQgc29tZXRpbWVzIHRvIHR1cm4gb2ZmIChlZmZlY3RpdmVseSkgdGhlIGFjdGl2ZSBjaGFyYWN0ZXJzIGV2ZW4gYWZ0ZXIKKyUgcGFyc2luZyB0aGVtLgorXGRlZlx0dXJub2ZmYWN0aXZleyUKKyAgXG5vcm1hbHR1cm5vZmZhY3RpdmUKKyAgXG90aGVyYmFja3NsYXNoCiB9CiAKLSUgXHJlYWxiYWNrc2xhc2ggaXMgYW4gYWN0dWFsIGNoYXJhY3RlciBgXCcgd2l0aCBjYXRjb2RlIG90aGVyLgote1xjYXRjb2RlYFxcPVxvdGhlciBAZ2RlZkByZWFsYmFja3NsYXNoe1x9fQorXGNhdGNvZGVgXEA9MAogCi0lIFxub3JtYWxiYWNrc2xhc2ggb3V0cHV0cyBvbmUgYmFja3NsYXNoIGluIGZpeGVkIHdpZHRoIGZvbnQuCi1cZGVmXG5vcm1hbGJhY2tzbGFzaHt7XHR0XHJhd2JhY2tzbGFzaHh4fX0KKyUgXGJhY2tzbGFzaGN1cmZvbnQgb3V0cHV0cyBvbmUgYmFja3NsYXNoIGNoYXJhY3RlciBpbiBjdXJyZW50IGZvbnQsCislIGFzIGluIFxjaGFyYFxcLgorXGdsb2JhbFxjaGFyZGVmXGJhY2tzbGFzaGN1cmZvbnQ9YFxcCitcZ2xvYmFsXGxldFxyYXdiYWNrc2xhc2h4eD1cYmFja3NsYXNoY3VyZm9udCAgJSBsZXQgZXhpc3RpbmcgLj8/cyBmaWxlcyB3b3JrCiAKKyUgXHJlYWxiYWNrc2xhc2ggaXMgYW4gYWN0dWFsIGNoYXJhY3RlciBgXCcgd2l0aCBjYXRjb2RlIG90aGVyLCBhbmQKKyUgXGRvdWJsZWJhY2tzbGFzaCBpcyB0d28gb2YgdGhlbSAoZm9yIHRoZSBwZGYgb3V0bGluZXMpLgore1xjYXRjb2RlYFxcPVxvdGhlciBAZ2RlZkByZWFsYmFja3NsYXNoe1x9IEBnZGVmQGRvdWJsZWJhY2tzbGFzaHtcXH19CisKKyUgSW4gdGV4aW5mbywgYmFja3NsYXNoIGlzIGFuIGFjdGl2ZSBjaGFyYWN0ZXI7IGl0IHByaW50cyB0aGUgYmFja3NsYXNoCislIGluIGZpeGVkIHdpZHRoIGZvbnQuCiBcY2F0Y29kZWBcXD1cYWN0aXZlCitAZGVmQG5vcm1hbGJhY2tzbGFzaHt7QHR0QGJhY2tzbGFzaGN1cmZvbnR9fQorJSBPbiBzdGFydHVwLCBAZml4YmFja3NsYXNoIGFzc2lnbnM6CislICBAbGV0IFwgPSBAbm9ybWFsYmFja3NsYXNoCiAKLSUgVXNlZCBzb21ldGltZXMgdG8gdHVybiBvZmYgKGVmZmVjdGl2ZWx5KSB0aGUgYWN0aXZlIGNoYXJhY3RlcnMKLSUgZXZlbiBhZnRlciBwYXJzaW5nIHRoZW0uCi1AZGVmQHR1cm5vZmZhY3RpdmV7JQorJSBccmF3YmFja3NsYXNoIGRlZmluZXMgYW4gYWN0aXZlIFwgdG8gZG8gXGJhY2tzbGFzaGN1cmZvbnQuCislIFxvdGhlcmJhY2tzbGFzaCBkZWZpbmVzIGFuIGFjdGl2ZSBcIHRvIGJlIGEgbGl0ZXJhbCBgXCcgY2hhcmFjdGVyIHdpdGgKKyUgY2F0Y29kZSBvdGhlci4KK0BnZGVmQHJhd2JhY2tzbGFzaHtAbGV0XD1AYmFja3NsYXNoY3VyZm9udH0KK0BnZGVmQG90aGVyYmFja3NsYXNoe0BsZXRcPUByZWFsYmFja3NsYXNofQorCislIFNhbWUgYXMgQHR1cm5vZmZhY3RpdmUgZXhjZXB0IG91dHB1dHMgXCBhcyB7XHR0XGNoYXJgXFx9IGluc3RlYWQgb2YKKyUgdGhlIGxpdGVyYWwgY2hhcmFjdGVyIGBcJy4KKyUgCitAZGVmQG5vcm1hbHR1cm5vZmZhY3RpdmV7JQorICBAbGV0XD1Abm9ybWFsYmFja3NsYXNoCiAgIEBsZXQiPUBub3JtYWxkb3VibGVxdW90ZQotICBAbGV0XD1AcmVhbGJhY2tzbGFzaAogICBAbGV0fj1Abm9ybWFsdGlsZGUKICAgQGxldF49QG5vcm1hbGNhcmV0CiAgIEBsZXRfPUBub3JtYWx1bmRlcnNjb3JlCkBAIC02NjM1LDE0ICs5MTkwLDExIEBACiAgIEBsZXQ+PUBub3JtYWxncmVhdGVyCiAgIEBsZXQrPUBub3JtYWxwbHVzCiAgIEBsZXQkPUBub3JtYWxkb2xsYXIgJSQgZm9udC1sb2NrIGZpeAorICBAbWFya3Vwc2V0dXBscWRlZmF1bHQKKyAgQG1hcmt1cHNldHVwcnFkZWZhdWx0CisgIEB1bnNlcHNwYWNlcwogfQogCi0lIFNhbWUgYXMgQHR1cm5vZmZhY3RpdmUgZXhjZXB0IG91dHB1dHMgXCBhcyB7XHR0XGNoYXJgXFx9IGluc3RlYWQgb2YKLSUgdGhlIGxpdGVyYWwgY2hhcmFjdGVyIGBcJy4gIChUaHVzLCBcIGlzIG5vdCBleHBhbmRhYmxlIHdoZW4gdGhpcyBpcyBpbgotJSBlZmZlY3QuKQotJSAKLUBkZWZAbm9ybWFsdHVybm9mZmFjdGl2ZXtAdHVybm9mZmFjdGl2ZSBAbGV0XD1Abm9ybWFsYmFja3NsYXNofQotCiAlIE1ha2UgXyBhbmQgKyBcb3RoZXIgY2hhcmFjdGVycywgdGVtcG9yYXJpbHkuCiAlIFRoaXMgaXMgY2FuY2VsZWQgYnkgQGZpeGJhY2tzbGFzaC4KIEBvdGhlcmlmeWFjdGl2ZQpAQCAtNjY1NSw5ICs5MjA3LDkgQEAKIEBnbG9iYWxAbGV0XCA9IEBlYXRpbnB1dAogCiAlIE9uIHRoZSBvdGhlciBoYW5kLCBwZXJoYXBzIHRoZSBmaWxlIGRpZCBub3QgaGF2ZSBhIGBcaW5wdXQgdGV4aW5mbycuIFRoZW4KLSUgdGhlIGZpcnN0IGBceyBpbiB0aGUgZmlsZSB3b3VsZCBjYXVzZSBhbiBlcnJvci4gVGhpcyBtYWNybyB0cmllcyB0byBmaXgKKyUgdGhlIGZpcnN0IGBcJyBpbiB0aGUgZmlsZSB3b3VsZCBjYXVzZSBhbiBlcnJvci4gVGhpcyBtYWNybyB0cmllcyB0byBmaXgKICUgdGhhdCwgYXNzdW1pbmcgaXQgaXMgY2FsbGVkIGJlZm9yZSB0aGUgZmlyc3QgYFwnIGNvdWxkIHBsYXVzaWJseSBvY2N1ci4KLSUgQWxzbyBiYWNrIHR1cm4gb24gYWN0aXZlIGNoYXJhY3RlcnMgdGhhdCBtaWdodCBhcHBlYXIgaW4gdGhlIGlucHV0CislIEFsc28gdHVybiBiYWNrIG9uIGFjdGl2ZSBjaGFyYWN0ZXJzIHRoYXQgbWlnaHQgYXBwZWFyIGluIHRoZSBpbnB1dAogJSBmaWxlIG5hbWUsIGluIGNhc2Ugbm90IHVzaW5nIGEgcHJlLWR1bXBlZCBmb3JtYXQuCiAlCiBAZ2RlZkBmaXhiYWNrc2xhc2h7JQpAQCAtNjY2OSwxNiArOTIyMSwyMCBAQAogJSBTYXkgQGZvbywgbm90IFxmb28sIGluIGVycm9yIG1lc3NhZ2VzLgogQGVzY2FwZWNoYXIgPSBgQEAKIAotJSBUaGVzZSBsb29rIG9rIGluIGFsbCBmb250cywgc28ganVzdCBtYWtlIHRoZW0gbm90IHNwZWNpYWwuICAKKyUgVGhlc2UgbG9vayBvayBpbiBhbGwgZm9udHMsIHNvIGp1c3QgbWFrZSB0aGVtIG5vdCBzcGVjaWFsLgogQGNhdGNvZGVgQCYgPSBAb3RoZXIKIEBjYXRjb2RlYEAjID0gQG90aGVyCiBAY2F0Y29kZWBAJSA9IEBvdGhlcgogCi1AYyBTZXQgaW5pdGlhbCBmb250cy4KLUB0ZXh0Zm9udHMKLUBybQotCi0KK0BjIEZpbmFsbHksIG1ha2UgYCBhbmQgJyBhY3RpdmUsIHNvIHRoYXQgdHhpY29kZXF1b3RldW5kaXJlY3RlZCBhbmQKK0BjIHR4aWNvZGVxdW90ZWJhY2t0aWNrIHdvcmsgcmlnaHQgaW4sIGUuZy4sIEB3e0Bjb2Rle2Bmb28nfX0uICBJZiB3ZQorQGMgZG9uJ3QgbWFrZSBgIGFuZCAnIGFjdGl2ZSwgQGNvZGUgd2lsbCBub3QgZ2V0IHRoZW0gYXMgYWN0aXZlIGNoYXJzLgorQGMgRG8gdGhpcyBsYXN0IG9mIGFsbCBzaW5jZSB3ZSB1c2UgYCBpbiB0aGUgcHJldmlvdXMgQGNhdGNvZGUgYXNzaWdubWVudHMuCitAY2F0Y29kZWBAJz1AYWN0aXZlCitAY2F0Y29kZWBAYD1AYWN0aXZlCitAbWFya3Vwc2V0dXBscWRlZmF1bHQKK0BtYXJrdXBzZXR1cHJxZGVmYXVsdAorIAogQGMgTG9jYWwgdmFyaWFibGVzOgogQGMgZXZhbDogKGFkZC1ob29rICd3cml0ZS1maWxlLWhvb2tzICd0aW1lLXN0YW1wKQogQGMgcGFnZS1kZWxpbWl0ZXI6ICJeXFxcXG1lc3NhZ2UiCkBAIC02Njg2LDMgKzkyNDIsOSBAQAogQGMgdGltZS1zdGFtcC1mb3JtYXQ6ICIlOnktJTAybS0lMDJkLiUwMkgiCiBAYyB0aW1lLXN0YW1wLWVuZDogIn0iCiBAYyBFbmQ6CisKK0BjIHZpbTpzdz0yOgorCitAaWdub3JlCisgICBhcmNoLXRhZzogZTFiMzZlMzItYzk2ZS00MTM1LWE0MWEtMGIyZWZhMmVhMTE1CitAZW5kIGlnbm9yZQpkaWZmIC0tZ2l0IGEvZG9jL3ZlcnNpb24udGV4aSBiL2RvYy92ZXJzaW9uLnRleGkKaW5kZXggNjRkMDMwYy4uODBhMjIwOSAxMDA2NDQKLS0tIGEvZG9jL3ZlcnNpb24udGV4aQorKysgYi9kb2MvdmVyc2lvbi50ZXhpCkBAIC0yLDkgKzIsOSBAQAogQ29weXJpZ2h0IChDKSAxOTg4LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiBAZW5kIGlnbm9yZQogCi1Ac2V0IExBU1RDSEFOR0UgRnJpIEZlYiAxMyAxODoyOTowMyBFU1QgMjAwOQorQHNldCBMQVNUQ0hBTkdFIFdlZCBEZWMgMjMgMTY6Mjk6NDEgRVNUIDIwMDkKIAotQHNldCBFRElUSU9OIDQuMAotQHNldCBWRVJTSU9OIDQuMAotQHNldCBVUERBVEVEIDEzIEZlYnJ1YXJ5IDIwMDkKLUBzZXQgVVBEQVRFRC1NT05USCBGZWJydWFyeSAyMDA5CitAc2V0IEVESVRJT04gNC4xCitAc2V0IFZFUlNJT04gNC4xCitAc2V0IFVQREFURUQgMjMgRGVjZW1iZXIgMjAwOQorQHNldCBVUERBVEVELU1PTlRIIERlY2VtYmVyIDIwMDkKZGlmZiAtLWdpdCBhL2Vycm9yLmMgYi9lcnJvci5jCmluZGV4IDJhZTQ4NTQuLjcyZGE5ZjUgMTAwNjQ0Ci0tLSBhL2Vycm9yLmMKKysrIGIvZXJyb3IuYwpAQCAtNTMsNiArNTMsNyBAQAogCiBleHRlcm4gaW50IGV4ZWN1dGluZ19saW5lX251bWJlciBfX1AoKHZvaWQpKTsKIAorZXh0ZXJuIGludCBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZTsKIGV4dGVybiBjaGFyICpzaGVsbF9uYW1lOwogI2lmIGRlZmluZWQgKEpPQl9DT05UUk9MKQogZXh0ZXJuIHBpZF90IHNoZWxsX3BncnA7CkBAIC0zMzEsNyArMzMyLDcgQEAKICAgdmFfZW5kIChhcmdzKTsKIAogICBpZiAoZXhpdF9pbW1lZGlhdGVseV9vbl9lcnJvcikKLSAgICBleGl0X3NoZWxsICgyKTsKKyAgICBleGl0X3NoZWxsIChsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZSA9IDIpOwogfQogCiAjaWZkZWYgREVCVUcKZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2Z1bmN0aW9ucy9hdXRvbG9hZC52MyBiL2V4YW1wbGVzL2Z1bmN0aW9ucy9hdXRvbG9hZC52MwppbmRleCBhODJmZmU5Li5iMWU1ZGZlIDEwMDY0NAotLS0gYS9leGFtcGxlcy9mdW5jdGlvbnMvYXV0b2xvYWQudjMKKysrIGIvZXhhbXBsZXMvZnVuY3Rpb25zL2F1dG9sb2FkLnYzCkBAIC0xLDQgKzEsNCBAQAotI0Zyb206IE1hcmsgS2VubmVkeSA8bXRrQG55LnVicy5jb20+CisjRnJvbTogTWFyayBLZW5uZWR5IDxtYXJrLnQua2VubmVkeUBnbWFpbC5jb20+ICg8bXRrQG55LnVicy5jb20+KQogI01lc3NhZ2UtSUQ6IDwzNUUyQjg5OS42M0EwMkRGNUBueS51YnMuY29tPgogI0RhdGU6IFR1ZSwgMjUgQXVnIDE5OTggMDk6MTQ6MDEgLTA0MDAKICNUbzogY2hldEBuaWtlLmlucy5jd3J1LmVkdQpkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvbG9hZGFibGVzL2ZpbmZvLmMgYi9leGFtcGxlcy9sb2FkYWJsZXMvZmluZm8uYwppbmRleCA3NzhiMDJiLi5hZjdmZmI2IDEwMDY0NAotLS0gYS9leGFtcGxlcy9sb2FkYWJsZXMvZmluZm8uYworKysgYi9leGFtcGxlcy9sb2FkYWJsZXMvZmluZm8uYwpAQCAtMzU3LDcgKzM1Nyw3IEBACiAJCWVsc2UKIAkJCXByaW50ZigiJWRcbiIsIHN0LT5zdF9naWQpOwogCX0gZWxzZSBpZiAoZmxhZ3MgJiBPUFRfU0laRSkKLQkJcHJpbnRmKCIlbGRcbiIsIHN0LT5zdF9zaXplKTsKKwkJcHJpbnRmKCIlbGRcbiIsIChsb25nKSBzdC0+c3Rfc2l6ZSk7CiAKIAlyZXR1cm4gKDApOwogfQpkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvbG9hZGFibGVzL3ByaW50ZW52LmMgYi9leGFtcGxlcy9sb2FkYWJsZXMvcHJpbnRlbnYuYwppbmRleCAxN2M0YzAyLi44ZDNhMDVkIDEwMDY0NAotLS0gYS9leGFtcGxlcy9sb2FkYWJsZXMvcHJpbnRlbnYuYworKysgYi9leGFtcGxlcy9sb2FkYWJsZXMvcHJpbnRlbnYuYwpAQCAtNzIsNiArNzIsNyBAQAogICBlbHNlCiAgICAgcHJpbnRfdmFyX3ZhbHVlICh2YXIsIDApOwogCisgIHByaW50ZigiXG4iKTsKICAgcmV0dXJuIChFWEVDVVRJT05fU1VDQ0VTUyk7CiB9CiAKZGlmZiAtLWdpdCBhL2V4YW1wbGVzL21pc2MvYWxpYXNjb252LmJhc2ggYi9leGFtcGxlcy9taXNjL2FsaWFzY29udi5iYXNoCmluZGV4IDIyNDVmMDYuLjIyYTA0NDcgMTAwNzU1Ci0tLSBhL2V4YW1wbGVzL21pc2MvYWxpYXNjb252LmJhc2gKKysrIGIvZXhhbXBsZXMvbWlzYy9hbGlhc2NvbnYuYmFzaApAQCAtNywxMSArNywxMyBAQAogIyBDaGV0IFJhbWV5CiAjIGNoZXRAcG8uY3dydS5lZHUKICMKLXRyYXAgJ3JtIC1mIC90bXAvY2IkJC4/JyAwIDEgMiAzIDYgMTUKK3RyYXAgJ3JtIC1mICRUTVBGSUxFJyAwIDEgMiAzIDYgMTUKKworVE1QRklMRT0kKG1rdGVtcCAtdCBjYi5YWFhYWFgpIHx8IGV4aXQgMQogCiBUPSQnXHQnCiAKLWNhdCA8PCBcRU9GID4vdG1wL2NiJCQuMQorY2F0IDw8IFxFT0YgPiRUTVBGSUxFCiBta2FsaWFzICgpCiB7CiAJY2FzZSAkMiBpbgpAQCAtMzEsOSArMzMsOSBAQAogIyBzaW5jZSB0aGV5IHdob2xlIHRoaW5nIGlzIGdvaW5nIHRvIGJlIHN1cnJvdW5kZWQgYnkgc2luZ2xlIHF1b3RlcyB3aGVuCiAjIHBhc3NlZCB0byBta2FsaWFzCiAKLXNlZCAtZSAiczonOlxcJ1xcXCdcXCc6IiAtZSAicy9eXChbYS16QS1aMC05Xy1dKlwpJFRcKC4qXCkkL21rYWxpYXMgXDEgJ1wyJy8iID4+L3RtcC9jYiQkLjEKK3NlZCAtZSAiczonOlxcJ1xcXCdcXCc6IiAtZSAicy9eXChbYS16QS1aMC05Xy1dKlwpJFRcKC4qXCkkL21rYWxpYXMgXDEgJ1wyJy8iID4+JFRNUEZJTEUKIAotJEJBU0ggL3RtcC9jYiQkLjEgfCBzZWQgLWUgJ3MvXCRjd2QvXCRQV0QvZycgXAorJEJBU0ggJFRNUEZJTEUgfCBzZWQgLWUgJ3MvXCRjd2QvXCRQV0QvZycgXAogCQkgICAgIC1lICdzL1wkdGVybS9cJFRFUk0vZycgXAogCQkgICAgIC1lICdzL1wkaG9tZS9cJEhPTUUvZycgXAogCQkgICAgIC1lICdzL1wkdXNlci9cJFVTRVIvZycgXApkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvbWlzYy9hbGlhc2NvbnYuc2ggYi9leGFtcGxlcy9taXNjL2FsaWFzY29udi5zaAppbmRleCA3NWRiMDc3Li5mZTk3NWQ2IDEwMDc1NQotLS0gYS9leGFtcGxlcy9taXNjL2FsaWFzY29udi5zaAorKysgYi9leGFtcGxlcy9taXNjL2FsaWFzY29udi5zaApAQCAtNywxMSArNywxMSBAQAogIyBDaGV0IFJhbWV5CiAjIGNoZXRAcG8uY3dydS5lZHUKICMKLXRyYXAgJ3JtIC1mIC90bXAvY2IkJC4/JyAwIDEgMiAzIDYgMTUKLQordHJhcCAncm0gLWYgJFRNUEZJTEUnIDAgMSAyIDMgNiAxNQorVE1QRklMRT0kKG1rdGVtcCAtdCBjYi5YWFhYWFgpIHx8IGV4aXQgMQogVD0nCScKIAotY2F0IDw8IFxFT0YgPi90bXAvY2IkJC4xCitjYXQgPDwgXEVPRiA+JFRNUEZJTEUKIG1rYWxpYXMgKCkKIHsKIAljYXNlICQyIGluCkBAIC0zMSw5ICszMSw5IEBACiAjIHNpbmNlIHRoZXkgd2hvbGUgdGhpbmcgaXMgZ29pbmcgdG8gYmUgc3Vycm91bmRlZCBieSBzaW5nbGUgcXVvdGVzIHdoZW4KICMgcGFzc2VkIHRvIG1rYWxpYXMKIAotc2VkIC1lICJzOic6XFwnXFxcJ1xcJzoiIC1lICJzL15cKFthLXpBLVowLTlfLV0qXCkkVFwoLipcKSQvbWthbGlhcyBcMSAnXDInLyIgPj4vdG1wL2NiJCQuMQorc2VkIC1lICJzOic6XFwnXFxcJ1xcJzoiIC1lICJzL15cKFthLXpBLVowLTlfLV0qXCkkVFwoLipcKSQvbWthbGlhcyBcMSAnXDInLyIgPj4kVE1QRklMRQogCi1zaCAvdG1wL2NiJCQuMSB8IHNlZCAtZSAncy9cJGN3ZC9cJFBXRC9nJyBcCitzaCAkVE1QRklMRSB8IHNlZCAtZSAncy9cJGN3ZC9cJFBXRC9nJyBcCiAJCSAgICAgLWUgJ3MvXCR0ZXJtL1wkVEVSTS9nJyBcCiAJCSAgICAgLWUgJ3MvXCRob21lL1wkSE9NRS9nJyBcCiAJCSAgICAgLWUgJ3MvXCR1c2VyL1wkVVNFUi9nJyBcCmRpZmYgLS1naXQgYS9leGFtcGxlcy9taXNjL2NzaHRvYmFzaCBiL2V4YW1wbGVzL21pc2MvY3NodG9iYXNoCmluZGV4IDhlMmIwNWMuLmNlNDliZmMgMTAwNzU1Ci0tLSBhL2V4YW1wbGVzL21pc2MvY3NodG9iYXNoCisrKyBiL2V4YW1wbGVzL21pc2MvY3NodG9iYXNoCkBAIC0xNSwyNSArMTUsMzQgQEAKICMgQ2hldCBSYW1leQogIyBjaGV0QHBvLmN3cnUuZWR1CiAjCi10cmFwICdybSAtZiAvdG1wL2NiJCQuPyBjc2hvdXQgY3NoaW4nIDAgMSAyIDMgNiAxNQordHJhcCAncm0gLWYgJFRNUEZJTEUxICRUTVBGSUxFYSAkVE1QRklMRWUgJFRNUEZJTEV2ICRUTVBGSUxFY28gJFRNUEZJTEVjaScgMCAxIDIgMyA2IDE1CisKK3sgVE1QRklMRTE9JChta3RlbXAgLXQgY2IuMS5YWFhYWFgpICYmCisgIFRNUEZJTEVhPSQobWt0ZW1wIC10IGNiLmEuWFhYWFhYKSAmJgorICBUTVBGSUxFZT0kKG1rdGVtcCAtdCBjYi5lLlhYWFhYWCkgJiYKKyAgVE1QRklMRXY9JChta3RlbXAgLXQgY2Iudi5YWFhYWFgpICYmCisgIFRNUEZJTEVjbz0kKG1rdGVtcCAtdCBjc2hvdXQuWFhYWFhYKSAmJgorICBUTVBGSUxFY2k9JChta3RlbXAgLXQgY3NoaW4uWFhYWFhYKQorfSB8fCBleGl0IDEKKwogCiBUPSQnXHQnCiAKIFNPVVJDRT0iJHsxOitzb3VyY2UgJDF9IgogCi1jYXQgPDwgRU9GID5jc2hpbgorY2F0IDw8IEVPRiA+JFRNUEZJTEVjaQogJFNPVVJDRQotYWxpYXMgPiEgL3RtcC9jYiQkLmEKLXNldGVudiA+ISAvdG1wL2NiJCQuZQotc2V0ID4hIC90bXAvY2IkJC52CithbGlhcyA+ISAkVE1QRklMRWEKK3NldGVudiA+ISAkVE1QRklMRWUKK3NldCA+ISAkVE1QRklMRXYKIEVPRgogCiAjIGdpdmUgY3NoIGEgbWluaW1hbCBlbnZpcm9ubWVudCwgc2ltaWxhciB0byB3aGF0IGxvZ2luIHdvdWxkIHByb3ZpZGUKLS91c3IvYmluL2VudiAtIFVTRVI9JFVTRVIgSE9NRT0kSE9NRSBQQVRIPS91c3IvYmluOi9iaW46L3Vzci91Y2I6LiBURVJNPSRURVJNIFNIRUxMPSRTSEVMTCAvYmluL2NzaCAtaSA8IC4vY3NoaW4gPiBjc2hvdXQgMj4mMQorL3Vzci9iaW4vZW52IC0gVVNFUj0kVVNFUiBIT01FPSRIT01FIFBBVEg9L3Vzci9iaW46L2JpbjovdXNyL3VjYjouIFRFUk09JFRFUk0gU0hFTEw9JFNIRUxMIC9iaW4vY3NoIC1pIDwgJFRNUEZJTEVjaSA+ICRUTVBGSUxFY28gMj4mMQogCiAjIEZpcnN0IGNvbnZlcnQgYWxpYXNlcwogCi1jYXQgPDwgXEVPRiA+L3RtcC9jYiQkLjEKK2NhdCA8PCBcRU9GID4kVE1QRklMRTEKIG1rYWxpYXMgKCkKIHsKIAljYXNlICQyIGluCkBAIC00OSwxMiArNTgsMTIgQEAKIH0KIEVPRgogCi1zZWQgInMvXlwoW2EtekEtWjAtOV9dKlwpJFRcKC4qXCkkL21rYWxpYXMgXDEgJ1wyJy8iIDwgL3RtcC9jYiQkLmEgPj4vdG1wL2NiJCQuMQorc2VkICJzL15cKFthLXpBLVowLTlfXSpcKSRUXCguKlwpJC9ta2FsaWFzIFwxICdcMicvIiA8ICRUTVBGSUxFYSA+PiRUTVBGSUxFMQogCiBlY2hvICcjIGNzaCBhbGlhc2VzJwogZWNobwogCi0kQkFTSCAvdG1wL2NiJCQuMSB8IHNlZCAtZSAncy9cJGN3ZC9cJFBXRC9nJyBcCiskQkFTSCAkVE1QRklMRTEgfCBzZWQgLWUgJ3MvXCRjd2QvXCRQV0QvZycgXAogCQkgICAtZSAncy9cJHRlcm0vXCRURVJNL2cnIFwKIAkJICAgLWUgJ3MvXCRob21lL1wkSE9NRS9nJyBcCiAJCSAgIC1lICdzL1wkdXNlci9cJFVTRVIvZycgXApAQCAtNzAsNyArNzksNyBAQAogICAgIC1lICcvXlBXRC9kJyBcCiAgICAgLWUgInMvJy8nIlxcXFwiJyciL2cgXAogICAgIC1lICJzL15cKFtBLVphLXowLTlfXSo9XCkvZXhwb3J0IFwxJy8iIFwKLSAgICAtZSAicy8kLycvIiA8IC90bXAvY2IkJC5lCisgICAgLWUgInMvJC8nLyIgPCAkVE1QRklMRWUKIAogIyBGaW5hbGx5LCBjb252ZXJ0IGxvY2FsIHZhcmlhYmxlcwogZWNobwpAQCAtODIsNyArOTEsNyBAQAogICAgIC1lICcvXltBLVphLXowLTlfXSo9W14oXS97CiAJcy89Lz0nIicvIicKIAlzLyQvJyInLyInCi0JfScgPCAvdG1wL2NiJCQudiB8CisJfScgPCAkVE1QRklMRXYgfAogc2VkIC1lICcvXmFyZ3Y9L2QnIC1lICcvXmN3ZD0vZCcgLWUgJy9eZmlsZWM9L2QnIC1lICcvXnN0YXR1cz0vZCcgXAogCSAtZSAnL152ZXJib3NlPS9kJyBcCiAJIC1lICcvXnRlcm09L2QnIFwKQEAgLTExMCw3ICsxMTksNyBAQAogZWNobyAnIyBzcGVjaWFsIGNzaCB2YXJpYWJsZXMgY29udmVydGVkIHRvIGJhc2ggZXF1aXZhbGVudHMnCiBlY2hvCiAKLXNlZCAtZSAncy8nIiRUIicvPS8nIDwgL3RtcC9jYiQkLnYgfAorc2VkIC1lICdzLyciJFQiJy89LycgPCAkVE1QRklMRXYgfAogZ3JlcCAiXmNkcGF0aD0iIHwKIHNlZCAncy8oLy8KICAgICAgcy8gLzovZwpAQCAtMTE4LDcgKzEyNyw3IEBACiAgICAgIHMvY2RwYXRoPS9DRFBBVEg9LycKIAogCi1zZWQgLWUgJ3MvJyIkVCInLz0vJyA8IC90bXAvY2IkJC52IHwKK3NlZCAtZSAncy8nIiRUIicvPS8nIDwgJFRNUEZJTEV2IHwKIGdyZXAgIl5tYWlsPSIgfAogc2VkICdzLygvLwogICAgICBzLyAvOi9nCmRpZmYgLS1naXQgYS9leGFtcGxlcy9zY3JpcHRzL2NhdC5zaCBiL2V4YW1wbGVzL3NjcmlwdHMvY2F0LnNoCmluZGV4IDc4MTA2YjIuLjNlNjViM2YgMTAwNjQ0Ci0tLSBhL2V4YW1wbGVzL3NjcmlwdHMvY2F0LnNoCisrKyBiL2V4YW1wbGVzL3NjcmlwdHMvY2F0LnNoCkBAIC0xLDcgKzEsNyBAQAogc2hjYXQoKQogewogCXdoaWxlIHJlYWQgLXIgOyBkbwotCQllY2hvICIkUkVQTFkiCisJCXByaW50ZiAiJXNcbiIgIiRSRVBMWSIKIAlkb25lCiB9CiAKZGlmZiAtLWdpdCBhL2V4ZWN1dGVfY21kLmMgYi9leGVjdXRlX2NtZC5jCmluZGV4IDk3NjExMjUuLmU2NWEwM2YgMTAwNjQ0Ci0tLSBhL2V4ZWN1dGVfY21kLmMKKysrIGIvZXhlY3V0ZV9jbWQuYwpAQCAtNTcsNiArNTcsOCBAQAogZXh0ZXJuIGludCBlcnJubzsKICNlbmRpZgogCisjZGVmaW5lIE5FRURfRlBVUkdFX0RFQ0wKKwogI2luY2x1ZGUgImJhc2hhbnNpLmgiCiAjaW5jbHVkZSAiYmFzaGludGwuaCIKIApAQCAtMTAwLDcgKzEwMiw3IEBACiBleHRlcm4gaW50IGV4cGFuZF9hbGlhc2VzOwogZXh0ZXJuIGludCBhdXRvY2Q7CiBleHRlcm4gaW50IGJyZWFraW5nLCBjb250aW51aW5nLCBsb29wX2xldmVsOwotZXh0ZXJuIGludCBwYXJzZV9hbmRfZXhlY3V0ZV9sZXZlbCwgcnVubmluZ190cmFwOworZXh0ZXJuIGludCBwYXJzZV9hbmRfZXhlY3V0ZV9sZXZlbCwgcnVubmluZ190cmFwLCBzb3VyY2VsZXZlbDsKIGV4dGVybiBpbnQgY29tbWFuZF9zdHJpbmdfaW5kZXgsIGxpbmVfbnVtYmVyOwogZXh0ZXJuIGludCBkb3RfZm91bmRfaW5fc2VhcmNoOwogZXh0ZXJuIGludCBhbHJlYWR5X21ha2luZ19jaGlsZHJlbjsKQEAgLTI2Nyw2ICsyNjksMTAgQEAKIAogc3RhdGljIGludCBsaW5lX251bWJlcl9mb3JfZXJyX3RyYXA7CiAKKy8qIEEgc29ydCBvZiBmdW5jdGlvbiBuZXN0aW5nIGxldmVsIGNvdW50ZXIgKi8KK3N0YXRpYyBpbnQgZnVuY25lc3QgPSAwOworaW50IGZ1bmNuZXN0X21heCA9IDA7CQkvKiBYWFggLSBmb3IgYmFzaC00LjIgKi8KKwogc3RydWN0IGZkX2JpdG1hcCAqY3VycmVudF9mZHNfdG9fY2xvc2UgPSAoc3RydWN0IGZkX2JpdG1hcCAqKU5VTEw7CiAKICNkZWZpbmUgRkRfQklUTUFQX0RFRkFVTFRfU0laRSAzMgpAQCAtNjA3LDcgKzYxMyw2IEBACiAJICAgICAgZWxzZQogCQlleGVjX3Jlc3VsdCA9IGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlOwogCi0KIAkgICAgICBpZiAodXNlcl9zdWJzaGVsbCAmJiB3YXNfZXJyb3JfdHJhcCAmJiBpZ25vcmVfcmV0dXJuID09IDAgJiYgaW52ZXJ0ID09IDAgJiYgZXhlY19yZXN1bHQgIT0gRVhFQ1VUSU9OX1NVQ0NFU1MpCiAJCXsKIAkJICBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZSA9IGV4ZWNfcmVzdWx0OwpAQCAtODgzLDE5ICs4ODgsNTggQEAKIAogI2lmIGRlZmluZWQgKERQQVJFTl9BUklUSE1FVElDKQogICAgIGNhc2UgY21fYXJpdGg6CisgICAgICB3YXNfZXJyb3JfdHJhcCA9IHNpZ25hbF9pc190cmFwcGVkIChFUlJPUl9UUkFQKSAmJiBzaWduYWxfaXNfaWdub3JlZCAoRVJST1JfVFJBUCkgPT0gMDsKICAgICAgIGlmIChpZ25vcmVfcmV0dXJuKQogCWNvbW1hbmQtPnZhbHVlLkFyaXRoLT5mbGFncyB8PSBDTURfSUdOT1JFX1JFVFVSTjsKKyAgICAgIGxpbmVfbnVtYmVyX2Zvcl9lcnJfdHJhcCA9IHNhdmVfbGluZV9udW1iZXIgPSBsaW5lX251bWJlcjsKICAgICAgIGV4ZWNfcmVzdWx0ID0gZXhlY3V0ZV9hcml0aF9jb21tYW5kIChjb21tYW5kLT52YWx1ZS5Bcml0aCk7CisgICAgICBsaW5lX251bWJlciA9IHNhdmVfbGluZV9udW1iZXI7CisKKyAgICAgIGlmICh3YXNfZXJyb3JfdHJhcCAmJiBpZ25vcmVfcmV0dXJuID09IDAgJiYgaW52ZXJ0ID09IDAgJiYgZXhlY19yZXN1bHQgIT0gRVhFQ1VUSU9OX1NVQ0NFU1MpCisJeworCSAgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPSBleGVjX3Jlc3VsdDsKKwkgIHNhdmVfbGluZV9udW1iZXIgPSBsaW5lX251bWJlcjsKKwkgIGxpbmVfbnVtYmVyID0gbGluZV9udW1iZXJfZm9yX2Vycl90cmFwOworCSAgcnVuX2Vycm9yX3RyYXAgKCk7CisJICBsaW5lX251bWJlciA9IHNhdmVfbGluZV9udW1iZXI7CisJfQorCisgICAgICBpZiAoaWdub3JlX3JldHVybiA9PSAwICYmIGludmVydCA9PSAwICYmIGV4aXRfaW1tZWRpYXRlbHlfb25fZXJyb3IgJiYgZXhlY19yZXN1bHQgIT0gRVhFQ1VUSU9OX1NVQ0NFU1MpCisJeworCSAgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPSBleGVjX3Jlc3VsdDsKKwkgIHJ1bl9wZW5kaW5nX3RyYXBzICgpOworCSAganVtcF90b190b3BfbGV2ZWwgKEVSUkVYSVQpOworCX0KKwogICAgICAgYnJlYWs7CiAjZW5kaWYKIAogI2lmIGRlZmluZWQgKENPTkRfQ09NTUFORCkKICAgICBjYXNlIGNtX2NvbmQ6CisgICAgICB3YXNfZXJyb3JfdHJhcCA9IHNpZ25hbF9pc190cmFwcGVkIChFUlJPUl9UUkFQKSAmJiBzaWduYWxfaXNfaWdub3JlZCAoRVJST1JfVFJBUCkgPT0gMDsKICAgICAgIGlmIChpZ25vcmVfcmV0dXJuKQogCWNvbW1hbmQtPnZhbHVlLkNvbmQtPmZsYWdzIHw9IENNRF9JR05PUkVfUkVUVVJOOwotICAgICAgc2F2ZV9saW5lX251bWJlciA9IGxpbmVfbnVtYmVyOworCisgICAgICBsaW5lX251bWJlcl9mb3JfZXJyX3RyYXAgPSBzYXZlX2xpbmVfbnVtYmVyID0gbGluZV9udW1iZXI7CiAgICAgICBleGVjX3Jlc3VsdCA9IGV4ZWN1dGVfY29uZF9jb21tYW5kIChjb21tYW5kLT52YWx1ZS5Db25kKTsKICAgICAgIGxpbmVfbnVtYmVyID0gc2F2ZV9saW5lX251bWJlcjsKKworICAgICAgaWYgKHdhc19lcnJvcl90cmFwICYmIGlnbm9yZV9yZXR1cm4gPT0gMCAmJiBpbnZlcnQgPT0gMCAmJiBleGVjX3Jlc3VsdCAhPSBFWEVDVVRJT05fU1VDQ0VTUykKKwl7CisJICBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZSA9IGV4ZWNfcmVzdWx0OworCSAgc2F2ZV9saW5lX251bWJlciA9IGxpbmVfbnVtYmVyOworCSAgbGluZV9udW1iZXIgPSBsaW5lX251bWJlcl9mb3JfZXJyX3RyYXA7CisJICBydW5fZXJyb3JfdHJhcCAoKTsKKwkgIGxpbmVfbnVtYmVyID0gc2F2ZV9saW5lX251bWJlcjsKKwl9CisKKyAgICAgIGlmIChpZ25vcmVfcmV0dXJuID09IDAgJiYgaW52ZXJ0ID09IDAgJiYgZXhpdF9pbW1lZGlhdGVseV9vbl9lcnJvciAmJiBleGVjX3Jlc3VsdCAhPSBFWEVDVVRJT05fU1VDQ0VTUykKKwl7CisJICBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZSA9IGV4ZWNfcmVzdWx0OworCSAgcnVuX3BlbmRpbmdfdHJhcHMgKCk7CisJICBqdW1wX3RvX3RvcF9sZXZlbCAoRVJSRVhJVCk7CisJfQorCiAgICAgICBicmVhazsKICNlbmRpZgogICAgIApAQCAtMTI0OCw2ICsxMjkyLDcgQEAKIHsKICAgaW50IHVzZXJfc3Vic2hlbGwsIHJldHVybl9jb2RlLCBmdW5jdGlvbl92YWx1ZSwgc2hvdWxkX3JlZGlyX3N0ZGluLCBpbnZlcnQ7CiAgIGludCBvaXMsIHVzZXJfY29wcm9jOworICBpbnQgcmVzdWx0OwogICBDT01NQU5EICp0Y29tOwogCiAgIFVTRV9WQVIodXNlcl9zdWJzaGVsbCk7CkBAIC0xNDE0LDEzICsxNDU5LDIxIEBACiAgIGludmVydCA9ICh0Y29tLT5mbGFncyAmIENNRF9JTlZFUlRfUkVUVVJOKSAhPSAwOwogICB0Y29tLT5mbGFncyAmPSB+Q01EX0lOVkVSVF9SRVRVUk47CiAKKyAgcmVzdWx0ID0gc2V0am1wICh0b3BfbGV2ZWwpOworCiAgIC8qIElmIHdlJ3JlIGluc2lkZSBhIGZ1bmN0aW9uIHdoaWxlIGV4ZWN1dGluZyB0aGlzIHN1YnNoZWxsLCB3ZQogICAgICBuZWVkIHRvIGhhbmRsZSBhIHBvc3NpYmxlIGByZXR1cm4nLiAqLwogICBmdW5jdGlvbl92YWx1ZSA9IDA7CiAgIGlmIChyZXR1cm5fY2F0Y2hfZmxhZykKICAgICBmdW5jdGlvbl92YWx1ZSA9IHNldGptcCAocmV0dXJuX2NhdGNoKTsKIAotICBpZiAoZnVuY3Rpb25fdmFsdWUpCisgIC8qIElmIHdlJ3JlIGdvaW5nIHRvIGV4aXQgdGhlIHNoZWxsLCB3ZSBkb24ndCB3YW50IHRvIGludmVydCB0aGUgcmV0dXJuCisgICAgIHN0YXR1cy4gKi8KKyAgaWYgKHJlc3VsdCA9PSBFWElUUFJPRykKKyAgICBpbnZlcnQgPSAwLCByZXR1cm5fY29kZSA9IGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlOworICBlbHNlIGlmIChyZXN1bHQpCisgICAgcmV0dXJuX2NvZGUgPSBFWEVDVVRJT05fRkFJTFVSRTsKKyAgZWxzZSBpZiAoZnVuY3Rpb25fdmFsdWUpCiAgICAgcmV0dXJuX2NvZGUgPSByZXR1cm5fY2F0Y2hfdmFsdWU7CiAgIGVsc2UKICAgICByZXR1cm5fY29kZSA9IGV4ZWN1dGVfY29tbWFuZF9pbnRlcm5hbCAodGNvbSwgYXN5bmNocm9ub3VzLCBOT19QSVBFLCBOT19QSVBFLCBmZHNfdG9fY2xvc2UpOwpAQCAtMTkyOCw3ICsxOTgxLDcgQEAKICAgICAgaW50IHBpcGVfaW4sIHBpcGVfb3V0OwogICAgICBzdHJ1Y3QgZmRfYml0bWFwICpmZHNfdG9fY2xvc2U7CiB7Ci0gIGludCBycGlwZVsyXSwgd3BpcGVbMl07CisgIGludCBycGlwZVsyXSwgd3BpcGVbMl0sIGVzdGF0OwogICBwaWRfdCBjb3Byb2NfcGlkOwogICBDb3Byb2MgKmNwOwogICBjaGFyICp0Y21kOwpAQCAtMTk1Nyw3ICsyMDEwLDEyIEBACiAgICAgICBjbG9zZSAocnBpcGVbMF0pOwogICAgICAgY2xvc2UgKHdwaXBlWzFdKTsKIAotICAgICAgZXhpdCAoZXhlY3V0ZV9pbl9zdWJzaGVsbCAoY29tbWFuZCwgMSwgd3BpcGVbMF0sIHJwaXBlWzFdLCBmZHNfdG9fY2xvc2UpKTsKKyAgICAgIGVzdGF0ID0gZXhlY3V0ZV9pbl9zdWJzaGVsbCAoY29tbWFuZCwgMSwgd3BpcGVbMF0sIHJwaXBlWzFdLCBmZHNfdG9fY2xvc2UpOworCisgICAgICBmZmx1c2ggKHN0ZG91dCk7CisgICAgICBmZmx1c2ggKHN0ZGVycik7CisKKyAgICAgIGV4aXQgKGVzdGF0KTsKICAgICB9CiAKICAgY2xvc2UgKHJwaXBlWzFdKTsKQEAgLTMxNTYsMTEgKzMyMTQsMTkgQEAKIGV4ZWN1dGVfY29uZF9ub2RlIChjb25kKQogICAgICBDT05EX0NPTSAqY29uZDsKIHsKLSAgaW50IHJlc3VsdCwgaW52ZXJ0LCBwYXRtYXRjaCwgcm1hdGNoLCBtZmxhZ3M7CisgIGludCByZXN1bHQsIGludmVydCwgcGF0bWF0Y2gsIHJtYXRjaCwgbWZsYWdzLCBpZ25vcmU7CiAgIGNoYXIgKmFyZzEsICphcmcyOwogCiAgIGludmVydCA9IChjb25kLT5mbGFncyAmIENNRF9JTlZFUlRfUkVUVVJOKTsKLQorICBpZ25vcmUgPSAoY29uZC0+ZmxhZ3MgJiBDTURfSUdOT1JFX1JFVFVSTik7CisgIGlmIChpZ25vcmUpCisgICAgeworICAgICAgaWYgKGNvbmQtPmxlZnQpCisJY29uZC0+bGVmdC0+ZmxhZ3MgfD0gQ01EX0lHTk9SRV9SRVRVUk47CisgICAgICBpZiAoY29uZC0+cmlnaHQpCisJY29uZC0+cmlnaHQtPmZsYWdzIHw9IENNRF9JR05PUkVfUkVUVVJOOworICAgIH0KKyAgICAgIAogICBpZiAoY29uZC0+dHlwZSA9PSBDT05EX0VYUFIpCiAgICAgcmVzdWx0ID0gZXhlY3V0ZV9jb25kX25vZGUgKGNvbmQtPmxlZnQpOwogICBlbHNlIGlmIChjb25kLT50eXBlID09IENPTkRfT1IpCkBAIC0zMTc3LDcgKzMyNDMsMTEgQEAKICAgICB9CiAgIGVsc2UgaWYgKGNvbmQtPnR5cGUgPT0gQ09ORF9VTkFSWSkKICAgICB7CisgICAgICBpZiAoaWdub3JlKQorCWNvbXN1Yl9pZ25vcmVfcmV0dXJuKys7CiAgICAgICBhcmcxID0gY29uZF9leHBhbmRfd29yZCAoY29uZC0+bGVmdC0+b3AsIDApOworICAgICAgaWYgKGlnbm9yZSkKKwljb21zdWJfaWdub3JlX3JldHVybi0tOwogICAgICAgaWYgKGFyZzEgPT0gMCkKIAlhcmcxID0gbnVsbHN0cjsKICAgICAgIGlmIChlY2hvX2NvbW1hbmRfYXRfZXhlY3V0ZSkKQEAgLTMxOTcsMTEgKzMyNjcsMTkgQEAKIAkJY29uZC0+b3AtPndvcmRbMl0gPT0gJ1wwJyk7CiAjZW5kaWYKIAorICAgICAgaWYgKGlnbm9yZSkKKwljb21zdWJfaWdub3JlX3JldHVybisrOwogICAgICAgYXJnMSA9IGNvbmRfZXhwYW5kX3dvcmQgKGNvbmQtPmxlZnQtPm9wLCAwKTsKKyAgICAgIGlmIChpZ25vcmUpCisJY29tc3ViX2lnbm9yZV9yZXR1cm4tLTsKICAgICAgIGlmIChhcmcxID09IDApCiAJYXJnMSA9IG51bGxzdHI7CisgICAgICBpZiAoaWdub3JlKQorCWNvbXN1Yl9pZ25vcmVfcmV0dXJuKys7CiAgICAgICBhcmcyID0gY29uZF9leHBhbmRfd29yZCAoY29uZC0+cmlnaHQtPm9wLAogCQkJICAgICAgIChybWF0Y2ggJiYgc2hlbGxfY29tcGF0aWJpbGl0eV9sZXZlbCA+IDMxKSA/IDIgOiAocGF0bWF0Y2ggPyAxIDogMCkpOworICAgICAgaWYgKGlnbm9yZSkKKwljb21zdWJfaWdub3JlX3JldHVybi0tOwogICAgICAgaWYgKGFyZzIgPT0gMCkKIAlhcmcyID0gbnVsbHN0cjsKIApAQCAtMzIyNCw3ICszMzAyLDcgQEAKIAkgIGludCBvZTsKIAkgIG9lID0gZXh0ZW5kZWRfZ2xvYjsKIAkgIGV4dGVuZGVkX2dsb2IgPSAxOwotCSAgcmVzdWx0ID0gYmluYXJ5X3Rlc3QgKGNvbmQtPm9wLT53b3JkLCBhcmcxLCBhcmcyLCBURVNUX1BBVE1BVENIfFRFU1RfQVJJVEhFWFApCisJICByZXN1bHQgPSBiaW5hcnlfdGVzdCAoY29uZC0+b3AtPndvcmQsIGFyZzEsIGFyZzIsIFRFU1RfUEFUTUFUQ0h8VEVTVF9BUklUSEVYUHxURVNUX0xPQ0FMRSkKIAkJCQkgID8gRVhFQ1VUSU9OX1NVQ0NFU1MKIAkJCQkgIDogRVhFQ1VUSU9OX0ZBSUxVUkU7CiAJICBleHRlbmRlZF9nbG9iID0gb2U7CkBAIC0zMjYxLDcgKzMzMzksNiBAQAogICAvKiBJZiB3ZSdyZSBpbiBhIGZ1bmN0aW9uLCB1cGRhdGUgdGhlIGxpbmUgbnVtYmVyIGluZm9ybWF0aW9uLiAqLwogICBpZiAodmFyaWFibGVfY29udGV4dCAmJiBpbnRlcmFjdGl2ZV9zaGVsbCkKICAgICBsaW5lX251bWJlciAtPSBmdW5jdGlvbl9saW5lX251bWJlcjsKLQogICBjb21tYW5kX3N0cmluZ19pbmRleCA9IDA7CiAgIHByaW50X2NvbmRfY29tbWFuZCAoY29uZF9jb21tYW5kKTsKIApAQCAtMzMxNSw4ICszMzkyLDEzIEBACiAgICAgIGludCBwaXBlX2luLCBwaXBlX291dCwgYXN5bmM7CiB7CiAgIGludCByOworICBpbnQgZm9yY2Vmb3JrOworICBSRURJUkVDVCAqcmQ7CiAKLSAgaWYgKHBpcGVfaW4gIT0gTk9fUElQRSB8fCBwaXBlX291dCAhPSBOT19QSVBFIHx8IGFzeW5jKQorICBmb3IgKGZvcmNlZm9yayA9IDAsIHJkID0gcmVkaXJlY3RzOyByZDsgcmQgPSByZC0+bmV4dCkKKyAgICBmb3JjZWZvcmsgKz0gcmQtPnJmbGFncyAmIFJFRElSX1ZBUkFTU0lHTjsKKworICBpZiAoZm9yY2Vmb3JrIHx8IHBpcGVfaW4gIT0gTk9fUElQRSB8fCBwaXBlX291dCAhPSBOT19QSVBFIHx8IGFzeW5jKQogICAgIHsKICAgICAgIC8qIFdlIGhhdmUgYSBudWxsIGNvbW1hbmQsIGJ1dCB3ZSByZWFsbHkgd2FudCBhIHN1YnNoZWxsIHRvIHRha2UKIAkgY2FyZSBvZiBpdC4gIEp1c3QgZm9yaywgZG8gcGlwaW5nIGFuZCByZWRpcmVjdGlvbnMsIGFuZCBleGl0LiAqLwpAQCAtMzQ1Nyw3ICszNTM5LDcgQEAKICAgY29tbWFuZF9saW5lID0gKGNoYXIgKikwOwogCiAgIC8qIElmIHdlJ3JlIGluIGEgZnVuY3Rpb24sIHVwZGF0ZSB0aGUgbGluZSBudW1iZXIgaW5mb3JtYXRpb24uICovCi0gIGlmICh2YXJpYWJsZV9jb250ZXh0ICYmIGludGVyYWN0aXZlX3NoZWxsKQorICBpZiAodmFyaWFibGVfY29udGV4dCAmJiBpbnRlcmFjdGl2ZV9zaGVsbCAmJiBzb3VyY2VsZXZlbCA9PSAwKQogICAgIGxpbmVfbnVtYmVyIC09IGZ1bmN0aW9uX2xpbmVfbnVtYmVyOwogCiAgIC8qIFJlbWVtYmVyIHdoYXQgdGhpcyBjb21tYW5kIGxpbmUgbG9va3MgbGlrZSBhdCBpbnZvY2F0aW9uLiAqLwpAQCAtMzgxNCwyNSArMzg5NiwzNSBAQAogewogICBpbnQgb2xkX2VfZmxhZywgcmVzdWx0LCBldmFsX3Vud2luZDsKICAgaW50IGlzYmx0aW5lbnY7CisgIGNoYXIgKmVycm9yX3RyYXA7CiAKICNpZiAwCiAgIC8qIFhYWCAtLSBhZGRlZCAxMi8xMSAqLwogICB0ZXJtaW5hdGVfaW1tZWRpYXRlbHkrKzsKICNlbmRpZgogCisgIGVycm9yX3RyYXAgPSAwOwogICBvbGRfZV9mbGFnID0gZXhpdF9pbW1lZGlhdGVseV9vbl9lcnJvcjsKICAgLyogVGhlIGV2YWwgYnVpbHRpbiBjYWxscyBwYXJzZV9hbmRfZXhlY3V0ZSwgd2hpY2ggZG9lcyBub3Qga25vdyBhYm91dAogICAgICB0aGUgc2V0dGluZyBvZiBmbGFncywgYW5kIGFsd2F5cyBjYWxscyB0aGUgZXhlY3V0aW9uIGZ1bmN0aW9ucyB3aXRoCiAgICAgIGZsYWdzIHRoYXQgd2lsbCBleGl0IHRoZSBzaGVsbCBvbiBhbiBlcnJvciBpZiAtZSBpcyBzZXQuICBJZiB0aGUKICAgICAgZXZhbCBidWlsdGluIGlzIGJlaW5nIGNhbGxlZCwgYW5kIHdlJ3JlIHN1cHBvc2VkIHRvIGlnbm9yZSB0aGUgZXhpdAotICAgICB2YWx1ZSBvZiB0aGUgY29tbWFuZCwgd2UgdHVybiB0aGUgLWUgZmxhZyBvZmYgb3Vyc2VsdmVzLCB0aGVuCi0gICAgIHJlc3RvcmUgaXQgd2hlbiB0aGUgY29tbWFuZCBjb21wbGV0ZXMuICBUaGlzIGlzIGFsc28gYSBwcm9ibGVtIChhcwotICAgICBiZWxvdykgZm9yIHRoZSBjb21tYW5kIGFuZCBzb3VyY2UvLiBidWlsdGlucy4gKi8KKyAgICAgdmFsdWUgb2YgdGhlIGNvbW1hbmQsIHdlIHR1cm4gdGhlIC1lIGZsYWcgb2ZmIG91cnNlbHZlcyBhbmQgZGlzYWJsZQorICAgICB0aGUgRVJSIHRyYXAsIHRoZW4gcmVzdG9yZSB0aGVtIHdoZW4gdGhlIGNvbW1hbmQgY29tcGxldGVzLiAgVGhpcyBpcworICAgICBhbHNvIGEgcHJvYmxlbSAoYXMgYmVsb3cpIGZvciB0aGUgY29tbWFuZCBhbmQgc291cmNlLy4gYnVpbHRpbnMuICovCiAgIGlmIChzdWJzaGVsbCA9PSAwICYmIChmbGFncyAmIENNRF9JR05PUkVfUkVUVVJOKSAmJgogCShidWlsdGluID09IGV2YWxfYnVpbHRpbiB8fCBidWlsdGluID09IGNvbW1hbmRfYnVpbHRpbiB8fCBidWlsdGluID09IHNvdXJjZV9idWlsdGluKSkKICAgICB7CiAgICAgICBiZWdpbl91bndpbmRfZnJhbWUgKCJldmFsX2J1aWx0aW4iKTsKICAgICAgIHVud2luZF9wcm90ZWN0X2ludCAoZXhpdF9pbW1lZGlhdGVseV9vbl9lcnJvcik7CisgICAgICBlcnJvcl90cmFwID0gVFJBUF9TVFJJTkcgKEVSUk9SX1RSQVApOworICAgICAgaWYgKGVycm9yX3RyYXApCisJeworCSAgZXJyb3JfdHJhcCA9IHNhdmVzdHJpbmcgKGVycm9yX3RyYXApOworCSAgYWRkX3Vud2luZF9wcm90ZWN0ICh4ZnJlZSwgZXJyb3JfdHJhcCk7CisJICBhZGRfdW53aW5kX3Byb3RlY3QgKHNldF9lcnJvcl90cmFwLCBlcnJvcl90cmFwKTsKKwkgIHJlc3RvcmVfZGVmYXVsdF9zaWduYWwgKEVSUk9SX1RSQVApOworCX0KICAgICAgIGV4aXRfaW1tZWRpYXRlbHlfb25fZXJyb3IgPSAwOwogICAgICAgZXZhbF91bndpbmQgPSAxOwogICAgIH0KQEAgLTM4ODMsNiArMzk3NSwxMSBAQAogICBpZiAoZXZhbF91bndpbmQpCiAgICAgewogICAgICAgZXhpdF9pbW1lZGlhdGVseV9vbl9lcnJvciArPSBvbGRfZV9mbGFnOworICAgICAgaWYgKGVycm9yX3RyYXApCisJeworCSAgc2V0X2Vycm9yX3RyYXAgKGVycm9yX3RyYXApOworCSAgeGZyZWUgKGVycm9yX3RyYXApOworCX0KICAgICAgIGRpc2NhcmRfdW53aW5kX2ZyYW1lICgiZXZhbF9idWlsdGluIik7CiAgICAgfQogCkBAIC0zOTExLDEwICs0MDA4LDE3IEBACiAjZW5kaWYKICAgRlVOQ1RJT05fREVGICpzaGVsbF9mbjsKICAgY2hhciAqc2ZpbGUsICp0OwotICBzdGF0aWMgaW50IGZ1bmNuZXN0ID0gMDsKIAogICBVU0VfVkFSKGZjKTsKIAorI2lmIDAJLyogZm9yIGJhc2gtNC4yICovCisgIGlmIChmdW5jbmVzdF9tYXggPiAwICYmIGZ1bmNuZXN0ID49IGZ1bmNuZXN0X21heCkKKyAgICB7CisgICAgICBpbnRlcm5hbF9lcnJvciAoIiVzOiBtYXhpbXVtIGZ1bmN0aW9uIG5lc3RpbmcgbGV2ZWwgZXhjZWVkZWQgKCVkKSIsIHZhci0+bmFtZSwgZnVuY25lc3QpOworICAgICAganVtcF90b190b3BfbGV2ZWwgKERJU0NBUkQpOworICAgIH0KKyNlbmRpZgorCiAjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKICAgR0VUX0FSUkFZX0ZST01fVkFSICgiRlVOQ05BTUUiLCBmdW5jbmFtZV92LCBmdW5jbmFtZV9hKTsKICAgR0VUX0FSUkFZX0ZST01fVkFSICgiQkFTSF9TT1VSQ0UiLCBiYXNoX3NvdXJjZV92LCBiYXNoX3NvdXJjZV9hKTsKQEAgLTM5MzYsNiArNDA0MCw3IEBACiAgICAgICBhZGRfdW53aW5kX3Byb3RlY3QgKGRpc3Bvc2VfY29tbWFuZCwgKGNoYXIgKil0Yyk7CiAgICAgICB1bndpbmRfcHJvdGVjdF9wb2ludGVyICh0aGlzX3NoZWxsX2Z1bmN0aW9uKTsKICAgICAgIHVud2luZF9wcm90ZWN0X2ludCAobG9vcF9sZXZlbCk7CisgICAgICB1bndpbmRfcHJvdGVjdF9pbnQgKGZ1bmNuZXN0KTsKICAgICB9CiAgIGVsc2UKICAgICBwdXNoX2NvbnRleHQgKHZhci0+bmFtZSwgc3Vic2hlbGwsIHRlbXBvcmFyeV9lbnYpOwkvKiBkb24ndCB1bndpbmQtcHJvdGVjdCBmb3Igc3Vic2hlbGxzICovCkBAIC00MDc3LDcgKzQxODIsNiBAQAogICBpZiAoc3Vic2hlbGwgPT0gMCkKICAgICBydW5fdW53aW5kX2ZyYW1lICgiZnVuY3Rpb25fY2FsbGluZyIpOwogCi0gIGZ1bmNuZXN0LS07CiAjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKICAgLyogVGhlc2UgdHdvIHZhcmlhYmxlcyBjYW5ub3QgYmUgdW5zZXQsIGFuZCBjYW5ub3QgYmUgYWZmZWN0ZWQgYnkgdGhlCiAgICAgIGZ1bmN0aW9uLiAqLwpAQCAtNDA5Miw4ICs0MTk2LDEzIEBACiAjZW5kaWYKICAgCiAgIGlmICh2YXJpYWJsZV9jb250ZXh0ID09IDAgfHwgdGhpc19zaGVsbF9mdW5jdGlvbiA9PSAwKQotICAgIG1ha2VfZnVuY25hbWVfdmlzaWJsZSAoMCk7Ci0KKyAgICB7CisgICAgICBtYWtlX2Z1bmNuYW1lX3Zpc2libGUgKDApOworI2lmIGRlZmluZWQgKFBST0NFU1NfU1VCU1RJVFVUSU9OKQorICAgICAgdW5saW5rX2ZpZm9fbGlzdCAoKTsKKyNlbmRpZgorICAgIH0KKyAgCiAgIHJldHVybiAocmVzdWx0KTsKIH0KIApAQCAtNDM2OSw3ICs0NDc4LDcgQEAKIAogI2lmIGRlZmluZWQgKFJFU1RSSUNURURfU0hFTEwpCiAgIGNvbW1hbmQgPSAoY2hhciAqKU5VTEw7Ci0gIGlmIChyZXN0cmljdGVkICYmIHhzdHJjaHIgKHBhdGhuYW1lLCAnLycpKQorICBpZiAocmVzdHJpY3RlZCAmJiBtYnNjaHIgKHBhdGhuYW1lLCAnLycpKQogICAgIHsKICAgICAgIGludGVybmFsX2Vycm9yIChfKCIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiKSwKIAkJICAgIHBhdGhuYW1lKTsKQEAgLTQ0ODIsNyArNDU5MSw4IEBACiAgICAgICAvKiBNYWtlIHN1cmUgdGhhdCB0aGUgcGlwZXMgYXJlIGNsb3NlZCBpbiB0aGUgcGFyZW50LiAqLwogICAgICAgY2xvc2VfcGlwZXMgKHBpcGVfaW4sIHBpcGVfb3V0KTsKICNpZiBkZWZpbmVkIChQUk9DRVNTX1NVQlNUSVRVVElPTikgJiYgZGVmaW5lZCAoSEFWRV9ERVZfRkQpCi0gICAgICB1bmxpbmtfZmlmb19saXN0ICgpOworICAgICAgaWYgKHZhcmlhYmxlX2NvbnRleHQgPT0gMCkKKyAgICAgICAgdW5saW5rX2ZpZm9fbGlzdCAoKTsKICNlbmRpZgogICAgICAgRlJFRSAoY29tbWFuZCk7CiAgICAgfQpAQCAtNDYzMSw3ICs0NzQxLDcgQEAKICAgcGFyc2VfYW5kX2V4ZWN1dGVfbGV2ZWwgPSAwOwkJLyogbm90aGluZyBsZWZ0IHRvIHJlc3RvcmUgaXQgKi8KIAogICAvKiBXZSdyZSBubyBsb25nZXIgaW5zaWRlIGEgc2hlbGwgZnVuY3Rpb24uICovCi0gIHZhcmlhYmxlX2NvbnRleHQgPSByZXR1cm5fY2F0Y2hfZmxhZyA9IDA7CisgIHZhcmlhYmxlX2NvbnRleHQgPSByZXR1cm5fY2F0Y2hfZmxhZyA9IGZ1bmNuZXN0ID0gMDsKIAogICBleGVjdXRpbmdfbGlzdCA9IDA7CQkvKiBYWFggKi8KIApkaWZmIC0tZ2l0IGEvZXhwci5jIGIvZXhwci5jCmluZGV4IGMyNTE2MDAuLjQ0NmU2NzggMTAwNjQ0Ci0tLSBhL2V4cHIuYworKysgYi9leHByLmMKQEAgLTIwMiw3ICsyMDIsNyBAQAogc3RhdGljIGludCBleHByX3N0YWNrX3NpemU7CSAgIC8qIE51bWJlciBvZiBzbG90cyBhbHJlYWR5IGFsbG9jYXRlZC4gKi8KIAogZXh0ZXJuIGNoYXIgKnRoaXNfY29tbWFuZF9uYW1lOwotZXh0ZXJuIGludCB1bmJvdW5kX3ZhcnNfaXNfZXJyb3I7CitleHRlcm4gaW50IHVuYm91bmRfdmFyc19pc19lcnJvciwgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWU7CiAKICNpZiBkZWZpbmVkIChBUlJBWV9WQVJTKQogZXh0ZXJuIGNvbnN0IGNoYXIgKiBjb25zdCBiYXNoX2JhZHN1Yl9lcnJtc2c7CkBAIC05MjMsNiArOTIzLDcgQEAKICAgICAgIHZhbHVlID0gdG9rOwogI2VuZGlmCiAKKyAgICAgIGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlID0gRVhFQ1VUSU9OX0ZBSUxVUkU7CiAgICAgICBlcnJfdW5ib3VuZHZhciAodmFsdWUpOwogCiAjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKQEAgLTEwNTcsNyArMTA1OCw3IEBACiAjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKICAgICAgIGlmIChjID09ICdbJykKIAl7Ci0JICBlID0gc2tpcHN1YnNjcmlwdCAoY3AsIDApOworCSAgZSA9IHNraXBzdWJzY3JpcHQgKGNwLCAwLCAwKTsKIAkgIGlmIChjcFtlXSA9PSAnXScpCiAJICAgIHsKIAkgICAgICBjcCArPSBlICsgMTsKZGlmZiAtLWdpdCBhL2V4dGVybnMuaCBiL2V4dGVybnMuaAppbmRleCBjYWZiZDVmLi5jOGFhODYyIDEwMDY0NAotLS0gYS9leHRlcm5zLmgKKysrIGIvZXh0ZXJucy5oCkBAIC01NCw2ICs1NCwxMiBAQAogI2VuZGlmCiAKIC8qIHNldCAteCBzdXBwb3J0ICovCitleHRlcm4gdm9pZCB4dHJhY2VfaW5pdCBfX1AoKHZvaWQpKTsKKyNpZmRlZiBORUVEX1hUUkFDRV9TRVRfREVDTAorZXh0ZXJuIHZvaWQgeHRyYWNlX3NldCBfX1AoKGludCwgRklMRSAqKSk7CisjZW5kaWYKK2V4dGVybiB2b2lkIHh0cmFjZV9mZGNoayBfX1AoKGludCkpOworZXh0ZXJuIHZvaWQgeHRyYWNlX3Jlc2V0IF9fUCgodm9pZCkpOwogZXh0ZXJuIGNoYXIgKmluZGlyZWN0aW9uX2xldmVsX3N0cmluZyBfX1AoKHZvaWQpKTsKIGV4dGVybiB2b2lkIHh0cmFjZV9wcmludF9hc3NpZ25tZW50IF9fUCgoY2hhciAqLCBjaGFyICosIGludCwgaW50KSk7CiBleHRlcm4gdm9pZCB4dHJhY2VfcHJpbnRfd29yZF9saXN0IF9fUCgoV09SRF9MSVNUICosIGludCkpOwpAQCAtMTM1LDcgKzE0MSw3IEBACiBleHRlcm4gY2hhciAqZmluZF90b2tlbl9pbl9hbGlzdCBfX1AoKGludCwgU1RSSU5HX0lOVF9BTElTVCAqLCBpbnQpKTsKIGV4dGVybiBpbnQgZmluZF9pbmRleF9pbl9hbGlzdCBfX1AoKGNoYXIgKiwgU1RSSU5HX0lOVF9BTElTVCAqLCBpbnQpKTsKIAotZXh0ZXJuIGNoYXIgKnN1YnN0cmluZyBfX1AoKGNoYXIgKiwgaW50LCBpbnQpKTsKK2V4dGVybiBjaGFyICpzdWJzdHJpbmcgX19QKChjb25zdCBjaGFyICosIGludCwgaW50KSk7CiBleHRlcm4gY2hhciAqc3Ryc3ViIF9fUCgoY2hhciAqLCBjaGFyICosIGNoYXIgKiwgaW50KSk7CiBleHRlcm4gY2hhciAqc3RyY3JlcGxhY2UgX19QKChjaGFyICosIGludCwgY2hhciAqLCBpbnQpKTsKIGV4dGVybiB2b2lkIHN0cmlwX2xlYWRpbmcgX19QKChjaGFyICopKTsKQEAgLTE5MSw2ICsxOTcsMTAgQEAKIC8qIERlY2xhcmF0aW9ucyBmb3IgZnVuY3Rpb25zIGRlZmluZWQgaW4gbGliL3NoL2ZtdHVtYXguYyAqLwogZXh0ZXJuIGNoYXIgKmZtdHVtYXggX19QKCh1aW50bWF4X3QsIGludCwgY2hhciAqLCBzaXplX3QsIGludCkpOwogCisvKiBEZWNsYXJhdGlvbnMgZm9yIGZ1bmN0aW9ucyBkZWZpbmVkIGluIGxpYi9zaC9mbnhmb3JtLmMgKi8KK2V4dGVybiBjaGFyICpmbnhfZnJvbWZzIF9fUCgoY2hhciAqLCBzaXplX3QpKTsKK2V4dGVybiBjaGFyICpmbnhfdG9mcyBfX1AoKGNoYXIgKiwgc2l6ZV90KSk7CisKIC8qIERlY2xhcmF0aW9ucyBmb3IgZnVuY3Rpb25zIGRlZmluZWQgaW4gbGliL3NoL2ZwdXJnZS5jICovCiAKICNpZiBkZWZpbmVkIE5FRURfRlBVUkdFX0RFQ0wKQEAgLTIyNiw2ICsyMzYsMjEgQEAKIAogZXh0ZXJuIGNoYXIgKnNoX21ha2VwYXRoIF9fUCgoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGludCkpOwogCisvKiBkZWNsYXJhdGlvbnMgZm9yIGZ1bmN0aW9ucyBkZWZpbmVkIGluIGxpYi9zaC9tYnNjYXNlY21wLmMgKi8KKyNpZiAhZGVmaW5lZCAoSEFWRV9NQlNDQVNFQ01QKQorZXh0ZXJuIGNoYXIgKm1ic2Nhc2VjbXAgX19QKChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKikpOworI2VuZGlmCisKKy8qIGRlY2xhcmF0aW9ucyBmb3IgZnVuY3Rpb25zIGRlZmluZWQgaW4gbGliL3NoL21ic2Noci5jICovCisjaWYgIWRlZmluZWQgKEhBVkVfTUJTQ0hSKQorZXh0ZXJuIGNoYXIgKm1ic2NociBfX1AoKGNvbnN0IGNoYXIgKiwgaW50KSk7CisjZW5kaWYKKworLyogZGVjbGFyYXRpb25zIGZvciBmdW5jdGlvbnMgZGVmaW5lZCBpbiBsaWIvc2gvbWJzY21wLmMgKi8KKyNpZiAhZGVmaW5lZCAoSEFWRV9NQlNDTVApCitleHRlcm4gY2hhciAqbWJzY21wIF9fUCgoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopKTsKKyNlbmRpZgorCiAvKiBkZWNsYXJhdGlvbnMgZm9yIGZ1bmN0aW9ucyBkZWZpbmVkIGluIGxpYi9zaC9uZXRjb25uLmMgKi8KIGV4dGVybiBpbnQgaXNuZXRjb25uIF9fUCgoaW50KSk7CiAKQEAgLTI5NSw2ICszMjAsMTEgQEAKIGV4dGVybiBpbnQgc3RyY2FzZWNtcCBfX1AoKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKSk7CiAjZW5kaWYgLyogSEFWRV9TVFJDQVNFQ01QICovCiAKKy8qIGRlY2xhcmF0aW9ucyBmb3IgZnVuY3Rpb25zIGRlZmluZWQgaW4gbGliL3NoL3N0cmNhc2VzdHIuYyAqLworI2lmICEgSEFWRV9TVFJDQVNFU1RSCitleHRlcm4gY2hhciAqc3RyY2FzZXN0ciBfX1AoKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKSk7CisjZW5kaWYKKwogLyogZGVjbGFyYXRpb25zIGZvciBmdW5jdGlvbnMgZGVmaW5lZCBpbiBsaWIvc2gvc3RyZXJyb3IuYyAqLwogI2lmICFkZWZpbmVkIChIQVZFX1NUUkVSUk9SKSAmJiAhZGVmaW5lZCAoc3RyZXJyb3IpCiBleHRlcm4gY2hhciAqc3RyZXJyb3IgX19QKChpbnQpKTsKQEAgLTMwNSw5ICszMzUsNiBAQAogZXh0ZXJuIHNpemVfdCBzdHJmdGltZSBfX1AoKGNoYXIgKiwgc2l6ZV90LCBjb25zdCBjaGFyICosIGNvbnN0IHN0cnVjdCB0bSAqKSk7CiAjZW5kaWYKIAotLyogZGVjbGFyYXRpb25zIGZvciBmdW5jdGlvbnMgZGVmaW5lZCBpbiBsaWIvc2gvc3RyaW5kZXguYyAqLwotZXh0ZXJuIGNoYXIgKnN0cmluZGV4IF9fUCgoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopKTsKLQogLyogZGVjbGFyYXRpb25zIGZvciBmdW5jdGlvbnMgYW5kIHN0cnVjdHVyZXMgZGVmaW5lZCBpbiBsaWIvc2gvc3RyaW5nbGlzdC5jICovCiAKIC8qIFRoaXMgaXMgYSBnZW5lcmFsLXB1cnBvc2UgYXJndi1zdHlsZSBhcnJheSBzdHJ1Y3QuICovCkBAIC00MjQsMTAgKzQ1MSw2IEBACiAvKiBkZWNsYXJhdGlvbnMgZm9yIGZ1bmN0aW9ucyBkZWZpbmVkIGluIGxpYi9zaC93aW5zaXplLmMgKi8KIGV4dGVybiB2b2lkIGdldF9uZXdfd2luZG93X3NpemUgX19QKChpbnQsIGludCAqLCBpbnQgKikpOwogCi0vKiBkZWNsYXJhdGlvbnMgZm9yIGZ1bmN0aW9ucyBkZWZpbmVkIGluIGxpYi9zaC94c3RyY2hyLmMgKi8KLSN1bmRlZiB4c3RyY2hyCi1leHRlcm4gY2hhciAqeHN0cmNociBfX1AoKGNvbnN0IGNoYXIgKiwgaW50KSk7Ci0KIC8qIGRlY2xhcmF0aW9ucyBmb3IgZnVuY3Rpb25zIGRlZmluZWQgaW4gbGliL3NoL3pjYXRmZC5jICovCiBleHRlcm4gaW50IHpjYXRmZCBfX1AoKGludCwgaW50LCBjaGFyICopKTsKIApkaWZmIC0tZ2l0IGEvZmluZGNtZC5jIGIvZmluZGNtZC5jCmluZGV4IDFmMDUzOTQuLjU1N2Y4YjUgMTAwNjQ0Ci0tLSBhL2ZpbmRjbWQuYworKysgYi9maW5kY21kLmMKQEAgLTkzLDcgKzkzLDE4IEBACiAKICAgciA9IEZTX0VYSVNUUzsKIAotI2lmIGRlZmluZWQgKEFGUykKKyNpZiBkZWZpbmVkIChIQVZFX0VBQ0NFU1MpCisgIC8qIFVzZSBlYWNjZXNzKDIpIGlmIHdlIGhhdmUgaXQgdG8gdGFrZSB0aGluZ3MgbGlrZSBBQ0xzIGFuZCBvdGhlcgorICAgICBmaWxlIGFjY2VzcyBtZWNoYW5pc21zIGludG8gYWNjb3VudC4gIGVhY2Nlc3MgdXNlcyB0aGUgZWZmZWN0aXZlCisgICAgIHVzZXIgYW5kIGdyb3VwIElEcywgbm90IHRoZSByZWFsIG9uZXMuICBXZSBjb3VsZCB1c2Ugc2hfZWFjY2VzcywKKyAgICAgYnV0IHdlIGRvbid0IHdhbnQgYW55IHNwZWNpYWwgdHJlYXRtZW50IGZvciAvZGV2L2ZkLiAqLworICBpZiAoZWFjY2VzcyAobmFtZSwgWF9PSykgPT0gMCkKKyAgICByIHw9IEZTX0VYRUNBQkxFOworICBpZiAoZWFjY2VzcyAobmFtZSwgUl9PSykgPT0gMCkKKyAgICByIHw9IEZTX1JFQURBQkxFOworCisgIHJldHVybiByOworI2VsaWYgZGVmaW5lZCAoQUZTKQogICAvKiBXZSBoYXZlIHRvIHVzZSBhY2Nlc3MoMikgdG8gZGV0ZXJtaW5lIGFjY2VzcyBiZWNhdXNlIEFGUyBkb2VzIG5vdAogICAgICBzdXBwb3J0IFVuaXggZmlsZSBzeXN0ZW0gc2VtYW50aWNzLiAgVGhpcyBtYXkgcHJvZHVjZSB3cm9uZwogICAgICBhbnN3ZXJzIGZvciBub24tQUZTIGZpbGVzIHdoZW4gcnVpZCAhPSBldWlkLiAgSSBoYXRlIEFGUy4gKi8KQEAgLTEwMyw3ICsxMTQsNyBAQAogICAgIHIgfD0gRlNfUkVBREFCTEU7CiAKICAgcmV0dXJuIHI7Ci0jZWxzZSAvKiAhQUZTICovCisjZWxzZSAvKiAhSEFWRV9FQUNDRVNTICYmICFBRlMgKi8KIAogICAvKiBGaW5kIG91dCBpZiB0aGUgZmlsZSBpcyBhY3R1YWxseSBleGVjdXRhYmxlLiAgQnkgZGVmaW5pdGlvbiwgdGhlCiAgICAgIG9ubHkgb3RoZXIgY3JpdGVyaWEgaXMgdGhhdCB0aGUgZmlsZSBoYXMgYW4gZXhlY3V0ZSBiaXQgc2V0IHRoYXQKZGlmZiAtLWdpdCBhL2dlbmVyYWwuYyBiL2dlbmVyYWwuYwppbmRleCA0Y2Y4NzdmLi4yNmM3ZDNkIDEwMDY0NAotLS0gYS9nZW5lcmFsLmMKKysrIGIvZ2VuZXJhbC5jCkBAIC05OCw3ICs5OCw3IEBACiAgIG5lZyA9IDA7CiAgIHdoaWxlIChzICYmICpzICYmIHdoaXRlc3BhY2UgKCpzKSkKICAgICBzKys7Ci0gIGlmICgqcyA9PSAnLScgfHwgKnMgPT0gJysnKQorICBpZiAocyAmJiAoKnMgPT0gJy0nIHx8ICpzID09ICcrJykpCiAgICAgewogICAgICAgbmVnID0gKnMgPT0gJy0nOwogICAgICAgcysrOwpAQCAtMjg1LDcgKzI4NSw3IEBACiAjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKICAgICAgIGlmIChjID09ICdbJykKIAl7Ci0JICBuZXdpID0gc2tpcHN1YnNjcmlwdCAoc3RyaW5nLCBpbmR4KTsKKwkgIG5ld2kgPSBza2lwc3Vic2NyaXB0IChzdHJpbmcsIGluZHgsIDApOwogCSAgaWYgKHN0cmluZ1tuZXdpKytdICE9ICddJykKIAkgICAgcmV0dXJuICgwKTsKIAkgIGlmIChzdHJpbmdbbmV3aV0gPT0gJysnICYmIHN0cmluZ1tuZXdpKzFdID09ICc9JykKQEAgLTU3Nyw3ICs1NzcsNyBAQAogYWJzb2x1dGVfcHJvZ3JhbSAoc3RyaW5nKQogICAgICBjb25zdCBjaGFyICpzdHJpbmc7CiB7Ci0gIHJldHVybiAoKGNoYXIgKil4c3RyY2hyIChzdHJpbmcsICcvJykgIT0gKGNoYXIgKilOVUxMKTsKKyAgcmV0dXJuICgoY2hhciAqKW1ic2NociAoc3RyaW5nLCAnLycpICE9IChjaGFyICopTlVMTCk7CiB9CiAKIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KQEAgLTcxNyw3ICs3MTcsNyBAQAogICBmb3IgKG5kaXJzID0gMCwgbnRhaWwgPSBuYmVnOyAqbnRhaWw7IG50YWlsKyspCiAgICAgaWYgKCpudGFpbCA9PSAnLycpCiAgICAgICBuZGlycysrOwotICBpZiAobmRpcnMgPD0gbnNraXApCisgIGlmIChuZGlycyA8IG5za2lwKQogICAgIHJldHVybiBuYW1lOwogCiAgIGZvciAobnRhaWwgPSAoKm5lbmQgPT0gJy8nKSA/IG5lbmQgOiBuZW5kIC0gMTsgbnRhaWwgPiBuYmVnOyBudGFpbC0tKQpkaWZmIC0tZ2l0IGEvZ2VuZXJhbC5oIGIvZ2VuZXJhbC5oCmluZGV4IDVlYTBkNDUuLjFlYzBkMzkgMTAwNjQ0Ci0tLSBhL2dlbmVyYWwuaAorKysgYi9nZW5lcmFsLmgKQEAgLTcwLDcgKzcwLDcgQEAKICNlbmRpZgogCiAjaWZuZGVmIG1lbWJlcgotIyAgZGVmaW5lIG1lbWJlcihjLCBzKSAoKGMpID8gKChjaGFyICopeHN0cmNociAoKHMpLCAoYykpICE9IChjaGFyICopTlVMTCkgOiAwKQorIyAgZGVmaW5lIG1lbWJlcihjLCBzKSAoKGMpID8gKChjaGFyICopbWJzY2hyICgocyksIChjKSkgIT0gKGNoYXIgKilOVUxMKSA6IDApCiAjZW5kaWYKIAogI2lmbmRlZiB3aGl0ZXNwYWNlCmRpZmYgLS1naXQgYS9oYXNobGliLmMgYi9oYXNobGliLmMKaW5kZXggY2NkZTliOS4uZWE2N2RmYyAxMDA2NDQKLS0tIGEvaGFzaGxpYi5jCisrKyBiL2hhc2hsaWIuYwpAQCAtMTc3LDcgKzE3Nyw3IEBACiAKICAgYnVja2V0ID0gSEFTSF9CVUNLRVQgKHN0cmluZywgdGFibGUsIGh2KTsKIAotICBmb3IgKGxpc3QgPSB0YWJsZS0+YnVja2V0X2FycmF5W2J1Y2tldF07IGxpc3Q7IGxpc3QgPSBsaXN0LT5uZXh0KQorICBmb3IgKGxpc3QgPSB0YWJsZS0+YnVja2V0X2FycmF5ID8gdGFibGUtPmJ1Y2tldF9hcnJheVtidWNrZXRdIDogMDsgbGlzdDsgbGlzdCA9IGxpc3QtPm5leHQpCiAgICAgewogICAgICAgaWYgKGh2ID09IGxpc3QtPmtoYXNoICYmIFNUUkVRIChsaXN0LT5rZXksIHN0cmluZykpCiAJewpkaWZmIC0tZ2l0IGEvam9icy5jIGIvam9icy5jCmluZGV4IGQ4YmI3YWUuLmRmMTNhZDkgMTAwNjQ0Ci0tLSBhL2pvYnMuYworKysgYi9qb2JzLmMKQEAgLTcwMSw4ICs3MDEsOCBAQAogICBmb3IgKHByZXYgPSBwID0gYmdwaWRzLmxpc3Q7IHA7IHByZXYgPSBwLCBwID0gcC0+bmV4dCkKICAgICBpZiAocC0+cGlkID09IHBpZCkKICAgICAgIHsKLSAgICAgICAgcHJldi0+bmV4dCA9IHAtPm5leHQ7CS8qIHJlbW92ZSBmcm9tIGxpc3QgKi8KLSAgICAgICAgYnJlYWs7CisJcHJldi0+bmV4dCA9IHAtPm5leHQ7CS8qIHJlbW92ZSBmcm9tIGxpc3QgKi8KKwlicmVhazsKICAgICAgIH0KIAogICBpZiAocCA9PSAwKQpAQCAtMTcwOCw2ICsxNzA4LDEwIEBACiAgIC8qIENyZWF0ZSB0aGUgY2hpbGQsIGhhbmRsZSBzZXZlcmUgZXJyb3JzLiAgUmV0cnkgb24gRUFHQUlOLiAqLwogICB3aGlsZSAoKHBpZCA9IGZvcmsgKCkpIDwgMCAmJiBlcnJubyA9PSBFQUdBSU4gJiYgZm9ya3NsZWVwIDwgRk9SS1NMRUVQX01BWCkKICAgICB7CisjaWYgMAkJLyogZm9yIGJhc2gtNC4yICovCisgICAgICAvKiBJZiB3ZSBjYW4ndCBjcmVhdGUgYW55IGNoaWxkcmVuLCB0cnkgdG8gcmVhcCBzb21lIGRlYWQgb25lcy4gKi8KKyAgICAgIHdhaXRjaGxkICgtMSwgMCk7CisjZW5kaWYKICAgICAgIHN5c19lcnJvciAoImZvcms6IHJldHJ5Iik7CiAgICAgICBpZiAoc2xlZXAgKGZvcmtzbGVlcCkgIT0gMCkKIAlicmVhazsKQEAgLTE3MjUsNiArMTcyOSw3IEBACiAgICAgICBpZiAodGhlX3BpcGVsaW5lKQogCWtpbGxfY3VycmVudF9waXBlbGluZSAoKTsKIAorICAgICAgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPSBFWF9OT0VYRUM7CiAgICAgICB0aHJvd190b190b3BfbGV2ZWwgKCk7CS8qIFJlc2V0IHNpZ25hbHMsIGV0Yy4gKi8KICAgICB9CiAKQEAgLTIzNzEsNiArMjM3Niw4IEBACiAKICAgaWYgKGludGVyYWN0aXZlICYmIGpvYl9jb250cm9sID09IDApCiAgICAgUVVJVDsKKyAgLyogQ2hlY2sgZm9yIHRlcm1pbmF0aW5nIHNpZ25hbHMgYW5kIGV4aXQgdGhlIHNoZWxsIGlmIHdlIHJlY2VpdmUgb25lICovCisgIENIRUNLX1RFUk1TSUc7CiAKICAgLyogSWYgd2Ugc2F5IHdhaXRfZm9yICgpLCB0aGVuIHdlIGhhdmUgYSByZWNvcmQgb2YgdGhpcyBjaGlsZCBzb21ld2hlcmUuCiAgICAgIElmIGl0IGFuZCBub25lIG9mIGl0cyBwZWVycyBhcmUgcnVubmluZywgZG9uJ3QgY2FsbCB3YWl0Y2hsZCgpLiAqLwpAQCAtMjQ0OSw2ICsyNDU2LDggQEAKIAkgb2xkIFNJR0lOVCBzaWduYWwgaGFuZGxlci4gKi8KICAgICAgIGlmIChpbnRlcmFjdGl2ZSAmJiBqb2JfY29udHJvbCA9PSAwKQogCVFVSVQ7CisgICAgICAvKiBDaGVjayBmb3IgdGVybWluYXRpbmcgc2lnbmFscyBhbmQgZXhpdCB0aGUgc2hlbGwgaWYgd2UgcmVjZWl2ZSBvbmUgKi8KKyAgICAgIENIRUNLX1RFUk1TSUc7CiAgICAgfQogICB3aGlsZSAoUFJVTk5JTkcgKGNoaWxkKSB8fCAoam9iICE9IE5PX0pPQiAmJiBSVU5OSU5HIChqb2IpKSk7CiAKQEAgLTMwNDIsOCArMzA1MSwxNSBAQAogCQkJOiAwOwogICAgICAgaWYgKHNpZ2NobGQgfHwgYmxvY2sgPT0gMCkKIAl3YWl0cGlkX2ZsYWdzIHw9IFdOT0hBTkc7CisgICAgICAvKiBDaGVjayBmb3IgdGVybWluYXRpbmcgc2lnbmFscyBhbmQgZXhpdCB0aGUgc2hlbGwgaWYgd2UgcmVjZWl2ZSBvbmUgKi8KICAgICAgIENIRUNLX1RFUk1TSUc7CiAKKyAgICAgIGlmIChibG9jayA9PSAxICYmIHF1ZXVlX3NpZ2NobGQgPT0gMCAmJiAod2FpdHBpZF9mbGFncyAmIFdOT0hBTkcpID09IDApCisJeworCSAgaW50ZXJuYWxfd2FybmluZyAoXygid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIikpOworCSAgd2FpdHBpZF9mbGFncyB8PSBXTk9IQU5HOworCX0KKwogICAgICAgcGlkID0gV0FJVFBJRCAoLTEsICZzdGF0dXMsIHdhaXRwaWRfZmxhZ3MpOwogCiAgICAgICAvKiBXQ09OVElOVUVEIG1heSBiZSByZWplY3RlZCBieSB3YWl0cGlkIGFzIGludmFsaWQgZXZlbiB3aGVuIGRlZmluZWQgKi8KQEAgLTMxMzcsNyArMzE1Myw3IEBACiAgIGlmIChqb2JfY29udHJvbCAmJiBzaWduYWxfaXNfdHJhcHBlZCAoU0lHQ0hMRCkgJiYgY2hpbGRyZW5fZXhpdGVkICYmCiAgICAgICB0cmFwX2xpc3RbU0lHQ0hMRF0gIT0gKGNoYXIgKilJR05PUkVfU0lHKQogICAgIHsKLSAgICAgIGlmICh0aGlzX3NoZWxsX2J1aWx0aW4gJiYgdGhpc19zaGVsbF9idWlsdGluID09IHdhaXRfYnVpbHRpbikKKyAgICAgIGlmIChwb3NpeGx5X2NvcnJlY3QgJiYgdGhpc19zaGVsbF9idWlsdGluICYmIHRoaXNfc2hlbGxfYnVpbHRpbiA9PSB3YWl0X2J1aWx0aW4pCiAJewogCSAgaW50ZXJydXB0X2ltbWVkaWF0ZWx5ID0gMDsKIAkgIHRyYXBfaGFuZGxlciAoU0lHQ0hMRCk7CS8qIHNldCBwZW5kaW5nX3RyYXBzW1NJR0NITERdICovCmRpZmYgLS1naXQgYS9saWIvZ2xvYi9nbG9iLmMgYi9saWIvZ2xvYi9nbG9iLmMKaW5kZXggMzU0MjI0NC4uYzc3NjE4ZiAxMDA2NDQKLS0tIGEvbGliL2dsb2IvZ2xvYi5jCisrKyBiL2xpYi9nbG9iL2dsb2IuYwpAQCAtMjQ2LDcgKzI0Niw4IEBACiAgICAgICBpZiAocGF0aG5hbWVbaSAtIDFdID09IDApCiAJYnJlYWs7CiAgICAgfQotICBwYXRobmFtZVtqXSA9ICdcMCc7CisgIGlmIChwYXRobmFtZSkKKyAgICBwYXRobmFtZVtqXSA9ICdcMCc7CiB9CiAKICNpZiBIQU5ETEVfTVVMVElCWVRFCkBAIC0yNzksNyArMjgwLDggQEAKICAgICAgIGlmICh3cGF0aG5hbWVbaSAtIDFdID09IEwnXDAnKQogCWJyZWFrOwogICAgIH0KLSAgd3BhdGhuYW1lW2pdID0gTCdcMCc7CisgIGlmICh3cGF0aG5hbWUpCisgICAgd3BhdGhuYW1lW2pdID0gTCdcMCc7CiAKICAgLyogQ29udmVydCB0aGUgd2lkZSBjaGFyYWN0ZXIgc3RyaW5nIGludG8gdW5pYnl0ZSBjaGFyYWN0ZXIgc2V0LiAqLwogICBtZW1zZXQgKCZwcywgJ1wwJywgc2l6ZW9mKG1ic3RhdGVfdCkpOwpAQCAtMzA3LDkgKzMwOSw5IEBACiAjICBkZWZpbmUgR0xPQl9URVNUTkFNRShuYW1lKSAgKGxzdGF0IChuYW1lLCAmZmluZm8pKQogI2Vsc2UgLyogIUhBVkVfTFNUQVQgKi8KICMgIGlmICFkZWZpbmVkIChBRlMpCi0jICAgIGRlZmluZSBHTE9CX1RFU1ROQU1FKG5hbWUpICAoc2hfZWFjY2VzcyAobmV4dG5hbWUsIEZfT0spKQorIyAgICBkZWZpbmUgR0xPQl9URVNUTkFNRShuYW1lKSAgKHNoX2VhY2Nlc3MgKG5hbWUsIEZfT0spKQogIyAgZWxzZSAvKiBBRlMgKi8KLSMgICAgZGVmaW5lIEdMT0JfVEVTVE5BTUUobmFtZSkgIChhY2Nlc3MgKG5leHRuYW1lLCBGX09LKSkKKyMgICAgZGVmaW5lIEdMT0JfVEVTVE5BTUUobmFtZSkgIChhY2Nlc3MgKG5hbWUsIEZfT0spKQogIyAgZW5kaWYgLyogQUZTICovCiAjZW5kaWYgLyogIUhBVkVfTFNUQVQgKi8KIApAQCAtMzIwLDYgKzMyMiw3IEBACiB7CiAgIHN0cnVjdCBzdGF0IGZpbmZvOwogCisvKml0cmFjZSgiZ2xvYl90ZXN0ZGlyOiB0ZXN0aW5nICVzIiwgZGlyKTsqLwogICBpZiAoc3RhdCAoZGlyLCAmZmluZm8pIDwgMCkKICAgICByZXR1cm4gKC0xKTsKIApAQCAtNDI2LDEzICs0MjksMTQgQEAKICAgcmVnaXN0ZXIgc3RydWN0IGdsb2J2YWwgKm5leHRsaW5rOwogICByZWdpc3RlciBjaGFyICpuZXh0bmFtZSwgKm5wYXQsICpzdWJkaXI7CiAgIHVuc2lnbmVkIGludCBjb3VudDsKLSAgaW50IGxvc2UsIHNraXAsIG5kaXJzLCBpc2Rpciwgc2RsZW4sIGFkZF9jdXJyZW50OworICBpbnQgbG9zZSwgc2tpcCwgbmRpcnMsIGlzZGlyLCBzZGxlbiwgYWRkX2N1cnJlbnQsIHBhdGxlbjsKICAgcmVnaXN0ZXIgY2hhciAqKm5hbWVfdmVjdG9yOwogICByZWdpc3RlciB1bnNpZ25lZCBpbnQgaTsKICAgaW50IG1mbGFnczsJCS8qIEZsYWdzIHBhc3NlZCB0byBzdHJtYXRjaCAoKS4gKi8KICAgaW50IHBmbGFnczsJCS8qIGZsYWdzIHBhc3NlZCB0byBzaF9tYWtlcGF0aCAoKSAqLwogICBpbnQgbmFsbG9jYTsKICAgc3RydWN0IGdsb2J2YWwgKmZpcnN0bWFsbG9jLCAqdG1wbGluazsKKyAgY2hhciAqY29udmZuOwogCiAgIGxhc3RsaW5rID0gMDsKICAgY291bnQgPSBsb3NlID0gc2tpcCA9IGFkZF9jdXJyZW50ID0gMDsKQEAgLTQ2Niw2ICs0NzAsOCBAQAogICAgICAgc2tpcCA9IDE7CiAgICAgfQogCisgIHBhdGxlbiA9IHN0cmxlbiAocGF0KTsKKwogICAvKiBJZiB0aGUgZmlsZW5hbWUgcGF0dGVybiAoUEFUKSBkb2VzIG5vdCBjb250YWluIGFueSBnbG9iYmluZyBjaGFyYWN0ZXJzLAogICAgICB3ZSBjYW4gZGlzcGVuc2Ugd2l0aCByZWFkaW5nIHRoZSBkaXJlY3RvcnksIGFuZCBqdXN0IHNlZSBpZiB0aGVyZSBpcwogICAgICBhIGZpbGVuYW1lIGBESVIvUEFUJy4gIElmIHRoZXJlIGlzLCBhbmQgd2UgY2FuIGFjY2VzcyBpdCwganVzdCBtYWtlIHRoZQpAQCAtNDc5LDggKzQ4NSw4IEBACiAJcmV0dXJuICgoY2hhciAqKikgJmdsb2JfZXJyb3JfcmV0dXJuKTsKIAogICAgICAgZGlybGVuID0gc3RybGVuIChkaXIpOwotICAgICAgbmV4dG5hbWUgPSAoY2hhciAqKW1hbGxvYyAoZGlybGVuICsgc3RybGVuIChwYXQpICsgMik7Ci0gICAgICBucGF0ID0gKGNoYXIgKiltYWxsb2MgKHN0cmxlbiAocGF0KSArIDEpOworICAgICAgbmV4dG5hbWUgPSAoY2hhciAqKW1hbGxvYyAoZGlybGVuICsgcGF0bGVuICsgMik7CisgICAgICBucGF0ID0gKGNoYXIgKiltYWxsb2MgKHBhdGxlbiArIDEpOwogICAgICAgaWYgKG5leHRuYW1lID09IDAgfHwgbnBhdCA9PSAwKQogCWxvc2UgPSAxOwogICAgICAgZWxzZQpAQCAtNjMzLDggKzYzOSw5IEBACiAJICAgICAgKytjb3VudDsKIAkgICAgICBjb250aW51ZTsKIAkgICAgfQotCSAgICAgIAotCSAgaWYgKHN0cm1hdGNoIChwYXQsIGRwLT5kX25hbWUsIG1mbGFncykgIT0gRk5NX05PTUFUQ0gpCisKKwkgIGNvbnZmbiA9IGZueF9mcm9tZnMgKGRwLT5kX25hbWUsIERfTkFNTEVOIChkcCkpOworCSAgaWYgKHN0cm1hdGNoIChwYXQsIGNvbnZmbiwgbWZsYWdzKSAhPSBGTk1fTk9NQVRDSCkKIAkgICAgewogCSAgICAgIGlmIChuYWxsb2NhIDwgQUxMT0NBX01BWCkKIAkJewpAQCAtMTAyMyw3ICsxMDMwLDcgQEAKIAkgIGRmbGFncyB8PSBHWF9BTExESVJTfEdYX0FERENVUkRJUjsKICNpZiAwCiAJICAvKiBJZiB3ZSB3YW50IGFsbCBkaXJlY3RvcmllcyAoZGZsYWdzICYgR1hfQUxMRElSUykgYW5kIHdlJ3JlIG5vdAotCSAgICAgYmVpbmcgY2FsbGVkIHJlY3Vyc2l2ZWx5IGFzIHNvbWV0aGluZyBsaWtlIGBlY2hvICoqLyoubycKKwkgICAgIGJlaW5nIGNhbGxlZCByZWN1cnNpdmVseSBhcyBzb21ldGhpbmcgbGlrZSBgZWNobyBbc3Rhcl1bc3Rhcl0vW3N0YXJdLm8nCiAJICAgICAoKGZsYWdzICYgR1hfQUxMRElSUykgPT0gMCksIHdlIHdhbnQgdG8gcHJldmVudCBnbG9iX3ZlY3RvciBmcm9tCiAJICAgICBhZGRpbmcgYSBudWxsIGRpcmVjdG9yeSBuYW1lIHRvIHRoZSBmcm9udCBvZiB0aGUgdGVtcF9yZXN1bHRzCiAJICAgICBhcnJheS4gIFdlIHR1cm4gb2ZmIEFERENVUkRJUiBpZiBub3QgY2FsbGVkIHJlY3Vyc2l2ZWx5IGFuZApkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL2JpbmQuYyBiL2xpYi9yZWFkbGluZS9iaW5kLmMKaW5kZXggODM2ZjgzNy4uZmM4YzJhMiAxMDA2NDQKLS0tIGEvbGliL3JlYWRsaW5lL2JpbmQuYworKysgYi9saWIvcmVhZGxpbmUvYmluZC5jCkBAIC00MTgsNiArNDE4LDEzIEBACiAJICAgIHsKIAkgICAgICBtYXAgPSBGVU5DVElPTl9UT19LRVlNQVAgKG1hcCwgaWMpOwogCSAgICAgIGljID0gQU5ZT1RIRVJLRVk7CisJICAgICAgLyogSWYgd2UncmUgdHJ5aW5nIHRvIG92ZXJyaWRlIGEga2V5bWFwIHdpdGggYSBudWxsIGZ1bmN0aW9uCisJCSAoZS5nLiwgdHJ5aW5nIHRvIHVuYmluZCBpdCksIHdlIGNhbid0IHVzZSBhIG51bGwgcG9pbnRlcgorCQkgaGVyZSBiZWNhdXNlIHRoYXQncyBpbmRpc3Rpbmd1aXNoYWJsZSBmcm9tIGhhdmluZyBub3QgYmVlbgorCQkgb3ZlcnJpZGRlbi4gIFdlIHVzZSBhIHNwZWNpYWwgYmluZGFibGUgZnVuY3Rpb24gdGhhdCBkb2VzCisJCSBub3RoaW5nLiAqLworCSAgICAgIGlmICh0eXBlID09IElTRlVOQyAmJiBkYXRhID09IDApCisJCWRhdGEgPSAoY2hhciAqKV9ybF9udWxsX2Z1bmN0aW9uOwogCSAgICB9CiAKIAkgIG1hcFtpY10uZnVuY3Rpb24gPSBLRVlNQVBfVE9fRlVOQ1RJT04gKGRhdGEpOwpAQCAtMTQxOSw3ICsxNDI2LDkgQEAKICAgeyAiY29tcGxldGlvbi1pZ25vcmUtY2FzZSIsCSZfcmxfY29tcGxldGlvbl9jYXNlX2ZvbGQsCTAgfSwKICAgeyAiY29udmVydC1tZXRhIiwJCSZfcmxfY29udmVydF9tZXRhX2NoYXJzX3RvX2FzY2lpLCAwIH0sCiAgIHsgImRpc2FibGUtY29tcGxldGlvbiIsCSZybF9pbmhpYml0X2NvbXBsZXRpb24sCQkwIH0sCisgIHsgImVjaG8tY29udHJvbC1jaGFyYWN0ZXJzIiwJJl9ybF9lY2hvX2NvbnRyb2xfY2hhcnMsCTAgfSwKICAgeyAiZW5hYmxlLWtleXBhZCIsCQkmX3JsX2VuYWJsZV9rZXlwYWQsCQkwIH0sCisgIHsgImVuYWJsZS1tZXRhLWtleSIsCQkmX3JsX2VuYWJsZV9tZXRhLAkJMCB9LAogICB7ICJleHBhbmQtdGlsZGUiLAkJJnJsX2NvbXBsZXRlX3dpdGhfdGlsZGVfZXhwYW5zaW9uLCAwIH0sCiAgIHsgImhpc3RvcnktcHJlc2VydmUtcG9pbnQiLAkmX3JsX2hpc3RvcnlfcHJlc2VydmVfcG9pbnQsCTAgfSwKICAgeyAiaG9yaXpvbnRhbC1zY3JvbGwtbW9kZSIsCSZfcmxfaG9yaXpvbnRhbF9zY3JvbGxfbW9kZSwJMCB9LApAQCAtMTQzNiw2ICsxNDQ1LDcgQEAKICAgeyAicmV2ZXJ0LWFsbC1hdC1uZXdsaW5lIiwJJl9ybF9yZXZlcnRfYWxsX2F0X25ld2xpbmUsCTAgfSwKICAgeyAic2hvdy1hbGwtaWYtYW1iaWd1b3VzIiwJJl9ybF9jb21wbGV0ZV9zaG93X2FsbCwJCTAgfSwKICAgeyAic2hvdy1hbGwtaWYtdW5tb2RpZmllZCIsCSZfcmxfY29tcGxldGVfc2hvd191bm1vZGlmaWVkLAkwIH0sCisgIHsgInNraXAtY29tcGxldGVkLXRleHQiLAkmX3JsX3NraXBfY29tcGxldGVkX3RleHQsCTAgfSwKICNpZiBkZWZpbmVkIChWSVNJQkxFX1NUQVRTKQogICB7ICJ2aXNpYmxlLXN0YXRzIiwJCSZybF92aXNpYmxlX3N0YXRzLAkJMCB9LAogI2VuZGlmIC8qIFZJU0lCTEVfU1RBVFMgKi8KZGlmZiAtLWdpdCBhL2xpYi9yZWFkbGluZS9jb21wbGV0ZS5jIGIvbGliL3JlYWRsaW5lL2NvbXBsZXRlLmMKaW5kZXggNTliNDg2YS4uYWQ5Y2EwNSAxMDA2NDQKLS0tIGEvbGliL3JlYWRsaW5lL2NvbXBsZXRlLmMKKysrIGIvbGliL3JlYWRsaW5lL2NvbXBsZXRlLmMKQEAgLTE3OSw2ICsxNzksMTIgQEAKIGludCBybF92aXNpYmxlX3N0YXRzID0gMDsKICNlbmRpZiAvKiBWSVNJQkxFX1NUQVRTICovCiAKKy8qIElmIG5vbi16ZXJvLCB3aGVuIGNvbXBsZXRpbmcgaW4gdGhlIG1pZGRsZSBvZiBhIHdvcmQsIGRvbid0IGluc2VydAorICAgY2hhcmFjdGVycyBmcm9tIHRoZSBtYXRjaCB0aGF0IG1hdGNoIGNoYXJhY3RlcnMgZm9sbG93aW5nIHBvaW50IGluCisgICB0aGUgd29yZC4gIFRoaXMgbWVhbnMsIGZvciBpbnN0YW5jZSwgY29tcGxldGluZyB3aGVuIHRoZSBjdXJzb3IgaXMKKyAgIGFmdGVyIHRoZSBgZScgaW4gYE1ha2VmaWxlJyB3b24ndCByZXN1bHQgaW4gYE1ha2VmaWxlZmlsZScuICovCitpbnQgX3JsX3NraXBfY29tcGxldGVkX3RleHQgPSAwOworCiAvKiBJZiBub24temVybywgdGhlbiB0aGlzIGlzIHRoZSBhZGRyZXNzIG9mIGEgZnVuY3Rpb24gdG8gY2FsbCB3aGVuCiAgICBjb21wbGV0aW5nIG9uIGEgZGlyZWN0b3J5IG5hbWUuICBUaGUgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGgKICAgIHRoZSBhZGRyZXNzIG9mIGEgc3RyaW5nICh0aGUgY3VycmVudCBkaXJlY3RvcnkgbmFtZSkgYXMgYW4gYXJnLiAqLwpAQCAtMTg2LDYgKzE5MiwxNyBAQAogCiBybF9pY3BwZnVuY190ICpybF9kaXJlY3RvcnlfcmV3cml0ZV9ob29rID0gKHJsX2ljcHBmdW5jX3QgKilOVUxMOwogCisvKiBJZiBub24temVybywgdGhpcyBpcyB0aGUgYWRkcmVzcyBvZiBhIGZ1bmN0aW9uIHRvIGNhbGwgd2hlbiByZWFkaW5nCisgICBkaXJlY3RvcnkgZW50cmllcyBmcm9tIHRoZSBmaWxlc3lzdGVtIGZvciBjb21wbGV0aW9uIGFuZCBjb21wYXJpbmcKKyAgIHRoZW0gdG8gdGhlIHBhcnRpYWwgd29yZCB0byBiZSBjb21wbGV0ZWQuICBUaGUgZnVuY3Rpb24gc2hvdWxkCisgICBlaXRoZXIgcmV0dXJuIGl0cyBmaXJzdCBhcmd1bWVudCAoaWYgbm8gY29udmVyc2lvbiB0YWtlcyBwbGFjZSkgb3IKKyAgIG5ld2x5LWFsbG9jYXRlZCBtZW1vcnkuICBUaGlzIGNhbiwgZm9yIGluc3RhbmNlLCBjb252ZXJ0IGZpbGVuYW1lcworICAgYmV0d2VlbiBjaGFyYWN0ZXIgc2V0cyBmb3IgY29tcGFyaXNvbiBhZ2FpbnN0IHdoYXQncyB0eXBlZCBhdCB0aGUKKyAgIGtleWJvYXJkLiAgVGhlIHJldHVybmVkIHZhbHVlIGlzIHdoYXQgaXMgYWRkZWQgdG8gdGhlIGxpc3Qgb2YKKyAgIG1hdGNoZXMuICBUaGUgc2Vjb25kIGFyZ3VtZW50IGlzIHRoZSBsZW5ndGggb2YgdGhlIGZpbGVuYW1lIHRvIGJlCisgICBjb252ZXJ0ZWQuICovCitybF9kZXF1b3RlX2Z1bmNfdCAqcmxfZmlsZW5hbWVfcmV3cml0ZV9ob29rID0gKHJsX2RlcXVvdGVfZnVuY190ICopTlVMTDsKKwogLyogTm9uLXplcm8gbWVhbnMgcmVhZGxpbmUgY29tcGxldGlvbiBmdW5jdGlvbnMgcGVyZm9ybSB0aWxkZSBleHBhbnNpb24uICovCiBpbnQgcmxfY29tcGxldGVfd2l0aF90aWxkZV9leHBhbnNpb24gPSAwOwogCkBAIC0xMDIxLDcgKzEwMzgsOCBAQAogICAgIHsKICAgICAgIF9ybF9pbnRlcnJ1cHRfaW1tZWRpYXRlbHkrKzsKICAgICAgIG1hdGNoZXMgPSAoKnJsX2F0dGVtcHRlZF9jb21wbGV0aW9uX2Z1bmN0aW9uKSAodGV4dCwgc3RhcnQsIGVuZCk7Ci0gICAgICBfcmxfaW50ZXJydXB0X2ltbWVkaWF0ZWx5LS07CisgICAgICBpZiAoX3JsX2ludGVycnVwdF9pbW1lZGlhdGVseSA+IDApCisJX3JsX2ludGVycnVwdF9pbW1lZGlhdGVseS0tOwogCiAgICAgICBpZiAobWF0Y2hlcyB8fCBybF9hdHRlbXB0ZWRfY29tcGxldGlvbl9vdmVyKQogCXsKQEAgLTE1NTEsOCArMTU2OSw5IEBACiAgICAgIGludCBzdGFydCwgbXR5cGU7CiAgICAgIGNoYXIgKnFjOwogewotICBjaGFyICpyZXBsYWNlbWVudDsKKyAgY2hhciAqcmVwbGFjZW1lbnQsICpyOwogICBjaGFyIG9xYzsKKyAgaW50IGVuZCwgcmxlbjsKIAogICBvcWMgPSBxYyA/ICpxYyA6ICdcMCc7CiAgIHJlcGxhY2VtZW50ID0gbWFrZV9xdW90ZWRfcmVwbGFjZW1lbnQgKG1hdGNoLCBtdHlwZSwgcWMpOwpAQCAtMTU2MCw2ICsxNTc5LDcgQEAKICAgLyogTm93IGluc2VydCB0aGUgbWF0Y2guICovCiAgIGlmIChyZXBsYWNlbWVudCkKICAgICB7CisgICAgICBybGVuID0gc3RybGVuIChyZXBsYWNlbWVudCk7CiAgICAgICAvKiBEb24ndCBkb3VibGUgYW4gb3BlbmluZyBxdW90ZSBjaGFyYWN0ZXIuICovCiAgICAgICBpZiAocWMgJiYgKnFjICYmIHN0YXJ0ICYmIHJsX2xpbmVfYnVmZmVyW3N0YXJ0IC0gMV0gPT0gKnFjICYmCiAJICAgIHJlcGxhY2VtZW50WzBdID09ICpxYykKQEAgLTE1NjksNyArMTU4OSwyNCBAQAogICAgICAgZWxzZSBpZiAocWMgJiYgKCpxYyAhPSBvcWMpICYmIHN0YXJ0ICYmIHJsX2xpbmVfYnVmZmVyW3N0YXJ0IC0gMV0gPT0gb3FjICYmCiAJICAgIHJlcGxhY2VtZW50WzBdICE9IG9xYykKIAlzdGFydC0tOwotICAgICAgX3JsX3JlcGxhY2VfdGV4dCAocmVwbGFjZW1lbnQsIHN0YXJ0LCBybF9wb2ludCAtIDEpOworICAgICAgZW5kID0gcmxfcG9pbnQgLSAxOworICAgICAgLyogRG9uJ3QgZG91YmxlIGEgY2xvc2luZyBxdW90ZSBjaGFyYWN0ZXIgKi8KKyAgICAgIGlmIChxYyAmJiAqcWMgJiYgZW5kICYmIHJsX2xpbmVfYnVmZmVyW3JsX3BvaW50XSA9PSAqcWMgJiYgcmVwbGFjZW1lbnRbcmxlbiAtIDFdID09ICpxYykKKyAgICAgICAgZW5kKys7CisgICAgICBpZiAoX3JsX3NraXBfY29tcGxldGVkX3RleHQpCisJeworCSAgciA9IHJlcGxhY2VtZW50OworCSAgd2hpbGUgKHN0YXJ0IDwgcmxfZW5kICYmICpyICYmIHJsX2xpbmVfYnVmZmVyW3N0YXJ0XSA9PSAqcikKKwkgICAgeworCSAgICAgIHN0YXJ0Kys7CisJICAgICAgcisrOworCSAgICB9CisJICBpZiAoc3RhcnQgPD0gZW5kIHx8ICpyKQorCSAgICBfcmxfcmVwbGFjZV90ZXh0IChyLCBzdGFydCwgZW5kKTsKKwkgIHJsX3BvaW50ID0gc3RhcnQgKyBzdHJsZW4gKHIpOworCX0KKyAgICAgIGVsc2UKKwlfcmxfcmVwbGFjZV90ZXh0IChyZXBsYWNlbWVudCwgc3RhcnQsIGVuZCk7CiAgICAgICBpZiAocmVwbGFjZW1lbnQgIT0gbWF0Y2gpCiAgICAgICAgIGZyZWUgKHJlcGxhY2VtZW50KTsKICAgICB9CkBAIC0xODkzLDcgKzE5MzAsOCBAQAogICAgICAgbWF0Y2hfbGlzdFsrK21hdGNoZXNdID0gc3RyaW5nOwogICAgICAgbWF0Y2hfbGlzdFttYXRjaGVzICsgMV0gPSAoY2hhciAqKU5VTEw7CiAgICAgfQotICBfcmxfaW50ZXJydXB0X2ltbWVkaWF0ZWx5LS07CisgIGlmIChfcmxfaW50ZXJydXB0X2ltbWVkaWF0ZWx5ID4gMCkKKyAgICBfcmxfaW50ZXJydXB0X2ltbWVkaWF0ZWx5LS07CiAKICAgLyogSWYgdGhlcmUgd2VyZSBhbnkgbWF0Y2hlcywgdGhlbiBsb29rIHRocm91Z2ggdGhlbSBmaW5kaW5nIG91dCB0aGUKICAgICAgbG93ZXN0IGNvbW1vbiBkZW5vbWluYXRvci4gIFRoYXQgdGhlbiBiZWNvbWVzIG1hdGNoX2xpc3RbMF0uICovCkBAIC0xOTgxLDggKzIwMTksOCBAQAogICBzdGF0aWMgY2hhciAqZGlybmFtZSA9IChjaGFyICopTlVMTDsKICAgc3RhdGljIGNoYXIgKnVzZXJzX2Rpcm5hbWUgPSAoY2hhciAqKU5VTEw7CiAgIHN0YXRpYyBpbnQgZmlsZW5hbWVfbGVuOwotICBjaGFyICp0ZW1wOwotICBpbnQgZGlybGVuOworICBjaGFyICp0ZW1wLCAqZGVudHJ5LCAqY29udmZuOworICBpbnQgZGlybGVuLCBkZW50bGVuLCBjb252bGVuOwogICBzdHJ1Y3QgZGlyZW50ICplbnRyeTsKIAogICAvKiBJZiB3ZSBkb24ndCBoYXZlIGFueSBzdGF0ZSwgdGhlbiBkbyBzb21lIGluaXRpYWxpemF0aW9uLiAqLwpAQCAtMjA4Niw2ICsyMTI0LDE1IEBACiAgIGVudHJ5ID0gKHN0cnVjdCBkaXJlbnQgKilOVUxMOwogICB3aGlsZSAoZGlyZWN0b3J5ICYmIChlbnRyeSA9IHJlYWRkaXIgKGRpcmVjdG9yeSkpKQogICAgIHsKKyAgICAgIGNvbnZmbiA9IGRlbnRyeSA9IGVudHJ5LT5kX25hbWU7CisgICAgICBjb252bGVuID0gZGVudGxlbiA9IERfTkFNTEVOIChlbnRyeSk7CisKKyAgICAgIGlmIChybF9maWxlbmFtZV9yZXdyaXRlX2hvb2spCisJeworCSAgY29udmZuID0gKCpybF9maWxlbmFtZV9yZXdyaXRlX2hvb2spIChkZW50cnksIGRlbnRsZW4pOworCSAgY29udmxlbiA9IChjb252Zm4gPT0gZGVudHJ5KSA/IGRlbnRsZW4gOiBzdHJsZW4gKGNvbnZmbik7CisJfQorCiAgICAgICAvKiBTcGVjaWFsIGNhc2UgZm9yIG5vIGZpbGVuYW1lLiAgSWYgdGhlIHVzZXIgaGFzIGRpc2FibGVkIHRoZQogICAgICAgICAgYG1hdGNoLWhpZGRlbi1maWxlcycgdmFyaWFibGUsIHNraXAgZmlsZW5hbWVzIGJlZ2lubmluZyB3aXRoIGAuJy4KIAkgQWxsIG90aGVyIGVudHJpZXMgZXhjZXB0ICIuIiBhbmQgIi4uIiBtYXRjaC4gKi8KQEAgLTIwOTQsOSArMjE0MSw4IEBACiAJICBpZiAoX3JsX21hdGNoX2hpZGRlbl9maWxlcyA9PSAwICYmIEhJRERFTl9GSUxFIChlbnRyeS0+ZF9uYW1lKSkKIAkgICAgY29udGludWU7CiAKLQkgIGlmIChlbnRyeS0+ZF9uYW1lWzBdICE9ICcuJyB8fAotCSAgICAgICAoZW50cnktPmRfbmFtZVsxXSAmJgotCQkgKGVudHJ5LT5kX25hbWVbMV0gIT0gJy4nIHx8IGVudHJ5LT5kX25hbWVbMl0pKSkKKwkgIGlmIChjb252Zm5bMF0gIT0gJy4nIHx8CisJICAgICAgIChjb252Zm5bMV0gJiYgKGNvbnZmblsxXSAhPSAnLicgfHwgY29udmZuWzJdKSkpCiAJICAgIGJyZWFrOwogCX0KICAgICAgIGVsc2UKQEAgLTIxMDUsMTYgKzIxNTEsMTYgQEAKIAkgICAgIGl0IGlzIGEgbWF0Y2guICovCiAJICBpZiAoX3JsX2NvbXBsZXRpb25fY2FzZV9mb2xkKQogCSAgICB7Ci0JICAgICAgaWYgKChfcmxfdG9fbG93ZXIgKGVudHJ5LT5kX25hbWVbMF0pID09IF9ybF90b19sb3dlciAoZmlsZW5hbWVbMF0pKSAmJgotCQkgICgoKGludClEX05BTUxFTiAoZW50cnkpKSA+PSBmaWxlbmFtZV9sZW4pICYmCi0JCSAgKF9ybF9zdHJuaWNtcCAoZmlsZW5hbWUsIGVudHJ5LT5kX25hbWUsIGZpbGVuYW1lX2xlbikgPT0gMCkpCisJICAgICAgaWYgKChfcmxfdG9fbG93ZXIgKGNvbnZmblswXSkgPT0gX3JsX3RvX2xvd2VyIChmaWxlbmFtZVswXSkpICYmCisJCSAgKGNvbnZsZW4gPj0gZmlsZW5hbWVfbGVuKSAmJgorCQkgIChfcmxfc3RybmljbXAgKGZpbGVuYW1lLCBjb252Zm4sIGZpbGVuYW1lX2xlbikgPT0gMCkpCiAJCWJyZWFrOwogCSAgICB9CiAJICBlbHNlCiAJICAgIHsKLQkgICAgICBpZiAoKGVudHJ5LT5kX25hbWVbMF0gPT0gZmlsZW5hbWVbMF0pICYmCi0JCSAgKCgoaW50KURfTkFNTEVOIChlbnRyeSkpID49IGZpbGVuYW1lX2xlbikgJiYKLQkJICAoc3RybmNtcCAoZmlsZW5hbWUsIGVudHJ5LT5kX25hbWUsIGZpbGVuYW1lX2xlbikgPT0gMCkpCisJICAgICAgaWYgKChjb252Zm5bMF0gPT0gZmlsZW5hbWVbMF0pICYmCisJCSAgKGNvbnZsZW4gPj0gZmlsZW5hbWVfbGVuKSAmJgorCQkgIChzdHJuY21wIChmaWxlbmFtZSwgY29udmZuLCBmaWxlbmFtZV9sZW4pID09IDApKQogCQlicmVhazsKIAkgICAgfQogCX0KQEAgLTIxNzYsMTkgKzIyMjIsMjIgQEAKIAkgIHN0cmNweSAodGVtcCArIGRpcmxlbiwgZW50cnktPmRfbmFtZSk7CiAJfQogICAgICAgZWxzZQotCXRlbXAgPSBzYXZlc3RyaW5nIChlbnRyeS0+ZF9uYW1lKTsKKwl0ZW1wID0gc2F2ZXN0cmluZyAoY29udmZuKTsKKworICAgICAgaWYgKGNvbnZmbiAhPSBkZW50cnkpCisJZnJlZSAoY29udmZuKTsKIAogICAgICAgcmV0dXJuICh0ZW1wKTsKICAgICB9CiB9CiAKIC8qIEFuIGluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgYSBtZW51IGNvbXBsZXRpb24gZnVuY3Rpb24gYSBsYSB0Y3NoLiAgVGhlCi0gICBmaXJzdCB0aW1lIChpZiB0aGUgbGFzdCByZWFkbGluZSBjb21tYW5kIHdhcyBub3QgcmxfbWVudV9jb21wbGV0ZSksIHdlCisgICBmaXJzdCB0aW1lIChpZiB0aGUgbGFzdCByZWFkbGluZSBjb21tYW5kIHdhcyBub3Qgcmxfb2xkX21lbnVfY29tcGxldGUpLCB3ZQogICAgZ2VuZXJhdGUgdGhlIGxpc3Qgb2YgbWF0Y2hlcy4gIFRoaXMgY29kZSBpcyB2ZXJ5IHNpbWlsYXIgdG8gdGhlIGNvZGUgaW4KICAgIHJsX2NvbXBsZXRlX2ludGVybmFsIC0tIHRoZXJlIHNob3VsZCBiZSBhIHdheSB0byBjb21iaW5lIHRoZSB0d28uICBUaGVuLAogICAgZm9yIGVhY2ggaXRlbSBpbiB0aGUgbGlzdCBvZiBtYXRjaGVzLCB3ZSBpbnNlcnQgdGhlIG1hdGNoIGluIGFuIHVuZG9hYmxlCiAgICBmYXNoaW9uLCB3aXRoIHRoZSBhcHByb3ByaWF0ZSBjaGFyYWN0ZXIgYXBwZW5kZWQgKHRoaXMgaGFwcGVucyBvbiB0aGUKLSAgIHNlY29uZCBhbmQgc3Vic2VxdWVudCBjb25zZWN1dGl2ZSBjYWxscyB0byBybF9tZW51X2NvbXBsZXRlKS4gIFdoZW4gd2UKKyAgIHNlY29uZCBhbmQgc3Vic2VxdWVudCBjb25zZWN1dGl2ZSBjYWxscyB0byBybF9vbGRfbWVudV9jb21wbGV0ZSkuICBXaGVuIHdlCiAgICBoaXQgdGhlIGVuZCBvZiB0aGUgbWF0Y2ggbGlzdCwgd2UgcmVzdG9yZSB0aGUgb3JpZ2luYWwgdW5tYXRjaGVkIHRleHQsCiAgICByaW5nIHRoZSBiZWxsLCBhbmQgcmVzZXQgdGhlIGNvdW50ZXIgdG8gemVyby4gKi8KIGludApAQCAtMjMzMCw3ICsyMzc5LDcgQEAKIAogICAvKiBUaGUgZmlyc3QgdGltZSB0aHJvdWdoLCB3ZSBnZW5lcmF0ZSB0aGUgbGlzdCBvZiBtYXRjaGVzIGFuZCBzZXQgdGhpbmdzCiAgICAgIHVwIHRvIGluc2VydCB0aGVtLiAqLwotICBpZiAocmxfbGFzdF9mdW5jICE9IHJsX21lbnVfY29tcGxldGUgfHwgZnVsbF9jb21wbGV0aW9uKQorICBpZiAoKHJsX2xhc3RfZnVuYyAhPSBybF9tZW51X2NvbXBsZXRlICYmIHJsX2xhc3RfZnVuYyAhPSBybF9iYWNrd2FyZF9tZW51X2NvbXBsZXRlKSB8fCBmdWxsX2NvbXBsZXRpb24pCiAgICAgewogICAgICAgLyogQ2xlYW4gdXAgZnJvbSBwcmV2aW91cyBjYWxsLCBpZiBhbnkuICovCiAgICAgICBGUkVFIChvcmlnX3RleHQpOwpAQCAtMjQ3MCwzICsyNTE5LDEyIEBACiAgIGNvbXBsZXRpb25fY2hhbmdlZF9idWZmZXIgPSAxOwogICByZXR1cm4gKDApOwogfQorCitpbnQKK3JsX2JhY2t3YXJkX21lbnVfY29tcGxldGUgKGNvdW50LCBrZXkpCisgICAgIGludCBjb3VudCwga2V5OworeworICAvKiBQb3NpdGl2ZSBhcmd1bWVudHMgdG8gYmFja3dhcmQtbWVudS1jb21wbGV0ZSB0cmFuc2xhdGUgaW50byBuZWdhdGl2ZQorICAgICBhcmd1bWVudHMgZm9yIG1lbnUtY29tcGxldGUsIGFuZCB2aWNlIHZlcnNhLiAqLworICByZXR1cm4gKHJsX21lbnVfY29tcGxldGUgKC1jb3VudCwga2V5KSk7Cit9CmRpZmYgLS1naXQgYS9saWIvcmVhZGxpbmUvZGlzcGxheS5jIGIvbGliL3JlYWRsaW5lL2Rpc3BsYXkuYwppbmRleCBjNThkNGY3Li5lNDEwNWVlIDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvZGlzcGxheS5jCisrKyBiL2xpYi9yZWFkbGluZS9kaXNwbGF5LmMKQEAgLTk0LDkgKzk0LDkgQEAKICNkZWZpbmUgaW52aXNpYmxlX2xpbmUJKGxpbmVfc3RhdGVfaW52aXNpYmxlLT5saW5lKQogCiAjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkKLXN0YXRpYyBpbnQgX3JsX2NvbF93aWR0aCBQQVJBTVMoKGNvbnN0IGNoYXIgKiwgaW50LCBpbnQpKTsKK3N0YXRpYyBpbnQgX3JsX2NvbF93aWR0aCBQQVJBTVMoKGNvbnN0IGNoYXIgKiwgaW50LCBpbnQsIGludCkpOwogI2Vsc2UKLSMgIGRlZmluZSBfcmxfY29sX3dpZHRoKGwsIHMsIGUpCSgoKGUpIDw9IChzKSkgPyAwIDogKGUpIC0gKHMpKQorIyAgZGVmaW5lIF9ybF9jb2xfd2lkdGgobCwgcywgZSwgZikJKCgoZSkgPD0gKHMpKSA/IDAgOiAoZSkgLSAocykpCiAjZW5kaWYKIAogLyogSGV1cmlzdGljIHVzZWQgdG8gZGVjaWRlIHdoZXRoZXIgaXQgaXMgZmFzdGVyIHRvIG1vdmUgZnJvbSBDVVIgdG8gTkVXCkBAIC0zMTIsNyArMzEyLDcgQEAKIAkJICAgICBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIG51bWJlciBvZiBwaHlzaWNhbCBjaGFyYWN0ZXJzCiAJCSAgICAgb24gdGhlIHNjcmVlbiBpbiB0aGUgcHJlc2VuY2Ugb2YgbXVsdGlieXRlIGNoYXJhY3RlcnMgKi8KIAkJICBybCArPSBpbmQgLSBwaW5kOwotCQkgIHBoeXNjaGFycyArPSBfcmxfY29sX3dpZHRoIChwbXQsIHBpbmQsIGluZCk7CisJCSAgcGh5c2NoYXJzICs9IF9ybF9jb2xfd2lkdGggKHBtdCwgcGluZCwgaW5kLCAwKTsKIAkJfQogCSAgICAgIGVsc2UKIAkJbmludmlzICs9IGluZCAtIHBpbmQ7CkBAIC02ODgsNyArNjg4LDcgQEAKICAgICAgICAgICB0ZW1wID0gbG9jYWxfcHJvbXB0X2xlbjsKICAgICAgICAgICB3aGlsZSAobnVtIDwgdGVtcCkKIAkgICAgewotCSAgICAgIHogPSBfcmxfY29sX3dpZHRoICAobG9jYWxfcHJvbXB0LCBuMCwgbnVtKTsKKwkgICAgICB6ID0gX3JsX2NvbF93aWR0aCAgKGxvY2FsX3Byb21wdCwgbjAsIG51bSwgMSk7CiAJICAgICAgaWYgKHogPiBfcmxfc2NyZWVud2lkdGgpCiAJCXsKIAkgICAgICAgICAgbnVtID0gX3JsX2ZpbmRfcHJldl9tYmNoYXIgKGxvY2FsX3Byb21wdCwgbnVtLCBNQl9GSU5EX0FOWSk7CkBAIC03MTQsNyArNzE0LDcgQEAKICAgICAgIGludl9sYnJlYWtzWysrbmV3bGluZXNdID0gdGVtcDsKICNpZiBkZWZpbmVkIChIQU5ETEVfTVVMVElCWVRFKQogICAgICAgaWYgKE1CX0NVUl9NQVggPiAxICYmIHJsX2J5dGVfb3JpZW50ZWQgPT0gMCAmJiBwcm9tcHRfbXVsdGlieXRlX2NoYXJzID4gMCkKLQlscG9zIC09IF9ybF9jb2xfd2lkdGggKGxvY2FsX3Byb21wdCwgbjAsIG51bSk7CisJbHBvcyAtPSBfcmxfY29sX3dpZHRoIChsb2NhbF9wcm9tcHQsIG4wLCBudW0sIDEpOwogICAgICAgZWxzZQogI2VuZGlmCiAJbHBvcyAtPSBfcmxfc2NyZWVud2lkdGg7CkBAIC03MzMsNiArNzMzLDcgQEAKICAgaWYgKE1CX0NVUl9NQVggPiAxICYmIHJsX2J5dGVfb3JpZW50ZWQgPT0gMCkKICAgICB7CiAgICAgICBtZW1zZXQgKCZwcywgMCwgc2l6ZW9mIChtYnN0YXRlX3QpKTsKKyAgICAgIC8qIFhYWCAtIHdoYXQgaWYgd2NfYnl0ZXMgZW5kcyB1cCA8PSAwPyBjaGVjayBmb3IgTUJfSU5WQUxJRENIICovCiAgICAgICB3Y19ieXRlcyA9IG1icnRvd2MgKCZ3YywgcmxfbGluZV9idWZmZXIsIHJsX2VuZCwgJnBzKTsKICAgICB9CiAgIGVsc2UKQEAgLTg5Myw2ICs4OTQsNyBAQAogICAgICAgaWYgKE1CX0NVUl9NQVggPiAxICYmIHJsX2J5dGVfb3JpZW50ZWQgPT0gMCkKIAl7CiAJICBpbiArPSB3Y19ieXRlczsKKwkgIC8qIFhYWCAtIHdoYXQgaWYgd2NfYnl0ZXMgZW5kcyB1cCA8PSAwPyBjaGVjayBmb3IgTUJfSU5WQUxJRENIICovCiAJICB3Y19ieXRlcyA9IG1icnRvd2MgKCZ3YywgcmxfbGluZV9idWZmZXIgKyBpbiwgcmxfZW5kIC0gaW4sICZwcyk7CiAJfQogICAgICAgZWxzZQpAQCAtOTU4LDYgKzk2MCwxMSBAQAogI2RlZmluZSBWSVNfTElORShsaW5lKSAoKGxpbmUpID4gX3JsX3Zpc19ib3RsaW4pID8gIiIgOiBWSVNfQ0hBUlMobGluZSkKICNkZWZpbmUgSU5WX0xJTkUobGluZSkgKGludmlzaWJsZV9saW5lICsgaW52X2xicmVha3NbbGluZV0pCiAKKyNkZWZpbmUgT0xEX0NQT1NfSU5fUFJPTVBUKCkgKGNwb3NfYWRqdXN0ZWQgPT0gMCAmJiBcCisJCQlfcmxfbGFzdF9jX3BvcyAhPSBvX2Nwb3MgJiYgXAorCQkJX3JsX2xhc3RfY19wb3MgPiB3cmFwX29mZnNldCAmJiBcCisJCQlvX2Nwb3MgPCBwcm9tcHRfbGFzdF9pbnZpc2libGUpCisKIAkgIC8qIEZvciBlYWNoIGxpbmUgaW4gdGhlIGJ1ZmZlciwgZG8gdGhlIHVwZGF0aW5nIGRpc3BsYXkuICovCiAJICBmb3IgKGxpbmVudW0gPSAwOyBsaW5lbnVtIDw9IGludl9ib3RsaW47IGxpbmVudW0rKykKIAkgICAgewpAQCAtOTgwLDExICs5ODcsNyBAQAogCQkgdGltZSB1cGRhdGVfbGluZSBpcyBjYWxsZWQsIHRoZW4gd2UgY2FuIGFzc3VtZSBpbiBvdXIKIAkJIGNhbGN1bGF0aW9ucyB0aGF0IG9fY3BvcyBkb2VzIG5vdCBuZWVkIHRvIGJlIGFkanVzdGVkIGJ5CiAJCSB3cmFwX29mZnNldC4gKi8KLQkgICAgICBpZiAobGluZW51bSA9PSAwICYmIChNQl9DVVJfTUFYID4gMSAmJiBybF9ieXRlX29yaWVudGVkID09IDApICYmCi0JCSAgY3Bvc19hZGp1c3RlZCA9PSAwICYmCi0JCSAgX3JsX2xhc3RfY19wb3MgIT0gb19jcG9zICYmCi0JCSAgX3JsX2xhc3RfY19wb3MgPiB3cmFwX29mZnNldCAmJgotCQkgIG9fY3BvcyA8IHByb21wdF9sYXN0X2ludmlzaWJsZSkKKwkgICAgICBpZiAobGluZW51bSA9PSAwICYmIChNQl9DVVJfTUFYID4gMSAmJiBybF9ieXRlX29yaWVudGVkID09IDApICYmIE9MRF9DUE9TX0lOX1BST01QVCgpKQogCQlfcmxfbGFzdF9jX3BvcyAtPSBwcm9tcHRfaW52aXNfY2hhcnNfZmlyc3RfbGluZTsJLyogWFhYIC0gd2FzIHdyYXBfb2Zmc2V0ICovCiAJICAgICAgZWxzZSBpZiAobGluZW51bSA9PSBwcm9tcHRfbGFzdF9zY3JlZW5fbGluZSAmJiBwcm9tcHRfcGh5c2ljYWxfY2hhcnMgPiBfcmxfc2NyZWVud2lkdGggJiYKIAkJCShNQl9DVVJfTUFYID4gMSAmJiBybF9ieXRlX29yaWVudGVkID09IDApICYmCkBAIC0xMDg0LDcgKzEwODcsNyBAQAogCiAJICAgICAgX3JsX291dHB1dF9zb21lX2NoYXJzIChsb2NhbF9wcm9tcHQsIG5sZWZ0KTsKIAkgICAgICBpZiAoTUJfQ1VSX01BWCA+IDEgJiYgcmxfYnl0ZV9vcmllbnRlZCA9PSAwKQotCQlfcmxfbGFzdF9jX3BvcyA9IF9ybF9jb2xfd2lkdGggKGxvY2FsX3Byb21wdCwgMCwgbmxlZnQpIC0gd3JhcF9vZmZzZXQgKyBtb2RtYXJrOworCQlfcmxfbGFzdF9jX3BvcyA9IF9ybF9jb2xfd2lkdGggKGxvY2FsX3Byb21wdCwgMCwgbmxlZnQsIDEpIC0gd3JhcF9vZmZzZXQgKyBtb2RtYXJrOwogCSAgICAgIGVsc2UKIAkJX3JsX2xhc3RfY19wb3MgPSBubGVmdCArIG1vZG1hcms7CiAJICAgIH0KQEAgLTExMDgsNyArMTExMSw3IEBACiAJICAgIHsKIAkgICAgICAvKiBUWCA9PSBuZXcgcGh5c2ljYWwgY3Vyc29yIHBvc2l0aW9uIGluIG11bHRpYnl0ZSBsb2NhbGUuICovCiAJICAgICAgaWYgKE1CX0NVUl9NQVggPiAxICYmIHJsX2J5dGVfb3JpZW50ZWQgPT0gMCkKLQkJdHggPSBfcmxfY29sX3dpZHRoICgmdmlzaWJsZV9saW5lW3Bvc10sIDAsIG5sZWZ0KSAtIHZpc2libGVfd3JhcF9vZmZzZXQ7CisJCXR4ID0gX3JsX2NvbF93aWR0aCAoJnZpc2libGVfbGluZVtwb3NdLCAwLCBubGVmdCwgMSkgLSB2aXNpYmxlX3dyYXBfb2Zmc2V0OwogCSAgICAgIGVsc2UKIAkJdHggPSBubGVmdDsKIAkgICAgICBpZiAodHggPj0gMCAmJiBfcmxfbGFzdF9jX3BvcyA+IHR4KQpAQCAtMTIwMSwxMiArMTIwNCw4IEBACiAJCSAgICAgICBfcmxfc2NyZWVud2lkdGggKyAobG1hcmdpbiA/IDAgOiB3cmFwX29mZnNldCksCiAJCSAgICAgICAwKTsKIAotCSAgaWYgKChNQl9DVVJfTUFYID4gMSAmJiBybF9ieXRlX29yaWVudGVkID09IDApICYmCi0JICAgICAgY3Bvc19hZGp1c3RlZCA9PSAwICYmCi0JICAgICAgX3JsX2xhc3RfY19wb3MgIT0gb19jcG9zICYmCi0JICAgICAgX3JsX2xhc3RfY19wb3MgPiB3cmFwX29mZnNldCAmJgotCSAgICAgIG9fY3BvcyA8IHByb21wdF9sYXN0X2ludmlzaWJsZSkKLQkJX3JsX2xhc3RfY19wb3MgLT0gcHJvbXB0X2ludmlzX2NoYXJzX2ZpcnN0X2xpbmU7CS8qIFhYWCAtIHdhcyB3cmFwX29mZnNldCAqLworCSAgaWYgKChNQl9DVVJfTUFYID4gMSAmJiBybF9ieXRlX29yaWVudGVkID09IDApICYmIE9MRF9DUE9TX0lOX1BST01QVCgpKQorCSAgICBfcmxfbGFzdF9jX3BvcyAtPSBwcm9tcHRfaW52aXNfY2hhcnNfZmlyc3RfbGluZTsJLyogWFhYIC0gd2FzIHdyYXBfb2Zmc2V0ICovCiAKIAkgIC8qIElmIHRoZSB2aXNpYmxlIG5ldyBsaW5lIGlzIHNob3J0ZXIgdGhhbiB0aGUgb2xkLCBidXQgdGhlIG51bWJlcgogCSAgICAgb2YgaW52aXNpYmxlIGNoYXJhY3RlcnMgaXMgZ3JlYXRlciwgYW5kIHdlIGFyZSBhdCB0aGUgZW5kIG9mCkBAIC0xMzIwLDcgKzEzMTksNyBAQAogCiAJICBpZiAodGVtcHdpZHRoID4gMCkKIAkgICAgewotCSAgICAgIGludCBjb3VudDsKKwkgICAgICBpbnQgY291bnQsIGk7CiAJICAgICAgYnl0ZXMgPSByZXQ7CiAJICAgICAgZm9yIChjb3VudCA9IDA7IGNvdW50IDwgYnl0ZXM7IGNvdW50KyspCiAJCXB1dGMgKG5ld1tjb3VudF0sIHJsX291dHN0cmVhbSk7CkBAIC0xMzMxLDEwICsxMzMwLDEzIEBACiAJICAgICAgaWYgKHJldCAhPSAwICYmIGJ5dGVzICE9IDApCiAJCXsKIAkJICBpZiAoTUJfSU5WQUxJRENIIChyZXQpKQotCQkgICAgbWVtbW92ZSAob2xkK2J5dGVzLCBvbGQrMSwgc3RybGVuIChvbGQrMSkpOwotCQkgIGVsc2UKLQkJICAgIG1lbW1vdmUgKG9sZCtieXRlcywgb2xkK3JldCwgc3RybGVuIChvbGQrcmV0KSk7CisJCSAgICByZXQgPSAxOworCQkgIG1lbW1vdmUgKG9sZCtieXRlcywgb2xkK3JldCwgc3RybGVuIChvbGQrcmV0KSk7CiAJCSAgbWVtY3B5IChvbGQsIG5ldywgYnl0ZXMpOworCQkgIC8qIEZpeCB1cCBpbmRpY2VzIGlmIHdlIGNvcHkgZGF0YSBmcm9tIG9uZSBsaW5lIHRvIGFub3RoZXIgKi8KKwkJICBvbWF4ICs9IGJ5dGVzIC0gcmV0OworCQkgIGZvciAoaSA9IGN1cnJlbnRfbGluZSsxOyBpIDwgaW52X2JvdGxpbisxOyBpKyspCisJCSAgICB2aXNfbGJyZWFrc1tpXSArPSBieXRlcyAtIHJldDsKIAkJfQogCSAgICB9CiAJICBlbHNlCkBAIC0xNTI4LDcgKzE1MzAsNyBAQAogCXsKIAkgIC8qIFdlIHRha2Ugd3JhcF9vZmZzZXQgaW50byBhY2NvdW50IGhlcmUgc28gd2UgY2FuIHBhc3MgY29ycmVjdAogCSAgICAgaW5mb3JtYXRpb24gdG8gX3JsX21vdmVfY3Vyc29yX3JlbGF0aXZlLiAqLwotCSAgX3JsX2xhc3RfY19wb3MgPSBfcmxfY29sX3dpZHRoIChsb2NhbF9wcm9tcHQsIDAsIGxlbmRpZmYpIC0gd3JhcF9vZmZzZXQgKyBtb2RtYXJrOworCSAgX3JsX2xhc3RfY19wb3MgPSBfcmxfY29sX3dpZHRoIChsb2NhbF9wcm9tcHQsIDAsIGxlbmRpZmYsIDEpIC0gd3JhcF9vZmZzZXQgKyBtb2RtYXJrOwogCSAgY3Bvc19hZGp1c3RlZCA9IDE7CiAJfQogICAgICAgZWxzZQpAQCAtMTU1OSw3ICsxNTYxLDcgQEAKICAgICAgV2hlbiBub3QgdXNpbmcgbXVsdGlieXRlIGNoYXJhY3RlcnMsIHRoZXNlIGFyZSBlcXVhbCAqLwogICBsZW5kaWZmID0gKG5scyAtIG5mZCkgLSAob2xzIC0gb2ZkKTsKICAgaWYgKE1CX0NVUl9NQVggPiAxICYmIHJsX2J5dGVfb3JpZW50ZWQgPT0gMCkKLSAgICBjb2xfbGVuZGlmZiA9IF9ybF9jb2xfd2lkdGggKG5ldywgbmZkIC0gbmV3LCBubHMgLSBuZXcpIC0gX3JsX2NvbF93aWR0aCAob2xkLCBvZmQgLSBvbGQsIG9scyAtIG9sZCk7CisgICAgY29sX2xlbmRpZmYgPSBfcmxfY29sX3dpZHRoIChuZXcsIG5mZCAtIG5ldywgbmxzIC0gbmV3LCAxKSAtIF9ybF9jb2xfd2lkdGggKG9sZCwgb2ZkIC0gb2xkLCBvbHMgLSBvbGQsIDEpOwogICBlbHNlCiAgICAgY29sX2xlbmRpZmYgPSBsZW5kaWZmOwogCkBAIC0xNTg0LDcgKzE1ODYsNyBAQAogICAvKiBJbnNlcnQgKGRpZmYgKGxlbiAob2xkKSwgbGVuIChuZXcpKSBjaC4gKi8KICAgdGVtcCA9IG5lIC0gbmZkOwogICBpZiAoTUJfQ1VSX01BWCA+IDEgJiYgcmxfYnl0ZV9vcmllbnRlZCA9PSAwKQotICAgIGNvbF90ZW1wID0gX3JsX2NvbF93aWR0aCAobmV3LCBuZmQgLSBuZXcsIG5lIC0gbmV3KTsKKyAgICBjb2xfdGVtcCA9IF9ybF9jb2xfd2lkdGggKG5ldywgbmZkIC0gbmV3LCBuZSAtIG5ldywgMSk7CiAgIGVsc2UKICAgICBjb2xfdGVtcCA9IHRlbXA7CiAKQEAgLTE2MDEsNyArMTYwMyw3IEBACiAgICAgICBpZiAobGVuZGlmZiA8IDApCiAJewogCSAgX3JsX291dHB1dF9zb21lX2NoYXJzIChuZmQsIHRlbXApOwotCSAgX3JsX2xhc3RfY19wb3MgKz0gX3JsX2NvbF93aWR0aCAobmZkLCAwLCB0ZW1wKTsKKwkgIF9ybF9sYXN0X2NfcG9zICs9IF9ybF9jb2xfd2lkdGggKG5mZCwgMCwgdGVtcCwgMSk7CiAJICAvKiBJZiBuZmQgYmVnaW5zIGJlZm9yZSBhbnkgaW52aXNpYmxlIGNoYXJhY3RlcnMgaW4gdGhlIHByb21wdCwKIAkgICAgIGFkanVzdCBfcmxfbGFzdF9jX3BvcyB0byBhY2NvdW50IGZvciB3cmFwX29mZnNldCBhbmQgc2V0CiAJICAgICBjcG9zX2FkanVzdGVkIHRvIGxldCB0aGUgY2FsbGVyIGtub3cuICovCkBAIC0xNjc5LDcgKzE2ODEsNyBAQAogCQltdWx0aWJ5dGUgY2hhcmFjdGVycyBhbmQgcHJvbXB0IHN0cmluZ3Mgd2l0aCBpbnZpc2libGUKIAkJY2hhcmFjdGVycywgYnV0IHdhcyBwcmV2aW91c2x5IGRpc2FibGVkLiAqLwogCSAgICAgIGlmIChNQl9DVVJfTUFYID4gMSAmJiBybF9ieXRlX29yaWVudGVkID09IDApCi0JCXR3aWR0aCA9IF9ybF9jb2xfd2lkdGggKG5mZCtsZW5kaWZmLCAwLCB0ZW1wLWNvbF9sZW5kaWZmKTsKKwkJdHdpZHRoID0gX3JsX2NvbF93aWR0aCAobmZkK2xlbmRpZmYsIDAsIHRlbXAtY29sX2xlbmRpZmYsIDEpOwogCSAgICAgIGVsc2UKIAkJdHdpZHRoID0gdGVtcCAtIGxlbmRpZmY7CiAJICAgICAgX3JsX2xhc3RfY19wb3MgKz0gdHdpZHRoOwpAQCAtMTczOCw3ICsxNzQwLDcgQEAKIAkgICAgICBfcmxfb3V0cHV0X3NvbWVfY2hhcnMgKG5mZCwgdGVtcCk7CiAJICAgICAgaWYgKE1CX0NVUl9NQVggPiAxICYmIHJsX2J5dGVfb3JpZW50ZWQgPT0gMCkKIAkJewotCQkgIF9ybF9sYXN0X2NfcG9zICs9IF9ybF9jb2xfd2lkdGggKG5mZCwgMCwgdGVtcCk7CisJCSAgX3JsX2xhc3RfY19wb3MgKz0gX3JsX2NvbF93aWR0aCAobmZkLCAwLCB0ZW1wLCAxKTsKIAkJICBpZiAoY3VycmVudF9saW5lID09IDAgJiYgd3JhcF9vZmZzZXQgJiYgICgobmZkIC0gbmV3KSA8PSBwcm9tcHRfbGFzdF9pbnZpc2libGUpKQogCQkgICAgewogCQkgICAgICBfcmxfbGFzdF9jX3BvcyAtPSB3cmFwX29mZnNldDsKQEAgLTE3NzEsNyArMTc3Myw3IEBACiAJICAgIH0KIAkgIGxlbmRpZmYgPSAob2UgLSBvbGQpIC0gKG5lIC0gbmV3KTsKIAkgIGlmIChNQl9DVVJfTUFYID4gMSAmJiBybF9ieXRlX29yaWVudGVkID09IDApCi0JICAgIGNvbF9sZW5kaWZmID0gX3JsX2NvbF93aWR0aCAob2xkLCAwLCBvZSAtIG9sZCkgLSBfcmxfY29sX3dpZHRoIChuZXcsIDAsIG5lIC0gbmV3KTsKKwkgICAgY29sX2xlbmRpZmYgPSBfcmxfY29sX3dpZHRoIChvbGQsIDAsIG9lIC0gb2xkLCAxKSAtIF9ybF9jb2xfd2lkdGggKG5ldywgMCwgbmUgLSBuZXcsIDEpOwogCSAgZWxzZQogCSAgICBjb2xfbGVuZGlmZiA9IGxlbmRpZmY7CiAKQEAgLTE4MzgsNyArMTg0MCw3IEBACiAKICAgbCA9IHN0cmxlbiAocHJvbXB0X2xhc3RfbGluZSk7CiAgIGlmIChNQl9DVVJfTUFYID4gMSAmJiBybF9ieXRlX29yaWVudGVkID09IDApCi0gICAgX3JsX2xhc3RfY19wb3MgPSBfcmxfY29sX3dpZHRoIChwcm9tcHRfbGFzdF9saW5lLCAwLCBsKTsJLyogWFhYICovCisgICAgX3JsX2xhc3RfY19wb3MgPSBfcmxfY29sX3dpZHRoIChwcm9tcHRfbGFzdF9saW5lLCAwLCBsLCAxKTsJLyogWFhYICovCiAgIGVsc2UKICAgICBfcmxfbGFzdF9jX3BvcyA9IGw7CiAKQEAgLTE5MDAsNiArMTkwMiw3IEBACiAgIHJlZ2lzdGVyIGludCBpOwogICBpbnQgd29mZjsJCQkvKiBudW1iZXIgb2YgaW52aXNpYmxlIGNoYXJzIG9uIGN1cnJlbnQgbGluZSAqLwogICBpbnQgY3BvcywgZHBvczsJCS8qIGN1cnJlbnQgYW5kIGRlc2lyZWQgY3Vyc29yIHBvc2l0aW9ucyAqLworICBpbnQgYWRqdXN0OwogCiAgIHdvZmYgPSBXUkFQX09GRlNFVCAoX3JsX2xhc3Rfdl9wb3MsIHdyYXBfb2Zmc2V0KTsKICAgY3BvcyA9IF9ybF9sYXN0X2NfcG9zOwpAQCAtMTkxNSwxNSArMTkxOCwzNCBAQAogICAgICBhcyBsb25nIGFzIHdlIGFyZSBwYXN0IHRoZW0gYW5kIHRoZXkgYXJlIGNvdW50ZWQgYnkgX3JsX2NvbF93aWR0aC4gKi8KICAgaWYgKE1CX0NVUl9NQVggPiAxICYmIHJsX2J5dGVfb3JpZW50ZWQgPT0gMCkKICAgICB7Ci0gICAgICBkcG9zID0gX3JsX2NvbF93aWR0aCAoZGF0YSwgMCwgbmV3KTsKKyAgICAgIGFkanVzdCA9IDE7CisgICAgICAvKiBUcnkgdG8gc2hvcnQtY2lyY3VpdCBjb21tb24gY2FzZXMgYW5kIGVsaW1pbmF0ZSBhIGJ1bmNoIG9mIG11bHRpYnl0ZQorCSBjaGFyYWN0ZXIgZnVuY3Rpb24gY2FsbHMuICovCisgICAgICAvKiAxLiAgcHJvbXB0IHN0cmluZyAqLworICAgICAgaWYgKG5ldyA9PSBsb2NhbF9wcm9tcHRfbGVuICYmIG1lbWNtcCAoZGF0YSwgbG9jYWxfcHJvbXB0LCBuZXcpID09IDApCisJeworCSAgZHBvcyA9IHByb21wdF9waHlzaWNhbF9jaGFyczsKKwkgIGNwb3NfYWRqdXN0ZWQgPSAxOworCSAgYWRqdXN0ID0gMDsKKwl9CisgICAgICAvKiAyLiAgcHJvbXB0X3N0cmluZyArIGxpbmUgY29udGVudHMgKi8KKyAgICAgIGVsc2UgaWYgKG5ldyA+IGxvY2FsX3Byb21wdF9sZW4gJiYgbG9jYWxfcHJvbXB0ICYmIG1lbWNtcCAoZGF0YSwgbG9jYWxfcHJvbXB0LCBsb2NhbF9wcm9tcHRfbGVuKSA9PSAwKQorCXsKKwkgIGRwb3MgPSBwcm9tcHRfcGh5c2ljYWxfY2hhcnMgKyBfcmxfY29sX3dpZHRoIChkYXRhLCBsb2NhbF9wcm9tcHRfbGVuLCBuZXcsIDEpOworCSAgY3Bvc19hZGp1c3RlZCA9IDE7CisJICBhZGp1c3QgPSAwOworCX0KKyAgICAgIGVsc2UKKyAgICAgICAgZHBvcyA9IF9ybF9jb2xfd2lkdGggKGRhdGEsIDAsIG5ldywgMSk7CisKICAgICAgIC8qIFVzZSBORVcgd2hlbiBjb21wYXJpbmcgYWdhaW5zdCB0aGUgbGFzdCBpbnZpc2libGUgY2hhcmFjdGVyIGluIHRoZQogCSBwcm9tcHQgc3RyaW5nLCBzaW5jZSB0aGV5J3JlIGJvdGggYnVmZmVyIGluZGljZXMgYW5kIERQT1MgaXMgYQogCSBkZXNpcmVkIGRpc3BsYXkgcG9zaXRpb24uICovCi0gICAgICBpZiAoKG5ldyA+IHByb21wdF9sYXN0X2ludmlzaWJsZSkgfHwJCS8qIFhYWCAtIGRvbid0IHVzZSB3b2ZmIGhlcmUgKi8KKyAgICAgIGlmIChhZGp1c3QgJiYgKChuZXcgPiBwcm9tcHRfbGFzdF9pbnZpc2libGUpIHx8CQkvKiBYWFggLSBkb24ndCB1c2Ugd29mZiBoZXJlICovCiAJICAocHJvbXB0X3BoeXNpY2FsX2NoYXJzID49IF9ybF9zY3JlZW53aWR0aCAmJgogCSAgIF9ybF9sYXN0X3ZfcG9zID09IHByb21wdF9sYXN0X3NjcmVlbl9saW5lICYmCiAJICAgd3JhcF9vZmZzZXQgPj0gd29mZiAmJiBkcG9zID49IHdvZmYgJiYKLQkgICBuZXcgPiAocHJvbXB0X2xhc3RfaW52aXNpYmxlLShfcmxfc2NyZWVud2lkdGgqX3JsX2xhc3Rfdl9wb3MpLXdyYXBfb2Zmc2V0KSkpCisJICAgbmV3ID4gKHByb21wdF9sYXN0X2ludmlzaWJsZS0oX3JsX3NjcmVlbndpZHRoKl9ybF9sYXN0X3ZfcG9zKS13cmFwX29mZnNldCkpKSkKIAkgICAvKiBYWFggbGFzdCBjb21wYXJpc29uIG1pZ2h0IG5lZWQgdG8gYmUgPj0gKi8KIAl7CiAJICBkcG9zIC09IHdvZmY7CkBAIC0yNTY2LDkgKzI1ODgsOSBAQAogICAgSW4gdGhlIGNhc2Ugb2YgbXVsdGlieXRlIGNoYXJhY3RlcnMgd2l0aCBzdGF0ZWZ1bCBlbmNvZGluZywgd2UgaGF2ZSB0bwogICAgc2NhbiBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0cmluZyB0byB0YWtlIHRoZSBzdGF0ZSBpbnRvIGFjY291bnQuICovCiBzdGF0aWMgaW50Ci1fcmxfY29sX3dpZHRoIChzdHIsIHN0YXJ0LCBlbmQpCitfcmxfY29sX3dpZHRoIChzdHIsIHN0YXJ0LCBlbmQsIGZsYWdzKQogICAgICBjb25zdCBjaGFyICpzdHI7Ci0gICAgIGludCBzdGFydCwgZW5kOworICAgICBpbnQgc3RhcnQsIGVuZCwgZmxhZ3M7CiB7CiAgIHdjaGFyX3Qgd2M7CiAgIG1ic3RhdGVfdCBwczsKQEAgLTI1ODcsNiArMjYwOSwyMCBAQAogICBwb2ludCA9IDA7CiAgIG1heCA9IGVuZDsKIAorICAvKiBUcnkgdG8gc2hvcnQtY2lyY3VpdCBjb21tb24gY2FzZXMuICBUaGUgYWRqdXN0bWVudCB0byByZW1vdmUgd3JhcF9vZmZzZXQKKyAgICAgaXMgZG9uZSBieSB0aGUgY2FsbGVyLiAqLworICAvKiAxLiAgcHJvbXB0IHN0cmluZyAqLworICBpZiAoZmxhZ3MgJiYgc3RhcnQgPT0gMCAmJiBlbmQgPT0gbG9jYWxfcHJvbXB0X2xlbiAmJiBtZW1jbXAgKHN0ciwgbG9jYWxfcHJvbXB0LCBsb2NhbF9wcm9tcHRfbGVuKSA9PSAwKQorICAgIHJldHVybiAocHJvbXB0X3BoeXNpY2FsX2NoYXJzICsgd3JhcF9vZmZzZXQpOworICAvKiAyLiAgcHJvbXB0IHN0cmluZyArIGxpbmUgY29udGVudHMgKi8KKyAgZWxzZSBpZiAoZmxhZ3MgJiYgc3RhcnQgPT0gMCAmJiBsb2NhbF9wcm9tcHRfbGVuID4gMCAmJiBlbmQgPiBsb2NhbF9wcm9tcHRfbGVuICYmIGxvY2FsX3Byb21wdCAmJiBtZW1jbXAgKHN0ciwgbG9jYWxfcHJvbXB0LCBsb2NhbF9wcm9tcHRfbGVuKSA9PSAwKQorICAgIHsKKyAgICAgIHRtcCA9IHByb21wdF9waHlzaWNhbF9jaGFycyArIHdyYXBfb2Zmc2V0OworICAgICAgLyogWFhYIC0gdHJ5IHRvIGNhbGwgb3Vyc2VsdmVzIHJlY3Vyc2l2ZWx5IHdpdGggbm9uLXByb21wdCBwb3J0aW9uICovCisgICAgICB0bXAgKz0gX3JsX2NvbF93aWR0aCAoc3RyLCBsb2NhbF9wcm9tcHRfbGVuLCBlbmQsIGZsYWdzKTsKKyAgICAgIHJldHVybiAodG1wKTsKKyAgICB9CisKICAgd2hpbGUgKHBvaW50IDwgc3RhcnQpCiAgICAgewogICAgICAgdG1wID0gbWJybGVuIChzdHIgKyBwb2ludCwgbWF4LCAmcHMpOwpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL2RvYy9mZGwudGV4aSBiL2xpYi9yZWFkbGluZS9kb2MvZmRsLnRleGkKaW5kZXggOTZjZTc0ZS4uODgwNWYxYSAxMDA2NDQKLS0tIGEvbGliL3JlYWRsaW5lL2RvYy9mZGwudGV4aQorKysgYi9saWIvcmVhZGxpbmUvZG9jL2ZkbC50ZXhpCkBAIC0xLDEyICsxLDEyIEBACiBAYyBUaGUgR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlLgotQGNlbnRlciBWZXJzaW9uIDEuMiwgTm92ZW1iZXIgMjAwMgorQGNlbnRlciBWZXJzaW9uIDEuMywgMyBOb3ZlbWJlciAyMDA4CiAKIEBjIFRoaXMgZmlsZSBpcyBpbnRlbmRlZCB0byBiZSBpbmNsdWRlZCB3aXRoaW4gYW5vdGhlciBkb2N1bWVudCwKIEBjIGhlbmNlIG5vIHNlY3Rpb25pbmcgY29tbWFuZCBvciBAbm9kZS4KIAogQGRpc3BsYXkKLUNvcHlyaWdodCBAY29weXJpZ2h0e30gMjAwMCwyMDAxLDIwMDIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi01MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQQorQ29weXJpZ2h0IEBjb3B5cmlnaHR7fSAyMDAwLCAyMDAxLCAyMDAyLCAyMDA3LCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorQHVyZWZ7aHR0cDovL2ZzZi5vcmcvfQogCiBFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMKIG9mIHRoaXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLgpAQCAtMTExLDYgKzExMSw5IEBACiB0aGUgdGV4dCBuZWFyIHRoZSBtb3N0IHByb21pbmVudCBhcHBlYXJhbmNlIG9mIHRoZSB3b3JrJ3MgdGl0bGUsCiBwcmVjZWRpbmcgdGhlIGJlZ2lubmluZyBvZiB0aGUgYm9keSBvZiB0aGUgdGV4dC4KIAorVGhlIGBgcHVibGlzaGVyJycgbWVhbnMgYW55IHBlcnNvbiBvciBlbnRpdHkgdGhhdCBkaXN0cmlidXRlcyBjb3BpZXMKK29mIHRoZSBEb2N1bWVudCB0byB0aGUgcHVibGljLgorCiBBIHNlY3Rpb24gYGBFbnRpdGxlZCBYWVonJyBtZWFucyBhIG5hbWVkIHN1YnVuaXQgb2YgdGhlIERvY3VtZW50IHdob3NlCiB0aXRsZSBlaXRoZXIgaXMgcHJlY2lzZWx5IFhZWiBvciBjb250YWlucyBYWVogaW4gcGFyZW50aGVzZXMgZm9sbG93aW5nCiB0ZXh0IHRoYXQgdHJhbnNsYXRlcyBYWVogaW4gYW5vdGhlciBsYW5ndWFnZS4gIChIZXJlIFhZWiBzdGFuZHMgZm9yIGEKQEAgLTM3OSwxMyArMzgyLDMwIEBACiBAaXRlbQogVEVSTUlOQVRJT04KIAotWW91IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRlIHRoZSBEb2N1bWVudCBleGNlcHQKLWFzIGV4cHJlc3NseSBwcm92aWRlZCBmb3IgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IG90aGVyIGF0dGVtcHQgdG8KLWNvcHksIG1vZGlmeSwgc3VibGljZW5zZSBvciBkaXN0cmlidXRlIHRoZSBEb2N1bWVudCBpcyB2b2lkLCBhbmQgd2lsbAotYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlLiAgSG93ZXZlciwKLXBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzLCBvciByaWdodHMsIGZyb20geW91IHVuZGVyIHRoaXMKLUxpY2Vuc2Ugd2lsbCBub3QgaGF2ZSB0aGVpciBsaWNlbnNlcyB0ZXJtaW5hdGVkIHNvIGxvbmcgYXMgc3VjaAotcGFydGllcyByZW1haW4gaW4gZnVsbCBjb21wbGlhbmNlLgorWW91IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRlIHRoZSBEb2N1bWVudAorZXhjZXB0IGFzIGV4cHJlc3NseSBwcm92aWRlZCB1bmRlciB0aGlzIExpY2Vuc2UuICBBbnkgYXR0ZW1wdAorb3RoZXJ3aXNlIHRvIGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSwgb3IgZGlzdHJpYnV0ZSBpdCBpcyB2b2lkLCBhbmQKK3dpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlLgorCitIb3dldmVyLCBpZiB5b3UgY2Vhc2UgYWxsIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UsIHRoZW4geW91ciBsaWNlbnNlCitmcm9tIGEgcGFydGljdWxhciBjb3B5cmlnaHQgaG9sZGVyIGlzIHJlaW5zdGF0ZWQgKGEpIHByb3Zpc2lvbmFsbHksCit1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kIGZpbmFsbHkKK3Rlcm1pbmF0ZXMgeW91ciBsaWNlbnNlLCBhbmQgKGIpIHBlcm1hbmVudGx5LCBpZiB0aGUgY29weXJpZ2h0IGhvbGRlcgorZmFpbHMgdG8gbm90aWZ5IHlvdSBvZiB0aGUgdmlvbGF0aW9uIGJ5IHNvbWUgcmVhc29uYWJsZSBtZWFucyBwcmlvciB0bworNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgorCitNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKK3JlaW5zdGF0ZWQgcGVybWFuZW50bHkgaWYgdGhlIGNvcHlyaWdodCBob2xkZXIgbm90aWZpZXMgeW91IG9mIHRoZQordmlvbGF0aW9uIGJ5IHNvbWUgcmVhc29uYWJsZSBtZWFucywgdGhpcyBpcyB0aGUgZmlyc3QgdGltZSB5b3UgaGF2ZQorcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0Citjb3B5cmlnaHQgaG9sZGVyLCBhbmQgeW91IGN1cmUgdGhlIHZpb2xhdGlvbiBwcmlvciB0byAzMCBkYXlzIGFmdGVyCit5b3VyIHJlY2VpcHQgb2YgdGhlIG5vdGljZS4KKworVGVybWluYXRpb24gb2YgeW91ciByaWdodHMgdW5kZXIgdGhpcyBzZWN0aW9uIGRvZXMgbm90IHRlcm1pbmF0ZSB0aGUKK2xpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgordGhpcyBMaWNlbnNlLiAgSWYgeW91ciByaWdodHMgaGF2ZSBiZWVuIHRlcm1pbmF0ZWQgYW5kIG5vdCBwZXJtYW5lbnRseQorcmVpbnN0YXRlZCwgcmVjZWlwdCBvZiBhIGNvcHkgb2Ygc29tZSBvciBhbGwgb2YgdGhlIHNhbWUgbWF0ZXJpYWwgZG9lcworbm90IGdpdmUgeW91IGFueSByaWdodHMgdG8gdXNlIGl0LgogCiBAaXRlbQogRlVUVVJFIFJFVklTSU9OUyBPRiBUSElTIExJQ0VOU0UKQEAgLTQwMyw3ICs0MjMsNDIgQEAKIG9mIGFueSBsYXRlciB2ZXJzaW9uIHRoYXQgaGFzIGJlZW4gcHVibGlzaGVkIChub3QgYXMgYSBkcmFmdCkgYnkgdGhlCiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uICBJZiB0aGUgRG9jdW1lbnQgZG9lcyBub3Qgc3BlY2lmeSBhIHZlcnNpb24KIG51bWJlciBvZiB0aGlzIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIChub3QKLWFzIGEgZHJhZnQpIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCithcyBhIGRyYWZ0KSBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgSWYgdGhlIERvY3VtZW50CitzcGVjaWZpZXMgdGhhdCBhIHByb3h5IGNhbiBkZWNpZGUgd2hpY2ggZnV0dXJlIHZlcnNpb25zIG9mIHRoaXMKK0xpY2Vuc2UgY2FuIGJlIHVzZWQsIHRoYXQgcHJveHkncyBwdWJsaWMgc3RhdGVtZW50IG9mIGFjY2VwdGFuY2Ugb2YgYQordmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdSB0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUKK0RvY3VtZW50LgorCitAaXRlbQorUkVMSUNFTlNJTkcKKworYGBNYXNzaXZlIE11bHRpYXV0aG9yIENvbGxhYm9yYXRpb24gU2l0ZScnIChvciBgYE1NQyBTaXRlJycpIG1lYW5zIGFueQorV29ybGQgV2lkZSBXZWIgc2VydmVyIHRoYXQgcHVibGlzaGVzIGNvcHlyaWdodGFibGUgd29ya3MgYW5kIGFsc28KK3Byb3ZpZGVzIHByb21pbmVudCBmYWNpbGl0aWVzIGZvciBhbnlib2R5IHRvIGVkaXQgdGhvc2Ugd29ya3MuICBBCitwdWJsaWMgd2lraSB0aGF0IGFueWJvZHkgY2FuIGVkaXQgaXMgYW4gZXhhbXBsZSBvZiBzdWNoIGEgc2VydmVyLiAgQQorYGBNYXNzaXZlIE11bHRpYXV0aG9yIENvbGxhYm9yYXRpb24nJyAob3IgYGBNTUMnJykgY29udGFpbmVkIGluIHRoZQorc2l0ZSBtZWFucyBhbnkgc2V0IG9mIGNvcHlyaWdodGFibGUgd29ya3MgdGh1cyBwdWJsaXNoZWQgb24gdGhlIE1NQworc2l0ZS4KKworYGBDQy1CWS1TQScnIG1lYW5zIHRoZSBDcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uLVNoYXJlIEFsaWtlIDMuMAorbGljZW5zZSBwdWJsaXNoZWQgYnkgQ3JlYXRpdmUgQ29tbW9ucyBDb3Jwb3JhdGlvbiwgYSBub3QtZm9yLXByb2ZpdAorY29ycG9yYXRpb24gd2l0aCBhIHByaW5jaXBhbCBwbGFjZSBvZiBidXNpbmVzcyBpbiBTYW4gRnJhbmNpc2NvLAorQ2FsaWZvcm5pYSwgYXMgd2VsbCBhcyBmdXR1cmUgY29weWxlZnQgdmVyc2lvbnMgb2YgdGhhdCBsaWNlbnNlCitwdWJsaXNoZWQgYnkgdGhhdCBzYW1lIG9yZ2FuaXphdGlvbi4KKworYGBJbmNvcnBvcmF0ZScnIG1lYW5zIHRvIHB1Ymxpc2ggb3IgcmVwdWJsaXNoIGEgRG9jdW1lbnQsIGluIHdob2xlIG9yCitpbiBwYXJ0LCBhcyBwYXJ0IG9mIGFub3RoZXIgRG9jdW1lbnQuCisKK0FuIE1NQyBpcyBgYGVsaWdpYmxlIGZvciByZWxpY2Vuc2luZycnIGlmIGl0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoaXMKK0xpY2Vuc2UsIGFuZCBpZiBhbGwgd29ya3MgdGhhdCB3ZXJlIGZpcnN0IHB1Ymxpc2hlZCB1bmRlciB0aGlzIExpY2Vuc2UKK3NvbWV3aGVyZSBvdGhlciB0aGFuIHRoaXMgTU1DLCBhbmQgc3Vic2VxdWVudGx5IGluY29ycG9yYXRlZCBpbiB3aG9sZQorb3IgaW4gcGFydCBpbnRvIHRoZSBNTUMsICgxKSBoYWQgbm8gY292ZXIgdGV4dHMgb3IgaW52YXJpYW50IHNlY3Rpb25zLAorYW5kICgyKSB3ZXJlIHRodXMgaW5jb3Jwb3JhdGVkIHByaW9yIHRvIE5vdmVtYmVyIDEsIDIwMDguCisKK1RoZSBvcGVyYXRvciBvZiBhbiBNTUMgU2l0ZSBtYXkgcmVwdWJsaXNoIGFuIE1NQyBjb250YWluZWQgaW4gdGhlIHNpdGUKK3VuZGVyIENDLUJZLVNBIG9uIHRoZSBzYW1lIHNpdGUgYXQgYW55IHRpbWUgYmVmb3JlIEF1Z3VzdCAxLCAyMDA5LAorcHJvdmlkZWQgdGhlIE1NQyBpcyBlbGlnaWJsZSBmb3IgcmVsaWNlbnNpbmcuCisKIEBlbmQgZW51bWVyYXRlCiAKIEBwYWdlCkBAIC00MTcsNyArNDcyLDcgQEAKIEBncm91cAogICBDb3B5cmlnaHQgKEMpICBAdmFye3llYXJ9ICBAdmFye3lvdXIgbmFtZX0uCiAgIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBjb3B5LCBkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhpcyBkb2N1bWVudAotICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBGcmVlIERvY3VtZW50YXRpb24gTGljZW5zZSwgVmVyc2lvbiAxLjIKKyAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2UsIFZlcnNpb24gMS4zCiAgIG9yIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOwogICB3aXRoIG5vIEludmFyaWFudCBTZWN0aW9ucywgbm8gRnJvbnQtQ292ZXIgVGV4dHMsIGFuZCBubyBCYWNrLUNvdmVyCiAgIFRleHRzLiAgQSBjb3B5IG9mIHRoZSBsaWNlbnNlIGlzIGluY2x1ZGVkIGluIHRoZSBzZWN0aW9uIGVudGl0bGVkIGBgR05VCmRpZmYgLS1naXQgYS9saWIvcmVhZGxpbmUvZG9jL2hpc3RvcnkudGV4aSBiL2xpYi9yZWFkbGluZS9kb2MvaGlzdG9yeS50ZXhpCmluZGV4IDgxZWU4YjEuLmFmZGI5MDEgMTAwNjQ0Ci0tLSBhL2xpYi9yZWFkbGluZS9kb2MvaGlzdG9yeS50ZXhpCisrKyBiL2xpYi9yZWFkbGluZS9kb2MvaGlzdG9yeS50ZXhpCkBAIC0yMCw3ICsyMCw3IEBACiAKIEBxdW90YXRpb24KIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBjb3B5LCBkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhpcyBkb2N1bWVudAotdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2UsIFZlcnNpb24gMS4yIG9yCit1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBGcmVlIERvY3VtZW50YXRpb24gTGljZW5zZSwgVmVyc2lvbiAxLjMgb3IKIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB3aXRoIG5vCiBJbnZhcmlhbnQgU2VjdGlvbnMsIHdpdGggdGhlIEZyb250LUNvdmVyIHRleHRzIGJlaW5nIGBgQSBHTlUgTWFudWFsJycsCiBhbmQgd2l0aCB0aGUgQmFjay1Db3ZlciBUZXh0cyBhcyBpbiAoYSkgYmVsb3cuICBBIGNvcHkgb2YgdGhlIGxpY2Vuc2UgaXMKZGlmZiAtLWdpdCBhL2xpYi9yZWFkbGluZS9kb2MvcmxtYW4udGV4aSBiL2xpYi9yZWFkbGluZS9kb2MvcmxtYW4udGV4aQppbmRleCBmYTNkZDc3Li5iZTI0NzA5IDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvZG9jL3JsbWFuLnRleGkKKysrIGIvbGliL3JlYWRsaW5lL2RvYy9ybG1hbi50ZXhpCkBAIC0yMSw3ICsyMSw3IEBACiAKIEBxdW90YXRpb24KIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBjb3B5LCBkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhpcyBkb2N1bWVudAotdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2UsIFZlcnNpb24gMS4yIG9yCit1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBGcmVlIERvY3VtZW50YXRpb24gTGljZW5zZSwgVmVyc2lvbiAxLjMgb3IKIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB3aXRoIG5vCiBJbnZhcmlhbnQgU2VjdGlvbnMsIHdpdGggdGhlIEZyb250LUNvdmVyIHRleHRzIGJlaW5nIGBgQSBHTlUgTWFudWFsJycsCiBhbmQgd2l0aCB0aGUgQmFjay1Db3ZlciBUZXh0cyBhcyBpbiAoYSkgYmVsb3cuICBBIGNvcHkgb2YgdGhlIGxpY2Vuc2UgaXMKZGlmZiAtLWdpdCBhL2xpYi9yZWFkbGluZS9kb2Mvcmx0ZWNoLnRleGkgYi9saWIvcmVhZGxpbmUvZG9jL3JsdGVjaC50ZXhpCmluZGV4IGM5OGQzYjkuLjA0Yzg0ODkgMTAwNjQ0Ci0tLSBhL2xpYi9yZWFkbGluZS9kb2Mvcmx0ZWNoLnRleGkKKysrIGIvbGliL3JlYWRsaW5lL2RvYy9ybHRlY2gudGV4aQpAQCAtNjIyLDcgKzYyMiw3IEBACiBAZGVmdHlwZWZ1biBLZXltYXAgcmxfbWFrZV9iYXJlX2tleW1hcCAodm9pZCkKIFJldHVybnMgYSBuZXcsIGVtcHR5IGtleW1hcC4gIFRoZSBzcGFjZSBmb3IgdGhlIGtleW1hcCBpcyBhbGxvY2F0ZWQgd2l0aAogQGNvZGV7bWFsbG9jKCl9OyB0aGUgY2FsbGVyIHNob3VsZCBmcmVlIGl0IGJ5IGNhbGxpbmcKLUBjb2Rle3JsX2Rpc2NhcmRfa2V5bWFwKCl9IHdoZW4gZG9uZS4KK0Bjb2Rle3JsX2ZyZWVfa2V5bWFwKCl9IHdoZW4gZG9uZS4KIEBlbmQgZGVmdHlwZWZ1bgogCiBAZGVmdHlwZWZ1biBLZXltYXAgcmxfY29weV9rZXltYXAgKEtleW1hcCBtYXApCkBAIC02MzYsNyArNjM2LDEzIEBACiBAZW5kIGRlZnR5cGVmdW4KIAogQGRlZnR5cGVmdW4gdm9pZCBybF9kaXNjYXJkX2tleW1hcCAoS2V5bWFwIGtleW1hcCkKLUZyZWUgdGhlIHN0b3JhZ2UgYXNzb2NpYXRlZCB3aXRoIEB2YXJ7a2V5bWFwfS4KK0ZyZWUgdGhlIHN0b3JhZ2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBkYXRhIGluIEB2YXJ7a2V5bWFwfS4KK1RoZSBjYWxsZXIgc2hvdWxkIGZyZWUgQHZhcntrZXltYXB9LgorQGVuZCBkZWZ0eXBlZnVuCisKK0BkZWZ0eXBlZnVuIHZvaWQgcmxfZnJlZV9rZXltYXAgKEtleW1hcCBrZXltYXApCitGcmVlIGFsbCBzdG9yYWdlIGFzc29jaWF0ZWQgd2l0aCBAdmFye2tleW1hcH0uICBUaGlzIGNhbGxzCitAY29kZXtybF9kaXNjYXJkX2tleW1hcH0gdG8gZnJlZSBzdWJvcmRpbmRhdGUga2V5bWFwcyBhbmQgbWFjcm9zLgogQGVuZCBkZWZ0eXBlZnVuCiAKIFJlYWRsaW5lIGhhcyBzZXZlcmFsIGludGVybmFsIGtleW1hcHMuICBUaGVzZSBmdW5jdGlvbnMgYWxsb3cgeW91IHRvCkBAIC0xNzIyLDYgKzE3MjgsMzUgQEAKIGJlIHBhc3NlZCBkaXJlY3RseSB0byBAY29kZXtvcGVuZGlyKCl9LgogQGVuZCBkZWZ0eXBldmFyCiAKK0BpZ25vcmUKK0BkZWZ0eXBldmFyIGV4dGVybiBybF9pY3BwZnVuY190ICpybF9kaXJlY3RvcnlfcmV3cml0ZV9ob29rOworSWYgbm9uLXplcm8sIHRoaXMgaXMgdGhlIGFkZHJlc3Mgb2YgYSBmdW5jdGlvbiB0byBjYWxsIHdoZW4gY29tcGxldGluZworYSBkaXJlY3RvcnkgbmFtZS4gIFRoaXMgZnVuY3Rpb24gdGFrZXMgdGhlIGFkZHJlc3Mgb2YgdGhlIGRpcmVjdG9yeSBuYW1lCit0byBiZSBtb2RpZmllZCBhcyBhbiBhcmd1bWVudC4gIFVubGlrZSBAY29kZXtybF9kaXJlY3RvcnlfY29tcGxldGlvbl9ob29rfSwKK2l0IG9ubHkgbW9kaWZpZXMgdGhlIGRpcmVjdG9yeSBuYW1lIHVzZWQgaW4gQGNvZGV7b3BlbmRpcn0sIG5vdCB3aGF0IGlzCitkaXNwbGF5ZWQgd2hlbiB0aGUgcG9zc2libGUgY29tcGxldGlvbnMgYXJlIHByaW50ZWQgb3IgaW5zZXJ0ZWQuICBJdCBpcworY2FsbGVkIGJlZm9yZSBybF9kaXJlY3RvcnlfY29tcGxldGlvbl9ob29rLgorCitJJ20gbm90IGhhcHB5IHdpdGggaG93IHRoaXMgd29ya3N5ZXQsIHNvIGl0J3MgdW5kb2N1bWVudGVkLgorQGVuZCBkZWZ0eXBldmFyCitAZW5kIGlnbm9yZQorCitAZGVmdHlwZXZhciB7cmxfZGVxdW90ZV9mdW5jX3QgKn0gcmxfZmlsZW5hbWVfcmV3cml0ZV9ob29rCitJZiBub24temVybywgdGhpcyBpcyB0aGUgYWRkcmVzcyBvZiBhIGZ1bmN0aW9uIGNhbGxlZCB3aGVuIHJlYWRpbmcKK2RpcmVjdG9yeSBlbnRyaWVzIGZyb20gdGhlIGZpbGVzeXN0ZW0gZm9yIGNvbXBsZXRpb24gYW5kIGNvbXBhcmluZwordGhlbSB0byB0aGUgcGFydGlhbCB3b3JkIHRvIGJlIGNvbXBsZXRlZC4gIFRoZSBmdW5jdGlvbiBzaG91bGQKK3BlcmZvcm0gYW55IG5lY2VzYXJ5IGFwcGxpY2F0aW9uIG9yIHN5c3RlbS1zcGVjaWZpYyBjb252ZXJzaW9uIG9uCit0aGUgZmlsZW5hbWUsIHN1Y2ggYXMgY29udmVydGluZyBiZXR3ZWVuIGNoYXJhY3RlciBzZXRzIG9yIGNvbnZlcnRpbmcKK2Zyb20gYSBmaWxlc3lzdGVtIGZvcm1hdCB0byBhIGNoYXJhY3RlciBpbnB1dCBmb3JtYXQuCitUaGUgZnVuY3Rpb24gdGFrZXMgdHdvIGFyZ3VtZW50czogQHZhcntmbmFtZX0sIHRoZSBmaWxlbmFtZSB0byBiZSBjb252ZXJ0ZWQsCithbmQgQHZhcntmbmxlbn0sIGl0cyBsZW5ndGggaW4gYnl0ZXMuCitJdCBtdXN0IGVpdGhlciByZXR1cm4gaXRzIGZpcnN0IGFyZ3VtZW50IChpZiBubyBjb252ZXJzaW9uIHRha2VzIHBsYWNlKQorb3IgdGhlIGNvbnZlcnRlZCBmaWxlbmFtZSBpbiBuZXdseS1hbGxvY2F0ZWQgbWVtb3J5LiAgVGhlIGNvbnZlcnRlZAorZm9ybSBpcyB1c2VkIHRvIGNvbXBhcmUgYWdhaW5zdCB0aGUgd29yZCB0byBiZSBjb21wbGV0ZWQsIGFuZCwgaWYgaXQKK21hdGNoZXMsIGlzIGFkZGVkIHRvIHRoZSBsaXN0IG9mIG1hdGNoZXMuICBSZWFkbGluZSB3aWxsIGZyZWUgdGhlCithbGxvY2F0ZWQgc3RyaW5nLgorQGVuZCBkZWZ0eXBldmFyCisKIEBkZWZ0eXBldmFyIHtybF9jb21wZGlzcF9mdW5jX3QgKn0gcmxfY29tcGxldGlvbl9kaXNwbGF5X21hdGNoZXNfaG9vawogSWYgbm9uLXplcm8sIHRoZW4gdGhpcyBpcyB0aGUgYWRkcmVzcyBvZiBhIGZ1bmN0aW9uIHRvIGNhbGwgd2hlbgogY29tcGxldGluZyBhIHdvcmQgd291bGQgbm9ybWFsbHkgZGlzcGxheSB0aGUgbGlzdCBvZiBwb3NzaWJsZSBtYXRjaGVzLgpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL2RvYy9ybHVzZXIudGV4aSBiL2xpYi9yZWFkbGluZS9kb2Mvcmx1c2VyLnRleGkKaW5kZXggNGEzNjdlZC4uNTE5YzBkZSAxMDA2NDQKLS0tIGEvbGliL3JlYWRsaW5lL2RvYy9ybHVzZXIudGV4aQorKysgYi9saWIvcmVhZGxpbmUvZG9jL3JsdXNlci50ZXhpCkBAIC00NzQsMTIgKzQ3NCwyMyBAQAogbW9kZSwgd2hlcmUgdGhlIGtleXN0cm9rZXMgYXJlIG1vc3Qgc2ltaWxhciB0byBFbWFjcy4gIFRoaXMgdmFyaWFibGUgY2FuIGJlCiBzZXQgdG8gZWl0aGVyIEBzYW1we2VtYWNzfSBvciBAc2FtcHt2aX0uCiAKK0BpdGVtIGVjaG8tY29udHJvbC1jaGFyYWN0ZXJzCitXaGVuIHNldCB0byBAc2FtcHtvbn0sIG9uIG9wZXJhdGluZyBzeXN0ZW1zIHRoYXQgaW5kaWNhdGUgdGhleSBzdXBwb3J0IGl0LAorcmVhZGxpbmUgZWNob2VzIGEgY2hhcmFjdGVyIGNvcnJlc3BvbmRpbmcgdG8gYSBzaWduYWwgZ2VuZXJhdGVkIGZyb20gdGhlCitrZXlib2FyZC4gIFRoZSBkZWZhdWx0IGlzIEBzYW1we29ufS4KKwogQGl0ZW0gZW5hYmxlLWtleXBhZAogQHZpbmRleCBlbmFibGUta2V5cGFkCiBXaGVuIHNldCB0byBAc2FtcHtvbn0sIFJlYWRsaW5lIHdpbGwgdHJ5IHRvIGVuYWJsZSB0aGUgYXBwbGljYXRpb24KIGtleXBhZCB3aGVuIGl0IGlzIGNhbGxlZC4gIFNvbWUgc3lzdGVtcyBuZWVkIHRoaXMgdG8gZW5hYmxlIHRoZQogYXJyb3cga2V5cy4gIFRoZSBkZWZhdWx0IGlzIEBzYW1we29mZn0uCiAKK0BpdGVtIGVuYWJsZS1tZXRhLWtleQorV2hlbiBzZXQgdG8gQHNhbXB7b259LCBSZWFkbGluZSB3aWxsIHRyeSB0byBlbmFibGUgYW55IG1ldGEgbW9kaWZpZXIKK2tleSB0aGUgdGVybWluYWwgY2xhaW1zIHRvIHN1cHBvcnQgd2hlbiBpdCBpcyBjYWxsZWQuICBPbiBtYW55IHRlcm1pbmFscywKK3RoZSBtZXRhIGtleSBpcyB1c2VkIHRvIHNlbmQgZWlnaHQtYml0IGNoYXJhY3RlcnMuCitUaGUgZGVmYXVsdCBpcyBAc2FtcHtvbn0uCisKIEBpdGVtIGV4cGFuZC10aWxkZQogQHZpbmRleCBleHBhbmQtdGlsZGUKIElmIHNldCB0byBAc2FtcHtvbn0sIHRpbGRlIGV4cGFuc2lvbiBpcyBwZXJmb3JtZWQgd2hlbiBSZWFkbGluZQpAQCAtNjA2LDYgKzYxNywyMCBAQAogb2YgcmluZ2luZyB0aGUgYmVsbC4KIFRoZSBkZWZhdWx0IHZhbHVlIGlzIEBzYW1we29mZn0uCiAKK0BpdGVtIHNraXAtY29tcGxldGVkLXRleHQKK0B2aW5kZXggc2tpcC1jb21wbGV0ZWQtdGV4dAorSWYgc2V0IHRvIEBzYW1we29ufSwgdGhpcyBhbHRlcnMgdGhlIGRlZmF1bHQgY29tcGxldGlvbiBiZWhhdmlvciB3aGVuCitpbnNlcnRpbmcgYSBzaW5nbGUgbWF0Y2ggaW50byB0aGUgbGluZS4gIEl0J3Mgb25seSBhY3RpdmUgd2hlbgorcGVyZm9ybWluZyBjb21wbGV0aW9uIGluIHRoZSBtaWRkbGUgb2YgYSB3b3JkLiAgSWYgZW5hYmxlZCwgcmVhZGxpbmUKK2RvZXMgbm90IGluc2VydCBjaGFyYWN0ZXJzIGZyb20gdGhlIGNvbXBsZXRpb24gdGhhdCBtYXRjaCBjaGFyYWN0ZXJzCithZnRlciBwb2ludCBpbiB0aGUgd29yZCBiZWluZyBjb21wbGV0ZWQsIHNvIHBvcnRpb25zIG9mIHRoZSB3b3JkCitmb2xsb3dpbmcgdGhlIGN1cnNvciBhcmUgbm90IGR1cGxpY2F0ZWQuCitGb3IgaW5zdGFuY2UsIGlmIHRoaXMgaXMgZW5hYmxlZCwgYXR0ZW1wdGluZyBjb21wbGV0aW9uIHdoZW4gdGhlIGN1cnNvcgoraXMgYWZ0ZXIgdGhlIEBzYW1we2V9IGluIEBzYW1we01ha2VmaWxlfSB3aWxsIHJlc3VsdCBpbiBAc2FtcHtNYWtlZmlsZX0KK3JhdGhlciB0aGFuIEBzYW1we01ha2VmaWxlZmlsZX0sIGFzc3VtaW5nIHRoZXJlIGlzIGEgc2luZ2xlIHBvc3NpYmxlCitjb21wbGV0aW9uLgorVGhlIGRlZmF1bHQgdmFsdWUgaXMgQHNhbXB7b2ZmfS4KKwogQGl0ZW0gdmlzaWJsZS1zdGF0cwogQHZpbmRleCB2aXNpYmxlLXN0YXRzCiBJZiBzZXQgdG8gQHNhbXB7b259LCBhIGNoYXJhY3RlciBkZW5vdGluZyBhIGZpbGUncyB0eXBlCkBAIC0xMjkyLDYgKzEzMTcsMTEgQEAKIFRoaXMgY29tbWFuZCBpcyBpbnRlbmRlZCB0byBiZSBib3VuZCB0byBAa2V5e1RBQn0sIGJ1dCBpcyB1bmJvdW5kCiBieSBkZWZhdWx0LgogCitAaXRlbSBtZW51LWNvbXBsZXRlLWJhY2t3YXJkICgpCitJZGVudGljYWwgdG8gQGNvZGV7bWVudS1jb21wbGV0ZX0sIGJ1dCBtb3ZlcyBiYWNrd2FyZCB0aHJvdWdoIHRoZSBsaXN0CitvZiBwb3NzaWJsZSBjb21wbGV0aW9ucywgYXMgaWYgQGNvZGV7bWVudS1jb21wbGV0ZX0gaGFkIGJlZW4gZ2l2ZW4gYQorbmVnYXRpdmUgYXJndW1lbnQuCisKIEBpdGVtIGRlbGV0ZS1jaGFyLW9yLWxpc3QgKCkKIERlbGV0ZXMgdGhlIGNoYXJhY3RlciB1bmRlciB0aGUgY3Vyc29yIGlmIG5vdCBhdCB0aGUgYmVnaW5uaW5nIG9yCiBlbmQgb2YgdGhlIGxpbmUgKGxpa2UgQGNvZGV7ZGVsZXRlLWNoYXJ9KS4KQEAgLTE0MzEsNiArMTQ2MSwxNSBAQAogb2YgdGhhdCBjaGFyYWN0ZXIuICBBIG5lZ2F0aXZlIGNvdW50IHNlYXJjaGVzIGZvciBzdWJzZXF1ZW50CiBvY2N1cnJlbmNlcy4KIAorQGl0ZW0gc2tpcC1jc2ktc2VxdWVuY2UgKCkKK1JlYWQgZW5vdWdoIGNoYXJhY3RlcnMgdG8gY29uc3VtZSBhIG11bHRpLWtleSBzZXF1ZW5jZSBzdWNoIGFzIHRob3NlCitkZWZpbmVkIGZvciBrZXlzIGxpa2UgSG9tZSBhbmQgRW5kLiAgU3VjaCBzZXF1ZW5jZXMgYmVnaW4gd2l0aCBhCitDb250cm9sIFNlcXVlbmNlIEluZGljYXRvciAoQ1NJKSwgdXN1YWxseSBFU0MtWy4gIElmIHRoaXMgc2VxdWVuY2UgaXMKK2JvdW5kIHRvICJcZVsiLCBrZXlzIHByb2R1Y2luZyBzdWNoIHNlcXVlbmNlcyB3aWxsIGhhdmUgbm8gZWZmZWN0Cit1bmxlc3MgZXhwbGljaXRseSBib3VuZCB0byBhIHJlYWRsaW5lIGNvbW1hbmQsIGluc3RlYWQgb2YgaW5zZXJ0aW5nCitzdHJheSBjaGFyYWN0ZXJzIGludG8gdGhlIGVkaXRpbmcgYnVmZmVyLiAgVGhpcyBpcyB1bmJvdW5kIGJ5IGRlZmF1bHQsCitidXQgdXN1YWxseSBib3VuZCB0byBFU0MtWy4KKwogQGl0ZW0gaW5zZXJ0LWNvbW1lbnQgKE0tIykKIFdpdGhvdXQgYSBudW1lcmljIGFyZ3VtZW50LCB0aGUgdmFsdWUgb2YgdGhlIEBjb2Rle2NvbW1lbnQtYmVnaW59CiB2YXJpYWJsZSBpcyBpbnNlcnRlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBjdXJyZW50IGxpbmUuCkBAIC0xNTc0LDEwICsxNjEzLDE1IEBACiBGaXJzdCwgdGhlIGNvbW1hbmQgbmFtZSBpcyBpZGVudGlmaWVkLgogSWYgYSBjb21wc3BlYyBoYXMgYmVlbiBkZWZpbmVkIGZvciB0aGF0IGNvbW1hbmQsIHRoZQogY29tcHNwZWMgaXMgdXNlZCB0byBnZW5lcmF0ZSB0aGUgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucyBmb3IgdGhlIHdvcmQuCitJZiB0aGUgY29tbWFuZCB3b3JkIGlzIHRoZSBlbXB0eSBzdHJpbmcgKGNvbXBsZXRpb24gYXR0ZW1wdGVkIGF0IHRoZQorYmVnaW5uaW5nIG9mIGFuIGVtcHR5IGxpbmUpLCBhbnkgY29tcHNwZWMgZGVmaW5lZCB3aXRoCit0aGUgQG9wdGlvbnstRX0gb3B0aW9uIHRvIEBjb2Rle2NvbXBsZXRlfSBpcyB1c2VkLgogSWYgdGhlIGNvbW1hbmQgd29yZCBpcyBhIGZ1bGwgcGF0aG5hbWUsIGEgY29tcHNwZWMgZm9yIHRoZSBmdWxsCiBwYXRobmFtZSBpcyBzZWFyY2hlZCBmb3IgZmlyc3QuCiBJZiBubyBjb21wc3BlYyBpcyBmb3VuZCBmb3IgdGhlIGZ1bGwgcGF0aG5hbWUsIGFuIGF0dGVtcHQgaXMgbWFkZSB0bwogZmluZCBhIGNvbXBzcGVjIGZvciB0aGUgcG9ydGlvbiBmb2xsb3dpbmcgdGhlIGZpbmFsIHNsYXNoLgorSWYgdGhvc2Ugc2VhcmNoZXMgZG8gbm90IHJlc3VsdCBpbiBhIGNvbXBzcGVjLCBhbnkgY29tcHNwZWMgZGVmaW5lZCB3aXRoCit0aGUgQG9wdGlvbnstRH0gb3B0aW9uIHRvIEBjb2Rle2NvbXBsZXRlfSBpcyB1c2VkIGFzIHRoZSBkZWZhdWx0LgogCiBPbmNlIGEgY29tcHNwZWMgaGFzIGJlZW4gZm91bmQsIGl0IGlzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIGxpc3Qgb2YKIG1hdGNoaW5nIHdvcmRzLgpAQCAtMTY4MSw2ICsxNzI1LDMwIEBACiB0aGUgdmFsdWUgb2YgdGhlIEB2YXJ7bWFyay1kaXJlY3Rvcmllc30gUmVhZGxpbmUgdmFyaWFibGUsIHJlZ2FyZGxlc3MKIG9mIHRoZSBzZXR0aW5nIG9mIHRoZSBAdmFye21hcmstc3ltbGlua2VkLWRpcmVjdG9yaWVzfSBSZWFkbGluZSB2YXJpYWJsZS4KIAorVGhlcmUgaXMgc29tZSBzdXBwb3J0IGZvciBkeW5hbWljYWxseSBtb2RpZnlpbmcgY29tcGxldGlvbnMuICBUaGlzIGlzCittb3N0IHVzZWZ1bCB3aGVuIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBhIGRlZmF1bHQgY29tcGxldGlvbiBzcGVjaWZpZWQKK3dpdGggQG9wdGlvbnstRH0uICBJdCdzIHBvc3NpYmxlIGZvciBzaGVsbCBmdW5jdGlvbnMgZXhlY3V0ZWQgYXMgY29tcGxldGlvbgoraGFuZGxlcnMgdG8gaW5kaWNhdGUgdGhhdCBjb21wbGV0aW9uIHNob3VsZCBiZSByZXRyaWVkIGJ5IHJldHVybmluZyBhbgorZXhpdCBzdGF0dXMgb2YgMTI0LiAgSWYgYSBzaGVsbCBmdW5jdGlvbiByZXR1cm5zIDEyNCwgYW5kIGNoYW5nZXMKK3RoZSBjb21wc3BlYyBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbW1hbmQgb24gd2hpY2ggY29tcGxldGlvbiBpcyBiZWluZworYXR0ZW1wdGVkIChzdXBwbGllZCBhcyB0aGUgZmlyc3QgYXJndW1lbnQgd2hlbiB0aGUgZnVuY3Rpb24gaXMgZXhlY3V0ZWQpLAorcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gcmVzdGFydHMgZnJvbSB0aGUgYmVnaW5uaW5nLCB3aXRoIGFuCithdHRlbXB0IHRvIGZpbmQgYSBjb21wc3BlYyBmb3IgdGhhdCBjb21tYW5kLiAgVGhpcyBhbGxvd3MgYSBzZXQgb2YKK2NvbXBsZXRpb25zIHRvIGJlIGJ1aWx0IGR5bmFtaWNhbGx5IGFzIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkLCByYXRoZXIgdGhhbgorYmVpbmcgbG9hZGVkIGFsbCBhdCBvbmNlLgorCitGb3IgaW5zdGFuY2UsIGFzc3VtaW5nIHRoYXQgdGhlcmUgaXMgYSBsaWJyYXJ5IG9mIGNvbXBzcGVjcywgZWFjaCBrZXB0IGluIGEKK2ZpbGUgY29ycmVzcG9uZGluZyB0byB0aGUgbmFtZSBvZiB0aGUgY29tbWFuZCwgdGhlIGZvbGxvd2luZyBkZWZhdWx0Citjb21wbGV0aW9uIGZ1bmN0aW9uIHdvdWxkIGxvYWQgY29tcGxldGlvbnMgZHluYW1pY2FsbHk6CisKK0BleGFtcGxlCitfY29tcGxldGlvbl9sb2FkZXIoKQorQHsKKwkuICIvZXRjL2Jhc2hfY29tcGxldGlvbi5kLyQxLnNoIiA+L2Rldi9udWxsIDI+JjEgJiYgcmV0dXJuIDEyNAorQH0KK2NvbXBsZXRlIC1EIC1GIF9jb21wbGV0aW9uX2xvYWRlcgorQGVuZCBleGFtcGxlCisKIEBub2RlIFByb2dyYW1tYWJsZSBDb21wbGV0aW9uIEJ1aWx0aW5zCiBAc2VjdGlvbiBQcm9ncmFtbWFibGUgQ29tcGxldGlvbiBCdWlsdGlucwogQGNpbmRleCBjb21wbGV0aW9uIGJ1aWx0aW5zCkBAIC0xNzE2LDEwICsxNzg0LDEwIEBACiBAaXRlbSBjb21wbGV0ZQogQGJ0aW5kZXggY29tcGxldGUKIEBleGFtcGxlCi1AY29kZXtjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1vIEB2YXJ7Y29tcC1vcHRpb259XSBbLUVdIFstQSBAdmFye2FjdGlvbn1dIFstRyBAdmFye2dsb2JwYXR9XSBbLVcgQHZhcnt3b3JkbGlzdH1dCitAY29kZXtjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1vIEB2YXJ7Y29tcC1vcHRpb259XSBbLURFXSBbLUEgQHZhcnthY3Rpb259XSBbLUcgQHZhcntnbG9icGF0fV0gWy1XIEB2YXJ7d29yZGxpc3R9XQogWy1GIEB2YXJ7ZnVuY3Rpb259XSBbLUMgQHZhcntjb21tYW5kfV0gWy1YIEB2YXJ7ZmlsdGVycGF0fV0KIFstUCBAdmFye3ByZWZpeH1dIFstUyBAdmFye3N1ZmZpeH1dIEB2YXJ7bmFtZX0gW0B2YXJ7bmFtZX0gQGRvdHN7fV19Ci1AY29kZXtjb21wbGV0ZSAtcHIgWy1FXSBbQHZhcntuYW1lfSBAZG90c3t9XX0KK0Bjb2Rle2NvbXBsZXRlIC1wciBbLURFXSBbQHZhcntuYW1lfSBAZG90c3t9XX0KIEBlbmQgZXhhbXBsZQogCiBTcGVjaWZ5IGhvdyBhcmd1bWVudHMgdG8gZWFjaCBAdmFye25hbWV9IHNob3VsZCBiZSBjb21wbGV0ZWQuCkBAIC0xNzI5LDEyICsxNzk3LDE2IEBACiBUaGUgQG9wdGlvbnstcn0gb3B0aW9uIHJlbW92ZXMgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZm9yCiBlYWNoIEB2YXJ7bmFtZX0sIG9yLCBpZiBubyBAdmFye25hbWV9cyBhcmUgc3VwcGxpZWQsIGFsbAogY29tcGxldGlvbiBzcGVjaWZpY2F0aW9ucy4KK1RoZSBAb3B0aW9uey1EfSBvcHRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIHJlbWFpbmluZyBvcHRpb25zIGFuZCBhY3Rpb25zIHNob3VsZAorYXBwbHkgdG8gdGhlIGBgZGVmYXVsdCcnIGNvbW1hbmQgY29tcGxldGlvbjsgdGhhdCBpcywgY29tcGxldGlvbiBhdHRlbXB0ZWQKK29uIGEgY29tbWFuZCBmb3Igd2hpY2ggbm8gY29tcGxldGlvbiBoYXMgcHJldmlvdXNseSBiZWVuIGRlZmluZWQuCiBUaGUgQG9wdGlvbnstRX0gb3B0aW9uIGluZGljYXRlcyB0aGF0IHRoZSByZW1haW5pbmcgb3B0aW9ucyBhbmQgYWN0aW9ucyBzaG91bGQKIGFwcGx5IHRvIGBgZW1wdHknJyBjb21tYW5kIGNvbXBsZXRpb247IHRoYXQgaXMsIGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgCiBibGFuayBsaW5lLgogCiBUaGUgcHJvY2VzcyBvZiBhcHBseWluZyB0aGVzZSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zIHdoZW4gd29yZCBjb21wbGV0aW9uCi1pcyBhdHRlbXB0ZWQgaXMgZGVzY3JpYmVkIGFib3ZlIChAcHhyZWZ7UHJvZ3JhbW1hYmxlIENvbXBsZXRpb259KS4KK2lzIGF0dGVtcHRlZCBpcyBkZXNjcmliZWQgYWJvdmUgKEBweHJlZntQcm9ncmFtbWFibGUgQ29tcGxldGlvbn0pLiAgVGhlCitAb3B0aW9uey1EfSBvcHRpb24gdGFrZXMgcHJlY2VkZW5jZSBvdmVyIEBvcHRpb257LUV9LgogCiBPdGhlciBvcHRpb25zLCBpZiBzcGVjaWZpZWQsIGhhdmUgdGhlIGZvbGxvd2luZyBtZWFuaW5ncy4KIFRoZSBhcmd1bWVudHMgdG8gdGhlIEBvcHRpb257LUd9LCBAb3B0aW9uey1XfSwgYW5kIEBvcHRpb257LVh9IG9wdGlvbnMKQEAgLTE5MDgsNyArMTk4MCw3IEBACiBAaXRlbSBjb21wb3B0CiBAYnRpbmRleCBjb21wb3B0CiBAZXhhbXBsZQotQGNvZGV7Y29tcG9wdH0gWy1vIEB2YXJ7b3B0aW9ufV0gWytvIEB2YXJ7b3B0aW9ufV0gW0B2YXJ7bmFtZX1dCitAY29kZXtjb21wb3B0fSBbLW8gQHZhcntvcHRpb259XSBbLURFXSBbK28gQHZhcntvcHRpb259XSBbQHZhcntuYW1lfV0KIEBlbmQgZXhhbXBsZQogTW9kaWZ5IGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBAdmFye25hbWV9IGFjY29yZGluZyB0byB0aGUKIEB2YXJ7b3B0aW9ufXMsIG9yIGZvciB0aGUgY3VycmVudGx5LWV4ZWN1dGlvbiBjb21wbGV0aW9uIGlmIG5vIEB2YXJ7bmFtZX1zCkBAIC0xOTE3LDYgKzE5ODksMTQgQEAKIEB2YXJ7bmFtZX0gb3IgdGhlIGN1cnJlbnQgY29tcGxldGlvbi4KIFRoZSBwb3NzaWJsZSB2YWx1ZXMgb2YgQHZhcntvcHRpb259IGFyZSB0aG9zZSB2YWxpZCBmb3IgdGhlIEBjb2Rle2NvbXBsZXRlfQogYnVpbHRpbiBkZXNjcmliZWQgYWJvdmUuCitUaGUgQG9wdGlvbnstRH0gb3B0aW9uIGluZGljYXRlcyB0aGF0IHRoZSByZW1haW5pbmcgb3B0aW9ucyBzaG91bGQKK2FwcGx5IHRvIHRoZSBgYGRlZmF1bHQnJyBjb21tYW5kIGNvbXBsZXRpb247IHRoYXQgaXMsIGNvbXBsZXRpb24gYXR0ZW1wdGVkCitvbiBhIGNvbW1hbmQgZm9yIHdoaWNoIG5vIGNvbXBsZXRpb24gaGFzIHByZXZpb3VzbHkgYmVlbiBkZWZpbmVkLgorVGhlIEBvcHRpb257LUV9IG9wdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVtYWluaW5nIG9wdGlvbnMgc2hvdWxkCithcHBseSB0byBgYGVtcHR5JycgY29tbWFuZCBjb21wbGV0aW9uOyB0aGF0IGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhIAorYmxhbmsgbGluZS4KKworVGhlIEBvcHRpb257LUR9IG9wdGlvbiB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgQG9wdGlvbnstRX0uCiAKIFRoZSByZXR1cm4gdmFsdWUgaXMgdHJ1ZSB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuIGF0dGVtcHQKIGlzIG1hZGUgdG8gbW9kaWZ5IHRoZSBvcHRpb25zIGZvciBhIEB2YXJ7bmFtZX0gZm9yIHdoaWNoIG5vIGNvbXBsZXRpb24KZGlmZiAtLWdpdCBhL2xpYi9yZWFkbGluZS9kb2Mvcmx1c2VybWFuLnRleGkgYi9saWIvcmVhZGxpbmUvZG9jL3JsdXNlcm1hbi50ZXhpCmluZGV4IGE0NzNhYTIuLjQ5ZDlhMmMgMTAwNjQ0Ci0tLSBhL2xpYi9yZWFkbGluZS9kb2Mvcmx1c2VybWFuLnRleGkKKysrIGIvbGliL3JlYWRsaW5lL2RvYy9ybHVzZXJtYW4udGV4aQpAQCAtMjAsNyArMjAsNyBAQAogCiBAcXVvdGF0aW9uCiBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gY29weSwgZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IHRoaXMgZG9jdW1lbnQKLXVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlLCBWZXJzaW9uIDEuMiBvcgordW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2UsIFZlcnNpb24gMS4zIG9yCiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgd2l0aCBubwogSW52YXJpYW50IFNlY3Rpb25zLCB3aXRoIHRoZSBGcm9udC1Db3ZlciB0ZXh0cyBiZWluZyBgYEEgR05VIE1hbnVhbCcnLAogYW5kIHdpdGggdGhlIEJhY2stQ292ZXIgVGV4dHMgYXMgaW4gKGEpIGJlbG93LiAgQSBjb3B5IG9mIHRoZSBsaWNlbnNlIGlzCmRpZmYgLS1naXQgYS9saWIvcmVhZGxpbmUvZG9jL3ZlcnNpb24udGV4aSBiL2xpYi9yZWFkbGluZS9kb2MvdmVyc2lvbi50ZXhpCmluZGV4IDkxM2E2MmUuLjgyM2IzYmEgMTAwNjQ0Ci0tLSBhL2xpYi9yZWFkbGluZS9kb2MvdmVyc2lvbi50ZXhpCisrKyBiL2xpYi9yZWFkbGluZS9kb2MvdmVyc2lvbi50ZXhpCkBAIC0yLDkgKzIsOSBAQAogQ29weXJpZ2h0IChDKSAxOTg4LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIAogQGVuZCBpZ25vcmUKIAotQHNldCBFRElUSU9OIDYuMAotQHNldCBWRVJTSU9OIDYuMAotQHNldCBVUERBVEVEIDI4IE9jdG9iZXIgMjAwOAotQHNldCBVUERBVEVELU1PTlRIIE9jdG9iZXIgMjAwOAorQHNldCBFRElUSU9OIDYuMQorQHNldCBWRVJTSU9OIDYuMQorQHNldCBVUERBVEVEIDkgT2N0b2JlciAyMDA5CitAc2V0IFVQREFURUQtTU9OVEggT2N0b2JlciAyMDA5CiAKLUBzZXQgTEFTVENIQU5HRSBUdWUgT2N0IDI4IDExOjI1OjI0IEVEVCAyMDA4CitAc2V0IExBU1RDSEFOR0UgRnJpIE9jdCAgOSAxMjo1Nzo1OCBFRFQgMjAwOQpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL2Z1bm1hcC5jIGIvbGliL3JlYWRsaW5lL2Z1bm1hcC5jCmluZGV4IDA2ZDJiOTIuLmNjY2RkYjYgMTAwNjQ0Ci0tLSBhL2xpYi9yZWFkbGluZS9mdW5tYXAuYworKysgYi9saWIvcmVhZGxpbmUvZnVubWFwLmMKQEAgLTEwNSwxMSArMTA1LDEzIEBACiAgIHsgImtpbGwtcmVnaW9uIiwgcmxfa2lsbF9yZWdpb24gfSwKICAgeyAia2lsbC13b3JkIiwgcmxfa2lsbF93b3JkIH0sCiAgIHsgIm1lbnUtY29tcGxldGUiLCBybF9tZW51X2NvbXBsZXRlIH0sCisgIHsgIm1lbnUtY29tcGxldGUtYmFja3dhcmQiLCBybF9iYWNrd2FyZF9tZW51X2NvbXBsZXRlIH0sCiAgIHsgIm5leHQtaGlzdG9yeSIsIHJsX2dldF9uZXh0X2hpc3RvcnkgfSwKICAgeyAibm9uLWluY3JlbWVudGFsLWZvcndhcmQtc2VhcmNoLWhpc3RvcnkiLCBybF9ub25pbmNfZm9yd2FyZF9zZWFyY2ggfSwKICAgeyAibm9uLWluY3JlbWVudGFsLXJldmVyc2Utc2VhcmNoLWhpc3RvcnkiLCBybF9ub25pbmNfcmV2ZXJzZV9zZWFyY2ggfSwKICAgeyAibm9uLWluY3JlbWVudGFsLWZvcndhcmQtc2VhcmNoLWhpc3RvcnktYWdhaW4iLCBybF9ub25pbmNfZm9yd2FyZF9zZWFyY2hfYWdhaW4gfSwKICAgeyAibm9uLWluY3JlbWVudGFsLXJldmVyc2Utc2VhcmNoLWhpc3RvcnktYWdhaW4iLCBybF9ub25pbmNfcmV2ZXJzZV9zZWFyY2hfYWdhaW4gfSwKKyAgeyAib2xkLW1lbnUtY29tcGxldGUiLCBybF9vbGRfbWVudV9jb21wbGV0ZSB9LAogICB7ICJvdmVyd3JpdGUtbW9kZSIsIHJsX292ZXJ3cml0ZV9tb2RlIH0sCiAjaWZkZWYgX19DWUdXSU5fXwogICB7ICJwYXN0ZS1mcm9tLWNsaXBib2FyZCIsIHJsX3Bhc3RlX2Zyb21fY2xpcGJvYXJkIH0sCkBAIC0xMjMsNiArMTI1LDcgQEAKICAgeyAicmV2ZXJ0LWxpbmUiLCBybF9yZXZlcnRfbGluZSB9LAogICB7ICJzZWxmLWluc2VydCIsIHJsX2luc2VydCB9LAogICB7ICJzZXQtbWFyayIsIHJsX3NldF9tYXJrIH0sCisgIHsgInNraXAtY3NpLXNlcXVlbmNlIiwgcmxfc2tpcF9jc2lfc2VxdWVuY2UgfSwKICAgeyAic3RhcnQta2JkLW1hY3JvIiwgcmxfc3RhcnRfa2JkX21hY3JvIH0sCiAgIHsgInRhYi1pbnNlcnQiLCBybF90YWJfaW5zZXJ0IH0sCiAgIHsgInRpbGRlLWV4cGFuZCIsIHJsX3RpbGRlX2V4cGFuZCB9LApkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL2hpc3RleHBhbmQuYyBiL2xpYi9yZWFkbGluZS9oaXN0ZXhwYW5kLmMKaW5kZXggYmY1YWMwZS4uNDI0OThkMiAxMDA2NDQKLS0tIGEvbGliL3JlYWRsaW5lL2hpc3RleHBhbmQuYworKysgYi9saWIvcmVhZGxpbmUvaGlzdGV4cGFuZC5jCkBAIC0zMDUsMTYgKzMwNSwyMCBAQAogLyogRXh0cmFjdCB0aGUgY29udGVudHMgb2YgU1RSSU5HIGFzIGlmIGl0IGlzIGVuY2xvc2VkIGluIHNpbmdsZSBxdW90ZXMuCiAgICBTSU5ERVgsIHdoZW4gcGFzc2VkIGluLCBpcyB0aGUgb2Zmc2V0IG9mIHRoZSBjaGFyYWN0ZXIgaW1tZWRpYXRlbHkKICAgIGZvbGxvd2luZyB0aGUgb3BlbmluZyBzaW5nbGUgcXVvdGU7IG9uIGV4aXQsIFNJTkRFWCBpcyBsZWZ0IHBvaW50aW5nCi0gICB0byB0aGUgY2xvc2luZyBzaW5nbGUgcXVvdGUuICovCisgICB0byB0aGUgY2xvc2luZyBzaW5nbGUgcXVvdGUuICBGTEFHUyBjdXJyZW50bHkgdXNlZCB0byBhbGxvdyBiYWNrc2xhc2gKKyAgIHRvIGVzY2FwZSBhIHNpbmdsZSBxdW90ZSAoZS5nLiwgZm9yIGJhc2ggJCcuLi4nKS4gKi8KIHN0YXRpYyB2b2lkCi1oaXN0X3N0cmluZ19leHRyYWN0X3NpbmdsZV9xdW90ZWQgKHN0cmluZywgc2luZGV4KQoraGlzdF9zdHJpbmdfZXh0cmFjdF9zaW5nbGVfcXVvdGVkIChzdHJpbmcsIHNpbmRleCwgZmxhZ3MpCiAgICAgIGNoYXIgKnN0cmluZzsKLSAgICAgaW50ICpzaW5kZXg7CisgICAgIGludCAqc2luZGV4LCBmbGFnczsKIHsKICAgcmVnaXN0ZXIgaW50IGk7CiAKICAgZm9yIChpID0gKnNpbmRleDsgc3RyaW5nW2ldICYmIHN0cmluZ1tpXSAhPSAnXCcnOyBpKyspCi0gICAgOworICAgIHsKKyAgICAgIGlmICgoZmxhZ3MgJiAxKSAmJiBzdHJpbmdbaV0gPT0gJ1xcJyAmJiBzdHJpbmdbaSsxXSkKKyAgICAgICAgaSsrOworICAgIH0KIAogICAqc2luZGV4ID0gaTsKIH0KQEAgLTkyNCw3ICs5MjgsNyBAQAogICAgICBjaGFyICoqb3V0cHV0OwogewogICByZWdpc3RlciBpbnQgajsKLSAgaW50IGksIHIsIGwsIHBhc3NjLCBjYywgbW9kaWZpZWQsIGVpbmRleCwgb25seV9wcmludGluZywgZHF1b3RlOworICBpbnQgaSwgciwgbCwgcGFzc2MsIGNjLCBtb2RpZmllZCwgZWluZGV4LCBvbmx5X3ByaW50aW5nLCBkcXVvdGUsIGZsYWc7CiAgIGNoYXIgKnN0cmluZzsKIAogICAvKiBUaGUgb3V0cHV0IHN0cmluZywgYW5kIGl0cyBsZW5ndGguICovCkBAIC0xMDQ0LDggKzEwNDgsOSBAQAogCSAgZWxzZSBpZiAoZHF1b3RlID09IDAgJiYgaGlzdG9yeV9xdW90ZXNfaW5oaWJpdF9leHBhbnNpb24gJiYgc3RyaW5nW2ldID09ICdcJycpCiAJICAgIHsKIAkgICAgICAvKiBJZiB0aGlzIGlzIGJhc2gsIHNpbmdsZSBxdW90ZXMgaW5oaWJpdCBoaXN0b3J5IGV4cGFuc2lvbi4gKi8KKwkgICAgICBmbGFnID0gKGkgPiAwICYmIHN0cmluZ1tpIC0gMV0gPT0gJyQnKTsKIAkgICAgICBpKys7Ci0JICAgICAgaGlzdF9zdHJpbmdfZXh0cmFjdF9zaW5nbGVfcXVvdGVkIChzdHJpbmcsICZpKTsKKwkgICAgICBoaXN0X3N0cmluZ19leHRyYWN0X3NpbmdsZV9xdW90ZWQgKHN0cmluZywgJmksIGZsYWcpOwogCSAgICB9CiAJICBlbHNlIGlmIChoaXN0b3J5X3F1b3Rlc19pbmhpYml0X2V4cGFuc2lvbiAmJiBzdHJpbmdbaV0gPT0gJ1xcJykKIAkgICAgewpAQCAtMTA5Niw3ICsxMTAxLDcgQEAKIAkgIGlmIChzdHJsZW4gKG1iKSA+IDEpCiAJICAgIHsKIAkgICAgICBBRERfU1RSSU5HIChtYik7Ci0JICAgICAgYnJlYWs7CisJICAgICAgY29udGludWU7CiAJICAgIH0KIAl9CiAjZW5kaWYgLyogSEFORExFX01VTFRJQllURSAqLwpAQCAtMTEzMCw4ICsxMTM1LDkgQEAKIAkgICAgICB7CiAJCWludCBxdW90ZSwgc2xlbjsKIAorCQlmbGFnID0gKGkgPiAwICYmIHN0cmluZ1tpIC0gMV0gPT0gJyQnKTsKIAkJcXVvdGUgPSBpKys7Ci0JCWhpc3Rfc3RyaW5nX2V4dHJhY3Rfc2luZ2xlX3F1b3RlZCAoc3RyaW5nLCAmaSk7CisJCWhpc3Rfc3RyaW5nX2V4dHJhY3Rfc2luZ2xlX3F1b3RlZCAoc3RyaW5nLCAmaSwgZmxhZyk7CiAKIAkJc2xlbiA9IGkgLSBxdW90ZSArIDI7CiAJCXRlbXAgPSAoY2hhciAqKXhtYWxsb2MgKHNsZW4pOwpAQCAtMTQzNSwxNyArMTQ0MSwyMSBAQAogCSAgaSArPSAyOwogCSAgcmV0dXJuIGk7CiAJfQotICAgICAgZWxzZQorICAgICAgZWxzZSBpZiAoKHBlZWsgPT0gJyYnICYmIChzdHJpbmdbaV0gPT0gJz4nIHx8IHN0cmluZ1tpXSA9PSAnPCcpKSB8fAorCQkocGVlayA9PSAnPicgJiYgc3RyaW5nW2ldID09ICcmJykgfHwKKwkJKHBlZWsgPT0gJygnICYmIChzdHJpbmdbaV0gPT0gJz4nIHx8IHN0cmluZ1tpXSA9PSAnPCcpKSB8fCAvKiApICovCisJCShwZWVrID09ICcoJyAmJiBzdHJpbmdbaV0gPT0gJyQnKSkgLyogKSAqLwogCXsKLQkgIGlmICgocGVlayA9PSAnJicgJiYgKHN0cmluZ1tpXSA9PSAnPicgfHwgc3RyaW5nW2ldID09ICc8JykpIHx8Ci0JICAgICAgKHBlZWsgPT0gJz4nICYmIHN0cmluZ1tpXSA9PSAnJicpIHx8Ci0JICAgICAgKHBlZWsgPT0gJygnICYmIChzdHJpbmdbaV0gPT0gJz4nIHx8IHN0cmluZ1tpXSA9PSAnPCcpKSB8fCAvKiApICovCi0JICAgICAgKHBlZWsgPT0gJygnICYmIHN0cmluZ1tpXSA9PSAnJCcpKSAvKiApICovCi0JICAgIHsKLQkgICAgICBpICs9IDI7Ci0JICAgICAgcmV0dXJuIGk7Ci0JICAgIH0KKwkgIGkgKz0gMjsKKwkgIHJldHVybiBpOwogCX0KKyNpZiAwCisgICAgICBlbHNlIGlmIChwZWVrID09ICdcJycgJiYgc3RyaW5nW2ldID09ICckJykKKyAgICAgICAgeworCSAgaSArPSAyOwkvKiBYWFggKi8KKwkgIHJldHVybiBpOworICAgICAgICB9CisjZW5kaWYKIAogICAgICAgaWYgKHN0cmluZ1tpXSAhPSAnJCcpCiAJewpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL2lucHV0LmMgYi9saWIvcmVhZGxpbmUvaW5wdXQuYwppbmRleCAzMjBjNGJjLi5iNTg3NmRhIDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvaW5wdXQuYworKysgYi9saWIvcmVhZGxpbmUvaW5wdXQuYwpAQCAtNDUsMTQgKzQ1LDcgQEAKICMgIGluY2x1ZGUgImFuc2lfc3RkbGliLmgiCiAjZW5kaWYgLyogSEFWRV9TVERMSUJfSCAqLwogCi0jaWYgZGVmaW5lZCAoSEFWRV9TRUxFQ1QpCi0jICBpZiAhZGVmaW5lZCAoSEFWRV9TWVNfU0VMRUNUX0gpIHx8ICFkZWZpbmVkIChNX1VOSVgpCi0jICAgIGluY2x1ZGUgPHN5cy90aW1lLmg+Ci0jICBlbmRpZgotI2VuZGlmIC8qIEhBVkVfU0VMRUNUICovCi0jaWYgZGVmaW5lZCAoSEFWRV9TWVNfU0VMRUNUX0gpCi0jICBpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+Ci0jZW5kaWYKKyNpbmNsdWRlICJwb3NpeHNlbGVjdC5oIgogCiAjaWYgZGVmaW5lZCAoRklPTlJFQURfSU5fU1lTX0lPQ1RMKQogIyAgaW5jbHVkZSA8c3lzL2lvY3RsLmg+CkBAIC0xOTAsOCArMTgzLDcgQEAKICAgRkRfWkVSTyAoJmV4Y2VwdGZkcyk7CiAgIEZEX1NFVCAodHR5LCAmcmVhZGZkcyk7CiAgIEZEX1NFVCAodHR5LCAmZXhjZXB0ZmRzKTsKLSAgdGltZW91dC50dl9zZWMgPSAwOwotICB0aW1lb3V0LnR2X3VzZWMgPSBfa2V5Ym9hcmRfaW5wdXRfdGltZW91dDsKKyAgVVNFQ19UT19USU1FVkFMIChfa2V5Ym9hcmRfaW5wdXRfdGltZW91dCwgdGltZW91dCk7CiAgIHJlc3VsdCA9IHNlbGVjdCAodHR5ICsgMSwgJnJlYWRmZHMsIChmZF9zZXQgKilOVUxMLCAmZXhjZXB0ZmRzLCAmdGltZW91dCk7CiAgIGlmIChyZXN1bHQgPD0gMCkKICAgICByZXR1cm4gMDsJLyogTm90aGluZyB0byByZWFkLiAqLwpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL2tleW1hcHMuYyBiL2xpYi9yZWFkbGluZS9rZXltYXBzLmMKaW5kZXggYTAzM2Q1ZS4uOTM3OWRlYyAxMDA2NDQKLS0tIGEvbGliL3JlYWRsaW5lL2tleW1hcHMuYworKysgYi9saWIvcmVhZGxpbmUva2V5bWFwcy5jCkBAIC01Nyw4ICs1Nyw5IEBACiBybF9tYWtlX2JhcmVfa2V5bWFwICgpCiB7CiAgIHJlZ2lzdGVyIGludCBpOwotICBLZXltYXAga2V5bWFwID0gKEtleW1hcCl4bWFsbG9jIChLRVlNQVBfU0laRSAqIHNpemVvZiAoS0VZTUFQX0VOVFJZKSk7CisgIEtleW1hcCBrZXltYXA7CiAKKyAga2V5bWFwID0gKEtleW1hcCl4bWFsbG9jIChLRVlNQVBfU0laRSAqIHNpemVvZiAoS0VZTUFQX0VOVFJZKSk7CiAgIGZvciAoaSA9IDA7IGkgPCBLRVlNQVBfU0laRTsgaSsrKQogICAgIHsKICAgICAgIGtleW1hcFtpXS50eXBlID0gSVNGVU5DOwpAQCAtNzYsNyArNzcsOCBAQAogICByZXR1cm4gKGtleW1hcCk7CiB9CiAKLS8qIFJldHVybiBhIG5ldyBrZXltYXAgd2hpY2ggaXMgYSBjb3B5IG9mIE1BUC4gKi8KKy8qIFJldHVybiBhIG5ldyBrZXltYXAgd2hpY2ggaXMgYSBjb3B5IG9mIE1BUC4gIEp1c3QgY29waWVzIHBvaW50ZXJzLCBkb2VzCisgICBub3QgY29weSB0ZXh0IG9mIG1hY3JvcyBvciBkZXNjZW5kIGludG8gY2hpbGQga2V5bWFwcy4gKi8KIEtleW1hcAogcmxfY29weV9rZXltYXAgKG1hcCkKICAgICAgS2V5bWFwIG1hcDsKQEAgLTEyOCw3ICsxMzAsNyBAQAogewogICBpbnQgaTsKIAotICBpZiAoIW1hcCkKKyAgaWYgKG1hcCA9PSAwKQogICAgIHJldHVybjsKIAogICBmb3IgKGkgPSAwOyBpIDwgS0VZTUFQX1NJWkU7IGkrKykKQEAgLTE0MCw2ICsxNDIsNyBAQAogCiAJY2FzZSBJU0tNQVA6CiAJICBybF9kaXNjYXJkX2tleW1hcCAoKEtleW1hcCltYXBbaV0uZnVuY3Rpb24pOworCSAgZnJlZSAoKGNoYXIgKiltYXBbaV0uZnVuY3Rpb24pOwogCSAgYnJlYWs7CiAKIAljYXNlIElTTUFDUjoKQEAgLTE0OCwzICsxNTEsMTIgQEAKIAl9CiAgICAgfQogfQorCisvKiBDb252ZW5pZW5jZSBmdW5jdGlvbiB0aGF0IGRpc2NhcmRzLCB0aGVuIGZyZWVzLCBNQVAuICovCit2b2lkCitybF9mcmVlX2tleW1hcCAobWFwKQorICAgICBLZXltYXAgbWFwOworeworICBybF9kaXNjYXJkX2tleW1hcCAobWFwKTsKKyAgZnJlZSAoKGNoYXIgKiltYXApOworfQpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL21idXRpbC5jIGIvbGliL3JlYWRsaW5lL21idXRpbC5jCmluZGV4IDg1ODg0MmUuLmVlYjdlNTUgMTAwNjQ0Ci0tLSBhL2xpYi9yZWFkbGluZS9tYnV0aWwuYworKysgYi9saWIvcmVhZGxpbmUvbWJ1dGlsLmMKQEAgLTc3LDcgKzc3LDcgQEAKICAgICAgY2hhciAqc3RyaW5nOwogICAgICBpbnQgc2VlZCwgY291bnQsIGZpbmRfbm9uX3plcm87CiB7Ci0gIHNpemVfdCB0bXA7CisgIHNpemVfdCB0bXAsIGxlbjsKICAgbWJzdGF0ZV90IHBzOwogICBpbnQgcG9pbnQ7CiAgIHdjaGFyX3Qgd2M7CkBAIC05OSw3ICs5OSwxMCBAQAogCiAgIHdoaWxlIChjb3VudCA+IDApICAKICAgICB7Ci0gICAgICB0bXAgPSBtYnJ0b3djICgmd2MsIHN0cmluZytwb2ludCwgc3RybGVuKHN0cmluZyArIHBvaW50KSwgJnBzKTsKKyAgICAgIGxlbiA9IHN0cmxlbiAoc3RyaW5nICsgcG9pbnQpOworICAgICAgaWYgKGxlbiA9PSAwKQorCWJyZWFrOworICAgICAgdG1wID0gbWJydG93YyAoJndjLCBzdHJpbmcrcG9pbnQsIGxlbiwgJnBzKTsKICAgICAgIGlmIChNQl9JTlZBTElEQ0ggKChzaXplX3QpdG1wKSkKIAl7CiAJICAvKiBpbnZhbGlkIGJ5dGVzLiBhc3N1bWUgYSBieXRlIHJlcHJlc2VudHMgYSBjaGFyYWN0ZXIgKi8KZGlmZiAtLWdpdCBhL2xpYi9yZWFkbGluZS9wYXJlbnMuYyBiL2xpYi9yZWFkbGluZS9wYXJlbnMuYwppbmRleCBmMTVkMjZmLi45Yzk4NDg4IDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvcGFyZW5zLmMKKysrIGIvbGliL3JlYWRsaW5lL3BhcmVucy5jCkBAIC0zOCwxNiArMzgsNyBAQAogIyAgaW5jbHVkZSA8dW5pc3RkLmg+CiAjZW5kaWYKIAotI2lmIGRlZmluZWQgKEZEX1NFVCkgJiYgIWRlZmluZWQgKEhBVkVfU0VMRUNUKQotIyAgZGVmaW5lIEhBVkVfU0VMRUNUCi0jZW5kaWYKLQotI2lmIGRlZmluZWQgKEhBVkVfU0VMRUNUKQotIyAgaW5jbHVkZSA8c3lzL3RpbWUuaD4KLSNlbmRpZiAvKiBIQVZFX1NFTEVDVCAqLwotI2lmIGRlZmluZWQgKEhBVkVfU1lTX1NFTEVDVF9IKQotIyAgaW5jbHVkZSA8c3lzL3NlbGVjdC5oPgotI2VuZGlmCisjaW5jbHVkZSAicG9zaXhzZWxlY3QuaCIKIAogI2lmIGRlZmluZWQgKEhBVkVfU1RSSU5HX0gpCiAjICBpbmNsdWRlIDxzdHJpbmcuaD4KQEAgLTEzMCw4ICsxMjEsNyBAQAogCiAgICAgICBGRF9aRVJPICgmcmVhZGZkcyk7CiAgICAgICBGRF9TRVQgKGZpbGVubyAocmxfaW5zdHJlYW0pLCAmcmVhZGZkcyk7Ci0gICAgICB0aW1lci50dl9zZWMgPSAwOwotICAgICAgdGltZXIudHZfdXNlYyA9IF9wYXJlbl9ibGlua191c2VjOworICAgICAgVVNFQ19UT19USU1FVkFMIChfcGFyZW5fYmxpbmtfdXNlYywgdGltZXIpOwogCiAgICAgICBvcmlnX3BvaW50ID0gcmxfcG9pbnQ7CiAgICAgICBybF9wb2ludCA9IG1hdGNoX3BvaW50OwpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL3JlYWRsaW5lLmMgYi9saWIvcmVhZGxpbmUvcmVhZGxpbmUuYwppbmRleCAzNTUwYjM1Li5jMGU3OGQ0IDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvcmVhZGxpbmUuYworKysgYi9saWIvcmVhZGxpbmUvcmVhZGxpbmUuYwpAQCAtMjc1LDYgKzI3NSwxMCBAQAogICAgaXRzIGluaXRpYWwgc3RhdGUuICovCiBpbnQgX3JsX3JldmVydF9hbGxfYXRfbmV3bGluZSA9IDA7CiAKKy8qIE5vbi16ZXJvIG1lYW5zIHRvIGhvbm9yIHRoZSB0ZXJtaW9zIEVDSE9DVEwgYml0IGFuZCBlY2hvIGNvbnRyb2wKKyAgIGNoYXJhY3RlcnMgY29ycmVzcG9uZGluZyB0byBrZXlib2FyZC1nZW5lcmF0ZWQgc2lnbmFscy4gKi8KK2ludCBfcmxfZWNob19jb250cm9sX2NoYXJzID0gMTsKKwogLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogLyoJCQkJCQkJCSAgICAqLwogLyoJCQlUb3AgTGV2ZWwgRnVuY3Rpb25zCQkJICAgICovCkBAIC02ODYsNyArNjkwLDggQEAKICAgICByID0gY3h0LT5jaGlsZHZhbDsKIAogICAvKiBGb3Igbm93ICovCi0gIHIgPSBfcmxfc3Vic2VxX3Jlc3VsdCAociwgY3h0LT5vbGRtYXAsIGN4dC0+b2tleSwgKGN4dC0+ZmxhZ3MgJiBLU0VRX1NVQlNFUSkpOworICBpZiAociAhPSAtMykJLyogZG9uJ3QgZG8gdGhpcyBpZiB3ZSBpbmRpY2F0ZSB0aGVyZSB3aWxsIGJlIG90aGVyIG1hdGNoZXMgKi8KKyAgICByID0gX3JsX3N1YnNlcV9yZXN1bHQgKHIsIGN4dC0+b2xkbWFwLCBjeHQtPm9rZXksIChjeHQtPmZsYWdzICYgS1NFUV9TVUJTRVEpKTsKIAogICBSTF9DSEVDS19TSUdOQUxTICgpOwogICBpZiAociA9PSAwKQkJCS8qIHN1Y2Nlc3MhICovCkBAIC04MzEsNyArODM2LDcgQEAKIAkgICAgewogCSAgICAgIC8qIFJldHVybiAwIG9ubHkgdGhlIGZpcnN0IHRpbWUsIHRvIGluZGljYXRlIHN1Y2Nlc3MgdG8KIAkJIF9ybF9jYWxsYmFja19yZWFkX2NoYXIuICBUaGUgcmVzdCBvZiB0aGUgdGltZSwgd2UncmUgY2FsbGVkCi0JCSBmcm9tIF9ybF9kaXNwYXRjaF9jYWxsYmFjaywgc28gd2UgcmV0dXJuIDMgdG8gaW5kaWNhdGUKKwkJIGZyb20gX3JsX2Rpc3BhdGNoX2NhbGxiYWNrLCBzbyB3ZSByZXR1cm4gLTMgdG8gaW5kaWNhdGUKIAkJIHNwZWNpYWwgaGFuZGxpbmcgaXMgbmVjZXNzYXJ5LiAqLwogCSAgICAgIHIgPSBSTF9JU1NUQVRFIChSTF9TVEFURV9NVUxUSUtFWSkgPyAtMyA6IDA7CiAJICAgICAgY3h0ID0gX3JsX2tleXNlcV9jeHRfYWxsb2MgKCk7CkBAIC04OTUsNyArOTAwLDcgQEAKICAgS2V5bWFwIG07CiAgIGludCB0eXBlLCBudDsKICAgcmxfY29tbWFuZF9mdW5jX3QgKmZ1bmMsICpuZjsKLSAgCisKICAgaWYgKHIgPT0gLTIpCiAgICAgLyogV2UgZGlkbid0IG1hdGNoIGFueXRoaW5nLCBhbmQgdGhlIGtleW1hcCB3ZSdyZSBpbmRleGVkIGludG8KICAgICAgICBzaGFkb3dlZCBhIGZ1bmN0aW9uIHByZXZpb3VzbHkgYm91bmQgdG8gdGhhdCBwcmVmaXguICBDYWxsCkBAIC0xMTY5LDYgKzExNzQsMTAgQEAKIAogI2lmIGRlZmluZWQgKFZJX01PREUpCiAgIGJpbmRfYXJyb3dfa2V5c19pbnRlcm5hbCAodmlfbW92ZW1lbnRfa2V5bWFwKTsKKyAgLyogVW5iaW5kIHZpX21vdmVtZW50X2tleW1hcFtFU0NdIHRvIGFsbG93IHVzZXJzIHRvIHJlcGVhdGVkbHkgaGl0IEVTQworICAgICBpbiB2aSBjb21tYW5kIG1vZGUgd2hpbGUgc3RpbGwgYWxsb3dpbmcgdGhlIGFycm93IGtleXMgdG8gd29yay4gKi8KKyAgaWYgKHZpX21vdmVtZW50X2tleW1hcFtFU0NdLnR5cGUgPT0gSVNLTUFQKQorICAgIHJsX2JpbmRfa2V5c2VxX2luX21hcCAoIlwwMzMiLCAocmxfY29tbWFuZF9mdW5jX3QgKilOVUxMLCB2aV9tb3ZlbWVudF9rZXltYXApOwogICBiaW5kX2Fycm93X2tleXNfaW50ZXJuYWwgKHZpX2luc2VydGlvbl9rZXltYXApOwogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9saWIvcmVhZGxpbmUvcmVhZGxpbmUuaCBiL2xpYi9yZWFkbGluZS9yZWFkbGluZS5oCmluZGV4IGZhMDJkZWMuLjdhNGZmYWEgMTAwNjQ0Ci0tLSBhL2xpYi9yZWFkbGluZS9yZWFkbGluZS5oCisrKyBiL2xpYi9yZWFkbGluZS9yZWFkbGluZS5oCkBAIC05NSw2ICs5NSw3IEBACiBleHRlcm4gaW50IHJsX2JhY2t3YXJkX3dvcmQgUEFSQU1TKChpbnQsIGludCkpOwogZXh0ZXJuIGludCBybF9yZWZyZXNoX2xpbmUgUEFSQU1TKChpbnQsIGludCkpOwogZXh0ZXJuIGludCBybF9jbGVhcl9zY3JlZW4gUEFSQU1TKChpbnQsIGludCkpOworZXh0ZXJuIGludCBybF9za2lwX2NzaV9zZXF1ZW5jZSBQQVJBTVMoKGludCwgaW50KSk7CiBleHRlcm4gaW50IHJsX2Fycm93X2tleXMgUEFSQU1TKChpbnQsIGludCkpOwogCiAvKiBCaW5kYWJsZSBjb21tYW5kcyBmb3IgaW5zZXJ0aW5nIGFuZCBkZWxldGluZyB0ZXh0LiAqLwpAQCAtMTUwLDcgKzE1MSw5IEBACiBleHRlcm4gaW50IHJsX2NvbXBsZXRlIFBBUkFNUygoaW50LCBpbnQpKTsKIGV4dGVybiBpbnQgcmxfcG9zc2libGVfY29tcGxldGlvbnMgUEFSQU1TKChpbnQsIGludCkpOwogZXh0ZXJuIGludCBybF9pbnNlcnRfY29tcGxldGlvbnMgUEFSQU1TKChpbnQsIGludCkpOworZXh0ZXJuIGludCBybF9vbGRfbWVudV9jb21wbGV0ZSBQQVJBTVMoKGludCwgaW50KSk7CiBleHRlcm4gaW50IHJsX21lbnVfY29tcGxldGUgUEFSQU1TKChpbnQsIGludCkpOworZXh0ZXJuIGludCBybF9iYWNrd2FyZF9tZW51X2NvbXBsZXRlIFBBUkFNUygoaW50LCBpbnQpKTsKIAogLyogQmluZGFibGUgY29tbWFuZHMgZm9yIGtpbGxpbmcgYW5kIHlhbmtpbmcgdGV4dCwgYW5kIG1hbmFnaW5nIHRoZSBraWxsIHJpbmcuICovCiBleHRlcm4gaW50IHJsX2tpbGxfd29yZCBQQVJBTVMoKGludCwgaW50KSk7CkBAIC02NzUsNiArNjc4LDE3IEBACiAgICB5ZXQsIHNvIGl0J3MgdW5kb2N1bWVudGVkLiAqLwogZXh0ZXJuIHJsX2ljcHBmdW5jX3QgKnJsX2RpcmVjdG9yeV9yZXdyaXRlX2hvb2s7CiAKKy8qIElmIG5vbi16ZXJvLCB0aGlzIGlzIHRoZSBhZGRyZXNzIG9mIGEgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIHJlYWRpbmcKKyAgIGRpcmVjdG9yeSBlbnRyaWVzIGZyb20gdGhlIGZpbGVzeXN0ZW0gZm9yIGNvbXBsZXRpb24gYW5kIGNvbXBhcmluZworICAgdGhlbSB0byB0aGUgcGFydGlhbCB3b3JkIHRvIGJlIGNvbXBsZXRlZC4gIFRoZSBmdW5jdGlvbiBzaG91bGQKKyAgIGVpdGhlciByZXR1cm4gaXRzIGZpcnN0IGFyZ3VtZW50IChpZiBubyBjb252ZXJzaW9uIHRha2VzIHBsYWNlKSBvcgorICAgbmV3bHktYWxsb2NhdGVkIG1lbW9yeS4gIFRoaXMgY2FuLCBmb3IgaW5zdGFuY2UsIGNvbnZlcnQgZmlsZW5hbWVzCisgICBiZXR3ZWVuIGNoYXJhY3RlciBzZXRzIGZvciBjb21wYXJpc29uIGFnYWluc3Qgd2hhdCdzIHR5cGVkIGF0IHRoZQorICAga2V5Ym9hcmQuICBUaGUgcmV0dXJuZWQgdmFsdWUgaXMgd2hhdCBpcyBhZGRlZCB0byB0aGUgbGlzdCBvZgorICAgbWF0Y2hlcy4gIFRoZSBzZWNvbmQgYXJndW1lbnQgaXMgdGhlIGxlbmd0aCBvZiB0aGUgZmlsZW5hbWUgdG8gYmUKKyAgIGNvbnZlcnRlZC4gKi8KK2V4dGVybiBybF9kZXF1b3RlX2Z1bmNfdCAqcmxfZmlsZW5hbWVfcmV3cml0ZV9ob29rOworCiAvKiBCYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIHByZXZpb3VzIHZlcnNpb25zIG9mIHJlYWRsaW5lLiAqLwogI2RlZmluZSBybF9zeW1ib2xpY19saW5rX2hvb2sgcmxfZGlyZWN0b3J5X2NvbXBsZXRpb25faG9vawogCmRpZmYgLS1naXQgYS9saWIvcmVhZGxpbmUvcmxwcml2YXRlLmggYi9saWIvcmVhZGxpbmUvcmxwcml2YXRlLmgKaW5kZXggZjU3NWMxNC4uODE5ZjEyNyAxMDA2NDQKLS0tIGEvbGliL3JlYWRsaW5lL3JscHJpdmF0ZS5oCisrKyBiL2xpYi9yZWFkbGluZS9ybHByaXZhdGUuaApAQCAtMzAwLDYgKzMwMCw4IEBACiAKIGV4dGVybiB2b2lkIF9ybF9ibG9ja19zaWdpbnQgUEFSQU1TKCh2b2lkKSk7CiBleHRlcm4gdm9pZCBfcmxfcmVsZWFzZV9zaWdpbnQgUEFSQU1TKCh2b2lkKSk7CitleHRlcm4gdm9pZCBfcmxfYmxvY2tfc2lnd2luY2ggUEFSQU1TKCh2b2lkKSk7CitleHRlcm4gdm9pZCBfcmxfcmVsZWFzZV9zaWd3aW5jaCBQQVJBTVMoKHZvaWQpKTsKIAogLyogdGVybWluYWwuYyAqLwogZXh0ZXJuIHZvaWQgX3JsX2dldF9zY3JlZW5fc2l6ZSBQQVJBTVMoKGludCwgaW50KSk7CkBAIC0zNDcsNiArMzQ5LDcgQEAKIGV4dGVybiBpbnQgX3JsX3Ryb3BlbiBQQVJBTVMoKHZvaWQpKTsKIAogZXh0ZXJuIGludCBfcmxfYWJvcnRfaW50ZXJuYWwgUEFSQU1TKCh2b2lkKSk7CitleHRlcm4gaW50IF9ybF9udWxsX2Z1bmN0aW9uIFBBUkFNUygoaW50LCBpbnQpKTsKIGV4dGVybiBjaGFyICpfcmxfc3RyaW5kZXggUEFSQU1TKChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKikpOwogZXh0ZXJuIGludCBfcmxfcXNvcnRfc3RyaW5nX2NvbXBhcmUgUEFSQU1TKChjaGFyICoqLCBjaGFyICoqKSk7CiBleHRlcm4gaW50IChfcmxfdXBwZXJjYXNlX3ApIFBBUkFNUygoaW50KSk7CkBAIC0zODYsNiArMzg5LDcgQEAKIGV4dGVybiBpbnQgX3JsX2NvbXBsZXRpb25fY2FzZV9mb2xkOwogZXh0ZXJuIGludCBfcmxfbWF0Y2hfaGlkZGVuX2ZpbGVzOwogZXh0ZXJuIGludCBfcmxfcGFnZV9jb21wbGV0aW9uczsKK2V4dGVybiBpbnQgX3JsX3NraXBfY29tcGxldGVkX3RleHQ7CiAKIC8qIGRpc3BsYXkuYyAqLwogZXh0ZXJuIGludCBfcmxfdmlzX2JvdGxpbjsKQEAgLTQxNyw2ICs0MjEsNyBAQAogZXh0ZXJuIGludCBfcmxfb3V0cHV0X21ldGFfY2hhcnM7CiBleHRlcm4gaW50IF9ybF9iaW5kX3N0dHlfY2hhcnM7CiBleHRlcm4gaW50IF9ybF9yZXZlcnRfYWxsX2F0X25ld2xpbmU7CitleHRlcm4gaW50IF9ybF9lY2hvX2NvbnRyb2xfY2hhcnM7CiBleHRlcm4gY2hhciAqX3JsX2NvbW1lbnRfYmVnaW47CiBleHRlcm4gdW5zaWduZWQgY2hhciBfcmxfcGFyc2luZ19jb25kaXRpb25hbGl6ZWRfb3V0OwogZXh0ZXJuIEtleW1hcCBfcmxfa2V5bWFwOwpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL3JsdHR5LmMgYi9saWIvcmVhZGxpbmUvcmx0dHkuYwppbmRleCA2MWY5MTAzLi4wZGQ1ZDEwIDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvcmx0dHkuYworKysgYi9saWIvcmVhZGxpbmUvcmx0dHkuYwpAQCAtNTE3LDcgKzUxNyw5IEBACiAgICAgIFRJT1RZUEUgb2xkdGlvLCAqdGlvcDsKIHsKICAgX3JsX2VjaG9pbmdfcCA9IChvbGR0aW8uY19sZmxhZyAmIEVDSE8pOworI2lmIGRlZmluZWQgKEVDSE9DVEwpCiAgIF9ybF9lY2hvY3RsID0gKG9sZHRpby5jX2xmbGFnICYgRUNIT0NUTCk7CisjZW5kaWYKIAogICB0aW9wLT5jX2xmbGFnICY9IH4oSUNBTk9OIHwgRUNITyk7CiAKZGlmZiAtLWdpdCBhL2xpYi9yZWFkbGluZS9zaWduYWxzLmMgYi9saWIvcmVhZGxpbmUvc2lnbmFscy5jCmluZGV4IDMyNWFlOGMuLjRmYmMwMTkgMTAwNjQ0Ci0tLSBhL2xpYi9yZWFkbGluZS9zaWduYWxzLmMKKysrIGIvbGliL3JlYWRsaW5lL3NpZ25hbHMuYwpAQCAtMTAxLDcgKzEwMSw4IEBACiBpbnQgX3JsX2ludGVycnVwdF9pbW1lZGlhdGVseSA9IDA7CiBpbnQgdm9sYXRpbGUgX3JsX2NhdWdodF9zaWduYWwgPSAwOwkvKiBzaG91bGQgYmUgc2lnX2F0b21pY190LCBidXQgdGhhdCByZXF1aXJlcyBpbmNsdWRpbmcgPHNpZ25hbC5oPiBldmVyeXdoZXJlICovCiAKLS8qIElmIG5vbi16ZXJvLCBwcmludCBjaGFyYWN0ZXJzIGNvcnJlc3BvbmRpbmcgdG8gcmVjZWl2ZWQgc2lnbmFscy4gKi8KKy8qIElmIG5vbi16ZXJvLCBwcmludCBjaGFyYWN0ZXJzIGNvcnJlc3BvbmRpbmcgdG8gcmVjZWl2ZWQgc2lnbmFscyBhcyBsb25nIGFzCisgICB0aGUgdXNlciBoYXMgaW5kaWNhdGVkIGhpcyBkZXNpcmUgdG8gZG8gc28gKF9ybF9lY2hvX2NvbnRyb2xfY2hhcnMpLiAqLwogaW50IF9ybF9lY2hvY3RsID0gMDsKIAogaW50IF9ybF9pbnRyX2NoYXIgPSAwOwpAQCAtMTQxLDEzICsxNDIsMTQgQEAKIHJsX3NpZ25hbF9oYW5kbGVyIChzaWcpCiAgICAgIGludCBzaWc7CiB7Ci0gIGlmIChfcmxfaW50ZXJydXB0X2ltbWVkaWF0ZWx5KQorICBpZiAoX3JsX2ludGVycnVwdF9pbW1lZGlhdGVseSB8fCBSTF9JU1NUQVRFKFJMX1NUQVRFX0NBTExCQUNLKSkKICAgICB7CiAgICAgICBfcmxfaW50ZXJydXB0X2ltbWVkaWF0ZWx5ID0gMDsKICAgICAgIF9ybF9oYW5kbGVfc2lnbmFsIChzaWcpOwogICAgIH0KKyAgZWxzZQorICAgIF9ybF9jYXVnaHRfc2lnbmFsID0gc2lnOwogCi0gIF9ybF9jYXVnaHRfc2lnbmFsID0gc2lnOwogICBTSUdIQU5ETEVSX1JFVFVSTjsKIH0KIApAQCAtNTE4LDEzICs1MjAsMTYgQEAKIAogI2lmIGRlZmluZWQgKEhBVkVfUE9TSVhfU0lHTkFMUykKIHN0YXRpYyBzaWdzZXRfdCBzaWdpbnRfc2V0LCBzaWdpbnRfb3NldDsKK3N0YXRpYyBzaWdzZXRfdCBzaWd3aW5jaF9zZXQsIHNpZ3dpbmNoX29zZXQ7CiAjZWxzZSAvKiAhSEFWRV9QT1NJWF9TSUdOQUxTICovCiAjICBpZiBkZWZpbmVkIChIQVZFX0JTRF9TSUdOQUxTKQogc3RhdGljIGludCBzaWdpbnRfb2xkbWFzazsKK3N0YXRpYyBpbnQgc2lnd2luY2hfb2xkbWFzazsKICMgIGVuZGlmIC8qIEhBVkVfQlNEX1NJR05BTFMgKi8KICNlbmRpZiAvKiAhSEFWRV9QT1NJWF9TSUdOQUxTICovCiAKIHN0YXRpYyBpbnQgc2lnaW50X2Jsb2NrZWQ7CitzdGF0aWMgaW50IHNpZ3dpbmNoX2Jsb2NrZWQ7CiAKIC8qIENhdXNlIFNJR0lOVCB0byBub3QgYmUgZGVsaXZlcmVkIHVudGlsIHRoZSBjb3JyZXNwb25kaW5nIGNhbGwgdG8KICAgIHJlbGVhc2Vfc2lnaW50KCkuICovCkBAIC01NzQsNiArNTc5LDU0IEBACiAgIHNpZ2ludF9ibG9ja2VkID0gMDsKIH0KIAorLyogQ2F1c2UgU0lHV0lOQ0ggdG8gbm90IGJlIGRlbGl2ZXJlZCB1bnRpbCB0aGUgY29ycmVzcG9uZGluZyBjYWxsIHRvCisgICByZWxlYXNlX3NpZ3dpbmNoKCkuICovCit2b2lkCitfcmxfYmxvY2tfc2lnd2luY2ggKCkKK3sKKyAgaWYgKHNpZ3dpbmNoX2Jsb2NrZWQpCisgICAgcmV0dXJuOworCisjaWYgZGVmaW5lZCAoSEFWRV9QT1NJWF9TSUdOQUxTKQorICBzaWdlbXB0eXNldCAoJnNpZ3dpbmNoX3NldCk7CisgIHNpZ2VtcHR5c2V0ICgmc2lnd2luY2hfb3NldCk7CisgIHNpZ2FkZHNldCAoJnNpZ3dpbmNoX3NldCwgU0lHV0lOQ0gpOworICBzaWdwcm9jbWFzayAoU0lHX0JMT0NLLCAmc2lnd2luY2hfc2V0LCAmc2lnd2luY2hfb3NldCk7CisjZWxzZSAvKiAhSEFWRV9QT1NJWF9TSUdOQUxTICovCisjICBpZiBkZWZpbmVkIChIQVZFX0JTRF9TSUdOQUxTKQorICBzaWd3aW5jaF9vbGRtYXNrID0gc2lnYmxvY2sgKHNpZ21hc2sgKFNJR1dJTkNIKSk7CisjICBlbHNlIC8qICFIQVZFX0JTRF9TSUdOQUxTICovCisjICAgIGlmIGRlZmluZWQgKEhBVkVfVVNHX1NJR0hPTEQpCisgIHNpZ2hvbGQgKFNJR1dJTkNIKTsKKyMgICAgZW5kaWYgLyogSEFWRV9VU0dfU0lHSE9MRCAqLworIyAgZW5kaWYgLyogIUhBVkVfQlNEX1NJR05BTFMgKi8KKyNlbmRpZiAvKiAhSEFWRV9QT1NJWF9TSUdOQUxTICovCisKKyAgc2lnd2luY2hfYmxvY2tlZCA9IDE7Cit9CisKKy8qIEFsbG93IFNJR1dJTkNIIHRvIGJlIGRlbGl2ZXJlZC4gKi8KK3ZvaWQKK19ybF9yZWxlYXNlX3NpZ3dpbmNoICgpCit7CisgIGlmIChzaWd3aW5jaF9ibG9ja2VkID09IDApCisgICAgcmV0dXJuOworCisjaWYgZGVmaW5lZCAoSEFWRV9QT1NJWF9TSUdOQUxTKQorICBzaWdwcm9jbWFzayAoU0lHX1NFVE1BU0ssICZzaWd3aW5jaF9vc2V0LCAoc2lnc2V0X3QgKilOVUxMKTsKKyNlbHNlCisjICBpZiBkZWZpbmVkIChIQVZFX0JTRF9TSUdOQUxTKQorICBzaWdzZXRtYXNrIChzaWd3aW5jaF9vbGRtYXNrKTsKKyMgIGVsc2UgLyogIUhBVkVfQlNEX1NJR05BTFMgKi8KKyMgICAgaWYgZGVmaW5lZCAoSEFWRV9VU0dfU0lHSE9MRCkKKyAgc2lncmVsc2UgKFNJR1dJTkNIKTsKKyMgICAgZW5kaWYgLyogSEFWRV9VU0dfU0lHSE9MRCAqLworIyAgZW5kaWYgLyogIUhBVkVfQlNEX1NJR05BTFMgKi8KKyNlbmRpZiAvKiAhSEFWRV9QT1NJWF9TSUdOQUxTICovCisKKyAgc2lnd2luY2hfYmxvY2tlZCA9IDA7Cit9CisKIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KIC8qCQkJCQkJCQkgICAgKi8KIC8qCQlFY2hvaW5nIHNwZWNpYWwgY29udHJvbCBjaGFyYWN0ZXJzCQkgICAgKi8KQEAgLTU4NiwxNCArNjM5LDE4IEBACiAgIGNoYXIgY3N0clszXTsKICAgaW50IGNzbGVuLCBjOwogCi0gIGlmIChfcmxfZWNob2N0bCA9PSAwKQorICBpZiAoX3JsX2VjaG9jdGwgPT0gMCB8fCBfcmxfZWNob19jb250cm9sX2NoYXJzID09IDApCiAgICAgcmV0dXJuOwogCiAgIHN3aXRjaCAoc2lnKQogICAgIHsKICAgICBjYXNlIFNJR0lOVDogIGMgPSBfcmxfaW50cl9jaGFyOyBicmVhazsKKyNpZiBkZWZpbmVkIChTSUdRVUlUKQogICAgIGNhc2UgU0lHUVVJVDogYyA9IF9ybF9xdWl0X2NoYXI7IGJyZWFrOworI2VuZGlmCisjaWYgZGVmaW5lZCAoU0lHVFNUUCkKICAgICBjYXNlIFNJR1RTVFA6IGMgPSBfcmxfc3VzcF9jaGFyOyBicmVhazsKKyNlbmRpZgogICAgIGRlZmF1bHQ6IHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL2xpYi9yZWFkbGluZS90ZXJtaW5hbC5jIGIvbGliL3JlYWRsaW5lL3Rlcm1pbmFsLmMKaW5kZXggNzY4ZWM5Yi4uZWUxMzA5MiAxMDA2NDQKLS0tIGEvbGliL3JlYWRsaW5lL3Rlcm1pbmFsLmMKKysrIGIvbGliL3JlYWRsaW5lL3Rlcm1pbmFsLmMKQEAgLTUyOCw4ICs1MjgsOCBAQAogCiAgIC8qIENoZWNrIHRvIHNlZSBpZiB0aGlzIHRlcm1pbmFsIGhhcyBhIG1ldGEga2V5IGFuZCBjbGVhciB0aGUgY2FwYWJpbGl0eQogICAgICB2YXJpYWJsZXMgaWYgdGhlcmUgaXMgbm9uZS4gKi8KLSAgdGVybV9oYXNfbWV0YSA9ICh0Z2V0ZmxhZyAoImttIikgfHwgdGdldGZsYWcgKCJNVCIpKTsKLSAgaWYgKCF0ZXJtX2hhc19tZXRhKQorICB0ZXJtX2hhc19tZXRhID0gdGdldGZsYWcgKCJrbSIpICE9IDA7CisgIGlmICh0ZXJtX2hhc19tZXRhID09IDApCiAgICAgX3JsX3Rlcm1fbW0gPSBfcmxfdGVybV9tbyA9IChjaGFyICopTlVMTDsKIAogICAvKiBBdHRlbXB0IHRvIGZpbmQgYW5kIGJpbmQgdGhlIGFycm93IGtleXMuICBEbyBub3Qgb3ZlcnJpZGUgYWxyZWFkeQpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL3RleHQuYyBiL2xpYi9yZWFkbGluZS90ZXh0LmMKaW5kZXggNjUyYjMwNi4uZmMzOTE4OSAxMDA2NDQKLS0tIGEvbGliL3JlYWRsaW5lL3RleHQuYworKysgYi9saWIvcmVhZGxpbmUvdGV4dC5jCkBAIC02Nyw2ICs2NywxMCBAQAogc3RhdGljIGludCBfcmxfY2hhcl9zZWFyY2hfY2FsbGJhY2sgUEFSQU1TKChfcmxfY2FsbGJhY2tfZ2VuZXJpY19hcmcgKikpOwogI2VuZGlmCiAKKy8qIFRoZSBsYXJnZXN0IGNodW5rIG9mIHRleHQgdGhhdCBjYW4gYmUgaW5zZXJ0ZWQgaW4gb25lIGNhbGwgdG8KKyAgIHJsX2luc2VydF90ZXh0LiAgVGV4dCBibG9ja3MgbGFyZ2VyIHRoYW4gdGhpcyBhcmUgZGl2aWRlZC4gKi8KKyNkZWZpbmUgVEVYVF9DT1VOVF9NQVgJMTAyNAorCiAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiAvKgkJCQkJCQkJICAgICovCiAvKgkJCUluc2VydCBhbmQgRGVsZXRlCQkJICAgICovCkBAIC0xODUsMTAgKzE4OSwxMyBAQAogewogICBpbnQgbjsKIAorICBuID0gMDsKICAgcmxfYmVnaW5fdW5kb19ncm91cCAoKTsKLSAgcmxfZGVsZXRlX3RleHQgKHN0YXJ0LCBlbmQgKyAxKTsKKyAgaWYgKHN0YXJ0IDw9IGVuZCkKKyAgICBybF9kZWxldGVfdGV4dCAoc3RhcnQsIGVuZCArIDEpOwogICBybF9wb2ludCA9IHN0YXJ0OwotICBuID0gcmxfaW5zZXJ0X3RleHQgKHRleHQpOworICBpZiAoKnRleHQpCisgICAgbiA9IHJsX2luc2VydF90ZXh0ICh0ZXh0KTsKICAgcmxfZW5kX3VuZG9fZ3JvdXAgKCk7CiAKICAgcmV0dXJuIG47CkBAIC01NzEsNiArNTc4LDIxIEBACiB9CiAKIGludAorcmxfc2tpcF9jc2lfc2VxdWVuY2UgKGNvdW50LCBrZXkpCisgICAgIGludCBjb3VudCwga2V5OworeworICBpbnQgY2g7CisKKyAgUkxfU0VUU1RBVEUgKFJMX1NUQVRFX01PUkVJTlBVVCk7CisgIGRvCisgICAgY2ggPSBybF9yZWFkX2tleSAoKTsKKyAgd2hpbGUgKGNoID49IDB4MjAgJiYgY2ggPCAweDQwKTsKKyAgUkxfVU5TRVRTVEFURSAoUkxfU1RBVEVfTU9SRUlOUFVUKTsKKworICByZXR1cm4gMDsKK30KKworaW50CiBybF9hcnJvd19rZXlzIChjb3VudCwgYykKICAgICAgaW50IGNvdW50LCBjOwogewpAQCAtNzA3LDcgKzcyOSw3IEBACiAJICAKICAgLyogSWYgd2UgY2FuIG9wdGltaXplLCB0aGVuIGRvIGl0LiAgQnV0IGRvbid0IGxldCBwZW9wbGUgY3Jhc2gKICAgICAgcmVhZGxpbmUgYmVjYXVzZSBvZiBleHRyYSBsYXJnZSBhcmd1bWVudHMuICovCi0gIGlmIChjb3VudCA+IDEgJiYgY291bnQgPD0gMTAyNCkKKyAgaWYgKGNvdW50ID4gMSAmJiBjb3VudCA8PSBURVhUX0NPVU5UX01BWCkKICAgICB7CiAjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkKICAgICAgIHN0cmluZ19zaXplID0gY291bnQgKiBpbmNvbWluZ19sZW5ndGg7CkBAIC03MzUsMTEgKzc1NywxMSBAQAogICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gIGlmIChjb3VudCA+IDEwMjQpCisgIGlmIChjb3VudCA+IFRFWFRfQ09VTlRfTUFYKQogICAgIHsKICAgICAgIGludCBkZWNyZWFzZXI7CiAjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkKLSAgICAgIHN0cmluZ19zaXplID0gaW5jb21pbmdfbGVuZ3RoICogMTAyNDsKKyAgICAgIHN0cmluZ19zaXplID0gaW5jb21pbmdfbGVuZ3RoICogVEVYVF9DT1VOVF9NQVg7CiAgICAgICBzdHJpbmcgPSAoY2hhciAqKXhtYWxsb2MgKDEgKyBzdHJpbmdfc2l6ZSk7CiAKICAgICAgIGkgPSAwOwpAQCAtNzUxLDcgKzc3Myw3IEBACiAKICAgICAgIHdoaWxlIChjb3VudCkKIAl7Ci0JICBkZWNyZWFzZXIgPSAoY291bnQgPiAxMDI0KSA/IDEwMjQgOiBjb3VudDsKKwkgIGRlY3JlYXNlciA9IChjb3VudCA+IFRFWFRfQ09VTlRfTUFYKSA/IFRFWFRfQ09VTlRfTUFYIDogY291bnQ7CiAJICBzdHJpbmdbZGVjcmVhc2VyKmluY29taW5nX2xlbmd0aF0gPSAnXDAnOwogCSAgcmxfaW5zZXJ0X3RleHQgKHN0cmluZyk7CiAJICBjb3VudCAtPSBkZWNyZWFzZXI7CkBAIC03NjEsMTQgKzc4MywxNCBAQAogICAgICAgaW5jb21pbmdfbGVuZ3RoID0gMDsKICAgICAgIHN0b3JlZF9jb3VudCA9IDA7CiAjZWxzZSAvKiAhSEFORExFX01VTFRJQllURSAqLwotICAgICAgY2hhciBzdHJbMTAyNCsxXTsKKyAgICAgIGNoYXIgc3RyW1RFWFRfQ09VTlRfTUFYKzFdOwogCi0gICAgICBmb3IgKGkgPSAwOyBpIDwgMTAyNDsgaSsrKQorICAgICAgZm9yIChpID0gMDsgaSA8IFRFWFRfQ09VTlRfTUFYOyBpKyspCiAJc3RyW2ldID0gYzsKIAogICAgICAgd2hpbGUgKGNvdW50KQogCXsKLQkgIGRlY3JlYXNlciA9IChjb3VudCA+IDEwMjQgPyAxMDI0IDogY291bnQpOworCSAgZGVjcmVhc2VyID0gKGNvdW50ID4gVEVYVF9DT1VOVF9NQVggPyBURVhUX0NPVU5UX01BWCA6IGNvdW50KTsKIAkgIHN0cltkZWNyZWFzZXJdID0gJ1wwJzsKIAkgIHJsX2luc2VydF90ZXh0IChzdHIpOwogCSAgY291bnQgLT0gZGVjcmVhc2VyOwpAQCAtMTEyOSw3ICsxMTUxLDcgQEAKIHJsX2RlbGV0ZV9ob3Jpem9udGFsX3NwYWNlIChjb3VudCwgaWdub3JlKQogICAgICBpbnQgY291bnQsIGlnbm9yZTsKIHsKLSAgaW50IHN0YXJ0ID0gcmxfcG9pbnQ7CisgIGludCBzdGFydDsKIAogICB3aGlsZSAocmxfcG9pbnQgJiYgd2hpdGVzcGFjZSAocmxfbGluZV9idWZmZXJbcmxfcG9pbnQgLSAxXSkpCiAgICAgcmxfcG9pbnQtLTsKQEAgLTEyNDcsNiArMTI2OSw3IEBACiAgIHdjaGFyX3Qgd2MsIG53YzsKICAgY2hhciBtYltNQl9MRU5fTUFYKzFdOwogICBpbnQgbWxlbjsKKyAgc2l6ZV90IG07CiAgIG1ic3RhdGVfdCBtcHM7CiAjZW5kaWYKIApAQCAtMTI5OSw3ICsxMzIyLDExIEBACiAjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkKICAgICAgIGVsc2UKIAl7Ci0JICBtYnJ0b3djICgmd2MsIHJsX2xpbmVfYnVmZmVyICsgc3RhcnQsIGVuZCAtIHN0YXJ0LCAmbXBzKTsKKwkgIG0gPSBtYnJ0b3djICgmd2MsIHJsX2xpbmVfYnVmZmVyICsgc3RhcnQsIGVuZCAtIHN0YXJ0LCAmbXBzKTsKKwkgIGlmIChNQl9JTlZBTElEQ0ggKG0pKQorCSAgICB3YyA9ICh3Y2hhcl90KXJsX2xpbmVfYnVmZmVyW3N0YXJ0XTsKKwkgIGVsc2UgaWYgKE1CX05VTExXQ0ggKG0pKQorCSAgICB3YyA9IEwnXDAnOwogCSAgbndjID0gKG5vcCA9PSBVcENhc2UpID8gX3JsX3RvX3d1cHBlciAod2MpIDogX3JsX3RvX3dsb3dlciAod2MpOwogCSAgaWYgIChud2MgIT0gd2MpCS8qICBqdXN0IHNraXAgdW5jaGFuZ2VkIGNoYXJhY3RlcnMgKi8KIAkgICAgewpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL3VuZG8uYyBiL2xpYi9yZWFkbGluZS91bmRvLmMKaW5kZXggYzBiYTYzMS4uZWIwNDJiMiAxMDA2NDQKLS0tIGEvbGliL3JlYWRsaW5lL3VuZG8uYworKysgYi9saWIvcmVhZGxpbmUvdW5kby5jCkBAIC0xMzksNiArMTM5LDkgQEAKIHsKICAgVU5ET19MSVNUICpsaXN0LCAqbmV3LCAqcm92aW5nLCAqYzsKIAorICBpZiAoaGVhZCA9PSAwKQorICAgIHJldHVybiBoZWFkOworCiAgIGxpc3QgPSBoZWFkOwogICBuZXcgPSAwOwogICB3aGlsZSAobGlzdCkKZGlmZiAtLWdpdCBhL2xpYi9yZWFkbGluZS91dGlsLmMgYi9saWIvcmVhZGxpbmUvdXRpbC5jCmluZGV4IDNhM2U5MWUuLjZiYjY0YzIgMTAwNjQ0Ci0tLSBhL2xpYi9yZWFkbGluZS91dGlsLmMKKysrIGIvbGliL3JlYWRsaW5lL3V0aWwuYwpAQCAtODEsOCArODEsNyBAQAogCiAjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkKIGludAotX3JsX3dhbHBoYWJldGljICh3YykKLSAgICAgd2NoYXJfdCB3YzsKK19ybF93YWxwaGFiZXRpYyAod2NoYXJfdCB3YykKIHsKICAgaW50IGM7CiAKQEAgLTEyMSw2ICsxMjAsMTMgQEAKIH0KIAogaW50CitfcmxfbnVsbF9mdW5jdGlvbiAoY291bnQsIGtleSkKKyAgICAgaW50IGNvdW50LCBrZXk7Cit7CisgIHJldHVybiAwOworfQorCitpbnQKIHJsX3R0eV9zdGF0dXMgKGNvdW50LCBrZXkpCiAgICAgIGludCBjb3VudCwga2V5OwogewpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL3ZpX2tleW1hcC5jIGIvbGliL3JlYWRsaW5lL3ZpX2tleW1hcC5jCmluZGV4IDM2NjMxNzMuLmJhNWEyN2IgMTAwNjQ0Ci0tLSBhL2xpYi9yZWFkbGluZS92aV9rZXltYXAuYworKysgYi9saWIvcmVhZGxpbmUvdmlfa2V5bWFwLmMKQEAgLTMyNiw5ICszMjYsOSBAQAogICB7IElTRlVOQywgcmxfaW5zZXJ0IH0sCQkJLyogQ29udHJvbC1rICovCiAgIHsgSVNGVU5DLCBybF9pbnNlcnQgfSwJCQkvKiBDb250cm9sLWwgKi8KICAgeyBJU0ZVTkMsIHJsX25ld2xpbmUgfSwJCQkvKiBDb250cm9sLW0gKi8KLSAgeyBJU0ZVTkMsIHJsX2luc2VydCB9LAkJCS8qIENvbnRyb2wtbiAqLworICB7IElTRlVOQywgcmxfbWVudV9jb21wbGV0ZX0sCQkJLyogQ29udHJvbC1uICovCiAgIHsgSVNGVU5DLCBybF9pbnNlcnQgfSwJCQkvKiBDb250cm9sLW8gKi8KLSAgeyBJU0ZVTkMsIHJsX2luc2VydCB9LAkJCS8qIENvbnRyb2wtcCAqLworICB7IElTRlVOQywgcmxfYmFja3dhcmRfbWVudV9jb21wbGV0ZSB9LAkvKiBDb250cm9sLXAgKi8KICAgeyBJU0ZVTkMsIHJsX2luc2VydCB9LAkJCS8qIENvbnRyb2wtcSAqLwogICB7IElTRlVOQywgcmxfcmV2ZXJzZV9zZWFyY2hfaGlzdG9yeSB9LAkvKiBDb250cm9sLXIgKi8KICAgeyBJU0ZVTkMsIHJsX2ZvcndhcmRfc2VhcmNoX2hpc3RvcnkgfSwJLyogQ29udHJvbC1zICovCmRpZmYgLS1naXQgYS9saWIvcmVhZGxpbmUvdmlfbW9kZS5jIGIvbGliL3JlYWRsaW5lL3ZpX21vZGUuYwppbmRleCA1ZjM1Y2YwLi4yYTEyMGMwIDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvdmlfbW9kZS5jCisrKyBiL2xpYi9yZWFkbGluZS92aV9tb2RlLmMKQEAgLTEzMSw5ICsxMzEsMTAgQEAKIHZvaWQKIF9ybF92aV9pbml0aWFsaXplX2xpbmUgKCkKIHsKLSAgcmVnaXN0ZXIgaW50IGk7CisgIHJlZ2lzdGVyIGludCBpLCBuOwogCi0gIGZvciAoaSA9IDA7IGkgPCBzaXplb2YgKHZpX21hcmtfY2hhcnMpIC8gc2l6ZW9mIChpbnQpOyBpKyspCisgIG4gPSBzaXplb2YgKHZpX21hcmtfY2hhcnMpIC8gc2l6ZW9mICh2aV9tYXJrX2NoYXJzWzBdKTsKKyAgZm9yIChpID0gMDsgaSA8IG47IGkrKykKICAgICB2aV9tYXJrX2NoYXJzW2ldID0gLTE7CiAKICAgUkxfVU5TRVRTVEFURShSTF9TVEFURV9WSUNNRE9OQ0UpOwpAQCAtNzY4LDYgKzc2OSw3IEBACiAgIHdjaGFyX3Qgd2M7CiAgIGNoYXIgbWJbTUJfTEVOX01BWCsxXTsKICAgaW50IG1sZW4sIHA7CisgIHNpemVfdCBtOwogICBtYnN0YXRlX3QgcHM7CiAKICAgbWVtc2V0ICgmcHMsIDAsIHNpemVvZiAobWJzdGF0ZV90KSk7CkBAIC03NzUsNyArNzc3LDExIEBACiAgICAgY291bnQtLTsKICAgd2hpbGUgKGNvdW50LS0gJiYgcmxfcG9pbnQgPCBybF9lbmQpCiAgICAgewotICAgICAgbWJydG93YyAoJndjLCBybF9saW5lX2J1ZmZlciArIHJsX3BvaW50LCBybF9lbmQgLSBybF9wb2ludCwgJnBzKTsKKyAgICAgIG0gPSBtYnJ0b3djICgmd2MsIHJsX2xpbmVfYnVmZmVyICsgcmxfcG9pbnQsIHJsX2VuZCAtIHJsX3BvaW50LCAmcHMpOworICAgICAgaWYgKE1CX0lOVkFMSURDSCAobSkpCisJd2MgPSAod2NoYXJfdClybF9saW5lX2J1ZmZlcltybF9wb2ludF07CisgICAgICBlbHNlIGlmIChNQl9OVUxMV0NIIChtKSkKKyAgICAgICAgd2MgPSBMJ1wwJzsKICAgICAgIGlmIChpc3d1cHBlciAod2MpKQogCXdjID0gdG93bG93ZXIgKHdjKTsKICAgICAgIGVsc2UgaWYgKGlzd2xvd2VyICh3YykpCmRpZmYgLS1naXQgYS9saWIvc2gvTWFrZWZpbGUuaW4gYi9saWIvc2gvTWFrZWZpbGUuaW4KaW5kZXggYzhkYjNhNS4uODBmNmNjNSAxMDA2NDQKLS0tIGEvbGliL3NoL01ha2VmaWxlLmluCisrKyBiL2xpYi9zaC9NYWtlZmlsZS5pbgpAQCAtODYsMTIgKzg2LDEyIEBACiAJICAgdnByaW50LmMgaXRvcy5jIHJlbmFtZS5jIHpyZWFkLmMgendyaXRlLmMgc2h0dHkuYyBcCiAJICAgaW5ldF9hdG9uLmMgbmV0Y29ubi5jIG5ldG9wZW4uYyBzdHJwYnJrLmMgdGltZXZhbC5jIG1ha2VwYXRoLmMgXAogCSAgIHBhdGhjYW5vbi5jIHBhdGhwaHlzLmMgdG1wZmlsZS5jIHN0cmluZ2xpc3QuYyBzdHJpbmd2ZWMuYyBzcGVsbC5jIFwKLQkgICBzaHF1b3RlLmMgc3RydHJhbnMuYyBzdHJpbmRleC5jIHNucHJpbnRmLmMgbWFpbHN0YXQuYyBcCisJICAgc2hxdW90ZS5jIHN0cnRyYW5zLmMgc3RyY2FzZXN0ci5jIHNucHJpbnRmLmMgbWFpbHN0YXQuYyBcCiAJICAgZm10dWxvbmcuYyBmbXR1bGxvbmcuYyBmbXR1bWF4LmMgc2htYXRjaC5jIHN0cm5sZW4uYyBcCiAJICAgc3RydG9sbC5jIHN0cnRvdWxsLmMgc3RydG9pbWF4LmMgc3RydG91bWF4LmMgbWVtc2V0LmMgc3Ryc3RyLmMgXAotCSAgIG1rdGltZS5jIHN0cmZ0aW1lLmMgeHN0cmNoci5jIHpjYXRmZC5jIHptYXBmZC5jIHdpbnNpemUuYyBlYWNjZXNzLmMgXAorCSAgIG1rdGltZS5jIHN0cmZ0aW1lLmMgbWJzY2hyLmMgemNhdGZkLmMgem1hcGZkLmMgd2luc2l6ZS5jIGVhY2Nlc3MuYyBcCiAJICAgd2NzZHVwLmMgZnB1cmdlLmMgemdldGxpbmUuYyBtYnNjbXAuYyB1Y29udmVydC5jIHVmdW5jcy5jIFwKLQkgICBjYXNlbW9kLmMgZmRwcmludGYuYyBpbnB1dF9hdmFpbC5jCisJICAgY2FzZW1vZC5jIGZkcHJpbnRmLmMgaW5wdXRfYXZhaWwuYyBtYnNjYXNlY21wLmMgZm54Zm9ybS5jCiAKICMgVGhlIGhlYWRlciBmaWxlcyBmb3IgdGhpcyBsaWJyYXJ5LgogSFNPVVJDRVMgPSAKQEAgLTEwMiwxMCArMTAyLDEwIEBACiAJICBpdG9zLm8genJlYWQubyB6d3JpdGUubyBzaHR0eS5vIHNobWF0Y2gubyBlYWNjZXNzLm8gXAogCSAgbmV0Y29ubi5vIG5ldG9wZW4ubyB0aW1ldmFsLm8gbWFrZXBhdGgubyBwYXRoY2Fub24ubyBcCiAJICBwYXRocGh5cy5vIHRtcGZpbGUubyBzdHJpbmdsaXN0Lm8gc3RyaW5ndmVjLm8gc3BlbGwubyBzaHF1b3RlLm8gXAotCSAgc3RydHJhbnMubyBzdHJpbmRleC5vIHNucHJpbnRmLm8gbWFpbHN0YXQubyBmbXR1bG9uZy5vIFwKLQkgIGZtdHVsbG9uZy5vIGZtdHVtYXgubyB4c3RyY2hyLm8gemNhdGZkLm8gem1hcGZkLm8gd2luc2l6ZS5vIHdjc2R1cC5vIFwKKwkgIHN0cnRyYW5zLm8gc25wcmludGYubyBtYWlsc3RhdC5vIGZtdHVsb25nLm8gXAorCSAgZm10dWxsb25nLm8gZm10dW1heC5vIHpjYXRmZC5vIHptYXBmZC5vIHdpbnNpemUubyB3Y3NkdXAubyBcCiAJICBmcHVyZ2UubyB6Z2V0bGluZS5vIG1ic2NtcC5vIHVjb252ZXJ0Lm8gdWZ1bmNzLm8gY2FzZW1vZC5vIFwKLQkgIGZkcHJpbnRmLm8gaW5wdXRfYXZhaWwubyAke0xJQk9CSlN9CisJICBmZHByaW50Zi5vIGlucHV0X2F2YWlsLm8gbWJzY2FzZWNtcC5vIGZueGZvcm0ubyAke0xJQk9CSlN9CiAKIFNVUFBPUlQgPSBNYWtlZmlsZQogCkBAIC0xMzYsNiArMTM2LDkgQEAKICR7QlVJTERfRElSfS92ZXJzaW9uLmg6ICR7QlVJTERfRElSfS9jb25maWcuaCAke0JVSUxEX0RJUn0vTWFrZWZpbGUgTWFrZWZpbGUKIAktKCBjZCAke0JVSUxEX0RJUn0gJiYgJHtNQUtFfSAke01GTEFHU30gdmVyc2lvbi5oICkKIAorJHtCVUlMRF9ESVJ9L3BhdGhuYW1lcy5oOiAke0JVSUxEX0RJUn0vY29uZmlnLmggJHtCVUlMRF9ESVJ9L01ha2VmaWxlIE1ha2VmaWxlCisJLSggY2QgJHtCVUlMRF9ESVJ9ICYmICR7TUFLRX0gJHtNRkxBR1N9IHBhdGhuYW1lcy5oICkKKwogIyBydWxlcyBmb3IgbG9zaW5nIG1ha2VzLCBsaWtlIFN1bk9TCiBjYXNlbW9kLm86IGNhc2Vtb2QuYwogY2xrdGNrLm86IGNsa3Rjay5jCkBAIC0xNDUsNiArMTQ4LDcgQEAKIGZtdHVsbG9uZy5vOiBmbXR1bGxvbmcuYwogZm10dWxvbmcubzogZm10dWxvbmcuYwogZm10dW1heC5vOiBmbXR1bWF4LmMKK2ZueGZvcm0ubzogZm54Zm9ybS5jCiBmcHVyZ2UubzogZnB1cmdlLmMKIGdldGN3ZC5vOiBnZXRjd2QuYwogZ2V0ZW52Lm86IGdldGVudi5jCkBAIC0xNTMsNiArMTU3LDcgQEAKIGl0b3MubzogaXRvcy5jCiBtYWlsc3RhdC5vOiBtYWlsc3RhdC5jCiBtYWtlcGF0aC5vOiBtYWtlcGF0aC5jCittYnNjYXNlY21wLm86IG1ic2Nhc2VjbXAuYwogbWJzY21wLm86IG1ic2NtcC5jCiBtZW1zZXQubzogbWVtc2V0LmMKIG1rdGltZS5vOiBta3RpbWUuYwpAQCAtMTcwLDcgKzE3NSw3IEBACiBzdHJjYXNlY21wLm86IHN0cmNhc2VjbXAuYwogc3RyZXJyb3Iubzogc3RyZXJyb3IuYwogc3RyZnRpbWUubzogc3RyZnRpbWUuYwotc3RyaW5kZXgubzogc3RyaW5kZXguYworc3RyY2FzZXN0ci5vOiBzdHJjYXNlc3RyLmMKIHN0cmluZ2xpc3Qubzogc3RyaW5nbGlzdC5jCiBzdHJpbmd2ZWMubzogc3RyaW5ndmVjLmMKIHN0cm5sZW4ubzogc3Rybmxlbi5jCkBAIC0xOTAsNyArMTk1LDcgQEAKIHVmdW5jcy5vOiB1ZnVuY3MuYwogdnByaW50Lm86IHZwcmludC5jCiB3Y3NkdXAubzogd2NzZHVwLmMKLXhzdHJjaHIubzogeHN0cmNoci5jCittYnNjaHIubzogbWJzY2hyLmMKIHpjYXRmZC5vOiB6Y2F0ZmQuYwogem1hcGZkLm86IHptYXBmZC5jCiB6Z2V0bGluZS5vOiB6Z2V0bGluZS5jCkBAIC0yMTMsNiArMjE4LDcgQEAKIGZtdHVsbG9uZy5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKIGZtdHVsb25nLm86ICR7QlVJTERfRElSfS9jb25maWcuaAogZm10dW1heC5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKK2ZueGZvcm0ubzogJHtCVUlMRF9ESVJ9L2NvbmZpZy5oCiBmcHVyZ2UubzogJHtCVUlMRF9ESVJ9L2NvbmZpZy5oCiBnZXRjd2QubzogJHtCVUlMRF9ESVJ9L2NvbmZpZy5oCiBnZXRlbnYubzogJHtCVUlMRF9ESVJ9L2NvbmZpZy5oCkBAIC0yMjEsNiArMjI3LDcgQEAKIGl0b3MubzogJHtCVUlMRF9ESVJ9L2NvbmZpZy5oCiBtYWlsc3RhdC5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKIG1ha2VwYXRoLm86ICR7QlVJTERfRElSfS9jb25maWcuaAorbWJzY2FzZWNtcC5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKIG1ic2NtcC5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKIG1lbXNldC5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKIG1rdGltZS5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKQEAgLTIzOCw3ICsyNDUsNyBAQAogc3RyY2FzZWNtcC5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKIHN0cmVycm9yLm86ICR7QlVJTERfRElSfS9jb25maWcuaAogc3RyZnRpbWUubzogJHtCVUlMRF9ESVJ9L2NvbmZpZy5oCi1zdHJpbmRleC5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKK3N0cmNhc2VzdHIubzogJHtCVUlMRF9ESVJ9L2NvbmZpZy5oCiBzdHJpbmdsaXN0Lm86ICR7QlVJTERfRElSfS9jb25maWcuaAogc3RyaW5ndmVjLm86ICR7QlVJTERfRElSfS9jb25maWcuaAogc3Rybmxlbi5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKQEAgLTI1OCw3ICsyNjUsNyBAQAogdWZ1bmNzLm86ICR7QlVJTERfRElSfS9jb25maWcuaAogdnByaW50Lm86ICR7QlVJTERfRElSfS9jb25maWcuaAogd2NzZHVwLm86ICR7QlVJTERfRElSfS9jb25maWcuaAoteHN0cmNoci5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKK21ic2Noci5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKIHpjYXRmZC5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKIHpnZXRsaW5lLm86ICR7QlVJTERfRElSfS9jb25maWcuaAogem1hcGZkLm86ICR7QlVJTERfRElSfS9jb25maWcuaApAQCAtMzkzLDggKzQwMCw4IEBACiBzdHJlcnJvci5vOiAke3RvcGRpcn0vbWFrZV9jbWQuaCAke3RvcGRpcn0vc3Vic3QuaCAke3RvcGRpcn0vc2lnLmgKIHN0cmVycm9yLm86ICR7QlVJTERfRElSfS9wYXRobmFtZXMuaCAke3RvcGRpcn0vZXh0ZXJucy5oICR7QlVJTERfRElSfS92ZXJzaW9uLmgKIAotc3RyaW5kZXgubzogJHtCQVNISU5DRElSfS9zdGRjLmggJHt0b3BkaXJ9L2Jhc2hhbnNpLmgKLXN0cmluZGV4Lm86ICR7QkFTSElOQ0RJUn0vYW5zaV9zdGRsaWIuaCAke0JBU0hJTkNESVJ9L2NoYXJ0eXBlcy5oCitzdHJjYXNlc3RyLm86ICR7QkFTSElOQ0RJUn0vc3RkYy5oICR7dG9wZGlyfS9iYXNoYW5zaS5oCitzdHJjYXNlc3RyLm86ICR7QkFTSElOQ0RJUn0vYW5zaV9zdGRsaWIuaCAke0JBU0hJTkNESVJ9L2NoYXJ0eXBlcy5oCiAKIHN0cmluZ2xpc3QubzogJHt0b3BkaXJ9L2Jhc2hhbnNpLmgKIHN0cmluZ2xpc3QubzogJHt0b3BkaXJ9L3NoZWxsLmggJHt0b3BkaXJ9L3N5bnRheC5oICR7dG9wZGlyfS9iYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oCkBAIC00OTgsMTUgKzUwNSwxOSBAQAogd2NzZHVwLm86ICR7QkFTSElOQ0RJUn0vc3RkYy5oCiB3Y3NkdXAubzogJHt0b3BkaXJ9L3htYWxsb2MuaAogCi14c3RyY2hyLm86ICR7dG9wZGlyfS9iYXNoYW5zaS5oCi14c3RyY2hyLm86ICR7QkFTSElOQ0RJUn0vYW5zaV9zdGRsaWIuaAoteHN0cmNoci5vOiAke0JBU0hJTkNESVJ9L3NobWJ1dGlsLmgKK21ic2Noci5vOiAke3RvcGRpcn0vYmFzaGFuc2kuaAorbWJzY2hyLm86ICR7QkFTSElOQ0RJUn0vYW5zaV9zdGRsaWIuaAorbWJzY2hyLm86ICR7QkFTSElOQ0RJUn0vc2htYnV0aWwuaAogCiB6Z2V0bGluZS5vOiAke3RvcGRpcn0vYmFzaGFuc2kuaCAke0JBU0hJTkNESVJ9L2Fuc2lfc3RkbGliLmgKIHpnZXRsaW5lLm86ICR7QkFTSElOQ0RJUn0vc3RkYy5oCiB6Z2V0bGluZS5vOiAke3RvcGRpcn0veG1hbGxvYy5oCiB6Z2V0bGluZS5vOiAke3RvcGRpcn0vYmFzaHR5cGVzLmgKIAorbWJzY2FzZWNtcC5vOiAke3RvcGRpcn0vYmFzaGFuc2kuaCAke0JBU0hJTkNESVJ9L2Fuc2lfc3RkbGliLmgKK21ic2Nhc2VjbXAubzogJHtCQVNISU5DRElSfS9zdGRjLmgKK21ic2Nhc2VjbXAubzogJHt0b3BkaXJ9L3htYWxsb2MuaAorCiBtYnNjbXAubzogJHt0b3BkaXJ9L2Jhc2hhbnNpLmggJHtCQVNISU5DRElSfS9hbnNpX3N0ZGxpYi5oCiBtYnNjbXAubzogJHtCQVNISU5DRElSfS9zdGRjLmgKIG1ic2NtcC5vOiAke3RvcGRpcn0veG1hbGxvYy5oCkBAIC01MjIsNSArNTMzLDEyIEBACiAKIGlucHV0X2F2YWlsLm86ICR7dG9wZGlyfS9iYXNoYW5zaS5oICR7QkFTSElOQ0RJUn0vYW5zaV9zdGRsaWIuaAogaW5wdXRfYXZhaWwubzogJHtCQVNISU5DRElSfS9zdGRjLmgKLWlucHV0X2F2YWlsLm86ICR7dG9wZGlyfS94bWFsbG9jLmgKK2lucHV0X2F2YWlsLm86ICR7dG9wZGlyfS94bWFsbG9jLmggJHtCQVNISU5DRElSfS9wb3NpeHNlbGVjdC5oCiAKK21rdGltZS5vOiAke3RvcGRpcn0vYmFzaGFuc2kuaCAke0JBU0hJTkNESVJ9L2Fuc2lfc3RkbGliLmgKK21rdGltZS5vOiAke0JBU0hJTkNESVJ9L3N0ZGMuaAorCitmbnhmb3JtLm86ICR7dG9wZGlyfS9iYXNoYW5zaS5oICR7QkFTSElOQ0RJUn0vYW5zaV9zdGRsaWIuaAorZm54Zm9ybS5vOiAke0JBU0hJTkNESVJ9L3N0ZGMuaAorZm54Zm9ybS5vOiAke3RvcGRpcn0vYmFzaHR5cGVzLmgKK2ZueGZvcm0ubzogJHt0b3BkaXJ9L2Jhc2hpbnRsLmggJHtMSUJJTlRMX0h9ICR7QkFTSElOQ0RJUn0vZ2V0dGV4dC5oCmRpZmYgLS1naXQgYS9saWIvc2gvY2FzZW1vZC5jIGIvbGliL3NoL2Nhc2Vtb2QuYwppbmRleCBiN2UwODUwLi5kODU1NDlhIDEwMDY0NAotLS0gYS9saWIvc2gvY2FzZW1vZC5jCisrKyBiL2xpYi9zaC9jYXNlbW9kLmMKQEAgLTEwNyw2ICsxMDcsNyBAQAogICB3Y2hhcl90IG53YzsKICAgY2hhciBtYltNQl9MRU5fTUFYKzFdOwogICBpbnQgbWxlbjsKKyAgc2l6ZV90IG07CiAgIG1ic3RhdGVfdCBzdGF0ZTsKICNlbmRpZgogCkBAIC0yMTAsNyArMjExLDExIEBACiAjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkKICAgICAgIGVsc2UKIAl7Ci0JICBtYnJ0b3djICgmd2MsIHN0cmluZyArIHN0YXJ0LCBlbmQgLSBzdGFydCwgJnN0YXRlKTsKKwkgIG0gPSBtYnJ0b3djICgmd2MsIHN0cmluZyArIHN0YXJ0LCBlbmQgLSBzdGFydCwgJnN0YXRlKTsKKwkgIGlmIChNQl9JTlZBTElEQ0ggKG0pKQorCSAgICB3YyA9ICh3Y2hhcl90KXN0cmluZ1tzdGFydF07CisJICBlbHNlIGlmIChNQl9OVUxMV0NIIChtKSkKKwkgICAgd2MgPSBMJ1wwJzsKIAkgIHN3aXRjaCAobm9wKQogCSAgewogCSAgZGVmYXVsdDoKZGlmZiAtLWdpdCBhL2xpYi9zaC9mcHVyZ2UuYyBiL2xpYi9zaC9mcHVyZ2UuYwppbmRleCBmZDA5M2I4Li5mOWUxYjlkIDEwMDY0NAotLS0gYS9saWIvc2gvZnB1cmdlLmMKKysrIGIvbGliL3NoL2ZwdXJnZS5jCkBAIC0zMSw3ICszMSw3IEBACiAjZW5kaWYKIGV4dGVybiBpbnQgZnB1cmdlIF9fUCgoRklMRSAqc3RyZWFtKSk7CiAKLSNpZiBIQVZFX19fRlBVUkdFICAgICAgICAgICAgICAgICAgIC8qIGdsaWJjID49IDIuMiwgU29sYXJpcyA+PSA3ICovCisjaWYgSEFWRV9fX0ZQVVJHRSAgICAgICAgICAgICAgICAgICAvKiBnbGliYyA+PSAyLjIsIEhhaWt1LCBTb2xhcmlzID49IDcgKi8KICMgaW5jbHVkZSA8c3RkaW9fZXh0Lmg+CiAjZW5kaWYKICNpbmNsdWRlIDxzdGRsaWIuaD4KQEAgLTM5LDEzICszOSwxMyBAQAogaW50CiBmcHVyZ2UgKEZJTEUgKmZwKQogewotI2lmIEhBVkVfX19GUFVSR0UgICAgICAgICAgICAgICAgICAgLyogZ2xpYmMgPj0gMi4yLCBTb2xhcmlzID49IDcgKi8KKyNpZiBIQVZFX19fRlBVUkdFICAgICAgICAgICAgICAgICAgIC8qIGdsaWJjID49IDIuMiwgSGFpa3UsIFNvbGFyaXMgPj0gNyAqLwogCiAgIF9fZnB1cmdlIChmcCk7CiAgIC8qIFRoZSBfX2ZwdXJnZSBmdW5jdGlvbiBkb2VzIG5vdCBoYXZlIGEgcmV0dXJuIHZhbHVlLiAgKi8KICAgcmV0dXJuIDA7CiAKLSNlbGlmIEhBVkVfRlBVUkdFICAgICAgICAgICAgICAgICAgIC8qIEZyZWVCU0QsIE5ldEJTRCwgT3BlbkJTRCwgTWFjT1MgWCAqLworI2VsaWYgSEFWRV9GUFVSR0UgICAgICAgICAgICAgICAgICAgLyogRnJlZUJTRCwgTmV0QlNELCBPcGVuQlNELCBEcmFnb25GbHksIE1hY09TIFggKi8KIAogICAvKiBDYWxsIHRoZSBzeXN0ZW0ncyBmcHVyZ2UgZnVuY3Rpb24uICAqLwogIyB1bmRlZiBmcHVyZ2UKQEAgLTUzLDcgKzUzLDcgQEAKICAgZXh0ZXJuIGludCBmcHVyZ2UgKEZJTEUgKik7CiAjIGVuZGlmCiAgIGludCByZXN1bHQgPSBmcHVyZ2UgKGZwKTsKLSMgaWYgZGVmaW5lZCBfX3NmZXJyb3IgICAgICAgICAgICAgIC8qIEZyZWVCU0QsIE5ldEJTRCwgT3BlbkJTRCwgTWFjT1MgWCwgQ3lnd2luICovCisjIGlmIGRlZmluZWQgX19zZmVycm9yIHx8IGRlZmluZWQgX19EcmFnb25GbHlfXyAvKiBGcmVlQlNELCBOZXRCU0QsIE9wZW5CU0QsIERyYWdvbkZseSwgTWFjT1MgWCwgQ3lnd2luICovCiAgIGlmIChyZXN1bHQgPT0gMCkKICAgICAvKiBDb3JyZWN0IHRoZSBpbnZhcmlhbnRzIHRoYXQgZnB1cmdlIGJyb2tlLgogICAgICAgIDxzdGRpby5oPiBvbiBCU0Qgc3lzdGVtcyBzYXlzOgpAQCAtNzEsNyArNzEsNyBAQAogICAvKiBNb3N0IHN5c3RlbXMgcHJvdmlkZSBGSUxFIGFzIGEgc3RydWN0IGFuZCB0aGUgbmVjZXNzYXJ5IGJpdG1hc2sgaW4KICAgICAgPHN0ZGlvLmg+LCBiZWNhdXNlIHRoZXkgbmVlZCBpdCBmb3IgaW1wbGVtZW50aW5nIGdldGMoKSBhbmQgcHV0YygpIGFzCiAgICAgIGZhc3QgbWFjcm9zLiAgKi8KLSMgaWYgZGVmaW5lZCBfSU9fZmVycm9yX3VubG9ja2VkICAgIC8qIEdOVSBsaWJjLCBCZU9TICovCisjIGlmIGRlZmluZWQgX0lPX2Z0cnlsb2NrZmlsZSB8fCBfX0dOVV9MSUJSQVJZX18gPT0gMSAvKiBHTlUgbGliYywgQmVPUywgSGFpa3UsIExpbnV4IGxpYmM1ICovCiAgIGZwLT5fSU9fcmVhZF9lbmQgPSBmcC0+X0lPX3JlYWRfcHRyOwogICBmcC0+X0lPX3dyaXRlX3B0ciA9IGZwLT5fSU9fd3JpdGVfYmFzZTsKICAgLyogQXZvaWQgbWVtb3J5IGxlYWsgd2hlbiB0aGVyZSBpcyBhbiBhY3RpdmUgdW5nZXRjIGJ1ZmZlci4gICovCkBAIC04MSwyOCArODEsMjcgQEAKICAgICAgIGZwLT5fSU9fc2F2ZV9iYXNlID0gTlVMTDsKICAgICB9CiAgIHJldHVybiAwOwotIyBlbGlmIGRlZmluZWQgX19zZmVycm9yICAgICAgICAgICAgLyogRnJlZUJTRCwgTmV0QlNELCBPcGVuQlNELCBNYWNPUyBYLCBDeWd3aW4gKi8KLSAgZnAtPl9wID0gZnAtPl9iZi5fYmFzZTsKLSAgZnAtPl9yID0gMDsKLSAgZnAtPl93ID0gKChmcC0+X2ZsYWdzICYgKF9fU0xCRiB8IF9fU05CRiB8IF9fU1JEKSkgPT0gMCAvKiBmdWxseSBidWZmZXJlZCBhbmQgbm90IGN1cnJlbnRseSByZWFkaW5nPyAqLwotCSAgICA/IGZwLT5fYmYuX3NpemUKLQkgICAgOiAwKTsKKyMgZWxpZiBkZWZpbmVkIF9fc2ZlcnJvciB8fCBkZWZpbmVkIF9fRHJhZ29uRmx5X18gLyogRnJlZUJTRCwgTmV0QlNELCBPcGVuQlNELCBEcmFnb25GbHksIE1hY09TIFgsIEN5Z3dpbiAqLworICBmcF8tPl9wID0gZnBfLT5fYmYuX2Jhc2U7CisgIGZwXy0+X3IgPSAwOworICBmcF8tPl93ID0gKChmcF8tPl9mbGFncyAmIChfX1NMQkYgfCBfX1NOQkYgfCBfX1NSRCkpID09IDAgLyogZnVsbHkgYnVmZmVyZWQgYW5kIG5vdCBjdXJyZW50bHkgcmVhZGluZz8gKi8KKwkgICAgID8gZnBfLT5fYmYuX3NpemUKKwkgICAgIDogMCk7CiAgIC8qIEF2b2lkIG1lbW9yeSBsZWFrIHdoZW4gdGhlcmUgaXMgYW4gYWN0aXZlIHVuZ2V0YyBidWZmZXIuICAqLwotIyAgaWYgZGVmaW5lZCBfX05ldEJTRF9fIHx8IGRlZmluZWQgX19PcGVuQlNEX18gLyogTmV0QlNELCBPcGVuQlNEICovCi0gICAvKiBTZWUgPGh0dHA6Ly9jdnN3ZWIubmV0YnNkLm9yZy9ic2R3ZWIuY2dpL3NyYy9saWIvbGliYy9zdGRpby9maWxlZXh0Lmg/cmV2PUhFQUQmY29udGVudC10eXBlPXRleHQveC1jdnN3ZWItbWFya3VwPgotICAgICAgYW5kIDxodHRwOi8vd3d3Lm9wZW5ic2Qub3JnL2NnaS1iaW4vY3Zzd2ViL3NyYy9saWIvbGliYy9zdGRpby9maWxlZXh0Lmg/cmV2PUhFQUQmY29udGVudC10eXBlPXRleHQveC1jdnN3ZWItbWFya3VwPiAqLwotIyAgIGRlZmluZSBmcF91YiAoKHN0cnVjdCB7IHN0cnVjdCBfX3NidWYgX3ViOyB9ICopIGZwLT5fZXh0Ll9iYXNlKS0+X3ViCi0jICBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBGcmVlQlNELCBNYWNPUyBYLCBDeWd3aW4gKi8KLSMgICBkZWZpbmUgZnBfdWIgZnAtPl91YgotIyAgZW5kaWYKICAgaWYgKGZwX3ViLl9iYXNlICE9IE5VTEwpCiAgICAgewotICAgICAgaWYgKGZwX3ViLl9iYXNlICE9IGZwLT5fdWJ1ZikKKyAgICAgIGlmIChmcF91Yi5fYmFzZSAhPSBmcF8tPl91YnVmKQogCWZyZWUgKGZwX3ViLl9iYXNlKTsKICAgICAgIGZwX3ViLl9iYXNlID0gTlVMTDsKICAgICB9CiAgIHJldHVybiAwOwotIyBlbGlmIGRlZmluZWQgX0lPRVJSICAgICAgICAgICAgICAgLyogQUlYLCBIUC1VWCwgSVJJWCwgT1NGLzEsIFNvbGFyaXMsIG1pbmd3ICovCisjIGVsaWYgZGVmaW5lZCBfX0VNWF9fICAgICAgICAgICAgICAvKiBlbXgrZ2NjICovCisgIGZwLT5fcHRyID0gZnAtPl9idWZmZXI7CisgIGZwLT5fcmNvdW50ID0gMDsKKyAgZnAtPl93Y291bnQgPSAwOworICBmcC0+X3VuZ2V0Y19jb3VudCA9IDA7CisgIHJldHVybiAwOworIyBlbGlmIGRlZmluZWQgX0lPRVJSICAgICAgICAgICAgICAgLyogQUlYLCBIUC1VWCwgSVJJWCwgT1NGLzEsIFNvbGFyaXMsIE9wZW5TZXJ2ZXIsIG1pbmd3ICovCiAgIGZwLT5fcHRyID0gZnAtPl9iYXNlOwogICBpZiAoZnAtPl9wdHIgIT0gTlVMTCkKICAgICBmcC0+X2NudCA9IDA7CkBAIC0xMTUsOCArMTE0LDM0IEBACiAgICAgZnAtPl9fYnVmcG9zID0gZnAtPl9fYnVmcmVhZDsKICMgIGVuZGlmCiAgIHJldHVybiAwOworIyBlbGlmIGRlZmluZWQgX19RTlhfXyAgICAgICAgICAgICAgLyogUU5YICovCisgIGZwLT5fUmJhY2sgPSBmcC0+X0JhY2sgKyBzaXplb2YgKGZwLT5fQmFjayk7CisgIGZwLT5fUnNhdmUgPSBOVUxMOworICBpZiAoZnAtPl9Nb2RlICYgMHgyMDAwIC8qIF9NV1JJVEUgKi8pCisgICAgLyogZnAtPl9CdWYgPD0gZnAtPl9OZXh0IDw9IGZwLT5fV2VuZCAqLworICAgIGZwLT5fTmV4dCA9IGZwLT5fQnVmOworICBlbHNlCisgICAgLyogZnAtPl9CdWYgPD0gZnAtPl9OZXh0IDw9IGZwLT5fUmVuZCAqLworICAgIGZwLT5fUmVuZCA9IGZwLT5fTmV4dDsKKyAgcmV0dXJuIDA7CisjIGVsaWYgZGVmaW5lZCBfX01JTlRfXyAgICAgICAgICAgICAvKiBBdGFyaSBGcmVlTWlOVCAqLworICBpZiAoZnAtPl9fcHVzaGVkX2JhY2spCisgICAgeworICAgICAgZnAtPl9fYnVmcCA9IGZwLT5fX3B1c2hiYWNrX2J1ZnA7CisgICAgICBmcC0+X19wdXNoZWRfYmFjayA9IDA7CisgICAgfQorICAvKiBQcmVzZXJ2ZSB0aGUgY3VycmVudCBmaWxlIHBvc2l0aW9uLiAgKi8KKyAgaWYgKGZwLT5fX3RhcmdldCAhPSAtMSkKKyAgICBmcC0+X190YXJnZXQgKz0gZnAtPl9fYnVmcCAtIGZwLT5fX2J1ZmZlcjsKKyAgZnAtPl9fYnVmcCA9IGZwLT5fX2J1ZmZlcjsKKyAgLyogTm90aGluZyBpbiB0aGUgYnVmZmVyLCBuZXh0IGdldGMgaXMgbm9udHJpdmlhbC4gICovCisgIGZwLT5fX2dldF9saW1pdCA9IGZwLT5fX2J1ZnA7CisgIC8qIE5vdGhpbmcgaW4gdGhlIGJ1ZmZlciwgbmV4dCBwdXRjIGlzIG5vbnRyaXZpYWwuICAqLworICBmcC0+X19wdXRfbGltaXQgPSBmcC0+X19idWZmZXI7CisgIHJldHVybiAwOwogIyBlbHNlCi0gI2Vycm9yICJQbGVhc2UgcG9ydCBnbnVsaWIgZnB1cmdlLmMgdG8geW91ciBwbGF0Zm9ybSEgTG9vayBhdCB0aGUgZGVmaW5pdGlvbnMgb2YgZmZsdXNoLCBzZXR2YnVmIGFuZCB1bmdldGMgb24geW91ciBzeXN0ZW0sIHRoZW4gcmVwb3J0IHRoaXMgdG8gYnVnLWdudWxpYi4iCisjIHdhcm5pbmcgIlBsZWFzZSBwb3J0IGdudWxpYiBmcHVyZ2UuYyB0byB5b3VyIHBsYXRmb3JtISBMb29rIGF0IHRoZSBkZWZpbml0aW9ucyBvZiBmZmx1c2gsIHNldHZidWYgYW5kIHVuZ2V0YyBvbiB5b3VyIHN5c3RlbSwgdGhlbiByZXBvcnQgdGhpcyB0byBidWctZ251bGliLiIKKyAgcmV0dXJuIDA7CiAjIGVuZGlmCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliL3NoL2dldGN3ZC5jIGIvbGliL3NoL2dldGN3ZC5jCmluZGV4IDg0Nzk5YmIuLjA3ZWI4MTcgMTAwNjQ0Ci0tLSBhL2xpYi9zaC9nZXRjd2QuYworKysgYi9saWIvc2gvZ2V0Y3dkLmMKQEAgLTQ4LDYgKzQ4LDEyIEBACiAKICNpbmNsdWRlIDxiYXNoYW5zaS5oPgogCisjaWYgZGVmaW5lZCAoQlJPS0VOX0RJUkVOVF9EX0lOTykKKyMgIGluY2x1ZGUgImNvbW1hbmQuaCIKKyMgIGluY2x1ZGUgImdlbmVyYWwuaCIKKyMgIGluY2x1ZGUgImV4dGVybnMuaCIKKyNlbmRpZgorCiAjaW5jbHVkZSA8eG1hbGxvYy5oPgogCiAjaWYgIWRlZmluZWQgKGVycm5vKQpkaWZmIC0tZ2l0IGEvbGliL3NoL2lucHV0X2F2YWlsLmMgYi9saWIvc2gvaW5wdXRfYXZhaWwuYwppbmRleCA1ZTAxZjhmLi5hYzE1N2E5IDEwMDY0NAotLS0gYS9saWIvc2gvaW5wdXRfYXZhaWwuYworKysgYi9saWIvc2gvaW5wdXRfYXZhaWwuYwpAQCAtMzksMTQgKzM5LDcgQEAKIAogI2luY2x1ZGUgImJhc2hhbnNpLmgiCiAKLSNpZiBkZWZpbmVkIChIQVZFX1NFTEVDVCkKLSMgIGlmICFkZWZpbmVkIChIQVZFX1NZU19TRUxFQ1RfSCkgfHwgIWRlZmluZWQgKE1fVU5JWCkKLSMgICAgaW5jbHVkZSA8c3lzL3RpbWUuaD4KLSMgIGVuZGlmCi0jZW5kaWYgLyogSEFWRV9TRUxFQ1QgKi8KLSNpZiBkZWZpbmVkIChIQVZFX1NZU19TRUxFQ1RfSCkKLSMgIGluY2x1ZGUgPHN5cy9zZWxlY3QuaD4KLSNlbmRpZgorI2luY2x1ZGUgInBvc2l4c2VsZWN0LmgiCiAKICNpZiBkZWZpbmVkIChGSU9OUkVBRF9JTl9TWVNfSU9DVEwpCiAjICBpbmNsdWRlIDxzeXMvaW9jdGwuaD4KZGlmZiAtLWdpdCBhL2xpYi9zaC9tYnNjbXAuYyBiL2xpYi9zaC9tYnNjbXAuYwppbmRleCBlYTAxYzI3Li5lMGVhZTVkIDEwMDY0NAotLS0gYS9saWIvc2gvbWJzY21wLmMKKysrIGIvbGliL3NoL21ic2NtcC5jCkBAIC0yNCw2ICsyNCw3IEBACiAKICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KIAogLyogQ29tcGFyZSBNQlMxIGFuZCBNQlMyLiAgKi8KIGludApAQCAtNDAsMTYgKzQxLDI1IEBACiAKICAgZG8KICAgICB7Ci0gICAgICBsZW4xID0gbWJ0b3djICgod2NoYXJfdCAqKSAmYzEsIG1iczEsIE1CX0NVUl9NQVgpOwotICAgICAgbGVuMiA9IG1idG93YyAoKHdjaGFyX3QgKikgJmMyLCBtYnMyLCBNQl9DVVJfTUFYKTsKKyAgICAgIGxlbjEgPSBtYnRvd2MgKCZjMSwgbWJzMSwgTUJfQ1VSX01BWCk7CisgICAgICBsZW4yID0gbWJ0b3djICgmYzIsIG1iczIsIE1CX0NVUl9NQVgpOwogCiAgICAgICBpZiAobGVuMSA9PSAwKQogCXJldHVybiBsZW4yID09IDAgPyAwIDogLTE7Ci0gICAgICBpZiAobGVuMiA9PSAwKQorICAgICAgZWxzZSBpZiAobGVuMiA9PSAwKQogCXJldHVybiAxOwotICAgICAgaWYgKGxlbjEgPCAwIHx8IGxlbjIgPCAwKQotCS8qIEZJWE1FOiBhbiBpbGxlZ2FsIGNoYXJhY3RlciBhcHBlYXJzLgkgV2hhdCB0byBkbz8gICovCi0JcmV0dXJuIGMxIC0gYzI7CisgICAgICBlbHNlIGlmIChsZW4xID4gMCAmJiBsZW4yIDwgMCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgICAgZWxzZSBpZiAobGVuMSA8IDAgJiYgbGVuMiA+IDApCisgICAgICAgIHJldHVybiAxOworICAgICAgZWxzZSBpZiAobGVuMSA8IDAgJiYgbGVuMiA8IDApCisJeworCSAgbGVuMSA9IHN0cmxlbiAobWJzMSk7CisJICBsZW4yID0gc3RybGVuIChtYnMyKTsKKwkgIHJldHVybiAobGVuMSA9PSBsZW4yID8gbWVtY21wIChtYnMxLCBtYnMyLCBsZW4xKQorCQkJICAgICAgIDogKChsZW4xIDwgbGVuMikgPyAobWVtY21wIChtYnMxLCBtYnMyLCBsZW4xKSA+IDAgPyAxIDogLTEpCisJCQkJCQk6IChtZW1jbXAgKG1iczEsIG1iczIsIGxlbjIpID49IDAgPyAxIDogLTEpKSk7CisJfQogCiAgICAgICBtYnMxICs9IGxlbjE7CiAgICAgICBtYnMyICs9IGxlbjI7CmRpZmYgLS1naXQgYS9saWIvc2gvc25wcmludGYuYyBiL2xpYi9zaC9zbnByaW50Zi5jCmluZGV4IGM0MDZkNGEuLmQ2ODFiMTYgMTAwNjQ0Ci0tLSBhL2xpYi9zaC9zbnByaW50Zi5jCisrKyBiL2xpYi9zaC9zbnByaW50Zi5jCkBAIC02MSw5ICs2MSwxMyBAQAogIyAgaW5jbHVkZSA8Y29uZmlnLmg+CiAjZW5kaWYKIAotI2lmIGRlZmluZWQoREVCVUcpCisvKiBHQ0MgNC4yIG9uIFNub3cgTGVvcGFyZCBkb2Vzbid0IGxpa2UgdGhlIHNucHJpbnRmIHByb3RvdHlwZSAqLworI2lmIGRlZmluZWQoREVCVUcpICYmICFkZWZpbmVkIChNQUNPU1gpCiAjICB1bmRlZiBIQVZFX1NOUFJJTlRGCiAjICB1bmRlZiBIQVZFX0FTUFJJTlRGCisKKyMgIGRlZmluZSBIQVZFX1NOUFJJTlRGIDAKKyMgIGRlZmluZSBIQVZFX0FTUFJJTlRGIDAKICNlbmRpZgogCiAjaWYgZGVmaW5lZChEUklWRVIpICYmICFkZWZpbmVkKEhBVkVfQ09ORklHX0gpCkBAIC04Miw3ICs4Niw3IEBACiAjZGVmaW5lIGludG1heF90IGxvbmcKICNlbmRpZgogCi0jaWYgIWRlZmluZWQgKEhBVkVfU05QUklOVEYpIHx8ICFkZWZpbmVkIChIQVZFX0FTUFJJTlRGKQorI2lmICFIQVZFX1NOUFJJTlRGIHx8ICFIQVZFX0FTUFJJTlRGCiAKICNpbmNsdWRlIDxiYXNodHlwZXMuaD4KIApAQCAtMjk5LDYgKzMwMywxMyBAQAogCiBzdGF0aWMgY2hhciAqZ3JvdXBudW0gX19QKChjaGFyICopKTsKIAorI2lmbmRlZiBIQVZFX0lTSU5GX0lOX0xJQkMKK3N0YXRpYyBpbnQgaXNpbmYgX19QKChkb3VibGUpKTsKKyNlbmRpZgorI2lmbmRlZiBIQVZFX0lTTkFOX0lOX0xJQkMKK3N0YXRpYyBpbnQgaXNuYW4gX19QKChkb3VibGUpKTsKKyNlbmRpZgorCiAjaWZkZWYgRFJJVkVSCiBzdGF0aWMgdm9pZCBtZW1vcnlfZXJyb3JfYW5kX2Fib3J0ICgpOwogc3RhdGljIHZvaWQgKnhtYWxsb2MgX19QKChzaXplX3QpKTsKQEAgLTE2NDAsNyArMTY1MSw3IEBACiB9CiAjZW5kaWYgLyogRkxPQVRJTkdfUE9JTlQgKi8KIAotI2lmbmRlZiBIQVZFX1NOUFJJTlRGCisjaWYgIUhBVkVfU05QUklOVEYKIAogaW50CiAjaWYgZGVmaW5lZCAoX19TVERDX18pCkBAIC0xNjkwLDcgKzE3MDEsNyBAQAogCiAjZW5kaWYgLyogSEFWRV9TTlBSSU5URiAqLwogCi0jaWZuZGVmIEhBVkVfQVNQUklOVEYKKyNpZiAhSEFWRV9BU1BSSU5URgogCiBpbnQKICNpZiBkZWZpbmVkIChfX1NURENfXykKQEAgLTE3MzUsOSArMTc0Niw5IEBACiAgIHJldHVybiBydmFsOwogfQogCi0jZW5kaWYKKyNlbmRpZiAvKiAhSEFWRV9BU1BSSU5URiAqLwogCi0jZW5kaWYKKyNlbmRpZiAvKiAhSEFWRV9TTlBSSU5URiB8fCAhSEFWRV9BU1BSSU5URiAqLwogCiAjaWZkZWYgRFJJVkVSCiAKZGlmZiAtLWdpdCBhL2xpYi9zaC9zdHJ0b2ltYXguYyBiL2xpYi9zaC9zdHJ0b2ltYXguYwppbmRleCAzNzNmNjZhLi5hNDE3MGYwIDEwMDY0NAotLS0gYS9saWIvc2gvc3RydG9pbWF4LmMKKysrIGIvbGliL3NoL3N0cnRvaW1heC5jCkBAIC0xLDYgKzEsNiBAQAogLyogc3RydG9pbWF4IC0gY29udmVydCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYSBudW1iZXIgaW50byBhbiBpbnRtYXhfdCB2YWx1ZS4gKi8KIAotLyogQ29weXJpZ2h0IDE5OTktMjAwNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy8qIENvcHlyaWdodCAxOTk5LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNIZWxsLgogICAgCkBAIC0yOCw2ICsyOCwxMCBAQAogIyAgaW5jbHVkZSA8aW50dHlwZXMuaD4KICNlbmRpZgogCisjaWYgSEFWRV9TVERJTlRfSAorIyAgaW5jbHVkZSA8c3RkaW50Lmg+CisjZW5kaWYKKwogI2lmIEhBVkVfU1RETElCX0gKICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgogI2VuZGlmCmRpZmYgLS1naXQgYS9saWIvc2gvc3RydG91bWF4LmMgYi9saWIvc2gvc3RydG91bWF4LmMKaW5kZXggMzY1MmIxZS4uMDk0MjNhZCAxMDA2NDQKLS0tIGEvbGliL3NoL3N0cnRvdW1heC5jCisrKyBiL2xpYi9zaC9zdHJ0b3VtYXguYwpAQCAtMSw2ICsxLDYgQEAKIC8qIHN0cnRvdW1heCAtIGNvbnZlcnQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGEgbnVtYmVyIGludG8gYW4gdWludG1heF90IHZhbHVlLiAqLwogCi0vKiBDb3B5cmlnaHQgMTk5OS0yMDA1IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLyogQ29weXJpZ2h0IDE5OTktMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAKQEAgLTE3LDYgKzE3LDcgQEAKICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgICBhbG9uZyB3aXRoIEJhc2guICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAqLworCiAvKiBXcml0dGVuIGJ5IFBhdWwgRWdnZXJ0LiAgTW9kaWZpZWQgYnkgQ2hldCBSYW1leSBmb3IgQmFzaC4gKi8KIAogI2lmIEhBVkVfQ09ORklHX0gKQEAgLTI3LDYgKzI4LDEwIEBACiAjICBpbmNsdWRlIDxpbnR0eXBlcy5oPgogI2VuZGlmCiAKKyNpZiBIQVZFX1NURElOVF9ICisjICBpbmNsdWRlIDxzdGRpbnQuaD4KKyNlbmRpZgorCiAjaWYgSEFWRV9TVERMSUJfSAogIyAgaW5jbHVkZSA8c3RkbGliLmg+CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYi9zaC91Y29udmVydC5jIGIvbGliL3NoL3Vjb252ZXJ0LmMKaW5kZXggMTAwOTU2NS4uM2Q2NTZkZiAxMDA2NDQKLS0tIGEvbGliL3NoL3Vjb252ZXJ0LmMKKysrIGIvbGliL3NoL3Vjb252ZXJ0LmMKQEAgLTkyLDcgKzkyLDcgQEAKICAgICAgIGlwYXJ0ID0gKGlwYXJ0ICogMTApICsgKCpwIC0gJzAnKTsKICAgICB9CiAKLSAgaWYgKCpwID09IDApCisgIGlmIChwID09IDAgfHwgKnAgPT0gMCkJLyogY2FsbGVycyBlbnN1cmUgcCBjYW4gbmV2ZXIgYmUgMDsgdGhpcyBpcyB0byBzaHV0IHVwIGNsYW5nICovCiAgICAgUkVUVVJOKDEpOwogCiAgIGlmICgqcCA9PSBERUNJTUFMKQpkaWZmIC0tZ2l0IGEvbWFpbGNoZWNrLmMgYi9tYWlsY2hlY2suYwppbmRleCBlZDY0YmRmLi5iZDk1ZjBkIDEwMDY0NAotLS0gYS9tYWlsY2hlY2suYworKysgYi9tYWlsY2hlY2suYwpAQCAtMjY4LDcgKzI2OCw3IEBACiAgIG10aW1lID0gbWFpbGZpbGVzW2ldLT5tb2RfdGltZTsKIAogICBpZiAoKG1haWxzdGF0IChmaWxlLCAmZmluZm8pID09IDApICYmIChmaW5mby5zdF9zaXplID4gMCkpCi0gICAgcmV0dXJuIChtdGltZSAhPSBmaW5mby5zdF9tdGltZSk7CisgICAgcmV0dXJuIChtdGltZSA8IGZpbmZvLnN0X210aW1lKTsKIAogICBpZiAoZmluZm8uc3Rfc2l6ZSA9PSAwICYmIG1haWxmaWxlc1tpXS0+ZmlsZV9zaXplID4gMCkKICAgICBVUERBVEVfTUFJTF9GSUxFIChpLCBmaW5mbyk7CkBAIC0yODksNyArMjg5LDcgQEAKICAgYXRpbWUgPSBtYWlsZmlsZXNbaV0tPmFjY2Vzc190aW1lOwogCiAgIGlmICgobWFpbHN0YXQgKGZpbGUsICZmaW5mbykgPT0gMCkgJiYgKGZpbmZvLnN0X3NpemUgPiAwKSkKLSAgICByZXR1cm4gKGF0aW1lICE9IGZpbmZvLnN0X2F0aW1lKTsKKyAgICByZXR1cm4gKGF0aW1lIDwgZmluZm8uc3RfYXRpbWUpOwogCiAgIHJldHVybiAoMCk7CiB9CmRpZmYgLS1naXQgYS9tYWtlX2NtZC5jIGIvbWFrZV9jbWQuYwppbmRleCA1OGM0NDMyLi4yZWI0ZmRhIDEwMDY0NAotLS0gYS9tYWtlX2NtZC5jCisrKyBiL21ha2VfY21kLmMKQEAgLTM0LDYgKzM0LDcgQEAKIAogI2luY2x1ZGUgImJhc2hpbnRsLmgiCiAKKyNpbmNsdWRlICJwYXJzZXIuaCIKICNpbmNsdWRlICJzeW50YXguaCIKICNpbmNsdWRlICJjb21tYW5kLmgiCiAjaW5jbHVkZSAiZ2VuZXJhbC5oIgpAQCAtNTMsNyArNTQsNyBAQAogCiAjaW5jbHVkZSAic2htYnV0aWwuaCIKIAotZXh0ZXJuIGludCBsaW5lX251bWJlciwgY3VycmVudF9jb21tYW5kX2xpbmVfY291bnQ7CitleHRlcm4gaW50IGxpbmVfbnVtYmVyLCBjdXJyZW50X2NvbW1hbmRfbGluZV9jb3VudCwgcGFyc2VyX3N0YXRlOwogZXh0ZXJuIGludCBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZTsKIAogLyogT2JqZWN0IGNhY2hpbmcgKi8KQEAgLTUyOCwxMSArNTI5LDE3IEBACiAgIC8qIElmIHdlIGFyZSBzdGFydGluZyBmcm9tIHNjcmF0Y2gsIHRoZW4gbWFrZSB0aGUgaW5pdGlhbCBjb21tYW5kCiAgICAgIHN0cnVjdHVyZS4gIEFsc28gbm90ZSB0aGF0IHdlIGhhdmUgdG8gZmlsbCBpbiBhbGwgdGhlIHNsb3RzLCBzaW5jZQogICAgICBtYWxsb2MgZG9lc24ndCByZXR1cm4gemVyb2VkIHNwYWNlLiAqLwotICBpZiAoIWNvbW1hbmQpCi0gICAgY29tbWFuZCA9IG1ha2VfYmFyZV9zaW1wbGVfY29tbWFuZCAoKTsKKyAgaWYgKGNvbW1hbmQgPT0gMCkKKyAgICB7CisgICAgICBjb21tYW5kID0gbWFrZV9iYXJlX3NpbXBsZV9jb21tYW5kICgpOworICAgICAgcGFyc2VyX3N0YXRlIHw9IFBTVF9SRURJUkxJU1Q7CisgICAgfQogCiAgIGlmIChlbGVtZW50LndvcmQpCi0gICAgY29tbWFuZC0+dmFsdWUuU2ltcGxlLT53b3JkcyA9IG1ha2Vfd29yZF9saXN0IChlbGVtZW50LndvcmQsIGNvbW1hbmQtPnZhbHVlLlNpbXBsZS0+d29yZHMpOworICAgIHsKKyAgICAgIGNvbW1hbmQtPnZhbHVlLlNpbXBsZS0+d29yZHMgPSBtYWtlX3dvcmRfbGlzdCAoZWxlbWVudC53b3JkLCBjb21tYW5kLT52YWx1ZS5TaW1wbGUtPndvcmRzKTsKKyAgICAgIHBhcnNlcl9zdGF0ZSAmPSB+UFNUX1JFRElSTElTVDsKKyAgICB9CiAgIGVsc2UgaWYgKGVsZW1lbnQucmVkaXJlY3QpCiAgICAgewogICAgICAgUkVESVJFQ1QgKnIgPSBlbGVtZW50LnJlZGlyZWN0OwpAQCAtNTQ0LDYgKzU1MSw3IEBACiAgICAgICByLT5uZXh0ID0gY29tbWFuZC0+dmFsdWUuU2ltcGxlLT5yZWRpcmVjdHM7CiAgICAgICBjb21tYW5kLT52YWx1ZS5TaW1wbGUtPnJlZGlyZWN0cyA9IGVsZW1lbnQucmVkaXJlY3Q7CiAgICAgfQorCiAgIHJldHVybiAoY29tbWFuZCk7CiB9CiAKQEAgLTY2NSwxMCArNjczLDExIEBACiAgICBJTlNUUlVDVElPTiBpcyB0aGUgaW5zdHJ1Y3Rpb24gdHlwZSwgU09VUkNFIGlzIGEgZmlsZSBkZXNjcmlwdG9yLAogICAgYW5kIERFU1QgaXMgYSBmaWxlIGRlc2NyaXB0b3Igb3IgYSBXT1JEX0RFU0MgKi4gKi8KIFJFRElSRUNUICoKLW1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgaW5zdHJ1Y3Rpb24sIGRlc3RfYW5kX2ZpbGVuYW1lKQotICAgICBpbnQgc291cmNlOworbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCBpbnN0cnVjdGlvbiwgZGVzdF9hbmRfZmlsZW5hbWUsIGZsYWdzKQorICAgICBSRURJUkVDVEVFIHNvdXJjZTsKICAgICAgZW51bSByX2luc3RydWN0aW9uIGluc3RydWN0aW9uOwogICAgICBSRURJUkVDVEVFIGRlc3RfYW5kX2ZpbGVuYW1lOworICAgICBpbnQgZmxhZ3M7CiB7CiAgIFJFRElSRUNUICp0ZW1wOwogICBXT1JEX0RFU0MgKnc7CkBAIC02ODIsNiArNjkxLDcgQEAKICAgdGVtcC0+cmVkaXJlY3RlZSA9IGRlc3RfYW5kX2ZpbGVuYW1lOwogICB0ZW1wLT5pbnN0cnVjdGlvbiA9IGluc3RydWN0aW9uOwogICB0ZW1wLT5mbGFncyA9IDA7CisgIHRlbXAtPnJmbGFncyA9IGZsYWdzOwogICB0ZW1wLT5uZXh0ID0gKFJFRElSRUNUICopTlVMTDsKIAogICBzd2l0Y2ggKGluc3RydWN0aW9uKQpAQCAtODI3LDYgKzgzNyw3IEBACiAJUkVWRVJTRV9MSVNUIChjb21tYW5kLT52YWx1ZS5TaW1wbGUtPnJlZGlyZWN0cywgUkVESVJFQ1QgKik7CiAgICAgfQogCisgIHBhcnNlcl9zdGF0ZSAmPSB+UFNUX1JFRElSTElTVDsKICAgcmV0dXJuIChjb21tYW5kKTsKIH0KIApkaWZmIC0tZ2l0IGEvbWFrZV9jbWQuaCBiL21ha2VfY21kLmgKaW5kZXggMGE3NDU2ZS4uZjE3Nzc0ZCAxMDA2NDQKLS0tIGEvbWFrZV9jbWQuaAorKysgYi9tYWtlX2NtZC5oCkBAIC00Nyw3ICs0Nyw3IEBACiBleHRlcm4gQ09NTUFORCAqbWFrZV9iYXJlX3NpbXBsZV9jb21tYW5kIF9fUCgodm9pZCkpOwogZXh0ZXJuIENPTU1BTkQgKm1ha2Vfc2ltcGxlX2NvbW1hbmQgX19QKChFTEVNRU5ULCBDT01NQU5EICopKTsKIGV4dGVybiB2b2lkIG1ha2VfaGVyZV9kb2N1bWVudCBfX1AoKFJFRElSRUNUICosIGludCkpOwotZXh0ZXJuIFJFRElSRUNUICptYWtlX3JlZGlyZWN0aW9uIF9fUCgoaW50LCBlbnVtIHJfaW5zdHJ1Y3Rpb24sIFJFRElSRUNURUUpKTsKK2V4dGVybiBSRURJUkVDVCAqbWFrZV9yZWRpcmVjdGlvbiBfX1AoKFJFRElSRUNURUUsIGVudW0gcl9pbnN0cnVjdGlvbiwgUkVESVJFQ1RFRSwgaW50KSk7CiBleHRlcm4gQ09NTUFORCAqbWFrZV9mdW5jdGlvbl9kZWYgX19QKChXT1JEX0RFU0MgKiwgQ09NTUFORCAqLCBpbnQsIGludCkpOwogZXh0ZXJuIENPTU1BTkQgKmNsZWFuX3NpbXBsZV9jb21tYW5kIF9fUCgoQ09NTUFORCAqKSk7CiAKZGlmZiAtLWdpdCBhL3BhcnNlLnkgYi9wYXJzZS55CmluZGV4IGVlYmQ1NDkuLjJiNDdmZjggMTAwNjQ0Ci0tLSBhL3BhcnNlLnkKKysrIGIvcGFyc2UueQpAQCAtMTE4LDYgKzExOCw3IEBACiBleHRlcm4gaW50IHNvdXJjZWxldmVsLCBwYXJzZV9hbmRfZXhlY3V0ZV9sZXZlbDsKIGV4dGVybiBpbnQgcG9zaXhseV9jb3JyZWN0OwogZXh0ZXJuIGludCBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZTsKK2V4dGVybiBwaWRfdCBsYXN0X2NvbW1hbmRfc3Vic3RfcGlkOwogZXh0ZXJuIGNoYXIgKnNoZWxsX25hbWUsICpjdXJyZW50X2hvc3RfbmFtZTsKIGV4dGVybiBjaGFyICpkaXN0X3ZlcnNpb247CiBleHRlcm4gaW50IHBhdGNoX2xldmVsOwpAQCAtMjQ2LDEwICsyNDcsNiBAQAogICAgcXVvdGVzLiAqLwogaW50IGV4dGVuZGVkX3F1b3RlID0gMTsKIAotLyogVGhlIGRlY29kZWQgcHJvbXB0IHN0cmluZy4gIFVzZWQgaWYgUkVBRExJTkUgaXMgbm90IGRlZmluZWQgb3IgaWYKLSAgIGVkaXRpbmcgaXMgdHVybmVkIG9mZi4gIEFuYWxvZ291cyB0byBjdXJyZW50X3JlYWRsaW5lX3Byb21wdC4gKi8KLXN0YXRpYyBjaGFyICpjdXJyZW50X2RlY29kZWRfcHJvbXB0OwotCiAvKiBUaGUgbnVtYmVyIG9mIGxpbmVzIHJlYWQgZnJvbSBpbnB1dCB3aGlsZSBjcmVhdGluZyB0aGUgY3VycmVudCBjb21tYW5kLiAqLwogaW50IGN1cnJlbnRfY29tbWFuZF9saW5lX2NvdW50OwogCkBAIC0yNTksNiArMjU2LDkgQEAKIC8qIFRoZSB0b2tlbiBjdXJyZW50bHkgYmVpbmcgcmVhZC4gKi8KIGludCBjdXJyZW50X3Rva2VuOwogCisvKiBUaGUgY3VycmVudCBwYXJzZXIgc3RhdGUuICovCitpbnQgcGFyc2VyX3N0YXRlOworCiAvKiBWYXJpYWJsZXMgdG8gbWFuYWdlIHRoZSB0YXNrIG9mIHJlYWRpbmcgaGVyZSBkb2N1bWVudHMsIGJlY2F1c2Ugd2UgbmVlZCB0bwogICAgZGVmZXIgdGhlIHJlYWRpbmcgdW50aWwgYWZ0ZXIgYSBjb21wbGV0ZSBjb21tYW5kIGhhcyBiZWVuIGNvbGxlY3RlZC4gKi8KIHN0YXRpYyBSRURJUkVDVCAqcmVkaXJfc3RhY2tbMTBdOwpAQCAtMjgzLDggKzI4Myw5IEBACiAvKiBUaGUgbGluZSBudW1iZXIgaW4gYSBzY3JpcHQgYXQgd2hpY2ggYW4gYXJpdGhtZXRpYyBmb3IgY29tbWFuZCBzdGFydHMuICovCiBzdGF0aWMgaW50IGFyaXRoX2Zvcl9saW5lbm87CiAKLS8qIFRoZSBjdXJyZW50IHBhcnNlciBzdGF0ZS4gKi8KLXN0YXRpYyBpbnQgcGFyc2VyX3N0YXRlOworLyogVGhlIGRlY29kZWQgcHJvbXB0IHN0cmluZy4gIFVzZWQgaWYgUkVBRExJTkUgaXMgbm90IGRlZmluZWQgb3IgaWYKKyAgIGVkaXRpbmcgaXMgdHVybmVkIG9mZi4gIEFuYWxvZ291cyB0byBjdXJyZW50X3JlYWRsaW5lX3Byb21wdC4gKi8KK3N0YXRpYyBjaGFyICpjdXJyZW50X2RlY29kZWRfcHJvbXB0OwogCiAvKiBUaGUgbGFzdCByZWFkIHRva2VuLCBvciBOVUxMLiAgcmVhZF90b2tlbiAoKSB1c2VzIHRoaXMgZm9yIGNvbnRleHQKICAgIGNoZWNraW5nLiAqLwpAQCAtMjk2LDYgKzI5Nyw4IEBACiAvKiBUaGUgdG9rZW4gcmVhZCBwcmlvciB0byB0b2tlbl9iZWZvcmVfdGhhdC4gKi8KIHN0YXRpYyBpbnQgdHdvX3Rva2Vuc19hZ287CiAKK3N0YXRpYyBpbnQgZ2xvYmFsX2V4dGdsb2I7CisKIC8qIFRoZSBsaW5lIG51bWJlciBpbiBhIHNjcmlwdCB3aGVyZSB0aGUgd29yZCBpbiBhIGBjYXNlIFdPUkQnLCBgc2VsZWN0IFdPUkQnCiAgICBvciBgZm9yIFdPUkQnIGJlZ2lucy4gIFRoaXMgaXMgYSBuZXN0ZWQgY29tbWFuZCBtYXhpbXVtLCBzaW5jZSB0aGUgYXJyYXkKICAgIGluZGV4IGlzIGRlY3JlbWVudGVkIGFmdGVyIGEgY2FzZSwgc2VsZWN0LCBvciBmb3IgY29tbWFuZCBpcyBwYXJzZWQuICovCkBAIC0zMTAsNiArMzEzLDcgQEAKIHN0YXRpYyBpbnQgdG9rZW5fdG9fcmVhZDsKIHN0YXRpYyBXT1JEX0RFU0MgKndvcmRfZGVzY190b19yZWFkOwogCitzdGF0aWMgUkVESVJFQ1RFRSBzb3VyY2U7CiBzdGF0aWMgUkVESVJFQ1RFRSByZWRpcjsKICV9CiAKQEAgLTMzMiw3ICszMzYsNyBAQAogJXRva2VuIElOIEJBTkcgVElNRSBUSU1FT1BUCiAKIC8qIE1vcmUgZ2VuZXJhbCB0b2tlbnMuIHl5bGV4ICgpIGtub3dzIGhvdyB0byBtYWtlIHRoZXNlLiAqLwotJXRva2VuIDx3b3JkPiBXT1JEIEFTU0lHTk1FTlRfV09SRAorJXRva2VuIDx3b3JkPiBXT1JEIEFTU0lHTk1FTlRfV09SRCBSRURJUl9XT1JECiAldG9rZW4gPG51bWJlcj4gTlVNQkVSCiAldG9rZW4gPHdvcmRfbGlzdD4gQVJJVEhfQ01EIEFSSVRIX0ZPUl9FWFBSUwogJXRva2VuIDxjb21tYW5kPiBDT05EX0NNRApAQCAtNDE5LDE1OSArNDIzLDI3MyBAQAogCiByZWRpcmVjdGlvbjoJJz4nIFdPUkQKIAkJCXsKKwkJCSAgc291cmNlLmRlc3QgPSAxOwogCQkJICByZWRpci5maWxlbmFtZSA9ICQyOwotCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKDEsIHJfb3V0cHV0X2RpcmVjdGlvbiwgcmVkaXIpOworCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9vdXRwdXRfZGlyZWN0aW9uLCByZWRpciwgMCk7CiAJCQl9CiAJfAknPCcgV09SRAogCQkJeworCQkJICBzb3VyY2UuZGVzdCA9IDA7CiAJCQkgIHJlZGlyLmZpbGVuYW1lID0gJDI7Ci0JCQkgICQkID0gbWFrZV9yZWRpcmVjdGlvbiAoMCwgcl9pbnB1dF9kaXJlY3Rpb24sIHJlZGlyKTsKKwkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfaW5wdXRfZGlyZWN0aW9uLCByZWRpciwgMCk7CiAJCQl9CiAJfAlOVU1CRVIgJz4nIFdPUkQKIAkJCXsKKwkJCSAgc291cmNlLmRlc3QgPSAkMTsKIAkJCSAgcmVkaXIuZmlsZW5hbWUgPSAkMzsKLQkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uICgkMSwgcl9vdXRwdXRfZGlyZWN0aW9uLCByZWRpcik7CisJCQkgICQkID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX291dHB1dF9kaXJlY3Rpb24sIHJlZGlyLCAwKTsKIAkJCX0KIAl8CU5VTUJFUiAnPCcgV09SRAogCQkJeworCQkJICBzb3VyY2UuZGVzdCA9ICQxOwogCQkJICByZWRpci5maWxlbmFtZSA9ICQzOwotCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKCQxLCByX2lucHV0X2RpcmVjdGlvbiwgcmVkaXIpOworCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9pbnB1dF9kaXJlY3Rpb24sIHJlZGlyLCAwKTsKKwkJCX0KKwl8CVJFRElSX1dPUkQgJz4nIFdPUkQKKwkJCXsKKwkJCSAgc291cmNlLmZpbGVuYW1lID0gJDE7CisJCQkgIHJlZGlyLmZpbGVuYW1lID0gJDM7CisJCQkgICQkID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX291dHB1dF9kaXJlY3Rpb24sIHJlZGlyLCBSRURJUl9WQVJBU1NJR04pOworCQkJfQorCXwJUkVESVJfV09SRCAnPCcgV09SRAorCQkJeworCQkJICBzb3VyY2UuZmlsZW5hbWUgPSAkMTsKKwkJCSAgcmVkaXIuZmlsZW5hbWUgPSAkMzsKKwkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfaW5wdXRfZGlyZWN0aW9uLCByZWRpciwgUkVESVJfVkFSQVNTSUdOKTsKIAkJCX0KIAl8CUdSRUFURVJfR1JFQVRFUiBXT1JECiAJCQl7CisJCQkgIHNvdXJjZS5kZXN0ID0gMTsKIAkJCSAgcmVkaXIuZmlsZW5hbWUgPSAkMjsKLQkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uICgxLCByX2FwcGVuZGluZ190bywgcmVkaXIpOworCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9hcHBlbmRpbmdfdG8sIHJlZGlyLCAwKTsKIAkJCX0KIAl8CU5VTUJFUiBHUkVBVEVSX0dSRUFURVIgV09SRAogCQkJeworCQkJICBzb3VyY2UuZGVzdCA9ICQxOwogCQkJICByZWRpci5maWxlbmFtZSA9ICQzOwotCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKCQxLCByX2FwcGVuZGluZ190bywgcmVkaXIpOworCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9hcHBlbmRpbmdfdG8sIHJlZGlyLCAwKTsKKwkJCX0KKwl8CVJFRElSX1dPUkQgR1JFQVRFUl9HUkVBVEVSIFdPUkQKKwkJCXsKKwkJCSAgc291cmNlLmZpbGVuYW1lID0gJDE7CisJCQkgIHJlZGlyLmZpbGVuYW1lID0gJDM7CisJCQkgICQkID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX2FwcGVuZGluZ190bywgcmVkaXIsIFJFRElSX1ZBUkFTU0lHTik7CisJCQl9CisJfAlHUkVBVEVSX0JBUiBXT1JECisJCQl7CisJCQkgIHNvdXJjZS5kZXN0ID0gMTsKKwkJCSAgcmVkaXIuZmlsZW5hbWUgPSAkMjsKKwkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfb3V0cHV0X2ZvcmNlLCByZWRpciwgMCk7CisJCQl9CisJfAlOVU1CRVIgR1JFQVRFUl9CQVIgV09SRAorCQkJeworCQkJICBzb3VyY2UuZGVzdCA9ICQxOworCQkJICByZWRpci5maWxlbmFtZSA9ICQzOworCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9vdXRwdXRfZm9yY2UsIHJlZGlyLCAwKTsKKwkJCX0KKwl8CVJFRElSX1dPUkQgR1JFQVRFUl9CQVIgV09SRAorCQkJeworCQkJICBzb3VyY2UuZmlsZW5hbWUgPSAkMTsKKwkJCSAgcmVkaXIuZmlsZW5hbWUgPSAkMzsKKwkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfb3V0cHV0X2ZvcmNlLCByZWRpciwgUkVESVJfVkFSQVNTSUdOKTsKKwkJCX0KKwl8CUxFU1NfR1JFQVRFUiBXT1JECisJCQl7CisJCQkgIHNvdXJjZS5kZXN0ID0gMDsKKwkJCSAgcmVkaXIuZmlsZW5hbWUgPSAkMjsKKwkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfaW5wdXRfb3V0cHV0LCByZWRpciwgMCk7CisJCQl9CisJfAlOVU1CRVIgTEVTU19HUkVBVEVSIFdPUkQKKwkJCXsKKwkJCSAgc291cmNlLmRlc3QgPSAkMTsKKwkJCSAgcmVkaXIuZmlsZW5hbWUgPSAkMzsKKwkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfaW5wdXRfb3V0cHV0LCByZWRpciwgMCk7CisJCQl9CisJfAlSRURJUl9XT1JEIExFU1NfR1JFQVRFUiBXT1JECisJCQl7CisJCQkgIHNvdXJjZS5maWxlbmFtZSA9ICQxOworCQkJICByZWRpci5maWxlbmFtZSA9ICQzOworCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9pbnB1dF9vdXRwdXQsIHJlZGlyLCBSRURJUl9WQVJBU1NJR04pOwogCQkJfQogCXwJTEVTU19MRVNTIFdPUkQKIAkJCXsKKwkJCSAgc291cmNlLmRlc3QgPSAwOwogCQkJICByZWRpci5maWxlbmFtZSA9ICQyOwotCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKDAsIHJfcmVhZGluZ191bnRpbCwgcmVkaXIpOworCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9yZWFkaW5nX3VudGlsLCByZWRpciwgMCk7CiAJCQkgIHJlZGlyX3N0YWNrW25lZWRfaGVyZV9kb2MrK10gPSAkJDsKIAkJCX0KIAl8CU5VTUJFUiBMRVNTX0xFU1MgV09SRAogCQkJeworCQkJICBzb3VyY2UuZGVzdCA9ICQxOwogCQkJICByZWRpci5maWxlbmFtZSA9ICQzOwotCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKCQxLCByX3JlYWRpbmdfdW50aWwsIHJlZGlyKTsKKwkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfcmVhZGluZ191bnRpbCwgcmVkaXIsIDApOwogCQkJICByZWRpcl9zdGFja1tuZWVkX2hlcmVfZG9jKytdID0gJCQ7CiAJCQl9Ci0JfAlMRVNTX0xFU1NfTEVTUyBXT1JECisJfAlSRURJUl9XT1JEIExFU1NfTEVTUyBXT1JECiAJCQl7Ci0JCQkgIHJlZGlyLmZpbGVuYW1lID0gJDI7Ci0JCQkgICQkID0gbWFrZV9yZWRpcmVjdGlvbiAoMCwgcl9yZWFkaW5nX3N0cmluZywgcmVkaXIpOwotCQkJfQotCXwJTlVNQkVSIExFU1NfTEVTU19MRVNTIFdPUkQKLQkJCXsKKwkJCSAgc291cmNlLmZpbGVuYW1lID0gJDE7CiAJCQkgIHJlZGlyLmZpbGVuYW1lID0gJDM7Ci0JCQkgICQkID0gbWFrZV9yZWRpcmVjdGlvbiAoJDEsIHJfcmVhZGluZ19zdHJpbmcsIHJlZGlyKTsKLQkJCX0KLQl8CUxFU1NfQU5EIE5VTUJFUgotCQkJewotCQkJICByZWRpci5kZXN0ID0gJDI7Ci0JCQkgICQkID0gbWFrZV9yZWRpcmVjdGlvbiAoMCwgcl9kdXBsaWNhdGluZ19pbnB1dCwgcmVkaXIpOwotCQkJfQotCXwJTlVNQkVSIExFU1NfQU5EIE5VTUJFUgotCQkJewotCQkJICByZWRpci5kZXN0ID0gJDM7Ci0JCQkgICQkID0gbWFrZV9yZWRpcmVjdGlvbiAoJDEsIHJfZHVwbGljYXRpbmdfaW5wdXQsIHJlZGlyKTsKLQkJCX0KLQl8CUdSRUFURVJfQU5EIE5VTUJFUgotCQkJewotCQkJICByZWRpci5kZXN0ID0gJDI7Ci0JCQkgICQkID0gbWFrZV9yZWRpcmVjdGlvbiAoMSwgcl9kdXBsaWNhdGluZ19vdXRwdXQsIHJlZGlyKTsKLQkJCX0KLQl8CU5VTUJFUiBHUkVBVEVSX0FORCBOVU1CRVIKLQkJCXsKLQkJCSAgcmVkaXIuZGVzdCA9ICQzOwotCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKCQxLCByX2R1cGxpY2F0aW5nX291dHB1dCwgcmVkaXIpOwotCQkJfQotCXwJTEVTU19BTkQgV09SRAotCQkJewotCQkJICByZWRpci5maWxlbmFtZSA9ICQyOwotCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKDAsIHJfZHVwbGljYXRpbmdfaW5wdXRfd29yZCwgcmVkaXIpOwotCQkJfQotCXwJTlVNQkVSIExFU1NfQU5EIFdPUkQKLQkJCXsKLQkJCSAgcmVkaXIuZmlsZW5hbWUgPSAkMzsKLQkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uICgkMSwgcl9kdXBsaWNhdGluZ19pbnB1dF93b3JkLCByZWRpcik7Ci0JCQl9Ci0JfAlHUkVBVEVSX0FORCBXT1JECi0JCQl7Ci0JCQkgIHJlZGlyLmZpbGVuYW1lID0gJDI7Ci0JCQkgICQkID0gbWFrZV9yZWRpcmVjdGlvbiAoMSwgcl9kdXBsaWNhdGluZ19vdXRwdXRfd29yZCwgcmVkaXIpOwotCQkJfQotCXwJTlVNQkVSIEdSRUFURVJfQU5EIFdPUkQKLQkJCXsKLQkJCSAgcmVkaXIuZmlsZW5hbWUgPSAkMzsKLQkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uICgkMSwgcl9kdXBsaWNhdGluZ19vdXRwdXRfd29yZCwgcmVkaXIpOworCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9yZWFkaW5nX3VudGlsLCByZWRpciwgUkVESVJfVkFSQVNTSUdOKTsKKwkJCSAgcmVkaXJfc3RhY2tbbmVlZF9oZXJlX2RvYysrXSA9ICQkOwogCQkJfQogCXwJTEVTU19MRVNTX01JTlVTIFdPUkQKIAkJCXsKKwkJCSAgc291cmNlLmRlc3QgPSAwOwogCQkJICByZWRpci5maWxlbmFtZSA9ICQyOwotCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24KLQkJCSAgICAoMCwgcl9kZWJsYW5rX3JlYWRpbmdfdW50aWwsIHJlZGlyKTsKKwkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfZGVibGFua19yZWFkaW5nX3VudGlsLCByZWRpciwgMCk7CiAJCQkgIHJlZGlyX3N0YWNrW25lZWRfaGVyZV9kb2MrK10gPSAkJDsKIAkJCX0KIAl8CU5VTUJFUiBMRVNTX0xFU1NfTUlOVVMgV09SRAogCQkJeworCQkJICBzb3VyY2UuZGVzdCA9ICQxOwogCQkJICByZWRpci5maWxlbmFtZSA9ICQzOwotCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24KLQkJCSAgICAoJDEsIHJfZGVibGFua19yZWFkaW5nX3VudGlsLCByZWRpcik7CisJCQkgICQkID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX2RlYmxhbmtfcmVhZGluZ191bnRpbCwgcmVkaXIsIDApOwogCQkJICByZWRpcl9zdGFja1tuZWVkX2hlcmVfZG9jKytdID0gJCQ7CiAJCQl9CisJfAlSRURJUl9XT1JEICBMRVNTX0xFU1NfTUlOVVMgV09SRAorCQkJeworCQkJICBzb3VyY2UuZmlsZW5hbWUgPSAkMTsKKwkJCSAgcmVkaXIuZmlsZW5hbWUgPSAkMzsKKwkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfZGVibGFua19yZWFkaW5nX3VudGlsLCByZWRpciwgUkVESVJfVkFSQVNTSUdOKTsKKwkJCSAgcmVkaXJfc3RhY2tbbmVlZF9oZXJlX2RvYysrXSA9ICQkOworCQkJfQorCXwJTEVTU19MRVNTX0xFU1MgV09SRAorCQkJeworCQkJICBzb3VyY2UuZGVzdCA9IDA7CisJCQkgIHJlZGlyLmZpbGVuYW1lID0gJDI7CisJCQkgICQkID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX3JlYWRpbmdfc3RyaW5nLCByZWRpciwgMCk7CisJCQl9CisJfAlOVU1CRVIgTEVTU19MRVNTX0xFU1MgV09SRAorCQkJeworCQkJICBzb3VyY2UuZGVzdCA9ICQxOworCQkJICByZWRpci5maWxlbmFtZSA9ICQzOworCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9yZWFkaW5nX3N0cmluZywgcmVkaXIsIDApOworCQkJfQorCXwJUkVESVJfV09SRCBMRVNTX0xFU1NfTEVTUyBXT1JECisJCQl7CisJCQkgIHNvdXJjZS5maWxlbmFtZSA9ICQxOworCQkJICByZWRpci5maWxlbmFtZSA9ICQzOworCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9yZWFkaW5nX3N0cmluZywgcmVkaXIsIFJFRElSX1ZBUkFTU0lHTik7CisJCQl9CisJfAlMRVNTX0FORCBOVU1CRVIKKwkJCXsKKwkJCSAgc291cmNlLmRlc3QgPSAwOworCQkJICByZWRpci5kZXN0ID0gJDI7CisJCQkgICQkID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX2R1cGxpY2F0aW5nX2lucHV0LCByZWRpciwgMCk7CisJCQl9CisJfAlOVU1CRVIgTEVTU19BTkQgTlVNQkVSCisJCQl7CisJCQkgIHNvdXJjZS5kZXN0ID0gJDE7CisJCQkgIHJlZGlyLmRlc3QgPSAkMzsKKwkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfZHVwbGljYXRpbmdfaW5wdXQsIHJlZGlyLCAwKTsKKwkJCX0KKwl8CVJFRElSX1dPUkQgTEVTU19BTkQgTlVNQkVSCisJCQl7CisJCQkgIHNvdXJjZS5maWxlbmFtZSA9ICQxOworCQkJICByZWRpci5kZXN0ID0gJDM7CisJCQkgICQkID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX2R1cGxpY2F0aW5nX2lucHV0LCByZWRpciwgUkVESVJfVkFSQVNTSUdOKTsKKwkJCX0KKwl8CUdSRUFURVJfQU5EIE5VTUJFUgorCQkJeworCQkJICBzb3VyY2UuZGVzdCA9IDE7CisJCQkgIHJlZGlyLmRlc3QgPSAkMjsKKwkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfZHVwbGljYXRpbmdfb3V0cHV0LCByZWRpciwgMCk7CisJCQl9CisJfAlOVU1CRVIgR1JFQVRFUl9BTkQgTlVNQkVSCisJCQl7CisJCQkgIHNvdXJjZS5kZXN0ID0gJDE7CisJCQkgIHJlZGlyLmRlc3QgPSAkMzsKKwkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfZHVwbGljYXRpbmdfb3V0cHV0LCByZWRpciwgMCk7CisJCQl9CisJfAlSRURJUl9XT1JEIEdSRUFURVJfQU5EIE5VTUJFUgorCQkJeworCQkJICBzb3VyY2UuZmlsZW5hbWUgPSAkMTsKKwkJCSAgcmVkaXIuZGVzdCA9ICQzOworCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9kdXBsaWNhdGluZ19vdXRwdXQsIHJlZGlyLCBSRURJUl9WQVJBU1NJR04pOworCQkJfQorCXwJTEVTU19BTkQgV09SRAorCQkJeworCQkJICBzb3VyY2UuZGVzdCA9IDA7CisJCQkgIHJlZGlyLmZpbGVuYW1lID0gJDI7CisJCQkgICQkID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX2R1cGxpY2F0aW5nX2lucHV0X3dvcmQsIHJlZGlyLCAwKTsKKwkJCX0KKwl8CU5VTUJFUiBMRVNTX0FORCBXT1JECisJCQl7CisJCQkgIHNvdXJjZS5kZXN0ID0gJDE7CisJCQkgIHJlZGlyLmZpbGVuYW1lID0gJDM7CisJCQkgICQkID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX2R1cGxpY2F0aW5nX2lucHV0X3dvcmQsIHJlZGlyLCAwKTsKKwkJCX0KKwl8CVJFRElSX1dPUkQgTEVTU19BTkQgV09SRAorCQkJeworCQkJICBzb3VyY2UuZmlsZW5hbWUgPSAkMTsKKwkJCSAgcmVkaXIuZmlsZW5hbWUgPSAkMzsKKwkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfZHVwbGljYXRpbmdfaW5wdXRfd29yZCwgcmVkaXIsIFJFRElSX1ZBUkFTU0lHTik7CisJCQl9CisJfAlHUkVBVEVSX0FORCBXT1JECisJCQl7CisJCQkgIHNvdXJjZS5kZXN0ID0gMTsKKwkJCSAgcmVkaXIuZmlsZW5hbWUgPSAkMjsKKwkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfZHVwbGljYXRpbmdfb3V0cHV0X3dvcmQsIHJlZGlyLCAwKTsKKwkJCX0KKwl8CU5VTUJFUiBHUkVBVEVSX0FORCBXT1JECisJCQl7CisJCQkgIHNvdXJjZS5kZXN0ID0gJDE7CisJCQkgIHJlZGlyLmZpbGVuYW1lID0gJDM7CisJCQkgICQkID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX2R1cGxpY2F0aW5nX291dHB1dF93b3JkLCByZWRpciwgMCk7CisJCQl9CisJfAlSRURJUl9XT1JEIEdSRUFURVJfQU5EIFdPUkQKKwkJCXsKKwkJCSAgc291cmNlLmZpbGVuYW1lID0gJDE7CisJCQkgIHJlZGlyLmZpbGVuYW1lID0gJDM7CisJCQkgICQkID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX2R1cGxpY2F0aW5nX291dHB1dF93b3JkLCByZWRpciwgUkVESVJfVkFSQVNTSUdOKTsKKwkJCX0KIAl8CUdSRUFURVJfQU5EICctJwogCQkJeworCQkJICBzb3VyY2UuZGVzdCA9IDE7CiAJCQkgIHJlZGlyLmRlc3QgPSAwOwotCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKDEsIHJfY2xvc2VfdGhpcywgcmVkaXIpOworCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9jbG9zZV90aGlzLCByZWRpciwgMCk7CiAJCQl9CiAJfAlOVU1CRVIgR1JFQVRFUl9BTkQgJy0nCiAJCQl7CisJCQkgIHNvdXJjZS5kZXN0ID0gJDE7CiAJCQkgIHJlZGlyLmRlc3QgPSAwOwotCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKCQxLCByX2Nsb3NlX3RoaXMsIHJlZGlyKTsKKwkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfY2xvc2VfdGhpcywgcmVkaXIsIDApOworCQkJfQorCXwJUkVESVJfV09SRCBHUkVBVEVSX0FORCAnLScKKwkJCXsKKwkJCSAgc291cmNlLmZpbGVuYW1lID0gJDE7CisJCQkgIHJlZGlyLmRlc3QgPSAwOworCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9jbG9zZV90aGlzLCByZWRpciwgUkVESVJfVkFSQVNTSUdOKTsKIAkJCX0KIAl8CUxFU1NfQU5EICctJwogCQkJeworCQkJICBzb3VyY2UuZGVzdCA9IDA7CiAJCQkgIHJlZGlyLmRlc3QgPSAwOwotCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKDAsIHJfY2xvc2VfdGhpcywgcmVkaXIpOworCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9jbG9zZV90aGlzLCByZWRpciwgMCk7CiAJCQl9CiAJfAlOVU1CRVIgTEVTU19BTkQgJy0nCiAJCQl7CisJCQkgIHNvdXJjZS5kZXN0ID0gJDE7CiAJCQkgIHJlZGlyLmRlc3QgPSAwOwotCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKCQxLCByX2Nsb3NlX3RoaXMsIHJlZGlyKTsKKwkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfY2xvc2VfdGhpcywgcmVkaXIsIDApOworCQkJfQorCXwJUkVESVJfV09SRCBMRVNTX0FORCAnLScKKwkJCXsKKwkJCSAgc291cmNlLmZpbGVuYW1lID0gJDE7CisJCQkgIHJlZGlyLmRlc3QgPSAwOworCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9jbG9zZV90aGlzLCByZWRpciwgUkVESVJfVkFSQVNTSUdOKTsKIAkJCX0KIAl8CUFORF9HUkVBVEVSIFdPUkQKIAkJCXsKKwkJCSAgc291cmNlLmRlc3QgPSAxOwogCQkJICByZWRpci5maWxlbmFtZSA9ICQyOwotCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKDEsIHJfZXJyX2FuZF9vdXQsIHJlZGlyKTsKKwkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfZXJyX2FuZF9vdXQsIHJlZGlyLCAwKTsKIAkJCX0KIAl8CUFORF9HUkVBVEVSX0dSRUFURVIgV09SRAogCQkJeworCQkJICBzb3VyY2UuZGVzdCA9IDE7CiAJCQkgIHJlZGlyLmZpbGVuYW1lID0gJDI7Ci0JCQkgICQkID0gbWFrZV9yZWRpcmVjdGlvbiAoMSwgcl9hcHBlbmRfZXJyX2FuZF9vdXQsIHJlZGlyKTsKLQkJCX0KLQl8CU5VTUJFUiBMRVNTX0dSRUFURVIgV09SRAotCQkJewotCQkJICByZWRpci5maWxlbmFtZSA9ICQzOwotCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKCQxLCByX2lucHV0X291dHB1dCwgcmVkaXIpOwotCQkJfQotCXwJTEVTU19HUkVBVEVSIFdPUkQKLQkJCXsKLQkJCSAgcmVkaXIuZmlsZW5hbWUgPSAkMjsKLQkJCSAgJCQgPSBtYWtlX3JlZGlyZWN0aW9uICgwLCByX2lucHV0X291dHB1dCwgcmVkaXIpOwotCQkJfQotCXwJR1JFQVRFUl9CQVIgV09SRAotCQkJewotCQkJICByZWRpci5maWxlbmFtZSA9ICQyOwotCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKDEsIHJfb3V0cHV0X2ZvcmNlLCByZWRpcik7Ci0JCQl9Ci0JfAlOVU1CRVIgR1JFQVRFUl9CQVIgV09SRAotCQkJewotCQkJICByZWRpci5maWxlbmFtZSA9ICQzOwotCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKCQxLCByX291dHB1dF9mb3JjZSwgcmVkaXIpOworCQkJICAkJCA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9hcHBlbmRfZXJyX2FuZF9vdXQsIHJlZGlyLCAwKTsKIAkJCX0KIAk7CiAKQEAgLTExMTksMTIgKzEyMzcsMTMgQEAKIAkJCXsKIAkJCSAgLyogTWFrZSBjbWQxIHwmIGNtZDIgZXF1aXZhbGVudCB0byBjbWQxIDI+JjEgfCBjbWQyICovCiAJCQkgIENPTU1BTkQgKnRjOwotCQkJICBSRURJUkVDVEVFIHJkOworCQkJICBSRURJUkVDVEVFIHJkLCBzZDsKIAkJCSAgUkVESVJFQ1QgKnI7CiAKIAkJCSAgdGMgPSAkMS0+dHlwZSA9PSBjbV9zaW1wbGUgPyAoQ09NTUFORCAqKSQxLT52YWx1ZS5TaW1wbGUgOiAkMTsKKwkJCSAgc2QuZGVzdCA9IDI7CiAJCQkgIHJkLmRlc3QgPSAxOwotCQkJICByID0gbWFrZV9yZWRpcmVjdGlvbiAoMiwgcl9kdXBsaWNhdGluZ19vdXRwdXQsIHJkKTsKKwkJCSAgciA9IG1ha2VfcmVkaXJlY3Rpb24gKHNkLCByX2R1cGxpY2F0aW5nX291dHB1dCwgcmQsIDApOwogCQkJICBpZiAodGMtPnJlZGlyZWN0cykKIAkJCSAgICB7CiAJCQkgICAgICByZWdpc3RlciBSRURJUkVDVCAqdDsKQEAgLTE3ODYsNyArMTkwNSw3IEBACiB7CiAgIHN0YXRpYyBjaGFyICpsaW5lX2J1ZmZlciA9IChjaGFyICopTlVMTDsKICAgc3RhdGljIGludCBidWZmZXJfc2l6ZSA9IDA7Ci0gIGludCBpbmR4ID0gMCwgYywgcGVla2MsIHBhc3NfbmV4dDsKKyAgaW50IGluZHgsIGMsIHBlZWtjLCBwYXNzX25leHQ7CiAKICNpZiBkZWZpbmVkIChSRUFETElORSkKICAgaWYgKG5vX2xpbmVfZWRpdGluZyAmJiBTSE9VTERfUFJPTVBUICgpKQpAQCAtMTc5NSw3ICsxOTE0LDcgQEAKICNlbmRpZgogICAgIHByaW50X3Byb21wdCAoKTsKIAotICBwYXNzX25leHQgPSAwOworICBwYXNzX25leHQgPSBpbmR4ID0gMDsKICAgd2hpbGUgKDEpCiAgICAgewogICAgICAgLyogQWxsb3cgaW1tZWRpYXRlIGV4aXQgaWYgaW50ZXJydXB0ZWQgZHVyaW5nIGlucHV0LiAqLwpAQCAtMjIzNSw2ICsyMzU0LDcgQEAKICAgICAgYmVjYXVzZSB3ZSBoYXZlIGZ1bGx5IGNvbnN1bWVkIHRoZSByZXN1bHQgb2YgdGhlIGxhc3QgYWxpYXMgZXhwYW5zaW9uLgogICAgICBEbyBpdCB0cmFuc3BhcmVudGx5OyBqdXN0IHJldHVybiB0aGUgbmV4dCBjaGFyYWN0ZXIgb2YgdGhlIHN0cmluZyBwb3BwZWQKICAgICAgdG8uICovCitwb3BfYWxpYXM6CiAgIGlmICghdWMgJiYgKHB1c2hlZF9zdHJpbmdfbGlzdCAhPSAoU1RSSU5HX1NBVkVSICopTlVMTCkpCiAgICAgewogICAgICAgcG9wX3N0cmluZyAoKTsKQEAgLTIyNDksNiArMjM2OSwxNyBAQAogCWlmIChTSE9VTERfUFJPTVBUICgpKQogCSAgcHJvbXB0X2FnYWluICgpOwogCWxpbmVfbnVtYmVyKys7CisJLyogWFhYIC0gd2hhdCBkbyB3ZSBkbyBoZXJlIGlmIHdlJ3JlIGV4cGFuZGluZyBhbiBhbGlhcyB3aG9zZSBkZWZpbml0aW9uCisJICAgZW5kcyB3aXRoIGEgbmV3bGluZT8gIFJlY2FsbCB0aGF0IHdlIGluaGliaXQgdGhlIGFwcGVuZGluZyBvZiBhCisJICAgc3BhY2UgaW4gbWtfYWxleHBhbnNpb24oKSBpZiBuZXdsaW5lIGlzIHRoZSBsYXN0IGNoYXJhY3Rlci4gKi8KKyNpZiAwCS8qIFhYWCAtIGJhc2gtNC4yIChqb25hdGhhbkBjbGFnZ2V0dC5vcmcpICovCisJaWYgKGV4cGFuZGluZ19hbGlhcyAoKSAmJiBzaGVsbF9pbnB1dF9saW5lW3NoZWxsX2lucHV0X2xpbmVfaW5kZXgrMV0gPT0gJ1wwJykKKwkgIHsKKwkgICAgdWMgPSAwOworCSAgICBnb3RvIHBvcF9hbGlhczsKKwkgIH0KKyNlbmRpZgorCSAgCiAJZ290byByZXN0YXJ0X3JlYWQ7CiAgICAgfQogCkBAIC0yMzk2LDcgKzI1MjcsNyBAQAogc3RhdGljIGludCBvcGVuX2JyYWNlX2NvdW50OwogCiAjZGVmaW5lIGNvbW1hbmRfdG9rZW5fcG9zaXRpb24odG9rZW4pIFwKLSAgKCgodG9rZW4pID09IEFTU0lHTk1FTlRfV09SRCkgfHwgXAorICAoKCh0b2tlbikgPT0gQVNTSUdOTUVOVF9XT1JEKSB8fCAocGFyc2VyX3N0YXRlJlBTVF9SRURJUkxJU1QpIHx8IFwKICAgICgodG9rZW4pICE9IFNFTUlfU0VNSSAmJiAodG9rZW4pICE9IFNFTUlfQU5EICYmICh0b2tlbikgIT0gU0VNSV9TRU1JX0FORCAmJiByZXNlcnZlZF93b3JkX2FjY2VwdGFibGUodG9rZW4pKSkKIAogI2RlZmluZSBhc3NpZ25tZW50X2FjY2VwdGFibGUodG9rZW4pIFwKQEAgLTI0NTksNyArMjU5MCwxMSBAQAogICBsID0gc3RybGVuIChzKTsKICAgciA9IHhtYWxsb2MgKGwgKyAyKTsKICAgc3RyY3B5IChyLCBzKTsKKyNpZiAwCQkvKiBYWFggLSBiYXNoLTQuMiAqLworICBpZiAocltsIC0xXSAhPSAnICcgJiYgcltsIC0xXSAhPSAnXG4nKQorI2Vsc2UKICAgaWYgKHJbbCAtMV0gIT0gJyAnKQorI2VuZGlmCiAgICAgcltsKytdID0gJyAnOwogICByW2xdID0gJ1wwJzsKICAgcmV0dXJuIHI7CkBAIC0yNjUzLDYgKzI3ODgsMTIgQEAKICAgZHN0YWNrLmRlbGltaXRlcl9kZXB0aCA9IDA7CS8qIE5vIGRlbGltaXRlcnMgZm91bmQgc28gZmFyLiAqLwogICBvcGVuX2JyYWNlX2NvdW50ID0gMDsKIAorI2lmIGRlZmluZWQgKEVYVEVOREVEX0dMT0IpCisgIC8qIFJlc2V0IHRvIGdsb2JhbCB2YWx1ZSBvZiBleHRlbmRlZCBnbG9iICovCisgIGlmIChwYXJzZXJfc3RhdGUgJiBQU1RfRVhUUEFUKQorICAgIGV4dGVuZGVkX2dsb2IgPSBnbG9iYWxfZXh0Z2xvYjsKKyNlbmRpZgorCiAgIHBhcnNlcl9zdGF0ZSA9IDA7CiAKICNpZiBkZWZpbmVkIChBTElBUykgfHwgZGVmaW5lZCAoRFBBUkVOX0FSSVRITUVUSUMpCkBAIC0yOTY3LDcgKzMxMDgsNyBAQAogICBjaGFyICpyZXQsICpuZXN0cmV0LCAqdHRyYW5zOwogICBpbnQgcmV0aW5kLCByZXRzaXplLCByZmxhZ3M7CiAKLS8qIGl0cmFjZSgicGFyc2VfbWF0Y2hlZF9wYWlyOiBvcGVuID0gJWMgY2xvc2UgPSAlYyBmbGFncyA9ICVkIiwgb3BlbiwgY2xvc2UsIGZsYWdzKTsgKi8KKy8qaXRyYWNlKCJwYXJzZV9tYXRjaGVkX3BhaXJbJWRdOiBvcGVuID0gJWMgY2xvc2UgPSAlYyBmbGFncyA9ICVkIiwgbGluZV9udW1iZXIsIG9wZW4sIGNsb3NlLCBmbGFncyk7Ki8KICAgY291bnQgPSAxOwogICB0ZmxhZ3MgPSAwOwogCkBAIC0zMTc2LDYgKzMzMTcsNyBAQAogICByZXRbcmV0aW5kXSA9ICdcMCc7CiAgIGlmIChsZW5wKQogICAgICpsZW5wID0gcmV0aW5kOworLyppdHJhY2UoInBhcnNlX21hdGNoZWRfcGFpclslZF06IHJldHVybmluZyAlcyIsIGxpbmVfbnVtYmVyLCByZXQpOyovCiAgIHJldHVybiByZXQ7CiB9CiAKQEAgLTMyNTEsNiArMzM5Myw4IEBACiAJCXsKIAkJICB0ZmxhZ3MgJj0gfihMRVhfU1RSSVBET0N8TEVYX0lOSEVSRURPQyk7CiAvKml0cmFjZSgicGFyc2VfY29tc3ViOiVkOiBmb3VuZCBoZXJlIGRvYyBlbmQgYCVzJyIsIGxpbmVfbnVtYmVyLCByZXQgKyB0aW5kKTsqLworCQkgIGZyZWUgKGhlcmVkZWxpbSk7CisJCSAgaGVyZWRlbGltID0gMDsKIAkJICBsZXhfZmlyc3RpbmQgPSAtMTsKIAkJfQogCSAgICAgIGVsc2UKQEAgLTMyNjIsNiArMzQwNiwyNSBAQAogICAgICAgaWYgKGNoID09ICdcbicgJiYgU0hPVUxEX1BST01QVCAoKSkKIAlwcm9tcHRfYWdhaW4gKCk7CiAKKyAgICAgIC8qIFhYWCAtLSBwb3NzaWJseSBhbGxvdyBoZXJlIGRvYyB0byBiZSBkZWxpbWl0ZWQgYnkgZW5kaW5nIHJpZ2h0CisJIHBhcmVuLiAqLworICAgICAgaWYgKCh0ZmxhZ3MgJiBMRVhfSU5IRVJFRE9DKSAmJiBjaCA9PSBjbG9zZSAmJiBjb3VudCA9PSAxKQorCXsKKwkgIGludCB0aW5kOworLyppdHJhY2UoInBhcnNlX2NvbXN1YjogaW4gaGVyZSBkb2MsIGNoID09IGNsb3NlLCByZXRpbmQgLSBmaXJzdGluZCA9ICVkIGhkbGVuID0gJWQgcmV0aW5kID0gJWQiLCByZXRpbmQtbGV4X2ZpcnN0aW5kLCBoZGxlbiwgcmV0aW5kKTsqLworCSAgdGluZCA9IGxleF9maXJzdGluZDsKKwkgIHdoaWxlICgodGZsYWdzICYgTEVYX1NUUklQRE9DKSAmJiByZXRbdGluZF0gPT0gJ1x0JykKKwkgICAgdGluZCsrOworCSAgaWYgKHJldGluZC10aW5kID09IGhkbGVuICYmIFNUUkVRTiAocmV0ICsgdGluZCwgaGVyZWRlbGltLCBoZGxlbikpCisJICAgIHsKKwkgICAgICB0ZmxhZ3MgJj0gfihMRVhfU1RSSVBET0N8TEVYX0lOSEVSRURPQyk7CisvKml0cmFjZSgicGFyc2VfY29tc3ViOiVkOiBmb3VuZCBoZXJlIGRvYyBlbmQgYCVzJyIsIGxpbmVfbnVtYmVyLCByZXQgKyB0aW5kKTsqLworCSAgICAgIGZyZWUgKGhlcmVkZWxpbSk7CisJICAgICAgaGVyZWRlbGltID0gMDsKKwkgICAgICBsZXhfZmlyc3RpbmQgPSAtMTsKKwkgICAgfQorCX0KKwogICAgICAgLyogRG9uJ3QgYm90aGVyIGNvdW50aW5nIHBhcmVucyBvciBkb2luZyBhbnl0aGluZyBlbHNlIGlmIGluIGEgY29tbWVudCAqLwogICAgICAgaWYgKHRmbGFncyAmIChMRVhfSU5DT01NRU5UfExFWF9JTkhFUkVET0MpKQogCXsKQEAgLTMyNzAsNyArMzQzMywxMCBAQAogCSAgcmV0W3JldGluZCsrXSA9IGNoOwogCiAJICBpZiAoKHRmbGFncyAmIExFWF9JTkNPTU1FTlQpICYmIGNoID09ICdcbicpCit7CisvKml0cmFjZSgicGFyc2VfY29tc3ViOiVkOiBsZXhfaW5jb21tZW50IC0+IDAgY2ggPSBgJWMnIiwgbGluZV9udW1iZXIsIGNoKTsqLwogCSAgICB0ZmxhZ3MgJj0gfkxFWF9JTkNPTU1FTlQ7Cit9CiAKIAkgIGNvbnRpbnVlOwogCX0KQEAgLTMzMzUsMTMgKzM1MDEsMjQgQEAKIAl7CiAJICBpZiAobGV4X2ZpcnN0aW5kID09IC0xICYmIHNoZWxsYnJlYWsgKGNoKSA9PSAwKQogCSAgICBsZXhfZmlyc3RpbmQgPSByZXRpbmQ7CisjaWYgMAorCSAgZWxzZSBpZiAoaGVyZWRlbGltICYmICh0ZmxhZ3MgJiBMRVhfUEFTU05FWFQpID09IDAgJiYgY2ggPT0gJ1xuJykKKwkgICAgeworCSAgICAgIHRmbGFncyB8PSBMRVhfSU5IRVJFRE9DOworCSAgICAgIHRmbGFncyAmPSB+TEVYX0hFUkVERUxJTTsKKwkgICAgICBsZXhfZmlyc3RpbmQgPSByZXRpbmQgKyAxOworCSAgICB9CisjZW5kaWYKIAkgIGVsc2UgaWYgKGxleF9maXJzdGluZCA+PSAwICYmICh0ZmxhZ3MgJiBMRVhfUEFTU05FWFQpID09IDAgJiYgc2hlbGxicmVhayAoY2gpKQogCSAgICB7Ci0JICAgICAgbmVzdHJldCA9IHN1YnN0cmluZyAocmV0LCBsZXhfZmlyc3RpbmQsIHJldGluZCk7Ci0JICAgICAgaGVyZWRlbGltID0gc3RyaW5nX3F1b3RlX3JlbW92YWwgKG5lc3RyZXQsIDApOwotCSAgICAgIGZyZWUgKG5lc3RyZXQpOwotCSAgICAgIGhkbGVuID0gU1RSTEVOKGhlcmVkZWxpbSk7CisJICAgICAgaWYgKGhlcmVkZWxpbSA9PSAwKQorCQl7CisJCSAgbmVzdHJldCA9IHN1YnN0cmluZyAocmV0LCBsZXhfZmlyc3RpbmQsIHJldGluZCk7CisJCSAgaGVyZWRlbGltID0gc3RyaW5nX3F1b3RlX3JlbW92YWwgKG5lc3RyZXQsIDApOworCQkgIGZyZWUgKG5lc3RyZXQpOworCQkgIGhkbGVuID0gU1RSTEVOKGhlcmVkZWxpbSk7CiAvKml0cmFjZSgicGFyc2VfY29tc3ViOiVkOiBmb3VuZCBoZXJlIGRvYyBkZWxpbWl0ZXIgYCVzJyAoJWQpIiwgbGluZV9udW1iZXIsIGhlcmVkZWxpbSwgaGRsZW4pOyovCisJCX0KIAkgICAgICBpZiAoY2ggPT0gJ1xuJykKIAkJewogCQkgIHRmbGFncyB8PSBMRVhfSU5IRVJFRE9DOwpAQCAtMzM2NCw3ICszNTQxLDcgQEAKIAkgICAgewogCSAgICAgIFJFU0laRV9NQUxMT0NFRF9CVUZGRVIgKHJldCwgcmV0aW5kLCAxLCByZXRzaXplLCA2NCk7CiAJICAgICAgcmV0W3JldGluZCsrXSA9IHBlZWtjOwotLyppdHJhY2UoInBhcnNlX2NvbXN1YjolZDogc2V0IGxleF9yZXN3b3Jkb2sgPSAxLCBjaCA9IGAlYyciLCBsaW5lX251bWJlciwgY2gpOyAqLworLyppdHJhY2UoInBhcnNlX2NvbXN1YjolZDogc2V0IGxleF9yZXN3b3Jkb2sgPSAxLCBjaCA9IGAlYyciLCBsaW5lX251bWJlciwgY2gpOyovCiAJICAgICAgdGZsYWdzIHw9IExFWF9SRVNXRE9LOwogCSAgICAgIGxleF9yd2xlbiA9IDA7CiAJICAgICAgY29udGludWU7CkBAIC0zMzcyLDggKzM1NDksOCBAQAogCSAgZWxzZSBpZiAoY2ggPT0gJ1xuJyB8fCBDT01TVUJfTUVUQShjaCkpCiAJICAgIHsKIAkgICAgICBzaGVsbF91bmdldGMgKHBlZWtjKTsKLQkgICAgICB0ZmxhZ3MgfD0gTEVYX1JFU1dET0s7CiAvKml0cmFjZSgicGFyc2VfY29tc3ViOiVkOiBzZXQgbGV4X3Jlc3dvcmRvayA9IDEsIGNoID0gYCVjJyIsIGxpbmVfbnVtYmVyLCBjaCk7Ki8KKwkgICAgICB0ZmxhZ3MgfD0gTEVYX1JFU1dET0s7CiAJICAgICAgbGV4X3J3bGVuID0gMDsKIAkgICAgICBjb250aW51ZTsKIAkgICAgfQpAQCAtMzQwMywxMiArMzU4MCwxMiBAQAogCSAgICAgIGlmIChTVFJFUU4gKHJldCArIHJldGluZCAtIDQsICJjYXNlIiwgNCkpCiB7CiAJCXRmbGFncyB8PSBMRVhfSU5DQVNFOwotLyppdHJhY2UoInBhcnNlX2NvbXN1YjolZDogZm91bmQgYGNhc2UnLCBsZXhfaW5jYXNlIC0+IDEiLCBsaW5lX251bWJlcik7Ki8KKy8qaXRyYWNlKCJwYXJzZV9jb21zdWI6JWQ6IGZvdW5kIGBjYXNlJywgbGV4X2luY2FzZSAtPiAxIGxleF9yZXN3ZG9rIC0+IDAiLCBsaW5lX251bWJlcik7Ki8KIH0KIAkgICAgICBlbHNlIGlmIChTVFJFUU4gKHJldCArIHJldGluZCAtIDQsICJlc2FjIiwgNCkpCiB7CiAJCXRmbGFncyAmPSB+TEVYX0lOQ0FTRTsKLS8qaXRyYWNlKCJwYXJzZV9jb21zdWI6JWQ6IGZvdW5kIGBlc2FjJywgbGV4X2luY2FzZSAtPiAwIiwgbGluZV9udW1iZXIpOyovCisvKml0cmFjZSgicGFyc2VfY29tc3ViOiVkOiBmb3VuZCBgZXNhYycsIGxleF9pbmNhc2UgLT4gMCBsZXhfcmVzd2RvayAtPiAwIiwgbGluZV9udW1iZXIpOyovCiB9CSAgICAgICAgCiAJICAgICAgdGZsYWdzICY9IH5MRVhfUkVTV0RPSzsKIAkgICAgfQpAQCAtMzQzMSw2ICszNjA4LDcgQEAKIH0KIAl9CiAKKyAgICAgIC8qIE1pZ2h0IGJlIHRoZSBzdGFydCBvZiBhIGhlcmUtZG9jIGRlbGltaXRlciAqLwogICAgICAgaWYgTUJURVNUKCh0ZmxhZ3MgJiBMRVhfSU5DT01NRU5UKSA9PSAwICYmICh0ZmxhZ3MgJiBMRVhfQ0tDQVNFKSAmJiBjaCA9PSAnPCcpCiAJewogCSAgLyogQWRkIHRoaXMgY2hhcmFjdGVyLiAqLwpAQCAtMzQ4Nyw3ICszNjY1LDEwIEBACiAvKml0cmFjZSgicGFyc2VfY29tc3ViOiVkOiBmb3VuZCBjbG9zZTogY291bnQgPSAlZCIsIGxpbmVfbnVtYmVyLCBjb3VudCk7Ki8KIH0KICAgICAgIGVsc2UgaWYgTUJURVNUKCgoZmxhZ3MgJiBQX0ZJUlNUQ0xPU0UpID09IDApICYmICh0ZmxhZ3MgJiBMRVhfSU5DQVNFKSA9PSAwICYmIGNoID09IG9wZW4pCS8qIG5lc3RlZCBiZWdpbiAqLworewogCWNvdW50Kys7CisvKml0cmFjZSgicGFyc2VfY29tc3ViOiVkOiBmb3VuZCBvcGVuOiBjb3VudCA9ICVkIiwgbGluZV9udW1iZXIsIGNvdW50KTsqLworfQogCiAgICAgICAvKiBBZGQgdGhpcyBjaGFyYWN0ZXIuICovCiAgICAgICBSRVNJWkVfTUFMTE9DRURfQlVGRkVSIChyZXQsIHJldGluZCwgMSwgcmV0c2l6ZSwgNjQpOwpAQCAtMzkwMyw3ICs0MDg0LDEzIEBACiAgICAgICAvKiBiaW5vcCAqLwogICAgICAgdG9rID0gcmVhZF90b2tlbiAoUkVBRCk7CiAgICAgICBpZiAodG9rID09IFdPUkQgJiYgdGVzdF9iaW5vcCAoeXlsdmFsLndvcmQtPndvcmQpKQotCW9wID0geXlsdmFsLndvcmQ7CisJeworCSAgb3AgPSB5eWx2YWwud29yZDsKKwkgIGlmIChvcC0+d29yZFswXSA9PSAnPScgJiYgKG9wLT53b3JkWzFdID09ICdcMCcgfHwgKG9wLT53b3JkWzFdID09ICc9JyAmJiBvcC0+d29yZFsyXSA9PSAnXDAnKSkpCisJICAgIHBhcnNlcl9zdGF0ZSB8PSBQU1RfRVhUUEFUOworCSAgZWxzZSBpZiAob3AtPndvcmRbMF0gPT0gJyEnICYmIG9wLT53b3JkWzFdID09ICc9JyAmJiBvcC0+d29yZFsyXSA9PSAnXDAnKQorCSAgICBwYXJzZXJfc3RhdGUgfD0gUFNUX0VYVFBBVDsKKwl9CiAjaWYgZGVmaW5lZCAoQ09ORF9SRUdFWFApCiAgICAgICBlbHNlIGlmICh0b2sgPT0gV09SRCAmJiBTVFJFUSAoeXlsdmFsLndvcmQtPndvcmQsICI9fiIpKQogCXsKQEAgLTM5MzksOCArNDEyNiwxMyBAQAogCX0KIAogICAgICAgLyogcmhzICovCisgICAgICBpZiAocGFyc2VyX3N0YXRlICYgUFNUX0VYVFBBVCkKKwlleHRlbmRlZF9nbG9iID0gMTsKICAgICAgIHRvayA9IHJlYWRfdG9rZW4gKFJFQUQpOwotICAgICAgcGFyc2VyX3N0YXRlICY9IH5QU1RfUkVHRVhQOworICAgICAgaWYgKHBhcnNlcl9zdGF0ZSAmIFBTVF9FWFRQQVQpCisJZXh0ZW5kZWRfZ2xvYiA9IGdsb2JhbF9leHRnbG9iOworICAgICAgcGFyc2VyX3N0YXRlICY9IH4oUFNUX1JFR0VYUHxQU1RfRVhUUEFUKTsKKwogICAgICAgaWYgKHRvayA9PSBXT1JEKQogCXsKIAkgIHRyaWdodCA9IG1ha2VfY29uZF9ub2RlIChDT05EX1RFUk0sIHl5bHZhbC53b3JkLCAoQ09ORF9DT00gKilOVUxMLCAoQ09ORF9DT00gKilOVUxMKTsKQEAgLTM5ODUsNiArNDE3Nyw3IEBACiB7CiAgIENPTkRfQ09NICpjZXhwOwogCisgIGdsb2JhbF9leHRnbG9iID0gZXh0ZW5kZWRfZ2xvYjsKICAgY2V4cCA9IGNvbmRfZXhwciAoKTsKICAgcmV0dXJuIChtYWtlX2NvbmRfY29tbWFuZCAoY2V4cCkpOwogfQpAQCAtNDQ1Nyw2ICs0NjUwLDE5IEBACiAKICAgeXlsdmFsLndvcmQgPSB0aGVfd29yZDsKIAorICBpZiAodG9rZW5bMF0gPT0gJ3snICYmIHRva2VuW3Rva2VuX2luZGV4LTFdID09ICd9JyAmJgorICAgICAgKGNoYXJhY3RlciA9PSAnPCcgfHwgY2hhcmFjdGVyID09ICc+JykpCisgICAgeworICAgICAgLyogY2FuIHVzZSB0b2tlbjsgYWxyZWFkeSBjb3BpZWQgdG8gdGhlX3dvcmQgKi8KKyAgICAgIHRva2VuW3Rva2VuX2luZGV4LTFdID0gJ1wwJzsKKyAgICAgIGlmIChsZWdhbF9pZGVudGlmaWVyICh0b2tlbisxKSkKKwl7CisJICBzdHJjcHkgKHRoZV93b3JkLT53b3JkLCB0b2tlbisxKTsKKy8qaXRyYWNlKCJyZWFkX3Rva2VuX3dvcmQ6IHJldHVybmluZyBSRURJUl9XT1JEIGZvciAlcyIsIHRoZV93b3JkLT53b3JkKTsqLworCSAgcmV0dXJuIChSRURJUl9XT1JEKTsKKwl9CisgICAgfQorCiAgIHJlc3VsdCA9ICgodGhlX3dvcmQtPmZsYWdzICYgKFdfQVNTSUdOTUVOVHxXX05PU1BMSVQpKSA9PSAoV19BU1NJR05NRU5UfFdfTk9TUExJVCkpCiAJCT8gQVNTSUdOTUVOVF9XT1JEIDogV09SRDsKIApAQCAtNDY0Nyw3ICs0ODUzLDcgQEAKIHsKICAgY2hhciAqdGVtcF9wcm9tcHQ7CiAKLSAgaWYgKGludGVyYWN0aXZlID09IDAgfHwgZXhwYW5kaW5nX2FsaWFzKCkpCS8qIFhYWCAqLworICBpZiAoaW50ZXJhY3RpdmUgPT0gMCB8fCBleHBhbmRpbmdfYWxpYXMgKCkpCS8qIFhYWCAqLwogICAgIHJldHVybjsKIAogICBwczFfcHJvbXB0ID0gZ2V0X3N0cmluZ192YWx1ZSAoIlBTMSIpOwpAQCAtNDc0Myw3ICs0OTQ5LDcgQEAKICAgV09SRF9MSVNUICpsaXN0OwogICBjaGFyICpyZXN1bHQsICp0OwogICBzdHJ1Y3QgZHN0YWNrIHNhdmVfZHN0YWNrOwotICBpbnQgbGFzdF9leGl0X3ZhbHVlOworICBpbnQgbGFzdF9leGl0X3ZhbHVlLCBsYXN0X2NvbXN1Yl9waWQ7CiAjaWYgZGVmaW5lZCAoUFJPTVBUX1NUUklOR19ERUNPREUpCiAgIGludCByZXN1bHRfc2l6ZSwgcmVzdWx0X2luZGV4OwogICBpbnQgYywgbiwgaTsKQEAgLTQ5MzAsNiArNTEzNiwxMyBAQAogCQkgIH0KIAkJdF9zdHJpbmdbdGxlbl0gPSAnXDAnOwogCisjaWYgZGVmaW5lZCAoTUFDT1NYKQorCQkvKiBDb252ZXJ0IGZyb20gImZzIiBmb3JtYXQgdG8gImlucHV0IiBmb3JtYXQgKi8KKwkJdGVtcCA9IGZueF9mcm9tZnMgKHRfc3RyaW5nLCBzdHJsZW4gKHRfc3RyaW5nKSk7CisJCWlmICh0ZW1wICE9IHRfc3RyaW5nKQorCQkgIHN0cmNweSAodF9zdHJpbmcsIHRlbXApOworI2VuZGlmCisKICNkZWZpbmUgUk9PVF9QQVRIKHgpCSgoeClbMF0gPT0gJy8nICYmICh4KVsxXSA9PSAwKQogI2RlZmluZSBET1VCTEVfU0xBU0hfUk9PVCh4KQkoKHgpWzBdID09ICcvJyAmJiAoeClbMV0gPT0gJy8nICYmICh4KVsyXSA9PSAwKQogCQkvKiBBYmJyZXZpYXRlIFxXIGFzIH4gaWYgJFBXRCA9PSAkSE9NRSAqLwpAQCAtNTA4NCwxMSArNTI5NywxMyBAQAogICBpZiAocHJvbXB0dmFycyB8fCBwb3NpeGx5X2NvcnJlY3QpCiAgICAgewogICAgICAgbGFzdF9leGl0X3ZhbHVlID0gbGFzdF9jb21tYW5kX2V4aXRfdmFsdWU7CisgICAgICBsYXN0X2NvbXN1Yl9waWQgPSBsYXN0X2NvbW1hbmRfc3Vic3RfcGlkOwogICAgICAgbGlzdCA9IGV4cGFuZF9wcm9tcHRfc3RyaW5nIChyZXN1bHQsIFFfRE9VQkxFX1FVT1RFUywgMCk7CiAgICAgICBmcmVlIChyZXN1bHQpOwogICAgICAgcmVzdWx0ID0gc3RyaW5nX2xpc3QgKGxpc3QpOwogICAgICAgZGlzcG9zZV93b3JkcyAobGlzdCk7CiAgICAgICBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZSA9IGxhc3RfZXhpdF92YWx1ZTsKKyAgICAgIGxhc3RfY29tbWFuZF9zdWJzdF9waWQgPSBsYXN0X2NvbXN1Yl9waWQ7CiAgICAgfQogICBlbHNlCiAgICAgewpAQCAtNTIzMSw3ICs1NDQ2LDcgQEAKICAgICAgIHBhcnNlcl9lcnJvciAobGluZV9udW1iZXIsICIlcyIsIG1lc3NhZ2UpOwogICAgICAgaWYgKGludGVyYWN0aXZlICYmIEVPRl9SZWFjaGVkKQogCUVPRl9SZWFjaGVkID0gMDsKLSAgICAgIGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlID0gRVhfVVNBR0U7CisgICAgICBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZSA9IHBhcnNlX2FuZF9leGVjdXRlX2xldmVsID8gRVhfQkFEU1lOVEFYIDogRVhfQkFEVVNBR0U7CiAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC01MjQ2LDcgKzU0NjEsNyBAQAogICAgICAgaWYgKGludGVyYWN0aXZlID09IDApCiAJcHJpbnRfb2ZmZW5kaW5nX2xpbmUgKCk7CiAKLSAgICAgIGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlID0gRVhfVVNBR0U7CisgICAgICBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZSA9IHBhcnNlX2FuZF9leGVjdXRlX2xldmVsID8gRVhfQkFEU1lOVEFYIDogRVhfQkFEVVNBR0U7CiAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC01Mjc3LDcgKzU0OTIsNyBAQAogCUVPRl9SZWFjaGVkID0gMDsKICAgICB9CiAKLSAgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPSBFWF9VU0FHRTsKKyAgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPSBwYXJzZV9hbmRfZXhlY3V0ZV9sZXZlbCA/IEVYX0JBRFNZTlRBWCA6IEVYX0JBRFVTQUdFOwogfQogCiAvKiA/Pz8gTmVlZGVkIGZ1bmN0aW9uLiA/Pz8gV2UgaGF2ZSB0byBiZSBhYmxlIHRvIGRpc2NhcmQgdGhlIGNvbnN0cnVjdHMKZGlmZiAtLWdpdCBhL3BhcnNlci1idWlsdCBiL3BhcnNlci1idWlsdAppbmRleCA1NTJkN2FkLi4xM2U4NTUwIDEwMDY0NAotLS0gYS9wYXJzZXItYnVpbHQKKysrIGIvcGFyc2VyLWJ1aWx0CkBAIC02MywyNyArNjMsMjggQEAKICAgICAgVElNRU9QVCA9IDI3OSwKICAgICAgV09SRCA9IDI4MCwKICAgICAgQVNTSUdOTUVOVF9XT1JEID0gMjgxLAotICAgICBOVU1CRVIgPSAyODIsCi0gICAgIEFSSVRIX0NNRCA9IDI4MywKLSAgICAgQVJJVEhfRk9SX0VYUFJTID0gMjg0LAotICAgICBDT05EX0NNRCA9IDI4NSwKLSAgICAgQU5EX0FORCA9IDI4NiwKLSAgICAgT1JfT1IgPSAyODcsCi0gICAgIEdSRUFURVJfR1JFQVRFUiA9IDI4OCwKLSAgICAgTEVTU19MRVNTID0gMjg5LAotICAgICBMRVNTX0FORCA9IDI5MCwKLSAgICAgTEVTU19MRVNTX0xFU1MgPSAyOTEsCi0gICAgIEdSRUFURVJfQU5EID0gMjkyLAotICAgICBTRU1JX1NFTUkgPSAyOTMsCi0gICAgIFNFTUlfQU5EID0gMjk0LAotICAgICBTRU1JX1NFTUlfQU5EID0gMjk1LAotICAgICBMRVNTX0xFU1NfTUlOVVMgPSAyOTYsCi0gICAgIEFORF9HUkVBVEVSID0gMjk3LAotICAgICBBTkRfR1JFQVRFUl9HUkVBVEVSID0gMjk4LAotICAgICBMRVNTX0dSRUFURVIgPSAyOTksCi0gICAgIEdSRUFURVJfQkFSID0gMzAwLAotICAgICBCQVJfQU5EID0gMzAxLAotICAgICB5YWNjX0VPRiA9IDMwMgorICAgICBSRURJUl9XT1JEID0gMjgyLAorICAgICBOVU1CRVIgPSAyODMsCisgICAgIEFSSVRIX0NNRCA9IDI4NCwKKyAgICAgQVJJVEhfRk9SX0VYUFJTID0gMjg1LAorICAgICBDT05EX0NNRCA9IDI4NiwKKyAgICAgQU5EX0FORCA9IDI4NywKKyAgICAgT1JfT1IgPSAyODgsCisgICAgIEdSRUFURVJfR1JFQVRFUiA9IDI4OSwKKyAgICAgTEVTU19MRVNTID0gMjkwLAorICAgICBMRVNTX0FORCA9IDI5MSwKKyAgICAgTEVTU19MRVNTX0xFU1MgPSAyOTIsCisgICAgIEdSRUFURVJfQU5EID0gMjkzLAorICAgICBTRU1JX1NFTUkgPSAyOTQsCisgICAgIFNFTUlfQU5EID0gMjk1LAorICAgICBTRU1JX1NFTUlfQU5EID0gMjk2LAorICAgICBMRVNTX0xFU1NfTUlOVVMgPSAyOTcsCisgICAgIEFORF9HUkVBVEVSID0gMjk4LAorICAgICBBTkRfR1JFQVRFUl9HUkVBVEVSID0gMjk5LAorICAgICBMRVNTX0dSRUFURVIgPSAzMDAsCisgICAgIEdSRUFURVJfQkFSID0gMzAxLAorICAgICBCQVJfQU5EID0gMzAyLAorICAgICB5YWNjX0VPRiA9IDMwMwogICAgfTsKICNlbmRpZgogLyogVG9rZW5zLiAgKi8KQEAgLTExMSwzNCArMTEyLDM1IEBACiAjZGVmaW5lIFRJTUVPUFQgMjc5CiAjZGVmaW5lIFdPUkQgMjgwCiAjZGVmaW5lIEFTU0lHTk1FTlRfV09SRCAyODEKLSNkZWZpbmUgTlVNQkVSIDI4MgotI2RlZmluZSBBUklUSF9DTUQgMjgzCi0jZGVmaW5lIEFSSVRIX0ZPUl9FWFBSUyAyODQKLSNkZWZpbmUgQ09ORF9DTUQgMjg1Ci0jZGVmaW5lIEFORF9BTkQgMjg2Ci0jZGVmaW5lIE9SX09SIDI4NwotI2RlZmluZSBHUkVBVEVSX0dSRUFURVIgMjg4Ci0jZGVmaW5lIExFU1NfTEVTUyAyODkKLSNkZWZpbmUgTEVTU19BTkQgMjkwCi0jZGVmaW5lIExFU1NfTEVTU19MRVNTIDI5MQotI2RlZmluZSBHUkVBVEVSX0FORCAyOTIKLSNkZWZpbmUgU0VNSV9TRU1JIDI5MwotI2RlZmluZSBTRU1JX0FORCAyOTQKLSNkZWZpbmUgU0VNSV9TRU1JX0FORCAyOTUKLSNkZWZpbmUgTEVTU19MRVNTX01JTlVTIDI5NgotI2RlZmluZSBBTkRfR1JFQVRFUiAyOTcKLSNkZWZpbmUgQU5EX0dSRUFURVJfR1JFQVRFUiAyOTgKLSNkZWZpbmUgTEVTU19HUkVBVEVSIDI5OQotI2RlZmluZSBHUkVBVEVSX0JBUiAzMDAKLSNkZWZpbmUgQkFSX0FORCAzMDEKLSNkZWZpbmUgeWFjY19FT0YgMzAyCisjZGVmaW5lIFJFRElSX1dPUkQgMjgyCisjZGVmaW5lIE5VTUJFUiAyODMKKyNkZWZpbmUgQVJJVEhfQ01EIDI4NAorI2RlZmluZSBBUklUSF9GT1JfRVhQUlMgMjg1CisjZGVmaW5lIENPTkRfQ01EIDI4NgorI2RlZmluZSBBTkRfQU5EIDI4NworI2RlZmluZSBPUl9PUiAyODgKKyNkZWZpbmUgR1JFQVRFUl9HUkVBVEVSIDI4OQorI2RlZmluZSBMRVNTX0xFU1MgMjkwCisjZGVmaW5lIExFU1NfQU5EIDI5MQorI2RlZmluZSBMRVNTX0xFU1NfTEVTUyAyOTIKKyNkZWZpbmUgR1JFQVRFUl9BTkQgMjkzCisjZGVmaW5lIFNFTUlfU0VNSSAyOTQKKyNkZWZpbmUgU0VNSV9BTkQgMjk1CisjZGVmaW5lIFNFTUlfU0VNSV9BTkQgMjk2CisjZGVmaW5lIExFU1NfTEVTU19NSU5VUyAyOTcKKyNkZWZpbmUgQU5EX0dSRUFURVIgMjk4CisjZGVmaW5lIEFORF9HUkVBVEVSX0dSRUFURVIgMjk5CisjZGVmaW5lIExFU1NfR1JFQVRFUiAzMDAKKyNkZWZpbmUgR1JFQVRFUl9CQVIgMzAxCisjZGVmaW5lIEJBUl9BTkQgMzAyCisjZGVmaW5lIHlhY2NfRU9GIDMwMwogCiAKIAogCiAjaWYgISBkZWZpbmVkIFlZU1RZUEUgJiYgISBkZWZpbmVkIFlZU1RZUEVfSVNfREVDTEFSRUQKIHR5cGVkZWYgdW5pb24gWVlTVFlQRQotI2xpbmUgMzE2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDMyMCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiB7CiAgIFdPUkRfREVTQyAqd29yZDsJCS8qIHRoZSB3b3JkIHRoYXQgd2UgcmVhZC4gKi8KICAgaW50IG51bWJlcjsJCQkvKiB0aGUgbnVtYmVyIHRoYXQgd2UgcmVhZC4gKi8KQEAgLTE0OSw3ICsxNTEsNyBAQAogICBQQVRURVJOX0xJU1QgKnBhdHRlcm47CiB9CiAvKiBMaW5lIDE0ODkgb2YgeWFjYy5jLiAgKi8KLSNsaW5lIDE1MyAieS50YWIuaCIKKyNsaW5lIDE1NSAieS50YWIuaCIKIAlZWVNUWVBFOwogIyBkZWZpbmUgeXlzdHlwZSBZWVNUWVBFIC8qIG9ic29sZXNjZW50OyB3aWxsIGJlIHdpdGhkcmF3biAqLwogIyBkZWZpbmUgWVlTVFlQRV9JU19ERUNMQVJFRCAxCmRpZmYgLS1naXQgYS9wYXJzZXIuaCBiL3BhcnNlci5oCmluZGV4IDNjNDdkYzkuLjlmZjY1NzYgMTAwNjQ0Ci0tLSBhL3BhcnNlci5oCisrKyBiL3BhcnNlci5oCkBAIC0yNiwyNSArMjYsMjcgQEAKICMgIGluY2x1ZGUgImlucHV0LmgiCiAKIC8qIFBvc3NpYmxlIHN0YXRlcyBmb3IgdGhlIHBhcnNlciB0aGF0IHJlcXVpcmUgaXQgdG8gZG8gc3BlY2lhbCB0aGluZ3MuICovCi0jZGVmaW5lIFBTVF9DQVNFUEFUCTB4MDAwMDEJCS8qIGluIGEgY2FzZSBwYXR0ZXJuIGxpc3QgKi8KLSNkZWZpbmUgUFNUX0FMRVhQTkVYVAkweDAwMDAyCQkvKiBleHBhbmQgbmV4dCB3b3JkIGZvciBhbGlhc2VzICovCi0jZGVmaW5lIFBTVF9BTExPV09QTkJSQwkweDAwMDA0CQkvKiBhbGxvdyBvcGVuIGJyYWNlIGZvciBmdW5jdGlvbiBkZWYgKi8KLSNkZWZpbmUgUFNUX05FRURDTE9TQlJDCTB4MDAwMDgJCS8qIG5lZWQgY2xvc2UgYnJhY2UgKi8KLSNkZWZpbmUgUFNUX0RCTFBBUkVOCTB4MDAwMTAJCS8qIGRvdWJsZS1wYXJlbiBwYXJzaW5nICovCi0jZGVmaW5lIFBTVF9TVUJTSEVMTAkweDAwMDIwCQkvKiAoIC4uLiApIHN1YnNoZWxsICovCi0jZGVmaW5lIFBTVF9DTURTVUJTVAkweDAwMDQwCQkvKiAkKCAuLi4gKSBjb21tYW5kIHN1YnN0aXR1dGlvbiAqLwotI2RlZmluZSBQU1RfQ0FTRVNUTVQJMHgwMDA4MAkJLyogcGFyc2luZyBhIGNhc2Ugc3RhdGVtZW50ICovCi0jZGVmaW5lIFBTVF9DT05EQ01ECTB4MDAxMDAJCS8qIHBhcnNpbmcgYSBbWy4uLl1dIGNvbW1hbmQgKi8KLSNkZWZpbmUgUFNUX0NPTkRFWFBSCTB4MDAyMDAJCS8qIHBhcnNpbmcgdGhlIGd1dHMgb2YgW1suLi5dXSAqLwotI2RlZmluZSBQU1RfQVJJVEhGT1IJMHgwMDQwMAkJLyogcGFyc2luZyBhbiBhcml0aG1ldGljIGZvciBjb21tYW5kICovCi0jZGVmaW5lIFBTVF9BTEVYUEFORAkweDAwODAwCQkvKiBPSyB0byBleHBhbmQgYWxpYXNlcyAtIHVudXNlZCAqLwotI2RlZmluZSBQU1RfQ01EVE9LRU4JMHgwMTAwMAkJLyogY29tbWFuZCB0b2tlbiBPSyAtIHVudXNlZCAqLwotI2RlZmluZSBQU1RfQ09NUEFTU0lHTgkweDAyMDAwCQkvKiBwYXJzaW5nIHg9KC4uLikgY29tcG91bmQgYXNzaWdubWVudCAqLwotI2RlZmluZSBQU1RfQVNTSUdOT0sJMHgwNDAwMAkJLyogYXNzaWdubWVudCBzdGF0ZW1lbnQgb2sgaW4gdGhpcyBjb250ZXh0ICovCi0jZGVmaW5lIFBTVF9FT0ZUT0tFTgkweDA4MDAwCQkvKiB5eWxleCBjaGVja3MgYWdhaW5zdCBzaGVsbF9lb2ZfdG9rZW4gKi8KLSNkZWZpbmUgUFNUX1JFR0VYUAkweDEwMDAwCQkvKiBwYXJzaW5nIGFuIEVSRS9CUkUgYXMgYSBzaW5nbGUgd29yZCAqLwotI2RlZmluZSBQU1RfSEVSRURPQwkweDIwMDAwCQkvKiByZWFkaW5nIGJvZHkgb2YgaGVyZS1kb2N1bWVudCAqLwotI2RlZmluZSBQU1RfUkVQQVJTRQkweDQwMDAwCQkvKiByZS1wYXJzaW5nIGluIHBhcnNlX3N0cmluZ190b193b3JkX2xpc3QgKi8KKyNkZWZpbmUgUFNUX0NBU0VQQVQJMHgwMDAwMDEJLyogaW4gYSBjYXNlIHBhdHRlcm4gbGlzdCAqLworI2RlZmluZSBQU1RfQUxFWFBORVhUCTB4MDAwMDAyCS8qIGV4cGFuZCBuZXh0IHdvcmQgZm9yIGFsaWFzZXMgKi8KKyNkZWZpbmUgUFNUX0FMTE9XT1BOQlJDCTB4MDAwMDA0CS8qIGFsbG93IG9wZW4gYnJhY2UgZm9yIGZ1bmN0aW9uIGRlZiAqLworI2RlZmluZSBQU1RfTkVFRENMT1NCUkMJMHgwMDAwMDgJLyogbmVlZCBjbG9zZSBicmFjZSAqLworI2RlZmluZSBQU1RfREJMUEFSRU4JMHgwMDAwMTAJLyogZG91YmxlLXBhcmVuIHBhcnNpbmcgKi8KKyNkZWZpbmUgUFNUX1NVQlNIRUxMCTB4MDAwMDIwCS8qICggLi4uICkgc3Vic2hlbGwgKi8KKyNkZWZpbmUgUFNUX0NNRFNVQlNUCTB4MDAwMDQwCS8qICQoIC4uLiApIGNvbW1hbmQgc3Vic3RpdHV0aW9uICovCisjZGVmaW5lIFBTVF9DQVNFU1RNVAkweDAwMDA4MAkvKiBwYXJzaW5nIGEgY2FzZSBzdGF0ZW1lbnQgKi8KKyNkZWZpbmUgUFNUX0NPTkRDTUQJMHgwMDAxMDAJLyogcGFyc2luZyBhIFtbLi4uXV0gY29tbWFuZCAqLworI2RlZmluZSBQU1RfQ09OREVYUFIJMHgwMDAyMDAJLyogcGFyc2luZyB0aGUgZ3V0cyBvZiBbWy4uLl1dICovCisjZGVmaW5lIFBTVF9BUklUSEZPUgkweDAwMDQwMAkvKiBwYXJzaW5nIGFuIGFyaXRobWV0aWMgZm9yIGNvbW1hbmQgKi8KKyNkZWZpbmUgUFNUX0FMRVhQQU5ECTB4MDAwODAwCS8qIE9LIHRvIGV4cGFuZCBhbGlhc2VzIC0gdW51c2VkICovCisjZGVmaW5lIFBTVF9FWFRQQVQJMHgwMDEwMDAJLyogcGFyc2luZyBhbiBleHRlbmRlZCBzaGVsbCBwYXR0ZXJuICovCisjZGVmaW5lIFBTVF9DT01QQVNTSUdOCTB4MDAyMDAwCS8qIHBhcnNpbmcgeD0oLi4uKSBjb21wb3VuZCBhc3NpZ25tZW50ICovCisjZGVmaW5lIFBTVF9BU1NJR05PSwkweDAwNDAwMAkvKiBhc3NpZ25tZW50IHN0YXRlbWVudCBvayBpbiB0aGlzIGNvbnRleHQgKi8KKyNkZWZpbmUgUFNUX0VPRlRPS0VOCTB4MDA4MDAwCS8qIHl5bGV4IGNoZWNrcyBhZ2FpbnN0IHNoZWxsX2VvZl90b2tlbiAqLworI2RlZmluZSBQU1RfUkVHRVhQCTB4MDEwMDAwCS8qIHBhcnNpbmcgYW4gRVJFL0JSRSBhcyBhIHNpbmdsZSB3b3JkICovCisjZGVmaW5lIFBTVF9IRVJFRE9DCTB4MDIwMDAwCS8qIHJlYWRpbmcgYm9keSBvZiBoZXJlLWRvY3VtZW50ICovCisjZGVmaW5lIFBTVF9SRVBBUlNFCTB4MDQwMDAwCS8qIHJlLXBhcnNpbmcgaW4gcGFyc2Vfc3RyaW5nX3RvX3dvcmRfbGlzdCAqLworI2RlZmluZSBQU1RfUkVESVJMSVNUCTB4MDgwMDAwCS8qIHBhcnNpbmcgYSBsaXN0IG9mIHJlZGlyY3Rpb25zIHByZWNlZGluZyBhIHNpbXBsZSBjb21tYW5kIG5hbWUgKi8KKwogCiAvKiBEZWZpbml0aW9uIG9mIHRoZSBkZWxpbWl0ZXIgc3RhY2suICBOZWVkZWQgYnkgcGFyc2UueSBhbmQgYmFzaGhpc3QuYy4gKi8KIHN0cnVjdCBkc3RhY2sgewpkaWZmIC0tZ2l0IGEvcGF0Y2hsZXZlbC5oIGIvcGF0Y2hsZXZlbC5oCmluZGV4IDIzM2IyYzEuLjJhZjJmNTYgMTAwNjQ0Ci0tLSBhL3BhdGNobGV2ZWwuaAorKysgYi9wYXRjaGxldmVsLmgKQEAgLTI1LDYgKzI1LDYgQEAKICAgIHJlZ2V4cCBgXiNkZWZpbmVbIAldKlBBVENITEVWRUwnLCBzaW5jZSB0aGF0J3Mgd2hhdCBzdXBwb3J0L21rdmVyc2lvbi5zaAogICAgbG9va3MgZm9yIHRvIGZpbmQgdGhlIHBhdGNoIGxldmVsIChmb3IgdGhlIHNjY3MgdmVyc2lvbiBzdHJpbmcpLiAqLwogCi0jZGVmaW5lIFBBVENITEVWRUwgMzgKKyNkZWZpbmUgUEFUQ0hMRVZFTCAwCiAKICNlbmRpZiAvKiBfUEFUQ0hMRVZFTF9IXyAqLwpkaWZmIC0tZ2l0IGEvcGF0aGV4cC5jIGIvcGF0aGV4cC5jCmluZGV4IGVjZTIwMGQuLjg1MWFiOGYgMTAwNjQ0Ci0tLSBhL3BhdGhleHAuYworKysgYi9wYXRoZXhwLmMKQEAgLTUyLDcgKzUyLDcgQEAKIGludCBnbG9iX2RvdF9maWxlbmFtZXM7CiAKIC8qIENvbnRyb2wgd2hldGhlciB0aGUgZXh0ZW5kZWQgZ2xvYmJpbmcgZmVhdHVyZXMgYXJlIGVuYWJsZWQuICovCi1pbnQgZXh0ZW5kZWRfZ2xvYiA9IDA7CitpbnQgZXh0ZW5kZWRfZ2xvYiA9IEVYVEdMT0JfREVGQVVMVDsKIAogLyogQ29udHJvbCBlbmFibGluZyBzcGVjaWFsIGhhbmRsaW5nIG9mIGAqKicgKi8KIGludCBnbG9iX3N0YXIgPSAwOwpkaWZmIC0tZ2l0IGEvcGNvbXBsZXRlLmMgYi9wY29tcGxldGUuYwppbmRleCA0MGZjYzM0Li5lNGYyMDU5IDEwMDY0NAotLS0gYS9wY29tcGxldGUuYworKysgYi9wY29tcGxldGUuYwpAQCAtNjYsNiArNjYsOCBAQAogI2luY2x1ZGUgPHJlYWRsaW5lL3JlYWRsaW5lLmg+CiAjaW5jbHVkZSA8cmVhZGxpbmUvaGlzdG9yeS5oPgogCisjZGVmaW5lIFBDT01QX1JFVFJZRkFJTAkyNTYKKwogI2lmZGVmIFNUUkRVUAogIyAgdW5kZWYgU1RSRFVQCiAjZW5kaWYKQEAgLTExOCwxMCArMTIwLDE1IEBACiBzdGF0aWMgU1RSSU5HTElTVCAqZ2VuX3dvcmRsaXN0X21hdGNoZXMgX19QKChDT01QU1BFQyAqLCBjb25zdCBjaGFyICopKTsKIHN0YXRpYyBTVFJJTkdMSVNUICpnZW5fc2hlbGxfZnVuY3Rpb25fbWF0Y2hlcyBfX1AoKENPTVBTUEVDICosIGNvbnN0IGNoYXIgKiwKIAkJCQkJCSAgIGNoYXIgKiwgaW50LCBXT1JEX0xJU1QgKiwKLQkJCQkJCSAgIGludCwgaW50KSk7CisJCQkJCQkgICBpbnQsIGludCwgaW50ICopKTsKIHN0YXRpYyBTVFJJTkdMSVNUICpnZW5fY29tbWFuZF9tYXRjaGVzIF9fUCgoQ09NUFNQRUMgKiwgY29uc3QgY2hhciAqLCBjaGFyICosCiAJCQkJCSAgICBpbnQsIFdPUkRfTElTVCAqLCBpbnQsIGludCkpOwogCitzdGF0aWMgU1RSSU5HTElTVCAqZ2VuX3Byb2djb21wX2NvbXBsZXRpb25zIF9fUCgoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosCisJCQkJCQkgY29uc3QgY2hhciAqLAorCQkJCQkJIGludCwgaW50LCBpbnQgKiwgaW50ICosCisJCQkJCQkgQ09NUFNQRUMgKiopKTsKKwogc3RhdGljIGNoYXIgKnBjb21wX2ZpbGVuYW1lX2NvbXBsZXRpb25fZnVuY3Rpb24gX19QKChjb25zdCBjaGFyICosIGludCkpOwogCiAjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKQEAgLTY1Myw3ICs2NjAsNyBAQAogICBpZiAoKGl0cC0+ZmxhZ3MgJiAoTElTVF9ESVJUWXxMSVNUX0RZTkFNSUMpKSB8fAogICAgICAgKGl0cC0+ZmxhZ3MgJiBMSVNUX0lOSVRJQUxJWkVEKSA9PSAwKQogICAgIHsKLSAgICAgIGlmIChpdHAtPmZsYWdzICYgKExJU1RfRElSVFkgfCBMSVNUX0RZTkFNSUMpKQorICAgICAgaWYgKGl0cC0+ZmxhZ3MgJiAoTElTVF9ESVJUWXxMSVNUX0RZTkFNSUMpKQogCWNsZWFuX2l0ZW1saXN0IChpdHApOwogICAgICAgaWYgKChpdHAtPmZsYWdzICYgTElTVF9JTklUSUFMSVpFRCkgPT0gMCkKIAlpbml0aWFsaXplX2l0ZW1saXN0IChpdHApOwpAQCAtODI3LDcgKzgzNCw3IEBACiAgICAgIGRvIC0tIHRoZXJlJ3Mgbm8gd2F5IHRvIHNwbGl0IGEgc2ltcGxlIGxpc3QgaW50byBpbmRpdmlkdWFsIHdvcmRzCiAgICAgIHRoYXQgd2F5LCBzaW5jZSB0aGUgc2hlbGwgc2VtYW50aWNzIHNheSB0aGF0IHdvcmQgc3BsaXR0aW5nIGlzIGRvbmUKICAgICAgb25seSBvbiB0aGUgcmVzdWx0cyBvZiBleHBhbnNpb24uICovCi0gIGwgPSBzcGxpdF9hdF9kZWxpbXMgKGNzLT53b3Jkcywgc3RybGVuIChjcy0+d29yZHMpLCAoY2hhciAqKU5VTEwsIC0xLCAoaW50ICopTlVMTCwgKGludCAqKU5VTEwpOworICBsID0gc3BsaXRfYXRfZGVsaW1zIChjcy0+d29yZHMsIHN0cmxlbiAoY3MtPndvcmRzKSwgKGNoYXIgKilOVUxMLCAtMSwgMCwgKGludCAqKU5VTEwsIChpbnQgKilOVUxMKTsKICAgaWYgKGwgPT0gMCkKICAgICByZXR1cm4gKChTVFJJTkdMSVNUICopTlVMTCk7CiAgIC8qIFRoaXMgd2lsbCBqdW1wIGJhY2sgdG8gdGhlIHRvcCBsZXZlbCBpZiB0aGUgZXhwYW5zaW9uIGZhaWxzLi4uICovCkBAIC05OTIsMjUgKzk5OSwzMCBAQAogICAgdmFyaWFibGUsIHRoaXMgZG9lcyBub3RoaW5nIGlmIGFycmF5cyBhcmUgbm90IGNvbXBpbGVkIGludG8gdGhlIHNoZWxsLiAqLwogCiBzdGF0aWMgU1RSSU5HTElTVCAqCi1nZW5fc2hlbGxfZnVuY3Rpb25fbWF0Y2hlcyAoY3MsIHRleHQsIGxpbmUsIGluZCwgbHdvcmRzLCBudywgY3cpCitnZW5fc2hlbGxfZnVuY3Rpb25fbWF0Y2hlcyAoY3MsIHRleHQsIGxpbmUsIGluZCwgbHdvcmRzLCBudywgY3csIGZvdW5kcCkKICAgICAgQ09NUFNQRUMgKmNzOwogICAgICBjb25zdCBjaGFyICp0ZXh0OwogICAgICBjaGFyICpsaW5lOwogICAgICBpbnQgaW5kOwogICAgICBXT1JEX0xJU1QgKmx3b3JkczsKICAgICAgaW50IG53LCBjdzsKKyAgICAgaW50ICpmb3VuZHA7CiB7CiAgIGNoYXIgKmZ1bmNuYW1lOwogICBTVFJJTkdMSVNUICpzbDsKICAgU0hFTExfVkFSICpmLCAqdjsKICAgV09SRF9MSVNUICpjbWRsaXN0OwotICBpbnQgZnZhbDsKKyAgaW50IGZ2YWwsIGZvdW5kOwogICBzaF9wYXJzZXJfc3RhdGVfdCBwczsKICAgc2hfcGFyc2VyX3N0YXRlX3QgKiByZXN0cmljdCBwcHM7CiAjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKICAgQVJSQVkgKmE7CiAjZW5kaWYKIAorICBmb3VuZCA9IDA7CisgIGlmIChmb3VuZHApCisgICAgKmZvdW5kcCA9IGZvdW5kOworCiAgIGZ1bmNuYW1lID0gY3MtPmZ1bmNuYW1lOwogICBmID0gZmluZF9mdW5jdGlvbiAoZnVuY25hbWUpOwogICBpZiAoZiA9PSAwKQpAQCAtMTA0Myw2ICsxMDU1LDEyIEBACiAgIGRpc2NhcmRfdW53aW5kX2ZyYW1lICgiZ2VuLXNoZWxsLWZ1bmN0aW9uLW1hdGNoZXMiKTsKICAgcmVzdG9yZV9wYXJzZXJfc3RhdGUgKHBwcyk7CiAKKyAgZm91bmQgPSBmdmFsICE9IEVYX05PVEZPVU5EOworICBpZiAoZnZhbCA9PSBFWF9SRVRSWUZBSUwpCisgICAgZm91bmQgfD0gUENPTVBfUkVUUllGQUlMOworICBpZiAoZm91bmRwKQorICAgICpmb3VuZHAgPSBmb3VuZDsKKwogICAvKiBOb3cgY2xlYW4gdXAgYW5kIGRlc3Ryb3kgZXZlcnl0aGluZy4gKi8KICAgZGlzcG9zZV93b3JkcyAoY21kbGlzdCk7CiAgIHVuYmluZF9jb21wZnVuY192YXJpYWJsZXMgKDApOwpAQCAtMTA1Nyw3ICsxMDc1LDcgQEAKICAgVlVOU0VUQVRUUiAodiwgYXR0X2ludmlzaWJsZSk7CiAKICAgYSA9IGFycmF5X2NlbGwgKHYpOwotICBpZiAoYSA9PSAwIHx8IGFycmF5X2VtcHR5IChhKSkKKyAgaWYgKGZvdW5kID09IDAgfHwgKGZvdW5kICYgUENPTVBfUkVUUllGQUlMKSB8fCBhID09IDAgfHwgYXJyYXlfZW1wdHkgKGEpKQogICAgIHNsID0gKFNUUklOR0xJU1QgKilOVUxMOwogICBlbHNlCiAgICAgewpAQCAtMTE3NSwzMyArMTE5MywzNCBAQAogewogICBXT1JEX0xJU1QgKnJldDsKICAgY2hhciAqZGVsaW1zOwotICBpbnQgaSwgajsKIAotICBkZWxpbXMgPSB4bWFsbG9jIChzdHJsZW4gKHJsX2NvbXBsZXRlcl93b3JkX2JyZWFrX2NoYXJhY3RlcnMpICsgMSk7Ci0gIGZvciAoaSA9IGogPSAwOyBybF9jb21wbGV0ZXJfd29yZF9icmVha19jaGFyYWN0ZXJzW2ldOyBpKyspCi0gICAgaWYgKHJsX2NvbXBsZXRlcl93b3JkX2JyZWFrX2NoYXJhY3RlcnNbaV0gIT0gJ1wnJyAmJiBybF9jb21wbGV0ZXJfd29yZF9icmVha19jaGFyYWN0ZXJzW2ldICE9ICciJykKLSAgICAgIGRlbGltc1tqKytdID0gcmxfY29tcGxldGVyX3dvcmRfYnJlYWtfY2hhcmFjdGVyc1tpXTsKLSAgZGVsaW1zW2pdID0gJ1wwJzsKLSAgcmV0ID0gc3BsaXRfYXRfZGVsaW1zIChsaW5lLCBsbGVuLCBkZWxpbXMsIHNlbnRpbmVsLCBud3AsIGN3cCk7Ci0gIGZyZWUgKGRlbGltcyk7CisjaWYgMAorICBkZWxpbXMgPSAiKCk8PjsmfCBcdFxuIjsJLyogc2hlbGwgbWV0YWNoYXJhY3RlcnMgYnJlYWsgd29yZHMgKi8KKyNlbHNlCisgIGRlbGltcyA9IHJsX2NvbXBsZXRlcl93b3JkX2JyZWFrX2NoYXJhY3RlcnM7CisjZW5kaWYKKyAgcmV0ID0gc3BsaXRfYXRfZGVsaW1zIChsaW5lLCBsbGVuLCBkZWxpbXMsIHNlbnRpbmVsLCBTRF9OT1FVT1RFREVMSU0sIG53cCwgY3dwKTsKICAgcmV0dXJuIChyZXQpOwogfQogCiAvKiBFdmFsdWF0ZSBDT01QU1BFQyAqY3MgYW5kIHJldHVybiBhbGwgbWF0Y2hlcyBmb3IgV09SRC4gKi8KIAogU1RSSU5HTElTVCAqCi1nZW5fY29tcHNwZWNfY29tcGxldGlvbnMgKGNzLCBjbWQsIHdvcmQsIHN0YXJ0LCBlbmQpCitnZW5fY29tcHNwZWNfY29tcGxldGlvbnMgKGNzLCBjbWQsIHdvcmQsIHN0YXJ0LCBlbmQsIGZvdW5kcCkKICAgICAgQ09NUFNQRUMgKmNzOwogICAgICBjb25zdCBjaGFyICpjbWQ7CiAgICAgIGNvbnN0IGNoYXIgKndvcmQ7CiAgICAgIGludCBzdGFydCwgZW5kOworICAgICBpbnQgKmZvdW5kcDsKIHsKICAgU1RSSU5HTElTVCAqcmV0LCAqdG1hdGNoZXM7CiAgIGNoYXIgKmxpbmU7Ci0gIGludCBsbGVuLCBudywgY3c7CisgIGludCBsbGVuLCBudywgY3csIGZvdW5kLCBmb3VuZGY7CiAgIFdPUkRfTElTVCAqbHdvcmRzOwogICBDT01QU1BFQyAqdGNzOwogCisgIGZvdW5kID0gMTsKKwogI2lmZGVmIERFQlVHCiAgIGRlYnVnX3ByaW50ZiAoImdlbl9jb21wc3BlY19jb21wbGV0aW9ucyAoJXMsICVzLCAlZCwgJWQpIiwgY21kLCB3b3JkLCBzdGFydCwgZW5kKTsKICAgZGVidWdfcHJpbnRmICgiZ2VuX2NvbXBzcGVjX2NvbXBsZXRpb25zOiAlcyAtPiAlcCIsIGNtZCwgY3MpOwpAQCAtMTI4Niw3ICsxMzA1LDEwIEBACiAKICAgaWYgKGNzLT5mdW5jbmFtZSkKICAgICB7Ci0gICAgICB0bWF0Y2hlcyA9IGdlbl9zaGVsbF9mdW5jdGlvbl9tYXRjaGVzIChjcywgd29yZCwgbGluZSwgcmxfcG9pbnQgLSBzdGFydCwgbHdvcmRzLCBudywgY3cpOworICAgICAgZm91bmRmID0gMDsKKyAgICAgIHRtYXRjaGVzID0gZ2VuX3NoZWxsX2Z1bmN0aW9uX21hdGNoZXMgKGNzLCB3b3JkLCBsaW5lLCBybF9wb2ludCAtIHN0YXJ0LCBsd29yZHMsIG53LCBjdywgJmZvdW5kZik7CisgICAgICBpZiAoZm91bmRmICE9IDApCisJZm91bmQgPSBmb3VuZGY7CiAgICAgICBpZiAodG1hdGNoZXMpCiAJewogI2lmZGVmIERFQlVHCkBAIC0xMzI3LDYgKzEzNDksMTUgQEAKICAgICAgIEZSRUUgKGxpbmUpOwogICAgIH0KIAorICBpZiAoZm91bmRwKQorICAgICpmb3VuZHAgPSBmb3VuZDsKKworICBpZiAoZm91bmQgPT0gMCB8fCAoZm91bmQgJiBQQ09NUF9SRVRSWUZBSUwpKQorICAgIHsKKyAgICAgIHN0cmxpc3RfZGlzcG9zZSAocmV0KTsKKyAgICAgIHJldHVybiBOVUxMOworICAgIH0KKwogICBpZiAoY3MtPmZpbHRlcnBhdCkKICAgICB7CiAgICAgICB0bWF0Y2hlcyA9IGZpbHRlcl9zdHJpbmdsaXN0IChyZXQsIGNzLT5maWx0ZXJwYXQsIHdvcmQpOwpAQCAtMTQwMSwzNSArMTQzMiwyOCBAQAogICAgIGNzLT5vcHRpb25zICY9IH5mbGFnczsKIH0KIAotLyogVGhlIGRyaXZlciBmdW5jdGlvbiBmb3IgdGhlIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGNvZGUuICBSZXR1cm5zIGEgbGlzdAotICAgb2YgbWF0Y2hlcyBmb3IgV09SRCwgd2hpY2ggaXMgYW4gYXJndW1lbnQgdG8gY29tbWFuZCBDTUQuICBTVEFSVCBhbmQgRU5ECi0gICBib3VuZCB0aGUgY29tbWFuZCBjdXJyZW50bHkgYmVpbmcgY29tcGxldGVkIGluIHJsX2xpbmVfYnVmZmVyLiAqLwotY2hhciAqKgotcHJvZ3JhbW1hYmxlX2NvbXBsZXRpb25zIChjbWQsIHdvcmQsIHN0YXJ0LCBlbmQsIGZvdW5kcCkKK3N0YXRpYyBTVFJJTkdMSVNUICoKK2dlbl9wcm9nY29tcF9jb21wbGV0aW9ucyAob2NtZCwgY21kLCB3b3JkLCBzdGFydCwgZW5kLCBmb3VuZHAsIHJldHJ5cCwgbGFzdGNzKQorICAgICBjb25zdCBjaGFyICpvY21kOwogICAgICBjb25zdCBjaGFyICpjbWQ7CiAgICAgIGNvbnN0IGNoYXIgKndvcmQ7Ci0gICAgIGludCBzdGFydCwgZW5kLCAqZm91bmRwOworICAgICBpbnQgc3RhcnQsIGVuZDsKKyAgICAgaW50ICpmb3VuZHAsICpyZXRyeXA7CisgICAgIENPTVBTUEVDICoqbGFzdGNzOwogewogICBDT01QU1BFQyAqY3MsICpvbGRjczsKLSAgU1RSSU5HTElTVCAqcmV0OwotICBjaGFyICoqcm1hdGNoZXMsICp0OwogICBjb25zdCBjaGFyICpvbGRjbWQ7CisgIFNUUklOR0xJU1QgKnJldDsKIAotICAvKiBXZSBsb29rIGF0IHRoZSBiYXNlbmFtZSBvZiBDTUQgaWYgdGhlIGZ1bGwgY29tbWFuZCBkb2VzIG5vdCBoYXZlCi0gICAgIGFuIGFzc29jaWF0ZWQgQ09NUFNQRUMuICovCi0gIGNzID0gcHJvZ2NvbXBfc2VhcmNoIChjbWQpOwotICBpZiAoY3MgPT0gMCkKLSAgICB7Ci0gICAgICB0ID0gc3RycmNociAoY21kLCAnLycpOwotICAgICAgaWYgKHQpCi0JY3MgPSBwcm9nY29tcF9zZWFyY2ggKCsrdCk7Ci0gICAgfQotICBpZiAoY3MgPT0gMCkKLSAgICB7Ci0gICAgICBpZiAoZm91bmRwKQotCSpmb3VuZHAgPSAwOwotICAgICAgcmV0dXJuICgoY2hhciAqKilOVUxMKTsKLSAgICB9CisgIGNzID0gcHJvZ2NvbXBfc2VhcmNoIChvY21kKTsKKworICBpZiAoY3MgPT0gMCB8fCBjcyA9PSAqbGFzdGNzKQorICAgIHJldHVybiAoTlVMTCk7CisKKyAgaWYgKCpsYXN0Y3MpCisgICAgY29tcHNwZWNfZGlzcG9zZSAoKmxhc3Rjcyk7CisgIGNzLT5yZWZjb3VudCsrOwkvKiBYWFggKi8KKyAgKmxhc3RjcyA9IGNzOwogCiAgIGNzID0gY29tcHNwZWNfY29weSAoY3MpOwogCkBAIC0xNDM5LDE3ICsxNDYzLDY4IEBACiAgIHBjb21wX2N1cmNzID0gY3M7CiAgIHBjb21wX2N1cmNtZCA9IGNtZDsKIAotICAvKiBTaWduYWwgdGhlIGNhbGxlciB0aGF0IHdlIGZvdW5kIGEgQ09NUFNQRUMgZm9yIHRoaXMgY29tbWFuZCwgYW5kIHBhc3MKLSAgICAgYmFjayBhbnkgbWV0YS1vcHRpb25zIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29tcHNwZWMuICovCi0gIGlmIChmb3VuZHApCi0gICAgKmZvdW5kcCA9IDF8Y3MtPm9wdGlvbnM7Ci0KLSAgcmV0ID0gZ2VuX2NvbXBzcGVjX2NvbXBsZXRpb25zIChjcywgY21kLCB3b3JkLCBzdGFydCwgZW5kKTsKKyAgcmV0ID0gZ2VuX2NvbXBzcGVjX2NvbXBsZXRpb25zIChjcywgY21kLCB3b3JkLCBzdGFydCwgZW5kLCBmb3VuZHApOwogCiAgIHBjb21wX2N1cmNzID0gb2xkY3M7CiAgIHBjb21wX2N1cmNtZCA9IG9sZGNtZDsKIAorICAvKiBXZSBuZWVkIHRvIGNvbmRpdGlvbmFsbHkgaGFuZGxlIHNldHRpbmcgKnJldHJ5cCBoZXJlICovCisgIGlmIChyZXRyeXApCisgICAgKnJldHJ5cCA9IGZvdW5kcCAmJiAoKmZvdW5kcCAmIFBDT01QX1JFVFJZRkFJTCk7ICAgIAkKKworICBpZiAoZm91bmRwKQorICAgIHsKKyAgICAgICpmb3VuZHAgJj0gflBDT01QX1JFVFJZRkFJTDsKKyAgICAgICpmb3VuZHAgfD0gY3MtPm9wdGlvbnM7CisgICAgfQorCiAgIGNvbXBzcGVjX2Rpc3Bvc2UgKGNzKTsKKyAgcmV0dXJuIHJldDsgIAorfQorCisvKiBUaGUgZHJpdmVyIGZ1bmN0aW9uIGZvciB0aGUgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gY29kZS4gIFJldHVybnMgYSBsaXN0CisgICBvZiBtYXRjaGVzIGZvciBXT1JELCB3aGljaCBpcyBhbiBhcmd1bWVudCB0byBjb21tYW5kIENNRC4gIFNUQVJUIGFuZCBFTkQKKyAgIGJvdW5kIHRoZSBjb21tYW5kIGN1cnJlbnRseSBiZWluZyBjb21wbGV0ZWQgaW4gcmxfbGluZV9idWZmZXIuICovCitjaGFyICoqCitwcm9ncmFtbWFibGVfY29tcGxldGlvbnMgKGNtZCwgd29yZCwgc3RhcnQsIGVuZCwgZm91bmRwKQorICAgICBjb25zdCBjaGFyICpjbWQ7CisgICAgIGNvbnN0IGNoYXIgKndvcmQ7CisgICAgIGludCBzdGFydCwgZW5kLCAqZm91bmRwOworeworICBDT01QU1BFQyAqY3MsICpsYXN0Y3M7CisgIFNUUklOR0xJU1QgKnJldDsKKyAgY2hhciAqKnJtYXRjaGVzLCAqdDsKKyAgaW50IGZvdW5kLCByZXRyeSwgY291bnQ7CisKKyAgbGFzdGNzID0gMDsKKyAgZm91bmQgPSBjb3VudCA9IDA7CisKKyAgZG8KKyAgICB7CisgICAgICByZXRyeSA9IDA7CisKKyAgICAgIC8qIFdlIGxvb2sgYXQgdGhlIGJhc2VuYW1lIG9mIENNRCBpZiB0aGUgZnVsbCBjb21tYW5kIGRvZXMgbm90IGhhdmUKKwkgYW4gYXNzb2NpYXRlZCBDT01QU1BFQy4gKi8KKyAgICAgIHJldCA9IGdlbl9wcm9nY29tcF9jb21wbGV0aW9ucyAoY21kLCBjbWQsIHdvcmQsIHN0YXJ0LCBlbmQsICZmb3VuZCwgJnJldHJ5LCAmbGFzdGNzKTsKKyAgICAgIGlmIChmb3VuZCA9PSAwKQorCXsKKwkgIHQgPSBzdHJyY2hyIChjbWQsICcvJyk7CisJICBpZiAodCAmJiAqKCsrdCkpCisJICAgIHJldCA9IGdlbl9wcm9nY29tcF9jb21wbGV0aW9ucyAodCwgY21kLCB3b3JkLCBzdGFydCwgZW5kLCAmZm91bmQsICZyZXRyeSwgJmxhc3Rjcyk7CisJfQorCisgICAgICBpZiAoZm91bmQgPT0gMCkKKwlyZXQgPSBnZW5fcHJvZ2NvbXBfY29tcGxldGlvbnMgKERFRkFVTFRDTUQsIGNtZCwgd29yZCwgc3RhcnQsIGVuZCwgJmZvdW5kLCAmcmV0cnksICZsYXN0Y3MpOworCisgICAgICBjb3VudCsrOworCisgICAgICBpZiAoY291bnQgPiAzMikKKwl7CisJICBpbnRlcm5hbF93YXJuaW5nICgicHJvZ3JhbW1hYmxlX2NvbXBsZXRpb246ICVzOiBwb3NzaWJsZSByZXRyeSBsb29wIiwgY21kKTsKKwkgIGJyZWFrOworCX0KKyAgICB9CisgIHdoaWxlIChyZXRyeSk7CiAKICAgaWYgKHJldCkKICAgICB7CkBAIC0xNDU5LDYgKzE1MzQsMTIgQEAKICAgZWxzZQogICAgIHJtYXRjaGVzID0gKGNoYXIgKiopTlVMTDsKIAorICBpZiAoZm91bmRwKQorICAgICpmb3VuZHAgPSBmb3VuZDsKKworICBpZiAobGFzdGNzKQkvKiBYWFggLSBzaG91bGQgYmUgd2hpbGU/ICovCisgICAgY29tcHNwZWNfZGlzcG9zZSAobGFzdGNzKTsKKwogICByZXR1cm4gKHJtYXRjaGVzKTsKIH0KIApkaWZmIC0tZ2l0IGEvcGNvbXBsZXRlLmggYi9wY29tcGxldGUuaAppbmRleCBiYzA1NDFkLi5kYWNiY2VmIDEwMDY0NAotLS0gYS9wY29tcGxldGUuaAorKysgYi9wY29tcGxldGUuaApAQCAtMSw1ICsxLDUgQEAKIC8qIHBjb21wbGV0ZS5oIC0gc3RydWN0dXJlIGRlZmluaXRpb25zIGFuZCBvdGhlciBzdHVmZiBmb3IgcHJvZ3JhbW1hYmxlCi1uCQkgY29tcGxldGlvbi4gKi8KKwkJIGNvbXBsZXRpb24uICovCiAKIC8qIENvcHlyaWdodCAoQykgMTk5OS0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCkBAIC05Niw2ICs5Niw5IEBACiAjZGVmaW5lIExJU1RfRE9OVEZSRUUJCTB4MDEwCiAjZGVmaW5lIExJU1RfRE9OVEZSRUVNRU1CRVJTCTB4MDIwCiAKKyNkZWZpbmUgRU1QVFlDTUQJIl9FbXB0eWNtRF8iCisjZGVmaW5lIERFRkFVTFRDTUQJIl9EZWZhdWx0Q21EXyIKKwogZXh0ZXJuIEhBU0hfVEFCTEUgKnByb2dfY29tcGxldGVzOwogZXh0ZXJuIGludCBwcm9nX2NvbXBsZXRpb25fZW5hYmxlZDsKIApAQCAtMTUwLDcgKzE1Myw3IEBACiAKIGV4dGVybiBTVFJJTkdMSVNUICpjb21wbGV0aW9uc190b19zdHJpbmdsaXN0IF9fUCgoY2hhciAqKikpOwogCi1leHRlcm4gU1RSSU5HTElTVCAqZ2VuX2NvbXBzcGVjX2NvbXBsZXRpb25zIF9fUCgoQ09NUFNQRUMgKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGludCwgaW50KSk7CitleHRlcm4gU1RSSU5HTElTVCAqZ2VuX2NvbXBzcGVjX2NvbXBsZXRpb25zIF9fUCgoQ09NUFNQRUMgKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGludCwgaW50LCBpbnQgKikpOwogZXh0ZXJuIGNoYXIgKipwcm9ncmFtbWFibGVfY29tcGxldGlvbnMgX19QKChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgaW50LCBpbnQsIGludCAqKSk7CiAKIGV4dGVybiB2b2lkIHBjb21wX3NldF9yZWFkbGluZV92YXJpYWJsZXMgX19QKChpbnQsIGludCkpOwpkaWZmIC0tZ2l0IGEvcG8vTElOR1VBUyBiL3BvL0xJTkdVQVMKaW5kZXggZTgwMzZiYi4uOWFiNjZmMSAxMDA2NDQKLS0tIGEvcG8vTElOR1VBUworKysgYi9wby9MSU5HVUFTCkBAIC0xLDIgKzEsMiBAQAogIyBTZXQgb2YgYXZhaWxhYmxlIGxhbmd1YWdlcy4KLWVuQHF1b3QgZW5AYm9sZHF1b3QgYWYgYmcgY2EgY3MgZGUgZW8gZXMgZXQgZnIgaHUgaWQgamEgbHQgbmwgcGwgcHRfQlIgcm8gcnUgc2sgc3YgdHIgdmkgemhfVFcKK2VuQHF1b3QgZW5AYm9sZHF1b3QgYWYgYmcgY2EgY3MgZGUgZW8gZXMgZXQgZmkgZnIgZ2EgaHUgaWQgamEgbHQgbmwgcGwgcHRfQlIgcm8gcnUgc2sgc3YgdHIgdmkgemhfVFcKZGlmZiAtLWdpdCBhL3BvL1BPVEZJTEVTLmluIGIvcG8vUE9URklMRVMuaW4KaW5kZXggNmQ5YWZiZi4uMmE4ZjM2OSAxMDA2NDQKLS0tIGEvcG8vUE9URklMRVMuaW4KKysrIGIvcG8vUE9URklMRVMuaW4KQEAgLTUsNiArNSw3IEBACiBiYXNoaGlzdC5jCiBiYXNobGluZS5jCiBicmFjZXMuYworYnVpbHRpbnMvYWxpYXMuZGVmCiBidWlsdGlucy9iaW5kLmRlZgogYnVpbHRpbnMvYnJlYWsuZGVmCiBidWlsdGlucy9jYWxsZXIuZGVmCkBAIC00OCwxMiArNDksMTQgQEAKIGdlbmVyYWwuYwogaW5wdXQuYwogam9icy5jCitsaWIvaW50bC9vczJjb21wYXQuYwogbGliL21hbGxvYy9tYWxsb2MuYwogbGliL21hbGxvYy9zdGF0cy5jCiBsaWIvbWFsbG9jL3RhYmxlLmMKIGxpYi9tYWxsb2Mvd2F0Y2guYwogbGliL3NoL2ZtdHVsb25nLmMKIGxpYi9zaC9uZXRvcGVuLmMKK2xvY2FsZS5jCiBtYWlsY2hlY2suYwogbWFrZV9jbWQuYwogbm9qb2JzLmMKQEAgLTcwLDYgKzczLDcgQEAKIHRyYXAuYwogdmFyaWFibGVzLmMKIHZlcnNpb24uYwordmVyc2lvbjIuYwogeG1hbGxvYy5jCiAKICMgQXBwYXJlbnRseSBnZXR0ZXh0J3MgZGVmYXVsdHMgY2Fubm90IGhhbmRsZSBmaWxlcyB0aGF0IGV4aXN0IG91dHNpZGUgb2YgdGhlCmRpZmYgLS1naXQgYS9wby9hZi5nbW8gYi9wby9hZi5nbW8KaW5kZXggMWI1OWNhYy4uYmY3ZDk1NiAxMDA2NDQKLS0tIGEvcG8vYWYuZ21vCisrKyBiL3BvL2FmLmdtbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9wby9hZi5wbyBiL3BvL2FmLnBvCmluZGV4IGU2MDA0OGYuLjFhZTJhYTMgMTAwNjQ0Ci0tLSBhL3BvL2FmLnBvCisrKyBiL3BvL2FmLnBvCkBAIC02LDcgKzYsNyBAQAogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBiYXNoIDIuMFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0wMi0xOSAxNDo1My0wNTAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMTItMzAgMDg6MjUtMDUwMFxuIgogIlBPLVJldmlzaW9uLURhdGU6IDIwMDQtMDMtMTcgMTM6NDgrMDIwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogUGV0cmkgSm9vc3RlIDxya3dqcGpAcHVrLmFjLnphPlxuIgogIkxhbmd1YWdlLVRlYW06IEFmcmlrYWFucyA8aTE4bkBhZi5vcmcuemE+XG4iCkBAIC0xOSw1MCArMTksNTUgQEAKIG1zZ2lkICJiYWQgYXJyYXkgc3Vic2NyaXB0IgogbXNnc3RyICJPcy8yIEJpc2thYXJ0IFNraWtraW5nIgogCi0jOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc0CisjOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBpbmRleGVkIHRvIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIiCiAKLSM6IGFycmF5ZnVuYy5jOjQ3OQorIzogYXJyYXlmdW5jLmM6NDgwCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhc3NvY2lhdGl2ZSBhcnJheSBrZXkiCiBtc2dzdHIgIiVzOiBpbGxlZ2FsIG9wdGlvbiAtLSAlY1xuIgogCi0jOiBhcnJheWZ1bmMuYzo0ODEKKyM6IGFycmF5ZnVuYy5jOjQ4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiB0byBub24tbnVtZXJpYyBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBhcnJheWZ1bmMuYzo1MTcKKyM6IGFycmF5ZnVuYy5jOjUxOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IG11c3QgdXNlIHN1YnNjcmlwdCB3aGVuIGFzc2lnbmluZyBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiIgogCi0jOiBiYXNoaGlzdC5jOjM3OQorIzogYmFzaGhpc3QuYzozODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjcmVhdGU6ICVzIgogbXNnc3RyICIlczoga2FuIG5pZSAlcyBza2VwIG5pZSIKIAotIzogYmFzaGxpbmUuYzozNDEzCisjOiBiYXNobGluZS5jOjM0NTcKIG1zZ2lkICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBjYW5ub3QgZmluZCBrZXltYXAgZm9yIGNvbW1hbmQiCiBtc2dzdHIgIiIKIAotIzogYmFzaGxpbmUuYzozNDkxCisjOiBiYXNobGluZS5jOjM1NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpcnN0IG5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlciBpcyBub3QgYFwiJyIKIG1zZ3N0ciAiIgogCi0jOiBiYXNobGluZS5jOjM1MjAKKyM6IGJhc2hsaW5lLmM6MzU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjbG9zaW5nIGAlYycgaW4gJXMiCiBtc2dzdHIgIiIKIAotIzogYmFzaGxpbmUuYzozNTU0CisjOiBiYXNobGluZS5jOjM2MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG1pc3NpbmcgY29sb24gc2VwYXJhdG9yIgogbXNnc3RyICIiCiAKKyM6IGJ1aWx0aW5zL2FsaWFzLmRlZjoxMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImAlcyc6IGludmFsaWQgYWxpYXMgbmFtZSIKK21zZ3N0ciAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCisKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjEyMCBidWlsdGlucy9iaW5kLmRlZjoxMjMKIG1zZ2lkICJsaW5lIGVkaXRpbmcgbm90IGVuYWJsZWQiCiBtc2dzdHIgIiIKQEAgLTExMyw2ICsxMTgsMjEgQEAKICIgICAgV2l0aG91dCBFWFBSLCByZXR1cm5zICIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNQorbXNnaWQgIiIKKyIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKKyIgICAgIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM2Cittc2dpZCAiIgorIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgorIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCisiICAgIFxuIgorIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCisiICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgorbXNnc3RyICIiCisKICM6IGJ1aWx0aW5zL2NkLmRlZjoyMTUKIG1zZ2lkICJIT01FIG5vdCBzZXQiCiBtc2dzdHIgIiIKQEAgLTEyNiw3ICsxNDYsNyBAQAogbXNnaWQgImxpbmUgJWQ6ICIKIG1zZ3N0ciAiM2QgbW9kdXMiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEzOSBlcnJvci5jOjI2MAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTM5IGVycm9yLmM6MjYxCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAiCiBtc2dzdHIgImJlc2lnIG9tIHRlIHNrcnlmIgpAQCAtMTM2LDEyICsxNTYsMTIgQEAKIG1zZ2lkICIlczogdXNhZ2U6ICIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyMgorIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKICMsIGZ1enp5CiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICJ0ZSB2ZWVsIHBhcmFtZXRlcnMiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5MyBzaGVsbC5jOjc3NAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgogbXNnc3RyICIlczogb3B0aW9uIGAlcycgcmVxdWlyZXMgYW4gYXJndW1lbnRcbiIKQEAgLTE1Niw3ICsxNzYsNyBAQAogbXNnaWQgIiVzOiBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBiZXZlbCBuaWUgZ2V2aW5kIG5pZSIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjE0IHNoZWxsLmM6Nzg3CisjOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3OTUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCkBAIC0xODEsNyArMjAxLDcgQEAKIG1zZ2lkICJpbnZhbGlkIGhleCBudW1iZXIiCiBtc2dzdHIgIkRpZSBzZWluIG5vbW1lciB3YXQgd2FzIGdldmFuZyBoZXQiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NQorIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU2CiAjLCBmdXp6eQogbXNnaWQgImludmFsaWQgbnVtYmVyIgogbXNnc3RyICJEaWUgc2VpbiBub21tZXIgd2F0IHdhcyBnZXZhbmcgaGV0IgpAQCAtMTk2LDcgKzIxNiw3IEBACiBtc2dpZCAiYCVzJzogbm90IGEgcGlkIG9yIHZhbGlkIGpvYiBzcGVjIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI2NCBlcnJvci5jOjQ1MworIzogYnVpbHRpbnMvY29tbW9uLmM6MjY0IGVycm9yLmM6NDU0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgdmFyaWFibGUiCiBtc2dzdHIgIlZlcmFuZGVybGlrZSBib29tIgpAQCAtMjczLDI2ICsyOTMsMjYgQEAKIG1zZ2lkICIlczogYW1iaWd1b3VzIGpvYiBzcGVjIgogbXNnc3RyICIlczogZHViYmVsc2lubmlnZSBoZXJyb2V0ZXJpbmciCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjoyNzAKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjoyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYWN0aW9uIG5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjQzMCBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjE1Ci0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODEzCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDQ5IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NDQKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjY3CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk2CiBtc2dpZCAid2FybmluZzogLUYgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NjkKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTgKIG1zZ2lkICJ3YXJuaW5nOiAtQyBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjc4NgorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjgyNgogbXNnaWQgIm5vdCBjdXJyZW50bHkgZXhlY3V0aW5nIGNvbXBsZXRpb24gZnVuY3Rpb24iCiBtc2dzdHIgIiIKIApAQCAtMzAwLDIxICszMjAsMjEgQEAKIG1zZ2lkICJjYW4gb25seSBiZSB1c2VkIGluIGEgZnVuY3Rpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzUzCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzY1IGV4ZWN1dGVfY21kLmM6NDgxOAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVzOiBsZWVzYWxsZWVuLWZ1bmtzaWUiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2MQorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDY4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICJLYW4gbmllIHNvZWsgJ24gaGFuZHRla2VuaW5nIGluIGhpZXJkaWUgYm9vZHNrYXAhIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiIgpAQCAtMzQzLDggKzM2Myw4IEBACiBtc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgogbXNnc3RyICIlczoga2FuIG5pZSAlcyBza2VwIG5pZSIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDY3NQotIzogc2hlbGwuYzoxNDM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0CisjOiBzaGVsbC5jOjE0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczogaXMgJ24gZ2lkcyIKQEAgLTM1OSw3ICszNzksOCBAQAogbXNnaWQgIiVzOiBmaWxlIGlzIHRvbyBsYXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBleGVjdXRlX2NtZC5jOjQ3NDUgc2hlbGwuYzoxNDQ5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBidWlsdGlucy9ldmFsZmlsZS5jOjIwMyBleGVjdXRlX2NtZC5jOjQ4NjQKKyM6IHNoZWxsLmM6MTQ2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGUgYmluYXJ5IGZpbGUiCiBtc2dzdHIgIiVzOiBrYW4gbmllICduIGJpbupyZSBs6mVyIHVpdHZvZXIgbmllIgpAQCAtMzg4LDE2ICs0MDksMTYgQEAKIG1zZ2lkICJUaGVyZSBhcmUgcnVubmluZyBqb2JzLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjIKICMsIGZ1enp5CiBtc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKIG1zZ3N0ciAiJXM6IGJldmVsIG5pZSBnZXZpbmQgbmllIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzQxCisjOiBidWlsdGlucy9mYy5kZWY6MzQ5CiBtc2dpZCAiaGlzdG9yeSBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNjIKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiB0ZW1wIGZpbGU6ICVzIgogbXNnc3RyICIlczoga2FuIG5pZSAlcyBza2VwIG5pZSIKQEAgLTQ4NywxMiArNTA4LDEyIEBACiBtc2dpZCAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoxOTcKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MAorIzogYnVpbHRpbnMva2lsbC5kZWY6MjYzCiAjLCBmdXp6eQogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgIk9uYmVrZW5kZSBmb3V0ICVkIgpAQCAtNTAyLDU2ICs1MjMsNjEgQEAKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICJCb29scyB1aXRkcnVra2luZyB2ZXJ3YWciCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0MSBidWlsdGlucy9yZWFkLmRlZjoyNzIKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgorbXNnc3RyICJWZXJhbmRlcmxpa2UgYm9vbSIKKworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTcgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcjogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU4IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY2IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwNAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKIG1zZ3N0ciAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiBtc2dzdHIgIiVzOiBpbGxlZ2FsIG9wdGlvbiAtLSAlY1xuIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgY2FsbGJhY2sgcXVhbnR1bSIKIG1zZ3N0ciAiRGllIHNlaW4gbm9tbWVyIHdhdCB3YXMgZ2V2YW5nIGhldCIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzE4CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKICMsIGZ1enp5CiBtc2dpZCAiZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZSIKIG1zZ3N0ciAiVmVyYW5kZXJsaWtlIGJvb20iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzOQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CiBtc2dpZCAiYXJyYXkgdmFyaWFibGUgc3VwcG9ydCByZXF1aXJlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjM2NworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTQ0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzEKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjc1MAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTcKIG1zZ2lkICJtaXNzaW5nIGhleCBkaWdpdCBmb3IgXFx4IgogbXNnc3RyICIiCiAKQEAgLTY0NCwxMiArNjcwLDEyIEBACiAiICAgIFRoZSBgZGlycycgYnVpbHRpbiBkaXNwbGF5cyB0aGUgZGlyZWN0b3J5IHN0YWNrLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9yZWFkLmRlZjoyNDgKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCB0aW1lb3V0IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcmVhZC5kZWY6NTc0CisjOiBidWlsdGlucy9yZWFkLmRlZjo1ODgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInJlYWQgZXJyb3I6ICVkOiAlcyIKIG1zZ3N0ciAicHlwZm91dDogJXMiCkBAIC02ODcsMTEgKzcxMywxMSBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICJTaGlmdCIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI1NAorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI2MAogbXNnaWQgImNhbm5vdCBzZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMgc2ltdWx0YW5lb3VzbHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMxOQorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBzaGVsbCBvcHRpb24gbmFtZSIKIG1zZ3N0ciAiIgpAQCAtNzg0LDgxICs4MTAsODEgQEAKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIHN5bWJvbGljIG1vZGUgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGVycm9yLmM6ODkgZXJyb3IuYzozMjAgZXJyb3IuYzozMjIgZXJyb3IuYzozMjQKKyM6IGVycm9yLmM6OTAgZXJyb3IuYzozMjEgZXJyb3IuYzozMjMgZXJyb3IuYzozMjUKIG1zZ2lkICIgbGluZSAiCiBtc2dzdHIgIiIKIAotIzogZXJyb3IuYzoxNjQKKyM6IGVycm9yLmM6MTY1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJsYXN0IGNvbW1hbmQ6ICVzXG4iCiBtc2dzdHIgIkJldmVscmXrbCIKIAotIzogZXJyb3IuYzoxNzIKKyM6IGVycm9yLmM6MTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nLi4uIgogbXNnc3RyICIiCiAKLSM6IGVycm9yLmM6NDA1CisjOiBlcnJvci5jOjQwNgogIywgZnV6enkKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQgZXJyb3IiCiBtc2dzdHIgIk9uYmVrZW5kZSBmb3V0ICVkIgogCi0jOiBlcnJvci5jOjQwNgorIzogZXJyb3IuYzo0MDcKICMsIGZ1enp5CiBtc2dpZCAiYmFkIGNvbW1hbmQgdHlwZSIKIG1zZ3N0ciAiYmV2ZWxuYWFtIgogCi0jOiBlcnJvci5jOjQwNworIzogZXJyb3IuYzo0MDgKICMsIGZ1enp5CiBtc2dpZCAiYmFkIGNvbm5lY3RvciIKIG1zZ3N0ciAiZm91dGlld2UgdmVyYmluZGVyYCVkJyIKIAotIzogZXJyb3IuYzo0MDgKKyM6IGVycm9yLmM6NDA5CiAjLCBmdXp6eQogbXNnaWQgImJhZCBqdW1wIgogbXNnc3RyICJTcHJpbmcgbmE6IgogCi0jOiBlcnJvci5jOjQ0NgorIzogZXJyb3IuYzo0NDcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmJvdW5kIHZhcmlhYmxlIgogbXNnc3RyICJWZXJhbmRlcmxpa2UgYm9vbSIKIAogIzogZXZhbC5jOjE4MQogIywgYy1mb3JtYXQKLW1zZ2lkICJcYXRpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKK21zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDkxCisjOiBleGVjdXRlX2NtZC5jOjQ5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MTExMgorIzogZXhlY3V0ZV9jbWQuYzoxMTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBleGVjdXRlX2NtZC5jOjIwMTEKKyM6IGV4ZWN1dGVfY21kLmM6MjA3NQogIywgZnV6enkKIG1zZ2lkICJwaXBlIGVycm9yIgogbXNnc3RyICJweXBmb3V0OiAlcyIKIAotIzogZXhlY3V0ZV9jbWQuYzo0MzYzCisjOiBleGVjdXRlX2NtZC5jOjQ0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IGAvJyBpbiBjb21tYW5kIG5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDQ1NAorIzogZXhlY3V0ZV9jbWQuYzo0NTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjb21tYW5kIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IGJldmVsIG5pZSBnZXZpbmQgbmllIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ3MDgKKyM6IGV4ZWN1dGVfY21kLmM6NDgyNwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCiBtc2dzdHIgIiVzOiBpcyAnbiBnaWRzIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ4NTcKKyM6IGV4ZWN1dGVfY21kLmM6NDk3NgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKIG1zZ3N0ciAia2FuIG5pZSBmZCAlZCBuYSBmZCAwIGR1cGxpc2VlciBuaWU6ICVzIgpAQCAtOTA4LDMxICs5MzQsMzEgQEAKIG1zZ2lkICJtaXNzaW5nIGApJyIKIG1zZ3N0ciAiT250YnJla2VuZGUgJz4nIgogCi0jOiBleHByLmM6ODk3IGV4cHIuYzoxMTc1CisjOiBleHByLmM6ODk3IGV4cHIuYzoxMTc2CiAjLCBmdXp6eQogbXNnaWQgInN5bnRheCBlcnJvcjogb3BlcmFuZCBleHBlY3RlZCIKIG1zZ3N0ciAiT252ZXJ3YWd0ZSBlaW5kZSB2YW4gbOplciB0eWRlbnMgaW5sZWVzIHZhbiBodWxwYnJvbi4iCiAKLSM6IGV4cHIuYzoxMTc3CisjOiBleHByLmM6MTE3OAogbXNnaWQgInN5bnRheCBlcnJvcjogaW52YWxpZCBhcml0aG1ldGljIG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMjAxCisjOiBleHByLmM6MTIwMgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXMlcyVzOiAlcyAoZXJyb3IgdG9rZW4gaXMgXCIlc1wiKSIKIG1zZ3N0ciAiIgogIkhpZXJkaWUgaXMgZGllIGZvdXQgYm9vZHNrYXAgdmFuICUxOlxuIgogIiUyIgogCi0jOiBleHByLmM6MTI1OQorIzogZXhwci5jOjEyNjAKIG1zZ2lkICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTI3OQorIzogZXhwci5jOjEyODAKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgIndhYXJkZSB0ZSBncm9vdCB2aXIgYmFzaXMiCiAKLSM6IGV4cHIuYzoxMzI4CisjOiBleHByLmM6MTMyOQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKIG1zZ3N0ciAiJXM6IGhlZWxnZXRhbC11aXRkcnVra2luZyBpcyB2ZXJ3YWdcbiIKQEAgLTk0Miw3ICs5NjgsNyBAQAogbXNnaWQgImdldGN3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQgZGlyZWN0b3JpZXMiCiBtc2dzdHIgIkthbiBuaWUgZGllIHByb2dyYW0gdWl0dm9lciBuaWU6IgogCi0jOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDU1OQorIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgogbXNnc3RyICJrYW4gbmllIGZkICVkIG5hIGZkIDAgZHVwbGlzZWVyIG5pZTogJXMiCkBAIC05OTUsNyArMTAyMSw3IEBACiBtc2dpZCAiRG9uZSIKIG1zZ3N0ciAiS2xhYXIiCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjIKKyM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKICMsIGZ1enp5CiBtc2dpZCAiU3RvcHBlZCIKIG1zZ3N0ciAiT3AgZ2Vob3UiCkBAIC0xMDM0LDcxICsxMDYwLDc1IEBACiBtc2dpZCAiICAod2Q6ICVzKSIKIG1zZ3N0ciAiQWt0aXZlZXIgbm91IGRhZGVsaWsiCiAKLSM6IGpvYnMuYzoxNzcxCisjOiBqb2JzLmM6MTc3NgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2hpbGQgc2V0cGdpZCAoJWxkIHRvICVsZCkiCiBtc2dzdHIgIkZvdXQgaW4gZGllIHNrcnlmIHZhbiAlcyIKIAotIzogam9icy5jOjIwOTkgbm9qb2JzLmM6NTg1CisjOiBqb2JzLmM6MjEwNCBub2pvYnMuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyMzI2CisjOiBqb2JzLmM6MjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyNTk4CisjOiBqb2JzLmM6MjYwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyODIwCisjOiBqb2JzLmM6MjgyOQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiBoYXMgdGVybWluYXRlZCIKIG1zZ3N0ciAiRGllIGJlZGllbmVyIGJl62luZGlnIERpZSB2ZXJiaW5kaW5nLiIKIAotIzogam9icy5jOjI4MjkKKyM6IGpvYnMuYzoyODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgJWQgYWxyZWFkeSBpbiBiYWNrZ3JvdW5kIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNDkyCisjOiBqb2JzLmM6MzA1OQorbXNnaWQgIndhaXRjaGxkOiB0dXJuaW5nIG9uIFdOT0hBTkcgdG8gYXZvaWQgaW5kZWZpbml0ZSBibG9jayIKK21zZ3N0ciAiIgorCisjOiBqb2JzLmM6MzUwOAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGxpbmUgJWQ6ICIKIG1zZ3N0ciAiM2QgbW9kdXMiCiAKLSM6IGpvYnMuYzozNTA2IG5vam9icy5jOjgxNAorIzogam9icy5jOjM1MjIgbm9qb2JzLmM6ODE0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIgKGNvcmUgZHVtcGVkKSIKIG1zZ3N0ciAiS2VybiBPbnR3aWtrZWxhYXIiCiAKLSM6IGpvYnMuYzozNTE4IGpvYnMuYzozNTMxCisjOiBqb2JzLmM6MzUzNCBqb2JzLmM6MzU0NwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiKHdkIG5vdzogJXMpXG4iCiBtc2dzdHIgIkFrdGl2ZWVyIG5vdSBkYWRlbGlrIgogCi0jOiBqb2JzLmM6MzU2MworIzogam9icy5jOjM1NzkKICMsIGZ1enp5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBmYWlsZWQiCiBtc2dzdHIgIkluaXNpYWxpc2VyaW5nIHZhbiBPcGVuR0wgaGV0IG1pc2x1ay4iCiAKLSM6IGpvYnMuYzozNjIzCisjOiBqb2JzLmM6MzYzOQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzYzMworIzogam9icy5jOjM2NDkKICMsIGZ1enp5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKIG1zZ3N0ciAiSW5pc2lhbGlzZXJpbmcgdmFuIE9wZW5HTCBoZXQgbWlzbHVrLiIKIAotIzogam9icy5jOjM2NjEKKyM6IGpvYnMuYzozNjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjY2CisjOiBqb2JzLmM6MzY4MgogbXNnaWQgIm5vIGpvYiBjb250cm9sIGluIHRoaXMgc2hlbGwiCiBtc2dzdHIgImdlZW4gdGFha2JlaGVlciBpbiBoaWVyZGllIGRvcCBuaWUiCiAKQEAgLTExODksNiArMTIxOSwyNiBAQAogbXNnaWQgIm5ldHdvcmsgb3BlcmF0aW9ucyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICIiCiAKKyM6IGxvY2FsZS5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBsb2NhbGUuYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKK21zZ3N0ciAiIgorCiAjOiBtYWlsY2hlY2suYzo0MzMKICMsIGZ1enp5CiBtc2dpZCAiWW91IGhhdmUgbWFpbCBpbiAkXyIKQEAgLTEyMDQsMTM3ICsxMjU0LDEzNyBAQAogbXNnaWQgIlRoZSBtYWlsIGluICVzIGhhcyBiZWVuIHJlYWRcbiIKIG1zZ3N0ciAiIgogCi0jOiBtYWtlX2NtZC5jOjMyMgorIzogbWFrZV9jbWQuYzozMjMKICMsIGZ1enp5CiBtc2dpZCAic3ludGF4IGVycm9yOiBhcml0aG1ldGljIGV4cHJlc3Npb24gcmVxdWlyZWQiCiBtc2dzdHIgIlNpbnRha3MgZm91dCBpbiBwYXRyb29uIgogCi0jOiBtYWtlX2NtZC5jOjMyNAorIzogbWFrZV9jbWQuYzozMjUKICMsIGZ1enp5CiBtc2dpZCAic3ludGF4IGVycm9yOiBgOycgdW5leHBlY3RlZCIKIG1zZ3N0ciAiT252ZXJ3YWd0ZSBlaW5kZSB2YW4gbOplciB0eWRlbnMgaW5sZWVzIHZhbiBodWxwYnJvbi4iCiAKLSM6IG1ha2VfY21kLmM6MzI1CisjOiBtYWtlX2NtZC5jOjMyNgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yOiBgKCglcykpJyIKIG1zZ3N0ciAic2ludGFrc2ZvdXQiCiAKLSM6IG1ha2VfY21kLmM6NTY3CisjOiBtYWtlX2NtZC5jOjU3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWtlX2hlcmVfZG9jdW1lbnQ6IGJhZCBpbnN0cnVjdGlvbiB0eXBlICVkIgogbXNnc3RyICIiCiAKLSM6IG1ha2VfY21kLmM6NjUxCisjOiBtYWtlX2NtZC5jOjY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJoZXJlLWRvY3VtZW50IGF0IGxpbmUgJWQgZGVsaW1pdGVkIGJ5IGVuZC1vZi1maWxlICh3YW50ZWQgYCVzJykiCiBtc2dzdHIgIiIKIAotIzogbWFrZV9jbWQuYzo3NDYKKyM6IG1ha2VfY21kLmM6NzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6Mjk4NiBwYXJzZS55OjMyMTgKKyM6IHBhcnNlLnk6MzEzMyBwYXJzZS55OjMzNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCVjJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM3MjIKKyM6IHBhcnNlLnk6Mzk1MQogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIGBdXSciCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozNzI3CisjOiBwYXJzZS55OjM5NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM3MzEKKyM6IHBhcnNlLnk6Mzk2MAogIywgZnV6enkKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiU2ludGFrcyBmb3V0IGluIHBhdHJvb24iCiAKLSM6IHBhcnNlLnk6MzgwOQorIzogcGFyc2UueTo0MDM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzgxMworIzogcGFyc2UueTo0MDQyCiAjLCBmdXp6eQogbXNnaWQgImV4cGVjdGVkIGApJyIKIG1zZ3N0ciAiJyknIGlzIHZlcndhZ1xuIgogCi0jOiBwYXJzZS55OjM4NDEKKyM6IHBhcnNlLnk6NDA3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozODQ1CisjOiBwYXJzZS55OjQwNzQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6Mzg4NQorIzogcGFyc2UueTo0MTIwCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IGJpbupyZSBvcGVyYXRvciBpcyB2ZXJ3YWdcbiIKIAotIzogcGFyc2UueTozODg5CisjOiBwYXJzZS55OjQxMjQKICMsIGZ1enp5CiBtc2dpZCAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogYmlu6nJlIG9wZXJhdG9yIGlzIHZlcndhZ1xuIgogCi0jOiBwYXJzZS55OjM5MDYKKyM6IHBhcnNlLnk6NDE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzkxMAorIzogcGFyc2UueTo0MTUwCiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozOTIxCisjOiBwYXJzZS55OjQxNjEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJTb2VrIGRpZSBs6mVyIHZpciAnbiB1aXRkcnVra2luZyIKIAotIzogcGFyc2UueTozOTI0CisjOiBwYXJzZS55OjQxNjQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJTb2VrIGRpZSBs6mVyIHZpciAnbiB1aXRkcnVra2luZyIKIAotIzogcGFyc2UueTozOTI4CisjOiBwYXJzZS55OjQxNjgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gJWQgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAiU29layBkaWUgbOplciB2aXIgJ24gdWl0ZHJ1a2tpbmciCiAKLSM6IHBhcnNlLnk6NTE5NQorIzogcGFyc2UueTo1NDU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjUyMTMKKyM6IHBhcnNlLnk6NTQ3NwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgYCVzJyIKIG1zZ3N0ciAiU2ludGFrcyBmb3V0IGluIHBhdHJvb24iCiAKLSM6IHBhcnNlLnk6NTIyMworIzogcGFyc2UueTo1NDg3CiAjLCBmdXp6eQogbXNnaWQgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAiT252ZXJ3YWd0ZSBlaW5kZSB2YW4gbOplciB0eWRlbnMgaW5sZWVzIHZhbiBodWxwYnJvbi4iCiAKLSM6IHBhcnNlLnk6NTIyMworIzogcGFyc2UueTo1NDg3CiBtc2dpZCAic3ludGF4IGVycm9yIgogbXNnc3RyICJzaW50YWtzZm91dCIKIAotIzogcGFyc2UueTo1Mjg1CisjOiBwYXJzZS55OjU1NDkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICJHZWJydWlrIEthYXJ0IG5hIExvcyBUcm9uayIKIAotIzogcGFyc2UueTo1NDQ3CisjOiBwYXJzZS55OjU3MTEKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgKSciCiBtc2dzdHIgIiIKIAotIzogcGNvbXBsZXRlLmM6MTAxOAorIzogcGNvbXBsZXRlLmM6MTAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0aW9uOiBmdW5jdGlvbiBgJXMnIG5vdCBmb3VuZCIKIG1zZ3N0ciAiIgpAQCAtMTM0NCw0OTUgKzEzOTQsNTM1IEBACiBtc2dpZCAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzoyODUKKyM6IHByaW50X2NtZC5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmludF9jb21tYW5kOiBiYWQgY29ubmVjdG9yIGAlZCciCiBtc2dzdHIgIiIKIAotIzogcHJpbnRfY21kLmM6MTM0OAorIzogcHJpbnRfY21kLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzozNjgKK21zZ2lkICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgorbXNnc3RyICIiCisKKyM6IHByaW50X2NtZC5jOjE0NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3ByaW50ZjogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6MTA1CisjOiByZWRpci5jOjExMAogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxNDgKKyM6IHJlZGlyLmM6MTY2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogYW1iaWd1b3VzIHJlZGlyZWN0IgogbXNnc3RyICIlczogZHViYmVsc2lubmlnZSBoZXJyb2V0ZXJpbmciCiAKLSM6IHJlZGlyLmM6MTUyCisjOiByZWRpci5jOjE3MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIG1zZ3N0ciAiSnkgaGV0IGdlc3Blc2lmaXNlZXIgJ24gYmVzdGFhbmRlIGzqZXIiCiAKLSM6IHJlZGlyLmM6MTU3CisjOiByZWRpci5jOjE3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHJlZGlyZWN0IG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjE2MgorIzogcmVkaXIuYzoxODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6NTE3CisjOiByZWRpci5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gZmQgdG8gdmFyaWFibGUiCittc2dzdHIgIkthbiBuaWUgc29layAnbiBoYW5kdGVrZW5pbmcgaW4gaGllcmRpZSBib29kc2thcCEiCisKKyM6IHJlZGlyLmM6NTQ0CiBtc2dpZCAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IG5vdCBzdXBwb3J0ZWQgd2l0aG91dCBuZXR3b3JraW5nIgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6MTAyMworIzogcmVkaXIuYzoxMTAxCiAjLCBmdXp6eQogbXNnaWQgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgogbXNnc3RyICJQeXBmb3V0LlxuIgogCi0jOiBzaGVsbC5jOjMyOAorIzogc2hlbGwuYzozMzIKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjMzMgorIzogc2hlbGwuYzozMzYKIG1zZ2lkICIvdG1wIG11c3QgYmUgYSB2YWxpZCBkaXJlY3RvcnkgbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjg3NgorIzogc2hlbGwuYzo4ODQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVjJWM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlczogaWxsZWdhbCBvcHRpb24gLS0gJWNcbiIKIAotIzogc2hlbGwuYzoxNjM4CisjOiBzaGVsbC5jOjE2NTEKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgIkVrIGhldCBuaWUgJ24gbmFhbSBuaWUhIgogCi0jOiBzaGVsbC5jOjE3NzgKKyM6IHNoZWxsLmM6MTc5MwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgogbXNnc3RyICJiZWRyeWZzdGVsc2Vsa2VybndlZXJnYXdlIgogCi0jOiBzaGVsbC5jOjE3NzkKKyM6IHNoZWxsLmM6MTc5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKICJcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIHNjcmlwdC1maWxlIC4uLlxuIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MTc4MQorIzogc2hlbGwuYzoxNzk2CiAjLCBmdXp6eQogbXNnaWQgIkdOVSBsb25nIG9wdGlvbnM6XG4iCiBtc2dzdHIgIkdudSBDIFNhYW1zdGVsbGVyIE9wc2llcyIKIAotIzogc2hlbGwuYzoxNzg1CisjOiBzaGVsbC5jOjE4MDAKICMsIGZ1enp5CiBtc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKIG1zZ3N0ciAib3BuZWVtIG9wc2llcyIKIAotIzogc2hlbGwuYzoxNzg2CisjOiBzaGVsbC5jOjE4MDEKIG1zZ2lkICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MTYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgogbXNnc3RyICIiCiAiR2VicnVpayBzbzogJXMgTMpFUiBcbiIKICIgICBvZjogICVzIE9QU0lFXG4iCiAKLSM6IHNoZWxsLmM6MTgwNworIzogc2hlbGwuYzoxODIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIFwiaGVscCBzZXRcIicgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgb3B0aW9ucy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjE4MDgKKyM6IHNoZWxsLmM6MTgyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBoZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MTgwOQorIzogc2hlbGwuYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIiIKIAotIzogc2lnLmM6NTgzCisjOiBzaWcuYzo2MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NDcKKyM6IHNpZ2xpc3QuYzo0OAogbXNnaWQgIkJvZ3VzIHNpZ25hbCIKIG1zZ3N0ciAiRm91dGlld2Ugc2VpbiIKIAotIzogc2lnbGlzdC5jOjUwCisjOiBzaWdsaXN0LmM6NTEKICMsIGZ1enp5CiBtc2dpZCAiSGFuZ3VwIgogbXNnc3RyICJPcGhhbmciCiAKLSM6IHNpZ2xpc3QuYzo1NAorIzogc2lnbGlzdC5jOjU1CiAjLCBmdXp6eQogbXNnaWQgIkludGVycnVwdCIKIG1zZ3N0ciAiSW50ZXJydXB0IgogCi0jOiBzaWdsaXN0LmM6NTgKKyM6IHNpZ2xpc3QuYzo1OQogIywgZnV6enkKIG1zZ2lkICJRdWl0IgogbXNnc3RyICJWZXJsYWF0IgogCi0jOiBzaWdsaXN0LmM6NjIKKyM6IHNpZ2xpc3QuYzo2MwogIywgZnV6enkKIG1zZ2lkICJJbGxlZ2FsIGluc3RydWN0aW9uIgogbXNnc3RyICJTaWdpbGwgKG9ud2V0dGlnZSBpbnN0cnVrc2llKSIKIAotIzogc2lnbGlzdC5jOjY2CisjOiBzaWdsaXN0LmM6NjcKIG1zZ2lkICJCUFQgdHJhY2UvdHJhcCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NzQKKyM6IHNpZ2xpc3QuYzo3NQogIywgZnV6enkKIG1zZ2lkICJBQk9SVCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiVmVyd2Vya2luZyBJbnN0cnVrc2llIgogCi0jOiBzaWdsaXN0LmM6NzgKKyM6IHNpZ2xpc3QuYzo3OQogIywgZnV6enkKIG1zZ2lkICJFTVQgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIlZlcndlcmtpbmcgSW5zdHJ1a3NpZSIKIAotIzogc2lnbGlzdC5jOjgyCisjOiBzaWdsaXN0LmM6ODMKICMsIGZ1enp5CiBtc2dpZCAiRmxvYXRpbmcgcG9pbnQgZXhjZXB0aW9uIgogbXNnc3RyICJ3aXNzZWxwdW50Z2V0YWx1aXRzb25kZXJpbmciCiAKLSM6IHNpZ2xpc3QuYzo4NgorIzogc2lnbGlzdC5jOjg3CiAjLCBmdXp6eQogbXNnaWQgIktpbGxlZCIKIG1zZ3N0ciAiRG9vZGdlbWFhayBwcm9zZXMuIgogCi0jOiBzaWdsaXN0LmM6OTAKKyM6IHNpZ2xpc3QuYzo5MQogIywgZnV6enkKIG1zZ2lkICJCdXMgZXJyb3IiCiBtc2dzdHIgIlB5cGZvdXQuXG4iCiAKLSM6IHNpZ2xpc3QuYzo5NAorIzogc2lnbGlzdC5jOjk1CiAjLCBmdXp6eQogbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKIG1zZ3N0ciAiU2lnc2VndiAoc2VnbWVudGFzaWUgb29ydHJlZGluZykiCiAKLSM6IHNpZ2xpc3QuYzo5OAorIzogc2lnbGlzdC5jOjk5CiAjLCBmdXp6eQogbXNnaWQgIkJhZCBzeXN0ZW0gY2FsbCIKIG1zZ3N0ciAiZm9yay1zdGVsc2Vscm9lcCBoZXQgZ2VmYWFsIgogCi0jOiBzaWdsaXN0LmM6MTAyCisjOiBzaWdsaXN0LmM6MTAzCiAjLCBmdXp6eQogbXNnaWQgIkJyb2tlbiBwaXBlIgogbXNnc3RyICJTaWdwaXBlIChnZWJyb2tlIHB5cCkiCiAKLSM6IHNpZ2xpc3QuYzoxMDYKKyM6IHNpZ2xpc3QuYzoxMDcKICMsIGZ1enp5CiBtc2dpZCAiQWxhcm0gY2xvY2siCiBtc2dzdHIgInfqcmVsZCBob3Jsb3NpZSIKIAotIzogc2lnbGlzdC5jOjExMAorIzogc2lnbGlzdC5jOjExMQogIywgZnV6enkKIG1zZ2lkICJUZXJtaW5hdGVkIgogbXNnc3RyICJHZWRydWs6ICVzIgogCi0jOiBzaWdsaXN0LmM6MTE0CisjOiBzaWdsaXN0LmM6MTE1CiAjLCBmdXp6eQogbXNnaWQgIlVyZ2VudCBJTyBjb25kaXRpb24iCiBtc2dzdHIgIk9vcmVlbnN0ZW0gZW5pZ2Uga29uZGlzaWUiCiAKLSM6IHNpZ2xpc3QuYzoxMTgKKyM6IHNpZ2xpc3QuYzoxMTkKICMsIGZ1enp5CiBtc2dpZCAiU3RvcHBlZCAoc2lnbmFsKSIKIG1zZ3N0ciAiU2VpbiBrd2FsaXRlaXQ6IgogCi0jOiBzaWdsaXN0LmM6MTI2CisjOiBzaWdsaXN0LmM6MTI3CiAjLCBmdXp6eQogbXNnaWQgIkNvbnRpbnVlIgogbXNnc3RyICJHYWFuIHZvb3J0IgogCi0jOiBzaWdsaXN0LmM6MTM0CisjOiBzaWdsaXN0LmM6MTM1CiBtc2dpZCAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTM4CisjOiBzaWdsaXN0LmM6MTM5CiAjLCBmdXp6eQogbXNnaWQgIlN0b3BwZWQgKHR0eSBpbnB1dCkiCiBtc2dzdHIgIlNpZ3R0aW4gKHR0eSBpbnZvZXIpIgogCi0jOiBzaWdsaXN0LmM6MTQyCisjOiBzaWdsaXN0LmM6MTQzCiAjLCBmdXp6eQogbXNnaWQgIlN0b3BwZWQgKHR0eSBvdXRwdXQpIgogbXNnc3RyICJTaWd0dG91ICh0dHkgdWl0c2V0KSIKIAotIzogc2lnbGlzdC5jOjE0NgorIzogc2lnbGlzdC5jOjE0NwogIywgZnV6enkKIG1zZ2lkICJJL08gcmVhZHkiCiBtc2dzdHIgIkdlcmVlZC4iCiAKLSM6IHNpZ2xpc3QuYzoxNTAKKyM6IHNpZ2xpc3QuYzoxNTEKICMsIGZ1enp5CiBtc2dpZCAiQ1BVIGxpbWl0IgogbXNnc3RyICJGaWx0ZXIgYmVwZXJrOiIKIAotIzogc2lnbGlzdC5jOjE1NAorIzogc2lnbGlzdC5jOjE1NQogIywgZnV6enkKIG1zZ2lkICJGaWxlIGxpbWl0IgogbXNnc3RyICJGaWx0ZXIgYmVwZXJrOiIKIAotIzogc2lnbGlzdC5jOjE1OAorIzogc2lnbGlzdC5jOjE1OQogIywgZnV6enkKIG1zZ2lkICJBbGFybSAodmlydHVhbCkiCiBtc2dzdHIgInZpcnR1ZWxlIHdlcmtza2VybXMiCiAKLSM6IHNpZ2xpc3QuYzoxNjIKKyM6IHNpZ2xpc3QuYzoxNjMKICMsIGZ1enp5CiBtc2dpZCAiQWxhcm0gKHByb2ZpbGUpIgogbXNnc3RyICJWZWUgcHJvZmllbCB1aXQuLi4iCiAKLSM6IHNpZ2xpc3QuYzoxNjYKKyM6IHNpZ2xpc3QuYzoxNjcKICMsIGZ1enp5CiBtc2dpZCAiV2luZG93IGNoYW5nZWQiCiBtc2dzdHIgIkzqZXIgSGV0IHZlcmFuZGVyIgogCi0jOiBzaWdsaXN0LmM6MTcwCisjOiBzaWdsaXN0LmM6MTcxCiAjLCBmdXp6eQogbXNnaWQgIlJlY29yZCBsb2NrIgogbXNnc3RyICJTbHVpdCBM6mVycyIKIAotIzogc2lnbGlzdC5jOjE3NAorIzogc2lnbGlzdC5jOjE3NQogIywgZnV6enkKIG1zZ2lkICJVc2VyIHNpZ25hbCAxIgogbXNnc3RyICJHZWJydWlrZXIgU2VpbiAxIgogCi0jOiBzaWdsaXN0LmM6MTc4CisjOiBzaWdsaXN0LmM6MTc5CiAjLCBmdXp6eQogbXNnaWQgIlVzZXIgc2lnbmFsIDIiCiBtc2dzdHIgIkdlYnJ1aWtlciBTZWluIDEiCiAKLSM6IHNpZ2xpc3QuYzoxODIKKyM6IHNpZ2xpc3QuYzoxODMKIG1zZ2lkICJIRlQgaW5wdXQgZGF0YSBwZW5kaW5nIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxODYKKyM6IHNpZ2xpc3QuYzoxODcKICMsIGZ1enp5CiBtc2dpZCAicG93ZXIgZmFpbHVyZSBpbW1pbmVudCIKIG1zZ3N0ciAiVmFhbGluZyBuYSBVaXRwYWsiCiAKLSM6IHNpZ2xpc3QuYzoxOTAKKyM6IHNpZ2xpc3QuYzoxOTEKICMsIGZ1enp5CiBtc2dpZCAic3lzdGVtIGNyYXNoIGltbWluZW50IgogbXNnc3RyICJEaWUgS2RlIE9tdmFsIEhhbmR0ZWVyZGVyIgogCi0jOiBzaWdsaXN0LmM6MTk0CisjOiBzaWdsaXN0LmM6MTk1CiBtc2dpZCAibWlncmF0ZSBwcm9jZXNzIHRvIGFub3RoZXIgQ1BVIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxOTgKKyM6IHNpZ2xpc3QuYzoxOTkKICMsIGZ1enp5CiBtc2dpZCAicHJvZ3JhbW1pbmcgZXJyb3IiCiBtc2dzdHIgIlB5cGZvdXQuXG4iCiAKLSM6IHNpZ2xpc3QuYzoyMDIKKyM6IHNpZ2xpc3QuYzoyMDMKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIGdyYW50ZWQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjIwNgorIzogc2lnbGlzdC5jOjIwNwogbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgcmV0cmFjdGVkIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMTAKKyM6IHNpZ2xpc3QuYzoyMTEKIG1zZ2lkICJIRlQgc291bmQgc2VxdWVuY2UgaGFzIGNvbXBsZXRlZCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjE0CisjOiBzaWdsaXN0LmM6MjE1CiBtc2dpZCAiSW5mb3JtYXRpb24gcmVxdWVzdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjIyCisjOiBzaWdsaXN0LmM6MjIzCiAjLCBmdXp6eQogbXNnaWQgIlVua25vd24gU2lnbmFsICMiCiBtc2dzdHIgIlNlaW4ga3dhbGl0ZWl0OiIKIAotIzogc2lnbGlzdC5jOjIyNAorIzogc2lnbGlzdC5jOjIyNQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyVkIgogbXNnc3RyICJTZWluIGt3YWxpdGVpdDoiCiAKLSM6IHN1YnN0LmM6MTE4MSBzdWJzdC5jOjEzMDIKKyM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE0NTQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKIG1zZ3N0ciAiLS1HZWVuIHJl62xzIGluIGJ1ZmZlci0tIgogCi0jOiBzdWJzdC5jOjI0NTgKKyM6IHN1YnN0LmM6MjczNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ0NTYgc3Vic3QuYzo0NDcyCisjOiBzdWJzdC5jOjQ3NTQgc3Vic3QuYzo0NzcwCiAjLCBmdXp6eQogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJXb29yZCBTdWJzdGl0dXNpZSIKIAotIzogc3Vic3QuYzo0NTA0CisjOiBzdWJzdC5jOjQ4MDIKICMsIGZ1enp5CiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJXb29yZCBTdWJzdGl0dXNpZSIKIAotIzogc3Vic3QuYzo0NTQ5CisjOiBzdWJzdC5jOjQ4NDcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHJlYWRpbmciCiBtc2dzdHIgIkthbiBuaWUgb29wbWFhayB2aXIgc2tyaXAtYWZ2b2VyIG5pZTogXCIiCiAKLSM6IHN1YnN0LmM6NDU1MQorIzogc3Vic3QuYzo0ODQ5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciB3cml0aW5nIgogbXNnc3RyICJLYW4gbmllIG9vcG1hYWsgdmlyIHNrcmlwLWFmdm9lciBuaWU6IFwiIgogCi0jOiBzdWJzdC5jOjQ1NjkKKyM6IHN1YnN0LmM6NDg2NwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBuYW1lZCBwaXBlICVzIGFzIGZkICVkIgogbXNnc3RyICJLYW4gbmllIG9vcG1hYWsgdmlyIHNrcmlwLWFmdm9lciBuaWU6IFwiIgogCi0jOiBzdWJzdC5jOjQ3NjUKKyM6IHN1YnN0LmM6NTA2MwogIywgZnV6enkKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiV29vcmQgU3Vic3RpdHVzaWUiCiAKLSM6IHN1YnN0LmM6NDc5OQorIzogc3Vic3QuYzo1MDk3CiAjLCBmdXp6eQogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiV29vcmQgU3Vic3RpdHVzaWUiCiAKLSM6IHN1YnN0LmM6NDgxNgorIzogc3Vic3QuYzo1MTE0CiBtc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjUzMTgKKyM6IHN1YnN0LmM6NTYxNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGFyYW1ldGVyIG51bGwgb3Igbm90IHNldCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjU2MDgKKyM6IHN1YnN0LmM6NTkwNwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKIG1zZ3N0ciAib25nZWxkaWdlIHVpdGRydWtraW5nIgogCi0jOiBzdWJzdC5jOjY2NjAKKyM6IHN1YnN0LmM6Njk2NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIldvb3JkIFN1YnN0aXR1c2llIgogCi0jOiBzdWJzdC5jOjY3NDAKKyM6IHN1YnN0LmM6NzA0NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICJLYW4gbmllIHNvZWsgJ24gaGFuZHRla2VuaW5nIGluIGhpZXJkaWUgYm9vZHNrYXAhIgogCi0jOiBzdWJzdC5jOjc0OTkKKyM6IHN1YnN0LmM6NzM3NAorbXNnaWQgIiIKKyJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKKyJzdWJzdGl0dXRpb24iCittc2dzdHIgIiIKKworIzogc3Vic3QuYzo3ODM5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgogbXNnc3RyICItLUdlZW4gcmXrbHMgaW4gYnVmZmVyLS0iCiAKLSM6IHN1YnN0LmM6ODM3NQorIzogc3Vic3QuYzo4NzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiB0ZXN0LmM6MTQ1CisjOiB0ZXN0LmM6MTQ2CiAjLCBmdXp6eQogbXNnaWQgImFyZ3VtZW50IGV4cGVjdGVkIgogbXNnc3RyICJhcmd1bWVudCB2ZXJ3YWdcbiIKIAotIzogdGVzdC5jOjE1NAorIzogdGVzdC5jOjE1NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludGVnZXIgZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IGhlZWxnZXRhbC11aXRkcnVra2luZyBpcyB2ZXJ3YWdcbiIKIAotIzogdGVzdC5jOjI2MgorIzogdGVzdC5jOjI2MwogIywgZnV6enkKIG1zZ2lkICJgKScgZXhwZWN0ZWQiCiBtc2dzdHIgIicpJyBpcyB2ZXJ3YWdcbiIKIAotIzogdGVzdC5jOjI2NAorIzogdGVzdC5jOjI2NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiYCknIGV4cGVjdGVkLCBmb3VuZCAlcyIKIG1zZ3N0ciAiJyknIGlzIHZlcndhZywgbWFhciAlcyBnZXZpbmRcbiIKIAotIzogdGVzdC5jOjI3OSB0ZXN0LmM6Njg4IHRlc3QuYzo2OTEKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5MyB0ZXN0LmM6Njk2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiB1bml06nJlIG9wZXJhdG9yIGlzIHZlcndhZ1xuIgogCi0jOiB0ZXN0LmM6NDQ0IHRlc3QuYzo3MzEKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjczNgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IGJpbupyZSBvcGVyYXRvciBpcyB2ZXJ3YWdcbiIKIAotIzogdGVzdC5jOjgwNgorIzogdGVzdC5jOjgxMQogIywgZnV6enkKIG1zZ2lkICJtaXNzaW5nIGBdJyIKIG1zZ3N0ciAiT250YnJla2VuZGUgJz4nIgogCi0jOiB0cmFwLmM6MjAxCisjOiB0cmFwLmM6MjAzCiAjLCBmdXp6eQogbXNnaWQgImludmFsaWQgc2lnbmFsIG51bWJlciIKIG1zZ3N0ciAiRGllIHNlaW4gbm9tbWVyIHdhdCB3YXMgZ2V2YW5nIGhldCIKIAotIzogdHJhcC5jOjMyNAorIzogdHJhcC5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogbXNnc3RyICIiCiAKLSM6IHRyYXAuYzozMjgKKyM6IHRyYXAuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCiBtc2dzdHIgIiIKIAotIzogdHJhcC5jOjM3MgorIzogdHJhcC5jOjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFwX2hhbmRsZXI6IGJhZCBzaWduYWwgJWQiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzU4CisjOiB2YXJpYWJsZXMuYzozNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIGAlcyciCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6NzM2CisjOiB2YXJpYWJsZXMuYzo3NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MTg5OAorIzogdmFyaWFibGVzLmM6MTkxNQogbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMTI3CisjOiB2YXJpYWJsZXMuYzozMTU5CiBtc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNDQgdmFyaWFibGVzLmM6MzM1MworIzogdmFyaWFibGVzLmM6MzM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCittc2dzdHIgIiIKKworIzogdmFyaWFibGVzLmM6MzM4MSB2YXJpYWJsZXMuYzozMzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY2hhcmFjdGVyICVkIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzM1OQorIzogdmFyaWFibGVzLmM6MzM5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBgPScgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozNzk0CisjOiB2YXJpYWJsZXMuYzozODM1CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSBmdW5jdGlvbiBjb250ZXh0IgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM4MDcKKyM6IHZhcmlhYmxlcy5jOjM4NDgKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IG5vIGdsb2JhbF92YXJpYWJsZXMgY29udGV4dCIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozODgxCisjOiB2YXJpYWJsZXMuYzozOTIyCiBtc2dpZCAicG9wX3Njb3BlOiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgc2NvcGUiCiBtc2dzdHIgIiIKIAorIzogdmFyaWFibGVzLmM6NDY3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIgorbXNnc3RyICIlczoga2FuIG5pZSAlcyBza2VwIG5pZSIKKworIzogdmFyaWFibGVzLmM6NDY4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGludmFsaWQgdmFsdWUgZm9yIHRyYWNlIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiIgorCiAjOiB2ZXJzaW9uLmM6NDYKIG1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgogbXNnc3RyICIiCkBAIC0xODQzLDYwICsxOTMzLDUyIEBACiAiaHRtbD5cbiIKIG1zZ3N0ciAiIgogCi0jOiB2ZXJzaW9uLmM6ODYKKyM6IHZlcnNpb24uYzo4NiB2ZXJzaW9uMi5jOjgzCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcyAoJXMpXG4iCiBtc2dzdHIgImJlZHJ5ZnN0ZWxzZWxrZXJud2Vlcmdhd2UiCiAKLSM6IHZlcnNpb24uYzo5MQorIzogdmVyc2lvbi5jOjkxIHZlcnNpb24yLmM6ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgYXJlIGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuXG4iCiBtc2dzdHIgIiIKIAotIzogdmVyc2lvbi5jOjkyCisjOiB2ZXJzaW9uLmM6OTIgdmVyc2lvbjIuYzo4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGVyZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3LlxuIgogbXNnc3RyICIiCiAKLSM6IHhtYWxsb2MuYzo5MgorIzogdmVyc2lvbjIuYzo4NgogIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCiBtc2dzdHIgIiIKIAotIzogeG1hbGxvYy5jOjk0CisjOiB2ZXJzaW9uMi5jOjg3CiAjLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCittc2dpZCAiIgorIkxpY2Vuc2UgR1BMdjIrOiBHTlUgR1BMIHZlcnNpb24gMiBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKKyJodG1sPlxuIgogbXNnc3RyICIiCiAKLSM6IHhtYWxsb2MuYzoxMTQKKyM6IHhtYWxsb2MuYzo5MQogIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKK21zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiBtc2dzdHIgIiIKIAotIzogeG1hbGxvYy5jOjExNgorIzogeG1hbGxvYy5jOjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKK21zZ3N0ciAiJXM6IGthbiBuaWUgJXMgc2tlcCBuaWUiCisKKyM6IHhtYWxsb2MuYzoxNjMKICMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCittc2dpZCAiJXM6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKIG1zZ3N0ciAiIgogCi0jOiB4bWFsbG9jLmM6MTUwCi0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAiIgotCi0jOiB4bWFsbG9jLmM6MTUyCi0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICIiCi0KLSM6IHhtYWxsb2MuYzoxNzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICIiCi0KLSM6IHhtYWxsb2MuYzoxNzYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICIiCisjOiB4bWFsbG9jLmM6MTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCittc2dzdHIgIiVzOiBrYW4gbmllICVzIHNrZXAgbmllIgogCiAjOiBidWlsdGlucy5jOjQzCiAjLCBmdXp6eQpAQCAtMjAzNSw3ICsyMTE3LDcgQEAKIAogIzogYnVpbHRpbnMuYzoxMTcKICMsIGZ1enp5Ci1tc2dpZCAiaGVscCBbLWRzXSBbcGF0dGVybiAuLi5dIgorbXNnaWQgImhlbHAgWy1kbXNdIFtwYXR0ZXJuIC4uLl0iCiBtc2dzdHIgImVuaWdlIHBhdHJvb24iCiAKICM6IGJ1aWx0aW5zLmM6MTIxCkBAIC0yMDY1LDggKzIxNDcsOCBAQAogCiAjOiBidWlsdGlucy5jOjEzNgogbXNnaWQgIiIKLSJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstcCBwcm9tcHRdIFstdCAiCi0idGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgorInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKKyJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxMzgKQEAgLTIyNTAsOSArMjMzMiw5IEBACiAKICM6IGJ1aWx0aW5zLmM6MjI5CiBtc2dpZCAiIgotImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy1XICIKLSJ3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyBzdWZmaXhdICIKLSJbbmFtZSAuLi5dIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy0iCisiVyB3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyAiCisic3VmZml4XSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MjMzCkBAIC0yMjYzLDcgKzIzNDUsNyBAQAogCiAjOiBidWlsdGlucy5jOjIzNwogIywgZnV6enkKLW1zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFtuYW1lIC4uLl0iCittc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbLURFXSBbbmFtZSAuLi5dIgogbXNnc3RyICJUaXBlIGRpZSBuYWFtIHZhbiBkaWUgJTEgc3BlbGVyLiIKIAogIzogYnVpbHRpbnMuYzoyNDAKQEAgLTI5ODMsNyArMzA2NSwxMSBAQAogIiAgICAgIC1lXHRcdHVzZSBSZWFkbGluZSB0byBvYnRhaW4gdGhlIGxpbmUgaW4gYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKICIgICAgICAtaSB0ZXh0XHRVc2UgVEVYVCBhcyB0aGUgaW5pdGlhbCB0ZXh0IGZvciBSZWFkbGluZVxuIgogIiAgICAgIC1uIG5jaGFyc1x0cmV0dXJuIGFmdGVyIHJlYWRpbmcgTkNIQVJTIGNoYXJhY3RlcnMgcmF0aGVyIHRoYW4gd2FpdGluZ1xuIgotIiAgICBcdFx0Zm9yIGEgbmV3bGluZVxuIgorIiAgICBcdFx0Zm9yIGEgbmV3bGluZSwgYnV0IGhvbm9yIGEgZGVsaW1pdGVyIGlmIGZld2VyIHRoYW4gTkNIQVJTXG4iCisiICAgIFx0XHRjaGFyYWN0ZXJzIGFyZSByZWFkIGJlZm9yZSB0aGUgZGVsaW1pdGVyXG4iCisiICAgICAgLU4gbmNoYXJzXHRyZXR1cm4gb25seSBhZnRlciByZWFkaW5nIGV4YWN0bHkgTkNIQVJTIGNoYXJhY3RlcnMsICIKKyJ1bmxlc3NcbiIKKyIgICAgXHRcdEVPRiBpcyBlbmNvdW50ZXJlZCBvciByZWFkIHRpbWVzIG91dCwgaWdub3JpbmcgYW55IGRlbGltaXRlclxuIgogIiAgICAgIC1wIHByb21wdFx0b3V0cHV0IHRoZSBzdHJpbmcgUFJPTVBUIHdpdGhvdXQgYSB0cmFpbGluZyBuZXdsaW5lIGJlZm9yZVxuIgogIiAgICBcdFx0YXR0ZW1wdGluZyB0byByZWFkXG4iCiAiICAgICAgLXJcdFx0ZG8gbm90IGFsbG93IGJhY2tzbGFzaGVzIHRvIGVzY2FwZSBhbnkgY2hhcmFjdGVyc1xuIgpAQCAtMzAwMyw3ICszMDg5LDcgQEAKICIgICAgb3IgYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IgaXMgc3VwcGxpZWQgYXMgdGhlIGFyZ3VtZW50IHRvIC11LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEwMDYKKyM6IGJ1aWx0aW5zLmM6MTAwOQogbXNnaWQgIiIKICJSZXR1cm4gZnJvbSBhIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTMwMTUsNyArMzEwMSw3IEBACiAiICAgIFJldHVybnMgTiwgb3IgZmFpbHVyZSBpZiB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uIG9yIHNjcmlwdC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMDE5CisjOiBidWlsdGlucy5jOjEwMjIKIG1zZ2lkICIiCiAiU2V0IG9yIHVuc2V0IHZhbHVlcyBvZiBzaGVsbCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzA5Nyw3ICszMTgzLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTAxCisjOiBidWlsdGlucy5jOjExMDQKIG1zZ2lkICIiCiAiVW5zZXQgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzIG9mIHNoZWxsIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuIgogIiAgICBcbiIKQEAgLTMxMTcsNyArMzIwMyw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSBOQU1FIGlzIHJlYWQtb25seS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTIxCisjOiBidWlsdGlucy5jOjExMjQKIG1zZ2lkICIiCiAiU2V0IGV4cG9ydCBhdHRyaWJ1dGUgZm9yIHNoZWxsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0zMTM2LDcgKzMyMjIsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTQwCisjOiBidWlsdGlucy5jOjExNDMKIG1zZ2lkICIiCiAiTWFyayBzaGVsbCB2YXJpYWJsZXMgYXMgdW5jaGFuZ2VhYmxlLlxuIgogIiAgICBcbiIKQEAgLTMxNTYsNyArMzI0Miw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNjEKKyM6IGJ1aWx0aW5zLmM6MTE2NAogbXNnaWQgIiIKICJTaGlmdCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzE2Nyw3ICszMjUzLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOIGlzIG5lZ2F0aXZlIG9yIGdyZWF0ZXIgdGhhbiAkIy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTczIGJ1aWx0aW5zLmM6MTE4OAorIzogYnVpbHRpbnMuYzoxMTc2IGJ1aWx0aW5zLmM6MTE5MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZyb20gYSBmaWxlIGluIHRoZSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTMxODEsNyArMzI2Nyw3IEBACiAiICAgIEZJTEVOQU1FIGNhbm5vdCBiZSByZWFkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEyMDQKKyM6IGJ1aWx0aW5zLmM6MTIwNwogbXNnaWQgIiIKICJTdXNwZW5kIHNoZWxsIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC0zMTk1LDcgKzMyODEsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjIwCisjOiBidWlsdGlucy5jOjEyMjMKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC0zMjcyLDcgKzMzNTgsNyBAQAogIiAgICBmYWxzZSBvciBhbiBpbnZhbGlkIGFyZ3VtZW50IGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEyOTYKKyM6IGJ1aWx0aW5zLmM6MTI5OQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTMyODAsNyArMzM2Niw3IEBACiAiICAgIGJlIGEgbGl0ZXJhbCBgXScsIHRvIG1hdGNoIHRoZSBvcGVuaW5nIGBbJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzA1CisjOiBidWlsdGlucy5jOjEzMDgKIG1zZ2lkICIiCiAiRGlzcGxheSBwcm9jZXNzIHRpbWVzLlxuIgogIiAgICBcbiIKQEAgLTMyOTIsNyArMzM3OCw3IEBACiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzE3CisjOiBidWlsdGlucy5jOjEzMjAKIG1zZ2lkICIiCiAiVHJhcCBzaWduYWxzIGFuZCBvdGhlciBldmVudHMuXG4iCiAiICAgIFxuIgpAQCAtMzMyOCw3ICszNDE0LDcgQEAKICJnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzQ5CisjOiBidWlsdGlucy5jOjEzNTIKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kIHR5cGUuXG4iCiAiICAgIFxuIgpAQCAtMzM1OCw3ICszNDQ0LDcgQEAKICJmb3VuZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzgwCisjOiBidWlsdGlucy5jOjEzODMKIG1zZ2lkICIiCiAiTW9kaWZ5IHNoZWxsIHJlc291cmNlIGxpbWl0cy5cbiIKICIgICAgXG4iCkBAIC0zNDAyLDcgKzM0ODgsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDI1CisjOiBidWlsdGlucy5jOjE0MjgKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCiAiICAgIFxuIgpAQCAtMzQyMCw3ICszNTA2LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBNT0RFIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ0NQorIzogYnVpbHRpbnMuYzoxNDQ4CiBtc2dpZCAiIgogIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtMzQzNyw3ICszNTIzLDcgQEAKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ2MworIzogYnVpbHRpbnMuYzoxNDY2CiBtc2dpZCAiIgogIldhaXQgZm9yIHByb2Nlc3MgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTM0NTEsNyArMzUzNyw3IEBACiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NzgKKyM6IGJ1aWx0aW5zLmM6MTQ4MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhIGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMzQ2NCw3ICszNTUwLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5MgorIzogYnVpbHRpbnMuYzoxNDk1CiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCiAiICAgIFxuIgpAQCAtMzQ4MSw3ICszNTY3LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTUxMAorIzogYnVpbHRpbnMuYzoxNTEzCiBtc2dpZCAiIgogIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0zNTAxLDcgKzM1ODcsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTMxCisjOiBidWlsdGlucy5jOjE1MzQKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzUxNyw3ICszNjAzLDcgQEAKICIgICAgVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlIHJldHVybiBzdGF0dXMgb2YgUElQRUxJTkUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU0OAorIzogYnVpbHRpbnMuYzoxNTUxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gcGF0dGVybiBtYXRjaGluZy5cbiIKICIgICAgXG4iCkBAIC0zNTI4LDcgKzM2MTQsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTYwCisjOiBidWlsdGlucy5jOjE1NjMKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBjb25kaXRpb25hbC5cbiIKICIgICAgXG4iCkBAIC0zNTQ5LDcgKzM2MzUsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTc3CisjOiBidWlsdGlucy5jOjE1ODAKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKICIgICAgXG4iCkBAIC0zNTYwLDcgKzM2NDYsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTg5CisjOiBidWlsdGlucy5jOjE1OTIKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLlxuIgogIiAgICBcbiIKQEAgLTM1NzEsNyArMzY1Nyw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MDEKKyM6IGJ1aWx0aW5zLmM6MTYwNAogbXNnaWQgIiIKICJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKICIgICAgXG4iCkBAIC0zNTg0LDcgKzM2NzAsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MTUKKyM6IGJ1aWx0aW5zLmM6MTYxOAogbXNnaWQgIiIKICJEZWZpbmUgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzU5OCw3ICszNjg0LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIHJlYWRvbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MjkKKyM6IGJ1aWx0aW5zLmM6MTYzMgogbXNnaWQgIiIKICJHcm91cCBjb21tYW5kcyBhcyBhIHVuaXQuXG4iCiAiICAgIFxuIgpAQCAtMzYwOSw3ICszNjk1LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY0MQorIzogYnVpbHRpbnMuYzoxNjQ0CiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0zNjIzLDcgKzM3MDksNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIHJlc3VtZWQgam9iLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NTYKKyM6IGJ1aWx0aW5zLmM6MTY1OQogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtMzYzNCw3ICszNzIwLDcgQEAKICIgICAgUmV0dXJucyAxIGlmIEVYUFJFU1NJT04gZXZhbHVhdGVzIHRvIDA7IHJldHVybnMgMCBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY2OAorIzogYnVpbHRpbnMuYzoxNjcxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29uZGl0aW9uYWwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0zNjYyLDcgKzM3NDgsNyBAQAogIiAgICAwIG9yIDEgZGVwZW5kaW5nIG9uIHZhbHVlIG9mIEVYUFJFU1NJT04uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY5NAorIzogYnVpbHRpbnMuYzoxNjk3CiBtc2dpZCAiIgogIkNvbW1vbiBzaGVsbCB2YXJpYWJsZSBuYW1lcyBhbmQgdXNhZ2UuXG4iCiAiICAgIFxuIgpAQCAtMzcxNiw3ICszODAyLDcgQEAKICIgICAgXHRcdGNvbW1hbmRzIHNob3VsZCBiZSBzYXZlZCBvbiB0aGUgaGlzdG9yeSBsaXN0LlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTc1MQorIzogYnVpbHRpbnMuYzoxNzU0CiBtc2dpZCAiIgogIkFkZCBkaXJlY3RvcmllcyB0byBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zNzQ3LDcgKzM4MzMsNyBAQAogIiAgICBjaGFuZ2UgZmFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTc4NQorIzogYnVpbHRpbnMuYzoxNzg4CiBtc2dpZCAiIgogIlJlbW92ZSBkaXJlY3RvcmllcyBmcm9tIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM3NzQsNyArMzg2MCw3IEBACiAiICAgIGNoYW5nZSBmYWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODE1CisjOiBidWlsdGlucy5jOjE4MTgKIG1zZ2lkICIiCiAiRGlzcGxheSBkaXJlY3Rvcnkgc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzgwMyw3ICszODg5LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg0NAorIzogYnVpbHRpbnMuYzoxODQ3CiBtc2dpZCAiIgogIlNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zODI0LDcgKzM5MTAsNyBAQAogIiAgICBnaXZlbiBvciBPUFROQU1FIGlzIGRpc2FibGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4NjUKKyM6IGJ1aWx0aW5zLmM6MTg2OAogbXNnaWQgIiIKICJGb3JtYXRzIGFuZCBwcmludHMgQVJHVU1FTlRTIHVuZGVyIGNvbnRyb2wgb2YgdGhlIEZPUk1BVC5cbiIKICIgICAgXG4iCkBAIC0zODU0LDcgKzM5NDAsNyBAQAogIiAgICBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg5MgorIzogYnVpbHRpbnMuYzoxODk1CiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTM4NjgsMTUgKzM5NTQsMjAgQEAKICIgICAgICAtcFx0cHJpbnQgZXhpc3RpbmcgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9ucyBpbiBhIHJldXNhYmxlIGZvcm1hdFxuIgogIiAgICAgIC1yXHRyZW1vdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZm9yIGVhY2ggTkFNRSwgb3IsIGlmIG5vXG4iCiAiICAgIFx0TkFNRXMgYXJlIHN1cHBsaWVkLCBhbGwgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uc1xuIgorIiAgICAgIC1EXHRhcHBseSB0aGUgY29tcGxldGlvbnMgYW5kIGFjdGlvbnMgYXMgdGhlIGRlZmF1bHQgZm9yIGNvbW1hbmRzXG4iCisiICAgIFx0d2l0aG91dCBhbnkgc3BlY2lmaWMgY29tcGxldGlvbiBkZWZpbmVkXG4iCisiICAgICAgLUVcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyB0byBcImVtcHR5XCIgY29tbWFuZHMgLS1cbiIKKyIgICAgXHRjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhIGJsYW5rIGxpbmVcbiIKICIgICAgXG4iCiAiICAgIFdoZW4gY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQsIHRoZSBhY3Rpb25zIGFyZSBhcHBsaWVkIGluIHRoZSBvcmRlciB0aGVcbiIKLSIgICAgdXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuXG4iCisiICAgIHVwcGVyY2FzZS1sZXR0ZXIgb3B0aW9ucyBhcmUgbGlzdGVkIGFib3ZlLiAgVGhlIC1EIG9wdGlvbiB0YWtlc1xuIgorIiAgICBwcmVjZWRlbmNlIG92ZXIgLUUuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTkxNQorIzogYnVpbHRpbnMuYzoxOTIzCiBtc2dpZCAiIgogIkRpc3BsYXkgcG9zc2libGUgY29tcGxldGlvbnMgZGVwZW5kaW5nIG9uIHRoZSBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTM4ODksNyArMzk4MCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5MzAKKyM6IGJ1aWx0aW5zLmM6MTkzOAogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzkwMiw2ICszOTkzLDggQEAKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgIFx0LW8gb3B0aW9uXHRTZXQgY29tcGxldGlvbiBvcHRpb24gT1BUSU9OIGZvciBlYWNoIE5BTUVcbiIKKyIgICAgXHQtRFx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZGVmYXVsdFwiIGNvbW1hbmQgY29tcGxldGlvblxuIgorIiAgICBcdC1FXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJlbXB0eVwiIGNvbW1hbmQgY29tcGxldGlvblxuIgogIiAgICBcbiIKICIgICAgVXNpbmcgYCtvJyBpbnN0ZWFkIG9mIGAtbycgdHVybnMgb2ZmIHRoZSBzcGVjaWZpZWQgb3B0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM5MTgsMTUgKzQwMTEsMTUgQEAKICIgICAgaGF2ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBkZWZpbmVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5NTgKKyM6IGJ1aWx0aW5zLmM6MTk2OAogbXNnaWQgIiIKLSJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCisiUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgotIiAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGFycmF5IHZhcmlhYmxlIEFSUkFZLCBvciAiCi0iZnJvbVxuIgotIiAgICBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSBNQVBGSUxFICIKLSJpc1xuIgotIiAgICB0aGUgZGVmYXVsdCBBUlJBWS5cbiIKKyIgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBpbmRleGVkIGFycmF5IHZhcmlhYmxlICIKKyJBUlJBWSwgb3JcbiIKKyIgICAgZnJvbSBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSAiCisiTUFQRklMRVxuIgorIiAgICBpcyB0aGUgZGVmYXVsdCBBUlJBWS5cbiIKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgICAgLW4gY291bnRcdENvcHkgYXQgbW9zdCBDT1VOVCBsaW5lcy4gIElmIENPVU5UIGlzIDAsIGFsbCBsaW5lcyBhcmUgIgpAQCAtMzk1MywxMCArNDA0NiwxMiBAQAogIiAgICBhc3NpZ25pbmcgdG8gaXQuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBBUlJBWSBpcyByZWFkb25seS4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkgIgorIm9yXG4iCisiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5OTAKKyM6IGJ1aWx0aW5zLmM6MjAwMQogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gYSBmaWxlIGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgpkaWZmIC0tZ2l0IGEvcG8vYmFzaC5wb3QgYi9wby9iYXNoLnBvdAppbmRleCAzZjc4ZTA1Li42OGQzM2Y4IDEwMDY0NAotLS0gYS9wby9iYXNoLnBvdAorKysgYi9wby9iYXNoLnBvdApAQCAtOCw3ICs4LDcgQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogUEFDS0FHRSBWRVJTSU9OXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTAyLTE5IDE0OjUzLTA1MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogWUVBUi1NTy1EQSBITzpNSStaT05FXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBGVUxMIE5BTUUgPEVNQUlMQEFERFJFU1M+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogTEFOR1VBR0UgPExMQGxpLm9yZz5cbiIKQEAgLTIxLDUwICsyMSw1NSBAQAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgIiIKIAotIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAorIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiIgogCi0jOiBhcnJheWZ1bmMuYzo0NzkKKyM6IGFycmF5ZnVuYy5jOjQ4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhc3NvY2lhdGl2ZSBhcnJheSBrZXkiCiBtc2dzdHIgIiIKIAotIzogYXJyYXlmdW5jLmM6NDgxCisjOiBhcnJheWZ1bmMuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gdG8gbm9uLW51bWVyaWMgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYXJyYXlmdW5jLmM6NTE3CisjOiBhcnJheWZ1bmMuYzo1MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBtdXN0IHVzZSBzdWJzY3JpcHQgd2hlbiBhc3NpZ25pbmcgYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKIAotIzogYmFzaGhpc3QuYzozNzkKKyM6IGJhc2hoaXN0LmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY3JlYXRlOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBiYXNobGluZS5jOjM0MTMKKyM6IGJhc2hsaW5lLmM6MzQ1NwogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBiYXNobGluZS5jOjM0OTEKKyM6IGJhc2hsaW5lLmM6MzU0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgogbXNnc3RyICIiCiAKLSM6IGJhc2hsaW5lLmM6MzUyMAorIzogYmFzaGxpbmUuYzozNTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBiYXNobGluZS5jOjM1NTQKKyM6IGJhc2hsaW5lLmM6MzYwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCiBtc2dzdHIgIiIKIAorIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJgJXMnOiBpbnZhbGlkIGFsaWFzIG5hbWUiCittc2dzdHIgIiIKKwogIzogYnVpbHRpbnMvYmluZC5kZWY6MTIwIGJ1aWx0aW5zL2JpbmQuZGVmOjEyMwogbXNnaWQgImxpbmUgZWRpdGluZyBub3QgZW5hYmxlZCIKIG1zZ3N0ciAiIgpAQCAtMTE0LDYgKzExOSwyMSBAQAogIiAgICBXaXRob3V0IEVYUFIsIHJldHVybnMgIgogbXNnc3RyICIiCiAKKyM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM1Cittc2dpZCAiIgorIi4gIFdpdGggRVhQUiwgcmV0dXJuc1xuIgorIiAgICAiCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzYKK21zZ2lkICIiCisiOyB0aGlzIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIHRvXG4iCisiICAgIHByb3ZpZGUgYSBzdGFjayB0cmFjZS5cbiIKKyIgICAgXG4iCisiICAgIFRoZSB2YWx1ZSBvZiBFWFBSIGluZGljYXRlcyBob3cgbWFueSBjYWxsIGZyYW1lcyB0byBnbyBiYWNrIGJlZm9yZSB0aGVcbiIKKyIgICAgY3VycmVudCBvbmU7IHRoZSB0b3AgZnJhbWUgaXMgZnJhbWUgMC4iCittc2dzdHIgIiIKKwogIzogYnVpbHRpbnMvY2QuZGVmOjIxNQogbXNnaWQgIkhPTUUgbm90IHNldCIKIG1zZ3N0ciAiIgpAQCAtMTI3LDcgKzE0Nyw3IEBACiBtc2dpZCAibGluZSAlZDogIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEzOSBlcnJvci5jOjI2MAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTM5IGVycm9yLmM6MjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICIKIG1zZ3N0ciAiIgpAQCAtMTM3LDExICsxNTcsMTEgQEAKIG1zZ2lkICIlczogdXNhZ2U6ICIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyMgorIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDkzIHNoZWxsLmM6Nzc0CisjOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTkgc2hlbGwuYzo3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIKIG1zZ3N0ciAiIgpAQCAtMTU2LDcgKzE3Niw3IEBACiBtc2dpZCAiJXM6IG5vdCBmb3VuZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3ODcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiIKQEAgLTE3OSw3ICsxOTksNyBAQAogbXNnaWQgImludmFsaWQgaGV4IG51bWJlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTUKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NgogbXNnaWQgImludmFsaWQgbnVtYmVyIgogbXNnc3RyICIiCiAKQEAgLTE5Myw3ICsyMTMsNyBAQAogbXNnaWQgImAlcyc6IG5vdCBhIHBpZCBvciB2YWxpZCBqb2Igc3BlYyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTMKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI2NCBlcnJvci5jOjQ1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgdmFyaWFibGUiCiBtc2dzdHIgIiIKQEAgLTI2NSwyNiArMjg1LDI2IEBACiBtc2dpZCAiJXM6IGFtYmlndW91cyBqb2Igc3BlYyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6MjcwCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Mjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFjdGlvbiBuYW1lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo0MzAgYnVpbHRpbnMvY29tcGxldGUuZGVmOjYxNQotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjgxMworIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjQ0OSBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjQ0CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBubyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY2NworIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY5NgogbXNnaWQgIndhcm5pbmc6IC1GIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjY5CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk4CiBtc2dpZCAid2FybmluZzogLUMgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo3ODYKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MjYKIG1zZ2lkICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgogbXNnc3RyICIiCiAKQEAgLTI5MiwyMSArMzEyLDIxIEBACiBtc2dpZCAiY2FuIG9ubHkgYmUgdXNlZCBpbiBhIGZ1bmN0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM1MworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzYwCiBtc2dpZCAiY2Fubm90IHVzZSBgLWYnIHRvIG1ha2UgZnVuY3Rpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NSBleGVjdXRlX2NtZC5jOjQ4MTgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3MiBleGVjdXRlX2NtZC5jOjQ5MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IGZ1bmN0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2MQorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDY4CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGFzc29jaWF0aXZlIHRvIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIiIKQEAgLTMzNSw4ICszNTUsOCBAQAogbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Njc1Ci0jOiBzaGVsbC5jOjE0MzkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM0IGJ1aWx0aW5zL2hhc2guZGVmOjE2OSBleGVjdXRlX2NtZC5jOjQ3OTQKKyM6IHNoZWxsLmM6MTQ1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaXMgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKQEAgLTM1MSw3ICszNzEsOCBAQAogbXNnaWQgIiVzOiBmaWxlIGlzIHRvbyBsYXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBleGVjdXRlX2NtZC5jOjQ3NDUgc2hlbGwuYzoxNDQ5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBidWlsdGlucy9ldmFsZmlsZS5jOjIwMyBleGVjdXRlX2NtZC5jOjQ4NjQKKyM6IHNoZWxsLmM6MTQ2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGUgYmluYXJ5IGZpbGUiCiBtc2dzdHIgIiIKQEAgLTM4MCwxNSArNDAxLDE1IEBACiBtc2dpZCAiVGhlcmUgYXJlIHJ1bm5pbmcgam9icy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MjYxCisjOiBidWlsdGlucy9mYy5kZWY6MjYyCiBtc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzQxCisjOiBidWlsdGlucy9mYy5kZWY6MzQ5CiBtc2dpZCAiaGlzdG9yeSBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNjIKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCiBtc2dzdHIgIiIKQEAgLTQ3OCwxMiArNDk5LDEyIEBACiBtc2dpZCAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoxOTcKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MAorIzogYnVpbHRpbnMva2lsbC5kZWY6MjYzCiBtc2dpZCAiVW5rbm93biBlcnJvciIKIG1zZ3N0ciAiIgogCkBAIC00OTEsNTUgKzUxMiw2MCBAQAogbXNnaWQgImV4cHJlc3Npb24gZXhwZWN0ZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQxIGJ1aWx0aW5zL3JlYWQuZGVmOjI3MgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTY1CiAjLCBjLWZvcm1hdAotbXNnaWQgIiVzOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBzcGVjaWZpY2F0aW9uIgorbXNnaWQgIiVzOiBub3QgYW4gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CiAjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBzcGVjaWZpY2F0aW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NyBidWlsdGlucy9yZWFkLmRlZjoyODYKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTggYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjYgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXJyYXkgb3JpZ2luIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGNhbGxiYWNrIHF1YW50dW0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzE4CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKIG1zZ2lkICJlbXB0eSBhcnJheSB2YXJpYWJsZSBuYW1lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzOQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CiBtc2dpZCAiYXJyYXkgdmFyaWFibGUgc3VwcG9ydCByZXF1aXJlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjM2NworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTQ0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzEKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjc1MAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTcKIG1zZ2lkICJtaXNzaW5nIGhleCBkaWdpdCBmb3IgXFx4IgogbXNnc3RyICIiCiAKQEAgLTYyOSwxMiArNjU1LDEyIEBACiAiICAgIFRoZSBgZGlycycgYnVpbHRpbiBkaXNwbGF5cyB0aGUgZGlyZWN0b3J5IHN0YWNrLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9yZWFkLmRlZjoyNDgKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCB0aW1lb3V0IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcmVhZC5kZWY6NTc0CisjOiBidWlsdGlucy9yZWFkLmRlZjo1ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZCBlcnJvcjogJWQ6ICVzIgogbXNnc3RyICIiCkBAIC02NzEsMTEgKzY5NywxMSBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNTQKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMTkKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgc2hlbGwgb3B0aW9uIG5hbWUiCiBtc2dzdHIgIiIKQEAgLTc2NSw3NiArNzkxLDc2IEBACiBtc2dpZCAiYCVjJzogaW52YWxpZCBzeW1ib2xpYyBtb2RlIGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBlcnJvci5jOjg5IGVycm9yLmM6MzIwIGVycm9yLmM6MzIyIGVycm9yLmM6MzI0CisjOiBlcnJvci5jOjkwIGVycm9yLmM6MzIxIGVycm9yLmM6MzIzIGVycm9yLmM6MzI1CiBtc2dpZCAiIGxpbmUgIgogbXNnc3RyICIiCiAKLSM6IGVycm9yLmM6MTY0CisjOiBlcnJvci5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJsYXN0IGNvbW1hbmQ6ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogZXJyb3IuYzoxNzIKKyM6IGVycm9yLmM6MTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nLi4uIgogbXNnc3RyICIiCiAKLSM6IGVycm9yLmM6NDA1CisjOiBlcnJvci5jOjQwNgogbXNnaWQgInVua25vd24gY29tbWFuZCBlcnJvciIKIG1zZ3N0ciAiIgogCi0jOiBlcnJvci5jOjQwNgorIzogZXJyb3IuYzo0MDcKIG1zZ2lkICJiYWQgY29tbWFuZCB0eXBlIgogbXNnc3RyICIiCiAKLSM6IGVycm9yLmM6NDA3CisjOiBlcnJvci5jOjQwOAogbXNnaWQgImJhZCBjb25uZWN0b3IiCiBtc2dzdHIgIiIKIAotIzogZXJyb3IuYzo0MDgKKyM6IGVycm9yLmM6NDA5CiBtc2dpZCAiYmFkIGp1bXAiCiBtc2dzdHIgIiIKIAotIzogZXJyb3IuYzo0NDYKKyM6IGVycm9yLmM6NDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmJvdW5kIHZhcmlhYmxlIgogbXNnc3RyICIiCiAKICM6IGV2YWwuYzoxODEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCittc2dpZCAiB3RpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKIG1zZ3N0ciAiIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5MQorIzogZXhlY3V0ZV9jbWQuYzo0OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlZGlyZWN0IHN0YW5kYXJkIGlucHV0IGZyb20gL2Rldi9udWxsOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBleGVjdXRlX2NtZC5jOjExMTIKKyM6IGV4ZWN1dGVfY21kLmM6MTE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJUSU1FRk9STUFUOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzoyMDExCisjOiBleGVjdXRlX2NtZC5jOjIwNzUKIG1zZ2lkICJwaXBlIGVycm9yIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDM2MworIzogZXhlY3V0ZV9jbWQuYzo0NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSBgLycgaW4gY29tbWFuZCBuYW1lcyIKIG1zZ3N0ciAiIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ0NTQKKyM6IGV4ZWN1dGVfY21kLmM6NDU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NzA4CisjOiBleGVjdXRlX2NtZC5jOjQ4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0ODU3CisjOiBleGVjdXRlX2NtZC5jOjQ5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKIG1zZ3N0ciAiIgpAQCAtODc5LDI4ICs5MDUsMjggQEAKIG1zZ2lkICJtaXNzaW5nIGApJyIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6ODk3IGV4cHIuYzoxMTc1CisjOiBleHByLmM6ODk3IGV4cHIuYzoxMTc2CiBtc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMTc3CisjOiBleHByLmM6MTE3OAogbXNnaWQgInN5bnRheCBlcnJvcjogaW52YWxpZCBhcml0aG1ldGljIG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMjAxCisjOiBleHByLmM6MTIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMjU5CisjOiBleHByLmM6MTI2MAogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMjc5CisjOiBleHByLmM6MTI4MAogbXNnaWQgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTMyOAorIzogZXhwci5jOjEzMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKIG1zZ3N0ciAiIgpAQCAtOTA5LDcgKzkzNSw3IEBACiBtc2dpZCAiZ2V0Y3dkOiBjYW5ub3QgYWNjZXNzIHBhcmVudCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiIgogCi0jOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDU1OQorIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc2V0IG5vZGVsYXkgbW9kZSBmb3IgZmQgJWQiCiBtc2dzdHIgIiIKQEAgLTk2Miw3ICs5ODgsNyBAQAogbXNnaWQgIkRvbmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMgorIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMwogbXNnaWQgIlN0b3BwZWQiCiBtc2dzdHIgIiIKIApAQCAtOTk5LDY5ICsxMDI1LDczIEBACiBtc2dpZCAiICAod2Q6ICVzKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTc3MQorIzogam9icy5jOjE3NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hpbGQgc2V0cGdpZCAoJWxkIHRvICVsZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjIwOTkgbm9qb2JzLmM6NTg1CisjOiBqb2JzLmM6MjEwNCBub2pvYnMuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyMzI2CisjOiBqb2JzLmM6MjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyNTk4CisjOiBqb2JzLmM6MjYwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyODIwCisjOiBqb2JzLmM6MjgyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6MjgzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzQ5MgorIzogam9icy5jOjMwNTkKK21zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCittc2dzdHIgIiIKKworIzogam9icy5jOjM1MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGxpbmUgJWQ6ICIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzUwNiBub2pvYnMuYzo4MTQKKyM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKGNvcmUgZHVtcGVkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzUxOCBqb2JzLmM6MzUzMQorIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHdkIG5vdzogJXMpXG4iCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM1NjMKKyM6IGpvYnMuYzozNTc5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2MjMKKyM6IGpvYnMuYzozNjM5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjMzCisjOiBqb2JzLmM6MzY0OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2NjEKKyM6IGpvYnMuYzozNjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjY2CisjOiBqb2JzLmM6MzY4MgogbXNnaWQgIm5vIGpvYiBjb250cm9sIGluIHRoaXMgc2hlbGwiCiBtc2dzdHIgIiIKIApAQCAtMTE1MSw2ICsxMTgxLDI2IEBACiBtc2dpZCAibmV0d29yayBvcGVyYXRpb25zIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIiIKIAorIzogbG9jYWxlLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICIiCisKICM6IG1haWxjaGVjay5jOjQzMwogbXNnaWQgIllvdSBoYXZlIG1haWwgaW4gJF8iCiBtc2dzdHIgIiIKQEAgLTExNjQsMTMxICsxMjE0LDEzMSBAQAogbXNnaWQgIlRoZSBtYWlsIGluICVzIGhhcyBiZWVuIHJlYWRcbiIKIG1zZ3N0ciAiIgogCi0jOiBtYWtlX2NtZC5jOjMyMgorIzogbWFrZV9jbWQuYzozMjMKIG1zZ2lkICJzeW50YXggZXJyb3I6IGFyaXRobWV0aWMgZXhwcmVzc2lvbiByZXF1aXJlZCIKIG1zZ3N0ciAiIgogCi0jOiBtYWtlX2NtZC5jOjMyNAorIzogbWFrZV9jbWQuYzozMjUKIG1zZ2lkICJzeW50YXggZXJyb3I6IGA7JyB1bmV4cGVjdGVkIgogbXNnc3RyICIiCiAKLSM6IG1ha2VfY21kLmM6MzI1CisjOiBtYWtlX2NtZC5jOjMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGAoKCVzKSknIgogbXNnc3RyICIiCiAKLSM6IG1ha2VfY21kLmM6NTY3CisjOiBtYWtlX2NtZC5jOjU3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWtlX2hlcmVfZG9jdW1lbnQ6IGJhZCBpbnN0cnVjdGlvbiB0eXBlICVkIgogbXNnc3RyICIiCiAKLSM6IG1ha2VfY21kLmM6NjUxCisjOiBtYWtlX2NtZC5jOjY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJoZXJlLWRvY3VtZW50IGF0IGxpbmUgJWQgZGVsaW1pdGVkIGJ5IGVuZC1vZi1maWxlICh3YW50ZWQgYCVzJykiCiBtc2dzdHIgIiIKIAotIzogbWFrZV9jbWQuYzo3NDYKKyM6IG1ha2VfY21kLmM6NzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6Mjk4NiBwYXJzZS55OjMyMTgKKyM6IHBhcnNlLnk6MzEzMyBwYXJzZS55OjMzNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCVjJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM3MjIKKyM6IHBhcnNlLnk6Mzk1MQogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIGBdXSciCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozNzI3CisjOiBwYXJzZS55OjM5NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM3MzEKKyM6IHBhcnNlLnk6Mzk2MAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzgwOQorIzogcGFyc2UueTo0MDM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzgxMworIzogcGFyc2UueTo0MDQyCiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6Mzg0MQorIzogcGFyc2UueTo0MDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM4NDUKKyM6IHBhcnNlLnk6NDA3NAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozODg1CisjOiBwYXJzZS55OjQxMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozODg5CisjOiBwYXJzZS55OjQxMjQKIG1zZ2lkICJjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozOTA2CisjOiBwYXJzZS55OjQxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM5MTAKKyM6IHBhcnNlLnk6NDE1MAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzkyMQorIzogcGFyc2UueTo0MTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzkyNAorIzogcGFyc2UueTo0MTY0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzkyOAorIzogcGFyc2UueTo0MTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gJWQgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjUxOTUKKyM6IHBhcnNlLnk6NTQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo1MjEzCisjOiBwYXJzZS55OjU0NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgYCVzJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjUyMjMKKyM6IHBhcnNlLnk6NTQ4NwogbXNnaWQgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjUyMjMKKyM6IHBhcnNlLnk6NTQ4NwogbXNnaWQgInN5bnRheCBlcnJvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjUyODUKKyM6IHBhcnNlLnk6NTU0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgXCIlc1wiIHRvIGxlYXZlIHRoZSBzaGVsbC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjU0NDcKKyM6IHBhcnNlLnk6NTcxMQogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGApJyIKIG1zZ3N0ciAiIgogCi0jOiBwY29tcGxldGUuYzoxMDE4CisjOiBwY29tcGxldGUuYzoxMDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRpb246IGZ1bmN0aW9uIGAlcycgbm90IGZvdW5kIgogbXNnc3RyICIiCkBAIC0xMjk4LDQ1MCArMTM0OCw0OTAgQEAKIG1zZ2lkICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjI4NQorIzogcHJpbnRfY21kLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzoxMzQ4CisjOiBwcmludF9jbWQuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlX3NldDogJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICIiCisKKyM6IHByaW50X2NtZC5jOjM2OAorbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgorbXNnc3RyICIiCisKKyM6IHByaW50X2NtZC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCittc2dzdHIgIiIKKworIzogcHJpbnRfY21kLmM6MTQ2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjcHJpbnRmOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxMDUKKyM6IHJlZGlyLmM6MTEwCiBtc2dpZCAiZmlsZSBkZXNjcmlwdG9yIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjE0OAorIzogcmVkaXIuYzoxNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjE1MgorIzogcmVkaXIuYzoxNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjE1NworIzogcmVkaXIuYzoxNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxNjIKKyM6IHJlZGlyLmM6MTgwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjUxNworIzogcmVkaXIuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gZmQgdG8gdmFyaWFibGUiCittc2dzdHIgIiIKKworIzogcmVkaXIuYzo1NDQKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxMDIzCisjOiByZWRpci5jOjExMDEKIG1zZ2lkICJyZWRpcmVjdGlvbiBlcnJvcjogY2Fubm90IGR1cGxpY2F0ZSBmZCIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjMyOAorIzogc2hlbGwuYzozMzIKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjMzMgorIzogc2hlbGwuYzozMzYKIG1zZ2lkICIvdG1wIG11c3QgYmUgYSB2YWxpZCBkaXJlY3RvcnkgbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjg3NgorIzogc2hlbGwuYzo4ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWMlYzogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzoxNjM4CisjOiBzaGVsbC5jOjE2NTEKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzoxNzc4CisjOiBzaGVsbC5jOjE3OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MTc3OQorIzogc2hlbGwuYzoxNzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJVc2FnZTpcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIC4uLlxuIgogIlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gc2NyaXB0LWZpbGUgLi4uXG4iCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzoxNzgxCisjOiBzaGVsbC5jOjE3OTYKIG1zZ2lkICJHTlUgbG9uZyBvcHRpb25zOlxuIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MTc4NQorIzogc2hlbGwuYzoxODAwCiBtc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjE3ODYKKyM6IHNoZWxsLmM6MTgwMQogbXNnaWQgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjE4MDEKKyM6IHNoZWxsLmM6MTgxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJcdC0lcyBvciAtbyBvcHRpb25cbiIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjE4MDcKKyM6IHNoZWxsLmM6MTgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzoxODA4CisjOiBzaGVsbC5jOjE4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjE4MDkKKyM6IHNoZWxsLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgdGhlIGBiYXNoYnVnJyBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgogbXNnc3RyICIiCiAKLSM6IHNpZy5jOjU4MworIzogc2lnLmM6NjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInNpZ3Byb2NtYXNrOiAlZDogaW52YWxpZCBvcGVyYXRpb24iCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjQ3CisjOiBzaWdsaXN0LmM6NDgKIG1zZ2lkICJCb2d1cyBzaWduYWwiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjUwCisjOiBzaWdsaXN0LmM6NTEKIG1zZ2lkICJIYW5ndXAiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjU0CisjOiBzaWdsaXN0LmM6NTUKIG1zZ2lkICJJbnRlcnJ1cHQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjU4CisjOiBzaWdsaXN0LmM6NTkKIG1zZ2lkICJRdWl0IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo2MgorIzogc2lnbGlzdC5jOjYzCiBtc2dpZCAiSWxsZWdhbCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NjYKKyM6IHNpZ2xpc3QuYzo2NwogbXNnaWQgIkJQVCB0cmFjZS90cmFwIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo3NAorIzogc2lnbGlzdC5jOjc1CiBtc2dpZCAiQUJPUlQgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjc4CisjOiBzaWdsaXN0LmM6NzkKIG1zZ2lkICJFTVQgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjgyCisjOiBzaWdsaXN0LmM6ODMKIG1zZ2lkICJGbG9hdGluZyBwb2ludCBleGNlcHRpb24iCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjg2CisjOiBzaWdsaXN0LmM6ODcKIG1zZ2lkICJLaWxsZWQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjkwCisjOiBzaWdsaXN0LmM6OTEKIG1zZ2lkICJCdXMgZXJyb3IiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjk0CisjOiBzaWdsaXN0LmM6OTUKIG1zZ2lkICJTZWdtZW50YXRpb24gZmF1bHQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjk4CisjOiBzaWdsaXN0LmM6OTkKIG1zZ2lkICJCYWQgc3lzdGVtIGNhbGwiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjEwMgorIzogc2lnbGlzdC5jOjEwMwogbXNnaWQgIkJyb2tlbiBwaXBlIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxMDYKKyM6IHNpZ2xpc3QuYzoxMDcKIG1zZ2lkICJBbGFybSBjbG9jayIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTEwCisjOiBzaWdsaXN0LmM6MTExCiBtc2dpZCAiVGVybWluYXRlZCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTE0CisjOiBzaWdsaXN0LmM6MTE1CiBtc2dpZCAiVXJnZW50IElPIGNvbmRpdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTE4CisjOiBzaWdsaXN0LmM6MTE5CiBtc2dpZCAiU3RvcHBlZCAoc2lnbmFsKSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTI2CisjOiBzaWdsaXN0LmM6MTI3CiBtc2dpZCAiQ29udGludWUiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjEzNAorIzogc2lnbGlzdC5jOjEzNQogbXNnaWQgIkNoaWxkIGRlYXRoIG9yIHN0b3AiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjEzOAorIzogc2lnbGlzdC5jOjEzOQogbXNnaWQgIlN0b3BwZWQgKHR0eSBpbnB1dCkiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE0MgorIzogc2lnbGlzdC5jOjE0MwogbXNnaWQgIlN0b3BwZWQgKHR0eSBvdXRwdXQpIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNDYKKyM6IHNpZ2xpc3QuYzoxNDcKIG1zZ2lkICJJL08gcmVhZHkiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE1MAorIzogc2lnbGlzdC5jOjE1MQogbXNnaWQgIkNQVSBsaW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTU0CisjOiBzaWdsaXN0LmM6MTU1CiBtc2dpZCAiRmlsZSBsaW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTU4CisjOiBzaWdsaXN0LmM6MTU5CiBtc2dpZCAiQWxhcm0gKHZpcnR1YWwpIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNjIKKyM6IHNpZ2xpc3QuYzoxNjMKIG1zZ2lkICJBbGFybSAocHJvZmlsZSkiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE2NgorIzogc2lnbGlzdC5jOjE2NwogbXNnaWQgIldpbmRvdyBjaGFuZ2VkIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNzAKKyM6IHNpZ2xpc3QuYzoxNzEKIG1zZ2lkICJSZWNvcmQgbG9jayIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTc0CisjOiBzaWdsaXN0LmM6MTc1CiBtc2dpZCAiVXNlciBzaWduYWwgMSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTc4CisjOiBzaWdsaXN0LmM6MTc5CiBtc2dpZCAiVXNlciBzaWduYWwgMiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTgyCisjOiBzaWdsaXN0LmM6MTgzCiBtc2dpZCAiSEZUIGlucHV0IGRhdGEgcGVuZGluZyIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTg2CisjOiBzaWdsaXN0LmM6MTg3CiBtc2dpZCAicG93ZXIgZmFpbHVyZSBpbW1pbmVudCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTkwCisjOiBzaWdsaXN0LmM6MTkxCiBtc2dpZCAic3lzdGVtIGNyYXNoIGltbWluZW50IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxOTQKKyM6IHNpZ2xpc3QuYzoxOTUKIG1zZ2lkICJtaWdyYXRlIHByb2Nlc3MgdG8gYW5vdGhlciBDUFUiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE5OAorIzogc2lnbGlzdC5jOjE5OQogbXNnaWQgInByb2dyYW1taW5nIGVycm9yIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMDIKKyM6IHNpZ2xpc3QuYzoyMDMKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIGdyYW50ZWQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjIwNgorIzogc2lnbGlzdC5jOjIwNwogbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgcmV0cmFjdGVkIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMTAKKyM6IHNpZ2xpc3QuYzoyMTEKIG1zZ2lkICJIRlQgc291bmQgc2VxdWVuY2UgaGFzIGNvbXBsZXRlZCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjE0CisjOiBzaWdsaXN0LmM6MjE1CiBtc2dpZCAiSW5mb3JtYXRpb24gcmVxdWVzdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjIyCisjOiBzaWdsaXN0LmM6MjIzCiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjI0CisjOiBzaWdsaXN0LmM6MjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjExODEgc3Vic3QuYzoxMzAyCisjOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjI0NTgKKyM6IHN1YnN0LmM6MjczNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ0NTYgc3Vic3QuYzo0NDcyCisjOiBzdWJzdC5jOjQ3NTQgc3Vic3QuYzo0NzcwCiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo0NTA0CisjOiBzdWJzdC5jOjQ4MDIKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo0NTQ5CisjOiBzdWJzdC5jOjQ4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ1NTEKKyM6IHN1YnN0LmM6NDg0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciB3cml0aW5nIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDU2OQorIzogc3Vic3QuYzo0ODY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgbmFtZWQgcGlwZSAlcyBhcyBmZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ3NjUKKyM6IHN1YnN0LmM6NTA2MwogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDc5OQorIzogc3Vic3QuYzo1MDk3CiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDgxNgorIzogc3Vic3QuYzo1MTE0CiBtc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjUzMTgKKyM6IHN1YnN0LmM6NTYxNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGFyYW1ldGVyIG51bGwgb3Igbm90IHNldCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjU2MDgKKyM6IHN1YnN0LmM6NTkwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogc3Vic3RyaW5nIGV4cHJlc3Npb24gPCAwIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NjY2MAorIzogc3Vic3QuYzo2OTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6Njc0MAorIzogc3Vic3QuYzo3MDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjc0OTkKKyM6IHN1YnN0LmM6NzM3NAorbXNnaWQgIiIKKyJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKKyJzdWJzdGl0dXRpb24iCittc2dzdHIgIiIKKworIzogc3Vic3QuYzo3ODM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo4Mzc1CisjOiBzdWJzdC5jOjg3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICIiCiAKLSM6IHRlc3QuYzoxNDUKKyM6IHRlc3QuYzoxNDYKIG1zZ2lkICJhcmd1bWVudCBleHBlY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiB0ZXN0LmM6MTU0CisjOiB0ZXN0LmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnRlZ2VyIGV4cHJlc3Npb24gZXhwZWN0ZWQiCiBtc2dzdHIgIiIKIAotIzogdGVzdC5jOjI2MgorIzogdGVzdC5jOjI2MwogbXNnaWQgImApJyBleHBlY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiB0ZXN0LmM6MjY0CisjOiB0ZXN0LmM6MjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImApJyBleHBlY3RlZCwgZm91bmQgJXMiCiBtc2dzdHIgIiIKIAotIzogdGVzdC5jOjI3OSB0ZXN0LmM6Njg4IHRlc3QuYzo2OTEKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5MyB0ZXN0LmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiB0ZXN0LmM6NDQ0IHRlc3QuYzo3MzEKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjczNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIiCiAKLSM6IHRlc3QuYzo4MDYKKyM6IHRlc3QuYzo4MTEKIG1zZ2lkICJtaXNzaW5nIGBdJyIKIG1zZ3N0ciAiIgogCi0jOiB0cmFwLmM6MjAxCisjOiB0cmFwLmM6MjAzCiBtc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgogbXNnc3RyICIiCiAKLSM6IHRyYXAuYzozMjQKKyM6IHRyYXAuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVuX3BlbmRpbmdfdHJhcHM6IGJhZCB2YWx1ZSBpbiB0cmFwX2xpc3RbJWRdOiAlcCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFwLmM6MzI4CisjOiB0cmFwLmM6MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgogbXNnc3RyICIiCiAKLSM6IHRyYXAuYzozNzIKKyM6IHRyYXAuYzozODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhcF9oYW5kbGVyOiBiYWQgc2lnbmFsICVkIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM1OAorIzogdmFyaWFibGVzLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjczNgorIzogdmFyaWFibGVzLmM6NzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjE4OTgKKyM6IHZhcmlhYmxlcy5jOjE5MTUKIG1zZ2lkICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzEyNworIzogdmFyaWFibGVzLmM6MzE1OQogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMzQ0IHZhcmlhYmxlcy5jOjMzNTMKKyM6IHZhcmlhYmxlcy5jOjMzNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG51bGwgZXhwb3J0c3RyIgorbXNnc3RyICIiCisKKyM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNTkKKyM6IHZhcmlhYmxlcy5jOjMzOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6Mzc5NAorIzogdmFyaWFibGVzLmM6MzgzNQogbXNnaWQgInBvcF92YXJfY29udGV4dDogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgZnVuY3Rpb24gY29udGV4dCIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozODA3CisjOiB2YXJpYWJsZXMuYzozODQ4CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBubyBnbG9iYWxfdmFyaWFibGVzIGNvbnRleHQiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6Mzg4MQorIzogdmFyaWFibGVzLmM6MzkyMgogbXNnaWQgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgogbXNnc3RyICIiCiAKKyM6IHZhcmlhYmxlcy5jOjQ2NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIgorbXNnc3RyICIiCisKKyM6IHZhcmlhYmxlcy5jOjQ2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiIKKwogIzogdmVyc2lvbi5jOjQ2CiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIG1zZ3N0ciAiIgpAQCAtMTc1Miw1OSArMTg0Miw1MSBAQAogImh0bWw+XG4iCiBtc2dzdHIgIiIKIAotIzogdmVyc2lvbi5jOjg2CisjOiB2ZXJzaW9uLmM6ODYgdmVyc2lvbjIuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcyAoJXMpXG4iCiBtc2dzdHIgIiIKIAotIzogdmVyc2lvbi5jOjkxCisjOiB2ZXJzaW9uLmM6OTEgdmVyc2lvbjIuYzo4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiB2ZXJzaW9uLmM6OTIKKyM6IHZlcnNpb24uYzo5MiB2ZXJzaW9uMi5jOjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuXG4iCiBtc2dzdHIgIiIKIAotIzogeG1hbGxvYy5jOjkyCisjOiB2ZXJzaW9uMi5jOjg2CiAjLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKIG1zZ3N0ciAiIgogCi0jOiB4bWFsbG9jLmM6OTQKKyM6IHZlcnNpb24yLmM6ODcKICMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKK21zZ2lkICIiCisiTGljZW5zZSBHUEx2Mis6IEdOVSBHUEwgdmVyc2lvbiAyIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgorImh0bWw+XG4iCiBtc2dzdHIgIiIKIAotIzogeG1hbGxvYy5jOjExNAorIzogeG1hbGxvYy5jOjkxCiAjLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKIG1zZ3N0ciAiIgogCi0jOiB4bWFsbG9jLmM6MTE2CisjOiB4bWFsbG9jLmM6OTMKICMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCittc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCiBtc2dzdHIgIiIKIAotIzogeG1hbGxvYy5jOjE1MAorIzogeG1hbGxvYy5jOjE2MwogIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCittc2dpZCAiJXM6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKIG1zZ3N0ciAiIgogCi0jOiB4bWFsbG9jLmM6MTUyCisjOiB4bWFsbG9jLmM6MTY1CiAjLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICIiCi0KLSM6IHhtYWxsb2MuYzoxNzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICIiCi0KLSM6IHhtYWxsb2MuYzoxNzYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjQzCkBAIC0xOTIyLDcgKzIwMDQsNyBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MTE3Ci1tc2dpZCAiaGVscCBbLWRzXSBbcGF0dGVybiAuLi5dIgorbXNnaWQgImhlbHAgWy1kbXNdIFtwYXR0ZXJuIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxMjEKQEAgLTE5NTEsOCArMjAzMyw4IEBACiAKICM6IGJ1aWx0aW5zLmM6MTM2CiBtc2dpZCAiIgotInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1wIHByb21wdF0gWy10ICIKLSJ0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCisicmVhZCBbLWVyc10gWy1hIGFycmF5XSBbLWQgZGVsaW1dIFstaSB0ZXh0XSBbLW4gbmNoYXJzXSBbLU4gbmNoYXJzXSBbLXAgIgorInByb21wdF0gWy10IHRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjEzOApAQCAtMjExMSw5ICsyMTkzLDkgQEAKIAogIzogYnVpbHRpbnMuYzoyMjkKIG1zZ2lkICIiCi0iY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLVcgIgotIndvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TIHN1ZmZpeF0gIgotIltuYW1lIC4uLl0iCisiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstREVdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLSIKKyJXIHdvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TICIKKyJzdWZmaXhdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoyMzMKQEAgLTIxMjMsNyArMjIwNSw3IEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoyMzcKLW1zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFtuYW1lIC4uLl0iCittc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbLURFXSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MjQwCkBAIC0yODQzLDcgKzI5MjUsMTEgQEAKICIgICAgICAtZVx0XHR1c2UgUmVhZGxpbmUgdG8gb2J0YWluIHRoZSBsaW5lIGluIGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCiAiICAgICAgLWkgdGV4dFx0VXNlIFRFWFQgYXMgdGhlIGluaXRpYWwgdGV4dCBmb3IgUmVhZGxpbmVcbiIKICIgICAgICAtbiBuY2hhcnNcdHJldHVybiBhZnRlciByZWFkaW5nIE5DSEFSUyBjaGFyYWN0ZXJzIHJhdGhlciB0aGFuIHdhaXRpbmdcbiIKLSIgICAgXHRcdGZvciBhIG5ld2xpbmVcbiIKKyIgICAgXHRcdGZvciBhIG5ld2xpbmUsIGJ1dCBob25vciBhIGRlbGltaXRlciBpZiBmZXdlciB0aGFuIE5DSEFSU1xuIgorIiAgICBcdFx0Y2hhcmFjdGVycyBhcmUgcmVhZCBiZWZvcmUgdGhlIGRlbGltaXRlclxuIgorIiAgICAgIC1OIG5jaGFyc1x0cmV0dXJuIG9ubHkgYWZ0ZXIgcmVhZGluZyBleGFjdGx5IE5DSEFSUyBjaGFyYWN0ZXJzLCAiCisidW5sZXNzXG4iCisiICAgIFx0XHRFT0YgaXMgZW5jb3VudGVyZWQgb3IgcmVhZCB0aW1lcyBvdXQsIGlnbm9yaW5nIGFueSBkZWxpbWl0ZXJcbiIKICIgICAgICAtcCBwcm9tcHRcdG91dHB1dCB0aGUgc3RyaW5nIFBST01QVCB3aXRob3V0IGEgdHJhaWxpbmcgbmV3bGluZSBiZWZvcmVcbiIKICIgICAgXHRcdGF0dGVtcHRpbmcgdG8gcmVhZFxuIgogIiAgICAgIC1yXHRcdGRvIG5vdCBhbGxvdyBiYWNrc2xhc2hlcyB0byBlc2NhcGUgYW55IGNoYXJhY3RlcnNcbiIKQEAgLTI4NjMsNyArMjk0OSw3IEBACiAiICAgIG9yIGFuIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIGlzIHN1cHBsaWVkIGFzIHRoZSBhcmd1bWVudCB0byAtdS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMDA2CisjOiBidWlsdGlucy5jOjEwMDkKIG1zZ2lkICIiCiAiUmV0dXJuIGZyb20gYSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0yODc1LDcgKzI5NjEsNyBAQAogIiAgICBSZXR1cm5zIE4sIG9yIGZhaWx1cmUgaWYgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbiBvciBzY3JpcHQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTAxOQorIzogYnVpbHRpbnMuYzoxMDIyCiBtc2dpZCAiIgogIlNldCBvciB1bnNldCB2YWx1ZXMgb2Ygc2hlbGwgb3B0aW9ucyBhbmQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTI5NTcsNyArMzA0Myw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTEwMQorIzogYnVpbHRpbnMuYzoxMTA0CiBtc2dpZCAiIgogIlVuc2V0IHZhbHVlcyBhbmQgYXR0cmlidXRlcyBvZiBzaGVsbCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0yOTc3LDcgKzMwNjMsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgTkFNRSBpcyByZWFkLW9ubHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTEyMQorIzogYnVpbHRpbnMuYzoxMTI0CiBtc2dpZCAiIgogIlNldCBleHBvcnQgYXR0cmlidXRlIGZvciBzaGVsbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMjk5Niw3ICszMDgyLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE0MAorIzogYnVpbHRpbnMuYzoxMTQzCiBtc2dpZCAiIgogIk1hcmsgc2hlbGwgdmFyaWFibGVzIGFzIHVuY2hhbmdlYWJsZS5cbiIKICIgICAgXG4iCkBAIC0zMDE2LDcgKzMxMDIsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTYxCisjOiBidWlsdGlucy5jOjExNjQKIG1zZ2lkICIiCiAiU2hpZnQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTMwMjcsNyArMzExMyw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTiBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gJCMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE3MyBidWlsdGlucy5jOjExODgKKyM6IGJ1aWx0aW5zLmM6MTE3NiBidWlsdGlucy5jOjExOTEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmcm9tIGEgZmlsZSBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zMDQxLDcgKzMxMjcsNyBAQAogIiAgICBGSUxFTkFNRSBjYW5ub3QgYmUgcmVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjA0CisjOiBidWlsdGlucy5jOjEyMDcKIG1zZ2lkICIiCiAiU3VzcGVuZCBzaGVsbCBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzA1NSw3ICszMTQxLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTIyMAorIzogYnVpbHRpbnMuYzoxMjIzCiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtMzEzMiw3ICszMjE4LDcgQEAKICIgICAgZmFsc2Ugb3IgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjk2CisjOiBidWlsdGlucy5jOjEyOTkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC0zMTQwLDcgKzMyMjYsNyBAQAogIiAgICBiZSBhIGxpdGVyYWwgYF0nLCB0byBtYXRjaCB0aGUgb3BlbmluZyBgWycuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTMwNQorIzogYnVpbHRpbnMuYzoxMzA4CiBtc2dpZCAiIgogIkRpc3BsYXkgcHJvY2VzcyB0aW1lcy5cbiIKICIgICAgXG4iCkBAIC0zMTUyLDcgKzMyMzgsNyBAQAogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTMxNworIzogYnVpbHRpbnMuYzoxMzIwCiBtc2dpZCAiIgogIlRyYXAgc2lnbmFscyBhbmQgb3RoZXIgZXZlbnRzLlxuIgogIiAgICBcbiIKQEAgLTMxODgsNyArMzI3NCw3IEBACiAiZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTM0OQorIzogYnVpbHRpbnMuYzoxMzUyCiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZCB0eXBlLlxuIgogIiAgICBcbiIKQEAgLTMyMTgsNyArMzMwNCw3IEBACiAiZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MAorIzogYnVpbHRpbnMuYzoxMzgzCiBtc2dpZCAiIgogIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCiAiICAgIFxuIgpAQCAtMzI2Miw3ICszMzQ4LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQyNQorIzogYnVpbHRpbnMuYzoxNDI4CiBtc2dpZCAiIgogIkRpc3BsYXkgb3Igc2V0IGZpbGUgbW9kZSBtYXNrLlxuIgogIiAgICBcbiIKQEAgLTMyODAsNyArMzM2Niw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTU9ERSBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NDUKKyM6IGJ1aWx0aW5zLmM6MTQ0OAogbXNnaWQgIiIKICJXYWl0IGZvciBqb2IgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTMyOTcsNyArMzM4Myw3IEBACiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NjMKKyM6IGJ1aWx0aW5zLmM6MTQ2NgogbXNnaWQgIiIKICJXYWl0IGZvciBwcm9jZXNzIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC0zMzExLDcgKzMzOTcsNyBAQAogIiAgICBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDc4CisjOiBidWlsdGlucy5jOjE0ODEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTMzMjQsNyArMzQxMCw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0OTIKKyM6IGJ1aWx0aW5zLmM6MTQ5NQogbXNnaWQgIiIKICJBcml0aG1ldGljIGZvciBsb29wLlxuIgogIiAgICBcbiIKQEAgLTMzNDEsNyArMzQyNyw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1MTAKKyM6IGJ1aWx0aW5zLmM6MTUxMwogbXNnaWQgIiIKICJTZWxlY3Qgd29yZHMgZnJvbSBhIGxpc3QgYW5kIGV4ZWN1dGUgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMzM2MSw3ICszNDQ3LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTUzMQorIzogYnVpbHRpbnMuYzoxNTM0CiBtc2dpZCAiIgogIlJlcG9ydCB0aW1lIGNvbnN1bWVkIGJ5IHBpcGVsaW5lJ3MgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTMzNzcsNyArMzQ2Myw3IEBACiAiICAgIFRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSByZXR1cm4gc3RhdHVzIG9mIFBJUEVMSU5FLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1NDgKKyM6IGJ1aWx0aW5zLmM6MTU1MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIHBhdHRlcm4gbWF0Y2hpbmcuXG4iCiAiICAgIFxuIgpAQCAtMzM4OCw3ICszNDc0LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU2MAorIzogYnVpbHRpbnMuYzoxNTYzCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gY29uZGl0aW9uYWwuXG4iCiAiICAgIFxuIgpAQCAtMzQwOSw3ICszNDk1LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU3NworIzogYnVpbHRpbnMuYzoxNTgwCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3Qgc3VjY2VlZHMuXG4iCiAiICAgIFxuIgpAQCAtMzQyMCw3ICszNTA2LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU4OQorIzogYnVpbHRpbnMuYzoxNTkyCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3QgZG9lcyBub3Qgc3VjY2VlZC5cbiIKICIgICAgXG4iCkBAIC0zNDMxLDcgKzM1MTcsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjAxCisjOiBidWlsdGlucy5jOjE2MDQKIG1zZ2lkICIiCiAiQ3JlYXRlIGEgY29wcm9jZXNzIG5hbWVkIE5BTUUuXG4iCiAiICAgIFxuIgpAQCAtMzQ0NCw3ICszNTMwLDcgQEAKICIgICAgUmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgQ09NTUFORC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjE1CisjOiBidWlsdGlucy5jOjE2MTgKIG1zZ2lkICIiCiAiRGVmaW5lIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM0NTgsNyArMzU0NCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyByZWFkb25seS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjI5CisjOiBidWlsdGlucy5jOjE2MzIKIG1zZ2lkICIiCiAiR3JvdXAgY29tbWFuZHMgYXMgYSB1bml0LlxuIgogIiAgICBcbiIKQEAgLTM0NjksNyArMzU1NSw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NDEKKyM6IGJ1aWx0aW5zLmM6MTY0NAogbXNnaWQgIiIKICJSZXN1bWUgam9iIGluIGZvcmVncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMzQ4Myw3ICszNTY5LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSByZXN1bWVkIGpvYi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjU2CisjOiBidWlsdGlucy5jOjE2NTkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTM0OTQsNyArMzU4MCw3IEBACiAiICAgIFJldHVybnMgMSBpZiBFWFBSRVNTSU9OIGV2YWx1YXRlcyB0byAwOyByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NjgKKyM6IGJ1aWx0aW5zLmM6MTY3MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbmRpdGlvbmFsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMzUyMiw3ICszNjA4LDcgQEAKICIgICAgMCBvciAxIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBFWFBSRVNTSU9OLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2OTQKKyM6IGJ1aWx0aW5zLmM6MTY5NwogbXNnaWQgIiIKICJDb21tb24gc2hlbGwgdmFyaWFibGUgbmFtZXMgYW5kIHVzYWdlLlxuIgogIiAgICBcbiIKQEAgLTM1NzYsNyArMzY2Miw3IEBACiAiICAgIFx0XHRjb21tYW5kcyBzaG91bGQgYmUgc2F2ZWQgb24gdGhlIGhpc3RvcnkgbGlzdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE3NTEKKyM6IGJ1aWx0aW5zLmM6MTc1NAogbXNnaWQgIiIKICJBZGQgZGlyZWN0b3JpZXMgdG8gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzYwNyw3ICszNjkzLDcgQEAKICIgICAgY2hhbmdlIGZhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE3ODUKKyM6IGJ1aWx0aW5zLmM6MTc4OAogbXNnaWQgIiIKICJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zNjM0LDcgKzM3MjAsNyBAQAogIiAgICBjaGFuZ2UgZmFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTgxNQorIzogYnVpbHRpbnMuYzoxODE4CiBtc2dpZCAiIgogIkRpc3BsYXkgZGlyZWN0b3J5IHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM2NjMsNyArMzc0OSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4NDQKKyM6IGJ1aWx0aW5zLmM6MTg0NwogbXNnaWQgIiIKICJTZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzY4NCw3ICszNzcwLDcgQEAKICIgICAgZ2l2ZW4gb3IgT1BUTkFNRSBpcyBkaXNhYmxlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODY1CisjOiBidWlsdGlucy5jOjE4NjgKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCiAiICAgIFxuIgpAQCAtMzcxNCw3ICszODAwLDcgQEAKICIgICAgZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4OTIKKyM6IGJ1aWx0aW5zLmM6MTg5NQogbXNnaWQgIiIKICJTcGVjaWZ5IGhvdyBhcmd1bWVudHMgYXJlIHRvIGJlIGNvbXBsZXRlZCBieSBSZWFkbGluZS5cbiIKICIgICAgXG4iCkBAIC0zNzI4LDE1ICszODE0LDIwIEBACiAiICAgICAgLXBcdHByaW50IGV4aXN0aW5nIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnMgaW4gYSByZXVzYWJsZSBmb3JtYXRcbiIKICIgICAgICAtclx0cmVtb3ZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGZvciBlYWNoIE5BTUUsIG9yLCBpZiBub1xuIgogIiAgICBcdE5BTUVzIGFyZSBzdXBwbGllZCwgYWxsIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnNcbiIKKyIgICAgICAtRFx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIGFzIHRoZSBkZWZhdWx0IGZvciBjb21tYW5kc1xuIgorIiAgICBcdHdpdGhvdXQgYW55IHNwZWNpZmljIGNvbXBsZXRpb24gZGVmaW5lZFxuIgorIiAgICAgIC1FXHRhcHBseSB0aGUgY29tcGxldGlvbnMgYW5kIGFjdGlvbnMgdG8gXCJlbXB0eVwiIGNvbW1hbmRzIC0tXG4iCisiICAgIFx0Y29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYSBibGFuayBsaW5lXG4iCiAiICAgIFxuIgogIiAgICBXaGVuIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkLCB0aGUgYWN0aW9ucyBhcmUgYXBwbGllZCBpbiB0aGUgb3JkZXIgdGhlXG4iCi0iICAgIHVwcGVyY2FzZS1sZXR0ZXIgb3B0aW9ucyBhcmUgbGlzdGVkIGFib3ZlLlxuIgorIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS4gIFRoZSAtRCBvcHRpb24gdGFrZXNcbiIKKyIgICAgcHJlY2VkZW5jZSBvdmVyIC1FLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5MTUKKyM6IGJ1aWx0aW5zLmM6MTkyMwogbXNnaWQgIiIKICJEaXNwbGF5IHBvc3NpYmxlIGNvbXBsZXRpb25zIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zNzQ5LDcgKzM4NDAsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTMwCisjOiBidWlsdGlucy5jOjE5MzgKIG1zZ2lkICIiCiAiTW9kaWZ5IG9yIGRpc3BsYXkgY29tcGxldGlvbiBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTM3NjIsNiArMzg1Myw4IEBACiAiICAgIFxuIgogIiAgICBPcHRpb25zOlxuIgogIiAgICBcdC1vIG9wdGlvblx0U2V0IGNvbXBsZXRpb24gb3B0aW9uIE9QVElPTiBmb3IgZWFjaCBOQU1FXG4iCisiICAgIFx0LURcdFx0Q2hhbmdlIG9wdGlvbnMgZm9yIHRoZSBcImRlZmF1bHRcIiBjb21tYW5kIGNvbXBsZXRpb25cbiIKKyIgICAgXHQtRVx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZW1wdHlcIiBjb21tYW5kIGNvbXBsZXRpb25cbiIKICIgICAgXG4iCiAiICAgIFVzaW5nIGArbycgaW5zdGVhZCBvZiBgLW8nIHR1cm5zIG9mZiB0aGUgc3BlY2lmaWVkIG9wdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNzc4LDE1ICszODcxLDE1IEBACiAiICAgIGhhdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZGVmaW5lZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTU4CisjOiBidWlsdGlucy5jOjE5NjgKIG1zZ2lkICIiCi0iUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgorIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKLSIgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBhcnJheSB2YXJpYWJsZSBBUlJBWSwgb3IgIgotImZyb21cbiIKLSIgICAgZmlsZSBkZXNjcmlwdG9yIEZEIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaWFibGUgTUFQRklMRSAiCi0iaXNcbiIKLSIgICAgdGhlIGRlZmF1bHQgQVJSQVkuXG4iCisiICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgaW5kZXhlZCBhcnJheSB2YXJpYWJsZSAiCisiQVJSQVksIG9yXG4iCisiICAgIGZyb20gZmlsZSBkZXNjcmlwdG9yIEZEIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaWFibGUgIgorIk1BUEZJTEVcbiIKKyIgICAgaXMgdGhlIGRlZmF1bHQgQVJSQVkuXG4iCiAiICAgIFxuIgogIiAgICBPcHRpb25zOlxuIgogIiAgICAgIC1uIGNvdW50XHRDb3B5IGF0IG1vc3QgQ09VTlQgbGluZXMuICBJZiBDT1VOVCBpcyAwLCBhbGwgbGluZXMgYXJlICIKQEAgLTM4MTMsMTAgKzM5MDYsMTIgQEAKICIgICAgYXNzaWduaW5nIHRvIGl0LlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIEFSUkFZIGlzIHJlYWRvbmx5ICIKKyJvclxuIgorIiAgICBub3QgYW4gaW5kZXhlZCBhcnJheS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTkwCisjOiBidWlsdGlucy5jOjIwMDEKIG1zZ2lkICIiCiAiUmVhZCBsaW5lcyBmcm9tIGEgZmlsZSBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKZGlmZiAtLWdpdCBhL3BvL2JnLmdtbyBiL3BvL2JnLmdtbwppbmRleCAwZDBjYWUzLi5lY2JhNmQyIDEwMDY0NAotLS0gYS9wby9iZy5nbW8KKysrIGIvcG8vYmcuZ21vCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3BvL2JnLnBvIGIvcG8vYmcucG8KaW5kZXggZDRlNjFjMC4uODM2M2NiZiAxMDA2NDQKLS0tIGEvcG8vYmcucG8KKysrIGIvcG8vYmcucG8KQEAgLTcsNyArNyw3IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IGJhc2ggMy4yXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTAyLTE5IDE0OjUzLTA1MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogMjAwNy0wNy0yNiAwNzoxOCswMzAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBBbGV4YW5kZXIgU2hvcG92IDxhc2hAY29udGFjdC5iZz5cbiIKICJMYW5ndWFnZS1UZWFtOiBCdWxnYXJpYW4gPGRpY3RAZnNhLWJnLm9yZz5cbiIKQEAgLTIwLDUyICsyMCw1NyBAQAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INC40L3QtNC10LrRgSDQvdCwINC80LDRgdC40LIiCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzQKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKIAotIzogYXJyYXlmdW5jLmM6NDc5CisjOiBhcnJheWZ1bmMuYzo0ODAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFzc29jaWF0aXZlIGFycmF5IGtleSIKIG1zZ3N0ciAiJXM6INCz0YDQtdGI0L3QviDQuNC80LUg0L3QsCDQtNC10LnRgdGC0LLQuNC1IgogCi0jOiBhcnJheWZ1bmMuYzo0ODEKKyM6IGFycmF5ZnVuYy5jOjQ4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiB0byBub24tbnVtZXJpYyBpbmRleCIKIG1zZ3N0ciAiJXM6INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQuNGB0LLQvtGP0LLQsCDQvdCwINC90LXRhtC40YTRgNC+0LIg0LjQvdC00LXQutGBIgogCi0jOiBhcnJheWZ1bmMuYzo1MTcKKyM6IGFycmF5ZnVuYy5jOjUxOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IG11c3QgdXNlIHN1YnNjcmlwdCB3aGVuIGFzc2lnbmluZyBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiIgogCi0jOiBiYXNoaGlzdC5jOjM3OQorIzogYmFzaGhpc3QuYzozODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjcmVhdGU6ICVzIgogbXNnc3RyICIlczog0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRitC30LTQsNC00LU6ICVzIgogCi0jOiBiYXNobGluZS5jOjM0MTMKKyM6IGJhc2hsaW5lLmM6MzQ1NwogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiIgogItC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg0LrQvtC80LDQvdC00LAg0L3QsCDQrtC90LjQutGBINC+0YIgYmFzaDog0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7RgtC60YDQuNC1INC/0L7QtNGA0LXQtNCx0LDRgtCwINC90LBcbiIKICLRhNGD0L3QutGG0LjQuNGC0LUg0L3QsCDQutC70LDQstC40YjQuNGC0LUg0LfQsCDQutC+0LzQsNC90LTQsNGC0LAiCiAKLSM6IGJhc2hsaW5lLmM6MzQ5MQorIzogYmFzaGxpbmUuYzozNTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IGBcIiciCiBtc2dzdHIgIiVzOiDQv9GK0YDQstC40Y/RgiDQvdC10L/RgNCw0LfQtdC9INC30L3QsNC6INC90LUg0LUg4oCeXCLigJwiCiAKLSM6IGJhc2hsaW5lLmM6MzUyMAorIzogYmFzaGxpbmUuYzozNTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKIG1zZ3N0ciAi0LIgJTIkcyDQu9C40L/RgdCy0LAg0LfQsNGC0LLQsNGA0Y/RiSDQt9C90LDQuiDigJ4lMSRj4oCcIgogCi0jOiBiYXNobGluZS5jOjM1NTQKKyM6IGJhc2hsaW5lLmM6MzYwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCiBtc2dzdHIgIiVzOiDRgNCw0LfQtNC10LvQuNGC0LXQu9GP0YIg0LTQstC+0LXRgtC+0YfQuNC1INC70LjQv9GB0LLQsCIKIAorIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogaW52YWxpZCBhbGlhcyBuYW1lIgorbXNnc3RyICLigJ4lc+KAnDog0LPRgNC10YjQvdC+INC40LzQtSDQvdCwINC/0L7QtNGA0LXQtNCx0LDRgtCwINC90LAg0YTRg9C90LrRhtC40LjRgtC1INC90LAg0LrQu9Cw0LLQuNGI0LjRgtC1IgorCiAjOiBidWlsdGlucy9iaW5kLmRlZjoxMjAgYnVpbHRpbnMvYmluZC5kZWY6MTIzCiBtc2dpZCAibGluZSBlZGl0aW5nIG5vdCBlbmFibGVkIgogbXNnc3RyICIiCkBAIC0xMTYsNiArMTIxLDIxIEBACiAiICAgIFdpdGhvdXQgRVhQUiwgcmV0dXJucyAiCiBtc2dzdHIgItCS0YDRitGJ0LAg0LrQvtC90YLQtdC60YHRgtCwINC90LAg0YLQtdC60YPRidC+0YLQviDQuNC30LLQuNC60LLQsNC90LUg0L3QsCDQv9C+0LTQv9GA0L7Qs9GA0LDQvNCwLiIKIAorIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzUKK21zZ2lkICIiCisiLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCisiICAgICIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNgorbXNnaWQgIiIKKyI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKKyIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgorIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGlucy9jZC5kZWY6MjE1CiBtc2dpZCAiSE9NRSBub3Qgc2V0IgogbXNnc3RyICLQn9GA0L7QvNC10L3Qu9C40LLQsNGC0LAgJEhPTUUg0L3QtSDQt9Cw0LTQsNC00LXQvdCwIgpAQCAtMTI5LDcgKzE0OSw3IEBACiBtc2dpZCAibGluZSAlZDogIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEzOSBlcnJvci5jOjI2MAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTM5IGVycm9yLmM6MjYxCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAiCiBtc2dzdHIgIiVzOiDQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiAiCkBAIC0xMzksMTEgKzE1OSwxMSBAQAogbXNnaWQgIiVzOiB1c2FnZTogIgogbXNnc3RyICIlczog0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTogIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyMgorIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgItC/0YDQtdC60LDQu9C10L3QviDQvNC90L7Qs9C+INCw0YDQs9GD0LzQtdC90YLQuCIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDkzIHNoZWxsLmM6Nzc0CisjOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTkgc2hlbGwuYzo3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIKIG1zZ3N0ciAiJXM6INC+0L/RhtC40Y/RgtCwINC40LfQuNGB0LrQstCwINCw0YDQs9GD0LzQtdC90YIiCkBAIC0xNTgsNyArMTc4LDcgQEAKIG1zZ2lkICIlczogbm90IGZvdW5kIgogbXNnc3RyICIlczog0L3QtSDQtSDQvtGC0LrRgNC40YIiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc4NworIzogYnVpbHRpbnMvY29tbW9uLmM6MjE0IHNoZWxsLmM6Nzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJXM6INCz0YDQtdGI0L3QsCDQvtC/0YbQuNGPIgpAQCAtMTgzLDcgKzIwMyw3IEBACiBtc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgogbXNnc3RyICLQs9GA0LXRiNC90L4g0YfQuNGB0LvQviIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU1CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTYKIG1zZ2lkICJpbnZhbGlkIG51bWJlciIKIG1zZ3N0ciAi0LPRgNC10YjQvdC+INGH0LjRgdC70L4iCiAKQEAgLTE5Nyw3ICsyMTcsNyBAQAogbXNnaWQgImAlcyc6IG5vdCBhIHBpZCBvciB2YWxpZCBqb2Igc3BlYyIKIG1zZ3N0ciAi4oCeJXPigJw6INC90LXQv9GA0LDQstC40LvQtdC9INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC90LAg0L/RgNC+0YbQtdGBINC40LvQuCDQt9Cw0LTQsNGH0LAiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI2NCBlcnJvci5jOjQ1MworIzogYnVpbHRpbnMvY29tbW9uLmM6MjY0IGVycm9yLmM6NDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkb25seSB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6INC/0YDQvtC80LXQvdC70LjQstCwINGBINC/0YDQsNCy0LAg0YHQsNC80L4g0LfQsCDRh9C10YLQtdC90LUiCkBAIC0yNjksMjYgKzI4OSwyNiBAQAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgam9iIHNwZWMiCiBtc2dzdHIgIiVzOiDQvdC10LXQtNC90L7Qt9C90LDRh9C90L4g0YPQutCw0LfQsNC90LAg0LfQsNC00LDRh9CwIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6MjcwCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Mjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFjdGlvbiBuYW1lIgogbXNnc3RyICIlczog0LPRgNC10YjQvdC+INC40LzQtSDQvdCwINC00LXQudGB0YLQstC40LUiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo0MzAgYnVpbHRpbnMvY29tcGxldGUuZGVmOjYxNQotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjgxMworIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjQ0OSBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjQ0CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBubyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiVzOiDQvdC1INC1INGD0LrQsNC30LDQvdC+INC00L7Qv9C40YHQstCw0L3QtSIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY2NworIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY5NgogbXNnaWQgIndhcm5pbmc6IC1GIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCIKIG1zZ3N0ciAi0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog0L7Qv9GG0LjRj9GC0LAg4oCeLUbigJwg0LzQvtC20LUg0LTQsCDQvdC1INGA0LDQsdC+0YLQuCDRgdC/0L7RgNC10LQg0L7Rh9Cw0LrQstCw0L3QuNGP0YLQsCDQstC4IgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjY5CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk4CiBtc2dpZCAid2FybmluZzogLUMgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgogbXNnc3RyICLQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDQvtC/0YbQuNGP0YLQsCDigJ4tQ+KAnCDQvNC+0LbQtSDQtNCwINC90LUg0YDQsNCx0L7RgtC4INGB0L/QvtGA0LXQtCDQvtGH0LDQutCy0LDQvdC40Y/RgtCwINCy0LgiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo3ODYKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MjYKIG1zZ2lkICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgogbXNnc3RyICIiCiAKQEAgLTI5NiwyMSArMzE2LDIxIEBACiBtc2dpZCAiY2FuIG9ubHkgYmUgdXNlZCBpbiBhIGZ1bmN0aW9uIgogbXNnc3RyICLQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9C/0L7Qu9C30LLQsCDRgdCw0LzQviDQstGK0LIg0YTRg9C90LrRhtC40Y8iCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM1MworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzYwCiBtc2dpZCAiY2Fubm90IHVzZSBgLWYnIHRvIG1ha2UgZnVuY3Rpb25zIgogbXNnc3RyICLigJ4tZuKAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30L/QvtC70LfQstCwINC30LAg0YHRitC30LTQsNCy0LDQvdC10YLQviDQvdCwINGE0YPQvdC60YbQuNC4IgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjUgZXhlY3V0ZV9jbWQuYzo0ODE4CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzIgZXhlY3V0ZV9jbWQuYzo0OTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkb25seSBmdW5jdGlvbiIKIG1zZ3N0ciAiJXM6INGE0YPQvdC60YbQuNGPINGBINC/0YDQsNCy0LAg0YHQsNC80L4g0LfQsCDRh9C10YLQtdC90LUiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2MQorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiVzOiDQv9GA0L7QvNC10L3Qu9C40LLQuNGC0LUg0LfQsCDQvNCw0YHQuNCy0Lgg0L3QtSDQvNC+0LPQsNGCINC00LAg0YHQtSDRg9C90LjRidC+0LbQsNCy0LDRgiDRgtCw0LrQsCIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDY4CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGFzc29jaWF0aXZlIHRvIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIiIKQEAgLTMzOSw4ICszNTksOCBAQAogbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKIG1zZ3N0ciAiJXM6INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfRgtGA0LjQtTogJXMiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM0IGJ1aWx0aW5zL2hhc2guZGVmOjE2OSBleGVjdXRlX2NtZC5jOjQ2NzUKLSM6IHNoZWxsLmM6MTQzOQorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDc5NAorIzogc2hlbGwuYzoxNDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpcyBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXM6INC1INC00LjRgNC10LrRgtC+0YDQuNGPIgpAQCAtMzU1LDcgKzM3NSw4IEBACiBtc2dpZCAiJXM6IGZpbGUgaXMgdG9vIGxhcmdlIgogbXNnc3RyICIlczog0YTQsNC50LvRitGCINC1INC/0YDQtdC60LDQu9C10L3QviDQs9C+0LvRj9C8IgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBleGVjdXRlX2NtZC5jOjQ3NDUgc2hlbGwuYzoxNDQ5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBidWlsdGlucy9ldmFsZmlsZS5jOjIwMyBleGVjdXRlX2NtZC5jOjQ4NjQKKyM6IHNoZWxsLmM6MTQ2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGUgYmluYXJ5IGZpbGUiCiBtc2dzdHIgIiVzOiDQtNCy0L7QuNGH0L3QuNGP0YIg0YTQsNC50Lsg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40LfQv9GK0LvQvdC10L0iCkBAIC0zODQsMTUgKzQwNSwxNSBAQAogbXNnaWQgIlRoZXJlIGFyZSBydW5uaW5nIGpvYnMuXG4iCiBtc2dzdHIgItCY0LzQsCDRgdC/0YDQtdC90Lgg0LfQsNC00LDRh9C4LlxuIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MjYxCisjOiBidWlsdGlucy9mYy5kZWY6MjYyCiBtc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKIG1zZ3N0ciAi0L3QtSDQtSDQvtGC0LrRgNC40YLQsCDQutC+0LzQsNC90LTQsCIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM0MQorIzogYnVpbHRpbnMvZmMuZGVmOjM0OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAi0YPQutCw0LfQstCw0L3QtSDQvdCwINC40YHRgtC+0YDQuNGP0YLQsCIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM2MgorIzogYnVpbHRpbnMvZmMuZGVmOjM3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKIG1zZ3N0ciAiJXM6INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQstC+0YDQuCDQstGA0LXQvNC10L3QtdC9INGE0LDQudC7OiAlcyIKQEAgLTQ5MywxMiArNTE0LDEyIEBACiBtc2dpZCAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JyIKIG1zZ3N0ciAi0L3QtSDQtSDQv9C+0LfQstC+0LvQtdC90LAg0LTRgNGD0LPQsCDQvtC/0YbQuNGPINGBIOKAni144oCcIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoxOTcKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogbXNnc3RyICIlczog0LDRgNCz0YPQvNC10L3RgtC40YLQtSDRgtGA0Y/QsdCy0LAg0LTQsCDRgdCwINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0Lgg0L3QsCDQv9GA0L7RhtC10YHQuCDQuNC70Lgg0LfQsNC00LDRh9C4IgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyNjAKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MwogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgItCd0LXQuNC30LLQtdGB0YLQvdCwINCz0YDQtdGI0LrQsCIKIApAQCAtNTA2LDU2ICs1MjcsNjEgQEAKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICLQvtGH0LDQutCy0LAg0YHQtSDQuNC30YDQsNC3IgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDEgYnVpbHRpbnMvcmVhZC5kZWY6MjcyCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYW4gaW5kZXhlZCBhcnJheSIKK21zZ3N0ciAiJXM6INC90LUg0LUg0L/RgNC+0LzQtdC90LvQuNCy0LAg0LfQsCDQvNCw0YHQuNCyIgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczog0LPRgNC10YjQvdC+INGD0LrQsNC30LLQsNC90LUg0L3QsCDRhNCw0LnQu9C+0LLQuNGPINC00LXRgdC60YDQuNC/0YLQvtGAIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTcgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcjogJXMiCiBtc2dzdHIgIiVkOiDQs9GA0LXRiNC10L0g0YTQsNC50LvQvtCyINC00LXRgdC60YDQuNC/0YLQvtGAOiAlcyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU4IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY2IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwNAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKIG1zZ3N0ciAiJXM6INCz0YDQtdGI0L3QsCDQvtC/0YbQuNGPIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI3NwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXJyYXkgb3JpZ2luIgogbXNnc3RyICIlczog0LPRgNC10YjQvdCwINC+0L/RhtC40Y8iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogbXNnc3RyICIlczog0LPRgNC10YjQvdC+INC40LzQtSDQvdCwINC00LXQudGB0YLQstC40LUiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMxOAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzI2CiAjLCBmdXp6eQogbXNnaWQgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCiBtc2dzdHIgIiVzOiDQvdC1INC1INC/0YDQvtC80LXQvdC70LjQstCwINC30LAg0LzQsNGB0LjQsiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzM5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNDcKIG1zZ2lkICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6MzY3CisjOiBidWlsdGlucy9wcmludGYuZGVmOjM3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBtaXNzaW5nIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIuKAniVz4oCcOiDQu9C40L/RgdCy0LAg0YTQvtGA0LzQsNGC0LjRgNCw0Ykg0LfQvdCw0LoiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTQ0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIuKAniVj4oCcOiDQs9GA0LXRiNC10L0g0YTQvtGA0LzQsNGC0LjRgNCw0Ykg0LfQvdCw0LoiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTcxCisjOiBidWlsdGlucy9wcmludGYuZGVmOjU3OAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogJXM6ICVzIgogbXNnc3RyICIlczog0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTogIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjc1MAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTcKIG1zZ2lkICJtaXNzaW5nIGhleCBkaWdpdCBmb3IgXFx4IgogbXNnc3RyICLQu9C40L/RgdCy0LAg0YjQtdGB0YLQvdCw0LTQtdGB0LXRgtC40YfQvdCwINGG0LjRhNGA0LAg0LfQsCBcXHgiCiAKQEAgLTcwNywxMiArNzMzLDEyIEBACiAiXG4iCiAiICAgINCh0YLQtdC60YrRgiDRgSDQtNC40YDQtdC60YLQvtGA0LjQuNGC0LUg0YHQtSDQstC40LfRg9Cw0LvQuNC30LjRgNCwINGBINC60L7QvNCw0L3QtNCw0YLQsCDigJ5kaXJz4oCcLiIKIAotIzogYnVpbHRpbnMvcmVhZC5kZWY6MjQ4CisjOiBidWlsdGlucy9yZWFkLmRlZjoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgdGltZW91dCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczog0LPRgNC10YjQvdC+INGD0LrQsNC30LLQsNC90LUg0L3QsCDQuNC30YLQuNGH0LDQvdC10YLQviDQvdCwINCy0YDQtdC80LXRgtC+IgogCi0jOiBidWlsdGlucy9yZWFkLmRlZjo1NzQKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkIGVycm9yOiAlZDogJXMiCiBtc2dzdHIgItCz0YDQtdGI0LrQsCDQv9GA0Lgg0YfQtdGC0LXQvdC1OiAlZDogJXMiCkBAIC03NTEsMTIgKzc3NywxMiBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICLQsdGA0L7QuSDQvdCwINC/0YDQtdC80LXRgdGC0LLQsNC90LjRj9GC0LAiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNTQKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICIiCiAi0L3QtSDQvNC+0LbQtSDQtdC00L3QvtCy0YDQtdC80LXQvdC90L4g0LTQsCDRgdC1INC30LDQtNCw0LLQsNGCINC4INC00LAg0YHQtSDQv9GA0LXQvNCw0YXQstCw0YIg0L7Qv9GG0LjQuCDQvdCwINC+0LHQstC40LLQutCw0YLQsCIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMxOQorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBzaGVsbCBvcHRpb24gbmFtZSIKIG1zZ3N0ciAiJXM6INCz0YDQtdGI0L3QviDQuNC80LUg0L3QsCDQvtC/0YbQuNGPINC90LAg0L7QsdCy0LjQstC60LDRgtCwIgpAQCAtODQ2LDgwICs4NzIsODAgQEAKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIHN5bWJvbGljIG1vZGUgY2hhcmFjdGVyIgogbXNnc3RyICLigJ4lY+KAnDog0L3QtdC/0YDQsNCy0LjQu9C10L0g0LfQvdCw0Log0LfQsCDQvtC/0LjRgdCw0YLQtdC70LXQvSDRgNC10LbQuNC8IgogCi0jOiBlcnJvci5jOjg5IGVycm9yLmM6MzIwIGVycm9yLmM6MzIyIGVycm9yLmM6MzI0CisjOiBlcnJvci5jOjkwIGVycm9yLmM6MzIxIGVycm9yLmM6MzIzIGVycm9yLmM6MzI1CiBtc2dpZCAiIGxpbmUgIgogbXNnc3RyICIiCiAKLSM6IGVycm9yLmM6MTY0CisjOiBlcnJvci5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJsYXN0IGNvbW1hbmQ6ICVzXG4iCiBtc2dzdHIgItC/0L7RgdC70LXQtNC90LAg0LrQvtC80LDQvdC00LA6ICVzXG4iCiAKLSM6IGVycm9yLmM6MTcyCisjOiBlcnJvci5jOjE3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZy4uLiIKIG1zZ3N0ciAi0J/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LDQvdC14oCmIgogCi0jOiBlcnJvci5jOjQwNQorIzogZXJyb3IuYzo0MDYKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQgZXJyb3IiCiBtc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdCwINCz0YDQtdGI0LrQsCDQsiDQutC+0LzQsNC90LTQsCIKIAotIzogZXJyb3IuYzo0MDYKKyM6IGVycm9yLmM6NDA3CiBtc2dpZCAiYmFkIGNvbW1hbmQgdHlwZSIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0LLQuNC0INC60L7QvNCw0L3QtNCwIgogCi0jOiBlcnJvci5jOjQwNworIzogZXJyb3IuYzo0MDgKIG1zZ2lkICJiYWQgY29ubmVjdG9yIgogbXNnc3RyICLQu9C+0YjQsCDQstGA0YrQt9C60LAiCiAKLSM6IGVycm9yLmM6NDA4CisjOiBlcnJvci5jOjQwOQogbXNnaWQgImJhZCBqdW1wIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQv9GA0LXRhdC+0LQiCiAKLSM6IGVycm9yLmM6NDQ2CisjOiBlcnJvci5jOjQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5ib3VuZCB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6INC/0YDQvtC80LXQvdC70LjQstCwINCx0LXQtyDRgdGC0L7QudC90L7RgdGCIgogCiAjOiBldmFsLmM6MTgxCiAjLCBjLWZvcm1hdAotbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnaWQgIgd0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCiBtc2dzdHIgIiIKICJeR9Cy0YDQtdC80LXRgtC+INC30LAg0LjQt9GH0LDQutCy0LDQvdC1INC90LAg0LLRhdC+0LQg0LjQt9GC0LXRh9C1OiDRgdC70LXQtNCy0LAg0LDQstGC0L7QvNCw0YLQuNGH0L3QviDQuNC30LvQuNC30LDQvdC1INC+0YIgIgogItGB0LjRgdGC0LXQvNCw0YLQsFxuIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5MQorIzogZXhlY3V0ZV9jbWQuYzo0OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlZGlyZWN0IHN0YW5kYXJkIGlucHV0IGZyb20gL2Rldi9udWxsOiAlcyIKIG1zZ3N0ciAi0YHRgtCw0L3QtNCw0YDRgtC90LjRj9GCINCy0YXQvtC0INC+0YIgL2Rldi9udWxsINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0LXQvdCw0YHQvtGH0LXQvTogJXMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MTExMgorIzogZXhlY3V0ZV9jbWQuYzoxMTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAi0LIg0L/RgNC+0LzQtdC90LvQuNCy0LDRgtCwICRUSU1FRk9STUFUOiDigJ4lY+KAnDog0LPRgNC10YjQtdC9INGE0L7RgNC80LDRgtC40YDQsNGJINC30L3QsNC6IgogCi0jOiBleGVjdXRlX2NtZC5jOjIwMTEKKyM6IGV4ZWN1dGVfY21kLmM6MjA3NQogIywgZnV6enkKIG1zZ2lkICJwaXBlIGVycm9yIgogbXNnc3RyICLQs9GA0LXRiNC60LAg0L/RgNC4INC30LDQv9C40YE6ICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjQzNjMKKyM6IGV4ZWN1dGVfY21kLmM6NDQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCiBtc2dzdHIgIiIKICIlczog0L7Qs9GA0LDQvdC40YfQtdC90LjQtTog0LIg0LjQvNC10L3QsNGC0LAg0L3QsCDQutC+0LzQsNC90LTQuNGC0LUg0L3QtSDQvNC+0LbQtSDQtNCwINC/0YDQuNGB0YrRgdGC0LLQsCDQt9C90LDQutGK0YIg4oCeL+KAnCIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDU0CisjOiBleGVjdXRlX2NtZC5jOjQ1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIlczog0LrQvtC80LDQvdC00LDRgtCwINC90LUg0LUg0L7RgtC60YDQuNGC0LAiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDcwOAorIzogZXhlY3V0ZV9jbWQuYzo0ODI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogYmFkIGludGVycHJldGVyIgogbXNnc3RyICIlczogJXM6INC70L7RiCDQuNC90YLQtdGA0L/RgNC10YLQsNGC0L7RgCIKIAotIzogZXhlY3V0ZV9jbWQuYzo0ODU3CisjOiBleGVjdXRlX2NtZC5jOjQ5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKIG1zZ3N0ciAi0YTQsNC50LvQvtCy0LjRj9GCINC00LXRgdC60YDQuNC/0YLQvtGAICVkINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC00YPQsdC70LjRgNCwINC60LDRgtC+INC00LXRgdC60YDQuNC/0YLQvtGAICVkIgpAQCAtOTY0LDI5ICs5OTAsMjkgQEAKIG1zZ2lkICJtaXNzaW5nIGApJyIKIG1zZ3N0ciAi0LvQuNC/0YHQstCwIOKAninigJwiCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzUKKyM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKIG1zZ2lkICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCiBtc2dzdHIgItGB0LjQvdGC0LDQutGC0LjRh9C90LAg0LPRgNC10YjQutCwOiDQvtGH0LDQutCy0LAg0YHQtSDQvtC/0LXRgNCw0YLQvtGAIgogCi0jOiBleHByLmM6MTE3NworIzogZXhwci5jOjExNzgKICMsIGZ1enp5CiBtc2dpZCAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCiBtc2dzdHIgItGB0LjQvdGC0LDQutGC0LjRh9C90LAg0LPRgNC10YjQutCwOiDQuNC30LjRgdC60LLQsCDRgdC1INCw0YDQuNGC0LzQtdGC0LjRh9C10L0g0LjQt9GA0LDQtyIKIAotIzogZXhwci5jOjEyMDEKKyM6IGV4cHIuYzoxMjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzJXMlczogJXMgKGVycm9yIHRva2VuIGlzIFwiJXNcIikiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjEyNTkKKyM6IGV4cHIuYzoxMjYwCiBtc2dpZCAiaW52YWxpZCBhcml0aG1ldGljIGJhc2UiCiBtc2dzdHIgItCz0YDQtdGI0L3QsCDQsNGA0LjRgtC80LXRgtC40YfQvdCwINC+0YHQvdC+0LLQsCDQvdCwINCx0YDQvtC50L3QsCDRgdC40YHRgtC10LzQsCIKIAotIzogZXhwci5jOjEyNzkKKyM6IGV4cHIuYzoxMjgwCiBtc2dpZCAidmFsdWUgdG9vIGdyZWF0IGZvciBiYXNlIgogbXNnc3RyICLRgdGC0L7QudC90L7RgdGC0YLQsCDQtSDQv9GA0LXQutCw0LvQtdC90L4g0LPQvtC70Y/QvNCwINC30LAg0L7RgdC90L7QstCw0YLQsCIKIAotIzogZXhwci5jOjEzMjgKKyM6IGV4cHIuYzoxMzI5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogZXhwcmVzc2lvbiBlcnJvclxuIgogbXNnc3RyICIlczog0L7Rh9Cw0LrQstCwINGB0LUg0YbQtdC70L7Rh9C40YHQu9C10L0g0LjQt9GA0LDQtyIKQEAgLTk5NSw3ICsxMDIxLDcgQEAKIG1zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgogbXNnc3RyICJnZXRjd2Q6INGA0L7QtNC40YLQtdC70YHQutC40YLQtSDQtNC40YDQtdC60YLQvtGA0LjQuCDQvdC1INC80L7Qs9Cw0YIg0LTQsCDQsdGK0LTQsNGCINC00L7RgdGC0YrQv9C10L3QuCIKIAotIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ1NTkKKyM6IGlucHV0LmM6OTQgc3Vic3QuYzo0ODU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30YfQuNGB0YLQuCDRgNC10LbQuNC80YrRgiDQsdC10Lcg0LfQsNCx0LDQstGP0L3QtSDQvdCwINGE0LDQudC70L7QstC40Y8g0LTQtdGB0LrRgNC40L/RgtC+0YAgJWQiCkBAIC0xMDUyLDcgKzEwNzgsNyBAQAogbXNnaWQgIkRvbmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMgorIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMwogbXNnaWQgIlN0b3BwZWQiCiBtc2dzdHIgIiIKIApAQCAtMTA4OSw2OSArMTExNSw3MyBAQAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE3NzEKKyM6IGpvYnMuYzoxNzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyMDk5IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMDQgbm9qb2JzLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbCIKIG1zZ3N0ciAi0LjQt9GH0LDQutCy0LDQvdC1OiDQv9GA0L7RhtC10YHRitGCINGBINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAICVsZCDQvdC1INC1INC00YrRidC10YDQtdC9INC90LAg0YLQsNC30Lgg0L7QsdCy0LjQstC60LAiCiAKLSM6IGpvYnMuYzoyMzI2CisjOiBqb2JzLmM6MjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgogbXNnc3RyICLQuNC30YfQsNC60LLQsNC90LU6INC70LjQv9GB0LLQsNGCINC00LDQvdC90Lgg0LfQsCDQv9GA0L7RhtC10YEg0YEg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAgJWxkIgogCi0jOiBqb2JzLmM6MjU5OAorIzogam9icy5jOjI2MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKIG1zZ3N0ciAi0LjQt9GH0LDQutCy0LDQvdC1INC90LAg0LfQsNC00LDRh9CwOiDQt9Cw0LTQsNGH0LDRgtCwICVkINC1INGB0L/RgNGP0L3QsCIKIAotIzogam9icy5jOjI4MjAKKyM6IGpvYnMuYzoyODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgaGFzIHRlcm1pbmF0ZWQiCiBtc2dzdHIgIiVzOiDQt9Cw0LTQsNGH0LDRgtCwINC1INC/0YDQuNC60LvRjtGH0LjQu9CwIgogCi0jOiBqb2JzLmM6MjgyOQorIzogam9icy5jOjI4MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiBtc2dzdHIgIiVzOiDQt9Cw0LTQsNGH0LAgJWQg0LLQtdGH0LUg0LUg0LLRitCyINGE0L7QvdC+0LIg0YDQtdC20LjQvCIKIAotIzogam9icy5jOjM0OTIKKyM6IGpvYnMuYzozMDU5Cittc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgorbXNnc3RyICIiCisKKyM6IGpvYnMuYzozNTA4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogbGluZSAlZDogIgogbXNnc3RyICIlczog0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTogIgogCi0jOiBqb2JzLmM6MzUwNiBub2pvYnMuYzo4MTQKKyM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKGNvcmUgZHVtcGVkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzUxOCBqb2JzLmM6MzUzMQorIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHdkIG5vdzogJXMpXG4iCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM1NjMKKyM6IGpvYnMuYzozNTc5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2MjMKKyM6IGpvYnMuYzozNjM5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjMzCisjOiBqb2JzLmM6MzY0OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2NjEKKyM6IGpvYnMuYzozNjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjY2CisjOiBqb2JzLmM6MzY4MgogbXNnaWQgIm5vIGpvYiBjb250cm9sIGluIHRoaXMgc2hlbGwiCiBtc2dzdHIgItCyINGC0LDQt9C4INC+0LHQstC40LLQutCwINC90Y/QvNCwINGD0L/RgNCw0LLQu9C10L3QuNC1INC90LAg0LfQsNC00LDRh9C40YLQtSIKIApAQCAtMTI1Miw2ICsxMjgyLDI2IEBACiBtc2dpZCAibmV0d29yayBvcGVyYXRpb25zIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgItC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCw0YIg0LzRgNC10LbQvtCy0Lgg0L7Qv9C10YDQsNGG0LjQuCIKIAorIzogbG9jYWxlLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICLQv9GA0LXQt9Cw0LTQtdC70Y/QvdC1INC90LAg0L/QsNC80LXRgjogJXM6JWQ6ICVsdSDQsdCw0LnRgtCwINC90LUg0LzQvtCz0LDRgiDQtNCwINGB0LUg0LfQsNC00LXQu9GP0YIiCisKKyM6IGxvY2FsZS5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgItC/0YDQtdC30LDQtNC10LvRj9C90LUg0L3QsCDQv9Cw0LzQtdGCOiAlczolZDogJWx1INCx0LDQudGC0LAg0L3QtSDQvNC+0LPQsNGCINC00LAg0YHQtSDQt9Cw0LTQtdC70Y/RgiIKKwogIzogbWFpbGNoZWNrLmM6NDMzCiBtc2dpZCAiWW91IGhhdmUgbWFpbCBpbiAkXyIKIG1zZ3N0ciAi0JjQvNCw0YLQtSDQv9C+0YnQsCDQsiAkXyIKQEAgLTEyNjUsMTMzICsxMzE1LDEzMyBAQAogbXNnaWQgIlRoZSBtYWlsIGluICVzIGhhcyBiZWVuIHJlYWRcbiIKIG1zZ3N0ciAi0J/QvtGJ0LDRgtCwINCyICVzINCy0LXRh9C1INC1INC/0YDQvtGH0LXRgtC10L3QsFxuIgogCi0jOiBtYWtlX2NtZC5jOjMyMgorIzogbWFrZV9jbWQuYzozMjMKIG1zZ2lkICJzeW50YXggZXJyb3I6IGFyaXRobWV0aWMgZXhwcmVzc2lvbiByZXF1aXJlZCIKIG1zZ3N0ciAi0YHQuNC90YLQsNC60YLQuNGH0L3QsCDQs9GA0LXRiNC60LA6INC40LfQuNGB0LrQstCwINGB0LUg0LDRgNC40YLQvNC10YLQuNGH0LXQvSDQuNC30YDQsNC3IgogCi0jOiBtYWtlX2NtZC5jOjMyNAorIzogbWFrZV9jbWQuYzozMjUKIG1zZ2lkICJzeW50YXggZXJyb3I6IGA7JyB1bmV4cGVjdGVkIgogbXNnc3RyICLRgdC40L3RgtCw0LrRgtC40YfQvdCwINCz0YDQtdGI0LrQsDog0L3QtdC+0YfQsNC60LLQsNC9INC30L3QsNC6IOKAnjvigJwiCiAKLSM6IG1ha2VfY21kLmM6MzI1CisjOiBtYWtlX2NtZC5jOjMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGAoKCVzKSknIgogbXNnc3RyICLRgdC40L3RgtCw0LrRgtC40YfQvdCwINCz0YDQtdGI0LrQsDog4oCeKCglcykp4oCcIgogCi0jOiBtYWtlX2NtZC5jOjU2NworIzogbWFrZV9jbWQuYzo1NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9oZXJlX2RvY3VtZW50OiBiYWQgaW5zdHJ1Y3Rpb24gdHlwZSAlZCIKIG1zZ3N0ciAi0LLRitGC0YDQtdGI0LXQvSDQtNC+0LrRg9C80LXQvdGCINGBIOKAnjw84oCcOiDQvdC10L/RgNCw0LLQuNC70LXQvSDQstC40LQg0LjQvdGB0YLRgNGD0LrRhtC40Y8gJWQiCiAKLSM6IG1ha2VfY21kLmM6NjUxCisjOiBtYWtlX2NtZC5jOjY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJoZXJlLWRvY3VtZW50IGF0IGxpbmUgJWQgZGVsaW1pdGVkIGJ5IGVuZC1vZi1maWxlICh3YW50ZWQgYCVzJykiCiBtc2dzdHIgIiIKIAotIzogbWFrZV9jbWQuYzo3NDYKKyM6IG1ha2VfY21kLmM6NzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlIgogbXNnc3RyICIiCiAi0L/RgNC10L3QsNGB0L7Rh9Cy0LDQvdC1OiDQuNC90YHRgtGA0YPQutGG0LjRj9GC0LAg0LfQsCDQv9GA0LXQvdCw0YHQvtGH0LLQsNC90LUg4oCeJWTigJwg0LUg0LjQt9Cy0YrQvSDQtNC+0L/Rg9GB0YLQuNC80LjRjyDQtNC40LDQv9Cw0LfQvtC9IgogCi0jOiBwYXJzZS55OjI5ODYgcGFyc2UueTozMjE4CisjOiBwYXJzZS55OjMxMzMgcGFyc2UueTozMzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGAlYyciCiBtc2dzdHIgIiIKICLQvdC10L7Rh9Cw0LrQstCw0L0g0LfQvdCw0Log0LfQsCDQutGA0LDQuSDQvdCwINGE0LDQudC7IOKAnkVPRuKAnCwg0LAg0YHQtSDQvtGH0LDQutCy0LDRiNC1INGB0YrQvtGC0LLQtdGC0YHRgtCy0LDRiSDQt9C90LDQuiDigJ4lY+KAnCIKIAotIzogcGFyc2UueTozNzIyCisjOiBwYXJzZS55OjM5NTEKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBgXV0nIgogbXNnc3RyICLQvdC10L7Rh9Cw0LrQstCw0L0g0LfQvdCw0Log0LfQsCDQutGA0LDQuSDQvdCwINGE0LDQudC7IOKAnkVPRuKAnCwg0LAg0YHQtSDQvtGH0LDQutCy0LDRiNC1IOKAnl1d4oCcIgogCi0jOiBwYXJzZS55OjM3MjcKKyM6IHBhcnNlLnk6Mzk1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICLRgdC40L3RgtCw0LrRgtC40YfQvdCwINCz0YDQtdGI0LrQsCDQsiDRg9GB0LvQvtCy0LXQvSDQuNC30YDQsNC3OiDQvdC10L7Rh9Cw0LrQstCw0L3QsCDQu9C10LrRgdC10LzQsCDigJ4lc+KAnCIKIAotIzogcGFyc2UueTozNzMxCisjOiBwYXJzZS55OjM5NjAKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAi0YHQuNC90YLQsNC60YLQuNGH0L3QsCDQs9GA0LXRiNC60LAg0LIg0YPRgdC70L7QstC10L0g0LjQt9GA0LDQtyIKIAotIzogcGFyc2UueTozODA5CisjOiBwYXJzZS55OjQwMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCiBtc2dzdHIgItC90LXQvtGH0LDQutCy0LDQvdCwINC70LXQutGB0LXQvNCwIOKAniVz4oCcLCDQsCDRgdC1INC+0YfQsNC60LLQsNGI0LUg0LfQvdCw0LrRitGCIOKAninigJwiCiAKLSM6IHBhcnNlLnk6MzgxMworIzogcGFyc2UueTo0MDQyCiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICLQvtGH0LDQutCy0LDRiNC1INGB0LUg4oCeKeKAnCIKIAotIzogcGFyc2UueTozODQxCisjOiBwYXJzZS55OjQwNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICLQvdC10L7Rh9Cw0LrQstCw0L0g0LDRgNCz0YPQvNC10L3RgiDigJ4lc+KAnCDQt9CwINGD0L3QsNGA0LXQvSDRg9GB0LvQvtCy0LXQvSDQvtC/0LXRgNCw0YLQvtGAIgogCi0jOiBwYXJzZS55OjM4NDUKKyM6IHBhcnNlLnk6NDA3NAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgItC90LXQvtGH0LDQutCy0LDQvSDQsNGA0LPRg9C80LXQvdGCINC30LAg0YPQvdCw0YDQtdC9INGD0YHQu9C+0LLQtdC9INC+0L/QtdGA0LDRgtC+0YAiCiAKLSM6IHBhcnNlLnk6Mzg4NQorIzogcGFyc2UueTo0MTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICLQvdC10L7Rh9Cw0LrQstCw0L3QsCDQu9C10LrRgdC10LzQsCDigJ4lc+KAnCwg0L7Rh9Cw0LrQstCw0YjQtSDRgdC1INCx0LjQvdCw0YDQtdC9INGD0YHQu9C+0LLQtdC9INC+0L/QtdGA0LDRgtC+0YAiCiAKLSM6IHBhcnNlLnk6Mzg4OQorIzogcGFyc2UueTo0MTI0CiBtc2dpZCAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICLQvtGH0LDQutCy0LDRiNC1INGB0LUg0LHQuNC90LDRgNC10L0g0YPRgdC70L7QstC10L0g0L7Qv9C10YDQsNGC0L7RgCIKIAotIzogcGFyc2UueTozOTA2CisjOiBwYXJzZS55OjQxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAi0L3QtdC+0YfQsNC60LLQsNC9INCw0YDQs9GD0LzQtdC90YIg4oCeJXPigJwg0LfQsCDQsdC40L3QsNGA0LXQvSDRg9GB0LvQvtCy0LXQvSDQvtC/0LXRgNCw0YLQvtGAIgogCi0jOiBwYXJzZS55OjM5MTAKKyM6IHBhcnNlLnk6NDE1MAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICLQvdC10L7Rh9Cw0LrQstCw0L0g0LDRgNCz0YPQvNC10L3RgiDQt9CwINCx0LjQvdCw0YDQtdC9INGD0YHQu9C+0LLQtdC9INC+0L/QtdGA0LDRgtC+0YAiCiAKLSM6IHBhcnNlLnk6MzkyMQorIzogcGFyc2UueTo0MTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICLQvdC10L7Rh9Cw0LrQstCw0L3QsCDQu9C10LrRgdC10LzQsCDigJ4lY+KAnCDQsiDRg9GB0LvQvtCy0L3QsCDQutC+0LzQsNC90LTQsCIKIAotIzogcGFyc2UueTozOTI0CisjOiBwYXJzZS55OjQxNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgItC90LXQvtGH0LDQutCy0LDQvdCwINC70LXQutGB0LXQvNCwIOKAniVz4oCcINCyINGD0YHQu9C+0LLQvdCwINC60L7QvNCw0L3QtNCwIgogCi0jOiBwYXJzZS55OjM5MjgKKyM6IHBhcnNlLnk6NDE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuICVkIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgItC90LXQvtGH0LDQutCy0LDQvdCwINC70LXQutGB0LXQvNCwICVkINCyINGD0YHQu9C+0LLQvdCwINC60L7QvNCw0L3QtNCwIgogCi0jOiBwYXJzZS55OjUxOTUKKyM6IHBhcnNlLnk6NTQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgItGB0LjQvdGC0LDQutGC0LjRh9C90LAg0LPRgNC10YjQutCwINCyINCx0LvQuNC30L7RgdGCINC00L4g0L3QtdC+0YfQsNC60LLQsNC90LDRgtCwINC70LXQutGB0LXQvNCwIOKAniVz4oCcIgogCi0jOiBwYXJzZS55OjUyMTMKKyM6IHBhcnNlLnk6NTQ3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgogbXNnc3RyICLRgdC40L3RgtCw0LrRgtC40YfQvdCwINCz0YDQtdGI0LrQsCDQsiDQsdC70LjQt9C+0YHRgiDQtNC+IOKAniVz4oCcIgogCi0jOiBwYXJzZS55OjUyMjMKKyM6IHBhcnNlLnk6NTQ4NwogbXNnaWQgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAi0YHQuNC90YLQsNC60YLQuNGH0L3QsCDQs9GA0LXRiNC60LA6INC90LXQvtGH0LDQutCy0LDQvSDQutGA0LDQuSDQvdCwINGE0LDQudC7IgogCi0jOiBwYXJzZS55OjUyMjMKKyM6IHBhcnNlLnk6NTQ4NwogbXNnaWQgInN5bnRheCBlcnJvciIKIG1zZ3N0ciAi0YHQuNC90YLQsNC60YLQuNGH0L3QsCDQs9GA0LXRiNC60LAiCiAKLSM6IHBhcnNlLnk6NTI4NQorIzogcGFyc2UueTo1NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICLQmNC30L/QvtC70LfQstCw0LnRgtC1IOKAniVz4oCcLCDQt9CwINC00LAg0LjQt9C70LXQt9C10YLQtSDQvtGCINC+0LHQstC40LLQutCw0YLQsC5cbiIKIAotIzogcGFyc2UueTo1NDQ3CisjOiBwYXJzZS55OjU3MTEKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgKSciCiBtc2dzdHIgItC90LXQvtGH0LDQutCy0LDQvSDQt9C90LDQuiDQt9CwINC60YDQsNC5INC90LAg0YTQsNC50Lsg4oCeRU9G4oCcLCDQvtGH0LDQutCy0LDRiNC1INGB0LUg0LfQvdCw0LrRitGCIOKAninigJwiCiAKLSM6IHBjb21wbGV0ZS5jOjEwMTgKKyM6IHBjb21wbGV0ZS5jOjEwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgItC00L7Qv9C40YHQstCw0L3QtTog0YTRg9C90LrRhtC40Y/RgtCwIOKAniVz4oCcINC90LUg0LUg0L7RgtC60YDQuNGC0LAiCkBAIC0xNDAyLDcxICsxNDUyLDkwIEBACiBtc2dzdHIgIiIKICLQstC80YrQutCy0LDQvdC1INC90LAg0LfQsNCy0YrRgNGI0LLQsNC90LUg0L3QsCDQutC+0LzQsNC90LTQsDogJXMg0YPQutCw0LfQstCw0L3QtSDQvdCwINC60L7QvNCw0L3QtNCwLCDQutC+0LXRgtC+INC1IE5VTEwiCiAKLSM6IHByaW50X2NtZC5jOjI4NQorIzogcHJpbnRfY21kLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAi0LrQvtC80LDQvdC00LAg0LfQsCDQv9C10YfQsNGCOiDQu9C+0Ygg0LrQvtC90LXQutGC0L7RgCDigJ4lZOKAnCIKIAotIzogcHJpbnRfY21kLmM6MTM0OAorIzogcHJpbnRfY21kLmM6MzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiVkOiDQs9GA0LXRiNC10L0g0YTQsNC50LvQvtCyINC00LXRgdC60YDQuNC/0YLQvtGAOiAlcyIKKworIzogcHJpbnRfY21kLmM6MzY4Cittc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCittc2dzdHIgIiIKKworIzogcHJpbnRfY21kLmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzoxNDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAi0L7RgtC/0LXRh9Cw0YLQstCw0L3QtTog4oCeJWPigJw6INC90LXQv9GA0LDQstC40LvQtdC9INGE0L7RgNC80LDRgtC40YDQsNGJINC30L3QsNC6IgogCi0jOiByZWRpci5jOjEwNQorIzogcmVkaXIuYzoxMTAKIG1zZ2lkICJmaWxlIGRlc2NyaXB0b3Igb3V0IG9mIHJhbmdlIgogbXNnc3RyICLRhNCw0LnQu9C+0LLQuNGP0YIg0LTQtdGB0LrRgNC40L/RgtC+0YAg0LUg0LjQt9Cy0YrQvSDQtNC+0L/Rg9GB0YLQuNC80LjRjyDQtNC40LDQv9Cw0LfQvtC9IgogCi0jOiByZWRpci5jOjE0OAorIzogcmVkaXIuYzoxNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIG1zZ3N0ciAiJXM6INC00LLRg9GB0LzQuNGB0LvQtdC90L4g0L/RgNC10L3QsNGB0L7Rh9Cy0LDQvdC1IgogCi0jOiByZWRpci5jOjE1MgorIzogcmVkaXIuYzoxNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIG1zZ3N0ciAiJXM6INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQtdC30LDQv9C40YjQtSDRgdGK0YnQtdGB0YLQstGD0LLQsNGJINGE0LDQudC7IgogCi0jOiByZWRpci5jOjE1NworIzogcmVkaXIuYzoxNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiVzOiDQv9C+0YDQsNC00Lgg0L7Qs9GA0LDQvdC40YfQtdC90LjQtSDQuNC30YXQvtC00YrRgiDQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0LXQvdCw0YHQvtGH0LgiCiAKLSM6IHJlZGlyLmM6MTYyCisjOiByZWRpci5jOjE4MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDRgdGK0LfQtNCw0LTQtSDQstGA0LXQvNC10L3QtdC9INGE0LDQudC7INC30LAg0LLRitGC0YDQtdGI0LXQvSDQtNC+0LrRg9C80LXQvdGCINGBIOKAnjw84oCcOiAlcyIKIAotIzogcmVkaXIuYzo1MTcKKyM6IHJlZGlyLmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKK21zZ3N0ciAiJXM6INC90LAg0YfQu9C10L0g0L7RgiDQvNCw0YHQuNCyINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQuNGB0LLQvtC4INGB0L/QuNGB0YrQuiIKKworIzogcmVkaXIuYzo1NDQKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiBtc2dzdHIgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCDQvdC1INGB0LUg0L/QvtC00LTRitGA0LbQsCwg0LDQutC+INC90Y/QvNCwINC/0L7QtNC00YDRitC20LrQsCDQvdCwINC80YDQtdC20LAiCiAKLSM6IHJlZGlyLmM6MTAyMworIzogcmVkaXIuYzoxMTAxCiBtc2dpZCAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCiBtc2dzdHIgItCz0YDQtdGI0LrQsCDQv9GA0Lgg0L/RgNC10L3QsNGB0L7Rh9Cy0LDQvdC1OiDRhNCw0LnQu9C+0LLQuNGP0YIg0LTQtdGB0LrRgNC40L/RgtC+0YAg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC00YPQsdC70LjRgNCw0L0iCiAKLSM6IHNoZWxsLmM6MzI4CisjOiBzaGVsbC5jOjMzMgogbXNnaWQgImNvdWxkIG5vdCBmaW5kIC90bXAsIHBsZWFzZSBjcmVhdGUhIgogbXNnc3RyICLQvdC1INC1INC+0YLQutGA0LjRgtCwINC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCAvdG1wLiDQodGK0LfQtNCw0LnRgtC1INGPISIKIAotIzogc2hlbGwuYzozMzIKKyM6IHNoZWxsLmM6MzM2CiBtc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCiBtc2dzdHIgIi90bXAg0YLRgNGP0LHQstCwINC00LAg0LUg0LTQuNGA0LXQutGC0L7RgNC40Y8iCiAKLSM6IHNoZWxsLmM6ODc2CisjOiBzaGVsbC5jOjg4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJWMlYzog0L3QtdC/0YDQsNCy0LjQu9C90LAg0L7Qv9GG0LjRjyIKIAotIzogc2hlbGwuYzoxNjM4CisjOiBzaGVsbC5jOjE2NTEKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgItCd0LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0L7Qu9GD0YfQuCDQuNC80LXRgtC+INC90LAg0YLQtdC60YPRidC40Y8g0L/QvtGC0YDQtdCx0LjRgtC10LshIgogCi0jOiBzaGVsbC5jOjE3NzgKKyM6IHNoZWxsLmM6MTc5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzoxNzc5CisjOiBzaGVsbC5jOjE3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCkBAIC0xNDc1LDMzOCArMTU0NCwzNDQgQEAKICLQo9C/0L7RgtGA0LXQsdCwOiAgICAlcyBb0LTRitC70LPQsCDQvtC/0YbQuNGPINC90LAgR05VXSBb0L7Qv9GG0LjRj10g4oCmXG4iCiAiICAgICAgICAgICAgICVzIFvQtNGK0LvQs9CwINC+0L/RhtC40Y8g0L3QsCBHTlVdIFvQvtC/0YbQuNGPXSDRhNCw0LnQuy3RgdC60YDQuNC/0YIg4oCmXG4iCiAKLSM6IHNoZWxsLmM6MTc4MQorIzogc2hlbGwuYzoxNzk2CiBtc2dpZCAiR05VIGxvbmcgb3B0aW9uczpcbiIKIG1zZ3N0ciAi0JTRitC70LPQuCDQvtC/0YbQuNC4INC90LAgR05VOlxuIgogCi0jOiBzaGVsbC5jOjE3ODUKKyM6IHNoZWxsLmM6MTgwMAogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgItCe0L/RhtC40Lgg0L3QsCDQvtCx0LLQuNCy0LrQsNGC0LA6XG4iCiAKLSM6IHNoZWxsLmM6MTc4NgorIzogc2hlbGwuYzoxODAxCiBtc2dpZCAiXHQtaXJzRCBvciAtYyBjb21tYW5kIG9yIC1PIHNob3B0X29wdGlvblx0XHQoaW52b2NhdGlvbiBvbmx5KVxuIgogbXNnc3RyICIiCiAiICAgIC1pcnNEINC40LvQuCAtYyDQutC+0LzQsNC90LTQsCwg0LjQu9C4IC1PINC60YrRgdCwX9C+0L/RhtC40Y8gICAgICAgICjRgdCw0LzQviDQv9GA0Lgg0YHRgtCw0YDRgtC40YDQsNC90LUpXG4iCiAKLSM6IHNoZWxsLmM6MTgwMQorIzogc2hlbGwuYzoxODE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgogbXNnc3RyICIgICAgLSVzINC40LvQuCAtbyDQvtC/0YbQuNGPXG4iCiAKLSM6IHNoZWxsLmM6MTgwNworIzogc2hlbGwuYzoxODIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIFwiaGVscCBzZXRcIicgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgb3B0aW9ucy5cbiIKIG1zZ3N0ciAiIgogItCX0LAg0L/QvtCy0LXRh9C1INC40L3RhNC+0YDQvNCw0YbQuNGPINC30LAg0L7Qv9GG0LjQuNGC0LUg0L3QsCDQvtCx0LLQuNCy0LrQsNGC0LAg0LLRitCy0LXQtNC10YLQtSDigJ4lcyAtYyBcImhlbHAgc2V0XCLigJwuXG4iCiAKLSM6IHNoZWxsLmM6MTgwOAorIzogc2hlbGwuYzoxODIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIGhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIGJ1aWx0aW4gY29tbWFuZHMuXG4iCiBtc2dzdHIgIiIKICLQl9CwINC/0L7QstC10YfQtSDQuNC90YTQvtGA0LzQsNGG0LjRjyDQt9CwINCy0LPRgNCw0LTQtdC90LjRgtC1INCyINC+0LHQstC40LLQutCw0YLQsCDQutC+0LzQsNC90LTQuCDQstGK0LLQtdC00LXRgtC1IOKAniVzIC1jICIKICJoZWxw4oCcLlxuIgogCi0jOiBzaGVsbC5jOjE4MDkKKyM6IHNoZWxsLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgdGhlIGBiYXNoYnVnJyBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgogbXNnc3RyICLQl9CwINC00LAg0LTQvtC60LvQsNC00LLQsNGC0LUg0LPRgNC10YjQutC4INC40LfQv9C+0LvQt9Cy0LDQudGC0LUg0LrQvtC80LDQvdC00LDRgtCwIOKAnmJhc2hidWfigJwuXG4iCiAKLSM6IHNpZy5jOjU4MworIzogc2lnLmM6NjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInNpZ3Byb2NtYXNrOiAlZDogaW52YWxpZCBvcGVyYXRpb24iCiBtc2dzdHIgItC80LDRgdC60LAg0LfQsCDQvtCx0YDQsNCx0L7RgtC60LDRgtCwINC90LAg0YHQuNCz0L3QsNC70Lg6ICVkOiDQvdC10LLQsNC70LjQtNC90LAg0L7Qv9C10YDQsNGG0LjRjyIKIAotIzogc2lnbGlzdC5jOjQ3CisjOiBzaWdsaXN0LmM6NDgKIG1zZ2lkICJCb2d1cyBzaWduYWwiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjUwCisjOiBzaWdsaXN0LmM6NTEKIG1zZ2lkICJIYW5ndXAiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjU0CisjOiBzaWdsaXN0LmM6NTUKIG1zZ2lkICJJbnRlcnJ1cHQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjU4CisjOiBzaWdsaXN0LmM6NTkKIG1zZ2lkICJRdWl0IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo2MgorIzogc2lnbGlzdC5jOjYzCiBtc2dpZCAiSWxsZWdhbCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NjYKKyM6IHNpZ2xpc3QuYzo2NwogbXNnaWQgIkJQVCB0cmFjZS90cmFwIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo3NAorIzogc2lnbGlzdC5jOjc1CiBtc2dpZCAiQUJPUlQgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjc4CisjOiBzaWdsaXN0LmM6NzkKIG1zZ2lkICJFTVQgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjgyCisjOiBzaWdsaXN0LmM6ODMKIG1zZ2lkICJGbG9hdGluZyBwb2ludCBleGNlcHRpb24iCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjg2CisjOiBzaWdsaXN0LmM6ODcKIG1zZ2lkICJLaWxsZWQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjkwCisjOiBzaWdsaXN0LmM6OTEKICMsIGZ1enp5CiBtc2dpZCAiQnVzIGVycm9yIgogbXNnc3RyICLRgdC40L3RgtCw0LrRgtC40YfQvdCwINCz0YDQtdGI0LrQsCIKIAotIzogc2lnbGlzdC5jOjk0CisjOiBzaWdsaXN0LmM6OTUKIG1zZ2lkICJTZWdtZW50YXRpb24gZmF1bHQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjk4CisjOiBzaWdsaXN0LmM6OTkKIG1zZ2lkICJCYWQgc3lzdGVtIGNhbGwiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjEwMgorIzogc2lnbGlzdC5jOjEwMwogbXNnaWQgIkJyb2tlbiBwaXBlIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxMDYKKyM6IHNpZ2xpc3QuYzoxMDcKIG1zZ2lkICJBbGFybSBjbG9jayIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTEwCisjOiBzaWdsaXN0LmM6MTExCiAjLCBmdXp6eQogbXNnaWQgIlRlcm1pbmF0ZWQiCiBtc2dzdHIgItC+0LPRgNCw0L3QuNGH0LXQvdCwINC+0LHQstC40LLQutCwIgogCi0jOiBzaWdsaXN0LmM6MTE0CisjOiBzaWdsaXN0LmM6MTE1CiBtc2dpZCAiVXJnZW50IElPIGNvbmRpdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTE4CisjOiBzaWdsaXN0LmM6MTE5CiBtc2dpZCAiU3RvcHBlZCAoc2lnbmFsKSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTI2CisjOiBzaWdsaXN0LmM6MTI3CiBtc2dpZCAiQ29udGludWUiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjEzNAorIzogc2lnbGlzdC5jOjEzNQogbXNnaWQgIkNoaWxkIGRlYXRoIG9yIHN0b3AiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjEzOAorIzogc2lnbGlzdC5jOjEzOQogbXNnaWQgIlN0b3BwZWQgKHR0eSBpbnB1dCkiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE0MgorIzogc2lnbGlzdC5jOjE0MwogbXNnaWQgIlN0b3BwZWQgKHR0eSBvdXRwdXQpIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNDYKKyM6IHNpZ2xpc3QuYzoxNDcKIG1zZ2lkICJJL08gcmVhZHkiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE1MAorIzogc2lnbGlzdC5jOjE1MQogbXNnaWQgIkNQVSBsaW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTU0CisjOiBzaWdsaXN0LmM6MTU1CiBtc2dpZCAiRmlsZSBsaW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTU4CisjOiBzaWdsaXN0LmM6MTU5CiBtc2dpZCAiQWxhcm0gKHZpcnR1YWwpIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNjIKKyM6IHNpZ2xpc3QuYzoxNjMKIG1zZ2lkICJBbGFybSAocHJvZmlsZSkiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE2NgorIzogc2lnbGlzdC5jOjE2NwogbXNnaWQgIldpbmRvdyBjaGFuZ2VkIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNzAKKyM6IHNpZ2xpc3QuYzoxNzEKIG1zZ2lkICJSZWNvcmQgbG9jayIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTc0CisjOiBzaWdsaXN0LmM6MTc1CiBtc2dpZCAiVXNlciBzaWduYWwgMSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTc4CisjOiBzaWdsaXN0LmM6MTc5CiBtc2dpZCAiVXNlciBzaWduYWwgMiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTgyCisjOiBzaWdsaXN0LmM6MTgzCiBtc2dpZCAiSEZUIGlucHV0IGRhdGEgcGVuZGluZyIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTg2CisjOiBzaWdsaXN0LmM6MTg3CiBtc2dpZCAicG93ZXIgZmFpbHVyZSBpbW1pbmVudCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTkwCisjOiBzaWdsaXN0LmM6MTkxCiBtc2dpZCAic3lzdGVtIGNyYXNoIGltbWluZW50IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxOTQKKyM6IHNpZ2xpc3QuYzoxOTUKIG1zZ2lkICJtaWdyYXRlIHByb2Nlc3MgdG8gYW5vdGhlciBDUFUiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE5OAorIzogc2lnbGlzdC5jOjE5OQogbXNnaWQgInByb2dyYW1taW5nIGVycm9yIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMDIKKyM6IHNpZ2xpc3QuYzoyMDMKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIGdyYW50ZWQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjIwNgorIzogc2lnbGlzdC5jOjIwNwogbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgcmV0cmFjdGVkIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMTAKKyM6IHNpZ2xpc3QuYzoyMTEKIG1zZ2lkICJIRlQgc291bmQgc2VxdWVuY2UgaGFzIGNvbXBsZXRlZCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjE0CisjOiBzaWdsaXN0LmM6MjE1CiBtc2dpZCAiSW5mb3JtYXRpb24gcmVxdWVzdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjIyCisjOiBzaWdsaXN0LmM6MjIzCiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjI0CisjOiBzaWdsaXN0LmM6MjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjExODEgc3Vic3QuYzoxMzAyCisjOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKIG1zZ3N0ciAi0LvQvtGI0L4g0LfQsNC80LXRgdGC0LLQsNC90LU6INC70LjQv9GB0LLQsCDQt9Cw0YLQstCw0YDRj9GJINC30L3QsNC6IOKAniVz4oCcINCyICVzIgogCi0jOiBzdWJzdC5jOjI0NTgKKyM6IHN1YnN0LmM6MjczNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKIG1zZ3N0ciAiJXM6INC90LAg0YfQu9C10L0g0L7RgiDQvNCw0YHQuNCyINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQuNGB0LLQvtC4INGB0L/QuNGB0YrQuiIKIAotIzogc3Vic3QuYzo0NDU2IHN1YnN0LmM6NDQ3MgorIzogc3Vic3QuYzo0NzU0IHN1YnN0LmM6NDc3MAogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDRgdGK0LfQtNCw0LTQtSDQv9GA0L7Qs9GA0LDQvNC10L0g0LrQsNC90LDQuyDQt9CwINC30LDQvNC10YHRgtCy0LDQvdC1INC90LAg0L/RgNC+0YbQtdGB0LgiCiAKLSM6IHN1YnN0LmM6NDUwNAorIzogc3Vic3QuYzo0ODAyCiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDRgdGK0LfQtNCw0LTQtSDQtNGK0YnQtdGA0LXQvSDQv9GA0L7RhtC10YEg0LfQsCDQt9Cw0LzQtdGB0YLQstCw0L3QtSDQvdCwINC/0YDQvtGG0LXRgdC4IgogCi0jOiBzdWJzdC5jOjQ1NDkKKyM6IHN1YnN0LmM6NDg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogbXNnc3RyICLQuNC80LXQvdGD0LLQsNC90LjRj9GCINC/0YDQvtCz0YDQsNC80LXQvSDQutCw0L3QsNC7ICVzINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQstC+0YDQuCDQt9CwINGH0LXRgtC10L3QtSIKIAotIzogc3Vic3QuYzo0NTUxCisjOiBzdWJzdC5jOjQ4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAi0LjQvNC10L3Rg9Cy0LDQvdC40Y/RgiDQv9GA0L7Qs9GA0LDQvNC10L0g0LrQsNC90LDQuyAlcyDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LLQvtGA0Lgg0LfQsCDQt9Cw0L/QuNGBIgogCi0jOiBzdWJzdC5jOjQ1NjkKKyM6IHN1YnN0LmM6NDg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgIiIKICLQuNC80LXQvdGD0LLQsNC90LjRj9GCINC/0YDQvtCz0YDQsNC80LXQvSDQutCw0L3QsNC7ICVzINC90LUg0LzQvtC20LUg0LTQsCDRgdC1XG4iCiAi0LTRg9Cx0LvQuNGA0LAg0LrQsNGC0L4g0YTQsNC50LvQvtCy0LjRjyDQtNC10YHQutGA0LjQv9GC0L7RgCAlZCIKIAotIzogc3Vic3QuYzo0NzY1CisjOiBzdWJzdC5jOjUwNjMKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRitC30LTQsNC00LUg0L/RgNC+0LPRgNCw0LzQtdC9INC60LDQvdCw0Lsg0LfQsCDQt9Cw0LzQtdGB0YLQstCw0L3QtSDQvdCwINC60L7QvNCw0L3QtNC4IgogCi0jOiBzdWJzdC5jOjQ3OTkKKyM6IHN1YnN0LmM6NTA5NwogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRitC30LTQsNC00LUg0LTRitGJ0LXRgNC10L0g0L/RgNC+0YbQtdGBINC30LAg0LfQsNC80LXRgdGC0LLQsNC90LUg0L3QsCDQutC+0LzQsNC90LTQuCIKIAotIzogc3Vic3QuYzo0ODE2CisjOiBzdWJzdC5jOjUxMTQKIG1zZ2lkICJjb21tYW5kX3N1YnN0aXR1dGU6IGNhbm5vdCBkdXBsaWNhdGUgcGlwZSBhcyBmZCAxIgogbXNnc3RyICLQt9Cw0LzQtdGB0YLQstCw0L3QtSDQvdCwINC60L7QvNCw0L3QtNC4OiDQutCw0L3QsNC70YrRgiDQvdC1INC80L7QttC1INC00LAg0YHQtSDQtNGD0LHQu9C40YDQsCDQutCw0YLQviBmZCAxIgogCi0jOiBzdWJzdC5jOjUzMTgKKyM6IHN1YnN0LmM6NTYxNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGFyYW1ldGVyIG51bGwgb3Igbm90IHNldCIKIG1zZ3N0ciAiJXM6INCw0YDQs9GD0LzQtdC90YLRitGCINC1IG51bGwg0LjQu9C4INC90LUg0LUg0LfQsNC00LDQtNC10L0iCiAKLSM6IHN1YnN0LmM6NTYwOAorIzogc3Vic3QuYzo1OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiBtc2dzdHIgIiVzOiDQuNC30YDQsNC30YrRgiDQvtGCINC/0L7QtNC90LjQt9CwINC1IDwgMCIKIAotIzogc3Vic3QuYzo2NjYwCisjOiBzdWJzdC5jOjY5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiVzOiDQu9C+0YjQviDQt9Cw0LzQtdGB0YLQstCw0L3QtSIKIAotIzogc3Vic3QuYzo2NzQwCisjOiBzdWJzdC5jOjcwNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQtNCw0LLQsCDQv9C+INGC0L7Qt9C4INC90LDRh9C40L0iCiAKLSM6IHN1YnN0LmM6NzQ5OQorIzogc3Vic3QuYzo3Mzc0Cittc2dpZCAiIgorImZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGUgc2hlbGwgd2lsbCBmb3JjZSBldmFsdWF0aW9uIGFzIGFuIGFyaXRobWV0aWMgIgorInN1YnN0aXR1dGlvbiIKK21zZ3N0ciAiIgorCisjOiBzdWJzdC5jOjc4MzkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCiBtc2dzdHIgItC70L7RiNC+INC30LDQvNC10YHRgtCy0LDQvdC1OiDQu9C40L/RgdCy0LAg0LfQsNGC0LLQsNGA0Y/RiSDQt9C90LDQuiDigJ4lc+KAnCDQsiAlcyIKIAotIzogc3Vic3QuYzo4Mzc1CisjOiBzdWJzdC5jOjg3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICLQvdGP0LzQsCDRgdGK0LLQv9Cw0LTQtdC90LjQtTogJXMiCiAKLSM6IHRlc3QuYzoxNDUKKyM6IHRlc3QuYzoxNDYKIG1zZ2lkICJhcmd1bWVudCBleHBlY3RlZCIKIG1zZ3N0ciAi0L7Rh9Cw0LrQstCwINGB0LUg0LDRgNCz0YPQvNC10L3RgiIKIAotIzogdGVzdC5jOjE1NAorIzogdGVzdC5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW50ZWdlciBleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICIlczog0L7Rh9Cw0LrQstCwINGB0LUg0YbQtdC70L7Rh9C40YHQu9C10L0g0LjQt9GA0LDQtyIKIAotIzogdGVzdC5jOjI2MgorIzogdGVzdC5jOjI2MwogbXNnaWQgImApJyBleHBlY3RlZCIKIG1zZ3N0ciAi0L7Rh9Cw0LrQstCwINGB0LUg4oCeKeKAnCIKIAotIzogdGVzdC5jOjI2NAorIzogdGVzdC5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICLQvtGH0LDQutCy0LAg0YHQtSDigJ4p4oCcLCDQsCDQtSDQv9C+0LvRg9GH0LXQvdC+ICVzIgogCi0jOiB0ZXN0LmM6Mjc5IHRlc3QuYzo2ODggdGVzdC5jOjY5MQorIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczog0L7Rh9Cw0LrQstCwINGB0LUg0YPQvdCw0YDQtdC9INC+0L/QtdGA0LDRgtC+0YAiCiAKLSM6IHRlc3QuYzo0NDQgdGVzdC5jOjczMQorIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiDQvtGH0LDQutCy0LAg0YHQtSDQsdC40L3QsNGA0LXQvSDQvtC/0LXRgNCw0YLQvtGAIgogCi0jOiB0ZXN0LmM6ODA2CisjOiB0ZXN0LmM6ODExCiBtc2dpZCAibWlzc2luZyBgXSciCiBtc2dzdHIgItC70LjQv9GB0LLQsCDigJ5d4oCcIgogCi0jOiB0cmFwLmM6MjAxCisjOiB0cmFwLmM6MjAzCiBtc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQvdC+0LzQtdGAINC90LAg0YHQuNCz0L3QsNC7IgogCi0jOiB0cmFwLmM6MzI0CisjOiB0cmFwLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bl9wZW5kaW5nX3RyYXBzOiBiYWQgdmFsdWUgaW4gdHJhcF9saXN0WyVkXTogJXAiCiBtc2dzdHIgIiIKICLRgdGC0LDRgNGC0LjRgNCw0L3QtSDQvdCwINC/0YDQtdC00YHRgtC+0Y/RidC40YLQtSDQutCw0L/QsNC90Lg6INC90LXQv9GA0LDQstC40LvQvdCwINGB0YLQvtC50L3QvtGB0YIg0LIgdHJhcF9saXN0WyVkXTogJXAiCiAKLSM6IHRyYXAuYzozMjgKKyM6IHRyYXAuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCkBAIC0xODE0LDY0ICsxODg5LDc5IEBACiAi0YHRgtCw0YDRgtC40YDQsNC90LUg0L3QsCDQv9GA0LXQtNGB0YLQvtGP0YnQuNGC0LUg0LrQsNC/0LDQvdC4OiDQvtCx0YDQsNCx0L7RgtC60LDRgtCwINC90LAg0YHQuNCz0L3QsNC70Lgg0LUgU0lHX0RGTC5cbiIKICIlZCAoJXMpINC1INC/0YDQtdC40LfQv9GA0LDRgtC10L3QviDQvdCwINGC0LXQutGD0YnQsNGC0LAg0L7QsdCy0LjQstC60LAiCiAKLSM6IHRyYXAuYzozNzIKKyM6IHRyYXAuYzozODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhcF9oYW5kbGVyOiBiYWQgc2lnbmFsICVkIgogbXNnc3RyICLQvtCx0YDQsNCx0L7RgtC60LAg0L3QsCDQutCw0L/QsNC90Lg6INC90LXQv9GA0LDQstC40LvQtdC9INGB0LjQs9C90LDQuyAlZCIKIAotIzogdmFyaWFibGVzLmM6MzU4CisjOiB2YXJpYWJsZXMuYzozNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIGAlcyciCiBtc2dzdHIgItCz0YDQtdGI0LrQsCDQv9GA0Lgg0LLQvdCw0YHRj9C90LXRgtC+INC90LAg0LTQtdGE0LjQvdC40YbQuNGP0YLQsCDQvdCwINGE0YPQvdC60YbQuNGPINC30LAg4oCeJXPigJwiCiAKLSM6IHZhcmlhYmxlcy5jOjczNgorIzogdmFyaWFibGVzLmM6NzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICLQvdC40LLQvtGC0L4g0L3QsCDQvtCx0LLQuNCy0LrQsNGC0LAgKCVkKSDQtSDQv9GA0LXQutCw0LvQtdC90L4g0LPQvtC70Y/QvNC+LiDQl9Cw0LTQsNCy0LAg0YHQtSDQtNCwINC1IDEiCiAKLSM6IHZhcmlhYmxlcy5jOjE4OTgKKyM6IHZhcmlhYmxlcy5jOjE5MTUKIG1zZ2lkICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIiIKICLRgdGK0LfQtNCw0LLQsNC90LUg0L3QsCDQu9C+0LrQsNC70L3QsCDQv9GA0L7QvNC10L3Qu9C40LLQsDog0LvQuNC/0YHQstCwINC60L7QvdGC0LXQutGB0YIg0L3QsCDRhNGD0L3QutGG0LjRjyDQsiDRgtC10LrRg9GJ0LDRgtCwICIKICLQvtCx0LvQsNGB0YJcbiIKICLQvdCwINCy0LjQtNC40LzQvtGB0YIiCiAKLSM6IHZhcmlhYmxlcy5jOjMxMjcKKyM6IHZhcmlhYmxlcy5jOjMxNTkKIG1zZ2lkICJhbGxfbG9jYWxfdmFyaWFibGVzOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIiIKICLQstGB0LjRh9C60Lgg0LvQvtC60LDQu9C90Lgg0L/RgNC+0LzQtdC90LvQuNCy0Lg6INC70LjQv9GB0LLQsCDQutC+0L3RgtC10LrRgdGCINC90LAg0YTRg9C90LrRhtC40Y8g0LIg0YLQtdC60YPRidCw0YLQsCDQvtCx0LvQsNGB0YIg0L3QsFxuIgogItCy0LjQtNC40LzQvtGB0YIiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNDQgdmFyaWFibGVzLmM6MzM1MworIzogdmFyaWFibGVzLmM6MzM3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG51bGwgZXhwb3J0c3RyIgorbXNnc3RyICIlczog0LDRgNCz0YPQvNC10L3RgtGK0YIg0LUgbnVsbCDQuNC70Lgg0L3QtSDQtSDQt9Cw0LTQsNC00LXQvSIKKworIzogdmFyaWFibGVzLmM6MzM4MSB2YXJpYWJsZXMuYzozMzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY2hhcmFjdGVyICVkIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INC30L3QsNC6INC90LAg0L/QvtC30LjRhtC40Y8gJWQg0LIg0L3QuNC30LAg0LfQsCDQuNC30L3QsNGB0Y/QvdC1INC30LAgJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNTkKKyM6IHZhcmlhYmxlcy5jOjMzOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgItC70LjQv9GB0LLQsCDigJ494oCcINCyINC90LjQt9CwINC30LAg0LjQt9C90LDRgdGP0L3QtSDQt9CwICVzIgogCi0jOiB2YXJpYWJsZXMuYzozNzk0CisjOiB2YXJpYWJsZXMuYzozODM1CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSBmdW5jdGlvbiBjb250ZXh0IgogbXNnc3RyICIiCiAi0LjQt9Cy0LDQttC00LDQvdC1INC90LAg0LrQvtC90YLQtdC60YHRgiDQvdCwINC/0YDQvtC80LXQvdC70LjQstC4OiDQsiDQvdCw0YfQsNC70L7RgtC+INC90LAg0YHRgtGA0YPQutGC0YPRgNCw0YLQsCDQt9CwINC/0YDQvtC80LXQvdC70LjQstC4ICIKICLQvdCwXG4iCiAi0L7QsdCy0LjQstC60LDRgtCwIChzaGVsbF92YXJpYWJsZXMpINC1INC90LXRidC+LCDQutC+0LXRgtC+INC90LUg0LUg0LrQvtC90YLQtdC60YHRgiDQvdCwINGE0YPQvdC60YbQuNGPIgogCi0jOiB2YXJpYWJsZXMuYzozODA3CisjOiB2YXJpYWJsZXMuYzozODQ4CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBubyBnbG9iYWxfdmFyaWFibGVzIGNvbnRleHQiCiBtc2dzdHIgIiIKICLQuNC30LLQsNC20LTQsNC90LUg0L3QsCDQutC+0L3RgtC10LrRgdGCINC90LAg0L/RgNC+0LzQtdC90LvQuNCy0Lg6INC70LjQv9GB0LLQsCDQutC+0L3RgtC10LrRgdGCINC30LAg0LPQu9C+0LHQsNC70L3QuCDQv9GA0L7QvNC10L3Qu9C40LLQuFxuIgogIihnbG9iYWxfdmFyaWFibGVzKSIKIAotIzogdmFyaWFibGVzLmM6Mzg4MQorIzogdmFyaWFibGVzLmM6MzkyMgogbXNnaWQgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgogbXNnc3RyICIiCiAi0LjQt9Cy0LDQttC00LDQvdC1INC90LAg0L7QsdC70LDRgdGCOiDQv9C+0YHQu9C10LTQvdC40Y/RgiDQtdC70LXQvNC10L3RgiDRgdGC0YDRg9C60YLRg9GA0LDRgtCwINC30LAg0L/RgNC+0LzQtdC90LvQuNCy0Lgg0L3QsCAiCiAi0L7QsdCy0LjQstC60LDRgtCwXG4iCiAiKHNoZWxsX3ZhcmlhYmxlcykg0L3QtSDQtSDQstGA0LXQvNC10L3QvdCwINC+0LHQu9Cw0YHRgiDQsiDQvtCx0LrRgNGK0LbQtdC90LjQtdGC0L4iCiAKKyM6IHZhcmlhYmxlcy5jOjQ2NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogY2Fubm90IG9wZW4gYXMgRklMRSIKK21zZ3N0ciAiJXM6INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQstC+0YDQuDogJXMiCisKKyM6IHZhcmlhYmxlcy5jOjQ2ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogaW52YWxpZCB2YWx1ZSBmb3IgdHJhY2UgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICIlZDog0LPRgNC10YjQtdC9INGE0LDQudC70L7QsiDQtNC10YHQutGA0LjQv9GC0L7RgDogJXMiCisKICM6IHZlcnNpb24uYzo0NgogIywgZnV6enkKIG1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgpAQCAtMTg4Myw2OSArMTk3Myw1NyBAQAogImh0bWw+XG4iCiBtc2dzdHIgIiIKIAotIzogdmVyc2lvbi5jOjg2CisjOiB2ZXJzaW9uLmM6ODYgdmVyc2lvbjIuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcyAoJXMpXG4iCiBtc2dzdHIgIiIKIAotIzogdmVyc2lvbi5jOjkxCisjOiB2ZXJzaW9uLmM6OTEgdmVyc2lvbjIuYzo4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiB2ZXJzaW9uLmM6OTIKKyM6IHZlcnNpb24uYzo5MiB2ZXJzaW9uMi5jOjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuXG4iCiBtc2dzdHIgIiIKIAotIzogeG1hbGxvYy5jOjkyCisjOiB2ZXJzaW9uMi5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCittc2dzdHIgItCQ0LLRgtC+0YDRgdC60Lgg0L/RgNCw0LLQsCAoQykgMjAwNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKKworIzogdmVyc2lvbjIuYzo4NwogIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKK21zZ2lkICIiCisiTGljZW5zZSBHUEx2Mis6IEdOVSBHUEwgdmVyc2lvbiAyIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgorImh0bWw+XG4iCittc2dzdHIgIiIKKworIzogeG1hbGxvYy5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiBtc2dzdHIgIiIKICLQt9Cw0LTQtdC70Y/QvdC1INC90LAg0L/QsNC80LXRgjogJWx1INCx0LDQudGC0LAg0L3QtSDQvNC+0LPQsNGCINC00LAg0YHQtSDQt9Cw0LTQtdC70Y/RgiAo0LfQsNC00LXQu9C10L3QuCDRgdCwXG4iCiAiJWx1INCx0LDQudGC0LApIgogCi0jOiB4bWFsbG9jLmM6OTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKKyM6IHhtYWxsb2MuYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCiBtc2dzdHIgItC30LDQtNC10LvRj9C90LUg0L3QsCDQv9Cw0LzQtdGCOiAlbHUg0LHQsNC50YLQsCDQvdC1INC80L7Qs9Cw0YIg0LTQsCDRgdC1INC30LDQtNC10LvRj9GCIgogCi0jOiB4bWFsbG9jLmM6MTE0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICIiCi0i0L/RgNC10LfQsNC00LXQu9GP0L3QtSDQvdCwINC/0LDQvNC10YI6ICVsdSDQsdCw0LnRgtCwINC90LUg0LzQvtCz0LDRgiDQtNCwINGB0LUg0LfQsNC00LXQu9GP0YIg0L3QsNC90L7QstC+ICjQt9Cw0LTQtdC70LXQvdC4INGB0LBcbiIKLSIlbHUg0LHQsNC50YLQsCkiCi0KLSM6IHhtYWxsb2MuYzoxMTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgItC/0YDQtdC30LDQtNC10LvRj9C90LUg0L3QsCDQv9Cw0LzQtdGCOiAlbHUg0LHQsNC50YLQsCDQvdC1INC80L7Qs9Cw0YIg0LTQsCDRgdC1INC30LDQtNC10LvRj9GCIgotCi0jOiB4bWFsbG9jLmM6MTUwCi0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyM6IHhtYWxsb2MuYzoxNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiBtc2dzdHIgIiIKICLQt9Cw0LTQtdC70Y/QvdC1INC90LAg0L/QsNC80LXRgjogJXM6JWQ6ICVsdSDQsdCw0LnRgtCwINC90LUg0LzQvtCz0LDRgiDQtNCwINGB0LUg0LfQsNC00LXQu9GP0YIgKNC30LDQtNC10LvQtdC90Lgg0YHQsFxuIgogIiVsdSDQsdCw0LnRgtCwKSIKIAotIzogeG1hbGxvYy5jOjE1MgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKKyM6IHhtYWxsb2MuYzoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKIG1zZ3N0ciAi0LfQsNC00LXQu9GP0L3QtSDQvdCwINC/0LDQvNC10YI6ICVzOiVkOiAlbHUg0LHQsNC50YLQsCDQvdC1INC80L7Qs9Cw0YIg0LTQsCDRgdC1INC30LDQtNC10LvRj9GCIgogCi0jOiB4bWFsbG9jLmM6MTc0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAiIgotItC/0YDQtdC30LDQtNC10LvRj9C90LUg0L3QsCDQv9Cw0LzQtdGCOiAlczolZDogJWx1INCx0LDQudGC0LAg0L3QtSDQvNC+0LPQsNGCINC00LAg0YHQtSDQt9Cw0LTQtdC70Y/RgiAo0LfQsNC00LXQu9C10L3QuCDRgdCwICUiCi0ibHUg0LHQsNC50YLQsCkiCi0KLSM6IHhtYWxsb2MuYzoxNzYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICLQv9GA0LXQt9Cw0LTQtdC70Y/QvdC1INC90LAg0L/QsNC80LXRgjogJXM6JWQ6ICVsdSDQsdCw0LnRgtCwINC90LUg0LzQvtCz0LDRgiDQtNCwINGB0LUg0LfQsNC00LXQu9GP0YIiCi0KICM6IGJ1aWx0aW5zLmM6NDMKIG1zZ2lkICJhbGlhcyBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uIF0iCiBtc2dzdHIgIiIKQEAgLTIwNjEsNyArMjEzOSw3IEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxMTcKLW1zZ2lkICJoZWxwIFstZHNdIFtwYXR0ZXJuIC4uLl0iCittc2dpZCAiaGVscCBbLWRtc10gW3BhdHRlcm4gLi4uXSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjEyMQpAQCAtMjA5MCw4ICsyMTY4LDggQEAKIAogIzogYnVpbHRpbnMuYzoxMzYKIG1zZ2lkICIiCi0icmVhZCBbLWVyc10gWy1hIGFycmF5XSBbLWQgZGVsaW1dIFstaSB0ZXh0XSBbLW4gbmNoYXJzXSBbLXAgcHJvbXB0XSBbLXQgIgotInRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXSIKKyJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstTiBuY2hhcnNdIFstcCAiCisicHJvbXB0XSBbLXQgdGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MTM4CkBAIC0yMjU1LDkgKzIzMzMsOSBAQAogCiAjOiBidWlsdGlucy5jOjIyOQogbXNnaWQgIiIKLSJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1vIG9wdGlvbl0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstVyAiCi0id29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgc3VmZml4XSAiCi0iW25hbWUgLi4uXSIKKyJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1ERV0gWy1vIG9wdGlvbl0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstIgorIlcgd29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgIgorInN1ZmZpeF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjIzMwpAQCAtMjI2Nyw3ICsyMzQ1LDcgQEAKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjIzNwotbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gW25hbWUgLi4uXSIKK21zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFstREVdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoyNDAKQEAgLTMzMDcsNyArMzM4NSwxMSBAQAogIiAgICAgIC1lXHRcdHVzZSBSZWFkbGluZSB0byBvYnRhaW4gdGhlIGxpbmUgaW4gYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKICIgICAgICAtaSB0ZXh0XHRVc2UgVEVYVCBhcyB0aGUgaW5pdGlhbCB0ZXh0IGZvciBSZWFkbGluZVxuIgogIiAgICAgIC1uIG5jaGFyc1x0cmV0dXJuIGFmdGVyIHJlYWRpbmcgTkNIQVJTIGNoYXJhY3RlcnMgcmF0aGVyIHRoYW4gd2FpdGluZ1xuIgotIiAgICBcdFx0Zm9yIGEgbmV3bGluZVxuIgorIiAgICBcdFx0Zm9yIGEgbmV3bGluZSwgYnV0IGhvbm9yIGEgZGVsaW1pdGVyIGlmIGZld2VyIHRoYW4gTkNIQVJTXG4iCisiICAgIFx0XHRjaGFyYWN0ZXJzIGFyZSByZWFkIGJlZm9yZSB0aGUgZGVsaW1pdGVyXG4iCisiICAgICAgLU4gbmNoYXJzXHRyZXR1cm4gb25seSBhZnRlciByZWFkaW5nIGV4YWN0bHkgTkNIQVJTIGNoYXJhY3RlcnMsICIKKyJ1bmxlc3NcbiIKKyIgICAgXHRcdEVPRiBpcyBlbmNvdW50ZXJlZCBvciByZWFkIHRpbWVzIG91dCwgaWdub3JpbmcgYW55IGRlbGltaXRlclxuIgogIiAgICAgIC1wIHByb21wdFx0b3V0cHV0IHRoZSBzdHJpbmcgUFJPTVBUIHdpdGhvdXQgYSB0cmFpbGluZyBuZXdsaW5lIGJlZm9yZVxuIgogIiAgICBcdFx0YXR0ZW1wdGluZyB0byByZWFkXG4iCiAiICAgICAgLXJcdFx0ZG8gbm90IGFsbG93IGJhY2tzbGFzaGVzIHRvIGVzY2FwZSBhbnkgY2hhcmFjdGVyc1xuIgpAQCAtMzM2Miw3ICszNDQ0LDcgQEAKICIgICAg0JjQndCi0JXQoNCS0JDQm9GK0YIg0LfQsCDQstGK0LLQtdC20LTQsNC90LUg0LjQu9C4INC1INC30LDQtNCw0LTQtdC9INC90LXQv9GA0LDQstC40LvQtdC9INGE0LDQudC70L7QsiDQtNC10YHQutGA0LjQv9GC0L7RgCDQutCw0YLQvlxuIgogIiAgICDQsNGA0LPRg9C80LXQvdGCINC90LAg4oCeLXXigJwuIgogCi0jOiBidWlsdGlucy5jOjEwMDYKKyM6IGJ1aWx0aW5zLmM6MTAwOQogbXNnaWQgIiIKICJSZXR1cm4gZnJvbSBhIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTMzNzQsNyArMzQ1Niw3IEBACiAiICAgIFJldHVybnMgTiwgb3IgZmFpbHVyZSBpZiB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uIG9yIHNjcmlwdC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMDE5CisjOiBidWlsdGlucy5jOjEwMjIKICMsIGZ1enp5CiBtc2dpZCAiIgogIlNldCBvciB1bnNldCB2YWx1ZXMgb2Ygc2hlbGwgb3B0aW9ucyBhbmQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgpAQCAtMzU0Myw3ICszNjI1LDcgQEAKICIgICAg0YHRitC+0YLQstC10YLQvdC+INC90LAgJDEsICQyLOKApiAkbi4gINCQ0LrQviDQvdC1INGB0LAg0LfQsNC00LDQtNC10L3QuCDQkNCg0JPRg9C80LXQvdGC0LgsINGB0LUg0LjQt9Cy0LXQttC00LDRglxuIgogIiAgICDQstGB0LjRh9C60Lgg0L/RgNC+0LzQtdC90LvQuNCy0Lgg0L3QsCDRgdGA0LXQtNCw0YLQsC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTEwMQorIzogYnVpbHRpbnMuYzoxMTA0CiBtc2dpZCAiIgogIlVuc2V0IHZhbHVlcyBhbmQgYXR0cmlidXRlcyBvZiBzaGVsbCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zNTYzLDcgKzM2NDUsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgTkFNRSBpcyByZWFkLW9ubHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTEyMQorIzogYnVpbHRpbnMuYzoxMTI0CiBtc2dpZCAiIgogIlNldCBleHBvcnQgYXR0cmlidXRlIGZvciBzaGVsbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMzU4Miw3ICszNjY0LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE0MAorIzogYnVpbHRpbnMuYzoxMTQzCiBtc2dpZCAiIgogIk1hcmsgc2hlbGwgdmFyaWFibGVzIGFzIHVuY2hhbmdlYWJsZS5cbiIKICIgICAgXG4iCkBAIC0zNjAyLDcgKzM2ODQsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTYxCisjOiBidWlsdGlucy5jOjExNjQKIG1zZ2lkICIiCiAiU2hpZnQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTM2MTMsNyArMzY5NSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTiBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gJCMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE3MyBidWlsdGlucy5jOjExODgKKyM6IGJ1aWx0aW5zLmM6MTE3NiBidWlsdGlucy5jOjExOTEKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCkBAIC0zNjM0LDcgKzM3MTYsNyBAQAogIiAgICDRgdCwINC30LDQtNCw0LTQtdC90Lgg0JDQoNCT0KPQnNCV0J3QotCYLCDRgtC1INGB0LUg0L/RgNC10LLRgNGK0YnQsNGCINCyINC/0L7Qt9C40YbQuNC+0L3QvdC4INCw0YDQs9GD0LzQtdC90YLQuCDQv9GA0LhcbiIKICIgICAg0LjQt9C/0YrQu9C90LXQvdC40LXRgtC+INC90LAg0KTQkNCZ0JvQsC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTIwNAorIzogYnVpbHRpbnMuYzoxMjA3CiBtc2dpZCAiIgogIlN1c3BlbmQgc2hlbGwgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM2NDgsNyArMzczMCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEyMjAKKyM6IGJ1aWx0aW5zLmM6MTIyMwogIywgZnV6enkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKQEAgLTM3OTksNyArMzg4MSw3IEBACiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4oCeLWVx4oCcICg9KSwgIOKAni1uZeKAnCAoIT0pLCDigJ4tbHTigJwgKDwpLFxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKAni1sZeKAnCAoPD0pLCDigJ4tZ3TigJwgKD4pICwg4oCeLWdl4oCcICg+PSkuIgogCi0jOiBidWlsdGlucy5jOjEyOTYKKyM6IGJ1aWx0aW5zLmM6MTI5OQogIywgZnV6enkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKQEAgLTM4MTEsNyArMzg5Myw3IEBACiAiICAgINC30LDQtNGK0LvQttC40YLQtdC70L3QviDQtNCwINC1INC30L3QsNC60YrRgiDigJ5d4oCcLCDQutC+0LnRgtC+INC00LAg0YHRitC+0YLQstC10YLRgdGC0LLQsCDQvdCwINC+0YLQstCw0YDRj9GJ0LDRgtCwINGB0LrQvtCx0LAgIgogIuKAnlvigJwuIgogCi0jOiBidWlsdGlucy5jOjEzMDUKKyM6IGJ1aWx0aW5zLmM6MTMwOAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtMzgyMyw3ICszOTA1LDcgQEAKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzMTcKKyM6IGJ1aWx0aW5zLmM6MTMyMAogIywgZnV6enkKIG1zZ2lkICIiCiAiVHJhcCBzaWduYWxzIGFuZCBvdGhlciBldmVudHMuXG4iCkBAIC0zODc5LDcgKzM5NjEsNyBAQAogItC90LBcbiIKICIgICAg0L7QsdCy0LjQstC60LDRgtCwINGBINC60L7QvNCw0L3QtNCw0YLQsCDigJ5raWxsIC1zaWduYWwgJCTigJwuIgogCi0jOiBidWlsdGlucy5jOjEzNDkKKyM6IGJ1aWx0aW5zLmM6MTM1MgogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmQgdHlwZS5cbiIKICIgICAgXG4iCkBAIC0zOTA5LDcgKzM5OTEsNyBAQAogImZvdW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzODAKKyM6IGJ1aWx0aW5zLmM6MTM4MwogIywgZnV6enkKIG1zZ2lkICIiCiAiTW9kaWZ5IHNoZWxsIHJlc291cmNlIGxpbWl0cy5cbiIKQEAgLTM5ODgsNyArNDA3MCw3IEBACiAiICAgICAgICAtINC+0L/RhtC40Y/RgtCwIOKAni104oCcLCDQv9GA0Lgg0LrQvtGP0YLQviDRgdGC0L7QudC90L7RgdGC0YLQsCDQtSDQsiDRgdC10LrRg9C90LTQuDtcbiIKICIgICAgICAgIC0g0L7Qv9GG0LjRj9GC0LAg4oCeLXXigJwsINC/0YDQuCDQutC+0Y/RgtC+INGB0YLQvtC50L3QvtGB0YLRgtCwINC1INGC0L7Rh9C90LjRj9GCINCx0YDQvtC5INC/0YDQvtGG0LXRgdC4LiIKIAotIzogYnVpbHRpbnMuYzoxNDI1CisjOiBidWlsdGlucy5jOjE0MjgKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCiAiICAgIFxuIgpAQCAtNDAwNiw3ICs0MDg4LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBNT0RFIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ0NQorIzogYnVpbHRpbnMuYzoxNDQ4CiBtc2dpZCAiIgogIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtNDAyMyw3ICs0MTA1LDcgQEAKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ2MworIzogYnVpbHRpbnMuYzoxNDY2CiAjLCBmdXp6eQogbXNnaWQgIiIKICJXYWl0IGZvciBwcm9jZXNzIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKQEAgLTQwNDUsNyArNDEyNyw3IEBACiAi0YHQtVxuIgogIiAgICDQstGB0LjRh9C60Lgg0L/RgNC+0YbQtdGB0Lgg0LIg0L/RgNC+0LPRgNCw0LzQvdC40Y8g0LrQsNC90LDQuyDQvdCwINC30LDQtNCw0YfQsNGC0LAuIgogCi0jOiBidWlsdGlucy5jOjE0NzgKKyM6IGJ1aWx0aW5zLmM6MTQ4MQogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgpAQCAtNDA2NSw3ICs0MTQ3LDcgQEAKICIgICAg0LLRgdC10LrQuCDQtdC70LXQvNC10L3RgiDQsiDQlNCj0JzQmNGC0LUsINCY0JzQldGC0L4g0YHQtSDQt9Cw0LTQsNCy0LAg0LTQsCDQtSDQtdC70LXQvNC10L3RgtGK0YIg0Lgg0YHQtSDQuNC30L/RitC70L3Rj9Cy0LDRglxuIgogIiAgICDQmtCe0JzQkNCd0JTQmNGC0LUuIgogCi0jOiBidWlsdGlucy5jOjE0OTIKKyM6IGJ1aWx0aW5zLmM6MTQ5NQogIywgZnV6enkKIG1zZ2lkICIiCiAiQXJpdGhtZXRpYyBmb3IgbG9vcC5cbiIKQEAgLTQwOTIsNyArNDE3NCw3IEBACiAi0YHQtVxuIgogIiAgICDQuNC30YfQuNGB0LvRj9Cy0LAg0LTQsCDQtSAxLiIKIAotIzogYnVpbHRpbnMuYzoxNTEwCisjOiBidWlsdGlucy5jOjE1MTMKICMsIGZ1enp5CiBtc2dpZCAiIgogIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKQEAgLTQxMzAsNyArNDIxMiw3IEBACiAiICAgINC40LfQv9GK0LvQvdGP0LLQsNGCINGB0LvQtdC0INCy0YHQtdC60Lgg0LjQt9Cx0L7RgCDQtNC+INC40LfQv9GK0LvQvdGP0LLQsNC90LXRgtC+INC90LAg0LrQvtC80LDQvdC00LAg0LfQsCDQv9GA0LXQutGK0YHQstCw0L3QtVxuIgogIiAgICAoYnJlYWspLiIKIAotIzogYnVpbHRpbnMuYzoxNTMxCisjOiBidWlsdGlucy5jOjE1MzQKICMsIGZ1enp5CiBtc2dpZCAiIgogIlJlcG9ydCB0aW1lIGNvbnN1bWVkIGJ5IHBpcGVsaW5lJ3MgZXhlY3V0aW9uLlxuIgpAQCAtNDE1NCw3ICs0MjM2LDcgQEAKICLRgdC/0L7RgNC10LRcbiIKICIgICAg0YHRgtC+0LnQvdC+0YHRgtGC0LAg0L3QsCDQv9GA0L7QvNC10L3Qu9C40LLQsNGC0LAg0L3QsCDRgdGA0LXQtNCw0YLQsCAkVElNRUZPUk1BVC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU0OAorIzogYnVpbHRpbnMuYzoxNTUxCiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIHBhdHRlcm4gbWF0Y2hpbmcuXG4iCkBAIC00MTY4LDcgKzQyNTAsNyBAQAogIiDQmNC30LHQuNGA0LDRgtC10LvQvdC+INGB0LUg0LjQt9C/0YrQu9C90Y/QstCw0YIg0JrQntCc0JDQndCU0Jgg0L3QsCDQsdCw0LfQsCDQlNCj0JzQkCwg0LrQvtGP0YLQviDQvdCw0L/QsNGB0LLQsCDQvdCwINCo0JDQkdCb0J7QnS5cbiIKICIgICAg0KjQsNCx0LvQvtC90LjRgtC1INGB0LUg0YDQsNC30LTQtdC70Y/RgiDRgdGK0YEg0LfQvdCw0LrQsCDigJ584oCcLiIKIAotIzogYnVpbHRpbnMuYzoxNTYwCisjOiBidWlsdGlucy5jOjE1NjMKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gY29uZGl0aW9uYWwuXG4iCkBAIC00MjA1LDcgKzQyODcsNyBAQAogItCw0LrQvlxuIgogIiAgICDQvdC40LrQvtC1INGC0LXRgdGC0L7QstC+INGD0YHQu9C+0LLQuNC1LCDQvdC1INGB0LUg0LUg0L7RhtC10L3QuNC70L4g0LrQsNGC0L4g0LjRgdGC0LjQvdCwLiIKIAotIzogYnVpbHRpbnMuYzoxNTc3CisjOiBidWlsdGlucy5jOjE1ODAKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3Qgc3VjY2VlZHMuXG4iCkBAIC00MjIwLDcgKzQzMDIsNyBAQAogIuKAnndoaWxl4oCcXG4iCiAiICAgINC1INGBINC40LfRhdC+0LTQtdC9INC60L7QtCwg0LrQvtC50YLQviDQtSAwLiIKIAotIzogYnVpbHRpbnMuYzoxNTg5CisjOiBidWlsdGlucy5jOjE1OTIKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3QgZG9lcyBub3Qgc3VjY2VlZC5cbiIKQEAgLTQyMzUsNyArNDMxNyw3IEBACiAi4oCedW50aWzigJxcbiIKICIgICAg0LUg0YEg0LjQt9GF0L7QtNC10L0g0LrQvtC0LCDQutC+0LnRgtC+INC90LUg0LUgMC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYwMQorIzogYnVpbHRpbnMuYzoxNjA0CiBtc2dpZCAiIgogIkNyZWF0ZSBhIGNvcHJvY2VzcyBuYW1lZCBOQU1FLlxuIgogIiAgICBcbiIKQEAgLTQyNDgsNyArNDMzMCw3IEBACiAiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYxNQorIzogYnVpbHRpbnMuYzoxNjE4CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC00MjYyLDcgKzQzNDQsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgcmVhZG9ubHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYyOQorIzogYnVpbHRpbnMuYzoxNjMyCiAjLCBmdXp6eQogbXNnaWQgIiIKICJHcm91cCBjb21tYW5kcyBhcyBhIHVuaXQuXG4iCkBAIC00Mjc3LDcgKzQzNTksNyBAQAogItGB0LVcbiIKICIgICAg0YbRj9C7INC90LDQsdC+0YAg0L7RgiDQutC+0LzQsNC90LTQuC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY0MQorIzogYnVpbHRpbnMuYzoxNjQ0CiAjLCBmdXp6eQogbXNnaWQgIiIKICJSZXN1bWUgam9iIGluIGZvcmVncm91bmQuXG4iCkBAIC00Mjk3LDcgKzQzNzksNyBAQAogIiAgICDRgdC1INC40LfQv9GK0LvQvdGP0LLQsCDQstGK0LIg0YTQvtC90L7QsiDRgNC10LbQuNC8LCDQstGB0LUg0LXQtNC90L4g0LUg0LHQuNC70LAg0L/QvtC00LDQtNC10L3QsCDQutCw0YLQviDQsNGA0LPRg9C80LXQvdGCXG4iCiAiICAgINC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAnmJn4oCcLiIKIAotIzogYnVpbHRpbnMuYzoxNjU2CisjOiBidWlsdGlucy5jOjE2NTkKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbi5cbiIKQEAgLTQzMTEsNyArNDM5Myw3IEBACiAiINCY0JfQoNCQ0JfRitGCINGB0LUg0LjQt9GH0LjRgdC70Y/QstCwINGB0L/QvtGA0LXQtCDQv9GA0LDQstC40LvQsNGC0LAg0L3QsCDQsNGA0LjRgtC80LXRgtC40YfQvdC+0YLQviDQvtGG0LXQvdGP0LLQsNC90LUuXG4iCiAiICAgINCV0LrQstC40LLQsNC70LXQvdGC0L3QviDQvdCwIOKAnmxldCDQmNCX0KDQkNCX4oCcLiIKIAotIzogYnVpbHRpbnMuYzoxNjY4CisjOiBidWlsdGlucy5jOjE2NzEKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29uZGl0aW9uYWwgY29tbWFuZC5cbiIKQEAgLTQzNjEsNyArNDQ0Myw3IEBACiAiICAgIOKAniYm4oCcINC4IOKAnnx84oCcINC90LUg0L7RhtC10L3Rj9GCINCY0JfQoNCQ0JcyLCDQsNC60L4g0JjQl9Cg0JDQlzEg0LUg0LTQvtGB0YLQsNGC0YrRh9C10L0g0LfQsCDQvtC/0YDQtdC00LXQu9GP0L3QtSDQvdCwXG4iCiAiICAgINGB0YLQvtC50L3QvtGB0YLRgtCwINC90LAg0LjQt9GA0LDQt9CwLiIKIAotIzogYnVpbHRpbnMuYzoxNjk0CisjOiBidWlsdGlucy5jOjE2OTcKICMsIGZ1enp5CiBtc2dpZCAiIgogIkNvbW1vbiBzaGVsbCB2YXJpYWJsZSBuYW1lcyBhbmQgdXNhZ2UuXG4iCkBAIC00NDkwLDcgKzQ1NzIsNyBAQAogItC60L7QuFxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgINC60L7QvNCw0L3QtNC4INC00LAg0L3QtSDRgdC1INC30LDQv9Cw0LfQstCw0YIg0LIg0LjRgdGC0L7RgNC40Y/RgtCwLlxuIgogCi0jOiBidWlsdGlucy5jOjE3NTEKKyM6IGJ1aWx0aW5zLmM6MTc1NAogIywgZnV6enkKIG1zZ2lkICIiCiAiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgpAQCAtNDU0MSw3ICs0NjIzLDcgQEAKICIgICAgXG4iCiAiICAgINCc0L7QttC10YLQtSDQtNCwINC40LfQstC10LTQtdGC0LUg0YHRgtC10LrQsCDQvdCwINC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDRgSDQutC+0LzQsNC90LTQsNGC0LAg4oCeZGlyc+KAnC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTc4NQorIzogYnVpbHRpbnMuYzoxNzg4CiAjLCBmdXp6eQogbXNnaWQgIiIKICJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKQEAgLTQ1ODYsNyArNDY2OCw3IEBACiAiXG4iCiAiICAgINCh0YLQtdC60YrRgiDRgSDQtNC40YDQtdC60YLQvtGA0LjQuNGC0LUg0YHQtSDQstC40LfRg9Cw0LvQuNC30LjRgNCwINGBINC60L7QvNCw0L3QtNCw0YLQsCDigJ5kaXJz4oCcLiIKIAotIzogYnVpbHRpbnMuYzoxODE1CisjOiBidWlsdGlucy5jOjE4MTgKICMsIGZ1enp5CiBtc2dpZCAiIgogIkRpc3BsYXkgZGlyZWN0b3J5IHN0YWNrLlxuIgpAQCAtNDYzOCw3ICs0NzIwLDcgQEAKICIgICAgLU4gINC/0L7QutCw0LfQstCwIE4t0YLQuNGPINC10LvQtdC80LXQvdGCINC+0YLQtNGP0YHQvdC+INCyINGB0L/QuNGB0YrQutCwINC/0L7QutCw0LfQstCw0L0g0L7RglxuIgogIiAgICAgICAg0LrQvtC80LDQvdC00LDRgtCwIOKAnmRpcnPigJwsINC60L7Qs9Cw0YLQviDQtSDRgdGC0LDRgNGC0LjRgNCw0L3QsCDQsdC10Lcg0L7Qv9GG0LjQuC4gINCR0YDQvtC4INGB0LUg0L7RgiAwLiIKIAotIzogYnVpbHRpbnMuYzoxODQ0CisjOiBidWlsdGlucy5jOjE4NDcKIG1zZ2lkICIiCiAiU2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTQ2NTksNyArNDc0MSw3IEBACiAiICAgIGdpdmVuIG9yIE9QVE5BTUUgaXMgZGlzYWJsZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg2NQorIzogYnVpbHRpbnMuYzoxODY4CiAjLCBmdXp6eQogbXNnaWQgIiIKICJGb3JtYXRzIGFuZCBwcmludHMgQVJHVU1FTlRTIHVuZGVyIGNvbnRyb2wgb2YgdGhlIEZPUk1BVC5cbiIKQEAgLTQ3MDYsNyArNDc4OCw3IEBACiAiICAgINCy0YXQvtC0INC30LAg0L7QsdCy0LjQstC60LDRgtCwLiDQkNC60L4g0LUg0LLQutC70Y7Rh9C10L3QsCDQvtC/0YbQuNGP0YLQsCDigJ4tduKAnCwg0LjQt9GF0L7QtNGK0YIg0YHQtSDQv9C+0YHRgtCw0LLRjyDQslxuIgogIiAgICDQv9GA0L7QvNC10L3Qu9C40LLQsNGC0LAg0L3QsCDQvtCx0LLQuNCy0LrQsNGC0LAgVkFSLCDQstC80LXRgdGC0L4g0LTQsCDRgdC1INC40LfQstC10LbQtNCwINC90LAg0YHRgtCw0L3QtNCw0YDRgtC90LjRjyDQuNC30YXQvtC0LiIKIAotIzogYnVpbHRpbnMuYzoxODkyCisjOiBidWlsdGlucy5jOjE4OTUKIG1zZ2lkICIiCiAiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCiAiICAgIFxuIgpAQCAtNDcyMCwxNSArNDgwMiwyMCBAQAogIiAgICAgIC1wXHRwcmludCBleGlzdGluZyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zIGluIGEgcmV1c2FibGUgZm9ybWF0XG4iCiAiICAgICAgLXJcdHJlbW92ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm9cbiIKICIgICAgXHROQU1FcyBhcmUgc3VwcGxpZWQsIGFsbCBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zXG4iCisiICAgICAgLURcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyBhcyB0aGUgZGVmYXVsdCBmb3IgY29tbWFuZHNcbiIKKyIgICAgXHR3aXRob3V0IGFueSBzcGVjaWZpYyBjb21wbGV0aW9uIGRlZmluZWRcbiIKKyIgICAgICAtRVx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIHRvIFwiZW1wdHlcIiBjb21tYW5kcyAtLVxuIgorIiAgICBcdGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZVxuIgogIiAgICBcbiIKICIgICAgV2hlbiBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgdGhlIGFjdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZVxuIgotIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS5cbiIKKyIgICAgdXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuICBUaGUgLUQgb3B0aW9uIHRha2VzXG4iCisiICAgIHByZWNlZGVuY2Ugb3ZlciAtRS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTE1CisjOiBidWlsdGlucy5jOjE5MjMKICMsIGZ1enp5CiBtc2dpZCAiIgogIkRpc3BsYXkgcG9zc2libGUgY29tcGxldGlvbnMgZGVwZW5kaW5nIG9uIHRoZSBvcHRpb25zLlxuIgpAQCAtNDc0OSw3ICs0ODM2LDcgQEAKICLRgVxuIgogIiAgICDQvdC10LPQvi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkzMAorIzogYnVpbHRpbnMuYzoxOTM4CiBtc2dpZCAiIgogIk1vZGlmeSBvciBkaXNwbGF5IGNvbXBsZXRpb24gb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC00NzYyLDYgKzQ4NDksOCBAQAogIiAgICBcbiIKICIgICAgT3B0aW9uczpcbiIKICIgICAgXHQtbyBvcHRpb25cdFNldCBjb21wbGV0aW9uIG9wdGlvbiBPUFRJT04gZm9yIGVhY2ggTkFNRVxuIgorIiAgICBcdC1EXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJkZWZhdWx0XCIgY29tbWFuZCBjb21wbGV0aW9uXG4iCisiICAgIFx0LUVcdFx0Q2hhbmdlIG9wdGlvbnMgZm9yIHRoZSBcImVtcHR5XCIgY29tbWFuZCBjb21wbGV0aW9uXG4iCiAiICAgIFxuIgogIiAgICBVc2luZyBgK28nIGluc3RlYWQgb2YgYC1vJyB0dXJucyBvZmYgdGhlIHNwZWNpZmllZCBvcHRpb24uXG4iCiAiICAgIFxuIgpAQCAtNDc3OCwxNSArNDg2NywxNSBAQAogIiAgICBoYXZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGRlZmluZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTk1OAorIzogYnVpbHRpbnMuYzoxOTY4CiBtc2dpZCAiIgotIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKKyJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCi0iICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgYXJyYXkgdmFyaWFibGUgQVJSQVksIG9yICIKLSJmcm9tXG4iCi0iICAgIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlIE1BUEZJTEUgIgotImlzXG4iCi0iICAgIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgorIiAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUgIgorIkFSUkFZLCBvclxuIgorIiAgICBmcm9tIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlICIKKyJNQVBGSUxFXG4iCisiICAgIGlzIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgogIiAgICBcbiIKICIgICAgT3B0aW9uczpcbiIKICIgICAgICAtbiBjb3VudFx0Q29weSBhdCBtb3N0IENPVU5UIGxpbmVzLiAgSWYgQ09VTlQgaXMgMCwgYWxsIGxpbmVzIGFyZSAiCkBAIC00ODEzLDE2ICs0OTAyLDMyIEBACiAiICAgIGFzc2lnbmluZyB0byBpdC5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIEFSUkFZIGlzIHJlYWRvbmx5LiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBBUlJBWSBpcyByZWFkb25seSAiCisib3JcbiIKKyIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTk5MAorIzogYnVpbHRpbnMuYzoyMDAxCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCiAiICAgIEEgc3lub255bSBmb3IgYG1hcGZpbGUnLiIKIG1zZ3N0ciAiIgogCisjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjfiBtc2dzdHIgIiIKKyN+ICLQv9GA0LXQt9Cw0LTQtdC70Y/QvdC1INC90LAg0L/QsNC80LXRgjogJWx1INCx0LDQudGC0LAg0L3QtSDQvNC+0LPQsNGCINC00LAg0YHQtSDQt9Cw0LTQtdC70Y/RgiDQvdCw0L3QvtCy0L4gKNC30LDQtNC10LvQtdC90LggIgorI34gItGB0LBcbiIKKyN+ICIlbHUg0LHQsNC50YLQsCkiCisKKyN+IG1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKKyN+IG1zZ3N0ciAi0L/RgNC10LfQsNC00LXQu9GP0L3QtSDQvdCwINC/0LDQvNC10YI6ICVsdSDQsdCw0LnRgtCwINC90LUg0LzQvtCz0LDRgiDQtNCwINGB0LUg0LfQsNC00LXQu9GP0YIiCisKKyN+IG1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjfiBtc2dzdHIgIiIKKyN+ICLQv9GA0LXQt9Cw0LTQtdC70Y/QvdC1INC90LAg0L/QsNC80LXRgjogJXM6JWQ6ICVsdSDQsdCw0LnRgtCwINC90LUg0LzQvtCz0LDRgiDQtNCwINGB0LUg0LfQsNC00LXQu9GP0YIgKNC30LDQtNC10LvQtdC90LggIgorI34gItGB0LAgJWx1INCx0LDQudGC0LApIgorCiAjfiBtc2dpZCAiICIKICN+IG1zZ3N0ciAiICIKIApkaWZmIC0tZ2l0IGEvcG8vY2EuZ21vIGIvcG8vY2EuZ21vCmluZGV4IGI2ZGMxMGIuLmMzNGI0NDYgMTAwNjQ0Ci0tLSBhL3BvL2NhLmdtbworKysgYi9wby9jYS5nbW8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG8vY2EucG8gYi9wby9jYS5wbwppbmRleCA3Yjg0ZmZlLi4xNGIyZTFkIDEwMDY0NAotLS0gYS9wby9jYS5wbworKysgYi9wby9jYS5wbwpAQCAtNyw3ICs3LDcgQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaC0yLjBcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMDItMTkgMTQ6NTMtMDUwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTEyLTMwIDA4OjI1LTA1MDBcbiIKICJQTy1SZXZpc2lvbi1EYXRlOiAyMDAzLTEyLTI4IDE5OjU5KzAxMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IE1vbnR4byBWaWNlbnRlIGkgU2VtcGVyZSA8bW9udHhvQGFsYWNhbnQuY29tPlxuIgogIkxhbmd1YWdlLVRlYW06IENhdGFsYW4gPGNhQGRvZGRzLm5ldD5cbiIKQEAgLTE5LDUwICsxOSw1NSBAQAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgImxhIG1hdHJpdSBlc3Q/IG1hbCBjb21wb3N0YSIKIAotIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAorIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiIgogCi0jOiBhcnJheWZ1bmMuYzo0NzkKKyM6IGFycmF5ZnVuYy5jOjQ4MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXNzb2NpYXRpdmUgYXJyYXkga2V5IgogbXNnc3RyICIlYyVjOiBvcGNpPyBpbnY/bGlkYSIKIAotIzogYXJyYXlmdW5jLmM6NDgxCisjOiBhcnJheWZ1bmMuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gdG8gbm9uLW51bWVyaWMgaW5kZXgiCiBtc2dzdHIgIiVzOiBubyBlcyBwb3QgYXNzaWduYXIgYSB1biA/bmRleCBxdWUgbm8gP3MgbnVtP3JpYyIKIAotIzogYXJyYXlmdW5jLmM6NTE3CisjOiBhcnJheWZ1bmMuYzo1MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBtdXN0IHVzZSBzdWJzY3JpcHQgd2hlbiBhc3NpZ25pbmcgYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKIAotIzogYmFzaGhpc3QuYzozNzkKKyM6IGJhc2hoaXN0LmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY3JlYXRlOiAlcyIKIG1zZ3N0ciAiJXM6IG5vIGVzIHBvdCBjcmVhcjogJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzQxMworIzogYmFzaGxpbmUuYzozNDU3CiBtc2dpZCAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IGJhc2hsaW5lLmM6MzQ5MQorIzogYmFzaGxpbmUuYzozNTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IGBcIiciCiBtc2dzdHIgIiIKIAotIzogYmFzaGxpbmUuYzozNTIwCisjOiBiYXNobGluZS5jOjM1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2xvc2luZyBgJWMnIGluICVzIgogbXNnc3RyICIiCiAKLSM6IGJhc2hsaW5lLmM6MzU1NAorIzogYmFzaGxpbmUuYzozNjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGlucy9hbGlhcy5kZWY6MTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJXMnOiBpbnZhbGlkIGFsaWFzIG5hbWUiCittc2dzdHIgIiVjJWM6IG9wY2k/IGludj9saWRhIgorCiAjOiBidWlsdGlucy9iaW5kLmRlZjoxMjAgYnVpbHRpbnMvYmluZC5kZWY6MTIzCiBtc2dpZCAibGluZSBlZGl0aW5nIG5vdCBlbmFibGVkIgogbXNnc3RyICIiCkBAIC0xMTMsNiArMTE4LDIxIEBACiAiICAgIFdpdGhvdXQgRVhQUiwgcmV0dXJucyAiCiBtc2dzdHIgIiIKIAorIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzUKK21zZ2lkICIiCisiLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCisiICAgICIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNgorbXNnaWQgIiIKKyI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKKyIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgorIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGlucy9jZC5kZWY6MjE1CiBtc2dpZCAiSE9NRSBub3Qgc2V0IgogbXNnc3RyICIiCkBAIC0xMjYsNyArMTQ2LDcgQEAKIG1zZ2lkICJsaW5lICVkOiAiCiBtc2dzdHIgImVuY2FpeCAlM2Q6IgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjAKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEzOSBlcnJvci5jOjI2MQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogIgogbXNnc3RyICJzJ2VzdD8gZXNjcml2aW50IgpAQCAtMTM2LDExICsxNTYsMTEgQEAKIG1zZ2lkICIlczogdXNhZ2U6ICIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyMgorIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgIm5vbWJyZSBleGNlc3NpdSBkZSBwYXI/bWV0cmVzIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTMgc2hlbGwuYzo3NzQKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5OSBzaGVsbC5jOjc4MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIKIG1zZ3N0ciAiY2FsIHVuIHBhcj9tZXRyZSBwZXIgYSBsJ29wY2k/OiAtIgpAQCAtMTU1LDcgKzE3NSw3IEBACiBtc2dpZCAiJXM6IG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IG5vIHMnaGEgdHJvYmF0IGwnb3JkcmUiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc4NworIzogYnVpbHRpbnMvY29tbW9uLmM6MjE0IHNoZWxsLmM6Nzk1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVjJWM6IG9wY2k/IGludj9saWRhIgpAQCAtMTgwLDcgKzIwMCw3IEBACiBtc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgogbXNnc3RyICJuP21lcm8gaW52P2xpZCBkZSBzZW55YWwiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NQorIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU2CiAjLCBmdXp6eQogbXNnaWQgImludmFsaWQgbnVtYmVyIgogbXNnc3RyICJuP21lcm8gaW52P2xpZCBkZSBzZW55YWwiCkBAIC0xOTUsNyArMjE1LDcgQEAKIG1zZ2lkICJgJXMnOiBub3QgYSBwaWQgb3IgdmFsaWQgam9iIHNwZWMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjY0IGVycm9yLmM6NDUzCisjOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IHZhcmlhYmxlIgogbXNnc3RyICIlczogP3MgdW5hIHZhcmlhYmxlIG5vbT9zIGRlIGxlY3R1cmEiCkBAIC0yNzAsMjYgKzI5MCwyNiBAQAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgam9iIHNwZWMiCiBtc2dzdHIgIiVzOiBSZWRpcmVjY2k/IGFtYmlndWEiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjoyNzAKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjoyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYWN0aW9uIG5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjQzMCBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjE1Ci0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODEzCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDQ5IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NDQKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjY3CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk2CiBtc2dpZCAid2FybmluZzogLUYgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NjkKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTgKIG1zZ2lkICJ3YXJuaW5nOiAtQyBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjc4NgorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjgyNgogbXNnaWQgIm5vdCBjdXJyZW50bHkgZXhlY3V0aW5nIGNvbXBsZXRpb24gZnVuY3Rpb24iCiBtc2dzdHIgIiIKIApAQCAtMjk5LDIxICszMTksMjEgQEAKIG1zZ3N0ciAiIgogInNlcnZpciBMT0NBTCBkaW5zIGQndW5hIGZ1bmNpPzsgYT8/IHJlc3RyaW5naXI/IGxhIG1hZ25pdHVkIHZpc2libGUgZGUgbGEiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM1MworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzYwCiBtc2dpZCAiY2Fubm90IHVzZSBgLWYnIHRvIG1ha2UgZnVuY3Rpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NSBleGVjdXRlX2NtZC5jOjQ4MTgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3MiBleGVjdXRlX2NtZC5jOjQ5MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IGZ1bmN0aW9uIgogbXNnc3RyICIlczogZnVuY2k/IG5vbT9zIGRlIGxlY3R1cmEiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2MQorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDY4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IG5vIGVzIHBvdCBhc3NpZ25hciBkJ2FxdWVzdGEgbWFuZXJhIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiIgpAQCAtMzQyLDggKzM2Miw4IEBACiBtc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgogbXNnc3RyICIlczogbm8gZXMgcG90IGNyZWFyOiAlcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDY3NQotIzogc2hlbGwuYzoxNDM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0CisjOiBzaGVsbC5jOjE0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczogP3MgdW4gZGlyZWN0b3JpIgpAQCAtMzU4LDcgKzM3OCw4IEBACiBtc2dpZCAiJXM6IGZpbGUgaXMgdG9vIGxhcmdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGV4ZWN1dGVfY21kLmM6NDc0NSBzaGVsbC5jOjE0NDkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAzIGV4ZWN1dGVfY21kLmM6NDg2NAorIzogc2hlbGwuYzoxNDYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIG1zZ3N0ciAiJXM6IG5vIGVzIHBvdCBleGVjdXRhciBlbCBmaXR4ZXIgYmluYXJpIgpAQCAtMzg3LDE2ICs0MDgsMTYgQEAKIG1zZ2lkICJUaGVyZSBhcmUgcnVubmluZyBqb2JzLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjIKICMsIGZ1enp5CiBtc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKIG1zZ3N0ciAiJXM6IG5vIHMnaGEgdHJvYmF0IGwnb3JkcmUiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKIG1zZ2lkICJoaXN0b3J5IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM2MgorIzogYnVpbHRpbnMvZmMuZGVmOjM3MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCiBtc2dzdHIgIiVzOiBubyBlcyBwb3QgY3JlYXI6ICVzIgpAQCAtNDg2LDEyICs1MDcsMTIgQEAKIG1zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjE5NworIzogYnVpbHRpbnMva2lsbC5kZWY6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhcmd1bWVudHMgbXVzdCBiZSBwcm9jZXNzIG9yIGpvYiBJRHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjYwCisjOiBidWlsdGlucy9raWxsLmRlZjoyNjMKICMsIGZ1enp5CiBtc2dpZCAiVW5rbm93biBlcnJvciIKIG1zZ3N0ciAiRXJyb3IgZGVzY29uZWd1dCAlZCIKQEAgLTUwMCw1NiArNTIxLDYxIEBACiBtc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAicydlc3BlcmF2YSB1bmEgZXhwcmVzc2k/IgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDEgYnVpbHRpbnMvcmVhZC5kZWY6MjcyCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYW4gaW5kZXhlZCBhcnJheSIKK21zZ3N0ciAiJXM6IHZhcmlhYmxlIHNlbnNlIHZpbmNsZSIKKworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTcgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcjogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU4IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY2IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwNAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKIG1zZ3N0ciAiJWMlYzogb3BjaT8gaW52P2xpZGEiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiBtc2dzdHIgIiVjJWM6IG9wY2k/IGludj9saWRhIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgY2FsbGJhY2sgcXVhbnR1bSIKIG1zZ3N0ciAibj9tZXJvIGludj9saWQgZGUgc2VueWFsIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMTgKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMyNgogIywgZnV6enkKIG1zZ2lkICJlbXB0eSBhcnJheSB2YXJpYWJsZSBuYW1lIgogbXNnc3RyICIlczogdmFyaWFibGUgc2Vuc2UgdmluY2xlIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM0NwogbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNjcKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU0NAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTcxCisjOiBidWlsdGlucy9wcmludGYuZGVmOjU3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAlczogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTAKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzU3CiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAiIgogCkBAIC02NDIsMTIgKzY2OCwxMiBAQAogIiAgICBUaGUgYGRpcnMnIGJ1aWx0aW4gZGlzcGxheXMgdGhlIGRpcmVjdG9yeSBzdGFjay4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcmVhZC5kZWY6MjQ4CisjOiBidWlsdGlucy9yZWFkLmRlZjoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgdGltZW91dCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU3NAorIzogYnVpbHRpbnMvcmVhZC5kZWY6NTg4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJyZWFkIGVycm9yOiAlZDogJXMiCiBtc2dzdHIgImVycm9yIGRlbCBjb25kdWN0ZTogJXMiCkBAIC02ODcsMTEgKzcxMywxMSBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICJzaGlmdCBbbl0iCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNTQKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMTkKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgc2hlbGwgb3B0aW9uIG5hbWUiCiBtc2dzdHIgIiIKQEAgLTc4NCw4MiArODEwLDgyIEBACiBtc2dpZCAiYCVjJzogaW52YWxpZCBzeW1ib2xpYyBtb2RlIGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBlcnJvci5jOjg5IGVycm9yLmM6MzIwIGVycm9yLmM6MzIyIGVycm9yLmM6MzI0CisjOiBlcnJvci5jOjkwIGVycm9yLmM6MzIxIGVycm9yLmM6MzIzIGVycm9yLmM6MzI1CiBtc2dpZCAiIGxpbmUgIgogbXNnc3RyICIiCiAKLSM6IGVycm9yLmM6MTY0CisjOiBlcnJvci5jOjE2NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAibGFzdCBjb21tYW5kOiAlc1xuIgogbXNnc3RyICJzaSBzJ2VzY3JpdSBcInJcIiBzJ2V4ZWN1dGFyPyBsYSBkYXJyZXJhIG9yZHJlLiIKIAotIzogZXJyb3IuYzoxNzIKKyM6IGVycm9yLmM6MTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nLi4uIgogbXNnc3RyICIiCiAKLSM6IGVycm9yLmM6NDA1CisjOiBlcnJvci5jOjQwNgogIywgZnV6enkKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQgZXJyb3IiCiBtc2dzdHIgIkVycm9yIGRlc2NvbmVndXQgJWQiCiAKLSM6IGVycm9yLmM6NDA2CisjOiBlcnJvci5jOjQwNwogIywgZnV6enkKIG1zZ2lkICJiYWQgY29tbWFuZCB0eXBlIgogbXNnc3RyICJ1biBub20gZCd1bmEgb3JkcmUuIgogCi0jOiBlcnJvci5jOjQwNworIzogZXJyb3IuYzo0MDgKICMsIGZ1enp5CiBtc2dpZCAiYmFkIGNvbm5lY3RvciIKIG1zZ3N0ciAiY29ubmVjdG9yIGludj9saWQgJyVkJyIKIAotIzogZXJyb3IuYzo0MDgKKyM6IGVycm9yLmM6NDA5CiAjLCBmdXp6eQogbXNnaWQgImJhZCBqdW1wIgogbXNnc3RyICJTYWx0IGluY29ycmVjdGUgJWQiCiAKLSM6IGVycm9yLmM6NDQ2CisjOiBlcnJvci5jOjQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5ib3VuZCB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6IHZhcmlhYmxlIHNlbnNlIHZpbmNsZSIKIAogIzogZXZhbC5jOjE4MQogIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCittc2dpZCAiB3RpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKIG1zZ3N0ciAiIgogIiVjIGhhIGV4Y2VkaXQgZWwgdGVtcHMgZCdlc3BlcmEgcGVyIHVuYSBlbnRyYWRhOiBmaSBhdXRvbT90aWNhIGRlIHNlc3NpP1xuIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5MQorIzogZXhlY3V0ZV9jbWQuYzo0OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlZGlyZWN0IHN0YW5kYXJkIGlucHV0IGZyb20gL2Rldi9udWxsOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBleGVjdXRlX2NtZC5jOjExMTIKKyM6IGV4ZWN1dGVfY21kLmM6MTE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJUSU1FRk9STUFUOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzoyMDExCisjOiBleGVjdXRlX2NtZC5jOjIwNzUKICMsIGZ1enp5CiBtc2dpZCAicGlwZSBlcnJvciIKIG1zZ3N0ciAiZXJyb3IgZGVsIGNvbmR1Y3RlOiAlcyIKIAotIzogZXhlY3V0ZV9jbWQuYzo0MzYzCisjOiBleGVjdXRlX2NtZC5jOjQ0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IGAvJyBpbiBjb21tYW5kIG5hbWVzIgogbXNnc3RyICIlczogcmVzdHJpbmdpdDogbm8gZXMgcG90IGVzcGVjaWZpY2FyICcvJyBlbiBub21zIGQnb3JkcmVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ0NTQKKyM6IGV4ZWN1dGVfY21kLmM6NDU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBubyBzJ2hhIHRyb2JhdCBsJ29yZHJlIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ3MDgKKyM6IGV4ZWN1dGVfY21kLmM6NDgyNwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCiBtc2dzdHIgIiVzOiA/cyB1biBkaXJlY3RvcmkiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDg1NworIzogZXhlY3V0ZV9jbWQuYzo0OTc2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIGZkICVkIHRvIGZkICVkIgogbXNnc3RyICIiCkBAIC05MDcsMjkgKzkzMywyOSBAQAogbXNnaWQgIm1pc3NpbmcgYCknIgogbXNnc3RyICJmYWx0YSBhbGd1biAnKSciCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzUKKyM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKICMsIGZ1enp5CiBtc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogbXNnc3RyICJlcnJvciBkZSBzaW50YXhpOiBzJ2hhIGFycmliYXQgaW5lc3BlcmFkYW1lbnQgYSBsYSBmaSBkZWwgZml0eGVyIgogCi0jOiBleHByLmM6MTE3NworIzogZXhwci5jOjExNzgKIG1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTIwMQorIzogZXhwci5jOjEyMDIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzJXMlczogJXMgKGVycm9yIHRva2VuIGlzIFwiJXNcIikiCiBtc2dzdHIgIiVzOiAlczogJXMgKGxhIHByb3ZhIGQnZXJyb3IgP3MgXCIlc1wiKVxuIgogCi0jOiBleHByLmM6MTI1OQorIzogZXhwci5jOjEyNjAKIG1zZ2lkICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTI3OQorIzogZXhwci5jOjEyODAKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgInZhbG9yIG1hc3NhIGdyYW4gcGVyIGEgbGEgYmFzZSBkZSBudW1lcmFjaT8iCiAKLSM6IGV4cHIuYzoxMzI4CisjOiBleHByLmM6MTMyOQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKIG1zZ3N0ciAiJXM6IHMnZXNwZXJhdmEgdW5hIGV4cHJlc3NpPyBkZSBub21icmUgZW50ZXIiCkBAIC05MzksNyArOTY1LDcgQEAKIG1zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgogbXNnc3RyICJnZXR3ZDogbm8gcydoYSBwb2d1dCBhY2NlZGlyIGFscyBkaXJlY3RvcmlzIHBhcmVzIgogCi0jOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDU1OQorIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgogbXNnc3RyICIiCkBAIC05OTgsNyArMTAyNCw3IEBACiBtc2dpZCAiRG9uZSIKIG1zZ3N0ciAiRmV0IgogCi0jOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIyCisjOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIzCiBtc2dpZCAiU3RvcHBlZCIKIG1zZ3N0ciAiQXR1cmF0IgogCkBAIC0xMDM1LDczICsxMDYxLDc3IEBACiBtc2dpZCAiICAod2Q6ICVzKSIKIG1zZ3N0ciAiKHdkIGFyYTogJXMpXG4iCiAKLSM6IGpvYnMuYzoxNzcxCisjOiBqb2JzLmM6MTc3NgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2hpbGQgc2V0cGdpZCAoJWxkIHRvICVsZCkiCiBtc2dzdHIgImVycm9yIGVuIGwnZXhlY3VjaT8gZGUgc2V0cGdpZCAoJWQgYSAlZCkgZW4gZWwgcHJvYz9zIGZpbGwgJWQ6ICVzXG4iCiAKLSM6IGpvYnMuYzoyMDk5IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMDQgbm9qb2JzLmM6NTg1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0OiBwaWQgJWxkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgc2hlbGwiCiBtc2dzdHIgIiIKICJ3YWl0OiBsJ2lkZW50aWZpY2Fkb3IgZGVsIHByb2M/cyAocGlkKSAlZCBubyA/cyB1biBmaWxsIGQnYXF1ZXN0IGludD9ycHJldCIKIAotIzogam9icy5jOjIzMjYKKyM6IGpvYnMuYzoyMzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yOiBObyByZWNvcmQgb2YgcHJvY2VzcyAlbGQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjI1OTgKKyM6IGpvYnMuYzoyNjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yX2pvYjogam9iICVkIGlzIHN0b3BwZWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjI4MjAKKyM6IGpvYnMuYzoyODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgaGFzIHRlcm1pbmF0ZWQiCiBtc2dzdHIgIiVzOiBzJ2hhIGZpbmFsaXR6YXQgbGEgdGFzY2EiCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6MjgzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzQ5MgorIzogam9icy5jOjMwNTkKK21zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCittc2dzdHIgIiIKKworIzogam9icy5jOjM1MDgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBsaW5lICVkOiAiCiBtc2dzdHIgImVuY2FpeCAlM2Q6IgogCi0jOiBqb2JzLmM6MzUwNiBub2pvYnMuYzo4MTQKKyM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKGNvcmUgZHVtcGVkKSIKIG1zZ3N0ciAiIChib2xjYXQgZGUgbGEgaW1hdGdlIGRlbCBudWNsaSkiCiAKLSM6IGpvYnMuYzozNTE4IGpvYnMuYzozNTMxCisjOiBqb2JzLmM6MzUzNCBqb2JzLmM6MzU0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIod2Qgbm93OiAlcylcbiIKIG1zZ3N0ciAiKHdkIGFyYTogJXMpXG4iCiAKLSM6IGpvYnMuYzozNTYzCisjOiBqb2JzLmM6MzU3OQogIywgZnV6enkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIGZhaWxlZCIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JzOiBnZXRwZ3JwIGhhIGZhbGxhdDogJXMiCiAKLSM6IGpvYnMuYzozNjIzCisjOiBqb2JzLmM6MzYzOQogIywgZnV6enkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5lIGRpc2NpcGxpbmUiCiBtc2dzdHIgImluaXRpYWxpemVfam9iczogZGlzY2lwbGluYSBkZSBsP25pYTogJXMiCiAKLSM6IGpvYnMuYzozNjMzCisjOiBqb2JzLmM6MzY0OQogIywgZnV6enkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYnM6IGdldHBncnAgaGEgZmFsbGF0OiAlcyIKIAotIzogam9icy5jOjM2NjEKKyM6IGpvYnMuYzozNjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjY2CisjOiBqb2JzLmM6MzY4MgogbXNnaWQgIm5vIGpvYiBjb250cm9sIGluIHRoaXMgc2hlbGwiCiBtc2dzdHIgIm5vIGhpIGhhIGNhcCB0YXNjYSBkZSBjb250cm9sIGRpbnMgZCdhcXVlc3QgaW50P3JwcmV0IgogCkBAIC0xMTkyLDYgKzEyMjIsMjYgQEAKIG1zZ2lkICJuZXR3b3JrIG9wZXJhdGlvbnMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiIgogCisjOiBsb2NhbGUuYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2NhbGUuYzoyNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCittc2dzdHIgInhyZWFsbG9jOiBubyBlcyBwb2RlbiByZWFzc2lnbmFyICVsdSBvY3RldHMgKCVsdSBvY3RldHMgcmVhc3NpZ25hdHMpIgorCisjOiBsb2NhbGUuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICJ4cmVhbGxvYzogbm8gZXMgcG9kZW4gcmVhc3NpZ25hciAlbHUgb2N0ZXRzICglbHUgb2N0ZXRzIHJlYXNzaWduYXRzKSIKKwogIzogbWFpbGNoZWNrLmM6NDMzCiBtc2dpZCAiWW91IGhhdmUgbWFpbCBpbiAkXyIKIG1zZ3N0ciAiVGVuaXUgY29ycmV1IGVuICRfIgpAQCAtMTIwNSwxNDQgKzEyNTUsMTQ0IEBACiBtc2dpZCAiVGhlIG1haWwgaW4gJXMgaGFzIGJlZW4gcmVhZFxuIgogbXNnc3RyICJTJ2hhIGxsZWdpdCBlbCBjb3JyZXUgYSAlc1xuIgogCi0jOiBtYWtlX2NtZC5jOjMyMgorIzogbWFrZV9jbWQuYzozMjMKICMsIGZ1enp5CiBtc2dpZCAic3ludGF4IGVycm9yOiBhcml0aG1ldGljIGV4cHJlc3Npb24gcmVxdWlyZWQiCiBtc2dzdHIgImVycm9yIGRlIHNpbnRheGkgYSBsJ2V4cHJlc3NpPyIKIAotIzogbWFrZV9jbWQuYzozMjQKKyM6IG1ha2VfY21kLmM6MzI1CiAjLCBmdXp6eQogbXNnaWQgInN5bnRheCBlcnJvcjogYDsnIHVuZXhwZWN0ZWQiCiBtc2dzdHIgImVycm9yIGRlIHNpbnRheGk6IHMnaGEgYXJyaWJhdCBpbmVzcGVyYWRhbWVudCBhIGxhIGZpIGRlbCBmaXR4ZXIiCiAKLSM6IG1ha2VfY21kLmM6MzI1CisjOiBtYWtlX2NtZC5jOjMyNgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yOiBgKCglcykpJyIKIG1zZ3N0ciAiZXJyb3IgZGUgc2ludGF4aSIKIAotIzogbWFrZV9jbWQuYzo1NjcKKyM6IG1ha2VfY21kLmM6NTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfaGVyZV9kb2N1bWVudDogYmFkIGluc3RydWN0aW9uIHR5cGUgJWQiCiBtc2dzdHIgIm1ha2VfaGVyZV9kb2N1bWVudDogZWwgdGlwdXMgZCdpbnN0cnVjY2k/ICVkID9zIGluY29ycmVjdGUiCiAKLSM6IG1ha2VfY21kLmM6NjUxCisjOiBtYWtlX2NtZC5jOjY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJoZXJlLWRvY3VtZW50IGF0IGxpbmUgJWQgZGVsaW1pdGVkIGJ5IGVuZC1vZi1maWxlICh3YW50ZWQgYCVzJykiCiBtc2dzdHIgIiIKIAotIzogbWFrZV9jbWQuYzo3NDYKKyM6IG1ha2VfY21kLmM6NzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6Mjk4NiBwYXJzZS55OjMyMTgKKyM6IHBhcnNlLnk6MzEzMyBwYXJzZS55OjMzNjkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGAlYyciCiBtc2dzdHIgIiIKICJzJ2hhIGFycmliYXQgaW5lc3BlcmFkYW1lbnQgYSBsYSBmaSBkZWwgZml0eGVyIChFT0YpIG1lbnRyZVxuIgogImVzIGJ1c2NhdmEgcGVyICclYyciCiAKLSM6IHBhcnNlLnk6MzcyMgorIzogcGFyc2UueTozOTUxCiAjLCBmdXp6eQogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIGBdXSciCiBtc2dzdHIgIiIKICJzJ2hhIGFycmliYXQgaW5lc3BlcmFkYW1lbnQgYSBsYSBmaSBkZWwgZml0eGVyIChFT0YpIG1lbnRyZVxuIgogImVzIGJ1c2NhdmEgcGVyICclYyciCiAKLSM6IHBhcnNlLnk6MzcyNworIzogcGFyc2UueTozOTU2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICJoaSBoYSB1biBlcnJvciBpbmVzcGVyYXQgZGUgc2ludGF4aSBwcm9wIGRlbCBzZW55YWwgJyVzJyIKIAotIzogcGFyc2UueTozNzMxCisjOiBwYXJzZS55OjM5NjAKICMsIGZ1enp5CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgImVycm9yIGRlIHNpbnRheGkgYSBsJ2V4cHJlc3NpPyIKIAotIzogcGFyc2UueTozODA5CisjOiBwYXJzZS55OjQwMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozODEzCisjOiBwYXJzZS55OjQwNDIKICMsIGZ1enp5CiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICJzJ2VzcGVyYXZhICcpJyIKIAotIzogcGFyc2UueTozODQxCisjOiBwYXJzZS55OjQwNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6Mzg0NQorIzogcGFyc2UueTo0MDc0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM4ODUKKyM6IHBhcnNlLnk6NDEyMAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBzJ2VzcGVyYXZhIHVuIG9wZXJhZG9yIGJpbmFyaSIKIAotIzogcGFyc2UueTozODg5CisjOiBwYXJzZS55OjQxMjQKICMsIGZ1enp5CiBtc2dpZCAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogcydlc3BlcmF2YSB1biBvcGVyYWRvciBiaW5hcmkiCiAKLSM6IHBhcnNlLnk6MzkwNgorIzogcGFyc2UueTo0MTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozOTEwCisjOiBwYXJzZS55OjQxNTAKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM5MjEKKyM6IHBhcnNlLnk6NDE2MQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgInMnZXNwZXJhdmEgJzonIHBlciBhIGwnZXhwcmVzc2k/IGNvbmRpY2lvbmFsIgogCi0jOiBwYXJzZS55OjM5MjQKKyM6IHBhcnNlLnk6NDE2NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgInMnZXNwZXJhdmEgJzonIHBlciBhIGwnZXhwcmVzc2k/IGNvbmRpY2lvbmFsIgogCi0jOiBwYXJzZS55OjM5MjgKKyM6IHBhcnNlLnk6NDE2OAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJzJ2VzcGVyYXZhICc6JyBwZXIgYSBsJ2V4cHJlc3NpPyBjb25kaWNpb25hbCIKIAotIzogcGFyc2UueTo1MTk1CisjOiBwYXJzZS55OjU0NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICJoaSBoYSB1biBlcnJvciBpbmVzcGVyYXQgZGUgc2ludGF4aSBwcm9wIGRlbCBzZW55YWwgJyVzJyIKIAotIzogcGFyc2UueTo1MjEzCisjOiBwYXJzZS55OjU0NzcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCiBtc2dzdHIgImhpIGhhIHVuIGVycm9yIGluZXNwZXJhdCBkZSBzaW50YXhpIHByb3AgZGVsIHNlbnlhbCAnJXMnIgogCi0jOiBwYXJzZS55OjUyMjMKKyM6IHBhcnNlLnk6NTQ4NwogbXNnaWQgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAiZXJyb3IgZGUgc2ludGF4aTogcydoYSBhcnJpYmF0IGluZXNwZXJhZGFtZW50IGEgbGEgZmkgZGVsIGZpdHhlciIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgImVycm9yIGRlIHNpbnRheGkiCiAKLSM6IHBhcnNlLnk6NTI4NQorIzogcGFyc2UueTo1NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICJVdGlsaXR6ZXUgPyVzPyBwZXIgYSBlaXhpciBkZSBsJ2ludD9ycHJldCBkJ29yZHJlcy5cbiIKIAotIzogcGFyc2UueTo1NDQ3CisjOiBwYXJzZS55OjU3MTEKICMsIGZ1enp5CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgogbXNnc3RyICIiCiAicydoYSBhcnJpYmF0IGluZXNwZXJhZGFtZW50IGEgbGEgZmkgZGVsIGZpdHhlciAoRU9GKSBtZW50cmVcbiIKICJlcyBidXNjYXZhIHBlciAnJWMnIgogCi0jOiBwY29tcGxldGUuYzoxMDE4CisjOiBwY29tcGxldGUuYzoxMDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRpb246IGZ1bmN0aW9uIGAlcycgbm90IGZvdW5kIgogbXNnc3RyICIiCkBAIC0xMzUyLDczICsxNDAyLDkyIEBACiBtc2dpZCAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzoyODUKKyM6IHByaW50X2NtZC5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmludF9jb21tYW5kOiBiYWQgY29ubmVjdG9yIGAlZCciCiBtc2dzdHIgInByaW50X2NvbW1hbmQ6IGVsIGNvbm5lY3RvciAnJWQnID9zIGluY29ycmVjdGUiCiAKLSM6IHByaW50X2NtZC5jOjEzNDgKKyM6IHByaW50X2NtZC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiIKKworIzogcHJpbnRfY21kLmM6MzY4Cittc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCittc2dzdHIgIiIKKworIzogcHJpbnRfY21kLmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzoxNDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjEwNQorIzogcmVkaXIuYzoxMTAKIG1zZ2lkICJmaWxlIGRlc2NyaXB0b3Igb3V0IG9mIHJhbmdlIgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6MTQ4CisjOiByZWRpci5jOjE2NgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIG1zZ3N0ciAiJXM6IFJlZGlyZWNjaT8gYW1iaWd1YSIKIAogIyBObyBhY2FiZSBkJ2VudGVuZHJlIGVsIHNpZ25pZmljYXQgZGUgbCdvcmlnaW5hbCAiY2xvYmJlciIKLSM6IHJlZGlyLmM6MTUyCisjOiByZWRpci5jOjE3MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIG1zZ3N0ciAiJXM6IE5vIHMnaGEgcG9ndXQgc29icmVlc2NyaXVyZSBlbCBmaXR4ZXIgZXhpc3RlbnQiCiAKLSM6IHJlZGlyLmM6MTU3CisjOiByZWRpci5jOjE3NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiVzOiByZXN0cmluZ2l0OiBubyBlcyBwb3QgZXNwZWNpZmljYXIgJy8nIGVuIG5vbXMgZCdvcmRyZXMiCiAKLSM6IHJlZGlyLmM6MTYyCisjOiByZWRpci5jOjE4MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgogbXNnc3RyICJubyBlcyBwb3QgZXN0YWJsaXIgdW4gY29uZHVjdGUgcGVyIGEgbGEgc3Vic3RpdHVjaT8gZGVsIHByb2M/czogJXMiCiAKLSM6IHJlZGlyLmM6NTE3CisjOiByZWRpci5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gZmQgdG8gdmFyaWFibGUiCittc2dzdHIgIiVzOiBubyBlcyBwb3QgYXNzaWduYXIgbGEgbGxpc3RhIGEgdW4gZWxlbWVudCBkZSBsYSBtYXRyaXUiCisKKyM6IHJlZGlyLmM6NTQ0CiBtc2dpZCAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IG5vdCBzdXBwb3J0ZWQgd2l0aG91dCBuZXR3b3JraW5nIgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6MTAyMworIzogcmVkaXIuYzoxMTAxCiAjLCBmdXp6eQogbXNnaWQgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgogbXNnc3RyICJlcnJvciBkZSByZWRpcmVjY2k/IgogCi0jOiBzaGVsbC5jOjMyOAorIzogc2hlbGwuYzozMzIKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjMzMgorIzogc2hlbGwuYzozMzYKIG1zZ2lkICIvdG1wIG11c3QgYmUgYSB2YWxpZCBkaXJlY3RvcnkgbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjg3NgorIzogc2hlbGwuYzo4ODQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVjJWM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlYyVjOiBvcGNpPyBpbnY/bGlkYSIKIAotIzogc2hlbGwuYzoxNjM4CisjOiBzaGVsbC5jOjE2NTEKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgIk5vIHRpbmMgY2FwIG5vbSBkJ3VzdWFyaSEiCiAKLSM6IHNoZWxsLmM6MTc3OAorIzogc2hlbGwuYzoxNzkzCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgIkdOVSAlcywgdmVyc2k/ICVzXG4iCiAKLSM6IHNoZWxsLmM6MTc3OQorIzogc2hlbGwuYzoxNzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJVc2FnZTpcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIC4uLlxuIgpAQCAtMTQyNywxMDkgKzE0OTYsMTA5IEBACiAiU2ludGF4aTpcdCVzIFtvcGNpPy1mb3JtYXQtbGxhcmcgR05VXSBbb3BjaT9dIC4uLlxuIgogIlx0JXMgW29wY2k/LWZvcm1hdC1sbGFyZyBHTlVdIFtvcGNpP10gZml0eGVyX2RlX3NlcT8/bmNpZXMgLi4uXG4iCiAKLSM6IHNoZWxsLmM6MTc4MQorIzogc2hlbGwuYzoxNzk2CiBtc2dpZCAiR05VIGxvbmcgb3B0aW9uczpcbiIKIG1zZ3N0ciAib3BjaW9ucyBkZSBmb3JtZXMgbGxhcmd1ZXMgZGUgR05VOlxuIgogCi0jOiBzaGVsbC5jOjE3ODUKKyM6IHNoZWxsLmM6MTgwMAogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgIk9wY2lvbnMgZGUgbCdpbnQ/cnByZXQgZCdvcmRyZXM6XG4iCiAKLSM6IHNoZWxsLmM6MTc4NgorIzogc2hlbGwuYzoxODAxCiAjLCBmdXp6eQogbXNnaWQgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKIG1zZ3N0ciAiXHQtaXJzRCBvIC1jIG9yZHJlXHRcdChub20/cyBwZXIgYSBpbnZvY2FyKVxuIgogCi0jOiBzaGVsbC5jOjE4MDEKKyM6IHNoZWxsLmM6MTgxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJcdC0lcyBvciAtbyBvcHRpb25cbiIKIG1zZ3N0ciAiXHQtJXMgbyAtbyBvcGNpP1xuIgogCi0jOiBzaGVsbC5jOjE4MDcKKyM6IHNoZWxsLmM6MTgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIiIKICJQZXIgYSBvYnRpbmRyZSBtP3MgaW5mb3JtYWNpPyBzb2JyZSBsZXMgb3BjaW9ucyBkZSBsJ2ludD9ycHJldFxuIgogImQnb3JkcmVzLCB0ZWNsZWdldSA/JXMgLWMgXCJoZWxwIHNldFwiPy5cbiIKIAotIzogc2hlbGwuYzoxODA4CisjOiBzaGVsbC5jOjE4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKIG1zZ3N0ciAiIgogIlBlciBhIG9idGluZHJlIG0/cyBpbmZvcm1hY2k/IHNvYnJlIGxlcyBvcmRyZXMgaW50ZWdyYWRlcyBkZSBsJ2ludD9ycHJldCxcbiIKICJ0ZWNsZWdldSAnJXMgLWMgaGVscCcgLlxuIgogCi0jOiBzaGVsbC5jOjE4MDkKKyM6IHNoZWxsLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgdGhlIGBiYXNoYnVnJyBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgogbXNnc3RyICIiCiAKLSM6IHNpZy5jOjU4MworIzogc2lnLmM6NjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInNpZ3Byb2NtYXNrOiAlZDogaW52YWxpZCBvcGVyYXRpb24iCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjQ3CisjOiBzaWdsaXN0LmM6NDgKIG1zZ2lkICJCb2d1cyBzaWduYWwiCiBtc2dzdHIgIlNlbnlhbCBmYWxzYSIKIAotIzogc2lnbGlzdC5jOjUwCisjOiBzaWdsaXN0LmM6NTEKIG1zZ2lkICJIYW5ndXAiCiBtc2dzdHIgIlBlbmphciIKIAotIzogc2lnbGlzdC5jOjU0CisjOiBzaWdsaXN0LmM6NTUKIG1zZ2lkICJJbnRlcnJ1cHQiCiBtc2dzdHIgIkludGVycnVtcGVpeCIKIAotIzogc2lnbGlzdC5jOjU4CisjOiBzaWdsaXN0LmM6NTkKIG1zZ2lkICJRdWl0IgogbXNnc3RyICJFaXhpciIKIAotIzogc2lnbGlzdC5jOjYyCisjOiBzaWdsaXN0LmM6NjMKIG1zZ2lkICJJbGxlZ2FsIGluc3RydWN0aW9uIgogbXNnc3RyICJJbnN0cnVjY2k/IGlsnmxlZ2FsIgogCi0jOiBzaWdsaXN0LmM6NjYKKyM6IHNpZ2xpc3QuYzo2NwogbXNnaWQgIkJQVCB0cmFjZS90cmFwIgogbXNnc3RyICJCUFQgcmFzdHJlamFtZW50L2NhcHR1cmEiCiAKLSM6IHNpZ2xpc3QuYzo3NAorIzogc2lnbGlzdC5jOjc1CiBtc2dpZCAiQUJPUlQgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIkluc3RydWNjaT8gZCdhdm9ydGFtZW50IChBQk9SVCkiCiAKLSM6IHNpZ2xpc3QuYzo3OAorIzogc2lnbGlzdC5jOjc5CiBtc2dpZCAiRU1UIGluc3RydWN0aW9uIgogbXNnc3RyICJJbnN0cnVjY2k/IHBlciBhIGVtdWxhciB1bmEgY2FwdHVyYSBFTVQiCiAKLSM6IHNpZ2xpc3QuYzo4MgorIzogc2lnbGlzdC5jOjgzCiBtc2dpZCAiRmxvYXRpbmcgcG9pbnQgZXhjZXB0aW9uIgogbXNnc3RyICJFeGNlcGNpPyBlbiBvcGVyYWNpPyBhbWIgY29tYSBmbG90YW50IgogCi0jOiBzaWdsaXN0LmM6ODYKKyM6IHNpZ2xpc3QuYzo4NwogbXNnaWQgIktpbGxlZCIKIG1zZ3N0ciAiRmluYWxpdHphdCIKIAotIzogc2lnbGlzdC5jOjkwCisjOiBzaWdsaXN0LmM6OTEKIG1zZ2lkICJCdXMgZXJyb3IiCiBtc2dzdHIgIkVycm9yIGRlIGJ1cyIKIAotIzogc2lnbGlzdC5jOjk0CisjOiBzaWdsaXN0LmM6OTUKIG1zZ2lkICJTZWdtZW50YXRpb24gZmF1bHQiCiBtc2dzdHIgIlZpb2xhY2k/IGRlIHNlZ21lbnQiCiAKLSM6IHNpZ2xpc3QuYzo5OAorIzogc2lnbGlzdC5jOjk5CiBtc2dpZCAiQmFkIHN5c3RlbSBjYWxsIgogbXNnc3RyICJDcmlkYSBpbnY/bGlkYSBkZWwgc2lzdGVtYSIKIAotIzogc2lnbGlzdC5jOjEwMgorIzogc2lnbGlzdC5jOjEwMwogbXNnaWQgIkJyb2tlbiBwaXBlIgogbXNnc3RyICJDb25kdWN0ZSB0cmVuY2F0IgogCi0jOiBzaWdsaXN0LmM6MTA2CisjOiBzaWdsaXN0LmM6MTA3CiBtc2dpZCAiQWxhcm0gY2xvY2siCiBtc2dzdHIgIlRlbXBvcml0emFkb3IiCiAKLSM6IHNpZ2xpc3QuYzoxMTAKKyM6IHNpZ2xpc3QuYzoxMTEKICMsIGZ1enp5CiBtc2dpZCAiVGVybWluYXRlZCIKIG1zZ3N0ciAiIgpAQCAtMTUzOSwyODggKzE2MDgsMzA5IEBACiAicydlc2JvcnJhIGxhIHZhcmlhYmxlIE9QVEFSRywgaSBzJ2ltcHJpbWlyPyB1biBtaXNzYXRnZSBkZVxuIgogImRpYWduP3N0aWMuIgogCi0jOiBzaWdsaXN0LmM6MTE0CisjOiBzaWdsaXN0LmM6MTE1CiBtc2dpZCAiVXJnZW50IElPIGNvbmRpdGlvbiIKIG1zZ3N0ciAiQ29uZGljaT8gdXJnZW50IGQnRW50cmFkYS9FaXhpZGEgKEVuL0VpKSIKIAotIzogc2lnbGlzdC5jOjExOAorIzogc2lnbGlzdC5jOjExOQogbXNnaWQgIlN0b3BwZWQgKHNpZ25hbCkiCiBtc2dzdHIgIkF0dXJhdCAoc2VueWFsKSIKIAotIzogc2lnbGlzdC5jOjEyNgorIzogc2lnbGlzdC5jOjEyNwogbXNnaWQgIkNvbnRpbnVlIgogbXNnc3RyICJDb250aW51YSIKIAotIzogc2lnbGlzdC5jOjEzNAorIzogc2lnbGlzdC5jOjEzNQogbXNnaWQgIkNoaWxkIGRlYXRoIG9yIHN0b3AiCiBtc2dzdHIgIlMnaGEgbW9ydCBvIHMnaGEgYXR1cmF0IGVsIHByb2M/cyBmaWxsIgogCi0jOiBzaWdsaXN0LmM6MTM4CisjOiBzaWdsaXN0LmM6MTM5CiBtc2dpZCAiU3RvcHBlZCAodHR5IGlucHV0KSIKIG1zZ3N0ciAiQXR1cmF0IChlbnRyYWRhIHBlciB0ZXJtaW5hbCkiCiAKLSM6IHNpZ2xpc3QuYzoxNDIKKyM6IHNpZ2xpc3QuYzoxNDMKIG1zZ2lkICJTdG9wcGVkICh0dHkgb3V0cHV0KSIKIG1zZ3N0ciAiQXR1cmF0IChlaXhpZGEgcGVyIHRlcm1pbmFsKSIKIAotIzogc2lnbGlzdC5jOjE0NgorIzogc2lnbGlzdC5jOjE0NwogbXNnaWQgIkkvTyByZWFkeSIKIG1zZ3N0ciAiRW50cmFkYS9FaXhpZGEgcHJlcGFyYWRlcyIKIAotIzogc2lnbGlzdC5jOjE1MAorIzogc2lnbGlzdC5jOjE1MQogbXNnaWQgIkNQVSBsaW1pdCIKIG1zZ3N0ciAiTD9taXQgZGUgbGEgVUNQIgogCi0jOiBzaWdsaXN0LmM6MTU0CisjOiBzaWdsaXN0LmM6MTU1CiBtc2dpZCAiRmlsZSBsaW1pdCIKIG1zZ3N0ciAiTD9taXQgZGUgbGEgZ3JhbmQ/cmlhIGRlbCBmaXR4ZXIiCiAKLSM6IHNpZ2xpc3QuYzoxNTgKKyM6IHNpZ2xpc3QuYzoxNTkKIG1zZ2lkICJBbGFybSAodmlydHVhbCkiCiBtc2dzdHIgIkFsYXJtYSAodmlydHVhbCkiCiAKLSM6IHNpZ2xpc3QuYzoxNjIKKyM6IHNpZ2xpc3QuYzoxNjMKIG1zZ2lkICJBbGFybSAocHJvZmlsZSkiCiBtc2dzdHIgIkFsYXJtYSAoZW50b3JuKSIKIAotIzogc2lnbGlzdC5jOjE2NgorIzogc2lnbGlzdC5jOjE2NwogbXNnaWQgIldpbmRvdyBjaGFuZ2VkIgogbXNnc3RyICJTJ2hhIGNhbnZpYXQgbGEgZmluZXN0cmEiCiAKLSM6IHNpZ2xpc3QuYzoxNzAKKyM6IHNpZ2xpc3QuYzoxNzEKIG1zZ2lkICJSZWNvcmQgbG9jayIKIG1zZ3N0ciAiQmxvcXVlaWcgZGUgZ3JhdmFjaT8iCiAKLSM6IHNpZ2xpc3QuYzoxNzQKKyM6IHNpZ2xpc3QuYzoxNzUKIG1zZ2lkICJVc2VyIHNpZ25hbCAxIgogbXNnc3RyICJTZW55YWwgMSBkZWZpbmlkYSBwZXIgbCd1c3VhcmkiCiAKLSM6IHNpZ2xpc3QuYzoxNzgKKyM6IHNpZ2xpc3QuYzoxNzkKIG1zZ2lkICJVc2VyIHNpZ25hbCAyIgogbXNnc3RyICJTZW55YWwgMiBkZWZpbmlkYSBwZXIgbCd1c3VhcmkiCiAKLSM6IHNpZ2xpc3QuYzoxODIKKyM6IHNpZ2xpc3QuYzoxODMKIG1zZ2lkICJIRlQgaW5wdXQgZGF0YSBwZW5kaW5nIgogbXNnc3RyICJwZW5kZW50IGRlIGwnZW50cmFkYSBkZSBkYWRlcyBIRlQiCiAKLSM6IHNpZ2xpc3QuYzoxODYKKyM6IHNpZ2xpc3QuYzoxODcKIG1zZ2lkICJwb3dlciBmYWlsdXJlIGltbWluZW50IgogbXNnc3RyICJmYWxsaWRhIGltbWluZW50IGQnZW5lcmdpYSIKIAotIzogc2lnbGlzdC5jOjE5MAorIzogc2lnbGlzdC5jOjE5MQogbXNnaWQgInN5c3RlbSBjcmFzaCBpbW1pbmVudCIKIG1zZ3N0ciAiZmFsbGlkYSBpbW1pbmVudCBkZWwgc2lzdGVtYSIKIAotIzogc2lnbGlzdC5jOjE5NAorIzogc2lnbGlzdC5jOjE5NQogbXNnaWQgIm1pZ3JhdGUgcHJvY2VzcyB0byBhbm90aGVyIENQVSIKIG1zZ3N0ciAicHJvYz9zIGRlIG1pZ3JhY2k/IGNhcCBhIHVuIGFsdHJlIFVQQyBlbiBjdXJzIgogCi0jOiBzaWdsaXN0LmM6MTk4CisjOiBzaWdsaXN0LmM6MTk5CiBtc2dpZCAicHJvZ3JhbW1pbmcgZXJyb3IiCiBtc2dzdHIgImVycm9yIGRlIHByb2dyYW1hY2k/IgogCi0jOiBzaWdsaXN0LmM6MjAyCisjOiBzaWdsaXN0LmM6MjAzCiBtc2dpZCAiSEZUIG1vbml0b3IgbW9kZSBncmFudGVkIgogbXNnc3RyICJTJ2hhIGNvbmNlZGl0IGVsIG1vZGUgZGUgbW9uaXRvciBIRlQiCiAKLSM6IHNpZ2xpc3QuYzoyMDYKKyM6IHNpZ2xpc3QuYzoyMDcKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIHJldHJhY3RlZCIKIG1zZ3N0ciAiUydoYSByZWJ1dGphdCBlbCBtb2RlIGRlIG1vbml0b3IgSEZUIgogCi0jOiBzaWdsaXN0LmM6MjEwCisjOiBzaWdsaXN0LmM6MjExCiBtc2dpZCAiSEZUIHNvdW5kIHNlcXVlbmNlIGhhcyBjb21wbGV0ZWQiCiBtc2dzdHIgIlMnaGEgY29tcGxldGF0IGxhIHNlcT8/bmNpYSBkZSBzbyBIRlQiCiAKLSM6IHNpZ2xpc3QuYzoyMTQKKyM6IHNpZ2xpc3QuYzoyMTUKIG1zZ2lkICJJbmZvcm1hdGlvbiByZXF1ZXN0IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMjIKKyM6IHNpZ2xpc3QuYzoyMjMKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjIgogbXNnc3RyICJTZW55YWwgZGVzY29uZWd1ZGEgIyIKIAotIzogc2lnbGlzdC5jOjIyNAorIzogc2lnbGlzdC5jOjIyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjJWQiCiBtc2dzdHIgIlNlbnlhbCBkZXNjb25lZ3VkYSAjJWQiCiAKLSM6IHN1YnN0LmM6MTE4MSBzdWJzdC5jOjEzMDIKKyM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE0NTQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKIG1zZ3N0ciAic3Vic3RpdHVjaT8gaW52P2xpZGE6IG5vIGV4aXN0ZWl4ICclcycgZW4gJXMiCiAKLSM6IHN1YnN0LmM6MjQ1OAorIzogc3Vic3QuYzoyNzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogbXNnc3RyICIlczogbm8gZXMgcG90IGFzc2lnbmFyIGxhIGxsaXN0YSBhIHVuIGVsZW1lbnQgZGUgbGEgbWF0cml1IgogCi0jOiBzdWJzdC5jOjQ0NTYgc3Vic3QuYzo0NDcyCisjOiBzdWJzdC5jOjQ3NTQgc3Vic3QuYzo0NzcwCiAjLCBmdXp6eQogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJubyBlcyBwb3QgZXN0YWJsaXIgdW4gY29uZHVjdGUgcGVyIGEgbGEgc3Vic3RpdHVjaT8gZGVsIHByb2M/czogJXMiCiAKLSM6IHN1YnN0LmM6NDUwNAorIzogc3Vic3QuYzo0ODAyCiAjLCBmdXp6eQogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAibm8gZXMgcG90IGVzdGFibGlyIHVuIHByb2M/cyBmaWxsIHBlciBhIGxhIHN1YnN0aXR1Y2k/IGRlbCBwcm9jP3M6ICVzIgogCi0jOiBzdWJzdC5jOjQ1NDkKKyM6IHN1YnN0LmM6NDg0NwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAibm8gZXMgcG90IG9icmlyIGVsIGNvbmR1Y3RlIGFub21lbmF0ICVzIHBlciBhICVzOiAlcyIKIAotIzogc3Vic3QuYzo0NTUxCisjOiBzdWJzdC5jOjQ4NDkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgIm5vIGVzIHBvdCBvYnJpciBlbCBjb25kdWN0ZSBhbm9tZW5hdCAlcyBwZXIgYSAlczogJXMiCiAKLSM6IHN1YnN0LmM6NDU2OQorIzogc3Vic3QuYzo0ODY3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgIiIKICJubyBlcyBwb3QgZHVwbGljYXIgZWwgY29uZHVjdGUgYW5vbWVuYXQgJXNcbiIKICJjb20gYSBkZXNjcmlwY2k/IGRlIGZpdHhlciAlZDogJXMiCiAKLSM6IHN1YnN0LmM6NDc2NQorIzogc3Vic3QuYzo1MDYzCiAjLCBmdXp6eQogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJubyBlcyBwb2RlbiBlc3RhYmxpciBjb25kdWN0ZXMgcGVyIGEgbGEgc3Vic3RpdHVjaT8gZGUgbCdvcmRyZTogJXMiCiAKLSM6IHN1YnN0LmM6NDc5OQorIzogc3Vic3QuYzo1MDk3CiAjLCBmdXp6eQogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAibm8gZXMgcG90IGNyZWFyIHVuIHByb2M/cyBmaWxsIHBlciBhIGxhIHN1YnN0aXR1Y2k/IGRlbCBwcm9jP3M6ICVzIgogCi0jOiBzdWJzdC5jOjQ4MTYKKyM6IHN1YnN0LmM6NTExNAogIywgZnV6enkKIG1zZ2lkICJjb21tYW5kX3N1YnN0aXR1dGU6IGNhbm5vdCBkdXBsaWNhdGUgcGlwZSBhcyBmZCAxIgogbXNnc3RyICIiCiAiY29tbWFuZF9zdWJzdGl0dXRlKCk6IGVsIGNvZHVjdGUgbm8gZXMgcG90IGR1cGxpY2FyXG4iCiAiY29tIGEgZGVzY3JpcGNpPyBkZSBmaXR4ZXIgMTogJXMiCiAKLSM6IHN1YnN0LmM6NTMxOAorIzogc3Vic3QuYzo1NjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXJhbWV0ZXIgbnVsbCBvciBub3Qgc2V0IgogbXNnc3RyICIlczogcGFyP21ldHJlIG51bCBvIG5vIGFqdXN0YXQiCiAKLSM6IHN1YnN0LmM6NTYwOAorIzogc3Vic3QuYzo1OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiBtc2dzdHIgIiVzOiBsYSBzdWItY2FkZW5hIGRlIGwnZXhwcmVzc2k/ID9zIDwgMCIKIAotIzogc3Vic3QuYzo2NjYwCisjOiBzdWJzdC5jOjY5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiVzOiBzdWJzdGl0dWNpPyBpbnY/bGlkYSIKIAotIzogc3Vic3QuYzo2NzQwCisjOiBzdWJzdC5jOjcwNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IG5vIGVzIHBvdCBhc3NpZ25hciBkJ2FxdWVzdGEgbWFuZXJhIgogCi0jOiBzdWJzdC5jOjc0OTkKKyM6IHN1YnN0LmM6NzM3NAorbXNnaWQgIiIKKyJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKKyJzdWJzdGl0dXRpb24iCittc2dzdHIgIiIKKworIzogc3Vic3QuYzo3ODM5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgogbXNnc3RyICJzdWJzdGl0dWNpPyBpbnY/bGlkYTogbm8gZXhpc3RlaXggJyVzJyBlbiAlcyIKIAotIzogc3Vic3QuYzo4Mzc1CisjOiBzdWJzdC5jOjg3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICIiCiAKLSM6IHRlc3QuYzoxNDUKKyM6IHRlc3QuYzoxNDYKIG1zZ2lkICJhcmd1bWVudCBleHBlY3RlZCIKIG1zZ3N0ciAicydlc3BlcmF2YSB1biBwYXI/bWV0cmUiCiAKLSM6IHRlc3QuYzoxNTQKKyM6IHRlc3QuYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludGVnZXIgZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IHMnZXNwZXJhdmEgdW5hIGV4cHJlc3NpPyBkZSBub21icmUgZW50ZXIiCiAKLSM6IHRlc3QuYzoyNjIKKyM6IHRlc3QuYzoyNjMKIG1zZ2lkICJgKScgZXhwZWN0ZWQiCiBtc2dzdHIgInMnZXNwZXJhdmEgJyknIgogCi0jOiB0ZXN0LmM6MjY0CisjOiB0ZXN0LmM6MjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImApJyBleHBlY3RlZCwgZm91bmQgJXMiCiBtc2dzdHIgIm1lbnRyZSBlcyBidXNjYXZhID8pPywgcydoYSB0cm9iYXQgJXMiCiAKLSM6IHRlc3QuYzoyNzkgdGVzdC5jOjY4OCB0ZXN0LmM6NjkxCisjOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTMgdGVzdC5jOjY5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBzJ2VzcGVyYXZhIHVuIG9wZXJhZG9yIHVuYXJpIgogCi0jOiB0ZXN0LmM6NDQ0IHRlc3QuYzo3MzEKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjczNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogcydlc3BlcmF2YSB1biBvcGVyYWRvciBiaW5hcmkiCiAKLSM6IHRlc3QuYzo4MDYKKyM6IHRlc3QuYzo4MTEKIG1zZ2lkICJtaXNzaW5nIGBdJyIKIG1zZ3N0ciAicydoYSBwZXJkdXQgYWxndW4gJ10nIgogCi0jOiB0cmFwLmM6MjAxCisjOiB0cmFwLmM6MjAzCiAjLCBmdXp6eQogbXNnaWQgImludmFsaWQgc2lnbmFsIG51bWJlciIKIG1zZ3N0ciAibj9tZXJvIGludj9saWQgZGUgc2VueWFsIgogCi0jOiB0cmFwLmM6MzI0CisjOiB0cmFwLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bl9wZW5kaW5nX3RyYXBzOiBiYWQgdmFsdWUgaW4gdHJhcF9saXN0WyVkXTogJXAiCiBtc2dzdHIgIiIKIAotIzogdHJhcC5jOjMyOAorIzogdHJhcC5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicnVuX3BlbmRpbmdfdHJhcHM6IHNpZ25hbCBoYW5kbGVyIGlzIFNJR19ERkwsIHJlc2VuZGluZyAlZCAoJXMpIHRvIG15c2VsZiIKIG1zZ3N0ciAiIgogCi0jOiB0cmFwLmM6MzcyCisjOiB0cmFwLmM6MzgwCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ0cmFwX2hhbmRsZXI6IGJhZCBzaWduYWwgJWQiCiBtc2dzdHIgInRyYXBfaGFuZGxlcjogU2VueWFsIGludj9saWRhICVkIgogCi0jOiB2YXJpYWJsZXMuYzozNTgKKyM6IHZhcmlhYmxlcy5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBpbXBvcnRpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbiBmb3IgYCVzJyIKIG1zZ3N0ciAiJyVzJzogZXJyb3IgZW4gaW1wb3J0YXIgbGEgZGVmaW5pY2k/IGRlIGxhIGZ1bmNpPyIKIAotIzogdmFyaWFibGVzLmM6NzM2CisjOiB2YXJpYWJsZXMuYzo3NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MTg5OAorIzogdmFyaWFibGVzLmM6MTkxNQogbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMTI3CisjOiB2YXJpYWJsZXMuYzozMTU5CiBtc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNDQgdmFyaWFibGVzLmM6MzM1MworIzogdmFyaWFibGVzLmM6MzM3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG51bGwgZXhwb3J0c3RyIgorbXNnc3RyICIlczogcGFyP21ldHJlIG51bCBvIG5vIGFqdXN0YXQiCisKKyM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNTkKKyM6IHZhcmlhYmxlcy5jOjMzOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6Mzc5NAorIzogdmFyaWFibGVzLmM6MzgzNQogbXNnaWQgInBvcF92YXJfY29udGV4dDogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgZnVuY3Rpb24gY29udGV4dCIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozODA3CisjOiB2YXJpYWJsZXMuYzozODQ4CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBubyBnbG9iYWxfdmFyaWFibGVzIGNvbnRleHQiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6Mzg4MQorIzogdmFyaWFibGVzLmM6MzkyMgogbXNnaWQgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgogbXNnc3RyICIiCiAKKyM6IHZhcmlhYmxlcy5jOjQ2NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogY2Fubm90IG9wZW4gYXMgRklMRSIKK21zZ3N0ciAiJXM6IG5vIGVzIHBvdCBjcmVhcjogJXMiCisKKyM6IHZhcmlhYmxlcy5jOjQ2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiIKKwogIzogdmVyc2lvbi5jOjQ2CiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIG1zZ3N0ciAiIgpAQCAtMTgzMSw2MCArMTkyMSw1MiBAQAogImh0bWw+XG4iCiBtc2dzdHIgIiIKIAotIzogdmVyc2lvbi5jOjg2CisjOiB2ZXJzaW9uLmM6ODYgdmVyc2lvbjIuYzo4MwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMgKCVzKVxuIgogbXNnc3RyICJHTlUgJXMsIHZlcnNpPyAlc1xuIgogCi0jOiB2ZXJzaW9uLmM6OTEKKyM6IHZlcnNpb24uYzo5MSB2ZXJzaW9uMi5jOjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmlidXRlIGl0LlxuIgogbXNnc3RyICIiCiAKLSM6IHZlcnNpb24uYzo5MgorIzogdmVyc2lvbi5jOjkyIHZlcnNpb24yLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKIG1zZ3N0ciAiIgogCi0jOiB4bWFsbG9jLmM6OTIKKyM6IHZlcnNpb24yLmM6ODYKICMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgInhtYWxsb2M6IG5vIGVzIHBvZGVuIGFzc2lnbmFyICVsdSBvY3RldHMgKCVsdSBvY3RldHMgYXNzaWduYXRzKSIKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCittc2dzdHIgIiIKIAotIzogeG1hbGxvYy5jOjk0Ci0jLCBmdXp6eSwgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICJ4bWFsbG9jOiBubyBlcyBwb2RlbiBhc3NpZ25hciAlbHUgb2N0ZXRzICglbHUgb2N0ZXRzIGFzc2lnbmF0cykiCi0KLSM6IHhtYWxsb2MuYzoxMTQKKyM6IHZlcnNpb24yLmM6ODcKICMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgInhyZWFsbG9jOiBubyBlcyBwb2RlbiByZWFzc2lnbmFyICVsdSBvY3RldHMgKCVsdSBvY3RldHMgcmVhc3NpZ25hdHMpIgorbXNnaWQgIiIKKyJMaWNlbnNlIEdQTHYyKzogR05VIEdQTCB2ZXJzaW9uIDIgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiaHRtbD5cbiIKK21zZ3N0ciAiIgogCi0jOiB4bWFsbG9jLmM6MTE2CisjOiB4bWFsbG9jLmM6OTEKICMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICJ4cmVhbGxvYzogbm8gZXMgcG9kZW4gcmVhc3NpZ25hciAlbHUgb2N0ZXRzICglbHUgb2N0ZXRzIHJlYXNzaWduYXRzKSIKLQotIzogeG1hbGxvYy5jOjE1MAotIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKIG1zZ3N0ciAieG1hbGxvYzogbm8gZXMgcG9kZW4gYXNzaWduYXIgJWx1IG9jdGV0cyAoJWx1IG9jdGV0cyBhc3NpZ25hdHMpIgogCi0jOiB4bWFsbG9jLmM6MTUyCisjOiB4bWFsbG9jLmM6OTMKICMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgogbXNnc3RyICJ4bWFsbG9jOiBubyBlcyBwb2RlbiBhc3NpZ25hciAlbHUgb2N0ZXRzICglbHUgb2N0ZXRzIGFzc2lnbmF0cykiCiAKLSM6IHhtYWxsb2MuYzoxNzQKKyM6IHhtYWxsb2MuYzoxNjMKICMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAieHJlYWxsb2M6IG5vIGVzIHBvZGVuIHJlYXNzaWduYXIgJWx1IG9jdGV0cyAoJWx1IG9jdGV0cyByZWFzc2lnbmF0cykiCittc2dpZCAiJXM6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKK21zZ3N0ciAieG1hbGxvYzogbm8gZXMgcG9kZW4gYXNzaWduYXIgJWx1IG9jdGV0cyAoJWx1IG9jdGV0cyBhc3NpZ25hdHMpIgogCi0jOiB4bWFsbG9jLmM6MTc2CisjOiB4bWFsbG9jLmM6MTY1CiAjLCBmdXp6eSwgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhyZWFsbG9jOiBubyBlcyBwb2RlbiByZWFzc2lnbmFyICVsdSBvY3RldHMgKCVsdSBvY3RldHMgcmVhc3NpZ25hdHMpIgorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKK21zZ3N0ciAieG1hbGxvYzogbm8gZXMgcG9kZW4gYXNzaWduYXIgJWx1IG9jdGV0cyAoJWx1IG9jdGV0cyBhc3NpZ25hdHMpIgogCiAjOiBidWlsdGlucy5jOjQzCiBtc2dpZCAiYWxpYXMgWy1wXSBbbmFtZVs9dmFsdWVdIC4uLiBdIgpAQCAtMjAyMSw3ICsyMTAzLDcgQEAKIAogIzogYnVpbHRpbnMuYzoxMTcKICMsIGZ1enp5Ci1tc2dpZCAiaGVscCBbLWRzXSBbcGF0dGVybiAuLi5dIgorbXNnaWQgImhlbHAgWy1kbXNdIFtwYXR0ZXJuIC4uLl0iCiBtc2dzdHIgImhlbHAgW3BhdHI/IC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTIxCkBAIC0yMDY0LDggKzIxNDYsOCBAQAogCiAjOiBidWlsdGlucy5jOjEzNgogbXNnaWQgIiIKLSJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstcCBwcm9tcHRdIFstdCAiCi0idGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgorInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKKyJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxMzgKQEAgLTIyNTYsOSArMjMzOCw5IEBACiAKICM6IGJ1aWx0aW5zLmM6MjI5CiBtc2dpZCAiIgotImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy1XICIKLSJ3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyBzdWZmaXhdICIKLSJbbmFtZSAuLi5dIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy0iCisiVyB3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyAiCisic3VmZml4XSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MjMzCkBAIC0yMjY5LDcgKzIzNTEsNyBAQAogCiAjOiBidWlsdGlucy5jOjIzNwogIywgZnV6enkKLW1zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFtuYW1lIC4uLl0iCittc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbLURFXSBbbmFtZSAuLi5dIgogbXNnc3RyICJ0eXBlIFstYXB0XSBub20gW25vbSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjI0MApAQCAtMjk5Niw3ICszMDc4LDExIEBACiAiICAgICAgLWVcdFx0dXNlIFJlYWRsaW5lIHRvIG9idGFpbiB0aGUgbGluZSBpbiBhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgogIiAgICAgIC1pIHRleHRcdFVzZSBURVhUIGFzIHRoZSBpbml0aWFsIHRleHQgZm9yIFJlYWRsaW5lXG4iCiAiICAgICAgLW4gbmNoYXJzXHRyZXR1cm4gYWZ0ZXIgcmVhZGluZyBOQ0hBUlMgY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3YWl0aW5nXG4iCi0iICAgIFx0XHRmb3IgYSBuZXdsaW5lXG4iCisiICAgIFx0XHRmb3IgYSBuZXdsaW5lLCBidXQgaG9ub3IgYSBkZWxpbWl0ZXIgaWYgZmV3ZXIgdGhhbiBOQ0hBUlNcbiIKKyIgICAgXHRcdGNoYXJhY3RlcnMgYXJlIHJlYWQgYmVmb3JlIHRoZSBkZWxpbWl0ZXJcbiIKKyIgICAgICAtTiBuY2hhcnNcdHJldHVybiBvbmx5IGFmdGVyIHJlYWRpbmcgZXhhY3RseSBOQ0hBUlMgY2hhcmFjdGVycywgIgorInVubGVzc1xuIgorIiAgICBcdFx0RU9GIGlzIGVuY291bnRlcmVkIG9yIHJlYWQgdGltZXMgb3V0LCBpZ25vcmluZyBhbnkgZGVsaW1pdGVyXG4iCiAiICAgICAgLXAgcHJvbXB0XHRvdXRwdXQgdGhlIHN0cmluZyBQUk9NUFQgd2l0aG91dCBhIHRyYWlsaW5nIG5ld2xpbmUgYmVmb3JlXG4iCiAiICAgIFx0XHRhdHRlbXB0aW5nIHRvIHJlYWRcbiIKICIgICAgICAtclx0XHRkbyBub3QgYWxsb3cgYmFja3NsYXNoZXMgdG8gZXNjYXBlIGFueSBjaGFyYWN0ZXJzXG4iCkBAIC0zMDE2LDcgKzMxMDIsNyBAQAogIiAgICBvciBhbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBpcyBzdXBwbGllZCBhcyB0aGUgYXJndW1lbnQgdG8gLXUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTAwNgorIzogYnVpbHRpbnMuYzoxMDA5CiBtc2dpZCAiIgogIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzAyOCw3ICszMTE0LDcgQEAKICIgICAgUmV0dXJucyBOLCBvciBmYWlsdXJlIGlmIHRoZSBzaGVsbCBpcyBub3QgZXhlY3V0aW5nIGEgZnVuY3Rpb24gb3Igc2NyaXB0LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEwMTkKKyM6IGJ1aWx0aW5zLmM6MTAyMgogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zMTEwLDcgKzMxOTYsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMDEKKyM6IGJ1aWx0aW5zLmM6MTEwNAogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzEzMCw3ICszMjE2LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIE5BTUUgaXMgcmVhZC1vbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMjEKKyM6IGJ1aWx0aW5zLmM6MTEyNAogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTMxNDksNyArMzIzNSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNDAKKyM6IGJ1aWx0aW5zLmM6MTE0MwogbXNnaWQgIiIKICJNYXJrIHNoZWxsIHZhcmlhYmxlcyBhcyB1bmNoYW5nZWFibGUuXG4iCiAiICAgIFxuIgpAQCAtMzE2OSw3ICszMjU1LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE2MQorIzogYnVpbHRpbnMuYzoxMTY0CiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zMTgwLDcgKzMyNjYsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE4gaXMgbmVnYXRpdmUgb3IgZ3JlYXRlciB0aGFuICQjLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNzMgYnVpbHRpbnMuYzoxMTg4CisjOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzE5NCw3ICszMjgwLDcgQEAKICIgICAgRklMRU5BTUUgY2Fubm90IGJlIHJlYWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTIwNAorIzogYnVpbHRpbnMuYzoxMjA3CiBtc2dpZCAiIgogIlN1c3BlbmQgc2hlbGwgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTMyMDgsNyArMzI5NCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEyMjAKKyM6IGJ1aWx0aW5zLmM6MTIyMwogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTMyODUsNyArMzM3MSw3IEBACiAiICAgIGZhbHNlIG9yIGFuIGludmFsaWQgYXJndW1lbnQgaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTI5NgorIzogYnVpbHRpbnMuYzoxMjk5CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgpAQCAtMzI5Niw3ICszMzgyLDcgQEAKICJwYXI/bWV0cmUgaGEgZGUgc2VyIGVsIHNpZ25lIFwiXVwiIHBlcnF1PyBlcyBwdWdhIHRhbmNhciBsJ2V4cHJlc3NpPyBxdWVcbiIKICJjb21lbj9hIHBlbCBzaWduZSBcIltcIi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTMwNQorIzogYnVpbHRpbnMuYzoxMzA4CiBtc2dpZCAiIgogIkRpc3BsYXkgcHJvY2VzcyB0aW1lcy5cbiIKICIgICAgXG4iCkBAIC0zMzA4LDcgKzMzOTQsNyBAQAogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTMxNworIzogYnVpbHRpbnMuYzoxMzIwCiBtc2dpZCAiIgogIlRyYXAgc2lnbmFscyBhbmQgb3RoZXIgZXZlbnRzLlxuIgogIiAgICBcbiIKQEAgLTMzNDQsNyArMzQzMCw3IEBACiAiZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTM0OQorIzogYnVpbHRpbnMuYzoxMzUyCiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZCB0eXBlLlxuIgogIiAgICBcbiIKQEAgLTMzNzQsNyArMzQ2MCw3IEBACiAiZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MAorIzogYnVpbHRpbnMuYzoxMzgzCiBtc2dpZCAiIgogIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCiAiICAgIFxuIgpAQCAtMzQxOCw3ICszNTA0LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQyNQorIzogYnVpbHRpbnMuYzoxNDI4CiBtc2dpZCAiIgogIkRpc3BsYXkgb3Igc2V0IGZpbGUgbW9kZSBtYXNrLlxuIgogIiAgICBcbiIKQEAgLTM0MzYsNyArMzUyMiw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTU9ERSBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NDUKKyM6IGJ1aWx0aW5zLmM6MTQ0OAogbXNnaWQgIiIKICJXYWl0IGZvciBqb2IgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTM0NTMsNyArMzUzOSw3IEBACiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NjMKKyM6IGJ1aWx0aW5zLmM6MTQ2NgogbXNnaWQgIiIKICJXYWl0IGZvciBwcm9jZXNzIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC0zNDY3LDcgKzM1NTMsNyBAQAogIiAgICBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDc4CisjOiBidWlsdGlucy5jOjE0ODEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTM0ODAsNyArMzU2Niw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0OTIKKyM6IGJ1aWx0aW5zLmM6MTQ5NQogbXNnaWQgIiIKICJBcml0aG1ldGljIGZvciBsb29wLlxuIgogIiAgICBcbiIKQEAgLTM0OTcsNyArMzU4Myw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1MTAKKyM6IGJ1aWx0aW5zLmM6MTUxMwogbXNnaWQgIiIKICJTZWxlY3Qgd29yZHMgZnJvbSBhIGxpc3QgYW5kIGV4ZWN1dGUgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMzUxNyw3ICszNjAzLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTUzMQorIzogYnVpbHRpbnMuYzoxNTM0CiBtc2dpZCAiIgogIlJlcG9ydCB0aW1lIGNvbnN1bWVkIGJ5IHBpcGVsaW5lJ3MgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM1MzMsNyArMzYxOSw3IEBACiAiICAgIFRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSByZXR1cm4gc3RhdHVzIG9mIFBJUEVMSU5FLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1NDgKKyM6IGJ1aWx0aW5zLmM6MTU1MQogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBwYXR0ZXJuIG1hdGNoaW5nLlxuIgpAQCAtMzU0NSw3ICszNjMxLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICJFeGVjdXRhIHNlbGVjdGl2YW1lbnQgbGVzIG9yZHJlcyBlc3BlY2lmaWNhZGVzIGVuIE9SRFJFUyBzZWd1aW50IHVuYSAiCiAKLSM6IGJ1aWx0aW5zLmM6MTU2MAorIzogYnVpbHRpbnMuYzoxNTYzCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gY29uZGl0aW9uYWwuXG4iCiAiICAgIFxuIgpAQCAtMzU2Niw3ICszNjUyLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU3NworIzogYnVpbHRpbnMuYzoxNTgwCiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IHN1Y2NlZWRzLlxuIgpAQCAtMzU4MCw3ICszNjY2LDcgQEAKICJFeHBhbmRlaXggaSBleGVjdXRhIGxlcyBvcmRyZXMgZXNwZWNpZmljYWRlcyBlbiBPUkRSRVMgaSBlbHMgZXhlY3V0YVxuIgogImRlIHRhbCBtYW5lcmEgcXVlIGxhIGRhcnJlcmEgb3JkcmUiCiAKLSM6IGJ1aWx0aW5zLmM6MTU4OQorIzogYnVpbHRpbnMuYzoxNTkyCiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IGRvZXMgbm90IHN1Y2NlZWQuXG4iCkBAIC0zNTk0LDcgKzM2ODAsNyBAQAogIkV4cGFuZGVpeCBpIGV4ZWN1dGEgbGVzIG9yZHJlcyBlc3BlY2lmaWNhZGVzIGVuIE9SRFJFUyBpIGVscyBleGVjdXRhXG4iCiAiZGUgdGFsIG1hbmVyYSBxdWUgbGEgZGFycmVyYSBvcmRyZSIKIAotIzogYnVpbHRpbnMuYzoxNjAxCisjOiBidWlsdGlucy5jOjE2MDQKIG1zZ2lkICIiCiAiQ3JlYXRlIGEgY29wcm9jZXNzIG5hbWVkIE5BTUUuXG4iCiAiICAgIFxuIgpAQCAtMzYwNyw3ICszNjkzLDcgQEAKICIgICAgUmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgQ09NTUFORC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjE1CisjOiBidWlsdGlucy5jOjE2MTgKIG1zZ2lkICIiCiAiRGVmaW5lIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM2MjEsNyArMzcwNyw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyByZWFkb25seS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjI5CisjOiBidWlsdGlucy5jOjE2MzIKICMsIGZ1enp5CiBtc2dpZCAiIgogIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKQEAgLTM2MzMsNyArMzcxOSw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiRXhlY3V0YSB1biBjb25qdW50IGQnb3JkcmVzIGVuIHVuIGdydXAuICBBPz8gP3MgdW5hIG1hbmVyYSBkZSIKIAotIzogYnVpbHRpbnMuYzoxNjQxCisjOiBidWlsdGlucy5jOjE2NDQKIG1zZ2lkICIiCiAiUmVzdW1lIGpvYiBpbiBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTM2NDcsNyArMzczMyw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgcmVzdW1lZCBqb2IuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY1NgorIzogYnVpbHRpbnMuYzoxNjU5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC0zNjU4LDcgKzM3NDQsNyBAQAogIiAgICBSZXR1cm5zIDEgaWYgRVhQUkVTU0lPTiBldmFsdWF0ZXMgdG8gMDsgcmV0dXJucyAwIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjY4CisjOiBidWlsdGlucy5jOjE2NzEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb25kaXRpb25hbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTM2ODYsNyArMzc3Miw3IEBACiAiICAgIDAgb3IgMSBkZXBlbmRpbmcgb24gdmFsdWUgb2YgRVhQUkVTU0lPTi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjk0CisjOiBidWlsdGlucy5jOjE2OTcKIG1zZ2lkICIiCiAiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKICIgICAgXG4iCkBAIC0zNzQwLDcgKzM4MjYsNyBAQAogIiAgICBcdFx0Y29tbWFuZHMgc2hvdWxkIGJlIHNhdmVkIG9uIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNzUxCisjOiBidWlsdGlucy5jOjE3NTQKIG1zZ2lkICIiCiAiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM3NzEsNyArMzg1Nyw3IEBACiAiICAgIGNoYW5nZSBmYWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNzg1CisjOiBidWlsdGlucy5jOjE3ODgKIG1zZ2lkICIiCiAiUmVtb3ZlIGRpcmVjdG9yaWVzIGZyb20gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzc5OCw3ICszODg0LDcgQEAKICIgICAgY2hhbmdlIGZhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4MTUKKyM6IGJ1aWx0aW5zLmM6MTgxOAogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zODI3LDcgKzM5MTMsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODQ0CisjOiBidWlsdGlucy5jOjE4NDcKIG1zZ2lkICIiCiAiU2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTM4NDgsNyArMzkzNCw3IEBACiAiICAgIGdpdmVuIG9yIE9QVE5BTUUgaXMgZGlzYWJsZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg2NQorIzogYnVpbHRpbnMuYzoxODY4CiBtc2dpZCAiIgogIkZvcm1hdHMgYW5kIHByaW50cyBBUkdVTUVOVFMgdW5kZXIgY29udHJvbCBvZiB0aGUgRk9STUFULlxuIgogIiAgICBcbiIKQEAgLTM4NzgsNyArMzk2NCw3IEBACiAiICAgIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODkyCisjOiBidWlsdGlucy5jOjE4OTUKIG1zZ2lkICIiCiAiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCiAiICAgIFxuIgpAQCAtMzg5MiwxNSArMzk3OCwyMCBAQAogIiAgICAgIC1wXHRwcmludCBleGlzdGluZyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zIGluIGEgcmV1c2FibGUgZm9ybWF0XG4iCiAiICAgICAgLXJcdHJlbW92ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm9cbiIKICIgICAgXHROQU1FcyBhcmUgc3VwcGxpZWQsIGFsbCBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zXG4iCisiICAgICAgLURcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyBhcyB0aGUgZGVmYXVsdCBmb3IgY29tbWFuZHNcbiIKKyIgICAgXHR3aXRob3V0IGFueSBzcGVjaWZpYyBjb21wbGV0aW9uIGRlZmluZWRcbiIKKyIgICAgICAtRVx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIHRvIFwiZW1wdHlcIiBjb21tYW5kcyAtLVxuIgorIiAgICBcdGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZVxuIgogIiAgICBcbiIKICIgICAgV2hlbiBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgdGhlIGFjdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZVxuIgotIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS5cbiIKKyIgICAgdXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuICBUaGUgLUQgb3B0aW9uIHRha2VzXG4iCisiICAgIHByZWNlZGVuY2Ugb3ZlciAtRS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTE1CisjOiBidWlsdGlucy5jOjE5MjMKIG1zZ2lkICIiCiAiRGlzcGxheSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzkxMyw3ICs0MDA0LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTkzMAorIzogYnVpbHRpbnMuYzoxOTM4CiBtc2dpZCAiIgogIk1vZGlmeSBvciBkaXNwbGF5IGNvbXBsZXRpb24gb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zOTI2LDYgKzQwMTcsOCBAQAogIiAgICBcbiIKICIgICAgT3B0aW9uczpcbiIKICIgICAgXHQtbyBvcHRpb25cdFNldCBjb21wbGV0aW9uIG9wdGlvbiBPUFRJT04gZm9yIGVhY2ggTkFNRVxuIgorIiAgICBcdC1EXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJkZWZhdWx0XCIgY29tbWFuZCBjb21wbGV0aW9uXG4iCisiICAgIFx0LUVcdFx0Q2hhbmdlIG9wdGlvbnMgZm9yIHRoZSBcImVtcHR5XCIgY29tbWFuZCBjb21wbGV0aW9uXG4iCiAiICAgIFxuIgogIiAgICBVc2luZyBgK28nIGluc3RlYWQgb2YgYC1vJyB0dXJucyBvZmYgdGhlIHNwZWNpZmllZCBvcHRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzk0MiwxNSArNDAzNSwxNSBAQAogIiAgICBoYXZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGRlZmluZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTk1OAorIzogYnVpbHRpbnMuYzoxOTY4CiBtc2dpZCAiIgotIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKKyJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCi0iICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgYXJyYXkgdmFyaWFibGUgQVJSQVksIG9yICIKLSJmcm9tXG4iCi0iICAgIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlIE1BUEZJTEUgIgotImlzXG4iCi0iICAgIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgorIiAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUgIgorIkFSUkFZLCBvclxuIgorIiAgICBmcm9tIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlICIKKyJNQVBGSUxFXG4iCisiICAgIGlzIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgogIiAgICBcbiIKICIgICAgT3B0aW9uczpcbiIKICIgICAgICAtbiBjb3VudFx0Q29weSBhdCBtb3N0IENPVU5UIGxpbmVzLiAgSWYgQ09VTlQgaXMgMCwgYWxsIGxpbmVzIGFyZSAiCkBAIC0zOTc3LDE2ICs0MDcwLDMyIEBACiAiICAgIGFzc2lnbmluZyB0byBpdC5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIEFSUkFZIGlzIHJlYWRvbmx5LiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBBUlJBWSBpcyByZWFkb25seSAiCisib3JcbiIKKyIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTk5MAorIzogYnVpbHRpbnMuYzoyMDAxCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCiAiICAgIEEgc3lub255bSBmb3IgYG1hcGZpbGUnLiIKIG1zZ3N0ciAiIgogCisjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjfiBtc2dzdHIgIiIKKyN+ICJ4cmVhbGxvYzogbm8gZXMgcG9kZW4gcmVhc3NpZ25hciAlbHUgb2N0ZXRzICglbHUgb2N0ZXRzIHJlYXNzaWduYXRzKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKKyN+IG1zZ3N0ciAiIgorI34gInhyZWFsbG9jOiBubyBlcyBwb2RlbiByZWFzc2lnbmFyICVsdSBvY3RldHMgKCVsdSBvY3RldHMgcmVhc3NpZ25hdHMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyN+IG1zZ3N0ciAiIgorI34gInhyZWFsbG9jOiBubyBlcyBwb2RlbiByZWFzc2lnbmFyICVsdSBvY3RldHMgKCVsdSBvY3RldHMgcmVhc3NpZ25hdHMpIgorCiAjfiBtc2dpZCAiRGlzcGxheSB0aGUgbGlzdCBvZiBjdXJyZW50bHkgcmVtZW1iZXJlZCBkaXJlY3Rvcmllcy4gIERpcmVjdG9yaWVzIgogI34gbXNnc3RyICIiCiAjfiAiTW9zdHJhIGxhIGxsaXN0YSBkZWxzIGRpcmVjdG9yaXMgYWN0dWFsbWVudCByZWNvcmRhdHMuICBFbHMgZGlyZWN0b3JpcyAiCmRpZmYgLS1naXQgYS9wby9jcy5nbW8gYi9wby9jcy5nbW8KaW5kZXggNDJhZTI0Ni4uNWQ5MmQ4ZiAxMDA2NDQKLS0tIGEvcG8vY3MuZ21vCisrKyBiL3BvL2NzLmdtbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9wby9jcy5wbyBiL3BvL2NzLnBvCmluZGV4IDk4NmM0Y2UuLjU3OWJhNzEgMTAwNjQ0Ci0tLSBhL3BvL2NzLnBvCisrKyBiL3BvL2NzLnBvCkBAIC0xLDE0ICsxLDE5IEBACiAjIEN6ZWNoIHRyYW5sYXRpb24gZm9yIGJhc2guCiAjIENvcHlyaWdodCAoQykgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIGJhc2ggcGFja2FnZS4KLSMgUGV0ciBQaXNhciA8cGV0ci5waXNhckBhdGxhcy5jej4sIDIwMDguCisjIFBldHIgUGlzYXIgPHBldHIucGlzYXJAYXRsYXMuY3o+LCAyMDA4LCAyMDA5LgogIworIyBzdWJzY3JpcHQg4oaSIHBvZHNrcmlwdAorIyBzdWJyb3V0aW5lIOKGkiBwb2Rwcm9ncmFtCisjIGNvbXBsZXRpdGlvbiBvcHRpb25zIOKGkiBtb8W+bm9zdGkgZG9wbMWIb3bDoW7DrQorIyBzaGVsbCBvcHRpb24g4oaSIHDFmWVww61uYcSNIHNoZWxsdSAoc2hvcHQpCisjIE7DoXp2eSBzaWduw6FsdSBhIHN0YXbFryBwcm9jZXN1IGJ5IG3Em2x5IHNvdWhsYXNpdCBzZSBzaWduYWwoNykuCiBtc2dpZCAiIgogbXNnc3RyICIiCi0iUHJvamVjdC1JZC1WZXJzaW9uOiBiYXNoIDQuMC1wcmUxXG4iCisiUHJvamVjdC1JZC1WZXJzaW9uOiBiYXNoIDQuMFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0wMi0xOSAxNDo1My0wNTAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAwOC0wOS0wNyAxMzowOSswMjAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMTItMzAgMDg6MjUtMDUwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMDktMDktMjMgMTQ6MjMrMDIwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogUGV0ciBQaXNhciA8cGV0ci5waXNhckBhdGxhcy5jej5cbiIKICJMYW5ndWFnZS1UZWFtOiBDemVjaCA8dHJhbnNsYXRpb24tdGVhbS1jc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCiAiTUlNRS1WZXJzaW9uOiAxLjBcbiIKQEAgLTIwLDU1ICsyNSw1OCBAQAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgImNoeWJuw70gcG9kc2tyaXB0IHBvbGUiCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzQKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiVzOiDEjcOtc2xvdmFuw6kgcG9sZSBuZXpsZSBwxZlldsOpc3QgbmEgcG9sZSBhc29jaWF0aXZuw60iCiAKLSM6IGFycmF5ZnVuYy5jOjQ3OQorIzogYXJyYXlmdW5jLmM6NDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFzc29jaWF0aXZlIGFycmF5IGtleSIKIG1zZ3N0ciAiJXM6IG5lcGxhdG7DvSBrbMOtxI0gYXNvY2lhdGl2bsOtaG8gcG9sZSIKIAotIzogYXJyYXlmdW5jLmM6NDgxCisjOiBhcnJheWZ1bmMuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gdG8gbm9uLW51bWVyaWMgaW5kZXgiCiBtc2dzdHIgIiVzOiBwxZllcyBuZcSNw61zZWxuw70gaW5kZXh1IG5lbHplIGRvc2FkaXQiCiAKLSMgRklYTUU6IHN1YnNjcmlwdCBqZSBrbGljb3ZlIHNsb3ZvIGJhc2hlIDQgbmVibyBza3V0ZWNuZSBwb2Rwcm9ncmFtPwotIyBwxZlpxZlhenVqZSBzZSBkbyBwb2xlIG5lYm8gcG9sZSBuxJtrYW0/Ci0jOiBhcnJheWZ1bmMuYzo1MTcKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYXJyYXlmdW5jLmM6NTE4CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgotbXNnc3RyICIlczogJXM6IHDFmWkgcMWZacWZYXpvdmFuw60gYXNvY2lhdGl2bsOtaG8gcG9sZSBzZSBtdXPDrSBwb3XFvsOtdCBwb2Rwcm9ncmFtIgorbXNnc3RyICIlczogJXM6IHDFmWkgcMWZacWZYXpvdmFuw60gYXNvY2lhdGl2bsOtaG8gcG9sZSBzZSBtdXPDrSBwb3XFvsOtdCBwb2Rza3JpcHQiCiAKLSM6IGJhc2hoaXN0LmM6Mzc5CisjOiBiYXNoaGlzdC5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiBtc2dzdHIgIiVzOiBuZWx6ZSB2eXR2b8WZaXQ6ICVzIgogCi0jOiBiYXNobGluZS5jOjM0MTMKKyM6IGJhc2hsaW5lLmM6MzQ1NwogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogcHJvIHDFmcOta2F6IG5lbHplIG5hbMOpenQga2zDoXZlc292b3UgbWFwdSAiCiAKLSM6IGJhc2hsaW5lLmM6MzQ5MQorIzogYmFzaGxpbmUuYzozNTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IGBcIiciCiBtc2dzdHIgIiVzOiBwcnZuw60gbmViw61sw70gem5hayBuZW7DrSDigJ5cIuKAnCIKIAotIzogYmFzaGxpbmUuYzozNTIwCisjOiBiYXNobGluZS5jOjM1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2xvc2luZyBgJWMnIGluICVzIgogbXNnc3RyICJuZSB6YXbDrXJhasOtY8OtIOKAniVj4oCcIHYgJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzU1NAorIzogYmFzaGxpbmUuYzozNjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKIG1zZ3N0ciAiJXM6IGNoeWLDrSBkdm9qdGXEjWtvdsO9IG9kZMSbbG92YcSNIgogCisjOiBidWlsdGlucy9hbGlhcy5kZWY6MTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJXMnOiBpbnZhbGlkIGFsaWFzIG5hbWUiCittc2dzdHIgIuKAniVz4oCcOiBjaHlibsO9IG7DoXpldiBrbMOhdmVzb3bDqSBtYXB5IgorCiAjOiBidWlsdGlucy9iaW5kLmRlZjoxMjAgYnVpbHRpbnMvYmluZC5kZWY6MTIzCiBtc2dpZCAibGluZSBlZGl0aW5nIG5vdCBlbmFibGVkIgotbXNnc3RyICIiCittc2dzdHIgInVwcmF2b3bDoW7DrSDFmcOhZGt1IG5lbsOtIHBvdm9sZW5vIgogCiAjOiBidWlsdGlucy9iaW5kLmRlZjoyMDYKICMsIGMtZm9ybWF0CkBAIC0xMDksMTIgKzExNywyOSBAQAogbXNnc3RyICJtw6Egc215c2wgamVuIHZlIHNtecSNa8OhY2gg4oCeZm9y4oCcLCDigJ53aGlsZeKAnCBuZWJvIOKAnnVudGls4oCcIgogCiAjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzMwotIywgZnV6enkKIG1zZ2lkICIiCiAiUmV0dXJucyB0aGUgY29udGV4dCBvZiB0aGUgY3VycmVudCBzdWJyb3V0aW5lIGNhbGwuXG4iCiAiICAgIFxuIgogIiAgICBXaXRob3V0IEVYUFIsIHJldHVybnMgIgotbXNnc3RyICJWcmFjw60ga29udGV4dCBha3R1w6FsbsOtaG8gdm9sw6Fuw60gcG9kcnV0aW55LiIKK21zZ3N0ciAiIgorIlZyw6F0w60ga29udGV4dCBha3R1w6FsbsOtaG8gdm9sw6Fuw60gcG9kcHJvZ3JhbXUuXG4iCisiICAgIFxuIgorIiAgICBCZXogVsOdUkFaVSB2csOhdMOtICIKKworIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzUKK21zZ2lkICIiCisiLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCisiICAgICIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNgorbXNnaWQgIiIKKyI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKKyIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgorIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKK21zZ3N0ciAiIgogCiAjOiBidWlsdGlucy9jZC5kZWY6MjE1CiBtc2dpZCAiSE9NRSBub3Qgc2V0IgpAQCAtMTI5LDcgKzE1NCw3IEBACiBtc2dpZCAibGluZSAlZDogIgogbXNnc3RyICLFmcOhZGVrICVkOiAiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEzOSBlcnJvci5jOjI2MAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTM5IGVycm9yLmM6MjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICIKIG1zZ3N0ciAidmFyb3bDoW7DrTogIgpAQCAtMTM5LDExICsxNjQsMTEgQEAKIG1zZ2lkICIlczogdXNhZ2U6ICIKIG1zZ3N0ciAiJXM6IHXFvml0w606ICIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjIKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODI3CiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICJwxZnDrWxpxaEgbW5vaG8gYXJndW1lbnTFryIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDkzIHNoZWxsLmM6Nzc0CisjOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTkgc2hlbGwuYzo3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIKIG1zZ3N0ciAiJXM6IHDFmWVww61uYcSNIHZ5xb5hZHVqZSBhcmd1bWVudCIKQEAgLTE1OCw3ICsxODMsNyBAQAogbXNnaWQgIiVzOiBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBuZW5hbGV6ZW5vIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3ODcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVzOiBjaHlibsO9IHDFmWVww61uYcSNIgpAQCAtMTgxLDcgKzIwNiw3IEBACiBtc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgogbXNnc3RyICJjaHlibsOpIMWhZXN0bsOhY3Rrb3bDqSDEjcOtc2xvIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTUKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NgogbXNnaWQgImludmFsaWQgbnVtYmVyIgogbXNnc3RyICJjaHlibsOpIMSNw61zbG8iCiAKQEAgLTE5NSw3ICsyMjAsNyBAQAogbXNnaWQgImAlcyc6IG5vdCBhIHBpZCBvciB2YWxpZCBqb2Igc3BlYyIKIG1zZ3N0ciAi4oCeJXPigJw6IG5lbsOtIFBJRCBhbmkgcGxhdG7DvW0gb3puYcSNZW7DrW0gw7psb2h5IgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTMKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI2NCBlcnJvci5jOjQ1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgdmFyaWFibGUiCiBtc2dzdHIgIiVzOiBwcm9txJtubsOhIHBvdXplIHBybyDEjXRlbsOtIgpAQCAtMjUwLDEyICsyNzUsMTIgQEAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVzIgotbXNnc3RyICIiCittc2dzdHIgImNoeWJhIHDFmWkgbmFzdGF2b3bDoW7DrSB2bGFzdG5vc3TDrSB0ZXJtaW7DoWx1OiAlcyIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIGdldHRpbmcgdGVybWluYWwgYXR0cmlidXRlczogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiY2h5YmEgcMWZaSB6w61za8OhdsOhbsOtIHZsYXN0bm9zdMOtIHRlcm1pbsOhbHU6ICVzIgogCiAjOiBidWlsdGlucy9jb21tb24uYzo1NjMKICMsIGMtZm9ybWF0CkBAIC0yNjcsMjYgKzI5MiwyNiBAQAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgam9iIHNwZWMiCiBtc2dzdHIgIiVzOiBuZWplZG5vem5hxI1uw6kgdXLEjWVuw60gw7psb2h5IgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6MjcwCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Mjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFjdGlvbiBuYW1lIgogbXNnc3RyICIlczogbmVwbGF0bsO9IG7DoXpldiBha2NlIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDMwIGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2MTUKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MTMKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo0NDkgYnVpbHRpbnMvY29tcGxldGUuZGVmOjY0NAorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjg1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm8gY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczogxb7DoWRuw6kgZG9wbMWIb3bDoW7DrSBuZXVyxI1lbm8iCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NjcKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTYKIG1zZ2lkICJ3YXJuaW5nOiAtRiBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCiBtc2dzdHIgInZhcm92w6Fuw606IHDFmWVww61uYcSNIC1GIG1vxb5uw6EgbmVidWRlIGTEm2xhdCwgY28ganN0ZSDEjWVrYWxpIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjY5CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk4CiBtc2dpZCAid2FybmluZzogLUMgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgogbXNnc3RyICJ2YXJvdsOhbsOtOiBwxZllcMOtbmHEjSAtQyBtb8W+bsOhIG5lYnVkZSBkxJtsYXQsIGNvIGpzdGUgxI1la2FsaSIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjc4NgorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjgyNgogbXNnaWQgIm5vdCBjdXJyZW50bHkgZXhlY3V0aW5nIGNvbXBsZXRpb24gZnVuY3Rpb24iCiBtc2dzdHIgImRvcGzFiG92YWPDrSBmdW5rY2Ugc2UgcHLDoXbEmyBuZXZ5a29uw6F2w6EiCiAKQEAgLTI5NCwyMSArMzE5LDIxIEBACiBtc2dpZCAiY2FuIG9ubHkgYmUgdXNlZCBpbiBhIGZ1bmN0aW9uIgogbXNnc3RyICJtxa/FvmUgYsO9dCBwb3XFvml0byBqZW4gdmUgZnVua2NpIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNTMKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2MAogbXNnaWQgImNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucyIKIG1zZ3N0ciAi4oCeLWbigJwgbmV6bGUgcG91xb7DrXQgbmEgdsO9cm9idSBmdW5rY2UiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NSBleGVjdXRlX2NtZC5jOjQ4MTgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3MiBleGVjdXRlX2NtZC5jOjQ5MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IGZ1bmN0aW9uIgogbXNnc3RyICIlczogZnVua2NlIGplbiBwcm8gxI10ZW7DrSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDYxCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBkZXN0cm95IGFycmF5IHZhcmlhYmxlcyBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJXM6IHRha3RvIG5lbHplIGxpa3ZpZG92YXQgcG9sZSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDY4CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGFzc29jaWF0aXZlIHRvIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIiVzOiBhc29jaWF0aXZuw60gcG9sZSBuZWx6ZSBwxZlldsOpc3QgbmEgxI3DrXNsb3ZhbsOpIHBvbGUiCkBAIC0zMzcsOCArMzYyLDggQEAKIG1zZ2lkICIlczogY2Fubm90IGRlbGV0ZTogJXMiCiBtc2dzdHIgIiVzOiBuZWx6ZSBzbWF6YXQ6ICVzIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Njc1Ci0jOiBzaGVsbC5jOjE0MzkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM0IGJ1aWx0aW5zL2hhc2guZGVmOjE2OSBleGVjdXRlX2NtZC5jOjQ3OTQKKyM6IHNoZWxsLmM6MTQ1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaXMgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzOiBqZSBhZHJlc8OhxZllbSIKQEAgLTM1Myw3ICszNzgsOCBAQAogbXNnaWQgIiVzOiBmaWxlIGlzIHRvbyBsYXJnZSIKIG1zZ3N0ciAiJXM6IHNvdWJvciBqZSBwxZnDrWxpxaEgdmVsa8O9IgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBleGVjdXRlX2NtZC5jOjQ3NDUgc2hlbGwuYzoxNDQ5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBidWlsdGlucy9ldmFsZmlsZS5jOjIwMyBleGVjdXRlX2NtZC5jOjQ4NjQKKyM6IHNoZWxsLmM6MTQ2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGUgYmluYXJ5IGZpbGUiCiBtc2dzdHIgIiVzOiBiaW7DoXJuw60gc291Ym9yIG5lbHplIHNwdXN0aXQiCkBAIC0zNjMsMTIgKzM4OSwxMiBAQAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZTogJXMiCiBtc2dzdHIgIiVzOiBuZWx6ZSBwcm92w6lzdDogJXMiCiAKLSMgRklYTUU6IFRvdG8gamUgbGl0ZXLDoWwsIGplZG7DoSBzZSBvIHN5bnRheGkgcMWZw61rYXp1LCBrdGVyw70gbmVtw6Egxb7DoWRuw6kKLSMgcGFyYW1ldHJ5PyBOZWJvIHNlIGplZG7DoSBvIHpwcsOhdnUgc2hlbGx1IHDFmWkgb2RobMOhxaFlbsOtPworIyBYWFg6IFRvdG8gamUgenByw6F2YSBpbnRlcmFrdGl2bsOtaG8gc2hlbGx1IHDFmWkgcMWZw61rYXp1IGV4aXQgaW5mb3JtdWrDrWPDrQorIyBvwqBvZGhsw6HFoWVuw60KICM6IGJ1aWx0aW5zL2V4aXQuZGVmOjY1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAibG9nb3V0XG4iCi1tc2dzdHIgImxvZ291dFxuIgorbXNnc3RyICJvZGhsw6HFoWVuw61cbiIKIAogIzogYnVpbHRpbnMvZXhpdC5kZWY6ODgKIG1zZ2lkICJub3QgbG9naW4gc2hlbGw6IHVzZSBgZXhpdCciCkBAIC0zODQsMTUgKzQxMCwxNSBAQAogbXNnaWQgIlRoZXJlIGFyZSBydW5uaW5nIGpvYnMuXG4iCiBtc2dzdHIgIkpzb3UgemRlIGLEm8W+w61jw60gw7psb2h5LlxuIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MjYxCisjOiBidWlsdGlucy9mYy5kZWY6MjYyCiBtc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKIG1zZ3N0ciAixb7DoWRuw70gcMWZw61rYXogbmVuYWxlemVuIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzQxCisjOiBidWlsdGlucy9mYy5kZWY6MzQ5CiBtc2dpZCAiaGlzdG9yeSBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICJ1csSNZW7DrSBoaXN0b3JpZSIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM2MgorIzogYnVpbHRpbnMvZmMuZGVmOjM3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKIG1zZ3N0ciAiJXM6IGRvxI1hc27DvSBzb3Vib3IgbmVsemUgb3RldsWZw610OiAlcyIKQEAgLTQ2Miw4ICs0ODgsNyBAQAogIkEgc3RhciAoKikgbmV4dCB0byBhIG5hbWUgbWVhbnMgdGhhdCB0aGUgY29tbWFuZCBpcyBkaXNhYmxlZC5cbiIKICJcbiIKIG1zZ3N0ciAiIgotIlR5dG8gcMWZw61rYXp5IHNoZWxsdSBqc291IHZuaXTFmW7EmyBkZWZpbm92w6FueS4gTmFwacWhdGUg4oCeaGVscOKAnCwgYWJ5IHN0ZSAiCi0iesOtc2thbGlcbiIKKyJUeXRvIHDFmcOta2F6eSBzaGVsbHUganNvdSB2bml0xZluxJsgZGVmaW5vdsOhbnkuIE5hcGnFoXRlIOKAnmhlbHDigJwsIGFieXN0ZSB6w61za2FsaVxuIgogInRlbnRvIHNlem5hbS4gUG9kcm9ibm9zdGkgb8KgZnVua2NpIOKAnm7DoXplduKAnCB6w61za8OhdGUgcMWZw61rYXplbSDigJ5oZWxwIG7DoXplduKAnC5cbiIKICJQxZnDrWthemVtIOKAnmluZm8gYmFzaOKAnCB6w61za8OhdGUgb2JlY27DqSBpbmZvcm1hY2Ugb8KgdG9tdG8gc2hlbGx1LlxuIgogIlBvdcW+aWp0ZSDigJ5tYW4gLWvigJwgbmVibyDigJ5pbmZv4oCcLCBjaGNldGUtbGkgemppc3RpdCB2w61jZSBvwqBwxZnDrWthemVjaCwga3RlcsOpXG4iCkBAIC00OTQsMTIgKzUxOSwxMiBAQAogbXNnaWQgIm5vIG90aGVyIG9wdGlvbnMgYWxsb3dlZCB3aXRoIGAteCciCiBtc2dzdHIgInPCoOKAni144oCcIG5lanNvdSBkb3ZvbGVueSBkYWzFocOtIHDFmWVww61uYcSNZSIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MTk3CisjOiBidWlsdGlucy9raWxsLmRlZjoyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFyZ3VtZW50cyBtdXN0IGJlIHByb2Nlc3Mgb3Igam9iIElEcyIKIG1zZ3N0ciAiJXM6IGFyZ3VtZW50eSBtdXPDrSBiw710IHByb2NlcyBuZWJvIGlkZW50aWZpa8OhdG9yIMO6bG9oeSIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjYwCisjOiBidWlsdGlucy9raWxsLmRlZjoyNjMKIG1zZ2lkICJVbmtub3duIGVycm9yIgogbXNnc3RyICJOZXpuw6Ftw6EgY2h5YmEiCiAKQEAgLTUwNyw1NSArNTMyLDYwIEBACiBtc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAib8SNZWvDoXbDoW4gdsO9cmF6IgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDEgYnVpbHRpbnMvcmVhZC5kZWY6MjcyCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYW4gaW5kZXhlZCBhcnJheSIKK21zZ3N0ciAiJXM6IG5lbsOtIChwcm9txJtubm91IHR5cHUpIHBvbGUiCisKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiVzOiBjaHlibsOpIHVyxI1lbsOtIGRlc2tyaXB0b3J1IHNvdWJvcnUiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NyBidWlsdGlucy9yZWFkLmRlZjoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yOiAlcyIKIG1zZ3N0ciAiJWQ6IG5lcGxhdG7DvSBkZXNrcmlwdG9yIHNvdWJvcnU6ICVzIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTggYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjYgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCiBtc2dzdHIgIiVzOiBjaHlibsO9IHBvxI1ldCDFmcOhZGvFryIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXJyYXkgb3JpZ2luIgogbXNnc3RyICIlczogY2h5Ym7DvSBwb8SNw6F0ZWsgcG9sZSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjg2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgY2FsbGJhY2sgcXVhbnR1bSIKIG1zZ3N0ciAiJXM6IG5lcGxhdG7DqSBtbm/FvnN0dsOtIG1lemkgdm9sw6Fuw61taSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzE4CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKIG1zZ2lkICJlbXB0eSBhcnJheSB2YXJpYWJsZSBuYW1lIgogbXNnc3RyICJwcsOhemRuw70gbsOhemV2IHByb23Em25uw6kgdHlwdSBwb2xlIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM0NwogbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCiBtc2dzdHIgImplIHZ5xb5hZG92w6FuYSBwb2Rwb3JhIHByb23Em25uw71jaCB0eXB1IHBvbGUiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6MzY3CisjOiBidWlsdGlucy9wcmludGYuZGVmOjM3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBtaXNzaW5nIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIuKAniVz4oCcOiBwb3N0csOhZMOhbSBmb3Jtw6F0b3ZhY8OtIHpuYWsiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTQ0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIuKAniVj4oCcOiBuZXBsYXRuw70gZm9ybcOhdG92YWPDrSB6bmFrIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU3MQorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogJXM6ICVzIgogbXNnc3RyICJ2YXJvdsOhbsOtOiAlczogJXMiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzUwCisjOiBidWlsdGlucy9wcmludGYuZGVmOjc1NwogbXNnaWQgIm1pc3NpbmcgaGV4IGRpZ2l0IGZvciBcXHgiCiBtc2dzdHIgInXCoFxceCBjaHliw60gxaFlc3Ruw6FjdGtvdsOhIMSNw61zbG92a2EiCiAKQEAgLTcwMSwxMiArNzMxLDEyIEBACiAiICAgIFxuIgogIiAgICBaw6Fzb2Juw61rIGFkcmVzw6HFmcWvIHNpIG3Fr8W+ZXRlIHByb2hsw6lkbm91dCBwxZnDrWthemVtIOKAnmRpcnPigJwuIgogCi0jOiBidWlsdGlucy9yZWFkLmRlZjoyNDgKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCB0aW1lb3V0IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiVzOiBjaHlibsOpIHVyxI1lbsOtIMSNYXNvdsOpaG8gbGltaXR1IgogCi0jOiBidWlsdGlucy9yZWFkLmRlZjo1NzQKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkIGVycm9yOiAlZDogJXMiCiBtc2dzdHIgImNoeWJhIMSNdGVuw606ICVkOiAlcyIKQEAgLTc0MywxMSArNzczLDExIEBACiBtc2dpZCAic2hpZnQgY291bnQiCiBtc2dzdHIgInBvxI1ldCBzaGlmdMWvIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MjU0CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MjYwCiBtc2dpZCAiY2Fubm90IHNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucyBzaW11bHRhbmVvdXNseSIKIG1zZ3N0ciAicMWZZXDDrW5hxI0gc2hlbGx1IG5lbHplIHrDoXJvdmXFiCBuYXN0YXZpdCBhIHpydcWhaXQiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMTkKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgc2hlbGwgb3B0aW9uIG5hbWUiCiBtc2dzdHIgIiVzOiBjaHlibsO9IG7DoXpldiBwxZllcMOtbmHEjWUgc2hlbGx1IgpAQCAtODM3LDc2ICs4NjcsNzYgQEAKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIHN5bWJvbGljIG1vZGUgY2hhcmFjdGVyIgogbXNnc3RyICLigJ4lY+KAnDogY2h5Ym7DvSB6bmFrIHN5bWJvbGlja8O9IHByw6F2ICIKIAotIzogZXJyb3IuYzo4OSBlcnJvci5jOjMyMCBlcnJvci5jOjMyMiBlcnJvci5jOjMyNAorIzogZXJyb3IuYzo5MCBlcnJvci5jOjMyMSBlcnJvci5jOjMyMyBlcnJvci5jOjMyNQogbXNnaWQgIiBsaW5lICIKIG1zZ3N0ciAiIMWZw6FkZWsgIgogCi0jOiBlcnJvci5jOjE2NAorIzogZXJyb3IuYzoxNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAibGFzdCBjb21tYW5kOiAlc1xuIgogbXNnc3RyICJwb3NsZWRuw60gcMWZw61rYXo6ICVzXG4iCiAKLSM6IGVycm9yLmM6MTcyCisjOiBlcnJvci5jOjE3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZy4uLiIKIG1zZ3N0ciAiVWtvbsSNdWpp4oCmIgogCi0jOiBlcnJvci5jOjQwNQorIzogZXJyb3IuYzo0MDYKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQgZXJyb3IiCiBtc2dzdHIgImNoeWJhIG5lem7DoW3DqWhvIHDFmcOta2F6dSIKIAotIzogZXJyb3IuYzo0MDYKKyM6IGVycm9yLmM6NDA3CiBtc2dpZCAiYmFkIGNvbW1hbmQgdHlwZSIKIG1zZ3N0ciAiY2h5Ym7DvSBkcnVoIHDFmcOta2F6dSIKIAotIzogZXJyb3IuYzo0MDcKKyM6IGVycm9yLmM6NDA4CiBtc2dpZCAiYmFkIGNvbm5lY3RvciIKIG1zZ3N0ciAiY2h5Ym7DvSBrb25la3RvciIKIAotIzogZXJyb3IuYzo0MDgKKyM6IGVycm9yLmM6NDA5CiBtc2dpZCAiYmFkIGp1bXAiCiBtc2dzdHIgImNoeWJuw70gc2tvayIKIAotIzogZXJyb3IuYzo0NDYKKyM6IGVycm9yLmM6NDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmJvdW5kIHZhcmlhYmxlIgogbXNnc3RyICIlczogbmV2w6F6YW7DoSBwcm9txJtubsOhIgogCiAjOiBldmFsLmM6MTgxCiAjLCBjLWZvcm1hdAotbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgotbXNnc3RyICJcYcSNYXNvdsO9IGxpbWl0IHBybyDEjWVrw6Fuw60gbmEgdnN0dXAgdnlwcsWhZWw6IGF1dG9tYXRpY2vDqSBvZGhsw6HFoWVuw61cbiIKK21zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnc3RyICIHxI1hc292w70gbGltaXQgcHJvIMSNZWvDoW7DrSBuYSB2c3R1cCB2eXByxaFlbDogYXV0b21hdGlja8OpIG9kaGzDocWhZW7DrVxuIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5MQorIzogZXhlY3V0ZV9jbWQuYzo0OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlZGlyZWN0IHN0YW5kYXJkIGlucHV0IGZyb20gL2Rldi9udWxsOiAlcyIKIG1zZ3N0ciAic3RhbmRhcmRuw60gdnN0dXAgbmVsemUgcMWZZXNtxJtyb3ZhdCB6wqAvZGV2L251bGw6ICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjExMTIKKyM6IGV4ZWN1dGVfY21kLmM6MTE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJUSU1FRk9STUFUOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIlRJTUVGT1JNQVQ6IOKAniVj4oCcOiBjaHlibsO9IGZvcm3DoXRvdmFjw60gem5hayIKIAotIzogZXhlY3V0ZV9jbWQuYzoyMDExCisjOiBleGVjdXRlX2NtZC5jOjIwNzUKIG1zZ2lkICJwaXBlIGVycm9yIgogbXNnc3RyICJjaHliYSB2wqByb3XFmWUiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDM2MworIzogZXhlY3V0ZV9jbWQuYzo0NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSBgLycgaW4gY29tbWFuZCBuYW1lcyIKIG1zZ3N0ciAiJXM6IG9tZXplbm86IHbCoG7DoXp2dSBwxZnDrWthenUgbmVzbcOtIGLDvXQg4oCeL+KAnCIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDU0CisjOiBleGVjdXRlX2NtZC5jOjQ1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIlczogcMWZw61rYXogbmVuYWxlemVuIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ3MDgKKyM6IGV4ZWN1dGVfY21kLmM6NDgyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGJhZCBpbnRlcnByZXRlciIKIG1zZ3N0ciAiJXM6ICVzOiBjaHlibsO9IGludGVycHJldHIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDg1NworIzogZXhlY3V0ZV9jbWQuYzo0OTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCiBtc2dzdHIgImRlc2tyaXB0b3Igc291Ym9ydSAlZCBuZWx6ZSBkdXBsaWtvdmF0IG5hIGRlc2tyaXB0b3IgJWQiCkBAIC05NTEsMjggKzk4MSwyOCBAQAogbXNnaWQgIm1pc3NpbmcgYCknIgogbXNnc3RyICJwb3N0csOhZMOhbSDigJ4p4oCcIgogCi0jOiBleHByLmM6ODk3IGV4cHIuYzoxMTc1CisjOiBleHByLmM6ODk3IGV4cHIuYzoxMTc2CiBtc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogbXNnc3RyICJzeW50YWt0aWNrw6EgY2h5YmE6IG/EjWVrw6F2w6FuIG9wZXJhbmQiCiAKLSM6IGV4cHIuYzoxMTc3CisjOiBleHByLmM6MTE3OAogbXNnaWQgInN5bnRheCBlcnJvcjogaW52YWxpZCBhcml0aG1ldGljIG9wZXJhdG9yIgogbXNnc3RyICJzeW50YWt0aWNrw6EgY2h5YmE6IGNoeWJuw70gYXJpdG1ldGlja8O9IG9wZXLDoXRvciIKIAotIzogZXhwci5jOjEyMDEKKyM6IGV4cHIuYzoxMjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzJXMlczogJXMgKGVycm9yIHRva2VuIGlzIFwiJXNcIikiCiBtc2dzdHIgIiVzJXMlczogJXMgKGNoeWJuw70gdG9rZW4gamUg4oCeJXPigJwpIgogCi0jOiBleHByLmM6MTI1OQorIzogZXhwci5jOjEyNjAKIG1zZ2lkICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKIG1zZ3N0ciAiY2h5Ym7DvSBhcml0bWV0aWNrw70gesOha2xhZCIKIAotIzogZXhwci5jOjEyNzkKKyM6IGV4cHIuYzoxMjgwCiBtc2dpZCAidmFsdWUgdG9vIGdyZWF0IGZvciBiYXNlIgogbXNnc3RyICJob2Rub3QgamUgcHJvIHrDoWtsYWQgcMWZw61sacWhIHZlbGvDoSIKIAotIzogZXhwci5jOjEzMjgKKyM6IGV4cHIuYzoxMzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCiBtc2dzdHIgIiVzOiBjaHliYSB2w71yYXp1XG4iCkBAIC05ODEsNyArMTAxMSw3IEBACiBtc2dpZCAiZ2V0Y3dkOiBjYW5ub3QgYWNjZXNzIHBhcmVudCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiZ2V0Y3dkOiByb2RpxI1vdnNrw6kgYWRyZXPDocWZZSBuZWpzb3UgcMWZw61zdHVwbsOpIgogCi0jOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDU1OQorIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc2V0IG5vZGVsYXkgbW9kZSBmb3IgZmQgJWQiCiBtc2dzdHIgIm5hIGRlc2tyaXB0b3J1ICVkIG5lbHplIHJlc2V0b3ZhdCByZcW+aW0gbm9kZWxheSIKQEAgLTEwMTAsOSArMTA0MCw4IEBACiBtc2dpZCAiZGVsZXRpbmcgc3RvcHBlZCBqb2IgJWQgd2l0aCBwcm9jZXNzIGdyb3VwICVsZCIKIG1zZ3N0ciAibWHFvnUgcG96YXN0YXZlbm91IMO6bG9odSAlZCBzZSBza3VwaW5vdSBwcm9jZXPFryAlbGQiCiAKLSMgRklYTUU6IGluIHRoZV9waXBlbGluZSB6bmFtZW7DoSBkbyBuZWJvIHY/CiAjOiBqb2JzLmM6MTExMAotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9wcm9jZXNzOiBwcm9jZXNzICU1bGQgKCVzKSBpbiB0aGVfcGlwZWxpbmUiCiBtc2dzdHIgImFkZF9wcm9jZXNzOiBwcm9jZXMgJTVsZCAoJXMpIGRvwqB0aGVfcGlwZWxpbmUiCiAKQEAgLTEwMzEsMTkgKzEwNjAsMjAgQEAKIG1zZ2lkICJTaWduYWwgJWQiCiBtc2dzdHIgIlNpZ27DoWwgJWQiCiAKLSMgRklYTUU6IHJvZCBhIHprb250cm9sb3ZhdCBuw6FzbGVkdWrDrWPDrQorIyBYWFg6ICjDumxvaGEpIGRva29uxI1uYS4gUG91xb7DrXZhdCDFvmVuc2vDvSByb2QgacKgdW7DoXNsZWR1asOtY8OtY2guIEplZG7DoSBzZQorIyBvIHbDvXBpcyDDumxvaC4KICM6IGpvYnMuYzoxNDMwIGpvYnMuYzoxNDU1CiBtc2dpZCAiRG9uZSIKLW1zZ3N0ciAiRG9rb27DoW4iCittc2dzdHIgIkRva29uxI1lbmEiCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjIKKyM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKIG1zZ2lkICJTdG9wcGVkIgotbXNnc3RyICJQb3phc3RhdmVuIgorbXNnc3RyICJQb3phc3RhdmVuYSIKIAogIzogam9icy5jOjE0MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3RvcHBlZCglcykiCi1tc2dzdHIgIlBvemFzdGF2ZW4gKCVzKSIKK21zZ3N0ciAiUG96YXN0YXZlbmEgKCVzKSIKIAogIzogam9icy5jOjE0NDMKIG1zZ2lkICJSdW5uaW5nIgpAQCAtMTA1MiwxMyArMTA4MiwxMiBAQAogIzogam9icy5jOjE0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uZSglZCkiCi1tc2dzdHIgIkRva29uw6FuICglZCkiCittc2dzdHIgIkRva29uxI1lbmEgKCVkKSIKIAotIyBGSVhNRTogSmVkbsOhIHNlIG/CoHpwxa9zb2IgdWtvbsSNZW7DrSB6YXZvbMOhbsOtbSBmdW5rY2UgZXhpdCglZCk/CiAjOiBqb2JzLmM6MTQ1OQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIkV4aXQgJWQiCi1tc2dzdHIgIkV4aXQgJWQiCittc2dzdHIgIlVrb27EjWVuYSAlZCIKIAogIzogam9icy5jOjE0NjIKIG1zZ2lkICJVbmtub3duIHN0YXR1cyIKQEAgLTEwNzQsNjkgKzExMDMsNzMgQEAKIG1zZ2lkICIgICh3ZDogJXMpIgogbXNnc3RyICIgIChjd2Q6ICVzKSIKIAotIzogam9icy5jOjE3NzEKKyM6IGpvYnMuYzoxNzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICJzZXRwZ2lkIG5hIHBvdG9ta3UgKHrCoCVsZCBuYSAlbGQpIgogCi0jOiBqb2JzLmM6MjA5OSBub2pvYnMuYzo1ODUKKyM6IGpvYnMuYzoyMTA0IG5vam9icy5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0OiBwaWQgJWxkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgc2hlbGwiCiBtc2dzdHIgIndhaXQ6IFBJRCAlbGQgbmVuw60gcG90b21rZW0gdG9ob3RvIHNoZWxsdSIKIAotIzogam9icy5jOjIzMjYKKyM6IGpvYnMuYzoyMzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yOiBObyByZWNvcmQgb2YgcHJvY2VzcyAlbGQiCiBtc2dzdHIgIndhaXRfZm9yOiDFvcOhZG7DvSB6w6F6bmFtIG/CoHByb2Nlc3UgJWxkIgogCi0jOiBqb2JzLmM6MjU5OAorIzogam9icy5jOjI2MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKIG1zZ3N0ciAid2FpdF9mb3Jfam9iOiDDumxvaGEgJWQgamUgcG96YXN0YXZlbmEiCiAKLSM6IGpvYnMuYzoyODIwCisjOiBqb2JzLmM6MjgyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogw7psb2hhIHNrb27EjWlsYSIKIAotIzogam9icy5jOjI4MjkKKyM6IGpvYnMuYzoyODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgJWQgYWxyZWFkeSBpbiBiYWNrZ3JvdW5kIgogbXNnc3RyICIlczogw7psb2hhICVkIGplIGppxb4gbmEgcG96YWTDrSIKIAotIzogam9icy5jOjM0OTIKKyM6IGpvYnMuYzozMDU5Cittc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgorbXNnc3RyICIiCisKKyM6IGpvYnMuYzozNTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBsaW5lICVkOiAiCiBtc2dzdHIgIiVzOiDFmcOhZGVrICVkOiAiCiAKLSM6IGpvYnMuYzozNTA2IG5vam9icy5jOjgxNAorIzogam9icy5jOjM1MjIgbm9qb2JzLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAoY29yZSBkdW1wZWQpIgogbXNnc3RyICIgKGNvcmUgZHVtcGVkIFtvYnJheiBwYW3Em3RpIHVsb8W+ZW5dKSIKIAotIzogam9icy5jOjM1MTggam9icy5jOjM1MzEKKyM6IGpvYnMuYzozNTM0IGpvYnMuYzozNTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIih3ZCBub3c6ICVzKVxuIgogbXNnc3RyICIoY3dkIG55bsOtOiAlcylcbiIKIAotIzogam9icy5jOjM1NjMKKyM6IGpvYnMuYzozNTc5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBmYWlsZWQiCiBtc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgc2VsaGFsbyIKIAotIzogam9icy5jOjM2MjMKKyM6IGpvYnMuYzozNjM5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgogbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBkaXNjaXBsw61uYSBsaW5reSIKIAotIzogam9icy5jOjM2MzMKKyM6IGpvYnMuYzozNjQ5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKIAotIzogam9icy5jOjM2NjEKKyM6IGpvYnMuYzozNjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgogbXNnc3RyICJuZWx6ZSBuYXN0YXZpdCBza3VwaW51IHByb2Nlc8WvIHRlcm1pbsOhbHUgKCVkKSIKIAotIzogam9icy5jOjM2NjYKKyM6IGpvYnMuYzozNjgyCiBtc2dpZCAibm8gam9iIGNvbnRyb2wgaW4gdGhpcyBzaGVsbCIKIG1zZ3N0ciAixb7DoWRuw6Egc3Byw6F2YSDDumxvaCB2wqB0b210byBzaGVsbHUiCiAKQEAgLTExNTUsNyArMTE4OCw2IEBACiAibWFsbG9jOiAlczolZDogemJhYnJhbsO9IHDFmWVkcG9rbGFkXHJcbiIKIAogIzogbGliL21hbGxvYy9tYWxsb2MuYzozMTMKLSMsIGZ1enp5CiBtc2dpZCAidW5rbm93biIKIG1zZ3N0ciAibmVuw60gem7DoW1vIgogCkBAIC0xMjI5LDYgKzEyNjEsMjYgQEAKIG1zZ2lkICJuZXR3b3JrIG9wZXJhdGlvbnMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAic8OtxaVvdsOpIG9wZXJhY2UgbmVqc291IHBvZHBvcm92w6FueSIKIAorIzogbG9jYWxlLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IG5lbHplIGFsb2tvdmF0ICUnbHUgYmFqdMWvIgorCisjOiBsb2NhbGUuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IG5lbHplIGFsb2tvdmF0ICUnbHUgYmFqdMWvIgorCiAjOiBtYWlsY2hlY2suYzo0MzMKIG1zZ2lkICJZb3UgaGF2ZSBtYWlsIGluICRfIgogbXNnc3RyICJWwqAkXyBtw6F0ZSBwb8WhdHUiCkBAIC0xMjQyLDEzNCArMTI5NCwxMzQgQEAKIG1zZ2lkICJUaGUgbWFpbCBpbiAlcyBoYXMgYmVlbiByZWFkXG4iCiBtc2dzdHIgIlBvxaF0YSB2wqAlcyBqZSBwxZllxI10ZW7DoVxuIgogCi0jOiBtYWtlX2NtZC5jOjMyMgorIzogbWFrZV9jbWQuYzozMjMKIG1zZ2lkICJzeW50YXggZXJyb3I6IGFyaXRobWV0aWMgZXhwcmVzc2lvbiByZXF1aXJlZCIKIG1zZ3N0ciAiY2h5YmEgc3ludGF4ZTogdnnFvmFkb3bDoW4gYXJpdG1ldGlja8O9IHbDvXJheiIKIAotIzogbWFrZV9jbWQuYzozMjQKKyM6IG1ha2VfY21kLmM6MzI1CiBtc2dpZCAic3ludGF4IGVycm9yOiBgOycgdW5leHBlY3RlZCIKIG1zZ3N0ciAiY2h5YmEgc3ludGF4ZTogbmVvxI1la8OhdmFuw70g4oCeO+KAnCIKIAotIzogbWFrZV9jbWQuYzozMjUKKyM6IG1ha2VfY21kLmM6MzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvcjogYCgoJXMpKSciCiBtc2dzdHIgImNoeWJhIHN5bnRheGU6IOKAnigoJXMpKeKAnCIKIAotIzogbWFrZV9jbWQuYzo1NjcKKyM6IG1ha2VfY21kLmM6NTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfaGVyZV9kb2N1bWVudDogYmFkIGluc3RydWN0aW9uIHR5cGUgJWQiCiBtc2dzdHIgIm1ha2VfaGVyZV9kb2N1bWVudDogY2h5Ym7DvSBkcnVoIGluc3RydWtjZSAlZCIKIAotIzogbWFrZV9jbWQuYzo2NTEKKyM6IG1ha2VfY21kLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlcmUtZG9jdW1lbnQgYXQgbGluZSAlZCBkZWxpbWl0ZWQgYnkgZW5kLW9mLWZpbGUgKHdhbnRlZCBgJXMnKSIKIG1zZ3N0ciAi4oCeaGVyZeKAnCBkb2t1bWVudCBuYSDFmcOhZGt1ICVkIHVrb27EjWVuIGtvbmNlbSBzb3Vib3J1IChwb8W+YWRvdsOhbm8g4oCeJXPigJwpIgogCi0jOiBtYWtlX2NtZC5jOjc0NgorIzogbWFrZV9jbWQuYzo3NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIm1ha2VfcmVkaXJlY3Rpb246IGluc3RydWtjZSBwxZllc23Em3JvdsOhbsOtIOKAniVk4oCcIG1pbW8gcm96c2FoIgogCi0jOiBwYXJzZS55OjI5ODYgcGFyc2UueTozMjE4CisjOiBwYXJzZS55OjMxMzMgcGFyc2UueTozMzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGAlYyciCiBtc2dzdHIgIm5lb8SNZWvDoXZhbsO9IGtvbmVjIHNvdWJvcnUgcMWZaSBobGVkw6Fuw60gem5ha3Ugb2Rwb3bDrWRhasOtY8OtbXUg4oCeJWPigJwiCiAKLSM6IHBhcnNlLnk6MzcyMgorIzogcGFyc2UueTozOTUxCiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAibmVvxI1la8OhdmFuw70ga29uZWMgc291Ym9ydSBwxZlpIGhsZWTDoW7DrSDigJ5dXeKAnCIKIAogIyBYWFg6IENvbmRpb25hbCBtZWFucyBjb25kaXRpb24gKGFkai4pIHByb2JhYmx5LiBDYW4gRW5nbGlzaCBkaXN0aW5ndWlzaAogIyBiZXR3ZWVuIHRoZSBjb25kaXRpb24gKHBvZG3DrW5rb3bDvSkgYW5kIHRoZSBjb2RlIGJyYW5jaCAocG9kbcOtbsSbbsO9KT8gQ2hlY2sKICMgZm9yIGFsbCAiY29uZGl0aW9uYWwiIHN0cmluZyBvY2N1cmVuY2VzLgotIzogcGFyc2UueTozNzI3CisjOiBwYXJzZS55OjM5NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiY2h5YmEgc3ludGF4ZSB2ZSB2w71yYXp1IHBvZG3DrW5reTogbmVvxI1la8OhdmFuw70gdG9rZW4g4oCeJXPigJwiCiAKLSM6IHBhcnNlLnk6MzczMQorIzogcGFyc2UueTozOTYwCiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgImNoeWJhIHN5bnRheGUgdmUgdsO9cmF6dSBwb2Rtw61ua3kiCiAKLSM6IHBhcnNlLnk6MzgwOQorIzogcGFyc2UueTo0MDM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgogbXNnc3RyICJuZW/EjWVrw6F2YW7DvSB0b2tlbiDigJ4lc+KAnCwgb8SNZWvDoXbDoW5hIOKAninigJwiCiAKLSM6IHBhcnNlLnk6MzgxMworIzogcGFyc2UueTo0MDQyCiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICJvxI1la8OhdsOhbmEg4oCeKeKAnCIKIAotIzogcGFyc2UueTozODQxCisjOiBwYXJzZS55OjQwNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJuZW/EjWVrw6F2YW7DvSBhcmd1bWVudCDigJ4lc+KAnCB1wqBwb2Rtw61ua292w6lobyB1bsOhcm7DrWhvIG9wZXLDoXRvcnUiCiAKLSM6IHBhcnNlLnk6Mzg0NQorIzogcGFyc2UueTo0MDc0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAibmVvxI1la8OhdmFuw70gYXJndW1lbnQgdcKgcG9kbcOtbmtvdsOpaG8gdW7DoXJuw61obyBvcGVyw6F0b3J1IgogCi0jOiBwYXJzZS55OjM4ODUKKyM6IHBhcnNlLnk6NDEyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAibmVvxI1la8OhdmFuw70gdG9rZW4g4oCeJXPigJwsIG/EjWVrw6F2w6FuIHBvZG3DrW5rb3bDvSBiaW7DoXJuw60gb3BlcsOhdG9yIgogCi0jOiBwYXJzZS55OjM4ODkKKyM6IHBhcnNlLnk6NDEyNAogbXNnaWQgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAib8SNZWvDoXbDoW4gcG9kbcOtbmtvdsO9IGJpbsOhcm7DrSBvcGVyw6F0b3IiCiAKLSM6IHBhcnNlLnk6MzkwNgorIzogcGFyc2UueTo0MTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIm5lb8SNZWvDoXZhbsO9IGFyZ3VtZW50IOKAniVz4oCeIHXCoHBvZG3DrW5rb3bDqWhvIGJpbsOhcm7DrWhvIG9wZXLDoXRvcnUiCiAKLSM6IHBhcnNlLnk6MzkxMAorIzogcGFyc2UueTo0MTUwCiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIm5lb8SNZWvDoXZhbsO9IGFyZ3VtZW50IHXCoHBvZG3DrW5rb3bDqWhvIGJpbsOhcm7DrWhvIG9wZXLDoXRvcnUiCiAKLSM6IHBhcnNlLnk6MzkyMQorIzogcGFyc2UueTo0MTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJuZW/EjWVrw6F2YW7DvSB0b2tlbiDigJ4lY+KAnCB2IHBvZG3DrW5rb3bDqW0gcMWZw61rYXp1IgogCi0jOiBwYXJzZS55OjM5MjQKKyM6IHBhcnNlLnk6NDE2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAibmVvxI1la8OhdmFuw70gdG9rZW4g4oCeJXPigJwgdsKgcG9kbcOtbmtvdsOpbSBwxZnDrWthenUiCiAKLSM6IHBhcnNlLnk6MzkyOAorIzogcGFyc2UueTo0MTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gJWQgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAibmVvxI1la8OhdmFuw70gdG9rZW4gJWQgdsKgcG9kbcOtbmtvdsOpbSBwxZnDrWthenUiCiAKLSM6IHBhcnNlLnk6NTE5NQorIzogcGFyc2UueTo1NDU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiY2h5YmEgc3ludGF4ZSBwb2Jsw63FviBuZW/EjWVrw6F2YW7DqWhvIHRva2VudSDigJ4lc+KAnCIKIAotIzogcGFyc2UueTo1MjEzCisjOiBwYXJzZS55OjU0NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgYCVzJyIKIG1zZ3N0ciAiY2h5YmEgc3ludGF4ZSBwb2Jsw63FviDigJ4lc+KAnCIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgImNoeWJhIHN5bnRheGU6IG5lbmFkw6Fsw70ga29uZWMgc291Ym9ydSIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgImNoeWJhIHN5bnRheGUiCiAKLSM6IHBhcnNlLnk6NTI4NQorIzogcGFyc2UueTo1NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICJTaGVsbCBsemUgdWtvbsSNaXQgcMWZw61rYXplbSDigJ4lc+KAnC5cbiIKIAotIzogcGFyc2UueTo1NDQ3CisjOiBwYXJzZS55OjU3MTEKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgKSciCiBtc2dzdHIgIm5lbmFkw6Fsw70ga29uZWMgc291Ym9ydSBwxZlpIGhsZWTDoW7DrSBvZHBvdsOtZGFqw61jw60g4oCeKeKAnCIKIAotIzogcGNvbXBsZXRlLmM6MTAxOAorIzogcGNvbXBsZXRlLmM6MTAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0aW9uOiBmdW5jdGlvbiBgJXMnIG5vdCBmb3VuZCIKIG1zZ3N0ciAiZG9wbMWIb3bDoW7DrTogZnVua2NlIOKAniVz4oCcIG5lbmFsZXplbmEiCkBAIC0xMzc5LDcxICsxNDMxLDkwIEBACiBtc2dpZCAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIG1zZ3N0ciAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTE9Ww50gQ09NUFNQRUMiCiAKLSM6IHByaW50X2NtZC5jOjI4NQorIzogcHJpbnRfY21kLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAicHJpbnRfY29tbWFuZDogY2h5Ym7DoSBwcm9wb2prYSDigJ4lZOKAnCIKIAotIzogcHJpbnRfY21kLmM6MTM0OAorIzogcHJpbnRfY21kLmM6MzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiVkOiBuZXBsYXRuw70gZGVza3JpcHRvciBzb3Vib3J1OiAlcyIKKworIzogcHJpbnRfY21kLmM6MzY4Cittc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCittc2dzdHIgIiIKKworIzogcHJpbnRfY21kLmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzoxNDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiY3ByaW50Zjog4oCeJWPigJw6IGNoeWJuw70gZm9ybcOhdG92YWPDrSB6bmFrIgogCi0jOiByZWRpci5jOjEwNQorIzogcmVkaXIuYzoxMTAKIG1zZ2lkICJmaWxlIGRlc2NyaXB0b3Igb3V0IG9mIHJhbmdlIgogbXNnc3RyICJkZXNrcmlwdG9yIHNvdWJvcnUgbWltbyByb3pzYWgiCiAKLSM6IHJlZGlyLmM6MTQ4CisjOiByZWRpci5jOjE2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYW1iaWd1b3VzIHJlZGlyZWN0IgogbXNnc3RyICIlczogbmVqZWRub3puYcSNbsOpIHDFmWVzbcSbcm92w6Fuw60iCiAKLSM6IHJlZGlyLmM6MTUyCisjOiByZWRpci5jOjE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlIgogbXNnc3RyICIlczogZXhpc3R1asOtY8OtIHNvdWJvciBuZWx6ZSBwxZllcHNhdCIKIAotIzogcmVkaXIuYzoxNTcKKyM6IHJlZGlyLmM6MTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3QgcmVkaXJlY3Qgb3V0cHV0IgogbXNnc3RyICIlczogb21lemVubzogdsO9c3R1cCBuZWx6ZSBwxZllc23Em3JvdmF0IgogCi0jOiByZWRpci5jOjE2MgorIzogcmVkaXIuYzoxODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgogbXNnc3RyICJwcm8g4oCeaGVyZeKAnCBkb2t1bWVudCBuZWx6ZSB2eXR2b8WZaXQgZG/EjWFzbsO9IHNvdWJvcjogJXMiCiAKLSM6IHJlZGlyLmM6NTE3CisjOiByZWRpci5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gZmQgdG8gdmFyaWFibGUiCittc2dzdHIgIiVzOiBzZXpuYW0gbmVsemUgcMWZacWZYWRpdCBkbyBwcnZrdSBwb2xlIgorCisjOiByZWRpci5jOjU0NAogbXNnaWQgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKIG1zZ3N0ciAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IG5lbsOtIGJleiBzw63FpW92w6Fuw60gcG9kcG9yb3bDoW5vIgogCi0jOiByZWRpci5jOjEwMjMKKyM6IHJlZGlyLmM6MTEwMQogbXNnaWQgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgogbXNnc3RyICJjaHliYSBwxZllc23Em3JvdsOhbsOtOiBkZXNrcmlwdG9yIHNvdWJvcnUgbmVsemUgZHVwbGlrb3ZhdCIKIAotIzogc2hlbGwuYzozMjgKKyM6IHNoZWxsLmM6MzMyCiBtc2dpZCAiY291bGQgbm90IGZpbmQgL3RtcCwgcGxlYXNlIGNyZWF0ZSEiCiBtc2dzdHIgIm5lbHplIG5hbMOpenQgL3RtcCwgdnl0dm/FmXRlIGplaiwgcHJvc8OtbSEiCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzNgogbXNnaWQgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICIvdG1wIG11c8OtIGLDvXQgcGxhdG7DvW0gbsOhenZlbSBwcm8gYWRyZXPDocWZIgogCi0jOiBzaGVsbC5jOjg3NgorIzogc2hlbGwuYzo4ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWMlYzogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVjJWM6IGNoeWJuw70gcMWZZXDDrW5hxI0iCiAKLSM6IHNoZWxsLmM6MTYzOAorIzogc2hlbGwuYzoxNjUxCiBtc2dpZCAiSSBoYXZlIG5vIG5hbWUhIgogbXNnc3RyICJOZW3DoW0gxb7DoWRuw6kgam3DqW5vISIKIAotIzogc2hlbGwuYzoxNzc4CisjOiBzaGVsbC5jOjE3OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgogbXNnc3RyICJHTlUgYmFzaCwgdmVyemUgJXMtKCVzKVxuIgogCi0jOiBzaGVsbC5jOjE3NzkKKyM6IHNoZWxsLmM6MTc5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKQEAgLTE0NTIsMzk1ICsxNTIzLDQxMSBAQAogIlBvdcW+aXTDrTpcdCVzIFtEbG91aMO9IEdOVSBwxZllcMOtbmHEjV0gW3DFmWVww61uYcSNXeKAplxuIgogIlx0JXMgW0Rsb3Vow70gR05VIHDFmWVww61uYcSNXSBbcMWZZXDDrW5hxI1dIHNrcmlwdG92w71fc291Ym9y4oCmXG4iCiAKLSM6IHNoZWxsLmM6MTc4MQorIzogc2hlbGwuYzoxNzk2CiBtc2dpZCAiR05VIGxvbmcgb3B0aW9uczpcbiIKIG1zZ3N0ciAiRGxvdWjDqSBHTlUgcMWZZXDDrW5hxI1lOlxuIgogCi0jOiBzaGVsbC5jOjE3ODUKKyM6IHNoZWxsLmM6MTgwMAogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgIlDFmWVww61uYcSNZSBzaGVsbHU6XG4iCiAKLSM6IHNoZWxsLmM6MTc4NgorIzogc2hlbGwuYzoxODAxCiBtc2dpZCAiXHQtaXJzRCBvciAtYyBjb21tYW5kIG9yIC1PIHNob3B0X29wdGlvblx0XHQoaW52b2NhdGlvbiBvbmx5KVxuIgogbXNnc3RyICJcdC1pcnNEIG5lYm8gLWMgcMWZw61rYXogbmVibyAtTyBzaG9wdF9wxZllcMOtbmHEjVx0KHBvdXplIHDFmWkgdnl2b2zDoW7DrSlcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCiBtc2dzdHIgIlx0LSVzIG5lYm8gLW8gcMWZZXDDrW5hxI1cbiIKIAotIzogc2hlbGwuYzoxODA3CisjOiBzaGVsbC5jOjE4MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgXCJoZWxwIHNldFwiJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBvcHRpb25zLlxuIgogbXNnc3RyICIiCiAiUG9kcm9ibm9zdGkgb8KgcMWZZXDDrW5hxI3DrWNoIHNoZWxsdSB6w61za8OhdGUgdMOtbSwgxb5lIG5hcMOtxaFldGUg4oCeJXMgLWMgXCJoZWxwIHNldCIKICJcIuKAnC5cbiIKIAotIzogc2hlbGwuYzoxODA4CisjOiBzaGVsbC5jOjE4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKIG1zZ3N0ciAiIgogIlBvZHJvYm5vc3RpIG/CoHDFmcOta2F6ZWNoIHZlc3RhdsSbbsO9Y2ggZG8gc2hlbGx1IHrDrXNrw6F0ZSB0w61tLCDFvmVcbiIKICJuYXBpxaF0ZSDigJ4lcyAtYyBoZWxw4oCcLlxuIgogCi0jOiBzaGVsbC5jOjE4MDkKKyM6IHNoZWxsLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgdGhlIGBiYXNoYnVnJyBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgogbXNnc3RyICJDaHlieSBuYWhsw6Fzw610ZSBwxZnDrWthemVtIOKAnmJhc2hidWfigJwuXG4iCiAKLSM6IHNpZy5jOjU4MworIzogc2lnLmM6NjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInNpZ3Byb2NtYXNrOiAlZDogaW52YWxpZCBvcGVyYXRpb24iCiBtc2dzdHIgInNpZ3Byb2NtYXNrOiAlZDogbmVwbGF0bsOhIG9wZXJhY2UiCiAKLSM6IHNpZ2xpc3QuYzo0NworIzogc2lnbGlzdC5jOjQ4CiBtc2dpZCAiQm9ndXMgc2lnbmFsIgogbXNnc3RyICJGYWxlxaFuw70gc2lnbsOhbCIKIAogIyBQxZlla2xhZHkgbsOhenbFryBzaWduw6Fsxa8gcMWZZXZ6YXR5IChzwqBtw61ybsO9bWkgw7pwcmF2YW1pKSB6IMSNZXNrw6kgcMWZZWtsYWR1CiAjIG1hbnXDoWxvdsOpIHN0csOhbmt5IHNpZ25hbCg3KS4gCi0jOiBzaWdsaXN0LmM6NTAKKyM6IHNpZ2xpc3QuYzo1MQogbXNnaWQgIkhhbmd1cCIKIG1zZ3N0ciAiTGlua2EgdGVybWluw6FsdSB6YXbEm8WhZW5hIgogCi0jIEZJWE1FOiByb2QgYSBuw6FzbGVkdWrDrWPDrQotIzogc2lnbGlzdC5jOjU0Ci0jLCBmdXp6eQorIzogc2lnbGlzdC5jOjU1CiBtc2dpZCAiSW50ZXJydXB0IgogbXNnc3RyICJQxZllcnXFoWVuw60iCiAKLSM6IHNpZ2xpc3QuYzo1OAorIzogc2lnbGlzdC5jOjU5CiBtc2dpZCAiUXVpdCIKIG1zZ3N0ciAiVWtvbsSNZW7DrSIKIAotIzogc2lnbGlzdC5jOjYyCisjOiBzaWdsaXN0LmM6NjMKIG1zZ2lkICJJbGxlZ2FsIGluc3RydWN0aW9uIgotbXNnc3RyICJOZXBsYXRuw60gaW5zdHJ1a2NlIgorbXNnc3RyICJOZXBsYXRuw6EgaW5zdHJ1a2NlIgogCi0jOiBzaWdsaXN0LmM6NjYKKyM6IHNpZ2xpc3QuYzo2NwogbXNnaWQgIkJQVCB0cmFjZS90cmFwIgogbXNnc3RyICJQxZllcnXFoWVuw60gcMWZaSBsYWTEm27DrSIKIAotIzogc2lnbGlzdC5jOjc0CisjOiBzaWdsaXN0LmM6NzUKIG1zZ2lkICJBQk9SVCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiVWtvbsSNZW7DrSBmdW5rY8OtIGFib3J0KCkiCiAKLSM6IHNpZ2xpc3QuYzo3OAorIzogc2lnbGlzdC5jOjc5CiBtc2dpZCAiRU1UIGluc3RydWN0aW9uIgogbXNnc3RyICJJbnN0cnVrY2UgRU1UIgogCi0jOiBzaWdsaXN0LmM6ODIKKyM6IHNpZ2xpc3QuYzo4MwogbXNnaWQgIkZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiIKIG1zZ3N0ciAiVsO9amlta2EgcMWZaSBwcsOhY2kgcyBwb2h5Ymxpdm91IMWZw6Fkb3ZvdSDEjcOhcmtvdSIKIAotIzogc2lnbGlzdC5jOjg2CisjOiBzaWdsaXN0LmM6ODcKIG1zZ2lkICJLaWxsZWQiCiBtc2dzdHIgIlphYml0IgogCi0jOiBzaWdsaXN0LmM6OTAKKyM6IHNpZ2xpc3QuYzo5MQogbXNnaWQgIkJ1cyBlcnJvciIKIG1zZ3N0ciAiQ2h5YmEgc2LEm3JuaWNlIgogCi0jOiBzaWdsaXN0LmM6OTQKKyM6IHNpZ2xpc3QuYzo5NQogbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKIG1zZ3N0ciAiQ2h5YmEgc2VnbWVudGFjZSIKIAotIzogc2lnbGlzdC5jOjk4CisjOiBzaWdsaXN0LmM6OTkKIG1zZ2lkICJCYWQgc3lzdGVtIGNhbGwiCiBtc2dzdHIgIsWgcGF0bsOpIHZvbMOhbsOtIHN5c3TDqW11IgogCi0jOiBzaWdsaXN0LmM6MTAyCisjOiBzaWdsaXN0LmM6MTAzCiBtc2dpZCAiQnJva2VuIHBpcGUiCiBtc2dzdHIgIlrCoHJvdXJ5IG5pa2RvIG5lxI10ZSIKIAotIzogc2lnbGlzdC5jOjEwNgorIzogc2lnbGlzdC5jOjEwNwogbXNnaWQgIkFsYXJtIGNsb2NrIgogbXNnc3RyICJTaWduw6FsIMSNYXNvdmHEjWUiCiAKLSM6IHNpZ2xpc3QuYzoxMTAKKyM6IHNpZ2xpc3QuYzoxMTEKIG1zZ2lkICJUZXJtaW5hdGVkIgogbXNnc3RyICJVa29uxI1pdCIKIAotIzogc2lnbGlzdC5jOjExNAorIzogc2lnbGlzdC5jOjExNQogbXNnaWQgIlVyZ2VudCBJTyBjb25kaXRpb24iCiBtc2dzdHIgIsSMZWthasOtIHVyZ2VudG7DrSBJL08gZGF0YSIKIAotIzogc2lnbGlzdC5jOjExOAorIzogc2lnbGlzdC5jOjExOQogbXNnaWQgIlN0b3BwZWQgKHNpZ25hbCkiCiBtc2dzdHIgIlBvemFzdGF2ZW5vIChzaWduw6FsZW0pIgogCi0jOiBzaWdsaXN0LmM6MTI2CisjOiBzaWdsaXN0LmM6MTI3CiBtc2dpZCAiQ29udGludWUiCiBtc2dzdHIgIlBva3JhxI1vdmF0IgogCi0jOiBzaWdsaXN0LmM6MTM0CisjOiBzaWdsaXN0LmM6MTM1CiBtc2dpZCAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKIG1zZ3N0ciAiUG90b21layBieWwgcG96YXN0YXZlbiBuZWJvIHplbcWZZWwiCiAKLSM6IHNpZ2xpc3QuYzoxMzgKKyM6IHNpZ2xpc3QuYzoxMzkKIG1zZ2lkICJTdG9wcGVkICh0dHkgaW5wdXQpIgogbXNnc3RyICJQb3phc3RhdmVubyAodnN0dXBlbSBUVFkpIgogCi0jOiBzaWdsaXN0LmM6MTQyCisjOiBzaWdsaXN0LmM6MTQzCiBtc2dpZCAiU3RvcHBlZCAodHR5IG91dHB1dCkiCiBtc2dzdHIgIlBvemFzdGF2ZW5vICh2w71zdHVwZW0gbmEgVFRZKSIKIAotIzogc2lnbGlzdC5jOjE0NgorIzogc2lnbGlzdC5jOjE0NwogbXNnaWQgIkkvTyByZWFkeSIKIG1zZ3N0ciAiSS9PIGplIHDFmWlwcmF2ZW5vIgogCi0jOiBzaWdsaXN0LmM6MTUwCisjOiBzaWdsaXN0LmM6MTUxCiBtc2dpZCAiQ1BVIGxpbWl0IgogbXNnc3RyICJEb3Nhxb5lbiBsaW1pdCBwcm9jZXNvcm92w6lobyDEjWFzdSIKIAotIzogc2lnbGlzdC5jOjE1NAorIzogc2lnbGlzdC5jOjE1NQogbXNnaWQgIkZpbGUgbGltaXQiCiBtc2dzdHIgIkRvc2HFvmVuIGxpbWl0IHZlbGlrb3N0aSBzb3Vib3J1IgogCi0jOiBzaWdsaXN0LmM6MTU4CisjOiBzaWdsaXN0LmM6MTU5CiBtc2dpZCAiQWxhcm0gKHZpcnR1YWwpIgogbXNnc3RyICLEjGFzb3ZhxI0gKHZpcnR1w6FsbsOtKSIKIAotIzogc2lnbGlzdC5jOjE2MgorIzogc2lnbGlzdC5jOjE2MwogbXNnaWQgIkFsYXJtIChwcm9maWxlKSIKIG1zZ3N0ciAixIxhc292YcSNIChwcm9maWxvdmFjw60pIgogCi0jOiBzaWdsaXN0LmM6MTY2CisjOiBzaWdsaXN0LmM6MTY3CiBtc2dpZCAiV2luZG93IGNoYW5nZWQiCiBtc2dzdHIgIlptxJtuYSBva25hIgogCi0jIEZJWE1FOiBXVEY/Ci0jIOKAnlrDoW1layB6w6F6bmFtdeKAnCBuZWJvIOKAnlphem5hbWVuZWogesOhbWVr4oCcCi0jOiBzaWdsaXN0LmM6MTcwCi0jLCBmdXp6eQorIyBYWFg6IFNJR0xPU1QKKyM6IHNpZ2xpc3QuYzoxNzEKIG1zZ2lkICJSZWNvcmQgbG9jayIKIG1zZ3N0ciAiWsOhbWVrIHrDoXpuYW11IgogCi0jOiBzaWdsaXN0LmM6MTc0CisjOiBzaWdsaXN0LmM6MTc1CiBtc2dpZCAiVXNlciBzaWduYWwgMSIKIG1zZ3N0ciAiVcW+aXZhdGVsc2vDvSBzaWduYWwgMSIKIAotIzogc2lnbGlzdC5jOjE3OAorIzogc2lnbGlzdC5jOjE3OQogbXNnaWQgIlVzZXIgc2lnbmFsIDIiCiBtc2dzdHIgIlXFvml2YXRlbHNrw70gc2lnbsOhbCAyIgogCiAjIEZJWE1FOiBIRlQgem5hbWVuw6EgSGlnaCBGcmVxdWVuY3kgVGltZXI/IFprb250cm9sb3ZhdCBpIGRhbMWhw60gdsO9c2t5dHkKLSM6IHNpZ2xpc3QuYzoxODIKKyM6IHNpZ2xpc3QuYzoxODMKIG1zZ2lkICJIRlQgaW5wdXQgZGF0YSBwZW5kaW5nIgogbXNnc3RyICJ2c3R1cG7DrSBkYXRhIEhGVCDEjWVrYWrDrSIKIAotIzogc2lnbGlzdC5jOjE4NgorIzogc2lnbGlzdC5jOjE4NwogbXNnaWQgInBvd2VyIGZhaWx1cmUgaW1taW5lbnQiCiBtc2dzdHIgImhyb3rDrSBzZWxow6Fuw60gbmFww6FqZW7DrSIKIAotIzogc2lnbGlzdC5jOjE5MAorIzogc2lnbGlzdC5jOjE5MQogbXNnaWQgInN5c3RlbSBjcmFzaCBpbW1pbmVudCIKIG1zZ3N0ciAiaHJvesOtIHNlbGjDoW7DrSBzeXN0w6ltdSIKIAotIzogc2lnbGlzdC5jOjE5NAorIzogc2lnbGlzdC5jOjE5NQogbXNnaWQgIm1pZ3JhdGUgcHJvY2VzcyB0byBhbm90aGVyIENQVSIKIG1zZ3N0ciAicMWZZXN1bm91dCBwcm9jZXMgbmEgamluw70gcHJvY2Vzb3IiCiAKLSM6IHNpZ2xpc3QuYzoxOTgKKyM6IHNpZ2xpc3QuYzoxOTkKIG1zZ2lkICJwcm9ncmFtbWluZyBlcnJvciIKIG1zZ3N0ciAiY2h5YmEgcHJvZ3JhbW92w6Fuw60iCiAKLSM6IHNpZ2xpc3QuYzoyMDIKKyM6IHNpZ2xpc3QuYzoyMDMKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIGdyYW50ZWQiCiBtc2dzdHIgIlJlxb5pbSBIRlQgc2xlZG92w6Fuw60gcMWZaWTEm2xlbiIKIAotIzogc2lnbGlzdC5jOjIwNgorIzogc2lnbGlzdC5jOjIwNwogbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgcmV0cmFjdGVkIgogbXNnc3RyICJSZcW+aW0gSEZUIHNsZWRvdsOhbsOtIG9kZWJyw6FuIgogCi0jOiBzaWdsaXN0LmM6MjEwCisjOiBzaWdsaXN0LmM6MjExCiBtc2dpZCAiSEZUIHNvdW5kIHNlcXVlbmNlIGhhcyBjb21wbGV0ZWQiCiBtc2dzdHIgIkhGVCB6dnVrb3bDoSBwb3Nsb3Vwbm9zdCBieWxhIGRva29uxI1lbmEiCiAKLSM6IHNpZ2xpc3QuYzoyMTQKKyM6IHNpZ2xpc3QuYzoyMTUKIG1zZ2lkICJJbmZvcm1hdGlvbiByZXF1ZXN0IgogbXNnc3RyICJQb8W+YWRhdmVrIG/CoGluZm9ybWFjaSIKIAotIzogc2lnbGlzdC5jOjIyMgorIzogc2lnbGlzdC5jOjIyMwogbXNnaWQgIlVua25vd24gU2lnbmFsICMiCiBtc2dzdHIgIk5lem7DoW3DqSDEjcOtc2xvIHNpZ27DoWx1IgogCi0jOiBzaWdsaXN0LmM6MjI0CisjOiBzaWdsaXN0LmM6MjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKIG1zZ3N0ciAiTmV6bsOhbcO9IHNpZ27DoWwgxI0u4oCvJWQiCiAKLSM6IHN1YnN0LmM6MTE4MSBzdWJzdC5jOjEzMDIKKyM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgogbXNnc3RyICJjaHlibsOhIHN1YnN0aXR1Y2U6IHbCoCUyJHMgY2h5YsOtIHV6YXbDrXJhY8OtIOKAniUxJHPigJwiCiAKLSM6IHN1YnN0LmM6MjQ1OAorIzogc3Vic3QuYzoyNzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogbXNnc3RyICIlczogc2V6bmFtIG5lbHplIHDFmWnFmWFkaXQgZG8gcHJ2a3UgcG9sZSIKIAotIzogc3Vic3QuYzo0NDU2IHN1YnN0LmM6NDQ3MgorIzogc3Vic3QuYzo0NzU0IHN1YnN0LmM6NDc3MAogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJuZWx6ZSB2eXJvYml0IHJvdXJ1IHphIMO6xI1lbGVtIHN1YnN0aXR1Y2UgcHJvY2VzdSIKIAotIzogc3Vic3QuYzo0NTA0CisjOiBzdWJzdC5jOjQ4MDIKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIm5lbHplIHZ5dHZvxZlpdCBwb3RvbWthIHphIMO6xI1lbGVtIHN1YnN0aXR1Y2UgcHJvY2VzdSIKIAotIzogc3Vic3QuYzo0NTQ5CisjOiBzdWJzdC5jOjQ4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAicG9qbWVub3Zhbm91IHJvdXJ1ICVzIG5lbHplIG90ZXbFmcOtdCBwcm8gxI10ZW7DrSIKIAotIzogc3Vic3QuYzo0NTUxCisjOiBzdWJzdC5jOjQ4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAicG9qbWVub3Zhbm91IHJvdXJ1ICVzIG5lbHplIG90ZXbFmcOtdCBwcm8gesOhcGlzIgogCi0jOiBzdWJzdC5jOjQ1NjkKKyM6IHN1YnN0LmM6NDg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgInBvam1lbm92YW5vdSByb3VydSAlcyBuZWx6ZSB6ZHZvaml0IGpha28gZGVza3JpcHRvciAlZCIKIAotIzogc3Vic3QuYzo0NzY1CisjOiBzdWJzdC5jOjUwNjMKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAibmVsemUgdnl0dm/FmWl0IHJvdXJ1IHBybyBzdWJzdGl0dWNpIHDFmcOta2F6dSIKIAotIzogc3Vic3QuYzo0Nzk5CisjOiBzdWJzdC5jOjUwOTcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIm5lbHplIHZ5dHZvxZlpdCBwb3RvbWthIHBybyBzdWJzdGl0dWNpIHDFmcOta2F6dSIKIAotIzogc3Vic3QuYzo0ODE2CisjOiBzdWJzdC5jOjUxMTQKIG1zZ2lkICJjb21tYW5kX3N1YnN0aXR1dGU6IGNhbm5vdCBkdXBsaWNhdGUgcGlwZSBhcyBmZCAxIgogbXNnc3RyICJjb21tYW5kX3N1YnN0aXR1dGU6IHJvdXJ1IG5lbHplIHpkdm9qaXQgamFrbyBkZXNrcmlwdG9yIDEiCiAKLSM6IHN1YnN0LmM6NTMxOAorIzogc3Vic3QuYzo1NjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXJhbWV0ZXIgbnVsbCBvciBub3Qgc2V0IgogbXNnc3RyICIlczogcGFyYW1ldHIgbnVsbCBuZWJvIG5lbmFzdGF2ZW4iCiAKLSM6IHN1YnN0LmM6NTYwOAorIzogc3Vic3QuYzo1OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiBtc2dzdHIgIiVzOiB2w71yYXogcG9kxZlldMSbemNlIDwgMCIKIAotIzogc3Vic3QuYzo2NjYwCisjOiBzdWJzdC5jOjY5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiVzOiBjaHlibsOhIHN1YnN0aXR1Y2UiCiAKLSM6IHN1YnN0LmM6Njc0MAorIzogc3Vic3QuYzo3MDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJCVzOiB0YWt0byBuZWx6ZSBwxZlpxZlhem92YXQiCiAKLSM6IHN1YnN0LmM6NzQ5OQorIzogc3Vic3QuYzo3Mzc0Cittc2dpZCAiIgorImZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGUgc2hlbGwgd2lsbCBmb3JjZSBldmFsdWF0aW9uIGFzIGFuIGFyaXRobWV0aWMgIgorInN1YnN0aXR1dGlvbiIKK21zZ3N0ciAiIgorCisjOiBzdWJzdC5jOjc4MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBcImBcIiBpbiAlcyIKIG1zZ3N0ciAiY2h5Ym7DoSBzdWJzdGl0dWNlOiB2wqAlcyBjaHliw60gdXphdsOtcmFjw60g4oCeYOKAnCIKIAotIzogc3Vic3QuYzo4Mzc1CisjOiBzdWJzdC5jOjg3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICLFvsOhZG7DoSBzaG9kYTogJXMiCiAKLSM6IHRlc3QuYzoxNDUKKyM6IHRlc3QuYzoxNDYKIG1zZ2lkICJhcmd1bWVudCBleHBlY3RlZCIKIG1zZ3N0ciAib8SNZWvDoXbDoW4gYXJndW1lbnQiCiAKLSM6IHRlc3QuYzoxNTQKKyM6IHRlc3QuYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludGVnZXIgZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IG/EjWVrw6F2w6FuIGNlbG/EjcOtc2VsbsO9IHbDvXJheiIKIAotIzogdGVzdC5jOjI2MgorIzogdGVzdC5jOjI2MwogbXNnaWQgImApJyBleHBlY3RlZCIKIG1zZ3N0ciAib8SNZWvDoXbDoW5hIOKAninigJwiCiAKLSM6IHRlc3QuYzoyNjQKKyM6IHRlc3QuYzoyNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCknIGV4cGVjdGVkLCBmb3VuZCAlcyIKIG1zZ3N0ciAib8SNZWvDoXbDoW5hIOKAninigJwsIG5hbGV6ZW5vICVzIgogCi0jOiB0ZXN0LmM6Mjc5IHRlc3QuYzo2ODggdGVzdC5jOjY5MQorIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogb8SNZWvDoXbDoW4gdW7DoXJuw60gb3BlcsOhdG9yIgogCi0jOiB0ZXN0LmM6NDQ0IHRlc3QuYzo3MzEKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjczNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogb8SNZWvDoXbDoW4gYmluw6FybsOtIG9wZXLDoXRvciIKIAotIzogdGVzdC5jOjgwNgorIzogdGVzdC5jOjgxMQogbXNnaWQgIm1pc3NpbmcgYF0nIgogbXNnc3RyICJwb3N0csOhZMOhbSDigJ5d4oCcIgogCi0jOiB0cmFwLmM6MjAxCisjOiB0cmFwLmM6MjAzCiBtc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgogbXNnc3RyICJuZXBsYXRuw6kgxI3DrXNsbyBzaWduw6FsdSIKIAotIzogdHJhcC5jOjMyNAorIzogdHJhcC5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogbXNnc3RyICJydW5fcGVuZGluZ190cmFwczogY2h5Ym7DoSBob2Rub3RhIHbCoHRyYXBfbGlzdFslZF06ICVwIgogCi0jOiB0cmFwLmM6MzI4CisjOiB0cmFwLmM6MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgogbXNnc3RyICJydW5fcGVuZGluZ190cmFwczogb2JzbHVoYSBzaWduw6FsdSBqZSBTSUdfREZMLCBwxZllcG9zw61sw6FtICVkICglcykgc29ixJsiCiAKLSM6IHRyYXAuYzozNzIKKyM6IHRyYXAuYzozODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhcF9oYW5kbGVyOiBiYWQgc2lnbmFsICVkIgogbXNnc3RyICJ0cmFwX2hhbmRsZXI6IGNoeWJuw70gc2lnbsOhbCAlZCIKIAotIzogdmFyaWFibGVzLmM6MzU4CisjOiB2YXJpYWJsZXMuYzozNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIGAlcyciCiBtc2dzdHIgImNoeWJhIHDFmWkgaW1wb3J0dSBkZWZpbmljZSDigJ4lc+KAnCIKIAotIzogdmFyaWFibGVzLmM6NzM2CisjOiB2YXJpYWJsZXMuYzo3NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCiBtc2dzdHIgIsO6cm92ZcWIIHNoZWxsdSAoJWQpIHDFmcOtbGnFoSB2eXNva8OhLCByZXNldHVqaSBuYSAxIgogCi0jOiB2YXJpYWJsZXMuYzoxODk4CisjOiB2YXJpYWJsZXMuYzoxOTE1CiBtc2dpZCAibWFrZV9sb2NhbF92YXJpYWJsZTogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiDFvsOhZG7DvSBrb250ZXh0IGZ1bmtjZSB2wqBha3R1w6FsbsOtbSByb3pzYWh1IgogCi0jOiB2YXJpYWJsZXMuYzozMTI3CisjOiB2YXJpYWJsZXMuYzozMTU5CiBtc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICJhbGxfbG9jYWxfdmFyaWFibGVzOiDFvsOhZG7DvSBrb250ZXh0IGZ1bmtjZSB2wqBha3R1w6FsbsOtbSByb3pzYWh1IgogCi0jOiB2YXJpYWJsZXMuYzozMzQ0IHZhcmlhYmxlcy5jOjMzNTMKKyM6IHZhcmlhYmxlcy5jOjMzNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKK21zZ3N0ciAiJXM6IHBhcmFtZXRyIG51bGwgbmVibyBuZW5hc3RhdmVuIgorCisjOiB2YXJpYWJsZXMuYzozMzgxIHZhcmlhYmxlcy5jOjMzOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAibmVwbGF0bsO9IHpuYWsgJWQgdsKgZXhwb3J0c3RyIHBybyAlcyIKIAotIzogdmFyaWFibGVzLmM6MzM1OQorIzogdmFyaWFibGVzLmM6MzM5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBgPScgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAidsKgZXhwb3J0c3RyIHBybyAlcyBjaHliw60g4oCePeKAnCIKIAotIzogdmFyaWFibGVzLmM6Mzc5NAorIzogdmFyaWFibGVzLmM6MzgzNQogbXNnaWQgInBvcF92YXJfY29udGV4dDogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgZnVuY3Rpb24gY29udGV4dCIKIG1zZ3N0ciAicG9wX3Zhcl9jb250ZXh0OiBobGF2YSBzaGVsbF92YXJpYWJsZXMgbmVuw60ga29udGV4dGVtIGZ1bmtjZSIKIAotIzogdmFyaWFibGVzLmM6MzgwNworIzogdmFyaWFibGVzLmM6Mzg0OAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogbXNnc3RyICJwb3BfdmFyX2NvbnRleHQ6IGNoeWLDrSBrb250ZXh0IGdsb2JhbF92YXJpYWJsZXMiCiAKLSM6IHZhcmlhYmxlcy5jOjM4ODEKKyM6IHZhcmlhYmxlcy5jOjM5MjIKIG1zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKIG1zZ3N0ciAicG9wX3Njb3BlOiBobGF2YSBzaGVsbF92YXJpYWJsZXMgbmVuw60gZG/EjWFzbsO9bSByb3pzYWhlbSBwcm9zdMWZZWTDrSIKIAorIzogdmFyaWFibGVzLmM6NDY3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIgorbXNnc3RyICIlczogbmVsemUgb3RldsWZw610OiAlcyIKKworIzogdmFyaWFibGVzLmM6NDY4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiVkOiBuZXBsYXRuw70gZGVza3JpcHRvciBzb3Vib3J1OiAlcyIKKwogIzogdmVyc2lvbi5jOjQ2Ci0jLCBmdXp6eQogbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCi1tc2dzdHIgIkNvcHlyaWdodCDCqcKgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCittc2dzdHIgIkNvcHlyaWdodCDCqcKgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCiAKICM6IHZlcnNpb24uYzo0NwogbXNnaWQgIiIKQEAgLTE4NTAsNjEgKzE5MzcsNTUgQEAKICJMaWNlbmNlIEdQTHYzKzogR05VIEdQTCB2ZXJ6ZSAzIG5lYm8gbm92xJtqxaHDrSA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKICJodG1sPlxuIgogCi0jOiB2ZXJzaW9uLmM6ODYKKyM6IHZlcnNpb24uYzo4NiB2ZXJzaW9uMi5jOjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkdOVSBiYXNoLCB2ZXJzaW9uICVzICglcylcbiIKIG1zZ3N0ciAiR05VIGJhc2gsIHZlcnplICVzICglcylcbiIKIAotIzogdmVyc2lvbi5jOjkxCisjOiB2ZXJzaW9uLmM6OTEgdmVyc2lvbjIuYzo4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC5cbiIKIG1zZ3N0ciAiVG90byBqZSBzdm9ib2Ruw6kgcHJvZ3JhbW92w6kgdnliYXZlbsOtOiBtw6F0ZSBwcsOhdm8gamVqIG3Em25pdCBhIMWhw63FmWl0LlxuIgogCi0jOiB2ZXJzaW9uLmM6OTIKKyM6IHZlcnNpb24uYzo5MiB2ZXJzaW9uMi5jOjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuXG4iCiBtc2dzdHIgIlZFxaBLRVLDiSBaw4FSVUtZIGNoeWLDrSwgamFrIGplbiB6w6Frb24gZG92b2x1amUuXG4iCiAKLSM6IHhtYWxsb2MuYzo5MgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyM6IHZlcnNpb24yLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKK21zZ3N0ciAiQ29weXJpZ2h0IMKpwqAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKKworIzogdmVyc2lvbjIuYzo4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkxpY2Vuc2UgR1BMdjIrOiBHTlUgR1BMIHZlcnNpb24gMiBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKKyJodG1sPlxuIgorbXNnc3RyICIiCisiTGljZW5jZSBHUEx2Mys6IEdOVSBHUEwgdmVyemUgMyBuZWJvIG5vdsSbasWhw60gPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiaHRtbD5cbiIKKworIzogeG1hbGxvYy5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiBtc2dzdHIgInhtYWxsb2M6IG5lbHplIGFsb2tvdmF0ICUnbHUgYmFqdMWvICglJ2x1IGJhanTFryBhbG9rb3bDoW5vKSIKIAotIzogeG1hbGxvYy5jOjk0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCisjOiB4bWFsbG9jLmM6OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgogbXNnc3RyICJ4bWFsbG9jOiBuZXpsZSBhbG9rb3ZhdCAlJ2x1IGJhanTFryIKIAotIzogeG1hbGxvYy5jOjExNAotIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAieHJlYWxsb2M6IG5lbHplIHDFmWVhbG9rb3ZhdCAlJ2x1IGJhanTFryAoJSdsdSBiYWp0xa8gYWxva292w6FubykiCi0KLSM6IHhtYWxsb2MuYzoxMTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhyZWFsbG9jOiBuZWx6ZSBhbG9rb3ZhdCAlJ2x1IGJhanTFryIKLQotIzogeG1hbGxvYy5jOjE1MAotIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjOiB4bWFsbG9jLmM6MTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgogbXNnc3RyICJ4bWFsbG9jOiAlczolZDogbmVsemUgYWxva292YXQgJSdsdSBiYWp0xa8gKCUnbHUgYmFqdMWvIGFsb2tvdsOhbm8pIgogCi0jOiB4bWFsbG9jLmM6MTUyCi0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorIzogeG1hbGxvYy5jOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgogbXNnc3RyICJ4bWFsbG9jOiAlczolZDogbmVsemUgYWxva292YXQgJSdsdSBiYWp0xa8iCiAKLSM6IHhtYWxsb2MuYzoxNzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IG5lbHplIHDFmWVhbG9rb3ZhdCAlJ2x1IGJhanTFryAoJSdsdSBiYWp0xa8gYWxva292w6FubykiCi0KLSM6IHhtYWxsb2MuYzoxNzYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IG5lbHplIGFsb2tvdmF0ICUnbHUgYmFqdMWvIgotCiAjOiBidWlsdGlucy5jOjQzCiBtc2dpZCAiYWxpYXMgWy1wXSBbbmFtZVs9dmFsdWVdIC4uLiBdIgogbXNnc3RyICJhbGlhcyBbLXBdIFtuw6F6ZXZbPWhvZG5vdGFdIOKApl0iCkBAIC0yMDI0LDcgKzIxMDUsOCBAQAogbXNnc3RyICJoYXNoIFstbHJdIFstcCBuw6F6ZXZfY2VzdHldIFstZHRdIFtuw6F6ZXbigKZdIgogCiAjOiBidWlsdGlucy5jOjExNwotbXNnaWQgImhlbHAgWy1kc10gW3BhdHRlcm4gLi4uXSIKKyMsIGZ1enp5Cittc2dpZCAiaGVscCBbLWRtc10gW3BhdHRlcm4gLi4uXSIKIG1zZ3N0ciAiaGVscCBbLWRzXSBbdnpvcmVr4oCmXSIKIAogIzogYnVpbHRpbnMuYzoxMjEKQEAgLTIwNTUsOSArMjEzNywxMCBAQAogbXNnc3RyICJsZXQgYXJndW1lbnQgW2FyZ3VtZW504oCmXSIKIAogIzogYnVpbHRpbnMuYzoxMzYKKyMsIGZ1enp5CiBtc2dpZCAiIgotInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1wIHByb21wdF0gWy10ICIKLSJ0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCisicmVhZCBbLWVyc10gWy1hIGFycmF5XSBbLWQgZGVsaW1dIFstaSB0ZXh0XSBbLW4gbmNoYXJzXSBbLU4gbmNoYXJzXSBbLXAgIgorInByb21wdF0gWy10IHRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgogInJlYWQgWy1lcnNdIFstYSBwb2xlXSBbLWQgb2RkxJtsb3ZhxI1dIFstaSB0ZXh0XSBbLW4gcF96bmFrxa9dIFstcCB2w716dmFdIFstdCAiCiAibGltaXRdIFstdSBmZF0gW2ptw6lub+KApl0iCkBAIC0yMTcyLDcgKzIyNTUsNyBAQAogCiAjOiBidWlsdGlucy5jOjE5OAogbXNnaWQgImNvcHJvYyBbTkFNRV0gY29tbWFuZCBbcmVkaXJlY3Rpb25zXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJjb21tYW5kIFtOw4FaRVZdIHDFmcOta2F6IFtwxZllc23Em3JvdsOhbsOtXSIKIAogIzogYnVpbHRpbnMuYzoyMDAKIG1zZ2lkICJmdW5jdGlvbiBuYW1lIHsgQ09NTUFORFMgOyB9IG9yIG5hbWUgKCkgeyBDT01NQU5EUyA7IH0iCkBAIC0yMjIwLDEwICsyMzAzLDExIEBACiBtc2dzdHIgInByaW50ZiBbLXYgcHJvbcSbbm7DoV0gZm9ybcOhdCBbYXJndW1lbnR5XSIKIAogIzogYnVpbHRpbnMuYzoyMjkKKyMsIGZ1enp5CiBtc2dpZCAiIgotImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy1XICIKLSJ3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyBzdWZmaXhdICIKLSJbbmFtZSAuLi5dIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy0iCisiVyB3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyAiCisic3VmZml4XSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCiAiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstbyBwxZllcMOtbmHEjV0gWy1BIGFrY2VdIFstRyBnbG9idnpvcl0gWy1XICIKICJzZXpuYW1fc2xvdl0gIFstRiBmdW5rY2VdIFstQyBwxZnDrWthel0gWy1YIGZpbHRydnpvcl0gWy1QIHDFmWVkcG9uYV0gWy1TICIKQEAgLTIyMzksOCArMjMyMyw5IEBACiAicMWZw61wb25hXSBbc2xvdm9dIgogCiAjOiBidWlsdGlucy5jOjIzNwotbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gW25hbWUgLi4uXSIKLW1zZ3N0ciAiY29tcG9wdCBbLW98K28gcMWZZXDDrW5hxI1dIFtuw6F6ZXbigKZdIgorIywgZnV6enkKK21zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFstREVdIFtuYW1lIC4uLl0iCittc2dzdHIgImNvbXBvcHQgWy1vfCtvIG1vxb5ub3N0XSBbbsOhemV24oCmXSIKIAogIzogYnVpbHRpbnMuYzoyNDAKIG1zZ2lkICIiCkBAIC0yMjUxLDEyICsyMzM2LDExIEBACiAibW5vxb5zdHbDrV0gW3BvbGVdIgogCiAjOiBidWlsdGlucy5jOjI0MgotIywgZnV6enkKIG1zZ2lkICIiCiAicmVhZGFycmF5IFstbiBjb3VudF0gWy1PIG9yaWdpbl0gWy1zIGNvdW50XSBbLXRdIFstdSBmZF0gWy1DIGNhbGxiYWNrXSBbLWMgIgogInF1YW50dW1dIFthcnJheV0iCiBtc2dzdHIgIiIKLSJtYXBmaWxlIFstbiBwb8SNZXRdIFstTyBwb8SNw6F0ZWtdIFstcyBwb8SNZXRdIFstdF0gWy11IGZkXSBbLUMgdm9sw6Fuw61dIFstYyAiCisicmVhZGFycmF5IFstbiBwb8SNZXRdIFstTyBwb8SNw6F0ZWtdIFstcyBwb8SNZXRdIFstdF0gWy11IGZkXSBbLUMgdm9sw6Fuw61dIFstYyAiCiAibW5vxb5zdHbDrV0gW3BvbGVdIgogCiAjOiBidWlsdGlucy5jOjI1NApAQCAtMzUyMyw3ICszNjA3LDExIEBACiAiICAgICAgLWVcdFx0dXNlIFJlYWRsaW5lIHRvIG9idGFpbiB0aGUgbGluZSBpbiBhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgogIiAgICAgIC1pIHRleHRcdFVzZSBURVhUIGFzIHRoZSBpbml0aWFsIHRleHQgZm9yIFJlYWRsaW5lXG4iCiAiICAgICAgLW4gbmNoYXJzXHRyZXR1cm4gYWZ0ZXIgcmVhZGluZyBOQ0hBUlMgY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3YWl0aW5nXG4iCi0iICAgIFx0XHRmb3IgYSBuZXdsaW5lXG4iCisiICAgIFx0XHRmb3IgYSBuZXdsaW5lLCBidXQgaG9ub3IgYSBkZWxpbWl0ZXIgaWYgZmV3ZXIgdGhhbiBOQ0hBUlNcbiIKKyIgICAgXHRcdGNoYXJhY3RlcnMgYXJlIHJlYWQgYmVmb3JlIHRoZSBkZWxpbWl0ZXJcbiIKKyIgICAgICAtTiBuY2hhcnNcdHJldHVybiBvbmx5IGFmdGVyIHJlYWRpbmcgZXhhY3RseSBOQ0hBUlMgY2hhcmFjdGVycywgIgorInVubGVzc1xuIgorIiAgICBcdFx0RU9GIGlzIGVuY291bnRlcmVkIG9yIHJlYWQgdGltZXMgb3V0LCBpZ25vcmluZyBhbnkgZGVsaW1pdGVyXG4iCiAiICAgICAgLXAgcHJvbXB0XHRvdXRwdXQgdGhlIHN0cmluZyBQUk9NUFQgd2l0aG91dCBhIHRyYWlsaW5nIG5ld2xpbmUgYmVmb3JlXG4iCiAiICAgIFx0XHRhdHRlbXB0aW5nIHRvIHJlYWRcbiIKICIgICAgICAtclx0XHRkbyBub3QgYWxsb3cgYmFja3NsYXNoZXMgdG8gZXNjYXBlIGFueSBjaGFyYWN0ZXJzXG4iCkBAIC0zNTQyLDEwICszNjMwLDEwIEBACiAib3V0LFxuIgogIiAgICBvciBhbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBpcyBzdXBwbGllZCBhcyB0aGUgYXJndW1lbnQgdG8gLXUuIgogbXNnc3RyICIiCi0iTmHEjXRlIHplIHN0YW5kYXJkbsOtaG8gdnN0dXB1IGplZGVuIMWZw6FkZWsgYSByb3pkxJtsw60gamVqIG5hIHBvbGUuXG4iCisiTmHEjXRlIHplIHN0YW5kYXJkbsOtaG8gdnN0dXB1IGplZGVuIMWZw6FkZWsgYSByb3pkxJtsw60gamVqIG5hIHBvbG/FvnkuXG4iCiAiICAgIFxuIgogIiAgICBaZSBzdGFuZGFyZG7DrWhvIHZzdHVwdSwgbmVibyBkZXNrcmlwdG9ydSBzb3Vib3J1IEZELCBqZS1saSB6YWTDoW5cbiIKLSIgICAgcMWZZXDDrW5hxI0gLXUsIGplIG5hxI10ZW4gamVkZW4gxZnDoWRlay4gxZjDoWRlayBzZSByb3pkxJtsw60gYmEgcG9sZSBqYWtvIHDFmWlcbiIKKyIgICAgcMWZZXDDrW5hxI0gLXUsIGplIG5hxI10ZW4gamVkZW4gxZnDoWRlay4gxZjDoWRlayBzZSByb3pkxJtsw60gbmEgxI3DoXN0aSBqYWtvIHDFmWlcbiIKICIgICAgZMSbbGVuw60gbmEgc2xvdmEgYSBwcnZuw60gc2xvdm8gamUgcMWZacWZYXplbm8gZG8gcHJ2bsOtaG8gSk3DiU5BLCBkcnVow6kgIgogInNsb3ZvXG4iCiAiICAgIGRvIGRydWjDqWhvIEpNw4lOQSBhIHRhayBkw6FsZSwgcMWZacSNZW3FviBwxZllYsO9dmFqw61jw60gc2xvdmEgc2UgcMWZacWZYWTDrSBkb1xuIgpAQCAtMzU1OCwyMSArMzY0NiwyMiBAQAogIiAgICBQxZllcMOtbmHEjWU6XG4iCiAiICAgICAgLWEgcG9sZVx0bmHEjXRlbsOhIHNsb3ZhIGJ1ZG91IHDFmWnFmWF6ZW5hIGRvIHBvc3R1cG7DvWNoIHBydmvFryBQT0xFXG4iCiAiICAgIFx0XHRwb8SNw61uYWplIG51bG91XG4iCi0iICAgICAgLWQgb2RkxJtsb3ZhxI1cdHBva3JhxI11amUsIGRva3VkIHNlIG5lbsOtIG5hxI10ZW4gcHJ2bsOtIHpuYWsgT0RExJpMT1ZBxIxFXG4iCisiICAgICAgLWQgb2RkxJtsb3ZhxI1cdHBva3JhxI11amUsIGRva3VkIG5lbsOtIG5hxI10ZW4gcHJ2bsOtIHpuYWsgT0RExJpMT1ZBxIxFXG4iCiAiICAgIFx0XHRuYW3DrXN0byBub3bDqWhvIMWZw6Fka3VcbiIKICIgICAgICAtZVx0XHR2wqBpbnRlcmFrdGl2bsOtbSBzaGVsbHUgYnVkZSDFmcOhZGVrIG5hxI10ZW4gcG9tb2PDrSBSZWFkbGluZVxuIgogIiAgICAgIC1pIHRleHRcdHBvdcW+aWplIFRFWFQgamFrbyBwcnZvdG7DrSB0ZXh0IHBybyBSZWFkbGluZVxuIgogIiAgICAgIC1uIHBfem5ha8WvXHR2csOhdMOtIMWZw616ZW7DrSBwbyBuYcSNdGVuw60gUF9aTkFLxa4gem5ha8WvLCBhbmnFviBieSDEjWVrYWwgbmFcbiIKICIgICAgXHRcdG5vdsO9IMWZw6FkZWtcbiIKLSIgICAgICAtcCB2w716dmFcdHZ5cMOtxaFlIMWZZXTEm3plYyBWw51aVkEgYmV6IHrDoXbEm3JlxI1uw6lobyBub3bDqWhvIMWZw6Fka3UsXG4iCi0iICAgIFx0XHRkxZnDrXZlIG5lxb4gc2UgemFow6Fqw60gbmHEjcOtdMOhbsOtXG4iCisiICAgICAgLXAgdsO9enZhXHR2eXDDrcWhZSDFmWV0xJt6ZWMgVsOdWlZBIGJleiB6w6F2xJtyZcSNbsOpaG8gbm92w6lobyDFmcOhZGt1IGTFmcOtdmUsXG4iCisiICAgIFx0XHRuZcW+IHNlIHphaMOhasOtIG5hxI3DrXTDoW7DrVxuIgogIiAgICAgIC1yXHRcdG5lcG92b2zDrSB6cMSbdG7DoSBsb23DrXRrYSBwcm8gZXNjYXBvdsOhbsOtIGpha8O9Y2hrb2xpdiB6bmFrxa9cbiIKICIgICAgICAtc1x0XHR2c3R1cCBwb2Now6F6ZWrDrWPDrSB6wqB0ZXJtaW7DoWx1IG5lYnVkZSB6b2JyYXpvdsOhblxuIgogIiAgICAgIC10IGxpbWl0XHR1bW/Fvm7DrSB2eXByxaFlbsOtIMSNYXNvdsOpaG8gbGltaXR1IGEgdnLDoWNlbsOtIGNoeWJ5LCBwb2t1ZFxuIgogIiAgICBcdFx0bmVidWRlIG5hxI10ZW4gY2Vsw70gxZnDoWRlayBkbyBMSU1JVCBzZWt1bmQuIEhvZG5vdGEgcHJvbcSbbm7DqVxuIgotIiAgICBcdFx0VE1PVVQgcMWZZWRzdGF2dWplIGltcGxpY2l0bsOtIGxpbWl0LiBUSU1FT1VUIHNtw60gYsO9dCBkZXNldGlubsOpXG4iCi0iICAgIFx0XHTEjcOtc2xvLiBOw6F2cmF0b3bDvSBrw7NkIGJ1ZGUgdsSbdMWhw60gbmXFviAxMjgsIHBva3VkIMSNYXNvdsO9IGxpbWl0XG4iCi0iICAgIFx0XHR2eXByxaHDrS5cbiIKKyIgICAgXHRcdFRJTU9VVCBwxZllZHN0YXZ1amUgaW1wbGljaXRuw60gbGltaXQuIFRJTUVPVVQgc23DrSBiw710IGRlc2V0aW5uw6lcbiIKKyIgICAgXHRcdMSNw61zbG8uIEplLWxpIFRJTUVPVVQgMCwgcmVhZCB2csOhdMOtIMO6c3DEm2NoLCBqZW4gYnVkZS1saSBuYSB6YWRhbsOpbVxuIgorIiAgICBcdFx0ZGVza3JpcHRvcnUgc291Ym9ydSBwxZlpcHJhdmVuIHZzdHVwLiBOw6F2cmF0b3bDvSBrw7NkIGJ1ZGUgdsSbdMWhw60gbmXFvlxuIgorIiAgICBcdFx0MTI4LCBwb2t1ZCDEjWFzb3bDvSBsaW1pdCBidWRlIHDFmWVrcm/EjWVuLlxuIgogIiAgICAgIC11IGZkXHRcdMSNdGUgesKgZGVza3JpcHRvcnUgc291Ym9ydSBGRCBuYW3DrXN0byBzdGFuZGFyZG7DrWhvIHZzdHVwdVxuIgogIiAgICBcbiIKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKQEAgLTM1ODAsNyArMzY2OSw3IEBACiAiICAgIHBybyDEjXRlbsOtIG5ldnlwcsWhw60gbmVibyBuZW7DrSBwb3NreXRudXQgbmVwbGF0bsO9IGRlc2tyaXB0b3Igc291Ym9ydSBqYWtvXG4iCiAiICAgIGFyZ3VtZW50IC11LiIKIAotIzogYnVpbHRpbnMuYzoxMDA2CisjOiBidWlsdGlucy5jOjEwMDkKIG1zZ2lkICIiCiAiUmV0dXJuIGZyb20gYSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNjAyLDcgKzM2OTEsNyBAQAogIiAgICBOw6F2cmF0b3bDoSBob2Rub3RhOlxuIgogIiAgICBWcsOhdMOtIE4sIG5lYm8gc2Vsxb5lLCBwb2t1ZCBzaGVsbCBuZXByb3bDoWTDrSBmdW5rY2kgbmVibyBza3JpcHQuIgogCi0jOiBidWlsdGlucy5jOjEwMTkKKyM6IGJ1aWx0aW5zLmM6MTAyMgogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zNzQ4LDcgKzM4MzcsNyBAQAogIiAgICAgICAgICBwxZlpIHDFmWVzbcSbcm92w6Fuw60gdsO9c3R1cHUuXG4iCiAiICAgICAgLUUgIEplLWxpIG5hc3RhdmVubywgdHJhcCBFUlIgKHphY2h5dMOhdsOhbsOtIGNoeWIpIGJ1ZGUgZMSbZMSbbiBkb1xuIgogIiAgICAgICAgICBmdW5rY8OtIHNoZWxsdS5cbiIKLSIgICAgICAtSCAgWmFwbmUgISB6cMWvc29iIG5haHJhem92w6Fuw60gaGlzdG9yZS4gVGVudG8gcMWZw616bmFrIGplIGF1dG9tYXRpY2t5XG4iCisiICAgICAgLUggIFphcG5lICEgenDFr3NvYiBuYWhyYXpvdsOhbsOtIGhpc3RvcmllLiBUZW50byBwxZnDrXpuYWsgamUgYXV0b21hdGlja3lcbiIKICIgICAgICAgICAgemFwbnV0IHDFmWkgaW50ZXJha3Rpdm7DrW0gc2hlbGx1LlxuIgogIiAgICAgIC1QICBKZS1saSBuYXN0YXZlbm8sIG5lYnVkb3UgbsOhc2xlZG92w6FueSBzeW1ib2xpY2vDqSBvZGthenkgcMWZaVxuIgogIiAgICAgICAgICBwcm92w6FkxJtuw60gcMWZw61rYXrFryBqYWtvIHptxJtuYSBwcmFjb3Zuw61obyBhZHJlc8OhxZllIHBvbW9jw60g4oCeY2TigJwuXG4iCkBAIC0zNzY4LDcgKzM4NTcsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWcsOhdMOtIMO6c3DEm2NoLCBwb2t1ZCBuZWJ5bCB6YWTDoW4gbmVwbGF0bsO9IGFyZ3VtZW50LiIKIAotIzogYnVpbHRpbnMuYzoxMTAxCisjOiBidWlsdGlucy5jOjExMDQKIG1zZ2lkICIiCiAiVW5zZXQgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzIG9mIHNoZWxsIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuIgogIiAgICBcbiIKQEAgLTM4MDUsNyArMzg5NCw3IEBACiAiICAgIFZyw6F0w60gw7pzcMSbY2gsIHBva3VkIG5lYnlsIHphZMOhbiBuZXBsYXRuw70gcMWZZXDDrW5hxI0gYSBKTcOJTk8gbmVuw60gamVuIHByb1xuIgogIiAgICDEjXRlbsOtLiIKIAotIzogYnVpbHRpbnMuYzoxMTIxCisjOiBidWlsdGlucy5jOjExMjQKIG1zZ2lkICIiCiAiU2V0IGV4cG9ydCBhdHRyaWJ1dGUgZm9yIHNoZWxsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0zODQwLDcgKzM5MjksNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWcsOhdMOtIMO6c3DEm2NoLCBwb2t1ZCBuZWJ5bCB6YWTDoW4gbmVwbGF0bsO9IHDFmWVww61uYcSNIG5lYm8gTsOBWkVWLiIKIAotIzogYnVpbHRpbnMuYzoxMTQwCisjOiBidWlsdGlucy5jOjExNDMKIG1zZ2lkICIiCiAiTWFyayBzaGVsbCB2YXJpYWJsZXMgYXMgdW5jaGFuZ2VhYmxlLlxuIgogIiAgICBcbiIKQEAgLTM4NzgsNyArMzk2Nyw3IEBACiAiICAgIE7DoXZyYXRvdsO9IGvDs2Q6XG4iCiAiICAgIFZyw6F0w60gw7pzcMSbY2gsIHBva3VkIG5lYnlsIHphZMOhbiBuZXBsYXRuw70gcMWZZXDDrW5hxI0gbmVibyBOw4FaRVYuIgogCi0jOiBidWlsdGlucy5jOjExNjEKKyM6IGJ1aWx0aW5zLmM6MTE2NAogbXNnaWQgIiIKICJTaGlmdCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzg5Niw3ICszOTg1LDcgQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVnLDoXTDrSDDunNwxJtjaCwgcG9rdWQgTiBuZW7DrSB6w6Fwb3Juw70gYSBuZW7DrSB2xJt0xaHDrSBuZcW+ICQjLiIKIAotIzogYnVpbHRpbnMuYzoxMTczIGJ1aWx0aW5zLmM6MTE4OAorIzogYnVpbHRpbnMuYzoxMTc2IGJ1aWx0aW5zLmM6MTE5MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZyb20gYSBmaWxlIGluIHRoZSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTM5MjAsNyArNDAwOSw3IEBACiAiICAgIFZyYWPDrSBuw6F2cmF0b3bDvSBrw7NkIHBvc2xlZG7DrWhvIHByb3ZlZGVuw6lobyBwxZnDrWthenUgesKgTsOBWlZVX1NPVUJPUlUuXG4iCiAiICAgIFNlbMW+ZSwgcG9rdWQgTsOBWkVWX1NPVUJPUlUgbmVsemUgbmHEjcOtc3QuIgogCi0jOiBidWlsdGlucy5jOjEyMDQKKyM6IGJ1aWx0aW5zLmM6MTIwNwogbXNnaWQgIiIKICJTdXNwZW5kIHNoZWxsIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC0zOTQ0LDcgKzQwMzMsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWcmFjw60gw7pzcMSbY2gsIHBva3VkIGplIHNwcsOhdmEgw7psb2ggemFwbnV0YSBhIG5ldnlza3l0bGEgc2UgY2h5YmEuIgogCi0jOiBidWlsdGlucy5jOjEyMjAKKyM6IGJ1aWx0aW5zLmM6MTIyMwogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTQxMDIsNyArNDE5MSw3IEBACiAiICAgIFZyYWPDrSDDunNwxJtjaCwgamUtbGkgVsOdUkFaIHZ5aG9kbm9jZW4gamFrbyBwcmF2ZGl2w70uIFNlbMW+ZSwgamUtbGkgVsOdUkFaXG4iCiAiICAgIHZ5aG9kbm9jZW4gamFrbyBuZXByYXZkaXbDvSBuZWJvIGplLWxpIHphZMOhbiBuZXBsYXRuw70gYXJndW1lbnQuIgogCi0jOiBidWlsdGlucy5jOjEyOTYKKyM6IGJ1aWx0aW5zLmM6MTI5OQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTQxMTQsNyArNDIwMyw3IEBACiAiICAgIFRvdG8gamUgc3lub255bXVtIHBybyB2ZXN0YXbEm27DvSBwxZnDrWtheiDigJ50ZXN04oCcLCBhxb4gbmEgdG8sIMW+ZSBwb3NsZWRuw61cbiIKICIgICAgYXJndW1lbnQgbXVzw60gYsO9dCBkb3Nsb3ZuxJsg4oCeXeKAnCwgYWJ5IHNlIHNob2RvdmFsIHMgb3RldsOtcmFqw61jw60g4oCeW+KAnC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTMwNQorIzogYnVpbHRpbnMuYzoxMzA4CiBtc2dpZCAiIgogIkRpc3BsYXkgcHJvY2VzcyB0aW1lcy5cbiIKICIgICAgXG4iCkBAIC00MTM0LDcgKzQyMjMsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWxb5keSB1c3DEm2plLiIKIAotIzogYnVpbHRpbnMuYzoxMzE3CisjOiBidWlsdGlucy5jOjEzMjAKIG1zZ2lkICIiCiAiVHJhcCBzaWduYWxzIGFuZCBvdGhlciBldmVudHMuXG4iCiAiICAgIFxuIgpAQCAtNDIwNSw3ICs0Mjk0LDcgQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVnLDoXTDrSDDunNwxJtjaCwgcG9rdWQgU0lHU1BFQyBhIHphZGFuw6kgcMWZZXDDrW5hxI1lIGpzb3UgcGxhdG7DqS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTM0OQorIzogYnVpbHRpbnMuYzoxMzUyCiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZCB0eXBlLlxuIgogIiAgICBcbiIKQEAgLTQyNjEsNyArNDM1MCw3IEBACiAiICAgIFZyw6F0w60gw7pzcMSbY2gsIHBva3VkIHbFoWVjaG55IE7DgVpWWSBieWx5IG5hbGV6ZW55LiBTZWzFvmUsIHBva3VkIG7Em2t0ZXLDqVxuIgogIiAgICBuYWxlemVueSBuZWJ5bHkuIgogCi0jOiBidWlsdGlucy5jOjEzODAKKyM6IGJ1aWx0aW5zLmM6MTM4MwogbXNnaWQgIiIKICJNb2RpZnkgc2hlbGwgcmVzb3VyY2UgbGltaXRzLlxuIgogIiAgICBcbiIKQEAgLTQzMTcsNyArNDQwNiw3IEBACiAiICAgICAgLWNcdG1heGltw6FsbsOtIHZlbGlrb3N0IHZ5dHbDocWZZW7DvWNoIGNvcmUgc291Ym9yxa8gKHbDvXBpcyBwYW3Em3RpICIKICJwcm9ncmFtdSlcbiIKICIgICAgICAtZFx0bWF4aW3DoWxuw60gdmVsaWtvc3QgZGF0b3bDqWhvIHNlZ21lbnR1IHByb2Nlc3VcbiIKLSIgICAgICAtZVx0bWF4aW3DoWxuw60gcGzDoW5vdmFjw60gcHJpb3JpdGEgICjigJ5uaWNl4oCcKVxuIgorIiAgICAgIC1lXHRtYXhpbcOhbG7DrSBwbMOhbm92YWPDrSBwcmlvcml0YSAo4oCebmljZeKAnClcbiIKICIgICAgICAtZlx0bWF4aW3DoWxuw60gdmVsaWtvc3Qgc291Ym9yxa8gemFwc2Fuw71jaCBzaGVsbGVtIGEgamVobyBwb3RvbWt5XG4iCiAiICAgICAgLWlcdG1heGltw6FsbsOtIHBvxI1ldCDEjWVrYWrDrWPDrWNoIHNpZ27DoWzFr1xuIgogIiAgICAgIC1sXHRtYXhpbcOhbG7DrSB2ZWxpa29zdCBwYW3Em3RpLCBrdGVyb3UgbcWvxb5lIHByb2NlcyB6YW1rbm91dFxuIgpAQCAtNDM0NSw3ICs0NDM0LDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnJhY8OtIMO6c3DEm2NoLCBwb2t1ZCBuZWJ5bCB6YWTDoW4gbmVwbGF0bsO9IHDFmWVww61uYcSNIGEgbmV2eXNreXRsYSBzZSBjaHliYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQyNQorIzogYnVpbHRpbnMuYzoxNDI4CiBtc2dpZCAiIgogIkRpc3BsYXkgb3Igc2V0IGZpbGUgbW9kZSBtYXNrLlxuIgogIiAgICBcbiIKQEAgLTQzNzgsNyArNDQ2Nyw3IEBACiAiICAgIE7DoXZyYXRvdsO9IGvDs2RcbiIKICIgICAgVnLDoXTDrSDDunNwxJtjaCwgcG9rdWQgbmVieWwgemFkw6FuIG5lcGxhdG7DvSBNw5NEIG5lYm8gcMWZZXDDrW5hxI0uIgogCi0jOiBidWlsdGlucy5jOjE0NDUKKyM6IGJ1aWx0aW5zLmM6MTQ0OAogbXNnaWQgIiIKICJXYWl0IGZvciBqb2IgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTQ0MDYsNyArNDQ5NSw3IEBACiAiICAgIFZyw6F0w60ga8OzZCBJRCwgc2Vsxb5lLCBwb2t1ZCBJRCBuZW7DrSBwbGF0bsO9IG5lYm8gYnlsIHphZMOhbiBuZXBsYXRuw70gIgogInDFmWVww61uYcSNLiIKIAotIzogYnVpbHRpbnMuYzoxNDYzCisjOiBidWlsdGlucy5jOjE0NjYKIG1zZ2lkICIiCiAiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtNDQzMCw3ICs0NTE5LDcgQEAKICIgICAgVnLDoXTDrSBrw7NkIElELCBzZWzFvmUsIHBva3VkIElEIG5lbsOtIHBsYXRuw70gbmVibyBieWwgemFkw6FuIG5lcGxhdG7DvSAiCiAicMWZZXDDrW5hxI0uIgogCi0jOiBidWlsdGlucy5jOjE0NzgKKyM6IGJ1aWx0aW5zLmM6MTQ4MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhIGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtNDQ1NCw3ICs0NTQzLDcgQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVnLDoXTDrSBrw7NkIG5hcG9zbGVkeSBwcm92ZWRlbsOpaG8gcMWZw61rYXp1LiIKIAotIzogYnVpbHRpbnMuYzoxNDkyCisjOiBidWlsdGlucy5jOjE0OTUKIG1zZ2lkICIiCiAiQXJpdGhtZXRpYyBmb3IgbG9vcC5cbiIKICIgICAgXG4iCkBAIC00NDgzLDcgKzQ1NzIsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWcsOhdMOtIGvDs2QgbmFwb3NsZWR5IHZ5a29uYW7DqWhvIHDFmcOta2F6dS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTUxMAorIzogYnVpbHRpbnMuYzoxNTEzCiBtc2dpZCAiIgogIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC00NTI1LDcgKzQ2MTQsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWcsOhdMOtIGvDs2QgbmFwb3NsZWR5IHByb3bDoWTEm27DqWhvIHDFmcOta2F6dS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTUzMQorIzogYnVpbHRpbnMuYzoxNTM0CiBtc2dpZCAiIgogIlJlcG9ydCB0aW1lIGNvbnN1bWVkIGJ5IHBpcGVsaW5lJ3MgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTQ1NTYsNyArNDY0NSw3IEBACiAiICAgIE7DoXZyYXRvdsO9IGvDs2Q6XG4iCiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGEgamUgbsOhdnJhdG92w6EgaG9kbm90YSBLT0xPTlkuIgogCi0jOiBidWlsdGlucy5jOjE1NDgKKyM6IGJ1aWx0aW5zLmM6MTU1MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIHBhdHRlcm4gbWF0Y2hpbmcuXG4iCiAiICAgIFxuIgpAQCAtNDU3NCw3ICs0NjYzLDcgQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVnLDoXTDrSBrw7NkIG5hcG9zbGVkeSBwcm92ZWRlbsOpaG8gcMWZw61rYXp1LiIKIAotIzogYnVpbHRpbnMuYzoxNTYwCisjOiBidWlsdGlucy5jOjE1NjMKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBjb25kaXRpb25hbC5cbiIKICIgICAgXG4iCkBAIC00NjA5LDcgKzQ2OTgsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWcsOhdMOtIGvDs2QgbmFwb3NsZWR5IHByb3ZlZGVuw6lobyBwxZnDrWthenUuIgogCi0jOiBidWlsdGlucy5jOjE1NzcKKyM6IGJ1aWx0aW5zLmM6MTU4MAogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IHN1Y2NlZWRzLlxuIgogIiAgICBcbiIKQEAgLTQ2MjgsNyArNDcxNyw3IEBACiAiICAgIE7DoXZyYXRvdsO9IGvDs2Q6XG4iCiAiICAgIFZyw6F0w60ga8OzZCBuYXBvc2xlZHkgcHJvdmVkZW7DqWhvIHDFmcOta2F6dS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU4OQorIzogYnVpbHRpbnMuYzoxNTkyCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3QgZG9lcyBub3Qgc3VjY2VlZC5cbiIKICIgICAgXG4iCkBAIC00NjQ2LDcgKzQ3MzUsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWcsOhdMOtIGvDs2QgbmFwb3NsZWR5IHByb3ZlZGVuw6lobyBwxZnDrWthenUuIgogCi0jOiBidWlsdGlucy5jOjE2MDEKKyM6IGJ1aWx0aW5zLmM6MTYwNAogbXNnaWQgIiIKICJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKICIgICAgXG4iCkBAIC00NjU4LDggKzQ3NDcsMTcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCisiVnl0dm/FmcOtIGtvcHJvY2VzIHBvam1lbm92YW7DvSBOw4FaRVYuXG4iCisiICAgIFxuIgorIiAgICBWeWtvbsOhIFDFmMONS0FaIGFzeW5jaHJvbm7EmywgcMWZacSNZW3FviBqZWhvIHN0YW5kYXJkbsOtIHbDvXN0dXAgYSBzdGFuZGFyZG7DrVxuIgorIiAgICB2c3R1cCBidWRvdSBuYXBvamVueSByb3Vyb3UgbmHCoHNvdWJvcm92w6kgZGVza3JpcHRvcnkgdXZlZGVuw6kgdsKgcG9saSAiCisiTsOBWkVWXG4iCisiICAgIHRvaG90byBzaGVsbHUgcG9kIGluZGV4ZW0gMCBhIDEuIEltcGxpY2l0bsOtIE7DgVpFViBqZSDigJ5DT1BST0PigJwuXG4iCisiICAgIFxuIgorIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgorIiAgICBWcsOhdMOtIG7DoXZyYXRvdsO9IGvDs2QgUMWYw41LQVpVLiIKIAotIzogYnVpbHRpbnMuYzoxNjE1CisjOiBidWlsdGlucy5jOjE2MTgKIG1zZ2lkICIiCiAiRGVmaW5lIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTQ2ODQsNyArNDc4Miw3IEBACiAiICAgIE7DoXZyYXRvdsO9IGvDs2Q6XG4iCiAiICAgIFZyw6F0w60gw7pzcMSbY2gsIHBva3VkIE7DgVpFViBuZW7DrSBqZW4gcHJvIMSNdGVuw60uIgogCi0jOiBidWlsdGlucy5jOjE2MjkKKyM6IGJ1aWx0aW5zLmM6MTYzMgogbXNnaWQgIiIKICJHcm91cCBjb21tYW5kcyBhcyBhIHVuaXQuXG4iCiAiICAgIFxuIgpAQCAtNDcwMSw3ICs0Nzk5LDcgQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVnLDoXTDrSBrw7NkIG5hcG9zbGVkeSBzcHXFoXTEm27DqWhvIHDFmcOta2F6dS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY0MQorIzogYnVpbHRpbnMuYzoxNjQ0CiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC00NzI2LDcgKzQ4MjQsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWcsOhdMOtIGvDs2Qgb2Jub3ZlbsOpIMO6bG9oeS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY1NgorIzogYnVpbHRpbnMuYzoxNjU5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC00NzQ4LDcgKzQ4NDYsNyBAQAogIyBwxZnDrWtheiwga3RlcsO9IGJ5IGJ5bCB2eWtvbsOhbiBuYSB6w6FrbGFkxJsgc3BsbsSbbsOtIGppbsOpIHBvZG3DrW5reS4gVGouIHDFmWVrbGFkCiAjIOKAnnBvZG3DrW7Em27DvSBwxZnDrWtheuKAnCBqZSBjaHlibsO9LgogIyBUb3RvIGplIG7DoXBvdsSbZGEga8KgdmVzdGF2xJtuw6ltdSBwxZnDrWthenUg4oCeW+KAnC4KLSM6IGJ1aWx0aW5zLmM6MTY2OAorIzogYnVpbHRpbnMuYzoxNjcxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29uZGl0aW9uYWwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC00ODAwLDcgKzQ4OTgsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICAwIG5lYm8gMSBwb2RsZSBob2Rub3R5IFbDnVJBWlUuIgogCi0jOiBidWlsdGlucy5jOjE2OTQKKyM6IGJ1aWx0aW5zLmM6MTY5NwogbXNnaWQgIiIKICJDb21tb24gc2hlbGwgdmFyaWFibGUgbmFtZXMgYW5kIHVzYWdlLlxuIgogIiAgICBcbiIKQEAgLTQ5MDUsNyArNTAwMyw3IEBACiAiICAgIFx0XHRyb3psacWhZW7DrSwga3RlcsOpIHDFmcOta2F6eSBieSBtxJtseSBiw710IHVsb8W+ZW55IGRvIHNlem5hbXVcbiIKICIgICAgXHRcdGhpc3RvcmllLlxuIgogCi0jOiBidWlsdGlucy5jOjE3NTEKKyM6IGJ1aWx0aW5zLmM6MTc1NAogbXNnaWQgIiIKICJBZGQgZGlyZWN0b3JpZXMgdG8gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtNDk2Miw3ICs1MDYwLDcgQEAKICIgICAgVnLDoXTDrSDDunNwxJtjaCwgcG9rdWQgbmVieWwgemFkw6FuIG5lcGxhdG7DvSBhcmd1bWVudCBhIHptxJtuYSBhZHJlc8OhxZllXG4iCiAiICAgIG5lc2VsaGFsYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTc4NQorIzogYnVpbHRpbnMuYzoxNzg4CiBtc2dpZCAiIgogIlJlbW92ZSBkaXJlY3RvcmllcyBmcm9tIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTUwMTIsNyArNTExMCw3IEBACiAiICAgIFZyw6F0w60gw7pzcMSbY2gsIHBva3VkIG5lYnlsIHphZMOhbiBuZXBsYXRuw70gYXJndW1lbnQgbmVibyBuZXNlbGhhbGEgem3Em25hXG4iCiAiICAgIGFkcmVzw6HFmWUuIgogCi0jOiBidWlsdGlucy5jOjE4MTUKKyM6IGJ1aWx0aW5zLmM6MTgxOAogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC01MDYzLDcgKzUxNjEsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWcsOhdMOtIMO6c3DEm2NoLCBwb2t1ZCBuZWJ5bCB6YWTDoW4gbmVwbGF0bsO9IHDFmWVww61uYcSNIGEgbmV2eXNreXRsYSBzZSBjaHliYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg0NAorIzogYnVpbHRpbnMuYzoxODQ3CiBtc2dpZCAiIgogIlNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC01MDk0LDE0ICs1MTkyLDE0IEBACiAiICAgIFx0c8Kg4oCec2V0IC1v4oCcXG4iCiAiICAgICAgLXBcdHZ5cMOtxaFlIGthxb5kb3Ugdm9sYnUgc2hlbGx1IHPCoHVyxI1lbsOtbSBqZWrDrWhvIHN0YXZ1XG4iCiAiICAgICAgLXFcdHBvdGxhxI3DrSB2w71zdHVwXG4iCi0iICAgICAgLXNcdHphcG5lIChuYXN0YXbDrSkga2HFvmTDvSBOw4FaRVZfVk9MQllcbiIKLSIgICAgICAtdVx0dnlwbmUgKG9kbmFzdGF2w60pIGthxb5kw70gTsOBWkVWX1ZPTEJZXG4iCisiICAgICAgLXNcdHphcG5lIFtzZXRdIGthxb5kw70gTsOBWkVWX1ZPTEJZXG4iCisiICAgICAgLXVcdHZ5cG5lIFt1bnNldF0ga2HFvmTDvSBOw4FaRVZfVk9MQllcbiIKICIgICAgXG4iCiAiICAgIE7DoXZyYXRvdsO9IGvDs2Q6XG4iCiAiICAgIFZyw6F0w60gw7pzcMSbY2gsIGplLWxpIE7DgVpFVl9WT0xCWSB6YXBudXQuIFNlbMW+ZSwgYnlsLWxpIHphZMOhbiBuZXBsYXRuw71cbiIKICIgICAgcMWZZXDDrW5hxI0gbmVibyBqZS1saSBOw4FaRVZfVk9MQlkgdnlwbnV0LiIKIAotIzogYnVpbHRpbnMuYzoxODY1CisjOiBidWlsdGlucy5jOjE4NjgKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCiAiICAgIFxuIgpAQCAtNTE1Niw3ICs1MjU0LDggQEAKICIgICAgVnLDoXTDrSDDunNwxJtjaCwgcG9rdWQgbmVieWwgemFkw6FuIG5lcGxhdG7DvSBwxZllcMOtbmHEjSBhIG5lZG/FoWxvIGvCoGNoeWLEm1xuIgogIiAgICB6w6FwaXN1IG5lYm8gcMWZacWZYXplbsOtLiIKIAotIzogYnVpbHRpbnMuYzoxODkyCisjOiBidWlsdGlucy5jOjE4OTUKKyMsIGZ1enp5CiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTUxNzAsOSArNTI2OSwxNCBAQAogIiAgICAgIC1wXHRwcmludCBleGlzdGluZyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zIGluIGEgcmV1c2FibGUgZm9ybWF0XG4iCiAiICAgICAgLXJcdHJlbW92ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm9cbiIKICIgICAgXHROQU1FcyBhcmUgc3VwcGxpZWQsIGFsbCBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zXG4iCisiICAgICAgLURcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyBhcyB0aGUgZGVmYXVsdCBmb3IgY29tbWFuZHNcbiIKKyIgICAgXHR3aXRob3V0IGFueSBzcGVjaWZpYyBjb21wbGV0aW9uIGRlZmluZWRcbiIKKyIgICAgICAtRVx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIHRvIFwiZW1wdHlcIiBjb21tYW5kcyAtLVxuIgorIiAgICBcdGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZVxuIgogIiAgICBcbiIKICIgICAgV2hlbiBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgdGhlIGFjdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZVxuIgotIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS5cbiIKKyIgICAgdXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuICBUaGUgLUQgb3B0aW9uIHRha2VzXG4iCisiICAgIHByZWNlZGVuY2Ugb3ZlciAtRS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCkBAIC01MTk1LDcgKzUyOTksNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWcsOhdMOtIMO6c3DEm2NoLCBwb2t1ZCBuZWJ5bCB6YWTDoW4gbmVwbGF0bsO9IHDFmWVww61uYcSNIGEgbmV2eXNreXRsYSBzZSBjaHliYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkxNQorIzogYnVpbHRpbnMuYzoxOTIzCiBtc2dpZCAiIgogIkRpc3BsYXkgcG9zc2libGUgY29tcGxldGlvbnMgZGVwZW5kaW5nIG9uIHRoZSBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTUyMTYsMTQgKzUzMjAsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWcsOhdMOtIMO6c3DEm2NoLCBwb2t1ZCBuZWJ5bCB6YWTDoW4gbmVwbGF0bsO9IHDFmWVww61uYcSNIGEgbmV2eXNreXRsYSBzZSBjaHliYS4iCiAKLSMgRklYTUU6IFDFmcOta2F6IGNvbXBvcHQgamUgdmUgdmVyemkgNC4wIHpjZWxhIG5vdsO9LiBKZSB0xZllYmEgcHJvemtvdW1hdCwgY28KLSMgcMWZZXNuxJsgZMSbbMOhLCBhYnkgYnlsbyBtb8W+bsOpIHNwcsOhdm7EmyBwxZllbG/Fvml0IHNsb3ZvIOKAnm9wdGlvbuKAnCwgdGFrIGFieSBzZQotIyBuZXBsZXRsbyBzIHBvbWzEjWtvdsO9bWkgcMWZZXDDrW5hxI1pIHDFmcOta2F6dS4KLSMgRklYTUU6IEplIHTFmWViYSBkb2hsZWRhdCBtc2dpZCBwcm8gxZnDoWRlayBzZSBzeW50YXjDrSBwxZnDrWthenUgYSBwYXTFmWnEjW7EmyBqaQotIyBvcHJhdml0LgotIyBUT0RPOiBUZW50byBwxZlla2xhZCBqZSB2ZW1saSBrb3N0cmJhdMO9IGEgbcOtc3R5IG5lZMOhdsOhIHNteXNsLiBKZSB0xZllYmEKLSMgdWplZG5vdGl0IHByYXZpZGxv4oCTcHJhdmlkbGEgZG9wbG7Em27DreKAk2RvcGzFiG92w6Fuw60gKGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbikuCi0jOiBidWlsdGlucy5jOjE5MzAKKyM6IGJ1aWx0aW5zLmM6MTkzOAogIywgZnV6enkKIG1zZ2lkICIiCiAiTW9kaWZ5IG9yIGRpc3BsYXkgY29tcGxldGlvbiBvcHRpb25zLlxuIgpAQCAtNTIzNyw2ICs1MzM0LDggQEAKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgIFx0LW8gb3B0aW9uXHRTZXQgY29tcGxldGlvbiBvcHRpb24gT1BUSU9OIGZvciBlYWNoIE5BTUVcbiIKKyIgICAgXHQtRFx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZGVmYXVsdFwiIGNvbW1hbmQgY29tcGxldGlvblxuIgorIiAgICBcdC1FXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJlbXB0eVwiIGNvbW1hbmQgY29tcGxldGlvblxuIgogIiAgICBcbiIKICIgICAgVXNpbmcgYCtvJyBpbnN0ZWFkIG9mIGAtbycgdHVybnMgb2ZmIHRoZSBzcGVjaWZpZWQgb3B0aW9uLlxuIgogIiAgICBcbiIKQEAgLTUyNTQsMzcgKzUzNTMsNDAgQEAKIG1zZ3N0ciAiIgogIlVwcmF2w60gbmVibyB6b2JyYXrDrSBtb8W+bm9zdGkgZG9wbMWIb3bDoW7DrS5cbiIKICIgICAgXG4iCi0iICAgIFBvem3Em27DrSB2b2xieSBkb3BsxYhvdsOhbsOtIHXCoGthxb5kw6lobyBOw4FaVlUsIG5lYm8sIG5lbsOtLWxpIHphZMOhbiDFvsOhZG7DvVxuIgotIiAgICBOw4FaRVYsIHByw6F2xJsgcHJvYsOtaGFqw61jw60gZG9wbG7Em27DrS4gTmVqc291LWxpIHphZMOhbnkgxb7DoWRuw6kgVk9MQlksIHZ5cMOtxaFlXG4iCi0iICAgIHZvbGJ5IGRvcGzFiG92w6Fuw60gcHJvIGthxb5kw70gTsOBWkVWIG5lYm8gcHJhdmlkbG8gc291xI1hc27DqWhvIGRvcGxuxJtuw60uXG4iCisiICAgIFBvem3Em27DrSBtb8W+bm9zdGkgZG9wbMWIb3bDoW7DrSBrYcW+ZMOpaG8gTsOBWlZVLCBuZWJvLCBuZW7DrS1saSB6YWTDoW4gxb7DoWRuw71cbiIKKyIgICAgTsOBWkVWLCBwcsOhdsSbIHByb3bDoWTEm27DqWhvIGRvcGzFiG92w6Fuw60uIE5lanNvdS1saSB6YWTDoW55IMW+w6FkbsOpIE1Pxb1OT1NUSSxcbiIKKyIgICAgdnlww63FoWUgbW/Fvm5vc3QgZG9wbMWIb3bDoW7DrSBrYcW+ZMOpaG8gTsOBWlZVIG5lYm8gZGVmaW5pYyBwcsOhdsSbIHByb3bDoWTEm27DqWhvXG4iCisiICAgIGRvcGzFiG92w6Fuw60uXG4iCiAiICAgIFxuIgogIiAgICBQxZllcMOtbmHEjWU6XG4iCi0iICAgIFx0LW8gdm9sYmFcdE5hc3RhdsOtIHZvbGJ1IGRvcGzFiG92w6Fuw60gVk9MQkEgdcKga2HFvmTDqWhvIE7DgVpWVVxuIgorIiAgICBcdC1vIG1vxb5ub3N0XHROYXN0YXbDrSBtb8W+bm9zdCBkb3BsxYhvdsOhbsOtIE1Pxb1OT1NUIGthxb5kw6ltdSBOw4FaVlVcbiIKICIgICAgXG4iCi0iICAgIFBvbW9jw60g4oCeK2/igJwgbmFtw61zdG8g4oCeLW/igJwgemFkYW5vdSB2b2xidSB2eXBuZXRlLlxuIgorIiAgICBQb21vY8OtIOKAnitv4oCcIG5hbcOtc3RvIOKAni1v4oCcIHphZGFub3UgbW/Fvm5vc3QgdnlwbmV0ZS5cbiIKICIgICAgXG4iCiAiICAgIEFyZ3VtZW50eTpcbiIKLSIgICAgS2HFvmTDvSBOw4FaRVYgdWthenVqZSBuYSBwxZnDrWtheiwgcHJvIGt0ZXLDvSBwcmF2aWRsbyBkb3BsbsSbbsOtIG11c8OtIGLDvXRcbiIKLSIgICAgcMWZZWRlbSBkZWZpbm92w6FubyBwb21vY8OtIHZlc3RhdsSbbsOpaG8gcMWZw61rYXp1IOKAnmNvbXBsZXRl4oCcLiBOZWpzb3UtbGkgIgotInphZMOhbnlcbiIKLSIgICAgxb7DoWRuw6kgTsOBWlZZLCBtdXPDrSBiw710IGNvbXBvcHQgdm9sw6FuIGZ1bmtjw60sIGt0ZXLDoSBwcsOhdsSbIGdlbmVydWplICIKLSJkb3BsbsSbbsOtLFxuIgotIiAgICBhIHptxJtuxJtueSBidWRvdSB2b2xieSB0b2hvdG8gcHLDoXbEmyBixJvFvsOtY8OtaG8gZ2VuZXLDoXRvcnUgZG9wbG7Em27DrS5cbiIKKyIgICAgS2HFvmTDvSBOw4FaRVYgb2RrYXp1amUgbmEgcMWZw61rYXosIHBybyBrdGVyw70gbXVzw60gYsO9dCBwxZllZGVtIGRlZmlub3bDoW5vXG4iCisiICAgIHByYXZpZGxvIChkZWZpbmljZSkgZG9wbMWIb3bDoW7DrSBwb21vY8OtIHZlc3RhdsSbbsOpaG8gcMWZw61rYXp1IOKAnmNvbXBsZXRl4oCcLlxuIgorIiAgICBOZWpzb3UtbGkgemFkw6FueSDFvsOhZG7DqSBOw4FaVlksIG11c8OtIGLDvXQgY29tcG9wdCB2b2zDoW4gZnVua2PDrSwga3RlcsOhICIKKyJwcsOhdsSbXG4iCisiICAgIGdlbmVydWplIGRvcGzFiG92w6Fuw60uIFptxJtuxJtueSBwYWsgYnVkb3UgbW/Fvm5vc3RpIHRvaG90byBwcsOhdsSbICIKKyJwcm92w6FkxJtuw6lob1xuIgorIiAgICBnZW5lcsOhdG9ydSBkb3BsxYhvdsOhbsOtLlxuIgogIiAgICBcbiIKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKLSIgICAgVnLDoXTDrSDDunNwxJtjaCwgcG9rdWQgbmVieWwgemFkw6FuIG5lcGxhdG7DvSBwxZllcMOtbmHEjSBhIE7DgVpFViBqacW+IG3Em2xcbiIKLSIgICAgZGVmaW5vdsOhbm8gcHJhdmlkbG8gcHJvIGRvcGxuxJtuw60uIgorIiAgICBWcsOhdMOtIMO6c3DEm2NoLCBwb2t1ZCBuZWJ5bCB6YWTDoW4gbmVwbGF0bsO9IHDFmWVww61uYcSNIGEgTsOBWkVWIG3Em2wgIgorImRlZmlub3bDoW5vXG4iCisiICAgIHByYXZpZGxvIGRvcGzFiG92w6Fuw60uIgogCi0jOiBidWlsdGlucy5jOjE5NTgKKyM6IGJ1aWx0aW5zLmM6MTk2OAogIywgZnV6enkKIG1zZ2lkICIiCi0iUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgorIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKLSIgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBhcnJheSB2YXJpYWJsZSBBUlJBWSwgb3IgIgotImZyb21cbiIKLSIgICAgZmlsZSBkZXNjcmlwdG9yIEZEIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaWFibGUgTUFQRklMRSAiCi0iaXNcbiIKLSIgICAgdGhlIGRlZmF1bHQgQVJSQVkuXG4iCisiICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgaW5kZXhlZCBhcnJheSB2YXJpYWJsZSAiCisiQVJSQVksIG9yXG4iCisiICAgIGZyb20gZmlsZSBkZXNjcmlwdG9yIEZEIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaWFibGUgIgorIk1BUEZJTEVcbiIKKyIgICAgaXMgdGhlIGRlZmF1bHQgQVJSQVkuXG4iCiAiICAgIFxuIgogIiAgICBPcHRpb25zOlxuIgogIiAgICAgIC1uIGNvdW50XHRDb3B5IGF0IG1vc3QgQ09VTlQgbGluZXMuICBJZiBDT1VOVCBpcyAwLCBhbGwgbGluZXMgYXJlICIKQEAgLTUzMTEsNyArNTQxMyw5IEBACiAiICAgIGFzc2lnbmluZyB0byBpdC5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIEFSUkFZIGlzIHJlYWRvbmx5LiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBBUlJBWSBpcyByZWFkb25seSAiCisib3JcbiIKKyIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgogbXNnc3RyICIiCiAiTmHEjXRlIMWZw6Fka3kgemUgc291Ym9ydSBkbyBwcm9txJtubsOpIHR5cHUgcG9sZS5cbiIKICIgICAgXG4iCkBAIC01MzM5LDcgKzU0NDMsOSBAQAogIiAgICAgIFBPTEVcdFx0TsOhemV2IHByb23Em25uw6kgdHlwdSBwb2xlLCBkbyBrdGVyw6kgYnVkb3UgcMWZacWZYXplbmEgZGF0YVxuIgogIiAgICBcdFx0emUgc291Ym9ydS5cbiIKICIgICAgXG4iCi0iICAgIEplLWxpIHV2ZWRlbm8gLUMgYmV6IC1jLCBpbXBsaWNpdG7DrSBtbm/FvnN0dsOtIGJ1ZGUgNTAwMC5cbiIKKyIgICAgSmUtbGkgdXZlZGVubyAtQyBiZXogLWMsIGltcGxpY2l0bsOtIG1ub8W+c3R2w60gYnVkZSA1MDAwLiBWeWhvZG5vY292YW7DqW11XG4iCisiICAgIFZPTMOBTsONIGJ1ZGUgamFrbyBkb2RhdGXEjW7DvSBhcmd1bWVudCBwxZllZMOhbiBpbmRleCBwcnZrdSBwb2xlLCBkbyBrdGVyw6lob1xuIgorIiAgICBzZSBidWRlIHZ6w6FwxJt0w60gcMWZacWZYXpvdmF0LlxuIgogIiAgICBcbiIKICIgICAgTmVidWRlLWxpIGV4cGxpY2l0bsSbIHVkw6FuIHBvxI3DoXRlaywgbWFwZmlsZSB2eXByw6F6ZG7DrSBQT0xFIHDFmWVkIHTDrW0sXG4iCiAiICAgIG5lxb4gZG8gbsSbaiB6YcSNbmUgcMWZacWZYXpvdmF0LlxuIgpAQCAtNTM0OCwxMiArNTQ1NCwyNSBAQAogIiAgICBWcsOhdMOtIMO6c3DEm2NoLCBwb2t1ZCBuZWJ5bCB6YWTDoW4gbmVwbGF0bsO9IHDFmWVww61uYcSNIGEgUE9MRSBuZWJ5bG8gamVuIHByb1xuIgogIiAgICDEjXRlbsOtLiIKIAotIzogYnVpbHRpbnMuYzoxOTkwCisjOiBidWlsdGlucy5jOjIwMDEKIG1zZ2lkICIiCiAiUmVhZCBsaW5lcyBmcm9tIGEgZmlsZSBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKICIgICAgQSBzeW5vbnltIGZvciBgbWFwZmlsZScuIgogbXNnc3RyICIiCisiTmHEjXRlIMWZw6Fka3kgemUgc291Ym9ydSBkbyBwcm9txJtubsOpIHR5cHUgcG9sZS5cbiIKKyIgICAgXG4iCisiICAgIFN5bm9ueW11bSBwcm8g4oCebWFwZmlsZeKAnC4iCisKKyN+IG1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyN+IG1zZ3N0ciAieHJlYWxsb2M6IG5lbHplIHDFmWVhbG9rb3ZhdCAlJ2x1IGJhanTFryAoJSdsdSBiYWp0xa8gYWxva292w6FubykiCisKKyN+IG1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKKyN+IG1zZ3N0ciAieHJlYWxsb2M6IG5lbHplIGFsb2tvdmF0ICUnbHUgYmFqdMWvIgorCisjfiBtc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorI34gbXNnc3RyICIiCisjfiAieHJlYWxsb2M6ICVzOiVkOiBuZWx6ZSBwxZllYWxva292YXQgJSdsdSBiYWp0xa8gKCUnbHUgYmFqdMWvIGFsb2tvdsOhbm8pIgogCiAjfiBtc2dpZCAiICIKICN+IG1zZ3N0ciAiICIKZGlmZiAtLWdpdCBhL3BvL2RlLmdtbyBiL3BvL2RlLmdtbwppbmRleCBlMDM0MDQ3Li5lYWRiMjY0IDEwMDY0NAotLS0gYS9wby9kZS5nbW8KKysrIGIvcG8vZGUuZ21vCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3BvL2RlLnBvIGIvcG8vZGUucG8KaW5kZXggMmYzOTMyNS4uYTUzMmEwOSAxMDA2NDQKLS0tIGEvcG8vZGUucG8KKysrIGIvcG8vZGUucG8KQEAgLTEsNzUgKzEsODUgQEAKICMgR2VybWFuIGxhbmd1YWdlIGZpbGUgZm9yIEdOVSBCYXNoIDQuMAogIyBDb3B5cmlnaHQgKEMpIDE5OTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBiYXNoIHBhY2thZ2UuCi0jIE5pbHMgTmF1bWFubiA8bm5hdUBnbXgubmV0PiwgMTk5NiwgMjAwOC4KKyMgTmlscyBOYXVtYW5uIDxubmF1QGdteC5uZXQ+LCAxOTk2LCAyMDA5LgogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaCA0LjAtcHJlMVxuIgorIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaCA0LjBcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMDItMTkgMTQ6NTMtMDUwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMDgtMTItMjAgMTY6NTYrMDEwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTEyLTMwIDA4OjI1LTA1MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDA5LTA5LTE0IDIwOjM3KzAyMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IE5pbHMgTmF1bWFubiA8bm5hdUBnbXgubmV0PlxuIgogIkxhbmd1YWdlLVRlYW06IEdlcm1hbiA8dHJhbnNsYXRpb24tdGVhbS1kZUBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCiAiTUlNRS1WZXJzaW9uOiAxLjBcbiIKLSJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMVxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgogIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDgtYml0XG4iCisiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7XG4iCiAKICM6IGFycmF5ZnVuYy5jOjUwCiBtc2dpZCAiYmFkIGFycmF5IHN1YnNjcmlwdCIKIG1zZ3N0ciAiRmFsc2NoZXIgRmVsZGJlemVpY2huZXIuIgogCi0jOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc0CisjOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBpbmRleGVkIHRvIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIlczogS2FubiBuaWNodCBkYXMgaW5kaXppZXJ0ZSBpbiBlaW4gYXNzb3ppYXRpdmVzIEFycmF5IHVtd2FuZGVsbi4iCiAKLSM6IGFycmF5ZnVuYy5jOjQ3OQorIzogYXJyYXlmdW5jLmM6NDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFzc29jaWF0aXZlIGFycmF5IGtleSIKLW1zZ3N0ciAiJXM6IFVuZ/xsdGlnZXIgU2NobPxzc2VsIGb8ciBkYXMgYXNzb3ppYXRpdmUgQXJyYXkuIgorbXNnc3RyICIlczogVW5nw7xsdGlnZXIgU2NobMO8c3NlbCBmw7xyIGRhcyBhc3NvemlhdGl2ZSBBcnJheS4iCiAKLSM6IGFycmF5ZnVuYy5jOjQ4MQorIzogYXJyYXlmdW5jLmM6NDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIHRvIG5vbi1udW1lcmljIGluZGV4IgogbXNnc3RyICIlczogS2FubiBuaWNodCBhdWYgZWluZW4gbmljaHQtbnVtZXJpc2NoZW4gSW5kZXggenV3ZWlzZW4uIgogCi0jOiBhcnJheWZ1bmMuYzo1MTcKKyM6IGFycmF5ZnVuYy5jOjUxOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IG11c3QgdXNlIHN1YnNjcmlwdCB3aGVuIGFzc2lnbmluZyBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiIgorIiVzOiAlczogRWluIEZlbGRiZXplaWNoZXIgd2lyZCB6dW0gWnV3ZWlzZW4gZWluZXMgYXNzb3ppYXRpdmVuIEFycmF5cyAiCisiYmVuw7Z0aWd0LiIKIAotIzogYmFzaGhpc3QuYzozNzkKKyM6IGJhc2hoaXN0LmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY3JlYXRlOiAlcyIKIG1zZ3N0ciAiJXM6IEthbm4gZGllIERhdGVpICVzIG5pY2h0IGVyemV1Z2VuLiIKIAotIzogYmFzaGxpbmUuYzozNDEzCisjOiBiYXNobGluZS5jOjM0NTcKIG1zZ2lkICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBjYW5ub3QgZmluZCBrZXltYXAgZm9yIGNvbW1hbmQiCiBtc2dzdHIgIiIKKyJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBLYW5uIG5pY2h0IGRpZSBUYXN0ZW56dW9yZG51bmcgZsO8ciBkYXMgS29tbWFuZG8gIgorImZpbmRlbi4iCiAKLSM6IGJhc2hsaW5lLmM6MzQ5MQorIzogYmFzaGxpbmUuYzozNTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IGBcIiciCi1tc2dzdHIgIiVzOiBEYXMgZXJzdGUgbmljaHQgTGVlcnplaWNoZW4gaXN0IG5pY2h0IGBcXCcuIgorbXNnc3RyICIgJXM6IERhcyBlcnN0ZSBuaWNodCBMZWVyemVpY2hlbiBpc3QgbmljaHQgYFxcJy4iCiAKLSM6IGJhc2hsaW5lLmM6MzUyMAorIzogYmFzaGxpbmUuYzozNTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKLW1zZ3N0ciAiZmVobGVuZGUgc2NobGll32VuZGUgYCVjJyBpbiAlcy4iCittc2dzdHIgImZlaGxlbmRlIHNjaGxpZcOfZW5kZSBgJWMnIGluICVzLiIKIAotIzogYmFzaGxpbmUuYzozNTU0CisjOiBiYXNobGluZS5jOjM2MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG1pc3NpbmcgY29sb24gc2VwYXJhdG9yIgogbXNnc3RyICIlczogRmVobGVuZGVyIERvcHBlbHB1bmt0LiIKIAorIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogaW52YWxpZCBhbGlhcyBuYW1lIgorbXNnc3RyICJgJXMnOiBVbmfDvGx0aWdlciBLRVlNQVAgTmFtZS4iCisKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjEyMCBidWlsdGlucy9iaW5kLmRlZjoxMjMKIG1zZ2lkICJsaW5lIGVkaXRpbmcgbm90IGVuYWJsZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiWmVpbGVuZWRpdGllcnVuZyBpc3QgbmljaHQgYWt0aXZpZXJ0LiIKIAogIzogYnVpbHRpbnMvYmluZC5kZWY6MjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IGludmFsaWQga2V5bWFwIG5hbWUiCi1tc2dzdHIgImAlcyc6IFVuZ/xsdGlnZXIgS0VZTUFQIE5hbWUuIgorbXNnc3RyICJgJXMnOiBVbmfDvGx0aWdlciBLRVlNQVAgTmFtZS4iCiAKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjI0NQogIywgYy1mb3JtYXQKQEAgLTc5LDcgKzg5LDcgQEAKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjI2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBjYW5ub3QgdW5iaW5kIgotbXNnc3RyICJgJXMnOiBCaW5kdW5nIGthbm4gbmljaHQgZ2Vs9nN0IHdlcmRlbi4iCittc2dzdHIgImAlcyc6IEJpbmR1bmcga2FubiBuaWNodCBnZWzDtnN0IHdlcmRlbi4iCiAKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjI5NSBidWlsdGlucy9iaW5kLmRlZjozMjUKICMsIGMtZm9ybWF0CkBAIC05OCwxMiArMTA4LDEzIEBACiAKICM6IGJ1aWx0aW5zL2JyZWFrLmRlZjo3NyBidWlsdGlucy9icmVhay5kZWY6MTE3CiBtc2dpZCAibG9vcCBjb3VudCIKLW1zZ3N0ciAiU2NobGVpZmVuIFrkaGxlciIKK21zZ3N0ciAiU2NobGVpZmVuIFrDpGhsZXIiCiAKICM6IGJ1aWx0aW5zL2JyZWFrLmRlZjoxMzcKIG1zZ2lkICJvbmx5IG1lYW5pbmdmdWwgaW4gYSBgZm9yJywgYHdoaWxlJywgb3IgYHVudGlsJyBsb29wIgogbXNnc3RyICJudXIgaW4gZWluZXIgYGZvcicsIGB3aGlsZScgb2RlciBgdW50aWwnIFNjaGxlaWZlIHNpbm52b2xsLiIKIAorIyBQcm9ibGVtIG1pdCBFeHRyYWt0aW9uIGRlcyBTdHJpbmdzCiAjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzMwogbXNnaWQgIiIKICJSZXR1cm5zIHRoZSBjb250ZXh0IG9mIHRoZSBjdXJyZW50IHN1YnJvdXRpbmUgY2FsbC5cbiIKQEAgLTExMSw2ICsxMjIsMjEgQEAKICIgICAgV2l0aG91dCBFWFBSLCByZXR1cm5zICIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNQorbXNnaWQgIiIKKyIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKKyIgICAgIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM2Cittc2dpZCAiIgorIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgorIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCisiICAgIFxuIgorIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCisiICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgorbXNnc3RyICIiCisKICM6IGJ1aWx0aW5zL2NkLmRlZjoyMTUKIG1zZ2lkICJIT01FIG5vdCBzZXQiCiBtc2dzdHIgIkhPTUUgaXN0IG5pY2h0IHp1Z2V3aWVzZW4uIgpAQCAtMTI1LDcgKzE1MSw3IEBACiBtc2dpZCAibGluZSAlZDogIgogbXNnc3RyICJaZWlsZSAlZDogIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjAKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEzOSBlcnJvci5jOjI2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAiCiBtc2dzdHIgIldhcm51bmc6ICIKQEAgLTEzNSwxMSArMTYxLDExIEBACiBtc2dpZCAiJXM6IHVzYWdlOiAiCiBtc2dzdHIgIiVzOiBHZWJyYXVjaDogIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyMgorIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgIlp1IHZpZWxlIEFyZ3VtZW50ZS4iCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5MyBzaGVsbC5jOjc3NAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIiVzOiBFaW4gbnVtZXJpc2NoZXIgUGFyZW1ldGVyIGlzdCBlcmZvcmRlcmxpY2guIgpAQCAtMTU0LDUyICsxODAsNTIgQEAKIG1zZ2lkICIlczogbm90IGZvdW5kIgogbXNnc3RyICIlczogTmljaHQgZ2VmdW5kZW4uIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3ODcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBvcHRpb24iCi1tc2dzdHIgIiVzOiBVbmf8bHRpZ2UgT3B0aW9uIgorbXNnc3RyICIlczogVW5nw7xsdGlnZSBPcHRpb24iCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIyMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBvcHRpb24gbmFtZSIKLW1zZ3N0ciAiJXM6IFVuZ/xsdGlnZXIgT3B0aW9uc25hbWUuIgorbXNnc3RyICIlczogVW5nw7xsdGlnZXIgT3B0aW9uc25hbWUuIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoyMjggZ2VuZXJhbC5jOjIzMSBnZW5lcmFsLmM6MjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG5vdCBhIHZhbGlkIGlkZW50aWZpZXIiCi1tc2dzdHIgImAlcyc6IElzdCBrZWluIGf8bHRpZ2VyIEJlemVpY2huZXIuIgorbXNnc3RyICJgJXMnOiBJc3Qga2VpbiBnw7xsdGlnZXIgQmV6ZWljaG5lci4iCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIzOAogbXNnaWQgImludmFsaWQgb2N0YWwgbnVtYmVyIgotbXNnc3RyICJVbmf8bHRpZ2UgT2t0YWx6YWhsLiIKK21zZ3N0ciAiVW5nw7xsdGlnZSBPa3RhbHphaGwuIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoyNDAKIG1zZ2lkICJpbnZhbGlkIGhleCBudW1iZXIiCi1tc2dzdHIgIlVuZ/xsdGlnZSBoZXhhZGV6aW1hbGUgWmFobC4iCittc2dzdHIgIlVuZ8O8bHRpZ2UgaGV4YWRlemltYWxlIFphaGwuIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTUKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NgogbXNnaWQgImludmFsaWQgbnVtYmVyIgotbXNnc3RyICJVbmf8bHRpZ2UgWmFobC4iCittc2dzdHIgIlVuZ8O8bHRpZ2UgWmFobC4iCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI1MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBzaWduYWwgc3BlY2lmaWNhdGlvbiIKLW1zZ3N0ciAiJXM6IFVuZ/xsdGlnZSBTaWduYWxiZXplaWNobnVuZy4iCittc2dzdHIgIiVzOiBVbmfDvGx0aWdlIFNpZ25hbGJlemVpY2hudW5nLiIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6MjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG5vdCBhIHBpZCBvciB2YWxpZCBqb2Igc3BlYyIKLW1zZ3N0ciAiYCVzJzogSXN0IGtlaW5lIGf8bHRpZ2UgUHJvemVzcy0gb2RlciBKb2JiZXplaWNobnVuZy4iCittc2dzdHIgImAlcyc6IElzdCBrZWluZSBnw7xsdGlnZSBQcm96ZXNzLSBvZGVyIEpvYmJlemVpY2hudW5nLiIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjY0IGVycm9yLmM6NDUzCisjOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IHZhcmlhYmxlIgotbXNnc3RyICIlczogU2NocmVpYmdlc2No/HR6dGUgVmFyaWFibGUuIgorbXNnc3RyICIlczogU2NocmVpYmdlc2Now7x0enRlIFZhcmlhYmxlLiIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6MjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyBvdXQgb2YgcmFuZ2UiCi1tc2dzdHIgIiVzOiAlcyBpc3QgYXXfZXJoYWxiIGRlcyBH/Gx0aWdrZWl0c2JlcmVpY2hlcy4iCittc2dzdHIgIiVzOiAlcyBpc3QgYXXDn2VyaGFsYiBkZXMgR8O8bHRpZ2tlaXRzYmVyZWljaGVzLiIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6MjcyIGJ1aWx0aW5zL2NvbW1vbi5jOjI3NAogbXNnaWQgImFyZ3VtZW50IgpAQCAtMjA4LDcgKzIzNCw3IEBACiAjOiBidWlsdGlucy9jb21tb24uYzoyNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgb3V0IG9mIHJhbmdlIgotbXNnc3RyICIlcyBpc3QgYXXfZXJoYWxiIGRlcyBH/Gx0aWdrZWl0c2JlcmVpY2hlcy4iCittc2dzdHIgIiVzIGlzdCBhdcOfZXJoYWxiIGRlcyBHw7xsdGlna2VpdHNiZXJlaWNoZXMuIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoyODIKICMsIGMtZm9ybWF0CkBAIC0yNDYsMTIgKzI3MiwxMiBAQAogIzogYnVpbHRpbnMvY29tbW9uLmM6MzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlczogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiRmVobGVyIGJlaW0gU2V0emVuIGRlciBUZXJtaW5hbGF0dHJpYnV0ZTogJXMiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBnZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVzIgotbXNnc3RyICIiCittc2dzdHIgIkZlaGxlciBiZWltIEVybWl0dGVsbiBkZXIgVGVybWluYWxhdHRyaWJ1dGU6ICVzIgogCiAjOiBidWlsdGlucy9jb21tb24uYzo1NjMKICMsIGMtZm9ybWF0CkBAIC0yNjMsNzggKzI4OSw3OSBAQAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgam9iIHNwZWMiCiBtc2dzdHIgIiVzOiBNZWhyZGV1dGlnZSBKb2IgQmV6ZWljaG51bmcuIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6MjcwCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Mjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFjdGlvbiBuYW1lIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiBVbmfDvGx0aWdlIE1ldGhvZGUuIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDMwIGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2MTUKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MTMKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo0NDkgYnVpbHRpbnMvY29tcGxldGUuZGVmOjY0NAorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjg1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm8gY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiBLZWluZSBLb21wbGV0dGllcnVuZyBhbmdlZ2ViZW4uIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjY3CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk2CiBtc2dpZCAid2FybmluZzogLUYgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgotbXNnc3RyICJXYXJudW5nOiBEaWUgLUYgT3B0aW9uIGv2bm50ZSB1bmVyd2FydGV0ZSBFcmdlYm5pc3NlIGxpZWZlcm4uIgorbXNnc3RyICJXYXJudW5nOiBEaWUgLUYgT3B0aW9uIGvDtm5udGUgdW5lcndhcnRldGUgRXJnZWJuaXNzZSBsaWVmZXJuLiIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY2OQorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY5OAogbXNnaWQgIndhcm5pbmc6IC1DIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCIKLW1zZ3N0ciAiV2FybnVuZzogRGllIC1DIE9wdGlvbiBr9m5udGUgdW5lcndhcnRldGUgRXJnZWJuaXNzZSBsaWVmZXJuLiIKK21zZ3N0ciAiV2FybnVuZzogRGllIC1DIE9wdGlvbiBrw7ZubnRlIHVuZXJ3YXJ0ZXRlIEVyZ2Vibmlzc2UgbGllZmVybi4iCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo3ODYKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MjYKIG1zZ2lkICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgotbXNnc3RyICIiCittc2dzdHIgIkdlZ2Vud8OkcnRpZyB3aXJkIGtlaW5lIEtvbXBsZXR0aWVydW5nc2Z1bmt0aW9uIGF1c2dlZsO8aHJ0LiIKIAogIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MTIyCiBtc2dpZCAiY2FuIG9ubHkgYmUgdXNlZCBpbiBhIGZ1bmN0aW9uIgogbXNnc3RyICJrYW5uIG51ciBpbm5lcmhhbGIgZWluZXIgRnVua3Rpb24gYmVudXR6dCB3ZXJkZW4uIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNTMKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2MAogbXNnaWQgImNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucyIKLW1zZ3N0ciAiTWl0IGAtZicga/ZubmVuIGtlaW5lIEZ1bmt0aW9uZW4gZXJ6ZXVndCB3ZXJkZW4uIgorbXNnc3RyICJNaXQgYC1mJyBrw7ZubmVuIGtlaW5lIEZ1bmt0aW9uZW4gZXJ6ZXVndCB3ZXJkZW4uIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjUgZXhlY3V0ZV9jbWQuYzo0ODE4CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzIgZXhlY3V0ZV9jbWQuYzo0OTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkb25seSBmdW5jdGlvbiIKLW1zZ3N0ciAiJXM6IFNjaHJlaWJnZXNjaPx0enRlIEZ1bmt0aW9uLiIKLQotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDYxCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkiCi1tc2dzdHIgIiVzOiBLYW5uIEZlbGR2YXJpYWJsZW4gbmljaHQgYXVmIGRpZXNlIEFydCBs9nNjaGVuLiIKK21zZ3N0ciAiJXM6IFNjaHJlaWJnZXNjaMO8dHp0ZSBGdW5rdGlvbi4iCiAKICM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAogIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgorbXNnc3RyICIlczogS2FubiBGZWxkdmFyaWFibGVuIG5pY2h0IGF1ZiBkaWVzZSBBcnQgbMO2c2NoZW4uIgorCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzUKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGFzc29jaWF0aXZlIHRvIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIiIKKyIlczogS29udmVydGllcmVuIHZvbiBhc3NvemlhdGl2ZW4gaW4gaW5kaXppZXJ0ZSBBcnJheXMgaXN0IG5pY2h0IG3DtmdsaWNoLiIKIAogIzogYnVpbHRpbnMvZW5hYmxlLmRlZjoxMzcgYnVpbHRpbnMvZW5hYmxlLmRlZjoxNDUKIG1zZ2lkICJkeW5hbWljIGxvYWRpbmcgbm90IGF2YWlsYWJsZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJEeW5hbWlzY2hlcyBMYWRlbiBpc3QgbmljaHQgdmVyZsO8Z2Jhci4iCiAKICM6IGJ1aWx0aW5zL2VuYWJsZS5kZWY6MzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIHNoYXJlZCBvYmplY3QgJXM6ICVzIgotbXNnc3RyICIiCittc2dzdHIgIkthbm4gZGllIGR5bmFtaXNjaGUgQmliaWxpb3RoZWsgbmljaHQgbGFkZW4gJXM6ICVzIgogCiAjOiBidWlsdGlucy9lbmFibGUuZGVmOjMzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmluZCAlcyBpbiBzaGFyZWQgb2JqZWN0ICVzOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJLYW5uICVzIG5pY2h0IGluIGRlciBkeW5hbWlzY2hlbiBCaWJpbGlvdGhlayBmaW5kZW4gJXM6ICVzIgogCiAjOiBidWlsdGlucy9lbmFibGUuZGVmOjQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGR5bmFtaWNhbGx5IGxvYWRlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczogSXN0IG5pY2h0IGR5bmFtaXNjaCBnZWxhZGVuLiIKIAogIzogYnVpbHRpbnMvZW5hYmxlLmRlZjo0NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgotbXNnc3RyICIlczogS2FubiBuaWNodCBs9nNjaGVuOiAlcyIKK21zZ3N0ciAiJXM6IEthbm4gbmljaHQgbMO2c2NoZW46ICVzIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Njc1Ci0jOiBzaGVsbC5jOjE0MzkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM0IGJ1aWx0aW5zL2hhc2guZGVmOjE2OSBleGVjdXRlX2NtZC5jOjQ3OTQKKyM6IHNoZWxsLmM6MTQ1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaXMgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzOiBpc3QgZWluIFZlcnplaWNobmlzLiIKQEAgLTM0NywxNyArMzc0LDE4IEBACiAjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCi1tc2dzdHIgIiVzOiBEaWUgRGF0ZWkgaXN0IHp1IGdyb98uIgorbXNnc3RyICIlczogRGllIERhdGVpIGlzdCB6dSBncm/Dny4iCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGV4ZWN1dGVfY21kLmM6NDc0NSBzaGVsbC5jOjE0NDkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAzIGV4ZWN1dGVfY21kLmM6NDg2NAorIzogc2hlbGwuYzoxNDYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKLW1zZ3N0ciAiJXM6IEthbm4gZGllIERhdGVpIG5pY2h0IGF1c2b8aHJlbi4iCittc2dzdHIgIiVzOiBLYW5uIGRpZSBEYXRlaSBuaWNodCBhdXNmw7xocmVuLiIKIAogIzogYnVpbHRpbnMvZXhlYy5kZWY6MjEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZTogJXMiCi1tc2dzdHIgIiVzOiBLYW5uIG5pY2h0IGF1c2b8aHJlbjogJXMiCittc2dzdHIgIiVzOiBLYW5uIG5pY2h0IGF1c2bDvGhyZW46ICVzIgogCiAjOiBidWlsdGlucy9leGl0LmRlZjo2NQogIywgYy1mb3JtYXQKQEAgLTM3OCwyMiArNDA2LDIyIEBACiBtc2dpZCAiVGhlcmUgYXJlIHJ1bm5pbmcgam9icy5cbiIKIG1zZ3N0ciAiRXMgZ2lidCBub2NoIGxhdWZlbmRlIFByb3plc3NlLlxuIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MjYxCisjOiBidWlsdGlucy9mYy5kZWY6MjYyCiBtc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKIG1zZ3N0ciAiS2VpbiBLb21tYW5kbyBnZWZ1bmRlbi4iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKIG1zZ2lkICJoaXN0b3J5IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM2MgorIzogYnVpbHRpbnMvZmMuZGVmOjM3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKLW1zZ3N0ciAiJXM6IEthbm4gZGllIHRlbXBy5HJlIERhdGVpIG5pY2h0IPZmZm5lbjogJXMiCittc2dzdHIgIiVzOiBLYW5uIGRpZSB0ZW1wcsOkcmUgRGF0ZWkgbmljaHQgw7ZmZm5lbjogJXMiCiAKICM6IGJ1aWx0aW5zL2ZnX2JnLmRlZjoxNDkgYnVpbHRpbnMvam9icy5kZWY6MjgyCiBtc2dpZCAiY3VycmVudCIKLW1zZ3N0ciAiIgorbXNnc3RyICJnZWdlbnfDpHJ0aWciCiAKICM6IGJ1aWx0aW5zL2ZnX2JnLmRlZjoxNTgKICMsIGMtZm9ybWF0CkBAIC00MDMsNyArNDMxLDcgQEAKICM6IGJ1aWx0aW5zL2dldG9wdC5jOjExMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaWxsZWdhbCBvcHRpb24gLS0gJWNcbiIKLW1zZ3N0ciAiJXM6IFVuZ/xsdGlnZSBPcHRpb24gLS0gJWNcbiIKK21zZ3N0ciAiJXM6IFVuZ8O8bHRpZ2UgT3B0aW9uIC0tICVjXG4iCiAKICM6IGJ1aWx0aW5zL2dldG9wdC5jOjExMQogIywgYy1mb3JtYXQKQEAgLTQxMiwzNSArNDQwLDM3IEBACiAKICM6IGJ1aWx0aW5zL2hhc2guZGVmOjkyCiBtc2dpZCAiaGFzaGluZyBkaXNhYmxlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJIYXNoaW5nIGRlYWt0aXZpZXJ0LiIKIAogIzogYnVpbHRpbnMvaGFzaC5kZWY6MTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBoYXNoIHRhYmxlIGVtcHR5XG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IERpZSBIYXNodGFiZWxsZSBpc3QgbGVlci5cbiIKIAogIzogYnVpbHRpbnMvaGFzaC5kZWY6MjQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImhpdHNcdGNvbW1hbmRcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJUcmVmZmVyXHRCZWZlaGxcbiIKIAogIzogYnVpbHRpbnMvaGVscC5kZWY6MTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNoZWxsIGNvbW1hbmRzIG1hdGNoaW5nIGtleXdvcmQgYCIKIG1zZ2lkX3BsdXJhbCAiU2hlbGwgY29tbWFuZHMgbWF0Y2hpbmcga2V5d29yZHMgYCIKLW1zZ3N0clswXSAiIgotbXNnc3RyWzFdICIiCittc2dzdHJbMF0gIlNoZWxsIEtvbW1hbmRvcyBhdWYgZGllIGRhcyBTY2hsw7xzc2Vsd29ydCB6dXRyaWZmdCBgIgorbXNnc3RyWzFdICJTaGVsbCBLb21tYW5kb3MgYXVmIGRpZSBkaWUgU2NobMO8c3NlbHfDtnJ0ZXIgenV0cmVmZmVuIGAiCiAKICM6IGJ1aWx0aW5zL2hlbHAuZGVmOjE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm8gaGVscCB0b3BpY3MgbWF0Y2ggYCVzJy4gIFRyeSBgaGVscCBoZWxwJyBvciBgbWFuIC1rICVzJyBvciBgaW5mbyAlcycuIgogbXNnc3RyICIiCisiQXVmIGAlcycgdHJpZmZ0IGtlaW4gSGlsZmV0aGVtYSB6dS4gIFByb2JpZXJlbiBTaWUgYGhlbHAgaGVscCcsIGBtYW4gLWsgJXMnICIKKyJvZGVyIGBpbmZvICVzJy4iCiAKICM6IGJ1aWx0aW5zL2hlbHAuZGVmOjE4NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW46ICVzIgotbXNnc3RyICIlczogS2FubiBkaWUgRGF0ZWkgbmljaHQg9mZmbmVuOiAlcyIKK21zZ3N0ciAiJXM6IEthbm4gZGllIERhdGVpIG5pY2h0IMO2ZmZuZW46ICVzIgogCiAjOiBidWlsdGlucy9oZWxwLmRlZjozMzcKICMsIGMtZm9ybWF0CkBAIC00NjQsMTYgKzQ5NCwxNiBAQAogCiAjOiBidWlsdGlucy9oaXN0b3J5LmRlZjoxNTQKIG1zZ2lkICJjYW5ub3QgdXNlIG1vcmUgdGhhbiBvbmUgb2YgLWFucnciCi1tc2dzdHIgIiIKK21zZ3N0ciAiRXMgZGFyZiBudXIgZWluZSBPcHRpb24gYXVzIC1hbnJ3IGFuZ2VnZWJlbiB3ZXJkZW4uIgogCiAjOiBidWlsdGlucy9oaXN0b3J5LmRlZjoxODYKIG1zZ2lkICJoaXN0b3J5IHBvc2l0aW9uIgotbXNnc3RyICIiCittc2dzdHIgIktvbW1hbmRvc3RhcGVscG9zaXRpb24uIgogCiAjOiBidWlsdGlucy9oaXN0b3J5LmRlZjozNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGhpc3RvcnkgZXhwYW5zaW9uIGZhaWxlZCIKLW1zZ3N0ciAiJXM6IEhpc3RvcnkgU3Vic3RpdHV0aW9uIGdlc2NoZWl0ZXJ0LiIKK21zZ3N0ciAiJXM6IEtvbW1hbmRvZXJzZXR6dW5nIGdlc2NoZWl0ZXJ0LiIKIAogIzogYnVpbHRpbnMvaW5saWIuZGVmOjcxCiAjLCBjLWZvcm1hdApAQCAtNDg0LDEyICs1MTQsMTIgQEAKIG1zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgogbXNnc3RyICJLZWluZSB3ZWl0ZXJlbiBPcHRpb25lbiBtaXQgYC14JyBlcmxhdWJ0LiIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MTk3CisjOiBidWlsdGlucy9raWxsLmRlZjoyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFyZ3VtZW50cyBtdXN0IGJlIHByb2Nlc3Mgb3Igam9iIElEcyIKLW1zZ3N0ciAiJXM6IERpZSBBcmd1bWVudGUgbfxzc2VuIFByb3plc3MtIG9kZXIgSm9iYmV6ZWljaG51bmdlbiBzZWluLiIKK21zZ3N0ciAiJXM6IERpZSBBcmd1bWVudGUgbcO8c3NlbiBQcm96ZXNzLSBvZGVyIEpvYmJlemVpY2hudW5nZW4gc2Vpbi4iCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MAorIzogYnVpbHRpbnMva2lsbC5kZWY6MjYzCiBtc2dpZCAiVW5rbm93biBlcnJvciIKIG1zZ3N0ciAiVW5iZWthbm50ZXIgRmVobGVyLiIKIApAQCAtNDk3LDU3ICs1MjcsNjIgQEAKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICJBdXNkcnVjayBlcndhcnRldC4iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0MSBidWlsdGlucy9yZWFkLmRlZjoyNzIKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgorbXNnc3RyICIlczogSXN0IGtlaW4gQXJyYXkuIgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NyBidWlsdGlucy9yZWFkLmRlZjoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICIlZDogVW5nw7xsdGlnZXIgRGF0ZWliZXplaWNobmVyOiAlcyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU4IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY2IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW5lIGNvdW50IgotbXNnc3RyICIiCittc2dzdHIgIiVzOiBVbmfDvGx0aWdlIFplaWxlbmFuemFobGFuZ2FiZS4iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFycmF5IG9yaWdpbiIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczogIFVuZ8O8bHRpZ2VyIFplaWxlbmluZGV4IGbDvHIgZGVuIEFycmF5IEJlZ2lubi4iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGNhbGxiYWNrIHF1YW50dW0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzE4CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKIG1zZ2lkICJlbXB0eSBhcnJheSB2YXJpYWJsZSBuYW1lIgotbXNnc3RyICIiCittc2dzdHIgIkZlaGxlbmRlciBOYW1lIGbDvHIgZGllIEFycmF5IFZhcmlhYmxlLiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzM5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNDcKIG1zZ2lkICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgotbXNnc3RyICIiCittc2dzdHIgIkRpZSBBcnJheSBWYXJpYWJsZW4gVW50ZXJzdMO8dHp1bmcgaXN0IGluIGRpZXNlciBTaGVsbCBuaWNodCB2b3JoYW5kZW4uIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjM2NworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgotbXNnc3RyICIiCittc2dzdHIgImAlcyc6IEZlaGxlbmRlcyBGb3JtYXRpZXJ1bmdzemVpY2hlbi4iCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTQ0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYCVjJzogVW5nw7xsdGlnZXMgRm9ybWF0aWVydW5nc3plaWNoZW4uIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU3MQorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogJXM6ICVzIgogbXNnc3RyICJXYXJudW5nOiAlczogJXMiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzUwCisjOiBidWlsdGlucy9wcmludGYuZGVmOjc1NwogbXNnaWQgIm1pc3NpbmcgaGV4IGRpZ2l0IGZvciBcXHgiCi1tc2dzdHIgIiIKK21zZ3N0ciAiRmVobGVuZGUgaGV4YWRlemltYWxlIFppZmZlciBuYWNoIFxceC4iCiAKICM6IGJ1aWx0aW5zL3B1c2hkLmRlZjoxOTUKIG1zZ2lkICJubyBvdGhlciBkaXJlY3RvcnkiCkBAIC01NTksMTMgKzU5NCwxNCBAQAogCiAjOiBidWlsdGlucy9wdXNoZC5kZWY6NTA2CiBtc2dpZCAiZGlyZWN0b3J5IHN0YWNrIGVtcHR5IgotbXNnc3RyICJkZXIgVmVyemVpY2huaXNzdGFwZWwgaXN0IGxlZXIiCittc2dzdHIgIkRlciBWZXJ6ZWljaG5pc3N0YXBlbCBpc3QgbGVlci4iCiAKICM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo1MDgKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhY2sgaW5kZXgiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjY4MworIywgZnV6enkKIG1zZ2lkICIiCiAiRGlzcGxheSB0aGUgbGlzdCBvZiBjdXJyZW50bHkgcmVtZW1iZXJlZCBkaXJlY3Rvcmllcy4gIERpcmVjdG9yaWVzXG4iCiAiICAgIGZpbmQgdGhlaXIgd2F5IG9udG8gdGhlIGxpc3Qgd2l0aCB0aGUgYHB1c2hkJyBjb21tYW5kOyB5b3UgY2FuIGdldFxuIgpAQCAtNTg4LDYgKzYyNCwxNCBAQAogImJ5XG4iCiAiXHRkaXJzIHdoZW4gaW52b2tlZCB3aXRob3V0IG9wdGlvbnMsIHN0YXJ0aW5nIHdpdGggemVyby4iCiBtc2dzdHIgIiIKKyJaZWlndCBkaWUgTGlzdGUgZGVyIGdlZ2Vud8OkcnRpZyBnZXNwZWljaGVydGVuIFZlcnplaWNobmlzc2UgYW4uXG4iCisiICAgIEdlc3BlaWNoZXJ0IHdlcmRlbiBkaWUgVmVyemVpY2huaXNzZSBkdXJjaCBkYXMgYHBvcGQnIEtvbW1hbmRvIHVuZFxuIgorIiAgICBrw7ZubmVuIGR1cmNoIGRhcyBgcHVzaGQnIEtvbW1hbmRvIHdpZWRlciB2b20gU3RhcGVsIGVudGZlcm50XG4iCisiICAgIHdlcmRlbi5cbiIKKyJcbiIKKyIgICAgT3B0aW9uZW46XG4iCisiICAgICAgLWMgICAgICAgIFZlcnplaWNobmlzc3RhcGVsIGR1cmNoIEzDtnNjaGVuIGFsbGVyIEVpbnRyw6RnZSBiZXJlaW5pZ2VuLlxuIgorIiAgICAgIC1sICAgICAgICAiCiAKICM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo3MDUKIG1zZ2lkICIiCkBAIC02MTUsMjAgKzY1OSwyMCBAQAogbXNnc3RyICIiCiAiTGVndCBlaW4gVmVyemVpY2huaXNlaW50cmFnIGF1ZiBkZW4gVmVyemVpY2huaXNzdGFwZWwgYWIgb2RlciByb3RpZXJ0XG4iCiAiZGVuIFN0YXBlbCBzbywgZGFzcyBkYXMgYWt0dWVsbGUgVmVyemVpY2huaXMgb2JlbiBsaWVndC4gIE9obmUgQXJndW1lbnRlXG4iCi0id2VyZGVuIGRpZSBiZWlkZW4gb2JlcmVuIEVpbnRy5GdlIHZlcnRhdXNjaHQuXG4iCisid2VyZGVuIGRpZSBiZWlkZW4gb2JlcmVuIEVpbnRyw6RnZSB2ZXJ0YXVzY2h0LlxuIgogIlxuIgogIiAgICBPcHRpb25lbjogXG4iCiAiICAgICAgIC1uXHRWZXJtZWlkZXQgZGFzIFdlY2hzZWxuIGRlcyBWZXJ6ZWljaG5pc3Nlcywgc28gZGFzc1xuIgotIlx0bnVyIGRlciBWZXJ6ZWljaG5pc3N0YXBlbCBnZeRuZGVydCB3aXJkLlxuIgorIlx0bnVyIGRlciBWZXJ6ZWljaG5pc3N0YXBlbCBnZcOkbmRlcnQgd2lyZC5cbiIKICJcbiIKICIgICAgQXJndW1lbnRlOlxuIgogIiAgICAgICtOXHRSb3RpZXJ0IGRlbiBWZXJ6ZWljaG5pc3N0YXBlbCwgZGFzcyBkYXMgTi10ZSBWZXJ6ZWljaG5pc1xuIgotIlx0dm9uIGxpbmtzLCBkYXMgdm9uIGBkaXJzJyBhbmdlemVpZ3Qgd2lyZCwgbmFjaCBvYmVuIGtvbW10LiAgRGllIFrkaGx1bmdcbiIKKyJcdHZvbiBsaW5rcywgZGFzIHZvbiBgZGlycycgYW5nZXplaWd0IHdpcmQsIG5hY2ggb2JlbiBrb21tdC4gIERpZSBaw6RobHVuZ1xuIgogIlx0YmVnaW5udCBkYWJlaSBtaXQgTnVsbC5cbiIKICJcbiIKICIgICAgICAtTlx0Um90aWVydCBkZW4gVmVyemVpY2huaXNzdGFwZWwsIGRhc3MgZGFzIE4tdGUgVmVyemVpY2huaXNcbiIKICJcdHZvbiByZWNodHMsIGRhcyB2b24gYGRpcnMnIGFuZ2V6ZWlndCB3aXJkLCBuYWNoIG9iZW4ga29tbXQuICBEaWUgXG4iCi0iXHRa5GhsdW5nIGJlZ2lubnQgZGFiZWkgbWl0IE51bGwuXG4iCisiXHRaw6RobHVuZyBiZWdpbm50IGRhYmVpIG1pdCBOdWxsLlxuIgogIlxuIgogIiAgICAgIGRpclx0TGVndCBESVIgYXVmIGRlbiBWZXJ6ZWljaG5pc3N0YXBlbCB1bmQgd2VjaHNlbHQgaW4gZGllc2VzXG4iCiAiICAgICAgVmVyemVpY2huaXMuXG4iCkBAIC02NTUsMzMgKzY5OSwzMyBAQAogIiAgICBcbiIKICIgICAgVGhlIGBkaXJzJyBidWlsdGluIGRpc3BsYXlzIHRoZSBkaXJlY3Rvcnkgc3RhY2suIgogbXNnc3RyICIiCi0iRXJudGZlcm50IEVpbnRy5GdlIHZvbSBTdGFwZWwuICBPaG5lIEFyZ3VtZW50ZSB3aXJkIGRlciBvYmVyc3RlIEVpbnRyYWdcbiIKLSIgICAgZ2Vs9nNjaHQgdW5kIGFuc2NobGll32VuZCBpbiBkYXMgZGFzIG5ldWUgb2JlbiBsaWVnZWRlIFZlcnplaWNobmlzXG4iCisiRXJudGZlcm50IEVpbnRyw6RnZSB2b20gU3RhcGVsLiAgT2huZSBBcmd1bWVudGUgd2lyZCBkZXIgb2JlcnN0ZSBFaW50cmFnXG4iCisiICAgIGdlbMO2c2NodCB1bmQgYW5zY2hsaWXDn2VuZCBpbiBkYXMgZGFzIG5ldWUgb2JlbiBsaWVnZWRlIFZlcnplaWNobmlzXG4iCiAiICAgIGdld2VjaHNlbHQuXG4iCiAiICAgIFxuIgogIiAgICBPcHRpb25lbjpcbiIKICIgICAgICAtblx0VmVybWVpZGV0IGRhcyBXZWNoc2VsbiBkZXMgVmVyemVpY2huaXNzZXMsIHNvIGRhc3NcbiIKLSJcdG51ciBkZXIgVmVyemVpY2huaXNzdGFwZWwgZ2XkbmRlcnQgd2lyZC5cbiIKKyJcdG51ciBkZXIgVmVyemVpY2huaXNzdGFwZWwgZ2XDpG5kZXJ0IHdpcmQuXG4iCiAiICAgIFxuIgogIiAgICBBcmd1bWVudGU6XG4iCiAiICAgICAgK05cdEVudGZlcm50IGRlbiBOLXRlbiBFaW50cmFnIHZvbiBsaW5rcywgZGVyIHZvbiBgZGlycydcbiIKLSJcdGFuZ2V6ZWlndCB3aXJkLiAgRGFiZWkgYmVnaW5udCBkaWUgWuRobHVuZyB2b24gTnVsbC4gIFNvXG4iCisiXHRhbmdlemVpZ3Qgd2lyZC4gIERhYmVpIGJlZ2lubnQgZGllIFrDpGhsdW5nIHZvbiBOdWxsLiAgU29cbiIKICJcdGVudGZlcm50IHouQi4gYHBvcGQgKzAnIGRlbiBlcnN0ZW4gdW5kIGBwb3BkICsxJyBkZW4gendlaXRlblxuIgogIlx0RWludHJhZy5cbiIKICIgICAgXG4iCiAiICAgICAgLU5cdEVudGZlcm50IGRlbiBOLXRlbiBFaW50cmFnIHZvbiByZWNodHMsIGRlciB2b24gYGRpcnMnXG4iCi0iXHRhbmdlemVpZ3Qgd2lyZC4gIERhYmVpIGJlZ2lubnQgZGllIFrkaGx1bmcgdm9uIE51bGwuICBTb1xuIgorIlx0YW5nZXplaWd0IHdpcmQuICBEYWJlaSBiZWdpbm50IGRpZSBaw6RobHVuZyB2b24gTnVsbC4gIFNvXG4iCiAiXHRlbnRmZXJudCB6LkIuIGBwb3BkIC0wJyBkZW4gbGV0enRlbiB1bmQgYHBvcGQgKzEnIGRlbiB2b3JsZXR6dGVuXG4iCiAiXHRFaW50cmFnLlxuIgogIiAgICBcbiIKICIgICAgRGFzIGBkaXJzJyBLb21tYW5kbyB6ZWlndCBkZW4gVmVyemVpY2huaXNzdGFwZWwgYW4uIgogCi0jOiBidWlsdGlucy9yZWFkLmRlZjoyNDgKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCB0aW1lb3V0IHNwZWNpZmljYXRpb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IFVuZ8O8bHRpZ2UgV2FydGV6ZWl0YW5nZWJlLiIKIAotIzogYnVpbHRpbnMvcmVhZC5kZWY6NTc0CisjOiBidWlsdGlucy9yZWFkLmRlZjo1ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZCBlcnJvcjogJWQ6ICVzIgogbXNnc3RyICJMZXNlZmVobGVyOiAlZDogJXMiCkBAIC03MDcsMjkgKzc1MSwyOSBAQAogIzogYnVpbHRpbnMvc2V0LmRlZjo4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhbiBhcnJheSB2YXJpYWJsZSIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczogSXN0IGtlaW4gQXJyYXkuIgogCiAjOiBidWlsdGlucy9zZXRhdHRyLmRlZjoxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhIGZ1bmN0aW9uIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiBJc3Qga2VpbmUgRnVua3Rpb24uIgogCiAjOiBidWlsdGlucy9zaGlmdC5kZWY6NzEgYnVpbHRpbnMvc2hpZnQuZGVmOjc3CiBtc2dpZCAic2hpZnQgY291bnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI1NAorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI2MAogbXNnaWQgImNhbm5vdCBzZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMgc2ltdWx0YW5lb3VzbHkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiS2FubiBuaWNodCBTaGVsbCBPcHRpbmVuIGdsZWljaHplaXRpZyBha3RpdmllcmVuIHVuZCBkZWFrdGl2aWVyZW4uIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MzE5CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTI4CiBtc2dpZCAiZmlsZW5hbWUgYXJndW1lbnQgcmVxdWlyZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiRWluIERhdGVpbmFtZSB3aXJkIGFzIEFyZ3VtZW50IGJlbsO2dGlndC4iCiAKICM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTUzCiAjLCBjLWZvcm1hdApAQCAtNzUzLDcgKzc5Nyw3IEBACiAjOiBidWlsdGlucy90eXBlLmRlZjoyNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgYSBzaGVsbCBrZXl3b3JkXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXMgSXN0IGVpbiByZXNlcnZpZXJ0ZXMgU2NobMO8c3NlbHdvcnQgZGVyIFNoZWxsLlxuIgogCiAjOiBidWlsdGlucy90eXBlLmRlZjoyNzQKICMsIGMtZm9ybWF0CkBAIC03NjgsNyArODEyLDcgQEAKICM6IGJ1aWx0aW5zL3R5cGUuZGVmOjMxNyBidWlsdGlucy90eXBlLmRlZjozOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgJXNcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICIlcyBpc3QgJXNcbiIKIAogIzogYnVpbHRpbnMvdHlwZS5kZWY6MzM3CiAjLCBjLWZvcm1hdApAQCAtNzg4LDcgKzgzMiw3IEBACiAjOiBidWlsdGlucy91bGltaXQuZGVmOjQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGdldCBsaW1pdDogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IEthbm4gZGllIG5pY2h0IEdyZW56ZSBzZXR6ZW46ICVzIgogCiAjOiBidWlsdGlucy91bGltaXQuZGVmOjQ1MwogbXNnaWQgImxpbWl0IgpAQCAtNzk3LDcgKzg0MSw3IEBACiAjOiBidWlsdGlucy91bGltaXQuZGVmOjQ2NSBidWlsdGlucy91bGltaXQuZGVmOjc2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG1vZGlmeSBsaW1pdDogJXMiCi1tc2dzdHIgIiVzOiBLYW5uIGRpZSBHcmVuemUgbmljaHQg5G5kZXJuOiAlcyIKK21zZ3N0ciAiJXM6IEthbm4gZGllIEdyZW56ZSBuaWNodCDDpG5kZXJuOiAlcyIKIAogIzogYnVpbHRpbnMvdW1hc2suZGVmOjExOAogbXNnaWQgIm9jdGFsIG51bWJlciIKQEAgLTgxMyw4OCArODU3LDg2IEBACiBtc2dpZCAiYCVjJzogaW52YWxpZCBzeW1ib2xpYyBtb2RlIGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBlcnJvci5jOjg5IGVycm9yLmM6MzIwIGVycm9yLmM6MzIyIGVycm9yLmM6MzI0CisjOiBlcnJvci5jOjkwIGVycm9yLmM6MzIxIGVycm9yLmM6MzIzIGVycm9yLmM6MzI1CiBtc2dpZCAiIGxpbmUgIgogbXNnc3RyICIgWmVpbGUgIgogCi0jOiBlcnJvci5jOjE2NAorIzogZXJyb3IuYzoxNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAibGFzdCBjb21tYW5kOiAlc1xuIgogbXNnc3RyICJMZXR6dGVzIEtvbW1hbmRvOiAlc1xuIgogCi0jOiBlcnJvci5jOjE3MgorIzogZXJyb3IuYzoxNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcuLi4iCiBtc2dzdHIgIkFiYnJ1Y2guLi4iCiAKLSM6IGVycm9yLmM6NDA1Ci1tc2dpZCAidW5rbm93biBjb21tYW5kIGVycm9yIgotbXNnc3RyICIiCi0KICM6IGVycm9yLmM6NDA2Cittc2dpZCAidW5rbm93biBjb21tYW5kIGVycm9yIgorbXNnc3RyICJVbmJla2FubnRlcyBLb21tYW5kbyIKKworIzogZXJyb3IuYzo0MDcKIG1zZ2lkICJiYWQgY29tbWFuZCB0eXBlIgogbXNnc3RyICIiCiAKICMgUHJvZ3JhbW1pZXJmZWhsZXIKLSM6IGVycm9yLmM6NDA3CisjOiBlcnJvci5jOjQwOAogbXNnaWQgImJhZCBjb25uZWN0b3IiCiBtc2dzdHIgIiIKIAotIzogZXJyb3IuYzo0MDgKLSMsIGZ1enp5CisjOiBlcnJvci5jOjQwOQogbXNnaWQgImJhZCBqdW1wIgotbXNnc3RyICJGYWxzY2hlciBTcHJ1bmcgJWQuIgorbXNnc3RyICJGYWxzY2hlciBTcHJ1bmciCiAKLSM6IGVycm9yLmM6NDQ2CisjOiBlcnJvci5jOjQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5ib3VuZCB2YXJpYWJsZSIKIG1zZ3N0ciAiJXMgaXN0IG5pY2h0IGdlc2V0enQuIgogCiAjOiBldmFsLmM6MTgxCiAjLCBjLWZvcm1hdAotbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgotbXNnc3RyICJcYVp1IGxhbmdlIGtlaW5lIEVpbmdhYmU6IEF1dG9tYXRpc2NoIGF1c2dlbG9nZ3QuXG4iCittc2dpZCAiB3RpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKK21zZ3N0ciAiB1p1IGxhbmdlIGtlaW5lIEVpbmdhYmU6IEF1dG9tYXRpc2NoIGF1c2dlbG9nZ3QuXG4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDkxCisjOiBleGVjdXRlX2NtZC5jOjQ5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgogbXNnc3RyICJLYW5uIG5pY2h0IGRpZSBTdGFuZGFyZGVpbmdhYmUgdm9uIC9kZXYvbnVsbCB1bWxlaXRlbjogJXMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MTExMgorIzogZXhlY3V0ZV9jbWQuYzoxMTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKLW1zZ3N0ciAiVElNRUZPUk1BVDogYCVjJzogVW5n/Gx0aWdlcyBGb3JtYXR6ZWljaGVuLiIKK21zZ3N0ciAiVElNRUZPUk1BVDogYCVjJzogVW5nw7xsdGlnZXMgRm9ybWF0emVpY2hlbi4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6MjAxMQorIzogZXhlY3V0ZV9jbWQuYzoyMDc1CiBtc2dpZCAicGlwZSBlcnJvciIKIG1zZ3N0ciAiUGlwZS1GZWhsZXIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDM2MworIzogZXhlY3V0ZV9jbWQuYzo0NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSBgLycgaW4gY29tbWFuZCBuYW1lcyIKLW1zZ3N0ciAiJXM6IFZlcmJvdGVuOiAgYC8nIGlzdCBpbiBLb21tYW5kb25hbWVuIHVuenVs5HNzaWcuIgorbXNnc3RyICIlczogVmVyYm90ZW46ICBgLycgaXN0IGluIEtvbW1hbmRvbmFtZW4gdW56dWzDpHNzaWcuIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ0NTQKKyM6IGV4ZWN1dGVfY21kLmM6NDU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBLb21tYW5kbyBuaWNodCBnZWZ1bmRlbi4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDcwOAotIywgZnV6enksIGMtZm9ybWF0CisjOiBleGVjdXRlX2NtZC5jOjQ4MjcKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCi1tc2dzdHIgIiVzOiBpc3QgZWluIFZlcnplaWNobmlzLiIKK21zZ3N0ciAiJXM6ICVzOiBEZWZla3RlciBJbnRlcnByZXRlciIKIAotIzogZXhlY3V0ZV9jbWQuYzo0ODU3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGV4ZWN1dGVfY21kLmM6NDk3NgorIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIGZkICVkIHRvIGZkICVkIgotbXNnc3RyICJLYW5uIGZkICVkIG5pY2h0IGF1ZiBmZCAwIHZlcmRvcHBlbG46ICVzIgorbXNnc3RyICJLYW5uIGZkICVkIG5pY2h0IGF1ZiBmZCAlZCB2ZXJkb3BwZWxuLiIKIAogIzogZXhwci5jOjI0MQogbXNnaWQgImV4cHJlc3Npb24gcmVjdXJzaW9uIGxldmVsIGV4Y2VlZGVkIgogbXNnc3RyICJadSB2aWVsZSBSZWt1cnNpb25lbiBpbiBBdXNkcnVjay4iCiAKICM6IGV4cHIuYzoyNjUKLSMsIGZ1enp5CiBtc2dpZCAicmVjdXJzaW9uIHN0YWNrIHVuZGVyZmxvdyIKIG1zZ3N0ciAiUmVrdXJzaW9uc3N0YXBlbCBsZWVyLiIKIApAQCAtOTExLDEzICs5NTMsMTIgQEAKIG1zZ3N0ciAiRGl2aXNpb24gZHVyY2ggMC4iCiAKICM6IGV4cHIuYzo0NzEKLSMsIGZ1enp5CiBtc2dpZCAiYnVnOiBiYWQgZXhwYXNzaWduIHRva2VuIgotbXNnc3RyICJGZWhsZXI6IEZhbHNjaGVzIFp1d2Vpc3VuZ3N6ZWljaGVuICVkLiIKK21zZ3N0ciAiRmVobGVyOiBGYWxzY2hlciBadXdlaXN1bmdzb3BlcmF0b3IuIgogCiAjOiBleHByLmM6NTEzCiBtc2dpZCAiYDonIGV4cGVjdGVkIGZvciBjb25kaXRpb25hbCBleHByZXNzaW9uIgotbXNnc3RyICJgOicgZXJ3YXJ0ZXQgZvxyIGVpbiBiZWRpbmd0ZW4gQXVzZHJ1Y2suIgorbXNnc3RyICJgOicgZXJ3YXJ0ZXQgZsO8ciBlaW4gYmVkaW5ndGVuIEF1c2RydWNrLiIKIAogIzogZXhwci5jOjc4MQogbXNnaWQgImV4cG9uZW50IGxlc3MgdGhhbiAwIgpAQCAtOTI2LDU4ICs5NjcsNTcgQEAKICM6IGV4cHIuYzo4MjYKIG1zZ2lkICJpZGVudGlmaWVyIGV4cGVjdGVkIGFmdGVyIHByZS1pbmNyZW1lbnQgb3IgcHJlLWRlY3JlbWVudCIKIG1zZ3N0ciAiIgotIk5hY2ggZWluZW0gUHLkaW5rcmVtZW50IG9kZXIgUHLkZGVrcmVtZW50IHdpcmQgZWluIEJlemVpY2huZXIgZXJ3YXJ0ZXQuIgorIk5hY2ggZWluZW0gUHLDpGlua3JlbWVudCBvZGVyIFByw6RkZWtyZW1lbnQgd2lyZCBlaW4gQmV6ZWljaG5lciBlcndhcnRldC4iCiAKICM6IGV4cHIuYzo4NTQKIG1zZ2lkICJtaXNzaW5nIGApJyIKIG1zZ3N0ciAiRmVobGVuZGUgYCknIgogCi0jOiBleHByLmM6ODk3IGV4cHIuYzoxMTc1Ci0jLCBmdXp6eQorIzogZXhwci5jOjg5NyBleHByLmM6MTE3NgogbXNnaWQgInN5bnRheCBlcnJvcjogb3BlcmFuZCBleHBlY3RlZCIKLW1zZ3N0ciAiU3ludGF4IEZlaGxlcjogVW5lcndhcnRldGVzIERhdGVpZW5kZS4iCittc2dzdHIgIlN5bnRheCBGZWhsZXI6IE9wZXJhdG9yIGVyd2FydGV0LiIKIAotIzogZXhwci5jOjExNzcKKyM6IGV4cHIuYzoxMTc4CiBtc2dpZCAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCi1tc2dzdHIgIlN5bnRheGZlaGxlcjogVW5n/Gx0aWdlciBhcml0aG1ldGlzY2hlciBPcGVyYXRvci4iCittc2dzdHIgIlN5bnRheGZlaGxlcjogVW5nw7xsdGlnZXIgYXJpdGhtZXRpc2NoZXIgT3BlcmF0b3IuIgogCi0jOiBleHByLmM6MTIwMQotIywgZnV6enksIGMtZm9ybWF0CisjOiBleHByLmM6MTIwMgorIywgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgotbXNnc3RyICIlczogJXM6ICVzIChGZWhsZXJ2ZXJ1cnNhY2hlbmRlcyBXb3J0IGlzdCBcXFwiJXNcXFwiKS5cbiIKK21zZ3N0ciAiJXMlcyVzOiAlcyAoRmVobGVydmVydXJzYWNoZW5kZXMgWmVpY2hlbiBpc3QgXFxcIiVzXFxcIikuIgogCi0jOiBleHByLmM6MTI1OQorIzogZXhwci5jOjEyNjAKIG1zZ2lkICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKLW1zZ3N0ciAiVW5n/Gx0aWdlIEJhc2lzLiIKK21zZ3N0ciAiVW5nw7xsdGlnZSBCYXNpcy4iCiAKLSM6IGV4cHIuYzoxMjc5CisjOiBleHByLmM6MTI4MAogbXNnaWQgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKLW1zZ3N0ciAiRGVyIFdlcnQgaXN0IHp1IGdyb98gZvxyIGRpZSBha3R1ZWxsZSBCYXNpcy4iCittc2dzdHIgIkRlciBXZXJ0IGlzdCB6dSBncm/DnyBmw7xyIGRpZSBha3R1ZWxsZSBCYXNpcy4iCiAKLSM6IGV4cHIuYzoxMzI4Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGV4cHIuYzoxMzI5CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCi1tc2dzdHIgIlVtbGVua2ZlaGxlciIKK21zZ3N0ciAiJXM6IEZlaGxlciBpbSBBdXNkcnVjay5cbiIKIAogIzogZ2VuZXJhbC5jOjYxCiBtc2dpZCAiZ2V0Y3dkOiBjYW5ub3QgYWNjZXNzIHBhcmVudCBkaXJlY3RvcmllcyIKLW1zZ3N0ciAiZ2V0d2Q6IEthbm4gbmljaHQgYXVmIGRhcyD8YmVyZ2VvcmRuZXRlIFZlcnplaWNobmlzIHp1Z3JlaWZlbi4iCittc2dzdHIgImdldHdkOiBLYW5uIG5pY2h0IGF1ZiBkYXMgw7xiZXJnZW9yZG5ldGUgVmVyemVpY2huaXMgenVncmVpZmVuLiIKIAotIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ1NTkKKyM6IGlucHV0LmM6OTQgc3Vic3QuYzo0ODU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgotbXNnc3RyICJLb25udGUgZGVuIE5vLURlbGF5IE1vZHVzIGb8ciBmZCAlZCBuaWNodCB3aWVkZXIgaGVyc3RlbGxlbi4iCittc2dzdHIgIktvbm50ZSBkZW4gTm8tRGVsYXkgTW9kdXMgZsO8ciBmZCAlZCBuaWNodCB3aWVkZXIgaGVyc3RlbGxlbi4iCiAKICM6IGlucHV0LmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBhbGxvY2F0ZSBuZXcgZmlsZSBkZXNjcmlwdG9yIGZvciBiYXNoIGlucHV0IGZyb20gZmQgJWQiCi1tc2dzdHIgIkthbm4ga2VpbmVuIG5ldWVuIEZpbGVkZXNrcmlwdG9yIGb8ciBkaWUgRWluZ2FiZSB2b24gZmQgJWQgenV3ZWlzZW4uIgorbXNnc3RyICJLYW5uIGtlaW5lbiBuZXVlbiBGaWxlZGVza3JpcHRvciBmw7xyIGRpZSBFaW5nYWJlIHZvbiBmZCAlZCB6dXdlaXNlbi4iCiAKICMgRGVidWcgQXVzZ2FiZQogIzogaW5wdXQuYzoyNjYKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJzYXZlX2Jhc2hfaW5wdXQ6IGJ1ZmZlciBhbHJlYWR5IGV4aXN0cyBmb3IgbmV3IGZkICVkIgotbXNnc3RyICJjaGVja19iYXNoX2lucHV0OiBidWZmZXIgYWxyZWFkeSBleGlzdHMgZm9yIG5ldyBmZCAlZCIKK21zZ3N0ciAic2F2ZV9iYXNoX2lucHV0OiBFcyBleGlzdGllcnQgYmVyZWl0cyBlaW4gUHVmZmVyIGbDvHIgZGVuIG5ldWVuIGZkICVkLiIKIAogIzogam9icy5jOjQ2NgogbXNnaWQgInN0YXJ0X3BpcGVsaW5lOiBwZ3JwIHBpcGUiCkBAIC0xMDA1LDkgKzEwNDUsOSBAQAogCiAjIFByb2dyYW1taWVyZmVobGVyCiAjOiBqb2JzLmM6MTQwMQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgImRlc2NyaWJlX3BpZDogJWxkOiBubyBzdWNoIHBpZCIKLW1zZ3N0ciAiZGVzY3JpYmVfcGlkOiBQcm96Zd8tTnVtbWVyIGV4aXN0aWVydCBuaWNodCAoJWQpIVxuIgorbXNnc3RyICJkZXNjcmliZV9waWQ6ICVsZDogUHJvemXDn251bW1lciBleGlzdGllcnQgbmljaHQuIgogCiAjOiBqb2JzLmM6MTQxNgogIywgYy1mb3JtYXQKQEAgLTEwMTgsNyArMTA1OCw3IEBACiBtc2dpZCAiRG9uZSIKIG1zZ3N0ciAiRmVydGlnIgogCi0jOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIyCisjOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIzCiBtc2dpZCAiU3RvcHBlZCIKIG1zZ3N0ciAiQW5nZWhhbHRlbiIKIApAQCAtMTAyOSw3ICsxMDY5LDcgQEAKIAogIzogam9icy5jOjE0NDMKIG1zZ2lkICJSdW5uaW5nIgotbXNnc3RyICJM5HVmdCIKK21zZ3N0ciAiTMOkdWZ0IgogCiAjOiBqb2JzLmM6MTQ1NwogIywgYy1mb3JtYXQKQEAgLTEwNTYsODAgKzEwOTYsODQgQEAKIG1zZ3N0ciAiICAod2Q6ICVzKSIKIAogIyBpbnRlcm5lciBGZWhsZXIKLSM6IGpvYnMuYzoxNzcxCisjOiBqb2JzLmM6MTc3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGlsZCBzZXRwZ2lkICglbGQgdG8gJWxkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjA5OSBub2pvYnMuYzo1ODUKKyM6IGpvYnMuYzoyMTA0IG5vam9icy5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0OiBwaWQgJWxkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgc2hlbGwiCi1tc2dzdHIgIndhaXQ6IFByb3pl3yAlbGQgd3VyZGUgbmljaHQgdm9uIGRpZXNlciBTaGVsbCBnZXN0YXJ0ZXQuIgorbXNnc3RyICJ3YWl0OiBQcm96ZcOfICVsZCB3dXJkZSBuaWNodCB2b24gZGllc2VyIFNoZWxsIGdlc3RhcnRldC4iCiAKLSM6IGpvYnMuYzoyMzI2CisjOiBqb2JzLmM6MjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyNTk4CisjOiBqb2JzLmM6MjYwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyODIwCisjOiBqb2JzLmM6MjgyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogUHJvZ3JhbW0gaXN0IGJlZW5kZXQuIgogCi0jOiBqb2JzLmM6MjgyOQorIzogam9icy5jOjI4MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiBtc2dzdHIgIiIKIAorIzogam9icy5jOjMwNTkKK21zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCittc2dzdHIgIiIKKwogIyBEZWJ1ZyBBdXNnYWJlCi0jOiBqb2JzLmM6MzQ5MgorIzogam9icy5jOjM1MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGxpbmUgJWQ6ICIKIG1zZ3N0ciAiJXM6IFplaWxlICVkOiAiCiAKLSM6IGpvYnMuYzozNTA2IG5vam9icy5jOjgxNAorIzogam9icy5jOjM1MjIgbm9qb2JzLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAoY29yZSBkdW1wZWQpIgogbXNnc3RyICIgKFNwZWljaGVyYWJ6dWcgZ2VzY2hyaWViZW4pIgogCi0jOiBqb2JzLmM6MzUxOCBqb2JzLmM6MzUzMQorIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHdkIG5vdzogJXMpXG4iCi1tc2dzdHIgIihnZWdlbnfkcnRpZ2VzIEFyYmVpdHN2ZXJ6ZWljaG5pcyBpc3Q6ICVzKVxuIgorbXNnc3RyICIoZ2VnZW53w6RydGlnZXMgQXJiZWl0c3ZlcnplaWNobmlzIGlzdDogJXMpXG4iCiAKICMgaW50ZXJuZXIgRmVobGVyCi0jOiBqb2JzLmM6MzU2MworIzogam9icy5jOjM1NzkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIGZhaWxlZCIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JzOiBnZXRwZ3JwIHdhciBuaWNodCBlcmZvbGdyZWljaC4iCiAKICMgaW50ZXJuZXIgRmVobGVyCi0jOiBqb2JzLmM6MzYyMworIzogam9icy5jOjM2MzkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5lIGRpc2NpcGxpbmUiCiBtc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKIAogIyBpbnRlcm5lciBGZWhsZXIKLSM6IGpvYnMuYzozNjMzCisjOiBqb2JzLmM6MzY0OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiBtc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiAKLSM6IGpvYnMuYzozNjYxCisjOiBqb2JzLmM6MzY3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgKCVkKSIKLW1zZ3N0ciAiIgorbXNnc3RyICJLYW5uIGRpZSBQcm96ZXNzZ3J1cHBlIGRlcyBUZXJtaW5hbHMgbmljaHQgc2V0emVuICglZCkuIgogCi0jOiBqb2JzLmM6MzY2NgorIzogam9icy5jOjM2ODIKIG1zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgogbXNnc3RyICJLZWluZSBKb2IgU3RldWVydW5nIGluIGRpZXNlciBTaGVsbC4iCiAKICM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6Mjk2Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAibWFsbG9jOiBmYWlsZWQgYXNzZXJ0aW9uOiAlc1xuIgotbXNnc3RyICJtYWxsb2M6ICBGZWhsZXIgYmVpIFNwZWljaGVyenV3ZWlzdW5nOiAlc1xuIgorbXNnc3RyICJtYWxsb2M6IFNwZWljaGVyenVzaWNoZXJ1bmcgZ2VzY2hlaXRlcnQ6ICVzLlxuIgogCiAjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjMxMgogIywgYy1mb3JtYXQKQEAgLTExMzcsNiArMTE4MSw4IEBACiAiXHJcbiIKICJtYWxsb2M6ICVzOiVkOiBhc3NlcnRpb24gYm90Y2hlZFxyXG4iCiBtc2dzdHIgIiIKKyJcXHJcbiIKKyJtYWxsb2M6ICVzOiVkOiBTcGVpY2hlcnp1c2ljaGVydW5nIHZlcnBmdXNjaHRcXHJcbiIKIAogIzogbGliL21hbGxvYy9tYWxsb2MuYzozMTMKIG1zZ2lkICJ1bmtub3duIgpAQCAtMTE0NSw3MyArMTE5MSwxMDAgQEAKICM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6Nzk3CiBtc2dpZCAibWFsbG9jOiBibG9jayBvbiBmcmVlIGxpc3QgY2xvYmJlcmVkIgogbXNnc3RyICIiCisiTWFsbG9jOiAgRWluIGZyZWkgZ2VrZW5uemVpY2huZXRlciBTcGVpY2hlcmJlcmVpY2ggd3VyZGUgw7xiZXJzY2hyaWViZW4uIgogCiAjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjg3NAogbXNnaWQgImZyZWU6IGNhbGxlZCB3aXRoIGFscmVhZHkgZnJlZWQgYmxvY2sgYXJndW1lbnQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZnJlZTogIFd1cmRlIGbDvHIgYmVyZWl0cyBmcmVpZ2VnZWJlbmVuIFNwZWljaGVyYmVyZWljaCBhdWZnZXJ1ZmVuLiIKIAogIzogbGliL21hbGxvYy9tYWxsb2MuYzo4NzcKIG1zZ2lkICJmcmVlOiBjYWxsZWQgd2l0aCB1bmFsbG9jYXRlZCBibG9jayBhcmd1bWVudCIKLW1zZ3N0ciAiIgorbXNnc3RyICJmcmVlOiBXdXJkZSBmw7xyIG5pY2h0IHp1Z2VvcmRuZXRlbiBTcGVpY2hlcmJlcmVpY2ggYXVmZ2VydWZlbi4iCiAKICM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6ODk2CiBtc2dpZCAiZnJlZTogdW5kZXJmbG93IGRldGVjdGVkOyBtaF9uYnl0ZXMgb3V0IG9mIHJhbmdlIgotbXNnc3RyICIiCittc2dzdHIgImZyZWU6IFVuZGVyZmxvdyBlcmthbm50OyBtaF9uYnl0ZXMgYXXDn2VyaGFsYiBkZXMgR8O8bHRpZ2tlaXRzYmVyZWljaHMuIgogCiAjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjkwMgogbXNnaWQgImZyZWU6IHN0YXJ0IGFuZCBlbmQgY2h1bmsgc2l6ZXMgZGlmZmVyIgotbXNnc3RyICIiCittc2dzdHIgImZyZWU6IEJlZ2lubiB1bmQgRW5kZSBTZWdtZW50Z3LDtsOfZW4gc2luZCB1bnRlcnNjaGllZGxpY2guIgogCiAjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjEwMDEKIG1zZ2lkICJyZWFsbG9jOiBjYWxsZWQgd2l0aCB1bmFsbG9jYXRlZCBibG9jayBhcmd1bWVudCIKLW1zZ3N0ciAiIgorbXNnc3RyICJyZWFsbG9jOiBNaXQgbmljaHQgenVnZXdpZXNlbmVuIEFyZ3VtZW50IGF1ZmdlcnVmZW4uIgogCiAjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjEwMTYKIG1zZ2lkICJyZWFsbG9jOiB1bmRlcmZsb3cgZGV0ZWN0ZWQ7IG1oX25ieXRlcyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIiIKKyJyZWFsbG9jOiBVbmRlcmZsb3cgZXJrYW5udDsgbWhfbmJ5dGVzIGF1w59lcmhhbGIgZGVzIEfDvGx0aWdrZWl0c2JlcmVpY2hzLiIKIAogIzogbGliL21hbGxvYy9tYWxsb2MuYzoxMDIyCiBtc2dpZCAicmVhbGxvYzogc3RhcnQgYW5kIGVuZCBjaHVuayBzaXplcyBkaWZmZXIiCi1tc2dzdHIgIiIKK21zZ3N0ciAicmVhbGxvYzogQmVnaW5uIHVuZCBFbmRlIFNlZ21lbnRncsO2w59lbiBzaW5kIHVudGVyc2NoaWVkbGljaC48IgogCiAjOiBsaWIvbWFsbG9jL3RhYmxlLmM6MTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZ2lzdGVyX2FsbG9jOiBhbGxvYyB0YWJsZSBpcyBmdWxsIHdpdGggRklORF9BTExPQz9cbiIKIG1zZ3N0ciAiIgorInJlZ2lzdGVyX2FsbG9jOiBTcGVpY2hlcnp1b3JkbnVuZ3N0YWJlbGxlIGlzdCBtaXQgRklORF9BTExPQyBnZWbDvGxsdD9cbiIKIAogIzogbGliL21hbGxvYy90YWJsZS5jOjE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWdpc3Rlcl9hbGxvYzogJXAgYWxyZWFkeSBpbiB0YWJsZSBhcyBhbGxvY2F0ZWQ/XG4iCiBtc2dzdHIgIiIKKyJyZWdpc3Rlcl9hbGxvYzogJXAgaXN0IGJlcmVpdHMgaW4gZGVyIFNwZWljaGVyenVvcmRudW5nc3RhYmVsbGUgYWxzIGJlbGVndCAiCisiZ2VrZW5uemVpY2huZXQ/XG4iCiAKICM6IGxpYi9tYWxsb2MvdGFibGUuYzoyMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVnaXN0ZXJfZnJlZTogJXAgYWxyZWFkeSBpbiB0YWJsZSBhcyBmcmVlP1xuIgogbXNnc3RyICIiCisicmVnaXN0ZXJfZnJlZTogJXAgaXN0IGJlcmVpdHMgaW4gZGVyIFNwZWljaGVyenVvcmRudW5nc3RhYmVsbGUgYWxzIGZyZWkgIgorImdla2VubnplaWNobmV0P1xuIgogCiAjOiBsaWIvc2gvZm10dWxvbmcuYzoxMDEKIG1zZ2lkICJpbnZhbGlkIGJhc2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAiVW5nw7xsdGlnZSBCYXNpcyIKIAogIzogbGliL3NoL25ldG9wZW4uYzoxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGhvc3QgdW5rbm93biIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczogVW5iZWthbm50ZXIgSG9zdC4iCiAKICM6IGxpYi9zaC9uZXRvcGVuLmM6MTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNlcnZpY2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IHVuYmVrYW5udGVyIERpZW5zdC4iCiAKICM6IGxpYi9zaC9uZXRvcGVuLmM6MzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgbmV0d29yayBwYXRoIHNwZWNpZmljYXRpb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IEZlaGxlcmhhZnRlIE5ldHp3ZXJrc3BmYWRhbmdhYmUuIgogCiAjOiBsaWIvc2gvbmV0b3Blbi5jOjM0NgogbXNnaWQgIm5ldHdvcmsgb3BlcmF0aW9ucyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJEZXIgTmV0endlcmtiZXRyaWViIGlzdCBuaWNodCB1bnRlcnN0w7x0enQuIgorCisjOiBsb2NhbGUuYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCiBtc2dzdHIgIiIKIAorIzogbG9jYWxlLmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2NhbGUuYzoyNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCittc2dzdHIgInhyZWFsbG9jOiAlczolZDogS2FubiBuaWNodCAlbHUgQnl0ZXMgcmVzZXJ2aWVyZW4uIgorCisjOiBsb2NhbGUuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IEthbm4gbmljaHQgJWx1IEJ5dGVzIHJlc2VydmllcmVuLiIKKwogIyBEdSBvZGVyIFNpZT8KICM6IG1haWxjaGVjay5jOjQzMwogbXNnaWQgIllvdSBoYXZlIG1haWwgaW4gJF8iCkBAIC0xMjI2LDEzOCArMTI5OSwxMzMgQEAKIG1zZ2lkICJUaGUgbWFpbCBpbiAlcyBoYXMgYmVlbiByZWFkXG4iCiBtc2dzdHIgIkRpZSBQb3N0IGluICVzIHd1cmRlIGJlcmVpdHMgZ2VsZXNlbi5cbiIKIAotIzogbWFrZV9jbWQuYzozMjIKLSMsIGZ1enp5CisjOiBtYWtlX2NtZC5jOjMyMwogbXNnaWQgInN5bnRheCBlcnJvcjogYXJpdGhtZXRpYyBleHByZXNzaW9uIHJlcXVpcmVkIgotbXNnc3RyICJTeW50YXhmZWhsZXIgaW0gQXVzZHJ1Y2suIgotCi0jOiBtYWtlX2NtZC5jOjMyNAotIywgZnV6enkKLW1zZ2lkICJzeW50YXggZXJyb3I6IGA7JyB1bmV4cGVjdGVkIgotbXNnc3RyICJTeW50YXggRmVobGVyOiBVbmVyd2FydGV0ZXMgRGF0ZWllbmRlLiIKK21zZ3N0ciAiU3ludGF4ZmVobGVyOiBFaW4gYXJpdGhtZXRpc2NoZXIgQXVzZHJ1Y2sgd2lyZCB2ZXJsYW5ndC4iCiAKICM6IG1ha2VfY21kLmM6MzI1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzeW50YXggZXJyb3I6IGA7JyB1bmV4cGVjdGVkIgorbXNnc3RyICJTeW50YXggRmVobGVyOiB1bmVyd2FydGV0ZXMgYDsnLiIKKworIzogbWFrZV9jbWQuYzozMjYKKyMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yOiBgKCglcykpJyIKLW1zZ3N0ciAiU3ludGF4IEZlaGxlciIKK21zZ3N0ciAiU3ludGF4IEZlaGxlcjogYCgoJXMpKScuIgogCiAjIGludGVybmVyIEZlaGxlcgotIzogbWFrZV9jbWQuYzo1NjcKKyM6IG1ha2VfY21kLmM6NTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfaGVyZV9kb2N1bWVudDogYmFkIGluc3RydWN0aW9uIHR5cGUgJWQiCiBtc2dzdHIgIm1ha2VfaGVyZV9kb2N1bWVudDogRmFsc2NoZXIgQmVmZWhsc3R5cCAlZC4iCiAKLSM6IG1ha2VfY21kLmM6NjUxCisjOiBtYWtlX2NtZC5jOjY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJoZXJlLWRvY3VtZW50IGF0IGxpbmUgJWQgZGVsaW1pdGVkIGJ5IGVuZC1vZi1maWxlICh3YW50ZWQgYCVzJykiCiBtc2dzdHIgIiIKIAotIzogbWFrZV9jbWQuYzo3NDYKKyM6IG1ha2VfY21kLmM6NzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6Mjk4NiBwYXJzZS55OjMyMTgKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogcGFyc2UueTozMTMzIHBhcnNlLnk6MzM2OQorIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgJWMnIgogbXNnc3RyICJEYXRlaWVuZGUgYmVpbSBTdWNoZW4gbmFjaCBgJWMnIGVycmVpY2h0LiIKIAotIzogcGFyc2UueTozNzIyCi0jLCBmdXp6eQorIzogcGFyc2UueTozOTUxCiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKLW1zZ3N0ciAiRGF0ZWllbmRlIGJlaW0gU3VjaGVuIG5hY2ggYCVjJyBlcnJlaWNodC4iCittc2dzdHIgIkRhdGVpZW5kZSBiZWltIFN1Y2hlbiBuYWNoIGBdXScgZXJyZWljaHQuIgogCi0jOiBwYXJzZS55OjM3MjcKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogcGFyc2UueTozOTU2CisjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uOiB1bmV4cGVjdGVkIHRva2VuIGAlcyciCi1tc2dzdHIgIlN5bnRheGZlaGxlciBiZWltIHVuZXJ3YXJ0ZXRlbiBXb3J0IGAlcyciCittc2dzdHIgIlN5bnRheGZlaGxlciBpbSBiZWRpbmd0ZW4gQXVzZHJ1Y2s6IFVuZXJ3YXJ0ZXRlcyBaZWljaGVuIGAlcycuIgogCi0jOiBwYXJzZS55OjM3MzEKLSMsIGZ1enp5CisjOiBwYXJzZS55OjM5NjAKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKLW1zZ3N0ciAiU3ludGF4ZmVobGVyIGltIEF1c2RydWNrLiIKK21zZ3N0ciAiU3ludGF4ZmVobGVyIGltIGJlZGluZ2VuIEF1c2RydWNrLiIKIAotIzogcGFyc2UueTozODA5CisjOiBwYXJzZS55OjQwMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCi1tc2dzdHIgIiIKK21zZ3N0ciAiVW5lcndhcnRldGVzIFplaWNoZW46IGAlcycgYW5zdGF0dCB2b24gYCknIgogCi0jOiBwYXJzZS55OjM4MTMKLSMsIGZ1enp5CisjOiBwYXJzZS55OjQwNDIKIG1zZ2lkICJleHBlY3RlZCBgKSciCiBtc2dzdHIgImApJyBlcndhcnRldC4iCiAKLSM6IHBhcnNlLnk6Mzg0MQorIzogcGFyc2UueTo0MDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM4NDUKKyM6IHBhcnNlLnk6NDA3NAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozODg1CisjOiBwYXJzZS55OjQxMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozODg5CisjOiBwYXJzZS55OjQxMjQKIG1zZ2lkICJjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozOTA2CisjOiBwYXJzZS55OjQxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM5MTAKKyM6IHBhcnNlLnk6NDE1MAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzkyMQorIzogcGFyc2UueTo0MTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzkyNAorIzogcGFyc2UueTo0MTY0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzkyOAorIzogcGFyc2UueTo0MTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gJWQgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjUxOTUKKyM6IHBhcnNlLnk6NTQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgIlN5bnRheGZlaGxlciBiZWltIHVuZXJ3YXJ0ZXRlbiBXb3J0IGAlcyciCiAKLSM6IHBhcnNlLnk6NTIxMworIzogcGFyc2UueTo1NDc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCiBtc2dzdHIgIlN5bnRheGZlaGxlciBiZWltIHVuZXJ3YXJ0ZXRlbiBXb3J0IGAlcyciCiAKLSM6IHBhcnNlLnk6NTIyMworIzogcGFyc2UueTo1NDg3CiBtc2dpZCAic3ludGF4IGVycm9yOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICJTeW50YXggRmVobGVyOiBVbmVyd2FydGV0ZXMgRGF0ZWllbmRlLiIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgIlN5bnRheCBGZWhsZXIiCiAKICMgRHUgb2RlciBTaWU/Ci0jOiBwYXJzZS55OjUyODUKKyM6IHBhcnNlLnk6NTU0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgXCIlc1wiIHRvIGxlYXZlIHRoZSBzaGVsbC5cbiIKIG1zZ3N0ciAiQmVudXR6ZSBcIiVzXCIgdW0gZGllIFNoZWxsIHp1IHZlcmxhc3Nlbi5cbiIKIAotIzogcGFyc2UueTo1NDQ3CisjOiBwYXJzZS55OjU3MTEKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgKSciCiBtc2dzdHIgIkRhdGVpZW5kZSBiZWltIFN1Y2hlbiBuYWNoIHBhc3NlbmRlciBgKScgZXJyZWljaHQuIgogCi0jOiBwY29tcGxldGUuYzoxMDE4CisjOiBwY29tcGxldGUuYzoxMDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRpb246IGZ1bmN0aW9uIGAlcycgbm90IGZvdW5kIgogbXNnc3RyICIiCkBAIC0xMzY3LDcxICsxNDM1LDkwIEBACiBtc2dpZCAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzoyODUKKyM6IHByaW50X2NtZC5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmludF9jb21tYW5kOiBiYWQgY29ubmVjdG9yIGAlZCciCiBtc2dzdHIgInByaW50X2NvbW1hbmQ6IEZhbHNjaGVzIFZlcmJpbmR1bmdzemVpY2hlbiBgJWQnLiIKIAotIzogcHJpbnRfY21kLmM6MTM0OAorIzogcHJpbnRfY21kLmM6MzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiVkOiBVbmfDvGx0aWdlciBEYXRlaWJlemVpY2huZXI6ICVzIgorCisjOiBwcmludF9jbWQuYzozNjgKK21zZ2lkICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgorbXNnc3RyICIiCisKKyM6IHByaW50X2NtZC5jOjE0NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3ByaW50ZjogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6MTA1CisjOiByZWRpci5jOjExMAogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxNDgKKyM6IHJlZGlyLmM6MTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QiCiBtc2dzdHIgIiVzOiBNZWhyZGV1dGlnZSBVbWxlbmt1bmcuIgogCi0jOiByZWRpci5jOjE1MgorIzogcmVkaXIuYzoxNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKLW1zZ3N0ciAiJXM6IEthbm4gZXhpc3RpZXJlbmRlIERhdGVpIG5pY2h0IPxiZXJzY2hyZWliZW4uIgorbXNnc3RyICIlczogS2FubiBleGlzdGllcmVuZGUgRGF0ZWkgbmljaHQgw7xiZXJzY2hyZWliZW4uIgogCi0jOiByZWRpci5jOjE1NworIzogcmVkaXIuYzoxNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiVzOiBHZXNwZXJydDogRGllIEF1c2dhYmUgZGFyZiBuaWNodCB1bWdlbGVpdGV0IHdlcmRlbi4iCiAKLSM6IHJlZGlyLmM6MTYyCisjOiByZWRpci5jOjE4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIHRlbXAgZmlsZSBmb3IgaGVyZS1kb2N1bWVudDogJXMiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzo1MTcKLW1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCi1tc2dzdHIgIiIKKyM6IHJlZGlyLmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKK21zZ3N0ciAiJXM6IEthbm4gZWluZW0gRmVsZGVsZW1lbnQga2VpbmUgTGlzdGUgenV3ZWlzZW4uIgogCi0jOiByZWRpci5jOjEwMjMKKyM6IHJlZGlyLmM6NTQ0Cittc2dpZCAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IG5vdCBzdXBwb3J0ZWQgd2l0aG91dCBuZXR3b3JraW5nIgorbXNnc3RyICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgV2lyZCBvaG5lIE5ldHp3ZXJrIG5pY2h0IHVudGVyc3TDvHR6dCIKKworIzogcmVkaXIuYzoxMTAxCiBtc2dpZCAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzozMjgKKyM6IHNoZWxsLmM6MzMyCiBtc2dpZCAiY291bGQgbm90IGZpbmQgL3RtcCwgcGxlYXNlIGNyZWF0ZSEiCiBtc2dzdHIgIktvbm50ZSBkYXMgL3RtcCBWZXJ6ZWljaG5pcyBuaWNodCBmaW5kZW4sIGJpdHRlIGFubGVnZW4uIgogCi0jOiBzaGVsbC5jOjMzMgorIzogc2hlbGwuYzozMzYKIG1zZ2lkICIvdG1wIG11c3QgYmUgYSB2YWxpZCBkaXJlY3RvcnkgbmFtZSIKLW1zZ3N0ciAiL3RtcCBtdd8gZWluIGf8bHRpZ2VyIFZlcnplaWNobmlzbmFtZSBzZWluLiIKK21zZ3N0ciAiL3RtcCBtdcOfIGVpbiBnw7xsdGlnZXIgVmVyemVpY2huaXNuYW1lIHNlaW4uIgogCi0jOiBzaGVsbC5jOjg3NgorIzogc2hlbGwuYzo4ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWMlYzogaW52YWxpZCBvcHRpb24iCi1tc2dzdHIgIiVjJWM6IFVuZ/xsdGlnZSBPcHRpb24iCittc2dzdHIgIiVjJWM6IFVuZ8O8bHRpZ2UgT3B0aW9uIgogCi0jOiBzaGVsbC5jOjE2MzgKKyM6IHNoZWxsLmM6MTY1MQogbXNnaWQgIkkgaGF2ZSBubyBuYW1lISIKIG1zZ3N0ciAiSWNoIGhhYmUga2VpbmVuIEJlbnV0emVybmFtZW4hIgogCi0jOiBzaGVsbC5jOjE3NzgKKyM6IHNoZWxsLmM6MTc5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgIkdOVSBiYXNoLCBWZXJzaW9uICVzLSglcylcbiIKIAotIzogc2hlbGwuYzoxNzc5CisjOiBzaGVsbC5jOjE3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCkBAIC0xNDQwLDQ1NCArMTUyNyw0NjUgQEAKICJCZW51dHp1bmc6XHQlcyBbTGFuZ2UgR05VIE9wdGlvbl0gW09wdGlvbl0gLi4uXG4iCiAiXHRcdCVzIFtMYW5nZSBHTlUgT3B0aW9uXSBbT3B0aW9uXSBTY3JpcHQtRGF0ZWkgLi4uXG4iCiAKLSM6IHNoZWxsLmM6MTc4MQorIzogc2hlbGwuYzoxNzk2CiBtc2dpZCAiR05VIGxvbmcgb3B0aW9uczpcbiIKIG1zZ3N0ciAiTGFuZ2UgR05VIE9wdGlvbmVuOlxuIgogCi0jOiBzaGVsbC5jOjE3ODUKKyM6IHNoZWxsLmM6MTgwMAogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgIlNoZWxsLU9wdGlvbmVuOlxuIgogCi0jOiBzaGVsbC5jOjE3ODYKKyM6IHNoZWxsLmM6MTgwMQogbXNnaWQgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKIG1zZ3N0ciAiXHQtaXJzRCBvZGVyIC1jIEtvbW1hbmRvXHRcdChOdXIgQXVmcnVmKVxuIgogCi0jOiBzaGVsbC5jOjE4MDEKKyM6IHNoZWxsLmM6MTgxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJcdC0lcyBvciAtbyBvcHRpb25cbiIKIG1zZ3N0ciAiXHQtJXMgb2RlciBPcHRpb24gLW9cbiIKIAotIzogc2hlbGwuYzoxODA3CisjOiBzaGVsbC5jOjE4MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgXCJoZWxwIHNldFwiJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBvcHRpb25zLlxuIgotbXNnc3RyICJgJXMgLWMgXCJoZWxwIHNldFwiJyBm/HIgbWVociBJbmZvcm1hdGlvbmVuIPxiZXIgU2hlbGwtT3B0aW9uZW4uXG4iCittc2dzdHIgImAlcyAtYyBcImhlbHAgc2V0XCInIGbDvHIgbWVociBJbmZvcm1hdGlvbmVuIMO8YmVyIFNoZWxsLU9wdGlvbmVuLlxuIgogCi0jOiBzaGVsbC5jOjE4MDgKKyM6IHNoZWxsLmM6MTgyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBoZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgotbXNnc3RyICJgJXMgLWMgaGVscCcgZvxyIG1laHIgSW5mb3JtYXRpb24g/GJlciBTaGVsbC1Lb21tYW5kb3MuXG4iCittc2dzdHIgImAlcyAtYyBoZWxwJyBmw7xyIG1laHIgSW5mb3JtYXRpb24gw7xiZXIgU2hlbGwtS29tbWFuZG9zLlxuIgogCi0jOiBzaGVsbC5jOjE4MDkKKyM6IHNoZWxsLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgdGhlIGBiYXNoYnVnJyBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgotbXNnc3RyICJNaXQgZGVtIGBiYXNoYnVnJyBLb21tYW5kbyBr9m5uZW4gRmVobGVyIGdlbWVsZGV0IHdlcmRlbi5cbiIKK21zZ3N0ciAiTWl0IGRlbSBgYmFzaGJ1ZycgS29tbWFuZG8ga8O2bm5lbiBGZWhsZXIgZ2VtZWxkZXQgd2VyZGVuLlxuIgogCi0jOiBzaWcuYzo1ODMKKyM6IHNpZy5jOjYyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzaWdwcm9jbWFzazogJWQ6IGludmFsaWQgb3BlcmF0aW9uIgotbXNnc3RyICJzaWdwcm9jbWFzazogJWQ6IFVuZ/xsdGlnZSBPcGVyYXRpb24iCittc2dzdHIgInNpZ3Byb2NtYXNrOiAlZDogVW5nw7xsdGlnZSBPcGVyYXRpb24iCiAKLSM6IHNpZ2xpc3QuYzo0NworIzogc2lnbGlzdC5jOjQ4CiBtc2dpZCAiQm9ndXMgc2lnbmFsIgogbXNnc3RyICJGYWxzY2hlcyBTaWduYWwuIgogCi0jOiBzaWdsaXN0LmM6NTAKKyM6IHNpZ2xpc3QuYzo1MQogbXNnaWQgIkhhbmd1cCIKIG1zZ3N0ciAiQXVmZ2VsZWd0IgogCi0jOiBzaWdsaXN0LmM6NTQKKyM6IHNpZ2xpc3QuYzo1NQogbXNnaWQgIkludGVycnVwdCIKLW1zZ3N0ciAiVW50ZXJicm9jaGVuIgorbXNnc3RyICJVbnRlcmJyb2NoZW4gKEludGVycnVwdCkiCiAKLSM6IHNpZ2xpc3QuYzo1OAorIzogc2lnbGlzdC5jOjU5CiBtc2dpZCAiUXVpdCIKIG1zZ3N0ciAiUXVpdCIKIAotIzogc2lnbGlzdC5jOjYyCisjOiBzaWdsaXN0LmM6NjMKIG1zZ2lkICJJbGxlZ2FsIGluc3RydWN0aW9uIgotbXNnc3RyICJVbmf8bHRpZ2UgQW53ZWlzdW5nLiIKK21zZ3N0ciAiVW5nw7xsdGlnZSBBbndlaXN1bmcuIgogCi0jIFdhcyBoZWlzc3QgZGFzPwotIzogc2lnbGlzdC5jOjY2Ci0jLCBmdXp6eQorIzogc2lnbGlzdC5jOjY3CiBtc2dpZCAiQlBUIHRyYWNlL3RyYXAiCi1tc2dzdHIgIkJQVCB0cmFjZS90cmFwIgorbXNnc3RyICJWZXJmb2xnZW4vYW5oYWx0ZW4gYWJmYW5nZW4gKFRyYWNlL2JyZWFrcG9pbnQgdHJhcCkiCiAKLSM6IHNpZ2xpc3QuYzo3NAorIzogc2lnbGlzdC5jOjc1CiBtc2dpZCAiQUJPUlQgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIkFiYnJ1Y2hrb21tYW5kbyIKIAotIzogc2lnbGlzdC5jOjc4CisjOiBzaWdsaXN0LmM6NzkKIG1zZ2lkICJFTVQgaW5zdHJ1Y3Rpb24iCi1tc2dzdHIgIkVNVC1Lb21tYW5kbyIKK21zZ3N0ciAiRU1UIGFiZmFuZ2VuIChFTVQgdHJhcCkiCiAKLSM6IHNpZ2xpc3QuYzo4MgorIzogc2lnbGlzdC5jOjgzCiBtc2dpZCAiRmxvYXRpbmcgcG9pbnQgZXhjZXB0aW9uIgogbXNnc3RyICJHbGVpdGtvbW1hZmVobGVyIgogCi0jOiBzaWdsaXN0LmM6ODYKKyM6IHNpZ2xpc3QuYzo4NwogbXNnaWQgIktpbGxlZCIKLW1zZ3N0ciAiR2VraWxsdCIKK21zZ3N0ciAiQWJnZWJyb2NoZW4gKEtpbGxlZCkiCiAKLSM6IHNpZ2xpc3QuYzo5MAorIzogc2lnbGlzdC5jOjkxCiBtc2dpZCAiQnVzIGVycm9yIgogbXNnc3RyICJCdXMtRmVobGVyIgogCi0jOiBzaWdsaXN0LmM6OTQKKyM6IHNpZ2xpc3QuYzo5NQogbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKLW1zZ3N0ciAiU3BlaWNoZXJ6dWdyaWZmc2ZlaGxlciIKK21zZ3N0ciAiQWRyZXNzaWVydW5nc2ZlaGxlciIKIAotIzogc2lnbGlzdC5jOjk4CisjOiBzaWdsaXN0LmM6OTkKIG1zZ2lkICJCYWQgc3lzdGVtIGNhbGwiCiBtc2dzdHIgIkZhbHNjaGVyIFN5c3RlbWF1ZnJ1ZiIKIAotIzogc2lnbGlzdC5jOjEwMgorIzogc2lnbGlzdC5jOjEwMwogbXNnaWQgIkJyb2tlbiBwaXBlIgogbXNnc3RyICJVbnRlcmJyb2NoZW5lIFBpcGUiCiAKLSM6IHNpZ2xpc3QuYzoxMDYKKyM6IHNpZ2xpc3QuYzoxMDcKIG1zZ2lkICJBbGFybSBjbG9jayIKIG1zZ3N0ciAiV2Vja2VyIgogCi0jOiBzaWdsaXN0LmM6MTEwCisjOiBzaWdsaXN0LmM6MTExCiBtc2dpZCAiVGVybWluYXRlZCIKLW1zZ3N0ciAiQmVlbmRldCIKK21zZ3N0ciAiQWJnZWJyb2NoZW4gKFRlcm1pbmF0ZWQpIgogCi0jOiBzaWdsaXN0LmM6MTE0CisjOiBzaWdsaXN0LmM6MTE1CiBtc2dpZCAiVXJnZW50IElPIGNvbmRpdGlvbiIKIG1zZ3N0ciAiRHJpbmdlbmRlIElPLUJlZGluZ3VuZyIKIAotIzogc2lnbGlzdC5jOjExOAorIzogc2lnbGlzdC5jOjExOQogbXNnaWQgIlN0b3BwZWQgKHNpZ25hbCkiCiBtc2dzdHIgIkFuZ2VoYWx0ZW4gKFNpZ25hbCkiCiAKLSM6IHNpZ2xpc3QuYzoxMjYKKyM6IHNpZ2xpc3QuYzoxMjcKIG1zZ2lkICJDb250aW51ZSIKLW1zZ3N0ciAiUHJvemXfYmVhcmJlaXR1bmcgd2llZGVyIGF1Zmdlbm9tbWVuLiIKK21zZ3N0ciAiUHJvemXDn2JlYXJiZWl0dW5nIHdpZWRlciBhdWZnZW5vbW1lbi4iCiAKLSM6IHNpZ2xpc3QuYzoxMzQKKyM6IHNpZ2xpc3QuYzoxMzUKIG1zZ2lkICJDaGlsZCBkZWF0aCBvciBzdG9wIgotbXNnc3RyICJLaW5kcHJvemXfIGFiZ2Vicm9jaGVuIG9kZXIgZ2VzdG9wcHQuIgorbXNnc3RyICJLaW5kcHJvemXDnyBhYmdlYnJvY2hlbiBvZGVyIGdlc3RvcHB0LiIKIAotIzogc2lnbGlzdC5jOjEzOAorIzogc2lnbGlzdC5jOjEzOQogbXNnaWQgIlN0b3BwZWQgKHR0eSBpbnB1dCkiCiBtc2dzdHIgIkFuZ2VoYWx0ZW4gKFRlcm1pbmFsZWluZ2FiZSkiCiAKLSM6IHNpZ2xpc3QuYzoxNDIKKyM6IHNpZ2xpc3QuYzoxNDMKIG1zZ2lkICJTdG9wcGVkICh0dHkgb3V0cHV0KSIKIG1zZ3N0ciAiQW5nZWhhbHRlbiAoVGVybWluYWxhdXNnYWJlKSIKIAotIzogc2lnbGlzdC5jOjE0NgorIzogc2lnbGlzdC5jOjE0NwogbXNnaWQgIkkvTyByZWFkeSIKIG1zZ3N0ciAiRS9BIGZlcnRpZyIKIAotIzogc2lnbGlzdC5jOjE1MAorIzogc2lnbGlzdC5jOjE1MQogbXNnaWQgIkNQVSBsaW1pdCIKIG1zZ3N0ciAiUmVjaGVuemVpdGdyZW56ZSIKIAotIzogc2lnbGlzdC5jOjE1NAorIzogc2lnbGlzdC5jOjE1NQogbXNnaWQgIkZpbGUgbGltaXQiCi1tc2dzdHIgIkdyZW56ZSBm/HIgRGF0ZWlncvbfZSIKK21zZ3N0ciAiR3JlbnplIGbDvHIgRGF0ZWlncsO2w59lIgogCi0jOiBzaWdsaXN0LmM6MTU4CisjOiBzaWdsaXN0LmM6MTU5CiBtc2dpZCAiQWxhcm0gKHZpcnR1YWwpIgogbXNnc3RyICJBbGFybSAoVmlydHVlbGwpIgogCi0jOiBzaWdsaXN0LmM6MTYyCisjOiBzaWdsaXN0LmM6MTYzCiBtc2dpZCAiQWxhcm0gKHByb2ZpbGUpIgogbXNnc3RyICJBbGFybSAoUHJvZmlsKSIKIAotIzogc2lnbGlzdC5jOjE2NgorIzogc2lnbGlzdC5jOjE2NwogbXNnaWQgIldpbmRvdyBjaGFuZ2VkIgotbXNnc3RyICJGZW5zdGVyIGdl5G5kZXJ0LiIKK21zZ3N0ciAiRmVuc3RlciBnZcOkbmRlcnQuIgogCi0jOiBzaWdsaXN0LmM6MTcwCisjOiBzaWdsaXN0LmM6MTcxCiBtc2dpZCAiUmVjb3JkIGxvY2siCiBtc2dzdHIgIkRhdGVpIGJsb2NraWVydC4iCiAKLSM6IHNpZ2xpc3QuYzoxNzQKKyM6IHNpZ2xpc3QuYzoxNzUKIG1zZ2lkICJVc2VyIHNpZ25hbCAxIgotbXNnc3RyICJOdXR6ZXItU2lnbmFsIDEiCittc2dzdHIgIk51dHplcnNpZ25hbCAxIgogCi0jOiBzaWdsaXN0LmM6MTc4CisjOiBzaWdsaXN0LmM6MTc5CiBtc2dpZCAiVXNlciBzaWduYWwgMiIKLW1zZ3N0ciAiTnV0emVyLVNpZ25hbCAyIgorbXNnc3RyICJOdXR6ZXJzaWduYWwgMiIKIAotIzogc2lnbGlzdC5jOjE4MgorIzogc2lnbGlzdC5jOjE4MwogbXNnaWQgIkhGVCBpbnB1dCBkYXRhIHBlbmRpbmciCiBtc2dzdHIgIkhGVCBFaW5nYWJlZGF0ZW4gYXVzc3RlaGVuZC4iCiAKLSM6IHNpZ2xpc3QuYzoxODYKKyM6IHNpZ2xpc3QuYzoxODcKIG1zZ2lkICJwb3dlciBmYWlsdXJlIGltbWluZW50IgogbXNnc3RyICJTcGFubnVuZ3NhdXNmYWxsIHN0ZWh0IGJldm9yLiIKIAotIzogc2lnbGlzdC5jOjE5MAorIzogc2lnbGlzdC5jOjE5MQogbXNnaWQgInN5c3RlbSBjcmFzaCBpbW1pbmVudCIKIG1zZ3N0ciAiU3lzdGVtYXVzZmFsbCBzdGVodCBiZXZvci4iCiAKLSM6IHNpZ2xpc3QuYzoxOTQKKyM6IHNpZ2xpc3QuYzoxOTUKIG1zZ2lkICJtaWdyYXRlIHByb2Nlc3MgdG8gYW5vdGhlciBDUFUiCi1tc2dzdHIgIlZlcmxlZ2UgZGVuIFByb3pl3yBhdWYgZWluZW4gYW5kZXJlbiBQcm96ZXNzb3IuIgorbXNnc3RyICJWZXJsZWdlIGRlbiBQcm96ZcOfIGF1ZiBlaW5lbiBhbmRlcmVuIFByb3plc3Nvci4iCiAKLSM6IHNpZ2xpc3QuYzoxOTgKKyM6IHNpZ2xpc3QuYzoxOTkKIG1zZ2lkICJwcm9ncmFtbWluZyBlcnJvciIKIG1zZ3N0ciAiUHJvZ3JhbW1pZXJmZWhsZXIiCiAKLSM6IHNpZ2xpc3QuYzoyMDIKKyM6IHNpZ2xpc3QuYzoyMDMKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIGdyYW50ZWQiCiBtc2dzdHIgIkhGVC1Nb25pdG9ybW9kdXMgZXJsYXVidC4iCiAKLSM6IHNpZ2xpc3QuYzoyMDYKKyM6IHNpZ2xpc3QuYzoyMDcKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIHJldHJhY3RlZCIKIG1zZ3N0ciAiSEZULU1vbml0b3Jtb2R1cyBhYmdlc2NoYWx0ZXQuIgogCi0jOiBzaWdsaXN0LmM6MjEwCisjOiBzaWdsaXN0LmM6MjExCiBtc2dpZCAiSEZUIHNvdW5kIHNlcXVlbmNlIGhhcyBjb21wbGV0ZWQiCiBtc2dzdHIgIkhGVC1Ub25mb2xnZSBiZWVuZGV0LiIKIAotIzogc2lnbGlzdC5jOjIxNAorIzogc2lnbGlzdC5jOjIxNQogbXNnaWQgIkluZm9ybWF0aW9uIHJlcXVlc3QiCiBtc2dzdHIgIkluZm9ybWF0aW9uc2FuZm9yZGVydW5nIgogCi0jOiBzaWdsaXN0LmM6MjIyCisjOiBzaWdsaXN0LmM6MjIzCiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyIKIG1zZ3N0ciAiVW5iZWthbm50ZSBTaWduYWxudW1tZXIuIgogCi0jOiBzaWdsaXN0LmM6MjI0CisjOiBzaWdsaXN0LmM6MjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKIG1zZ3N0ciAiVW5iZWthbm50ZXMgU2lnbmFsIE5yLjogJWQuIgogCi0jOiBzdWJzdC5jOjExODEgc3Vic3QuYzoxMzAyCisjOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKLW1zZ3N0ciAiRmFsc2NoZSBFcnNldHp1bmc6IEtlaW5lIHNjaGxpZd9lbmRlIGAlcycgaW4gYCVzJyBlbnRoYWx0ZW4uIgorbXNnc3RyICJGYWxzY2hlIEVyc2V0enVuZzogS2VpbmUgc2NobGllw59lbmRlIGAlcycgaW4gYCVzJyBlbnRoYWx0ZW4uIgogCi0jOiBzdWJzdC5jOjI0NTgKKyM6IHN1YnN0LmM6MjczNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKIG1zZ3N0ciAiJXM6IEthbm4gZWluZW0gRmVsZGVsZW1lbnQga2VpbmUgTGlzdGUgenV3ZWlzZW4uIgogCi0jOiBzdWJzdC5jOjQ0NTYgc3Vic3QuYzo0NDcyCisjOiBzdWJzdC5jOjQ3NTQgc3Vic3QuYzo0NzcwCiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCi1tc2dzdHIgIkthbm4ga2VpbmUgUGlwZSBm/HIgZGllIFByb3pl32Vyc2V0enVuZyBlcnpldWdlbi4iCittc2dzdHIgIkthbm4ga2VpbmUgUGlwZSBmw7xyIGRpZSBQcm96ZcOfZXJzZXR6dW5nIGVyemV1Z2VuLiIKIAotIzogc3Vic3QuYzo0NTA0CisjOiBzdWJzdC5jOjQ4MDIKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAiS2FubiBkZW4gS2luZHNwcm96ZXNzIGbDvHIgZGllIFByb3plw59lcnNldHp1bmcgbmljaHQgZXJ6ZXVnZW4uIgogCi0jOiBzdWJzdC5jOjQ1NDkKKyM6IHN1YnN0LmM6NDg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgotbXNnc3RyICJLYW5uIG5pY2h0IGRpZSBiZW5hbm50ZSBQaXBlICVzIHp1bSBsZXNlbiD2ZmZuZW4uIgorbXNnc3RyICJLYW5uIG5pY2h0IGRpZSBiZW5hbm50ZSBQaXBlICVzIHp1bSBsZXNlbiDDtmZmbmVuLiIKIAotIzogc3Vic3QuYzo0NTUxCisjOiBzdWJzdC5jOjQ4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKLW1zZ3N0ciAiS2FubiBuaWNodCBkaWUgYmVuYW5udGUgUGlwZSAlcyB6dW0gc2NocmVpYmVuIPZmZm5lbi4iCittc2dzdHIgIkthbm4gbmljaHQgZGllIGJlbmFubnRlIFBpcGUgJXMgenVtIHNjaHJlaWJlbiDDtmZmbmVuLiIKIAotIzogc3Vic3QuYzo0NTY5CisjOiBzdWJzdC5jOjQ4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBuYW1lZCBwaXBlICVzIGFzIGZkICVkIgogbXNnc3RyICJLYW5uIGRpZSBiZW5hbm50ZSBQaXBlICVzIG5pY2h0IGF1ZiBmZCAlZC4iCiAKLSM6IHN1YnN0LmM6NDc2NQorIzogc3Vic3QuYzo1MDYzCiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCi1tc2dzdHIgIkthbm4ga2VpbmUgUGlwZXMgZvxyIEtvbW1hbmRvZXJzZXR6dW5nIGVyemV1Z2VuLiIKK21zZ3N0ciAiS2FubiBrZWluZSBQaXBlcyBmw7xyIEtvbW1hbmRvZXJzZXR6dW5nIGVyemV1Z2VuLiIKIAotIzogc3Vic3QuYzo0Nzk5CisjOiBzdWJzdC5jOjUwOTcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCi1tc2dzdHIgIkthbm4ga2VpbmVuIFVudGVycHJvemVzcyBm/HIgZGllIEtvbW1hbmRvZXJzZXR6dW5nIGVyemV1Z2VuLiIKK21zZ3N0ciAiS2FubiBrZWluZW4gVW50ZXJwcm96ZXNzIGbDvHIgZGllIEtvbW1hbmRvZXJzZXR6dW5nIGVyemV1Z2VuLiIKIAogIyBpbnRlcm5lciBGZWhsZXIKLSM6IHN1YnN0LmM6NDgxNgorIzogc3Vic3QuYzo1MTE0CiBtc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIG1zZ3N0ciAiS29tbWFuZG9lcnNldHp1bmc6IEthbm4gUGlwZSBuaWNodCBhbHMgZmQgMSBkdXBsaXppZXJlbi4iCiAKLSM6IHN1YnN0LmM6NTMxOAorIzogc3Vic3QuYzo1NjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXJhbWV0ZXIgbnVsbCBvciBub3Qgc2V0IgogbXNnc3RyICIlczogUGFyYW1ldGVyIGlzdCBOdWxsIG9kZXIgbmljaHQgZ2VzZXR6dC4iCiAKICMgaW50ZXJuZXIgRmVobGVyCi0jOiBzdWJzdC5jOjU2MDgKKyM6IHN1YnN0LmM6NTkwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogc3Vic3RyaW5nIGV4cHJlc3Npb24gPCAwIgogbXNnc3RyICIlczogVGVpbHN0cmluZy1BdXNkcnVjayA8IDAuIgogCi0jOiBzdWJzdC5jOjY2NjAKKyM6IHN1YnN0LmM6Njk2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiJXM6IEZhbHNjaGUgVmFyaWFibGVuZXJzZXR6dW5nLiIKIAotIzogc3Vic3QuYzo2NzQwCisjOiBzdWJzdC5jOjcwNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IEthbm4gc28gbmljaHQgenV3ZWlzZW4uIgogCi0jOiBzdWJzdC5jOjc0OTkKKyM6IHN1YnN0LmM6NzM3NAorbXNnaWQgIiIKKyJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKKyJzdWJzdGl0dXRpb24iCittc2dzdHIgIiIKKworIzogc3Vic3QuYzo3ODM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCi1tc2dzdHIgIkZhbHNjaGUgRXJzZXR6dW5nOiBLZWluZSBzY2hsaWXfZW5kZSBcImBcIiBpbiAlcy4iCittc2dzdHIgIkZhbHNjaGUgRXJzZXR6dW5nOiBLZWluZSBzY2hsaWXDn2VuZGUgXCJgXCIgaW4gJXMuIgogCi0jOiBzdWJzdC5jOjgzNzUKKyM6IHN1YnN0LmM6ODcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaDogJXMiCiBtc2dzdHIgIktlaW5lIEVudHNwcmVjaHVuZzogJXMiCiAKLSM6IHRlc3QuYzoxNDUKKyM6IHRlc3QuYzoxNDYKIG1zZ2lkICJhcmd1bWVudCBleHBlY3RlZCIKIG1zZ3N0ciAiQXJndW1lbnQgZXJ3YXJ0ZXQuIgogCi0jOiB0ZXN0LmM6MTU0CisjOiB0ZXN0LmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnRlZ2VyIGV4cHJlc3Npb24gZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBHYW56emFobGlnZXIgQXVzZHJ1Y2sgZXJ3YXJ0ZXQuIgogCi0jOiB0ZXN0LmM6MjYyCisjOiB0ZXN0LmM6MjYzCiBtc2dpZCAiYCknIGV4cGVjdGVkIgogbXNnc3RyICJgKScgZXJ3YXJ0ZXQuIgogCi0jOiB0ZXN0LmM6MjY0CisjOiB0ZXN0LmM6MjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImApJyBleHBlY3RlZCwgZm91bmQgJXMiCiBtc2dzdHIgImApJyBlcndhcnRldCwgJXMgZ2VmdW5kZW4uIgogCi0jOiB0ZXN0LmM6Mjc5IHRlc3QuYzo2ODggdGVzdC5jOjY5MQorIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgotbXNnc3RyICIlczogRWluc3RlbGxpZ2VyICh1buRyZXIpIE9wZXJhdG9yIGVyd2FydGV0LiIKK21zZ3N0ciAiJXM6IEVpbnN0ZWxsaWdlciAodW7DpHJlcikgT3BlcmF0b3IgZXJ3YXJ0ZXQuIgogCi0jOiB0ZXN0LmM6NDQ0IHRlc3QuYzo3MzEKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjczNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgotbXNnc3RyICIlczogWndlaXN0ZWxsaWdlciAoYmlu5HJlcikgT3BlcmF0b3IgZXJ3YXJ0ZXQuIgorbXNnc3RyICIlczogWndlaXN0ZWxsaWdlciAoYmluw6RyZXIpIE9wZXJhdG9yIGVyd2FydGV0LiIKIAotIzogdGVzdC5jOjgwNgorIzogdGVzdC5jOjgxMQogbXNnaWQgIm1pc3NpbmcgYF0nIgogbXNnc3RyICJGZWhsZW5kZSBgXSciCiAKLSM6IHRyYXAuYzoyMDEKKyM6IHRyYXAuYzoyMDMKIG1zZ2lkICJpbnZhbGlkIHNpZ25hbCBudW1iZXIiCi1tc2dzdHIgIlVuZ/xsdGlnZSBTaWduYWxudW1tZXIuIgorbXNnc3RyICJVbmfDvGx0aWdlIFNpZ25hbG51bW1lci4iCiAKLSM6IHRyYXAuYzozMjQKKyM6IHRyYXAuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVuX3BlbmRpbmdfdHJhcHM6IGJhZCB2YWx1ZSBpbiB0cmFwX2xpc3RbJWRdOiAlcCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFwLmM6MzI4CisjOiB0cmFwLmM6MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgogbXNnc3RyICIiCiAKICMgUHJvZ3JhbW1pZXJmZWhsZXIKLSM6IHRyYXAuYzozNzIKKyM6IHRyYXAuYzozODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhcF9oYW5kbGVyOiBiYWQgc2lnbmFsICVkIgogbXNnc3RyICJ0cmFwX2hhbmRsZXI6IEZhbHNjaGVzIFNpZ25hbCAlZC4iCiAKLSM6IHZhcmlhYmxlcy5jOjM1OAorIzogdmFyaWFibGVzLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnIgotbXNnc3RyICJGZWhsZXIgYmVpbSBJbXBvcnRpZXJlbiBkZXIgRnVua3Rpb25zZGVmaW5pdGlvbiBm/HIgYCVzJy4iCittc2dzdHIgIkZlaGxlciBiZWltIEltcG9ydGllcmVuIGRlciBGdW5rdGlvbnNkZWZpbml0aW9uIGbDvHIgYCVzJy4iCiAKLSM6IHZhcmlhYmxlcy5jOjczNgorIzogdmFyaWFibGVzLmM6NzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjE4OTgKKyM6IHZhcmlhYmxlcy5jOjE5MTUKIG1zZ2lkICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzEyNworIzogdmFyaWFibGVzLmM6MzE1OQogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMzQ0IHZhcmlhYmxlcy5jOjMzNTMKKyM6IHZhcmlhYmxlcy5jOjMzNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKK21zZ3N0ciAiJXM6IFBhcmFtZXRlciBpc3QgTnVsbCBvZGVyIG5pY2h0IGdlc2V0enQuIgorCisjOiB2YXJpYWJsZXMuYzozMzgxIHZhcmlhYmxlcy5jOjMzOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMzU5CisjOiB2YXJpYWJsZXMuYzozMzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM3OTQKKyM6IHZhcmlhYmxlcy5jOjM4MzUKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzgwNworIzogdmFyaWFibGVzLmM6Mzg0OAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM4ODEKKyM6IHZhcmlhYmxlcy5jOjM5MjIKIG1zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKIG1zZ3N0ciAiIgogCisjOiB2YXJpYWJsZXMuYzo0Njc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCittc2dzdHIgIiVzOiBLYW5uIGRpZSBEYXRlaSBuaWNodCDDtmZmbmVuOiAlcyIKKworIzogdmFyaWFibGVzLmM6NDY4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiVkOiBVbmfDvGx0aWdlciBEYXRlaWJlemVpY2huZXI6ICVzIgorCiAjOiB2ZXJzaW9uLmM6NDYKLSMsIGZ1enp5CiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKLW1zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKK21zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIAogIzogdmVyc2lvbi5jOjQ3CiBtc2dpZCAiIgogIkxpY2Vuc2UgR1BMdjMrOiBHTlUgR1BMIHZlcnNpb24gMyBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKICJodG1sPlxuIgogbXNnc3RyICIiCi0iTGl6ZW56IEdQTHYzKzogR05VIEdQTCBWZXJzaW9uIDMgb2RlciBq/G5nZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiTGl6ZW56IEdQTHYzKzogR05VIEdQTCBWZXJzaW9uIDMgb2RlciBqw7xuZ2VyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgogImh0bWw+XG4iCiAKLSM6IHZlcnNpb24uYzo4NgorIzogdmVyc2lvbi5jOjg2IHZlcnNpb24yLmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMgKCVzKVxuIgogbXNnc3RyICJHTlUgYmFzaCwgVmVyc2lvbiAlcyAoJXMpXG4iCiAKLSM6IHZlcnNpb24uYzo5MQorIzogdmVyc2lvbi5jOjkxIHZlcnNpb24yLmM6ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgYXJlIGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuXG4iCi1tc2dzdHIgIkRpZXMgaXN0IGZyZWllIFNvZnR3YXJlLiAgU2llIGRhcmYgdmVy5G5kZXJ0IHVuZCB2ZXJ0ZWlsdCB3ZXJkZW4uXG4iCittc2dzdHIgIkRpZXMgaXN0IGZyZWllIFNvZnR3YXJlLiAgU2llIGRhcmYgdmVyw6RuZGVydCB1bmQgdmVydGVpbHQgd2VyZGVuLlxuIgogCi0jOiB2ZXJzaW9uLmM6OTIKKyM6IHZlcnNpb24uYzo5MiB2ZXJzaW9uMi5jOjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuXG4iCi1tc2dzdHIgIkb8ciBkaWVzZXMgUHJvZ3JhbW0gYmVzdGVodCBrZWluZXJsZWkgR2FyYW50aWUuXG4iCittc2dzdHIgIkbDvHIgZGllc2VzIFByb2dyYW1tIGJlc3RlaHQga2VpbmVybGVpIEdhcmFudGllLlxuIgogCi0jOiB4bWFsbG9jLmM6OTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjOiB2ZXJzaW9uMi5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCittc2dzdHIgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCisKKyM6IHZlcnNpb24yLmM6ODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMaWNlbnNlIEdQTHYyKzogR05VIEdQTCB2ZXJzaW9uIDIgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiaHRtbD5cbiIKK21zZ3N0ciAiIgorIkxpemVueiBHUEx2Mys6IEdOVSBHUEwgVmVyc2lvbiAzIG9kZXIgasO8bmdlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKKyJodG1sPlxuIgorCisjOiB4bWFsbG9jLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKIG1zZ3N0ciAieG1hbGxvYzogS2FubiAlbHUgQnl0ZXMgbmljaHQgcmVzZXJ2aWVyZW4gKCVsdSBieXRlcyByZXNlcnZpZXJ0KS4iCiAKLSM6IHhtYWxsb2MuYzo5NAotIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorIzogeG1hbGxvYy5jOjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKIG1zZ3N0ciAieG1hbGxvYzogS2FubiBuaWNodCAlbHUgQnl0ZXMgcmVzZXJ2aWVyZW4uIgogCi0jOiB4bWFsbG9jLmM6MTE0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICJ4cmVhbGxvYzogS2FubiAlbHUgQnl0ZXMgbmljaHQgcmVzZXJ2aWVyZW4gKCVsdSBieXRlcyByZXNlcnZpZXJ0KS4iCi0KLSM6IHhtYWxsb2MuYzoxMTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhyZWFsbG9jOiBLYW5uIG5pY2h0ICVsdSBCeXRlcyByZXNlcnZpZXJlbi4iCi0KLSM6IHhtYWxsb2MuYzoxNTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorIzogeG1hbGxvYy5jOjE2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKIG1zZ3N0ciAiIgogInhtYWxsb2M6ICVzOiVkOiBLYW5uIG5pY2h0ICVsdSBCeXRlcyByZXNlcnZpZXJlbiAoJWx1IGJ5dGVzIHJlc2VydmllcnQpLiIKIAotIzogeG1hbGxvYy5jOjE1MgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKKyM6IHhtYWxsb2MuYzoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKIG1zZ3N0ciAieG1hbGxvYzogJXM6JWQ6IEthbm4gbmljaHQgJWx1IEJ5dGVzIHJlc2VydmllcmVuLiIKIAotIzogeG1hbGxvYy5jOjE3NAotIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgIiIKLSJ4cmVhbGxvYzogJXM6JWQ6IEthbm4gbmljaHQgJWx1IEJ5dGVzIHJlc2VydmllcmVuICglbHUgYnl0ZXMgcmVzZXJ2aWVydCkuIgotCi0jOiB4bWFsbG9jLmM6MTc2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKLW1zZ3N0ciAieHJlYWxsb2M6ICVzOiVkOiBLYW5uIG5pY2h0ICVsdSBCeXRlcyByZXNlcnZpZXJlbi4iCi0KICM6IGJ1aWx0aW5zLmM6NDMKIG1zZ2lkICJhbGlhcyBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uIF0iCiBtc2dzdHIgImFsaWFzIFstcF0gW05hbWVbPVdlcnRdIC4uLiBdIgpAQCAtMjAwOCw3ICsyMTA2LDggQEAKIG1zZ3N0ciAiaGFzaCBbLWxyXSBbLXAgUGZhZG5hbWVdIFstZHRdIFtOYW1lIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTE3Ci1tc2dpZCAiaGVscCBbLWRzXSBbcGF0dGVybiAuLi5dIgorIywgZnV6enkKK21zZ2lkICJoZWxwIFstZG1zXSBbcGF0dGVybiAuLi5dIgogbXNnc3RyICJoZWxwIFstZHNdIFtNdXN0ZXIgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMjEKQEAgLTIwNDAsOSArMjEzOSwxMCBAQAogbXNnc3RyICJsZXQgQXJndW1lbnQgW0FyZ3VtZW50IC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTM2CisjLCBmdXp6eQogbXNnaWQgIiIKLSJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstcCBwcm9tcHRdIFstdCAiCi0idGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgorInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKKyJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKICJyZWFkIFstZXJzXSBbLWEgRmVsZF0gWy1kIEJlZ3Jlbnplcl0gWy1pIFRleHRdIFstbiBaZWljaGVuYW56YWhsXSBbLXAgIgogIlByb21wdF0gWy10IFplaXRsaW1pdF0gWy11IGZkXSBbTmFtZSAuLi5dIgpAQCAtMjEzMyw3ICsyMjMzLDcgQEAKIAogIzogYnVpbHRpbnMuYzoxODgKIG1zZ2lkICJ0aW1lIFstcF0gcGlwZWxpbmUiCi1tc2dzdHIgIiIKK21zZ3N0ciAidGltZSBbLXBdIFBpcGVsaW5lIgogCiAjOiBidWlsdGlucy5jOjE5MAogbXNnaWQgImNhc2UgV09SRCBpbiBbUEFUVEVSTiBbfCBQQVRURVJOXS4uLikgQ09NTUFORFMgOztdLi4uIGVzYWMiCkBAIC0yMTQ0LDggKzIyNDQsOCBAQAogImlmIENPTU1BTkRTOyB0aGVuIENPTU1BTkRTOyBbIGVsaWYgQ09NTUFORFM7IHRoZW4gQ09NTUFORFM7IF0uLi4gWyBlbHNlICIKICJDT01NQU5EUzsgXSBmaSIKIG1zZ3N0ciAiIgotImlmIEtvbW1hbmRvczsgdGhlbiBLb21tYW5kb3M7IFsgZWxpZiBLb21tYW5kb3M7IHRoZW4gS29tbWFuZG9zOyBdLi4uIFxuIgotIlx0WyBlbHNlIEtvbW1hbmRvczsgXSBmaSIKKyJpZiBLb21tYW5kb3M7IHRoZW4gS29tbWFuZG9zOyBbIGVsaWYgS29tbWFuZG9zOyB0aGVuIEtvbW1hbmRvczsgXS4uLiBbIGVsc2UgIgorIktvbW1hbmRvczsgXSBmaSIKIAogIzogYnVpbHRpbnMuYzoxOTQKIG1zZ2lkICJ3aGlsZSBDT01NQU5EUzsgZG8gQ09NTUFORFM7IGRvbmUiCkBAIC0yMTU3LDcgKzIyNTcsNyBAQAogCiAjOiBidWlsdGlucy5jOjE5OAogbXNnaWQgImNvcHJvYyBbTkFNRV0gY29tbWFuZCBbcmVkaXJlY3Rpb25zXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJjb3Byb2MgW05hbWVdIEtvbW1hbmRvIFtVbWxlaXR1bmdlbl0iCiAKICM6IGJ1aWx0aW5zLmM6MjAwCiBtc2dpZCAiZnVuY3Rpb24gbmFtZSB7IENPTU1BTkRTIDsgfSBvciBuYW1lICgpIHsgQ09NTUFORFMgOyB9IgpAQCAtMjIwNCwxMiArMjMwNCwxMyBAQAogbXNnc3RyICJwcmludGYgWy12IHZhcl0gRm9ybWF0IFtBcmd1bWVudGVdIgogCiAjOiBidWlsdGlucy5jOjIyOQorIywgZnV6enkKIG1zZ2lkICIiCi0iY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLVcgIgotIndvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TIHN1ZmZpeF0gIgotIltuYW1lIC4uLl0iCisiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstREVdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLSIKKyJXIHdvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TICIKKyJzdWZmaXhdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKLSJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1vIE9wdGlvbl0gWy1BIEFrdGlvbl0gWy1HIFN1Y2htdXN0ZXJdIFstVyAiCisiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstbyBPcHRpb25dIFstQSBNZXRob2RlXSBbLUcgU3VjaG11c3Rlcl0gWy1XICIKICJXb3J0bGlzdGVdICBbLUYgRnVua3Rpb25dIFstQyBLb21tYW5kb10gWy1YIEZpbHRlcm11c3Rlcl0gWy1QIFByZWZpeF0gWy1TICIKICJTdWZmaXhdIFtOYW1lIC4uLl0iCiAKQEAgLTIyMjMsNyArMjMyNCw4IEBACiAiU3VmZml4XSBbV29ydF0iCiAKICM6IGJ1aWx0aW5zLmM6MjM3Ci1tc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbbmFtZSAuLi5dIgorIywgZnV6enkKK21zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFstREVdIFtuYW1lIC4uLl0iCiBtc2dzdHIgImNvbXBvcHQgWy1vfCtvIE9wdGlvbl0gW05hbWUgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoyNDAKQEAgLTIyNjIsNyArMjM2NCw3IEBACiAiICAgIE9obmUgQXJndW1lbnRlIHdpcmQgZGllIExpc3RlIGRlciBBbGlhc2UgKFN5bm9ueW1lKSBpbiBkZXIgRm9ybSBcbiIKICIgICAgYGFsaWFzIE5hbWU9V2VydCcgYXVmIGRpZSBTdGFuZGFyZGF1c2dhYmUgZ2VkcnVja3QuXG4iCiAiXG4iCi0iICAgIFNvbnN0IHdpcmQgZWluIEFsaWFzIGb8ciBqZWRlbiBhbmdlZ2ViZW5lbiBOYW1lbiBkZWZpbmllcnQsIGb8ciBkZW4gZWluXG4iCisiICAgIFNvbnN0IHdpcmQgZWluIEFsaWFzIGbDvHIgamVkZW4gYW5nZWdlYmVuZW4gTmFtZW4gZGVmaW5pZXJ0LCBmw7xyIGRlbiBlaW5cbiIKICIgICAgV2VydCBhbmdlZ2ViZW4gd3VyZGUuICBcbiIKICIgICAgQSB0cmFpbGluZyBzcGFjZSBpbiBWQUxVRSBjYXVzZXMgdGhlIG5leHQgd29yZCB0byBiZSBjaGVja2VkIGZvclxuIgogIiAgICBhbGlhcyBzdWJzdGl0dXRpb24gd2hlbiB0aGUgYWxpYXMgaXMgZXhwYW5kZWQuXG4iCkBAIC0yMjcwLDggKzIzNzIsOCBAQAogIiAgICBPcHRpb25zOlxuIgogIiAgICAgIC1wXHRQcmludCBhbGwgZGVmaW5lZCBhbGlhc2VzIGluIGEgcmV1c2FibGUgZm9ybWF0XG4iCiAiICAgIFxuIgotIiAgICBS/GNrZ2FiZXdlcnQ6XG4iCi0iICAgIE1lbGRldCBFcmZvbGcsIGF132VyIHdlbm4gTkFNRSBuaWNodCBleGlzdGllcnQuIgorIiAgICBSw7xja2dhYmV3ZXJ0OlxuIgorIiAgICBNZWxkZXQgRXJmb2xnLCBhdcOfZXIgd2VubiBOQU1FIG5pY2h0IGV4aXN0aWVydC4iCiAKICM6IGJ1aWx0aW5zLmM6Mjc2CiBtc2dpZCAiIgpAQCAtMjI4Nyw3ICsyMzg5LDcgQEAKICIgICAgT3B0aW9uZW46XG4iCiAiICAgICAgLWFcdEVuZmVybmUgYWxsZSBBbGlhcyBEZWZpbml0aW9uZW4uXG4iCiAiICAgIFxuIgotIiAgICBHaWJ0IGltbWVyIEVyZm9sZyB6dXL8Y2ssIHdlbm4gZGVyIE5hbWUgZXhpc3RpZXJ0LiIKKyIgICAgR2lidCBpbW1lciBFcmZvbGcgenVyw7xjaywgd2VubiBkZXIgTmFtZSBleGlzdGllcnQuIgogCiAjOiBidWlsdGlucy5jOjI4OQogbXNnaWQgIiIKQEAgLTIzNDQsOCArMjQ0Niw4IEBACiAiaXN0LCB3ZXJkZW4gTiBnZXNjaGFjaHRlbHRlXG4iCiAiICAgIFNjaGxlaWZlbiBiZWVuZGV0LlxuIgogIiAgICBcbiIKLSIgICAgUvxja2dhYmV3ZXJ0OlxuIgotIiAgICBEZXIgUvxja2dhYmV3ZXJ0IGlzdCAwLCBlcyBzZWkgZGVuIE4gaXN0IGdy9t9lciBvZGVyIGdsZWljaCAxLiIKKyIgICAgUsO8Y2tnYWJld2VydDpcbiIKKyIgICAgRGVyIFLDvGNrZ2FiZXdlcnQgaXN0IDAsIGVzIHNlaSBkZW4gTiBpc3QgZ3LDtsOfZXIgb2RlciBnbGVpY2ggMS4iCiAKICM6IGJ1aWx0aW5zLmM6MzM4CiBtc2dpZCAiIgpAQCAtMjM2MiwxMCArMjQ2NCwxMCBAQAogIiAgICBDb250aW5vdWUgc3ByaW5ndCB6dW0gU2NobGVpZmVuYW5mYW5nIGRlciBha3R1ZWxsZW4gRk9SLCBXSElMRSBvZGVyICIKICJVTlRJTCBcbiIKICIgICAgU2NobGVpZmUuIFdlbm4gTiBhbmdlZ2ViZW4gaXN0LCB3ZXJkZW4gTiB3aXJkIHp1bSBCZWdpbm4gZGVyIE4tdGVuXG4iCi0iICAgIPxiZXJnZW9yZG5ldGVuIFNjaGxlaWZlIGdlc3BydW5nZW4uXG4iCisiICAgIMO8YmVyZ2VvcmRuZXRlbiBTY2hsZWlmZSBnZXNwcnVuZ2VuLlxuIgogIiAgICBcbiIKLSIgICAgUvxja2dhYmV3ZXJ0OlxuIgotIiAgICBEZXIgUvxja2dhYmV3ZXJ0IGlzdCAwLCBhdd9lciB3ZW5uIE4gZ3L232VyIG9kZXIgZ2xlaWNoIDEgaXN0LiIKKyIgICAgUsO8Y2tnYWJld2VydDpcbiIKKyIgICAgRGVyIFLDvGNrZ2FiZXdlcnQgaXN0IDAsIGF1w59lciB3ZW5uIE4gZ3LDtsOfZXIgb2RlciBnbGVpY2ggMSBpc3QuIgogCiAjOiBidWlsdGlucy5jOjM1MAogbXNnaWQgIiIKQEAgLTIzODAsNiArMjQ4MiwxNiBAQAogIiAgICBSZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBTSEVMTC1CVUlMVElOLCBvciBmYWxzZSBpZiBTSEVMTC1CVUlMVElOIGlzXG4iCiAiICAgIG5vdCBhIHNoZWxsIGJ1aWx0aW4uLiIKIG1zZ3N0ciAiIgorIkbDvGhydCBlaW5lIGVpbmdlYmV1dGUgU2hlbGwgRnVua3Rpb25lbiBhdXMuXG4iCisiICAgIFxuIgorIiAgICBGw7xocnQgZGllIGVpbmdlYmF1dGUgU2hlbGwgRnVua3Rpb25lbiBtaXQgZGVuIGFuZ2VnZWJlbmVuXG4iCisiICAgIEFyZ3VtZW50ZW4gYXVzLCBvaG5lIGRhcyBLb21tYW5kbyBuYWNoenVzY2hsYWdlbi4gIERpZXNlIEZ1bmt0aW9uXG4iCisiICAgIGlzdCBkYW5uIG7DvHR6bGljaCwgd2VubiBlaW5lIGVpbmdlYmF1dGUgU2hlbGwgRnVua3Rpb25cbiIKKyIgICAgw7xiZXJzY2hyaWViZW4gd3VyZGUsIGRpZXNlIGFiZXIgdHJvdHpkZW0gYXVzZ2Vmw7xocnQgd2VyZGVuIHNvbGwuXG4iCisiICAgIFxuIgorIiAgICBSw7xja2dhYmV3ZXJ0OiBcbiIKKyIgICAgRGVyIFLDvGNrZ2FiZXdlcnQgZGVyIGVpbmdlYmF1dGVuIFNjaGVsbGZ1bmtyaW9uIG9kZXIgRmFsc2NoLCB3ZW5uXG4iCisiICAgIGRpZXNlIG5pY2h0IGV4aXN0aWVydC4iCiAKICM6IGJ1aWx0aW5zLmM6MzY1CiBtc2dpZCAiIgpAQCAtMjQyOSw2ICsyNTQxLDMwIEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkOyBub24temVybyBvdGhlcndpc2UuIgogbXNnc3RyICIiCisiV2VjaHNlbHQgZGFzIEFyYmVpdHN2ZXJ6ZWljaG5pcy5cbiIKKyIgICAgXG4iCisiICAgIFdlY2hzZWx0IGRhcyBha3R1ZWxsZSBBYmVpdHN2ZXJ6ZWljaG5pcyB6dSBESVIuICBPaG5lIEFuZ2FiZSBlaW5lc1xuIgorIiAgICBWZXJ6ZWljaG5pc3NlcyB3aXJkIGluIGRhcyBIZWltYXR2ZXJ6ZWljaG5pcyBnZXdlY2hzZWx0LiBcbiIKKyIgICAgXG4iCisiICAgIERpZSBWYXJpYWJsZSBDRFBBVEggZW50aMOkbHQgZGVuIFN1Y2hwZmFkIGbDvHIgZGFzIGluIERJUlxuIgorIiAgICBzcGV6aWZpemllcnRlIFZlcnplaWNobmlzLiBEaWUgUGZhZG5hbWVuIHdlcmRlbiBkdXJjaCBEb3BwZWxwdW5rdGVcbiIKKyIgICAgKDopIGdldHJlbm50LiBFaW4gbGVlcmVyIFBmYWRuYW1lIGJlemVpY2huZXQgZGFzIGFrdHVlbGxlXG4iCisiICAgIFZlcnplaWNobmlzLiBXZW5uIERJUiBtaXQgZWluZW0gU2NocsOkZ3NydGljaCAoLykgYmVnaW5udCwgd2lyZCBkZXJcbiIKKyIgICAgQ0RQQVRIIG5pY2h0IGR1cmNoc3VjaHQuXG4iCisiICAgIFxuIgorIiAgICBXZW5uIGtlaW4gZW50c3ByZWNoZW5kZXMgVmVyemVpY2huaXMgZ2VmdW5kZW4gd3VyZGUgdW5kIGRpZSBTaGVsbFxuIgorIiAgICBPcHRpb24gYGNkYWJsZV92YXJzJyBnZXNldHp0IGlzdCwgZGFubiB3aXJkIGFuZ2Vub21tZW4sIGRhc3MgRElSXG4iCisiICAgIGVpbmVuIFZhcmlhYmxlbm5hbWVuIGVudGjDpGx0LiAgV2VubiBkYW5uIG5vY2ggZGllc2UgVmFyaWFibGUgZWluXG4iCisiICAgIFdlcnQgYmVzaXR6dCwgd2lyZCBkaWVzZXIgYWxzIEluaGFsdCB2b24gRElSIHZlcndlbmRldC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbmVuOlxuIgorIiAgICAgICAgLUxcdEVyendpbmd0IGRhcyBGb2xnZW4gc3ltYm9saXNjaGVyIFZlcndlaXNlLlxuIgorIiAgICAgICAgLVBcdFN5bWJvbGlzY2hlIFZlcndlaXNlIHdlcmRlbiBpZ25vcmllcnQuXG4iCisiICAgIFxuIgorIiAgICBTdGFuZGFyZG3DpMOfaWcgd2lyZCBzeW1ib2xpc2NoZW4gVmVyd2Vpc2VuIGdlZm9sZ3QuXG4iCisiICAgIFxuIgorIiAgICBSw7xja2dhYmV3ZXJ0OlxuIgorIiAgICBXZW5uIGRhcyBWZXJ6ZWljaG5pYyBnZXdlY2hzZWx0IHd1cmRlIDA7IHNvbnN0IHVuZ2xlaWNoIE51bGwuIgogCiAjOiBidWlsdGlucy5jOjQxMQogbXNnaWQgIiIKQEAgLTI0NDQsMjIgKzI1ODAsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyAwIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciB0aGUgY3VycmVudCBkaXJlY3RvcnlcbiIKICIgICAgY2Fubm90IGJlIHJlYWQuIgotbXNnc3RyICIiCi0iR2lidCBkZW4gTmFtZW4gZGVzIGFrdHVlbGxlbiBBcmJlaXRzdmVyemVpY2huaXMgYXVzLlxuIgotIiAgICBcbiIKLSIgICAgT3B0aW9uZW46XG4iCi0iICAgICAgLUxcdEdpYnQgZGVuIFdlcnQgZGVyICRQV0QgVW1nZWJ1bmdzdmFyaWFibGUgYXVzLCB3ZW5uIGRpZXNlXG4iCi0iXHRhdWYgZGFzIGFrdHVlbGxlIEFyYmVpdHN2ZXJ6ZWljaG5pcyB2ZXJ3ZWlzdC5cbiIKLSJcbiIKLSIgICAgICAtUFx0R2lidCBkZW4gd2lya2xpY2hlbiBWZXJ6ZWljaG5pc25haGVuIGF1cywgb2huZSBzeW1ib2xpc2NoZSAiCi0iVmVyd2Vpc2UuXG4iCi0iICAgIFxuIgotIiAgICBTdGFuZGFyZG3k32lnIHdpcmQgZGllIC1MIE9wdGlvbiB2ZXJ3ZW5kZXQuXG4iCi0iICAgIFxuIgotIiAgICBS/GNrZ2FiZXdlcnQ6XG4iCi0iICAgIERlciBS/GNrZ2FiZXdlcnQgaXN0IDAsIGF132VyIHdlbm4gZWluZSB1bmf8bHRpZ2UgT3B0aW9uIGFuZ2VnZWJlbiBvZGVyICIKLSJkYXMgYWt0dWVsbGVcbiIKLSIgICAgVmVyemVpY2huaXMgbmljaHQgZ2VsZXNlbiB3ZXJkZW4ga2Fubi4iCittc2dzdHIgIiAgICBiZSBhIGxpdGVyYWwgYF0nLCB0byBtYXRjaCB0aGUgb3BlbmluZyBgWycuPCIKIAogIyBjb2xvbgogIzogYnVpbHRpbnMuYzo0MjgKQEAgLTI0NzUsNyArMjU5Niw3IEBACiAiXG4iCiAiICAgIExlZXJhbndlaXN1bmc7IGRhcyBLb21tYW5kbyBoYXQga2VpbmUgV2lya3VuZy5cbiIKICJcbiIKLSIgICAgUvxja2dhYmV3ZXJ0OlxuIgorIiAgICBSw7xja2dhYmV3ZXJ0OlxuIgogIiAgICBEYXMgS29tbWFuZG8gaXN0IGltbWVyIGVyZm9sZ3JlaWNoLiIKIAogIzogYnVpbHRpbnMuYzo0MzkKQEAgLTI1NzMsMjAgKzI2OTQsMjAgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCwgYW4gZXJyb3Igb2NjdXJzLFxuIgogIiAgICBvciB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uLiIKIG1zZ3N0ciAiIgotIkRlZmluaWVydCBsb2thbGUgVmF0aWFibGVuLlxuIgorIkRlZmluaWVydCBsb2thbGUgVmFyaWFibGVuLlxuIgogIiAgICBcbiIKICIgICAgRXJ6ZXVndCBlaW5lIExva2FsZSBWYXJpYWJsZSBOQU1FIHVuZCB3ZWlzdCBpaHIgZGVuIFdlcnQgVkFMVUUgenUuICAiCiAiT1BUSU9OXG4iCiAiICAgIGthbm4gZWluZSBiZWxpZWJpZ2Ugdm9uIGBkZWNsYXJlJyBha3plcHRpZXJ0ZSBPcHRpb24gc2Vpbi5cbiIKICJcbiIKLSIgICAgTG9rYWxlIFZhcmlhYmxlbiBr9m5uZW4gbnVyIGlubmVyaGFsYiBlaW5lciBGdW5rdGlvbiBiZW51dHp0IHdlcmRlbi4gIgorIiAgICBMb2thbGUgVmFyaWFibGVuIGvDtm5uZW4gbnVyIGlubmVyaGFsYiBlaW5lciBGdW5rdGlvbiBiZW51dHp0IHdlcmRlbi4gIgogIlNpZVxuIgogIiAgICBzaW5kIG51ciBpbiBkZXIgc2llIGVyemV1Z2VuZGVuIEZ1bmt0aW9uIHVuZCBpaHJlbiBLaW5kZXJuICIKICJzaWNodGJhci4gICAgXG4iCiAiICAgIFxuIgotIiAgICBS/GNrZ2FiZXdlcnQ6XG4iCi0iICAgIExpZWZlcnQgXCJFcmZvbGdcIiBhdd9lciBiZWkgZWluZXIgdW5n/Gx0aWdlbiBPcHRpb24sIGVpbmVtIEZlaGxlciBvZGVyXG4iCi0iICAgIGRpZSBTaGVsbCBm/GhydCBrZWluZSBGdW5rdGlvbiBhdXMuIgorIiAgICBSw7xja2dhYmV3ZXJ0OlxuIgorIiAgICBMaWVmZXJ0IFwiRXJmb2xnXCIgYXXDn2VyIGJlaSBlaW5lciB1bmfDvGx0aWdlbiBPcHRpb24sIGVpbmVtIEZlaGxlciBvZGVyXG4iCisiICAgIGRpZSBTaGVsbCBmw7xocnQga2VpbmUgRnVua3Rpb24gYXVzLiIKIAogIzogYnVpbHRpbnMuYzo1MzcKIG1zZ2lkICIiCkBAIC0yNzQ1LDkgKzI4NjYsOSBAQAogbXNnc3RyICIiCiAiQmVlbmRldCBkaWUgYWt0dWVsbGUgU2hlbGwuXG4iCiAiXG4iCi0iICAgIEJlZW5kdCBkaWUgZGllIGFrdHVlbGxlIFNoZWxsIG1pdCBkZW0gUvxja2dhYmV3ZXJ0IE4uICBXZW5uIE4gbmljaHQgIgorIiAgICBCZWVuZHQgZGllIGRpZSBha3R1ZWxsZSBTaGVsbCBtaXQgZGVtIFLDvGNrZ2FiZXdlcnQgTi4gIFdlbm4gTiBuaWNodCAiCiAiYW5nZWdlYmVuIGlzdCxcbiIKLSIgICAgd2lyZCBkZXIgUvxja2dhYmV3ZXJ0IGRlcyBsZXR6dGVuIGF1c2dlZvxocnRlbiBLb21tYW5kb3Mg/GJlcm5vbW1lbi4iCisiICAgIHdpcmQgZGVyIFLDvGNrZ2FiZXdlcnQgZGVzIGxldHp0ZW4gYXVzZ2Vmw7xocnRlbiBLb21tYW5kb3Mgw7xiZXJub21tZW4uIgogCiAjOiBidWlsdGlucy5jOjY5OAogbXNnaWQgIiIKQEAgLTMwMjYsNyArMzE0NywxMSBAQAogIiAgICAgIC1lXHRcdHVzZSBSZWFkbGluZSB0byBvYnRhaW4gdGhlIGxpbmUgaW4gYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKICIgICAgICAtaSB0ZXh0XHRVc2UgVEVYVCBhcyB0aGUgaW5pdGlhbCB0ZXh0IGZvciBSZWFkbGluZVxuIgogIiAgICAgIC1uIG5jaGFyc1x0cmV0dXJuIGFmdGVyIHJlYWRpbmcgTkNIQVJTIGNoYXJhY3RlcnMgcmF0aGVyIHRoYW4gd2FpdGluZ1xuIgotIiAgICBcdFx0Zm9yIGEgbmV3bGluZVxuIgorIiAgICBcdFx0Zm9yIGEgbmV3bGluZSwgYnV0IGhvbm9yIGEgZGVsaW1pdGVyIGlmIGZld2VyIHRoYW4gTkNIQVJTXG4iCisiICAgIFx0XHRjaGFyYWN0ZXJzIGFyZSByZWFkIGJlZm9yZSB0aGUgZGVsaW1pdGVyXG4iCisiICAgICAgLU4gbmNoYXJzXHRyZXR1cm4gb25seSBhZnRlciByZWFkaW5nIGV4YWN0bHkgTkNIQVJTIGNoYXJhY3RlcnMsICIKKyJ1bmxlc3NcbiIKKyIgICAgXHRcdEVPRiBpcyBlbmNvdW50ZXJlZCBvciByZWFkIHRpbWVzIG91dCwgaWdub3JpbmcgYW55IGRlbGltaXRlclxuIgogIiAgICAgIC1wIHByb21wdFx0b3V0cHV0IHRoZSBzdHJpbmcgUFJPTVBUIHdpdGhvdXQgYSB0cmFpbGluZyBuZXdsaW5lIGJlZm9yZVxuIgogIiAgICBcdFx0YXR0ZW1wdGluZyB0byByZWFkXG4iCiAiICAgICAgLXJcdFx0ZG8gbm90IGFsbG93IGJhY2tzbGFzaGVzIHRvIGVzY2FwZSBhbnkgY2hhcmFjdGVyc1xuIgpAQCAtMzA0Niw3ICszMTcxLDcgQEAKICIgICAgb3IgYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IgaXMgc3VwcGxpZWQgYXMgdGhlIGFyZ3VtZW50IHRvIC11LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEwMDYKKyM6IGJ1aWx0aW5zLmM6MTAwOQogbXNnaWQgIiIKICJSZXR1cm4gZnJvbSBhIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTMwNTgsNyArMzE4Myw3IEBACiAiICAgIFJldHVybnMgTiwgb3IgZmFpbHVyZSBpZiB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uIG9yIHNjcmlwdC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMDE5CisjOiBidWlsdGlucy5jOjEwMjIKIG1zZ2lkICIiCiAiU2V0IG9yIHVuc2V0IHZhbHVlcyBvZiBzaGVsbCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzE0MCw3ICszMjY1LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTAxCisjOiBidWlsdGlucy5jOjExMDQKIG1zZ2lkICIiCiAiVW5zZXQgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzIG9mIHNoZWxsIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuIgogIiAgICBcbiIKQEAgLTMxNjAsNyArMzI4NSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSBOQU1FIGlzIHJlYWQtb25seS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTIxCisjOiBidWlsdGlucy5jOjExMjQKIG1zZ2lkICIiCiAiU2V0IGV4cG9ydCBhdHRyaWJ1dGUgZm9yIHNoZWxsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0zMTc5LDcgKzMzMDQsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTQwCisjOiBidWlsdGlucy5jOjExNDMKIG1zZ2lkICIiCiAiTWFyayBzaGVsbCB2YXJpYWJsZXMgYXMgdW5jaGFuZ2VhYmxlLlxuIgogIiAgICBcbiIKQEAgLTMxOTksNyArMzMyNCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNjEKKyM6IGJ1aWx0aW5zLmM6MTE2NAogbXNnaWQgIiIKICJTaGlmdCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzIxMCw3ICszMzM1LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOIGlzIG5lZ2F0aXZlIG9yIGdyZWF0ZXIgdGhhbiAkIy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTczIGJ1aWx0aW5zLmM6MTE4OAorIzogYnVpbHRpbnMuYzoxMTc2IGJ1aWx0aW5zLmM6MTE5MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZyb20gYSBmaWxlIGluIHRoZSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTMyMjQsNyArMzM0OSw3IEBACiAiICAgIEZJTEVOQU1FIGNhbm5vdCBiZSByZWFkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEyMDQKKyM6IGJ1aWx0aW5zLmM6MTIwNwogbXNnaWQgIiIKICJTdXNwZW5kIHNoZWxsIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC0zMjM4LDcgKzMzNjMsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjIwCisjOiBidWlsdGlucy5jOjEyMjMKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC0zMzE1LDE1ICszNDQwLDE5IEBACiAiICAgIGZhbHNlIG9yIGFuIGludmFsaWQgYXJndW1lbnQgaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTI5NgorIzogYnVpbHRpbnMuYzoxMjk5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgogIiAgICBUaGlzIGlzIGEgc3lub255bSBmb3IgdGhlIFwidGVzdFwiIGJ1aWx0aW4sIGJ1dCB0aGUgbGFzdCBhcmd1bWVudCBtdXN0XG4iCiAiICAgIGJlIGEgbGl0ZXJhbCBgXScsIHRvIG1hdGNoIHRoZSBvcGVuaW5nIGBbJy4iCiBtc2dzdHIgIiIKKyJXZXJ0ZXQgZWluZW4gYmVkaW5nZW4gQXVzZHJ1Y2sgYXVzLlxuIgorIiAgICBcbiIKKyIgICAgRGllc2VzIEtvbW1hbmRvIGVudHNwcmljaHQgZGVtIFwidGVzdFwiIEtvbW1hbmRvLCBhYmVyIGRhcyBsZXR6dGUgIgorIkFyZ3VtZW50IG11c3MgZWluIGBdJyBzZWluLiIKIAotIzogYnVpbHRpbnMuYzoxMzA1CisjOiBidWlsdGlucy5jOjEzMDgKIG1zZ2lkICIiCiAiRGlzcGxheSBwcm9jZXNzIHRpbWVzLlxuIgogIiAgICBcbiIKQEAgLTMzMzUsNyArMzQ2NCw3IEBACiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzE3CisjOiBidWlsdGlucy5jOjEzMjAKIG1zZ2lkICIiCiAiVHJhcCBzaWduYWxzIGFuZCBvdGhlciBldmVudHMuXG4iCiAiICAgIFxuIgpAQCAtMzM3MSw3ICszNTAwLDcgQEAKICJnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzQ5CisjOiBidWlsdGlucy5jOjEzNTIKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kIHR5cGUuXG4iCiAiICAgIFxuIgpAQCAtMzQwMSw3ICszNTMwLDcgQEAKICJmb3VuZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzgwCisjOiBidWlsdGlucy5jOjEzODMKIG1zZ2lkICIiCiAiTW9kaWZ5IHNoZWxsIHJlc291cmNlIGxpbWl0cy5cbiIKICIgICAgXG4iCkBAIC0zNDQ1LDcgKzM1NzQsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDI1CisjOiBidWlsdGlucy5jOjE0MjgKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCiAiICAgIFxuIgpAQCAtMzQ2Myw3ICszNTkyLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBNT0RFIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ0NQorIzogYnVpbHRpbnMuYzoxNDQ4CiBtc2dpZCAiIgogIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtMzQ4MCw3ICszNjA5LDcgQEAKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ2MworIzogYnVpbHRpbnMuYzoxNDY2CiBtc2dpZCAiIgogIldhaXQgZm9yIHByb2Nlc3MgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTM0OTQsNyArMzYyMyw3IEBACiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NzgKKyM6IGJ1aWx0aW5zLmM6MTQ4MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhIGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMzUwNyw3ICszNjM2LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5MgorIzogYnVpbHRpbnMuYzoxNDk1CiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCiAiICAgIFxuIgpAQCAtMzUyNCw3ICszNjUzLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTUxMAorIzogYnVpbHRpbnMuYzoxNTEzCiBtc2dpZCAiIgogIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0zNTQ0LDcgKzM2NzMsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTMxCisjOiBidWlsdGlucy5jOjE1MzQKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzU2MCw3ICszNjg5LDcgQEAKICIgICAgVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlIHJldHVybiBzdGF0dXMgb2YgUElQRUxJTkUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU0OAorIzogYnVpbHRpbnMuYzoxNTUxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gcGF0dGVybiBtYXRjaGluZy5cbiIKICIgICAgXG4iCkBAIC0zNTcxLDcgKzM3MDAsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTYwCisjOiBidWlsdGlucy5jOjE1NjMKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBjb25kaXRpb25hbC5cbiIKICIgICAgXG4iCkBAIC0zNTkyLDcgKzM3MjEsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTc3CisjOiBidWlsdGlucy5jOjE1ODAKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKICIgICAgXG4iCkBAIC0zNjAzLDcgKzM3MzIsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTg5CisjOiBidWlsdGlucy5jOjE1OTIKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLlxuIgogIiAgICBcbiIKQEAgLTM2MTQsNyArMzc0Myw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MDEKKyM6IGJ1aWx0aW5zLmM6MTYwNAogbXNnaWQgIiIKICJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKICIgICAgXG4iCkBAIC0zNjI3LDcgKzM3NTYsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MTUKKyM6IGJ1aWx0aW5zLmM6MTYxOAogbXNnaWQgIiIKICJEZWZpbmUgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzY0MSw3ICszNzcwLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIHJlYWRvbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MjkKKyM6IGJ1aWx0aW5zLmM6MTYzMgogbXNnaWQgIiIKICJHcm91cCBjb21tYW5kcyBhcyBhIHVuaXQuXG4iCiAiICAgIFxuIgpAQCAtMzY1Miw3ICszNzgxLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY0MQorIzogYnVpbHRpbnMuYzoxNjQ0CiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0zNjY2LDcgKzM3OTUsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIHJlc3VtZWQgam9iLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NTYKKyM6IGJ1aWx0aW5zLmM6MTY1OQogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtMzY3Nyw3ICszODA2LDcgQEAKICIgICAgUmV0dXJucyAxIGlmIEVYUFJFU1NJT04gZXZhbHVhdGVzIHRvIDA7IHJldHVybnMgMCBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY2OAorIzogYnVpbHRpbnMuYzoxNjcxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29uZGl0aW9uYWwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0zNzA1LDcgKzM4MzQsNyBAQAogIiAgICAwIG9yIDEgZGVwZW5kaW5nIG9uIHZhbHVlIG9mIEVYUFJFU1NJT04uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY5NAorIzogYnVpbHRpbnMuYzoxNjk3CiBtc2dpZCAiIgogIkNvbW1vbiBzaGVsbCB2YXJpYWJsZSBuYW1lcyBhbmQgdXNhZ2UuXG4iCiAiICAgIFxuIgpAQCAtMzc1OSw3ICszODg4LDcgQEAKICIgICAgXHRcdGNvbW1hbmRzIHNob3VsZCBiZSBzYXZlZCBvbiB0aGUgaGlzdG9yeSBsaXN0LlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTc1MQorIzogYnVpbHRpbnMuYzoxNzU0CiBtc2dpZCAiIgogIkFkZCBkaXJlY3RvcmllcyB0byBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zNzkwLDcgKzM5MTksNyBAQAogIiAgICBjaGFuZ2UgZmFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTc4NQorIzogYnVpbHRpbnMuYzoxNzg4CiBtc2dpZCAiIgogIlJlbW92ZSBkaXJlY3RvcmllcyBmcm9tIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM4MTcsNyArMzk0Niw4IEBACiAiICAgIGNoYW5nZSBmYWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODE1CisjIGRpcnMKKyM6IGJ1aWx0aW5zLmM6MTgxOAogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zODQ2LDcgKzM5NzYsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODQ0CisjOiBidWlsdGlucy5jOjE4NDcKIG1zZ2lkICIiCiAiU2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTM4NjcsNyArMzk5Nyw3IEBACiAiICAgIGdpdmVuIG9yIE9QVE5BTUUgaXMgZGlzYWJsZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg2NQorIzogYnVpbHRpbnMuYzoxODY4CiBtc2dpZCAiIgogIkZvcm1hdHMgYW5kIHByaW50cyBBUkdVTUVOVFMgdW5kZXIgY29udHJvbCBvZiB0aGUgRk9STUFULlxuIgogIiAgICBcbiIKQEAgLTM4OTcsNyArNDAyNyw3IEBACiAiICAgIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODkyCisjOiBidWlsdGlucy5jOjE4OTUKIG1zZ2lkICIiCiAiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCiAiICAgIFxuIgpAQCAtMzkxMSwxNSArNDA0MSwyMCBAQAogIiAgICAgIC1wXHRwcmludCBleGlzdGluZyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zIGluIGEgcmV1c2FibGUgZm9ybWF0XG4iCiAiICAgICAgLXJcdHJlbW92ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm9cbiIKICIgICAgXHROQU1FcyBhcmUgc3VwcGxpZWQsIGFsbCBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zXG4iCisiICAgICAgLURcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyBhcyB0aGUgZGVmYXVsdCBmb3IgY29tbWFuZHNcbiIKKyIgICAgXHR3aXRob3V0IGFueSBzcGVjaWZpYyBjb21wbGV0aW9uIGRlZmluZWRcbiIKKyIgICAgICAtRVx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIHRvIFwiZW1wdHlcIiBjb21tYW5kcyAtLVxuIgorIiAgICBcdGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZVxuIgogIiAgICBcbiIKICIgICAgV2hlbiBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgdGhlIGFjdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZVxuIgotIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS5cbiIKKyIgICAgdXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuICBUaGUgLUQgb3B0aW9uIHRha2VzXG4iCisiICAgIHByZWNlZGVuY2Ugb3ZlciAtRS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTE1CisjOiBidWlsdGlucy5jOjE5MjMKIG1zZ2lkICIiCiAiRGlzcGxheSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzkzMiw3ICs0MDY3LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTkzMAorIzogYnVpbHRpbnMuYzoxOTM4CiBtc2dpZCAiIgogIk1vZGlmeSBvciBkaXNwbGF5IGNvbXBsZXRpb24gb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zOTQ1LDYgKzQwODAsOCBAQAogIiAgICBcbiIKICIgICAgT3B0aW9uczpcbiIKICIgICAgXHQtbyBvcHRpb25cdFNldCBjb21wbGV0aW9uIG9wdGlvbiBPUFRJT04gZm9yIGVhY2ggTkFNRVxuIgorIiAgICBcdC1EXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJkZWZhdWx0XCIgY29tbWFuZCBjb21wbGV0aW9uXG4iCisiICAgIFx0LUVcdFx0Q2hhbmdlIG9wdGlvbnMgZm9yIHRoZSBcImVtcHR5XCIgY29tbWFuZCBjb21wbGV0aW9uXG4iCiAiICAgIFxuIgogIiAgICBVc2luZyBgK28nIGluc3RlYWQgb2YgYC1vJyB0dXJucyBvZmYgdGhlIHNwZWNpZmllZCBvcHRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzk2MSwxNSArNDA5OCwxNSBAQAogIiAgICBoYXZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGRlZmluZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTk1OAorIzogYnVpbHRpbnMuYzoxOTY4CiBtc2dpZCAiIgotIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKKyJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCi0iICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgYXJyYXkgdmFyaWFibGUgQVJSQVksIG9yICIKLSJmcm9tXG4iCi0iICAgIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlIE1BUEZJTEUgIgotImlzXG4iCi0iICAgIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgorIiAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUgIgorIkFSUkFZLCBvclxuIgorIiAgICBmcm9tIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlICIKKyJNQVBGSUxFXG4iCisiICAgIGlzIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgogIiAgICBcbiIKICIgICAgT3B0aW9uczpcbiIKICIgICAgICAtbiBjb3VudFx0Q29weSBhdCBtb3N0IENPVU5UIGxpbmVzLiAgSWYgQ09VTlQgaXMgMCwgYWxsIGxpbmVzIGFyZSAiCkBAIC0zOTk2LDE1ICs0MTMzLDMwIEBACiAiICAgIGFzc2lnbmluZyB0byBpdC5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIEFSUkFZIGlzIHJlYWRvbmx5LiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBBUlJBWSBpcyByZWFkb25seSAiCisib3JcbiIKKyIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTk5MAorIzogYnVpbHRpbnMuYzoyMDAxCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCiAiICAgIEEgc3lub255bSBmb3IgYG1hcGZpbGUnLiIKIG1zZ3N0ciAiIgorIkxpZXN0IFplaWxlbiBlaW5lciBEYXRlaSBpbiBlaW5lIEFycmF5IFZhcmlhYmxlLlxuIgorIlxuIgorIiAgICBJc3QgZWluIFN5bm9ueW0gZsO8ciBgbWFwZmlsZScuIgorCisjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjfiBtc2dzdHIgInhyZWFsbG9jOiBLYW5uICVsdSBCeXRlcyBuaWNodCByZXNlcnZpZXJlbiAoJWx1IGJ5dGVzIHJlc2VydmllcnQpLiIKKworI34gbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorI34gbXNnc3RyICJ4cmVhbGxvYzogS2FubiBuaWNodCAlbHUgQnl0ZXMgcmVzZXJ2aWVyZW4uIgorCisjfiBtc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorI34gbXNnc3RyICIiCisjfiAieHJlYWxsb2M6ICVzOiVkOiBLYW5uIG5pY2h0ICVsdSBCeXRlcyByZXNlcnZpZXJlbiAoJWx1IGJ5dGVzIHJlc2VydmllcnQpLiIKIAogI34gbXNnaWQgIk1pc3NpbmcgYH0nIgogI34gbXNnc3RyICJGZWhsZW5kZSBgfScuIgpAQCAtNDA1Myw3ICs0MjA1LDcgQEAKICN+IG1zZ3N0ciAiJXM6IERhcyBVbWxlbmtlbiBkZXIgQXVzZ2FiZSBpc3QgdmVyYm90ZW4uIgogCiAjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSEiCi0jfiBtc2dzdHIgIkFyYmVpdHNzcGVpY2hlciBlcnNjaPZwZnQhIgorI34gbXNnc3RyICJBcmJlaXRzc3BlaWNoZXIgZXJzY2jDtnBmdCEiCiAKICMgRGVidWcgQXVzZ2FiZQogI34gbXNnaWQgIllvdSBoYXZlIGFscmVhZHkgYWRkZWQgaXRlbSBgJXMnXG4iCkBAIC00MDY3LDcgKzQyMTksNyBAQAogI34gbXNnc3RyICI8dW5iZWthbm50PiIKIAogI34gbXNnaWQgIiVzOiBiZyBiYWNrZ3JvdW5kIGpvYj8iCi0jfiBtc2dzdHIgIiVzOiBiZyBIaW50ZXJncnVuZHByb3pl3z8iCisjfiBtc2dzdHIgIiVzOiBiZyBIaW50ZXJncnVuZHByb3plw58/IgogCiAjIFByb2dyYW1taWVyZmVobGVyCiAjfiBtc2dpZCAiIgpAQCAtNDA3NSw3ICs0MjI3LDcgQEAKICN+ICJvdXQgb2YgcmFuZ2UgaW4gbWFrZV9yZWRpcmVjdGlvbiAoKS4iCiAjfiBtc2dzdHIgIiIKICN+ICJVbWxlbmt1bmcgdm9uIHl5cGFyc2UoKSBgJWQnIGluIG1ha2VfcmVkaXJlY3Rpb25cbiIKLSN+ICJpc3QgYXXfZXJoYWxiIGRlcyB6dWzkc3NpZ2VuIEJlcmVpY2hzLiIKKyN+ICJpc3QgYXXDn2VyaGFsYiBkZXMgenVsw6Rzc2lnZW4gQmVyZWljaHMuIgogCiAjIFByb2dyYW1taWVyZmVobGVyCiAjfiBtc2dpZCAiY2xlYW5fc2ltcGxlX2NvbW1hbmQgKCkgZ290IGEgY29tbWFuZCB3aXRoIHR5cGUgJWQuIgpAQCAtNDEwMywyNyArNDI1NSwyNyBAQAogI34gbXNnc3RyICJgLWMnIGVyZm9yZGVydCBlaW4gQXJndW1lbnQuIgogCiAjfiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGRpcmVjdG9yaWVzIgotI34gbXNnc3RyICIlczogS2FubiBWZXJ6ZWljaG5pc3NlIG5pY2h0IGF1c2b8aHJlbi4iCisjfiBtc2dzdHIgIiVzOiBLYW5uIFZlcnplaWNobmlzc2UgbmljaHQgYXVzZsO8aHJlbi4iCiAKICMgaW50ZXJuZXIgRmVobGVyCiAjfiBtc2dpZCAiQmFkIGNvZGUgaW4gc2lnLmM6IHNpZ3Byb2NtYXNrIgogI34gbXNnc3RyICJGYWxzY2hlciBDb2RlIGluIHNpZy5jOiBTaWdwcm9jbWFzay4iCiAKICN+IG1zZ2lkICJjYW4ndCBtYWtlIHBpcGVzIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbjogJXMiCi0jfiBtc2dzdHIgIkthbm4ga2VpbmUgUGlwZXMgZvxyIGRpZSBQcm96Zd9lcnNldHp1bmcgZXJ6ZXVnZW46ICVzLiIKKyN+IG1zZ3N0ciAiS2FubiBrZWluZSBQaXBlcyBmw7xyIGRpZSBQcm96ZcOfZXJzZXR6dW5nIGVyemV1Z2VuOiAlcy4iCiAKICN+IG1zZ2lkICJyZWFkaW5nIgogI34gbXNnc3RyICJsZXNlIgogCiAjfiBtc2dpZCAicHJvY2VzcyBzdWJzdGl0dXRpb24iCi0jfiBtc2dzdHIgIlByb3pl32Vyc2V0enVuZyIKKyN+IG1zZ3N0ciAiUHJvemXDn2Vyc2V0enVuZyIKIAogI34gbXNnaWQgImNvbW1hbmQgc3Vic3RpdHV0aW9uIgogI34gbXNnc3RyICJLb21tYW5kb2Vyc2V0enVuZyIKIAogIyBpbnRlcm5lciBGZWhsZXIKICN+IG1zZ2lkICJDYW4ndCByZW9wZW4gcGlwZSB0byBjb21tYW5kIHN1YnN0aXR1dGlvbiAoZmQgJWQpOiAlcyIKLSN+IG1zZ3N0ciAiS2FubiBQaXBlIGb8ciBLb21tYW5kb2Vyc2V0enVuZyBuaWNodCB3aWVkZXIg9mZmbmVuIChmZCAlZCk6ICVzLiIKKyN+IG1zZ3N0ciAiS2FubiBQaXBlIGbDvHIgS29tbWFuZG9lcnNldHp1bmcgbmljaHQgd2llZGVyIMO2ZmZuZW4gKGZkICVkKTogJXMuIgogCiAjfiBtc2dpZCAiJCVjOiB1bmJvdW5kIHZhcmlhYmxlIgogI34gbXNnc3RyICIkJWMgaXN0IG5pY2h0IGdlc2V0enQuIgpAQCAtNDEzMiw3ICs0Mjg0LDcgQEAKICN+IG1zZ3N0ciAiJXM6IEZhbHNjaGUgYXJpdGhtZXRpc2NoZSBFcnNldHp1bmcuIgogCiAjfiBtc2dpZCAiLSVzOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCi0jfiBtc2dzdHIgIi0lczogWndlaXN0ZWxsaWdlciAoYmlu5HJlcikgT3BlcmF0b3IgZXJ3YXJ0ZXQuIgorI34gbXNnc3RyICItJXM6IFp3ZWlzdGVsbGlnZXIgKGJpbsOkcmVyKSBPcGVyYXRvciBlcndhcnRldC4iCiAKICN+IG1zZ2lkICIlc1slczogYmFkIHN1YnNjcmlwdCIKICN+IG1zZ3N0ciAiJXNbJXM6IEZhbHNjaGVyIEluZGV4LiIKQEAgLTQxNDAsNyArNDI5Miw3IEBACiAjfiBtc2dpZCAiWyVzOiBiYWQgc3Vic2NyaXB0IgogI34gbXNnc3RyICJbJXM6IEZhbHNjaGVyIEluZGV4LiIKIAotIyBUZXN0cHJvZ3JhbW0gZvxyIHNoX2dldG9wdHMKKyMgVGVzdHByb2dyYW1tIGbDvHIgc2hfZ2V0b3B0cwogI34gbXNnaWQgImRpZ2l0cyBvY2N1ciBpbiB0d28gZGlmZmVyZW50IGFyZ3YtZWxlbWVudHMuXG4iCiAjfiBtc2dzdHIgIlppZmZlciB0YXVjaHQgaW4gendlaSB2ZXJzY2hpZWRlbmVuIEVsZW1lbnRlbiB2b24gYXJndiBhdWYuXG4iCiAKQEAgLTQxNTYsMTEgKzQzMDgsMTEgQEAKICN+IG1zZ2lkICJvcHRpb24gYyB3aXRoIHZhbHVlIGAlcydcbiIKICN+IG1zZ3N0ciAiT3B0aW9uIGMgbWl0IFdlcnQgYCVzJ1xuIgogCi0jIFRlc3Rwcm9ncmFtbSBm/HIgc2hfZ2V0b3B0cworIyBUZXN0cHJvZ3JhbW0gZsO8ciBzaF9nZXRvcHRzCiAjfiBtc2dpZCAiPz8gc2hfZ2V0b3B0IHJldHVybmVkIGNoYXJhY3RlciBjb2RlIDAlbyA/P1xuIgotI34gbXNnc3RyICI/PyBzaF9nZXRvcHQgZ2FiIENvZGUgMCVvIHp1cvxjaz8/XG4iCisjfiBtc2dzdHIgIj8/IHNoX2dldG9wdCBnYWIgQ29kZSAwJW8genVyw7xjaz8/XG4iCiAKLSMgVGVzdHByb2dyYW1tIGb8ciBzaF9nZXRvcHRzCisjIFRlc3Rwcm9ncmFtbSBmw7xyIHNoX2dldG9wdHMKICN+IG1zZ2lkICJub24tb3B0aW9uIEFSR1YtZWxlbWVudHM6ICIKICN+IG1zZ3N0ciAiRWxlbWVudGUgdm9uIEFSR1YsIGRpZSBrZWluZSBPcHRpb25lbiBzaW5kOiAiCiAKQEAgLTQxNzYsNyArNDMyOCw3IEBACiAjfiBtc2dzdHIgIiVzIGVyZm9yZGVydCBlaW4gQXJndW1lbnQuIgogCiAjfiBtc2dpZCAiJXMgbXVzdCBiZSBpbnNpZGUgb2YgYSAkQlVJTFRJTiBibG9jayIKLSN+IG1zZ3N0ciAiJXMgbXXfIGlubmVyaGFsYiBlaW5lcyAkQlVJTFRJTiBCbG9ja3Mgc3RlaGVuLiIKKyN+IG1zZ3N0ciAiJXMgbXXDnyBpbm5lcmhhbGIgZWluZXMgJEJVSUxUSU4gQmxvY2tzIHN0ZWhlbi4iCiAKICN+IG1zZ2lkICIlcyBmb3VuZCBiZWZvcmUgJEVORCIKICN+IG1zZ3N0ciAiJXMgdm9yICRFTkQgZ2VmdW5kZW4uIgpAQCAtNDE5Niw3ICs0MzQ4LDcgQEAKIAogIyBta2J1aWxkaW5zIEhpbGZzcHJvZ3JhbW0KICN+IG1zZ2lkICJta2J1aWx0aW5zOiBPdXQgb2YgdmlydHVhbCBtZW1vcnkhXG4iCi0jfiBtc2dzdHIgIm1rYnVpbHRpbnM6IFZpcnR1ZWxsZXIgU3BlaWNoZXIgZXJzY2j2cGZ0IVxuIgorI34gbXNnc3RyICJta2J1aWx0aW5zOiBWaXJ0dWVsbGVyIFNwZWljaGVyIGVyc2Now7ZwZnQhXG4iCiAKICN+IG1zZ2lkICJyZWFkIFstcl0gWy1wIHByb21wdF0gWy1hIGFycmF5XSBbLWVdIFtuYW1lIC4uLl0iCiAjfiBtc2dzdHIgIiIKQEAgLTQyMTcsMjAgKzQzNjksMjAgQEAKIAogI34gbXNnaWQgIk90aGVyd2lzZSwgYW4gYWxpYXMgaXMgZGVmaW5lZCBmb3IgZWFjaCBOQU1FIHdob3NlIFZBTFVFIGlzIGdpdmVuLiIKICN+IG1zZ3N0ciAiIgotI34gIlNvbnN0IHdpcmQgZWluIFN5bm9ueW0gZvxyIGplZGVuIE5BTUVOIGRlZmluaWVydCwgZGVzc2VuIFdFUlQgYW5nZWdlYmVuICIKKyN+ICJTb25zdCB3aXJkIGVpbiBTeW5vbnltIGbDvHIgamVkZW4gTkFNRU4gZGVmaW5pZXJ0LCBkZXNzZW4gV0VSVCBhbmdlZ2ViZW4gIgogI34gIndpcmQuIgogCiAjfiBtc2dpZCAiQSB0cmFpbGluZyBzcGFjZSBpbiBWQUxVRSBjYXVzZXMgdGhlIG5leHQgd29yZCB0byBiZSBjaGVja2VkIGZvciIKICN+IG1zZ3N0ciAiIgotI34gIkVpbiBMZWVyemVpY2hlbiBuYWNoIFdFUlQgYmV3aXJrdCwgZGHfIGRhcyBu5GNoc3RlIFdPUlQgYXVmIGVpbiBTeW5vbnltIgorI34gIkVpbiBMZWVyemVpY2hlbiBuYWNoIFdFUlQgYmV3aXJrdCwgZGHDnyBkYXMgbsOkY2hzdGUgV09SVCBhdWYgZWluIFN5bm9ueW0iCiAKICN+IG1zZ2lkICJhbGlhcyBzdWJzdGl0dXRpb24gd2hlbiB0aGUgYWxpYXMgaXMgZXhwYW5kZWQuICBBbGlhcyByZXR1cm5zIgogI34gbXNnc3RyICIiCi0jfiAidW50ZXJzdWNodCB3aXJkIHdlbm4gU1lOT05ZTSBhdXNnZXdlcnRldCB3aXJkLiBgQWxpYXMnIGdpYnQgd2FociB6dXL8Y2ssIgorI34gInVudGVyc3VjaHQgd2lyZCB3ZW5uIFNZTk9OWU0gYXVzZ2V3ZXJ0ZXQgd2lyZC4gYEFsaWFzJyBnaWJ0IHdhaHIgenVyw7xjaywiCiAKICN+IG1zZ2lkICJ0cnVlIHVubGVzcyBhIE5BTUUgaXMgZ2l2ZW4gZm9yIHdoaWNoIG5vIGFsaWFzIGhhcyBiZWVuIGRlZmluZWQuIgogI34gbXNnc3RyICIiCi0jfiAiYXXfZXIgd2VubiBlaW4gTkFNRSBhbmdlZ2ViZW4gd3VyZGUsIGb8ciBkZW4ga2VpbiBTWU5PTllNIHZvcmhhbmRlbiBpc3QuIgorI34gImF1w59lciB3ZW5uIGVpbiBOQU1FIGFuZ2VnZWJlbiB3dXJkZSwgZsO8ciBkZW4ga2VpbiBTWU5PTllNIHZvcmhhbmRlbiBpc3QuIgogCiAjIHVuYWxpYXMKICN+IG1zZ2lkICIiCkBAIC00MjM4LDcgKzQzOTAsNyBAQAogI34gbXNnc3RyICJFbnRmZXJudCBOQU1FbiBhdXMgZGVyIExpc3RlIGRlciBTeW5vbnltZS4gV2VubiBkaWUgT3B0aW9uIC1hIgogCiAjfiBtc2dpZCAidGhlbiByZW1vdmUgYWxsIGFsaWFzIGRlZmluaXRpb25zLiIKLSN+IG1zZ3N0ciAiYW5nZWdlYmVuIGlzdCwgd2VyZGVuIGFsbGUgU3lub255bWUgZ2Vs9nNjaHQuIgorI34gbXNnc3RyICJhbmdlZ2ViZW4gaXN0LCB3ZXJkZW4gYWxsZSBTeW5vbnltZSBnZWzDtnNjaHQuIgogCiAjIHJlYWRsaW5lCiAjfiBtc2dpZCAiQmluZCBhIGtleSBzZXF1ZW5jZSB0byBhIFJlYWRsaW5lIGZ1bmN0aW9uLCBvciB0byBhIG1hY3JvLiAgVGhlIgpAQCAtNDI0OCwyNCArNDQwMCwyNCBAQAogCiAjfiBtc2dpZCAic3ludGF4IGlzIGVxdWl2YWxlbnQgdG8gdGhhdCBmb3VuZCBpbiB+Ly5pbnB1dHJjLCBidXQgbXVzdCBiZSIKICN+IG1zZ3N0ciAiIgotI34gIlN5bnRheCBlbnRzcHJpY2h0IGRlciBkZXIgRGF0ZWkgYH4vLmlucHV0cmMnLCBzaWUgbXXfIGplZG9jaCBhbHMgQXJndW1lbnQiCisjfiAiU3ludGF4IGVudHNwcmljaHQgZGVyIGRlciBEYXRlaSBgfi8uaW5wdXRyYycsIHNpZSBtdcOfIGplZG9jaCBhbHMgQXJndW1lbnQiCiAKICN+IG1zZ2lkICIiCiAjfiAicGFzc2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50OiBiaW5kICdcIlxcQy14XFxDLXJcIjogcmUtcmVhZC1pbml0LWZpbGUnLiIKICN+IG1zZ3N0ciAiYW5nZWdlYmVuIHdlcmRlbi4gWi5CLjogYmluZCAnXCJcXEMteFxcQy1yXCI6IHJlLXJlYWQtaW5pdC1maWxlJy4iCiAKICN+IG1zZ2lkICJBcmd1bWVudHMgd2UgYWNjZXB0OiIKLSN+IG1zZ3N0ciAiR/xsdGlnZSBBcmd1bWVudGU6IgorI34gbXNnc3RyICJHw7xsdGlnZSBBcmd1bWVudGU6IgogCiAjfiBtc2dpZCAiIgogI34gIiAgLW0gIGtleW1hcCAgICAgICAgIFVzZSBga2V5bWFwJyBhcyB0aGUga2V5bWFwIGZvciB0aGUgZHVyYXRpb24gb2YgdGhpcyIKICN+IG1zZ3N0ciAiIgotI34gIiAgLW0gVGFzdGF0dXJ0YWJlbGxlIHfkaGx0IGRpZSBUYXN0YXR1cnRhYmVsbGUgZvxyIGRpZSBEYXVlciBkaWVzZXMgIgorI34gIiAgLW0gVGFzdGF0dXJ0YWJlbGxlIHfDpGhsdCBkaWUgVGFzdGF0dXJ0YWJlbGxlIGbDvHIgZGllIERhdWVyIGRpZXNlcyAiCiAjfiAiS29tbWFuZG9zLiIKIAogI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQuICBBY2NlcHRhYmxlIGtleW1hcCBuYW1lcyBhcmUgZW1hY3MsIgogI34gbXNnc3RyICIiCi0jfiAiICAgICAgICAgICAgICAgICAgICAgTfZnbGljaGUgTmFtZW4gZvxyIFRhc3RhdHVydGFiZWxsZW4gc2luZDogZW1hY3MiCisjfiAiICAgICAgICAgICAgICAgICAgICAgTcO2Z2xpY2hlIE5hbWVuIGbDvHIgVGFzdGF0dXJ0YWJlbGxlbiBzaW5kOiBlbWFjcyIKIAogI34gbXNnaWQgIiIKICN+ICIgICAgICAgICAgICAgICAgICAgICBlbWFjcy1zdGFuZGFyZCwgZW1hY3MtbWV0YSwgZW1hY3MtY3RseCwgdmksIHZpLW1vdmUsIgpAQCAtNDI5MSwxMCArNDQ0MywxMCBAQAogCiAjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgcmV1c2VkIGFzIGlucHV0LiIKICN+IG1zZ3N0ciAiIgotI34gIiAgICAgICAgICAgICAgICAgICAgIGRh3yBzaWUgYWxzIEVpbmdhYmUgd2llZGVydmVyd2VuZGV0IHdlcmRlbiBr9m5uZW4uIgorI34gIiAgICAgICAgICAgICAgICAgICAgIGRhw58gc2llIGFscyBFaW5nYWJlIHdpZWRlcnZlcndlbmRldCB3ZXJkZW4ga8O2bm5lbi4iCiAKICN+IG1zZ2lkICIgIC1yICBrZXlzZXEgICAgICAgICBSZW1vdmUgdGhlIGJpbmRpbmcgZm9yIEtFWVNFUS4iCi0jfiBtc2dzdHIgIiAgLXIgIFRhc3RlbmZvbGdlICAgIEVudGZlcm50IGRpZSBadW9yZG51bmcgZvxyIFRhc3RlbmZvbGdlLiIKKyN+IG1zZ3N0ciAiICAtciAgVGFzdGVuZm9sZ2UgICAgRW50ZmVybnQgZGllIFp1b3JkbnVuZyBmw7xyIFRhc3RlbmZvbGdlLiIKIAogI34gbXNnaWQgIiAgLWYgIGZpbGVuYW1lICAgICAgIFJlYWQga2V5IGJpbmRpbmdzIGZyb20gRklMRU5BTUUuIgogI34gbXNnc3RyICIgIC1mICBEYXRlaW5hbWUgICAgICBMaWVzdCBkaWUgVGFzdGVuenVvcmRudW5nZW4gdm9uIERhdGVpbmFtZS4iCkBAIC00MzAyLDcgKzQ0NTQsNyBAQAogI34gbXNnaWQgIiIKICN+ICIgIC1xICBmdW5jdGlvbi1uYW1lICBRdWVyeSBhYm91dCB3aGljaCBrZXlzIGludm9rZSB0aGUgbmFtZWQgZnVuY3Rpb24uIgogI34gbXNnc3RyICIiCi0jfiAiICAtcSAgRnVua3Rpb25zbmFtZSAgR2lidCBkaWUgVGFzdGVuenVvcmRudW5nIGb8ciBkZW4gRnVua3Rpb25zbmFtZW4gYXVzLiIKKyN+ICIgIC1xICBGdW5rdGlvbnNuYW1lICBHaWJ0IGRpZSBUYXN0ZW56dW9yZG51bmcgZsO8ciBkZW4gRnVua3Rpb25zbmFtZW4gYXVzLiIKIAogI34gbXNnaWQgIiAgLVYgICAgICAgICAgICAgICAgIExpc3QgdmFyaWFibGUgbmFtZXMgYW5kIHZhbHVlcyIKICN+IG1zZ3N0ciAiICAtViAgICAgICAgICAgICAgICAgR2lidCBWYXJpYWJsZW5uYW1lbiB1bmQgZGVyZW4gV2VydGUgYXVzLiIKQEAgLTQzNDEsMTkgKzQ0OTMsMTkgQEAKICMgY29udGludWUKICN+IG1zZ2lkICJSZXN1bWUgdGhlIG5leHQgaXRlcmF0aW9uIG9mIHRoZSBlbmNsb3NpbmcgRk9SLCBXSElMRSBvciBVTlRJTCBsb29wLiIKICN+IG1zZ3N0ciAiIgotI34gIlNwcmluZ3QgenVyIG7kY2hzdGVuIEl0ZXJhdGlvbiBkZXIgZm9yLCB3aGlsZSBvZGVyIHVudGlsIFNjaGxlaWZlLiBXZW5uIE4iCisjfiAiU3ByaW5ndCB6dXIgbsOkY2hzdGVuIEl0ZXJhdGlvbiBkZXIgZm9yLCB3aGlsZSBvZGVyIHVudGlsIFNjaGxlaWZlLiBXZW5uIE4iCiAKICN+IG1zZ2lkICJJZiBOIGlzIHNwZWNpZmllZCwgcmVzdW1lIGF0IHRoZSBOLXRoIGVuY2xvc2luZyBsb29wLiIKICN+IG1zZ3N0ciAiIgotI34gImFuZ2VnZWJlbiBpc3QsIHdpcmQgbWl0IGRlciBOLXRlbiD8YmVyZ2VvcmRuZXRlbiBTY2hsZWlmZSBmb3J0Z2VmYWhyZW4uIgorI34gImFuZ2VnZWJlbiBpc3QsIHdpcmQgbWl0IGRlciBOLXRlbiDDvGJlcmdlb3JkbmV0ZW4gU2NobGVpZmUgZm9ydGdlZmFocmVuLiIKIAogIyBidWlsdGluCiAjfiBtc2dpZCAiUnVuIGEgc2hlbGwgYnVpbHRpbi4gIFRoaXMgaXMgdXNlZnVsIHdoZW4geW91IHdpc2ggdG8gcmVuYW1lIGEiCiAjfiBtc2dzdHIgIiIKLSN+ICJG/GhydCBlaW5lIFNoZWxsZnVua3Rpb24gYXVzLiBEYXMgaXN0IG78dHpsaWNoLCB3ZW5uIGVpbmUgU2hlbGxmdW5rdGlvbiIKKyN+ICJGw7xocnQgZWluZSBTaGVsbGZ1bmt0aW9uIGF1cy4gRGFzIGlzdCBuw7x0emxpY2gsIHdlbm4gZWluZSBTaGVsbGZ1bmt0aW9uIgogCiAjfiBtc2dpZCAic2hlbGwgYnVpbHRpbiB0byBiZSBhIGZ1bmN0aW9uLCBidXQgbmVlZCB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUiCi0jfiBtc2dzdHIgInVtYmVuYW5udCB3dXJkZSwgYWJlciBkYXMgdXJzcHL8bmdsaWNoZSBWZXJoYWx0ZW4gYmVu9nRpZ3Qgd2lyZC4iCisjfiBtc2dzdHIgInVtYmVuYW5udCB3dXJkZSwgYWJlciBkYXMgdXJzcHLDvG5nbGljaGUgVmVyaGFsdGVuIGJlbsO2dGlndCB3aXJkLiIKIAogI34gbXNnaWQgImJ1aWx0aW4gd2l0aGluIHRoZSBmdW5jdGlvbiBpdHNlbGYuIgogI34gbXNnc3RyICIgIgpAQCAtNDM4NiwxMSArNDUzOCwxMSBAQAogI34gImdlc2V0enQgaXN0LCBkYW5uIHdpcmQgVmVyei4gYWxzIGVpbiBWYXJpYWJsZW5uYW1lIGludGVycHJldGllcnQuIEVyZ2lidCIKIAogI34gbXNnaWQgInNoZWxsIG9wdGlvbiBgY2RhYmxlX3ZhcnMnIGlzIHNldCwgdGhlbiB0cnkgdGhlIHdvcmQgYXMgYSB2YXJpYWJsZSIKLSN+IG1zZ3N0ciAiZGllcyBlaW5lbiBXZXJ0IGb8ciBkaWUgVmFyaWFibGUsIGRhbm4gd2lyZCBkYXMgYWt0dWVsbGUiCisjfiBtc2dzdHIgImRpZXMgZWluZW4gV2VydCBmw7xyIGRpZSBWYXJpYWJsZSwgZGFubiB3aXJkIGRhcyBha3R1ZWxsZSIKIAogI34gbXNnaWQgIm5hbWUuICBJZiB0aGF0IHZhcmlhYmxlIGhhcyBhIHZhbHVlLCB0aGVuIGNkIHRvIHRoZSB2YWx1ZSBvZiB0aGF0IgogI34gbXNnc3RyICIiCi0jfiAiVmVyemVpY2huaXMgYXVmIGRpZXNlbiBXZXJ0IGdlc2V0enQuIE9wdGlvbiAtUCB2ZXJhbmxh33QgY2Qgc3ltYm9saXNjaGUiCisjfiAiVmVyemVpY2huaXMgYXVmIGRpZXNlbiBXZXJ0IGdlc2V0enQuIE9wdGlvbiAtUCB2ZXJhbmxhw590IGNkIHN5bWJvbGlzY2hlIgogCiAjfiBtc2dpZCAiIgogI34gInZhcmlhYmxlLiAgVGhlIC1QIG9wdGlvbiBzYXlzIHRvIHVzZSB0aGUgcGh5c2ljYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSIKQEAgLTQ0MTgsMTAgKzQ1NzAsMTAgQEAKICN+IG1zZ2lkICIiCiAjfiAiUnVucyBDT01NQU5EIHdpdGggQVJHUyBpZ25vcmluZyBzaGVsbCBmdW5jdGlvbnMuICBJZiB5b3UgaGF2ZSBhIHNoZWxsIgogI34gbXNnc3RyICIiCi0jfiAiRvxocnQgZGFzIEtvbW1hbmRvIG1pdCBkZW4gQXJndW1lbnRlbiBhdXMsIG9obmUgZGllIFNoZWxsZnVua3Rpb25lbiB6dSIKKyN+ICJGw7xocnQgZGFzIEtvbW1hbmRvIG1pdCBkZW4gQXJndW1lbnRlbiBhdXMsIG9obmUgZGllIFNoZWxsZnVua3Rpb25lbiB6dSIKIAogI34gbXNnaWQgImZ1bmN0aW9uIGNhbGxlZCBgbHMnLCBhbmQgeW91IHdpc2ggdG8gY2FsbCB0aGUgY29tbWFuZCBgbHMnLCB5b3UgY2FuIgotI34gbXNnc3RyICJiZXL8Y2tzaWNodGlnZW4uICBXZW5uIGVpbmUgU2hlbGxmdW5rdGlvbiBgbHMnIGRlZmluaWVydCBpc3QsIGb8aHJ0IgorI34gbXNnc3RyICJiZXLDvGNrc2ljaHRpZ2VuLiAgV2VubiBlaW5lIFNoZWxsZnVua3Rpb24gYGxzJyBkZWZpbmllcnQgaXN0LCBmw7xocnQiCiAKICN+IG1zZ2lkICIiCiAjfiAic2F5IFwiY29tbWFuZCBsc1wiLiAgSWYgdGhlIC1wIG9wdGlvbiBpcyBnaXZlbiwgYSBkZWZhdWx0IHZhbHVlIGlzIHVzZWQiCkBAIC00NDI5LDExICs0NTgxLDExIEBACiAKICN+IG1zZ2lkICIiCiAjfiAiZm9yIFBBVEggdGhhdCBpcyBndWFyYW50ZWVkIHRvIGZpbmQgYWxsIG9mIHRoZSBzdGFuZGFyZCB1dGlsaXRpZXMuICBJZiIKLSN+IG1zZ3N0ciAiU3RhbmRhcmR3ZXJ0IGb8ciBQQVRIIHZlcndlbmRldC4gIC12IGdpYnQgZWluZSBrdXJ6ZSBCZXNjaHJlaWJ1bmciCisjfiBtc2dzdHIgIlN0YW5kYXJkd2VydCBmw7xyIFBBVEggdmVyd2VuZGV0LiAgLXYgZ2lidCBlaW5lIGt1cnplIEJlc2NocmVpYnVuZyIKIAogI34gbXNnaWQgIiIKICN+ICJ0aGUgLVYgb3IgLXYgb3B0aW9uIGlzIGdpdmVuLCBhIHN0cmluZyBpcyBwcmludGVkIGRlc2NyaWJpbmcgQ09NTUFORC4iCi0jfiBtc2dzdHIgImRlcyBLb21tYW5kb3MgYXVzOyAtViBlaW5lIGF1c2b8aHJsaWNoZS4iCisjfiBtc2dzdHIgImRlcyBLb21tYW5kb3MgYXVzOyAtViBlaW5lIGF1c2bDvGhybGljaGUuIgogCiAjfiBtc2dpZCAiVGhlIC1WIG9wdGlvbiBwcm9kdWNlcyBhIG1vcmUgdmVyYm9zZSBkZXNjcmlwdGlvbi4iCiAjfiBtc2dzdHIgIiAiCkBAIC00NDU0LDcgKzQ2MDYsNyBAQAogI34gbXNnc3RyICJEaWUgU2NoYWx0ZXIgc2luZDoiCiAKICN+IG1zZ2lkICIgIC1hXHR0byBtYWtlIE5BTUVzIGFycmF5cyAoaWYgc3VwcG9ydGVkKSIKLSN+IG1zZ3N0ciAiICAtYVx0RGVrbGFyaWVydCBOYW1lIGFscyBGZWxkdmFyaWFibGUgKHdlbm4gdW50ZXJzdPx0enQpLiIKKyN+IG1zZ3N0ciAiICAtYVx0RGVrbGFyaWVydCBOYW1lIGFscyBGZWxkdmFyaWFibGUgKHdlbm4gdW50ZXJzdMO8dHp0KS4iCiAKICN+IG1zZ2lkICIgIC1mXHR0byBzZWxlY3QgZnJvbSBhbW9uZyBmdW5jdGlvbiBuYW1lcyBvbmx5IgogI34gbXNnc3RyICIgIC1mXHRaZWlndCBudXIgRnVua3Rpb25zbmFtZW4uIgpAQCAtNDQ2Niw3ICs0NjE4LDcgQEAKICN+IG1zZ3N0ciAiICAtclx0U2V0enQgTmFtZSBhdWYgYG51ciBMZXNlbictU3RhdHVzLiIKIAogI34gbXNnaWQgIiAgLXhcdHRvIG1ha2UgTkFNRXMgZXhwb3J0IgotI34gbXNnc3RyICIgIC14XHRNYXJraWVydCBOYW1lIGb8ciBhdXRvbWF0aXNjaGVuIEV4cG9ydCBpbiBhbGxlIFN1YnNoZWxscy4iCisjfiBtc2dzdHIgIiAgLXhcdE1hcmtpZXJ0IE5hbWUgZsO8ciBhdXRvbWF0aXNjaGVuIEV4cG9ydCBpbiBhbGxlIFN1YnNoZWxscy4iCiAKICN+IG1zZ2lkICIgIC1pXHR0byBtYWtlIE5BTUVzIGhhdmUgdGhlIGBpbnRlZ2VyJyBhdHRyaWJ1dGUgc2V0IgogI34gbXNnc3RyICIgIC1pXHRTZXR6dCBkZW4gVHlwIHZvbiBOYW1lIGF1ZiBHYW56emFobC4iCkBAIC00NDgzLDcgKzQ2MzUsNyBAQAogI34gIldlbm4gVmFyaWFibGVud2VydGUgYW5nZXplaWd0IHdlcmRlbiwgZ2lidCBkaWUgT3B0aW9uIC1mIEZ1bmt0aW9uc25hbWVuIgogCiAjfiBtc2dpZCAiYW5kIGRlZmluaXRpb24uICBUaGUgLUYgb3B0aW9uIHJlc3RyaWN0cyB0aGUgZGlzcGxheSB0byBmdW5jdGlvbiIKLSN+IG1zZ3N0ciAidW5kIC1kZWZpbml0aW9uZW4gYXVzLiBEaWUgT3B0aW9uIC1GIGJlc2NocuRua3QgZGllIEF1c2dhYmUgYXVmIgorI34gbXNnc3RyICJ1bmQgLWRlZmluaXRpb25lbiBhdXMuIERpZSBPcHRpb24gLUYgYmVzY2hyw6Rua3QgZGllIEF1c2dhYmUgYXVmIgogCiAjfiBtc2dpZCAibmFtZSBvbmx5LiIKICN+IG1zZ3N0ciAiRnVua3Rpb25zbmFtZW4uIgpAQCAtNDUwNiw3ICs0NjU4LDcgQEAKICN+ICJrYW5uIgogCiAjfiBtc2dpZCAiaGF2ZSBhIHZpc2libGUgc2NvcGUgcmVzdHJpY3RlZCB0byB0aGF0IGZ1bmN0aW9uIGFuZCBpdHMgY2hpbGRyZW4uIgotI34gbXNnc3RyICJudXIgaW5uZXJoYWxiIGRpZXNlciBGdW5rdGlvbiB1bmQgYWxsZW4gVW50ZXJmdW5rdGlvbmVuIHp1Z+RuZ2xpY2guIgorI34gbXNnc3RyICJudXIgaW5uZXJoYWxiIGRpZXNlciBGdW5rdGlvbiB1bmQgYWxsZW4gVW50ZXJmdW5rdGlvbmVuIHp1Z8OkbmdsaWNoLiIKIAogIyBlY2hvCiAjfiBtc2dpZCAiT3V0cHV0IHRoZSBBUkdzLiAgSWYgLW4gaXMgc3BlY2lmaWVkLCB0aGUgdHJhaWxpbmcgbmV3bGluZSBpcyIKQEAgLTQ1MTUsNyArNDY2Nyw3IEBACiAKICN+IG1zZ2lkICJzdXBwcmVzc2VkLiAgSWYgdGhlIC1lIG9wdGlvbiBpcyBnaXZlbiwgaW50ZXJwcmV0YXRpb24gb2YgdGhlIgogI34gbXNnc3RyICIiCi0jfiAiYW5nZWb8Z3QuIERpZSBPcHRpb24gLWUgaW50ZXJwcmV0aWVydCBmb2xnZW5kZSBTb25kZXJ6ZWljaGVuIHp1ciAiCisjfiAiYW5nZWbDvGd0LiBEaWUgT3B0aW9uIC1lIGludGVycHJldGllcnQgZm9sZ2VuZGUgU29uZGVyemVpY2hlbiB6dXIgIgogI34gIkZvcm1hdGllcnVuZyIKIAogI34gbXNnaWQgImZvbGxvd2luZyBiYWNrc2xhc2gtZXNjYXBlZCBjaGFyYWN0ZXJzIGlzIHR1cm5lZCBvbjoiCkBAIC00NTI1LDcgKzQ2NzcsNyBAQAogI34gbXNnc3RyICJcdFxcYVx0QWxhcm0gKEdsb2NrZSkuIgogCiAjfiBtc2dpZCAiXHRcXGJcdGJhY2tzcGFjZSIKLSN+IG1zZ3N0ciAiXHRcXGJcdFNjaHJpdHQgenVy/GNrLiIKKyN+IG1zZ3N0ciAiXHRcXGJcdFNjaHJpdHQgenVyw7xjay4iCiAKICN+IG1zZ2lkICJcdFxcY1x0c3VwcHJlc3MgdHJhaWxpbmcgbmV3bGluZSIKICN+IG1zZ3N0ciAiXHRcXGNcdEtlaW4gWmVpbGVudW1icnVjaC4iCkBAIC00NTQwLDcgKzQ2OTIsNyBAQAogI34gbXNnc3RyICJcdFxcblx0WmVpbGVudW1icnVjaC4iCiAKICN+IG1zZ2lkICJcdFxcclx0Y2FycmlhZ2UgcmV0dXJuIgotI34gbXNnc3RyICJcdFxcclx0V2FnZW5y/GNrbGF1Zi4iCisjfiBtc2dzdHIgIlx0XFxyXHRXYWdlbnLDvGNrbGF1Zi4iCiAKICN+IG1zZ2lkICJcdFxcdFx0aG9yaXpvbnRhbCB0YWIiCiAjfiBtc2dzdHIgIlx0XFx0XHRIb3Jpem9udGFsZXIgVGFidWxhdG9yLiIKQEAgLTQ1NjUsNyArNDcxNyw3IEBACiAjfiBtc2dpZCAiIgogI34gIk91dHB1dCB0aGUgQVJHcy4gIElmIC1uIGlzIHNwZWNpZmllZCwgdGhlIHRyYWlsaW5nIG5ld2xpbmUgaXMgc3VwcHJlc3NlZC4iCiAjfiBtc2dzdHIgIiIKLSN+ICJHaWJ0IEFSR1VNRU5URSBhdXMuIERpZSBPcHRpb24gLW4gdmVyaGluZGVydCBkZW4gYWJzY2hsaWXfZW5kZW4gIgorI34gIkdpYnQgQVJHVU1FTlRFIGF1cy4gRGllIE9wdGlvbiAtbiB2ZXJoaW5kZXJ0IGRlbiBhYnNjaGxpZcOfZW5kZW4gIgogI34gIlplaWxlbnVtYnJ1Y2guIgogCiAjIGVuYWJsZQpAQCAtNDU4MywxOCArNDczNSwxOCBAQAogCiAjfiBtc2dpZCAicGF0aCBpbnN0ZWFkIG9mIHRoZSBzaGVsbCBidWlsdGluIHZlcnNpb24sIHR5cGUgYGVuYWJsZSAtbiB0ZXN0Jy4iCiAjfiBtc2dzdHIgIiIKLSN+ICJtdd8gYGVuYWJsZSAtbiB0ZXN0JyBlaW5nZWdlYmVuIHdlcmRlbi4gQXVmIFN5c3RlbWVuLCBkaWUgQmliaWxpb3RoZWtlbiIKKyN+ICJtdcOfIGBlbmFibGUgLW4gdGVzdCcgZWluZ2VnZWJlbiB3ZXJkZW4uIEF1ZiBTeXN0ZW1lbiwgZGllIEJpYmlsaW90aGVrZW4iCiAKICN+IG1zZ2lkICJPbiBzeXN0ZW1zIHN1cHBvcnRpbmcgZHluYW1pYyBsb2FkaW5nLCB0aGUgLWYgb3B0aW9uIG1heSBiZSB1c2VkIgogI34gbXNnc3RyICIiCi0jfiAiZHluYW1pc2NoIG5hY2hsYWRlbiBr9m5uZW4sIGthbm4gZGllIE9wdGlvbiAtZiBnZW51dHp0IHdlcmRlbiwgdW0gbmV1ZSIKKyN+ICJkeW5hbWlzY2ggbmFjaGxhZGVuIGvDtm5uZW4sIGthbm4gZGllIE9wdGlvbiAtZiBnZW51dHp0IHdlcmRlbiwgdW0gbmV1ZSIKIAogI34gbXNnaWQgInRvIGxvYWQgbmV3IGJ1aWx0aW5zIGZyb20gdGhlIHNoYXJlZCBvYmplY3QgRklMRU5BTUUuICBUaGUgLWQiCiAjfiBtc2dzdHIgIiIKICN+ICJTaGVsbGZ1bmt0aW9uZW4gYXVzIGRlciBkeW5hbWlzY2hlbiBCaWJpbGlvdGhlayBEYXRlaW5hbWUgenUgbGFkZW4uIC1kIgogCiAjfiBtc2dpZCAib3B0aW9uIHdpbGwgZGVsZXRlIGEgYnVpbHRpbiBwcmV2aW91c2x5IGxvYWRlZCB3aXRoIC1mLiAgSWYgbm8iCi0jfiBtc2dzdHIgImVudGzkZHQgZHluYW1pc2NoIGdlbGFkZW5lIFNoZWxsZnVua3Rpb25lbiB3aWVkZXIuIFdlbm4iCisjfiBtc2dzdHIgImVudGzDpGR0IGR5bmFtaXNjaCBnZWxhZGVuZSBTaGVsbGZ1bmt0aW9uZW4gd2llZGVyLiBXZW5uIgogCiAjfiBtc2dpZCAibm9uLW9wdGlvbiBuYW1lcyBhcmUgZ2l2ZW4sIG9yIHRoZSAtcCBvcHRpb24gaXMgc3VwcGxpZWQsIGEgbGlzdCIKICN+IG1zZ3N0ciAia2VpbmUgT3B0aW9uIG9kZXIgLXAgYW5nZWdlYmVuIGlzdCwgd2lyZCBlaW5lIExpc3RlIGRlciIKQEAgLTQ2MDcsNyArNDc1OSw3IEBACiAjfiAiYXVzLCBpbiBkZXIgZWluLSB1bmQgYXVzZ2VzY2hhbHRldGUgRnVua3Rpb25lbiBnZWtlbm56ZWljaG5ldCBzaW5kOyAtcyIKIAogI34gbXNnaWQgInJlc3RyaWN0cyB0aGUgb3V0cHV0IHRvIHRoZSBQb3NpeC4yIGBzcGVjaWFsJyBidWlsdGlucy4gIFRoZSAtbiIKLSN+IG1zZ3N0ciAiYmVzY2hy5G5rdCBkaWUgQXVzZ2FiZSBhdWYgUG9zaXguMi1TaGVsbGZ1bmt0aW9uZW4uIC1uIgorI34gbXNnc3RyICJiZXNjaHLDpG5rdCBkaWUgQXVzZ2FiZSBhdWYgUG9zaXguMi1TaGVsbGZ1bmt0aW9uZW4uIC1uIgogCiAjfiBtc2dpZCAib3B0aW9uIGRpc3BsYXlzIGEgbGlzdCBvZiBhbGwgZGlzYWJsZWQgYnVpbHRpbnMuIgogI34gbXNnc3RyICJ6ZWlndCBlaW5lIExpc3RlIGFsbGVyIGFiZ2VzY2hhbHRldGVyIEZ1bmt0aW9uZW4gYW4uIgpAQCAtNDYxNSw3ICs0NzY3LDcgQEAKICMgZXZhbAogI34gbXNnaWQgIiIKICN+ICJSZWFkIEFSR3MgYXMgaW5wdXQgdG8gdGhlIHNoZWxsIGFuZCBleGVjdXRlIHRoZSByZXN1bHRpbmcgY29tbWFuZChzKS4iCi0jfiBtc2dzdHIgIlZlcmJpbmRldCBkaWUgQXJndW1lbnRlIHp1IGVpbmVyIEtvbW1hbmRvemVpbGUgdW5kIGb8aHJ0IHNpZSBhdXMuIgorI34gbXNnc3RyICJWZXJiaW5kZXQgZGllIEFyZ3VtZW50ZSB6dSBlaW5lciBLb21tYW5kb3plaWxlIHVuZCBmw7xocnQgc2llIGF1cy4iCiAKICMgZ2V0b3B0cwogI34gbXNnaWQgIkdldG9wdHMgaXMgdXNlZCBieSBzaGVsbCBwcm9jZWR1cmVzIHRvIHBhcnNlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy4iCkBAIC00NjIzLDcgKzQ3NzUsNyBAQAogCiAjfiBtc2dpZCAiT1BUU1RSSU5HIGNvbnRhaW5zIHRoZSBvcHRpb24gbGV0dGVycyB0byBiZSByZWNvZ25pemVkOyBpZiBhIGxldHRlciIKICN+IG1zZ3N0ciAiIgotI34gIk9wdHN0cmluZyBlbnRo5Gx0IGRpZSB6dSBlcmtlbm5lbmRlbiBCdWNoc3RhYmVuLiBGb2xndCBlaW5lbSBCdWNoc3RhYmVuICIKKyN+ICJPcHRzdHJpbmcgZW50aMOkbHQgZGllIHp1IGVya2VubmVuZGVuIEJ1Y2hzdGFiZW4uIEZvbGd0IGVpbmVtIEJ1Y2hzdGFiZW4gIgogI34gImVpbiIKIAogI34gbXNnaWQgImlzIGZvbGxvd2VkIGJ5IGEgY29sb24sIHRoZSBvcHRpb24gaXMgZXhwZWN0ZWQgdG8gaGF2ZSBhbiBhcmd1bWVudCwiCkBAIC00NjM0LDE0ICs0Nzg2LDE0IEBACiAKICN+IG1zZ2lkICJFYWNoIHRpbWUgaXQgaXMgaW52b2tlZCwgZ2V0b3B0cyB3aWxsIHBsYWNlIHRoZSBuZXh0IG9wdGlvbiBpbiB0aGUiCiAjfiBtc2dzdHIgIiIKLSN+ICJCZWkgamVkZW0gQXVmcnVmIHdlaXN0IGdldG9wdCBkaWUgbuRjaHN0ZSBPcHRpb24gZGVyIFNoZWxsLVZhcmlhYmxlbiAiCisjfiAiQmVpIGplZGVtIEF1ZnJ1ZiB3ZWlzdCBnZXRvcHQgZGllIG7DpGNoc3RlIE9wdGlvbiBkZXIgU2hlbGwtVmFyaWFibGVuICIKICN+ICIkbmFtZSB6dSwiCiAKICN+IG1zZ2lkICJzaGVsbCB2YXJpYWJsZSAkbmFtZSwgaW5pdGlhbGl6aW5nIG5hbWUgaWYgaXQgZG9lcyBub3QgZXhpc3QsIGFuZCIKICN+IG1zZ3N0ciAiZXJ6ZXVndCBzaWUgZ2VnZWJlbmVuZmFsbHMgdW5kIHNldHp0IGRlbiBaZWlnZXIgaW4gZGVyIgogCiAjfiBtc2dpZCAidGhlIGluZGV4IG9mIHRoZSBuZXh0IGFyZ3VtZW50IHRvIGJlIHByb2Nlc3NlZCBpbnRvIHRoZSBzaGVsbCIKLSN+IG1zZ3N0ciAiU2hlbGx2YXJpYWJsZW4gT1BUSU5EIGF1ZiBkaWUgbuRjaHN0ZSBhYnp1YXJiZWl0ZW5kZSBPcHRpb24uIgorI34gbXNnc3RyICJTaGVsbHZhcmlhYmxlbiBPUFRJTkQgYXVmIGRpZSBuw6RjaHN0ZSBhYnp1YXJiZWl0ZW5kZSBPcHRpb24uIgogCiAjfiBtc2dpZCAidmFyaWFibGUgT1BUSU5ELiAgT1BUSU5EIGlzIGluaXRpYWxpemVkIHRvIDEgZWFjaCB0aW1lIHRoZSBzaGVsbCBvciIKICN+IG1zZ3N0ciAiT1BUSU5EIHdpcmQgYmVpbSBTdGFydCBkZXIgU2hlbGwgbWl0IDEgaW5pdGlhbGlzaWVydC4iCkBAIC00NjUwLDExICs0ODAyLDExIEBACiAjfiBtc2dzdHIgIkVyd2FydGV0IGVpbmUgT3B0aW9uIGVpbiBBcmd1bWVudCwgd2lyZCBkaWVzZXMgQXJndW1lbnQgaW4gZGVyIgogCiAjfiBtc2dpZCAiZ2V0b3B0cyBwbGFjZXMgdGhhdCBhcmd1bWVudCBpbnRvIHRoZSBzaGVsbCB2YXJpYWJsZSBPUFRBUkcuIgotI34gbXNnc3RyICJTaGVsbHZhcmlhYmxlbiBPUFRBUkcgenVy/GNrZ2VnZWJlbi4iCisjfiBtc2dzdHIgIlNoZWxsdmFyaWFibGVuIE9QVEFSRyB6dXLDvGNrZ2VnZWJlbi4iCiAKICN+IG1zZ2lkICJnZXRvcHRzIHJlcG9ydHMgZXJyb3JzIGluIG9uZSBvZiB0d28gd2F5cy4gIElmIHRoZSBmaXJzdCBjaGFyYWN0ZXIiCiAjfiBtc2dzdHIgIiIKLSN+ICJFcyBnaWJ0IHp3ZWkgTfZnbGljaGtlaXRlbiBkZXIgRmVobGVyYmVoYW5kbHVuZy4gIFdlbm4gZGFzIGVyc3RlIFplaWNoZW4gIgorI34gIkVzIGdpYnQgendlaSBNw7ZnbGljaGtlaXRlbiBkZXIgRmVobGVyYmVoYW5kbHVuZy4gIFdlbm4gZGFzIGVyc3RlIFplaWNoZW4gIgogI34gInZvbiIKIAogI34gbXNnaWQgIm9mIE9QVFNUUklORyBpcyBhIGNvbG9uLCBnZXRvcHRzIHVzZXMgc2lsZW50IGVycm9yIHJlcG9ydGluZy4gIEluIgpAQCAtNDY2NCw3ICs0ODE2LDcgQEAKIAogI34gbXNnaWQgInRoaXMgbW9kZSwgbm8gZXJyb3IgbWVzc2FnZXMgYXJlIHByaW50ZWQuICBJZiBhbiBpbGxlZ2FsIG9wdGlvbiBpcyIKICN+IG1zZ3N0ciAiIgotI34gIkZlaGxlcm1lbGR1bmdcIikgV2VubiBlaW4gdW5n/Gx0aWdlcyBPcHRpb25zemVpY2hlbiBlcmthbm50IHdpcmQsIGRhbm4gIgorI34gIkZlaGxlcm1lbGR1bmdcIikgV2VubiBlaW4gdW5nw7xsdGlnZXMgT3B0aW9uc3plaWNoZW4gZXJrYW5udCB3aXJkLCBkYW5uICIKICN+ICJ3aXJkIgogCiAjfiBtc2dpZCAic2VlbiwgZ2V0b3B0cyBwbGFjZXMgdGhlIG9wdGlvbiBjaGFyYWN0ZXIgZm91bmQgaW50byBPUFRBUkcuICBJZiBhIgpAQCAtNDY3NiwyMCArNDgyOCwyMCBAQAogCiAjfiBtc2dpZCAic2V0cyBPUFRBUkcgdG8gdGhlIG9wdGlvbiBjaGFyYWN0ZXIgZm91bmQuICBJZiBnZXRvcHRzIGlzIG5vdCBpbiIKICN+IG1zZ3N0ciAiIgotI34gIk9wdGlvbnN6ZWljaGVuIPxiZXJnZWJlbi4gIFdlbm4gZ2V0b3B0IHNpY2ggbmljaHQgaW0gXCJzdGlsbGVuXCIgTW9kdXMiCisjfiAiT3B0aW9uc3plaWNoZW4gw7xiZXJnZWJlbi4gIFdlbm4gZ2V0b3B0IHNpY2ggbmljaHQgaW0gXCJzdGlsbGVuXCIgTW9kdXMiCiAKICN+IG1zZ2lkICJzaWxlbnQgbW9kZSwgYW5kIGFuIGlsbGVnYWwgb3B0aW9uIGlzIHNlZW4sIGdldG9wdHMgcGxhY2VzICc/JyBpbnRvIgogI34gbXNnc3RyICIiCi0jfiAiYmVmaW5kZXQgdW5kIGVpbiB1bmf8bHRpZ2VzIE9wdGlvbnN6ZWljaGVuIGVya2FubnQgd2lyZCwgd2Vpc3QgZ2V0b3B0IGRlciIKKyN+ICJiZWZpbmRldCB1bmQgZWluIHVuZ8O8bHRpZ2VzIE9wdGlvbnN6ZWljaGVuIGVya2FubnQgd2lyZCwgd2Vpc3QgZ2V0b3B0IGRlciIKIAogI34gbXNnaWQgIk5BTUUgYW5kIHVuc2V0cyBPUFRBUkcuICBJZiBhIHJlcXVpcmVkIG9wdGlvbiBpcyBub3QgZm91bmQsIGEgJz8nIgogI34gbXNnc3RyICIiCi0jfiAiVmFyaWFibGUgTmFtZSAnPycgenUgdW5kIGz2c2NodCBPUFRBUkcuICBXZW5uIGVpbmUgZXJmb3JkZXJsaWNoZSBPcHRpb24gIgorI34gIlZhcmlhYmxlIE5hbWUgJz8nIHp1IHVuZCBsw7ZzY2h0IE9QVEFSRy4gIFdlbm4gZWluZSBlcmZvcmRlcmxpY2hlIE9wdGlvbiAiCiAjfiAibmljaHQiCiAKICN+IG1zZ2lkICJpcyBwbGFjZWQgaW4gTkFNRSwgT1BUQVJHIGlzIHVuc2V0LCBhbmQgYSBkaWFnbm9zdGljIG1lc3NhZ2UgaXMiCiAjfiBtc2dzdHIgIiIKLSN+ICJnZWZ1bmRlbiB3dXJkZSwgd2lyZCBgP2AgYW4gTkFNRSB6dWdld2llc2VuLCBPUFRBUkcgZ2Vs9nNjaHQgdW5kIGVpbmUgIgorI34gImdlZnVuZGVuIHd1cmRlLCB3aXJkIGA/YCBhbiBOQU1FIHp1Z2V3aWVzZW4sIE9QVEFSRyBnZWzDtnNjaHQgdW5kIGVpbmUgIgogI34gIkZlaGxlci0iCiAKICN+IG1zZ2lkICJwcmludGVkLiIKQEAgLTQ2OTcsNyArNDg0OSw3IEBACiAKICN+IG1zZ2lkICJJZiB0aGUgc2hlbGwgdmFyaWFibGUgT1BURVJSIGhhcyB0aGUgdmFsdWUgMCwgZ2V0b3B0cyBkaXNhYmxlcyB0aGUiCiAjfiBtc2dzdHIgIiIKLSN+ICJXZW5uIGRpZSBTaGVsbHZhcmlhYmxlIE9QVEVSUiBkZW4gV2VydCAwIGJlc2l0enQsIHVudGVyZHL8Y2t0IGdldG9wdHMgZGllICIKKyN+ICJXZW5uIGRpZSBTaGVsbHZhcmlhYmxlIE9QVEVSUiBkZW4gV2VydCAwIGJlc2l0enQsIHVudGVyZHLDvGNrdCBnZXRvcHRzIGRpZSAiCiAjfiAiQXVzLSIKIAogI34gbXNnaWQgInByaW50aW5nIG9mIGVycm9yIG1lc3NhZ2VzLCBldmVuIGlmIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YiCkBAIC00NzA2LDExICs0ODU4LDExIEBACiAjfiAia2VpbiIKIAogI34gbXNnaWQgIk9QVFNUUklORyBpcyBub3QgYSBjb2xvbi4gIE9QVEVSUiBoYXMgdGhlIHZhbHVlIDEgYnkgZGVmYXVsdC4iCi0jfiBtc2dzdHIgIkRvcHBlbHB1bmt0IGlzdC4gIE9QVEVSUiBoYXQgc3RhbmRhcmRt5N9pZyBkZW4gV2VydCAxLiIKKyN+IG1zZ3N0ciAiRG9wcGVscHVua3QgaXN0LiAgT1BURVJSIGhhdCBzdGFuZGFyZG3DpMOfaWcgZGVuIFdlcnQgMS4iCiAKICN+IG1zZ2lkICJHZXRvcHRzIG5vcm1hbGx5IHBhcnNlcyB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzICgkMCAtICQ5KSwgYnV0IGlmIgogI34gbXNnc3RyICIiCi0jfiAiR2V0b3B0cyB3ZXJ0ZXQgbm9ybWFsZXJ3ZWlzZSBkaWUg/GJlcmdlYmVuZW4gUGFyYW1ldGVyICQwIC0gJDkgYXVzLCBhYmVyICIKKyN+ICJHZXRvcHRzIHdlcnRldCBub3JtYWxlcndlaXNlIGRpZSDDvGJlcmdlYmVuZW4gUGFyYW1ldGVyICQwIC0gJDkgYXVzLCBhYmVyICIKICN+ICJ3ZW5uIgogCiAjfiBtc2dpZCAibW9yZSBhcmd1bWVudHMgYXJlIGdpdmVuLCB0aGV5IGFyZSBwYXJzZWQgaW5zdGVhZC4iCkBAIC00NzE4LDcgKzQ4NzAsNyBAQAogCiAjIGV4ZWMKICN+IG1zZ2lkICJFeGVjIEZJTEUsIHJlcGxhY2luZyB0aGlzIHNoZWxsIHdpdGggdGhlIHNwZWNpZmllZCBwcm9ncmFtLiIKLSN+IG1zZ3N0ciAiRvxydCBEYXRlaSBhdXMgdW5kIGVyc2V0enQgZGllIFNoZWxsIGR1cmNoIGRhcyBhbmdlZ2ViZW5lIFByb2dyYW1tLiIKKyN+IG1zZ3N0ciAiRsO8cnQgRGF0ZWkgYXVzIHVuZCBlcnNldHp0IGRpZSBTaGVsbCBkdXJjaCBkYXMgYW5nZWdlYmVuZSBQcm9ncmFtbS4iCiAKICN+IG1zZ2lkICJJZiBGSUxFIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSByZWRpcmVjdGlvbnMgdGFrZSBlZmZlY3QgaW4gdGhpcyIKICN+IG1zZ3N0ciAiIgpAQCAtNDczMiwzMCArNDg4NCwzMCBAQAogCiAjfiBtc2dpZCAiemVyb3RoIGFyZyBwYXNzZWQgdG8gRklMRSwgYXMgbG9naW4gZG9lcy4gIElmIHRoZSBgLWMnIG9wdGlvbiIKICN+IG1zZ3N0ciAiIgotI34gImFscyBudWxsdGVzIEFyZ3VtZW50IGFuIGRpZSBEYXRlaSD8YmVyZ2ViZW4gKHdpZSBsb2dpbikuICBNaXQgZGVyIC1jICIKKyN+ICJhbHMgbnVsbHRlcyBBcmd1bWVudCBhbiBkaWUgRGF0ZWkgw7xiZXJnZWJlbiAod2llIGxvZ2luKS4gIE1pdCBkZXIgLWMgIgogI34gIk9wdGlvbiIKIAogI34gbXNnaWQgImlzIHN1cHBsaWVkLCBGSUxFIGlzIGV4ZWN1dGVkIHdpdGggYSBudWxsIGVudmlyb25tZW50LiAgVGhlIGAtYSciCiAjfiBtc2dzdHIgIiIKLSN+ICJ3aXJkIGRpZSBEYXRlaSBvaG5lIGdlc2V0enRlIFVtZ2VidW5nc3ZhcmlhYmxlbiBhdXNnZWb8aHJ0LiAgRGllIC1hIE9wdGlvbiIKKyN+ICJ3aXJkIGRpZSBEYXRlaSBvaG5lIGdlc2V0enRlIFVtZ2VidW5nc3ZhcmlhYmxlbiBhdXNnZWbDvGhydC4gIERpZSAtYSBPcHRpb24iCiAKICN+IG1zZ2lkICJvcHRpb24gbWVhbnMgdG8gbWFrZSBzZXQgYXJndlswXSBvZiB0aGUgZXhlY3V0ZWQgcHJvY2VzcyB0byBOQU1FLiIKLSN+IG1zZ3N0ciAic2V0enQgYXJndlswXSBkZXMgYXVzZ2Vm/GhydGVuIFByb3pl32VzIGF1ZiBOYW1lLiIKKyN+IG1zZ3N0ciAic2V0enQgYXJndlswXSBkZXMgYXVzZ2Vmw7xocnRlbiBQcm96ZcOfZXMgYXVmIE5hbWUuIgogCiAjfiBtc2dpZCAiSWYgdGhlIGZpbGUgY2Fubm90IGJlIGV4ZWN1dGVkIGFuZCB0aGUgc2hlbGwgaXMgbm90IGludGVyYWN0aXZlLCIKICN+IG1zZ3N0ciAiIgotI34gIldlbm4gZGllIERhdGVpIG5pY2h0IGF1c2dlZvxocnQgd2VyZGVuIGthbm4gdW5kIGRpZSBTaGVsbCBuaWNodCAiCisjfiAiV2VubiBkaWUgRGF0ZWkgbmljaHQgYXVzZ2Vmw7xocnQgd2VyZGVuIGthbm4gdW5kIGRpZSBTaGVsbCBuaWNodCAiCiAjfiAiaW50ZXJha3RpdiBpc3QsIgogCiAjfiBtc2dpZCAidGhlbiB0aGUgc2hlbGwgZXhpdHMsIHVubGVzcyB0aGUgdmFyaWFibGUgXCJub19leGl0X29uX2ZhaWxlZF9leGVjXCIiCiAjfiBtc2dzdHIgIiIKLSN+ICJkYW5uIHdpcmQgc2llIHZlcmxhc3NlbiwgYXXfZXIgZGllIFZhcmlhYmxlIFwibm9fZXhpdF9vbl9mYWlsZWRfZXhlY1wiIGlzdCIKKyN+ICJkYW5uIHdpcmQgc2llIHZlcmxhc3NlbiwgYXXDn2VyIGRpZSBWYXJpYWJsZSBcIm5vX2V4aXRfb25fZmFpbGVkX2V4ZWNcIiBpc3QiCiAKICN+IG1zZ2lkICJpcyBzZXQuIgogI34gbXNnc3RyICJnZXNldHp0LiIKIAogI34gbXNnaWQgImlzIHRoYXQgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCi0jfiBtc2dzdHIgImRlciBS/GNra2VocnN0YXR1cyBkZXMgenVsZXR6dCBhdXNnZWb8aHJ0ZW4gS29tbWFuZG9zIHZlcndlbmRldC4iCisjfiBtc2dzdHIgImRlciBSw7xja2tlaHJzdGF0dXMgZGVzIHp1bGV0enQgYXVzZ2Vmw7xocnRlbiBLb21tYW5kb3MgdmVyd2VuZGV0LiIKIAogIyBmYwogI34gbXNnaWQgIiIKQEAgLTQ3NzMsMTMgKzQ5MjUsMTMgQEAKICN+IG1zZ2lkICIiCiAjfiAiICAgLWUgRU5BTUUgc2VsZWN0cyB3aGljaCBlZGl0b3IgdG8gdXNlLiAgRGVmYXVsdCBpcyBGQ0VESVQsIHRoZW4gRURJVE9SLCIKICN+IG1zZ3N0ciAiIgotI34gIiAgIC1lIEVkaXRvciBpc3QgZGVyIGF1Znp1cnVmZW5kZSBUZXh0ZWRpdG9yLiAgU3RhbmRhcmRt5N9pZyB3aXJkIEZDRURJVCwgIgorI34gIiAgIC1lIEVkaXRvciBpc3QgZGVyIGF1Znp1cnVmZW5kZSBUZXh0ZWRpdG9yLiAgU3RhbmRhcmRtw6TDn2lnIHdpcmQgRkNFRElULCAiCiAjfiAiZGFubiIKIAogI34gbXNnaWQgIiIKICN+ICIgICAgICB0aGVuIHRoZSBlZGl0b3Igd2hpY2ggY29ycmVzcG9uZHMgdG8gdGhlIGN1cnJlbnQgcmVhZGxpbmUgZWRpdGluZyIKICN+IG1zZ3N0ciAiIgotI34gIiAgICAgIEVESVRPUiwgYW5zY2hsaWXfZW5kIGRlciBkZW0gcmVhZGxpbmUgTW9kdXMgZW50c3ByZWNoZW5kZSBFZGl0b3IiCisjfiAiICAgICAgRURJVE9SLCBhbnNjaGxpZcOfZW5kIGRlciBkZW0gcmVhZGxpbmUgTW9kdXMgZW50c3ByZWNoZW5kZSBFZGl0b3IiCiAKICN+IG1zZ2lkICIgICAgICBtb2RlLCB0aGVuIHZpLiIKICN+IG1zZ3N0ciAiICAgICAgdW5kIHNvbnN0IHZpIGF1ZmdlcnVmZW4uIgpAQCAtNDc4OCwxMyArNDk0MCwxMyBAQAogI34gbXNnc3RyICIgICAtbCB6ZWlndCBudXIgZGllIFplaWxlbiBhbi4iCiAKICN+IG1zZ2lkICIgICAtbiBtZWFucyBubyBsaW5lIG51bWJlcnMgbGlzdGVkLiIKLSN+IG1zZ3N0ciAiICAgLW4gdW50ZXJkcvxja3QgZGFzIEFuemVpZ2VuIHZvbiBaZWlsZW5udW1tZXJuLiIKKyN+IG1zZ3N0ciAiICAgLW4gdW50ZXJkcsO8Y2t0IGRhcyBBbnplaWdlbiB2b24gWmVpbGVubnVtbWVybi4iCiAKICN+IG1zZ2lkICIiCiAjfiAiICAgLXIgbWVhbnMgcmV2ZXJzZSB0aGUgb3JkZXIgb2YgdGhlIGxpbmVzIChtYWtpbmcgaXQgbmV3ZXN0IGxpc3RlZCAiCiAjfiAiZmlyc3QpLiIKICN+IG1zZ3N0ciAiIgotI34gIiAgIC1yIGRyZWh0IGRpZSBTb3J0aWVycmVpaGVuZm9sZ2UgdW0gKGr8bmdzdGVyIEVpbnRyYWcgd2lyZCB6dWVyc3QgIgorI34gIiAgIC1yIGRyZWh0IGRpZSBTb3J0aWVycmVpaGVuZm9sZ2UgdW0gKGrDvG5nc3RlciBFaW50cmFnIHdpcmQgenVlcnN0ICIKICN+ICJhbmdlemVpZ3QpLiIKIAogI34gbXNnaWQgIldpdGggdGhlIGBmYyAtcyBbcGF0PXJlcCAuLi5dIFtjb21tYW5kXScgZm9ybWF0LCB0aGUgY29tbWFuZCBpcyIKQEAgLTQ4MDIsMTEgKzQ5NTQsMTEgQEAKICN+ICJNaXQgYGZjIC1zIFtNdXN0ZXI9RXJzZXR6dW5nIC4uLl0gW2NvbW1hbmRdJyB3aXJkIGRhcyBLb21tYW5kbyB3aWVkZXJob2x0LCIKIAogI34gbXNnaWQgInJlLWV4ZWN1dGVkIGFmdGVyIHRoZSBzdWJzdGl0dXRpb24gT0xEPU5FVyBpcyBwZXJmb3JtZWQuIgotI34gbXNnc3RyICJuYWNoZGVtIGRpZSBTdWJzdGl0dXRpb24gQWx0PU5ldSBkdXJjaGdlZvxocnQgd3VyZGUuIgorI34gbXNnc3RyICJuYWNoZGVtIGRpZSBTdWJzdGl0dXRpb24gQWx0PU5ldSBkdXJjaGdlZsO8aHJ0IHd1cmRlLiIKIAogI34gbXNnaWQgIkEgdXNlZnVsIGFsaWFzIHRvIHVzZSB3aXRoIHRoaXMgaXMgcj0nZmMgLXMnLCBzbyB0aGF0IHR5cGluZyBgciBjYyciCiAjfiBtc2dzdHIgIiIKLSN+ICJFaW5lIG78dHpsaWNoZSBBbGlhc2Vyc2V0enVuZyBrYW5uIHI9J2ZjIC1zJyBzZWluLCBtaXQgZGVyIHouQi4gZHVyY2ggYHIgIgorI34gIkVpbmUgbsO8dHpsaWNoZSBBbGlhc2Vyc2V0enVuZyBrYW5uIHI9J2ZjIC1zJyBzZWluLCBtaXQgZGVyIHouQi4gZHVyY2ggYHIgIgogI34gImNjYCIKIAogI34gbXNnaWQgInJ1bnMgdGhlIGxhc3QgY29tbWFuZCBiZWdpbm5pbmcgd2l0aCBgY2MnIGFuZCB0eXBpbmcgYHInIHJlLWV4ZWN1dGVzIgpAQCAtNDgzMiw3ICs0OTg0LDcgQEAKIAogI34gbXNnaWQgImAmJy4gIElmIEpPQl9TUEVDIGlzIG5vdCBwcmVzZW50LCB0aGUgc2hlbGwncyBub3Rpb24gb2YgdGhlIGN1cnJlbnQiCiAjfiBtc2dzdHIgIiIKLSN+ICJnZXN0YXJ0ZXQgd29yZGVuIHfkcmUuIElzdCBrZWluZSBKb2JiZXplaWNobnVuZyBhbmdlZ2ViZW4sIHdpcmQgZGVyICIKKyN+ICJnZXN0YXJ0ZXQgd29yZGVuIHfDpHJlLiBJc3Qga2VpbmUgSm9iYmV6ZWljaG51bmcgYW5nZWdlYmVuLCB3aXJkIGRlciAiCiAjfiAienVsZXR6dCIKIAogI34gbXNnaWQgImpvYiBpcyB1c2VkLiIKQEAgLTQ4NDEsNyArNDk5Myw3IEBACiAjIGhhc2gKICN+IG1zZ2lkICJGb3IgZWFjaCBOQU1FLCB0aGUgZnVsbCBwYXRobmFtZSBvZiB0aGUgY29tbWFuZCBpcyBkZXRlcm1pbmVkIGFuZCIKICN+IG1zZ3N0ciAiIgotI34gIkb8ciBqZWRlbiBhbmdlZ2ViZW5lbiBOYW1lbiB3aXJkIGRlciB2b2xsc3TkbmRpZ2UgUGZhZG5hbWUgZGVzIEtvbW1hbmRvcyIKKyN+ICJGw7xyIGplZGVuIGFuZ2VnZWJlbmVuIE5hbWVuIHdpcmQgZGVyIHZvbGxzdMOkbmRpZ2UgUGZhZG5hbWUgZGVzIEtvbW1hbmRvcyIKIAogI34gbXNnaWQgInJlbWVtYmVyZWQuICBJZiB0aGUgLXAgb3B0aW9uIGlzIHN1cHBsaWVkLCBQQVRITkFNRSBpcyB1c2VkIGFzIHRoZSIKICN+IG1zZ3N0ciAiIgpAQCAtNDg0OSw3ICs1MDAxLDcgQEAKIAogI34gbXNnaWQgImZ1bGwgcGF0aG5hbWUgb2YgTkFNRSwgYW5kIG5vIHBhdGggc2VhcmNoIGlzIHBlcmZvcm1lZC4gIFRoZSAtciIKICN+IG1zZ3N0ciAiIgotI34gIlBmYWRuYW1lIHZlcndlbmRldCB1bmQga2VpbmUgU3VjaGUgZHVyY2hnZWb8aHJ0LiAgRGllIC1yIE9wdGlvbiBs9nNjaHQgZGllIgorI34gIlBmYWRuYW1lIHZlcndlbmRldCB1bmQga2VpbmUgU3VjaGUgZHVyY2hnZWbDvGhydC4gIERpZSAtciBPcHRpb24gbMO2c2NodCBkaWUiCiAKICN+IG1zZ2lkICJvcHRpb24gY2F1c2VzIHRoZSBzaGVsbCB0byBmb3JnZXQgYWxsIHJlbWVtYmVyZWQgbG9jYXRpb25zLiAgSWYgbm8iCiAjfiBtc2dzdHIgIiIKQEAgLTQ4NjIsNyArNTAxNCw3IEBACiAjIGhlbHAKICN+IG1zZ2lkICJEaXNwbGF5IGhlbHBmdWwgaW5mb3JtYXRpb24gYWJvdXQgYnVpbHRpbiBjb21tYW5kcy4gIElmIFBBVFRFUk4gaXMiCiAjfiBtc2dzdHIgIiIKLSN+ICJHaWJ0IEhpbGZldGV4dGUgZvxyIGRpZSBlaW5nZWJhdXRlbiBLb21tYW5kb3MgYXVzLiAgV2VubiBlaW4gTXVzdGVyICIKKyN+ICJHaWJ0IEhpbGZldGV4dGUgZsO8ciBkaWUgZWluZ2ViYXV0ZW4gS29tbWFuZG9zIGF1cy4gIFdlbm4gZWluIE11c3RlciAiCiAjfiAiYW5nZWdlYmVuIgogCiAjfiBtc2dpZCAic3BlY2lmaWVkLCBnaXZlcyBkZXRhaWxlZCBoZWxwIG9uIGFsbCBjb21tYW5kcyBtYXRjaGluZyBQQVRURVJOLCIKQEAgLTQ4ODEsNyArNTAzMyw3IEBACiAKICN+IG1zZ2lkICJ3aXRoIGEgYConIGhhdmUgYmVlbiBtb2RpZmllZC4gIEFyZ3VtZW50IG9mIE4gc2F5cyB0byBsaXN0IG9ubHkiCiAjfiBtc2dzdHIgIiIKLSN+ICJaZWlsZW4gd3VyZGVuIHZlcuRuZGVydC4gIE1pdCBlaW5lciBaYWhsIGFscyBBcmd1bWVudCB3aXJkIG51ciBkaWUgIgorI34gIlplaWxlbiB3dXJkZW4gdmVyw6RuZGVydC4gIE1pdCBlaW5lciBaYWhsIGFscyBBcmd1bWVudCB3aXJkIG51ciBkaWUgIgogI34gImFuZ2VnZWJlbmUiCiAKICN+IG1zZ2lkICJ0aGUgbGFzdCBOIGxpbmVzLiAgVGhlIC1jIG9wdGlvbiBjYXVzZXMgdGhlIGhpc3RvcnkgbGlzdCB0byBiZSIKQEAgLTQ4OTIsMTIgKzUwNDQsMTIgQEAKICN+IG1zZ2lkICIiCiAjfiAiY2xlYXJlZCBieSBkZWxldGluZyBhbGwgb2YgdGhlIGVudHJpZXMuICBUaGUgYC13JyBvcHRpb24gd3JpdGVzIG91dCB0aGUiCiAjfiBtc2dzdHIgIiIKLSN+ICJnZWz2c2NodCB3ZXJkZW4uICBJc3QgZGllIGAtdycgT3B0aW9uIGFuZ2VnZWJlbiwgIHdpcmQgZGVyIEtvbW1hbmRvemVpbGVuLSIKKyN+ICJnZWzDtnNjaHQgd2VyZGVuLiAgSXN0IGRpZSBgLXcnIE9wdGlvbiBhbmdlZ2ViZW4sICB3aXJkIGRlciBLb21tYW5kb3plaWxlbi0iCiAKICN+IG1zZ2lkICIiCiAjfiAiY3VycmVudCBoaXN0b3J5IHRvIHRoZSBoaXN0b3J5IGZpbGU7ICBgLXInIG1lYW5zIHRvIHJlYWQgdGhlIGZpbGUgYW5kIgogI34gbXNnc3RyICIiCi0jfiAic3BlaWNoZXIgaW4gZGllIGhpc3RvcnkgRGF0ZWkgZ2VzY2hyaWViZW4uIGAtcicgbGllc3QgZGllc2UgRGF0ZWkgdW5kIGb8Z3QiCisjfiAic3BlaWNoZXIgaW4gZGllIGhpc3RvcnkgRGF0ZWkgZ2VzY2hyaWViZW4uIGAtcicgbGllc3QgZGllc2UgRGF0ZWkgdW5kIGbDvGd0IgogCiAjfiBtc2dpZCAiYXBwZW5kIHRoZSBjb250ZW50cyB0byB0aGUgaGlzdG9yeSBsaXN0IGluc3RlYWQuICBgLWEnIG1lYW5zIgogI34gbXNnc3RyICIiCkBAIC00OTA2LDE2ICs1MDU4LDE2IEBACiAKICN+IG1zZ2lkICJ0byBhcHBlbmQgaGlzdG9yeSBsaW5lcyBmcm9tIHRoaXMgc2Vzc2lvbiB0byB0aGUgaGlzdG9yeSBmaWxlLiIKICN+IG1zZ3N0ciAiIgotI34gIktvbW1hbmRvemVpbGVuc3BlaWNoZXIgZGVyIFNpdHp1bmcgYW4gZGllIGhpc3RvcnkgRGF0ZWkgYW5nZWb8Z3Qgd2VyZGVuLiIKKyN+ICJLb21tYW5kb3plaWxlbnNwZWljaGVyIGRlciBTaXR6dW5nIGFuIGRpZSBoaXN0b3J5IERhdGVpIGFuZ2Vmw7xndCB3ZXJkZW4uIgogCiAjfiBtc2dpZCAiQXJndW1lbnQgYC1uJyBtZWFucyB0byByZWFkIGFsbCBoaXN0b3J5IGxpbmVzIG5vdCBhbHJlYWR5IHJlYWQiCiAjfiBtc2dzdHIgIiIKLSN+ICJEYXMgQXJndW1lbnQgYC1uJyBiZXdpcmt0LCBkYd8gYWxsZSBaZWlsZW4gZGllIG5vY2ggbmljaHQgYXVzIGRlciBoaXN0b3J5ICIKKyN+ICJEYXMgQXJndW1lbnQgYC1uJyBiZXdpcmt0LCBkYcOfIGFsbGUgWmVpbGVuIGRpZSBub2NoIG5pY2h0IGF1cyBkZXIgaGlzdG9yeSAiCiAjfiAiRGF0ZWkiCiAKICN+IG1zZ2lkICJmcm9tIHRoZSBoaXN0b3J5IGZpbGUgYW5kIGFwcGVuZCB0aGVtIHRvIHRoZSBoaXN0b3J5IGxpc3QuICBJZiIKICN+IG1zZ3N0ciAiIgotI34gImdlbGVzZW4gd3VyZGVuIGFuIGRlbiBLb21tYW5kb3plaWxlbnNwZWljaGVyIGFuZ2Vm/Gd0IHdlcmRlbi4gIFdlbm4gZWluICIKKyN+ICJnZWxlc2VuIHd1cmRlbiBhbiBkZW4gS29tbWFuZG96ZWlsZW5zcGVpY2hlciBhbmdlZsO8Z3Qgd2VyZGVuLiAgV2VubiBlaW4gIgogI34gIkRhdGVpLSIKIAogI34gbXNnaWQgIkZJTEVOQU1FIGlzIGdpdmVuLCB0aGVuIHRoYXQgaXMgdXNlZCBhcyB0aGUgaGlzdG9yeSBmaWxlIGVsc2UiCkBAIC00OTI1LDIzICs1MDc3LDIzIEBACiAKICN+IG1zZ2lkICJpZiAkSElTVEZJTEUgaGFzIGEgdmFsdWUsIHRoYXQgaXMgdXNlZCwgZWxzZSB+Ly5iYXNoX2hpc3RvcnkuIgogI34gbXNnc3RyICIiCi0jfiAid2lyZCBkZXIgSW5oYWx0IGRlciBWYXJpYWJsZW4gJEhJU1RGSUxFIHVuZCBhbnNjaGxpZd9lbmQgfi8uYmFzaF9oaXN0b3J5ICIKKyN+ICJ3aXJkIGRlciBJbmhhbHQgZGVyIFZhcmlhYmxlbiAkSElTVEZJTEUgdW5kIGFuc2NobGllw59lbmQgfi8uYmFzaF9oaXN0b3J5ICIKICN+ICJ2ZXJ3ZW5kZXQuIgogCiAjfiBtc2dpZCAiSWYgdGhlIC1zIG9wdGlvbiBpcyBzdXBwbGllZCwgdGhlIG5vbi1vcHRpb24gQVJHcyBhcmUgYXBwZW5kZWQgdG8iCiAjfiBtc2dzdHIgIiIKLSN+ICJEdXJjaCBkaWUgLXMgT3B0aW9uIHdpcmQgYmV3aXJrdCwgZGHfIGRpZSBOaWNodC1PcHRpb25zLUFyZ3VtZW50ZSBhbHMgIgorI34gIkR1cmNoIGRpZSAtcyBPcHRpb24gd2lyZCBiZXdpcmt0LCBkYcOfIGRpZSBOaWNodC1PcHRpb25zLUFyZ3VtZW50ZSBhbHMgIgogI34gImVpZ2VuZSIKIAogI34gbXNnaWQgInRoZSBoaXN0b3J5IGxpc3QgYXMgYSBzaW5nbGUgZW50cnkuICBUaGUgLXAgb3B0aW9uIG1lYW5zIHRvIHBlcmZvcm0iCiAjfiBtc2dzdHIgIiIKLSN+ICJaZWlsZSBhbiBkZW4gS29tbWFuZG9zcGVpY2hlciBhbmdlZvxndCB3ZXJkZW4uICBNaXQgLXAgd2lyZCBm/HIgamVkZXMgIgorI34gIlplaWxlIGFuIGRlbiBLb21tYW5kb3NwZWljaGVyIGFuZ2Vmw7xndCB3ZXJkZW4uICBNaXQgLXAgd2lyZCBmw7xyIGplZGVzICIKICN+ICJBcmd1bWVudCIKIAogI34gbXNnaWQgIiIKICN+ICJoaXN0b3J5IGV4cGFuc2lvbiBvbiBlYWNoIEFSRyBhbmQgZGlzcGxheSB0aGUgcmVzdWx0LCB3aXRob3V0IHN0b3JpbmciCiAjfiBtc2dzdHIgIiIKLSN+ICJkaWUgS29tbWFuZG9zdWJzdGl0dXRpb24gZHVyY2hnZWb8aHJ0IHVuZCBkYXMgRXJnZWJuaXMgYW5nZXplaWd0LCAgb2huZSAiCisjfiAiZGllIEtvbW1hbmRvc3Vic3RpdHV0aW9uIGR1cmNoZ2Vmw7xocnQgdW5kIGRhcyBFcmdlYm5pcyBhbmdlemVpZ3QsICBvaG5lICIKICN+ICJqZWRvY2giCiAKICN+IG1zZ2lkICJhbnl0aGluZyBpbiB0aGUgaGlzdG9yeSBsaXN0LiIKQEAgLTQ5NTEsMjIgKzUxMDMsMjIgQEAKICN+IG1zZ2lkICJMaXN0cyB0aGUgYWN0aXZlIGpvYnMuICBUaGUgLWwgb3B0aW9uIGxpc3RzIHByb2Nlc3MgaWQncyBpbiBhZGRpdGlvbiIKICN+IG1zZ3N0ciAiIgogI34gIkdpYnQgZWluZSBMaXN0ZSBkZXIgYWt0aXZlbiBKb2JzIGF1cy4gIE1pdCBkZXIgLWwgT3B0aW9uIHdlcmRlbiAiCi0jfiAienVz5HR6bGljaCBkaWUiCisjfiAienVzw6R0emxpY2ggZGllIgogCiAjfiBtc2dpZCAidG8gdGhlIG5vcm1hbCBpbmZvcm1hdGlvbjsgdGhlIC1wIG9wdGlvbiBsaXN0cyBwcm9jZXNzIGlkJ3Mgb25seS4iCiAjfiBtc2dzdHIgIiIKLSN+ICJQcm96Zd9udW1tZXJuIHVuZCBtaXQgZGVyIC1wIE9wdGlvbiBudXIgZGllIFByb3pl3251bW1lcm4gYXVzZ3NnZWdlYmVuLiIKKyN+ICJQcm96ZcOfbnVtbWVybiB1bmQgbWl0IGRlciAtcCBPcHRpb24gbnVyIGRpZSBQcm96ZcOfbnVtbWVybiBhdXNnc2dlZ2ViZW4uIgogCiAjfiBtc2dpZCAiIgogI34gIklmIC1uIGlzIGdpdmVuLCBvbmx5IHByb2Nlc3NlcyB0aGF0IGhhdmUgY2hhbmdlZCBzdGF0dXMgc2luY2UgdGhlIGxhc3QiCiAjfiBtc2dzdHIgIiIKLSN+ICJEaWUgT3B0aW9uIC1uIGJld2lya3QsIGRh3yBudXIgSm9icyBhbmdlemVpZ3Qgd2VyZGVuLCBkaWUgaWhyZW4gU3RhdHVzICIKKyN+ICJEaWUgT3B0aW9uIC1uIGJld2lya3QsIGRhw58gbnVyIEpvYnMgYW5nZXplaWd0IHdlcmRlbiwgZGllIGlocmVuIFN0YXR1cyAiCiAjfiAic2VpZCBkZW0iCiAKICN+IG1zZ2lkICIiCiAjfiAibm90aWZpY2F0aW9uIGFyZSBwcmludGVkLiAgSk9CU1BFQyByZXN0cmljdHMgb3V0cHV0IHRvIHRoYXQgam9iLiAgVGhlIgogI34gbXNnc3RyICIiCi0jfiAibGV0enRlbiBBdWZydWYgZ2XkbmRlcnQgaGFiZW4uIEpvYmJlei4gYmVzY2hy5G5rdCBkaWUgQW56ZWlnZSBhdWYgZGllc2VuICIKKyN+ICJsZXR6dGVuIEF1ZnJ1ZiBnZcOkbmRlcnQgaGFiZW4uIEpvYmJlei4gYmVzY2hyw6Rua3QgZGllIEFuemVpZ2UgYXVmIGRpZXNlbiAiCiAjfiAiSm9iLiIKIAogI34gbXNnaWQgIi1yIGFuZCAtcyBvcHRpb25zIHJlc3RyaWN0IG91dHB1dCB0byBydW5uaW5nIGFuZCBzdG9wcGVkIGpvYnMgb25seSwiCkBAIC00OTc5LDEyICs1MTMxLDEyIEBACiAjfiBtc2dpZCAiIgogI34gInByaW50ZWQuICBJZiAteCBpcyBnaXZlbiwgQ09NTUFORCBpcyBydW4gYWZ0ZXIgYWxsIGpvYiBzcGVjaWZpY2F0aW9ucyIKICN+IG1zZ3N0ciAiIgotI34gIldlbm4gLXggaW4gZGVyIEtvbW1hbmRvemVpbGUgYW5nZWdlYmVuIGlzdCwgd2lyZCBkYXMgS29tbWFuZG8gYXVzZ2Vm/GhydCAiCisjfiAiV2VubiAteCBpbiBkZXIgS29tbWFuZG96ZWlsZSBhbmdlZ2ViZW4gaXN0LCB3aXJkIGRhcyBLb21tYW5kbyBhdXNnZWbDvGhydCAiCiAjfiAidW5kIgogCiAjfiBtc2dpZCAiIgogI34gInRoYXQgYXBwZWFyIGluIEFSR1MgaGF2ZSBiZWVuIHJlcGxhY2VkIHdpdGggdGhlIHByb2Nlc3MgSUQgb2YgdGhhdCBqb2IncyIKLSN+IG1zZ3N0ciAidm9yaGVyIGFsbGUgdm9ya29tbWVuZGVuIEpvYnNwZXppZmlrYXRpb25lbiBkdXJjaCBpaHJlIFByb3pl3251bW1lciIKKyN+IG1zZ3N0ciAidm9yaGVyIGFsbGUgdm9ya29tbWVuZGVuIEpvYnNwZXppZmlrYXRpb25lbiBkdXJjaCBpaHJlIFByb3plw59udW1tZXIiCiAKICN+IG1zZ2lkICJwcm9jZXNzIGdyb3VwIGxlYWRlci4iCiAjfiBtc2dzdHIgImVyc2V0enQuIgpAQCAtNTAwNyw3ICs1MTU5LDcgQEAKIAogI34gbXNnaWQgImxpc3RzIHRoZSBzaWduYWwgbmFtZXM7IGlmIGFyZ3VtZW50cyBmb2xsb3cgYC1sJyB0aGV5IGFyZSBhc3N1bWVkIHRvIgogI34gbXNnc3RyICIiCi0jfiAiTGlzdGUgZGVyIG32Z2xpY2hlbiBTaWduYWxuYW1lbiBhbmdlemVpZ3Qgd2VyZGVuLiAgV2VubiBaYWhsZW4gbmFjaCBkZXIgIgorI34gIkxpc3RlIGRlciBtw7ZnbGljaGVuIFNpZ25hbG5hbWVuIGFuZ2V6ZWlndCB3ZXJkZW4uICBXZW5uIFphaGxlbiBuYWNoIGRlciAiCiAjfiAiT3B0aW9uIgogCiAjfiBtc2dpZCAiYmUgc2lnbmFsIG51bWJlcnMgZm9yIHdoaWNoIG5hbWVzIHNob3VsZCBiZSBsaXN0ZWQuICBLaWxsIGlzIGEgc2hlbGwiCkBAIC01MDE3LDggKzUxNjksOCBAQAogCiAjfiBtc2dpZCAiYnVpbHRpbiBmb3IgdHdvIHJlYXNvbnM6IGl0IGFsbG93cyBqb2IgSURzIHRvIGJlIHVzZWQgaW5zdGVhZCBvZiIKICN+IG1zZ3N0ciAiIgotI34gIkdy/G5kZW4gZWluZSBTaGVsbGZ1bmt0aW9uOiBlcyBr9m5uZW4gSm9iYmV6ZWljaG51bmdlbiBhbnN0YXR0ICIKLSN+ICJQcm96Zd9udW1tZXJuIgorI34gIkdyw7xuZGVuIGVpbmUgU2hlbGxmdW5rdGlvbjogZXMga8O2bm5lbiBKb2JiZXplaWNobnVuZ2VuIGFuc3RhdHQgIgorI34gIlByb3plw59udW1tZXJuIgogCiAjfiBtc2dpZCAicHJvY2VzcyBJRHMsIGFuZCwgaWYgeW91IGhhdmUgcmVhY2hlZCB0aGUgbGltaXQgb24gcHJvY2Vzc2VzIHRoYXQiCiAjfiBtc2dzdHIgIiIKQEAgLTUwMjgsNyArNTE4MCw3IEBACiAjfiBtc2dpZCAiIgogI34gInlvdSBjYW4gY3JlYXRlLCB5b3UgZG9uJ3QgaGF2ZSB0byBzdGFydCBhIHByb2Nlc3MgdG8ga2lsbCBhbm90aGVyIG9uZS4iCiAjfiBtc2dzdHIgIiIKLSN+ICJicmF1Y2h0IGtlaW4gd2VpdGVyZXIgUHJvemXfIGdlc3RhcnRldCB6dSB3ZXJkZW4sIHVtIGVpbmVuIGFuZGVyZW4genUgIgorI34gImJyYXVjaHQga2VpbiB3ZWl0ZXJlciBQcm96ZcOfIGdlc3RhcnRldCB6dSB3ZXJkZW4sIHVtIGVpbmVuIGFuZGVyZW4genUgIgogI34gImJlZW5kZW4uIgogCiAjIGxldApAQCAtNTAzOSw3ICs1MTkxLDcgQEAKIAogI34gbXNnaWQgImlzIGRvbmUgaW4gbG9uZyBpbnRlZ2VycyB3aXRoIG5vIGNoZWNrIGZvciBvdmVyZmxvdywgdGhvdWdoIGRpdmlzaW9uIgogI34gbXNnc3RyICIiCi0jfiAiaW50ZWdlciBWYXJpYWJsZW4gdmVyd2VuZGV0LiAgRWluINxiZXJsYXVmdGVzdCB3aXJkIG5pY2h0IGF1c2dlZvxocnQsICIKKyN+ICJpbnRlZ2VyIFZhcmlhYmxlbiB2ZXJ3ZW5kZXQuICBFaW4gw5xiZXJsYXVmdGVzdCB3aXJkIG5pY2h0IGF1c2dlZsO8aHJ0LCAiCiAjfiAiamVkb2NoIgogCiAjfiBtc2dpZCAiYnkgMCBpcyB0cmFwcGVkIGFuZCBmbGFnZ2VkIGFzIGFuIGVycm9yLiAgVGhlIGZvbGxvd2luZyBsaXN0IG9mIgpAQCAtNTA5Miw3ICs1MjQ0LDcgQEAKICN+IG1zZ3N0ciAiXHRBdXNkcnVjazEgPyBBdXNkcnVjazIgOiBBdXNkcnVjazMiCiAKICN+IG1zZ2lkICJcdFx0XHRjb25kaXRpb25hbCBleHByZXNzaW9uIgotI34gbXNnc3RyICJcdFx0XHRCZWRpbmd0ZSBCZWZlaGxzYXVzZvxocnVuZy4iCisjfiBtc2dzdHIgIlx0XHRcdEJlZGluZ3RlIEJlZmVobHNhdXNmw7xocnVuZy4iCiAKICN+IG1zZ2lkICJcdD0sICo9LCAvPSwgJT0sIgogI34gbXNnc3RyICJcdD0sICo9LCAvPSwgJT0sIgpAQCAtNTEwOCw3ICs1MjYwLDcgQEAKICN+ICJBdXNkcnVjayBkdXJjaCBpaHJlbiBpbiBsb25nIGludGVnZXIgdW1nZXdhbmRlbHRlbiBXZXJ0IGVyc2V0enQuIFVtICIKIAogI34gbXNnaWQgImFuIGV4cHJlc3Npb24uICBUaGUgdmFyaWFibGUgbmVlZCBub3QgaGF2ZSBpdHMgaW50ZWdlciBhdHRyaWJ1dGUiCi0jfiBtc2dzdHIgImRpZSBWYXJpYWJsZSBpbiBlaW5lbSBBdXNkcnVjayB2ZXJ3ZW5kZW4genUga/ZubmVuLCBtdd8gaWhyICIKKyN+IG1zZ3N0ciAiZGllIFZhcmlhYmxlIGluIGVpbmVtIEF1c2RydWNrIHZlcndlbmRlbiB6dSBrw7ZubmVuLCBtdcOfIGlociAiCiAKICN+IG1zZ2lkICJ0dXJuZWQgb24gdG8gYmUgdXNlZCBpbiBhbiBleHByZXNzaW9uLiIKICN+IG1zZ3N0ciAiSW50ZWdlcmF0dHJpYnV0IG5pY2h0IGFrdGl2aWVydCBzZWluLiIKQEAgLTUxMTgsNyArNTI3MCw3IEBACiAKICN+IG1zZ2lkICJwYXJlbnRoZXNlcyBhcmUgZXZhbHVhdGVkIGZpcnN0IGFuZCBtYXkgb3ZlcnJpZGUgdGhlIHByZWNlZGVuY2UiCiAjfiBtc2dzdHIgIiIKLSN+ICJHZWtsYW1tZXJ0ZSBUZWlsYXVzZHL8Y2tlIHdlcmRlbiB6dWVyc3QgYXVzZ2V3ZXJ0ZXQgdW5kIGv2bm5lbiB2b24gZGVuIgorI34gIkdla2xhbW1lcnRlIFRlaWxhdXNkcsO8Y2tlIHdlcmRlbiB6dWVyc3QgYXVzZ2V3ZXJ0ZXQgdW5kIGvDtm5uZW4gdm9uIGRlbiIKIAogI34gbXNnaWQgInJ1bGVzIGFib3ZlLiIKICN+IG1zZ3N0ciAib2JlbiBhbmdlZ2ViZW5lbiBWb3JyYW5ncmVnZWxuIGFid2VpY2hlbi4iCkBAIC01MTI3LDcgKzUyNzksNyBAQAogI34gbXNnc3RyICJXZW5uIGRhcyB6dWxldHp0IGF1c2dld2VydGV0ZSBBcmd1bWVudCAwIGVyZ2lidCwgbGllZmVydCBsZXQgIgogCiAjfiBtc2dpZCAib3RoZXJ3aXNlLiIKLSN+IG1zZ3N0ciAiMSBhbHMgUvxja2dhYmV3ZXJ0LCBzb25zdCAwLiIKKyN+IG1zZ3N0ciAiMSBhbHMgUsO8Y2tnYWJld2VydCwgc29uc3QgMC4iCiAKICMgcmVhZAogI34gbXNnaWQgIk9uZSBsaW5lIGlzIHJlYWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQsIGFuZCB0aGUgZmlyc3Qgd29yZCBpcyIKQEAgLTUxNTQsNyArNTMwNiw3IEBACiAjfiBtc2dpZCAiIgogI34gInplcm8sIHVubGVzcyBlbmQtb2YtZmlsZSBpcyBlbmNvdW50ZXJlZC4gIElmIG5vIE5BTUVzIGFyZSBzdXBwbGllZCwgdGhlIgogI34gbXNnc3RyICIiCi0jfiAiYXVmZ2V0cmV0ZW4gaXN0LCBpc3QgZGVyIFL8Y2tnYWJld2VydCBOdWxsLiAgV2VubiBrZWluIE5BTUUgYW5nZWdlYmVuICIKKyN+ICJhdWZnZXRyZXRlbiBpc3QsIGlzdCBkZXIgUsO8Y2tnYWJld2VydCBOdWxsLiAgV2VubiBrZWluIE5BTUUgYW5nZWdlYmVuICIKICN+ICJ3dXJkZSwiCiAKICN+IG1zZ2lkICIiCkBAIC01MTY1LDEyICs1MzE3LDEyIEBACiAKICN+IG1zZ2lkICJ0aGlzIHNpZ25pZmllcyBgcmF3JyBpbnB1dCwgYW5kIGJhY2tzbGFzaCBlc2NhcGluZyBpcyBkaXNhYmxlZC4gIElmIgogI34gbXNnc3RyICIiCi0jfiAibWl0IGBcXCcgbWFya2llcnRlbiAgU29uZGVyemVpY2hlbiB1bnRlcmRy/GNrdC4gIFdlbm4gZGllIE9wdGlvbiAtciAiCisjfiAibWl0IGBcXCcgbWFya2llcnRlbiAgU29uZGVyemVpY2hlbiB1bnRlcmRyw7xja3QuICBXZW5uIGRpZSBPcHRpb24gLXIgIgogI34gImFuZ2VnZWJlbiIKIAogI34gbXNnaWQgInRoZSBgLXAnIG9wdGlvbiBpcyBzdXBwbGllZCwgdGhlIHN0cmluZyBzdXBwbGllZCBhcyBhbiBhcmd1bWVudCBpcyIKICN+IG1zZ3N0ciAiIgotI34gImlzdCwgZGFubiB3aXJkIGRpZSBFaW5nYWJlYXVmZm9yZGVydW5nIG9obmUgZWluZW4gYWJzY2hsaWXfZW5kZW4gIgorI34gImlzdCwgZGFubiB3aXJkIGRpZSBFaW5nYWJlYXVmZm9yZGVydW5nIG9obmUgZWluZW4gYWJzY2hsaWXDn2VuZGVuICIKICN+ICJaZWlsZW51bWJydWNoIgogCiAjfiBtc2dpZCAiIgpAQCAtNTE4MSwxMiArNTMzMywxMiBAQAogI34gbXNnaWQgIiIKICN+ICJzdXBwbGllZCwgdGhlIHdvcmRzIHJlYWQgYXJlIGFzc2lnbmVkIHRvIHNlcXVlbnRpYWwgaW5kaWNlcyBvZiBBUlJBWSwiCiAjfiBtc2dzdHIgIiIKLSN+ICJGZWxkdmFyaWFibGUgQVJSQVkg/GJlcmdlYmVuIHVuZCBm/HIgamVkZW4gRWludHJhZyBkZXIgSW5kZXggdm9uIE51bGwgIgorI34gIkZlbGR2YXJpYWJsZSBBUlJBWSDDvGJlcmdlYmVuIHVuZCBmw7xyIGplZGVuIEVpbnRyYWcgZGVyIEluZGV4IHZvbiBOdWxsICIKICN+ICJiZWdpbm5lbmQiCiAKICN+IG1zZ2lkICJzdGFydGluZyBhdCB6ZXJvLiAgSWYgLWUgaXMgc3VwcGxpZWQgYW5kIHRoZSBzaGVsbCBpcyBpbnRlcmFjdGl2ZSwiCiAjfiBtc2dzdHIgIiIKLSN+ICJ1bSBFaW5zIGVyaPZodCB3aXJkLiAgTWl0IGRlciAtZSBPcHRpb24gd2lyZCBiZWkgZWluZXIgaW50ZXJha3RpdmVuIFNoZWxsICIKKyN+ICJ1bSBFaW5zIGVyaMO2aHQgd2lyZC4gIE1pdCBkZXIgLWUgT3B0aW9uIHdpcmQgYmVpIGVpbmVyIGludGVyYWt0aXZlbiBTaGVsbCAiCiAjfiAiZGllIgogCiAjfiBtc2dpZCAicmVhZGxpbmUgaXMgdXNlZCB0byBvYnRhaW4gdGhlIGxpbmUuIgpAQCAtNTE5NywxOCArNTM0OSwxOCBAQAogI34gbXNnaWQgIiIKICN+ICJDYXVzZXMgYSBmdW5jdGlvbiB0byBleGl0IHdpdGggdGhlIHJldHVybiB2YWx1ZSBzcGVjaWZpZWQgYnkgTi4gIElmIE4iCiAjfiBtc2dzdHIgIiIKLSN+ICJCZWVuZGV0IGVpbmUgU2hlbGxmdW5rdGlvbiB1bmQgc2V0enQgZGVuIFL8Y2tnYWJld2VydCBhdWYgTi4gIFdlbm4ga2VpbiAiCi0jfiAiUvxja2dhLSIKKyN+ICJCZWVuZGV0IGVpbmUgU2hlbGxmdW5rdGlvbiB1bmQgc2V0enQgZGVuIFLDvGNrZ2FiZXdlcnQgYXVmIE4uICBXZW5uIGtlaW4gIgorI34gIlLDvGNrZ2EtIgogCiAjfiBtc2dpZCAiaXMgb21pdHRlZCwgdGhlIHJldHVybiBzdGF0dXMgaXMgdGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kLiIKICN+IG1zZ3N0ciAiIgotI34gImJld2VydCBhbmdlZ2ViZW4gaXN0LCB3aXJkIGRlciBkZXMgenVsZXR6dCBhdXNnZWb8aHJ0ZW4gS29tbWFuZG9zICIKKyN+ICJiZXdlcnQgYW5nZWdlYmVuIGlzdCwgd2lyZCBkZXIgZGVzIHp1bGV0enQgYXVzZ2Vmw7xocnRlbiBLb21tYW5kb3MgIgogI34gInZlcndlbmRldC4iCiAKICMgc2V0CiAjfiBtc2dpZCAiICAgIC1hICBNYXJrIHZhcmlhYmxlcyB3aGljaCBhcmUgbW9kaWZpZWQgb3IgY3JlYXRlZCBmb3IgZXhwb3J0LiIKICN+IG1zZ3N0ciAiIgotI34gIiAgICAtYSAgTWFya2llcnQgZXJ6ZXVndGUgb2RlciB2ZXLkbmRlcnRlIFZhcmlhYmxlbiBhbHMgZXhwb3J0aWVyYmFyLiIKKyN+ICIgICAgLWEgIE1hcmtpZXJ0IGVyemV1Z3RlIG9kZXIgdmVyw6RuZGVydGUgVmFyaWFibGVuIGFscyBleHBvcnRpZXJiYXIuIgogCiAjfiBtc2dpZCAiICAgIC1iICBOb3RpZnkgb2Ygam9iIHRlcm1pbmF0aW9uIGltbWVkaWF0ZWx5LiIKICN+IG1zZ3N0ciAiICAgIC1iICBaZWlndCBkYXMgQmVlbmRlbiB2b24gUHJvemVzc2VuIHNvZm9ydCBhbi4iCkBAIC01MjE2LDEwICs1MzY4LDEwIEBACiAjfiBtc2dpZCAiICAgIC1lICBFeGl0IGltbWVkaWF0ZWx5IGlmIGEgY29tbWFuZCBleGl0cyB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLiIKICN+IG1zZ3N0ciAiIgogI34gIiAgICAtZSAgQmVlbmRldCBkaWUgU2hlbGwgc29mb3J0LCB3ZW5uIGVpbiBLb21tYW5kbyBlaW4gRmVobGVyICIKLSN+ICJ6dXL8Y2tsaWVmZXJ0LiIKKyN+ICJ6dXLDvGNrbGllZmVydC4iCiAKICN+IG1zZ2lkICIgICAgLWYgIERpc2FibGUgZmlsZSBuYW1lIGdlbmVyYXRpb24gKGdsb2JiaW5nKS4iCi0jfiBtc2dzdHIgIiAgICAtZiAgVW50ZXJkcvxja3QgZGFzIEVyemV1Z2VuIHZvbiBEYXRlaW5hbWVuLiIKKyN+IG1zZ3N0ciAiICAgIC1mICBVbnRlcmRyw7xja3QgZGFzIEVyemV1Z2VuIHZvbiBEYXRlaW5hbWVuLiIKIAogI34gbXNnaWQgIiAgICAtaCAgUmVtZW1iZXIgdGhlIGxvY2F0aW9uIG9mIGNvbW1hbmRzIGFzIHRoZXkgYXJlIGxvb2tlZCB1cC4iCiAjfiBtc2dzdHIgIiAgICAtaCAgU3BlaWNoZXJ0IGRpZSBlaW5nZWdlYmVuZW4gS29tbWFuZG9zIHNvZm9ydC4iCkBAIC01MjI3LDcgKzUzNzksNyBAQAogI34gbXNnaWQgIiIKICN+ICIgICAgLWkgIEZvcmNlIHRoZSBzaGVsbCB0byBiZSBhbiBcImludGVyYWN0aXZlXCIgb25lLiAgSW50ZXJhY3RpdmUgc2hlbGxzIgogI34gbXNnc3RyICIiCi0jfiAiICAgIC1pICBFcnp3aW5ndCwgZGHfIGRpZSBTaGVsbCBpbnRlcmFrdGl2IGFyYmVpdGV0LiAgSW50ZXJha3RpdmUgU2hlbGxzIgorI34gIiAgICAtaSAgRXJ6d2luZ3QsIGRhw58gZGllIFNoZWxsIGludGVyYWt0aXYgYXJiZWl0ZXQuICBJbnRlcmFrdGl2ZSBTaGVsbHMiCiAKICN+IG1zZ2lkICIgICAgICAgIGFsd2F5cyByZWFkIGB+Ly5iYXNocmMnIG9uIHN0YXJ0dXAuIgogI34gbXNnc3RyICIiCkBAIC01MjM5LDEzICs1MzkxLDEzIEBACiAKICN+IG1zZ2lkICIgICAgICAgIGNvbW1hbmQsIG5vdCBqdXN0IHRob3NlIHRoYXQgcHJlY2VkZSB0aGUgY29tbWFuZCBuYW1lLiIKICN+IG1zZ3N0ciAiIgotI34gIiAgICAgICAgZ2VzY2hyaWViZW4sIG5pY2h0IGJsb98gZGllIEFyZ3VtZW50ZSBuYWNoIGRlbSBGdW5rdGlvbnNuYW1lbi4iCisjfiAiICAgICAgICBnZXNjaHJpZWJlbiwgbmljaHQgYmxvw58gZGllIEFyZ3VtZW50ZSBuYWNoIGRlbSBGdW5rdGlvbnNuYW1lbi4iCiAKICN+IG1zZ2lkICIgICAgLW0gIEpvYiBjb250cm9sIGlzIGVuYWJsZWQuIgogI34gbXNnc3RyICIgICAgLW0gIEpvYnN0ZXVlcnVuZyB3aXJkIGFrdGl2aWVydC4iCiAKICN+IG1zZ2lkICIgICAgLW4gIFJlYWQgY29tbWFuZHMgYnV0IGRvIG5vdCBleGVjdXRlIHRoZW0uIgotI34gbXNnc3RyICIgICAgLW4gIEtvbW1hbmRvcyB3ZXJkZW4gZ2VsZXNlbiBhYmVyIG5pY2h0IGF1c2dlZvxocnQuIgorI34gbXNnc3RyICIgICAgLW4gIEtvbW1hbmRvcyB3ZXJkZW4gZ2VsZXNlbiBhYmVyIG5pY2h0IGF1c2dlZsO8aHJ0LiIKIAogI34gbXNnaWQgIiAgICAtbyBvcHRpb24tbmFtZSIKICN+IG1zZ3N0ciAiICAgIC1vIE9wdGlvbiIKQEAgLTUzMTcsNyArNTQ2OSw3IEBACiAjfiBtc2dpZCAiIgogI34gIiAgICAgICAgICAgIHBvc2l4ICAgICAgICBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGJhc2ggd2hlcmUgdGhlIGRlZmF1bHQiCiAjfiBtc2dzdHIgIiIKLSN+ICIgICAgICAgICAgICBwb3NpeCAgICAgICAgxG5kZXJ0IGRhcyBWZXJoYWx0ZW4gZGVyIFNoZWxsLCB3byBzaWUgdm9tLCIKKyN+ICIgICAgICAgICAgICBwb3NpeCAgICAgICAgw4RuZGVydCBkYXMgVmVyaGFsdGVuIGRlciBTaGVsbCwgd28gc2llIHZvbSwiCiAKICN+IG1zZ2lkICIiCiAjfiAiICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbiBkaWZmZXJzIGZyb20gdGhlIDEwMDMuMiBzdGFuZGFyZCB0byIKQEAgLTUzNDMsMTEgKzU0OTUsMTEgQEAKICN+ICIgICAgLXAgIFR1cm5lZCBvbiB3aGVuZXZlciB0aGUgcmVhbCBhbmQgZWZmZWN0aXZlIHVzZXIgaWRzIGRvIG5vdCBtYXRjaC4iCiAjfiBtc2dzdHIgIiIKICN+ICIgICAgLXAgIElzdCBha3RpdmllcnQsIHdlbm4gZGllIHJlYWxlIHVuZCBlZmZla3RpdmUgTnV0emVyIElEIG5pY2h0ICIKLSN+ICL8YmVyZWluLSIKKyN+ICLDvGJlcmVpbi0iCiAKICN+IG1zZ2lkICIgICAgICAgIERpc2FibGVzIHByb2Nlc3Npbmcgb2YgdGhlICRFTlYgZmlsZSBhbmQgaW1wb3J0aW5nIG9mIHNoZWxsIgogI34gbXNnc3RyICIiCi0jfiAiICAgICAgICBzdGltbWVuLiAgRGllICRFTlYgRGF0ZWkgd2lyZCBuaWNodCBhdXNnZWb8aHJ0IHVuZCBrZWluZSAiCisjfiAiICAgICAgICBzdGltbWVuLiAgRGllICRFTlYgRGF0ZWkgd2lyZCBuaWNodCBhdXNnZWbDvGhydCB1bmQga2VpbmUgIgogI34gIlNoZWxsZnVuay0iCiAKICN+IG1zZ2lkICIiCkBAIC01MzYxLDcgKzU1MTMsNyBAQAogCiAjfiBtc2dpZCAiICAgIC10ICBFeGl0IGFmdGVyIHJlYWRpbmcgYW5kIGV4ZWN1dGluZyBvbmUgY29tbWFuZC4iCiAjfiBtc2dzdHIgIiIKLSN+ICIgICAgLXQgIEJlZW5kZXQgZGllIFNoZWxsIHNvZm9ydCBuYWNoIEF1c2b8aGVybiBlaW5lcyBlaW56ZWxuZW4gS29tbWFuZG9zLiIKKyN+ICIgICAgLXQgIEJlZW5kZXQgZGllIFNoZWxsIHNvZm9ydCBuYWNoIEF1c2bDvGhlcm4gZWluZXMgZWluemVsbmVuIEtvbW1hbmRvcy4iCiAKICN+IG1zZ2lkICIgICAgLXUgIFRyZWF0IHVuc2V0IHZhcmlhYmxlcyBhcyBhbiBlcnJvciB3aGVuIHN1YnN0aXR1dGluZy4iCiAjfiBtc2dzdHIgIiIKQEAgLTUzNzMsNyArNTUyNSw3IEBACiAKICN+IG1zZ2lkICIgICAgLXggIFByaW50IGNvbW1hbmRzIGFuZCB0aGVpciBhcmd1bWVudHMgYXMgdGhleSBhcmUgZXhlY3V0ZWQuIgogI34gbXNnc3RyICIiCi0jfiAiICAgIC14ICBHaWJ0IGRpZSBLb21tYW5kb3MgbWl0IGlocmVuIEFyZ3VtZW50ZW4gYXVzIHdpZSBlcyBhdXNnZWb8aHJ0ICIKKyN+ICIgICAgLXggIEdpYnQgZGllIEtvbW1hbmRvcyBtaXQgaWhyZW4gQXJndW1lbnRlbiBhdXMgd2llIGVzIGF1c2dlZsO8aHJ0ICIKICN+ICJ3aXJkLiIKIAogI34gbXNnaWQgIiAgICAtQiAgdGhlIHNoZWxsIHdpbGwgcGVyZm9ybSBicmFjZSBleHBhbnNpb24iCkBAIC01Mzg0LDIyICs1NTM2LDIyIEBACiAjfiAiICAgIC1IICBTY2hhbHRldCBkZW4gWnVncmlmZiBhdWYgZGVuIEtvbW1hbmRvemVpbGVuc3BlaWNoZXIgZHVyY2ggYCEnIGVpbi4iCiAKICN+IG1zZ2lkICIgICAgICAgIGJ5IGRlZmF1bHQuIgotI34gbXNnc3RyICIgICAgICAgIERpZXNlIE9wdGlvbiBpc3Qgc3RhbmRhcmRt5N9pZyBha3RpdmllcnQuIgorI34gbXNnc3RyICIgICAgICAgIERpZXNlIE9wdGlvbiBpc3Qgc3RhbmRhcmRtw6TDn2lnIGFrdGl2aWVydC4iCiAKICN+IG1zZ2lkICIgICAgLUMgIElmIHNldCwgZGlzYWxsb3cgZXhpc3RpbmcgcmVndWxhciBmaWxlcyB0byBiZSBvdmVyd3JpdHRlbiIKICN+IG1zZ3N0ciAiIgotI34gIiAgICAtQyAgVmVyaGluZGVydCBkYXMg3GJlcnNjaHJlaWJlbiB2b24gZXhpc3RpZXJlbmRlbiBEYXRlaWVuIGR1cmNoIgorI34gIiAgICAtQyAgVmVyaGluZGVydCBkYXMgw5xiZXJzY2hyZWliZW4gdm9uIGV4aXN0aWVyZW5kZW4gRGF0ZWllbiBkdXJjaCIKIAogI34gbXNnaWQgIiAgICAgICAgYnkgcmVkaXJlY3Rpb24gb2Ygb3V0cHV0LiIKICN+IG1zZ3N0ciAiICAgICAgICBVbWxlaXRlbiBkZXIgQXVzZ2FiZSAod2llIG5vY2xvYmJlcikuIgogCiAjfiBtc2dpZCAiICAgIC1QICBJZiBzZXQsIGRvIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3Mgd2hlbiBleGVjdXRpbmcgY29tbWFuZHMiCiAjfiBtc2dzdHIgIiIKLSN+ICIgICAgLVAgIFN5bWJvbGlzY2hlIFZlcndlaXNlIHdlcmRlbiBiZWltIEF1c2b8aHJlbiB2b24gS29tbWFuZG9zLCB3aWUgei4iCisjfiAiICAgIC1QICBTeW1ib2xpc2NoZSBWZXJ3ZWlzZSB3ZXJkZW4gYmVpbSBBdXNmw7xocmVuIHZvbiBLb21tYW5kb3MsIHdpZSB6LiIKICN+ICJCLiBjZCIKIAogI34gbXNnaWQgIiAgICAgICAgc3VjaCBhcyBjZCB3aGljaCBjaGFuZ2UgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LiIKLSN+IG1zZ3N0ciAiICAgICAgICB3ZWxjaGVzIGRhcyBha3R1ZWxsZSBBcmJlaXRzdmVyemVpY2huaXMg5G5kZXJ0LCBpZ25vcmllcnQuIgorI34gbXNnc3RyICIgICAgICAgIHdlbGNoZXMgZGFzIGFrdHVlbGxlIEFyYmVpdHN2ZXJ6ZWljaG5pcyDDpG5kZXJ0LCBpZ25vcmllcnQuIgogCiAjfiBtc2dpZCAiVXNpbmcgKyByYXRoZXIgdGhhbiAtIGNhdXNlcyB0aGVzZSBmbGFncyB0byBiZSB0dXJuZWQgb2ZmLiAgVGhlIgogI34gbXNnc3RyICIiCkBAIC01NDA4LDcgKzU1NjAsNyBAQAogCiAjfiBtc2dpZCAiZmxhZ3MgY2FuIGFsc28gYmUgdXNlZCB1cG9uIGludm9jYXRpb24gb2YgdGhlIHNoZWxsLiAgVGhlIGN1cnJlbnQiCiAjfiBtc2dzdHIgIiIKLSN+ICJr9m5uZW4gYXVjaCBiZWltIEF1ZnJ1ZiBkZXIgU2hlbGwgYmVudXR6dCB3ZXJkZW4uICBEaWUgZ2VnZW535HJ0aWcgIgorI34gImvDtm5uZW4gYXVjaCBiZWltIEF1ZnJ1ZiBkZXIgU2hlbGwgYmVudXR6dCB3ZXJkZW4uICBEaWUgZ2VnZW53w6RydGlnICIKICN+ICJha3RpdmllcnRlbiIKIAogI34gbXNnaWQgIiIKQEAgLTU0MjgsMzYgKzU1ODAsMzYgQEAKICMgdW5zZXQKICN+IG1zZ2lkICJGb3IgZWFjaCBOQU1FLCByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgdmFyaWFibGUgb3IgZnVuY3Rpb24uICBHaXZlbiIKICN+IG1zZ3N0ciAiIgotI34gIkb8ciBqZWRlbiBhbmdlZ2ViZW5lbiBOQU1FbiB3aXJkIGRpZSBlbnRzcHJlY2hlbmRlIFZhcmlhYmxlIG9kZXIgRnVua3Rpb24gIgorI34gIkbDvHIgamVkZW4gYW5nZWdlYmVuZW4gTkFNRW4gd2lyZCBkaWUgZW50c3ByZWNoZW5kZSBWYXJpYWJsZSBvZGVyIEZ1bmt0aW9uICIKICN+ICJnZS0iCiAKICN+IG1zZ2lkICJ0aGUgYC12JywgdW5zZXQgd2lsbCBvbmx5IGFjdCBvbiB2YXJpYWJsZXMuICBHaXZlbiB0aGUgYC1mJyBmbGFnLCIKICN+IG1zZ3N0ciAiIgotI34gImz2c2NodC4gIE1pdCBgLXYnIHdlcmRlbiBudXIgVmFyaWFibGVuIHVuZCBtaXQgYC1mJyBudXIgRnVua3Rpb25lbiAiCi0jfiAiZ2Vs9nNjaHQuIgorI34gImzDtnNjaHQuICBNaXQgYC12JyB3ZXJkZW4gbnVyIFZhcmlhYmxlbiB1bmQgbWl0IGAtZicgbnVyIEZ1bmt0aW9uZW4gIgorI34gImdlbMO2c2NodC4iCiAKICN+IG1zZ2lkICJ1bnNldCB3aWxsIG9ubHkgYWN0IG9uIGZ1bmN0aW9ucy4gIFdpdGggbmVpdGhlciBmbGFnLCB1bnNldCBmaXJzdCIKICN+IG1zZ3N0ciAiIgotI34gIldlbm4ga2VpbiBTY2hhbHRlciBhbmdlZ2ViZW4gaXN0LCB3aXJkIHp1buRjaHN0IGVpbmUgVmFyaWFibGUgZ2VzdWNodCB1bmQgIgorI34gIldlbm4ga2VpbiBTY2hhbHRlciBhbmdlZ2ViZW4gaXN0LCB3aXJkIHp1bsOkY2hzdCBlaW5lIFZhcmlhYmxlIGdlc3VjaHQgdW5kICIKICN+ICJ3ZW5uIgogCiAjfiBtc2dpZCAidHJpZXMgdG8gdW5zZXQgYSB2YXJpYWJsZSwgYW5kIGlmIHRoYXQgZmFpbHMsIHRoZW4gdHJpZXMgdG8gdW5zZXQgYSIKICN+IG1zZ3N0ciAiIgogI34gImVpbmUgc29sY2hlIG5pY2h0IGdlZnVuZGVuIHd1cmRlLCBkYW5uIHdpcmQgdmVyc3VjaHQgZWluZSBGdW5rdGlvbiB6dSAiCi0jfiAibPZzY2hlbi4iCisjfiAibMO2c2NoZW4uIgogCiAjfiBtc2dpZCAiIgogI34gImZ1bmN0aW9uLiAgU29tZSB2YXJpYWJsZXMgKHN1Y2ggYXMgUEFUSCBhbmQgSUZTKSBjYW5ub3QgYmUgdW5zZXQ7IGFsc28iCiAjfiBtc2dzdHIgIiIKLSN+ICJFaW5pZ2UgVmFyaWFibGVuICh6LkIuIFBBVEggdW5kIElGUykga/ZubmVuIG5pY2h0IGdlbPZzY2h0IHdlcmRlbi4gIFNpZWhlIgorI34gIkVpbmlnZSBWYXJpYWJsZW4gKHouQi4gUEFUSCB1bmQgSUZTKSBrw7ZubmVuIG5pY2h0IGdlbMO2c2NodCB3ZXJkZW4uICBTaWVoZSIKIAogI34gbXNnaWQgInNlZSByZWFkb25seS4iCi0jfiBtc2dzdHIgImRpZXNiZXr8Z2xpY2ggYXVjaCBkaWUgSGlsZmUgZGVyIEZ1bmt0aW9uIHJlYWRvbmx5LiIKKyN+IG1zZ3N0ciAiZGllc2JlesO8Z2xpY2ggYXVjaCBkaWUgSGlsZmUgZGVyIEZ1bmt0aW9uIHJlYWRvbmx5LiIKIAogIyBleHBvcnQKICN+IG1zZ2lkICJOQU1FcyBhcmUgbWFya2VkIGZvciBhdXRvbWF0aWMgZXhwb3J0IHRvIHRoZSBlbnZpcm9ubWVudCBvZiIKICN+IG1zZ3N0ciAiIgotI34gIkRpZSBOQU1FbiB3ZXJkZW4gZvxyIGRlbiBhdXRvbWF0aXNjaGVuIEV4cG9ydCBpbiBkaWUgVW1nZWJ1bmcgdm9uIGRlciAiCisjfiAiRGllIE5BTUVuIHdlcmRlbiBmw7xyIGRlbiBhdXRvbWF0aXNjaGVuIEV4cG9ydCBpbiBkaWUgVW1nZWJ1bmcgdm9uIGRlciAiCiAjfiAiU2hlbGwiCiAKICN+IG1zZ2lkICJzdWJzZXF1ZW50bHkgZXhlY3V0ZWQgY29tbWFuZHMuICBJZiB0aGUgLWYgb3B0aW9uIGlzIGdpdmVuLCIKQEAgLTU0ODEsNyArNTYzMyw3IEBACiAKICN+IG1zZ2lkICJmcm9tIHN1YnNlcXVlbnQgTkFNRXMuICBBbiBhcmd1bWVudCBvZiBgLS0nIGRpc2FibGVzIGZ1cnRoZXIgb3B0aW9uIgogI34gbXNnc3RyICIiCi0jfiAiZ2Vs9nNjaHQuICBFaW4gQXJndW1lbnQgYC0tJyB2ZXJoaW5kZXJ0LCBkYd8gbmFjaCBkaWVzZW0gWmVpY2hlbiB3ZWl0ZXJlIgorI34gImdlbMO2c2NodC4gIEVpbiBBcmd1bWVudCBgLS0nIHZlcmhpbmRlcnQsIGRhw58gbmFjaCBkaWVzZW0gWmVpY2hlbiB3ZWl0ZXJlIgogCiAjfiBtc2dpZCAicHJvY2Vzc2luZy4iCiAjfiBtc2dzdHIgIk9wdGlvbmVuIGF1c2dld2VydGV0IHdlcmRlbi4iCkBAIC01NDkwLDExICs1NjQyLDExIEBACiAjfiBtc2dpZCAiIgogI34gIlRoZSBnaXZlbiBOQU1FcyBhcmUgbWFya2VkIHJlYWRvbmx5IGFuZCB0aGUgdmFsdWVzIG9mIHRoZXNlIE5BTUVzIG1heSIKICN+IG1zZ3N0ciAiIgotI34gIkRpZSBhbmdlZ2ViZW5lbiBOQU1FbiB3ZXJkZW4gYWxzIE51ci1MZXNlbiBtYXJraWVydC4gIERlcmVuIEluaGFsdGUga/ZubmVuIgorI34gIkRpZSBhbmdlZ2ViZW5lbiBOQU1FbiB3ZXJkZW4gYWxzIE51ci1MZXNlbiBtYXJraWVydC4gIERlcmVuIEluaGFsdGUga8O2bm5lbiIKIAogI34gbXNnaWQgIm5vdCBiZSBjaGFuZ2VkIGJ5IHN1YnNlcXVlbnQgYXNzaWdubWVudC4gIElmIHRoZSAtZiBvcHRpb24gaXMgZ2l2ZW4sIgogI34gbXNnc3RyICIiCi0jfiAibmljaHQgbWVociBnZeRuZGVydCB3ZXJkZW4uICBXZW5uIGRpZSAtZiBPcHRpb24gYW5nZWdlYmVuIHdpcmQsIGRhbm4gIgorI34gIm5pY2h0IG1laHIgZ2XDpG5kZXJ0IHdlcmRlbi4gIFdlbm4gZGllIC1mIE9wdGlvbiBhbmdlZ2ViZW4gd2lyZCwgZGFubiAiCiAjfiAid2VyZGVuIG51ciIKIAogI34gbXNnaWQgInRoZW4gZnVuY3Rpb25zIGNvcnJlc3BvbmRpbmcgdG8gdGhlIE5BTUVzIGFyZSBzbyBtYXJrZWQuICBJZiBubyIKQEAgLTU1MTAsMTUgKzU2NjIsMTUgQEAKICN+IG1zZ2lkICIiCiAjfiAiaXMgcHJpbnRlZC4gIEFuIGFyZ3VtZW50IG9mIGAtbicgc2F5cyB0byByZW1vdmUgdGhlIHJlYWRvbmx5IHByb3BlcnR5IgogI34gbXNnc3RyICIiCi0jfiAiRWlnZW5zY2hhZnQgZvxyIGRpZSBhbmdlZ2ViZW5lbiBOYW1lbiBlbnRmZXJudCB3ZXJkZW4uICBEZXIgYC1hJyBTY2hhbHRlciIKKyN+ICJFaWdlbnNjaGFmdCBmw7xyIGRpZSBhbmdlZ2ViZW5lbiBOYW1lbiBlbnRmZXJudCB3ZXJkZW4uICBEZXIgYC1hJyBTY2hhbHRlciIKIAogI34gbXNnaWQgImZyb20gc3Vic2VxdWVudCBOQU1Fcy4gIFRoZSBgLWEnIG9wdGlvbiBtZWFucyB0byB0cmVhdCBlYWNoIE5BTUUgYXMiCiAjfiBtc2dzdHIgIiIKLSN+ICJiZXdpcmt0LCBkYd8gamVkZXIgTmFtZSBhbHMgRmVsZHZhcmlhYmxlIGJlaGFuZGVsdCB3aXJkLiAgRGFzIEFyZ3VtZW50ICIKKyN+ICJiZXdpcmt0LCBkYcOfIGplZGVyIE5hbWUgYWxzIEZlbGR2YXJpYWJsZSBiZWhhbmRlbHQgd2lyZC4gIERhcyBBcmd1bWVudCAiCiAjfiAiYC0tJyIKIAogI34gbXNnaWQgImFuIGFycmF5IHZhcmlhYmxlLiAgQW4gYXJndW1lbnQgb2YgYC0tJyBkaXNhYmxlcyBmdXJ0aGVyIG9wdGlvbiIKLSN+IG1zZ3N0ciAidW50ZXJkcvxja3QgZGFzIEF1c3dlcnRlbiB3ZWl0ZXJlciBPcHRpb25lbi4iCisjfiBtc2dzdHIgInVudGVyZHLDvGNrdCBkYXMgQXVzd2VydGVuIHdlaXRlcmVyIE9wdGlvbmVuLiIKIAogIyBzaGlmdAogI34gbXNnaWQgIiIKQEAgLTU1MzMsNyArNTY4NSw3IEBACiAjIHNvdXJjZQogI34gbXNnaWQgIlJlYWQgYW5kIGV4ZWN1dGUgY29tbWFuZHMgZnJvbSBGSUxFTkFNRSBhbmQgcmV0dXJuLiAgVGhlIHBhdGhuYW1lcyIKICN+IG1zZ3N0ciAiIgotI34gIkxpZXN0IHVuZCBm/GhydCBhbnNjaGxpZd9lbmQgZGllIEtvbW1hbmRvcyBpbiBEQVRFSU5BTUUgYXVzLiAgJFBBVEggd2lyZCIKKyN+ICJMaWVzdCB1bmQgZsO8aHJ0IGFuc2NobGllw59lbmQgZGllIEtvbW1hbmRvcyBpbiBEQVRFSU5BTUUgYXVzLiAgJFBBVEggd2lyZCIKIAogI34gbXNnaWQgImluICRQQVRIIGFyZSB1c2VkIHRvIGZpbmQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIEZJTEVOQU1FLiIKICN+IG1zZ3N0ciAiYWxzIFN1Y2hwZmFkIGJlbnV0enQsIHVtIERBVEVJTkFNRSB6dSBmaW5kZW4uIgpAQCAtNTU0MSw0NiArNTY5Myw0NiBAQAogIyBzdXNwZW5kCiAjfiBtc2dpZCAiU3VzcGVuZCB0aGUgZXhlY3V0aW9uIG9mIHRoaXMgc2hlbGwgdW50aWwgaXQgcmVjZWl2ZXMgYSBTSUdDT05UIgogI34gbXNnc3RyICIiCi0jfiAiSORsdCBkYXMgQXVzZvxocmVuIGRlciBTaGVsbCBzb2xhbmdlIGFuLCBiaXMgc2llIGRhcyBTaWduYWwgU0lHQ09OVCAiCi0jfiAiZW1wZuRuZ3QuIgorI34gIkjDpGx0IGRhcyBBdXNmw7xocmVuIGRlciBTaGVsbCBzb2xhbmdlIGFuLCBiaXMgc2llIGRhcyBTaWduYWwgU0lHQ09OVCAiCisjfiAiZW1wZsOkbmd0LiIKIAogI34gbXNnaWQgInNpZ25hbC4gIFRoZSBgLWYnIGlmIHNwZWNpZmllZCBzYXlzIG5vdCB0byBjb21wbGFpbiBhYm91dCB0aGlzIgogI34gbXNnc3RyICIiCi0jfiAiRGllIGAtZicgT3B0aW9uIHVudGVyZHL8Y2t0IGVpbmUgV2FybnVuZywgd2VubiBlcyBzaWNoIHVtIGVpbmUgTG9naW4gU2hlbGwiCisjfiAiRGllIGAtZicgT3B0aW9uIHVudGVyZHLDvGNrdCBlaW5lIFdhcm51bmcsIHdlbm4gZXMgc2ljaCB1bSBlaW5lIExvZ2luIFNoZWxsIgogCiAjfiBtc2dpZCAiYmVpbmcgYSBsb2dpbiBzaGVsbCBpZiBpdCBpczsganVzdCBzdXNwZW5kIGFueXdheS4iCi0jfiBtc2dzdHIgImhhbmRlbHQgdW5kIGjkbHQgYXVjaCBkZXJlbiBBYmFyYmVpdHVuZyBhbi4iCisjfiBtc2dzdHIgImhhbmRlbHQgdW5kIGjDpGx0IGF1Y2ggZGVyZW4gQWJhcmJlaXR1bmcgYW4uIgogCiAjIHRlc3QKICN+IG1zZ2lkICJFeGl0cyB3aXRoIGEgc3RhdHVzIG9mIDAgKHRydWVuZXNzKSBvciAxIChmYWxzZW5lc3MpIGRlcGVuZGluZyBvbiIKICN+IG1zZ3N0ciAiIgotI34gIkxpZWZlcnQgZGVuIFL8Y2tnYWJld2VydCAwICh3YWhyKSBvZGVyIDEgKGZhbHNjaCksIGFiaORuZ2lnIHZvbSBFcmdlYm5pcyAiCisjfiAiTGllZmVydCBkZW4gUsO8Y2tnYWJld2VydCAwICh3YWhyKSBvZGVyIDEgKGZhbHNjaCksIGFiaMOkbmdpZyB2b20gRXJnZWJuaXMgIgogI34gImRlcyIKIAogI34gbXNnaWQgInRoZSBldmFsdWF0aW9uIG9mIEVYUFIuICBFeHByZXNzaW9ucyBtYXkgYmUgdW5hcnkgb3IgYmluYXJ5LiAgVW5hcnkiCiAjfiBtc2dzdHIgIiIKLSN+ICJBdXNkcnVja2VzIEVYUFIuICBEaWUgQXVzZHL8Y2tlIGv2bm5lbiBlaW4tICh1buRyKSBvZGVyIHp3ZWlzdGVsbGlnICIKLSN+ICIoYmlu5HIpIHNlaW4uIgorI34gIkF1c2RydWNrZXMgRVhQUi4gIERpZSBBdXNkcsO8Y2tlIGvDtm5uZW4gZWluLSAodW7DpHIpIG9kZXIgendlaXN0ZWxsaWcgIgorI34gIihiaW7DpHIpIHNlaW4uIgogCiAjfiBtc2dpZCAiZXhwcmVzc2lvbnMgYXJlIG9mdGVuIHVzZWQgdG8gZXhhbWluZSB0aGUgc3RhdHVzIG9mIGEgZmlsZS4gIFRoZXJlIgogI34gbXNnc3RyICIiCi0jfiAiRWluc3RlbGxpZ2UgQXVzZHL8Y2tlIHdlcmRlbiBvZnQgenVtIEVybWl0dGVsbiBlaW5lcyBEYXRlaXp1c3RhbmRlcyAiCisjfiAiRWluc3RlbGxpZ2UgQXVzZHLDvGNrZSB3ZXJkZW4gb2Z0IHp1bSBFcm1pdHRlbG4gZWluZXMgRGF0ZWl6dXN0YW5kZXMgIgogI34gInZlcndlbmRldC4iCiAKICN+IG1zZ2lkICJhcmUgc3RyaW5nIG9wZXJhdG9ycyBhcyB3ZWxsLCBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycy4iCiAjfiBtc2dzdHIgIiIKLSN+ICJFcyBnaWJ0IGF132VyZGVuIFplaWNoZW5rZXR0ZW4tIHVuZCBudW1lcmlzY2hlIFZlcmdsZWljaHNvcGVyYXRvcmVuLiIKKyN+ICJFcyBnaWJ0IGF1w59lcmRlbiBaZWljaGVua2V0dGVuLSB1bmQgbnVtZXJpc2NoZSBWZXJnbGVpY2hzb3BlcmF0b3Jlbi4iCiAKICN+IG1zZ2lkICJGaWxlIG9wZXJhdG9yczoiCiAjfiBtc2dzdHIgIkRhdGVpIE9wZXJhdG9yZW46IgogCiAjfiBtc2dpZCAiICAgIC1iIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBpcyBibG9jayBzcGVjaWFsLiIKICN+IG1zZ3N0ciAiIgotI34gIiAgICAtYiBEQVRFSSAgICAgICBXYWhyLCB3ZW5uIGRlciBEYXRlaW5hbWUgZWluIEJsb2NrZ2Vy5HQgYmV6ZWljaG5ldC4iCisjfiAiICAgIC1iIERBVEVJICAgICAgIFdhaHIsIHdlbm4gZGVyIERhdGVpbmFtZSBlaW4gQmxvY2tnZXLDpHQgYmV6ZWljaG5ldC4iCiAKICN+IG1zZ2lkICIgICAgLWMgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGNoYXJhY3RlciBzcGVjaWFsLiIKICN+IG1zZ3N0ciAiIgotI34gIiAgICAtYyBEQVRFSSAgICAgICBXYWhyLCB3ZW5uIGRlciBEYXRlaW5hbWUgZWluIHNlcXVlbnRpZWxsZXMgR2Vy5HQgIgorI34gIiAgICAtYyBEQVRFSSAgICAgICBXYWhyLCB3ZW5uIGRlciBEYXRlaW5hbWUgZWluIHNlcXVlbnRpZWxsZXMgR2Vyw6R0ICIKICN+ICJiZXplaWNobmV0LiIKIAogI34gbXNnaWQgIiAgICAtZCBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgYSBkaXJlY3RvcnkuIgpAQCAtNTU5MSw3ICs1NzQzLDcgQEAKIAogI34gbXNnaWQgIiAgICAtZiBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgZXhpc3RzIGFuZCBpcyBhIHJlZ3VsYXIgZmlsZS4iCiAjfiBtc2dzdHIgIiIKLSN+ICIgICAgLWYgREFURUkgICAgICAgV2Fociwgd2VubiBkaWUgRGF0ZWkgZXhpc3RpZXJ0IHVuZCBlaW5lIHJlZ3Vs5HJlIERhdGVpICIKKyN+ICIgICAgLWYgREFURUkgICAgICAgV2Fociwgd2VubiBkaWUgRGF0ZWkgZXhpc3RpZXJ0IHVuZCBlaW5lIHJlZ3Vsw6RyZSBEYXRlaSAiCiAjfiAiaXN0LiIKIAogI34gbXNnaWQgIiAgICAtZyBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgc2V0LWdyb3VwLWlkLiIKQEAgLTU2MDcsNyArNTc1OSw3IEBACiAKICN+IG1zZ2lkICIgICAgLWsgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGhhcyBpdHMgXCJzdGlja3lcIiBiaXQgc2V0LiIKICN+IG1zZ3N0ciAiIgotI34gIiAgICAtayBEQVRFSSAgICAgICBXYWhyLCB3ZW5uIG51ciBkZXIgQmVzaXR6ZXIgZGllIERhdGVpIORuZGVybiBkYXJmICIKKyN+ICIgICAgLWsgREFURUkgICAgICAgV2Fociwgd2VubiBudXIgZGVyIEJlc2l0emVyIGRpZSBEYXRlaSDDpG5kZXJuIGRhcmYgIgogI34gIihzdGlja3kpLiIKIAogI34gbXNnaWQgIiAgICAtcCBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgYSBuYW1lZCBwaXBlLiIKQEAgLTU2MjgsMTIgKzU3ODAsMTIgQEAKIAogI34gbXNnaWQgIiAgICAtdCBGRCAgICAgICAgICBUcnVlIGlmIEZEIGlzIG9wZW5lZCBvbiBhIHRlcm1pbmFsLiIKICN+IG1zZ3N0ciAiIgotI34gIiAgICAtdCBGRCAgICAgICAgICBXYWhyLCB3ZW5uIGRpZSBEYXRlaW51bW1lciBGRCBm/HIgZWluIFRlcm1pbmFsICIKLSN+ICJnZfZmZm5ldCBpc3QuIgorI34gIiAgICAtdCBGRCAgICAgICAgICBXYWhyLCB3ZW5uIGRpZSBEYXRlaW51bW1lciBGRCBmw7xyIGVpbiBUZXJtaW5hbCAiCisjfiAiZ2XDtmZmbmV0IGlzdC4iCiAKICN+IG1zZ2lkICIgICAgLXUgRklMRSAgICAgICAgVHJ1ZSBpZiB0aGUgZmlsZSBpcyBzZXQtdXNlci1pZC4iCiAjfiBtc2dzdHIgIiIKLSN+ICIgICAgLXUgREFURUkgICAgICAgV2Fociwgd2VubiBm/HIgZGllc2UgRGF0ZWkgZGFzIFNVSUQgQml0IGdlc2V0enQgaXN0LiIKKyN+ICIgICAgLXUgREFURUkgICAgICAgV2Fociwgd2VubiBmw7xyIGRpZXNlIERhdGVpIGRhcyBTVUlEIEJpdCBnZXNldHp0IGlzdC4iCiAKICN+IG1zZ2lkICIgICAgLXcgRklMRSAgICAgICAgVHJ1ZSBpZiB0aGUgZmlsZSBpcyB3cml0YWJsZSBieSB5b3UuIgogI34gbXNnc3RyICIiCkBAIC01NjQyLDQ3ICs1Nzk0LDQ3IEBACiAKICN+IG1zZ2lkICIgICAgLXggRklMRSAgICAgICAgVHJ1ZSBpZiB0aGUgZmlsZSBpcyBleGVjdXRhYmxlIGJ5IHlvdS4iCiAjfiBtc2dzdHIgIiIKLSN+ICIgICAgLXggREFURUkgICAgICAgV2Fociwgd2VubiBkaWUgRGF0ZWkgdm9tIGFrdHVlbGxlbiBCZW51dHplciBhdXNm/GhyYmFyICIKKyN+ICIgICAgLXggREFURUkgICAgICAgV2Fociwgd2VubiBkaWUgRGF0ZWkgdm9tIGFrdHVlbGxlbiBCZW51dHplciBhdXNmw7xocmJhciAiCiAjfiAiaXN0LiIKIAogI34gbXNnaWQgIiAgICAtTyBGSUxFICAgICAgICBUcnVlIGlmIHRoZSBmaWxlIGlzIGVmZmVjdGl2ZWx5IG93bmVkIGJ5IHlvdS4iCiAjfiBtc2dzdHIgIiIKLSN+ICIgICAgLU8gREFURUkgICAgICAgV2Fociwgd2VubiBkZXIgYWt0dWVsbGUgQmVudXR6ZXIgRWlnZW50/G1lciBkZXIgRGF0ZWkgIgorI34gIiAgICAtTyBEQVRFSSAgICAgICBXYWhyLCB3ZW5uIGRlciBha3R1ZWxsZSBCZW51dHplciBFaWdlbnTDvG1lciBkZXIgRGF0ZWkgIgogI34gImlzdC4iCiAKICN+IG1zZ2lkICIiCiAjfiAiICAgIC1HIEZJTEUgICAgICAgIFRydWUgaWYgdGhlIGZpbGUgaXMgZWZmZWN0aXZlbHkgb3duZWQgYnkgeW91ciBncm91cC4iCiAjfiBtc2dzdHIgIiIKICN+ICIgICAgLUcgREFURUkgICAgICAgV2Fociwgd2VubiBHSUQgZGVzIEJlbnV0emVycyB1bmQgZGVyIERhdGVpICIKLSN+ICL8YmVyZWluc3RpbW1lbi4iCisjfiAiw7xiZXJlaW5zdGltbWVuLiIKIAogI34gbXNnaWQgIiAgRklMRTEgLW50IEZJTEUyICBUcnVlIGlmIGZpbGUxIGlzIG5ld2VyIHRoYW4gKGFjY29yZGluZyB0byIKICN+IG1zZ3N0ciAiIgotI34gIiAgREFURUkxIC1udCBEQVRFSTIgIFdhaHIsIHdlbm4gZGVyIGxldHp0ZSDEbmRlcnVuZ3N6ZWl0cHVua3Qgdm9uIERBVEVJMSAiCi0jfiAiavxuZ2VyIgorI34gIiAgREFURUkxIC1udCBEQVRFSTIgIFdhaHIsIHdlbm4gZGVyIGxldHp0ZSDDhG5kZXJ1bmdzemVpdHB1bmt0IHZvbiBEQVRFSTEgIgorI34gImrDvG5nZXIiCiAKICN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgbW9kaWZpY2F0aW9uIGRhdGUpIGZpbGUyLiIKICN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgICAgIGlzdCBhbHMgZGVyIHZvbiBEQVRFSTIuIgogCiAjfiBtc2dpZCAiICBGSUxFMSAtb3QgRklMRTIgIFRydWUgaWYgZmlsZTEgaXMgb2xkZXIgdGhhbiBmaWxlMi4iCi0jfiBtc2dzdHIgIiAgREFURUkxIC1vdCBEQVRFSTIgIFdhaHIsIHdlbm4gREFURUkxIORsdGVyIGlzdCBhbHMgREFURUkyLiIKKyN+IG1zZ3N0ciAiICBEQVRFSTEgLW90IERBVEVJMiAgV2Fociwgd2VubiBEQVRFSTEgw6RsdGVyIGlzdCBhbHMgREFURUkyLiIKIAogI34gbXNnaWQgIiAgRklMRTEgLWVmIEZJTEUyICBUcnVlIGlmIGZpbGUxIGlzIGEgaGFyZCBsaW5rIHRvIGZpbGUyLiIKICN+IG1zZ3N0ciAiIgotI34gIiAgREFURUkxIC1lZiBEQVRFSTIgIFdhaHIsIHdlbm4gYmVpZGUgSW5vZGVzIPxiZXJlaW5zdGltbWVuIChoYXJkIGxpbmspLiIKKyN+ICIgIERBVEVJMSAtZWYgREFURUkyICBXYWhyLCB3ZW5uIGJlaWRlIElub2RlcyDDvGJlcmVpbnN0aW1tZW4gKGhhcmQgbGluaykuIgogCiAjfiBtc2dpZCAiU3RyaW5nIG9wZXJhdG9yczoiCi0jfiBtc2dzdHIgIk9wZXJhdG9yZW4gZvxyIFplaWNoZW5rZXR0ZW4gKFN0cmluZ3MpOiIKKyN+IG1zZ3N0ciAiT3BlcmF0b3JlbiBmw7xyIFplaWNoZW5rZXR0ZW4gKFN0cmluZ3MpOiIKIAogI34gbXNnaWQgIiAgICAteiBTVFJJTkcgICAgICBUcnVlIGlmIHN0cmluZyBpcyBlbXB0eS4iCi0jfiBtc2dzdHIgIiAgICAteiBTVFJJTkcgICAgICBXYWhyLCB3ZW5uIGRpZSBM5G5nZSBkZXIgWmVpY2hlbmtldHRlIE51bGwgaXN0LiIKKyN+IG1zZ3N0ciAiICAgIC16IFNUUklORyAgICAgIFdhaHIsIHdlbm4gZGllIEzDpG5nZSBkZXIgWmVpY2hlbmtldHRlIE51bGwgaXN0LiIKIAogI34gbXNnaWQgIiAgICAtbiBTVFJJTkciCiAjfiBtc2dzdHIgIiAgICAtbiBTVFJJTkciCiAKICN+IG1zZ2lkICIgICAgU1RSSU5HICAgICAgICAgVHJ1ZSBpZiBzdHJpbmcgaXMgbm90IGVtcHR5LiIKICN+IG1zZ3N0ciAiIgotI34gIiAgICBTVFJJTkcgICAgICAgICBXYWhyLCB3ZW5uIGRpZSBM5G5nZSBkZXIgWmVpY2hlbmtldHRlIGdy9t9lciBhbHMgTnVsbCAiCisjfiAiICAgIFNUUklORyAgICAgICAgIFdhaHIsIHdlbm4gZGllIEzDpG5nZSBkZXIgWmVpY2hlbmtldHRlIGdyw7bDn2VyIGFscyBOdWxsICIKICN+ICJpc3QuIgogCiAjfiBtc2dpZCAiICAgIFNUUklORzEgPSBTVFJJTkcyIgpAQCAtNTcyNCw3ICs1ODc2LDcgQEAKIAogI34gbXNnaWQgIiAgICBFWFBSMSAtYSBFWFBSMiBUcnVlIGlmIGJvdGggZXhwcjEgQU5EIGV4cHIyIGFyZSB0cnVlLiIKICN+IG1zZ3N0ciAiIgotI34gIiAgICBFWFBSMSAtYSBFWFBSMiBXYWhyLCB3ZW5uIGRpZSBBdXNkcvxja2UgRVhQUjEgdW5kIEVYUFIyIGB3YWhyJyAiCisjfiAiICAgIEVYUFIxIC1hIEVYUFIyIFdhaHIsIHdlbm4gZGllIEF1c2Ryw7xja2UgRVhQUjEgdW5kIEVYUFIyIGB3YWhyJyAiCiAjfiAibGllZmVybi4iCiAKICN+IG1zZ2lkICIgICAgRVhQUjEgLW8gRVhQUjIgVHJ1ZSBpZiBlaXRoZXIgZXhwcjEgT1IgZXhwcjIgaXMgdHJ1ZS4iCkBAIC01NzQxLDEyICs1ODkzLDEyIEBACiAKICN+IG1zZ2lkICJBcml0aG1ldGljIGJpbmFyeSBvcGVyYXRvcnMgcmV0dXJuIHRydWUgaWYgQVJHMSBpcyBlcXVhbCwgbm90LWVxdWFsLCIKICN+IG1zZ3N0ciAiIgotI34gIkRpZXNlIGJpbuRyZW4gYXJpdGhtZXRpc2NoZW4gT3BlcmF0b3JlbiBsaWVmZXJuIFdhaHIsIHdlbm4gQVJHMSBnbGVpY2gsIgorI34gIkRpZXNlIGJpbsOkcmVuIGFyaXRobWV0aXNjaGVuIE9wZXJhdG9yZW4gbGllZmVybiBXYWhyLCB3ZW5uIEFSRzEgZ2xlaWNoLCIKIAogI34gbXNnaWQgIiIKICN+ICJsZXNzLXRoYW4sIGxlc3MtdGhhbi1vci1lcXVhbCwgZ3JlYXRlci10aGFuLCBvciBncmVhdGVyLXRoYW4tb3ItZXF1YWwiCiAjfiBtc2dzdHIgIiIKLSN+ICJ1bmdsZWljaCwga2xlaW5lciBhbHMsIGtsZWluZXIgZ2xlaWNoLCBncvbfZXIgYWxzIG9kZXIgZ3L232VyIGdsZWljaCIKKyN+ICJ1bmdsZWljaCwga2xlaW5lciBhbHMsIGtsZWluZXIgZ2xlaWNoLCBncsO2w59lciBhbHMgb2RlciBncsO2w59lciBnbGVpY2giCiAKICN+IG1zZ2lkICJ0aGFuIEFSRzIuIgogI34gbXNnc3RyICJBUkcyIGlzdC4iCkBAIC01NzU0LDE2ICs1OTA2LDE2IEBACiAjIFsKICN+IG1zZ2lkICJUaGlzIGlzIGEgc3lub255bSBmb3IgdGhlIFwidGVzdFwiIGJ1aWx0aW4sIGJ1dCB0aGUgbGFzdCIKICN+IG1zZ3N0ciAiIgotI34gIkRpZXMgaXN0IGVpbiBTeW5vbnltIGb8ciBkaWUgU2hlbGxmdW5rdGlvbiB0ZXN0LiAgRGFzIGxldHp0ZSBBcmd1bWVudCBtdd8gIgorI34gIkRpZXMgaXN0IGVpbiBTeW5vbnltIGbDvHIgZGllIFNoZWxsZnVua3Rpb24gdGVzdC4gIERhcyBsZXR6dGUgQXJndW1lbnQgbXXDnyAiCiAjfiAiZWluIgogCiAjfiBtc2dpZCAiYXJndW1lbnQgbXVzdCBiZSBhIGxpdGVyYWwgYF0nLCB0byBtYXRjaCB0aGUgb3BlbmluZyBgWycuIgotI34gbXNnc3RyICJgXScgc2VpbiwgZGFzIG1pdCBkZW0g9mZmbmVuZGVuIGBbJyBrb3JyZXNwb25kaWVydC4iCisjfiBtc2dzdHIgImBdJyBzZWluLCBkYXMgbWl0IGRlbSDDtmZmbmVuZGVuIGBbJyBrb3JyZXNwb25kaWVydC4iCiAKICMgdGltZXMKICN+IG1zZ2lkICJQcmludCB0aGUgYWNjdW11bGF0ZWQgdXNlciBhbmQgc3lzdGVtIHRpbWVzIGZvciBwcm9jZXNzZXMgcnVuIGZyb20iCiAjfiBtc2dzdHIgIiIKLSN+ICJHaWJ0IGRpZSB2ZXJicmF1Y2h0ZSBCZW51dHplci0gdW5kIFN5c3RlbXplaXQgZvxyIGRpZSBTaGVsbCB1bmQgZGVyIHZvbiIKKyN+ICJHaWJ0IGRpZSB2ZXJicmF1Y2h0ZSBCZW51dHplci0gdW5kIFN5c3RlbXplaXQgZsO8ciBkaWUgU2hlbGwgdW5kIGRlciB2b24iCiAKICN+IG1zZ2lkICJ0aGUgc2hlbGwuIgogI34gbXNnc3RyICJpaHIgZ2VzdGFydGV0ZW4gUHJvemVzc2UgYXVzLiIKQEAgLTU3NzEsMTMgKzU5MjMsMTMgQEAKICMgdHJhcAogI34gbXNnaWQgIlRoZSBjb21tYW5kIEFSRyBpcyB0byBiZSByZWFkIGFuZCBleGVjdXRlZCB3aGVuIHRoZSBzaGVsbCByZWNlaXZlcyIKICN+IG1zZ3N0ciAiIgotI34gIkRpZSBTaGVsbCBm5G5ndCBkaWUgaW4gU0lHX1NQRUMgYW5nZWdlYmVuZW4gU2lnbmFsZSBhYiBm/GhydCBkYXMgS29tbWFuZG8gIgorI34gIkRpZSBTaGVsbCBmw6RuZ3QgZGllIGluIFNJR19TUEVDIGFuZ2VnZWJlbmVuIFNpZ25hbGUgYWIgZsO8aHJ0IGRhcyBLb21tYW5kbyAiCiAjfiAiQVJHIgogCiAjfiBtc2dpZCAic2lnbmFsKHMpIFNJR05BTF9TUEVDLiAgSWYgQVJHIGlzIGFic2VudCBhbGwgc3BlY2lmaWVkIHNpZ25hbHMgYXJlIgogI34gbXNnc3RyICIiCiAjfiAiYXVzLiAgV2VubiBrZWluIEFSRyBhbmdlZ2ViZW4gaXN0LCB3ZXJkZW4gYWxsZSBiZXplaWNobmV0ZW4gU2lnbmFsZSAiCi0jfiAienVy/GNrLSIKKyN+ICJ6dXLDvGNrLSIKIAogI34gbXNnaWQgInJlc2V0IHRvIHRoZWlyIG9yaWdpbmFsIHZhbHVlcy4gIElmIEFSRyBpcyB0aGUgbnVsbCBzdHJpbmcgZWFjaCIKICN+IG1zZ3N0ciAiIgpAQCAtNTc5NSwyMSArNTk0NywyMSBAQAogCiAjfiBtc2dpZCAidGhlIHNoZWxsLiAgSWYgU0lHTkFMX1NQRUMgaXMgREVCVUcsIEFSRyBpcyBleGVjdXRlZCBhZnRlciBldmVyeSIKICN+IG1zZ3N0ciAiIgotI34gImb8aHJ0LiAgRHVyY2ggQWJmYW5nZW4gZGVzIFNpZ25hbHMgREVCVUcsIHdpcmQgQVJHIG5hY2ggamVkZW0gS29tbWFuZG8iCisjfiAiZsO8aHJ0LiAgRHVyY2ggQWJmYW5nZW4gZGVzIFNpZ25hbHMgREVCVUcsIHdpcmQgQVJHIG5hY2ggamVkZW0gS29tbWFuZG8iCiAKICN+IG1zZ2lkICJjb21tYW5kLiAgSWYgQVJHIGlzIGAtcCcgdGhlbiB0aGUgdHJhcCBjb21tYW5kcyBhc3NvY2lhdGVkIHdpdGgiCiAjfiBtc2dzdHIgIiIKLSN+ICJhdWZnZXJ1ZmVuLiAgTWl0IGAtcCcgd2VyZGVuIEtvbW1hbmRvcyBhbmdlemVpZ3QsIGRpZSBm/HIgamVkZXMgIgorI34gImF1ZmdlcnVmZW4uICBNaXQgYC1wJyB3ZXJkZW4gS29tbWFuZG9zIGFuZ2V6ZWlndCwgZGllIGbDvHIgamVkZXMgIgogI34gImFiZ2VmYW5nZW5lIgogCiAjfiBtc2dpZCAiZWFjaCBTSUdOQUxfU1BFQyBhcmUgZGlzcGxheWVkLiAgSWYgbm8gYXJndW1lbnRzIGFyZSBzdXBwbGllZCBvciBpZiIKICN+IG1zZ3N0ciAiIgotI34gIlNpZ25hbCBhdXNnZWb8aHJ0IHdlcmRlbi4gIFdlbm4ga2VpbmUgQXJndW1lbnRlIGFuZ2VnZWJlbiBzaW5kLCBvZGVyIHdlbm4gIgorI34gIlNpZ25hbCBhdXNnZWbDvGhydCB3ZXJkZW4uICBXZW5uIGtlaW5lIEFyZ3VtZW50ZSBhbmdlZ2ViZW4gc2luZCwgb2RlciB3ZW5uICIKICN+ICJkYXMiCiAKICN+IG1zZ2lkICJvbmx5IGAtcCcgaXMgZ2l2ZW4sIHRyYXAgcHJpbnRzIHRoZSBsaXN0IG9mIGNvbW1hbmRzIGFzc29jaWF0ZWQgd2l0aCIKICN+IG1zZ3N0ciAiIgotI34gIkFyZ3VtZW50IGAtcCcgYW5nZWdlYmVuIGlzdCwgd2lyZCBlaW5lICBMaXN0ZSBkZXIgS29tbWFuZG9zIGb8ciBqZWRlcyAiCisjfiAiQXJndW1lbnQgYC1wJyBhbmdlZ2ViZW4gaXN0LCB3aXJkIGVpbmUgIExpc3RlIGRlciBLb21tYW5kb3MgZsO8ciBqZWRlcyAiCiAjfiAiYWJnZWZhbi0iCiAKICN+IG1zZ2lkICIiCkBAIC01ODM1LDExICs1OTg3LDExIEBACiAjIHR5cGUKICN+IG1zZ2lkICJGb3IgZWFjaCBOQU1FLCBpbmRpY2F0ZSBob3cgaXQgd291bGQgYmUgaW50ZXJwcmV0ZWQgaWYgdXNlZCBhcyBhIgogI34gbXNnc3RyICIiCi0jfiAiR2lidCBhdXMsIHdpZSBkZXIgYW5nZWdlYmVuZSBOQU1FIGludGVycHJldGllcnQgd/xyZGUsIHdlbm4gZXIgaW4gZGVyIgorI34gIkdpYnQgYXVzLCB3aWUgZGVyIGFuZ2VnZWJlbmUgTkFNRSBpbnRlcnByZXRpZXJ0IHfDvHJkZSwgd2VubiBlciBpbiBkZXIiCiAKICN+IG1zZ2lkICJJZiB0aGUgLXQgb3B0aW9uIGlzIHVzZWQsIHJldHVybnMgYSBzaW5nbGUgd29yZCB3aGljaCBpcyBvbmUgb2YiCiAjfiBtc2dzdHIgIiIKLSN+ICJEaWUgT3B0aW9uIC10IGJld2lya3QsIGRh3yBlaW5zIGRlciBXb3J0ZTogYGFsaWFzJywgYGtleXdvcmQnLCBgZnVuY3Rpb24nLCIKKyN+ICJEaWUgT3B0aW9uIC10IGJld2lya3QsIGRhw58gZWlucyBkZXIgV29ydGU6IGBhbGlhcycsIGBrZXl3b3JkJywgYGZ1bmN0aW9uJywiCiAKICN+IG1zZ2lkICIiCiAjfiAiYGFsaWFzJywgYGtleXdvcmQnLCBgZnVuY3Rpb24nLCBgYnVpbHRpbicsIGBmaWxlJyBvciBgJywgaWYgTkFNRSBpcyBhbiIKQEAgLTU4NjYsMTIgKzYwMTgsMTIgQEAKIAogI34gbXNnaWQgIklmIHRoZSAtYSBmbGFnIGlzIHVzZWQsIGRpc3BsYXlzIGFsbCBvZiB0aGUgcGxhY2VzIHRoYXQgY29udGFpbiBhbiIKICN+IG1zZ3N0ciAiIgotI34gIk1pdCBkZW0gLWEgU2NoYWx0ZXIgd2VyZGVuIGFsbGUgYXVzZvxocmJhcmVuIERhdGVpZW4gbWl0IGRlbSBOYW1lbiBgZmlsZSciCisjfiAiTWl0IGRlbSAtYSBTY2hhbHRlciB3ZXJkZW4gYWxsZSBhdXNmw7xocmJhcmVuIERhdGVpZW4gbWl0IGRlbSBOYW1lbiBgZmlsZSciCiAKICN+IG1zZ2lkICIiCiAjfiAiZXhlY3V0YWJsZSBuYW1lZCBgZmlsZScuICBUaGlzIGluY2x1ZGVzIGFsaWFzZXMgYW5kIGZ1bmN0aW9ucywgaWYgYW5kIgogI34gbXNnc3RyICIiCi0jfiAiYW5nZXplaWd0LiAgRGllc2VzIHNjaGxpZd90IEFsaWFzZSB1bmQgRnVua3Rpb25lbiBlaW4sIGFiZXIgbnVyIGRhbm4iCisjfiAiYW5nZXplaWd0LiAgRGllc2VzIHNjaGxpZcOfdCBBbGlhc2UgdW5kIEZ1bmt0aW9uZW4gZWluLCBhYmVyIG51ciBkYW5uIgogCiAjfiBtc2dpZCAib25seSBpZiB0aGUgLXAgZmxhZyBpcyBub3QgYWxzbyB1c2VkLiIKICN+IG1zZ3N0ciAid2VubiBuaWNodCBnbGVpY2h6ZWl0aWcgZGVyIC1wIFNjaGFsdGVyIGdlc2V0enQgaXN0LiIKQEAgLTU4OTEsNyArNjA0Myw3IEBACiAKICN+IG1zZ2lkICJzdGFydGVkIGJ5IHRoZSBzaGVsbCwgb24gc3lzdGVtcyB0aGF0IGFsbG93IHN1Y2ggY29udHJvbC4gIElmIGFuIgogI34gbXNnc3RyICIiCi0jfiAienVyIFZlcmb8Z3VuZyBzdGVoZW4sIHdlbm4gZGFzIFN5c3RlbSBSZXNzb3VyY2Vuc3RldWVydW5nIHVudGVyc3T8dHp0LiAgIgorI34gInp1ciBWZXJmw7xndW5nIHN0ZWhlbiwgd2VubiBkYXMgU3lzdGVtIFJlc3NvdXJjZW5zdGV1ZXJ1bmcgdW50ZXJzdMO8dHp0LiAgIgogI34gIldlbm4iCiAKICN+IG1zZ2lkICJvcHRpb24gaXMgZ2l2ZW4sIGl0IGlzIGludGVycHJldGVkIGFzIGZvbGxvd3M6IgpAQCAtNTkwNCw0MSArNjA1Niw0MSBAQAogI34gbXNnc3RyICIgICAgLUhcdE51dHplIGRpZSBgaGFydGUgKGhhcmQpJyBSZXNzb3VyY2VuZWluc3RlbGx1bmcuIgogCiAjfiBtc2dpZCAiICAgIC1hXHRhbGwgY3VycmVudCBsaW1pdHMgYXJlIHJlcG9ydGVkIgotI34gbXNnc3RyICIgICAgLWFcdERpZSBnZWdlbnfkcnRpZ2UgUmVzc291cmNlbmVpbnN0ZWxsdW5nIHdpcmQgYXVzZ2VnZWJlbi4iCisjfiBtc2dzdHIgIiAgICAtYVx0RGllIGdlZ2Vud8OkcnRpZ2UgUmVzc291cmNlbmVpbnN0ZWxsdW5nIHdpcmQgYXVzZ2VnZWJlbi4iCiAKICN+IG1zZ2lkICIgICAgLWNcdHRoZSBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkIgotI34gbXNnc3RyICIgICAgLWNcdERpZSBtYXhpbWFsZSBHcvbfZSBkZXIgZXJ6ZXVndGVuIGNvcmUtRGF0ZWllbi4iCisjfiBtc2dzdHIgIiAgICAtY1x0RGllIG1heGltYWxlIEdyw7bDn2UgZGVyIGVyemV1Z3RlbiBjb3JlLURhdGVpZW4uIgogCi0jIGb8ciBlaW4gUHJvemXfIG9kZXIgZvxyIGFsbGU/CisjIGbDvHIgZWluIFByb3plw58gb2RlciBmw7xyIGFsbGU/CiAjfiBtc2dpZCAiICAgIC1kXHR0aGUgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudCIKLSN+IG1zZ3N0ciAiICAgIC1kXHREaWUgbWF4aW1hbGUgR3L232UgZGVzIERhdGVuc2VnbWVudGVzIGVpbmVzIFByb3plc3Nlcy4iCisjfiBtc2dzdHIgIiAgICAtZFx0RGllIG1heGltYWxlIEdyw7bDn2UgZGVzIERhdGVuc2VnbWVudGVzIGVpbmVzIFByb3plc3Nlcy4iCiAKICN+IG1zZ2lkICIgICAgLW1cdHRoZSBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplIgogI34gbXNnc3RyICIiCi0jfiAiICAgIC1tXHRNYXhpbWFsZSBHcvbfZSBkZXMgbmljaHQgYXVzenVsYWdlbmRlbiAocmVzaWRlbnRlbikgIgotI34gIlByb3pl33NwZWljaGVycy4iCisjfiAiICAgIC1tXHRNYXhpbWFsZSBHcsO2w59lIGRlcyBuaWNodCBhdXN6dWxhZ2VuZGVuIChyZXNpZGVudGVuKSAiCisjfiAiUHJvemXDn3NwZWljaGVycy4iCiAKICN+IG1zZ2lkICIgICAgLXNcdHRoZSBtYXhpbXVtIHN0YWNrIHNpemUiCi0jfiBtc2dzdHIgIiAgICAtc1x0RGllIG1heGltYWxlIEdy9t9lIGRlcyBTdGFwZWxzcGVpY2hlcnMuIgorI34gbXNnc3RyICIgICAgLXNcdERpZSBtYXhpbWFsZSBHcsO2w59lIGRlcyBTdGFwZWxzcGVpY2hlcnMuIgogCiAjfiBtc2dpZCAiICAgIC10XHR0aGUgbWF4aW11bSBhbW91bnQgb2YgY3B1IHRpbWUgaW4gc2Vjb25kcyIKLSN+IG1zZ3N0ciAiICAgIC10XHREaWUgbWF4aW1hbCB2ZXJm/GdiYXJlIENQVS1aZWl0IChpbiBTZWt1bmRlbikuIgorI34gbXNnc3RyICIgICAgLXRcdERpZSBtYXhpbWFsIHZlcmbDvGdiYXJlIENQVS1aZWl0IChpbiBTZWt1bmRlbikuIgogCiAjfiBtc2dpZCAiICAgIC1mXHR0aGUgbWF4aW11bSBzaXplIG9mIGZpbGVzIGNyZWF0ZWQgYnkgdGhlIHNoZWxsIgogI34gbXNnc3RyICIiCi0jfiAiICAgIC1mXHREaWUgbWF4aW1hbCBlcmxhdWJ0ZSBHcvbfZSBm/HIgdm9uIGRlciBTaGVsbCBlcnpldWd0ZSBEYXRlaWVuLiIKKyN+ICIgICAgLWZcdERpZSBtYXhpbWFsIGVybGF1YnRlIEdyw7bDn2UgZsO8ciB2b24gZGVyIFNoZWxsIGVyemV1Z3RlIERhdGVpZW4uIgogCiAjfiBtc2dpZCAiICAgIC1wXHR0aGUgcGlwZSBidWZmZXIgc2l6ZSIKLSN+IG1zZ3N0ciAiICAgIC1wXHREaWUgR3L232UgZGVzIFBpcGVsaW5lLVB1ZmZlcnMuIgorI34gbXNnc3RyICIgICAgLXBcdERpZSBHcsO2w59lIGRlcyBQaXBlbGluZS1QdWZmZXJzLiIKIAogI34gbXNnaWQgIiAgICAtblx0dGhlIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZSBkZXNjcmlwdG9ycyIKLSN+IG1zZ3N0ciAiICAgIC1uXHREaWUgbWF4aW1hbGUgQW56YWhsIGdsZWljaHplaXRpZyBnZfZmZm5ldGVyIERhdGVpZW4uIgorI34gbXNnc3RyICIgICAgLW5cdERpZSBtYXhpbWFsZSBBbnphaGwgZ2xlaWNoemVpdGlnIGdlw7ZmZm5ldGVyIERhdGVpZW4uIgogCiAjfiBtc2dpZCAiICAgIC11XHR0aGUgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXMiCiAjfiBtc2dzdHIgIiAgICAtdVx0RGllIG1heGltYWxlIEFuemFobCB2b24gUHJvemVzc2VuIGRlcyBCZW51dHplcnMuIgogCiAjfiBtc2dpZCAiICAgIC12XHR0aGUgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeSIKLSN+IG1zZ3N0ciAiICAgIC12XHREaWUgR3L232UgZGVzIHZpcnR1ZWxsZW4gQXJiZWl0c3NwZWljaGVycy4iCisjfiBtc2dzdHIgIiAgICAtdlx0RGllIEdyw7bDn2UgZGVzIHZpcnR1ZWxsZW4gQXJiZWl0c3NwZWljaGVycy4iCiAKICN+IG1zZ2lkICJJZiBMSU1JVCBpcyBnaXZlbiwgaXQgaXMgdGhlIG5ldyB2YWx1ZSBvZiB0aGUgc3BlY2lmaWVkIHJlc291cmNlLiIKICN+IG1zZ3N0ciAiIgpAQCAtNTk0NiwxOSArNjA5OCwxOSBAQAogCiAjfiBtc2dpZCAiT3RoZXJ3aXNlLCB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgc3BlY2lmaWVkIHJlc291cmNlIGlzIHByaW50ZWQuIgogI34gbXNnc3RyICIiCi0jfiAiU29uc3Qgd2lyZCBkZXIgZ2VnZW535HJ0aWcgZWluZ2VzdGVsbHRlIFdlcnQgYXVzZ2VnZWJlbi4gIFdlbm4ga2VpbmUgIgorI34gIlNvbnN0IHdpcmQgZGVyIGdlZ2Vud8OkcnRpZyBlaW5nZXN0ZWxsdGUgV2VydCBhdXNnZWdlYmVuLiAgV2VubiBrZWluZSAiCiAjfiAiT3B0aW9uIgogCiAjfiBtc2dpZCAiSWYgbm8gb3B0aW9uIGlzIGdpdmVuLCB0aGVuIC1mIGlzIGFzc3VtZWQuICBWYWx1ZXMgYXJlIGluIDFrIgogI34gbXNnc3RyICIiCi0jfiAiYW5nZWdlYmVuIGlzdCB3aXJkIC1mIHZlcndlbmRldC4gIERpZSBFaW5oZWl0IGlzdCAxayBhdd9lciBm/HIgLXQsIGRlcmVuIgorI34gImFuZ2VnZWJlbiBpc3Qgd2lyZCAtZiB2ZXJ3ZW5kZXQuICBEaWUgRWluaGVpdCBpc3QgMWsgYXXDn2VyIGbDvHIgLXQsIGRlcmVuIgogCiAjfiBtc2dpZCAiaW5jcmVtZW50cywgZXhjZXB0IGZvciAtdCwgd2hpY2ggaXMgaW4gc2Vjb25kcywgLXAsIHdoaWNoIGlzIGluIgogI34gbXNnc3RyICIiCiAjfiAiV2VydCBpbiBTZWt1bmRlbiBhbmdlZ2ViZW4gd2lyZCwgIC1wLCBkZXNzZW4gRWluaGVpdCA1MTIgYnl0ZXMgaXN0IHVuZCAtdSwiCiAKICN+IG1zZ2lkICJpbmNyZW1lbnRzIG9mIDUxMiBieXRlcywgYW5kIC11LCB3aGljaCBpcyBhbiB1bnNjYWxlZCBudW1iZXIgb2YiCi0jfiBtc2dzdHIgImb8ciBkYXMgZGllIEFuemFobCBkZXIgUHJvemVzc2UgdmVyd2VuZGV0IgorI34gbXNnc3RyICJmw7xyIGRhcyBkaWUgQW56YWhsIGRlciBQcm96ZXNzZSB2ZXJ3ZW5kZXQiCiAKICN+IG1zZ2lkICJwcm9jZXNzZXMuIgogI34gbXNnc3RyICJ3aXJkLiIKQEAgLTU5NzcsNyArNjEyOSw3IEBACiAjfiBtc2dpZCAiIgogI34gIm9wdGlvbiBtYWtlcyB0aGUgb3V0cHV0IHN5bWJvbGljOyBvdGhlcndpc2UgYW4gb2N0YWwgbnVtYmVyIGlzIG91dHB1dC4iCiAjfiBtc2dzdHIgIiIKLSN+ICJEaWUgYC1TJyBPcHRpb24gYmV3aXJrdCwgZGHfIGRpZSBzeW1ib2xpc2NoZSBFbnRzcHJlY2h1bmcgYXVzZ2VnZWJlbiAiCisjfiAiRGllIGAtUycgT3B0aW9uIGJld2lya3QsIGRhw58gZGllIHN5bWJvbGlzY2hlIEVudHNwcmVjaHVuZyBhdXNnZWdlYmVuICIKICN+ICJ3aXJkLiAiCiAKICN+IG1zZ2lkICJJZiBNT0RFIGJlZ2lucyB3aXRoIGEgZGlnaXQsIGl0IGlzIGludGVycHJldGVkIGFzIGFuIG9jdGFsIG51bWJlciwiCkBAIC01OTk1LDE4ICs2MTQ3LDE4IEBACiAjfiAiV2FpdCBmb3IgdGhlIHNwZWNpZmllZCBwcm9jZXNzIGFuZCByZXBvcnQgaXRzIHRlcm1pbmF0aW9uIHN0YXR1cy4gIElmIgogI34gbXNnc3RyICIiCiAjfiAiV2FydGV0IGF1ZiBkYXMgQmVlbmRlbiBkZXIgYW5nZWdlYmVuZW4gUHJvemVzc2UgdW5kIGdpYnQgZGVyZW4gIgotI34gIlL8Y2tnYWJld2VydCIKKyN+ICJSw7xja2dhYmV3ZXJ0IgogCiAjfiBtc2dpZCAiTiBpcyBub3QgZ2l2ZW4sIGFsbCBjdXJyZW50bHkgYWN0aXZlIGNoaWxkIHByb2Nlc3NlcyBhcmUgd2FpdGVkIGZvciwiCiAjfiBtc2dzdHIgImF1cy4gIFdlbm4ga2VpbmUgUHJvemVzc2UgYW5nZWdlYmVuIHNpbmQsIHdpcmQgYXVmIGFsbGUgYWt0aXZlbiIKIAogI34gbXNnaWQgImFuZCB0aGUgcmV0dXJuIGNvZGUgaXMgemVyby4gIE4gbWF5IGJlIGEgcHJvY2VzcyBJRCBvciBhIGpvYiIKICN+IG1zZ3N0ciAiIgotI34gIkhpbnRlcmdydW5kcHJvemVzc2UgZ2V3YXJ0ZXQgdW5kIE51bGwgenVy/GNrZ2VnZWJlbi4gIEFuIHdhaXQga/ZubmVuIgorI34gIkhpbnRlcmdydW5kcHJvemVzc2UgZ2V3YXJ0ZXQgdW5kIE51bGwgenVyw7xja2dlZ2ViZW4uICBBbiB3YWl0IGvDtm5uZW4iCiAKICN+IG1zZ2lkICJzcGVjaWZpY2F0aW9uOyBpZiBhIGpvYiBzcGVjIGlzIGdpdmVuLCBhbGwgcHJvY2Vzc2VzIGluIHRoZSBqb2IncyIKICN+IG1zZ3N0ciAiIgotI34gIlByb3pl3251bW1lcm4gdW5kIEpvYmJlemVpY2hudW5nZW4g/GJlcmdlYmVuIHdlcmRlbi4gIFdlbm4gIgorI34gIlByb3plw59udW1tZXJuIHVuZCBKb2JiZXplaWNobnVuZ2VuIMO8YmVyZ2ViZW4gd2VyZGVuLiAgV2VubiAiCiAjfiAiSm9iYmV6ZWljaG51bmdlbiIKIAogI34gbXNnaWQgInBpcGVsaW5lIGFyZSB3YWl0ZWQgZm9yLiIKQEAgLTYwMTUsNyArNjE2Nyw3IEBACiAjfiAidW5kIgogCiAjfiBtc2dpZCAiYW5kIHRoZSByZXR1cm4gY29kZSBpcyB6ZXJvLiAgTiBpcyBhIHByb2Nlc3MgSUQ7IGlmIGl0IGlzIG5vdCBnaXZlbiwiCi0jfiBtc2dzdHIgIk51bGwgenVy/GNrZ2VnZWJlbi4iCisjfiBtc2dzdHIgIk51bGwgenVyw7xja2dlZ2ViZW4uIgogCiAjfiBtc2dpZCAiYWxsIGNoaWxkIHByb2Nlc3NlcyBvZiB0aGUgc2hlbGwgYXJlIHdhaXRlZCBmb3IuIgogI34gbXNnc3RyICIgIgpAQCAtNjAyMyw3ICs2MTc1LDcgQEAKICMgZm9yCiAjfiBtc2dpZCAiVGhlIGBmb3InIGxvb3AgZXhlY3V0ZXMgYSBzZXF1ZW5jZSBvZiBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSIKICN+IG1zZ3N0ciAiIgotI34gImBmb3InIGb8aHJ0IGVpbmUgUmVpaGUgdm9uIEtvbW1hbmRvcyBm/HIgamVkZW4gRWludHJhZyBlaW5lciBMaXN0ZSBhdXMuIgorI34gImBmb3InIGbDvGhydCBlaW5lIFJlaWhlIHZvbiBLb21tYW5kb3MgZsO8ciBqZWRlbiBFaW50cmFnIGVpbmVyIExpc3RlIGF1cy4iCiAKICN+IG1zZ2lkICIiCiAjfiAibGlzdCBvZiBpdGVtcy4gIElmIGBpbiBXT1JEUyAuLi47JyBpcyBub3QgcHJlc2VudCwgdGhlbiBgaW4gXCIkQFwiJyBpcyIKQEAgLTYwMzQsNyArNjE4Niw3IEBACiAjfiBtc2dzdHIgIk5BTUUgd2lyZCBuYWNoZWluYW5kZXIgZWluIEVsZW1lbnQgYXVzIFdPUlRMSVNURSB6dWdld2llc2VuIgogCiAjfiBtc2dpZCAidGhlIENPTU1BTkRTIGFyZSBleGVjdXRlZC4iCi0jfiBtc2dzdHIgInVuZCBkaWUgS09NTUFORE9TIGF1c2dlZvxocnQuIgorI34gbXNnc3RyICJ1bmQgZGllIEtPTU1BTkRPUyBhdXNnZWbDvGhydC4iCiAKICMgc2VsZWN0CiAjfiBtc2dpZCAiVGhlIFdPUkRTIGFyZSBleHBhbmRlZCwgZ2VuZXJhdGluZyBhIGxpc3Qgb2Ygd29yZHMuICBUaGUiCkBAIC02MDU1LDcgKzYyMDcsNyBAQAogCiAjfiBtc2dpZCAiZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQuICBJZiB0aGUgbGluZSBjb25zaXN0cyBvZiB0aGUgbnVtYmVyIgogI34gbXNnc3RyICIiCi0jfiAiV2VubiBkaWUgZ2VsZXNlbmUgWmVpbGUgZWluZSBaZWlsZW5udW1tZXIgZGVyIGFuZ2V6ZWlndGVuIExpc3RlIGVuaORsdCwgIgorI34gIldlbm4gZGllIGdlbGVzZW5lIFplaWxlIGVpbmUgWmVpbGVubnVtbWVyIGRlciBhbmdlemVpZ3RlbiBMaXN0ZSBlbmjDpGx0LCAiCiAjfiAiZGFubiIKIAogI34gbXNnaWQgImNvcnJlc3BvbmRpbmcgdG8gb25lIG9mIHRoZSBkaXNwbGF5ZWQgd29yZHMsIHRoZW4gTkFNRSBpcyBzZXQiCkBAIC02MDczLDcgKzYyMjUsNyBAQAogCiAjfiBtc2dpZCAidmFsdWUgcmVhZCBjYXVzZXMgTkFNRSB0byBiZSBzZXQgdG8gbnVsbC4gIFRoZSBsaW5lIHJlYWQgaXMgc2F2ZWQiCiAjfiBtc2dzdHIgIiIKLSN+ICJaZWljaGVua2V0dGUgYmV3aXJrdCwgZGHfIE5BTUUgYXVmIE51bGwgZ2VzZXR6dCB3aXJkLiAgRGllIGdlbGVzZW5lIFplaWxlICIKKyN+ICJaZWljaGVua2V0dGUgYmV3aXJrdCwgZGHDnyBOQU1FIGF1ZiBOdWxsIGdlc2V0enQgd2lyZC4gIERpZSBnZWxlc2VuZSBaZWlsZSAiCiAjfiAid2lyZCIKIAogI34gbXNnaWQgImluIHRoZSB2YXJpYWJsZSBSRVBMWS4gIENPTU1BTkRTIGFyZSBleGVjdXRlZCBhZnRlciBlYWNoIHNlbGVjdGlvbiIKQEAgLTYwODYsNyArNjIzOCw3IEBACiAKICMgY2FzZQogI34gbXNnaWQgIlNlbGVjdGl2ZWx5IGV4ZWN1dGUgQ09NTUFORFMgYmFzZWQgdXBvbiBXT1JEIG1hdGNoaW5nIFBBVFRFUk4uICBUaGUiCi0jfiBtc2dzdHIgIkb8aHJ0IEtPTU1BTkRPUyBhYmjkbmdpZyB2b24gZWluZW0gV09SVCBhdXMsIGRhcyBNVVNURVIgZW50c3ByaWNodC4iCisjfiBtc2dzdHIgIkbDvGhydCBLT01NQU5ET1MgYWJow6RuZ2lnIHZvbiBlaW5lbSBXT1JUIGF1cywgZGFzIE1VU1RFUiBlbnRzcHJpY2h0LiIKIAogI34gbXNnaWQgImB8JyBpcyB1c2VkIHRvIHNlcGFyYXRlIG11bHRpcGxlIHBhdHRlcm5zLiIKICN+IG1zZ3N0ciAiRGFzIFplaWNoZW4gYHwnIHRyZW5udCBtZWhyZXJlIE11c3Rlci4iCkBAIC02MDk1LDI4ICs2MjQ3LDI4IEBACiAjfiBtc2dpZCAiIgogI34gIlRoZSBpZiBDT01NQU5EUyBhcmUgZXhlY3V0ZWQuICBJZiB0aGUgZXhpdCBzdGF0dXMgaXMgemVybywgdGhlbiB0aGUgdGhlbiIKICN+IG1zZ3N0ciAiIgotI34gIkRpZSBLT01NQU5ET1Mgd2VyZGVuIGF1c2dld2VydGV0LiBJc3QgZGVyIFL8Y2tnYWJld2VydCBOdWxsLCBkYW5uIHdlcmRlbiAiCisjfiAiRGllIEtPTU1BTkRPUyB3ZXJkZW4gYXVzZ2V3ZXJ0ZXQuIElzdCBkZXIgUsO8Y2tnYWJld2VydCBOdWxsLCBkYW5uIHdlcmRlbiAiCiAjfiAiZGllIgogCiAjfiBtc2dpZCAiIgogI34gIkNPTU1BTkRTIGFyZSBleGVjdXRlZC4gIE90aGVyd2lzZSwgZWFjaCBvZiB0aGUgZWxpZiBDT01NQU5EUyBhcmUgZXhlY3V0ZWQiCiAjfiBtc2dzdHIgIiIKLSN+ICJ0aGVuIEtPTU1BTkRPUyBhdXNnZWb8aHJ0LiBBbnNvbnN0ZW4gd2VyZGVuIGRpZSBlbGlmIEtPTU1BTkRPUyBkZXIgUmVpaGUgIgorI34gInRoZW4gS09NTUFORE9TIGF1c2dlZsO8aHJ0LiBBbnNvbnN0ZW4gd2VyZGVuIGRpZSBlbGlmIEtPTU1BTkRPUyBkZXIgUmVpaGUgIgogI34gIm5hY2giCiAKICN+IG1zZ2lkICIiCiAjfiAiaW4gdHVybiwgYW5kIGlmIHRoZSBleGl0IHN0YXR1cyBpcyB6ZXJvLCB0aGUgY29ycmVzcG9uZGluZyB0aGVuIENPTU1BTkRTIgogI34gbXNnc3RyICIiCi0jfiAiYXVzZ2V3ZXJ0ZXQgdW5kIGJlaSBlaW5lbSBS/GNrZ2FiZXdlcnQgTnVsbCBkaWUgZGF6dWdlaPZyaWdlbiBLT01NQU5ET1MiCisjfiAiYXVzZ2V3ZXJ0ZXQgdW5kIGJlaSBlaW5lbSBSw7xja2dhYmV3ZXJ0IE51bGwgZGllIGRhenVnZWjDtnJpZ2VuIEtPTU1BTkRPUyIKIAogI34gbXNnaWQgIiIKICN+ICJhcmUgZXhlY3V0ZWQgYW5kIHRoZSBpZiBjb21tYW5kIGNvbXBsZXRlcy4gIE90aGVyd2lzZSwgdGhlIGVsc2UgQ09NTUFORFMiCi0jfiBtc2dzdHIgImF1c2dlZvxocnQgdW5kIGlmIGJlZW5kZXQuIFNvbnN0IHdpcmQsIHdlbm4gZWluIGVsc2UgS29tbWFuZG96d2VpZyIKKyN+IG1zZ3N0ciAiYXVzZ2Vmw7xocnQgdW5kIGlmIGJlZW5kZXQuIFNvbnN0IHdpcmQsIHdlbm4gZWluIGVsc2UgS29tbWFuZG96d2VpZyIKIAogI34gbXNnaWQgIiIKICN+ICJhcmUgZXhlY3V0ZWQsIGlmIHByZXNlbnQuICBUaGUgZXhpdCBzdGF0dXMgaXMgdGhlIGV4aXQgc3RhdHVzIG9mIHRoZSBsYXN0IgogI34gbXNnc3RyICIiCi0jfiAiZXhpc3RpZXJ0LCBkaWVzZXIgYXVzZ2Vm/GhydC4gRGVyIEV4aXRzdGF0dXMgaXN0IGRlciBkZXMgbGV0enRlbiBLb21tYW5kb3MiCisjfiAiZXhpc3RpZXJ0LCBkaWVzZXIgYXVzZ2Vmw7xocnQuIERlciBFeGl0c3RhdHVzIGlzdCBkZXIgZGVzIGxldHp0ZW4gS29tbWFuZG9zIgogCiAjfiBtc2dpZCAiY29tbWFuZCBleGVjdXRlZCwgb3IgemVybyBpZiBubyBjb25kaXRpb24gdGVzdGVkIHRydWUuIgogI34gbXNnc3RyICJvZGVyIE51bGwsIHdlbm4ga2VpbmUgQmVkaW5ndW5nIHdhaHIgZXJnYWIuIgpAQCAtNjEyNCwzMCArNjI3NiwzMCBAQAogIyB3aGlsZQogI34gbXNnaWQgIkV4cGFuZCBhbmQgZXhlY3V0ZSBDT01NQU5EUyBhcyBsb25nIGFzIHRoZSBmaW5hbCBjb21tYW5kIGluIHRoZSIKICN+IG1zZ3N0ciAiIgotI34gIldpZWRlcmhvbHQgZGVuIFNjaGxlaWZlbmv2cnBlciBgZG8gS09NTUFORE9TIGRvbmUnIHNvIGxhbmdlIGRpZSBsZXR6dGUiCisjfiAiV2llZGVyaG9sdCBkZW4gU2NobGVpZmVua8O2cnBlciBgZG8gS09NTUFORE9TIGRvbmUnIHNvIGxhbmdlIGRpZSBsZXR6dGUiCiAKICN+IG1zZ2lkICJgd2hpbGUnIENPTU1BTkRTIGhhcyBhbiBleGl0IHN0YXR1cyBvZiB6ZXJvLiIKLSN+IG1zZ3N0ciAiS29tbWFuZG8gYHdoaWxlIEtPTU1BTkRPUycgZWluZW4gUvxja2tlaHJzdGF0dXMgTnVsbCBsaWVmZXJ0LiIKKyN+IG1zZ3N0ciAiS29tbWFuZG8gYHdoaWxlIEtPTU1BTkRPUycgZWluZW4gUsO8Y2trZWhyc3RhdHVzIE51bGwgbGllZmVydC4iCiAKICMgdW50aWwKICN+IG1zZ2lkICJgdW50aWwnIENPTU1BTkRTIGhhcyBhbiBleGl0IHN0YXR1cyB3aGljaCBpcyBub3QgemVyby4iCiAjfiBtc2dzdHIgIiIKLSN+ICJLb21tYW5kbyBpbiBgdW50aWwgS09NTUFORE9TJyBlaW5lbiBS/GNra2VocnN0YXR1cyB1bmdsZWljaCBOdWxsIGxpZWZlcnQuIgorI34gIktvbW1hbmRvIGluIGB1bnRpbCBLT01NQU5ET1MnIGVpbmVuIFLDvGNra2VocnN0YXR1cyB1bmdsZWljaCBOdWxsIGxpZWZlcnQuIgogCiAjIGZ1bmN0aW9uCiAjfiBtc2dpZCAiQ3JlYXRlIGEgc2ltcGxlIGNvbW1hbmQgaW52b2tlZCBieSBOQU1FIHdoaWNoIHJ1bnMgQ09NTUFORFMuIgotI34gbXNnc3RyICJFcnpldWd0IGVpbmUgbmV1ZSBTaGVsbGZ1bmt0aW9uIE5BTUUsIGRpZSBLT01NQU5ET1MgYXVzZvxocnQuICIKKyN+IG1zZ3N0ciAiRXJ6ZXVndCBlaW5lIG5ldWUgU2hlbGxmdW5rdGlvbiBOQU1FLCBkaWUgS09NTUFORE9TIGF1c2bDvGhydC4gIgogCiAjfiBtc2dpZCAiQXJndW1lbnRzIG9uIHRoZSBjb21tYW5kIGxpbmUgYWxvbmcgd2l0aCBOQU1FIGFyZSBwYXNzZWQgdG8gdGhlIgogI34gbXNnc3RyICJOQU1FIHVuZCBLb21tYW5kb3plaWxlbmFndW1lbnRlIHdlcmRlbiBhbiBkaWUgRnVua3Rpb24gYWxzICQwIC4uICRuIgogCiAjfiBtc2dpZCAiZnVuY3Rpb24gYXMgJDAgLi4gJG4uIgotI34gbXNnc3RyICL8YmVyZ2ViZW4uIgorI34gbXNnc3RyICLDvGJlcmdlYmVuLiIKIAogIyBncm91cGluZ19icmFjZXMKICN+IG1zZ2lkICJSdW4gYSBzZXQgb2YgY29tbWFuZHMgaW4gYSBncm91cC4gIFRoaXMgaXMgb25lIHdheSB0byByZWRpcmVjdCBhbiIKICN+IG1zZ3N0ciAiIgotI34gIkb8aHJ0IEtvbW1hbmRvcyBpbiBlaW5lciBHcnVwcGUgYXVzLiAgRGFzIGlzdCBlaW5lIE32Z2xpY2hrZWl0IGRpZSAiCisjfiAiRsO8aHJ0IEtvbW1hbmRvcyBpbiBlaW5lciBHcnVwcGUgYXVzLiAgRGFzIGlzdCBlaW5lIE3DtmdsaWNoa2VpdCBkaWUgIgogI34gIkF1c2dhYmUgdm9uIgogCiAjfiBtc2dpZCAiZW50aXJlIHNldCBvZiBjb21tYW5kcy4iCkBAIC02MTU2LDcgKzYzMDgsNyBAQAogIyBmZ19wZXJjZW50CiAjfiBtc2dpZCAiVGhpcyBpcyBzaW1pbGFyIHRvIHRoZSBgZmcnIGNvbW1hbmQuICBSZXN1bWUgYSBzdG9wcGVkIG9yIGJhY2tncm91bmQiCiAjfiBtc2dzdHIgIiIKLSN+ICJJc3Qg5GhubGljaCBkZW0gYGZnJyBLb21tYW5kby4gIE5pbW10IGVpbmVuIGFuZ2VoYWx0ZW5lbiBvZGVyIGhpbnRlcmdydW5kICIKKyN+ICJJc3Qgw6RobmxpY2ggZGVtIGBmZycgS29tbWFuZG8uICBOaW1tdCBlaW5lbiBhbmdlaGFsdGVuZW4gb2RlciBoaW50ZXJncnVuZCAiCiAjfiAiSm9iIgogCiAjfiBtc2dpZCAiam9iLiAgSWYgeW91IHNwZWNpZml5IERJR0lUUywgdGhlbiB0aGF0IGpvYiBpcyB1c2VkLiAgSWYgeW91IHNwZWNpZnkiCkBAIC02MTkwLDcgKzYzNDIsNyBAQAogCiAjfiBtc2dpZCAiIgogI34gIkhJU1RGSUxFICAgICAgICBUaGUgbmFtZSBvZiB0aGUgZmlsZSB3aGVyZSB5b3VyIGNvbW1hbmQgaGlzdG9yeSBpcyBzdG9yZWQuIgotI34gbXNnc3RyICJISVNURklMRSAgICAgICAgRGF0ZWksIGRpZSBkZW4gS29tbWFuZG96ZWlsZW5zcGVpY2hlciBlbnRo5Gx0LiAgIgorI34gbXNnc3RyICJISVNURklMRSAgICAgICAgRGF0ZWksIGRpZSBkZW4gS29tbWFuZG96ZWlsZW5zcGVpY2hlciBlbnRow6RsdC4gICIKIAogI34gbXNnaWQgIkhJU1RGSUxFU0laRSAgICBUaGUgbWF4aW11bSBudW1iZXIgb2YgbGluZXMgdGhpcyBmaWxlIGNhbiBjb250YWluLiIKICN+IG1zZ3N0ciAiIgpAQCAtNjIwMSw3ICs2MzUzLDcgQEAKICN+ICJISVNUU0laRSAgICAgICAgTWF4aW1hbGUgQW56YWhsIHZvbiBaZWlsZW4sIGF1ZiBkaWUgZGVyIEhpc3RvcnltZWNoYW5pc211cyIKIAogI34gbXNnaWQgIlx0XHRzaGVsbCBjYW4gYWNjZXNzLiIKLSN+IG1zZ3N0ciAiXHRcdGRlciBTaGVsbCB6dXL8Y2tncmVpZmVuIGthbm4uIgorI34gbXNnc3RyICJcdFx0ZGVyIFNoZWxsIHp1csO8Y2tncmVpZmVuIGthbm4uIgogCiAjfiBtc2dpZCAiSE9NRSAgICAgICAgICAgIFRoZSBjb21wbGV0ZSBwYXRobmFtZSB0byB5b3VyIGxvZ2luIGRpcmVjdG9yeS4iCiAjfiBtc2dzdHIgIkhPTUUgICAgICAgICAgICBIZWltYXR2ZXJ6ZWljaG5pcyBkZXMgYWt0dWVsbGVuIEJlbnV0emVycy4iCkBAIC02MjA5LDcgKzYzNjEsNyBAQAogI34gbXNnaWQgIiIKICN+ICJIT1NUVFlQRSAgICAgICAgVGhlIHR5cGUgb2YgQ1BVIHRoaXMgdmVyc2lvbiBvZiBCYXNoIGlzIHJ1bm5pbmcgdW5kZXIuIgogI34gbXNnc3RyICIiCi0jfiAiSE9TVFRZUEUgICAgICAgIENQVS1UeXAgZGVzIFJlY2huZXJzLCBhdWYgZGVtIGRpZSBCYXNoIGdlZ2Vud+RydGlnIGzkdWZ0LiIKKyN+ICJIT1NUVFlQRSAgICAgICAgQ1BVLVR5cCBkZXMgUmVjaG5lcnMsIGF1ZiBkZW0gZGllIEJhc2ggZ2VnZW53w6RydGlnIGzDpHVmdC4iCiAKICN+IG1zZ2lkICIiCiAjfiAiSUdOT1JFRU9GICAgICAgIENvbnRyb2xzIHRoZSBhY3Rpb24gb2YgdGhlIHNoZWxsIG9uIHJlY2VpcHQgb2YgYW4gRU9GIgpAQCAtNjIxNyw3ICs2MzY5LDcgQEAKICN+ICJJR05PUkVFT0YgICAgICAgTGVndCBkaWUgUmVha3Rpb24gZGVyIFNoZWxsIGF1ZiBlaW4gRU9GLVplaWNoZW4gZmVzdC4iCiAKICN+IG1zZ2lkICJcdFx0Y2hhcmFjdGVyIGFzIHRoZSBzb2xlIGlucHV0LiAgSWYgc2V0LCB0aGVuIHRoZSB2YWx1ZSIKLSN+IG1zZ3N0ciAiXHRcdFdlbm4gZGllIFZhcmlhYmxlIGVpbmUgZ2FuemUgWmFobCBlbnRo5Gx0LCB3aXJkIGRpZXNlIEFuemFobCIKKyN+IG1zZ3N0ciAiXHRcdFdlbm4gZGllIFZhcmlhYmxlIGVpbmUgZ2FuemUgWmFobCBlbnRow6RsdCwgd2lyZCBkaWVzZSBBbnphaGwiCiAKICN+IG1zZ2lkICJcdFx0b2YgaXQgaXMgdGhlIG51bWJlciBvZiBFT0YgY2hhcmFjdGVycyB0aGF0IGNhbiBiZSBzZWVuIgogI34gbXNnc3RyICJcdFx0RU9GIFplaWNoZW4gKEN0cmwtRCkgYWJnZXdhcnRldCwgYmlzIGRpZSBTaGVsbCB2ZXJsYXNzZW4gd2lyZC4iCkBAIC02MjQxLDcgKzYzOTMsNyBAQAogCiAjfiBtc2dpZCAiT1NUWVBFXHRcdFRoZSB2ZXJzaW9uIG9mIFVuaXggdGhpcyB2ZXJzaW9uIG9mIEJhc2ggaXMgcnVubmluZyBvbi4iCiAjfiBtc2dzdHIgIiIKLSN+ICJPU1RZUEVcdFx0QmV0cmllYnNzeXN0ZW12ZXJzaW9uLCBhdWYgZGVyIGRpZSBCYXNoIGdlZ2Vud+RydGlnIGzkdWZ0LiIKKyN+ICJPU1RZUEVcdFx0QmV0cmllYnNzeXN0ZW12ZXJzaW9uLCBhdWYgZGVyIGRpZSBCYXNoIGdlZ2Vud8OkcnRpZyBsw6R1ZnQuIgogCiAjfiBtc2dpZCAiUEFUSCAgICAgICAgICAgIEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgZGlyZWN0b3JpZXMgdG8gc2VhcmNoIHdoZW4iCiAjfiBtc2dzdHIgIlBBVEhcdFx0RHVyY2ggRG9wcGVscHVua3QgZ2V0cmVubnRlIExpc3RlIHZvbiBWZXJ6ZWljaG5pc3NlbiwgZGllICIKQEAgLTYyNTEsNDkgKzY0MDMsNDkgQEAKIAogI34gbXNnaWQgIlBST01QVF9DT01NQU5EICBBIGNvbW1hbmQgdG8gYmUgZXhlY3V0ZWQgYmVmb3JlIHRoZSBwcmludGluZyBvZiBlYWNoIgogI34gbXNnc3RyICIiCi0jfiAiUFJPTVBUX0NPTU1BTkQgIEtvbW1hbmRvLCBkYXMgdm9yIGRlciBBbnplaWdlIGVpbmVyIHByaW3kcmVuICIKKyN+ICJQUk9NUFRfQ09NTUFORCAgS29tbWFuZG8sIGRhcyB2b3IgZGVyIEFuemVpZ2UgZWluZXIgcHJpbcOkcmVuICIKICN+ICJFaW5nYWJlYXVmZm9yZGVydW5nIgogCiAjfiBtc2dpZCAiXHRcdHByaW1hcnkgcHJvbXB0LiIKLSN+IG1zZ3N0ciAiXHRcdChQUzEpIGF1c2dlZvxocnQgd2lyZC4iCisjfiBtc2dzdHIgIlx0XHQoUFMxKSBhdXNnZWbDvGhydCB3aXJkLiIKIAogI34gbXNnaWQgIlBTMSAgICAgICAgICAgICBUaGUgcHJpbWFyeSBwcm9tcHQgc3RyaW5nLiIKICN+IG1zZ3N0ciAiIgotI34gIlBTMSAgICAgICAgICAgICBaZWljaGVua2V0dGUsIGRpZSBkaWUgcHJpbeRyZSBFaW5nYWJlYXVmZm9yZGVydW5nIGVudGjkbHQuIgorI34gIlBTMSAgICAgICAgICAgICBaZWljaGVua2V0dGUsIGRpZSBkaWUgcHJpbcOkcmUgRWluZ2FiZWF1ZmZvcmRlcnVuZyBlbnRow6RsdC4iCiAKICN+IG1zZ2lkICJQUzIgICAgICAgICAgICAgVGhlIHNlY29uZGFyeSBwcm9tcHQgc3RyaW5nLiIKICN+IG1zZ3N0ciAiIgotI34gIlBTMiAgICAgICAgICAgICBaZWljaGVua2V0dGUsIGRpZSBkaWUgc2VrdW5k5HJlIEVpbmdhYmVhdWZmb3JkZXJ1bmcgIgotI34gImVudGjkbHQuIgorI34gIlBTMiAgICAgICAgICAgICBaZWljaGVua2V0dGUsIGRpZSBkaWUgc2VrdW5kw6RyZSBFaW5nYWJlYXVmZm9yZGVydW5nICIKKyN+ICJlbnRow6RsdC4iCiAKICN+IG1zZ2lkICJURVJNICAgICAgICAgICAgVGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgdGVybWluYWwgdHlwZS4iCiAjfiBtc2dzdHIgIlRFUk0gICAgICAgICAgICBOYW1lIGRlcyBha3R1ZWxsZW4gVGVybWluYWx0eXBzLiIKIAogI34gbXNnaWQgImF1dG9fcmVzdW1lICAgICBOb24tbnVsbCBtZWFucyBhIGNvbW1hbmQgd29yZCBhcHBlYXJpbmcgb24gYSBsaW5lIGJ5IgogI34gbXNnc3RyICIiCi0jfiAiYXV0b19yZXN1bWUgICAgIEVpbiBXZXJ0IHVuZ2xlaWNoIE51bGwgYmV3aXJrdCwgZGHfIGVpbiBlaW56ZWxuZXMgIgorI34gImF1dG9fcmVzdW1lICAgICBFaW4gV2VydCB1bmdsZWljaCBOdWxsIGJld2lya3QsIGRhw58gZWluIGVpbnplbG5lcyAiCiAjfiAiS29tbWFuZG8gYXVmIgogCiAjfiBtc2dpZCAiXHRcdGl0c2VsZiBpcyBmaXJzdCBsb29rZWQgZm9yIGluIHRoZSBsaXN0IG9mIGN1cnJlbnRseSIKLSN+IG1zZ3N0ciAiXHRcdGVpbmVyIFplaWxlIHp1buRjaHN0IGluIGRlciBMaXN0ZSBnZWdlbnfkcnRpZyBnZXN0b3BwdGVyIEpvYnMiCisjfiBtc2dzdHIgIlx0XHRlaW5lciBaZWlsZSB6dW7DpGNoc3QgaW4gZGVyIExpc3RlIGdlZ2Vud8OkcnRpZyBnZXN0b3BwdGVyIEpvYnMiCiAKICN+IG1zZ2lkICJcdFx0c3RvcHBlZCBqb2JzLiAgSWYgZm91bmQgdGhlcmUsIHRoYXQgam9iIGlzIGZvcmVncm91bmRlZC4iCiAjfiBtc2dzdHIgIlx0XHRnZXN1Y2h0IHVuZCBkaWVzZXIgaW4gZGVuIFZvcmRlcmdydW5kIGdlaG9sdCB3aXJkLiBgZXhhY3QnIgogCiAjfiBtc2dpZCAiXHRcdEEgdmFsdWUgb2YgYGV4YWN0JyBtZWFucyB0aGF0IHRoZSBjb21tYW5kIHdvcmQgbXVzdCIKLSN+IG1zZ3N0ciAiXHRcdGJld2lya3QsIGRh3yBkYXMgS29tbWFuZG8gZ2VuYXUgZGVtIEtvbW1hbmRvIGluIGRlciIKKyN+IG1zZ3N0ciAiXHRcdGJld2lya3QsIGRhw58gZGFzIEtvbW1hbmRvIGdlbmF1IGRlbSBLb21tYW5kbyBpbiBkZXIiCiAKICN+IG1zZ2lkICJcdFx0ZXhhY3RseSBtYXRjaCBhIGNvbW1hbmQgaW4gdGhlIGxpc3Qgb2Ygc3RvcHBlZCBqb2JzLiAgQSIKLSN+IG1zZ3N0ciAiXHRcdExpc3RlIGRlciBnZXN0b3BwdGVuIEpvYnMgZW50c3ByZWNoZW4gbXXfLiBXZW5uIGRpZSBWYXJpYWJsZSIKKyN+IG1zZ3N0ciAiXHRcdExpc3RlIGRlciBnZXN0b3BwdGVuIEpvYnMgZW50c3ByZWNoZW4gbXXDny4gV2VubiBkaWUgVmFyaWFibGUiCiAKICN+IG1zZ2lkICJcdFx0dmFsdWUgb2YgYHN1YnN0cmluZycgbWVhbnMgdGhhdCB0aGUgY29tbWFuZCB3b3JkIG11c3QiCi0jfiBtc2dzdHIgIlx0XHRkZW4gV2VydCBgc3Vic3RyaW5nJyBlbnRo5Gx0LCBtdd8gZGFzIEtvbW1hbmRvIGVpbmVtIFN1YnN0cmluZyIKKyN+IG1zZ3N0ciAiXHRcdGRlbiBXZXJ0IGBzdWJzdHJpbmcnIGVudGjDpGx0LCBtdcOfIGRhcyBLb21tYW5kbyBlaW5lbSBTdWJzdHJpbmciCiAKICN+IG1zZ2lkICJcdFx0bWF0Y2ggYSBzdWJzdHJpbmcgb2YgdGhlIGpvYi4gIEFueSBvdGhlciB2YWx1ZSBtZWFucyB0aGF0IgotI34gbXNnc3RyICJcdFx0ZGVyIEpvYmJlemVpY2hudW5nIGVudHNwcmVjaGVuLiBCZWkgZWluZW0gYW5kZXJlbiBXZXJ0IG38c3NlbiIKKyN+IG1zZ3N0ciAiXHRcdGRlciBKb2JiZXplaWNobnVuZyBlbnRzcHJlY2hlbi4gQmVpIGVpbmVtIGFuZGVyZW4gV2VydCBtw7xzc2VuIgogCiAjfiBtc2dpZCAiXHRcdHRoZSBjb21tYW5kIG11c3QgYmUgYSBwcmVmaXggb2YgYSBzdG9wcGVkIGpvYi4iCi0jfiBtc2dzdHIgIlx0XHRkaWUgZXJzdGVuIFplaWNoZW4g/GJlcmVpbnN0aW1tZW4uIgorI34gbXNnc3RyICJcdFx0ZGllIGVyc3RlbiBaZWljaGVuIMO8YmVyZWluc3RpbW1lbi4iCiAKICN+IG1zZ2lkICJjb21tYW5kX29yaWVudGVkX2hpc3RvcnkiCiAjfiBtc2dzdHIgImNvbW1hbmRfb3JpZW50ZWRfaGlzdG9yeSIKQEAgLTYzNTQsNyArNjUwNiw3IEBACiAjICJBcmJlaXQiIGltcGxpemllcnQgLm0uRS4gImFrdHVlbGwiCiAjIGNrCiAjfiBtc2dpZCAidGhlIHN0YWNrLCBtYWtpbmcgdGhlIG5ldyB0b3Agb2YgdGhlIHN0YWNrIHRoZSBjdXJyZW50IHdvcmtpbmciCi0jfiBtc2dzdHIgImRh3yBkYXMgQXJiZWl0c3ZlcnplaWNobmlzIGF1ZiBkZXIgU3BpdHplIGRlcyBTdGFwZWxzIGxpZWd0LiBPaG5lIgorI34gbXNnc3RyICJkYcOfIGRhcyBBcmJlaXRzdmVyemVpY2huaXMgYXVmIGRlciBTcGl0emUgZGVzIFN0YXBlbHMgbGllZ3QuIE9obmUiCiAKICN+IG1zZ2lkICJkaXJlY3RvcnkuICBXaXRoIG5vIGFyZ3VtZW50cywgZXhjaGFuZ2VzIHRoZSB0b3AgdHdvIGRpcmVjdG9yaWVzLiIKICN+IG1zZ3N0ciAiIgpAQCAtNjM2MywyMyArNjUxNSwyMyBAQAogCiAjfiBtc2dpZCAiK05cdFJvdGF0ZXMgdGhlIHN0YWNrIHNvIHRoYXQgdGhlIE50aCBkaXJlY3RvcnkgKGNvdW50aW5nIgogI34gbXNnc3RyICIiCi0jfiAiK05cdFJvdGllcnQgZGVuIFN0YXBlbCBzbywgZGHfIGRhcyBOJ3RlIFZlcnplaWNobmlzIChhbmdlemVpZ3Qgdm9uIGBkaXJzJywiCisjfiAiK05cdFJvdGllcnQgZGVuIFN0YXBlbCBzbywgZGHDnyBkYXMgTid0ZSBWZXJ6ZWljaG5pcyAoYW5nZXplaWd0IHZvbiBgZGlycycsIgogCiAjfiBtc2dpZCAiXHRmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0IHNob3duIGJ5IGBkaXJzJykgaXMgYXQgdGhlIHRvcC4iCi0jfiBtc2dzdHIgImdleuRobHQgdm9uIGxpbmtzKSBzaWNoIGFuIGRlciBTcGl0emUgZGVzIFN0YXBlbHMgYmVmaW5kZXQuIgorI34gbXNnc3RyICJnZXrDpGhsdCB2b24gbGlua3MpIHNpY2ggYW4gZGVyIFNwaXR6ZSBkZXMgU3RhcGVscyBiZWZpbmRldC4iCiAKICN+IG1zZ2lkICItTlx0Um90YXRlcyB0aGUgc3RhY2sgc28gdGhhdCB0aGUgTnRoIGRpcmVjdG9yeSAoY291bnRpbmciCiAjfiBtc2dzdHIgIiIKLSN+ICItTlx0Um90aWVydCBkZW4gU3RhcGVsIHNvLCBkYd8gZGFzIE4ndGUgVmVyemVpY2huaXMgKGFuZ2V6ZWlndCB2b24gYGRpcnMnLCIKKyN+ICItTlx0Um90aWVydCBkZW4gU3RhcGVsIHNvLCBkYcOfIGRhcyBOJ3RlIFZlcnplaWNobmlzIChhbmdlemVpZ3Qgdm9uIGBkaXJzJywiCiAKICN+IG1zZ2lkICJcdGZyb20gdGhlIHJpZ2h0KSBpcyBhdCB0aGUgdG9wLiIKLSN+IG1zZ3N0ciAiZ2V65GhsdCB2b24gcmVjaHRzKSBzaWNoIGFuIGRlciBTcGl0emUgZGVzIFN0YXBlbHMgYmVmaW5kZXQuIgorI34gbXNnc3RyICJnZXrDpGhsdCB2b24gcmVjaHRzKSBzaWNoIGFuIGRlciBTcGl0emUgZGVzIFN0YXBlbHMgYmVmaW5kZXQuIgogCiAjfiBtc2dpZCAiLW5cdHN1cHByZXNzIHRoZSBub3JtYWwgY2hhbmdlIG9mIGRpcmVjdG9yeSB3aGVuIGFkZGluZyBkaXJlY3RvcmllcyIKLSN+IG1zZ3N0ciAiLW5cdHVudGVyZHL8Y2t0IGRhcyBXZWNoc2VsbiBpbiBkYXMgVmVyemVpY2huaXMgYmVpbSBIaW56dWb8Z2VuIHp1bSIKKyN+IG1zZ3N0ciAiLW5cdHVudGVyZHLDvGNrdCBkYXMgV2VjaHNlbG4gaW4gZGFzIFZlcnplaWNobmlzIGJlaW0gSGluenVmw7xnZW4genVtIgogCiAjfiBtc2dpZCAiXHR0byB0aGUgc3RhY2ssIHNvIG9ubHkgdGhlIHN0YWNrIGlzIG1hbmlwdWxhdGVkLiIKLSN+IG1zZ3N0ciAiXHRTdGFwZWwsIHNvIGRh3yBudXIgZGVyIFN0YXBlbCB2ZXLkbmRlcnQgd2lyZC4iCisjfiBtc2dzdHIgIlx0U3RhcGVsLCBzbyBkYcOfIG51ciBkZXIgU3RhcGVsIHZlcsOkbmRlcnQgd2lyZC4iCiAKICN+IG1zZ2lkICJkaXJcdGFkZHMgRElSIHRvIHRoZSBkaXJlY3Rvcnkgc3RhY2sgYXQgdGhlIHRvcCwgbWFraW5nIGl0IHRoZSIKICN+IG1zZ3N0ciAiRElSXHRMZWd0IERJUiBhdWYgZGllIFNwaXR6ZSBkZXMgVmVyemVpY2huaXNzdGFwZWxzIHVuZCB3ZWNoc2VsdCIKQEAgLTYzOTEsNyArNjU0Myw3IEBACiAjIHB1c2hkCiAjfiBtc2dpZCAiUmVtb3ZlcyBlbnRyaWVzIGZyb20gdGhlIGRpcmVjdG9yeSBzdGFjay4gIFdpdGggbm8gYXJndW1lbnRzLCIKICN+IG1zZ3N0ciAiIgotI34gIkVudGZlcm50IEVpbnRy5GdlIHZvbSBWZXJ6ZWljaG5pc3N0YXBlbC4gT2huZSBBcmd1bWVudGUgd2lyZCBkaWUgU3BpdHplICIKKyN+ICJFbnRmZXJudCBFaW50csOkZ2Ugdm9tIFZlcnplaWNobmlzc3RhcGVsLiBPaG5lIEFyZ3VtZW50ZSB3aXJkIGRpZSBTcGl0emUgIgogI34gImRlcyIKIAogI34gbXNnaWQgInJlbW92ZXMgdGhlIHRvcCBkaXJlY3RvcnkgZnJvbSB0aGUgc3RhY2ssIGFuZCBjZCdzIHRvIHRoZSBuZXciCkBAIC02Mzk5LDcgKzY1NTEsNyBAQAogCiAjfiBtc2dpZCAiK05cdHJlbW92ZXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0IgogI34gbXNnc3RyICIiCi0jfiAiK05cdEVudGZlcm50IGRlbiBOJ3RlbiBFaW50cmFnIHZvbSBTdGFwZWwsICBnZXrkaGx0IHZvbiBOdWxsIHZvbiBkZXIgIgorI34gIitOXHRFbnRmZXJudCBkZW4gTid0ZW4gRWludHJhZyB2b20gU3RhcGVsLCAgZ2V6w6RobHQgdm9uIE51bGwgdm9uIGRlciAiCiAjfiAiTGlzdGUsIgogCiAjfiBtc2dpZCAiXHRzaG93biBieSBgZGlycycsIHN0YXJ0aW5nIHdpdGggemVyby4gIEZvciBleGFtcGxlOiBgcG9wZCArMCciCkBAIC02NDI0LDEwNCArNjU3Niw0IEBACiAjfiAiLW5cdFZlcmhpbmRlcnQgZGFzIFdlY2hzZWxuIGRlcyBBcmJlaXRzdmVyemVpY2huaXNzZXMgd2VubiBWZXJ6ZWljaG5pc3NlIgogCiAjfiBtc2dpZCAiXHRmcm9tIHRoZSBzdGFjaywgc28gb25seSB0aGUgc3RhY2sgaXMgbWFuaXB1bGF0ZWQuIgotI34gbXNnc3RyICJcdHZvbSBTdGFwZWwgZW50ZmVybnQgd2VyZGVuLCBzbyBkYd8gbnVyIGRlciBTdGFwZWwgdmVy5G5kZXJ0IHdpcmQuIgotCi0jIGRpcnMKLSN+IG1zZ2lkICJEaXNwbGF5IHRoZSBsaXN0IG9mIGN1cnJlbnRseSByZW1lbWJlcmVkIGRpcmVjdG9yaWVzLiAgRGlyZWN0b3JpZXMiCi0jfiBtc2dzdHIgIiIKLSN+ICJaZWlndCBkaWUgTGlzdGUgZGVyIGdlZ2Vud+RydGlnIGdlc3BlaWNoZXJ0ZW4gVmVyemVpY2huaXNzZSBhbi4gICIKLSN+ICJHZXNwZWljaGVydCIKLQotI34gbXNnaWQgImZpbmQgdGhlaXIgd2F5IG9udG8gdGhlIGxpc3Qgd2l0aCB0aGUgYHB1c2hkJyBjb21tYW5kOyB5b3UgY2FuIGdldCIKLSN+IG1zZ3N0ciAiIgotI34gIndlcmRlbiBkaWUgVmVyemVpY2huaXNzZSBkdXJjaCBkYXMgYHBvcGQnIEtvbW1hbmRvIHVuZCBr9m5uZW4gZHVyY2ggZGFzICIKLSN+ICJgcHVzaGQnIgotCi0jfiBtc2dpZCAiYmFjayB1cCB0aHJvdWdoIHRoZSBsaXN0IHdpdGggdGhlIGBwb3BkJyBjb21tYW5kLiIKLSN+IG1zZ3N0ciAiS29tbWFuZG8gd2llZGVyIHZvbSBTdGFwZWwgZW50ZmVybnQgd2VyZGVuLiIKLQotI34gbXNnaWQgIiIKLSN+ICJUaGUgLWwgZmxhZyBzcGVjaWZpZXMgdGhhdCBgZGlycycgc2hvdWxkIG5vdCBwcmludCBzaG9ydGhhbmQgdmVyc2lvbnMiCi0jfiBtc2dzdHIgIiIKLSN+ICJXZW5uIGRpZSAtbCBPcHRpb24gYW5nZWdlYmVuIGlzdCwgZGFubiB3ZXJkZW4ga2VpbmUgS3VyenZlcnNpb25lbiBkZXIgIgotI34gIlZlcnplaWNoLSIKLQotI34gbXNnaWQgIiIKLSN+ICJvZiBkaXJlY3RvcmllcyB3aGljaCBhcmUgcmVsYXRpdmUgdG8geW91ciBob21lIGRpcmVjdG9yeS4gIFRoaXMgbWVhbnMiCi0jfiBtc2dzdHIgIiIKLSN+ICJuaXNzZSBhbmdlemVpZ3QsIGRpZSByZWxhdGl2IHp1bSBIZWltYXR2ZXJ6ZWljaG5pcyBzaW5kLiAgRXMgd2lyZCBhbHNvIGFuIgotCi0jfiBtc2dpZCAidGhhdCBgfi9iaW4nIG1pZ2h0IGJlIGRpc3BsYXllZCBhcyBgL2hvbWVzL2Jmb3gvYmluJy4gIFRoZSAtdiBmbGFnIgotI34gbXNnc3RyICIiCi0jfiAiU3RlbGxlIHZvbiBgfi9iaW4nIGRlciBhYnNvbHV0ZSBQZmFkIGAvaG9tZS9mb28vYmluJyBhbmdlemVpZ3QuICBNaXQgZGVyIC0iCi0jfiAidiIKLQotI34gbXNnaWQgImNhdXNlcyBgZGlycycgdG8gcHJpbnQgdGhlIGRpcmVjdG9yeSBzdGFjayB3aXRoIG9uZSBlbnRyeSBwZXIgbGluZSwiCi0jfiBtc2dzdHIgIiIKLSN+ICJPcHRpb24gd2lyZCB2b24gYGRpcnMnIGVpbiBFaW50cmFnIHBybyBaZWlsZSBhdXNnZWdlYmVuLiAgRGllIFBvc2l0aW9uIGltIgotCi0jfiBtc2dpZCAiIgotI34gInByZXBlbmRpbmcgdGhlIGRpcmVjdG9yeSBuYW1lIHdpdGggaXRzIHBvc2l0aW9uIGluIHRoZSBzdGFjay4gIFRoZSAtcCIKLSN+IG1zZ3N0ciAiIgotI34gIlN0YXBlbCB3aXJkIHZvcmFuZ2VzdGVsbHQuICBEaWUgLXAgT3B0aW9uIHdpcmt0IORobmxpY2gsIGVzIHdpcmQgIgotI34gImFsbGVyZGluZ3MiCi0KLSN+IG1zZ2lkICJmbGFnIGRvZXMgdGhlIHNhbWUgdGhpbmcsIGJ1dCB0aGUgc3RhY2sgcG9zaXRpb24gaXMgbm90IHByZXBlbmRlZC4iCi0jfiBtc2dzdHIgIiIKLSN+ICJuaWNodCBkaWUgUG9zaXRpb24gaW0gU3RhcGVsIGFuZ2V6ZWlndC4gIFdlbm4gLWMgYW5nZWdlYmVuIGlzdCwgZGFtbSAiCi0jfiAid2VyZGVuIgotCi0jfiBtc2dpZCAiIgotI34gIlRoZSAtYyBmbGFnIGNsZWFycyB0aGUgZGlyZWN0b3J5IHN0YWNrIGJ5IGRlbGV0aW5nIGFsbCBvZiB0aGUgZWxlbWVudHMuIgotI34gbXNnc3RyICJhbGxlIEVpbnRy5GdlIHZvbSBWZXJ6ZWljaG5pc3N0YXBlbCBnZWz2c2NodC4iCi0KLSN+IG1zZ2lkICIiCi0jfiAiK05cdGRpc3BsYXlzIHRoZSBOdGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdCBzaG93biBieSIKLSN+IG1zZ3N0ciAiIgotI34gIitOXHRaZWlndCBkZW4gTid0ZW4gRWludHJhZywgZ2V65GhsdCB2b24gbGlua3MgYmVnZ2lubmVuZCBiZWkgTnVsbCwgYXVzIgotCi0jfiBtc2dpZCAiXHRkaXJzIHdoZW4gaW52b2tlZCB3aXRob3V0IG9wdGlvbnMsIHN0YXJ0aW5nIHdpdGggemVyby4iCi0jfiBtc2dzdHIgIlx0ZGVyIExpc3RlLCBkaWUgdm9uIGBkaXJzJyBvaG5lIE9wdGlvbmVuIGFuZ2V6ZWlndCB3aXJkLiIKLQotI34gbXNnaWQgIiIKLSN+ICItTlx0ZGlzcGxheXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdCBzaG93biBieSIKLSN+IG1zZ3N0ciAiIgotI34gIi1OXHRaZWlndCBkZW4gTid0ZW4gRWludHJhZywgZ2V65GhsdCB2b24gcmVjaHRzIGJlZ2dpbm5lbmQgYmVpIE51bGwsIGF1cyIKLQotIyBzaG9wdF9idWlsdGluCi0jfiBtc2dpZCAiVG9nZ2xlIHRoZSB2YWx1ZXMgb2YgdmFyaWFibGVzIGNvbnRyb2xsaW5nIG9wdGlvbmFsIGJlaGF2aW9yLiIKLSN+IG1zZ3N0ciAiIgotI34gIsRuZGVydCBkaWUgV2VydGUgdm9uIFZhcmlhYmxlbiBkaWUgenVz5HR6bGljaGUgRWlnZW5zY2hhZnRlbiBkZXIgU2hlbGwgIgotI34gInN0ZXVlcm4uIgotCi0jfiBtc2dpZCAiVGhlIC1zIGZsYWcgbWVhbnMgdG8gZW5hYmxlIChzZXQpIGVhY2ggT1BUTkFNRTsgdGhlIC11IGZsYWciCi0jfiBtc2dzdHIgIiIKLSN+ICJNaXQgZGVyIC1zIE9wdGlvbiB3aXJkIGplZGVyIE9QVElPTlNNQU1FIGdlc2V0enQuICBEaWUgLXUgT3B0aW9uIHNldHp0ICIKLSN+ICJqZWRlbiIKLQotI34gbXNnaWQgInVuc2V0cyBlYWNoIE9QVE5BTUUuICBUaGUgLXEgZmxhZyBzdXBwcmVzc2VzIG91dHB1dDsgdGhlIGV4aXQiCi0jfiBtc2dzdHIgIiIKLSN+ICJPUFRJT05TTkFNRU4genVy/GNrLiAgRGllIC1xIE9wdGlvbiB1bnRlcmRy/GNrdCBBdXNnYWJlbi4gIERlciAiCi0jfiAiUvxja2dhYmV3ZXJ0IgotCi0jfiBtc2dpZCAic3RhdHVzIGluZGljYXRlcyB3aGV0aGVyIGVhY2ggT1BUTkFNRSBpcyBzZXQgb3IgdW5zZXQuICBUaGUgLW8iCi0jfiBtc2dzdHIgIiIKLSN+ICJkZXMgS29tbWFuZG9zIGdpYnQgYW4gb2IgZGVyIE9QVElPTlNOQU1FIGVpbi0gb2RlciBhdXNnZXNjaGFsdGVuIHd1cmRlLiAgIgotI34gIkRpZSIKLQotI34gbXNnaWQgIm9wdGlvbiByZXN0cmljdHMgdGhlIE9QVE5BTUVzIHRvIHRob3NlIGRlZmluZWQgZm9yIHVzZSB3aXRoIgotI34gbXNnc3RyICIiCi0jfiAiT3B0aW9uIGJlc2NocuRua3QgZGllIE9QVElPTlNOQU1FTiBhdWYgamVuZSBkaWUgbWl0IGBzZXQgLW8nIGJlbnV0enQgIgotI34gIndlcmRlbiIKLQotI34gbXNnaWQgImBzZXQgLW8nLiAgV2l0aCBubyBvcHRpb25zLCBvciB3aXRoIHRoZSAtcCBvcHRpb24sIGEgbGlzdCBvZiBhbGwiCi0jfiBtc2dzdHIgIiIKLSN+ICJr9m5uZW4uICBPaG5lIG9kZXIgbWl0IGRlciAtcCBPcHRpb24gd2lyZCBlaW5lIExpc3RlIGFsbGVyIGBzZXR0YWJsZScgIgotI34gIk9wdGlvbmVuIgotCi0jfiBtc2dpZCAic2V0dGFibGUgb3B0aW9ucyBpcyBkaXNwbGF5ZWQsIHdpdGggYW4gaW5kaWNhdGlvbiBvZiB3aGV0aGVyIG9yIgotI34gbXNnc3RyICIiCi0jfiAibWl0IGVpbmVyIE1hcmtpZXJ1bmcgb2IgZGllIGFuZ2VnZWJlbmUgT3B0aW9uIGdlc2V0enQgb2RlciBuaWNodCBnZXNldHp0IgotCi0jfiBtc2dpZCAibm90IGVhY2ggaXMgc2V0LiIKLSN+IG1zZ3N0ciAiaXN0IGFuZ2V6ZWlndC4iCisjfiBtc2dzdHIgIlx0dm9tIFN0YXBlbCBlbnRmZXJudCB3ZXJkZW4sIHNvIGRhw58gbnVyIGRlciBTdGFwZWwgdmVyw6RuZGVydCB3aXJkLiIKZGlmZiAtLWdpdCBhL3BvL2VuQGJvbGRxdW90LmdtbyBiL3BvL2VuQGJvbGRxdW90LmdtbwppbmRleCBlNGRjOTU5Li40MThjZTliIDEwMDY0NAotLS0gYS9wby9lbkBib2xkcXVvdC5nbW8KKysrIGIvcG8vZW5AYm9sZHF1b3QuZ21vCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3BvL2VuQGJvbGRxdW90LnBvIGIvcG8vZW5AYm9sZHF1b3QucG8KaW5kZXggMWJiZDQyNy4uYzViMTQ2MSAxMDA2NDQKLS0tIGEvcG8vZW5AYm9sZHF1b3QucG8KKysrIGIvcG8vZW5AYm9sZHF1b3QucG8KQEAgLTMwLDEwICszMCwxMCBAQAogIwogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogR05VIGJhc2ggNC4wLXJlbGVhc2VcbiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IEdOVSBiYXNoIDQuMS1yZWxlYXNlXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTAyLTE5IDE0OjUzLTA1MDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDA5LTAyLTE5IDE0OjUzLTA1MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZFxuIgogIkxhbmd1YWdlLVRlYW06IG5vbmVcbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgpAQCAtNDUsNTAgKzQ1LDU1IEBACiBtc2dpZCAiYmFkIGFycmF5IHN1YnNjcmlwdCIKIG1zZ3N0ciAiYmFkIGFycmF5IHN1YnNjcmlwdCIKIAotIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAorIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiAKLSM6IGFycmF5ZnVuYy5jOjQ3OQorIzogYXJyYXlmdW5jLmM6NDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFzc29jaWF0aXZlIGFycmF5IGtleSIKIG1zZ3N0ciAiJXM6IGludmFsaWQgYXNzb2NpYXRpdmUgYXJyYXkga2V5IgogCi0jOiBhcnJheWZ1bmMuYzo0ODEKKyM6IGFycmF5ZnVuYy5jOjQ4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiB0byBub24tbnVtZXJpYyBpbmRleCIKIG1zZ3N0ciAiJXM6IGNhbm5vdCBhc3NpZ24gdG8gbm9uLW51bWVyaWMgaW5kZXgiCiAKLSM6IGFycmF5ZnVuYy5jOjUxNworIzogYXJyYXlmdW5jLmM6NTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIlczogJXM6IG11c3QgdXNlIHN1YnNjcmlwdCB3aGVuIGFzc2lnbmluZyBhc3NvY2lhdGl2ZSBhcnJheSIKIAotIzogYmFzaGhpc3QuYzozNzkKKyM6IGJhc2hoaXN0LmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY3JlYXRlOiAlcyIKIG1zZ3N0ciAiJXM6IGNhbm5vdCBjcmVhdGU6ICVzIgogCi0jOiBiYXNobGluZS5jOjM0MTMKKyM6IGJhc2hsaW5lLmM6MzQ1NwogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgogCi0jOiBiYXNobGluZS5jOjM0OTEKKyM6IGJhc2hsaW5lLmM6MzU0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgogbXNnc3RyICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCDigJgbWzFtXCIbWzBt4oCZIgogCi0jOiBiYXNobGluZS5jOjM1MjAKKyM6IGJhc2hsaW5lLmM6MzU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjbG9zaW5nIGAlYycgaW4gJXMiCiBtc2dzdHIgIm5vIGNsb3Npbmcg4oCYG1sxbSVjG1swbeKAmSBpbiAlcyIKIAotIzogYmFzaGxpbmUuYzozNTU0CisjOiBiYXNobGluZS5jOjM2MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG1pc3NpbmcgY29sb24gc2VwYXJhdG9yIgogbXNnc3RyICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCiAKKyM6IGJ1aWx0aW5zL2FsaWFzLmRlZjoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogaW52YWxpZCBhbGlhcyBuYW1lIgorbXNnc3RyICLigJgbWzFtJXMbWzBt4oCZOiBpbnZhbGlkIGFsaWFzIG5hbWUiCisKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjEyMCBidWlsdGlucy9iaW5kLmRlZjoxMjMKIG1zZ2lkICJsaW5lIGVkaXRpbmcgbm90IGVuYWJsZWQiCiBtc2dzdHIgImxpbmUgZWRpdGluZyBub3QgZW5hYmxlZCIKQEAgLTE0MSw2ICsxNDYsMjggQEAKICIgICAgXG4iCiAiICAgIFdpdGhvdXQgRVhQUiwgcmV0dXJucyAiCiAKKyM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM1Cittc2dpZCAiIgorIi4gIFdpdGggRVhQUiwgcmV0dXJuc1xuIgorIiAgICAiCittc2dzdHIgIiIKKyIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKKyIgICAgIgorCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNgorbXNnaWQgIiIKKyI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKKyIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgorIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKK21zZ3N0ciAiIgorIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgorIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCisiICAgIFxuIgorIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCisiICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgorCiAjOiBidWlsdGlucy9jZC5kZWY6MjE1CiBtc2dpZCAiSE9NRSBub3Qgc2V0IgogbXNnc3RyICJIT01FIG5vdCBzZXQiCkBAIC0xNTQsNyArMTgxLDcgQEAKIG1zZ2lkICJsaW5lICVkOiAiCiBtc2dzdHIgImxpbmUgJWQ6ICIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTM5IGVycm9yLmM6MjYwCisjOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogIgogbXNnc3RyICJ3YXJuaW5nOiAiCkBAIC0xNjQsMTEgKzE5MSwxMSBAQAogbXNnaWQgIiVzOiB1c2FnZTogIgogbXNnc3RyICIlczogdXNhZ2U6ICIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjIKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODI3CiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICJ0b28gbWFueSBhcmd1bWVudHMiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5MyBzaGVsbC5jOjc3NAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCkBAIC0xODMsNyArMjEwLDcgQEAKIG1zZ2lkICIlczogbm90IGZvdW5kIgogbXNnc3RyICIlczogbm90IGZvdW5kIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3ODcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVzOiBpbnZhbGlkIG9wdGlvbiIKQEAgLTIwNiw3ICsyMzMsNyBAQAogbXNnaWQgImludmFsaWQgaGV4IG51bWJlciIKIG1zZ3N0ciAiaW52YWxpZCBoZXggbnVtYmVyIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTUKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NgogbXNnaWQgImludmFsaWQgbnVtYmVyIgogbXNnc3RyICJpbnZhbGlkIG51bWJlciIKIApAQCAtMjIwLDcgKzI0Nyw3IEBACiBtc2dpZCAiYCVzJzogbm90IGEgcGlkIG9yIHZhbGlkIGpvYiBzcGVjIgogbXNnc3RyICLigJgbWzFtJXMbWzBt4oCZOiBub3QgYSBwaWQgb3IgdmFsaWQgam9iIHNwZWMiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI2NCBlcnJvci5jOjQ1MworIzogYnVpbHRpbnMvY29tbW9uLmM6MjY0IGVycm9yLmM6NDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkb25seSB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6IHJlYWRvbmx5IHZhcmlhYmxlIgpAQCAtMjkyLDI2ICszMTksMjYgQEAKIG1zZ2lkICIlczogYW1iaWd1b3VzIGpvYiBzcGVjIgogbXNnc3RyICIlczogYW1iaWd1b3VzIGpvYiBzcGVjIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6MjcwCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Mjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFjdGlvbiBuYW1lIgogbXNnc3RyICIlczogaW52YWxpZCBhY3Rpb24gbmFtZSIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjQzMCBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjE1Ci0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODEzCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDQ5IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NDQKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXM6IG5vIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY2NworIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY5NgogbXNnaWQgIndhcm5pbmc6IC1GIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCIKIG1zZ3N0ciAid2FybmluZzogLUYgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjY5CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk4CiBtc2dpZCAid2FybmluZzogLUMgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgogbXNnc3RyICJ3YXJuaW5nOiAtQyBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo3ODYKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MjYKIG1zZ2lkICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgogbXNnc3RyICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgogCkBAIC0zMTksMjEgKzM0NiwyMSBAQAogbXNnaWQgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKIG1zZ3N0ciAiY2FuIG9ubHkgYmUgdXNlZCBpbiBhIGZ1bmN0aW9uIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNTMKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2MAogbXNnaWQgImNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucyIKIG1zZ3N0ciAiY2Fubm90IHVzZSDigJgbWzFtLWYbWzBt4oCZIHRvIG1ha2UgZnVuY3Rpb25zIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjUgZXhlY3V0ZV9jbWQuYzo0ODE4CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzIgZXhlY3V0ZV9jbWQuYzo0OTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkb25seSBmdW5jdGlvbiIKIG1zZ3N0ciAiJXM6IHJlYWRvbmx5IGZ1bmN0aW9uIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjEKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiJXM6IGNhbm5vdCBjb252ZXJ0IGFzc29jaWF0aXZlIHRvIGluZGV4ZWQgYXJyYXkiCkBAIC0zNjIsOCArMzg5LDggQEAKIG1zZ2lkICIlczogY2Fubm90IGRlbGV0ZTogJXMiCiBtc2dzdHIgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDY3NQotIzogc2hlbGwuYzoxNDM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0CisjOiBzaGVsbC5jOjE0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczogaXMgYSBkaXJlY3RvcnkiCkBAIC0zNzgsNyArNDA1LDggQEAKIG1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCiBtc2dzdHIgIiVzOiBmaWxlIGlzIHRvbyBsYXJnZSIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgZXhlY3V0ZV9jbWQuYzo0NzQ1IHNoZWxsLmM6MTQ0OQorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDMgZXhlY3V0ZV9jbWQuYzo0ODY0CisjOiBzaGVsbC5jOjE0NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlIgogbXNnc3RyICIlczogY2Fubm90IGV4ZWN1dGUgYmluYXJ5IGZpbGUiCkBAIC00MDcsMTUgKzQzNSwxNSBAQAogbXNnaWQgIlRoZXJlIGFyZSBydW5uaW5nIGpvYnMuXG4iCiBtc2dzdHIgIlRoZXJlIGFyZSBydW5uaW5nIGpvYnMuXG4iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjIKIG1zZ2lkICJubyBjb21tYW5kIGZvdW5kIgogbXNnc3RyICJubyBjb21tYW5kIGZvdW5kIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzQxCisjOiBidWlsdGlucy9mYy5kZWY6MzQ5CiBtc2dpZCAiaGlzdG9yeSBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICJoaXN0b3J5IHNwZWNpZmljYXRpb24iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNjIKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCiBtc2dzdHIgIiVzOiBjYW5ub3Qgb3BlbiB0ZW1wIGZpbGU6ICVzIgpAQCAtNTE2LDEyICs1NDQsMTIgQEAKIG1zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgogbXNnc3RyICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCDigJgbWzFtLXgbWzBt4oCZIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoxOTcKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogbXNnc3RyICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyNjAKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MwogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgIlVua25vd24gZXJyb3IiCiAKQEAgLTUyOSw1NSArNTU3LDYwIEBACiBtc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiZXhwcmVzc2lvbiBleHBlY3RlZCIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQxIGJ1aWx0aW5zL3JlYWQuZGVmOjI3MgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYW4gaW5kZXhlZCBhcnJheSIKK21zZ3N0ciAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU3IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgogbXNnc3RyICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTggYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjYgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCiBtc2dzdHIgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFycmF5IG9yaWdpbiIKIG1zZ3N0ciAiJXM6IGludmFsaWQgYXJyYXkgb3JpZ2luIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogbXNnc3RyICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMTgKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMyNgogbXNnaWQgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCiBtc2dzdHIgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzOQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CiBtc2dpZCAiYXJyYXkgdmFyaWFibGUgc3VwcG9ydCByZXF1aXJlZCIKIG1zZ3N0ciAiYXJyYXkgdmFyaWFibGUgc3VwcG9ydCByZXF1aXJlZCIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNjcKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAi4oCYG1sxbSVzG1swbeKAmTogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU0NAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICLigJgbWzFtJWMbWzBt4oCZOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTcxCisjOiBidWlsdGlucy9wcmludGYuZGVmOjU3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAlczogJXMiCiBtc2dzdHIgIndhcm5pbmc6ICVzOiAlcyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTAKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzU3CiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIApAQCAtNzI4LDEyICs3NjEsMTIgQEAKICIgICAgXG4iCiAiICAgIFRoZSDigJgbWzFtZGlycxtbMG3igJkgYnVpbHRpbiBkaXNwbGF5cyB0aGUgZGlyZWN0b3J5IHN0YWNrLiIKIAotIzogYnVpbHRpbnMvcmVhZC5kZWY6MjQ4CisjOiBidWlsdGlucy9yZWFkLmRlZjoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgdGltZW91dCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczogaW52YWxpZCB0aW1lb3V0IHNwZWNpZmljYXRpb24iCiAKLSM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU3NAorIzogYnVpbHRpbnMvcmVhZC5kZWY6NTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWQgZXJyb3I6ICVkOiAlcyIKIG1zZ3N0ciAicmVhZCBlcnJvcjogJWQ6ICVzIgpAQCAtNzcwLDExICs4MDMsMTEgQEAKIG1zZ2lkICJzaGlmdCBjb3VudCIKIG1zZ3N0ciAic2hpZnQgY291bnQiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNTQKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MzE5CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgogbXNnc3RyICIlczogaW52YWxpZCBzaGVsbCBvcHRpb24gbmFtZSIKQEAgLTg2NCw3NiArODk3LDc2IEBACiBtc2dpZCAiYCVjJzogaW52YWxpZCBzeW1ib2xpYyBtb2RlIGNoYXJhY3RlciIKIG1zZ3N0ciAi4oCYG1sxbSVjG1swbeKAmTogaW52YWxpZCBzeW1ib2xpYyBtb2RlIGNoYXJhY3RlciIKIAotIzogZXJyb3IuYzo4OSBlcnJvci5jOjMyMCBlcnJvci5jOjMyMiBlcnJvci5jOjMyNAorIzogZXJyb3IuYzo5MCBlcnJvci5jOjMyMSBlcnJvci5jOjMyMyBlcnJvci5jOjMyNQogbXNnaWQgIiBsaW5lICIKIG1zZ3N0ciAiIGxpbmUgIgogCi0jOiBlcnJvci5jOjE2NAorIzogZXJyb3IuYzoxNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAibGFzdCBjb21tYW5kOiAlc1xuIgogbXNnc3RyICJsYXN0IGNvbW1hbmQ6ICVzXG4iCiAKLSM6IGVycm9yLmM6MTcyCisjOiBlcnJvci5jOjE3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZy4uLiIKIG1zZ3N0ciAiQWJvcnRpbmcuLi4iCiAKLSM6IGVycm9yLmM6NDA1CisjOiBlcnJvci5jOjQwNgogbXNnaWQgInVua25vd24gY29tbWFuZCBlcnJvciIKIG1zZ3N0ciAidW5rbm93biBjb21tYW5kIGVycm9yIgogCi0jOiBlcnJvci5jOjQwNgorIzogZXJyb3IuYzo0MDcKIG1zZ2lkICJiYWQgY29tbWFuZCB0eXBlIgogbXNnc3RyICJiYWQgY29tbWFuZCB0eXBlIgogCi0jOiBlcnJvci5jOjQwNworIzogZXJyb3IuYzo0MDgKIG1zZ2lkICJiYWQgY29ubmVjdG9yIgogbXNnc3RyICJiYWQgY29ubmVjdG9yIgogCi0jOiBlcnJvci5jOjQwOAorIzogZXJyb3IuYzo0MDkKIG1zZ2lkICJiYWQganVtcCIKIG1zZ3N0ciAiYmFkIGp1bXAiCiAKLSM6IGVycm9yLmM6NDQ2CisjOiBlcnJvci5jOjQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5ib3VuZCB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6IHVuYm91bmQgdmFyaWFibGUiCiAKICM6IGV2YWwuYzoxODEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCi1tc2dzdHIgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnaWQgIgd0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCittc2dzdHIgIgd0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDkxCisjOiBleGVjdXRlX2NtZC5jOjQ5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgogbXNnc3RyICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjExMTIKKyM6IGV4ZWN1dGVfY21kLmM6MTE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJUSU1FRk9STUFUOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIlRJTUVGT1JNQVQ6IOKAmBtbMW0lYxtbMG3igJk6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIAotIzogZXhlY3V0ZV9jbWQuYzoyMDExCisjOiBleGVjdXRlX2NtZC5jOjIwNzUKIG1zZ2lkICJwaXBlIGVycm9yIgogbXNnc3RyICJwaXBlIGVycm9yIgogCi0jOiBleGVjdXRlX2NtZC5jOjQzNjMKKyM6IGV4ZWN1dGVfY21kLmM6NDQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCiBtc2dzdHIgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSDigJgbWzFtLxtbMG3igJkgaW4gY29tbWFuZCBuYW1lcyIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDU0CisjOiBleGVjdXRlX2NtZC5jOjQ1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIlczogY29tbWFuZCBub3QgZm91bmQiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDcwOAorIzogZXhlY3V0ZV9jbWQuYzo0ODI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogYmFkIGludGVycHJldGVyIgogbXNnc3RyICIlczogJXM6IGJhZCBpbnRlcnByZXRlciIKIAotIzogZXhlY3V0ZV9jbWQuYzo0ODU3CisjOiBleGVjdXRlX2NtZC5jOjQ5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKIG1zZ3N0ciAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKQEAgLTk3OCwyOCArMTAxMSwyOCBAQAogbXNnaWQgIm1pc3NpbmcgYCknIgogbXNnc3RyICJtaXNzaW5nIOKAmBtbMW0pG1swbeKAmSIKIAotIzogZXhwci5jOjg5NyBleHByLmM6MTE3NQorIzogZXhwci5jOjg5NyBleHByLmM6MTE3NgogbXNnaWQgInN5bnRheCBlcnJvcjogb3BlcmFuZCBleHBlY3RlZCIKIG1zZ3N0ciAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogCi0jOiBleHByLmM6MTE3NworIzogZXhwci5jOjExNzgKIG1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKIG1zZ3N0ciAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCiAKLSM6IGV4cHIuYzoxMjAxCisjOiBleHByLmM6MTIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgogbXNnc3RyICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyDigJwbWzFtJXMbWzBt4oCdKSIKIAotIzogZXhwci5jOjEyNTkKKyM6IGV4cHIuYzoxMjYwCiBtc2dpZCAiaW52YWxpZCBhcml0aG1ldGljIGJhc2UiCiBtc2dzdHIgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogCi0jOiBleHByLmM6MTI3OQorIzogZXhwci5jOjEyODAKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKIAotIzogZXhwci5jOjEzMjgKKyM6IGV4cHIuYzoxMzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCiBtc2dzdHIgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCkBAIC0xMDA4LDcgKzEwNDEsNyBAQAogbXNnaWQgImdldGN3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQgZGlyZWN0b3JpZXMiCiBtc2dzdHIgImdldGN3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQgZGlyZWN0b3JpZXMiCiAKLSM6IGlucHV0LmM6OTQgc3Vic3QuYzo0NTU5CisjOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDg1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIG1zZ3N0ciAiY2Fubm90IHJlc2V0IG5vZGVsYXkgbW9kZSBmb3IgZmQgJWQiCkBAIC0xMDYxLDcgKzEwOTQsNyBAQAogbXNnaWQgIkRvbmUiCiBtc2dzdHIgIkRvbmUiCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjIKKyM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKIG1zZ2lkICJTdG9wcGVkIgogbXNnc3RyICJTdG9wcGVkIgogCkBAIC0xMDk4LDY5ICsxMTMxLDczIEBACiBtc2dpZCAiICAod2Q6ICVzKSIKIG1zZ3N0ciAiICAod2Q6ICVzKSIKIAotIzogam9icy5jOjE3NzEKKyM6IGpvYnMuYzoxNzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICJjaGlsZCBzZXRwZ2lkICglbGQgdG8gJWxkKSIKIAotIzogam9icy5jOjIwOTkgbm9qb2JzLmM6NTg1CisjOiBqb2JzLmM6MjEwNCBub2pvYnMuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgogbXNnc3RyICJ3YWl0OiBwaWQgJWxkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgc2hlbGwiCiAKLSM6IGpvYnMuYzoyMzI2CisjOiBqb2JzLmM6MjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgogbXNnc3RyICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgogCi0jOiBqb2JzLmM6MjU5OAorIzogam9icy5jOjI2MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKIG1zZ3N0ciAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKIAotIzogam9icy5jOjI4MjAKKyM6IGpvYnMuYzoyODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgaGFzIHRlcm1pbmF0ZWQiCiBtc2dzdHIgIiVzOiBqb2IgaGFzIHRlcm1pbmF0ZWQiCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6MjgzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKIG1zZ3N0ciAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiAKLSM6IGpvYnMuYzozNDkyCisjOiBqb2JzLmM6MzA1OQorbXNnaWQgIndhaXRjaGxkOiB0dXJuaW5nIG9uIFdOT0hBTkcgdG8gYXZvaWQgaW5kZWZpbml0ZSBibG9jayIKK21zZ3N0ciAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgorCisjOiBqb2JzLmM6MzUwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbGluZSAlZDogIgogbXNnc3RyICIlczogbGluZSAlZDogIgogCi0jOiBqb2JzLmM6MzUwNiBub2pvYnMuYzo4MTQKKyM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKGNvcmUgZHVtcGVkKSIKIG1zZ3N0ciAiIChjb3JlIGR1bXBlZCkiCiAKLSM6IGpvYnMuYzozNTE4IGpvYnMuYzozNTMxCisjOiBqb2JzLmM6MzUzNCBqb2JzLmM6MzU0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIod2Qgbm93OiAlcylcbiIKIG1zZ3N0ciAiKHdkIG5vdzogJXMpXG4iCiAKLSM6IGpvYnMuYzozNTYzCisjOiBqb2JzLmM6MzU3OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIGZhaWxlZCIKIAotIzogam9icy5jOjM2MjMKKyM6IGpvYnMuYzozNjM5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgogbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5lIGRpc2NpcGxpbmUiCiAKLSM6IGpvYnMuYzozNjMzCisjOiBqb2JzLmM6MzY0OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiBtc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiAKLSM6IGpvYnMuYzozNjYxCisjOiBqb2JzLmM6MzY3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgKCVkKSIKIG1zZ3N0ciAiY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkiCiAKLSM6IGpvYnMuYzozNjY2CisjOiBqb2JzLmM6MzY4MgogbXNnaWQgIm5vIGpvYiBjb250cm9sIGluIHRoaXMgc2hlbGwiCiBtc2dzdHIgIm5vIGpvYiBjb250cm9sIGluIHRoaXMgc2hlbGwiCiAKQEAgLTEyNTIsNiArMTI4OSwyNiBAQAogbXNnaWQgIm5ldHdvcmsgb3BlcmF0aW9ucyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICJuZXR3b3JrIG9wZXJhdGlvbnMgbm90IHN1cHBvcnRlZCIKIAorIzogbG9jYWxlLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKKworIzogbG9jYWxlLmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKK21zZ3N0ciAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorCisjOiBsb2NhbGUuYzoyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKK21zZ3N0ciAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKKworIzogbG9jYWxlLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKKwogIzogbWFpbGNoZWNrLmM6NDMzCiBtc2dpZCAiWW91IGhhdmUgbWFpbCBpbiAkXyIKIG1zZ3N0ciAiWW91IGhhdmUgbWFpbCBpbiAkXyIKQEAgLTEyNjUsMTMxICsxMzIyLDEzMSBAQAogbXNnaWQgIlRoZSBtYWlsIGluICVzIGhhcyBiZWVuIHJlYWRcbiIKIG1zZ3N0ciAiVGhlIG1haWwgaW4gJXMgaGFzIGJlZW4gcmVhZFxuIgogCi0jOiBtYWtlX2NtZC5jOjMyMgorIzogbWFrZV9jbWQuYzozMjMKIG1zZ2lkICJzeW50YXggZXJyb3I6IGFyaXRobWV0aWMgZXhwcmVzc2lvbiByZXF1aXJlZCIKIG1zZ3N0ciAic3ludGF4IGVycm9yOiBhcml0aG1ldGljIGV4cHJlc3Npb24gcmVxdWlyZWQiCiAKLSM6IG1ha2VfY21kLmM6MzI0CisjOiBtYWtlX2NtZC5jOjMyNQogbXNnaWQgInN5bnRheCBlcnJvcjogYDsnIHVuZXhwZWN0ZWQiCiBtc2dzdHIgInN5bnRheCBlcnJvcjog4oCYG1sxbTsbWzBt4oCZIHVuZXhwZWN0ZWQiCiAKLSM6IG1ha2VfY21kLmM6MzI1CisjOiBtYWtlX2NtZC5jOjMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGAoKCVzKSknIgogbXNnc3RyICJzeW50YXggZXJyb3I6IOKAmBtbMW0oKCVzKSkbWzBt4oCZIgogCi0jOiBtYWtlX2NtZC5jOjU2NworIzogbWFrZV9jbWQuYzo1NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9oZXJlX2RvY3VtZW50OiBiYWQgaW5zdHJ1Y3Rpb24gdHlwZSAlZCIKIG1zZ3N0ciAibWFrZV9oZXJlX2RvY3VtZW50OiBiYWQgaW5zdHJ1Y3Rpb24gdHlwZSAlZCIKIAotIzogbWFrZV9jbWQuYzo2NTEKKyM6IG1ha2VfY21kLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlcmUtZG9jdW1lbnQgYXQgbGluZSAlZCBkZWxpbWl0ZWQgYnkgZW5kLW9mLWZpbGUgKHdhbnRlZCBgJXMnKSIKIG1zZ3N0ciAiaGVyZS1kb2N1bWVudCBhdCBsaW5lICVkIGRlbGltaXRlZCBieSBlbmQtb2YtZmlsZSAod2FudGVkIOKAmBtbMW0lcxtbMG3igJkpIgogCi0jOiBtYWtlX2NtZC5jOjc0NgorIzogbWFrZV9jbWQuYzo3NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIOKAmBtbMW0lZBtbMG3igJkgb3V0IG9mIHJhbmdlIgogCi0jOiBwYXJzZS55OjI5ODYgcGFyc2UueTozMjE4CisjOiBwYXJzZS55OjMxMzMgcGFyc2UueTozMzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGAlYyciCiBtc2dzdHIgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIOKAmBtbMW0lYxtbMG3igJkiCiAKLSM6IHBhcnNlLnk6MzcyMgorIzogcGFyc2UueTozOTUxCiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3Ig4oCYG1sxbV1dG1swbeKAmSIKIAotIzogcGFyc2UueTozNzI3CisjOiBwYXJzZS55OjM5NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4g4oCYG1sxbSVzG1swbeKAmSIKIAotIzogcGFyc2UueTozNzMxCisjOiBwYXJzZS55OjM5NjAKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiAKLSM6IHBhcnNlLnk6MzgwOQorIzogcGFyc2UueTo0MDM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgogbXNnc3RyICJ1bmV4cGVjdGVkIHRva2VuIOKAmBtbMW0lcxtbMG3igJksIGV4cGVjdGVkIOKAmBtbMW0pG1swbeKAmSIKIAotIzogcGFyc2UueTozODEzCisjOiBwYXJzZS55OjQwNDIKIG1zZ2lkICJleHBlY3RlZCBgKSciCiBtc2dzdHIgImV4cGVjdGVkIOKAmBtbMW0pG1swbeKAmSIKIAotIzogcGFyc2UueTozODQxCisjOiBwYXJzZS55OjQwNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJ1bmV4cGVjdGVkIGFyZ3VtZW50IOKAmBtbMW0lcxtbMG3igJkgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiAKLSM6IHBhcnNlLnk6Mzg0NQorIzogcGFyc2UueTo0MDc0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIAotIzogcGFyc2UueTozODg1CisjOiBwYXJzZS55OjQxMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgInVuZXhwZWN0ZWQgdG9rZW4g4oCYG1sxbSVzG1swbeKAmSwgY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogCi0jOiBwYXJzZS55OjM4ODkKKyM6IHBhcnNlLnk6NDEyNAogbXNnaWQgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogCi0jOiBwYXJzZS55OjM5MDYKKyM6IHBhcnNlLnk6NDE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJ1bmV4cGVjdGVkIGFyZ3VtZW50IOKAmBtbMW0lcxtbMG3igJkgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogCi0jOiBwYXJzZS55OjM5MTAKKyM6IHBhcnNlLnk6NDE1MAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIAotIzogcGFyc2UueTozOTIxCisjOiBwYXJzZS55OjQxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgInVuZXhwZWN0ZWQgdG9rZW4g4oCYG1sxbSVjG1swbeKAmSBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogCi0jOiBwYXJzZS55OjM5MjQKKyM6IHBhcnNlLnk6NDE2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAidW5leHBlY3RlZCB0b2tlbiDigJgbWzFtJXMbWzBt4oCZIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiAKLSM6IHBhcnNlLnk6MzkyOAorIzogcGFyc2UueTo0MTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gJWQgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogCi0jOiBwYXJzZS55OjUxOTUKKyM6IHBhcnNlLnk6NTQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4g4oCYG1sxbSVzG1swbeKAmSIKIAotIzogcGFyc2UueTo1MjEzCisjOiBwYXJzZS55OjU0NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgYCVzJyIKIG1zZ3N0ciAic3ludGF4IGVycm9yIG5lYXIg4oCYG1sxbSVzG1swbeKAmSIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgInN5bnRheCBlcnJvciIKIAotIzogcGFyc2UueTo1Mjg1CisjOiBwYXJzZS55OjU1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIFwiJXNcIiB0byBsZWF2ZSB0aGUgc2hlbGwuXG4iCiBtc2dzdHIgIlVzZSDigJwbWzFtJXMbWzBt4oCdIHRvIGxlYXZlIHRoZSBzaGVsbC5cbiIKIAotIzogcGFyc2UueTo1NDQ3CisjOiBwYXJzZS55OjU3MTEKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgKSciCiBtc2dzdHIgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIOKAmBtbMW0pG1swbeKAmSIKIAotIzogcGNvbXBsZXRlLmM6MTAxOAorIzogcGNvbXBsZXRlLmM6MTAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0aW9uOiBmdW5jdGlvbiBgJXMnIG5vdCBmb3VuZCIKIG1zZ3N0ciAiY29tcGxldGlvbjogZnVuY3Rpb24g4oCYG1sxbSVzG1swbeKAmSBub3QgZm91bmQiCkBAIC0xMzk5LDcxICsxNDU2LDkwIEBACiBtc2dpZCAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIG1zZ3N0ciAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIAotIzogcHJpbnRfY21kLmM6Mjg1CisjOiBwcmludF9jbWQuYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJpbnRfY29tbWFuZDogYmFkIGNvbm5lY3RvciBgJWQnIgogbXNnc3RyICJwcmludF9jb21tYW5kOiBiYWQgY29ubmVjdG9yIOKAmBtbMW0lZBtbMG3igJkiCiAKLSM6IHByaW50X2NtZC5jOjEzNDgKKyM6IHByaW50X2NtZC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKKworIzogcHJpbnRfY21kLmM6MzY4Cittc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCittc2dzdHIgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgorCisjOiBwcmludF9jbWQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgorbXNnc3RyICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCisKKyM6IHByaW50X2NtZC5jOjE0NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3ByaW50ZjogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJjcHJpbnRmOiDigJgbWzFtJWMbWzBt4oCZOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiAKLSM6IHJlZGlyLmM6MTA1CisjOiByZWRpci5jOjExMAogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiAKLSM6IHJlZGlyLmM6MTQ4CisjOiByZWRpci5jOjE2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYW1iaWd1b3VzIHJlZGlyZWN0IgogbXNnc3RyICIlczogYW1iaWd1b3VzIHJlZGlyZWN0IgogCi0jOiByZWRpci5jOjE1MgorIzogcmVkaXIuYzoxNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIG1zZ3N0ciAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIAotIzogcmVkaXIuYzoxNTcKKyM6IHJlZGlyLmM6MTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3QgcmVkaXJlY3Qgb3V0cHV0IgogbXNnc3RyICIlczogcmVzdHJpY3RlZDogY2Fubm90IHJlZGlyZWN0IG91dHB1dCIKIAotIzogcmVkaXIuYzoxNjIKKyM6IHJlZGlyLmM6MTgwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKIG1zZ3N0ciAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgogCi0jOiByZWRpci5jOjUxNworIzogcmVkaXIuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gZmQgdG8gdmFyaWFibGUiCittc2dzdHIgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgorCisjOiByZWRpci5jOjU0NAogbXNnaWQgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKIG1zZ3N0ciAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IG5vdCBzdXBwb3J0ZWQgd2l0aG91dCBuZXR3b3JraW5nIgogCi0jOiByZWRpci5jOjEwMjMKKyM6IHJlZGlyLmM6MTEwMQogbXNnaWQgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgogbXNnc3RyICJyZWRpcmVjdGlvbiBlcnJvcjogY2Fubm90IGR1cGxpY2F0ZSBmZCIKIAotIzogc2hlbGwuYzozMjgKKyM6IHNoZWxsLmM6MzMyCiBtc2dpZCAiY291bGQgbm90IGZpbmQgL3RtcCwgcGxlYXNlIGNyZWF0ZSEiCiBtc2dzdHIgImNvdWxkIG5vdCBmaW5kIC90bXAsIHBsZWFzZSBjcmVhdGUhIgogCi0jOiBzaGVsbC5jOjMzMgorIzogc2hlbGwuYzozMzYKIG1zZ2lkICIvdG1wIG11c3QgYmUgYSB2YWxpZCBkaXJlY3RvcnkgbmFtZSIKIG1zZ3N0ciAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCiAKLSM6IHNoZWxsLmM6ODc2CisjOiBzaGVsbC5jOjg4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJWMlYzogaW52YWxpZCBvcHRpb24iCiAKLSM6IHNoZWxsLmM6MTYzOAorIzogc2hlbGwuYzoxNjUxCiBtc2dpZCAiSSBoYXZlIG5vIG5hbWUhIgogbXNnc3RyICJJIGhhdmUgbm8gbmFtZSEiCiAKLSM6IHNoZWxsLmM6MTc3OAorIzogc2hlbGwuYzoxNzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkdOVSBiYXNoLCB2ZXJzaW9uICVzLSglcylcbiIKIG1zZ3N0ciAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgogCi0jOiBzaGVsbC5jOjE3NzkKKyM6IHNoZWxsLmM6MTc5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKQEAgLTE0NzIsMzgzICsxNTQ4LDQwNiBAQAogIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCiAiXHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSBzY3JpcHQtZmlsZSAuLi5cbiIKIAotIzogc2hlbGwuYzoxNzgxCisjOiBzaGVsbC5jOjE3OTYKIG1zZ2lkICJHTlUgbG9uZyBvcHRpb25zOlxuIgogbXNnc3RyICJHTlUgbG9uZyBvcHRpb25zOlxuIgogCi0jOiBzaGVsbC5jOjE3ODUKKyM6IHNoZWxsLmM6MTgwMAogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgIlNoZWxsIG9wdGlvbnM6XG4iCiAKLSM6IHNoZWxsLmM6MTc4NgorIzogc2hlbGwuYzoxODAxCiBtc2dpZCAiXHQtaXJzRCBvciAtYyBjb21tYW5kIG9yIC1PIHNob3B0X29wdGlvblx0XHQoaW52b2NhdGlvbiBvbmx5KVxuIgogbXNnc3RyICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCiAKLSM6IHNoZWxsLmM6MTgwMQorIzogc2hlbGwuYzoxODE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgogbXNnc3RyICJcdC0lcyBvciAtbyBvcHRpb25cbiIKIAotIzogc2hlbGwuYzoxODA3CisjOiBzaGVsbC5jOjE4MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgXCJoZWxwIHNldFwiJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBvcHRpb25zLlxuIgogbXNnc3RyICIiCiAiVHlwZSDigJgbWzFtJXMgLWMg4oCcG1sxbWhlbHAgc2V0G1swbeKAnRtbMG3igJkgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgIgogIm9wdGlvbnMuXG4iCiAKLSM6IHNoZWxsLmM6MTgwOAorIzogc2hlbGwuYzoxODIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIGhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIGJ1aWx0aW4gY29tbWFuZHMuXG4iCiBtc2dzdHIgIiIKICJUeXBlIOKAmBtbMW0lcyAtYyBoZWxwG1swbeKAmSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgogCi0jOiBzaGVsbC5jOjE4MDkKKyM6IHNoZWxsLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgdGhlIGBiYXNoYnVnJyBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgogbXNnc3RyICJVc2UgdGhlIOKAmBtbMW1iYXNoYnVnG1swbeKAmSBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgogCi0jOiBzaWcuYzo1ODMKKyM6IHNpZy5jOjYyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzaWdwcm9jbWFzazogJWQ6IGludmFsaWQgb3BlcmF0aW9uIgogbXNnc3RyICJzaWdwcm9jbWFzazogJWQ6IGludmFsaWQgb3BlcmF0aW9uIgogCi0jOiBzaWdsaXN0LmM6NDcKKyM6IHNpZ2xpc3QuYzo0OAogbXNnaWQgIkJvZ3VzIHNpZ25hbCIKIG1zZ3N0ciAiQm9ndXMgc2lnbmFsIgogCi0jOiBzaWdsaXN0LmM6NTAKKyM6IHNpZ2xpc3QuYzo1MQogbXNnaWQgIkhhbmd1cCIKIG1zZ3N0ciAiSGFuZ3VwIgogCi0jOiBzaWdsaXN0LmM6NTQKKyM6IHNpZ2xpc3QuYzo1NQogbXNnaWQgIkludGVycnVwdCIKIG1zZ3N0ciAiSW50ZXJydXB0IgogCi0jOiBzaWdsaXN0LmM6NTgKKyM6IHNpZ2xpc3QuYzo1OQogbXNnaWQgIlF1aXQiCiBtc2dzdHIgIlF1aXQiCiAKLSM6IHNpZ2xpc3QuYzo2MgorIzogc2lnbGlzdC5jOjYzCiBtc2dpZCAiSWxsZWdhbCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiSWxsZWdhbCBpbnN0cnVjdGlvbiIKIAotIzogc2lnbGlzdC5jOjY2CisjOiBzaWdsaXN0LmM6NjcKIG1zZ2lkICJCUFQgdHJhY2UvdHJhcCIKIG1zZ3N0ciAiQlBUIHRyYWNlL3RyYXAiCiAKLSM6IHNpZ2xpc3QuYzo3NAorIzogc2lnbGlzdC5jOjc1CiBtc2dpZCAiQUJPUlQgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIkFCT1JUIGluc3RydWN0aW9uIgogCi0jOiBzaWdsaXN0LmM6NzgKKyM6IHNpZ2xpc3QuYzo3OQogbXNnaWQgIkVNVCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiRU1UIGluc3RydWN0aW9uIgogCi0jOiBzaWdsaXN0LmM6ODIKKyM6IHNpZ2xpc3QuYzo4MwogbXNnaWQgIkZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiIKIG1zZ3N0ciAiRmxvYXRpbmcgcG9pbnQgZXhjZXB0aW9uIgogCi0jOiBzaWdsaXN0LmM6ODYKKyM6IHNpZ2xpc3QuYzo4NwogbXNnaWQgIktpbGxlZCIKIG1zZ3N0ciAiS2lsbGVkIgogCi0jOiBzaWdsaXN0LmM6OTAKKyM6IHNpZ2xpc3QuYzo5MQogbXNnaWQgIkJ1cyBlcnJvciIKIG1zZ3N0ciAiQnVzIGVycm9yIgogCi0jOiBzaWdsaXN0LmM6OTQKKyM6IHNpZ2xpc3QuYzo5NQogbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKIG1zZ3N0ciAiU2VnbWVudGF0aW9uIGZhdWx0IgogCi0jOiBzaWdsaXN0LmM6OTgKKyM6IHNpZ2xpc3QuYzo5OQogbXNnaWQgIkJhZCBzeXN0ZW0gY2FsbCIKIG1zZ3N0ciAiQmFkIHN5c3RlbSBjYWxsIgogCi0jOiBzaWdsaXN0LmM6MTAyCisjOiBzaWdsaXN0LmM6MTAzCiBtc2dpZCAiQnJva2VuIHBpcGUiCiBtc2dzdHIgIkJyb2tlbiBwaXBlIgogCi0jOiBzaWdsaXN0LmM6MTA2CisjOiBzaWdsaXN0LmM6MTA3CiBtc2dpZCAiQWxhcm0gY2xvY2siCiBtc2dzdHIgIkFsYXJtIGNsb2NrIgogCi0jOiBzaWdsaXN0LmM6MTEwCisjOiBzaWdsaXN0LmM6MTExCiBtc2dpZCAiVGVybWluYXRlZCIKIG1zZ3N0ciAiVGVybWluYXRlZCIKIAotIzogc2lnbGlzdC5jOjExNAorIzogc2lnbGlzdC5jOjExNQogbXNnaWQgIlVyZ2VudCBJTyBjb25kaXRpb24iCiBtc2dzdHIgIlVyZ2VudCBJTyBjb25kaXRpb24iCiAKLSM6IHNpZ2xpc3QuYzoxMTgKKyM6IHNpZ2xpc3QuYzoxMTkKIG1zZ2lkICJTdG9wcGVkIChzaWduYWwpIgogbXNnc3RyICJTdG9wcGVkIChzaWduYWwpIgogCi0jOiBzaWdsaXN0LmM6MTI2CisjOiBzaWdsaXN0LmM6MTI3CiBtc2dpZCAiQ29udGludWUiCiBtc2dzdHIgIkNvbnRpbnVlIgogCi0jOiBzaWdsaXN0LmM6MTM0CisjOiBzaWdsaXN0LmM6MTM1CiBtc2dpZCAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKIG1zZ3N0ciAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKIAotIzogc2lnbGlzdC5jOjEzOAorIzogc2lnbGlzdC5jOjEzOQogbXNnaWQgIlN0b3BwZWQgKHR0eSBpbnB1dCkiCiBtc2dzdHIgIlN0b3BwZWQgKHR0eSBpbnB1dCkiCiAKLSM6IHNpZ2xpc3QuYzoxNDIKKyM6IHNpZ2xpc3QuYzoxNDMKIG1zZ2lkICJTdG9wcGVkICh0dHkgb3V0cHV0KSIKIG1zZ3N0ciAiU3RvcHBlZCAodHR5IG91dHB1dCkiCiAKLSM6IHNpZ2xpc3QuYzoxNDYKKyM6IHNpZ2xpc3QuYzoxNDcKIG1zZ2lkICJJL08gcmVhZHkiCiBtc2dzdHIgIkkvTyByZWFkeSIKIAotIzogc2lnbGlzdC5jOjE1MAorIzogc2lnbGlzdC5jOjE1MQogbXNnaWQgIkNQVSBsaW1pdCIKIG1zZ3N0ciAiQ1BVIGxpbWl0IgogCi0jOiBzaWdsaXN0LmM6MTU0CisjOiBzaWdsaXN0LmM6MTU1CiBtc2dpZCAiRmlsZSBsaW1pdCIKIG1zZ3N0ciAiRmlsZSBsaW1pdCIKIAotIzogc2lnbGlzdC5jOjE1OAorIzogc2lnbGlzdC5jOjE1OQogbXNnaWQgIkFsYXJtICh2aXJ0dWFsKSIKIG1zZ3N0ciAiQWxhcm0gKHZpcnR1YWwpIgogCi0jOiBzaWdsaXN0LmM6MTYyCisjOiBzaWdsaXN0LmM6MTYzCiBtc2dpZCAiQWxhcm0gKHByb2ZpbGUpIgogbXNnc3RyICJBbGFybSAocHJvZmlsZSkiCiAKLSM6IHNpZ2xpc3QuYzoxNjYKKyM6IHNpZ2xpc3QuYzoxNjcKIG1zZ2lkICJXaW5kb3cgY2hhbmdlZCIKIG1zZ3N0ciAiV2luZG93IGNoYW5nZWQiCiAKLSM6IHNpZ2xpc3QuYzoxNzAKKyM6IHNpZ2xpc3QuYzoxNzEKIG1zZ2lkICJSZWNvcmQgbG9jayIKIG1zZ3N0ciAiUmVjb3JkIGxvY2siCiAKLSM6IHNpZ2xpc3QuYzoxNzQKKyM6IHNpZ2xpc3QuYzoxNzUKIG1zZ2lkICJVc2VyIHNpZ25hbCAxIgogbXNnc3RyICJVc2VyIHNpZ25hbCAxIgogCi0jOiBzaWdsaXN0LmM6MTc4CisjOiBzaWdsaXN0LmM6MTc5CiBtc2dpZCAiVXNlciBzaWduYWwgMiIKIG1zZ3N0ciAiVXNlciBzaWduYWwgMiIKIAotIzogc2lnbGlzdC5jOjE4MgorIzogc2lnbGlzdC5jOjE4MwogbXNnaWQgIkhGVCBpbnB1dCBkYXRhIHBlbmRpbmciCiBtc2dzdHIgIkhGVCBpbnB1dCBkYXRhIHBlbmRpbmciCiAKLSM6IHNpZ2xpc3QuYzoxODYKKyM6IHNpZ2xpc3QuYzoxODcKIG1zZ2lkICJwb3dlciBmYWlsdXJlIGltbWluZW50IgogbXNnc3RyICJwb3dlciBmYWlsdXJlIGltbWluZW50IgogCi0jOiBzaWdsaXN0LmM6MTkwCisjOiBzaWdsaXN0LmM6MTkxCiBtc2dpZCAic3lzdGVtIGNyYXNoIGltbWluZW50IgogbXNnc3RyICJzeXN0ZW0gY3Jhc2ggaW1taW5lbnQiCiAKLSM6IHNpZ2xpc3QuYzoxOTQKKyM6IHNpZ2xpc3QuYzoxOTUKIG1zZ2lkICJtaWdyYXRlIHByb2Nlc3MgdG8gYW5vdGhlciBDUFUiCiBtc2dzdHIgIm1pZ3JhdGUgcHJvY2VzcyB0byBhbm90aGVyIENQVSIKIAotIzogc2lnbGlzdC5jOjE5OAorIzogc2lnbGlzdC5jOjE5OQogbXNnaWQgInByb2dyYW1taW5nIGVycm9yIgogbXNnc3RyICJwcm9ncmFtbWluZyBlcnJvciIKIAotIzogc2lnbGlzdC5jOjIwMgorIzogc2lnbGlzdC5jOjIwMwogbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgZ3JhbnRlZCIKIG1zZ3N0ciAiSEZUIG1vbml0b3IgbW9kZSBncmFudGVkIgogCi0jOiBzaWdsaXN0LmM6MjA2CisjOiBzaWdsaXN0LmM6MjA3CiBtc2dpZCAiSEZUIG1vbml0b3IgbW9kZSByZXRyYWN0ZWQiCiBtc2dzdHIgIkhGVCBtb25pdG9yIG1vZGUgcmV0cmFjdGVkIgogCi0jOiBzaWdsaXN0LmM6MjEwCisjOiBzaWdsaXN0LmM6MjExCiBtc2dpZCAiSEZUIHNvdW5kIHNlcXVlbmNlIGhhcyBjb21wbGV0ZWQiCiBtc2dzdHIgIkhGVCBzb3VuZCBzZXF1ZW5jZSBoYXMgY29tcGxldGVkIgogCi0jOiBzaWdsaXN0LmM6MjE0CisjOiBzaWdsaXN0LmM6MjE1CiBtc2dpZCAiSW5mb3JtYXRpb24gcmVxdWVzdCIKIG1zZ3N0ciAiSW5mb3JtYXRpb24gcmVxdWVzdCIKIAotIzogc2lnbGlzdC5jOjIyMgorIzogc2lnbGlzdC5jOjIyMwogbXNnaWQgIlVua25vd24gU2lnbmFsICMiCiBtc2dzdHIgIlVua25vd24gU2lnbmFsICMiCiAKLSM6IHNpZ2xpc3QuYzoyMjQKKyM6IHNpZ2xpc3QuYzoyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyVkIgogbXNnc3RyICJVbmtub3duIFNpZ25hbCAjJWQiCiAKLSM6IHN1YnN0LmM6MTE4MSBzdWJzdC5jOjEzMDIKKyM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgogbXNnc3RyICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIOKAmBtbMW0lcxtbMG3igJkgaW4gJXMiCiAKLSM6IHN1YnN0LmM6MjQ1OAorIzogc3Vic3QuYzoyNzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogbXNnc3RyICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKIAotIzogc3Vic3QuYzo0NDU2IHN1YnN0LmM6NDQ3MgorIzogc3Vic3QuYzo0NzU0IHN1YnN0LmM6NDc3MAogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJjYW5ub3QgbWFrZSBwaXBlIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIAotIzogc3Vic3QuYzo0NTA0CisjOiBzdWJzdC5jOjQ4MDIKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIAotIzogc3Vic3QuYzo0NTQ5CisjOiBzdWJzdC5jOjQ4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3IgcmVhZGluZyIKIAotIzogc3Vic3QuYzo0NTUxCisjOiBzdWJzdC5jOjQ4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKIAotIzogc3Vic3QuYzo0NTY5CisjOiBzdWJzdC5jOjQ4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBuYW1lZCBwaXBlICVzIGFzIGZkICVkIgogbXNnc3RyICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiAKLSM6IHN1YnN0LmM6NDc2NQorIzogc3Vic3QuYzo1MDYzCiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImNhbm5vdCBtYWtlIHBpcGUgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogCi0jOiBzdWJzdC5jOjQ3OTkKKyM6IHN1YnN0LmM6NTA5NwogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogCi0jOiBzdWJzdC5jOjQ4MTYKKyM6IHN1YnN0LmM6NTExNAogbXNnaWQgImNvbW1hbmRfc3Vic3RpdHV0ZTogY2Fubm90IGR1cGxpY2F0ZSBwaXBlIGFzIGZkIDEiCiBtc2dzdHIgImNvbW1hbmRfc3Vic3RpdHV0ZTogY2Fubm90IGR1cGxpY2F0ZSBwaXBlIGFzIGZkIDEiCiAKLSM6IHN1YnN0LmM6NTMxOAorIzogc3Vic3QuYzo1NjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXJhbWV0ZXIgbnVsbCBvciBub3Qgc2V0IgogbXNnc3RyICIlczogcGFyYW1ldGVyIG51bGwgb3Igbm90IHNldCIKIAotIzogc3Vic3QuYzo1NjA4CisjOiBzdWJzdC5jOjU5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKIG1zZ3N0ciAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKIAotIzogc3Vic3QuYzo2NjYwCisjOiBzdWJzdC5jOjY5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgogCi0jOiBzdWJzdC5jOjY3NDAKKyM6IHN1YnN0LmM6NzA0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIkJXM6IGNhbm5vdCBhc3NpZ24gaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKIAotIzogc3Vic3QuYzo3NDk5CisjOiBzdWJzdC5jOjczNzQKK21zZ2lkICIiCisiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyAiCisic3Vic3RpdHV0aW9uIgorbXNnc3RyICIiCisiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyAiCisic3Vic3RpdHV0aW9uIgorCisjOiBzdWJzdC5jOjc4MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBcImBcIiBpbiAlcyIKIG1zZ3N0ciAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyDigJwbWzFtYBtbMG3igJ0gaW4gJXMiCiAKLSM6IHN1YnN0LmM6ODM3NQorIzogc3Vic3QuYzo4NzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoOiAlcyIKIG1zZ3N0ciAibm8gbWF0Y2g6ICVzIgogCi0jOiB0ZXN0LmM6MTQ1CisjOiB0ZXN0LmM6MTQ2CiBtc2dpZCAiYXJndW1lbnQgZXhwZWN0ZWQiCiBtc2dzdHIgImFyZ3VtZW50IGV4cGVjdGVkIgogCi0jOiB0ZXN0LmM6MTU0CisjOiB0ZXN0LmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnRlZ2VyIGV4cHJlc3Npb24gZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBpbnRlZ2VyIGV4cHJlc3Npb24gZXhwZWN0ZWQiCiAKLSM6IHRlc3QuYzoyNjIKKyM6IHRlc3QuYzoyNjMKIG1zZ2lkICJgKScgZXhwZWN0ZWQiCiBtc2dzdHIgIuKAmBtbMW0pG1swbeKAmSBleHBlY3RlZCIKIAotIzogdGVzdC5jOjI2NAorIzogdGVzdC5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICLigJgbWzFtKRtbMG3igJkgZXhwZWN0ZWQsIGZvdW5kICVzIgogCi0jOiB0ZXN0LmM6Mjc5IHRlc3QuYzo2ODggdGVzdC5jOjY5MQorIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogdW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiAKLSM6IHRlc3QuYzo0NDQgdGVzdC5jOjczMQorIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiAKLSM6IHRlc3QuYzo4MDYKKyM6IHRlc3QuYzo4MTEKIG1zZ2lkICJtaXNzaW5nIGBdJyIKIG1zZ3N0ciAibWlzc2luZyDigJgbWzFtXRtbMG3igJkiCiAKLSM6IHRyYXAuYzoyMDEKKyM6IHRyYXAuYzoyMDMKIG1zZ2lkICJpbnZhbGlkIHNpZ25hbCBudW1iZXIiCiBtc2dzdHIgImludmFsaWQgc2lnbmFsIG51bWJlciIKIAotIzogdHJhcC5jOjMyNAorIzogdHJhcC5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogbXNnc3RyICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogCi0jOiB0cmFwLmM6MzI4CisjOiB0cmFwLmM6MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgogbXNnc3RyICIiCiAicnVuX3BlbmRpbmdfdHJhcHM6IHNpZ25hbCBoYW5kbGVyIGlzIFNJR19ERkwsIHJlc2VuZGluZyAlZCAoJXMpIHRvIG15c2VsZiIKIAotIzogdHJhcC5jOjM3MgorIzogdHJhcC5jOjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFwX2hhbmRsZXI6IGJhZCBzaWduYWwgJWQiCiBtc2dzdHIgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKIAotIzogdmFyaWFibGVzLmM6MzU4CisjOiB2YXJpYWJsZXMuYzozNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIGAlcyciCiBtc2dzdHIgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciDigJgbWzFtJXMbWzBt4oCZIgogCi0jOiB2YXJpYWJsZXMuYzo3MzYKKyM6IHZhcmlhYmxlcy5jOjc0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGVsbCBsZXZlbCAoJWQpIHRvbyBoaWdoLCByZXNldHRpbmcgdG8gMSIKIG1zZ3N0ciAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCiAKLSM6IHZhcmlhYmxlcy5jOjE4OTgKKyM6IHZhcmlhYmxlcy5jOjE5MTUKIG1zZ2lkICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIAotIzogdmFyaWFibGVzLmM6MzEyNworIzogdmFyaWFibGVzLmM6MzE1OQogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogCi0jOiB2YXJpYWJsZXMuYzozMzQ0IHZhcmlhYmxlcy5jOjMzNTMKKyM6IHZhcmlhYmxlcy5jOjMzNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG51bGwgZXhwb3J0c3RyIgorbXNnc3RyICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCisKKyM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIgogCi0jOiB2YXJpYWJsZXMuYzozMzU5CisjOiB2YXJpYWJsZXMuYzozMzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICJubyDigJgbWzFtPRtbMG3igJkgaW4gZXhwb3J0c3RyIGZvciAlcyIKIAotIzogdmFyaWFibGVzLmM6Mzc5NAorIzogdmFyaWFibGVzLmM6MzgzNQogbXNnaWQgInBvcF92YXJfY29udGV4dDogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgZnVuY3Rpb24gY29udGV4dCIKIG1zZ3N0ciAicG9wX3Zhcl9jb250ZXh0OiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSBmdW5jdGlvbiBjb250ZXh0IgogCi0jOiB2YXJpYWJsZXMuYzozODA3CisjOiB2YXJpYWJsZXMuYzozODQ4CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBubyBnbG9iYWxfdmFyaWFibGVzIGNvbnRleHQiCiBtc2dzdHIgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogCi0jOiB2YXJpYWJsZXMuYzozODgxCisjOiB2YXJpYWJsZXMuYzozOTIyCiBtc2dpZCAicG9wX3Njb3BlOiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgc2NvcGUiCiBtc2dzdHIgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgogCisjOiB2YXJpYWJsZXMuYzo0Njc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogY2Fubm90IG9wZW4gYXMgRklMRSIKK21zZ3N0ciAiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIgorCisjOiB2YXJpYWJsZXMuYzo0NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogaW52YWxpZCB2YWx1ZSBmb3IgdHJhY2UgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICIlczogJXM6IGludmFsaWQgdmFsdWUgZm9yIHRyYWNlIGZpbGUgZGVzY3JpcHRvciIKKwogIzogdmVyc2lvbi5jOjQ2CiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIG1zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKQEAgLTE4NjEsNjAgKzE5NjAsNTQgQEAKICJMaWNlbnNlIEdQTHYzKzogR05VIEdQTCB2ZXJzaW9uIDMgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCiAiaHRtbD5cbiIKIAotIzogdmVyc2lvbi5jOjg2CisjOiB2ZXJzaW9uLmM6ODYgdmVyc2lvbjIuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcyAoJXMpXG4iCiBtc2dzdHIgIkdOVSBiYXNoLCB2ZXJzaW9uICVzICglcylcbiIKIAotIzogdmVyc2lvbi5jOjkxCisjOiB2ZXJzaW9uLmM6OTEgdmVyc2lvbjIuYzo4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC5cbiIKIG1zZ3N0ciAiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgYXJlIGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuXG4iCiAKLSM6IHZlcnNpb24uYzo5MgorIzogdmVyc2lvbi5jOjkyIHZlcnNpb24yLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKIG1zZ3N0ciAiVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKIAotIzogeG1hbGxvYy5jOjkyCisjOiB2ZXJzaW9uMi5jOjg2CiAjLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICJ4bWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCittc2dzdHIgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKIAotIzogeG1hbGxvYy5jOjk0CisjOiB2ZXJzaW9uMi5jOjg3CiAjLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhtYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCittc2dpZCAiIgorIkxpY2Vuc2UgR1BMdjIrOiBHTlUgR1BMIHZlcnNpb24gMiBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKKyJodG1sPlxuIgorbXNnc3RyICIiCisiTGljZW5zZSBHUEx2Mis6IEdOVSBHUEwgdmVyc2lvbiAyIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgorImh0bWw+XG4iCiAKLSM6IHhtYWxsb2MuYzoxMTQKKyM6IHhtYWxsb2MuYzo5MQogIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCittc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorbXNnc3RyICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiAKLSM6IHhtYWxsb2MuYzoxMTYKKyM6IHhtYWxsb2MuYzo5MwogIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKLW1zZ3N0ciAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCittc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCittc2dzdHIgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgogCi0jOiB4bWFsbG9jLmM6MTUwCisjOiB4bWFsbG9jLmM6MTYzCiAjLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAieG1hbGxvYzogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCittc2dzdHIgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiAKLSM6IHhtYWxsb2MuYzoxNTIKKyM6IHhtYWxsb2MuYzoxNjUKICMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotCi0jOiB4bWFsbG9jLmM6MTc0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotCi0jOiB4bWFsbG9jLmM6MTc2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKLW1zZ3N0ciAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKK21zZ3N0ciAiJXM6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgogCiAjOiBidWlsdGlucy5jOjQzCiBtc2dpZCAiYWxpYXMgWy1wXSBbbmFtZVs9dmFsdWVdIC4uLiBdIgpAQCAtMjAzMyw4ICsyMTI2LDggQEAKIG1zZ3N0ciAiaGFzaCBbLWxyXSBbLXAgcGF0aG5hbWVdIFstZHRdIFtuYW1lIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTE3Ci1tc2dpZCAiaGVscCBbLWRzXSBbcGF0dGVybiAuLi5dIgotbXNnc3RyICJoZWxwIFstZHNdIFtwYXR0ZXJuIC4uLl0iCittc2dpZCAiaGVscCBbLWRtc10gW3BhdHRlcm4gLi4uXSIKK21zZ3N0ciAiaGVscCBbLWRtc10gW3BhdHRlcm4gLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMjEKIG1zZ2lkICIiCkBAIC0yMDY2LDExICsyMTU5LDExIEBACiAKICM6IGJ1aWx0aW5zLmM6MTM2CiBtc2dpZCAiIgotInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1wIHByb21wdF0gWy10ICIKLSJ0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCisicmVhZCBbLWVyc10gWy1hIGFycmF5XSBbLWQgZGVsaW1dIFstaSB0ZXh0XSBbLW4gbmNoYXJzXSBbLU4gbmNoYXJzXSBbLXAgIgorInByb21wdF0gWy10IHRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgotInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1wIHByb21wdF0gWy10ICIKLSJ0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCisicmVhZCBbLWVyc10gWy1hIGFycmF5XSBbLWQgZGVsaW1dIFstaSB0ZXh0XSBbLW4gbmNoYXJzXSBbLU4gbmNoYXJzXSBbLXAgIgorInByb21wdF0gWy10IHRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMzgKIG1zZ2lkICJyZXR1cm4gW25dIgpAQCAtMjIzMCwxMyArMjMyMywxMyBAQAogCiAjOiBidWlsdGlucy5jOjIyOQogbXNnaWQgIiIKLSJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1vIG9wdGlvbl0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstVyAiCi0id29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgc3VmZml4XSAiCi0iW25hbWUgLi4uXSIKKyJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1ERV0gWy1vIG9wdGlvbl0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstIgorIlcgd29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgIgorInN1ZmZpeF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgotImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy1XICIKLSJ3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyBzdWZmaXhdICIKLSJbbmFtZSAuLi5dIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy0iCisiVyB3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyAiCisic3VmZml4XSBbbmFtZSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjIzMwogbXNnaWQgIiIKQEAgLTIyNDcsOCArMjM0MCw4IEBACiAiWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TIHN1ZmZpeF0gW3dvcmRdIgogCiAjOiBidWlsdGlucy5jOjIzNwotbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gW25hbWUgLi4uXSIKLW1zZ3N0ciAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbbmFtZSAuLi5dIgorbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gWy1ERV0gW25hbWUgLi4uXSIKK21zZ3N0ciAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbLURFXSBbbmFtZSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjI0MAogbXNnaWQgIiIKQEAgLTM1MjcsNyArMzYyMCwxMSBAQAogIiAgICAgIC1lXHRcdHVzZSBSZWFkbGluZSB0byBvYnRhaW4gdGhlIGxpbmUgaW4gYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKICIgICAgICAtaSB0ZXh0XHRVc2UgVEVYVCBhcyB0aGUgaW5pdGlhbCB0ZXh0IGZvciBSZWFkbGluZVxuIgogIiAgICAgIC1uIG5jaGFyc1x0cmV0dXJuIGFmdGVyIHJlYWRpbmcgTkNIQVJTIGNoYXJhY3RlcnMgcmF0aGVyIHRoYW4gd2FpdGluZ1xuIgotIiAgICBcdFx0Zm9yIGEgbmV3bGluZVxuIgorIiAgICBcdFx0Zm9yIGEgbmV3bGluZSwgYnV0IGhvbm9yIGEgZGVsaW1pdGVyIGlmIGZld2VyIHRoYW4gTkNIQVJTXG4iCisiICAgIFx0XHRjaGFyYWN0ZXJzIGFyZSByZWFkIGJlZm9yZSB0aGUgZGVsaW1pdGVyXG4iCisiICAgICAgLU4gbmNoYXJzXHRyZXR1cm4gb25seSBhZnRlciByZWFkaW5nIGV4YWN0bHkgTkNIQVJTIGNoYXJhY3RlcnMsICIKKyJ1bmxlc3NcbiIKKyIgICAgXHRcdEVPRiBpcyBlbmNvdW50ZXJlZCBvciByZWFkIHRpbWVzIG91dCwgaWdub3JpbmcgYW55IGRlbGltaXRlclxuIgogIiAgICAgIC1wIHByb21wdFx0b3V0cHV0IHRoZSBzdHJpbmcgUFJPTVBUIHdpdGhvdXQgYSB0cmFpbGluZyBuZXdsaW5lIGJlZm9yZVxuIgogIiAgICBcdFx0YXR0ZW1wdGluZyB0byByZWFkXG4iCiAiICAgICAgLXJcdFx0ZG8gbm90IGFsbG93IGJhY2tzbGFzaGVzIHRvIGVzY2FwZSBhbnkgY2hhcmFjdGVyc1xuIgpAQCAtMzU2OCw3ICszNjY1LDExIEBACiAiICAgICAgLWVcdFx0dXNlIFJlYWRsaW5lIHRvIG9idGFpbiB0aGUgbGluZSBpbiBhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgogIiAgICAgIC1pIHRleHRcdFVzZSBURVhUIGFzIHRoZSBpbml0aWFsIHRleHQgZm9yIFJlYWRsaW5lXG4iCiAiICAgICAgLW4gbmNoYXJzXHRyZXR1cm4gYWZ0ZXIgcmVhZGluZyBOQ0hBUlMgY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3YWl0aW5nXG4iCi0iICAgIFx0XHRmb3IgYSBuZXdsaW5lXG4iCisiICAgIFx0XHRmb3IgYSBuZXdsaW5lLCBidXQgaG9ub3IgYSBkZWxpbWl0ZXIgaWYgZmV3ZXIgdGhhbiBOQ0hBUlNcbiIKKyIgICAgXHRcdGNoYXJhY3RlcnMgYXJlIHJlYWQgYmVmb3JlIHRoZSBkZWxpbWl0ZXJcbiIKKyIgICAgICAtTiBuY2hhcnNcdHJldHVybiBvbmx5IGFmdGVyIHJlYWRpbmcgZXhhY3RseSBOQ0hBUlMgY2hhcmFjdGVycywgIgorInVubGVzc1xuIgorIiAgICBcdFx0RU9GIGlzIGVuY291bnRlcmVkIG9yIHJlYWQgdGltZXMgb3V0LCBpZ25vcmluZyBhbnkgZGVsaW1pdGVyXG4iCiAiICAgICAgLXAgcHJvbXB0XHRvdXRwdXQgdGhlIHN0cmluZyBQUk9NUFQgd2l0aG91dCBhIHRyYWlsaW5nIG5ld2xpbmUgYmVmb3JlXG4iCiAiICAgIFx0XHRhdHRlbXB0aW5nIHRvIHJlYWRcbiIKICIgICAgICAtclx0XHRkbyBub3QgYWxsb3cgYmFja3NsYXNoZXMgdG8gZXNjYXBlIGFueSBjaGFyYWN0ZXJzXG4iCkBAIC0zNTg3LDcgKzM2ODgsNyBAQAogIm91dCxcbiIKICIgICAgb3IgYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IgaXMgc3VwcGxpZWQgYXMgdGhlIGFyZ3VtZW50IHRvIC11LiIKIAotIzogYnVpbHRpbnMuYzoxMDA2CisjOiBidWlsdGlucy5jOjEwMDkKIG1zZ2lkICIiCiAiUmV0dXJuIGZyb20gYSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNjA3LDcgKzM3MDgsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBOLCBvciBmYWlsdXJlIGlmIHRoZSBzaGVsbCBpcyBub3QgZXhlY3V0aW5nIGEgZnVuY3Rpb24gb3Igc2NyaXB0LiIKIAotIzogYnVpbHRpbnMuYzoxMDE5CisjOiBidWlsdGlucy5jOjEwMjIKIG1zZ2lkICIiCiAiU2V0IG9yIHVuc2V0IHZhbHVlcyBvZiBzaGVsbCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzc2Nyw3ICszODY4LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogCi0jOiBidWlsdGlucy5jOjExMDEKKyM6IGJ1aWx0aW5zLmM6MTEwNAogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzgwMyw3ICszOTA0LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSBOQU1FIGlzIHJlYWQtb25seS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTEyMQorIzogYnVpbHRpbnMuYzoxMTI0CiBtc2dpZCAiIgogIlNldCBleHBvcnQgYXR0cmlidXRlIGZvciBzaGVsbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMzgzNyw3ICszOTM4LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIAotIzogYnVpbHRpbnMuYzoxMTQwCisjOiBidWlsdGlucy5jOjExNDMKIG1zZ2lkICIiCiAiTWFyayBzaGVsbCB2YXJpYWJsZXMgYXMgdW5jaGFuZ2VhYmxlLlxuIgogIiAgICBcbiIKQEAgLTM4NzMsNyArMzk3NCw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTE2MQorIzogYnVpbHRpbnMuYzoxMTY0CiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zODkxLDcgKzM5OTIsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOIGlzIG5lZ2F0aXZlIG9yIGdyZWF0ZXIgdGhhbiAkIy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTE3MyBidWlsdGlucy5jOjExODgKKyM6IGJ1aWx0aW5zLmM6MTE3NiBidWlsdGlucy5jOjExOTEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmcm9tIGEgZmlsZSBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zOTE1LDcgKzQwMTYsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZCBpbiBGSUxFTkFNRTsgZmFpbHMgaWZcbiIKICIgICAgRklMRU5BTUUgY2Fubm90IGJlIHJlYWQuIgogCi0jOiBidWlsdGlucy5jOjEyMDQKKyM6IGJ1aWx0aW5zLmM6MTIwNwogbXNnaWQgIiIKICJTdXNwZW5kIHNoZWxsIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC0zOTM5LDcgKzQwNDAsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogCi0jOiBidWlsdGlucy5jOjEyMjAKKyM6IGJ1aWx0aW5zLmM6MTIyMwogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTQwODksNyArNDE5MCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyBpZiBFWFBSIGV2YWx1YXRlcyB0byB0cnVlOyBmYWlscyBpZiBFWFBSIGV2YWx1YXRlcyB0b1xuIgogIiAgICBmYWxzZSBvciBhbiBpbnZhbGlkIGFyZ3VtZW50IGlzIGdpdmVuLiIKIAotIzogYnVpbHRpbnMuYzoxMjk2CisjOiBidWlsdGlucy5jOjEyOTkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC00MTAyLDcgKzQyMDMsNyBAQAogIm11c3RcbiIKICIgICAgYmUgYSBsaXRlcmFsIOKAmBtbMW1dG1swbeKAmSwgdG8gbWF0Y2ggdGhlIG9wZW5pbmcg4oCYG1sxbVsbWzBt4oCZLiIKIAotIzogYnVpbHRpbnMuYzoxMzA1CisjOiBidWlsdGlucy5jOjEzMDgKIG1zZ2lkICIiCiAiRGlzcGxheSBwcm9jZXNzIHRpbWVzLlxuIgogIiAgICBcbiIKQEAgLTQxMjIsNyArNDIyMyw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogCi0jOiBidWlsdGlucy5jOjEzMTcKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJUcmFwIHNpZ25hbHMgYW5kIG90aGVyIGV2ZW50cy5cbiIKICIgICAgXG4iCkBAIC00MTkxLDcgKzQyOTIsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGEgU0lHU1BFQyBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzICIKICJnaXZlbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTM0OQorIzogYnVpbHRpbnMuYzoxMzUyCiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZCB0eXBlLlxuIgogIiAgICBcbiIKQEAgLTQyNDksNyArNDM1MCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyBpZiBhbGwgb2YgdGhlIE5BTUVzIGFyZSBmb3VuZDsgZmFpbHMgaWYgYW55IGFyZSBub3QgIgogImZvdW5kLiIKIAotIzogYnVpbHRpbnMuYzoxMzgwCisjOiBidWlsdGlucy5jOjEzODMKIG1zZ2lkICIiCiAiTW9kaWZ5IHNoZWxsIHJlc291cmNlIGxpbWl0cy5cbiIKICIgICAgXG4iCkBAIC00MzM0LDcgKzQ0MzUsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogCi0jOiBidWlsdGlucy5jOjE0MjUKKyM6IGJ1aWx0aW5zLmM6MTQyOAogbXNnaWQgIiIKICJEaXNwbGF5IG9yIHNldCBmaWxlIG1vZGUgbWFzay5cbiIKICIgICAgXG4iCkBAIC00MzY2LDcgKzQ0NjcsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBNT0RFIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogCi0jOiBidWlsdGlucy5jOjE0NDUKKyM6IGJ1aWx0aW5zLmM6MTQ0OAogbXNnaWQgIiIKICJXYWl0IGZvciBqb2IgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTQzOTYsNyArNDQ5Nyw3IEBACiAiaXNcbiIKICIgICAgZ2l2ZW4uIgogCi0jOiBidWlsdGlucy5jOjE0NjMKKyM6IGJ1aWx0aW5zLmM6MTQ2NgogbXNnaWQgIiIKICJXYWl0IGZvciBwcm9jZXNzIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC00NDIwLDcgKzQ1MjEsNyBAQAogImlzXG4iCiAiICAgIGdpdmVuLiIKIAotIzogYnVpbHRpbnMuYzoxNDc4CisjOiBidWlsdGlucy5jOjE0ODEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTQ0NDQsNyArNDU0NSw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5MgorIzogYnVpbHRpbnMuYzoxNDk1CiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCiAiICAgIFxuIgpAQCAtNDQ3NCw3ICs0NTc1LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIAotIzogYnVpbHRpbnMuYzoxNTEwCisjOiBidWlsdGlucy5jOjE1MTMKIG1zZ2lkICIiCiAiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTQ1MTEsNyArNDYxMiw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTUzMQorIzogYnVpbHRpbnMuYzoxNTM0CiBtc2dpZCAiIgogIlJlcG9ydCB0aW1lIGNvbnN1bWVkIGJ5IHBpcGVsaW5lJ3MgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTQ1MzksNyArNDY0MCw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBUaGUgcmV0dXJuIHN0YXR1cyBpcyB0aGUgcmV0dXJuIHN0YXR1cyBvZiBQSVBFTElORS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU0OAorIzogYnVpbHRpbnMuYzoxNTUxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gcGF0dGVybiBtYXRjaGluZy5cbiIKICIgICAgXG4iCkBAIC00NTU3LDcgKzQ2NTgsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogCi0jOiBidWlsdGlucy5jOjE1NjAKKyM6IGJ1aWx0aW5zLmM6MTU2MwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIGNvbmRpdGlvbmFsLlxuIgogIiAgICBcbiIKQEAgLTQ1OTUsNyArNDY5Niw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU3NworIzogYnVpbHRpbnMuYzoxNTgwCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3Qgc3VjY2VlZHMuXG4iCiAiICAgIFxuIgpAQCAtNDYxMyw3ICs0NzE0LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIAotIzogYnVpbHRpbnMuYzoxNTg5CisjOiBidWlsdGlucy5jOjE1OTIKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLlxuIgogIiAgICBcbiIKQEAgLTQ2MzEsNyArNDczMiw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYwMQorIzogYnVpbHRpbnMuYzoxNjA0CiBtc2dpZCAiIgogIkNyZWF0ZSBhIGNvcHJvY2VzcyBuYW1lZCBOQU1FLlxuIgogIiAgICBcbiIKQEAgLTQ2NTMsNyArNDc1NCw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKIAotIzogYnVpbHRpbnMuYzoxNjE1CisjOiBidWlsdGlucy5jOjE2MTgKIG1zZ2lkICIiCiAiRGVmaW5lIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTQ2NzcsNyArNDc3OCw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgcmVhZG9ubHkuIgogCi0jOiBidWlsdGlucy5jOjE2MjkKKyM6IGJ1aWx0aW5zLmM6MTYzMgogbXNnaWQgIiIKICJHcm91cCBjb21tYW5kcyBhcyBhIHVuaXQuXG4iCiAiICAgIFxuIgpAQCAtNDY5NSw3ICs0Nzk2LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIAotIzogYnVpbHRpbnMuYzoxNjQxCisjOiBidWlsdGlucy5jOjE2NDQKIG1zZ2lkICIiCiAiUmVzdW1lIGpvYiBpbiBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTQ3MjAsNyArNDgyMSw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIHJlc3VtZWQgam9iLiIKIAotIzogYnVpbHRpbnMuYzoxNjU2CisjOiBidWlsdGlucy5jOjE2NTkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTQ3MzgsNyArNDgzOSw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIDEgaWYgRVhQUkVTU0lPTiBldmFsdWF0ZXMgdG8gMDsgcmV0dXJucyAwIG90aGVyd2lzZS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY2OAorIzogYnVpbHRpbnMuYzoxNjcxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29uZGl0aW9uYWwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC00NzkyLDcgKzQ4OTMsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgMCBvciAxIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBFWFBSRVNTSU9OLiIKIAotIzogYnVpbHRpbnMuYzoxNjk0CisjOiBidWlsdGlucy5jOjE2OTcKIG1zZ2lkICIiCiAiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKICIgICAgXG4iCkBAIC00ODk2LDcgKzQ5OTcsNyBAQAogIiAgICBISVNUSUdOT1JFXHRBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIHBhdHRlcm5zIHVzZWQgdG8gZGVjaWRlIHdoaWNoXG4iCiAiICAgIFx0XHRjb21tYW5kcyBzaG91bGQgYmUgc2F2ZWQgb24gdGhlIGhpc3RvcnkgbGlzdC5cbiIKIAotIzogYnVpbHRpbnMuYzoxNzUxCisjOiBidWlsdGlucy5jOjE3NTQKIG1zZ2lkICIiCiAiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTQ5NTQsNyArNTA1NSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBzdXBwbGllZCBvciB0aGUgZGlyZWN0b3J5XG4iCiAiICAgIGNoYW5nZSBmYWlscy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTc4NQorIzogYnVpbHRpbnMuYzoxNzg4CiBtc2dpZCAiIgogIlJlbW92ZSBkaXJlY3RvcmllcyBmcm9tIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTUwMDYsNyArNTEwNyw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBzdXBwbGllZCBvciB0aGUgZGlyZWN0b3J5XG4iCiAiICAgIGNoYW5nZSBmYWlscy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTgxNQorIzogYnVpbHRpbnMuYzoxODE4CiBtc2dpZCAiIgogIkRpc3BsYXkgZGlyZWN0b3J5IHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTUwNjEsNyArNTE2Miw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg0NAorIzogYnVpbHRpbnMuYzoxODQ3CiBtc2dpZCAiIgogIlNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC01MDk5LDcgKzUyMDAsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgT1BUTkFNRSBpcyBlbmFibGVkOyBmYWlscyBpZiBhbiBpbnZhbGlkIG9wdGlvbiBpc1xuIgogIiAgICBnaXZlbiBvciBPUFROQU1FIGlzIGRpc2FibGVkLiIKIAotIzogYnVpbHRpbnMuYzoxODY1CisjOiBidWlsdGlucy5jOjE4NjgKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCiAiICAgIFxuIgpAQCAtNTE1NSw3ICs1MjU2LDcgQEAKICJhc3NpZ25tZW50XG4iCiAiICAgIGVycm9yIG9jY3Vycy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg5MgorIzogYnVpbHRpbnMuYzoxODk1CiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTUxNjksOSArNTI3MCwxNCBAQAogIiAgICAgIC1wXHRwcmludCBleGlzdGluZyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zIGluIGEgcmV1c2FibGUgZm9ybWF0XG4iCiAiICAgICAgLXJcdHJlbW92ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm9cbiIKICIgICAgXHROQU1FcyBhcmUgc3VwcGxpZWQsIGFsbCBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zXG4iCisiICAgICAgLURcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyBhcyB0aGUgZGVmYXVsdCBmb3IgY29tbWFuZHNcbiIKKyIgICAgXHR3aXRob3V0IGFueSBzcGVjaWZpYyBjb21wbGV0aW9uIGRlZmluZWRcbiIKKyIgICAgICAtRVx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIHRvIFwiZW1wdHlcIiBjb21tYW5kcyAtLVxuIgorIiAgICBcdGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZVxuIgogIiAgICBcbiIKICIgICAgV2hlbiBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgdGhlIGFjdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZVxuIgotIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS5cbiIKKyIgICAgdXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuICBUaGUgLUQgb3B0aW9uIHRha2VzXG4iCisiICAgIHByZWNlZGVuY2Ugb3ZlciAtRS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCkBAIC01MTg4LDE0ICs1Mjk0LDE5IEBACiAiICAgICAgLXBcdHByaW50IGV4aXN0aW5nIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnMgaW4gYSByZXVzYWJsZSBmb3JtYXRcbiIKICIgICAgICAtclx0cmVtb3ZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGZvciBlYWNoIE5BTUUsIG9yLCBpZiBub1xuIgogIiAgICBcdE5BTUVzIGFyZSBzdXBwbGllZCwgYWxsIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnNcbiIKKyIgICAgICAtRFx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIGFzIHRoZSBkZWZhdWx0IGZvciBjb21tYW5kc1xuIgorIiAgICBcdHdpdGhvdXQgYW55IHNwZWNpZmljIGNvbXBsZXRpb24gZGVmaW5lZFxuIgorIiAgICAgIC1FXHRhcHBseSB0aGUgY29tcGxldGlvbnMgYW5kIGFjdGlvbnMgdG8g4oCcG1sxbWVtcHR5G1swbeKAnSBjb21tYW5kcyAtLVxuIgorIiAgICBcdGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZVxuIgogIiAgICBcbiIKICIgICAgV2hlbiBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgdGhlIGFjdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZVxuIgotIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS5cbiIKKyIgICAgdXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuICBUaGUgLUQgb3B0aW9uIHRha2VzXG4iCisiICAgIHByZWNlZGVuY2Ugb3ZlciAtRS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkxNQorIzogYnVpbHRpbnMuYzoxOTIzCiBtc2dpZCAiIgogIkRpc3BsYXkgcG9zc2libGUgY29tcGxldGlvbnMgZGVwZW5kaW5nIG9uIHRoZSBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTUyMTcsNyArNTMyOCw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkzMAorIzogYnVpbHRpbnMuYzoxOTM4CiBtc2dpZCAiIgogIk1vZGlmeSBvciBkaXNwbGF5IGNvbXBsZXRpb24gb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC01MjMwLDYgKzUzNDEsOCBAQAogIiAgICBcbiIKICIgICAgT3B0aW9uczpcbiIKICIgICAgXHQtbyBvcHRpb25cdFNldCBjb21wbGV0aW9uIG9wdGlvbiBPUFRJT04gZm9yIGVhY2ggTkFNRVxuIgorIiAgICBcdC1EXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJkZWZhdWx0XCIgY29tbWFuZCBjb21wbGV0aW9uXG4iCisiICAgIFx0LUVcdFx0Q2hhbmdlIG9wdGlvbnMgZm9yIHRoZSBcImVtcHR5XCIgY29tbWFuZCBjb21wbGV0aW9uXG4iCiAiICAgIFxuIgogIiAgICBVc2luZyBgK28nIGluc3RlYWQgb2YgYC1vJyB0dXJucyBvZmYgdGhlIHNwZWNpZmllZCBvcHRpb24uXG4iCiAiICAgIFxuIgpAQCAtNTI1Niw2ICs1MzY5LDggQEAKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgIFx0LW8gb3B0aW9uXHRTZXQgY29tcGxldGlvbiBvcHRpb24gT1BUSU9OIGZvciBlYWNoIE5BTUVcbiIKKyIgICAgXHQtRFx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIOKAnBtbMW1kZWZhdWx0G1swbeKAnSBjb21tYW5kIGNvbXBsZXRpb25cbiIKKyIgICAgXHQtRVx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIOKAnBtbMW1lbXB0eRtbMG3igJ0gY29tbWFuZCBjb21wbGV0aW9uXG4iCiAiICAgIFxuIgogIiAgICBVc2luZyDigJgbWzFtK28bWzBt4oCZIGluc3RlYWQgb2Yg4oCYG1sxbS1vG1swbeKAmSB0dXJucyBvZmYgdGhlIHNwZWNpZmllZCBvcHRpb24uXG4iCiAiICAgIFxuIgpAQCAtNTI3MiwxNSArNTM4NywxNSBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIE5BTUUgZG9lcyBub3RcbiIKICIgICAgaGF2ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBkZWZpbmVkLiIKIAotIzogYnVpbHRpbnMuYzoxOTU4CisjOiBidWlsdGlucy5jOjE5NjgKIG1zZ2lkICIiCi0iUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgorIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKLSIgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBhcnJheSB2YXJpYWJsZSBBUlJBWSwgb3IgIgotImZyb21cbiIKLSIgICAgZmlsZSBkZXNjcmlwdG9yIEZEIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaWFibGUgTUFQRklMRSAiCi0iaXNcbiIKLSIgICAgdGhlIGRlZmF1bHQgQVJSQVkuXG4iCisiICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgaW5kZXhlZCBhcnJheSB2YXJpYWJsZSAiCisiQVJSQVksIG9yXG4iCisiICAgIGZyb20gZmlsZSBkZXNjcmlwdG9yIEZEIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaWFibGUgIgorIk1BUEZJTEVcbiIKKyIgICAgaXMgdGhlIGRlZmF1bHQgQVJSQVkuXG4iCiAiICAgIFxuIgogIiAgICBPcHRpb25zOlxuIgogIiAgICAgIC1uIGNvdW50XHRDb3B5IGF0IG1vc3QgQ09VTlQgbGluZXMuICBJZiBDT1VOVCBpcyAwLCBhbGwgbGluZXMgYXJlICIKQEAgLTUzMDcsMTUgKzU0MjIsMTcgQEAKICIgICAgYXNzaWduaW5nIHRvIGl0LlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIEFSUkFZIGlzIHJlYWRvbmx5ICIKKyJvclxuIgorIiAgICBub3QgYW4gaW5kZXhlZCBhcnJheS4iCiBtc2dzdHIgIiIKLSJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCisiUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgotIiAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGFycmF5IHZhcmlhYmxlIEFSUkFZLCBvciAiCi0iZnJvbVxuIgotIiAgICBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSBNQVBGSUxFICIKLSJpc1xuIgotIiAgICB0aGUgZGVmYXVsdCBBUlJBWS5cbiIKKyIgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBpbmRleGVkIGFycmF5IHZhcmlhYmxlICIKKyJBUlJBWSwgb3JcbiIKKyIgICAgZnJvbSBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSAiCisiTUFQRklMRVxuIgorIiAgICBpcyB0aGUgZGVmYXVsdCBBUlJBWS5cbiIKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgICAgLW4gY291bnRcdENvcHkgYXQgbW9zdCBDT1VOVCBsaW5lcy4gIElmIENPVU5UIGlzIDAsIGFsbCBsaW5lcyBhcmUgIgpAQCAtNTM0Miw5ICs1NDU5LDExIEBACiAiICAgIGFzc2lnbmluZyB0byBpdC5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIEFSUkFZIGlzIHJlYWRvbmx5LiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBBUlJBWSBpcyByZWFkb25seSAiCisib3JcbiIKKyIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgogCi0jOiBidWlsdGlucy5jOjE5OTAKKyM6IGJ1aWx0aW5zLmM6MjAwMQogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gYSBmaWxlIGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgpkaWZmIC0tZ2l0IGEvcG8vZW5AcXVvdC5nbW8gYi9wby9lbkBxdW90LmdtbwppbmRleCA2NGU1MTNlLi5kZmQ5M2ViIDEwMDY0NAotLS0gYS9wby9lbkBxdW90LmdtbworKysgYi9wby9lbkBxdW90LmdtbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9wby9lbkBxdW90LnBvIGIvcG8vZW5AcXVvdC5wbwppbmRleCA3ZGEyNWIyLi41NTdkNDAwIDEwMDY0NAotLS0gYS9wby9lbkBxdW90LnBvCisrKyBiL3BvL2VuQHF1b3QucG8KQEAgLTI3LDEwICsyNywxMCBAQAogIwogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogR05VIGJhc2ggNC4wLXJlbGVhc2VcbiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IEdOVSBiYXNoIDQuMS1yZWxlYXNlXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTAyLTE5IDE0OjUzLTA1MDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDA5LTAyLTE5IDE0OjUzLTA1MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZFxuIgogIkxhbmd1YWdlLVRlYW06IG5vbmVcbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgpAQCAtNDIsNTAgKzQyLDU1IEBACiBtc2dpZCAiYmFkIGFycmF5IHN1YnNjcmlwdCIKIG1zZ3N0ciAiYmFkIGFycmF5IHN1YnNjcmlwdCIKIAotIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAorIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiAKLSM6IGFycmF5ZnVuYy5jOjQ3OQorIzogYXJyYXlmdW5jLmM6NDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFzc29jaWF0aXZlIGFycmF5IGtleSIKIG1zZ3N0ciAiJXM6IGludmFsaWQgYXNzb2NpYXRpdmUgYXJyYXkga2V5IgogCi0jOiBhcnJheWZ1bmMuYzo0ODEKKyM6IGFycmF5ZnVuYy5jOjQ4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiB0byBub24tbnVtZXJpYyBpbmRleCIKIG1zZ3N0ciAiJXM6IGNhbm5vdCBhc3NpZ24gdG8gbm9uLW51bWVyaWMgaW5kZXgiCiAKLSM6IGFycmF5ZnVuYy5jOjUxNworIzogYXJyYXlmdW5jLmM6NTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIlczogJXM6IG11c3QgdXNlIHN1YnNjcmlwdCB3aGVuIGFzc2lnbmluZyBhc3NvY2lhdGl2ZSBhcnJheSIKIAotIzogYmFzaGhpc3QuYzozNzkKKyM6IGJhc2hoaXN0LmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY3JlYXRlOiAlcyIKIG1zZ3N0ciAiJXM6IGNhbm5vdCBjcmVhdGU6ICVzIgogCi0jOiBiYXNobGluZS5jOjM0MTMKKyM6IGJhc2hsaW5lLmM6MzQ1NwogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgogCi0jOiBiYXNobGluZS5jOjM0OTEKKyM6IGJhc2hsaW5lLmM6MzU0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgogbXNnc3RyICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCDigJhcIuKAmSIKIAotIzogYmFzaGxpbmUuYzozNTIwCisjOiBiYXNobGluZS5jOjM1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2xvc2luZyBgJWMnIGluICVzIgogbXNnc3RyICJubyBjbG9zaW5nIOKAmCVj4oCZIGluICVzIgogCi0jOiBiYXNobGluZS5jOjM1NTQKKyM6IGJhc2hsaW5lLmM6MzYwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCiBtc2dzdHIgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKIAorIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJgJXMnOiBpbnZhbGlkIGFsaWFzIG5hbWUiCittc2dzdHIgIuKAmCVz4oCZOiBpbnZhbGlkIGFsaWFzIG5hbWUiCisKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjEyMCBidWlsdGlucy9iaW5kLmRlZjoxMjMKIG1zZ2lkICJsaW5lIGVkaXRpbmcgbm90IGVuYWJsZWQiCiBtc2dzdHIgImxpbmUgZWRpdGluZyBub3QgZW5hYmxlZCIKQEAgLTEzOCw2ICsxNDMsMjggQEAKICIgICAgXG4iCiAiICAgIFdpdGhvdXQgRVhQUiwgcmV0dXJucyAiCiAKKyM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM1Cittc2dpZCAiIgorIi4gIFdpdGggRVhQUiwgcmV0dXJuc1xuIgorIiAgICAiCittc2dzdHIgIiIKKyIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKKyIgICAgIgorCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNgorbXNnaWQgIiIKKyI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKKyIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgorIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKK21zZ3N0ciAiIgorIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgorIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCisiICAgIFxuIgorIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCisiICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgorCiAjOiBidWlsdGlucy9jZC5kZWY6MjE1CiBtc2dpZCAiSE9NRSBub3Qgc2V0IgogbXNnc3RyICJIT01FIG5vdCBzZXQiCkBAIC0xNTEsNyArMTc4LDcgQEAKIG1zZ2lkICJsaW5lICVkOiAiCiBtc2dzdHIgImxpbmUgJWQ6ICIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTM5IGVycm9yLmM6MjYwCisjOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogIgogbXNnc3RyICJ3YXJuaW5nOiAiCkBAIC0xNjEsMTEgKzE4OCwxMSBAQAogbXNnaWQgIiVzOiB1c2FnZTogIgogbXNnc3RyICIlczogdXNhZ2U6ICIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjIKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODI3CiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICJ0b28gbWFueSBhcmd1bWVudHMiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5MyBzaGVsbC5jOjc3NAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCkBAIC0xODAsNyArMjA3LDcgQEAKIG1zZ2lkICIlczogbm90IGZvdW5kIgogbXNnc3RyICIlczogbm90IGZvdW5kIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3ODcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVzOiBpbnZhbGlkIG9wdGlvbiIKQEAgLTIwMyw3ICsyMzAsNyBAQAogbXNnaWQgImludmFsaWQgaGV4IG51bWJlciIKIG1zZ3N0ciAiaW52YWxpZCBoZXggbnVtYmVyIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTUKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NgogbXNnaWQgImludmFsaWQgbnVtYmVyIgogbXNnc3RyICJpbnZhbGlkIG51bWJlciIKIApAQCAtMjE3LDcgKzI0NCw3IEBACiBtc2dpZCAiYCVzJzogbm90IGEgcGlkIG9yIHZhbGlkIGpvYiBzcGVjIgogbXNnc3RyICLigJglc+KAmTogbm90IGEgcGlkIG9yIHZhbGlkIGpvYiBzcGVjIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTMKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI2NCBlcnJvci5jOjQ1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgdmFyaWFibGUiCiBtc2dzdHIgIiVzOiByZWFkb25seSB2YXJpYWJsZSIKQEAgLTI4OSwyNiArMzE2LDI2IEBACiBtc2dpZCAiJXM6IGFtYmlndW91cyBqb2Igc3BlYyIKIG1zZ3N0ciAiJXM6IGFtYmlndW91cyBqb2Igc3BlYyIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjI3MAorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjI3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhY3Rpb24gbmFtZSIKIG1zZ3N0ciAiJXM6IGludmFsaWQgYWN0aW9uIG5hbWUiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo0MzAgYnVpbHRpbnMvY29tcGxldGUuZGVmOjYxNQotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjgxMworIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjQ0OSBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjQ0CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBubyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiVzOiBubyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24iCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NjcKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTYKIG1zZ2lkICJ3YXJuaW5nOiAtRiBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCiBtc2dzdHIgIndhcm5pbmc6IC1GIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY2OQorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY5OAogbXNnaWQgIndhcm5pbmc6IC1DIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCIKIG1zZ3N0ciAid2FybmluZzogLUMgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Nzg2CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODI2CiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIApAQCAtMzE2LDIxICszNDMsMjEgQEAKIG1zZ2lkICJjYW4gb25seSBiZSB1c2VkIGluIGEgZnVuY3Rpb24iCiBtc2dzdHIgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzUzCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCiBtc2dzdHIgImNhbm5vdCB1c2Ug4oCYLWbigJkgdG8gbWFrZSBmdW5jdGlvbnMiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NSBleGVjdXRlX2NtZC5jOjQ4MTgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3MiBleGVjdXRlX2NtZC5jOjQ5MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IGZ1bmN0aW9uIgogbXNnc3RyICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2MQorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiVzOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBhc3NvY2lhdGl2ZSB0byBpbmRleGVkIGFycmF5IgogbXNnc3RyICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKQEAgLTM1OSw4ICszODYsOCBAQAogbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKIG1zZ3N0ciAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Njc1Ci0jOiBzaGVsbC5jOjE0MzkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM0IGJ1aWx0aW5zL2hhc2guZGVmOjE2OSBleGVjdXRlX2NtZC5jOjQ3OTQKKyM6IHNoZWxsLmM6MTQ1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaXMgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzOiBpcyBhIGRpcmVjdG9yeSIKQEAgLTM3NSw3ICs0MDIsOCBAQAogbXNnaWQgIiVzOiBmaWxlIGlzIHRvbyBsYXJnZSIKIG1zZ3N0ciAiJXM6IGZpbGUgaXMgdG9vIGxhcmdlIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBleGVjdXRlX2NtZC5jOjQ3NDUgc2hlbGwuYzoxNDQ5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBidWlsdGlucy9ldmFsZmlsZS5jOjIwMyBleGVjdXRlX2NtZC5jOjQ4NjQKKyM6IHNoZWxsLmM6MTQ2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGUgYmluYXJ5IGZpbGUiCiBtc2dzdHIgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKQEAgLTQwNCwxNSArNDMyLDE1IEBACiBtc2dpZCAiVGhlcmUgYXJlIHJ1bm5pbmcgam9icy5cbiIKIG1zZ3N0ciAiVGhlcmUgYXJlIHJ1bm5pbmcgam9icy5cbiIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjI2MQorIzogYnVpbHRpbnMvZmMuZGVmOjI2MgogbXNnaWQgIm5vIGNvbW1hbmQgZm91bmQiCiBtc2dzdHIgIm5vIGNvbW1hbmQgZm91bmQiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKIG1zZ2lkICJoaXN0b3J5IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM2MgorIzogYnVpbHRpbnMvZmMuZGVmOjM3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKIG1zZ3N0ciAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCkBAIC01MTAsMTIgKzUzOCwxMiBAQAogbXNnaWQgIm5vIG90aGVyIG9wdGlvbnMgYWxsb3dlZCB3aXRoIGAteCciCiBtc2dzdHIgIm5vIG90aGVyIG9wdGlvbnMgYWxsb3dlZCB3aXRoIOKAmC144oCZIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoxOTcKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogbXNnc3RyICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyNjAKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MwogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgIlVua25vd24gZXJyb3IiCiAKQEAgLTUyMyw1NSArNTUxLDYwIEBACiBtc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiZXhwcmVzc2lvbiBleHBlY3RlZCIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQxIGJ1aWx0aW5zL3JlYWQuZGVmOjI3MgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYW4gaW5kZXhlZCBhcnJheSIKK21zZ3N0ciAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU3IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgogbXNnc3RyICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTggYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjYgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCiBtc2dzdHIgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFycmF5IG9yaWdpbiIKIG1zZ3N0ciAiJXM6IGludmFsaWQgYXJyYXkgb3JpZ2luIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogbXNnc3RyICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMTgKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMyNgogbXNnaWQgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCiBtc2dzdHIgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzOQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CiBtc2dpZCAiYXJyYXkgdmFyaWFibGUgc3VwcG9ydCByZXF1aXJlZCIKIG1zZ3N0ciAiYXJyYXkgdmFyaWFibGUgc3VwcG9ydCByZXF1aXJlZCIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNjcKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAi4oCYJXPigJk6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NDQKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAi4oCYJWPigJk6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzEKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKIG1zZ3N0ciAid2FybmluZzogJXM6ICVzIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjc1MAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTcKIG1zZ2lkICJtaXNzaW5nIGhleCBkaWdpdCBmb3IgXFx4IgogbXNnc3RyICJtaXNzaW5nIGhleCBkaWdpdCBmb3IgXFx4IgogCkBAIC03MTksMTIgKzc1MiwxMiBAQAogIiAgICBcbiIKICIgICAgVGhlIOKAmGRpcnPigJkgYnVpbHRpbiBkaXNwbGF5cyB0aGUgZGlyZWN0b3J5IHN0YWNrLiIKIAotIzogYnVpbHRpbnMvcmVhZC5kZWY6MjQ4CisjOiBidWlsdGlucy9yZWFkLmRlZjoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgdGltZW91dCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczogaW52YWxpZCB0aW1lb3V0IHNwZWNpZmljYXRpb24iCiAKLSM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU3NAorIzogYnVpbHRpbnMvcmVhZC5kZWY6NTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWQgZXJyb3I6ICVkOiAlcyIKIG1zZ3N0ciAicmVhZCBlcnJvcjogJWQ6ICVzIgpAQCAtNzYxLDExICs3OTQsMTEgQEAKIG1zZ2lkICJzaGlmdCBjb3VudCIKIG1zZ3N0ciAic2hpZnQgY291bnQiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNTQKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MzE5CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgogbXNnc3RyICIlczogaW52YWxpZCBzaGVsbCBvcHRpb24gbmFtZSIKQEAgLTg1NSw3NiArODg4LDc2IEBACiBtc2dpZCAiYCVjJzogaW52YWxpZCBzeW1ib2xpYyBtb2RlIGNoYXJhY3RlciIKIG1zZ3N0ciAi4oCYJWPigJk6IGludmFsaWQgc3ltYm9saWMgbW9kZSBjaGFyYWN0ZXIiCiAKLSM6IGVycm9yLmM6ODkgZXJyb3IuYzozMjAgZXJyb3IuYzozMjIgZXJyb3IuYzozMjQKKyM6IGVycm9yLmM6OTAgZXJyb3IuYzozMjEgZXJyb3IuYzozMjMgZXJyb3IuYzozMjUKIG1zZ2lkICIgbGluZSAiCiBtc2dzdHIgIiBsaW5lICIKIAotIzogZXJyb3IuYzoxNjQKKyM6IGVycm9yLmM6MTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImxhc3QgY29tbWFuZDogJXNcbiIKIG1zZ3N0ciAibGFzdCBjb21tYW5kOiAlc1xuIgogCi0jOiBlcnJvci5jOjE3MgorIzogZXJyb3IuYzoxNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcuLi4iCiBtc2dzdHIgIkFib3J0aW5nLi4uIgogCi0jOiBlcnJvci5jOjQwNQorIzogZXJyb3IuYzo0MDYKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQgZXJyb3IiCiBtc2dzdHIgInVua25vd24gY29tbWFuZCBlcnJvciIKIAotIzogZXJyb3IuYzo0MDYKKyM6IGVycm9yLmM6NDA3CiBtc2dpZCAiYmFkIGNvbW1hbmQgdHlwZSIKIG1zZ3N0ciAiYmFkIGNvbW1hbmQgdHlwZSIKIAotIzogZXJyb3IuYzo0MDcKKyM6IGVycm9yLmM6NDA4CiBtc2dpZCAiYmFkIGNvbm5lY3RvciIKIG1zZ3N0ciAiYmFkIGNvbm5lY3RvciIKIAotIzogZXJyb3IuYzo0MDgKKyM6IGVycm9yLmM6NDA5CiBtc2dpZCAiYmFkIGp1bXAiCiBtc2dzdHIgImJhZCBqdW1wIgogCi0jOiBlcnJvci5jOjQ0NgorIzogZXJyb3IuYzo0NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYm91bmQgdmFyaWFibGUiCiBtc2dzdHIgIiVzOiB1bmJvdW5kIHZhcmlhYmxlIgogCiAjOiBldmFsLmM6MTgxCiAjLCBjLWZvcm1hdAotbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgotbXNnc3RyICJcYXRpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKK21zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnc3RyICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5MQorIzogZXhlY3V0ZV9jbWQuYzo0OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlZGlyZWN0IHN0YW5kYXJkIGlucHV0IGZyb20gL2Rldi9udWxsOiAlcyIKIG1zZ3N0ciAiY2Fubm90IHJlZGlyZWN0IHN0YW5kYXJkIGlucHV0IGZyb20gL2Rldi9udWxsOiAlcyIKIAotIzogZXhlY3V0ZV9jbWQuYzoxMTEyCisjOiBleGVjdXRlX2NtZC5jOjExNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVElNRUZPUk1BVDogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJUSU1FRk9STUFUOiDigJglY+KAmTogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogCi0jOiBleGVjdXRlX2NtZC5jOjIwMTEKKyM6IGV4ZWN1dGVfY21kLmM6MjA3NQogbXNnaWQgInBpcGUgZXJyb3IiCiBtc2dzdHIgInBpcGUgZXJyb3IiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDM2MworIzogZXhlY3V0ZV9jbWQuYzo0NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSBgLycgaW4gY29tbWFuZCBuYW1lcyIKIG1zZ3N0ciAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IOKAmC/igJkgaW4gY29tbWFuZCBuYW1lcyIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDU0CisjOiBleGVjdXRlX2NtZC5jOjQ1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIlczogY29tbWFuZCBub3QgZm91bmQiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDcwOAorIzogZXhlY3V0ZV9jbWQuYzo0ODI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogYmFkIGludGVycHJldGVyIgogbXNnc3RyICIlczogJXM6IGJhZCBpbnRlcnByZXRlciIKIAotIzogZXhlY3V0ZV9jbWQuYzo0ODU3CisjOiBleGVjdXRlX2NtZC5jOjQ5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKIG1zZ3N0ciAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKQEAgLTk2OSwyOCArMTAwMiwyOCBAQAogbXNnaWQgIm1pc3NpbmcgYCknIgogbXNnc3RyICJtaXNzaW5nIOKAmCnigJkiCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzUKKyM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKIG1zZ2lkICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCiBtc2dzdHIgInN5bnRheCBlcnJvcjogb3BlcmFuZCBleHBlY3RlZCIKIAotIzogZXhwci5jOjExNzcKKyM6IGV4cHIuYzoxMTc4CiBtc2dpZCAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCiBtc2dzdHIgInN5bnRheCBlcnJvcjogaW52YWxpZCBhcml0aG1ldGljIG9wZXJhdG9yIgogCi0jOiBleHByLmM6MTIwMQorIzogZXhwci5jOjEyMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMlcyVzOiAlcyAoZXJyb3IgdG9rZW4gaXMgXCIlc1wiKSIKIG1zZ3N0ciAiJXMlcyVzOiAlcyAoZXJyb3IgdG9rZW4gaXMg4oCcJXPigJ0pIgogCi0jOiBleHByLmM6MTI1OQorIzogZXhwci5jOjEyNjAKIG1zZ2lkICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKIG1zZ3N0ciAiaW52YWxpZCBhcml0aG1ldGljIGJhc2UiCiAKLSM6IGV4cHIuYzoxMjc5CisjOiBleHByLmM6MTI4MAogbXNnaWQgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKIG1zZ3N0ciAidmFsdWUgdG9vIGdyZWF0IGZvciBiYXNlIgogCi0jOiBleHByLmM6MTMyOAorIzogZXhwci5jOjEzMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKIG1zZ3N0ciAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKQEAgLTk5OSw3ICsxMDMyLDcgQEAKIG1zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgogbXNnc3RyICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgogCi0jOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDU1OQorIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc2V0IG5vZGVsYXkgbW9kZSBmb3IgZmQgJWQiCiBtc2dzdHIgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgpAQCAtMTA1Miw3ICsxMDg1LDcgQEAKIG1zZ2lkICJEb25lIgogbXNnc3RyICJEb25lIgogCi0jOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIyCisjOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIzCiBtc2dpZCAiU3RvcHBlZCIKIG1zZ3N0ciAiU3RvcHBlZCIKIApAQCAtMTA4OSw2OSArMTEyMiw3MyBAQAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIiAgKHdkOiAlcykiCiAKLSM6IGpvYnMuYzoxNzcxCisjOiBqb2JzLmM6MTc3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGlsZCBzZXRwZ2lkICglbGQgdG8gJWxkKSIKIG1zZ3N0ciAiY2hpbGQgc2V0cGdpZCAoJWxkIHRvICVsZCkiCiAKLSM6IGpvYnMuYzoyMDk5IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMDQgbm9qb2JzLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbCIKIG1zZ3N0ciAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgogCi0jOiBqb2JzLmM6MjMyNgorIzogam9icy5jOjIzMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIG1zZ3N0ciAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIAotIzogam9icy5jOjI1OTgKKyM6IGpvYnMuYzoyNjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yX2pvYjogam9iICVkIGlzIHN0b3BwZWQiCiBtc2dzdHIgIndhaXRfZm9yX2pvYjogam9iICVkIGlzIHN0b3BwZWQiCiAKLSM6IGpvYnMuYzoyODIwCisjOiBqb2JzLmM6MjgyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogCi0jOiBqb2JzLmM6MjgyOQorIzogam9icy5jOjI4MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiBtc2dzdHIgIiVzOiBqb2IgJWQgYWxyZWFkeSBpbiBiYWNrZ3JvdW5kIgogCi0jOiBqb2JzLmM6MzQ5MgorIzogam9icy5jOjMwNTkKK21zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCittc2dzdHIgIndhaXRjaGxkOiB0dXJuaW5nIG9uIFdOT0hBTkcgdG8gYXZvaWQgaW5kZWZpbml0ZSBibG9jayIKKworIzogam9icy5jOjM1MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGxpbmUgJWQ6ICIKIG1zZ3N0ciAiJXM6IGxpbmUgJWQ6ICIKIAotIzogam9icy5jOjM1MDYgbm9qb2JzLmM6ODE0CisjOiBqb2JzLmM6MzUyMiBub2pvYnMuYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIChjb3JlIGR1bXBlZCkiCiBtc2dzdHIgIiAoY29yZSBkdW1wZWQpIgogCi0jOiBqb2JzLmM6MzUxOCBqb2JzLmM6MzUzMQorIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHdkIG5vdzogJXMpXG4iCiBtc2dzdHIgIih3ZCBub3c6ICVzKVxuIgogCi0jOiBqb2JzLmM6MzU2MworIzogam9icy5jOjM1NzkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIGZhaWxlZCIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBmYWlsZWQiCiAKLSM6IGpvYnMuYzozNjIzCisjOiBqb2JzLmM6MzYzOQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgogCi0jOiBqb2JzLmM6MzYzMworIzogam9icy5jOjM2NDkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogCi0jOiBqb2JzLmM6MzY2MQorIzogam9icy5jOjM2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkiCiBtc2dzdHIgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgogCi0jOiBqb2JzLmM6MzY2NgorIzogam9icy5jOjM2ODIKIG1zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgogbXNnc3RyICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgogCkBAIC0xMjQzLDYgKzEyODAsMjYgQEAKIG1zZ2lkICJuZXR3b3JrIG9wZXJhdGlvbnMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAibmV0d29yayBvcGVyYXRpb25zIG5vdCBzdXBwb3J0ZWQiCiAKKyM6IGxvY2FsZS5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKK21zZ3N0ciAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCisKKyM6IGxvY2FsZS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKKworIzogbG9jYWxlLmM6MjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCittc2dzdHIgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCisKKyM6IGxvY2FsZS5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKK21zZ3N0ciAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCisKICM6IG1haWxjaGVjay5jOjQzMwogbXNnaWQgIllvdSBoYXZlIG1haWwgaW4gJF8iCiBtc2dzdHIgIllvdSBoYXZlIG1haWwgaW4gJF8iCkBAIC0xMjU2LDEzMSArMTMxMywxMzEgQEAKIG1zZ2lkICJUaGUgbWFpbCBpbiAlcyBoYXMgYmVlbiByZWFkXG4iCiBtc2dzdHIgIlRoZSBtYWlsIGluICVzIGhhcyBiZWVuIHJlYWRcbiIKIAotIzogbWFrZV9jbWQuYzozMjIKKyM6IG1ha2VfY21kLmM6MzIzCiBtc2dpZCAic3ludGF4IGVycm9yOiBhcml0aG1ldGljIGV4cHJlc3Npb24gcmVxdWlyZWQiCiBtc2dzdHIgInN5bnRheCBlcnJvcjogYXJpdGhtZXRpYyBleHByZXNzaW9uIHJlcXVpcmVkIgogCi0jOiBtYWtlX2NtZC5jOjMyNAorIzogbWFrZV9jbWQuYzozMjUKIG1zZ2lkICJzeW50YXggZXJyb3I6IGA7JyB1bmV4cGVjdGVkIgogbXNnc3RyICJzeW50YXggZXJyb3I6IOKAmDvigJkgdW5leHBlY3RlZCIKIAotIzogbWFrZV9jbWQuYzozMjUKKyM6IG1ha2VfY21kLmM6MzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvcjogYCgoJXMpKSciCiBtc2dzdHIgInN5bnRheCBlcnJvcjog4oCYKCglcykp4oCZIgogCi0jOiBtYWtlX2NtZC5jOjU2NworIzogbWFrZV9jbWQuYzo1NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9oZXJlX2RvY3VtZW50OiBiYWQgaW5zdHJ1Y3Rpb24gdHlwZSAlZCIKIG1zZ3N0ciAibWFrZV9oZXJlX2RvY3VtZW50OiBiYWQgaW5zdHJ1Y3Rpb24gdHlwZSAlZCIKIAotIzogbWFrZV9jbWQuYzo2NTEKKyM6IG1ha2VfY21kLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlcmUtZG9jdW1lbnQgYXQgbGluZSAlZCBkZWxpbWl0ZWQgYnkgZW5kLW9mLWZpbGUgKHdhbnRlZCBgJXMnKSIKIG1zZ3N0ciAiaGVyZS1kb2N1bWVudCBhdCBsaW5lICVkIGRlbGltaXRlZCBieSBlbmQtb2YtZmlsZSAod2FudGVkIOKAmCVz4oCZKSIKIAotIzogbWFrZV9jbWQuYzo3NDYKKyM6IG1ha2VfY21kLmM6NzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlIgogbXNnc3RyICJtYWtlX3JlZGlyZWN0aW9uOiByZWRpcmVjdGlvbiBpbnN0cnVjdGlvbiDigJglZOKAmSBvdXQgb2YgcmFuZ2UiCiAKLSM6IHBhcnNlLnk6Mjk4NiBwYXJzZS55OjMyMTgKKyM6IHBhcnNlLnk6MzEzMyBwYXJzZS55OjMzNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCVjJyIKIG1zZ3N0ciAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcg4oCYJWPigJkiCiAKLSM6IHBhcnNlLnk6MzcyMgorIzogcGFyc2UueTozOTUxCiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3Ig4oCYXV3igJkiCiAKLSM6IHBhcnNlLnk6MzcyNworIzogcGFyc2UueTozOTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uOiB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uOiB1bmV4cGVjdGVkIHRva2VuIOKAmCVz4oCZIgogCi0jOiBwYXJzZS55OjM3MzEKKyM6IHBhcnNlLnk6Mzk2MAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIAotIzogcGFyc2UueTozODA5CisjOiBwYXJzZS55OjQwMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCiBtc2dzdHIgInVuZXhwZWN0ZWQgdG9rZW4g4oCYJXPigJksIGV4cGVjdGVkIOKAmCnigJkiCiAKLSM6IHBhcnNlLnk6MzgxMworIzogcGFyc2UueTo0MDQyCiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICJleHBlY3RlZCDigJgp4oCZIgogCi0jOiBwYXJzZS55OjM4NDEKKyM6IHBhcnNlLnk6NDA3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgInVuZXhwZWN0ZWQgYXJndW1lbnQg4oCYJXPigJkgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiAKLSM6IHBhcnNlLnk6Mzg0NQorIzogcGFyc2UueTo0MDc0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIAotIzogcGFyc2UueTozODg1CisjOiBwYXJzZS55OjQxMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgInVuZXhwZWN0ZWQgdG9rZW4g4oCYJXPigJksIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIAotIzogcGFyc2UueTozODg5CisjOiBwYXJzZS55OjQxMjQKIG1zZ2lkICJjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIAotIzogcGFyc2UueTozOTA2CisjOiBwYXJzZS55OjQxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAidW5leHBlY3RlZCBhcmd1bWVudCDigJglc+KAmSB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiAKLSM6IHBhcnNlLnk6MzkxMAorIzogcGFyc2UueTo0MTUwCiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogCi0jOiBwYXJzZS55OjM5MjEKKyM6IHBhcnNlLnk6NDE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlYycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAidW5leHBlY3RlZCB0b2tlbiDigJglY+KAmSBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogCi0jOiBwYXJzZS55OjM5MjQKKyM6IHBhcnNlLnk6NDE2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAidW5leHBlY3RlZCB0b2tlbiDigJglc+KAmSBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogCi0jOiBwYXJzZS55OjM5MjgKKyM6IHBhcnNlLnk6NDE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuICVkIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgInVuZXhwZWN0ZWQgdG9rZW4gJWQgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIAotIzogcGFyc2UueTo1MTk1CisjOiBwYXJzZS55OjU0NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIOKAmCVz4oCZIgogCi0jOiBwYXJzZS55OjUyMTMKKyM6IHBhcnNlLnk6NTQ3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgogbXNnc3RyICJzeW50YXggZXJyb3IgbmVhciDigJglc+KAmSIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgInN5bnRheCBlcnJvciIKIAotIzogcGFyc2UueTo1Mjg1CisjOiBwYXJzZS55OjU1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIFwiJXNcIiB0byBsZWF2ZSB0aGUgc2hlbGwuXG4iCiBtc2dzdHIgIlVzZSDigJwlc+KAnSB0byBsZWF2ZSB0aGUgc2hlbGwuXG4iCiAKLSM6IHBhcnNlLnk6NTQ0NworIzogcGFyc2UueTo1NzExCiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgogbXNnc3RyICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyDigJgp4oCZIgogCi0jOiBwY29tcGxldGUuYzoxMDE4CisjOiBwY29tcGxldGUuYzoxMDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRpb246IGZ1bmN0aW9uIGAlcycgbm90IGZvdW5kIgogbXNnc3RyICJjb21wbGV0aW9uOiBmdW5jdGlvbiDigJglc+KAmSBub3QgZm91bmQiCkBAIC0xMzkwLDcxICsxNDQ3LDkwIEBACiBtc2dpZCAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIG1zZ3N0ciAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIAotIzogcHJpbnRfY21kLmM6Mjg1CisjOiBwcmludF9jbWQuYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJpbnRfY29tbWFuZDogYmFkIGNvbm5lY3RvciBgJWQnIgogbXNnc3RyICJwcmludF9jb21tYW5kOiBiYWQgY29ubmVjdG9yIOKAmCVk4oCZIgogCi0jOiBwcmludF9jbWQuYzoxMzQ4CisjOiBwcmludF9jbWQuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlX3NldDogJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCisKKyM6IHByaW50X2NtZC5jOjM2OAorbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgorbXNnc3RyICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKKworIzogcHJpbnRfY21kLmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKK21zZ3N0ciAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgorCisjOiBwcmludF9jbWQuYzoxNDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiY3ByaW50Zjog4oCYJWPigJk6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIAotIzogcmVkaXIuYzoxMDUKKyM6IHJlZGlyLmM6MTEwCiBtc2dpZCAiZmlsZSBkZXNjcmlwdG9yIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAiZmlsZSBkZXNjcmlwdG9yIG91dCBvZiByYW5nZSIKIAotIzogcmVkaXIuYzoxNDgKKyM6IHJlZGlyLmM6MTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QiCiBtc2dzdHIgIiVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QiCiAKLSM6IHJlZGlyLmM6MTUyCisjOiByZWRpci5jOjE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlIgogbXNnc3RyICIlczogY2Fubm90IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlIgogCi0jOiByZWRpci5jOjE1NworIzogcmVkaXIuYzoxNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiVzOiByZXN0cmljdGVkOiBjYW5ub3QgcmVkaXJlY3Qgb3V0cHV0IgogCi0jOiByZWRpci5jOjE2MgorIzogcmVkaXIuYzoxODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgogbXNnc3RyICJjYW5ub3QgY3JlYXRlIHRlbXAgZmlsZSBmb3IgaGVyZS1kb2N1bWVudDogJXMiCiAKLSM6IHJlZGlyLmM6NTE3CisjOiByZWRpci5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKK21zZ3N0ciAiJXM6IGNhbm5vdCBhc3NpZ24gZmQgdG8gdmFyaWFibGUiCisKKyM6IHJlZGlyLmM6NTQ0CiBtc2dpZCAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IG5vdCBzdXBwb3J0ZWQgd2l0aG91dCBuZXR3b3JraW5nIgogbXNnc3RyICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiAKLSM6IHJlZGlyLmM6MTAyMworIzogcmVkaXIuYzoxMTAxCiBtc2dpZCAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCiBtc2dzdHIgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgogCi0jOiBzaGVsbC5jOjMyOAorIzogc2hlbGwuYzozMzIKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIG1zZ3N0ciAiY291bGQgbm90IGZpbmQgL3RtcCwgcGxlYXNlIGNyZWF0ZSEiCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzNgogbXNnaWQgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICIvdG1wIG11c3QgYmUgYSB2YWxpZCBkaXJlY3RvcnkgbmFtZSIKIAotIzogc2hlbGwuYzo4NzYKKyM6IHNoZWxsLmM6ODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVjJWM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIAotIzogc2hlbGwuYzoxNjM4CisjOiBzaGVsbC5jOjE2NTEKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgIkkgaGF2ZSBubyBuYW1lISIKIAotIzogc2hlbGwuYzoxNzc4CisjOiBzaGVsbC5jOjE3OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgogbXNnc3RyICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiAKLSM6IHNoZWxsLmM6MTc3OQorIzogc2hlbGwuYzoxNzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJVc2FnZTpcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIC4uLlxuIgpAQCAtMTQ2MywzODAgKzE1MzksNDAzIEBACiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKICJcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIHNjcmlwdC1maWxlIC4uLlxuIgogCi0jOiBzaGVsbC5jOjE3ODEKKyM6IHNoZWxsLmM6MTc5NgogbXNnaWQgIkdOVSBsb25nIG9wdGlvbnM6XG4iCiBtc2dzdHIgIkdOVSBsb25nIG9wdGlvbnM6XG4iCiAKLSM6IHNoZWxsLmM6MTc4NQorIzogc2hlbGwuYzoxODAwCiBtc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKIG1zZ3N0ciAiU2hlbGwgb3B0aW9uczpcbiIKIAotIzogc2hlbGwuYzoxNzg2CisjOiBzaGVsbC5jOjE4MDEKIG1zZ2lkICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCiBtc2dzdHIgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCiBtc2dzdHIgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgogCi0jOiBzaGVsbC5jOjE4MDcKKyM6IHNoZWxsLmM6MTgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIlR5cGUg4oCYJXMgLWMg4oCcaGVscCBzZXTigJ3igJkgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgb3B0aW9ucy5cbiIKIAotIzogc2hlbGwuYzoxODA4CisjOiBzaGVsbC5jOjE4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKIG1zZ3N0ciAiVHlwZSDigJglcyAtYyBoZWxw4oCZIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIGJ1aWx0aW4gY29tbWFuZHMuXG4iCiAKLSM6IHNoZWxsLmM6MTgwOQorIzogc2hlbGwuYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIlVzZSB0aGUg4oCYYmFzaGJ1Z+KAmSBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgogCi0jOiBzaWcuYzo1ODMKKyM6IHNpZy5jOjYyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzaWdwcm9jbWFzazogJWQ6IGludmFsaWQgb3BlcmF0aW9uIgogbXNnc3RyICJzaWdwcm9jbWFzazogJWQ6IGludmFsaWQgb3BlcmF0aW9uIgogCi0jOiBzaWdsaXN0LmM6NDcKKyM6IHNpZ2xpc3QuYzo0OAogbXNnaWQgIkJvZ3VzIHNpZ25hbCIKIG1zZ3N0ciAiQm9ndXMgc2lnbmFsIgogCi0jOiBzaWdsaXN0LmM6NTAKKyM6IHNpZ2xpc3QuYzo1MQogbXNnaWQgIkhhbmd1cCIKIG1zZ3N0ciAiSGFuZ3VwIgogCi0jOiBzaWdsaXN0LmM6NTQKKyM6IHNpZ2xpc3QuYzo1NQogbXNnaWQgIkludGVycnVwdCIKIG1zZ3N0ciAiSW50ZXJydXB0IgogCi0jOiBzaWdsaXN0LmM6NTgKKyM6IHNpZ2xpc3QuYzo1OQogbXNnaWQgIlF1aXQiCiBtc2dzdHIgIlF1aXQiCiAKLSM6IHNpZ2xpc3QuYzo2MgorIzogc2lnbGlzdC5jOjYzCiBtc2dpZCAiSWxsZWdhbCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiSWxsZWdhbCBpbnN0cnVjdGlvbiIKIAotIzogc2lnbGlzdC5jOjY2CisjOiBzaWdsaXN0LmM6NjcKIG1zZ2lkICJCUFQgdHJhY2UvdHJhcCIKIG1zZ3N0ciAiQlBUIHRyYWNlL3RyYXAiCiAKLSM6IHNpZ2xpc3QuYzo3NAorIzogc2lnbGlzdC5jOjc1CiBtc2dpZCAiQUJPUlQgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIkFCT1JUIGluc3RydWN0aW9uIgogCi0jOiBzaWdsaXN0LmM6NzgKKyM6IHNpZ2xpc3QuYzo3OQogbXNnaWQgIkVNVCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiRU1UIGluc3RydWN0aW9uIgogCi0jOiBzaWdsaXN0LmM6ODIKKyM6IHNpZ2xpc3QuYzo4MwogbXNnaWQgIkZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiIKIG1zZ3N0ciAiRmxvYXRpbmcgcG9pbnQgZXhjZXB0aW9uIgogCi0jOiBzaWdsaXN0LmM6ODYKKyM6IHNpZ2xpc3QuYzo4NwogbXNnaWQgIktpbGxlZCIKIG1zZ3N0ciAiS2lsbGVkIgogCi0jOiBzaWdsaXN0LmM6OTAKKyM6IHNpZ2xpc3QuYzo5MQogbXNnaWQgIkJ1cyBlcnJvciIKIG1zZ3N0ciAiQnVzIGVycm9yIgogCi0jOiBzaWdsaXN0LmM6OTQKKyM6IHNpZ2xpc3QuYzo5NQogbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKIG1zZ3N0ciAiU2VnbWVudGF0aW9uIGZhdWx0IgogCi0jOiBzaWdsaXN0LmM6OTgKKyM6IHNpZ2xpc3QuYzo5OQogbXNnaWQgIkJhZCBzeXN0ZW0gY2FsbCIKIG1zZ3N0ciAiQmFkIHN5c3RlbSBjYWxsIgogCi0jOiBzaWdsaXN0LmM6MTAyCisjOiBzaWdsaXN0LmM6MTAzCiBtc2dpZCAiQnJva2VuIHBpcGUiCiBtc2dzdHIgIkJyb2tlbiBwaXBlIgogCi0jOiBzaWdsaXN0LmM6MTA2CisjOiBzaWdsaXN0LmM6MTA3CiBtc2dpZCAiQWxhcm0gY2xvY2siCiBtc2dzdHIgIkFsYXJtIGNsb2NrIgogCi0jOiBzaWdsaXN0LmM6MTEwCisjOiBzaWdsaXN0LmM6MTExCiBtc2dpZCAiVGVybWluYXRlZCIKIG1zZ3N0ciAiVGVybWluYXRlZCIKIAotIzogc2lnbGlzdC5jOjExNAorIzogc2lnbGlzdC5jOjExNQogbXNnaWQgIlVyZ2VudCBJTyBjb25kaXRpb24iCiBtc2dzdHIgIlVyZ2VudCBJTyBjb25kaXRpb24iCiAKLSM6IHNpZ2xpc3QuYzoxMTgKKyM6IHNpZ2xpc3QuYzoxMTkKIG1zZ2lkICJTdG9wcGVkIChzaWduYWwpIgogbXNnc3RyICJTdG9wcGVkIChzaWduYWwpIgogCi0jOiBzaWdsaXN0LmM6MTI2CisjOiBzaWdsaXN0LmM6MTI3CiBtc2dpZCAiQ29udGludWUiCiBtc2dzdHIgIkNvbnRpbnVlIgogCi0jOiBzaWdsaXN0LmM6MTM0CisjOiBzaWdsaXN0LmM6MTM1CiBtc2dpZCAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKIG1zZ3N0ciAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKIAotIzogc2lnbGlzdC5jOjEzOAorIzogc2lnbGlzdC5jOjEzOQogbXNnaWQgIlN0b3BwZWQgKHR0eSBpbnB1dCkiCiBtc2dzdHIgIlN0b3BwZWQgKHR0eSBpbnB1dCkiCiAKLSM6IHNpZ2xpc3QuYzoxNDIKKyM6IHNpZ2xpc3QuYzoxNDMKIG1zZ2lkICJTdG9wcGVkICh0dHkgb3V0cHV0KSIKIG1zZ3N0ciAiU3RvcHBlZCAodHR5IG91dHB1dCkiCiAKLSM6IHNpZ2xpc3QuYzoxNDYKKyM6IHNpZ2xpc3QuYzoxNDcKIG1zZ2lkICJJL08gcmVhZHkiCiBtc2dzdHIgIkkvTyByZWFkeSIKIAotIzogc2lnbGlzdC5jOjE1MAorIzogc2lnbGlzdC5jOjE1MQogbXNnaWQgIkNQVSBsaW1pdCIKIG1zZ3N0ciAiQ1BVIGxpbWl0IgogCi0jOiBzaWdsaXN0LmM6MTU0CisjOiBzaWdsaXN0LmM6MTU1CiBtc2dpZCAiRmlsZSBsaW1pdCIKIG1zZ3N0ciAiRmlsZSBsaW1pdCIKIAotIzogc2lnbGlzdC5jOjE1OAorIzogc2lnbGlzdC5jOjE1OQogbXNnaWQgIkFsYXJtICh2aXJ0dWFsKSIKIG1zZ3N0ciAiQWxhcm0gKHZpcnR1YWwpIgogCi0jOiBzaWdsaXN0LmM6MTYyCisjOiBzaWdsaXN0LmM6MTYzCiBtc2dpZCAiQWxhcm0gKHByb2ZpbGUpIgogbXNnc3RyICJBbGFybSAocHJvZmlsZSkiCiAKLSM6IHNpZ2xpc3QuYzoxNjYKKyM6IHNpZ2xpc3QuYzoxNjcKIG1zZ2lkICJXaW5kb3cgY2hhbmdlZCIKIG1zZ3N0ciAiV2luZG93IGNoYW5nZWQiCiAKLSM6IHNpZ2xpc3QuYzoxNzAKKyM6IHNpZ2xpc3QuYzoxNzEKIG1zZ2lkICJSZWNvcmQgbG9jayIKIG1zZ3N0ciAiUmVjb3JkIGxvY2siCiAKLSM6IHNpZ2xpc3QuYzoxNzQKKyM6IHNpZ2xpc3QuYzoxNzUKIG1zZ2lkICJVc2VyIHNpZ25hbCAxIgogbXNnc3RyICJVc2VyIHNpZ25hbCAxIgogCi0jOiBzaWdsaXN0LmM6MTc4CisjOiBzaWdsaXN0LmM6MTc5CiBtc2dpZCAiVXNlciBzaWduYWwgMiIKIG1zZ3N0ciAiVXNlciBzaWduYWwgMiIKIAotIzogc2lnbGlzdC5jOjE4MgorIzogc2lnbGlzdC5jOjE4MwogbXNnaWQgIkhGVCBpbnB1dCBkYXRhIHBlbmRpbmciCiBtc2dzdHIgIkhGVCBpbnB1dCBkYXRhIHBlbmRpbmciCiAKLSM6IHNpZ2xpc3QuYzoxODYKKyM6IHNpZ2xpc3QuYzoxODcKIG1zZ2lkICJwb3dlciBmYWlsdXJlIGltbWluZW50IgogbXNnc3RyICJwb3dlciBmYWlsdXJlIGltbWluZW50IgogCi0jOiBzaWdsaXN0LmM6MTkwCisjOiBzaWdsaXN0LmM6MTkxCiBtc2dpZCAic3lzdGVtIGNyYXNoIGltbWluZW50IgogbXNnc3RyICJzeXN0ZW0gY3Jhc2ggaW1taW5lbnQiCiAKLSM6IHNpZ2xpc3QuYzoxOTQKKyM6IHNpZ2xpc3QuYzoxOTUKIG1zZ2lkICJtaWdyYXRlIHByb2Nlc3MgdG8gYW5vdGhlciBDUFUiCiBtc2dzdHIgIm1pZ3JhdGUgcHJvY2VzcyB0byBhbm90aGVyIENQVSIKIAotIzogc2lnbGlzdC5jOjE5OAorIzogc2lnbGlzdC5jOjE5OQogbXNnaWQgInByb2dyYW1taW5nIGVycm9yIgogbXNnc3RyICJwcm9ncmFtbWluZyBlcnJvciIKIAotIzogc2lnbGlzdC5jOjIwMgorIzogc2lnbGlzdC5jOjIwMwogbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgZ3JhbnRlZCIKIG1zZ3N0ciAiSEZUIG1vbml0b3IgbW9kZSBncmFudGVkIgogCi0jOiBzaWdsaXN0LmM6MjA2CisjOiBzaWdsaXN0LmM6MjA3CiBtc2dpZCAiSEZUIG1vbml0b3IgbW9kZSByZXRyYWN0ZWQiCiBtc2dzdHIgIkhGVCBtb25pdG9yIG1vZGUgcmV0cmFjdGVkIgogCi0jOiBzaWdsaXN0LmM6MjEwCisjOiBzaWdsaXN0LmM6MjExCiBtc2dpZCAiSEZUIHNvdW5kIHNlcXVlbmNlIGhhcyBjb21wbGV0ZWQiCiBtc2dzdHIgIkhGVCBzb3VuZCBzZXF1ZW5jZSBoYXMgY29tcGxldGVkIgogCi0jOiBzaWdsaXN0LmM6MjE0CisjOiBzaWdsaXN0LmM6MjE1CiBtc2dpZCAiSW5mb3JtYXRpb24gcmVxdWVzdCIKIG1zZ3N0ciAiSW5mb3JtYXRpb24gcmVxdWVzdCIKIAotIzogc2lnbGlzdC5jOjIyMgorIzogc2lnbGlzdC5jOjIyMwogbXNnaWQgIlVua25vd24gU2lnbmFsICMiCiBtc2dzdHIgIlVua25vd24gU2lnbmFsICMiCiAKLSM6IHNpZ2xpc3QuYzoyMjQKKyM6IHNpZ2xpc3QuYzoyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyVkIgogbXNnc3RyICJVbmtub3duIFNpZ25hbCAjJWQiCiAKLSM6IHN1YnN0LmM6MTE4MSBzdWJzdC5jOjEzMDIKKyM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgogbXNnc3RyICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIOKAmCVz4oCZIGluICVzIgogCi0jOiBzdWJzdC5jOjI0NTgKKyM6IHN1YnN0LmM6MjczNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKIG1zZ3N0ciAiJXM6IGNhbm5vdCBhc3NpZ24gbGlzdCB0byBhcnJheSBtZW1iZXIiCiAKLSM6IHN1YnN0LmM6NDQ1NiBzdWJzdC5jOjQ0NzIKKyM6IHN1YnN0LmM6NDc1NCBzdWJzdC5jOjQ3NzAKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiAKLSM6IHN1YnN0LmM6NDUwNAorIzogc3Vic3QuYzo0ODAyCiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiAKLSM6IHN1YnN0LmM6NDU0OQorIzogc3Vic3QuYzo0ODQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHJlYWRpbmciCiBtc2dzdHIgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHJlYWRpbmciCiAKLSM6IHN1YnN0LmM6NDU1MQorIzogc3Vic3QuYzo0ODQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCiAKLSM6IHN1YnN0LmM6NDU2OQorIzogc3Vic3QuYzo0ODY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgbmFtZWQgcGlwZSAlcyBhcyBmZCAlZCIKIG1zZ3N0ciAiY2Fubm90IGR1cGxpY2F0ZSBuYW1lZCBwaXBlICVzIGFzIGZkICVkIgogCi0jOiBzdWJzdC5jOjQ3NjUKKyM6IHN1YnN0LmM6NTA2MwogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJjYW5ub3QgbWFrZSBwaXBlIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIAotIzogc3Vic3QuYzo0Nzk5CisjOiBzdWJzdC5jOjUwOTcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIAotIzogc3Vic3QuYzo0ODE2CisjOiBzdWJzdC5jOjUxMTQKIG1zZ2lkICJjb21tYW5kX3N1YnN0aXR1dGU6IGNhbm5vdCBkdXBsaWNhdGUgcGlwZSBhcyBmZCAxIgogbXNnc3RyICJjb21tYW5kX3N1YnN0aXR1dGU6IGNhbm5vdCBkdXBsaWNhdGUgcGlwZSBhcyBmZCAxIgogCi0jOiBzdWJzdC5jOjUzMTgKKyM6IHN1YnN0LmM6NTYxNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGFyYW1ldGVyIG51bGwgb3Igbm90IHNldCIKIG1zZ3N0ciAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCiAKLSM6IHN1YnN0LmM6NTYwOAorIzogc3Vic3QuYzo1OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiBtc2dzdHIgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiAKLSM6IHN1YnN0LmM6NjY2MAorIzogc3Vic3QuYzo2OTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIlczogYmFkIHN1YnN0aXR1dGlvbiIKIAotIzogc3Vic3QuYzo2NzQwCisjOiBzdWJzdC5jOjcwNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IGNhbm5vdCBhc3NpZ24gaW4gdGhpcyB3YXkiCiAKLSM6IHN1YnN0LmM6NzQ5OQorIzogc3Vic3QuYzo3Mzc0Cittc2dpZCAiIgorImZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGUgc2hlbGwgd2lsbCBmb3JjZSBldmFsdWF0aW9uIGFzIGFuIGFyaXRobWV0aWMgIgorInN1YnN0aXR1dGlvbiIKK21zZ3N0ciAiIgorImZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGUgc2hlbGwgd2lsbCBmb3JjZSBldmFsdWF0aW9uIGFzIGFuIGFyaXRobWV0aWMgIgorInN1YnN0aXR1dGlvbiIKKworIzogc3Vic3QuYzo3ODM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCiBtc2dzdHIgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3Npbmcg4oCcYOKAnSBpbiAlcyIKIAotIzogc3Vic3QuYzo4Mzc1CisjOiBzdWJzdC5jOjg3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICJubyBtYXRjaDogJXMiCiAKLSM6IHRlc3QuYzoxNDUKKyM6IHRlc3QuYzoxNDYKIG1zZ2lkICJhcmd1bWVudCBleHBlY3RlZCIKIG1zZ3N0ciAiYXJndW1lbnQgZXhwZWN0ZWQiCiAKLSM6IHRlc3QuYzoxNTQKKyM6IHRlc3QuYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludGVnZXIgZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IGludGVnZXIgZXhwcmVzc2lvbiBleHBlY3RlZCIKIAotIzogdGVzdC5jOjI2MgorIzogdGVzdC5jOjI2MwogbXNnaWQgImApJyBleHBlY3RlZCIKIG1zZ3N0ciAi4oCYKeKAmSBleHBlY3RlZCIKIAotIzogdGVzdC5jOjI2NAorIzogdGVzdC5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICLigJgp4oCZIGV4cGVjdGVkLCBmb3VuZCAlcyIKIAotIzogdGVzdC5jOjI3OSB0ZXN0LmM6Njg4IHRlc3QuYzo2OTEKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5MyB0ZXN0LmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogCi0jOiB0ZXN0LmM6NDQ0IHRlc3QuYzo3MzEKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjczNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogCi0jOiB0ZXN0LmM6ODA2CisjOiB0ZXN0LmM6ODExCiBtc2dpZCAibWlzc2luZyBgXSciCiBtc2dzdHIgIm1pc3Npbmcg4oCYXeKAmSIKIAotIzogdHJhcC5jOjIwMQorIzogdHJhcC5jOjIwMwogbXNnaWQgImludmFsaWQgc2lnbmFsIG51bWJlciIKIG1zZ3N0ciAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgogCi0jOiB0cmFwLmM6MzI0CisjOiB0cmFwLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bl9wZW5kaW5nX3RyYXBzOiBiYWQgdmFsdWUgaW4gdHJhcF9saXN0WyVkXTogJXAiCiBtc2dzdHIgInJ1bl9wZW5kaW5nX3RyYXBzOiBiYWQgdmFsdWUgaW4gdHJhcF9saXN0WyVkXTogJXAiCiAKLSM6IHRyYXAuYzozMjgKKyM6IHRyYXAuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCiBtc2dzdHIgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgogCi0jOiB0cmFwLmM6MzcyCisjOiB0cmFwLmM6MzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKIG1zZ3N0ciAidHJhcF9oYW5kbGVyOiBiYWQgc2lnbmFsICVkIgogCi0jOiB2YXJpYWJsZXMuYzozNTgKKyM6IHZhcmlhYmxlcy5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBpbXBvcnRpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbiBmb3IgYCVzJyIKIG1zZ3N0ciAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIOKAmCVz4oCZIgogCi0jOiB2YXJpYWJsZXMuYzo3MzYKKyM6IHZhcmlhYmxlcy5jOjc0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGVsbCBsZXZlbCAoJWQpIHRvbyBoaWdoLCByZXNldHRpbmcgdG8gMSIKIG1zZ3N0ciAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCiAKLSM6IHZhcmlhYmxlcy5jOjE4OTgKKyM6IHZhcmlhYmxlcy5jOjE5MTUKIG1zZ2lkICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIAotIzogdmFyaWFibGVzLmM6MzEyNworIzogdmFyaWFibGVzLmM6MzE1OQogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogCi0jOiB2YXJpYWJsZXMuYzozMzQ0IHZhcmlhYmxlcy5jOjMzNTMKKyM6IHZhcmlhYmxlcy5jOjMzNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG51bGwgZXhwb3J0c3RyIgorbXNnc3RyICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCisKKyM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIgogCi0jOiB2YXJpYWJsZXMuYzozMzU5CisjOiB2YXJpYWJsZXMuYzozMzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICJubyDigJg94oCZIGluIGV4cG9ydHN0ciBmb3IgJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjM3OTQKKyM6IHZhcmlhYmxlcy5jOjM4MzUKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiBtc2dzdHIgInBvcF92YXJfY29udGV4dDogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgZnVuY3Rpb24gY29udGV4dCIKIAotIzogdmFyaWFibGVzLmM6MzgwNworIzogdmFyaWFibGVzLmM6Mzg0OAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogbXNnc3RyICJwb3BfdmFyX2NvbnRleHQ6IG5vIGdsb2JhbF92YXJpYWJsZXMgY29udGV4dCIKIAotIzogdmFyaWFibGVzLmM6Mzg4MQorIzogdmFyaWFibGVzLmM6MzkyMgogbXNnaWQgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgogbXNnc3RyICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKIAorIzogdmFyaWFibGVzLmM6NDY3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCittc2dzdHIgIiVzOiAlczogY2Fubm90IG9wZW4gYXMgRklMRSIKKworIzogdmFyaWFibGVzLmM6NDY4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGludmFsaWQgdmFsdWUgZm9yIHRyYWNlIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCisKICM6IHZlcnNpb24uYzo0NgogbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCiBtc2dzdHIgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCkBAIC0xODQ5LDYwICsxOTQ4LDU0IEBACiAiTGljZW5zZSBHUEx2Mys6IEdOVSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgogImh0bWw+XG4iCiAKLSM6IHZlcnNpb24uYzo4NgorIzogdmVyc2lvbi5jOjg2IHZlcnNpb24yLmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMgKCVzKVxuIgogbXNnc3RyICJHTlUgYmFzaCwgdmVyc2lvbiAlcyAoJXMpXG4iCiAKLSM6IHZlcnNpb24uYzo5MQorIzogdmVyc2lvbi5jOjkxIHZlcnNpb24yLmM6ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgYXJlIGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuXG4iCiBtc2dzdHIgIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmlidXRlIGl0LlxuIgogCi0jOiB2ZXJzaW9uLmM6OTIKKyM6IHZlcnNpb24uYzo5MiB2ZXJzaW9uMi5jOjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuXG4iCiBtc2dzdHIgIlRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuXG4iCiAKLSM6IHhtYWxsb2MuYzo5MgorIzogdmVyc2lvbjIuYzo4NgogIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAieG1hbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCittc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgorbXNnc3RyICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCiAKLSM6IHhtYWxsb2MuYzo5NAorIzogdmVyc2lvbjIuYzo4NwogIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICJ4bWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorbXNnaWQgIiIKKyJMaWNlbnNlIEdQTHYyKzogR05VIEdQTCB2ZXJzaW9uIDIgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiaHRtbD5cbiIKK21zZ3N0ciAiIgorIkxpY2Vuc2UgR1BMdjIrOiBHTlUgR1BMIHZlcnNpb24gMiBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKKyJodG1sPlxuIgogCi0jOiB4bWFsbG9jLmM6MTE0CisjOiB4bWFsbG9jLmM6OTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgInhyZWFsbG9jOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKK21zZ3N0ciAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgogCi0jOiB4bWFsbG9jLmM6MTE2CisjOiB4bWFsbG9jLmM6OTMKICMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhyZWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorbXNnc3RyICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKIAotIzogeG1hbGxvYy5jOjE1MAorIzogeG1hbGxvYy5jOjE2MwogIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorbXNnc3RyICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgogCi0jOiB4bWFsbG9jLmM6MTUyCisjOiB4bWFsbG9jLmM6MTY1CiAjLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICJ4bWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKLQotIzogeG1hbGxvYy5jOjE3NAotIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgInhyZWFsbG9jOiAlczolZDogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLQotIzogeG1hbGxvYy5jOjE3NgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhyZWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCittc2dzdHIgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKIAogIzogYnVpbHRpbnMuYzo0MwogbXNnaWQgImFsaWFzIFstcF0gW25hbWVbPXZhbHVlXSAuLi4gXSIKQEAgLTIwMjEsOCArMjExNCw4IEBACiBtc2dzdHIgImhhc2ggWy1scl0gWy1wIHBhdGhuYW1lXSBbLWR0XSBbbmFtZSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjExNwotbXNnaWQgImhlbHAgWy1kc10gW3BhdHRlcm4gLi4uXSIKLW1zZ3N0ciAiaGVscCBbLWRzXSBbcGF0dGVybiAuLi5dIgorbXNnaWQgImhlbHAgWy1kbXNdIFtwYXR0ZXJuIC4uLl0iCittc2dzdHIgImhlbHAgWy1kbXNdIFtwYXR0ZXJuIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTIxCiBtc2dpZCAiIgpAQCAtMjA1NCwxMSArMjE0NywxMSBAQAogCiAjOiBidWlsdGlucy5jOjEzNgogbXNnaWQgIiIKLSJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstcCBwcm9tcHRdIFstdCAiCi0idGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgorInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKKyJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKLSJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstcCBwcm9tcHRdIFstdCAiCi0idGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgorInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKKyJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTM4CiBtc2dpZCAicmV0dXJuIFtuXSIKQEAgLTIyMTgsMTMgKzIzMTEsMTMgQEAKIAogIzogYnVpbHRpbnMuYzoyMjkKIG1zZ2lkICIiCi0iY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLVcgIgotIndvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TIHN1ZmZpeF0gIgotIltuYW1lIC4uLl0iCisiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstREVdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLSIKKyJXIHdvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TICIKKyJzdWZmaXhdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKLSJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1vIG9wdGlvbl0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstVyAiCi0id29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgc3VmZml4XSAiCi0iW25hbWUgLi4uXSIKKyJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1ERV0gWy1vIG9wdGlvbl0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstIgorIlcgd29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgIgorInN1ZmZpeF0gW25hbWUgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoyMzMKIG1zZ2lkICIiCkBAIC0yMjM1LDggKzIzMjgsOCBAQAogIlstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyBzdWZmaXhdIFt3b3JkXSIKIAogIzogYnVpbHRpbnMuYzoyMzcKLW1zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFtuYW1lIC4uLl0iCi1tc2dzdHIgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gW25hbWUgLi4uXSIKK21zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFstREVdIFtuYW1lIC4uLl0iCittc2dzdHIgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gWy1ERV0gW25hbWUgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoyNDAKIG1zZ2lkICIiCkBAIC0zNTA0LDcgKzM1OTcsMTEgQEAKICIgICAgICAtZVx0XHR1c2UgUmVhZGxpbmUgdG8gb2J0YWluIHRoZSBsaW5lIGluIGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCiAiICAgICAgLWkgdGV4dFx0VXNlIFRFWFQgYXMgdGhlIGluaXRpYWwgdGV4dCBmb3IgUmVhZGxpbmVcbiIKICIgICAgICAtbiBuY2hhcnNcdHJldHVybiBhZnRlciByZWFkaW5nIE5DSEFSUyBjaGFyYWN0ZXJzIHJhdGhlciB0aGFuIHdhaXRpbmdcbiIKLSIgICAgXHRcdGZvciBhIG5ld2xpbmVcbiIKKyIgICAgXHRcdGZvciBhIG5ld2xpbmUsIGJ1dCBob25vciBhIGRlbGltaXRlciBpZiBmZXdlciB0aGFuIE5DSEFSU1xuIgorIiAgICBcdFx0Y2hhcmFjdGVycyBhcmUgcmVhZCBiZWZvcmUgdGhlIGRlbGltaXRlclxuIgorIiAgICAgIC1OIG5jaGFyc1x0cmV0dXJuIG9ubHkgYWZ0ZXIgcmVhZGluZyBleGFjdGx5IE5DSEFSUyBjaGFyYWN0ZXJzLCAiCisidW5sZXNzXG4iCisiICAgIFx0XHRFT0YgaXMgZW5jb3VudGVyZWQgb3IgcmVhZCB0aW1lcyBvdXQsIGlnbm9yaW5nIGFueSBkZWxpbWl0ZXJcbiIKICIgICAgICAtcCBwcm9tcHRcdG91dHB1dCB0aGUgc3RyaW5nIFBST01QVCB3aXRob3V0IGEgdHJhaWxpbmcgbmV3bGluZSBiZWZvcmVcbiIKICIgICAgXHRcdGF0dGVtcHRpbmcgdG8gcmVhZFxuIgogIiAgICAgIC1yXHRcdGRvIG5vdCBhbGxvdyBiYWNrc2xhc2hlcyB0byBlc2NhcGUgYW55IGNoYXJhY3RlcnNcbiIKQEAgLTM1NDUsNyArMzY0MiwxMSBAQAogIiAgICAgIC1lXHRcdHVzZSBSZWFkbGluZSB0byBvYnRhaW4gdGhlIGxpbmUgaW4gYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKICIgICAgICAtaSB0ZXh0XHRVc2UgVEVYVCBhcyB0aGUgaW5pdGlhbCB0ZXh0IGZvciBSZWFkbGluZVxuIgogIiAgICAgIC1uIG5jaGFyc1x0cmV0dXJuIGFmdGVyIHJlYWRpbmcgTkNIQVJTIGNoYXJhY3RlcnMgcmF0aGVyIHRoYW4gd2FpdGluZ1xuIgotIiAgICBcdFx0Zm9yIGEgbmV3bGluZVxuIgorIiAgICBcdFx0Zm9yIGEgbmV3bGluZSwgYnV0IGhvbm9yIGEgZGVsaW1pdGVyIGlmIGZld2VyIHRoYW4gTkNIQVJTXG4iCisiICAgIFx0XHRjaGFyYWN0ZXJzIGFyZSByZWFkIGJlZm9yZSB0aGUgZGVsaW1pdGVyXG4iCisiICAgICAgLU4gbmNoYXJzXHRyZXR1cm4gb25seSBhZnRlciByZWFkaW5nIGV4YWN0bHkgTkNIQVJTIGNoYXJhY3RlcnMsICIKKyJ1bmxlc3NcbiIKKyIgICAgXHRcdEVPRiBpcyBlbmNvdW50ZXJlZCBvciByZWFkIHRpbWVzIG91dCwgaWdub3JpbmcgYW55IGRlbGltaXRlclxuIgogIiAgICAgIC1wIHByb21wdFx0b3V0cHV0IHRoZSBzdHJpbmcgUFJPTVBUIHdpdGhvdXQgYSB0cmFpbGluZyBuZXdsaW5lIGJlZm9yZVxuIgogIiAgICBcdFx0YXR0ZW1wdGluZyB0byByZWFkXG4iCiAiICAgICAgLXJcdFx0ZG8gbm90IGFsbG93IGJhY2tzbGFzaGVzIHRvIGVzY2FwZSBhbnkgY2hhcmFjdGVyc1xuIgpAQCAtMzU2NCw3ICszNjY1LDcgQEAKICJvdXQsXG4iCiAiICAgIG9yIGFuIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIGlzIHN1cHBsaWVkIGFzIHRoZSBhcmd1bWVudCB0byAtdS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTAwNgorIzogYnVpbHRpbnMuYzoxMDA5CiBtc2dpZCAiIgogIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzU4NCw3ICszNjg1LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgTiwgb3IgZmFpbHVyZSBpZiB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uIG9yIHNjcmlwdC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTAxOQorIzogYnVpbHRpbnMuYzoxMDIyCiBtc2dpZCAiIgogIlNldCBvciB1bnNldCB2YWx1ZXMgb2Ygc2hlbGwgb3B0aW9ucyBhbmQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTM3NDQsNyArMzg0NSw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIAotIzogYnVpbHRpbnMuYzoxMTAxCisjOiBidWlsdGlucy5jOjExMDQKIG1zZ2lkICIiCiAiVW5zZXQgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzIG9mIHNoZWxsIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuIgogIiAgICBcbiIKQEAgLTM3ODAsNyArMzg4MSw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgTkFNRSBpcyByZWFkLW9ubHkuIgogCi0jOiBidWlsdGlucy5jOjExMjEKKyM6IGJ1aWx0aW5zLmM6MTEyNAogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTM4MTQsNyArMzkxNSw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTE0MAorIzogYnVpbHRpbnMuYzoxMTQzCiBtc2dpZCAiIgogIk1hcmsgc2hlbGwgdmFyaWFibGVzIGFzIHVuY2hhbmdlYWJsZS5cbiIKICIgICAgXG4iCkBAIC0zODUwLDcgKzM5NTEsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogCi0jOiBidWlsdGlucy5jOjExNjEKKyM6IGJ1aWx0aW5zLmM6MTE2NAogbXNnaWQgIiIKICJTaGlmdCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzg2OCw3ICszOTY5LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTiBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gJCMuIgogCi0jOiBidWlsdGlucy5jOjExNzMgYnVpbHRpbnMuYzoxMTg4CisjOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzg5Miw3ICszOTkzLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQgaW4gRklMRU5BTUU7IGZhaWxzIGlmXG4iCiAiICAgIEZJTEVOQU1FIGNhbm5vdCBiZSByZWFkLiIKIAotIzogYnVpbHRpbnMuYzoxMjA0CisjOiBidWlsdGlucy5jOjEyMDcKIG1zZ2lkICIiCiAiU3VzcGVuZCBzaGVsbCBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzkxNiw3ICs0MDE3LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIAotIzogYnVpbHRpbnMuYzoxMjIwCisjOiBidWlsdGlucy5jOjEyMjMKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC00MDY2LDcgKzQxNjcsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgRVhQUiBldmFsdWF0ZXMgdG8gdHJ1ZTsgZmFpbHMgaWYgRVhQUiBldmFsdWF0ZXMgdG9cbiIKICIgICAgZmFsc2Ugb3IgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBnaXZlbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTI5NgorIzogYnVpbHRpbnMuYzoxMjk5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtNDA3OCw3ICs0MTc5LDcgQEAKICIgICAgVGhpcyBpcyBhIHN5bm9ueW0gZm9yIHRoZSDigJx0ZXN04oCdIGJ1aWx0aW4sIGJ1dCB0aGUgbGFzdCBhcmd1bWVudCBtdXN0XG4iCiAiICAgIGJlIGEgbGl0ZXJhbCDigJhd4oCZLCB0byBtYXRjaCB0aGUgb3BlbmluZyDigJhb4oCZLiIKIAotIzogYnVpbHRpbnMuYzoxMzA1CisjOiBidWlsdGlucy5jOjEzMDgKIG1zZ2lkICIiCiAiRGlzcGxheSBwcm9jZXNzIHRpbWVzLlxuIgogIiAgICBcbiIKQEAgLTQwOTgsNyArNDE5OSw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogCi0jOiBidWlsdGlucy5jOjEzMTcKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJUcmFwIHNpZ25hbHMgYW5kIG90aGVyIGV2ZW50cy5cbiIKICIgICAgXG4iCkBAIC00MTY2LDcgKzQyNjcsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGEgU0lHU1BFQyBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzICIKICJnaXZlbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTM0OQorIzogYnVpbHRpbnMuYzoxMzUyCiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZCB0eXBlLlxuIgogIiAgICBcbiIKQEAgLTQyMjIsNyArNDMyMyw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyBpZiBhbGwgb2YgdGhlIE5BTUVzIGFyZSBmb3VuZDsgZmFpbHMgaWYgYW55IGFyZSBub3QgIgogImZvdW5kLiIKIAotIzogYnVpbHRpbnMuYzoxMzgwCisjOiBidWlsdGlucy5jOjEzODMKIG1zZ2lkICIiCiAiTW9kaWZ5IHNoZWxsIHJlc291cmNlIGxpbWl0cy5cbiIKICIgICAgXG4iCkBAIC00MzA2LDcgKzQ0MDcsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogCi0jOiBidWlsdGlucy5jOjE0MjUKKyM6IGJ1aWx0aW5zLmM6MTQyOAogbXNnaWQgIiIKICJEaXNwbGF5IG9yIHNldCBmaWxlIG1vZGUgbWFzay5cbiIKICIgICAgXG4iCkBAIC00MzM4LDcgKzQ0MzksNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBNT0RFIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogCi0jOiBidWlsdGlucy5jOjE0NDUKKyM6IGJ1aWx0aW5zLmM6MTQ0OAogbXNnaWQgIiIKICJXYWl0IGZvciBqb2IgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTQzNjgsNyArNDQ2OSw3IEBACiAiaXNcbiIKICIgICAgZ2l2ZW4uIgogCi0jOiBidWlsdGlucy5jOjE0NjMKKyM6IGJ1aWx0aW5zLmM6MTQ2NgogbXNnaWQgIiIKICJXYWl0IGZvciBwcm9jZXNzIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC00MzkyLDcgKzQ0OTMsNyBAQAogImlzXG4iCiAiICAgIGdpdmVuLiIKIAotIzogYnVpbHRpbnMuYzoxNDc4CisjOiBidWlsdGlucy5jOjE0ODEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTQ0MTQsNyArNDUxNSw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5MgorIzogYnVpbHRpbnMuYzoxNDk1CiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCiAiICAgIFxuIgpAQCAtNDQ0NCw3ICs0NTQ1LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIAotIzogYnVpbHRpbnMuYzoxNTEwCisjOiBidWlsdGlucy5jOjE1MTMKIG1zZ2lkICIiCiAiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTQ0ODAsNyArNDU4MSw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTUzMQorIzogYnVpbHRpbnMuYzoxNTM0CiBtc2dpZCAiIgogIlJlcG9ydCB0aW1lIGNvbnN1bWVkIGJ5IHBpcGVsaW5lJ3MgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTQ1MDgsNyArNDYwOSw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBUaGUgcmV0dXJuIHN0YXR1cyBpcyB0aGUgcmV0dXJuIHN0YXR1cyBvZiBQSVBFTElORS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU0OAorIzogYnVpbHRpbnMuYzoxNTUxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gcGF0dGVybiBtYXRjaGluZy5cbiIKICIgICAgXG4iCkBAIC00NTI2LDcgKzQ2MjcsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogCi0jOiBidWlsdGlucy5jOjE1NjAKKyM6IGJ1aWx0aW5zLmM6MTU2MwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIGNvbmRpdGlvbmFsLlxuIgogIiAgICBcbiIKQEAgLTQ1NjQsNyArNDY2NSw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU3NworIzogYnVpbHRpbnMuYzoxNTgwCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3Qgc3VjY2VlZHMuXG4iCiAiICAgIFxuIgpAQCAtNDU4Miw3ICs0NjgzLDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIAotIzogYnVpbHRpbnMuYzoxNTg5CisjOiBidWlsdGlucy5jOjE1OTIKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLlxuIgogIiAgICBcbiIKQEAgLTQ2MDAsNyArNDcwMSw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYwMQorIzogYnVpbHRpbnMuYzoxNjA0CiBtc2dpZCAiIgogIkNyZWF0ZSBhIGNvcHJvY2VzcyBuYW1lZCBOQU1FLlxuIgogIiAgICBcbiIKQEAgLTQ2MjIsNyArNDcyMyw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKIAotIzogYnVpbHRpbnMuYzoxNjE1CisjOiBidWlsdGlucy5jOjE2MTgKIG1zZ2lkICIiCiAiRGVmaW5lIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTQ2NDYsNyArNDc0Nyw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgcmVhZG9ubHkuIgogCi0jOiBidWlsdGlucy5jOjE2MjkKKyM6IGJ1aWx0aW5zLmM6MTYzMgogbXNnaWQgIiIKICJHcm91cCBjb21tYW5kcyBhcyBhIHVuaXQuXG4iCiAiICAgIFxuIgpAQCAtNDY2NCw3ICs0NzY1LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIAotIzogYnVpbHRpbnMuYzoxNjQxCisjOiBidWlsdGlucy5jOjE2NDQKIG1zZ2lkICIiCiAiUmVzdW1lIGpvYiBpbiBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTQ2ODgsNyArNDc4OSw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIHJlc3VtZWQgam9iLiIKIAotIzogYnVpbHRpbnMuYzoxNjU2CisjOiBidWlsdGlucy5jOjE2NTkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTQ3MDYsNyArNDgwNyw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIDEgaWYgRVhQUkVTU0lPTiBldmFsdWF0ZXMgdG8gMDsgcmV0dXJucyAwIG90aGVyd2lzZS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY2OAorIzogYnVpbHRpbnMuYzoxNjcxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29uZGl0aW9uYWwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC00NzU4LDcgKzQ4NTksNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgMCBvciAxIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBFWFBSRVNTSU9OLiIKIAotIzogYnVpbHRpbnMuYzoxNjk0CisjOiBidWlsdGlucy5jOjE2OTcKIG1zZ2lkICIiCiAiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKICIgICAgXG4iCkBAIC00ODYyLDcgKzQ5NjMsNyBAQAogIiAgICBISVNUSUdOT1JFXHRBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIHBhdHRlcm5zIHVzZWQgdG8gZGVjaWRlIHdoaWNoXG4iCiAiICAgIFx0XHRjb21tYW5kcyBzaG91bGQgYmUgc2F2ZWQgb24gdGhlIGhpc3RvcnkgbGlzdC5cbiIKIAotIzogYnVpbHRpbnMuYzoxNzUxCisjOiBidWlsdGlucy5jOjE3NTQKIG1zZ2lkICIiCiAiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTQ5MjAsNyArNTAyMSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBzdXBwbGllZCBvciB0aGUgZGlyZWN0b3J5XG4iCiAiICAgIGNoYW5nZSBmYWlscy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTc4NQorIzogYnVpbHRpbnMuYzoxNzg4CiBtc2dpZCAiIgogIlJlbW92ZSBkaXJlY3RvcmllcyBmcm9tIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTQ5NzAsNyArNTA3MSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBzdXBwbGllZCBvciB0aGUgZGlyZWN0b3J5XG4iCiAiICAgIGNoYW5nZSBmYWlscy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTgxNQorIzogYnVpbHRpbnMuYzoxODE4CiBtc2dpZCAiIgogIkRpc3BsYXkgZGlyZWN0b3J5IHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTUwMjQsNyArNTEyNSw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg0NAorIzogYnVpbHRpbnMuYzoxODQ3CiBtc2dpZCAiIgogIlNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC01MDYyLDcgKzUxNjMsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgT1BUTkFNRSBpcyBlbmFibGVkOyBmYWlscyBpZiBhbiBpbnZhbGlkIG9wdGlvbiBpc1xuIgogIiAgICBnaXZlbiBvciBPUFROQU1FIGlzIGRpc2FibGVkLiIKIAotIzogYnVpbHRpbnMuYzoxODY1CisjOiBidWlsdGlucy5jOjE4NjgKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCiAiICAgIFxuIgpAQCAtNTExOCw3ICs1MjE5LDcgQEAKICJhc3NpZ25tZW50XG4iCiAiICAgIGVycm9yIG9jY3Vycy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg5MgorIzogYnVpbHRpbnMuYzoxODk1CiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTUxMzIsOSArNTIzMywxNCBAQAogIiAgICAgIC1wXHRwcmludCBleGlzdGluZyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zIGluIGEgcmV1c2FibGUgZm9ybWF0XG4iCiAiICAgICAgLXJcdHJlbW92ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm9cbiIKICIgICAgXHROQU1FcyBhcmUgc3VwcGxpZWQsIGFsbCBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zXG4iCisiICAgICAgLURcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyBhcyB0aGUgZGVmYXVsdCBmb3IgY29tbWFuZHNcbiIKKyIgICAgXHR3aXRob3V0IGFueSBzcGVjaWZpYyBjb21wbGV0aW9uIGRlZmluZWRcbiIKKyIgICAgICAtRVx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIHRvIFwiZW1wdHlcIiBjb21tYW5kcyAtLVxuIgorIiAgICBcdGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZVxuIgogIiAgICBcbiIKICIgICAgV2hlbiBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgdGhlIGFjdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZVxuIgotIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS5cbiIKKyIgICAgdXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuICBUaGUgLUQgb3B0aW9uIHRha2VzXG4iCisiICAgIHByZWNlZGVuY2Ugb3ZlciAtRS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCkBAIC01MTUxLDE0ICs1MjU3LDE5IEBACiAiICAgICAgLXBcdHByaW50IGV4aXN0aW5nIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnMgaW4gYSByZXVzYWJsZSBmb3JtYXRcbiIKICIgICAgICAtclx0cmVtb3ZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGZvciBlYWNoIE5BTUUsIG9yLCBpZiBub1xuIgogIiAgICBcdE5BTUVzIGFyZSBzdXBwbGllZCwgYWxsIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnNcbiIKKyIgICAgICAtRFx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIGFzIHRoZSBkZWZhdWx0IGZvciBjb21tYW5kc1xuIgorIiAgICBcdHdpdGhvdXQgYW55IHNwZWNpZmljIGNvbXBsZXRpb24gZGVmaW5lZFxuIgorIiAgICAgIC1FXHRhcHBseSB0aGUgY29tcGxldGlvbnMgYW5kIGFjdGlvbnMgdG8g4oCcZW1wdHnigJ0gY29tbWFuZHMgLS1cbiIKKyIgICAgXHRjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhIGJsYW5rIGxpbmVcbiIKICIgICAgXG4iCiAiICAgIFdoZW4gY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQsIHRoZSBhY3Rpb25zIGFyZSBhcHBsaWVkIGluIHRoZSBvcmRlciB0aGVcbiIKLSIgICAgdXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuXG4iCisiICAgIHVwcGVyY2FzZS1sZXR0ZXIgb3B0aW9ucyBhcmUgbGlzdGVkIGFib3ZlLiAgVGhlIC1EIG9wdGlvbiB0YWtlc1xuIgorIiAgICBwcmVjZWRlbmNlIG92ZXIgLUUuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogCi0jOiBidWlsdGlucy5jOjE5MTUKKyM6IGJ1aWx0aW5zLmM6MTkyMwogbXNnaWQgIiIKICJEaXNwbGF5IHBvc3NpYmxlIGNvbXBsZXRpb25zIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC01MTgwLDcgKzUyOTEsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogCi0jOiBidWlsdGlucy5jOjE5MzAKKyM6IGJ1aWx0aW5zLmM6MTkzOAogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNTE5Myw2ICs1MzA0LDggQEAKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgIFx0LW8gb3B0aW9uXHRTZXQgY29tcGxldGlvbiBvcHRpb24gT1BUSU9OIGZvciBlYWNoIE5BTUVcbiIKKyIgICAgXHQtRFx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZGVmYXVsdFwiIGNvbW1hbmQgY29tcGxldGlvblxuIgorIiAgICBcdC1FXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJlbXB0eVwiIGNvbW1hbmQgY29tcGxldGlvblxuIgogIiAgICBcbiIKICIgICAgVXNpbmcgYCtvJyBpbnN0ZWFkIG9mIGAtbycgdHVybnMgb2ZmIHRoZSBzcGVjaWZpZWQgb3B0aW9uLlxuIgogIiAgICBcbiIKQEAgLTUyMTksNiArNTMzMiw4IEBACiAiICAgIFxuIgogIiAgICBPcHRpb25zOlxuIgogIiAgICBcdC1vIG9wdGlvblx0U2V0IGNvbXBsZXRpb24gb3B0aW9uIE9QVElPTiBmb3IgZWFjaCBOQU1FXG4iCisiICAgIFx0LURcdFx0Q2hhbmdlIG9wdGlvbnMgZm9yIHRoZSDigJxkZWZhdWx04oCdIGNvbW1hbmQgY29tcGxldGlvblxuIgorIiAgICBcdC1FXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUg4oCcZW1wdHnigJ0gY29tbWFuZCBjb21wbGV0aW9uXG4iCiAiICAgIFxuIgogIiAgICBVc2luZyDigJgrb+KAmSBpbnN0ZWFkIG9mIOKAmC1v4oCZIHR1cm5zIG9mZiB0aGUgc3BlY2lmaWVkIG9wdGlvbi5cbiIKICIgICAgXG4iCkBAIC01MjM0LDE1ICs1MzQ5LDE1IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgTkFNRSBkb2VzIG5vdFxuIgogIiAgICBoYXZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGRlZmluZWQuIgogCi0jOiBidWlsdGlucy5jOjE5NTgKKyM6IGJ1aWx0aW5zLmM6MTk2OAogbXNnaWQgIiIKLSJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCisiUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgotIiAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGFycmF5IHZhcmlhYmxlIEFSUkFZLCBvciAiCi0iZnJvbVxuIgotIiAgICBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSBNQVBGSUxFICIKLSJpc1xuIgotIiAgICB0aGUgZGVmYXVsdCBBUlJBWS5cbiIKKyIgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBpbmRleGVkIGFycmF5IHZhcmlhYmxlICIKKyJBUlJBWSwgb3JcbiIKKyIgICAgZnJvbSBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSAiCisiTUFQRklMRVxuIgorIiAgICBpcyB0aGUgZGVmYXVsdCBBUlJBWS5cbiIKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgICAgLW4gY291bnRcdENvcHkgYXQgbW9zdCBDT1VOVCBsaW5lcy4gIElmIENPVU5UIGlzIDAsIGFsbCBsaW5lcyBhcmUgIgpAQCAtNTI2OSwxNSArNTM4NCwxNyBAQAogIiAgICBhc3NpZ25pbmcgdG8gaXQuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBBUlJBWSBpcyByZWFkb25seS4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkgIgorIm9yXG4iCisiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKIG1zZ3N0ciAiIgotIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKKyJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCi0iICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgYXJyYXkgdmFyaWFibGUgQVJSQVksIG9yICIKLSJmcm9tXG4iCi0iICAgIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlIE1BUEZJTEUgIgotImlzXG4iCi0iICAgIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgorIiAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUgIgorIkFSUkFZLCBvclxuIgorIiAgICBmcm9tIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlICIKKyJNQVBGSUxFXG4iCisiICAgIGlzIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgogIiAgICBcbiIKICIgICAgT3B0aW9uczpcbiIKICIgICAgICAtbiBjb3VudFx0Q29weSBhdCBtb3N0IENPVU5UIGxpbmVzLiAgSWYgQ09VTlQgaXMgMCwgYWxsIGxpbmVzIGFyZSAiCkBAIC01MzA0LDkgKzU0MjEsMTEgQEAKICIgICAgYXNzaWduaW5nIHRvIGl0LlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIEFSUkFZIGlzIHJlYWRvbmx5ICIKKyJvclxuIgorIiAgICBub3QgYW4gaW5kZXhlZCBhcnJheS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTk5MAorIzogYnVpbHRpbnMuYzoyMDAxCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCmRpZmYgLS1naXQgYS9wby9lby5nbW8gYi9wby9lby5nbW8KaW5kZXggMTc2MWE2ZS4uY2UzMmRhNCAxMDA2NDQKLS0tIGEvcG8vZW8uZ21vCisrKyBiL3BvL2VvLmdtbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9wby9lby5wbyBiL3BvL2VvLnBvCmluZGV4IDllODk4YTkuLjczNjczNGQgMTAwNjQ0Ci0tLSBhL3BvL2VvLnBvCisrKyBiL3BvL2VvLnBvCkBAIC0xLDcxICsxLDkxIEBACisjIC0qLSBldmFsOiAocG8tY29uc2lkZXItc291cmNlLXBhdGggIi4uL2J1aWx0aW5zLyIpOyAtKi0KICMgRXNwZXJhbnRvIGxhbmd1YWdlIGZpbGUgZm9yIEdOVSBCYXNoLgogIyBDb3B5cmlnaHQgKEMpIDE5OTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0jIFNlcmdpbyBQb2tyb3Zza2lqIDxzZXJnaW8ucG9rcm92c2tpakBnbWFpbC5jb20+LCAxOTk4LCAyMDA2LgorIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgYmFzaCBwYWNrYWdlLgorIyBTZXJnaW8gUG9rcm92c2tpaiA8c2VyZ2lvLnBva3JvdnNraWpAZ21haWwuY29tPiwgMTk5OCwgMjAwNiwgMjAwOS4KICMKKyMgU3RpbGFqIG5vdG9qOgorIyBBbmd1bGFqIGNpdGlsb2ogbGltaWdhcyDCq3BsdXJham4gdm9ydG9qbsK7LAorIyA5OS02NiBlc3RhcyBsYSBjaXRpbG9qIGRlIOKAnnVudXZvcnRhxLVv4oCfCisjCisjIExhIG1lc2HEnW9qbiBwcmkgaW50ZXJuYWogZXJhcm9qIChtYXJraXRhaiBwZXIgWFhYKSBwcm9iYWJsZSBtYWxuZWNlc2FzCisjIHRyYWR1a2kuCisjCisjIEdsb3Nhcm86CisjIGNhbGxiYWNrCXJldHJvdm9rbworIyB0byBmb3JjZQkuLi4gcHJlIHN1cGVyZm9ydG8KKyMgZ3JhbnRlZCAJamVzaWdpdGEKKyMgaGVyZS1kb2N1bWVudAl0dWotZG9rdW1lbnRvCShpbmZvICIoYmFzaClSZWRpcmVjdGlvbnMiKQogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogR05VIGJhc2ggMy4yXG4iCisiUHJvamVjdC1JZC1WZXJzaW9uOiBHTlUgYmFzaCA0LjBcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMDItMTkgMTQ6NTMtMDUwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMDYtMTEtMjQgMDk6MTkrMDYwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTEyLTMwIDA4OjI1LTA1MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDA5LTA2LTAxIDAwOjMxKzA2MDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IFNlcmdpbyBQb2tyb3Zza2lqIDxzZXJnaW8ucG9rcm92c2tpakBnbWFpbC5jb20+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogRXNwZXJhbnRvIDx0cmFuc2xhdGlvbi10ZWFtLWVvQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgogIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgogIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDgtYml0XG4iCisiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7XG4iCiAKICM6IGFycmF5ZnVuYy5jOjUwCiBtc2dpZCAiYmFkIGFycmF5IHN1YnNjcmlwdCIKIG1zZ3N0ciAiTWlzYSB0YWJlbC1pbmRpY28iCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzQKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IE1hbGVibGFzIGtvbnZlcnRpIHBvemljaWFuIHRhYmVsb24gZW4gYXNvY2l0YWJlbG9uIgogCi0jOiBhcnJheWZ1bmMuYzo0NzkKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYXJyYXlmdW5jLmM6NDgwCisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFzc29jaWF0aXZlIGFycmF5IGtleSIKLW1zZ3N0ciAiJXM6IE1pc2Egbm9tbyBkZSBhZ28iCittc2dzdHIgIiVzOiBNaXNhIGFzb2NpdGFiZWxhIMWdbG9zaWxvIgogCi0jOiBhcnJheWZ1bmMuYzo0ODEKKyM6IGFycmF5ZnVuYy5jOjQ4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiB0byBub24tbnVtZXJpYyBpbmRleCIKIG1zZ3N0ciAiJXM6IFZhbG9yaXphdG8gaGF2dSBub21icmFuIGluZGljb24iCiAKLSM6IGFycmF5ZnVuYy5jOjUxNworIzogYXJyYXlmdW5jLmM6NTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgotbXNnc3RyICIiCittc2dzdHIgIiVzOiAlczogVmFsb3JpemFudGUgcGVyIGFzb2NpdGFiZWxvIHV6dSBpbmRpY29uIgogCi0jOiBiYXNoaGlzdC5jOjM3OQorIzogYmFzaGhpc3QuYzozODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjcmVhdGU6ICVzIgogbXNnc3RyICIlczogTmUgcHJvc3BlcmlzIGtyZWk6ICVzIgogCiAjIFhYWDogaW50ZXJuYWxfZXJyb3IKLSM6IGJhc2hsaW5lLmM6MzQxMworIzogYmFzaGxpbmUuYzozNDU3CiBtc2dpZCAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgogbXNnc3RyICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBNYW5rYXMga2xhdmFydGFiZWxvIHBvciBrb21hbmRvIgogCi0jOiBiYXNobGluZS5jOjM0OTEKKyM6IGJhc2hsaW5lLmM6MzU0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgogbXNnc3RyICIlczogTGEgdW51YSBuZS1ibGFua3NwYWNhIHNpZ25vIG5lIGVzdGFzIOKAnlwi4oCfIgogCi0jOiBiYXNobGluZS5jOjM1MjAKKyM6IGJhc2hsaW5lLmM6MzU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjbG9zaW5nIGAlYycgaW4gJXMiCiBtc2dzdHIgIk1hbmthcyBmZXJtYSDigJ4lY+KAnyBlbiAlcyIKIAotIzogYmFzaGxpbmUuYzozNTU0CisjOiBiYXNobGluZS5jOjM2MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG1pc3NpbmcgY29sb24gc2VwYXJhdG9yIgogbXNnc3RyICIlczogTWFua2FzIGRpc2lnYSBkdXB1bmt0byIKIAorIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogaW52YWxpZCBhbGlhcyBuYW1lIgorbXNnc3RyICLigJ4lc+KAnzogTWlzYSBub21vIHBvciBrbGF2YXJ0YWJlbG8iCisKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjEyMCBidWlsdGlucy9iaW5kLmRlZjoxMjMKIG1zZ2lkICJsaW5lIGVkaXRpbmcgbm90IGVuYWJsZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAibGluaXJlZGFrdGFkbyBuZSBlc3RhcyBlYmxpZ2l0YSIKIAogIzogYnVpbHRpbnMvYmluZC5kZWY6MjA2CiAjLCBjLWZvcm1hdApAQCAtOTksMTkgKzExOSwzNiBAQAogCiAjOiBidWlsdGlucy9icmVhay5kZWY6NzcgYnVpbHRpbnMvYnJlYWsuZGVmOjExNwogbXNnaWQgImxvb3AgY291bnQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaXRlcmFjaW5vbWJyaWxvIgogCiAjOiBidWlsdGlucy9icmVhay5kZWY6MTM3CiBtc2dpZCAib25seSBtZWFuaW5nZnVsIGluIGEgYGZvcicsIGB3aGlsZScsIG9yIGB1bnRpbCcgbG9vcCIKIG1zZ3N0ciAiU2VuY2FzIG51ciBlbiBpdGVyYWNpbyDigJ5mb3LigJ8sIOKAnndoaWxl4oCfIGHFrSDigJ51bnRpbOKAnyIKIAogIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzMKLSMsIGZ1enp5CiBtc2dpZCAiIgogIlJldHVybnMgdGhlIGNvbnRleHQgb2YgdGhlIGN1cnJlbnQgc3Vicm91dGluZSBjYWxsLlxuIgogIiAgICBcbiIKICIgICAgV2l0aG91dCBFWFBSLCByZXR1cm5zICIKLW1zZ3N0ciAiTGl2ZXJhcyBsYSBrdW50ZWtzdG9uIGRlIGxhIGt1cmFudGEgcHJvY2VkdXJ2b2tvLiIKK21zZ3N0ciAiIgorIkxpdmVyYXMgbGEga3VudGVrc3RvbiBkZSBsYSBrdXJhbnRhIHByb2NlZHVydm9rby5cbiIKKyJcbiIKKyIgIFNlbiBFU1BSIGxpdmVyYXMgIgorCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNQorbXNnaWQgIiIKKyIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKKyIgICAgIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM2Cittc2dpZCAiIgorIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgorIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCisiICAgIFxuIgorIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCisiICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgorbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zL2NkLmRlZjoyMTUKIG1zZ2lkICJIT01FIG5vdCBzZXQiCkBAIC0xMjQsMjMgKzE2MSwyMyBAQAogIzogYnVpbHRpbnMvY29tbW9uLmM6MTAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImxpbmUgJWQ6ICIKLW1zZ3N0ciAiIgorbXNnc3RyICJsaW5pbyAlZMKqOiAiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEzOSBlcnJvci5jOjI2MAotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjEKKyMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogIgotbXNnc3RyICIlczogQXZlcnRvOiAiCittc2dzdHIgIkF2ZXJ0bzogIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoxNTMKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdXNhZ2U6ICIKLW1zZ3N0ciAiJXM6IEF2ZXJ0bzogIgorbXNnc3RyICIlczogVXptYW5pZXJvOiAiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODIyCisjOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyNwogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKIG1zZ3N0ciAiVHJvIG11bHRlIGRhIGFyZ3VtZW50b2oiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5MyBzaGVsbC5jOjc3NAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIiVzOiBMYSBvcGNpbyBiZXpvbmFzIGFyZ3VtZW50b24iCkBAIC0xNTUsNyArMTkyLDcgQEAKIG1zZ2lkICIlczogbm90IGZvdW5kIgogbXNnc3RyICIlczogTmUgdHJvdml0YSIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjE0IHNoZWxsLmM6Nzg3CisjOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlczogTWlzYSBvcGNpbyIKQEAgLTE3MSwxNiArMjA4LDE0IEBACiBtc2dzdHIgIuKAniVz4oCfIG5lIGVzdGFzIHRhxa1nYSBub21vIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoyMzgKLSMsIGZ1enp5CiBtc2dpZCAiaW52YWxpZCBvY3RhbCBudW1iZXIiCi1tc2dzdHIgIk1pc2Egc2lnbmFsbnVtZXJvIgorbXNnc3RyICJNaXNhIG9rdW1hIG5vbWJybyIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6MjQwCi0jLCBmdXp6eQogbXNnaWQgImludmFsaWQgaGV4IG51bWJlciIKLW1zZ3N0ciAiTWlzYSBub21icm8iCittc2dzdHIgIk1pc2EgMTZ1bWEgbm9tYnJvIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTUKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NgogbXNnaWQgImludmFsaWQgbnVtYmVyIgogbXNnc3RyICJNaXNhIG5vbWJybyIKIApAQCAtMTk0LDcgKzIyOSw3IEBACiBtc2dpZCAiYCVzJzogbm90IGEgcGlkIG9yIHZhbGlkIGpvYiBzcGVjIgogbXNnc3RyICLigJ4lc+KAnzogTmVrIHByb2Nlem51bWVybywgbmVrIHRhxa1nYSBsYWJvcmluZGlrbyIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjY0IGVycm9yLmM6NDUzCisjOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IHZhcmlhYmxlIgogbXNnc3RyICIlczogTnVybGVnYSB2YXJpYWJsbyIKQEAgLTI0OSwxMiArMjg0LDEyIEBACiAjOiBidWlsdGlucy9jb21tb24uYzozMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3Igc2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJFcmFybyDEiWUgYWdvcmRhZG8gZGUgdGVybWluYWxhaiBhdHJpYnV0b2o6ICVzIgogCiAjOiBidWlsdGlucy9jb21tb24uYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgZ2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJFcmFybyDEiWUgYWtpcm8gZGUgdGVybWluYWxhaiBhdHJpYnV0b2o6ICVzIgogCiAjOiBidWlsdGlucy9jb21tb24uYzo1NjMKICMsIGMtZm9ybWF0CkBAIC0yNjYsNTEgKzMwMSw1MSBAQAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgam9iIHNwZWMiCiBtc2dzdHIgIiVzOiBBbWJpZ3VhIGxhYm9yaW5kaWtvIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6MjcwCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Mjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFjdGlvbiBuYW1lIgogbXNnc3RyICIlczogTWlzYSBub21vIGRlIGFnbyIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjQzMCBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjE1Ci0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODEzCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDQ5IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NDQKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXM6IEtvbXBsZXRpZ28gbmUgZXN0YXMgc3BlY2lmaXRhIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjY3CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk2CiBtc2dpZCAid2FybmluZzogLUYgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgogbXNnc3RyICJBdmVydG86IExhIG9wY2lvIC1GIHBvdmFzIGZ1bmtjaWkgYWxpZSBvbCB2aSBlYmxlIHN1cG96YXMiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NjkKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTgKIG1zZ2lkICJ3YXJuaW5nOiAtQyBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCiBtc2dzdHIgIkF2ZXJ0bzogTGEgb3BjaW8gLUMgcG92YXMgZnVua2NpaSBhbGllIG9sIHZpIGVibGUgc3Vwb3phcyIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjc4NgorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjgyNgogbXNnaWQgIm5vdCBjdXJyZW50bHkgZXhlY3V0aW5nIGNvbXBsZXRpb24gZnVuY3Rpb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAiTmkgbmUgZXN0YXMgZW4gcGxlbnVtYWRvIGRlIGtvbXBsZXRpZ2EgZnVua2NpbyIKIAogIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MTIyCiBtc2dpZCAiY2FuIG9ubHkgYmUgdXNlZCBpbiBhIGZ1bmN0aW9uIgogbXNnc3RyICJVemVibGFzIG51ciBlbmUgZGUgZnVua2NpbyIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzUzCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCiBtc2dzdHIgIuKAni1m4oCfIG5lIGVzdGFzIHV6ZWJsYSBwb3IgZmFyaSBmdW5rY2lvam4iCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NSBleGVjdXRlX2NtZC5jOjQ4MTgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3MiBleGVjdXRlX2NtZC5jOjQ5MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IGZ1bmN0aW9uIgogbXNnc3RyICIlczogTnVybGVnYSBmdW5rY2lvIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjEKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IMSJaSB0aWVsIG5lIGVibGFzIG5lbmlpZ2kgdmFyaWFibG9qbiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDY4CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGFzc29jaWF0aXZlIHRvIGluZGV4ZWQgYXJyYXkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IE5lIGVibGFzIGtvbnZlcnRpIGFzb2NpdGFiZWxvbiBlbiBwb3ppY2lhbiB0YWJlbG9uIgogCiAjOiBidWlsdGlucy9lbmFibGUuZGVmOjEzNyBidWlsdGlucy9lbmFibGUuZGVmOjE0NQogbXNnaWQgImR5bmFtaWMgbG9hZGluZyBub3QgYXZhaWxhYmxlIgpAQCAtMzM2LDggKzM3MSw4IEBACiBtc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgogbXNnc3RyICIlczogTmUgZWJsYXMgZm9yaWdpOiAlcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDY3NQotIzogc2hlbGwuYzoxNDM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0CisjOiBzaGVsbC5jOjE0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlcyBlc3RhcyBkb3NpZXJ1am8iCkBAIC0zNTIsNyArMzg3LDggQEAKIG1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCiBtc2dzdHIgIiVzOiBUcm8gZ3JhbmRhIGRvc2llcm8iCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGV4ZWN1dGVfY21kLmM6NDc0NSBzaGVsbC5jOjE0NDkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAzIGV4ZWN1dGVfY21kLmM6NDg2NAorIzogc2hlbGwuYzoxNDYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIG1zZ3N0ciAiJXM6IE5lcGxlbnVtZWJsYSBkdXVtYSBkb3NpZXJvIgpAQCAtMzY1LDcgKzQwMSw3IEBACiAjOiBidWlsdGlucy9leGl0LmRlZjo2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2dvdXRcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZGlhxa1cbiIKIAogIzogYnVpbHRpbnMvZXhpdC5kZWY6ODgKIG1zZ2lkICJub3QgbG9naW4gc2hlbGw6IHVzZSBgZXhpdCciCkBAIC0zNzcsMjYgKzQxMywyNiBAQAogbXNnc3RyICJSZXN0YXMgaGFsdGlnaXRhaiBsYWJvcm9qLlxuIgogCiAjOiBidWlsdGlucy9leGl0LmRlZjoxMjIKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJUaGVyZSBhcmUgcnVubmluZyBqb2JzLlxuIgotbXNnc3RyICJSZXN0YXMgaGFsdGlnaXRhaiBsYWJvcm9qLlxuIgorbXNnc3RyICJSZXN0YXMgcnVsYXRhaiBsYWJvcm9qLlxuIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MjYxCisjOiBidWlsdGlucy9mYy5kZWY6MjYyCiBtc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKIG1zZ3N0ciAiS29tYW5kbyBuZSB0cm92aXRhIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzQxCisjOiBidWlsdGlucy9mYy5kZWY6MzQ5CiBtc2dpZCAiaGlzdG9yeSBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICJIaXN0b3JpYSBpbmRpa28iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNjIKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCiBtc2dzdHIgIiVzOiBOZSBtYWxmZXJtacSdaXMgbGFib3Jkb3NpZXJvOiAlcyIKIAogIzogYnVpbHRpbnMvZmdfYmcuZGVmOjE0OSBidWlsdGlucy9qb2JzLmRlZjoyODIKIG1zZ2lkICJjdXJyZW50IgotbXNnc3RyICIiCittc2dzdHIgImt1cmFudGEiCiAKICM6IGJ1aWx0aW5zL2ZnX2JnLmRlZjoxNTgKICMsIGMtZm9ybWF0CkBAIC00MjMsMTcgKzQ1OSwxNyBAQAogbXNnc3RyICIlczogSGFrZXR0YWJlbG8gZXN0YXMgbWFscGxlbmFcbiIKIAogIzogYnVpbHRpbnMvaGFzaC5kZWY6MjQ0Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiaGl0c1x0Y29tbWFuZFxuIgotbXNnc3RyICJMYSDEtXVzYSBrb21hbmRvOiAlc1xuIgorbXNnc3RyICJUcmFmb2pcdEtvbWFuZG9cbiIKIAotIyBaWlo6IGHEiWFqIGNpdGlsb2oKKyMgWlpaOiBhxIlhaiBjaXRpbG9qIChmZXJtaXRhIGVuIGxhIHByb2dyYW1vKQogIzogYnVpbHRpbnMvaGVscC5kZWY6MTMwCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiU2hlbGwgY29tbWFuZHMgbWF0Y2hpbmcga2V5d29yZCBgIgogbXNnaWRfcGx1cmFsICJTaGVsbCBjb21tYW5kcyBtYXRjaGluZyBrZXl3b3JkcyBgIgotbXNnc3RyWzBdICLFnGVsYWoga29tYW5kb2oga29uZ3J1YWoga3VuIGxhIMWdbG9zaWx2b3J0byBgIgotbXNnc3RyWzFdICLFnGVsYWoga29tYW5kb2oga29uZ3J1YWoga3VuIGxhIMWdbG9zaWx2b3J0byBgIgorbXNnc3RyWzBdICLFnGVsYWoga29tYW5kb2oga29uZ3J1YWoga3VuIGxhIMWdbG9zaWx2b3J0byAnIgorbXNnc3RyWzFdICLFnGVsYWoga29tYW5kb2oga29uZ3J1YWoga3VuIGxhIMWdbG9zaWx2b3J0b2ogJyIKIAogIzogYnVpbHRpbnMvaGVscC5kZWY6MTY4CiAjLCBjLWZvcm1hdApAQCAtNDgxLDIwICs1MTcsMjAgQEAKIG1zZ3N0ciAiJXM6IEhpc3RvcmlhIG1hbHZvbHZvIGZpYXNraXMiCiAKICM6IGJ1aWx0aW5zL2lubGliLmRlZjo3MQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbmxpYiBmYWlsZWQiCi1tc2dzdHIgIiVzOiBIaXN0b3JpYSBtYWx2b2x2byBmaWFza2lzIgorbXNnc3RyICIlczogaW5saWIgZmlhc2tpcyIKIAogIzogYnVpbHRpbnMvam9icy5kZWY6MTA5CiBtc2dpZCAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JyIKIG1zZ3N0ciAiTGEgdXpvIGRlIOKAni144oCfIG1hbGVibGlnYXMgYWxpYWpuIG9wY2lvam4iCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjE5NworIzogYnVpbHRpbnMva2lsbC5kZWY6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhcmd1bWVudHMgbXVzdCBiZSBwcm9jZXNzIG9yIGpvYiBJRHMiCiBtc2dzdHIgIiVzOiBBcmd1bWVudG8gZXN0dSBwcm9jZXpudW1lcm8gYcWtIGxhYm9yaW5kaWtvIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyNjAKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MwogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgIk5la29uYXRhIGVyYXJvIgogCkBAIC01MDIsNTYgKzUzOCw2MSBAQAogbXNnaWQgImV4cHJlc3Npb24gZXhwZWN0ZWQiCiBtc2dzdHIgIk1hbmthcyBlc3ByaW1vIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDEgYnVpbHRpbnMvcmVhZC5kZWY6MjcyCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYW4gaW5kZXhlZCBhcnJheSIKK21zZ3N0ciAiJXM6IE5lIHRhYmVsYSB2YXJpYWJsbyIKKworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXM6IE1pc2EgaW5kaWtvIGRlIGRvc2llcm51bWVybyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU3IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgotbXNnc3RyICLigJ4lZOKAnzogTWlzYSBkb3NpZXJudW1lcm86ICVzIgorbXNnc3RyICIlZDogTWlzYSBkb3NpZXJudW1lcm86ICVzIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTggYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk2Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKLW1zZ3N0ciAiJXM6IE1pc2Egb3BjaW8iCittc2dzdHIgIiVzOiBNaXNhIGxpbmlub21icm8iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2OQotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzcKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXJyYXkgb3JpZ2luIgotbXNnc3RyICIlczogTWlzYSBvcGNpbyIKK21zZ3N0ciAiJXM6IE1pc2EgdGFiZWxiYXpvIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODYKLSMsIGZ1enp5LCBjLWZvcm1hdAorIyBTdXBvemVibGUgY2FsbGJhY2sgPT4gcmV0cm92b2tvID8/CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgY2FsbGJhY2sgcXVhbnR1bSIKLW1zZ3N0ciAiJXM6IE1pc2Egbm9tbyBkZSBhZ28iCittc2dzdHIgIiVzOiBNaXNhIGt2YW50byDEiWUgcmV0cm92b2tvIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMTgKLSMsIGZ1enp5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKIG1zZ2lkICJlbXB0eSBhcnJheSB2YXJpYWJsZSBuYW1lIgotbXNnc3RyICIlczogTmUgdGFiZWxhIHZhcmlhYmxvIgorbXNnc3RyICJNYW5rYXMgbm9tbyBkZSB0YWJlbHZhcmlhYmxvIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM0NwogbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAibmVjZXNhcyBzdWJ0ZW5vIGRlIHRhYmVsdmFyaWFibG9qIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjM2NworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICLigJ4lc+KAnzogTWFua2FzIGZvcm1hdGEgc2lnbm8iCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTQ0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIuKAniVj4oCfOiBNaXNhIHNpZ25vIGZvcm1hdGEiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTcxCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTc4CisjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKLW1zZ3N0ciAiJXM6IEF2ZXJ0bzogIgorbXNnc3RyICJBdmVydG86ICVzOiAlcyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTAKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzU3CiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAiTWFua2FzIDE2dW1hIGNpZmVybyBwb3IgXFx4IgogCkBAIC01NjUsMTYgKzYwNiwxNCBAQAogCiAjOiBidWlsdGlucy9wdXNoZC5kZWY6NTA2CiBtc2dpZCAiZGlyZWN0b3J5IHN0YWNrIGVtcHR5IgotbXNnc3RyICIiCittc2dzdHIgIkRvc2llcnVqc3Rha28gbWFscGxlbmFzIgogCiAjOiBidWlsdGlucy9wdXNoZC5kZWY6NTA4Ci0jLCBmdXp6eQogbXNnaWQgImRpcmVjdG9yeSBzdGFjayBpbmRleCIKLW1zZ3N0ciAiUmVrdXJzaXN0YWtvIGVsxIllcnBpdGEiCittc2dzdHIgImluZGljbyBkZSBkb3NpZXJ1anN0YWtvIgogCiAjIGRpcnMgWy1jbHB2XSBbK05dIFstTl0KICM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo2ODMKLSMsIGZ1enp5CiBtc2dpZCAiIgogIkRpc3BsYXkgdGhlIGxpc3Qgb2YgY3VycmVudGx5IHJlbWVtYmVyZWQgZGlyZWN0b3JpZXMuICBEaXJlY3Rvcmllc1xuIgogIiAgICBmaW5kIHRoZWlyIHdheSBvbnRvIHRoZSBsaXN0IHdpdGggdGhlIGBwdXNoZCcgY29tbWFuZDsgeW91IGNhbiBnZXRcbiIKQEAgLTYwMSwxNCArNjQwLDE1IEBACiAiICAgIGxhIHN0YWtvbiBwZXIgbGEga29tYW5kbyDigJ5wdXNoZOKAnyBrYWogZXN0YXMgZm9yaWdlYmxhaiBwZXIgbGFcbiIKICIgICAga29tYW5kbyDigJ5wb3Bk4oCfLlxuIgogIlxuIgotIiAgICBMYSBvcGNpbyAtbCBpbmRpa2FzIGtlIOKAnmRpcnPigJ8gbmUgZWxpZ3UgbWFsbG9uZ2FqbiBmb3Jtb2puIGRlXG4iCi0iICAgIGRvc2llcnVqbm9tb2ogcmVsYXRpdmUgYWwgdmlhIGhlam1hIGRvc2llcnVqby4gIFQuZS4gYW5zdGF0YcWtXG4iCi0iICAgIMKrfi9iaW7CuyBhcGVyb3Mgbm9tbyBrdW4gYWJzb2x1dGEgdm9qbywgZWt6LWUgwqsvaG9tZXMvYmZveC9iaW7Cuy5cbiIKLSIgICAgTGEgb3BjaW8gLXYgaWdhcyBrb21hbmRvbiDigJ5kaXJz4oCfIGVsaWdpIHBvIHVudSBlcm9uIGRlIGxhIGRvc2llcnVqc3Rha29cbiIKLSIgICAgZW4gbGluaW8sIG1ldGFudGUgYW50YcWtIGxhIGRvc2llcnVqbm9tbyDEnWlhbiBudW1lcm9uIGVuIGxhIHN0YWtvLlxuIgotIiAgICBMYSBvcGNpbyAtcCBmYXJhcyBzaW1pbGUsIHRhbWVuIG5lIG51bWVyYXMgbGEgcG96aWNpb2puLlxuIgotIiAgICBMYSBvcGNpbyAtYyBtYWxwbGVuaWdhcyBsYSBkb3NpZXJ1anN0YWtvbiBmb3JpZ2FudGUgZWwgxJ1pIMSJaXVqbiBlcm9qbi5cbiIKKyIgICAgT3BjaW9qOlxuIgorIiAgICAtY1x0Zm9ydmnFnXUgbGEgZG9zaWVydWpzdGFrb24gKGZvcmlndSDEiWl1am4gZXJvam4pXG4iCisiICAgIC1sXHRuZSB1enUgdGlsZG9uIGVuIGxhIGRvc2llcnVqbm9tb2ogYmF6aXRhaiByZWxhdGl2ZVxuIgorIiAgICAgIFx0YWwgdmlhIGhlam1hIGRvc2llcnVqb1xuIgorIiAgICAtcFx0ZWxpZ3UgZG9zaWVydWpzdGFrb24gbG9rYW50ZSBwbyB1bnUgZXJvbiBzdXIgbGluaW9cbiIKKyIgICAgLXZcdGVsaWd1IGRvc2llcnVqc3Rha29uIGxva2FudGUgcG8gdW51IGVyb24gc3VyIGxpbmlvLFxuIgorIlx0cHJlZmlrc2FudGUgbGEgZG9zaWVydWpub21vbiBwZXIgxJ1pYSBudW1lcm8gZW4gbGEgc3Rha29cbiIKICJcbiIKKyIgICAgQXJndW1lbnRvajpcbiIKICIgICAgK05cdGVsaWd1IGxhIE5hbiBlcm9uIG5vbWJyYW50ZSBkZSBtYWxkZWtzdHJlIGVuIGxhIGxpc3RvIGVsaWdlYmxhXG4iCiAiXHRwZXIg4oCeZGlyc+KAnyBzZW4gb3BjaW9qLCBudW1lcmFudGUgZWtkZSAwLlxuIgogIlxuIgpAQCAtNjE3LDcgKzY1Nyw2IEBACiAKICMgcHVzaGQgW2RpciB8ICtOIHwgLU5dIFstbl0KICM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo3MDUKLSMsIGZ1enp5CiBtc2dpZCAiIgogIkFkZHMgYSBkaXJlY3RvcnkgdG8gdGhlIHRvcCBvZiB0aGUgZGlyZWN0b3J5IHN0YWNrLCBvciByb3RhdGVzXG4iCiAiICAgIHRoZSBzdGFjaywgbWFraW5nIHRoZSBuZXcgdG9wIG9mIHRoZSBzdGFjayB0aGUgY3VycmVudCB3b3JraW5nXG4iCkBAIC02NDUsMTcgKzY4NCwxOCBAQAogIiAgICBsYSBzdGFrb24gdGllbCwga2UgbGEgbm92YSBzdGFrcGludG8gacSddSBsYSBrdXJhbnRhIGRvc2llcnVqby5cbiIKICIgICAgU2VuYXJndW1lbnRlLCBwZXJtdXR1IGxhIGR1IHBsZWogc3VwcmFqbiBkb3NpZXJ1am9qbiBkZSBsYSBzdGFrby5cbiIKICJcbiIKLSIgICAgK05cdENpa2xlIMWdb3Z1IGxhIHN0YWtvbiB0aWVsIGtlIGxhIE5hIGRvc2llcnVqbyAobm9tYnJhbnRlIGRlXG4iCisiICAgIE9wY2lvajpcbiIKKyIgICAgLW5cdE5lIMWdYW7EnXUgbGEga3VyYW50YW4gZG9zaWVydWpvbiBzdXJzdGFraWdhbnRlIGRvc2llcnVqb24gc3VyXG4iCisiICAgIFx0bGEgc3Rha29uOyBkbywgbnVyIGxhIHN0YWtvbiDFnWFuxJ11LlxuIgorIlxuIgorIiAgICArTlx0Q2lrbGUgxZ1vdnUgbGEgc3Rha29uIHRpZWwga2UgbGEgTsKqIGRvc2llcnVqbyAobm9tYnJhbnRlIGRlXG4iCiAiICAgIFx0bWFsZGVrc3RyZSBlbiBsYSBsaXN0byBlbGlnZWJsYSBwZXIg4oCeZGlyc+KAnywgbnVtZXJhbnRlIGRlIDApXG4iCiAiICAgICAgICBpxJ11IGxhIHBpbnRhLlxuIgogIlxuIgotIiAgICAtTlx0Q2lrbGUgxZ1vdnUgbGEgc3Rha29uIHRpZWwga2UgbGEgTmEgZG9zaWVydWpvIChub21icmFudGUgZGVcbiIKKyIgICAgLU5cdENpa2xlIMWdb3Z1IGxhIHN0YWtvbiB0aWVsIGtlIGxhIE7CqiBkb3NpZXJ1am8gKG5vbWJyYW50ZSBkZVxuIgogIiAgICBcdGRla3N0cmUgZW4gbGEgbGlzdG8gZWxpZ2VibGEgcGVyIOKAnmRpcnPigJ8sIG51bWVyYW50ZSBkZSAwKSBpxJ11XG4iCiAiICAgICAgICBsYSBwaW50YS5cbiIKICJcbiIKLSIgICAgLW5cdE5lIMWdYW7EnXUgbGEga3VyYW50YW4gZG9zaWVydWpvbiBzdXJzdGFraWdhbnRlIGRvc2llcnVqb24gc3VyXG4iCi0iICAgIFx0bGEgc3Rha29uOyBkbywgbnVyIGxhIHN0YWtvbiDFnWFuxJ11LlxuIgotIlxuIgogIiAgICBkaXJcdHN1cnN0YWtpZ3UgbGEgZG9zaWVydWpvbiBkaXIga2FqIGZhcnUgxJ1pbiBsYSBub3ZhIGt1cmFudGFcbiIKICIgICAgXHRkb3NpZXJ1am8gbGFib3JhLlxuIgogIlxuIgpAQCAtNjYzLDcgKzcwMyw2IEBACiAKICMgcG9wZCBbK04gfCAtTl0gWy1uXQogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjczMAotIywgZnV6enkKIG1zZ2lkICIiCiAiUmVtb3ZlcyBlbnRyaWVzIGZyb20gdGhlIGRpcmVjdG9yeSBzdGFjay4gIFdpdGggbm8gYXJndW1lbnRzLCByZW1vdmVzXG4iCiAiICAgIHRoZSB0b3AgZGlyZWN0b3J5IGZyb20gdGhlIHN0YWNrLCBhbmQgY2hhbmdlcyB0byB0aGUgbmV3IHRvcCBkaXJlY3RvcnkuXG4iCkBAIC02ODYsNiArNzI1LDEyIEBACiAiRWxzdGFraWd1IGVyb2puIGVsIGxhIHN0YWtvIGRlIGRvc2llcnVqb2ouICBTZW5hcmd1bWVudGUsIGZvcmlndSBsYVxuIgogIiAgICBwaW50YW4gZG9zaWVydWpvbiBrYWogaXJ1IChjZCkgZW4gbGEgbm92YW4gcGludGFuIGRvc2llcnVqb24uXG4iCiAiXG4iCisiXG4iCisiICAgIE9wY2lvajpcbiIKKyIgICAgLW5cdE5lIMWdYW7EnXUgbGEga3VyYW50YW4gZG9zaWVydWpvbiBkZW1ldGFudGUgZG9zaWVydWpvbiBlbCBsYVxuIgorIlx0c3Rha287IGRvLCBudXIgbGEgc3Rha29uIMWdYW7EnXUuXG4iCisiXG4iCisiICAgIEFyZ3VtZW50b2o6XG4iCiAiICAgICtOXHRmb3JpZ3UgbGEgTmFuIGVyb24gZGUgbWFsZGVrc3RyZSBkZSBsYSBsaXN0byBlbGlnZWJsYSBwZXJcbiIKICJcdOKAnmRpcnPigJ8sIG51bWVyYW50ZSBla2RlIDAuICBFa3otZTogwqtwb3BkICswwrsgZm9yaWdhcyBsYSBwbGVqXG4iCiAiXHRtYWxkZWtzdHJhbiBkb3NpZXJ1am9uOyDCq3BvcGQgKzHCuywgxJ1pYW4gbmFqYmFyb24uXG4iCkBAIC02OTQsMTcgKzczOSwxNCBAQAogIlx0bnVtZXJhbnRlIGVrZGUgMC4gIEVrei1lOiDCq3BvcGQgLTDCuyBmb3JpZ2FzIGxhIGxhc3RhblxuIgogIlx0ZG9zaWVydWpvbjsgwqtwb3BkIC0xwrssIGxhIGFudGHFrWxhc3Rhbi5cbiIKICJcbiIKLSIgICAgLW5cdE5lIMWdYW7EnXUgbGEga3VyYW50YW4gZG9zaWVydWpvbiBkZW1ldGFudGUgZG9zaWVydWpvbiBlbCBsYVxuIgotIlx0c3Rha287IGRvLCBudXIgbGEgc3Rha29uIMWdYW7EnXUuXG4iCi0iXG4iCiAiICAgIFZpIHBvdmFzIHZpZGlnaSBsYSBzdGFrb24gZGEgZG9zaWVydWpvaiBwZXIgbGEga29tYW5kbyDigJ5kaXJz4oCfLiIKIAotIzogYnVpbHRpbnMvcmVhZC5kZWY6MjQ4CisjOiBidWlsdGlucy9yZWFkLmRlZjoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgdGltZW91dCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczogTWlzYSBpbmRpa28gZGUgYXRlbmRvdGVtcG8iCiAKLSM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU3NAorIzogYnVpbHRpbnMvcmVhZC5kZWY6NTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWQgZXJyb3I6ICVkOiAlcyIKIG1zZ3N0ciAiTGVnYSAocmVhZCkgZXJhcm86ICVkOiAlcyIKQEAgLTc0MiwxMSArNzg0LDExIEBACiBtc2dpZCAic2hpZnQgY291bnQiCiBtc2dzdHIgIk5vbWJyaWxvIGRlIOKAnnNoaWZ04oCfIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MjU0CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MjYwCiBtc2dpZCAiY2Fubm90IHNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucyBzaW11bHRhbmVvdXNseSIKIG1zZ3N0ciAiTWFsZWJsYXMgc2FtdGVtcGUgxZ1hbHRpIGthaiBtYWzFnWFsdGkgxZ1lbGFuIG9wY2lvbiIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMxOQorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBzaGVsbCBvcHRpb24gbmFtZSIKIG1zZ3N0ciAiJXM6IE1pc2Egbm9tbyBkZSDFnWVsYSBvcGNpbyIKQEAgLTgxNSw3ICs4NTcsNyBAQAogCiAjOiBidWlsdGlucy91bGltaXQuZGVmOjQ1MwogbXNnaWQgImxpbWl0IgotbXNnc3RyICIiCittc2dzdHIgImxpbW8iCiAKICM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY1IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY1CiAjLCBjLWZvcm1hdApAQCAtODM4LDc5ICs4ODAsNzggQEAKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIHN5bWJvbGljIG1vZGUgY2hhcmFjdGVyIgogbXNnc3RyICLigJ4lY+KAnzogTGEgc2lnbm8gbmUgZXN0YXMgc2ltYm9sbyBkZSBhdGluZ29yYWp0YSBrYXRlZ29yaW8iCiAKLSM6IGVycm9yLmM6ODkgZXJyb3IuYzozMjAgZXJyb3IuYzozMjIgZXJyb3IuYzozMjQKKyM6IGVycm9yLmM6OTAgZXJyb3IuYzozMjEgZXJyb3IuYzozMjMgZXJyb3IuYzozMjUKIG1zZ2lkICIgbGluZSAiCi1tc2dzdHIgIiIKK21zZ3N0ciAiIGxpbmlvICIKIAotIzogZXJyb3IuYzoxNjQKKyM6IGVycm9yLmM6MTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImxhc3QgY29tbWFuZDogJXNcbiIKIG1zZ3N0ciAiTGEgxLV1c2Ega29tYW5kbzogJXNcbiIKIAotIzogZXJyb3IuYzoxNzIKKyM6IGVycm9yLmM6MTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nLi4uIgogbXNnc3RyICLEiGVzaWdhZG8gLi4uIgogCi0jOiBlcnJvci5jOjQwNQorIzogZXJyb3IuYzo0MDYKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQgZXJyb3IiCiBtc2dzdHIgIk5la29uYXRhIGtvbWFuZC1lcmFybyIKIAotIzogZXJyb3IuYzo0MDYKKyM6IGVycm9yLmM6NDA3CiBtc2dpZCAiYmFkIGNvbW1hbmQgdHlwZSIKIG1zZ3N0ciAiTWlzYSBrb21hbmRvdGlwbyIKIAotIzogZXJyb3IuYzo0MDcKKyM6IGVycm9yLmM6NDA4CiBtc2dpZCAiYmFkIGNvbm5lY3RvciIKIG1zZ3N0ciAiTWlzYSBzdGlyLW9wZXJhY2lvIgogCi0jOiBlcnJvci5jOjQwOAorIzogZXJyb3IuYzo0MDkKIG1zZ2lkICJiYWQganVtcCIKIG1zZ3N0ciAiTWlzYSBzYWx0byIKIAotIzogZXJyb3IuYzo0NDYKKyM6IGVycm9yLmM6NDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmJvdW5kIHZhcmlhYmxlIgogbXNnc3RyICIlczogTmVsaWdpdGEgdmFyaWFibG8iCiAKICM6IGV2YWwuYzoxODEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCi1tc2dzdHIgIlxhVHJvIGxvbmdlIHNlbiBlbmlnbzogQcWtdG9tYXRhIHNlYW5jb2Zpbm9cbiIKK21zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnc3RyICIHVHJvIGxvbmdlIHNlbiBlbmlnbzogQcWtdG9tYXRhIHNlYW5jb2Zpbm9cbiIKIAogIyBYWFg6IGludGVybmFsIGVycm9yOgotIzogZXhlY3V0ZV9jbWQuYzo0OTEKKyM6IGV4ZWN1dGVfY21kLmM6NDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiBtc2dzdHIgIkZpYXNraXMgcHJvdm8gbm9tdW1pIGxhIGRpc3BvbmHEtW9uIMKrL2Rldi9udWxswrsgxIllZmVuaWd1am86ICVzIgogCiAjIFhYWDogaW50ZXJuYWwgZXJyb3I6Ci0jOiBleGVjdXRlX2NtZC5jOjExMTIKKyM6IGV4ZWN1dGVfY21kLmM6MTE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJUSU1FRk9STUFUOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIlRJTUVGT1JNQVQ6IOKAniVj4oCfOiBNaXNhIGZvcm1hdHNpZ25vIgogCi0jOiBleGVjdXRlX2NtZC5jOjIwMTEKLSMsIGZ1enp5CisjOiBleGVjdXRlX2NtZC5jOjIwNzUKIG1zZ2lkICJwaXBlIGVycm9yIgotbXNnc3RyICJFcmFybyDEiWUgc2tyaWJvOiAlcyIKK21zZ3N0ciAiRXJhcm8gZW4gZHVrdG8iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDM2MworIzogZXhlY3V0ZV9jbWQuYzo0NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSBgLycgaW4gY29tbWFuZCBuYW1lcyIKIG1zZ3N0ciAiJXM6IE1hbHBlcm1lc2l0YXMgdXppIOKAni/igJ8gZW4ga29tYW5kb25vbW9qIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ0NTQKKyM6IGV4ZWN1dGVfY21kLmM6NDU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBLb21hbmRvIG5lIHRyb3ZpdGEiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDcwOAorIzogZXhlY3V0ZV9jbWQuYzo0ODI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogYmFkIGludGVycHJldGVyIgogbXNnc3RyICIlczogJXM6IE1pc2EgaW50ZXJwcmV0aWxvIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ4NTcKKyM6IGV4ZWN1dGVfY21kLmM6NDk3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIGZkICVkIHRvIGZkICVkIgogbXNnc3RyICJOZSBlYmxhcyBrdW5ub211bWkgYWwgZG9zaWVybnVtZXJvICVkIGxhIGRvc2llcm51bWVyb24gJWQiCkBAIC05NTUsNDAgKzk5Niw0MCBAQAogbXNnaWQgIm1pc3NpbmcgYCknIgogbXNnc3RyICJNYW5rYXMg4oCeKeKAnyIKIAotIzogZXhwci5jOjg5NyBleHByLmM6MTE3NQorIzogZXhwci5jOjg5NyBleHByLmM6MTE3NgogbXNnaWQgInN5bnRheCBlcnJvcjogb3BlcmFuZCBleHBlY3RlZCIKIG1zZ3N0ciAiU2ludGFrc2EgZXJhcm86IE1hbmthcyBvcGVyYW5kbyIKIAotIzogZXhwci5jOjExNzcKKyM6IGV4cHIuYzoxMTc4CiBtc2dpZCAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCiBtc2dzdHIgIlNpbnRha3NhIGVyYXJvOiBNaXNhIG9wZXJhY2lzaW1ib2xvIGFyaXRtZXRpa2EiCiAKLSM6IGV4cHIuYzoxMjAxCisjOiBleHByLmM6MTIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgotbXNnc3RyICIiCittc2dzdHIgIiVzJXMlczogJXMgKG1pc2Egc2ltYm9sbyBlc3RhcyDigJ4lc+KAnykiCiAKLSM6IGV4cHIuYzoxMjU5CisjOiBleHByLmM6MTI2MAogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogbXNnc3RyICJNYWx0YcWtZ2EgYmF6byBub21icm9zaXN0ZW1hIgogCi0jOiBleHByLmM6MTI3OQorIzogZXhwci5jOjEyODAKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgIlRybyBncmFuZGEgdmFsb3JvIHBvciBiYXpvIGRlIG5vbWJyb3Npc3RlbW8iCiAKLSM6IGV4cHIuYzoxMzI4Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGV4cHIuYzoxMzI5CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCi1tc2dzdHIgIiVzOiBNYW5rYXMgZW50amVyYSBlc3ByaW1vIgorbXNnc3RyICIlczogTWlzYSBlc3ByaW1vXG4iCiAKICM6IGdlbmVyYWwuYzo2MQogbXNnaWQgImdldGN3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQgZGlyZWN0b3JpZXMiCiBtc2dzdHIgImdldHdkOiBOZSBlYmxhcyBhdGluZ2kgcGF0cmFqbiBkb3NpZXJ1am9qbiIKIAotIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ1NTkKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKKyMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc2V0IG5vZGVsYXkgbW9kZSBmb3IgZmQgJWQiCi1tc2dzdHIgIk5lIGVibGFzIHJlxZ1hbHRpIHNlbnByb2tyYXN0YW4gcmXEnWltb24gcG9yIGRvc2llcm8gbi1ybyAlZCIKK21zZ3N0ciAiTmUgZWJsYXMgcmXFnWFsdGkgc2VucHJva3Jhc3RhbiByZcSdaW1vbiBwb3IgZG9zaWVybnVtZXJvICVkIgogCiAjOiBpbnB1dC5jOjI1OAogIywgYy1mb3JtYXQKQEAgLTEwMDAsOSArMTA0MSwxMCBAQAogbXNnaWQgInNhdmVfYmFzaF9pbnB1dDogYnVmZmVyIGFscmVhZHkgZXhpc3RzIGZvciBuZXcgZmQgJWQiCiBtc2dzdHIgInNhdmVfYmFzaF9pbnB1dDogTGEgbm92YSBkb3NpZXJudW1lcm8gKGZkICVkKSBqYW0gaGF2YXMgYnVmcm9uIgogCisjIFpaWjogc3lzX2Vycm9yIChfKCJzdGFydF9waXBlbGluZTogcGdycCBwaXBlIikpOwogIzogam9icy5jOjQ2NgogbXNnaWQgInN0YXJ0X3BpcGVsaW5lOiBwZ3JwIHBpcGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAic3RhcnRfcGlwZWxpbmU6IHByb2NlemdydXBvIGR1a3RvIgogCiAjOiBqb2JzLmM6ODg3CiAjLCBjLWZvcm1hdApAQCAtMTAxNCwxNSArMTA1NiwxNyBAQAogbXNnaWQgImRlbGV0aW5nIHN0b3BwZWQgam9iICVkIHdpdGggcHJvY2VzcyBncm91cCAlbGQiCiBtc2dzdHIgIkhhbHRpZ2l0YSBsYWJvcm8gJWQga3VuIHByb2NlemdydXBvICVsZCBlc3RhcyBmb3JpZ2F0YSIKIAorIyBpZmRlZiBERUJVRyAuLi4gaW50ZXJuYWxfd2FybmluZygpOgogIzogam9icy5jOjExMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHByb2Nlc3MgJTVsZCAoJXMpIGluIHRoZV9waXBlbGluZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZGRfcHJvY2VzczogcHJvY2VzcyAlNWxkICglcykgaW4gdGhlX3BpcGVsaW5lIgogCisjIGlmZGVmIERFQlVHIC4uLiBpbnRlcm5hbF93YXJuaW5nKCk6CiAjOiBqb2JzLmM6MTExMwogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfcHJvY2VzczogcGlkICU1bGQgKCVzKSBtYXJrZWQgYXMgc3RpbGwgYWxpdmUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWRkX3Byb2Nlc3M6IHBpZCAlNWxkICglcykgbWFya2VkIGFzIHN0aWxsIGFsaXZlIgogCiAjOiBqb2JzLmM6MTQwMQogIywgYy1mb3JtYXQKQEAgLTEwMzIsMTEyICsxMDc2LDExNiBAQAogIzogam9icy5jOjE0MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2lnbmFsICVkIgotbXNnc3RyICIiCittc2dzdHIgIlNpZ25hbG8gJWQiCiAKICM6IGpvYnMuYzoxNDMwIGpvYnMuYzoxNDU1CiBtc2dpZCAiRG9uZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJGYXJpdGUiCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjIKKyM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKIG1zZ2lkICJTdG9wcGVkIgotbXNnc3RyICIiCittc2dzdHIgIkhhbHRpZ2l0YSIKIAogIzogam9icy5jOjE0MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3RvcHBlZCglcykiCi1tc2dzdHIgIiIKK21zZ3N0ciAiSGFsdGlnaXRhKCVzKSIKIAogIzogam9icy5jOjE0NDMKIG1zZ2lkICJSdW5uaW5nIgotbXNnc3RyICIiCittc2dzdHIgIlJ1bGF0YSIKIAogIzogam9icy5jOjE0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uZSglZCkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiRmFyaXRlKCVkKSIKIAogIzogam9icy5jOjE0NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhpdCAlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJFbGlybyAlZCIKIAogIzogam9icy5jOjE0NjIKIG1zZ2lkICJVbmtub3duIHN0YXR1cyIKLW1zZ3N0ciAiIgorbXNnc3RyICJOZWtvbmF0YSBzdGF0byIKIAogIzogam9icy5jOjE1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiKGNvcmUgZHVtcGVkKSAiCi1tc2dzdHIgIiIKK21zZ3N0ciAiKG5la3JvcHNpbyBlbMWddXRpdGEpIgogCiAjOiBqb2JzLmM6MTU2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh3ZDogJXMpIgotbXNnc3RyICIiCittc2dzdHIgIiAgKGxhYm9yZG9zaWVydWpvOiAlcykiCiAKLSM6IGpvYnMuYzoxNzcxCisjOiBqb2JzLmM6MTc3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGlsZCBzZXRwZ2lkICglbGQgdG8gJWxkKSIKLW1zZ3N0ciAiIgorbXNnc3RyICJwcm92byBhdHJpYnVpIChzZXRwZ2lkKSBwcm9jZXpncnVwb24gJTIkbGQgZGUgbGEgcHJvY2V6aWRvICUxJGxkIgogCi0jOiBqb2JzLmM6MjA5OSBub2pvYnMuYzo1ODUKKyM6IGpvYnMuYzoyMTA0IG5vam9icy5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0OiBwaWQgJWxkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgc2hlbGwiCiBtc2dzdHIgIndhaXQ6IExhIHByb2Nlem8gJWxkIG5lIGVzdGFzIGlkbyBkZSDEiWkgdGl1IMWdZWxvIgogCi0jOiBqb2JzLmM6MjMyNgorIzogam9icy5jOjIzMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIG1zZ3N0ciAid2FpdF9mb3I6IE1hbGVzdGFzIGluZm9ybW9qIHByaSBwcm9jZXpvICVsZCIKIAotIzogam9icy5jOjI1OTgKKyM6IGpvYnMuYzoyNjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yX2pvYjogam9iICVkIGlzIHN0b3BwZWQiCiBtc2dzdHIgIndhaXRfZm9yX2pvYjogTGEgbGFib3JvICVkIGVzdGFzIGhhbHRpZ2l0YSIKIAotIzogam9icy5jOjI4MjAKKyM6IGpvYnMuYzoyODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgaGFzIHRlcm1pbmF0ZWQiCiBtc2dzdHIgIiVzOiBMYSBsYWJvcm8gZmluacSdaXMiCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6MjgzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKIG1zZ3N0ciAiJXM6IExhIGxhYm9ybyAlZCBqYW0gZXN0YXMgZm9uYSIKIAotIzogam9icy5jOjM0OTIKLSMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgIiVzOiBsaW5lICVkOiAiCi1tc2dzdHIgIiVzOiBBdmVydG86ICIKKyM6IGpvYnMuYzozMDU5Cittc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgorbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNTA2IG5vam9icy5jOjgxNAorIzogam9icy5jOjM1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxpbmUgJWQ6ICIKK21zZ3N0ciAiJXM6IGxpbmlvICVkwqo6ICIKKworIzogam9icy5jOjM1MjIgbm9qb2JzLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAoY29yZSBkdW1wZWQpIgotbXNnc3RyICIiCittc2dzdHIgIihuZWtyb3BzaW8gZWzFnXV0aXRhKSIKIAotIzogam9icy5jOjM1MTggam9icy5jOjM1MzEKKyM6IGpvYnMuYzozNTM0IGpvYnMuYzozNTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIih3ZCBub3c6ICVzKVxuIgotbXNnc3RyICIiCittc2dzdHIgIihudW4gbGFib3Jkb3NpZXJ1am8gZXN0YXM6ICVzKVxuIgogCi0jOiBqb2JzLmM6MzU2MworIzogam9icy5jOjM1NzkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIGZhaWxlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIGZpYXNraXMiCiAKLSM6IGpvYnMuYzozNjIzCisjOiBqb2JzLmM6MzYzOQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5pYXJhbsSdbyIKIAotIzogam9icy5jOjM2MzMKKyM6IGpvYnMuYzozNjQ5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkKCkiCiAKLSM6IGpvYnMuYzozNjYxCisjOiBqb2JzLmM6MzY3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgKCVkKSIKLW1zZ3N0ciAiIgorbXNnc3RyICJuZSBwcm9zcGVyaXMgYXRyaWJ1aSBncnVwb24gKCVkKSBkZSB0ZXJtaW5hbGEgcHJvY2V6byIKIAotIzogam9icy5jOjM2NjYKKyM6IGpvYnMuYzozNjgyCiBtc2dpZCAibm8gam9iIGNvbnRyb2wgaW4gdGhpcyBzaGVsbCIKIG1zZ3N0ciAixIhpIHRpdSDFnWVsbyBuZSBkaXNwb25pZ2FzIGxhYm9ycmVnYWRvbiIKIApAQCAtMTE1OCw5ICsxMjA2LDggQEAKIAogIyBYWFg6IGludGVybmFsIGVycm9yCiAjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjMxMwotIywgZnV6enkKIG1zZ2lkICJ1bmtub3duIgotbXNnc3RyICIlczogTmVrb25hdGEgcmV0bm9kbyIKK21zZ3N0ciAibmVrb25hdGEiCiAKICMgWFhYOiBkZWJ1Zz8KICM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6Nzk3CkBAIC0xMjQ3LDYgKzEyOTQsMjggQEAKIG1zZ2lkICJuZXR3b3JrIG9wZXJhdGlvbnMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiUmV0YSBmdW5rY2lhZG8gbmUgZGlzcG9uZWJsYXMiCiAKKyM6IGxvY2FsZS5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBsb2NhbGUuYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICIiCisKKyMgWFhYOiBmYXRhbF9lcnJvcgorIzogbG9jYWxlLmM6MjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IG5lIGVibGFzIHJlb2t1cGkgJWx1IGJhanRvam4iCisKKyMgWFhYOiBmYXRhbF9lcnJvcgorIzogbG9jYWxlLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKK21zZ3N0ciAieHJlYWxsb2M6ICVzOiVkOiBuZSBlYmxhcyByZW9rdXBpICVsdSBiYWp0b2puIgorCiAjOiBtYWlsY2hlY2suYzo0MzMKIG1zZ2lkICJZb3UgaGF2ZSBtYWlsIGluICRfIgogbXNnc3RyICJWaSBoYXZhcyBwb8WddG9uIGVuICRfIgpAQCAtMTI2MCwxMzMgKzEzMjksMTM0IEBACiBtc2dpZCAiVGhlIG1haWwgaW4gJXMgaGFzIGJlZW4gcmVhZFxuIgogbXNnc3RyICJMYSBwb8WddG8gZW4gJXMgZXN0YXMgamFtIGxlZ2l0YVxuIgogCi0jOiBtYWtlX2NtZC5jOjMyMgorIzogbWFrZV9jbWQuYzozMjMKIG1zZ2lkICJzeW50YXggZXJyb3I6IGFyaXRobWV0aWMgZXhwcmVzc2lvbiByZXF1aXJlZCIKIG1zZ3N0ciAiU2ludGFrc2EgZXJhcm86IE5lY2VzYXMgYXJpdG1ldGlrYSBlc3ByaW1vIgogCi0jOiBtYWtlX2NtZC5jOjMyNAorIzogbWFrZV9jbWQuYzozMjUKIG1zZ2lkICJzeW50YXggZXJyb3I6IGA7JyB1bmV4cGVjdGVkIgogbXNnc3RyICJTaW50YWtzYSBlcmFybzogTmVhdGVuZGl0YSDigJ474oCfIgogCi0jOiBtYWtlX2NtZC5jOjMyNQorIzogbWFrZV9jbWQuYzozMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yOiBgKCglcykpJyIKIG1zZ3N0ciAiU2ludGFrc2EgZXJhcm86IOKAnigoJXMpKeKAnyIKIAotIzogbWFrZV9jbWQuYzo1NjcKKyM6IG1ha2VfY21kLmM6NTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfaGVyZV9kb2N1bWVudDogYmFkIGluc3RydWN0aW9uIHR5cGUgJWQiCiBtc2dzdHIgIm1ha2VfaGVyZV9kb2N1bWVudDogTWlzYSBvcmRvbnRpcG8gJWQiCiAKLSM6IG1ha2VfY21kLmM6NjUxCisjIGludGVybmFsX3dhcm5pbmcoKToKKyM6IG1ha2VfY21kLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlcmUtZG9jdW1lbnQgYXQgbGluZSAlZCBkZWxpbWl0ZWQgYnkgZW5kLW9mLWZpbGUgKHdhbnRlZCBgJXMnKSIKLW1zZ3N0ciAiIgorbXNnc3RyICJUdWotZG9rdW1lbnRvbiBkZSBsaW5pbyAlZCBsaW1pZ2FzIGRvc2llcmZpbm8gKG1hbmthcyDigJ4lc+KAnykiCiAKICMgWFhYOiBwcm9ncmFtbWluZ19lcnJvcgotIzogbWFrZV9jbWQuYzo3NDYKKyM6IG1ha2VfY21kLmM6NzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlIgogbXNnc3RyICJtYWtlX3JlZGlyZWN0aW9uOiBBbGlkaXJla3RhZGEga29tYW5kbyDigJ4lZOKAnyBla3N0ZXIgc2lhIHZhcmllam8iCiAKLSM6IHBhcnNlLnk6Mjk4NiBwYXJzZS55OjMyMTgKKyM6IHBhcnNlLnk6MzEzMyBwYXJzZS55OjMzNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCVjJyIKIG1zZ3N0ciAiTmVhdGVuZGl0YSBkb3NpZXJmaW5vIGR1bSBzZXLEiW8gZGUgcmVzcG9uZGEg4oCeJWPigJ8iCiAKLSM6IHBhcnNlLnk6MzcyMgorIzogcGFyc2UueTozOTUxCiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAiTmVhdGVuZGl0YSBkb3NpZXJmaW5vIGR1bSBzZXLEiW8gZGUg4oCeXV3igJ8iCiAKLSM6IHBhcnNlLnk6MzcyNworIzogcGFyc2UueTozOTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uOiB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgIlNpbnRha3NhIGVyYXJvIGVuIGtvbmRpxIlhIGVzcHJpbW86IE5lYXRlbmRpdGEgc2ltYm9sbyDigJ4lc+KAnyIKIAotIzogcGFyc2UueTozNzMxCisjOiBwYXJzZS55OjM5NjAKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiU2ludGFrc2EgZXJhcm8gZW4ga29uZGnEiWEgZXNwcmltbyIKIAotIzogcGFyc2UueTozODA5CisjOiBwYXJzZS55OjQwMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCiBtc2dzdHIgIk5la29udmVuYSBzaW1ib2xvIOKAniVz4oCfIGFuc3RhdGHFrSDigJ4p4oCfIgogCi0jOiBwYXJzZS55OjM4MTMKKyM6IHBhcnNlLnk6NDA0MgogbXNnaWQgImV4cGVjdGVkIGApJyIKIG1zZ3N0ciAiTWFua2FzIOKAninigJ8iCiAKLSM6IHBhcnNlLnk6Mzg0MQorIzogcGFyc2UueTo0MDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiTGEgYXJndW1lbnRvIOKAniVz4oCfIG5lIGtvbnZlbmFzIHBvciB1bnVsb2thIGtvbmRpxIlhIG9wZXJhY2lzaW1ib2xvIgogCi0jOiBwYXJzZS55OjM4NDUKKyM6IHBhcnNlLnk6NDA3NAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIk1hbHRhxa1nYSBhcmd1bWVudG8gcG9yIHVudWxva2Ega29uZGnEiWEgb3BlcmFjaXNpbWJvbG8iCiAKLSM6IHBhcnNlLnk6Mzg4NQorIzogcGFyc2UueTo0MTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICJNaXNhIHNpbWJvbG8g4oCeJXPigJ8gYW5zdGF0YcWtIGR1bG9rYSBrb25kacSJYSBvcGVyYWNpc2lnbm8iCiAKLSM6IHBhcnNlLnk6Mzg4OQorIzogcGFyc2UueTo0MTI0CiBtc2dpZCAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICLEiWkgdGllIGRldmFzIGVzdGkgZHVsb2thIGtvbmRpxIlhIG9wZXJhY2lzaWdubyIKIAotIzogcGFyc2UueTozOTA2CisjOiBwYXJzZS55OjQxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiTGEgYXJndW1lbnRvIOKAniVz4oCfIG5lIGtvbnZlbmFzIHBvciBkdWxva2Ega29uZGnEiWEgb3BlcmFjaXNpbWJvbG8iCiAKLSM6IHBhcnNlLnk6MzkxMAorIzogcGFyc2UueTo0MTUwCiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIjxtYWx0YcWtZ2EgYXJndW1lbnRvIHBvciBkdWxva2Ega29uZGnEiWEgb3BlcmFjaXNpbWJvbG8iCiAKLSM6IHBhcnNlLnk6MzkyMQorIzogcGFyc2UueTo0MTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJNaXNhIHNpbWJvbG8g4oCeJWPigJ8gZW4ga29uZGnEiWEga29tYW5kbyIKIAotIzogcGFyc2UueTozOTI0CisjOiBwYXJzZS55OjQxNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIk1pc2Egc2ltYm9sbyDigJ4lc+KAnyBlbiBrb25kacSJYSBrb21hbmRvIgogCi0jOiBwYXJzZS55OjM5MjgKKyM6IHBhcnNlLnk6NDE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuICVkIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIk1pc2Egc2ltYm9sbyDigJ4lZOKAnyBlbiBrb25kacSJYSBrb21hbmRvIgogCi0jOiBwYXJzZS55OjUxOTUKKyM6IHBhcnNlLnk6NTQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgIlNpbnRha3NhIGVyYXJvIGFwdWQgbmVhdGVuZGl0YSBzaW1ib2xvIOKAniVz4oCfIgogCi0jOiBwYXJzZS55OjUyMTMKKyM6IHBhcnNlLnk6NTQ3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgogbXNnc3RyICJTaW50YWtzYSBlcmFybyBhcHVkIOKAniVz4oCfIgogCi0jOiBwYXJzZS55OjUyMjMKKyM6IHBhcnNlLnk6NTQ4NwogbXNnaWQgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAiU2ludGFrc2EgZXJhcm86IE5lYXRlbmRpdGEgZG9zaWVyZmlubyIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgIlNpbnRha3NhIGVyYXJvIgogCi0jOiBwYXJzZS55OjUyODUKKyM6IHBhcnNlLnk6NTU0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgXCIlc1wiIHRvIGxlYXZlIHRoZSBzaGVsbC5cbiIKIG1zZ3N0ciAiVXp1IMKrJXPCuyBwb3IgZWxpcmkgZWwgbGEgxZ1lbG8uXG4iCiAKLSM6IHBhcnNlLnk6NTQ0NworIzogcGFyc2UueTo1NzExCiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgogbXNnc3RyICJOZWF0ZW5kaXRhIGRvc2llcmZpbm8gZHVtIHNlcsSJbyBkZSByZXNwb25kYSDigJ4p4oCfIgogCiAjIFhYWDogaW50ZXJuYWxfZXJyb3IKLSM6IHBjb21wbGV0ZS5jOjEwMTgKKyM6IHBjb21wbGV0ZS5jOjEwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgIktvbXBsZXRpZ286IEZ1bmtjaW8g4oCeJXPigJ8gbmUgdHJvdml0YSIKQEAgLTEzOTcsNzcgKzE0NjcsOTYgQEAKIG1zZ2lkICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogbXNnc3RyICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogCi0jOiBwcmludF9jbWQuYzoyODUKKyM6IHByaW50X2NtZC5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmludF9jb21tYW5kOiBiYWQgY29ubmVjdG9yIGAlZCciCiBtc2dzdHIgInByaW50X2NvbW1hbmQ6IE1pc2Egc3Rpci1vcGVyYWNpbyDigJ4lZOKAnyIKIAorIzogcHJpbnRfY21kLmM6MzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiVkOiBNaXNhIGRvc2llcm51bWVybzogJXMiCisKKyM6IHByaW50X2NtZC5jOjM2OAorbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgorbXNnc3RyICIiCisKKyM6IHByaW50X2NtZC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCittc2dzdHIgIiIKKwogIyBYWFg6IHByb2dyYW1taW5nX2Vycm9yCi0jOiBwcmludF9jbWQuYzoxMzQ4CisjOiBwcmludF9jbWQuYzoxNDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiY3ByaW50Zjog4oCeJWPigJ86IE1pc2EgZm9ybWF0c2lnbm8iCiAKLSM6IHJlZGlyLmM6MTA1CisjOiByZWRpci5jOjExMAogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIkVrc3RlcnZhcmllamEgZG9zaWVybm9tbyIKIAogIyBYWFg6IGludGVybmFsX2Vycm9yCi0jOiByZWRpci5jOjE0OAorIzogcmVkaXIuYzoxNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIG1zZ3N0ciAiJXM6IEFtYmlndWEgYWxpZGlyZWt0YWRvIgogCiAjIFhYWDogaW50ZXJuYWxfZXJyb3IKLSM6IHJlZGlyLmM6MTUyCisjOiByZWRpci5jOjE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlIgogbXNnc3RyICIlczogTWFsZWJsYXMgc3Vyc2tyaWJpIGVremlzdGFudGFuIGRvc2llcm9uIgogCiAjIFhYWDogaW50ZXJuYWxfZXJyb3IKLSM6IHJlZGlyLmM6MTU3CisjOiByZWRpci5jOjE3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHJlZGlyZWN0IG91dHB1dCIKIG1zZ3N0ciAiJXM6IExpbWlnaXRhIMWdZWxvOiBtYWxwZXJtZXNpdGFzIGFsaWRpcmVrdGkgZWxpZ29uIgogCiAjIFhYWDogaW50ZXJuYWxfZXJyb3IKLSM6IHJlZGlyLmM6MTYyCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHJlZGlyLmM6MTgwCisjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKLW1zZ3N0ciAiTmUgZWJsYXMga3JlaSBsYWJvcmRvc2llcm9uIHBvciDEiWktZG9rdW1lbnRvOiAlcyIKK21zZ3N0ciAiTWFscHJvc3BlcmlzIGtyZWkgbGFib3Jkb3NpZXJvbiBwb3IgdHVqLWRva3VtZW50bzogJXMiCisKKyM6IHJlZGlyLmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKK21zZ3N0ciAiJXM6IE1hbGVibGFzIHZhbG9yaXppIHRhYmVsYW5vbiBwZXIgbGlzdG8iCiAKICMgWFhYOiBpbnRlcm5hbF93YXJuaW5nCi0jOiByZWRpci5jOjUxNworIzogcmVkaXIuYzo1NDQKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiBtc2dzdHIgIsKrL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0wrsgbmUgZGlzcG9uZWJsYXMgZWtzdGVyIHJldHVtYWRvIgogCi0jOiByZWRpci5jOjEwMjMKKyM6IHJlZGlyLmM6MTEwMQogbXNnaWQgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgogbXNnc3RyICJBbGlkaXJla3RhZGEgZXJhcm86IEZpYXNraXMga3Vubm9tdW1vIGFsIGRvc2llcm51bWVybyIKIAotIzogc2hlbGwuYzozMjgKKyM6IHNoZWxsLmM6MzMyCiBtc2dpZCAiY291bGQgbm90IGZpbmQgL3RtcCwgcGxlYXNlIGNyZWF0ZSEiCiBtc2dzdHIgIk1hbmthcyDCqy90bXDCuywgYnYga3JlaSDEnWluISIKIAotIzogc2hlbGwuYzozMzIKKyM6IHNoZWxsLmM6MzM2CiBtc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCiBtc2dzdHIgIsKrL3RtcMK7IGRldmFzIGVzdGkgdmFsaWRhIGRvc2llcnVqbyIKIAotIzogc2hlbGwuYzo4NzYKKyM6IHNoZWxsLmM6ODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVjJWM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlYyVjOiBNaXNhIG9wY2lvIgogCi0jOiBzaGVsbC5jOjE2MzgKKyM6IHNoZWxsLmM6MTY1MQogbXNnaWQgIkkgaGF2ZSBubyBuYW1lISIKIG1zZ3N0ciAiTWkgbmUgaGF2YXMgbm9tb24hIgogCi0jOiBzaGVsbC5jOjE3NzgKKyM6IHNoZWxsLmM6MTc5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiR05VYSDCq2Jhc2jCuywgdmVyc2lvICVzLSglcylcbiIKIAotIzogc2hlbGwuYzoxNzc5CisjOiBzaGVsbC5jOjE3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCkBAIC0xNDc2LDgwMyArMTU2NSw4ODEgQEAKICJVem86XHQlcyBbR05VYSBvcGNpbyBsb25nZm9ybWFdIFtvcGNpb10gLi4uXG4iCiAiXHQlcyBbR05VYSBvcGNpbyBsb25nZm9ybWFdIFtvcGNpb10gU0tSSVBUT0RPU0lFUk8gLi4uXG4iCiAKLSM6IHNoZWxsLmM6MTc4MQorIzogc2hlbGwuYzoxNzk2CiBtc2dpZCAiR05VIGxvbmcgb3B0aW9uczpcbiIKIG1zZ3N0ciAiR05VYWogb3BjaW9qIGxvbmdmb3JtYWo6XG4iCiAKLSM6IHNoZWxsLmM6MTc4NQorIzogc2hlbGwuYzoxODAwCiBtc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKIG1zZ3N0ciAixZxlbGFqIG9wY2lvajpcbiIKIAotIzogc2hlbGwuYzoxNzg2CisjOiBzaGVsbC5jOjE4MDEKIG1zZ2lkICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCiBtc2dzdHIgIlx0LWlyc0QgYcWtIC1jIGtvbWFuZG8gYcWtIC1PIHNob3B0X29wY2lvXHRcdChudXIgdm9rbylcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCiBtc2dzdHIgIlx0LSVzIGHFrSAtbyBvcGNpb1xuIgogCiAjIGJhc2ggLS1oZWxwCi0jOiBzaGVsbC5jOjE4MDcKKyM6IHNoZWxsLmM6MTgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIlBvciBwbHVhaiBpbmZvcm1vaiBwcmkgbGEgb3BjaW9qIHRhanB1OiDCqyVzIC1jIFwiaGVscCBzZXRcIsK7XG4iCiAKLSM6IHNoZWxsLmM6MTgwOAorIzogc2hlbGwuYzoxODIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIGhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIGJ1aWx0aW4gY29tbWFuZHMuXG4iCiBtc2dzdHIgIlBvciBzY2lpIHBsaSBwcmkgbGEgcHJpbWl0aXZhaiDFnWVsa29tYW5kb2ogdGFqcHU6IOKAniVzIC1jIGhlbHDigJ9cbiIKIAotIzogc2hlbGwuYzoxODA5CisjOiBzaGVsbC5jOjE4MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIHRoZSBgYmFzaGJ1ZycgY29tbWFuZCB0byByZXBvcnQgYnVncy5cbiIKIG1zZ3N0ciAiUG9yIHJhcG9ydGkgcHJpIGVyYXJvaiB1enUgbGEga29tYW5kb24g4oCeYmFzaGJ1Z+KAn1xuIgogCiAjIFhYWDogaW50ZXJuYWxfZXJyb3IKLSM6IHNpZy5jOjU4MworIzogc2lnLmM6NjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInNpZ3Byb2NtYXNrOiAlZDogaW52YWxpZCBvcGVyYXRpb24iCiBtc2dzdHIgInNpZ3Byb2NtYXNrOiAlZDogTWlzYSBvcGVyYWNpbyIKIAotIzogc2lnbGlzdC5jOjQ3CisjOiBzaWdsaXN0LmM6NDgKIG1zZ2lkICJCb2d1cyBzaWduYWwiCi1tc2dzdHIgIiIKK21zZ3N0ciAixZx0b3BzaWduYWxvIgogCi0jOiBzaWdsaXN0LmM6NTAKKyMgSGFuZ3VwIGRldGVjdGVkIG9uIGNvbnRyb2xsaW5nIHRlcm1pbmFsIG9yIGRlYXRoIG9mIGNvbnRyb2xsaW5nCisjIHByb2Nlc3MKKyM6IHNpZ2xpc3QuYzo1MQogbXNnaWQgIkhhbmd1cCIKLW1zZ3N0ciAiIgorbXNnc3RyICJNYWxrb25la3RvIgogCi0jOiBzaWdsaXN0LmM6NTQKKyMgSW50ZXJydXB0IGZyb20ga2V5Ym9hcmQKKyM6IHNpZ2xpc3QuYzo1NQogbXNnaWQgIkludGVycnVwdCIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbnRlcnJvbXBvIgogCi0jOiBzaWdsaXN0LmM6NTgKKyMgUXVpdCBmcm9tIGtleWJvYXJkCisjOiBzaWdsaXN0LmM6NTkKIG1zZ2lkICJRdWl0IgotbXNnc3RyICIiCittc2dzdHIgIktsYXZhcmEgZWxpcm8iCiAKLSM6IHNpZ2xpc3QuYzo2MgorIzogc2lnbGlzdC5jOjYzCiBtc2dpZCAiSWxsZWdhbCBpbnN0cnVjdGlvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJNaXNrb21hbmRvIgogCi0jOiBzaWdsaXN0LmM6NjYKKyMgU0lHVFJBUCAgICAgICAgNSAgICAgICAgQ29yZSAgICBUcmFjZS9icmVha3BvaW50IHRyYXAKKyM6IHNpZ2xpc3QuYzo2NwogbXNnaWQgIkJQVCB0cmFjZS90cmFwIgotbXNnc3RyICIiCittc2dzdHIgIlNwdXJhZGEga29udHJvbHB1bmt0byIKIAotIzogc2lnbGlzdC5jOjc0CisjIEFib3J0IHNpZ25hbCBmcm9tIGFib3J0KDMpCisjOiBzaWdsaXN0LmM6NzUKIG1zZ2lkICJBQk9SVCBpbnN0cnVjdGlvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJLb21hbmRvIEFCT1JUIgogCi0jOiBzaWdsaXN0LmM6NzgKKyMgU0lHRU1UIGlzIG5vdCBzcGVjaWZpZWQgaW4gUE9TSVggMTAwMy4xLTIwMDEsIGJ1dCAgbmV2ZXJ0aGxlc3MgIGFwcGVhcnMKKyMgb24gIG1vc3QgIG90aGVyIFVuaWNlcywgd2hlcmUgaXRzIGRlZmF1bHQgYWN0aW9uIGlzIHR5cGljYWxseSB0byB0ZXJtaS0KKyMgbmF0ZSB0aGUgcHJvY2VzcyB3aXRoIGEgY29yZSBkdW1wLgorIzogc2lnbGlzdC5jOjc5CiBtc2dpZCAiRU1UIGluc3RydWN0aW9uIgotbXNnc3RyICIiCittc2dzdHIgIkVNVC1rb21hbmRvIgogCi0jOiBzaWdsaXN0LmM6ODIKKyM6IHNpZ2xpc3QuYzo4MwogbXNnaWQgIkZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJHbGl0cHVua3RhIGVzY2VwdG8iCiAKLSM6IHNpZ2xpc3QuYzo4NgorIyBTSUdLSUxMICAgICAgIDkgICAgICAgVGVybSAgICBLaWxsIHNpZ25hbAorIyBOZWsga2FwdGVibGEgbmVrIGlnbm9yZWJsYSAobWFsa2llbCBBQk9SVCkKKyM6IHNpZ2xpc3QuYzo4NwogbXNnaWQgIktpbGxlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJNdXJkdSIKIAotIzogc2lnbGlzdC5jOjkwCi0jLCBmdXp6eQorIzogc2lnbGlzdC5jOjkxCiBtc2dpZCAiQnVzIGVycm9yIgotbXNnc3RyICJTaW50YWtzYSBlcmFybyIKK21zZ3N0ciAiQnVzLWVyYXJvIgogCi0jOiBzaWdsaXN0LmM6OTQKKyMgU0lHU0VHViAgICAgIDExICAgICAgIENvcmUgICAgSW52YWxpZCBtZW1vcnkgcmVmZXJlbmNlCisjOiBzaWdsaXN0LmM6OTUKIG1zZ2lkICJTZWdtZW50YXRpb24gZmF1bHQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiQWRyZXNlcmFybyIKIAotIzogc2lnbGlzdC5jOjk4CisjIFNJR1NZUyAgICAgIDEyLC0sMTIgICAgIENvcmUgICAgQmFkIGFyZ3VtZW50IHRvIHJvdXRpbmUgKFNWSUQpCisjOiBzaWdsaXN0LmM6OTkKIG1zZ2lkICJCYWQgc3lzdGVtIGNhbGwiCi1tc2dzdHIgIiIKK21zZ3N0ciAiTWlzYSBzaXN0ZW12b2tvIgogCi0jOiBzaWdsaXN0LmM6MTAyCisjIFNJR1BJUEUgICAgICAxMyAgICAgICBUZXJtICAgIEJyb2tlbiBwaXBlOiB3cml0ZSB0byBwaXBlIHdpdGggbm8gcmVhZGVycworIzogc2lnbGlzdC5jOjEwMwogbXNnaWQgIkJyb2tlbiBwaXBlIgotbXNnc3RyICIiCittc2dzdHIgIlJvbXBpdGEgZHVrdG8iCiAKLSM6IHNpZ2xpc3QuYzoxMDYKKyMgU0lHQUxSTSAgICAgIDE0ICAgICAgIFRlcm0gICAgVGltZXIgc2lnbmFsIGZyb20gYWxhcm0oMikKKyM6IHNpZ2xpc3QuYzoxMDcKIG1zZ2lkICJBbGFybSBjbG9jayIKLW1zZ3N0ciAiIgorbXNnc3RyICJWZWtob3Jsb8SdbyIKIAotIzogc2lnbGlzdC5jOjExMAotIywgZnV6enkKKyMgU0lHVEVSTSAgICAgMTUgICAgICAgVGVybSAgICBUZXJtaW5hdGlvbiBzaWduYWwKKyM6IHNpZ2xpc3QuYzoxMTEKIG1zZ2lkICJUZXJtaW5hdGVkIgotbXNnc3RyICJsaW1pZ2l0YSIKK21zZ3N0ciAiRmluacSddSIKIAotIzogc2lnbGlzdC5jOjExNAorIyBTSUdVUkcgICAgICAxNiwyMywyMSAgICBJZ24gICAgIFVyZ2VudCBjb25kaXRpb24gb24gc29ja2V0ICg0LjIgQlNEKQorIzogc2lnbGlzdC5jOjExNQogbXNnaWQgIlVyZ2VudCBJTyBjb25kaXRpb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAiVXLEnWEgc3RhdG8gZW5lbGlnYSIKIAotIzogc2lnbGlzdC5jOjExOAorIyBTSUdTVE9QICAgMTcsMTksMjMgICAgU3RvcCAgICBTdG9wIHByb2Nlc3MKKyMgTmVrIGthcHRlYmxhIG5layBpZ25vcmVibGEgKHNhbWtpZWwgU0lHS0lMTCkKKyMgSGFsdHUgKHBvc3RlIGVibG9zIHBsdSBpcmksIHZkIFNJR0NPTlQpCisjOiBzaWdsaXN0LmM6MTE5CiBtc2dpZCAiU3RvcHBlZCAoc2lnbmFsKSIKLW1zZ3N0ciAiIgorbXNnc3RyICJIYWx0dSAoc2lnbmFsbykiCiAKLSM6IHNpZ2xpc3QuYzoxMjYKKyMgU0lHQ09OVCAgIDE5LDE4LDI1ICAgICAgICAgICAgQ29udGludWUgaWYgc3RvcHBlZAorIzogc2lnbGlzdC5jOjEyNwogbXNnaWQgIkNvbnRpbnVlIgotbXNnc3RyICIiCittc2dzdHIgIlBsdWVuIgogCi0jOiBzaWdsaXN0LmM6MTM0CisjIFNJR0NITEQgICAyMCwxNywxOCAgICBJZ24gICAgIENoaWxkIHN0b3BwZWQgb3IgdGVybWluYXRlZAorIzogc2lnbGlzdC5jOjEzNQogbXNnaWQgIkNoaWxkIGRlYXRoIG9yIHN0b3AiCi1tc2dzdHIgIiIKK21zZ3N0ciAiUHJvY2V6aWRvIG1vcnRpcyBhxa0gaGFsdGlzIgogCi0jOiBzaWdsaXN0LmM6MTM4CisjIFNJR1RUSU4gICAyMSwyMSwyNiAgICBTdG9wICAgIHR0eSBpbnB1dCBmb3IgYmFja2dyb3VuZCBwcm9jZXNzCisjOiBzaWdsaXN0LmM6MTM5CiBtc2dpZCAiU3RvcHBlZCAodHR5IGlucHV0KSIKLW1zZ3N0ciAiIgorbXNnc3RyICJIYWx0dSAocHJvIHRlcm1pbmFsZW5pZ28pIgogCi0jOiBzaWdsaXN0LmM6MTQyCisjIFNJR1RUT1UgICAyMiwyMiwyNyAgICBTdG9wICAgIHR0eSBvdXRwdXQgZm9yIGJhY2tncm91bmQgcHJvY2VzcworIzogc2lnbGlzdC5jOjE0MwogbXNnaWQgIlN0b3BwZWQgKHR0eSBvdXRwdXQpIgotbXNnc3RyICIiCittc2dzdHIgIkhhbHR1IChwcm8gdGVybWluYWxlbGlnbykiCiAKLSM6IHNpZ2xpc3QuYzoxNDYKKyMgU0lHSU8gICAgICAgMjMsMjksMjIgICAgVGVybSAgICBJL08gbm93IHBvc3NpYmxlICg0LjIgQlNEKQorIzogc2lnbGlzdC5jOjE0NwogbXNnaWQgIkkvTyByZWFkeSIKLW1zZ3N0ciAiIgorbXNnc3RyICJFbmVsaWdvIHByZXRhcyIKIAotIzogc2lnbGlzdC5jOjE1MAorIyBTSUdYQ1BVICAgICAyNCwyNCwzMCAgICBDb3JlICAgIENQVSB0aW1lIGxpbWl0IGV4Y2VlZGVkICg0LjIgQlNEKQorIzogc2lnbGlzdC5jOjE1MQogbXNnaWQgIkNQVSBsaW1pdCIKLW1zZ3N0ciAiIgorbXNnc3RyICLEiGVmcHJvY2Vzb3JhIHRlbXBvbGltbyIKIAotIzogc2lnbGlzdC5jOjE1NAorIyBTSUdYRlNaICAgICAyNSwyNSwzMSAgICBDb3JlICAgIEZpbGUgc2l6ZSBsaW1pdCBleGNlZWRlZCAoNC4yIEJTRCkKKyM6IHNpZ2xpc3QuYzoxNTUKIG1zZ2lkICJGaWxlIGxpbWl0IgotbXNnc3RyICIiCittc2dzdHIgIkRvc2llcmEgbG9uZ29saW1vIgogCi0jOiBzaWdsaXN0LmM6MTU4CisjIFNJR1ZUQUxSTSAgIDI2LDI2LDI4ICAgIFRlcm0gICAgVmlydHVhbCBhbGFybSBjbG9jayAoNC4yIEJTRCkKKyM6IHNpZ2xpc3QuYzoxNTkKIG1zZ2lkICJBbGFybSAodmlydHVhbCkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiVmVraWxvICh2aXJ0dWFsYSkiCiAKLSM6IHNpZ2xpc3QuYzoxNjIKKyMgU0lHUFJPRiAgICAgMjcsMjcsMjkgICAgVGVybSAgICBQcm9maWxpbmcgdGltZXIgZXhwaXJlZAorIzogc2lnbGlzdC5jOjE2MwogbXNnaWQgIkFsYXJtIChwcm9maWxlKSIKLW1zZ3N0ciAiIgorbXNnc3RyICJWZWtpbG8gKHByb2ZpbGFkYSkiCiAKLSM6IHNpZ2xpc3QuYzoxNjYKKyMgU0lHV0lOQ0ggICAgMjgsMjgsMjAgICAgSWduICAgICBXaW5kb3cgcmVzaXplIHNpZ25hbCAoNC4zIEJTRCwgU3VuKQorIzogc2lnbGlzdC5jOjE2NwogbXNnaWQgIldpbmRvdyBjaGFuZ2VkIgotbXNnc3RyICIiCittc2dzdHIgIkZlbmVzdHJvIMWdYW7EnWnEnWlzIgogCi0jOiBzaWdsaXN0LmM6MTcwCisjIFNJR0xPU1QgICAgICAtLC0sLSAgICAgIFRlcm0gICAgRmlsZSBsb2NrIGxvc3QKKyM6IHNpZ2xpc3QuYzoxNzEKIG1zZ2lkICJSZWNvcmQgbG9jayIKLW1zZ3N0ciAiIgorbXNnc3RyICJEb3NpZXLFnWxvc28iCiAKLSM6IHNpZ2xpc3QuYzoxNzQKKyMgU0lHVVNSMSAgIDMwLDEwLDE2ICAgIFRlcm0gICAgVXNlci1kZWZpbmVkIHNpZ25hbCAxCisjOiBzaWdsaXN0LmM6MTc1CiBtc2dpZCAiVXNlciBzaWduYWwgMSIKLW1zZ3N0ciAiIgorbXNnc3RyICJVenVsc2lnbmFsbyAxwqoiCiAKLSM6IHNpZ2xpc3QuYzoxNzgKKyM6IHNpZ2xpc3QuYzoxNzkKIG1zZ2lkICJVc2VyIHNpZ25hbCAyIgotbXNnc3RyICIiCittc2dzdHIgIlV6dWxzaWduYWxvIDLCqiIKIAotIzogc2lnbGlzdC5jOjE4MgorIyBIYXJib3IgRmlsZSBUcmFuc2ZlcjoKKyM6IHNpZ2xpc3QuYzoxODMKIG1zZ2lkICJIRlQgaW5wdXQgZGF0YSBwZW5kaW5nIgotbXNnc3RyICIiCittc2dzdHIgIlBlbmRhcyBIRlQtZW5pZ28iCiAKLSM6IHNpZ2xpc3QuYzoxODYKKyMgU0lHUFdSICAgICAgMjksMzAsMTkgICAgVGVybSAgICBQb3dlciBmYWlsdXJlIChTeXN0ZW0gVikKKyM6IHNpZ2xpc3QuYzoxODcKIG1zZ2lkICJwb3dlciBmYWlsdXJlIGltbWluZW50IgotbXNnc3RyICIiCittc2dzdHIgIkVuZXJnaXByb3Zpem8gcGFuZW9udGFzIgogCi0jOiBzaWdsaXN0LmM6MTkwCisjIFNJR0RBTkdFUgorIzogc2lnbGlzdC5jOjE5MQogbXNnaWQgInN5c3RlbSBjcmFzaCBpbW1pbmVudCIKLW1zZ3N0ciAiIgorbXNnc3RyICJMYSBzaXN0ZW1vIGVzdGFzIGtyYcWdb250YSIKIAotIzogc2lnbGlzdC5jOjE5NAorIyBTSUdNSUdSQVRFOgorIzogc2lnbGlzdC5jOjE5NQogbXNnaWQgIm1pZ3JhdGUgcHJvY2VzcyB0byBhbm90aGVyIENQVSIKLW1zZ3N0ciAiIgorbXNnc3RyICJMYSBwcm9jZXpvIGlydSBhbCBhbGlhIMSJZWZwcm9jZXNvcm8iCiAKLSM6IHNpZ2xpc3QuYzoxOTgKKyMgU0lHUFJFCisjOiBzaWdsaXN0LmM6MTk5CiBtc2dpZCAicHJvZ3JhbW1pbmcgZXJyb3IiCi1tc2dzdHIgIiIKK21zZ3N0ciAiUHJvZ3JhbWVyYXJvIgogCi0jOiBzaWdsaXN0LmM6MjAyCisjIFNJR0dSQU5UIChtb25vcG9sYT8/KQorIzogc2lnbGlzdC5jOjIwMwogbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgZ3JhbnRlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJIRlQtbW9uaXRvcnJlxJ1pbW8gamVzaWdpdGEiCiAKLSM6IHNpZ2xpc3QuYzoyMDYKKyM6IHNpZ2xpc3QuYzoyMDcKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIHJldHJhY3RlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJIRlQtbW9uaXRvcnJlxJ1pbW8gZm9ycHJlbml0YSIKIAotIzogc2lnbGlzdC5jOjIxMAorIzogc2lnbGlzdC5jOjIxMQogbXNnaWQgIkhGVCBzb3VuZCBzZXF1ZW5jZSBoYXMgY29tcGxldGVkIgotbXNnc3RyICIiCittc2dzdHIgIkhGVC1zb25zZWt2ZW5jbyBmaW5pxJ1pcyIKIAotIzogc2lnbGlzdC5jOjIxNAorIyBTSUdJTkZPICAgICAgMjksLSwtICAgICAgICAgICAgIEEgc3lub255bSBmb3IgU0lHUFdSCisjOiBzaWdsaXN0LmM6MjE1CiBtc2dpZCAiSW5mb3JtYXRpb24gcmVxdWVzdCIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbmZvcm1tZW5kbyIKIAotIzogc2lnbGlzdC5jOjIyMgorIzogc2lnbGlzdC5jOjIyMwogbXNnaWQgIlVua25vd24gU2lnbmFsICMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiTmVrb25hdGEgc2lnbmFsbnVtZXJvIgogCi0jOiBzaWdsaXN0LmM6MjI0CisjOiBzaWdsaXN0LmM6MjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJOZWtvbmF0YSBzaWduYWxvIG4tcm8gJWQiCiAKLSM6IHN1YnN0LmM6MTE4MSBzdWJzdC5jOjEzMDIKKyM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgogbXNnc3RyICJNaXNhIGFuc3RhdGHFrWlnbzogTWFua2FzIGZlcm1hIOKAniVz4oCfIGVuICVzIgogCi0jOiBzdWJzdC5jOjI0NTgKKyM6IHN1YnN0LmM6MjczNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKIG1zZ3N0ciAiJXM6IE1hbGVibGFzIHZhbG9yaXppIHRhYmVsYW5vbiBwZXIgbGlzdG8iCiAKLSM6IHN1YnN0LmM6NDQ1NiBzdWJzdC5jOjQ0NzIKKyM6IHN1YnN0LmM6NDc1NCBzdWJzdC5jOjQ3NzAKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiTmUgcHJvc3BlcmlzIGZhcmkgZHVrdG9uIHBvciBwcm9jZXphIGFuc3RhdGHFrWlnbyIKIAotIzogc3Vic3QuYzo0NTA0CisjOiBzdWJzdC5jOjQ4MDIKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIk5lIHByb3NwZXJpcyBrcmVpIGlkb24gcG9yIHByb2NlemEgYW5zdGF0YcWtaWdvIgogCi0jOiBzdWJzdC5jOjQ1NDkKKyM6IHN1YnN0LmM6NDg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogbXNnc3RyICJOZSBwcm9zcGVyaXMgbWFsZmVybWkgbm9taXRhbiBkdWt0b24gJXMgcG9ybGVnYW4iCiAKLSM6IHN1YnN0LmM6NDU1MQorIzogc3Vic3QuYzo0ODQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgIk5lIHByb3NwZXJpcyBtYWxmZXJtaSBub21pdGFuIGR1a3RvbiAlcyBwb3Igc2tyaWJhZG8iCiAKLSM6IHN1YnN0LmM6NDU2OQorIzogc3Vic3QuYzo0ODY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgbmFtZWQgcGlwZSAlcyBhcyBmZCAlZCIKIG1zZ3N0ciAiTmUgcHJvc3BlcmlzIGt1bm5vbXVtaSBub21oYXZhbiBkdWt0b24gJXMga2llbCBkb3NpZXJudW1lcm9uICVkIgogCi0jOiBzdWJzdC5jOjQ3NjUKKyM6IHN1YnN0LmM6NTA2MwogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJOZSBwcm9zcGVyaXMgZmFyaSBkdWt0b24gcG9yIGtvbWFuZGEgYW5zdGF0YcWtaWdvIgogCi0jOiBzdWJzdC5jOjQ3OTkKKyM6IHN1YnN0LmM6NTA5NwogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiTmUgcHJvc3BlcmlzIGtyZWkgcHJvY2V6aWRvbiBwb3Iga29tYW5kYSBhbnN0YXRhxa1pZ28iCiAKLSM6IHN1YnN0LmM6NDgxNgorIzogc3Vic3QuYzo1MTE0CiBtc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIG1zZ3N0ciAiY29tbWFuZF9zdWJzdGl0dXRlOiBOZSBwcm9zcGVyaXMga3Vubm9tdW1pIGxhIGRvc2llcm51bWVyb24gMSBhbCBkdWt0byIKIAotIzogc3Vic3QuYzo1MzE4CisjOiBzdWJzdC5jOjU2MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCiBtc2dzdHIgIiVzOiBQYXJhbWV0cm8gZXN0YXMgTlVMIGHFrSBtYWxha3RpdmEiCiAKLSM6IHN1YnN0LmM6NTYwOAorIzogc3Vic3QuYzo1OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiBtc2dzdHIgIiVzOiBzdWLEiWVuby1lc3ByaW1vIDwgMCIKIAotIzogc3Vic3QuYzo2NjYwCisjOiBzdWJzdC5jOjY5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiVzOiBNaXNhIGFuc3RhdGHFrWlnbyIKIAotIzogc3Vic3QuYzo2NzQwCisjOiBzdWJzdC5jOjcwNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IMSJaSB0aWVsIG5lIHZhbG9yaXplYmxhIgogCi0jOiBzdWJzdC5jOjc0OTkKLSMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCi1tc2dzdHIgIk1pc2EgYW5zdGF0YcWtaWdvOiBNYW5rYXMgZmVybWEg4oCeJXPigJ8gZW4gJXMiCisjOiBzdWJzdC5jOjczNzQKK21zZ2lkICIiCisiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyAiCisic3Vic3RpdHV0aW9uIgorbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6ODM3NQorIzogc3Vic3QuYzo3ODM5CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCittc2dzdHIgIk1pc2EgYW5zdGF0YcWtaWdvOiBNYW5rYXMgZmVybWEg4oCeYOKAnyBlbiAlcyIKKworIzogc3Vic3QuYzo4NzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoOiAlcyIKIG1zZ3N0ciAiTmVuaW8ga29uZ3J1YTogJXMiCiAKLSM6IHRlc3QuYzoxNDUKKyM6IHRlc3QuYzoxNDYKIG1zZ2lkICJhcmd1bWVudCBleHBlY3RlZCIKIG1zZ3N0ciAiTWFua2FzIGFyZ3VtZW50byIKIAotIzogdGVzdC5jOjE1NAorIzogdGVzdC5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW50ZWdlciBleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICIlczogTWFua2FzIGVudGplcmEgZXNwcmltbyIKIAotIzogdGVzdC5jOjI2MgorIzogdGVzdC5jOjI2MwogbXNnaWQgImApJyBleHBlY3RlZCIKIG1zZ3N0ciAiTWFua2FzIOKAninigJ8iCiAKLSM6IHRlc3QuYzoyNjQKKyM6IHRlc3QuYzoyNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCknIGV4cGVjdGVkLCBmb3VuZCAlcyIKIG1zZ3N0ciAiQW5zdGF0YcWtIOKAninigJ8gdHJvdmnEnWFzICVzIgogCi0jOiB0ZXN0LmM6Mjc5IHRlc3QuYzo2ODggdGVzdC5jOjY5MQorIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogVGllIGRldmFzIGVzdGkgdW51bG9rYSBvcGVyYWNpc2lnbm8iCiAKLSM6IHRlc3QuYzo0NDQgdGVzdC5jOjczMQorIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBUaWUgZGV2YXMgZXN0aSBkdWxva2Egb3BlcmFjaXNpZ25vIgogCi0jOiB0ZXN0LmM6ODA2CisjOiB0ZXN0LmM6ODExCiBtc2dpZCAibWlzc2luZyBgXSciCiBtc2dzdHIgIk1hbmthcyDigJ5d4oCfIgogCi0jOiB0cmFwLmM6MjAxCisjOiB0cmFwLmM6MjAzCiBtc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgogbXNnc3RyICJNaXNhIHNpZ25hbG51bWVybyIKIAogIyBYWFg6IGludGVybmFsX3dhcm5pbmcKLSM6IHRyYXAuYzozMjQKKyM6IHRyYXAuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVuX3BlbmRpbmdfdHJhcHM6IGJhZCB2YWx1ZSBpbiB0cmFwX2xpc3RbJWRdOiAlcCIKIG1zZ3N0ciAicnVuX3BlbmRpbmdfdHJhcHM6IE1pc2EgdmFsb3JvIGVuIHRyYXBfbGlzdFslZF06ICVwIgogCiAjIFhYWDogaW50ZXJuYWxfd2FybmluZwotIzogdHJhcC5jOjMyOAorIzogdHJhcC5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicnVuX3BlbmRpbmdfdHJhcHM6IHNpZ25hbCBoYW5kbGVyIGlzIFNJR19ERkwsIHJlc2VuZGluZyAlZCAoJXMpIHRvIG15c2VsZiIKIG1zZ3N0ciAicnVuX3BlbmRpbmdfdHJhcHM6IFNpZ25hbHRyYWt0aWxvIFNJR19ERkwgcmVzZW5kYXMgJWQgKCVzKSBhbCBtaSBtZW0iCiAKLSM6IHRyYXAuYzozNzIKKyM6IHRyYXAuYzozODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhcF9oYW5kbGVyOiBiYWQgc2lnbmFsICVkIgogbXNnc3RyICJ0cmFwX2hhbmRsZXI6IE1pc2Egc2lnbmFsbnVtZXJvICVkIgogCi0jOiB2YXJpYWJsZXMuYzozNTgKKyM6IHZhcmlhYmxlcy5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBpbXBvcnRpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbiBmb3IgYCVzJyIKIG1zZ3N0ciAiRXJhcm8gxIllIGltcG9ydG8gZGUgZnVua2NpZGlmaW5vIHBvciDigJ4lc+KAnyIKIAogIyBYWFg6IGludGVybmFsX3dhcm5pbmcKLSM6IHZhcmlhYmxlcy5jOjczNgorIzogdmFyaWFibGVzLmM6NzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICIlZCBlc3RhcyB0cm8gZ3JhbmRhIMWdZWxuaXZlbG87IG1hbGxldml0YSDEnWlzIDEiCiAKICMgWFhYOiBpbnRlcm5hbF9lcnJvcgotIzogdmFyaWFibGVzLmM6MTg5OAorIzogdmFyaWFibGVzLmM6MTkxNQogbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAibWFrZV9sb2NhbF92YXJpYWJsZTogTWFsZXN0YXMgZnVua2NpYSBrdW50ZWtzdG8gZW4gxIlpLXJlZ2lvbm8iCiAKICMgWFhYOiBpbnRlcm5hbF9lcnJvcgotIzogdmFyaWFibGVzLmM6MzEyNworIzogdmFyaWFibGVzLmM6MzE1OQogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiYWxsX2xvY2FsX3ZhcmlhYmxlczogTWFsZXN0YXMgZnVua2NpYSBrdW50ZWtzdG8gZW4gxIlpLXJlZ2lvbm8iCiAKKyM6IHZhcmlhYmxlcy5jOjMzNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKK21zZ3N0ciAiJXM6IFBhcmFtZXRybyBlc3RhcyBOVUwgYcWtIG1hbGFrdGl2YSIKKwogIyBYWFg6IGludGVybmFsX2Vycm9yCi0jOiB2YXJpYWJsZXMuYzozMzQ0IHZhcmlhYmxlcy5jOjMzNTMKKyM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICJNaXNhIHNpZ25vICVkIGVuIGVrc3BvcnRhIHNpZ25vxIllbm8gcG9yIOKAniVz4oCfIgogCiAjIFhYWDogaW50ZXJuYWxfZXJyb3IKLSM6IHZhcmlhYmxlcy5jOjMzNTkKKyM6IHZhcmlhYmxlcy5jOjMzOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIk1hbmthcyDigJ494oCfIGVuIGVrc3BvcnRhIHNpZ25vxIllbm8gcG9yIOKAniVz4oCfIgogCiAjIFhYWDogaW50ZXJuYWxfZXJyb3IKLSM6IHZhcmlhYmxlcy5jOjM3OTQKKyM6IHZhcmlhYmxlcy5jOjM4MzUKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiBtc2dzdHIgIiIKICJwb3BfdmFyX2NvbnRleHQ6IExhIGthcG8gZGUg4oCec2hlbGxfdmFyaWFibGVz4oCfIG5lIGVzdGFzIGZ1bmtjaWEga3VudGVrc3RvIgogCiAjIFhYWDogaW50ZXJuYWxfZXJyb3IKLSM6IHZhcmlhYmxlcy5jOjM4MDcKKyM6IHZhcmlhYmxlcy5jOjM4NDgKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IG5vIGdsb2JhbF92YXJpYWJsZXMgY29udGV4dCIKIG1zZ3N0ciAicG9wX3Zhcl9jb250ZXh0OiBNYW5rYXMga3VudGVrc3RvIGRlIOKAnmdsb2JhbF92YXJpYWJsZXPigJ8iCiAKICMgWFhYOiBpbnRlcm5hbF9lcnJvcgotIzogdmFyaWFibGVzLmM6Mzg4MQorIzogdmFyaWFibGVzLmM6MzkyMgogbXNnaWQgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgogbXNnc3RyICJwb3Bfc2NvcGU6IExhIGthcG8gZGUg4oCec2hlbGxfdmFyaWFibGVz4oCfIG5lIGVzdGFzIHByb3Zpem9yYSByZWdpb25vIgogCisjOiB2YXJpYWJsZXMuYzo0Njc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCittc2dzdHIgIiVzOiBGaWFza2lzIG1hbGZlcm1vIGRlICVzIgorCisjOiB2YXJpYWJsZXMuYzo0NjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGludmFsaWQgdmFsdWUgZm9yIHRyYWNlIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiJWQ6IE1pc2EgZG9zaWVybnVtZXJvOiAlcyIKKwogIzogdmVyc2lvbi5jOjQ2Ci0jLCBmdXp6eQogbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCi1tc2dzdHIgIihDKSAyMDA2IMSJZSDCq0ZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLsK7XG4iCittc2dzdHIgIkNvcHlyaWdodCAoQykgMjAwOSDEiWUgwqtGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy7CuyIKIAogIzogdmVyc2lvbi5jOjQ3CiBtc2dpZCAiIgogIkxpY2Vuc2UgR1BMdjMrOiBHTlUgR1BMIHZlcnNpb24gMyBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKICJodG1sPlxuIgogbXNnc3RyICIiCisiTGEgcGVybWVzaWxvIGVzdGFzIEdQTHYzKzsgdC5lLiBHTlUgR1BMLCB2ZXJzaW8gM8KqIGHFrSBwbGkgbm92YS5cbiIKKyJMYSB0ZWtzdG9uIHZkIMSJZSA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWw+XG4iCiAKLSM6IHZlcnNpb24uYzo4NgorIzogdmVyc2lvbi5jOjg2IHZlcnNpb24yLmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMgKCVzKVxuIgotbXNnc3RyICIiCittc2dzdHIgIkdOVWEgwqtiYXNowrssIHZlcnNpbyAlcyAoJXMpXG4iCiAKLSM6IHZlcnNpb24uYzo5MQorIzogdmVyc2lvbi5jOjkxIHZlcnNpb24yLmM6ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgYXJlIGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuXG4iCiBtc2dzdHIgIiIKKyLEiGkgdGl1IHByb2dyYW1vIGVzdGFzIGxpYmVyYTsgdmkgcmFqdGFzIGxpYmVyZSDEnWluIMWdYW7EnWkga2FqIHBsdWRvbmkuXG4iCiAKLSM6IHZlcnNpb24uYzo5MgorIzogdmVyc2lvbi5jOjkyIHZlcnNpb24yLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKIG1zZ3N0ciAiIgorIk5FTklBIEdBUkFOVElPIGVzdGFzIGRvbml0YSwgdGlvbSBraW9tIHRpb24gcGVybWVzYXMgbGEga29uY2VybmEgbGXEnW8uXG4iCiAKLSM6IHhtYWxsb2MuYzo5MgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyM6IHZlcnNpb24yLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKK21zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDA5IMSJZSDCq0ZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLsK7IgorCisjOiB2ZXJzaW9uMi5jOjg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiTGljZW5zZSBHUEx2Mis6IEdOVSBHUEwgdmVyc2lvbiAyIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgorImh0bWw+XG4iCittc2dzdHIgIiIKKyJMYSBwZXJtZXNpbG8gZXN0YXMgR1BMdjMrOyB0LmUuIEdOVSBHUEwsIHZlcnNpbyAzwqogYcWtIHBsaSBub3ZhLlxuIgorIkxhIHRla3N0b24gdmQgxIllIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbD5cbiIKKworIzogeG1hbGxvYy5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiBtc2dzdHIgInhtYWxsb2MoKTogTmUgcG92YXMgb2t1cGkgJWx1IGJhanRvam4gKCVsdSBiYWp0b2ogZGlzcG9uaWdpdGFqKSIKIAotIzogeG1hbGxvYy5jOjk0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCisjOiB4bWFsbG9jLmM6OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgogbXNnc3RyICJ4bWFsbG9jOiBOZSBwcm9zcGVyaXMgb2t1cGkgJWx1IGJhanRvam4iCiAKLSM6IHhtYWxsb2MuYzoxMTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgInhyZWFsbG9jKCk6IE5lIHBvdmFzIHJlb2t1cGkgJWx1IGJhanRvam4gKCVsdSBiYWp0b2ogZGlzcG9uaWdpdGFqKS4iCi0KLSM6IHhtYWxsb2MuYzoxMTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhyZWFsbG9jOiBOZSBlYmxhcyByZW9rdXBpICVsdSBiYWp0b2puLiIKLQogIyBYWFg6IGZhdGFsX2Vycm9yCi0jOiB4bWFsbG9jLmM6MTUwCi0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyM6IHhtYWxsb2MuYzoxNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiBtc2dzdHIgInhtYWxsb2M6ICVzOiVkOiBuZSBlYmxhcyBva3VwaSAlbHUgYmFqdG9qbiAoJWx1IGJhanRvaiBkaXNwb25pZ2l0YWopIgogCiAjIFhYWDogZmF0YWxfZXJyb3IKLSM6IHhtYWxsb2MuYzoxNTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCisjOiB4bWFsbG9jLmM6MTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCiBtc2dzdHIgInhtYWxsb2M6ICVzOiVkOiBuZSBlYmxhcyBva3VwaSAlbHUgYmFqdG9qbiIKIAotIyBYWFg6IGZhdGFsX2Vycm9yCi0jOiB4bWFsbG9jLmM6MTc0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAiIgotInhyZWFsbG9jOiAlczolZDogbmUgZWJsYXMgcmVva3VwaSAlbHUgYmFqdG9qbiAoJWx1IGJhanRvaiBkaXNwb25pZ2l0YWopIgotCi0jIFhYWDogZmF0YWxfZXJyb3IKLSM6IHhtYWxsb2MuYzoxNzYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IG5lIGVibGFzIHJlb2t1cGkgJWx1IGJhanRvam4iCi0KICM6IGJ1aWx0aW5zLmM6NDMKIG1zZ2lkICJhbGlhcyBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uIF0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWxpYXMgWy1wXSBbTk9NT1s9VkFMT1JPXSAuLi4gXSIKIAogIzogYnVpbHRpbnMuYzo0NwogbXNnaWQgInVuYWxpYXMgWy1hXSBuYW1lIFtuYW1lIC4uLl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAidW5hbGlhcyBbLWFdIE5PTU8gW05PTU8gLi4uXSIKIAogIzogYnVpbHRpbnMuYzo1MQogbXNnaWQgIiIKICJiaW5kIFstbHB2c1BWU10gWy1tIGtleW1hcF0gWy1mIGZpbGVuYW1lXSBbLXEgbmFtZV0gWy11IG5hbWVdIFstciBrZXlzZXFdIFstIgogIngga2V5c2VxOnNoZWxsLWNvbW1hbmRdIFtrZXlzZXE6cmVhZGxpbmUtZnVuY3Rpb24gb3IgcmVhZGxpbmUtY29tbWFuZF0iCiBtc2dzdHIgIiIKKyJiaW5kIFstbHB2c1BWU10gWy1tIEtMQVZBUlRBQkVMT10gWy1mIERPU0lFUk5PTU9dIFstcSBOT01PXVxuIgorIiAgICAgICAgICBbLXUgTk9NT10gWy1yIEtMQVZBxLRPXSBbLXggS0xBVkHEtE86xZxFTEtPTUFORE9dXG4iCisiICAgICAgICAgIFtLTEFWQcS0TzpSRUFETElORS1GVU5LQ0lPIEHFrCBSRUFETElORS1LT01BTkRPXSAiCiAKICM6IGJ1aWx0aW5zLmM6NTQKIG1zZ2lkICJicmVhayBbbl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiYnJlYWsgW05dIgogCiAjOiBidWlsdGlucy5jOjU2CiBtc2dpZCAiY29udGludWUgW25dIgotbXNnc3RyICIiCittc2dzdHIgImNvbnRpbnVlIFtOXSIKIAogIzogYnVpbHRpbnMuYzo1OAogbXNnaWQgImJ1aWx0aW4gW3NoZWxsLWJ1aWx0aW4gW2FyZyAuLi5dXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJidWlsdGluIFvFnEVMQcS0TyBbQVJHIC4uLl1dIgogCiAjOiBidWlsdGlucy5jOjYxCiBtc2dpZCAiY2FsbGVyIFtleHByXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJjYWxsZXIgW0VTUFJJTU9dIgogCiAjOiBidWlsdGlucy5jOjY0CiBtc2dpZCAiY2QgWy1MfC1QXSBbZGlyXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJjZCBbLUx8LVBdIFtET1NJRVJVSk9dIgogCiAjOiBidWlsdGlucy5jOjY2CiBtc2dpZCAicHdkIFstTFBdIgotbXNnc3RyICIiCittc2dzdHIgInB3ZCBbLUxQXSIKIAogIzogYnVpbHRpbnMuYzo2OAogbXNnaWQgIjoiCi1tc2dzdHIgIiIKK21zZ3N0ciAiOiIKIAogIzogYnVpbHRpbnMuYzo3MAogbXNnaWQgInRydWUiCi1tc2dzdHIgIiIKK21zZ3N0ciAidHJ1ZSIKIAogIzogYnVpbHRpbnMuYzo3MgogbXNnaWQgImZhbHNlIgotbXNnc3RyICIiCittc2dzdHIgImZhbHNlIgogCiAjOiBidWlsdGlucy5jOjc0CiBtc2dpZCAiY29tbWFuZCBbLXBWdl0gY29tbWFuZCBbYXJnIC4uLl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiY29tbWFuZCBbLXBWdl0gS09NQU5ETyBbQVJHIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6NzYKIG1zZ2lkICJkZWNsYXJlIFstYUFmRmlscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZGVjbGFyZSBbLWFBZkZpbHJ0dXhdIFstcF0gW05PTU9bPVZBTE9ST10gLi4uXSIKIAogIzogYnVpbHRpbnMuYzo3OAogbXNnaWQgInR5cGVzZXQgWy1hQWZGaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCi1tc2dzdHIgIiIKK21zZ3N0ciAidHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0gTk9NT1s9VkFMT1JPXSAuLi4iCiAKICM6IGJ1aWx0aW5zLmM6ODAKIG1zZ2lkICJsb2NhbCBbb3B0aW9uXSBuYW1lWz12YWx1ZV0gLi4uIgotbXNnc3RyICIiCittc2dzdHIgImxvY2FsIFtPUENJT10gTk9NT1s9VkFMT1JPXSAuLi4iCiAKICM6IGJ1aWx0aW5zLmM6ODMKIG1zZ2lkICJlY2hvIFstbmVFXSBbYXJnIC4uLl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZWNobyBbLW5lRV0gW0FSRyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjg3CiBtc2dpZCAiZWNobyBbLW5dIFthcmcgLi4uXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJlY2hvIFstbl0gW0FSRyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjkwCiBtc2dpZCAiZW5hYmxlIFstYV0gWy1kbnBzXSBbLWYgZmlsZW5hbWVdIFtuYW1lIC4uLl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZW5hYmxlIFstYV0gWy1kbnBzXSBbLWYgRE9TSUVSTk9NT10gW05PTU8gLi4uXSIKIAogIzogYnVpbHRpbnMuYzo5MgogbXNnaWQgImV2YWwgW2FyZyAuLi5dIgotbXNnc3RyICIiCittc2dzdHIgImV2YWwgW0FSRyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjk0CiBtc2dpZCAiZ2V0b3B0cyBvcHRzdHJpbmcgbmFtZSBbYXJnXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJnZXRvcHRzIE9QQ0nEiEVOTyBOT01PIFtBUkddIgogCiAjOiBidWlsdGlucy5jOjk2CiBtc2dpZCAiZXhlYyBbLWNsXSBbLWEgbmFtZV0gW2NvbW1hbmQgW2FyZ3VtZW50cyAuLi5dXSBbcmVkaXJlY3Rpb24gLi4uXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJleGVjIFstY2xdIFstYSBOT01PXSBbS09NQU5ETyBbQVJHVU1FTlRPSiAuLi5dXSBbQUxJRElSRUtUQURPIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6OTgKIG1zZ2lkICJleGl0IFtuXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJleGl0IFtOXSIKIAogIzogYnVpbHRpbnMuYzoxMDAKIG1zZ2lkICJsb2dvdXQgW25dIgotbXNnc3RyICIiCittc2dzdHIgImxvZ291dCBbTl0iCiAKICM6IGJ1aWx0aW5zLmM6MTAzCiBtc2dpZCAiZmMgWy1lIGVuYW1lXSBbLWxucl0gW2ZpcnN0XSBbbGFzdF0gb3IgZmMgLXMgW3BhdD1yZXBdIFtjb21tYW5kXSIKIG1zZ3N0ciAiIgorImZjIFstZSBSRURBS1RJTE9dIFstbG5yXSBbVU5VQV0gW0xBU1RBXSBhxa1cbiIKKyJmYyAtcyBbxZxBQkxPTk89QU5TVF0gW0tPTUFORE9dIgogCiAjOiBidWlsdGlucy5jOjEwNwogbXNnaWQgImZnIFtqb2Jfc3BlY10iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZmcgW0xBQk9SSU5ESUtPXSIKIAogIzogYnVpbHRpbnMuYzoxMTEKIG1zZ2lkICJiZyBbam9iX3NwZWMgLi4uXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJiZyBbTEFCT1JJTkRJS09dIgogCiAjOiBidWlsdGlucy5jOjExNAogbXNnaWQgImhhc2ggWy1scl0gWy1wIHBhdGhuYW1lXSBbLWR0XSBbbmFtZSAuLi5dIgotbXNnc3RyICIiCittc2dzdHIgImhhc2ggWy1scl0gWy1wIFZPSk5PTU9dIFstZHRdIFtOT01PIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTE3Ci1tc2dpZCAiaGVscCBbLWRzXSBbcGF0dGVybiAuLi5dIgotbXNnc3RyICIiCisjLCBmdXp6eQorbXNnaWQgImhlbHAgWy1kbXNdIFtwYXR0ZXJuIC4uLl0iCittc2dzdHIgImhlbHAgWy1kc10gW8WcQUJMT05PIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTIxCiBtc2dpZCAiIgogImhpc3RvcnkgWy1jXSBbLWQgb2Zmc2V0XSBbbl0gb3IgaGlzdG9yeSAtYW5ydyBbZmlsZW5hbWVdIG9yIGhpc3RvcnkgLXBzIGFyZyAiCiAiW2FyZy4uLl0iCiBtc2dzdHIgIiIKKyJoaXN0b3J5IFstY10gWy1kIERFxZxPVk9dIFtuXSBhxa1cbiIKKyJoaXN0b3J5IC1hd3IgW0RPU0lFUk5PTU9dIGHFrVxuIgorImhpc3RvcnkgLXBzIEFSRyBbQVJHLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMjUKIG1zZ2lkICJqb2JzIFstbG5wcnNdIFtqb2JzcGVjIC4uLl0gb3Igam9icyAteCBjb21tYW5kIFthcmdzXSIKIG1zZ3N0ciAiIgorImpvYnMgWy1sbnByc10gW0xBQk9SSU5ESUtPIC4uLl0gYcWtXG4iCisiam9icyAteCBLT01BTkRPIFtBUkdTXSIKIAogIzogYnVpbHRpbnMuYzoxMjkKIG1zZ2lkICJkaXNvd24gWy1oXSBbLWFyXSBbam9ic3BlYyAuLi5dIgotbXNnc3RyICIiCittc2dzdHIgImRpc293biBbLWhdIFstYXJdIFtMQUJPUklORElLTyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjEzMgogbXNnaWQgIiIKICJraWxsIFstcyBzaWdzcGVjIHwgLW4gc2lnbnVtIHwgLXNpZ3NwZWNdIHBpZCB8IGpvYnNwZWMgLi4uIG9yIGtpbGwgLWwgIgogIltzaWdzcGVjXSIKIG1zZ3N0ciAiIgorImtpbGwgWy1zIFNJR1NOT00gfCAtbiBTSUdOVU0gfCAtU0lHTk9NXSBbUE4gfCBMQUJPUklORElLT10gLi4uIGHFrVxuIgorImtpbGwgLWwgW1NJR05PTV0iCiAKICM6IGJ1aWx0aW5zLmM6MTM0CiBtc2dpZCAibGV0IGFyZyBbYXJnIC4uLl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAibGV0IEFSRyBbQVJHIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTM2CisjLCBmdXp6eQogbXNnaWQgIiIKLSJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstcCBwcm9tcHRdIFstdCAiCi0idGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgorInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKKyJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKKyJyZWFkIFstZXJzXSBbLWEgVEFCRUxPXSBbLWQgRElTSUddIFstaSBURUtTVE9dIFstbiBOU0lHTl0gWy1wIElOVklUXSBbLXQgIgorIlRMSU1dIFstdSBETl0gW05PTU8gLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMzgKIG1zZ2lkICJyZXR1cm4gW25dIgotbXNnc3RyICIiCittc2dzdHIgInJldHVybiBbTl0iCiAKICM6IGJ1aWx0aW5zLmM6MTQwCiBtc2dpZCAic2V0IFstLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFthcmcgLi4uXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBPUENJTk9NT10gW0FSRyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjE0MgogbXNnaWQgInVuc2V0IFstZl0gWy12XSBbbmFtZSAuLi5dIgotbXNnc3RyICIiCittc2dzdHIgInVuc2V0IFstZl0gWy12XSBbTk9NTyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjE0NAogbXNnaWQgImV4cG9ydCBbLWZuXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgZXhwb3J0IC1wIgotbXNnc3RyICIiCittc2dzdHIgImV4cG9ydCBbLWZuXSBbTk9NT1s9VkFMT1JPXSAuLi5dICBhxa0gIGV4cG9ydCAtcCIKIAogIzogYnVpbHRpbnMuYzoxNDYKIG1zZ2lkICJyZWFkb25seSBbLWFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAiCi1tc2dzdHIgIiIKK21zZ3N0ciAicmVhZG9ubHkgWy1hQWZdIFtOT01PWz1WQUxPUk9dIC4uLl0gIGHFrSAgcmVhZG9ubHkgLXAiCiAKICM6IGJ1aWx0aW5zLmM6MTQ4Ci0jLCBmdXp6eQogbXNnaWQgInNoaWZ0IFtuXSIKLW1zZ3N0ciAiTm9tYnJpbG8gZGUg4oCec2hpZnTigJ8iCittc2dzdHIgInNoaWZ0IFtOXSIKIAogIzogYnVpbHRpbnMuYzoxNTAKLSMsIGZ1enp5CiBtc2dpZCAic291cmNlIGZpbGVuYW1lIFthcmd1bWVudHNdIgotbXNnc3RyICJOZWNlc2FzIGRvc2llcm5vbWEgYXJndW1lbnRvIgorbXNnc3RyICJzb3VyY2UgRE9TSUVSTk9NTyBbQVJHVU1FTlRPSl0iCiAKICM6IGJ1aWx0aW5zLmM6MTUyCi0jLCBmdXp6eQogbXNnaWQgIi4gZmlsZW5hbWUgW2FyZ3VtZW50c10iCi1tc2dzdHIgIk5lY2VzYXMgZG9zaWVybm9tYSBhcmd1bWVudG8iCittc2dzdHIgIi4gRE9TSUVSTk9NTyBbQVJHVU1FTlRPSl0iCiAKICM6IGJ1aWx0aW5zLmM6MTU1CiBtc2dpZCAic3VzcGVuZCBbLWZdIgotbXNnc3RyICIiCittc2dzdHIgInN1c3BlbmQgWy1mXSIKIAogIzogYnVpbHRpbnMuYzoxNTgKIG1zZ2lkICJ0ZXN0IFtleHByXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ0ZXN0IFtFU1BSSU1PXSIKIAogIzogYnVpbHRpbnMuYzoxNjAKIG1zZ2lkICJbIGFyZy4uLiBdIgotbXNnc3RyICIiCittc2dzdHIgIlsgQVJHLi4uIF0iCiAKICM6IGJ1aWx0aW5zLmM6MTYyCiBtc2dpZCAidGltZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAidGltZXMiCiAKICM6IGJ1aWx0aW5zLmM6MTY0CiBtc2dpZCAidHJhcCBbLWxwXSBbW2FyZ10gc2lnbmFsX3NwZWMgLi4uXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ0cmFwIFstbHBdIFtbQVJHXSBTSUdOQUxJTkRJS08gLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxNjYKIG1zZ2lkICJ0eXBlIFstYWZwdFBdIG5hbWUgW25hbWUgLi4uXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ0eXBlIFstYWZwdFBdIE5PTU8gW05PTU8gLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxNjkKIG1zZ2lkICJ1bGltaXQgWy1TSGFjZGVmaWxtbnBxcnN0dXZ4XSBbbGltaXRdIgotbXNnc3RyICIiCittc2dzdHIgInVsaW1pdCBbLVNIYWNkZWZpbG1ucHFyc3R1dnhdIFtMSU1PXSIKIAogIzogYnVpbHRpbnMuYzoxNzIKIG1zZ2lkICJ1bWFzayBbLXBdIFstU10gW21vZGVdIgotbXNnc3RyICIiCittc2dzdHIgInVtYXNrIFstcF0gWy1TXSBbUkXEnElNT10iCiAKICM6IGJ1aWx0aW5zLmM6MTc1CiBtc2dpZCAid2FpdCBbaWRdIgotbXNnc3RyICIiCittc2dzdHIgIndhaXQgW0lORF0iCiAKICM6IGJ1aWx0aW5zLmM6MTc5CiBtc2dpZCAid2FpdCBbcGlkXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ3YWl0IFtQTl0iCiAKICM6IGJ1aWx0aW5zLmM6MTgyCiBtc2dpZCAiZm9yIE5BTUUgW2luIFdPUkRTIC4uLiBdIDsgZG8gQ09NTUFORFM7IGRvbmUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZm9yIE5PTU8gW2luIFZPUlRPSiAuLi4gXSA7IGRvIEtPTUFORE9KOyBkb25lIgogCiAjOiBidWlsdGlucy5jOjE4NAogbXNnaWQgImZvciAoKCBleHAxOyBleHAyOyBleHAzICkpOyBkbyBDT01NQU5EUzsgZG9uZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJmb3IgKCggRVNQUjE7IEVTUFIyOyBFU1BSMyApKTsgZG8gS09NQU5ET0o7IGRvbmUiCiAKICM6IGJ1aWx0aW5zLmM6MTg2CiBtc2dpZCAic2VsZWN0IE5BTUUgW2luIFdPUkRTIC4uLiA7XSBkbyBDT01NQU5EUzsgZG9uZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJzZWxlY3QgTk9OTyBbaW4gVk9SVE9KIC4uLiA7XSBkbyBLT01BTkRPSjsgZG9uZSIKIAogIzogYnVpbHRpbnMuYzoxODgKIG1zZ2lkICJ0aW1lIFstcF0gcGlwZWxpbmUiCi1tc2dzdHIgIiIKK21zZ3N0ciAidGltZSBbLXBdIERVS1RPIgogCiAjOiBidWlsdGlucy5jOjE5MAogbXNnaWQgImNhc2UgV09SRCBpbiBbUEFUVEVSTiBbfCBQQVRURVJOXS4uLikgQ09NTUFORFMgOztdLi4uIGVzYWMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiY2FzZSBWT1JUTyBpbiBbxZxBQkxPTk8gW3wgxZxBQkxPTk9dLi4uKSBLT01BTkRPSiA7O10uLi4gZXNhYyIKIAogIzogYnVpbHRpbnMuYzoxOTIKIG1zZ2lkICIiCiAiaWYgQ09NTUFORFM7IHRoZW4gQ09NTUFORFM7IFsgZWxpZiBDT01NQU5EUzsgdGhlbiBDT01NQU5EUzsgXS4uLiBbIGVsc2UgIgogIkNPTU1BTkRTOyBdIGZpIgogbXNnc3RyICIiCisiaWYgS09NQU5ET0o7IHRoZW4gS09NQU5ET0o7IFsgZWxpZiBLT01BTkRPSjsgdGhlbiBLT01BTkRPSjsgXS4uLiBbIGVsc2UgIgorIktPTUFORE9KOyBdIGZpIgogCiAjOiBidWlsdGlucy5jOjE5NAogbXNnaWQgIndoaWxlIENPTU1BTkRTOyBkbyBDT01NQU5EUzsgZG9uZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ3aGlsZSBLT01BTkRPSjsgZG8gS09NQU5ET0o7IGRvbmUiCiAKICM6IGJ1aWx0aW5zLmM6MTk2CiBtc2dpZCAidW50aWwgQ09NTUFORFM7IGRvIENPTU1BTkRTOyBkb25lIgotbXNnc3RyICIiCittc2dzdHIgInVudGlsIEtPTUFORE9KOyBkbyBLT01BTkRPSjsgZG9uZSIKIAogIzogYnVpbHRpbnMuYzoxOTgKIG1zZ2lkICJjb3Byb2MgW05BTUVdIGNvbW1hbmQgW3JlZGlyZWN0aW9uc10iCi1tc2dzdHIgIiIKK21zZ3N0ciAiY29wcm9jIFtOT01PXSBLT01BTkRPIFtBTElESVJFS1RBRE9KXSIKIAogIzogYnVpbHRpbnMuYzoyMDAKIG1zZ2lkICJmdW5jdGlvbiBuYW1lIHsgQ09NTUFORFMgOyB9IG9yIG5hbWUgKCkgeyBDT01NQU5EUyA7IH0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZnVuY3Rpb24gTk9NTyB7IEtPTUFORE9KIDsgfSAgYcWtICBOT01PICgpIHsgS09NQU5ET0ogOyB9IgogCiAjOiBidWlsdGlucy5jOjIwMgogbXNnaWQgInsgQ09NTUFORFMgOyB9IgotbXNnc3RyICIiCittc2dzdHIgInsgS09NQU5ET0ogOyB9IgogCiAjOiBidWlsdGlucy5jOjIwNAogbXNnaWQgImpvYl9zcGVjIFsmXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJMQUJPUklORElLTyBbJl0iCiAKICM6IGJ1aWx0aW5zLmM6MjA2Ci0jLCBmdXp6eQogbXNnaWQgIigoIGV4cHJlc3Npb24gKSkiCi1tc2dzdHIgIk1hbmthcyBlc3ByaW1vIgorbXNnc3RyICIoKCBFU1BSSU1PICkpIgogCiAjOiBidWlsdGlucy5jOjIwOAotIywgZnV6enkKIG1zZ2lkICJbWyBleHByZXNzaW9uIF1dIgotbXNnc3RyICJNYW5rYXMgZXNwcmltbyIKK21zZ3N0ciAiW1sgRVNQUklNTyBdXSIKIAorIyDEiHUgInZhcmlhYmxlcyIgZXN0YXMgc2VyxIlhIMWdbG9zaWxvID8KKyMgVC5lLiAiaGVscCB2YXIiIGHFrSAiaGVscCB2YXJpYWJsIiwgc2VkIG5lICJuZWxwIHZhcmlhYmxvaiI/CiAjOiBidWlsdGlucy5jOjIxMAogbXNnaWQgInZhcmlhYmxlcyAtIE5hbWVzIGFuZCBtZWFuaW5ncyBvZiBzb21lIHNoZWxsIHZhcmlhYmxlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJ2YXIgLSBOb21vaiBrYWogc2lnbmlmbyBkZSBrZWxrYWogxZ1lbHZhcmlhYmxvaiIKIAogIzogYnVpbHRpbnMuYzoyMTMKIG1zZ2lkICJwdXNoZCBbLW5dIFsrTiB8IC1OIHwgZGlyXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJwdXNoZCBbLW5dIFsrTiB8IC1OIHwgRE9TSUVSVUpPXSIKIAogIzogYnVpbHRpbnMuYzoyMTcKIG1zZ2lkICJwb3BkIFstbl0gWytOIHwgLU5dIgotbXNnc3RyICIiCittc2dzdHIgInBvcGQgWy1uXSBbK04gfCAtTl0iCiAKICM6IGJ1aWx0aW5zLmM6MjIxCiBtc2dpZCAiZGlycyBbLWNscHZdIFsrTl0gWy1OXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJkaXJzIFstY2xwdl0gWytOXSBbLU5dIgogCiAjOiBidWlsdGlucy5jOjIyNAogbXNnaWQgInNob3B0IFstcHFzdV0gWy1vXSBbb3B0bmFtZSAuLi5dIgotbXNnc3RyICIiCittc2dzdHIgInNob3B0IFstcHFzdV0gWy1vXSBbT1BDSU5PTU8gLi4uXSIKIAogIzogYnVpbHRpbnMuYzoyMjYKIG1zZ2lkICJwcmludGYgWy12IHZhcl0gZm9ybWF0IFthcmd1bWVudHNdIgotbXNnc3RyICIiCittc2dzdHIgInByaW50ZiBbLXYgVkFSXSBGT1JNQVRPIFtBUkdVTUVOVE9KXSIKIAogIzogYnVpbHRpbnMuYzoyMjkKKyMsIGZ1enp5CiBtc2dpZCAiIgotImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy1XICIKLSJ3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyBzdWZmaXhdICIKLSJbbmFtZSAuLi5dIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy0iCisiVyB3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyAiCisic3VmZml4XSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCisiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstbyBPUENJT10gWy1BIEFHT10gWy1HIEdMT0LFnEFCXSBbLVcgIgorIlZPUlRMSVNUT10gIFstRiBGVU5LQ0lPXSBbLUMgS09NQU5ET10gWy1YIEZJTFRST8WcQUJdIFstUCBQUkVGSUtTT10gWy1TICIKKyJTVUZGSUtTT10gW05PTU8gLi4uXSIKIAogIzogYnVpbHRpbnMuYzoyMzMKIG1zZ2lkICIiCiAiY29tcGdlbiBbLWFiY2RlZmdqa3N1dl0gWy1vIG9wdGlvbl0gIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLVcgd29yZGxpc3RdICAiCiAiWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TIHN1ZmZpeF0gW3dvcmRdIgogbXNnc3RyICIiCisiY29tcGdlbiBbLWFiY2RlZmdqa3N1dl0gWy1vIE9QQ0lPXSAgWy1BIEFHT10gWy1HIEdMT0LFnEFCXSBbLVcgdk9SVExJU1RPXSAgWy0iCisiRiBGVU5LQ0lPXSBbLUMgS09NQU5ET10gWy1YIEZJTFRST8WcQUJdIFstUCBQUkVGSUtTT10gWy1TIFNVRkZJS1NPXSBbVk9SVE9dIgogCiAjOiBidWlsdGlucy5jOjIzNwotbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gW25hbWUgLi4uXSIKLW1zZ3N0ciAiIgorIywgZnV6enkKK21zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFstREVdIFtuYW1lIC4uLl0iCittc2dzdHIgImNvbXBvcHQgWy1vfCtvIE9QQ0lPXSBbTk9NTyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjI0MAogbXNnaWQgIiIKICJtYXBmaWxlIFstbiBjb3VudF0gWy1PIG9yaWdpbl0gWy1zIGNvdW50XSBbLXRdIFstdSBmZF0gWy1DIGNhbGxiYWNrXSBbLWMgIgogInF1YW50dW1dIFthcnJheV0iCiBtc2dzdHIgIiIKKyJtYXBmaWxlIFstbiBOT01CUklMT10gWy1PIE9SSUdJTk9dIFstcyBOT01CUklMT10gWy10XSBbLXUgRE5dIFstQyBSRVRST1ZPS09dICIKKyJbLWMgS1ZBTlRPXSBbVEFCRUxPXSIKIAogIzogYnVpbHRpbnMuYzoyNDIKIG1zZ2lkICIiCiAicmVhZGFycmF5IFstbiBjb3VudF0gWy1PIG9yaWdpbl0gWy1zIGNvdW50XSBbLXRdIFstdSBmZF0gWy1DIGNhbGxiYWNrXSBbLWMgIgogInF1YW50dW1dIFthcnJheV0iCiBtc2dzdHIgIiIKKyJyZWFkYXJyYXkgWy1uIE5PTUJSSUxPXSBbLU8gT1JJR0lOT10gWy1zIE5PTUJSSUxPXSBbLXRdIFstdSBETl0gWy1DICIKKyJSRVRST1ZPS09dIFstYyBLVkFOVE9dIFtUQUJFTE9dIgogCisjICBhbGlhczoKICM6IGJ1aWx0aW5zLmM6MjU0Ci0jLCBmdXp6eQogbXNnaWQgIiIKICJEZWZpbmUgb3IgZGlzcGxheSBhbGlhc2VzLlxuIgogIiAgICBcbiIKQEAgLTIyOTEsMTYgKzI0NTgsMjQgQEAKICJiZWVuXG4iCiAiICAgIGRlZmluZWQuIgogbXNnc3RyICIiCi0iU2VuIGFyZ3VtZW50byBhxa0ga3VuIGxhIG9wY2lvICAtcCAg4oCeYWxpYXPigJ8gZWxpZ2FzIGxhIGxpc3RvblxuIgotIiAgICBkYSBhbGlub21vaiBlbiBsYSBmb3JtbyDCq2FsaWFzIE5PTU89VkFMT1JPwrsgZW4gbGEgxIllZmVsaWd1am9uLlxuIgorIkRpZmludSBhxa0gbGlzdGlndSBhbGlub21vam4uXG4iCisiXG4iCisiICAgIFNlbiBhcmd1bWVudG8gYcWtIGt1biBsYSBvcGNpbyAgLXAgIOKAnmFsaWFz4oCfIGVsaWdhcyBlbiBsYSDEiWVmZWxpZ3Vqb25cbiIKKyIgICAgbGEgbGlzdG9uIGRhIGFsaW5vbW9qIGVuIGxhIHJldXplYmxhIGZvcm1vIMKrYWxpYXMgTk9NTz1WQUxPUk/Cuy5cbiIKKyJcbiIKICIgICAgQWxpZSwgxIlpdSBOT01PIGnEnWFzIGRpZmluaXRhIGtpZWwgYWxpbm9tbyBwb3IgaW5kaWtpdGEgVkFMT1JPLlxuIgogIiAgICBWb3N0YSBzcGFjZXRvIGVuIGxhIFZBTE9STyBrYcWtemFzIHRlc3RvbiwgxIl1IGxhIHNla3ZhIHZvcnRvIGVzdGFzXG4iCi0iICAgIGFsaW5vbWUgYW5zdGF0YcWtaWdlbmRhIMSJZSBsYSBrb21wdXRvIGRlIGxhIGFsaW5vbW8uIExhIGtvbWFuZG9cbiIKLSIgICAg4oCeYWxpYXPigJ8gbGl2ZXJhcyDigJ50cnVl4oCfIGtyb20gc2UgYXBlcmFzIE5PTU8gbmUgZGlmaW5pdGEgYWxpbm9tZS4iCisiICAgIGFsaW5vbWUgYW5zdGF0YcWtaWdlbmRhIMSJZSBsYSBrb21wdXRvIGRlIGxhIGFsaW5vbW8uXG4iCisiXG4iCisiICAgIE9wY2lvajpcbiIKKyIgICAgLXBcdEVsaWd1IMSJaXVqbiBkaWZpbml0YWpuIGFsaW5vbW9qbiBlbiByZXV6ZWJsYSBmb3Jtby5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBMYSBrb21hbmRvIOKAnmFsaWFz4oCfIGxpdmVyYXMg4oCedHJ1ZeKAnyBrcm9tIHNlIGFwZXJhcyBOT01PIG5lIGRpZmluaXRhXG4iCisiICAgIGFsaW5vbWUuIgogCiAjIHVuYWxpYXMgWy1hXSBuYW1lIFtuYW1lIC4uLl0KICM6IGJ1aWx0aW5zLmM6Mjc2Ci0jLCBmdXp6eQogbXNnaWQgIiIKICJSZW1vdmUgZWFjaCBOQU1FIGZyb20gdGhlIGxpc3Qgb2YgZGVmaW5lZCBhbGlhc2VzLlxuIgogIiAgICBcbiIKQEAgLTIzMTAsMTAgKzI0ODUsMTYgQEAKICIgICAgUmV0dXJuIHN1Y2Nlc3MgdW5sZXNzIGEgTkFNRSBpcyBub3QgYW4gZXhpc3RpbmcgYWxpYXMuIgogbXNnc3RyICIiCiAiRm9yaWd1IGxhIG5vbW9qbiBuYW1lIC4uLiBlbCBsYSBsaXN0byBkZSBkaWZpbml0YWogYWxpbm9tb2ouXG4iCi0iICAgIFNlIGVuZXN0YXMgbGEgb3BjaW8g4oCeLWHigJ8sIMSJaXVqbiBhbGlub21vam4gZm9yaWd1LiIKKyJcbiIKKyIgICAgT3BjaW9qOlxuIgorIiAgICAtYVx0U2UgZW5lc3RhcyBsYSBvcGNpbyDigJ4tYeKAnywgxIlpdWpuIGFsaW5vbW9qbiBmb3JpZ3UuXG4iCisiXG4iCisiICAgIExpdmVydSBzdWtjZXNvbiBrcm9tIHNlIG5hbWUgbmUgZXN0YXMgZGlmaW5pdGEgYWxpbm9tZS4iCiAKKyMgYmluZCBbLWxwdnNQVlNdIFstbSBLTEFWQVJUQUJFTE9dIFstZiBET1NJRVJOT01PXSBbLXEgTk9NT10gWy11IE5PTU9dCisjICAgICAgWy1yIEtMQVZBxLRPXSBbLXggS0xBVkHEtE86xZxFTEtPTUFORE9dCisjICAgICAgW0tMQVZBxLRPOlJFQURMSU5FLUZVTktDSU8gQcWsIFJFQURMSU5FLUtPTUFORE9dCiAjOiBidWlsdGlucy5jOjI4OQotIywgZnV6enkKIG1zZ2lkICIiCiAiU2V0IFJlYWRsaW5lIGtleSBiaW5kaW5ncyBhbmQgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTIzNTEsMTEgKzI1MzIsMTQgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIGJpbmQgcmV0dXJucyAwIHVubGVzcyBhbiB1bnJlY29nbml6ZWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKLSJMaWd1IGtsYXZvc2VrdmVuY29uIGFsIGxpbmlsZWdhIGZ1bmtjaW8sIGHFrSBhbCBtYWtyb28sIGHFrSB2YWxvcml6dVxuIgorIkRpZmludSBrbGF2bGlnb2puIGthaiB2YXJpYWJsb2puLlxuIgorIlxuIgorIiAgICBMaWd1IGtsYXZvc2VrdmVuY29uIGFsIGxpbmlsZWdhIGZ1bmtjaW8sIGHFrSBhbCBtYWtyb28sIGHFrSB2YWxvcml6dVxuIgogIiAgICBsaW5pbGVnYW4gdmFyaWFibG9uLiAgTGEgc2ludGFrc28gZGUgbmUtb3BjaWEgYXJndW1lbnRvIGVzdGFzIHRpdVxuIgotIiAgICBkZSDCq34vLmlucHV0cmPCuywgdGFtZW4gbGEgbGlnb24gZW5kYXMgZXNwcmltaSB1bnVhcmd1bWVudGU7IGVrei1lOlxuIgorIiAgICBkZSDCq34vLmlucHV0cmPCuywgdGFtZW4gbGEgbGlnb24gb25pIGVzcHJpbXUgdW51YXJndW1lbnRlOyBla3otZTpcbiIKICIgICAgYmluZCAnXCJcXEMteFxcQy1yXCI6IHJlLXJlYWQtaW5pdC1maWxlJy5cbiIKLSIgICAg4oCeYmluZOKAnyBha2NlcHRhcyBsYSBzZWt2YWpuIG9wY2lvam46XG4iCisiXG4iCisiICAgIE9wY2lvajpcbiIKICIgICAgLW0gS0xBVkFSVEFCRUxPICAgVXp1IEtMQVZBUlRBQkVMT24gZHVtIGxhIGRhxa1ybyBkZSDEiWkgdGl1IGtvbWFuZG8uXG4iCiAiICAgICAgICAgICAgICAgICAgICAgIExhIGVibGFqIG5vbW9qIGRlIGtsYXZhcnRhYmVsbyBlc3Rhczog4oCeZW1hY3PigJ8sXG4iCiAiICAgICAgICAgICAgICAgICAgICAgIOKAnmVtYWNzLXN0YW5kYXJk4oCfLCDigJ5lbWFjcy1tZXRh4oCfLCDigJ5lbWFjcy1jdGx44oCfLFxuIgpAQCAtMjM2NCwyMSArMjU0OCwyMyBAQAogIiAgICAtUCAgICAgICAgICAgICAgICBMaXN0aWd1IGZ1bmtjaW5vbW9qbiBrYWoga2xhdmxpZ29qbi5cbiIKICIgICAgLXAgICAgICAgICAgICAgICAgTGlzdGlndSBmdW5rY2lub21vam4ga2FqIGtsYXZsaWdvam4gZW4gZm9ybW9cbiIKICIgICAgICAgICAgICAgICAgICAgICAgcmV1emVibGEgcG9yIGVuaWdvLlxuIgotIiAgICAtciBLTEFWQcS0TyAgICAgICAgRm9yaWd1IGxhIGxpZ29uIGRlIGxhIGtsYXZzZWt2ZW5jbyBLTEFWQcS0T1xuIgotIiAgICAteCBLTEFWQcS0TzrFnEtPTSAgIExhIMWdZWxrb21hbmRvbiDFnEtPTSBwbGVudW1pxJ11IMSJZSBlbmlnbyBkZVxuIgotIiAgICAgICAgICAgICAgICAgICAgICBsYSBrbGF2c2VrdmVuY28gS0xBVkHEtE8uICAgXG4iCi0iICAgIC1mIERPU0lFUk5PTU8gICAgIExlZ3Uga2xhdmxpZ29qbiBlbCBET1NJRVJOT01PXG4iCi0iICAgIC1xIEZVTktDSU5PTU8gICAgIERlbWFuZG8gcHJpIGxhIGtsYXZvaiBsaWdpdGFqIGFsIGxhIEZVTktDSU5PTU8uXG4iCi0iICAgIC11IEZVTktDSU5PTU8gICAgIE1hbGZhcnUgxIlpdWpuIGtsYXZsaWdvam4gZGUgbGEgRlVOS0NJTk9NTy5cbiIKLSIgICAgLVYgICAgICAgICAgICAgICAgTGlzdGlndSB2YXJpYWJsb25vbW9qbiBrYWogaWxpYW4gdmFsb3JvblxuIgotIiAgICAtdiAgICAgICAgICAgICAgICBMaXN0aWd1IHZhcmlhYmxvbm9tb2puIGthaiBpbGlhbiB2YWxvcm9uIGVuIGZvcm1vXG4iCi0iICAgICAgICAgICAgICAgICAgICAgIHJldXplYmxhIHBvciBlbmlnby5cbiIKICIgICAgLVMgICAgICAgICAgICAgICAgTGlzdGlndSBtYWtyb2FqbiBrbGF2c2VrdmVuY29qbiBrYWogaWxpYW4gdmFsb3Jvbi5cbiIKICIgICAgLXMgICAgICAgICAgICAgICAgTGlzdGlndSBtYWtyb2FqbiBrbGF2c2VrdmVuY29qbiBrYWogaWxpYW4gdmFsb3JvblxuIgotIiAgICAgICAgICAgICAgICAgICAgICBlbiBmb3JtbyByZXV6ZWJsYSBwb3IgZW5pZ28uIgorIiAgICAgICAgICAgICAgICAgICAgICBlbiBmb3JtbyByZXV6ZWJsYSBwb3IgZW5pZ28uXG4iCisiICAgIC1WICAgICAgICAgICAgICAgIExpc3RpZ3UgdmFyaWFibG9ub21vam4ga2FqIGlsaWFuIHZhbG9yb24uXG4iCisiICAgIC12ICAgICAgICAgICAgICAgIExpc3RpZ3UgdmFyaWFibG9ub21vam4ga2FqIGlsaWFuIHZhbG9yb24gZW4gZm9ybW9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgcmV1emVibGEgcG9yIGVuaWdvLlxuIgorIiAgICAtcSBGVU5LQ0lOT01PICAgICBEZW1hbmRvIHByaSBsYSBrbGF2b2ogbGlnaXRhaiBhbCBsYSBGVU5LQ0lOT01PLlxuIgorIiAgICAtdSBGVU5LQ0lOT01PICAgICBNYWxsaWd1IMSJaXVqbiBrbGF2bGlnb2puIGRpc2RlIGxhIEZVTktDSU5PTU8uXG4iCisiICAgIC1yIEtMQVZBxLRPICAgICAgICBGb3JpZ3UgbGEgbGlnb24gZGUgbGEga2xhdnNla3ZlbmNvIEtMQVZBxLRPXG4iCisiICAgIC1mIERPU0lFUk5PTU8gICAgIExlZ3Uga2xhdmxpZ29qbiBlbCBET1NJRVJOT01PXG4iCisiICAgIC14IEtMQVZBxLRPOsWcRUxLT01BTkRPICBMYSDFnEVMS09NQU5ETyBwbGVudW1pxJ11IMSJZSBlbmlnbyBkZSBLTEFWQcS0Ty5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICAwLCBrcm9tIHNlIG5la29uYXRhIG9wY2lvIGVzdGFzIGRvbml0YSBhxa0gZXJhcm8gb2themlzLiIKIAorIyBleGl0OgogIzogYnVpbHRpbnMuYzozMjYKLSMsIGZ1enp5CiBtc2dpZCAiIgogIkV4aXQgZm9yLCB3aGlsZSwgb3IgdW50aWwgbG9vcHMuXG4iCiAiICAgIFxuIgpAQCAtMjM4OCwxMSArMjU3NCwxNiBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgVGhlIGV4aXQgc3RhdHVzIGlzIDAgdW5sZXNzIE4gaXMgbm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLiIKIG1zZ3N0ciAiIgotIlBhc3UgYWwgbGEgc2VrdmEgaXRlcmFjaWVybyBkZSAgRk9SLCBXSElMRSBhxa0gVU5USUwuIFNlIE4gZXN0YXNcbiIKLSJkb25pdGEsIHBhc3UgamUgbGEgbml2ZWxvIGRlIGxhIE5hIGluZ2FudGEgaXRlcmFjaW9yZG9uby4iCisiRmludSBpdGVyYWNpb24gRk9SLCBXSElMRSBhxa0gVU5USUxcbiIKKyJcbiIKKyIgICAgRWxpcnUgZWtzdGVyIGl0ZXJhY2lvbiBGT1IsIFdISUxFIGHFrSBVTlRJTC4gU2UgTiBlc3RhcyBkb25pdGEsXG4iCisiICAgIGlydSBOIGl0ZXJhY2lham4gbml2ZWxvam4gZWtzdGVyZW4uXG4iCisiXG4iCisiICAgIEVsaXJzdGF0bzpcbiIKKyIgICAgxJxpIGVzdGFzIDAsIGtvbmRpxIllIGtlIE4gZXN0YXMgcGxpIGdyYW5kYSBvbCBhxa0gZWdhbGEgYWwgMS4iCiAKKyMgY29udGludWU6CiAjOiBidWlsdGlucy5jOjMzOAotIywgZnV6enkKIG1zZ2lkICIiCiAiUmVzdW1lIGZvciwgd2hpbGUsIG9yIHVudGlsIGxvb3BzLlxuIgogIiAgICBcbiIKQEAgLTI0MDIsOSArMjU5MywxNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgVGhlIGV4aXQgc3RhdHVzIGlzIDAgdW5sZXNzIE4gaXMgbm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLiIKIG1zZ3N0ciAiIgotIlBhc3UgYWwgbGEgc2VrdmEgaXRlcmFjaWVybyBkZSAgRk9SLCBXSElMRSBhxa0gVU5USUwuIFNlIE4gZXN0YXNcbiIKLSJkb25pdGEsIHBhc3UgamUgbGEgbml2ZWxvIGRlIGxhIE5hIGluZ2FudGEgaXRlcmFjaW9yZG9uby4iCisiRGHFrXJpZ3UgaXRlcmFjaWFkb24gZGUgb3Jkb25vIEZPUiwgV0hJTEUgYcWtIFVOVElMXG4iCisiXG4iCisiICAgIFBhc3UgYWwgbGEgc2VrdmEgaXRlcmFjaWVybyBkZSAgRk9SLCBXSElMRSBhxa0gVU5USUwuXG4iCisiICAgIFNlIE4gZXN0YXMgZG9uaXRhLCBlbGlydSDEnWlzIGxhIG5pdmVsb24gZGUgbGEgTsKqIGluZ2FudGFcbiIKKyIgICAgaXRlcmFjaW9yZG9uby5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICDEnGkgZXN0YXMgMCwga29uZGnEiWUga2UgTiBlc3RhcyBwbGkgZ3JhbmRhIG9sIGHFrSBlZ2FsYSBhbCAxLiIKIAorIyBidWlsdGluIFtzaGVsbC1idWlsdGluIFthcmcgLi4uXV0KKyMgYnVpbHRpbiBbxZxFTEHEtE8gW0FSRyAuLi5dXQogIzogYnVpbHRpbnMuYzozNTAKIG1zZ2lkICIiCiAiRXhlY3V0ZSBzaGVsbCBidWlsdGlucy5cbiIKQEAgLTI0MTgsOSArMjYxNywyMCBAQAogIiAgICBSZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBTSEVMTC1CVUlMVElOLCBvciBmYWxzZSBpZiBTSEVMTC1CVUlMVElOIGlzXG4iCiAiICAgIG5vdCBhIHNoZWxsIGJ1aWx0aW4uLiIKIG1zZ3N0ciAiIgorIlJ1bHUgcHJpbWl0aXZhbiDFnWVsa29tYW5kb25cbiIKKyJcbiIKKyIgICAgUGxlbnVtdSBwcmltaXRpdmFuIMWdZWxrb21hbmRvbiDFnEVMQcS0TyBrdW4gbGEgYXJndW1lbnRvaiBBUkcgc2VuIGxhXG4iCisiICAgIG5vcm1hbGEga29tYWRvc2VyxIlvLiAgVGlvIHV0aWxhcyBzZSBvbmkgdm9sYXMgdXppIGxhIG5vbW9uIGRlXG4iCisiICAgIMWdZWxhxLVvIHBvciBub21pIGZ1bmtjaW9uLCBzZWQgYmV6b25hcyBsYSBrb25jZXJuYW4gcHJpbWl0aXZvbiBlblxuIgorIiAgICBsYSBmdW5rY2lvIG1lbS5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBUaXUgZGUgZGUgxZxFTEHEtE87IGHFrSBtYWxzdWtjZXNvLCBzZSDFnEVMQcS0TyBuZSBlc3RhcyBwcmltaXRpdmFcbiIKKyIgICAgxZ1lbGtvbWFuZG8uIgogCisjIGNhbGxlciBbZXhwcl0gPT4KKyMgY2FsbGVyIFtFU1BSSU1PXQogIzogYnVpbHRpbnMuYzozNjUKLSMsIGZ1enp5CiBtc2dpZCAiIgogIlJldHVybiB0aGUgY29udGV4dCBvZiB0aGUgY3VycmVudCBzdWJyb3V0aW5lIGNhbGwuXG4iCiAiICAgIFxuIgpAQCAtMjQzNSwxNyArMjY0NSwyMSBAQAogIiAgICBSZXR1cm5zIDAgdW5sZXNzIHRoZSBzaGVsbCBpcyBub3QgZXhlY3V0aW5nIGEgc2hlbGwgZnVuY3Rpb24gb3IgRVhQUlxuIgogIiAgICBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgotIkxpdmVyYXMgbGEga3VudGVrc3RvbiBkZSBsYSBrdXJhbnRhIHByb2NlZHVydm9rby5cbiIKKyJMaXZlcnUgbGEga3VudGVrc3RvbiBkZSBsYSBrdXJhbnRhIHByb2NlZHVydm9rb1xuIgogIlxuIgotIiAgICBTZSBFWFBSIG1hbGVzdGFzLCBsaXZlcmnEnWFzIMKrJGxpbmUgJGZpbGVuYW1lwrsuICBTZSBFWFBSIMSJZWVzdGFzLFxuIgotIiAgICBsaXZlcmnEnWFzIMKrJGxpbmUgJHN1YnJvdXRpbmUgJGZpbGVuYW1lwrs7IMSJaSB0aXUga3JvbWluZm9ybW9cbiIKKyIgICAgU2UgRVNQUklNTyBtYWxlc3RhcywgbGl2ZXJ1IMKrJGxpbmUgJGZpbGVuYW1lwrsuICBTZSBFU1BSSU1PXG4iCisiICAgIMSJZWVzdGFzLCBsaXZlcnUgwqskbGluZSAkc3Vicm91dGluZSAkZmlsZW5hbWXCuzsgxIlpIHRpdSBrcm9taW5mb3Jtb1xuIgogIiAgICB1emVibGFzIHBvciB2aWRpZ2kgbGEgdm9rLXN0YWtvbi5cbiIKICJcbiIKLSIgICAgTGEgdmFsb3JvIGRlIEVYUFIgaW5kaWthcywga2lvbSBkYSB2b2trYWRyb2ogcmV0cm9pcmkgZGlzZGUgbGFcbiIKLSIgICAga3VyYW50YTsgbGEgcGludGEga2Fkcm8gaGF2YXMgbGEgbnVtZXJvbiAwLiIKKyIgICAgTGEgdmFsb3JvIGRlIEVTUFJJTU8gaW5kaWthcywga2lvbSBkYSB2b2trYWRyb2ogcmV0cm9pcmkgZGlzZGUgbGFcbiIKKyIgICAga3VyYW50YTsgbGEgcGludGEga2Fkcm8gaGF2YXMgbGEgbnVtZXJvbiAwLlxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIMScaSBlc3RhcyAwLCBrb25kacSJZSBrZSBsYSDFnWVsbyBwbGVudW1hcyDFnWVsZnVua2Npb24ga2FqIGxhIEVTUFJJTU9cbiIKKyIgICAgZXN0YXMgdmFsaWRhLiIKIAorIyBjZDoKICM6IGJ1aWx0aW5zLmM6MzgzCi0jLCBmdXp6eQogbXNnaWQgIiIKICJDaGFuZ2UgdGhlIHNoZWxsIHdvcmtpbmcgZGlyZWN0b3J5LlxuIgogIiAgICBcbiIKQEAgLTI0NzcsMTkgKzI2OTEsMzEgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKLSJMYSBrdXJhbnRhIGRvc2llcnVqbyBlc3R1IGRpciBhxa0sIHNlIGRpciBtYWxlc3RhcywgbGEgdmFsb3JvXG4iCi0iICAgIGRlIGxhIHZhcmlhYmxvICRIT01FLiBMYSB2YXJpYWJsbyAkQ0RQQVRIIGRpZmluYXMgbGEgc2VyxIl2b2pvblxuIgotIiAgICBwb3IgbGEgZG9zaWVydWpvIGVudGVuYW50YSBkaXItb24uICBFbiAkQ0RQQVRILCBkdXB1bmt0byAg4oCeOuKAn1xuIgotIiAgICBhcGFydGlnYXMgYWx0ZXJuYXRpdmFqbiBkb3NpZXJ1am9qbiwgdmFrdWEgZG9zaWVybm9tbyBlZ2FsYXMgbGFcbiIKLSIgICAga3VyYW50YW4gKHQuZS4g4oCeLuKAnykuICBTZSBkaXIga29tZW5jacSdYXMgcGVyIOKAni/igJ8sIGxhIHZhcmlhYmxvXG4iCi0iICAgICRDRFBBVEggbmUgZXN0YXMgdXphdGEuICBTZSBsYSBkb3NpZXJ1am8gbmUgdHJvdmnEnWFzLCBrYWogbGFcbiIKLSIgICAgxZ1lbGEgb3BjaW8gIOKAnmNkYWJsZV92YXJz4oCfICBlc3RhcyDFnWFsdGl0YSwgbGEgdm9ydG8gZXN0YXNcbiIKLSIgICAgaW50ZXJwcmV0YXRhIGtpZWwgdmFyaWFibG8uICBTZSBsYSB2YXJpYWJsbyBoYXZhcyB2YWxvcm9uLFxuIgotIiAgICBwbGVudW1pxJ1hcyAg4oCeY2TigJ8gIGFsIHRpdSB2YWxvcm8uXG4iCi0iICAgIExhIG9wY2lvICAtUCAgaWdhcyB1emkgbGEgZml6aWthbiBzdHJ1a3R1cm9uIGRlIGRvc2llcnVqb2pcbiIKLSIgICAgYW5zdGF0YcWtIGlyaSBsYcWtIHNpbWJvbGFqIGxpZ2lsb2o7IGxhIG9wY2lvICAtTCAgaWdhcyBzZWt2aVxuIgotIiAgICBzaW1ib2xham4gbGlnaWxvam4uIgorIsWcYW7EnXUgbGEga3VyYW50YW4gbGFib3JhbiBkb3NpZXJ1am9uIGRlIGxhIMWdZWxvLlxuIgorIlxuIgorIiAgICBMYSBrdXJhbnRhIGRvc2llcnVqbyBpxJ11IGRpciBhxa0sIHNlIGRpciBtYWxlc3RhcywgbGEgdmFsb3JvXG4iCisiICAgIGRlIGxhIHZhcmlhYmxvICRIT01FLlxuIgorIlxuIgorIiAgICBMYSB2YXJpYWJsbyAkQ0RQQVRIIGRpZmluYXMgbGEgc2VyxIl2b2pvbiBwb3IgbGEgZG9zaWVydWpvXG4iCisiICAgIGVudGVuYW50YSBkaXItb24uICBFbiAkQ0RQQVRILCBkdXB1bmt0byAg4oCeOuKAnyBhcGFydGlnYXMgYWx0ZXJuYXRpdmFqblxuIgorIiAgICBkb3NpZXJ1am9qbiwgdmFrdWEgZG9zaWVybm9tbyBlZ2FsYXMgbGEga3VyYW50YW4gKHQuZS4g4oCeLuKAnykuICBTZSBkaXJcbiIKKyIgICAga29tZW5jacSdYXMgcGVyIOKAni/igJ8sIGxhIHZhcmlhYmxvICRDRFBBVEggbmUgZXN0YXMgdXphdGEuXG4iCisiXG4iCisiICAgIFNlIGxhIGRvc2llcnVqbyBuZSB0cm92acSdYXMsIGthaiBsYSDFnWVsYSBvcGNpbyDigJ5jZGFibGVfdmFyc+KAnyBlc3Rhc1xuIgorIiAgICDFnWFsdGl0YSwgbGEgdm9ydG8gZXN0YXMgaW50ZXJwcmV0YXRhIGtpZWwgdmFyaWFibG8uICBTZSBsYVxuIgorIiAgICB2YXJpYWJsbyBoYXZhcyB2YWxvcm9uLCBwbGVudW1pxJ1hcyDigJ5jZOKAnyBhbCB0aXUgdmFsb3JvLlxuIgorIlxuIgorIiAgICBPcGNpb2o6XG4iCisiICAgIC1MXHRzZWt2dSBzaW1ib2xham4gbGlnaWxvam4uXG4iCisiICAgIC1QXHR1enUgbGEgZml6aWthbiBzdHJ1a3R1cm9uIGRlIGRvc2llcnVqb2ogc2VuIGlyaSBsYcWtXG4iCisiXHRzaW1ib2xhaiBsaWdpbG9qXG4iCisiXG4iCisiICAgIERlZmHFrWx0ZSBsYSBzaW1ib2xhaiBsaWdpbG9qIGVzdGFzIHNla3ZhdGFqLCBrdmF6YcWtIOKAni1M4oCfIMSJZWVzdHVzLlxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIMScaSBlc3RhcyAwLCBzZSBsYSBkb3NpZXJ1asWdYW7EnW8gc3VrY2VzaXM7IG5lbnVsbyBhbGlva2F6ZS4iCiAKKyMgcHdkIFstTFBdCiAjOiBidWlsdGlucy5jOjQxMQogbXNnaWQgIiIKICJQcmludCB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKQEAgLTI1MDUsOSArMjczMSwyMSBAQAogIiAgICBSZXR1cm5zIDAgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIHRoZSBjdXJyZW50IGRpcmVjdG9yeVxuIgogIiAgICBjYW5ub3QgYmUgcmVhZC4iCiBtc2dzdHIgIiIKKyJFbGlndSBsYSBub21vbiBkZSBrdXJhbnRhIGxhYm9yYSBkb3NpZXJ1am9cbiIKKyJcbiIKKyIgICAgT3BjaW9qOlxuIgorIiAgICAtTCAgZWxpZ3UgbGEgdmFsb3JvbiBkZSAkUFdELCBzZSDEnWkgaW5kaWthcyBsYSBrdXJhbnRhbiBsYWJvcmFuXG4iCisiICAgICAgICBkb3NpZXJ1am9uXG4iCisiICAgIC1QICBlbGlndSBsYSBub21vbiBkZSBsYSBmaXppa2EgZG9zaWVydWpvLCBzZW4gZXZlbnR1YWxhaiBzaW1ib2xhalxuIgorIiAgICAgICAgbGlnaWxvalxuIgorIlxuIgorIiAgICBEZWZhxa1sdGUg4oCecHdk4oCfIGtvbmR1dGFzIHRpZWwsIGtpZWwga3VuIGxhIG9wY2lvIOKAni1M4oCfLlxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIDAsIGtyb20gc2UgYXBlcmFzIG1pc2Egb3BjaW8gYcWtIGxhIGt1cmFudGEgZG9zaWVydWpvIGVzdGFzXG4iCisiICAgIG5lbGVnZWJsYS4iCiAKICM6IGJ1aWx0aW5zLmM6NDI4Ci0jLCBmdXp6eQogbXNnaWQgIiIKICJOdWxsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjUxNSw4ICsyNzUzLDE1IEBACiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKLW1zZ3N0ciAiU2VuZWZpa2E6IExhIGtvbWFuZG8gbmVuaW9uIGZhcmFzLiBFbGlyc3RhdG8gMCBlc3RhcyBsaXZlcmF0YS4iCittc2dzdHIgIiIKKyJNYWxwbGVuYSBvcmRvbm9cbiIKKyJcbiIKKyIgICAgU2VuZWZpa2E6IExhIGtvbWFuZG8gbmVuaW9uIGZhcmFzLlxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIMSIaWFtIHN1a2Nlc2EuIgogCisjIHRydWUKICM6IGJ1aWx0aW5zLmM6NDM5CiBtc2dpZCAiIgogIlJldHVybiBhIHN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgpAQCAtMjUyNCwxNiArMjc2OSwyNiBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgorIkxpdmVydSBzdWtjZXNhbiByZXp1bHRvblxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIMSIaWFtIHN1a2Nlc2EuIgogCisjIGZhbHNlOgogIzogYnVpbHRpbnMuYzo0NDgKLSMsIGZ1enp5CiBtc2dpZCAiIgogIlJldHVybiBhbiB1bnN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIEFsd2F5cyBmYWlscy4iCi1tc2dzdHIgIkxpdmVydSBtYWxzdWtjZXNhbiByZXp1bHRvbi4iCittc2dzdHIgIiIKKyJMaXZlcnUgZmlhc2tvbi5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICDEiGlhbSBtYWxzdWtjZXNhLiIKIAorIyBjb21tYW5kIFstcFZ2XSBjb21tYW5kIFthcmcgLi4uXQorIyBjb21tYW5kIFstcFZ2XSBLT01BTkRPIFtBUkcgLi4uXQogIzogYnVpbHRpbnMuYzo0NTcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBhIHNpbXBsZSBjb21tYW5kIG9yIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZHMuXG4iCkBAIC0yNTUyLDEwICsyODA3LDI1IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQsIG9yIGZhaWx1cmUgaWYgQ09NTUFORCBpcyBub3QgZm91bmQuIgogbXNnc3RyICIiCisiUGxlbnVtdSBzaW1wbGFuIGtvbWFuZG9uIGHFrSB2aWRpZ3UgaW5mb3Jtb2puIHByaSBrb21hbmRvalxuIgorIlxuIgorIiAgICBQbGVudW11IEtPTUFORE9uIGt1biBBUkdvaiBzZW4gYXRlbnRpIGV2ZW50dWFsYWpuIMWdZWxmdW5rY2lvam5cbiIKKyIgICAgc2Ftbm9tYWpuOyBhxa0gdmlkaWd1IGluZm9ybW9qbiBwcmkgaW5kaWtpdGFqIEtPTUFORE9qLiAgVXplYmxhc1xuIgorIiAgICBwb3Igdm9raSBrb21hbmRvam4gZGUgZGlza28gbWFsZ3Jhxa0gbGEgZWt6aXN0byBkZSBzYW1ub21halxuIgorIiAgICBmdW5rY2lvai5cbiIKKyJcbiIKKyIgICAgT3BjaW9qOlxuIgorIiAgICAtcCAgVXp1IGxhIGRlZmHFrWx0YW4gdmFsb3JvbiBkZSBsYSBkZSBsYSB2YXJpYWJsbyAkUEFUSCAodGlvXG4iCisiXHRlYmxpZ2FzIHRyb3ZpIMSJaXVqbiBub3JtYWpuIHV0aWxhxLVvam4pXG4iCisiICAgIC12XHRFbGlndSBrb21hbmRvcHJpc2tyaWJvbiBsYcWtIGxhIG1hbmllcm8gZGUgbGEgcHJpbWl0aXZhxLVvIOKAnnR5cGXigJ9cbiIKKyIgICAgLVZcdEVsaWd1IHBsaSBkZXRhbGFuIHByaXNrcmlib24gZGUgS09NQU5ET1xuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFRpdSBkZSBLT01BTkRPOyBhxa0gbWFsc3VrY2Vzbywgc2UgS09NQU5ETyBuZSB0cm92ZWJsYXMuIgogCiAjIGRlY2xhcmUgWy1hZkZpcnR4XSBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uXQorIyBkZWNsYXJlIFstYUFmRmlscnR1eF0gWy1wXSBbTk9NT1s9VkFMT1JPXSAuLi5dCiAjOiBidWlsdGlucy5jOjQ3NgotIywgZnV6enkKIG1zZ2lkICIiCiAiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKICIgICAgXG4iCkBAIC0yNTkwLDM4ICsyODYwLDUwIEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKLSJEZWtsYXJ1IHZhcmlhYmxvam4gYcWtIHZhbG9yaXp1IGlsaW4gcGVyIGF0cmlidXRvai4gIFNlIG5vbW9qIG5hbWVcbiIKLSIgICAgbWFua2FzLCBhbnN0YXRhxa1lIGVsaWd1IGxhIHZhbG9yb24gZGUgbGEgdmFyaWFibG9qLiAgTGEgb3BjaW8gLXBcbiIKLSIgICAgZWxpZ2FzIGxhIGF0cmlidXRvam4ga2FqIGxhIHZhbG9yb2puIGRlIMSJaXUgbm9tbyBuYW1lLlxuIgorIkRpZmludSB2YWxvcm9qbiBhxa0gYXRyaWJ1dG9qbiBkZSB2YXJpYWJsb2pcbiIKICJcbiIKLSIgICAgTGEgb3BjaW9qIGVzdGFzOlxuIgorIiAgICBEZWtsYXJ1IHZhcmlhYmxvam4gYcWtIHZhbG9yaXp1IGlsaW4gcGVyIGF0cmlidXRvai5cdFNlIE5PTU9qXG4iCisiICAgIG1hbmthcywgYW5zdGF0YcWtZSBlbGlndSBsYSB2YWxvcm9uIGRlIMSJaXVqIHZhcmlhYmxvai5cbiIKICJcbiIKLSIgICAgLWEgIGZhcnUgbGEgbm9tb2puIHRhYmVsb2ogKHNlIHJlYWxpZ2l0ZSlcbiIKLSIgICAgLWYgIGVsZWt0dSBudXIgaW50ZXIgZnVua2Npbm9tb2pcbiIKLSIgICAgLUYgIGVsaWd1IGZ1bmtjaW5vbW9qbiAoxIllIGVyYXJzZXLEiW8sIGFua2HFrSBsaW5pbnVtZXJvbiBrYWpcbiIKLSIgICAgICAgIGZvbnRvZG9zaWVyYW4gbm9tb24pIHNlbiBkaWZpbm9qXG4iCi0iICAgIC1pICBoYXZpZ3UgYWwgbGEgdmFyaWFibG9qIG5hbWUgbGEgYXRyaWJ1dG9uIOKAnmludGVnZXLigJ8gKGVudGplcmEpXG4iCi0iICAgIC1yICBmYXJ1IGxhIHZhcmlhYmxvam4gbmFtZSBudXJsZWdhalxuIgotIiAgICAtdCAgaGF2aWd1IGFsIGxhIG5vbW9qIG5hbWUgbGEgYXRyaWJ1dG9uIOKAnnRyYWNl4oCfIChzcHVyYXRhKVxuIgotIiAgICAteCAgZWtzcG9ydHUgbGEgdmFyaWFibG9qbiBuYW1lXG4iCisiICAgIE9wY2lvajpcbiIKKyIgICAgLWZcdGxhIGFnbyBhxa0gZWxpZ28ga29uY2VybnUgbnVyIGxhIGZ1bmtjaWFqbiBOT01Pam4ga2FqIGRpZmlub2puXG4iCisiICAgIC1GXHRlbGlndSBudXIgZnVua2Npbm9tb2puICjEiWUgZXJhcnNlcsSJbywgYW5rYcWtIGxpbmludW1lcm9uIGthalxuIgorIlx0Zm9udG9kb3NpZXJhbiBub21vbikgc2VuIGRpZmlub2pcbiIKKyIgICAgLXBcdGVsaWd1IGxhIGF0cmlidXRvam4ga2FqIGxhIHZhbG9yb2puIGRlIMSJaXUgTk9NT1xuIgorIlxuIgorIiAgICBPcGNpb2ogYXRyaWJ1dGRvbmFqOlxuIgorIiAgICAtYVx0ZmFydSBsYSBOT01Pam4gcG96aWNpYWogdGFiZWxvaiAoc2UgcmVhbGlnaXRlKVxuIgorIiAgICAtQVx0ZmFydSBsYSBOT01Pam4gYXNvY2l0YWJlbG9qIChzZSByZWFsaWdpdGUpXG4iCisiICAgIC1pXHRoYXZpZ3UgYWwgbGEgdmFyaWFibG9qIE5PTU9qIGxhIGF0cmlidXRvbiDigJ5pbnRlZ2Vy4oCfIChlbnRqZXJhKVxuIgorIiAgICAtbFx0bWludXNrbGlndSBsYSBOT01Pam4gxIllIHZhbG9yaXpvXG4iCisiICAgIC1yXHRmYXJ1IGxhIHZhcmlhYmxvam4gTk9NT2ogbnVybGVnYWpcbiIKKyIgICAgLXRcdGhhdmlndSBhbCBsYSBOT01PaiBsYSBhdHJpYnV0b24g4oCedHJhY2XigJ8gKHNwdXJhdGEpXG4iCisiICAgIC11XHRtYWp1c2tsaWd1IGxhIE5PTU9qbiDEiWUgdmFsb3Jpem9cbiIKKyIgICAgLXhcdGVrc3BvcnR1IGxhIHZhcmlhYmxvam4gTk9NT2pcbiIKKyJcbiIKKyIgICAgTGEgdXpvIGRlIOKAnivigJ8gYW5zdGF0YcWtIOKAni3igJ8gbWFsxZ1hbHRhcyBsYSBrb25jZXJuYW4gYXR0cmlidXRvbi5cbiIKKyIgICAgVXppdGUgZW4gZnVua2Npbywg4oCeZGVjbGFyZeKAnyBmYXJhcyBsYSBOT01Pam4gbG9rYWosIHNhbWtpZWwgbGFcbiIKKyIgICAga29tYW5kbyDigJ5sb2NhbOKAny5cbiIKICJcbiIKICIgICAgxIhlIHZhbG9yaXpvIGRlIHZhcmlhYmxvIGhhdmFudGEgYXRyaWJ1dG9uIOKAnmludGVnZXLigJ8gKGVudGplcmEpXG4iCiAiICAgIG9rYXphcyBhcml0bWV0aWthIGtvbXB1dGFkbyAodmQg4oCebGV04oCfKS5cbiIKICJcbiIKLSIgICAgxIhlIGVsaWdvIGRlIHZhcmlhYmxvdmFsb3JvaiwgbGEgb3BjaW8gIC1mICBpZ2FzIGVsaWdpIGZ1bmtjaW5vbW9uXG4iCi0iICAgIGZ1bmtjaWRpZmlub24uIExhIG9wY2lvIC1GIHJlZHVrdGFzIGxhIGVsaWdvbiBhbCBudXJhaiBmdW5rY2lub21vai5cbiIKLSJcbiIKLSIgICAgTGEgdXpvIGRlIOKAnivigJ8gYW5zdGF0YcWtIOKAni3igJ8gbWFsxZ1hbHRhcyBsYSBrb25jZXJuYW4gYXR0cmlidXRvbi5cbiIKLSIgICAgVXppdGUgZW4gZnVua2Npbywg4oCeZGVjbGFyZeKAnyBmYXJhcyBsYSBub21vam4gbmFtZSBsb2thaiwgc2Fta2llbCBsYVxuIgotIiAgICBrb21hbmRvIOKAnmxvY2Fs4oCfLiIKKyIgICAgRWxpaXN0YXRvOlxuIgorIiAgICBTdWtjZXNvLCBrcm9tIHNlIGFwZXJhcyBtaXNhIG9wY2lvIGHFrSBva2F6YXMgZXJhcm8uIgogCisjIHR5cGVzZXQgWy1hQWZGaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4KICM6IGJ1aWx0aW5zLmM6NTEyCiBtc2dpZCAiIgogIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCiAiICAgIFxuIgogIiAgICBPYnNvbGV0ZS4gIFNlZSBgaGVscCBkZWNsYXJlJy4iCiBtc2dzdHIgIiIKKyJEaWZpbnUgYXRyaWJ1dG9qbiBrYWogdmFsb3Jvam4gZGUgdmFyaWFibG9qXG4iCisiXG4iCisiICAgQXJrYWlrYS4gVmQgwqtoZWxwIGRlY2xhcmXCuy4iCiAKKyMgbG9jYWwgW29wdGlvbl0gbmFtZVs9dmFsdWVdIC4uLgorIyBsb2NhbCBbT1BDSU9dIE5PTU9bPVZBTE9ST10gLi4uCiAjOiBidWlsdGlucy5jOjUyMAogbXNnaWQgIiIKICJEZWZpbmUgbG9jYWwgdmFyaWFibGVzLlxuIgpAQCAtMjYzNiw5ICsyOTE4LDIwIEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuIGVycm9yIG9jY3VycyxcbiIKICIgICAgb3IgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbi4iCiBtc2dzdHIgIiIKKyJEaWZpbnUgbG9rYWpuIHZhcmlhYmxvam5cbiIKKyJcbiIKKyIgICAgS3JldSBsb2thbiB2YXJpYWJsb24gTk9NTyBrYWogxJ1pbiB2YWxvcml6dSBwZXIgVkFMT1JPLiAgT1BDSU9cbiIKKyIgICAgcG92YXMgZXN0aSBham5hIGVsIGxhIG9wY2lvaiBkZSDigJ5kZWNsYXJl4oCfLlxuIgorIlxuIgorIiAgICBMb2thaiB2YXJpYWJsb2ogdXplYmxhcyBudXIgZW5lIGRlIGZ1bmtjaW87IGlsaSBlc3RhcyB2aWRlYmxhaiBudXJcbiIKKyIgICAgZW4gbGEgZnVua2NpbyBraWUgaWxpIGVzdGFzIGRpZmluaXRhaiBrYWogZW4gxJ1pYWogaWRvai5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBTdWtjZXNvLCBrcm9tIHNlIGFwZXJhcyBtaXNhIG9wY2lvLCBva2F6YXMgZXJhcm8sIGHFrSBsYSDFnWVsbyBuZVxuIgorIiAgICBlc3RhcyBwbGVudW1hbnRhIGZ1bmtjaW9uLiIKIAorIyBlY2hvOgogIzogYnVpbHRpbnMuYzo1MzcKLSMsIGZ1enp5CiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTI2NjgsMTMgKzI5NjEsMjEgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSB3cml0ZSBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCi0iRWxpZ3UgbGEgQVJHb2puLiAgU2UgxIllZXN0YXMgbGEgb3BjaW8gIC1uLCBsYSBmaW5hIGxpbmlyb21wb1xuIgotIiAgICBuZSBva2F6YXMuXHRMYSBvcGNpbyAgLWUgIGFrdGl2aWdhcyBpbnRlcnByZXRhZG9uIGRlIGxhIHNla3ZhalxuIgotIiAgICBkZWtsaXZhxLVvajpcbiIKKyJFbGlndSBsYSBhcmd1bWVudG9qbiBlbiBsYSDEiWVmZWxpZ3Vqb25cbiIKKyJcbiIKKyIgICAgRWxpZ3UgbGEgQVJHb2puIGVuIGxhIMSJZWZlbGlndWpvbiwgcG9zdG1ldHUgbGluaXJvbXBvbi5cbiIKKyJcbiIKKyIgICAgT3BjaW9qOlxuIgorIiAgICAtblx0bmUgYWxkb251IGxhIGZpbmFuIGxpbmlyb21wb25cbiIKKyIgICAgLWVcdGFrdGl2aWd1IGludGVycHJldGFkb24gZGUgbGEgxIlpLXN1YmFqIGRla2xpdmHEtW9qXG4iCisiICAgIC1FXHRtYWxha3RpdmlndSBpbnRlcnByZXRhZG9uIGRlIGxhIMSJaS1zdWJhaiBkZWtsaXZhxLVvalxuIgorIlxuIgorIiAgICDigJ5lY2hv4oCfIHBvdmFzIGludGVycHJldGkgbGEgc2VrdmFqbiBsaXRlcm9qbiBwcmVmaWtzaXRham4gcGVyXG4iCisiICAgIGRla2xpdm8gKHBlciBsYSBzaWdubyDigJ5cXOKAnyk6XG4iCiAiXHRcXGFcdHBlcG8gKHNvbnNpZ25hbG8pXG4iCiAiXHRcXGJcdHJldHJvcGHFnW9cbiIKLSJcdFxcY1x0c2VuIGxhIGZpbmEgbGluaXJvbXBvXG4iCi0iXHRcXEVcdGVza2Fwc2lnbm9cbiIKKyJcdFxcY1x0xIllc2lndSBwbHVhbiBlbGlnb25cbiIKKyJcdFxcZVx0ZXNrYXBzaWdub1xuIgogIlx0XFxmXHRwYcSdLWF2YW5jb1xuIgogIlx0XFxuXHRsaW5pZmlub1xuIgogIlx0XFxyXHTEiWFyZXRyZXZlbm9cbiIKQEAgLTI2ODIsMTAgKzI5ODMsMTQgQEAKICJcdFxcdlx0dmVydGlrYWxhIHRhYm9cbiIKICJcdFxcXFxcdGRla2xpdm8g4oCeXFzigJ9cbiIKICJcdFxcMENDQ1x0bGEgc2lnbm8ga2llcyBBc2tpYSBrb2Rvbm8gZXN0YXMgQ0NDIChva3VtZSkuICBDQ0NcbiIKLSJcdFx0cG92YXMgZW50ZW5pIGRlIDAgxJ1pcyAzIG9rdW1ham4gY2lmZXJvam4uXG4iCi0iICAgIExhIG9wY2lvICAtRSAgYWJvbGFzIGxhIHN1cHJlIGluZGlraXRhbiBzaWduaWZvbiBkZSDEiWkgdGl1aiBzcGVjaWFsYWpcbiIKLSIgICAgc2lnbm9qLiIKKyJcdFx0cG92YXMgZW50ZW5pIDAsIDEsIDIgYcWtIDMgb2t1bWFqbiBjaWZlcm9qblxuIgorIlx0XFwweEhIXHRsYSBzaWdubyBraWVzIDgtYml0YSBrb2Rvbm8gZXN0YXMgSEggKDE2LXVtZSkuICBISFxuIgorIlx0XHRwb3ZhcyBlbnRlbmkgdW51IGHFrSBkdSAxNi11bWFqbiBjaWZlcm9qblxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFN1a2Nlc2EsIGtyb20gc2Ugb2themFzIGVsaWctZXJhcm8uIgogCisjIGVjaG8gWy1uXSBbQVJHIC4uLl0KICM6IGJ1aWx0aW5zLmM6NTcxCiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgpAQCAtMjY5OCw3ICszMDAzLDE4IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGEgd3JpdGUgZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgorIlNrcmlidSBhcmd1bWVudG9qbiBlbiBsYSDEiWVmZWxpZ3Vqb25cbiIKKyJcbiIKKyIgICAgRWxpZ3UgbGEgQVJHb2puIGVuIGxhIMSJZWZlbGlndWpvbiwgYWxkb251IGxpbmlmaW5pbG9uLlxuIgorIlxuIgorIiAgICBPcGNpbzpcbiIKKyIgICAgLW4gIE5lIGFsZG9udSBwb3N0YW4gbGluaWZpbmlsb25cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBTdWtjZXNvLCBrcm9tIHNlIG9rYXphcyBza3JpYmVyYXJvLiIKIAorIyBlbmFibGUgWy1hXSBbLWRucHNdIFstZiBmaWxlbmFtZV0gW25hbWUgLi4uXQorIyBlbmFibGUgWy1hXSBbLWRucHNdIFstZiBET1NJRVJOT01PXSBbTk9NTyAuLi5dCiAjOiBidWlsdGlucy5jOjU4NgogbXNnaWQgIiIKICJFbmFibGUgYW5kIGRpc2FibGUgc2hlbGwgYnVpbHRpbnMuXG4iCkBAIC0yNzI1LDcgKzMwNDEsMzIgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyBub3QgYSBzaGVsbCBidWlsdGluIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKKyJBa3RpdmlndSBhxa0gbWFsYWt0aXZpZ3UgcHJpbWl0aXZham4ga29tYW5kb2puXG4iCisiXG4iCisiICAgIEFrdGl2aWd1IGHFrSBtYWxha3RpdmlndSBwcmltaXRpdmFqbiDFnWVsa29tYW5kb2puLiAgVGlvIGVibGlnYXNcbiIKKyIgICAgdXppIGVrc3RlcmFuIGtvbWFuZG9uLCBzYW1ub21hbiBrdW4gcHJpbWl0aXZhxLVvLCBzZW4gaW5kaWtpXG4iCisiICAgIMSdaWFuIHBsZW5hbiB2b2pvbi5cbiIKKyJcbiIKKyIgICAgT3BjaW9qOlxuIgorIiAgICAtYVx0TGlzdGlndSBsYSBwcmltaXRpdmHEtW9qbiBpbmRpa2FudGUsIMSJdSBpbGkgZXN0YXMgYWt0aXZhalxuIgorIiAgICAtbiAgTWFsYWt0aXZpZ3UgbGEgTk9NT2puLCBhxa0gbGlzdGlndSBsYSBtYWxha3RpdmFqbiBwcmltaXRpdmHEtW9qblxuIgorIiAgICAtcFx0TGlzdGlndSBwcmltaXRpdmHEtW9qbiBlbiBmb3JtbyB0YcWtZ2EgcG9yIHJldXpvXG4iCisiICAgIC1zICBFbGlndSBudXIgbGEgwqtzcGVjaWFsYWpuwrsgxZ1lbGZ1bmtjaW9qbiBkZSBQb3NpeFxuIgorIlxuIgorIiAgICBPcGNpb2ogcmVnYW50YWogZGluYW1pa2FuIMWdYXJnYWRvbjpcbiIKKyIgICAgLWZcdMWcYXJndSBwcmltaXRpdmHEtW9uIE5PTU8gZWwgbGEgZGluYW1pa2EgYmlibGlvdGVrbyBET1NJRVJOT01PXG4iCisiICAgIC1kICBGb3JpZ3UgxZ1lbGtvbWFuZG9uIGRpbmFtaWtlIMWdYXJnaXRhbiBwZXIgIC1mXG4iCisiXG4iCisiICAgIFNlbm9wY2llOiBBa3RpdmlndSDEiWl1am4gTk9NT2puXG4iCisiXG4iCisiICAgIEVrei1lIHBvciB1emkgbGEg4oCedGVzdOKAn29uIHRyb3ZlYmxhbiBlbiAgJFBBVEggIGFuc3RhdGHFrSBsYVxuIgorIiAgICBzYW1ub21hbiBwcmltaXRpdmFuIMWdZWxrb21hbmRvbiwgZGlydTogwqtlbmFibGUgLW4gdGVzdMK7LlxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFN1a2Nlc28sIGtyb20gc2UgTk9NTyBuZSBlc3RhcyBwcmltaXRpdmEgxZ1lbGtvbWFuZG8gYcWtIG9rYXppc1xuIgorIiAgICBlcmFyby4iCiAKKyMgZXZhbCBbQVJHIC4uLl0KICM6IGJ1aWx0aW5zLmM6NjE0CiBtc2dpZCAiIgogIkV4ZWN1dGUgYXJndW1lbnRzIGFzIGEgc2hlbGwgY29tbWFuZC5cbiIKQEAgLTI3MzcsMTAgKzMwNzgsMTcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgZXhpdCBzdGF0dXMgb2YgY29tbWFuZCBvciBzdWNjZXNzIGlmIGNvbW1hbmQgaXMgbnVsbC4iCiBtc2dzdHIgIiIKKyJQbGVudW11IGFyZ3VtZW50b2puIGtpZWwgxZ1lbGtvbWFuZG9uXG4iCisiXG4iCisiICAgIEt1bm1ldHUgbGEgQVJHb2puIGVuIHVudSDEiWVub24sIHV6dSBsYSByZXp1bHRvbiBraWVsIGVuaWdhxLVvbiBwb3JcbiIKKyIgICAgbGEgxZ1lbG8ga2FqIHBsZW51bXUgbGEgbGVnaXRhKGopbiBrb21hbmRvKGopbi5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBUaXUgZGUgbGEga29tYW5kb8SJZW5vOyBzdWtjZXNvLCBzZSBsYSBrb21hbmRvIGVzdGFzIHZha3VhLiIKIAotIyBnZXRvcHRzIG9wdHN0cmluZyBuYW1lIFthcmddCisjIGdldG9wdHMgb3B0c3RyaW5nIG5hbWUgW2FyZ10gPT4KKyMgZ2V0b3B0cyBPUENJxIhFTk8gTk9NTyBbQVJHXQogIzogYnVpbHRpbnMuYzo2MjYKLSMsIGZ1enp5CiBtc2dpZCAiIgogIlBhcnNlIG9wdGlvbiBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgpAQCAtMjc4MCwzOCArMzEyOCw0NiBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgYW4gb3B0aW9uIGlzIGZvdW5kOyBmYWlscyBpZiB0aGUgZW5kIG9mIG9wdGlvbnMgaXNcbiIKICIgICAgZW5jb3VudGVyZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgotIkxhIGZ1bmtjaW9uIOKAnmdldG9wdHPigJ8gdXphcyDFnWVscHJvY2VkdXJvaiBwb3IgYW5hbGl6aSBwb3ppY2lham5cbiIKLSIgICAgcGFyYW1ldHJvam4uXG4iCisiQW5hbGl6dSBvcGNpYWpuIGFyZ3VtZW50b2puXG4iCiAiXG4iCi0iICAgIExhIGFyZ3VtZW50byBvcHRzdHJpbmcgZW50ZW5hcyBsYSByZWtvbmVuZGFqbiBvcGNpbGl0ZXJvam47IHNlXG4iCi0iICAgIGxpdGVyb24gc2VrdmFzIGR1cHVua3RvLCBsYSBvcGNpbyBwb3N0dWxhcyBhcmd1bWVudG9uLCBkZSDEnWlcbiIKLSIgICAgYXBhcnRpZ2VuZGFuIHBlciBzcGFjZXRvLlxuIgorIiAgICBMYSBmdW5rY2lvbiDigJ5nZXRvcHRz4oCfIHV6YXMgxZ1lbHByb2NlZHVyb2ogcG9yIGFuYWxpemkgb3BjaWZvcm1ham5cbiIKKyIgICAgbnVtZXJwYXJhbWV0cm9qbi5cbiIKKyJcbiIKKyIgICAgTGEgYXJndW1lbnRvIE9QQ0nEiEVOTyBlbnRlbmFzIGxhIHJla29uZW5kYWpuIG9wY2lsaXRlcm9qbjsgc2VcbiIKKyIgICAgbGl0ZXJvbiBzZWt2YXMgZHVwdW5rdG8sIGxhIG9wY2lvIHBvc3R1bGFzIGFyZ3VtZW50b24sIGRpc2RlIMSdaVxuIgorIiAgICBhcGFydGlnZW5kYW4gcGVyIGJsYW5rYSBzcGFjby5cbiIKICJcbiIKICIgICAgxIhlIMSJaXUgdm9rbyDigJ5nZXRvcHRz4oCfIGxpdmVyb3MgbGEgdmljYW4gb3BjaW9uIGVuIGxhIMWdZWx2YXJpYWJsb25cbiIKLSIgICAgJG5hbWUsIHZhbG9yaXphbnRlIGxhIHZhcmlhYmxvbiBzZSDEnWkgbmUgZWt6aXN0YXMsIGthaiBsYSBpbmRpY29uXG4iCisiICAgICROT01PIChlc3RpZ2FudGUgbGEgdmFyaWFibG9uIHNlIMSdaSBuZSBla3ppc3Rhcyk7IGthaiBsYSBpbmRpY29uXG4iCiAiICAgIGRlIGxhIHNla3ZlIHRyYWt0b3RhIGFyZ3VtZW50byBlbiBsYSDFnWVsdmFyaWFibG9uIE9QVElORC4gIE9QVElORFxuIgotIiAgICByaWNldmFzIGxhIGtvbWVuY2FuIHZhbG9yb24gMSDEiWUgxIlpdSB2b2tvIGRlIGxhIMWdZWxvIGHFrSDFnWVsYSBza3JpcHRvLlxuIgotIiAgICBLaWFtIG9wY2lvIGJlem9uYXMgYXJndW1lbnRvbiwgIOKAnmdldG9wdHPigJ8gIGxpdmVyYXMgdGl1biBhcmd1bWVudG9uXG4iCi0iICAgIGVuIGxhIMWdZWx2YXJpYWJsb24gIE9QVEFSRy5cbiIKKyIgICAgcmljZXZhcyBsYSBrb21lbmNhbiB2YWxvcm9uICAxICDEiWUgxIlpdSB2b2tvIGRlIGxhIMWdZWxvIGHFrSDFnWVsYVxuIgorIiAgICBza3JpcHRvLiAgS2lhbSBvcGNpbyBiZXpvbmFzIGFyZ3VtZW50b24sIOKAnmdldG9wdHPigJ8gbGl2ZXJhcyB0aXVuXG4iCisiICAgIGFyZ3VtZW50b24gZW4gbGEgxZ1lbHZhcmlhYmxvbiAgT1BUQVJHLlxuIgogIlxuIgotIiAgICBMYSBmdW5rY2lvIOKAnmdldG9wdHPigJ8gcmFwb3J0YXMgcHJpIGVyYXJvaiBkdW1hbmllcmUuIFNlIGxhIHVudWEgc2lnbm9cbiIKLSIgICAgZGUgb3B0c3RyaW5nIGVzdGFzIGR1cHVua3RvLCAg4oCeZ2V0b3B0c+KAnyAgcHJpc2lsZW50YXMgZXJhcm9qbi4gRW5cbiIKLSIgICAgdGl1IHJlxJ1pbW8sIG5lbmlhIGVyYXJtZXNhxJ1vIGVzdGFzIGVsaWdhdGEuIFNlIHRyb3ZpxJ1hcyBtaXNhIG9wY2lvLFxuIgotIiAgICDigJ5nZXRvcHRz4oCfICBtZXRhcyBsYSB0cm92aXRhbiBvcGNpbGl0ZXJvbiBlbiAgT1BUQVJHLiAgU2UgbWFua2FzXG4iCi0iICAgIGJlem9uYXRhIGFyZ3VtZW50bywgbGEgxZ1lbHZhcmlhYmxvICBOT01PICByaWNldmFzIGxhIHZhbG9yb24gICc6JyxcbiIKLSIgICAgbGEgdmFyaWFibG8gT1BUQVJHLCAgbGEgdHJvdml0YW4gb3BjaW9uLiBTZSDigJ5nZXRvcHRz4oCfIG5lIGVzdGFzXG4iCi0iICAgIGVuIHNpbGVudGEgcmXEnWltbyBrYWogdHJvdmFzIG1pc2FuIG9wY2lvbiwgdGlhbSBuYW1lIHJpY2V2YXMgbGFcbiIKLSIgICAgdmFsb3JvbiAnPycga2FqIE9QVEFSRyBzZW52YWxvcmnEnWFzLiBTZSBtYW5rYXMgYmV6b25hdGEgb3BjaW8sXG4iCi0iICAgIE5PTU8gcmljZXZhcyBsYSB2YWxvcm9uICc/JywgT1BUQVJHIHNlbnZhbG9yacSdYXMga2FqIGVyYXJtZXNhxJ1vXG4iCi0iICAgIGVzdGFzIGVsaWdhdGEuXG4iCisiICAgIExhIGZ1bmtjaW8g4oCeZ2V0b3B0c+KAnyByYXBvcnRhcyBwcmkgZXJhcm9qIGR1bWFuaWVyZS4gU2UgbGEgdW51YVxuIgorIiAgICBzaWdubyBkZSBPUENJxIhFTk8gZXN0YXMgZHVwdW5rdG8sICDigJ5nZXRvcHRz4oCfICBwcmlzaWxlbnRhc1xuIgorIiAgICBlcmFyb2puLiAgRW4gdGl1IHJlxJ1pbW8sIG5lbmlhIGVyYXJtZXNhxJ1vIGVzdGFzIGVsaWdhdGEuXG4iCisiICAgIFJlbmtvbnRpbnRlIG1pc2FuIG9wY2lvbiwg4oCeZ2V0b3B0c+KAnyBtZXRhcyBsYSB0cm92aXRhbiBvcGNpbGl0ZXJvblxuIgorIiAgICBlbiAgT1BUQVJHLiAgU2UgbWFua2FzIGJlem9uYXRhIGFyZ3VtZW50bywgbGEgxZ1lbHZhcmlhYmxvICBOT01PXG4iCisiICAgIHJpY2V2YXMgbGEgdmFsb3JvbiAgJzonLCBrYWogbGEgdmFyaWFibG8gT1BUQVJHLCAgbGEgdHJvdml0YW5cbiIKKyIgICAgb3BjaW9uLiAgU2Ug4oCeZ2V0b3B0c+KAnyBuZSBlc3RhcyBlbiBzaWxlbnRhIHJlxJ1pbW8ga2FqIHRyb3Zhc1xuIgorIiAgICBtaXNhbiBvcGNpb24sIHRpYW0gTk9NTyByaWNldmFzIGxhIHZhbG9yb24gJz8nIGthaiAgT1BUQVJHXG4iCisiICAgIHNlbnZhbG9yacSdYXMuICBTZSBtYW5rYXMgYmV6b25hdGEgb3BjaW8sIE5PTU8gcmljZXZhcyBsYVxuIgorIiAgICB2YWxvcm9uICc/JywgT1BUQVJHIHNlbnZhbG9yacSdYXMga2FqIGVyYXJtZXNhxJ1vIGVzdGFzIGVsaWdhdGEuXG4iCiAiXG4iCiAiICAgIFNlIGxhIMWdZWx2YXJpYWJsbyAgT1BURVJSICBoYXZhcyBsYSB2YWxvcm9uICAwLCAg4oCeZ2V0b3B0c+KAn1xuIgogIiAgICBtYWxha3RpdmlnYXMgbGEgZWxpZ29uIGRlIGVyYXJtZXNhxJ1vaiwgZcSJIHNlIGxhIHVudWEgc2lnbm8gZGVcbiIKLSIgICAgb3B0c3RyaW5nIG5lIGVzdGFzIGR1cHVua3RvLiAgTGEgYXByaW9yYSB2YWxvcm8gZGUgT1BURVJSIGVzdGFzIDEuXG4iCisiICAgIE9QQ0nEiEVOTyBuZSBlc3RhcyBkdXB1bmt0by4gIExhIGFwcmlvcmEgdmFsb3JvIGRlIE9QVEVSUiBlc3RhcyAxLlxuIgogIlxuIgotIiAgICBOb3JtYWxlIOKAnmdldG9wdHPigJ8gYW5hbGl6YXMgbGEgcG96aWNpYWpuIHBhcmFtZXRyb2puICgkMCAtICQ5KSwgc2VkXG4iCi0iICAgIHNlIGVzdGFzIHBsaSBkYSBhcmd1bWVudG9qLCDigJ5nZXRvcHRz4oCfIGFuc3RhdGHFrWUgYW5hbGl6YXMgaWxpbi4iCisiICAgIE5vcm1hbGUg4oCeZ2V0b3B0c+KAnyBhbmFsaXphcyBsYSBudW1lcnBhcmFtZXRyb2puICAoJDAgLSAkOSksIHNlZCBzZVxuIgorIiAgICBlc3RhcyBwbGkgZGEgYXJndW1lbnRvaiwg4oCeZ2V0b3B0c+KAnyBhbnN0YXRhxa1lIGFuYWxpemFzIGlsaW4uXG4iCisiXG4iCisiICAgIEVsaXJzdGF0bzpcbiIKKyIgICAgU3VrY2Vzbywgc2Ugb3BjaW8gZXN0YXMgdHJvdml0YTsgbWFsc3VrY2Vzbywgc2UgcmVua29udGnEnWlzXG4iCisiICAgIGxhIGZpbm8gZGUgbGEgb3BjaW9qIGHFrSBva2F6aXMgZXJhcm8uIgogCisjIGV4ZWMgWy1jbF0gWy1hIG5hbWVdIFtjb21tYW5kIFthcmd1bWVudHMgLi4uXV0gW3JlZGlyZWN0aW9uIC4uLl0KKyMgZXhlYyBbLWNsXSBbLWEgTk9NT10gW0tPTUFORE8gW0FSR1VNRU5UT0ogLi4uXV0gW0FMSURJUkVLVEFETyAuLi5dCiAjOiBidWlsdGlucy5jOjY2OAogbXNnaWQgIiIKICJSZXBsYWNlIHRoZSBzaGVsbCB3aXRoIHRoZSBnaXZlbiBjb21tYW5kLlxuIgpAQCAtMjgzNCwxOCArMzE5MCwzOSBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIENPTU1BTkQgaXMgbm90IGZvdW5kIG9yIGEgcmVkaXJlY3Rpb24gZXJyb3IgIgogIm9jY3Vycy4iCiBtc2dzdHIgIiIKKyJBbnN0YXRhxa1pZ3UgbGEgxZ1lbG9uIGplIGxhIGRvbml0YSBrb21hbmRvXG4iCisiXG4iCisiICAgIFBsZW51bXUgbGEgS09NQU5ET24sIGFuc3RhdGHFrWlnYW50ZSBsYSDFnWVsb24gamUgbGEgZG9uaXRhXG4iCisiICAgIHByb2dyYW1vLiAgTGEgQVJHVU1FTlRPaiBzZXJ2YXMga2llbCBhcmd1bWVudG9qIHBvciBLT01BTkRPLlxuIgorIiAgICBTZSBLT01BTkRPIG5lIGVzdGFzIGluZGlraXRhLCBsYSBhbGlkaXJla3RhZG9qIG9rYXp1IGVuIFxuIgorIiAgICBsYSBrdXJhbnRhIMWdZWxvLlxuIgorIlxuIgorIiAgICBPcGNpb2o6XG4iCisiICAgIC1hIE5PTU8gIFBhc2lndSBOT01PbiBhbCBLT01BTkRPIGtpZWwgbGEgYXJndW1lbnRvbiAgYXJndlswXVxuIgorIiAgICAtY1x0TGEgcGxlbnVtbyBkZSBLT01BTkRPIG9rYXp1IGVuIHZha3VhIG1lZGlvXG4iCisiICAgIC1sXHRNZXR1IG1pbnVzb24gZW4gbGEgbnVsYW4gYXJndW1lbnRvbiBwYXNpZ2F0YW4gYWwgS09NQU5ET1xuIgorIlxuIgorIiAgICBTZSBsYSBrb21hbmRvbiBuZSBlYmxhcyBwbGVudW1pIGthaiBsYSDFnWVsbyBuZSBlc3RhcyBkaWFsb2dhLCB0aWFtXG4iCisiICAgIGxhIMWdZWxvIGZpbmnEnWFzLCBrcm9tIHNlIGxhIG9wY2lvIOKAnmV4ZWNmYWls4oCfIGVzdGFzIGFrdGl2YS5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBTdWtjZXNvLCBrcm9tIHNlIEtPTUFORE8gbmUgZXN0YXMgdHJvdml0YSBhxa0gb2themlzIGVyYXJvIHByaVxuIgorIiAgICBhbGlyZWt0YWRvLiIKIAorIyBleGl0IFtuXQogIzogYnVpbHRpbnMuYzo2ODkKLSMsIGZ1enp5CiBtc2dpZCAiIgogIkV4aXQgdGhlIHNoZWxsLlxuIgogIiAgICBcbiIKICIgICAgRXhpdHMgdGhlIHNoZWxsIHdpdGggYSBzdGF0dXMgb2YgTi4gIElmIE4gaXMgb21pdHRlZCwgdGhlIGV4aXQgc3RhdHVzXG4iCiAiICAgIGlzIHRoYXQgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKLSJGb3JsYXN1IGxhIMWdZWxvbiBrdW4gZWxpcnN0YXRvIE4uICBTZSAgTiAgbWFua2FzLCBsYSBlbGlyc3RhdG8gZXN0YXNcbiIKLSIgICAgdGl1IGRlIGxhIHBsZWogxLV1c2UgcGxlbnVtaXRhIGtvbWFuZG8uIgorIkZvcmxhc3UgbGEgxZ1lbG9uXG4iCisiXG4iCisiICAgIEZvcmxhc3UgbGEgxZ1lbG9uIGt1biBlbGlyc3RhdG8gTi4gIFNlICBOICBtYW5rYXMsIGxhIGVsaXJzdGF0b1xuIgorIiAgICBlc3RhcyB0aXUgZGUgbGEgcGxlaiDEtXVzZSBwbGVudW1pdGEga29tYW5kby4iCiAKKyMgbG9nb3V0IFtOXQogIzogYnVpbHRpbnMuYzo2OTgKIG1zZ2lkICIiCiAiRXhpdCBhIGxvZ2luIHNoZWxsLlxuIgpAQCAtMjg1NCwxMSArMzIzMSwxNiBAQAogImV4ZWN1dGVkXG4iCiAiICAgIGluIGEgbG9naW4gc2hlbGwuIgogbXNnc3RyICIiCisiQWRpYcWtLCBzYWx1dGEgxZ1lbG8hXG4iCisiXG4iCisiICAgIEVsaXJ1IGVsIHNhbHV0YSDFnWVsbyBrdW4gbGEgZWxpcnN0YXRvICBOLiAgTGl2ZXJ1IG1hbHN1a2Nlc29uLCBzZVxuIgorIiAgICBwbGVudW1hdGUgbmUgZW4gc2FsdXRhIMWdZWxvLiIKIAogIyBaWlo6IGZjIFstZSBlbmFtZV0gWy1ubHJdIFtmaXJzdF0gW2xhc3RdIG9yCi0jICAgICAgZmMgLXMgW3BhdD1yZXBdIFtjbWRdCisjICAgICAgZmMgLXMgW3BhdD1yZXBdIFtjb21tYW5kXSA9PgorIyBmYyBbLWUgUkVEQUtUSUxPXSBbLWxucl0gW1VOVUFdIFtMQVNUQV0gYcWtCisjIGZjIC1zIFvFnEFCTE9OTz1BTlNUXSBbS09NQU5ET10KICM6IGJ1aWx0aW5zLmM6NzA4Ci0jLCBmdXp6eQogbXNnaWQgIiIKICJEaXNwbGF5IG9yIGV4ZWN1dGUgY29tbWFuZHMgZnJvbSB0aGUgaGlzdG9yeSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTI4ODcsMjcgKzMyNjksMzMgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIG9yIHN0YXR1cyBvZiBleGVjdXRlZCBjb21tYW5kOyBub24temVybyBpZiBhbiBlcnJvciAiCiAib2NjdXJzLiIKIG1zZ3N0ciAiIgotIuKAnmZj4oCfIHNlcnZhcyBwb3IgbGlzdGlnaSBhxa0gcmVkYWt0aSBrYWogcmVwbGVudW1pIGtvbWFuZG9qbiBlbCBsYVxuIgotIiAgICBoaXN0b3JpbGlzdG8uICBmaXJzdCAga2FqICBsYXN0ICBwb3ZhcyBlc3RpIG51bWVyb2osIGluZGlrYW50YWpcbiIKLSIgICAgaW50ZXJ2YWxvbiBkYSBudW1lcm9qOyBhxa0sIHNlICBmaXJzdCAgZXN0YXMgc2lnbm/EiWVubywgxJ1pIGluZGlrYXNcbiIKKyJFbGlndSBhxa0gcGxlbnVtdSBrb21hbmRvam4gZWwgbGEgaGlzdG9yaWxpc3RvXG4iCisiXG4iCisiICAgIOKAnmZj4oCfIHNlcnZhcyBwb3IgbGlzdGlnaSBhxa0gcmVkYWt0aSBrYWogcmVwbGVudW1pIGtvbWFuZG9qbiBlbCBsYVxuIgorIiAgICBoaXN0b3JpbGlzdG8uICBVTlVBICBrYWogIExBU1RBICBwb3ZhcyBlc3RpIG51bWVyb2osIGluZGlrYW50YWpcbiIKKyIgICAgaW50ZXJ2YWxvbiBkYSBudW1lcm9qOyBhxa0sIHNlICBVTlVBICBlc3RhcyBzaWdub8SJZW5vLCDEnWkgaW5kaWthc1xuIgogIiAgICBsYSBwbGVqIMS1dXNhbiBrb21hbmRvbiBrb21lbmNpxJ1hbnRhbiBwZXIgdGl1IHNpZ25vxIllbm8uXG4iCiAiXG4iCisiICAgIE9wY2lvajpcbiIKICIgICAgLWUgUkVEQUtUSUxPXHRsYSB1em90YSByZWRha3RpbG8uICBEZWZhxa1sdGUgRkNFRElULCBwb3N0ZVxuIgotIlx0RURJVE9SLCBwb3N0ZSDigJ52aeKAny5cbiIKLSIgICAgLWxcdG51ciBlbGlndSBsYSBsaW5pb2puIHNlbiByZWRha3RpIGlsaW4uXG4iCi0iICAgIC1uXHRlbGlndSBudXIgbGEgbGluaW9qbiAoc2VubnVtZXJlKS5cbiIKKyJcdEVESVRPUiwgcG9zdGUg4oCedmnigJ9cbiIKKyIgICAgLWxcdG51ciBlbGlndSBsYSBsaW5pb2puIHNlbiByZWRha3RpIGlsaW5cbiIKKyIgICAgLW5cdGVsaWd1IHNlbm51bWVyZSAobnVyIGxhIGxpbmlvam4pXG4iCiAiICAgIC1yXHRpbnZlcnNpZ3UgbGEgb3Jkb24gZGUgbGEgbGluaW9qIChrb21lbmN1IHBlciBsYSBwbGVqIMS1dXNhaikuXG4iCiAiXG4iCi0iICAgIFBlciDCq2ZjIC1zIFvFnEFCTE9OTz1BTlNUQVRBxaxBxLRPIC4uLl0gW0tPTUFORE9dwrsgbGEga29tYW5kbyBlc3Rhc1xuIgotIiAgICByZXBsZW51bW90YSBwb3N0IGxhIGFuc3RhdGHFrWlnbyBkZSDEiWl1IGFwZXJvIGRlIMWcQUJMT05PIGplIEFOU1RBVEHFrEHEtE8uXG4iCisiICAgIMKrZmMgLXMgW8WcQUJMT05PPUFOU1QgLi4uXSBbS09NQU5ET13CuyBwbGVudW1hcyBsYSBLT01BTkRPbiBlbiBraXVcbiIKKyIgICAgxIlpdSBhcGVybyBkZSDFnEFCTE9OTyBlc3RhcyBsYSBhbnN0YXRhxa1pZ2l0YSBqZSBBTlNULlxuIgogIlxuIgogIiAgICBPcG9ydHVuYSBhbGlub21vIHBvciB0aW8gZXN0YXMgwqthbGlhcyByPSdmYyAtcyfCuywgdGllbCBrZSBla3otZSBwZXJcbiIKLSIgICAgwqtyIGNjwrsgb25pIHJ1bG9zIGxhIGxhc3RhbiBrb21hbmRvbiBrb21lbmNpxJ1hbnRhbiBwZXIgwqtjY8K7LCBrYWogcGVyXG4iCi0iICAgIMKrcsK7IHJlcGxlbnVtaWdhcyBsYSDEtXVzYW4ga29tYW5kb24uIgorIiAgICDCq3IgY2PCuyBvbmkgcnVsb3MgbGEgcGxlaiDEtXVzYW4ga29tYW5kb24ga29tZW5jacSdYW50YW4gcGVyIMKrY2PCuywga2FqXG4iCisiICAgIHBlciDCq3LCuyByZXBsZW51bWlnYXMgbGEgxLV1c2FuIGtvbWFuZG9uLlxuIgorIlxuIgorIiAgICBFbGlzcnN0YXRvOlxuIgorIiAgICBTdWtjZXNvLCBhxa0gbGEgZWxpcnN0YXRvIGRlIGxhIHBsZW51bWl0YSBLT01BTkRPOyBuZW51bG8sIHNlIG9rYXppc1xuIgorIiAgICBlcmFyby4iCiAKLSMgZmcgW2pvYl9zcGVjXQorIyBmZyBbam9iX3NwZWNdID0+IGZnIFtMQUJPUklORElLT10KICM6IGJ1aWx0aW5zLmM6NzM4Ci0jLCBmdXp6eQogbXNnaWQgIiIKICJNb3ZlIGpvYiB0byB0aGUgZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0yOTE4LDEyICszMzA2LDE3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBTdGF0dXMgb2YgY29tbWFuZCBwbGFjZWQgaW4gZm9yZWdyb3VuZCwgb3IgZmFpbHVyZSBpZiBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCi0iRmFydSBsYSBsYWJvcm9uICBqb2Jfc3BlYyAgZGlhbG9nYSBrYWogbGEga3VyYW50YS4gU2UgIGpvYl9zcGVjXG4iCi0iICAgIG1hbGVzdGFzLCBhcGxpa3UgbGEgxZ1lbGFuIGtvbmNlcHRvbiBwcmkgbGEga3VyYW50YSBsYWJvcm8uIgorIk1vdnUgbGFib3JvbiBlbiBsYSBkaWFsb2dvblxuIgorIlxuIgorIiAgICBGYXJ1IGxhIGxhYm9yb24gIExBQk9SSU5ESUtPICBkaWFsb2dhIGthaiBsYSBrdXJhbnRhLiAgU2VcbiIKKyIgICAgTEFCT1JJTkRJS08gbWFsZXN0YXMsIGFwbGlrdSBsYSDFnWVsYW4ga29uY2VwdG9uIHByaSBsYSBrdXJhbnRhXG4iCisiICAgIGxhYm9yby5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBUaXUgZGUgbGEgZGlhbG9naWdpdGEga29tYW5kbzsgYcWtIG1hbHN1a2Nlc28sIHNlIG9rYXppcyBlcmFyby4iCiAKLSMgYmcgW2pvYl9zcGVjXQorIyBiZyBbam9iX3NwZWNdID0+IGJnIFtMQUJPUklORElLT10KICM6IGJ1aWx0aW5zLmM6NzUzCi0jLCBmdXp6eQogbXNnaWQgIiIKICJNb3ZlIGpvYnMgdG8gdGhlIGJhY2tncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMjkzNiwxMCArMzMyOSwxNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCi0iRm9yxZ1vdnUgbGEgbGFib3JvbiAgam9iX3NwZWMgIGVuIGxhIGZvbm9uLCBmYXJ1IMSdaW4ga3ZhemHFrSBsYW7EiWl0YVxuIgotIiAgICBrdW4g4oCeJuKAny4gIFNlIG5lbmlhIGxhYm9ybyBlc3RhcyBpbmRpa2l0YSwgYXBsaWt1IGxhIMWdZWxhbiBrb25jZXB0b25cbiIKLSIgICAgcHJpIGxhIGt1cmFudGEgbGFib3JvLiIKKyJGb3LFnW92dSBsYWJvcm9uIGZvbmVuXG4iCisiXG4iCisiICAgIEZvcsWdb3Z1IGxhIGxhYm9yb24gIExBQk9SSU5ESUtPICBlbiBsYSBmb25vbiwgZmFydSDEnWluIGt2YXphxa1cbiIKKyIgICAgbGFuxIlpdGEga3VuIOKAnibigJ8uICBTZSBuZW5pYSBsYWJvcm8gZXN0YXMgaW5kaWtpdGEsIGFwbGlrdSBsYVxuIgorIiAgICDFnWVsYW4ga29uY2VwdG9uIHByaSBsYSBrdXJhbnRhIGxhYm9yby5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxcblwiXG4iCisiICAgIFN1a2Nlc28sIGtvbmRpxIllIGtlIGxhYm9ycmVnYWRvbiBlc3RhcyDFnWFsdGl0YSBrYWogbmUgb2themlzXG4iCisiICAgIGVyYXJvLiIKIAorIyBoYXNoIFstbHJdIFstcCBWT0pOT01PXSBbLWR0XSBbTk9NTyAuLi5dCiAjOiBidWlsdGlucy5jOjc2NwogbXNnaWQgIiIKICJSZW1lbWJlciBvciBkaXNwbGF5IHByb2dyYW0gbG9jYXRpb25zLlxuIgpAQCAtMjk2Myw3ICszMzYzLDI5IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgbm90IGZvdW5kIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgorIlJlZ2lzdHJ1IGHFrSB2aWRpZ3Ugdm9qbm9tb2puIGRlIHByb2dyYW1valxuIgorIlxuIgorIiAgICBQb3IgxIlpdSBrb21hbmRvIE5PTU8sIHRyb3Z1IGthaiByZWdpc3RydSBlbiBoYWtldHRhYmVsbyBsYVxuIgorIiAgICBrb21wbGV0YW4gdm9qb24gYWwgdGllcyBwcm9ncmFtby4gIFNlIG5lbmlhIGFyZ3VtZW50byBlc3Rhc1xuIgorIiAgICBkb25pdGEsIGVsaWd1IGxhIGluZm9ybW9qbiBwcmkgbGEgbWVtb3JhdGFqIGtvbWFuZG9qLlxuIgorIlxuIgorIiAgICBPcGNpb2o6XG4iCisiICAgIC1kICBGb3JnZXN1IGxhIHJlZ2lzdHJpdGFqbiB2b2pvam4gcG9yIMSJaXUgTk9NT1xuIgorIiAgICAtbCAgRWxpZ3UgZW4gZm9ybW8gcmV1emVibGFuIHBvciBlbmlnb1xuIgorIiAgICAtcCBWT0pOT01PXHR1enUgVk9KTk9NT24ga2llbCBrb21wbGV0YW4gdm9qb24gcG9yIGxhIE5PTU9cbiIKKyIgICAgLXIgIEZvcmdlc3UgxIlpdWpuIHJlZ2lzdHJpdGFqbiB2b2pvam5cbiIKKyIgICAgLXQgIEVsaWd1IGxhIHJlZ2lzdHJpdGFqbiB2b2pvam4gcG9yIMSJaXUgTk9NTywgbWVudGFudGUgbGEgTk9NT25cbiIKKyIgICAgICAgIHRpdG9sZSBhbnRhxa0gxJ1pYSB2b2pvIHNlIGVzdGFzIHBsdXJhaiBOT01PalxuIgorIlxuIgorIiAgICBBcmd1bWVudG9qOlxuIgorIiAgICBOT01PICDEiGl1IE5PTU8gZXN0YXMgc2VyxIlvdGEgZW4gJFBBVEgga2FqIHJlZ2lzdHJvdGEgZW4gbGFcbiIKKyJcdGhha2V0dGFiZWxvIGRlIHJlZ2lzdHJpdGFqIGtvbWFuZG9qXG4iCisiXG4iCisiICAgIEVsaXJzdGF0bzpcbiIKKyIgICAgU3VrY2Vzbywga3JvbSBzZSBhcGVyYXMgbmV0cm92ZWJsYSBOT01PIGHFrSBtaXNhIG9wY2lvLiIKIAorIyBoZWxwIFstZHNdIFtwYXR0ZXJuIC4uLl0KKyMgaGVscCBbLWRzXSBbxZxBQkxPTk8gLi4uXQogIzogYnVpbHRpbnMuYzo3OTIKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBidWlsdGluIGNvbW1hbmRzLlxuIgpAQCAtMjk4NSwxMiArMzQwNywzMSBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIFBBVFRFUk4gaXMgbm90IGZvdW5kIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzICIKICJnaXZlbi4iCiBtc2dzdHIgIiIKKyJWaWRpZ3UgaW5mb3Jtb24gcHJpIHBybWl0aXZhaiBrb21hbmRvalxuIgorIlxuIgorIiAgICBFbGlndSBtYWxsb25nYW4gcmVzdW1tb24gcHJpIGxhIHByaW1pdGl2YWoga29tYW5kb2ouICBTZSDEiWVlc3Rhc1xuIgorIiAgICDFnEFCTE9OTywgZWxpZ3UgZGV0YWxhbiBoZWxwb24gcHJpIMSJaXVqIGtvbWFuZG9qIGtvbmdydWFqIGt1biBsYVxuIgorIiAgICDFnWFibG9ubzsgYWxpZSBlbGlndSBudXIgbGlzdG9uIGRhIHRlbW9qLlxuIgorIlxuIgorIiAgICBPcGNpb2o6XG4iCisiICAgIC1kXHRFbGlndSBtYWxsb25nYWpuIHByaXNrcmlib2puIGRlIMSJaXVqIHRlbW9qXG4iCisiICAgIC1tXHRWaWRpZ3UgdXptYW5pZXJvbiBlbiBsYSDigJ5tYW5wYcSdYeKAnyBzdGlsbyAoa2llbCBsYSBrb21hbmRvIOKAnm1hbuKAnylcbiIKKyIgICAgLXNcdEVsaWd1IG51ciBtYWxsb25nYW4gcmVzdW1vbiBwcmkgxIlpdSB0cm92aXRhIGtvbmdydWHEtW9cbiIKKyJcbiIKKyIgICAgQXJndW1lbnRvajpcbiIKKyIgICAgxZxBQkxPTk8gIEtvbWVuY2Egc2lnbm/EiWVubyBkZSB0ZW10aXRvbG9cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBTdWtjZXNvLCBrcm9tIHNlIG1hbmthcyBrb25ncnVhxLVvaiBwb3IgxZxBQkxPTk8sIGHFrSBhcGVyaXNcbiIKKyIgICAgbWlzYSBvcGNpby4iCiAKICMgWlpaIGhpc3RvcnkgWy1jXSBbLWQgb2Zmc2V0XSBbbl0gb3IKLSMgICAgIGhpc3RvcnkgLWF3cm4gW2ZpbGVuYW1lXSBvcgotIyAgICAgaGlzdG9yeSAtcHMgYXJnIFthcmcuLi5dCisjICAgICBoaXN0b3J5IC1hd3IgW2ZpbGVuYW1lXSBvcgorIyAgICAgaGlzdG9yeSAtcHMgYXJnIFthcmcuLi5dID0+CisjIGhpc3RvcnkgWy1jXSBbLWQgREXFnE9WT10gW25dIGHFrQorIyBoaXN0b3J5IC1hd3IgW0RPU0lFUk5PTU9dIGHFrQorIyBoaXN0b3J5IC1wcyBBUkcgW0FSRy4uLl0KICM6IGJ1aWx0aW5zLmM6ODE2Ci0jLCBmdXp6eQogbXNnaWQgIiIKICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgdGhlIGhpc3RvcnkgbGlzdC5cbiIKICIgICAgXG4iCkBAIC0zMDIzLDM3ICszNDY0LDQ3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKLSJFbGlndSBsYSBsaXN0b24gZGUgZW5pZ2l0YWoga29tYW5kb2oga3VuIGxpbmludW1lcm9qLiBMYSDFnWFuxJ1pdGFqblxuIgorIkVsaWd1IGHFrSByZWRha3R1IGxhIGhpc3RvcmlsaXN0b25cbiIKKyJcbiIKKyIgICAgRWxpZ3UgbGEgbGlzdG9uIGRlIGVuaWdpdGFqIGtvbWFuZG9qIGt1biBsaW5pbnVtZXJvai4gTGEgxZ1hbsSdaXRham5cbiIKICIgICAgbGluaW9qbiBtYXJrdSBwZXIgIOKAnirigJ8uICBLdW4gYXJndW1lbnRvICBuLCAgZWxpZ3UgbnVyIGxhIMS1dXNham5cbiIKICIgICAgbiAgbGluaW9qbi5cbiIKICJcbiIKLSIgICAgTGEgb3BjaW8gIC1jICBmb3J2acWdYXMgbGEgdHV0YW4gaGlzdG9yaW9uLiAgTGEgb3BjaW8gIC1kICBmb3J2acWdYXNcbiIKLSIgICAgbGEgbGluaW9uIGtpZXMgbnVtZXJvIGVzdGFzICBvZmZzZXQuICBMYSBvcGNpbyAgLXcgIGVibGlnYXMga29uc2VydmlcbiIKLSIgICAgbGEga3VyYW50YW4gaGlzdG9yaW9uIGVuIGxhIGhpc3Rvcmlkb3NpZXJvOyBpbnZlcnNlLCBsYSBvcGNpb1xuIgotIiAgICAtciAgaWdhcyBsZWdpIGxhIGRvc2llcm9uIGthaiBhbGRvbmkgxJ1pYW4gZW5oYXZvbiBhbCBsYSBrdXJhbnRhXG4iCi0iICAgIGhpc3RvcmlvLiAgTGEgb3BjaW8gIC1hICBhbGRvbmlnYXMgbGEgaGlzdG9yaWFqbiBsaW5pb2puIGRlIGxhXG4iCi0iICAgIGt1cmFudGEgc2VhbmNvIGFsIGxhIGhpc3Rvcmlkb3NpZXJvLiAgTGEgb3BjaW8gIC1uICBpZ2FzIGxlZ2lcbiIKLSIgICAgxIlpdWpuIGFua29yYcWtIG5lIGxlZ2l0YWpuIGxpbmlvam4gZWwgbGEgaGlzdG9yaWRvc2llcm8ga2FqIGFsZG9uaVxuIgotIiAgICBpbGluIGVuIGxhIGxpc3RvbiBkZSBsYSBoaXN0b3Jpby5cbiIKKyIgICAgT3BjaW9qOlxuIgorIiAgICAtY1x0Zm9ydmnFnXUgbGEgdHV0YW4gaGlzdG9yaW9uIChmb3JpZ3UgxIlpdWpuIGVyb2ogZWwgbGEgbGlzdG8pXG4iCisiICAgIC1kICBmb3J2acWddSBsYSBsaW5pb24ga2llcyBudW1lcm8gZXN0YXMgIERFxZxPVk9cbiIKICJcbiIKLSIgICAgU2UgZG9zaWVybm9tbyAgZmlsZW5hbWUgIMSJZWVzdGFzLCDEnWkgZXN0YXMgdXphdGEga2llbCBub21vIGRlXG4iCi0iICAgIGhpc3Rvcmlkb3NpZXJvOyBhbGllLCBzZSBsYSB2YXJpYWJsbyAkSElTVEZJTEUgaGF2YXMgdmFsb3JvbixcbiIKLSIgICAgxIlpIHRpdSBlc3RhcyB1emF0YTsgYWxpZSB1emnEnWFzIMKrfi8uYmFzaF9oaXN0b3J5wrsuXG4iCisiICAgIC1hXHRhbGRvbnUgbGEgaGlzdG9yaWxpbmlvam4gZGUgbGEga3VyYW50YSBzZWFuY28gYWwgbGFcbiIKKyIgICAgICAgIGhpc3Rvcmlkb3NpZXJvXG4iCisiICAgIC1uXHRsZWd1IMSJaXVqbiBhbmtvcmHFrSBuZSBsZWdpdGFqbiBsaW5pb2puIGVsIGxhIGhpc3Rvcmlkb3NpZXJvXG4iCisiICAgICAgICBrYWogYWxkb251IGlsaW4gZW4gbGEgaGlzdG9yaWxpc3RvblxuIgorIiAgICAtciAgbGVndSBsYSBkb3NpZXJvbiBrYWogYWxkb251IMSdaWFuIGVuaGF2b24gYWwgbGEga3VyYW50YVxuIgorIiAgICAgICAgaGlzdG9yaWxpc3RvXG4iCisiICAgIC13ICBrb25zZXJ2dSBsYSBrdXJhbnRhbiBoaXN0b3Jpb24gZW4gbGEgaGlzdG9yaWRvc2llcm9cbiIKICJcbiIKLSIgICAgTGEgb3BjaW8gIC1zICBlbsWdb3ZpZ2FzIGxhIG5lb3BjaWFqbiBhcmd1bWVudG9qbiAgYXJnICBlbiBsYVxuIgotIiAgICBoaXN0b3Jpb24ga2llbCB1bnUgYXBhcnRhbiBsaW5pb24uICBMYSBvcGNpbyAgLXAgIGlnYXMgbGEgxZ1lbG9uXG4iCi0iICAgIHBsZW51bWkgaGlzdG9yaWFuIGFuc3RhdGHFrWlnb24gcG9yIMSJaXUgZWwgbGEgYXJndW1lbnRvaiAgYXJnICBrYWpcbiIKLSIgICAgZWxpZ2kgbGEgcmV6dWx0b24gc2VuIGtvbnNlcnZpIGlvbiBlbiBsYSBoaXN0b3Jpby5cbiIKKyIgICAgLXAgIHBsZW51bXUgaGlzdG9yaWFuIGFuc3RhdGHFrWlnb24gcG9yIMSJaXUgZWwgbGEgYXJndW1lbnRvaiBBUkdcbiIKKyIgICAgICAgIGthaiBlbGlndSBsYSByZXp1bHRvbiBzZW4ga29uc2VydmkgaW9uIGVuIGxhIGhpc3RvcmlsaXN0b1xuIgorIlxuIgorIiAgICAtcyAgZW7FnW92dSBsYSBuZW9wY2lham4gYXJndW1lbnRvam4gIEFSRyAgZW4gbGEgaGlzdG9yaWxpc3RvblxuIgorIiAgICAgICAga2llbCB1bnUgYXBhcnRhbiBsaW5pb25cbiIKKyJcbiIKKyIgICAgU2UgxIllZXN0YXMgIERPU0lFUk5PTU8sICB1enUgxJ1pbiBraWVsIG5vbW9uIGRlIGhpc3Rvcmlkb3NpZXJvO1xuIgorIiAgICBhbGllLCBzZSBsYSB2YXJpYWJsbyAkSElTVEZJTEUgaGF2YXMgdmFsb3JvbiwgdXp1IMSJaSB0aXVuO1xuIgorIiAgICBhbGllIHV6dSDCq34vLmJhc2hfaGlzdG9yecK7LlxuIgogIlxuIgogIiAgICBTZSBsYSB2YXJpYWJsbyAkSElTVFRJTUVGT1JNQVQgaGF2YXMgdmFsb3JvbiBrYWogc2UgxIlpIHRpdSBuZVxuIgotIiAgICBlc3RhcyBudWxsLCB0aWFtIMSdaSBzZXJ2YXMga2llbCBmb3JtYXRhIMSJZW5vIGVuICBzdHJmdGltZSgzKSAgcG9yXG4iCisiICAgIGVzdGFzIG51bGwsIHRpYW0gxJ1pIHNlcnZ1IGtpZWwgZm9ybWF0YSDEiWVubyBlbiAgc3RyZnRpbWUoMykgIHBvclxuIgogIiAgICB0ZW1wb3N0YW1waSDEiWl1biBsaW5pb24gZW4gZWxpZ2HEtW9qIGRlIGhpc3RvcmlvLiAgQWxpb2themUgbmVuaWFcbiIKLSIgICAgdGVtcG9zdGFtcG8gZXN0YXMgZWxpZ2F0YS4iCisiICAgIHRlbXBvc3RhbXBvIGVzdHUgZWxpZ2F0YS5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBTdWtjZXNvLCBrcm9tIHNlIHJlbmtvbnRpxJ1hcyBtaXMgb3BjaW8gYcWtIG9rYXppcyBlcmFyby4iCiAKICMgWlpaIGpvYnMgWy1sbnByc10gW2pvYnNwZWMgLi4uXSBvcgotIyAgICAgam9icyAteCBjb21tYW5kIFthcmdzXQorIyAgICAgam9icyAteCBjb21tYW5kIFthcmdzXSA9PgorIyBqb2JzIFstbG5wcnNdIFtMQUJPUklORElLTyAuLi5dIGHFrQorIyBqb2JzIC14IEtPTUFORE8gW0FSR1NdCiAjOiBidWlsdGlucy5jOjg1MgotIywgZnV6enkKIG1zZ2lkICIiCiAiRGlzcGxheSBzdGF0dXMgb2Ygam9icy5cbiIKICIgICAgXG4iCkBAIC0zMDc2LDIwICszNTI3LDI5IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLlxuIgogIiAgICBJZiAteCBpcyB1c2VkLCByZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKIG1zZ3N0ciAiIgotIkVsaWd1IGxhIGxpc3RvbiBkYSBha3RpdmFqIGxhYm9yb2ouICDEiGUgbGEgb3BjaW8gIC1sICBlbGlndSwga3JvbWUsXG4iCi0iICAgIGxhIHByb2Nlem51bWVyb2puOyDEiWUgbGEgb3BjaW8gLXAgZWxpZ3UgbnVyIGxhIHByb2Nlem51bWVyb2puLlxuIgotIiAgICBMYSBvcGNpbyAtbiBpbmRpa2FzLCBrZSBudXIgbGEgcHJvY2V6b2oga2llcyBzdGF0byDFnWFuxJ1pxJ1pcyBwb3N0XG4iCi0iICAgIGxhIGxhc3RhIGluZm9ybW1lbmRvIGVzdHUgbGlzdGlnaXRhai4gIFNlIGxhYm9yaW5kaWtvICBqb2JzcGVjXG4iCi0iICAgIGVzdGFzIGRvbml0YSwgbnVyIHByaSB0aXUgbGFib3JvIGluZm9ybXUuXG4iCisiTW9udHJ1IGxhIHN0YXRvbiBkZSBsYWJvcm9qXG4iCiAiXG4iCi0iICAgIMSIZSBsYSBvcGNpb2ogIC1yICBrYWogIC1zICBpbmZvcm11LCByZXNwLiwgbnVyIHByaSBsYSBsYWJvcm9qXG4iCi0iICAgIGFrdGl2YWogKHJ1bGF0YWopIGthaiBoYWx0aWdpdGFqLiAgU2Vub3BjaWUsIGVsaWd1IGxhIHN0YXRvbiBkZVxuIgotIiAgICBsYSBha3RpdmFqIGxhYm9yb2ouXG4iCisiICAgIEVsaWd1IGxpc3RvbiBkYSBha3RpdmFqIGxhYm9yb2ouICBTZSAgTEFCT1JJTkRJS08gIGVzdGFzIGRvbml0YSxcbiIKKyIgICAgbnVyIHByaSB0aXUgbGFib3JvIGluZm9ybXUuICBTZW5vcGNpZSwgbW9udHJ1IGxhIHN0YXRvbiBkZSDEiWl1alxuIgorIiAgICBha3RpdmFqIGxhYm9yb2ouXG4iCiAiXG4iCi0iICAgIExhIG9wY2lvIC14IGxhbsSJYXMgbGEga29tYW5kb24gIGNvbW1hbmQsICBhbnRhxa1lIMWdYW7EnWludGUgxIlpdWpuXG4iCi0iICAgIGxhYm9yaW5kaWtvam4gYXBlcmFudGFqbiBlbiBsYSBhcmd1bWVudG9qICBhcmdzICBqZSBsYSBwcm9jZXpudW1lcm9cbiIKLSIgICAgZGUgbGEgxIllZnByb2Nlem8gZGUgbGEgZ3J1cG8uIgorIiAgICBPcGNpb2o6XG4iCisiICAgIC1sICBlbGlndSwga3JvbSBsYSBub3JtYWxham4gaW5mb3Jtb2puLCBhbmthxa0gbGEgcHJvY2V6bnVtZXJvam5cbiIKKyIgICAgLW4gIGxpc3RpZ3UgbnVyIGxhIHByb2Nlem9qbiBraWVzIHN0YXRvIMWdYW7EnWnEnWlzIHBvc3QgbGEgbGFzdGFcbiIKKyIgICAgICAgIGluZm9ybW1lbmRvXG4iCisiICAgIC1wICBlbGlndSBudXIgbGEgcHJvY2V6bnVtZXJvam5cbiIKKyIgICAgLXIgIGluZm9ybXUgbnVyIHByaSBsYSBsYWJvcm9qIGFrdGl2YWogKHJ1bGF0YWopXG4iCisiICAgIC1zICBpbmZvcm11IG51ciBwcmkgbGEgbGFib3JvaiBoYWx0aWdpdGFqXG4iCisiXG4iCisiICAgIExhIG9wY2lvIC14IGxhbsSJYXMgbGEgIEtPTUFORE9uLCAgYW50YcWtZSDFnWFuxJ1pbnRlIMSJaXVqblxuIgorIiAgICBsYWJvcmluZGlrb2puIGFwZXJhbnRham4gZW4gbGEgYXJndW1lbnRvaiAgQVJHUyAgamUgbGFcbiIKKyIgICAgcHJvY2V6bnVtZXJvIGRlIGxhIMSJZWZwcm9jZXpvIGRlIGxhIGdydXBvLlxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFN1a2Nlc28sIGtyb20gc2UgZW5lc3RhcyBtaXNhIG9wY2lvIGHFrSBva2F6aXMgZXJhcm8uXG4iCisiICAgIMSIZSDigJ4teOKAnywgbGEgZWxpcnN0YXRvIGRlIGxhIEtPTUFORE8uIgogCisjIGRpc293biBbLWhdIFstYXJdIFtqb2JzcGVjIC4uLl0KICM6IGJ1aWx0aW5zLmM6ODc5CiBtc2dpZCAiIgogIlJlbW92ZSBqb2JzIGZyb20gY3VycmVudCBzaGVsbC5cbiIKQEAgLTMxMDYsMTEgKzM1NjYsMjcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gb3IgSk9CU1BFQyBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKKyJGb3JpZ3UgbGFib3Jvam4gZWwgbGEga3VyYW50YSDFnWVsb1xuIgorIlxuIgorIiAgICBGb3JpZ3UgxIlpdW4gbGFib3JvbiBpbmRpa2l0YW4gcGVyIGFyZ3VtZW50byAgTEFCT1JJTkRJS08gIGVsXG4iCisiICAgIGxhIHRhYmVsbyBkZSBha3RpdmFqIGxhYm9yb2ouICBTZSBuZW5pYSBsYWJvcm8gZXN0YXMgaW5kaWtpdGEsXG4iCisiICAgIGFwbGlrdSBsYSDFnWVsYW4ga29uY2VwdG9uIHByaSBsYSBrdXJhbnRhIGxhYm9yby5cbiIKKyJcbiIKKyIgICAgT3BjaW9qOlxuIgorIiAgICAtYSAgZm9yaWd1IMSJaXVqbiBsYWJvcm9qbiBlbCBsYSBsYWJvcnRhYmVsb1xuIgorIiAgICAtaCAgYW5zdGF0YcWtIGZvcmlnaSBsYWJvcm9uIGVsIGxhIHRhYmVsbywgbWFya3UgxJ1pbiB0aWVsLCBrZSBsYVxuIgorIiAgICAgICAgc2lnbmFsbyBTSUdIVVAgbmUgZXN0dSBwbHVzZW5kaXRhIGFsIGxhIGxhYm9ybyhqKSBraWFtIHRpYW5cbiIKKyIgICAgICAgIHNpZ25hbG9uIHJpY2V2YXMgbGEgxZ1lbG9cbiIKKyIgICAgLXIgIGZvcmlndSBudXIgcnVsYXRham4gbGFib3Jvam5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBTdWtjZXNvLCBrcm9tIHNlIGVuZXN0YXMgbWlzYSBvcGNpbyBhxa0gTEFCT1JJTkRJS08uIgogCi0jIFpaWjoga2lsbCBbLXMgc2lnc3BlYyB8IC1uIHNpZ251bSB8IC1zaWdzcGVjXSBbcGlkIHwgam9iXS4uLiBvcgotIyAgICAgIGtpbGwgLWwgW3NpZ3NwZWNdCisjIFpaWjoga2lsbCBbLXMgc2lnc3BlYyB8IC1uIHNpZ251bSB8IC1zaWdzcGVjXSBwaWQgfCBqb2JzcGVjIC4uLiBvcgorIyAgICAgIGtpbGwgLWwgW3NpZ3NwZWNdID0+CisjIGtpbGwgWy1zIFNJR1NOT00gfCAtbiBTSUdOVU0gfCAtU0lHTk9NXSBQTiB8IExBQk9SSU5ESUtPIC4uLiBhxa0KKyMga2lsbCAtbCBbU0lHTk9NXQogIzogYnVpbHRpbnMuYzo4OTgKLSMsIGZ1enp5CiBtc2dpZCAiIgogIlNlbmQgYSBzaWduYWwgdG8gYSBqb2IuXG4iCiAiICAgIFxuIgpAQCAtMzEzMSwyMiArMzYwNywyOSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCi0iU2VuZHUgYWwgbGEgcHJvY2V6b2osIGluZGlraXRhaiBwZXIgc2lhIHByb2Nlem51bWVybyAgcGlkICAoYcWtXG4iCi0iICAgIHBlciBsYSBsYWJvcmluZGlrbyBqb2IpIGxhIHNpZ25hbG9uIHNpZ3NwZWMuICBTZSAgc2lnc3BlY1xuIgotIiAgICBtYWxlc3Rhcywgc2VuZHUgIFNJR1RFUk0uXG4iCisiU2VuZHUgc2lnbmFsb24gYWwgbGFib3JvXG4iCiAiXG4iCi0iICAgIExhIG9wY2lvICAtbCAgc2VydmFzIHBvciBsaXN0aWdpIHNpZ25hbG5vbW9qbjsgxJ1pbiBwb3ZhcyBzZWt2aVxuIgotIiAgICBlbnRqZXJhaiBhcmd1bWVudG9qLCBzaWduYWxudW1lcm9qLCDEiWVlc3RlIGRlIGtpdWogbnVyIGxhIGFsXG4iCi0iICAgIGlsaSByZXNwb25kYWogc2lnbmFsbm9tb2ogZXN0YXMgZWxpZ2F0YWouXG4iCisiICAgIFNlbmR1IGFsIGxhIHByb2Nlem9qLCBpbmRpa2l0YWogcGVyIHNpYSBwcm9jZXpudW1lcm8gIFBOICAoYcWtXG4iCisiICAgIHBlciBsYSBMQUJPUklORElLTykgbGEgc2lnbmFsb24gIFNJR05PTSAgYcWtICBTSUdOVU0uICBTZSBuZWtcbiIKKyIgICAgU0lHTlVNICBuZWsgIFNJR05PTSAgZW5lc3Rhcywgc2VuZHUgU0lHVEVSTS5cbiIKICJcbiIKLSIgICAga2lsbCBlc3RhcyBwcmltaXRpdmEgxZ1lbGtvbWFuZG8gcHJvIGR1IGthxa16b2o6IHVudWUsIMSdaSBlYmxpZ2FzXG4iCi0iICAgIHV6aSBsYWJvcmluZGlrb2puIGFuc3RhdGHFrSBwcm9jZXpudW1lcm9qbjsga2FqIGR1ZSwgc2UgbGFcbiIKLSIgICAgbWFrc2ltdW1hIG5vbWJybyBkZSBrcmVlYmxhaiBlc3RhcyBhdGluZ2l0YSwgbmUgbmVjZXNhcyBsYW7EiWlcbiIKLSIgICAga3JvbWFuIHByb2Nlem9uIHBvciDEiWVzaWdpIGl1biBhbGlhbi4iCisiICAgIE9wY2lvajpcbiIKKyIgICAgLXNcdFNJR05PTSBlc3RhcyBub21vIGRlIHNpZ25hbG9cbiIKKyIgICAgLW5cdFNJR05VTSBlc3RhcyBudW1lcm8gZGUgc2lnbmFsb1xuIgorIiAgICAtbCAgbGlzdGlndSBzaWduYWxub21vam47IGxhIGV2ZW50dWFsZSBzZWt2YW50YWogZW50amVyYWpcbiIKKyIgICAgICAgIGFyZ3VtZW50b2ogZXN0YXMgc2lnbmFsbnVtZXJvaiwgxIllZXN0ZSBkZSBraXVqIG51ciBsYSBhbFxuIgorIiAgICAgICAgaWxpIHJlc3BvbmRhaiBzaWduYWxub21vaiBlc3R1IGVsaWdhdGFqLlxuIgorIlxuIgorIiAgICDigJ5raWxs4oCfIGVzdGFzIHByaW1pdGl2YSDFnWVsa29tYW5kbyBwcm8gZHUga2HFrXpvajpcbiIKKyIgICAgdW51ZSwgxJ1pIGVibGlnYXMgdXppIGxhYm9yaW5kaWtvam4gYW5zdGF0YcWtIHByb2Nlem51bWVyb2puO1xuIgorIiAgICBrYWogZHVlLCBzZSBsYSBtYWtzaW11bWEgbm9tYnJvIGRlIGtyZWVibGFqIHByb2Nlem9qIGVzdGFzXG4iCisiICAgIGF0aW5naXRhLCBuZSBuZWNlc2FzIGxhbsSJaSBrcm9tYW4gcHJvY2V6b24gcG9yIMSJZXNpZ2kgaXVuIGFsaWFuLlxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFN1a2Nlc28sIGtyb20gc2UgZW5lc3RhcyBtaXNhIG9wY2lvIGHFrSBva2F6aXMgZXJhcm8uIgogCiAjIGxldCBhcmcgW2FyZyAuLi5dCiAjOiBidWlsdGlucy5jOjkyMQotIywgZnV6enkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9ucy5cbiIKICIgICAgXG4iCkBAIC0zMTkwLDE1ICszNjczLDE5IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLi4iCiBtc2dzdHIgIiIKLSLEiGl1ICBhcmcgIGVzdGFzIGtvbXB1dGVuZGEgYXJpdG1ldGlrYSBlc3ByaW1vLiBMYSBrb21wdXRhZG8gdXphc1xuIgotIiAgICBsb25nYWpuIGVudGplcm9qbiBzZW4ga29udHJvbG8gcHJpIHRyb29qOyB0YW1lbiBkaXZpZG8gcGVyICAwXG4iCisiS29tcHV0dSBhcml0bWV0aWthbiBlc3ByaW1vblxuIgorIlxuIgorIiAgICDEiGl1ICBhcmcgIGVzdGFzIGtvbXB1dGVuZGEgYXJpdG1ldGlrYSBlc3ByaW1vLiBMYSBrb21wdXRhZG8gdXphc1xuIgorIiAgICBmaWtzbG9uZ2FqbiBlbnRqZXJvam4gc2VuIGtvbnRyb2xvIHByaSB0cm9vajsgdGFtZW4gZGl2aWRvIHBlciAgMFxuIgogIiAgICBlc3RhcyBrYXB0YXRhIGthaiByYXBvcnRhdGEga2llbCBlcmFyby4gIEVuIGxhIHNla3ZhbnRhIGxpc3RvXG4iCiAiICAgIGRhIG9wZXJhY2lvaiBsYSBzYW1wcmlvcml0YXRhaiBvcGVyYWNpc2ltYm9sb2ogYXBlcmFzIGt1bmUuXG4iCi0iICAgIExhIGdydXBvaiBlc3RhcyBhcmFuxJ1pdGFqIGxhxa0gbWFsa3Jlc2tvIGRlIHByaW9yaXRhdG8uXG4iCisiICAgIExhIGdydXBvaiBlc3RhcyBhcmFuxJ1pdGFqIGxhxa0gbWFsa3Jlc2tvIGRlIGxpZ2ZvcnRvLlxuIgogIlxuIgogIlx0bm9tbysrLCBub21vLS1cdHBvc3RrcmVtZW50b2ogZGUgdmFyaWFibG9cbiIKKyJcdCsrbm9tbywgLS1ub21vXHRhbnRhxa1rcmVtZW50b2ogZGUgdmFyaWFibG9cbiIKICJcdC0sICtcdFx0dW51bG9rYWogbWludXMsIHBsdXNcbiIKICJcdCEsIH5cdFx0bG9naWthIGthaiBsYcWtYml0YSBuZWdvalxuIgorIiAgICAgICAgKiogICAgICAgICAgICAgIHBvdGVuY2lnb1xuIgogIlx0KiwgLywgJVx0XHRtdWx0aXBsaWtvLCBkaXZpZG8sIHJlc3RvXG4iCiAiXHQrLCAtXHRcdGFkaWNpbywgc3VidHJhaG9cbiIKICJcdDw8LCA+Plx0XHRsYcWtYml0YWogxZ1vdm9qIG1hbGRla3N0cmVuIGthaiBkZWtzdHJlblxuIgpAQCAtMzIxMywyMiArMzcwMCwyNSBAQAogIlx0XHRcdGtvbmRpxIlhIGVzcHJpbW9cbiIKICJcdD0sICo9LCAvPSwgJT0sXG4iCiAiXHQrPSwgLT0sIDw8PSwgPj49LFxuIgotIlx0Jj0sIF49LCB8PVx0dmFsb3Jpem9cbiIKKyJcdCY9LCBePSwgfD1cdHZhbG9yaXpvalxuIgogIlxuIgotIiAgICBMYSDFnWVsdmFyaWFibG9qIHV6ZWJsYXMga2llbCBvcGVyYW5kb2ouICBFbiBlc3ByaW1vIGxhIG5vbW9uIGRlXG4iCi0iICAgIHZhcmlhYmxvIGFuc3RhdGHFrWFzIMSdaWEgdmFsb3JvIChhbHRpcGlnaXRhIGFsIGxvbmdhIGVudGplcm8pLlxuIgorIiAgICDFnGVsdmFyaWFibG9qIHV6ZWJsYXMga2llbCBvcGVyYW5kb2ouICBFbiBlc3ByaW1vIGxhIG5vbW9uIGRlXG4iCisiICAgIHZhcmlhYmxvIGFuc3RhdGHFrWFzIMSdaWEgdmFsb3JvIChhbHRpcGlnaXRhIGFsIGZpa3Nsb25nYSBlbnRqZXJvKS5cbiIKICIgICAgUG9yIHRpYSB1em8gZW4gZXNwcmltbyB2YXJpYWJsbyBuZSBiZXpvbmFzIGhhdmkgxZ1hbHRpdGEgc2lhblxuIgotIiAgICBhdHJpYnV0b24gaW50ZWdlciAoZW50amVyYSkuXG4iCisiICAgIGF0cmlidXRvbiDigJ5pbnRlZ2Vy4oCfIChlbnRqZXJhKS5cbiIKICJcbiIKLSIgICAgTGEgb3BlcmFjaW9qIHBsZW51bWnEnWFzIGxhxa0gc2lhaiBwcmlvcml0YXRvai4gIExhIGVua3JhbXBpZ2l0YWpcbiIKLSIgICAgc3ViZXNwcmltb2ogcGxlbnVtacSdYXMgdW51ZSwga2FqIHRpbyBlYmxpZ2FzIMSJaXJrYcWtaXJpIGxhIHN1cHJlXG4iCi0iICAgIHByaXNrcmliaXRham4gcmVndWxvam4gcHJpIGxhIHByaW9yaXRhdG9qLlxuIgorIiAgICBMYSBvcGVyYWNpb2ogcGxlbnVtacSdYXMgbGHFrSBsYSBsaWdmb3J0byBkZSBzaWFqIG9wZXJhY2lzaWdub2ouICBMYVxuIgorIiAgICBlbmtyYW1waWdpdGFqIHN1YmVzcHJpbW9qIHBsZW51bWnEnWFzIHVudWUsIGthaiB0aW8gZWJsaWdhc1xuIgorIiAgICDEiWlya2HFrWlyaSBsYSBzdXByZSBwcmlza3JpYml0YWpuIHJlZ3Vsb2puIHByaSBsYSBsaWdmb3J0b2ouXG4iCiAiXG4iCisiICAgIEVsaXJzdGF0bzpcbiIKICIgICAgU2UgbGEga29tcHV0byBkZSBsYSBsYXN0YSAgYXJnICBkb25hcyAgMCwgIGxhIGtvbWFuZG8g4oCebGV04oCfXG4iCiAiICAgIGxpdmVyYXMgIDE7ICBhbGllIMSdaSBsaXZlcmFzICAwLiIKIAotIyByZWFkIFstZXJzXSBbLXUgZmRdIFstdCB0aW1lb3V0XSBbLXAgcHJvbXB0XSBbLWEgYXJyYXldIFstbiBuY2hhcnNdCi0jICAgICAgWy1kIGRlbGltXSBbbmFtZSAuLi5dCisjIHJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1wIHByb21wdF0KKyMgICAgICBbLXQgdGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dCisjIHJlYWQgWy1lcnNdIFstYSBUQUJFTE9dIFstZCBESVNJR10gWy1pIFRFS1NUT10gWy1uIE5TSUdOXSBbLXAgSU5WSVRdCisjICAgICAgWy10IFRMSU1dIFstdSBETl0gW05PTU8gLi4uXQogIzogYnVpbHRpbnMuYzo5NjYKICMsIGZ1enp5CiBtc2dpZCAiIgpAQCAtMzI1NCw3ICszNzQ0LDExIEBACiAiICAgICAgLWVcdFx0dXNlIFJlYWRsaW5lIHRvIG9idGFpbiB0aGUgbGluZSBpbiBhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgogIiAgICAgIC1pIHRleHRcdFVzZSBURVhUIGFzIHRoZSBpbml0aWFsIHRleHQgZm9yIFJlYWRsaW5lXG4iCiAiICAgICAgLW4gbmNoYXJzXHRyZXR1cm4gYWZ0ZXIgcmVhZGluZyBOQ0hBUlMgY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3YWl0aW5nXG4iCi0iICAgIFx0XHRmb3IgYSBuZXdsaW5lXG4iCisiICAgIFx0XHRmb3IgYSBuZXdsaW5lLCBidXQgaG9ub3IgYSBkZWxpbWl0ZXIgaWYgZmV3ZXIgdGhhbiBOQ0hBUlNcbiIKKyIgICAgXHRcdGNoYXJhY3RlcnMgYXJlIHJlYWQgYmVmb3JlIHRoZSBkZWxpbWl0ZXJcbiIKKyIgICAgICAtTiBuY2hhcnNcdHJldHVybiBvbmx5IGFmdGVyIHJlYWRpbmcgZXhhY3RseSBOQ0hBUlMgY2hhcmFjdGVycywgIgorInVubGVzc1xuIgorIiAgICBcdFx0RU9GIGlzIGVuY291bnRlcmVkIG9yIHJlYWQgdGltZXMgb3V0LCBpZ25vcmluZyBhbnkgZGVsaW1pdGVyXG4iCiAiICAgICAgLXAgcHJvbXB0XHRvdXRwdXQgdGhlIHN0cmluZyBQUk9NUFQgd2l0aG91dCBhIHRyYWlsaW5nIG5ld2xpbmUgYmVmb3JlXG4iCiAiICAgIFx0XHRhdHRlbXB0aW5nIHRvIHJlYWRcbiIKICIgICAgICAtclx0XHRkbyBub3QgYWxsb3cgYmFja3NsYXNoZXMgdG8gZXNjYXBlIGFueSBjaGFyYWN0ZXJzXG4iCkBAIC0zMjczLDM2ICszNzY3LDQ4IEBACiAib3V0LFxuIgogIiAgICBvciBhbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBpcyBzdXBwbGllZCBhcyB0aGUgYXJndW1lbnQgdG8gLXUuIgogbXNnc3RyICIiCi0iTGVndSB1bnUgbGluaW9uIGVsIGxhIMSJZWZlbmlndWpvLCBhxa0gZWwgbGEgZG9zaWVybyBpbmRpa2l0YVxuIgotIiAgICBwZXIgZG9zaWVybnVtZXJvIGZkLCBzZSBsYSBvcGNpbyAtdSBlc3RhcyBkb25pdGE7IGxhIHVudWFuXG4iCi0iICAgIHZvcnRvbiByaWNldnUgbGEgdW51YSBhcmd1bWVudG8gbmFtZTsgbGEgZHVhbiwgbGEgZHVhIG5hbWUga3RwO1xuIgotIiAgICBsYSBsYXN0YSBuYW1lIHJpY2V2dSDEiWl1am4gcmVzdGFudGFqbiB2b3J0b2puLiAgTnVyIGxhIHNpZ25valxuIgotIiAgICB0cm92ZWJsYWogZW4gbGEgdmFyaWFibG8gJElGUyByb2xhcyBraWVsIHZvcnRvZGlzaWdpbG9qLiAgU2VcbiIKLSIgICAgbmVuaWEgbmFtZSBlc3RhcyBkb25pdGEsIGtvbnNlcnZ1IGxhIGxlZ2l0YW4gbGluaW9uIGVuIGxhXG4iCisiTGVndSBsaW5pb24gZWwgbGEgxIllZmVuaWd1am8ga2FqIGRpc2lndSDEnWluIGVuIGthbXBvam5cbiIKKyJcbiIKKyIgICAgTGVndSB1bnUgbGluaW9uIGVsIGxhIMSJZWZlbmlndWpvLCBhxa0gZWwgbGEgZG9zaWVybyBpbmRpa2l0YVxuIgorIiAgICBwZXIgZG9zaWVybnVtZXJvIEROLCBzZSBsYSBvcGNpbyAtdSBlc3RhcyBkb25pdGEuICBMYSBsaW5pb25cbiIKKyIgICAgZGlzaWd1IGVuIGthbXBvam4sIGtpZWwgxIllIHZvcnRvZGlzaWdvLCBrYWogbGEgdW51YW4gdm9ydG9uIHJpY2V2dVxuIgorIiAgICBsYSB1bnVhIGFyZ3VtZW50byBOT01POyBsYSBkdWFuLCBsYSBkdWEgTk9NTyBrdHA7IGxhIGxhc3RhIE5PTU9cbiIKKyIgICAgcmljZXZ1IMSJaXVqbiByZXN0YW50YWpuIHZvcnRvam4uICBOdXIgbGEgc2lnbm9qIHRyb3ZlYmxhaiBlbiBsYVxuIgorIiAgICB2YXJpYWJsbyAkSUZTIHJvbGFzIGtpZWwgdm9ydG9kaXNpZ2lsb2ouXG4iCisiXG4iCisiICAgIFNlIG5lbmlhIE5PTU8gZXN0YXMgZG9uaXRhLCBrb25zZXJ2dSBsYSBsZWdpdGFuIGxpbmlvbiBlbiBsYVxuIgogIiAgICB2YXJpYWJsbyBSRVBMWS5cbiIKICJcbiIKLSIgICAgTGEgb3BjaW8gLXIgaW5kaWthcyDCq2tydWRhbiBsZWdhZG9uwrssIGtlIGxhIGRla2xpdm8g4oCeXFzigJ8gZXN0YXNcbiIKLSIgICAgb3JkaW5hcmEgc2lnbm8ga2l1IG5lIHJvbGFzIGtpZWwgZXNrYXBzaWduby5cbiIKLSIgICAgTGEgb3BjaW8gIC1kICBlbmtvbmR1a2FzIGZpbmlsb24gIGRlbGltLCAgxIllIGtpZXMgdW51YSBzaWdubyBsYVxuIgotIiAgICBsZWdhZG8gxIllc3UgKGFuc3RhdGHFrSDEiWUgbGEgbm9ybWFsYSBsaW5pZmluaWxvKS5cbiIKLSIgICAgTGEgb3BjaW8gLXAga2HFrXphcyBlbGlnb24gZGUgbGEgaW52aXTEiWVubyAgcHJvbXB0ICBzZW4gbGluaWF2YW5jb1xuIgotIiAgICBhbnRhxa0gbGEgYXRlbmRhdGEgZW5pZ28uXG4iCi0iICAgIExhIG9wY2lvICAtYSAgaWdhcyBrb25zZXJ2aSBsYSBsZWdhdGFqbiB2b3J0b2puIGVuIHNpbnNla3ZhalxuIgotIiAgICBlbGVtZW50b2ogZGUgdGFiZWxvIGFycmF5LCBrb21lbmNhbnRlIHBlciBsYSBudWxhLlxuIgotIiAgICBTZSBsYSBvcGNpbyAgLWUgIGVzdGFzIGRvbml0YSBrYWogbGEgxZ1lbG8gZXN0YXMgZGlhbG9nYSwgbGFcbiIKLSIgICAgbGluaW8gZXN0YXMgbGVnYXRhIHBlciBsYSBmdW5rY2lvIHJlYWRsaW5lKCkuXG4iCi0iICAgIFNlIGxhIG9wY2lvICAtbiAgZXN0YXMgZG9uaXRhIGt1biBhcmd1bWVudG8gbmNoYXJzIG5lIGVnYWxhIGFsIDAsXG4iCi0iICAgIHJlYWQgZmluacSdYXMgbGVnaW50ZSAgbmNoYXJzICBkYSBzaWdub2ouXG4iCi0iICAgIExhIG9wY2lvICAtcyAgc2lsZW50aWdhcyBsYSBlxKVvbiBkZSBsYSB0ZXJtaW5hbGEgZW5pZ28uXG4iCisiICAgIE9wY2lvajpcbiIKKyIgICAgLWEgVEFCRUxPXHRsYSBsZWdhdGFqbiB2b3J0b2puIGtvbnNlcnZ1IGVuIGxhIHNpbnNla3ZhaiBhbm9qIGRlXG4iCisiXHRcdFRBQkVMTywga29tZW5jYW50ZSBla2RlIGxhIGluZGljbyAwXG4iCisiICAgIC1kIERJU0lHXHRsZWd1IMSdaXMgbGEgdW51YSBzaWdubyBkZSBsYSBkaXNpZ2lsbyBESVNJRyAoYW5zdGF0YcWtXG4iCisiXHRcdGxlZ2kgxJ1pcyBsaW5pZmlubylcbiIKKyIgICAgLWVcdFx0dXp1IFJlYWRsaW5lIHBvciBha2lyaSBsYSBsaW5pb24gZW4gZGlhbG9nYSDFnWVsb1xuIgorIiAgICAtaSBURUtTVE9cdHV6dSBURUtTVE9uIGtpZWwga29tZW5jYW4gdGVrc3RvbiBwb3IgUmVhZGxpbmVcbiIKKyIgICAgLW4gTlNJR05cdMSJZXN1IGxlZ2ludGUgTlNJR04gZGEgc2lnbm9qIChhbnN0YXRhxa0gbGVnaSDEnWlzXG4iCisiXHRcdGxpbmlmaW5vKVxuIgorIiAgICAtcCBJTlZJVFx0ZWxpZ3UgZGUgbGEgaW52aXTEiWVub25cdElOVklUICBzZW4gbGluaWF2YW5jbyBhbnRhxa0gbGFcbiIKKyJcdFx0YXRlbmRhdGEgZW5pZ29cbiIKKyIgICAgLXJcdFx0bGEgZGVrbGl2byDigJ5cXOKAnyBlc3R1IG9yZGluYXJhIHNpZ25vIChuZSBlc2thcHNpZ25vKVxuIgorIiAgICAtc1x0XHRzaWxlbnRpZ3UgbGEgZcSlb24gZGUgbGEgdGVybWluYWxhIGVuaWdvXG4iCisiICAgIC10IFRMSU1cdGxhIGtvbWFuZG8gIHJlYWQgIMSJZXNpxJ11IGt1biBmaWFza2EgZWxpcnN0YXRvIHNlXG4iCisiXHRcdGtvbXBsZXRhIGxpbmlvIGRhIGVuaWdhxLVvIG5lIGVzdGFzIHJpY2V2aXRhIGR1bVx0IFRMSU1cbiIKKyJcdFx0ZGEgc2VrdW5kb2ouICBTZSBsYSB2YXJpYWJsbyAgVE1PVVQgIGhhdmFzIHZhbG9yb24sIMSJaVxuIgorIlx0XHR0aXUgZXN0YXMgdXphdGEga2llbCBkZWZhxa1sdGEgYXRlbmRvbGltby4gIFRMSU0gcG92YXNcbiIKKyJcdFx0ZXN0aSBmcmFrY2lvLiAgU2UgVExJTSBlc3RhcyAwLFx0IHJlYWQgIHN1a2Nlc2FzIG51ciBzZVxuIgorIlx0XHRsYSBlbmdhxLVvIHByZXRhcyDEiWUgbGEgaW5kaWtpdGEgZG9zaWVybnVtZXJvLiAgTGFcbiIKKyJcdFx0ZWxpcnN0YXRvIGVzdGFzIHBsaSBncmFuZGEgb2wgMTI4IHNlIGxhIGF0ZW5kb3RlbXBvXG4iCisiXHRcdGVzdGFzIGF0aW5naXRhXG4iCisiICAgIC11IEROXHRsZWd1IHBlciBsYSBkb3NpZXJudW5lcm8gRE4gYW5zdGF0YcWtIGVsIGxhIMSJZWZlbmlndWpvXG4iCiAiXG4iCi0iICAgIExhIG9wY2lvIC10IGlnYXMgbGEga29tYW5kb24gcmVhZCDEiWVzacSdaSBrdW4gZmlhc2thIGVsaXJzdGF0byBzZVxuIgotIiAgICBrb21wbGV0YSBsaW5pbyBkYSBlbmlnYcS1byBuZSBlc3RhcyByaWNldml0YSBkdW0gIHRpbWVvdXQgIGRhXG4iCi0iICAgIHNla3VuZG9qLiAgU2UgbGEgdmFyaWFibG8gIFRNT1VUICBoYXZhcyB2YWxvcm9uLCDEiWkgdGl1IGVzdGFzXG4iCi0iICAgIHV6YXRhIGtpZWwgZGVmYcWtbHRhIGF0ZW5kb2xpbW8uICBMYSBlbGlyc3RhdG8gZXN0YXMgMCwga3JvbSBzZVxuIgotIiAgICByZW5rb250acSdYXMgZG9zaWVyZmlubywgYXRlbmRvbGltbyBlc3RhcyBhdGluZ2l0YSwgYcWtIG5ldmFsaWRhXG4iCi0iICAgIGRvc2llcm51bWVybyBlc3RhcyBpbmRpa2l0YSDEiWUgLXUuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIMScaSBlc3RhcyAwLCBrcm9tIHNlIHJlbmtvbnRpxJ1hcyBkb3NpZXJmaW5vLCBhxa0gYXRlbmRvbGltbyBlc3Rhc1xuIgorIiAgICBhdGluZ2l0YSwgYcWtIC11IGluZGlrYXMgbmV2YWxpZGFuIGRvc2llcm51bWVyb24uIgogCi0jOiBidWlsdGlucy5jOjEwMDYKKyMgcmV0dXJuIFtuXQorIyByZXR1cm4gW05dCisjOiBidWlsdGlucy5jOjEwMDkKIG1zZ2lkICIiCiAiUmV0dXJuIGZyb20gYSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zMzEzLDEwICszODE5LDE4IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIE4sIG9yIGZhaWx1cmUgaWYgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbiBvciBzY3JpcHQuIgogbXNnc3RyICIiCisiUmV2ZW51IGVsIMWdZWxmdW5rY2lvXG4iCisiXG4iCisiICAgIElnYXMgbGEgZnVua2Npb24gYcWtIHB1bmt0ZSB2b2tpdGFuICjigJ4u4oCfLCDigJ5zb3VyY2XigJ8pIHNrcmlwdG9uIGZpbmnEnWlcbiIKKyIgICAga2FqIGxpdmVyaSBsYSBkb25pdGFuIHZhbG9yb24gIE4gIGtpZWwgZWxpcnN0YXRvbi4gIFNlICBOICBtYW5rYXMsXG4iCisiICAgIGxhIGVsaXJzdGF0byBlc3RhcyB0aXUgZGUgbGEgxLV1c2Ega29tYW5kby5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBOLCBhxa0gbWFsc3VrY2VzbyBzZSBsYSDFnWVsbyBuZSBwbGVudW1hcyDFnWVsZnVua2Npb24gYcWtIHNrcmlwdG9uLiIKIAotIyBzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb25dIFthcmcgLi4uXQotIzogYnVpbHRpbnMuYzoxMDE5Ci0jLCBmdXp6eQorIyBzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gW2FyZyAuLi5dCisjIHNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIE9QQ0lOT01PXSBbQVJHIC4uLl0KKyM6IGJ1aWx0aW5zLmM6MTAyMgogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zMzk3LDc5ICszOTExLDkwIEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgotIi1hXHRNYXJrdSBla3Nwb3J0ZW5kYWogbGEgdmFyaWFibG9qbiDFnWFuxJ1pdGFqbiBhxa0ga3JlaXRham4uXG4iCi0iICAgIC1iXHRUdWogc2NpaWd1IHByaSBmaW5pxJ1vIGRlIGZvbmFqIGxhYm9yb2ouXG4iCi0iICAgIC1lXHRFbGlydSB0dWogc2UgaXUga29tYW5kbyBmaW5pxJ1pcyBrdW4gZWxpcnN0YXRvIGFsaWEgb2wgMC5cbiIKLSIgICAgLWZcdE5lIG1hbHZvbHZ1IMS1b2tlcm9qbiBlbiBkb3NpZXJub21vai5cbiIKLSIgICAgLWhcdFJlZ2lzdHJ1IGVuIGhha2V0dGFiZWxvIGxhIHNpdHVvbiBkZSBrb21hbmRvaiBzZXLEiWF0YWouXG4iCisiRG9udSBhxa0gZm9ycHJlbnUgdmFsb3Jvam4gZGUgxZ1lbHZhcmlhYmxvaiBrYWogbnVtZXJwYXJhbWV0cm9qLlxuIgorIlxuIgorIiAgICDFnGFuxJ11IGxhIHZhbG9yb24gZGUgxZ1lbGF0cmlidXRvaiBrYWogbnVtZXJwYXJhbWV0cm9qLCBhxa0gdmlkaWd1IGxhXG4iCisiICAgIG5vbW9qbiBrYWogdmFsb3Jvam4gZGUgxZ1lbHZhcmlhYmxvai5cbiIKKyJcbiIKKyIgICAgT3BjaW9qOlxuIgorIiAgICAtYVx0TWFya3UgZWtzcG9ydGVuZGFqIGxhIHZhcmlhYmxvam4gxZ1hbsSdaXRham4gYcWtIGtyZWl0YWpuXG4iCisiICAgIC1iXHRUdWogc2NpaWd1IHByaSBmaW5pxJ1vIGRlIGZvbmFqIGxhYm9yb2pcbiIKKyIgICAgLWVcdEVsaXJ1IHR1aiBzZSBham5hIGtvbWFuZG8gZmluacSdaXMga3VuIGVsaXJzdGF0byBhbGlhIG9sIDBcbiIKKyIgICAgLWZcdE1hbMWdYWx0dSBnZW5lcmFkb24gZGUgZG9zaWVybm9tb2ogKGdsb2JiaW5nKVxuIgorIiAgICAtaFx0UmVnaXN0cnUgZW4gaGFrZXR0YWJlbG8gbGEgc2l0dW9uIGRlIGtvbWFuZG9qIHNlcsSJYXRhalxuIgogIiAgICAta1x0xIhpdWpuIHZhbG9yaXpvam4gZW4gYWpuYSBwYXJ0byBkZSBrb21hbmRvbGluaW8gcmlnYXJkdVxuIgotIiAgICAgICAga2llbCB2YWxvcml6b2puIGRlIMWdZWx2YXJpYWJsb2ogcG9yIGxhIG1lZGlvIGRlIGxhIGtvbWFuZG8sXG4iCi0iXHRuZSBudXIgbGEgdmFsb3Jpem9qbiBhbnRhxa1hbnRham4gbGEga29tYW5kb25vbW9uLlxuIgotIiAgICAtbVx0QWt0aXZpZ3UgbGEgbGFib3JyZWdhZG9uLlxuIgotIiAgICAtblx0TGVndSBsYSBrb21hbmRvam4gc2VuIHBsZW51bWkgaWxpbi5cbiIKLSIgICAgLW8gb3B0aW9uXG4iCi0iXHRBa3RpdmlndSBsYSB2YXJpYWJsb24gcmVzcG9uZGFuIGFsIGxhIG9wY2lvbm9tbyBvcHRpb246XG4iCi0iXHQgICAgYWxsZXhwb3J0XHRzYW1lIGtpZWwgLWFcbiIKLSJcdCAgICBicmFjZWV4cGFuZFx0c2FtZSBraWVsIC1CXG4iCisiXHRraWVsIHZhbG9yaXpvam4gZGUgxZ1lbHZhcmlhYmxvaiBwb3IgbGEgbGFib3JtZWRpbyBkZSBsYVxuIgorIlx0a29tYW5kbywgbmUgbnVyIGxhIHZhbG9yaXpvam4gYW50YcWtIGxhIGtvbWFuZG9ub21vXG4iCisiICAgIC1tXHRBa3RpdmlndSBsYSBsYWJvcnJlZ2Fkb25cbiIKKyIgICAgLW5cdExlZ3UgbGEga29tYW5kb2puIHNlbiBwbGVudW1pIGlsaW5cbiIKKyIgICAgLW8gT1BDSU5PTU9cbiIKKyJcdEFrdGl2aWd1IGxhIHZhcmlhYmxvbiByZXNwb25kYW4gYWwgbGEgT1BDSU9OT01POlxuIgorIlx0ICAgIGFsbGV4cG9ydFx0c2Fta2llbCAtYVxuIgorIlx0ICAgIGJyYWNlZXhwYW5kXHRzYW1raWVsIC1CXG4iCiAiXHQgICAgZW1hY3NcdHV6dSBlbWFrc2Vza2FuIGludGVyZmFjb24gcG9yIGxpbmlyZWRha3RhZG9cbiIKLSJcdCAgICBlcnJleGl0XHRzYW1lIGtpZWwgLWVcbiIKLSJcdCAgICBlcnJ0cmFjZVx0c2FtZSBraWVsIC1FXG4iCi0iXHQgICAgZnVuY3RyYWNlXHRzYW1lIGtpZWwgLVRcbiIKLSJcdCAgICBoYXNoYWxsXHRzYW1lIGtpZWwgLWhcbiIKLSJcdCAgICBoaXN0ZXhwYW5kXHRzYW1lIGtpZWwgLUhcbiIKKyJcdCAgICBlcnJleGl0XHRzYW1raWVsIC1lXG4iCisiXHQgICAgZXJydHJhY2VcdHNhbWtpZWwgLUVcbiIKKyJcdCAgICBmdW5jdHJhY2VcdHNhbWtpZWwgLVRcbiIKKyJcdCAgICBoYXNoYWxsXHRzYW1raWVsIC1oXG4iCisiXHQgICAgaGlzdGV4cGFuZFx0c2Fta2llbCAtSFxuIgogIlx0ICAgIGhpc3RvcnlcdGVibGlndSBrb21hbmRvaGlzdG9yaW9uXG4iCi0iXHQgICAgaWdub3JlZW9mXHRsYSDFnWVsbyBuZSBmaW5pxJ1vcyBsZWdpbnRlIGRvc2llcmZpbmlsb25cbiIKKyJcdCAgICBpZ25vcmVlb2ZcdGxhIMWdZWxvIG5lIGZpbmnEnXUgbGVnaW50ZSBkb3NpZXJmaW5pbG9uXG4iCiAiXHQgICAgaW50ZXJhY3RpdmUtY29tbWVudHNcbiIKICJcdFx0XHR0b2xlcnUga29tZW50b2puIGVuIGRpYWxvZ2FqIGtvbWFuZG9qXG4iCi0iXHQgICAga2V5d29yZFx0c2FtZSBraWVsIC1rXG4iCi0iXHQgICAgbW9uaXRvclx0c2FtZSBraWVsIC1tXG4iCi0iXHQgICAgbm9jbG9iYmVyXHRzYW1lIGtpZWwgLUNcbiIKLSJcdCAgICBub2V4ZWNcdHNhbWUga2llbCAtblxuIgotIlx0ICAgIG5vZ2xvYlx0c2FtZSBraWVsIC1mXG4iCi0iXHQgICAgbm90aWZ5XHRzYW1lIGtpZWwgLWJcbiIKLSJcdCAgICBub3Vuc2V0XHRzYW1lIGtpZWwgLXVcbiIKLSJcdCAgICBvbmVjbWRcdHNhbWUga2llbCAtdFxuIgotIlx0ICAgIHBoeXNpY2FsXHRzYW1lIGtpZWwgLVBcbiIKKyJcdCAgICBrZXl3b3JkXHRzYW1raWVsIC1rXG4iCisiXHQgICAgbW9uaXRvclx0c2Fta2llbCAtbVxuIgorIlx0ICAgIG5vY2xvYmJlclx0c2Fta2llbCAtQ1xuIgorIlx0ICAgIG5vZXhlY1x0c2Fta2llbCAtblxuIgorIlx0ICAgIG5vZ2xvYlx0c2Fta2llbCAtZlxuIgorIlx0ICAgIG5vdGlmeVx0c2Fta2llbCAtYlxuIgorIlx0ICAgIG5vdW5zZXRcdHNhbWtpZWwgLXVcbiIKKyJcdCAgICBvbmVjbWRcdHNhbWtpZWwgLXRcbiIKKyJcdCAgICBwaHlzaWNhbFx0c2Fta2llbCAtUFxuIgogIlx0ICAgIHBpcGVmYWlsXHRsYSBlbGlyc3RhdG8gZGUgZHVrdG8gZXN0dSBsYSBlbGlyc3RhdG9cbiIKICJcdFx0XHRkZSBsYSBsYXN0YSBrb21hbmRvIGZpbmnEnWludGEgbmVudWxlLCBhxa1cbiIKICJcdFx0XHQwLCBzZSBuZW5pdSBrb21hbmRvIGFsaWUgZmluacSdaXNcbiIKICJcdCAgICBwb3NpeFx0xZ1hbsSddSBsYSBrb25kdXRvbiBkZSBCYcWdbyDEiWllIGtpZSDEnWlhIGRlZmHFrWx0YVxuIgotIlx0XHRcdGZ1bmtjaWFkbyBkZXZpYXMgZGlzZGUgUG96aWtzbyAxMDAzLjIgdGllbFxuIgotIlx0XHRcdGtlIMSdaSBrb25mb3JtdSBhbCB0aXUgbm9ybW9cbiIKLSJcdCAgICBwcml2aWxlZ2VkXHRzYW1lIGtpZWwgLXBcbiIKLSJcdCAgICB2ZXJib3NlXHRzYW1lIGtpZWwgLXZcbiIKKyJcdFx0XHRmdW5rY2lhZG8gZGV2aWFzIGRpc2RlIFBvemlrc28sIHRpZWwga2UgxJ1pXG4iCisiXHRcdFx0a29uZm9ybXUgYWwgdGl1IG5vcm1vXG4iCisiXHQgICAgcHJpdmlsZWdlZFx0c2Fta2llbCAtcFxuIgorIlx0ICAgIHZlcmJvc2VcdHNhbWtpZWwgLXZcbiIKICJcdCAgICB2aVx0XHR1enUgdmktZXNrYW4gaW50ZXJmYWNvbiBwb3IgbGluaXJlZGFrdGFkb1xuIgotIlx0ICAgIHh0cmFjZVx0c2FtZSBraWVsIC14XG4iCisiXHQgICAgeHRyYWNlXHRzYW1raWVsIC14XG4iCiAiICAgIC1wXHRQcml2aWxlZ2lhIHJlxJ1pbW8sIGFrdGl2acSdYXMgbWVtZSBraWFtIGxhIHJlYWxhIGthaiBlZmVrdGl2YVxuIgogIlx0aWRlbnRvaiBkZSBsYSB1emFudG8gbWFsa29uZ3J1YXMuICBMYSBkb3NpZXJvICRFTlYgbmUgZXN0YXNcbiIKLSJcdHRyYWt0YXRhIG5layBsYSDFnWVsZnVua2Npb2osIGltcG9ydGF0YWogZWwgbGEgbWVkaW8uXG4iCisiXHR0cmFrdGF0YSwgbmVrIGxhIMWdZWxmdW5rY2lvaiwgaW1wb3J0YXRhaiBlbCBsYSBtZWRpby5cbiIKICJcdE1hbGFrdGl2aWdvIGRlIHRpdSBvcGNpbyDFnWFuxJ1hcyBsYSBlZmVrdGl2YWpuIHVpZCBrYWogZ2lkXG4iCi0iXHRsYcWtIGxhIHJlYWxhaiB1aWQga2FqIGdpZC5cbiIKLSIgICAgLXRcdEZpbnUgbGEgxZ1lbG9uIGxlZ2ludGUga2FqIHBsZW51bWludGUgdW51IGtvbWFuZG9uLlxuIgotIiAgICAtdVx0UHJvdm8gYW5zdGF0YcWtaWdpIHNlbnZhbG9yYW4gdmFyaWFibG9uIGVzdHUgZXJhcm8uXG4iCi0iICAgIC12XHRFbGlndSBsYSBrb21hbmRvbGluaW9qbiBsZWdhdGFqbi5cbiIKLSIgICAgLXhcdEVsaWd1IGxhIHBsZW51bW90YWpuIGtvbWFuZG9qbiBrYWogaWxpYWpuIGFyZ3VtZW50b2puLlxuIgorIlx0bGHFrSBsYSByZWFsYWogdWlkIGthaiBnaWRcbiIKKyIgICAgLXRcdEZpbnUgbGEgxZ1lbG9uIGxlZ2ludGUga2FqIHBsZW51bWludGUgdW51IGtvbWFuZG9uXG4iCisiICAgIC11XHRQcm92byBhbnN0YXRhxa1pZ2kgc2VudmFsb3JhbiB2YXJpYWJsb24gZXN0dSBlcmFyb1xuIgorIiAgICAtdlx0RWxpZ3UgbGEga29tYW5kb2xpbmlvam4gbGVnYXRham5cbiIKKyIgICAgLXhcdEVsaWd1IGxhIHBsZW51bW90YWpuIGtvbWFuZG9qbiBrYWogaWxpYWpuIGFyZ3VtZW50b2puXG4iCiAiICAgIC1CXHRMYSDFnWVsbyBmYXJ1IHZpbmt1bG1hbHZvbHZvblxuIgogIiAgICAtQ1x0U2UgYWt0aXZhLCBtYWxlYmxpZ3Ugc2tyaWJkaWZla3RpIGVremlzdGFudGFqbiBvcmRpbmFyYWpuXG4iCi0iXHRkb3NpZXJvam4gcGVyIGFsaWRpcmVrdGFkbyBkZSBsYSBlbGlnby5cbiIKKyJcdGRvc2llcm9qbiBwZXIgYWxpZGlyZWt0YWRvIGRlIGxhIGVsaWdvXG4iCiAiICAgIC1FXHRTZSBha3RpdmEsIGxhIEVSUi1rYXB0aWxvbiAoRVJSIHRyYXApIGhlcmVkYXMgbGEgxZ1lbGFqXG4iCiAiXHRmdW5rY2lvalxuIgotIiAgICAtSFx0RWJsaWd1IGF0aW5naSBsYSBwcm90b2tvbG9uICEtc3RpbGUuIERlZmHFrWx0ZSBsYSBvcGNpbyBlc3Rhc1xuIgorIiAgICAtSFx0RWJsaWd1IGF0aW5naSBsYSBoaXN0b3Jpb24gIS1zdGlsZS4gRGVmYcWtbHRlIGxhIG9wY2lvIGVzdGFzXG4iCiAiXHRha3RpdmEgZW4gbGEgZGlhbG9nYWogxZ1lbG9qLlxuIgotIiAgICAtUFx0TmUgc2VrdnUgc2ltYm9sYWpuIGxpZ2lsb2puIHBsZW51bWFudGUgdGlham4ga29tYW5kb2puLCBraWVsXG4iCi0iXHTigJ5jZOKAnyBwb3IgxZ1hbsSdaSBsYSBrdXJhbnRhbiBkb3NpZXJ1am9uLlxuIgorIiAgICAtUFx0TmUgc2VrdnUgc2ltYm9sYWpuIGxpZ2lsb2puIHBsZW51bWFudGUga29tYW5kb2puIMWdYW7EnWFudGFqblxuIgorIlx0bGEga3VyYW50YW4gZG9zaWVydWpvbiAo4oCeY2TigJ8ga3RwKVxuIgogIiAgICAtVFx0U2UgYWt0aXZhLCBsYSBERUJVRy1rYXB0aWxvbiAoREVCVUcgdHJhcCkgaGVyZWRhcyBsYSDFnWVsYWpcbiIKICJcdGZ1bmtjaW9qXG4iCi0iICAgIC1cdExhIHJlc3RhbnRham4gYXJndW1lbnRvam4gdXp1IHBvciB2YWxvcml6aSBsYSBwb3ppY2lham5cbiIKLSJcdHBhcmFtZXRyb2puLiAgTGEgb3BjaW9qIC14IGthaiAtdiBtYWxha3RpdmnEnWFzLlxuIgorIiAgICAtXHRMYSByZXN0YW50YWpuIGFyZ3VtZW50b2puIHV6dSBwb3IgdmFsb3JpemkgbGFcbiIKKyIgICAgICAgIG51bWVycGFyYW1ldHJvam4uICBMYSBvcGNpb2ogLXgga2FqIC12IG1hbGFrdGl2acSdYXMuXG4iCiAiXG4iCi0iICAgIFV6YW50ZSBsYSBzaWdub24gKyBhbnN0YXRhxa0gLSB2aSBwb3ZhcyBtYWzFnWFsdGkgbGEgb3BjaW9uLiBMYSBvcGNpb2puXG4iCi0iICAgIGFua2HFrSBlYmxhcyB1emkgxIllIGxhIHZva28gZGUgbGEgxZ1lbG8uIExhIGt1cmFudGEgYXJvIGRhIGFrdGl2YWpcbiIKLSIgICAgb3BjaW9qIHRyb3ZlYmxhcyBlbiAkLS4gIExhIHJlc3RhbnRhaiAgbiAgYXJndW1lbnRvaiAgYXJnICBlc3Rhc1xuIgotIiAgICBwb3ppY2lhaiwga2FqIHBlciBpbGkgZXN0YXMgdmFsb3JpemF0YWosIHJlc3Bla3RpdmUsICQxLCAkMiAuLi4gJG4uXG4iCi0iICAgIFNlIG5lbmlhICBhcmcgIGVzdGFzIGRvbml0YSwgxIlpdWogxZ1lbHZhcmlhYmxvaiBlc3RhcyBlbGlnYXRhai4iCisiICAgIFV6YW50ZSBsYSBzaWdub24gKyBhbnN0YXRhxa0gLSB2aSBwb3ZhcyBtYWzFnWFsdGkgbGEgb3BjaW9uLiBMYVxuIgorIiAgICBvcGNpb2puIGFua2HFrSBlYmxhcyB1emkgxIllIGxhIHZva28gZGUgbGEgxZ1lbG8uIExhIGt1cmFudGEgYXJvIGRhXG4iCisiICAgIGFrdGl2YWogb3BjaW9qIHRyb3ZlYmxhcyBlbiAkLS4gIExhIHJlc3RhbnRhaiAgbiAgYXJndW1lbnRvaiAgQVJHXG4iCisiICAgIGnEnWFzIHZhbG9yb2ogZGUgbGEgbnVtZXJ2YXJpYWJsb2ogJDEsICQyIC4uLiAkbiAoZW4gdGl1IG9yZG8pLlxuIgorIiAgICBTZW5hcmd1bWVudGUsIGVsaWd1IMSJaXVqbiDFnWVsdmFyaWFibG9qbi5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBTdWtjZXNvLCBrcm9tIHNlIHJlbmtvbnRpxJ1hcyBtaXNhIG9wY2lvLiIKIAotIzogYnVpbHRpbnMuYzoxMTAxCisjIHVuc2V0IFstZl0gWy12XSBbbmFtZSAuLi5dCisjIHVuc2V0IFstZl0gWy12XSBbTk9NTyAuLi5dCisjOiBidWlsdGlucy5jOjExMDQKIG1zZ2lkICIiCiAiVW5zZXQgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzIG9mIHNoZWxsIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuIgogIiAgICBcbiIKQEAgLTM0ODgsOCArNDAxMywyNiBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIE5BTUUgaXMgcmVhZC1vbmx5LiIKIG1zZ3N0ciAiIgorIkZvcmlndSB2YWxvcm9qbiBrYWogYXRyaWJ1dG9qbiBkZSDFnWVsYWogZnVua2Npb2oga2FqIHZhcmlhYmxvalxuIgorIlxuIgorIiAgICBQb3IgxIlpdSBOT01PLCBmb3JpZ3UgbGEgcmVzcG9uZGFuIHZhcmlhYmxvbiBhxa0gZnVua2Npb24uXG4iCisiXG4iCisiICAgIE9wY2lvajpcbiIKKyIgICAgLWZcdHRyYWt0dSDEiWl1biBOT01PbiBraWVsIGZ1bmtjaW9uXG4iCisiICAgIC12ICB0cmFrdHUgxIlpdW4gTk9NT24ga2llbCB2YXJpYWJsb25cbiIKKyJcbiIKKyIgICAgU2UgbmVuaXUgZWwgbGEgZHUgb3BjaW9qIGVzdGFzIGluZGlraXRhLCDigJ51bnNldOKAnyB1bnVlIHByb3Zvc1xuIgorIiAgICBmb3JpZ2kgdmFyaWFibG9uLCBrYWogc2UgdGlhIG5lIHRyb3ZpxJ1vcywgZnVua2Npb24uXG4iCisiXG4iCisiICAgIEl1am4gdmFyaWFibG9qbiBuZSBlYmxhcyBmb3JpZ2kuICBWZCBhbmthxa0gbGEgaGVscG9uIHByaVxuIgorIiAgICDigJ5yZWFkb25seeKAny5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBTdWtjZXNvLCBrcm9tIHNlIGFwZXJpcyBtaXNhIG9wY2lvIGHFrSBOT01PIGVzdGFzIG51cmxlZ2EuIgogCi0jOiBidWlsdGlucy5jOjExMjEKKyMgZXhwb3J0IFstZm5dIFtuYW1lWz12YWx1ZV0gLi4uXSBvciBleHBvcnQgLXAKKyMgZXhwb3J0IFstZm5dIFtOT01PWz1WQUxPUk9dIC4uLl0gIGHFrSAgZXhwb3J0IC1wCisjOiBidWlsdGlucy5jOjExMjQKIG1zZ2lkICIiCiAiU2V0IGV4cG9ydCBhdHRyaWJ1dGUgZm9yIHNoZWxsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0zNTA3LDggKzQwNTAsMjUgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgorIk1hcmt1IMWdZWx2YXJpYWJsb2puIGtpZWwgZWtzcG9ydGFqblxuIgorIlxuIgorIiAgICBNYXJrdSBsYSBOT01Pam4gcG9yIGHFrXRvbWF0YSBla3Nwb3J0byBlbiBsYSBtZWRpb24gZGUgbGFcbiIKKyIgICAgcGxlbnVtb3RhaiBrb21hbmRvai4gIFNlIMSJZWVzdGFzIFZBTE9STywgdXp1IMSdaW4gcG9yIHZhbG9yaXppXG4iCisiICAgIE5PTU9uIGFudGHFrSBvbCBla3Nwb3J0aS5cbiIKKyJcbiIKKyIgICAgT3BjaW9qOlxuIgorIiAgICAtZlx0dGVtYXMgcHJpIMWdZWxmdW5rY2lvalxuIgorIiAgICAtblx0Zm9ydmnFnXUgbGEgZWtzcG9ydG9tYXJrb24gZGUgbGEgTk9NT2pcbiIKKyIgICAgLXBcdGVsaWd1IGxhIGxpc3RvbiBkZSDEiWl1aiBla3Nwb3J0YWogdmFyaWFibG9qIGthaiBmdW5rY2lvalxuIgorIlxuIgorIiAgICBMYSBvcGNpbyDigJ4tLeKAnyDEiWVzaWdhcyBwbHVhbiBvcGNpdHJha3RhZG9uLlxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFN1a2Nlc28sIGtyb20gc2UgYXBlcmlzIG5ldmFsaWRhIE5PTU8gYcWtIG1pc2Egb3BjaW8uIgogCi0jOiBidWlsdGlucy5jOjExNDAKKyMgcmVhZG9ubHkgWy1hZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wCisjIHJlYWRvbmx5IFstYUFmXSBbTk9NT1s9VkFMT1JPXSAuLi5dICBhxa0gIHJlYWRvbmx5IC1wCisjOiBidWlsdGlucy5jOjExNDMKIG1zZ2lkICIiCiAiTWFyayBzaGVsbCB2YXJpYWJsZXMgYXMgdW5jaGFuZ2VhYmxlLlxuIgogIiAgICBcbiIKQEAgLTM1MjcsOCArNDA4NywyNSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCisiRmFydSDFnWVsdmFyaWFibG9qbiBuZcWdYW7EnWVibGFqXG4iCisiXG4iCisiICAgIExhIGRvbml0YWogTk9NT2ogIGnEnWFzIG51cmxlZ2FqIGthaiBsYSB2YWxvcm9qbiBkZSB0aXVqIG5vbW9qXG4iCisiICAgIG5lIHBvdmFzIMWdYW7EnWkgcG9zdGEgdmFsb3Jpem8uICBTZSDEiWVlc3RhcyBWQUxPUk8sIHV6dSDEnWluIHBvclxuIgorIiAgICB2YWxvcml6aSBsYSBOT01PbiBhbnRhxa0gb2wgZmFyaSDEnWluIG51cmxlZ2EuXG4iCisiXG4iCisiICAgIE9wY2lvajpcbiIKKyIgICAgLWFcdHRlbWFzIHByaSBwb3ppY2l0YWJlbGEgc2lnbmlmbyBkZSBwbHVyc2lnbmlmYSBOT01PXG4iCisiICAgIC1BXHR0ZW1hcyBwcmkgYXNvY2l0YWJlbGEgc2lnbmlmbyBkZSBwbHVyc2lnbmlmYSBOT01PXG4iCisiICAgIC1mXHR0ZW1hcyBwcmkgxZ1lbGZ1bmtjaWEgc2lnbmlmbyBkZSBwbHVyc2lnbmlmYSBOT01PXG4iCisiICAgIC1wXHRlbGlndSDEiWl1am4gbnVybGVnYWpuIHZhcmlhYmxvam4ga2FqIGZ1bmtjaW9qblxuIgorIlxuIgorIiAgICBMYSBvcGNpbyDigJ4tLeKAnyDEiWVzaWdhcyBwbHVhbiBvcGNpdHJha3RhZG9uLlxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFN1a2Nlc28sIGtyb20gc2UgYXBlcmFzIG5ldmFsaWRhIG5vbW8gYcWtIG1pc2Egb3BjaW8uIgogCi0jOiBidWlsdGlucy5jOjExNjEKKyMgc2hpZnQgW25dCisjOiBidWlsdGlucy5jOjExNjQKIG1zZ2lkICIiCiAiU2hpZnQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTM1MzgsMTAgKzQxMTUsMTQgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTiBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gJCMuIgogbXNnc3RyICIiCisixZxvdnUgbnVtZXJwYXJhbWV0cm9qblxuIgorIlxuIgorIiAgICBMYSBudW1lcnBhcmFtZXRyb2puICAkTisxLCAkTisyIC4uLiAgcmVudW1lcnUgYWwgICQxLCAkMiAuLi5cbiIKKyIgICAgU2UgIE4gIG5lIGVzdGFzIGluZGlraXRhLCB1enUgIDEgIGFuc3RhdGHFrWUuIgogCiAjIHNvdXJjZSBmaWxlbmFtZSBbYXJndW1lbnRzXQotIzogYnVpbHRpbnMuYzoxMTczIGJ1aWx0aW5zLmM6MTE4OAotIywgZnV6enkKKyMgc291cmNlIERPU0lFUk5PTU8gW0FSR1VNRU5UT0pdCisjOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzU1NCwxMiArNDEzNSwxOSBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZCBpbiBGSUxFTkFNRTsgZmFpbHMgaWZcbiIKICIgICAgRklMRU5BTUUgY2Fubm90IGJlIHJlYWQuIgogbXNnc3RyICIiCi0iTGVndSBrYWogcGxlbnVtdSBsYSBrb21hbmRvam4gZWwgZG9zaWVybm9tbyAgZmlsZW5hbWUgIGthalxuIgotIiAgICByZXZlbnUuIExhIHZvam9qIGVsIGxhIHZhcmlhYmxvICAkUEFUSCAgZXN0YXMgdXphdGFqIHBvciB0cm92aVxuIgotIiAgICBsYSBkb3NpZXJ1am9uIGRlICBmaWxlbmFtZS4gIExhIGV2ZW50dWFsYWogYXJndW1lbnRvalxuIgotIiAgICBhcmd1bWVudHMgacSdYXMgbGEgcG96aWNpYWogcGFyYW1ldHJvaiBwb3IgcGxlbnVtbyBkZSBmaWxlbmFtZS4iCisiUGxlbnVtdSBrb21hbmRvam4gZWwgZG9zaWVybyBlbiBsYSBrdXJhbnRhIMWdZWxvXG4iCisiXG4iCisiICAgIExlZ3Uga2FqIHBsZW51bXUgbGEga29tYW5kb2puIGVsIERPU0lFUk5PTU8gZW4gbGEga3VyYW50YSDFnWVsby5cbiIKKyIgICAgVXp1IGxhIHZvam9qbiBlbCBsYSB2YXJpYWJsbyAgJFBBVEggIHBvciB0cm92aSBsYSBkb3NpZXJ1am9uIGRlXG4iCisiICAgIERPU0lFUk5PTU8uICBMYSBldmVudHVhbGFqIEFSR1VNRU5UT0ogacSdYXMgbGEgbnVtZXJwYXJhbWV0cm9qIHBvclxuIgorIiAgICBwbGVudW1vIGRlIERPU0lFUk5PTU8uXG4iCisiXG4iCisiICAgIEVsaXJzdGF0bzpcbiIKKyIgICAgVGl1IGRlIGxhIGtvbWFuZG8gbGFzdGUgcGxlbnVtaXRhIGVuIERPU0lFUk5PTU87IG1hbHN1a2Nlc28sIHNlXG4iCisiICAgIERPU0lFUk5PTU8gbmUgbGVnZWJsYXMuIgogCi0jOiBidWlsdGlucy5jOjEyMDQKKyMgc3VzcGVuZCBbLWZdCisjOiBidWlsdGlucy5jOjEyMDcKIG1zZ2lkICIiCiAiU3VzcGVuZCBzaGVsbCBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzU3MiwxMCArNDE2MCwyMCBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCisiSGFsdGV0aWd1IGxhIHBsZW51bW9uIGRlIGxhIMWdZWxvXG4iCisiXG4iCisiICAgIEhhbHRldGlndSBsYSBwbGVudW1vbiBkZSBsYSDFnWVsbyDEnWlzIMSdaSByaWNldm9zIGxhIHNpZ25hbG9uIFNJR0NPTlQuXG4iCisiICAgIEtyb20gc2UgcGVyIHN1cGVyZm9ydG8sIHNhbHV0YW4gxZ1lbG9uIG5lIGVibGFzIGhhbHRldGlnaS5cbiIKKyJcbiIKKyIgICAgT3BjaW86XG4iCisiICAgIC1mXHRTdXBlcmZvcnRlIGhhbHRldHUsIGXEiSBzZSBsYSDFnWVsbyBlc3RhcyBzYWx1dGEgxZ1lbG9cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBTdWtjZXNvLCBrcm9tIHNlIGxhYm9ycmVnYWRvIGVzdGFzIG1hbMWdYWx0aXRhIGHFrSBva2F6aXMgZXJhcm8uIgogCiAjIHRlc3QgW2V4cHJdCi0jOiBidWlsdGlucy5jOjEyMjAKLSMsIGZ1enp5CisjIHRlc3QgW0VTUFJJTU9dCisjOiBidWlsdGlucy5jOjEyMjMKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC0zNjUxLDY5ICs0MjQ5LDc2IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyBpZiBFWFBSIGV2YWx1YXRlcyB0byB0cnVlOyBmYWlscyBpZiBFWFBSIGV2YWx1YXRlcyB0b1xuIgogIiAgICBmYWxzZSBvciBhbiBpbnZhbGlkIGFyZ3VtZW50IGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgotIkxpdmVydSBlbGlyc3RhdG9uIDAgKHZlcmEpIGHFrSAxIChtYWx2ZXJhKSBsYcWtIGxhIHJlenVsdG8gZGVcbiIKLSIgICAga29tcHV0YWRvIGRlIGxhIGVzcHJpbW8gZXhwci4gIExhIGVzcHJpbW9qIHBvdmFzIGVzdGkgdW51bG9rYWpcbiIKLSIgICAgYcWtIGR1bG9rYWouICBMYSB1bnVsb2thaiBwbGVqcGFydGUgc2VydmFzIHBvciBkZXRlcm1pbmkgbGFcbiIKLSIgICAgc3RhdG9uIGRlIGRvc2llcm8uICBLcm9tZSwgZXN0YXMgb3BlcmFjaW9qIHN1cGVyIMSJZW5vaiBrYWogbGFcbiIKKyJLb21wdXR1IGtvbmRpxIlhbiBlc3ByaW1vblxuIgorIlxuIgorIiAgICBMaXZlcnUgZWxpcnN0YXRvbiAwICh2ZXJhKSBhxa0gMSAobWFsdmVyYSkgbGHFrSBsYSByZXp1bHRvIGRlXG4iCisiICAgIGtvbXB1dGFkbyBkZSBsYSBFU1BSSU1PLiAgTGEgZXNwcmltb2ogcG92YXMgZXN0aSB1bnVsb2thaiBhxa1cbiIKKyIgICAgZHVsb2thai4gIExhIHVudWxva2FqIHBsZWpwYXJ0ZSBzZXJ2YXMgcG9yIGRldGVybWluaSBsYSBcbiIKKyIgICAgc3RhdHVzb24gZGUgZG9zaWVyby4gIEtyb21lLCBlc3RhcyBvcGVyYWNpb2ogc3VwZXIgxIllbm9qIGthaiBsYVxuIgogIiAgICBub21icm9rb21wYXJhaiBvcGVyYWNpb2ouXG4iCiAiXG4iCiAiICAgIE9wZXJhY2lvaiBzdXBlciBkb3NpZXJvajpcbiIKICJcbiIKLSJcdC1hIERPU0lFUk9cdFZlcmEgc2UgRE9TSUVSTyBla3ppc3Rhcy5cbiIKLSJcdC1iIERPU0lFUk9cdFZlcmEgc2UgRE9TSUVSTyBlc3RhcyBwb3IgYmxva2EgZW5lbGlnby5cbiIKLSJcdC1jIERPU0lFUk9cdFZlcmEgc2UgRE9TSUVSTyBlc3RhcyBwb3IgYmFqdGEgZW5lbGlnby5cbiIKLSJcdC1kIERPU0lFUk9cdFZlcmEgc2UgRE9TSUVSTyBlc3RhcyBkb3NpZXJ1am8uXG4iCi0iXHQtZSBET1NJRVJPXHRWZXJhIHNlIERPU0lFUk8gZWt6aXN0YXMuXG4iCi0iXHQtZiBET1NJRVJPXHRWZXJhIHNlIERPU0lFUk8gZWt6aXN0YXMga2FqIGVzdGFzIG9yZGluYXJhLlxuIgotIlx0LWcgRE9TSUVST1x0VmVyYSBzZSBET1NJRVJPIGhhdmFzIHNldC1ncm91cC1pZCA9IDEuXG4iCi0iXHQtaCBET1NJRVJPXHRWZXJhIHNlIERPU0lFUk8gZXN0YXMgc2ltYm9sYSBsaWdpbG8uXG4iCi0iXHQtTCBET1NJRVJPXHRWZXJhIHNlIERPU0lFUk8gZXN0YXMgc2ltYm9sYSBsaWdpbG8uXG4iCi0iXHQtayBET1NJRVJPXHRWZXJhIHNlIGxhIERPU0lFUk8gaGF2YXMgc3RpY2t5ID0gMS5cbiIKLSJcdC1wIERPU0lFUk9cdFZlcmEgc2UgRE9TSUVSTyBlc3RhcyBub21oYXZhIGR1a3RvLlxuIgotIlx0LXIgRE9TSUVST1x0VmVyYSBzZSB2aSByYWp0YXMgbGVnaSBET1NJRVJPbi5cbiIKLSJcdC1zIERPU0lFUk9cdFZlcmEgc2UgRE9TSUVSTyBla3ppc3RhcyBrYWogbG9uZ2FzIHBsaSBvbCAwLlxuIgotIlx0LVMgRE9TSUVST1x0VmVyYSBzZSBET1NJRVJPIGVzdGFzIGtvbnRha3RpbmdvICjigJ5zb2NrZXTigJ8pLlxuIgotIlx0LXQgRE5VTUVST1x0VmVyYSBzZSBsYSBkb3NpZXJvIEROVU1FUk8gZXN0YXMgdGVybWluYWxhLlxuIgotIlx0LXUgRE9TSUVST1x0VmVyYSBzZSBET1NJRVJPIGhhdmFzIHNldC11c2VyLWlkID0gMS5cbiIKLSJcdC13IERPU0lFUk9cdFZlcmEgc2UgdmkgcmFqdGFzIHNrcmliaSBlbiBET1NJRVJPbi5cbiIKLSJcdC14IERPU0lFUk9cdFZlcmEgc2UgdmkgcmFqdGFzIGxhbsSJaSBET1NJRVJPbi5cbiIKLSJcdC1PIERPU0lFUk9cdFZlcmEgc2UgRE9TSUVSTyBlc3RhcyB2aWEgZG9zaWVyby5cbiIKLSJcdC1HIERPU0lFUk9cdFZlcmEgc2UgRE9TSUVSTyBhcGFydGVuYXMgYWwgdmlhIGdydXBvLlxuIgotIlx0LU4gRE9TSUVST1x0VmVyYSBzZSBET1NJRVJPIMWdYW7EnWnEnWlzIHBvc3QgbGEgbGFzdGEgbGVnby5cbiIKKyJcdC1hIERPU0lFUk9cdFZlcmEgc2UgRE9TSUVSTyBla3ppc3Rhc1xuIgorIlx0LWIgRE9TSUVST1x0VmVyYSBzZSBET1NJRVJPIGVzdGFzIHBvciBibG9rYSBlbmVsaWdvXG4iCisiXHQtYyBET1NJRVJPXHRWZXJhIHNlIERPU0lFUk8gZXN0YXMgcG9yIGJhanRhIGVuZWxpZ29cbiIKKyJcdC1kIERPU0lFUk9cdFZlcmEgc2UgRE9TSUVSTyBlc3RhcyBkb3NpZXJ1am9cbiIKKyJcdC1lIERPU0lFUk9cdFZlcmEgc2UgRE9TSUVSTyBla3ppc3Rhc1xuIgorIlx0LWYgRE9TSUVST1x0VmVyYSBzZSBET1NJRVJPIGVremlzdGFzIGthaiBlc3RhcyBvcmRpbmFyYVxuIgorIlx0LWcgRE9TSUVST1x0VmVyYSBzZSBET1NJRVJPIGhhdmFzIHNldC1ncm91cC1pZCA9IDFcbiIKKyJcdC1oIERPU0lFUk9cdFZlcmEgc2UgRE9TSUVSTyBlc3RhcyBzaW1ib2xhIGxpZ2lsb1xuIgorIlx0LUwgRE9TSUVST1x0VmVyYSBzZSBET1NJRVJPIGVzdGFzIHNpbWJvbGEgbGlnaWxvXG4iCisiXHQtayBET1NJRVJPXHRWZXJhIHNlIGxhIERPU0lFUk8gaGF2YXMgc3RpY2t5ID0gMVxuIgorIlx0LXAgRE9TSUVST1x0VmVyYSBzZSBET1NJRVJPIGVzdGFzIG5vbWhhdmEgZHVrdG9cbiIKKyJcdC1yIERPU0lFUk9cdFZlcmEgc2UgdmkgcmFqdGFzIGxlZ2kgRE9TSUVST25cbiIKKyJcdC1zIERPU0lFUk9cdFZlcmEgc2UgRE9TSUVSTyBla3ppc3RhcyBrYWogbG9uZ2FzIHBsaSBvbCAwXG4iCisiXHQtUyBET1NJRVJPXHRWZXJhIHNlIERPU0lFUk8gZXN0YXMga29udGFrdGluZ28gKOKAnnNvY2tldOKAnylcbiIKKyJcdC10IEROVU1FUk9cdFZlcmEgc2UgbGEgZG9zaWVybyBETlVNRVJPIGVzdGFzIHRlcm1pbmFsYVxuIgorIlx0LXUgRE9TSUVST1x0VmVyYSBzZSBET1NJRVJPIGhhdmFzIHNldC11c2VyLWlkID0gMVxuIgorIlx0LXcgRE9TSUVST1x0VmVyYSBzZSB2aSByYWp0YXMgc2tyaWJpIGVuIERPU0lFUk9uXG4iCisiXHQteCBET1NJRVJPXHRWZXJhIHNlIHZpIHJhanRhcyBsYW7EiWkgRE9TSUVST25cbiIKKyJcdC1PIERPU0lFUk9cdFZlcmEgc2UgRE9TSUVSTyBlc3RhcyB2aWEgZG9zaWVyb1xuIgorIlx0LUcgRE9TSUVST1x0VmVyYSBzZSBET1NJRVJPIGFwYXJ0ZW5hcyBhbCB2aWEgZ3J1cG9cbiIKKyJcdC1OIERPU0lFUk9cdFZlcmEgc2UgRE9TSUVSTyDFnWFuxJ1pxJ1pcyBwb3N0IGxhIGxhc3RhIGxlZ29cbiIKICJcbiIKICJcdERfUk8xIC1udCBEX1JPMlx0VmVyYSBzZSBsYSBkb3NpZXJvIERfUk8xIGVzdGFzIHBsaSBmcmXFnWFcbiIKLSJcdFx0XHQobGHFrSBsYSDFnWFuxJ1vZGF0bykgb2wgbGEgZG9zaWVybyBEX1JPMi5cbiIKLSJcdERfUk8xIC1vdCBEX1JPMlx0VmVyYSBzZSBEX1JPMSBlc3RhcyBtYWxwbGkgZnJlxZ1hcyBvbCBEX1JPMi5cbiIKLSJcdERfUk8xIC1lZiBEX1JPMlx0VmVyYSBzZSBEX1JPMSBlc3RhcyByZWt0YSBsaWdpbG8gYWwgRF9STzIuXG4iCisiXHRcdFx0KGxhxa0gbGEgxZ1hbsSdb2RhdG8pIG9sIGxhIGRvc2llcm8gRF9STzJcbiIKKyJcdERfUk8xIC1vdCBEX1JPMlx0VmVyYSBzZSBEX1JPMSBlc3RhcyBtYWxwbGkgZnJlxZ1hcyBvbCBEX1JPMlxuIgorIlx0RF9STzEgLWVmIERfUk8yXHRWZXJhIHNlIERfUk8xIGVzdGFzIHJla3RhIGxpZ2lsbyBhbCBEX1JPMlxuIgogIlxuIgogIiAgICBPcGVyYWNpb2ogc3VwZXIgxIllbm9qOlxuIgogIlxuIgotIlx0LXogxIhFTk9cdFx0VmVyYSBzZSBsYSDEiEVOTyBlc3RhcyB2YWt1YS5cbiIKLSJcdC1uIMSIRU5PXHRcdFZlcmEgc2UgbGEgxIhFTk8gbmUgZXN0YXMgdmFrdWFcbiIKLSJcdMSIRU5PXHRcdFZlcmEgc2UgbGEgxIhFTk8gbmUgZXN0YXMgdmFrdWFcbiIKLSJcdMSIRU5PMSA9IMSIRU5PMlx0VmVyYSBzZSBsYSDEiWVub2ogZXN0YXMgZWdhbGFqLlxuIgotIlx0xIhFTk8xICE9IMSIRU5PMlx0VmVyYSBzZSBsYSDEiWVub2ogbmUgZXN0YXMgZWdhbGFqLlxuIgorIlx0LXogxIhFTk9cdFx0VmVyYSBzZSDEiEVOTyBlc3RhcyB2YWt1YVxuIgorIlx0LW4gxIhFTk9cdFx0VmVyYSBzZSDEiEVOTyBuZSBlc3RhcyB2YWt1YVxuIgorIlx0xIhFTk9cdFx0VmVyYSBzZSDEiEVOTyBuZSBlc3RhcyB2YWt1YVxuIgorIlx0xIhFTk8xID0gxIhFTk8yXHRWZXJhIHNlIGxhIMSJZW5vaiBlc3RhcyBlZ2FsYWpcbiIKKyJcdMSIRU5PMSAhPSDEiEVOTzJcdFZlcmEgc2UgbGEgxIllbm9qIG5lIGVzdGFzIGVnYWxhalxuIgogIlx0xIhFTk8xIDwgxIhFTk8yXHRWZXJhIHNlIMSIRU5PMSBsZWtzaWtvZ3JhZmllIGFudGHFrWFzIGxhXG4iCi0iXHRcdFx0xIllbm9uIMSIRU5PMi5cbiIKKyJcdFx0XHTEiWVub24gxIhFTk8yXG4iCiAiXHTEiEVOTzEgPiDEiEVOTzJcdFZlcmEgc2UgxIhFTk8xIGxla3Npa29ncmFmaWUgc2VrdmFzIGxhXG4iCi0iXHRcdFx0xIllbm9uIMSIRU5PMi5cbiIKKyJcdFx0XHTEiWVub24gxIhFTk8yXG4iCiAiXG4iCiAiICAgIERpdmVyc2FqIG9wZXJhY2lvajpcbiIKICJcbiIKLSJcdCEgRVNQUlx0XHRWZXJhIHNlIGxhIGVzcHJpbW8gRVNQUiBlc3RhcyBmYWxzYS5cbiIKLSJcdEVTUFIxIC1hIEVTUFIyXHRWZXJhIHNlIGFtYmHFrSBlc3ByaW1vaiBlc3RhcyB2ZXJhai5cbiIKLSJcdEVTUFIxIC1vIEVTUFIyXHRWZXJhIHNlIGFqbmEgZWwgbGEgZXNwcmltb2ogZXN0YXMgdmVyYS5cbiIKKyIgICAgICAgIC1vIE9QQ0lPICAgICAgICBWZXJhIHNlIGxhIMWdZWxvcGNpbyBPUENJTyBlc3RhcyDFnWFsdGl0YVxuIgorIlx0ISBFU1BSXHRcdFZlcmEgc2UgbGEgZXNwcmltbyBFU1BSIGVzdGFzIGZhbHNhXG4iCisiXHRFU1BSMSAtYSBFU1BSMlx0VmVyYSBzZSBhbWJhxa0gZXNwcmltb2ogZXN0YXMgdmVyYWpcbiIKKyJcdEVTUFIxIC1vIEVTUFIyXHRWZXJhIHNlIGFqbmEgZWwgbGEgZXNwcmltb2ogZXN0YXMgdmVyYVxuIgogIlxuIgogIlx0YXJnMSBLUCBhcmcyXHRBcml0bWV0aWthaiBrb21wYXJvai4gIEtQIGVzdGFzIGl1IGVsIGxhXG4iCi0iXHRcdFx0cmlsYXRvaiAtZXEsIC1uZSwgLWx0LCAtbGUsIC1ndCwgLWdlLlxuIgorIlx0XHRcdHJpbGF0b2ogLWVxLCAtbmUsIC1sdCwgLWxlLCAtZ3QsIC1nZVxuIgogIlxuIgogIiAgICBMYSBhcml0bWV0aWthaiBrb21wYXJvaiBsaXZlcmFzIHZlcm9uIHNlIGFyZzEgZXN0YXMgcmVzcGVrdGl2ZVxuIgogIiAgICBlZ2FsYSwgbmVlZ2FsYSwgbWFscGxpYSBvbCwgbWFscGxpYSBhxa0gZWdhbGEgYWwsIHBsaWEgb2wsXG4iCi0iICAgIHBsaWEgYcWtIGVnYWxhIGFsIGFyZzIuIgorIiAgICBwbGlhIGHFrSBlZ2FsYSBhbCBhcmcyLlxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFN1a2Nlc28sIHNlIGxhIHJlenVsdG8gZGUgbGEga29tcHV0byBkZSBFU1BSSU1PIGVzdGFzIHZlcm87XG4iCisiICAgIG1hbHN1a2Nlc28sIHNlIGxhIHJlenVsdG8gZXN0YXMgbWFsdmVybyBhxa0gcmVua29udGnEnWFzIG1pc2FcbiIKKyIgICAgYXJndW1lbnRvLiIKIAogIyBbIGFyZy4uLiBdCi0jOiBidWlsdGlucy5jOjEyOTYKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjEyOTkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC0zNzIzLDcgKzQzMjgsNyBAQAogIsSIaSB0aXUgZXN0YXMgc2lub25pbW8gZGUgbGEgcHJpbWl0aXZvIOKAnnRlc3TigJ87IHRhbWVuIGxhIGxhc3RhXG4iCiAiICAgIGFyZ3VtZW50byBkZXZhcyBlc3RpIOKAnl3igJ8gZmVybWFudGEgbGEgZXNwcmltb24ga29tZW5jaXRhbiBwZXIg4oCeW+KAny4iCiAKLSM6IGJ1aWx0aW5zLmM6MTMwNQorIzogYnVpbHRpbnMuYzoxMzA4CiBtc2dpZCAiIgogIkRpc3BsYXkgcHJvY2VzcyB0aW1lcy5cbiIKICIgICAgXG4iCkBAIC0zNzM0LDExICs0MzM5LDE3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICIiCisiVmlkaWd1IHByb2NlenRlbXBvam5cbiIKKyJcbiIKKyIgICAgRWxpZ3UgbGEgdGVtcG9qbiBha3VtdWxpdGFqbiBkZSBsYSB1emFudG8ga2FqIGRlIGxhIGtlcm5vXG4iCisiICAgIHBvciBsYSDFnWVsbyBrYWogxJ1pYWogcHJvY2V6aWRvai5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICDEiGlhbSBzdWtjZXNhLiIKIAotIyBaWlo6IHRyYXAgW2FyZ10gW3NpZ25hbF9zcGVjIC4uLl0gb3IKLSMgICAgICB0cmFwIC1sCi0jOiBidWlsdGlucy5jOjEzMTcKLSMsIGZ1enp5CisjIHRyYXAgWy1scF0gW1thcmddIHNpZ25hbF9zcGVjIC4uLl0KKyMgdHJhcCBbLWxwXSBbW0FSR10gU0lHTkFMSU5ESUtPIC4uLl0KKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJUcmFwIHNpZ25hbHMgYW5kIG90aGVyIGV2ZW50cy5cbiIKICIgICAgXG4iCkBAIC0zNzczLDI2ICs0Mzg0LDM5IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSBTSUdTUEVDIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgIgogImdpdmVuLiIKIG1zZ3N0ciAiIgotIkxhIGtvbWFuZG8gYXJnIGVzdGFzIGxlZ290YSBrYWogcGxlbnVtb3RhIGtpYW0gbGEgxZ1lbG8gcmljZXZvc1xuIgotIiAgICAoaXVuKSBzaWduYWxvbiBzaWduYWxfc3BlYy4gIFNlIG5lbmlhIGFyZyBlc3RhcyBkb25pdGEsIMSJaXVqXG4iCi0iICAgIHNpYW4ga29tZW5jYW4gdmFsb3Jvbi4gU2UgQVJHIGVzdGFzIHZha3VhIMSJZW5vLCDEiWl1aiBzaWduYWxvalxuIgotIiAgICBzaWduYWxfc3BlYyBlc3RvcyBtYWxhdGVudGF0YWogZGUgbGEgxZ1lbG8ga2FqIGRlIGxhIGtvbWFuZG9qXG4iCi0iICAgIGtpdWpuIMSdaSB2b2thcy5cbiIKKyJLYXB0dSBzaWduYWxvam4ga2FqIGFsaWFqbiBldmVudG9qblxuIgogIlxuIgotIiAgICBTZSBpbnRlciBsYSBzaWduYWxvaiBzaWduYWxfc3BlYyBlc3RhcyDigJ5FWElU4oCfICgwKSwgdGlhbSBhcmcgZGVcbiIKLSIgICAgbGEga29tYW5kbyBwbGVudW1pxJ1vcyDEiWUgbGEgZWxpcm8gZWwgbGEgxZ1lbG8uXG4iCi0iICAgIFNlIHNpZ25hbF9zcGVjIGVzdGFzIERFQlVHLCBhcmcgcGxlbnVtacSdb3MgcG9zdCDEiWl1IGtvbWFuZG8uXG4iCi0iICAgIExhIG9wY2lvIOKAni1w4oCfIGVibGlnYXMgZWxpZ2kgbGEga29tYW5kb2puIHBsZW51bW90YWpuIGxhxa0gxIlpdVxuIgotIiAgICBzaWduYWxvIHNpZ25hbF9zcGVjLiBTZSBlc3RhcyBkb25pdGEgbmVuaXUgYXJndW1lbnRvIGHFrSBudXJhXG4iCi0iICAgIOKAni1w4oCfLCB0cmFwIGxpc3RpZ2FzIGxhIGtvbWFuZG9qbiBwb3IgdHJha3RpIMSJaXVuIGthcHRlbmRhblxuIgotIiAgICBzaWduYWxvbi5cbiIKKyIgICAgRGlmaW51IGthaiBha3RpdmlndSB0cmFrdGlsb2puIHBsZW51bW90YWpuIGtpYW0gxZ1lbG8gcmljZXZvc1xuIgorIiAgICBzaWduYWxvam4gYcWtIMSJZSBhbGlhaiBrb25kacSJb2ouXG4iCiAiXG4iCi0iICAgIMSIaXUgc2lnbmFsX3NwZWMgZXN0YXMgYcWtIHNpZ25hbG5vbW8gZWwgPHNpZ25hbC5oPiwgYcWtXG4iCi0iICAgIHNpZ25hbG51bWVyby4gIOKAnnRyYXAgLWzigJ8gbGlzdGlnYXMgbGEgc2lnbmFsbm9tb2puIGt1biBsYSBudW1lcm9qLlxuIgotIiAgICBTaWduYWxvbiAgc2lnbmFsaW5kaWtvICBlYmxhcyBzZW5kaSBhbCBsYSDFnWVsbyBwZXIgbGEga29tYW5kb1xuIgotIiAgICDCq2tpbGwgLXNpZ25hbGluZGlrbyAkJMK7LiIKKyIgICAgTGEga29tYW5kbyBBUkcgZXN0YXMgbGVnb3RhIGthaiBwbGVudW1vdGEga2lhbSBsYSDFnWVsbyByaWNldm9zXG4iCisiICAgIHNpZ25hbG9uIGVsIFNJR05BTElORElLTy4gIFNlIEFSRyBtYWxlc3RhcyAoa2FqIFNJR05BTElORElLT1xuIgorIiAgICBrb25zaXN0YXMgZWwgdW51IHNvbGEgc2lnbmFsbykgYcWtIGVzdGFzIOKAni3igJ8sIMSJaXVqIGluZGlraXRhalxuIgorIiAgICBzaWduYWxvaiByZXJpY2V2YXMgc2lhbiBrb21lbmNhbiB2YWxvcm9uLiAgU2UgQVJHIGVzdGFzIHZha3VhXG4iCisiICAgIMSJZW5vLCBsYSDFnWVsbyBtZW0ga2FqIGtvbWFuZG9qIGVsIMSdaSB2b2tpdGFqIG1hbGF0ZW50b3MgxIlpdWpuXG4iCisiICAgIHNpZ25hbG9qbiBkZSBTSUdOQUxJTkRJS08uXG4iCisiXG4iCisiICAgIFNlIGludGVyIGxhIHNpZ25hbG9qIFNJR05BTElORElLTyBlc3RhcyDigJ5FWElU4oCfIChhxa0gMCksIHRpYW0gQVJHIGRlXG4iCisiICAgIGxhIGtvbWFuZG8gcGxlbnVtacSdb3MgxIllIGxhIGVsaXJvIGVsIGxhIMWdZWxvLiBTZSBlbiBTSUdOQUxJTkRJS09cbiIKKyIgICAgZXN0YXMg4oCeREVCVUfigJ8sIEFSRyBwbGVudW1pxJ1vcyBwb3N0IMSJaXUga29tYW5kby5cbiIKKyJcbiIKKyIgICAgU2VuYXJndW1lbnRlIHRyYXAgbGlzdGlnYXMga29tYW5kb2puIHBsZW51bW90YWpuIGxhxa0gxIlpdSBzaWduYWxvLlxuIgorIlxuIgorIiAgICBPcGNpb2o6XG4iCisiICAgIC1sXHRsaXN0aWd1IGxhIHNpZ25hbG5vbW9qbiBrdW4gbGEgbnVtZXJvalxuIgorIiAgICAtcCAgdmlkaWd1IGxhIHRyYXAta29tYW5kb2puIHBvciB0cmFrdGkgxIlpdW4gU0lHTkFMSU5ESUtPblxuIgorIlxuIgorIiAgICDEiGl1IFNJR05BTElORElLTyBlc3RhcyBhxa0gc2lnbmFsbm9tbyBlbCA8c2lnbmFsLmg+LCBhxa1cbiIKKyIgICAgc2lnbmFsbnVtZXJvLiAgTGEgc2lnbmFsbm9tb2ogZXN0YXMgdXNrbGVjb2JsaW5kYWosIGthaiBsYVxuIgorIiAgICBwcmVmaWtzbyDigJ5TSUfigJ8gZXN0YXMgZWxsYXNlYmxhLiAgU2lnbmFsb24gUyBvbmkgcG92YXMgc2VuZGkgYWwgbGFcbiIKKyIgICAgxZ1lbG8gcGVyIGxhIGtvbWFuZG8gwqtraWxsIC1TICQkwrsuXG4iCisiXG4iCisiICAgIEVsaXJzdGF0bzpcbiIKKyIgICAgU3VrY2Vzbywga29uZGnEiWUga2UgU0lHTkFMSU5ESUtPaiBrYWogbGEgb3BjaW9qIGVzdGFzIHRhxa1nYWouIgogCi0jOiBidWlsdGlucy5jOjEzNDkKKyMgdHlwZSBbLWFmcHRQXSBuYW1lIFtuYW1lIC4uLl0KKyMgdHlwZSBbLWFmcHRQXSBOT01PIFtOT01PIC4uLl0KKyM6IGJ1aWx0aW5zLmM6MTM1MgogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmQgdHlwZS5cbiIKICIgICAgXG4iCkBAIC0zODIxLDEwICs0NDQ1LDM2IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyBpZiBhbGwgb2YgdGhlIE5BTUVzIGFyZSBmb3VuZDsgZmFpbHMgaWYgYW55IGFyZSBub3QgIgogImZvdW5kLiIKIG1zZ3N0ciAiIgorIlZpZGlndSBpbmZvcm1vbiBwcmkgdGlwbyBkZSBrb21hbmRvXG4iCisiXG4iCisiICAgIFBvciDEiWl1IE5PTU8sIG1vbnRydSBraW9uIMSdaSBzaWduaWZ1cyBlbiBsYSBwb3ppY2lvIGRlXG4iCisiICAgIGtvbWFkb25vbW8uXG4iCisiXG4iCisiICAgIE9wY2lvajpcbiIKKyIgICAgLWFcdGxpc3RpZ3UgxIlpdWpuIGxva29qbiBlbnRlbmFudGFqbiBwbGVudW1lYmxhbiBkb3NpZXJvblxuIgorIiAgICAgICAga3VuIGtvbmNlcm5hIE5PTU87ICBsYSBsaXN0byBpbmtsdWRhcyBhbGlub21vam4ga2FqXG4iCisiICAgICAgICBmdW5rY2lvam4sIHNlIGthaiBudXIgc2UgbWFsZXN0YXMgbGEgb3BjaW8gIOKAni1w4oCfXG4iCisiICAgIC1mICBla3NrbHVkYXMgZWwgbGEgc2VyxIlvIGxhIMWdZWxmdW5rY2lvam5cbiIKKyIgICAgLVBcdGFwbGlrdSB2b2pzZXLEiW9uIGxhxa0gUEFUSCBwb3IgxIlpdSBOT01PLCBlxIkgc2UgZWt6aXN0YXMgdGlhbm9tYVxuIgorIiAgICAgICAgZnVua2NpbywgcHJpbWl0aXZhIGtvbWFuZG8gYcWtIGFsaW5vbW8sIGthaiBsaXZlcnUgbGEgbm9tb24gZGVcbiIKKyIgICAgICAgIHRpZWwgcGxlbnVtZWJsYSBkaXNrZG9zaWVyb1xuIgorIiAgICAtcFx0ZWxpZ3UgbGEgbm9tb24gZGUgZG9zaWVybyBraXUgacSddXMgcGxlbnVtYXRhO1xuIgorIiAgICAgICAgYcWtIG5lbmlvbiwgc2Ugwqt0eXBlIC10IG5hbWXCuyBuZSBlbGlndXMg4oCeZmlsZeKAn1xuIgorIiAgICAtdFx0ZWxpZ3UgdW51IHZvcnRvbiwgaXVuIGVsIGxhIHNla3ZhajpcbiIKKyIgICAgICAgIOKAnmFsaWFz4oCfLCDigJ5rZXl3b3Jk4oCfLCDigJ5mdW5jdGlvbuKAnywg4oCeYnVpbHRpbuKAnywg4oCeZmlsZeKAnyBhxa0g4oCe4oCfIC0tXG4iCisiICAgICAgICBzZSBOT01PICBlc3RhcywgcmVzcGVrdGl2ZSwgYWxpbm9tbywgxZ1lbGEgxZ1sb3NpbHZvcnRvLFxuIgorIiAgICAgICAgxZ1lbGZ1bmtjaW8sIMWdZWxhIHByaW1pdGl2bywgZG9zaWVybyBhxa0gbmVuaW8ga29uYXRhXG4iCisiXG4iCisiICAgIEFyZ3VtZW50b2o6XG4iCisiICAgIE5PTU8gIEVzcGxvcmVuZGEga29tYW5kb25vbW9cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBTdWtjZXNvLCBzZSDEiWl1am4gTk9NT2puIHByb3NwZXJpcyB0cm92aTsgbWFsc3VrY2Vzbywgc2UgZXN0aXNcbiIKKyIgICAgbmV0cm92aXRhai4iCiAKLSMgdWxpbWl0IFstU0hhY2RmbG1ucHN0dXZdIFtsaW1pdF0KLSM6IGJ1aWx0aW5zLmM6MTM4MAotIywgZnV6enkKKyMgdWxpbWl0IFstU0hhY2RlZmlsbW5wcXJzdHV2eF0gW2xpbWl0XQorIyB1bGltaXQgWy1TSGFjZGVmaWxtbnBxcnN0dXZ4XSBbTElNT10KKyM6IGJ1aWx0aW5zLmM6MTM4MwogbXNnaWQgIiIKICJNb2RpZnkgc2hlbGwgcmVzb3VyY2UgbGltaXRzLlxuIgogIiAgICBcbiIKQEAgLTM4NjcsNDAgKzQ1MTcsNDggQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgotIkxhIGtvbWFuZG8g4oCedWxpbWl04oCfIGVibGlnYXMgbWFzdHJ1bWkgbGEgcmlzdXJjb2puIGRpc3BvbmVibGFqbiBhbCBsYVxuIgotIiAgICBwcm9jZXpvaiBsYW7EiWF0YWogZWwgbGEgxZ1lbG8gKHNlIGxhIG9wZXJhY2l1bW8gZWJsaWdhcyB0aWFuXG4iCi0iICAgIG1hc3RydW1hZG9uKS4gIFNlIG9wY2lvIGVzdGFzIGRvbml0YSwgxJ1pIGhhdmFzIGplbmFuIHNlbmNvbjpcbiIKKyLFnGFuxJ11IHJpc3VyY29saW1hxLVvam4gZGUgbGEgxZ1lbG9cbiIKICJcbiIKLSJcdC1TICDFnWFuxJ1lYmxhICjigJ5zb2Z04oCfKSBsaW1vXG4iCi0iXHQtSCAgZmlybWEgKOKAnmhhcmTigJ8pIGxpbW9cbiIKLSJcdC1hICBlbGlndSDEiWl1am4ga3VyYW50YWpuIHJpc3VyY29saW1hxLVvam5cbiIKLSJcdC1jICBtYWtzaW11bWEgbG9uZ28gZGUgbmVrcm9wc2lhIGRvc2llcm8gKOKAnmNvcmXigJ8pXG4iCi0iXHQtZCAgbWFrc2ltdW1hIGxvbmdvIGRlIGRhdHVtc2VnbWVudG8gZGUgcHJvY2V6b1xuIgotIlx0LWUgIG1ha3NpbXVtYSB2aWNpZ2EgcHJpb3JpdGF0byAo4oCebmljZeKAnylcbiIKLSJcdC1mICBtYWtzaW11bWEgbG9uZ28gZGUgZG9zaWVyb2ogc2tyaWJhdGFqIGRlIGxhIMWdZWxvIGthaiDEnWlhaiBpZG9qXG4iCi0iXHQtbCAgbWFrc2ltdW1hIGxvbmdvIGRlIMWdbG9zZWJsYSBwcm9jZXptZW1vcm8gKG1sb2NrKVxuIgotIlx0LW0gIG1ha3NpbXVtYSBsb25nbyBkZSByZXppZGEgcHJvY2V6bWVtb3JvXG4iCi0iXHQtbiAgbWFrc2ltdW1hIG5vbWJybyBkZSBtYWxmZXJtaXRhaiBkb3NpZXJudW1lcm9qXG4iCi0iXHQtcCAgbG9uZ28gZGUgZHVrdGEgYnVmcm8gKHBpcGUpXG4iCi0iXHQtcSAgbWFrc2ltdW1hIG5vbWJybyBkYSBiYWp0b2ogZW4gYXRlbmRvdmljb2ogZGUgUG96aWtzYWogbWVzYcSdb2pcbiIKLSJcdC1zICBtYWtzaW11bWEgbG9uZ28gZGUgc3Rha29cbiIKLSJcdC10ICBtYWtzaW11bWEgdGVtcG8gxIllZnByb2Nlc29yYSAoZW4gc2VrdW5kb2opXG4iCi0iXHQtdSAgbWFrc2ltdW1hIG5vbWJybyBkZSBwcm9jZXpvaiBkZSBsYSB1emFudG9cbiIKLSJcdC12ICBsb25nbyBkZSBsYSB2aXJ0dWFsYSBtZW1vcm9cbiIKLSJcdC14ICBtYWtzaW11bWEgbm9tYnJvIGRlIGRvc2llcsWdbG9zb2pcbiIKKyIgICAgTGEga29tYW5kbyDigJ51bGltaXTigJ8gZWJsaWdhcyBtYXN0cnVtaSBsYSByaXN1cmNvam4gZGlzcG9uZWJsYWpuIGFsXG4iCisiICAgIGxhIHByb2Nlem9qIGxhbsSJYXRhaiBlbCBsYSDFnWVsbyAoc2UgbGEgb3BlcmFjaXVtbyBlYmxpZ2FzIHRpYW5cbiIKKyIgICAgbWFzdHJ1bWFkb24pLlxuIgogIlxuIgotIiAgICBTZSBsaW1vIGxpbWl0IGVzdGFzIGluZGlraXRhLCDEnWlhIHZhbG9ybyBsaW1pZ2FzIGxhIGtvbmNlcm5hblxuIgotIiAgICByaXN1cmNvbjsgbGEgc3BlY2lhbGFqIHZvcnRvaiBwb3IgbGltaXQ6IOKAnnNvZnTigJ8sIOKAnmhhcmTigJ8sXG4iCi0iICAgIOKAnnVubGltaXRlZOKAnyBzaWduaWZhcywgcmVzcGVrdGl2ZTogwqtsYSBrdXJhbnRhIMWdYW7EnWVibGEgbGltb8K7LFxuIgotIiAgICDCq2xhIGt1cmFudGEgZmlybWEgbGltb8K7LCDCq3NlbiBsaW1vwrsuXG4iCisiICAgIE9wY2lvajpcbiIKKyIgICAgLVNcdMWdYW7EnWVibGEgKOKAnnNvZnTigJ8pIGxpbW9cbiIKKyIgICAgLUhcdGZpcm1hICjigJ5oYXJk4oCfKSBsaW1vXG4iCisiICAgIC1hXHRlbGlndSDEiWl1am4ga3VyYW50YWpuIHJpc3VyY29saW1hxLVvam5cbiIKKyIgICAgLWNcdG1ha3NpbXVtYSBsb25nbyBkZSBuZWtyb3BzaWEgZG9zaWVybyAo4oCeY29yZeKAnylcbiIKKyIgICAgLWRcdG1ha3NpbXVtYSBsb25nbyBkZSBkYXR1bXNlZ21lbnRvIGRlIHByb2Nlem9cbiIKKyIgICAgLWVcdG1ha3NpbXVtYSB2aWNpZ2EgcHJpb3JpdGF0byAo4oCebmljZeKAnylcbiIKKyIgICAgLWZcdG1ha3NpbXVtYSBsb25nbyBkZSBkb3NpZXJvaiBza3JpYmF0YWogZGUgbGEgxZ1lbG8ga2FqIMSdaWFqIGlkb2pcbiIKKyIgICAgLWxcdG1ha3NpbXVtYSBsb25nbyBkZSDFnWxvc2VibGEgcHJvY2V6bWVtb3JvIChtbG9jaylcbiIKKyIgICAgLW1cdG1ha3NpbXVtYSBsb25nbyBkZSByZXppZGEgcHJvY2V6bWVtb3JvXG4iCisiICAgIC1uXHRtYWtzaW11bWEgbm9tYnJvIGRlIG1hbGZlcm1pdGFqIGRvc2llcm51bWVyb2pcbiIKKyIgICAgLXBcdGxvbmdvIGRlIGR1a3RhIGJ1ZnJvIChwaXBlKVxuIgorIiAgICAtcVx0bWFrc2ltdW1hIG5vbWJybyBkYSBiYWp0b2ogZW4gYXRlbmRvdmljb2ogZGUgUG96aWtzYWogbWVzYcSdb2pcbiIKKyIgICAgLXJcdG1ha3NpbXVtYSBwcmlvcml0YXRvIHJlYWx0ZW1wYVxuIgorIiAgICAtc1x0bWFrc2ltdW1hIGxvbmdvIGRlIHN0YWtvXG4iCisiICAgIC10XHRtYWtzaW11bWEgdGVtcG8gxIllZnByb2Nlc29yYSAoZW4gc2VrdW5kb2opXG4iCisiICAgIC11XHRtYWtzaW11bWEgbm9tYnJvIGRlIHByb2Nlem9qIGRlIGxhIHV6YW50b1xuIgorIiAgICAtdlx0bG9uZ28gZGUgbGEgdmlydHVhbGEgbWVtb3JvXG4iCisiICAgIC14XHRtYWtzaW11bWEgbm9tYnJvIGRlIGRvc2llcsWdbG9zb2pcbiIKICJcbiIKLSIgICAgQWxpZSBlc3RhcyBlbGlnYXRhIGxhIGt1cmFudGEgdmFsb3JvIGRlIGxhIGtvbmNlcm5hIHJpc3VyY28uXG4iCi0iICAgIE1hbmtvIGRlIG9wY2lvaiBpbXBsaWNhcyAtZi4gTGEgdmFsb3JvaiBlc3RhcyBlbiBvYmxvaiBkZVxuIgotIiAgICAxMDI0IGJhanRvaiwga3JvbSBwb3IgbGEgb3BjaW8gLXQga2l1IGVzdGFzIGVuIHNla3VuZG9qO1xuIgotIiAgICBwb3IgLXAga2l1IGVzdGFzIGVuIG9ibG9qIGRlIDUxMiBiYWp0b2o7IGthaiBwb3IgLXUsIGtpdSBlc3Rhc1xuIgotIiAgICBzZW5kaW1lbnNpYSBub21icm8gZGUgcHJvY2V6b2ouIgorIiAgICBTZSBMSU1PIGVzdGFzIGluZGlraXRhLCDEnWlhIHZhbG9ybyBsaW1pZ2FzIGxhIGtvbmNlcm5hbiByaXN1cmNvbjtcbiIKKyIgICAgbGEgc3BlY2lhbGFqIHZvcnRvaiBwb3IgTElNTzog4oCec29mdOKAnywg4oCeaGFyZOKAnywg4oCedW5saW1pdGVk4oCfXG4iCisiICAgIHNpZ25pZmFzLCByZXNwZWt0aXZlOiDCq2xhIGt1cmFudGEgxZ1hbsSdZWJsYSBsaW1vwrssIMKrbGEga3VyYW50YVxuIgorIiAgICBmaXJtYSBsaW1vwrssIMKrc2VuIGxpbW/Cuy4gIEFsaWUgZXN0YXMgZWxpZ2F0YSBsYSBrdXJhbnRhIHZhbG9ybyBkZVxuIgorIiAgICBsYSBrb25jZXJuYSByaXN1cmNvLiAgTWFua28gZGUgb3BjaW9qIGltcGxpY2FzIC1mLlxuIgorIlxuIgorIiAgICBMYSB2YWxvcm9qIGVzdGFzIGVuIG9ibG9qIGRlIDEwMjQgYmFqdG9qLCBrcm9tIHBvciBsYSBvcGNpbyAtdCxcbiIKKyIgICAga2l1IGVzdGFzIGVuIHNla3VuZG9qOyBwb3IgLXAsIGtpdSBlc3RhcyBlbiBvYmxvaiBkZSA1MTIgYmFqdG9qO1xuIgorIiAgICBrYWogcG9yIC11LCBraXUgZXN0YXMgc2VuZGltZW5zaWEgbm9tYnJvIGRlIHByb2Nlem9qLlxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFN1a2Nlc28sIGtvbmRpxIllIGtlIGxhIG9wY2lvaiBlc3RhcyB0YcWtZ2FqIGthaiBuZSBva2F6aXMgZXJhcm8uIgogCi0jOiBidWlsdGlucy5jOjE0MjUKKyMgdW1hc2sgWy1wXSBbLVNdIFttb2RlXQorIyB1bWFzayBbLXBdIFstU10gW1JFxJxJTU9dCisjOiBidWlsdGlucy5jOjE0MjgKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCiAiICAgIFxuIgpAQCAtMzkxNyw4ICs0NTc1LDI1IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE1PREUgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKKyJWaWRpZ3UgYcWtIGFnb3JkdSBkb3NpZXJyZcSdaW1hbiBtYXNrb25cbiIKKyJcbiIKKyIgICAgTGEgZG9zaWVya3JlYSBtYXNrbyBkZSBsYSB1emFudG8gaGF2dSBsYSB2YWxvcm9uIGRlIGxhIGFyZ3VtZW50b1xuIgorIiAgICBSRcScSU1PLiAgU2UgUkXEnElNTyBtYW5rYXMsIGVsaWd1IGxhIGt1cmFudGFuIHZhbG9yb24gZGUgbGEgbWFza28uXG4iCisiXG4iCisiICAgIFNlIGxhIGFyZ3VtZW50byBSRcScSU1PIGtvbWVuY2nEnWFzIHBlciBjaWZlcm8sIMSdaSBlc3Rhc1xuIgorIiAgICBpbnRlcnByZXRhdGEga2llbCBva3VtYSBub21icm87IGFsaWUsIGtpZWwgc2ltYm9sYSBzaWdub8SJZW5vXG4iCisiICAgIGxhxa0gY2htb2QoMSkuXG4iCisiXG4iCisiICAgIE9wY2lvajpcbiIKKyIgICAgLXBcdHNlIFJFxJxJTU8gbWFsZXN0YXMsIGxhIGVsaWdhxLVvIGhhdnUgZm9ybW9uIHRhxa1nYW4gcG9yIGVuaWdvXG4iCisiICAgIC1TXHRsYSBlbGlnbyBlc3R1IHNpbWJvbGE7IGFsaWUgxJ1pIGVzdGFzIG9rdW1hIG5vbWJyb1xuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFN1a2Nlc28sIGtyb20gc2UgUkXEnElNTyBlc3RhcyBuZXZhbGlkYSBhxa0gYXBlcmFzIG1pc2Egb3BjaW8uIgogCi0jOiBidWlsdGlucy5jOjE0NDUKKyMgd2FpdCBbaWRdCisjIHdhaXQgW0lORF0KKyM6IGJ1aWx0aW5zLmM6MTQ0OAogbXNnaWQgIiIKICJXYWl0IGZvciBqb2IgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTM5MzQsMTAgKzQ2MDksMjEgQEAKICJpc1xuIgogIiAgICBnaXZlbi4iCiBtc2dzdHIgIiIKKyJBdGVuZHUga2UgbGFib3JvIGZpbmnEnXUsIGthaiBsaXZlcnUgZWxpcnN0YXRvblxuIgorIlxuIgorIiAgICBBdGVuZHUgZmluacSdb24gZGUgbGEgcHJvY2V6byBpbmRpa2l0YSBwZXIgSU5EIChraXUgcG92YXMgZXN0aVxuIgorIiAgICBwcm9jZXpudW1lcm8gYcWtIGxhYm9yaW5kaWtvKSBrYWogbGl2ZXJ1IMSdaWFuIGVsaXJzdGF0b24uICBTZSBJTkRcbiIKKyIgICAgbWFsZXN0YXMsIGF0ZW5kdSDEiWl1am4gYWt0aXZham4gcHJvY2V6aWRvam4sIGthaiBsaXZlcnUgbGEgXG4iCisiICAgIGVsaXJzdGF0b24gMC4gIFNlIElORCBlc3RhcyBsYWJvcmluZGlrbywgYXRlbmR1IMSJaXVqbiBwcm9jZXpvam4gZW5cbiIKKyIgICAgbGEgZHVrdG8gZGUgbGEgbGFib3JvLlxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFRpdSBkZSBJTkQ7IG1hbHN1a2Nlc28sIHNlIElORCBlc3RhcyBuZXZhbGlkYSBhxa0gc2UgcmVua29udGnEnWFzXG4iCisiICAgIG5ldmFsaWRhIG9wY2lvLjwiCiAKLSMgd2FpdCBbbl0KLSM6IGJ1aWx0aW5zLmM6MTQ2MwotIywgZnV6enkKKyMgd2FpdCBbcGlkXQorIyB3YWl0IFtQTl0KKyM6IGJ1aWx0aW5zLmM6MTQ2NgogbXNnaWQgIiIKICJXYWl0IGZvciBwcm9jZXNzIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC0zOTUwLDE1ICs0NjM2LDE5IEBACiAiaXNcbiIKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCi0iQXRlbmR1IGZpbmnEnW9uIGRlIGxhIGluZGlraXRhIHByb2Nlem8ga2FqIGxpdmVydSDEnWlhbiBlbGlyc3RhdG9uLlxuIgotIiAgICBTZSBuIG1hbGVzdGFzLCBhdGVuZHUgxIlpdWpuIGFrdGl2YWpuIHByb2Nlemlkb2puLCBrYWogbGl2ZXJ1XG4iCi0iICAgIGxhIGVsaXJzdGF0b24gMC4gIG4gcG92YXMgZXN0aSBwcm9jZXpudW1lcm8gYcWtIGxhYm9yaW5kaWtvO1xuIgotIiAgICBzZSDEnWkgZXN0YXMgbGFib3JpbmRpa28sIGxhIGF0ZW5kbyBrb25jZXJuYXMgxIlpdWpuIHByb2Nlem9qbiBkZSBsYVxuIgotIiAgICBkdWt0byBkZSBsYSBsYWJvcm8uIgorIkF0ZW5kdSBrZSBwcm9jZXpvIGZpbmnEnXUsIGthaiBsaXZlcnUgZWxpcnN0YXRvblxuIgorIlxuIgorIiAgICBBdGVuZHUgZmluacSdb24gZGUgbGEgaW5kaWtpdGEgcHJvY2V6byBrYWogbGl2ZXJ1IMSdaWFuIGVsaXJzdGF0b24uXG4iCisiICAgIFNlIFBOIG1hbGVzdGFzLCBhdGVuZHUgxIlpdWpuIGFrdGl2YWpuIHByb2Nlemlkb2puLCBrYWogbGl2ZXJ1IGxhXG4iCisiICAgIGVsaXJzdGF0b24gMC4gIFBOICBkZXZhcyBlc3RpIHByb2Nlem51bWVyby5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBUaXUgZGUgUE47IG1hbHN1a2Nlc28sIHNlIFBOIGVzdGFzIG5ldmFsaWRhIGHFrSBzZSByZW5rb250acSdYXNcbiIKKyIgICAgbmV2YWxpZGEgb3BjaW8uIgogCi0jIGZvciBOQU1FIFtpbiBXT1JEUyAuLi4gO10gZG8gQ09NTUFORFM7IGRvbmUKLSM6IGJ1aWx0aW5zLmM6MTQ3OAotIywgZnV6enkKKyMgZm9yIE5BTUUgW2luIFdPUkRTIC4uLiBdIDsgZG8gQ09NTUFORFM7IGRvbmUKKyMgZm9yIE5PTU8gW2luIFZPUlRPSiAuLi4gXSA7IGRvIEtPTUFORE9KOyBkb25lCisjOiBidWlsdGlucy5jOjE0ODEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTM5NzAsMTUgKzQ2NjAsMTkgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgotIkxhIGl0ZXJhY2lvIOKAnmZvcuKAnyBwbGVudW1hcyBsYSBrb21hbmRvam4gQ09NTUFORFMgcG9yIMSJaXUgZXJvXG4iCi0iICAgIGRlIHNpYSBsaXN0by4gIFNlIGxhIHBhcnRvIMKraW4gV09SRFMgLi4uO8K7IG1hbGVzdGFzLCDCq2luIFwiJEBcIsK7XG4iCi0iICAgIGVzdGFzIHV6YXRhIGFuc3RhdGHFrWUuICBQb3IgxIlpdSBlcm8gYXBlcmFudGEgZW4gV09SRFMsIGxhIG5vbW9cbiIKLSIgICAgTkFNRSBlc3RhcyB2YWxvcml6YXRhIHBlciB0aXUgZXJvIGthaiBsYSBrb21hbmRvaiBDT01NQU5EU1xuIgotIiAgICBlc3RhcyBwbGVudW1hdGFqLiIKKyJQbGVudW11IGtvbWFuZG9qbiBwb3IgxIlpdSBlcm8gZGUgbGlzdG9cbiIKKyJcbiIKKyIgICAgTGEgaXRlcmFjaW8g4oCeZm9y4oCfIHBsZW51bWFzIGxhIEtPTUFORE9KbiBwb3IgxIlpdSBlcm8gZGUgc2lhIGxpc3RvLlxuIgorIiAgICBTZSBsYSBwYXJ0byDCq2luIFZPUlRPSiAuLi47wrsgbWFsZXN0YXMsIMKraW4gXCIkQFwiwrsgZXN0YXMgdXphdGFcbiIKKyIgICAgYW5zdGF0YcWtZS4gIFBvciDEiWl1IGVsIGxhIFZPUlRPSiwgbGEgTk9NTyBlc3RhcyB2YWxvcml6YXRhIHBlciB0aXVcbiIKKyIgICAgZXJvIGthaiBsYSBLT01BTkRPSiBlc3RhcyBwbGVudW1hdGFqLlxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFRpdSBkZSBsYSBsYXN0ZSBwbGVudW1pdGEga29tYW5kby4iCiAKLSMgZm9yICgoOiBmb3IgKCggZXhwMTsgZXhwMjsgZXhwMyApKTsgZG8gQ09NTUFORFM7IGRvbmUKLSM6IGJ1aWx0aW5zLmM6MTQ5MgotIywgZnV6enkKKyMgZm9yICgoIGV4cDE7IGV4cDI7IGV4cDMgKSk7IGRvIENPTU1BTkRTOyBkb25lCisjIGZvciAoKCBFU1BSMTsgRVNQUjI7IEVTUFIzICkpOyBkbyBLT01BTkRPSjsgZG9uZQorIzogYnVpbHRpbnMuYzoxNDk1CiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCiAiICAgIFxuIgpAQCAtMzk5NCwxOCArNDY4OCwyMyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCi0iRWt2aXZhbGVudGFzIGFsXG4iCi0iXHQoKCBFWFAxICkpXG4iCi0iXHR3aGlsZSAoKCBFWFAyICkpOyBkb1xuIgotIlx0ICAgQ09NTUFORFNcbiIKLSJcdCAgICgoIEVYUDMgKSlcbiIKKyJBcml0bWV0aWthIGl0ZXJhY2lvXG4iCisiXG4iCisiICAgIEVrdml2YWxlbnRhcyBhbFxuIgorIlx0KCggRVNQUjEgKSlcbiIKKyJcdHdoaWxlICgoIEVTUFIyICkpOyBkb1xuIgorIlx0ICAgS09NQU5ET0pcbiIKKyJcdCAgICgoIEVTUFIzICkpXG4iCiAiXHRkb25lXG4iCi0iICAgIGtpZSBFWFAxLCBFWFAyIGthaiBFWFAzIGVzdGFzIGFyaXRtZXRpa2FqIGVzcHJpbW9qLiAgU2UgaXUgZWxcbiIKLSIgICAgaWxpIG1hbGVzdGFzLCAxIGVzdGFzIHV6YXRhIGFuc3RhdGHFrWUuIgorIiAgICBraWUgRVNQUjEsIEVTUFIyIGthaiBFU1BSMyBlc3RhcyBhcml0bWV0aWthaiBlc3ByaW1vai4gIFNlIGl1IGVsXG4iCisiICAgIGlsaSBtYWxlc3RhcywgMSBlc3RhcyB1emF0YSBhbnN0YXRhxa1lLlxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFRpdSBkZSBsYSBsYXN0ZSBwbGVudW1pdGEga29tYW5kby4iCiAKICMgc2VsZWN0IE5BTUUgW2luIFdPUkRTIC4uLiA7XSBkbyBDT01NQU5EUzsgZG9uZQotIzogYnVpbHRpbnMuYzoxNTEwCi0jLCBmdXp6eQorIyBzZWxlY3QgTk9OTyBbaW4gVk9SVE9KIC4uLiA7XSBkbyBLT01BTkRPSjsgZG9uZQorIzogYnVpbHRpbnMuYzoxNTEzCiBtc2dpZCAiIgogIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC00MDI0LDIyICs0NzIzLDI1IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKLSJXT1JEUyAuLi4gZXN0YXMgbWFsdm9sdmF0YWosIGdlbmVyYW50ZSBsaXN0b24gZGEgdm9ydG9qLiAgVGl1alxuIgotIiAgICB2b3J0b2ogZXN0YXMgZWxpZ2F0YWogZW4gbGEgxIllZmVyYXJ1am9uLCDEiWl1IGFudGHFrWF0ZSBkZSBzaWFcbiIKLSIgICAgbnVtZXJvLiAgU2Ug4oCeaW4gV09SRFPigJ8gbmUgZXN0YXMgaW5kaWtpdGEsIGxhIGVuaGF2byBkZSBcIiRAXCJcbiIKLSIgICAgZXN0YXMgdXphdGEgYW5zdGF0YcWtZS4gIExhIGludml0byBlbnRlbmF0YSBlbiBsYSB2YXJpYWJsbyBQUzNcbiIKLSIgICAgZXN0YXMgZWxpZ2F0YSBrYWogbGluaW8gZXN0YXMgbGVnYXRhIGVsIGxhIMSJZWZlbmlndWpvLiAgU2UgbGluaW9cbiIKLSIgICAga29uc2lzdGFzIGVsIG51bWVybyByZXNwb25kYSBhbCBpdSBlbCBsYSB2b3J0b2ogZWxpZ2F0YWosIGxhXG4iCi0iICAgIG5vbW8gTkFNRSByaWNldmFzIMSdaW4ga2llbCBzaWFuIHZhbG9yb24uICBTZSBsYSBsaW5pbyBlbnRlbmFzXG4iCi0iICAgIG5lbmlvbiwgV09SRFMga2FqIGxhIGludml0byByaXBldGnEnWFzLiAgxIhlIGxhIGRvc2llcmZpbm8gbGFcbiIKLSIgICAga29tYW5kbyBmaW5pxJ1hcy4gIEFqbmEgYWxpYSBlbmlnYcS1byB2YWt1aWdhcyBsYSB2YXJpYWJsb24gTkFNRS5cbiIKLSIgICAgTGEgbGVnaXRhIGxpbmlvIGtvbnNlcnZpxJ1hcyBlbiBsYSB2YXJpYWJsbyBSRVBMWS4gIENPTU1BTkRTXG4iCi0iICAgIGVzdGFzIHBsZW51bWF0YWogcG9zdCDEiWl1IGVsZWt0bywgxJ1pcyByZW5rb250acSdb3Mga29tYW5kbyBkZVxuIgotIiAgICBlbGlybyAoYnJlYWspLiIKKyJFbGVrdHUgdm9ydG9qbiBlbCBsaXN0byBrYWogcGxlbnVtdSBrb21hbmRvam5cbiIKKyJcbiIKKyIgICAgTWFsdm9sdnUgVk9SVE9KbiwgZ2VuZXJhbnRlIGxpc3RvbiBkYSB2b3J0b2ouICBUaXVqbiB2b3J0b2puIGVsaWd1XG4iCisiICAgIGVuIGxhIMSJZWZlcmFydWpvbiwgxIlpdSBhbnRhxa1hdGUgZGUgc2lhIG51bWVyby4gIFNlIOKAnmluIFZPUlRPSuKAn1xuIgorIiAgICBtYWxlc3RhcywgcHJlbnUgYW5zdGF0YcWtZSBsYSBlbmhhdm9uIGRlIFwiJEBcIi4gIFBvc3RlIGVsaWd1IGxhXG4iCisiICAgIGludml0b24gbGHFrSBsYSB2YXJpYWJsbyBQUzMga2FqIGxlZ3UgbGluaW9uIGVsIGxhIMSJZWZlbmlndWpvLiAgU2VcbiIKKyIgICAgbGEgbGluaW8ga29uc2lzdGFzIGVsIG51bWVybyByZXNwb25kYSBhbCBpdSBlbCBsYSB2b3J0b2ogZWxpZ2l0YWosXG4iCisiICAgIGxhIE5PTU8gcmljZXZ1IMSdaW4ga2llbCBzaWFuIHZhbG9yb24uICBTZSBsYSBsaW5pbyBlbnRlbmFzIG5lbmlvbixcbiIKKyIgICAgcmlwZXR1IFZPUlRPSm4ga2FqIGxhIGludml0b24uICDEiGUgbGEgZG9zaWVyZmlubyBsYSBrb21hbmRvXG4iCisiICAgIGZpbmnEnWFzLiAgQWpuYSBhbGlhIGVuaWdhxLVvIHZha3VpZ2FzIGxhIHZhcmlhYmxvbiBOT01PLiAgTGEgbGVnaXRhXG4iCisiICAgIGxpbmlvIGtvbnNlcnZpxJ1hcyBlbiBsYSB2YXJpYWJsbyBSRVBMWS4gIFBsZW51bXUgbGEgS09NQU5ET0puIHBvc3RcbiIKKyIgICAgxIlpdSBlbGVrdG8sIMSdaXMgcmVua29udGnEnW9zIGtvbWFuZG8gZGUgZWxpcm8gKGJyZWFrKS5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBUaXUgZGUgbGEgbGFzdGUgcGxlbnVtaXRhIGtvbWFuZG8uIgogCiAjIHRpbWUgWy1wXSBQSVBFTElORQotIzogYnVpbHRpbnMuYzoxNTMxCi0jLCBmdXp6eQorIyB0aW1lIFstcF0gRFVLVE8KKyM6IGJ1aWx0aW5zLmM6MTUzNAogbXNnaWQgIiIKICJSZXBvcnQgdGltZSBjb25zdW1lZCBieSBwaXBlbGluZSdzIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC00MDU0LDE1ICs0NzU2LDIzIEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBUaGUgcmV0dXJuIHN0YXR1cyBpcyB0aGUgcmV0dXJuIHN0YXR1cyBvZiBQSVBFTElORS4iCiBtc2dzdHIgIiIKLSJQbGVudW11IGxhIGR1a3RvbiBQSVBFTElORSBrYWogcG9zdGUgZWxpZ3UgdGFiZWxvbiBlbCBsYSByZWFsYSB0ZW1wbyxcbiIKKyJSYXBvcnR1IHRlbXBvbiBrb25zdW1pdGFuIGRlIGR1a3RvXG4iCisiXG4iCisiICAgIFBsZW51bXUgbGEgRFVLVE9uIGthaiBwb3N0ZSBlbGlndSB0YWJlbG9uIGVsIGxhIHJlYWxhIHRlbXBvLFxuIgogIiAgICBsYSDEiWVmcHJvY2Vzb3JhIHRlbXBvIGRlIGxhIHV6YW50bywga2FqIGxhIMSJZWZwcm9jZXNvcmEgdGVtcG9cbiIKLSIgICAgc2lzdGVtYSwga29uc3VtaXRhaiBwb3IgcGxlbnVtbyBkZSBQSVBFTElORS5cbiIKLSIgICAgTGEgb3BjaW8g4oCeLXDigJ8gaW9tIMWdYW7EnWFzIGxhIHByZXplbnRvbiBkZSBsYSB0YWJlbG8uXG4iCi0iICAgIExhIHZhcmlhYmxvIFRJTUVGT1JNQVQgZGlmaW5hcyBsYSBmb3JtYXRvbiBkZSBsYSBlbGlnYcS1by4iCisiICAgIHNpc3RlbWEsIGtvbnN1bWl0YWogcG9yIHBsZW51bWkgbGEgRFVLVE9uLCBraWFtIMSdaSBmaW7EnW9zLlxuIgorIlxuIgorIiAgICBPcGNpbzpcbiIKKyIgICAgLXBcdHByZXplbnR1IGxhIHRlbXBvam4gbGHFrSBsYSBwb3J0ZWJsYSBQb3ppa3NhIGZvcm1vXG4iCisiXG4iCisiICAgIExhIHZhcmlhYmxvIFRJTUVGT1JNQVQgZGlmaW5hcyBsYSBmb3Jtb24gZGUgbGEgZWxpZ2HEtW8uXG4iCisiXG4iCisiICAgIEVsaXJzdGF0bzpcbiIKKyIgICAgVGl1IGRlIGxhIERVS1RPLiIKIAogIyBjYXNlIFdPUkQgaW4gW1BBVFRFUk4gW3wgUEFUVEVSTl0uLi4pIENPTU1BTkRTIDs7XS4uLiBlc2FjCi0jOiBidWlsdGlucy5jOjE1NDgKLSMsIGZ1enp5CisjIGNhc2UgVk9SVE8gaW4gW8WcQUJMT05PIFt8IMWcQUJMT05PXS4uLikgS09NQU5ET0ogOztdLi4uIGVzYWMKKyM6IGJ1aWx0aW5zLmM6MTU1MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIHBhdHRlcm4gbWF0Y2hpbmcuXG4iCiAiICAgIFxuIgpAQCAtNDA3MiwxMyArNDc4MiwxOSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCi0iUGxlbnVtdSBrb21hbmRvam4gQ09NTUFORFMga29uZGnEiWUga2UgV09SRCBrb25ncnVhcyBrdW4gxZ1hYmxvbm8gUEFUVEVSTi5cbiIKLSIgICAgTGEgc3RyZWtvIOKAnnzigJ8gc2VydmFzIHBvciBkaXNpZ2kgxZ1hYmxvbm9qbiAoc2UgcGx1cmFqKS4iCisiUGxlbnVtdSBrb21hbmRvam4gbGHFrSDFnWFibG9ua29uZ3J1byBcbiIKKyJcbiIKKyIgICAgUGxlbnVtdSBLT01BTkRPSm4ga29uZGnEiWUga2UgVk9SVE8ga29uZ3J1YXMga3VuIMWcQUJMT05PLlxuIgorIiAgICBMYSBzdHJla28g4oCefOKAnyBzZXJ2YXMgcG9yIGRpc2lnaSDFnWFibG9ub2puIChzZSBwbHVyYWopLlxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFRpdSBkZSBsYSBrb21hbmRvIGxhc3RlIHBsZW51bWl0YS4iCiAKICMgaWYgQ09NTUFORFM7IHRoZW4gQ09NTUFORFM7IFsgZWxpZiBDT01NQU5EUzsgdGhlbiBDT01NQU5EUzsgXS4uLgogIyBbIGVsc2UgQ09NTUFORFM7IF0gZmkKLSM6IGJ1aWx0aW5zLmM6MTU2MAotIywgZnV6enkKKyMgaWYgS09NQU5ET0o7IHRoZW4gS09NQU5ET0o7WyBlbGlmIEtPTUFORE9KOyB0aGVuIEtPTUFORE9KOyBdLi4uCisjIFsgZWxzZSBLT01BTkRPSjsgXSBmaQorIzogYnVpbHRpbnMuYzoxNTYzCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gY29uZGl0aW9uYWwuXG4iCiAiICAgIFxuIgpAQCAtNDA5OCwxNyArNDgxNCwxOSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCi0iTGEga29tYW5kb2ogZWwgwqtpZiBDT01NQU5EU8K7IGVzdGFzIHBsZW51bWF0YWouIFNlIGxhIGVsaXJzdGF0byBlc3RhcyAwLFxuIgotIiAgICB0aWFtIGxhIGtvbWFuZG9qIGVsIMKrdGhlbiBDT01NQU5EU8K7IGVzdGFzIHBsZW51bWF0YWouIEFsaWUsIGxhxa12aWNlLFxuIgotIiAgICBrb21hbmRvaiBlbCDCq2VsaWYgQ09NTUFORFPCuyBlc3RhcyBwbGVudW1hdGFqLCBrYWogc2UgbGEgZWxpcnN0YXRvXG4iCi0iICAgIGVzdGFzIDAsIGxhIGtvbWFuZG9qIGRlIHRpZXMgwqtlbGlmIENPTU1BTkRTwrsgacSdYXMgcGxlbnVtYXRhaiBwb3N0IGtpb1xuIgotIiAgICBsYSBrb21hbmRvIOKAnmlm4oCfIGZpbmnEnWFzLiAgQWxpZSwgbGEga29tYW5kb2ogZWwgwqtlbHNlIENPTU1BTkRTwrsgacSdYXNcbiIKLSIgICAgcGxlbnVtYXRhaiAoc2UgdGl1aiBlbmVzdGFzKS4gIExhIGVsaXJzdGF0byBlc3RhcyB0aXUgZGUgbGEgbGFzdGFcbiIKLSIgICAga29tYW5kbyBwbGVudW1pdGEsIGHFrSAwIHNlIG5lbml1IGVsIGxhIGtvbmRpxIlvaiBlc3RpcyB2ZXJhLiIKKyJQbGVudW11IGtvbWFuZG9qbiBkZXBlbmRlIGplIGtvbmRpxIlvXG4iCisiXG4iCisiICAgIFBsZW51bXUgbGEga29tYW5kb2puIGVsIMKraWYgS09NQU5ET0rCuy4gU2UgbGEgZWxpcnN0YXRvIGVzdGFzIDAsXG4iCisiICAgIHRpYW0gcGxlbnVtdSBsYSBrb21hbmRvam4gZWwgwqt0aGVuIEtPTUFORE9KwrsuIEFsaWUsIGxhxa12aWNlLFxuIgorIiAgICBwbGVudW11IGxhIGtvbWFuZG9qIGVsIMKrZWxpZiBLT01BTkRPSsK7LCBrYWogc2UgbGEgZWxpcnN0YXRvXG4iCisiICAgIGVzdGFzIDAsIHBsZW51bXUgbGEga29tYW5kb2puIGRlIHRpZXMgwqt0aGVuIEtPTUFORE9KwrssIHBvc3Qga2lvXG4iCisiICAgIGxhIGtvbWFuZG8g4oCeaWbigJ8gZmluacSdYXMuICBBbGllIHBsZW51bXUgbGEga29tYW5kb2puIGVsXG4iCisiICAgIMKrZWxzZSBLT01BTkRPSsK7IChzZSB0aWFqIGVuZXN0YXMpLiAgTGEgZWxpcnN0YXRvIGVzdGFzIHRpdSBkZSBsYVxuIgorIiAgICBsYXN0YSBrb21hbmRvIHBsZW51bWl0YSwgYcWtIDAgc2UgbmVuaXUgZWwgbGEga29uZGnEiW9qIGVzdGlzIHZlcmEuIgogCiAjIHdoaWxlIENPTU1BTkRTOyBkbyBDT01NQU5EUzsgZG9uZQotIzogYnVpbHRpbnMuYzoxNTc3Ci0jLCBmdXp6eQorIyB3aGlsZSBLT01BTkRPSjsgZG8gS09NQU5ET0o7IGRvbmUKKyM6IGJ1aWx0aW5zLmM6MTU4MAogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IHN1Y2NlZWRzLlxuIgogIiAgICBcbiIKQEAgLTQxMTgsMTIgKzQ4MzYsMTcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgotIlJpcGV0ZSBtYWx2b2x2dSBrYWogcGxlbnVtdSBsYSBrb21hbmRvam4gZHVtIGxhIGxhc3RhIGVsIGxhIGtvbWFuZG9qXG4iCi0iICAgIENPTU1BTkRTIGRlIGxhIOKAnndoaWxl4oCfLXBhcnRvIGxpdmVyYXMgZWxpcnN0YXRvbiAwLiIKKyJQbGVudW1hZHUga29tYW5kb2puIGR1bSB0ZXN0byBzdWtjZXNhc1xuIgorIlxuIgorIiAgICBSaXBldGUgbWFsdm9sdnUga2FqIHBsZW51bXUgbGEgS09NQU5ET0puIGR1bSBsYSBsYXN0YSBlbCBsYVxuIgorIiAgICBLT01BTkRPSiBkZSBsYSDigJ53aGlsZeKAny1wYXJ0byBsaXZlcmFzIGVsaXJzdGF0b24gMC5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBUaXUgZGUgbGEga29tYW5kbyBsYXN0ZSBwbGVudW1pdGEuICIKIAogIyB1bnRpbCBDT01NQU5EUzsgZG8gQ09NTUFORFM7IGRvbmUKLSM6IGJ1aWx0aW5zLmM6MTU4OQotIywgZnV6enkKKyMgdW50aWwgS09NQU5ET0o7IGRvIEtPTUFORE9KOyBkb25lCisjOiBidWlsdGlucy5jOjE1OTIKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLlxuIgogIiAgICBcbiIKQEAgLTQxMzMsMTAgKzQ4NTYsMTcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgotIlJpcGV0ZSBtYWx2b2x2dSBrYWogcGxlbnVtdSBsYSBrb21hbmRvam4gZHVtIGxhIGxhc3RhIGVsIGxhIGtvbWFuZG9qXG4iCi0iICAgIENPTU1BTkRTIGRlIGxhIOKAnnVudGls4oCfLXBhcnRvIGxpdmVyYXMgZWxpcnN0YXRvbiBhbGlhbiBvbCAwLiIKKyJQbGVudW1hZHUga29tYW5kb2puIMSdaXMga2lhbSB0ZXN0byBzdWtjZXNvc1xuIgorIlxuIgorIiAgICBSaXBldGUgbWFsdm9sdnUga2FqIHBsZW51bXUgbGEga29tYW5kb2puIGR1bSBsYSBsYXN0YSBlbCBsYVxuIgorIiAgICBLT01BTkRPSiBkZSBsYSDigJ51bnRpbOKAny1wYXJ0byBsaXZlcmFzIGVsaXJzdGF0b24gYWxpYW4gb2wgMC5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBUaXUgZGUgbGEga29tYW5kbyBsYXN0ZSBwbGVudW1pdGEuIgogCi0jOiBidWlsdGlucy5jOjE2MDEKKyMgY29wcm9jIFtOQU1FXSBjb21tYW5kIFtyZWRpcmVjdGlvbnNdCisjIGNvcHJvYyBbTk9NT10gS09NQU5ETyBbQUxJRElSRUtUQURPSl0KKyM6IGJ1aWx0aW5zLmM6MTYwNAogbXNnaWQgIiIKICJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKICIgICAgXG4iCkBAIC00MTQ4LDggKzQ4NzgsMTkgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCisiS3JldSBrdW5wcm9jZXpvbiBub21vdGFuIE5PTU9cbiIKKyJcbiIKKyIgICAgUGxlbnVtdSBLT01BTkRPbiBuZXNpbmtyb25lLCBrb25la3RpbnRlIHBlciBkdWt0byDEnWlham4gxIllZmVsZ3Vqb25cbiIKKyIgICAga2FqIMSJZWZlbmd1am9uIGFsIGxhIGRvc2llcm51bWVyb2ogbGlzdGlnaXRhaiBlbiBsYSB0YWJlbG8gTk9NTyBkZVxuIgorIiAgICBsYSBrdXJhbnRhIMWdZWxvIMSJZSBsYSBpbmRpY29qIDAga2FqIDEuICBMYSBkZWZhxa1sdGEgTk9NTyBlc3Rhc1xuIgorIiAgICDigJ5DT1BST0PigJ8uXG4iCisiXG4iCisiICAgIEVsaXJzdGF0bzpcbiIKKyIgICAgVGl1IGRlIEtPTUFORE8uIgogCi0jOiBidWlsdGlucy5jOjE2MTUKKyMgZnVuY3Rpb24gbmFtZSB7IENPTU1BTkRTIDsgfSBvciBuYW1lICgpIHsgQ09NTUFORFMgOyB9CisjIGZ1bmN0aW9uIE5PTU8geyBLT01BTkRPSiA7IH0gIGHFrSAgTk9NTyAoKSB7IEtPTUFORE9KIDsgfQorIzogYnVpbHRpbnMuYzoxNjE4CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC00MTYyLDEwICs0OTAzLDE5IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgcmVhZG9ubHkuIgogbXNnc3RyICIiCisiRGlmaW51IMWdZWxmdW5rY2lvblxuIgorIlxuIgorIiAgICBLcmV1IMWdZWxmdW5rY2lvbiBrdW4gTk9NTy4gIFZva2l0ZSBraWVsIHNpbXBsYSBrb21hbmRvLCAgTk9NT1xuIgorIiAgICBwbGVudW1hcyBsYSBLT01BTkRPSm4gZW4gbGEgbWVkaW8gZGUgbGEgdm9rYW50YSDFnWVsby4gIMSIZSB2b2tvIGRlXG4iCisiICAgIE5PTU8gbGEga29tYW5kb2xpbmlham4gYXJndW1lbnRvam4gbGEgZnVua2NpbyByaWNldmFzIGVuICAkMC4uLiRuLFxuIgorIiAgICBrYWogbGEgZnVua2Npbm9tbyByZWdpc3RyacSdYXMgZW4gICRGVU5DTkFNRS5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBTdWtjZXNvLCBrcm9tIHNlIE5PTU8gZXN0YXMgbnVybGVnYS4iCiAKICMgZ3JvdXBpbmdfYnJhY2VzOiB7IENPTU1BTkRTIDsgfQotIzogYnVpbHRpbnMuYzoxNjI5Ci0jLCBmdXp6eQorIyB7IEtPTUFORE9KIDsgfQorIzogYnVpbHRpbnMuYzoxNjMyCiBtc2dpZCAiIgogIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKICIgICAgXG4iCkBAIC00MTc1LDExICs0OTI1LDE3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKLSJQbGVudW11IGxhIGtvbWFuZG9qbiBncnVwZS4gIFRpZWwgZWJsYXMgYXBsaWtpIGFsaWRpcmVrdGFkb24gYWxcbiIKLSIgICAgdHV0YSBncnVwbyBkYSBrb21hbmRvai4iCisiQXJpZ3Uga29tYW5kb2puIGVuIGtvbWFuZGFuIHVudW9uXG4iCisiXG4iCisiICAgIFBsZW51bXUgbGEga29tYW5kb2puIGdydXBlLiAgVGllbCBlYmxhcyBhcGxpa2kgYWxpZGlyZWt0YWRvbiBhbFxuIgorIiAgICB0dXRhIGdydXBvIGRhIGtvbWFuZG9qLlxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFRpdSBkZSBsYSBrb21hbmRvIGxhc3RlIHBsZW51bWl0YS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY0MQotIywgZnV6enkKKyMgam9iX3NwZWMgWyZdCisjIExBQk9SSU5ESUtPIFsmXQorIzogYnVpbHRpbnMuYzoxNjQ0CiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC00MTkyLDEzICs0OTQ4LDE5IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIHJlc3VtZWQgam9iLiIKIG1zZ3N0ciAiIgotIlNhbWtpZWwgbGEgYXJndW1lbnRvIEpPQl9TUEVDIGVuIGtvbWFuZG8g4oCeZmfigJ8uICBSZWFrdGl2aWd1XG4iCi0iICAgIGhhbHRpZ2l0YW4gYcWtIGZvbmFuIGxhYm9yb24uICBKT0JfU1BFQyBwb3ZhcyBlc3RpIGxhYm9ybm9tbyBhxa1cbiIKKyJSZWFrdGl2aWd1IGxhYm9yb24gZW4gbGEgZm9ub1xuIgorIlxuIgorIiAgICBTYW1raWVsIGxhIGFyZ3VtZW50byBMQUJPUklORElLTyBlbiBrb21hbmRvIOKAnmZn4oCfLiAgUmVha3RpdmlndVxuIgorIiAgICBoYWx0aWdpdGFuIGHFrSBmb25hbiBsYWJvcm9uLiAgTEFCT1JJTkRJS08gcG92YXMgZXN0aSBsYWJvcm5vbW8gYcWtXG4iCiAiICAgIGxhYm9ybnVtZXJvLiAgUG9zdG1ldGl0YSDigJ4m4oCfIHNlbmRhcyBsYSBsYWJvcm9uIGVuIGxhIGZvbm9uLFxuIgotIiAgICBzYW1raWVsIHNlIGxhIGtvbWFuZG8g4oCeYmfigJ8gZXN0dXMgYXBsaWtpdGEgYWwgbGFib3JpbmRpa28uIgorIiAgICBzYW1raWVsIHNlIGxhIGtvbWFuZG8g4oCeYmfigJ8gZXN0dXMgYXBsaWtpdGEgYWwgTEFCT1JJTkRJS08uXG4iCisiXG4iCisiICAgIEVsaXJzdGF0bzpcbiIKKyIgICAgVGl1IGRlIGxhIHJlYWtpdmlnaXRhIGxhYm9yby4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY1NgotIywgZnV6enkKKyMgKCggZXhwcmVzc2lvbiApKQorIyAoKCBFU1BSSU1PICkpCisjOiBidWlsdGlucy5jOjE2NTkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTQyMDgsMTIgKzQ5NzAsMTcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgMSBpZiBFWFBSRVNTSU9OIGV2YWx1YXRlcyB0byAwOyByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgotIkxhIGVzcHJpbW8gRVhQUkVTU0lPTiBrb21wdXRpxJ1hcyBsYcWtIGxhIGFyaXRtZXRpa2FqIHJlZ3Vsb2ouXG4iCi0iICAgIEVrdml2YWxlbnRhIGFsIMKrbGV0IEVYUFJFU1NJT07Cuy4iCisiS29tcHV0dSBhcml0bWV0aWthbiBlc3ByaW1vblxuIgorIlxuIgorIiAgICBMYSBlc3ByaW1vIEVYUFJFU1NJT04ga29tcHV0acSdYXMgbGHFrSBsYSBhcml0bWV0aWthaiByZWd1bG9qLlxuIgorIiAgICBFa3ZpdmFsZW50YXMgYWwgwqtsZXQgRVhQUkVTU0lPTsK7LlxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIDEsIHNlIGxhIHJlenVsdG8gZGUgbGEgRVNQUklNTyBlc3RhcyAwOyAwIGFsaW9rYXplLiIKIAogIyBbWyBleHByZXNzaW9uIF1dCi0jOiBidWlsdGlucy5jOjE2NjgKLSMsIGZ1enp5CisjIFtbIEVTUFJJTU8gXV0KKyM6IGJ1aWx0aW5zLmM6MTY3MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbmRpdGlvbmFsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtNDI0MCwyMyArNTAwNywzMSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgMCBvciAxIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBFWFBSRVNTSU9OLiIKIG1zZ3N0ciAiIgotIkxpdmVyYXMgZWxpcnN0YXRvbiAwIGHFrSAxIGxhxa0gbGEgcmV6dWx0byBkZSBrb21wdXRhZG8gZGUga29uZGnEiWFcbiIKLSIgICAgZXNwcmltbyBleHByZXNzaW9uLiAgRXNwcmltb2oga29uc2lzdGFzIGVsIGJhemFqIGVzcHJpbW9qLCBraWFqblxuIgotIiAgICB1emFzIGxhIHByaW1pdGl2YcS1byDigJ50ZXN04oCfLCBrYWoga29tcG9uacSdYXMgcGVyIHNla3ZhaiBvcGVyYWNpb2o6XG4iCisiUGxlbnVtdSBrb25kacSJa29tYW5kb25cbiIKICJcbiIKLSJcdCggRVNQUklNTyApXHRMaXZlcmFzIGxhIHZhbG9yb24gZGUgRVNQUklNT1xuIgotIlx0ISBFU1BSSU1PXHRWZXJhLCBzZSBFU1BSSU1PIGVzdGFzIG1hbHZlcmE7IGFsaWUgbWFsdmVyYVxuIgotIlx0RVNQMSAmJiBFU1AyXHRWZXJhLCBzZSB2ZXJhcyBhbWJhxa0gRVNQMSBrYWogRVNQMjsgYWxpZSBtYWx2ZXJhXG4iCi0iXHRFU1AxIHx8IEVTUDJcdFZlcmEsIHNlIHZlcmFzIGFqbmEgZWwgRVNQMSBrYWogRVNQMjsgYWxpZSBtYWx2ZXJhXG4iCisiICAgIExpdmVyYXMgZWxpcnN0YXRvbiAwIGHFrSAxIGxhxa0gbGEgcmV6dWx0byBkZSBrb21wdXRhZG8gZGUga29uZGnEiWFcbiIKKyIgICAgRVNQUklNTy4gIEVzcHJpbW9qIGtvbnNpc3RhcyBlbCBiYXphaiBlc3ByaW1vaiwga2lham4gdXphcyBsYVxuIgorIiAgICBwcmltaXRpdmHEtW8g4oCedGVzdOKAnywga2FqIGtvbXBvbmnEnWFzIHBlciBzZWt2YWogb3BlcmFjaW9qOlxuIgorIlxuIgorIiAgICAgICggRVNQUklNTyApICAgTGl2ZXJhcyBsYSB2YWxvcm9uIGRlIEVTUFJJTU9cbiIKKyIgICAgICAhIEVTUFJJTU9cdCAgICBWZXJhLCBzZSBFU1BSSU1PIGVzdGFzIG1hbHZlcmE7IGFsaWUgbWFsdmVyYVxuIgorIiAgICAgIEVTUDEgJiYgRVNQMiAgVmVyYSwgc2UgdmVyYXMgYW1iYcWtIEVTUDEga2FqIEVTUDI7IGFsaWUgbWFsdmVyYVxuIgorIiAgICAgIEVTUDEgfHwgRVNQMiAgVmVyYSwgc2UgdmVyYXMgYWpuYSBlbCBFU1AxIGthaiBFU1AyOyBhbGllIG1hbHZlcmFcbiIKICJcbiIKICIgICAgRW4gbGEgb3BlcmFjaW9qIOKAnj094oCfIGthaiDigJ4hPeKAnyBsYSBzaWdub8SJZW5vIGRla3N0cmUgZGUgbGEgb3BlcmFjaXNpZ25vXG4iCi0iICAgIHJvbGFzIGtpZWwgxZ1hYmxvbm8sIGtvbmdydWVjbyBhbCBraXUgZXN0YXMgdGVzdGF0YS4gIEVuIGxhIG9wZXJhY2lvalxuIgotIiAgICAmJiBrYWogfHwgbGEgZHVhaiBzdWJlc3ByaW1vaiBFU1AyIG5lIGVzdGFzIGtvbXB1dGF0YWogc2UgRVNQMSBqYW1cbiIKLSIgICAgc3VmacSJYXMgcG9yIGRldGVybWluaSBsYSByZXp1bHRvbi4iCisiICAgIHJvbGFzIGtpZWwgxZ1hYmxvbm8sIGtvbmdydWVjbyBhbCBraXUgZXN0YXMgdGVzdGF0YS4gIMSIZSBsYVxuIgorIiAgICBvcGVyYWNpbyDigJ49fuKAnyBsYSDEiWVubyBlbiBsYSBkZWtzdHJhIHBhcnRvIHJvbGFzIGtpZWwgcmVndWxlc3ByaW1vXG4iCisiICAgIHBvciBrb25ncnVlY3Rlc3RhZG8uXG4iCisiXG4iCisiICAgIEVuIGxhIG9wZXJhY2lvaiAmJiBrYWogfHwgbGEgZHVhaiBzdWJlc3ByaW1vaiBFU1AyIG5lIGVzdGFzXG4iCisiICAgIGtvbXB1dGF0YWogc2UgRVNQMSBqYW0gc3VmacSJYXMgcG9yIGRldGVybWluaSBsYSByZXp1bHRvbi5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICAwIGHFrSAxLCBsYcWtIGxhIHZhbG9ybyBkZSBFU1BSSU1PLiIKIAogIyBoZWxwIHZhcgotIzogYnVpbHRpbnMuYzoxNjk0Ci0jLCBmdXp6eQorIyB2YXJpYWJsZXMgLSBOYW1lcyBhbmQgbWVhbmluZ3Mgb2Ygc29tZSBzaGVsbCB2YXJpYWJsZXMKKyM6IGJ1aWx0aW5zLmM6MTY5NwogbXNnaWQgIiIKICJDb21tb24gc2hlbGwgdmFyaWFibGUgbmFtZXMgYW5kIHVzYWdlLlxuIgogIiAgICBcbiIKQEAgLTQzMDksNDAgKzUwODQsNDIgQEAKICIgICAgSElTVElHTk9SRVx0QSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBwYXR0ZXJucyB1c2VkIHRvIGRlY2lkZSB3aGljaFxuIgogIiAgICBcdFx0Y29tbWFuZHMgc2hvdWxkIGJlIHNhdmVkIG9uIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiBtc2dzdHIgIiIKLSJCQVNIX1ZFUlNJT05cdEluZm9ybW8gcHJpIGxhIHZlcnNpbyBkZSDEiWkgdGl1IEJhxZ1vLlxuIgorIk5vbW9qIGthaiB1em9qIGRlIGtvbXVuYWogxZ1lbHZhcmlhYmxvalxuIgorIlxuIgorIiAgICBCQVNIX1ZFUlNJT04gSW5mb3JtbyBwcmkgbGEgdmVyc2lvIGRlIMSJaSB0aXUgQmHFnW9cbiIKICIgICAgQ0RQQVRIXHRMaXN0byBkYSBkb3NpZXJ1am9qIChkaXNpZ2l0YWogcGVyIGR1cHVua3RvKSBlblxuIgotIlx0XHRraXVqIGFyZ3VtZW50YSBkb3NpZXJ1am8gZGUg4oCeY2TigJ8gZXN0dSBzZXLEiWF0YS5cbiIKKyJcdFx0a2l1aiBhcmd1bWVudGEgZG9zaWVydWpvIGRlIOKAnmNk4oCfIGVzdHUgc2VyxIlhdGFcbiIKICIgICAgR0xPQklHTk9SRVx0TGlzdG8gZGEgxZ1hYmxvbm9qIChkaXNpZ2l0YWogcGVyIGR1cHVua3RvKSBkaWZpbmFudGFcbiIKLSJcdFx0ZG9zaWVybm9tb2puIGlnbm9yZW5kYWpuIMSJZSBtYWx2b2x2byBkZSBkb3NpZXJpbmRpa29qLlxuIgotIiAgICBISVNURklMRVx0Tm9tbyBkZSBsYSBkb3NpZXJvIHBvciB2aWEga29tYW5kb2hpc3RvcmlvLlxuIgotIiAgICBISVNURklMRVNJWkUgIE1ha3NpbXVtYSBub21icm8gZGUgbGluaW9qIGtvbnNlcnZlYmxhaiBlbiBISVNURklMRS5cbiIKKyJcdFx0ZG9zaWVybm9tb2puIGlnbm9yZW5kYWpuIMSJZSBtYWx2b2x2byBkZSBkb3NpZXJpbmRpa29qXG4iCisiICAgIEhJU1RGSUxFXHROb21vIGRlIGxhIGRvc2llcm8gcG9yIHZpYSBrb21hbmRvaGlzdG9yaW9cbiIKKyIgICAgSElTVEZJTEVTSVpFICBNYWtzaW11bWEgbm9tYnJvIGRlIGxpbmlvaiBrb25zZXJ2ZWJsYWogZW4gSElTVEZJTEVcbiIKICIgICAgSElTVFNJWkVcdE1ha3NpbXVtYSBub21icm8gZGUgbGluaW9qIGVsIGtvbWFuZG9oaXN0b3Jpb1xuIgotIlx0XHRhdGluZ2VibGFqIGVsIHBsZW51bWF0YSDFnWVsby5cbiIKLSIgICAgSE9NRVx0UGxlbmEgZG9zaWVyaW5kaWtvIHByaSB2aWEgaGVqbWEgZG9zaWVydWpvLlxuIgotIiAgICBIT1NUTkFNRVx0Tm9tbyBkZSBsYSBydWxhbnRhIGtvbXB1dGlsby5cbiIKLSIgICAgSE9TVFRZUEVcdFRpcG8gZGUgbGEgxIllZnByb2Nlc29ybyBydWxhbnRhIMSJaSB0aXVuIEJhxZ1vbi5cbiIKKyJcdFx0YXRpbmdlYmxhaiBlbCBwbGVudW1hdGEgxZ1lbG9cbiIKKyIgICAgSE9NRVx0UGxlbmEgZG9zaWVyaW5kaWtvIHByaSB2aWEgaGVqbWEgZG9zaWVydWpvXG4iCisiICAgIEhPU1ROQU1FXHROb21vIGRlIGxhIHJ1bGFudGEga29tcHV0aWxvXG4iCisiICAgIEhPU1RUWVBFXHRUaXBvIGRlIGxhIMSJZWZwcm9jZXNvcm8gcnVsYW50YSDEiWkgdGl1biBCYcWdb25cbiIKICIgICAgSUdOT1JFRU9GXHREZXRlcm1pbmFzIGxhIGtvbmR1dG9uIGRlIGxhIMWdZWxvIGtpYW0gxJ1pIHJpY2V2YXNcbiIKICJcdFx0ZG9zaWVyZmluaWxvbiAoXkQsIFxcMDA0KSBraWVsIG51cmFuIGVuaWdhxLVvbi4gIFNlIMSdaVxuIgogIlx0XHRla3ppc3RhcyBrYWogaGF2YXMgbm9tYnJhbiB2YWxvcm9uLCB0aWFtIMSJaSB0aXVcbiIKLSJcdFx0aW5kaWthcywga2lvbSBkYSBzaW5zZWt2YWogZG9zaWVyZmluaWxvam4gdG9sZXJpXG4iCi0iXHRcdGFudGHFrSBvbCBsYSDFnWVsbyBmaW5pxJ11IChkZWZhxa1sdGUsIDEwKS4gIFNlIGxhXG4iCi0iXHRcdHZhcmlhYmxvIG5lIGVremlzdGFzLCBeRCBzaWduaWZhcyBmaW5vbiBkZSBlbmlnby5cbiIKLSIgICAgTUFDSFRZUEVcdFNpZ25vxIllbm8gcHJpc2tyaWJhbnRhIGxhIGtvbXB1dG9zaXN0ZW1vbiBydWxhbnRhblxuIgotIlx0XHTEiWkgdGl1biBCYcWdb24uXG4iCisiICAgICAgICAgICAgICAgIGluZGlrYXMsIGtpb20gZGEgc2luc2VrdmFqIGRvc2llcmZpbmlsb2puIHRvbGVyaVxuIgorIlx0XHRhbnRhxa0gb2wgbGEgxZ1lbG8gZmluacSddSAoZGVmYcWtbHRlLCAxMCkuICBTZW4gdGlhXG4iCisiXHRcdHZhbG9ybywgIF5EICBzaWduaWZhcyBmaW5vbiBkZSBlbmlnb1xuIgorIiAgICBNQUNIVFlQRVx0U2lnbm/EiWVubyBwcmlza3JpYmFudGEgbGEga29tcHV0c2lzdGVtb24gcnVsYW50YW5cbiIKKyJcdFx0xIlpIHRpdW4gQmHFnW9uXG4iCiAiICAgIE1BSUxDSEVDS1x0S2lvbSBvZnRlIChwb3N0IGtpb20gZGEgc2VrdW5kb2opIEJhxZ1vIGtvbnRyb2x1XG4iCi0iXHRcdHJpY2V2b24gZGUgbm92YSByZXRwb8WddGEgbWVzYcSdby5cbiIKKyJcdFx0cmljZXZvbiBkZSBub3ZhIHJldHBvxZ10YSBtZXNhxJ1vXG4iCiAiICAgIE1BSUxQQVRIXHRMaXN0byBkYSBkb3NpZXJub21vaiAoZGlzaWdpdGFqIHBlciBkdXB1bmt0bykga2l1am5cbiIKLSJcdFx0QmHFnW8gdGVzdHUgcHJpIG5vdmEgcmV0cG/FnXRhxLVvLlxuIgotIiAgICBPU1RZUEVcdFZlcnNpbyBkZSBVbmlrc28gc3VyIGtpdSDEiWkgdGl1IEJhxZ1vIHJ1bGnEnWFzLlxuIgorIlx0XHRCYcWdbyB0ZXN0dSBwcmkgbm92YSByZXRwb8WddGHEtW9cbiIKKyIgICAgT1NUWVBFXHRWZXJzaW8gZGUgVW5pa3NvIHN1ciBraXUgxIlpIHRpdSBCYcWdbyBydWxpxJ1hc1xuIgogIiAgICBQQVRIXHRMaXN0byBkYSBkb3NpZXJ1am9qIChkaXNpZ2l0YWogcGVyIGR1cHVua3RvKSBraWUgc2VyxIlpXG4iCi0iXHRcdGtvbWFuZG9qbi5cbiIKLSIgICAgUFJPTVBUX0NPTU1BTkQgIEtvbWFuZG8gcGxlbnVtZW5kYSBhbnRhxa0gxIlpdSB1bnVhcmFuZ2EgaW52aXRvLlxuIgotIiAgICBQUzFcdFx0U2lnbm/EiWVubyBkZSBsYSB1bnVhcmFuZ2EgaW52aXRvLlxuIgotIiAgICBQUzJcdFx0U2lnbm/EiWVubyBkZSBsYSBkdWFyYW5nYSBpbnZpdG8uXG4iCi0iICAgIFBXRFx0XHRQbGVuYSBkb3NpZXJpbmRpa28gZGUgbGEga3VyYW50YSBkb3NpZXJ1am8uXG4iCi0iICAgIFNIRUxMT1BUU1x0TGlzdG8gZGEgYWt0aXZhaiDFnWVsYWogb3BjaW9qIChkaXNpZ2l0YWogcGVyIGR1cHVua3RvaikuXG4iCi0iICAgIFRFUk1cdFRpcG8gZGUgbGEgdXphdGEgdGVybWluYWxvLlxuIgotIiAgICBUSU1FRk9STUFUXHRGb3JtYXRvIHBvciBlbGlnaSB0ZW1wb3N0YXRpc3Rpa29uIHBlciBsYSBrb21hbmRvIOKAnnRpbWXigJ8uXG4iCisiXHRcdGtvbWFuZG9qblxuIgorIiAgICBQUk9NUFRfQ09NTUFORCAgS29tYW5kbyBwbGVudW1lbmRhIGFudGHFrSDEiWl1IHVudWFyYW5nYSBpbnZpdG9cbiIKKyIgICAgUFMxXHRcdFNpZ25vxIllbm8gZGUgbGEgdW51YXJhbmdhIGludml0b1xuIgorIiAgICBQUzJcdFx0U2lnbm/EiWVubyBkZSBsYSBkdWFyYW5nYSBpbnZpdG9cbiIKKyIgICAgUFdEXHRcdFBsZW5hIGRvc2llcmluZGlrbyBkZSBsYSBrdXJhbnRhIGRvc2llcnVqb1xuIgorIiAgICBTSEVMTE9QVFNcdExpc3RvIGRhIGFrdGl2YWogxZ1lbGFqIG9wY2lvaiAoZGlzaWdpdGFqIHBlciBkdXB1bmt0b2opXG4iCisiICAgIFRFUk1cdFRpcG8gZGUgbGEgdXphdGEgdGVybWluYWxvXG4iCisiICAgIFRJTUVGT1JNQVRcdEZvcm1hdG8gcG9yIGVsaWdpIHRlbXBvc3RhdGlzdGlrb24gcGVyIGxhIGtvbWFuZG8g4oCedGltZeKAn1xuIgogIiAgICBhdXRvX3Jlc3VtZVx0U2UgbmUgdmFrdWEsIGluZGlrYXMga2Uga29tYW5kYW4gdm9ydG9uIHNvbGUgYXBlcmFudGFcbiIKICJcdFx0ZW4gbGluaW8gbGEgxZ1lbG8gdW51ZSBzZXLEiXUgZW4gbGEgbGlzdG8gZGUgaGFsdGV0aW50YWpcbiIKICJcdFx0bGFib3Jvai4gU2UgdHJvdml0YSB0aWUsIGxhIGxhYm9ybyBpxJ11IGRpYWxvZ2EuXG4iCkBAIC00MzUwLDE4ICs1MTI3LDE4IEBACiAiXHRcdGtvbWFuZGEgdm9ydG8ga3VuIGxhIGtvbWFuZG8gZWwgbGEgbGFib3JsaXN0by4gTGEgdmFsb3JvXG4iCiAiXHRcdOKAnnN1YnN0cmluZ+KAnyBpbmRpa2FzIGtlIGxhIGtvbWFuZGEgdm9ydG8ga29uZ3J1dSBrdW5cbiIKICJcdFx0c3VixIllbm8gZGUgbGEgbGFib3JvLiDEiGlhIGFsaWEgdmFsb3JvIGluZGlrYXMga2UgbGFcbiIKLSJcdFx0a29tYW5kbyBlc3R1IGtvbWVuY2EgcGFydG8gZGUgbGEgbGFib3Jub21vLlxuIgorIlx0XHRrb21hbmRvIGVzdHUga29tZW5jYSBwYXJ0byBkZSBsYSBsYWJvcm5vbW9cbiIKICIgICAgaGlzdGNoYXJzXHRTaWdub2ogcmVnYW50YWogcmV1em9uIGRlIGtvbWFuZG9oaXN0b3JpbyBrYWogcmFwaWRhblxuIgogIlx0XHRhbnN0YXRhxa1pZ29uLiBVbnVlIGVzdGFzIGxhIHJldXppZ2Egc2lnbm8sIGt1dGltZSDigJ4h4oCfLlxuIgogIlx0XHREdWUgZXN0YXMgbGEgc2lnbm8gZGUg4oCecmFwaWRhIGFuc3RhdGHFrWlnb+KAnywga3V0aW1lIOKAnl7igJ8uXG4iCiAiXHRcdFRyaWUgZXN0YXMgbGEgc2lnbm8gZGUg4oCeaGlzdG9yaWEga29tZW50aWxv4oCfLFxuIgotIlx0XHRrdXRpbWUg4oCeI+KAny5cbiIKKyJcdFx0a3V0aW1lIOKAniPigJ9cbiIKICIgICAgSElTVElHTk9SRVx0TGlzdG8gZGEgxZ1hYmxvbm9qIChkaXNpZ2l0YWogcGVyIGR1cHVua3RvKSBkaWZpbmFudGFcbiIKLSJcdFx0a2l1am4ga29tYW5kb2puIGtvbnNlcnZpIGVuIGxhIGhpc3RvcmlsaXN0by5cbiIKKyJcdFx0a2l1am4ga29tYW5kb2puIGtvbnNlcnZpIGVuIGxhIGhpc3RvcmlsaXN0b1xuIgogCi0jIHB1c2hkIFtkaXIgfCArTiB8IC1OXSBbLW5dCi0jOiBidWlsdGlucy5jOjE3NTEKLSMsIGZ1enp5CisjIHB1c2hkIFstbl0gWytOIHwgLU4gfCBkaXJdCisjIHB1c2hkIFstbl0gWytOIHwgLU4gfCBET1NJRVJVSk9dCisjOiBidWlsdGlucy5jOjE3NTQKIG1zZ2lkICIiCiAiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTQzOTEsMjkgKzUxNjgsMzYgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIGFyZ3VtZW50IGlzIHN1cHBsaWVkIG9yIHRoZSBkaXJlY3RvcnlcbiIKICIgICAgY2hhbmdlIGZhaWxzLiIKIG1zZ3N0ciAiIgotIlN1cnN0YWtpZ3UgZG9zaWVydWpvbiBzdXIgbGEgc3Rha29uIGRhIGRvc2llcnVqb2osIGHFrSBjaWtsZSDFnW92dVxuIgotIiAgICBsYSBzdGFrb24gdGllbCwga2UgbGEgbm92YSBzdGFrcGludG8gacSddSBsYSBrdXJhbnRhIGRvc2llcnVqby5cbiIKKyJTdXJzdGFraWd1IGRvc2llcnVqb2puXG4iCisiXG4iCisiICAgIFN1cnN0YWtpZ3UgZG9zaWVydWpvbiBzdXIgbGEgc3Rha29uIGRhIGRvc2llcnVqb2osIGHFrSBjaWtsZSDFnW92dVxuIgorIiAgICBsYSBzdGFrb24gdGllbCwga2UgbGEgbm92YSBzdGFrcGludG8gZXN0dSBsYSBrdXJhbnRhIGRvc2llcnVqby5cbiIKICIgICAgU2VuYXJndW1lbnRlLCBwZXJtdXR1IGxhIGR1IHBsZWogc3VwcmFqbiBkb3NpZXJ1am9qbiBkZSBsYSBzdGFrby5cbiIKICJcbiIKLSIgICAgK05cdENpa2xlIMWdb3Z1IGxhIHN0YWtvbiB0aWVsIGtlIGxhIE5hIGRvc2llcnVqbyAobm9tYnJhbnRlIGRlXG4iCisiICAgIE9wY2lvOlxuIgorIiAgICAtblx0TmUgxZ1hbsSddSBsYSBrdXJhbnRhbiBkb3NpZXJ1am9uIChuZSBwbGVudW11IGNkKSBzdXJzdGFraWdhbnRlXG4iCisiICAgICAgICBkb3NpZXJ1am9uIHN1ciBsYSBzdGFrb247IGRvLCBudXIgbGEgc3Rha29uIMWdYW7EnXVcbiIKKyJcbiIKKyIgICAgQXJndW1lbnRvajpcbiIKKyIgICAgK05cdENpa2xlIMWdb3Z1IGxhIHN0YWtvbiB0aWVsIGtlIGxhIE7CqiBkb3NpZXJ1am8gKG5vbWJyYW50ZSBkZVxuIgogIiAgICBcdG1hbGRla3N0cmUgZW4gbGEgbGlzdG8gZWxpZ2VibGEgcGVyIOKAnmRpcnPigJ8sIG51bWVyYW50ZSBkZSAwKVxuIgotIiAgICAgICAgacSddSBsYSBwaW50YS5cbiIKKyIgICAgICAgIGnEnXUgbGEgcGludGFcbiIKICJcbiIKLSIgICAgLU5cdENpa2xlIMWdb3Z1IGxhIHN0YWtvbiB0aWVsIGtlIGxhIE5hIGRvc2llcnVqbyAobm9tYnJhbnRlIGRlXG4iCisiICAgIC1OXHRDaWtsZSDFnW92dSBsYSBzdGFrb24gdGllbCBrZSBsYSBOwqogZG9zaWVydWpvIChub21icmFudGUgZGVcbiIKICIgICAgXHRkZWtzdHJlIGVuIGxhIGxpc3RvIGVsaWdlYmxhIHBlciDigJ5kaXJz4oCfLCBudW1lcmFudGUgZGUgMCkgacSddVxuIgotIiAgICAgICAgbGEgcGludGEuXG4iCisiICAgICAgICBsYSBwaW50YVxuIgogIlxuIgotIiAgICAtblx0TmUgxZ1hbsSddSBsYSBrdXJhbnRhbiBkb3NpZXJ1am9uIHN1cnN0YWtpZ2FudGUgZG9zaWVydWpvbiBzdXJcbiIKLSIgICAgXHRsYSBzdGFrb247IGRvLCBudXIgbGEgc3Rha29uIMWdYW7EnXUuXG4iCisiICAgIERPU0lFUlVKT1xuIgorIlx0c3Vyc3Rha2lndSBsYSBET1NJRVJVSk9uIGthaiBmYXJ1IMSdaW4gbGEgbm92YSBrdXJhbnRhXG4iCisiICAgIFx0ZG9zaWVydWpvIGxhYm9yYVxuIgogIlxuIgotIiAgICBkaXJcdHN1cnN0YWtpZ3UgbGEgZG9zaWVydWpvbiBkaXIga2FqIGZhcnUgxJ1pbiBsYSBub3ZhIGt1cmFudGFcbiIKLSIgICAgXHRkb3NpZXJ1am8gbGFib3JhLlxuIgorIiAgICBWaSBwb3ZhcyB2aWRpZ2kgbGEgc3Rha29uIGRhIGRvc2llcnVqb2ogcGVyIGxhIGtvbWFuZG8g4oCeZGlyc+KAny5cbiIKICJcbiIKLSIgICAgVmkgcG92YXMgdmlkaWdpIGxhIHN0YWtvbiBkYSBkb3NpZXJ1am9qIHBlciBsYSBrb21hbmRvIOKAnmRpcnPigJ8uIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFN1a2Nlc28sIGtyb20gc2UgYXBlcmFzIG1pc2EgYXJndW1lbnRvIGHFrSBzZSBjZCBtYWxzdWtjZXNhcy4iCiAKLSMgcG9wZCBbK04gfCAtTl0gWy1uXQotIzogYnVpbHRpbnMuYzoxNzg1Ci0jLCBmdXp6eQorIyBwb3BkIFstbl0gWytOIHwgLU5dCisjOiBidWlsdGlucy5jOjE3ODgKIG1zZ2lkICIiCiAiUmVtb3ZlIGRpcmVjdG9yaWVzIGZyb20gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtNDQzOSwyNSArNTIyMywzMCBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgYXJndW1lbnQgaXMgc3VwcGxpZWQgb3IgdGhlIGRpcmVjdG9yeVxuIgogIiAgICBjaGFuZ2UgZmFpbHMuIgogbXNnc3RyICIiCi0iRWxzdGFraWd1IGVyb2puIGVsIGxhIHN0YWtvIGRlIGRvc2llcnVqb2ouICBTZW5hcmd1bWVudGUsIGZvcmlndSBsYVxuIgotIiAgICBwaW50YW4gZG9zaWVydWpvbiBrYWogaXJ1IChjZCkgZW4gbGEgbm92YW4gcGludGFuIGRvc2llcnVqb24uXG4iCisiRWxzdGFraWd1IGRvc2llcnVqb2puXG4iCiAiXG4iCi0iICAgICtOXHRmb3JpZ3UgbGEgTmFuIGVyb24gZGUgbWFsZGVrc3RyZSBkZSBsYSBsaXN0byBlbGlnZWJsYSBwZXJcbiIKKyIgICAgRWxzdGFraWd1IGVyb2puIGVsIGxhIHN0YWtvIGRhIGRvc2llcnVqb2ouICBTZW5hcmd1bWVudGUsIGZvcmlndVxuIgorIiAgICBsYSBwaW50YW4gZG9zaWVydWpvbiBrYWogaXJ1IChjZCkgZW4gbGEgbm92YW4gcGludGFuIGRvc2llcnVqb24uXG4iCisiXG4iCisiICAgIE9wY2lvOlxuIgorIiAgICAtblx0TmUgxZ1hbsSddSAoY2QpIGxhIGt1cmFudGFuIGRvc2llcnVqb24gZGVtZXRhbnRlIGRvc2llcnVqb24gZWxcbiIKKyIgICAgICAgIGxhIHN0YWtvOyBkbywgbnVyIGxhIHN0YWtvbiDFnWFuxJ11XG4iCisiXG4iCisiICAgIEFyZ3VtZW50b2o6XG4iCisiICAgICtOXHRGb3JpZ3UgbGEgTi1hbiBlcm9uIGRlIG1hbGRla3N0cmUgZGUgbGEgbGlzdG8gZWxpZ2VibGEgcGVyXG4iCiAiXHTigJ5kaXJz4oCfLCBudW1lcmFudGUgZWtkZSAwLiAgRWt6LWU6IMKrcG9wZCArMMK7IGZvcmlnYXMgbGEgcGxlalxuIgotIlx0bWFsZGVrc3RyYW4gZG9zaWVydWpvbjsgwqtwb3BkICsxwrssIMSdaWFuIG5hamJhcm9uLlxuIgorIlx0bWFsZGVrc3RyYW4gZG9zaWVydWpvbjsgwqtwb3BkICsxwrssIMSdaWFuIG5hamJhcm9uXG4iCiAiXG4iCi0iICAgIC1OXHRmb3JpZ3UgbGEgTmFuIGVyb24gZGUgZGVrc3RyZSBkZSBsYSBsaXN0byBlbGlnZWJsYSBwZXIg4oCeZGlyc+KAnyxcbiIKLSJcdG51bWVyYW50ZSBla2RlIDAuICBFa3otZTogwqtwb3BkIC0wwrsgZm9yaWdhcyBsYSBsYXN0YW5cbiIKLSJcdGRvc2llcnVqb247IMKrcG9wZCAtMcK7LCBsYSBhbnRhxa1sYXN0YW4uXG4iCisiICAgIC1OXHRGb3JpZ3UgbGEgTi1hbiBlcm9uIGRlIGRla3N0cmUgZGUgbGEgbGlzdG8gZWxpZ2VibGEgcGVyXG4iCisiICAgICAgICDigJ5kaXJz4oCfLCBudW1lcmFudGUgZWtkZSAwLiAgRWt6LWU6IMKrcG9wZCAtMMK7IGZvcmlnYXMgbGEgbGFzdGFuXG4iCisiXHRkb3NpZXJ1am9uOyDCq3BvcGQgLTHCuywgbGEgYW50YcWtbGFzdGFuXG4iCiAiXG4iCi0iICAgIC1uXHROZSDFnWFuxJ11IGxhIGt1cmFudGFuIGRvc2llcnVqb24gZGVtZXRhbnRlIGRvc2llcnVqb24gZWwgbGFcbiIKLSJcdHN0YWtvOyBkbywgbnVyIGxhIHN0YWtvbiDFnWFuxJ11LlxuIgotIlxuIgotIiAgICBWaSBwb3ZhcyB2aWRpZ2kgbGEgc3Rha29uIGRhIGRvc2llcnVqb2ogcGVyIGxhIGtvbWFuZG8g4oCeZGlyc+KAny4iCisiICAgIFZpIHBvdmFzIHZpZGlnaSBsYSBzdGFrb24gZGEgZG9zaWVydWpvaiBwZXIgbGEga29tYW5kbyDigJ5kaXJz4oCfLlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFN1a2Nlc28sIGtyb20gc2UgYXBlcmFzIG1pc2EgYXJndW1lbnRvIGHFrSBzZSBjZCBtYWxzdWtjZXNhcy4iCiAKICMgZGlycyBbLWNscHZdIFsrTl0gWy1OXQotIzogYnVpbHRpbnMuYzoxODE1Ci0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzoxODE4CiBtc2dpZCAiIgogIkRpc3BsYXkgZGlyZWN0b3J5IHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTQ0ODUsMjUgKzUyNzQsMzMgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgotIkxpc3RpZ3UgbGEga3VyYW50YW4gZG9zaWVydWpzdGFrb24uIExhIGRvc2llcnVqb2ogdHJhZmFzIGVuXG4iCi0iICAgIGxhIHN0YWtvbiBwZXIgbGEga29tYW5kbyDigJ5wdXNoZOKAnyBrYWogZXN0YXMgZm9yaWdlYmxhaiBwZXIgbGFcbiIKLSIgICAga29tYW5kbyDigJ5wb3Bk4oCfLlxuIgorIkxpc3RpZ3UgZG9zaWVydWpzdGFrb25cbiIKICJcbiIKLSIgICAgTGEgb3BjaW8gLWwgaW5kaWthcyBrZSDigJ5kaXJz4oCfIG5lIGVsaWd1IG1hbGxvbmdham4gZm9ybW9qbiBkZVxuIgotIiAgICBkb3NpZXJ1am5vbW9qIHJlbGF0aXZlIGFsIHZpYSBoZWptYSBkb3NpZXJ1am8uICBULmUuIGFuc3RhdGHFrVxuIgotIiAgICDCq34vYmluwrsgYXBlcm9zIG5vbW8ga3VuIGFic29sdXRhIHZvam8sIGVrei1lIMKrL2hvbWVzL2Jmb3gvYmluwrsuXG4iCi0iICAgIExhIG9wY2lvIC12IGlnYXMga29tYW5kb24g4oCeZGlyc+KAnyBlbGlnaSBwbyB1bnUgZXJvbiBkZSBsYSBkb3NpZXJ1anN0YWtvXG4iCi0iICAgIGVuIGxpbmlvLCBtZXRhbnRlIGFudGHFrSBsYSBkb3NpZXJ1am5vbW8gxJ1pYW4gbnVtZXJvbiBlbiBsYSBzdGFrby5cbiIKLSIgICAgTGEgb3BjaW8gLXAgZmFyYXMgc2ltaWxlLCB0YW1lbiBuZSBudW1lcmFzIGxhIHBvemljaW9qbi5cbiIKLSIgICAgTGEgb3BjaW8gLWMgbWFscGxlbmlnYXMgbGEgZG9zaWVydWpzdGFrb24gZm9yaWdhbnRlIGVsIMSdaSDEiWl1am4gZXJvam4uXG4iCisiICAgIExpc3RpZ3UgbGEga3VyYW50YW4gZG9zaWVydWpzdGFrb24uIExhIGRvc2llcnVqb2ogdHJhZmFzIGVuIGxhXG4iCisiICAgIHN0YWtvbiBwZXIgbGEga29tYW5kbyDigJ5wdXNoZOKAnyBrYWogZXN0YXMgZm9yaWdlYmxhaiBwZXIgbGEga29tYW5kb1xuIgorIiAgICDigJ5wb3Bk4oCfLlxuIgogIlxuIgotIiAgICArTlx0ZWxpZ3UgbGEgTmFuIGVyb24gbm9tYnJhbnRlIGRlIG1hbGRla3N0cmUgZW4gbGEgbGlzdG8gZWxpZ2VibGFcbiIKLSJcdHBlciDigJ5kaXJz4oCfIHNlbiBvcGNpb2osIG51bWVyYW50ZSBla2RlIDAuXG4iCisiICAgIE9wY2lvajpcbiIKKyIgICAgLWMgIHZpxZ11IGxhIGRvc2llcnVqc3Rha29uIGZvcmlnYW50ZSBlbCDEnWkgxIlpdWpuIGVyb2puXG4iCisiICAgIC1sICBuZSB1enUgbWFsbG9uZ2FuIGZvcm1vbiBkZSBkb3NpZXJ1am5vbW9qIHJlbGF0aXZlIGFsIHZpYSBoZWptYVxuIgorIiAgICAgICAgZG9zaWVydWpvXG4iCisiICAgIC1wICBsaXN0aWd1IGRvc2llcnVqc3Rha29uIGxva2FudGUgcG8gdW51IGVyb24gc3VyIGxpbmlvXG4iCisiICAgIC12ICBsaXN0aWd1IHBvIHVudSBlcm9uIGRlIGxhIGRvc2llcnVqc3Rha28gZW4gbGluaW8sIG1ldGFudGVcbiIKKyIgICAgICAgIGFudGHFrSBsYSBkb3NpZXJ1am5vbW8gxJ1pYW4gbnVtZXJvbiBlbiBsYSBzdGFrbyBcbiIKICJcbiIKLSIgICAgLU5cdGVsaWd1IGxhIE5hbiBlcm9uIG5vbWJyYW50ZSBkZSBkZWtzdHJlIGVuIGxhIGxpc3RvIGVsaWdlYmxhXG4iCi0iXHRwZXIg4oCeZGlyc+KAnyBzZW4gb3BjaW9qLCBudW1lcmFudGUgZWtkZSAwLiIKKyIgICAgQXJndW1lbnRvajpcbiIKKyIgICAgK05cdGVsaWd1IGxhIE4tYW4gZXJvbiAobnVtZXJhbnRlIGRlIG1hbGRla3N0cmUga2FqIGVrZGUgMCkgZGUgbGFcbiIKKyIgICAgICAgIGxpc3RvIGVsaWdlYmxhIHBlciBzZW5vcGNpYSDigJ5kaXJz4oCfXG4iCisiXG4iCisiICAgIC1OXHRlbGlndSBsYSBOLWFuIGVyb24gKG51bWVyYW50ZSBkZSBkZWtzdHJlIGthaiBla2RlIDApIGVuIGxhXG4iCisiICAgICAgICBsaXN0byBlbGlnZWJsYSBwZXIgc2Vub3BjaWEg4oCeZGlyc+KAn1xuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFN1a2Nlc28sIGtyb20gc2UgYXBlcmFzIG1pc2Egb3BjaW8gYcWtIG9rYXphcyBlcmFyby4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg0NAorIyBzaG9wdCBbLXBxc3VdIFstb10gW29wdG5hbWUgLi4uXQorIyBzaG9wdCBbLXBxc3VdIFstb10gW09QQ0lOT01PIC4uLl0KKyM6IGJ1aWx0aW5zLmM6MTg0NwogbXNnaWQgIiIKICJTZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNDUyMywxMCArNTMyMCwyNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgT1BUTkFNRSBpcyBlbmFibGVkOyBmYWlscyBpZiBhbiBpbnZhbGlkIG9wdGlvbiBpc1xuIgogIiAgICBnaXZlbiBvciBPUFROQU1FIGlzIGRpc2FibGVkLiIKIG1zZ3N0ciAiIgorIsWcYWx0dSBrYWogbWFsxZ1hbHR1IMWdZWxham4gb3BjaW9qblxuIgorIlxuIgorIiAgICDFnGFuxJ11IGxhIHN0YXRvbiBkZSDEiWl1IGVsIGxhIE9QQ0lOT01Pai4gIFNlbiBvcGNpYWogYXJndW1lbnRvaixcbiIKKyIgICAgbGlzdGlndSDEiWl1am4gxZ1lbGFqbiBvcGNpb2puLCBpbmRpa2FudGUgcHJpIMSJaXUgZWwgaWxpLCDEiXUgxJ1pXG4iCisiICAgIGVzdGFzIMWdYWx0aXRhLlxuIgorIlxuIgorIiAgICBPcGNpb2o6XG4iCisiICAgIC1vICBsaW1pZ3UgT1BDSU5PTU9KbiBqZSB0aXVqIGRpZmluaXRhaiBwb3IgdXpvIHBlciDCq3NldCAtb8K7XG4iCisiICAgIC1wICBlbGlndSDEiWl1biDFnWVsYW4gb3BjaW9uIGluZGlrYW50ZSDEiXUgxJ1pIGVzdGFzIMWdYWx0aXRhXG4iCisiICAgIC1xICBzaWxlbnRpZ3UgZWxpZ29uXG4iCisiICAgIC1zICDFnWFsdHUgKGFrdGl2aWd1KSDEiWl1biBlbCBsYSBPUENJTk9NT2pcbiIKKyIgICAgLXUgIG1hbMWdYWx0dSAobWFsYWt0aXZpZ3UpIMSJaXVuIGVsIGxhIE9QQ0lOT01PalxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFN1a2Nlc28sIHNlIE9QQ0lOT01PIGVzdGFzIMWdYWx0aXRhOyBtYWxzdWtjZXNvLCBzZSBhcGVyYXMgbWlzYVxuIgorIiAgICBvcGNpbywgYcWtIHNlIE9QQ0lOT01PIGVzdGFzIG1hbMWdYWx0aXRhLlxuIgorIiAgICAiCiAKICMgcHJpbnRmIFstdiB2YXJdIGZvcm1hdCBbYXJndW1lbnRzXQotIzogYnVpbHRpbnMuYzoxODY1Ci0jLCBmdXp6eQorIyBwcmludGYgWy12IFZBUl0gRk9STUFUTyBbQVJHVU1FTlRPSl0KKyM6IGJ1aWx0aW5zLmM6MTg2OAogbXNnaWQgIiIKICJGb3JtYXRzIGFuZCBwcmludHMgQVJHVU1FTlRTIHVuZGVyIGNvbnRyb2wgb2YgdGhlIEZPUk1BVC5cbiIKICIgICAgXG4iCkBAIC00NTU1LDE4ICs1MzY5LDI5IEBACiAiYXNzaWdubWVudFxuIgogIiAgICBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCi0i4oCecHJpbnRm4oCfIGFyYW7EnWFzIGthaiBlbGlnYXMgbGEgYXJndW1lbnRvam4gYXJndW1lbnRzIGxhxa0gbGEgZm9ybWF0b1xuIgotIiAgICBmb3JtYXQuICBDaSB0aXUgZXN0YXMgc2lnbm/EiWVubyBlbnRlbmFudGEgMyB0aXBvam4gZGEgb2JqZWt0b2o6XG4iCisiQXJhbsSddSBrYWogZWxpZ3UgYXJndW1lbnRvam4gYXJndW1lbnRvam4gbGHFrSBmb3JtYXRvXG4iCisiXG4iCisiICAgIE9wY2lvOlxuIgorIiAgICAtdiBWQVIgIGVsaWd1IGVuIMWdZWx2YXJpYWJsb24gVkFSIGFuc3RhdGHFrSBlbiBsYSDEiWVmZWxpZ3Vqb25cbiIKKyJcbiIKKyIgICAgRk9STUFUTyBlc3RhcyBzaWdub8SJZW5vIGVudGVuYW50YSAzIHRpcG9qbiBkYSBvYmpla3RvajpcbiIKICIgICAgb3JkaW5hcmFqIHNpZ25vaiwgc2ltcGxlIGtvcGlhdGFqIGVuIGxhIMSJZWZlbGlndWpvbjtcbiIKICIgICAgZXNrYXBzZWt2ZW5jb2ogcG9yIHNpZ25vLCBrb252ZXJ0YXRhaiBrYWoga29waWF0YWogZW4gbGEgxIllZmVsaWd1am9uOyBcbiIKICIgICAga2FqIGZvcm1hdGFqIHNwZWNpZm9qLCDEiWl1IGVsIGtpdWoga2HFrXphcyBlbGlnb24gZGUgdmljYSBhcmd1bWVudG8uXG4iCi0iICAgIEFsZG9uZSBhbCBsYSBub3JtYWogc3BlY2lmaWxvaiBsYcWtIOKAnnByaW50ZigxKeKAnyxcbiIKKyJcbiIKKyIgICAgQWxkb25lIGFsIGxhIG5vcm1haiBzcGVjaWZpbG9qIGxhxa0g4oCecHJpbnRmKDEp4oCfIGthaiDigJ5wcmludGYoMynigJ8sXG4iCiAiICAgIOKAniVi4oCfIGlnYXMgbWFsdm9sdmkgZGVrbGl2YWpuIChcXCkgZXNrYXBzZWt2ZW5jb2puIGVuIHNpYSBhcmd1bWVudG8sIGthalxuIgogIiAgICDigJ4lceKAnyBvcmRvbmFzIGtlIGxhIGFyZ3VtZW50byBlbGnEnXUgZW4gZm9ybW8gdGHFrWdhIHBvciDFnWVsYSByZS1lbmlnby5cbiIKLSIgICAgU2UgxIllZXN0YXMgbGEgb3BjaW8g4oCeLXbigJ8sIGxhIGVsaWdvIHRyYWZhcyBlbiB0aWVzIHZhcmlhYmxvbiB2YXIga2FqXG4iCi0iICAgIG5lIGVuIGxhIMSJZWZlbGlndWpvbi4iCisiXG4iCisiICAgIEVsaXJzdGF0bzpcbiIKKyIgICAgU3VrY2Vzbywga3JvbSBzZSBhcGVyYXMgbWlzYSBvcGNpbyBhxa0gb2themFzIGVyYXJvIHByaSBza3JpYm8gYcWtXG4iCisiICAgIHZhbG9yaXpvLiIKIAotIzogYnVpbHRpbnMuYzoxODkyCisjIGNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8gT1BDSU9dIFstQSBBR09dIFstRyBHTE9CxZxBQl0KKyMgCSBbLVcgVk9SVExJU1RPXSAgWy1GIEZVTktDSU9dIFstQyBLT01BTkRPXSBbLVggRklMVFJPxZxBQl0KKyMgICAgICAgICAgWy1QIFBSRUZJS1NPXSBbLVMgU1VGRklLU09dIFtOT01PIC4uLl0KKyM6IGJ1aWx0aW5zLmM6MTg5NQorIywgZnV6enkKIG1zZ2lkICIiCiAiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCiAiICAgIFxuIgpAQCAtNDU4MCwxOSArNTQwNSw0MiBAQAogIiAgICAgIC1wXHRwcmludCBleGlzdGluZyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zIGluIGEgcmV1c2FibGUgZm9ybWF0XG4iCiAiICAgICAgLXJcdHJlbW92ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm9cbiIKICIgICAgXHROQU1FcyBhcmUgc3VwcGxpZWQsIGFsbCBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zXG4iCisiICAgICAgLURcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyBhcyB0aGUgZGVmYXVsdCBmb3IgY29tbWFuZHNcbiIKKyIgICAgXHR3aXRob3V0IGFueSBzcGVjaWZpYyBjb21wbGV0aW9uIGRlZmluZWRcbiIKKyIgICAgICAtRVx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIHRvIFwiZW1wdHlcIiBjb21tYW5kcyAtLVxuIgorIiAgICBcdGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZVxuIgogIiAgICBcbiIKICIgICAgV2hlbiBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgdGhlIGFjdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZVxuIgotIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS5cbiIKKyIgICAgdXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuICBUaGUgLUQgb3B0aW9uIHRha2VzXG4iCisiICAgIHByZWNlZGVuY2Ugb3ZlciAtRS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKKyJEaWZpbnUsIGtpZWwgUmVhZGxpbmUga29tcGxldGlndSBhcmd1bWVudG9qblxuIgorIlxuIgorIiAgICBQb3IgxIlpdSBOT01PIGRpZmludSwga2llbCBsYSBhcmd1bWVudG9qIGVzdHUga29tcGxldGlnb3Rhai4gIFNlXG4iCisiICAgIG5lbmlhIG9wY2lvIGVzdGFzIGRvbml0YSwgZWxpZ3UgbGEgYWt0dWFsYWpuIFxuIgorIiAgICBrb21wbGV0aWdvcmVndWxvam4gZW4gZm9ybW8gcmV1emVibGEgcG9yIGVuaWdvIGVuIGxhIMWdZWxvbi5cbiIKKyJcbiIKKyIgICAgT3BjaW9qOlxuIgorIiAgICAtcFx0a29tcGxldGlnb3JlZ3Vsb2puIGVuIGZvcm1vIHJldXplYmxhIHBvciBlbmlnbyBlbiBsYSDFnWVsb25cbiIKKyIgICAgLXJcdGZvcmlndSBsYSBrb21wbGV0aWdvcmVndWxvbiBwb3IgxIlpdSBOT01PLCBhxa0sIHNlIG5lbmlhIE5PTU9cbiIKKyJcdGVzdGFzIGRvbml0YSwgxIlpdWpuIGtvbXBsZXRpZ29yZWd1bG9qblxuIgorIlxuIgorIiAgICDEiGUgcHJvdm8ga29tcGxldGlnaSBsYSBhZ29qIGFwbGlracSdYXMgbGHFrSBsYSBvcmRvIGRlIG1hanVza2xhalxuIgorIiAgICBvcGNpb2ogZW4gbGEgxIlpLXN1cHJlIGxpc3RvLlxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFN1a2Nlc28sIGtyb20gc2UgbWlzYSBvcGNpbyBlc3RhcyBkb25pdGEsIGHFrSBlcmFybyBva2F6aXMuIgogCiAjIGNvbXBnZW4gWy1hYmNkZWZnamtzdXZdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XQogIyAJWy1XIHdvcmRsaXN0XSBbLVAgcHJlZml4XSBbLVMgc3VmZml4XSBbLVggZmlsdGVycGF0XQogIyAJWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gW3dvcmRdCi0jOiBidWlsdGlucy5jOjE5MTUKLSMsIGZ1enp5CisjIGNvbXBnZW4gWy1hYmNkZWZnamtzdXZdIFstbyBPUENJT10gIFstQSBBR09dIFstRyBHTE9CxZxBQl0KKyMgCVstVyB2T1JUTElTVE9dICBbLUYgRlVOS0NJT10gWy1DIEtPTUFORE9dIFstWCBGSUxUUk/FnEFCXQorIyAJWy1QIFBSRUZJS1NPXSBbLVMgU1VGRklLU09dIFtWT1JUT10KKyM6IGJ1aWx0aW5zLmM6MTkyMwogbXNnaWQgIiIKICJEaXNwbGF5IHBvc3NpYmxlIGNvbXBsZXRpb25zIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC00NjA0LDExICs1NDUyLDE4IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKLSJNb250cnUgbGEgZWJsYWpuIGtvbXBsZXRpZ29qbiBkZXBlbmRlIGplIGxhIG9wY2lvai4gIERlc3Rpbml0YVxuIgotIiAgICBwb3IgdXpvIGVuIMWdZWxmdW5rY2lvIGdlbmVyYW50YSBlYmxham4ga29tcGxldGlnb2puLlxuIgotIiAgICBTZSBldmVudHVhbGEgYXJndW1lbnRvIHdvcmQgZXN0YXMgZG9uaXRhLCBnZW5lcnUgxJ1pYWpuIGtvbmdydWHEtW9qbi4iCisiTW9udHJ1IGxhIGVibGFqbiBrb21wbGV0aWdvam4gZGVwZW5kZSBqZSBsYSBvcGNpb2pcbiIKKyJcbiIKKyIgICAgRGVzdGluaXRhIHBvciB1em8gZW4gxZ1lbGZ1bmtjaW8gZ2VuZXJhbnRhIGVibGFqbiBrb21wbGV0aWdvam4uICBTZVxuIgorIiAgICBsYSBldmVudHVhbGEgYXJndW1lbnRvIFZPUlRPIGVzdGFzIGRvbml0YSwgZ2VuZXJ1IMSdaWFqbiBrb25ncnVhxLVvam4uXG4iCisiXG4iCisiICAgIEVsaXJzdGF0bzpcbiIKKyIgICAgU3VrY2Vzbywga3JvbSBzZSBhcGVyYXMgbWlzYSBvcGNpbyBhxa0gb2themFzIGVyYXJvLiIKIAotIzogYnVpbHRpbnMuYzoxOTMwCisjIGNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gW25hbWUgLi4uXQorIyBjb21wb3B0IFstb3wrbyBPUENJT10gW05PTU8gLi4uXQorIzogYnVpbHRpbnMuYzoxOTM4CisjLCBmdXp6eQogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNDYyMSw2ICs1NDc2LDggQEAKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgIFx0LW8gb3B0aW9uXHRTZXQgY29tcGxldGlvbiBvcHRpb24gT1BUSU9OIGZvciBlYWNoIE5BTUVcbiIKKyIgICAgXHQtRFx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZGVmYXVsdFwiIGNvbW1hbmQgY29tcGxldGlvblxuIgorIiAgICBcdC1FXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJlbXB0eVwiIGNvbW1hbmQgY29tcGxldGlvblxuIgogIiAgICBcbiIKICIgICAgVXNpbmcgYCtvJyBpbnN0ZWFkIG9mIGAtbycgdHVybnMgb2ZmIHRoZSBzcGVjaWZpZWQgb3B0aW9uLlxuIgogIiAgICBcbiIKQEAgLTQ2MzYsMTYgKzU0OTMsNDMgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBOQU1FIGRvZXMgbm90XG4iCiAiICAgIGhhdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZGVmaW5lZC4iCiBtc2dzdHIgIiIKKyLFnGFuxJ11IGHFrSB2aWRpZ3Ugb3BjaW9qbiBwcmkga29tcGxldGlnb1xuIgorIlxuIgorIiAgICDFnGFuxJ11IGxhIGtvbXBsZXRpZ2FqbiBvcGNpb2puIHBvciDEiWl1IE5PTU8sIGHFrSAtIHNlIG5lbmlhIE5PTU9cbiIKKyIgICAgZXN0YXMgaW5kaWtpdGEgLSBsYSBudW5lIHBsZW51bWF0YW4ga29tcGxldGlnb24uICBTZSBuZW5pYSBPUENJT1xuIgorIiAgICBlc3RhcyBkb25pdGEsIGVsaWd1IGxhIGtvbXBsZXRpZ2FqbiBvcGNpb2puIHBvciDEiWl1IE5PTU8gYcWtIGxhXG4iCisiICAgIGt1cmFudGFuIGtvbXBsZXRpZ2FuIHJlZ3VsYXJvbi5cbiIKKyJcbiIKKyIgICAgT3BjaW9qOlxuIgorIiAgICAtbyBPUENJTyAgxZxhbHR1IGtvbXBsZXRpZ2FuIE9QQ0lPbiBwb3IgxIlpdSBOT01PXG4iCisiXG4iCisiICAgIFV6YW50ZSDCqytvwrsgYW5zdGF0YcWtIMKrLW/CuyBvbmkgcG92YXMgbWFsxZ1hbHRpIGxhIGluZGlraXRhbiBPUENJT24uXG4iCisiXG4iCisiICAgIEFyZ3VtZW50b2o6XG4iCisiICAgIMSIaXUgTk9NTyBpbmRpa2FzIGtvbWFuZG9uLCBwb3Iga2l1IGtvbXBsZXRpZ2EgcmVndWxvIGRldmFzIGVzdGlcbiIKKyIgICAgamFtIGRpZmluaXRhIHBlciBsYSBwcmltaXRpdmHEtW8g4oCeY29tcGxldGXigJ8uICBTZSBuZW5pYSBOT01PIGVzdGFzXG4iCisiICAgIGRvbml0YSwgdGlhbSBsYSBrb21hbmRvbiBjb21wb3B0IGRldmFzIHZva2kgZnVua2NpbyBnZW5lcmFudGEsIGthalxuIgorIiAgICDEnXVzdGUgbGEgb3BjaW9qIHBvciDEiWkgdGl1IG51bmUgcGxlbnVtYXRhIGdlbmVyaWxvIGRlIGtvbXBsZXRpZ29qXG4iCisiICAgIGVzdHUgxZ1hbsSdaXRhai5cbiIKKyJcbiIKKyIgICAgRWxpcnN0YXRvOlxuIgorIiAgICBTdWtjZXNvLCBrcm9tIHNlIGFwZXJhcyBtaXNhIG9wY2lvLCBhxa0gcG9yIE5PTU8gbWFua2FzIGRpZmlubyBkZVxuIgorIiAgICBrb21wbGV0aWdhIHJlZ3Vsby4iCiAKLSM6IGJ1aWx0aW5zLmM6MTk1OAorIyBtYXBmaWxlIFstbiBjb3VudF0gWy1PIG9yaWdpbl0gWy1zIGNvdW50XSBbLXRdIFstdSBmZF0gWy1DIGNhbGxiYWNrXQorIyAJWy1jIHF1YW50dW1dIFthcnJheV0KKyMgbWFwZmlsZSBbLW4gTk9NQlJJTE9dIFstTyBPUklHSU5PXSBbLXMgTk9NQlJJTE9dIFstdF0gWy11IEROXSBbLUMgUkVUUk9WT0tPXQorIyAJWy1jIEtWQU5UT10gW1RBQkVMT10gCisjOiBidWlsdGlucy5jOjE5NjgKKyMsIGZ1enp5CiBtc2dpZCAiIgotIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKKyJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCi0iICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgYXJyYXkgdmFyaWFibGUgQVJSQVksIG9yICIKLSJmcm9tXG4iCi0iICAgIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlIE1BUEZJTEUgIgotImlzXG4iCi0iICAgIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgorIiAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUgIgorIkFSUkFZLCBvclxuIgorIiAgICBmcm9tIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlICIKKyJNQVBGSUxFXG4iCisiICAgIGlzIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgogIiAgICBcbiIKICIgICAgT3B0aW9uczpcbiIKICIgICAgICAtbiBjb3VudFx0Q29weSBhdCBtb3N0IENPVU5UIGxpbmVzLiAgSWYgQ09VTlQgaXMgMCwgYWxsIGxpbmVzIGFyZSAiCkBAIC00NjcyLDYwNSArNTU1Niw1OSBAQAogIiAgICBhc3NpZ25pbmcgdG8gaXQuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBBUlJBWSBpcyByZWFkb25seS4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkgIgorIm9yXG4iCisiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKIG1zZ3N0ciAiIgorIkxlZ3UgbGluaW9qbiBlbCBsYSDEiWVmZW5pZ3VqbyBlbiB0YWJlbHZhcmlhYmxvblxuIgorIlxuIgorIiAgICBMZWd1IGxpbmlvam4gZWwgbGEgxIllZmVuaWd1am8gZW4gbGEgdmFyaWFibG9uIFRBQkVMTywgYcWtIGVsIGxhXG4iCisiICAgIGRvc2llcm51bWVybyBETiwgc2UgxIllZXN0YXMgbGEgb3BjaW8g4oCeLXXigJ8uICBMYSBkZWZhxa1sdGEgdGFiZWxvXG4iCisiICAgIGVzdGFzIGxhIHZhcmlhYmxvIE1BUEZJTEUuXG4iCisiXG4iCisiICAgIE9wY2lvajpcbiIKKyIgICAgLW4gTk9NQlJJTE8gS29waXUgbWFrc2ltdW1lIE5PTUJSSUxPbiBkYSBsaW5pb2ouICBTZSBOT01CUklMT1xuIgorIiAgICAgICAgICAgICAgICBlc3RhcyAwLCBrb3BpdSDEiWl1am4gbGluaW9qblxuIgorIiAgICAtTyBPUklHSU5PICBLb21lbmN1IHZhbG9yaXppIGxhIFRBQkVMT24gZWtkZSBsYSBpbmRla3NvIE9SSUdJTk8uXG4iCisiICAgICAgICAgICAgICAgIExhIGRlZmHFrWx0YSBvcmlnaW5vIGVzdGFzIDAuXG4iCisiICAgIC1zIE5PTUJSSUxPIElnbm9ydSBOT01CUklMT24gZGEgdW51YWogbGluaW9qXG4iCisiICAgIC10ICAgICAgICAgIEZvcmlndSBsYSB2b3N0YW4gbGluaWZpbmlsb24gZWwgxIlpdSBsZWdpdGEgbGluaW9cbiIKKyIgICAgLXUgRE4gICAgICAgTGVndSBwZXIgbGEgZG9zaWVybnVuZXJvIEROIGFuc3RhdGHFrSBlbCBsYSDEiWVmZW5pZ3Vqb1xuIgorIiAgICAtQyBSRVRST1ZPS08gIFBsZW51bXUgUkVUUk9WT0tPbiBwb3N0IMSJaXUgS1ZBTlRPIGRhIGxlZ2l0YWogbGluaW9qXG4iCisiICAgIC1jIEtWQU5UT1x0UG8ga2lvbSBkYSBsaW5pb2ogbGVnaSBpbnRlciBzaW5zZWt2YWogUkVUUk9WT0tPalxuIgorIlxuIgorIiAgICBBcmd1bWVudG86XG4iCisiICAgIFRBQkVMT1x0Tm9tbyBkZSB0YWJlbHZhcmlhYmxvIHV6b3RhIHBvciBsYSBsZWdvdGFqIGRhdHVtb2pcbiIKKyJcbiIKKyIgICAgU2Ug4oCeLUPigJ8gYXBlcmFzIHNlbiDigJ4tY+KAnywgbGEgZGVmYcWtbHRhIGt2YW50byBlc3RhcyA1MDAwLiAgxIhlXG4iCisiICAgIGtvbXB1dG8gZGUgUkVUUk9WT0tPIMSJaSB0aXUgcmljZXZhcyBsYSBpbmRpY29uIGRlIGxhIHNla3ZhXG4iCisiICAgIGVsZW1lbnRvIGRlIGxhIHRhYmVsbyBraWVsIGtyb21hbiBhcmd1bWVudG9uLlxuIgorIlxuIgorIiAgICBTZSBtYW5rYXMgbWFsaW1wbGljYSBPUklHSU5PLCBtYXBmaWxlIHZpxZ1vcyBsYSBUQUJFTE9uIGFudGHFrVxuIgorIiAgICB2YWxvcml6aSDEnWluLlxuIgorIlxuIgorIiAgICBFbGlyc3RhdG86XG4iCisiICAgIFN1a2Nlc28sIGtyb20gc2UgYXBlcmFzIG1pc2Egb3BjaW8gYcWtIFRBQkVMTyBlc3RhcyBudXJsZWdhLiIKIAotIzogYnVpbHRpbnMuYzoxOTkwCisjIHJlYWRhcnJheSBbLW4gY291bnRdIFstTyBvcmlnaW5dIFstcyBjb3VudF0gWy10XSBbLXUgZmRdIFstQyBjYWxsYmFja10KKyMgCSAgWy1jIHF1YW50dW1dIFthcnJheV0KKyM6IGJ1aWx0aW5zLmM6MjAwMQogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gYSBmaWxlIGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgogIiAgICBBIHN5bm9ueW0gZm9yIGBtYXBmaWxlJy4iCiBtc2dzdHIgIiIKKyJMZWd1IGxpbmlvam4gZWwgbGEgxIllZmVuaWd1am8gZW4gdGFiZWx2YXJpYWJsb25cbiIKKyJcbiIKKyIgICAgU2lub25pbW8gZGUg4oCebWFwZmlsZeKAny4iCiAKLSN+IG1zZ2lkICIgIgotI34gbXNnc3RyICIgIgorI34gbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorI34gbXNnc3RyICJ4cmVhbGxvYygpOiBOZSBwb3ZhcyByZW9rdXBpICVsdSBiYWp0b2puICglbHUgYmFqdG9qIGRpc3BvbmlnaXRhaikuIgogCi0jIGNhbGxlciBbRVhQUl0KLSN+IG1zZ2lkICJXaXRob3V0IEVYUFIsIHJldHVybnMgcmV0dXJucyBcIiRsaW5lICRmaWxlbmFtZVwiLiAgV2l0aCBFWFBSLCIKLSN+IG1zZ3N0ciAiU2UgRVhQUiBtYWxlc3RhcywgbGl2ZXJpxJ1hcyDCqyRsaW5lICRmaWxlbmFtZcK7LiAgU2UgRVhQUiDEiWVlc3RhcywiCisjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCisjfiBtc2dzdHIgInhyZWFsbG9jOiBOZSBlYmxhcyByZW9rdXBpICVsdSBiYWp0b2puLiIKIAotI34gbXNnaWQgInJldHVybnMgXCIkbGluZSAkc3Vicm91dGluZSAkZmlsZW5hbWVcIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiIKLSN+IG1zZ3N0ciAiTGl2ZXJpxJ1hcyDCqyRsaW5lICRzdWJyb3V0aW5lICRmaWxlbmFtZcK7OyDEiWkgdGl1IGtyb21pbmZvcm1vIgotCi0jfiBtc2dpZCAiY2FuIGJlIHVzZWQgdXNlZCB0byBwcm92aWRlIGEgc3RhY2sgdHJhY2UuIgotI34gbXNnc3RyICJVemVibGFzIHBvciB2aWRpZ2kgbGEgdm9rLXN0YWtvbi4iCi0KLSN+IG1zZ2lkICIiCi0jfiAiVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZSIKLSN+IG1zZ3N0ciAiTGEgdmFsb3JvIGRlIEVYUFIgaW5kaWthcywga2lvbSBkYSB2b2trYWRyb2ogcmV0cm9pcmkgZGlzZGUgbGEiCi0KLSN+IG1zZ2lkICJjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKLSN+IG1zZ3N0ciAia3VyYW50YTsgbGEgcGludGEga2Fkcm8gaGF2YXMgbGEgbnVtZXJvbiAwLiIKLQotI34gbXNnaWQgIiVzOiBpbnZhbGlkIG51bWJlciIKLSN+IG1zZ3N0ciAiJXM6IE1pc2Egbm9tYnJvIGHFrSBudW1lcm8iCi0KLSN+IG1zZ2lkICJTaGVsbCBjb21tYW5kcyBtYXRjaGluZyBrZXl3b3JkcyBgIgotI34gbXNnc3RyICLFnGVsYWoga29tYW5kb2oga29uZ3J1YWoga3VuIGxhIMWdbG9zaWx2b3J0b2ogYCIKLQotIyBkaXJzCi0jfiBtc2dpZCAiRGlzcGxheSB0aGUgbGlzdCBvZiBjdXJyZW50bHkgcmVtZW1iZXJlZCBkaXJlY3Rvcmllcy4gIERpcmVjdG9yaWVzIgotI34gbXNnc3RyICJMaXN0aWd1IGxhIGt1cmFudGFuIGRvc2llcnVqc3Rha29uLiBMYSBkb3NpZXJ1am9qIHRyYWZhcyBlbiIKLQotI34gbXNnaWQgImZpbmQgdGhlaXIgd2F5IG9udG8gdGhlIGxpc3Qgd2l0aCB0aGUgYHB1c2hkJyBjb21tYW5kOyB5b3UgY2FuIGdldCIKLSN+IG1zZ3N0ciAibGEgc3Rha29uIHBlciBsYSBrb21hbmRvIOKAnnB1c2hk4oCfIGthaiBlc3RhcyBmb3JpZ2VibGFqIHBlciBsYSIKLQotI34gbXNnaWQgImJhY2sgdXAgdGhyb3VnaCB0aGUgbGlzdCB3aXRoIHRoZSBgcG9wZCcgY29tbWFuZC4iCi0jfiBtc2dzdHIgImtvbWFuZG8g4oCecG9wZOKAny4iCi0KLSN+IG1zZ2lkICIiCi0jfiAiVGhlIC1sIGZsYWcgc3BlY2lmaWVzIHRoYXQgYGRpcnMnIHNob3VsZCBub3QgcHJpbnQgc2hvcnRoYW5kIHZlcnNpb25zIgorIyBYWFg6IGZhdGFsX2Vycm9yCisjfiBtc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgogI34gbXNnc3RyICIiCi0jfiAiTGEgb3BjaW8gLWwgaW5kaWthcyBrZSBsYSBrb21hbmRvIOKAnmRpcnPigJ8gbmUgZWxpZ3UgbWFsbG9uZ2FqbiBmb3Jtb2puIgotCi0jfiBtc2dpZCAiIgotI34gIm9mIGRpcmVjdG9yaWVzIHdoaWNoIGFyZSByZWxhdGl2ZSB0byB5b3VyIGhvbWUgZGlyZWN0b3J5LiAgVGhpcyBtZWFucyIKLSN+IG1zZ3N0ciAiZGUgZG9zaWVydWpub21vaiByaWxhdGUgYWwgdmlhIGhlam1hIGRvc2llcnVqby4gVC5lLiBhbnN0YXRhxa0gfi9iaW4iCi0KLSN+IG1zZ2lkICJ0aGF0IGB+L2JpbicgbWlnaHQgYmUgZGlzcGxheWVkIGFzIGAvaG9tZXMvYmZveC9iaW4nLiAgVGhlIC12IGZsYWciCi0jfiBtc2dzdHIgImFwZXJvcyBub21vIGt1biBhYnNvbHV0YSB2b2pvLCBla3otZSDigJ4vaG9tZXMvYmZveC9iaW7igJ8uIExhIG9wY2lvIC12IgotCi0jfiBtc2dpZCAiY2F1c2VzIGBkaXJzJyB0byBwcmludCB0aGUgZGlyZWN0b3J5IHN0YWNrIHdpdGggb25lIGVudHJ5IHBlciBsaW5lLCIKLSN+IG1zZ3N0ciAiaWdhcyDigJ5kaXJz4oCfIGVsaWdpIHBvIHVudSBlcm9uIGRlIGxhIGRvc2llcnVqc3Rha28gZW4gbGluaW8sIgotCi0jfiBtc2dpZCAiIgotI34gInByZXBlbmRpbmcgdGhlIGRpcmVjdG9yeSBuYW1lIHdpdGggaXRzIHBvc2l0aW9uIGluIHRoZSBzdGFjay4gIFRoZSAtcCIKLSN+IG1zZ3N0ciAibWV0YW50ZSBhbnRhxa0gbGEgZG9zaWVydWpub21vIMSdaWFuIG51bWVyb24gZW4gbGEgc3Rha28uIExhIG9wY2lvIC1wIgotCi0jfiBtc2dpZCAiZmxhZyBkb2VzIHRoZSBzYW1lIHRoaW5nLCBidXQgdGhlIHN0YWNrIHBvc2l0aW9uIGlzIG5vdCBwcmVwZW5kZWQuIgotI34gbXNnc3RyICJmYXJhcyBsYSBzYW1vbiBzZWQgc2VuIG51bWVyaSBsYSBwb3ppY2lvam4uIgotCi0jfiBtc2dpZCAiIgotI34gIlRoZSAtYyBmbGFnIGNsZWFycyB0aGUgZGlyZWN0b3J5IHN0YWNrIGJ5IGRlbGV0aW5nIGFsbCBvZiB0aGUgZWxlbWVudHMuIgotI34gbXNnc3RyICIiCi0jfiAiTGEgb3BjaW8gLWMgbWFscGxlbmlnYXMgbGEgZG9zaWVydWpzdGFrb24gZm9yaWdhbnRlIGVsIMSdaSDEiWl1am4gZXJvam4uIgotCi0jfiBtc2dpZCAiIgotI34gIitOICAgZGlzcGxheXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0IHNob3duIGJ5IgotI34gbXNnc3RyICIrTlx0ZWxpZ3UgbGEgTmFuIGVyb24gbm9tYnJhbnRlIGRlIG1hbGRla3N0cmUgZW4gbGEgbGlzdG8iCi0KLSN+IG1zZ2lkICIgICAgIGRpcnMgd2hlbiBpbnZva2VkIHdpdGhvdXQgb3B0aW9ucywgc3RhcnRpbmcgd2l0aCB6ZXJvLiIKLSN+IG1zZ3N0ciAiXHRlbGlnZWJsYSBwZXIg4oCeZGlyc+KAnyBzZW4gb3BjaW9qLCBrb21lbmNhbnRlIHBlciAwLiIKLQotI34gbXNnaWQgIiIKLSN+ICItTiAgIGRpc3BsYXlzIHRoZSBOdGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgcmlnaHQgb2YgdGhlIGxpc3Qgc2hvd24gYnkiCi0jfiBtc2dzdHIgIi1OXHRlbGlndSBsYSBOYW4gZXJvbiBub21icmFudGUgZGUgZGVrc3RyZSBlbiBsYSBsaXN0byIKLQotIyBwdXNoZAotI34gbXNnaWQgIkFkZHMgYSBkaXJlY3RvcnkgdG8gdGhlIHRvcCBvZiB0aGUgZGlyZWN0b3J5IHN0YWNrLCBvciByb3RhdGVzIgotI34gbXNnc3RyICJTdXJzdGFraWd1IGRvc2llcnVqb24gc3VyIGxhIHN0YWtvbiBkZSBkb3NpZXJ1am9qLCBhxa0gY2lrbGUgxZ1vdnUiCi0KLSN+IG1zZ2lkICJ0aGUgc3RhY2ssIG1ha2luZyB0aGUgbmV3IHRvcCBvZiB0aGUgc3RhY2sgdGhlIGN1cnJlbnQgd29ya2luZyIKLSN+IG1zZ3N0ciAibGEgc3Rha29uIHRpZWwsIGtlIGxhIG5vdmEgc3Rha3BpbnRvIGnEnXUgbGEga3VyYW50YSBkb3NpZXJ1am8uIgotCi0jfiBtc2dpZCAiZGlyZWN0b3J5LiAgV2l0aCBubyBhcmd1bWVudHMsIGV4Y2hhbmdlcyB0aGUgdG9wIHR3byBkaXJlY3Rvcmllcy4iCi0jfiBtc2dzdHIgIlNlbmFyZ3VtZW50ZSwgcGVybXV0dSBsYSBkdSBwbGVqIHN1cHJham4gZG9zaWVydWpvam4gZGUgbGEgc3Rha28uIgotCi0jfiBtc2dpZCAiK04gICBSb3RhdGVzIHRoZSBzdGFjayBzbyB0aGF0IHRoZSBOdGggZGlyZWN0b3J5IChjb3VudGluZyIKLSN+IG1zZ3N0ciAiK05cdENpa2xlIMWdb3Z1IGxhIHN0YWtvbiB0aWVsIGtlIGxhIE5hIGRvc2llcnVqbyAobm9tYnJhbnRlIGRlIgotCi0jfiBtc2dpZCAiICAgICBmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0IHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aCIKLSN+IG1zZ3N0ciAiXHRtYWxkZWtzdHJlIGVuIGxhIGxpc3RvIGVsaWdlYmxhIHBlciDigJ5kaXJz4oCfLCBudW1lcmFudGUgZWtkZSIKLQotI34gbXNnaWQgIiAgICAgemVybykgaXMgYXQgdGhlIHRvcC4iCi0jfiBtc2dzdHIgIlx0MCkgacSddSBsYSBwaW50YS4iCi0KLSN+IG1zZ2lkICItTiAgIFJvdGF0ZXMgdGhlIHN0YWNrIHNvIHRoYXQgdGhlIE50aCBkaXJlY3RvcnkgKGNvdW50aW5nIgotI34gbXNnc3RyICItTlx0Q2lrbGUgxZ1vdnUgbGEgc3Rha29uIHRpZWwga2UgbGEgTmEgZG9zaWVydWpvIChub21icmFudGUgZGUiCi0KLSN+IG1zZ2lkICIgICAgIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aCIKLSN+IG1zZ3N0ciAiXHRtYWxkZWtzdHJlIGVuIGxhIGxpc3RvIGVsaWdlYmxhIHBlciDigJ5kaXJz4oCfLCBudW1lcmFudGUgZWtkZSIKLQotI34gbXNnaWQgIi1uICAgc3VwcHJlc3MgdGhlIG5vcm1hbCBjaGFuZ2Ugb2YgZGlyZWN0b3J5IHdoZW4gYWRkaW5nIGRpcmVjdG9yaWVzIgotI34gbXNnc3RyICItblx0TmUgxZ1hbsSddSBsYSBrdXJhbnRhbiBkb3NpZXJ1am9uIHN1cnN0YWtpZ2FudGUgZG9zaWVydWpvbiBzdXIiCi0KLSN+IG1zZ2lkICIgICAgIHRvIHRoZSBzdGFjaywgc28gb25seSB0aGUgc3RhY2sgaXMgbWFuaXB1bGF0ZWQuIgotI34gbXNnc3RyICJcdGxhIHN0YWtvbjsgZG8sIG51ciBsYSBzdGFrb24gxZ1hbsSddS4iCi0KLSN+IG1zZ2lkICJkaXIgIGFkZHMgRElSIHRvIHRoZSBkaXJlY3Rvcnkgc3RhY2sgYXQgdGhlIHRvcCwgbWFraW5nIGl0IHRoZSIKLSN+IG1zZ3N0ciAiZGlyXHRTdXJzdGFraWd1IGxhIGRvc2llcnVqb24gZGlyIGthaiBmYXJ1IMSdaW4gbGEiCi0KLSN+IG1zZ2lkICIgICAgIG5ldyBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LiIKLSN+IG1zZ3N0ciAiXHRub3ZhIGt1cmFudGEgZG9zaWVydWpvIGxhYm9yYS4iCi0KLSN+IG1zZ2lkICJZb3UgY2FuIHNlZSB0aGUgZGlyZWN0b3J5IHN0YWNrIHdpdGggdGhlIGBkaXJzJyBjb21tYW5kLiIKLSN+IG1zZ3N0ciAiVmkgcG92YXMgdmlkaWdpIGxhIHN0YWtvbiBkZSBkb3NpZXJ1am9qIHBlciBsYSBrb21hbmRvIOKAnmRpcnPigJ8uIgotCi0jIHBvcGQKLSN+IG1zZ2lkICJSZW1vdmVzIGVudHJpZXMgZnJvbSB0aGUgZGlyZWN0b3J5IHN0YWNrLiAgV2l0aCBubyBhcmd1bWVudHMsIgotI34gbXNnc3RyICJFbHN0YWtpZ3UgZXJvam4gZWwgbGEgc3Rha28gZGUgZG9zaWVydWpvai4gU2VuYXJndW1lbnRlLCIKLQotI34gbXNnaWQgInJlbW92ZXMgdGhlIHRvcCBkaXJlY3RvcnkgZnJvbSB0aGUgc3RhY2ssIGFuZCBjZCdzIHRvIHRoZSBuZXciCi0jfiBtc2dzdHIgImZvcmlndSBsYSBwaW50YW4gZG9zaWVydWpvbiBrYWogaXJ1IChjZCkgZW4gbGEgbm92YW4gcGludGFuIgotCi0jfiBtc2dpZCAidG9wIGRpcmVjdG9yeS4iCi0jfiBtc2dzdHIgImRvc2llcnVqb24uIgotCi0jfiBtc2dpZCAiK04gICByZW1vdmVzIHRoZSBOdGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdCIKLSN+IG1zZ3N0ciAiK05cdGZvcmlndSBsYSBOYW4gZXJvbiBub21icmFudGUgZGUgbWFsZGVrc3RyZSBkZSBsYSBsaXN0byIKLQotI34gbXNnaWQgIiAgICAgc2hvd24gYnkgYGRpcnMnLCBzdGFydGluZyB3aXRoIHplcm8uICBGb3IgZXhhbXBsZTogYHBvcGQgKzAnIgotI34gbXNnc3RyICJcdGVsaWdlYmxhIHBlciDigJ5kaXJz4oCfLCBudW1lcmFudGUgZWtkZSAwLiAgRWt6LWU6IOKAnnBvcGQgKzDigJ8iCi0KLSN+IG1zZ2lkICIgICAgIHJlbW92ZXMgdGhlIGZpcnN0IGRpcmVjdG9yeSwgYHBvcGQgKzEnIHRoZSBzZWNvbmQuIgotI34gbXNnc3RyICJcdGZvcmlnYXMgbGEgcGxlaiBtYWxkZWtzdHJhbiBkb3NpZXJ1am9uOyDigJ5wb3BkICsx4oCfLCDEnWlhbiBuYWpiYXJvbi4iCi0KLSN+IG1zZ2lkICItTiAgIHJlbW92ZXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdCIKLSN+IG1zZ3N0ciAiLU5cdGZvcmlndSBsYSBOYW4gZXJvbiBub21icmFudGUgZGUgZGVrc3RyZSBkZSBsYSBsaXN0byIKLQotI34gbXNnaWQgIiAgICAgc2hvd24gYnkgYGRpcnMnLCBzdGFydGluZyB3aXRoIHplcm8uICBGb3IgZXhhbXBsZTogYHBvcGQgLTAnIgotI34gbXNnc3RyICJcdGVsaWdlYmxhIHBlciDigJ5kaXJz4oCfLCBub21icmFudGUgZWtkZSAwLiAgRWt6LWU6IMKrcG9wZCAtMMK7IgotCi0jfiBtc2dpZCAiICAgICByZW1vdmVzIHRoZSBsYXN0IGRpcmVjdG9yeSwgYHBvcGQgLTEnIHRoZSBuZXh0IHRvIGxhc3QuIgotI34gbXNnc3RyICJcdGZvcmlnYXMgbGEgbGFzdGFuIGRvc2llcnVqb247IMKrcG9wZCAtMcK7LCDEnWlhbiBuYWpiYXJvbi4iCi0KLSN+IG1zZ2lkICIiCi0jfiAiLW4gICBzdXBwcmVzcyB0aGUgbm9ybWFsIGNoYW5nZSBvZiBkaXJlY3Rvcnkgd2hlbiByZW1vdmluZyBkaXJlY3RvcmllcyIKLSN+IG1zZ3N0ciAiLW5cdE5lIMWdYW7EnXUgbGEga3VyYW50YW4gZG9zaWVydWpvbiBkZW1ldGFudGUgZG9zaWVydWpvbiIKLQotI34gbXNnaWQgIiAgICAgZnJvbSB0aGUgc3RhY2ssIHNvIG9ubHkgdGhlIHN0YWNrIGlzIG1hbmlwdWxhdGVkLiIKLSN+IG1zZ3N0ciAiXHRlbCBsYSBzdGFrbzsgZG8sIG51ciBsYSBzdGFrb24gxZ1hbsSddS4iCi0KLSMgWFhYOiBzdGF0PyBkZWJ1Zz8KLSN+IG1zZ2lkICJhbGxvY2F0ZWQiCi0jfiBtc2dzdHIgIm9rdXBpdGEiCi0KLSMgWFhYOiBzdGF0PyBkZWJ1Zz8KLSN+IG1zZ2lkICJmcmVlZCIKLSN+IG1zZ3N0ciAibWFsb2t1cGl0YSIKLQotIyBYWFg6IHN0YXQ/PwotI34gbXNnaWQgInJlcXVlc3RpbmcgcmVzaXplIgotI34gbXNnc3RyICJiZXpvbmFzIHJldHJhbsSJb24iCi0KLSMgWFhYOiBkZWJ1Zz8gxIh1IMKrxLV1c8K7IGHFrSDCq8SddXN0ZcK7PyAgUHJpIGtpbyB0ZW1hcz8/Ci0jfiBtc2dpZCAianVzdCByZXNpemVkIgotI34gbXNnc3RyICLEtXVzIHJldHJhbsSJaXRhIgotCi0jIFhYWDogZGVidWc/Ci0jfiBtc2dpZCAiYnVnOiB1bmtub3duIG9wZXJhdGlvbiIKLSN+IG1zZ3N0ciAiY2ltbzogTmVrb25hdGEgb3BlcmFjaW8iCi0KLSMgIFhYWDogZGVidWc/Ci0jfiBtc2dpZCAibWFsbG9jOiB3YXRjaCBhbGVydDogJXAgJXMgIgotI34gbXNnc3RyICJtYWxsb2M6IEd2YXQtcmFwb3J0bzogJXAgJXMgIgotCi0jfiBtc2dpZCAiIgotI34gIkV4aXQgZnJvbSB3aXRoaW4gYSBGT1IsIFdISUxFIG9yIFVOVElMIGxvb3AuICBJZiBOIGlzIHNwZWNpZmllZCxcbiIKLSN+ICIgICAgYnJlYWsgTiBsZXZlbHMuIgotI34gbXNnc3RyICIiCi0jfiAiRWxpcnUgZWtzdGVyIGl0ZXJhY2lvbiBGT1IsIFdISUxFIGHFrSBVTlRJTC4gU2UgTiBlc3RhcyBpbmRpa2l0YSxcbiIKLSN+ICIgICAgaXJ1IE4gbml2ZWxvam4gZWtzdGVyZW4uIgotCi0jfiBtc2dpZCAiIgotI34gIlJ1biBhIHNoZWxsIGJ1aWx0aW4uICBUaGlzIGlzIHVzZWZ1bCB3aGVuIHlvdSB3aXNoIHRvIHJlbmFtZSBhXG4iCi0jfiAiICAgIHNoZWxsIGJ1aWx0aW4gdG8gYmUgYSBmdW5jdGlvbiwgYnV0IG5lZWQgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlXG4iCi0jfiAiICAgIGJ1aWx0aW4gd2l0aGluIHRoZSBmdW5jdGlvbiBpdHNlbGYuIgotI34gbXNnc3RyICIiCi0jfiAiUnVsdSBwcmltaXRpdmFuIMWdZWxrb21hbmRvbi4gVGlvIHV0aWxhcyBzZSBvbmkgdm9sYXMgdXppIGxhIG5vbW9uXG4iCi0jfiAiICAgIGRlIMWdZWxhxLVvIHBvciBub21pIGZ1bmtjaW9uLCBzZWQgYmV6b25hcyBsYSBrb25jZXJuYW5cbiIKLSN+ICIgICAgcHJpbWl0aXZvbiBlbiBsYSBmdW5rY2lvIG1lbS4iCi0KLSN+IG1zZ2lkICIiCi0jfiAiUHJpbnQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuICBXaXRoIHRoZSAtUCBvcHRpb24sIHB3ZCBwcmludHNcbiIKLSN+ICIgICAgdGhlIHBoeXNpY2FsIGRpcmVjdG9yeSwgd2l0aG91dCBhbnkgc3ltYm9saWMgbGlua3M7IHRoZSAtTCBvcHRpb25cbiIKLSN+ICIgICAgbWFrZXMgcHdkIGZvbGxvdyBzeW1ib2xpYyBsaW5rcy4iCi0jfiBtc2dzdHIgIiIKLSN+ICJFbGlndSBsYSBub21vbiBkZSBrdXJhbnRhIGRvc2llcnVqby4gIEt1biBsYSBvcGNpbyAgLVAsICBsYSBrb21hbmRvXG4iCi0jfiAiICAgIOKAnnB3ZOKAnyBlbGlnYXMgbGEgbm9tb24gZGUgbGEgZml6aWthIGRvc2llcnVqbywgc2VuIGFqbmEgZXZlbnR1YWxhICIKLSN+ICJzaW1ib2xhXG4iCi0jfiAiICAgIGxpZ2lsbzsgbGEgb3BjaW8gIC1MICBpZ2FzIGxhIGtvbWFuZG9uIHB3ZCBzZWt2aSBzaW1ib2xham4gbGlnb2puLiIKLQotI34gbXNnaWQgIlJldHVybiBhIHN1Y2Nlc3NmdWwgcmVzdWx0LiIKLSN+IG1zZ3N0ciAiTGl2ZXJ1IHN1a2Nlc2FuIHJlenVsdG9uLiIKLQotIyBaWlo6IGNvbW1hbmQgWy1wVnZdIGNvbW1hbmQgW2FyZyAuLi5dCi0jfiBtc2dpZCAiIgotI34gIlJ1bnMgQ09NTUFORCB3aXRoIEFSR1MgaWdub3Jpbmcgc2hlbGwgZnVuY3Rpb25zLiAgSWYgeW91IGhhdmUgYSBzaGVsbFxuIgotI34gIiAgICBmdW5jdGlvbiBjYWxsZWQgYGxzJywgYW5kIHlvdSB3aXNoIHRvIGNhbGwgdGhlIGNvbW1hbmQgYGxzJywgeW91IGNhblxuIgotI34gIiAgICBzYXkgXCJjb21tYW5kIGxzXCIuICBJZiB0aGUgLXAgb3B0aW9uIGlzIGdpdmVuLCBhIGRlZmF1bHQgdmFsdWUgaXMgIgotI34gInVzZWRcbiIKLSN+ICIgICAgZm9yIFBBVEggdGhhdCBpcyBndWFyYW50ZWVkIHRvIGZpbmQgYWxsIG9mIHRoZSBzdGFuZGFyZCB1dGlsaXRpZXMuICAiCi0jfiAiSWZcbiIKLSN+ICIgICAgdGhlIC1WIG9yIC12IG9wdGlvbiBpcyBnaXZlbiwgYSBzdHJpbmcgaXMgcHJpbnRlZCBkZXNjcmliaW5nICIKLSN+ICJDT01NQU5ELlxuIgotI34gIiAgICBUaGUgLVYgb3B0aW9uIHByb2R1Y2VzIGEgbW9yZSB2ZXJib3NlIGRlc2NyaXB0aW9uLiIKLSN+IG1zZ3N0ciAiIgotI34gIlBsZW51bXUga29tYW5kb24ga3VuIEFSR29qIHNlbiBhdGVudGkgbGEgxZ1lbGFqbiBmdW5rY2lvam4uICBFa3otZSBzZSxcbiIKLSN+ICIgICAgaGF2YW50ZSDFnWVsYW4gZnVua2Npb24g4oCebHPigJ8sIG9uaSB2b2xhcyB2b2tpIGxhIGtvbWFuZG9uIOKAnmxz4oCfLCBvbmlcbiIKLSN+ICIgICAgcG92YXMgZmFyaSB0aW9uIHBlciDCq2NvbW1hbmQgbHPCuy4gIExhIG9wY2lvICAtcCAgbmVwcmlnYXMgdXppIGxhXG4iCi0jfiAiICAgIG5vcm1hbiB2YWxvcm9uIGRlIGxhIGRlIGxhIHZhcmlhYmxvICRQQVRILCBlYmxpZ2FudGEgdHJvdmkgxIlpdWpuXG4iCi0jfiAiICAgIG5vcm1ham4gdXRpbGHEtW9qbi5cbiIKLSN+ICIgICAgTGEgb3BjaW8gLVYgYcWtIC12IHByb3ZpemFzIGVsaWdvbiBkZSDEiWVubyBwcmlza3JpYmFudGEgbGEga29tYW5kb247XG4iCi0jfiAiICAgIGxhIG9wY2lvIC1WIHByb3ZpemFzIHBsaSBkZXRhbGFuIHByaXNrcmlib24uIgotCi0jfiBtc2dpZCAiT2Jzb2xldGUuICBTZWUgYGRlY2xhcmUnLiIKLSN+IG1zZ3N0ciAiQXJrYWlrYS4gVmQg4oCeZGVjbGFyZeKAny4iCi0KLSN+IG1zZ2lkICIiCi0jfiAiQ3JlYXRlIGEgbG9jYWwgdmFyaWFibGUgY2FsbGVkIE5BTUUsIGFuZCBnaXZlIGl0IFZBTFVFLiAgTE9DQUxcbiIKLSN+ICIgICAgY2FuIG9ubHkgYmUgdXNlZCB3aXRoaW4gYSBmdW5jdGlvbjsgaXQgbWFrZXMgdGhlIHZhcmlhYmxlIE5BTUVcbiIKLSN+ICIgICAgaGF2ZSBhIHZpc2libGUgc2NvcGUgcmVzdHJpY3RlZCB0byB0aGF0IGZ1bmN0aW9uIGFuZCBpdHMgY2hpbGRyZW4uIgotI34gbXNnc3RyICIiCi0jfiAiS3JldSBsb2thbiB2YXJpYWJsb24gTk9NTyBrYWogxJ1pbiB2YWxvcml6dSBwZXIgVkFMT1JPLlxuIgotI34gIiAgICDigJ5sb2NhbOKAnyB1emVibGFzIG51ciBlbmUgZGUgZnVua2NpbzsgxJ1pIGlnYXMgbGEgdmFyaWFibG9uIE5PTU9cbiIKLSN+ICIgICAgdmlkZWJsYSBlbiBsYSByZWdpb25vIGtvbnN0aXN0YW50YSBlbCBsYSBmdW5rY2lvIGthaiB0aWVzIGlkb2ouIgotCi0jfiBtc2dpZCAiIgotI34gIk91dHB1dCB0aGUgQVJHcy4gIElmIC1uIGlzIHNwZWNpZmllZCwgdGhlIHRyYWlsaW5nIG5ld2xpbmUgaXMgc3VwcHJlc3NlZC4iCi0jfiBtc2dzdHIgIkVsaWd1IGxhIEFSR29qbi4gIExhIG9wY2lvICAtbiAgZXZpdGlnYXMgbGEgcG9zdGFuIGxpbmlhdmFuY29uLiIKLQotIyBlbmFibGUgWy1wbmRzXSBbLWFdIFstZiBmaWxlbmFtZV0gW25hbWUgLi4uXQotI34gbXNnaWQgIiIKLSN+ICJFbmFibGUgYW5kIGRpc2FibGUgYnVpbHRpbiBzaGVsbCBjb21tYW5kcy4gIFRoaXMgYWxsb3dzXG4iCi0jfiAiICAgIHlvdSB0byB1c2UgYSBkaXNrIGNvbW1hbmQgd2hpY2ggaGFzIHRoZSBzYW1lIG5hbWUgYXMgYSBzaGVsbFxuIgotI34gIiAgICBidWlsdGluIHdpdGhvdXQgc3BlY2lmeWluZyBhIGZ1bGwgcGF0aG5hbWUuICBJZiAtbiBpcyB1c2VkLCB0aGVcbiIKLSN+ICIgICAgTkFNRXMgYmVjb21lIGRpc2FibGVkOyBvdGhlcndpc2UgTkFNRXMgYXJlIGVuYWJsZWQuICBGb3IgZXhhbXBsZSxcbiIKLSN+ICIgICAgdG8gdXNlIHRoZSBgdGVzdCcgZm91bmQgaW4gJFBBVEggaW5zdGVhZCBvZiB0aGUgc2hlbGwgYnVpbHRpblxuIgotI34gIiAgICB2ZXJzaW9uLCB0eXBlIGBlbmFibGUgLW4gdGVzdCcuICBPbiBzeXN0ZW1zIHN1cHBvcnRpbmcgZHluYW1pY1xuIgotI34gIiAgICBsb2FkaW5nLCB0aGUgLWYgb3B0aW9uIG1heSBiZSB1c2VkIHRvIGxvYWQgbmV3IGJ1aWx0aW5zIGZyb20gdGhlXG4iCi0jfiAiICAgIHNoYXJlZCBvYmplY3QgRklMRU5BTUUuICBUaGUgLWQgb3B0aW9uIHdpbGwgZGVsZXRlIGEgYnVpbHRpblxuIgotI34gIiAgICBwcmV2aW91c2x5IGxvYWRlZCB3aXRoIC1mLiAgSWYgbm8gbm9uLW9wdGlvbiBuYW1lcyBhcmUgZ2l2ZW4sIG9yXG4iCi0jfiAiICAgIHRoZSAtcCBvcHRpb24gaXMgc3VwcGxpZWQsIGEgbGlzdCBvZiBidWlsdGlucyBpcyBwcmludGVkLiAgVGhlXG4iCi0jfiAiICAgIC1hIG9wdGlvbiBtZWFucyB0byBwcmludCBldmVyeSBidWlsdGluIHdpdGggYW4gaW5kaWNhdGlvbiBvZiB3aGV0aGVyXG4iCi0jfiAiICAgIG9yIG5vdCBpdCBpcyBlbmFibGVkLiAgVGhlIC1zIG9wdGlvbiByZXN0cmljdHMgdGhlIG91dHB1dCB0byB0aGUgIgotI34gIlBPU0lYLjJcbiIKLSN+ICIgICAgYHNwZWNpYWwnIGJ1aWx0aW5zLiAgVGhlIC1uIG9wdGlvbiBkaXNwbGF5cyBhIGxpc3Qgb2YgYWxsIGRpc2FibGVkICIKLSN+ICJidWlsdGlucy4iCi0jfiBtc2dzdHIgIiIKLSN+ICJBa3RpdmlndSBhxa0gbWFsYWt0aXZpZ3UgcHJpbWl0aXZham4gxZ1lbGtvbWFuZG9qbi4gIFRpbyBlYmxpZ2FzXG4iCi0jfiAiICAgIHV6aSBla3N0ZXJhbiBrb21hbmRvbiwgc2Ftbm9tYW4ga3VuIHByaW1pdGl2YcS1bywgc2VuIGluZGlraVxuIgotI34gIiAgICDEnWlhbiBwbGVuYW4gdm9qb24uXG4iCi0jfiAiICAgIExhIG9wY2lvICAtbiAgbWFsYWt0aXZpZ2FzIGxhIG5vbW9qbiBuYW1lIC4uLiwgc2VuIMSdaSBsYSBub21valxuIgotI34gIiAgICBha3RpdmnEnWFzLiAgRWt6LWUsIHBvciB1emkgbGEg4oCedGVzdOKAn29uIHRyb3ZlYmxhbiBlbiAgJFBBVEggIGFuc3RhdGHFrVxuIgotI34gIiAgICBsYSBzYW1ub21hbiBwcmltaXRpdmFuIMWdZWxrb21hbmRvbiwgZGlydTogwqtlbmFibGUgLW4gdGVzdMK7LlxuIgotI34gIiAgICBFbiBzaXN0ZW1vIGVibGlnYW50YSBkaW5hbWlrYW4gxZ1hcmdhZG9uLCBsYSBvcGNpbyAgLWYgIHV6ZWJsYXNcbiIKLSN+ICIgICAgcG9yIMWdYXJnaSBub3Zham4gcHJpbWl0aXZhxLVvam4gZWwgbGEgZGluYW1pa2EgYmlibGlvdGVrbyAgZmlsZW5hbWUuXG4iCi0jfiAiICAgIExhIG9wY2lvICAtZCAgZm9yaWdvcyDFnWVsa29tYW5kb24gZGluYW1pa2UgxZ1hcmdpdGFuIHBlciAgLWYuXG4iCi0jfiAiICAgIFNlIG1hbGVzdGFzIG5lb3BjaWFqIG5vbW9qLCBhxa0gxIllZXN0YXMgbGEgb3BjaW8gLXAsIGVsaWd1IGxhXG4iCi0jfiAiICAgIGxpc3RvbiBkZSBwcmltaXRpdmHEtW9qLlxuIgotI34gIiAgICBMYSBvcGNpbyAtYSBkb25hcyBsaXN0b24gZGUgxIlpdWogcHJpbWl0aXZhxLVvaiBrdW4gaW5kaWtvLCDEiXUgaWxpXG4iCi0jfiAiICAgIGVzdGFzIGFrdGl2YWogYcWtIG5lLiAgTGEgb3BjaW8gIC1zICBlbGlnYXMgbnVyIGxhIMKrc3BlY2lhbGFqbsK7XG4iCi0jfiAiICAgIMWdZWxmdW5rY2lvam4gZGUgUG9zaXguMi4gIExhIG9wY2lvICAtbiAgbW9udHJhcyBsYSBsaXN0b24gZGUgxIlpdWpcbiIKLSN+ICIgICAgbWFsYWt0aXZhaiBwcmltaXRpdmHEtW9qLiIKLQotI34gbXNnaWQgIiIKLSN+ICJSZWFkIEFSR3MgYXMgaW5wdXQgdG8gdGhlIHNoZWxsIGFuZCBleGVjdXRlIHRoZSByZXN1bHRpbmcgY29tbWFuZChzKS4iCi0jfiBtc2dzdHIgIiIKLSN+ICJMZWd1IGxhIEFSR29qbiBraWVsIGVuaWdhxLVvbiBkZSBsYSDFnWVsbyBrYWogcGxlbnVtdSBsYVxuIgotI34gIiAgICBsZWdpdGEoailuIGtvbWFuZG8oailuLiIKLQotIyBleGVjIFstY2xdIFstYSBuYW1lXSBmaWxlIFtyZWRpcmVjdGlvbiAuLi5dCi0jfiBtc2dpZCAiIgotI34gIkV4ZWMgRklMRSwgcmVwbGFjaW5nIHRoaXMgc2hlbGwgd2l0aCB0aGUgc3BlY2lmaWVkIHByb2dyYW0uXG4iCi0jfiAiICAgIElmIEZJTEUgaXMgbm90IHNwZWNpZmllZCwgdGhlIHJlZGlyZWN0aW9ucyB0YWtlIGVmZmVjdCBpbiB0aGlzXG4iCi0jfiAiICAgIHNoZWxsLiAgSWYgdGhlIGZpcnN0IGFyZ3VtZW50IGlzIGAtbCcsIHRoZW4gcGxhY2UgYSBkYXNoIGluIHRoZVxuIgotI34gIiAgICB6ZXJvdGggYXJnIHBhc3NlZCB0byBGSUxFLCBhcyBsb2dpbiBkb2VzLiAgSWYgdGhlIGAtYycgb3B0aW9uXG4iCi0jfiAiICAgIGlzIHN1cHBsaWVkLCBGSUxFIGlzIGV4ZWN1dGVkIHdpdGggYSBudWxsIGVudmlyb25tZW50LiAgVGhlIGAtYSdcbiIKLSN+ICIgICAgb3B0aW9uIG1lYW5zIHRvIG1ha2Ugc2V0IGFyZ3ZbMF0gb2YgdGhlIGV4ZWN1dGVkIHByb2Nlc3MgdG8gTkFNRS5cbiIKLSN+ICIgICAgSWYgdGhlIGZpbGUgY2Fubm90IGJlIGV4ZWN1dGVkIGFuZCB0aGUgc2hlbGwgaXMgbm90IGludGVyYWN0aXZlLFxuIgotI34gIiAgICB0aGVuIHRoZSBzaGVsbCBleGl0cywgdW5sZXNzIHRoZSBzaGVsbCBvcHRpb24gYGV4ZWNmYWlsJyBpcyBzZXQuIgotI34gbXNnc3RyICIiCi0jfiAiUGxlbnVtdSBsYSBkb3NpZXJvbiBmaWxlIGFuc3RhdGHFrWlnYW50ZSBsYSDFnWVsb24gamUgbGEgZG9uaXRhXG4iCi0jfiAiICAgIHByb2dyYW1vLiAgU2UgZmlsZSBuZSBlc3RhcyBpbmRpa2l0YSwgbGEgYWxpZGlyZWt0YWRvaiBva2F6dSBlblxuIgotI34gIiAgICBsYSBrdXJhbnRhIMWdZWxvLiAgU2UgbGEgdW51YSBhcmd1bWVudG8gZXN0YXMg4oCeLWzigJ8sIG1pbnVzb1xuIgotI34gIiAgICBlbsWdb3ZpxJ1hcyBhbnRhxa0gbGEgbnVsYSBhcmd1bWVudG8gcGFzaWdhdGEgYWwgIGZpbGUgIChraWVsXG4iCi0jfiAiICAgIMSJZSDigJ5sb2dpbuKAnykuICDEiGUgbGEgb3BjaW8gIC1jLCAgbGEgcGxlbnVtbyBkZSAgZmlsZSAgZXN0dSBlblxuIgotI34gIiAgICB2YWt1YSBtZWRpby4gIFBlciBsYSBvcGNpbyAgLWEgIGxhIGFyZ3VtZW50byAgYXJndlswXSAgZGUgbGFcbiIKLSN+ICIgICAgcGxlbnVtb3RhIHByb2Nlem8gcmljZXZhcyBsYSB2YWxvcm9uICBuYW1lLiAgU2UgbGEgZG9zaWVyb24gbmVcbiIKLSN+ICIgICAgZWJsYXMgcGxlbnVtaSBrYWogbGEgxZ1lbG8gbmUgZXN0YXMgZGlhbG9nYSwgdGlhbSBsYSDFnWVsbyBmaW5pxJ1hcyxcbiIKLSN+ICIgICAga3JvbSBzZSBsYSBvcGNpbyDigJ5leGVjZmFpbOKAnyBlc3RhcyBha3RpdmEuIgotCi0jfiBtc2dpZCAiTG9nb3V0IG9mIGEgbG9naW4gc2hlbGwuIgotI34gbXNnc3RyICJBZGlhxa0sIHNhbHV0YSDFnWVsbyEiCi0KLSMgaGFzaCBbLWxyXSBbLXAgcGF0aG5hbWVdIFstZHRdIFtuYW1lIC4uLl0KLSN+IG1zZ2lkICIiCi0jfiAiRm9yIGVhY2ggTkFNRSwgdGhlIGZ1bGwgcGF0aG5hbWUgb2YgdGhlIGNvbW1hbmQgaXMgZGV0ZXJtaW5lZCBhbmRcbiIKLSN+ICIgICAgcmVtZW1iZXJlZC4gIElmIHRoZSAtcCBvcHRpb24gaXMgc3VwcGxpZWQsIFBBVEhOQU1FIGlzIHVzZWQgYXMgdGhlXG4iCi0jfiAiICAgIGZ1bGwgcGF0aG5hbWUgb2YgTkFNRSwgYW5kIG5vIHBhdGggc2VhcmNoIGlzIHBlcmZvcm1lZC4gIFRoZSAtclxuIgotI34gIiAgICBvcHRpb24gY2F1c2VzIHRoZSBzaGVsbCB0byBmb3JnZXQgYWxsIHJlbWVtYmVyZWQgbG9jYXRpb25zLiAgVGhlIC1kXG4iCi0jfiAiICAgIG9wdGlvbiBjYXVzZXMgdGhlIHNoZWxsIHRvIGZvcmdldCB0aGUgcmVtZW1iZXJlZCBsb2NhdGlvbiBvZiBlYWNoICIKLSN+ICJOQU1FLlxuIgotI34gIiAgICBJZiB0aGUgLXQgb3B0aW9uIGlzIHN1cHBsaWVkIHRoZSBmdWxsIHBhdGhuYW1lIHRvIHdoaWNoIGVhY2ggTkFNRVxuIgotI34gIiAgICBjb3JyZXNwb25kcyBpcyBwcmludGVkLiAgSWYgbXVsdGlwbGUgTkFNRSBhcmd1bWVudHMgYXJlIHN1cHBsaWVkICIKLSN+ICJ3aXRoXG4iCi0jfiAiICAgIC10LCB0aGUgTkFNRSBpcyBwcmludGVkIGJlZm9yZSB0aGUgaGFzaGVkIGZ1bGwgcGF0aG5hbWUuICBUaGUgLWwgIgotI34gIm9wdGlvblxuIgotI34gIiAgICBjYXVzZXMgb3V0cHV0IHRvIGJlIGRpc3BsYXllZCBpbiBhIGZvcm1hdCB0aGF0IG1heSBiZSByZXVzZWQgYXMgIgotI34gImlucHV0LlxuIgotI34gIiAgICBJZiBubyBhcmd1bWVudHMgYXJlIGdpdmVuLCBpbmZvcm1hdGlvbiBhYm91dCByZW1lbWJlcmVkIGNvbW1hbmRzIGlzICIKLSN+ICJkaXNwbGF5ZWQuIgotI34gbXNnc3RyICIiCi0jfiAiUG9yIMSJaXUgbm9tbyBuYW1lLCB0cm92dSBrYWogcmVnaXN0cnUgZW4gaGFrZXR0YWJlbG8gbGEga29tcGxldGFuXG4iCi0jfiAiICAgIHZvam9uIGFsIHRpdSBrb21hbmRvIChrb21hbmRhIGRvc2llcm8pLlxuIgotI34gIiAgICBTZSDEiWVlc3RhcyBsYSBvcGNpbyAtcCwgbGEgdm9qbyBwYXRobmFtZSBzZXJ2YXMga2llbCBrb21wbGV0YSB2b2pvXG4iCi0jfiAiICAgIHBvciBsYSBub21vaiwgc2VuIHBsdWEgdm9qc2VyxIlvLlxuIgotI34gIiAgICBMYSBvcGNpbyAgLXIgIGZvcmdlc2lnYXMgxIlpdWpuIHJlZ2lzdHJpdGFqbiB2b2pvam4uXG4iCi0jfiAiICAgIExhIG9wY2lvICAtZCAgZm9yZ2VzaWdhcyBsYSByZWdpc3RyaXRham4gdm9qb2puIHBvciDEiWl1IG5vbW8gbmFtZS5cbiIKLSN+ICIgICAgTGEgb3BjaW8gIC10ICBrYcWtemFzIGVsaWdvbiBkZSBrb21wbGV0YSB2b2pvIHJlc3BvbmRhIGFsIMSJaXUgbmFtZS5cbiIKLSN+ICIgICAgU2UgcGx1cmFqIG5vbW9qIGFwZXJhcyBrdW4gIC10LCBsYSBrb25jZXJuYSBub21vIGFwZXJvcyBhbnRhxa0gxJ1pYVxuIgotI34gIiAgICBrb21wbGV0YSBzZXLEiXZvam8gcmVnaXN0cml0YS4gIExhIG9wY2lvICAtbCAgZG9uYXMgYWwgbGEgZWxpZ2HEtW9cbiIKLSN+ICIgICAgbGEgZm9ybW9uIHJldXplYmxhbiBwb3IgZW5pZ28uICBTZSBuZW5pYSBvcGNpbyBlc3RhcyBkb25pdGEsIGVsaWd1XG4iCi0jfiAiICAgIGxhIGluZm9ybW9qbiBwcmkgbGEgbWVtb3JhdGFqIGtvbWFuZG9qLiIKLQotIyBoZWxwIFstc10gW3BhdHRlcm4gLi4uXQotI34gbXNnaWQgIiIKLSN+ICJEaXNwbGF5IGhlbHBmdWwgaW5mb3JtYXRpb24gYWJvdXQgYnVpbHRpbiBjb21tYW5kcy4gIElmIFBBVFRFUk4gaXNcbiIKLSN+ICIgICAgc3BlY2lmaWVkLCBnaXZlcyBkZXRhaWxlZCBoZWxwIG9uIGFsbCBjb21tYW5kcyBtYXRjaGluZyBQQVRURVJOLFxuIgotI34gIiAgICBvdGhlcndpc2UgYSBsaXN0IG9mIHRoZSBidWlsdGlucyBpcyBwcmludGVkLiAgVGhlIC1zIG9wdGlvblxuIgotI34gIiAgICByZXN0cmljdHMgdGhlIG91dHB1dCBmb3IgZWFjaCBidWlsdGluIGNvbW1hbmQgbWF0Y2hpbmcgUEFUVEVSTiB0b1xuIgotI34gIiAgICBhIHNob3J0IHVzYWdlIHN5bm9wc2lzLiIKLSN+IG1zZ3N0ciAiIgotI34gIkVsaWd1IGhlbHBhbiBpbmZvcm1vbiBwcmkgcHJpbWl0aXZhaiBrb21hbmRvai4gIFNlIGxhIMWdYWJsb25vXG4iCi0jfiAiICAgIHBhdHRlcm4gIGVzdGFzIGRvbml0YSwgZWxpZ3UgZGV0YWxhbiBoZWxwb24gcHJpIGxhIGtvbWFuZG9qXG4iCi0jfiAiICAgIGtvbmdydWFqIGt1biBsYSDFnWFibG9ubzsgYWxpZSBlbGlndSBudXIgbGlzdG9uIGRlIGxhIHByaW1pdGl2YWpcbiIKLSN+ICIgICAga29tYW5kb2ouICBMYSBvcGNpbyAgLXMgIHJlZHVrdGFzIGxhIGVsaWdhxLVvbiBwcmkgxIlpdSB0cm92aXRhXG4iCi0jfiAiICAgIGtvbmdydWHEtW8gxJ1pcyBtYWxsb25nYSByZXN1bW8uIgotCi0jIGRpc293biBbLWhdIFstYXJdIFtqb2JzcGVjIC4uLl0KLSN+IG1zZ2lkICIiCi0jfiAiQnkgZGVmYXVsdCwgcmVtb3ZlcyBlYWNoIEpPQlNQRUMgYXJndW1lbnQgZnJvbSB0aGUgdGFibGUgb2YgYWN0aXZlIGpvYnMuXG4iCi0jfiAiICAgIElmIHRoZSAtaCBvcHRpb24gaXMgZ2l2ZW4sIHRoZSBqb2IgaXMgbm90IHJlbW92ZWQgZnJvbSB0aGUgdGFibGUsIGJ1dCAiCi0jfiAiaXNcbiIKLSN+ICIgICAgbWFya2VkIHNvIHRoYXQgU0lHSFVQIGlzIG5vdCBzZW50IHRvIHRoZSBqb2IgaWYgdGhlIHNoZWxsIHJlY2VpdmVzIGFcbiIKLSN+ICIgICAgU0lHSFVQLiAgVGhlIC1hIG9wdGlvbiwgd2hlbiBKT0JTUEVDIGlzIG5vdCBzdXBwbGllZCwgbWVhbnMgdG8gcmVtb3ZlICIKLSN+ICJhbGxcbiIKLSN+ICIgICAgam9icyBmcm9tIHRoZSBqb2IgdGFibGU7IHRoZSAtciBvcHRpb24gbWVhbnMgdG8gcmVtb3ZlIG9ubHkgcnVubmluZyAiCi0jfiAiam9icy4iCi0jfiBtc2dzdHIgIiIKLSN+ICJTZW5vcGNpZTogZm9yaWd1IMSJaXVuIGxhYm9yb24gaW5kaWtpdGFuIHBlciBhcmd1bWVudG8gIGpvYnNwZWMgIGVsXG4iCi0jfiAiICAgIGxhIHRhYmVsbyBkZSBha3RpdmFqIGxhYm9yb2ouXG4iCi0jfiAiXG4iCi0jfiAiICAgIMSIZSBsYSBvcGNpbyAtaCwgYW5zdGF0YcWtIGZvcmlnaSBsYSBsYWJvcm9uIGVsIGxhIHRhYmVsbywgbWFya3UgxJ1pblxuIgotI34gIiAgICB0aWVsLCBrZSBsYSBzaWduYWxvIFNJR0hVUCBuZSBlc3R1IHBsdXNlbmRpdGEgYWwgbGEgbGFib3JvKGopIGtpYW1cbiIKLSN+ICIgICAgdGlhbiBzaWduYWxvbiByaWNldmFzIGxhIMWdZWxvLlxuIgotI34gIlxuIgotI34gIiAgICBTZSBuZW5pYSBsYWJvcm8gIGpvYnNwZWMgIGVzdGFzIGluZGlraXRhLCBsYSBvcGNpbyAgLWEgIHByZXNrcmliYXNcbiIKLSN+ICIgICAgZm9yaWdpIMSJaXVqbiBsYWJvcm9qbiBlbCBsYSBsYWJvcnRhYmVsbzsgbGEgb3BjaW8gIC1yICBwcmVza3JpYmFzXG4iCi0jfiAiICAgIGZvcmlnaSBudXIgbGEgcnVsYXRham4gbGFib3Jvam4uIgotCi0jIHJldHVybiBbbl0KLSN+IG1zZ2lkICIiCi0jfiAiQ2F1c2VzIGEgZnVuY3Rpb24gdG8gZXhpdCB3aXRoIHRoZSByZXR1cm4gdmFsdWUgc3BlY2lmaWVkIGJ5IE4uICBJZiBOXG4iCi0jfiAiICAgIGlzIG9taXR0ZWQsIHRoZSByZXR1cm4gc3RhdHVzIGlzIHRoYXQgb2YgdGhlIGxhc3QgY29tbWFuZC4iCi0jfiBtc2dzdHIgIiIKLSN+ICJJZ2FzIGxhIGZ1bmtjaW9uIGZpbmnEnWkga2FqIGxpdmVyaSBsYSBkb25pdGFuIHZhbG9yb24gIG4gIGtpZWxcbiIKLSN+ICIgICAgZWxpcnN0YXRvbi4gIFNlICBuICBtYW5rYXMsIGxhIGVsaXJzdGF0byBlc3RhcyB0aXUgZGUgbGEgxLV1c2FcbiIKLSN+ICIgICAga29tYW5kby4iCi0KLSMgdW5zZXQgWy1mXSBbLXZdIFtuYW1lIC4uLl0KLSN+IG1zZ2lkICIiCi0jfiAiRm9yIGVhY2ggTkFNRSwgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIHZhcmlhYmxlIG9yIGZ1bmN0aW9uLiAgR2l2ZW5cbiIKLSN+ICIgICAgdGhlIGAtdicsIHVuc2V0IHdpbGwgb25seSBhY3Qgb24gdmFyaWFibGVzLiAgR2l2ZW4gdGhlIGAtZicgZmxhZyxcbiIKLSN+ICIgICAgdW5zZXQgd2lsbCBvbmx5IGFjdCBvbiBmdW5jdGlvbnMuICBXaXRoIG5laXRoZXIgZmxhZywgdW5zZXQgZmlyc3RcbiIKLSN+ICIgICAgdHJpZXMgdG8gdW5zZXQgYSB2YXJpYWJsZSwgYW5kIGlmIHRoYXQgZmFpbHMsIHRoZW4gdHJpZXMgdG8gdW5zZXQgYVxuIgotI34gIiAgICBmdW5jdGlvbi4gIFNvbWUgdmFyaWFibGVzIGNhbm5vdCBiZSB1bnNldDsgYWxzbyBzZWUgcmVhZG9ubHkuIgotI34gbXNnc3RyICIiCi0jfiAiUG9yIMSJaXUgbm9tbyBuYW1lLCBmb3JpZ3UgbGEgcmVzcG9uZGFuIHZhcmlhYmxvbiBhxa0gZnVua2Npb24uXG4iCi0jfiAiICAgIMSIZSBsYSBvcGNpbyDigJ4tduKAnyBmb3JpZ3UgbnVyIGxhIHZhcmlhYmxvam4uXG4iCi0jfiAiICAgIMSIZSBsYSBvcGNpbyDigJ4tZuKAnyBmb3JpZ3UgbnVyIGxhIGZ1bmtjaW9qbi5cbiIKLSN+ICIgICAgU2UgbmVuaXUgZWwgbGEgZHUgb3BjaW9qIGVzdGFzIGluZGlraXRhLCDigJ51bnNldOKAnyB1bnVlIHByb3Zvc1xuIgotI34gIiAgICBmb3JpZ2kgdmFyaWFibG9uLCBrYWogc2UgdGlhIG5lIHRyb3ZpxJ1vcywgZnVua2Npb24uIEl1am5cbiIKLSN+ICIgICAgdmFyaWFibG9qbiBuZSBlYmxhcyBmb3JpZ2kuIFZkIGFua2HFrSBsYSBoZWxwb24gcHJpIOKAnnJlYWRvbmx54oCfLiIKLQotIyBaWlo6IGV4cG9ydCBbLW5mXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IKLSMgICAgICBleHBvcnQgLXAKLSN+IG1zZ2lkICIiCi0jfiAiTkFNRXMgYXJlIG1hcmtlZCBmb3IgYXV0b21hdGljIGV4cG9ydCB0byB0aGUgZW52aXJvbm1lbnQgb2ZcbiIKLSN+ICIgICAgc3Vic2VxdWVudGx5IGV4ZWN1dGVkIGNvbW1hbmRzLiAgSWYgdGhlIC1mIG9wdGlvbiBpcyBnaXZlbixcbiIKLSN+ICIgICAgdGhlIE5BTUVzIHJlZmVyIHRvIGZ1bmN0aW9ucy4gIElmIG5vIE5BTUVzIGFyZSBnaXZlbiwgb3IgaWYgYC1wJ1xuIgotI34gIiAgICBpcyBnaXZlbiwgYSBsaXN0IG9mIGFsbCBuYW1lcyB0aGF0IGFyZSBleHBvcnRlZCBpbiB0aGlzIHNoZWxsIGlzXG4iCi0jfiAiICAgIHByaW50ZWQuICBBbiBhcmd1bWVudCBvZiBgLW4nIHNheXMgdG8gcmVtb3ZlIHRoZSBleHBvcnQgcHJvcGVydHlcbiIKLSN+ICIgICAgZnJvbSBzdWJzZXF1ZW50IE5BTUVzLiAgQW4gYXJndW1lbnQgb2YgYC0tJyBkaXNhYmxlcyBmdXJ0aGVyIG9wdGlvblxuIgotI34gIiAgICBwcm9jZXNzaW5nLiIKLSN+IG1zZ3N0ciAiIgotI34gIk1hcmt1IGxhIG5vbW9qbiAgbmFtZSAgcG9yIGHFrXRvbWF0YSBla3Nwb3J0byBlbiBsYSBtZWRpb24gZGVcbiIKLSN+ICIgICAgbGEgcGxlbnVtb3RhaiBrb21hbmRvai5cbiIKLSN+ICIgICAgU2UgbGEgb3BjaW8gLWYgZXN0YXMgZG9uaXRhLCBsYSBub21vaiByaWxhdGFzIGFsIGZ1bmtjaW9qLlxuIgotI34gIiAgICBTZSBuZW5pYSBub21vICBuYW1lICDEiWVlc3RhcywgYcWtIHNlIGxhIG9wY2lvIOKAni1w4oCfIGVzdGFzIGRvbml0YSwgXG4iCi0jfiAiICAgIGVsaWd1IGxhIGxpc3RvbiBkZSDEiWl1aiBub21vaiBla3Nwb3J0YXRhaiBkZSDEiWkgdGl1IMWdZWxvLlxuIgotI34gIiAgICBMYSBvcGNpbyAtbiBmb3J2acWdYXMgbGEgZWtzcG9ydG9tYXJrb24gZGUgbGEgxJ1pbiBzZWt2YW50YWogbm9tb2ouXG4iCi0jfiAiICAgIExhIG9wY2lvIOKAni0t4oCfIMSJZXNpZ2FzIHBsdWFuIG9wY2l0cmFrdGFkb24gZW4gc2lhIGxpbmlvLiIKLQotIyBaWlo6IHJlYWRvbmx5IFstYWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvcgotIyAgICAgIHJlYWRvbmx5IC1wCi0jfiBtc2dpZCAiIgotI34gIlRoZSBnaXZlbiBOQU1FcyBhcmUgbWFya2VkIHJlYWRvbmx5IGFuZCB0aGUgdmFsdWVzIG9mIHRoZXNlIE5BTUVzIG1heVxuIgotI34gIiAgICBub3QgYmUgY2hhbmdlZCBieSBzdWJzZXF1ZW50IGFzc2lnbm1lbnQuICBJZiB0aGUgLWYgb3B0aW9uIGlzIGdpdmVuLFxuIgotI34gIiAgICB0aGVuIGZ1bmN0aW9ucyBjb3JyZXNwb25kaW5nIHRvIHRoZSBOQU1FcyBhcmUgc28gbWFya2VkLiAgSWYgbm9cbiIKLSN+ICIgICAgYXJndW1lbnRzIGFyZSBnaXZlbiwgb3IgaWYgYC1wJyBpcyBnaXZlbiwgYSBsaXN0IG9mIGFsbCByZWFkb25seSAiCi0jfiAibmFtZXNcbiIKLSN+ICIgICAgaXMgcHJpbnRlZC4gIFRoZSBgLWEnIG9wdGlvbiBtZWFucyB0byB0cmVhdCBlYWNoIE5BTUUgYXNcbiIKLSN+ICIgICAgYW4gYXJyYXkgdmFyaWFibGUuICBBbiBhcmd1bWVudCBvZiBgLS0nIGRpc2FibGVzIGZ1cnRoZXIgb3B0aW9uXG4iCi0jfiAiICAgIHByb2Nlc3NpbmcuIgotI34gbXNnc3RyICIiCi0jfiAiTGEgZG9uaXRhaiBub21vaiAgbmFtZSAgacSdYXMgbnVybGVnYWoga2FqIGxhIHZhbG9yb2puIGRlIHRpdWogbm9tb2pcbiIKLSN+ICIgICAgbmUgcG92YXMgxZ1hbsSdaSBwb3N0YSB2YWxvcml6by4gIFNlIGxhIG9wY2lvIOKAni1m4oCfIGVzdGFzIGRvbml0YSxcbiIKLSN+ICIgICAgdGlvIGFwbGlracSdYXMgbnVyIGFsIGxhIGZ1bmtjaW9qIHJlc3BvbmRhaiBhbCBsYSBub21vai4gIFNlXG4iCi0jfiAiICAgIGFyZ3VtZW50b2ogbWFua2FzLCBhxa0gc2UgbGEgb3BjaW8g4oCeLXDigJ8gZXN0YXMgdXppdGEsIGxhIGxpc3RvIGRlXG4iCi0jfiAiICAgIMSJaXVqIG51cmxlZ2FqIG5vbW9qIGVzdGFzIGVsaWdhdGEuICBMYSBvcGNpbyDigJ4tYeKAnyBpbmRpa2FzLCBrZVxuIgotI34gIiAgICDEiWl1biBub21vbiAgbmFtZSAgb25pIHJpZ2FyZHUgdGFiZWxhIHZhcmlhYmxvLlxuIgotI34gIiAgICBMYSBvcGNpbyDigJ4tLeKAnyDEiWVzaWdhcyBwbHVhbiBvcGNpdHJha3RhZG9uLiIKLQotIyBzaGlmdCBbbl0KLSN+IG1zZ2lkICIiCi0jfiAiVGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBmcm9tICROKzEgLi4uIGFyZSByZW5hbWVkIHRvICQxIC4uLiAgSWYgTiBpc1xuIgotI34gIiAgICBub3QgZ2l2ZW4sIGl0IGlzIGFzc3VtZWQgdG8gYmUgMS4iCi0jfiBtc2dzdHIgIiIKLSN+ICJMYSBwb3ppY2lhaiBwYXJhbWV0cm9qIGVrZGUgICRuKzEgIHJlbm9tacSdYXMgICQxIC4uLiAga3RwLlxuIgotI34gIiAgICBTZSAgbiAgbmUgZXN0YXMgaW5kaWtpdGEsICAxICBlc3RhcyB1emF0YSBhbnN0YXRhxa1lLiIKLQotIyBzdXNwZW5kIFstZl0KLSN+IG1zZ2lkICIiCi0jfiAiU3VzcGVuZCB0aGUgZXhlY3V0aW9uIG9mIHRoaXMgc2hlbGwgdW50aWwgaXQgcmVjZWl2ZXMgYSBTSUdDT05UXG4iCi0jfiAiICAgIHNpZ25hbC4gIFRoZSBgLWYnIGlmIHNwZWNpZmllZCBzYXlzIG5vdCB0byBjb21wbGFpbiBhYm91dCB0aGlzXG4iCi0jfiAiICAgIGJlaW5nIGEgbG9naW4gc2hlbGwgaWYgaXQgaXM7IGp1c3Qgc3VzcGVuZCBhbnl3YXkuIgotI34gbXNnc3RyICIiCi0jfiAiSGFsdGV0aWd1IGxhIHBsZW51bW9uIGRlIGxhIMWdZWxvIMSdaXMgxJ1pIHJpY2V2b3MgbGEgc2lnbmFsb24gU0lHQ09OVC5cbiIKLSN+ICIgICAgU2UgbGEgxZ1lbG8gZXN0YXMgc2FsdXRhLCBsYSBvcGNpbyDigJ4tZuKAnyBzaWxlbnRpZ2FzIGxhIGF2ZXJ0b24ga2VcbiIKLSN+ICIgICAgxJ1pIGVzdGFzIHNhbHV0YSDFnWVsbzsgbGEgxZ1lbG8gc2ltcGxlIGhhbHRldGFzLiIKLQotIyB0aW1lcwotI34gbXNnaWQgIiIKLSN+ICJQcmludCB0aGUgYWNjdW11bGF0ZWQgdXNlciBhbmQgc3lzdGVtIHRpbWVzIGZvciBwcm9jZXNzZXMgcnVuIGZyb21cbiIKLSN+ICIgICAgdGhlIHNoZWxsLiIKLSN+IG1zZ3N0ciAiIgotI34gIkVsaWd1IGxhIHRlbXBvam4gYWt1bXVsaXRham4gZGUgbGEgdXphbnRvIGthaiBkZSBsYSBrZXJub1xuIgotI34gIiAgICBwb3IgbGEgcHJvY2V6b2ogbGFuxIlpdGFqIGVsIGxhIMWdZWxvLiIKLQotIyB0eXBlIFstYWZwdFBdIG5hbWUgW25hbWUgLi4uXQotI34gbXNnaWQgIiIKLSN+ICJGb3IgZWFjaCBOQU1FLCBpbmRpY2F0ZSBob3cgaXQgd291bGQgYmUgaW50ZXJwcmV0ZWQgaWYgdXNlZCBhcyBhXG4iCi0jfiAiICAgIGNvbW1hbmQgbmFtZS5cbiIKLSN+ICIgICAgXG4iCi0jfiAiICAgIElmIHRoZSAtdCBvcHRpb24gaXMgdXNlZCwgYHR5cGUnIG91dHB1dHMgYSBzaW5nbGUgd29yZCB3aGljaCBpcyBvbmUgIgotI34gIm9mXG4iCi0jfiAiICAgIGBhbGlhcycsIGBrZXl3b3JkJywgYGZ1bmN0aW9uJywgYGJ1aWx0aW4nLCBgZmlsZScgb3IgYCcsIGlmIE5BTUUgaXMgIgotI34gImFuXG4iCi0jfiAiICAgIGFsaWFzLCBzaGVsbCByZXNlcnZlZCB3b3JkLCBzaGVsbCBmdW5jdGlvbiwgc2hlbGwgYnVpbHRpbiwgZGlzayAiCi0jfiAiZmlsZSxcbiIKLSN+ICIgICAgb3IgdW5mb3VuZCwgcmVzcGVjdGl2ZWx5LlxuIgotI34gIiAgICBcbiIKLSN+ICIgICAgSWYgdGhlIC1wIGZsYWcgaXMgdXNlZCwgYHR5cGUnIGVpdGhlciByZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSBkaXNrXG4iCi0jfiAiICAgIGZpbGUgdGhhdCB3b3VsZCBiZSBleGVjdXRlZCwgb3Igbm90aGluZyBpZiBgdHlwZSAtdCBOQU1FJyB3b3VsZCBub3RcbiIKLSN+ICIgICAgcmV0dXJuIGBmaWxlJy5cbiIKLSN+ICIgICAgXG4iCi0jfiAiICAgIElmIHRoZSAtYSBmbGFnIGlzIHVzZWQsIGB0eXBlJyBkaXNwbGF5cyBhbGwgb2YgdGhlIHBsYWNlcyB0aGF0ICIKLSN+ICJjb250YWluXG4iCi0jfiAiICAgIGFuIGV4ZWN1dGFibGUgbmFtZWQgYGZpbGUnLiAgVGhpcyBpbmNsdWRlcyBhbGlhc2VzLCBidWlsdGlucywgYW5kXG4iCi0jfiAiICAgIGZ1bmN0aW9ucywgaWYgYW5kIG9ubHkgaWYgdGhlIC1wIGZsYWcgaXMgbm90IGFsc28gdXNlZC5cbiIKLSN+ICIgICAgXG4iCi0jfiAiICAgIFRoZSAtZiBmbGFnIHN1cHByZXNzZXMgc2hlbGwgZnVuY3Rpb24gbG9va3VwLlxuIgotI34gIiAgICBcbiIKLSN+ICIgICAgVGhlIC1QIGZsYWcgZm9yY2VzIGEgUEFUSCBzZWFyY2ggZm9yIGVhY2ggTkFNRSwgZXZlbiBpZiBpdCBpcyBhbiAiCi0jfiAiYWxpYXMsXG4iCi0jfiAiICAgIGJ1aWx0aW4sIG9yIGZ1bmN0aW9uLCBhbmQgcmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgZGlzayBmaWxlIHRoYXQgIgotI34gIndvdWxkXG4iCi0jfiAiICAgIGJlIGV4ZWN1dGVkLiIKLSN+IG1zZ3N0ciAiIgotI34gIlBvciDEiWl1IG5vbW8gbmFtZSwgbW9udHJ1IGtpb24gxJ1pIHNpZ25pZnVzIGVuIGxhIHBvemljaW8gZGVcbiIKLSN+ICIgICAga29tYWRvbm9tby5cbiIKLSN+ICJcbiIKLSN+ICIgICAgS3VuIGxhIG9wY2lvIC10IGVsaWd1IHVudSB2b3J0b24sIGl1biBlbCBsYSBzZWt2YWo6XG4iCi0jfiAiICAgIOKAnmFsaWFz4oCfLCDigJ5rZXl3b3Jk4oCfLCDigJ5mdW5jdGlvbuKAnywg4oCeYnVpbHRpbuKAnywg4oCeZmlsZeKAnyBhxa0g4oCe4oCfIC0tIHNlXG4iCi0jfiAiICAgIG5hbWUgIGVzdGFzLCByZXNwZWt0aXZlLCBhbGlub21vLCDFnWVsYSDFnWxvc2lsdm9ydG8sIMWdZWxmdW5rY2lvLFxuIgotI34gIiAgICDFnWVsYSBwcmltaXRpdm8sIGRvc2llcm8gYcWtIG5lbmlvIGtvbmF0YS5cbiIKLSN+ICJcbiIKLSN+ICIgICAgS3VuIGxhIG9wY2lvIC1wIGVsaWd1IGxhIG5vbW9uIGRlIGRvc2llcm8ga2l1IGnEnXVzIHBsZW51bWF0YTtcbiIKLSN+ICIgICAgYcWtIG5lbmlvbiwgc2UgbGEgwqt0eXBlIC10IG5hbWXCuyBuZSBlbGlndXMg4oCeZmlsZeKAny5cbiIKLSN+ICJcbiIKLSN+ICIgICAgxIhlICAtYSAgbGlzdGlndSDEiWl1am4gbG9rb2puIGVudGVuYW50YWpuIHBsZW51bWVibGFuIGRvc2llcm9uXG4iCi0jfiAiICAgIGt1biBrb25jZXJuYSBub21vIG5hbWUuICBMYSBsaXN0byBpbmtsdWRhcyBhbGlub21vam4ga2FqXG4iCi0jfiAiICAgIGZ1bmtjaW9qbiwgc2Uga2FqIG51ciBzZSBtYWxlc3RhcyBsYSBvcGNpbyAtcC5cbiIKLSN+ICJcbiIKLSN+ICIgICAgTGEgb3BjaW8gIC1mICBla3NrbHVkYXMgZWwgbGEgc2VyxIlvIGxhIMWdZWxmdW5rY2lvam4uXG4iCi0jfiAiXG4iCi0jfiAiICAgIExhIG9wY2lvIC1mIGlnYXMgc2VyxIlpIMSJaXVuIG5vbW9uIG5hbWUgbGHFrSBQQVRILCBlxIkgc2UgZWt6aXN0YXNcbiIKLSN+ICIgICAgYWxpbm9tbywgcHJpbWl0aXZhIGtvbWFuZG8gYcWtIGZ1bmtjaW8gbmFtZSwga2FqIGVsaWdpIGxhIG5vbW9uIGRlXG4iCi0jfiAiICAgIGtvbmNlcm5hIHBsZW51bWVibGEgZG9zaWVyby4iCi0KLSMgdW1hc2sgWy1wXSBbLVNdIFttb2RlXQotI34gbXNnaWQgIiIKLSN+ICJUaGUgdXNlciBmaWxlLWNyZWF0aW9uIG1hc2sgaXMgc2V0IHRvIE1PREUuICBJZiBNT0RFIGlzIG9taXR0ZWQsIG9yIGlmXG4iCi0jfiAiICAgIGAtUycgaXMgc3VwcGxpZWQsIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBtYXNrIGlzIHByaW50ZWQuICBUaGUgYC0iCi0jfiAiUydcbiIKLSN+ICIgICAgb3B0aW9uIG1ha2VzIHRoZSBvdXRwdXQgc3ltYm9saWM7IG90aGVyd2lzZSBhbiBvY3RhbCBudW1iZXIgaXMgIgotI34gIm91dHB1dC5cbiIKLSN+ICIgICAgSWYgYC1wJyBpcyBzdXBwbGllZCwgYW5kIE1PREUgaXMgb21pdHRlZCwgdGhlIG91dHB1dCBpcyBpbiBhIGZvcm1cbiIKLSN+ICIgICAgdGhhdCBtYXkgYmUgdXNlZCBhcyBpbnB1dC4gIElmIE1PREUgYmVnaW5zIHdpdGggYSBkaWdpdCwgaXQgaXNcbiIKLSN+ICIgICAgaW50ZXJwcmV0ZWQgYXMgYW4gb2N0YWwgbnVtYmVyLCBvdGhlcndpc2UgaXQgaXMgYSBzeW1ib2xpYyBtb2RlICIKLSN+ICJzdHJpbmdcbiIKLSN+ICIgICAgbGlrZSB0aGF0IGFjY2VwdGVkIGJ5IGNobW9kKDEpLiIKLSN+IG1zZ3N0ciAiIgotI34gIkxhIGRvc2llcmtyZWEgbWFza28gZGUgbGEgdXphbnRvIGhhdnUgbGEgdmFsb3JvbiBkZSBsYSBhcmd1bWVudG9cbiIKLSN+ICIgICAgbW9kZS4gIFNlICBtb2RlICBtYW5rYXMgYcWtIHNlIMSJZWVzdGFzIGxhIG9wY2lvIC1TLCBlbGlndSBsYVxuIgotI34gIiAgICBrdXJhbnRhbiB2YWxvcm9uIGRlIGxhIG1hc2tvLiAgS3VuIGxhIG9wY2lvIC1TIGxhIGVsaWdvIGVzdGFzXG4iCi0jfiAiICAgIHNpbWJvbGEsIGFsaWUgxJ1pIGVzdGFzIG9rdW1hLiAgU2UgZXN0YXMgZG9uaXRhIOKAni1w4oCfIHNlblxuIgotI34gIiAgICBhcmd1bWVudG8gbW9kZSwgbGEgZWxpZ2HEtW8gaGF2b3MgZm9ybW9uIHRhxa1nYW4gcG9yIGVuaWdvLlxuIgotI34gIiAgICBTZSBsYSBhcmd1bWVudG8gIG1vZGUgIGtvbWVuY2nEnWFzIHBlciBjaWZlcm8sIMSdaSBlc3Rhc1xuIgotI34gIiAgICBpbnRlcnByZXRhdGEga2llbCBva3VtYSBub21icm8sIGFsaWUga2llbCBzaW1ib2xhIHNpZ25vxIllbm9cbiIKLSN+ICIgICAgbGHFrSBjaG1vZCgxKS4iCi0KLSN+IG1zZ2lkICIiCi0jfiAiV2FpdCBmb3IgdGhlIHNwZWNpZmllZCBwcm9jZXNzIGFuZCByZXBvcnQgaXRzIHRlcm1pbmF0aW9uIHN0YXR1cy4gIElmXG4iCi0jfiAiICAgIE4gaXMgbm90IGdpdmVuLCBhbGwgY3VycmVudGx5IGFjdGl2ZSBjaGlsZCBwcm9jZXNzZXMgYXJlIHdhaXRlZCBmb3IsXG4iCi0jfiAiICAgIGFuZCB0aGUgcmV0dXJuIGNvZGUgaXMgemVyby4gIE4gaXMgYSBwcm9jZXNzIElEOyBpZiBpdCBpcyBub3QgZ2l2ZW4sXG4iCi0jfiAiICAgIGFsbCBjaGlsZCBwcm9jZXNzZXMgb2YgdGhlIHNoZWxsIGFyZSB3YWl0ZWQgZm9yLiIKLSN+IG1zZ3N0ciAiIgotI34gIkF0ZW5kdSBmaW5pxJ1vbiBkZSBsYSBpbmRpa2l0YSBwcm9jZXpvIGthaiBsaXZlcnUgxJ1pYW4gZWxpcnN0YXRvbi5cbiIKLSN+ICIgICAgU2UgIG4gIG1hbGVzdGFzLCBhdGVuZHUgxIlpdWpuIGFrdGl2YWpuIHByb2Nlemlkb2puLCBrYWogbGl2ZXJ1XG4iCi0jfiAiICAgIGxhIGVsaXJzdGF0b24gMC4gIG4gZXN0YXMgcHJvY2V6bnVtZXJvOyAgc2UgxJ1pIG1hbGVzdGFzLCBhdGVuZHVcbiIKLSN+ICIgICAgxIlpdWpuIHByb2Nlemlkb2puIGRlIGxhIMWdZWxvLiIKLQotIyBaWlo6IGZ1bmN0aW9uIE5BTUUgeyBDT01NQU5EUyA7IH0gb3IKLSMgICAgICBOQU1FICgpIHsgQ09NTUFORFMgOyB9Ci0jfiBtc2dpZCAiIgotI34gIkNyZWF0ZSBhIHNpbXBsZSBjb21tYW5kIGludm9rZWQgYnkgTkFNRSB3aGljaCBydW5zIENPTU1BTkRTLlxuIgotI34gIiAgICBBcmd1bWVudHMgb24gdGhlIGNvbW1hbmQgbGluZSBhbG9uZyB3aXRoIE5BTUUgYXJlIHBhc3NlZCB0byB0aGVcbiIKLSN+ICIgICAgZnVuY3Rpb24gYXMgJDAgLi4gJG4uIgotI34gbXNnc3RyICIiCi0jfiAiS3JldSBzaW1wbGFuIGtvbWFuZG9uIHZva2VibGFuIHBlciBsYSBub21vIE5BTUUsIHBsZW51bWFudGFuIGxhXG4iCi0jfiAiICAgIGtvbWFuZG9qbiBDT01NQU5EUy4gIExhIG5vbW8ga2FqIGxhIGtvbWFuZG9saW5pYWogYXJndW1lbnRvalxuIgotI34gIiAgICBlc3RhcyBwYXNpZ2F0YWogYWwgdGl1IGZ1bmtjaW8gamVuZTogJDAgLi4uICRuLiIKLQotIyBzaG9wdCBbLXBxc3VdIFstbyBsb25nLW9wdGlvbl0gb3B0bmFtZSBbb3B0bmFtZS4uLl0KLSN+IG1zZ2lkICIiCi0jfiAiVG9nZ2xlIHRoZSB2YWx1ZXMgb2YgdmFyaWFibGVzIGNvbnRyb2xsaW5nIG9wdGlvbmFsIGJlaGF2aW9yLlxuIgotI34gIiAgICBUaGUgLXMgZmxhZyBtZWFucyB0byBlbmFibGUgKHNldCkgZWFjaCBPUFROQU1FOyB0aGUgLXUgZmxhZ1xuIgotI34gIiAgICB1bnNldHMgZWFjaCBPUFROQU1FLiAgVGhlIC1xIGZsYWcgc3VwcHJlc3NlcyBvdXRwdXQ7IHRoZSBleGl0XG4iCi0jfiAiICAgIHN0YXR1cyBpbmRpY2F0ZXMgd2hldGhlciBlYWNoIE9QVE5BTUUgaXMgc2V0IG9yIHVuc2V0LiAgVGhlIC1vXG4iCi0jfiAiICAgIG9wdGlvbiByZXN0cmljdHMgdGhlIE9QVE5BTUVzIHRvIHRob3NlIGRlZmluZWQgZm9yIHVzZSB3aXRoXG4iCi0jfiAiICAgIGBzZXQgLW8nLiAgV2l0aCBubyBvcHRpb25zLCBvciB3aXRoIHRoZSAtcCBvcHRpb24sIGEgbGlzdCBvZiBhbGxcbiIKLSN+ICIgICAgc2V0dGFibGUgb3B0aW9ucyBpcyBkaXNwbGF5ZWQsIHdpdGggYW4gaW5kaWNhdGlvbiBvZiB3aGV0aGVyIG9yXG4iCi0jfiAiICAgIG5vdCBlYWNoIGlzIHNldC4iCi0jfiBtc2dzdHIgIiIKLSN+ICLFnGFuxJ11IGxhIHZhbG9yb24gZGUgdmFyaWFibG9qIHJlZ2FudGFqIGxhIGtvbmR1dG9uIGRlIMWdZWxhaiBvcGNpb2ouXG4iCi0jfiAiICAgIExhIG9wY2lvIC1zIGFrdGl2aWdhcyAoc2V0KSDEiWl1biBvcGNpbm9tb24gIG9wdG5hbWUuXG4iCi0jfiAiICAgIExhIG9wY2lvIC11IG1hbGFrdGl2aWdhcyAodW5zZXQpIMSJaXVuIG9wY2lub21vbiAgb3B0bmFtZS5cbiIKLSN+ICIgICAgTGEgb3BjaW8gLXEgc2lsZW50aWdhcyBlbGlnb24gZGUgbm9ybWFsYWogbWVzYcSdb2o7IHNlIMSdaW4gYWtvbXBhbmFzXG4iCi0jfiAiICAgIHBsdXJhaiBvcGNpbm9tb2osIGxhIGVsaXJzdGF0byBpbmRpa2FzLCDEiXUgxIlpdWogZG9uaXRhaiAgb3B0bmFtZVxuIgotI34gIiAgICBlc3RhcyBha3RpdmFqLlxuIgotI34gIiAgICBMYSBvcGNpbyAgLW8gIGxpbWlnYXMgbGEgb3BjaW5vbW9qbiDEnWlzIHRpdWogdXplYmxhaiDEiWUg4oCec2V0IC1v4oCfLlxuIgotI34gIiAgICBTZW5vcGNpZSBhxa0ga3VuIGxhIG9wY2lvICAtcCAgbGEgbGlzdG8gZGUgxIlpdWogxZ1hbHRlYmxhaiBvcGNpb2pcbiIKLSN+ICIgICAgZXN0YXMgZWxpZ2F0YSwga3VuIGluZGlrbyDEiXUgxIlpdSBlbCBpbGkgZXN0YXMgxZ1hbHRpdGEgYcWtIG5lLiIKLQotIyBjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1vIG9wdGlvbl0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdCi0jIAkgWy1XIHdvcmRsaXN0XSBbLVAgcHJlZml4XSBbLVMgc3VmZml4XSBbLVggZmlsdGVycGF0XQotIyAJIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFtuYW1lIC4uLl0KLSN+IG1zZ2lkICIiCi0jfiAiRm9yIGVhY2ggTkFNRSwgc3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQuXG4iCi0jfiAiICAgIElmIHRoZSAtcCBvcHRpb24gaXMgc3VwcGxpZWQsIG9yIGlmIG5vIG9wdGlvbnMgYXJlIHN1cHBsaWVkLCAiCi0jfiAiZXhpc3RpbmdcbiIKLSN+ICIgICAgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9ucyBhcmUgcHJpbnRlZCBpbiBhIHdheSB0aGF0IGFsbG93cyB0aGVtIHRvICIKLSN+ICJiZVxuIgotI34gIiAgICByZXVzZWQgYXMgaW5wdXQuICBUaGUgLXIgb3B0aW9uIHJlbW92ZXMgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gIgotI34gImZvclxuIgotI34gIiAgICBlYWNoIE5BTUUsIG9yLCBpZiBubyBOQU1FcyBhcmUgc3VwcGxpZWQsIGFsbCBjb21wbGV0aW9uICIKLSN+ICJzcGVjaWZpY2F0aW9ucy4iCi0jfiBtc2dzdHIgIiIKLSN+ICJQb3IgxIlpdSBub21vIG5hbWUgZGlmaW51LCBraWVsIGxhIGFyZ3VtZW50b2ogZXN0dSBrb21wbGV0aWdvdGFqLlxuIgotI34gIiAgICBTZSDEiWVlc3RhcyBsYSBvcGNpbyAtcCwgYcWtIHNlbm9wY2llLCBlbGlndSBsYSBla3ppc3RhbnRham5cbiIKLSN+ICIgICAga29tcGxldGlnYWpuIHNwZWNpZm9qbiBlbiBmb3JtbyByZXV6ZWJsYSBwb3IgZW5pZ28gZW4gbGEgxZ1lbG9uLlxuIgotI34gIiAgICBMYSBvcGNpbyAtciBmb3JpZ2FzIGxhIGtvbXBsZXRpZ2FqbiBzcGVjaWZvam4gcG9yIMSJaXUgbm9tbyBuYW1lLFxuIgotI34gIiAgICBhxa0sIHNlIG5lbmlhIHRpYSBub21vIGVzdGFzIGRvbml0YSwgxIlpdWpuIGtvbXBsZXRpZ2FqbiBzcGVjaWZvam4uIgorI34gInhyZWFsbG9jOiAlczolZDogbmUgZWJsYXMgcmVva3VwaSAlbHUgYmFqdG9qbiAoJWx1IGJhanRvaiBkaXNwb25pZ2l0YWopIgpkaWZmIC0tZ2l0IGEvcG8vZXMuZ21vIGIvcG8vZXMuZ21vCmluZGV4IGE5YzlhZWUuLmU2MjZhNmYgMTAwNjQ0Ci0tLSBhL3BvL2VzLmdtbworKysgYi9wby9lcy5nbW8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG8vZXMucG8gYi9wby9lcy5wbwppbmRleCA2M2I1ZjI1Li4yY2FkM2NjIDEwMDY0NAotLS0gYS9wby9lcy5wbworKysgYi9wby9lcy5wbwpAQCAtMSw3MiArMSw3OSBAQAotIyBNZW5zYWplcyBlbiBlc3Bh8W9sIHBhcmEgR05VIGJhc2gtMy4yLgotIyBDb3B5cmlnaHQgKEMpIDIwMDAsIDIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0jIENyaXN0aWFuIE90aPNuIE1hcnTtbmV6IFZlcmEgPGNmdWdhQGl0YW0ubXg+LCAyMDAwLCAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LgorIyBNZW5zYWplcyBlbiBlc3Bh8W9sIHBhcmEgR05VIGJhc2gtNC4wLgorIyBDb3B5cmlnaHQgKEMpIDIwMDAsIDIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBiYXNoIHBhY2thZ2UuCisjIENyaXN0aWFuIE90aPNuIE1hcnTtbmV6IFZlcmEgPGNmdWdhQGl0YW0ubXg+LCAyMDAwLCAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LgogIwogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogR05VIGJhc2ggMy4yXG4iCisiUHJvamVjdC1JZC1WZXJzaW9uOiBHTlUgYmFzaCA0LjBcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMDItMTkgMTQ6NTMtMDUwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMDYtMTAtMzEgMjM6MzYtMDYwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTEyLTMwIDA4OjI1LTA1MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDA5LTAzLTE5IDE5OjM0LTA2MDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IENyaXN0aWFuIE90aPNuIE1hcnTtbmV6IFZlcmEgPGNmdWdhQGl0YW0ubXg+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogU3BhbmlzaCA8ZXNAbGkub3JnPlxuIgogIk1JTUUtVmVyc2lvbjogMS4wXG4iCiAiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4LWJpdFxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgogCiAjOiBhcnJheWZ1bmMuYzo1MAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgInN1Yu1uZGljZSBkZSBtYXRyaXogaW5jb3JyZWN0byIKIAotIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAorIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczogbm8gc2UgcHVlZGUgY29udmVydGlyIGxhIG1hdHJpeiBkZSBpbmRpemFkYSBhIGFzb2NpYXRpdmEiCiAKLSM6IGFycmF5ZnVuYy5jOjQ3OQotIywgZnV6enksIGMtZm9ybWF0CisjOiBhcnJheWZ1bmMuYzo0ODAKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXNzb2NpYXRpdmUgYXJyYXkga2V5IgotbXNnc3RyICIlczogbm9tYnJlIGRlIGFjY2nzbiBpbnbhbGlkbyIKK21zZ3N0ciAiJXM6IO1uZGljZSBkZSBtYXRyaXogYXNvY2lhdGl2YSBpbnbhbGlkbyIKIAotIzogYXJyYXlmdW5jLmM6NDgxCisjOiBhcnJheWZ1bmMuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gdG8gbm9uLW51bWVyaWMgaW5kZXgiCiBtc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBhc2lnbmFyIGEgdW4g7W5kaWNlIHF1ZSBubyBlcyBudW3pcmljbyIKIAotIzogYXJyYXlmdW5jLmM6NTE3CisjOiBhcnJheWZ1bmMuYzo1MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBtdXN0IHVzZSBzdWJzY3JpcHQgd2hlbiBhc3NpZ25pbmcgYXNzb2NpYXRpdmUgYXJyYXkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6ICVzOiBzZSBkZWJlIHVzYXIgdW4gc3Vi7W5kaWNlIGFsIGFzaWduYXIgYSB1bmEgbWF0cml6IGFzb2NpYXRpdmEiCiAKLSM6IGJhc2hoaXN0LmM6Mzc5CisjOiBiYXNoaGlzdC5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiBtc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBjcmVhcjogJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzQxMworIzogYmFzaGxpbmUuYzozNDU3CiBtc2dpZCAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgogbXNnc3RyICIiCiAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogbm8gc2UgcHVlZGUgZW5jb250cmFyIGxhIGNvbWJpbmFjafNuIGRlIHRlY2xhcyAiCiAicGFyYSBsYSBvcmRlbiIKIAotIzogYmFzaGxpbmUuYzozNDkxCisjOiBiYXNobGluZS5jOjM1NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpcnN0IG5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlciBpcyBub3QgYFwiJyIKIG1zZ3N0ciAiJXM6IGVsIHByaW1lciBjYXLhY3RlciBxdWUgbm8gZXMgZXNwYWNpbyBlbiBibGFuY28gbm8gZXMgYFwiJyIKIAotIzogYmFzaGxpbmUuYzozNTIwCisjOiBiYXNobGluZS5jOjM1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2xvc2luZyBgJWMnIGluICVzIgogbXNnc3RyICJubyBoYXkgdW4gYCVjJyBxdWUgY2llcnJlIGVuICVzIgogCi0jOiBiYXNobGluZS5jOjM1NTQKKyM6IGJhc2hsaW5lLmM6MzYwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCiBtc2dzdHIgIiVzOiBmYWx0YSB1biBgOicgc2VwYXJhZG9yIgogCisjOiBidWlsdGlucy9hbGlhcy5kZWY6MTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJXMnOiBpbnZhbGlkIGFsaWFzIG5hbWUiCittc2dzdHIgImAlcyc6IG5vbWJyZSBkZSBjb21iaW5hY2nzbiBkZSB0ZWNsYXMgaW524WxpZG8iCisKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjEyMCBidWlsdGlucy9iaW5kLmRlZjoxMjMKIG1zZ2lkICJsaW5lIGVkaXRpbmcgbm90IGVuYWJsZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAibm8gc2UgYWN0aXbzIGxhIGVkaWNp824gZGUgbO1uZWEiCiAKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjIwNgogIywgYy1mb3JtYXQKQEAgLTgxLDcgKzg4LDcgQEAKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjI2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBjYW5ub3QgdW5iaW5kIgotbXNnc3RyICIlczogbm8gc2UgcHVlZGUgZGVzZW5sYXphciIKK21zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGJvcnJhciBsYSBhc2lnbmFjafNuIgogCiAjOiBidWlsdGlucy9iaW5kLmRlZjoyOTUgYnVpbHRpbnMvYmluZC5kZWY6MzI1CiAjLCBjLWZvcm1hdApAQCAtOTEsNyArOTgsNyBAQAogIzogYnVpbHRpbnMvYmluZC5kZWY6MzAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG5vdCBib3VuZCB0byBhbnkga2V5cy5cbiIKLW1zZ3N0ciAiJXMgbm8gZXN04SBlbmxhemFkbyBhIG5pbmd1bmEgdGVjbGEuXG4iCittc2dzdHIgIiVzIG5vIGVzdOEgYXNpZ25hZG8gYSBuaW5ndW5hIHRlY2xhLlxuIgogCiAjOiBidWlsdGlucy9iaW5kLmRlZjozMDcKICMsIGMtZm9ybWF0CkBAIC05OSwyMSArMTA2LDM3IEBACiBtc2dzdHIgIiVzIHNlIHB1ZWRlIGludm9jYXIgYSB0cmF26XMgZGUgIgogCiAjOiBidWlsdGlucy9icmVhay5kZWY6NzcgYnVpbHRpbnMvYnJlYWsuZGVmOjExNwotIywgZnV6enkKIG1zZ2lkICJsb29wIGNvdW50IgotbXNnc3RyICJsb2dvdXQiCittc2dzdHIgImN1ZW50YSBkZSBjaWNsbyIKIAogIzogYnVpbHRpbnMvYnJlYWsuZGVmOjEzNwogbXNnaWQgIm9ubHkgbWVhbmluZ2Z1bCBpbiBhIGBmb3InLCBgd2hpbGUnLCBvciBgdW50aWwnIGxvb3AiCiBtc2dzdHIgInPzbG8gdGllbmUgc2lnbmlmaWNhZG8gZW4gdW4gY2ljbG8gYGZvcicsIGB3aGlsZScgbyBgdW50aWwnIgogCiAjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzMwotIywgZnV6enkKIG1zZ2lkICIiCiAiUmV0dXJucyB0aGUgY29udGV4dCBvZiB0aGUgY3VycmVudCBzdWJyb3V0aW5lIGNhbGwuXG4iCiAiICAgIFxuIgogIiAgICBXaXRob3V0IEVYUFIsIHJldHVybnMgIgotbXNnc3RyICJEZXZ1ZWx2ZSBlbCBjb250ZXh0byBkZSBsYSBsbGFtYWRhIGEgc3VicnV0aW5hIGFjdHVhbC4iCittc2dzdHIgIiIKKyJEZXZ1ZWx2ZSBlbCBjb250ZXh0byBkZSBsYSBsbGFtYWRhIGEgc3VicnV0aW5hIGFjdHVhbC5cbiIKKyIgICAgXG4iCisiICAgIFNpbiBFWFBSLCBkZXZ1ZWx2ZSAiCisKKyM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM1Cittc2dpZCAiIgorIi4gIFdpdGggRVhQUiwgcmV0dXJuc1xuIgorIiAgICAiCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzYKK21zZ2lkICIiCisiOyB0aGlzIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIHRvXG4iCisiICAgIHByb3ZpZGUgYSBzdGFjayB0cmFjZS5cbiIKKyIgICAgXG4iCisiICAgIFRoZSB2YWx1ZSBvZiBFWFBSIGluZGljYXRlcyBob3cgbWFueSBjYWxsIGZyYW1lcyB0byBnbyBiYWNrIGJlZm9yZSB0aGVcbiIKKyIgICAgY3VycmVudCBvbmU7IHRoZSB0b3AgZnJhbWUgaXMgZnJhbWUgMC4iCittc2dzdHIgIiIKIAogIzogYnVpbHRpbnMvY2QuZGVmOjIxNQogbXNnaWQgIkhPTUUgbm90IHNldCIKQEAgLTEyNCwyNSArMTQ3LDI1IEBACiBtc2dzdHIgIk9MRFBXRCBubyBlc3ThIGRlZmluaWRvIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoxMDEKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJsaW5lICVkOiAiCi1tc2dzdHIgInJhbnVyYSAlM2Q6ICIKK21zZ3N0ciAibO1uZWEgJWQ6ICIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTM5IGVycm9yLmM6MjYwCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEzOSBlcnJvci5jOjI2MQorIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAiCi1tc2dzdHIgIiVzOiBhdmlzbzogIgorbXNnc3RyICJhdmlzbzogIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoxNTMKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdXNhZ2U6ICIKLW1zZ3N0ciAiJXM6IGF2aXNvOiAiCittc2dzdHIgIiVzOiB1c286ICIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjIKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODI3CiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICJkZW1hc2lhZG9zIGFyZ3VtZW50b3MiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5MyBzaGVsbC5jOjc3NAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIiVzOiBsYSBvcGNp824gcmVxdWllcmUgdW4gYXJndW1lbnRvIgpAQCAtMTU3LDcgKzE4MCw3IEBACiBtc2dpZCAiJXM6IG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IG5vIHNlIGVuY29udHLzIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3ODcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVzOiBvcGNp824gaW524WxpZGEiCkBAIC0xNzMsMTYgKzE5NiwxNCBAQAogbXNnc3RyICJgJXMnOiBubyBlcyB1biBpZGVudGlmaWNhZG9yIHbhbGlkbyIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6MjM4Ci0jLCBmdXp6eQogbXNnaWQgImludmFsaWQgb2N0YWwgbnVtYmVyIgotbXNnc3RyICJu+m1lcm8gZGUgc2XxYWwgaW524WxpZG8iCittc2dzdHIgIm76bWVybyBvY3RhbCBpbnbhbGlkbyIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6MjQwCi0jLCBmdXp6eQogbXNnaWQgImludmFsaWQgaGV4IG51bWJlciIKLW1zZ3N0ciAibvptZXJvIGluduFsaWRvIgorbXNnc3RyICJu+m1lcm8gaGV4YWRlY2ltYWwgaW524WxpZG8iCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NQorIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU2CiBtc2dpZCAiaW52YWxpZCBudW1iZXIiCiBtc2dzdHIgIm76bWVybyBpbnbhbGlkbyIKIApAQCAtMTk2LDcgKzIxNyw3IEBACiBtc2dpZCAiYCVzJzogbm90IGEgcGlkIG9yIHZhbGlkIGpvYiBzcGVjIgogbXNnc3RyICJgJXMnOiBubyBlcyB1biBwaWQgbyB1bmEgZXNwZWNpZmljYWNp824gduFsaWRhIGRlIHRyYWJham8iCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI2NCBlcnJvci5jOjQ1MworIzogYnVpbHRpbnMvY29tbW9uLmM6MjY0IGVycm9yLmM6NDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkb25seSB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6IHZhcmlhYmxlIGRlIHPzbG8gbGVjdHVyYSIKQEAgLTI1MSwxMiArMjcyLDEyIEBACiAjOiBidWlsdGlucy9jb21tb24uYzozMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3Igc2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJlcnJvciBhbCBlc3RhYmxlY2VyIGxvcyBhdHJpYnV0b3MgZGUgbGEgdGVybWluYWw6ICVzIgogCiAjOiBidWlsdGlucy9jb21tb24uYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgZ2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJlcnJvciBhbCBvYnRlbmVyIGxvcyBhdHJpYnV0b3MgZGUgbGEgdGVybWluYWw6ICVzIgogCiAjOiBidWlsdGlucy9jb21tb24uYzo1NjMKICMsIGMtZm9ybWF0CkBAIC0yNjgsMjggKzI4OSwyOCBAQAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgam9iIHNwZWMiCiBtc2dzdHIgIiVzOiBlc3BlY2lmaWNhY2nzbiBkZSB0cmFiYWpvIGFtYmlndWEiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjoyNzAKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjoyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYWN0aW9uIG5hbWUiCiBtc2dzdHIgIiVzOiBub21icmUgZGUgYWNjafNuIGluduFsaWRvIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDMwIGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2MTUKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MTMKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo0NDkgYnVpbHRpbnMvY29tcGxldGUuZGVmOjY0NAorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjg1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm8gY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczogbm8gaGF5IGNvbXBsZXRhZG8gZGUgZXNwZWNpZmljYWNp824iCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NjcKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTYKIG1zZ2lkICJ3YXJuaW5nOiAtRiBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCiBtc2dzdHIgImF2aXNvOiBlcyBwb3NpYmxlIHF1ZSBsYSBvcGNp824gLUYgbm8gZnVuY2lvbmUgY29tbyBzZSBlc3BlcmEiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NjkKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTgKIG1zZ2lkICJ3YXJuaW5nOiAtQyBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCiBtc2dzdHIgImF2aXNvOiBlcyBwb3NpYmxlIHF1ZSBsYSBvcGNp824gLUMgbm8gZnVuY2lvbmUgY29tbyBzZSBlc3BlcmEiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo3ODYKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MjYKIG1zZ2lkICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgotbXNnc3RyICIiCittc2dzdHIgIm5vIHNlIGVzdOEgZWplY3V0YW5kbyBsYSBmdW5jafNuIGRlIGNvbXBsZXRhZG8iCiAKICMgc/NsbyBzZSBwdWVkZSB1c2FyLiBzdgogIyBEZSBhY3VlcmRvLiBjZnVnYQpAQCAtMjk3LDI0ICszMTgsMjQgQEAKIG1zZ2lkICJjYW4gb25seSBiZSB1c2VkIGluIGEgZnVuY3Rpb24iCiBtc2dzdHIgInPzbG8gc2UgcHVlZGUgdXNhciBkZW50cm8gZGUgdW5hIGZ1bmNp824iCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM1MworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzYwCiBtc2dpZCAiY2Fubm90IHVzZSBgLWYnIHRvIG1ha2UgZnVuY3Rpb25zIgogbXNnc3RyICJubyBzZSBwdWVkZSB1c2FyIGAtZicgcGFyYSBoYWNlciBmdW5jaW9uZXMiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NSBleGVjdXRlX2NtZC5jOjQ4MTgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3MiBleGVjdXRlX2NtZC5jOjQ5MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IGZ1bmN0aW9uIgogbXNnc3RyICIlczogZnVuY2nzbiBkZSBz82xvIGxlY3R1cmEiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2MQorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiVzOiBubyBzZSBwdWVkZW4gZGVzdHJ1aXIgdmFyaWFibGVzIGRlIG1hdHJpeiBkZSBlc3RhIGZvcm1hIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczogbm8gc2UgcHVlZGUgY29udmVydGlyIHVuYSBtYXRyaXogYXNvY2lhdGl2YSBhIGluZGl6YWRhIgogCiAjOiBidWlsdGlucy9lbmFibGUuZGVmOjEzNyBidWlsdGlucy9lbmFibGUuZGVmOjE0NQogbXNnaWQgImR5bmFtaWMgbG9hZGluZyBub3QgYXZhaWxhYmxlIgpAQCAtMzQwLDggKzM2MSw4IEBACiBtc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgogbXNnc3RyICIlczogbm8gc2UgcHVlZGUgYm9ycmFyOiAlcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDY3NQotIzogc2hlbGwuYzoxNDM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0CisjOiBzaGVsbC5jOjE0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczogZXMgdW4gZGlyZWN0b3JpbyIKQEAgLTM1OCw3ICszNzksOCBAQAogCiAjIGZpbGU9ZmljaGVyby4gYXJjaGl2ZT1hcmNoaXZvLiBTaSBubywgZXMgaW1wb3NpYmxlIHRyYWR1Y2lyIHRhci4gc3YKICMgRGUgYWN1ZXJkby4gQ29ycmVnaWRvIGVuIHRvZG8gZWwgZmljaGVyby4gY2Z1Z2EKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGV4ZWN1dGVfY21kLmM6NDc0NSBzaGVsbC5jOjE0NDkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAzIGV4ZWN1dGVfY21kLmM6NDg2NAorIzogc2hlbGwuYzoxNDYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIG1zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGVqZWN1dGFyIGVsIGZpY2hlcm8gYmluYXJpbyIKQEAgLTM2OSw5ICszOTEsOSBAQAogbXNnc3RyICIlczogbm8gc2UgcHVlZGUgZWplY3V0YXI6ICVzIgogCiAjOiBidWlsdGlucy9leGl0LmRlZjo2NQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgImxvZ291dFxuIgotbXNnc3RyICJsb2dvdXQiCittc2dzdHIgImxvZ291dFxuIgogCiAjOiBidWlsdGlucy9leGl0LmRlZjo4OAogbXNnaWQgIm5vdCBsb2dpbiBzaGVsbDogdXNlIGBleGl0JyIKQEAgLTM4MywyNiArNDA1LDI2IEBACiBtc2dzdHIgIkhheSB0cmFiYWpvcyBkZXRlbmlkb3MuXG4iCiAKICM6IGJ1aWx0aW5zL2V4aXQuZGVmOjEyMgotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIlRoZXJlIGFyZSBydW5uaW5nIGpvYnMuXG4iCi1tc2dzdHIgIkhheSB0cmFiYWpvcyBkZXRlbmlkb3MuXG4iCittc2dzdHIgIkhheSB0cmFiYWpvcyBlbiBlamVjdWNp824uXG4iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjIKIG1zZ2lkICJubyBjb21tYW5kIGZvdW5kIgogbXNnc3RyICJubyBzZSBlbmNvbnRy8yBsYSBvcmRlbiIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM0MQorIzogYnVpbHRpbnMvZmMuZGVmOjM0OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiZXNwZWNpZmljYWNp824gZGUgaGlzdG9yaWEiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNjIKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCiBtc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBhYnJpciBlbCBmaWNoZXJvIHRlbXBvcmFsOiAlcyIKIAogIzogYnVpbHRpbnMvZmdfYmcuZGVmOjE0OSBidWlsdGlucy9qb2JzLmRlZjoyODIKIG1zZ2lkICJjdXJyZW50IgotbXNnc3RyICIiCittc2dzdHIgImFjdHVhbCIKIAogIzogYnVpbHRpbnMvZmdfYmcuZGVmOjE1OAogIywgYy1mb3JtYXQKQEAgLTQyMSw3ICs0NDMsNyBAQAogCiAjOiBidWlsdGlucy9oYXNoLmRlZjo5MgogbXNnaWQgImhhc2hpbmcgZGlzYWJsZWQiCi1tc2dzdHIgImhhc2hpbmcgZGVzYWN0aXZhZG8iCittc2dzdHIgImFzb2NpYWNp824gZGVzYWN0aXZhZGEiCiAKICM6IGJ1aWx0aW5zL2hhc2guZGVmOjEzOAogIywgYy1mb3JtYXQKQEAgLTQyOSwxNSArNDUxLDE1IEBACiBtc2dzdHIgIiVzOiB0YWJsYSBkZSBhc29jaWFjafNuIHZhY+1hXG4iCiAKICM6IGJ1aWx0aW5zL2hhc2guZGVmOjI0NAotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgImhpdHNcdGNvbW1hbmRcbiIKLW1zZ3N0ciAi+mx0aW1hIG9yZGVuOiAlc1xuIgorbXNnc3RyICJjb2luY1x0b3JkZW5cbiIKIAogIzogYnVpbHRpbnMvaGVscC5kZWY6MTMwCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiU2hlbGwgY29tbWFuZHMgbWF0Y2hpbmcga2V5d29yZCBgIgogbXNnaWRfcGx1cmFsICJTaGVsbCBjb21tYW5kcyBtYXRjaGluZyBrZXl3b3JkcyBgIgotbXNnc3RyWzBdICLTcmRlbmVzIGRlbCBzaGVsbCBxdWUgY29pbmNpZGVuIGNvbiBsYSBwYWxhYnJhIGAiCittc2dzdHJbMF0gIk9yZGVuIGRlbCBzaGVsbCBxdWUgY29pbmNpZGVuIGNvbiBsYSBwYWxhYnJhIGAiCiBtc2dzdHJbMV0gItNyZGVuZXMgZGVsIHNoZWxsIHF1ZSBjb2luY2lkZW4gY29uIGxhIHBhbGFicmEgYCIKIAogIzogYnVpbHRpbnMvaGVscC5kZWY6MTY4CkBAIC00ODksMjAgKzUxMSwyMCBAQAogbXNnc3RyICIlczogZmFsbPMgbGEgZXhwYW5zafNuIGRlIGxhIGhpc3RvcmlhIgogCiAjOiBidWlsdGlucy9pbmxpYi5kZWY6NzEKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW5saWIgZmFpbGVkIgotbXNnc3RyICIlczogZmFsbPMgbGEgZXhwYW5zafNuIGRlIGxhIGhpc3RvcmlhIgorbXNnc3RyICIlczogZmFsbPMgaW5saWIiCiAKICM6IGJ1aWx0aW5zL2pvYnMuZGVmOjEwOQogbXNnaWQgIm5vIG90aGVyIG9wdGlvbnMgYWxsb3dlZCB3aXRoIGAteCciCiBtc2dzdHIgIm5vIHNlIHBlcm1pdGVuIG90cmFzIG9wY2lvbmVzIGNvbiBgLXgnIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoxOTcKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogbXNnc3RyICIlczogbG9zIGFyZ3VtZW50b3MgZGViZW4gc2VyIHByb2Nlc29zIG8gSURzIGRlIHRyYWJham9zIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyNjAKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MwogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgIkVycm9yIGRlc2Nvbm9jaWRvIgogCkBAIC01MTAsNTYgKzUzMiw2MCBAQAogbXNnaWQgImV4cHJlc3Npb24gZXhwZWN0ZWQiCiBtc2dzdHIgInNlIGVzcGVyYWJhIHVuYSBleHByZXNp824iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0MSBidWlsdGlucy9yZWFkLmRlZjoyNzIKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgorbXNnc3RyICIlczogbm8gZXMgdW5hIHZhcmlhYmxlIGRlIG1hdHJpeiIKKworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXM6IGVzcGVjaWZpY2FjafNuIGRlIGRlc2NyaXB0b3IgZGUgZmljaGVybyBpbnbhbGlkYSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU3IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgogbXNnc3RyICIlZDogZGVzY3JpcHRvciBkZSBmaWNoZXJvIGluduFsaWRvOiAlcyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU4IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NgotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjYgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzA0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCi1tc2dzdHIgIiVzOiBvcGNp824gaW524WxpZGEiCittc2dzdHIgIiVzOiBjdWVudGEgZGUgbO1uZWFzIGluduFsaWRhIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjkKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFycmF5IG9yaWdpbiIKLW1zZ3N0ciAiJXM6IG9wY2nzbiBpbnbhbGlkYSIKK21zZ3N0ciAiJXM6IG9yaWdlbiBkZSBtYXRyaXogaW524WxpZG8iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NgotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgY2FsbGJhY2sgcXVhbnR1bSIKLW1zZ3N0ciAiJXM6IG5vbWJyZSBkZSBhY2Np824gaW524WxpZG8iCittc2dzdHIgIiVzOiBxdWFudHVtIGRlIGxsYW1hZGEgaW524WxpZG8iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMxOAotIywgZnV6enkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMyNgogbXNnaWQgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCi1tc2dzdHIgIiVzOiBubyBlcyB1bmEgdmFyaWFibGUgZGUgbWF0cml6IgorbXNnc3RyICJub21icmUgZGUgdmFyaWFibGUgZGUgbWF0cml6IHZhY+1vIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM0NwogbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAic2UgcmVxdWllcmUgZWwgc29wb3J0ZSBkZSB2YXJpYWJsZSBkZSBtYXRyaXoiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6MzY3CisjOiBidWlsdGlucy9wcmludGYuZGVmOjM3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBtaXNzaW5nIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgImAlcyc6IGZhbHRhIGVsIGNhcuFjdGVyIGRlIGZvcm1hdG8iCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTQ0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgImAlYyc6IGNhcuFjdGVyIGRlIGZvcm1hdG8gaW524WxpZG8iCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTcxCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTc4CisjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKLW1zZ3N0ciAiJXM6IGF2aXNvOiAiCittc2dzdHIgImF2aXNvOiAlczogJXMiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzUwCisjOiBidWlsdGlucy9wcmludGYuZGVmOjc1NwogbXNnaWQgIm1pc3NpbmcgaGV4IGRpZ2l0IGZvciBcXHgiCiBtc2dzdHIgImZhbHRhIGVsIGTtZ2l0byBoZXhhZGVjaW1hbCBwYXJhIFxceCIKIApAQCAtNTczLDE1ICs1OTksMTMgQEAKIAogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjUwNgogbXNnaWQgImRpcmVjdG9yeSBzdGFjayBlbXB0eSIKLW1zZ3N0ciAiIgorbXNnc3RyICJsYSBwaWxhIGRlIGRpcmVjdG9yaW9zIGVzdOEgdmFj7WEiCiAKICM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo1MDgKLSMsIGZ1enp5CiBtc2dpZCAiZGlyZWN0b3J5IHN0YWNrIGluZGV4IgotbXNnc3RyICJkZXNib3JkYW1pZW50byBkZSBsYSBiYXNlIGRlIGxhIHBpbGEgZGUgcmVjdXJzafNuIgorbXNnc3RyICLtbmRpY2UgZGUgbGEgcGlsYSBkZSBkaXJlY3RvcmlvcyIKIAogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjY4MwotIywgZnV6enkKIG1zZ2lkICIiCiAiRGlzcGxheSB0aGUgbGlzdCBvZiBjdXJyZW50bHkgcmVtZW1iZXJlZCBkaXJlY3Rvcmllcy4gIERpcmVjdG9yaWVzXG4iCiAiICAgIGZpbmQgdGhlaXIgd2F5IG9udG8gdGhlIGxpc3Qgd2l0aCB0aGUgYHB1c2hkJyBjb21tYW5kOyB5b3UgY2FuIGdldFxuIgpAQCAtNjA4LDIzICs2MzIsMjQgQEAKICIgICAgc2UgZ3VhcmRhbiBlbiBsYSBsaXN0YSBjb24gbGEgb3JkZW4gYHB1c2hkJzsgcHVlZGVuIGlyIHNhbGllbmRvIGRlXG4iCiAiICAgIGxhIGxpc3RhIGNvbiBsYSBvcmRlbiBgcG9wZCcuXG4iCiAiICAgIFxuIgotIiAgICBMYSBvcGNp824gLWwgZXNwZWNpZmljYSBxdWUgYGRpcnMnIG5vIGRlYmUgbW9zdHJhciB2ZXJzaW9uZXNcbiIKLSIgICAgYWJyZXZpYWRhcyBkZSBsb3MgZGlyZWN0b3Jpb3MgcXVlIHNvbiByZWxhdGl2b3MgYSBzdSBkaXJlY3RvcmlvXG4iCi0iICAgIGluaWNpYWwuICBFc3RvIHNpZ25pZmljYSBxdWUgYH4vYmluJyBzZSBtb3N0cmFy4SBjb21vIGAvaG9tZS9iZm94L2JpbicuXG4iCi0iICAgIExhIG9wY2nzbiAtdiBjYXVzYSBxdWUgYGRpcnMnIG11ZXN0cmUgbGEgcGlsYSBkZSBkaXJlY3RvcmlvcyBjb25cbiIKLSIgICAgdW5hIGVudHJhZGEgcG9yIGztbmVhLCBhbnRlcG9uaWVuZG8gbGEgcG9zaWNp824gZW4gbGEgcGlsYSBhbCBub21icmVcbiIKLSIgICAgZGVsIGRpcmVjdG9yaW8uICBMYSBvcGNp824gLXAgaGFjZSBsbyBtaXNtbywgcGVybyBubyBhbnRlcG9uZSBsYVxuIgotIiAgICBwb3NpY2nzbiBlbiBsYSBwaWxhLiAgTGEgb3BjafNuIC1jIGxpbXBpYSBsYSBwaWxhIGRlIGRpcmVjdG9yaW9zXG4iCi0iICAgIGJvcnJhbmRvIHRvZG9zIHN1cyBlbGVtZW50b3MuXG4iCisiICAgIE9wY2lvbmVzOlxuIgorIiAgICAgIC1jXHRsaW1waWEgbGEgcGlsYSBkZSBkaXJlY3RvcmlvcywgZWxpbWluYW5kbyB0b2RvcyBsb3MgZWxlbWVudG9zXG4iCisiICAgICAgLWxcdG5vIG11ZXN0cmEgbGFzIHZlcnNpb25lcyBjb24gcHJlZmlqbyBkZSB0aWxkZSBkZSBsb3MgZGlyZWN0b3Jpb3NcbiIKKyIgICAgXHRyZWxhdGl2b3MgYSBzdSBkaXJlY3RvcmlvIGluaWNpYWxcbiIKKyIgICAgICAtcFx0bXVlc3RyYSBsYSBwaWxhIGRlIGRpcmVjdG9yaW9zIGNvbiB1bmEgZW50cmFkYSBwb3IgbO1uZWFcbiIKKyIgICAgICAtdlx0bXVlc3RyYSBsYSBwaWxhIGRlIGRpcmVjdG9yaW9zIGNvbiB1bmEgZW50cmFkYSBwb3IgbO1uZWEgY29uXG4iCisiICAgIFx0c3UgcG9zaWNp824gZW4gbGEgcGlsYSBjb21vIHByZWZpam9cbiIKICIgICAgXG4iCi0iICAgICtOXHRtdWVzdHJhIGxhIE4t6XNpbWEgZW50cmFkYSBjb250YW5kbyBkZXNkZSBsYSBpenF1aWVyZGEgZGUgbGEgbGlzdGFcbiIKLSIgICAgbW9zdHJhZGEgcG9yIGRpcnMgY3VhbmRvIHNlIGludm9jYSBzaW4gb3BjaW9uZXMsIGVtcGV6YW5kbyBkZSBjZXJvLlxuIgorIiAgICBBcmd1bWVudG9zOlxuIgorIiAgICAgICtOXHRNdWVzdHJhIGxhIE4t6XNpbWEgZW50cmFkYSBjb250YW5kbyBkZXNkZSBsYSBpenF1aWVyZGEgZGVcbiIKKyIgICAgXHRsYSBsaXN0YSBtb3N0cmFkYSBwb3IgZGlycyBjdWFuZG8gc2UgbGxhbWEgc2luIG9wY2lvbmVzLFxuIgorIiAgICBcdGVtcGV6YW5kbyBkZXNkZSBjZXJvLlxuIgogIiAgICBcbiIKLSIgICAgLU5cdG11ZXN0cmEgbGEgTi3pc2ltYSBlbnRyYWRhIGNvbnRhbmRvIGRlc2RlIGxhIGRlcmVjaGEgZGUgbGEgbGlzdGFcbiIKLSIgICAgbW9zdHJhZGEgcG9yIGRpcnMgY3VhbmRvIHNlIGludm9jYSBzaW4gb3BjaW9uZXMsIGVtcGV6YW5kbyBkZSBjZXJvLiIKKyIgICAgICAtTlx0TXVlc3RyYSBsYSBOLelzaW1hIGVudHJhZGEgY29udGFuZG8gZGVzZGUgbGEgZGVyZWNoYSBkZVxuIgorIlx0bGEgbGlzdGEgbW9zdHJhZGEgcG9yIGRpcnMgY3VhbmRvIHNlIGxsYW1hIHNpbiBvcGNpb25lcyxcbiIKKyJcdGVtcGV6YW5kbyBkZXNkZSBjZXJvLiIKIAogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjcwNQotIywgZnV6enkKIG1zZ2lkICIiCiAiQWRkcyBhIGRpcmVjdG9yeSB0byB0aGUgdG9wIG9mIHRoZSBkaXJlY3Rvcnkgc3RhY2ssIG9yIHJvdGF0ZXNcbiIKICIgICAgdGhlIHN0YWNrLCBtYWtpbmcgdGhlIG5ldyB0b3Agb2YgdGhlIHN0YWNrIHRoZSBjdXJyZW50IHdvcmtpbmdcbiIKQEAgLTY1Myw2ICs2NzgsNyBAQAogIiAgICBkaXJlY3RvcmlvIGRlIHRyYWJham8gYWN0dWFsLiAgU2luIGFyZ3VtZW50b3MsIGludGVyY2FtYmlhXG4iCiAiICAgIGxvcyBkb3MgZGlyZWN0b3Jpb3MgZGVsIHRvcGUuXG4iCiAiICAgIFxuIgorIiAgICBBcmd1bWVudG9zOlxuIgogIiAgICArTlx0Um90YSBsYSBwaWxhIHBhcmEgcXVlIGVsIE4t6XNpbW8gZGlyZWN0b3JpbyAoY29udGFuZG9cbiIKICIgICAgXHRkZSBsYSBpenF1aWVyZGEgZGUgbGEgbGlzdGEgbW9zdHJhZGEgcG9yIGBkaXJzJyxcbiIKICIgICAgXHRjb21lbnphbmRvIGRlc2RlIGNlcm8pIGVzdOkgZW4gZWwgdG9wZS5cbiIKQEAgLTY2MCwxNiArNjg2LDEyIEBACiAiICAgIFx0ZGUgbGEgZGVyZWNoYSBkZSBsYSBsaXN0YSBtb3N0cmFkYSBwb3IgYGRpcnMnLFxuIgogIiAgICBcdGNvbWVuemFuZG8gZGVzZGUgY2VybykgZXN06SBlbiBlbCB0b3BlLlxuIgogIiAgICBcbiIKLSIgICAgLW5cdHN1cHJpbWUgZWwgY2FtYmlvIG5vcm1hbCBkZSBkaXJlY3RvcmlvIGN1YW5kbyBzZSBhZ3JlZ2FuXG4iCi0iICAgIFx0ZGlyZWN0b3Jpb3MgYSBsYSBwaWxhLCBhc+0gc/NsbyBzZSBtYW5pcHVsYSBsYSBwaWxhLlxuIgotIiAgICBcbiIKLSIgICAgZGlyXHRhZ3JlZ2EgRElSIGEgbGEgcGlsYSBkZSBkaXJlY3RvcmlvcyBlbiBlbCB0b3BlLFxuIgorIiAgICAgZGlyXHRhZ3JlZ2EgRElSIGEgbGEgcGlsYSBkZSBkaXJlY3RvcmlvcyBlbiBlbCB0b3BlLFxuIgogIiAgICBcdGhhY2npbmRvbG8gZWwgbnVldm8gZGlyZWN0b3JpbyBkZSB0cmFiYWpvIGFjdHVhbC5cbiIKICIgICAgXG4iCi0iICAgIFB1ZWRlIHZlciBsYSBwaWxhIGRlIGRpcmVjdG9yaW9zIGNvbiBsYSBvcmRlbiBgZGlycycuIgorIiAgICBMYSBvcmRlbiBpbnRlcm5hIGBkaXJzJyBtdWVzdHJhIGxhIHBpbGEgZGUgZGlyZWN0b3Jpb3MuIgogCiAjOiBidWlsdGlucy9wdXNoZC5kZWY6NzMwCi0jLCBmdXp6eQogbXNnaWQgIiIKICJSZW1vdmVzIGVudHJpZXMgZnJvbSB0aGUgZGlyZWN0b3J5IHN0YWNrLiAgV2l0aCBubyBhcmd1bWVudHMsIHJlbW92ZXNcbiIKICIgICAgdGhlIHRvcCBkaXJlY3RvcnkgZnJvbSB0aGUgc3RhY2ssIGFuZCBjaGFuZ2VzIHRvIHRoZSBuZXcgdG9wIGRpcmVjdG9yeS5cbiIKQEAgLTY4OSwzMSArNzExLDMyIEBACiAiICAgIFxuIgogIiAgICBUaGUgYGRpcnMnIGJ1aWx0aW4gZGlzcGxheXMgdGhlIGRpcmVjdG9yeSBzdGFjay4iCiBtc2dzdHIgIiIKLSJCb3JyYSBlbnRyYWRhcyBkZSBsYSBwaWxhIGRlIGRpcmVjdG9yaW9zLiAgU2luIGFyZ3VtZW50b3MsXG4iCi0iICAgIGJvcnJhIGVsIGRpcmVjdG9yaW8gZGVsIHRvcGUgZGUgbGEgcGlsYSwgeSBjYW1iaWEgYWxcbiIKLSIgICAgbnVldm8gZGlyZWN0b3JpbyB0b3BlLlxuIgorIkJvcnJhIGVudHJhZGFzIGRlIGxhIHBpbGEgZGUgZGlyZWN0b3Jpb3MuICBTaW4gYXJndW1lbnRvcywgYm9ycmFcbiIKKyIgICAgZGlyZWN0b3JpbyBkZWwgdG9wZSBkZSBsYSBwaWxhLCB5IGNhbWJpYSBhbCBudWV2byBkaXJlY3RvcmlvIHRvcGUuXG4iCiAiICAgIFxuIgotIiAgICArTlx0Qm9ycmEgbGEgTi3pc2ltYSBlbnRyYWRhIGNvbnRhbmRvIGRlIGxhIGl6cXVpZXJkYSBkZVxuIgorIiAgICBPcGNpb25lczpcbiIKKyIgICAgICAtblx0c3VwcmltZSBlbCBjYW1iaW8gbm9ybWFsIGRlIGRpcmVjdG9yaW8gY3VhbmRvIHNlIGJvcnJhblxuIgorIiAgICBcdGRpcmVjdG9yaW9zIGRlIGxhIHBpbGEsIGFz7SBz82xvIHNlIG1hbmlwdWxhIGxhIHBpbGEuXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudG9zOlxuIgorIiAgICAgICtOXHRCb3JyYSBsYSBOLelzaW1hIGVudHJhZGEgY29udGFuZG8gZGUgbGEgaXpxdWllcmRhIGRlXG4iCiAiICAgIFx0bGEgbGlzdGEgbW9zdHJhZGEgcG9yIGBkaXJzJywgY29tZW56YW5kbyBkZXNkZSBjZXJvLlxuIgogIiAgICBcdFBvciBlamVtcGxvOiBgcG9wZCArMCcgYm9ycmEgZWwgcHJpbWVyIGRpcmVjdG9yaW8sIGBwb3BkICsxJ1xuIgogIiAgICBcdGVsIHNlZ3VuZG8uXG4iCiAiICAgIFxuIgotIiAgICAtTlx0Qm9ycmEgbGEgTi3pc2ltYSBlbnRyYWRhIGNvbnRhbmRvIGRlIGxhIGRlcmVjaGEgZGVcbiIKKyIgICAgICAtTlx0Qm9ycmEgbGEgTi3pc2ltYSBlbnRyYWRhIGNvbnRhbmRvIGRlIGxhIGRlcmVjaGEgZGVcbiIKICIgICAgXHRsYSBsaXN0YSBtb3N0cmFkYSBwb3IgYGRpcnMnLCBjb21lbnphbmRvIGRlc2RlIGNlcm8uXG4iCiAiICAgIFx0UG9yIGVqZW1wbG86IGBwb3BkIC0wJyBib3JyYSBlbCD6bHRpbW8gZGlyZWN0b3JpbywgYHBvcGQgLTEnXG4iCiAiICAgIFx0ZWwgcGVu+mx0aW1vLlxuIgogIiAgICBcbiIKLSIgICAgLW5cdHN1cHJpbWUgZWwgY2FtYmlvIG5vcm1hbCBkZSBkaXJlY3RvcmlvIGN1YW5kbyBzZSBib3JyYW5cbiIKLSIgICAgXHRkaXJlY3RvcmlvcyBkZSBsYSBwaWxhLCBhc+0gc/NsbyBzZSBtYW5pcHVsYSBsYSBwaWxhLlxuIgotIiAgICBcbiIKLSIgICAgUHVlZGUgdmVyIGxhIHBpbGEgZGUgZGlyZWN0b3Jpb3MgY29uIGxhIG9yZGVuIGBkaXJzJy4iCisiICAgIExhIG9yZGVuIGludGVybmEgYGRpcnMnIG11ZXN0cmEgbGEgcGlsYSBkZSBkaXJlY3Rvcmlvcy4iCiAKLSM6IGJ1aWx0aW5zL3JlYWQuZGVmOjI0OAorIzogYnVpbHRpbnMvcmVhZC5kZWY6MjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHRpbWVvdXQgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXM6IGVzcGVjaWZpY2FjafNuIGRlIHRpZW1wbyBkZSBleHBpcmFjafNuIGluduFsaWRhIgogCi0jOiBidWlsdGlucy9yZWFkLmRlZjo1NzQKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkIGVycm9yOiAlZDogJXMiCiBtc2dzdHIgImVycm9yIGRlIGxlY3R1cmE6ICVkOiAlcyIKQEAgLTc1MSwxMSArNzc0LDExIEBACiBtc2dpZCAic2hpZnQgY291bnQiCiBtc2dzdHIgImN1ZW50YSBkZSBzaGlmdCIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI1NAorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI2MAogbXNnaWQgImNhbm5vdCBzZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMgc2ltdWx0YW5lb3VzbHkiCiBtc2dzdHIgIm5vIHNlIHB1ZWRlbiBhY3RpdmFyIHkgZGVzYWN0aXZhciBvcGNpb25lcyBkZWwgc2hlbGwgc2ltdWx04W5lYW1lbnRlIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MzE5CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgogbXNnc3RyICIlczogbm9tYnJlIGRlIG9wY2nzbiBkZWwgc2hlbGwgaW524WxpZG8iCkBAIC04MjMsOSArODQ2LDggQEAKIG1zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIG9idGVuZXIgZWwgbO1taXRlOiAlcyIKIAogIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTMKLSMsIGZ1enp5CiBtc2dpZCAibGltaXQiCi1tc2dzdHIgIkztbWl0ZSBkZSBDUFUiCittc2dzdHIgImztbWl0ZSIKIAogIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NjUgYnVpbHRpbnMvdWxpbWl0LmRlZjo3NjUKICMsIGMtZm9ybWF0CkBAIC04NDYsNzcgKzg2OCw3NiBAQAogbXNnaWQgImAlYyc6IGludmFsaWQgc3ltYm9saWMgbW9kZSBjaGFyYWN0ZXIiCiBtc2dzdHIgImAlYyc6IGNhcuFjdGVyIGRlIG1vZG8gc2ltYvNsaWNvIGluduFsaWRvIgogCi0jOiBlcnJvci5jOjg5IGVycm9yLmM6MzIwIGVycm9yLmM6MzIyIGVycm9yLmM6MzI0CisjOiBlcnJvci5jOjkwIGVycm9yLmM6MzIxIGVycm9yLmM6MzIzIGVycm9yLmM6MzI1CiBtc2dpZCAiIGxpbmUgIgotbXNnc3RyICIiCittc2dzdHIgIiBs7W5lYSAiCiAKLSM6IGVycm9yLmM6MTY0CisjOiBlcnJvci5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJsYXN0IGNvbW1hbmQ6ICVzXG4iCiBtc2dzdHIgIvpsdGltYSBvcmRlbjogJXNcbiIKIAotIzogZXJyb3IuYzoxNzIKKyM6IGVycm9yLmM6MTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nLi4uIgogbXNnc3RyICJBYm9ydGFuZG8uLi4iCiAKLSM6IGVycm9yLmM6NDA1CisjOiBlcnJvci5jOjQwNgogbXNnaWQgInVua25vd24gY29tbWFuZCBlcnJvciIKIG1zZ3N0ciAiZXJyb3IgZGUgb3JkZW4gZGVzY29ub2NpZG8iCiAKLSM6IGVycm9yLmM6NDA2CisjOiBlcnJvci5jOjQwNwogbXNnaWQgImJhZCBjb21tYW5kIHR5cGUiCiBtc2dzdHIgInRpcG8gZGUgb3JkZW4gZXJy825lbyIKIAotIzogZXJyb3IuYzo0MDcKKyM6IGVycm9yLmM6NDA4CiBtc2dpZCAiYmFkIGNvbm5lY3RvciIKIG1zZ3N0ciAiY29uZWN0b3IgZXJy825lbyIKIAotIzogZXJyb3IuYzo0MDgKKyM6IGVycm9yLmM6NDA5CiBtc2dpZCAiYmFkIGp1bXAiCiBtc2dzdHIgInNhbHRvIGVycvNuZW8iCiAKLSM6IGVycm9yLmM6NDQ2CisjOiBlcnJvci5jOjQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5ib3VuZCB2YXJpYWJsZSIKLW1zZ3N0ciAiJXM6IHZhcmlhYmxlIGRlc2VubGF6YWRhIgorbXNnc3RyICIlczogdmFyaWFibGUgc2luIGFzaWduYXIiCiAKICM6IGV2YWwuYzoxODEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCi1tc2dzdHIgIlxhaGEgZXhwaXJhZG8gbWllbnRyYXMgZXNwZXJhYmEgYWxndW5hIGVudHJhZGE6IGF1dG8tbG9nb3V0XG4iCittc2dpZCAiB3RpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKK21zZ3N0ciAiB2hhIGV4cGlyYWRvIG1pZW50cmFzIGVzcGVyYWJhIGFsZ3VuYSBlbnRyYWRhOiBhdXRvLWxvZ291dFxuIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5MQorIzogZXhlY3V0ZV9jbWQuYzo0OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlZGlyZWN0IHN0YW5kYXJkIGlucHV0IGZyb20gL2Rldi9udWxsOiAlcyIKLW1zZ3N0ciAibm8gc2UgcHVlZGUgcmVkaXJpZ2lyIGxhIHNhbGlkYSBlc3ThbmRhcmQgZGUgL2Rldi9udWxsOiAlcyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgcmVkaXJpZ2lyIGxhIHNhbGlkYSBlc3ThbmRhciBkZXNkZSAvZGV2L251bGw6ICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjExMTIKKyM6IGV4ZWN1dGVfY21kLmM6MTE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJUSU1FRk9STUFUOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIlRJTUVGT1JNQVQ6IGAlYyc6IGNhcuFjdGVyIGRlIGZvcm1hdG8gaW524WxpZG8iCiAKLSM6IGV4ZWN1dGVfY21kLmM6MjAxMQotIywgZnV6enkKKyM6IGV4ZWN1dGVfY21kLmM6MjA3NQogbXNnaWQgInBpcGUgZXJyb3IiCi1tc2dzdHIgImVycm9yIGRlIGVzY3JpdHVyYTogJXMiCittc2dzdHIgImVycm9yIGRlIHR1YmVy7WEiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDM2MworIzogZXhlY3V0ZV9jbWQuYzo0NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSBgLycgaW4gY29tbWFuZCBuYW1lcyIKIG1zZ3N0ciAiJXM6IHJlc3RyaW5naWRvOiBubyBzZSBwdWVkZSBlc3BlY2lmaWNhciBgLycgZW4gbm9tYnJlcyBkZSDzcmRlbmVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ0NTQKKyM6IGV4ZWN1dGVfY21kLmM6NDU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBubyBzZSBlbmNvbnRy8yBsYSBvcmRlbiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NzA4CisjOiBleGVjdXRlX2NtZC5jOjQ4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCiBtc2dzdHIgIiVzOiAlczogaW506XJwcmV0ZSBlcnLzbmVvIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ4NTcKKyM6IGV4ZWN1dGVfY21kLmM6NDk3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIGZkICVkIHRvIGZkICVkIgogbXNnc3RyICJubyBzZSBwdWVkZSBkdXBsaWNhciBlbCBkZiAlZCBhbCBkZiAlZCIKQEAgLTk0NSw3ICs5NjYsNyBAQAogIyBvIGxvIGRlamFtb3MgY29tbyAndW5pZGFkJyBvICdlbGVtZW50byc/IGNmdWdhCiAjOiBleHByLmM6NDcxCiBtc2dpZCAiYnVnOiBiYWQgZXhwYXNzaWduIHRva2VuIgotbXNnc3RyICJiaWNobzogdW5pZGFkIGRlIGFzaWduYWNp824gZGUgc+1tYm9sbyBlcnLzbmVvIgorbXNnc3RyICJiaWNobzogZWxlbWVudG8gZGUgYXNpZ25hY2nzbiBkZSBleHByZXNp824gZXJy825lbyIKIAogIzogZXhwci5jOjUxMwogbXNnaWQgImA6JyBleHBlY3RlZCBmb3IgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKQEAgLTk2NSw0MCArOTg2LDQwIEBACiAjIHRpZW5lIHJhevNuIEVucmlxdWUsIGVzIHNpbmd1bGFyLiBjZnVnYQogIzogZXhwci5jOjg1NAogbXNnaWQgIm1pc3NpbmcgYCknIgotbXNnc3RyICJmYWx0YSBgKSciCittc2dzdHIgImZhbHRhIHVuIGApJyIKIAotIzogZXhwci5jOjg5NyBleHByLmM6MTE3NQorIzogZXhwci5jOjg5NyBleHByLmM6MTE3NgogbXNnaWQgInN5bnRheCBlcnJvcjogb3BlcmFuZCBleHBlY3RlZCIKIG1zZ3N0ciAiZXJyb3Igc2ludOFjdGljbzogc2UgZXNwZXJhYmEgdW4gb3BlcmFuZG8iCiAKLSM6IGV4cHIuYzoxMTc3CisjOiBleHByLmM6MTE3OAogbXNnaWQgInN5bnRheCBlcnJvcjogaW52YWxpZCBhcml0aG1ldGljIG9wZXJhdG9yIgogbXNnc3RyICJlcnJvciBzaW504WN0aWNvOiBvcGVyYWRvciBhcml0bel0aWNvIGluduFsaWRvIgogCi0jOiBleHByLmM6MTIwMQotIywgZnV6enksIGMtZm9ybWF0CisjOiBleHByLmM6MTIwMgorIywgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgotbXNnc3RyICIlczogJXM6ICVzIChz7W1ib2xvIGRlIGVycm9yIGVzIFwiJXNcIilcbiIKK21zZ3N0ciAiJXMlcyVzOiAlcyAoZWwgZWxlbWVudG8gZGUgZXJyb3IgZXMgXCIlc1wiKSIKIAotIzogZXhwci5jOjEyNTkKKyM6IGV4cHIuYzoxMjYwCiBtc2dpZCAiaW52YWxpZCBhcml0aG1ldGljIGJhc2UiCiBtc2dzdHIgImJhc2UgYXJpdG3pdGljYSBpbnbhbGlkYSIKIAotIzogZXhwci5jOjEyNzkKKyM6IGV4cHIuYzoxMjgwCiBtc2dpZCAidmFsdWUgdG9vIGdyZWF0IGZvciBiYXNlIgogbXNnc3RyICJ2YWxvciBkZW1hc2lhZG8gZ3JhbmRlIHBhcmEgbGEgYmFzZSIKIAotIzogZXhwci5jOjEzMjgKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogZXhwci5jOjEzMjkKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKLW1zZ3N0ciAiJXM6IHNlIGVzcGVyYWJhIHVuYSBleHByZXNp824gZW50ZXJhIgorbXNnc3RyICIlczogZXJyb3IgZGUgZXhwcmVzafNuXG4iCiAKICM6IGdlbmVyYWwuYzo2MQogbXNnaWQgImdldGN3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQgZGlyZWN0b3JpZXMiCi1tc2dzdHIgImdldGN3ZDogbm8gc2UgcHVlZGUgYWNjZWRlciBhIGxvcyBkaXJlY3RvcmlvcyBwYWRyZXMiCittc2dzdHIgImdldGN3ZDogbm8gc2UgcHVlZGUgYWNjZWRlciBhIGxvcyBkaXJlY3RvcmlvcyBwYWRyZSIKIAotIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ1NTkKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKKyMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc2V0IG5vZGVsYXkgbW9kZSBmb3IgZmQgJWQiCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIHJlZXN0YWJsZWNlciBlbCBtb2RvIG5vZGVsYXkgcGFyYSBlbCBkZiAlZCIKIApAQCAtMTAxMSw3ICsxMDMyLDcgQEAKIAogIyBidWZmZXI6IGVzcGFjaW8gaW50ZXJtZWRpbyAsIGFsb2phbWllbnRvIGludGVybWVkaW8gKCBtZSBndXN0YSBtZW5vcyApCiAjIGVtKwotIyBhbG1hY2VuYW1pZW50byBpbnRlcnJtZWRpby4gY2Z1Z2EKKyMgYWxtYWNlbmFtaWVudG8gaW50ZXJtZWRpby4gY2Z1Z2EKICM6IGlucHV0LmM6MjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInNhdmVfYmFzaF9pbnB1dDogYnVmZmVyIGFscmVhZHkgZXhpc3RzIGZvciBuZXcgZmQgJWQiCkBAIC0xMDIwLDcgKzEwNDEsNyBAQAogCiAjOiBqb2JzLmM6NDY2CiBtc2dpZCAic3RhcnRfcGlwZWxpbmU6IHBncnAgcGlwZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJzdGFydF9waXBlbGluZTogdHViZXLtYSBkZSBwZ3JwIgogCiAjOiBqb2JzLmM6ODg3CiAjLCBjLWZvcm1hdApAQCAtMTAzNSwxMiArMTA1NiwxMiBAQAogIzogam9icy5jOjExMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHByb2Nlc3MgJTVsZCAoJXMpIGluIHRoZV9waXBlbGluZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJhZGRfcHJvY2VzczogZWwgcHJvY2VzbyAlNWxkICglcykgZW4gdGhlX3BpcGVsaW5lIgogCiAjOiBqb2JzLmM6MTExMwogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfcHJvY2VzczogcGlkICU1bGQgKCVzKSBtYXJrZWQgYXMgc3RpbGwgYWxpdmUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWRkX3Byb2Nlc3M6IHBpZCAlNWxkICglcykgc2UgbWFyY2EgY29tbyB2aXZvIGH6biIKIAogIyBDYW1iaWFy7WEgJ2hheScgcG9yICdleGlzdGUnIGVtKwogIzogam9icy5jOjE0MDEKQEAgLTEwNDksMjIgKzEwNzAsMjIgQEAKIG1zZ3N0ciAiZGVzY3JpYmVfcGlkOiAlbGQ6IG5vIGV4aXN0ZSB0YWwgcGlkIgogCiAjOiBqb2JzLmM6MTQxNgotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIlNpZ25hbCAlZCIKLW1zZ3N0ciAiU2XxYWwgRGVzY29ub2NpZGEgIyVkIgorbXNnc3RyICJTZfFhbCAlZCIKIAogIzogam9icy5jOjE0MzAgam9icy5jOjE0NTUKIG1zZ2lkICJEb25lIgogbXNnc3RyICJIZWNobyIKIAotIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMgorIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMwogbXNnaWQgIlN0b3BwZWQiCiBtc2dzdHIgIkRldGVuaWRvIgogCiAjOiBqb2JzLmM6MTQzOQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQoJXMpIgotbXNnc3RyICJEZXRlbmlkbyIKK21zZ3N0ciAiRGV0ZW5pZG8oJXMpIgogCiAjOiBqb2JzLmM6MTQ0MwogbXNnaWQgIlJ1bm5pbmciCkBAIC0xMDkwLDc2ICsxMTExLDc3IEBACiBtc2dzdHIgIihgY29yZScgZ2VuZXJhZG8pICIKIAogIzogam9icy5jOjE1NjgKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIgICh3ZDogJXMpIgotbXNnc3RyICIoZGlyIGFob3JhOiAlcylcbiIKK21zZ3N0ciAiICAoZGlyIGFob3JhOiAlcykiCiAKLSM6IGpvYnMuYzoxNzcxCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGpvYnMuYzoxNzc2CisjLCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgotbXNnc3RyICJlcnJvciBlbiBsYSBlamVjdWNp824gZGUgc2V0cGdpZCAoJWQgYSAlZCkgZW4gZWwgcHJvY2VzbyBoaWpvICVkOiAlc1xuIgorbXNnc3RyICJzZXRwZ2lkIGhpam8gKCVsZCBhICVsZCkiCiAKLSM6IGpvYnMuYzoyMDk5IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMDQgbm9qb2JzLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbCIKIG1zZ3N0ciAid2FpdDogcGlkICVsZCBubyBlcyB1biBwcm9jZXNvIGhpam8gZGUgZXN0ZSBzaGVsbCIKIAotIzogam9icy5jOjIzMjYKKyM6IGpvYnMuYzoyMzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yOiBObyByZWNvcmQgb2YgcHJvY2VzcyAlbGQiCiBtc2dzdHIgIndhaXRfZm9yOiBObyBoYXkgdW4gcmVnaXN0cm8gZGVsIHByb2Nlc28gJWxkIgogCi0jOiBqb2JzLmM6MjU5OAorIzogam9icy5jOjI2MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKIG1zZ3N0ciAid2FpdF9mb3Jfam9iOiBlbCB0cmFiYWpvICVkIGVzdOEgZGV0ZW5pZG8iCiAKLSM6IGpvYnMuYzoyODIwCisjOiBqb2JzLmM6MjgyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogZWwgdHJhYmFqbyBoYSB0ZXJtaW5hZG8iCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6MjgzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKIG1zZ3N0ciAiJXM6IGVsIHRyYWJham8gJWQgeWEgZXN04SBlbiBzZWd1bmRvIHBsYW5vIgogCi0jOiBqb2JzLmM6MzQ5MgotIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGxpbmUgJWQ6ICIKLW1zZ3N0ciAiJXM6IGF2aXNvOiAiCisjOiBqb2JzLmM6MzA1OQorbXNnaWQgIndhaXRjaGxkOiB0dXJuaW5nIG9uIFdOT0hBTkcgdG8gYXZvaWQgaW5kZWZpbml0ZSBibG9jayIKK21zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzUwNiBub2pvYnMuYzo4MTQKKyM6IGpvYnMuYzozNTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaW5lICVkOiAiCittc2dzdHIgIiVzOiBs7W5lYSAlZDogIgorCisjOiBqb2JzLmM6MzUyMiBub2pvYnMuYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIChjb3JlIGR1bXBlZCkiCiBtc2dzdHIgIiAoYGNvcmUnIGdlbmVyYWRvKSIKIAotIzogam9icy5jOjM1MTggam9icy5jOjM1MzEKKyM6IGpvYnMuYzozNTM0IGpvYnMuYzozNTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIih3ZCBub3c6ICVzKVxuIgogbXNnc3RyICIoZGlyIGFob3JhOiAlcylcbiIKIAotIzogam9icy5jOjM1NjMKLSMsIGZ1enp5CisjOiBqb2JzLmM6MzU3OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgotbXNnc3RyICJpbml0aWFsaXplX2pvYnM6IGZhbGzzIGdldHBncnA6ICVzIgorbXNnc3RyICJpbml0aWFsaXplX2pvYnNfY29udHJvbDogZmFsbPMgZ2V0cGdycCIKIAotIzogam9icy5jOjM2MjMKLSMsIGZ1enp5CisjOiBqb2JzLmM6MzYzOQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKLW1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JzOiBkaXNjaXBsaW5hIGRlIGztbmVhOiAlcyIKK21zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JzX2NvbnRyb2w6IGRpc2NpcGxpbmEgZGUgbO1uZWEiCiAKLSM6IGpvYnMuYzozNjMzCi0jLCBmdXp6eQorIzogam9icy5jOjM2NDkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgotbXNnc3RyICJpbml0aWFsaXplX2pvYnM6IGZhbGzzIGdldHBncnA6ICVzIgorbXNnc3RyICJpbml0aWFsaXplX2pvYnNfY29udHJvbDogc2V0cGdpZCIKIAotIzogam9icy5jOjM2NjEKKyM6IGpvYnMuYzozNjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgotbXNnc3RyICIiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGVzdGFibGVjZXIgZWwgZ3J1cG8gZGUgcHJvY2VzbyBkZSB0ZXJtaW5hbCAoJWQpIgogCi0jOiBqb2JzLmM6MzY2NgorIzogam9icy5jOjM2ODIKIG1zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgogbXNnc3RyICJubyBoYXkgY29udHJvbCBkZSB0cmFiYWpvcyBlbiBlc3RlIHNoZWxsIgogCkBAIC0xMTc4LDkgKzEyMDAsOCBAQAogIm1hbGxvYzogJXM6JWQ6IGFzZXJjafNuIGFycnVpbmFkYVxyXG4iCiAKICM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6MzEzCi0jLCBmdXp6eQogbXNnaWQgInVua25vd24iCi1tc2dzdHIgIjxkZXNjb25vY2lkbz4iCittc2dzdHIgImRlc2Nvbm9jaWRvIgogCiAjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjc5NwogbXNnaWQgIm1hbGxvYzogYmxvY2sgb24gZnJlZSBsaXN0IGNsb2JiZXJlZCIKQEAgLTEyNTQsNiArMTI3NSwyNiBAQAogbXNnaWQgIm5ldHdvcmsgb3BlcmF0aW9ucyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICJubyBoYXkgc29wb3J0ZSBwYXJhIG9wZXJhY2lvbmVzIGRlIHJlZCIKIAorIzogbG9jYWxlLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IG5vIHNlIHB1ZWRlbiByZWFzaWduYXIgJWx1IGJ5dGVzIgorCisjOiBsb2NhbGUuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IG5vIHNlIHB1ZWRlbiByZWFzaWduYXIgJWx1IGJ5dGVzIgorCiAjOiBtYWlsY2hlY2suYzo0MzMKIG1zZ2lkICJZb3UgaGF2ZSBtYWlsIGluICRfIgogbXNnc3RyICJUaWVuZSBjb3JyZW8gZW4gJF8iCkBAIC0xMjY3LDEwMCArMTMwOCwxMDIgQEAKIG1zZ2lkICJUaGUgbWFpbCBpbiAlcyBoYXMgYmVlbiByZWFkXG4iCiBtc2dzdHIgIkVsIGNvcnJlbyBlbiAlcyBmdWUgbGXtZG9cbiIKIAotIzogbWFrZV9jbWQuYzozMjIKKyM6IG1ha2VfY21kLmM6MzIzCiBtc2dpZCAic3ludGF4IGVycm9yOiBhcml0aG1ldGljIGV4cHJlc3Npb24gcmVxdWlyZWQiCiBtc2dzdHIgImVycm9yIHNpbnThY3RpY286IHNlIHJlcXVpZXJlIHVuYSBleHByZXNp824gYXJpdG3pdGljYSIKIAotIzogbWFrZV9jbWQuYzozMjQKKyM6IG1ha2VfY21kLmM6MzI1CiBtc2dpZCAic3ludGF4IGVycm9yOiBgOycgdW5leHBlY3RlZCIKIG1zZ3N0ciAiZXJyb3Igc2ludOFjdGljbzogYDsnIGluZXNwZXJhZG8iCiAKLSM6IG1ha2VfY21kLmM6MzI1CisjOiBtYWtlX2NtZC5jOjMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGAoKCVzKSknIgogbXNnc3RyICJlcnJvciBzaW504WN0aWNvOiBgKCglcykpJyIKIAotIzogbWFrZV9jbWQuYzo1NjcKKyM6IG1ha2VfY21kLmM6NTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfaGVyZV9kb2N1bWVudDogYmFkIGluc3RydWN0aW9uIHR5cGUgJWQiCi1tc2dzdHIgIm1ha2VfaGVyZV9kb2N1bWVudDogdGlwbyBkZSBpbnN0cnVjY2nzbiBlcnLzbmVvICVkIgorbXNnc3RyICJtYWtlX2hlcmVfZG9jdW1lbnQ6IHRpcG8gZGUgaW5zdHJ1Y2Np824gJWQgZXJy825lbyIKIAotIzogbWFrZV9jbWQuYzo2NTEKKyM6IG1ha2VfY21kLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlcmUtZG9jdW1lbnQgYXQgbGluZSAlZCBkZWxpbWl0ZWQgYnkgZW5kLW9mLWZpbGUgKHdhbnRlZCBgJXMnKSIKIG1zZ3N0ciAiIgorImVsIGRvY3VtZW50by1hcXXtIGVuIGxhIGztbmVhICVkIGVzdOEgZGVsaW1pdGFkbyBwb3IgZmluLWRlLWZpY2hlcm8gKHNlICIKKyJlc3BlcmFiYSBgJXMnKSIKIAotIzogbWFrZV9jbWQuYzo3NDYKKyM6IG1ha2VfY21kLmM6NzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlIgogbXNnc3RyICIiCiAibWFrZV9yZWRpcmVjdGlvbjogbGEgaW5zdHJ1Y2Np824gZGUgcmVkaXJlY2Np824gYCVkJyBlc3ThIGZ1ZXJhIGRlIHJhbmdvIgogCi0jOiBwYXJzZS55OjI5ODYgcGFyc2UueTozMjE4CisjOiBwYXJzZS55OjMxMzMgcGFyc2UueTozMzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGAlYyciCiBtc2dzdHIgIkVPRiBpbmVzcGVyYWRvIG1pZW50cmFzIHNlIGJ1c2NhYmEgdW4gYCVjJyBjb2luY2lkZW50ZSIKIAotIzogcGFyc2UueTozNzIyCisjOiBwYXJzZS55OjM5NTEKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBgXV0nIgogbXNnc3RyICJFT0YgaW5lc3BlcmFkbyBtaWVudHJhcyBzZSBidXNjYWJhIGBdXSciCiAKLSM6IHBhcnNlLnk6MzcyNworIzogcGFyc2UueTozOTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uOiB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgImVycm9yIHNpbnThY3RpY28gZW4gbGEgZXhwcmVzafNuIGNvbmRpY2lvbmFsOiBlbGVtZW50byBpbmVzcGVyYWRvIGAlcyciCiAKLSM6IHBhcnNlLnk6MzczMQorIzogcGFyc2UueTozOTYwCiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgImVycm9yIHNpbnThY3RpY28gZW4gbGEgZXhwcmVzafNuIGNvbmRpY2lvbmFsIgogCi0jOiBwYXJzZS55OjM4MDkKKyM6IHBhcnNlLnk6NDAzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGV4cGVjdGVkIGApJyIKIG1zZ3N0ciAiZWxlbWVudG8gaW5lc3BlcmFkbyBgJXMnLCBzZSBlc3BlcmFiYSBgKSciCiAKLSM6IHBhcnNlLnk6MzgxMworIzogcGFyc2UueTo0MDQyCiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICJzZSBlc3BlcmFiYSBgKSciCiAKLSM6IHBhcnNlLnk6Mzg0MQorIzogcGFyc2UueTo0MDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiYXJndW1lbnRvIGluZXNwZXJhZG8gYCVzJyBwYXJhIGVsIG9wZXJhZG9yIHVuYXJpbyBjb25kaWNpb25hbCIKIAotIzogcGFyc2UueTozODQ1CisjOiBwYXJzZS55OjQwNzQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJhcmd1bWVudG8gaW5lc3BlcmFkbyBwYXJhIGVsIG9wZXJhZG9yIHVuYXJpbyBjb25kaWNpb25hbCIKIAotIzogcGFyc2UueTozODg1CisjOiBwYXJzZS55OjQxMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgImVsZW1lbnRvIGluZXNwZXJhZG8gYCVzJywgc2UgZXNwZXJhYmEgdW4gb3BlcmFkb3IgYmluYXJpbyBjb25kaWNpb25hbCIKIAotIzogcGFyc2UueTozODg5CisjOiBwYXJzZS55OjQxMjQKIG1zZ2lkICJjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgInNlIGVzcGVyYWJhIHVuIG9wZXJhZG9yIGJpbmFyaW8gY29uZGljaW9uYWwiCiAKLSM6IHBhcnNlLnk6MzkwNgorIzogcGFyc2UueTo0MTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgImFyZ3VtZW50byBpbmVzcGVyYWRvIGAlcycgcGFyYSBlbCBvcGVyYWRvciBiaW5hcmlvIGNvbmRpY2lvbmFsIgogCi0jOiBwYXJzZS55OjM5MTAKKyM6IHBhcnNlLnk6NDE1MAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJhcmd1bWVudG8gaW5lc3BlcmFkbyBwYXJhIGVsIG9wZXJhZG9yIGJpbmFyaW8gY29uZGljaW9uYWwiCiAKLSM6IHBhcnNlLnk6MzkyMQorIzogcGFyc2UueTo0MTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJlbGVtZW50byBpbmVzcGVyYWRvIGAlYycgZW4gbGEgb3JkZW4gY29uZGljaW9uYWwiCiAKLSM6IHBhcnNlLnk6MzkyNAorIzogcGFyc2UueTo0MTY0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJlbGVtZW50byBpbmVzcGVyYWRvIGAlcycgZW4gbGEgb3JkZW4gY29uZGljaW9uYWwiCiAKLSM6IHBhcnNlLnk6MzkyOAorIzogcGFyc2UueTo0MTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gJWQgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAiZWxlbWVudG8gaW5lc3BlcmFkbyAlZCBlbiBsYSBvcmRlbiBjb25kaWNpb25hbCIKQEAgLTEzNzEsMTIgKzE0MTQsMTIgQEAKICMgcHJvdm9jYWRvIHBvciBlbCBz7W1ib2xvLiBTaW1wbGVtZW50ZSBlc3RhciBjZXJjYSBkZWwgbWlzbW8uIGNmdWdhCiAjIFBvciBjb25zaXN0ZW5jaWEgY29uIGVsIHNpZ3VpZW50ZSwgeW8gYm9ycmFy7WEgbGEgY29tYS4gc3YKICMgQ2llcnRvLiBDb21hIGJvcnJhZGEuIGNmdWdhCi0jOiBwYXJzZS55OjUxOTUKKyM6IHBhcnNlLnk6NTQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgImVycm9yIHNpbnThY3RpY28gY2VyY2EgZGVsIGVsZW1lbnRvIGluZXNwZXJhZG8gYCVzJyIKIAotIzogcGFyc2UueTo1MjEzCisjOiBwYXJzZS55OjU0NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgYCVzJyIKIG1zZ3N0ciAiZXJyb3Igc2ludOFjdGljbyBjZXJjYSBkZSBgJXMnIgpAQCAtMTM4NSwyNCArMTQyOCwyNCBAQAogIyBubyBzZSBlc3BlcmFiYSBlbCBmaW5hbCBkZSBsYSBs7W5lYSBlbSsKICMgT2pvLCBxdWUgZW5kIG9mIGZpbGUgZXMgZmluIGRlIGZpY2hlcm8sIG5vIGRlIGztbmVhLiBzdgogIyBTZSBoaWNpZXJvbiBhbWJvcyBjYW1iaW9zLiBjZnVnYQotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgImVycm9yIHNpbnThY3RpY286IG5vIHNlIGVzcGVyYWJhIGVsIGZpbmFsIGRlbCBmaWNoZXJvIgogCi0jOiBwYXJzZS55OjUyMjMKKyM6IHBhcnNlLnk6NTQ4NwogbXNnaWQgInN5bnRheCBlcnJvciIKIG1zZ3N0ciAiZXJyb3Igc2ludOFjdGljbyIKIAotIzogcGFyc2UueTo1Mjg1CisjOiBwYXJzZS55OjU1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIFwiJXNcIiB0byBsZWF2ZSB0aGUgc2hlbGwuXG4iCiBtc2dzdHIgIlVzZSBcIiVzXCIgcGFyYSBkZWphciBlbCBzaGVsbC5cbiIKIAotIzogcGFyc2UueTo1NDQ3CisjOiBwYXJzZS55OjU3MTEKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgKSciCiBtc2dzdHIgIkVPRiBpbmVzcGVyYWRvIG1pZW50cmFzIHNlIGJ1c2NhYmEgdW4gYCknIGNvaW5jaWRlbnRlIgogCi0jOiBwY29tcGxldGUuYzoxMDE4CisjOiBwY29tcGxldGUuYzoxMDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRpb246IGZ1bmN0aW9uIGAlcycgbm90IGZvdW5kIgogbXNnc3RyICJjb21wbGV0aW9uOiBubyBzZSBlbmN1ZW50cmEgbGEgZnVuY2nzbiBgJXMnIgpAQCAtMTQxMiw1NyArMTQ1NSw3NiBAQAogbXNnaWQgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiBtc2dzdHIgInByb2djb21wX2luc2VydDogJXM6IENPTVBTUEVDIG51bG8iCiAKLSM6IHByaW50X2NtZC5jOjI4NQorIzogcHJpbnRfY21kLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAicHJpbnRfY29tbWFuZDogY29uZWN0b3IgZXJy825lbyBgJWQnIgogCi0jOiBwcmludF9jbWQuYzoxMzQ4CisjOiBwcmludF9jbWQuYzozNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiJWQ6IGRlc2NyaXB0b3IgZGUgZmljaGVybyBpbnbhbGlkbzogJXMiCisKKyM6IHByaW50X2NtZC5jOjM2OAorbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgorbXNnc3RyICIiCisKKyM6IHByaW50X2NtZC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCittc2dzdHIgIiIKKworIzogcHJpbnRfY21kLmM6MTQ2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjcHJpbnRmOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgImNwcmludGY6IGAlYyc6IGNhcuFjdGVyIGRlIGZvcm1hdG8gaW524WxpZG8iCiAKLSM6IHJlZGlyLmM6MTA1CisjOiByZWRpci5jOjExMAogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgImRlc2NyaXB0b3IgZGUgZmljaGVybyBmdWVyYSBkZSByYW5nbyIKIAotIzogcmVkaXIuYzoxNDgKKyM6IHJlZGlyLmM6MTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QiCiBtc2dzdHIgIiVzOiByZWRpcmVjY2lvbmFtaWVudG8gYW1iaWd1byIKIAotIzogcmVkaXIuYzoxNTIKKyM6IHJlZGlyLmM6MTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCiBtc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBzb2JyZWVzY3JpYmlyIHVuIGZpY2hlcm8gZXhpc3RlbnRlIgogCi0jOiByZWRpci5jOjE1NworIzogcmVkaXIuYzoxNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiVzOiByZXN0cmluZ2lkbzogbm8gc2UgcHVlZGUgcmVkaXJpZ2lyIGxhIHNhbGlkYSIKIAotIzogcmVkaXIuYzoxNjIKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogcmVkaXIuYzoxODAKKyMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgotbXNnc3RyICJubyBzZSBwdWVkZSBjcmVhciB1biBmaWNoZXJvIHRlbXBvcmFsIHBhcmEgZWwgZG9jdW1lbnRvIGhlcmU6ICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSBjcmVhciB1biBmaWNoZXJvIHRlbXBvcmFsIHBhcmEgZWwgZG9jdW1lbnRvLWFxde06ICVzIgogCi0jOiByZWRpci5jOjUxNworIzogcmVkaXIuYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgorbXNnc3RyICIlczogbm8gc2UgcHVlZGUgYXNpZ25hciB1bmEgbGlzdGEgYSB1biBtaWVtYnJvIGRlIGxhIG1hdHJpeiIKKworIzogcmVkaXIuYzo1NDQKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCi1tc2dzdHIgIi9kZXYvKHRjcHx1ZHApL2FuZml0cmlvbi9wdWVydG8gbm8gdGllbmUgc29wb3J0ZSBzaW4gcmVkIgorbXNnc3RyICJubyBzZSBhZG1pdGUgL2Rldi8odGNwfHVkcCkvYW5maXRyaW9uL3B1ZXJ0byBzaW4gcmVkIgogCi0jOiByZWRpci5jOjEwMjMKKyM6IHJlZGlyLmM6MTEwMQogbXNnaWQgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgogbXNnc3RyICJlcnJvciBkZSByZWRpcmVjY2nzbjogbm8gc2UgcHVlZGUgZHVwbGljYXIgZWwgZGYiCiAKLSM6IHNoZWxsLmM6MzI4CisjOiBzaGVsbC5jOjMzMgogbXNnaWQgImNvdWxkIG5vdCBmaW5kIC90bXAsIHBsZWFzZSBjcmVhdGUhIgogbXNnc3RyICKhbm8gc2UgcHVlZGUgZW5jb250cmFyIC90bXAsIGNyZWFyIHBvciBmYXZvciEiCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzNgogbXNnaWQgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICIvdG1wIGRlYmUgc2VyIHVuIG5vbWJyZSBkZSBkaXJlY3RvcmlvIHbhbGlkbyIKIAotIzogc2hlbGwuYzo4NzYKKyM6IHNoZWxsLmM6ODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVjJWM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlYyVjOiBvcGNp824gaW524WxpZGEiCkBAIC0xNDcwLDIxICsxNTMyLDIxIEBACiAjIFlvIHBvbmRy7WEgIm5vIHRlbmdvIG5pbmf6biBub21icmUiLiBzdgogIyBSZXZpc+kgZWwgY/NkaWdvIGZ1ZW50ZSBkZSBiYXNoLiBFcyB1biBtZW5zYWplIGRlIGVycm9yIGN1YW5kbyBubyBzZQogIyBlbmN1ZW50cmEgZWwgbm9tYnJlIGRlbCB1c3VhcmlvIHF1ZSBlamVjdXRhIGVsIHNoZWxsLiBjZnVnYQotIzogc2hlbGwuYzoxNjM4CisjOiBzaGVsbC5jOjE2NTEKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgIqFObyB0ZW5nbyBub21icmUgZGUgdXN1YXJpbyEiCiAKLSM6IHNoZWxsLmM6MTc3OAotIywgZnV6enksIGMtZm9ybWF0CisjOiBzaGVsbC5jOjE3OTMKKyMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgotbXNnc3RyICJHTlUgJXMsIHZlcnNp824gJXNcbiIKK21zZ3N0ciAiR05VIGJhc2gsIHZlcnNp824gJXMtKCVzKVxuIgogCiAjIEVuIGxhIGxpc3RhIHNwYW5nbGlzaCBzZSBkaXNjdXRp8yBtdWNobyBzb2JyZSBzY3JpcHQsCiAjIG5vIHPpIGVuIHF1ZSBxdWVk8ywgbmkgcHVlZG8gZGVjaXJ0ZSBhaG9yYSBj821vIGxvIGhlbW9zCiAjIHRyYWR1Y2lkbyBlbiBvdHJhcyBvY2FzaW9uZXMuIFNlaGxsIHNjcmlwdCBsbyBoZW5tb3MgdHJhZHVjaWRvCiAjIGNvbW8gZ3Vp824gZGVsIHNoZWxsICwgZXNvIGVzIHNlZ3VybyAuLi4gYXPtIHF1ZSBwdWVkZSBlc3RhcgogIyBiaWVuIGFz7SAsIHlhIGxvIHZlcuFuIG90cm9zIGVtKwotIzogc2hlbGwuYzoxNzc5CisjOiBzaGVsbC5jOjE3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCkBAIC0xNDkzLDkyICsxNTU1LDkyIEBACiAiTW9kbyBkZSBlbXBsZW86XHQlcyBbb3BjafNuIEdOVSBsYXJnYV0gW29wY2nzbl0gLi4uXG4iCiAiXHQlcyBbb3BjafNuIEdOVSBsYXJnYV0gW29wY2nzbl0gZ3Vp824tZGVsLXNoZWxsXG4iCiAKLSM6IHNoZWxsLmM6MTc4MQorIzogc2hlbGwuYzoxNzk2CiBtc2dpZCAiR05VIGxvbmcgb3B0aW9uczpcbiIKIG1zZ3N0ciAiT3BjaW9uZXMgR05VIGxhcmdhczpcbiIKIAotIzogc2hlbGwuYzoxNzg1CisjOiBzaGVsbC5jOjE4MDAKIG1zZ2lkICJTaGVsbCBvcHRpb25zOlxuIgogbXNnc3RyICJPcGNpb25lcyBkZWwgc2hlbGw6XG4iCiAKLSM6IHNoZWxsLmM6MTc4NgorIzogc2hlbGwuYzoxODAxCiBtc2dpZCAiXHQtaXJzRCBvciAtYyBjb21tYW5kIG9yIC1PIHNob3B0X29wdGlvblx0XHQoaW52b2NhdGlvbiBvbmx5KVxuIgogbXNnc3RyICJcdC1pcnNEIG8gLWMgb3JkZW4gbyAtTyBvcGNpb25fc2hvcHRcdFx0KHPzbG8gaW52b2NhY2nzbilcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCiBtc2dzdHIgIlx0LSVzIG8gLW8gb3BjafNuXG4iCiAKLSM6IHNoZWxsLmM6MTgwNworIzogc2hlbGwuYzoxODIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIFwiaGVscCBzZXRcIicgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgb3B0aW9ucy5cbiIKIG1zZ3N0ciAiIgogIlRlY2xlZSBgJXMgLWMgXCJoZWxwIHNldFwiJyBwYXJhIG3hcyBpbmZvcm1hY2nzbiBzb2JyZSBsYXMgb3BjaW9uZXMgZGVsICIKICJzaGVsbC5cbiIKIAotIzogc2hlbGwuYzoxODA4CisjOiBzaGVsbC5jOjE4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKIG1zZ3N0ciAiIgogIlRlY2xlZSBgJXMgLWMgaGVscCcgcGFyYSBt4XMgaW5mb3JtYWNp824gc29icmUgbGFzIPNyZGVuZXMgaW50ZXJuYXMgZGVsICIKICJzaGVsbC5cbiIKIAotIzogc2hlbGwuYzoxODA5CisjOiBzaGVsbC5jOjE4MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIHRoZSBgYmFzaGJ1ZycgY29tbWFuZCB0byByZXBvcnQgYnVncy5cbiIKIG1zZ3N0ciAiVXNlIGxhIG9yZGVuIGBiYXNoYnVnJyBwYXJhIHJlcG9ydGFyIGJpY2hvcy5cbiIKIAotIzogc2lnLmM6NTgzCisjOiBzaWcuYzo2MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAic2lncHJvY21hc2s6ICVkOiBvcGVyYWNp824gaW524WxpZGEiCiAKLSM6IHNpZ2xpc3QuYzo0NworIzogc2lnbGlzdC5jOjQ4CiBtc2dpZCAiQm9ndXMgc2lnbmFsIgogbXNnc3RyICJTZfFhbCBhbWJpZ3VhIgogCi0jOiBzaWdsaXN0LmM6NTAKKyM6IHNpZ2xpc3QuYzo1MQogbXNnaWQgIkhhbmd1cCIKIG1zZ3N0ciAiQ29sZ2FyIgogCi0jOiBzaWdsaXN0LmM6NTQKKyM6IHNpZ2xpc3QuYzo1NQogbXNnaWQgIkludGVycnVwdCIKIG1zZ3N0ciAiSW50ZXJydW1waXIiCiAKLSM6IHNpZ2xpc3QuYzo1OAorIzogc2lnbGlzdC5jOjU5CiBtc2dpZCAiUXVpdCIKIG1zZ3N0ciAiU2FsaXIiCiAKLSM6IHNpZ2xpc3QuYzo2MgorIzogc2lnbGlzdC5jOjYzCiBtc2dpZCAiSWxsZWdhbCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiSW5zdHJ1Y2Np824gaWxlZ2FsIgogCi0jOiBzaWdsaXN0LmM6NjYKKyM6IHNpZ2xpc3QuYzo2NwogbXNnaWQgIkJQVCB0cmFjZS90cmFwIgogbXNnc3RyICJCUFQgcmFzdHJlby9jYXB0dXJhIgogCi0jOiBzaWdsaXN0LmM6NzQKKyM6IHNpZ2xpc3QuYzo3NQogbXNnaWQgIkFCT1JUIGluc3RydWN0aW9uIgogbXNnc3RyICJpbnN0cnVjY2nzbiBBQk9SVCIKIAotIzogc2lnbGlzdC5jOjc4CisjOiBzaWdsaXN0LmM6NzkKIG1zZ2lkICJFTVQgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgImluc3RydWNjafNuIEVNVCIKIAotIzogc2lnbGlzdC5jOjgyCisjOiBzaWdsaXN0LmM6ODMKIG1zZ2lkICJGbG9hdGluZyBwb2ludCBleGNlcHRpb24iCiBtc2dzdHIgIkV4Y2VwY2nzbiBkZSBjb21hIGZsb3RhbnRlIgogCi0jOiBzaWdsaXN0LmM6ODYKKyM6IHNpZ2xpc3QuYzo4NwogbXNnaWQgIktpbGxlZCIKIG1zZ3N0ciAiTWF0YWRvIgogCi0jOiBzaWdsaXN0LmM6OTAKKyM6IHNpZ2xpc3QuYzo5MQogbXNnaWQgIkJ1cyBlcnJvciIKIG1zZ3N0ciAiRXJyb3IgZW4gZWwgYnVzIgogCi0jOiBzaWdsaXN0LmM6OTQKKyM6IHNpZ2xpc3QuYzo5NQogbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKIG1zZ3N0ciAiVmlvbGFjafNuIGRlIHNlZ21lbnRvIgogCkBAIC0xNTg2LDg3ICsxNjQ4LDg2IEBACiAjIEVzIHVuYSBsbGFtYWRhIGEgdW5hIGZ1bmNp824gZGVsIHNpc3RlbWEgZW0rCiAjIERlIGFjdWVyZG8sIHBlcm8gbG8gcXVlIGVzdOEgbWFsIGVzIGxhIGZvcm1hIGRlIGludm9jYXIgbGEKICMgbGxhbWFkYSBhIGxhIGZ1bmNp824gZGVsIHNpc3RlbWEsIG5vIGxhIGxsYW1hZGEgZW4gc+0gY2Z1Z2EKLSM6IHNpZ2xpc3QuYzo5OAorIzogc2lnbGlzdC5jOjk5CiBtc2dpZCAiQmFkIHN5c3RlbSBjYWxsIgogbXNnc3RyICJMbGFtYWRhIGFsIHNpc3RlbWEgZXJy825lYSIKIAogIyAocGlwZSkgbm8sIHBvciBmYXZvci4gRXN0byB5YSBlc3ThIHRyYWR1Y2lkbyBlbiBsaWJjLCBhc+0gcXVlIGEgZXN0YXMKICMgYWx0dXJhcywgbGEgZ2VudGUgeWEgZGViZXLtYSBzYWJlciBxdekgZXMgZXNvIGRlIGxhIHR1YmVy7WEuIHN2CiAjIERlIGFjdWVyZG8uIGNmdWdhCi0jOiBzaWdsaXN0LmM6MTAyCisjOiBzaWdsaXN0LmM6MTAzCiBtc2dpZCAiQnJva2VuIHBpcGUiCiBtc2dzdHIgIlR1YmVy7WEgcm90YSIKIAotIzogc2lnbGlzdC5jOjEwNgorIzogc2lnbGlzdC5jOjEwNwogbXNnaWQgIkFsYXJtIGNsb2NrIgogbXNnc3RyICJUZW1wb3JpemFkb3IiCiAKLSM6IHNpZ2xpc3QuYzoxMTAKLSMsIGZ1enp5CisjOiBzaWdsaXN0LmM6MTExCiBtc2dpZCAiVGVybWluYXRlZCIKLW1zZ3N0ciAieSBzZSBtdWVzdHJhIHVuIG1lbnNhamUgZGUgZGlhZ27zc3RpY28uIgorbXNnc3RyICJUZXJtaW5hZG8iCiAKLSM6IHNpZ2xpc3QuYzoxMTQKKyM6IHNpZ2xpc3QuYzoxMTUKIG1zZ2lkICJVcmdlbnQgSU8gY29uZGl0aW9uIgogbXNnc3RyICJDb25kaWNp824gZGUgRS9TIHVyZ2VudGUiCiAKLSM6IHNpZ2xpc3QuYzoxMTgKKyM6IHNpZ2xpc3QuYzoxMTkKIG1zZ2lkICJTdG9wcGVkIChzaWduYWwpIgogbXNnc3RyICJEZXRlbmlkbyAoc2XxYWwpIgogCi0jOiBzaWdsaXN0LmM6MTI2CisjOiBzaWdsaXN0LmM6MTI3CiBtc2dpZCAiQ29udGludWUiCiBtc2dzdHIgIkNvbnRpbvphIgogCi0jOiBzaWdsaXN0LmM6MTM0CisjOiBzaWdsaXN0LmM6MTM1CiBtc2dpZCAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKIG1zZ3N0ciAiRWwgcHJvY2VzbyBoaWpvIGhhIG11ZXJ0byBvIGVzdOEgcGFyYWRvIgogCi0jOiBzaWdsaXN0LmM6MTM4CisjOiBzaWdsaXN0LmM6MTM5CiBtc2dpZCAiU3RvcHBlZCAodHR5IGlucHV0KSIKIG1zZ3N0ciAiRGV0ZW5pZG8gKGVudHJhZGEgcG9yIHRlcm1pbmFsKSIKIAotIzogc2lnbGlzdC5jOjE0MgorIzogc2lnbGlzdC5jOjE0MwogbXNnaWQgIlN0b3BwZWQgKHR0eSBvdXRwdXQpIgogbXNnc3RyICJEZXRlbmlkbyAoc2FsaWRhIHBvciB0ZXJtaW5hbCkiCiAKLSM6IHNpZ2xpc3QuYzoxNDYKKyM6IHNpZ2xpc3QuYzoxNDcKIG1zZ2lkICJJL08gcmVhZHkiCiBtc2dzdHIgIkUvUyBsaXN0YXMiCiAKLSM6IHNpZ2xpc3QuYzoxNTAKKyM6IHNpZ2xpc3QuYzoxNTEKIG1zZ2lkICJDUFUgbGltaXQiCiBtc2dzdHIgIkztbWl0ZSBkZSBDUFUiCiAKLSM6IHNpZ2xpc3QuYzoxNTQKKyM6IHNpZ2xpc3QuYzoxNTUKIG1zZ2lkICJGaWxlIGxpbWl0IgogbXNnc3RyICJM7W1pdGUgZGUgZmljaGVyb3MiCiAKLSM6IHNpZ2xpc3QuYzoxNTgKKyM6IHNpZ2xpc3QuYzoxNTkKIG1zZ2lkICJBbGFybSAodmlydHVhbCkiCiBtc2dzdHIgIkFsYXJtYSAodmlydHVhbCkiCiAKLSM6IHNpZ2xpc3QuYzoxNjIKKyM6IHNpZ2xpc3QuYzoxNjMKIG1zZ2lkICJBbGFybSAocHJvZmlsZSkiCiBtc2dzdHIgIkFsYXJtYSAoZW50b3JubykiCiAKLSM6IHNpZ2xpc3QuYzoxNjYKKyM6IHNpZ2xpc3QuYzoxNjcKIG1zZ2lkICJXaW5kb3cgY2hhbmdlZCIKIG1zZ3N0ciAiVmVudGFuYSBjYW1iaWFkYSIKIAotIzogc2lnbGlzdC5jOjE3MAorIzogc2lnbGlzdC5jOjE3MQogbXNnaWQgIlJlY29yZCBsb2NrIgogbXNnc3RyICJCbG9xdWVvIGRlIGdyYWJhY2nzbiIKIAotIzogc2lnbGlzdC5jOjE3NAorIzogc2lnbGlzdC5jOjE3NQogbXNnaWQgIlVzZXIgc2lnbmFsIDEiCiBtc2dzdHIgIlNl8WFsIGRlIHVzdWFyaW8gMSIKIAotIzogc2lnbGlzdC5jOjE3OAorIzogc2lnbGlzdC5jOjE3OQogbXNnaWQgIlVzZXIgc2lnbmFsIDIiCiBtc2dzdHIgIlNl8WFsIGRlIHVzdWFyaW8gMiIKIAotIzogc2lnbGlzdC5jOjE4MgorIzogc2lnbGlzdC5jOjE4MwogbXNnaWQgIkhGVCBpbnB1dCBkYXRhIHBlbmRpbmciCiBtc2dzdHIgImVudHJhZGEgZGUgZGF0b3MgSEZUIHBlbmRpZW50ZSIKIApAQCAtMTY3NCwxNDYgKzE3MzUsMTUyIEBACiAjIFN1c2NyaWJvIGxvIGFudGVyaW9yLiBmYWxsYSBzdWVuYSBtdXkgcmFyby4KICMgWW8gbG8gcG9uZHLtYSBhZGVt4XMgYWwgcmV26XM6IGZhbGxvIGRlIGVuZXJn7WEgaW5taW5lbnRlLiBzdgogIyBNZSBndXN0YSBjb21vIGxvIHN1Z2llcmVzLiBDYW1iaW8gaGVjaG8uIGNmdWdhCi0jOiBzaWdsaXN0LmM6MTg2CisjOiBzaWdsaXN0LmM6MTg3CiBtc2dpZCAicG93ZXIgZmFpbHVyZSBpbW1pbmVudCIKIG1zZ3N0ciAiZmFsbG8gZGUgZW5lcmftYSBpbm1pbmVudGUiCiAKLSM6IHNpZ2xpc3QuYzoxOTAKKyM6IHNpZ2xpc3QuYzoxOTEKIG1zZ2lkICJzeXN0ZW0gY3Jhc2ggaW1taW5lbnQiCi1tc2dzdHIgImlubWluZW50ZSBjYe1kYSBkZWwgc2lzdGVtYSIKK21zZ3N0ciAiY2HtZGEgZGVsIHNpc3RlbWEgaW5taW5lbnRlIgogCi0jOiBzaWdsaXN0LmM6MTk0CisjOiBzaWdsaXN0LmM6MTk1CiBtc2dpZCAibWlncmF0ZSBwcm9jZXNzIHRvIGFub3RoZXIgQ1BVIgogbXNnc3RyICJtaWdyYW5kbyBlbCBwcm9jZXNvIGEgb3RyYSBDUFUiCiAKLSM6IHNpZ2xpc3QuYzoxOTgKKyM6IHNpZ2xpc3QuYzoxOTkKIG1zZ2lkICJwcm9ncmFtbWluZyBlcnJvciIKIG1zZ3N0ciAiZXJyb3IgZGUgcHJvZ3JhbWFjafNuIgogCi0jOiBzaWdsaXN0LmM6MjAyCisjOiBzaWdsaXN0LmM6MjAzCiBtc2dpZCAiSEZUIG1vbml0b3IgbW9kZSBncmFudGVkIgogbXNnc3RyICJlbCBtb2RvIG1vbml0b3IgSEZUIGhhIHNpZG8gY29uY2VkaWRvIgogCi0jOiBzaWdsaXN0LmM6MjA2CisjOiBzaWdsaXN0LmM6MjA3CiBtc2dpZCAiSEZUIG1vbml0b3IgbW9kZSByZXRyYWN0ZWQiCiBtc2dzdHIgImVsIG1vZG8gbW9uaXRvciBIVEYgaGEgc2lkbyByZXRpcmFkbyIKIAotIzogc2lnbGlzdC5jOjIxMAorIzogc2lnbGlzdC5jOjIxMQogbXNnaWQgIkhGVCBzb3VuZCBzZXF1ZW5jZSBoYXMgY29tcGxldGVkIgogbXNnc3RyICJsYSBzZWN1ZW5jaWEgZGUgc29uaWRvIEhGVCBoYSBzaWRvIGNvbXBsZXRhZG8iCiAKLSM6IHNpZ2xpc3QuYzoyMTQKKyM6IHNpZ2xpc3QuYzoyMTUKIG1zZ2lkICJJbmZvcm1hdGlvbiByZXF1ZXN0IgotbXNnc3RyICIiCittc2dzdHIgIlNvbGljaXR1ZCBkZSBpbmZvcm1hY2nzbiIKIAotIzogc2lnbGlzdC5jOjIyMgorIzogc2lnbGlzdC5jOjIyMwogbXNnaWQgIlVua25vd24gU2lnbmFsICMiCiBtc2dzdHIgIlNl8WFsIERlc2Nvbm9jaWRhICMiCiAKLSM6IHNpZ2xpc3QuYzoyMjQKKyM6IHNpZ2xpc3QuYzoyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyVkIgogbXNnc3RyICJTZfFhbCBEZXNjb25vY2lkYSAjJWQiCiAKLSM6IHN1YnN0LmM6MTE4MSBzdWJzdC5jOjEzMDIKKyM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgogbXNnc3RyICJzdXN0aXR1Y2nzbiBlcnLzbmVhOiBubyBoYXkgdW4gYCVzJyBxdWUgY2llcnJlIGVuICVzIgogCi0jOiBzdWJzdC5jOjI0NTgKKyM6IHN1YnN0LmM6MjczNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKIG1zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGFzaWduYXIgdW5hIGxpc3RhIGEgdW4gbWllbWJybyBkZSBsYSBtYXRyaXoiCiAKLSM6IHN1YnN0LmM6NDQ1NiBzdWJzdC5jOjQ0NzIKKyM6IHN1YnN0LmM6NDc1NCBzdWJzdC5jOjQ3NzAKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgY3JlYXIgbGEgdHViZXLtYSBwYXJhIGxhIHN1c3RpdHVjafNuIGRlbCBwcm9jZXNvIgogCi0jOiBzdWJzdC5jOjQ1MDQKKyM6IHN1YnN0LmM6NDgwMgogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgY3JlYXIgdW4gcHJvY2VzbyBoaWpvIHBhcmEgbGEgc3VzdGl0dWNp824gZGVsIHByb2Nlc28iCiAKLSM6IHN1YnN0LmM6NDU0OQorIzogc3Vic3QuYzo0ODQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHJlYWRpbmciCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGFicmlyIGxhIHR1YmVy7WEgbGxhbWFkYSAlcyBwYXJhIGxlY3R1cmEiCiAKLSM6IHN1YnN0LmM6NDU1MQorIzogc3Vic3QuYzo0ODQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGFicmlyIGxhIHR1YmVy7WEgbGxhbWFkYSAlcyBwYXJhIGVzY3JpdHVyYSIKIAotIzogc3Vic3QuYzo0NTY5CisjOiBzdWJzdC5jOjQ4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBuYW1lZCBwaXBlICVzIGFzIGZkICVkIgogbXNnc3RyICJubyBzZSBwdWVkZSBkdXBsaWNhciBsYSB0dWJlcu1hIGxsYW1hZGEgJXMgY29tbyBkZiAlZCIKIAotIzogc3Vic3QuYzo0NzY1CisjOiBzdWJzdC5jOjUwNjMKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAibm8gc2UgcHVlZGVuIGNyZWFyIGxhIHR1YmVy7WEgcGFyYSBsYSBzdXN0aXR1Y2nzbiBkZSBsYSBvcmRlbiIKIAotIzogc3Vic3QuYzo0Nzk5CisjOiBzdWJzdC5jOjUwOTcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGNyZWFyIHVuIHByb2Nlc28gaGlqbyBwYXJhIGxhIHN1c3RpdHVjafNuIGRlIGxhIG9yZGVuIgogCi0jOiBzdWJzdC5jOjQ4MTYKKyM6IHN1YnN0LmM6NTExNAogbXNnaWQgImNvbW1hbmRfc3Vic3RpdHV0ZTogY2Fubm90IGR1cGxpY2F0ZSBwaXBlIGFzIGZkIDEiCiBtc2dzdHIgImNvbW1hbmRfc3Vic3RpdHV0ZTogbm8gc2UgcHVlZGUgZHVwbGljYXIgbGEgdHViZXLtYSBjb21vIGRmIDEiCiAKLSM6IHN1YnN0LmM6NTMxOAorIzogc3Vic3QuYzo1NjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXJhbWV0ZXIgbnVsbCBvciBub3Qgc2V0IgogbXNnc3RyICIlczogcGFy4W1ldHJvIG51bG8gbyBubyBlc3RhYmxlY2lkbyIKIAotIzogc3Vic3QuYzo1NjA4CisjOiBzdWJzdC5jOjU5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKIG1zZ3N0ciAiJXM6IGV4cHJlc2nzbiBkZSBzdWJjYWRlbmEgPCAwIgogCi0jOiBzdWJzdC5jOjY2NjAKKyM6IHN1YnN0LmM6Njk2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiJXM6IHN1c3RpdHVjafNuIGVycvNuZWEiCiAKLSM6IHN1YnN0LmM6Njc0MAorIzogc3Vic3QuYzo3MDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJCVzOiBubyBzZSBwdWVkZSBhc2lnbmFyIGRlIGVzdGEgZm9ybWEiCiAKLSM6IHN1YnN0LmM6NzQ5OQotIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBcImBcIiBpbiAlcyIKLW1zZ3N0ciAic3VzdGl0dWNp824gZXJy825lYTogbm8gaGF5IHVuIGAlcycgcXVlIGNpZXJyZSBlbiAlcyIKKyM6IHN1YnN0LmM6NzM3NAorbXNnaWQgIiIKKyJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKKyJzdWJzdGl0dXRpb24iCittc2dzdHIgIiIKIAotIzogc3Vic3QuYzo4Mzc1CisjOiBzdWJzdC5jOjc4MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBcImBcIiBpbiAlcyIKK21zZ3N0ciAic3VzdGl0dWNp824gZXJy825lYTogbm8gaGF5IHVuYSBcImBcIiBxdWUgY2llcnJlIGVuICVzIgorCisjOiBzdWJzdC5jOjg3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICJubyBoYXkgY29pbmNpZGVuY2lhOiAlcyIKIAotIzogdGVzdC5jOjE0NQorIzogdGVzdC5jOjE0NgogbXNnaWQgImFyZ3VtZW50IGV4cGVjdGVkIgogbXNnc3RyICJzZSBlc3BlcmFiYSB1biBhcmd1bWVudG8iCiAKLSM6IHRlc3QuYzoxNTQKKyM6IHRlc3QuYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludGVnZXIgZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IHNlIGVzcGVyYWJhIHVuYSBleHByZXNp824gZW50ZXJhIgogCi0jOiB0ZXN0LmM6MjYyCisjOiB0ZXN0LmM6MjYzCiBtc2dpZCAiYCknIGV4cGVjdGVkIgogbXNnc3RyICJzZSBlc3BlcmFiYSBgKSciCiAKLSM6IHRlc3QuYzoyNjQKKyM6IHRlc3QuYzoyNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCknIGV4cGVjdGVkLCBmb3VuZCAlcyIKIG1zZ3N0ciAic2UgZXNwZXJhYmEgYCknLCBzZSBlbmNvbnRy8yAlcyIKIAotIzogdGVzdC5jOjI3OSB0ZXN0LmM6Njg4IHRlc3QuYzo2OTEKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5MyB0ZXN0LmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IHNlIGVzcGVyYWJhIHVuIG9wZXJhZG9yIHVuYXJpbyIKIAotIzogdGVzdC5jOjQ0NCB0ZXN0LmM6NzMxCisjOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IHNlIGVzcGVyYWJhIHVuIG9wZXJhZG9yIGJpbmFyaW8iCkBAIC0xODI1LDIwICsxODkyLDIwIEBACiAjIEFicmV2aWFuZG8gImZhbHRhIFthbCBtZW5vc10gdW4gYF0nIiBzYWxkcu1hOiAiZmFsdGEgdW4gYF0nIi4KICMgv05vIGVzIG1lam9yICJmYWx0YSBhbGf6biBgXSciPyBjZnVnYQogIyBUaWVuZSByYXrzbiBFbnJpcXVlOiBzaW5ndWxhci4gY2Z1Z2EKLSM6IHRlc3QuYzo4MDYKKyM6IHRlc3QuYzo4MTEKIG1zZ2lkICJtaXNzaW5nIGBdJyIKLW1zZ3N0ciAiZmFsdGEgYF0nIgorbXNnc3RyICJmYWx0YSB1biBgXSciCiAKLSM6IHRyYXAuYzoyMDEKKyM6IHRyYXAuYzoyMDMKIG1zZ2lkICJpbnZhbGlkIHNpZ25hbCBudW1iZXIiCiBtc2dzdHIgIm76bWVybyBkZSBzZfFhbCBpbnbhbGlkbyIKIAotIzogdHJhcC5jOjMyNAorIzogdHJhcC5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogbXNnc3RyICJydW5fcGVuZGluZ190cmFwczogdmFsb3IgZXJy825lbyBlbiB0cmFwX2xpc3RbJWRdOiAlcCIKIAotIzogdHJhcC5jOjMyOAorIzogdHJhcC5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicnVuX3BlbmRpbmdfdHJhcHM6IHNpZ25hbCBoYW5kbGVyIGlzIFNJR19ERkwsIHJlc2VuZGluZyAlZCAoJXMpIHRvIG15c2VsZiIKQEAgLTE4NDYsMTM3ICsxOTEzLDE0NiBAQAogInJ1bl9wZW5kaW5nX3RyYXBzOiBlbCBtYW5lamFkb3IgZGUgc2XxYWwgZXMgU0lHX0RGTCwgcmVlbnZpYW5kbyAlZCAoJXMpIGEgbe0gIgogIm1pc21vIgogCi0jOiB0cmFwLmM6MzcyCisjOiB0cmFwLmM6MzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKIG1zZ3N0ciAidHJhcF9oYW5kbGVyOiBzZfFhbCBlcnLzbmVhICVkIgogCi0jOiB2YXJpYWJsZXMuYzozNTgKKyM6IHZhcmlhYmxlcy5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBpbXBvcnRpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbiBmb3IgYCVzJyIKIG1zZ3N0ciAiZXJyb3IgYWwgaW1wb3J0YXIgbGEgZGVmaW5pY2nzbiBkZSBsYSBmdW5jafNuIHBhcmEgYCVzJyIKIAotIzogdmFyaWFibGVzLmM6NzM2CisjOiB2YXJpYWJsZXMuYzo3NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCiBtc2dzdHIgImVsIG5pdmVsIGRlIHNoZWxsICglZCkgZXMgZGVtYXNpYWRvIGFsdG8sIHNlIHJlZXN0YWJsZWNlIGEgMSIKIAotIzogdmFyaWFibGVzLmM6MTg5OAorIzogdmFyaWFibGVzLmM6MTkxNQogbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAibWFrZV9sb2NhbF92YXJpYWJsZTogbm8gaGF5IGNvbnRleHRvIGRlIGZ1bmNp824gZW4gZWwg4W1iaXRvIGFjdHVhbCIKIAotIzogdmFyaWFibGVzLmM6MzEyNworIzogdmFyaWFibGVzLmM6MzE1OQogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gaGF5IGNvbnRleHRvIGRlIGZ1bmNp824gZW4gZWwg4W1iaXRvIGFjdHVhbCIKIAotIzogdmFyaWFibGVzLmM6MzM0NCB2YXJpYWJsZXMuYzozMzUzCisjOiB2YXJpYWJsZXMuYzozMzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCittc2dzdHIgIiVzOiBwYXLhbWV0cm8gbnVsbyBvIG5vIGVzdGFibGVjaWRvIgorCisjOiB2YXJpYWJsZXMuYzozMzgxIHZhcmlhYmxlcy5jOjMzOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAiY2Fy4WN0ZXIgaW524WxpZG8gJWQgZW4gZXhwb3J0c3RyIHBhcmEgJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNTkKKyM6IHZhcmlhYmxlcy5jOjMzOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIm5vIGhheSBgPScgZW4gZXhwb3J0c3RyIHBhcmEgJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjM3OTQKKyM6IHZhcmlhYmxlcy5jOjM4MzUKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiBtc2dzdHIgIiIKICJwb3BfdmFyX2NvbnRleHQ6IGxhIGNhYmV6YSBkZSBzaGVsbF92YXJpYWJsZXMgbm8gZXMgdW4gY29udGV4dG8gZGUgZnVuY2nzbiIKIAotIzogdmFyaWFibGVzLmM6MzgwNworIzogdmFyaWFibGVzLmM6Mzg0OAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogbXNnc3RyICJwb3BfdmFyX2NvbnRleHQ6IG5vIGVzIHVuIGNvbnRleHRvIGdsb2JhbF92YXJpYWJsZXMiCiAKLSM6IHZhcmlhYmxlcy5jOjM4ODEKKyM6IHZhcmlhYmxlcy5jOjM5MjIKIG1zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKIG1zZ3N0ciAiIgogInBvcF9zY29wZTogbGEgY2FiZXphIGRlIHNoZWxsX3ZhcmlhYmxlcyBubyBlcyB1biDhbWJpdG8gZGUgYW1iaWVudGUgdGVtcG9yYWwiCiAKKyM6IHZhcmlhYmxlcy5jOjQ2NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogY2Fubm90IG9wZW4gYXMgRklMRSIKK21zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGFicmlyOiAlcyIKKworIzogdmFyaWFibGVzLmM6NDY4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiVkOiBkZXNjcmlwdG9yIGRlIGZpY2hlcm8gaW524WxpZG86ICVzIgorCiAjOiB2ZXJzaW9uLmM6NDYKLSMsIGZ1enp5CiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKLW1zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDA2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgorbXNnc3RyICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgogCiAjOiB2ZXJzaW9uLmM6NDcKIG1zZ2lkICIiCiAiTGljZW5zZSBHUEx2Mys6IEdOVSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgogImh0bWw+XG4iCiBtc2dzdHIgIiIKKyJMaWNlbmNpYSBHUEx2Mys6IEdQTCBkZSBHTlUgdmVyc2nzbiAzIG8gcG9zdGVyaW9yIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy8iCisiZ3BsLmh0bWw+XG4iCiAKLSM6IHZlcnNpb24uYzo4NgotIywgZnV6enksIGMtZm9ybWF0CisjOiB2ZXJzaW9uLmM6ODYgdmVyc2lvbjIuYzo4MworIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcyAoJXMpXG4iCi1tc2dzdHIgIkdOVSAlcywgdmVyc2nzbiAlc1xuIgorbXNnc3RyICJHTlUgYmFzaCwgdmVyc2nzbiAlcyAoJXMpXG4iCiAKLSM6IHZlcnNpb24uYzo5MQorIzogdmVyc2lvbi5jOjkxIHZlcnNpb24yLmM6ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgYXJlIGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuXG4iCiBtc2dzdHIgIiIKKyJFc3RvIGVzIHNvZnR3YXJlIGxpYnJlOyB1c3RlZCBlcyBsaWJyZSBkZSBjYW1iaWFybG8geSByZWRpc3RyaWJ1aXJsby5cbiIKIAotIzogdmVyc2lvbi5jOjkyCisjOiB2ZXJzaW9uLmM6OTIgdmVyc2lvbjIuYzo4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGVyZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3LlxuIgotbXNnc3RyICIiCittc2dzdHIgIk5PIGhheSBHQVJBTlTNQSwgYSBsYSBleHRlbnNp824gcGVybWl0aWRhIHBvciBsYSBsZXkuXG4iCiAKLSM6IHhtYWxsb2MuYzo5MgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyM6IHZlcnNpb24yLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKK21zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKKworIzogdmVyc2lvbjIuYzo4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkxpY2Vuc2UgR1BMdjIrOiBHTlUgR1BMIHZlcnNpb24gMiBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKKyJodG1sPlxuIgorbXNnc3RyICIiCisiTGljZW5jaWEgR1BMdjMrOiBHUEwgZGUgR05VIHZlcnNp824gMyBvIHBvc3RlcmlvciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvIgorImdwbC5odG1sPlxuIgorCisjOiB4bWFsbG9jLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKIG1zZ3N0ciAieG1hbGxvYzogbm8gc2UgcHVlZGVuIGFzaWduYXIgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYXNpZ25hZG9zKSIKIAotIzogeG1hbGxvYy5jOjk0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCisjOiB4bWFsbG9jLmM6OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgogbXNnc3RyICJ4bWFsbG9jOiBubyBzZSBwdWVkZW4gYXNpZ25hciAlbHUgYnl0ZXMiCiAKLSM6IHhtYWxsb2MuYzoxMTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgInhyZWFsbG9jOiBubyBzZSBwdWVkZW4gcmVhc2lnbmFyICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFzaWduYWRvcykiCi0KLSM6IHhtYWxsb2MuYzoxMTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhyZWFsbG9jOiBubyBzZSBwdWVkZW4gcmVhc2lnbmFyICVsdSBieXRlcyIKLQotIzogeG1hbGxvYy5jOjE1MAotIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjOiB4bWFsbG9jLmM6MTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgogbXNnc3RyICJ4bWFsbG9jOiAlczolZDogbm8gc2UgcHVlZGVuIGFzaWduYXIgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYXNpZ25hZG9zKSIKIAotIzogeG1hbGxvYy5jOjE1MgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKKyM6IHhtYWxsb2MuYzoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKIG1zZ3N0ciAieG1hbGxvYzogJXM6JWQ6IG5vIHNlIHB1ZWRlbiBhc2lnbmFyICVsdSBieXRlcyIKIAotIzogeG1hbGxvYy5jOjE3NAotIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgIiIKLSJ4cmVhbGxvYzogJXM6JWQ6IG5vIHNlIHB1ZWRlbiByZWFzaWduYXIgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYXNpZ25hZG9zKSIKLQotIzogeG1hbGxvYy5jOjE3NgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhyZWFsbG9jOiAlczolZDogbm8gc2UgcHVlZGVuIHJlYXNpZ25hciAlbHUgYnl0ZXMiCi0KICM6IGJ1aWx0aW5zLmM6NDMKIG1zZ2lkICJhbGlhcyBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uIF0iCiBtc2dzdHIgImFsaWFzIFstcF0gW25vbWJyZVs9dmFsb3JdIC4uLiBdIgogCiAjOiBidWlsdGlucy5jOjQ3Ci0jLCBmdXp6eQogbXNnaWQgInVuYWxpYXMgWy1hXSBuYW1lIFtuYW1lIC4uLl0iCi1tc2dzdHIgInVuYWxpYXMgWy1hXSBbbm9tYnJlIC4uLl0iCittc2dzdHIgInVuYWxpYXMgWy1hXSBub21icmUgW25vbWJyZSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjUxCi0jLCBmdXp6eQogbXNnaWQgIiIKICJiaW5kIFstbHB2c1BWU10gWy1tIGtleW1hcF0gWy1mIGZpbGVuYW1lXSBbLXEgbmFtZV0gWy11IG5hbWVdIFstciBrZXlzZXFdIFstIgogIngga2V5c2VxOnNoZWxsLWNvbW1hbmRdIFtrZXlzZXE6cmVhZGxpbmUtZnVuY3Rpb24gb3IgcmVhZGxpbmUtY29tbWFuZF0iCiBtc2dzdHIgIiIKLSJiaW5kIFstbHB2c1BWU10gWy1tIG1hcGFfdGVjbGFkb10gWy1mIGZpY2hlcm9dIFstcSBub21icmVdIFstciAiCi0ic2VjdWVuY2lhX3RlY2xhc10gW2tleXNlcTpmdW5jafNuLXJlYWRsaW5lXSIKKyJiaW5kIFstbHB2c1BWU10gWy1tIGNvbWJfdGVjbGFzXSBbLWYgZmljaGVyb10gWy1xIG5vbWJyZV0gWy11IG5vbWJyZV0gWy1yICIKKyJzZWN0ZWNsYXNdIFsteCBzZWN0ZWNsYXM6b3JkZW4tc2hlbGxdIFtzZWN0ZWNsYXM6ZnVuY2nzbi1yZWFkbGluZSB1IG9yZGVuLSIKKyJyZWFkbGluZV0iCiAKICM6IGJ1aWx0aW5zLmM6NTQKIG1zZ2lkICJicmVhayBbbl0iCkBAIC0xOTg4LDIyICsyMDY0LDE5IEBACiAKICM6IGJ1aWx0aW5zLmM6NTgKIG1zZ2lkICJidWlsdGluIFtzaGVsbC1idWlsdGluIFthcmcgLi4uXV0iCi1tc2dzdHIgImJ1aWx0aW4gW3NoZWxsLWludGVybm8gW2FyZyAuLi5dXSIKK21zZ3N0ciAiYnVpbHRpbiBbb3JkZW4taW50ZXJuYS1zaGVsbCBbYXJnIC4uLl1dIgogCiAjOiBidWlsdGlucy5jOjYxCi0jLCBmdXp6eQogbXNnaWQgImNhbGxlciBbZXhwcl0iCi1tc2dzdHIgInRlc3QgW2V4cHJlc2nzbl0iCittc2dzdHIgImNhbGxlciBbZXhwcmVzafNuXSIKIAogIzogYnVpbHRpbnMuYzo2NAotIywgZnV6enkKIG1zZ2lkICJjZCBbLUx8LVBdIFtkaXJdIgotbXNnc3RyICJjZCBbLVBMXSBbZGlyZWN0b3Jpb10iCittc2dzdHIgImNkIFstTHwtUF0gW2RpcmVjdG9yaW9dIgogCiAjOiBidWlsdGlucy5jOjY2Ci0jLCBmdXp6eQogbXNnaWQgInB3ZCBbLUxQXSIKLW1zZ3N0ciAicHdkIFstUExdIgorbXNnc3RyICJwd2QgWy1MUF0iCiAKICM6IGJ1aWx0aW5zLmM6NjgKIG1zZ2lkICI6IgpAQCAtMjAxMSwzMCArMjA4NCwyNyBAQAogCiAjOiBidWlsdGlucy5jOjcwCiBtc2dpZCAidHJ1ZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ0cnVlIgogCiAjOiBidWlsdGlucy5jOjcyCiBtc2dpZCAiZmFsc2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZmFsc2UiCiAKICM6IGJ1aWx0aW5zLmM6NzQKIG1zZ2lkICJjb21tYW5kIFstcFZ2XSBjb21tYW5kIFthcmcgLi4uXSIKIG1zZ3N0ciAiY29tbWFuZCBbLXBWdl0gb3JkZW4gW2FyZyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjc2Ci0jLCBmdXp6eQogbXNnaWQgImRlY2xhcmUgWy1hQWZGaWxydHV4XSBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uXSIKLW1zZ3N0ciAiZGVjbGFyZSBbLWFmRnJ4aV0gWy1wXSBub21icmVbPXZhbG9yXSAuLi4iCittc2dzdHIgImRlY2xhcmUgWy1hQWZGaWxydHV4XSBbLXBdIG5vbWJyZVs9dmFsb3JdIC4uLiIKIAogIzogYnVpbHRpbnMuYzo3OAotIywgZnV6enkKIG1zZ2lkICJ0eXBlc2V0IFstYUFmRmlscnR1eF0gWy1wXSBuYW1lWz12YWx1ZV0gLi4uIgotbXNnc3RyICJ0eXBlc2V0IFstYWZGcnhpXSBbLXBdIG5vbWJyZVs9dmFsb3JdIC4uLiIKK21zZ3N0ciAidHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0gbm9tYnJlWz12YWxvcl0gLi4uIgogCiAjOiBidWlsdGlucy5jOjgwCi0jLCBmdXp6eQogbXNnaWQgImxvY2FsIFtvcHRpb25dIG5hbWVbPXZhbHVlXSAuLi4iCi1tc2dzdHIgImxvY2FsIG5vbWJyZVs9dmFsb3JdIC4uLiIKK21zZ3N0ciAibG9jYWwgW29wY2nzbl0gbm9tYnJlWz12YWxvcl0gLi4uIgogCiAjOiBidWlsdGlucy5jOjgzCiBtc2dpZCAiZWNobyBbLW5lRV0gW2FyZyAuLi5dIgpAQCAtMjA0NSw5ICsyMTE1LDggQEAKIG1zZ3N0ciAiZWNobyBbLW5dIFthcmcgLi4uXSIKIAogIzogYnVpbHRpbnMuYzo5MAotIywgZnV6enkKIG1zZ2lkICJlbmFibGUgWy1hXSBbLWRucHNdIFstZiBmaWxlbmFtZV0gW25hbWUgLi4uXSIKLW1zZ3N0ciAiZW5hYmxlIFstcG5kc10gWy1hXSBbLWYgZmljaGVyb10gW25vbWJyZSAuLi5dIgorbXNnc3RyICJlbmFibGUgWy1hXSBbLWRucHNdIFstZiBmaWNoZXJvXSBbbm9tYnJlIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6OTIKIG1zZ2lkICJldmFsIFthcmcgLi4uXSIKQEAgLTIwNTgsNDkgKzIxMjcsNDUgQEAKIG1zZ3N0ciAiZ2V0b3B0cyBjYWRlbmFfb3BjaW9uZXMgbm9tYnJlIFthcmddIgogCiAjOiBidWlsdGlucy5jOjk2Ci0jLCBmdXp6eQogbXNnaWQgImV4ZWMgWy1jbF0gWy1hIG5hbWVdIFtjb21tYW5kIFthcmd1bWVudHMgLi4uXV0gW3JlZGlyZWN0aW9uIC4uLl0iCi1tc2dzdHIgImV4ZWMgWy1jbF0gWy1hIG5vbWJyZV0gZmljaGVybyBbcmVkaXJlY2Np824gLi4uXSIKK21zZ3N0ciAiZXhlYyBbLWNsXSBbLWEgbm9tYnJlXSBbb3JkZW4gW2FyZ3VtZW50b3MgLi4uXV0gW3JlZGlyZWNjafNuIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6OTgKIG1zZ2lkICJleGl0IFtuXSIKIG1zZ3N0ciAiZXhpdCBbbl0iCiAKICM6IGJ1aWx0aW5zLmM6MTAwCi0jLCBmdXp6eQogbXNnaWQgImxvZ291dCBbbl0iCi1tc2dzdHIgImxvZ291dCIKK21zZ3N0ciAibG9nb3V0IFtuXSIKIAogIzogYnVpbHRpbnMuYzoxMDMKLSMsIGZ1enp5CiBtc2dpZCAiZmMgWy1lIGVuYW1lXSBbLWxucl0gW2ZpcnN0XSBbbGFzdF0gb3IgZmMgLXMgW3BhdD1yZXBdIFtjb21tYW5kXSIKLW1zZ3N0ciAiZmMgWy1lIG5vbWJyZV9lXSBbLW5scl0gW3ByaW1lcm9dIFv6bHRpbW9dIG8gZmMgLXMgW3BhdD1yZXBdIFtvcmRlbl0iCittc2dzdHIgImZjIFstZSBub21icmVfZV0gWy1sbnJdIFtwcmltZXJvXSBb+mx0aW1vXSDzIGZjIC1zIFtwYXQ9cmVwXSBbb3JkZW5dIgogCiAjOiBidWlsdGlucy5jOjEwNwogbXNnaWQgImZnIFtqb2Jfc3BlY10iCiBtc2dzdHIgImZnIFtpZF90cmFiYWpvXSIKIAogIzogYnVpbHRpbnMuYzoxMTEKLSMsIGZ1enp5CiBtc2dpZCAiYmcgW2pvYl9zcGVjIC4uLl0iCi1tc2dzdHIgImJnIFtpZF90cmFiYWpvXSIKK21zZ3N0ciAiYmcgW2lkX3RyYWJham8gLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMTQKLSMsIGZ1enp5CiBtc2dpZCAiaGFzaCBbLWxyXSBbLXAgcGF0aG5hbWVdIFstZHRdIFtuYW1lIC4uLl0iCi1tc2dzdHIgImhhc2ggWy1yXSBbLXAgcnV0YV9kZV9hY2Nlc29dIFtub21icmUgLi4uXSIKK21zZ3N0ciAiaGFzaCBbLWxyXSBbLXAgcnV0YV0gWy1kdF0gW25vbWJyZSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjExNwogIywgZnV6enkKLW1zZ2lkICJoZWxwIFstZHNdIFtwYXR0ZXJuIC4uLl0iCi1tc2dzdHIgImhlbHAgW2V4cHJlc2nzbl9yZWd1bGFyIC4uLl0iCittc2dpZCAiaGVscCBbLWRtc10gW3BhdHRlcm4gLi4uXSIKK21zZ3N0ciAiaGVscCBbLWRzXSBbcGF0cvNuIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTIxCi0jLCBmdXp6eQogbXNnaWQgIiIKICJoaXN0b3J5IFstY10gWy1kIG9mZnNldF0gW25dIG9yIGhpc3RvcnkgLWFucncgW2ZpbGVuYW1lXSBvciBoaXN0b3J5IC1wcyBhcmcgIgogIlthcmcuLi5dIgotbXNnc3RyICJoaXN0b3J5IFstY10gW25dIPMgaGlzdG9yeSAtYXdybiBbZmljaGVyb10gbyBoaXN0b3J5IC1wcyBhcmcgW2FyZy4uLl0iCittc2dzdHIgIiIKKyJoaXN0b3J5IFstY10gWy1kIGRlc3BsXSBbbl0g8yBoaXN0b3J5IC1hbnJ3IFtmaWNoZXJvXSDzIGhpc3RvcnkgLXBzIGFyZyAiCisiW2FyZy4uLl0iCiAKICMgam9ic3BlYyBubyBlcyBz82xvIGVsIHBpZCBkZWwgcHJvY2VzbywgcHVlZGUgc2VyIHRhbWJpZW4KICMgZWwgbm9tYnJlIGRlIGxhIG9yZGVuIHF1ZSBzZSBjcmVvIGNvbiBlbCBwcm9jZXNvIGVtKwpAQCAtMjExMiwxNyArMjE3NywxNSBAQAogCiAjIGxvIG1pc21vIGVtKwogIzogYnVpbHRpbnMuYzoxMjkKLSMsIGZ1enp5CiBtc2dpZCAiZGlzb3duIFstaF0gWy1hcl0gW2pvYnNwZWMgLi4uXSIKLW1zZ3N0ciAiZGlzb3duIFtpZHRyYWJham8gLi4uXSIKK21zZ3N0ciAiZGlzb3duIFstaF0gWy1hcl0gW2lkdHJhYmFqbyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjEzMgotIywgZnV6enkKIG1zZ2lkICIiCiAia2lsbCBbLXMgc2lnc3BlYyB8IC1uIHNpZ251bSB8IC1zaWdzcGVjXSBwaWQgfCBqb2JzcGVjIC4uLiBvciBraWxsIC1sICIKICJbc2lnc3BlY10iCiBtc2dzdHIgIiIKLSJraWxsIFstcyBpZF9zZfFhbCB8IC1uIG51bV9zZfFhbCB8IC1pZF9zZfFhbF0gW3BpZCB8IHRyYWJham9dLi4uIPMga2lsbCAtbCAiCisia2lsbCBbLXMgaWRfc2XxYWwgfCAtbiBudW1fc2XxYWwgfCAtaWRfc2XxYWxdIHBpZCB8IGlkdHJhYmFqbyAuLi4g8yBraWxsIC1sICIKICJbaWRfc2XxYWxdIgogCiAjOiBidWlsdGlucy5jOjEzNApAQCAtMjEzMCw0OCArMjE5Myw0NSBAQAogbXNnc3RyICJsZXQgYXJnIFthcmcgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMzYKKyMsIGZ1enp5CiBtc2dpZCAiIgotInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1wIHByb21wdF0gWy10ICIKLSJ0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCisicmVhZCBbLWVyc10gWy1hIGFycmF5XSBbLWQgZGVsaW1dIFstaSB0ZXh0XSBbLW4gbmNoYXJzXSBbLU4gbmNoYXJzXSBbLXAgIgorInByb21wdF0gWy10IHRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgorInJlYWQgWy1lcnNdIFstYSBtYXRyaXpdIFstZCBkZWxpbV0gWy1pIHRleHRvXSBbLW4gbmNhcnNdIFstcCBwcm9tcHRdIFstdCAiCisidGllbXBvXSBbLXUgZGZdIFtub21icmUgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMzgKIG1zZ2lkICJyZXR1cm4gW25dIgogbXNnc3RyICJyZXR1cm4gW25dIgogCiAjOiBidWlsdGlucy5jOjE0MAotIywgZnV6enkKIG1zZ2lkICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gW2FyZyAuLi5dIgotbXNnc3RyICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcGNp825dIFthcmcgLi4uXSIKK21zZ3N0ciAic2V0IFstLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gbm9tYnJlLW9wY2nzbl0gW2FyZyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjE0MgogbXNnaWQgInVuc2V0IFstZl0gWy12XSBbbmFtZSAuLi5dIgogbXNnc3RyICJ1bnNldCBbLWZdIFstdl0gW25vbWJyZSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjE0NAotIywgZnV6enkKIG1zZ2lkICJleHBvcnQgWy1mbl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIGV4cG9ydCAtcCIKLW1zZ3N0ciAiZXhwb3J0IFstbmZdIFtub21icmUgLi4uXSDzIGV4cG9ydCAtcCIKK21zZ3N0ciAiZXhwb3J0IFstZm5dIFtub21icmVbPXZhbG9yXSAuLi5dIPMgZXhwb3J0IC1wIgogCiAjOiBidWlsdGlucy5jOjE0NgotIywgZnV6enkKIG1zZ2lkICJyZWFkb25seSBbLWFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAiCi1tc2dzdHIgInJlYWRvbmx5IFstYW5mXSBbbm9tYnJlIC4uLl0g8yByZWFkb25seSAtcCIKK21zZ3N0ciAicmVhZG9ubHkgWy1hZl0gW25vbWJyZVs9dmFsb3JdIC4uLl0g8yByZWFkb25seSAtcCIKIAogIzogYnVpbHRpbnMuYzoxNDgKLSMsIGZ1enp5CiBtc2dpZCAic2hpZnQgW25dIgotbXNnc3RyICJleGl0IFtuXSIKK21zZ3N0ciAic2hpZnQgW25dIgogCiAjOiBidWlsdGlucy5jOjE1MAotIywgZnV6enkKIG1zZ2lkICJzb3VyY2UgZmlsZW5hbWUgW2FyZ3VtZW50c10iCi1tc2dzdHIgInNvdXJjZSBmaWNoZXJvIgorbXNnc3RyICJzb3VyY2UgZmljaGVybyBbYXJndW1lbnRvc10iCiAKICM6IGJ1aWx0aW5zLmM6MTUyCi0jLCBmdXp6eQogbXNnaWQgIi4gZmlsZW5hbWUgW2FyZ3VtZW50c10iCi1tc2dzdHIgInNlIHJlcXVpZXJlIHVuIGFyZ3VtZW50byBkZSBub21icmUgZGUgZmljaGVybyIKK21zZ3N0ciAiLiBmaWNoZXJvIFthcmd1bWVudG9zXSIKIAogIzogYnVpbHRpbnMuYzoxNTUKIG1zZ2lkICJzdXNwZW5kIFstZl0iCkBAIC0yMTkyLDQ0ICsyMjUyLDM2IEBACiBtc2dzdHIgInRpbWVzIgogCiAjOiBidWlsdGlucy5jOjE2NAotIywgZnV6enkKIG1zZ2lkICJ0cmFwIFstbHBdIFtbYXJnXSBzaWduYWxfc3BlYyAuLi5dIgotbXNnc3RyICJ0cmFwIFthcmddIFtpZF9zZfFhbF0g8yB0cmFwIC1sIgorbXNnc3RyICJ0cmFwIFstbHBdIFtbYXJnXSBpZF9zZfFhbCAuLi5dIgogCiAjOiBidWlsdGlucy5jOjE2NgotIywgZnV6enkKIG1zZ2lkICJ0eXBlIFstYWZwdFBdIG5hbWUgW25hbWUgLi4uXSIKLW1zZ3N0ciAidHlwZSBbLWFwdF0gbm9tYnJlIFtub21icmUgLi4uXSIKK21zZ3N0ciAidHlwZSBbLWFmcHRQXSBub21icmUgW25vbWJyZSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjE2OQotIywgZnV6enkKIG1zZ2lkICJ1bGltaXQgWy1TSGFjZGVmaWxtbnBxcnN0dXZ4XSBbbGltaXRdIgotbXNnc3RyICJ1bGltaXQgWy1TSGFjZGZtc3RwbnV2XSBbbO1taXRlXSIKK21zZ3N0ciAidWxpbWl0IFstU0hhY2RlZmlsbW5wcXJzdHV2eF0gW2ztbWl0ZV0iCiAKICM6IGJ1aWx0aW5zLmM6MTcyCi0jLCBmdXp6eQogbXNnaWQgInVtYXNrIFstcF0gWy1TXSBbbW9kZV0iCi1tc2dzdHIgInVtYXNrIFstU10gW21vZG9dIgorbXNnc3RyICJ1bWFzayBbLXBdIFstU10gW21vZG9dIgogCiAjOiBidWlsdGlucy5jOjE3NQotIywgZnV6enkKIG1zZ2lkICJ3YWl0IFtpZF0iCi1tc2dzdHIgIndhaXQgW25dIgorbXNnc3RyICJ3YWl0IFtpZF0iCiAKICM6IGJ1aWx0aW5zLmM6MTc5Ci0jLCBmdXp6eQogbXNnaWQgIndhaXQgW3BpZF0iCi1tc2dzdHIgIndhaXQgW25dIgorbXNnc3RyICJ3YWl0IFtwaWRdIgogCiAjOiBidWlsdGlucy5jOjE4MgotIywgZnV6enkKIG1zZ2lkICJmb3IgTkFNRSBbaW4gV09SRFMgLi4uIF0gOyBkbyBDT01NQU5EUzsgZG9uZSIKLW1zZ3N0ciAiZm9yIE5PTUJSRSBbaW4gUEFMQUJSQVMgLi4uIDtdIGRvINNSREVORVM7IGRvbmUiCittc2dzdHIgImZvciBOT01CUkUgW2luIFBBTEFCUkFTIC4uLiBdIDsgZG8g01JERU5FUzsgZG9uZSIKIAogIzogYnVpbHRpbnMuYzoxODQKLSMsIGZ1enp5CiBtc2dpZCAiZm9yICgoIGV4cDE7IGV4cDI7IGV4cDMgKSk7IGRvIENPTU1BTkRTOyBkb25lIgotbXNnc3RyICJmb3IgTk9NQlJFIFtpbiBQQUxBQlJBUyAuLi4gO10gZG8g01JERU5FUzsgZG9uZSIKK21zZ3N0ciAiZm9yICgoIGV4cDE7IGV4cDI7IGV4cDMgKSk7IGRvINNSREVORVM7IGRvbmUiCiAKICM6IGJ1aWx0aW5zLmM6MTg2CiBtc2dpZCAic2VsZWN0IE5BTUUgW2luIFdPUkRTIC4uLiA7XSBkbyBDT01NQU5EUzsgZG9uZSIKQEAgLTIyMzcsMTEgKzIyODksMTEgQEAKIAogIzogYnVpbHRpbnMuYzoxODgKIG1zZ2lkICJ0aW1lIFstcF0gcGlwZWxpbmUiCi1tc2dzdHIgIiIKK21zZ3N0ciAidGltZSBbLXBdIHR1YmVy7WEiCiAKICM6IGJ1aWx0aW5zLmM6MTkwCiBtc2dpZCAiY2FzZSBXT1JEIGluIFtQQVRURVJOIFt8IFBBVFRFUk5dLi4uKSBDT01NQU5EUyA7O10uLi4gZXNhYyIKLW1zZ3N0ciAiY2FzZSBQQUxBQlJBIGluIFtQTEFOVElMTEEgW3wgUExBTlRJTExBXS4uLikg01JERU5FUyA7O10uLi4gZXNhYyIKK21zZ3N0ciAiY2FzZSBQQUxBQlJBIGluIFtQQVRS004gW3wgUEFUUtNOXS4uLikg01JERU5FUyA7O10uLi4gZXNhYyIKIAogIzogYnVpbHRpbnMuYzoxOTIKIG1zZ2lkICIiCkBAIC0yMjYxLDk4ICsyMzEzLDk4IEBACiAKICM6IGJ1aWx0aW5zLmM6MTk4CiBtc2dpZCAiY29wcm9jIFtOQU1FXSBjb21tYW5kIFtyZWRpcmVjdGlvbnNdIgotbXNnc3RyICIiCittc2dzdHIgImNvcHJvYyBbTk9NQlJFXSBvcmRlbiBbcmVkaXJlY2Npb25lc10iCiAKICM6IGJ1aWx0aW5zLmM6MjAwCi0jLCBmdXp6eQogbXNnaWQgImZ1bmN0aW9uIG5hbWUgeyBDT01NQU5EUyA7IH0gb3IgbmFtZSAoKSB7IENPTU1BTkRTIDsgfSIKLW1zZ3N0ciAiZnVuY3Rpb24gTk9NQlJFIHsg01JERU5FUyA7IH0gbyBOT01CUkUgKCkgeyDTUkRFTkVTIDsgfSIKK21zZ3N0ciAiZnVuY3Rpb24gbm9tYnJlIHsg01JERU5FUyA7IH0g8yBub21icmUgKCkgeyDTUkRFTkVTIDsgfSIKIAogIzogYnVpbHRpbnMuYzoyMDIKLSMsIGZ1enp5CiBtc2dpZCAieyBDT01NQU5EUyA7IH0iCi1tc2dzdHIgInsg01JERU5FUyB9IgorbXNnc3RyICJ7INNSREVORVMgOyB9IgogCiAjOiBidWlsdGlucy5jOjIwNAotIywgZnV6enkKIG1zZ2lkICJqb2Jfc3BlYyBbJl0iCi1tc2dzdHIgImZnIFtpZF90cmFiYWpvXSIKK21zZ3N0ciAiaWRfdHJhYmFqbyBbJl0iCiAKICM6IGJ1aWx0aW5zLmM6MjA2Ci0jLCBmdXp6eQogbXNnaWQgIigoIGV4cHJlc3Npb24gKSkiCi1tc2dzdHIgInNlIGVzcGVyYWJhIHVuYSBleHByZXNp824iCittc2dzdHIgIigoIGV4cHJlc2nzbiApKSIKIAogIzogYnVpbHRpbnMuYzoyMDgKLSMsIGZ1enp5CiBtc2dpZCAiW1sgZXhwcmVzc2lvbiBdXSIKLW1zZ3N0ciAic2UgZXNwZXJhYmEgdW5hIGV4cHJlc2nzbiIKK21zZ3N0ciAiW1sgZXhwcmVzafNuIF1dIgogCiAjOiBidWlsdGlucy5jOjIxMAotIywgZnV6enkKIG1zZ2lkICJ2YXJpYWJsZXMgLSBOYW1lcyBhbmQgbWVhbmluZ3Mgb2Ygc29tZSBzaGVsbCB2YXJpYWJsZXMiCi1tc2dzdHIgIiIKLSJTZSBwZXJtaXRlbiBsYXMgdmFyaWFibGVzIGRlIHNoZWxsIGNvbW8gb3BlcmFuZG9zLiAgU2UgcmVlbXBsYXphIGVsIG5vbWJyZSIKK21zZ3N0ciAidmFyaWFibGVzIC0gTm9tYnJlcyB5IHNpZ25pZmljYWRvcyBkZSBhbGd1bmFzIHZhcmlhYmxlcyBkZSBzaGVsbCIKIAogIzogYnVpbHRpbnMuYzoyMTMKLSMsIGZ1enp5CiBtc2dpZCAicHVzaGQgWy1uXSBbK04gfCAtTiB8IGRpcl0iCi1tc2dzdHIgInB1c2hkIFtkaXIgfCArTiB8IC1OXSBbLW5dIgorbXNnc3RyICJwdXNoZCBbLW5dIFsrTiB8IC1OIHwgZGlyIgogCiAjOiBidWlsdGlucy5jOjIxNwotIywgZnV6enkKIG1zZ2lkICJwb3BkIFstbl0gWytOIHwgLU5dIgotbXNnc3RyICJwb3BkIFsrTiB8IC1OXSBbLW5dIgorbXNnc3RyICJwb3BkIFstbl0gWytOIHwgLU5dIgogCiAjOiBidWlsdGlucy5jOjIyMQogbXNnaWQgImRpcnMgWy1jbHB2XSBbK05dIFstTl0iCiBtc2dzdHIgImRpcnMgWy1jbHB2XSBbK05dIFstTl0iCiAKICM6IGJ1aWx0aW5zLmM6MjI0Ci0jLCBmdXp6eQogbXNnaWQgInNob3B0IFstcHFzdV0gWy1vXSBbb3B0bmFtZSAuLi5dIgotbXNnc3RyICJzaG9wdCBbLXBxc3VdIFstbyBvcGNp824tbGFyZ2FdIG5vbWJyZV9vcGNp824gW25vbWJyZV9vcGNp824uLi5dIgorbXNnc3RyICJzaG9wdCBbLXBxc3VdIFstb10gW25vbWJyZV9vcGNp824uLi5dIgogCiAjOiBidWlsdGlucy5jOjIyNgogbXNnaWQgInByaW50ZiBbLXYgdmFyXSBmb3JtYXQgW2FyZ3VtZW50c10iCi1tc2dzdHIgIiIKK21zZ3N0ciAicHJpbnRmIFstdiB2YXJdIGZvcm1hdG8gW2FyZ3VtZW50b3NdIgogCiAjOiBidWlsdGlucy5jOjIyOQorIywgZnV6enkKIG1zZ2lkICIiCi0iY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLVcgIgotIndvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TIHN1ZmZpeF0gIgotIltuYW1lIC4uLl0iCisiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstREVdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLSIKKyJXIHdvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TICIKKyJzdWZmaXhdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKKyJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1vIG9wY2nzbl0gWy1BIGFjY2nzbl0gWy1HIHBhdGdsb2JdIFstVyAiCisibGlzdGFwYWxhYnJhc10gWy1GIGZ1bmNp825dIFstQyBvcmRlbl0gWy1YIHBhdGZpbHRyb10gWy1QIHByZWZpam9dIFstUyAiCisic3VmaWpvXSBbbm9tYnJlIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MjMzCiBtc2dpZCAiIgogImNvbXBnZW4gWy1hYmNkZWZnamtzdXZdIFstbyBvcHRpb25dICBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy1XIHdvcmRsaXN0XSAgIgogIlstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyBzdWZmaXhdIFt3b3JkXSIKIG1zZ3N0ciAiIgorImNvbXBnZW4gWy1hYmNkZWZnamtzdXZdIFstbyBvcGNp825dICBbLUEgYWNjafNuXSBbLUcgcGF0Z2xvYl0gWy1XICIKKyJsaXN0YXBhbGFicmFzXSBbLUYgZnVuY2nzbl0gWy1DIG9yZGVuXSBbLVggcGF0ZmlsdHJvXSBbLVAgcHJlZmlqb10gWy1TICIKKyJzdWZpam9dIFtwYWxhYnJhXSIKIAogIzogYnVpbHRpbnMuYzoyMzcKICMsIGZ1enp5Ci1tc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbbmFtZSAuLi5dIgotbXNnc3RyICJ0eXBlIFstYXB0XSBub21icmUgW25vbWJyZSAuLi5dIgorbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gWy1ERV0gW25hbWUgLi4uXSIKK21zZ3N0ciAiY29tcG9wdCBbLW98K28gb3BjafNuXSBbbm9tYnJlIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MjQwCiBtc2dpZCAiIgogIm1hcGZpbGUgWy1uIGNvdW50XSBbLU8gb3JpZ2luXSBbLXMgY291bnRdIFstdF0gWy11IGZkXSBbLUMgY2FsbGJhY2tdIFstYyAiCiAicXVhbnR1bV0gW2FycmF5XSIKIG1zZ3N0ciAiIgorIm1hcGZpbGUgWy1uIGN1ZW50YV0gWy1PIG9yaWdlbl0gWy1zIGN1ZW50YV0gWy10XSBbLXUgZGZdIFstQyBsbGFtYWRhXSBbLWMgIgorInF1YW50dW1dIFttYXRyaXpdIgogCiAjOiBidWlsdGlucy5jOjI0MgogbXNnaWQgIiIKICJyZWFkYXJyYXkgWy1uIGNvdW50XSBbLU8gb3JpZ2luXSBbLXMgY291bnRdIFstdF0gWy11IGZkXSBbLUMgY2FsbGJhY2tdIFstYyAiCiAicXVhbnR1bV0gW2FycmF5XSIKIG1zZ3N0ciAiIgorInJlYWRhcnJheSBbLW4gY3VlbnRhXSBbLU8gb3JpZ2VuXSBbLXMgY3VlbnRhXSBbLXRdIFstdSBkZl0gWy1DIGxsYW1hZGFdIFstYyAiCisicXVhbnR1bV0gW21hdHJpel0iCiAKICMgTeFzIGVuIGVzcGHxb2wgc2Vy7WE6IHNlIGRlZmluZSB1biBhbGlhcyBwb3IgY2FkYSBOT01CUkUgY3V5byBWQUxPUiBzZSBkYS4gc3YKICMgTG8gbWlzbW8gZGUgYW50ZXM6IGVsIGFsaWFzIGVzIGV4cGFuZGlkbyAtPiBlbCBhbGlhcyBzZSBleHBhbmRlLiBzdgogIyBubyBhbGlhcyAtPiBuaW5n+m4gYWxpYXMuIHN2CiAjIERlIGFjdWVyZG8uIGNmdWdhCiAjOiBidWlsdGlucy5jOjI1NAotIywgZnV6enkKIG1zZ2lkICIiCiAiRGVmaW5lIG9yIGRpc3BsYXkgYWxpYXNlcy5cbiIKICIgICAgXG4iCkBAIC0yMzcxLDE3ICsyNDIzLDI0IEBACiAiYmVlblxuIgogIiAgICBkZWZpbmVkLiIKIG1zZ3N0ciAiIgotImBhbGlhcycgc2luIGFyZ3VtZW50b3MgbyBjb24gbGEgb3BjafNuIC1wIG11ZXN0cmEgbGEgbGlzdGEgZGVcbiIKLSIgICAgYWxpYXNlcyBlbiBsYSBmb3JtYSBhbGlhcyBOQU1FPVZBTFVFIGVuIGxhIHNhbGlkYSBlc3ThbmRhcmQuXG4iCi0iICAgIERlIG90cmEgbWFuZXJhLCBzZSBkZWZpbmUgdW4gYWxpYXMgcG9yIGNhZGEgTkFNRSBjdXlvIFZBTFVFIHNlXG4iCi0iICAgIHByb3BvcmNpb25lLlxuIgotIiAgICBVbiBlc3BhY2lvIGZpbmFsIGVuIFZBTFVFIGNhdXNhIHF1ZSBzZSByZXZpc2UgbGEgc2lndWllbnRlIHBhbGFicmFcbiIKLSIgICAgcGFyYSBzdXN0aXR1Y2nzbiBkZSBhbGlhcyBjdWFuZG8gc2UgZXhwYW5kZSBlbCBhbGlhcy4gIEFsaWFzIGRldnVlbHZlXG4iCi0iICAgIHZlcmRhZGVybyBhIG1lbm9zIHF1ZSBzZSBkZSB1biBOQU1FIHBhcmEgZWwgY3VhbCBubyBzZSBoYXlhIGRlZmluaWRvXG4iCi0iICAgIG5pbmf6biBhbGlhcy4iCisiRGVmaW5lIG8gbXVlc3RyYSBhbGlhc2VzLlxuIgorIiAgICBcbiIKKyIgICAgYGFsaWFzJyBzaW4gYXJndW1lbnRvcyBtdWVzdHJhIGxhIGxpc3RhIGRlIGFsaWFzZXMgZW4gbGEgZm9ybWFcbiIKKyIgICAgcmV1dGlsaXphYmxlIGBhbGlhcyBOT01CUkU9VkFMT1InIGVuIGxhIHNhbGlkYSBlc3ThbmRhci5cbiIKKyIgICAgXG4iCisiICAgIERlIG90cmEgbWFuZXJhLCBzZSBkZWZpbmUgdW4gYWxpYXMgcG9yIGNhZGEgTk9NQlJFIGN1eW8gVkFMT1Igc2VcbiIKKyIgICAgcHJvcG9yY2lvbmUuICBVbiBlc3BhY2lvIGZpbmFsIGVuIFZBTE9SIGNhdXNhIHF1ZSBzZSByZXZpc2VcbiIKKyIgICAgbGEgc2lndWllbnRlIHBhbGFicmEgcGFyYSBzdXN0aXR1Y2nzbiBkZSBhbGlhcyBjdWFuZG8gc2UgZXhwYW5kZVxuIgorIiAgICBlbCBhbGlhcy5cbiIKKyIgICAgXG4iCisiICAgIE9wY2lvbmVzOlxuIgorIiAgICAgIC1wXHRNdWVzdHJhIHRvZG9zIGxvcyBhbGlhc2VzIGRlZmluaWRvcyBlbiB1biBmb3JtYXRvIHJldXNhYmxlXG4iCisiICAgIFxuIgorIiAgICBFc3RhZG8gZGUgc2FsaWRhOlxuIgorIiAgICBhbGlhcyBkZXZ1ZWx2ZSB2ZXJkYWRlcm8gYSBtZW5vcyBxdWUgc2UgZGUgdW4gTk9NQlJFIHBhcmEgZWwgY3VhbFxuIgorIiAgICBubyBzZSBoYXlhIGRlZmluaWRvIG5pbmf6biBhbGlhcy4iCiAKICM6IGJ1aWx0aW5zLmM6Mjc2Ci0jLCBmdXp6eQogbXNnaWQgIiIKICJSZW1vdmUgZWFjaCBOQU1FIGZyb20gdGhlIGxpc3Qgb2YgZGVmaW5lZCBhbGlhc2VzLlxuIgogIiAgICBcbiIKQEAgLTIzOTAsMTMgKzI0NDksMTUgQEAKICIgICAgXG4iCiAiICAgIFJldHVybiBzdWNjZXNzIHVubGVzcyBhIE5BTUUgaXMgbm90IGFuIGV4aXN0aW5nIGFsaWFzLiIKIG1zZ3N0ciAiIgotIkJvcnJhIE5BTUVzIGRlIGxhIGxpc3RhIGRlIGFsaWFzIGRlZmluaWRvcy4gU2kgc2UgZXNwZWNpZmljYSBsYSBvcGNp824gLWEgLFxuIgotIiAgICBlbnRvbmNlcyBlbGltaW5hIHRvZGFzIGxhcyBkZWZpbmljaW9uZXMgZGUgYWxpYXMuIgorIkJvcnJhIGNhZGEgTk9NQlJFIGRlIGxhIGxpc3RhIGRlIGFsaWFzIGRlZmluaWRvcy5cbiIKKyIgICAgXG4iCisiICAgIE9wY2lvbmVzOlxuIgorIiAgICAgIC1hXHRlbGltaW5hIHRvZGFzIGxhcyBkZWZpbmljaW9uZXMgZGUgYWxpYXMuXG4iCisiICAgIERldnVlbHZlIHZlcmRhZGVybyBhIG1lbm9zIHF1ZSB1biBOT01CUkUgbm8gc2VhIHVuIGFsaWFzIGV4aXN0ZW50ZS4iCiAKICMgbGVlICdsYScuLi4gZW0rCiAjIENvcnJlZ2lkby4gQWRlbeFzLCBlcyBwbHVyYWw6IGxlZSBsYXMgYXNpZ25hY2lvbmVzLi4uIGNmdWdhCiAjOiBidWlsdGlucy5jOjI4OQotIywgZnV6enkKIG1zZ2lkICIiCiAiU2V0IFJlYWRsaW5lIGtleSBiaW5kaW5ncyBhbmQgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTI0MzQsMzUgKzI0OTUsMjkgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIGJpbmQgcmV0dXJucyAwIHVubGVzcyBhbiB1bnJlY29nbml6ZWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKLSJBc2lnbmEgdW5hIHNlY3VlbmNpYSBkZSB0ZWNsYXMgYSB1bmEgZnVuY2nzbiBSZWFkbGluZSBvIGEgdW5hIG1hY3JvLCBvXG4iCi0iICAgIGVzdGFibGVjZSB1bmEgdmFyaWFibGUgUmVhZGxpbmUuICBMYSBzaW50YXhpcyBkZSBsb3MgYXJndW1lbnRvcyBxdWUgbm8gIgotInNvblxuIgotIiAgICBvcGNpb25lcyBlcyBlcXVpdmFsZW50ZSBhIGxhIHF1ZSBzZSBlbmN1ZW50cmEgZW4gfi8uaW5wdXRyYywgcGVybyBzZSAiCi0iZGViZVxuIgotIiAgICBwYXNhciBjb21vIHVuIHNvbG8gYXJndW1lbnRvOlxuIgotIiAgICBiaW5kICdcIlxcQy14XFxDLXJcIjogcmUtcmVhZC1pbml0LWZpbGUnLlxuIgotIiAgICBiaW5kIGFjZXB0YSBsYXMgc2lndWllbnRlcyBvcGNpb25lczpcbiIKLSIgICAgICAtbSAgbWFwYXRlY2xhcyAgICAgVXNhIGVsIGBtYXBhdGVjbGFzJyBjb21vIGVsIG1hcGEgZGUgdGVjbGFzIHBvciBsYVxuIgotIiAgICAgICAgICAgICAgICAgICAgICAgICBkdXJhY2nzbiBkZSBlc3RhIG9yZGVuLiAgTG9zIG5vbWJyZXMgYWNlcHRhYmxlcyBkZVxuIgotIiAgICAgICAgICAgICAgICAgICAgICAgICBtYXBhcyBkZSB0ZWNsYXMgc29uIGVtYWNzLCBlbWFjcy1zdGFuZGFyZCwgZW1hY3MtIgotIm1ldGEsXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgIGVtYWNzLWN0bHgsIHZpLCB2aS1tb3ZlLCB2aS1jb21tYW5kIHkgdmktaW5zZXJ0LlxuIgorIkVzdGFibGVjZSBzZWN1ZW5jaWFzIGRlIHRlY2xhcyBSZWFkbGluZSB5IHZhcmlhYmxlcy5cbiIKKyJcbiIKKyIgICAgQXNpZ25hIHVuYSBzZWN1ZW5jaWEgZGUgdGVjbGFzIGEgdW5hIGZ1bmNp824gUmVhZGxpbmUgbyBhIHVuYSBtYWNybywgb1xuIgorIiAgICBlc3RhYmxlY2UgdW5hIHZhcmlhYmxlIFJlYWRsaW5lLiAgTGEgc2ludGF4aXMgZGUgbG9zIGFyZ3VtZW50b3MgcXVlXG4iCisiICAgIG5vIHNvbiBvcGNpb25lcyBlcyBlcXVpdmFsZW50ZSBhIGxhIHF1ZSBzZSBlbmN1ZW50cmEgZW4gfi8uaW5wdXRyYyxcbiIKKyIgICAgcGVybyBzZSBkZWJlIHBhc2FyIGNvbW8gdW4gc29sbyBhcmd1bWVudG86XG4iCisiICAgIHAuZS4sIGJpbmQgJ1wiXFxDLXhcXEMtclwiOiByZS1yZWFkLWluaXQtZmlsZScuXG4iCisiICAgIFxuIgorIiAgICBPcGNpb25lczpcbiIKKyIgICAgXG4iCisiICAgICAgLW0gIGNvbWJfdGVjbGFzICAgIFVzYSBDT01CX1RFQ0xBUyBjb21vIGxhIGNvbWJpbmFjafNuIGRlIHRlY2xhcyBwb3IgIgorImxhXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmFjafNuIGRlIGVzdGEgb3JkZW4uICBMb3Mgbm9tYnJlcyBkZSAiCisiY29tYmluYWNpb25lc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBkZSB0ZWNsYXMgYWNlcHRhYmxlcyBzb24gZW1hY3MsIGVtYWNzLXN0YW5kYXJkLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBlbWFjcy1tZXRhLCBlbWFjcy1jdGx4LCB2aSwgdmktbW92ZSwgdmktY29tbWFuZCB5XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIHZpLWluc2VydC5cbiIKICIgICAgICAtbCAgICAgICAgICAgICAgICAgRW5saXN0YSBsb3Mgbm9tYnJlcyBkZSBsYXMgZnVuY2lvbmVzLlxuIgogIiAgICAgIC1QICAgICAgICAgICAgICAgICBFbmxpc3RhIGxvcyBub21icmVzIGRlIGxhcyBmdW5jaW9uZXMgeSAiCiAiYXNpZ25hY2lvbmVzLlxuIgogIiAgICAgIC1wICAgICAgICAgICAgICAgICBFbmxpc3RhIGxhcyBmdW5jaW9uZXMgeSBhc2lnbmFjaW9uZXMgZW4gdW5hIGZvcm1hICIKICJxdWVcbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgc2UgcHVlZGUgcmV1c2FyIGNvbW8gZW50cmFkYS5cbiIKLSIgICAgICAtciBzZXF0ZWNsICAgICAgICAgQm9ycmEgbGEgYXNpZ25hY2nzbiBwYXJhIGxhIFNFUVRFQ0wuXG4iCi0iICAgICAgLXggc2VxdGVjbDpvcmRlbi1zaGVsbFx0Q2F1c2EgcXVlIHNlIGVqZWN1dGUgbGEgT1JERU4tU0hFTEwgY3VhbmRvXG4iCi0iICAgIFx0XHRcdFx0c2UgaW50cm9kdWNlIGxhIFNFUVRFQ0wuXG4iCi0iICAgICAgLWYgbm9tYnJlZmljaGVybyAgIExlZSBsYXMgYXNpZ25hY2lvbmVzIGRlIHRlY2xhcyBkZWwgTk9NQlJFRklDSEVSTy5cbiIKLSIgICAgICAtcSBub21icmUtZnVuY2lvbiAgUHJlZ3VudGEgcXXpIHRlY2xhcyBpbnZvY2FuIGxhIGZ1bmNp824gbm9tYnJhZGEuXG4iCi0iICAgICAgLXUgbm9tYnJlLWZ1bmNp824gIEJvcnJhIGxhIGFzaWduYWNp824gZGUgdG9kYXMgbGFzIHRlY2xhcyBxdWUgZXN04W5cbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgbGlnYWRhcyBhIGxhIGZ1bmNp824gbm9tYnJhZGEuXG4iCi0iICAgICAgLVYgICAgICAgICAgICAgICAgIEVubGlzdGEgbG9zIG5vbWJyZXMgZGUgdmFyaWFibGVzIHkgdmFsb3Jlcy5cbiIKLSIgICAgICAtdiAgICAgICAgICAgICAgICAgRW5saXN0YSBsb3Mgbm9tYnJlcyBkZSB2YXJpYWJsZXMgeSB2YWxvcmVzIGVuIHVuYVxuIgotIiAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYSBxdWUgc2UgcHVlZGVuIHJldXNhciBjb21vIGVudHJhZGEuXG4iCiAiICAgICAgLVMgICAgICAgICAgICAgICAgIEVubGlzdGEgbGFzIHNlY3VlbmNpYXMgZGUgdGVjbGFzIHF1ZSBpbnZvY2FuICIKICJtYWNyb3NcbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgeSBzdXMgdmFsb3Jlcy5cbiIKQEAgLTI0NzAsMTAgKzI1MjUsMjMgQEAKICJtYWNyb3NcbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgeSBzdXMgdmFsb3JlcyBlbiB1bmEgZm9ybWEgcXVlIHNlIHB1ZWRlbiByZXVzYXIgIgogImNvbW9cbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgZW50cmFkYS4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGVudHJhZGEuXG4iCisiICAgICAgLVYgICAgICAgICAgICAgICAgIEVubGlzdGEgbG9zIG5vbWJyZXMgZGUgdmFyaWFibGVzIHkgdmFsb3Jlcy5cbiIKKyIgICAgICAtdiAgICAgICAgICAgICAgICAgRW5saXN0YSBsb3Mgbm9tYnJlcyBkZSB2YXJpYWJsZXMgeSB2YWxvcmVzIGVuIHVuYVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYSBxdWUgc2UgcHVlZGVuIHJldXNhciBjb21vIGVudHJhZGEuXG4iCisiICAgICAgLXEgbm9tYnJlLWZ1bmNpb24gIFByZWd1bnRhIHF16SB0ZWNsYXMgaW52b2NhbiBsYSBmdW5jafNuIG5vbWJyYWRhLlxuIgorIiAgICAgIC11IG5vbWJyZS1mdW5jafNuICBCb3JyYSB0b2RhcyBsYXMgdGVjbGFzIHF1ZSBlc3ThbiBsaWdhZGFzIGFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgbGEgZnVuY2nzbiBub21icmFkYS5cbiIKKyIgICAgICAtciBzZWN0ZWNsYXMgICAgICAgQm9ycmEgbGEgYXNpZ25hY2nzbiBwYXJhIGxhIFNFQ1RFQ0xBUy5cbiIKKyIgICAgICAtZiBmaWNoZXJvICAgICAgICAgTGVlIGxhcyBhc2lnbmFjaW9uZXMgZGUgdGVjbGFzIGRlbCBGSUNIRVJPLlxuIgorIiAgICAgIC14IHNlY3RlY2xhczpvcmRlbi1zaGVsbFx0Q2F1c2EgcXVlIHNlIGVqZWN1dGUgbGEgT1JERU4tU0hFTEwgY3VhbmRvXG4iCisiICAgIFx0XHRcdFx0c2UgaW50cm9kdWNlIGxhIFNFQ1RFQ0xBUy5cbiIKKyIgICAgXG4iCisiICAgIEVzdGFkbyBkZSBzYWxpZGE6XG4iCisiICAgIGJpbmQgZGV2dWVsdmUgMCBhIG1lbm9zIHF1ZSBzZSBwcmVzZW50ZSB1bmEgb3BjafNuIGRlc2Nvbm9jaWRhIG8gc3VjZWRhXG4iCisiICAgIHVuIGVycm9yLiIKIAogIzogYnVpbHRpbnMuYzozMjYKLSMsIGZ1enp5CiBtc2dpZCAiIgogIkV4aXQgZm9yLCB3aGlsZSwgb3IgdW50aWwgbG9vcHMuXG4iCiAiICAgIFxuIgpAQCAtMjQ4MywxMSArMjU1MSwxNSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgVGhlIGV4aXQgc3RhdHVzIGlzIDAgdW5sZXNzIE4gaXMgbm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLiIKIG1zZ3N0ciAiIgotIlJldG9tYSBsYSBzaWd1aWVudGUgaXRlcmFjafNuIGRlbCBjaWNsbyBGT1IsIFdISUxFIG8gVU5USUwgaW5jbHVpZG8uXG4iCi0iICAgIFNpIHNlIGVzcGVjaWZpY2EgTiwgcmV0b21hIGVuIGVsIE4t6XNpbW8gY2ljbG8gaW5jbHVpZG8uIgorIlRlcm1pbmEgY2ljbG9zIGZvciwgd2hpbGUgbyB1bnRpbC5cbiIKKyIgICAgXG4iCisiICAgIFRlcm1pbmEgdW4gY2ljbG8gRk9SLCBXSElMRSBvIFVOVElMLiAgU2kgc2UgZXNwZWNpZmljYSBOLCB0ZXJtaW5hXG4iCisiICAgIE4gY2ljbG9zIGFuaWRhZG9zLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIHNhbGlkYTpcbiIKKyIgICAgRWwgZXN0YWRvIGRlIHNhbGlkYSBlcyAwIGEgbWVub3MgcXVlIE4gbm8gc2VhIG1heW9yIG8gaWd1YWwgYSAxLiIKIAogIzogYnVpbHRpbnMuYzozMzgKLSMsIGZ1enp5CiBtc2dpZCAiIgogIlJlc3VtZSBmb3IsIHdoaWxlLCBvciB1bnRpbCBsb29wcy5cbiIKICIgICAgXG4iCkBAIC0yNDk3LDggKzI1NjksMTQgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFRoZSBleGl0IHN0YXR1cyBpcyAwIHVubGVzcyBOIGlzIG5vdCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMS4iCiBtc2dzdHIgIiIKLSJSZXRvbWEgbGEgc2lndWllbnRlIGl0ZXJhY2nzbiBkZWwgY2ljbG8gRk9SLCBXSElMRSBvIFVOVElMIGluY2x1aWRvLlxuIgotIiAgICBTaSBzZSBlc3BlY2lmaWNhIE4sIHJldG9tYSBlbiBlbCBOLelzaW1vIGNpY2xvIGluY2x1aWRvLiIKKyJDb250aW76YSBpdGVyYWNpb25lcyBmb3IsIHdoaWxlIG8gdW50aWxcbiIKKyIgICAgXG4iCisiICAgIENvbnRpbvphIGxhIHNpZ3VpZW50ZSBpdGVyYWNp824gZGVsIGNpY2xvIEZPUiwgV0hJTEUgbyBVTlRJTFxuIgorIiAgICBjaXJjdW5kYW50ZS4gIFNpIHNlIGVzcGVjaWZpY2EgTiwgcmV0b21hIGVuIGVsIE4t6XNpbW8gY2ljbG8gIgorImNpcmN1bmRhbnRlLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRWwgZXN0YWRvIGRlIHNhbGlkYSBlcyAwIGEgbWVub3MgcXVlIE4gbm8gc2VhIG1heW9yIG8gaWd1YWwgYSAxLiIKIAogIzogYnVpbHRpbnMuYzozNTAKIG1zZ2lkICIiCkBAIC0yNTEzLDkgKzI1OTEsMTkgQEAKICIgICAgUmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgU0hFTEwtQlVJTFRJTiwgb3IgZmFsc2UgaWYgU0hFTEwtQlVJTFRJTiBpc1xuIgogIiAgICBub3QgYSBzaGVsbCBidWlsdGluLi4iCiBtc2dzdHIgIiIKKyJFamVjdXRhIPNyZGVuZXMgaW50ZXJuYXMgZGVsIHNoZWxsXG4iCisiICAgIFxuIgorIiAgICBFamVjdXRhIGxhIE9SREVOLUlOVEVSTkEtU0hFTEwgY29uIGxvcyBhcmd1bWVudG9zIEFSR3Mgc2luIHJlYWxpemFyXG4iCisiICAgIGxhIGL6c3F1ZWRhIGludGVybmEgZGUg83JkZW5lcy4gIEVzdG8gZXMg+nRpbCBjdWFuZG8gZGVzZWEgIgorInJlaW1wbGVtZW50YXJcbiIKKyIgICAgdW5hIG9yZGVuIGludGVybmEgZGVsIHNoZWxsIGNvbW8gdW5hIGZ1bmNp824gZGUgc2hlbGwsIHBlcm8gbmVjZXNpdGFcbiIKKyIgICAgZWplY3V0YXIgbGEgb3JkZW4gaW50ZXJuYSBkZW50cm8gZGUgbGEgZnVuY2nzbi5cbiIKKyIgICAgXG4iCisiICAgIEVzdGFkbyBkZSBTYWxpZGE6XG4iCisiICAgIERldnVlbHZlIGVsIGVzdGFkbyBkZSBzYWxpZGEgZGUgbGEgT1JERU4tSU5URVJOQS1TSEVMTCwgbyBmYWxzbyBzaSBsYVxuIgorIiAgICBPUkRFTi1JTlRFUk5BLVNIRUxMIG5vIGVzIHVuYSBvcmRlbiBpbnRlcm5hIGRlIHNoZWxsLiIKIAogIzogYnVpbHRpbnMuYzozNjUKLSMsIGZ1enp5CiBtc2dpZCAiIgogIlJldHVybiB0aGUgY29udGV4dCBvZiB0aGUgY3VycmVudCBzdWJyb3V0aW5lIGNhbGwuXG4iCiAiICAgIFxuIgpAQCAtMjUzMiwxOCArMjYyMCwyMSBAQAogbXNnc3RyICIiCiAiRGV2dWVsdmUgZWwgY29udGV4dG8gZGUgbGEgbGxhbWFkYSBhIHN1YnJ1dGluYSBhY3R1YWwuXG4iCiAiICAgIFxuIgotIiAgICBTaW4gRVhQUiwgZGV2dWVsdmUgXCIkbGluZWEgJG5vbWJyZWZpY2hlcm9cIi4gIENvbiBFWFBSLFxuIgotIiAgICBkZXZ1ZWx2ZSBcIiRsaW5lYSAkc3VicnV0aW5hICRub21icmVmaWNoZXJvXCI7IGVzdGEgaW5mb3JtYWNp825cbiIKLSIgICAgYWRpY2lvbmFsIHNlIHB1ZWRlIHVzYXIgcGFyYSBwcm92ZWVyIHVuIHZvbGNhZG8gZGUgcGlsYS5cbiIKLSJcbiIKKyIgICAgU2luIEVYUFIsIGRldnVlbHZlIFwiJGxpbmVhICRub21icmVmaWNoZXJvXCIuICBDb24gRVhQUiwgZGV2dWVsdmVcbiIKKyIgICAgXCIkbGluZWEgJHN1YnJ1dGluYSAkbm9tYnJlZmljaGVyb1wiOyBlc3RhIGluZm9ybWFjafNuIGFkaWNpb25hbFxuIgorIiAgICBzZSBwdWVkZSB1c2FyIHBhcmEgcHJvdmVlciB1biB2b2xjYWRvIGRlIHBpbGEuXG4iCisiICAgIFxuIgogIiAgICBFbCB2YWxvciBkZSBFWFBSIGluZGljYSBjdeFudG9zIG1hcmNvcyBkZSBsbGFtYWRhIHNlIGRlYmUgcmV0cm9jZWRlclxuIgotIiAgICBhbnRlcyBkZWwgYWN0dWFsOyBlbCBtYXJjbyBpbmljaWFsIGVzIGVsIG1hcmNvIDAuIgorIiAgICBhbnRlcyBkZWwgYWN0dWFsOyBlbCBtYXJjbyBpbmljaWFsIGVzIGVsIG1hcmNvIDAuXG4iCisiICAgIFxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICBEZXZ1ZWx2ZSAwIGEgbWVub3MgcXVlIGVsIHNoZWxsIG5vIGVzdOkgZWplY3V0YW5kbyB1bmEgZnVuY2nzbiBkZSBzaGVsbFxuIgorIiAgICBvIEVYUFIgc2VhIGluduFsaWRhLiIKIAogIyBTbGFzaCBsbyB2ZW5pbW9zIHRyYWR1Y2llbmRvIHBvciBiYXJyYSBpbmNsaW5hZGEgLCB5IGJhY2tzbGFzaAogIyBwb3IgYmFycmEgaW52ZXJ0aWRhIGVtKysKICMgQ29ycmVnaWRvIGVuIHRvZGEgbGEgdHJhZHVjY2nzbi4gY2Z1Z2EKICM6IGJ1aWx0aW5zLmM6MzgzCi0jLCBmdXp6eQogbXNnaWQgIiIKICJDaGFuZ2UgdGhlIHNoZWxsIHdvcmtpbmcgZGlyZWN0b3J5LlxuIgogIiAgICBcbiIKQEAgLTI1NzUsMTggKzI2NjYsMjkgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKLSJDYW1iaWEgZWwgZGlyZWN0b3JpbyBhY3R1YWwgYSBESVIuICBMYSB2YXJpYWJsZSAkSE9NRSBlcyBlbCBkaXJlY3RvcmlvXG4iCi0iICAgIHBvciBkZWZlY3RvLiAgTGEgdmFyaWFibGUgQ0RQQVRIIGRlZmluZSBsYSBydXRhIGRlIGL6c3F1ZWRhIHBvciBlbFxuIgotIiAgICBkaXJlY3RvcmlvIHF1ZSBjb250aWVuZSBESVIuICBMb3Mgbm9tYnJlcyBhbHRlcm5hdGl2b3MgZGUgZGlyZWN0b3Jpb1xuIgotIiAgICBlbiBDRFBBVEggc2Ugc2VwYXJhbiBjb24gZG9zIHB1bnRvcyAoOikuICBVbiBub21icmUgZGUgZGlyZWN0b3JpbyBudWxvXG4iCi0iICAgIGVzIGlndWFsIHF1ZSBlbCBkaXJlY3RvcmlvIGFjdHVhbCwgcC5lLiBgLicgIFNpIERJUiBjb21pZW56YSBjb24gdW5hXG4iCi0iICAgIGRpYWdvbmFsICgvKSwgZW50b25jZXMgbm8gc2UgdXNhIENEUEFUSC4gIFNpIG5vIHNlIGVuY3VlbnRyYSBlbFxuIgotIiAgICBkaXJlY3RvcmlvLCB5IGxhIG9wY2nzbiBkZWwgc2hlbGwgYGNkYWJsZV92YXJzJyBlc3ThIGFjdGl2YSwgZW50b25jZXNcbiIKLSIgICAgdHJhdGEgbGEgcGFsYWJyYSBjb21vIHVuIG5vbWJyZSBkZSB2YXJpYWJsZS4gIFNpIGxhIHZhcmlhYmxlIHRpZW5lIHVuXG4iCi0iICAgIHZhbG9yLCBlbnRvbmNlcyBjZCBjYW1iaWEgYWwgdmFsb3IgZGUgZXNhIHZhcmlhYmxlLiAgTGEgb3BjafNuIC1QICIKLSJpbmRpY2FcbiIKLSIgICAgdXNhciBsYSBlc3RydWN0dXJhIGbtc2ljYSBkZSBkaXJlY3RvcmlvcyBlbiBsdWdhciBkZSBzZWd1aXIgbG9zIGVubGFjZXNcbiIKLSIgICAgc2ltYvNsaWNvczsgbGEgb3BjafNuIC1MIGZ1ZXJ6YSBxdWUgc2Ugc2lnYW4gbG9zIGVubGFjZXMgc2ltYvNsaWNvcy4iCisiQ2FtYmlhIGVsIGRpcmVjdG9yaW8gZGUgdHJhYmFqbyBkZWwgc2hlbGwuXG4iCisiICAgIFxuIgorIiAgICBDYW1iaWEgZWwgZGlyZWN0b3JpbyBhY3R1YWwgYSBESVIuICBESVIgcG9yIGRlZmVjdG8gZXMgZWwgdmFsb3IgZGUgbGFcbiIKKyIgICAgdmFyaWFibGUgZGUgc2hlbGwgSE9NRS5cbiIKKyIgICAgTGEgdmFyaWFibGUgQ0RQQVRIIGRlZmluZSBsYSBydXRhIGRlIGL6c3F1ZWRhIHBvciBlbCBkaXJlY3RvcmlvIHF1ZVxuIgorIiAgICBjb250aWVuZSBESVIuICBMb3Mgbm9tYnJlcyBhbHRlcm5hdGl2b3MgZGUgZGlyZWN0b3JpbyBlbiBDRFBBVEggc2VcbiIKKyIgICAgc2VwYXJhbiBjb24gZG9zIHB1bnRvcyAoOikuICBVbiBub21icmUgZGUgZGlyZWN0b3JpbyBudWxvIGVzIGlndWFsIHF1ZVxuIgorIiAgICBlbCBkaXJlY3RvcmlvIGFjdHVhbCAgU2kgRElSIGNvbWllbnphIGNvbiB1bmEgYmFycmEgaW5jbGluYWRhICgvKSxcbiIKKyIgICAgZW50b25jZXMgbm8gc2UgdXNhIENEUEFUSC5cbiIKKyIgICAgU2kgbm8gc2UgZW5jdWVudHJhIGVsIGRpcmVjdG9yaW8sIHkgbGEgb3BjafNuIGRlbCBzaGVsbCBgY2RhYmxlX3ZhcnMnXG4iCisiICAgIGVzdOEgYWN0aXZhLCBlbnRvbmNlcyBzZSB0cmF0YSBsYSBwYWxhYnJhIGNvbW8gdW4gbm9tYnJlIGRlIHZhcmlhYmxlLlxuIgorIiAgICBTaSBlc2EgdmFyaWFibGUgdGllbmUgdW4gdmFsb3IsIHNlIHV0aWxpemEgc3UgdmFsb3IgY29tbyBESVIuXG4iCisiICAgIFxuIgorIiAgICBPcGNpb25lczpcbiIKKyIgICAgICAgIC1MXHRmdWVyemEgYSBzZWd1aXIgbG9zIGVubGFjZXMgc2ltYvNsaWNvc1xuIgorIiAgICAgICAgLVBcdHVzYXIgbGEgZXN0cnVjdHVyYSBm7XNpY2EgZGUgZGlyZWN0b3Jpb3Mgc2luIHNlZ3VpciBsb3MgZW5sYWNlc1xuIgorIiAgICBcdHNpbWLzbGljb3NcbiIKKyIgICAgXG4iCisiICAgIExhIGFjY2nzbiBwb3IgZGVmZWN0byBlcyBzZWd1aXIgbG9zIGVubGFjZXMgc2ltYvNsaWNvcywgY29tbyBzaSBzZVxuIgorIiAgICBlc3BlY2lmaWNhcmEgYC1MJy5cbiIKKyIgICAgXG4iCisiICAgIEVzdGFkbyBkZSBzYWxpZGE6XG4iCisiICAgIERldnVlbHZlIDAgc2kgc2UgY2FtYmlhIGVsIGRpcmVjdG9yaW87IGRlIG90cmEgZm9ybWEgZXMgZGlmZXJlbnRlIGEgY2Vyby4iCiAKICM6IGJ1aWx0aW5zLmM6NDExCiBtc2dpZCAiIgpAQCAtMjYwMyw5ICsyNzA1LDIwIEBACiAiICAgIFJldHVybnMgMCB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgdGhlIGN1cnJlbnQgZGlyZWN0b3J5XG4iCiAiICAgIGNhbm5vdCBiZSByZWFkLiIKIG1zZ3N0ciAiIgorIk11ZXN0cmEgZWwgbm9tYnJlIGRlbCBkaXJlY3RvcmlvIGRlIHRyYWJham8gYWN0dWFsLlxuIgorIiAgICBcbiIKKyIgICAgT3BjaW9uZXM6XG4iCisiICAgICAgLUxcdG11ZXN0cmEgZWwgdmFsb3IgZGUgJFBXRCBzaSBub21icmEgYWwgZGlyZWN0b3JpbyBkZVxuIgorIiAgICBcdHRyYWJham8gYWN0dWFsXG4iCisiICAgICAgLVBcdG11ZXN0cmEgZWwgZGlyZWN0b3JpbyBm7XNpY28sIHNpbiBlbmxhY2VzIHNpbWLzbGljb3NcbiIKKyIgICAgXG4iCisiICAgIFBvciBkZWZlY3RvLCBgcHdkJyBzZSBjb21wb3J0YSBjb21vIHNpIHNlIGVzcGVjaWZpY2FyYSBgLUwnLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgMCBhIG1lbm9zIHF1ZSBzZSBkZSB1bmEgb3BjafNuIGluduFsaWRhIG8gbm8gc2UgcHVlZGEgbGVlclxuIgorIiAgICBlbCBkaXJlY3RvcmlvIGFjdHVhbC4iCiAKICM6IGJ1aWx0aW5zLmM6NDI4Ci0jLCBmdXp6eQogbXNnaWQgIiIKICJOdWxsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjYxMyw3ICsyNzI2LDEzIEBACiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKLW1zZ3N0ciAiU2luIGVmZWN0bzsgbGEgb3JkZW4gbm8gaGFjZSBuYWRhLiBEZXZ1ZWx2ZSB1biBj82RpZ28gZGUgZXN0YWRvIGNlcm8uIgorbXNnc3RyICIiCisiT3JkZW4gbnVsYS5cbiIKKyIgICAgXG4iCisiICAgIFNpbiBlZmVjdG87IGxhIG9yZGVuIG5vIGhhY2UgbmFkYS5cbiIKKyIgICAgXG4iCisiICAgIEVzdGFkbyBkZSBTYWxpZGE6XG4iCisiICAgIFNpZW1wcmUgY29uIOl4aXRvLiIKIAogIzogYnVpbHRpbnMuYzo0MzkKIG1zZ2lkICIiCkBAIC0yNjIyLDE1ICsyNzQxLDIyIEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICIiCisiRGV2dWVsdmUgdW4gcmVzdWx0YWRvIGNvbiDpeGl0by5cbiIKKyIgICAgXG4iCisiICAgIEVzdGFkbyBkZSBzYWxpZGE6XG4iCisiICAgIFNpZW1wcmUgY29uIOl4aXRvLiIKIAogIzogYnVpbHRpbnMuYzo0NDgKLSMsIGZ1enp5CiBtc2dpZCAiIgogIlJldHVybiBhbiB1bnN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIEFsd2F5cyBmYWlscy4iCi1tc2dzdHIgIkRldnVlbHZlIHVuIHJlc3VsdGFkbyBzaW4g6XhpdG8uIgorbXNnc3RyICIiCisiRGV2dWVsdmUgdW4gcmVzdWx0YWRvIHNpbiDpeGl0by5cbiIKKyIgICAgXG4iCisiICAgIEVzdGFkbyBkZSBzYWxpZGE6XG4iCisiICAgIFNpZW1wcmUgZmFsbGEuIgogCiAjOiBidWlsdGlucy5jOjQ1NwogbXNnaWQgIiIKQEAgLTI2NTAsMTEgKzI3NzYsMjcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgZXhpdCBzdGF0dXMgb2YgQ09NTUFORCwgb3IgZmFpbHVyZSBpZiBDT01NQU5EIGlzIG5vdCBmb3VuZC4iCiBtc2dzdHIgIiIKKyJFamVjdXRhIHVuYSBvcmRlbiBzaW1wbGUgbyBtdWVzdHJhIGluZm9ybWFjafNuIHNvYnJlIPNyZGVuZXMuXG4iCisiICAgIFxuIgorIiAgICBFamVjdXRhIGxhIE9SREVOIGNvbiBBUkd1bWVudG9zLCBzdXByaW1pZW5kbyBsYSBi+nNxdWVkYSBkZSBmdW5jaW9uZXNcbiIKKyIgICAgZGUgc2hlbGwsIG8gbXVlc3RyYSBpbmZvcm1hY2nzbiBzb2JyZSBsYXMg01JERU5lcyBlc3BlY2lmaWNhZGFzLiBTZSAiCisicHVlZGVcbiIKKyIgICAgdXNhciBwYXJhIGludm9jYXIg83JkZW5lcyBlbiBkaXNjbyBjdWFuZG8gZXhpc3RlIHVuYSBmdW5jafNuIGNvbiBlbCAiCisibWlzbW9cbiIKKyIgICAgbm9tYnJlLlxuIgorIiAgICBcbiIKKyIgICAgT3BjaW9uZXM6XG4iCisiICAgICAgLXBcdHVzYSB1biB2YWxvciBwb3IgZGVmZWN0byBwYXJhIFBBVEggcGFyYSBnYXJhbnRpemFyIHF1ZVxuIgorIiAgICBcdGVuY3VlbnRyZSB0b2RhcyBsYXMgdXRpbGlkYWRlcyBlc3ThbmRhclxuIgorIiAgICAgIC12XHRtdWVzdHJhIHVuYSBkZXNjcmlwY2nzbiBkZSBsYSBPUkRFTiBzaW1pbGFyIGEgbGEgb3JkZW5cbiIKKyIgICAgXHRpbnRlcm5hIGB0eXBlJ1xuIgorIiAgICAgIC1WXHRtdWVzdHJhIHVuYSBkZXNjcmlwY2nzbiBt4XMgZGV0YWxsYWRhIGRlIGNhZGEgT1JERU5cbiIKKyIgICAgXG4iCisiICAgIEVzdGFkbyBkZSBTYWxpZGE6XG4iCisiICAgIERldnVlbHZlIGVsIGVzdGFkbyBkZSBzYWxpZGEgZGUgbGEgT1JERU4sIG8gZmFsbGEgc2kgbm8gc2UgZW5jdWVudHJhXG4iCisiICAgIGxhIE9SREVOLiIKIAotIyBhcGFnYSAtPiBkZXNhY3RpdmEgZW0rCi0jIENvcnJlZ2lkbyBlbiB0b2RhIGxhIHRyYWR1Y2Np824uIGNmdWdhCiAjOiBidWlsdGlucy5jOjQ3NgotIywgZnV6enkKIG1zZ2lkICIiCiAiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKICIgICAgXG4iCkBAIC0yNjg5LDMxICsyODMxLDM5IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKLSJEZWNsYXJhIHZhcmlhYmxlcyB5L28gbGVzIGFzaWduYSBhdHJpYnV0b3MuIFNpIG5vIHNlIHByb3BvY2lvbmFcbiIKLSIgICAgbmluZ/puIE5BTUUsIGVudG9uY2VzIG11ZXN0cmEgbG9zIHZhbG9yZXMgZGUgbGFzIHZhcmlhYmxlcy5cbiIKLSIgICAgTGEgb3BjafNuIC1wIG1vc3RyYXLhIGxvcyBhdHJpYnV0b3MgeSB2YWxvcmVzIGRlIGNhZGEgTkFNRS5cbiIKKyJFc3RhYmxlY2UgdmFsb3JlcyBkZSB2YXJpYWJsZSB5IGF0cmlidXRvcy5cbiIKICIgICAgXG4iCi0iICAgIExhcyBvcGNpb25lcyBzb246XG4iCisiICAgIERlY2xhcmEgdmFyaWFibGVzIHkgbGVzIGRhIGF0cmlidXRvcy4gIFNpIG5vIHNlIGRhIG5pbmf6biBOT01CUkUsXG4iCisiICAgIG11ZXN0cmEgbG9zIGF0cmlidXRvcyB5IHZhbG9yZXMgZGUgdG9kYXMgbGFzIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCi0iICAgICAgLWFcdGhhY2UgYSBsb3MgTkFNRXMgbWF0cmljZXMgKHNpIHRpZW5lIHNvcG9ydGUpXG4iCi0iICAgICAgLWZcdHNlbGVjY2lvbmEgc29sYW1lbnRlIG5vbWJyZXMgZGUgZnVuY2lvbmVzXG4iCi0iICAgICAgLUZcdG11ZXN0cmEgbm9tYnJlcyBkZSBmdW5jaW9uZXMgKHkgbvptZXJvIGRlIGztbmVhIHkgbm9tYnJlIGRlXG4iCi0iICAgIFx0ZmljaGVybyBmdWVudGUgc2kgc2UgZXN04SBkZXB1cmFuZG8pIHNpbiBkZWZpbmljaW9uZXNcbiIKLSIgICAgICAtaVx0YXNpZ25hIGEgbG9zIE5BTUVzIGVsIGF0cmlidXRvIGBpbnRlZ2VyJ1xuIgotIiAgICAgIC1yXHRoYWNlIGEgbG9zIE5BTUVzIGRlIHPzbG8gbGVjdHVyYVxuIgotIiAgICAgIC10XHRhc2lnbmEgYSBsb3MgTkFNRXMgZWwgYXRyaWJ1dG8gYHRyYWNlJ1xuIgotIiAgICAgIC14XHRoYWNlIGEgbG9zIE5BTUVzIGV4cG9ydGFibGVzXG4iCisiICAgIE9wY2lvbmVzOlxuIgorIiAgICAgIC1mXHRyZXN0cmluZ2UgbGEgYWNjafNuIG8gbXVlc3RyYSBhIG5vbWJyZXMgeSBkZWZpbmljaW9uZXNcbiIKKyIgICAgXHRkZSBmdW5jaW9uZXNcbiIKKyIgICAgICAtRlx0cmVzdHJpbmdlIGxhIG11ZXN0cmEgYSBub21icmVzIGRlIGZ1bmNpb25lcyAoY29uIG76bWVybyBkZVxuIgorIiAgICBcdGztbmVhIHkgZmljaGVybyBmdWVudGUgYWwgZGVwdXJhcilcbiIKKyIgICAgICAtcFx0bXVlc3RyYSBsb3MgYXRyaWJ1dG9zIHkgdmFsb3IgZGUgY2FkYSBOT01CUkVcbiIKICIgICAgXG4iCi0iICAgIExhcyB2YXJpYWJsZXMgY29uIGVsIGF0cmlidXRvIGludGVnZXIgc2UgbGVzIGV2YWz6YSBhcml0bel0aWNhbWVudGVcbiIKLSIgICAgKHZlYSBgbGV0JykgY3VhbmRvIHNlIGFzaWduYSBsYSB2YXJpYWJsZS5cbiIKKyIgICAgT3BjaW9uZXMgcXVlIGVzdGFibGVjZW4gYXRyaWJ1dG9zOlxuIgorIiAgICAgIC1hXHRlc3RhYmxlY2UgTk9NQlJFcyBjb21vIG1hdHJpY2VzIGluZGl6YWRhcyAoc2kgc2UgYWRtaXRlbilcbiIKKyIgICAgICAtQVx0ZXN0YWJsZWNlIE5PTUJSRXMgY29tbyBtYXRyaWNlcyBhc29jaWF0aXZhcyAoc2kgc2UgYWRtaXRlbilcbiIKKyIgICAgICAtaVx0ZXN0YWJsZWNlIE5PTUJSRXMgY29uIGVsIGF0cmlidXRvIGBpbnRlZ2VyJ1xuIgorIiAgICAgIC1sXHRjb252aWVydGUgTk9NQlJFcyBhIG1pbvpzY3VsYXMgZW4gbGEgYXNpZ25hY2nzblxuIgorIiAgICAgIC1yXHRlc3RhYmxlY2UgTk9NQlJFcyBjb21vIGRlIHPzbG8gbGVjdHVyYVxuIgorIiAgICAgIC10XHRlc3RhYmxlY2UgTk9NQlJFcyBjb24gZWwgYXRyaWJ1dG8gYHRyYWNlJ1xuIgorIiAgICAgIC11XHRjb252aWVydGUgTk9NQlJFcyBhIG1hefpzY3VsYXMgZW4gbGEgYXNpZ25hY2nzblxuIgorIiAgICAgIC14XHRlc3RhYmxlY2UgTk9NQlJFcyBwYXJhIGV4cG9ydGFyXG4iCiAiICAgIFxuIgotIiAgICBDdWFuZG8gc2UgbXVlc3RyYW4gbG9zIHZhbG9yZXMgZGUgbGFzIHZhcmlhYmxlcywgLWYgbXVlc3RyYVxuIgotIiAgICBlbCBub21icmUgZGUgdW5hIGZ1bmNp824geSBzdSBkZWZpbmljafNuLiAgTGEgb3BjafNuIC1GIHJlc3RyaW5nZVxuIgotIiAgICBhIG1vc3RyYXIgc29sYW1lbnRlIGVsIG5vbWJyZSBkZSBsYSBmdW5jafNuLlxuIgorIiAgICBTaSB1c2EgYCsnIGVuIGx1Z2FyIGRlIGAtJyBkZXNhY3RpdmEgZWwgYXRyaWJ1dG8gZGFkby5cbiIKICIgICAgXG4iCi0iICAgIEFsIHVzYXIgYCsnIGVuIGx1Z2FyIGRlIGAtJyBkZXNhY3RpdmEgZWwgYXRyaWJ1dG8gZGFkby4gIEN1YW5kbyBzZVxuIgotIiAgICB1c2EgZW4gdW5hIGZ1bmNp824sIGhhY2UgYSBsb3MgTkFNRXMgbG9jYWxlcywgY29tbyBzdWNlZGUgY29uIGxhXG4iCi0iICAgIG9yZGVuIGBsb2NhbCcuIgorIiAgICBMYXMgdmFyaWFibGVzIGNvbiBlbCBhdHJpYnV0byBpbnRlZ2VyIHJlYWxpemFuIGV2YWx1YWNp824gYXJpdG3pdGljYVxuIgorIiAgICAodmVhIGxhIG9yZGVuIGBsZXQnKSBjdWFuZG8gc2UgYXNpZ25hIHVuIHZhbG9yIGEgbGEgdmFyaWFibGUuXG4iCisiICAgIFxuIgorIiAgICBDdWFuZG8gc2UgdXNhIGVuIHVuYSBmdW5jafNuLCBgZGVjbGFyZScgaGFjZSBsb2NhbGVzIGEgbG9zIE5PTUJSRXMsXG4iCisiICAgIGNvbW8gc3VjZWRlIGNvbiBsYSBvcmRlbiBgbG9jYWwnLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgY29uIOl4aXRvIGEgbWVub3MgcXVlIHNlIGRlIHVuYSBvcGNp824gaW524WxpZGEgb1xuIgorIiAgICBzdWNlZGEgdW4gZXJyb3IuIgogCiAjOiBidWlsdGlucy5jOjUxMgogbXNnaWQgIiIKQEAgLTI3MjEsNiArMjg3MSw5IEBACiAiICAgIFxuIgogIiAgICBPYnNvbGV0ZS4gIFNlZSBgaGVscCBkZWNsYXJlJy4iCiBtc2dzdHIgIiIKKyJFc3RhYmxlY2UgdmFsb3JlcyBkZSB2YXJpYWJsZXMgeSBhdHJpYnV0b3MuXG4iCisiICAgIFxuIgorIiAgICBPYnNvbGV0by4gIENvbnN1bHRlIGBoZWxwIGRlY2xhcmUnLiIKIAogIzogYnVpbHRpbnMuYzo1MjAKIG1zZ2lkICIiCkBAIC0yNzM2LDkgKzI4ODksMTkgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCwgYW4gZXJyb3Igb2NjdXJzLFxuIgogIiAgICBvciB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uLiIKIG1zZ3N0ciAiIgorIkRlZmluZSB2YXJpYWJsZXMgbG9jYWxlcy5cbiIKKyIgICAgXG4iCisiICAgIENyZWEgdW5hIHZhcmlhYmxlIGxvY2FsIGxsYW1hZGEgTk9NQlJFLCB5IGxlIGRhIHVuIFZBTE9SLiAgT1BDSdNOIHB1ZWRlXG4iCisiICAgIHNlciBjdWFscXVpZXIgb3BjafNuIGFjZXB0YWRhIHBvciBgZGVjbGFyZScuXG4iCisiICAgIFxuIgorIiAgICBMYXMgdmFyaWFibGVzIGxvY2FsZXMgc/NsbyBzZSBwdWVkZW4gdXNhciBlbiB1bmEgZnVuY2nzbjsgc29uIHZpc2libGVzXG4iCisiICAgIHPzbG8gZW4gbGEgZnVuY2nzbiBkb25kZSBzZSBkZWZpbmVuIHkgc3VzIGhpam9zLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgY29uIOl4aXRvIGEgbWVub3MgcXVlIHNlIGRlIHVuYSBvcGNp824gaW524WxpZGEsIHN1Y2VkYVxuIgorIiAgICB1biBlcnJvciwgbyBlbCBzaGVsbCBubyBlc3TpIGVqZWN1dGFuZG8gdW5hIGZ1bmNp824uIgogCiAjOiBidWlsdGlucy5jOjUzNwotIywgZnV6enkKIG1zZ2lkICIiCiAiV3JpdGUgYXJndW1lbnRzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuXG4iCiAiICAgIFxuIgpAQCAtMjc2OCwyNSArMjkzMSwzNiBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIHdyaXRlIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKLSJNdWVzdHJhIGxvcyBBUkdzLiAgU2kgc2UgZXNwZWNpZmljYSAtbiwgc2Ugc3VwcmltZSBlbCBjYXLhY3RlciBmaW5hbCBkZVxuIgotIiAgICBmaW4gZGUgbO1uZWEuICBTaSBzZSBlc3BlY2lmaWNhIGxhIG9wY2nzbiAtZSwgc2UgYWN0aXZhIGxhXG4iCi0iICAgIGludGVycHJldGFjafNuIGRlIGxvcyBzaWd1aWVudGVzIGNhcmFjdGVyZXMgZGUgZXNjYXBlIGNvblxuIgotIiAgICBiYXJyYSBpbnZlcnRpZGE6XG4iCi0iICAgIFx0XFxhXHRhbGVydGEgKHRpbWJyZSlcbiIKLSIgICAgXHRcXGJcdGVzcGFjaW8gaGFjaWEgYXRy4XNcbiIKLSIgICAgXHRcXGNcdHN1cHJpbWUgZWwgY2Fy4WN0ZXIgZmluYWwgZGUgZmluIGRlIGztbmVhXG4iCi0iICAgIFx0XFxFXHRjYXLhY3RlciBkZSBlc2NhcGVcbiIKLSIgICAgXHRcXGZcdGFsaW1lbnRhY2nzbiBkZSBwYXBlbFxuIgotIiAgICBcdFxcblx0bO1uZWEgbnVldmFcbiIKLSIgICAgXHRcXHJcdHJldG9ybm8gZGUgY2Fycm9cbiIKLSIgICAgXHRcXHRcdHRhYnVsYWRvciBob3Jpem9udGFsXG4iCi0iICAgIFx0XFx2XHR0YWJ1bGFkb3IgdmVydGljYWxcbiIKLSIgICAgXHRcXFxcXHRiYXJyYSBpbnZlcnRpZGFcbiIKLSIgICAgXHRcXDBubm5cdGVsIGNhcuFjdGVyIGN1eW8gY/NkaWdvIEFTQ0lJIGVzIE5OTiAob2N0YWwpLiAgTk5OIHB1ZWRlIHNlclxuIgotIiAgICBcdFx0ZGUgMCBhIDMgZO1naXRvcyBvY3RhbGVzXG4iCisiRXNjcmliZSBhcmd1bWVudG9zIGVuIGxhIHNhbGlkYSBlc3ThbmRhci5cbiIKICIgICAgXG4iCi0iICAgIFB1ZWRlIGRlc2FjdGl2YXIgZXhwbO1jaXRhbWVudGUgbGEgaW50ZXJwcmV0YWNp824gZGUgbG9zIGNhcmFjdGVyZXNcbiIKLSIgICAgYXJyaWJhIG1lbmNpb25hZG9zIGNvbiBsYSBvcGNp824gLUUuIgorIiAgICBNdWVzdHJhIGxvcyBBUkd1bWVudG9zIGVuIGxhIHNhbGlkYSBlc3ThbmRhciBzZWd1aWRvcyBwb3IgdW4gY2Fy4WN0ZXJcbiIKKyIgICAgZGUgZmluIGRlIGztbmVhLlxuIgorIiAgICBPcGNpb25lczpcbiIKKyIgICAgICAtblx0bm8gYWdyZWdhIHVuIGNhcuFjdGVyIGRlIGZpbiBkZSBs7W5lYVxuIgorIiAgICAgIC1lXHRhY3RpdmEgbGEgaW50ZXJwcmV0YWNp824gZGUgY2FyYWN0ZXJlcyBkZSBlc2NhcGUgZGVcbiIKKyIgICAgXHRkZSBiYXJyYSBpbnZlcnRpZGFcbiIKKyIgICAgICAtRVx0ZGVzYWN0aXZhIGV4cGztY2l0YW1lbnRlIGxhIGludGVycHJldGFjafNuIGRlIGNhcmFjdGVyZXMgZGVcbiIKKyIgICAgXHRkZSBlc2NhcGUgZGUgYmFycmEgaW52ZXJ0aWRhXG4iCisiICAgIFxuIgorIiAgICBgZWNobycgaW50ZXJwcmV0YSBsb3Mgc2lndWllbnRlcyBjYXJhY3RlcmVzIGRlIGVzY2FwZSBkZSBiYXJyYSAiCisiaW52ZXJ0aWRhOlxuIgorIiAgICAgXFxhXHRhbGVydGEgKHRpbWJyZSlcbiIKKyIgICAgIFxcYlx0ZXNwYWNpbyBoYWNpYSBhdHLhc1xuIgorIiAgICAgXFxjXHRzdXByaW1lIHRvZGEgc2FsaWRhIGEgY29udGludWFjafNuXG4iCisiICAgICBcXEVcdGNhcuFjdGVyIGRlIGVzY2FwZVxuIgorIiAgICAgXFxmXHRhbGltZW50YWNp824gZGUgcGFwZWxcbiIKKyIgICAgIFxcblx0bO1uZWEgbnVldmFcbiIKKyIgICAgIFxcclx0cmV0b3JubyBkZSBjYXJyb1xuIgorIiAgICAgXFx0XHR0YWJ1bGFkb3IgaG9yaXpvbnRhbFxuIgorIiAgICAgXFx2XHR0YWJ1bGFkb3IgdmVydGljYWxcbiIKKyIgICAgIFxcXFxcdGJhcnJhIGludmVydGlkYVxuIgorIiAgICAgXFwwbm5uXHRlbCBjYXLhY3RlciBjdXlvIGPzZGlnbyBBU0NJSSBlcyBOTk4gKG9jdGFsKS4gIE5OTiBwdWVkZSBzZXJcbiIKKyIgICAgXHRkZSAwIGEgMyBk7WdpdG9zIG9jdGFsZXNcbiIKKyIgICAgIFxceEhIXHRlbCBjYXLhY3RlciBkZSBvY2hvIGJpdHMgY3V5byB2YWxvciBlcyBISCAoaGV4YWRlY2ltYWwpLiAgSEhcbiIKKyIgICAgXHRwdWVkZSBzZXIgZGUgdW5vIG8gZG9zIGTtZ2l0b3MgaGV4YWRlY2ltYWxlc1xuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIHNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgY29uIOl4aXRvIGEgbWVub3MgcXVlIHN1Y2VkYSB1biBlcnJvciBkZSBlc2NyaXR1cmEuIgogCiAjOiBidWlsdGlucy5jOjU3MQogbXNnaWQgIiIKQEAgLTI4MDAsNiArMjk3NCwxNSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIHdyaXRlIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKKyJFc2NyaWJlIGFyZ3VtZW50b3MgZW4gbGEgc2FsaWRhIGVzdOFuZGFyLlxuIgorIiAgICBcbiIKKyIgICAgTXVlc3RyYSBsb3MgQVJHdW1lbnRvcyBlbiBsYSBzYWxpZGEgZXN04W5kYXIgc2VndWlkb3MgcG9yIHVuIGNhcuFjdGVyXG4iCisiICAgIGRlIGZpbiBkZSBs7W5lYS5cbiIKKyIgICAgT3BjaW9uZXM6XG4iCisiICAgICAgLW5cdG5vIGFncmVnYSB1biBjYXLhY3RlciBkZSBmaW4gZGUgbO1uZWFcbiIKKyIgICAgXG4iCisiICAgIEVzdGFkbyBkZSBzYWxpZGE6XG4iCisiICAgIERldnVlbHZlIGNvbiDpeGl0byBhIG1lbm9zIHF1ZSBzdWNlZGEgdW4gZXJyb3IgZGUgZXNjcml0dXJhLiIKIAogIzogYnVpbHRpbnMuYzo1ODYKIG1zZ2lkICIiCkBAIC0yODI3LDYgKzMwMTAsMzQgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyBub3QgYSBzaGVsbCBidWlsdGluIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKKyJBY3RpdmEgeSBkZXNhY3RpdmEgbGFzIPNyZGVuZXMgaW50ZXJuYXMgZGVsIHNoZWxsLlxuIgorIiAgICBcbiIKKyIgICAgQWN0aXZhIHkgZGVzYWN0aXZhIGxhcyDzcmRlbmVzIGludGVybmFzIGRlbCBzaGVsbC4gIEVsIGRlc2FjdGl2YXIgbGVcbiIKKyIgICAgcGVybWl0ZSBlamVjdXRhciB1bmEgb3JkZW4gZGVsIGRpc2NvIHF1ZSB0ZW5nYSBlbCBtaXNtbyBub21icmUgcXVlXG4iCisiICAgIGxhIG9yZGVuIGludGVybmEgZGVsIHNoZWxsLCBzaW4gdXNhciBlbCBub21icmUgZGUgcnV0YSBjb21wbGV0by5cbiIKKyIgICAgXG4iCisiICAgIE9wY2lvbmVzOlxuIgorIiAgICAgIC1hXHRtdWVzdHJhIGxhIGxpc3RhIGRlIPNyZGVuZXMgaW50ZXJuYXMgaW5kaWNhbmRvIHNpIGVzdOFuIGFjdGl2YXMgbyAiCisibm9cbiIKKyIgICAgICAtblx0ZGVzYWN0aXZhIGNhZGEgTk9NQlJFIG8gbXVlc3RyYSBsYSBsaXN0YSBkZSDzcmRlbmVzIGludGVybmFzXG4iCisiICAgIFx0ZGVzYWN0aXZhZGFzXG4iCisiICAgICAgLXBcdG11ZXN0cmEgbGEgbGlzdGEgZGUg83JkZW5lcyBpbnRlcm5hcyBlbiB1bmEgZm9ybWEgcmV1c2FibGVcbiIKKyIgICAgICAtc1x0bXVlc3RyYSBz82xvIGxvcyBub21icmVzIGRlIGxhcyDzcmRlbmVzIGludGVybmFzIGBlc3BlY2lhbGVzJyAiCisiUG9zaXhcbiIKKyIgICAgXG4iCisiICAgIE9wY2lvbmVzIHF1ZSBjb250cm9sYW4gbGEgY2FyZ2EgZGlu4W1pY2E6XG4iCisiICAgICAgLWZcdGNhcmdhIGxhIG9yZGVuIGludGVybmEgTk9NQlJFIGRlbCBvYmpldG8gY29tcGFydGlkbyBGSUNIRVJPXG4iCisiICAgICAgLWRcdGJvcnJhIHVuYSBvcmRlbiBpbnRlcm5hIGNhcmdhZGEgY29uIC1mXG4iCisiICAgIFxuIgorIiAgICBTaW4gb3BjaW9uZXMsIHNlIGFjdGl2YSBjYWRhIE5PTUJSRS5cbiIKKyIgICAgXG4iCisiICAgIFBhcmEgdXNhciBgdGVzdCcgcXVlIHNlIGVuY3VlbnRyYSBlbiAkUEFUSCBlbiBsdWdhciBkZSBsYSBvcmRlbiBpbnRlcm5hXG4iCisiICAgIGRlbCBzaGVsbCwgZWplY3V0ZSBgZW5hYmxlIC1uIHRlc3QnLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgY29uIOl4aXRvIGEgbWVub3MgcXVlIE5PTUJSRSBubyBzZWEgdW5hIG9yZGVuIGludGVybmEgZGVsICIKKyJzaGVsbFxuIgorIiAgICBvIHN1Y2VkYSB1biBlcnJvci4iCiAKICM6IGJ1aWx0aW5zLmM6NjE0CiBtc2dpZCAiIgpAQCAtMjgzOSw2ICszMDUwLDE0IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIGV4aXQgc3RhdHVzIG9mIGNvbW1hbmQgb3Igc3VjY2VzcyBpZiBjb21tYW5kIGlzIG51bGwuIgogbXNnc3RyICIiCisiRWplY3V0YSBhcmd1bWVudG9zIGNvbW8gdW5hIG9yZGVuIGRlIHNoZWxsLlxuIgorIiAgICBcbiIKKyIgICAgQ29tYmluYSBsb3MgQVJHdW1lbnRvcyBlbiB1bmEgc29sYSBjYWRlbmEsIHVzYSBlbCByZXN1bHRhZG8gY29tbyAiCisiZW50cmFkYVxuIgorIiAgICBwYXJhIGVsIHNoZWxsLCB5IGVqZWN1dGEgbGFzIPNyZGVuZXMgcmVzdWx0YW50ZXMuXG4iCisiICAgIFxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICBEZXZ1ZWx2ZSBlbCBlc3RhZG8gZGUgc2FsaWRhIGRlIGxhIG9yZGVuIG8g6XhpdG8gc2kgbGEgb3JkZW4gZXMgbnVsYS4iCiAKICMgImEgc2VyIHJlY29ub2NpZGFzIiBubyBlc3ThIGVuIGVzcGHxb2wuCiAjIFlvIHBvbmRy7WEgImxhcyBsZXRyYXMgZGUgb3BjafNuIHF1ZSBzZSByZWNvbm9jZW4iLiBzdgpAQCAtMjg0Niw3ICszMDY1LDYgQEAKICMgZGFyIGFyZ3VtZW50b3MgLT4gZXNwZWNpZmljYXIgZW0rCiAjIERlIGFjdWVyZG8uIGNmdWdhCiAjOiBidWlsdGlucy5jOjYyNgotIywgZnV6enkKIG1zZ2lkICIiCiAiUGFyc2Ugb3B0aW9uIGFyZ3VtZW50cy5cbiIKICIgICAgXG4iCkBAIC0yODg2LDMxICszMTA0LDMyIEBACiAiICAgIFJldHVybnMgc3VjY2VzcyBpZiBhbiBvcHRpb24gaXMgZm91bmQ7IGZhaWxzIGlmIHRoZSBlbmQgb2Ygb3B0aW9ucyBpc1xuIgogIiAgICBlbmNvdW50ZXJlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCi0iR2V0b3B0cyBzZSB1c2EgcGFyYSBkZWNvZGlmaWNhciBwYXLhbWV0cm9zIHBvc2ljaW9uYWxlcyBlbiBndWlvbmVzIGRlICIKLSJzaGVsbC5cbiIKKyJEZWNvZGlmaWNhIGFyZ3VtZW50b3MgZGUgb3BjafNuLlxuIgorIlxuIgorIiAgICBHZXRvcHRzIHNlIHVzYSBlbiBwcm9jZWRpbWllbnRvcyBkZWwgc2hlbGwgcGFyYSBkZWNvZGlmaWNhciBwYXLhbWV0cm9zXG4iCisiICAgIHBvc2ljaW9uYWxlcyBjb21vIG9wY2lvbmVzLlxuIgogIiAgICBcbiIKLSIgICAgT1BUU1RSSU5HIGNvbnRpZW5lIGxhcyBsZXRyYXMgZGUgb3BjafNuIHBhcmEgcmVjb25vY2VyOyBzaSB1bmEgbGV0cmFcbiIKLSIgICAgZXMgc2VndWlkYSBwb3IgZG9zIHB1bnRvcywgc2UgZXNwZXJhIHF1ZSBsYSBvcGNp824gdGVuZ2EgdW5cbiIKLSIgICAgYXJndW1lbnRvLCBkZWwgY3VhbCBzZSBkZWJlIHNlcGFyYXIgY29uIGVzcGFjaW9zIGVuIGJsYW5jby5cbiIKKyIgICAgQ0FERU5BX09QQ0lPTkVTIGNvbnRpZW5lIGxhcyBsZXRyYXMgZGUgb3BjafNuIHBhcmEgcmVjb25vY2VyOyBzaVxuIgorIiAgICB1bmEgbGV0cmEgZXMgc2VndWlkYSBwb3IgZG9zIHB1bnRvcywgc2UgZXNwZXJhIHF1ZSBsYSBvcGNp824gdGVuZ2FcbiIKKyIgICAgdW4gYXJndW1lbnRvLCBkZWwgY3VhbCBzZSBkZWJlIHNlcGFyYXIgY29uIGVzcGFjaW9zIGVuIGJsYW5jby5cbiIKICIgICAgXG4iCiAiICAgIENhZGEgdmV6IHF1ZSBzZSBpbnZvY2EsIGdldG9wdHMgY29sb2NhcuEgbGEgc2lndWllbnRlIG9wY2nzbiBlbiBsYVxuIgotIiAgICB2YXJpYWJsZSBkZSBzaGVsbCAkbmFtZSwgaW5pY2lhbGl6YW5kbyBuYW1lIHNpIG5vIGV4aXN0ZSwgeSBlbFxuIgotIiAgICDtbmRpY2UgZGVsIHNpZ3VlbnRlIGFyZ3VtZW50byBhIHNlciBwcm9jZXNhZG8gZW4gbGEgdmFyaWFibGUgZGVcbiIKLSIgICAgc2hlbGwgT1BUSU5ELiAgT1BUSU5EIHNlIGluaWNpYWxpemEgYSAxIGNhZGEgdmV6IHF1ZSBzZSBpbnZvY2EgYWxcbiIKLSIgICAgc2hlbGwsIG8gYSB1biBndWnzbiBkZSBzaGVsbC4gIEN1YW5kbyB1bmEgb3BjafNuIHJlcXVpZXJlIHVuXG4iCi0iICAgIGFyZ3VtZW50bywgZ2V0b3B0cyBjb2xvY2EgZXNlIGFyZ3VtZW50byBlbiBsYSB2YXJpYWJsZSBkZSBzaGVsbFxuIgotIiAgICBPUFRBUkcuXG4iCisiICAgIHZhcmlhYmxlIGRlIHNoZWxsICRub21icmUsIGluaWNpYWxpemFuZG8gbm9tYnJlIHNpIG5vIGV4aXN0ZSwgeSBlbFxuIgorIiAgICDtbmRpY2UgZGVsIHNpZ3VpZW50ZSBhcmd1bWVudG8gYSBzZXIgcHJvY2VzYWRvIGVuIGxhIHZhcmlhYmxlIGRlXG4iCisiICAgIHNoZWxsIE9QVElORC4gIE9QVElORCBzZSBpbmljaWFsaXphIGEgMSBjYWRhIHZleiBxdWUgc2UgaW52b2NhIGVsXG4iCisiICAgIHNoZWxsLCBvIHVuIGd1afNuIGRlIHNoZWxsLiAgQ3VhbmRvIHVuYSBvcGNp824gcmVxdWllcmUgdW4gYXJndW1lbnRvLFxuIgorIiAgICBnZXRvcHRzIGNvbG9jYSBlc2UgYXJndW1lbnRvIGVuIGxhIHZhcmlhYmxlIGRlIHNoZWxsIE9QVEFSRy5cbiIKICIgICAgXG4iCiAiICAgIGdldG9wdHMgcmVwb3J0YSBlcnJvcmVzIGVuIHVuYSBkZSBsYXMgZG9zIGZvcm1hcyBzaWd1aWVudGVzLiAgU2lcbiIKICIgICAgZWwgcHJpbWVyIGNhcuFjdGVyIGRlIE9QVFNUUklORyBlcyBkb3MgcHVudG9zLCBnZXRvcHRzIHVzYSBlbFxuIgogIiAgICBhdmlzbyBkZSBlcnJvcmVzIHNpbGVuY2lvc28uICBFbiBlc3RlIG1vZG8sIG5vIHNlIG11ZXN0cmFuXG4iCiAiICAgIG1lbnNhamVzIGRlIGVycm9yLiAgU2kgc2UgZW5jdWVudHJhIHVuYSBvcGNp824gaW524WxpZGEsIGdldG9wdHNcbiIKICIgICAgY29sb2NhIGVsIGNhcuFjdGVyIGRlIG9wY2nzbiBlbmNvbnRyYWRvIGVuIE9QVEFSRy4gIFNpIG5vIHNlXG4iCi0iICAgIGVuY3VlbnRyYSB1biBhcmd1bWVudG8gbmVjZXNhcmlvLCBnZXRvcHRzIGNvbG9jYSAnOicgZW4gTkFNRSB5XG4iCi0iICAgIGRlZmluZSBPUFRBUkcgY29tbyBlbCBjYXLhY3RlciBkZSBvcGNp824gZW5jb250cmFkby4gIFNpIGdldG9wdHMgbm9cbiIKKyIgICAgZW5jdWVudHJhIGVsIGFyZ3VtZW50byBuZWNlc2FyaW8sIGdldG9wdHMgY29sb2NhICc6JyBlbiBOT01CUkUgeVxuIgorIiAgICBkZWZpbmUgT1BUQVJHIGNvbiBlbCBjYXLhY3RlciBkZSBvcGNp824gZW5jb250cmFkby4gIFNpIGdldG9wdHMgbm9cbiIKICIgICAgZXN04SBlbiBtb2RvIHNpbGVuY2lvc28sIHkgc2UgZW5jdWVudHJhIHVuYSBvcGNp824gaW524WxpZGEsIGdldG9wdHNcbiIKLSIgICAgY29sb2NhICc/JyBlbiBOQU1FIHkgYm9ycmEgT1BUQVJHLiAgU2kgbm8gc2UgZW5jdWVudHJhIHVuIGFyZ3VtZW50b1xuIgotIiAgICBuZWNlc2FyaW8sIHNlIGNvbG9jYSB1biAnPycgZW4gTkFNRSwgc2UgYm9ycmEgT1BUQVJHLCB5IHNlIG11ZXN0cmFcbiIKKyIgICAgY29sb2NhICc/JyBlbiBOT01CUkUgeSBib3JyYSBPUFRBUkcuICBTaSBubyBzZSBlbmN1ZW50cmEgdW4gYXJndW1lbnRvXG4iCisiICAgIG5lY2VzYXJpbywgc2UgY29sb2NhICc/JyBlbiBOT01CUkUsIHNlIGJvcnJhIE9QVEFSRywgeSBzZSBtdWVzdHJhXG4iCiAiICAgIHVuIG1lbnNhamUgZGUgZGlhZ27zc3RpY28uXG4iCiAiICAgIFxuIgogIiAgICBTaSBsYSB2YXJpYWJsZSBkZSBzaGVsbCBPUFRFUlIgdGllbmUgZWwgdmFsb3IgMCwgZ2V0b3B0cyBkZXNhY3RpdmFcbiIKQEAgLTI5MTksNyArMzEzOCwxMSBAQAogIiAgICBcbiIKICIgICAgR2V0b3B0cyBub3JtYWxtZW50ZSBjb21wYXJhIGxvcyBwYXLhbWV0cm9zIGRlIHBvc2ljafNuICgkMCAtICQ5KSxcbiIKICIgICAgcGVybyBzaSBzZSBlc3BlY2lmaWNhbiBt4XMgYXJndW1lbnRvcywg6XN0b3Mgc2UgY29tcGFyYW4gZW4gbHVnYXJcbiIKLSIgICAgZGUgbG9zIHByaW1lcm9zLiIKKyIgICAgZGUgbG9zIHByaW1lcm9zLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgY29uIOl4aXRvIHNpIHNlIGVuY3VlbnRyYSB1bmEgb3BjafNuOyBmYWxsYSBzaSBzZSBlbmN1ZW50cmFcbiIKKyIgICAgZWwgZmluYWwgZGUgbGFzIG9wY2lvbmVzIG8gc3VjZWRlIHVuIGVycm9yLiIKIAogIzogYnVpbHRpbnMuYzo2NjgKIG1zZ2lkICIiCkBAIC0yOTQzLDE2ICszMTY2LDM2IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgQ09NTUFORCBpcyBub3QgZm91bmQgb3IgYSByZWRpcmVjdGlvbiBlcnJvciAiCiAib2NjdXJzLiIKIG1zZ3N0ciAiIgorIlJlZW1wbGF6YSBlbCBzaGVsbCBjb24gbGEgb3JkZW4gZGFkYS5cbiIKKyIgICAgXG4iCisiICAgIEVqZWN1dGEgbGEgT1JERU4sIHJlZW1wbGF6YW5kbyBlc3RlIHNoZWxsIGNvbiBlbCBwcm9ncmFtYSBlc3BlY2lmaWNhZG8uXG4iCisiICAgIExvcyBBUkdVTUVOVE9TIHNlIHZ1ZWx2ZW4gbG9zIGFyZ3VtZW50b3MgZGUgbGEgT1JERU4uICBTaSBubyBzZVxuIgorIiAgICBlc3BlY2lmaWNhIGxhIE9SREVOLCBjdWFscXVpciByZWRpcmVjY2nzbiB0b21hIGVmZWN0byBlbiBlbCBzaGVsbCAiCisiYWN0dWFsLlxuIgorIiAgICBcbiIKKyIgICAgT3BjaW9uZXM6XG4iCisiICAgICAgLWEgbm9tYnJlXHRwYXNhIGVsIE5PTUJSRSBjb21vIGVsIGFyZ3VtZW50byBjZXJvIGRlIGxhIE9SREVOXG4iCisiICAgICAgLWNcdFx0ZWplY3V0YSBsYSBPUkRFTiBlbiB1biBhbWJpZW50ZSB2YWPtb1xuIgorIiAgICAgIC1sXHRcdGNvbG9jYSB1biBndWnzbiBlbiBlbCBhcmd1bWVudG8gY2VybyBkZSBsYSBPUkRFTlxuIgorIiAgICBcbiIKKyIgICAgU2kgbGEgb3JkZW4gbm8gc2UgcHVlZGUgZWplY3V0YXIsIHRlcm1pbmEgdW4gc2hlbGwgbm8gaW50ZXJhY3Rpdm8sXG4iCisiICAgIGEgbWVub3MgcXVlIGxhIG9wY2nzbiBkZSBzaGVsbCBgZXhlY2ZhaWwnIGVzdOkgYWN0aXZhLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUg6XhpdG8gYSBtZW5vcyBxdWUgbm8gc2UgZW5jdWVudHJlIGxhIE9SREVOIG8gcXVlIHN1Y2VkYSB1blxuIgorIiAgICBlcnJvciBkZSByZWRpcmVjY2nzbi4iCiAKICM6IGJ1aWx0aW5zLmM6Njg5Ci0jLCBmdXp6eQogbXNnaWQgIiIKICJFeGl0IHRoZSBzaGVsbC5cbiIKICIgICAgXG4iCiAiICAgIEV4aXRzIHRoZSBzaGVsbCB3aXRoIGEgc3RhdHVzIG9mIE4uICBJZiBOIGlzIG9taXR0ZWQsIHRoZSBleGl0IHN0YXR1c1xuIgogIiAgICBpcyB0aGF0IG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCi0iVGVybWluYSBlbCBzaGVsbCBjb24gdW4gZXN0YWRvIGRlIE4uICBTaSBzZSBvbWl0ZSBOLCBlbCBlc3RhZG8gZGUgc2FsaWRhXG4iCisiVGVybWluYSBlbCBzaGVsbC5cbiIKKyIgICAgXG4iCisiICAgIFRlcm1pbmEgZWwgc2hlbGwgY29uIHVuIGVzdGFkbyBkZSBOLiAgU2kgc2Ugb21pdGUgTiwgZWwgZXN0YWRvIGRlICIKKyJzYWxpZGFcbiIKICIgICAgZXMgZWwgbWlzbW8gZGUgbGEg+mx0aW1hIG9yZGVuIGVqZWN1dGFkYS4iCiAKICM6IGJ1aWx0aW5zLmM6Njk4CkBAIC0yOTYzLDkgKzMyMDYsMTIgQEAKICJleGVjdXRlZFxuIgogIiAgICBpbiBhIGxvZ2luIHNoZWxsLiIKIG1zZ3N0ciAiIgorIlRlcm1pbmEgdW4gc2hlbGwgZGUgZW50cmFkYS5cbiIKKyIgICAgXG4iCisiICAgIFRlcm1pbmEgdW4gc2hlbGwgZGUgZW50cmFkYSBjb24gdW4gZXN0YWRvIGRlIHNhbGlkYSBkZSBOLiBEZXZ1ZWx2ZSB1blxuIgorIiAgICBlcnJvciBzaSBubyBzZSBlamVjdXRhIGVuIHVuIHNoZWxsIGRlIGVudHJhZGEuIgogCiAjOiBidWlsdGlucy5jOjcwOAotIywgZnV6enkKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBleGVjdXRlIGNvbW1hbmRzIGZyb20gdGhlIGhpc3RvcnkgbGlzdC5cbiIKICIgICAgXG4iCkBAIC0yOTk0LDI5ICszMjQwLDM0IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyBvciBzdGF0dXMgb2YgZXhlY3V0ZWQgY29tbWFuZDsgbm9uLXplcm8gaWYgYW4gZXJyb3IgIgogIm9jY3Vycy4iCiBtc2dzdHIgIiIKLSJmYyBzZSB1c2EgcGFyYSBsaXN0YXIgbyBlZGl0YXIgeSByZWVqZWN1dGFyIPNyZGVuZXMgZGUgbGEgbGlzdGEgZGUgIgotImhpc3RvcmlhLlxuIgotIiAgICBGSVJTVCB5IExBU1QgcHVlZGVuIHNlciBu+m1lcm9zIHF1ZSBlc3BlY2lmaWNhbiBlbCByYW5nbywgbyBGSVJTVCBwdWVkZVxuIgotIiAgICBzZXIgdW5hIGNhZGVuYSwgcXVlIHNpZ25pZmljYSBsYSBvcmRlbiBt4XMgcmVjaWVudGUgcXVlIGNvbWllbmNlIGNvblxuIgotIiAgICBlc2EgY2FkZW5hLlxuIgorIk11ZXN0cmEgbyBlamVjdXRhIPNyZGVuZXMgZGUgbGEgbGlzdGEgZGUgaGlzdG9yaWEuXG4iCiAiICAgIFxuIgotIiAgICAgICAtZSBFTkFNRSBzZWxlY2Npb25hIGVsIGVkaXRvciBhIHVzYXIuICBQb3IgZGVmZWN0byBlcyBGQ0VESVQsXG4iCi0iICAgICAgICAgIGRlc3B16XMgRURJVE9SLCBkZXNwdelzIHZpLlxuIgorIiAgICBmYyBzZSB1c2EgcGFyYSBsaXN0YXIgbyBlZGl0YXIgeSByZWVqZWN1dGFyIPNyZGVuZXMgZGUgbGEgbGlzdGEgZGVcbiIKKyIgICAgaGlzdG9yaWEuICBQUklNRVJPIHkg2kxUSU1PIHB1ZWRlbiBzZXIgbvptZXJvcyBxdWUgZXNwZWNpZmljYW4gZWwgIgorInJhbmdvLFxuIgorIiAgICBvIFBSSU1FUk8gcHVlZGUgc2VyIHVuYSBjYWRlbmEsIHF1ZSBzaWduaWZpY2EgbGEgb3JkZW4gbeFzIHJlY2llbnRlIHF1ZVxuIgorIiAgICBjb21pZW5jZSBjb24gZXNhIGNhZGVuYS5cbiIKICIgICAgXG4iCi0iICAgICAgIC1sIHNpZ25pZmljYSBsaXN0YSBs7W5lYXMgZW4gbHVnYXIgZGUgZWRpdGFyLlxuIgotIiAgICAgICAtbiBzaWduaWZpY2EgcXVlIG5vIHNlIGxpc3RhbiBu+m1lcm9zIGRlIGztbmVhLlxuIgotIiAgICAgICAtciBzaWduaWZpY2EgaW52ZXJ0aXIgZWwgb3JkZW4gZGUgbGFzIGztbmVhcyAobW9zdHJhbmRvIHByaW1lcm9cbiIKLSIgICAgICAgICAgbGFzIG3hcyByZWNpZW50ZXMpLlxuIgorIiAgICAgICAtZSBOT01CUkVfRSBzZWxlY2Npb25hIGVsIGVkaXRvciBhIHVzYXIuICBQb3IgZGVmZWN0byBlcyBGQ0VESVQsXG4iCisiICAgIFx0XHRkZXNwdelzIEVESVRPUiwgZGVzcHXpcyB2aVxuIgorIiAgICAgICAtbCBsaXN0YSBs7W5lYXMgZW4gbHVnYXIgZGUgZWRpdGFyXG4iCisiICAgICAgIC1uIG9taXRlIGxvcyBu+m1lcm9zIGRlIGztbmVhIGFsIGxpc3RhclxuIgorIiAgICAgICAtciBpbnZlcnRlIGVsIG9yZGVuIGRlIGxhcyBs7W5lYXMgKG11ZXN0cmEgcHJpbWVybyBsYXMgbeFzICIKKyJyZWNpZW50ZXMpXG4iCiAiICAgIFxuIgotIiAgICBDb24gZWwgZm9ybWF0byBgZmMgLXMgW3BhdD1yZXAgLi4uXSBbb3JkZW5dJywgbGEgb3JkZW4gc2VcbiIKLSIgICAgZWplY3V0YSBkZSBudWV2byBkZXNwdelzIGRlIHJlYWxpemFyIGxzIHN1c3RpdHVjafNuIEFOVD1OVUVWTy5cbiIKKyIgICAgQ29uIGVsIGZvcm1hdG8gYGZjIC1zIFtwYXQ9cmVwIC4uLl0gW29yZGVuXScsIGxhIE9SREVOIHNlXG4iCisiICAgIGVqZWN1dGEgZGUgbnVldm8gZGVzcHXpcyBkZSByZWFsaXphciBsYSBzdXN0aXR1Y2nzbiBBTlQ9TlVFVk8uXG4iCiAiICAgIFxuIgogIiAgICBVbiBhbGlhcyD6dGlsIHBhcmEgdXNhciBjb24gZXN0byBlcyByPSdmYyAtcycsIGFz7SBxdWUgYWwgdGVjbGVhclxuIgogIiAgICBgciBjYycgZWplY3V0YSBsYSD6bHRpbWEgb3JkZW4gcXVlIGNvbWllbmNlIGNvbiBgY2MnIHkgYWwgdGVjbGVhclxuIgotIiAgICBgcicgcmUtZWplY3V0YSBsYSD6bHRpbWEgb3JkZW4uIgorIiAgICBgcicgcmUtZWplY3V0YSBsYSD6bHRpbWEgb3JkZW4uXG4iCisiICAgIFxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8gbyBlbCBlc3RhZG8gZGUgbGEgb3JkZW4gZWplY3V0YWRhOyBzaSBzdWNlZGUgdW4gIgorImVycm9yXG4iCisiICAgIGVzIGRpZmVyZW50ZSBkZSBjZXJvLiIKIAogIzogYnVpbHRpbnMuYzo3MzgKLSMsIGZ1enp5CiBtc2dpZCAiIgogIk1vdmUgam9iIHRvIHRoZSBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTMwMjcsMTIgKzMyNzgsMTcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFN0YXR1cyBvZiBjb21tYW5kIHBsYWNlZCBpbiBmb3JlZ3JvdW5kLCBvciBmYWlsdXJlIGlmIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKLSJVYmljYSBhbCBKT0JfU1BFQyBlbiBlbCBwcmltZXIgcGxhbm8sIHkgbG8gaGFjZSBlbCB0cmFiYWpvIGFjdHVhbC4gIFNpXG4iCi0iICAgIEpPQl9TUEVDIG5vIGVzdOEgcHJlc2VudGUsIHNlIHVzYSBsYSBub2Np824gZGVsIHNoZWxsIGRlbCB0cmFiYWpvXG4iCi0iICAgIGFjdHVhbC4iCisiTXVldmUgZWwgdHJhYmFqbyBhbCBwcmltZXIgcGxhbm8uXG4iCisiICAgIFxuIgorIiAgICBVYmljYSBhbCB0cmFiYWpvIGlkZW50aWZpY2FkbyBjb24gSURUUkFCQUpPIGVuIGVsIHByaW1lciBwbGFubywgeVxuIgorIiAgICBsbyBoYWNlIGVsIHRyYWJham8gYWN0dWFsLiAgU2kgSURUUkFCQUpPIG5vIGVzdOEgcHJlc2VudGUsIHNlIHVzYVxuIgorIiAgICBsYSBub2Np824gZGVsIHNoZWxsIGRlbCB0cmFiYWpvIGFjdHVhbC5cbiIKKyIgICAgXG4iCisiICAgIEVzdGFkbyBkZSBTYWxpZGE6XG4iCisiICAgIEVsIGVzdGFkbyBkZWwgY29tYW5kbyB1YmljYWRvIGVuIHByaW1lciBwbGFubywgbyBmYWxsYSBzaSBzdWNlZGUgdW4gIgorImVycm9yLiIKIAogIzogYnVpbHRpbnMuYzo3NTMKLSMsIGZ1enp5CiBtc2dpZCAiIgogIk1vdmUgam9icyB0byB0aGUgYmFja2dyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0zMDQ1LDkgKzMzMDEsMTUgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgotIkNvbG9jYSBjYWRhIEpPQl9TUEVDIGVuIHNlZ3VuZG8gcGxhbm8sIGNvbW8gc2kgc2UgaHViaWVyYW4gaW5pY2lhZG8gY29uXG4iCi0iICAgIGAmJy4gIFNpIEpPQl9TUEVDIG5vIGVzdOEgcHJlc2VudGUsIHNlIHVzYSBsYSBub2Np824gZGVsIHNoZWxsIGRlbFxuIgotIiAgICB0cmFiYWpvIGFjdHVhbC4iCisiTXVldmUgdHJhYmFqb3MgYWwgc2VndW5kbyBwbGFuby5cbiIKKyIgICAgXG4iCisiICAgIENvbG9jYSBsb3MgdHJhYmFqb3MgaWRlbnRpZmljYWRvcyBwb3IgY2FkYSBJRFRSQUJBSk8gZW4gc2VndW5kbyBwbGFubyxcbiIKKyIgICAgY29tbyBzaSBzZSBodWJpZXJhbiBpbmljaWFkbyBjb24gYCYnLiAgU2kgSURUUkFCQUpPIG5vIGVzdOEgcHJlc2VudGUsXG4iCisiICAgIHNlIHVzYSBsYSBub2Np824gZGVsIHNoZWxsIGRlbCB0cmFiYWpvIGFjdHVhbC5cbiIKKyIgICAgXG4iCisiICAgIEVzdGFkbyBkZSBTYWxpZGE6XG4iCisiICAgIERldnVlbHZlIOl4aXRvIGEgbWVub3MgcXVlIGVsIGNvbnRyb2wgZGUgdHJhYmFqb3Mgbm8gZXN06SBhY3RpdmFkbyBvXG4iCisiICAgIHN1Y2VkYSB1biBlcnJvci4iCiAKICM6IGJ1aWx0aW5zLmM6NzY3CiBtc2dpZCAiIgpAQCAtMzA3Miw2ICszMzM0LDI3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgbm90IGZvdW5kIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgorIkFsbWFjZW5hIG8gbXVlc3RyYSBsYSB1YmljYWNp824gZGUgbG9zIHByb2dyYW1hcy5cbiIKKyIgICAgXG4iCisiICAgIERldGVybWluYSB5IGFsbWFjZW5hIGxhIHJ1dGEgY29tcGxldGEgZGUgY2FkYSDzcmRlbiBOT01CUkUuIFNpXG4iCisiICAgIG5vIHNlIHByb3BvcmNpb25hbiBhcmd1bWVudG9zLCBzZSBtdWVzdHJhIGxhIGluZm9ybWFjafNuIGRlIGxhc1xuIgorIiAgICDzcmRlbmVzIGFsbWFjZW5hZGFzLlxuIgorIiAgICBcbiIKKyIgICAgT3BjaW9uZXM6XG4iCisiICAgICAgLWRcdFx0b2x2aWRhIGxhIHViaWNhY2nzbiBhbG1hY2VuYWRhIGRlIGNhZGEgTk9NQlJFXG4iCisiICAgICAgLWxcdFx0bXVlc3RyYSBlbiB1biBmb3JtYXRvIHF1ZSBzZSBwdWVkZSByZXVzYXIgY29tbyBlbnRyYWRhXG4iCisiICAgICAgLXAgcnV0YVx0dXNhIFJVVEEgY29tbyBsYSBydXRhIGNvbXBsZXRhIGRlIE5PTUJSRVxuIgorIiAgICAgIC1yXHRcdG9sdmlkYSB0b2RhcyBsYXMgdWJpY2FjaW9uZXMgYWxtYWNlbmFkYXNcbiIKKyIgICAgICAtdFx0XHRtdWVzdHJhIGxhIHViaWNhY2nzbiBhbG1hY2VuYWRhIGRlIGNhZGEgTk9NQlJFLFxuIgorIiAgICBcdFx0Y2FkYSB1YmljYWNp824gY29uIGVsIE5PTUJSRSBjb3JyZXNwb25kaWVudGVcbiIKKyIgICAgXHRcdHNlIGRhbiB2YXJpb3MgTk9NQlJFc1xuIgorIiAgICBBcmd1bWVudG9zOlxuIgorIiAgICAgIE5PTUJSRVx0XHRDYWRhIE5PTUJSRSBzZSBidXNjYSBlbiAkUEFUSCB5IHNlIGFncmVnYSBhIGxhIGxpc3RhXG4iCisiICAgIFx0XHRkZSDzcmRlbmVzIGFsbWFjZW5hZGFzLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYVxuIgorIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8gYSBtZW5vcyBxdWUgbm8gc2UgZW5jdWVudHJlIE5PTUJSRSBvIHNlIHByb3BvcmNpb25lXG4iCisiICAgIHVuYSBvcGNp824gaW524WxpZGEuIgogCiAjOiBidWlsdGlucy5jOjc5MgogbXNnaWQgIiIKQEAgLTMwOTQsOSArMzM3NywyNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIFBBVFRFUk4gaXMgbm90IGZvdW5kIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzICIKICJnaXZlbi4iCiBtc2dzdHIgIiIKKyJNdWVzdHJhIGluZm9ybWFjafNuIHNvYnJlIPNyZGVuZXMgaW50ZXJuYXMuXG4iCisiICAgIFxuIgorIiAgICBNdWVzdHJhIHVuIHJlc3VtZW4gYnJldmUgZGUgbGFzIPNyZGVuZXMgaW50ZXJuYXMuICBTaSBzZSBlc3BlY2lmaWNhXG4iCisiICAgIHVuIFBBVFLTTiwgZGEgYXl1ZGEgZGV0YWxsYWRhIHNvYnJlIHRvZGFzIGxhcyDzcmRlbmVzIHF1ZVxuIgorIiAgICBjb2luY2lkYW4gY29uIGVsIFBBVFLTTiwgZGUgb3RyYSBmb3JtYSBzZSBtdWVzdHJhIGxhIGxpc3RhIGRlXG4iCisiICAgIHTzcGljb3MgZGUgYXl1ZGEuXG4iCisiICAgIFxuIgorIiAgICBPcGNpb25lczpcbiIKKyIgICAgICAtZFx0bXVlc3RyYSB1bmEgZGVzY3JpcGNp824gY29ydGEgcGFyYSBjYWRhIHTzcGljb1xuIgorIiAgICAgIC1tXHRtdWVzdHJhIGVsIHVzbyBlbiB1biBmb3JtYXRvIHNpbWlsYXIgYSBw4WdpbmEgbWFuXG4iCisiICAgICAgLXNcdG11ZXN0cmEgc/NsbyB1bmEgc2lub3BzaXMgYnJldmUgZGUgdXNvIHBhcmEgY2FkYSB083BpY28gcXVlXG4iCisiICAgIFx0Y29pbmNpZGEgY29uIGVsIFBBVFLTTlxuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnRvczpcbiIKKyIgICAgICBQQVRS005cdFBhdHLzbiBxdWUgZXNwZWNpZmljYSB1biB083BpY28gZGUgYXl1ZGFcbiIKKyIgICAgXG4iCisiICAgIEVzdGFkbyBkZSBTYWxpZGE6XG4iCisiICAgIERldnVlbHZlIGNvbiDpeGl0byBhIG1lbm9zIHF1ZSBubyBzZSBlbmN1ZW50cmUgUEFUUtNOIG8gc2UgcHJvcG9yY2lvbmVcbiIKKyIgICAgdW5hIG9wY2nzbiBpbnbhbGlkYS4iCiAKICM6IGJ1aWx0aW5zLmM6ODE2Ci0jLCBmdXp6eQogbXNnaWQgIiIKICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgdGhlIGhpc3RvcnkgbGlzdC5cbiIKICIgICAgXG4iCkBAIC0zMTI5LDIzICszNDMwLDMwIEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKLSJNdWVzdHJhIGxhIGxpc3RhIGRlIGxhIGhpc3RvcmlhIGNvbiBu+m1lcm9zIGRlIGztbmVhLiAgTGFzIGztbmVhc1xuIgotIiAgICBtb3N0cmFkYXMgY29uIHVuIGAqJyBoYW4gc2lkbyBtb2RpZmljYWRhcy4gIEVsIGFyZ3VtZW50byBOIGluZGljYVxuIgotIiAgICBtb3N0cmFyIHNvbGFtZW50ZSBsYXMg+mx0aW1hcyBOIGztbmVhcy4gIExhIG9wY2nzbiBgLWMnIGJvcnJhIGxhXG4iCi0iICAgIGxpc3RhIGRlIGhpc3RvcmEgZWxpbWluYW5kbyB0b2RhcyBzdXMgZW50cmFkYXMuICBMYSBvcGNp824gYC1kJyBib3JyYVxuIgotIiAgICBsYSBlbnRyYWRhIGRlIGhpc3RvcmlhIGVuIGxhIHBvc2ljafNuIE9GRlNFVC4gIExhIG9wY2nzbiBgLXcnIGVzY3JpYmVcbiIKLSIgICAgbGEgaGlzdG9yaWEgYWN0dWFsIGVuIGVsIGZpY2hlcm8gZGUgaGlzdG9yaWE7ICBgLXInIGxlZSBlbCBmaWNoZXJvIHlcbiIKLSIgICAgYWdyZWdhIGxvcyBjb250ZW5pZG9zIGEgbGEgbGlzdGEgZGUgaGlzdG9yaWEuICBgLWEnIGFncmVnYSBsYXMgbO1uZWFzXG4iCi0iICAgIGRlIGhpc3RvcmlhIGRlIGVzdGEgc2VzafNuIGFsIGZpY2hlcm8gZGUgaGlzdG9yaWEuICBFbCBhcmd1bWVudG8gYC1uJ1xuIgotIiAgICBsZWUgdG9kYXMgbGFzIGztbmVhcyBkZSBoaXN0b3JpYSBxdWUgbm8gc2UgaGFuIGxl7WRvIGRlbCBmaWNoZXJvIGRlXG4iCi0iICAgIGhpc3RvcmlhIHkgbGFzIGFncmVnYSBhbCBmaWNoZXJvIGRlIGhpc3RvcmlhLlxuIgorIk11ZXN0cmEgbyBtYW5pcHVsYSBsYSBsaXN0YSBkZSBsYSBoaXN0b3JpYS4gICAgXG4iCisiICAgIE11ZXN0cmEgbGEgbGlzdGEgZGUgbGEgaGlzdG9yaWEgY29uIG76bWVyb3MgZGUgbO1uZWEsIG1vc3RyYW5kb1xuIgorIiAgICBjYWRhIGztbmVhIG1vZGlmaWNhZGEgY29uIHVuIGAqJyBjb21vIHByZWZpam8uICBFbCBhcmd1bWVudG8gTlxuIgorIiAgICBtdWVzdHJhIHNvbGFtZW50ZSBsYXMg+mx0aW1hcyBOIGVudHJhZGFzLlxuIgogIiAgICBcbiIKLSIgICAgU2kgc2UgcHJvcG9yY2lvbmEgRklMRU5BTUUsIGVudG9uY2VzIHNlIHVzYSBjb21vIGVsIGZpY2hlcm8gZGVcbiIKLSIgICAgaGlzdG9yaWEsIHNpIG5vLCBzaSAkSElTVEZJTEUgdGllbiB1biB2YWxvciwg6XN0ZSBzZSB1c2EsIHNpIG5vXG4iCi0iICAgIH4vLmJhc2hfaGlzdG9yeS4gIFNpIHNlIHByb3BvcmNpb25hIGxhIG9wY2nzbiAtcywgbG9zIEFSR3MgcXVlIG5vIHNvblxuIgotIiAgICBvcGNpb25lcyBzZSBhZ3JlZ2FuIGEgbGEgbGlzdGEgZGUgaGlzdG9yaWEgY29tbyB1bmEgc29sYSBlbnRyYWRhLlxuIgotIiAgICBMYSBvcGNp824gLXAgaGFjZSBleHBhbnNp824gZGUgaGlzdG9yaWEgZW4gY2FkYSBBUkcgeSBtdWVzdHJhIGVsXG4iCi0iICAgIHJlc3VsdGFkbywgc2luIGd1YXJkYXIgbmFkYSBlbiBlbCBmaWNoZXJvIGRlIGhpc3RvcmlhLlxuIgorIiAgICBPcGNpb25lczpcbiIKKyIgICAgICAtY1x0Ym9ycmEgbGEgbGlzdGEgZGUgaGlzdG9yaWEgZWxpbWluYW5kbyB0b2RhcyBsYXMgZW50cmFkYXNcbiIKKyIgICAgICAtZCBkZXNwbFx0Ym9ycmEgbGEgZW50cmFkYSBkZSBsYSBoaXN0b3JhIGVuIGxhIHBvc2ljafNuIERFU1BMXG4iCisiICAgIFxuIgorIiAgICAgIC1hXHRhZ3JlZ2EgbGFzIGztbmVhcyBkZSBoaXN0b3JhIGRlIGVzdGEgc2VzafNuIGFsIGZpY2hlcm8gZGUgIgorImhpc3RvcmlhXG4iCisiICAgICAgLW5cdGxlZSB0b2RhcyBsYXMgbO1uZWFzIGRlIGhpc3RvcmlhIHF1ZSBubyBzZSBoYW4gbGXtZG8gZGVsIGZpY2hlcm9cbiIKKyIgICAgXHRkZSBoaXN0b3JpYVxuIgorIiAgICAgIC1yXHRsZWUgZWwgZmljaGVybyBkZSBoaXN0b3JpYSB5IGFncmVnYSBlbCBjb250ZW5pZG8gYWwgZmljaGVyb1xuIgorIiAgICBcdGRlIGhpc3RvcmlhXG4iCisiICAgICAgLXdcdGVzY3JpYmUgbGEgaGlzdG9yaWEgYWN0dWFsIGVuIGVsIGZpY2hlcm8gZGUgaGlzdG9yaWFcbiIKKyIgICAgXG4iCisiICAgICAgLXBcdGhhY2UgZXhwYW5zafNuIGRlIGhpc3RvcmlhIGVuIGNhZGEgQVJHdW1lbnRvIHkgbXVlc3RyYSBlbFxuIgorIiAgICBcdHJlc3VsdGFkbywgc2luIGd1YXJkYXJsbyBlbiBsYSBsaXN0YSBkZSBoaXN0b3JpYVxuIgorIiAgICAgIC1zXHRhZ3JlZ2EgbG9zIEFSR3VtZW50b3MgYSBsYSBsaXN0YSBkZSBoaXN0b3JpYSBjb21vXG4iCisiICAgIFx0dW5hIHNvbGEgZW50cmFkYVxuIgorIiAgICBTaSBzZSBwcm9wb3JjaW9uYSBGSUNIRVJPLCBlbnRvbmNlcyBzZSB1c2EgY29tbyBlbCBmaWNoZXJvIGRlXG4iCisiICAgIGhpc3RvcmlhLiBTaSBubywgc2kgJEhJU1RGSUxFIHRpZW4gdW4gdmFsb3IsIOlzdGUgc2UgdXNhLCBlbiBvdHJvIGNhc29cbiIKKyIgICAgfi8uYmFzaF9oaXN0b3J5LlxuIgogIiAgICBcbiIKICIgICAgU2kgbGEgdmFyaWFibGUgJEhJU1RUSU1FRk9STUFUIGVzdOEgZGVmaW5pZGEgeSBubyBlcyBudWxhLCBzZSB1c2Egc3VcbiIKICIgICAgdmFsb3IgY29tbyB1bmEgY2FkZW5hIGRlIGZvcm1hdG8gc3RyZnRpbWUoMykgcGFyYSBtb3N0cmFyIGxhIG1hcmNhIGRlXG4iCkBAIC0zMTUzLDcgKzM0NjEsNiBAQAogIiAgICBuaW5ndW5hIG1hcmNhIGRlIHRpZW1wbyBkZSBvdHJhIGZvcm1hLiIKIAogIzogYnVpbHRpbnMuYzo4NTIKLSMsIGZ1enp5CiBtc2dpZCAiIgogIkRpc3BsYXkgc3RhdHVzIG9mIGpvYnMuXG4iCiAiICAgIFxuIgpAQCAtMzE3NiwxNyArMzQ4MywyOCBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy5cbiIKICIgICAgSWYgLXggaXMgdXNlZCwgcmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgQ09NTUFORC4iCiBtc2dzdHIgIiIKLSJNdWVzdHJhIGxvcyB0cmFiYWpvcyBhY3Rpdm9zLiAgTGEgb3BjafNuIC1sIG11ZXN0cmEgbG9zIGlkJ3MgZGUgbG9zICIKLSJwcm9jZXNvc1xuIgotIiAgICBhZGVt4XMgZGUgbGEgaW5mb3JtYWNp824gbm9ybWFsOyBsYSBvcGNp824gLXAgc/NsbyBtdWVzdHJhIGxvcyBpZCdzIGRlXG4iCi0iICAgIGxvcyBwcm9jZXNvcy4gIFNpIHNlIGVzcGVjaWZpY2EgLW4sIHPzbG8gc2UgbXVlc3RyYW4gbG9zIHByb2Nlc29zIHF1ZVxuIgotIiAgICBoYW4gY2FtYmlhZG8gZGUgZXN0YWRvIGRlc2RlIGxhIPpsdGltYSBub3RpZmljYWNp824uICBKT0JTUEVDIHJlc3RyaW5nZVxuIgotIiAgICBsYSBzYWxpZGEgYSBlc2UgdHJhYmFqby4gIExhcyBvcGNpb25lcyAtciB5IC1zIHJlc3RyaW5nZW4gbGEgc2FsaWRhIGFcbiIKLSIgICAgbW9zdHJhciBz82xvIHRyYWJham9zIGVuIGVqZWN1Y2nzbiB5IGRldGVuaWRvcywgcmVzcGVjdGl2YW1lbnRlLiAgU2luXG4iCi0iICAgIG9wY2lvbmVzLCBzZSBtdWVzdHJhIGVsIGVzdGFkbyBkZSB0b2RvcyBsb3MgdHJhYmFqb3MgYWN0aXZvcy4gIFNpIHNlXG4iCi0iICAgIGVzcGVjaWZpY2EgLXgsIENPTU1BTkQgc2UgZWplY3V0YSBkZXNwdelzIGRlIHF1ZSB0b2RhcyBsYXNcbiIKKyJNdWVzdHJhIGVsIGVzdGFkbyBkZSBsb3MgdHJhYmFqb3MuXG4iCisiICAgIFxuIgorIiAgICBNdWVzdHJhIGxvcyB0cmFiYWpvcyBhY3Rpdm9zLiAgSURUUkFCQUpPIHJlc3RyaW5nZSBsYSBzYWxpZGEgYVxuIgorIiAgICBlc2UgdHJhYmFqby4gIFNpbiBvcGNpb25lcywgc2UgbXVlc3RyYSBlbCBlc3RhZG8gZGUgdG9kb3MgbG9zIHRyYWJham9zXG4iCisiICAgIGFjdGl2b3MuXG4iCisiICAgIFxuIgorIiAgICBPcGNpb25lczpcbiIKKyIgICAgICAtbFx0bXVlc3RyYSBsb3MgaWQncyBkZSBsb3MgcHJvY2Vzb3MsIGFkZW3hcyBkZVxuIgorIiAgICBcdGxhIGluZm9ybWFjafNuIG5vcm1hbFxuIgorIiAgICAgIC1uXHRzb2xvIG11ZXN0cmEgbG9zIHByb2Nlc29zIHF1ZSBoYW4gY2FtYmlhIGRlIGVzdGFkbyBkZXNkZVxuIgorIiAgICBcdGxhIPpsdGltYSBub3RpZmljYWNp825cbiIKKyIgICAgICAtcFx0c29sbyBtdWVzdHJhIGxvcyBpZCdzIGRlIGxvcyBwcm9jZXNvcyAgICAgIC1yXHRyZXN0cmluZ2UgbGEgc2FsaWRhICIKKyJhIGxvcyB0cmFiYWpvcyBlbiBlamVjdWNp825cbiIKKyIgICAgICAtc1x0cmVzdHJpbmdlIGxhIHNhbGlkYSBhIGxvcyB0cmFiYWpvcyBkZXRlbmlkb3NcbiIKKyIgICAgXG4iCisiICAgIFNpIHNlIGVzcGVjaWZpY2EgLXgsIGxhIE9SREVOIHNlIGVqZWN1dGEgZGVzcHXpcyBkZSBxdWUgdG9kYXMgbGFzXG4iCiAiICAgIGVzcGVjaWZpY2FjaW9uZXMgZGUgdHJhYmFqbyBxdWUgYXBhcmVjZW4gZW4gQVJHUyBzZSBoYW4gcmVlbXBsYXphZG9cbiIKLSIgICAgY29uIGVsIElEIGRlIHByb2Nlc28gZGVsIGztZGVyIGRlbCBncnVwbyBkZSBwcm9jZXNvcyBkZSBkaWNobyB0cmFiYWpvLiIKKyIgICAgY29uIGVsIElEIGRlIHByb2Nlc28gZGVsIGztZGVyIGRlbCBncnVwbyBkZSBwcm9jZXNvcyBkZSBkaWNobyB0cmFiYWpvLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgY29uIOl4aXRvIGEgbWVub3MgcXVlIHNlIGRlIHVuYSBvcGNp824gaW524WxpZGEgbyBzdWNlZGEgdW5cbiIKKyIgICAgZXJyb3IuICBTaSBzZSB1c2EgLXgsIGRldnVlbHZlIGVsIGVzdGFkbyBkZSBzYWxpZGEgZGUgbGEgT1JERU4uIgogCiAjOiBidWlsdGlucy5jOjg3OQogbXNnaWQgIiIKQEAgLTMyMDQsOSArMzUyMiwyMiBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBvciBKT0JTUEVDIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgorIkJvcnJhIHRyYWJham9zIGRlbCBzaGVsbCBhY3R1YWwuXG4iCisiICAgIFxuIgorIiAgICBCb3JyYSBjYWRhIGFyZ3VtZW50byBJRFRSQUJBSk8gZGUgbGEgdGFibGEgZGUgdHJhYmFqb3MgYWN0aXZvcy4gU2luXG4iCisiICAgIGFsZ/puIElEVFJBQkFKTywgZWwgc2hlbGwgdXRpbGl6YSBzdSBub2Np824gZGVsIHRyYWJham8gYWN0dWFsLlxuIgorIiAgICBcbiIKKyIgICAgT3BjaW9uZXM6XG4iCisiICAgICAgLWFcdGJvcnJhIHRvZG9zIGxvcyB0cmFiYWpvcyBzaSBubyBzZSBwcm9wb3JjaW9uYSBJRFRSQUJBSk9cbiIKKyIgICAgICAtaFx0bWFyY2EgY2FkYSBJRFRSQUJBSk8gcGFyYSBubyBzZSBlbnbtZSBTSUdIVVAgYWwgdHJhYmFqbyBzaVxuIgorIiAgICBcdGVsIHNoZWxsIHJlY2liZSB1biBTSUdIVVBcbiIKKyIgICAgICAtclx0Ym9ycmEgc29sbyBsb3MgdHJhYmFqb3MgZW4gZWplY3VjafNuXG4iCisiICAgIFxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8gYSBtZW5vcyBxdWUgc2UgcHJvcG9yY2lvbmVuIHVuYSBvcGNp824gbyB1blxuIgorIiAgICBJRFRSQUJBSk8gaW524WxpZG9zLiIKIAogIzogYnVpbHRpbnMuYzo4OTgKLSMsIGZ1enp5CiBtc2dpZCAiIgogIlNlbmQgYSBzaWduYWwgdG8gYSBqb2IuXG4iCiAiICAgIFxuIgpAQCAtMzIyNywxNCArMzU1OCwyNiBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCi0iRW527WEgYSBsb3MgcHJvY2Vzb3Mgbm9tYnJhZG9zIHBvciBQSUQgKG8gSk9CU1BFQykgbGEgc2XxYWwgU0lHU1BFQy4gIFNpXG4iCi0iICAgIG5vIGVzdOEgcHJlc2VudGUgU0lHU1BFQywgc2UgYXN1bWUgU0lHVEVSTS4gIEVsIGFyZ3VtZW50byBgLWwnXG4iCi0iICAgIG11ZXN0cmEgbG9zIG5vbWJyZXMgZGUgc2XxYWxlczsgc2kgaGF5IGFyZ3VtZW50b3MgYSBjb250aW51YWNp824gZGVcbiIKLSIgICAgYC1sJyBzZSBhc3VtZSBxdWUgc29uIG76bWVyb3MgZGUgc2XxYWwgcGFyYSBsYXMgY3VhbGVzIHNlIGRlYmVcbiIKLSIgICAgbW9zdHJhciBlbCBub21icmUuICBLaWxsIGVzIHVuYSBvcmRlbiBpbnRlcm5hIGRlbCBzaGVsbCBwb3IgZG9zXG4iCi0iICAgIHJhem9uZXM6IHBlcm1pdGUgcXVlIHNlIHB1ZWRhbiB1c2FyIElEcyBkZSB0cmFiYWpvIGVuIGx1Z2FyIGRlXG4iCi0iICAgIElEcyBkZSBwcm9jZXNvLCB5LCBzaSBoYSBhbGNhbnphZG8gZWwgbO1taXRlIGRlIHByb2Nlc29zIHF1ZSBwdWVkZVxuIgotIiAgICBjcmVhciwgbm8gdGllbmUgcXVlIGluaWNpYXIgdW4gcHJvY2VzbyBwYXJhIG1hdGFyIGEgb3Ryby4iCisiRW527WEgdW5hIHNl8WFsIGEgdW4gdHJhYmFqby5cbiIKKyIgICAgXG4iCisiICAgIEVudu1hIGEgbG9zIHByb2Nlc29zIG5vbWJyYWRvcyBwb3IgUElEIChvIElEVFJBQkFKTykgbGEgc2XxYWwgSURfU0XRQUxcbiIKKyIgICAgbyBOVU1fU0XRQUwuIFNpIG5vIGVzdOFuIHByZXNlbnRlcyBuaSBJRF9TRdFBTCBvIE5VTV9TRdFBTCwgc2UgYXN1bWVcbiIKKyIgICAgU0lHVEVSTS5cbiIKKyIgICAgXG4iCisiICAgIE9wY2lvbmVzOlxuIgorIiAgICAgIC1zIHNpZ1x0U0lHIGVzIHVuIG5vbWJyZSBkZSBzZfFhbFxuIgorIiAgICAgIC1uIHNpZ1x0U0lHIGVzIHVuIG76bWVybyBkZSBzZfFhbFxuIgorIiAgICAgIC1sXHRlbmxpc3RhIGxvcyBub21icmVzIGRlIHNl8WFsZXM7IHNpIGhheSBhcmd1bWVudG9zIGEgY29udGludWFjafNuXG4iCisiICAgIFx0ZGUgYC1sJywgc2UgYXN1bWUgcXVlIHNvbiBu+m1lcm9zIGRlIHNl8WFsIHBhcmEgbGFzIGN1YWxlcyBzZSBkZWJlXG4iCisiICAgIG1vc3RyYXIgZWwgbm9tYnJlLlxuIgorIiAgICBcbiIKKyIgICAgS2lsbCBlcyB1bmEgb3JkZW4gaW50ZXJuYSBkZWwgc2hlbGwgcG9yIGRvcyByYXpvbmVzOiBwZXJtaXRlIHF1ZSBzZVxuIgorIiAgICBwdWVkYW4gdXNhciBJRHMgZGUgdHJhYmFqbyBlbiBsdWdhciBkZSBJRHMgZGUgcHJvY2VzbywgeSBwZXJtaXRlIG1hdGFyXG4iCisiICAgIHByb2Nlc29zIHNpIGhhIGFsY2FuemFkbyBlbCBs7W1pdGUgZGUgcHJvY2Vzb3MgcXVlIHB1ZWRlIGNyZWFyLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgY29uIOl4aXRvIGEgbWVub3MgcXVlIHNlIGRlIHVuYSBvcGNp824gaW524WxpZGEgbyBzdWNlZGEgdW4gIgorImVycm9yLiIKIAogIyAiYSBzZXIgZXZhbHVhZGEiIG5vIGVzdOEgZW4gZXNwYfFvbC4gc3YKICMgQ2llcnRvLiC/QXPtIGVzdOEgbWVqb3I/IGNmdWdhCkBAIC0zMjQ1LDcgKzM1ODgsNiBAQAogIyBZbyBwb25kcu1hIHNpbXBsZW1lbnRlICJwcmlvcmlkYWQiLiBzdgogIyBDcmVvIHF1ZSBzaSBleGlzdGUsIHBlcm8gdHUgc3VnZXJlbmNpYSBlcyBtZWpvci4gY2Z1Z2EKICM6IGJ1aWx0aW5zLmM6OTIxCi0jLCBmdXp6eQogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb25zLlxuIgogIiAgICBcbiIKQEAgLTMyODksMTIgKzM2MzEsMTMgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIElmIHRoZSBsYXN0IEFSRyBldmFsdWF0ZXMgdG8gMCwgbGV0IHJldHVybnMgMTsgbGV0IHJldHVybnMgMCBvdGhlcndpc2UuLiIKIG1zZ3N0ciAiIgotIkNhZGEgQVJHIGVzIHVuYSBleHByZXNp824gYXJpdG3pdGljYSBwYXJhIGV2YWx1YXJzZS4gIExhIGV2YWx1YWNp825cbiIKLSIgICAgc2UgaGFjZSBjb24gZW50ZXJvcyBkZSBsb25naXR1ZCBmaWphLCBzaW4gcmV2aXNhciBkZXNib3JkYW1pZW50b3MsXG4iCi0iICAgIGF1bnF1ZSBsYSBkaXZpc2nzbiBwb3IgMCBzZSBjYXB0dXJhIHkgc2UgbWFyY2EgY29tbyB1biBlcnJvci5cbiIKLSIgICAgTGEgc2lndWllbnRlIGxpc3RhIGRlIG9wZXJhZG9yZXMgZXN04SBhZ3J1cGFkYSBlbiBuaXZlbGVzIGRlXG4iCi0iICAgIG9wZXJhZG9yZXMgZGUgbGEgbWlzbWEgcHJpb3JpZGFkLiAgU2UgbXVlc3RyYW4gbG9zIG5pdmVsZXNcbiIKLSIgICAgZW4gb3JkZW4gZGUgcHJpb3JpZGFkIGRlY3JlY2llbnRlLlxuIgorIkV2YWz6YSBleHByZXNpb25lcyBhcml0bel0aWNhcy5cbiIKKyIgICAgXG4iCisiICAgIEV2YWz6YSBjYWRhIEFSRyBjb21vIHVuYSBleHByZXNp824gYXJpdG3pdGljYS4gIExhIGV2YWx1YWNp824gc2UgaGFjZVxuIgorIiAgICBjb24gZW50ZXJvcyBkZSBsb25naXR1ZCBmaWphLCBzaW4gcmV2aXNhciBkZXNib3JkYW1pZW50b3MsIGF1bnF1ZSBsYVxuIgorIiAgICBsYSBkaXZpc2nzbiBwb3IgMCBzZSBjYXB0dXJhIHkgc2UgbWFyY2EgY29tbyB1biBlcnJvci4gIExhIHNpZ3VpZW50ZVxuIgorIiAgICBsaXN0YSBkZSBvcGVyYWRvcmVzIGVzdOEgYWdydXBhZGEgZW4gbml2ZWxlcyBkZSBvcGVyYWRvcmVzIGRlIGxhIG1pc21hXG4iCisiICAgIHByaW9yaWRhZC4gIFNlIG11ZXN0cmFuIGxvcyBuaXZlbGVzIGVuIG9yZGVuIGRlIHByaW9yaWRhZCBkZWNyZWNpZW50ZS5cbiIKICIgICAgXG4iCiAiICAgIFx0aWQrKywgaWQtLVx0cG9zdC1pbmNyZW1lbnRvLCBwb3N0LWRlY3JlbWVudG8gZGUgdmFyaWFibGVcbiIKICIgICAgXHQrK2lkLCAtLWlkXHRwcmUtaW5jcmVtZW50bywgcHJlLWRlY3JlbWVudG8gZGUgdmFyaWFibGVcbiIKQEAgLTMzMTcsMTggKzM2NjAsMTkgQEAKICIgICAgXHQrPSwgLT0sIDw8PSwgPj49LFxuIgogIiAgICBcdCY9LCBePSwgfD1cdGFzaWduYWNp825cbiIKICIgICAgXG4iCi0iICAgIFNlIHBlcm1pdGVuIGxhcyB2YXJpYWJsZXMgZGUgc2hlbGwgY29tbyBvcGVyYW5kb3MuICBTZVxuIgotIiAgICByZWVtcGxhemEgZWwgbm9tYnJlIGRlIGxhIHZhcmlhYmxlIHBvciBzdSB2YWxvciAoY29lcmNpb25hZG9cbiIKLSIgICAgYSB1biBlbnRlcm8gZGUgbG9uZ2l0dWQgZmlqYSkgZGVudHJvIGRlIHVuYSBleHByZXNp824uICBMYVxuIgotIiAgICBMYSB2YXJpYWJsZSBubyBuZWNlc2l0YSB0ZW5lciBhY3RpdmFkbyBzdSBhdHJpYnV0byBpbnRlZ2VyXG4iCi0iICAgIHBhcmEgc2VyIHVzYWRhIGVuIHVuYSBleHByZXNp824uXG4iCisiICAgIFNlIHBlcm1pdGVuIGxhcyB2YXJpYWJsZXMgZGUgc2hlbGwgY29tbyBvcGVyYW5kb3MuICBTZSByZWVtcGxhemFcbiIKKyIgICAgZWwgbm9tYnJlIGRlIGxhIHZhcmlhYmxlIHBvciBzdSB2YWxvciAoY29lcmNpb25hZG8gYSB1biBlbnRlcm9cbiIKKyIgICAgZGUgbG9uZ2l0dWQgZmlqYSkgZGVudHJvIGRlIHVuYSBleHByZXNp824uICBMYSB2YXJpYWJsZSBub1xuIgorIiAgICBuZWNlc2l0YSB0ZW5lciBhY3RpdmFkbyBzdSBhdHJpYnV0byBpbnRlZ2VyIHBhcmEgc2VyIHVzYWRhIGVuXG4iCisiICAgIHVuYSBleHByZXNp824uXG4iCiAiICAgIFxuIgotIiAgICBMb3Mgb3BlcmFkb3JlcyBzZSBldmFs+mFuIGVuIG9yZGVuIGRlIHByaW9yaWRhZC4gIFByaW1lcm9cbiIKLSIgICAgc2UgZXZhbPphbiBsYXMgc3ViLWV4cHJlc2lvbmVzIGVuIHBhculudGVzaXMgeSBwdWVkZW5cbiIKLSIgICAgc29icmVwYXNhciBsYXMgcmVnbGFzIGRlIHByaW9yaWRhZCBhbnRlcmlvcmVzLlxuIgorIiAgICBMb3Mgb3BlcmFkb3JlcyBzZSBldmFs+mFuIGVuIG9yZGVuIGRlIHByaW9yaWRhZC4gIFByaW1lcm8gc2VcbiIKKyIgICAgZXZhbPphbiBsYXMgc3ViLWV4cHJlc2lvbmVzIGVuIHBhculudGVzaXMgeSBwdWVkZW4gc29icmVwYXNhclxuIgorIiAgICBsYXMgcmVnbGFzIGRlIHByaW9yaWRhZCBhbnRlcmlvcmVzLlxuIgogIiAgICBcbiIKLSIgICAgU2kgZWwg+mx0aW1vIEFSRyBzZSBldmFs+mEgY29tbyAwLCBsZXQgZGV2dWVsdmUgMTsgc2kgbm8gc2VcbiIKLSIgICAgZGV2dWVsdmUgMC4iCisiICAgIEVzdGFkbyBkZSBzYWxpZGE6XG4iCisiICAgIFNpIGVsIPpsdGltbyBBUkd1bWVudG8gc2UgZXZhbPphIGNvbW8gMCwgbGV0IGRldnVlbHZlIDE7IGRlIG90cmFcbiIKKyIgICAgZm9ybWEsIGxldCBkZXZ1ZWx2ZSAwLiIKIAogIzogYnVpbHRpbnMuYzo5NjYKICMsIGZ1enp5CkBAIC0zMzU1LDcgKzM2OTksMTEgQEAKICIgICAgICAtZVx0XHR1c2UgUmVhZGxpbmUgdG8gb2J0YWluIHRoZSBsaW5lIGluIGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCiAiICAgICAgLWkgdGV4dFx0VXNlIFRFWFQgYXMgdGhlIGluaXRpYWwgdGV4dCBmb3IgUmVhZGxpbmVcbiIKICIgICAgICAtbiBuY2hhcnNcdHJldHVybiBhZnRlciByZWFkaW5nIE5DSEFSUyBjaGFyYWN0ZXJzIHJhdGhlciB0aGFuIHdhaXRpbmdcbiIKLSIgICAgXHRcdGZvciBhIG5ld2xpbmVcbiIKKyIgICAgXHRcdGZvciBhIG5ld2xpbmUsIGJ1dCBob25vciBhIGRlbGltaXRlciBpZiBmZXdlciB0aGFuIE5DSEFSU1xuIgorIiAgICBcdFx0Y2hhcmFjdGVycyBhcmUgcmVhZCBiZWZvcmUgdGhlIGRlbGltaXRlclxuIgorIiAgICAgIC1OIG5jaGFyc1x0cmV0dXJuIG9ubHkgYWZ0ZXIgcmVhZGluZyBleGFjdGx5IE5DSEFSUyBjaGFyYWN0ZXJzLCAiCisidW5sZXNzXG4iCisiICAgIFx0XHRFT0YgaXMgZW5jb3VudGVyZWQgb3IgcmVhZCB0aW1lcyBvdXQsIGlnbm9yaW5nIGFueSBkZWxpbWl0ZXJcbiIKICIgICAgICAtcCBwcm9tcHRcdG91dHB1dCB0aGUgc3RyaW5nIFBST01QVCB3aXRob3V0IGEgdHJhaWxpbmcgbmV3bGluZSBiZWZvcmVcbiIKICIgICAgXHRcdGF0dGVtcHRpbmcgdG8gcmVhZFxuIgogIiAgICAgIC1yXHRcdGRvIG5vdCBhbGxvdyBiYWNrc2xhc2hlcyB0byBlc2NhcGUgYW55IGNoYXJhY3RlcnNcbiIKQEAgLTMzNzQsMzkgKzM3MjIsNDcgQEAKICJvdXQsXG4iCiAiICAgIG9yIGFuIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIGlzIHN1cHBsaWVkIGFzIHRoZSBhcmd1bWVudCB0byAtdS4iCiBtc2dzdHIgIiIKLSJTZSBsZWUgdW5hIGztbmVhIGRlIGxhIGVudHJhZGEgZXN04W5kYXJkLCBvIGRlbCBkZXNjcmlwdG9yIGRlIGZpY2hlcm8gRkQgc2kgIgotInNlXG4iCi0iICAgIHByb3BvcmNpb25hIGxhIG9wY2nzbiAtdSwgeSBsYSBwcmltZXJhIHBhbGFicmEgc2UgYXNpZ25hIGFsIHByaW1lciAiCi0iTkFNRSxcbiIKLSIgICAgbGEgc2VndW5kYSBwYWxhYnJhIGFsIHNlZ3VuZG8gTkFNRSwgeSBhc+0gc3VjZXNpdmFtZW50ZSwgY29uIGxhcyAiCi0icGFsYWJyYXNcbiIKLSIgICAgcmVzdGFudGVzIGFzaWduYWRhcyBhbCD6bHRpbW8gTkFNRS4gU/NsbyBsb3MgY2FyYWN0ZXJlcyBxdWUgc2UgIgotImVuY3VlbnRyYW4gZW5cbiIKLSIgICAgJElGUyBzZSByZWNvbm9jZW4gY29tbyBkZWxpbWl0YWRvcmVzIGRlIHBhbGFicmFzLiAgU2kgbm8gc2UgcHJvcG9yY2lvbmFcbiIKLSIgICAgbmluZ/puIE5BTUUsIGxhIGztbmVhIGxl7WRhIHNlIGd1YXJkYSBlbiBsYSB2YXJpYWJsZSBSRVBMWS4gIFNpIHNlXG4iCi0iICAgIHByb3BvcmNpb25hIGxhIG9wY2nzbiAtciwgZXN0byBzaWduaWZpY2EgZW50cmFkYSBgdGV4dHVhbCcsIHkgc2VcbiIKLSIgICAgZGVzYWN0aXZhIGVsIGVzY2FwZSBkZSBsYSBiYXJyYSBpbnZlcnRpZGEuICBMYSBvcGNp824gLWQgY2F1c2EgcXVlIHJlYWRcbiIKLSIgICAgY29udGlu+mUgaGFzdGEgcXVlIHNlIGxlYSBlbCBwcmltZXIgY2Fy4WN0ZXIgZGUgREVMSU0sIGVuIGx1Z2FyIGRlXG4iCi0iICAgIGztbmVhIG51ZXZhLiAgU2kgc2UgcHJvcG9yY2lvbmEgbGEgb3BjafNuIC1wLCBzZSBtdWVzdHJhIGxhIGNhZGVuYVxuIgotIiAgICBQUk9NUFQgc2luIHVuIGNhcmFjdOlyIGRlIGztbmVhIG51ZXZvIGFsIGZpbmFsLCBhbnRlcyBkZSBpbnRlbnRhciBsZWVyLlxuIgotIiAgICBTaSBzZSBwcm9wb2Npb25hIC1hLCBsYXMgcGFsYWJyYXMgbGXtZGFzIHNlIGFzaWduYW4gYSDtbmRpY2VzXG4iCi0iICAgIGNvbnNlY3V0aXZvcyBkZSBBUlJBWSwgZW1wZXphbmRvIGVuIGNlcm8uICBTaSBzZSBwcm9wb3JjaW9uYSAtZSB5XG4iCi0iICAgIGVsIHNoZWxsIGVzIGludGVyYWN0aXZvLCBzZSB1c2EgcmVhZGxpbmUgcGFyYSBsZWVyIGxhIGztbmVhLiAgU2kgc2VcbiIKLSIgICAgcHJvcG9jaW9uYSAtbiBjb24gdW4gYXJndW1lbnRvIE5DSEFSUyBkaWZlcmVudGUgZGUgY2VybywgcmVhZCB0ZXJtaW5hXG4iCi0iICAgIGRlc3B16XMgZGUgbGVlciBOQ0hBUlMgY2FyYWN0ZXJlcy4gIExhIG9wY2nzbiAtcyBjYXVzYSBxdWUgbm8gc2UgIgotIm11ZXN0cmVcbiIKLSIgICAgbGEgZW50cmFkYSBxdWUgcHJvdmVuZ2EgZGUgdW5hIHRlcm1pbmFsLlxuIgorIkxlZSB1bmEgbO1uZWEgZGUgbGEgc2FsaWRhIGVzdOFuZGFyIHkgbGEgZGl2aWRlIGVuIGNhbXBvcy5cbiIKICIgICAgXG4iCi0iICAgIExhIG9wY2nzbiAtdCBjYXVzYSBxdWUgcmVhZCBleHBpcmUgeSBkZXZ1ZWx2YSBmYWxsYSBzaSBubyBzZSBsZWUgdW5hICIKLSJs7W5lYVxuIgotIiAgICBjb21wbGV0YSBkZSBlbnRyYWRhIGVuIFRJTUVPVVQgc2VndW5kb3MuICBTaSBsYSB2YXJpYWJsZSBUTU9VVCBlc3ThICIKLSJhY3RpdmEsXG4iCi0iICAgIHN1IHZhbG9yIGVzIGVsIHRpZW1wbyBkZSBleHBpcmFjafNuIHBvciBkZWZlY3RvLiAgRWwgY/NkaWdvIGRlICIKLSJkZXZvbHVjafNuIGVzXG4iCi0iICAgIGNlcm8sIGEgbWVub3MgcXVlIHNlIGVuY3VlbnRyZSB1biBmaW5hbCBkZSBs7W5lYSwgcmVhZCBleHBpcmUsIG8gc2VcbiIKLSIgICAgcHJvcG9yY2lvbmUgdW4gZGVzY3JpcHRvciBkZSBmaWNoZXJvIGluduFsaWRvIGNvbW8gZWwgYXJndW1lbnRvIGRlIC11LiIKKyIgICAgTGVlIHVuYSBzb2xhIGztbmVhIGRlIGxhIGVudHJhZGEgZXN04W5kYXIsIG8gZGVsIGRlc2NyaXB0b3IgZGVcbiIKKyIgICAgZmljaGVybyBGRCBzaSBzZSBwcm9wb3JjaW9uYSBsYSBvcGNp824gLXUuICBMYSBs7W5lYSBzZSBkaXZpZGUgZW4gIgorImNhbXBvc1xuIgorIiAgICBjb24gc2VwYXJhY2nzbiBkZSBwYWxhYnJhcywgeSBsYSBwcmltZXJhIHBhbGFicmEgc2UgYXNpZ25hIGFsIHByaW1lclxuIgorIiAgICBOT01CUkUsIGxhIHNlZ3VuZGEgcGFsYWJyYSBhbCBzZWd1bmRvIE5PTUJSRSwgeSBhc+0gc3VjZXNpdmFtZW50ZSwgY29uXG4iCisiICAgIGxhcyBwYWxhYnJhcyByZXN0YW50ZXMgYXNpZ25hZGFzIGFsIPpsdGltbyBOT01CUkUuICBT82xvIGxvcyBjYXJhY3RlcmVzXG4iCisiICAgIHF1ZSBzZSBlbmN1ZW50cmFuIGVuICRJRlMgc2UgcmVjb25vY2VuIGNvbW8gZGVsaW1pdGFkb3JlcyBkZSBwYWxhYnJhcy5cbiIKKyIgICAgXG4iCisiICAgIFNpIG5vIHNlIHByb3BvcmNpb25hIG5pbmf6biBOT01CUkUsIGxhIGztbmVhIGxl7WRhIHNlIGd1YXJkYSBlbiBsYVxuIgorIiAgICB2YXJpYWJsZSBSRVBMWS5cbiIKKyIgICAgXG4iCisiICAgIE9wY2lvbmVzOlxuIgorIiAgICAgIC1hIG1hdHJpelx0YXNpZ25hIGxhcyBwYWxhYnJhcyBsZe1kYXMgYSDtbmRpY2VzIHNlY3VlbmNpYWxlcyBkZVxuIgorIiAgICBcdGxhIHZhcmlhYmxlIGRlIG1hdHJpeiBNQVRSSVosIGVtcGV6YW5kbyBlbiBjZXJvXG4iCisiICAgICAgLWQgZGVsaW1cdGNvbnRpbvphIGhhc3RhIHF1ZSBzZSBsZWEgZWwgcHJpbWVyIGNhcuFjdGVyIGRlIERFTElNLFxuIgorIiAgICBcdFx0ZW4gbHVnYXIgZGUgbO1uZWEgbnVldmFcbiIKKyIgICAgICAtZVx0XHR1c2EgUmVhZGxpbmUgcGFyYSBvYnRlbmVyIGxhIGztbmVhIGVuIHVuIHNoZWxsIGludGVyYWN0aXZvXG4iCisiICAgICAgLWkgdGV4dG9cdFVzYSBlbCBURVhUTyBjb21vIGVsIHRleHRvIGluaWNpYWwgcGFyYSBSZWFkbGluZVxuIgorIiAgICAgIC1uIG5jYXJzXHRyZWdyZXNhIGRlc3B16XMgZGUgbGVlciBOQ0FSUyBjYXJhY3RlcmVzIGVuIGx1Z2FyIGRlXG4iCisiICAgIFx0XHRlc3BlcmFyIHVuYSBs7W5lYSBudWV2YVxuIgorIiAgICAgIC1wIHByb21wdFx0bXVlc3RyYSBsYSBjYWRlbmEgUFJPTVBUIHNpbiB1biBjYXJhY3TpciBkZSBs7W5lYSBudWV2YVxuIgorIiAgICBcdFx0YWwgZmluYWwgYW50ZXMgZGUgaW50ZW50YXIgbGVlclxuIgorIiAgICAgIC1yXHRcdG5vIHBlcm1pdGUgcXVlIGxhcyBiYXJyYXMgaW52ZXJ0aWRhcyBlc2NhcGVuIGNhcmFjdGVyZXNcbiIKKyIgICAgICAtc1x0XHRubyBtdWVzdHJhIGxhIHNhbGlkYSBxdWUgcHJvdmllbmUgZGUgdW5hIHRlcm1pbmFsXG4iCisiICAgICAgLXQgdGllbXBvXHRleHBpcmEgeSBkZXZ1ZWx2ZSBmYWxsbyBzaSBubyBzZSBsZWUgdW5hIGztbmVhIGNvbXBsZXRhXG4iCisiICAgIFx0XHRkZSBlbnRyYWRhIGVuIFRJRU1QTyBzZWd1bmRvcy4gIEVsIHZhbG9yIGRlIGxhIHZhcmlhYmxlIFRNT1VUXG4iCisiICAgIFx0XHRlcyBlbCB0aWVtcG8gZGUgZXhwaXJhY2nzbiBwb3IgZGVmZWN0by4gIFRJRU1QTyBwdWVkZSBzZXIgdW5cbiIKKyIgICAgXHRcdG76bWVybyBmcmFjY2lvbmFyaW8uICBTaSBUSUVNUE8gZXMgMCwgcmVhZCBkZXZ1ZWx2ZSBjb24g6XhpdG9cbiIKKyIgICAgXHRcdHPzbG8gc2kgaGF5IGVudHJhZGEgZGlzcG9uaWJsZSBlbiBlbCBkZXNjcmlwdG9yIGRlIGZpY2hlcm9cbiIKKyIgICAgXHRcdGVzcGVjaWZpY2Fkby4gIEVsIGVzdGFkbyBkZSBzYWxpZGEgZXMgbWF5b3IgcXVlIDEyOCBzaSBzZSBleGNlZGVcbiIKKyIgICAgXHRcdGVsIHRpZW1wbyBkZSBleHBpcmFjafNuLlxuIgorIiAgICAgIC11IGRmXHRcdGxlZSBkZWwgZGVzY3JpcHRvciBkZSBmaWNoZXJvIERGIGVuIGx1Z2FyIGRlIGxhIGVudHJhZGFcbiIKKyIgICAgXHRcdGVzdOFuZGFyICAgIFxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICBFbCBj82RpZ28gZGUgZGV2b2x1Y2nzbiBlcyBjZXJvLCBhIG1lbm9zIHF1ZSBzZSBlbmN1ZW50cmUgdW4gZmluYWwgZGVcbiIKKyIgICAgbO1uZWEsIGVsIHRpZW1wbyBkZSByZWFkIGV4cGlyZSwgbyBzZSBwcm9wb3JjaW9uZSB1biBkZXNjcmlwdG9yIGRlXG4iCisiICAgIGZpY2hlcm8gaW524WxpZG8gY29tbyBlbCBhcmd1bWVudG8gZGUgLXUuIgogCi0jOiBidWlsdGlucy5jOjEwMDYKKyM6IGJ1aWx0aW5zLmM6MTAwOQogbXNnaWQgIiIKICJSZXR1cm4gZnJvbSBhIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM0MTcsOSArMzc3MywxOCBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBOLCBvciBmYWlsdXJlIGlmIHRoZSBzaGVsbCBpcyBub3QgZXhlY3V0aW5nIGEgZnVuY3Rpb24gb3Igc2NyaXB0LiIKIG1zZ3N0ciAiIgorIkRldnVlbHZlIGRlIHVuYSBmdW5jafNuIGRlIHNoZWxsLlxuIgorIiAgICBcbiIKKyIgICAgQ2F1c2EgcXVlIHVuYSBmdW5jafNuIG8gdW4gZ3Vp824gbGXtZG8gdGVybWluZSBjb24gZWwgdmFsb3IgZGUgIgorImRldm9sdWNp825cbiIKKyIgICAgZXNwZWNpZmljYWRvIHBvciBOLiAgU2kgc2Ugb21pdGUgTiwgZWwgZXN0YWRvIGRlIGRldm9sdWNp824gZXMgZWwgZGVcbiIKKyIgICAgbGEg+mx0aW1hIG9yZGVuIGVqZWN1dGFkYSBkZW50cm8gZGUgbGEgZnVuY2nzbiBvIGd1afNuLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgTiwgbyBmYWxsYSBzaSBlbCBzaGVsbCBubyBlc3ThIGVqZWN1dGFuZG8gdW5hIGZ1bmNp824gbyB1biAiCisiZ3Vp824uIgogCi0jOiBidWlsdGlucy5jOjEwMTkKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjEwMjIKIG1zZ2lkICIiCiAiU2V0IG9yIHVuc2V0IHZhbHVlcyBvZiBzaGVsbCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzUwMCw4NCArMzg2NSw4MyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKLSIgICAgLWEgIE1hcmNhIGxhcyB2YXJpYWJsZXMgcXVlIHNlIG1vZGlmaWNhbiBvIGNyZWFuIHBhcmEgZXhwb3J0YWNp824uXG4iCi0iICAgICAgICAtYiAgTm90aWZpY2EgZWwgdOlybWlubyBkZSB0cmFiYWpvcyBpbm1lZGlhdGFtZW50ZS5cbiIKLSIgICAgICAgIC1lICBUZXJtaW5hIGlubWVkaWF0YW1lbnRlIHNpIHVuYSBvcmRlbiB0ZXJtaW5hIGNvbiB1biBlc3RhZG9cbiIKLSIgICAgICAgICAgICBkaWZlcmVudGUgYSBjZXJvLlxuIgotIiAgICAgICAgLWYgIERlc2FjdGl2YSBsYSBnZW5lcmFjafNuIGRlIG5vbWJyZXMgZGUgZmljaGVyb3MgKGVuZ2xvYmFtaWVudG8pLlxuIgotIiAgICAgICAgLWggIFJlY3VlcmRhIGxhIHViaWNhY2nzbiBkZSBsYXMg83JkZW5lcyBjb21vIGZ1ZXJvbiBsb2NhbGl6YWRhcy5cbiIKLSIgICAgICAgIC1rICBUb2RvcyBsb3MgYXJndW1lbnRvcyBkZSBhc2lnbmFjafNuIHNlIGNvbG9jYW4gZW4gZWwgYW1iaWVudGUgIgotInBhcmEgdW5hXG4iCi0iICAgICAgICAgICAgb3JkZW4sIG5vIHNvbG8gYXF1ZWxsb3MgcXVlIHByZWNlZGVuIGFsIG5vbWJyZSBkZSBsYSBvcmRlbi5cbiIKLSIgICAgICAgIC1tICBBY3RpdmEgZWwgY29udHJvbCBkZSB0cmFiYWpvcy5cbiIKLSIgICAgICAgIC1uICBMZWUg83JkZW5lcyBwZXJvIG5vIGxhcyBlamVjdXRhLlxuIgotIiAgICAgICAgLW8gbm9tYnJlLW9wY2lvblxuIgotIiAgICAgICAgICAgIEVzdGFibGVjZSBsYSB2YXJpYWJsZSBjb3JyZXNwb25kaWVudGUgYSBub21icmUtb3BjaW9uOlxuIgotIiAgICAgICAgICAgICAgICBhbGxleHBvcnQgICAgaWd1YWwgcXVlIC1hXG4iCi0iICAgICAgICAgICAgICAgIGJyYWNlZXhwYW5kICBpZ3VhbCBxdWUgLUJcbiIKLSIgICAgICAgICAgICAgICAgZW1hY3MgICAgICAgIHVzYSB1bmEgaW50ZXJmYXogZGUgZWRpY2nzbiBkZSBs7W5lYSBlc3RpbG8gIgotImVtYWNzXG4iCi0iICAgICAgICAgICAgICAgIGVycmV4aXQgICAgICBpZ3VhbCBxdWUgLWVcbiIKLSIgICAgICAgICAgICAgICAgZXJydHJhY2UgICAgIGlndWFsIHF1ZSAtRVxuIgotIiAgICAgICAgICAgICAgICBmdW5jdHJhY2UgICAgaWd1YWwgcXVlIC1UXG4iCi0iICAgICAgICAgICAgICAgIGhhc2hhbGwgICAgICBpZ3VhbCBxdWUgLWhcbiIKLSIgICAgICAgICAgICAgICAgaGlzdGV4cGFuZCAgIGlndWFsIHF1ZSAtSFxuIgotIiAgICAgICAgICAgICAgICBoaXN0b3J5ICAgICAgYWN0aXZhIGxhIGhpc3RvcmlhIGRlIPNyZGVuZXNcbiIKLSIgICAgICAgICAgICAgICAgaWdub3JlZW9mICAgIGVsIHNoZWxsIG5vIHRlcm1pbmFy4SBkZXNwdelzIGRlIGxlZXIgRU9GXG4iCi0iICAgICAgICAgICAgICAgIGludGVyYWN0aXZlLWNvbW1lbnRzXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJtaXRlIHF1ZSBoYXlhIGNvbWVudGFyaW9zIGVuIPNyZGVuZXMgIgotImludGVyYWN0aXZhc1xuIgotIiAgICAgICAgICAgICAgICBrZXl3b3JkICAgICAgaWd1YWwgcXVlIC1rXG4iCi0iICAgICAgICAgICAgICAgIG1vbml0b3IgICAgICBpZ3VhbCBxdWUgLW1cbiIKLSIgICAgICAgICAgICAgICAgbm9jbG9iYmVyICAgIGlndWFsIHF1ZSAtQ1xuIgotIiAgICAgICAgICAgICAgICBub2V4ZWMgICAgICAgaWd1YWwgcXVlIC1uXG4iCi0iICAgICAgICAgICAgICAgIG5vZ2xvYiAgICAgICBpZ3VhbCBxdWUgLWZcbiIKLSIgICAgICAgICAgICAgICAgbm9sb2cgICAgICAgIGFjdHVhbG1lbnRlIHNlIGFjZXB0YSBwZXJvIHNlIGlnbm9yYVxuIgotIiAgICAgICAgICAgICAgICBub3RpZnkgICAgICAgaWd1YWwgcXVlIC1iXG4iCi0iICAgICAgICAgICAgICAgIG5vdW5zZXQgICAgICBpZ3VhbCBxdWUgLXVcbiIKLSIgICAgICAgICAgICAgICAgb25lY21kICAgICAgIGlndWFsIHF1ZSAtdFxuIgotIiAgICAgICAgICAgICAgICBwaHlzaWNhbCAgICAgaWd1YWwgcXVlIC1QXG4iCi0iICAgICAgICAgICAgICAgIHBpcGVmYWlsICAgICBlbCB2YWxvciBkZSBkZXZvbHVjafNuIGRlIHVuYSB0dWJlcu1hIGVzIGVsICIKLSJlc3RhZG9cbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbCD6bHRpbW8gY29tYW5kbyBlbiBzYWxpciBjb24gdW4gZXN0YWRvICIKLSJkaWZlcmVudGVcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlIGNlcm8sIG8gY2VybyBzaSBuaW5ndW5hIG9yZGVuIHRlcm1pbmEgY29uICIKLSJ1blxuIgotIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXN0YWRvIGRpZmVyZW50ZSBkZSBjZXJvXG4iCi0iICAgICAgICAgICAgICAgIHBvc2l4ICAgICAgICBjYW1iaWEgZWwgY29tcG9ydGFtaWVudG8gZGUgYmFzaCBkb25kZSBsYSAiCi0ib3BlcmFjafNuXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3Igb21pc2nzbiBkaWZpZXJlIGRlbCBlc3ThbmRhcmQgMTAwMy4yIHBhcmEgIgotInF1ZVxuIgotIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29pbmNpZGEgY29uIGVsIGVzdOFuZGFyZFxuIgotIiAgICAgICAgICAgICAgICBwcml2aWxlZ2VkICAgaWd1YWwgcXVlIC1wXG4iCi0iICAgICAgICAgICAgICAgIHZlcmJvc2UgICAgICBpZ3VhbCBxdWUgLXZcbiIKLSIgICAgICAgICAgICAgICAgdmkgICAgICAgICAgIHVzYSB1bmEgaW50ZXJmYXogZGUgZWRpY2nzbiBkZSBs7W5lYSBlc3RpbG8gdmlcbiIKLSIgICAgICAgICAgICAgICAgeHRyYWNlICAgICAgIGlndWFsIHF1ZSAteFxuIgotIiAgICAgICAgLXAgIEVuY2VuZGlkbyBjdWFuZG8gbG9zIGlkcyByZWFsIHkgZWZlY3Rpdm8gZGVsIHVzdWFyaW8gbm8gIgotImNvaW5jaWRlbi5cbiIKLSIgICAgICAgICAgICBEZXNhY3RpdmEgZWwgcHJvY2VzYW1pZW50byBkZWwgZmljaGVybyAkRU5WIHkgbGEgaW1wb3J0YWNp824gZGVcbiIKLSIgICAgICAgICAgICBmdW5jaW9uZXMgZGUgc2hlbGwuICBTaSBzZSBkZXNhY3RpdmEgZXN0YSBvcGNp824gY2F1c2EgcXVlIGVsICIKLSJ1aWQgeVxuIgotIiAgICAgICAgICAgIGVsIGdpZCBlZmVjdGl2b3Mgc2VhbiBpZ3VhbGVzIGFsIHVpZCB5IGVsIGdpZCByZWFsLlxuIgotIiAgICAgICAgLXQgIFRlcm1pbmEgZGVzcHXpcyBkZSBsZWVyIHkgZWplY3V0YXIgdW5hIG9yZGVuLlxuIgotIiAgICAgICAgLXUgIFRyYXRhIGxhcyB2YXJpYWJsZXMgc2luIGRlZmluaXIgY29tbyB1biBlcnJvciBhbCBzZXIgIgotInN1c3RpdHVpZGFzLlxuIgotIiAgICAgICAgLXYgIE11ZXN0cmEgbGFzIGztbmVhcyBkZSBlbnRyYWRhIGRlbCBzaGVsbCBtaWVudHJhcyBzZSBsZWVuLlxuIgotIiAgICAgICAgLXggIE11ZXN0cmEgbGFzIPNyZGVuZXMgeSBzdXMgYXJndW1lbnRvcyBtaWVudHJhcyBzZSBlamVjdXRhbi5cbiIKLSIgICAgICAgIC1CICBlbCBzaGVsbCByZWFsaXphcuEgZXhwYW5zafNuIGRlIGxsYXZlcy5cbiIKLSIgICAgICAgIC1DICBTaSBzZSBhY3RpdmEsIG5vIHBlcm1pdGUgcXVlIGxvcyBmaWNoZXJvcyByZWd1bGFyZXMgZXhpc3RlbnRlc1xuIgotIiAgICAgICAgICAgIHNlIHNvYnJlZXNjcmliYW4gcG9yIHJlZGlyZWNjafNuIGRlIGxhIHNhbGlkYS5cbiIKLSIgICAgICAgIC1FICBTaSBzZSBhY3RpdmEsIGxhcyBmdW5jaW9uZXMgZGVsIHNoZWxsIGhlcmVkYW4gbGEgdHJhbXBhIEVSUi5cbiIKLSIgICAgICAgIC1IICBBY3RpdmEgZWwgZXN0aWxvIGRlIHN1c3RpdHVjafNuIGRlIGhpc3RvcmlhICEgLiBFc3RhIG9wY2nzbiAiCi0iZXN04VxuIgotIiAgICAgICAgICAgIGFjdGl2YSBwb3IgZGVmZWN0byBjdWFuZG8gZWwgc2hlbGwgZXMgaW50ZXJhY3Rpdm8uXG4iCi0iICAgICAgICAtUCAgU2kgc2UgYWN0aXZhLCBubyBzaWd1ZSBlbmxhY2VzIHNpbWLzbGljb3MgY3VhbmRvIHNlIGVqZWN1dGFuICIKLSLzcmRlbmVzXG4iCi0iICAgICAgICAgICAgY29tbyBjZCwgZWwgY3VhbCBjYW1iaWEgZWwgZGlyZWN0b3JpbyBhY3R1YWwuXG4iCi0iICAgICAgICAtVCAgU2kgc2UgYWN0aXZhLCBsYXMgZnVuY2lvbmVzIGRlbCBzaGVsbCBoZXJlZGFuIGxhIHRyYW1wYSBERUJVRy5cbiIKLSIgICAgICAgIC0gICBBc2lnbmEgY3VhbHF1aWVyIGFyZ3VtZW50byByZXN0YW50ZSBhIGxvcyBwYXLhbWV0cm9zICIKKyJFc3RhYmxlY2UgbyBib3JyYSBsb3MgdmFsb3JlcyBkZSBsYXMgb3BjaW9uZXMgZGUgc2hlbGwgeSBsb3MgcGFy4W1ldHJvc1xuIgogInBvc2ljaW9uYWxlcy5cbiIKLSIgICAgICAgICAgICBMYXMgb3BjaW9uZXMgLXggeSAtdiBzZSBkZXNhY3RpdmFuLlxuIgorIiAgICBcbiIKKyIgICAgT3BjaW9uZXM6XG4iCisiICAgICAgLWEgIE1hcmNhIGxhcyB2YXJpYWJsZXMgcXVlIHNlIG1vZGlmaWNhbiBvIGNyZWFuIHBhcmEgZXhwb3J0YWNp824uXG4iCisiICAgICAgLWIgIE5vdGlmaWNhIGVsIHTpcm1pbm8gZGUgdHJhYmFqb3MgaW5tZWRpYXRhbWVudGUuXG4iCisiICAgICAgLWUgIFRlcm1pbmEgaW5tZWRpYXRhbWVudGUgc2kgdW5hIG9yZGVuIHRlcm1pbmEgY29uIHVuIGVzdGFkb1xuIgorIiAgICAgICAgICBkaWZlcmVudGUgYSBjZXJvLlxuIgorIiAgICAgIC1mICBEZXNhY3RpdmEgbGEgZ2VuZXJhY2nzbiBkZSBub21icmVzIGRlIGZpY2hlcm9zIChlbmdsb2JhbWllbnRvKS5cbiIKKyIgICAgICAtaCAgUmVjdWVyZGEgbGEgdWJpY2FjafNuIGRlIGxhcyDzcmRlbmVzIGNvbW8gc2UgbG9jYWxpemFyb24uXG4iCisiICAgICAgLWsgIFRvZG9zIGxvcyBhcmd1bWVudG9zIGRlIGFzaWduYWNp824gc2UgY29sb2NhbiBlbiBlbCBhbWJpZW50ZSBwYXJhICIKKyJ1bmFcbiIKKyIgICAgICAgICAgb3JkZW4sIG5vIHNvbG8gYXF1ZWxsb3MgcXVlIHByZWNlZGVuIGFsIG5vbWJyZSBkZSBsYSBvcmRlbi5cbiIKKyIgICAgICAtbSAgQWN0aXZhIGVsIGNvbnRyb2wgZGUgdHJhYmFqb3MuXG4iCisiICAgICAgLW4gIExlZSDzcmRlbmVzIHBlcm8gbm8gbGFzIGVqZWN1dGEuXG4iCisiICAgICAgLW8gbm9tYnJlLW9wY2lvblxuIgorIiAgICAgICAgICBFc3RhYmxlY2UgbGEgdmFyaWFibGUgY29ycmVzcG9uZGllbnRlIGEgbm9tYnJlLW9wY2lvbjpcbiIKKyIgICAgICAgICAgICAgIGFsbGV4cG9ydCAgICBpZ3VhbCBxdWUgLWFcbiIKKyIgICAgICAgICAgICAgIGJyYWNlZXhwYW5kICBpZ3VhbCBxdWUgLUJcbiIKKyIgICAgICAgICAgICAgIGVtYWNzICAgICAgICB1c2EgdW5hIGludGVyZmF6IGRlIGVkaWNp824gZGUgbO1uZWEgZXN0aWxvICIKKyJlbWFjc1xuIgorIiAgICAgICAgICAgICAgZXJyZXhpdCAgICAgIGlndWFsIHF1ZSAtZVxuIgorIiAgICAgICAgICAgICAgZXJydHJhY2UgICAgIGlndWFsIHF1ZSAtRVxuIgorIiAgICAgICAgICAgICAgZnVuY3RyYWNlICAgIGlndWFsIHF1ZSAtVFxuIgorIiAgICAgICAgICAgICAgaGFzaGFsbCAgICAgIGlndWFsIHF1ZSAtaFxuIgorIiAgICAgICAgICAgICAgaGlzdGV4cGFuZCAgIGlndWFsIHF1ZSAtSFxuIgorIiAgICAgICAgICAgICAgaGlzdG9yeSAgICAgIGFjdGl2YSBsYSBoaXN0b3JpYSBkZSDzcmRlbmVzXG4iCisiICAgICAgICAgICAgICBpZ25vcmVlb2YgICAgZWwgc2hlbGwgbm8gdGVybWluYXLhIGRlc3B16XMgZGUgbGVlciBFT0ZcbiIKKyIgICAgICAgICAgICAgIGludGVyYWN0aXZlLWNvbW1lbnRzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVybWl0ZSBxdWUgaGF5YSBjb21lbnRhcmlvcyBlbiDzcmRlbmVzICIKKyJpbnRlcmFjdGl2YXNcbiIKKyIgICAgICAgICAgICAgIGtleXdvcmQgICAgICBpZ3VhbCBxdWUgLWtcbiIKKyIgICAgICAgICAgICAgIG1vbml0b3IgICAgICBpZ3VhbCBxdWUgLW1cbiIKKyIgICAgICAgICAgICAgIG5vY2xvYmJlciAgICBpZ3VhbCBxdWUgLUNcbiIKKyIgICAgICAgICAgICAgIG5vZXhlYyAgICAgICBpZ3VhbCBxdWUgLW5cbiIKKyIgICAgICAgICAgICAgIG5vZ2xvYiAgICAgICBpZ3VhbCBxdWUgLWZcbiIKKyIgICAgICAgICAgICAgIG5vbG9nICAgICAgICBhY3R1YWxtZW50ZSBzZSBhY2VwdGEgcGVybyBzZSBkZXNjYXJ0YVxuIgorIiAgICAgICAgICAgICAgbm90aWZ5ICAgICAgIGlndWFsIHF1ZSAtYlxuIgorIiAgICAgICAgICAgICAgbm91bnNldCAgICAgIGlndWFsIHF1ZSAtdVxuIgorIiAgICAgICAgICAgICAgb25lY21kICAgICAgIGlndWFsIHF1ZSAtdFxuIgorIiAgICAgICAgICAgICAgcGh5c2ljYWwgICAgIGlndWFsIHF1ZSAtUFxuIgorIiAgICAgICAgICAgICAgcGlwZWZhaWwgICAgIGVsIHZhbG9yIGRlIGRldm9sdWNp824gZGUgdW5hIHR1YmVy7WEgZXMgZWwgIgorImVzdGFkb1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbCD6bHRpbW8gY29tYW5kbyBlbiBzYWxpciBjb24gdW4gZXN0YWRvICIKKyJkaWZlcmVudGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBkZSBjZXJvLCBvIGNlcm8gc2kgbmluZ3VuYSBvcmRlbiB0ZXJtaW5hIGNvbiB1blxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGVzdGFkbyBkaWZlcmVudGUgZGUgY2Vyb1xuIgorIiAgICAgICAgICAgICAgcG9zaXggICAgICAgIGNhbWJpYSBlbCBjb21wb3J0YW1pZW50byBkZSBiYXNoIGRvbmRlIGxhICIKKyJvcGVyYWNp825cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3IgZGVmZWN0byBkaWZpZXJlIGRlbCBlc3ThbmRhciBQb3NpeCBwYXJhIHF1ZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvaW5jaWRhIGNvbiBlbCBlc3ThbmRhclxuIgorIiAgICAgICAgICAgICAgcHJpdmlsZWdlZCAgIGlndWFsIHF1ZSAtcFxuIgorIiAgICAgICAgICAgICAgdmVyYm9zZSAgICAgIGlndWFsIHF1ZSAtdlxuIgorIiAgICAgICAgICAgICAgdmkgICAgICAgICAgIHVzYSB1bmEgaW50ZXJmYXogZGUgZWRpY2nzbiBkZSBs7W5lYSBlc3RpbG8gdmlcbiIKKyIgICAgICAgICAgICAgIHh0cmFjZSAgICAgICBpZ3VhbCBxdWUgLXhcbiIKKyIgICAgICAtcCAgQWN0aXZvIGN1YW5kbyBsb3MgaWRzIHJlYWwgeSBlZmVjdGl2byBkZWwgdXN1YXJpbyBubyBjb2luY2lkZW4uXG4iCisiICAgICAgICAgIERlc2FjdGl2YSBlbCBwcm9jZXNhbWllbnRvIGRlbCBmaWNoZXJvICRFTlYgeSBsYSBpbXBvcnRhY2nzbiBkZVxuIgorIiAgICAgICAgICBmdW5jaW9uZXMgZGUgc2hlbGwuICBTaSBzZSBkZXNhY3RpdmEgZXN0YSBvcGNp824gY2F1c2EgcXVlIGVsIHVpZCAiCisieVxuIgorIiAgICAgICAgICBlbCBnaWQgZWZlY3Rpdm9zIHNlYW4gaWd1YWxlcyBhbCB1aWQgeSBlbCBnaWQgcmVhbC5cbiIKKyIgICAgICAtdCAgVGVybWluYSBkZXNwdelzIGRlIGxlZXIgeSBlamVjdXRhciB1bmEgb3JkZW4uXG4iCisiICAgICAgLXUgIFRyYXRhIGxhcyB2YXJpYWJsZXMgc2luIGRlZmluaXIgY29tbyB1biBlcnJvciBzZSBzdXN0aXR1eWVuLlxuIgorIiAgICAgIC12ICBNdWVzdHJhIGxhcyBs7W5lYXMgZGUgZW50cmFkYSBkZWwgc2hlbGwgbWllbnRyYXMgc2UgbGVlbi5cbiIKKyIgICAgICAteCAgTXVlc3RyYSBsYXMg83JkZW5lcyB5IHN1cyBhcmd1bWVudG9zIG1pZW50cmFzIHNlIGVqZWN1dGFuLlxuIgorIiAgICAgIC1CICBlbCBzaGVsbCByZWFsaXphcuEgZXhwYW5zafNuIGRlIGxsYXZlcy5cbiIKKyIgICAgICAtQyAgU2kgc2UgYWN0aXZhLCBubyBwZXJtaXRlIHF1ZSBsb3MgZmljaGVyb3MgcmVndWxhcmVzIGV4aXN0ZW50ZXNcbiIKKyIgICAgICAgICAgc2Ugc29icmVlc2NyaWJhbiBwb3IgcmVkaXJlY2Np824gZGUgbGEgc2FsaWRhLlxuIgorIiAgICAgIC1FICBTaSBzZSBhY3RpdmEsIGxhcyBmdW5jaW9uZXMgZGVsIHNoZWxsIGhlcmVkYW4gbGEgdHJhbXBhIEVSUi5cbiIKKyIgICAgICAtSCAgQWN0aXZhIGVsIGVzdGlsbyBkZSBzdXN0aXR1Y2nzbiBkZSBoaXN0b3JpYSAhIC4gRXN0YSBvcGNp824gZXN04VxuIgorIiAgICAgICAgICBhY3RpdmEgcG9yIGRlZmVjdG8gY3VhbmRvIGVsIHNoZWxsIGVzIGludGVyYWN0aXZvLlxuIgorIiAgICAgIC1QICBTaSBzZSBhY3RpdmEsIG5vIHNpZ3VlIGVubGFjZXMgc2ltYvNsaWNvcyBjdWFuZG8gc2UgZWplY3V0YW4gIgorIvNyZGVuZXNcbiIKKyIgICAgICAgICAgY29tbyBjZCwgcXVlIGNhbWJpYW4gZWwgZGlyZWN0b3JpbyBhY3R1YWwuXG4iCisiICAgICAgLVQgIFNpIHNlIGFjdGl2YSwgbGFzIGZ1bmNpb25lcyBkZWwgc2hlbGwgaGVyZWRhbiBsYSB0cmFtcGEgREVCVUcuXG4iCisiICAgICAgLSAgIEFzaWduYSBjdWFscXVpZXIgYXJndW1lbnRvIHJlc3RhbnRlIGEgbG9zIHBhcuFtZXRyb3MgIgorInBvc2ljaW9uYWxlcy5cbiIKKyIgICAgICAgICAgTGFzIG9wY2lvbmVzIC14IHkgLXYgc2UgZGVzYWN0aXZhbi5cbiIKICIgICAgXG4iCiAiICAgIFNpIHNlIHVzYSArIGVuIGx1Z2FyIGRlIC0gY2F1c2EgcXVlIGVzdGFzIG9wY2lvbmVzIHNlIGRlc2FjdGl2ZW4uIExhc1xuIgogIiAgICBvcGNpb25lcyB0YW1iaeluIHNlIHB1ZWRlbiB1c2FyIGVuIGxhIGludm9jYWNp824gZGVsIHNoZWxsLiAgRWwgIgpAQCAtMzU4NSw5ICszOTQ5LDEyIEBACiAiICAgIGFjdHVhbCBkZSBvcGNpb25lcyBzZSBwdWVkZSBlbmNvbnRyYXIgZW4gJC0uICBMb3MgbiBBUkdzIHJlc3RhbnRlcyBzb25cbiIKICIgICAgcGFy4W1ldHJvcyBwb3NpY2lvbmFsZXMgcXVlIHNlIGFzaWduYW4sIGVuIG9yZGVuLCBhICQxLCAkMiwgLi4gJG4uICBTaSAiCiAibm9cbiIKLSIgICAgc2UgcHJvcG9yY2lvbmEgbmluZ/puIEFSRywgc2UgbXVlc3RyYW4gdG9kYXMgbGFzIHZhcmlhYmxlcyBkZWwgc2hlbGwuIgorIiAgICBzZSBwcm9wb3JjaW9uYSBuaW5n+m4gQVJHLCBzZSBtdWVzdHJhbiB0b2RhcyBsYXMgdmFyaWFibGVzIGRlbCBzaGVsbC5cbiIKKyIgICAgXG4iCisiICAgIEVzdGFkbyBkZSBTYWxpZGE6XG4iCisiICAgIERldnVlbHZlIGNvbiDpeGl0byBhIG1lbm9zIHF1ZSBzZSBwcm9wb3JjaW9uZSB1bmEgb3BjafNuIGluduFsaWRhLiIKIAotIzogYnVpbHRpbnMuYzoxMTAxCisjOiBidWlsdGlucy5jOjExMDQKIG1zZ2lkICIiCiAiVW5zZXQgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzIG9mIHNoZWxsIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuIgogIiAgICBcbiIKQEAgLTM2MDYsOCArMzk3MywyNCBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIE5BTUUgaXMgcmVhZC1vbmx5LiIKIG1zZ3N0ciAiIgorIkRlc2FjdGl2YSB2YWxvcmVzIHkgYXRyaWJ1dG9zIGRlIGxhcyB2YXJpYWJsZXMgeSBmdW5jaW9uZXMgZGVsIHNoZWxsLlxuIgorIiAgICBcbiIKKyIgICAgUG9yIGNhZGEgTk9NQlJFLCBib3JyYSBsYSBmdW5jafNuIG8gdmFyaWFibGUgY29ycmVzcG9uZGllbnRlLlxuIgorIiAgICBcbiIKKyIgICAgT3BjaW9uZXM6XG4iCisiICAgICAgLWZcdHRyYXRhIGNhZGEgTk9NQlJFIGNvbW8gdW5hIGZ1bmNp824gZGUgc2hlbGxcbiIKKyIgICAgICAtdlx0dHJhdGEgY2FkYSBOT01CUkUgY29tbyB1bmEgdmFyaWFibGUgZGUgc2hlbGxcbiIKKyIgICAgXG4iCisiICAgIFNpbiBvcGNpb25lcywgdW5zZXQgcHJpbWVybyB0cmF0YSBkZSBib3JyYXIgdW5hIHZhcmlhYmxlLCB5IHNpIGZhbGxhLFxuIgorIiAgICB0cmF0YSBkZSBib3JyYXIgdW5hIGZ1bmNp824uXG4iCisiICAgIFxuIgorIiAgICBBbGd1bmFzIHZhcmlhYmxlcyBubyBzZSBwdWVkZW4gYm9ycmFyOyB0YW1iaeluIGNvbnN1bHRlIGByZWFkb25seScuXG4iCisiICAgIFxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8gYSBtZW5vcyBxdWUgc2UgcHJvcG9yY2lvbmUgdW5hIG9wY2nzbiBpbnbhbGlkYSBvXG4iCisiICAgIHVuIE5PTUJSRSBzZWEgZGUgc/NsbyBsZWN0dXJhLiIKIAotIzogYnVpbHRpbnMuYzoxMTIxCisjOiBidWlsdGlucy5jOjExMjQKIG1zZ2lkICIiCiAiU2V0IGV4cG9ydCBhdHRyaWJ1dGUgZm9yIHNoZWxsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0zNjI1LDggKzQwMDgsMjUgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgorIkVzdGFibGVjZSBlbCBhdHJpYnV0byBkZSBleHBvcnRhY2nzbiBwYXJhIGxhcyB2YXJpYWJsZXMgZGUgc2hlbGwuXG4iCisiICAgIFxuIgorIiAgICBNYXJjYSBjYWRhIE5PTUJSRSBwYXJhIGV4cG9ydGFjafNuIGF1dG9t4XRpY2EgYWwgYW1iaWVudGUgcGFyYSBsYXMgIgorIvNyZGVuZXNcbiIKKyIgICAgZWplY3V0YWRhcyBzdWJzZWN1ZW50ZW1lbnRlLiAgU2kgc2UgcHJvcG9yY2lvbmEgdW4gVkFMT1IsIHNlIGFzaWduYSBlbFxuIgorIiAgICBWQUxPUiBhbnRlcyBkZSBleHBvcnRhci5cbiIKKyIgICAgXG4iCisiICAgIE9wY2lvbmVzOlxuIgorIiAgICAgIC1mXHRzZSByZWZpZXJlIGEgZnVuY2lvbmVzIGRlIHNoZWxsXG4iCisiICAgICAgLW5cdGJvcnJhIGxhIHByb3BpZWRhZCBkZSBleHBvcnRhY2nzbiBwYXJhIGNhZGEgTk9NQlJFXG4iCisiICAgICAgLXBcdG11ZXN0cmEgdW5hIGxpc3RhIGRlIHRvZGFzIGxhcyB2YXJpYWJsZXMgeSBmdW5jaW9uZXMgZXhwb3J0YWRhc1xuIgorIiAgICBcbiIKKyIgICAgRWwgYXJndW1lbnRvIGAtLScgZGVzYWN0aXZhIGVsIHByb2Nlc2FtaWVudG8gcG9zdGVyaW9yIGRlIG9wY2lvbmVzLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgY29uIOl4aXRvIGEgbWVub3MgcXVlIHNlIHByb3BvcmNpb25lIHVuYSBvcGNp824gaW524WxpZGEgbyBxdWVcbiIKKyIgICAgTk9NQlJFIHNlYSBpbnbhbGlkby4iCiAKLSM6IGJ1aWx0aW5zLmM6MTE0MAorIzogYnVpbHRpbnMuYzoxMTQzCiBtc2dpZCAiIgogIk1hcmsgc2hlbGwgdmFyaWFibGVzIGFzIHVuY2hhbmdlYWJsZS5cbiIKICIgICAgXG4iCkBAIC0zNjQ1LDggKzQwNDUsMjcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgorIk1hcmNhIGxhcyB2YXJpYWJsZXMgZGUgc2hlbGwgcGFyYSBldml0YXIgc3UgbW9kaWZpY2FjafNuLlxuIgorIiAgICBcbiIKKyIgICAgTWFyY2EgY2FkYSBOT01CUkUgY29tbyBkZSBz82xvIGxlY3R1cmE7IGxvcyB2YWxvcmVzIGRlIGVzb3MgTk9NQlJFc1xuIgorIiAgICBubyBzZSBwdWVkZW4gbW9kaWZpY2FyIHBvciBhc2lnbmFjaW9uZXMgc3Vic2VjdWVudGVzLiAgU2kgc2UgIgorInByb3BvcmNpb25hXG4iCisiICAgIHVuIFZBTE9SLCBzZSBhc2lnbmEgZWwgVkFMT1IgYW50ZXMgZGUgbWFyY2FyIGNvbW8gZGUgc/NsbyBsZWN0dXJhLlxuIgorIiAgICBcbiIKKyIgICAgT3BjaW9uZXM6XG4iCisiICAgICAgLWFcdHNlIHJlZmllcmUgYSB2YXJpYWJsZXMgZGUgbWF0cml6IGluZGl6YWRhXG4iCisiICAgICAgLUFcdHNlIHJlZmllcmUgYSB2YXJpYWJsZXMgZGUgbWF0cml6IGFzb2NpYXRpdmFcbiIKKyIgICAgICAtZlx0c2UgcmVmaWVyZSBhIGZ1bmNpb25lcyBkZSBzaGVsbFxuIgorIiAgICAgIC1wXHRtdWVzdHJhIHVuYSBsaXN0YSBkZSB0b2RhcyBsYXMgdmFyaWFibGVzIHkgZnVuY2lvbmVzIGRlIHPzbG8gIgorImxlY3R1cmFcbiIKKyIgICAgXG4iCisiICAgIEVsIGFyZ3VtZW50byBgLS0nIGRlc2FjdGl2YSBlbCBwcm9jZXNhbWllbnRvIHBvc3RlcmlvciBkZSBvcGNpb25lcy5cbiIKKyIgICAgXG4iCisiICAgIEVzdGFkbyBkZSBTYWxpZGE6XG4iCisiICAgIERldnVlbHZlIGNvbiDpeGl0byBhIG1lbm9zIHF1ZSBzZSBwcm9wb3JjaW9uZSB1bmEgb3BjafNuIGluduFsaWRhIG9cbiIKKyIgICAgZWwgTk9NQlJFIHNlYSBpbnbhbGlkby4iCiAKLSM6IGJ1aWx0aW5zLmM6MTE2MQorIzogYnVpbHRpbnMuYzoxMTY0CiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zNjU2LDkgKzQwNzUsMTUgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTiBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gJCMuIgogbXNnc3RyICIiCisiRGVzcGxhemEgbG9zIHBhcuFtZXRyb3MgcG9zaWNpb25hbGVzLlxuIgorIiAgICBcbiIKKyIgICAgUmVub21icmEgbG9zIHBhcuFtZXRyb3MgcG9zaWNpb25hbGVzICROKzEsJE4rMiAuLi4gYSAkMSwkMiAuLi4gU2kgbm9cbiIKKyIgICAgc2UgcHJvcG9yY2lvbmEgTiwgc2UgYXN1bWUgcXVlIGVzIDEuXG4iCisiICAgIFxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8gYSBtZW5vcyBxdWUgTiBzZWEgbmVnYXRpdm8gbyBtYXlvciBxdWUgJCMuIgogCi0jOiBidWlsdGlucy5jOjExNzMgYnVpbHRpbnMuYzoxMTg4Ci0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzoxMTc2IGJ1aWx0aW5zLmM6MTE5MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZyb20gYSBmaWxlIGluIHRoZSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTM2NzEsMTIgKzQwOTYsMTggQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQgaW4gRklMRU5BTUU7IGZhaWxzIGlmXG4iCiAiICAgIEZJTEVOQU1FIGNhbm5vdCBiZSByZWFkLiIKIG1zZ3N0ciAiIgotIkxlZSB5IGVqZWN1dGEg83JkZW5lcyBkZSBGSUxFTkFNRSB5IHJlZ3Jlc2EuICBTZSB1dGlsaXphbiBsb3Mgbm9tYnJlc1xuIgotIiAgICBkZSBydXRhcyBlbiAkUEFUSCBwYXJhIGVuY29udHJhciBlbCBkaXJlY3RvcmlvIHF1ZSBjb250aWVuZSBhIEZJTEVOQU1FLlxuIgotIiAgICBTaSBzZSBwcm9wb3JjaW9uYSBjdWFscXVpZXIgQVJHVU1FTlRTLCBzZSBjb252aWVydGVuIGVuIGxvcyBwYXLhbWV0cm9zXG4iCi0iICAgIHBvc2ljaW9uYWxlcyBjdWFuZG8gc2UgZWplY3V0YSBGSUxFTkFNRS4iCisiRWplY3V0YSDzcmRlbmVzIGRlIHVuIGZpY2hlcm8gZW4gZWwgc2hlbGwgYWN0dWFsLlxuIgorIiAgICBcbiIKKyIgICAgTGVlIHkgZWplY3V0YSDzcmRlbmVzIGRlbCBGSUNIRVJPIGVuIGVsIHNoZWxsIGFjdHVhbC4gIFNlIHV0aWxpemFuIGxhc1xuIgorIiAgICBlbnRyYWRhcyBlbiAkUEFUSCBwYXJhIGVuY29udHJhciBlbCBkaXJlY3RvcmlvIHF1ZSBjb250aWVuZSBlbCBGSUNIRVJPLlxuIgorIiAgICBTaSBzZSBwcm9wb3JjaW9uYSBBUkdVTUVOVE9TLCBzZSBjb252aWVydGVuIGVuIGxvcyBwYXLhbWV0cm9zICIKKyJwb3NpY2lvbmFsZXNcbiIKKyIgICAgY3VhbmRvIHNlIGVqZWN1dGEgZWwgRklDSEVSTy5cbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgZWwgZXN0YWRvIGRlIGxhIPpsdGltYSBvcmRlbiBlamVjdXRhZGEgZGVsIEZJQ0hFUk87IGZhbGxhIHNpXG4iCisiICAgIG5vIHNlIHB1ZWRlIGxlZXIgZWwgRklDSEVSTy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTIwNAorIzogYnVpbHRpbnMuYzoxMjA3CiBtc2dpZCAiIgogIlN1c3BlbmQgc2hlbGwgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM2ODksOSArNDEyMCwyMCBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCisiU3VzcGVuZGUgbGEgZWplY3VjafNuIGRlbCBzaGVsbC5cbiIKKyIgICAgXG4iCisiICAgIFN1c3BlbmRlIGxhIGVqZWN1Y2nzbiBkZSBlc3RlIHNoZWxsIGhhc3RhIHF1ZSByZWNpYmUgdW5hIHNl8WFsIFNJR0NPTlQuXG4iCisiICAgIExvcyBzaGVsbHMgZGUgZW50cmFkYSBubyBzZSBwdWVkZW4gc3VzcGVuZGVyLCBhIG1lbm9zIHF1ZSBzZWFuICIKKyJmb3J6YWRvcy5cbiIKKyIgICAgXG4iCisiICAgIE9wY2lvbmVzOlxuIgorIiAgICAgIC1mXHRmdWVyemEgbGEgc3VzcGVuc2nzbiwgYfpuIHNpIGVsIHNoZWxsIGVzIHVuIHNoZWxsIGRlIGVudHJhZGFcbiIKKyIgICAgXG4iCisiICAgIEVzdGFkbyBkZSBTYWxpZGE6XG4iCisiICAgIERldnVlbHZlIGNvbiDpeGl0byBhIG1lbm9zIHF1ZSBubyBlc3TpIGFjdGl2byBlbCBjb250cm9sIGRlIHRyYWJham9zIG9cbiIKKyIgICAgc3VjZWRhIHVuIGVycm9yLiIKIAotIzogYnVpbHRpbnMuYzoxMjIwCi0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzoxMjIzCiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtMzc2Nyw3ICs0MjA5LDkgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIGlmIEVYUFIgZXZhbHVhdGVzIHRvIHRydWU7IGZhaWxzIGlmIEVYUFIgZXZhbHVhdGVzIHRvXG4iCiAiICAgIGZhbHNlIG9yIGFuIGludmFsaWQgYXJndW1lbnQgaXMgZ2l2ZW4uIgogbXNnc3RyICIiCi0iVGVybWluYSBjb24gdW4gZXN0YWRvIGRlIDAgKHZlcmRhZGVybykgbyAxIChmYWxzbykgZGVwZW5kaWVuZG8gZGVcbiIKKyJFdmFs+mEgZXhwcmVzaW9uZXMgY29uZGljaW9uYWxlcy5cbiIKKyIgICAgXG4iCisiICAgIFRlcm1pbmEgY29uIHVuIGVzdGFkbyBkZSAwICh2ZXJkYWRlcm8pIG8gMSAoZmFsc28pIGRlcGVuZGllbmRvIGRlXG4iCiAiICAgIGxhIGV2YWx1YWNp824gZGUgRVhQUi4gIExhcyBleHByZXNpb25lcyBwdWVkZW4gc2VyIHVuYXJpYXMgbyBiaW5hcmlhcy5cbiIKICIgICAgTGFzIGV4cHJlc2lvbmVzIHVuYXJpYXMgc2UgdXNhbiBnZW5lcmFsbWVudGUgcGFyYSBleGFtaW5hciBlbCBlc3RhZG9cbiIKICIgICAgZGUgdW4gZmljaGVyby4gIEhheSB0YW1iaeluIG9wZXJhZG9yZXMgZGUgY2FkZW5hcywgeSBvcGVyYWRvcmVzIGRlXG4iCkBAIC0zNzc1LDg2ICs0MjE5LDg3IEBACiAiICAgIFxuIgogIiAgICBPcGVyYWRvcmVzIGRlIGZpY2hlcm86XG4iCiAiICAgIFxuIgotIiAgICAgICAgLWEgRklMRSAgICAgICAgVmVyZGFkZXJvIHNpIGVsIGZpY2hlcm8gZXhpc3RlLlxuIgotIiAgICAgICAgLWIgRklMRSAgICAgICAgVmVyZGFkZXJvIHNpIGVsIGZpY2hlcm8gZXMgZXNwZWNpYWwgZGUgYmxvcXVlcy5cbiIKLSIgICAgICAgIC1jIEZJTEUgICAgICAgIFZlcmRhZGVybyBzaSBlbCBmaWNoZXJvIGVzIGVzcGVjaWFsIGRlIGNhcmFjdGVyZXMuXG4iCi0iICAgICAgICAtZCBGSUxFICAgICAgICBWZXJkYWRlcm8gc2kgZWwgZmljaGVybyBlcyB1biBkaXJlY3RvcmlvLlxuIgotIiAgICAgICAgLWUgRklMRSAgICAgICAgVmVyZGFkZXJvIHNpIGVsIGZpY2hlcm8gZXhpc3RlLlxuIgotIiAgICAgICAgLWYgRklMRSAgICAgICAgVmVyZGFkZXJvIHNpIGVsIGZpY2hlcm8gZXhpc3RlIHkgZXMgdW4gZmljaGVybyAiCisiICAgICAgLWEgRklDSEVSTyAgICAgVmVyZGFkZXJvIHNpIGVsIGZpY2hlcm8gZXhpc3RlLlxuIgorIiAgICAgIC1iIEZJQ0hFUk8gICAgIFZlcmRhZGVybyBzaSBlbCBmaWNoZXJvIGVzIGVzcGVjaWFsIGRlIGJsb3F1ZXMuXG4iCisiICAgICAgLWMgRklDSEVSTyAgICAgVmVyZGFkZXJvIHNpIGVsIGZpY2hlcm8gZXMgZXNwZWNpYWwgZGUgY2FyYWN0ZXJlcy5cbiIKKyIgICAgICAtZCBGSUNIRVJPICAgICBWZXJkYWRlcm8gc2kgZWwgZmljaGVybyBlcyB1biBkaXJlY3RvcmlvLlxuIgorIiAgICAgIC1lIEZJQ0hFUk8gICAgIFZlcmRhZGVybyBzaSBlbCBmaWNoZXJvIGV4aXN0ZS5cbiIKKyIgICAgICAtZiBGSUNIRVJPICAgICBWZXJkYWRlcm8gc2kgZWwgZmljaGVybyBleGlzdGUgeSBlcyB1biBmaWNoZXJvICIKICJyZWd1bGFyLlxuIgotIiAgICAgICAgLWcgRklMRSAgICAgICAgVmVyZGFkZXJvIHNpIGVsIGZpY2hlcm8gdGllbmUgYWN0aXZhZG8gZWwgc2V0LWdyb3VwLSIKKyIgICAgICAtZyBGSUNIRVJPICAgICBWZXJkYWRlcm8gc2kgZWwgZmljaGVybyB0aWVuZSBhY3RpdmFkbyBlbCBzZXQtZ3JvdXAtIgogImlkLlxuIgotIiAgICAgICAgLWggRklMRSAgICAgICAgVmVyZGFkZXJvIHNpIGVsIGZpY2hlcm8gZXMgdW4gZW5sYWNlIHNpbWLzbGljby5cbiIKLSIgICAgICAgIC1MIEZJTEUgICAgICAgIFZlcmRhZGVybyBzaSBlbCBmaWNoZXJvIGVzIHVuIGVubGFjZSBzaW1i82xpY28uXG4iCi0iICAgICAgICAtayBGSUxFICAgICAgICBWZXJkYWRlcm8gc2kgZWwgZmljaGVybyB0aWVuZSBlbCBiaXQgXCJzdGlja3lcIiAiCisiICAgICAgLWggRklDSEVSTyAgICAgVmVyZGFkZXJvIHNpIGVsIGZpY2hlcm8gZXMgdW4gZW5sYWNlIHNpbWLzbGljby5cbiIKKyIgICAgICAtTCBGSUNIRVJPICAgICBWZXJkYWRlcm8gc2kgZWwgZmljaGVybyBlcyB1biBlbmxhY2Ugc2ltYvNsaWNvLlxuIgorIiAgICAgIC1rIEZJQ0hFUk8gICAgIFZlcmRhZGVybyBzaSBlbCBmaWNoZXJvIHRpZW5lIGVsIGJpdCBgc3RpY2t5JyAiCiAiYWN0aXZhZG8uXG4iCi0iICAgICAgICAtcCBGSUxFICAgICAgICBWZXJkYWRlcm8gc2kgZWwgZmljaGVybyBlcyB1bmEgdHViZXLtYSBub21icmFkYS5cbiIKLSIgICAgICAgIC1yIEZJTEUgICAgICAgIFZlcmRhZGVybyBzaSBlbCBmaWNoZXJvIGVzIGxlZ2libGUgcGFyYSB1c3RlZC5cbiIKLSIgICAgICAgIC1zIEZJTEUgICAgICAgIFZlcmRhZGVybyBzaSBlbCBmaWNoZXJvIGV4aXN0ZSB5IG5vIGVzdOEgdmFj7W8uXG4iCi0iICAgICAgICAtUyBGSUxFICAgICAgICBWZXJkYWRlcm8gc2kgZWwgZmljaGVybyBlcyB1biBcInNvY2tldFwiLlxuIgotIiAgICAgICAgLXQgRkQgICAgICAgICAgVmVyZGFkZXJvIHNpIGVsIEZEIGVzdOEgYWJpZXJ0byBlbiB1bmEgdGVybWluYWwuXG4iCi0iICAgICAgICAtdSBGSUxFICAgICAgICBWZXJkYWRlcm8gc2kgZWwgZmljaGVybyB0aWVuZSBhY3RpdmFkbyBlbCBzZXQtdXNlci0iCi0iaWQuXG4iCi0iICAgICAgICAtdyBGSUxFICAgICAgICBWZXJkYWRlcm8gc2kgdXN0ZWQgcHVlZGUgbW9kaWZpY2FyIGVsIGZpY2hlcm8uXG4iCi0iICAgICAgICAteCBGSUxFICAgICAgICBWZXJkYWRlcm8gc2kgdXN0ZWQgcHVlZGUgZWplY3V0YXIgZWwgZmljaGVyby5cbiIKLSIgICAgICAgIC1PIEZJTEUgICAgICAgIFZlcmRhZGVybyBzaSB1c3RlZCBlZmVjdGl2YW1lbnRlIHBvc2VlIGVsIGZpY2hlcm8uXG4iCi0iICAgICAgICAtRyBGSUxFICAgICAgICBWZXJkYWRlcm8gc2kgc3UgZ3J1cG8gZWZlY3RpdmFtZW50ZSBwb3NlZSBlbCAiCi0iZmljaGVyby5cbiIKLSIgICAgICAgIC1OIEZJTEUgICAgICAgIFZlcmRhZGVybyBzaSBlbCBmaWNoZXJvIHNlIG1vZGlmaWPzIGRlc2RlIGxhIPpsdGltYSAiCisiICAgICAgLXAgRklDSEVSTyAgICAgVmVyZGFkZXJvIHNpIGVsIGZpY2hlcm8gZXMgdW5hIHR1YmVy7WEgbm9tYnJhZGEuXG4iCisiICAgICAgLXIgRklDSEVSTyAgICAgVmVyZGFkZXJvIHNpIGVsIGZpY2hlcm8gZXMgbGVnaWJsZSBwYXJhIHVzdGVkLlxuIgorIiAgICAgIC1zIEZJQ0hFUk8gICAgIFZlcmRhZGVybyBzaSBlbCBmaWNoZXJvIGV4aXN0ZSB5IG5vIGVzdOEgdmFj7W8uXG4iCisiICAgICAgLVMgRklDSEVSTyAgICAgVmVyZGFkZXJvIHNpIGVsIGZpY2hlcm8gZXMgdW4gYHNvY2tldCcuXG4iCisiICAgICAgLXQgREYgICAgICAgICAgVmVyZGFkZXJvIHNpIGVsIERGIGVzdOEgYWJpZXJ0byBlbiB1bmEgdGVybWluYWwuXG4iCisiICAgICAgLXUgRklDSEVSTyAgICAgVmVyZGFkZXJvIHNpIGVsIGZpY2hlcm8gdGllbmUgYWN0aXZhZG8gZWwgc2V0LXVzZXItaWQuXG4iCisiICAgICAgLXcgRklDSEVSTyAgICAgVmVyZGFkZXJvIHNpIHVzdGVkIHB1ZWRlIGVzY3JpYmlyIGVuIGVsIGZpY2hlcm8uXG4iCisiICAgICAgLXggRklDSEVSTyAgICAgVmVyZGFkZXJvIHNpIHVzdGVkIHB1ZWRlIGVqZWN1dGFyIGVsIGZpY2hlcm8uXG4iCisiICAgICAgLU8gRklDSEVSTyAgICAgVmVyZGFkZXJvIHNpIHVzdGVkIGVmZWN0aXZhbWVudGUgcG9zZWUgZWwgZmljaGVyby5cbiIKKyIgICAgICAtRyBGSUNIRVJPICAgICBWZXJkYWRlcm8gc2kgc3UgZ3J1cG8gZWZlY3RpdmFtZW50ZSBwb3NlZSBlbCBmaWNoZXJvLlxuIgorIiAgICAgIC1OIEZJQ0hFUk8gICAgIFZlcmRhZGVybyBzaSBlbCBmaWNoZXJvIHNlIG1vZGlmaWPzIGRlc2RlIGxhIPpsdGltYSAiCiAibGVjdHVyYS5cbiIKICIgICAgXG4iCi0iICAgICAgRklMRTEgLW50IEZJTEUyICBWZXJkYWRlcm8gc2kgZmlsZTEgZXMgbeFzIHJlY2llbnRlIHF1ZSBmaWxlMlxuIgorIiAgICAgIEZJQ0gxIC1udCBGSUNIMiAgVmVyZGFkZXJvIHNpIGZpY2gxIGVzIG3hcyByZWNpZW50ZSBxdWUgZmljaDJcbiIKICIgICAgICAgICAgICAgICAgICAgICAgIChkZSBhY3VlcmRvIGEgbGEgZmVjaGEgZGUgbW9kaWZpY2FjafNuKS5cbiIKICIgICAgXG4iCi0iICAgICAgRklMRTEgLW90IEZJTEUyICBWZXJkYWRlcm8gc2kgZmlsZTEgZXMgbeFzIGFudGlndW8gcXVlIGZpbGUyLlxuIgorIiAgICAgIEZJQ0gxIC1vdCBGSUNIMiAgVmVyZGFkZXJvIHNpIGZpY2gxIGVzIG3hcyBhbnRpZ3VvIHF1ZSBmaWNoMi5cbiIKICIgICAgXG4iCi0iICAgICAgRklMRTEgLWVmIEZJTEUyICBWZXJkYWRlcm8gc2kgZmlsZTEgZXMgdW4gZW5sYWNlIGR1cm8gYSBmaWxlMi5cbiIKKyIgICAgICBGSUNIMSAtZWYgRklDSDIgIFZlcmRhZGVybyBzaSBmaWNoMSBlcyB1biBlbmxhY2UgZHVybyBhIGZpY2gyLlxuIgogIiAgICBcbiIKICIgICAgT3BlcmFkb3JlcyBkZSBjYWRlbmFzOlxuIgogIiAgICBcbiIKLSIgICAgICAgIC16IFNUUklORyAgICAgIFZlcmRhZGVybyBzaSBsYSBjYWRlbmEgZXN04SB2YWPtYS5cbiIKKyIgICAgICAteiBDQURFTkEgICAgICBWZXJkYWRlcm8gc2kgbGEgY2FkZW5hIGVzdOEgdmFj7WEuXG4iCiAiICAgIFxuIgotIiAgICAgICAgLW4gU1RSSU5HXG4iCi0iICAgICAgICBTVFJJTkcgICAgICAgICBWZXJkYWRlcm8gc2kgbGEgY2FkZW5hIG5vIGVzdOEgdmFj7WEuXG4iCisiICAgICAgLW4gQ0FERU5BXG4iCisiICAgICAgICAgQ0FERU5BICAgICAgVmVyZGFkZXJvIHNpIGxhIGNhZGVuYSBubyBlc3ThIHZhY+1hLlxuIgogIiAgICBcbiIKLSIgICAgICAgIFNUUklORzEgPSBTVFJJTkcyXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICBWZXJkYWRlcm8gc2kgbGFzIGNhZGVuYXMgc29uIGlndWFsZXMuXG4iCi0iICAgICAgICBTVFJJTkcxICE9IFNUUklORzJcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgIFZlcmRhZGVybyBzaSBsYXMgY2FkZW5hcyBubyBzb24gaWd1YWxlcy5cbiIKLSIgICAgICAgIFNUUklORzEgPCBTVFJJTkcyXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICBWZXJkYWRlcm8gc2kgU1RSSU5HMSBzZSBvcmRlbmEgYW50ZXMgcXVlIFNUUklORzJcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgIGxleGljb2dy4WZpY2FtZW50ZS5cbiIKLSIgICAgICAgIFNUUklORzEgPiBTVFJJTkcyXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICBWZXJkYWRlcm8gc2kgU1RSSU5HMSBzZSBvcmRlbmEgZGVzcHXpcyBxdWUgU1RSSU5HMlxuIgotIiAgICAgICAgICAgICAgICAgICAgICAgbGV4aWNvZ3LhZmljYW1lbnRlLlxuIgorIiAgICAgIENBREVOQTEgPSBDQURFTkEyXG4iCisiICAgICAgICAgICAgICAgICAgICAgVmVyZGFkZXJvIHNpIGxhcyBjYWRlbmFzIHNvbiBpZ3VhbGVzLlxuIgorIiAgICAgIENBREVOQTEgIT0gQ0FERU5BMlxuIgorIiAgICAgICAgICAgICAgICAgICAgIFZlcmRhZGVybyBzaSBsYXMgY2FkZW5hcyBubyBzb24gaWd1YWxlcy5cbiIKKyIgICAgICBDQURFTkExIDwgQ0FERU5BMlxuIgorIiAgICAgICAgICAgICAgICAgICAgIFZlcmRhZGVybyBzaSBTVFJJTkcxIHNlIG9yZGVuYSBhbnRlcyBxdWUgU1RSSU5HMlxuIgorIiAgICAgICAgICAgICAgICAgICAgIGxleGljb2dy4WZpY2FtZW50ZS5cbiIKKyIgICAgICBDQURFTkExID4gQ0FERU5BMlxuIgorIiAgICAgICAgICAgICAgICAgICAgIFZlcmRhZGVybyBzaSBTVFJJTkcxIHNlIG9yZGVuYSBkZXNwdelzIHF1ZSBTVFJJTkcyXG4iCisiICAgICAgICAgICAgICAgICAgICAgbGV4aWNvZ3LhZmljYW1lbnRlLlxuIgogIiAgICBcbiIKICIgICAgT3Ryb3Mgb3BlcmFkb3JlczpcbiIKICIgICAgXG4iCi0iICAgICAgICAtbyBPUFRJT04gICAgICBWZXJkYWRlcm8gc2kgbGEgb3BjafNuIGRlbCBzaGVsbCBPUFRJT04gZXN04SAiCi0iYWN0aXZhZGEuXG4iCi0iICAgICAgICAhIEVYUFIgICAgICAgICBWZXJkYWRlcm8gc2kgZXhwciBlcyBmYWxzby5cbiIKLSIgICAgICAgIEVYUFIxIC1hIEVYUFIyIFZlcmRhZGVybyBzaSBleHByMSBZIGV4cHIyIGFyZSBzb24gdmVyZGFkZXJhcy5cbiIKLSIgICAgICAgIEVYUFIxIC1vIEVYUFIyIFZlcmRhZGVybyBzaSBjdWFscXVpZXJhIGRlIGV4cHIxIE8gZXhwcjIgZXMgIgotInZlcmRhZGVyYS5cbiIKKyIgICAgICAtbyBPUENJ004gICAgICBWZXJkYWRlcm8gc2kgbGEgb3BjafNuIGRlbCBzaGVsbCBPUENJ004gZXN04SBhY3RpdmFkYS5cbiIKKyIgICAgICAhIEVYUFIgICAgICAgICBWZXJkYWRlcm8gc2kgZXhwciBlcyBmYWxzby5cbiIKKyIgICAgICBFWFBSMSAtYSBFWFBSMiBWZXJkYWRlcm8gc2kgZXhwcjEgWSBleHByMiBhcmUgc29uIHZlcmRhZGVyYXMuXG4iCisiICAgICAgRVhQUjEgLW8gRVhQUjIgVmVyZGFkZXJvIHNpIGN1YWxxdWllcmEgZGUgZXhwcjEgTyBleHByMiBlcyB2ZXJkYWRlcmEuXG4iCiAiICAgIFxuIgotIiAgICAgICAgYXJnMSBPUCBhcmcyICAgUHJ1ZWJhcyBhcml0bel0aWNhcy4gIE9QIGVzIHVubyBkZSAtZXEsIC1uZSxcbiIKKyIgICAgICBhcmcxIE9QIGFyZzIgICBQcnVlYmFzIGFyaXRt6XRpY2FzLiAgT1AgZXMgdW5vIGRlIC1lcSwgLW5lLFxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgLWx0LCAtbGUsIC1ndCwgb3IgLWdlLlxuIgogIiAgICBcbiIKICIgICAgTG9zIG9wZXJhZG9yZXMgYmluYXJpb3MgYXJpdG3pdGljb3MgZGV2dWVsdmVuIHZlcmRhZGVybyBzaSBBUkcxIGVzXG4iCi0iICAgIGlndWFsLCBubyBpZ3VhbCwgbWVub3IsIG1lbm9yIG8gaWd1YWwsIG1heW9yLCBtYXlvciBvIGlndWFsIHF1ZSBBUkcyLiIKKyIgICAgaWd1YWwsIG5vIGlndWFsLCBtZW5vciwgbWVub3IgbyBpZ3VhbCwgbWF5b3IsIG1heW9yIG8gaWd1YWwgcXVlIEFSRzIuXG4iCisiICAgIFxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8gc2kgRVhQUiBldmFs+mEgYSB2ZXJkYWRlcm87IGZhbGxhIHNpIEVYUFIgZXZhbPphIGFcbiIKKyIgICAgZmFsc28gbyBzZSBwcm9wb3JjaW9uYSB1biBhcmd1bWVudG8gaW524WxpZG8uIgogCi0jOiBidWlsdGlucy5jOjEyOTYKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjEyOTkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCiAiICAgIFRoaXMgaXMgYSBzeW5vbnltIGZvciB0aGUgXCJ0ZXN0XCIgYnVpbHRpbiwgYnV0IHRoZSBsYXN0IGFyZ3VtZW50IG11c3RcbiIKICIgICAgYmUgYSBsaXRlcmFsIGBdJywgdG8gbWF0Y2ggdGhlIG9wZW5pbmcgYFsnLiIKIG1zZ3N0ciAiIgotIkVzdGUgZXMgdW4gc2lu825pbW8gcGFyYSBsYSBvcmRlbiBpbnRlcm5hIFwidGVzdFwiLCBwZXJvIGVsIPpsdGltb1xuIgorIkV2YWz6YSB1bmEgZXhwcmVzafNuIGNvbmRpY2lvbmFsLlxuIgorIiAgICBcbiIKKyIgICAgRXN0ZSBlcyB1biBzaW7zbmltbyBwYXJhIGxhIG9yZGVuIGludGVybmEgXCJ0ZXN0XCIsIHBlcm8gZWwg+mx0aW1vXG4iCiAiICAgIGFyZ3VtZW50byBkZWJlIHNlciB1biBgXScgbGl0ZXJhbCwgcXVlIGNvaW5jaWRhIGNvbiBlbCBgWycgaW5pY2lhbC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTMwNQorIzogYnVpbHRpbnMuYzoxMzA4CiBtc2dpZCAiIgogIkRpc3BsYXkgcHJvY2VzcyB0aW1lcy5cbiIKICIgICAgXG4iCkBAIC0zODY1LDkgKzQzMTAsMTYgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiBtc2dzdHIgIiIKKyJNdWVzdHJhIGxvcyB0aWVtcG9zIGRlIHByb2Nlc28uXG4iCisiICAgIFxuIgorIiAgICBNdWVzdHJhIGxvcyB0aWVtcG9zIGRlIHVzdWFyaW8geSBzaXN0ZW1hIGFjdW11bGFkb3MgcG9yIGVsIHNoZWxsIHkgIgorInRvZG9zXG4iCisiICAgIHN1cyBwcm9jZXNvcyBoaWpvcy5cbiIKKyIgICAgXG4iCisiICAgIEVzdGFkbyBkZSBzYWxpZGE6XG4iCisiICAgIFNpZW1wcmUgY29uIOl4aXRvLiIKIAotIzogYnVpbHRpbnMuYzoxMzE3Ci0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzoxMzIwCiBtc2dpZCAiIgogIlRyYXAgc2lnbmFscyBhbmQgb3RoZXIgZXZlbnRzLlxuIgogIiAgICBcbiIKQEAgLTM5MDIsMjUgKzQzNTQsNDEgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIFNJR1NQRUMgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyAiCiAiZ2l2ZW4uIgogbXNnc3RyICIiCi0iTGEgb3JkZW4gQVJHIHNlIGxlZSB5IGVqZWN1dGEgY3VhbmRvIGVsIHNoZWxsIHJlY2liZSBsYShzKSBzZfFhbChlcylcbiIKLSIgICAgU0lHTkFMX1NQRUMuICBTaSBBUkcgbm8gZXN04SBwcmVzZW50ZSAoeSBz82xvIHNlIHByb3BvcmNpb25hIHVuYSBzb2xhXG4iCi0iICAgIFNJR05BTF9TUEVDKSBvIHNlIHByb3BvcmNpb25hIGAtJywgY2FkYSBzZfFhbCBlc3BlY2lmaWNhZGEgc2VcbiIKLSIgICAgcmVlc3RhYmxlY2UgYSBzdSB2YWxvciBvcmlnaW5hbC4gIFNpIEFSRyBlcyBsYSBjYWRlbmEgbnVsYSwgY2FkYVxuIgotIiAgICBTSUdOQUxfU1BFQyBlcyBpZ25vcmFkYSBwb3IgZWwgc2hlbGwgeSBwb3IgbGFzIPNyZGVuZXMgcXVlIGludm9xdWUuXG4iCi0iICAgIFNpIHVuYSBTSUdOQUxfU1BFQyBlcyBFWElUICgwKSBzZSBlamVjdXRhIGxhIG9yZGVuIEFSRyBhbCBzYWxpciBkZWxcbiIKLSIgICAgc2hlbGwuICBTaSB1bmEgU0lHTkFMX1NQRUMgZXMgREVCVUcsIHNlIGVqZWN1dGEgQVJHIGRlc3B16XMgZGUgY2FkYVxuIgotIiAgICBvcmRlbiBzaW1wbGUuICBTaSBzZSBlc3BlY2lmaWNhIGxhIG9wY2nzbiBgLXAnIGVudG9uY2VzIHNlIG11ZXN0cmFuXG4iCi0iICAgIGxhcyDzcmRlbmVzIGRlIHRyYW1wYSBhc29jaWFkYXMgY29uIGNhZGEgU0lHTkFMX1NQRUMuICBTaSBubyBzZVxuIgotIiAgICBwcm9wb3JjaW9uYW4gYXJndW1lbnRvcyBvIHNpIHPzbG8gc2UgZXNwZWNpZmljYSBgLXAnLCB0cmFwIG11ZXN0cmFcbiIKLSIgICAgbGEgbGlzdGEgZGUg83JkZW5lcyBhc29jaWFkYXMgYSBjYWRhIHNl8WFsLiAgQ2FkYSBTSUdOQUxfU1BFQyBlcyB1blxuIgotIiAgICBub21icmUgZGUgc2XxYWwgZW4gPHNpZ25hbC5oPiBvIHVuIG76bWVybyBkZSBzZfFhbC4gTG9zIG5vbWJyZXMgZGVcbiIKLSIgICAgc2XxYWwgbm8gc29uIHNlbnNpYmxlcyBhIG1hefpzY3VsYXMgeSBtaW76c2N1bGFzIHkgZWwgcHJlZmlqbyBTSUdcbiIKLSIgICAgZXMgb3BjaW9uYWwuICBgdHJhcCAtbCcgbXVlc3RyYSB1bmEgbGlzdGEgZGUgbm9tYnJlcyBkZSBzZfFhbCB5IHN1c1xuIgotIiAgICBu+m1lcm9zIGNvcnJlc3BvbmRpZW50ZXMuICBOb3RlIHF1ZSBzZSBwdWVkZSBlbnZpYXIgdW5hIHNl8WFsIGFsIHNoZWxsICIKLSJjb25cbiIKLSIgICAgXCJraWxsIC1zaWduYWwgJCRcIi4iCisiQXRyYXBhIHNl8WFsZXMgeSBvdHJvcyBldmVudG9zLlxuIgorIiAgICBcbiIKKyIgICAgRGVmaW5lIHkgYWN0aXZhIG1hbmVqYWRvcmVzIGEgZWplY3V0YXIgY3VhbmRvIGVsIHNoZWxsIHJlY2liZSBzZfFhbGVzXG4iCisiICAgIHUgb3RyYXMgY29uZGljaW9uZXMuXG4iCisiICAgIFxuIgorIiAgICBBUkcgZXMgdW5hIG9yZGVuIHBhcmEgbGVlciB5IGVqZWN1dGFyIGN1YW5kbyBlbCBzaGVsbCByZWNpYmUgbGEocylcbiIKKyIgICAgc2XxYWwoZXMpIElEX1NF0UFMLiAgU2kgQVJHIG5vIGVzdOEgcHJlc2VudGUgKHkgc/NsbyBzZSBwcm9wb3JjaW9uYVxuIgorIiAgICB1bmEgc29sYSBJRF9TRdFBTCkgbyBzZSBwcm9wb3JjaW9uYSBgLScsIGNhZGEgc2XxYWwgZXNwZWNpZmljYWRhIHNlXG4iCisiICAgIHJlZXN0YWJsZWNlIGEgc3UgdmFsb3Igb3JpZ2luYWwuICBTaSBBUkcgZXMgbGEgY2FkZW5hIG51bGEsIGVsIHNoZWxsXG4iCisiICAgIHkgbGFzIPNyZGVuZXMgcXVlIGludm9xdWUgaWdub3JhbiBjYWRhIElEX1NF0UFMLlxuIgorIiAgICBcbiIKKyIgICAgU2kgdW5hIElEX1NF0UFMIGVzIEVYSVQgKDApIHNlIGVqZWN1dGEgbGEgb3JkZW4gQVJHIGFsIHNhbGlyIGRlbFxuIgorIiAgICBzaGVsbC4gIFNpIHVuYSBJRF9TRdFBTCBlcyBERUJVRywgc2UgZWplY3V0YSBBUkcgZGVzcHXpcyBkZSBjYWRhXG4iCisiICAgIG9yZGVuIHNpbXBsZS5cbiIKKyIgICAgXG4iCisiICAgIFNpIG5vIHNlIHByb3BvcmNpb25hbiBhcmd1bWVudG9zLCB0cmFwIG11ZXN0cmEgbGEgbGlzdGEgZGUg83JkZW5lc1xuIgorIiAgICBhc29jaWFkYXMgY29uIGNhZGEgc2XxYWwuXG4iCisiICAgIFxuIgorIiAgICBPcGNpb25lczpcbiIKKyIgICAgICAtbFx0bXVlc3RyYSB1bmEgbGlzdGEgZGUgbm9tYnJlcyBkZSBzZfFhbCBjb24gc3UgbvptZXJvICIKKyJjb3JyZXNwb25kaWVudGVcbiIKKyIgICAgICAtcFx0bXVlc3RyYSBsYXMg83JkZW5lcyB0cmFwIGFzb2NpYWRhcyBjb24gY2FkYSBJRF9TRdFBTFxuIgorIiAgICBcbiIKKyIgICAgQ2FkYSBJRF9TRdFBTCBlcyB1biBub21icmUgZGUgc2XxYWwgZW4gPHNpZ25hbC5oPiBvIHVuIG76bWVybyBkZSBzZfFhbC5cbiIKKyIgICAgTG9zIG5vbWJyZXMgZGUgc2XxYWwgbm8gc29uIHNlbnNpYmxlcyBhIG1hefpzY3VsYXMgeSBtaW76c2N1bGFzIHkgZWxcbiIKKyIgICAgcHJlZmlqbyBTSUcgZXMgb3BjaW9uYWwuICBTZSBwdWVkZSBlbnZpYXIgdW5hIHNl8WFsIGFsIHNoZWxsIGNvblxuIgorIiAgICBcImtpbGwgLXNpZ25hbCAkJFwiLiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgY29uIOl4aXRvIGEgbWVub3MgcXVlIHVuYSBJRF9TRdFBTCBzZWEgaW524WxpZGEgbyBzZSAiCisicHJvcG9yY2lvbmVcbiIKKyIgICAgdW5hIG9wY2nzbiBpbnbhbGlkYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTM0OQorIyAgTm8gaGUgdmlzdG8gcXVlIGVzdGUgZmljaGVybyBpbmNsdXlhIGxhIHBvc2liaWxpZGFkIGRlIHRyYWR1Y2lyIGxhcworIyAgcGFsYWJyYXMgcXVlIG11ZXN0cmEgYHR5cGUgLXQnLiBQb3IgZXN0YSByYXrzbiwgc2UgZGVqYW4gZW4gaW5nbOlzLiBjZnVnYQorIzogYnVpbHRpbnMuYzoxMzUyCiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZCB0eXBlLlxuIgogIiAgICBcbiIKQEAgLTM5NDksOSArNDQxNywzNiBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgYWxsIG9mIHRoZSBOQU1FcyBhcmUgZm91bmQ7IGZhaWxzIGlmIGFueSBhcmUgbm90ICIKICJmb3VuZC4iCiBtc2dzdHIgIiIKKyJNdWVzdHJhIGluZm9ybWFjafNuIHNvYnJlIGVsIHRpcG8gZGUgb3JkZW4uXG4iCisiICAgIFxuIgorIiAgICBQb3IgY2FkYSBOT01CUkUsIGluZGljYSBj821vIHNlIGludGVycHJldGFy7WEgc2kgc2UgdXNhIGNvbW8gdW4gbm9tYnJlXG4iCisiICAgIGRlIG9yZGVuLlxuIgorIiAgICBcbiIKKyIgICAgT3BjaW9uZXM6XG4iCisiICAgICAgLWFcdG11ZXN0cmEgdG9kYXMgbGFzIHViaWNhY2lvbmVzIHF1ZSBjb250aWVuZW4gdW4gZWplY3V0YWJsZSBsbGFtYWRvXG4iCisiICAgIFx0Tk9NQlJFOyBpbmNsdXllIGFsaWFzZXMsIPNyZGVuZXMgaW50ZXJuYXMsIHkgZnVuY2lvbmVzLCBzb2xvIHkgc29sbyAiCisic2lcbiIKKyIgICAgXHRubyBzZSB1c/MgdGFtYmnpbiBsYSBvcGNp824gYC1wJ1xuIgorIiAgICAgIC1mXHRzdXByaW1lIGxhIGL6c3F1ZWRhIGRlIGZ1bmNpb25lcyBkZSBzaGVsbFxuIgorIiAgICAgIC1QXHRmdWVyemEgdW5hIGL6c3F1ZWRhIGVuIFBBVEggcG9yIGNhZGEgbm9tYnJlLCBh+m4gc2kgaGF5IHVuIGFsaWFzLFxuIgorIiAgICBcdG9yZGVuIGludGVybmEsIG8gZnVuY2nzbiwgeSBkZXZ1ZWx2ZSBlbCBub21icmUgZGVsIGZpY2hlcm8gZW4gZWwgIgorImRpc2NvXG4iCisiICAgIFx0cXVlIHNlIGVqZWN1dGFy7WFcbiIKKyIgICAgICAtcFx0ZGV2dWVsdmUgeWEgc2VhIGVsIG5vbWJyZSBkZWwgZmljaGVybyBlbiBkaXNjbyBxdWUgc2UgZWplY3V0YXLtYSxcbiIKKyIgICAgXHRvIG5hZGEgc2kgYHR5cGUgLXQgTk9NQlJFJyBubyBkZXZ1ZWx2ZSBgZmljaGVybycuXG4iCisiICAgICAgLXRcdG11ZXN0cmEgdW5hIHNvbGEgcGFsYWJyYSwgcXVlIGVzIHVuYSBkZSBgYWxpYXMnLCBga2V5d29yZCcsXG4iCisiICAgIFx0YGZ1bmN0aW9uJywgYGJ1aWx0aW4nLCBgZmlsZScgbyBgJywgc2kgZWwgTk9NQlJFIGVzIHVuIGFsaWFzLFxuIgorIiAgICBcdHBhbGFicmEgcmVzZXJ2YWRhIGRlbCBzaGVsbCwgZnVuY2nzbiBkZWwgc2hlbGwsIG9yZGVuIGludGVybmEgZGVsXG4iCisiICAgIFx0c2hlbGwsIGZpY2hlcm8gZGUgZGlzY28sIG8gbm8gc2UgZW5jdWVudHJhLCByZXNwZWN0aXZhbWVudGUuXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudG9zOlxuIgorIiAgICAgIE5PTUJSRVx0Tm9tYnJlIGRlIG9yZGVuIGEgaW50ZXJwcmV0YXIuXG4iCisiICAgIFxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8gc2kgc2UgZW5jdWVudHJhbiB0b2RvcyBsb3MgTk9NQlJFczsgZmFsbGEgc2kgbm8gc2VcbiIKKyIgICAgZW5jdWVudHJhIGFsZ3Vuby4iCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MAotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTM4MwogbXNnaWQgIiIKICJNb2RpZnkgc2hlbGwgcmVzb3VyY2UgbGltaXRzLlxuIgogIiAgICBcbiIKQEAgLTM5OTQsNDEgKzQ0ODksNTMgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgotIlVsaW1pdCBwcm92ZWUgY29udHJvbCBzb2JyZSBsb3MgcmVjdXJzb3MgZGlzcG9uaWJsZXMgcGFyYSBsb3NcbiIKLSIgICAgcHJvY2Vzb3MgaW5pY2lhZG9zIHBvciBlbCBzaGVsbCwgZW4gc2lzdGVtYXMgcXVlIHBlcm1pdGVuIGRpY2hvXG4iCi0iICAgIGNvbnRyb2wuICBTaSBzZSBwcm9wb3JjaW9uYSB1bmEgb3BjafNuLCBzZSBpbnRlcnByZXRhIGFz7TpcbiIKKyJNb2RpZmljYSBsb3MgbO1taXRlcyBkZSByZWN1cnNvcyBkZWwgc2hlbGwuXG4iCiAiICAgIFxuIgotIiAgICAgICAgLVNcdHVzYSBlbCBs7W1pdGUgZGUgcmVjdXJzbyBgc29mdCdcbiIKLSIgICAgICAgIC1IXHR1c2EgZWwgbO1taXRlIGRlIHJlY3Vyc28gYGhhcmQnXG4iCi0iICAgICAgICAtYVx0c2UgbXVlc3RyYW4gdG9kb3MgbG9zIGztbWl0ZXMgYWN0dWFsZXNcbiIKLSIgICAgICAgIC1jXHRlbCB0YW1h8W8gbeF4aW1vIGRlIGxvcyBmaWNoZXJvcyBgY29yZScgY3JlYWRvc1xuIgotIiAgICAgICAgLWRcdGVsIHRhbWHxbyBt4XhpbW8gZGVsIHNlZ21lbnRvIGRlIGRhdG9zIGRlIHVuIHByb2Nlc29cbiIKLSIgICAgICAgIC1lXHRsYSBwcmlvcmlkYWQgbeF4aW1hIGRlIGNhbGVuZGFyaXphY2nzbiAoYG5pY2UnKVxuIgotIiAgICAgICAgLWZcdGVsIHRhbWHxbyBt4XhpbW8gZGUgbG9zIGZpY2hlcm9zIGVzY3JpdG9zIHBvciBlbCBzaGVsbCB5XG4iCi0iICAgICAgICAgIFx0c3VzIGhpam9zXG4iCi0iICAgICAgICAtaVx0ZWwgbvptZXJvIG3heGltbyBkZSBzZfFhbGVzIHBlbmRpZW50ZXNcbiIKLSIgICAgICAgIC1sXHRlbCB0YW1h8W8gbeF4aW1vIHF1ZSB1biBwcm9jZXNvIHB1ZWRlIGJsb3F1ZWFyIGVuIG1lbW9yaWFcbiIKLSIgICAgICAgIC1tXHRlbCB0YW1h8W8gbeF4aW1vIHBhcmEgbGFzIHZhcmlhYmxlcyByZXNpZGVudGVzXG4iCi0iICAgICAgICAtblx0ZWwgbvptZXJvIG3heGltbyBkZSBkZXNjcmlwdG9yZXMgZGUgZmljaGVybyBhYmllcnRvc1xuIgotIiAgICAgICAgLXBcdGVsIHRhbWHxbyBkZSBhbG1hY2VuYW1pZW50byBpbnRlcm1lZGlvIHBhcmEgdHViZXLtYXNcbiIKLSIgICAgICAgIC1xXHRlbCB0YW1h8W8gbeF4aW1vIGRlIGJ5dGVzIGVuIGxhcyBjb2xhcyBkZSBtZW5zYWplcyBQT1NJWFxuIgotIiAgICAgICAgLXJcdGxhIHByaW9yaWRhZCBt4XhpbWEgZGUgY2FsZW5kYXJpemFjafNuIGVuIHRpZW1wbyByZWFsXG4iCi0iICAgICAgICAtc1x0ZWwgdGFtYfFvIG3heGltbyBkZSBwaWxhXG4iCi0iICAgICAgICAtdFx0bGEgY2FudGlkYWQgbeF4aW1hIGRlIHRpZW1wbyBkZSBjcHUgZW4gc2VndW5kb3NcbiIKLSIgICAgICAgIC11XHRlbCBu+m1lcm8gbeF4aW1vIGRlIHByb2Nlc29zIGRlIHVzdWFyaW9cbiIKLSIgICAgICAgIC12XHRlbCB0YW1h8W8gZGUgbGEgbWVtb3JpYSB2aXJ0dWFsXG4iCi0iICAgICAgICAteFx0ZWwgbvptZXJvIG3heGltbyBkZSBibG9xdWVvcyBkZSBmaWNoZXJvc1xuIgorIiAgICBQcm92ZWUgY29udHJvbCBzb2JyZSBsb3MgcmVjdXJzb3MgZGlzcG9uaWJsZXMgcGFyYSBlbCBzaGVsbCB5IGxvc1xuIgorIiAgICBwcm9jZXNvcyBxdWUgY3JlYSwgZW4gc2lzdGVtYXMgcXVlIHBlcm1pdGVuIHRhbCBjb250cm9sLlxuIgogIiAgICBcbiIKLSIgICAgU2kgc2UgZXN0YWJsZWNlIExJTUlULCDpc3RlIGVzIGVsIG51ZXZvIHZhbG9yIGRlbCByZWN1cnNvIGVzcGVjaWZpY2FkbztcbiIKLSIgICAgbG9zIHZhbG9yZXMgZXNwZWNpYWxlcyBkZSBkZSBMSU1JVCBgc29mdCcsIGBoYXJkJyB5IGB1bmxpbWl0ZWQnXG4iCisiICAgIE9wY2lvbmVzOlxuIgorIiAgICBcbiIKKyIgICAgICAtU1x0dXNhIGVsIGztbWl0ZSBkZSByZWN1cnNvIGBzb2Z0J1xuIgorIiAgICAgIC1IXHR1c2EgZWwgbO1taXRlIGRlIHJlY3Vyc28gYGhhcmQnXG4iCisiICAgICAgLWFcdG11ZXN0cmEgdG9kb3MgbG9zIGztbWl0ZXMgYWN0dWFsZXNcbiIKKyIgICAgICAtYlx0ZWwgdGFtYfFvIGRlbCBhbG1hY2VuYW1pZW50byBpbnRlcm1lZGlvIGRlbCBgc29ja2V0J1xuIgorIiAgICAgIC1jXHRlbCB0YW1h8W8gbeF4aW1vIGRlIGxvcyBmaWNoZXJvcyBgY29yZScgY3JlYWRvc1xuIgorIiAgICAgIC1kXHRlbCB0YW1h8W8gbeF4aW1vIGRlbCBzZWdtZW50byBkZSBkYXRvcyBkZSB1biBwcm9jZXNvXG4iCisiICAgICAgLWVcdGxhIHByaW9yaWRhZCBt4XhpbWEgZGUgY2FsZW5kYXJpemFjafNuIChgbmljZScpXG4iCisiICAgICAgLWZcdGVsIHRhbWHxbyBt4XhpbW8gZGUgbG9zIGZpY2hlcm9zIGVzY3JpdG9zIHBvciBlbCBzaGVsbCB5IHN1cyAiCisiaGlqb3NcbiIKKyIgICAgICAtaVx0ZWwgbvptZXJvIG3heGltbyBkZSBzZfFhbGVzIHBlbmRpZW50ZXNcbiIKKyIgICAgICAtbFx0ZWwgdGFtYfFvIG3heGltbyBxdWUgdW4gcHJvY2VzbyBwdWVkZSBibG9xdWVhciBlbiBtZW1vcmlhXG4iCisiICAgICAgLW1cdGVsIHRhbWHxbyBt4XhpbW8gcGFyYSBsYXMgdmFyaWFibGVzIHJlc2lkZW50ZXNcbiIKKyIgICAgICAtblx0ZWwgbvptZXJvIG3heGltbyBkZSBkZXNjcmlwdG9yZXMgZGUgZmljaGVybyBhYmllcnRvc1xuIgorIiAgICAgIC1wXHRlbCB0YW1h8W8gZGVsIGFsbWFjZW5hbWllbnRvIGludGVybWVkaW8gcGFyYSB0dWJlcu1hc1xuIgorIiAgICAgIC1xXHRlbCB0YW1h8W8gbeF4aW1vIGRlIGJ5dGVzIGVuIGxhcyBjb2xhcyBkZSBtZW5zYWplcyBQT1NJWFxuIgorIiAgICAgIC1yXHRsYSBwcmlvcmlkYWQgbeF4aW1hIGRlIGNhbGVuZGFyaXphY2nzbiBlbiB0aWVtcG8gcmVhbFxuIgorIiAgICAgIC1zXHRlbCB0YW1h8W8gbeF4aW1vIGRlIHBpbGFcbiIKKyIgICAgICAtdFx0bGEgY2FudGlkYWQgbeF4aW1hIGRlIHRpZW1wbyBkZSBjcHUgZW4gc2VndW5kb3NcbiIKKyIgICAgICAtdVx0ZWwgbvptZXJvIG3heGltbyBkZSBwcm9jZXNvcyBkZSB1c3VhcmlvXG4iCisiICAgICAgLXZcdGVsIHRhbWHxbyBkZSBsYSBtZW1vcmlhIHZpcnR1YWxcbiIKKyIgICAgICAteFx0ZWwgbvptZXJvIG3heGltbyBkZSBibG9xdWVvcyBkZSBmaWNoZXJvc1xuIgorIiAgICBcbiIKKyIgICAgU2kgc2UgZXN0YWJsZWNlIEzNTUlURSwg6XN0ZSBlcyBlbCBudWV2byB2YWxvciBkZWwgcmVjdXJzbyAiCisiZXNwZWNpZmljYWRvO1xuIgorIiAgICBsb3MgdmFsb3JlcyBlc3BlY2lhbGVzIGRlIEzNTUlURSBgc29mdCcsIGBoYXJkJyB5IGB1bmxpbWl0ZWQnXG4iCiAiICAgIGNvcnJlc3BvbmRlbiBhbCBs7W1pdGUgc3VhdmUgYWN0dWFsLCBlbCBs7W1pdGUgZHVybyBhY3R1YWwsIHlcbiIKICIgICAgc2luIGztbWl0ZSwgcmVzcGVjdGl2YW1lbnRlLiAgRGUgb3RyYSBmb3JtYSwgc2UgbXVlc3RyYSBlbCB2YWxvciBhY3R1YWxcbiIKICIgICAgZGUgbG9zIHJlY3Vyc29zIGVzcGVjaWZpY2Fkb3MuICBTaSBubyBzZSBwcm9wb3JjaW9uYSB1bmEgb3BjafNuLCBzZVxuIgotIiAgICBhc3VtZSAtZi4gIExvcyB2YWxvcmVzIHNvbiBlbiBpbmNyZW1lbnRvcyBkZSAxMDI0IGJ5dGVzLCBleGNlcHRvIHBhcmFcbiIKLSIgICAgLXQsIGVsIGN1YWwgZXMgZW4gc2VndW5kb3MsIC1wLCBlbCBjdWFsIGVzIGVuIGluY3JlbWVudG9zIGRlIDUxMiBieXRlcyxcbiIKLSIgICAgeSAtdSwgZWwgY3VhbCBlcyB1biBu+m1lcm8gZGUgcHJvY2Vzb3Mgc2luIGVzY2FsYS4iCisiICAgIGFzdW1lIC1mLlxuIgorIiAgICBcbiIKKyIgICAgTG9zIHZhbG9yZXMgc29uIGVuIGluY3JlbWVudG9zIGRlIDEwMjQgYnl0ZXMsIGV4Y2VwdG8gcGFyYSAtdCwgZWwgY3VhbFxuIgorIiAgICBlcyBlbiBzZWd1bmRvcywgLXAsIGVsIGN1YWwgZXMgZW4gaW5jcmVtZW50b3MgZGUgNTEyIGJ5dGVzLCB5IC11LCBlbFxuIgorIiAgICBjdWFsIGVzIHVuIG76bWVybyBkZSBwcm9jZXNvcyBzaW4gZXNjYWxhLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIHNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgY29uIOl4aXRvIGEgbWVub3MgcXVlIHNlIHByb3BvcmNpb25lIHVuYSBvcGNp824gaW524WxpZGEgbyAiCisic3VjZWRhXG4iCisiICAgIHVuIGVycm9yLiIKIAotIzogYnVpbHRpbnMuYzoxNDI1CisjOiBidWlsdGlucy5jOjE0MjgKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCiAiICAgIFxuIgpAQCAtNDA0NSw4ICs0NTUyLDI0IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE1PREUgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKKyJNdWVzdHJhIG8gZXN0YWJsZWNlIGxhIG3hc2NhcmEgZGUgbW9kbyBkZSBmaWNoZXJvcy5cbiIKKyIgICAgXG4iCisiICAgIEVzdGFibGVjZSBsYSBt4XNjYXJhIGRlIGNyZWFjafNuIGRlIGZpY2hlcm9zIGRlbCB1c3VhcmlvIGEgTU9ETy4gU2kgc2VcbiIKKyIgICAgb21pdGUgZWwgTU9ETywgbXVlc3RyYSBlbCB2YWxvciBhY3R1YWwgZGUgbGEgbeFzY2FyYS5cbiIKKyIgICAgXG4iCisiICAgIFNpIGVsIE1PRE8gZW1waWV6YSBjb24gdW4gZO1naXRvLCBzZSBpbnRlcnByZXRhIGNvbW8gdW4gbvptZXJvIG9jdGFsO1xuIgorIiAgICBkZSBvdHJhIGZvcm1hIGVzIHVuYSBjYWRlbmEgZGUgbW9kbyBzaW1i82xpY28gY29tbyBsYSBxdWUgYWNlcHRhIGNobW9kICIKKyIoMSkuXG4iCisiICAgIFxuIgorIiAgICBPcGNpb25lczpcbiIKKyIgICAgICAtcFx0c2kgc2Ugb21pdGUgZWwgTU9ETywgbXVlc3RyYSBlbiB1bmEgZm9ybWEgcmV1c2FibGUgY29tbyBlbnRyYWRhXG4iCisiICAgICAgLVNcdHNhbGlkYSBzaW1i82xpY2E7IGRlIG90cmEgZm9ybWEgbXVlc3RyYSBlbCBtb2RvIGNvbW8gbvptZXJvIG9jdGFsXG4iCisiICAgIFxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8gYSBtZW5vcyBxdWUgZWwgTU9ETyBzZWEgaW524WxpZG8gbyBzZSBwcm9wb3JjaW9uZVxuIgorIiAgICB1bmEgb3BjafNuIGluduFsaWRhLiIKIAotIzogYnVpbHRpbnMuYzoxNDQ1CisjOiBidWlsdGlucy5jOjE0NDgKIG1zZ2lkICIiCiAiV2FpdCBmb3Igam9iIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC00MDYyLDkgKzQ1ODUsMTkgQEAKICJpc1xuIgogIiAgICBnaXZlbi4iCiBtc2dzdHIgIiIKKyJFc3BlcmEgbGEgdGVybWluYWNp824gZGVsIHRyYWJham8geSBkZXZ1ZWx2ZSBlbCBlc3RhZG8gZGUgc2FsaWRhLlxuIgorIiAgICBcbiIKKyIgICAgRXNwZXJhIGFsIHByb2Nlc28gaWRlbnRpZmljYWRvIHBvciBJRCwgZWwgY3VhbCBwdWVkZSBzZXIgdW4gSUQgZGVcbiIKKyIgICAgcHJvY2VzbyBvIHVuYSBlc3BlY2lmaWNhY2nzbiBkZSB0cmFiYWpvLCB5IHJlcG9ydGEgc3UgZXN0YWRvIGRlIHNhbGlkYS5cbiIKKyIgICAgU2kgbm8gc2UgcHJvcG9yY2lvbmEgdW4gSUQsIGVzcGVyYSBhIHRvZG9zIGxvcyBwcm9jZXNvcyBoaWpvIGFjdGl2b3MsXG4iCisiICAgIHkgZWwgZXN0YWRvIGRlIGRldm9sdWNp824gZXMgY2Vyby4gIFNpIElEIGVzIHVuYSBlc3BlY2lmaWNhY2nzbiBkZVxuIgorIiAgICB0cmFiYWpvLCBlc3BlcmEgYSB0b2RvcyBsb3MgcHJvY2Vzb3MgZW4gbGEgY29sYSBkZSB0cmFiYWpvcy5cbiIKKyIgICAgXG4iCisiICAgIEVzdGFkbyBkZSBTYWxpZGE6XG4iCisiICAgIERldnVlbHZlIGVsIGVzdGFkbyBkZSBJRDsgZmFsbGEgc2kgSUQgZXMgaW524WxpZG8gbyBzZSBwcm9wb3JjaW9uYSB1bmFcbiIKKyIgICAgb3BjafNuIGluduFsaWRhLiIKIAotIzogYnVpbHRpbnMuYzoxNDYzCi0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzoxNDY2CiBtc2dpZCAiIgogIldhaXQgZm9yIHByb2Nlc3MgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTQwNzcsMTUgKzQ2MTAsMTcgQEAKICJpc1xuIgogIiAgICBnaXZlbi4iCiBtc2dzdHIgIiIKLSJFc3BlcmEgYWwgcHJvY2VzbyBlc3BlY2lmaWNhZG8geSByZXBvcnRhIHN1IGVzdGFkbyBmaW5hbC4gIFNpIG5vIHNlXG4iCi0iICAgIHByb3BvcmNpb25hIE4sIGVzcGVyYSBhIHRvZG9zIGxvcyBwcm9jZXNvcyBoaWpvIGFjdGl2b3MgYWN0dWFsbWVudGUsXG4iCi0iICAgIHkgZWwgY/NkaWdvIGRlIGRldm9sdWNp824gZXMgY2Vyby4gIE4gcHVlZGUgc2VyIHVuIElEIGRlIHByb2Nlc28gb1xuIgotIiAgICB1bmEgZXNwZWNpZmljYWNp824gZGUgdHJhYmFqbzsgc2kgc2UgcHJvcG9yY2lvbmEgdW5hIGVzcGVjaWZpY2FjafNuXG4iCi0iICAgIGRlIHRyYWJham8sIHNlIGVzcGVyYSBhIHRvZG9zIGxvcyBwcm9jZXNvcyBlbiBsYSBs7W5lYSBkZSBlamVjdWNp825cbiIKLSIgICAgZGVsIHRyYWJham8uIgorIkVzcGVyYSBsYSB0ZXJtaW5hY2nzbiBkZWwgdHJhYmFqbyB5IGRldnVlbHZlIGVsIGVzdGFkbyBkZSBzYWxpZGEuXG4iCisiICAgIFxuIgorIiAgICBFc3BlcmEgYWwgcHJvY2VzbyBlc3BlY2lmaWNhZG8geSByZXBvcnRhIHN1IGVzdGFkbyBkZSBzYWxpZGEuICBTaVxuIgorIiAgICBubyBzZSBwcm9wb3JjaW9uYSB1biBQSUQsIGVzcGVyYSBhIHRvZG9zIGxvcyBwcm9jZXNvcyBoaWpvIGFjdGl2b3MsXG4iCisiICAgIHkgZWwgY/NkaWdvIGRlIGRldm9sdWNp824gZXMgY2Vyby4gIFBJRCBkZWJlIHNlciB1biBJRCBkZSBwcm9jZXNvLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgZWwgZXN0YWRvIGRlIElEOyBmYWxsYSBzaSBJRCBlcyBpbnbhbGlkbyBvIHNlIHByb3BvcmNpb25hIHVuYVxuIgorIiAgICBvcGNp824gaW524WxpZGEuIgogCi0jOiBidWlsdGlucy5jOjE0NzgKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjE0ODEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTQwOTcsMTMgKzQ2MzIsMTcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgotIkVsIGNpY2xvIGBmb3InIGVqZWN1dGEgdW5hIHNlY3VlbmNpYSBkZSDzcmRlbmVzIHBhcmEgY2FkYSBtaWVtYnJvXG4iCi0iICAgIGxpc3RhIGRlIGVsZW1lbnRvcy4gIFNpIGBpbiBXT1JEUyAuLi47JyBubyBlc3ThIHByZXNlbnRlLCBlbnRvbmNlc1xuIgotIiAgICBzZSBhc3VtZSBgaW4gXCIkQFwiJy4gIFBhcmEgY2FkYSBlbGVtZW50byBlbiBXT1JEUywgc2UgZGVmaW5lIE5BTUVcbiIKLSIgICAgY29tbyBlc2UgZWxlbWVudG8sIHkgc2UgZWplY3V0YW4gQ09NTUFORFMuIgorIkVqZWN1dGEg83JkZW5lcyBwb3IgY2FkYSBtaWVtYnJvIGVuIHVuYSBsaXN0YS5cbiIKKyIgICAgXG4iCisiICAgIEVsIGNpY2xvIGBmb3InIGVqZWN1dGEgdW5hIHNlY3VlbmNpYSBkZSDzcmRlbmVzIHBhcmEgY2FkYSBtaWVtYnJvIGVuXG4iCisiICAgIHVuYSBsaXN0YSBkZSBlbGVtZW50b3MuICBTaSBgaW4gUEFMQUJSQVMgLi4uOycgbm8gZXN04SBwcmVzZW50ZSxcbiIKKyIgICAgZW50b25jZXMgc2UgYXN1bWUgYGluIFwiJEBcIicuICBQYXJhIGNhZGEgZWxlbWVudG8gZW4gUEFMQUJSQVMsXG4iCisiICAgIHNlIGRlZmluZSBOT01CUkUgY29tbyBlc2UgZWxlbWVudG8sIHkgc2UgZWplY3V0YW4gbGFzINNSREVORVMuXG4iCisiICAgIFxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICBEZXZ1ZWx2ZSBlbCBlc3RhZG8gZGUgbGEg+mx0aW1hIG9yZGVuIGVqZWN1dGFkYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5MgotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTQ5NQogbXNnaWQgIiIKICJBcml0aG1ldGljIGZvciBsb29wLlxuIgogIiAgICBcbiIKQEAgLTQxMTksMTcgKzQ2NTgsMjEgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgotIkVxdWl2YWxlbnRlIGFcbiIKKyJBcml0bel0aWNhIHBhcmEgdW4gY2ljbG8uXG4iCisiICAgIFxuIgorIiAgICBFcXVpdmFsZW50ZSBhXG4iCiAiICAgIFx0KCggRVhQMSApKVxuIgogIiAgICBcdHdoaWxlICgoIEVYUDIgKSk7IGRvXG4iCi0iICAgIFx0XHRDT01NQU5EU1xuIgorIiAgICBcdFx001JERU5FU1xuIgogIiAgICBcdFx0KCggRVhQMyApKVxuIgogIiAgICBcdGRvbmVcbiIKICIgICAgRVhQMSwgRVhQMiwgeSBFWFAzIHNvbiBleHByZXNpb25lcyBhcml0bel0aWNhcy4gIFNpIHNlIG9taXRlXG4iCi0iICAgIGN1YWxxdWllciBleHByZXNp824sIHNlIGNvbXBvcnRhIGNvbW8gc2kgc2UgZXZhbHVhcmEgYSAxLiIKKyIgICAgY3VhbHF1aWVyIGV4cHJlc2nzbiwgc2UgY29tcG9ydGEgY29tbyBzaSBzZSBldmFsdWFyYSBhIDEuXG4iCisiICAgIFxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICBEZXZ1ZWx2ZSBlbCBlc3RhZG8gZGUgbGEg+mx0aW1hIG9yZGVuIGVqZWN1dGFkYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTUxMAotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTUxMwogbXNnaWQgIiIKICJTZWxlY3Qgd29yZHMgZnJvbSBhIGxpc3QgYW5kIGV4ZWN1dGUgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtNDE0OCwyMiArNDY5MSwyNSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCi0iU2UgZXhwYW5kZW4gV09SRFMsIGdlbmVyYW5kbyB1bmEgbGlzdGEgZGUgcGFsYWJyYXMuICBFbFxuIgotIiAgICBjb25qdW50byBkZSBwYWxhYnJhcyBleHBhbmRpZGFzIHNlIG11ZXN0cmEgZW4gbGEgc2FsaWRhXG4iCi0iICAgIGRlIGVycm9yIGVzdOFuZGFyZCwgY2FkYSB1bmEgcHJlY2VkaWRhIHBvciB1biBu+m1lcm8uICBTaVxuIgotIiAgICBgaW4gV09SRFMnIG5vIGVzdOEgcHJlc2VudGUsIHNlIGFzdW1lIGBpbiBcIiRAXCInLiAgRW50b25jZXNcbiIKLSIgICAgc2UgbXVlc3RyYSBlbCBwcm9tcHQgUFMzIHkgc2UgbGVlIHVuYSBs7W5lYSBkZSBsYSBlbnRyYWRhXG4iCi0iICAgIGVzdOFuZGFyZC4gIFNpIGxhIGztbmVhIGNvbnNpc3RlIGVuIGVsIG76bWVybyBjb3JyZXNwb25kaWVudGVcbiIKLSIgICAgYSB1bmEgZGUgbGFzIHBhbGFicmFzIG1vc3RyYWRhcywgZW50b25jZXMgc2UgZGVmaW5lIE5BTUUgY29tb1xuIgotIiAgICBlc2EgcGFsYWJyYS4gIFNpIGxhIGxpbmVhIGVzdOEgdmFj7WEsIFdPUkRTIHkgZWwgcHJvbXB0IHNlXG4iCi0iICAgIG11ZXN0cmFuIGRlIG51ZXZvLiAgU2kgc2UgbGVlIEVPRiwgc2UgY29tcGxldGEgbGEgb3JkZW4uXG4iCi0iICAgIEN1YWxxdWllciBvdHJvIHZhbG9yIGxl7WRvIGNhdXNhIHF1ZSBOQU1FIHNlIGRlZmluYSBjb21vIG51bGwuXG4iCi0iICAgIExhIGztbmVhIGxl7WRhIHNlIGd1YXJkYSBlbiBsYSB2YXJpYWJsZSBSRVBMWS4gIFNlIGVqZWN1dGFuXG4iCi0iICAgIENPTU1BTkRTIGRlc3B16XMgZGUgY2FkYSBzZWxlY2Np824gaGFzdGEgcXVlIHNlIGVqZWN1dGFcbiIKLSIgICAgdW5hIG9yZGVuIGJyZWFrLiIKKyJTZWxlY2Npb25hIHBhbGFicmFzIGRlIHVuYSBsaXN0YSB5IGVqZWN1dGEg83JkZW5lcy5cbiIKKyIgICAgXG4iCisiICAgIFNlIGV4cGFuZGVuIGxhcyBQQUxBQlJBUywgZ2VuZXJhbmRvIHVuYSBsaXN0YSBkZSBwYWxhYnJhcy4gIEVsXG4iCisiICAgIGNvbmp1bnRvIGRlIHBhbGFicmFzIGV4cGFuZGlkYXMgc2UgbXVlc3RyYSBlbiBsYSBzYWxpZGEgZGUgZXJyb3JcbiIKKyIgICAgZXN04W5kYXIsIGNhZGEgdW5hIHByZWNlZGlkYSBwb3IgdW4gbvptZXJvLiAgU2kgYGluIFBBTEFCUkFTJyBub1xuIgorIiAgICBlc3ThIHByZXNlbnRlLCBzZSBhc3VtZSBgaW4gXCIkQFwiJy4gIEVudG9uY2VzIHNlIG11ZXN0cmEgZWxcbiIKKyIgICAgcHJvbXB0IFBTMyB5IHNlIGxlZSB1bmEgbO1uZWEgZGUgbGEgZW50cmFkYSBlc3ThbmRhci4gIFNpIGxhXG4iCisiICAgIGztbmVhIGNvbnNpc3RlIGVuIGVsIG76bWVybyBjb3JyZXNwb25kaWVudGUgYSB1bmEgZGUgbGFzIHBhbGFicmFzXG4iCisiICAgIG1vc3RyYWRhcywgZW50b25jZXMgc2UgZGVmaW5lIE5PTUJSRSBjb21vIGVzYSBwYWxhYnJhLiAgU2kgbGFcbiIKKyIgICAgbO1uZWEgZXN04SB2YWPtYSwgUEFMQUJSQVMgeSBlbCBwcm9tcHQgc2UgbXVlc3RyYW4gZGUgbnVldm8uICBTaVxuIgorIiAgICBzZSBsZWUgRU9GLCBzZSBjb21wbGV0YSBsYSBvcmRlbi4gIEN1YWxxdWllciBvdHJvIHZhbG9yIGxl7WRvXG4iCisiICAgIGNhdXNhIHF1ZSBOT01CUkUgc2UgZGVmaW5hIGNvbW8gbnVsby4gIExhIGztbmVhIGxl7WRhIHNlIGd1YXJkYVxuIgorIiAgICBlbiBsYSB2YXJpYWJsZSBSRVBMWS4gIFNlIGVqZWN1dGFuIGxhcyDTUkRFTkVTIGRlc3B16XMgZGUgY2FkYVxuIgorIiAgICBzZWxlY2Np824gaGFzdGEgcXVlIHNlIGVqZWN1dGEgdW5hIG9yZGVuIGJyZWFrLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgZWwgZXN0YWRvIGRlIGxhIPpsdGltYSBvcmRlbiBlamVjdXRhZGEuIgogCi0jOiBidWlsdGlucy5jOjE1MzEKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjE1MzQKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtNDE3OCwxNSArNDcyNCwxOSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlIHJldHVybiBzdGF0dXMgb2YgUElQRUxJTkUuIgogbXNnc3RyICIiCi0iRWplY3V0YSBQSVBFTElORSB5IG11ZXN0cmEgdW4gcmVzdW1lbiBkZWwgdGllbXBvIHJlYWwsIGVsIHRpZW1wbyBkZVxuIgorIlJlcG9ydGEgZWwgdGllbXBvIGNvbnN1bWlkbyBwb3IgbGEgZWplY3VjafNuIGRlIGxhIHR1YmVy7WEuXG4iCisiICAgIFxuIgorIiAgICBFamVjdXRhIGxhIFRVQkVSzUEgeSBtdWVzdHJhIHVuIHJlc3VtZW4gZGVsIHRpZW1wbyByZWFsLCBlbCB0aWVtcG8gZGVcbiIKICIgICAgQ1BVIGRlbCB1c3VhcmlvLCB5IGVsIHRpZW1wbyBkZSBDUFUgZGVsIHNpc3RlbWEgdXRpbGl6YWRvIHBvclxuIgotIiAgICBsYSBlamVjdWNp824gZGUgUElQRUxJTkUgY3VhbmRvIHRlcm1pbmEuICBFbCBlc3RhZG8gZGUgZGV2b2x1Y2nzblxuIgotIiAgICBlcyBlbCBlc3RhZG8gZGUgZGV2b2x1Y2nzbiBkZSBQSVBFTElORS4gIExhIG9wY2nzbiBgLXAnIG11ZXN0cmFcbiIKLSIgICAgZWwgcmVzdW1lbiBkZSB0aWVtcG9zIGVuIHVuIGZvcm1hdG8gbGlnZXJhbWVudGUgZGlmZXJlbnRlLCB1c2FuZG9cbiIKLSIgICAgZWwgdmFsb3IgZGUgbGEgdmFyaWFibGUgVElNRUZPUk1BVCBjb21vIGVsIGZvcm1hdG8gZGUgc2FsaWRhLiIKKyIgICAgbGEgZWplY3VjafNuIGRlIGxhIFRVQkVSzUEgY3VhbmRvIHRlcm1pbmEuXG4iCisiICAgIFxuIgorIiAgICBPcGNpb25lczpcbiIKKyIgICAgICAtcFx0bXVlc3RyYSBlbCByZXN1bWVuIGRlIHRpZW1wb3MgZW4gZWwgZm9ybWF0byBQb3NpeCB0cmFuc3BvcnRhYmxlXG4iCisiICAgIFxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICBFbCBlc3RhZG8gZGUgZGV2b2x1Y2nzbiBlcyBlbCBlc3RhZG8gZGUgZGV2b2x1Y2nzbiBkZSBsYSBUVUJFUs1BLiIKIAotIzogYnVpbHRpbnMuYzoxNTQ4Ci0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzoxNTUxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gcGF0dGVybiBtYXRjaGluZy5cbiIKICIgICAgXG4iCkBAIC00MTk2LDExICs0NzQ2LDE1IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKLSJFamVjdXRhINNSREVORVMgc2VsZWN0aXZhbWVudGUgYmFzYWRvIGVuIGNvaW5jaWRlbmNpYXMgZGUgbGEgUEFMQUJSQSBjb25cbiIKLSIgICAgZWwgUEFUUtNOLiBTZSB1dGlsaXphIGB8JyBwYXJhIHNlcGFyYXIgcGF0cm9uZXMgbfpsdGlwbGVzLiIKKyJFamVjdXRhIPNyZGVuZXMgZW4gYmFzZSBhIGxhIGNvaW5jaWRlbmNpYSBkZSBwYXRyb25lcy5cbiIKKyIgICAgXG4iCisiICAgIEVqZWN1dGEg01JERU5FUyBzZWxlY3RpdmFtZW50ZSBiYXNhZG8gZW4gY29pbmNpZGVuY2lhcyBkZSBsYSBQQUxBQlJBXG4iCisiICAgIGNvbiBlbCBQQVRS004uIFNlIHV0aWxpemEgYHwnIHBhcmEgc2VwYXJhciBwYXRyb25lcyBt+mx0aXBsZXMuXG4iCisiICAgIFxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICBEZXZ1ZWx2ZSBlbCBlc3RhZG8gZGUgbGEg+mx0aW1hIG9yZGVuIGVqZWN1dGFkYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU2MAotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTU2MwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIGNvbmRpdGlvbmFsLlxuIgogIiAgICBcbiIKQEAgLTQyMjAsMjAgKzQ3NzQsMjMgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgotIlNlIGVqZWN1dGEgbGEgbGlzdGEgYGlmIENPTU1BTkRTJy4gIFNpIHN1IGVzdGFkbyBkZSBzYWxpZGEgZXMgY2VybyxcbiIKLSIgICAgZW50b25jZXMgc2UgZWplY3V0YSBsYSBsaXN0YSBgdGhlbiBDT01NQU5EU2AuICBEZSBvdHJhIGZvcm1hLCBjYWRhICIKLSJsaXN0YVxuIgotIiAgICBgZWxpZiBDT01NQU5EUycgc2UgZWplY3V0YSBlbiBzdSBsdWdhciwgeSBzaSBzdSBlc3RhZG8gZGUgc2FsaWRhIGVzICIKKyJFamVjdXRhIGNvbWFuZG9zIGVuIGJhc2UgYSBjb25kaWNpb25hbGVzLlxuIgorIiAgICBcbiIKKyIgICAgU2UgZWplY3V0YSBsYSBsaXN0YSBgaWYg01JERU5FUycuICBTaSBzdSBlc3RhZG8gZGUgc2FsaWRhIGVzIGNlcm8sXG4iCisiICAgIGVudG9uY2VzIHNlIGVqZWN1dGEgbGEgbGlzdGEgYHRoZW4g01JERU5FU2AuICBEZSBvdHJhIGZvcm1hLCBjYWRhIGxpc3RhXG4iCisiICAgIGBlbGlmINNSREVORVMnIHNlIGVqZWN1dGEgZW4gc3UgbHVnYXIsIHkgc2kgc3UgZXN0YWRvIGRlIHNhbGlkYSBlcyAiCiAiY2VybyxcbiIKLSIgICAgc2UgZWplY3V0YSBsYSBsaXN0YSBjb3JyZXNwb25kaWVudGUgYHRoZW4gQ09NTUFORFMnIHkgc2UgY29tcGxldGEgbGFcbiIKLSIgICAgb3JkZW4gaWYuICBEZSBvdHJhIGZvcm1hLCBzZSBlamVjdXRhIGxhIGxpc3RhIGBlbHNlIENPTU1BTkRTJywgc2kgZXN04VxuIgorIiAgICBzZSBlamVjdXRhIGxhIGxpc3RhIGB0aGVuINNSREVORVMnIGNvcnJlc3BvbmRpZW50ZSB5IHNlIGNvbXBsZXRhIGxhXG4iCisiICAgIG9yZGVuIGlmLiAgRGUgb3RyYSBmb3JtYSwgc2UgZWplY3V0YSBsYSBsaXN0YSBgZWxzZSDTUkRFTkVTJywgc2kgZXN04VxuIgogIiAgICBwcmVzZW50ZS4gIEVsIGVzdGFkbyBkZSBzYWxpZGEgZGUgdG9kYSBsYSBjb25zdHJ1Y2Np824gZXMgZWwgZXN0YWRvIGRlXG4iCiAiICAgIHNhbGlkYSBkZSBsYSD6bHRpbWEgb3JkZW4gZWplY3V0YWRhLCBvIGNlcm8gc2kgbmluZ3VuYSBjb25kaWNp824gIgogInJlc3VsdPNcbiIKLSIgICAgdmVyZGFkZXJhLiIKKyIgICAgdmVyZGFkZXJhLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgZWwgZXN0YWRvIGRlIGxhIPpsdGltYSBvcmRlbiBlamVjdXRhZGEuIgogCi0jOiBidWlsdGlucy5jOjE1NzcKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjE1ODAKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKICIgICAgXG4iCkBAIC00MjQzLDExICs0ODAwLDE1IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKLSJFeHBhbmRlIHkgZWplY3V0YSDTUkRFTkVTIG1pZW50cmFzIGxhIG9yZGVuIGZpbmFsIGVuIGxhcyDTUkRFTkVTXG4iCi0iICAgIGB3aGlsZScgdGVuZ2EgdW4gZXN0YWRvIGRlIHNhbGlkYSBkZSBjZXJvLiIKKyJFamVjdXRhIPNyZGVuZXMgbWllbnRyYXMgdW5hIHBydWViYSB0ZW5nYSDpeGl0by5cbiIKKyIgICAgXG4iCisiICAgIEV4cGFuZGUgeSBlamVjdXRhINNSREVORVMgbWllbnRyYXMgbGEgb3JkZW4gZmluYWwgZW4gbGFzINNSREVORVNcbiIKKyIgICAgYHdoaWxlJyB0ZW5nYSB1biBlc3RhZG8gZGUgc2FsaWRhIGRlIGNlcm8uXG4iCisiICAgIFxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICBEZXZ1ZWx2ZSBlbCBlc3RhZG8gZGUgbGEg+mx0aW1hIG9yZGVuIGVqZWN1dGFkYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU4OQotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTU5MgogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IGRvZXMgbm90IHN1Y2NlZWQuXG4iCiAiICAgIFxuIgpAQCAtNDI1NywxMCArNDgxOCwxNSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCi0iRXhwYW5kZSB5IGVqZWN1dGEg01JERU5FUyBtaWVudHJhcyBsYSBvcmRlbiBmaW5hbCBlbiBsYXMg01JERU5FU1xuIgotIiAgICBgdW50aWwnIHRlbmdhbiB1biBlc3RhZG8gZGUgc2FsaWRhIHF1ZSBubyBzZWEgY2Vyby4iCisiRWplY3V0YSDzcmRlbmVzIG1pZW50cmFzIHVuYSBwcnVlYmEgbm8gdGVuZ2Eg6XhpdG8uXG4iCisiICAgIFxuIgorIiAgICBFeHBhbmRlIHkgZWplY3V0YSDTUkRFTkVTIG1pZW50cmFzIGxhIG9yZGVuIGZpbmFsIGVuIGxhcyDTUkRFTkVTXG4iCisiICAgIGB1bnRpbCcgdGVuZ2FuIHVuIGVzdGFkbyBkZSBzYWxpZGEgcXVlIG5vIHNlYSBjZXJvLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgZWwgZXN0YWRvIGRlIGxhIPpsdGltYSBvcmRlbiBlamVjdXRhZGEuIgogCi0jOiBidWlsdGlucy5jOjE2MDEKKyM6IGJ1aWx0aW5zLmM6MTYwNAogbXNnaWQgIiIKICJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKICIgICAgXG4iCkBAIC00MjcyLDggKzQ4MzgsMTkgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCisiQ3JlYSB1biBjb3Byb2Nlc28gbGxhbWFkbyBOT01CUkUuXG4iCisiICAgIFxuIgorIiAgICBFamVjdXRhIGxhIE9SREVOIGFz7W5jcm9uYW1lbnRlLCBjb24gbGEgc2FsaWRhIGVzdOFuZGFyIHkgbGEgZW50cmFkYVxuIgorIiAgICBlc3ThbmRhciBkZSBsYSBvcmRlbiBjb250ZWN0YWRhIGEgdHJhdulzIGRlIHVuYSB0dWJlcu1hIGEgbG9zICIKKyJkZXNjcmlwdG9yZXNcbiIKKyIgICAgZGUgZmljaGVybyBhc2lnbmFkb3MgYSBsb3Mg7W5kaWNlcyAwIHkgMSBkZSB1bmEgdmFyaWFibGUgZGUgbWF0cml6ICIKKyJOT01CUkVcbiIKKyIgICAgZW4gZWwgc2hlbGwgZW4gZWplY3VjafNuLiAgRWwgbm9tYnJlIHBvciBkZWZlY3RvIGVzIFwiQ09QUk9DXCIuXG4iCisiICAgIFxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICBEZXZ1ZWx2ZSBlbCBlc3RhZG8gZGUgc2FsaWRhIGRlIGxhIE9SREVOLiIKIAotIzogYnVpbHRpbnMuYzoxNjE1CisjOiBidWlsdGlucy5jOjE2MTgKIG1zZ2lkICIiCiAiRGVmaW5lIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTQyODYsOSArNDg2MywxNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIHJlYWRvbmx5LiIKIG1zZ3N0ciAiIgorIkRlZmluZSB1bmEgZnVuY2nzbiBkZSBzaGVsbC5cbiIKKyIgICAgXG4iCisiICAgIENyZWEgdW5hIGZ1bmNp824gZGUgc2hlbGwgbGxhbWFkYSBOT01CUkUuICBDdWFuZG8gc2UgaW52b2NhIGNvbW8gdW5hXG4iCisiICAgIG9yZGVuIHNpbXBsZSwgTk9NQlJFIGVqZWN1dGEg01JERU5FUyBlbiBlbCBjb250ZXh0byBkZWwgc2hlbGwgcXVlIGxvXG4iCisiICAgIGxsYW3zLiAgQ3VhbmRvIHNlIGludm9jYSBOT01CUkUsIGxvcyBhcmd1bWVudG9zIHNlIHBhc2FuIGEgbGEgZnVuY2nzblxuIgorIiAgICBjb21vICQxLi4uJG4sIHkgZWwgbm9tYnJlIGRlIGxhIGZ1bmNp824gZXN04SBlbiAkRlVOQ05BTUUuXG4iCisiICAgIFxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8gYSBtZW5vcyBxdWUgTk9NQlJFIHNlYSBkZSBz82xvIGxlY3R1cmEiCiAKLSM6IGJ1aWx0aW5zLmM6MTYyOQotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTYzMgogbXNnaWQgIiIKICJHcm91cCBjb21tYW5kcyBhcyBhIHVuaXQuXG4iCiAiICAgIFxuIgpAQCAtNDI5OCwxMSArNDg4MywxNSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCi0iQ29ycmUgdW4gY29uanVudG8gZGUg83JkZW5lcyBlbiB1biBncnVwby4gIEVzdGEgZXMgdW5hIGZvcm1hIGRlIHJlZGlyaWdpclxuIgotIiAgICB1biBjb25qdW50byBjb21wbGV0byBkZSDzcmRlbmVzLiIKKyJBZ3J1cGEg83JkZW5lcyBjb21vIHVuYSB1bmlkYWQuXG4iCisiICAgIFxuIgorIiAgICBFamVjdXRhIHVuIGNvbmp1bnRvIGRlIPNyZGVuZXMgZW4gdW4gZ3J1cG8uICBFc3RhIGVzIHVuYSBmb3JtYSBkZVxuIgorIiAgICByZWRpcmlnaXIgdW4gY29uanVudG8gY29tcGxldG8gZGUg83JkZW5lcy5cbiIKKyIgICAgXG4iCisiICAgIEVzdGFkbyBkZSBTYWxpZGE6XG4iCisiICAgIERldnVlbHZlIGVsIGVzdGFkbyBkZSBsYSD6bHRpbWEgb3JkZW4gZWplY3V0YWRhLiIKIAotIzogYnVpbHRpbnMuYzoxNjQxCi0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzoxNjQ0CiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC00MzE1LDE1ICs0OTA0LDE5IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIHJlc3VtZWQgam9iLiIKIG1zZ3N0ciAiIgotIkVxdWl2YWxlbnRlIGFsIGFyZ3VtZW50byBKT0JfU1BFQyBkZSBsYSBvcmRlbiBgZmcnLiAgUmVpbmljaWEgdW5cbiIKLSIgICAgdHJhYmFqbyBkZXRlbmlkbyBvIGVuIHNlZ3VuZG8gcGxhbm8uICBKT0JfU1BFQyBwdWVkZSBlc3BlY2lmaWNhclxuIgorIlJlaW5pY2lhIGVsIHRyYWJham8gZW4gcHJpbWVyIHBsYW5vLlxuIgorIiAgICBcbiIKKyIgICAgRXF1aXZhbGVudGUgYWwgYXJndW1lbnRvIElEVFJBQkFKTyBkZSBsYSBvcmRlbiBgZmcnLiAgUmVpbmljaWEgdW5cbiIKKyIgICAgdHJhYmFqbyBkZXRlbmlkbyBvIGVuIHNlZ3VuZG8gcGxhbm8uICBJRFRSQUJBSk8gcHVlZGUgZXNwZWNpZmljYXJcbiIKICIgICAgdW4gbm9tYnJlIGRlIHRyYWJham8gbyB1biBu+m1lcm8gZGUgdHJhYmFqby4gIFVuIGAmJyBhIGNvbnRpbnVhY2nzblxuIgotIiAgICBkZSBKT0JfU1BFQyBjb2xvY2FsIGFsIHRyYWJham8gZW4gc2VndW5kbyBwbGFubywgY29tbyBzaSBsYVxuIgorIiAgICBkZSBJRFRSQUJBSk8gY29sb2NhIGFsIHRyYWJham8gZW4gc2VndW5kbyBwbGFubywgY29tbyBzaSBsYVxuIgogIiAgICBlc3BlY2lmaWNhY2nzbiBkZWwgdHJhYmFqbyBzZSBodWJpZXJhIHByb3BvcmNpb25hZG8gY29tb1xuIgotIiAgICB1biBhcmd1bWVudG8gZGUgYGJnJy4iCisiICAgIHVuIGFyZ3VtZW50byBkZSBgYmcnLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgZWwgZXN0YWRvIGRlbCB0cmFiYWpvIHJlaW5pY2lhZG8uIgogCi0jOiBidWlsdGlucy5jOjE2NTYKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjE2NTkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTQzMzMsMTEgKzQ5MjYsMTUgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgMSBpZiBFWFBSRVNTSU9OIGV2YWx1YXRlcyB0byAwOyByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgotIlNlIGV2YWx1YSBFWFBSRVNTSU9OIGRlIGFjdWVyZG8gYSBsYXMgcmVnbGFzIGRlIGV2YWx1YWNp825cbiIKLSIgICAgYXJpdG3pdGljYS4gIEVxdWl2YWxlbnRlIGEgXCJsZXQgRVhQUkVTU0lPTlwiLiIKKyJFdmFs+mEgdW5hIGV4cHJlc2nzbiBhcml0bel0aWNhLlxuIgorIiAgICBcbiIKKyIgICAgU2UgZXZhbHVhIGxhIEVYUFJFU0nTTiBkZSBhY3VlcmRvIGEgbGFzIHJlZ2xhcyBkZSBldmFsdWFjafNuXG4iCisiICAgIGFyaXRt6XRpY2EuICBFcXVpdmFsZW50ZSBhIFwibGV0IEVYUFJFU0nTTlwiLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgMSBzaSBsYSBFWFBSRVNJ004gZXZhbPphIGEgMDsgZGV2dWVsdmUgMCBkZSBvdHJhIG1hbmVyYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY2OAotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTY3MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbmRpdGlvbmFsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtNDM2NCwyNiArNDk2MSwzMyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgMCBvciAxIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBFWFBSRVNTSU9OLiIKIG1zZ3N0ciAiIgotIkRldnVlbHZlIHVuIGVzdGFkbyBkZSAwIPMgMSBkZXBlbmRpZW5kbyBkZSBsYSBldmFsdWFjafNuIGRlIGxhIGV4cHJlc2nzblxuIgotIiAgICBjb25kaWNpb25hbCBFWFBSRVNTSU9OLiAgTGFzIGV4cHJlc2lvbmVzIHNlIGNvbXBvbmVuIGRlIGxvcyBtaXNtb3NcbiIKLSIgICAgZWxlbWVudG9zIHByaW1hcmlvcyB1c2Fkb3MgcG9yIGxhIG9yZGVuIGludGVybmEgYHRlc3QnLCB5IHNlIHB1ZWRlblxuIgotIiAgICBjb21iaW5hciB1c2FuZG8gbG9zIHNpZ3VpZW50ZXMgb3BlcmFkb3Jlc1xuIgorIkVqZWN1dGEgdW5hIG9yZGVuIGNvbmRpY2lvbmFsLlxuIgogIiAgICBcbiIKLSIgICAgXHQoIEVYUFJFU1NJT04gKVx0RGV2dWVsdmUgZWwgdmFsb3IgZGUgRVhQUkVTU0lPTlxuIgotIiAgICBcdCEgRVhQUkVTU0lPTlx0VmVyZGFkZXJvIHNpIEVYUFJFU1NJT04gZXMgZmFsc287IGRlIG90cmEgZm9ybWEgZXMgIgorIiAgICBEZXZ1ZWx2ZSB1biBlc3RhZG8gZGUgMCDzIDEgZGVwZW5kaWVuZG8gZGUgbGEgZXZhbHVhY2nzbiBkZSBsYSAiCisiZXhwcmVzafNuXG4iCisiICAgIGNvbmRpY2lvbmFsIEVYUFJFU0nTTi4gIExhcyBleHByZXNpb25lcyBzZSBjb21wb25lbiBkZSBsb3MgbWlzbW9zXG4iCisiICAgIGVsZW1lbnRvcyBwcmltYXJpb3MgdXNhZG9zIHBvciBsYSBvcmRlbiBpbnRlcm5hIGB0ZXN0JywgeSBzZSBwdWVkZW5cbiIKKyIgICAgY29tYmluYXIgdXNhbmRvIGxvcyBzaWd1aWVudGVzIG9wZXJhZG9yZXM6XG4iCisiICAgIFxuIgorIiAgICAgICggRVhQUkVTSdNOIClcdERldnVlbHZlIGVsIHZhbG9yIGRlIGxhIEVYUFJFU0nTTlxuIgorIiAgICAgICEgRVhQUkVTSdNOXHRWZXJkYWRlcm8gc2kgbGEgRVhQUkVTSdNOIGVzIGZhbHNhOyBkZSBvdHJhIGZvcm1hIGVzICIKICJmYWxzb1xuIgotIiAgICBcdEVYUFIxICYmIEVYUFIyXHRWZXJkYWRlcm8gc2kgRVhQUjEgeSBFWFBSMiBzb24gdmVyZGFkZXJvczsgZGVcbiIKLSIgICAgXHQgICAgICAgICAgICAgIFx0b3RyYSBmb3JtYSBlcyBmYWxzb1xuIgorIiAgICAgIEVYUFIxICYmIEVYUFIyXHRWZXJkYWRlcm8gc2kgRVhQUjEgeSBFWFBSMiBzb24gdmVyZGFkZXJvczsgZGVcbiIKKyIgICAgXHRcdG90cmEgZm9ybWEgZXMgZmFsc29cbiIKICIgICAgXHRFWFBSMSB8fCBFWFBSMlx0VmVyZGFkZXJvIHNpIEVYUFIxIG8gRVhQUjIgZXMgdmVyZGFkZXJvOyBkZVxuIgotIiAgICBcdCAgICAgICAgICAgICAgXHRvdHJhIGZvcm1hIGVzIGZhbHNvXG4iCisiICAgIFx0XHRvdHJhIGZvcm1hIGVzIGZhbHNvXG4iCiAiICAgIFxuIgogIiAgICBDdWFuZG8gc2UgdXNhbiBsb3Mgb3BlcmFkb3JlcyBgPT0nIHkgYCE9Jywgc2UgdXNhIGxhIGNhZGVuYSBhIGxhXG4iCiAiICAgIGRlcmVjaGEgZGVsIG9wZXJhZG9yIGNvbW8gdW4gcGF0cvNuIHkgc2UgcmVhbGl6YSB1bmEgY29pbmNpZGVuY2lhIGRlXG4iCi0iICAgIHBhdHLzbi4gIExvcyBvcGVyYWRvcmVzICYmIHkgfHwgbm8gZXZhbPphbiBFWFBSMiBzaSBFWFBSMSBlc1xuIgotIiAgICBzdWZpY2llbnRlIHBhcmEgZGV0ZXJtaW5hciBlbCB2YWxvciBkZSB1bmEgZXhwcmVzafNuLiIKKyIgICAgcGF0cm9uZXMuICBDdWFuZG8gc2UgdXNhIGVsIG9wZXJhZG9yIGA9ficsIGxhIGNhZGVuYSBhIGxhIGRlcmVjaGEgZGVsXG4iCisiICAgIG9wZXJhZG9yIGNvaW5jaWRlIGNvbW8gdW5hIGV4cHJlc2nzbiByZWd1bGFyLlxuIgorIiAgICBcbiIKKyIgICAgTG9zIG9wZXJhZG9yZXMgJiYgeSB8fCBubyBldmFs+mFuIEVYUFIyIHNpIEVYUFIxIGVzIHN1ZmljaWVudGUgcGFyYVxuIgorIiAgICBkZXRlcm1pbmFyIGVsIHZhbG9yIGRlIHVuYSBleHByZXNp824uICAgIFxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICAwIG8gMSBkZXBlbmRpZW5kbyBkZWwgdmFsb3IgZGUgbGEgRVhQUkVTSdNOLiIKIAotIzogYnVpbHRpbnMuYzoxNjk0Ci0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzoxNjk3CiBtc2dpZCAiIgogIkNvbW1vbiBzaGVsbCB2YXJpYWJsZSBuYW1lcyBhbmQgdXNhZ2UuXG4iCiAiICAgIFxuIgpAQCAtNDQzNiw3ICs1MDQwLDkgQEAKICIgICAgSElTVElHTk9SRVx0QSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBwYXR0ZXJucyB1c2VkIHRvIGRlY2lkZSB3aGljaFxuIgogIiAgICBcdFx0Y29tbWFuZHMgc2hvdWxkIGJlIHNhdmVkIG9uIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiBtc2dzdHIgIiIKLSJCQVNIX1ZFUlNJT05cdEluZm9ybWFjafNuIGRlIHZlcnNp824gcGFyYSBlc3RlIEJhc2guXG4iCisiTm9tYnJlcyBkZSB2YXJpYWJsZXMgZGUgc2hlbGwgY29tdW5lcyB5IHN1IHVzby5cbiIKKyIgICAgXG4iCisiICAgIEJBU0hfVkVSU0lPTlx0SW5mb3JtYWNp824gZGUgdmVyc2nzbiBwYXJhIGVzdGUgQmFzaC5cbiIKICIgICAgQ0RQQVRIXHRVbmEgbGlzdGEgZGUgZGlyZWN0b3Jpb3Mgc2VwYXJhZGEgcG9yIGRvcyBwdW50b3NcbiIKICIgICAgXHRcdHBhcmEgYnVzY2FyIGRpcmVjdG9yaW9zIGRhZG9zIGNvbW8gYXJndW1lbnRvcyBwYXJhIGBjZCcuXG4iCiAiICAgIEdMT0JJR05PUkVcdFVuYSBsaXN0YSBkZSBwYXRyb25lcyBzZXBhcmFkYSBwb3IgZG9zIHB1bnRvc1xuIgpAQCAtNDQ5Niw4ICs1MTAyLDcgQEAKICIgICAgXHRcdHBhcmEgZGVjaWRpciBjdeFsZXMg83JkZW5lcyBzZSBkZWJlbiBndWFyZGFyIGVuIGxhIGxpc3RhIGRlXG4iCiAiICAgIFx0XHRoaXN0b3JpYS5cbiIKIAotIzogYnVpbHRpbnMuYzoxNzUxCi0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzoxNzU0CiBtc2dpZCAiIgogIkFkZCBkaXJlY3RvcmllcyB0byBzdGFjay5cbiIKICIgICAgXG4iCkBAIC00NTI3LDI4ICs1MTMyLDM2IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBzdXBwbGllZCBvciB0aGUgZGlyZWN0b3J5XG4iCiAiICAgIGNoYW5nZSBmYWlscy4iCiBtc2dzdHIgIiIKLSJBZ3JlZ2EgdW4gZGlyZWN0b3JpbyBhbCB0b3BlIGRlIGxhIHBpbGEgZGUgZGlyZWN0b3Jpb3MsIG8gcm90YVxuIgorIkFncmVnYSBkaXJlY3RvcmlvcyBhIGxhIHBpbGEuXG4iCisiICAgIFxuIgorIiAgICBBZ3JlZ2EgdW4gZGlyZWN0b3JpbyBhbCB0b3BlIGRlIGxhIHBpbGEgZGUgZGlyZWN0b3Jpb3MsIG8gcm90YVxuIgogIiAgICBsYSBwaWxhLCBoYWNpZW5kbyBxdWUgZWwgbnVldm8gdG9wZSBkZSBsYSBwaWxhIHNlYSBlbFxuIgogIiAgICBkaXJlY3RvcmlvIGRlIHRyYWJham8gYWN0dWFsLiAgU2luIGFyZ3VtZW50b3MsIGludGVyY2FtYmlhXG4iCiAiICAgIGxvcyBkb3MgZGlyZWN0b3Jpb3MgZGVsIHRvcGUuXG4iCiAiICAgIFxuIgotIiAgICArTlx0Um90YSBsYSBwaWxhIHBhcmEgcXVlIGVsIE4t6XNpbW8gZGlyZWN0b3JpbyAoY29udGFuZG9cbiIKLSIgICAgXHRkZSBsYSBpenF1aWVyZGEgZGUgbGEgbGlzdGEgbW9zdHJhZGEgcG9yIGBkaXJzJyxcbiIKLSIgICAgXHRjb21lbnphbmRvIGRlc2RlIGNlcm8pIGVzdOkgZW4gZWwgdG9wZS5cbiIKLSIgICAgLU5cdFJvdGEgbGEgcGlsYSBwYXJhIHF1ZSBlbCBOLelzaW1vIGRpcmVjdG9yaW8gKGNvbnRhbmRvXG4iCi0iICAgIFx0ZGUgbGEgZGVyZWNoYSBkZSBsYSBsaXN0YSBtb3N0cmFkYSBwb3IgYGRpcnMnLFxuIgotIiAgICBcdGNvbWVuemFuZG8gZGVzZGUgY2VybykgZXN06SBlbiBlbCB0b3BlLlxuIgotIiAgICBcbiIKLSIgICAgLW5cdHN1cHJpbWUgZWwgY2FtYmlvIG5vcm1hbCBkZSBkaXJlY3RvcmlvIGN1YW5kbyBzZSBhZ3JlZ2FuXG4iCisiICAgIE9wY2lvbmVzOlxuIgorIiAgICAgIC1uXHRzdXByaW1lIGVsIGNhbWJpbyBub3JtYWwgZGUgZGlyZWN0b3JpbyBjdWFuZG8gc2UgYWdyZWdhblxuIgogIiAgICBcdGRpcmVjdG9yaW9zIGEgbGEgcGlsYSwgYXPtIHPzbG8gc2UgbWFuaXB1bGEgbGEgcGlsYS5cbiIKICIgICAgXG4iCi0iICAgIGRpclx0YWdyZWdhIERJUiBhIGxhIHBpbGEgZGUgZGlyZWN0b3Jpb3MgZW4gZWwgdG9wZSxcbiIKKyIgICAgQXJndW1lbnRvczpcbiIKKyIgICAgICArTlx0Um90YSBsYSBwaWxhIHBhcmEgcXVlIGVsIE4t6XNpbW8gZGlyZWN0b3JpbyAoY29udGFuZG9cbiIKKyIgICAgXHRkZSBsYSBpenF1aWVyZGEgZGUgbGEgbGlzdGEgbW9zdHJhZGEgcG9yIGBkaXJzJyxjb21lbnphbmRvXG4iCisiICAgIFx0ZGVzZGUgY2VybykgZXN06SBlbiBlbCB0b3BlLlxuIgorIiAgICBcbiIKKyIgICAgICAtTlx0Um90YSBsYSBwaWxhIHBhcmEgcXVlIGVsIE4t6XNpbW8gZGlyZWN0b3JpbyAoY29udGFuZG9cbiIKKyIgICAgXHRkZSBsYSBkZXJlY2hhIGRlIGxhIGxpc3RhIG1vc3RyYWRhIHBvciBgZGlycycsIGNvbWVuemFuZG9cbiIKKyIgICAgXHRkZXNkZSBjZXJvKSBlc3TpIGVuIGVsIHRvcGUuXG4iCisiICAgIFxuIgorIiAgICAgIGRpclx0YWdyZWdhIERJUiBhIGxhIHBpbGEgZGUgZGlyZWN0b3Jpb3MgZW4gZWwgdG9wZSxcbiIKICIgICAgXHRoYWNp6W5kb2xvIGVsIG51ZXZvIGRpcmVjdG9yaW8gZGUgdHJhYmFqbyBhY3R1YWwuXG4iCiAiICAgIFxuIgotIiAgICBQdWVkZSB2ZXIgbGEgcGlsYSBkZSBkaXJlY3RvcmlvcyBjb24gbGEgb3JkZW4gYGRpcnMnLiIKKyIgICAgTGEgb3JkZW4gaW50ZXJuYSBgZGlycycgbXVlc3RyYSBsYSBwaWxhIGRlIGRpcmVjdG9yaW9zLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgY29uIOl4aXRvIGEgbWVub3MgcXVlIHNlIHByb3BvcmNpb25lIHVuIGFyZ3VtZW50byBpbnbhbGlkbyBvXG4iCisiICAgIGZhbGxlIGVsIGNhbWJpbyBkZSBkaXJlY3RvcmlvLiIKIAotIzogYnVpbHRpbnMuYzoxNzg1Ci0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzoxNzg4CiBtc2dpZCAiIgogIlJlbW92ZSBkaXJlY3RvcmllcyBmcm9tIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTQ1NzQsMjcgKzUxODcsMzUgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIGFyZ3VtZW50IGlzIHN1cHBsaWVkIG9yIHRoZSBkaXJlY3RvcnlcbiIKICIgICAgY2hhbmdlIGZhaWxzLiIKIG1zZ3N0ciAiIgotIkJvcnJhIGVudHJhZGFzIGRlIGxhIHBpbGEgZGUgZGlyZWN0b3Jpb3MuICBTaW4gYXJndW1lbnRvcyxcbiIKKyJCb3JyYSBkaXJlY3RvcmlvcyBkZSBsYSBwaWxhLlxuIgorIiAgICBcbiIKKyIgICAgQm9ycmEgZW50cmFkYXMgZGUgbGEgcGlsYSBkZSBkaXJlY3Rvcmlvcy4gIFNpbiBhcmd1bWVudG9zLFxuIgogIiAgICBib3JyYSBlbCBkaXJlY3RvcmlvIGRlbCB0b3BlIGRlIGxhIHBpbGEsIHkgY2FtYmlhIGFsXG4iCiAiICAgIG51ZXZvIGRpcmVjdG9yaW8gdG9wZS5cbiIKICIgICAgXG4iCi0iICAgICtOXHRCb3JyYSBsYSBOLelzaW1hIGVudHJhZGEgY29udGFuZG8gZGUgbGEgaXpxdWllcmRhIGRlXG4iCisiICAgIE9wY2lvbmVzOlxuIgorIiAgICAgIC1uXHRzdXByaW1lIGVsIGNhbWJpbyBub3JtYWwgZGUgZGlyZWN0b3JpbyBjdWFuZG8gc2UgYm9ycmFuXG4iCisiICAgIFx0ZGlyZWN0b3Jpb3MgZGUgbGEgcGlsYSwgYXPtIHPzbG8gc2UgbWFuaXB1bGEgbGEgcGlsYS5cbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50b3M6XG4iCisiICAgIFxuIgorIiAgICAgICtOXHRCb3JyYSBsYSBOLelzaW1hIGVudHJhZGEgY29udGFuZG8gZGUgbGEgaXpxdWllcmRhIGRlXG4iCiAiICAgIFx0bGEgbGlzdGEgbW9zdHJhZGEgcG9yIGBkaXJzJywgY29tZW56YW5kbyBkZXNkZSBjZXJvLlxuIgogIiAgICBcdFBvciBlamVtcGxvOiBgcG9wZCArMCcgYm9ycmEgZWwgcHJpbWVyIGRpcmVjdG9yaW8sIGBwb3BkICsxJ1xuIgogIiAgICBcdGVsIHNlZ3VuZG8uXG4iCiAiICAgIFxuIgotIiAgICAtTlx0Qm9ycmEgbGEgTi3pc2ltYSBlbnRyYWRhIGNvbnRhbmRvIGRlIGxhIGRlcmVjaGEgZGVcbiIKKyIgICAgICAtTlx0Qm9ycmEgbGEgTi3pc2ltYSBlbnRyYWRhIGNvbnRhbmRvIGRlIGxhIGRlcmVjaGEgZGVcbiIKICIgICAgXHRsYSBsaXN0YSBtb3N0cmFkYSBwb3IgYGRpcnMnLCBjb21lbnphbmRvIGRlc2RlIGNlcm8uXG4iCiAiICAgIFx0UG9yIGVqZW1wbG86IGBwb3BkIC0wJyBib3JyYSBlbCD6bHRpbW8gZGlyZWN0b3JpbywgYHBvcGQgLTEnXG4iCiAiICAgIFx0ZWwgcGVu+mx0aW1vLlxuIgogIiAgICBcbiIKLSIgICAgLW5cdHN1cHJpbWUgZWwgY2FtYmlvIG5vcm1hbCBkZSBkaXJlY3RvcmlvIGN1YW5kbyBzZSBib3JyYW5cbiIKLSIgICAgXHRkaXJlY3RvcmlvcyBkZSBsYSBwaWxhLCBhc+0gc/NsbyBzZSBtYW5pcHVsYSBsYSBwaWxhLlxuIgorIiAgICBMYSBvcmRlbiBpbnRlcm5hIGBkaXJzJyBtdWVzdHJhIGVsIGNvbnRlbmlkbyBkZSBsYSBwaWxhLlxuIgogIiAgICBcbiIKLSIgICAgUHVlZGUgdmVyIGxhIHBpbGEgZGUgZGlyZWN0b3Jpb3MgY29uIGxhIG9yZGVuIGBkaXJzJy4iCisiICAgIEVzdGFkbyBkZSBTYWxpZGE6XG4iCisiICAgIERldnVlbHZlIGNvbiDpeGl0byBhIG1lbm9zIHF1ZSBzZSBwcm9wb3JjaW9uZSB1biBhcmd1bWVudG8gaW524WxpZG8gb1xuIgorIiAgICBmYWxsZSBlbCBjYW1iaW8gZGUgZGlyZWN0b3Jpby4iCiAKLSM6IGJ1aWx0aW5zLmM6MTgxNQotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTgxOAogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC00NjIyLDI2ICs1MjQzLDM1IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKLSJNdWVzdHJhIGxhIGxpc3RhIGRlIGRpcmVjdG9yaW9zIGFjdHVhbG1lbnRlIGdyYWJhZG9zLiAgTG9zIGRpcmVjdG9yaW9zXG4iCisiTXVlc3RyYSBsYSBwaWxhIGRlIGRpcmVjdG9yaW9zLlxuIgorIiAgICBcbiIKKyIgICAgTXVlc3RyYSBsYSBsaXN0YSBkZSBkaXJlY3RvcmlvcyBhY3R1YWxtZW50ZSBncmFiYWRvcy4gIExvcyBkaXJlY3Rvcmlvc1xuIgogIiAgICBzZSBndWFyZGFuIGVuIGxhIGxpc3RhIGNvbiBsYSBvcmRlbiBgcHVzaGQnOyBwdWVkZW4gaXIgc2FsaWVuZG8gZGVcbiIKICIgICAgbGEgbGlzdGEgY29uIGxhIG9yZGVuIGBwb3BkJy5cbiIKICIgICAgXG4iCi0iICAgIExhIG9wY2nzbiAtbCBlc3BlY2lmaWNhIHF1ZSBgZGlycycgbm8gZGViZSBtb3N0cmFyIHZlcnNpb25lc1xuIgotIiAgICBhYnJldmlhZGFzIGRlIGxvcyBkaXJlY3RvcmlvcyBxdWUgc29uIHJlbGF0aXZvcyBhIHN1IGRpcmVjdG9yaW9cbiIKLSIgICAgaW5pY2lhbC4gIEVzdG8gc2lnbmlmaWNhIHF1ZSBgfi9iaW4nIHNlIG1vc3RyYXLhIGNvbW8gYC9ob21lL2Jmb3gvYmluJy5cbiIKLSIgICAgTGEgb3BjafNuIC12IGNhdXNhIHF1ZSBgZGlycycgbXVlc3RyZSBsYSBwaWxhIGRlIGRpcmVjdG9yaW9zIGNvblxuIgotIiAgICB1bmEgZW50cmFkYSBwb3IgbO1uZWEsIGFudGVwb25pZW5kbyBsYSBwb3NpY2nzbiBlbiBsYSBwaWxhIGFsIG5vbWJyZVxuIgotIiAgICBkZWwgZGlyZWN0b3Jpby4gIExhIG9wY2nzbiAtcCBoYWNlIGxvIG1pc21vLCBwZXJvIG5vIGFudGVwb25lIGxhXG4iCi0iICAgIHBvc2ljafNuIGVuIGxhIHBpbGEuICBMYSBvcGNp824gLWMgbGltcGlhIGxhIHBpbGEgZGUgZGlyZWN0b3Jpb3NcbiIKLSIgICAgYm9ycmFuZG8gdG9kb3Mgc3VzIGVsZW1lbnRvcy5cbiIKKyIgICAgT3BjaW9uZXM6XG4iCiAiICAgIFxuIgotIiAgICArTlx0bXVlc3RyYSBsYSBOLelzaW1hIGVudHJhZGEgY29udGFuZG8gZGVzZGUgbGEgaXpxdWllcmRhIGRlIGxhIGxpc3RhXG4iCi0iICAgIG1vc3RyYWRhIHBvciBkaXJzIGN1YW5kbyBzZSBpbnZvY2Egc2luIG9wY2lvbmVzLCBlbXBlemFuZG8gZGUgY2Vyby5cbiIKKyIgICAgICAtY1x0bGltcGlhIGxhIHBpbGEgZGUgZGlyZWN0b3Jpb3MsIGVsaW1pbmFuZG8gdG9kb3Mgc3VzIGVsZW1lbnRvcy5cbiIKKyIgICAgICAtbFx0bm8gbXVlc3RyYSB2ZXJzaW9uZXMgY29uIHByZWZpam8gZGUgdGlsZGUgZGUgbG9zIGRpcmVjdG9yaW9zXG4iCisiICAgIFx0cmVsYXRpdm9zIGEgc3UgZGlyZWN0b3JpbyBpbmljaWFsLlxuIgorIiAgICAgIC1wXHRtdWVzdHJhIGxhIHBpbGEgZGUgZGlyZWN0b3Jpb3MgY29uIHVuYSBlbnRyYWRhIHBvciBs7W5lYVxuIgorIiAgICAgIC12XHRtdWVzdHJhIGxhIHBpbGEgZGUgZGlyZWN0b3Jpb3MgY29uIHVuYSBlbnRyYWRhIHBvciBs7W5lYSBjb25cbiIKKyIgICAgXHRzdSBwb3NpY2nzbiBlbiBsYSBwaWxhIGNvbW8gcHJlZmlqb1xuIgogIiAgICBcbiIKLSIgICAgLU5cdG11ZXN0cmEgbGEgTi3pc2ltYSBlbnRyYWRhIGNvbnRhbmRvIGRlc2RlIGxhIGRlcmVjaGEgZGUgbGEgbGlzdGFcbiIKLSIgICAgbW9zdHJhZGEgcG9yIGRpcnMgY3VhbmRvIHNlIGludm9jYSBzaW4gb3BjaW9uZXMsIGVtcGV6YW5kbyBkZSBjZXJvLiIKKyIgICAgQXJndW1lbnRvczogICAgICArTlx0bXVlc3RyYSBsYSBOLelzaW1hIGVudHJhZGEgY29udGFuZG8gZGVzZGUgbGEgIgorIml6cXVpZXJkYSBkZSBsYSBsaXN0YVxuIgorIiAgICBcdG1vc3RyYWRhIHBvciBkaXJzIGN1YW5kbyBzZSBpbnZvY2Egc2luIG9wY2lvbmVzLFxuIgorIiAgICBcdGVtcGV6YW5kbyBkZSBjZXJvLlxuIgorIiAgICBcbiIKKyIgICAgICAtTlx0bXVlc3RyYSBsYSBOLelzaW1hIGVudHJhZGEgY29udGFuZG8gZGVzZGUgbGEgZGVyZWNoYSBkZSBsYSBsaXN0YVxuIgorIiAgICBcdG1vc3RyYWRhIHBvciBkaXJzIGN1YW5kbyBzZSBpbnZvY2Egc2luIG9wY2lvbmVzLFxuIgorIiAgICBcdGVtcGV6YW5kbyBkZSBjZXJvLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgY29uIOl4aXRvLCBhIG1lbm9zIHF1ZSBzZSBwcm9wb3JjaW9uZSB1bmEgb3BjafNuIGluduFsaWRhIG9cbiIKKyIgICAgc3VjZWRhIHVuIGVycm9yLiIKIAotIzogYnVpbHRpbnMuYzoxODQ0CisjOiBidWlsdGlucy5jOjE4NDcKIG1zZ2lkICIiCiAiU2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTQ2NjEsOSArNTI5MSwyNCBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgT1BUTkFNRSBpcyBlbmFibGVkOyBmYWlscyBpZiBhbiBpbnZhbGlkIG9wdGlvbiBpc1xuIgogIiAgICBnaXZlbiBvciBPUFROQU1FIGlzIGRpc2FibGVkLiIKIG1zZ3N0ciAiIgorIkFjdGl2YSB5IGRlc2FjdGl2YSBvcGNpb25lcyBkZSBzaGVsbC5cbiIKKyIgICAgXG4iCisiICAgIENhbWJpYSBsYSBjb25maWd1cmFjafNuIGRlIGNhZGEgb3BjafNuIGRlIHNoZWxsIE5PTUJSRV9PUENJ004uIFNpblxuIgorIiAgICBhbGd1bmEgb3BjafNuIGNvbW8gYXJndW1lbnRvLCBtdWVzdHJhIHRvZGFzIGxhcyBvcGNpb25lcyBkZSBzaGVsbCBjb25cbiIKKyIgICAgdW5hIGluZGljYWNp824gc2kgZXN04SBhY3RpdmEgbyBuby5cbiIKKyIgICAgXG4iCisiICAgIE9wY2lvbmVzOlxuIgorIiAgICAgIC1vXHRyZXN0cmluZ2UgTk9NQlJFX09QQ0nTTiBhIGFxdWVsbG9zIGRlZmluaWRvcyBjb24gYHNldCAtbydcbiIKKyIgICAgICAtcFx0bXVlc3RyYSBjYWRhIG9wY2nzbiBkZSBzaGVsbCBjb24gdW4gaW5kaWNhZG9yIGRlIHN1IGVzdGFkb1xuIgorIiAgICAgIC1xXHRzdXByaW1lIGxhIHNhbGlkYVxuIgorIiAgICAgIC1zXHRhY3RpdmEgKGVzdGFibGVjZSkgY2FkYSBOT01CUkVfT1BDSdNOXG4iCisiICAgICAgLXVcdGRlc2FjdGl2YSAoYm9ycmEpIGNhZGEgTk9NQlJFX09QQ0nTTlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgY29uIOl4aXRvIHNpIHNlIGFjdGl2YSBOT01CUkVfT1BDSdNOOyBmYWxsYSBzaSBzZSBwcm9wb3JjaW9uYVxuIgorIiAgICB1bmEgb3BjafNuIGluduFsaWRhIG8gTk9NQlJFX09QQ0nTTiBlc3ThIGRlc2FjdGl2YWRvLiIKIAotIzogYnVpbHRpbnMuYzoxODY1Ci0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzoxODY4CiBtc2dpZCAiIgogIkZvcm1hdHMgYW5kIHByaW50cyBBUkdVTUVOVFMgdW5kZXIgY29udHJvbCBvZiB0aGUgRk9STUFULlxuIgogIiAgICBcbiIKQEAgLTQ2OTIsMjAgKzUzMzcsMzIgQEAKICJhc3NpZ25tZW50XG4iCiAiICAgIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKLSJwcmludGYgZGEgZm9ybWF0byB5IG11ZXN0cmEgQVJHVU1FTlRTIGJham8gZWwgY29udHJvbCBkZSBGT1JNQVQuIEZPUk1BVFxuIgotIiAgICBlcyB1bmEgY2FkZW5hIGRlIGNhcmFjdGVyZXMgbGEgY3VhbCBjb250aWVuZSB0cmVzIHRpcG9zIGRlIG9iamV0b3M6XG4iCi0iICAgIGNhcmFjdGVyZXMgbm9ybWFsZXMsIGxvcyBjdWFsZXMgc2ltcGxlbWVudGUgc2UgY29waWFuIGEgbGEgc2FsaWRhXG4iCi0iICAgIGVzdOFuZGFyZCwgc2VjdWVuY2lhcyBkZSBlc2NhcGUgZGUgY2FyYWN0ZXJlcyBxdWUgc2UgY29udmllcnRlbiB5XG4iCi0iICAgIHNlIGNvcGlhbiBhIGxhIHNhbGlkYSBlc3ThbmRhcmQsIHkgZXNwZWNpZmljYWNpb25lcyBkZSBmb3JtYXRvLFxuIgotIiAgICBjYWRhIHVuYSBkZSBsYXMgY3VhbGVzIGNhdXNhIGxhIG11ZXN0cmEgZGVsIHNpZ3VpZW50ZSBhcmd1bWVudG9cbiIKLSIgICAgY29uc2VjdXRpdm8uICBBZGVt4XMgZGUgbG9zIGZvcm1hdG9zIHByaW50ZigxKSBlc3ThbmRhcmQsICViIHNpZ25pZmljYVxuIgotIiAgICBleHBhbmRpciBsYXMgc2VjdWVuY2lhcyBkZSBlc2NhcGUgZGUgYmFycmEgaW52ZXJ0aWRhIGVuIHN1IGFyZ3VtZW50b1xuIgotIiAgICBjb3JyZXNwb25kaWVudGUsIHkgJXEgc2lnbmlmaWNhIGNpdGFyIGVsIGFyZ3VtZW50byBkZSB0YWwgZm9ybWEgcXVlXG4iCi0iICAgIHNlIHB1ZWRhIHJldXNhciBjb21vIGVudHJhZGEgZGVsIHNoZWxsLiAgU2kgc2UgcHJvcG9yY2lvbmEgbGEgb3BjafNuXG4iCi0iICAgIC12LCBsYSBzYWxpZGEgc2UgY29sb2NhIGVuIGVsIHZhbG9yIGRlIGxhIHZhcmlhYmxlIGRlIHNoZWxsIFZBUlxuIgotIiAgICBlbiBsdWdhciBkZSBlbnZpYXJsYSBhIGxhIHNhbGlkYSBlc3ThbmRhcmQuIgorIkRhIGZvcm1hdG8geSBtdWVzdHJhIEFSR1VNRU5UT1MgYmFqbyBlbCBjb250cm9sIGRlbCBGT1JNQVRPLlxuIgorIiAgICBcbiIKKyIgICAgT3BjaW9uZXM6XG4iCisiICAgICAgLXYgdmFyXHRhc2lnbmEgbGEgc2FsaWRhIGEgbGEgdmFyaWFibGUgZGUgc2hlbGwgVkFSIGVuIGx1Z2FyXG4iCisiICAgIFx0XHRkZSBtb3N0cmFybGEgZW4gbGEgc2FsaWRhIGVzdOFuZGFyXG4iCisiICAgIFxuIgorIiAgICBGT1JNQVRPIGVzIHVuYSBjYWRlbmEgZGUgY2FyYWN0ZXJlcyBsYSBjdWFsIGNvbnRpZW5lIHRyZXMgdGlwb3MgZGVcbiIKKyIgICAgb2JqZXRvcyBjYXJhY3RlcmVzIHNpbXBsZXMsIGxvcyBjdWFsZXMgc29sYW1lbnRlIHNlIGNvcGlhbiBhIGxhIHNhbGlkYVxuIgorIiAgICBzYWxpZGEgZXN04W5kYXI7IHNlY3VlbmNpYXMgZGUgZXNjYXBlIGRlIGNhcmFjdGVyZXMsIGxhcyBjdWFsZXNcbiIKKyIgICAgc2UgY29udmllcnRlbiB5IHNlIGNvcGlhbiBhIGxhIHNhbGlkYSBlc3ThbmRhcjsgeSBlc3BlY2lmaWNhY2lvbmVzIGRlXG4iCisiICAgIGZvcm1hdG8sIGNhZGEgdW5hIGRlIGxhcyBjdWFsZXMgY2F1c2EgbGEgbXVlc3RyYSBkZWwgc2lndWllbnRlICIKKyJhcmd1bWVudG9cbiIKKyIgICAgY29uc2VjdXRpdm8uXG4iCisiICAgIFxuIgorIiAgICBBZGVt4XMgZGUgbGFzIGVzcGVjaWZpY2FjaW9uZXMgZGUgZm9ybWF0byBlc3ThbmRhciBkZXNjcml0YXMgZW5cbiIKKyIgICAgcHJpbnRmKDEpIHkgcHJpbnRmKDMpLCBwcmludGYgaW50ZXJwcmV0YTpcbiIKKyIgICAgICAlYlx0ZXhwYW5kZSBsYXMgc2VjdWVuY2lhcyBkZSBlc2NhcGUgZGUgYmFycmEgaW52ZXJ0aWRhIGVuXG4iCisiICAgIFx0XHRlbCBhcmd1bWVudG8gY29ycmVzcG9uZGllbnRlXG4iCisiICAgICAgJXFcdGNpdGEgZWwgYXJndW1lbnRvIGRlIHRhbCBmb3JtYSBxdWUgc2UgcHVlZGUgcmV1c2FyIGNvbW9cbiIKKyIgICAgXHRcdGVudHJhZGEgZGVsIHNoZWxsLlxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8gYSBtZW5vcyBxdWUgc2UgcHJvcG9yY2lvbmUgdW5hIG9wY2nzbiBpbnbhbGlkYSBvXG4iCisiICAgIHN1Y2VkYSB1biBlcnJvciBkZSBlc2NyaXR1cmEgbyBkZSBhc2lnbmFjafNuLiIKIAotIzogYnVpbHRpbnMuYzoxODkyCisjOiBidWlsdGlucy5jOjE4OTUKKyMsIGZ1enp5CiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTQ3MTksMTYgKzUzNzYsNDAgQEAKICIgICAgICAtcFx0cHJpbnQgZXhpc3RpbmcgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9ucyBpbiBhIHJldXNhYmxlIGZvcm1hdFxuIgogIiAgICAgIC1yXHRyZW1vdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZm9yIGVhY2ggTkFNRSwgb3IsIGlmIG5vXG4iCiAiICAgIFx0TkFNRXMgYXJlIHN1cHBsaWVkLCBhbGwgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uc1xuIgorIiAgICAgIC1EXHRhcHBseSB0aGUgY29tcGxldGlvbnMgYW5kIGFjdGlvbnMgYXMgdGhlIGRlZmF1bHQgZm9yIGNvbW1hbmRzXG4iCisiICAgIFx0d2l0aG91dCBhbnkgc3BlY2lmaWMgY29tcGxldGlvbiBkZWZpbmVkXG4iCisiICAgICAgLUVcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyB0byBcImVtcHR5XCIgY29tbWFuZHMgLS1cbiIKKyIgICAgXHRjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhIGJsYW5rIGxpbmVcbiIKICIgICAgXG4iCiAiICAgIFdoZW4gY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQsIHRoZSBhY3Rpb25zIGFyZSBhcHBsaWVkIGluIHRoZSBvcmRlciB0aGVcbiIKLSIgICAgdXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuXG4iCisiICAgIHVwcGVyY2FzZS1sZXR0ZXIgb3B0aW9ucyBhcmUgbGlzdGVkIGFib3ZlLiAgVGhlIC1EIG9wdGlvbiB0YWtlc1xuIgorIiAgICBwcmVjZWRlbmNlIG92ZXIgLUUuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCisiRXNwZWNpZmljYSBjdeFudG9zIGFyZ3VtZW50b3MgZGViZW4gc2VyIGNvbXBsZXRhZG9zIHBvciBSZWFkbGluZS5cbiIKKyIgICAgXG4iCisiICAgIFBvciBjYWRhIE5PTUJSRSwgZXNwZWNpZmljYSBjdeFudG9zIGFyZ3VtZW50b3Mgc2UgZGViZW4gY29tcGxldGFyLiAgU2lcbiIKKyIgICAgbm8gc2UgcHJvcG9yY2lvbmFuIG9wY2lvbmVzLCBzZSBtdWVzdHJhbiBsYXMgZXNwZWNpZmljYWNpb25lcyBkZVxuIgorIiAgICBjb21wbGV0YWRvIGV4aXN0ZW50ZXMgZW4gdW5hIGZvcm1hIHF1ZSBwZXJtaXRlIHF1ZSBzZSByZXVzZW4gY29tbyAiCisiZW50cmFkYS5cbiIKKyIgICAgXG4iCisiICAgIE9wY2lvbmVzOlxuIgorIiAgICAgIC1wXHRtdWVzdHJhIGxhcyBlc3BlY2lmaWNhY2lvbmVzIGRlIGNvbXBsZXRhZG8gZXhpc3RlbnRlcyBlbiBmb3JtYXRvXG4iCisiICAgIFx0cmV1c2FibGVcbiIKKyIgICAgICAtclx0Ym9ycmEgdW5hIGVzcGVjaWZpY2FjafNuIGRlIGNvbXBsZXRhZG8gcGFyYSBjYWRhIE5PTUJSRSxcbiIKKyIgICAgXHRvLCBzaSBubyBzZSBwcm9wb3JjaW9uYW4gTk9NQlJFcywgdG9kYXMgbGFzIGVzcGVjaWZpY2FjaW9uZXNcbiIKKyIgICAgXHRkZSBjb21wbGV0YWRvXG4iCisiICAgIFxuIgorIiAgICBDdWFuZG8gc2UgaW50ZW50YSBlbCBjb21wbGV0YWRvLCBsYXMgYWNjaW9uZXMgc2UgYXBsaWNhbiBlbiBlbCBvcmRlbiBlblxuIgorIiAgICBxdWUgc2UgZW5saXN0YW4gbGFzIG9wY2lvbmVzIGRlIGxldHJhIG1hefpzY3VsYSBhbnRlcyBpbmRpY2FkYXMuXG4iCisiICAgIFxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8gYSBtZW5vcyBxdWUgc2UgcHJvcG9yY2lvbmUgdW5hIG9wY2nzbiBpbnbhbGlkYSBvXG4iCisiICAgIHN1Y2VkYSB1biBlcnJvci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkxNQotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTkyMwogbXNnaWQgIiIKICJEaXNwbGF5IHBvc3NpYmxlIGNvbXBsZXRpb25zIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC00NzQwLDE0ICs1NDIxLDE4IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKLSJNdWVzdHJhIGxvcyBwb3NpYmxlcyBjb21wbGVtZW50b3MgZGVwZW5kaWVuZG8gZGUgbGFzIG9wY2lvbmVzLiAgU2lydmVcbiIKLSIgICAgcGFyYSB1c2Fyc2UgZGVzZGUgdW5hIGZ1bmNp824gZGUgc2hlbGwgcXVlIGdlbmVyZSBjb21wbGVtZW50b3MgIgotInBvc2libGVzLlxuIgotIiAgICBTaSBzZSBwcm9wb3JjaW9uYSBlbCBhcmd1bWVudG8gb3BjaW9uYWwgV09SRCwgc2UgZ2VuZXJhbiBsYXMgIgotImNvaW5jaWRlbmNpYXNcbiIKLSIgICAgY29udHJhIFdPUkQuIgorIk11ZXN0cmEgbG9zIHBvc2libGVzIGNvbXBsZW1lbnRvcyBkZXBlbmRpZW5kbyBkZSBsYXMgb3BjaW9uZXMuXG4iCisiICAgIFxuIgorIiAgICBTaXJ2ZSBwYXJhIHVzYXJzZSBkZXNkZSB1bmEgZnVuY2nzbiBkZSBzaGVsbCBxdWUgZ2VuZXJlIGNvbXBsZW1lbnRvc1xuIgorIiAgICBwb3NpYmxlcy4gIFNpIHNlIHByb3BvcmNpb25hIGVsIGFyZ3VtZW50byBvcGNpb25hbCBQQUxBQlJBLCBzZSBnZW5lcmFuXG4iCisiICAgIGxhcyBjb2luY2lkZW5jaWFzIGNvbnRyYSBQQUxBQlJBLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgY29uIOl4aXRvIGEgbWVub3MgcXVlIHNlIHByb3BvcmNpb25lIHVuYSBvcGNp824gaW524WxpZGEgb1xuIgorIiAgICBzdWNlZGEgdW4gZXJyb3IuIgogCi0jOiBidWlsdGlucy5jOjE5MzAKKyM6IGJ1aWx0aW5zLmM6MTkzOAorIywgZnV6enkKIG1zZ2lkICIiCiAiTW9kaWZ5IG9yIGRpc3BsYXkgY29tcGxldGlvbiBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTQ3NjAsNiArNTQ0NSw4IEBACiAiICAgIFxuIgogIiAgICBPcHRpb25zOlxuIgogIiAgICBcdC1vIG9wdGlvblx0U2V0IGNvbXBsZXRpb24gb3B0aW9uIE9QVElPTiBmb3IgZWFjaCBOQU1FXG4iCisiICAgIFx0LURcdFx0Q2hhbmdlIG9wdGlvbnMgZm9yIHRoZSBcImRlZmF1bHRcIiBjb21tYW5kIGNvbXBsZXRpb25cbiIKKyIgICAgXHQtRVx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZW1wdHlcIiBjb21tYW5kIGNvbXBsZXRpb25cbiIKICIgICAgXG4iCiAiICAgIFVzaW5nIGArbycgaW5zdGVhZCBvZiBgLW8nIHR1cm5zIG9mZiB0aGUgc3BlY2lmaWVkIG9wdGlvbi5cbiIKICIgICAgXG4iCkBAIC00Nzc1LDE2ICs1NDYyLDQwIEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgTkFNRSBkb2VzIG5vdFxuIgogIiAgICBoYXZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGRlZmluZWQuIgogbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW5zLmM6MTk1OAotbXNnaWQgIiIKLSJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCisiTW9kaWZpY2EgbyBtdWVzdHJhIGxhcyBvcGNpb25lcyBkZSBjb21wbGV0YWRvLlxuIgogIiAgICBcbiIKLSIgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBhcnJheSB2YXJpYWJsZSBBUlJBWSwgb3IgIgotImZyb21cbiIKLSIgICAgZmlsZSBkZXNjcmlwdG9yIEZEIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaWFibGUgTUFQRklMRSAiCi0iaXNcbiIKLSIgICAgdGhlIGRlZmF1bHQgQVJSQVkuXG4iCisiICAgIE1vZGlmaWNhIGxhcyBvcGNpb25lcyBkZSBjb21wbGV0YWRvIHBhcmEgY2FkYSBOT01CUkUsIG8sIHNpIG5vIHNlXG4iCisiICAgIHByb3BvcmNpb25hbiBOT01CUkVzLCBlbCBjb21wbGV0YWRvIGFjdHVhbG1lbnRlIGVuIGVqZWN1Y2nzbi4gIFNpIG5vIHNlXG4iCisiICAgIHByb3BvcmNpb25hbiBPUENJT05lcywgbXVlc3RyYSBsYXMgb3BjaW9uZXMgZGUgY29tcGxldGFkbyBwYXJhIGNhZGFcbiIKKyIgICAgTk9NQlJFIG8gbGEgZXNwZWNpZmljYWNp824gZGUgY29tcGxldGFkbyBhY3R1YWwuICAgIFxuIgorIiAgICBPcGNpb25lczpcbiIKKyIgICAgXHQtbyBvcGNp825cdEVzdGFibGVjZSBsYSBvcGNp824gZGUgY29tcGxldGFkbyBPUENJ005cbiIKKyIgICAgXHRcdHBhcmEgY2FkYSBOT01CUkVcbiIKKyIgICAgXG4iCisiICAgIFNpIHVzYSBgK28nIGVuIGx1Z2FyIGRlIGAtbycgZGVzYWN0aXZhIGxhIG9wY2nzbiBlc3BlY2lmaWNhZGEuXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudG9zOlxuIgorIiAgICBcbiIKKyIgICAgQ2FkYSBOT01CUkUgc2UgcmVmaWVyZSBhIHVuYSBvcmRlbiBwYXJhIGxhIGN1YWwgc2UgZGVmaW5p8yBwcmV2aWFtZW50ZVxuIgorIiAgICB1bmEgZXNwZWNpZmljYWNp824gZGUgY29tcGxldGFkbyB1c2FuZG8gbGEgb3JkZW4gaW50ZXJuYSBgY29tcGxldGUnLlxuIgorIiAgICBTaSBubyBzZSBwcm9wb3JjaW9uYW4gTk9NQlJFcywgY29tcG9wdCBkZWJlIGxsYW1hcnNlIGRlc2RlIHVuYSBmdW5jafNuXG4iCisiICAgIHF1ZSBnZW5lcmUgY29tcGxldGFkb3MsIHkgc2UgbW9kaWZpY2FuIGxhcyBvcGNpb25lcyBwYXJhIGVzZSBnZW5lcmFkb3JcbiIKKyIgICAgZGUgY29tcGxldGFkb3MgZW4gZWplY3VjafNuLlxuIgorIiAgICBcbiIKKyIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKKyIgICAgRGV2dWVsdmUgY29uIOl4aXRvIGEgbWVub3MgcXVlIHNlIHByb3BvcmNpb25lIHVuYSBvcGNp824gaW524WxpZGEgb1xuIgorIiAgICBlbCBOT01CUkUgbm8gdGVuZ2EgdW5hIGVzcGVjaWZpY2FjafNuIGRlIGNvbXBsZXRhZG8gZGVmaW5pZGEuIgorCisjOiBidWlsdGlucy5jOjE5NjgKKyMsIGZ1enp5Cittc2dpZCAiIgorIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLlxuIgorIiAgICBcbiIKKyIgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBpbmRleGVkIGFycmF5IHZhcmlhYmxlICIKKyJBUlJBWSwgb3JcbiIKKyIgICAgZnJvbSBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSAiCisiTUFQRklMRVxuIgorIiAgICBpcyB0aGUgZGVmYXVsdCBBUlJBWS5cbiIKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgICAgLW4gY291bnRcdENvcHkgYXQgbW9zdCBDT1VOVCBsaW5lcy4gIElmIENPVU5UIGlzIDAsIGFsbCBsaW5lcyBhcmUgIgpAQCAtNDgxMSwxNSArNTUyMiw2MiBAQAogIiAgICBhc3NpZ25pbmcgdG8gaXQuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBBUlJBWSBpcyByZWFkb25seS4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkgIgorIm9yXG4iCisiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKIG1zZ3N0ciAiIgorIkxlZSBs7W5lYXMgZGUgdW4gZmljaGVybyB5IGxhcyBndWFyZGEgZW4gdW5hIHZhcmlhYmxlIGRlIG1hdHJpei5cbiIKKyIgICAgXG4iCisiICAgIExlZSBs7W5lYXMgZGUgbGEgZW50cmFkYSBlc3ThbmRhciB5IGxhcyBndWFyZGEgZW4gbGEgdmFyaWFibGUgZGUgbWF0cml6XG4iCisiICAgIE1BVFJJWiwgbyBkZXNkZSBlbCBkZXNjcmlwdG9yIGRlIGZpY2hlcm8gREYgc2kgc2UgcHJvcG9yY2lvbmEgbGEgb3BjafNuXG4iCisiICAgIC11LiAgTGEgdmFyaWFibGUgTUFQRklMRSBlcyBsYSBNQVRSSVogcG9yIGRlZmVjdG8uXG4iCisiICAgIFxuIgorIiAgICBPcGNpb25lczpcbiIKKyIgICAgICAtbiBjdWVudGFcdENvcGlhIGhhc3RhIENVRU5UQSBs7W5lYXMuICBTaSBDVUVOVEEgZXMgMCwgc2UgY29waWFuXG4iCisiICAgIFx0dG9kYXMgbGFzIGztbmVhcy5cbiIKKyIgICAgICAtTyBvcmlnZW5cdENvbWllbnphIGEgYXNpZ25hciBhIE1BVFJJWiBlbiBlbCDtbmRpY2UgT1JJR0VOLiAgRWxcbiIKKyIgICAgXHTtbmRpY2UgcG9yIGRlZmVjdG8gZXMgMC5cbiIKKyIgICAgICAtcyBjdWVudGEgXHREZXNjYXJ0YSBsYXMgcHJpbWVyYXMgQ1VFTlRBIGztbmVhcyBsZe1kYXMuXG4iCisiICAgICAgLXRcdFx0Qm9ycmEgbGEgbnVldmEgbO1uZWEgZmluYWwgZGUgY2FkYSBs7W5lYSBsZe1kYS5cbiIKKyIgICAgICAtdSBkZlx0XHRMZWUgbO1uZWFzIGRlbCBkZXNjcmlwdG9yIGRlIGZpY2hlcm8gREYgZW4gbHVnYXIgZGUgbGFcbiIKKyIgICAgXHRlbnRyYWRhIGVzdOFuZGFyLlxuIgorIiAgICAgIC1DIGxsYW1hZGFcdEV2YWz6YSBMTEFNQURBIGNhZGEgdmV6IHF1ZSBzZSBsZWVuIFFVQU5UVU0gbO1uZWFzLlxuIgorIiAgICAgIC1jIHF1YW50dW1cdEVzcGVjaWZpY2EgZWwgbvptZXJvIGRlIGztbmVhcyBhIGxlZXIgZW50cmUgY2FkYVxuIgorIiAgICBcdGxsYW1hZGEgYSBMTEFNQURBLlxuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnRvczpcbiIKKyIgICAgICBNQVRSSVpcdFx0Tm9tYnJlIGRlIHZhcmlhYmxlIGRlIG1hdHJpeiBhIHVzYXIgcGFyYSBndWFyZGFyIGRhdG9zLlxuIgorIiAgICBcbiIKKyIgICAgU2kgc2UgcHJvcG9yY2lvbmEgLUMgc2luIC1jLCBlbCBxdWFudHVtIHBvciBkZWZlY3RvIGVzIDUwMDAuIEN1YW5kb1xuIgorIiAgICBzZSBldmFs+mEgTExBTUFEQSwgc2UgcHJvcG9yY2lvbmEgZWwg7W5kaWNlIGRlbCBzaWd1aWVudGUgZWxlbWVudG9cbiIKKyIgICAgZGUgbGEgbWF0cml6IGEgYXNpZ25hciBjb21vIHVuIGFyZ3VtZW50byBhZGljaW9uYWwuXG4iCisiICAgIFxuIgorIiAgICBTaSBubyBzZSBwcm9wb3JjaW9uYSB1biBvcmlnZW4gZXhwbO1jaXRvLCBtYXBmaWxlIGJvcnJhcuEgbGEgTUFUUklaXG4iCisiICAgIGFudGVzIGRlIHVzYXJsYSBwYXJhIGFzaWduYWNp824uXG4iCisiICAgIFxuIgorIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgorIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8gYSBtZW5vcyBxdWUgc2UgcHJvcG9yY2lvbmUgdW5hIG9wY2nzbiBpbnbhbGlkYSBvXG4iCisiICAgIGxhIE1BVFJJWiBzZWEgZGUgc/NsbyBsZWN0dXJhLiIKIAotIzogYnVpbHRpbnMuYzoxOTkwCisjOiBidWlsdGlucy5jOjIwMDEKIG1zZ2lkICIiCiAiUmVhZCBsaW5lcyBmcm9tIGEgZmlsZSBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKICIgICAgQSBzeW5vbnltIGZvciBgbWFwZmlsZScuIgogbXNnc3RyICIiCisiTGVlIGztbmVhcyBkZSB1biBmaWNoZXJvIGVuIHVuYSB2YXJpYWJsZSBkZSBtYXRyaXouXG4iCisiICAgIFxuIgorIiAgICBVbiBzaW7zbmltbyBkZSBgbWFwZmlsZScuIgorCisjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjfiBtc2dzdHIgInhyZWFsbG9jOiBubyBzZSBwdWVkZW4gcmVhc2lnbmFyICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFzaWduYWRvcykiCisKKyN+IG1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKKyN+IG1zZ3N0ciAieHJlYWxsb2M6IG5vIHNlIHB1ZWRlbiByZWFzaWduYXIgJWx1IGJ5dGVzIgorCisjfiBtc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorI34gbXNnc3RyICIiCisjfiAieHJlYWxsb2M6ICVzOiVkOiBubyBzZSBwdWVkZW4gcmVhc2lnbmFyICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFzaWduYWRvcykiCiAKICN+IG1zZ2lkICIgIgogI34gbXNnc3RyICIgIgpAQCAtNTA1MCw5ICs1ODA4LDY1IEBACiAjfiAiICAgIGZ1bmNp824gZGUgc2hlbGwgbGxhbWFkYSBgbHMnLCB5IGRlc2VhIGxsYW1hciBhIGxhIG9yZGVuIGBscycsIHB1ZWRlXG4iCiAjfiAiICAgIGRlY2lyIFwiY29tbWFuZCBsc1wiLiAgU2kgc2UgZGEgbGEgb3BjafNuIC1wLCBzZSB1c2EgdW4gdmFsb3IgcG9yXG4iCiAjfiAiICAgIGRlZmVjdG8gcGFyYSBQQVRIIHF1ZSBnYXJhbnRpemEgZW5jb250cmFyIHRvZGFzIGxhcyBoZXJyYW1pZW50YXNcbiIKLSN+ICIgICAgZXN04W5kYXJkLiAgU2kgc2UgZGEgbGEgb3BjafNuIC1WIG8gLXYsIHNlIG11ZXN0cmEgdW5hIGNhZGVuYSBxdWVcbiIKKyN+ICIgICAgZXN04W5kYXIuICBTaSBzZSBkYSBsYSBvcGNp824gLVYgbyAtdiwgc2UgbXVlc3RyYSB1bmEgY2FkZW5hIHF1ZVxuIgogI34gIiAgICBkZXNjcmliZSBDT01NQU5ELiAgTGEgb3BjafNuIC1WIHByb2R1Y2UgdW5hIGRlc2NyaXBjafNuIG3hcyBkZXRhbGxhZGEuIgogCisjIGFwYWdhIC0+IGRlc2FjdGl2YSBlbSsKKyMgQ29ycmVnaWRvIGVuIHRvZGEgbGEgdHJhZHVjY2nzbi4gY2Z1Z2EKKyN+IG1zZ2lkICIiCisjfiAiRGVjbGFyZSB2YXJpYWJsZXMgYW5kL29yIGdpdmUgdGhlbSBhdHRyaWJ1dGVzLiAgSWYgbm8gTkFNRXMgYXJlXG4iCisjfiAiICAgIGdpdmVuLCB0aGVuIGRpc3BsYXkgdGhlIHZhbHVlcyBvZiB2YXJpYWJsZXMgaW5zdGVhZC4gIFRoZSAtcCBvcHRpb25cbiIKKyN+ICIgICAgd2lsbCBkaXNwbGF5IHRoZSBhdHRyaWJ1dGVzIGFuZCB2YWx1ZXMgb2YgZWFjaCBOQU1FLlxuIgorI34gIiAgICBcbiIKKyN+ICIgICAgVGhlIGZsYWdzIGFyZTpcbiIKKyN+ICIgICAgXG4iCisjfiAiICAgICAgLWFcdHRvIG1ha2UgTkFNRXMgYXJyYXlzIChpZiBzdXBwb3J0ZWQpXG4iCisjfiAiICAgICAgLWZcdHRvIHNlbGVjdCBmcm9tIGFtb25nIGZ1bmN0aW9uIG5hbWVzIG9ubHlcbiIKKyN+ICIgICAgICAtRlx0dG8gZGlzcGxheSBmdW5jdGlvbiBuYW1lcyAoYW5kIGxpbmUgbnVtYmVyIGFuZCBzb3VyY2UgZmlsZSBuYW1lICIKKyN+ICJpZlxuIgorI34gIiAgICBcdGRlYnVnZ2luZykgd2l0aG91dCBkZWZpbml0aW9uc1xuIgorI34gIiAgICAgIC1pXHR0byBtYWtlIE5BTUVzIGhhdmUgdGhlIGBpbnRlZ2VyJyBhdHRyaWJ1dGVcbiIKKyN+ICIgICAgICAtclx0dG8gbWFrZSBOQU1FcyByZWFkb25seVxuIgorI34gIiAgICAgIC10XHR0byBtYWtlIE5BTUVzIGhhdmUgdGhlIGB0cmFjZScgYXR0cmlidXRlXG4iCisjfiAiICAgICAgLXhcdHRvIG1ha2UgTkFNRXMgZXhwb3J0XG4iCisjfiAiICAgIFxuIgorI34gIiAgICBWYXJpYWJsZXMgd2l0aCB0aGUgaW50ZWdlciBhdHRyaWJ1dGUgaGF2ZSBhcml0aG1ldGljIGV2YWx1YXRpb24gKHNlZVxuIgorI34gIiAgICBgbGV0JykgZG9uZSB3aGVuIHRoZSB2YXJpYWJsZSBpcyBhc3NpZ25lZCB0by5cbiIKKyN+ICIgICAgXG4iCisjfiAiICAgIFdoZW4gZGlzcGxheWluZyB2YWx1ZXMgb2YgdmFyaWFibGVzLCAtZiBkaXNwbGF5cyBhIGZ1bmN0aW9uJ3MgbmFtZVxuIgorI34gIiAgICBhbmQgZGVmaW5pdGlvbi4gIFRoZSAtRiBvcHRpb24gcmVzdHJpY3RzIHRoZSBkaXNwbGF5IHRvIGZ1bmN0aW9uXG4iCisjfiAiICAgIG5hbWUgb25seS5cbiIKKyN+ICIgICAgXG4iCisjfiAiICAgIFVzaW5nIGArJyBpbnN0ZWFkIG9mIGAtJyB0dXJucyBvZmYgdGhlIGdpdmVuIGF0dHJpYnV0ZSBpbnN0ZWFkLiAgIgorI34gIldoZW5cbiIKKyN+ICIgICAgdXNlZCBpbiBhIGZ1bmN0aW9uLCBtYWtlcyBOQU1FcyBsb2NhbCwgYXMgd2l0aCB0aGUgYGxvY2FsJyBjb21tYW5kLiIKKyN+IG1zZ3N0ciAiIgorI34gIkRlY2xhcmEgdmFyaWFibGVzIHkvbyBsZXMgYXNpZ25hIGF0cmlidXRvcy4gU2kgbm8gc2UgcHJvcG9jaW9uYVxuIgorI34gIiAgICBuaW5n+m4gTkFNRSwgZW50b25jZXMgbXVlc3RyYSBsb3MgdmFsb3JlcyBkZSBsYXMgdmFyaWFibGVzLlxuIgorI34gIiAgICBMYSBvcGNp824gLXAgbW9zdHJhcuEgbG9zIGF0cmlidXRvcyB5IHZhbG9yZXMgZGUgY2FkYSBOQU1FLlxuIgorI34gIiAgICBcbiIKKyN+ICIgICAgTGFzIG9wY2lvbmVzIHNvbjpcbiIKKyN+ICIgICAgXG4iCisjfiAiICAgICAgLWFcdGhhY2UgYSBsb3MgTkFNRXMgbWF0cmljZXMgKHNpIHRpZW5lIHNvcG9ydGUpXG4iCisjfiAiICAgICAgLWZcdHNlbGVjY2lvbmEgc29sYW1lbnRlIG5vbWJyZXMgZGUgZnVuY2lvbmVzXG4iCisjfiAiICAgICAgLUZcdG11ZXN0cmEgbm9tYnJlcyBkZSBmdW5jaW9uZXMgKHkgbvptZXJvIGRlIGztbmVhIHkgbm9tYnJlIGRlXG4iCisjfiAiICAgIFx0ZmljaGVybyBmdWVudGUgc2kgc2UgZXN04SBkZXB1cmFuZG8pIHNpbiBkZWZpbmljaW9uZXNcbiIKKyN+ICIgICAgICAtaVx0YXNpZ25hIGEgbG9zIE5BTUVzIGVsIGF0cmlidXRvIGBpbnRlZ2VyJ1xuIgorI34gIiAgICAgIC1yXHRoYWNlIGEgbG9zIE5BTUVzIGRlIHPzbG8gbGVjdHVyYVxuIgorI34gIiAgICAgIC10XHRhc2lnbmEgYSBsb3MgTkFNRXMgZWwgYXRyaWJ1dG8gYHRyYWNlJ1xuIgorI34gIiAgICAgIC14XHRoYWNlIGEgbG9zIE5BTUVzIGV4cG9ydGFibGVzXG4iCisjfiAiICAgIFxuIgorI34gIiAgICBMYXMgdmFyaWFibGVzIGNvbiBlbCBhdHJpYnV0byBpbnRlZ2VyIHNlIGxlcyBldmFs+mEgYXJpdG3pdGljYW1lbnRlXG4iCisjfiAiICAgICh2ZWEgYGxldCcpIGN1YW5kbyBzZSBhc2lnbmEgbGEgdmFyaWFibGUuXG4iCisjfiAiICAgIFxuIgorI34gIiAgICBDdWFuZG8gc2UgbXVlc3RyYW4gbG9zIHZhbG9yZXMgZGUgbGFzIHZhcmlhYmxlcywgLWYgbXVlc3RyYVxuIgorI34gIiAgICBlbCBub21icmUgZGUgdW5hIGZ1bmNp824geSBzdSBkZWZpbmljafNuLiAgTGEgb3BjafNuIC1GIHJlc3RyaW5nZVxuIgorI34gIiAgICBhIG1vc3RyYXIgc29sYW1lbnRlIGVsIG5vbWJyZSBkZSBsYSBmdW5jafNuLlxuIgorI34gIiAgICBcbiIKKyN+ICIgICAgQWwgdXNhciBgKycgZW4gbHVnYXIgZGUgYC0nIGRlc2FjdGl2YSBlbCBhdHJpYnV0byBkYWRvLiAgQ3VhbmRvIHNlXG4iCisjfiAiICAgIHVzYSBlbiB1bmEgZnVuY2nzbiwgaGFjZSBhIGxvcyBOQU1FcyBsb2NhbGVzLCBjb21vIHN1Y2VkZSBjb24gbGFcbiIKKyN+ICIgICAgb3JkZW4gYGxvY2FsJy4iCisKICN+IG1zZ2lkICJPYnNvbGV0ZS4gIFNlZSBgZGVjbGFyZScuIgogI34gbXNnc3RyICJPYnNvbGV0by4gIFZlciBgZGVjbGFyZScuIgogCkBAIC02MjE3LDE3ICs3MDMxLDE3IEBACiAKICN+IG1zZ2lkICJKT0JfU1BFQyBpcyBub3QgcHJlc2VudCwgdGhlIHNoZWxsJ3Mgbm90aW9uIG9mIHRoZSBjdXJyZW50IGpvYiBpcyIKICN+IG1zZ3N0ciAiIgotI34gIlNpIGVsIElEX1RSQUJBSk8gbm8gc2UgZW5jdWVudHJhLCBzZSB1c2EgbGEgbm9jafNuIGRlbCBzaGVsbCBkZSB0cmFiYWpvIgorI34gIlNpIGVsIElEVFJBQkFKTyBubyBzZSBlbmN1ZW50cmEsIHNlIHVzYSBsYSBub2Np824gZGVsIHNoZWxsIGRlIHRyYWJham8iCiAKICN+IG1zZ2lkICJ1c2VkLiIKICN+IG1zZ3N0ciAiYWN0dWFsLiIKIAogI34gbXNnaWQgIlBsYWNlIEpPQl9TUEVDIGluIHRoZSBiYWNrZ3JvdW5kLCBhcyBpZiBpdCBoYWQgYmVlbiBzdGFydGVkIHdpdGgiCiAjfiBtc2dzdHIgIiIKLSN+ICJVYmljYSBhbCBJRF9UUkFCQUpPIGVuIGVsIGJhY2tncm91bmQsIGNvbW8gc2kgaHViaWVyYSBzaWRvIGluaWNpYWRvIGNvbiIKKyN+ICJVYmljYSBhbCBJRFRSQUJBSk8gZW4gZWwgYmFja2dyb3VuZCwgY29tbyBzaSBodWJpZXJhIHNpZG8gaW5pY2lhZG8gY29uIgogCiAjfiBtc2dpZCAiYCYnLiAgSWYgSk9CX1NQRUMgaXMgbm90IHByZXNlbnQsIHRoZSBzaGVsbCdzIG5vdGlvbiBvZiB0aGUgY3VycmVudCIKLSN+IG1zZ3N0ciAiYCYnLiAgU2kgZWwgSURfVFJBQkFKTyBubyBzZSBlbmN1ZW50cmEsIHNlIHVzYSBsYSBub2Np824gZGVsIHNoZWxsIgorI34gbXNnc3RyICJgJicuICBTaSBlbCBJRFRSQUJBSk8gbm8gc2UgZW5jdWVudHJhLCBzZSB1c2EgbGEgbm9jafNuIGRlbCBzaGVsbCIKIAogI34gbXNnaWQgImpvYiBpcyB1c2VkLiIKICN+IG1zZ3N0ciAiZGUgdHJhYmFqbyBhY3R1YWwuIgpAQCAtNjY4MCwxMCArNzQ5NCwxMCBAQAogI34gbXNnaWQgIiIKICN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uIGRpZmZlcnMgZnJvbSB0aGUgMTAwMy4yIHN0YW5kYXJkIHRvIgogI34gbXNnc3RyICIiCi0jfiAiICAgICAgICAgICAgICAgICAgICAgICAgIGxhIG9wZXJhY2nzbiBkaWZpZXJlIGRlbCBlc3ThbmRhcmQgMTAwMy4yIHBhcmEiCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgIGxhIG9wZXJhY2nzbiBkaWZpZXJlIGRlbCBlc3ThbmRhciAxMDAzLjIgcGFyYSIKIAogI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaCB0aGUgc3RhbmRhcmQiCi0jfiBtc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICBjdW1wbGlyIGVsIGVzdOFuZGFyZCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgIGN1bXBsaXIgZWwgZXN04W5kYXIiCiAKICN+IG1zZ2lkICIgICAgICAgICAgICBwcml2aWxlZ2VkICAgc2FtZSBhcyAtcCIKICN+IG1zZ3N0ciAiICAgICAgICAgICAgcHJpdmlsZWdlZCAgIGlndWFsIHF1ZSAtcCIKQEAgLTczMDksNyArODEyMyw3IEBACiAKICN+IG1zZ2lkICJzZXQgb2YgZXhwYW5kZWQgd29yZHMgaXMgcHJpbnRlZCBvbiB0aGUgc3RhbmRhcmQgZXJyb3IsIGVhY2giCiAjfiBtc2dzdHIgIiIKLSN+ICJjb25qdW50byBkZSBwYWxhYnJhcyBleHBhbmRpZGFzIHNlIG11ZXN0cmEgZW4gbGEgc2FsaWRhIGRlIGVycm9yIGVzdOFuZGFyZCIKKyN+ICJjb25qdW50byBkZSBwYWxhYnJhcyBleHBhbmRpZGFzIHNlIG11ZXN0cmEgZW4gbGEgc2FsaWRhIGRlIGVycm9yIGVzdOFuZGFyIgogCiAjfiBtc2dpZCAicHJlY2VkZWQgYnkgYSBudW1iZXIuICBJZiBgaW4gV09SRFMnIGlzIG5vdCBwcmVzZW50LCBgaW4gXCIkQFwiJyIKICN+IG1zZ3N0ciAiIgpAQCAtNzMyMCw3ICs4MTM0LDcgQEAKICN+IG1zZ3N0ciAiYGluIFwiJEBcIicuICBFbCBwcm9tcHQgUFMzIHNlIG11ZXN0cmEgeSBzZSBsZWUgdW5hIGztbmVhIGRlIgogCiAjfiBtc2dpZCAiZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQuICBJZiB0aGUgbGluZSBjb25zaXN0cyBvZiB0aGUgbnVtYmVyIgotI34gbXNnc3RyICJsYSBlbnRyYWRhIGVzdOFuZGFyZC4gIFNpIGxhIGztbmVhIGNvbnNpc3RlIGRlbCBu+m1lcm8iCisjfiBtc2dzdHIgImxhIGVudHJhZGEgZXN04W5kYXIuICBTaSBsYSBs7W5lYSBjb25zaXN0ZSBkZWwgbvptZXJvIgogCiAjfiBtc2dpZCAiY29ycmVzcG9uZGluZyB0byBvbmUgb2YgdGhlIGRpc3BsYXllZCB3b3JkcywgdGhlbiBOQU1FIGlzIHNldCIKICN+IG1zZ3N0ciAiIgpkaWZmIC0tZ2l0IGEvcG8vZXQuZ21vIGIvcG8vZXQuZ21vCmluZGV4IDBmMTliZWUuLjc3OTMwN2YgMTAwNjQ0Ci0tLSBhL3BvL2V0LmdtbworKysgYi9wby9ldC5nbW8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG8vZXQucG8gYi9wby9ldC5wbwppbmRleCAzN2EwMTZjLi4yZmJkYjRiIDEwMDY0NAotLS0gYS9wby9ldC5wbworKysgYi9wby9ldC5wbwpAQCAtNiw3ICs2LDcgQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaCAzLjJcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMDItMTkgMTQ6NTMtMDUwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTEyLTMwIDA4OjI1LTA1MDBcbiIKICJQTy1SZXZpc2lvbi1EYXRlOiAyMDA2LTExLTExIDE2OjM4KzAyMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IFRvb21hcyBTb29tZSA8VG9vbWFzLlNvb21lQG1pY3JvbGluay5lZT5cbiIKICJMYW5ndWFnZS1UZWFtOiBFc3RvbmlhbiA8ZXRAbGkub3JnPlxuIgpAQCAtMTgsNTAgKzE4LDU1IEBACiBtc2dpZCAiYmFkIGFycmF5IHN1YnNjcmlwdCIKIG1zZ3N0ciAidmlnYW5lIG1hc3NpaXZpIGluZGVrcyIKIAotIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAorIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiIgogCi0jOiBhcnJheWZ1bmMuYzo0NzkKKyM6IGFycmF5ZnVuYy5jOjQ4MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXNzb2NpYXRpdmUgYXJyYXkga2V5IgogbXNnc3RyICIlczogdmlnYW5lIHRlZ2V2dXNlIG5pbWkiCiAKLSM6IGFycmF5ZnVuYy5jOjQ4MQorIzogYXJyYXlmdW5jLmM6NDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIHRvIG5vbi1udW1lcmljIGluZGV4IgogbXNnc3RyICIlczogbWl0dGUtbnVtYnJpbGlzZWxlIGluZGVrc2lsZSBlaSBzYWEgb21pc3RhZGEiCiAKLSM6IGFycmF5ZnVuYy5jOjUxNworIzogYXJyYXlmdW5jLmM6NTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIiCiAKLSM6IGJhc2hoaXN0LmM6Mzc5CisjOiBiYXNoaGlzdC5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiBtc2dzdHIgIiVzOiBlaSBzYWEgbHV1YTogJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzQxMworIzogYmFzaGxpbmUuYzozNDU3CiBtc2dpZCAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IGJhc2hsaW5lLmM6MzQ5MQorIzogYmFzaGxpbmUuYzozNTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IGBcIiciCiBtc2dzdHIgIiVzOiBlc2ltaW5lIG1pdHRlLXT8aGVtaWsgc/xtYm9sIHBvbGUgYFwiJyIKIAotIzogYmFzaGxpbmUuYzozNTIwCisjOiBiYXNobGluZS5jOjM1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2xvc2luZyBgJWMnIGluICVzIgogbXNnc3RyICJzdWxnZXYgYCVjJyBwdXVkdWIgJXMgc2VlcyIKIAotIzogYmFzaGxpbmUuYzozNTU0CisjOiBiYXNobGluZS5jOjM2MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG1pc3NpbmcgY29sb24gc2VwYXJhdG9yIgogbXNnc3RyICIlczogcHV1ZHViIGVyYWxkYXYga29vbG9uIgogCisjOiBidWlsdGlucy9hbGlhcy5kZWY6MTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJXMnOiBpbnZhbGlkIGFsaWFzIG5hbWUiCittc2dzdHIgIiVzOiB2aWdhbmUgdGVnZXZ1c2UgbmltaSIKKwogIzogYnVpbHRpbnMvYmluZC5kZWY6MTIwIGJ1aWx0aW5zL2JpbmQuZGVmOjEyMwogbXNnaWQgImxpbmUgZWRpdGluZyBub3QgZW5hYmxlZCIKIG1zZ3N0ciAiIgpAQCAtMTEyLDYgKzExNywyMSBAQAogIiAgICBXaXRob3V0IEVYUFIsIHJldHVybnMgIgogbXNnc3RyICJUYWdhc3RhYiBqb29rc3ZhIGFsYW1wcm90c2VkdXVyaSBrb250ZWtzdGkuIgogCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNQorbXNnaWQgIiIKKyIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKKyIgICAgIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM2Cittc2dpZCAiIgorIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgorIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCisiICAgIFxuIgorIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCisiICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgorbXNnc3RyICIiCisKICM6IGJ1aWx0aW5zL2NkLmRlZjoyMTUKIG1zZ2lkICJIT01FIG5vdCBzZXQiCiBtc2dzdHIgIkhPTUUgcG9sZSBzZWF0dWQiCkBAIC0xMjUsNyArMTQ1LDcgQEAKIG1zZ2lkICJsaW5lICVkOiAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTM5IGVycm9yLmM6MjYwCisjOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICIKIG1zZ3N0ciAiJXM6IGhvaWF0dXM6ICIKQEAgLTEzNSwxMSArMTU1LDExIEBACiBtc2dpZCAiJXM6IHVzYWdlOiAiCiBtc2dzdHIgIiVzOiBob2lhdHVzOiAiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODIyCisjOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyNwogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKIG1zZ3N0ciAibGlpZ2EgcGFsanUgYXJndW1lbnRlIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTMgc2hlbGwuYzo3NzQKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5OSBzaGVsbC5jOjc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgogbXNnc3RyICIlczogdvV0aSBu9XVhYiBhcmd1bWVudGkiCkBAIC0xNTQsNyArMTc0LDcgQEAKIG1zZ2lkICIlczogbm90IGZvdW5kIgogbXNnc3RyICIlczogZWkgbGVpdHVkIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3ODcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVzOiB2aWdhbmUgdvV0aSIKQEAgLTE3OSw3ICsxOTksNyBAQAogbXNnaWQgImludmFsaWQgaGV4IG51bWJlciIKIG1zZ3N0ciAidmlnYW5lIG51bWJlciIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU1CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTYKIG1zZ2lkICJpbnZhbGlkIG51bWJlciIKIG1zZ3N0ciAidmlnYW5lIG51bWJlciIKIApAQCAtMTkzLDcgKzIxMyw3IEBACiBtc2dpZCAiYCVzJzogbm90IGEgcGlkIG9yIHZhbGlkIGpvYiBzcGVjIgogbXNnc3RyICJgJXMnOiBlaSBvbGUgcGlkIGVnYSBrb3JyZWt0bmUgdPb2IHNwZXRzaWZpa2F0c2lvb24iCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI2NCBlcnJvci5jOjQ1MworIzogYnVpbHRpbnMvY29tbW9uLmM6MjY0IGVycm9yLmM6NDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkb25seSB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6IG1pdHRlbXV1ZGV0YXYgbXV1dHVqYSIKQEAgLTI2NSwyNiArMjg1LDI2IEBACiBtc2dpZCAiJXM6IGFtYmlndW91cyBqb2Igc3BlYyIKIG1zZ3N0ciAiJXM6IHNlZ2FuZSB09vYiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjoyNzAKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjoyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYWN0aW9uIG5hbWUiCiBtc2dzdHIgIiVzOiB2aWdhbmUgdGVnZXZ1c2UgbmltaSIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjQzMCBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjE1Ci0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODEzCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDQ5IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NDQKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjY3CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk2CiBtc2dpZCAid2FybmluZzogLUYgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgogbXNnc3RyICJob2lhdHVzOiB29XRpIC1GIGVpIHBydXVnaSB09vZ0YWRhIG5hZ3UgdGUgb290YXRlIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjY5CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk4CiBtc2dpZCAid2FybmluZzogLUMgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgogbXNnc3RyICJob2lhdHVzOiB29XRpIC1DIGVpIHBydXVnaSB09vZ0YWRhIG5hZ3UgdGUgb290YXRlIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Nzg2CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODI2CiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAiIgogCkBAIC0yOTIsMjEgKzMxMiwyMSBAQAogbXNnaWQgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKIG1zZ3N0ciAic2FhYiBrYXN1dGFkYSBhaW51bHQgZnVua3RzaW9vbmlzIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNTMKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2MAogbXNnaWQgImNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucyIKIG1zZ3N0ciAidvV0aXQgYC1mJyBlaSBzYWEgZnVua3RzaW9vbmkgbG9vbWlzZWtzIGthc3V0YWRhIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjUgZXhlY3V0ZV9jbWQuYzo0ODE4CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzIgZXhlY3V0ZV9jbWQuYzo0OTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkb25seSBmdW5jdGlvbiIKIG1zZ3N0ciAiJXM6IGZ1bmt0c2lvb24gZWkgb2xlIG11dWRldGF2IgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjEKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIlczogbWFzaWl2aSBtdXV0dWphaWQgZWkgc2FhIG5paSBrdXN0dXRhZGEiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBhc3NvY2lhdGl2ZSB0byBpbmRleGVkIGFycmF5IgogbXNnc3RyICIiCkBAIC0zMzUsOCArMzU1LDggQEAKIG1zZ2lkICIlczogY2Fubm90IGRlbGV0ZTogJXMiCiBtc2dzdHIgIiVzOiBlaSBzYWEga3VzdHV0YWRhOiAlcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDY3NQotIzogc2hlbGwuYzoxNDM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0CisjOiBzaGVsbC5jOjE0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczogb24ga2F0YWxvb2ciCkBAIC0zNTEsNyArMzcxLDggQEAKIG1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCiBtc2dzdHIgIiVzOiBmYWlsIG9uIGxpaWdhIHN1dXIiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGV4ZWN1dGVfY21kLmM6NDc0NSBzaGVsbC5jOjE0NDkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAzIGV4ZWN1dGVfY21kLmM6NDg2NAorIzogc2hlbGwuYzoxNDYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIG1zZ3N0ciAiJXM6IGthaGVuZGZhaWxpIGVpIPVubmVzdHUga+Rpdml0YWRhIgpAQCAtMzgwLDE1ICs0MDEsMTUgQEAKIG1zZ2lkICJUaGVyZSBhcmUgcnVubmluZyBqb2JzLlxuIgogbXNnc3RyICJUZWlsIG9uIHBlYXRhdHVkIHT2aWQuXG4iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjIKIG1zZ2lkICJubyBjb21tYW5kIGZvdW5kIgogbXNnc3RyICJr5HNrdSBlaSBvbGUiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKIG1zZ2lkICJoaXN0b3J5IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM2MgorIzogYnVpbHRpbnMvZmMuZGVmOjM3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKIG1zZ3N0ciAiJXM6IGFqdXRpc3QgZmFpbGkgZWkgc2FhIGF2YWRhOiAlcyIKQEAgLTQ3OCwxMiArNDk5LDEyIEBACiBtc2dpZCAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoxOTcKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MAorIzogYnVpbHRpbnMva2lsbC5kZWY6MjYzCiBtc2dpZCAiVW5rbm93biBlcnJvciIKIG1zZ3N0ciAiVHVuZG1hdHUgdmlnYSIKIApAQCAtNDkxLDU2ICs1MTIsNjEgQEAKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICJvb2RhdGkgYXZhbGRpc3QiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0MSBidWlsdGlucy9yZWFkLmRlZjoyNzIKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgorbXNnc3RyICIlczogcG9sZSBtYXNzaWl2IgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NyBidWlsdGlucy9yZWFkLmRlZjoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTggYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjYgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzA0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW5lIGNvdW50IgogbXNnc3RyICIlczogdmlnYW5lIHb1dGkiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiBtc2dzdHIgIiVzOiB2aWdhbmUgdvV0aSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjg2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGNhbGxiYWNrIHF1YW50dW0iCiBtc2dzdHIgIiVzOiB2aWdhbmUgdGVnZXZ1c2UgbmltaSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzE4CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKICMsIGZ1enp5CiBtc2dpZCAiZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZSIKIG1zZ3N0ciAiJXM6IHBvbGUgbWFzc2lpdiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzM5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNDcKIG1zZ2lkICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6MzY3CisjOiBidWlsdGlucy9wcmludGYuZGVmOjM3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBtaXNzaW5nIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NDQKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU3MQorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKIG1zZ3N0ciAiJXM6IGhvaWF0dXM6ICIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTAKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzU3CiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAiIgogCkBAIC02MzAsMTIgKzY1NiwxMiBAQAogIiAgICBUaGUgYGRpcnMnIGJ1aWx0aW4gZGlzcGxheXMgdGhlIGRpcmVjdG9yeSBzdGFjay4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcmVhZC5kZWY6MjQ4CisjOiBidWlsdGlucy9yZWFkLmRlZjoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgdGltZW91dCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU3NAorIzogYnVpbHRpbnMvcmVhZC5kZWY6NTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWQgZXJyb3I6ICVkOiAlcyIKIG1zZ3N0ciAidmlnYSBsdWdlbWlzZWw6ICVkOiAlcyIKQEAgLTY3MiwxMSArNjk4LDExIEBACiBtc2dpZCAic2hpZnQgY291bnQiCiBtc2dzdHIgInNoaWZ0IGFydiIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI1NAorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI2MAogbXNnaWQgImNhbm5vdCBzZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMgc2ltdWx0YW5lb3VzbHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMxOQorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBzaGVsbCBvcHRpb24gbmFtZSIKIG1zZ3N0ciAiIgpAQCAtNzY2LDc3ICs3OTIsNzcgQEAKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIHN5bWJvbGljIG1vZGUgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGVycm9yLmM6ODkgZXJyb3IuYzozMjAgZXJyb3IuYzozMjIgZXJyb3IuYzozMjQKKyM6IGVycm9yLmM6OTAgZXJyb3IuYzozMjEgZXJyb3IuYzozMjMgZXJyb3IuYzozMjUKIG1zZ2lkICIgbGluZSAiCiBtc2dzdHIgIiIKIAotIzogZXJyb3IuYzoxNjQKKyM6IGVycm9yLmM6MTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImxhc3QgY29tbWFuZDogJXNcbiIKIG1zZ3N0ciAidmlpbWFuZSBr5HNrbHVzOiAlc1xuIgogCi0jOiBlcnJvci5jOjE3MgorIzogZXJyb3IuYzoxNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcuLi4iCiBtc2dzdHIgIkthdGtlc3Rhbi4uLiIKIAotIzogZXJyb3IuYzo0MDUKKyM6IGVycm9yLmM6NDA2CiBtc2dpZCAidW5rbm93biBjb21tYW5kIGVycm9yIgogbXNnc3RyICJ0dW5kbWF0dSB2aWdhIGvkc3VzIgogCi0jOiBlcnJvci5jOjQwNgorIzogZXJyb3IuYzo0MDcKIG1zZ2lkICJiYWQgY29tbWFuZCB0eXBlIgogbXNnc3RyICIiCiAKLSM6IGVycm9yLmM6NDA3CisjOiBlcnJvci5jOjQwOAogbXNnaWQgImJhZCBjb25uZWN0b3IiCiBtc2dzdHIgIiIKIAotIzogZXJyb3IuYzo0MDgKKyM6IGVycm9yLmM6NDA5CiBtc2dpZCAiYmFkIGp1bXAiCiBtc2dzdHIgIiIKIAotIzogZXJyb3IuYzo0NDYKKyM6IGVycm9yLmM6NDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmJvdW5kIHZhcmlhYmxlIgogbXNnc3RyICIlczogc2lkdW1hdGEgbXV1dHVqYSIKIAogIzogZXZhbC5jOjE4MQogIywgYy1mb3JtYXQKLW1zZ2lkICJcYXRpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKK21zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDkxCisjOiBleGVjdXRlX2NtZC5jOjQ5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MTExMgorIzogZXhlY3V0ZV9jbWQuYzoxMTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBleGVjdXRlX2NtZC5jOjIwMTEKKyM6IGV4ZWN1dGVfY21kLmM6MjA3NQogIywgZnV6enkKIG1zZ2lkICJwaXBlIGVycm9yIgogbXNnc3RyICJraXJqdXRhbWlzZSB2aWdhOiAlcyIKIAotIzogZXhlY3V0ZV9jbWQuYzo0MzYzCisjOiBleGVjdXRlX2NtZC5jOjQ0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IGAvJyBpbiBjb21tYW5kIG5hbWVzIgogbXNnc3RyICIlczogcGlpcmF0dWQ6IGvkc2t1ZGVzIGVpIHNhYSBrYXN1dGFkYSBz/G1ib2xlaWQgYC8nIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ0NTQKKyM6IGV4ZWN1dGVfY21kLmM6NDU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBr5HNrdSBlaSBvbGUiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDcwOAorIzogZXhlY3V0ZV9jbWQuYzo0ODI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogYmFkIGludGVycHJldGVyIgogbXNnc3RyICIlczogJXM6IGhhbGIgaW50ZXJwcmV0YWF0b3IiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDg1NworIzogZXhlY3V0ZV9jbWQuYzo0OTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCiBtc2dzdHIgIiIKQEAgLTg4MSwyOCArOTA3LDI4IEBACiBtc2dpZCAibWlzc2luZyBgKSciCiBtc2dzdHIgInB1dWR1YiBgKSciCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzUKKyM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKIG1zZ2lkICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCiBtc2dzdHIgInP8bnRha3NpIHZpZ2E6IG9vZGF0aSBvcGVyYW5kaSIKIAotIzogZXhwci5jOjExNzcKKyM6IGV4cHIuYzoxMTc4CiBtc2dpZCAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCiBtc2dzdHIgInP8bnRha3NpIHZpZ2E6IHZpZ2FuZSBhcml0bWVldGlsaW5lIG9wZXJhYXRvciIKIAotIzogZXhwci5jOjEyMDEKKyM6IGV4cHIuYzoxMjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzJXMlczogJXMgKGVycm9yIHRva2VuIGlzIFwiJXNcIikiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjEyNTkKKyM6IGV4cHIuYzoxMjYwCiBtc2dpZCAiaW52YWxpZCBhcml0aG1ldGljIGJhc2UiCiBtc2dzdHIgInZpZ2FuZSBhcml0bWVldGlsaW5lIGJhYXMiCiAKLSM6IGV4cHIuYzoxMjc5CisjOiBleHByLmM6MTI4MAogbXNnaWQgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKIG1zZ3N0ciAiduTkcnR1cyBvbiBiYWFzaWtzIGxpaWdhIHN1dXIiCiAKLSM6IGV4cHIuYzoxMzI4CisjOiBleHByLmM6MTMyOQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKIG1zZ3N0ciAiJXM6IG9vZGF0aSB05GlzYXJ2dWRlIGF2YWxkaXN0IgpAQCAtOTExLDcgKzkzNyw3IEBACiBtc2dpZCAiZ2V0Y3dkOiBjYW5ub3QgYWNjZXNzIHBhcmVudCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiZ2V0Y3dkOiB2YW5lbWthdGFsb29naWRlbGUgZWkgb2xlIGp1dXJkZXDk5HN1IgogCi0jOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDU1OQorIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc2V0IG5vZGVsYXkgbW9kZSBmb3IgZmQgJWQiCiBtc2dzdHIgIiIKQEAgLTk2NCw3ICs5OTAsNyBAQAogbXNnaWQgIkRvbmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMgorIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMwogbXNnaWQgIlN0b3BwZWQiCiBtc2dzdHIgIiIKIApAQCAtMTAwMSw2OSArMTAyNyw3MyBAQAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE3NzEKKyM6IGpvYnMuYzoxNzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyMDk5IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMDQgbm9qb2JzLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjMyNgorIzogam9icy5jOjIzMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjU5OAorIzogam9icy5jOjI2MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKIG1zZ3N0ciAid2FpdF9mb3Jfam9iOiB09vYgJWQgb24gcGVhdGF0dWQiCiAKLSM6IGpvYnMuYzoyODIwCisjOiBqb2JzLmM6MjgyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogdPb2IG9uIGz1cGV0YXR1ZCIKIAotIzogam9icy5jOjI4MjkKKyM6IGpvYnMuYzoyODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgJWQgYWxyZWFkeSBpbiBiYWNrZ3JvdW5kIgogbXNnc3RyICIlczogdPb2ICVkIG9uIGp1YmEgdGF1c3RhbCIKIAotIzogam9icy5jOjM0OTIKKyM6IGpvYnMuYzozMDU5Cittc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgorbXNnc3RyICIiCisKKyM6IGpvYnMuYzozNTA4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogbGluZSAlZDogIgogbXNnc3RyICIlczogaG9pYXR1czogIgogCi0jOiBqb2JzLmM6MzUwNiBub2pvYnMuYzo4MTQKKyM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKGNvcmUgZHVtcGVkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzUxOCBqb2JzLmM6MzUzMQorIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHdkIG5vdzogJXMpXG4iCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM1NjMKKyM6IGpvYnMuYzozNTc5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2MjMKKyM6IGpvYnMuYzozNjM5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjMzCisjOiBqb2JzLmM6MzY0OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2NjEKKyM6IGpvYnMuYzozNjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjY2CisjOiBqb2JzLmM6MzY4MgogbXNnaWQgIm5vIGpvYiBjb250cm9sIGluIHRoaXMgc2hlbGwiCiBtc2dzdHIgIiIKIApAQCAtMTE1NCw2ICsxMTg0LDI2IEBACiBtc2dpZCAibmV0d29yayBvcGVyYXRpb25zIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIiIKIAorIzogbG9jYWxlLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICIiCisKICM6IG1haWxjaGVjay5jOjQzMwogbXNnaWQgIllvdSBoYXZlIG1haWwgaW4gJF8iCiBtc2dzdHIgIlRlaWwgb24ga2lyaSBrYXVzdGFzICRfIgpAQCAtMTE2NywxMzEgKzEyMTcsMTMxIEBACiBtc2dpZCAiVGhlIG1haWwgaW4gJXMgaGFzIGJlZW4gcmVhZFxuIgogbXNnc3RyICJLaXJpIGthdXN0YXMgJXMgb24gbG9ldHVkXG4iCiAKLSM6IG1ha2VfY21kLmM6MzIyCisjOiBtYWtlX2NtZC5jOjMyMwogbXNnaWQgInN5bnRheCBlcnJvcjogYXJpdGhtZXRpYyBleHByZXNzaW9uIHJlcXVpcmVkIgogbXNnc3RyICJz/G50YWtzaSB2aWdhOiBu9XV0YWtzZSBhcml0bWVldGlsaXN0IGF2YWxkaXN0IgogCi0jOiBtYWtlX2NtZC5jOjMyNAorIzogbWFrZV9jbWQuYzozMjUKIG1zZ2lkICJzeW50YXggZXJyb3I6IGA7JyB1bmV4cGVjdGVkIgogbXNnc3RyICJz/G50YWtzaSB2aWdhOiBvb3RhbWF0dSBgOyciCiAKLSM6IG1ha2VfY21kLmM6MzI1CisjOiBtYWtlX2NtZC5jOjMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGAoKCVzKSknIgogbXNnc3RyICJz/G50YWtzaSB2aWdhOiBgKCglcykpJyIKIAotIzogbWFrZV9jbWQuYzo1NjcKKyM6IG1ha2VfY21kLmM6NTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfaGVyZV9kb2N1bWVudDogYmFkIGluc3RydWN0aW9uIHR5cGUgJWQiCiBtc2dzdHIgIiIKIAotIzogbWFrZV9jbWQuYzo2NTEKKyM6IG1ha2VfY21kLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlcmUtZG9jdW1lbnQgYXQgbGluZSAlZCBkZWxpbWl0ZWQgYnkgZW5kLW9mLWZpbGUgKHdhbnRlZCBgJXMnKSIKIG1zZ3N0ciAiIgogCi0jOiBtYWtlX2NtZC5jOjc0NgorIzogbWFrZV9jbWQuYzo3NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueToyOTg2IHBhcnNlLnk6MzIxOAorIzogcGFyc2UueTozMTMzIHBhcnNlLnk6MzM2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgJWMnIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzcyMgorIzogcGFyc2UueTozOTUxCiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM3MjcKKyM6IHBhcnNlLnk6Mzk1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzczMQorIzogcGFyc2UueTozOTYwCiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgInP8bnRha3NpIHZpZ2EgdGluZ2ltdXNsaWt1cyBhdmFsZGlzZXMiCiAKLSM6IHBhcnNlLnk6MzgwOQorIzogcGFyc2UueTo0MDM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgogbXNnc3RyICJvb3RhbWF0dSBt5HJrIGAlcycsIG9vZGF0aSBgKSciCiAKLSM6IHBhcnNlLnk6MzgxMworIzogcGFyc2UueTo0MDQyCiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICJvb2RhdGkgYCknIgogCi0jOiBwYXJzZS55OjM4NDEKKyM6IHBhcnNlLnk6NDA3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozODQ1CisjOiBwYXJzZS55OjQwNzQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6Mzg4NQorIzogcGFyc2UueTo0MTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6Mzg4OQorIzogcGFyc2UueTo0MTI0CiBtc2dpZCAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzkwNgorIzogcGFyc2UueTo0MTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozOTEwCisjOiBwYXJzZS55OjQxNTAKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM5MjEKKyM6IHBhcnNlLnk6NDE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlYycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM5MjQKKyM6IHBhcnNlLnk6NDE2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM5MjgKKyM6IHBhcnNlLnk6NDE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuICVkIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo1MTk1CisjOiBwYXJzZS55OjU0NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NTIxMworIzogcGFyc2UueTo1NDc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCiBtc2dzdHIgInP8bnRha3NpIHZpZ2Ega29oYWwgYCVzJyIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgInP8bnRha3NpIHZpZ2E6IG9vdGFtYXR1IGZhaWxpbPVwcCIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgInP8bnRha3NpIHZpZ2EiCiAKLSM6IHBhcnNlLnk6NTI4NQorIzogcGFyc2UueTo1NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICJL5HN1aW50ZXJwcmV0YWF0b3Jpc3QgduRsanVtaXNla3Mga2FzdXRhZ2UgXCIlc1wiLlxuIgogCi0jOiBwYXJzZS55OjU0NDcKKyM6IHBhcnNlLnk6NTcxMQogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGApJyIKIG1zZ3N0ciAiIgogCi0jOiBwY29tcGxldGUuYzoxMDE4CisjOiBwY29tcGxldGUuYzoxMDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRpb246IGZ1bmN0aW9uIGAlcycgbm90IGZvdW5kIgogbXNnc3RyICIiCkBAIC0xMzAxLDcxICsxMzUxLDkwIEBACiBtc2dpZCAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzoyODUKKyM6IHByaW50X2NtZC5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmludF9jb21tYW5kOiBiYWQgY29ubmVjdG9yIGAlZCciCiBtc2dzdHIgIiIKIAotIzogcHJpbnRfY21kLmM6MTM0OAorIzogcHJpbnRfY21kLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzozNjgKK21zZ2lkICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgorbXNnc3RyICIiCisKKyM6IHByaW50X2NtZC5jOjE0NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3ByaW50ZjogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6MTA1CisjOiByZWRpci5jOjExMAogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgImZhaWxpIGRlc2tyaXB0b3Igb24gcGlpcmlkZXN0IHbkbGphcyIKIAotIzogcmVkaXIuYzoxNDgKKyM6IHJlZGlyLmM6MTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QiCiBtc2dzdHIgIiVzOiBzZWdhbmUg/G1iZXJzdXVuYW1pbmUiCiAKLSM6IHJlZGlyLmM6MTUyCisjOiByZWRpci5jOjE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlIgogbXNnc3RyICIlczogZmFpbCBvbiBvbGVtYXMsIGVpIGtpcmp1dGEg/GxlIgogCi0jOiByZWRpci5jOjE1NworIzogcmVkaXIuYzoxNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiVzOiBwaWlyYXR1ZDogduRsanVuZGl0IGVpIHNhYSD8bWJlciBzdXVuYXRhIgogCi0jOiByZWRpci5jOjE2MgorIzogcmVkaXIuYzoxODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6NTE3CisjOiByZWRpci5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gZmQgdG8gdmFyaWFibGUiCittc2dzdHIgIiQlczogc2VkYXNpIGVpIHNhYSBvbWlzdGFkYSIKKworIzogcmVkaXIuYzo1NDQKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxMDIzCisjOiByZWRpci5jOjExMDEKIG1zZ2lkICJyZWRpcmVjdGlvbiBlcnJvcjogY2Fubm90IGR1cGxpY2F0ZSBmZCIKIG1zZ3N0ciAidmlnYSD8bWJlcnN1dW5hbWlzZWw6IGZkIGR1cGxpa2FhZGkgbG9vbWluZSBlaSD1bm5lc3R1IgogCi0jOiBzaGVsbC5jOjMyOAorIzogc2hlbGwuYzozMzIKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIG1zZ3N0ciAiL3RtcCBwdXVkdWIsIHBhbHVuIGxvb2dlIHNlZSEiCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzNgogbXNnaWQgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICIvdG1wIHBlYWIgb2xlbWEga2F0YWxvb2dpIG5pbWkiCiAKLSM6IHNoZWxsLmM6ODc2CisjOiBzaGVsbC5jOjg4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJWMlYzogdmlnYW5lIHb1dGkiCiAKLSM6IHNoZWxsLmM6MTYzOAorIzogc2hlbGwuYzoxNjUxCiBtc2dpZCAiSSBoYXZlIG5vIG5hbWUhIgogbXNnc3RyICJNdWwgZWkgb2xlIG5pbWUhIgogCi0jOiBzaGVsbC5jOjE3NzgKKyM6IHNoZWxsLmM6MTc5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzoxNzc5CisjOiBzaGVsbC5jOjE3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCkBAIC0xMzc0LDM4MiArMTQ0Myw0MDMgQEAKICJLYXN1dGE6XHQlcyBbR05VIHBpa2sgdvV0aV0gW3b1dGldIC4uLlxuIgogIlx0JXMgW0dOVSBwaWtrIHb1dGldIFt29XRpXSBza3JpcHQtZmFpbCAuLi5cbiIKIAotIzogc2hlbGwuYzoxNzgxCisjOiBzaGVsbC5jOjE3OTYKIG1zZ2lkICJHTlUgbG9uZyBvcHRpb25zOlxuIgogbXNnc3RyICJHTlUgcGlrYWQgdvV0bWVkOlxuIgogCi0jOiBzaGVsbC5jOjE3ODUKKyM6IHNoZWxsLmM6MTgwMAogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgIkvkc3VpbnRlcnByZXRhYXRvcmkgdvV0bWVkOlxuIgogCi0jOiBzaGVsbC5jOjE3ODYKKyM6IHNoZWxsLmM6MTgwMQogbXNnaWQgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKIG1zZ3N0ciAiXHQtaXJzRCB29WkgLWMga+Rza2x1cyB29WkgLU8gbPxoaXb1dGlcdFx0KGFpbnVsdCBr5Gl2aXRhbWluZSlcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCiBtc2dzdHIgIlx0LSVzIHb1aSAtbyB29XRpXG4iCiAKLSM6IHNoZWxsLmM6MTgwNworIzogc2hlbGwuYzoxODIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIFwiaGVscCBzZXRcIicgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgb3B0aW9ucy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjE4MDgKKyM6IHNoZWxsLmM6MTgyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBoZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MTgwOQorIzogc2hlbGwuYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIlZpZ2FkZXN0IHRlYXRhbWlzZWtzIGthc3V0YWdlIGvkc2t1IGBiYXNoYnVnJy5cbiIKIAotIzogc2lnLmM6NTgzCisjOiBzaWcuYzo2MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAic2lncHJvY21hc2s6ICVkOiB2aWdhbmUgb3BlcmF0c2lvb24iCiAKLSM6IHNpZ2xpc3QuYzo0NworIzogc2lnbGlzdC5jOjQ4CiBtc2dpZCAiQm9ndXMgc2lnbmFsIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo1MAorIzogc2lnbGlzdC5jOjUxCiBtc2dpZCAiSGFuZ3VwIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo1NAorIzogc2lnbGlzdC5jOjU1CiBtc2dpZCAiSW50ZXJydXB0IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo1OAorIzogc2lnbGlzdC5jOjU5CiBtc2dpZCAiUXVpdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NjIKKyM6IHNpZ2xpc3QuYzo2MwogbXNnaWQgIklsbGVnYWwgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjY2CisjOiBzaWdsaXN0LmM6NjcKIG1zZ2lkICJCUFQgdHJhY2UvdHJhcCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NzQKKyM6IHNpZ2xpc3QuYzo3NQogbXNnaWQgIkFCT1JUIGluc3RydWN0aW9uIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo3OAorIzogc2lnbGlzdC5jOjc5CiBtc2dpZCAiRU1UIGluc3RydWN0aW9uIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo4MgorIzogc2lnbGlzdC5jOjgzCiBtc2dpZCAiRmxvYXRpbmcgcG9pbnQgZXhjZXB0aW9uIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo4NgorIzogc2lnbGlzdC5jOjg3CiBtc2dpZCAiS2lsbGVkIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo5MAorIzogc2lnbGlzdC5jOjkxCiAjLCBmdXp6eQogbXNnaWQgIkJ1cyBlcnJvciIKIG1zZ3N0ciAic/xudGFrc2kgdmlnYSIKIAotIzogc2lnbGlzdC5jOjk0CisjOiBzaWdsaXN0LmM6OTUKIG1zZ2lkICJTZWdtZW50YXRpb24gZmF1bHQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjk4CisjOiBzaWdsaXN0LmM6OTkKIG1zZ2lkICJCYWQgc3lzdGVtIGNhbGwiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjEwMgorIzogc2lnbGlzdC5jOjEwMwogbXNnaWQgIkJyb2tlbiBwaXBlIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxMDYKKyM6IHNpZ2xpc3QuYzoxMDcKIG1zZ2lkICJBbGFybSBjbG9jayIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTEwCisjOiBzaWdsaXN0LmM6MTExCiAjLCBmdXp6eQogbXNnaWQgIlRlcm1pbmF0ZWQiCiBtc2dzdHIgInBpaXJhdHVkIgogCi0jOiBzaWdsaXN0LmM6MTE0CisjOiBzaWdsaXN0LmM6MTE1CiBtc2dpZCAiVXJnZW50IElPIGNvbmRpdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTE4CisjOiBzaWdsaXN0LmM6MTE5CiBtc2dpZCAiU3RvcHBlZCAoc2lnbmFsKSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTI2CisjOiBzaWdsaXN0LmM6MTI3CiBtc2dpZCAiQ29udGludWUiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjEzNAorIzogc2lnbGlzdC5jOjEzNQogbXNnaWQgIkNoaWxkIGRlYXRoIG9yIHN0b3AiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjEzOAorIzogc2lnbGlzdC5jOjEzOQogbXNnaWQgIlN0b3BwZWQgKHR0eSBpbnB1dCkiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE0MgorIzogc2lnbGlzdC5jOjE0MwogbXNnaWQgIlN0b3BwZWQgKHR0eSBvdXRwdXQpIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNDYKKyM6IHNpZ2xpc3QuYzoxNDcKIG1zZ2lkICJJL08gcmVhZHkiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE1MAorIzogc2lnbGlzdC5jOjE1MQogbXNnaWQgIkNQVSBsaW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTU0CisjOiBzaWdsaXN0LmM6MTU1CiBtc2dpZCAiRmlsZSBsaW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTU4CisjOiBzaWdsaXN0LmM6MTU5CiBtc2dpZCAiQWxhcm0gKHZpcnR1YWwpIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNjIKKyM6IHNpZ2xpc3QuYzoxNjMKIG1zZ2lkICJBbGFybSAocHJvZmlsZSkiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE2NgorIzogc2lnbGlzdC5jOjE2NwogbXNnaWQgIldpbmRvdyBjaGFuZ2VkIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNzAKKyM6IHNpZ2xpc3QuYzoxNzEKIG1zZ2lkICJSZWNvcmQgbG9jayIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTc0CisjOiBzaWdsaXN0LmM6MTc1CiBtc2dpZCAiVXNlciBzaWduYWwgMSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTc4CisjOiBzaWdsaXN0LmM6MTc5CiBtc2dpZCAiVXNlciBzaWduYWwgMiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTgyCisjOiBzaWdsaXN0LmM6MTgzCiBtc2dpZCAiSEZUIGlucHV0IGRhdGEgcGVuZGluZyIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTg2CisjOiBzaWdsaXN0LmM6MTg3CiBtc2dpZCAicG93ZXIgZmFpbHVyZSBpbW1pbmVudCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTkwCisjOiBzaWdsaXN0LmM6MTkxCiBtc2dpZCAic3lzdGVtIGNyYXNoIGltbWluZW50IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxOTQKKyM6IHNpZ2xpc3QuYzoxOTUKIG1zZ2lkICJtaWdyYXRlIHByb2Nlc3MgdG8gYW5vdGhlciBDUFUiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE5OAorIzogc2lnbGlzdC5jOjE5OQogbXNnaWQgInByb2dyYW1taW5nIGVycm9yIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMDIKKyM6IHNpZ2xpc3QuYzoyMDMKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIGdyYW50ZWQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjIwNgorIzogc2lnbGlzdC5jOjIwNwogbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgcmV0cmFjdGVkIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMTAKKyM6IHNpZ2xpc3QuYzoyMTEKIG1zZ2lkICJIRlQgc291bmQgc2VxdWVuY2UgaGFzIGNvbXBsZXRlZCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjE0CisjOiBzaWdsaXN0LmM6MjE1CiBtc2dpZCAiSW5mb3JtYXRpb24gcmVxdWVzdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjIyCisjOiBzaWdsaXN0LmM6MjIzCiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjI0CisjOiBzaWdsaXN0LmM6MjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjExODEgc3Vic3QuYzoxMzAyCisjOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjI0NTgKKyM6IHN1YnN0LmM6MjczNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ0NTYgc3Vic3QuYzo0NDcyCisjOiBzdWJzdC5jOjQ3NTQgc3Vic3QuYzo0NzcwCiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo0NTA0CisjOiBzdWJzdC5jOjQ4MDIKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo0NTQ5CisjOiBzdWJzdC5jOjQ4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ1NTEKKyM6IHN1YnN0LmM6NDg0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciB3cml0aW5nIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDU2OQorIzogc3Vic3QuYzo0ODY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgbmFtZWQgcGlwZSAlcyBhcyBmZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ3NjUKKyM6IHN1YnN0LmM6NTA2MwogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDc5OQorIzogc3Vic3QuYzo1MDk3CiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDgxNgorIzogc3Vic3QuYzo1MTE0CiBtc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjUzMTgKKyM6IHN1YnN0LmM6NTYxNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGFyYW1ldGVyIG51bGwgb3Igbm90IHNldCIKIG1zZ3N0ciAiJXM6IHBhcmFtZWV0ZXIgb24gbnVsbCB29WkgcG9sZSBzZWF0dWQiCiAKLSM6IHN1YnN0LmM6NTYwOAorIzogc3Vic3QuYzo1OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo2NjYwCisjOiBzdWJzdC5jOjY5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiVzOiBoYWxiIGFzZW5kdXMiCiAKLSM6IHN1YnN0LmM6Njc0MAorIzogc3Vic3QuYzo3MDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJCVzOiBzZWRhc2kgZWkgc2FhIG9taXN0YWRhIgogCi0jOiBzdWJzdC5jOjc0OTkKKyM6IHN1YnN0LmM6NzM3NAorbXNnaWQgIiIKKyJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKKyJzdWJzdGl0dXRpb24iCittc2dzdHIgIiIKKworIzogc3Vic3QuYzo3ODM5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgogbXNnc3RyICJzdWxnZXYgYCVjJyBwdXVkdWIgJXMgc2VlcyIKIAotIzogc3Vic3QuYzo4Mzc1CisjOiBzdWJzdC5jOjg3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICJlaSBsZWl0dWQ6ICVzIgogCi0jOiB0ZXN0LmM6MTQ1CisjOiB0ZXN0LmM6MTQ2CiBtc2dpZCAiYXJndW1lbnQgZXhwZWN0ZWQiCiBtc2dzdHIgIm9vZGF0aSBhcmd1bWVudGkiCiAKLSM6IHRlc3QuYzoxNTQKKyM6IHRlc3QuYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludGVnZXIgZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IG9vZGF0aSB05GlzYXJ2dWRlIGF2YWxkaXN0IgogCi0jOiB0ZXN0LmM6MjYyCisjOiB0ZXN0LmM6MjYzCiBtc2dpZCAiYCknIGV4cGVjdGVkIgogbXNnc3RyICJvb2RhdGkgYCknIgogCi0jOiB0ZXN0LmM6MjY0CisjOiB0ZXN0LmM6MjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImApJyBleHBlY3RlZCwgZm91bmQgJXMiCiBtc2dzdHIgIm9vZGF0aSBgKScsIHNhYWRpICVzIgogCi0jOiB0ZXN0LmM6Mjc5IHRlc3QuYzo2ODggdGVzdC5jOjY5MQorIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogZWVsZGF0aSB1bmFhcnNldCBvcGVyYWF0b3JpdCIKIAotIzogdGVzdC5jOjQ0NCB0ZXN0LmM6NzMxCisjOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IGVlbGRhdGkgYmluYWFyc2V0IG9wZXJhYXRvcml0IgogCi0jOiB0ZXN0LmM6ODA2CisjOiB0ZXN0LmM6ODExCiBtc2dpZCAibWlzc2luZyBgXSciCiBtc2dzdHIgInB1dWR1YiBgXSciCiAKLSM6IHRyYXAuYzoyMDEKKyM6IHRyYXAuYzoyMDMKIG1zZ2lkICJpbnZhbGlkIHNpZ25hbCBudW1iZXIiCiBtc2dzdHIgInZpZ2FuZSBzaWduYWFsaSBudW1iZXIiCiAKLSM6IHRyYXAuYzozMjQKKyM6IHRyYXAuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVuX3BlbmRpbmdfdHJhcHM6IGJhZCB2YWx1ZSBpbiB0cmFwX2xpc3RbJWRdOiAlcCIKIG1zZ3N0ciAicnVuX3BlbmRpbmdfdHJhcHM6IGhhbGIgduTkcnR1cyBtdXV0dWphcyB0cmFwX2xpc3RbJWRdOiAlcCIKIAotIzogdHJhcC5jOjMyOAorIzogdHJhcC5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicnVuX3BlbmRpbmdfdHJhcHM6IHNpZ25hbCBoYW5kbGVyIGlzIFNJR19ERkwsIHJlc2VuZGluZyAlZCAoJXMpIHRvIG15c2VsZiIKIG1zZ3N0ciAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWFsaSBr5HNpdGxlamEgb24gU0lHX0RGTCwgc2FhZGFuICVkICglcykgaXNlZW5kYWxlIgogCi0jOiB0cmFwLmM6MzcyCisjOiB0cmFwLmM6MzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKIG1zZ3N0ciAidHJhcF9oYW5kbGVyOiB2aWdhbmUgc2lnbmFhbCAlZCIKIAotIzogdmFyaWFibGVzLmM6MzU4CisjOiB2YXJpYWJsZXMuYzozNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIGAlcyciCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6NzM2CisjOiB2YXJpYWJsZXMuYzo3NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCiBtc2dzdHIgInNoZWxsaSB0YXNlICglZCkgb24gbGlpZ2Ega/VyZ2UsIGthc3V0YW4gduTkcnR1c3QgMSIKIAotIzogdmFyaWFibGVzLmM6MTg5OAorIzogdmFyaWFibGVzLmM6MTkxNQogbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAibWFrZV9sb2NhbF92YXJpYWJsZTogcHJhZWd1bmUgc2tvb3AgcG9sZSBmdW5rdHNpb29uaSBrb250ZWtzdCIKIAotIzogdmFyaWFibGVzLmM6MzEyNworIzogdmFyaWFibGVzLmM6MzE1OQogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiYWxsX2xvY2FsX3ZhcmlhYmxlczogcHJhZWd1bmUgc2tvb3AgcG9sZSBmdW5rdHNpb29uaSBrb250ZWtzdCIKIAotIzogdmFyaWFibGVzLmM6MzM0NCB2YXJpYWJsZXMuYzozMzUzCisjOiB2YXJpYWJsZXMuYzozMzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCittc2dzdHIgIiVzOiBwYXJhbWVldGVyIG9uIG51bGwgdvVpIHBvbGUgc2VhdHVkIgorCisjOiB2YXJpYWJsZXMuYzozMzgxIHZhcmlhYmxlcy5jOjMzOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMzU5CisjOiB2YXJpYWJsZXMuYzozMzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM3OTQKKyM6IHZhcmlhYmxlcy5jOjM4MzUKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzgwNworIzogdmFyaWFibGVzLmM6Mzg0OAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogbXNnc3RyICJwb3BfdmFyX2NvbnRleHQ6IHBvbGUgZ2xvYmFsX3ZhcmlhYmxlcyBrb250ZWtzdCIKIAotIzogdmFyaWFibGVzLmM6Mzg4MQorIzogdmFyaWFibGVzLmM6MzkyMgogbXNnaWQgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgogbXNnc3RyICIiCiAKKyM6IHZhcmlhYmxlcy5jOjQ2NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogY2Fubm90IG9wZW4gYXMgRklMRSIKK21zZ3N0ciAiJXM6IGVpIHNhYSBhdmFkYTogJXMiCisKKyM6IHZhcmlhYmxlcy5jOjQ2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiIKKwogIzogdmVyc2lvbi5jOjQ2CiAjLCBmdXp6eQogbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCkBAIC0xNzYxLDYwICsxODUxLDUyIEBACiAiaHRtbD5cbiIKIG1zZ3N0ciAiIgogCi0jOiB2ZXJzaW9uLmM6ODYKKyM6IHZlcnNpb24uYzo4NiB2ZXJzaW9uMi5jOjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkdOVSBiYXNoLCB2ZXJzaW9uICVzICglcylcbiIKIG1zZ3N0ciAiIgogCi0jOiB2ZXJzaW9uLmM6OTEKKyM6IHZlcnNpb24uYzo5MSB2ZXJzaW9uMi5jOjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmlidXRlIGl0LlxuIgogbXNnc3RyICIiCiAKLSM6IHZlcnNpb24uYzo5MgorIzogdmVyc2lvbi5jOjkyIHZlcnNpb24yLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKIG1zZ3N0ciAiIgogCi0jOiB4bWFsbG9jLmM6OTIKKyM6IHZlcnNpb24yLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKK21zZ3N0ciAiQXV0b3Jp9WlndXMgqSAyMDA2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgorCisjOiB2ZXJzaW9uMi5jOjg3CiAjLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorbXNnaWQgIiIKKyJMaWNlbnNlIEdQTHYyKzogR05VIEdQTCB2ZXJzaW9uIDIgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiaHRtbD5cbiIKIG1zZ3N0ciAiIgogCi0jOiB4bWFsbG9jLmM6OTQKKyM6IHhtYWxsb2MuYzo5MQogIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKIG1zZ3N0ciAiIgogCi0jOiB4bWFsbG9jLmM6MTE0CisjOiB4bWFsbG9jLmM6OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorbXNnc3RyICIlczogZWkgc2FhIGx1dWE6ICVzIgorCisjOiB4bWFsbG9jLmM6MTYzCiAjLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiBtc2dzdHIgIiIKIAotIzogeG1hbGxvYy5jOjExNgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKLW1zZ3N0ciAiIgotCi0jOiB4bWFsbG9jLmM6MTUwCi0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAiIgotCi0jOiB4bWFsbG9jLmM6MTUyCi0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICIiCi0KLSM6IHhtYWxsb2MuYzoxNzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICIiCi0KLSM6IHhtYWxsb2MuYzoxNzYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICIiCisjOiB4bWFsbG9jLmM6MTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCittc2dzdHIgIiVzOiBlaSBzYWEgbHV1YTogJXMiCiAKICM6IGJ1aWx0aW5zLmM6NDMKIG1zZ2lkICJhbGlhcyBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uIF0iCkBAIC0xOTMxLDcgKzIwMTMsNyBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MTE3Ci1tc2dpZCAiaGVscCBbLWRzXSBbcGF0dGVybiAuLi5dIgorbXNnaWQgImhlbHAgWy1kbXNdIFtwYXR0ZXJuIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxMjEKQEAgLTE5NjAsOCArMjA0Miw4IEBACiAKICM6IGJ1aWx0aW5zLmM6MTM2CiBtc2dpZCAiIgotInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1wIHByb21wdF0gWy10ICIKLSJ0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCisicmVhZCBbLWVyc10gWy1hIGFycmF5XSBbLWQgZGVsaW1dIFstaSB0ZXh0XSBbLW4gbmNoYXJzXSBbLU4gbmNoYXJzXSBbLXAgIgorInByb21wdF0gWy10IHRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjEzOApAQCAtMjEyNCw5ICsyMjA2LDkgQEAKIAogIzogYnVpbHRpbnMuYzoyMjkKIG1zZ2lkICIiCi0iY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLVcgIgotIndvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TIHN1ZmZpeF0gIgotIltuYW1lIC4uLl0iCisiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstREVdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLSIKKyJXIHdvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TICIKKyJzdWZmaXhdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoyMzMKQEAgLTIxMzYsNyArMjIxOCw3IEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoyMzcKLW1zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFtuYW1lIC4uLl0iCittc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbLURFXSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MjQwCkBAIC0yODU2LDcgKzI5MzgsMTEgQEAKICIgICAgICAtZVx0XHR1c2UgUmVhZGxpbmUgdG8gb2J0YWluIHRoZSBsaW5lIGluIGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCiAiICAgICAgLWkgdGV4dFx0VXNlIFRFWFQgYXMgdGhlIGluaXRpYWwgdGV4dCBmb3IgUmVhZGxpbmVcbiIKICIgICAgICAtbiBuY2hhcnNcdHJldHVybiBhZnRlciByZWFkaW5nIE5DSEFSUyBjaGFyYWN0ZXJzIHJhdGhlciB0aGFuIHdhaXRpbmdcbiIKLSIgICAgXHRcdGZvciBhIG5ld2xpbmVcbiIKKyIgICAgXHRcdGZvciBhIG5ld2xpbmUsIGJ1dCBob25vciBhIGRlbGltaXRlciBpZiBmZXdlciB0aGFuIE5DSEFSU1xuIgorIiAgICBcdFx0Y2hhcmFjdGVycyBhcmUgcmVhZCBiZWZvcmUgdGhlIGRlbGltaXRlclxuIgorIiAgICAgIC1OIG5jaGFyc1x0cmV0dXJuIG9ubHkgYWZ0ZXIgcmVhZGluZyBleGFjdGx5IE5DSEFSUyBjaGFyYWN0ZXJzLCAiCisidW5sZXNzXG4iCisiICAgIFx0XHRFT0YgaXMgZW5jb3VudGVyZWQgb3IgcmVhZCB0aW1lcyBvdXQsIGlnbm9yaW5nIGFueSBkZWxpbWl0ZXJcbiIKICIgICAgICAtcCBwcm9tcHRcdG91dHB1dCB0aGUgc3RyaW5nIFBST01QVCB3aXRob3V0IGEgdHJhaWxpbmcgbmV3bGluZSBiZWZvcmVcbiIKICIgICAgXHRcdGF0dGVtcHRpbmcgdG8gcmVhZFxuIgogIiAgICAgIC1yXHRcdGRvIG5vdCBhbGxvdyBiYWNrc2xhc2hlcyB0byBlc2NhcGUgYW55IGNoYXJhY3RlcnNcbiIKQEAgLTI4NzYsNyArMjk2Miw3IEBACiAiICAgIG9yIGFuIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIGlzIHN1cHBsaWVkIGFzIHRoZSBhcmd1bWVudCB0byAtdS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMDA2CisjOiBidWlsdGlucy5jOjEwMDkKIG1zZ2lkICIiCiAiUmV0dXJuIGZyb20gYSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0yODg4LDcgKzI5NzQsNyBAQAogIiAgICBSZXR1cm5zIE4sIG9yIGZhaWx1cmUgaWYgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbiBvciBzY3JpcHQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTAxOQorIzogYnVpbHRpbnMuYzoxMDIyCiBtc2dpZCAiIgogIlNldCBvciB1bnNldCB2YWx1ZXMgb2Ygc2hlbGwgb3B0aW9ucyBhbmQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTI5NzAsNyArMzA1Niw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTEwMQorIzogYnVpbHRpbnMuYzoxMTA0CiBtc2dpZCAiIgogIlVuc2V0IHZhbHVlcyBhbmQgYXR0cmlidXRlcyBvZiBzaGVsbCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0yOTkwLDcgKzMwNzYsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgTkFNRSBpcyByZWFkLW9ubHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTEyMQorIzogYnVpbHRpbnMuYzoxMTI0CiBtc2dpZCAiIgogIlNldCBleHBvcnQgYXR0cmlidXRlIGZvciBzaGVsbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMzAwOSw3ICszMDk1LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE0MAorIzogYnVpbHRpbnMuYzoxMTQzCiBtc2dpZCAiIgogIk1hcmsgc2hlbGwgdmFyaWFibGVzIGFzIHVuY2hhbmdlYWJsZS5cbiIKICIgICAgXG4iCkBAIC0zMDI5LDcgKzMxMTUsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTYxCisjOiBidWlsdGlucy5jOjExNjQKIG1zZ2lkICIiCiAiU2hpZnQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTMwNDAsNyArMzEyNiw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTiBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gJCMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE3MyBidWlsdGlucy5jOjExODgKKyM6IGJ1aWx0aW5zLmM6MTE3NiBidWlsdGlucy5jOjExOTEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmcm9tIGEgZmlsZSBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zMDU0LDcgKzMxNDAsNyBAQAogIiAgICBGSUxFTkFNRSBjYW5ub3QgYmUgcmVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjA0CisjOiBidWlsdGlucy5jOjEyMDcKIG1zZ2lkICIiCiAiU3VzcGVuZCBzaGVsbCBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzA2OCw3ICszMTU0LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTIyMAorIzogYnVpbHRpbnMuYzoxMjIzCiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtMzE0NSw3ICszMjMxLDcgQEAKICIgICAgZmFsc2Ugb3IgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjk2CisjOiBidWlsdGlucy5jOjEyOTkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC0zMTUzLDcgKzMyMzksNyBAQAogIiAgICBiZSBhIGxpdGVyYWwgYF0nLCB0byBtYXRjaCB0aGUgb3BlbmluZyBgWycuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTMwNQorIzogYnVpbHRpbnMuYzoxMzA4CiBtc2dpZCAiIgogIkRpc3BsYXkgcHJvY2VzcyB0aW1lcy5cbiIKICIgICAgXG4iCkBAIC0zMTY1LDcgKzMyNTEsNyBAQAogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTMxNworIzogYnVpbHRpbnMuYzoxMzIwCiBtc2dpZCAiIgogIlRyYXAgc2lnbmFscyBhbmQgb3RoZXIgZXZlbnRzLlxuIgogIiAgICBcbiIKQEAgLTMyMDEsNyArMzI4Nyw3IEBACiAiZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTM0OQorIzogYnVpbHRpbnMuYzoxMzUyCiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZCB0eXBlLlxuIgogIiAgICBcbiIKQEAgLTMyMzEsNyArMzMxNyw3IEBACiAiZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MAorIzogYnVpbHRpbnMuYzoxMzgzCiBtc2dpZCAiIgogIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCiAiICAgIFxuIgpAQCAtMzI3NSw3ICszMzYxLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQyNQorIzogYnVpbHRpbnMuYzoxNDI4CiBtc2dpZCAiIgogIkRpc3BsYXkgb3Igc2V0IGZpbGUgbW9kZSBtYXNrLlxuIgogIiAgICBcbiIKQEAgLTMyOTMsNyArMzM3OSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTU9ERSBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NDUKKyM6IGJ1aWx0aW5zLmM6MTQ0OAogbXNnaWQgIiIKICJXYWl0IGZvciBqb2IgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTMzMTAsNyArMzM5Niw3IEBACiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NjMKKyM6IGJ1aWx0aW5zLmM6MTQ2NgogbXNnaWQgIiIKICJXYWl0IGZvciBwcm9jZXNzIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC0zMzI0LDcgKzM0MTAsNyBAQAogIiAgICBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDc4CisjOiBidWlsdGlucy5jOjE0ODEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTMzMzcsNyArMzQyMyw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0OTIKKyM6IGJ1aWx0aW5zLmM6MTQ5NQogbXNnaWQgIiIKICJBcml0aG1ldGljIGZvciBsb29wLlxuIgogIiAgICBcbiIKQEAgLTMzNTQsNyArMzQ0MCw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1MTAKKyM6IGJ1aWx0aW5zLmM6MTUxMwogbXNnaWQgIiIKICJTZWxlY3Qgd29yZHMgZnJvbSBhIGxpc3QgYW5kIGV4ZWN1dGUgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMzM3NCw3ICszNDYwLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTUzMQorIzogYnVpbHRpbnMuYzoxNTM0CiBtc2dpZCAiIgogIlJlcG9ydCB0aW1lIGNvbnN1bWVkIGJ5IHBpcGVsaW5lJ3MgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTMzOTAsNyArMzQ3Niw3IEBACiAiICAgIFRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSByZXR1cm4gc3RhdHVzIG9mIFBJUEVMSU5FLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1NDgKKyM6IGJ1aWx0aW5zLmM6MTU1MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIHBhdHRlcm4gbWF0Y2hpbmcuXG4iCiAiICAgIFxuIgpAQCAtMzQwMSw3ICszNDg3LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU2MAorIzogYnVpbHRpbnMuYzoxNTYzCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gY29uZGl0aW9uYWwuXG4iCiAiICAgIFxuIgpAQCAtMzQyMiw3ICszNTA4LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU3NworIzogYnVpbHRpbnMuYzoxNTgwCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3Qgc3VjY2VlZHMuXG4iCiAiICAgIFxuIgpAQCAtMzQzMyw3ICszNTE5LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU4OQorIzogYnVpbHRpbnMuYzoxNTkyCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3QgZG9lcyBub3Qgc3VjY2VlZC5cbiIKICIgICAgXG4iCkBAIC0zNDQ0LDcgKzM1MzAsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjAxCisjOiBidWlsdGlucy5jOjE2MDQKIG1zZ2lkICIiCiAiQ3JlYXRlIGEgY29wcm9jZXNzIG5hbWVkIE5BTUUuXG4iCiAiICAgIFxuIgpAQCAtMzQ1Nyw3ICszNTQzLDcgQEAKICIgICAgUmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgQ09NTUFORC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjE1CisjOiBidWlsdGlucy5jOjE2MTgKIG1zZ2lkICIiCiAiRGVmaW5lIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM0NzEsNyArMzU1Nyw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyByZWFkb25seS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjI5CisjOiBidWlsdGlucy5jOjE2MzIKIG1zZ2lkICIiCiAiR3JvdXAgY29tbWFuZHMgYXMgYSB1bml0LlxuIgogIiAgICBcbiIKQEAgLTM0ODIsNyArMzU2OCw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NDEKKyM6IGJ1aWx0aW5zLmM6MTY0NAogbXNnaWQgIiIKICJSZXN1bWUgam9iIGluIGZvcmVncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMzQ5Niw3ICszNTgyLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSByZXN1bWVkIGpvYi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjU2CisjOiBidWlsdGlucy5jOjE2NTkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTM1MDcsNyArMzU5Myw3IEBACiAiICAgIFJldHVybnMgMSBpZiBFWFBSRVNTSU9OIGV2YWx1YXRlcyB0byAwOyByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NjgKKyM6IGJ1aWx0aW5zLmM6MTY3MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbmRpdGlvbmFsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMzUzNSw3ICszNjIxLDcgQEAKICIgICAgMCBvciAxIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBFWFBSRVNTSU9OLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2OTQKKyM6IGJ1aWx0aW5zLmM6MTY5NwogbXNnaWQgIiIKICJDb21tb24gc2hlbGwgdmFyaWFibGUgbmFtZXMgYW5kIHVzYWdlLlxuIgogIiAgICBcbiIKQEAgLTM1ODksNyArMzY3NSw3IEBACiAiICAgIFx0XHRjb21tYW5kcyBzaG91bGQgYmUgc2F2ZWQgb24gdGhlIGhpc3RvcnkgbGlzdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE3NTEKKyM6IGJ1aWx0aW5zLmM6MTc1NAogbXNnaWQgIiIKICJBZGQgZGlyZWN0b3JpZXMgdG8gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzYyMCw3ICszNzA2LDcgQEAKICIgICAgY2hhbmdlIGZhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE3ODUKKyM6IGJ1aWx0aW5zLmM6MTc4OAogbXNnaWQgIiIKICJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zNjQ3LDcgKzM3MzMsNyBAQAogIiAgICBjaGFuZ2UgZmFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTgxNQorIzogYnVpbHRpbnMuYzoxODE4CiBtc2dpZCAiIgogIkRpc3BsYXkgZGlyZWN0b3J5IHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM2NzYsNyArMzc2Miw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4NDQKKyM6IGJ1aWx0aW5zLmM6MTg0NwogbXNnaWQgIiIKICJTZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzY5Nyw3ICszNzgzLDcgQEAKICIgICAgZ2l2ZW4gb3IgT1BUTkFNRSBpcyBkaXNhYmxlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODY1CisjOiBidWlsdGlucy5jOjE4NjgKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCiAiICAgIFxuIgpAQCAtMzcyNyw3ICszODEzLDcgQEAKICIgICAgZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4OTIKKyM6IGJ1aWx0aW5zLmM6MTg5NQogbXNnaWQgIiIKICJTcGVjaWZ5IGhvdyBhcmd1bWVudHMgYXJlIHRvIGJlIGNvbXBsZXRlZCBieSBSZWFkbGluZS5cbiIKICIgICAgXG4iCkBAIC0zNzQxLDE1ICszODI3LDIwIEBACiAiICAgICAgLXBcdHByaW50IGV4aXN0aW5nIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnMgaW4gYSByZXVzYWJsZSBmb3JtYXRcbiIKICIgICAgICAtclx0cmVtb3ZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGZvciBlYWNoIE5BTUUsIG9yLCBpZiBub1xuIgogIiAgICBcdE5BTUVzIGFyZSBzdXBwbGllZCwgYWxsIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnNcbiIKKyIgICAgICAtRFx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIGFzIHRoZSBkZWZhdWx0IGZvciBjb21tYW5kc1xuIgorIiAgICBcdHdpdGhvdXQgYW55IHNwZWNpZmljIGNvbXBsZXRpb24gZGVmaW5lZFxuIgorIiAgICAgIC1FXHRhcHBseSB0aGUgY29tcGxldGlvbnMgYW5kIGFjdGlvbnMgdG8gXCJlbXB0eVwiIGNvbW1hbmRzIC0tXG4iCisiICAgIFx0Y29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYSBibGFuayBsaW5lXG4iCiAiICAgIFxuIgogIiAgICBXaGVuIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkLCB0aGUgYWN0aW9ucyBhcmUgYXBwbGllZCBpbiB0aGUgb3JkZXIgdGhlXG4iCi0iICAgIHVwcGVyY2FzZS1sZXR0ZXIgb3B0aW9ucyBhcmUgbGlzdGVkIGFib3ZlLlxuIgorIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS4gIFRoZSAtRCBvcHRpb24gdGFrZXNcbiIKKyIgICAgcHJlY2VkZW5jZSBvdmVyIC1FLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5MTUKKyM6IGJ1aWx0aW5zLmM6MTkyMwogbXNnaWQgIiIKICJEaXNwbGF5IHBvc3NpYmxlIGNvbXBsZXRpb25zIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zNzYyLDcgKzM4NTMsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTMwCisjOiBidWlsdGlucy5jOjE5MzgKIG1zZ2lkICIiCiAiTW9kaWZ5IG9yIGRpc3BsYXkgY29tcGxldGlvbiBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTM3NzUsNiArMzg2Niw4IEBACiAiICAgIFxuIgogIiAgICBPcHRpb25zOlxuIgogIiAgICBcdC1vIG9wdGlvblx0U2V0IGNvbXBsZXRpb24gb3B0aW9uIE9QVElPTiBmb3IgZWFjaCBOQU1FXG4iCisiICAgIFx0LURcdFx0Q2hhbmdlIG9wdGlvbnMgZm9yIHRoZSBcImRlZmF1bHRcIiBjb21tYW5kIGNvbXBsZXRpb25cbiIKKyIgICAgXHQtRVx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZW1wdHlcIiBjb21tYW5kIGNvbXBsZXRpb25cbiIKICIgICAgXG4iCiAiICAgIFVzaW5nIGArbycgaW5zdGVhZCBvZiBgLW8nIHR1cm5zIG9mZiB0aGUgc3BlY2lmaWVkIG9wdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNzkxLDE1ICszODg0LDE1IEBACiAiICAgIGhhdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZGVmaW5lZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTU4CisjOiBidWlsdGlucy5jOjE5NjgKIG1zZ2lkICIiCi0iUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgorIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKLSIgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBhcnJheSB2YXJpYWJsZSBBUlJBWSwgb3IgIgotImZyb21cbiIKLSIgICAgZmlsZSBkZXNjcmlwdG9yIEZEIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaWFibGUgTUFQRklMRSAiCi0iaXNcbiIKLSIgICAgdGhlIGRlZmF1bHQgQVJSQVkuXG4iCisiICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgaW5kZXhlZCBhcnJheSB2YXJpYWJsZSAiCisiQVJSQVksIG9yXG4iCisiICAgIGZyb20gZmlsZSBkZXNjcmlwdG9yIEZEIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaWFibGUgIgorIk1BUEZJTEVcbiIKKyIgICAgaXMgdGhlIGRlZmF1bHQgQVJSQVkuXG4iCiAiICAgIFxuIgogIiAgICBPcHRpb25zOlxuIgogIiAgICAgIC1uIGNvdW50XHRDb3B5IGF0IG1vc3QgQ09VTlQgbGluZXMuICBJZiBDT1VOVCBpcyAwLCBhbGwgbGluZXMgYXJlICIKQEAgLTM4MjYsMTAgKzM5MTksMTIgQEAKICIgICAgYXNzaWduaW5nIHRvIGl0LlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIEFSUkFZIGlzIHJlYWRvbmx5ICIKKyJvclxuIgorIiAgICBub3QgYW4gaW5kZXhlZCBhcnJheS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTkwCisjOiBidWlsdGlucy5jOjIwMDEKIG1zZ2lkICIiCiAiUmVhZCBsaW5lcyBmcm9tIGEgZmlsZSBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKZGlmZiAtLWdpdCBhL3BvL2ZyLmdtbyBiL3BvL2ZyLmdtbwppbmRleCA4ZjM0NzU3Li45ZmU2ODFmIDEwMDY0NAotLS0gYS9wby9mci5nbW8KKysrIGIvcG8vZnIuZ21vCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3BvL2ZyLnBvIGIvcG8vZnIucG8KaW5kZXggOTIwNWFmNi4uNTJkNWUxZiAxMDA2NDQKLS0tIGEvcG8vZnIucG8KKysrIGIvcG8vZnIucG8KQEAgLTcsNyArNyw3IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IGJhc2ggMy4yXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTAyLTE5IDE0OjUzLTA1MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogMjAwOC0wMy0xMyAxMzoxMCswMTAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBDaHJpc3RvcGhlIENvbWJlbGxlcyA8Y2NvbWJAZnJlZS5mcj5cbiIKICJMYW5ndWFnZS1UZWFtOiBGcmVuY2ggPHRyYWR1Y0B0cmFkdWMub3JnPlxuIgpAQCAtMjAsNTIgKzIwLDU3IEBACiBtc2dpZCAiYmFkIGFycmF5IHN1YnNjcmlwdCIKIG1zZ3N0ciAibWF1dmFpcyBpbmRpY2UgZGUgdGFibGVhdSIKIAotIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAorIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiIgogCi0jOiBhcnJheWZ1bmMuYzo0NzkKKyM6IGFycmF5ZnVuYy5jOjQ4MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXNzb2NpYXRpdmUgYXJyYXkga2V5IgogbXNnc3RyICIlcyA6IG5vbSBkJ2FjdGlvbiBub24gdmFsYWJsZSIKIAotIzogYXJyYXlmdW5jLmM6NDgxCisjOiBhcnJheWZ1bmMuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gdG8gbm9uLW51bWVyaWMgaW5kZXgiCiBtc2dzdHIgIiVzIDogaW1wb3NzaWJsZSBkJ2Fzc2lnbmVyIMOgIHVuIGluZGV4IG5vbiBudW3DqXJpcXVlIgogCi0jOiBhcnJheWZ1bmMuYzo1MTcKKyM6IGFycmF5ZnVuYy5jOjUxOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IG11c3QgdXNlIHN1YnNjcmlwdCB3aGVuIGFzc2lnbmluZyBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiIgogCi0jOiBiYXNoaGlzdC5jOjM3OQorIzogYmFzaGhpc3QuYzozODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjcmVhdGU6ICVzIgogbXNnc3RyICIlcyA6IGltcG9zc2libGUgZGUgY3LDqWVyIDogJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzQxMworIzogYmFzaGxpbmUuYzozNDU3CiBtc2dpZCAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgogbXNnc3RyICIiCiAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZCA6IGltcG9zc2libGUgZGUgdHJvdXZlciBsZSBtYXBwYWdlIGNsYXZpZXIgcG91ciBsYSAiCiAiY29tbWFuZGUiCiAKLSM6IGJhc2hsaW5lLmM6MzQ5MQorIzogYmFzaGxpbmUuYzozNTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IGBcIiciCiBtc2dzdHIgIiVzIDogbGUgcHJlbWllciBjYXJhY3TDqHJlIG5vbiB2aWRlIG4nZXN0IHBhcyDCqyBcIiDCuyIKIAotIzogYmFzaGxpbmUuYzozNTIwCisjOiBiYXNobGluZS5jOjM1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2xvc2luZyBgJWMnIGluICVzIgogbXNnc3RyICJwYXMgZGUgwqsgJWMgwrsgZGUgZmVybWV0dXJlIGRhbnMgJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzU1NAorIzogYmFzaGxpbmUuYzozNjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKIG1zZ3N0ciAiJXMgOiB2aXJndWxlIGRlIHPDqXBhcmF0aW9uIG1hbnF1YW50ZSIKIAorIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogaW52YWxpZCBhbGlhcyBuYW1lIgorbXNnc3RyICLCqyAlcyDCuyA6IG5vbSBkdSBtYXBwYWdlIGNsYXZpZXIgaW52YWxpZGUiCisKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjEyMCBidWlsdGlucy9iaW5kLmRlZjoxMjMKIG1zZ2lkICJsaW5lIGVkaXRpbmcgbm90IGVuYWJsZWQiCiBtc2dzdHIgIiIKQEAgLTExNiw2ICsxMjEsMjEgQEAKICIgICAgV2l0aG91dCBFWFBSLCByZXR1cm5zICIKIG1zZ3N0ciAiUmVudm9pZSBsZSBjb250ZXh0ZSBkZSBsJ2FwcGVsIGRlIHNvdXMtcm91dGluZSBhY3R1ZWwiCiAKKyM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM1Cittc2dpZCAiIgorIi4gIFdpdGggRVhQUiwgcmV0dXJuc1xuIgorIiAgICAiCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzYKK21zZ2lkICIiCisiOyB0aGlzIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIHRvXG4iCisiICAgIHByb3ZpZGUgYSBzdGFjayB0cmFjZS5cbiIKKyIgICAgXG4iCisiICAgIFRoZSB2YWx1ZSBvZiBFWFBSIGluZGljYXRlcyBob3cgbWFueSBjYWxsIGZyYW1lcyB0byBnbyBiYWNrIGJlZm9yZSB0aGVcbiIKKyIgICAgY3VycmVudCBvbmU7IHRoZSB0b3AgZnJhbWUgaXMgZnJhbWUgMC4iCittc2dzdHIgIiIKKwogIzogYnVpbHRpbnMvY2QuZGVmOjIxNQogbXNnaWQgIkhPTUUgbm90IHNldCIKIG1zZ3N0ciAiwqsgSE9NRSDCuyBub24gZMOpZmluaSIKQEAgLTEyOSw3ICsxNDksNyBAQAogbXNnaWQgImxpbmUgJWQ6ICIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjAKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEzOSBlcnJvci5jOjI2MQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogIgogbXNnc3RyICIlcyA6IGF2ZXJ0aXNzZW1lbnQgOiIKQEAgLTEzOSwxMSArMTU5LDExIEBACiBtc2dpZCAiJXM6IHVzYWdlOiAiCiBtc2dzdHIgIiVzIDogYXZlcnRpc3NlbWVudCA6IgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyMgorIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgInRyb3AgZCdhcmd1bWVudHMiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5MyBzaGVsbC5jOjc3NAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIiVzIDogbCdvcHRpb24gbsOpY2Vzc2l0ZSB1biBhcmd1bWVudCIKQEAgLTE1OCw3ICsxNzgsNyBAQAogbXNnaWQgIiVzOiBub3QgZm91bmQiCiBtc2dzdHIgIiVzIDogbm9uIHRyb3V2w6kiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc4NworIzogYnVpbHRpbnMvY29tbW9uLmM6MjE0IHNoZWxsLmM6Nzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJXMgOiBvcHRpb24gbm9uIHZhbGFibGUiCkBAIC0xODMsNyArMjAzLDcgQEAKIG1zZ2lkICJpbnZhbGlkIGhleCBudW1iZXIiCiBtc2dzdHIgIm5vbWJyZSBub24gdmFsYWJsZSIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU1CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTYKIG1zZ2lkICJpbnZhbGlkIG51bWJlciIKIG1zZ3N0ciAibm9tYnJlIG5vbiB2YWxhYmxlIgogCkBAIC0xOTYsOSArMjE2LDEwIEBACiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG5vdCBhIHBpZCBvciB2YWxpZCBqb2Igc3BlYyIKIG1zZ3N0ciAiIgotIsKrICVzIMK7IDogY2Ugbidlc3QgcGFzIHVuIG7CsCBkZSBwcm9jZXNzdXMgb3UgdW5lIHNww6ljaWZpY2F0aW9uIGRlIHTDomNoZSB2YWxhYmxlIgorIsKrICVzIMK7IDogY2Ugbidlc3QgcGFzIHVuIG7CsCBkZSBwcm9jZXNzdXMgb3UgdW5lIHNww6ljaWZpY2F0aW9uIGRlIHTDomNoZSAiCisidmFsYWJsZSIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjY0IGVycm9yLmM6NDUzCisjOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IHZhcmlhYmxlIgogbXNnc3RyICIlcyA6IHZhcmlhYmxlIGVuIGxlY3R1cmUgc2V1bGUiCkBAIC0yNzAsMzAgKzI5MSwzMCBAQAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgam9iIHNwZWMiCiBtc2dzdHIgIiVzIDogc3DDqWNpZmljYXRpb24gZGUgdMOiY2hlIGFtYmlndcOrIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6MjcwCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Mjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFjdGlvbiBuYW1lIgogbXNnc3RyICIlcyA6IG5vbSBkJ2FjdGlvbiBub24gdmFsYWJsZSIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjQzMCBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjE1Ci0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODEzCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDQ5IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NDQKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXMgOiBwYXMgZCdpbmRpY2F0aW9uIGRlIGNvbXBsw6h0ZW1lbnQiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NjcKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTYKIG1zZ2lkICJ3YXJuaW5nOiAtRiBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCiBtc2dzdHIgIiIKICJhdmVydGlzc2VtZW50IDogbCdvcHRpb24gwqsgLUYgwrsgcGV1dCBmb25jdGlvbm5lciBkaWZmw6lyZW1tZW50IGRlIGNlIMOgIHF1b2kgIgogInZvdXMgdm91cyBhdHRlbmRleiIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY2OQorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY5OAogbXNnaWQgIndhcm5pbmc6IC1DIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCIKIG1zZ3N0ciAiIgogImF2ZXJ0aXNzZW1lbnQgOiBsJ29wdGlvbiDCqyAtQyDCuyBwZXV0IGZvbmN0aW9ubmVyIGRpZmbDqXJlbW1lbnQgZGUgY2Ugw6AgcXVvaSAiCiAidm91cyB2b3VzIGF0dGVuZGV6IgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Nzg2CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODI2CiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAiIgogCkBAIC0zMDEsMjEgKzMyMiwyMSBAQAogbXNnaWQgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKIG1zZ3N0ciAidXRpbGlzYWJsZSBzZXVsZW1lbnQgZGFucyB1bmUgZm9uY3Rpb24iCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM1MworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzYwCiBtc2dpZCAiY2Fubm90IHVzZSBgLWYnIHRvIG1ha2UgZnVuY3Rpb25zIgogbXNnc3RyICLCqyAtZiDCuyBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBwb3VyIGZhYnJpcXVlciBkZXMgZm9uY3Rpb25zIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjUgZXhlY3V0ZV9jbWQuYzo0ODE4CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzIgZXhlY3V0ZV9jbWQuYzo0OTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkb25seSBmdW5jdGlvbiIKIG1zZ3N0ciAiJXMgOiBmb25jdGlvbiBlbiBsZWN0dXJlIHNldWxlIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjEKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIlcyA6IGltcG9zc2libGUgZGUgZMOpdHJ1aXJlIGRlcyB2YXJpYWJsZXMgdGFibGVhdXggZGUgY2V0dGUgZmHDp29uIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiIgpAQCAtMzQ0LDggKzM2NSw4IEBACiBtc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgogbXNnc3RyICIlcyA6IGltcG9zc2libGUgZCdlZmZhY2VyIDogJXMiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM0IGJ1aWx0aW5zL2hhc2guZGVmOjE2OSBleGVjdXRlX2NtZC5jOjQ2NzUKLSM6IHNoZWxsLmM6MTQzOQorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDc5NAorIzogc2hlbGwuYzoxNDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpcyBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXMgOiBjZWNpIGVzdCB1biByw6lwZXJ0b2lyZSIKQEAgLTM2MCw3ICszODEsOCBAQAogbXNnaWQgIiVzOiBmaWxlIGlzIHRvbyBsYXJnZSIKIG1zZ3N0ciAiJXMgOiBsZSBmaWNoaWVyIGVzdCB0cm9wIGdyYW5kIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBleGVjdXRlX2NtZC5jOjQ3NDUgc2hlbGwuYzoxNDQ5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBidWlsdGlucy9ldmFsZmlsZS5jOjIwMyBleGVjdXRlX2NtZC5jOjQ4NjQKKyM6IHNoZWxsLmM6MTQ2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGUgYmluYXJ5IGZpbGUiCiBtc2dzdHIgIiVzIDogZmljaGllciBiaW5haXJlIGltcG9zc2libGUgw6AgbGFuY2VyIgpAQCAtMzg5LDE1ICs0MTEsMTUgQEAKIG1zZ2lkICJUaGVyZSBhcmUgcnVubmluZyBqb2JzLlxuIgogbXNnc3RyICJJbCB5IGEgZGVzIHTDomNoZXMgc3RvcHDDqWVzLlxuIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MjYxCisjOiBidWlsdGlucy9mYy5kZWY6MjYyCiBtc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKIG1zZ3N0ciAiYXVjdW5lIGNvbW1hbmRlIHRyb3V2w6llIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzQxCisjOiBidWlsdGlucy9mYy5kZWY6MzQ5CiBtc2dpZCAiaGlzdG9yeSBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICJpbmRpY2F0aW9uIGQnaGlzdG9yaXF1ZSIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM2MgorIzogYnVpbHRpbnMvZmMuZGVmOjM3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKIG1zZ3N0ciAiJXMgOiBpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgdGVtcG9yYWlyZSA6ICVzIgpAQCAtNDQ3LDggKzQ2OSw4IEBACiBtc2dpZCAiIgogIm5vIGhlbHAgdG9waWNzIG1hdGNoIGAlcycuICBUcnkgYGhlbHAgaGVscCcgb3IgYG1hbiAtayAlcycgb3IgYGluZm8gJXMnLiIKIG1zZ3N0ciAiIgotIkF1Y3VuZSBydWJyaXF1ZSBkJ2FpZGUgbmUgY29ycmVzcG9uZCDDoCDCqyAlcyDCuy4gRXNzYXlleiDCqyBoZWxwIGhlbHAgwrssIMKrIG1hbiAtayAlIgotInMgwrsgb3UgwqsgaW5mbyAlcyDCuy4iCisiQXVjdW5lIHJ1YnJpcXVlIGQnYWlkZSBuZSBjb3JyZXNwb25kIMOgIMKrICVzIMK7LiBFc3NheWV6IMKrIGhlbHAgaGVscCDCuywgwqsgbWFuIC0iCisiayAlcyDCuyBvdSDCqyBpbmZvICVzIMK7LiIKIAogIzogYnVpbHRpbnMvaGVscC5kZWY6MTg1CiAjLCBjLWZvcm1hdApAQCAtNDY4LDcgKzQ5MCw4IEBACiBtc2dzdHIgIiIKICJDZXMgY29tbWFuZGVzIGRlIHNoZWxsIHNvbnQgZMOpZmluaWVzIGRlIG1hbmnDqHJlIGludGVybmUuVGFwZXogwqsgaGVscCDCuyBwb3VyICIKICJ2b2lyIGNldHRlIGxpc3RlLlxuIgotIlRhcGV6IMKrIGhlbHAgbm9tIMK7IHBvdXIgZW4gc2F2b2lyIHBsdXMgc3VyIGxhIGZvbmN0aW9uIHF1aSBzJ2FwcGVsbGUgwqsgbm9tIMK7LlxuIgorIlRhcGV6IMKrIGhlbHAgbm9tIMK7IHBvdXIgZW4gc2F2b2lyIHBsdXMgc3VyIGxhIGZvbmN0aW9uIHF1aSBzJ2FwcGVsbGUgwqsgbm9tICIKKyLCuy5cbiIKICJVdGlsaXNleiDCqyBpbmZvIGJhc2ggwrsgcG91ciBlbiBzYXZvaXIgcGx1cyBzdXIgbGUgc2hlbGwgZW4gZ8OpbsOpcmFsLlxuIgogIlV0aWxpc2V6IMKrIG1hbiAtayDCuyBvdSDCqyBpbmZvIMK7IHBvdXIgZW4gc2F2b2lyIHBsdXMgc3VyIGxlcyBjb21tYW5kZXMgcXVpXG4iCiAibmUgZm9udCBwYXMgcGFydGllIGRlIGNldHRlIGxpc3RlLlxuIgpAQCAtNDk4LDEzICs1MjEsMTMgQEAKIG1zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgogbXNnc3RyICJwYXMgZCdhdXRyZSBvcHRpb24gcGVybWlzZSBhdmVjIMKrIC14IMK7IgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoxOTcKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogbXNnc3RyICIiCiAiJXMgOiBsZXMgYXJndW1lbnRzIGRvaXZlbnQgw6p0cmUgZGVzIGlkZW50aWZpYW50cyBkZSB0w6JjaGUgb3UgZGUgcHJvY2Vzc3VzIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyNjAKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MwogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgIkVycmV1ciBpbmNvbm51ZSIKIApAQCAtNTEyLDU2ICs1MzUsNjEgQEAKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICJ1bmUgZXhwcmVzc2lvbiBlc3QgYXR0ZW5kdWUiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0MSBidWlsdGlucy9yZWFkLmRlZjoyNzIKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgorbXNnc3RyICIlcyA6IG4nZXN0IHBhcyB1bmUgdmFyaWFibGUgdGFibGVhdSIKKworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXMgOiBzcMOpY2lmaWNhdGlvbiBkZSBkZXNjcmlwdGV1ciBkZSBmaWNoaWVyIG5vbiB2YWxhYmxlIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTcgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcjogJXMiCiBtc2dzdHIgIiVkIDogZGVzY3JpcHRldXIgZGUgZmljaGllciBub24gdmFsYWJsZSA6ICVzIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTggYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjYgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzA0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW5lIGNvdW50IgogbXNnc3RyICIlcyA6IG9wdGlvbiBub24gdmFsYWJsZSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFycmF5IG9yaWdpbiIKIG1zZ3N0ciAiJXMgOiBvcHRpb24gbm9uIHZhbGFibGUiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogbXNnc3RyICIlcyA6IG5vbSBkJ2FjdGlvbiBub24gdmFsYWJsZSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzE4CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKICMsIGZ1enp5CiBtc2dpZCAiZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZSIKIG1zZ3N0ciAiJXMgOiBuJ2VzdCBwYXMgdW5lIHZhcmlhYmxlIHRhYmxlYXUiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzOQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CiBtc2dpZCAiYXJyYXkgdmFyaWFibGUgc3VwcG9ydCByZXF1aXJlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjM2NworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICLCqyAlcyDCuyA6IGNhcmFjdMOocmUgZGUgZm9ybWF0IG1hbnF1YW50IgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU0NAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICLCqyAlYyDCuyA6IGNhcmFjdMOocmUgZGUgZm9ybWF0IG5vbiBwZXJtaXMiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTcxCisjOiBidWlsdGlucy9wcmludGYuZGVmOjU3OAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogJXM6ICVzIgogbXNnc3RyICIlcyA6IGF2ZXJ0aXNzZW1lbnQgOiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTAKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzU3CiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAiY2hpZmZyZSBoZXhhZMOpY2ltYWwgbWFucXVhbnQgcG91ciBcXHgiCiAKQEAgLTYxNSwxMSArNjQzLDEzIEBACiAiICAgIHJhY2NvdXJjaWVzIGRlcyByw6lwZXJ0b2lyZXMgcmVsYXRpdmVtZW50IMOgIHZvdHJlIHLDqXBlcnRvaXJlIHBlcnNvbm5lbC5cbiIKICIgICAgQ2VsYSBzaWduaWZpZSBxdWUgwqsgfi9iaW4gwrsgZGV2cmFpdCDDqnRyZSBhZmZpY2jDqSBjb21tZSDCqyAvaG9tZXMvYmZveC9iaW4gIgogIsK7LlxuIgotIiAgICBMJ29wdGlvbiDCqyAtdiDCuyBwZXJtZXQgw6AgwqsgZGlycyDCuyBkJ2FmZmljaGVyIGxhIHBpbGUgZGVzIHLDqXBlcnRvaXJlcyBhdmVjXG4iCisiICAgIEwnb3B0aW9uIMKrIC12IMK7IHBlcm1ldCDDoCDCqyBkaXJzIMK7IGQnYWZmaWNoZXIgbGEgcGlsZSBkZXMgcsOpcGVydG9pcmVzICIKKyJhdmVjXG4iCiAiICAgIHVuIMOpbMOpbWVudCBwYXIgbGlnbmUsIGVuIGNvbW1lbsOnYW50IGxhIGxpZ25lIHBhciBsYSBwb3NpdGlvbiBkYW5zIGxhICIKICJwaWxlLlxuIgogIiAgICBMJ29wdGlvbiDCqyAtcCDCuyBmYWl0IGxhIG3Dqm1lIGNob3NlIG1haXMgbGUgbnVtw6lybyBkZSBwb3NpdGlvbiBuJ2VzdCBwYXNcbiIKLSIgICAgYWZmaWNow6kuIEwnb3B0aW9uIMKrIC1jIMK7IGVmZmFjZSBsYSBwaWxlIGRlcyByw6lwZXJ0b2lyZXMgZW4gZW5sZXZhbnQgdG91c1xuIgorIiAgICBhZmZpY2jDqS4gTCdvcHRpb24gwqsgLWMgwrsgZWZmYWNlIGxhIHBpbGUgZGVzIHLDqXBlcnRvaXJlcyBlbiBlbmxldmFudCAiCisidG91c1xuIgogIiAgICBsZXMgw6lsw6ltZW50cy5cbiIKICIgICAgXG4iCiAiICAgICtOXHQgYWZmaWNoZSBsZSBOacOobWUgw6lsw6ltZW50IGVuIGNvbXB0YW50IGRlIHrDqXJvIGRlcHVpcyBsYSBnYXVjaGUgZGUgIgpAQCAtNjYxLDEwICs2OTEsMTIgQEAKICIgICAgcsOpcGVydG9pcmVzIGVuIGhhdXQgZGUgbGEgcGlsZSBzb250IMOpY2hhbmfDqXMuXG4iCiAiICAgIFxuIgogIiAgICArTlx0UGVybXV0ZSBsYSBwaWxlIGRlIGZhw6dvbiBxdWUgbGUgTmnDqG1lIHLDqXBlcnRvaXJlIHNlIHBsYWNlIGVuIGhhdXQsXG4iCi0iICAgIFx0ZW4gY29tcHRhbnQgZGUgesOpcm8gZGVwdWlzIGxhIGdhdWNoZSBkZSBsYSBsaXN0ZSBmb3VybmllIHBhciDCqyBkaXJzIMK7LlxuIgorIiAgICBcdGVuIGNvbXB0YW50IGRlIHrDqXJvIGRlcHVpcyBsYSBnYXVjaGUgZGUgbGEgbGlzdGUgZm91cm5pZSBwYXIgwqsgZGlycyAiCisiwrsuXG4iCiAiICAgIFxuIgogIiAgICAtTlx0UGVybXV0ZSBsYSBwaWxlIGRlIGZhw6dvbiBxdWUgbGUgTmnDqG1lIHLDqXBlcnRvaXJlIHNlIHBsYWNlIGVuIGhhdXQsXG4iCi0iICAgIFx0ZW4gY29tcHRhbnQgZGUgesOpcm8gZGVwdWlzIGxhIGRyb2l0ZSBkZSBsYSBsaXN0ZSBmb3VybmllIHBhciDCqyBkaXJzIMK7LlxuIgorIiAgICBcdGVuIGNvbXB0YW50IGRlIHrDqXJvIGRlcHVpcyBsYSBkcm9pdGUgZGUgbGEgbGlzdGUgZm91cm5pZSBwYXIgwqsgZGlycyAiCisiwrsuXG4iCiAiICAgIFxuIgogIiAgICAtblx0bmUgY2hhbmdlIHBhcyBkZSByw6lwZXJ0b2lyZSBkZSB0cmF2YWlsIGxvcnNxdWUgZGVzIHLDqXBlcnRvaXJlc1xuIgogIiAgICBcdHNvbnQgYWpvdXTDqXMgw6AgbGEgcGlsZSwgZGUgZmHDp29uIHF1ZSBzZXVsZSBsYSBwaWxlIHNvaXQgbWFuaXB1bMOpZVxuIgpAQCAtNzEyLDEyICs3NDQsMTIgQEAKICIgICAgXG4iCiAiICAgIFZvdXMgcG91dmV6IHZvaXIgbGEgcGlsZSBkZXMgcsOpcGVydG9pcmVzIGF2ZWMgbGEgY29tbWFuZGUgwqsgZGlycyDCuy4iCiAKLSM6IGJ1aWx0aW5zL3JlYWQuZGVmOjI0OAorIzogYnVpbHRpbnMvcmVhZC5kZWY6MjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHRpbWVvdXQgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXMgOiBzcMOpY2lmaWNhdGlvbiBkZSBkw6lsYWkgZCdleHBpcmF0aW9uIG5vbiB2YWxhYmxlIgogCi0jOiBidWlsdGlucy9yZWFkLmRlZjo1NzQKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkIGVycm9yOiAlZDogJXMiCiBtc2dzdHIgIkVycmV1ciBkZSBsZWN0dXJlIDogJWQgOiAlcyIKQEAgLTcyNSw4ICs3NTcsOCBAQAogIzogYnVpbHRpbnMvcmV0dXJuLmRlZjo3MwogbXNnaWQgImNhbiBvbmx5IGByZXR1cm4nIGZyb20gYSBmdW5jdGlvbiBvciBzb3VyY2VkIHNjcmlwdCIKIG1zZ3N0ciAiIgotIsKrIHJldHVybiDCuyBuJ2VzdCBwb3NzaWJsZSBxdWUgZGVwdWlzIHVuZSBmb25jdGlvbiBvdSBkZXB1aXMgdW4gc2NyaXB0IGV4w6ljdXTDqSAiCi0icGFyIMKrIHNvdXJjZSDCuyIKKyLCqyByZXR1cm4gwrsgbidlc3QgcG9zc2libGUgcXVlIGRlcHVpcyB1bmUgZm9uY3Rpb24gb3UgZGVwdWlzIHVuIHNjcmlwdCAiCisiZXjDqWN1dMOpIHBhciDCqyBzb3VyY2UgwrsiCiAKICM6IGJ1aWx0aW5zL3NldC5kZWY6NzY4CiBtc2dpZCAiY2Fubm90IHNpbXVsdGFuZW91c2x5IHVuc2V0IGEgZnVuY3Rpb24gYW5kIGEgdmFyaWFibGUiCkBAIC03NTgsMTMgKzc5MCwxMyBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICJub21icmUgZGUgwqsgc2hpZnQgwrsiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNTQKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICIiCiAibGVzIG9wdGlvbnMgZHUgc2hlbGwgbmUgcGV1dmVudCBwYXMgw6p0cmUgc2ltdWx0YW7DqW1lbnQgYWN0aXbDqWVzIGV0ICIKICJkw6lzYWN0aXbDqWVzIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MzE5CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgogbXNnc3RyICIlcyA6IG5vbSBkJ29wdGlvbiBkdSBzaGVsbCBub24gdmFsYWJsZSIKQEAgLTg1NCw3OCArODg2LDc4IEBACiBtc2dpZCAiYCVjJzogaW52YWxpZCBzeW1ib2xpYyBtb2RlIGNoYXJhY3RlciIKIG1zZ3N0ciAiwqsgJWMgwrsgOiBjYXJhY3TDqHJlIGRlIG1vZGUgc3ltYm9saXF1ZSBub24gdmFsYWJsZSIKIAotIzogZXJyb3IuYzo4OSBlcnJvci5jOjMyMCBlcnJvci5jOjMyMiBlcnJvci5jOjMyNAorIzogZXJyb3IuYzo5MCBlcnJvci5jOjMyMSBlcnJvci5jOjMyMyBlcnJvci5jOjMyNQogbXNnaWQgIiBsaW5lICIKIG1zZ3N0ciAiIgogCi0jOiBlcnJvci5jOjE2NAorIzogZXJyb3IuYzoxNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAibGFzdCBjb21tYW5kOiAlc1xuIgogbXNnc3RyICJkZXJuacOocmUgY29tbWFuZGUgOiAlc1xuIgogCi0jOiBlcnJvci5jOjE3MgorIzogZXJyb3IuYzoxNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcuLi4iCiBtc2dzdHIgIkFubnVsYXRpb24uLi4iCiAKLSM6IGVycm9yLmM6NDA1CisjOiBlcnJvci5jOjQwNgogbXNnaWQgInVua25vd24gY29tbWFuZCBlcnJvciIKIG1zZ3N0ciAiZXJyZXVyIGRlIGNvbW1hbmRlIGluY29ubnVlIgogCi0jOiBlcnJvci5jOjQwNgorIzogZXJyb3IuYzo0MDcKIG1zZ2lkICJiYWQgY29tbWFuZCB0eXBlIgogbXNnc3RyICJtYXV2YWlzIHR5cGUgZGUgY29tbWFuZGUiCiAKLSM6IGVycm9yLmM6NDA3CisjOiBlcnJvci5jOjQwOAogbXNnaWQgImJhZCBjb25uZWN0b3IiCiBtc2dzdHIgIm1hdXZhaXMgY29ubmVjdGV1ciIKIAotIzogZXJyb3IuYzo0MDgKKyM6IGVycm9yLmM6NDA5CiBtc2dpZCAiYmFkIGp1bXAiCiBtc2dzdHIgIm1hdXZhaXMgc2F1dCIKIAotIzogZXJyb3IuYzo0NDYKKyM6IGVycm9yLmM6NDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmJvdW5kIHZhcmlhYmxlIgogbXNnc3RyICIlcyA6IHZhcmlhYmxlIHNhbnMgbGlhaXNvbiIKIAogIzogZXZhbC5jOjE4MQogIywgYy1mb3JtYXQKLW1zZ2lkICJcYXRpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKLW1zZ3N0ciAiXGFhdHRlbnRlIGRlIGRvbm7DqWVzIGV4cGlyw6llIDogZMOpY29ubmV4aW9uIGF1dG9tYXRpcXVlXG4iCittc2dpZCAiB3RpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKK21zZ3N0ciAiB2F0dGVudGUgZGUgZG9ubsOpZXMgZXhwaXLDqWUgOiBkw6ljb25uZXhpb24gYXV0b21hdGlxdWVcbiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTEKKyM6IGV4ZWN1dGVfY21kLmM6NDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiBtc2dzdHIgImwnZW50csOpZSBzdGFuZGFyZCBuZSBwZXV0IHBhcyDDqnRyZSByZWRpcmlnw6llIGRlcHVpcyAvZGV2L251bGwgOiAlcyIKIAotIzogZXhlY3V0ZV9jbWQuYzoxMTEyCisjOiBleGVjdXRlX2NtZC5jOjExNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVElNRUZPUk1BVDogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJUSU1FRk9STUFUIDogwqsgJWMgwrsgOiBjYXJhY3TDqHJlIGRlIGZvcm1hdCBub24gdmFsYWJsZSIKIAotIzogZXhlY3V0ZV9jbWQuYzoyMDExCisjOiBleGVjdXRlX2NtZC5jOjIwNzUKICMsIGZ1enp5CiBtc2dpZCAicGlwZSBlcnJvciIKIG1zZ3N0ciAiZXJyZXVyIGQnw6ljcml0dXJlIDogJXMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDM2MworIzogZXhlY3V0ZV9jbWQuYzo0NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSBgLycgaW4gY29tbWFuZCBuYW1lcyIKIG1zZ3N0ciAiIgogIiVzIDogcmVzdHJpY3Rpb24gOiDCqyAvIMK7IG5lIHBldXQgcGFzIMOqdHJlIHNww6ljaWZpw6kgZGFucyB1biBub20gZGUgY29tbWFuZGUiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDQ1NAorIzogZXhlY3V0ZV9jbWQuYzo0NTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjb21tYW5kIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXMgOiBjb21tYW5kZSBpbnRyb3V2YWJsZSIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NzA4CisjOiBleGVjdXRlX2NtZC5jOjQ4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCiBtc2dzdHIgIiVzIDogJXMgOiBtYXV2YWlzIGludGVycHLDqXRldXIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDg1NworIzogZXhlY3V0ZV9jbWQuYzo0OTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZHVwbGlxdWVyIGxlIGZkICVkIHZlcnMgbGUgZmQgJWQiCkBAIC05NzAsMjggKzEwMDIsMjggQEAKIG1zZ2lkICJtaXNzaW5nIGApJyIKIG1zZ3N0ciAiwqsgKSDCuyBtYW5xdWFudGUiCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzUKKyM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKIG1zZ2lkICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCiBtc2dzdHIgImVycmV1ciBkZSBzeW50YXhlIDogb3DDqXJhbmRlIGF0dGVuZHVlIgogCi0jOiBleHByLmM6MTE3NworIzogZXhwci5jOjExNzgKIG1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKIG1zZ3N0ciAiZXJyZXVyIGRlIHN5bnRheGUgOiBvcMOpcmF0ZXVyIGFyaXRobcOpdGlxdWUgbm9uIHZhbGFibGUiCiAKLSM6IGV4cHIuYzoxMjAxCisjOiBleHByLmM6MTIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMjU5CisjOiBleHByLmM6MTI2MAogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogbXNnc3RyICJiYXNlIGFyaXRobcOpdGlxdWUgbm9uIHZhbGFibGUiCiAKLSM6IGV4cHIuYzoxMjc5CisjOiBleHByLmM6MTI4MAogbXNnaWQgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKIG1zZ3N0ciAidmFsZXVyIHRyb3AgZ3JhbmRlIHBvdXIgbGEgYmFzZSIKIAotIzogZXhwci5jOjEzMjgKKyM6IGV4cHIuYzoxMzI5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogZXhwcmVzc2lvbiBlcnJvclxuIgogbXNnc3RyICIlcyA6IG5vbWJyZSBlbnRpZXIgYXR0ZW5kdSBjb21tZSBleHByZXNzaW9uIgpAQCAtMTAwMCw3ICsxMDMyLDcgQEAKIG1zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgogbXNnc3RyICJnZXRjd2QgOiBuZSBwZXV0IGFjY8OpZGVyIGF1eCByw6lwZXJ0b2lyZXMgcGFyZW50cyIKIAotIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ1NTkKKyM6IGlucHV0LmM6OTQgc3Vic3QuYzo0ODU3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByw6lpbml0aWFsaXNlciBsZSBtb2RlIMKrIG5vZGVsYXkgwrsgcG91ciBsZSBmZCAlZCIKQEAgLTEwNTUsNyArMTA4Nyw3IEBACiBtc2dpZCAiRG9uZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIyCisjOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIzCiBtc2dpZCAiU3RvcHBlZCIKIG1zZ3N0ciAiIgogCkBAIC0xMDkyLDY5ICsxMTI0LDczIEBACiBtc2dpZCAiICAod2Q6ICVzKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTc3MQorIzogam9icy5jOjE3NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hpbGQgc2V0cGdpZCAoJWxkIHRvICVsZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjIwOTkgbm9qb2JzLmM6NTg1CisjOiBqb2JzLmM6MjEwNCBub2pvYnMuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgogbXNnc3RyICJ3YWl0IDogbGUgcHJvY2Vzc3VzIG7CsCVsZCBuJ2VzdCBwYXMgdW4gZmlscyBkZSBjZSBzaGVsbC4iCiAKLSM6IGpvYnMuYzoyMzI2CisjOiBqb2JzLmM6MjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgogbXNnc3RyICJ3YWl0X2ZvciA6IGF1Y3VuIGVucmVnaXN0cmVtZW50IGR1IHByb2Nlc3N1cyBuwrAlbGQiCiAKLSM6IGpvYnMuYzoyNTk4CisjOiBqb2JzLmM6MjYwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogbXNnc3RyICJ3YWl0X2Zvcl9qb2IgOiBsYSB0w6JjaGUgJWQgZXN0IHN0b3Bww6llIgogCi0jOiBqb2JzLmM6MjgyMAorIzogam9icy5jOjI4MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiBoYXMgdGVybWluYXRlZCIKIG1zZ3N0ciAiJXMgOiBsYSB0w6JjaGUgcydlc3QgdGVybWluw6llIgogCi0jOiBqb2JzLmM6MjgyOQorIzogam9icy5jOjI4MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiBtc2dzdHIgIiVzIDogbGEgdMOiY2hlICVkIGVzdCBkw6lqw6AgZW4gYXJyacOocmUgcGxhbiIKIAotIzogam9icy5jOjM0OTIKKyM6IGpvYnMuYzozMDU5Cittc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgorbXNnc3RyICIiCisKKyM6IGpvYnMuYzozNTA4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogbGluZSAlZDogIgogbXNnc3RyICIlcyA6IGF2ZXJ0aXNzZW1lbnQgOiIKIAotIzogam9icy5jOjM1MDYgbm9qb2JzLmM6ODE0CisjOiBqb2JzLmM6MzUyMiBub2pvYnMuYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIChjb3JlIGR1bXBlZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM1MTggam9icy5jOjM1MzEKKyM6IGpvYnMuYzozNTM0IGpvYnMuYzozNTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIih3ZCBub3c6ICVzKVxuIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNTYzCisjOiBqb2JzLmM6MzU3OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjIzCisjOiBqb2JzLmM6MzYzOQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzYzMworIzogam9icy5jOjM2NDkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjYxCisjOiBqb2JzLmM6MzY3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzY2NgorIzogam9icy5jOjM2ODIKIG1zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgogbXNnc3RyICJwYXMgZGUgY29udHLDtGxlIGRlIHTDomNoZSBkYW5zIGNlIHNoZWxsIgogCkBAIC0xMjQ4LDYgKzEyODQsMjYgQEAKIG1zZ2lkICJuZXR3b3JrIG9wZXJhdGlvbnMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAib3DDqXJhdGlvbnMgc3VyIGxlIHLDqXNlYXUgbm9uIHByaXNlcyBlbiBjaGFyZ2UiCiAKKyM6IGxvY2FsZS5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBsb2NhbGUuYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjI0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKK21zZ3N0ciAieHJlYWxsb2MgOiAlczolZCA6IGltcG9zc2libGUgZCdhbGxvdWVyICVsdSBvY3RldHMiCisKKyM6IGxvY2FsZS5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgInhyZWFsbG9jIDogJXM6JWQgOiBpbXBvc3NpYmxlIGQnYWxsb3VlciAlbHUgb2N0ZXRzIgorCiAjOiBtYWlsY2hlY2suYzo0MzMKIG1zZ2lkICJZb3UgaGF2ZSBtYWlsIGluICRfIgogbXNnc3RyICJWb3VzIGF2ZXogZHUgY291cnJpZXIgZGFucyAkXyIKQEAgLTEyNjEsMTM4ICsxMzE3LDEzOCBAQAogbXNnaWQgIlRoZSBtYWlsIGluICVzIGhhcyBiZWVuIHJlYWRcbiIKIG1zZ3N0ciAiTGUgY291cnJpZXIgZGFucyAlcyBhIMOpdMOpIGx1LlxuIgogCi0jOiBtYWtlX2NtZC5jOjMyMgorIzogbWFrZV9jbWQuYzozMjMKIG1zZ2lkICJzeW50YXggZXJyb3I6IGFyaXRobWV0aWMgZXhwcmVzc2lvbiByZXF1aXJlZCIKIG1zZ3N0ciAiRXJyZXVyIGRlIHN5bnRheGUgOiBleHByZXNzaW9uIGFyaXRobcOpdGlxdWUgbsOpY2Vzc2FpcmUiCiAKLSM6IG1ha2VfY21kLmM6MzI0CisjOiBtYWtlX2NtZC5jOjMyNQogbXNnaWQgInN5bnRheCBlcnJvcjogYDsnIHVuZXhwZWN0ZWQiCiBtc2dzdHIgIkVycmV1ciBkZSBzeW50YXhlIDogwqsgOyDCuyBub24gYXR0ZW5kdSIKIAotIzogbWFrZV9jbWQuYzozMjUKKyM6IG1ha2VfY21kLmM6MzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvcjogYCgoJXMpKSciCiBtc2dzdHIgIkVycmV1ciBkZSBzeW50YXhlIDogwqsgKCglcykpIMK7IgogCi0jOiBtYWtlX2NtZC5jOjU2NworIzogbWFrZV9jbWQuYzo1NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9oZXJlX2RvY3VtZW50OiBiYWQgaW5zdHJ1Y3Rpb24gdHlwZSAlZCIKIG1zZ3N0ciAibWFrZV9oZXJlX2RvY3VtZW50IDogbGUgdHlwZSBkJ2luc3RydWN0aW9uICVkIGVzdCBpbmNvcnJlY3QiCiAKLSM6IG1ha2VfY21kLmM6NjUxCisjOiBtYWtlX2NtZC5jOjY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJoZXJlLWRvY3VtZW50IGF0IGxpbmUgJWQgZGVsaW1pdGVkIGJ5IGVuZC1vZi1maWxlICh3YW50ZWQgYCVzJykiCiBtc2dzdHIgIiIKIAotIzogbWFrZV9jbWQuYzo3NDYKKyM6IG1ha2VfY21kLmM6NzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlIgogbXNnc3RyICJtYWtlX3JlZGlyZWN0aW9uIDogbCdpbnN0cnVjdGlvbiBkZSByZWRpcmVjdGlvbiDCqyAlZCDCuyBlc3QgaG9ycyBwbGFnZSIKIAotIzogcGFyc2UueToyOTg2IHBhcnNlLnk6MzIxOAorIzogcGFyc2UueTozMTMzIHBhcnNlLnk6MzM2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgJWMnIgogbXNnc3RyICIiCiAiQ2FyYWN0w6hyZSBkZSBmaW4gZGUgZmljaGllciAoRU9GKSBwcsOpbWF0dXLDqSBsb3JzIGRlIGxhIHJlY2hlcmNoZSBkdSDCqyAlYyDCuyAiCiAiY29ycmVzcG9uZGFudCIKIAotIzogcGFyc2UueTozNzIyCisjOiBwYXJzZS55OjM5NTEKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBgXV0nIgogbXNnc3RyICIiCiAiQ2FyYWN0w6hyZSBkZSBmaW4gZGUgZmljaGllciAoRU9GKSBwcsOpbWF0dXLDqSBsb3JzIGRlIGxhIHJlY2hlcmNoZSBkZSDCqyBdXSDCuyIKIAotIzogcGFyc2UueTozNzI3CisjOiBwYXJzZS55OjM5NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiIgogIkVycmV1ciBkZSBzeW50YXhlIGRhbnMgdW5lIGV4cHJlc3Npb24gY29uZGl0aW9ubmVsbGUgOiBzeW1ib2xlIMKrICVzIMK7ICIKICJpbmF0dGVuZHUiCiAKLSM6IHBhcnNlLnk6MzczMQorIzogcGFyc2UueTozOTYwCiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgIkVycmV1ciBkZSBzeW50YXhlIGRhbnMgdW5lIGV4cHJlc3Npb24gY29uZGl0aW9ubmVsbGUiCiAKLSM6IHBhcnNlLnk6MzgwOQorIzogcGFyc2UueTo0MDM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgogbXNnc3RyICJTeW1ib2xlIGluYXR0ZW5kdSDCqyAlcyDCuyBhdSBsaWV1IGRlIMKrICkgwrsiCiAKLSM6IHBhcnNlLnk6MzgxMworIzogcGFyc2UueTo0MDQyCiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICLCqyApIMK7IGF0dGVuZHUiCiAKLSM6IHBhcnNlLnk6Mzg0MQorIzogcGFyc2UueTo0MDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiYXJndW1lbnQgaW5hdHRlbmR1IMKrICVzIMK7IHBvdXIgbCdvcMOpcmF0ZXVyIGNvbmRpdGlvbm5lbCDDoCB1biBhcmd1bWVudCIKIAotIzogcGFyc2UueTozODQ1CisjOiBwYXJzZS55OjQwNzQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJhcmd1bWVudCBpbmF0dGVuZHUgcG91ciBsJ29ww6lyYXRldXIgY29uZGl0aW9ubmVsIMOgIHVuIGFyZ3VtZW50IgogCi0jOiBwYXJzZS55OjM4ODUKKyM6IHBhcnNlLnk6NDEyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiU3ltYm9sZSDCqyAlcyDCuyB0cm91dsOpIMOgIGxhIHBsYWNlIGQndW4gb3DDqXJhdGV1ciBiaW5haXJlIGNvbmRpdGlvbm5lbCIKIAotIzogcGFyc2UueTozODg5CisjOiBwYXJzZS55OjQxMjQKIG1zZ2lkICJjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIm9ww6lyYXRldXIgYmluYWlyZSBjb25kaXRpb25uZWwgYXR0ZW5kdSIKIAotIzogcGFyc2UueTozOTA2CisjOiBwYXJzZS55OjQxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiYXJndW1lbnQgwqsgJXMgwrsgaW5hdHRlbmR1IHBvdXIgbCdvcMOpcmF0ZXVyIGJpbmFpcmUgY29uZGl0aW9ubmVsIgogCi0jOiBwYXJzZS55OjM5MTAKKyM6IHBhcnNlLnk6NDE1MAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJhcmd1bWVudCBpbmF0dGVuZHUgcG91ciBsJ29ww6lyYXRldXIgYmluYWlyZSBjb25kaXRpb25uZWwiCiAKLSM6IHBhcnNlLnk6MzkyMQorIzogcGFyc2UueTo0MTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJTeW1ib2xlIMKrICVjIMK7IGluYXR0ZW5kdSBkYW5zIGxhIGNvbW1hbmRlIGNvbmRpdGlvbm5lbGxlIgogCi0jOiBwYXJzZS55OjM5MjQKKyM6IHBhcnNlLnk6NDE2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAiU3ltYm9sZSDCqyAlcyDCuyBpbmF0dGVuZHUgZGFucyBsYSBjb21tYW5kZSBjb25kaXRpb25uZWxsZSIKIAotIzogcGFyc2UueTozOTI4CisjOiBwYXJzZS55OjQxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJTeW1ib2xlIMKrICVkIMK7IGluYXR0ZW5kdSBkYW5zIGxhIGNvbW1hbmRlIGNvbmRpdGlvbm5lbGxlIgogCi0jOiBwYXJzZS55OjUxOTUKKyM6IHBhcnNlLnk6NTQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgIkVycmV1ciBkZSBzeW50YXhlIHByw6hzIGR1IHN5bWJvbGUgaW5hdHRlbmR1IMKrICVzIMK7IgogCi0jOiBwYXJzZS55OjUyMTMKKyM6IHBhcnNlLnk6NTQ3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgogbXNnc3RyICJFcnJldXIgZGUgc3ludGF4ZSBwcsOocyBkZSDCqyAlcyDCuyIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgIkVycmV1ciBkZSBzeW50YXhlIDogZmluIGRlIGZpY2hpZXIgcHLDqW1hdHVyw6llIgogCi0jOiBwYXJzZS55OjUyMjMKKyM6IHBhcnNlLnk6NTQ4NwogbXNnaWQgInN5bnRheCBlcnJvciIKIG1zZ3N0ciAiRXJyZXVyIGRlIHN5bnRheGUiCiAKLSM6IHBhcnNlLnk6NTI4NQorIzogcGFyc2UueTo1NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICJVdGlsaXNleiDCqyAlcyDCuyBwb3VyIHF1aXR0ZXIgbGUgc2hlbGwuXG4iCiAKLSM6IHBhcnNlLnk6NTQ0NworIzogcGFyc2UueTo1NzExCiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgogbXNnc3RyICIiCiAiQ2FyYWN0w6hyZSBkZSBmaW4gZGUgZmljaGllciAoRU9GKSBwcsOpbWF0dXLDqSBsb3JzIGRlIGxhIHJlY2hlcmNoZSBkJ3VuIMKrICkgwrsgIgogImNvcnJlc3BvbmRhbnQiCiAKLSM6IHBjb21wbGV0ZS5jOjEwMTgKKyM6IHBjb21wbGV0ZS5jOjEwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgImNvbXBsw6h0ZW1lbnQgOiBmb25jdGlvbiDCqyAlcyDCuyBub24gdHJvdXbDqWUiCkBAIC0xNDAyLDczICsxNDU4LDkyIEBACiBtc2dpZCAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIG1zZ3N0ciAicHJvZ2NvbXBfaW5zZXJ0IDogJXMgOiBOVUxMIENPTVBTUEVDIgogCi0jOiBwcmludF9jbWQuYzoyODUKKyM6IHByaW50X2NtZC5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmludF9jb21tYW5kOiBiYWQgY29ubmVjdG9yIGAlZCciCiBtc2dzdHIgInByaW50X2NvbW1hbmQgOiBtYXV2YWlzIGNvbm5lY3RldXIgwqsgJWQgwrsiCiAKLSM6IHByaW50X2NtZC5jOjEzNDgKKyM6IHByaW50X2NtZC5jOjM2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlX3NldDogJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICIlZCA6IGRlc2NyaXB0ZXVyIGRlIGZpY2hpZXIgbm9uIHZhbGFibGUgOiAlcyIKKworIzogcHJpbnRfY21kLmM6MzY4Cittc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCittc2dzdHIgIiIKKworIzogcHJpbnRfY21kLmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzoxNDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiY3ByaW50ZiA6IMKrICVjIMK7IDogY2FyYWN0w6hyZSBkZSBmb3JtYXQgaW52YWxpZGUiCiAKLSM6IHJlZGlyLmM6MTA1CisjOiByZWRpci5jOjExMAogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgImRlc2NyaXB0ZXVyIGRlIGZpY2hpZXIgaG9ycyBwbGFnZSIKIAotIzogcmVkaXIuYzoxNDgKKyM6IHJlZGlyLmM6MTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QiCiBtc2dzdHIgIiVzIDogcmVkaXJlY3Rpb24gYW1iaWd1w6siCiAKLSM6IHJlZGlyLmM6MTUyCisjOiByZWRpci5jOjE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlIgogbXNnc3RyICIlcyA6IGltcG9zc2libGUgZCfDqWNyYXNlciBsZSBmaWNoaWVyIGV4aXN0YW50IgogCi0jOiByZWRpci5jOjE1NworIzogcmVkaXIuYzoxNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiVzIDogcmVzdHJlaW50IDogaW1wb3NzaWJsZSBkZSByZWRpcmlnZXIgbGEgc29ydGllIgogCi0jOiByZWRpci5jOjE2MgorIzogcmVkaXIuYzoxODAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKIG1zZ3N0ciAiIgogImltcG9zc2libGUgZGUgY3LDqWVyIHVuIGZpY2hpZXIgdGVtcG9yYWlyZSBwb3VyIGxlIMKrIGhlcmUtZG9jdW1lbnQgwrsgOiAlcyIKIAotIzogcmVkaXIuYzo1MTcKKyM6IHJlZGlyLmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKK21zZ3N0ciAiJXMgOiBpbXBvc3NpYmxlIGQnYWZmZWN0ZXIgdW5lIGxpc3RlIMOgIHVuIMOpbMOpbWVudCBkZSB0YWJsZWF1IgorCisjOiByZWRpci5jOjU0NAogbXNnaWQgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKIG1zZ3N0ciAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IG5vbiBwcmlzIGVuIGNoYXJnZSBzYW5zIHLDqXNlYXUiCiAKLSM6IHJlZGlyLmM6MTAyMworIzogcmVkaXIuYzoxMTAxCiBtc2dpZCAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCiBtc2dzdHIgIiIKICJFcnJldXIgZGUgcmVkaXJlY3Rpb24gOiBpbXBvc3NpYmxlIGRlIGR1cGxpcXVlciBsZSBkZXNjcmlwdGV1ciBkZSBmaWNoaWVyIgogCi0jOiBzaGVsbC5jOjMyOAorIzogc2hlbGwuYzozMzIKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIG1zZ3N0ciAiwqsgL3RtcCDCuyBpbnRyb3V2YWJsZSwgdmV1aWxsZXogbGUgY3LDqWVyICEiCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzNgogbXNnaWQgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICLCqyAvdG1wIMK7IGRvaXQgw6p0cmUgdW4gbm9tIGRlIHLDqXBlcnRvaXJlIGNvcnJlY3QiCiAKLSM6IHNoZWxsLmM6ODc2CisjOiBzaGVsbC5jOjg4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJWMlYyA6IG9wdGlvbiBub24gdmFsYWJsZSIKIAotIzogc2hlbGwuYzoxNjM4CisjOiBzaGVsbC5jOjE2NTEKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgIkplIG4nYWkgcGFzIGRlIG5vbSAhIgogCi0jOiBzaGVsbC5jOjE3NzgKKyM6IHNoZWxsLmM6MTc5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzoxNzc5CisjOiBzaGVsbC5jOjE3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCkBAIC0xNDc3LDMzNCArMTU1MiwzNDAgQEAKICJVdGlsaXNhdGlvbiA6XHQlcyBbb3B0aW9uIGxvbmd1ZSBHTlVdIFtvcHRpb25dIC4uLlxuIgogIlx0JXMgW29wdGlvbiBsb25ndWUgR05VXSBbb3B0aW9uXSBmaWNoaWVyLXNjcmlwdCAuLi5cbiIKIAotIzogc2hlbGwuYzoxNzgxCisjOiBzaGVsbC5jOjE3OTYKIG1zZ2lkICJHTlUgbG9uZyBvcHRpb25zOlxuIgogbXNnc3RyICJPcHRpb25zIGxvbmd1ZXMgR05VIDpcbiIKIAotIzogc2hlbGwuYzoxNzg1CisjOiBzaGVsbC5jOjE4MDAKIG1zZ2lkICJTaGVsbCBvcHRpb25zOlxuIgogbXNnc3RyICJPcHRpb25zIGR1IHNoZWxsIDpcbiIKIAotIzogc2hlbGwuYzoxNzg2CisjOiBzaGVsbC5jOjE4MDEKIG1zZ2lkICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCiBtc2dzdHIgIlx0LWlyc0Qgb3UgLWMgY29tbWFuZGUgb3UgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIHNldWxlbWVudClcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCiBtc2dzdHIgIlx0LSVzIG91IC1vIG9wdGlvblxuIgogCi0jOiBzaGVsbC5jOjE4MDcKKyM6IHNoZWxsLmM6MTgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIiIKICJQb3VyIGVuIHNhdm9pciBwbHVzIHN1ciBsZXMgb3B0aW9ucyBkdSBzaGVsbCwgdGFwZXogwqsgJXMgLWMgXCJoZWxwIHNldFwiIMK7LlxuIgogCi0jOiBzaGVsbC5jOjE4MDgKKyM6IHNoZWxsLmM6MTgyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBoZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgogbXNnc3RyICIiCiAiUG91ciBlbiBzYXZvaXIgcGx1cyBzdXIgbGVzIHByaW1pdGl2ZXMgZHUgc2hlbGwsIHRhcGV6IMKrICVzIC1jIGhlbHAgwrsuXG4iCiAKLSM6IHNoZWxsLmM6MTgwOQorIzogc2hlbGwuYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIlV0aWxpc2V6IGxhIGNvbW1hbmRlIMKrIGJhc2hidWcgwrsgcG91ciBmYWlyZSB1biByYXBwb3J0IGRlIGJvZ3VlLlxuIgogCi0jOiBzaWcuYzo1ODMKKyM6IHNpZy5jOjYyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzaWdwcm9jbWFzazogJWQ6IGludmFsaWQgb3BlcmF0aW9uIgogbXNnc3RyICJzaWdwcm9jbWFzayA6ICVkIDogb3BlcmF0aW9uIG5vbiB2YWxhYmxlIgogCi0jOiBzaWdsaXN0LmM6NDcKKyM6IHNpZ2xpc3QuYzo0OAogbXNnaWQgIkJvZ3VzIHNpZ25hbCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NTAKKyM6IHNpZ2xpc3QuYzo1MQogbXNnaWQgIkhhbmd1cCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NTQKKyM6IHNpZ2xpc3QuYzo1NQogbXNnaWQgIkludGVycnVwdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NTgKKyM6IHNpZ2xpc3QuYzo1OQogbXNnaWQgIlF1aXQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjYyCisjOiBzaWdsaXN0LmM6NjMKIG1zZ2lkICJJbGxlZ2FsIGluc3RydWN0aW9uIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo2NgorIzogc2lnbGlzdC5jOjY3CiBtc2dpZCAiQlBUIHRyYWNlL3RyYXAiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjc0CisjOiBzaWdsaXN0LmM6NzUKIG1zZ2lkICJBQk9SVCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NzgKKyM6IHNpZ2xpc3QuYzo3OQogbXNnaWQgIkVNVCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6ODIKKyM6IHNpZ2xpc3QuYzo4MwogbXNnaWQgIkZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6ODYKKyM6IHNpZ2xpc3QuYzo4NwogbXNnaWQgIktpbGxlZCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6OTAKKyM6IHNpZ2xpc3QuYzo5MQogIywgZnV6enkKIG1zZ2lkICJCdXMgZXJyb3IiCiBtc2dzdHIgIkVycmV1ciBkZSBzeW50YXhlIgogCi0jOiBzaWdsaXN0LmM6OTQKKyM6IHNpZ2xpc3QuYzo5NQogbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6OTgKKyM6IHNpZ2xpc3QuYzo5OQogbXNnaWQgIkJhZCBzeXN0ZW0gY2FsbCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTAyCisjOiBzaWdsaXN0LmM6MTAzCiBtc2dpZCAiQnJva2VuIHBpcGUiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjEwNgorIzogc2lnbGlzdC5jOjEwNwogbXNnaWQgIkFsYXJtIGNsb2NrIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxMTAKKyM6IHNpZ2xpc3QuYzoxMTEKICMsIGZ1enp5CiBtc2dpZCAiVGVybWluYXRlZCIKIG1zZ3N0ciAicmVzdHJlaW50IgogCi0jOiBzaWdsaXN0LmM6MTE0CisjOiBzaWdsaXN0LmM6MTE1CiBtc2dpZCAiVXJnZW50IElPIGNvbmRpdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTE4CisjOiBzaWdsaXN0LmM6MTE5CiBtc2dpZCAiU3RvcHBlZCAoc2lnbmFsKSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTI2CisjOiBzaWdsaXN0LmM6MTI3CiBtc2dpZCAiQ29udGludWUiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjEzNAorIzogc2lnbGlzdC5jOjEzNQogbXNnaWQgIkNoaWxkIGRlYXRoIG9yIHN0b3AiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjEzOAorIzogc2lnbGlzdC5jOjEzOQogbXNnaWQgIlN0b3BwZWQgKHR0eSBpbnB1dCkiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE0MgorIzogc2lnbGlzdC5jOjE0MwogbXNnaWQgIlN0b3BwZWQgKHR0eSBvdXRwdXQpIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNDYKKyM6IHNpZ2xpc3QuYzoxNDcKIG1zZ2lkICJJL08gcmVhZHkiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE1MAorIzogc2lnbGlzdC5jOjE1MQogbXNnaWQgIkNQVSBsaW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTU0CisjOiBzaWdsaXN0LmM6MTU1CiBtc2dpZCAiRmlsZSBsaW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTU4CisjOiBzaWdsaXN0LmM6MTU5CiBtc2dpZCAiQWxhcm0gKHZpcnR1YWwpIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNjIKKyM6IHNpZ2xpc3QuYzoxNjMKIG1zZ2lkICJBbGFybSAocHJvZmlsZSkiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE2NgorIzogc2lnbGlzdC5jOjE2NwogbXNnaWQgIldpbmRvdyBjaGFuZ2VkIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNzAKKyM6IHNpZ2xpc3QuYzoxNzEKIG1zZ2lkICJSZWNvcmQgbG9jayIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTc0CisjOiBzaWdsaXN0LmM6MTc1CiBtc2dpZCAiVXNlciBzaWduYWwgMSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTc4CisjOiBzaWdsaXN0LmM6MTc5CiBtc2dpZCAiVXNlciBzaWduYWwgMiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTgyCisjOiBzaWdsaXN0LmM6MTgzCiBtc2dpZCAiSEZUIGlucHV0IGRhdGEgcGVuZGluZyIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTg2CisjOiBzaWdsaXN0LmM6MTg3CiBtc2dpZCAicG93ZXIgZmFpbHVyZSBpbW1pbmVudCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTkwCisjOiBzaWdsaXN0LmM6MTkxCiBtc2dpZCAic3lzdGVtIGNyYXNoIGltbWluZW50IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxOTQKKyM6IHNpZ2xpc3QuYzoxOTUKIG1zZ2lkICJtaWdyYXRlIHByb2Nlc3MgdG8gYW5vdGhlciBDUFUiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE5OAorIzogc2lnbGlzdC5jOjE5OQogbXNnaWQgInByb2dyYW1taW5nIGVycm9yIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMDIKKyM6IHNpZ2xpc3QuYzoyMDMKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIGdyYW50ZWQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjIwNgorIzogc2lnbGlzdC5jOjIwNwogbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgcmV0cmFjdGVkIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMTAKKyM6IHNpZ2xpc3QuYzoyMTEKIG1zZ2lkICJIRlQgc291bmQgc2VxdWVuY2UgaGFzIGNvbXBsZXRlZCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjE0CisjOiBzaWdsaXN0LmM6MjE1CiBtc2dpZCAiSW5mb3JtYXRpb24gcmVxdWVzdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjIyCisjOiBzaWdsaXN0LmM6MjIzCiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjI0CisjOiBzaWdsaXN0LmM6MjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjExODEgc3Vic3QuYzoxMzAyCisjOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKIG1zZ3N0ciAiTWF1dmFpc2Ugc3Vic3RpdHV0aW9uIDogcGFzIGRlIMKrICVzIMK7IGRlIGZlcm1ldHVyZSBkYW5zICVzIgogCi0jOiBzdWJzdC5jOjI0NTgKKyM6IHN1YnN0LmM6MjczNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKIG1zZ3N0ciAiJXMgOiBpbXBvc3NpYmxlIGQnYWZmZWN0ZXIgdW5lIGxpc3RlIMOgIHVuIMOpbMOpbWVudCBkZSB0YWJsZWF1IgogCi0jOiBzdWJzdC5jOjQ0NTYgc3Vic3QuYzo0NDcyCisjOiBzdWJzdC5jOjQ3NTQgc3Vic3QuYzo0NzcwCiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZmFicmlxdWVyIHVuIHR1YmUgcG91ciB1bmUgc3Vic3RpdHV0aW9uIGRlIHByb2Nlc3N1cyIKIAotIzogc3Vic3QuYzo0NTA0CisjOiBzdWJzdC5jOjQ4MDIKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZmFicmlxdWVyIHVuIGZpbHMgcG91ciB1bmUgc3Vic3RpdHV0aW9uIGRlIHByb2Nlc3N1cyIKIAotIzogc3Vic3QuYzo0NTQ5CisjOiBzdWJzdC5jOjQ4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ291dnJpciBsZSB0dWJlIG5vbW3DqSDCqyAlcyDCuyBlbiBsZWN0dXJlIgogCi0jOiBzdWJzdC5jOjQ1NTEKKyM6IHN1YnN0LmM6NDg0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciB3cml0aW5nIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnb3V2cmlyIGxlIHR1YmUgbm9tbcOpIMKrICVzIMK7IGVuIMOpY3JpdHVyZSIKIAotIzogc3Vic3QuYzo0NTY5CisjOiBzdWJzdC5jOjQ4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBuYW1lZCBwaXBlICVzIGFzIGZkICVkIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGR1cGxpcXVlciBsZSB0dWJlIG5vbW3DqSDCqyAlcyDCuyB2ZXJzIGxlIGZkICVkIgogCi0jOiBzdWJzdC5jOjQ3NjUKKyM6IHN1YnN0LmM6NTA2MwogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGZhYnJpcXVlciB1biB0dWJlIHBvdXIgdW5lIHN1YnN0aXR1dGlvbiBkZSBjb21tYW5kZSIKIAotIzogc3Vic3QuYzo0Nzk5CisjOiBzdWJzdC5jOjUwOTcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKICJJbXBvc3NpYmxlIGRlIGZhYnJpcXVlciB1biBwcm9jZXNzdXMgZmlscyBwb3VyIHVuZSBzdWJzdGl0dXRpb24gZGUgY29tbWFuZGUiCiAKLSM6IHN1YnN0LmM6NDgxNgorIzogc3Vic3QuYzo1MTE0CiBtc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIG1zZ3N0ciAiY29tbWFuZF9zdWJzdGl0dXRlIDogaW1wb3NzaWJsZSBkZSBkdXBsaXF1ZXIgbGUgdHViZSB2ZXJzIGxlIGZkIDEiCiAKLSM6IHN1YnN0LmM6NTMxOAorIzogc3Vic3QuYzo1NjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXJhbWV0ZXIgbnVsbCBvciBub3Qgc2V0IgogbXNnc3RyICIlcyA6IHBhcmFtw6h0cmUgdmlkZSBvdSBub24gZMOpZmluaSIKIAotIzogc3Vic3QuYzo1NjA4CisjOiBzdWJzdC5jOjU5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKIG1zZ3N0ciAiJXMgOiBleHByZXNzaW9uIGRlIHNvdXMtY2hhw65uZSBuw6lnYXRpdmUiCiAKLSM6IHN1YnN0LmM6NjY2MAorIzogc3Vic3QuYzo2OTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIlcyA6IG1hdXZhaXNlIHN1YnN0aXR1dGlvbiIKIAotIzogc3Vic3QuYzo2NzQwCisjOiBzdWJzdC5jOjcwNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXMgOiBhZmZlY3RhdGlvbiBpbXBvc3NpYmxlIGRlIGNldHRlIGZhw6dvbiIKIAotIzogc3Vic3QuYzo3NDk5CisjOiBzdWJzdC5jOjczNzQKK21zZ2lkICIiCisiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyAiCisic3Vic3RpdHV0aW9uIgorbXNnc3RyICIiCisKKyM6IHN1YnN0LmM6NzgzOQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBcImBcIiBpbiAlcyIKIG1zZ3N0ciAiTWF1dmFpc2Ugc3Vic3RpdHV0aW9uIDogcGFzIGRlIMKrICVzIMK7IGRlIGZlcm1ldHVyZSBkYW5zICVzIgogCi0jOiBzdWJzdC5jOjgzNzUKKyM6IHN1YnN0LmM6ODcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaDogJXMiCiBtc2dzdHIgIlBhcyBkZSBjb3JyZXNwb25kYW5jZSA6ICVzIgogCi0jOiB0ZXN0LmM6MTQ1CisjOiB0ZXN0LmM6MTQ2CiBtc2dpZCAiYXJndW1lbnQgZXhwZWN0ZWQiCiBtc2dzdHIgImFyZ3VtZW50IGF0dGVuZHUiCiAKLSM6IHRlc3QuYzoxNTQKKyM6IHRlc3QuYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludGVnZXIgZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiJXMgOiBub21icmUgZW50aWVyIGF0dGVuZHUgY29tbWUgZXhwcmVzc2lvbiIKIAotIzogdGVzdC5jOjI2MgorIzogdGVzdC5jOjI2MwogbXNnaWQgImApJyBleHBlY3RlZCIKIG1zZ3N0ciAiwqsgKSDCuyBhdHRlbmR1ZSIKIAotIzogdGVzdC5jOjI2NAorIzogdGVzdC5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICLCqyApIMK7IGF0dGVuZHUgYXUgbGlldSBkZSAlcyIKIAotIzogdGVzdC5jOjI3OSB0ZXN0LmM6Njg4IHRlc3QuYzo2OTEKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5MyB0ZXN0LmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXMgOiBvcMOpcmF0ZXVyIHVuYWlyZSBhdHRlbmR1IgogCi0jOiB0ZXN0LmM6NDQ0IHRlc3QuYzo3MzEKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjczNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlcyA6IG9ww6lyYXRldXIgYmluYWlyZSBhdHRlbmR1IgogCi0jOiB0ZXN0LmM6ODA2CisjOiB0ZXN0LmM6ODExCiBtc2dpZCAibWlzc2luZyBgXSciCiBtc2dzdHIgIsKrIF0gwrsgbWFucXVhbnQiCiAKLSM6IHRyYXAuYzoyMDEKKyM6IHRyYXAuYzoyMDMKIG1zZ2lkICJpbnZhbGlkIHNpZ25hbCBudW1iZXIiCiBtc2dzdHIgIk51bcOpcm8gZGUgc2lnbmFsIG5vbiB2YWxhYmxlIgogCi0jOiB0cmFwLmM6MzI0CisjOiB0cmFwLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bl9wZW5kaW5nX3RyYXBzOiBiYWQgdmFsdWUgaW4gdHJhcF9saXN0WyVkXTogJXAiCiBtc2dzdHIgInJ1bl9wZW5kaW5nX3RyYXBzIDogbWF1dmFpc2UgdmFsZXVyIGRhbnMgdHJhcF9saXN0WyVkXSA6ICVwIgogCi0jOiB0cmFwLmM6MzI4CisjOiB0cmFwLmM6MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgpAQCAtMTgxMiw1OSArMTg5Myw3NCBAQAogInJ1bl9wZW5kaW5nX3RyYXBzIDogbGUgZ2VzdGlvbm5haXJlIGRlIHNpZ25hbCBlc3QgU0lHX0RGTCwgJWQgKCVzKSByZW52b3nDqSDDoCAiCiAibW9pLW3Dqm1lIgogCi0jOiB0cmFwLmM6MzcyCisjOiB0cmFwLmM6MzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKIG1zZ3N0ciAidHJhcF9oYW5kbGVyIDogbWF1dmFpcyBzaWduYWwgJWQiCiAKLSM6IHZhcmlhYmxlcy5jOjM1OAorIzogdmFyaWFibGVzLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnIgogbXNnc3RyICJlcnJldXIgbG9ycyBkZSBsJ2ltcG9ydCBkZSBsYSBkw6lmaW5pdGlvbiBkZSBmb25jdGlvbiBwb3VyIMKrICVzIMK7IgogCi0jOiB2YXJpYWJsZXMuYzo3MzYKKyM6IHZhcmlhYmxlcy5jOjc0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGVsbCBsZXZlbCAoJWQpIHRvbyBoaWdoLCByZXNldHRpbmcgdG8gMSIKIG1zZ3N0ciAibml2ZWF1IGRlIHNoZWxsIHRyb3Agw6lsZXbDqSAoJWQpLCBpbml0aWFsaXNhdGlvbiDDoCAxIgogCi0jOiB2YXJpYWJsZXMuYzoxODk4CisjOiB2YXJpYWJsZXMuYzoxOTE1CiBtc2dpZCAibWFrZV9sb2NhbF92YXJpYWJsZTogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICIiCiAibWFrZV9sb2NhbF92YXJpYWJsZSA6IGF1Y3VuIGNvbnRleHRlIGRlIGZvbmN0aW9uIGRhbnMgbGUgY2hhbXAgZCdhcHBsaWNhdGlvbiAiCiAiYWN0dWVsIgogCi0jOiB2YXJpYWJsZXMuYzozMTI3CisjOiB2YXJpYWJsZXMuYzozMTU5CiBtc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICIiCiAiYWxsX2xvY2FsX3ZhcmlhYmxlcyA6IGF1Y3VuIGNvbnRleHRlIGRlIGZvbmN0aW9uIGRhbnMgbGUgY2hhbXAgZCdhcHBsaWNhdGlvbiAiCiAiYWN0dWVsIgogCi0jOiB2YXJpYWJsZXMuYzozMzQ0IHZhcmlhYmxlcy5jOjMzNTMKKyM6IHZhcmlhYmxlcy5jOjMzNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKK21zZ3N0ciAiJXMgOiBwYXJhbcOodHJlIHZpZGUgb3Ugbm9uIGTDqWZpbmkiCisKKyM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICJjYXJhY3TDqHJlICVkIG5vbiB2YWxhYmxlIGRhbnMgwqsgZXhwb3J0c3RyIMK7IHBvdXIgJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNTkKKyM6IHZhcmlhYmxlcy5jOjMzOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIlBhcyBkZSDCqyA9IMK7IGRhbnMgwqsgZXhwb3J0c3RyIMK7IHBvdXIgJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjM3OTQKKyM6IHZhcmlhYmxlcy5jOjM4MzUKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiBtc2dzdHIgIiIKICJwb3BfdmFyX2NvbnRleHQgOiBsZSBkw6lidXQgZGUgwqsgc2hlbGxfdmFyaWFibGVzIMK7IG4nZXN0IHBhcyB1biBjb250ZXh0ZSBkZSAiCiAiZm9uY3Rpb24iCiAKLSM6IHZhcmlhYmxlcy5jOjM4MDcKKyM6IHZhcmlhYmxlcy5jOjM4NDgKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IG5vIGdsb2JhbF92YXJpYWJsZXMgY29udGV4dCIKIG1zZ3N0ciAicG9wX3Zhcl9jb250ZXh0IDogYXVjdW4gY29udGV4dGUgw6AgwqsgZ2xvYmFsX3ZhcmlhYmxlcyDCuyIKIAotIzogdmFyaWFibGVzLmM6Mzg4MQorIzogdmFyaWFibGVzLmM6MzkyMgogbXNnaWQgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgogbXNnc3RyICIiCiAicG9wX3Njb3BlIDogbGUgZMOpYnV0IGRlIMKrIHNoZWxsX3ZhcmlhYmxlcyDCuyBuJ2VzdCBwYXMgdW4gY2hhbXAgZCdhcHBsaWNhdGlvbiAiCiAidGVtcG9yYWlyZSBkJ2Vudmlyb25uZW1lbnQiCiAKKyM6IHZhcmlhYmxlcy5jOjQ2NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogY2Fubm90IG9wZW4gYXMgRklMRSIKK21zZ3N0ciAiJXMgOiBpbXBvc3NpYmxlIGQnb3V2cmlyIDogJXMiCisKKyM6IHZhcmlhYmxlcy5jOjQ2ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogaW52YWxpZCB2YWx1ZSBmb3IgdHJhY2UgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICIlZCA6IGRlc2NyaXB0ZXVyIGRlIGZpY2hpZXIgbm9uIHZhbGFibGUgOiAlcyIKKwogIzogdmVyc2lvbi5jOjQ2CiAjLCBmdXp6eQogbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCkBAIC0xODc2LDYyICsxOTcyLDUzIEBACiAiaHRtbD5cbiIKIG1zZ3N0ciAiIgogCi0jOiB2ZXJzaW9uLmM6ODYKKyM6IHZlcnNpb24uYzo4NiB2ZXJzaW9uMi5jOjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkdOVSBiYXNoLCB2ZXJzaW9uICVzICglcylcbiIKIG1zZ3N0ciAiIgogCi0jOiB2ZXJzaW9uLmM6OTEKKyM6IHZlcnNpb24uYzo5MSB2ZXJzaW9uMi5jOjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmlidXRlIGl0LlxuIgogbXNnc3RyICIiCiAKLSM6IHZlcnNpb24uYzo5MgorIzogdmVyc2lvbi5jOjkyIHZlcnNpb24yLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKIG1zZ3N0ciAiIgogCi0jOiB4bWFsbG9jLmM6OTIKKyM6IHZlcnNpb24yLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKK21zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDA2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgorCisjOiB2ZXJzaW9uMi5jOjg3CiAjLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorbXNnaWQgIiIKKyJMaWNlbnNlIEdQTHYyKzogR05VIEdQTCB2ZXJzaW9uIDIgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiaHRtbD5cbiIKK21zZ3N0ciAiIgorCisjOiB4bWFsbG9jLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKIG1zZ3N0ciAieG1hbGxvYyA6IGltcG9zc2libGUgZCdhbGxvdWVyICVsdSBvY3RldHMgKCVsdSBvY3RldHMgYWxsb3XDqXMpIgogCi0jOiB4bWFsbG9jLmM6OTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKKyM6IHhtYWxsb2MuYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCiBtc2dzdHIgInhtYWxsb2MgOiBpbXBvc3NpYmxlIGQnYWxsb3VlciAlbHUgb2N0ZXRzIgogCi0jOiB4bWFsbG9jLmM6MTE0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICJ4cmVhbGxvYyA6IGltcG9zc2libGUgZGUgcsOpYWxsb3VlciAlbHUgb2N0ZXRzICglbHUgb2N0ZXRzIGFsbG91w6lzKSIKLQotIzogeG1hbGxvYy5jOjExNgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKLW1zZ3N0ciAieHJlYWxsb2MgOiBpbXBvc3NpYmxlIGQnYWxsb3VlciAlbHUgb2N0ZXRzIgotCi0jOiB4bWFsbG9jLmM6MTUwCi0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyM6IHhtYWxsb2MuYzoxNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiBtc2dzdHIgInhtYWxsb2MgOiAlczolZCA6IGltcG9zc2libGUgZCdhbGxvdWVyICVsdSBvY3RldHMgKCVsdSBvY3RldHMgYWxsb3XDqXMpIgogCi0jOiB4bWFsbG9jLmM6MTUyCi0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorIzogeG1hbGxvYy5jOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgogbXNnc3RyICJ4bWFsbG9jIDogJXM6JWQgOiBpbXBvc3NpYmxlIGQnYWxsb3VlciAlbHUgb2N0ZXRzIgogCi0jOiB4bWFsbG9jLmM6MTc0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAiIgotInhyZWFsbG9jIDogJXM6JWQgOiBpbXBvc3NpYmxlIGRlIHLDqWFsbG91ZXIgJWx1IG9jdGV0cyAoJWx1IG9jdGV0cyBhbGxvdcOpcykiCi0KLSM6IHhtYWxsb2MuYzoxNzYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICJ4cmVhbGxvYyA6ICVzOiVkIDogaW1wb3NzaWJsZSBkJ2FsbG91ZXIgJWx1IG9jdGV0cyIKLQogIzogYnVpbHRpbnMuYzo0MwogbXNnaWQgImFsaWFzIFstcF0gW25hbWVbPXZhbHVlXSAuLi4gXSIKIG1zZ3N0ciAiIgpAQCAtMjA0Nyw3ICsyMTM0LDcgQEAKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjExNwotbXNnaWQgImhlbHAgWy1kc10gW3BhdHRlcm4gLi4uXSIKK21zZ2lkICJoZWxwIFstZG1zXSBbcGF0dGVybiAuLi5dIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MTIxCkBAIC0yMDc2LDggKzIxNjMsOCBAQAogCiAjOiBidWlsdGlucy5jOjEzNgogbXNnaWQgIiIKLSJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstcCBwcm9tcHRdIFstdCAiCi0idGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgorInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKKyJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxMzgKQEAgLTIyNDEsOSArMjMyOCw5IEBACiAKICM6IGJ1aWx0aW5zLmM6MjI5CiBtc2dpZCAiIgotImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy1XICIKLSJ3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyBzdWZmaXhdICIKLSJbbmFtZSAuLi5dIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy0iCisiVyB3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyAiCisic3VmZml4XSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MjMzCkBAIC0yMjUzLDcgKzIzNDAsNyBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MjM3Ci1tc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbbmFtZSAuLi5dIgorbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gWy1ERV0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjI0MApAQCAtMjI5Myw3ICsyMzgwLDggQEAKICIgICAgbGEgbGlzdGUgZGVzIGFsaWFzIHNvdXMgbGEgZm9ybWUgTkFNRT1WQUxVRS4gU2lub24sIHVuIGFsaWFzIGVzdCBkw6lmaW5pXG4iCiAiICAgIHBvdXIgY2hhcXVlIE5BTUUgZG9udCBsYSBWQUxVRSBlc3QgZm91cm5pZS4gVW5lIGVzcGFjZSBhcHLDqHMgbGEgVkFMVUVcbiIKICIgICAgZW50cmHDrm5lIGxhIHbDqXJpZmljYXRpb24gZGUgbGEgc3Vic3RpdHV0aW9uIGQnYWxpYXMgcG91ciBsZSBtb3Qgc3VpdmFudFxuIgotIiAgICBsb3JzcXVlIGwnYWxpYXMgZXN0IMOpdGVuZHUuIMKrIGFsaWFzIMK7IHJlbnZvaWUgwqsgdHJ1ZSDCuyDDoCBtb2lucyBxdSd1biBOQU1FXG4iCisiICAgIGxvcnNxdWUgbCdhbGlhcyBlc3Qgw6l0ZW5kdS4gwqsgYWxpYXMgwrsgcmVudm9pZSDCqyB0cnVlIMK7IMOgIG1vaW5zIHF1J3VuICIKKyJOQU1FXG4iCiAiICAgIG5lIHNvaXQgZm91cm5pIHBvdXIgbGVxdWVsIGF1Y3VuIGFsaWFzIG4nYSDDqXTDqSBkw6lmaW5pLiIKIAogIzogYnVpbHRpbnMuYzoyNzYKQEAgLTIzNTUsMTEgKzI0NDMsMTMgQEAKICJkdSBmaWNoaWVyIH4vLmlucHV0cmMsIG1haXMgZG9pdmVudCDDqnRyZSB0cmFuc21pcyBjb21tZSBhcmd1bWVudHMgdW5pcXVlcyA6XG4iCiAiICAgIGJpbmQgJ1wiXFxDLXhcXEMtclwiIDogcmUtcmVhZC1pbml0LWZpbGUnLlxuIgogIiAgICBiaW5kIGFjY2VwdGUgbGVzIG9wdGlvbnMgc3VpdmFudGVzIDpcbiIKLSIgICAgICAtbSAga2V5bWFwICAgICAgICAgVXRpbGlzZSDCqyBrZXltYXAgwrsgY29tbWUgbWFwcGFnZSBjbGF2aWVyIHBlbmRhbnQgbGFcbiIKKyIgICAgICAtbSAga2V5bWFwICAgICAgICAgVXRpbGlzZSDCqyBrZXltYXAgwrsgY29tbWUgbWFwcGFnZSBjbGF2aWVyIHBlbmRhbnQgIgorImxhXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgIGR1csOpZSBkZSBjZXR0ZSBjb21tYW5kZS4gRGVzIG5vbXMgZGUgbWFwcGFnZSAiCiAidmFsYWJsZXMgICAgICAgICAgICAgICAgICAgICAgICAgc29udCDCqyBlbWFjcyDCuywgwqsgZW1hY3Mtc3RhbmRhcmQgwrssIMKrIGVtYWNzLSIKICJtZXRhIMK7LCBcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgwqsgZW1hY3MtY3RseCDCuywgwqsgdmkgwrssIMKrIHZpLW1vdmUgwrssIMKrIHZpLWNvbW1hbmQgwrsgZXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgwqsgZW1hY3MtY3RseCDCuywgwqsgdmkgwrssIMKrIHZpLW1vdmUgwrssIMKrIHZpLWNvbW1hbmQgwrsgIgorImV0XG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgIMKrIHZpLWluc2VydCDCuy5cbiIKICIgICAgICAtbCAgICAgICAgICAgICAgICAgQWZmaWNoZSBsZXMgbm9tcyBkZSBmb25jdGlvbnMuXG4iCiAiICAgICAgLVAgICAgICAgICAgICAgICAgIEFmZmljaGUgbGVzIG5vbXMgZXQgYXNzb2NpYXRpb25zIGRlcyBmb25jdGlvbnMuXG4iCkBAIC0yNTA0LDggKzI1OTQsOCBAQAogInF1ZVxuIgogIiAgICBsJ29wdGlvbiDCqyBjZGFibGVfdmFycyDCuyBkdSBzaGVsbCBlc3QgZMOpZmluaWUsIGFsb3JzIGxlIG1vdCBlc3QgZXNzYXnDqSAiCiAiY29tbWUgbm9tXG4iCi0iICAgIGRlIHZhcmlhYmxlLiBTaSBsYSB2YXJpYWJsZSBwb3Nzw6hkZSB1bmUgdmFsZXVyLCBhbG9ycyBvbiBmYWl0IMKrIGNkIMK7IHZlcnMgIgotImNldHRlIHZhbGV1ci5cbiIKKyIgICAgZGUgdmFyaWFibGUuIFNpIGxhIHZhcmlhYmxlIHBvc3PDqGRlIHVuZSB2YWxldXIsIGFsb3JzIG9uIGZhaXQgwqsgY2QgwrsgIgorInZlcnMgY2V0dGUgdmFsZXVyLlxuIgogIiAgICBMJ29wdGlvbiDCqyAtUCDCuyBpbmRpcXVlIGQndXRpbGlzZXIgbGEgc3RydWN0dXJlIHBoeXNpcXVlIGRlcyByw6lwZXJ0b2lyZXMgIgogInBsdXTDtHQgcXVlXG4iCiAiICAgIGxlcyBsaWVucyBzeW1ib2xpcXVlcyA7IGwnb3B0aW9uIMKrIC1MIMK7IGZvcmNlIGxlIHN1aXZpIGRlcyBsaWVucyAiCkBAIC0yNjI3LDE1ICsyNzE3LDE2IEBACiAiICAgICAgLXRcdHBvdXIgcXVlIGxlcyBOQU1FIGFpZW50IGwnYXR0cmlidXQgwqsgdHJhY2UgwrtcbiIKICIgICAgICAteFx0cG91ciBmYWlyZSB1biBleHBvcnQgZGVzIE5BTUVcbiIKICIgICAgXG4iCi0iICAgIEwnw6l2YWx1YXRpb24gYXJpdGhtw6l0aXF1ZSBkZXMgdmFyaWFibGVzIGF5YW50IGwnYXR0cmlidXQgwqsgaW50ZWdlciDCuyBlc3RcbiIKKyIgICAgTCfDqXZhbHVhdGlvbiBhcml0aG3DqXRpcXVlIGRlcyB2YXJpYWJsZXMgYXlhbnQgbCdhdHRyaWJ1dCDCqyBpbnRlZ2VyIMK7ICIKKyJlc3RcbiIKICIgICAgZWZmZWN0dcOpZSBhdSBtb21lbnQgZGUgbCdhZmZlY3RhdGlvbiAodm9pciDCqyBsZXQgwrspLlxuIgogIiAgICBcbiIKICIgICAgTG9ycyBkZSBsJ2FmZmljaGFnZSBkZXMgdmFsZXVycyBkZSB2YXJpYWJsZXMsIC1mIGFmZmljaGUgbGUgbm9tIGRlIGxhICIKICJmb25jdGlvblxuIgogIiAgICBldCBzYSBkw6lmaW5pdGlvbi4gIEwnb3B0aW9uIC1GIHBlcm1ldCBkZSBuJ2FmZmljaGVyIHF1ZSBsZSBub20uXG4iCiAiICAgIFxuIgotIiAgICBVbiBhdHRyaWJ1dCBwZXV0IMOqdHJlIGTDqXNhY3RpdsOpIGVuIHV0aWxpc2FudCDCqyArIMK7IGF1IGxpZXUgZGUgwqsgLSDCuy4gIERhbnMgIgotInVuZVxuIgorIiAgICBVbiBhdHRyaWJ1dCBwZXV0IMOqdHJlIGTDqXNhY3RpdsOpIGVuIHV0aWxpc2FudCDCqyArIMK7IGF1IGxpZXUgZGUgwqsgLSDCuy4gICIKKyJEYW5zIHVuZVxuIgogIiAgICBmb25jdGlvbiwgY2VjaSBhIHBvdXIgZWZmZXQgZGUgcmVuZHJlIGxlcyBOQU1FIGxvY2F1eCwgY29tbWUgYXZlYyBsYSAiCiAiY29tbWFuZGUgwqtsb2NhbCDCuy4iCiAKQEAgLTI2OTQsOCArMjc4NSw4IEBACiBtc2dzdHIgIiIKICJBZmZpY2hlIGxlcyBBUkdzLiAgU2kgwqsgLW4gwrsgZXN0IHNww6ljaWZpw6ksIGxlIHJldG91ciDDoCBsYSBsaWduZSBmaW5hbCBldCAiCiAic3VwcHJpbcOpLlxuIgotIiAgICBMJ29wdGlvbiDCqyAtZSDCuyBwZXJtZXQgZCdhY3RpdmVyIGwnaW50ZXJwcsOpdGF0aW9uIGRlcyBjYXJhY3TDqHJlcyDDoCBjb250cmUtIgotIm9ibGlxdWVcbiIKKyIgICAgTCdvcHRpb24gwqsgLWUgwrsgcGVybWV0IGQnYWN0aXZlciBsJ2ludGVycHLDqXRhdGlvbiBkZXMgY2FyYWN0w6hyZXMgw6AgIgorImNvbnRyZS1vYmxpcXVlXG4iCiAiICAgIHBhcm1pIGxhIGxpc3RlIGNpLWRlc3NvdXMgOlxuIgogIiAgICBcdFxcYVx0YWxlcnRlIChjbG9jaGUpXG4iCiAiICAgIFx0XFxiXHRyZXRvdXIgYXJyacOocmVcbiIKQEAgLTI5NDcsOCArMzAzOCw4IEBACiAiICAgIGFwcsOocyBhdm9pciBlZmZlY3R1w6kgbGEgc3Vic3RpdHV0aW9uIE9MRD1ORVcuXG4iCiAiICAgIFxuIgogIiAgICBVbiBhbGlhcyB1dGlsZSBlc3Qgwqsgcj0nZmMgLXMnIMK7IGRlIHNvcnRlIHF1J2VuIHRhcGFudCDCqyByIGNjIMK7LFxuIgotIiAgICBsYSBkZXJuacOocmUgY29tbWFuZGUgY29tbWVuw6dhbnQgcGFyIMKrIGNjIMK7IGVzdCByw6ktZXjDqWN1dMOpZSBldCBhdmVjIMKrIHIgwrssICIKLSJsYVxuIgorIiAgICBsYSBkZXJuacOocmUgY29tbWFuZGUgY29tbWVuw6dhbnQgcGFyIMKrIGNjIMK7IGVzdCByw6ktZXjDqWN1dMOpZSBldCBhdmVjIMKrIHIgIgorIsK7LCBsYVxuIgogIiAgICBkZXJuacOocmUgY29tbWFuZGUgZXN0IHLDqS1leMOpY3V0w6llLiIKIAogIzogYnVpbHRpbnMuYzo3MzgKQEAgLTMwODUsOCArMzE3Niw4IEBACiAic2lub25cbiIKICIgICAgbGEgdmFsZXVyIGRlIMKrICRISVNURklMRSDCuyBlc3QgdXRpbGlzw6llLCBzaW5vbiBsZSBmaWNoaWVyIMKrIH4vLiIKICJiYXNoX2hpc3RvcnkgwrsuXG4iCi0iICAgIFNpIGwnb3B0aW9uIMKrIC1zIMK7IGVzdCBmb3VybmllLCBsZXMgYXJndW1lbnRzIHF1aSBuZSBzb250IHBhcyBkZXMgb3B0aW9ucyAiCi0ic29udFxuIgorIiAgICBTaSBsJ29wdGlvbiDCqyAtcyDCuyBlc3QgZm91cm5pZSwgbGVzIGFyZ3VtZW50cyBxdWkgbmUgc29udCBwYXMgZGVzICIKKyJvcHRpb25zIHNvbnRcbiIKICIgICAgYWpvdXTDqXMgw6AgbGEgZmluIGRlIGwnaGlzdG9yaXF1ZSBjb21tZSB1biBzZXVsIMOpbMOpbWVudC4gTCdvcHRpb24gwqsgLXAgwrsgIgogInBlcm1ldFxuIgogIiAgICBkJ2VmZmVjdHVlciB1bmUgZXhwYW5zaW9uIGQnaGlzdG9yaXF1ZSBzdXIgY2hhcXVlIEFSRyBldCBkJ2FmZmljaGVyIGxlICIKQEAgLTMwOTUsNyArMzE4Niw4IEBACiAiICAgIFxuIgogIiAgICBTaSBsYSB2YXJpYWJsZSDCqyAkSElTVFRJTUVGT1JNQVQgwrsgZXN0IGTDqWZpbmllIGV0IG5vbiB2aWRlLCBzYSB2YWxldXIgIgogImVzdFxuIgotIiAgICB1dGlsaXPDqWUgY29tbWUgY2hhw65uZSBkZSBmb3JtYXQgcG91ciDCqyBzdHJmdGltZSgzKSDCuyBhZmluIGQnYWZmaWNoZXIgbGVzXG4iCisiICAgIHV0aWxpc8OpZSBjb21tZSBjaGHDrm5lIGRlIGZvcm1hdCBwb3VyIMKrIHN0cmZ0aW1lKDMpIMK7IGFmaW4gZCdhZmZpY2hlciAiCisibGVzXG4iCiAiICAgIHZhbGV1cnMgZGUgdGVtcHMgYXNzb2Npw6llcyDDoCBjaGFxdWUgw6lsw6ltZW50IGRlIGwnaGlzdG9yaXF1ZS4gU2lub24sXG4iCiAiICAgIGF1Y3VuIHZhbGV1ciBkZSB0ZW1wcyBuJ2VzdCBhZmZpY2jDqWUuIgogCkBAIC0zMTI3LDcgKzMyMTksOCBAQAogIiAgICBlbiBwbHVzIGRlcyBpbmZvcm1hdGlvbnMgaGFiaXR1ZWxsZXMuIEwnb3B0aW9uIMKrIC1wIMK7IG4nYWZmaWNoZSBxdWUgbGVzXG4iCiAiICAgIG51bcOpcm9zIGRlIHByb2Nlc3N1cy4gU2kgwqsgLW4gwrsgZXN0IGZvdXJuaSwgc2V1bHMgbGVzIHByb2Nlc3N1cyBkb250XG4iCiAiICAgIGwnw6l0YXQgYSBjaGFuZ8OpIGRlcHVpcyBsYSBkZXJuacOocmUgbm90aWZpY2F0aW9uIHNvbnQgYWZmaWNow6lzLiBKT0JTUEVDXG4iCi0iICAgIHJlc3RyZWludCBsJ2FmZmljaGFnZSDDoCBjZSBudW3DqXJvIGRlIHTDomNoZS4gTGVzIG9wdGlvbnMgwqsgLXIgwrsgZXQgwqsgLXMgwrtcbiIKKyIgICAgcmVzdHJlaW50IGwnYWZmaWNoYWdlIMOgIGNlIG51bcOpcm8gZGUgdMOiY2hlLiBMZXMgb3B0aW9ucyDCqyAtciDCuyBldCDCqyAtcyAiCisiwrtcbiIKICIgICAgcmVzdHJlaWduZW50IGwnYWZmaWNoYWdlIHJlc3BlY3RpdmVtZW50IGF1eCB0w6JjaGVzIGVuIGNvdXJzIGQnZXjDqWN1dGlvblxuIgogIiAgICBldCBhdXggdMOiY2hlcyBzdG9wcMOpZXMuIFNhbnMgb3B0aW9uLCBsJ8OpdGF0IGRlIHRvdXRlcyBsZXMgdMOiY2hlcyAiCiAiYWN0aXZlc1xuIgpAQCAtMzE3OSw4ICszMjcyLDggQEAKIG1zZ3N0ciAiIgogIkVudm9pZSBsZSBzaWduYWwgU0lHU1BFQyBhdXggcHJvY2Vzc3VzIGTDqXNpZ27DqXMgcGFyIFBJRCAob3UgSk9CU1BFQykuIFNpXG4iCiAiICAgIFNJR1NQRUMgbidlc3QgcGFzIGZvdXJuaSwgYWxvcnMgU0lHVEVSTSBlc3QgdXRpbGlzw6kuIEwnYXJndW1lbnQgwqsgLWwgwrtcbiIKLSIgICAgcGVybWV0IGRlIGxpc3RlciBsZXMgbm9tcyBkZSBzaWduYXV4LiBTaSBkZXMgYXJndW1lbnRzIHNvbnQgZG9ubsOpcyDDoCDCqyAtbCAiCi0iwrssXG4iCisiICAgIHBlcm1ldCBkZSBsaXN0ZXIgbGVzIG5vbXMgZGUgc2lnbmF1eC4gU2kgZGVzIGFyZ3VtZW50cyBzb250IGRvbm7DqXMgw6AgwqsgLSIKKyJsIMK7LFxuIgogIiAgICBpbHMgc29udCBzdXBwb3PDqXMgw6p0cmUgZGVzIG51bcOpcm9zIGRlIHNpZ25hdXggcG91ciBsZXNxdWVscyBsZXMgbm9tcyBcbiIKICIgICAgZG9pdmVudCDDqnRyZSBhZmZpY2jDqXMuIMKrIGtpbGwgwrsgZXN0IHVuZSBjb21tYW5kZSBpbnTDqWdyw6llIGF1IHNoZWxsIHBvdXJcbiIKICIgICAgZGV1eCByYWlzb25zIDogaWwgcGVybWV0IGQndXRpbGlzZXIgZGVzIG51bcOpcm9zIGRlIHTDomNoZSBwbHV0w7R0IHF1ZSBkZXNcbiIKQEAgLTMzMDAsNyArMzM5MywxMSBAQAogIiAgICAgIC1lXHRcdHVzZSBSZWFkbGluZSB0byBvYnRhaW4gdGhlIGxpbmUgaW4gYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKICIgICAgICAtaSB0ZXh0XHRVc2UgVEVYVCBhcyB0aGUgaW5pdGlhbCB0ZXh0IGZvciBSZWFkbGluZVxuIgogIiAgICAgIC1uIG5jaGFyc1x0cmV0dXJuIGFmdGVyIHJlYWRpbmcgTkNIQVJTIGNoYXJhY3RlcnMgcmF0aGVyIHRoYW4gd2FpdGluZ1xuIgotIiAgICBcdFx0Zm9yIGEgbmV3bGluZVxuIgorIiAgICBcdFx0Zm9yIGEgbmV3bGluZSwgYnV0IGhvbm9yIGEgZGVsaW1pdGVyIGlmIGZld2VyIHRoYW4gTkNIQVJTXG4iCisiICAgIFx0XHRjaGFyYWN0ZXJzIGFyZSByZWFkIGJlZm9yZSB0aGUgZGVsaW1pdGVyXG4iCisiICAgICAgLU4gbmNoYXJzXHRyZXR1cm4gb25seSBhZnRlciByZWFkaW5nIGV4YWN0bHkgTkNIQVJTIGNoYXJhY3RlcnMsICIKKyJ1bmxlc3NcbiIKKyIgICAgXHRcdEVPRiBpcyBlbmNvdW50ZXJlZCBvciByZWFkIHRpbWVzIG91dCwgaWdub3JpbmcgYW55IGRlbGltaXRlclxuIgogIiAgICAgIC1wIHByb21wdFx0b3V0cHV0IHRoZSBzdHJpbmcgUFJPTVBUIHdpdGhvdXQgYSB0cmFpbGluZyBuZXdsaW5lIGJlZm9yZVxuIgogIiAgICBcdFx0YXR0ZW1wdGluZyB0byByZWFkXG4iCiAiICAgICAgLXJcdFx0ZG8gbm90IGFsbG93IGJhY2tzbGFzaGVzIHRvIGVzY2FwZSBhbnkgY2hhcmFjdGVyc1xuIgpAQCAtMzMzNiwxNiArMzQzMywxNiBAQAogImx1IHBsdXTDtHQgcXVlXG4iCiAiICAgIGxlIHJldG91ciDDoCBsYSBsaWduZS4gU2kgwqsgLXAgwrsgZXN0IGZvdXJuaSwgbGEgY2hhw65uZSBQUk9NUFQgZXN0ICIKICJhZmZpY2jDqWVcbiIKLSIgICAgc2FucyByZXRvdXIgw6AgbGEgbGlnbmUgZmluYWwgYXZhbnQgbGEgdGVudGF0aXZlIGRlIGxlY3R1cmUuIFNpIMKrIC1hIMK7IGVzdCAiCi0iZm91cm5pLFxuIgorIiAgICBzYW5zIHJldG91ciDDoCBsYSBsaWduZSBmaW5hbCBhdmFudCBsYSB0ZW50YXRpdmUgZGUgbGVjdHVyZS4gU2kgwqsgLWEgwrsgIgorImVzdCBmb3VybmksXG4iCiAiICAgIGxlcyBtb3RzIGx1cyBzb250IGFmZmVjdMOpcyBlbiBzw6lxdWVuY2UgYXV4IGluZGljZXMgZHUgVEFCTEVBVSwgZW4gIgogImNvbW1lbsOnYW50XG4iCi0iICAgIMOgIHrDqXJvLiBTaSDCqyAtZSDCuyBlc3QgZm91cm5pIGV0IHF1ZSBsZSBzaGVsbCBlc3QgaW50ZXJhY3RpZiwgwqsgcmVhZGxpbmUgwrsgIgotImVzdFxuIgorIiAgICDDoCB6w6lyby4gU2kgwqsgLWUgwrsgZXN0IGZvdXJuaSBldCBxdWUgbGUgc2hlbGwgZXN0IGludGVyYWN0aWYsIMKrIHJlYWRsaW5lICIKKyLCuyBlc3RcbiIKICIgICAgdXRpbGlzw6kgcG91ciBvYnRlbmlyIGxhIGxpZ25lLiBTaSDCqyAtbiDCuyBlc3QgZm91cm5pIGF2ZWMgdW4gYXJndW1lbnQgIgogIk5DSEFSUyBub24gbnVsLFxuIgotIiAgICDCqyByZWFkIMK7IHNlIHRlcm1pbmUgYXByw6hzIHF1ZSBOQ0hBUlMgY2FyYWN0w6hyZXMgb250IMOpdMOpIGx1cy4gTCdvcHRpb24gwqsgLXMgIgotIsK7XG4iCisiICAgIMKrIHJlYWQgwrsgc2UgdGVybWluZSBhcHLDqHMgcXVlIE5DSEFSUyBjYXJhY3TDqHJlcyBvbnQgw6l0w6kgbHVzLiBMJ29wdGlvbiDCqyAtIgorInMgwrtcbiIKICIgICAgcGVybWV0IGF1eCBkb25uw6llcyB2ZW5hbnQgZCd1biB0ZXJtaW5hbCBkZSBuZSBwYXMgw6p0cmUgcsOpcMOpdMOpZXMuXG4iCiAiICAgIFxuIgogIiAgICBMJ29wdGlvbiDCqyAtdCDCuyBwZXJtZXQgw6AgwqsgcmVhZCDCuyBkZSBzZSB0ZXJtaW5lciBhdmVjIHVuZSBlcnJldXIgc2kgdW5lICIKQEAgLTMzNjAsNyArMzQ1Nyw3IEBACiAibmUgc29pdFxuIgogIiAgICBmb3VybmkgcG91ciBsJ2FyZ3VtZW50IMKrIC11IMK7LiIKIAotIzogYnVpbHRpbnMuYzoxMDA2CisjOiBidWlsdGlucy5jOjEwMDkKIG1zZ2lkICIiCiAiUmV0dXJuIGZyb20gYSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zMzcyLDcgKzM0NjksNyBAQAogIiAgICBSZXR1cm5zIE4sIG9yIGZhaWx1cmUgaWYgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbiBvciBzY3JpcHQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTAxOQorIzogYnVpbHRpbnMuYzoxMDIyCiAjLCBmdXp6eQogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKQEAgLTM0NzcsOCArMzU3NCw4IEBACiAiICAgICAgICAgICAgICAgIGhhc2hhbGwgICAgICBpZGVudGlxdWUgw6AgLWhcbiIKICIgICAgICAgICAgICAgICAgaGlzdGV4cGFuZCAgIGlkZW50aXF1ZSDDoCAtSFxuIgogIiAgICAgICAgICAgICAgICBoaXN0b3J5ICAgICAgYWN0aXZlciBsJ2hpc3RvcmlxdWUgZGVzIGNvbW1hbmRlc1xuIgotIiAgICAgICAgICAgICAgICBpZ25vcmVlb2YgICAgbmUgcGFzIHRlcm1pbmVyIGxlIHNoZWxsIMOgIGxhIGxlY3R1cmUgZCd1biDCqyBFT0YgIgotIsK7XG4iCisiICAgICAgICAgICAgICAgIGlnbm9yZWVvZiAgICBuZSBwYXMgdGVybWluZXIgbGUgc2hlbGwgw6AgbGEgbGVjdHVyZSBkJ3VuIMKrICIKKyJFT0YgwrtcbiIKICIgICAgICAgICAgICAgICAgaW50ZXJhY3RpdmUtY29tbWVudHNcbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcm1ldCBhdXggY29tbWVudGFpcmVzIGQnYXBwYXJhw650cmUgZGFucyBsZXMgIgogImNvbW1hbmRlcyBpbnRlcmFjdGl2ZXNcbiIKQEAgLTM1MzUsMTcgKzM2MzIsMTcgQEAKICJwb3NpdGlvbi5cbiIKICIgICAgICAgICAgICBMZXMgb3B0aW9ucyDCqyAteCDCuyBldCDCqyAtdiDCuyBzb250IGTDqXNhY3RpdsOpZXMuXG4iCiAiICAgIFxuIgotIiAgICBDZXMgaW5kaWNhdGV1cnMgcGV1dmVudCDDqnRyZSBkw6lzYWN0aXbDqXMgZW4gdXRpbGlzYW50IMKrICsgwrsgcGx1dMO0dCBxdWUgwqsgLSAiCi0iwrsuIElscyBwZXV2ZW50XG4iCisiICAgIENlcyBpbmRpY2F0ZXVycyBwZXV2ZW50IMOqdHJlIGTDqXNhY3RpdsOpcyBlbiB1dGlsaXNhbnQgwqsgKyDCuyBwbHV0w7R0IHF1ZSDCqyAiCisiLSDCuy4gSWxzIHBldXZlbnRcbiIKICIgICAgw6p0cmUgdXRpbGlzw6lzIGxvcnMgZGUgbCdhcHBlbCBhdSBzaGVsbC4gTGUgamV1IGQnaW5kaWNhdGV1cnMgYWN0dWVsIHBldXQgIgogIsOqdHJlIHRyb3V2w6lcbiIKLSIgICAgZGFucyDCqyAkLSDCuy4gIExlcyBuIEFSR3MgcmVzdGFudHMgc29udCBkZXMgcGFyYW3DqHRyZXMgZGUgcG9zaXRpb24gZXQgc29udCAiCi0iYWZmZWN0w6lzLFxuIgorIiAgICBkYW5zIMKrICQtIMK7LiAgTGVzIG4gQVJHcyByZXN0YW50cyBzb250IGRlcyBwYXJhbcOodHJlcyBkZSBwb3NpdGlvbiBldCAiCisic29udCBhZmZlY3TDqXMsXG4iCiAiICAgIGRhbnMgbCdvcmRyZSwgw6AgJDEsICQyLCAuLiAkbi4gIFNpIGF1Y3VuIEFSRyBuJ2VzdCBkb25uw6ksIHRvdXRlcyBsZXMgIgogInZhcmlhYmxlcyBkdSBzaGVsbFxuIgogIiAgICBzb250IGFmZmljaMOpZXMuIgogCi0jOiBidWlsdGlucy5jOjExMDEKKyM6IGJ1aWx0aW5zLmM6MTEwNAogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzU2NSw3ICszNjYyLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIE5BTUUgaXMgcmVhZC1vbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMjEKKyM6IGJ1aWx0aW5zLmM6MTEyNAogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTM1ODQsNyArMzY4MSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNDAKKyM6IGJ1aWx0aW5zLmM6MTE0MwogbXNnaWQgIiIKICJNYXJrIHNoZWxsIHZhcmlhYmxlcyBhcyB1bmNoYW5nZWFibGUuXG4iCiAiICAgIFxuIgpAQCAtMzYwNCw3ICszNzAxLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE2MQorIzogYnVpbHRpbnMuYzoxMTY0CiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zNjE1LDcgKzM3MTIsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE4gaXMgbmVnYXRpdmUgb3IgZ3JlYXRlciB0aGFuICQjLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNzMgYnVpbHRpbnMuYzoxMTg4CisjOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZyb20gYSBmaWxlIGluIHRoZSBjdXJyZW50IHNoZWxsLlxuIgpAQCAtMzYzNiw3ICszNzMzLDcgQEAKICJwb3NpdGlvblxuIgogIiAgICBsb3JzcXVlIEZJTEVOQU1FIGVzdCBleMOpY3V0w6kuIgogCi0jOiBidWlsdGlucy5jOjEyMDQKKyM6IGJ1aWx0aW5zLmM6MTIwNwogbXNnaWQgIiIKICJTdXNwZW5kIHNoZWxsIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNjUwLDcgKzM3NDcsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjIwCisjOiBidWlsdGlucy5jOjEyMjMKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCkBAIC0zNzk4LDcgKzM4OTUsNyBAQAogIiAgICBub24tw6lnYWwsIGluZsOpcmlldXIsIGluZsOpcmlldXIgb3Ugw6lnYWwsIHN1cMOpcmlldXIsIHN1cMOpcmlldXIgb3Ugw6lnYWwgw6AgIgogIkFSRzIuIgogCi0jOiBidWlsdGlucy5jOjEyOTYKKyM6IGJ1aWx0aW5zLmM6MTI5OQogIywgZnV6enkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKQEAgLTM4MDksNyArMzkwNiw3IEBACiAiQ2VjaSBlc3QgdW4gc3lub255bWUgZGUgbGEgcHJpbWl0aXZlIMKrIHRlc3QgwrssIG1haXMgbGUgZGVybmllciBhcmd1bWVudFxuIgogIiAgICBkb2l0IMOqdHJlIGxlIGNhcmFjdMOocmUgwqsgXSDCuywgcG91ciBmZXJtZXIgbGUgwqsgWyDCuyBjb3JyZXNwb25kYW50LiIKIAotIzogYnVpbHRpbnMuYzoxMzA1CisjOiBidWlsdGlucy5jOjEzMDgKIG1zZ2lkICIiCiAiRGlzcGxheSBwcm9jZXNzIHRpbWVzLlxuIgogIiAgICBcbiIKQEAgLTM4MjEsNyArMzkxOCw3IEBACiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzE3CisjOiBidWlsdGlucy5jOjEzMjAKICMsIGZ1enp5CiBtc2dpZCAiIgogIlRyYXAgc2lnbmFscyBhbmQgb3RoZXIgZXZlbnRzLlxuIgpAQCAtMzg2NiwxMCArMzk2MywxMiBAQAogIlNJR05BTF9TUEVDXG4iCiAiICAgIGVzdCBFWElUICgwKSwgbGEgY29tbWFuZGUgQVJHIGVzdCBleMOpY3V0w6llIMOgIGxhIHNvcnRpZSBkdSBzaGVsbC4gU2kgdW5cbiIKICIgICAgU0lHTkFMX1NQRUMgZXN0IERFQlVHLCBBUkcgZXN0IGV4w6ljdXTDqSBhcHLDqHMgY2hhcXVlIGNvbW1hbmRlIHNpbXBsZS4gXG4iCi0iICAgIFNpIGwnb3B0aW9uIMKrIC1wIMK7IGVzdCBmb3VybmllLCBsZXMgY29tbWFuZGVzIGQnaW50ZXJjZXB0aW9uIGFzc29jacOpZXMgw6BcbiIKKyIgICAgU2kgbCdvcHRpb24gwqsgLXAgwrsgZXN0IGZvdXJuaWUsIGxlcyBjb21tYW5kZXMgZCdpbnRlcmNlcHRpb24gYXNzb2Npw6llcyAiCisiw6BcbiIKICIgICAgY2hhcXVlIFNJR05BTF9TUEVDIHNvbnQgYWZmaWNow6llcy4gU2kgYXVjdW4gYXJndW1lbnQgbidlc3QgZm91cm5pIG91ICIKICJzaSBcbiIKLSIgICAgwqsgLXAgwrsgZXN0IGZvdXJuaSBzZXVsLCDCqyB0cmFwIMK7IGFmZmljaGUgbGEgbGlzdGUgZGVzIGNvbW1hbmRlcyBhc3NvY2nDqWVzXG4iCisiICAgIMKrIC1wIMK7IGVzdCBmb3Vybmkgc2V1bCwgwqsgdHJhcCDCuyBhZmZpY2hlIGxhIGxpc3RlIGRlcyBjb21tYW5kZXMgIgorImFzc29jacOpZXNcbiIKICIgICAgw6AgY2hhcXVlIHNpZ25hbC4gQ2hhcXVlIFNJR05BTF9TUEVDIGVzdCBzb2l0IHVuIG5vbSBkZSBzaWduYWwgZGFucyAiCiAiPHNpZ25hbC5oPlxuIgogIiAgICBvdSB1biBudW3DqXJvIGRlIHNpZ25hbC4gTGVzIG5vbXMgZGUgc2lnbmF1eCBzb250IGluc2Vuc2libGVzIMOgIGxhIGNhc3NlICIKQEAgLTM4ODAsNyArMzk3OSw3IEBACiAiYXVcbiIKICIgICAgc2hlbGwgYXZlYyDCqyBraWxsIC1zaWduYWwgJCQgwrsuIgogCi0jOiBidWlsdGlucy5jOjEzNDkKKyM6IGJ1aWx0aW5zLmM6MTM1MgogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmQgdHlwZS5cbiIKICIgICAgXG4iCkBAIC0zOTEwLDcgKzQwMDksNyBAQAogImZvdW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzODAKKyM6IGJ1aWx0aW5zLmM6MTM4MwogIywgZnV6enkKIG1zZ2lkICIiCiAiTW9kaWZ5IHNoZWxsIHJlc291cmNlIGxpbWl0cy5cbiIKQEAgLTM5ODksMTAgKzQwODgsMTEgQEAKICJhZmZpY2jDqWVcbiIKICIgICAgU2kgYXVjdW5lIG9wdGlvbiBuJ2VzdCBkb25uw6llLCDCqyAtZiDCuyBlc3Qgc3VwcG9zw6llLiBMZXMgdmFsZXVycyBzb250XG4iCiAiICAgIGRlcyBtdWx0aXBsZXMgZGUgMTAyNCBvY3RldHMsIHNhdWYgcG91ciDCqyAtdCDCuyBxdWkgcHJlbmQgZGVzIHNlY29uZGVzLFxuIgotIiAgICDCqyAtcCDCuyBxdWkgcHJlbmQgdW4gbXVsdGlwbGUgZGUgNTEyIG9jdGV0cyBldCDCqyAtdSDCuyBxdWkgcHJlbmQgdW4gbm9tYnJlXG4iCisiICAgIMKrIC1wIMK7IHF1aSBwcmVuZCB1biBtdWx0aXBsZSBkZSA1MTIgb2N0ZXRzIGV0IMKrIC11IMK7IHF1aSBwcmVuZCB1biAiCisibm9tYnJlXG4iCiAiICAgIHNhbnMgdW5pdMOpLiIKIAotIzogYnVpbHRpbnMuYzoxNDI1CisjOiBidWlsdGlucy5jOjE0MjgKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCiAiICAgIFxuIgpAQCAtNDAxMCw3ICs0MTEwLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBNT0RFIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ0NQorIzogYnVpbHRpbnMuYzoxNDQ4CiBtc2dpZCAiIgogIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtNDAyNyw3ICs0MTI3LDcgQEAKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ2MworIzogYnVpbHRpbnMuYzoxNDY2CiAjLCBmdXp6eQogbXNnaWQgIiIKICJXYWl0IGZvciBwcm9jZXNzIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKQEAgLTQwNDcsNyArNDE0Nyw3IEBACiAiICAgIHNww6ljaWZpY2F0ZXVyIGRlIHTDomNoZS4gU2kgYydlc3QgdW4gc3DDqWNpZmljYXRldXIgZGUgdMOiY2hlLCB0b3VzIGxlc1xuIgogIiAgICBwcm9jZXNzdXMgcHLDqXNlbnRzIGRhbnMgbGUgdHViZSBkZSBsYSB0w6JjaGUgc29udCBhdHRlbmR1cy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ3OAorIzogYnVpbHRpbnMuYzoxNDgxCiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhIGxpc3QuXG4iCkBAIC00MDYxLDExICs0MTYxLDEyIEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogIkxhIGJvdWNsZSDCqyBmb3IgwrsgZXjDqWN1dGUgdW5lIHN1aXRlIGRlIGNvbW1hbmRlcyBwb3VyIGNoYXF1ZSBtZW1icmUgZCd1bmVcbiIKLSIgICBsaXN0ZSBkJ8OpbMOpbWVudHMuIFNpIMKrIGluIFdPUkRTIC4uLjsgwrsgbidlc3QgcGFzIGZvdXJuaSwgwqsgaW4gXCIkQFwiIMK7IGVzdFxuIgorIiAgIGxpc3RlIGQnw6lsw6ltZW50cy4gU2kgwqsgaW4gV09SRFMgLi4uOyDCuyBuJ2VzdCBwYXMgZm91cm5pLCDCqyBpbiBcIiRAXCIgwrsgIgorImVzdFxuIgogIiAgICB1dGlsaXPDqS4gUG91ciBjaGFxdWUgw6lsw6ltZW50IGRhbnMgV09SRFMsIE5BTUUgZXN0IGTDqWZpbmkgw6AgY2V0IMOpbMOpbWVudCxcbiIKICIgICAgZXQgbGVzIENPTU1BTkRTIHNvbnQgZXjDqWN1dMOpZXMuIgogCi0jOiBidWlsdGlucy5jOjE0OTIKKyM6IGJ1aWx0aW5zLmM6MTQ5NQogIywgZnV6enkKIG1zZ2lkICIiCiAiQXJpdGhtZXRpYyBmb3IgbG9vcC5cbiIKQEAgLTQwOTIsNyArNDE5Myw3IEBACiAiZXhwcmVzc2lvblxuIgogIiAgICBvbWlzZSwgZWxsZSBzZSBjb21wb3J0ZSBjb21tZSBzaSBlbGxlIHMnw6l2YWx1YWl0IMOgIDEuIgogCi0jOiBidWlsdGlucy5jOjE1MTAKKyM6IGJ1aWx0aW5zLmM6MTUxMwogIywgZnV6enkKIG1zZ2lkICIiCiAiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgpAQCAtNDEyNCw3ICs0MjI1LDcgQEAKICIgICAgTGVzIENPTU1BTkRTIHNvbnQgZXjDqWN1dMOpZXMgYXByw6hzIGNoYXF1ZSBzw6lsZWN0aW9uIGp1c3F1J8OgIGNlIHF1J3VuZVxuIgogIiAgICBjb21tYW5kZSDCqyBicmVhayDCuyBzb2l0IGV4w6ljdXTDqWUuIgogCi0jOiBidWlsdGlucy5jOjE1MzEKKyM6IGJ1aWx0aW5zLmM6MTUzNAogIywgZnV6enkKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCkBAIC00MTQ2LDcgKzQyNDcsNyBAQAogIiAgICBMJ29wdGlvbiDCqyAtcCDCuyBhZmZpY2hlIGxlIHLDqXN1bcOpIGRhbnMgdW4gZm9ybWF0IGzDqWfDqHJlbWVudCBkaWZmw6lyZW50LlxuIgogIiAgICBFbGxlIHV0aWxpc2UgbGEgdmFsZXVyIGRlIGxhIHZhcmlhYmxlIFRJTUVGT1JNQVQgY29tbWUgZm9ybWF0IGRlIHNvcnRpZS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU0OAorIzogYnVpbHRpbnMuYzoxNTUxCiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIHBhdHRlcm4gbWF0Y2hpbmcuXG4iCkBAIC00MTYxLDcgKzQyNjIsNyBAQAogIiAgICBtb3RpZiBQQVRURVJOIGRlIGNvcnJlc3BvbmRhbmNlIGRlcyBtb3RzIFdPUkRTLiBMZSBjYXJhY3TDqHJlXG4iCiAiICAgIMKrIHwgwrsgZXN0IHV0aWxpc8OpIHBvdXIgc8OpcGFyZXIgbGVzIGRpZmbDqXJlbnRzIG1vdGlmcy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU2MAorIzogYnVpbHRpbnMuYzoxNTYzCiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIGNvbmRpdGlvbmFsLlxuIgpAQCAtNDE4NywxNSArNDI4OCwxNSBAQAogIiAgICBhbG9ycyBsYSBsaXN0ZSDCqyB0aGVuIENPTU1BTkRTIMK7IGVzdCBleMOpY3V0w6llLiBTaW5vbiwgY2hhcXVlIGxpc3RlXG4iCiAiICAgIMKrIGVsaWYgQ09NTUFORFMgwrsgZXN0IGV4w6ljdXTDqWUgw6Agc29uIHRvdXIgZXQgc2kgc29uIGNvZGUgZGUgcmV0b3VyIGVzdCAiCiAiesOpcm8sXG4iCi0iICAgIGxhIGxpc3RlIMKrIHRoZW4gQ09NTUFORFMgwrsgY29ycmVzcG9uZGFudGUgZXN0IGV4w6ljdXTDqWUgZXQgbGEgY29tbWFuZGUgwqsgaWYgIgotIsK7XG4iCisiICAgIGxhIGxpc3RlIMKrIHRoZW4gQ09NTUFORFMgwrsgY29ycmVzcG9uZGFudGUgZXN0IGV4w6ljdXTDqWUgZXQgbGEgY29tbWFuZGUgwqsgIgorImlmIMK7XG4iCiAiICAgIHNlIHRlcm1pbmUuIFNpbm9uLCBsYSBsaXN0IMKrIGVsc2UgQ09NTUFORFMgwrsgZXN0IGV4w6ljdXTDqWUgc2kgZWxsZSAiCiAiZXhpc3RlLlxuIgogIiAgICBMZSBjb2RlIGRlIHJldG91ciBkZSBsJ2Vuc2VtYmxlIGVzdCBjZWx1aSBkZSBsYSBkZXJuacOocmUgY29tbWFuZGUgIgogImV4w6ljdXTDqWVcbiIKICIgICAgb3UgesOpcm8gc2kgYXVjdW5lIGNvbmRpdGlvbiBuJ8OpdGFpdCB2cmFpZS4gICAgIgogCi0jOiBidWlsdGlucy5jOjE1NzcKKyM6IGJ1aWx0aW5zLmM6MTU4MAogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKQEAgLTQyMDYsMTEgKzQzMDcsMTIgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgotIkVmZmVjdHVlIHVuZSBleHBhbnNpb24gZXQgZXjDqWN1dGUgbGVzIGNvbW1hbmRlcyDCqyBDT01NQU5EUyDCuyBhdXNzaSBsb25ndGVtcHNcbiIKKyJFZmZlY3R1ZSB1bmUgZXhwYW5zaW9uIGV0IGV4w6ljdXRlIGxlcyBjb21tYW5kZXMgwqsgQ09NTUFORFMgwrsgYXVzc2kgIgorImxvbmd0ZW1wc1xuIgogIiAgICBxdWUgbGEgY29tbWFuZGUgZmluYWxlIHBhcm1pIGNlbGxlcyBkZSDCqyB3aGlsZSDCuyBzZSB0ZXJtaW5lIGF2ZWMgdW5cbiIKICIgICAgY29kZSBkZSByZXRvdXIgZGUgesOpcm8uIgogCi0jOiBidWlsdGlucy5jOjE1ODkKKyM6IGJ1aWx0aW5zLmM6MTU5MgogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLlxuIgpAQCAtNDIyMSwxMSArNDMyMywxMiBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCi0iRWZmZWN0dWUgdW5lIGV4cGFuc2lvbiBldCBleMOpY3V0ZSBsZXMgY29tbWFuZGVzIMKrIENPTU1BTkRTIMK7IGF1c3NpIGxvbmd0ZW1wc1xuIgorIkVmZmVjdHVlIHVuZSBleHBhbnNpb24gZXQgZXjDqWN1dGUgbGVzIGNvbW1hbmRlcyDCqyBDT01NQU5EUyDCuyBhdXNzaSAiCisibG9uZ3RlbXBzXG4iCiAiICAgIHF1ZSBsZXMgY29tbWFuZGVzIGRlIMKrIHVudGlsIMK7IHNlIHRlcm1pbmVudCBhdmVjIHVuIGNvZGUgZGUgcmV0b3VyXG4iCiAiICAgIGRpZmbDqXJlbnQgZGUgesOpcm8uIgogCi0jOiBidWlsdGlucy5jOjE2MDEKKyM6IGJ1aWx0aW5zLmM6MTYwNAogbXNnaWQgIiIKICJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKICIgICAgXG4iCkBAIC00MjM4LDcgKzQzNDEsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MTUKKyM6IGJ1aWx0aW5zLmM6MTYxOAogbXNnaWQgIiIKICJEZWZpbmUgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtNDI1Miw3ICs0MzU1LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIHJlYWRvbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MjkKKyM6IGJ1aWx0aW5zLmM6MTYzMgogIywgZnV6enkKIG1zZ2lkICIiCiAiR3JvdXAgY29tbWFuZHMgYXMgYSB1bml0LlxuIgpAQCAtNDI2Niw3ICs0MzY5LDcgQEAKICJMYW5jZSB1biBlbnNlbWJsZSBkZSBjb21tYW5kZXMgZCd1biBncm91cGUuIENlY2kgZXN0IHVuZSBmYcOnb24gZGVcbiIKICIgICAgcmVkaXJpZ2VyIHRvdXQgdW4gZW5zZW1ibGUgZGUgY29tbWFuZGVzLiIKIAotIzogYnVpbHRpbnMuYzoxNjQxCisjOiBidWlsdGlucy5jOjE2NDQKICMsIGZ1enp5CiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKQEAgLTQyODIsMTIgKzQzODUsMTMgQEAKIG1zZ3N0ciAiIgogIsOJcXVpdmFsZW50IMOgIGwnYXJndW1lbnQgSk9CX1NQRUMgZGUgbGEgY29tbWFuZGUgwqsgZmcgwrsuIFJlcHJlbmQgbCdleMOpY3V0aW9uXG4iCiAiICAgIGQndW5lIHTDomNoZSBzdG9wcMOpZSBvdSBlbiB0w6JjaGUgZGUgZm9uZC4gSk9CX1NQRUMgcGV1dCBzcMOpY2lmaWVyIHNvaXRcbiIKLSIgICAgdW4gbm9tIHNvaXQgdW4gbnVtw6lybyBkZSB0w6JjaGUuIEZhaXJlIHN1aXZyZSBKT0JfU1BFQyBkZSDCqyAmIMK7IHBlcm1ldCBkZVxuIgorIiAgICB1biBub20gc29pdCB1biBudW3DqXJvIGRlIHTDomNoZS4gRmFpcmUgc3VpdnJlIEpPQl9TUEVDIGRlIMKrICYgwrsgcGVybWV0ICIKKyJkZVxuIgogIiAgICBwbGFjZXIgbGEgdMOiY2hlIGVuIGFycmnDqHJlIHBsYW4sIGNvbW1lIHNpIGxhIHNww6ljaWZpY2F0aW9uIGRlIHTDomNoZSAiCiAiYXZhaXRcbiIKICIgICAgw6l0w6kgZm91cm5pZSBjb21tZSBhcmd1bWVudCBkZSDCqyBiZyDCuy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY1NgorIzogYnVpbHRpbnMuYzoxNjU5CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb24uXG4iCkBAIC00MzAxLDcgKzQ0MDUsNyBAQAogIkwnRVhQUkVTU0lPTiBlc3Qgw6l2YWx1w6llIHNlbG9uIGxlcyByw6hnbGVzIGRlIGwnw6l2YWx1YXRpb24gYXJpdGhtw6l0aXF1ZS5cbiIKICIgICAgQydlc3Qgw6lxdWl2YWxlbnQgw6AgwqsgbGV0IEVYUFJFU1NJT04gwrsuIgogCi0jOiBidWlsdGlucy5jOjE2NjgKKyM6IGJ1aWx0aW5zLmM6MTY3MQogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb25kaXRpb25hbCBjb21tYW5kLlxuIgpAQCAtNDM0Nyw3ICs0NDUxLDcgQEAKICIgICAgZXN0IGVmZmVjdHXDqWUuIExlcyBvcMOpcmF0ZXVycyDCqyAmJiDCuyBldCDCqyB8fCDCuyBuJ8OpdmFsdWVudCBwYXMgRVhQUjIgc2lcbiIKICIgICAgRVhQUjEgZXN0IHN1ZmZpc2FudCBwb3VyIGTDqXRlcm1pbmVyIGxhIHZhbGV1ciBkZSBsJ2V4cHJlc3Npb24uIgogCi0jOiBidWlsdGlucy5jOjE2OTQKKyM6IGJ1aWx0aW5zLmM6MTY5NwogIywgZnV6enkKIG1zZ2lkICIiCiAiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKQEAgLTQ0MTYsOCArNDUyMCw4IEBACiAiICAgIEhPU1ROQU1FXHRMZSBub20gZGUgbGEgbWFjaGluZSBhY3R1ZWxsZS5cbiIKICIgICAgSE9TVFRZUEVcdExlIHR5cGUgZGUgcHJvY2Vzc2V1ciBzdXIgbGFxdWVsbGUgY2V0dGUgdmVyc2lvbiBkZSBCYXNoICIKICJmb25jdGlvbm5lLlxuIgotIiAgICBJR05PUkVFT0ZcdENvbnRyw7RsZSBsJ2FjdGlvbiBkdSBzaGVsbCDDoCBsYSByw6ljZXB0aW9uIGQndW4gY2FyYWN0w6hyZSDCqyBFT0YgIgotIsK7XG4iCisiICAgIElHTk9SRUVPRlx0Q29udHLDtGxlIGwnYWN0aW9uIGR1IHNoZWxsIMOgIGxhIHLDqWNlcHRpb24gZCd1biBjYXJhY3TDqHJlIMKrICIKKyJFT0YgwrtcbiIKICIgICAgXHRcdGNvbW1lIHNldWxlIGVudHLDqWUuIFNpIGTDqWZpbmksIHNhIHZhbGV1ciBlc3QgbGUgbm9tYnJlIGRlICIKICJjYXJhY3TDqHJlc1xuIgogIiAgICBcdFx0wqsgRU9GIMK7IHF1aSBwZXV2ZW50IMOqdHJlIHJlbmNvbnRyw6lzIMOgIGxhIHN1aXRlIHN1ciB1bmUgbGlnbmUgdmlkZVxuIgpAQCAtNDQ3MCw3ICs0NTc0LDcgQEAKICIgICAgXHRcdGTDqWNpZGVyIHF1ZWxsZXMgY29tbWFuZGVzIGRvaXZlbnQgw6p0cmUgY29uc2VydsOpZXMgZGFucyBsYSBsaXN0ZSAiCiAiZCdoaXN0b3JpcXVlLlxuIgogCi0jOiBidWlsdGlucy5jOjE3NTEKKyM6IGJ1aWx0aW5zLmM6MTc1NAogIywgZnV6enkKIG1zZ2lkICIiCiAiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgpAQCAtNDUwNywxMCArNDYxMSwxMiBAQAogIiAgICByw6lwZXJ0b2lyZXMgZW4gaGF1dCBkZSBsYSBwaWxlIHNvbnQgw6ljaGFuZ8Opcy5cbiIKICIgICAgXG4iCiAiICAgICtOXHRQZXJtdXRlIGxhIHBpbGUgZGUgZmHDp29uIHF1ZSBsZSBOacOobWUgcsOpcGVydG9pcmUgc2UgcGxhY2UgZW4gaGF1dCxcbiIKLSIgICAgXHRlbiBjb21wdGFudCBkZSB6w6lybyBkZXB1aXMgbGEgZ2F1Y2hlIGRlIGxhIGxpc3RlIGZvdXJuaWUgcGFyIMKrIGRpcnMgwrsuXG4iCisiICAgIFx0ZW4gY29tcHRhbnQgZGUgesOpcm8gZGVwdWlzIGxhIGdhdWNoZSBkZSBsYSBsaXN0ZSBmb3VybmllIHBhciDCqyBkaXJzICIKKyLCuy5cbiIKICIgICAgXG4iCiAiICAgIC1OXHRQZXJtdXRlIGxhIHBpbGUgZGUgZmHDp29uIHF1ZSBsZSBOacOobWUgcsOpcGVydG9pcmUgc2UgcGxhY2UgZW4gaGF1dCxcbiIKLSIgICAgXHRlbiBjb21wdGFudCBkZSB6w6lybyBkZXB1aXMgbGEgZHJvaXRlIGRlIGxhIGxpc3RlIGZvdXJuaWUgcGFyIMKrIGRpcnMgwrsuXG4iCisiICAgIFx0ZW4gY29tcHRhbnQgZGUgesOpcm8gZGVwdWlzIGxhIGRyb2l0ZSBkZSBsYSBsaXN0ZSBmb3VybmllIHBhciDCqyBkaXJzICIKKyLCuy5cbiIKICIgICAgXG4iCiAiICAgIC1uXHRuZSBjaGFuZ2UgcGFzIGRlIHLDqXBlcnRvaXJlIGRlIHRyYXZhaWwgbG9yc3F1ZSBkZXMgcsOpcGVydG9pcmVzXG4iCiAiICAgIFx0c29udCBham91dMOpcyDDoCBsYSBwaWxlLCBkZSBmYcOnb24gcXVlIHNldWxlIGxhIHBpbGUgc29pdCBtYW5pcHVsw6llXG4iCkBAIC00NTIwLDcgKzQ2MjYsNyBAQAogIiAgICBcbiIKICIgICAgVm91cyBwb3V2ZXogdm9pciBsYSBwaWxlIGRlcyByw6lwZXJ0b2lyZXMgYXZlYyBsYSBjb21tYW5kZSDCqyBkaXJzIMK7LiIKIAotIzogYnVpbHRpbnMuYzoxNzg1CisjOiBidWlsdGlucy5jOjE3ODgKICMsIGZ1enp5CiBtc2dpZCAiIgogIlJlbW92ZSBkaXJlY3RvcmllcyBmcm9tIHN0YWNrLlxuIgpAQCAtNDU2NCw3ICs0NjcwLDcgQEAKICIgICAgXG4iCiAiICAgIFZvdXMgcG91dmV6IHZvaXIgbGEgcGlsZSBkZXMgcsOpcGVydG9pcmVzIGF2ZWMgbGEgY29tbWFuZGUgwqsgZGlycyDCuy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTgxNQorIzogYnVpbHRpbnMuYzoxODE4CiAjLCBmdXp6eQogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKQEAgLTQ2MDIsMTEgKzQ3MDgsMTMgQEAKICIgICAgcmFjY291cmNpZXMgZGVzIHLDqXBlcnRvaXJlcyByZWxhdGl2ZW1lbnQgw6Agdm90cmUgcsOpcGVydG9pcmUgcGVyc29ubmVsLlxuIgogIiAgICBDZWxhIHNpZ25pZmllIHF1ZSDCqyB+L2JpbiDCuyBkZXZyYWl0IMOqdHJlIGFmZmljaMOpIGNvbW1lIMKrIC9ob21lcy9iZm94L2JpbiAiCiAiwrsuXG4iCi0iICAgIEwnb3B0aW9uIMKrIC12IMK7IHBlcm1ldCDDoCDCqyBkaXJzIMK7IGQnYWZmaWNoZXIgbGEgcGlsZSBkZXMgcsOpcGVydG9pcmVzIGF2ZWNcbiIKKyIgICAgTCdvcHRpb24gwqsgLXYgwrsgcGVybWV0IMOgIMKrIGRpcnMgwrsgZCdhZmZpY2hlciBsYSBwaWxlIGRlcyByw6lwZXJ0b2lyZXMgIgorImF2ZWNcbiIKICIgICAgdW4gw6lsw6ltZW50IHBhciBsaWduZSwgZW4gY29tbWVuw6dhbnQgbGEgbGlnbmUgcGFyIGxhIHBvc2l0aW9uIGRhbnMgbGEgIgogInBpbGUuXG4iCiAiICAgIEwnb3B0aW9uIMKrIC1wIMK7IGZhaXQgbGEgbcOqbWUgY2hvc2UgbWFpcyBsZSBudW3DqXJvIGRlIHBvc2l0aW9uIG4nZXN0IHBhc1xuIgotIiAgICBhZmZpY2jDqS4gTCdvcHRpb24gwqsgLWMgwrsgZWZmYWNlIGxhIHBpbGUgZGVzIHLDqXBlcnRvaXJlcyBlbiBlbmxldmFudCB0b3VzXG4iCisiICAgIGFmZmljaMOpLiBMJ29wdGlvbiDCqyAtYyDCuyBlZmZhY2UgbGEgcGlsZSBkZXMgcsOpcGVydG9pcmVzIGVuIGVubGV2YW50ICIKKyJ0b3VzXG4iCiAiICAgIGxlcyDDqWzDqW1lbnRzLlxuIgogIiAgICBcbiIKICIgICAgK05cdCBhZmZpY2hlIGxlIE5pw6htZSDDqWzDqW1lbnQgZW4gY29tcHRhbnQgZGUgesOpcm8gZGVwdWlzIGxhIGdhdWNoZSBkZSAiCkBAIC00NjE3LDcgKzQ3MjUsNyBAQAogImxhXG4iCiAiICAgIGxpc3RlIGFmZmljaMOpZSBwYXIgwqsgZGlycyDCuyBsb3JzcXVlIGNlbGxlLWNpIGVzdCBhcHBlbMOpZSBzYW5zIG9wdGlvbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg0NAorIzogYnVpbHRpbnMuYzoxODQ3CiBtc2dpZCAiIgogIlNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC00NjM4LDcgKzQ3NDYsNyBAQAogIiAgICBnaXZlbiBvciBPUFROQU1FIGlzIGRpc2FibGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4NjUKKyM6IGJ1aWx0aW5zLmM6MTg2OAogIywgZnV6enkKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCkBAIC00Njg4LDcgKzQ3OTYsNyBAQAogInBsYWPDqWUgZGFuc1xuIgogIiAgICBsYSB2YXJpYWJsZSBWQVIgcGx1dMO0dCBxdWUgZCfDqnRyZSBlbnZvecOpZSB2ZXJzIGxhIHNvcnRpZSBzdGFuZGFyZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg5MgorIzogYnVpbHRpbnMuYzoxODk1CiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTQ3MDIsMTUgKzQ4MTAsMjAgQEAKICIgICAgICAtcFx0cHJpbnQgZXhpc3RpbmcgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9ucyBpbiBhIHJldXNhYmxlIGZvcm1hdFxuIgogIiAgICAgIC1yXHRyZW1vdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZm9yIGVhY2ggTkFNRSwgb3IsIGlmIG5vXG4iCiAiICAgIFx0TkFNRXMgYXJlIHN1cHBsaWVkLCBhbGwgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uc1xuIgorIiAgICAgIC1EXHRhcHBseSB0aGUgY29tcGxldGlvbnMgYW5kIGFjdGlvbnMgYXMgdGhlIGRlZmF1bHQgZm9yIGNvbW1hbmRzXG4iCisiICAgIFx0d2l0aG91dCBhbnkgc3BlY2lmaWMgY29tcGxldGlvbiBkZWZpbmVkXG4iCisiICAgICAgLUVcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyB0byBcImVtcHR5XCIgY29tbWFuZHMgLS1cbiIKKyIgICAgXHRjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhIGJsYW5rIGxpbmVcbiIKICIgICAgXG4iCiAiICAgIFdoZW4gY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQsIHRoZSBhY3Rpb25zIGFyZSBhcHBsaWVkIGluIHRoZSBvcmRlciB0aGVcbiIKLSIgICAgdXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuXG4iCisiICAgIHVwcGVyY2FzZS1sZXR0ZXIgb3B0aW9ucyBhcmUgbGlzdGVkIGFib3ZlLiAgVGhlIC1EIG9wdGlvbiB0YWtlc1xuIgorIiAgICBwcmVjZWRlbmNlIG92ZXIgLUUuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTkxNQorIzogYnVpbHRpbnMuYzoxOTIzCiAjLCBmdXp6eQogbXNnaWQgIiIKICJEaXNwbGF5IHBvc3NpYmxlIGNvbXBsZXRpb25zIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucy5cbiIKQEAgLTQ3MzEsNyArNDg0NCw3IEBACiAiwrtcbiIKICIgICAgc29udCBnw6luw6lyw6llcy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkzMAorIzogYnVpbHRpbnMuYzoxOTM4CiBtc2dpZCAiIgogIk1vZGlmeSBvciBkaXNwbGF5IGNvbXBsZXRpb24gb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC00NzQ0LDYgKzQ4NTcsOCBAQAogIiAgICBcbiIKICIgICAgT3B0aW9uczpcbiIKICIgICAgXHQtbyBvcHRpb25cdFNldCBjb21wbGV0aW9uIG9wdGlvbiBPUFRJT04gZm9yIGVhY2ggTkFNRVxuIgorIiAgICBcdC1EXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJkZWZhdWx0XCIgY29tbWFuZCBjb21wbGV0aW9uXG4iCisiICAgIFx0LUVcdFx0Q2hhbmdlIG9wdGlvbnMgZm9yIHRoZSBcImVtcHR5XCIgY29tbWFuZCBjb21wbGV0aW9uXG4iCiAiICAgIFxuIgogIiAgICBVc2luZyBgK28nIGluc3RlYWQgb2YgYC1vJyB0dXJucyBvZmYgdGhlIHNwZWNpZmllZCBvcHRpb24uXG4iCiAiICAgIFxuIgpAQCAtNDc2MCwxNSArNDg3NSwxNSBAQAogIiAgICBoYXZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGRlZmluZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTk1OAorIzogYnVpbHRpbnMuYzoxOTY4CiBtc2dpZCAiIgotIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKKyJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCi0iICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgYXJyYXkgdmFyaWFibGUgQVJSQVksIG9yICIKLSJmcm9tXG4iCi0iICAgIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlIE1BUEZJTEUgIgotImlzXG4iCi0iICAgIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgorIiAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUgIgorIkFSUkFZLCBvclxuIgorIiAgICBmcm9tIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlICIKKyJNQVBGSUxFXG4iCisiICAgIGlzIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgogIiAgICBcbiIKICIgICAgT3B0aW9uczpcbiIKICIgICAgICAtbiBjb3VudFx0Q29weSBhdCBtb3N0IENPVU5UIGxpbmVzLiAgSWYgQ09VTlQgaXMgMCwgYWxsIGxpbmVzIGFyZSAiCkBAIC00Nzk1LDE2ICs0OTEwLDI4IEBACiAiICAgIGFzc2lnbmluZyB0byBpdC5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIEFSUkFZIGlzIHJlYWRvbmx5LiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBBUlJBWSBpcyByZWFkb25seSAiCisib3JcbiIKKyIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTk5MAorIzogYnVpbHRpbnMuYzoyMDAxCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCiAiICAgIEEgc3lub255bSBmb3IgYG1hcGZpbGUnLiIKIG1zZ3N0ciAiIgogCisjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjfiBtc2dzdHIgInhyZWFsbG9jIDogaW1wb3NzaWJsZSBkZSByw6lhbGxvdWVyICVsdSBvY3RldHMgKCVsdSBvY3RldHMgYWxsb3XDqXMpIgorCisjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCisjfiBtc2dzdHIgInhyZWFsbG9jIDogaW1wb3NzaWJsZSBkJ2FsbG91ZXIgJWx1IG9jdGV0cyIKKworI34gbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyN+IG1zZ3N0ciAiIgorI34gInhyZWFsbG9jIDogJXM6JWQgOiBpbXBvc3NpYmxlIGRlIHLDqWFsbG91ZXIgJWx1IG9jdGV0cyAoJWx1IG9jdGV0cyBhbGxvdcOpcykiCisKICN+IG1zZ2lkICIgIgogI34gbXNnc3RyICIgIgogCkBAIC00ODU3LDggKzQ5ODQsOCBAQAogCiAjfiBtc2dpZCAidGhhdCBgfi9iaW4nIG1pZ2h0IGJlIGRpc3BsYXllZCBhcyBgL2hvbWVzL2Jmb3gvYmluJy4gIFRoZSAtdiBmbGFnIgogI34gbXNnc3RyICIiCi0jfiAibGUgcsOpcGVydG9pcmUgwqsgfi9iaW4gwrsgcG91cnJhIMOqdHJlIGFmZmljaMOpIMKrIC9ob21lcy9iZm94L2JpbiDCuy4gTCdvcHRpb24gwqsgLSIKLSN+ICJ2IMK7IgorI34gImxlIHLDqXBlcnRvaXJlIMKrIH4vYmluIMK7IHBvdXJyYSDDqnRyZSBhZmZpY2jDqSDCqyAvaG9tZXMvYmZveC9iaW4gwrsuIEwnb3B0aW9uICIKKyN+ICLCqyAtdiDCuyIKIAogI34gbXNnaWQgImNhdXNlcyBgZGlycycgdG8gcHJpbnQgdGhlIGRpcmVjdG9yeSBzdGFjayB3aXRoIG9uZSBlbnRyeSBwZXIgbGluZSwiCiAjfiBtc2dzdHIgImRlbWFuZGUgw6AgwqsgZGlycyDCuyBkJ2FmZmljaGVyIHVuIHLDqXBlcnRvaXJlIGRlIGxhIHBpbGUgcGFyIGxpZ25lLCIKQEAgLTQ4NjYsOCArNDk5Myw4IEBACiAjfiBtc2dpZCAiIgogI34gInByZXBlbmRpbmcgdGhlIGRpcmVjdG9yeSBuYW1lIHdpdGggaXRzIHBvc2l0aW9uIGluIHRoZSBzdGFjay4gIFRoZSAtcCIKICN+IG1zZ3N0ciAiIgotI34gImVuIGxlIHByw6ljw6lkYW50IGRlIHNhIHBvc2l0aW9uIGRhbnMgbGEgcGlsZS4gIEwnb3B0aW9uIMKrIC1wIMK7IGZhaXQgbGEgbcOqbWUgIgotI34gImNob3NlIgorI34gImVuIGxlIHByw6ljw6lkYW50IGRlIHNhIHBvc2l0aW9uIGRhbnMgbGEgcGlsZS4gIEwnb3B0aW9uIMKrIC1wIMK7IGZhaXQgbGEgIgorI34gIm3Dqm1lIGNob3NlIgogCiAjfiBtc2dpZCAiZmxhZyBkb2VzIHRoZSBzYW1lIHRoaW5nLCBidXQgdGhlIHN0YWNrIHBvc2l0aW9uIGlzIG5vdCBwcmVwZW5kZWQuIgogI34gbXNnc3RyICJzYW5zIGFmZmljaGVyIGxlIG51bcOpcm8gZCdlbXBsYWNlbWVudCBkYW5zIGxhIHBpbGUuIgpAQCAtNDg3NSw3ICs1MDAyLDggQEAKICN+IG1zZ2lkICIiCiAjfiAiVGhlIC1jIGZsYWcgY2xlYXJzIHRoZSBkaXJlY3Rvcnkgc3RhY2sgYnkgZGVsZXRpbmcgYWxsIG9mIHRoZSBlbGVtZW50cy4iCiAjfiBtc2dzdHIgIiIKLSN+ICJMJ29wdGlvbiDCqyAtYyDCuyB2aWRlIGxhIHBpbGUgZGVzIHLDqXBlcnRvaXJlcyBlbiByZXRpcmFudCB0b3VzIHNlcyDDqWzDqW1lbnRzLiIKKyN+ICJMJ29wdGlvbiDCqyAtYyDCuyB2aWRlIGxhIHBpbGUgZGVzIHLDqXBlcnRvaXJlcyBlbiByZXRpcmFudCB0b3VzIHNlcyAiCisjfiAiw6lsw6ltZW50cy4iCiAKICN+IG1zZ2lkICIiCiAjfiAiK04gICBkaXNwbGF5cyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3Qgc2hvd24gYnkiCkBAIC00OTM1LDcgKzUwNjMsOCBAQAogCiAjfiBtc2dpZCAiZGlyICBhZGRzIERJUiB0byB0aGUgZGlyZWN0b3J5IHN0YWNrIGF0IHRoZSB0b3AsIG1ha2luZyBpdCB0aGUiCiAjfiBtc2dzdHIgIiIKLSN+ICJkaXIgIGFqb3V0ZSDCqyBESVIgwrsgYXUgZGVzc3VzIGRlIGxhIHBpbGUgZGVzIHLDqXBlcnRvaXJlcywgZW4gZmFpc2FudCBkZSBsdWkiCisjfiAiZGlyICBham91dGUgwqsgRElSIMK7IGF1IGRlc3N1cyBkZSBsYSBwaWxlIGRlcyByw6lwZXJ0b2lyZXMsIGVuIGZhaXNhbnQgZGUgIgorI34gImx1aSIKIAogI34gbXNnaWQgIiAgICAgbmV3IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuIgogI34gbXNnc3RyICIgICAgIGxlIG5vdXZlYXUgcsOpcGVydG9pcmUgY291cmFudC4iCkBAIC01MDQ0LDEyICs1MTczLDEyIEBACiAjfiAic2hlbGwuICBTaSB2b3VzXG4iCiAjfiAiICAgIGF2ZXogZMOpZmluaSB1bmUgZm9uY3Rpb24gZGUgc2hlbGwgYXBwZWzDqWUgwqsgbHMgwrsgZXQgcXVlIHZvdXMgdm91bGV6ICIKICN+ICJhcHBlbGVyXG4iCi0jfiAiICAgIGxhIGNvbW1hbmRlIMKrIGxzIMK7LCB2b3VzIHBvdXZleiBmYWlyZSDCqyBjb21tYW5kIGxzIMK7LiAgU2kgbCdvcHRpb24gwqsgLXAgIgotI34gIsK7IGVzdFxuIgorI34gIiAgICBsYSBjb21tYW5kZSDCqyBscyDCuywgdm91cyBwb3V2ZXogZmFpcmUgwqsgY29tbWFuZCBscyDCuy4gIFNpIGwnb3B0aW9uIMKrIC0iCisjfiAicCDCuyBlc3RcbiIKICN+ICIgICAgZG9ubsOpZSwgdW5lIHZhbGV1ciBwYXIgZMOpZmF1dCBlc3QgdXRpbGlzw6llIHBvdXIgbGUgUEFUSCBnYXJhbnRpc3NhbnQgIgogI34gInF1ZSB0b3VzXG4iCi0jfiAiICAgIGxlcyB1dGlsaXRhaXJlcyBzdGFuZGFyZHMgc2Vyb250IHRyb3V2w6lzLiAgU2kgbCdvcHRpb24gwqsgLVYgwrsgb3UgwqsgLXYgwrsgIgotI34gImVzdFxuIgorI34gIiAgICBsZXMgdXRpbGl0YWlyZXMgc3RhbmRhcmRzIHNlcm9udCB0cm91dsOpcy4gIFNpIGwnb3B0aW9uIMKrIC1WIMK7IG91IMKrIC12ICIKKyN+ICLCuyBlc3RcbiIKICN+ICIgICAgZG9ubsOpZSwgdW5lIGRlc2NyaXB0aW9uIGRlIGxhIGNvbW1hbmRlIHMnYWZmaWNoZS4gTCdvcHRpb24gwqsgLVYgwrsgIgogI34gImZvdXJuaXQgcGx1c1xuIgogI34gIiAgICBkJ2luZm9ybWF0aW9ucy4iCkBAIC01MTAxLDEyICs1MjMwLDEyIEBACiAjfiAiY2hhcmdlbWVudFxuIgogI34gIiAgICBkeW5hbWlxdWUsIGwnb3B0aW9uIMKrIC1mIMK7IHBldXQgw6p0cmUgdXRpbGlzw6llIHBvdXIgY2hhcmdlciBkZSAiCiAjfiAibm91dmVsbGVzIHByaW1pdGl2ZXNcbiIKLSN+ICIgICAgZGVwdWlzIGwnb2JqZXQgcGFydGFnw6kgRklMRU5BTUUuICBMJ29wdGlvbiDCqyAtZCDCuyBlZmZhY2UgdW5lIHByaW1pdGl2ZSAiCi0jfiAicHLDqWPDqWRlbW1lbnRcbiIKKyN+ICIgICAgZGVwdWlzIGwnb2JqZXQgcGFydGFnw6kgRklMRU5BTUUuICBMJ29wdGlvbiDCqyAtZCDCuyBlZmZhY2UgdW5lICIKKyN+ICJwcmltaXRpdmUgcHLDqWPDqWRlbW1lbnRcbiIKICN+ICIgICAgY2hhcmfDqWUgYXZlYyDCqyAtZiDCuy4gIFNpIGF1Y3VuIG5vbSAobifDqXRhbnQgcGFzIHVuZSBvcHRpb24pIG4nZXN0ICIKICN+ICJkb25uw6ksIG91IHNpIGwnb3B0aW9uXG4iCi0jfiAiICAgIMKrIC1wIMK7IGVzdCBzcMOpY2lmacOpZSwgdW5lIGxpc3RlIGRlIHByaW1pdGl2ZSBlc3QgYWZmaWNow6llLiAgTCdvcHRpb24gwqsgLSIKLSN+ICJhIMK7IHBlcm1ldCBkJ2FmZmljaGVyXG4iCisjfiAiICAgIMKrIC1wIMK7IGVzdCBzcMOpY2lmacOpZSwgdW5lIGxpc3RlIGRlIHByaW1pdGl2ZSBlc3QgYWZmaWNow6llLiAgTCdvcHRpb24gIgorI34gIsKrIC1hIMK7IHBlcm1ldCBkJ2FmZmljaGVyXG4iCiAjfiAiICAgIHRvdXRlcyBsZXMgcHJpbWl0aXZlcyBlbiBwcsOpY2lzYW50IHNpIGVsbGVzIHNvbnQgYWN0aXbDqWVzIG91IG5vbi4gIgogI34gIkwnb3B0aW9uIMKrIC1zIMK7IHJlc3RyZWludFxuIgogI34gIiAgICBsYSBzb3J0aWUgYXV4IHByaW1pdGl2ZXMgwqsgc3BlY2lhbCDCuyBQT1NJWC4yLiBMJ29wdGlvbiDCqyAtbiDCuyBhZmZpY2hlICIKQEAgLTUxNjcsMTAgKzUyOTYsMTAgQEAKICN+ICJjb21wbGV0XG4iCiAjfiAiICAgIHBvdXIgTkFNRSwgZXQgYXVjdW5lIHJlY2hlcmNoZSBuJ2VzdCBlZmZlY3R1w6llLiBMJ29wdGlvbiDCqyAtciDCuyAiCiAjfiAiZGVtYW5kZSBhdSBzaGVsbFxuIgotI34gIiAgICBkJ291YmxpZXIgdG91cyBsZXMgY2hlbWlucyBtw6ltb3Jpc8Opcy4gTCdvcHRpb24gwqsgLWQgwrsgZGVtYW5kZSBhdSBzaGVsbCAiCi0jfiAiZCdvdWJsaWVyXG4iCi0jfiAiICAgIGxlcyBjaGVtaW5zIG3DqW1vcmlzw6lzIHBvdXIgbGUgTkFNRS4gU2kgbCdvcHRpb24gwqsgLXQgwrsgZXN0IGZvdXJuaWUsIGxlICIKLSN+ICJjaGVtaW5cbiIKKyN+ICIgICAgZCdvdWJsaWVyIHRvdXMgbGVzIGNoZW1pbnMgbcOpbW9yaXPDqXMuIEwnb3B0aW9uIMKrIC1kIMK7IGRlbWFuZGUgYXUgIgorI34gInNoZWxsIGQnb3VibGllclxuIgorI34gIiAgICBsZXMgY2hlbWlucyBtw6ltb3Jpc8OpcyBwb3VyIGxlIE5BTUUuIFNpIGwnb3B0aW9uIMKrIC10IMK7IGVzdCBmb3VybmllLCAiCisjfiAibGUgY2hlbWluXG4iCiAjfiAiICAgIGNvbXBsZXQgYXVxdWVsIGNvcnJlc3BvbmQgY2hhcXVlIE5BTUUgZXN0IGFmZmljaMOpLiBTaSBwbHVzaWV1cnMgTkFNRSAiCiAjfiAic29udCBmb3VybmlzXG4iCiAjfiAiICAgIMOgIGwnb3B0aW9uIMKrIC10IMK7LCBsZSBOQU1FIGVzdCBhZmZpY2jDqSBhdmFudCBjaGVtaW4gY29tcGxldCBoYWNow6kuICIKQEAgLTUyMDcsMTQgKzUzMzYsMTQgQEAKICN+IG1zZ3N0ciAiIgogI34gIlBhciBkw6lmYXV0LCBlbmzDqHZlIHRvdXMgbGVzIGFyZ3VtZW50cyBKT0JTUEVDIGRlIGxhIHRhYmxlIGRlcyB0w6JjaGVzICIKICN+ICJhY3RpdmVzLlxuIgotI34gIiAgICBTaSBsJ29wdGlvbiDCqyAtaCDCuyBlc3QgZm91cm5pZSwgbGEgdMOiY2hlIG4nZXN0IHBhcyByZXRpcsOpZSBkZSBsYSB0YWJsZSAiCi0jfiAibWFpc1xuIgorI34gIiAgICBTaSBsJ29wdGlvbiDCqyAtaCDCuyBlc3QgZm91cm5pZSwgbGEgdMOiY2hlIG4nZXN0IHBhcyByZXRpcsOpZSBkZSBsYSAiCisjfiAidGFibGUgbWFpc1xuIgogI34gIiAgICBlc3QgbWFycXXDqWUgZGUgdGVsbGUgc29ydGUgcXVlIGxlIHNpZ25hbCBTSUdIVVAgbmUgbHVpIHNvaXQgcGFzICIKICN+ICJlbnZvecOpIHF1YW5kXG4iCiAjfiAiICAgIGxlIHNoZWxsIHJlw6dvaXQgdW4gU0lHSFVQLiBMb3JzcXVlIEpPQlNQRUMgbidlc3QgcGFzIGZvdXJuaWUsICIKICN+ICJsJ29wdGlvbiDCqyAtYSDCuyxcbiIKLSN+ICIgICAgcGVybWV0IGQnZW5sZXZlciB0b3V0ZXMgbGVzIHTDomNoZXMgZGUgbGEgdGFibGUgZGVzIHTDomNoZXMuIEwnb3B0aW9uIMKrIC0iCi0jfiAiciDCu1xuIgorI34gIiAgICBwZXJtZXQgZCdlbmxldmVyIHRvdXRlcyBsZXMgdMOiY2hlcyBkZSBsYSB0YWJsZSBkZXMgdMOiY2hlcy4gTCdvcHRpb24gwqsgIgorI34gIi1yIMK7XG4iCiAjfiAiICAgIGluZGlxdWUgZGUgbmUgcmV0aXJlciBxdWUgbGVzIHTDomNoZXMgZW4gY291cnMgZGUgZm9uY3Rpb25uZW1lbnQuIgogCiAjfiBtc2dpZCAiIgpAQCAtNTI1NCw3ICs1MzgzLDggQEAKICN+ICJMZXMgTkFNRSBzb250IG1hcnF1w6lzIHBvdXIgZXhwb3J0IGF1dG9tYXRpcXVlIHZlcnMgbCdlbnZpcm9ubmVtZW50IGRlc1xuIgogI34gIiAgICBwcm9jaGFpbmVzIGNvbW1hbmRlcyBleMOpY3V0w6llcy4gc2kgbCdvcHRpb24gwqsgLWYgwrsgZXN0IGRvbm7DqWUsIGxlcyAiCiAjfiAiTkFNRVxuIgotI34gIiAgICBzZSByYXBwb3J0ZW50IMOgIGRlcyBmb25jdGlvbnMuIFNpIGF1Y3VuIE5BTUUgbidlc3QgZG9ubsOpIG91IHNpIMKrIC1wIMK7XG4iCisjfiAiICAgIHNlIHJhcHBvcnRlbnQgw6AgZGVzIGZvbmN0aW9ucy4gU2kgYXVjdW4gTkFNRSBuJ2VzdCBkb25uw6kgb3Ugc2kgwqsgLXAgIgorI34gIsK7XG4iCiAjfiAiICAgIGVzdCBmb3VybmksIGxhIGxpc3RlIGRlIHRvdXMgbGVzIE5BTUUgZXhwb3J0w6lzIGRhbnMgY2Ugc2hlbGwgIgogI34gInMnYWZmaWNoZS5cbiIKICN+ICIgICAgTCdhcmd1bWVudCDCqyAtbiDCuyBwZXJtZXQgZGUgc3VwcHJpbWVyIGxhIHByb3ByacOpdMOpIGQnZXhwb3J0IGRlcyBOQU1FICIKQEAgLTUyODAsOCArNTQxMCw4IEBACiAjfiAiYXVjdW5cbiIKICN+ICIgICAgYXJndW1lbnQgbidlc3QgZG9ubsOpIG91IHNpIMKrIC1wIMK7IGVzdCBmb3VybmksIGxhIGxpc3RlIGRlIHRvdXMgbGVzICIKICN+ICJub21zXG4iCi0jfiAiICAgIGVuIGxlY3R1cmUgc2V1bGUgZXN0IGFmZmljaMOpZS4gTCdvcHRpb24gwqsgLWEgwrsgaW5kaXF1ZSBkZSB0cmFpdGVyIHRvdXMgIgotI34gImxlc1xuIgorI34gIiAgICBlbiBsZWN0dXJlIHNldWxlIGVzdCBhZmZpY2jDqWUuIEwnb3B0aW9uIMKrIC1hIMK7IGluZGlxdWUgZGUgdHJhaXRlciAiCisjfiAidG91cyBsZXNcbiIKICN+ICIgICAgTkFNRSBjb21tZSBkZXMgdmFyaWFibGVzIHRhYmxlYXV4LiBMJ2FyZ3VtZW50IMKrIC0tIMK7IGTDqXNhY3RpdmUgbGUgIgogI34gInRyYWl0ZW1lbnRcbiIKICN+ICIgICAgZGVzIG9wdGlvbiBzdWl2YW50ZXMuIgpAQCAtNTM0NCw4ICs1NDc0LDEwIEBACiAjfiAidW5cbiIKICN+ICIgICAgbm9tIGRlIGNvbW1hbmRlLlxuIgogI34gIiAgICBcbiIKLSN+ICIgICAgU2kgbCdvcHRpb24gwqsgLXQgwrsgZXN0IHV0aWxpc8OpZSwgwqsgdHlwZSDCuyBhZmZpY2hlIHVuIHNpbXBsZSBtb3QgcGFybWlcbiIKLSN+ICIgICAgwqsgYWxpYXMgwrssIMKrIGtleXdvcmQgwrssIMKrIGZ1bmN0aW9uIMK7LCDCqyBidWlsdGluIMK7LCDCqyBmaWxlIMK7IG91IMKrIMK7LCBzaVxuIgorI34gIiAgICBTaSBsJ29wdGlvbiDCqyAtdCDCuyBlc3QgdXRpbGlzw6llLCDCqyB0eXBlIMK7IGFmZmljaGUgdW4gc2ltcGxlIG1vdCAiCisjfiAicGFybWlcbiIKKyN+ICIgICAgwqsgYWxpYXMgwrssIMKrIGtleXdvcmQgwrssIMKrIGZ1bmN0aW9uIMK7LCDCqyBidWlsdGluIMK7LCDCqyBmaWxlIMK7IG91IMKrIMK7LCAiCisjfiAic2lcbiIKICN+ICIgICAgTkFNRSBlc3QgcmVzcGVjdGl2ZW1lbnQgdW4gYWxpYXMsIHVuIG1vdCByw6lzZXJ2w6kgZHUgc2hlbGwsIHVuZSAiCiAjfiAiZm9uY3Rpb25cbiIKICN+ICIgICAgZHUgc2hlbGwsIHVuZSBwcmltaXRpdmUsIHVuIGZpY2hpZXIgZHUgZGlzcXVlLCBvdSBzJ2lsIGVzdCBpbmNvbm51LlxuIgpAQCAtNTM1OCw4ICs1NDkwLDggQEAKICN+ICIgICAgXG4iCiAjfiAiICAgIFNpIMKrIC1hIMK7IGVzdCB1dGlsaXPDqSwgwqsgdHlwZSDCuyBhZmZpY2hlIHRvdXMgbGVzIGVtcGxhY2VtZW50cyBxdWkgIgogI34gImNvbnRpZW5uZW50XG4iCi0jfiAiICAgIHVuIGV4w6ljdXRhYmxlIG5vbW3DqSDCqyBmaWxlIMK7LiBDZWNpIGluY2x1dCBsZXMgYWxpYXMsIGxlcyBwcmltaXRpdmVzIGV0ICIKLSN+ICJsZXNcbiIKKyN+ICIgICAgdW4gZXjDqWN1dGFibGUgbm9tbcOpIMKrIGZpbGUgwrsuIENlY2kgaW5jbHV0IGxlcyBhbGlhcywgbGVzIHByaW1pdGl2ZXMgIgorI34gImV0IGxlc1xuIgogI34gIiAgICBmb25jdGlvbnMgc2ksIGV0IHNldWxlbWVudCBzaSDCqyAtcCDCuyBuJ2VzdCBwYXMgw6lnYWxlbWVudCB1dGlsaXPDqS5cbiIKICN+ICIgICAgXG4iCiAjfiAiICAgIEwnaW5kaWNhdGV1ciDCqyAtUCDCuyBmb3JjZSB1bmUgcmVjaGVyY2hlIGRhbnMgUEFUSCBwb3VyIGNoYXF1ZSBOQU1FICIKZGlmZiAtLWdpdCBhL3BvL2h1LmdtbyBiL3BvL2h1LmdtbwppbmRleCA5Y2EwNTM1Li44NDIxNDE0IDEwMDY0NAotLS0gYS9wby9odS5nbW8KKysrIGIvcG8vaHUuZ21vCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3BvL2h1LnBvIGIvcG8vaHUucG8KaW5kZXggYTY2YmE3YS4uNjQzNWU2NyAxMDA2NDQKLS0tIGEvcG8vaHUucG8KKysrIGIvcG8vaHUucG8KQEAgLTYsNyArNiw3IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IGJhc2ggMi4wXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTAyLTE5IDE0OjUzLTA1MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogMjAwMi0wNi0xNCAwOTo0OUdNVFxuIgogIkxhc3QtVHJhbnNsYXRvcjogR+Fib3IgSXN0duFuIDxzdGl2ZUBtZXpvYmVyZW55Lmh1PlxuIgogIkxhbmd1YWdlLVRlYW06IEh1bmdhcmlhbiA8dHJhbnNsYXRpb24tdGVhbS1odUBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCkBAIC0xOSw1MCArMTksNTUgQEAKIG1zZ2lkICJiYWQgYXJyYXkgc3Vic2NyaXB0IgogbXNnc3RyICJoaWLhcyB09m1iIGEgIHT2bWJpbmRleGJlbiIKIAotIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAorIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiIgogCi0jOiBhcnJheWZ1bmMuYzo0NzkKKyM6IGFycmF5ZnVuYy5jOjQ4MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXNzb2NpYXRpdmUgYXJyYXkga2V5IgogbXNnc3RyICIlYyVjOiByb3NzeiBvcGNp8yIKIAotIzogYXJyYXlmdW5jLmM6NDgxCisjOiBhcnJheWZ1bmMuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gdG8gbm9uLW51bWVyaWMgaW5kZXgiCiBtc2dzdHIgIiVzOiBuZW0gbGVoZXQgaG96euFyZW5kZWxuaSBuZW0gc3rhbSBpbmRleGV0IgogCi0jOiBhcnJheWZ1bmMuYzo1MTcKKyM6IGFycmF5ZnVuYy5jOjUxOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IG11c3QgdXNlIHN1YnNjcmlwdCB3aGVuIGFzc2lnbmluZyBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiIgogCi0jOiBiYXNoaGlzdC5jOjM3OQorIzogYmFzaGhpc3QuYzozODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjcmVhdGU6ICVzIgogbXNnc3RyICIlczogbmVtIGxlaGV0IGzpdHJlaG96bmk6ICVzIgogCi0jOiBiYXNobGluZS5jOjM0MTMKKyM6IGJhc2hsaW5lLmM6MzQ1NwogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBiYXNobGluZS5jOjM0OTEKKyM6IGJhc2hsaW5lLmM6MzU0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgogbXNnc3RyICIiCiAKLSM6IGJhc2hsaW5lLmM6MzUyMAorIzogYmFzaGxpbmUuYzozNTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBiYXNobGluZS5jOjM1NTQKKyM6IGJhc2hsaW5lLmM6MzYwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCiBtc2dzdHIgIiIKIAorIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogaW52YWxpZCBhbGlhcyBuYW1lIgorbXNnc3RyICIlYyVjOiByb3NzeiBvcGNp8yIKKwogIzogYnVpbHRpbnMvYmluZC5kZWY6MTIwIGJ1aWx0aW5zL2JpbmQuZGVmOjEyMwogbXNnaWQgImxpbmUgZWRpdGluZyBub3QgZW5hYmxlZCIKIG1zZ3N0ciAiIgpAQCAtMTEzLDYgKzExOCwyMSBAQAogIiAgICBXaXRob3V0IEVYUFIsIHJldHVybnMgIgogbXNnc3RyICIiCiAKKyM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM1Cittc2dpZCAiIgorIi4gIFdpdGggRVhQUiwgcmV0dXJuc1xuIgorIiAgICAiCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzYKK21zZ2lkICIiCisiOyB0aGlzIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIHRvXG4iCisiICAgIHByb3ZpZGUgYSBzdGFjayB0cmFjZS5cbiIKKyIgICAgXG4iCisiICAgIFRoZSB2YWx1ZSBvZiBFWFBSIGluZGljYXRlcyBob3cgbWFueSBjYWxsIGZyYW1lcyB0byBnbyBiYWNrIGJlZm9yZSB0aGVcbiIKKyIgICAgY3VycmVudCBvbmU7IHRoZSB0b3AgZnJhbWUgaXMgZnJhbWUgMC4iCittc2dzdHIgIiIKKwogIzogYnVpbHRpbnMvY2QuZGVmOjIxNQogbXNnaWQgIkhPTUUgbm90IHNldCIKIG1zZ3N0ciAiIgpAQCAtMTI2LDcgKzE0Niw3IEBACiBtc2dpZCAibGluZSAlZDogIgogbXNnc3RyICJmb2dsYWxhdCAlM2Q6ICIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTM5IGVycm9yLmM6MjYwCisjOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICIKIG1zZ3N0ciAi7XLhcyIKQEAgLTEzNiwxMSArMTU2LDExIEBACiBtc2dpZCAiJXM6IHVzYWdlOiAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjIKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODI3CiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICJ0+mwgc29rIGFyZ3VtZW50dW0iCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5MyBzaGVsbC5jOjc3NAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgogbXNnc3RyICJheiBvcGNp8yBwYXJhbel0ZXJ0IGln6W55ZWw6LSIKQEAgLTE1NSw3ICsxNzUsNyBAQAogbXNnaWQgIiVzOiBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBwYXJhbmNzIG5lbSB0YWzhbGhhdPMiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc4NworIzogYnVpbHRpbnMvY29tbW9uLmM6MjE0IHNoZWxsLmM6Nzk1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVjJWM6IHJvc3N6IG9wY2nzIgpAQCAtMTgwLDcgKzIwMCw3IEBACiBtc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgogbXNnc3RyICJyb3NzeiBqZWwoc2lnbmFsKSBzeuFtIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTUKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NgogIywgZnV6enkKIG1zZ2lkICJpbnZhbGlkIG51bWJlciIKIG1zZ3N0ciAicm9zc3ogamVsKHNpZ25hbCkgc3rhbSIKQEAgLTE5NSw3ICsyMTUsNyBAQAogbXNnaWQgImAlcyc6IG5vdCBhIHBpZCBvciB2YWxpZCBqb2Igc3BlYyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTMKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI2NCBlcnJvci5jOjQ1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgdmFyaWFibGUiCiBtc2dzdHIgIiVzIENzYWsgb2x2YXNoYXTzIHbhbHRvevMiCkBAIC0yNzAsMjYgKzI5MCwyNiBAQAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgam9iIHNwZWMiCiBtc2dzdHIgIiVzOiBOZW0gZWd56XJ0ZWxt+yDhdGly4W557XThcyIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjI3MAorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjI3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhY3Rpb24gbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDMwIGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2MTUKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MTMKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo0NDkgYnVpbHRpbnMvY29tcGxldGUuZGVmOjY0NAorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjg1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm8gY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NjcKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTYKIG1zZ2lkICJ3YXJuaW5nOiAtRiBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY2OQorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY5OAogbXNnaWQgIndhcm5pbmc6IC1DIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Nzg2CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODI2CiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAiIgogCkBAIC0yOTgsMjEgKzMxOCwyMSBAQAogbXNnaWQgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKIG1zZ3N0ciAiQSBsb2NhbC10IGNzYWsgZnVua2Np824gYmVs/GwgbGVoZXQgaGFzem7hbG5pLCBs6XRyZWhvem90dCB24Wx0b3rzIE7JViIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzUzCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzY1IGV4ZWN1dGVfY21kLmM6NDgxOAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVzIENzYWsgb2x2YXNoYXTzIGZ1bmtjafMiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2MQorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDY4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXMg7Wd5IG5lbSBsZWhldCBob3p64XJlbmRlbG5pIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiIgpAQCAtMzQxLDggKzM2MSw4IEBACiBtc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgogbXNnc3RyICIlczogbmVtIGxlaGV0IGzpdHJlaG96bmk6ICVzIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Njc1Ci0jOiBzaGVsbC5jOjE0MzkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM0IGJ1aWx0aW5zL2hhc2guZGVmOjE2OSBleGVjdXRlX2NtZC5jOjQ3OTQKKyM6IHNoZWxsLmM6MTQ1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaXMgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzOiBlZ3kga/ZueXZ04XIiCkBAIC0zNTcsNyArMzc3LDggQEAKIG1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgZXhlY3V0ZV9jbWQuYzo0NzQ1IHNoZWxsLmM6MTQ0OQorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDMgZXhlY3V0ZV9jbWQuYzo0ODY0CisjOiBzaGVsbC5jOjE0NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlIgogbXNnc3RyICIlczogbmVtIGZ1dHRhdGhhdPMgYmlu4XJpcyBm4WpsIgpAQCAtMzg2LDE2ICs0MDcsMTYgQEAKIG1zZ2lkICJUaGVyZSBhcmUgcnVubmluZyBqb2JzLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjIKICMsIGZ1enp5CiBtc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKIG1zZ3N0ciAiJXM6IHBhcmFuY3MgbmVtIHRhbOFsaGF08yIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM0MQorIzogYnVpbHRpbnMvZmMuZGVmOjM0OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzYyCisjOiBidWlsdGlucy9mYy5kZWY6MzcwCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKIG1zZ3N0ciAiJXM6IG5lbSBsZWhldCBs6XRyZWhvem5pOiAlcyIKQEAgLTQ4NSwxMiArNTA2LDEyIEBACiBtc2dpZCAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoxOTcKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MAorIzogYnVpbHRpbnMva2lsbC5kZWY6MjYzCiAjLCBmdXp6eQogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgIklzbWVyZXRsZW4gaGliYSAlZCIKQEAgLTQ5OSw1NiArNTIwLDYxIEBACiBtc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiduFyaGF08yBraWZlamV66XMiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0MSBidWlsdGlucy9yZWFkLmRlZjoyNzIKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgorbXNnc3RyICIlcyBmZWxzemFiYWTtdG90dCB24Wx0b3rzIgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NyBidWlsdGlucy9yZWFkLmRlZjoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTggYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjYgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzA0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW5lIGNvdW50IgogbXNnc3RyICIlYyVjOiByb3NzeiBvcGNp8yIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFycmF5IG9yaWdpbiIKIG1zZ3N0ciAiJWMlYzogcm9zc3ogb3BjafMiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogbXNnc3RyICJyb3NzeiBqZWwoc2lnbmFsKSBzeuFtIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMTgKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMyNgogIywgZnV6enkKIG1zZ2lkICJlbXB0eSBhcnJheSB2YXJpYWJsZSBuYW1lIgogbXNnc3RyICIlcyBmZWxzemFiYWTtdG90dCB24Wx0b3rzIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM0NwogbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNjcKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU0NAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTcxCisjOiBidWlsdGlucy9wcmludGYuZGVmOjU3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAlczogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTAKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzU3CiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAiIgogCkBAIC02NDEsMTIgKzY2NywxMiBAQAogIiAgICBUaGUgYGRpcnMnIGJ1aWx0aW4gZGlzcGxheXMgdGhlIGRpcmVjdG9yeSBzdGFjay4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcmVhZC5kZWY6MjQ4CisjOiBidWlsdGlucy9yZWFkLmRlZjoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgdGltZW91dCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU3NAorIzogYnVpbHRpbnMvcmVhZC5kZWY6NTg4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJyZWFkIGVycm9yOiAlZDogJXMiCiBtc2dzdHIgIkNz9SAocGlwZSloaWJhICVzIgpAQCAtNjg1LDExICs3MTEsMTEgQEAKIG1zZ2lkICJzaGlmdCBjb3VudCIKIG1zZ3N0ciAic2hpZnQgW25dIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MjU0CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MjYwCiBtc2dpZCAiY2Fubm90IHNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucyBzaW11bHRhbmVvdXNseSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MzE5CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgogbXNnc3RyICIiCkBAIC03ODIsODEgKzgwOCw4MSBAQAogbXNnaWQgImAlYyc6IGludmFsaWQgc3ltYm9saWMgbW9kZSBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogZXJyb3IuYzo4OSBlcnJvci5jOjMyMCBlcnJvci5jOjMyMiBlcnJvci5jOjMyNAorIzogZXJyb3IuYzo5MCBlcnJvci5jOjMyMSBlcnJvci5jOjMyMyBlcnJvci5jOjMyNQogbXNnaWQgIiBsaW5lICIKIG1zZ3N0ciAiIgogCi0jOiBlcnJvci5jOjE2NAorIzogZXJyb3IuYzoxNjUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImxhc3QgY29tbWFuZDogJXNcbiIKIG1zZ3N0ciAi+mpyYSBmdXR0YXRoYXRqYSBheiB1dG9sc/MgcGFyYW5jc290LiIKIAotIzogZXJyb3IuYzoxNzIKKyM6IGVycm9yLmM6MTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nLi4uIgogbXNnc3RyICIiCiAKLSM6IGVycm9yLmM6NDA1CisjOiBlcnJvci5jOjQwNgogIywgZnV6enkKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQgZXJyb3IiCiBtc2dzdHIgIklzbWVyZXRsZW4gaGliYSAlZCIKIAotIzogZXJyb3IuYzo0MDYKKyM6IGVycm9yLmM6NDA3CiAjLCBmdXp6eQogbXNnaWQgImJhZCBjb21tYW5kIHR5cGUiCiBtc2dzdHIgInBhcmFuY3Nr6W50IGhhc3pu4WxqYS4iCiAKLSM6IGVycm9yLmM6NDA3CisjOiBlcnJvci5jOjQwOAogIywgZnV6enkKIG1zZ2lkICJiYWQgY29ubmVjdG9yIgogbXNnc3RyICJyb3NzeiBjc2F0bGFrb3rhcyBgJWQnIgogCi0jOiBlcnJvci5jOjQwOAorIzogZXJyb3IuYzo0MDkKICMsIGZ1enp5CiBtc2dpZCAiYmFkIGp1bXAiCiBtc2dzdHIgIlJvc3N6IHVncuFzICVkIgogCi0jOiBlcnJvci5jOjQ0NgorIzogZXJyb3IuYzo0NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYm91bmQgdmFyaWFibGUiCiBtc2dzdHIgIiVzIGZlbHN6YWJhZO10b3R0IHbhbHRvevMiCiAKICM6IGV2YWwuYzoxODEKICMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnaWQgIgd0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCiBtc2dzdHIgIiVjIHT6bCBzb2vhaWcgbmVtIGNzaW7hbHQgc2VtbWl0OmF1dG9tYXRpa3VzIGtpbOlw6XNcbiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTEKKyM6IGV4ZWN1dGVfY21kLmM6NDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzoxMTEyCisjOiBleGVjdXRlX2NtZC5jOjExNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVElNRUZPUk1BVDogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MjAxMQorIzogZXhlY3V0ZV9jbWQuYzoyMDc1CiAjLCBmdXp6eQogbXNnaWQgInBpcGUgZXJyb3IiCiBtc2dzdHIgIkNz9SAocGlwZSloaWJhICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjQzNjMKKyM6IGV4ZWN1dGVfY21kLmM6NDQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCiBtc2dzdHIgIiVzOiBmZW5udGFydHZhOiBwYXJhbmNzIG5lbSB0YXJ0YWxtYXpoYXQgJy8nIGthcmFrdGVydCIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDU0CisjOiBleGVjdXRlX2NtZC5jOjQ1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIlczogcGFyYW5jcyBuZW0gdGFs4WxoYXTzIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ3MDgKKyM6IGV4ZWN1dGVfY21kLmM6NDgyNwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCiBtc2dzdHIgIiVzOiBlZ3kga/ZueXZ04XIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDg1NworIzogZXhlY3V0ZV9jbWQuYzo0OTc2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIGZkICVkIHRvIGZkICVkIgogbXNnc3RyICJuZW0gbeFzb2xoYXTzIGEgIGZkICVkICBmZCAwOiAlcy1yZSIKQEAgLTkwMywyOSArOTI5LDI5IEBACiBtc2dpZCAibWlzc2luZyBgKSciCiBtc2dzdHIgInJvc3N6ICcpJyIKIAotIzogZXhwci5jOjg5NyBleHByLmM6MTE3NQorIzogZXhwci5jOjg5NyBleHByLmM6MTE3NgogIywgZnV6enkKIG1zZ2lkICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCiBtc2dzdHIgInN6aW50YWt0aWthaSBoaWJhOiAgduFyYXRsYW4gZuFqbCB26WciCiAKLSM6IGV4cHIuYzoxMTc3CisjOiBleHByLmM6MTE3OAogbXNnaWQgInN5bnRheCBlcnJvcjogaW52YWxpZCBhcml0aG1ldGljIG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMjAxCisjOiBleHByLmM6MTIwMgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXMlcyVzOiAlcyAoZXJyb3IgdG9rZW4gaXMgXCIlc1wiKSIKIG1zZ3N0ciAiJXM6ICVzOiAlcyAoYSBoaWJhIGplbGUgXCIlc1wiKVxuIgogCi0jOiBleHByLmM6MTI1OQorIzogZXhwci5jOjEyNjAKIG1zZ2lkICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTI3OQorIzogZXhwci5jOjEyODAKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgImF6IOlydOlrIHT6bCBuYWd5IgogCi0jOiBleHByLmM6MTMyOAorIzogZXhwci5jOjEzMjkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCiBtc2dzdHIgIiVzIGVn6XN6IHN64W0gc3r8a3PpZ2VzIgpAQCAtOTM1LDcgKzk2MSw3IEBACiBtc2dpZCAiZ2V0Y3dkOiBjYW5ub3QgYWNjZXNzIHBhcmVudCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiZ2V0d2Q6IG5lbSBlbOlyaGV09SBhIHN6/Gz1IGv2bnl2dOFyIgogCi0jOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDU1OQorIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgogbXNnc3RyICJuZW0gbeFzb2xoYXTzIGEgIGZkICVkICBmZCAwOiAlcy1yZSIKQEAgLTk4OSw3ICsxMDE1LDcgQEAKIG1zZ2lkICJEb25lIgogbXNnc3RyICJL6XN6IgogCi0jOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIyCisjOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIzCiBtc2dpZCAiU3RvcHBlZCIKIG1zZ3N0ciAiTWVn4Wxs7XR2YSIKIApAQCAtMTAyNiw3MiArMTA1Miw3NiBAQAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIih3ZCBtb3N0OiAlcylcbiIKIAotIzogam9icy5jOjE3NzEKKyM6IGpvYnMuYzoxNzc2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjaGlsZCBzZXRwZ2lkICglbGQgdG8gJWxkKSIKIG1zZ3N0ciAiZ3llcm1lay1mb2x5YW1hdCBzZXRwZ2lkICglZCAtcvNsICVkLXJhKSBoaWJhICVkOiAlc1xuIgogCi0jOiBqb2JzLmM6MjA5OSBub2pvYnMuYzo1ODUKKyM6IGpvYnMuYzoyMTA0IG5vam9icy5jOjU4NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgogbXNnc3RyICJ24XJqb246YSAlZCBuZW0gdXTzZGEgZW5uZWsgYSBwYXJhbmNz6XJ0ZWxtZXr1bmVrIgogCi0jOiBqb2JzLmM6MjMyNgorIzogam9icy5jOjIzMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjU5OAorIzogam9icy5jOjI2MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjgyMAorIzogam9icy5jOjI4MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiBoYXMgdGVybWluYXRlZCIKIG1zZ3N0ciAiJXM6IG11bmthZm9seWFtYXQgbWVnc3pha2FkdCIKIAotIzogam9icy5jOjI4MjkKKyM6IGpvYnMuYzoyODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgJWQgYWxyZWFkeSBpbiBiYWNrZ3JvdW5kIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNDkyCisjOiBqb2JzLmM6MzA1OQorbXNnaWQgIndhaXRjaGxkOiB0dXJuaW5nIG9uIFdOT0hBTkcgdG8gYXZvaWQgaW5kZWZpbml0ZSBibG9jayIKK21zZ3N0ciAiIgorCisjOiBqb2JzLmM6MzUwOAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGxpbmUgJWQ6ICIKIG1zZ3N0ciAiZm9nbGFsYXQgJTNkOiAiCiAKLSM6IGpvYnMuYzozNTA2IG5vam9icy5jOjgxNAorIzogam9icy5jOjM1MjIgbm9qb2JzLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAoY29yZSBkdW1wZWQpIgogbXNnc3RyICIobWVt83JpYSBrae1y4XMpIgogCi0jOiBqb2JzLmM6MzUxOCBqb2JzLmM6MzUzMQorIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHdkIG5vdzogJXMpXG4iCiBtc2dzdHIgIih3ZCBtb3N0OiAlcylcbiIKIAotIzogam9icy5jOjM1NjMKKyM6IGpvYnMuYzozNTc5CiAjLCBmdXp6eQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYnM6IGdldHBncnAgc2lrZXJ0ZWxlbjogJXMiCiAKLSM6IGpvYnMuYzozNjIzCisjOiBqb2JzLmM6MzYzOQogIywgZnV6enkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5lIGRpc2NpcGxpbmUiCiBtc2dzdHIgImluaXRpYWxpemVfam9iczogc29yIGZlZ3llbGVtICVzIgogCi0jOiBqb2JzLmM6MzYzMworIzogam9icy5jOjM2NDkKICMsIGZ1enp5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JzOiBnZXRwZ3JwIHNpa2VydGVsZW46ICVzIgogCi0jOiBqb2JzLmM6MzY2MQorIzogam9icy5jOjM2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2NjYKKyM6IGpvYnMuYzozNjgyCiBtc2dpZCAibm8gam9iIGNvbnRyb2wgaW4gdGhpcyBzaGVsbCIKIG1zZ3N0ciAibmluY3MgbXVua2Fmb2x5YW1hdCBlbGxlbvVyeulzIGV6ZW4gYSBwYXJhbmNz6XJ0ZWxtZXr1biIKIApAQCAtMTE4Miw2ICsxMjEyLDI2IEBACiBtc2dpZCAibmV0d29yayBvcGVyYXRpb25zIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIiIKIAorIzogbG9jYWxlLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICJ4bWFsbG9jOiBuZW0gbGVoZXQgbGVmb2dsYWxuaSAlbHUgYuFqdG90ICglbHUgYuFqdCBsZWZvZ2xhbHZhKSIKKworIzogbG9jYWxlLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKK21zZ3N0ciAieG1hbGxvYzogbmVtIGxlaGV0IGxlZm9nbGFsbmkgJWx1IGLhanRvdCAoJWx1IGLhanQgbGVmb2dsYWx2YSkiCisKICM6IG1haWxjaGVjay5jOjQzMwogbXNnaWQgIllvdSBoYXZlIG1haWwgaW4gJF8iCiBtc2dzdHIgItZubmVrIGxldmVsZSB2YW4gJF8gLWJlbiIKQEAgLTExOTUsMTM4ICsxMjQ1LDEzOCBAQAogbXNnaWQgIlRoZSBtYWlsIGluICVzIGhhcyBiZWVuIHJlYWRcbiIKIG1zZ3N0ciAiQSAlcyBsZXZlbGV0IG3hciBlbG9sdmFzdGFcbiIKIAotIzogbWFrZV9jbWQuYzozMjIKKyM6IG1ha2VfY21kLmM6MzIzCiAjLCBmdXp6eQogbXNnaWQgInN5bnRheCBlcnJvcjogYXJpdGhtZXRpYyBleHByZXNzaW9uIHJlcXVpcmVkIgogbXNnc3RyICJzemludGFrdGlrYWkgaGliYSBhIGtpZmVseWV66XNiZW4iCiAKLSM6IG1ha2VfY21kLmM6MzI0CisjOiBtYWtlX2NtZC5jOjMyNQogIywgZnV6enkKIG1zZ2lkICJzeW50YXggZXJyb3I6IGA7JyB1bmV4cGVjdGVkIgogbXNnc3RyICJzemludGFrdGlrYWkgaGliYTogIHbhcmF0bGFuIGbhamwgdulnIgogCi0jOiBtYWtlX2NtZC5jOjMyNQorIzogbWFrZV9jbWQuYzozMjYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvcjogYCgoJXMpKSciCiBtc2dzdHIgInN6aW50YWt0aWthaSBoaWJhIgogCi0jOiBtYWtlX2NtZC5jOjU2NworIzogbWFrZV9jbWQuYzo1NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9oZXJlX2RvY3VtZW50OiBiYWQgaW5zdHJ1Y3Rpb24gdHlwZSAlZCIKIG1zZ3N0ciAibWFrZV9oZXJlX2RvY3VtZW50OiByb3NzeiB1dGFz7XThcyB07XB1cyAlZCIKIAotIzogbWFrZV9jbWQuYzo2NTEKKyM6IG1ha2VfY21kLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlcmUtZG9jdW1lbnQgYXQgbGluZSAlZCBkZWxpbWl0ZWQgYnkgZW5kLW9mLWZpbGUgKHdhbnRlZCBgJXMnKSIKIG1zZ3N0ciAiIgogCi0jOiBtYWtlX2NtZC5jOjc0NgorIzogbWFrZV9jbWQuYzo3NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueToyOTg2IHBhcnNlLnk6MzIxOAorIzogcGFyc2UueTozMTMzIHBhcnNlLnk6MzM2OQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCVjJyIKIG1zZ3N0ciAiduFyYXRsYW4gRU9GIGFt7Wcgdml6c2fhbHRhbSBhICBgJWMnLXQiCiAKLSM6IHBhcnNlLnk6MzcyMgorIzogcGFyc2UueTozOTUxCiAjLCBmdXp6eQogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIGBdXSciCiBtc2dzdHIgInbhcmF0bGFuIEVPRiBhbe1nIHZpenNn4Wx0YW0gYSAgYCVjJy10IgogCi0jOiBwYXJzZS55OjM3MjcKKyM6IHBhcnNlLnk6Mzk1NgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAic3ppbnRha3Rpa2FpIGhpYmEgYSB24XJhdGxhbiAlcyB2ZXrpcmplbCBr9nL8bCIKIAotIzogcGFyc2UueTozNzMxCisjOiBwYXJzZS55OjM5NjAKICMsIGZ1enp5CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgInN6aW50YWt0aWthaSBoaWJhIGEga2lmZWx5ZXrpc2JlbiIKIAotIzogcGFyc2UueTozODA5CisjOiBwYXJzZS55OjQwMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozODEzCisjOiBwYXJzZS55OjQwNDIKICMsIGZ1enp5CiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICInKScgc3r8a3PpZ2VzIgogCi0jOiBwYXJzZS55OjM4NDEKKyM6IHBhcnNlLnk6NDA3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozODQ1CisjOiBwYXJzZS55OjQwNzQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6Mzg4NQorIzogcGFyc2UueTo0MTIwCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6Ymlu4XJpcyBt+3ZlbGV0IHN6/Gtz6WdlcyIKIAotIzogcGFyc2UueTozODg5CisjOiBwYXJzZS55OjQxMjQKICMsIGZ1enp5CiBtc2dpZCAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczpiaW7hcmlzIG37dmVsZXQgc3r8a3PpZ2VzIgogCi0jOiBwYXJzZS55OjM5MDYKKyM6IHBhcnNlLnk6NDE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzkxMAorIzogcGFyc2UueTo0MTUwCiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozOTIxCisjOiBwYXJzZS55OjQxNjEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJgOicgdPpsbOlwdGUgYSBraWZlbHlleulzIGZlbHTpdGVsZWl0IgogCi0jOiBwYXJzZS55OjM5MjQKKyM6IHBhcnNlLnk6NDE2NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgImA6JyB0+mxs6XB0ZSBhIGtpZmVseWV66XMgZmVsdOl0ZWxlaXQiCiAKLSM6IHBhcnNlLnk6MzkyOAorIzogcGFyc2UueTo0MTY4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuICVkIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgImA6JyB0+mxs6XB0ZSBhIGtpZmVseWV66XMgZmVsdOl0ZWxlaXQiCiAKLSM6IHBhcnNlLnk6NTE5NQorIzogcGFyc2UueTo1NDU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAic3ppbnRha3Rpa2FpIGhpYmEgYSB24XJhdGxhbiAlcyB2ZXrpcmplbCBr9nL8bCIKIAotIzogcGFyc2UueTo1MjEzCisjOiBwYXJzZS55OjU0NzcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCiBtc2dzdHIgInN6aW50YWt0aWthaSBoaWJhIGEgduFyYXRsYW4gJXMgdmV66XJqZWwga/Zy/GwiCiAKLSM6IHBhcnNlLnk6NTIyMworIzogcGFyc2UueTo1NDg3CiBtc2dpZCAic3ludGF4IGVycm9yOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICJzemludGFrdGlrYWkgaGliYTogIHbhcmF0bGFuIGbhamwgdulnIgogCi0jOiBwYXJzZS55OjUyMjMKKyM6IHBhcnNlLnk6NTQ4NwogbXNnaWQgInN5bnRheCBlcnJvciIKIG1zZ3N0ciAic3ppbnRha3Rpa2FpIGhpYmEiCiAKLSM6IHBhcnNlLnk6NTI4NQorIzogcGFyc2UueTo1NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICJIYXN6buFsamEgXCIlc1wiIGEgcGFyYW5jc+lydGVsbWV69SBlbGhhZ3nhc+Fob3ouXG4iCiAKLSM6IHBhcnNlLnk6NTQ0NworIzogcGFyc2UueTo1NzExCiAjLCBmdXp6eQogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGApJyIKIG1zZ3N0ciAiduFyYXRsYW4gRU9GIGFt7Wcgdml6c2fhbHRhbSBhICBgJWMnLXQiCiAKLSM6IHBjb21wbGV0ZS5jOjEwMTgKKyM6IHBjb21wbGV0ZS5jOjEwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgIiIKQEAgLTEzMzYsNzIgKzEzODYsOTEgQEAKIG1zZ2lkICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjI4NQorIzogcHJpbnRfY21kLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAicHJpbnRfY29tbWFuZDogcm9zc3ogY3NhdGxha2964XMgYCVkJyIKIAotIzogcHJpbnRfY21kLmM6MTM0OAorIzogcHJpbnRfY21kLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzozNjgKK21zZ2lkICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgorbXNnc3RyICIiCisKKyM6IHByaW50X2NtZC5jOjE0NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3ByaW50ZjogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6MTA1CisjOiByZWRpci5jOjExMAogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxNDgKKyM6IHJlZGlyLmM6MTY2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogYW1iaWd1b3VzIHJlZGlyZWN0IgogbXNnc3RyICIlczogTmVtIGVneelydGVsbfsg4XRpcuFuee104XMiCiAKLSM6IHJlZGlyLmM6MTUyCisjOiByZWRpci5jOjE3MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIG1zZ3N0ciAiJXM6IE5lbSBsZWhldCBtZWdzZW1taXPtdGVuaSBs6XRlevUgZuFqbHSRIgogCi0jOiByZWRpci5jOjE1NworIzogcmVkaXIuYzoxNzUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3QgcmVkaXJlY3Qgb3V0cHV0IgogbXNnc3RyICIlczogZmVubnRhcnR2YTogcGFyYW5jcyBuZW0gdGFydGFsbWF6aGF0ICcvJyBrYXJha3RlcnQiCiAKLSM6IHJlZGlyLmM6MTYyCisjOiByZWRpci5jOjE4MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgogbXNnc3RyICJuZW0gbGVoZXQgbOl0cmVob3puaSBhIHBpcGUtb3QgZmVsYWRhdCBiZWhlbHlldHRlc+106XNoZXo6ICVzIgogCi0jOiByZWRpci5jOjUxNworIzogcmVkaXIuYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgorbXNnc3RyICIlczogbmVtIGxlaGV0IGEgbGlzdOFob3ogcmVuZGVsbmkgYXogZWxlbWV0IgorCisjOiByZWRpci5jOjU0NAogbXNnaWQgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjEwMjMKKyM6IHJlZGlyLmM6MTEwMQogIywgZnV6enkKIG1zZ2lkICJyZWRpcmVjdGlvbiBlcnJvcjogY2Fubm90IGR1cGxpY2F0ZSBmZCIKIG1zZ3N0ciAi4XRpcuFuee104XNpIGhpYmEiCiAKLSM6IHNoZWxsLmM6MzI4CisjOiBzaGVsbC5jOjMzMgogbXNnaWQgImNvdWxkIG5vdCBmaW5kIC90bXAsIHBsZWFzZSBjcmVhdGUhIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzNgogbXNnaWQgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6ODc2CisjOiBzaGVsbC5jOjg4NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJWMlYzogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVjJWM6IHJvc3N6IG9wY2nzIgogCi0jOiBzaGVsbC5jOjE2MzgKKyM6IHNoZWxsLmM6MTY1MQogbXNnaWQgIkkgaGF2ZSBubyBuYW1lISIKIG1zZ3N0ciAiTmluY3MgbmV2ZW0hIgogCi0jOiBzaGVsbC5jOjE3NzgKKyM6IHNoZWxsLmM6MTc5MwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgogbXNnc3RyICJHTlUgJXMsIHZlcnpp8yAlc1xuIgogCi0jOiBzaGVsbC5jOjE3NzkKKyM6IHNoZWxsLmM6MTc5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKQEAgLTE0MTAsMzkzICsxNDc5LDQxNCBAQAogIkhhc3pu4WxhdDpcdCVzIFtHTlUgaG9zc3r6IG9wY2nzXSBbb3BjafNdIC4uLlxuIgogIlx0JXMgW0dOVSBob3Nzevogb3BjafNdIFtvcGNp810gcGFyYW5jcyBm4WpsIC4uLlxuIgogCi0jOiBzaGVsbC5jOjE3ODEKKyM6IHNoZWxsLmM6MTc5NgogbXNnaWQgIkdOVSBsb25nIG9wdGlvbnM6XG4iCiBtc2dzdHIgIkdOVSBob3Nzevogb3BjafNrOlxuIgogCi0jOiBzaGVsbC5jOjE3ODUKKyM6IHNoZWxsLmM6MTgwMAogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgIlBhcmFuY3PpcnRlbG1levUgb3BjafNrOlxuIgogCi0jOiBzaGVsbC5jOjE3ODYKKyM6IHNoZWxsLmM6MTgwMQogIywgZnV6enkKIG1zZ2lkICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCiBtc2dzdHIgIlx0LWlyc0QgdmFneSAtYyBwYXJhbmNzXHRcdChjc2FrIHbpZ3JlaGFqdGhhdPMpXG4iCiAKLSM6IHNoZWxsLmM6MTgwMQorIzogc2hlbGwuYzoxODE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgogbXNnc3RyICJcdC0lcyB2YWd5IC1vIG9wY2nza1xuIgogCi0jOiBzaGVsbC5jOjE4MDcKKyM6IHNoZWxsLmM6MTgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIiIKICLNcmphIGJlIGEgYCVzIC1jIFwiaGVscCBzZXRcIicgaGEgdPZiYiBpbmZvcm3hY2nzcmEgdmFuIHN6/Gtz6WdlIGEgIgogInBhcmFuY3PpcnRlbG1levUgb3BjafNpdmFsIGthcGNzb2xhdGJhbi5cbiIKIAotIzogc2hlbGwuYzoxODA4CisjOiBzaGVsbC5jOjE4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKIG1zZ3N0ciAiIgogIs1yamEgYmUgYSBgJXMgLWMgXCJoZWxwIHNldFwiJyBoYSB09mJiIGluZm9ybeFjafNyYSB2YW4gc3r8a3PpZ2UgYSAiCiAicGFyYW5jc+lydGVsbWV69SBiZelw7XRldHQgdXRhc+104XNhaXZhbCBrYXBjc29sYXRiYW4uXG4iCiAKLSM6IHNoZWxsLmM6MTgwOQorIzogc2hlbGwuYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIiIKIAotIzogc2lnLmM6NTgzCisjOiBzaWcuYzo2MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NDcKKyM6IHNpZ2xpc3QuYzo0OAogbXNnaWQgIkJvZ3VzIHNpZ25hbCIKIG1zZ3N0ciAiSGFtaXMgamVsIgogCi0jOiBzaWdsaXN0LmM6NTAKKyM6IHNpZ2xpc3QuYzo1MQogbXNnaWQgIkhhbmd1cCIKIG1zZ3N0ciAiQm9udOFzIgogCi0jOiBzaWdsaXN0LmM6NTQKKyM6IHNpZ2xpc3QuYzo1NQogbXNnaWQgIkludGVycnVwdCIKIG1zZ3N0ciAiTWVnc3pha+104XMiCiAKLSM6IHNpZ2xpc3QuYzo1OAorIzogc2lnbGlzdC5jOjU5CiBtc2dpZCAiUXVpdCIKIG1zZ3N0ciAiS2ls6XDpcyIKIAotIzogc2lnbGlzdC5jOjYyCisjOiBzaWdsaXN0LmM6NjMKIG1zZ2lkICJJbGxlZ2FsIGluc3RydWN0aW9uIgogbXNnc3RyICLJcnbpbnl0ZWxlbiB1dGFz7XThcyIKIAotIzogc2lnbGlzdC5jOjY2CisjOiBzaWdsaXN0LmM6NjcKIG1zZ2lkICJCUFQgdHJhY2UvdHJhcCIKIG1zZ3N0ciAiQlBUIG55b21r9nZldOlzL2NzYXBkYSIKIAotIzogc2lnbGlzdC5jOjc0CisjOiBzaWdsaXN0LmM6NzUKIG1zZ2lkICJBQk9SVCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiVXRhc+104XMgTUVHU1pBS81UwVNBIgogCi0jOiBzaWdsaXN0LmM6NzgKKyM6IHNpZ2xpc3QuYzo3OQogbXNnaWQgIkVNVCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiRU1UIHV0YXPtdOFzIgogCi0jOiBzaWdsaXN0LmM6ODIKKyM6IHNpZ2xpc3QuYzo4MwogbXNnaWQgIkZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiIKIG1zZ3N0ciAiTGViZWf1IHBvbnRvcyBlc2Vt6W55IgogCi0jOiBzaWdsaXN0LmM6ODYKKyM6IHNpZ2xpc3QuYzo4NwogbXNnaWQgIktpbGxlZCIKIG1zZ3N0ciAiS2ls9XZlIgogCi0jOiBzaWdsaXN0LmM6OTAKKyM6IHNpZ2xpc3QuYzo5MQogbXNnaWQgIkJ1cyBlcnJvciIKIG1zZ3N0ciAiQnVzeiBoaWJhIgogCi0jOiBzaWdsaXN0LmM6OTQKKyM6IHNpZ2xpc3QuYzo5NQogbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKIG1zZ3N0ciAiU3plZ21lbnMgaGliYSIKIAotIzogc2lnbGlzdC5jOjk4CisjOiBzaWdsaXN0LmM6OTkKIG1zZ2lkICJCYWQgc3lzdGVtIGNhbGwiCiBtc2dzdHIgIlJvc3N6IHJlbmRzemVyaO124XMiCiAKLSM6IHNpZ2xpc3QuYzoxMDIKKyM6IHNpZ2xpc3QuYzoxMDMKIG1zZ2lkICJCcm9rZW4gcGlwZSIKIG1zZ3N0ciAiVPZy9nR0IGNz9SAocGlwZSkiCiAKLSM6IHNpZ2xpc3QuYzoxMDYKKyM6IHNpZ2xpc3QuYzoxMDcKIG1zZ2lkICJBbGFybSBjbG9jayIKIG1zZ3N0ciAiRW1s6WtlenRldOlzIgogCi0jOiBzaWdsaXN0LmM6MTEwCisjOiBzaWdsaXN0LmM6MTExCiAjLCBmdXp6eQogbXNnaWQgIlRlcm1pbmF0ZWQiCiBtc2dzdHIgImtpLiIKIAotIzogc2lnbGlzdC5jOjExNAorIzogc2lnbGlzdC5jOjExNQogbXNnaWQgIlVyZ2VudCBJTyBjb25kaXRpb24iCiBtc2dzdHIgIlP8cmf1cyBJTyBmZWx06XRlbCIKIAotIzogc2lnbGlzdC5jOjExOAorIzogc2lnbGlzdC5jOjExOQogbXNnaWQgIlN0b3BwZWQgKHNpZ25hbCkiCiBtc2dzdHIgIk1lZ+FsbO10dmEgKGplbGxlbCkiCiAKLSM6IHNpZ2xpc3QuYzoxMjYKKyM6IHNpZ2xpc3QuYzoxMjcKIG1zZ2lkICJDb250aW51ZSIKIG1zZ3N0ciAiRm9seXRhdOFzIgogCi0jOiBzaWdsaXN0LmM6MTM0CisjOiBzaWdsaXN0LmM6MTM1CiBtc2dpZCAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKIG1zZ3N0ciAiR3llcm1layBvYmpla3R1bSBtZWdoYWx0IHZhZ3kgbWVn4WxsdCIKIAotIzogc2lnbGlzdC5jOjEzOAorIzogc2lnbGlzdC5jOjEzOQogbXNnaWQgIlN0b3BwZWQgKHR0eSBpbnB1dCkiCiBtc2dzdHIgIk1lZ+FsbO10dmEgKHR0eSBiZW1lbmV0KSIKIAotIzogc2lnbGlzdC5jOjE0MgorIzogc2lnbGlzdC5jOjE0MwogbXNnaWQgIlN0b3BwZWQgKHR0eSBvdXRwdXQpIgogbXNnc3RyICJNZWfhbGztdHZhICh0dHkga2ltZW5ldCkiCiAKLSM6IHNpZ2xpc3QuYzoxNDYKKyM6IHNpZ2xpc3QuYzoxNDcKIG1zZ2lkICJJL08gcmVhZHkiCiBtc2dzdHIgIkkvTyBr6XN6IgogCi0jOiBzaWdsaXN0LmM6MTUwCisjOiBzaWdsaXN0LmM6MTUxCiBtc2dpZCAiQ1BVIGxpbWl0IgogbXNnc3RyICJDUFUgaGF04XIiCiAKLSM6IHNpZ2xpc3QuYzoxNTQKKyM6IHNpZ2xpc3QuYzoxNTUKIG1zZ2lkICJGaWxlIGxpbWl0IgogbXNnc3RyICJG4WpsIGhhdOFyIgogCi0jOiBzaWdsaXN0LmM6MTU4CisjOiBzaWdsaXN0LmM6MTU5CiBtc2dpZCAiQWxhcm0gKHZpcnR1YWwpIgogbXNnc3RyICJFbWzpa2V6dGV06XMgKHZpcnR14WxpcykiCiAKLSM6IHNpZ2xpc3QuYzoxNjIKKyM6IHNpZ2xpc3QuYzoxNjMKIG1zZ2lkICJBbGFybSAocHJvZmlsZSkiCiBtc2dzdHIgIkVtbOlrZXp0ZXTpcyAocHJvZmlsKSIKIAotIzogc2lnbGlzdC5jOjE2NgorIzogc2lnbGlzdC5jOjE2NwogbXNnaWQgIldpbmRvdyBjaGFuZ2VkIgogbXNnc3RyICJBYmxhayBtZWd24Wx0b3pvdHQiCiAKLSM6IHNpZ2xpc3QuYzoxNzAKKyM6IHNpZ2xpc3QuYzoxNzEKIG1zZ2lkICJSZWNvcmQgbG9jayIKIG1zZ3N0ciAiRmVsdul0ZWwgeuFyb2x2YSIKIAotIzogc2lnbGlzdC5jOjE3NAorIzogc2lnbGlzdC5jOjE3NQogbXNnaWQgIlVzZXIgc2lnbmFsIDEiCiBtc2dzdHIgIkZlbGhhc3pu4WzzaSBqZWwgMSIKIAotIzogc2lnbGlzdC5jOjE3OAorIzogc2lnbGlzdC5jOjE3OQogbXNnaWQgIlVzZXIgc2lnbmFsIDIiCiBtc2dzdHIgIkZlbGhhc3pu4WzzaSBqZWwgMiIKIAotIzogc2lnbGlzdC5jOjE4MgorIzogc2lnbGlzdC5jOjE4MwogbXNnaWQgIkhGVCBpbnB1dCBkYXRhIHBlbmRpbmciCiBtc2dzdHIgIkhGVCBiZW1lbmV0aSBhZGF0IGb8Z2f1YmVuIgogCi0jOiBzaWdsaXN0LmM6MTg2CisjOiBzaWdsaXN0LmM6MTg3CiBtc2dpZCAicG93ZXIgZmFpbHVyZSBpbW1pbmVudCIKIG1zZ3N0ciAi4XJhbSBraW1hcmFk4XMgduFyaGF08yIKIAotIzogc2lnbGlzdC5jOjE5MAorIzogc2lnbGlzdC5jOjE5MQogbXNnaWQgInN5c3RlbSBjcmFzaCBpbW1pbmVudCIKIG1zZ3N0ciAicmVuZHN6ZXIgc+ly/GzpcyB24XJoYXTzIgogCi0jOiBzaWdsaXN0LmM6MTk0CisjOiBzaWdsaXN0LmM6MTk1CiBtc2dpZCAibWlncmF0ZSBwcm9jZXNzIHRvIGFub3RoZXIgQ1BVIgogbXNnc3RyICJmZWxhZGF0IOF0YWThc2EgbeFzaWsgQ1BVLW5hayIKIAotIzogc2lnbGlzdC5jOjE5OAorIzogc2lnbGlzdC5jOjE5OQogbXNnaWQgInByb2dyYW1taW5nIGVycm9yIgogbXNnc3RyICJwcm9ncmFtb3rhc2kgaGliYSIKIAotIzogc2lnbGlzdC5jOjIwMgorIzogc2lnbGlzdC5jOjIwMwogbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgZ3JhbnRlZCIKIG1zZ3N0ciAiSEZUIGZlbPxneWVs9SBt82QgZW5nZWTpbHllenZlIgogCi0jOiBzaWdsaXN0LmM6MjA2CisjOiBzaWdsaXN0LmM6MjA3CiBtc2dpZCAiSEZUIG1vbml0b3IgbW9kZSByZXRyYWN0ZWQiCiBtc2dzdHIgIkhGVCBmZWz8Z3llbPUgbfNkIHZpc3N6YXZvbnZhIgogCi0jOiBzaWdsaXN0LmM6MjEwCisjOiBzaWdsaXN0LmM6MjExCiBtc2dpZCAiSEZUIHNvdW5kIHNlcXVlbmNlIGhhcyBjb21wbGV0ZWQiCiBtc2dzdHIgIkhGVCBoYW5nc29yb3phdCBiZWhlbHllenZlIgogCi0jOiBzaWdsaXN0LmM6MjE0CisjOiBzaWdsaXN0LmM6MjE1CiBtc2dpZCAiSW5mb3JtYXRpb24gcmVxdWVzdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjIyCisjOiBzaWdsaXN0LmM6MjIzCiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyIKIG1zZ3N0ciAiSXNtZXJldGxlbiAjIFN6aWdu4WwiCiAKLSM6IHNpZ2xpc3QuYzoyMjQKKyM6IHNpZ2xpc3QuYzoyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyVkIgogbXNnc3RyICJJc21lcmV0bGVuICMlZCBTemlnbuFsIgogCi0jOiBzdWJzdC5jOjExODEgc3Vic3QuYzoxMzAyCisjOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNDU0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIGAlcycgaW4gJXMiCiBtc2dzdHIgInJvc3N6IGJlaGVseWV0dGVz7XTpczogbmUgYSAlcyBiZSBhICVzLXQiCiAKLSM6IHN1YnN0LmM6MjQ1OAorIzogc3Vic3QuYzoyNzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogbXNnc3RyICIlczogbmVtIGxlaGV0IGEgbGlzdOFob3ogcmVuZGVsbmkgYXogZWxlbWV0IgogCi0jOiBzdWJzdC5jOjQ0NTYgc3Vic3QuYzo0NDcyCisjOiBzdWJzdC5jOjQ3NTQgc3Vic3QuYzo0NzcwCiAjLCBmdXp6eQogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJuZW0gbGVoZXQgbOl0cmVob3puaSBhIHBpcGUtb3QgZmVsYWRhdCBiZWhlbHlldHRlc+106XNoZXo6ICVzIgogCi0jOiBzdWJzdC5jOjQ1MDQKKyM6IHN1YnN0LmM6NDgwMgogIywgZnV6enkKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKICJuZW0gbGVoZXQgbOl0cmVob3puaSBhIGd5ZXJtZWtmb2x5YW1hdG90dCBmZWxhZGF0IGJlaGVseWV0dGVz7XTpc2hlejogJXMiCiAKLSM6IHN1YnN0LmM6NDU0OQorIzogc3Vic3QuYzo0ODQ3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogbXNnc3RyICJuZW0gbGVoZXQgbOl0cmVob3puaSBhICAlcyBcIm5hbWVkIHBpcGVcIi1vdCBhICVzLW5lazogJXMiCiAKLSM6IHN1YnN0LmM6NDU1MQorIzogc3Vic3QuYzo0ODQ5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciB3cml0aW5nIgogbXNnc3RyICJuZW0gbGVoZXQgbOl0cmVob3puaSBhICAlcyBcIm5hbWVkIHBpcGVcIi1vdCBhICVzLW5lazogJXMiCiAKLSM6IHN1YnN0LmM6NDU2OQorIzogc3Vic3QuYzo0ODY3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgIm5lbSBsZWhldCBt4XNvbG5pIGEgJXMgXCJuYW1lZCBwaXBlXCItb3QgbWludCBmZCAlZCA6JXMiCiAKLSM6IHN1YnN0LmM6NDc2NQorIzogc3Vic3QuYzo1MDYzCiAjLCBmdXp6eQogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJuZW0gbGVoZXQgbOl0cmVob3puaSBhIFwicGlwZVwiLW90IHBhcmFuY3MgYmVoZWx5ZXR0ZXPtdOlz6WhlejogJXMiCiAKLSM6IHN1YnN0LmM6NDc5OQorIzogc3Vic3QuYzo1MDk3CiAjLCBmdXp6eQogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgogIm5lbSBsZWhldCBs6XRyZWhvem5pIGEgZ3llcm1la2ZvbHlhbWF0b3QgYSBwYXJhbmNzIGJlaGVseWV0dGVz7XTpc+loZXo6ICVzIgogCi0jOiBzdWJzdC5jOjQ4MTYKKyM6IHN1YnN0LmM6NTExNAogIywgZnV6enkKIG1zZ2lkICJjb21tYW5kX3N1YnN0aXR1dGU6IGNhbm5vdCBkdXBsaWNhdGUgcGlwZSBhcyBmZCAxIgogbXNnc3RyICJjb21tYW5kX3N1YnN0aXR1dGU6IG5lbSBsZWhldCBt4XNvbG5pIGEgXCJwaXBlXCItb3QgbWludCBmZCAxOiAlcyIKIAotIzogc3Vic3QuYzo1MzE4CisjOiBzdWJzdC5jOjU2MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCiBtc2dzdHIgIiVzIHBhcmFt6XRlciBzZW1taXMgdmFneSBuaW5jcyBiZeFsbO10dmEiCiAKLSM6IHN1YnN0LmM6NTYwOAorIzogc3Vic3QuYzo1OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiBtc2dzdHIgIiVzIHN69nZlZ3Lpc3oga2lmZWpleulzIDwgMCIKIAotIzogc3Vic3QuYzo2NjYwCisjOiBzdWJzdC5jOjY5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiVzIHJvc3N6IGJlaGVseWV0dGVz7XTpcyIKIAotIzogc3Vic3QuYzo2NzQwCisjOiBzdWJzdC5jOjcwNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXMg7Wd5IG5lbSBsZWhldCBob3p64XJlbmRlbG5pIgogCi0jOiBzdWJzdC5jOjc0OTkKKyM6IHN1YnN0LmM6NzM3NAorbXNnaWQgIiIKKyJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKKyJzdWJzdGl0dXRpb24iCittc2dzdHIgIiIKKworIzogc3Vic3QuYzo3ODM5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgogbXNnc3RyICJyb3NzeiBiZWhlbHlldHRlc+106XM6IG5lIGEgJXMgYmUgYSAlcy10IgogCi0jOiBzdWJzdC5jOjgzNzUKKyM6IHN1YnN0LmM6ODcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaDogJXMiCiBtc2dzdHIgIiIKIAotIzogdGVzdC5jOjE0NQorIzogdGVzdC5jOjE0NgogbXNnaWQgImFyZ3VtZW50IGV4cGVjdGVkIgogbXNnc3RyICJwYXJhbel0ZXIgc3r8a3PpZ2VzIgogCi0jOiB0ZXN0LmM6MTU0CisjOiB0ZXN0LmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnRlZ2VyIGV4cHJlc3Npb24gZXhwZWN0ZWQiCiBtc2dzdHIgIiVzIGVn6XN6IHN64W0gc3r8a3PpZ2VzIgogCi0jOiB0ZXN0LmM6MjYyCisjOiB0ZXN0LmM6MjYzCiBtc2dpZCAiYCknIGV4cGVjdGVkIgogbXNnc3RyICInKScgc3r8a3PpZ2VzIgogCi0jOiB0ZXN0LmM6MjY0CisjOiB0ZXN0LmM6MjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImApJyBleHBlY3RlZCwgZm91bmQgJXMiCiBtc2dzdHIgIicpJyBzevxrc+lnZXMsICVzLXQgdGFs4Wx0YW0iCiAKLSM6IHRlc3QuYzoyNzkgdGVzdC5jOjY4OCB0ZXN0LmM6NjkxCisjOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTMgdGVzdC5jOjY5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzIHVu4XJpcyBt+3ZlbGV0IHN6/Gtz6WdlcyIKIAotIzogdGVzdC5jOjQ0NCB0ZXN0LmM6NzMxCisjOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6Ymlu4XJpcyBt+3ZlbGV0IHN6/Gtz6WdlcyIKIAotIzogdGVzdC5jOjgwNgorIzogdGVzdC5jOjgxMQogbXNnaWQgIm1pc3NpbmcgYF0nIgogbXNnc3RyICJoaeFueXrzICddJyIKIAotIzogdHJhcC5jOjIwMQorIzogdHJhcC5jOjIwMwogIywgZnV6enkKIG1zZ2lkICJpbnZhbGlkIHNpZ25hbCBudW1iZXIiCiBtc2dzdHIgInJvc3N6IGplbChzaWduYWwpIHN64W0iCiAKLSM6IHRyYXAuYzozMjQKKyM6IHRyYXAuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVuX3BlbmRpbmdfdHJhcHM6IGJhZCB2YWx1ZSBpbiB0cmFwX2xpc3RbJWRdOiAlcCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFwLmM6MzI4CisjOiB0cmFwLmM6MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgogbXNnc3RyICIiCiAKLSM6IHRyYXAuYzozNzIKKyM6IHRyYXAuYzozODAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKIG1zZ3N0ciAidHJhcF9oYW5kbGVyOiBSb3NzeiBqZWwoc2lnbmFsKSAlZCIKIAotIzogdmFyaWFibGVzLmM6MzU4CisjOiB2YXJpYWJsZXMuYzozNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIGAlcyciCiBtc2dzdHIgImhpYmEgYSAlcyBmdW5rY2nzIGRlZmlu7WNp8yBpbXBvcnThbOFzYWtvciIKIAotIzogdmFyaWFibGVzLmM6NzM2CisjOiB2YXJpYWJsZXMuYzo3NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MTg5OAorIzogdmFyaWFibGVzLmM6MTkxNQogbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMTI3CisjOiB2YXJpYWJsZXMuYzozMTU5CiBtc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNDQgdmFyaWFibGVzLmM6MzM1MworIzogdmFyaWFibGVzLmM6MzM3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG51bGwgZXhwb3J0c3RyIgorbXNnc3RyICIlcyBwYXJhbel0ZXIgc2VtbWlzIHZhZ3kgbmluY3MgYmXhbGztdHZhIgorCisjOiB2YXJpYWJsZXMuYzozMzgxIHZhcmlhYmxlcy5jOjMzOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMzU5CisjOiB2YXJpYWJsZXMuYzozMzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM3OTQKKyM6IHZhcmlhYmxlcy5jOjM4MzUKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzgwNworIzogdmFyaWFibGVzLmM6Mzg0OAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM4ODEKKyM6IHZhcmlhYmxlcy5jOjM5MjIKIG1zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKIG1zZ3N0ciAiIgogCisjOiB2YXJpYWJsZXMuYzo0Njc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCittc2dzdHIgIiVzOiBuZW0gbGVoZXQgbOl0cmVob3puaTogJXMiCisKKyM6IHZhcmlhYmxlcy5jOjQ2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiIKKwogIzogdmVyc2lvbi5jOjQ2CiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIG1zZ3N0ciAiIgpAQCAtMTgwNyw2MCArMTg5Nyw1MiBAQAogImh0bWw+XG4iCiBtc2dzdHIgIiIKIAotIzogdmVyc2lvbi5jOjg2CisjOiB2ZXJzaW9uLmM6ODYgdmVyc2lvbjIuYzo4MwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMgKCVzKVxuIgogbXNnc3RyICJHTlUgJXMsIHZlcnpp8yAlc1xuIgogCi0jOiB2ZXJzaW9uLmM6OTEKKyM6IHZlcnNpb24uYzo5MSB2ZXJzaW9uMi5jOjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmlidXRlIGl0LlxuIgogbXNnc3RyICIiCiAKLSM6IHZlcnNpb24uYzo5MgorIzogdmVyc2lvbi5jOjkyIHZlcnNpb24yLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKIG1zZ3N0ciAiIgogCi0jOiB4bWFsbG9jLmM6OTIKKyM6IHZlcnNpb24yLmM6ODYKICMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgInhtYWxsb2M6IG5lbSBsZWhldCD6anJhIGxlZm9nbGFsbmkgJWx1IGLhanRvdCAoJWx1IGLhanQgbGVmb2dsYWx2YSkiCittc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgorbXNnc3RyICIiCiAKLSM6IHhtYWxsb2MuYzo5NAotIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKLW1zZ3N0ciAieG1hbGxvYzogbmVtIGxlaGV0IPpqcmEgbGVmb2dsYWxuaSAlbHUgYuFqdG90ICglbHUgYuFqdCBsZWZvZ2xhbHZhKSIKLQotIzogeG1hbGxvYy5jOjExNAorIzogdmVyc2lvbjIuYzo4NwogIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAieG1hbGxvYzogbmVtIGxlaGV0IGxlZm9nbGFsbmkgJWx1IGLhanRvdCAoJWx1IGLhanQgbGVmb2dsYWx2YSkiCittc2dpZCAiIgorIkxpY2Vuc2UgR1BMdjIrOiBHTlUgR1BMIHZlcnNpb24gMiBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKKyJodG1sPlxuIgorbXNnc3RyICIiCiAKLSM6IHhtYWxsb2MuYzoxMTYKKyM6IHhtYWxsb2MuYzo5MQogIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhtYWxsb2M6IG5lbSBsZWhldCBsZWZvZ2xhbG5pICVsdSBi4Wp0b3QgKCVsdSBi4Wp0IGxlZm9nbGFsdmEpIgotCi0jOiB4bWFsbG9jLmM6MTUwCi0jLCBmdXp6eSwgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCittc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgogbXNnc3RyICJ4bWFsbG9jOiBuZW0gbGVoZXQg+mpyYSBsZWZvZ2xhbG5pICVsdSBi4Wp0b3QgKCVsdSBi4Wp0IGxlZm9nbGFsdmEpIgogCi0jOiB4bWFsbG9jLmM6MTUyCisjOiB4bWFsbG9jLmM6OTMKICMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgogbXNnc3RyICJ4bWFsbG9jOiBuZW0gbGVoZXQg+mpyYSBsZWZvZ2xhbG5pICVsdSBi4Wp0b3QgKCVsdSBi4Wp0IGxlZm9nbGFsdmEpIgogCi0jOiB4bWFsbG9jLmM6MTc0CisjOiB4bWFsbG9jLmM6MTYzCiAjLCBmdXp6eSwgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgInhtYWxsb2M6IG5lbSBsZWhldCBsZWZvZ2xhbG5pICVsdSBi4Wp0b3QgKCVsdSBi4Wp0IGxlZm9nbGFsdmEpIgorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCittc2dzdHIgInhtYWxsb2M6IG5lbSBsZWhldCD6anJhIGxlZm9nbGFsbmkgJWx1IGLhanRvdCAoJWx1IGLhanQgbGVmb2dsYWx2YSkiCiAKLSM6IHhtYWxsb2MuYzoxNzYKKyM6IHhtYWxsb2MuYzoxNjUKICMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKLW1zZ3N0ciAieG1hbGxvYzogbmVtIGxlaGV0IGxlZm9nbGFsbmkgJWx1IGLhanRvdCAoJWx1IGLhanQgbGVmb2dsYWx2YSkiCittc2dpZCAiJXM6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorbXNnc3RyICJ4bWFsbG9jOiBuZW0gbGVoZXQg+mpyYSBsZWZvZ2xhbG5pICVsdSBi4Wp0b3QgKCVsdSBi4Wp0IGxlZm9nbGFsdmEpIgogCiAjOiBidWlsdGlucy5jOjQzCiBtc2dpZCAiYWxpYXMgWy1wXSBbbmFtZVs9dmFsdWVdIC4uLiBdIgpAQCAtMTk5NCw3ICsyMDc2LDcgQEAKIAogIzogYnVpbHRpbnMuYzoxMTcKICMsIGZ1enp5Ci1tc2dpZCAiaGVscCBbLWRzXSBbcGF0dGVybiAuLi5dIgorbXNnaWQgImhlbHAgWy1kbXNdIFtwYXR0ZXJuIC4uLl0iCiBtc2dzdHIgImhlbHAgW21pbnRhIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTIxCkBAIC0yMDI5LDggKzIxMTEsOCBAQAogCiAjOiBidWlsdGlucy5jOjEzNgogbXNnaWQgIiIKLSJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstcCBwcm9tcHRdIFstdCAiCi0idGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgorInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKKyJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxMzgKQEAgLTIyMTUsOSArMjI5Nyw5IEBACiAKICM6IGJ1aWx0aW5zLmM6MjI5CiBtc2dpZCAiIgotImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy1XICIKLSJ3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyBzdWZmaXhdICIKLSJbbmFtZSAuLi5dIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy0iCisiVyB3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyAiCisic3VmZml4XSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MjMzCkBAIC0yMjI4LDcgKzIzMTAsNyBAQAogCiAjOiBidWlsdGlucy5jOjIzNwogIywgZnV6enkKLW1zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFtuYW1lIC4uLl0iCittc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbLURFXSBbbmFtZSAuLi5dIgogbXNnc3RyICJ0eXBlIFstYXB0XSBu6XYgW27pdiAuLi5dIgogCiAjOiBidWlsdGlucy5jOjI0MApAQCAtMjk2MCw3ICszMDQyLDExIEBACiAiICAgICAgLWVcdFx0dXNlIFJlYWRsaW5lIHRvIG9idGFpbiB0aGUgbGluZSBpbiBhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgogIiAgICAgIC1pIHRleHRcdFVzZSBURVhUIGFzIHRoZSBpbml0aWFsIHRleHQgZm9yIFJlYWRsaW5lXG4iCiAiICAgICAgLW4gbmNoYXJzXHRyZXR1cm4gYWZ0ZXIgcmVhZGluZyBOQ0hBUlMgY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3YWl0aW5nXG4iCi0iICAgIFx0XHRmb3IgYSBuZXdsaW5lXG4iCisiICAgIFx0XHRmb3IgYSBuZXdsaW5lLCBidXQgaG9ub3IgYSBkZWxpbWl0ZXIgaWYgZmV3ZXIgdGhhbiBOQ0hBUlNcbiIKKyIgICAgXHRcdGNoYXJhY3RlcnMgYXJlIHJlYWQgYmVmb3JlIHRoZSBkZWxpbWl0ZXJcbiIKKyIgICAgICAtTiBuY2hhcnNcdHJldHVybiBvbmx5IGFmdGVyIHJlYWRpbmcgZXhhY3RseSBOQ0hBUlMgY2hhcmFjdGVycywgIgorInVubGVzc1xuIgorIiAgICBcdFx0RU9GIGlzIGVuY291bnRlcmVkIG9yIHJlYWQgdGltZXMgb3V0LCBpZ25vcmluZyBhbnkgZGVsaW1pdGVyXG4iCiAiICAgICAgLXAgcHJvbXB0XHRvdXRwdXQgdGhlIHN0cmluZyBQUk9NUFQgd2l0aG91dCBhIHRyYWlsaW5nIG5ld2xpbmUgYmVmb3JlXG4iCiAiICAgIFx0XHRhdHRlbXB0aW5nIHRvIHJlYWRcbiIKICIgICAgICAtclx0XHRkbyBub3QgYWxsb3cgYmFja3NsYXNoZXMgdG8gZXNjYXBlIGFueSBjaGFyYWN0ZXJzXG4iCkBAIC0yOTgwLDcgKzMwNjYsNyBAQAogIiAgICBvciBhbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBpcyBzdXBwbGllZCBhcyB0aGUgYXJndW1lbnQgdG8gLXUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTAwNgorIzogYnVpbHRpbnMuYzoxMDA5CiBtc2dpZCAiIgogIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMjk5Miw3ICszMDc4LDcgQEAKICIgICAgUmV0dXJucyBOLCBvciBmYWlsdXJlIGlmIHRoZSBzaGVsbCBpcyBub3QgZXhlY3V0aW5nIGEgZnVuY3Rpb24gb3Igc2NyaXB0LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEwMTkKKyM6IGJ1aWx0aW5zLmM6MTAyMgogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zMDc0LDcgKzMxNjAsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMDEKKyM6IGJ1aWx0aW5zLmM6MTEwNAogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzA5NCw3ICszMTgwLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIE5BTUUgaXMgcmVhZC1vbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMjEKKyM6IGJ1aWx0aW5zLmM6MTEyNAogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTMxMTMsNyArMzE5OSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNDAKKyM6IGJ1aWx0aW5zLmM6MTE0MwogbXNnaWQgIiIKICJNYXJrIHNoZWxsIHZhcmlhYmxlcyBhcyB1bmNoYW5nZWFibGUuXG4iCiAiICAgIFxuIgpAQCAtMzEzMyw3ICszMjE5LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE2MQorIzogYnVpbHRpbnMuYzoxMTY0CiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zMTQ0LDcgKzMyMzAsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE4gaXMgbmVnYXRpdmUgb3IgZ3JlYXRlciB0aGFuICQjLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNzMgYnVpbHRpbnMuYzoxMTg4CisjOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzE1OCw3ICszMjQ0LDcgQEAKICIgICAgRklMRU5BTUUgY2Fubm90IGJlIHJlYWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTIwNAorIzogYnVpbHRpbnMuYzoxMjA3CiBtc2dpZCAiIgogIlN1c3BlbmQgc2hlbGwgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTMxNzIsNyArMzI1OCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEyMjAKKyM6IGJ1aWx0aW5zLmM6MTIyMwogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTMyNDksNyArMzMzNSw3IEBACiAiICAgIGZhbHNlIG9yIGFuIGludmFsaWQgYXJndW1lbnQgaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTI5NgorIzogYnVpbHRpbnMuYzoxMjk5CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgpAQCAtMzI1OSw3ICszMzQ1LDcgQEAKIG1zZ3N0ciAiIgogImVneSAnXScgc3r2dmVna29uc3RhbnNuYWsga2VsbCBsZW5uaWUsIGhvZ3kgcOFyYmFuIGxlZ3llbiBhIG55aXTzICdbJy12YWwuIgogCi0jOiBidWlsdGlucy5jOjEzMDUKKyM6IGJ1aWx0aW5zLmM6MTMwOAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtMzI3MSw3ICszMzU3LDcgQEAKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzMTcKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJUcmFwIHNpZ25hbHMgYW5kIG90aGVyIGV2ZW50cy5cbiIKICIgICAgXG4iCkBAIC0zMzA3LDcgKzMzOTMsNyBAQAogImdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzNDkKKyM6IGJ1aWx0aW5zLmM6MTM1MgogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmQgdHlwZS5cbiIKICIgICAgXG4iCkBAIC0zMzM3LDcgKzM0MjMsNyBAQAogImZvdW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzODAKKyM6IGJ1aWx0aW5zLmM6MTM4MwogbXNnaWQgIiIKICJNb2RpZnkgc2hlbGwgcmVzb3VyY2UgbGltaXRzLlxuIgogIiAgICBcbiIKQEAgLTMzODEsNyArMzQ2Nyw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0MjUKKyM6IGJ1aWx0aW5zLmM6MTQyOAogbXNnaWQgIiIKICJEaXNwbGF5IG9yIHNldCBmaWxlIG1vZGUgbWFzay5cbiIKICIgICAgXG4iCkBAIC0zMzk5LDcgKzM0ODUsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE1PREUgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDQ1CisjOiBidWlsdGlucy5jOjE0NDgKIG1zZ2lkICIiCiAiV2FpdCBmb3Igam9iIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC0zNDE2LDcgKzM1MDIsNyBAQAogIiAgICBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDYzCisjOiBidWlsdGlucy5jOjE0NjYKIG1zZ2lkICIiCiAiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtMzQzMCw3ICszNTE2LDcgQEAKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ3OAorIzogYnVpbHRpbnMuYzoxNDgxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZm9yIGVhY2ggbWVtYmVyIGluIGEgbGlzdC5cbiIKICIgICAgXG4iCkBAIC0zNDQzLDcgKzM1MjksNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDkyCisjOiBidWlsdGlucy5jOjE0OTUKIG1zZ2lkICIiCiAiQXJpdGhtZXRpYyBmb3IgbG9vcC5cbiIKICIgICAgXG4iCkBAIC0zNDYwLDcgKzM1NDYsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTEwCisjOiBidWlsdGlucy5jOjE1MTMKIG1zZ2lkICIiCiAiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTM0ODAsNyArMzU2Niw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1MzEKKyM6IGJ1aWx0aW5zLmM6MTUzNAogbXNnaWQgIiIKICJSZXBvcnQgdGltZSBjb25zdW1lZCBieSBwaXBlbGluZSdzIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNDk2LDcgKzM1ODIsNyBAQAogIiAgICBUaGUgcmV0dXJuIHN0YXR1cyBpcyB0aGUgcmV0dXJuIHN0YXR1cyBvZiBQSVBFTElORS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTQ4CisjOiBidWlsdGlucy5jOjE1NTEKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gcGF0dGVybiBtYXRjaGluZy5cbiIKQEAgLTM1MDgsNyArMzU5NCw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiRmVsdOl0ZWxlc2VuIGZ1dHRhdGphIGEgUEFSQU5DU09UIGhhIGEgU1rTIG1lZ2VneWV6aWsgYSBNSU5UwVZBTC4gQSIKIAotIzogYnVpbHRpbnMuYzoxNTYwCisjOiBidWlsdGlucy5jOjE1NjMKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBjb25kaXRpb25hbC5cbiIKICIgICAgXG4iCkBAIC0zNTI5LDcgKzM2MTUsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTc3CisjOiBidWlsdGlucy5jOjE1ODAKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3Qgc3VjY2VlZHMuXG4iCkBAIC0zNTQxLDcgKzM2MjcsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIktpYm9udGphIOlzIHbpZ3JlaGFqdGphIGEgUEFSQU5DU09UIGFt7WcgYXogdXRvbHPzIHBhcmFuY3MgYSAiCiAKLSM6IGJ1aWx0aW5zLmM6MTU4OQorIzogYnVpbHRpbnMuYzoxNTkyCiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IGRvZXMgbm90IHN1Y2NlZWQuXG4iCkBAIC0zNTUzLDcgKzM2MzksNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIktpYm9udGphIOlzIHbpZ3JlaGFqdGphIGEgUEFSQU5DU09UIGFt7WcgYXogdXRvbHPzIHBhcmFuY3MgYSAiCiAKLSM6IGJ1aWx0aW5zLmM6MTYwMQorIzogYnVpbHRpbnMuYzoxNjA0CiBtc2dpZCAiIgogIkNyZWF0ZSBhIGNvcHJvY2VzcyBuYW1lZCBOQU1FLlxuIgogIiAgICBcbiIKQEAgLTM1NjYsNyArMzY1Miw3IEBACiAiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYxNQorIzogYnVpbHRpbnMuYzoxNjE4CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNTgwLDcgKzM2NjYsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgcmVhZG9ubHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYyOQorIzogYnVpbHRpbnMuYzoxNjMyCiAjLCBmdXp6eQogbXNnaWQgIiIKICJHcm91cCBjb21tYW5kcyBhcyBhIHVuaXQuXG4iCkBAIC0zNTkyLDcgKzM2NzgsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIlBhcmFuY3NvayBoYWxtYXrhdCBmdXR0YXRqYSBlZ3kgY3NvcG9ydGJhbi4gRXogYXogZWd5aWsgbfNkamEgYXoiCiAKLSM6IGJ1aWx0aW5zLmM6MTY0MQorIzogYnVpbHRpbnMuYzoxNjQ0CiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0zNjA2LDcgKzM2OTIsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIHJlc3VtZWQgam9iLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NTYKKyM6IGJ1aWx0aW5zLmM6MTY1OQogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtMzYxNyw3ICszNzAzLDcgQEAKICIgICAgUmV0dXJucyAxIGlmIEVYUFJFU1NJT04gZXZhbHVhdGVzIHRvIDA7IHJldHVybnMgMCBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY2OAorIzogYnVpbHRpbnMuYzoxNjcxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29uZGl0aW9uYWwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0zNjQ1LDcgKzM3MzEsNyBAQAogIiAgICAwIG9yIDEgZGVwZW5kaW5nIG9uIHZhbHVlIG9mIEVYUFJFU1NJT04uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY5NAorIzogYnVpbHRpbnMuYzoxNjk3CiBtc2dpZCAiIgogIkNvbW1vbiBzaGVsbCB2YXJpYWJsZSBuYW1lcyBhbmQgdXNhZ2UuXG4iCiAiICAgIFxuIgpAQCAtMzY5OSw3ICszNzg1LDcgQEAKICIgICAgXHRcdGNvbW1hbmRzIHNob3VsZCBiZSBzYXZlZCBvbiB0aGUgaGlzdG9yeSBsaXN0LlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTc1MQorIzogYnVpbHRpbnMuYzoxNzU0CiBtc2dpZCAiIgogIkFkZCBkaXJlY3RvcmllcyB0byBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zNzMwLDcgKzM4MTYsNyBAQAogIiAgICBjaGFuZ2UgZmFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTc4NQorIzogYnVpbHRpbnMuYzoxNzg4CiBtc2dpZCAiIgogIlJlbW92ZSBkaXJlY3RvcmllcyBmcm9tIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM3NTcsNyArMzg0Myw3IEBACiAiICAgIGNoYW5nZSBmYWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODE1CisjOiBidWlsdGlucy5jOjE4MTgKIG1zZ2lkICIiCiAiRGlzcGxheSBkaXJlY3Rvcnkgc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzc4Niw3ICszODcyLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg0NAorIzogYnVpbHRpbnMuYzoxODQ3CiBtc2dpZCAiIgogIlNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zODA3LDcgKzM4OTMsNyBAQAogIiAgICBnaXZlbiBvciBPUFROQU1FIGlzIGRpc2FibGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4NjUKKyM6IGJ1aWx0aW5zLmM6MTg2OAogbXNnaWQgIiIKICJGb3JtYXRzIGFuZCBwcmludHMgQVJHVU1FTlRTIHVuZGVyIGNvbnRyb2wgb2YgdGhlIEZPUk1BVC5cbiIKICIgICAgXG4iCkBAIC0zODM3LDcgKzM5MjMsNyBAQAogIiAgICBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg5MgorIzogYnVpbHRpbnMuYzoxODk1CiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTM4NTEsMTUgKzM5MzcsMjAgQEAKICIgICAgICAtcFx0cHJpbnQgZXhpc3RpbmcgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9ucyBpbiBhIHJldXNhYmxlIGZvcm1hdFxuIgogIiAgICAgIC1yXHRyZW1vdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZm9yIGVhY2ggTkFNRSwgb3IsIGlmIG5vXG4iCiAiICAgIFx0TkFNRXMgYXJlIHN1cHBsaWVkLCBhbGwgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uc1xuIgorIiAgICAgIC1EXHRhcHBseSB0aGUgY29tcGxldGlvbnMgYW5kIGFjdGlvbnMgYXMgdGhlIGRlZmF1bHQgZm9yIGNvbW1hbmRzXG4iCisiICAgIFx0d2l0aG91dCBhbnkgc3BlY2lmaWMgY29tcGxldGlvbiBkZWZpbmVkXG4iCisiICAgICAgLUVcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyB0byBcImVtcHR5XCIgY29tbWFuZHMgLS1cbiIKKyIgICAgXHRjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhIGJsYW5rIGxpbmVcbiIKICIgICAgXG4iCiAiICAgIFdoZW4gY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQsIHRoZSBhY3Rpb25zIGFyZSBhcHBsaWVkIGluIHRoZSBvcmRlciB0aGVcbiIKLSIgICAgdXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuXG4iCisiICAgIHVwcGVyY2FzZS1sZXR0ZXIgb3B0aW9ucyBhcmUgbGlzdGVkIGFib3ZlLiAgVGhlIC1EIG9wdGlvbiB0YWtlc1xuIgorIiAgICBwcmVjZWRlbmNlIG92ZXIgLUUuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTkxNQorIzogYnVpbHRpbnMuYzoxOTIzCiBtc2dpZCAiIgogIkRpc3BsYXkgcG9zc2libGUgY29tcGxldGlvbnMgZGVwZW5kaW5nIG9uIHRoZSBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTM4NzIsNyArMzk2Myw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5MzAKKyM6IGJ1aWx0aW5zLmM6MTkzOAogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzg4NSw2ICszOTc2LDggQEAKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgIFx0LW8gb3B0aW9uXHRTZXQgY29tcGxldGlvbiBvcHRpb24gT1BUSU9OIGZvciBlYWNoIE5BTUVcbiIKKyIgICAgXHQtRFx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZGVmYXVsdFwiIGNvbW1hbmQgY29tcGxldGlvblxuIgorIiAgICBcdC1FXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJlbXB0eVwiIGNvbW1hbmQgY29tcGxldGlvblxuIgogIiAgICBcbiIKICIgICAgVXNpbmcgYCtvJyBpbnN0ZWFkIG9mIGAtbycgdHVybnMgb2ZmIHRoZSBzcGVjaWZpZWQgb3B0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM5MDEsMTUgKzM5OTQsMTUgQEAKICIgICAgaGF2ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBkZWZpbmVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5NTgKKyM6IGJ1aWx0aW5zLmM6MTk2OAogbXNnaWQgIiIKLSJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCisiUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgotIiAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGFycmF5IHZhcmlhYmxlIEFSUkFZLCBvciAiCi0iZnJvbVxuIgotIiAgICBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSBNQVBGSUxFICIKLSJpc1xuIgotIiAgICB0aGUgZGVmYXVsdCBBUlJBWS5cbiIKKyIgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBpbmRleGVkIGFycmF5IHZhcmlhYmxlICIKKyJBUlJBWSwgb3JcbiIKKyIgICAgZnJvbSBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSAiCisiTUFQRklMRVxuIgorIiAgICBpcyB0aGUgZGVmYXVsdCBBUlJBWS5cbiIKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgICAgLW4gY291bnRcdENvcHkgYXQgbW9zdCBDT1VOVCBsaW5lcy4gIElmIENPVU5UIGlzIDAsIGFsbCBsaW5lcyBhcmUgIgpAQCAtMzkzNiwxNiArNDAyOSwyOSBAQAogIiAgICBhc3NpZ25pbmcgdG8gaXQuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBBUlJBWSBpcyByZWFkb25seS4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkgIgorIm9yXG4iCisiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5OTAKKyM6IGJ1aWx0aW5zLmM6MjAwMQogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gYSBmaWxlIGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgogIiAgICBBIHN5bm9ueW0gZm9yIGBtYXBmaWxlJy4iCiBtc2dzdHIgIiIKIAorI34gbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorI34gbXNnc3RyICJ4bWFsbG9jOiBuZW0gbGVoZXQgbGVmb2dsYWxuaSAlbHUgYuFqdG90ICglbHUgYuFqdCBsZWZvZ2xhbHZhKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKKyN+IG1zZ3N0ciAieG1hbGxvYzogbmVtIGxlaGV0IGxlZm9nbGFsbmkgJWx1IGLhanRvdCAoJWx1IGLhanQgbGVmb2dsYWx2YSkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorI34gbXNnc3RyICJ4bWFsbG9jOiBuZW0gbGVoZXQgbGVmb2dsYWxuaSAlbHUgYuFqdG90ICglbHUgYuFqdCBsZWZvZ2xhbHZhKSIKKwogI34gbXNnaWQgIkRpc3BsYXkgdGhlIGxpc3Qgb2YgY3VycmVudGx5IHJlbWVtYmVyZWQgZGlyZWN0b3JpZXMuICBEaXJlY3RvcmllcyIKICN+IG1zZ3N0ciAiTWVnamVsZW7tdGkgYSBqZWxlbmxlZyBmZWxqZWd5emV0dCBr9m55dnThcmFrYXQuIEv2bnl2dOFyYWsiCiAKZGlmZiAtLWdpdCBhL3BvL2lkLmdtbyBiL3BvL2lkLmdtbwppbmRleCAxYjc0NDdmLi41M2RmNmFkIDEwMDY0NAotLS0gYS9wby9pZC5nbW8KKysrIGIvcG8vaWQuZ21vCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3BvL2lkLnBvIGIvcG8vaWQucG8KaW5kZXggNjEwNzA5OC4uNDA4NDg0MiAxMDA2NDQKLS0tIGEvcG8vaWQucG8KKysrIGIvcG8vaWQucG8KQEAgLTEsMTQgKzEsMTQgQEAKICMgUGVzYW4gQmFoYXNhIEluZG9uZXNpYSB1bnR1ayBiYXNoCiAjIENvcHlyaWdodCAoQykgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIGJhc2ggcGFja2FnZS4KLSMgQXJpZiBFLiBOdWdyb2hvIDxhcmlmX2VuZHJvQHlhaG9vLmNvbT4sIDIwMDguCisjIEFyaWYgRS4gTnVncm9obyA8YXJpZl9lbmRyb0B5YWhvby5jb20+LCAyMDA4LCAyMDA5LgogIwogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaCA0LjAtcHJlMVxuIgorIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaCA0LjBcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMDItMTkgMTQ6NTMtMDUwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMDgtMDktMDYgMTc6NDErMDcwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTEyLTMwIDA4OjI1LTA1MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDA5LTAzLTIxIDExOjQwKzA3MDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IEFyaWYgRS4gTnVncm9obyA8YXJpZl9lbmRyb0B5YWhvby5jb20+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogSW5kb25lc2lhbiA8dHJhbnNsYXRpb24tdGVhbS1pZEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCiAiTUlNRS1WZXJzaW9uOiAxLjBcbiIKQEAgLTIwLDUzICsyMCw1OCBAQAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgImFycmF5IHN1YnNjcmlwdCBidXJ1ayIKIAotIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAorIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmd1YmFoIGluZGV4IGtlIGFycmF5IHlhbmcgYmVyYXNzb3NpYXNpIgogCi0jOiBhcnJheWZ1bmMuYzo0NzkKKyM6IGFycmF5ZnVuYy5jOjQ4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhc3NvY2lhdGl2ZSBhcnJheSBrZXkiCiBtc2dzdHIgIiVzOiBrdW5jaSBhcnJheSBhc3Nvc2lhc2kgdGlkYWsgdmFsaWQiCiAKLSM6IGFycmF5ZnVuYy5jOjQ4MQorIzogYXJyYXlmdW5jLmM6NDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIHRvIG5vbi1udW1lcmljIGluZGV4IgogbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVuZ2Fzc2lnbiBrZSBpbmRleCB0aWRhay1udW1lcmljIgogCi0jOiBhcnJheWZ1bmMuYzo1MTcKKyM6IGFycmF5ZnVuYy5jOjUxOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IG11c3QgdXNlIHN1YnNjcmlwdCB3aGVuIGFzc2lnbmluZyBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiJXM6ICVzOiBoYXJ1cyBtZW5nZ3VuYWthbiBzdWJzY3JpcHQga2V0aWthIG1lbWJlcmlrYW4gYXNzb3NpYXNpIGFycmF5IgogCi0jOiBiYXNoaGlzdC5jOjM3OQorIzogYmFzaGhpc3QuYzozODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjcmVhdGU6ICVzIgogbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVtYnVhdDogJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzQxMworIzogYmFzaGxpbmUuYzozNDU3CiBtc2dpZCAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgogbXNnc3RyICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiB0aWRhayBkYXBhdCBtZW5lbXVrYW4ga2V5bWFwIHVudHVrIHBlcmludGFoIgogCi0jOiBiYXNobGluZS5jOjM0OTEKKyM6IGJhc2hsaW5lLmM6MzU0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgogbXNnc3RyICIlczogYnVrYW4ga2FyYWt0ZXIgd2hpdGVzcGFjZSAoc3Bhc2kpIHBlcnRhbWEgZGl0ZW11a2FuIGBcIiciCiAKLSM6IGJhc2hsaW5lLmM6MzUyMAorIzogYmFzaGxpbmUuYzozNTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKIG1zZ3N0ciAidGlkYWsgbWVudXR1cCAnJWMnIGRhbGFtICVzIgogCi0jOiBiYXNobGluZS5jOjM1NTQKKyM6IGJhc2hsaW5lLmM6MzYwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCiBtc2dzdHIgIiVzOiBoaWxhbmcgcGVtaXNhaCBjb2xvbiIKIAorIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogaW52YWxpZCBhbGlhcyBuYW1lIgorbXNnc3RyICInJXMnOiBuYW1hIGtleW1hcCB0aWRhayB2YWxpZCIKKwogIzogYnVpbHRpbnMvYmluZC5kZWY6MTIwIGJ1aWx0aW5zL2JpbmQuZGVmOjEyMwogbXNnaWQgImxpbmUgZWRpdGluZyBub3QgZW5hYmxlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJwZW5ndWJhaGFuIGJhcmlzIHRpZGFrIGFrdGlmIgogCiAjOiBidWlsdGlucy9iaW5kLmRlZjoyMDYKICMsIGMtZm9ybWF0CkBAIC0xMDcsMTIgKzExMiwyOSBAQAogbXNnc3RyICJoYW55YSBiZXJhcnRpIGRhbGFtIHNlYnVhaCBgZm9yJywgYHdoaWxlJywgYXRhdSBgdW50aWwnbG9vcCIKIAogIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzMKLSMsIGZ1enp5CiBtc2dpZCAiIgogIlJldHVybnMgdGhlIGNvbnRleHQgb2YgdGhlIGN1cnJlbnQgc3Vicm91dGluZSBjYWxsLlxuIgogIiAgICBcbiIKICIgICAgV2l0aG91dCBFWFBSLCByZXR1cm5zICIKLW1zZ3N0ciAiTWVuZ2VtYmFsaWthbiBjb250ZXh0IGRhcmkgcGFuZ2dpbGFuIHN1YnJvdXRpbmUgc2FhdCBpbmkuIgorbXNnc3RyICIiCisiTWVuZ2VtYmFsaWthbiBrb250ZWtzIGRhcmkgcGFuZ2dpbGFuIHN1YnJvdXRpbmUgc2FhdCBpbmkuXG4iCisiICAgIFxuIgorIiAgICBUYW5wYSBFWFBSLCBrZW1iYWxpICIKKworIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzUKK21zZ2lkICIiCisiLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCisiICAgICIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNgorbXNnaWQgIiIKKyI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKKyIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgorIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKK21zZ3N0ciAiIgogCiAjOiBidWlsdGlucy9jZC5kZWY6MjE1CiBtc2dpZCAiSE9NRSBub3Qgc2V0IgpAQCAtMTI3LDcgKzE0OSw3IEBACiBtc2dpZCAibGluZSAlZDogIgogbXNnc3RyICJiYXJpcyAlZDogIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjAKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEzOSBlcnJvci5jOjI2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAiCiBtc2dzdHIgInBlcmluZ2F0YW46ICIKQEAgLTEzNywxNCArMTU5LDE0IEBACiBtc2dpZCAiJXM6IHVzYWdlOiAiCiBtc2dzdHIgIiVzOiBwZW5nZ3VuYWFuOiAiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODIyCisjOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyNwogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKIG1zZ3N0ciAidGVybGFsdSBiYW55YWsgYXJndW1lbiIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDkzIHNoZWxsLmM6Nzc0CisjOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTkgc2hlbGwuYzo3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIKLW1zZ3N0ciAiJXM6IG9wc2kgbWVtYnV0dWhrYW4gc2VidWFoIGFyZ3VtZW4iCittc2dzdHIgIiVzOiBwaWxpaGFuIG1lbWJ1dHVoa2FuIHNlYnVhaCBhcmd1bWVuIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoxOTgKICMsIGMtZm9ybWF0CkBAIC0xNTYsMTUgKzE3OCwxNSBAQAogbXNnaWQgIiVzOiBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiB0aWRhayBkaXRlbXVrYW4iCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc4NworIzogYnVpbHRpbnMvY29tbW9uLmM6MjE0IHNoZWxsLmM6Nzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIG9wdGlvbiIKLW1zZ3N0ciAiJXM6IG9wc2kgdGlkYWsgdmFsaWQiCittc2dzdHIgIiVzOiBwaWxpaGFuIHRpZGFrIHZhbGlkIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoyMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgb3B0aW9uIG5hbWUiCi1tc2dzdHIgIiVzOiBuYW1hIG9wc2kgdGlkYWsgdmFsaWQiCittc2dzdHIgIiVzOiBuYW1hIHBpbGloYW4gdGlkYWsgdmFsaWQiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIyOCBnZW5lcmFsLmM6MjMxIGdlbmVyYWwuYzoyMzYKICMsIGMtZm9ybWF0CkBAIC0xNzksNyArMjAxLDcgQEAKIG1zZ2lkICJpbnZhbGlkIGhleCBudW1iZXIiCiBtc2dzdHIgIm5vbW9yIGhleGEgdGlkYWsgdmFsaWQiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NQorIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU2CiBtc2dpZCAiaW52YWxpZCBudW1iZXIiCiBtc2dzdHIgIm5vbW9yIHRpZGFrIHZhbGlkIgogCkBAIC0xOTMsNyArMjE1LDcgQEAKIG1zZ2lkICJgJXMnOiBub3QgYSBwaWQgb3IgdmFsaWQgam9iIHNwZWMiCiBtc2dzdHIgImAlcyc6IGJ1a2FuIHNlYnVhaCBwaWQgYXRhdSBzcGVzaWZpa2FzaSBwZWtlcmphYW4geWFuZyB2YWxpZCIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjY0IGVycm9yLmM6NDUzCisjOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IHZhcmlhYmxlIgogbXNnc3RyICIlczogdmFyaWFiZWwgYmFjYS1zYWphIgpAQCAtMjQ4LDEyICsyNzAsMTIgQEAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVzIgotbXNnc3RyICIiCittc2dzdHIgImVycm9yIG1lbmVudHVrYW4gYXRyaWJ1dCB0ZXJtaW5hbDogJXMiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBnZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVzIgotbXNnc3RyICIiCittc2dzdHIgImVycm9yIG1lbmRhcGF0a2FuIGF0cmlidXQgdGVybWluYWw6ICVzIgogCiAjOiBidWlsdGlucy9jb21tb24uYzo1NjMKICMsIGMtZm9ybWF0CkBAIC0yNjUsMjYgKzI4NywyOCBAQAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgam9iIHNwZWMiCiBtc2dzdHIgIiVzOiBzcGVzaWZpa2FzaSBwZWtlcmphYW4gYW1iaWd1IgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6MjcwCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Mjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFjdGlvbiBuYW1lIgogbXNnc3RyICIlczogbmFtYSBha3NpIHRpZGFrIHZhbGlkIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDMwIGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2MTUKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MTMKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo0NDkgYnVpbHRpbnMvY29tcGxldGUuZGVmOjY0NAorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjg1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm8gY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczogdGlkYWsgYWRhIHNwZXNpZmlrYXNpIGNvbXBsZXRpb24iCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NjcKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTYKIG1zZ2lkICJ3YXJuaW5nOiAtRiBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCi1tc2dzdHIgInBlcmluZ2F0YW46IG9wc2kgLUYgbXVuZ2tpbiB0aWRhayBiZWtlcmphIHNlcGVydGkgeWFuZyBhbmRhIGhhcmFwa2FuIgorbXNnc3RyICIiCisicGVyaW5nYXRhbjogcGlsaWhhbiAtRiBtdW5na2luIHRpZGFrIGJla2VyamEgc2VwZXJ0aSB5YW5nIGFuZGEgaGFyYXBrYW4iCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NjkKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTgKIG1zZ2lkICJ3YXJuaW5nOiAtQyBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCi1tc2dzdHIgInBlcmluZ2F0YW46IG9wc2kgLUMgbXVuZ2tpbiB0aWRhayBiZWtlcmphIHNlcGVydGkgeWFuZyBhbmRhIGhhcmFwa2FuIgorbXNnc3RyICIiCisicGVyaW5nYXRhbjogcGlsaWhhbiAtQyBtdW5na2luIHRpZGFrIGJla2VyamEgc2VwZXJ0aSB5YW5nIGFuZGEgaGFyYXBrYW4iCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo3ODYKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MjYKIG1zZ2lkICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgogbXNnc3RyICJzYWF0IGluaSBzZWRhbmcgdGlkYWsgbWVuamFsYW5rYW4gZnVuZ3NpIGNvbXBsZXRpb24iCiAKQEAgLTI5MiwyMSArMzE2LDIxIEBACiBtc2dpZCAiY2FuIG9ubHkgYmUgdXNlZCBpbiBhIGZ1bmN0aW9uIgogbXNnc3RyICJoYW55YSBkYXBhdCBkaWd1bmFrYW4gZGFsYW0gc2VidWFoIGZ1bmdzaSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzUzCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbmdndW5ha2FuIGAtZicgdW50dWsgbWVtYnVhdCBmdW5nc2kiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NSBleGVjdXRlX2NtZC5jOjQ4MTgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3MiBleGVjdXRlX2NtZC5jOjQ5MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IGZ1bmN0aW9uIgogbXNnc3RyICIlczogZnVuZ3NpIGJhY2Etc2FqYSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDYxCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBkZXN0cm95IGFycmF5IHZhcmlhYmxlcyBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmdoYXB1cyB2YXJpYWJlbCBhcnJheSBzZWNhcmEgaW5pIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmd1YmFoIGFzc29zaWFzaSBrZSBhcnJheSBpbmRleCIKQEAgLTMzNSw4ICszNTksOCBAQAogbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKIG1zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmdoYXB1czogJXMiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM0IGJ1aWx0aW5zL2hhc2guZGVmOjE2OSBleGVjdXRlX2NtZC5jOjQ2NzUKLSM6IHNoZWxsLmM6MTQzOQorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDc5NAorIzogc2hlbGwuYzoxNDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpcyBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXM6IGJ1a2FuIHNlYnVhaCBkaXJla3RvcmkiCkBAIC0zNTEsNyArMzc1LDggQEAKIG1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCiBtc2dzdHIgIiVzOiBmaWxlIHRlcmxhbHUgYmVzYXIiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGV4ZWN1dGVfY21kLmM6NDc0NSBzaGVsbC5jOjE0NDkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAzIGV4ZWN1dGVfY21kLmM6NDg2NAorIzogc2hlbGwuYzoxNDYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIG1zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmphbGFua2FuIGJlcmthcyBiaW5hcnkiCkBAIC0zODAsMTUgKzQwNSwxNSBAQAogbXNnaWQgIlRoZXJlIGFyZSBydW5uaW5nIGpvYnMuXG4iCiBtc2dzdHIgIkFkYSBwZWtlcmphYW4geWFuZyBzZWRhbmcgYmVyamFsYW4uXG4iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjIKIG1zZ2lkICJubyBjb21tYW5kIGZvdW5kIgogbXNnc3RyICJwZXJpbnRhaCB0aWRhayBkaXRlbXVrYW4iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKIG1zZ2lkICJoaXN0b3J5IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgInNwZXNpZmlrYXNpIHNlamFyYWgiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNjIKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCiBtc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1idWthIGZpbGUgc2VtZW50YXJhOiAlcyIKQEAgLTQwNSwxMiArNDMwLDEyIEBACiAjOiBidWlsdGlucy9nZXRvcHQuYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCi1tc2dzdHIgIiVzOiBvcHNpIHRpZGFrIGxlZ2FsIC0tICVjXG4iCittc2dzdHIgIiVzOiBwaWxpaGFuIHRpZGFrIGxlZ2FsIC0tICVjXG4iCiAKICM6IGJ1aWx0aW5zL2dldG9wdC5jOjExMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVjXG4iCi1tc2dzdHIgIiVzOiBvcHNpIG1lbWJ1dHVoa2FuIHNlYnVhaCBhcmd1bWVuIC0tICVjXG4iCittc2dzdHIgIiVzOiBwaWxpaGFuIG1lbWJ1dHVoa2FuIHNlYnVhaCBhcmd1bWVuIC0tICVjXG4iCiAKICM6IGJ1aWx0aW5zL2hhc2guZGVmOjkyCiBtc2dpZCAiaGFzaGluZyBkaXNhYmxlZCIKQEAgLTQ3MSw3ICs0OTYsNyBAQAogCiAjOiBidWlsdGlucy9oaXN0b3J5LmRlZjoxNTQKIG1zZ2lkICJjYW5ub3QgdXNlIG1vcmUgdGhhbiBvbmUgb2YgLWFucnciCi1tc2dzdHIgInRpZGFrIGRhcGF0IG1lbmdndW5ha2FuIGxlYmloIGRhcmkgc2F0dSBvcHNpIGRhcmkgLWFucnciCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmdndW5ha2FuIGxlYmloIGRhcmkgc2F0dSBwaWxpaGFuIGRhcmkgLWFucnciCiAKICM6IGJ1aWx0aW5zL2hpc3RvcnkuZGVmOjE4NgogbXNnaWQgImhpc3RvcnkgcG9zaXRpb24iCkBAIC00ODksMTQgKzUxNCwxNCBAQAogCiAjOiBidWlsdGlucy9qb2JzLmRlZjoxMDkKIG1zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgotbXNnc3RyICJ0aWRhayBhZGEgb3BzaSBsYWluIHlhbmcgZGlwZXJib2xlaGthbiBkZW5nYW4gYC14JyIKK21zZ3N0ciAidGlkYWsgYWRhIHBpbGloYW4gbGFpbiB5YW5nIGRpcGVyYm9sZWhrYW4gZGVuZ2FuIGAteCciCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjE5NworIzogYnVpbHRpbnMva2lsbC5kZWY6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhcmd1bWVudHMgbXVzdCBiZSBwcm9jZXNzIG9yIGpvYiBJRHMiCiBtc2dzdHIgIiVzOiBhcmd1bWVuIGhhcnVzIGRpcHJvc2VzIGF0YXUgSUQgcGVrZXJqYWFuIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyNjAKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MwogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgIktlc2FsYWhhbiB0aWRhayBkaWtldGFodWkiCiAKQEAgLTUwNCw1NSArNTI5LDYwIEBACiBtc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiZGlkdWdhIHNlYnVhaCBla3NwcmVzaSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQxIGJ1aWx0aW5zL3JlYWQuZGVmOjI3MgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGFuIGluZGV4ZWQgYXJyYXkiCittc2dzdHIgIiVzOiBidWthbiBzZWJ1YWggdmFyaWFiZWwgYXJyYXkiCisKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiVzOiBzcGVzaWZpa2FzaSBmaWxlIGRlc2tyaXBzaSB0aWRhayB2YWxpZCIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU3IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgogbXNnc3RyICIlZDogZmlsZSBkZXNrcmlwdG9yICVzIHRpZGFrIHZhbGlkIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTggYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjYgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCiBtc2dzdHIgIiVzOiBqdW1sYWggYmFyaXMgdGlkYWsgdmFsaWQiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFycmF5IG9yaWdpbiIKIG1zZ3N0ciAiJXM6IGFzYWwgYXJyYXkgdGlkYWsgdmFsaWQiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGNhbGxiYWNrIHF1YW50dW0iCiBtc2dzdHIgIiVzOiBuYW1hIGFrc2kgdGlkYWsgdmFsaWQiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMxOAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzI2CiBtc2dpZCAiZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZSIKIG1zZ3N0ciAibmFtYSB2YXJpYWJlbCBhcnJheSBrb3NvbmciCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzOQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CiBtc2dpZCAiYXJyYXkgdmFyaWFibGUgc3VwcG9ydCByZXF1aXJlZCIKIG1zZ3N0ciAiYmFudHVhbiBhcnJheSB2YXJpYWJlbCBkaWJ1dHVoa2FuIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjM2NworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJgJXMnOiBoaWxhbmcga2FyYWt0ZXIgZm9ybWF0IgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU0NAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJgJWMnOiBrYXJha3RlciBmb3JtYXQgdGlkYWsgdmFsaWQiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTcxCisjOiBidWlsdGlucy9wcmludGYuZGVmOjU3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAlczogJXMiCiBtc2dzdHIgInBlcmluZ2F0YW46ICVzOiAlcyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTAKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzU3CiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAiaGlsYW5nIGRpZ2l0IGhleGEgdW50dWsgXFx4IgogCkBAIC02MDAsNyArNjMwLDcgQEAKICJtZW1wZXJvbGVoXG4iCiAiICAgIGJhY2t1cCBtZWxhbHVpIGRhZnRhciBkZW5nYW4gcGVyaW50YWggYHBvcGQnLlxuIgogIiAgICBcbiIKLSIgICAgT3BzaTpcbiIKKyIgICAgUGlsaWhhbjpcbiIKICIgICAgICAtY1x0bWVuZ2hhcHVzIGRpcmVrdG9yaSBzdGFjdCBkZW5nYW4gbWVuZ2hhcHVzIHNlbHVydWggZWxlbWVuXG4iCiAiICAgICAgLWxcdGphbmdhbiBtZW5hbXBpbGthbiB2ZXJzaSBkZW5nYW4gdGlsZGUgZGFyaSBkaXJla3RvcmkgcmVsYXRpdmVcbiIKICIgICAgXHRrZSBkaXJla29yaSBydW1haCBhbmRhXG4iCkBAIC02MTEsMTEgKzY0MSwxMSBAQAogIiAgICBBcmd1bWVuOlxuIgogIiAgICAgICtOXHRNZW5hbXBpbGthbiBtYXN1a2FuIGtlIE4gZGloaXR1bmcgZGFyaSBraXJpIGRhcmkgZGFmdGFyIHlhbmcgIgogImRpdGFtcGlsa2FuIG9sZWhcbiIKLSIgICAgXHRkaXJzIGtldGlrYSBkaXBhbmdnaWwgdGFucGEgb3BzaSwgZGltdWxhaSBkYXJpIG5vbC5cbiIKKyIgICAgXHRkaXJzIGtldGlrYSBkaXBhbmdnaWwgdGFucGEgcGlsaWhhbiwgZGltdWxhaSBkYXJpIG5vbC5cbiIKICIgICAgXG4iCiAiICAgICAgLU5cdE1lbmFtcGlsa2FuIG1hc3VrYW4ga2UgTiBkaWhpdHVuZyBkYXJpIGthbmFuIGRhcmkgZGFmdGFyIHlhbmcgIgogImRpdGFtcGlsa2FuIG9sZWhcbiIKLSIgICAgXHRkaXJzIGtldGlrYSBkaXBhbmdnaWwgdGFucGEgb3BzaSwgZGltdWxhaSBkYXJpIG5vbC4iCisiICAgIFx0ZGlycyBrZXRpa2EgZGlwYW5nZ2lsIHRhbnBhIHBpbGloYW4sIGRpbXVsYWkgZGFyaSBub2wuIgogCiAjOiBidWlsdGlucy9wdXNoZC5kZWY6NzA1CiBtc2dpZCAiIgpAQCAtNjQ1LDcgKzY3NSw3IEBACiAiICAgIHN0YWNrLCBtZW1idWFoIHRvcCBiYXJ1IGRhcmkgc3RhY2sgZGFyaSB3b3JraW5nIGRpcmVrdG9yaSBzYWF0IGluaS5cbiIKICIgICAgVGFucGEgYXJndW1lbiwgbWVudWthciB0b3AgZGFyaSBkdWEgZGlyZWt0b3JpLlxuIgogIiAgICBcbiIKLSIgICAgT3BzaTpcbiIKKyIgICAgUGlsaWhhbjpcbiIKICIgICAgLW5cdG1lbmVrYW4gcGVydWJhaGFuIG5vcm1hbCBkYXJpIGRpcmVrdG9yaSBrZXRpa2EgbWVuYW1iYWhrYW4gIgogImRpcmVrdG9yaVxuIgogIiAgICBcdGtlIHN0YWNrLCBqYWRpIGhhbnlhIHN0YWNrIHlhbmcgZGltYW5pcHVsYXNpLlxuIgpAQCAtNjg4LDcgKzcxOCw3IEBACiAiICAgIG1lbmdoYXB1cyB0b3AgZGlyZWt0b3JpIGRhcmkgc3RhY2ssIGRhbiBjZCdzIGtlIHRvcFxuIgogIiAgICBkaXJla3RvcmkgYmFydS5cbiIKICIgICAgXG4iCi0iICAgIE9wc2k6XG4iCisiICAgIFBpbGloYW46XG4iCiAiICAgIC1uXHRtZW5la2FuIHBlcnViYWhhbiBub3JtYWwgZGFyaSBkaXJla3Rvcmkga2V0aWthIG1lbmdoYXB1cyBkaXJla3RvcmlcbiIKICIgICAgXHRkYXJpIHN0YWNrLCBqYWRpIGhhbnlhIHN0YWNrIHlhbmcgZGltYW5pcHVsYXNpLlxuIgogIiAgICBcbiIKQEAgLTcwMCwxMiArNzMwLDEyIEBACiAiICAgIFxuIgogIiAgICBCdWlsdGluIGBkaXJzJyBtZW5hbXBpbGthbiBkaXJla3Rvcmkgc3RhY2suIgogCi0jOiBidWlsdGlucy9yZWFkLmRlZjoyNDgKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCB0aW1lb3V0IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiVzOiBzcGVzaWZpa2FzaSB0aW1lb3V0IHRpZGFrIHZhbGlkIgogCi0jOiBidWlsdGlucy9yZWFkLmRlZjo1NzQKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkIGVycm9yOiAlZDogJXMiCiBtc2dzdHIgImVycm9yIGJhY2E6ICVkOiAlcyIKQEAgLTc0MiwxNCArNzcyLDE0IEBACiBtc2dpZCAic2hpZnQgY291bnQiCiBtc2dzdHIgInNoaWZ0IHRlcmhpdHVuZyIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI1NAorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI2MAogbXNnaWQgImNhbm5vdCBzZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMgc2ltdWx0YW5lb3VzbHkiCi1tc2dzdHIgInRpZGFrIGRhcGF0IG1lbnNldCBkYW4gbWVudW5zZXQgb3BzaSBzaGVsbCBzZWNhcmEgYmVyc2FtYWFuIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5zZXQgZGFuIG1lbnVuc2V0IHBpbGloYW4gc2hlbGwgc2VjYXJhIGJlcnNhbWFhbiIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMxOQorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBzaGVsbCBvcHRpb24gbmFtZSIKLW1zZ3N0ciAiJXM6IG5hbWEgb3BzaSBzaGVsbCB0aWRhayB2YWxpZCIKK21zZ3N0ciAiJXM6IG5hbWEgcGlsaWhhbiBzaGVsbCB0aWRhayB2YWxpZCIKIAogIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMjgKIG1zZ2lkICJmaWxlbmFtZSBhcmd1bWVudCByZXF1aXJlZCIKQEAgLTgzNiw3NyArODY2LDc3IEBACiBtc2dpZCAiYCVjJzogaW52YWxpZCBzeW1ib2xpYyBtb2RlIGNoYXJhY3RlciIKIG1zZ3N0ciAiYCVjJzogbW9kZSBrYXJha3RlciBzeW1ib2xpYyB0aWRhayB2YWxpZCIKIAotIzogZXJyb3IuYzo4OSBlcnJvci5jOjMyMCBlcnJvci5jOjMyMiBlcnJvci5jOjMyNAorIzogZXJyb3IuYzo5MCBlcnJvci5jOjMyMSBlcnJvci5jOjMyMyBlcnJvci5jOjMyNQogbXNnaWQgIiBsaW5lICIKIG1zZ3N0ciAiIGJhcmlzICIKIAotIzogZXJyb3IuYzoxNjQKKyM6IGVycm9yLmM6MTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImxhc3QgY29tbWFuZDogJXNcbiIKIG1zZ3N0ciAicGVyaW50YWggdGVyYWtoaXI6ICVzXG4iCiAKLSM6IGVycm9yLmM6MTcyCisjOiBlcnJvci5jOjE3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZy4uLiIKIG1zZ3N0ciAibWVtYmF0YWxrYW4uLi4iCiAKLSM6IGVycm9yLmM6NDA1CisjOiBlcnJvci5jOjQwNgogbXNnaWQgInVua25vd24gY29tbWFuZCBlcnJvciIKIG1zZ3N0ciAicGVyaW50YWggZXJyb3IgdGlkYWsgZGlrZXRhaHVpIgogCi0jOiBlcnJvci5jOjQwNgorIzogZXJyb3IuYzo0MDcKIG1zZ2lkICJiYWQgY29tbWFuZCB0eXBlIgogbXNnc3RyICJ0aXBlIHBlcmludGFoIGJ1cnVrIgogCi0jOiBlcnJvci5jOjQwNworIzogZXJyb3IuYzo0MDgKIG1zZ2lkICJiYWQgY29ubmVjdG9yIgogbXNnc3RyICJrb25la3RvciBidXJ1ayIKIAotIzogZXJyb3IuYzo0MDgKKyM6IGVycm9yLmM6NDA5CiBtc2dpZCAiYmFkIGp1bXAiCiBtc2dzdHIgImxvbXBhdCBidXJ1ayIKIAotIzogZXJyb3IuYzo0NDYKKyM6IGVycm9yLmM6NDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmJvdW5kIHZhcmlhYmxlIgogbXNnc3RyICIlczogdmFyaWFiZWwgdGlkYWsgdGVyaWthdCIKIAogIzogZXZhbC5jOjE4MQogIywgYy1mb3JtYXQKLW1zZ2lkICJcYXRpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKK21zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgogbXNnc3RyICJrZWhhYmlzYW4gd2FrdHUgbWVudW5nZ3UgbWFzdWthbjogb3RvbWF0aXMta2VsdWFyXG4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDkxCisjOiBleGVjdXRlX2NtZC5jOjQ5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgogbXNnc3RyICJ0aWRhayBkYXBhdCBtZW55YWx1cmthbiBtYXN1a2FuIHN0YW5kYXIgZGFyaSAvZGV2L251bGw6ICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjExMTIKKyM6IGV4ZWN1dGVfY21kLmM6MTE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJUSU1FRk9STUFUOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIlRJTUVGT1JNQVQ6IGAlYyc6IGthcmFrdGVyIGZvcm1hdCB0aWRhayB2YWxpZCIKIAotIzogZXhlY3V0ZV9jbWQuYzoyMDExCisjOiBleGVjdXRlX2NtZC5jOjIwNzUKIG1zZ2lkICJwaXBlIGVycm9yIgogbXNnc3RyICJwaXBlIGVycm9yIgogCi0jOiBleGVjdXRlX2NtZC5jOjQzNjMKKyM6IGV4ZWN1dGVfY21kLmM6NDQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCiBtc2dzdHIgIiIKICIlczogZGliYXRhc2k6IHRpZGFrIGRhcGF0IG1lbnNwZXNpZmlrYXNpa2FuICcvJyBkYWxhbSBuYW1hIG5hbWEgcGVyaW50YWgiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDQ1NAorIzogZXhlY3V0ZV9jbWQuYzo0NTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjb21tYW5kIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IHBlcmludGFoIHRpZGFrIGRpdGVtdWthbiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NzA4CisjOiBleGVjdXRlX2NtZC5jOjQ4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCiBtc2dzdHIgIiVzOiAlczogaW50ZXJwcmV0ZXIgYnVydWsiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDg1NworIzogZXhlY3V0ZV9jbWQuYzo0OTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbmR1cGxpa2FzaWthbiBmZCAlZCBrZSBmZCAlZCIKQEAgLTk1MSwyOCArOTgxLDI4IEBACiBtc2dpZCAibWlzc2luZyBgKSciCiBtc2dzdHIgImhpbGFuZyBgKSciCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzUKKyM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKIG1zZ2lkICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCiBtc2dzdHIgInN5bnRheCBlcnJvcjogb3BlcmFuZCBkaWhhcmFwa2FuIgogCi0jOiBleHByLmM6MTE3NworIzogZXhwci5jOjExNzgKIG1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKIG1zZ3N0ciAic3ludGF4IGVycm9yOiBvcGVyYXRvciBhcml0aG1ldGljIHRpZGFrIHZhbGlkIgogCi0jOiBleHByLmM6MTIwMQorIzogZXhwci5jOjEyMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMlcyVzOiAlcyAoZXJyb3IgdG9rZW4gaXMgXCIlc1wiKSIKIG1zZ3N0ciAiJXMlcyVzOiAlcyAoZXJyb3IgdG9rZW4gYWRhbGFoIFwiJXNcIikiCiAKLSM6IGV4cHIuYzoxMjU5CisjOiBleHByLmM6MTI2MAogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogbXNnc3RyICJiYXNpcyBhcml0aG1ldGljIHRpZGFrIHZhbGlkIgogCi0jOiBleHByLmM6MTI3OQorIzogZXhwci5jOjEyODAKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgIm5pbGFpIHRlcmxhbHUgYmVzYXIgdW50dWsgYmFzaXMiCiAKLSM6IGV4cHIuYzoxMzI4CisjOiBleHByLmM6MTMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZXhwcmVzc2lvbiBlcnJvclxuIgogbXNnc3RyICIlczogZXhwcmVzaSBlcnJvclxuIgpAQCAtOTgxLDcgKzEwMTEsNyBAQAogbXNnaWQgImdldGN3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQgZGlyZWN0b3JpZXMiCiBtc2dzdHIgImdldGN3ZDogdGlkYWsgZGFwYXQgbWVuZ2Frc2VzIGRpcmVrdG9yaSBvcmFuZyB0dWEiCiAKLSM6IGlucHV0LmM6OTQgc3Vic3QuYzo0NTU5CisjOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDg1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVyZXNldCBtb2RlIG5vZGVsYXkgdW50dWsgZmQgJWQiCkBAIC0xMDM2LDcgKzEwNjYsNyBAQAogbXNnaWQgIkRvbmUiCiBtc2dzdHIgIlNlbGVzYWkiCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjIKKyM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKIG1zZ2lkICJTdG9wcGVkIgogbXNnc3RyICJUZXJoZW50aSIKIApAQCAtMTA3Myw2OSArMTEwMyw3MyBAQAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIiAgKHdkOiAlcykiCiAKLSM6IGpvYnMuYzoxNzcxCisjOiBqb2JzLmM6MTc3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGlsZCBzZXRwZ2lkICglbGQgdG8gJWxkKSIKIG1zZ3N0ciAiYW5hayBzZXRwZ2lkICglbGQga2UgJWxkKSIKIAotIzogam9icy5jOjIwOTkgbm9qb2JzLmM6NTg1CisjOiBqb2JzLmM6MjEwNCBub2pvYnMuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgogbXNnc3RyICJ3YWl0OiBwaWQgJWxkIGJ1a2FuIHNlYnVhaCBhbmFrIGRhcmkgc2hlbGwgaW5pIgogCi0jOiBqb2JzLmM6MjMyNgorIzogam9icy5jOjIzMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIG1zZ3N0ciAid2FpdF9mb3I6IFRpZGFrIGFkYSBjYXRhdGFuIHVudHVrIHByb3NlcyAlbGQiCiAKLSM6IGpvYnMuYzoyNTk4CisjOiBqb2JzLmM6MjYwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogbXNnc3RyICJ3YWl0X2Zvcl9qb2I6IHBla2VyamFhbiAlZCB0ZXJoZW50aSIKIAotIzogam9icy5jOjI4MjAKKyM6IGpvYnMuYzoyODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgaGFzIHRlcm1pbmF0ZWQiCiBtc2dzdHIgIiVzOiBwZWtlcmphYW4gdGVsYWggc2VsZXNhaSIKIAotIzogam9icy5jOjI4MjkKKyM6IGpvYnMuYzoyODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgJWQgYWxyZWFkeSBpbiBiYWNrZ3JvdW5kIgogbXNnc3RyICIlczogcGVrZXJqYWFuICVkIHN1ZGFoIGJlcmphbGFuIGRpIGJlbGFrYW5nIChiYWNrZ3JvdW5kKSIKIAotIzogam9icy5jOjM0OTIKKyM6IGpvYnMuYzozMDU5Cittc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgorbXNnc3RyICIiCisKKyM6IGpvYnMuYzozNTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBsaW5lICVkOiAiCiBtc2dzdHIgIiVzOiBiYXJpcyAlZDogIgogCi0jOiBqb2JzLmM6MzUwNiBub2pvYnMuYzo4MTQKKyM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKGNvcmUgZHVtcGVkKSIKIG1zZ3N0ciAiIChjb3JlIGRpZHVtcCkiCiAKLSM6IGpvYnMuYzozNTE4IGpvYnMuYzozNTMxCisjOiBqb2JzLmM6MzUzNCBqb2JzLmM6MzU0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIod2Qgbm93OiAlcylcbiIKIG1zZ3N0ciAiKHdkIHNla2FyYW5nOiAlcylcbiIKIAotIzogam9icy5jOjM1NjMKKyM6IGpvYnMuYzozNTc5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBmYWlsZWQiCiBtc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZ2FnYWwiCiAKLSM6IGpvYnMuYzozNjIzCisjOiBqb2JzLmM6MzYzOQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogYmFyaXMgZGlzaXBsaW4iCiAKLSM6IGpvYnMuYzozNjMzCisjOiBqb2JzLmM6MzY0OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiBtc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiAKLSM6IGpvYnMuYzozNjYxCisjOiBqb2JzLmM6MzY3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgKCVkKSIKIG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVuc2V0IHRlcm1pbmFsIHByb3NlcyBncnVwICglZCkiCiAKLSM6IGpvYnMuYzozNjY2CisjOiBqb2JzLmM6MzY4MgogbXNnaWQgIm5vIGpvYiBjb250cm9sIGluIHRoaXMgc2hlbGwiCiBtc2dzdHIgInRpZGFrIGFkYSBwZW5nb250cm9sIHBla2VyamFhbiBkYWxhbSBzaGVsbCBpbmkiCiAKQEAgLTEyMjgsNiArMTI2MiwyNiBAQAogbXNnaWQgIm5ldHdvcmsgb3BlcmF0aW9ucyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICJvcGVyYXNpIGphcmluZ2FuIHRpZGFrIGRpbGF5YW5pIgogCisjOiBsb2NhbGUuYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2NhbGUuYzoyNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCittc2dzdHIgInhyZWFsbG9jOiAlczolZDogdGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gJWx1IGJ5dGVzIgorCisjOiBsb2NhbGUuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IHRpZGFrIGRhcGF0IG1lbmdhbG9rYXNpa2FuICVsdSBieXRlcyIKKwogIzogbWFpbGNoZWNrLmM6NDMzCiBtc2dpZCAiWW91IGhhdmUgbWFpbCBpbiAkXyIKIG1zZ3N0ciAiQW5kYSBtZW1pbGlraSBzdXJhdCBkYWxhbSAkXyIKQEAgLTEyNDEsMTMyICsxMjk1LDEzMiBAQAogbXNnaWQgIlRoZSBtYWlsIGluICVzIGhhcyBiZWVuIHJlYWRcbiIKIG1zZ3N0ciAiU3VyYXQgZGFsYW0gJXMgdGVsYWggZGliYWNhXG4iCiAKLSM6IG1ha2VfY21kLmM6MzIyCisjOiBtYWtlX2NtZC5jOjMyMwogbXNnaWQgInN5bnRheCBlcnJvcjogYXJpdGhtZXRpYyBleHByZXNzaW9uIHJlcXVpcmVkIgogbXNnc3RyICJzeW50YXggZXJyb3I6IG1lbWJ1dHVoa2FuIGVrc3ByZXNpIGFyaXRobWV0aWMiCiAKLSM6IG1ha2VfY21kLmM6MzI0CisjOiBtYWtlX2NtZC5jOjMyNQogbXNnaWQgInN5bnRheCBlcnJvcjogYDsnIHVuZXhwZWN0ZWQiCiBtc2dzdHIgInN5bnRheCBlcnJvcjogYDsnIHRpZGFrIHRlcmR1Z2EiCiAKLSM6IG1ha2VfY21kLmM6MzI1CisjOiBtYWtlX2NtZC5jOjMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGAoKCVzKSknIgogbXNnc3RyICJzeW50YXggZXJyb3I6IGAoKCVzKSknIgogCi0jOiBtYWtlX2NtZC5jOjU2NworIzogbWFrZV9jbWQuYzo1NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9oZXJlX2RvY3VtZW50OiBiYWQgaW5zdHJ1Y3Rpb24gdHlwZSAlZCIKIG1zZ3N0ciAibWFrZV9oZXJlX2RvY3VtZW50OiB0aXBlIGluc3RydWtzaSBidXJ1ayAlZCIKIAotIzogbWFrZV9jbWQuYzo2NTEKKyM6IG1ha2VfY21kLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlcmUtZG9jdW1lbnQgYXQgbGluZSAlZCBkZWxpbWl0ZWQgYnkgZW5kLW9mLWZpbGUgKHdhbnRlZCBgJXMnKSIKIG1zZ3N0ciAiIgogImRva3VtZW4tZGlzaW5pIGRpIGJhcmlzICVkIGRpYmF0YXNpIG9sZWggYWtoaXItZGFyaS1iZXJrYXMgKGRpaW5naW5rYW4gYCVzJykiCiAKLSM6IG1ha2VfY21kLmM6NzQ2CisjOiBtYWtlX2NtZC5jOjc1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWtlX3JlZGlyZWN0aW9uOiByZWRpcmVjdGlvbiBpbnN0cnVjdGlvbiBgJWQnIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAibWFrZV9yZWRpcmVjdGlvbjogaW5zdHJ1a3NpIHJlZGlyZWtzaSBgJWQnIGRpbHVhciBkYXJpIGphbmdrYXVhbiIKIAotIzogcGFyc2UueToyOTg2IHBhcnNlLnk6MzIxOAorIzogcGFyc2UueTozMTMzIHBhcnNlLnk6MzM2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgJWMnIgogbXNnc3RyICJFT0YgdGlkYWsgdGVyZHVnYSBrZXRpa2EgbWVuY2FyaSB1bnR1ayBwZW5jb2Nva2FuIGAlYyciCiAKLSM6IHBhcnNlLnk6MzcyMgorIzogcGFyc2UueTozOTUxCiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAiRU9GIHRpZGFrIHRlcmR1Z2Ega2V0aWthIG1lbmNhcmkgdW50dWsgYF1dJyIKIAotIzogcGFyc2UueTozNzI3CisjOiBwYXJzZS55OjM5NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAic3ludGF4IGVycm9yIGRhbGFtIGVrc3ByZXNpIGtvbmRpc2lvbmFsOiB0YW5kYSBgJXMnIHRpZGFrIHRlcmR1Z2EiCiAKLSM6IHBhcnNlLnk6MzczMQorIzogcGFyc2UueTozOTYwCiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgInN5bnRheCBlcnJvciBkYWxhbSBla3NwcmVzaSBrb25kaXNpb25hbCIKIAotIzogcGFyc2UueTozODA5CisjOiBwYXJzZS55OjQwMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCiBtc2dzdHIgInRhbmRhIGAlcycgdGlkYWsgdGVyZHVnYSwgZGlkdWdhIGApJyIKIAotIzogcGFyc2UueTozODEzCisjOiBwYXJzZS55OjQwNDIKIG1zZ2lkICJleHBlY3RlZCBgKSciCiBtc2dzdHIgImRpZHVnYSBgKSciCiAKLSM6IHBhcnNlLnk6Mzg0MQorIzogcGFyc2UueTo0MDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiYXJndW1lbiB0aWRhayB0ZXJkdWdhIGAlcycga2Ugb3BlcmF0b3Iga29uZGlzaW9uYWwgdW5hcnkiCiAKLSM6IHBhcnNlLnk6Mzg0NQorIzogcGFyc2UueTo0MDc0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiYXJndW1lbiB0aWRhayB0ZXJkdWdhIHVudHVrIG9wZXJhc2kgdW5hcnkga29uZGlzaW9uYWwiCiAKLSM6IHBhcnNlLnk6Mzg4NQorIzogcGFyc2UueTo0MTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICJ0YW5kYSBgJXMnIHRpZGFrIHRlcmR1Z2EsIG9wZXJhdG9yIGJpbmFyeSBrb25kaXNpb25hbCBkaWR1Z2EiCiAKLSM6IHBhcnNlLnk6Mzg4OQorIzogcGFyc2UueTo0MTI0CiBtc2dpZCAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICJvcGVyYXRvciBiaW5hcnkga29uZGlzaW9uYWwgZGlkdWdhIgogCi0jOiBwYXJzZS55OjM5MDYKKyM6IHBhcnNlLnk6NDE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJhcmd1bWVuIGAlcycgdGlkYWsgdGVyZHVnYSBrZSBvcGVyYXRvciBiaW5hcnkga29uZGlzaW9uYWwiCiAKLSM6IHBhcnNlLnk6MzkxMAorIzogcGFyc2UueTo0MTUwCiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgImFyZ3VtZW4gdGlkYWsgdGVyZHVnYSBrZSBvcGVyYXNpIGJpbmFyeSBrb25kaXNpb25hbCIKIAotIzogcGFyc2UueTozOTIxCisjOiBwYXJzZS55OjQxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgInRhbmRhIGAlYycgdGlkYWsgdGVyZHVnYSBkYWxhbSBwZXJpbnRhaCBrb25kaXNpb25hbCIKIAotIzogcGFyc2UueTozOTI0CisjOiBwYXJzZS55OjQxNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgInRhbmRhIGAlcycgdGlkYWsgdGVyZHVnYSBkYWxhbSBwZXJpbnRhaCBrb25kaXNpb25hbCIKIAotIzogcGFyc2UueTozOTI4CisjOiBwYXJzZS55OjQxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJ0YW5kYSAlZCB0aWRhayB0ZXJkdWdhIGRhbGFtIHBlcmludGFoIGtvbmRpc2lvbmFsIgogCi0jOiBwYXJzZS55OjUxOTUKKyM6IHBhcnNlLnk6NTQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgInN5bnRheCBlcnJvciBkaWRla2F0IHRhbmRhIGAlcycgeWFuZyB0aWRhayB0ZXJkdWdhIgogCi0jOiBwYXJzZS55OjUyMTMKKyM6IHBhcnNlLnk6NTQ3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgogbXNnc3RyICJzeW50YXggZXJyb3IgZGlkZWthdCBgJXMnIgogCi0jOiBwYXJzZS55OjUyMjMKKyM6IHBhcnNlLnk6NTQ4NwogbXNnaWQgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAic3ludGF4IGVycm9yOiB0aWRhayB0ZXJkdWdhIGRpYWtoaXIgZGFyaSBiZXJrYXMiCiAKLSM6IHBhcnNlLnk6NTIyMworIzogcGFyc2UueTo1NDg3CiBtc2dpZCAic3ludGF4IGVycm9yIgogbXNnc3RyICJzeW50YXggZXJyb3IiCiAKLSM6IHBhcnNlLnk6NTI4NQorIzogcGFyc2UueTo1NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICJHdW5ha2FuIFwiJXNcIiB1bnR1ayBtZW5pbmdnYWxrYW4gc2hlbGwuXG4iCiAKLSM6IHBhcnNlLnk6NTQ0NworIzogcGFyc2UueTo1NzExCiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgogbXNnc3RyICJFT0YgdGlkYWsgdGVyZHVnYSBrZXRpa2EgbWVuY2FyaSB1bnR1ayBwZW5jb2Nva2FuICcpJyIKIAotIzogcGNvbXBsZXRlLmM6MTAxOAorIzogcGNvbXBsZXRlLmM6MTAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0aW9uOiBmdW5jdGlvbiBgJXMnIG5vdCBmb3VuZCIKIG1zZ3N0ciAiY29tcGxldGlvbjogZnVuZ3NpIGAlcycgdGlkYWsgZGl0ZW11a2FuIgpAQCAtMTM3Niw0MDYgKzE0MzAsNDMxIEBACiBtc2dpZCAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIG1zZ3N0ciAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIAotIzogcHJpbnRfY21kLmM6Mjg1CisjOiBwcmludF9jbWQuYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJpbnRfY29tbWFuZDogYmFkIGNvbm5lY3RvciBgJWQnIgogbXNnc3RyICJwcmludF9jb21tYW5kOiBrb25la3RvciBidXJ1ayBgJWQnIgogCi0jOiBwcmludF9jbWQuYzoxMzQ4CisjOiBwcmludF9jbWQuYzozNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiJWQ6IGZpbGUgZGVza3JpcHRvciAlcyB0aWRhayB2YWxpZCIKKworIzogcHJpbnRfY21kLmM6MzY4Cittc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCittc2dzdHIgIiIKKworIzogcHJpbnRfY21kLmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzoxNDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiY3ByaW50ZjogJyVjJzogZm9ybWF0IGthcmFrdGVyIHRpZGFrIHZhbGlkIgogCi0jOiByZWRpci5jOjEwNQorIzogcmVkaXIuYzoxMTAKIG1zZ2lkICJmaWxlIGRlc2NyaXB0b3Igb3V0IG9mIHJhbmdlIgogbXNnc3RyICJiZXJrYXMgZGVza3JpcHNpIGRpbHVhciBkYXJpIGphbmdrYXVhbiIKIAotIzogcmVkaXIuYzoxNDgKKyM6IHJlZGlyLmM6MTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QiCiBtc2dzdHIgIiVzOiByZWRpcmVjdCBhbWJpZ3UiCiAKLSM6IHJlZGlyLmM6MTUyCisjOiByZWRpci5jOjE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlIgogbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVudWxpcyBiZXJrYXMgeWFuZyBzdWRhaCBhZGEiCiAKLSM6IHJlZGlyLmM6MTU3CisjOiByZWRpci5jOjE3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHJlZGlyZWN0IG91dHB1dCIKIG1zZ3N0ciAiJXM6IHJlc3RyaWN0ZWQ6IHRpZGFrIGRhcGF0IG1lcmVkaXJlY3Qga2VsdWFyYW4iCiAKLSM6IHJlZGlyLmM6MTYyCisjOiByZWRpci5jOjE4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIHRlbXAgZmlsZSBmb3IgaGVyZS1kb2N1bWVudDogJXMiCiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1YXQgYmVya2FzIHNlbWVudGFyYSB1bnR1ayBkb2t1bWVuIGRpc2luaTogJXMiCiAKLSM6IHJlZGlyLmM6NTE3CisjOiByZWRpci5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gZmQgdG8gdmFyaWFibGUiCittc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW5nLWFzc2lnbiBkYWZ0YXIga2VkYWxhbSBhbmdnb3lhIGFycmF5IgorCisjOiByZWRpci5jOjU0NAogbXNnaWQgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKIG1zZ3N0ciAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IHRpZGFrIGRpbGF5YW5pIHRhbnBhIGphcmluZ2FuIgogCi0jOiByZWRpci5jOjEwMjMKKyM6IHJlZGlyLmM6MTEwMQogbXNnaWQgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgogbXNnc3RyICJyZWRpcmVjdGlvbiBlcnJvcjogdGlkYWsgZGFwYXQgbWVuZHVwbGlrYXNpIGZkIgogCi0jOiBzaGVsbC5jOjMyOAorIzogc2hlbGwuYzozMzIKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZW11a2FuIC90bXAsIHRvbG9uZyBidWF0ISIKIAotIzogc2hlbGwuYzozMzIKKyM6IHNoZWxsLmM6MzM2CiBtc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCiBtc2dzdHIgIi90bXAgaGFydXMgYmVydXBhIHNlYnVhaCBuYW1hIGRpcmVrdG9yaSB5YW5nIHZhbGlkIgogCi0jOiBzaGVsbC5jOjg3NgorIzogc2hlbGwuYzo4ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWMlYzogaW52YWxpZCBvcHRpb24iCi1tc2dzdHIgIiVjJWM6IG9wc2kgdGlkYWsgdmFsaWQiCittc2dzdHIgIiVjJWM6IHBpbGloYW4gdGlkYWsgdmFsaWQiCiAKLSM6IHNoZWxsLmM6MTYzOAorIzogc2hlbGwuYzoxNjUxCiBtc2dpZCAiSSBoYXZlIG5vIG5hbWUhIgogbXNnc3RyICJBa3UgdGlkYWsgbWVtaWxpa2kgbmFtYSEiCiAKLSM6IHNoZWxsLmM6MTc3OAorIzogc2hlbGwuYzoxNzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkdOVSBiYXNoLCB2ZXJzaW9uICVzLSglcylcbiIKIG1zZ3N0ciAiR05VIGJhc2gsIHZlcnNpICVzLSglcylcbiIKIAotIzogc2hlbGwuYzoxNzc5CisjOiBzaGVsbC5jOjE3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCiAiXHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSBzY3JpcHQtZmlsZSAuLi5cbiIKIG1zZ3N0ciAiIgotIlBlbmdndW5hYW46XHQlcyBbR05VIG9wc2kgcGFuamFuZ10gW29wc2ldIC4uLlxuIgotIlx0JXMgW0dOVSBvcHNpIHBhbmphbmddIFtvcHNpXSBiZXJrYXMtc2NyaXB0IC4uLlxuIgorIlBlbmdndW5hYW46XHQlcyBbR05VIHBpbGloYW4gcGFuamFuZ10gW3BpbGloYW5dIC4uLlxuIgorIlx0JXMgW0dOVSBwaWxpaGFuIHBhbmphbmddIFtwaWxpaGFuXSBiZXJrYXMtc2NyaXB0IC4uLlxuIgogCi0jOiBzaGVsbC5jOjE3ODEKKyM6IHNoZWxsLmM6MTc5NgogbXNnaWQgIkdOVSBsb25nIG9wdGlvbnM6XG4iCi1tc2dzdHIgIkdOVSBvcHNpIHBhbmphbmc6XG4iCittc2dzdHIgIkdOVSBwaWxpaGFuIHBhbmphbmc6XG4iCiAKLSM6IHNoZWxsLmM6MTc4NQorIzogc2hlbGwuYzoxODAwCiBtc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKLW1zZ3N0ciAiT3BzaSBzaGVsbDpcbiIKK21zZ3N0ciAiUGlsaWhhbiBzaGVsbDpcbiIKIAotIzogc2hlbGwuYzoxNzg2CisjOiBzaGVsbC5jOjE4MDEKIG1zZ2lkICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCiBtc2dzdHIgIlx0LWlyc0QgYXRhdSAtYyBwZXJpbnRhaCBhdGF1IC1PIHNob3B0X29wdGlvblx0XHQoaGFueWEgcGVtYW5nZ2lsYW4pXG4iCiAKLSM6IHNoZWxsLmM6MTgwMQorIzogc2hlbGwuYzoxODE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgotbXNnc3RyICJcdC0lcyBhdGF1IG9wc2kgLW9cbiIKK21zZ3N0ciAiXHQtJXMgYXRhdSBwaWxpaGFuIC1vXG4iCiAKLSM6IHNoZWxsLmM6MTgwNworIzogc2hlbGwuYzoxODIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIFwiaGVscCBzZXRcIicgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgb3B0aW9ucy5cbiIKIG1zZ3N0ciAiIgotIktldGlrIGAlcyAtYyBcImhlbHAgc2V0XCInIHVudHVrIGluZm9ybWFzaSBsZWJpaCBsYW5qdXQgbWVuZ2VuYWkgb3BzaSAiCisiS2V0aWsgYCVzIC1jIFwiaGVscCBzZXRcIicgdW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBtZW5nZW5haSBwaWxpaGFuICIKICJzaGVsbC5cbiIKIAotIzogc2hlbGwuYzoxODA4CisjOiBzaGVsbC5jOjE4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKIG1zZ3N0ciAiIgogIktldGlrIGAlcyAtYyBoZWxwJyB1bnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0IG1lbmdlbmFpIHBlcmludGFoIGJ1aWx0aW5nICIKICJzaGVsbC5cbiIKIAotIzogc2hlbGwuYzoxODA5CisjOiBzaGVsbC5jOjE4MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIHRoZSBgYmFzaGJ1ZycgY29tbWFuZCB0byByZXBvcnQgYnVncy5cbiIKIG1zZ3N0ciAiR3VuYWthbiBwZXJpbnRhaCAnYmFzaGJ1ZycgdW50dWsgbWVsYXBvcmthbiBidWdzLlxuIgogCi0jOiBzaWcuYzo1ODMKKyM6IHNpZy5jOjYyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzaWdwcm9jbWFzazogJWQ6IGludmFsaWQgb3BlcmF0aW9uIgogbXNnc3RyICJzaWdwcm9jbWFzazogJWQ6IG9wZXJhc2kgdGlkYWsgdmFsaWQiCiAKLSM6IHNpZ2xpc3QuYzo0NworIzogc2lnbGlzdC5jOjQ4CiBtc2dpZCAiQm9ndXMgc2lnbmFsIgogbXNnc3RyICJTaW55YWwgcGFsc3UiCiAKLSM6IHNpZ2xpc3QuYzo1MAorIzogc2lnbGlzdC5jOjUxCiBtc2dpZCAiSGFuZ3VwIgogbXNnc3RyICJIYW5ndXAiCiAKLSM6IHNpZ2xpc3QuYzo1NAorIzogc2lnbGlzdC5jOjU1CiBtc2dpZCAiSW50ZXJydXB0IgogbXNnc3RyICJJbnRlcnVwc2kiCiAKLSM6IHNpZ2xpc3QuYzo1OAorIzogc2lnbGlzdC5jOjU5CiBtc2dpZCAiUXVpdCIKIG1zZ3N0ciAiQmVyaGVudGkiCiAKLSM6IHNpZ2xpc3QuYzo2MgorIzogc2lnbGlzdC5jOjYzCiBtc2dpZCAiSWxsZWdhbCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiSW5zdHJ1a3NpIGlsZWdhbCIKIAotIzogc2lnbGlzdC5jOjY2CisjOiBzaWdsaXN0LmM6NjcKIG1zZ2lkICJCUFQgdHJhY2UvdHJhcCIKIG1zZ3N0ciAiQlBUIHRyYWNlL3RyYXAiCiAKLSM6IHNpZ2xpc3QuYzo3NAorIzogc2lnbGlzdC5jOjc1CiBtc2dpZCAiQUJPUlQgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIkluc3RydWtzaSBBQk9SVCIKIAotIzogc2lnbGlzdC5jOjc4CisjOiBzaWdsaXN0LmM6NzkKIG1zZ2lkICJFTVQgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIkluc3RydWtzaSBFTVQiCiAKLSM6IHNpZ2xpc3QuYzo4MgorIzogc2lnbGlzdC5jOjgzCiBtc2dpZCAiRmxvYXRpbmcgcG9pbnQgZXhjZXB0aW9uIgogbXNnc3RyICJGbG9hdGluZyBwb2ludCBleGNlcHRpb24iCiAKLSM6IHNpZ2xpc3QuYzo4NgorIzogc2lnbGlzdC5jOjg3CiBtc2dpZCAiS2lsbGVkIgogbXNnc3RyICJEaWJ1bnVoIgogCi0jOiBzaWdsaXN0LmM6OTAKKyM6IHNpZ2xpc3QuYzo5MQogbXNnaWQgIkJ1cyBlcnJvciIKIG1zZ3N0ciAiQnVzIGVycm9yIgogCi0jOiBzaWdsaXN0LmM6OTQKKyM6IHNpZ2xpc3QuYzo5NQogbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKIG1zZ3N0ciAiS2VzYWxhaGFuIHNlZ21lbnRhc2kiCiAKLSM6IHNpZ2xpc3QuYzo5OAorIzogc2lnbGlzdC5jOjk5CiBtc2dpZCAiQmFkIHN5c3RlbSBjYWxsIgogbXNnc3RyICJQZW1hbmdnaWxhbiBzaXN0ZW0gYnVydWsiCiAKLSM6IHNpZ2xpc3QuYzoxMDIKKyM6IHNpZ2xpc3QuYzoxMDMKIG1zZ2lkICJCcm9rZW4gcGlwZSIKIG1zZ3N0ciAiUGlwZSBydXNhayIKIAotIzogc2lnbGlzdC5jOjEwNgorIzogc2lnbGlzdC5jOjEwNwogbXNnaWQgIkFsYXJtIGNsb2NrIgogbXNnc3RyICJBbGFybSBjbG9jayIKIAotIzogc2lnbGlzdC5jOjExMAorIzogc2lnbGlzdC5jOjExMQogbXNnaWQgIlRlcm1pbmF0ZWQiCiBtc2dzdHIgIlNlbGVzYWkiCiAKLSM6IHNpZ2xpc3QuYzoxMTQKKyM6IHNpZ2xpc3QuYzoxMTUKIG1zZ2lkICJVcmdlbnQgSU8gY29uZGl0aW9uIgogbXNnc3RyICJLb2Rpc2kgSU8gcGVudGluZyIKIAotIzogc2lnbGlzdC5jOjExOAorIzogc2lnbGlzdC5jOjExOQogbXNnaWQgIlN0b3BwZWQgKHNpZ25hbCkiCiBtc2dzdHIgIlRlcmhlbnRpIChzaW55YWwpIgogCi0jOiBzaWdsaXN0LmM6MTI2CisjOiBzaWdsaXN0LmM6MTI3CiBtc2dpZCAiQ29udGludWUiCiBtc2dzdHIgIk1lbGFuanV0a2FuIgogCi0jOiBzaWdsaXN0LmM6MTM0CisjOiBzaWdsaXN0LmM6MTM1CiBtc2dpZCAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKIG1zZ3N0ciAiQW5hayB0ZXdhcyBhdGF1IGJlcmhlbnRpIgogCi0jOiBzaWdsaXN0LmM6MTM4CisjOiBzaWdsaXN0LmM6MTM5CiBtc2dpZCAiU3RvcHBlZCAodHR5IGlucHV0KSIKIG1zZ3N0ciAiVGVyaGVudGkgKHR0eSBpbnB1dCkiCiAKLSM6IHNpZ2xpc3QuYzoxNDIKKyM6IHNpZ2xpc3QuYzoxNDMKIG1zZ2lkICJTdG9wcGVkICh0dHkgb3V0cHV0KSIKIG1zZ3N0ciAiVGVyaGVudGkgKHR0eSBvdXRwdXQpIgogCi0jOiBzaWdsaXN0LmM6MTQ2CisjOiBzaWdsaXN0LmM6MTQ3CiBtc2dpZCAiSS9PIHJlYWR5IgogbXNnc3RyICJJL08gc2lhcCIKIAotIzogc2lnbGlzdC5jOjE1MAorIzogc2lnbGlzdC5jOjE1MQogbXNnaWQgIkNQVSBsaW1pdCIKIG1zZ3N0ciAiQmF0YXMgQ1BVIgogCi0jOiBzaWdsaXN0LmM6MTU0CisjOiBzaWdsaXN0LmM6MTU1CiBtc2dpZCAiRmlsZSBsaW1pdCIKIG1zZ3N0ciAiQmF0YXMgYmVya2FzIgogCi0jOiBzaWdsaXN0LmM6MTU4CisjOiBzaWdsaXN0LmM6MTU5CiBtc2dpZCAiQWxhcm0gKHZpcnR1YWwpIgogbXNnc3RyICJBbGFybSAodmlydHVhbCkiCiAKLSM6IHNpZ2xpc3QuYzoxNjIKKyM6IHNpZ2xpc3QuYzoxNjMKIG1zZ2lkICJBbGFybSAocHJvZmlsZSkiCiBtc2dzdHIgIkFsYXJtIChwcm9maWxlKSIKIAotIzogc2lnbGlzdC5jOjE2NgorIzogc2lnbGlzdC5jOjE2NwogbXNnaWQgIldpbmRvdyBjaGFuZ2VkIgogbXNnc3RyICJXaW5kb3cgYmVydWJhaCIKIAotIzogc2lnbGlzdC5jOjE3MAorIzogc2lnbGlzdC5jOjE3MQogbXNnaWQgIlJlY29yZCBsb2NrIgogbXNnc3RyICJDYXRhdGFuIHRlcmt1bmNpIgogCi0jOiBzaWdsaXN0LmM6MTc0CisjOiBzaWdsaXN0LmM6MTc1CiBtc2dpZCAiVXNlciBzaWduYWwgMSIKIG1zZ3N0ciAiU2lueWFsIHBlbmdndW5hIDEiCiAKLSM6IHNpZ2xpc3QuYzoxNzgKKyM6IHNpZ2xpc3QuYzoxNzkKIG1zZ2lkICJVc2VyIHNpZ25hbCAyIgogbXNnc3RyICJTaW55YWwgcGVuZ2d1bmEgMiIKIAotIzogc2lnbGlzdC5jOjE4MgorIzogc2lnbGlzdC5jOjE4MwogbXNnaWQgIkhGVCBpbnB1dCBkYXRhIHBlbmRpbmciCiBtc2dzdHIgIkhGVCBtYXN1a2FuIGRhdGEgdGVydHVuZGEiCiAKLSM6IHNpZ2xpc3QuYzoxODYKKyM6IHNpZ2xpc3QuYzoxODcKIG1zZ2lkICJwb3dlciBmYWlsdXJlIGltbWluZW50IgogbXNnc3RyICJLZWxpaGF0YW5ueWEgYWthbiB0ZXJqYWRpIGtlZ2FnYWxhbiBwb3dlciBzdXBseSIKIAotIzogc2lnbGlzdC5jOjE5MAorIzogc2lnbGlzdC5jOjE5MQogbXNnaWQgInN5c3RlbSBjcmFzaCBpbW1pbmVudCIKIG1zZ3N0ciAiS2VsaWhhdGFubnlhIGFrYW4gdGVyamFkaSBrZXJ1c2FrYW4gc2lzdGVtIgogCi0jOiBzaWdsaXN0LmM6MTk0CisjOiBzaWdsaXN0LmM6MTk1CiBtc2dpZCAibWlncmF0ZSBwcm9jZXNzIHRvIGFub3RoZXIgQ1BVIgogbXNnc3RyICJwaW5kYWhrYW4gcHJvc2VzIGtlIENQVSBsYWluIgogCi0jOiBzaWdsaXN0LmM6MTk4CisjOiBzaWdsaXN0LmM6MTk5CiBtc2dpZCAicHJvZ3JhbW1pbmcgZXJyb3IiCiBtc2dzdHIgImVycm9yIGRhbGFtIHBlbXJvZ3JhbWFuIgogCi0jOiBzaWdsaXN0LmM6MjAyCisjOiBzaWdsaXN0LmM6MjAzCiBtc2dpZCAiSEZUIG1vbml0b3IgbW9kZSBncmFudGVkIgogbXNnc3RyICJIRlQgbW9kZSBtb25pdG9yaW5nIGRpYmVyaWthbiIKIAotIzogc2lnbGlzdC5jOjIwNgorIzogc2lnbGlzdC5jOjIwNwogbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgcmV0cmFjdGVkIgogbXNnc3RyICJIRlQgbW9kZSBtb25pdG9yaW5nIGRpdGFyaWsiCiAKLSM6IHNpZ2xpc3QuYzoyMTAKKyM6IHNpZ2xpc3QuYzoyMTEKIG1zZ2lkICJIRlQgc291bmQgc2VxdWVuY2UgaGFzIGNvbXBsZXRlZCIKIG1zZ3N0ciAiSEZUUCBzb3VuZCBzZXF1ZW5jZSB0ZWxhaCBzZWxlc2FpIgogCi0jOiBzaWdsaXN0LmM6MjE0CisjOiBzaWdsaXN0LmM6MjE1CiBtc2dpZCAiSW5mb3JtYXRpb24gcmVxdWVzdCIKIG1zZ3N0ciAiUGVybWludGFhbiBpbmZvcm1hc2kiCiAKLSM6IHNpZ2xpc3QuYzoyMjIKKyM6IHNpZ2xpc3QuYzoyMjMKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjIgogbXNnc3RyICJTaW55YWwgdGlkYWsgZGlrZXRhaHVpICMiCiAKLSM6IHNpZ2xpc3QuYzoyMjQKKyM6IHNpZ2xpc3QuYzoyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyVkIgogbXNnc3RyICJTaW55YWwgdGlkYWsgZGlrZXRhaHVpICMlZCIKIAotIzogc3Vic3QuYzoxMTgxIHN1YnN0LmM6MTMwMgorIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTQ1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIGAlcycgaW4gJXMiCiBtc2dzdHIgInN1YnN0aXR1c2kgYnVydWs6IHRpZGFrIGFkYSBwZW51dHVwYW4gYCVzJyBkYWxhbSAlcyIKIAotIzogc3Vic3QuYzoyNDU4CisjOiBzdWJzdC5jOjI3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gbGlzdCB0byBhcnJheSBtZW1iZXIiCiBtc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW5nLWFzc2lnbiBkYWZ0YXIga2VkYWxhbSBhbmdnb3lhIGFycmF5IgogCi0jOiBzdWJzdC5jOjQ0NTYgc3Vic3QuYzo0NDcyCisjOiBzdWJzdC5jOjQ3NTQgc3Vic3QuYzo0NzcwCiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1YXQgcGlwZSB1bnR1ayBwcm9zZXMgc3Vic3RpdHVzaSIKIAotIzogc3Vic3QuYzo0NTA0CisjOiBzdWJzdC5jOjQ4MDIKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1YXQgYW5hayB1bnR1ayBwcm9zZXMgc3Vic3RpdHVzaSIKIAotIzogc3Vic3QuYzo0NTQ5CisjOiBzdWJzdC5jOjQ4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSBuYW1lZCBwaXBlICVzIHVudHVrIG1lbWJhY2EiCiAKLSM6IHN1YnN0LmM6NDU1MQorIzogc3Vic3QuYzo0ODQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2FuIG5hbWVkIHBpcGUgJXMgdW50dWsgbWVudWxpcyIKIAotIzogc3Vic3QuYzo0NTY5CisjOiBzdWJzdC5jOjQ4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBuYW1lZCBwaXBlICVzIGFzIGZkICVkIgogbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5kdXBsaWthc2kgbmFtYSBwaXBlICVzIHNlYmFnYWkgZmQgJWQiCiAKLSM6IHN1YnN0LmM6NDc2NQorIzogc3Vic3QuYzo1MDYzCiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1YXQgcGlwZSB1bnR1ayBwZXJpbnRhaCBzdWJzdGl0dXNpIgogCi0jOiBzdWJzdC5jOjQ3OTkKKyM6IHN1YnN0LmM6NTA5NwogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVhdCBhbmFrIHVudHVrIHBlcmludGFoIHN1YnN0aXR1c2kiCiAKLSM6IHN1YnN0LmM6NDgxNgorIzogc3Vic3QuYzo1MTE0CiBtc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIG1zZ3N0ciAiY29tbWFuZF9zdWJzdGl0dXRlOiB0aWRhayBkYXBhdCBtZW5kdXBsaWthc2lrYW4gcGlwZSBzZWJhZ2kgZmQgMSIKIAotIzogc3Vic3QuYzo1MzE4CisjOiBzdWJzdC5jOjU2MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCiBtc2dzdHIgIiVzOiBwYXJhbWV0ZXIga29zb25nIGF0YXUgdGlkYWsgZGlzZXQiCiAKLSM6IHN1YnN0LmM6NTYwOAorIzogc3Vic3QuYzo1OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiBtc2dzdHIgIiVzOiBzdWJzdHJpbmcgZXhwcmVzaSA8IDAiCiAKLSM6IHN1YnN0LmM6NjY2MAorIzogc3Vic3QuYzo2OTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIlczogc3Vic3RpdHVzaSBidXJ1ayIKIAotIzogc3Vic3QuYzo2NzQwCisjOiBzdWJzdC5jOjcwNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IHRpZGFrIGRhcGF0IG1lbmctYXNzaWduIGRlbmdhbiBjYXJhIGluaSIKIAotIzogc3Vic3QuYzo3NDk5CisjOiBzdWJzdC5jOjczNzQKK21zZ2lkICIiCisiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyAiCisic3Vic3RpdHV0aW9uIgorbXNnc3RyICIiCisKKyM6IHN1YnN0LmM6NzgzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgogbXNnc3RyICJzdWJzdGl0dXNpIGJ1cnVrOiB0aWRhayBhZGEgcGVudXR1cGFuIFwiXCIgZGFsYW0gJXMiCiAKLSM6IHN1YnN0LmM6ODM3NQorIzogc3Vic3QuYzo4NzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoOiAlcyIKIG1zZ3N0ciAidGlkYWsgY29jb2s6ICVzIgogCi0jOiB0ZXN0LmM6MTQ1CisjOiB0ZXN0LmM6MTQ2CiBtc2dpZCAiYXJndW1lbnQgZXhwZWN0ZWQiCiBtc2dzdHIgImFyZ3VtZW4gZGloYXJhcGthbiIKIAotIzogdGVzdC5jOjE1NAorIzogdGVzdC5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW50ZWdlciBleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICIlczogZXhwcmVzaSBpbnRlZ2VyIGRpZHVnYSIKIAotIzogdGVzdC5jOjI2MgorIzogdGVzdC5jOjI2MwogbXNnaWQgImApJyBleHBlY3RlZCIKIG1zZ3N0ciAiJyknIGRpZHVnYSIKIAotIzogdGVzdC5jOjI2NAorIzogdGVzdC5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICJgKScgZGlkdWdhLCBkaXRlbXVrYW4gJXMiCiAKLSM6IHRlc3QuYzoyNzkgdGVzdC5jOjY4OCB0ZXN0LmM6NjkxCisjOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTMgdGVzdC5jOjY5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBvcGVyYXRvciB1bmFyeSBkaWR1Z2EiCiAKLSM6IHRlc3QuYzo0NDQgdGVzdC5jOjczMQorIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBvcGVyYXRvciBiaW5hcnkgZGlkdWdhIgogCi0jOiB0ZXN0LmM6ODA2CisjOiB0ZXN0LmM6ODExCiBtc2dpZCAibWlzc2luZyBgXSciCiBtc2dzdHIgImhpbGFuZyBgXSciCiAKLSM6IHRyYXAuYzoyMDEKKyM6IHRyYXAuYzoyMDMKIG1zZ2lkICJpbnZhbGlkIHNpZ25hbCBudW1iZXIiCiBtc2dzdHIgIm5vbW9yIHNpbnlhbCB0aWRhayB2YWxpZCIKIAotIzogdHJhcC5jOjMyNAorIzogdHJhcC5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogbXNnc3RyICJydW5fcGVuZGluZ190cmFwczogbmlsYWkgYnVydWsgZGFsYW0gdHJhcF9saXN0WyVkXTogJXAiCiAKLSM6IHRyYXAuYzozMjgKKyM6IHRyYXAuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCkBAIC0xNzgzLDU4ICsxODYyLDcyIEBACiAicnVuX3BlbmRpbmdfdHJhcHM6IHNpbnlhbCBoYW5kbGVyIGFkYWxhaCBTSUdfREZMLCBtZW5naXJpbWthbiBrZW1iYWxpICVkICglIgogInMpIGtlZGlyaSBzZW5kaXJpIgogCi0jOiB0cmFwLmM6MzcyCisjOiB0cmFwLmM6MzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKIG1zZ3N0ciAidHJhcF9oYW5kbGVyOiBzaW55YWwgYnVydWsgJWQiCiAKLSM6IHZhcmlhYmxlcy5jOjM1OAorIzogdmFyaWFibGVzLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnIgogbXNnc3RyICJlcnJvciBtZW5naW1wb3IgZGVmaW5pc2kgZnVuZ3NpIHVudHVrIGAlcyciCiAKLSM6IHZhcmlhYmxlcy5jOjczNgorIzogdmFyaWFibGVzLmM6NzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICJsZXZlbCBzaGVsbCAoJWQpIHRlcmxhbHUgdGluZ2dpLCBtZXJlc2V0IGtlIDEiCiAKLSM6IHZhcmlhYmxlcy5jOjE4OTgKKyM6IHZhcmlhYmxlcy5jOjE5MTUKIG1zZ2lkICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIm1ha2VfbG9jYWxfdmFyaWFibGU6IHRpZGFrIGFkYSBjb250ZXh0IGZ1bmdzaSBkaSBzY29wZSBpbmkiCiAKLSM6IHZhcmlhYmxlcy5jOjMxMjcKKyM6IHZhcmlhYmxlcy5jOjMxNTkKIG1zZ2lkICJhbGxfbG9jYWxfdmFyaWFibGVzOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgImFsbF9sb2NhbF92YXJpYWJsZXM6IHRpZGFrIGFkYSBjb250ZXh0IGZ1bmdzaSBkYWxhbSBzY29wZSBpbmkiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNDQgdmFyaWFibGVzLmM6MzM1MworIzogdmFyaWFibGVzLmM6MzM3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG51bGwgZXhwb3J0c3RyIgorbXNnc3RyICIlczogcGFyYW1ldGVyIGtvc29uZyBhdGF1IHRpZGFrIGRpc2V0IgorCisjOiB2YXJpYWJsZXMuYzozMzgxIHZhcmlhYmxlcy5jOjMzOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAia2FyYWt0ZXIgJWQgdGlkYWsgdmFsaWQgZGFsYW0gZXhwb3JzdHIgdW50dWsgJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNTkKKyM6IHZhcmlhYmxlcy5jOjMzOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgImJ1a2FuIGA9JyBkYWxhbSBleHBvcnRzdHIgdW50dWsgJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjM3OTQKKyM6IHZhcmlhYmxlcy5jOjM4MzUKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiBtc2dzdHIgIiIKICJwb3BfdmFyX2NvbnRleHQ6IGtlcGFsYSBkYXJpIHNoZWxsX3ZhcmlhYmxlcyBidWthbiBzZWJ1YWggZnVuZ3NpIGNibnRleHQiCiAKLSM6IHZhcmlhYmxlcy5jOjM4MDcKKyM6IHZhcmlhYmxlcy5jOjM4NDgKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IG5vIGdsb2JhbF92YXJpYWJsZXMgY29udGV4dCIKIG1zZ3N0ciAicG9wX3Zhcl9jb250ZXh0OiBidWthbiBnbG9iYWxfdmFyaWFibGUgY29udGV4dCIKIAotIzogdmFyaWFibGVzLmM6Mzg4MQorIzogdmFyaWFibGVzLmM6MzkyMgogbXNnaWQgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgogbXNnc3RyICIiCiAicG9wX3Njb3BlOiBrZXBhbGEgZGFyaSBzaGVsbF92YXJpYWJsZXMgYnVrYW4gc2VidWFoIHNjb3BlIGxpbmdrdW5nYW4gIgogInNlbWVudGFyYSIKIAorIzogdmFyaWFibGVzLmM6NDY3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVtYnVrYTogJXMiCisKKyM6IHZhcmlhYmxlcy5jOjQ2ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogaW52YWxpZCB2YWx1ZSBmb3IgdHJhY2UgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICIlZDogZmlsZSBkZXNrcmlwdG9yICVzIHRpZGFrIHZhbGlkIgorCiAjOiB2ZXJzaW9uLmM6NDYKLSMsIGZ1enp5CiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKLW1zZ3N0ciAiSGFrIENpcHRhIChDKSAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKK21zZ3N0ciAiSGFrIENpcHRhIChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIAogIzogdmVyc2lvbi5jOjQ3CiBtc2dpZCAiIgpAQCAtMTg0NCw2NyArMTkzNyw1OCBAQAogIkxpc2Vuc2kgR1BMdjMrOiBHTlUgR1BMIHZlcnNpIDMgYXRhdSBzZXN1ZGFobnlhIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgogImh0bWw+XG4iCiAKLSM6IHZlcnNpb24uYzo4NgorIzogdmVyc2lvbi5jOjg2IHZlcnNpb24yLmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMgKCVzKVxuIgogbXNnc3RyICJHTlUgYmFzaCwgdmVyc2kgJXMgKCVzKVxuIgogCi0jOiB2ZXJzaW9uLmM6OTEKKyM6IHZlcnNpb24uYzo5MSB2ZXJzaW9uMi5jOjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmlidXRlIGl0LlxuIgogbXNnc3RyICIiCiAiSW5pIGFkYWxhaCBwZXJhbmdrYXQgbHVuYWsgYmViYXM7IGFuZGEgYmViYXMgdW50dWsgbWVuZ3ViYWggZGFuICIKICJtZW5kaXN0cmlidXNpa2FubnlhLlxuIgogCi0jOiB2ZXJzaW9uLmM6OTIKKyM6IHZlcnNpb24uYzo5MiB2ZXJzaW9uMi5jOjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuXG4iCiBtc2dzdHIgIlRJREFLIEFEQSBHQVJBTlNJLCBzZWxhbWEgbWFzaWggZGlpamlua2FuIG9sZWggaHVrdW0geWFuZyBiZXJsYWt1LlxuIgogCi0jOiB4bWFsbG9jLmM6OTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjOiB2ZXJzaW9uMi5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCittc2dzdHIgIkhhayBDaXB0YSAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCisKKyM6IHZlcnNpb24yLmM6ODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMaWNlbnNlIEdQTHYyKzogR05VIEdQTCB2ZXJzaW9uIDIgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiaHRtbD5cbiIKK21zZ3N0ciAiIgorIkxpc2Vuc2kgR1BMdjMrOiBHTlUgR1BMIHZlcnNpIDMgYXRhdSBzZXN1ZGFobnlhIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgorImh0bWw+XG4iCisKKyM6IHhtYWxsb2MuYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgogbXNnc3RyICJ4bWFsbG9jOiB0aWRhayBkYXBhdCBtZW5nYWxva2FzaWthbiAlbHUgYnl0ZXMgKCVsdSBieXRlcyB0ZXJhbG9rYXNpKSIKIAotIzogeG1hbGxvYy5jOjk0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCisjOiB4bWFsbG9jLmM6OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgogbXNnc3RyICJ4bWFsbG9jOiB0aWRhayBkYXBhdCBtZW5nYWxva2FzaWthbiAlbHUgYnl0ZXMiCiAKLSM6IHhtYWxsb2MuYzoxMTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgIiIKLSJ4cmVhbGxvYzogdGlkYWsgZGFwYXQgbWVucmVhbG9rYXNpa2FuICVsdSBieXRlcyAoJWx1IGJ5dGVzIHRlcmFsb2thc2lrYW4pIgotCi0jOiB4bWFsbG9jLmM6MTE2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICJ4cmVhbGxvYzogdGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gJWx1IGJ5dGVzIgotCi0jOiB4bWFsbG9jLmM6MTUwCi0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyM6IHhtYWxsb2MuYzoxNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiBtc2dzdHIgIiIKICJ4bWFsbG9jOiAlczolZDogdGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gJWx1IGJ5dGVzICglbHUgYnl0ZXMgdGVyYWxva2FzaSkiCiAKLSM6IHhtYWxsb2MuYzoxNTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCisjOiB4bWFsbG9jLmM6MTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCiBtc2dzdHIgInhtYWxsb2M6ICVzOiAlZDogdGlkYWsgZGFwYXQgdGVyYWxva2FzaSAlbHUgYnl0ZXMiCiAKLSM6IHhtYWxsb2MuYzoxNzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICIiCi0ieHJlYWxsb2M6ICVzOiAlZDogdGlkYWsgZGFwYXQgbWVsYWt1a2FuIHJlYWxsb2thc2kgJWx1IGJ5dGVzICglbHUgYnl0ZXMgIgotInRlcmFsb2thc2kpIgotCi0jOiB4bWFsbG9jLmM6MTc2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKLW1zZ3N0ciAieHJlYWxsb2M6ICVzOiVkOiB0aWRhayBkYXBhdCBtZW5nYWxva2FzaWthbiAlbHUgYnl0ZXMiCi0KICM6IGJ1aWx0aW5zLmM6NDMKIG1zZ2lkICJhbGlhcyBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uIF0iCiBtc2dzdHIgImFsaWFzIFstcF0gW25hbWVbPW5pbGFpXSAuLi4gXSIKQEAgLTE5NzEsNyArMjA1NSw3IEBACiAKICM6IGJ1aWx0aW5zLmM6ODAKIG1zZ2lkICJsb2NhbCBbb3B0aW9uXSBuYW1lWz12YWx1ZV0gLi4uIgotbXNnc3RyICJsb2NhbCBbb3BzaV0gbmFtZVs9bmlsYWldIC4uLiIKK21zZ3N0ciAibG9jYWwgW3BpbGloYW5dIG5hbWVbPW5pbGFpXSAuLi4iCiAKICM6IGJ1aWx0aW5zLmM6ODMKIG1zZ2lkICJlY2hvIFstbmVFXSBbYXJnIC4uLl0iCkBAIC0yMDIzLDcgKzIxMDcsOCBAQAogbXNnc3RyICJoYXNoIFstbHJdIFstcCBuYW1hIGphbHVyXSBbLWR0XSBbbmFtYSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjExNwotbXNnaWQgImhlbHAgWy1kc10gW3BhdHRlcm4gLi4uXSIKKyMsIGZ1enp5Cittc2dpZCAiaGVscCBbLWRtc10gW3BhdHRlcm4gLi4uXSIKIG1zZ3N0ciAiYmFudHVhbiBbLWRzXSBbcG9sYSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjEyMQpAQCAtMjA1NSw5ICsyMTQwLDEwIEBACiBtc2dzdHIgImJpYXJrYW4gYXJnIFthcmd1bWVuIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTM2CisjLCBmdXp6eQogbXNnaWQgIiIKLSJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstcCBwcm9tcHRdIFstdCAiCi0idGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgorInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKKyJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKICJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBwZW1iYXRhc10gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstcCBwcm9tcHRdIFstdCAiCiAidGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgpAQCAtMjA2OCw3ICsyMTU0LDcgQEAKIAogIzogYnVpbHRpbnMuYzoxNDAKIG1zZ2lkICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gW2FyZyAuLi5dIgotbXNnc3RyICJzZXQgWy1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG5hbWEtb3BzaV0gW2FyZ3VtZW4gLi4uXSIKK21zZ3N0ciAic2V0IFstYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBuYW1hLXBpbGloYW5dIFthcmd1bWVuIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTQyCiBtc2dpZCAidW5zZXQgWy1mXSBbLXZdIFtuYW1lIC4uLl0iCkBAIC0yMTcyLDcgKzIyNTgsNyBAQAogCiAjOiBidWlsdGlucy5jOjE5OAogbXNnaWQgImNvcHJvYyBbTkFNRV0gY29tbWFuZCBbcmVkaXJlY3Rpb25zXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJjb3Byb2MgW05BTUFdIHBlcmludGFoIFtyZWRpcmVrc2ldIgogCiAjOiBidWlsdGlucy5jOjIwMAogbXNnaWQgImZ1bmN0aW9uIG5hbWUgeyBDT01NQU5EUyA7IH0gb3IgbmFtZSAoKSB7IENPTU1BTkRTIDsgfSIKQEAgLTIyMTksMjYgKzIzMDUsMjggQEAKIG1zZ3N0ciAicHJpbnRmIFstdiB2YXJdIGZvcm1hdCBbYXJndW1lbl0iCiAKICM6IGJ1aWx0aW5zLmM6MjI5CisjLCBmdXp6eQogbXNnaWQgIiIKLSJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1vIG9wdGlvbl0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstVyAiCi0id29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgc3VmZml4XSAiCi0iW25hbWUgLi4uXSIKKyJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1ERV0gWy1vIG9wdGlvbl0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstIgorIlcgd29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgIgorInN1ZmZpeF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgotImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8gb3BzaV0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstVyBkYWZ0YXIgIgotImthdGFdIFstRiBmdW5nc2ldIFstQyBwZXJpbnRhaF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TIHN1ZmZpeF0gIgotIltuYW1lIC4uLl0iCisiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstbyBwaWxpaGFuXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy1XICIKKyJkYWZ0YXIga2F0YV0gWy1GIGZ1bmdzaV0gWy1DIHBlcmludGFoXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgIgorInN1ZmZpeF0gW25hbWUgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoyMzMKIG1zZ2lkICIiCiAiY29tcGdlbiBbLWFiY2RlZmdqa3N1dl0gWy1vIG9wdGlvbl0gIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLVcgd29yZGxpc3RdICAiCiAiWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TIHN1ZmZpeF0gW3dvcmRdIgogbXNnc3RyICIiCi0iY29tcGdlbiBbLWFiY2RlZmdqa3N1dl0gWy1vIG9wc2ldIFstQSBha3NpXSBbLUcgZ2xvYnBhdF0gWy1XIHdvcmRsaXN0XSBbLUYgIgotImZ1bmdzaV0gWy1DIHBlcmludGFoXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgc3VmZml4XSBbd29yZF0iCisiY29tcGdlbiBbLWFiY2RlZmdqa3N1dl0gWy1vIHBpbGloYW5dIFstQSBha3NpXSBbLUcgZ2xvYnBhdF0gWy1XIHdvcmRsaXN0XSBbLSIKKyJGIGZ1bmdzaV0gWy1DIHBlcmludGFoXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgc3VmZml4XSBbd29yZF0iCiAKICM6IGJ1aWx0aW5zLmM6MjM3Ci1tc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbbmFtZSAuLi5dIgotbXNnc3RyICJjb21wb3B0IFstb3wrbyBvcHNpXSBbbmFtYSAuLi5dIgorIywgZnV6enkKK21zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFstREVdIFtuYW1lIC4uLl0iCittc2dzdHIgImNvbXBvcHQgWy1vfCtvIHBpbGloYW5dIFtuYW1hIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MjQwCiBtc2dpZCAiIgpAQCAtMjI0OSwxMiArMjMzNywxMSBAQAogInF1YW50dW1dIFthcnJheV0iCiAKICM6IGJ1aWx0aW5zLmM6MjQyCi0jLCBmdXp6eQogbXNnaWQgIiIKICJyZWFkYXJyYXkgWy1uIGNvdW50XSBbLU8gb3JpZ2luXSBbLXMgY291bnRdIFstdF0gWy11IGZkXSBbLUMgY2FsbGJhY2tdIFstYyAiCiAicXVhbnR1bV0gW2FycmF5XSIKIG1zZ3N0ciAiIgotIm1hcGZpbGUgWy1uIGp1bWxhaF0gWy1PIGFzYWxdIFstcyBqdW1sYWhdIFstdF0gWy11IGZkXSBbLUMgY2FsbGJhY2tdIFstYyAiCisicmVhZGFycmF5IFstbiBqdW1sYWhdIFstTyBhc2FsXSBbLXMganVtbGFoXSBbLXRdIFstdSBmZF0gWy1DIGNhbGxiYWNrXSBbLWMgIgogInF1YW50dW1dIFthcnJheV0iCiAKICM6IGJ1aWx0aW5zLmM6MjU0CkBAIC0yMjc4LDcgKzIzNjUsNyBAQAogbXNnc3RyICIiCiAiRGVmaW5pc2lrYW4gYXRhdSB0YW1waWxrYW4gYWxpYXNlcy5cbiIKICIgICAgXG4iCi0iICAgIGBhbGlhcycgZGVuZ2FuIHRhbnBhIGFyZ3VtZW4gYXRhdSBkZW5nYW4gb3BzaSAtcCBtZW5hbXBpbGthbiBkYWZ0YXJcbiIKKyIgICAgYGFsaWFzJyBkZW5nYW4gdGFucGEgYXJndW1lbiBhdGF1IGRlbmdhbiBwaWxpaGFuIC1wIG1lbmFtcGlsa2FuIGRhZnRhclxuIgogIiAgICBkYXJpIGFsaWFzZXMgZGFsYW0gYmVudHVrIGFsaWFzIE5BTUE9TklMQUkgZGkga2VsdWFyYW4gc3RhbmRhci5cbiIKICIgICAgXG4iCiAiICAgIEppa2EgdGlkYWssIHNlYnVhaCBhbGlhcyBkaWRlZmluaXNpa2FuIHVudHVrIHNldGlhcCBOQU1BIHlhbmcgTklMQUktbnlhICIKQEAgLTIyODcsNyArMjM3NCw3IEBACiAiZGlwZXJpa2FzaSB1bnR1a1xuIgogIiAgICBwZW5nZ2FudGkgYWxpYXMga2V0aWthIGFsaWFzIGRpZXhwYW5kLlxuIgogIiAgICBcbiIKLSIgICAgT3BzaTpcbiIKKyIgICAgUGlsaWhhbjpcbiIKICIgICAgICAtcFx0VGFtcGlsa2FuIHNlbHVydWggYWxpYXMgeWFuZyB0ZXJkZWZpbmlzaSBkYWxhbSBmb3JtYXQgeWFuZyAiCiAiYmVyZ3VuYVxuIgogIiAgICBcbiIKQEAgLTIzMDcsNyArMjM5NCw3IEBACiBtc2dzdHIgIiIKICJIYXB1cyBzZXRpYXAgTkFNQSBkYXJpIGRhZnRhciB5YW5nIG1lbmRlZmluaXNpa2FuIGFsaWFzZXMuXG4iCiAiICAgIFxuIgotIiAgICBPcHNpOlxuIgorIiAgICBQaWxpaGFuOlxuIgogIiAgICAgIC1hXHRoYXB1cyBzZW11YSBkZWZpbmlzaSBhbGlhcy5cbiIKICIgICAgXG4iCiAiICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgc2VidWFoIE5BTUEgYnVrYW4gYWxpYXMgeWFuZyBzdWRhaCBhZGEuIgpAQCAtMjM1MywxMiArMjQ0MCwxMiBAQAogIlNldCBSZWFkbGluZSBrdW5jaSBwZW5naWthdCBkYW4gdmFyaWFiZWwuXG4iCiAiICAgIFxuIgogIiAgICBJa2F0IHNlYnVhaCB1cnV0YW4ga3VuY2kga2UgZnVuZ3NpIHJlYWRsaW5lIGF0YXUgc2VidWFoIG1hY3JvLCBhdGF1IHNldFxuIgotIiAgICBzZWJ1YWggdmFyaWFiZWwgcmVhZGxpbmUuIEFyZ3VtZW4gYnVrYW4tb3BzaSBzeW50YXggeWFuZyBlcXVpdmFsZW50XG4iCisiICAgIHNlYnVhaCB2YXJpYWJlbCByZWFkbGluZS4gQXJndW1lbiBidWthbi1waWxpaGFuIHN5bnRheCB5YW5nIGVxdWl2YWxlbnRcbiIKICIgICAgeWFuZyBkaXRlbXVrYW4gZGFsYW0gfi8uaW5wdXRyYywgdGV0YXBpIGhhcnVzIGRpbGV3YXRrYW4gc2ViYWdhaSBzZWJ1YWggIgogImFyZ3VtZW4gdHVuZ2dhbDpcbiIKICIgICAgeWFuZyB0ZXJpa2F0ICdcIlxcQy14XFxDLXJcIjogbWVtYmFjYSBrZW1iYWxpIGJlcmthcyBpbmlzaWFsaXNhc2kuXG4iCiAiICAgIFxuIgotIiAgICBPcHNpOlxuIgorIiAgICBQaWxpaGFuOlxuIgogIiAgICAgICAgLW0ga2V5bWFwICAgICAgICBHdW5ha2FuIGBrZXltYXAnIHNlYmFnYWkga2V5bWFwIHVudHVrIGR1cmFzaSBkYXJpICIKICJwZXJpbnRhaFxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgICBpbmkuIE5hbWEga2V5bWFwIHlhbmcgZGl0ZXJpbWEgYWRhbGFoIGVtYWNzLFxuIgpAQCAtMjM5MCw3ICsyNDc3LDcgQEAKICIgICAgICBcdFx0XHRcdEtFWVNFUSBkaW1hc3VraS5cbiIKICIgICAgICBcbiIKICIgICAgICBTdGF0dXMgS2VsdWFyOlxuIgotIiAgICAgIGJpbmQgbWVtYmVyaWthbiBrZW1iYWxpYW4gMCBrZWN1YWxpIHNlYnVhaCBvcHNpIHRpZGFrIGRpa2VuYWwgIgorIiAgICAgIGJpbmQgbWVtYmVyaWthbiBrZW1iYWxpYW4gMCBrZWN1YWxpIHNlYnVhaCBwaWxpaGFuIHRpZGFrIGRpa2VuYWwgIgogImRpYmVyaWthbiBhdGF1IHNlYnVhaCBlcnJvciB0ZXJqYWRpLiIKIAogIzogYnVpbHRpbnMuYzozMjYKQEAgLTI1MzIsMTEgKzI2MTksMTEgQEAKICIgICAgbWFrYSBDRFBBVEggdGlkYWsgZGlndW5ha2FuLlxuIgogIiAgICBcbiIKICIgICAgSmlrYSBkaXJla3RvcmkgdGlkYWsgZGl0ZW11a2FuLCBkYW5cbiIKLSIgICAgb3BzaSBzaGVsbCBjZGFibGVfdmFycycgZGlzZXQsIG1ha2EgY29iYSBrYXRhIHNlYmFnYWkgc2VidWFoIG5hbWFcbiIKKyIgICAgcGlsaWhhbiBzaGVsbCBjZGFibGVfdmFycycgZGlzZXQsIG1ha2EgY29iYSBrYXRhIHNlYmFnYWkgc2VidWFoIG5hbWFcbiIKICIgICAgdmFyaWFiZWwuIEppa2EgdmFyaWFiZWwgaXR1IG1lbWlsaWtpIHNlYnVhaCBuaWxhaSwgbWFrYSAgbmlsYWkgZGFyaSAiCiAidmFyaWFiZWwgaXR1IHlhbmcgZGlndW5ha2FuXG4iCiAiICAgIFxuIgotIiAgICBPcHNpOlxuIgorIiAgICBQaWxpaGFuOlxuIgogIiAgICAgIC1MXHRtZW1ha3NhIGxpbmsgc2ltYm9saWsgdW50dWsgZGlpa3V0aVxuIgogIiAgICAgIC1QXHRndW5ha2FuIHN0cnVrdHVyIHBoeXNpY2FsIGRpcmVrdG9yaSB0YW5wYSBtZW5naWt1dGkgbGlua1xuIgogIiAgICBzeW1ib2xpa1xuIgpAQCAtMjU2NCwxNSArMjY1MSwxNiBAQAogbXNnc3RyICIiCiAiTWVuYW1waWxrYW4gbmFtYSBkYXJpIGRpcmVrdG9yaSB5YW5nIGRpZ3VuYWthbiBzZWthcmFuZy5cbiIKICIgICAgXG4iCi0iICAgIE9wc2k6XG4iCisiICAgIFBpbGloYW46XG4iCiAiICAgICAgLUxcdG1lbmFtcGlsa2FuIG5pbGFpIGRhcmkgJFBXRCBqaWthIGluaSBuYW1hIGRhcmkgZGlyZWt0b3JpXG4iCiAiICAgIFx0eWFuZyBkaWd1bmFrYW4gc2VrYXJhbmdcbiIKICIgICAgICAtUFx0bWVuYW1waWxrYW4gZGlyZWt0b3JpIHBpc2lrLCB0YW5wYSBsaW5rIHNpbWJvbGlrIGFwYXB1blxuIgogIiAgICBcbiIKLSIgICAgU2VjYXJhIGRlZmF1bHQsIGBwd2QnIGJlcmxha3Ugc2VwZXJpIGppa2Egb3BzaSBgLUwnIGRpc3Blc2lmaWthc2lrYW4uXG4iCisiICAgIFNlY2FyYSBkZWZhdWx0LCBgcHdkJyBiZXJsYWt1IHNlcGVyaSBqaWthIHBpbGloYW4gYC1MJyAiCisiZGlzcGVzaWZpa2FzaWthbi5cbiIKICIgICAgXG4iCiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCi0iICAgIE1lbmdlbWJhbGlrYW4gMCBrZWN1YWxpIGppa2Egc2VidWFoIG9wc2kgdGlkYWsgdmFsaWQgZGliZXJpa2FuIGF0YXUgIgorIiAgICBNZW5nZW1iYWxpa2FuIDAga2VjdWFsaSBqaWthIHNlYnVhaCBwaWxpaGFuIHRpZGFrIHZhbGlkIGRpYmVyaWthbiBhdGF1ICIKICJkaXJla3Rvcmkgc2VrYXJhbmdcbiIKICIgICAgdGlkYWsgYmlzYSBkaWJhY2EuIgogCkBAIC0yNjQzLDcgKzI3MzEsNyBAQAogInBlcmludGFoXG4iCiAiICAgIGRhbGFtIGRpc2sga2V0aWthIHNlYnVhaCBmdW5nc2kgZGVuZ2FuIG5hbWEgeWFuZyBzYW1hIGFkYS5cbiIKICIgICAgXG4iCi0iICAgIE9wc2k6XG4iCisiICAgIFBpbGloYW46XG4iCiAiICAgICAgLXBcdGd1bmFrYW4gc2VidWFoIG5pbGFpIGRlZmF1bHQgdW50dWsgUEFUSCB5YW5nIG1lbmphbWluIHVudHVrICIKICJtZW5jYXJpIHNlbHVydWhcbiIKICIgICAgXHRwZW5nZ3VuYWFuIHN0YWRhclxuIgpAQCAtMjY5NSwxMyArMjc4MywxMyBAQAogInlhbmcgZGliZXJpa2FuLFxuIgogIiAgICB0YW1waWxrYW4gYXRyaWJ1dCBkYW4gbmlsYWkgZGFyaSBzZWx1cnVoIHZhcmlhYmVsLlxuIgogIiAgICBcbiIKLSIgICAgT3BzaTpcbiIKKyIgICAgUGlsaWhhbjpcbiIKICIgICAgICAtZlx0YmF0YXNpIGFrc2kgYXRhdSB0YW1waWxrYW4gbmFtYSBmdW5nc2kgZGFuIGRlZmluaXNpXG4iCiAiICAgICAgLUZcdGJhdGFzaSB0YW1waWxhbiBrZSBuYW1hIGZ1bmdzaSBzYWphICh0YW1iYWhrYW4gbm9tb3IgYmFyaXMgZGFuXG4iCiAiICAgIFx0c3VtYmVyIGJlcmthcyBrZXRpa2EgZGVidWdnaW5nKVxuIgogIiAgICAgIC1wXHR0YW1waWxrYW4gYXRyaWJ1dCBkYW4gbmlsYWkgZGFyaSBzZXRpYXAgTkFNQVxuIgogIiAgICBcbiIKLSIgICAgT3BzaSB5YW5nIG1lbnNldCBhdHJpYnV0OlxuIgorIiAgICBQaWxpaGFuIHlhbmcgbWVuc2V0IGF0cmlidXQ6XG4iCiAiICAgICAgLWFcdHVudHVrIG1lbWJ1YXQgTkFNQSBpZGV4IGFycmF5IChqaWthIGRpZHVrdW5nKVxuIgogIiAgICAgIC1BXHR1bnR1ayBtZW1idWF0IE5BTUEgYXNzb3NpYXNpIGFycmF5IChqaWthIGRpZHVrdW5nKVxuIgogIiAgICAgIC1pXHR1bnR1ayBtZW1idWF0IE5BTUEgbWVtaWxpa2kgYXRyaWJ1dCBgaW50ZWdlcidcbiIKQEAgLTI3MjAsNyArMjgwOCw3IEBACiAiICAgIHBlcmludGFoIGBsb2NhbCcuXG4iCiAiICAgIFxuIgogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgotIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIHNlYnVhaCBvcHNpIHRpZGFrIHZhbGlkIGRpYmVyaWthbiBhdGF1ICIKKyIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMga2VjdWFsaSBzZWJ1YWggcGlsaWhhbiB0aWRhayB2YWxpZCBkaWJlcmlrYW4gYXRhdSAiCiAic2VidWFoIGVycm9yIHRlcmphZGkuIgogCiAjOiBidWlsdGlucy5jOjUxMgpAQCAtMjc1MSwxNCArMjgzOSwxNCBAQAogIiAgICBcbiIKICIgICAgTWVtYnVhdCBzZWJ1YWggdmFyaWFiZWwgbG9jYWsgZGlwYW5nZ2lsIE5BTUEsIGRhbiBtZW1iZXJpa2FuIGtlcGFkYW55YSAiCiAiTklMQUkuIE9QU0kgZGFwYXRcbiIKLSIgICAgYmVydXBhIHNlbXVhIG9wc2kgeWFuZyBkaXRlcmltYSBvbGVoIGBkZWNsYXJlJy5cbiIKKyIgICAgYmVydXBhIHNlbXVhIHBpbGloYW4geWFuZyBkaXRlcmltYSBvbGVoIGBkZWNsYXJlJy5cbiIKICIgICAgXG4iCiAiICAgIFZhcmlhYmVsIGxva2FsIGhhbnlhIGRhcGF0IGRpZ3VuYWthbiBkYWxhbSBzZWJ1YWggZnVuZ3NpOyBtZXJla2EgaGFueWFcbiIKICIgICAgZGFwYXQgZGlsaWhhdCBrZSBmdW5nc2kgZGltYW5hIG1lcmVrYSB0ZXJkZWZpbmlzaSBkYW4gYW5ha255YS5cbiIKICIgICAgXG4iCiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCi0iICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgc2VidWFoIG9wc2kgdGlkYWsgdmFsaWQgZGliZXJpa2FuLCBzZWJ1YWggIgotImVycm9yIHRlcmphZGkuXG4iCisiICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgc2VidWFoIHBpbGloYW4gdGlkYWsgdmFsaWQgZGliZXJpa2FuLCAiCisic2VidWFoIGVycm9yIHRlcmphZGkuXG4iCiAiICAgIGF0YXUgc2hlbGwgdGlkYWsgbWVuamFsYW5rYW4gc2VidWFoIGZ1bmdzaS4iCiAKICM6IGJ1aWx0aW5zLmM6NTM3CkBAIC0yNzk1LDcgKzI4ODMsNyBAQAogIiAgICBcbiIKICIgICAgTWVuYW1waWxrYW4gQVJHIGtlIHN0YW5kYXIga2VsdWFyYW4gZGlpa3V0aSBvbGVoIGJhcmlzIGJhcnUuXG4iCiAiICAgIFxuIgotIiAgICBPcHNpOlxuIgorIiAgICBQaWxpaGFuOlxuIgogIiAgICAgIC1uXHRqYW5nYW4gbWVuYW1iYWhrYW4gc2VidWFoIGJhcmlzIGJhcnVcbiIKICIgICAgICAtZVx0YWt0aWZrYW4gaW50ZXJwcmV0YXNpIGRhcmkga2FyYWt0ZXIgYmFja3NsYXNoXG4iCiAiICAgICAgLUVcdHNlY2FyYSBla3NwbGlzaXQgdGVrYW4gaW50ZXJwcmV0YXNpIGRhcmkga2FyYWt0ZXIgYmFja3NsYXNoXG4iCkBAIC0yODM1LDcgKzI5MjMsNyBAQAogIiAgICBcbiIKICIgICAgTWVuYW1waWxrYW4gQVJHIGtlIHN0YW5kYXJkIGtlbHVhcmFuIGRpaWt1dGkgZGVuZ2FuIHNlYnVhaCBiYXJpcyBiYXJ1LlxuIgogIiAgICBcbiIKLSIgICAgT3BzaTpcbiIKKyIgICAgUGlsaWhhbjpcbiIKICIgICAgICAtblx0amFuZ2FuIG1lbmFtYmFoa2FuIHNlYnVhaCBiYXJpcyBiYXJ1XG4iCiAiICAgIFxuIgogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgpAQCAtMjg3NSw3ICsyOTYzLDcgQEAKICJzaGVsbCBidWlsdGluXG4iCiAiICAgIHRhbnBhIG1lbmdndW5ha2FuIHNlYnVhaCBuYW1hIGphbHVyIHlhbmcgbGVuZ2thcC5cbiIKICIgICAgXG4iCi0iICAgIE9wc2k6XG4iCisiICAgIFBpbGloYW46XG4iCiAiICAgICAgLWFcdHRhbXBpbGthbiBkYWZ0YXIgZGFyaSBidWlsdGlucyBtZW1wZXJsaWhhdGthbiBha3RpZiBhdGF1IHRpZGFrICIKICJzZXRpYXAgZGlha3RpZmthblxuIgogIiAgICAgIC1uXHRtZW5vbmFrdGlma2FuIHNldGlhcCBOQU1BIGF0YXUgdGFtcGlsa2FuIGRhZnRhciBkYXJpIGJ1aWx0aW4geWFuZyAiCkBAIC0yODgzLDExICsyOTcxLDExIEBACiAiICAgICAgLXBcdHRhbXBpbGthbiBkYWZ0YXIgZGFyaSBidWlsdGlucyBkYWxhbSBmb3JtYXQgeWFuZyBiZXJndW5hXG4iCiAiICAgICAgLXNcdHRhbXBpbGthbiB5YW5nIG5hbWEgZGFyaSBQb3NpeCBgc3BlY2lhbCcgYnVpbHRpbnNcbiIKICIgICBcbiIKLSIgICBPcHNpIG1lbmdvbnRyb2wgZHluYW1pYyBsb2FkaW5nOlxuIgorIiAgIFBpbGloYW4gbWVuZ29udHJvbCBkeW5hbWljIGxvYWRpbmc6XG4iCiAiICAgICAgLWZcdExvYWQgYnVpbHRpbiBOQU1BIGRhcmkgc2hhcmVkIG9iamVjdCBOQU1BIEJFUktBU1xuIgogIiAgICAgIC1kXHRIYXB1cyBzZWJ1YWggYnVpbHRpbiBkaWxvYWQgZGVuZ2FuIC1mXG4iCiAiICAgXG4iCi0iICAgVGFucGEgb3BzaSwgdW50dWsgc2V0aWFwIE5BTUEgZGkgYWt0aWZrYW4uXG4iCisiICAgVGFucGEgcGlsaWhhbiwgdW50dWsgc2V0aWFwIE5BTUEgZGkgYWt0aWZrYW4uXG4iCiAiICAgXG4iCiAiICAgVW50dWsgbWVuZ2d1bmFrYW4gYHRlc3QnIGRpdGVtdWthbiBkYWxhbSAkUEFUSCBkYXJpcGFkYSBkYWxhbSBzaGVsbCAiCiAiYnVpbHRpblxuIgpAQCAtMjk1OCwyMCArMzA0NiwyMCBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgYW4gb3B0aW9uIGlzIGZvdW5kOyBmYWlscyBpZiB0aGUgZW5kIG9mIG9wdGlvbnMgaXNcbiIKICIgICAgZW5jb3VudGVyZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgotIkFtYmlsIGFyZ3VtZW4gb3BzaS5cbiIKKyJBbWJpbCBhcmd1bWVuIHBpbGloYW4uXG4iCiAiICAgIFxuIgogIiAgICBHZXRvcHMgZGlndW5ha2FuIG9sZWggc2hlbGwgcHJvY2VkdXJlcyB1bnR1ayBtZW1wYXJzZSBwYXJhbWV0ZXIgcG9zaXNpLlxuIgogIiAgICBcbiIKLSIgICAgT1BUU1RSSU5HIGJlcmlzaSBodXJ1ZiBvcHNpIHlhbmcgZGlrZW5hbGk7IGppa2Egc2VidWFoIGh1cnVmXG4iCi0iICAgIGRpaWt1dGkgb2xlaCBzZWJ1YWggY29sb24sIG9wc2kgZGlkdWdhIGFrYW4gYmVydXBhIGFyZ3VtZW4sXG4iCisiICAgIE9QVFNUUklORyBiZXJpc2kgaHVydWYgcGlsaWhhbiB5YW5nIGRpa2VuYWxpOyBqaWthIHNlYnVhaCBodXJ1ZlxuIgorIiAgICBkaWlrdXRpIG9sZWggc2VidWFoIGNvbG9uLCBwaWxpaGFuIGRpZHVnYSBha2FuIGJlcnVwYSBhcmd1bWVuLFxuIgogIiAgICB5YW5nIHNlaGFydXNueWEgZGlwaXNhaGthbiBkYXJpIGl0dSBvbGVoIHNwYXNpLlxuIgogIiAgICBcbiIKLSIgICAgU2V0aWFwIHdha3R1IGluaSBkaXBhbmdnaWwsIGdldG9wdHMgYWthbiBtZW5lbXBhdGthbiBvcHNpIHNlbGFuanV0bnlhICIKKyIgICAgU2V0aWFwIHdha3R1IGluaSBkaXBhbmdnaWwsIGdldG9wdHMgYWthbiBtZW5lbXBhdGthbiBwaWxpaGFuIHNlbGFuanV0bnlhICIKICJkYWxhbVxuIgogIiAgICAkbmFtZSBzaGVsbCB2YXJpYWJlbCwgbWVuZ2luaXNpYWxpc2FzaSBuYW1hIGppa2kgaW5pIHRpZGFrIGFkYSwgZGFuXG4iCiAiICAgIGluZGV4IGRhcmkgYXJndW1lbiBzZWxhbmp1dG55YSB1bnR1ayBkaXByb3NlcyBrZWRhbGFtIHNoZWxsXG4iCiAiICAgIHZhcmlhYmVsIE9QVElORC4gT1BUSU5EIGRpaW5pc2lhbGlzYXNpIGtlIDEgc2V0aWFwIHNoZWxsIGF0YXVcbiIKLSIgICAgc2VidWFoIHNoZWxsIHNjcmlwdCBkaXBhbmdnaWwuIEtldGlrYSBzZWJ1YWggb3BzaSBtZW1idXR1aGthbiBzZWJ1YWggIgorIiAgICBzZWJ1YWggc2hlbGwgc2NyaXB0IGRpcGFuZ2dpbC4gS2V0aWthIHNlYnVhaCBwaWxpaGFuIG1lbWJ1dHVoa2FuIHNlYnVhaCAiCiAiYXJndW1lbixcbiIKICIgICAgZ2V0b3B0cyBtZW5lbXBhdGthbiBhcmd1bWVuIGl0dSBrZWRhbGFtIHZhcmlhYmVsIHNoZWxsIE9QVEFSRy5cbiIKICIgICAgXG4iCkBAIC0yOTc5LDEzICszMDY3LDE1IEBACiAicGVydGFtYVxuIgogIiAgICBkYXJpIE9QVFNUUklORyBhZGFsYWggc2VidWFoIGNvbG9uLCBnZXRvcHRzIG1lbmdndW5ha2FuIHNpbGVudCBlcnJvciAiCiAibGFwb3Jhbi4gRGFsYW1cbiIKLSIgICAgTW9kZSBpbmksIHRpZGFrIGFkYSBwZXNhbiBlcnJvciB5YW5nIGRpdGFtcGlsa2FuLiBKaWthIHNlYnVhaCBvcHNpIHRpZGFrICIKLSJ2YWxpZCB0ZXJsaWhhdFxuIgotIiAgICBnZXRvcHMgbWVuZW1wYXRrYW4ga2FyYWt0ZXIgb3BzaSB5YW5nIGRpdGVtdWthbiBrZSBPUFRBUkcuIEppa2Egc2VidWFoXG4iCisiICAgIE1vZGUgaW5pLCB0aWRhayBhZGEgcGVzYW4gZXJyb3IgeWFuZyBkaXRhbXBpbGthbi4gSmlrYSBzZWJ1YWggcGlsaWhhbiAiCisidGlkYWsgdmFsaWQgdGVybGloYXRcbiIKKyIgICAgZ2V0b3BzIG1lbmVtcGF0a2FuIGthcmFrdGVyIHBpbGloYW4geWFuZyBkaXRlbXVrYW4ga2UgT1BUQVJHLiBKaWthICIKKyJzZWJ1YWhcbiIKICIgICAgYXJndW1lbiB5YW5nIGRpYnV0dWhrYW4gdGlkYWsgZGl0ZW11a2FuLCBnZXRvcHRzIG1lbmVtcGF0a2FuIHNlYnVhaCAnOicgIgogImtlZGFsYW0gTkFNRSBkYW5cbiIKLSIgICAgbWVuc2V0IE9QVEFSRyBrZSBvcHNpIGthcmFrdGVyIHlhbmcgZGl0ZW11a2FuLiBKaWthIGdldG9wdHMgdGlkYWsgZGFsYW1cbiIKLSIgICAgbW9kZSBzaWxlbnQsIGRhbiBzZWJ1YWggb3BzaSB0aWRhayB2YWxpZCB0ZXJsaWhhdCBnZXRvcHRzIG1lbmVtcGF0a2FuICIKKyIgICAgbWVuc2V0IE9QVEFSRyBrZSBwaWxpaGFuIGthcmFrdGVyIHlhbmcgZGl0ZW11a2FuLiBKaWthIGdldG9wdHMgdGlkYWsgIgorImRhbGFtXG4iCisiICAgIG1vZGUgc2lsZW50LCBkYW4gc2VidWFoIHBpbGloYW4gdGlkYWsgdmFsaWQgdGVybGloYXQgZ2V0b3B0cyBtZW5lbXBhdGthbiAiCiAiJz8nIGtlZGFsYW1cbiIKICIgICAgdmFyaWFiZWwgTkFNRSwgT1BUQVJHIHRpZGFrIGRpc2V0LCBkYW4gc2VidWFoIHBlc2FuIGFuYWxpc2lzXG4iCiAiICAgIHRhbXBpbGthbi5cbiIKQEAgLTI5OTgsOCArMzA4OCw4IEBACiAiICAgIEdldG9wdHMgc2VjYXJhIG5vcm1hbCBtZW1wYXJzZSBwYXJhbWV0ZXIgcG9zaXNpICgkMCAtICQ5KSwgdGV0YXBpIGppa2FcbiIKICIgICAgbGViaWggZGFyaSBzYXR1IGFyZ3VtZW4gZGliZXJpa2FuLCBtZXJla2EgZGlwYXJzZS4gICAgXG4iCiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCi0iICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGppa2Egc2VidWFoIG9wc2kgZGl0ZW11a2FuOyBnYWdhbCBqaWthIGFraGlyIGRhcmkgIgotIm9wc2lcbiIKKyIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMgamlrYSBzZWJ1YWggcGlsaWhhbiBkaXRlbXVrYW47IGdhZ2FsIGppa2EgYWtoaXIgIgorImRhcmkgcGlsaWhhblxuIgogIiAgICBkaXRlbXVpIGF0YXUgc2VidWFoIGVycm9yIHRlcmphZGkuIgogCiAjOiBidWlsdGlucy5jOjY2OApAQCAtMzAzMiwxNCArMzEyMiwxNCBAQAogImRpc3Blc2lmaWthc2lrYW4sXG4iCiAiICAgIHNldGlhcCByZWRpcmVrc2kgYWthbiBtZW1pbGlraSBhZmVrIGRhbGFtIHNoZWxsIHNla2FyYW5nLlxuIgogIiAgICBcbiIKLSIgICAgT3BzaTpcbiIKKyIgICAgUGlsaWhhbjpcbiIKICIgICAgICAtYSBuYW1hXHRsZXdhdGthbiBOQU1BIHNlYmFnYWkgYXJndW1lbiBrZSBub2wga2UgUEVSSU5UQUhcbiIKICIgICAgICAtY1x0XHRqYWxhbmthbiBQRVJJTlRBSCBkZW5nYW4gc2VidWFoIGVudmlyb25tZW50IGtvc29uZ1xuIgogIiAgICAgIC1sXHRcdHRlbXBhdGthbiBzZWJ1YWggZGFzaCBkYWxhbSBhcmd1bWVuIGtlIG5vbCBrZSBQRVJJTlRBSFxuIgogIiAgICBcbiIKICIgICAgSmlrYSBwZXJpbnRhaCB0aWRhayBkYXBhdCBkaWphbGFua2FuLCBzZWJ1YWggbm9uLWludGVyYWt0aWYgc2hlbGwgIgogImtlbHVhciwga2VjdWFsaVxuIgotIiAgICBvcHNpIHNoZWxsIGBleGVjZmFpbCcgZGlzZXQuXG4iCisiICAgIHBpbGloYW4gc2hlbGwgYGV4ZWNmYWlsJyBkaXNldC5cbiIKICIgICAgXG4iCiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCiAiICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgUEVSSU5UQUggdGlkYWsgZGl0ZW11a2FuIGF0YXUgc2VidWFoICIKQEAgLTMxMDksNyArMzE5OSw3IEBACiAiamFuZ2thdWFuLCBhdGF1IFBFUlRBTUEgZGFwYXQgYmVydXBhIHNlYnVhaFxuIgogIiAgICBzdHJpbmcsIHlhbmcgYmVyYXJ0aSBhZGFsYWggcGVyaW50YWggeWFuZyBiZXJhd2FsIGRlbmdhbiBzdHJpbmcuXG4iCiAiICAgIFxuIgotIiAgICBPcHNpOlxuIgorIiAgICBQaWxpaGFuOlxuIgogIiAgICAgICAtZSBFTkFNRVx0bWVtaWxpaCBlZGl0b3IgeWFuZyBha2FuIGRpZ3VuYWthbi4gRGVmYXVsdCBhZGFsYWggRkNFRElULCAiCiAia2VtdWRpYW4gRURJVE9SLFxuIgogIiAgICBcdFx0a2VtdWRpYW4gdmkuXG4iCkBAIC0zMjA1LDcgKzMyOTUsNyBAQAogIiAgICB0aWRhayBhZGEgYXJndW1lbiB5YW5nIGRpYmVyaWthbiwgaW5mb3JtYXNpIG1lbmdlbmFpIHBlcmludGFoIHlhbmcgIgogImRpaW5nYXQgYWthbiBkaXRhbXBpbGthbi5cbiIKICIgICAgXG4iCi0iICAgIE9wc2k6XG4iCisiICAgIFBpbGloYW46XG4iCiAiICAgICAgLWRcdFx0bHVwYWthbiBsb2thc2kgeWFuZyBkaWluZ2F0IHVudHVrIHNldGlhcCBOQU1BXG4iCiAiICAgICAgLWxcdFx0dGFtcGlsa2FuIGRhbGFtIGZvcm1hdCB5YW5nIGJpc2EgZGlndW5ha2FuIHNlYmFnYWkgbWFzdWthblxuIgogIiAgICAgIC1wIHBhdGhuYW1lXHRndW5ha2FuIE5BTUEgSkFMVVIgeWFuZyBuYW1hIGphbHVyIGxlbmdrYXAgZGFyaSBOQU1BXG4iCkBAIC0zMjE5LDggKzMzMDksOCBAQAogIiAgIFx0XHRkYXJpIHBlcmludGFoIHlhbmcgZGlpbmdhdC5cbiIKICIgICBcbiIKICIgICBTdGF0dXMgS2VsdWFyOlxuIgotIiAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgTkFNQSB0aWRhayBkaXRlbXVrYW4gYXRhdSBzZWJ1YWggb3BzaSB0aWRhayAiCi0idmFsaWQgdGVsYWggZGliZXJpa2FuLiIKKyIgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIE5BTUEgdGlkYWsgZGl0ZW11a2FuIGF0YXUgc2VidWFoIHBpbGloYW4gIgorInRpZGFrIHZhbGlkIHRlbGFoIGRpYmVyaWthbi4iCiAKICM6IGJ1aWx0aW5zLmM6NzkyCiBtc2dpZCAiIgpAQCAtMzI1MCw3ICszMzQwLDcgQEAKICJjb2NvayBkZW5nYW4gUE9MQSxcbiIKICIgICAgamlrYSB0aWRhayBkYWZ0YXIgZGFyaSB0b3BpayBiYW50dWFuIGRpdGFtcGlsa2FuLlxuIgogIiAgICBcbiIKLSIgICAgT3BzaTpcbiIKKyIgICAgUGlsaWhhbjpcbiIKICIgICAgICAtZFx0a2VsdWFya2FuIGRlc2tyaXBzaSBzaW5na2F0IHVudHVrIHNldGlhcCB0b3Bpa1xuIgogIiAgICAgIC1tXHR0YW1waWxrYW4gcGVuZ2d1bmFhbiBkYWxhbSBmb3JtYXQgcHNldWRvLW1hbnBhZ2VcbiIKICIgICAgICAtc1x0a2VsdWFya2FuIGhhbnlhIHBlbmdndW5hYW4gc2luZ2thdCB1bnR1ayBzZXRpYXAgdG9waWsgeWFuZyBjb2Nva1xuIgpAQCAtMzI2MCw4ICszMzUwLDggQEAKICIgICAgICBQT0xBXHRQb2xhIG1lbnNwZXNpZmlrYXNpa2FuIHRvcGlrIGJhbnR1YW5cbiIKICIgICAgXG4iCiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCi0iICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgUE9MQSB0aWRhayBkaXRlbXVrYW4gYXRhdSBvcHNpIHRpZGFrIHZhbGlkICIKLSJkaWJlcmlrYW4uIgorIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIFBPTEEgdGlkYWsgZGl0ZW11a2FuIGF0YXUgcGlsaWhhbiB0aWRhayAiCisidmFsaWQgZGliZXJpa2FuLiIKIAogIzogYnVpbHRpbnMuYzo4MTYKIG1zZ2lkICIiCkBAIC0zMzA0LDcgKzMzOTQsNyBAQAogImhhbnlhXG4iCiAiICAgIE4gYmFyaXMgdGVyYWtoaXIuXG4iCiAiICAgIFxuIgotIiAgICBPcHNpOlxuIgorIiAgICBQaWxpaGFuOlxuIgogIiAgICAgIC1jXHRtZW5naGFwdXMgZGFmdGFyIHNlamFyYWggZGVuZ2FuIGNhcmEgbWVuZ2hhcHVzIHNlbHVydWggbWFzdWthblxuIgogIiAgICAgIC1kIG1lbmdoYXB1cyBtYXN1a2FuIHNlamFyYWggZGkgb2Zmc2V0IE9GRlNFVC5cbiIKICIgICAgXG4iCkBAIC0zMzM1LDcgKzM0MjUsNyBAQAogInlhbmcgZGl0YW1waWxrYW4gamlrYSB0aWRhay5cbiIKICIgICAgXG4iCiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCi0iICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgc2VidWFoIG9wc2kgdGlkYWsgdmFsaWQgZGliZXJpa2FuIGF0YXUgIgorIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIHNlYnVhaCBwaWxpaGFuIHRpZGFrIHZhbGlkIGRpYmVyaWthbiBhdGF1ICIKICJzZWJ1YWggZXJyb3IgdGVyamFkaS4iCiAKICM6IGJ1aWx0aW5zLmM6ODUyCkBAIC0zMzY1LDkgKzM0NTUsOSBAQAogIiAgICBcbiIKICIgICAgVGFtcGlsa2FuIHBla2VyamFhbiB5YW5nIGFrdGlmLiAgSk9CU1BFQyBtZW1iYXRhc2kga2VsdWFyYW4ga2UgcGVrZXJqYWFuICIKICJpdHUuXG4iCi0iICAgIFRhbnBhIG9wc2ksIHN0YXR1cyBkYXJpIHNlbHVydWggYWt0aWYgam9iIGRpdGFtcGlsa2FuLlxuIgorIiAgICBUYW5wYSBwaWxpaGFuLCBzdGF0dXMgZGFyaSBzZWx1cnVoIGFrdGlmIGpvYiBkaXRhbXBpbGthbi5cbiIKICIgICAgXG4iCi0iICAgIE9wc2k6XG4iCisiICAgIFBpbGloYW46XG4iCiAiICAgICAgLWwgbWVuYW1waWxrYW4gZGFmdGFyIGRhcmkgcHJvc2VzIGlkIHNlYmFnYWkgaW5mb3JtYXNpIHRhbWJhaGFuLlxuIgogIiAgICAgIC1uIGRpYmVyaWthbiwgaGFueWEgcHJvc2VzIHlhbmcgc3VkYWggYmVydWJhaCBzdGF0dXMgc2FqYSBzZWpha1xuIgogIiAgICBcdG5vdGlmaWthc2kgdGVyYWtoaXIgeWFuZyBkaXRhbXBpbGthbi5cbiIKQEAgLTMzNzUsMTQgKzM0NjUsMTQgQEAKICIgICAgICAtciBtZW1iYXRhc2kga2VsdWFyYW4ga2UgcGVrZXJqYWFuIHlhbmcgc2VkYW5nIGphbGFuXG4iCiAiICAgICAgLXMgbWVtYmF0YXNpIGtlbHVhcmFuIGtlIHBla2VyamFhbiB5YW5nIGJlcmhlbnRpXG4iCiAiICAgIFxuIgotIiAgICBKaWthIG9wc2kgLXggZGliZXJpa2FuLCBQRVJJTlRBSCBkaWphbGFua2FuIHNldGVsYWggc2VtdWEgc3Blc2lmaWthc2kgIgorIiAgICBKaWthIHBpbGloYW4gLXggZGliZXJpa2FuLCBQRVJJTlRBSCBkaWphbGFua2FuIHNldGVsYWggc2VtdWEgc3Blc2lmaWthc2kgIgogInBla2VyamFhblxuIgogIiAgICB5YW5nIHRhbXBpbCBkaSBBUkdTIHRlbGFoIGRpZ2FudGkgZGVuZ2FuIHByb3NlcyBJRCBkYXJpIHByb3NlcyAiCiAicGVrZXJqYWFuXG4iCiAiICAgIGdydXAgbGVhZGVyLlxuIgogIiAgICBcbiIKICIgICAgU3RhdHVzIEtlbHVhcjpcbiIKLSIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMga2VjdWFsaXMgc2VidWFoIG9wc2kgdGlkYWsgdmFsaWQgZGliZXJpa2FuIGF0YXUgIgorIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpcyBzZWJ1YWggcGlsaWhhbiB0aWRhayB2YWxpZCBkaWJlcmlrYW4gYXRhdSAiCiAic2VidWFoIGVycm9yIHRlcmphZGkuXG4iCiAiICAgIEppa2EgLXggZGlndW5ha2FuLCBtZW5nZW1iYWxpa2FuIHN0YXR1cyBrZWx1YXIgZGFyaSBQRVJJTlRBSC4iCiAKQEAgLTM0MDcsNyArMzQ5Nyw3IEBACiAiICAgIEhhcHVzIHNldGlhcCBKT0JTUEVDIGFyZ3VtZW4gZGFyaSB0YWJlbCBkYXJpIHBla2VyamFhbiBha3RpZi4gVGFucGFcbiIKICIgICAgSk9CU1BFQyBhcGFwdW4sIHNoZWxsIG1lbmdndW5ha2FuIGluZGlrYXNpIGluaSBkYXJpIHBla2VyamFhbiBzZWthcmFuZy5cbiIKICIgICAgXG4iCi0iICAgIE9wc2k6XG4iCisiICAgIFBpbGloYW46XG4iCiAiICAgICAgLWFcdGhhcHVzIHNlbHVydWggcGVrZXJqYWFuIGppa2EgSk9CU1BFQyB0aWRhayBkaWJlcmlrYW5cbiIKICIgICAgICAtaFx0dGFuZGFpIHNldGlhcCBKT0JTUEVDIHNlaGluZ2dhIFNJR0hVUCB0aWRhayBkaWtpcmltIGtlIHBla2VyamFhbiAiCiAiamlrYVxuIgpAQCAtMzQxNSw3ICszNTA1LDcgQEAKICIgICAgICAtclx0aGFwdXMgaGFueWEgcGVrZXJqYWFuIHlhbmcgc2VkYW5nIGJlcmphbGFuXG4iCiAiICAgIFxuIgogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgotIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIGFkYSBzZWJ1YWggb3BzaSB0aWRhayB2YWxpZCBhdGF1IEpPQlNQRUMgIgorIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIGFkYSBzZWJ1YWggcGlsaWhhbiB0aWRhayB2YWxpZCBhdGF1IEpPQlNQRUMgIgogImRpYmVyaWthbi4iCiAKICM6IGJ1aWx0aW5zLmM6ODk4CkBAIC0zNDQ2LDcgKzM1MzYsNyBAQAogIiAgICBvbGVoIFNJR1NQRUMgYXRhdSBTSUdOVU0uIEppa2EgU0lHU1BFQyBhdGF1IFNJR05VTSB0aWRhayBhZGEsIG1ha2FcbiIKICIgICAgU0lHVEVSTSBkaWFzdW1zaWthbi5cbiIKICIgICAgXG4iCi0iICAgIE9wc2k6XG4iCisiICAgIFBpbGloYW46XG4iCiAiICAgICAgLXMgc2lnXHRTSUcgYWRhbGFoIHNlYnVhaCBuYW1hIHNpbnlhbFxuIgogIiAgICAgIC1uIHNpZ1x0U0lHIGFkYWxhaCBzZWJ1YWggbm9tb3Igc2lueWFsXG4iCiAiICAgICAgLWxcdGRhZnRhciBkYXJpIG5hbWEgc2lueWFsOyBqaWthIGFyZ3VtZW4gZGlpa3V0aSBkZW5nYW4gYC1sJyBtZXJla2EgIgpAQCAtMzQ1OCw3ICszNTQ4LDcgQEAKICIgICAgZGFyaSBwcm9zZXMgeWFuZyBkaWJ1YXQgdGVyY2FwYWkuXG4iCiAiICAgIFxuIgogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgotIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIHNlYnVhaCBvcHNpIHRpZGFrIHZhbGlkIGRpYmVyaWthbiBhdGF1ICIKKyIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMga2VjdWFsaSBzZWJ1YWggcGlsaWhhbiB0aWRhayB2YWxpZCBkaWJlcmlrYW4gYXRhdSAiCiAic2VidWFoIGVycm9yIHRlcmphZGkuIgogCiAjOiBidWlsdGlucy5jOjkyMQpAQCAtMzU3NCw3ICszNjY0LDExIEBACiAiICAgICAgLWVcdFx0dXNlIFJlYWRsaW5lIHRvIG9idGFpbiB0aGUgbGluZSBpbiBhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgogIiAgICAgIC1pIHRleHRcdFVzZSBURVhUIGFzIHRoZSBpbml0aWFsIHRleHQgZm9yIFJlYWRsaW5lXG4iCiAiICAgICAgLW4gbmNoYXJzXHRyZXR1cm4gYWZ0ZXIgcmVhZGluZyBOQ0hBUlMgY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3YWl0aW5nXG4iCi0iICAgIFx0XHRmb3IgYSBuZXdsaW5lXG4iCisiICAgIFx0XHRmb3IgYSBuZXdsaW5lLCBidXQgaG9ub3IgYSBkZWxpbWl0ZXIgaWYgZmV3ZXIgdGhhbiBOQ0hBUlNcbiIKKyIgICAgXHRcdGNoYXJhY3RlcnMgYXJlIHJlYWQgYmVmb3JlIHRoZSBkZWxpbWl0ZXJcbiIKKyIgICAgICAtTiBuY2hhcnNcdHJldHVybiBvbmx5IGFmdGVyIHJlYWRpbmcgZXhhY3RseSBOQ0hBUlMgY2hhcmFjdGVycywgIgorInVubGVzc1xuIgorIiAgICBcdFx0RU9GIGlzIGVuY291bnRlcmVkIG9yIHJlYWQgdGltZXMgb3V0LCBpZ25vcmluZyBhbnkgZGVsaW1pdGVyXG4iCiAiICAgICAgLXAgcHJvbXB0XHRvdXRwdXQgdGhlIHN0cmluZyBQUk9NUFQgd2l0aG91dCBhIHRyYWlsaW5nIG5ld2xpbmUgYmVmb3JlXG4iCiAiICAgIFx0XHRhdHRlbXB0aW5nIHRvIHJlYWRcbiIKICIgICAgICAtclx0XHRkbyBub3QgYWxsb3cgYmFja3NsYXNoZXMgdG8gZXNjYXBlIGFueSBjaGFyYWN0ZXJzXG4iCkBAIC0zNTk4LDcgKzM2OTIsNyBAQAogIiAgICBcbiIKICIgICAgU2F0dSBiYXJpcyBkaWJhY2EgZGFyaSBtYXN1a2FuIHN0YW5kYXIsIGF0YXUgZGFyaSBiZXJrYXMgZGVza3JpcHNpIEZEICIKICJqaWthXG4iCi0iICAgIG9wc2kgLXUgZGliZXJpa2FuLCBkYW4ga2F0YSBwZXJ0YW1hIGRpYmVyaWthbiBrZSBOQU1BIHBlcnRhbWEsXG4iCisiICAgIHBpbGloYW4gLXUgZGliZXJpa2FuLCBkYW4ga2F0YSBwZXJ0YW1hIGRpYmVyaWthbiBrZSBOQU1BIHBlcnRhbWEsXG4iCiAiICAgIGthdGEga2VkdWEga2UgTkFNQSBrZWR1YSwgZGFuIHNldGVydXNueWEuIGRlbmdhbiBrYXRhIHlhbmcgdGVyc2lzYSAiCiAiZGl0ZW1wYXRrYW5cbiIKICIgICAga2UgTkFNQSB0ZXJha2hpci4gSGFueWEga2FyYWt0ZXIgeWFuZyBkaXRlbXVrYW4gZGFsYW0gJElGUyB5YW5nIGRpa2VuYWwgIgpAQCAtMzYwOCw3ICszNzAyLDcgQEAKICIgICAgSmlrYSB0aWRhayBhZGEgTkFNQSB5YW5nIGRpYmVyaWthbiwgYmFyaXMgeWFuZyBkaWJhY2EgZGlzaW1wYW4gZGFsYW0gIgogInZhcmlhYmVsIEJBTEFTQU5cbiIKICIgICAgXG4iCi0iICAgIE9wc2k6XG4iCisiICAgIFBpbGloYW46XG4iCiAiICAgICAgLWEgYXJyYXlcdGRpdGVtcGF0a2FuIGthdGEgZGliYWNhIHNlY2FyYSBiZXJ1cnV0YW4gaW5kaWNlIGRhcmkgYXJyYXlcbiIKICIgICAgXHRcdHZhcmlhYmVsIEFSUkFZLCBkaW11bGFpIGRhcmkgbm9sXG4iCiAiICAgICAgLWQgZGVsaW1cdGRpbGFuanV0a2FuIHNhbXBhaSBrYXJha3RlciBwZXJ0YW1hIGRhcmkgUEVNQkFUQVMgZGliYWNhLCAiCkBAIC0zNjM3LDkgKzM3MzEsMTAgQEAKICIgICAgU3RhdHVzIEtlbHVhcjpcbiIKICIgICAgS29kZSBrZW1iYWxpIGFkYWxhaCBub2wsIGtlY3VhbGkgYWtoaXItZGFyaS1iZXJrYXMgZGl0ZW11aSwgYmFjYSAiCiAia2VoYWJpc2FuIHdha3R1LFxuIgotIiAgICBhdGF1IHNlYnVhaCBiZXJrYXMgZGVza3JpcHNpIGRpc3VwcGx5IHNlYmFnYWkgc2VidWFoIGFyZ3VtZW4ga2Ugb3BzaSAtdS4iCisiICAgIGF0YXUgc2VidWFoIGJlcmthcyBkZXNrcmlwc2kgZGlzdXBwbHkgc2ViYWdhaSBzZWJ1YWggYXJndW1lbiBrZSBwaWxpaGFuIC0iCisidS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTAwNgorIzogYnVpbHRpbnMuYzoxMDA5CiBtc2dpZCAiIgogIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzY2MSw3ICszNzU2LDcgQEAKICIgICAgTWVuZ2VtYmFsaWthbiBOLCBhdGF1IGdhZ2FsIGppa2Egc2hlbGwgdGlkYWsgbWVuamFsYW4gc2VidWFoIGZ1bmdzaSBhdGF1ICIKICJzY3JpcHQuIgogCi0jOiBidWlsdGlucy5jOjEwMTkKKyM6IGJ1aWx0aW5zLmM6MTAyMgogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zNzQyLDEyICszODM3LDEyIEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgotIlNldCBhdGF1IHVuc2V0IG5pbGFpIGRhcmkgb3BzaSBzaGVsbCBkYW4gcGFyYW1ldGVyIHBvc2lzaS5cbiIKKyJTZXQgYXRhdSB1bnNldCBuaWxhaSBkYXJpIHBpbGloYW4gc2hlbGwgZGFuIHBhcmFtZXRlciBwb3Npc2kuXG4iCiAiICAgIFxuIgogIiAgICBVYmFoIG5pbGFpIGRhcmkgYXRyaWJ1dCBzaGVsbCBkYW4gcGFyYW1ldGVyIHBvc2lzaSwgYXRhdVxuIgogIiAgICB0YW1waWxrYW4gbmFtYSBkYW4gbmlsYWkgZGFyaSB2YXJpYWJlbCBzaGVsbC5cbiIKICIgICAgXG4iCi0iICAgIE9wc2k6XG4iCisiICAgIFBpbGloYW46XG4iCiAiICAgICAgICAgLWEgVGFuZGFpIHZhcmlhYmVsIHlhbmcgdGVsYWggdGVybW9kaWZpa2FzaSBhdGF1IGRpYnVhdCB1bnR1ayAiCiAiZXhwb3J0LlxuIgogIiAgICAgICAgIC1iIE5vdGlmaWthc2kgcGVueWVsZXNhaWFuIHBla2VyamFhbiBzZWNhcmEgbGFuZ3N1bmcuXG4iCkBAIC0zNzYwLDggKzM4NTUsOCBAQAogIiAgICAgICAgICAgIHBlcmludGFoLCB0aWRhayBoYW55YSBtZW5nYXdhbGkgbmFtYSBwZXJpbnRhaC5cbiIKICIgICAgICAgICAtbSBQZW5nZW5kYWxpIHBla2VyamFhbiBkaWFrdGlma2FuLlxuIgogIiAgICAgICAgIC1uIEJhY2EgcGVyaW50YWggdGFwaSBqYW5nYW4gbWVuamFsYW5rYW4gcGVyaW50YWggdGVyc2VidXQuXG4iCi0iICAgICAgICAgLW8gbmFtYS1vcHNpXG4iCi0iICAgICAgICAgICAgU2V0IHZhcmlhYmVsIG1lbnVydXQgbmFtYS1vcHNpOlxuIgorIiAgICAgICAgIC1vIG5hbWEtcGlsaWhhblxuIgorIiAgICAgICAgICAgIFNldCB2YXJpYWJlbCBtZW51cnV0IG5hbWEtcGlsaWhhbjpcbiIKICIgICAgICAgICAgICAgIGFsbGV4cG9ydCAgIHNhbWEgc2VwZXJ0aSAtYVxuIgogIiAgICAgICAgICAgICAgYnJhY2VleHBhbmQgc2FtYSBzZXBlcnRpIC1CXG4iCiAiICAgICAgICAgICAgICBlbWFjcyAgICAgICBndW5ha2FuIGdheWEgZW1hY3MgZGFsYW0gbGluZSBlZGl0aW5nIGludGVyZmFjZVxuIgpAQCAtMzgwMiw3ICszODk3LDcgQEAKICIgICAgICAgICAtcCBBa3RpZiBrZXRpa2EgcmVhbCBkYW4gZWZla3RpZiBpZCBwZW5nZ3VuYSB0aWRhayBjb2Nvay5cbiIKICIgICAgICAgICAgICBNZW5vbmFrdGlma2FuIHBlbXJvc2VzYW4gZGFyaSBiZXJrYXMgJEVOViBkYW4gbWVuZ2ltcG9yIGRhcmkgIgogImZ1bmdzaVxuIgotIiAgICAgICAgICAgIHNoZWxsLiBNZW5ndWJhaCBvcHNpIGluaSBvZmYgbWVueWViYWJrYW4gZWZla3RpZiB1aWQgZGFuXG4iCisiICAgICAgICAgICAgc2hlbGwuIE1lbmd1YmFoIHBpbGloYW4gaW5pIG9mZiBtZW55ZWJhYmthbiBlZmVrdGlmIHVpZCBkYW5cbiIKICIgICAgICAgICAgICBnaWQgdW50dWsgZGlzZXQga2UgcmVhbCB1aWQgZGFuIGdpZC5cbiIKICIgICAgICAgICAtdCBLZWx1YXIgc2V0ZWxhaCAgbWVtYmFjYSBkYW4gbWVuamFsYW5rYW4gc2F0dSBwZXJpbnRhaC5cbiIKICIgICAgICAgICAtdSBQZXJsYWt1a2FuIHZhcmlhYmVsIHlhbmcgdGlkYWsgZGlzZXQgc2ViYWdhaSBlcnJvciBrZXRpa2EgIgpAQCAtMzgyMiw3ICszOTE3LDcgQEAKICIgICAgICAgICAgICBzZXBlcnRpIGNkIGtldGlrYSBtZW5ndWJhaCBkaXJla3Rvcmkga2VyamEgc2VrYXJhbmcuXG4iCiAiICAgICAgICAgLVQgSmlrYSBkaXNldCwgRGVidWcgdHJhcCBkaXR1cnVua2FuIG9sZWggZnVuZ3NpIHNoZWxsLlxuIgogIiAgICAgICAgIC0gIEFzc2lnbiBhcmd1bWVuIHlhbmcgdGVyc2lzYSBrZSBwYXJhbWV0ZXIgcG9zaXNpLlxuIgotIiAgICAgICAgICAgIE9wc2kgLXggZGFuIC12IGFrYW4gZGltYXRpa2FuLlxuIgorIiAgICAgICAgICAgIFBpbGloYW4gLXggZGFuIC12IGFrYW4gZGltYXRpa2FuLlxuIgogIiAgICBcbiIKICIgICAgTWVuZ2d1bmFrYW4gKyBkYXJpcGFkYSAtIGFrYW4gbWVueWViYWJrYW4gdGFuZGEgdW50dWsgZGltYXRpa2FuLiBUYW5kYVxuIgogIiAgICBqdWdhIGJpc2EgZGlndW5ha2FuIGRhbGFtIHBlbWFuZ2dpbGFuIHNoZWxsLiBUYW5kYSB5YW5nIHRlcnNldFxuIgpAQCAtMzgzMSw5ICszOTI2LDkgQEAKICIgICAgQVJHIHlhbmcgZGliZXJpa2FuLCBzZW11YSBzaGVsbCB2YXJpYWJlbCBkaXRhbXBpbGthbi5cbiIKICIgICAgXG4iCiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCi0iICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgc2VidWFoIG9wc2kgdGlkYWsgdmFsaWQgZGliZXJpa2FuLiIKKyIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMga2VjdWFsaSBzZWJ1YWggcGlsaWhhbiB0aWRhayB2YWxpZCBkaWJlcmlrYW4uIgogCi0jOiBidWlsdGlucy5jOjExMDEKKyM6IGJ1aWx0aW5zLmM6MTEwNAogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzg1NiwyMSArMzk1MSwyMSBAQAogIiAgICBcbiIKICIgICAgVW50dWsgc2V0aWFwIE5BTUEsIGhhcHVzIHZhcmlhYmVsIGF0YXUgZnVuZ3NpIHlhbmcgYmVyaHVidW5nYW4uXG4iCiAiICAgIFxuIgotIiAgICBPcHNpOlxuIgorIiAgICBQaWxpaGFuOlxuIgogIiAgICAgIC1mXHRwZXJsYWt1a2FuIHNldGlhcCBOQU1BIHNlYmFnYWkgc2VidWFoIGZ1bmdzaSBzaGVsbFxuIgogIiAgICAgIC12XHRwZXJsYWt1a2FuIHNldGlhcCBOQU1BIHNlYmFnYWkgc2VidWFoIHZhcmlhYmVsIHNoZWxsXG4iCiAiICAgIFxuIgotIiAgICBUYW5wYSBvcHNpLCB1bnNldCBwZXJ0YW1hIG1lbmNvYmEgdW50dWsgbWVudW5zZXQgc2VidWFoIHZhcmlhYmVsLCBkYW4gIgorIiAgICBUYW5wYSBwaWxpaGFuLCB1bnNldCBwZXJ0YW1hIG1lbmNvYmEgdW50dWsgbWVudW5zZXQgc2VidWFoIHZhcmlhYmVsLCBkYW4gIgogImppa2EgaXR1IGdhZ2FsLFxuIgogIiAgICBtZW5jb2JhIHVudHVrIG1lbnVuc2V0IHNlYnVhaCBmdW5nc2kuXG4iCiAiICAgIFxuIgogIiAgICBCZWJlcmFwYSB2YXJpYWJlbCB0aWRhayBkYXBhdCBkaXVuc2V0OyBMaWhhdCBqdWdhIGByZWFkb25seScuXG4iCiAiICAgIFxuIgogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgotIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIHNlYnVhaCBvcHNpIHRpZGFrIHZhbGlkIGRpYmVyaWthbiBhdGF1ICIKKyIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMga2VjdWFsaSBzZWJ1YWggcGlsaWhhbiB0aWRhayB2YWxpZCBkaWJlcmlrYW4gYXRhdSAiCiAic2VidWFoIE5BTUEgYWRhbGFoIGJhY2Etc2FqYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTEyMQorIzogYnVpbHRpbnMuYzoxMTI0CiBtc2dpZCAiIgogIlNldCBleHBvcnQgYXR0cmlidXRlIGZvciBzaGVsbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMzg5NCwxOCArMzk4OSwxOCBAQAogIiAgICBwZXJpbnRhaCBkaWphbGFua2FuLiBKaWthIE5JTEFJIGRpYmVyaWthbiwgYmVyaWthbiBOSUxBSSBzZWJlbHVtICIKICJleHBvcnQuXG4iCiAiICAgIFxuIgotIiAgICBPcHNpOlxuIgorIiAgICBQaWxpaGFuOlxuIgogIiAgICAgIC1mXHRtZXJ1anVrIGtlIGZ1bmdzaSBzaGVsbFxuIgogIiAgICAgIC1uXHRoYXB1cyBwcm9wZXJ0aSBleHBvcnQgZGFyaSBzZXRpYXAgTkFNQVxuIgogIiAgICAgIC1wXHR0YW1waWxrYW4gZGFmdGFyIGRhcmkgc2VsdXJ1aCB2YXJpYWJlbCBkYW4gZnVuZ3NpIHlhbmcgdGVyZXhwb3J0XG4iCiAiICAgIFxuIgotIiAgICBTZWJ1YWggYXJndW1lbiBkYXJpIGAtLScgbWVub25ha3RpZmthbiBwZW1yb3Nlc2FuIG9wc2kgc2VsYW5qdXRueWEuXG4iCisiICAgIFNlYnVhaCBhcmd1bWVuIGRhcmkgYC0tJyBtZW5vbmFrdGlma2FuIHBlbXJvc2VzYW4gcGlsaWhhbiBzZWxhbmp1dG55YS5cbiIKICIgICAgXG4iCiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCi0iICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgc2VidWFoIG9wc2kgdGlkYWsgdmFsaWQgZGliZXJpa2FuIGF0YXUgTkFNQSAiCi0idGlkYWsgdmFsaWQuIgorIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIHNlYnVhaCBwaWxpaGFuIHRpZGFrIHZhbGlkIGRpYmVyaWthbiBhdGF1ICIKKyJOQU1BIHRpZGFrIHZhbGlkLiIKIAotIzogYnVpbHRpbnMuYzoxMTQwCisjOiBidWlsdGlucy5jOjExNDMKIG1zZ2lkICIiCiAiTWFyayBzaGVsbCB2YXJpYWJsZXMgYXMgdW5jaGFuZ2VhYmxlLlxuIgogIiAgICBcbiIKQEAgLTM5MzEsMjAgKzQwMjYsMjAgQEAKICJOSUxBSVxuIgogIiAgICBzZWJlbHVtIG1lbmFuZGFpbnlhIHNlYmFnYWkgYmFjYS1zYWphLlxuIgogIiAgICBcbiIKLSIgICAgT3BzaTpcbiIKKyIgICAgUGlsaWhhbjpcbiIKICIgICAgICAtYVx0bWVydWp1ayBrZSBhcmF5IGluZGV4IHZhcmlhYmVsXG4iCiAiICAgICAgLUFcdG1lcnVqdWsga2UgdmFyaWFiZWwgYXJheSBhc3Nvc2lhc2lcbiIKICIgICAgICAtZlx0bWVydWp1ayBrZSBmdW5nc2kgc2hlbGxcbiIKICIgICAgICAtcFx0bWVuYW1waWxrYW4gc2VidWFoIGRhZnRhciBkYXJpIHNlbHVydWggdmFyaWFiZWwgZGFuIGZ1bmdzaSBiYWNhLSIKICJzYWphXG4iCiAiICAgIFxuIgotIiAgICBTZWJ1YWggYXJndW1lbiBkYXJpIGAtLScgbWVub25ha3RpZmthbiBwZW1yb3Nlc2FuIG9wc2kgc2VsYW5qdXRueWEuXG4iCisiICAgIFNlYnVhaCBhcmd1bWVuIGRhcmkgYC0tJyBtZW5vbmFrdGlma2FuIHBlbXJvc2VzYW4gcGlsaWhhbiBzZWxhbmp1dG55YS5cbiIKICIgICAgXG4iCiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCi0iICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbCBzZWJ1YWggb3BzaSB0aWRhayB2YWxpZCBkaWJlcmlrYW4gYXRhdSBOQU1BICIKLSJ0aWRhayB2YWxpZC4iCisiICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbCBzZWJ1YWggcGlsaWhhbiB0aWRhayB2YWxpZCBkaWJlcmlrYW4gYXRhdSAiCisiTkFNQSB0aWRhayB2YWxpZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTE2MQorIzogYnVpbHRpbnMuYzoxMTY0CiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zOTYyLDcgKzQwNTcsNyBAQAogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgogIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIE4gYWRhbGFoIG5lZ2F0aWYgYXRhdSBsZWJpaCBiZXNhciBkYXJpICQjLiIKIAotIzogYnVpbHRpbnMuYzoxMTczIGJ1aWx0aW5zLmM6MTE4OAorIzogYnVpbHRpbnMuYzoxMTc2IGJ1aWx0aW5zLmM6MTE5MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZyb20gYSBmaWxlIGluIHRoZSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTM5ODgsNyArNDA4Myw3IEBACiAiQkVSS0FTOyBnYWdhbCBqaWthXG4iCiAiICAgIE5BTUEgQkVSS0FTIHRpZGFrIGRhcGF0IGRpYmFjYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTIwNAorIzogYnVpbHRpbnMuYzoxMjA3CiBtc2dpZCAiIgogIlN1c3BlbmQgc2hlbGwgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTQwMDYsNyArNDEwMSw3IEBACiAiICAgIFN1c3BlbmQgZWtzZWt1c2kgZGFyaSBzaGVsbCBpbmkgc2FtcGFpIG1lbmVyaW1hIHNlYnVhaCBzaW55YWwgU0lHQ09OVC5cbiIKICIgICAgS2VjdWFsaSBkaXBha3NhLCBsb2dpbiBzaGVsbCB0aWRhayBkYXBhdCBkaXN1c3BlbmQuXG4iCiAiICAgIFxuIgotIiAgICBPcHNpOlxuIgorIiAgICBQaWxpaGFuOlxuIgogIiAgICAgIC1mXHRwYWtzYSB1bnR1ayBzdXNwZW5kLCB3YWxhdXB1biBqaWthIHNoZWxsIGFkYWxhaCBzZWJ1YWggbG9naW4gIgogInNoZWxsXG4iCiAiICAgIFxuIgpAQCAtNDAxNCw3ICs0MTA5LDcgQEAKICIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMga2VjdWFsaSBwZW5nb250cm9sIHBla2VyamFhbiB0aWRhayBha3RpZiBhdGF1ICIKICJzZWJ1YWggZXJyb3IgdGVyamFkaS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTIyMAorIzogYnVpbHRpbnMuYzoxMjIzCiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtNDE1Myw3ICs0MjQ4LDcgQEAKICIgICAgICAgXG4iCiAiICAgICAgIE9wZXJhdG9yIGxhaW46XG4iCiAiICAgICAgIFxuIgotIiAgICAgICAgIC1vIE9wc2kgICAgICAgIEJlbmFyIGppa2Egb3BzaSBzaGVsbCBPUFNJIGRpYWt0aWZrYW4uXG4iCisiICAgICAgICAgLW8gUGlsaWhhbiAgICAgICAgQmVuYXIgamlrYSBwaWxpaGFuIHNoZWxsIE9QU0kgZGlha3RpZmthbi5cbiIKICIgICAgICAgICAhIEVYUFIgICAgICAgICBCZW5hciBqaWthIGV4cHIgc2FsYWguXG4iCiAiICAgICAgICAgRVhQUjEgLWEgRVhQUjIgQmVuYXIgamlrYSBrZWR1YSBleHByMSBkYW4gZXhwcjIgYWRhbGFoIGJlbmFyLlxuIgogIiAgICAgICAgIEVYUFIxIC1vIEVYUFIyIEJlbmFyIGppa2Egc2FsYWggc2F0dSBkYXJpIGV4cHIxIGF0YXUgZXhwcjIgYWRhbGFoICIKQEAgLTQxNzQsNyArNDI2OSw3IEBACiAiRVhQUiBtZW5nZXZhbHVhc2kga2VcbiIKICIgICAgICAgc2FsYWggYXRhdSBzZWJ1YWggYXJndW1lbiB0aWRhayB2YWxpZCBkaWJlcmlrYW4uIgogCi0jOiBidWlsdGlucy5jOjEyOTYKKyM6IGJ1aWx0aW5zLmM6MTI5OQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTQxODYsNyArNDI4MSw3IEBACiAiICAgIEluaSBzaW5vbmltIHVudHVrIFwidGVzdFwiIGJ1aWx0aW4sIHRldGFwaSBhcmd1bWVuIHRlcmFraGlyXG4iCiAiICAgIGhhcnVzIGJlcnVwYSBzZWJ1YWggbGl0ZXJhbCBgXScsIHVudHVrIG1lbmNvY29rYW4gZGVuZ2FuIHBlbWJ1a2FhbiBgWycuIgogCi0jOiBidWlsdGlucy5jOjEzMDUKKyM6IGJ1aWx0aW5zLmM6MTMwOAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtNDIwNiw3ICs0MzAxLDcgQEAKICIgICAgU3RhdHVzIEtlbHVhcjpcbiIKICIgICAgU2VsYWx1IHN1a3Nlcy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTMxNworIzogYnVpbHRpbnMuYzoxMzIwCiBtc2dpZCAiIgogIlRyYXAgc2lnbmFscyBhbmQgb3RoZXIgZXZlbnRzLlxuIgogIiAgICBcbiIKQEAgLTQyNjQsNyArNDM1OSw3IEBACiAicGVyaW50YWggeWFuZyBiZXJhc29zaWFzaVxuIgogIiAgICBkZW5nYW4gc2V0aWFwIHNpbnlhbC5cbiIKICIgICAgXG4iCi0iICAgIE9wc2k6XG4iCisiICAgIFBpbGloYW46XG4iCiAiICAgICAgLWxcdG1lbmFtcGlsa2FuIHNlYnVhaCBkYWZ0YXIgZGFyaSBuYW1hIHNpbnlhbCBkYW4gbm9tb3IgeWFuZyAiCiAiYmVyaHVidW5nYW5cbiIKICIgICAgICAtcFx0bWVuYW1waWxrYW4gcGVyaW50YWggdHJhcCB5YW5nIGJlcmFzb3NpYXNpIGRlbmdhbiBzZXRpYXAgIgpAQCAtNDI3Nyw5ICs0MzcyLDkgQEAKICIgICAgXG4iCiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCiAiICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgc2VidWFoIFNJR1NQRUMgYWRhbGFoIHRpZGFrIHZhbGlkIGF0YXUgIgotInNlYnVhaCBvcHNpIHRpZGFrIHZhbGlkIGRpYmVyaWthbi4iCisic2VidWFoIHBpbGloYW4gdGlkYWsgdmFsaWQgZGliZXJpa2FuLiIKIAotIzogYnVpbHRpbnMuYzoxMzQ5CisjOiBidWlsdGlucy5jOjEzNTIKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kIHR5cGUuXG4iCiAiICAgIFxuIgpAQCAtNDMxNCwxMSArNDQwOSwxMSBAQAogImRpZ3VuYWthbiBzZWJhZ2FpIHNlYnVhaFxuIgogIiAgICBuYW1hIHBlcmludGFoLlxuIgogIiAgICBcbiIKLSIgICAgT3BzaTpcbiIKKyIgICAgUGlsaWhhbjpcbiIKICIgICAgICAtYVx0bWVuYW1waWxrYW4gc2VsdXJ1aCBsb2thc2kgeWFuZyBiZXJpc2kgc2VidWFoIG5hbWEgTkFNQSB5YW5nIGRhcGF0ICIKICJkaWphbGFua2FuO1xuIgogIiAgICBcdG1lbGlwdXRpIGFsaWFzZXMsIGJ1aWx0aW5zLCBkYW4gZnVuZ3NpLCBqaWthIGRhbiBoYW55YSBqaWthXG4iCi0iICAgIFx0b3BzaSBgLXAnIGp1Z2Egc2VkYW5nIHRpZGFrIGRpZ3VuYWthblxuIgorIiAgICBcdHBpbGloYW4gYC1wJyBqdWdhIHNlZGFuZyB0aWRhayBkaWd1bmFrYW5cbiIKICIgICAgICAtZlx0bWVuZWthbiBwZW5jYXJpYW4gZnVuZ3NpIHNoZWxsXG4iCiAiICAgICAgLVBcdG1lbWFrc2Egc2VidWFoIEpBTFVSIHBlbmNhcmlhbiB1bnR1ayBzZXRpYXAgTkFNQSwgYmFoa2FuIGppa2EgaW5pICIKICJhZGFsYWggc2VidWFoIGFsaWFzLFxuIgpAQCAtNDM0MSw3ICs0NDM2LDcgQEAKICIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMgamlrYSBzZWx1cnVoIGRhcmkgTkFNQSBkaXRlbXVrYW47IGdhZ2FsIGppa2EgYWRhICIKICJ5YW5nIHRpZGFrIGRpdGVtdWthbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MAorIzogYnVpbHRpbnMuYzoxMzgzCiBtc2dpZCAiIgogIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCiAiICAgIFxuIgpAQCAtNDM5MCw3ICs0NDg1LDcgQEAKICIgICAgeWFuZyBkaW11bGFpIG9sZWggc2hlbGwsIGRhbGFtIHNpc3RlbSB5YW5nIG1lbmdpamlua2FuIHVudHVrIGtvbnRyb2wgIgogInRlcnNlYnV0LlxuIgogIiAgICBcbiIKLSIgICAgT3BzaTpcbiIKKyIgICAgUGlsaWhhbjpcbiIKICIgICAgICAgIC1TXHRndW5ha2FuIGBzb2Z0JyBiYXRhcyBzYXJhbmFcbiIKICIgICAgICAgIC1IXHRndW5ha2FuIGBoYXJkJyBiYXRhcyBzYXJhbmFcbiIKICIgICAgICAgIC1hXHRzZW11YSBiYXRhcyBkaXRhbXBpbGthblxuIgpAQCAtNDQxNyw3ICs0NTEyLDcgQEAKICJyZXNwZWN0aXZlbHkuXG4iCiAiICAgIEppa2EgdGlkYWssIG5pbGFpIHNla2FyYW5nIGRhcmkgc2FyYW5hIHlhbmcgZGlzcGVzaWZpa2FzaWthbiAiCiAiZGl0YW1waWxrYW4uXG4iCi0iICAgIEppa2EgdGlkYWsgYWRhIG9wc2kgeWFuZyBkaWJlcmlrYW4sIG1ha2EgLWYgZGlhc3Vtc2lrYW4uXG4iCisiICAgIEppa2EgdGlkYWsgYWRhIHBpbGloYW4geWFuZyBkaWJlcmlrYW4sIG1ha2EgLWYgZGlhc3Vtc2lrYW4uXG4iCiAiICAgIFxuIgogIiAgICBOaWxhaSBhZGFsYWggZGFsYW0gMTAyNC1ieXRlIGluY3JlbWVudHMsIGtlY3VhbGkgdW50dWsgLXQsIHlhbmcgYmVyYXJ0aSAiCiAiZGFsYW0gZGV0aWtcbiIKQEAgLTQ0MjYsMTAgKzQ1MjEsMTAgQEAKICIgICAganVtbGFoIHByb3Nlcy5cbiIKICIgICAgXG4iCiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCi0iICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgc2VidWFoIG9wc2kgdGlkYWsgdmFsaWQgZGliZXJpa2FuIGF0YXUgIgorIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIHNlYnVhaCBwaWxpaGFuIHRpZGFrIHZhbGlkIGRpYmVyaWthbiBhdGF1ICIKICJzZWJ1YWggZXJyb3IgdGVyamFkaS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQyNQorIzogYnVpbHRpbnMuYzoxNDI4CiBtc2dpZCAiIgogIkRpc3BsYXkgb3Igc2V0IGZpbGUgbW9kZSBtYXNrLlxuIgogIiAgICBcbiIKQEAgLTQ0NTcsMTcgKzQ1NTIsMTcgQEAKICIgICAgamlrYSB0aWRhayBpbmkgYWRhbGFoIHNlYnVhaCBtb2RlIHNpbWJvbGlrIHNlcGVydGkgeWFuZyBkaXRlcmltYSBvbGVoICIKICJjaG1vZCgxKS5cbiIKICIgICAgXG4iCi0iICAgIE9wc2k6XG4iCisiICAgIFBpbGloYW46XG4iCiAiICAgICAgLXBcdGppa2EgTU9ERSBkaWFiYWlrYW4sIGtlbHVhcmthbiBkYWxhbSBzZWJ1YWggZm9ybWF0IHlhbmcgYmlzYSAiCiAiZGlndW5ha2FuIHNlYmFnYWkgbWFzdWthblxuIgogIiAgICAgIC1TXHRtZW1idWF0IGtlbHVhcmFuIHNpbWJvbGlrOyBqaWthIHRpZGFrIHNlYnVhaCBiaWxhbmdhbiBva3RhbCBhZGFsYWggIgogImtlbHVhcmFubnlhXG4iCiAiICAgIFxuIgogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgotIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIE1PREUgdGlkYWsgdmFsaWQgYXRhdSBzZWJ1YWggb3BzaSB0aWRhayAiCisiICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgTU9ERSB0aWRhayB2YWxpZCBhdGF1IHNlYnVhaCBwaWxpaGFuIHRpZGFrICIKICJ2YWxpZCBkaWJlcmlrYW4uIgogCi0jOiBidWlsdGlucy5jOjE0NDUKKyM6IGJ1aWx0aW5zLmM6MTQ0OAogbXNnaWQgIiIKICJXYWl0IGZvciBqb2IgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTQ0OTUsMTEgKzQ1OTAsMTEgQEAKICIgICAgZGFsYW0gcGlwZWxpbmUgcGVrZXJqYWFuLlxuIgogIiAgICBcbiIKICIgICAgU3RhdHVzIEtlbHVhcjpcbiIKLSIgICAgTWVuZ2VtYmFsaWthbiBzdGF0dXMgZGFyaSBJRDsgZ2FnYWwgamlrYSBJRCB0aWRhayB2YWxpZCBhdGF1IHNlYnVhaCBvcHNpICIKLSJ0aWRha1xuIgorIiAgICBNZW5nZW1iYWxpa2FuIHN0YXR1cyBkYXJpIElEOyBnYWdhbCBqaWthIElEIHRpZGFrIHZhbGlkIGF0YXUgc2VidWFoICIKKyJwaWxpaGFuIHRpZGFrXG4iCiAiICAgIHZhbGlkIGRpYmVyaWthbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ2MworIzogYnVpbHRpbnMuYzoxNDY2CiBtc2dpZCAiIgogIldhaXQgZm9yIHByb2Nlc3MgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTQ1MjAsMTEgKzQ2MTUsMTEgQEAKICIgICAgZGFuIGtvZGUga2VtYmFsaWFuIGFkYWxhaCBub2wuIFBJRCBkYXBhdCBiZXJ1cGEgcHJvc2VzIElELlxuIgogIiAgICBcbiIKICIgICAgU3RhdHVzIEtlbHVhcjpcbiIKLSIgICAgTWVuZ2VtYmFsaWthbiBzdGF0dXMgZGFyaSBJRDsgZ2FnYWwgamlrYSBJRCB0aWRhayB2YWxpZCBhdGF1IHNlYnVhaCBvcHNpICIKLSJ0aWRhayB2YWxpZFxuIgorIiAgICBNZW5nZW1iYWxpa2FuIHN0YXR1cyBkYXJpIElEOyBnYWdhbCBqaWthIElEIHRpZGFrIHZhbGlkIGF0YXUgc2VidWFoICIKKyJwaWxpaGFuIHRpZGFrIHZhbGlkXG4iCiAiICAgIGRpYmVyaWthbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ3OAorIzogYnVpbHRpbnMuYzoxNDgxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZm9yIGVhY2ggbWVtYmVyIGluIGEgbGlzdC5cbiIKICIgICAgXG4iCkBAIC00NTQ4LDcgKzQ2NDMsNyBAQAogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgogIiAgICBNZW5nZW1iYWxpa2FuIHN0YXR1cyBkYXJpIHBlcmludGFoIHRlcmFraGlyIHlhbmcgZGlqYWxhbmthbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5MgorIzogYnVpbHRpbnMuYzoxNDk1CiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCiAiICAgIFxuIgpAQCAtNDU3OCw3ICs0NjczLDcgQEAKICIgICAgU3RhdHVzIEtlbHVhcjpcbiIKICIgICAgTWVuZ2VtYmFsaWthbiBzdGF0dXMgZGFyaSBwZXJpbnRhaCB0ZXJha2hpciB5YW5nIGRpamFsYW5rYW4uIgogCi0jOiBidWlsdGlucy5jOjE1MTAKKyM6IGJ1aWx0aW5zLmM6MTUxMwogbXNnaWQgIiIKICJTZWxlY3Qgd29yZHMgZnJvbSBhIGxpc3QgYW5kIGV4ZWN1dGUgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtNDYxNSw3ICs0NzEwLDcgQEAKICIgICAgU3RhdHVzIEtlbHVhcjpcbiIKICIgICAgTWVuZ2VtYmFsaWthbiBzdGF0dXMgZGFyaSBwZXJpbnRhaCB0ZXJha2hpciB5YW5nIGRpamFsYW5rYW4uIgogCi0jOiBidWlsdGlucy5jOjE1MzEKKyM6IGJ1aWx0aW5zLmM6MTUzNAogbXNnaWQgIiIKICJSZXBvcnQgdGltZSBjb25zdW1lZCBieSBwaXBlbGluZSdzIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC00NjM3LDEzICs0NzMyLDEzIEBACiAiICAgIGRhbiBzaXN0ZW0gQ1BVIHRpbWUgeWFuZyBkaWhhYmlza2FuIGRhbGFtIG1lbmphbGFua2FuIFBJUEVMSU5FIGtldGlrYSAiCiAiaW5pIHNlbGVzYWkuXG4iCiAiICAgIFxuIgotIiAgICBPcHNpOlxuIgorIiAgICBQaWxpaGFuOlxuIgogIiAgICAgIC1wXHRtZW5hbXBpbGthbiByaW5na2FzYW4gd2FrdHUgZGFsYW0gZm9ybWF0IHBvcnRhYmxlIFBvc2l4XG4iCiAiICAgIFxuIgogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgogIiAgICBTdGF0dXMga2VtYmFsaSBhZGFsYWggc3RhdHVzIGtlbWJhbGkgZGFyaSBQSVBFTElORS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU0OAorIzogYnVpbHRpbnMuYzoxNTUxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gcGF0dGVybiBtYXRjaGluZy5cbiIKICIgICAgXG4iCkBAIC00NjYxLDcgKzQ3NTYsNyBAQAogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgogIiAgICBNZW5nZW1iYWxpa2FuIHNldGF0dXMgZGFyaSBwZXJpbnRhaCB0ZXJha2hpciB5YW5nIGRpamFsYW5rYW4uIgogCi0jOiBidWlsdGlucy5jOjE1NjAKKyM6IGJ1aWx0aW5zLmM6MTU2MwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIGNvbmRpdGlvbmFsLlxuIgogIiAgICBcbiIKQEAgLTQ2OTksNyArNDc5NCw3IEBACiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCiAiICAgIE1lbmdlbWJhbGlrYW4gc3RhdHVzIGRhcmkgcGVyaW50YWggdGVyYWtoaXIgeWFuZyBkaWphbGFua2FuLiIKIAotIzogYnVpbHRpbnMuYzoxNTc3CisjOiBidWlsdGlucy5jOjE1ODAKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKICIgICAgXG4iCkBAIC00NzE3LDcgKzQ4MTIsNyBAQAogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgogIiAgICBNZW5nZW1iYWxpa2FuIHN0YXR1cyBkYXJpIHBlcmludGFoIHRlcmFraGlyIHlhbmcgZGlqYWxhbmthbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU4OQorIzogYnVpbHRpbnMuYzoxNTkyCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3QgZG9lcyBub3Qgc3VjY2VlZC5cbiIKICIgICAgXG4iCkBAIC00NzM0LDcgKzQ4MjksNyBAQAogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgogIiAgICBNZW5nZW1iYWxpa2FuIHN0YXR1cyBkYXJpIHBlcmludGFoIHRlcmFraGlyIHlhbmcgZGlqYWxhbmthbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYwMQorIzogYnVpbHRpbnMuYzoxNjA0CiBtc2dpZCAiIgogIkNyZWF0ZSBhIGNvcHJvY2VzcyBuYW1lZCBOQU1FLlxuIgogIiAgICBcbiIKQEAgLTQ3NDYsOCArNDg0MSwxOCBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgQ09NTUFORC4iCiBtc2dzdHIgIiIKKyJCdWF0IHNlYnVhaCBrb3Byb3NlcyBkZW5nYW4gbmFtYSBOQU1BLlxuIgorIiAgICBcbiIKKyIgICAgSmFsYW5rYW4gUEVSSU5UQUggc2VjYXJhIHRpZGFrIHNpbmtyb24sIGRlbmdhbiBzdGFuZGFyIGtlbHVhcmFuIGRhblxuIgorIiAgICBzdGFuZGFyIG1hc3VrYW4gZGFyaSBwZXJpbnRhaCB0ZXJodWJ1bmcgbWVsYWx1aSBzZWJ1YWggcGlwYSBiZXJrYXNcbiIKKyIgICAgcGlwYSBkZXNrcmlwc2kgeWFuZyBkaXRhbmRhaSBkZW5nYW4gMCBkYW4gMSBkYXJpIHNlYnVhaCBzdXN1bmFuIE5BTUFcbiIKKyIgICAgdmFyaWFiZWwgZGFsYW0gc2hlbGwgeWFuZyBkaWphbGFua2FuLlxuIgorIiAgICBOYW1hIGJha3UgYWRhbGFoIFwiQ09QUk9DXCIuXG4iCisiICAgIFxuIgorIiAgICBTdGF0dXMgS2VsdWFyOlxuIgorIiAgICBNZW5nZW1iYWxpa2FuIHN0YXR1cyBrZWx1YXIgZGFyaSBQRVJJTlRBSC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYxNQorIzogYnVpbHRpbnMuYzoxNjE4CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC00NzcyLDcgKzQ4NzcsNyBAQAogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgogIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIE5BTUEgYWRhbGFoIGJhY2Etc2FqYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYyOQorIzogYnVpbHRpbnMuYzoxNjMyCiBtc2dpZCAiIgogIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKICIgICAgXG4iCkBAIC00NzkxLDcgKzQ4OTYsNyBAQAogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgogIiAgICBNZW5nZW1iYWxpa2FuIHN0YXR1cyBkYXJpIHBlcmludGFoIHRlcmFraGlyIHlhbmcgZGlla3Nla3VzaS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY0MQorIzogYnVpbHRpbnMuYzoxNjQ0CiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC00ODE4LDcgKzQ5MjMsNyBAQAogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgogIiAgICBNZW5nZW1iYWxpa2FuIHN0YXR1cyBkYXJpIHBla2VyamFhbiB5YW5nIGRpbGFuanV0a2FuLiIKIAotIzogYnVpbHRpbnMuYzoxNjU2CisjOiBidWlsdGlucy5jOjE2NTkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTQ4MzYsNyArNDk0MSw3IEBACiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCiAiICAgIE1lbmdlbWJhbGlrYW4gMSBqaWthIEVYUFJFU0kgZGlldmFsdWFzaSBrZSAwOyBtZW5nZW1iYWxpa2FuIDAgamlrYSB0aWRhay4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY2OAorIzogYnVpbHRpbnMuYzoxNjcxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29uZGl0aW9uYWwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC00ODkzLDcgKzQ5OTgsNyBAQAogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgogIiAgICAwIGF0YXUgMSB0ZXJnYW50dW4gZGFyaSBuaWxhaSBkYXJpIEVLU1BSRVNJLiIKIAotIzogYnVpbHRpbnMuYzoxNjk0CisjOiBidWlsdGlucy5jOjE2OTcKIG1zZ2lkICIiCiAiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKICIgICAgXG4iCkBAIC00OTgzLDcgKzUwODgsNyBAQAogIiAgICBQUzFcdFx0S2F0YSBwcm9tcHQgdXRhbWEuXG4iCiAiICAgIFBTMlx0XHRLYXRhIHByb21wdCBrZWR1YS5cbiIKICIgICAgUFdEXHRcdE5hbWEgamFsdXIgbGVuZ2thdCBkYXJpIGRpcmVrdG9yaSBzZWthcmFuZy5cbiIKLSIgICAgU0hFTExPUFRTXHREYWZ0YXIgZGFyaSBzaGVsbCBvcHNpIHlhbmcgZGlwaXNhaGthbiBvbGVoIHRpdGlrLWR1YS5cbiIKKyIgICAgU0hFTExPUFRTXHREYWZ0YXIgZGFyaSBzaGVsbCBwaWxpaGFuIHlhbmcgZGlwaXNhaGthbiBvbGVoIHRpdGlrLWR1YS5cbiIKICIgICAgVEVSTVx0TmFtYSBkYXJpIHRpcGUgdGVybWluYWwgc2VrYXJhbmcuXG4iCiAiICAgIFRJTUVGT1JNQVRcdEZvcm1hdCBrZWx1YXJhbiBkYXJpIHN0YXRpc3RpayB3YWt0dSB5YW5nIGRpdGFtcGlsa2FuIG9sZWhcbiIKICIgICAgXHRcdGB0aW1lJyBrYXRhIHlhbmcgZGlyZXNlcnZlZC5cbiIKQEAgLTUwMDcsNyArNTExMiw3IEBACiAiZGlndW5ha2FuIHVudHVrIG1lbmVudHVrYW4gZGltYW5hXG4iCiAiICAgIFx0XHRwZXJpbnRhaCBzZWhhcnVzbnlhIGRpc2ltcGFuIGRhbGFtIGRhZnRhciBzZWphcmFoLlxuIgogCi0jOiBidWlsdGlucy5jOjE3NTEKKyM6IGJ1aWx0aW5zLmM6MTc1NAogbXNnaWQgIiIKICJBZGQgZGlyZWN0b3JpZXMgdG8gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtNTA0Myw3ICs1MTQ4LDcgQEAKICIgICAgc3RhY2ssIG1lbWJ1YWggdG9wIGJhcnUgZGFyaSBzdGFjayBkYXJpIHdvcmtpbmcgZGlyZWt0b3JpIHNhYXQgaW5pLlxuIgogIiAgICBUYW5wYSBhcmd1bWVuLCBtZW51a2FyIHRvcCBkYXJpIGR1YSBkaXJla3RvcmkuXG4iCiAiICAgIFxuIgotIiAgICBPcHNpOlxuIgorIiAgICBQaWxpaGFuOlxuIgogIiAgICAtblx0bWVuZWthbiBwZXJ1YmFoYW4gbm9ybWFsIGRhcmkgZGlyZWt0b3JpIGtldGlrYSBtZW5hbWJhaGthbiAiCiAiZGlyZWt0b3JpXG4iCiAiICAgIFx0a2Ugc3RhY2ssIGphZGkgaGFueWEgc3RhY2sgeWFuZyBkaW1hbmlwdWxhc2kuXG4iCkBAIC01MDY3LDcgKzUxNzIsNyBAQAogImF0YXUgcGVtaW5kYWhhblxuIgogIiAgICBkaXJla3RvcmkgZ2FnYWwuIgogCi0jOiBidWlsdGlucy5jOjE3ODUKKyM6IGJ1aWx0aW5zLmM6MTc4OAogbXNnaWQgIiIKICJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC01MDk5LDcgKzUyMDQsNyBAQAogIiAgICBtZW5naGFwdXMgdG9wIGRpcmVrdG9yaSBkYXJpIHN0YWNrLCBkYW4gY2QncyBrZSB0b3BcbiIKICIgICAgZGlyZWt0b3JpIGJhcnUuXG4iCiAiICAgIFxuIgotIiAgICBPcHNpOlxuIgorIiAgICBQaWxpaGFuOlxuIgogIiAgICAgIC1uXHRtZW5la2FuIHBlcnViYWhhbiBub3JtYWwgZGFyaSBkaXJla3Rvcmkga2V0aWthIG1lbmdoYXB1cyAiCiAiZGlyZWt0b3JpXG4iCiAiICAgIFx0ZGFyaSBzdGFjaywgamFkaSBoYW55YSBzdGFjayB5YW5nIGRpbWFuaXB1bGFzaS5cbiIKQEAgLTUxMjIsNyArNTIyNyw3IEBACiAiYXRhdSBwZW1pbmRhaGFuXG4iCiAiICAgIGRpcmVrdG9yaSBnYWdhbC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTgxNQorIzogYnVpbHRpbnMuYzoxODE4CiBtc2dpZCAiIgogIkRpc3BsYXkgZGlyZWN0b3J5IHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTUxNTcsNyArNTI2Miw3IEBACiAibWVtcGVyb2xlaFxuIgogIiAgICBiYWNrdXAgbWVsYWx1aSBkYWZ0YXIgZGVuZ2FuIHBlcmludGFoIGBwb3BkJy5cbiIKICIgICAgXG4iCi0iICAgIE9wc2k6XG4iCisiICAgIFBpbGloYW46XG4iCiAiICAgICAgLWNcdG1lbmdoYXB1cyBkaXJla3Rvcmkgc3RhY2sgZGVuZ2FuIG1lbmdoYXB1cyBzZWx1cnVoIGVsZW1lbi5cbiIKICIgICAgICAtbFx0amFuZ2FuIG1lbmFtcGlsa2FuIHZlcnNpIHlhbmcgZGlhd2FsaSB0aWxkZSBkYXJpIGRpcmVrdG9yaSB5YW5nICIKICJyZWxhdGlmXG4iCkBAIC01MTY5LDE2ICs1Mjc0LDE2IEBACiAiICAgIEFyZ3VtZW46XG4iCiAiICAgICAgK05cdG1lbmFtcGlsa2FuIG1hc3VrYW4ga2UgTiBkaWhpdHVuZyBkYXJpIGtpcmkgZGFyaSBkYWZ0YXIgeWFuZyAiCiAiZGl0YW1waWxrYW4gb2xlaFxuIgotIiAgICBcdGRpcnMga2V0aWthIGRpamFsYW5rYW4gdGFucGEgb3BzaSwgZGltdWxhaSBkYXJpIG5vbC5cbiIKKyIgICAgXHRkaXJzIGtldGlrYSBkaWphbGFua2FuIHRhbnBhIHBpbGloYW4sIGRpbXVsYWkgZGFyaSBub2wuXG4iCiAiICAgIFxuIgogIiAgICAgIC1OXHRtZW5hbXBpbGthbiBtYXN1a2FuIGtlIE4gZGloaXR1bmcgZGFyaSBrYW5hbiBkYXJpIGRhZnRhciB5YW5nICIKICJkaXRhbXBpbGthbiBvbGVoXG4iCi0iICAgIFx0ZGlycyBrZXRpa2EgZGlqYWxhbmthbiB0YW5wYSBvcHNpLCBkaW11bGFpIGRhcmkgbm9sLiAgICBcbiIKKyIgICAgXHRkaXJzIGtldGlrYSBkaWphbGFua2FuIHRhbnBhIHBpbGloYW4sIGRpbXVsYWkgZGFyaSBub2wuICAgIFxuIgogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgotIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIGFkYSBzZWJ1YWggb3BzaSB0aWRhayB2YWxpZCBkaWJlcmlrYW4gYXRhdSAiCi0ic2VidWFoIGVycm9yIHRlcmphZGkuIgorIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIGFkYSBzZWJ1YWggcGlsaWhhbiB0aWRhayB2YWxpZCBkaWJlcmlrYW4gIgorImF0YXUgc2VidWFoIGVycm9yIHRlcmphZGkuIgogCi0jOiBidWlsdGlucy5jOjE4NDQKKyM6IGJ1aWx0aW5zLmM6MTg0NwogbXNnaWQgIiIKICJTZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNTE5OCwyNSArNTMwMywyNiBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgT1BUTkFNRSBpcyBlbmFibGVkOyBmYWlscyBpZiBhbiBpbnZhbGlkIG9wdGlvbiBpc1xuIgogIiAgICBnaXZlbiBvciBPUFROQU1FIGlzIGRpc2FibGVkLiIKIG1zZ3N0ciAiIgotIlNldCBkYW4gdW5zZXQgb3BzaSBzaGVsbC5cbiIKKyJTZXQgZGFuIHVuc2V0IHBpbGloYW4gc2hlbGwuXG4iCiAiICAgIFxuIgotIiAgICBVYmFoIHNldHRpbmcgdW50dWsgc2V0aWFwIG9wc2kgc2hlbGwgT1BUTkFNRS4gVGFucGEgb3BzaVxuIgotIiAgICBhcmd1bWVuIGFwYXB1biwgdGFtcGlsa2FuIGRhZnRhciBzaGVsbCBvcHNpIGRlbmdhbiBzZWJ1YWggaW5kaWthc2lcbiIKLSIgICAgeWEgYXRhdSB0aWRhayBzZXRpYXAgb3BzaSBkaSBzZXQuXG4iCisiICAgIFViYWggc2V0dGluZyB1bnR1ayBzZXRpYXAgcGlsaWhhbiBzaGVsbCBPUFROQU1FLiBUYW5wYSBwaWxpaGFuXG4iCisiICAgIGFyZ3VtZW4gYXBhcHVuLCB0YW1waWxrYW4gZGFmdGFyIHNoZWxsIHBpbGloYW4gZGVuZ2FuIHNlYnVhaCBpbmRpa2FzaVxuIgorIiAgICB5YSBhdGF1IHRpZGFrIHNldGlhcCBwaWxpaGFuIGRpIHNldC5cbiIKICIgICAgXG4iCi0iICAgIE9wc2k6XG4iCisiICAgIFBpbGloYW46XG4iCiAiICAgICAgLW9cdGJhdGFzaSBPUFROQU1FIGtlIGRlZmluaXNpIHVudHVrIGRpZ3VuYWthbiBkZW5nYW4gYHNldCAtbydcbiIKLSIgICAgICAtcFx0dGFtcGlsa2FuIHNldGlhcCBvcHNpIHNoZWxsIGRlbmdhbiBzZWJ1YWggaW5kaWthc2kgZGFyaSBzdGF0dXNueWFcbiIKKyIgICAgICAtcFx0dGFtcGlsa2FuIHNldGlhcCBwaWxpaGFuIHNoZWxsIGRlbmdhbiBzZWJ1YWggaW5kaWthc2kgZGFyaSAiCisic3RhdHVzbnlhXG4iCiAiICAgICAgLXFcdHRla2FuIGtlbHVhcmFuXG4iCiAiICAgICAgLXNcdGFrdGlma2FuIChzZXQpIHNldGlhcCBPUFROQU1FXG4iCiAiICAgICAgLXVcdG5vbmFrdGlma2FuICh1bnNldCkgc2V0aWFwIE9QVE5BTUVcbiIKICIgICAgXG4iCiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCi0iICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGppa2EgT1BUTkFNRSBkaWFrdGlma2FuOyBnYWdhbCBqaWthIHNlYnVhaCBvcHNpICIKKyIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMgamlrYSBPUFROQU1FIGRpYWt0aWZrYW47IGdhZ2FsIGppa2Egc2VidWFoIHBpbGloYW4gIgogInRpZGFrIHZhbGlkIGRpYmVyaWthblxuIgogIiAgICBhdGF1IE9QVE5BTUUgZGlub25ha3RpZmthbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg2NQorIzogYnVpbHRpbnMuYzoxODY4CiBtc2dpZCAiIgogIkZvcm1hdHMgYW5kIHByaW50cyBBUkdVTUVOVFMgdW5kZXIgY29udHJvbCBvZiB0aGUgRk9STUFULlxuIgogIiAgICBcbiIKQEAgLTUyNDcsNyArNTM1Myw3IEBACiBtc2dzdHIgIiIKICJGb3JtYXQgZGFuIHRhbXBpbGthbiBBUkdVTUVOIGRhbGFtIGtvbnRyb2wgZGFyaSBGT1JNQVQuXG4iCiAiICAgIFxuIgotIiAgICBPcHNpOlxuIgorIiAgICBQaWxpaGFuOlxuIgogIiAgICAgIC12IHZhclx0a2VsdWFyYW4gZGl0ZW1wYXRrYW4gZGFsYW0gc2VidWFoIG5pbGFpIGRhcmkgdmFyaWFiZWxcbiIKICIgICAgc2hlbGwgVkFSIGRhcmlwYWRhIGRpa2lyaW1rYW4ga2Uga2VsdWFyYW4gc3RhbmRhci5cbiIKICIgICAgXG4iCkBAIC01MjY3LDExICs1MzczLDEyIEBACiAic2ViYWdhaSBtYXN1a2FuIHNoZWxsLlxuIgogIiAgICBcbiIKICIgICAgU3RhdHVzIEtlbHVhcjpcbiIKLSIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMga2VjdWFsaSBzZWJ1YWggb3BzaSB0aWRhayB2YWxpZCBkaWJlcmlrYW4gYXRhdSAiCisiICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgc2VidWFoIHBpbGloYW4gdGlkYWsgdmFsaWQgZGliZXJpa2FuIGF0YXUgIgogInNlYnVhaCBwZW51bGlzYW4gYXRhdSBwZW5lbXBhdGFuXG4iCiAiICAgIGVycm9yIHRlcmphZGkuIgogCi0jOiBidWlsdGlucy5jOjE4OTIKKyM6IGJ1aWx0aW5zLmM6MTg5NQorIywgZnV6enkKIG1zZ2lkICIiCiAiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCiAiICAgIFxuIgpAQCAtNTI4NSw5ICs1MzkyLDE0IEBACiAiICAgICAgLXBcdHByaW50IGV4aXN0aW5nIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnMgaW4gYSByZXVzYWJsZSBmb3JtYXRcbiIKICIgICAgICAtclx0cmVtb3ZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGZvciBlYWNoIE5BTUUsIG9yLCBpZiBub1xuIgogIiAgICBcdE5BTUVzIGFyZSBzdXBwbGllZCwgYWxsIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnNcbiIKKyIgICAgICAtRFx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIGFzIHRoZSBkZWZhdWx0IGZvciBjb21tYW5kc1xuIgorIiAgICBcdHdpdGhvdXQgYW55IHNwZWNpZmljIGNvbXBsZXRpb24gZGVmaW5lZFxuIgorIiAgICAgIC1FXHRhcHBseSB0aGUgY29tcGxldGlvbnMgYW5kIGFjdGlvbnMgdG8gXCJlbXB0eVwiIGNvbW1hbmRzIC0tXG4iCisiICAgIFx0Y29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYSBibGFuayBsaW5lXG4iCiAiICAgIFxuIgogIiAgICBXaGVuIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkLCB0aGUgYWN0aW9ucyBhcmUgYXBwbGllZCBpbiB0aGUgb3JkZXIgdGhlXG4iCi0iICAgIHVwcGVyY2FzZS1sZXR0ZXIgb3B0aW9ucyBhcmUgbGlzdGVkIGFib3ZlLlxuIgorIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS4gIFRoZSAtRCBvcHRpb24gdGFrZXNcbiIKKyIgICAgcHJlY2VkZW5jZSBvdmVyIC1FLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKQEAgLTUyOTUsMTIgKzU0MDcsMTIgQEAKICJTcGVzaWZpa2FzaWthbiBiYWdhaW1hbmEgYXJndW1lbiBha2FuIGRpc2VsZXNhaWthbiBvbGVoIFJlYWRsaW5lLlxuIgogIiAgICBcbiIKICIgICAgVW50dWsgc2V0aWFwIE5BTUEsIHNwZXNpZmlrYXNpa2FuIGJhZ2FpbWFuYSBhcmd1bWVuIGFrYW4gZGlzZWxlc2Fpa2FuLiAiCi0iSmlrYSB0aWRhayBhZGEgb3BzaVxuIgorIkppa2EgdGlkYWsgYWRhIHBpbGloYW5cbiIKICIgICAgeWFuZyBkaWJlcmlrYW4sIHNwZXNpZmlrYXNpIHBlbnllbGVzYWlhbiB5YW5nIHN1ZGFoIGFkYSBha2FuIGRpdGFtcGlsa2FuICIKICJkYWxhbSBjYXJhXG4iCiAiICAgIHlhbmcgZGlwZXJib2xlaGthbiB1bnR1ayBkaWd1bmFrYW4gc2ViYWdhaSBtYXN1a2FuLlxuIgogIiAgICBcbiIKLSIgICAgT3BzaTpcbiIKKyIgICAgUGlsaWhhbjpcbiIKICIgICAgICAtcFx0dGFtcGlsa2FuIHNwZXNpZmlrYXNpIHBlbnllbGVzYWlhbiB5YW5nIHRlbGFoIGFkYSBkYWxhbSBmb3JtYXQgIgogInlhbmcgYmVyZ3VuYVxuIgogIiAgICAgIC1yXHRoYXB1cyBzZWJ1YWggc3Blc2lmaWthc2kgcGVueWVsZXNhaWFuIHVudHVrIHNldGlhcCBOQU1BLCBhdGF1IGppa2EgIgpAQCAtNTMwOCwxMyArNTQyMCwxMyBAQAogIiAgICBcdE5BTUEgeWFuZyBkaWJlcmlrYW4sIHNlbHVydWggc3Blc2lmaWthc2kgcGVueWVsZXNhaWFuXG4iCiAiICAgIFxuIgogIiAgICBLZXRpa2EgcGVueWVsZXNhaWFuIGRpY29iYSwgYWtzaSB5YW5nIGRpbGFrdWthbiBkYWxhbSB1cnV0YW5cbiIKLSIgICAgaHVydWYgYmVzYXIgb3BzaSB5YW5nIGRpdGFtcGlsa2FuIGRpYXRhcy5cbiIKKyIgICAgaHVydWYgYmVzYXIgcGlsaWhhbiB5YW5nIGRpdGFtcGlsa2FuIGRpYXRhcy5cbiIKICIgICAgXG4iCiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCi0iICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgc2VidWFoIG9wc2kgdGlkYWsgdmFsaWQgZGliZXJpa2FuIGF0YXUgIgorIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIHNlYnVhaCBwaWxpaGFuIHRpZGFrIHZhbGlkIGRpYmVyaWthbiBhdGF1ICIKICJzZWJ1YWggZXJyb3IgdGVyamFkaS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkxNQorIzogYnVpbHRpbnMuYzoxOTIzCiBtc2dpZCAiIgogIkRpc3BsYXkgcG9zc2libGUgY29tcGxldGlvbnMgZGVwZW5kaW5nIG9uIHRoZSBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTUzMjYsNyArNTQzOCw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKLSJNZW5hbXBpbGthbiBrZW11bmdraW5hbiBwZW55ZWxlc2FpYW4gdGVyZ2FudHVuZyBkYXJpIG9wc2kuXG4iCisiTWVuYW1waWxrYW4ga2VtdW5na2luYW4gcGVueWVsZXNhaWFuIHRlcmdhbnR1bmcgZGFyaSBwaWxpaGFuLlxuIgogIiAgICBcbiIKICIgICAgRGl0dWp1a2FuICB1bnR1ayBkaWd1bmFrYW4gZGFyaSBkYWxhbSBzZWJ1YWggZnVuZ3NpIHNoZWxsIHlhbmcgIgogIm1lbmdoYXNpbGthbiBrZW11bmdraW5hbiB1bnR1ayBjb21wbGV0aW9ucy5cbiIKQEAgLTUzMzQsMTAgKzU0NDYsMTEgQEAKICIgICAgZGloYXNpbGthbi5cbiIKICIgICAgXG4iCiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCi0iICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgc2VidWFoIG9wc2kgdGlkYWsgdmFsaWQgZGliZXJpa2FuIGF0YXUgIgorIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIHNlYnVhaCBwaWxpaGFuIHRpZGFrIHZhbGlkIGRpYmVyaWthbiBhdGF1ICIKICJzZWJ1YWggZXJyb3IgdGVyamFkaS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkzMAorIzogYnVpbHRpbnMuYzoxOTM4CisjLCBmdXp6eQogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNTM1MCw2ICs1NDYzLDggQEAKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgIFx0LW8gb3B0aW9uXHRTZXQgY29tcGxldGlvbiBvcHRpb24gT1BUSU9OIGZvciBlYWNoIE5BTUVcbiIKKyIgICAgXHQtRFx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZGVmYXVsdFwiIGNvbW1hbmQgY29tcGxldGlvblxuIgorIiAgICBcdC1FXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJlbXB0eVwiIGNvbW1hbmQgY29tcGxldGlvblxuIgogIiAgICBcbiIKICIgICAgVXNpbmcgYCtvJyBpbnN0ZWFkIG9mIGAtbycgdHVybnMgb2ZmIHRoZSBzcGVjaWZpZWQgb3B0aW9uLlxuIgogIiAgICBcbiIKQEAgLTUzNjUsMTkgKzU0ODAsMTkgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBOQU1FIGRvZXMgbm90XG4iCiAiICAgIGhhdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZGVmaW5lZC4iCiBtc2dzdHIgIiIKLSJNb2RpZmlrYXNpIGF0YXUgdGFtcGlsa2FuIG9wc2kgcGVueWVsZXNhaWFuLlxuIgorIk1vZGlmaWthc2kgYXRhdSB0YW1waWxrYW4gcGlsaWhhbiBwZW55ZWxlc2FpYW4uXG4iCiAiICAgIFxuIgotIiAgICBNb2RpZmlrYXNpIG9wc2kgcGVueWVsZXNhaWFuIHVudHVrIHNldGlhcCBOQU1BLCBhdGF1LCBqaWthIHRpZGFrYSBhZGEgIgorIiAgICBNb2RpZmlrYXNpIHBpbGloYW4gcGVueWVsZXNhaWFuIHVudHVrIHNldGlhcCBOQU1BLCBhdGF1LCBqaWthIHRpZGFrYSBhZGEgIgogIk5BTUEgeWFuZyBkaWJlcmlrYW4sXG4iCiAiICAgIHBlbnllbGVzYWlhbiBtdWxhaSBkaWphbGFua2FuLiBKaWthIHRpZGFrIGFkYSBPUFNJIHlhbmcgZGliZXJpa2FuLCAiCiAidGFtcGlsa2FuXG4iCi0iICAgIG9wc2kgcGVueWVsZXNhaWFuIHVudHVrIHNldGlhcCBOQU1BIGF0YXUgc3Blc2lmaWthc2kgcGVueWVsZXNhaWFuICIKKyIgICAgcGlsaWhhbiBwZW55ZWxlc2FpYW4gdW50dWsgc2V0aWFwIE5BTUEgYXRhdSBzcGVzaWZpa2FzaSBwZW55ZWxlc2FpYW4gIgogInNla2FyYW5nLlxuIgogIiAgICBcbiIKLSIgICAgT3BzaTpcbiIKLSIgICAgXHQtbyBvcHRpb25cdFNldCBvcHNpIHBlbnllbGVzYWlhbiBPUFNJIHVudHVrIHNldGlhcCBOQU1BXG4iCisiICAgIFBpbGloYW46XG4iCisiICAgIFx0LW8gb3B0aW9uXHRTZXQgcGlsaWhhbiBwZW55ZWxlc2FpYW4gT1BTSSB1bnR1ayBzZXRpYXAgTkFNQVxuIgogIiAgICBcbiIKLSIgICAgR3VuYWthbiBgK28nIGRhcmlwYWRhIGAtbycgbWF0aWthbiBvcHNpIHlhbmcgZGlzcGVzaWZpa2FzaWthbi5cbiIKKyIgICAgR3VuYWthbiBgK28nIGRhcmlwYWRhIGAtbycgbWF0aWthbiBwaWxpaGFuIHlhbmcgZGlzcGVzaWZpa2FzaWthbi5cbiIKICIgICAgXG4iCiAiICAgIEFyZ3VtZW46XG4iCiAiICAgIFxuIgpAQCAtNTM4NywyNCArNTUwMiwyNCBAQAogIkppa2EgdGlkYWsgYWRhIE5BTUFcbiIKICIgICAgeWFuZyBkaWJlcmlrYW4sIGNvbXBvcHQgaGFydXMgZGlwYW5nZ2lsIG9sZWggc2VidWFoIGZ1bmdzaSB5YW5nIGRpYnVhdCAiCiAib2xlaCBwZW55ZWxlc2FpYW4gc2VrYXJhbmcsXG4iCi0iICAgIGRhbiBvcHNpIHVudHVrIG1lbmphbGFua2FuIHBlbnllbGVzYWlhbiBzZWthcmFuZ1xuIgorIiAgICBkYW4gcGlsaWhhbiB1bnR1ayBtZW5qYWxhbmthbiBwZW55ZWxlc2FpYW4gc2VrYXJhbmdcbiIKICIgICAgdGVsYWggZGltb2RpZmlrYXNpLlxuIgogIiAgICBcbiIKICIgICAgU3RhdHVzIEtlbHVhcjpcbiIKLSIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMga2VjdWFsaSBzZWJ1YWggb3BzaSB0aWRhayB2YWxpZCBkaWJlcmlrYW4gYXRhdSBOQU1BICIKLSJ0aWRhayBtZW1pbGlraVxuIgorIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIHNlYnVhaCBwaWxpaGFuIHRpZGFrIHZhbGlkIGRpYmVyaWthbiBhdGF1ICIKKyJOQU1BIHRpZGFrIG1lbWlsaWtpXG4iCiAiICAgIHNwZXNpZmlrYXNpIHBlbnllbGVzYWlhbiB5YW5nIHRlcmRlZmluaXNpLiIKIAotIzogYnVpbHRpbnMuYzoxOTU4CisjOiBidWlsdGlucy5jOjE5NjgKICMsIGZ1enp5CiBtc2dpZCAiIgotIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKKyJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCi0iICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgYXJyYXkgdmFyaWFibGUgQVJSQVksIG9yICIKLSJmcm9tXG4iCi0iICAgIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlIE1BUEZJTEUgIgotImlzXG4iCi0iICAgIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgorIiAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUgIgorIkFSUkFZLCBvclxuIgorIiAgICBmcm9tIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlICIKKyJNQVBGSUxFXG4iCisiICAgIGlzIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgogIiAgICBcbiIKICIgICAgT3B0aW9uczpcbiIKICIgICAgICAtbiBjb3VudFx0Q29weSBhdCBtb3N0IENPVU5UIGxpbmVzLiAgSWYgQ09VTlQgaXMgMCwgYWxsIGxpbmVzIGFyZSAiCkBAIC01NDMxLDE1ICs1NTQ2LDE3IEBACiAiICAgIGFzc2lnbmluZyB0byBpdC5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIEFSUkFZIGlzIHJlYWRvbmx5LiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBBUlJBWSBpcyByZWFkb25seSAiCisib3JcbiIKKyIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgogbXNnc3RyICIiCi0iQmFjYSBiYXJpcyBkYXJpIHNlYnVhaCBiZXJrYXMga2VkYWxhbSBzZWJ1YWggdmFyaWFiZWwgYXJyYXkuXG4iCisiQmFjYSBiYXJpcyBkYXJpIHN0YW5kYXIgbWFzdWthbiBrZWRhbGFtIHNlYnVhaCBzdXN1bmFuIHZhcmlhYmVsLlxuIgogIiAgICBcbiIKICIgICAgQmFjYSBiYXJpcyBkYXJpIHN0YW5kYXIgbWFzdWthbiBrZWRhbGFtIHZhcmlhYmVsIGFycmF5IEFSUkFZLCBhdGF1IGRhcmlcbiIKLSIgICAgZGVza3JpcHNpIGJlcmthcyBGRCBqaWthIG9wc2kgLXUgZGliZXJpa2FuLiBWYXJpYWJlbCBNQVBGSUxFIGFkYWxhaFxuIgotIiAgICBkZWZhdWx0IEFSUkFZLlxuIgorIiAgICBiZXJrYXMgZGVza3JpcHNpIEZEIGppa2EgcGlsaWhhbiAtdSBkaWJlcmlrYW4uIFZhcmlhYmVsIE1BUEZJTEUgYWRhbGFoXG4iCisiICAgIGJha3UgQVJSQVkuXG4iCiAiICAgIFxuIgotIiAgICBPcHNpOlxuIgorIiAgICBQaWxpaGFuOlxuIgogIiAgICAgIC1uIGNvdW50XHRTYWxpbiBkaSBiYXJpcyBDT1VOVC4gSmlrYSBDT1VOVCBhZGFsYWggMCwgc2VtdWEgYmFyaXMgIgogImRpc2FsaW4uXG4iCiAiICAgICAgLU8gb3JpZ2luXHRBd2FsIHBlbmVtcGF0YW4ga2UgQVJSQVkgZGkgaW5kZXggT1JJR0lOLiBEZWZhdWx0IGluZGV4ICIKQEAgLTU0NjMsMTUgKzU1ODAsMzAgQEAKICIgICAgZGl0ZW1wYXRrYW4ga2VwYWRhbnlhXG4iCiAiICAgIFxuIgogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgotIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIHNlYnVhaCBvcHNpIHRpZGFrIHZhbGlkIGRpYmVyaWthbiBhdGF1ICIKKyIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMga2VjdWFsaSBzZWJ1YWggcGlsaWhhbiB0aWRhayB2YWxpZCBkaWJlcmlrYW4gYXRhdSAiCiAiQVJSQVkgYWRhbGFoIGJhY2Etc2FqYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTk5MAorIzogYnVpbHRpbnMuYzoyMDAxCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCiAiICAgIEEgc3lub255bSBmb3IgYG1hcGZpbGUnLiIKIG1zZ3N0ciAiIgorIkJhY2EgYmFyaXMgZGFyaSBzZWJ1YWggYmVya2FzIGtlZGFsYW0gc2VidWFoIHN1c3VuYW4gdmFyaWFiZWwuXG4iCisiICAgIFxuIgorIiAgICBTZWJ1YWggc2lub25pbSB1bnR1ayBgbWFwZmlsZScuIgorCisjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjfiBtc2dzdHIgIiIKKyN+ICJ4cmVhbGxvYzogdGlkYWsgZGFwYXQgbWVucmVhbG9rYXNpa2FuICVsdSBieXRlcyAoJWx1IGJ5dGVzIHRlcmFsb2thc2lrYW4pIgorCisjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCisjfiBtc2dzdHIgInhyZWFsbG9jOiB0aWRhayBkYXBhdCBtZW5nYWxva2FzaWthbiAlbHUgYnl0ZXMiCisKKyN+IG1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjfiBtc2dzdHIgIiIKKyN+ICJ4cmVhbGxvYzogJXM6ICVkOiB0aWRhayBkYXBhdCBtZWxha3VrYW4gcmVhbGxva2FzaSAlbHUgYnl0ZXMgKCVsdSBieXRlcyAiCisjfiAidGVyYWxva2FzaSkiCiAKICN+IG1zZ2lkICIgIgogI34gbXNnc3RyICIgIgpAQCAtNTUyNSw3ICs1NjU3LDcgQEAKIAogI34gbXNnaWQgInRoYXQgYH4vYmluJyBtaWdodCBiZSBkaXNwbGF5ZWQgYXMgYC9ob21lcy9iZm94L2JpbicuICBUaGUgLXYgZmxhZyIKICN+IG1zZ3N0ciAiIgotI34gImJhaHdhIGB+L2JpbicgbXVuZ2tpbiBkaXRhbXBpbGthbiBzZWJhZ2FpIGAvaG9tZXMvYmZveC9iaW4nLiBPcHNpIC12IgorI34gImJhaHdhIGB+L2JpbicgbXVuZ2tpbiBkaXRhbXBpbGthbiBzZWJhZ2FpIGAvaG9tZXMvYmZveC9iaW4nLiBQaWxpaGFuIC12IgogCiAjfiBtc2dpZCAiY2F1c2VzIGBkaXJzJyB0byBwcmludCB0aGUgZGlyZWN0b3J5IHN0YWNrIHdpdGggb25lIGVudHJ5IHBlciBsaW5lLCIKICN+IG1zZ3N0ciAiIgpAQCAtNTUzNCw3ICs1NjY2LDcgQEAKIAogI34gbXNnaWQgIiIKICN+ICJwcmVwZW5kaW5nIHRoZSBkaXJlY3RvcnkgbmFtZSB3aXRoIGl0cyBwb3NpdGlvbiBpbiB0aGUgc3RhY2suICBUaGUgLXAiCi0jfiBtc2dzdHIgIm1lbmRhaHVsdWkgbmFtYSBkaXJla3RvcmkgZGVuZ2FuIHBvc2lzaW55YSBkYWxhbSBzdGFjay4gT3BzaSAtcCIKKyN+IG1zZ3N0ciAibWVuZGFodWx1aSBuYW1hIGRpcmVrdG9yaSBkZW5nYW4gcG9zaXNpbnlhIGRhbGFtIHN0YWNrLiBQaWxpaGFuIC1wIgogCiAjfiBtc2dpZCAiZmxhZyBkb2VzIHRoZSBzYW1lIHRoaW5nLCBidXQgdGhlIHN0YWNrIHBvc2l0aW9uIGlzIG5vdCBwcmVwZW5kZWQuIgogI34gbXNnc3RyICJtZWxha3VrYW4gaGFsIHlhbmcgc2FtYSwgdGV0YXBpIHBvc2lzaSBzdGFjayB0aWRhayBkaWRhaHVsdWkuIgpAQCAtNTU0Miw3ICs1Njc0LDcgQEAKICN+IG1zZ2lkICIiCiAjfiAiVGhlIC1jIGZsYWcgY2xlYXJzIHRoZSBkaXJlY3Rvcnkgc3RhY2sgYnkgZGVsZXRpbmcgYWxsIG9mIHRoZSBlbGVtZW50cy4iCiAjfiBtc2dzdHIgIiIKLSN+ICJPcHNpIC1jIG1lbmdoYXB1cyBkaXJla3Rvcmkgc3RhY2sgZGVuZ2FuIGNhcmEgbWVuZ2hhcHVzIHNlbHVydWggZWxlbWVuLiIKKyN+ICJQaWxpaGFuIC1jIG1lbmdoYXB1cyBkaXJla3Rvcmkgc3RhY2sgZGVuZ2FuIGNhcmEgbWVuZ2hhcHVzIHNlbHVydWggZWxlbWVuLiIKIAogI34gbXNnaWQgIiIKICN+ICIrTiAgIGRpc3BsYXlzIHRoZSBOdGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdCBzaG93biBieSIKQEAgLTU1NTEsNyArNTY4Myw3IEBACiAjfiAiZGl0YW1waWxrYW4gb2xlaCIKIAogI34gbXNnaWQgIiAgICAgZGlycyB3aGVuIGludm9rZWQgd2l0aG91dCBvcHRpb25zLCBzdGFydGluZyB3aXRoIHplcm8uIgotI34gbXNnc3RyICIgICAgIGRpcnMga2V0aWthIGRpcGFuZ2dpbCB0YW5wYSBvcHNpLCBkaW11bGFpIGRlbmdhbiBub2wuIgorI34gbXNnc3RyICIgICAgIGRpcnMga2V0aWthIGRpcGFuZ2dpbCB0YW5wYSBwaWxpaGFuLCBkaW11bGFpIGRlbmdhbiBub2wuIgogCiAjfiBtc2dpZCAiIgogI34gIi1OICAgZGlzcGxheXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdCBzaG93biBieSIKQEAgLTU2ODEsOSArNTgxMyw5IEBACiAjfiAiICAgIHRoZSBwaHlzaWNhbCBkaXJlY3RvcnksIHdpdGhvdXQgYW55IHN5bWJvbGljIGxpbmtzOyB0aGUgLUwgb3B0aW9uXG4iCiAjfiAiICAgIG1ha2VzIHB3ZCBmb2xsb3cgc3ltYm9saWMgbGlua3MuIgogI34gbXNnc3RyICIiCi0jfiAiVGFtcGlsa2FuIGRpcmVrdG9yaSB5YW5nIHNlZGFuZyBkaWd1bmFrYW4gc2FhdCBpbmkuIERlbmdhbiBvcHNpIC1QLCBwd2QgIgotI34gIm1lbmFtcGlsa2FuXG4iCi0jfiAiICAgIGRpcmVrdG9yaSBwaHlzaWNhbCwgdGFucGEgc3ltYm9saWMgbGluayB5YW5nIGxhaW47IGRlbmdhbiBvcHNpIC1MXG4iCisjfiAiVGFtcGlsa2FuIGRpcmVrdG9yaSB5YW5nIHNlZGFuZyBkaWd1bmFrYW4gc2FhdCBpbmkuIERlbmdhbiBwaWxpaGFuIC1QLCAiCisjfiAicHdkIG1lbmFtcGlsa2FuXG4iCisjfiAiICAgIGRpcmVrdG9yaSBwaHlzaWNhbCwgdGFucGEgc3ltYm9saWMgbGluayB5YW5nIGxhaW47IGRlbmdhbiBwaWxpaGFuIC1MXG4iCiAjfiAiICAgIG1lbWJ1YXQgcHdkIG1lbmdpa3V0aSBzeW1ib2xpYyBsaW5rcy4iCiAKICN+IG1zZ2lkICJSZXR1cm4gYSBzdWNjZXNzZnVsIHJlc3VsdC4iCkBAIC01NzA0LDEyICs1ODM2LDEyIEBACiAjfiAibWVtaWxpa2kgc2VidWFoIHNoZWxsXG4iCiAjfiAiICAgIGZ1bmdzaSB5YW5nIG1lbWFuZ2dpbCBgbHMnLCBkYW4gYW5kYSBiZXJoYXJhcCB1bnR1ayBtZW1hbmdnaWwgIgogI34gInBlcmludGFoIGBscycsIGFuZGEgZGFwYXRcbiIKLSN+ICIgICAgbWVuZ2F0YWthbiBcImNvbW1hbmQgbHNcIi4gSmlrYSBvcHNpIC1wIGRpYmVyaWthbiwgc2VidWFoIG5pbGFpICIKKyN+ICIgICAgbWVuZ2F0YWthbiBcImNvbW1hbmQgbHNcIi4gSmlrYSBwaWxpaGFuIC1wIGRpYmVyaWthbiwgc2VidWFoIG5pbGFpICIKICN+ICJkZWZhdWx0IGRpZ3VuYWthblxuIgogI34gIiAgICB1bnR1ayBQQVRIIHlhbmcgbWVuamFtaW4gdW50dWsgbWVuY2FyaSBzZW11YSB1dGlsaXRpcyBzdGFuZGFyLiBKaWthXG4iCi0jfiAiICAgIG9wc2kgLVYgYXRhdSAtdiBkaWJlcmlrYW4sIHNlYnVhaCBzdHJpbmcgZGl0YW1waWxrYW4gbWVuZGVza3JpcHNpa2FuICIKLSN+ICJQRVJJTlRBSC5cbiIKLSN+ICIgICAgT3BzaSAtViBtZW5naGFzaWxrYW4gZGVza3JpcHNpIHlhbmcgbGViaWggZGV0YWlsLiIKKyN+ICIgICAgcGlsaWhhbiAtViBhdGF1IC12IGRpYmVyaWthbiwgc2VidWFoIHN0cmluZyBkaXRhbXBpbGthbiAiCisjfiAibWVuZGVza3JpcHNpa2FuIFBFUklOVEFILlxuIgorI34gIiAgICBQaWxpaGFuIC1WIG1lbmdoYXNpbGthbiBkZXNrcmlwc2kgeWFuZyBsZWJpaCBkZXRhaWwuIgogCiAjfiBtc2dpZCAiIgogI34gIkRlY2xhcmUgdmFyaWFibGVzIGFuZC9vciBnaXZlIHRoZW0gYXR0cmlidXRlcy4gIElmIG5vIE5BTUVzIGFyZVxuIgpAQCAtNTc0MSw3ICs1ODczLDcgQEAKICN+IG1zZ3N0ciAiIgogI34gIkRlY2xhcmUgdmFyaWFiZWwgZGFuL2F0YXUgbWVtYmVyaWthbiBhdHJpYnV0IGtlcGFkYSBtZXJla2EuIEppa2EgdGlkYWsgIgogI34gImFkYSBOQU1BIHlhbmdcbiIKLSN+ICIgICAgZGliZXJpa2FuLCBtYWthIG1lbmFtcGlsa2FuIG5pbGFpIGRhcmkgdmFyaWFiZWwuIE9wc2kgLXBcbiIKKyN+ICIgICAgZGliZXJpa2FuLCBtYWthIG1lbmFtcGlsa2FuIG5pbGFpIGRhcmkgdmFyaWFiZWwuIFBpbGloYW4gLXBcbiIKICN+ICIgICAgYWthbiBtZW5hbXBpbGthbiBhdHJpYnV0IGRhbiBuaWxhaSBkYXJpIHNldGlhcCBOQU1BLlxuIgogI34gIiAgICBcbiIKICN+ICIgICAgRmxhZ3MgYWRhbGFoOlxuIgpAQCAtNTc2MSw3ICs1ODkzLDcgQEAKICN+ICIgICAgIFxuIgogI34gIiAgICAgS2V0aWthIG1lbmFtcGlsa2FuIG5pbGFpIGRhcmkgdmFyaWFiZWwsIC1mIG1lbmFtcGlsa2FuIHNlYnVhaCBuYW1hICIKICN+ICJmdW5nc2lcbiIKLSN+ICIgICAgIGRhbiBkZWZpbmlzaS4gT3BzaSAtRiBtZW5la2FuIHVudHVrIG1lbmFtcGlrYW4gbmFtYVxuIgorI34gIiAgICAgZGFuIGRlZmluaXNpLiBQaWxpaGFuIC1GIG1lbmVrYW4gdW50dWsgbWVuYW1waWthbiBuYW1hXG4iCiAjfiAiICAgICBmdW5nc2kgc2FqYS5cbiIKICN+ICIgICAgIFxuIgogI34gIiAgICAgTWVuZ2d1bmFrYW4gYCsnIGRhcmlwYWRhIGAtJyBtZW1hdGlrYW4gYXRyaWJ1dCB5YW5nIGRpYmVyaWthbi4gIgpAQCAtNTc4NSw3ICs1OTE3LDcgQEAKICN+IG1zZ2lkICIiCiAjfiAiT3V0cHV0IHRoZSBBUkdzLiAgSWYgLW4gaXMgc3BlY2lmaWVkLCB0aGUgdHJhaWxpbmcgbmV3bGluZSBpcyBzdXBwcmVzc2VkLiIKICN+IG1zZ3N0ciAiIgotI34gIktlbHVhcmFuIGRhcmkgQVJHcy4gSmlrYSBvcHNpIC1uIGRpc3Blc2lmaWthc2lrYW4sIGFraGlyYW4gYmFyaXMgYmFydSAiCisjfiAiS2VsdWFyYW4gZGFyaSBBUkdzLiBKaWthIHBpbGloYW4gLW4gZGlzcGVzaWZpa2FzaWthbiwgYWtoaXJhbiBiYXJpcyBiYXJ1ICIKICN+ICJkaWhhcHVzLiIKIAogI34gbXNnaWQgIiIKQEAgLTU4MDgsMjEgKzU5NDAsMjEgQEAKICN+ICJFbmFibGUgZGFuIGRpc2FibGUgcGVyaW50YWggYnVpbHRpbiBzaGVsbC4gSW5pIG1lbWJvbGVoa2FuXG4iCiAjfiAiICAgIGFuZGEgdW50dWsgbWVuZ2d1bmFrYW4gcGVyaW50YWggZGlzayB5YW5nIG1lbWlsaWtpIG5hbWEgc2FtYSBzZXBlcnRpICIKICN+ICJzZWJ1YWggTkFNQVxuIgotI34gIiAgICBzaGVsbCBidWlsdGluIHRhbnBhIG1lbnNwZXNpZmlrYXNpa2FuIHNlYnVhaCBwYXRobmFtZSBmdWxsLiBKaWthIG9wc2kgIgotI34gIi1uIGRpZ3VuYWthbixcbiIKKyN+ICIgICAgc2hlbGwgYnVpbHRpbiB0YW5wYSBtZW5zcGVzaWZpa2FzaWthbiBzZWJ1YWggcGF0aG5hbWUgZnVsbC4gSmlrYSAiCisjfiAicGlsaWhhbiAtbiBkaWd1bmFrYW4sXG4iCiAjfiAiICAgIE5BTUEgbWVuamFkaSBkaXNhYmxlZDsgamlrYSB0aWRhayBOQU1BIG1lbmphZGkgZW5hYmxlZC4gQ29udG9oLFxuIgogI34gIiAgICBndW5ha2FuIGB0ZXN0JyBkaXRlbXVrYW4gZGFsYW0gJFBBVEggZGFyaXBhZGEgZGFsYW0gYnVpbHRpbiB2ZXJzaVxuIgogI34gIiAgICBidWlsdGluIHNoZWxsLCBrZXRpayBgZW5hYmxlIC1uIHRlc3QnLiBEaSBzeXN0ZW0gbWVuc3VwcG9ydCBkeW5hbWljXG4iCi0jfiAiICAgIGxvYWRpbmcsIG9wc2kgLWYgbXVuZ2tpbiBiaXNhIGRpZ3VuYWthbiB1bnR1ayBtZW5sb2FkIGJ1aWx0aW4gYmFydSAiCisjfiAiICAgIGxvYWRpbmcsIHBpbGloYW4gLWYgbXVuZ2tpbiBiaXNhIGRpZ3VuYWthbiB1bnR1ayBtZW5sb2FkIGJ1aWx0aW4gYmFydSAiCiAjfiAiZGFyaVxuIgotI34gIiAgICBzaGFyZWQgb2JqZWN0IE5BTUFGSUxFLiBPcHNpIC1kIGFrYW4gbWVuZ2hhcHVzIHNlYnVhaCBidWlsdGluZ1xuIgotI34gIiAgICB5YW5nIHNlYmVsdW1ueWEgZGlsb2FkIGRlbmdhbiBvcHNpIC1mLiBKaWthIHRpZGFrIGFkYSBuYW1hIG9wc2kgeWFuZyAiCi0jfiAiZGliZXJpa2FuLCBhdGF1XG4iCi0jfiAiICAgIG9wc2kgLXAgZGliZXJpa2FuLCBkYWZ0YXIgZGFyaSBidWlsdGluIGRpdGFtcGlsa2FuLlxuIgotI34gIiAgICBPcHNpIC1hIGJlcmFydGkgbWVuYW1waWxrYW4gc2V0aWFwIGJ1aWx0aW4gZGVuZ2FuIHNlYnVhaCBpbmRpa2FzaSAiCisjfiAiICAgIHNoYXJlZCBvYmplY3QgTkFNQUZJTEUuIFBpbGloYW4gLWQgYWthbiBtZW5naGFwdXMgc2VidWFoIGJ1aWx0aW5nXG4iCisjfiAiICAgIHlhbmcgc2ViZWx1bW55YSBkaWxvYWQgZGVuZ2FuIHBpbGloYW4gLWYuIEppa2EgdGlkYWsgYWRhIG5hbWEgcGlsaWhhbiAiCisjfiAieWFuZyBkaWJlcmlrYW4sIGF0YXVcbiIKKyN+ICIgICAgcGlsaWhhbiAtcCBkaWJlcmlrYW4sIGRhZnRhciBkYXJpIGJ1aWx0aW4gZGl0YW1waWxrYW4uXG4iCisjfiAiICAgIFBpbGloYW4gLWEgYmVyYXJ0aSBtZW5hbXBpbGthbiBzZXRpYXAgYnVpbHRpbiBkZW5nYW4gc2VidWFoIGluZGlrYXNpICIKICN+ICJhcGFrYWhcbiIKLSN+ICIgICAgYXRhdSB0aWRhayBpbmkgZW5hYmxlZC4gT3BzaSAtcyBtZW1iYXRhc2kga2VsdWFyYW4ga2UgUE9TSVguMlxuIgotI34gIiAgICBgc3BlY2lhbCcgYnVpbHRpbnMuIE9wc2kgLW4gbWVuYW1waWxrYW4gZGFmdGFyIGRhcmkgc2VtdWEgeWFuZyAiCisjfiAiICAgIGF0YXUgdGlkYWsgaW5pIGVuYWJsZWQuIFBpbGloYW4gLXMgbWVtYmF0YXNpIGtlbHVhcmFuIGtlIFBPU0lYLjJcbiIKKyN+ICIgICAgYHNwZWNpYWwnIGJ1aWx0aW5zLiBQaWxpaGFuIC1uIG1lbmFtcGlsa2FuIGRhZnRhciBkYXJpIHNlbXVhIHlhbmcgIgogI34gImJ1aWx0aW5zIHlhbmcgZGlzYWJsZWQuIgogCiAjfiBtc2dpZCAiIgpAQCAtNTg0NiwxMSArNTk3OCwxMiBAQAogI34gIiAgICBzaGVsbCBpbmkuIEppa2EgYXJndW1lbiBwZXJ0YW1hIGFkYWxhaCBgLWwnLCBtYWthIHRlbXBhdGthbiBzZWJ1YWggIgogI34gImRhc2ggZGFsYW1cbiIKICN+ICIgICAgYXJndW1lbnQga2Ugbm9sIHlhbmcgZGlsZXdhdGthbiBrZSBGSUxFLCBzZXBlcnRpIHlhbmcgZGlsYWt1a2FuIG9sZWggIgotI34gImxvZ2luLiBKaWthIG9wc2kgYC1jJ1xuIgotI34gIiAgICBkaWJlcmlrYW4sIEZJTEUgZGlqYWxhbmthbiBkZW5nYW4gZW52aXJvbm1lbiBrb3NvbmcuIEppa2Egb3BzaSBgLWEnXG4iCisjfiAibG9naW4uIEppa2EgcGlsaWhhbiBgLWMnXG4iCisjfiAiICAgIGRpYmVyaWthbiwgRklMRSBkaWphbGFua2FuIGRlbmdhbiBlbnZpcm9ubWVuIGtvc29uZy4gSmlrYSBwaWxpaGFuIGAtIgorI34gImEnXG4iCiAjfiAiICAgIGJlcmFydGkgbWVuc2V0IGFyZ3ZbMF0gZGFyaSBwcm9zZXMgeWFuZyBkaWphbGFua2FuIGtlIE5BTUEuXG4iCiAjfiAiICAgIEppa2EgYmVya2FzIHRpZGFrIGRhcGF0IGRpamFsYW5rYW4gZGFuIHNoZWxsIGJ1a2FuIGludGVyYWt0aWYsXG4iCi0jfiAiICAgIG1ha2Egc2hlbGwga2VsdWFyLCB1bmxlc3Mgb3BzaSBzaGVsbCBgZXhlY2ZhaWwnIGRpc2V0LiIKKyN+ICIgICAgbWFrYSBzaGVsbCBrZWx1YXIsIHVubGVzcyBwaWxpaGFuIHNoZWxsIGBleGVjZmFpbCcgZGlzZXQuIgogCiAjfiBtc2dpZCAiTG9nb3V0IG9mIGEgbG9naW4gc2hlbGwuIgogI34gbXNnc3RyICJMb2dvdXQgZGFyaSBzZWJ1YWggbG9naW4gc2hlbGwuIgpAQCAtNTg3MywxNSArNjAwNiwxNyBAQAogI34gImRpc3BsYXllZC4iCiAjfiBtc2dzdHIgIiIKICN+ICJVbnR1ayBzZXRpYXAgTkFNQSwgZnVsbCBwYXRobmFtZSBkYXJpIHBlcmludGFoIGRpdGVudHVrYW4gZGFuXG4iCi0jfiAiICAgIGRpaW5nYXQuIEppa2Egb3BzaSAtcCBkaWJlcmlrYW4sIFBBVEhOQU1FIGRpZ3VuYWthbiBzZWJhZ2FpXG4iCisjfiAiICAgIGRpaW5nYXQuIEppa2EgcGlsaWhhbiAtcCBkaWJlcmlrYW4sIFBBVEhOQU1FIGRpZ3VuYWthbiBzZWJhZ2FpXG4iCiAjfiAiICAgIGZ1bGwgcGF0aG5hbWUgZGFyaSBOQU1FLCBkYW4gdGlkYWsgYWRhIGphbHVyIHBlbmNhcmlhbiB5YW5nICIKLSN+ICJkaWxha3VrYW4uIE9wc2kgLXJcbiIKLSN+ICIgICAgbWVueWViYWJrYW4gc2hlbGwgdW50dWsgbWVsdXBha2FuIHNlbXVhIGxva2FzaSB5YW5nIGRpaW5nYXQuIE9wc2kgLWRcbiIKKyN+ICJkaWxha3VrYW4uIFBpbGloYW4gLXJcbiIKKyN+ICIgICAgbWVueWViYWJrYW4gc2hlbGwgdW50dWsgbWVsdXBha2FuIHNlbXVhIGxva2FzaSB5YW5nIGRpaW5nYXQuIFBpbGloYW4gLSIKKyN+ICJkXG4iCiAjfiAiICAgIG1lbnllYmFia2FuIHNoZWxsIHVudHVrIG1lbHVwYWthbiBsb2thc2kgZGFyaSBzZXRpYXAgTkFNQS5cbiIKLSN+ICIgICAgSmlrYSBvcHNpIC10IGRpYmVyaWthbiBmdWwgcGF0aG5hbWUga2Ugc2V0aWFwIE5BTUFcbiIKKyN+ICIgICAgSmlrYSBwaWxpaGFuIC10IGRpYmVyaWthbiBmdWwgcGF0aG5hbWUga2Ugc2V0aWFwIE5BTUFcbiIKICN+ICIgICAgeWFuZyBiZXJzZXN1YWlhbiBkaXRhbXBpbGthbi4gSmlrYSBiZWJlcmFwYSBhcmd1bWVuIE5BTUEgZGliZXJpa2FuICIKICN+ICJkZW5nYW5cbiIKLSN+ICIgICAgb3BzaSAtdCwgTkFNRSBkaXRhbXBpbGthbiBzZWJlbHVtIGhhc2hlZCBmdWxsIHBhdGhuYW1lLiBPcHNpIC1sXG4iCisjfiAiICAgIHBpbGloYW4gLXQsIE5BTUUgZGl0YW1waWxrYW4gc2ViZWx1bSBoYXNoZWQgZnVsbCBwYXRobmFtZS4gUGlsaWhhbiAtIgorI34gImxcbiIKICN+ICIgICAgbWVueWViYWJrYW4ga2VsdWFyYW4gdW50dWsgZGl0YW1waWxrYW4gZGFsYW0gZm9ybWF0IHlhbmcgYmlhc2EgIgogI34gImRpZ3VuYWthbiBzZWJhZ2FpIG1hc3VrYW4uXG4iCiAjfiAiICAgIEppa2EgdGlkYWsgYWRhIGFyZ3VtZW4geWFuZyBkaWJlcmlrYW4sIGluZm9ybWFzaSBtZW5nZW5haSBwZXJpbnRhaCAiCkBAIC01ODk4LDcgKzYwMzMsNyBAQAogI34gIlBBVFRFUk5cbiIKICN+ICIgICAgZGlzcGVzaWZpa2FzaWthbiwgbWVtYmVyaWthbiBiYW50dWFuIGRldGFpbCBtZW5nZW5haWwgc2VsdXJ1aCAiCiAjfiAicGVyaW50YWggeWFuZyBjb2NvayBkZW5nYW4gUEFUVEVSTixcbiIKLSN+ICIgICAgamlrYSB0aWRhayBzZWJ1YWggZGFmdGFyIGRhcmkgYnVpbHRpbmdzIGFrYW4gZGl0YW1waWxrYW4uIE9wc2kgLXNcbiIKKyN+ICIgICAgamlrYSB0aWRhayBzZWJ1YWggZGFmdGFyIGRhcmkgYnVpbHRpbmdzIGFrYW4gZGl0YW1waWxrYW4uIFBpbGloYW4gLXNcbiIKICN+ICIgICAgbWVtYmF0YXNpIGtlbHVhcmFuIGRhcmkgc2V0aWFwIHBlcmludGFoIGJ1aWx0aW4geWFuZyBjb2NvayBkZW5nYW4gIgogI34gIlBBVFRFUk4ga2VcbiIKICN+ICIgICAgcmluZ2thc2FuIHBlbmdndW5hYW4gc2luZ2thdC4iCkBAIC01OTE0LDE0ICs2MDQ5LDE0IEBACiAjfiAiam9icy4iCiAjfiBtc2dzdHIgIiIKICN+ICJTZWNhcmEgZGVmYXVsdCwgbWVuZ2hhcHVzIHNldGlhcCBKT0JTUEVDIGFyZ3VtZW4gZGFyaSB0YWJlbCBhY3RpZiBqb2JzLlxuIgotI34gIiAgICBKaWthIG9wc2kgLW4gZGliZXJpa2FuLCBwZWtlcmphYW4gdGlkYWsgZGloYXB1cyBkYXJpIHRhYmVsLCB0ZXRhcCAiCisjfiAiICAgIEppa2EgcGlsaWhhbiAtbiBkaWJlcmlrYW4sIHBla2VyamFhbiB0aWRhayBkaWhhcHVzIGRhcmkgdGFiZWwsIHRldGFwICIKICN+ICJkaXRhbmRhaVxuIgogI34gIiAgICBzZWhpbmdnYSBrZXRpa2EgU0lHSFVQIHRpZGFrIHRlcmtpcmltIGtlIGpvYiBrZXRpa2Egc2hlbGwgbWVuZXJpbWEgIgogI34gInNlYnVhaFxuIgotI34gIiAgICBTSUdIVVAuIE9wc2kgLWEsIGtldGlrYSBKT0JTUEVDIHRpZGFrIGRpYmVyaWthbiwgYmVyYXJ0aSBtZW5naGFwdXMgIgorI34gIiAgICBTSUdIVVAuIFBpbGloYW4gLWEsIGtldGlrYSBKT0JTUEVDIHRpZGFrIGRpYmVyaWthbiwgYmVyYXJ0aSBtZW5naGFwdXMgIgogI34gInNlbHVydWhcbiIKLSN+ICIgICAgcGVrZXJqYWFuIGRhcmkgam9iIHRhYmVsOyBPcHNpIC1yIGJlcmFydGkgaGFueWEgbWVuZ2hhcHVzIHBla2VyamFhbiAiCi0jfiAieWFuZyBiZXJqYWxhbi4iCisjfiAiICAgIHBla2VyamFhbiBkYXJpIGpvYiB0YWJlbDsgUGlsaWhhbiAtciBiZXJhcnRpIGhhbnlhIG1lbmdoYXB1cyAiCisjfiAicGVrZXJqYWFuIHlhbmcgYmVyamFsYW4uIgogCiAjfiBtc2dpZCAiIgogI34gIkNhdXNlcyBhIGZ1bmN0aW9uIHRvIGV4aXQgd2l0aCB0aGUgcmV0dXJuIHZhbHVlIHNwZWNpZmllZCBieSBOLiAgSWYgTlxuIgpAQCAtNTkzOSw5ICs2MDc0LDkgQEAKICN+ICIgICAgZnVuY3Rpb24uICBTb21lIHZhcmlhYmxlcyBjYW5ub3QgYmUgdW5zZXQ7IGFsc28gc2VlIHJlYWRvbmx5LiIKICN+IG1zZ3N0ciAiIgogI34gIlVudHVrIHNldGlhcCBOQU1BLCBoYXB1cyB2YXJpYWJlbCBhdGF1IGZ1bmdzaSB5YW5nIGJlcmh1YnVuZ2FuLiBEZW5nYW5cbiIKLSN+ICIgICAgb3BzaSBgLXYnLCB1bnNldCBoYW55YSBiZXJsYWt1IGRpIHZhcmlhYmVsLiBEZW5nYW4gb3BzaSBgLWYnLFxuIgotI34gIiAgICB1bnNldCBoYW55YSBiZXJsYWt1IHVudHVrIGZ1bmdzaS4gRGVuZ2FuIHRpZGFrIG1lbmdndW5ha2FuIGR1YSBvcHNpICIKLSN+ICJpdHUsXG4iCisjfiAiICAgIHBpbGloYW4gYC12JywgdW5zZXQgaGFueWEgYmVybGFrdSBkaSB2YXJpYWJlbC4gRGVuZ2FuIHBpbGloYW4gYC1mJyxcbiIKKyN+ICIgICAgdW5zZXQgaGFueWEgYmVybGFrdSB1bnR1ayBmdW5nc2kuIERlbmdhbiB0aWRhayBtZW5nZ3VuYWthbiBkdWEgIgorI34gInBpbGloYW4gaXR1LFxuIgogI34gIiAgICBwZXJ0YW1hIGFrYW4gbWVuY29iYSBtZW5ndW5zZXQgdmFyaWFiZWwsIGRhbiBqaWthIGl0dSBnYWdhbCBtYWthICIKICN+ICJha2FuXG4iCiAjfiAiICAgIG1lbmNvYmEgdW50dWsgbWVuZ3Vuc2V0IHNlYnVhaCBmdW5nc2kuIEJlYmVyYXBhIHZhcmlhYmVsIHRpZGFrIGRhcGF0ICIKQEAgLTU5NTcsMTUgKzYwOTIsMTYgQEAKICN+ICIgICAgcHJvY2Vzc2luZy4iCiAjfiBtc2dzdHIgIiIKICN+ICJOQU1BIGRpdGFuZGFpIHVudHVrIG90b21hdGlzIGV4cG9ydCBrZSBlbnZpcm9ubWVudCBkYXJpXG4iCi0jfiAiICAgIHBlcmludGFoIHlhbmcgYWthbiBkaWphbGFua2FuIHNlbGFuanV0bnlhLiBKaWthIG9wc2kgLWYgZGliZXJpa2FuLFxuIgorI34gIiAgICBwZXJpbnRhaCB5YW5nIGFrYW4gZGlqYWxhbmthbiBzZWxhbmp1dG55YS4gSmlrYSBwaWxpaGFuIC1mICIKKyN+ICJkaWJlcmlrYW4sXG4iCiAjfiAiICAgIE5BTUEgYWthbiBtZW51bmp1ayBrZSBmdW5nc2kuIEppa2EgdGlkYWsgYWRhIE5BTUEgZGliZXJpa2FuLCBhdGF1ICIKLSN+ICJqaWthIG9wc2kgYC1wJ1xuIgorI34gImppa2EgcGlsaWhhbiBgLXAnXG4iCiAjfiAiICAgIGRpYmVyaWthbiwgZGFmdGFyIGRhcmkgc2VsdXJ1aCBuYW1hIHlhbmcgZGlleHBvcnQgZGFsYW0gc2hlbGwgaW5pXG4iCi0jfiAiICAgIGRpdGFtcGlsa2FuLiBTZWJ1YWggYXJndW1lbiBkYXJpIG9wc2kgYC1uJyBtZW5nYXRha2FuIHVudHVrIG1lbmdoYXB1cyAiCi0jfiAiZXhwb3IgcHJvcGVydGlcbiIKKyN+ICIgICAgZGl0YW1waWxrYW4uIFNlYnVhaCBhcmd1bWVuIGRhcmkgcGlsaWhhbiBgLW4nIG1lbmdhdGFrYW4gdW50dWsgIgorI34gIm1lbmdoYXB1cyBleHBvciBwcm9wZXJ0aVxuIgogI34gIiAgICBkYXJpIE5BTUEgc2VsYW5qdXRueWEuIFNlYnVhaCBhcmd1bWVuIGRhcmkgYC0tJyBtZW5vbmFrdGlma2FuICIKICN+ICJwZW1yb3Nlc2FuXG4iCi0jfiAiICAgIG9wc2kgc2VsYW5qdXRueWEuIgorI34gIiAgICBwaWxpaGFuIHNlbGFuanV0bnlhLiIKIAogI34gbXNnaWQgIiIKICN+ICJUaGUgZ2l2ZW4gTkFNRXMgYXJlIG1hcmtlZCByZWFkb25seSBhbmQgdGhlIHZhbHVlcyBvZiB0aGVzZSBOQU1FcyBtYXlcbiIKQEAgLTU5NzksMTQgKzYxMTUsMTQgQEAKICN+IG1zZ3N0ciAiIgogI34gIk5BTUEgeWFuZyBkaWJlcmlrYW4gZGl0YW5kYWkgc2VjYXJhIGJhY2Etc2FqYSBkYW4gbmlsYWkgZGFyaSBOQU1BIGluaSAiCiAjfiAidGlkYWtcbiIKLSN+ICIgICAgYm9sZWggZGl1YmFoIG9sZWggYXNzaWdubWVuIHNlbGFuanV0bnlhLiBKaWthIG9wc2kgLWYgZGliZXJpa2FuLFxuIgorI34gIiAgICBib2xlaCBkaXViYWggb2xlaCBhc3NpZ25tZW4gc2VsYW5qdXRueWEuIEppa2EgcGlsaWhhbiAtZiBkaWJlcmlrYW4sXG4iCiAjfiAiICAgIG1ha2EgZnVuZ3NpIHlhbmcgYmVyaHVidW5nYW4gZGVuZ2FuIE5BTUEgYWthbiBkaXRhbmRhaS4gSmlrYSB0aWRha1xuIgotI34gIiAgICBhZGEgYXJndW1lbiB5YW5nIGRpYmVyaWthbiwgYXRhdSBqaWthIG9wc2kgYC1wJyBkaWJlcmlrYW4sIHNlYnVhaCAiCisjfiAiICAgIGFkYSBhcmd1bWVuIHlhbmcgZGliZXJpa2FuLCBhdGF1IGppa2EgcGlsaWhhbiBgLXAnIGRpYmVyaWthbiwgc2VidWFoICIKICN+ICJkYWZ0YXIgZGFyaSBzZWx1cnVoIG5hbWEgYmFjYS1zYWphXG4iCi0jfiAiICAgIGRpdGFtcGlsa2FuLiBPcHNpIGAtYScgYmVyYXJ0aSBtZW1wZXJsYWt1a2FuIHNldGlhcCBOQU1BIHNlYmFnYWlcbiIKKyN+ICIgICAgZGl0YW1waWxrYW4uIFBpbGloYW4gYC1hJyBiZXJhcnRpIG1lbXBlcmxha3VrYW4gc2V0aWFwIE5BTUEgc2ViYWdhaVxuIgogI34gIiAgICBzZWJ1YWggdmFyaWFiZWwgYXJyYXkuIFNlYnVhaCBhcmd1bWVuIGRhcmkgYC0tJyBtZW5vbmFrdGlma2FuICIKICN+ICJwZW1yb3Nlc2FuXG4iCi0jfiAiICAgIG9wc2kgc2VsYW5qdXRueWEuIgorI34gIiAgICBwaWxpaGFuIHNlbGFuanV0bnlhLiIKIAogI34gbXNnaWQgIiIKICN+ICJUaGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIGZyb20gJE4rMSAuLi4gYXJlIHJlbmFtZWQgdG8gJDEgLi4uICBJZiBOIGlzXG4iCkBAIC02MDAyLDcgKzYxMzgsNyBAQAogI34gbXNnc3RyICIiCiAjfiAiU3VzcGVuZCBla3Nla3VzaSBkYXJpIHNoZWxsIGluaSBzYW1wYWkgaW5pIG1lbmVyaW1hIHNlYnVhaCBzaW55YWwgIgogI34gIlNJR0NPTlRcbiIKLSN+ICIgICBKaWthIG9wc2kgYC1mJyBkaXNwZXNpZmlrYXNpa2FuIG1ha2EgdGlkYWsga29tcGxhaW4gdGVudGFuZyBpbmkgIgorI34gIiAgIEppa2EgcGlsaWhhbiBgLWYnIGRpc3Blc2lmaWthc2lrYW4gbWFrYSB0aWRhayBrb21wbGFpbiB0ZW50YW5nIGluaSAiCiAjfiAibWVuamFkaVxuIgogI34gIiAgIHNlYnVhaCBsb2dpbiBzaGVsbCBqaWthIGVtYW5nIGJlZ2l0dS4gSGFueWEgbGFrdWthbiBzdXNwZW5kIHNhamEuIgogCkBAIC02MDQ3LDcgKzYxODMsNyBAQAogI34gImppa2EgZGlndW5ha2FuIHNlYmFnYWkgc2VidWFoXG4iCiAjfiAiICAgIG5hbWEgcGVyaW50YWguXG4iCiAjfiAiICAgIFxuIgotI34gIiAgICBKaWthIHNlYnVhaCBvcHNpIC10IGRpZ3VuYWthbiwgYHR5cGUnIG1lbmdlbHVhcmthbiBzZWJ1YWgga2F0YSAiCisjfiAiICAgIEppa2Egc2VidWFoIHBpbGloYW4gLXQgZGlndW5ha2FuLCBgdHlwZScgbWVuZ2VsdWFya2FuIHNlYnVhaCBrYXRhICIKICN+ICJ0dW5nZ2FsIHlhbmcgc2FsYWggc2F0dSBkYXJpXG4iCiAjfiAiICAgIGBhbGlhcycsIGBrZXl3b3JkJywgYGZ1bmN0aW9uJywgYGJ1aWx0aW4nLCBgZmlsZScsIGF0YXUgYCcsIGppa2EgTkFNQSAiCiAjfiAiYWRhbGFoIHNlYnVhaFxuIgpAQCAtNjA4MSwxMSArNjIxNywxMSBAQAogI34gbXNnc3RyICIiCiAjfiAiRmlsZS1jcmVhdGlvbiBtYXNrIHBlbmdndW5hIGRpc2V0IGtlIE1PREUuIEppa2EgTU9ERSBkaWFiYWlrYW4sIGF0YXUgIgogI34gImppa2FcbiIKLSN+ICIgICAgYC1TJyBkaWJlcmlrYW4sIG5pbGFpIHNla2FyYW4gZGFyaSBtYXNrIGRpdGFtcGlsa2FuLiBPcHNpIGAtUydcbiIKKyN+ICIgICAgYC1TJyBkaWJlcmlrYW4sIG5pbGFpIHNla2FyYW4gZGFyaSBtYXNrIGRpdGFtcGlsa2FuLiBQaWxpaGFuIGAtUydcbiIKICN+ICIgICAgbWVtYnVhaCBrZWx1YXJhbiBzeW1ib2xpYzsgamlrYSB0aWRhayBzZWJ1YWggYmlsYW5nYW4gb2N0YWwgIgogI34gImRpa2VsdWFya2FuLlxuIgotI34gIiAgICBKaWthIG9wc2kgYC1wJyBkaWJlcmlrYW4sIGRhbiBNT0RFIGRpYWJhaWthbiwga2VsdWFyYW4gYWRhbGFoIGRhbGFtICIKLSN+ICJmb3JtYXRcbiIKKyN+ICIgICAgSmlrYSBwaWxpaGFuIGAtcCcgZGliZXJpa2FuLCBkYW4gTU9ERSBkaWFiYWlrYW4sIGtlbHVhcmFuIGFkYWxhaCAiCisjfiAiZGFsYW0gZm9ybWF0XG4iCiAjfiAiICAgIHlhbmcgYmlzYSBkaWd1bmFrYW4gc2ViYWdhaSBtYXN1a2FuLiBKaWthIE1PREUgZGltdWxhaSBkZW5nYW4gc2VidWFoICIKICN+ICJkaWdpdCwgaW5pXG4iCiAjfiAiICAgIGRpaW50ZXJwcmV0YXNpa2FuIHNlYmFnYWkgc2VidWFoIGJpbGFuZ2FuIG9jdGFsLCBqaWthIHRpZGFrIGluaSAiCkBAIC02MTI3LDE0ICs2MjYzLDE1IEBACiAjfiAiICAgIG5vdCBlYWNoIGlzIHNldC4iCiAjfiBtc2dzdHIgIiIKICN+ICJVYmFoIG5pbGFpIGRhcmkgdmFyaWFiZWwgeWFuZyBtZW5nb250cm9sIHBlcmlsYWt1IG9wc2lvbmFsLlxuIgotI34gIiAgICBPcHNpIC1zIGJlcmFydGkgdW50dWsgbWVuZ2FrdGlma2FuIChzZXQpIHNldGlhcCBPUFROQU1FOyBvcHNpIC11XG4iCisjfiAiICAgIFBpbGloYW4gLXMgYmVyYXJ0aSB1bnR1ayBtZW5nYWt0aWZrYW4gKHNldCkgc2V0aWFwIE9QVE5BTUU7IHBpbGloYW4gLSIKKyN+ICJ1XG4iCiAjfiAiICAgIG1lbmd1bnNldCBzZXRpYXAgT1BUTkFNRS4gdGFuZGEgLXEgbWVuZWthbiBrZWx1YXJhbjsgc3RhdHVzIGtlbHVhcmFuXG4iCi0jfiAiICAgIG1lbmdpbmRpa2FzaWthbiBhcGFrYWggc2V0aWFwIE9QVE5BTUUgZGlzZXQgYXRhdSBkaXVuc2V0LiBPcHNpIC1vXG4iCisjfiAiICAgIG1lbmdpbmRpa2FzaWthbiBhcGFrYWggc2V0aWFwIE9QVE5BTUUgZGlzZXQgYXRhdSBkaXVuc2V0LiBQaWxpaGFuIC1vXG4iCiAjfiAiICAgIG1lbWJhdGFzaSBPUFROQU1FIGtlIG5pbGFpIHlhbmcgZGlkZWZpbmlzaWthbiB1bnR1ayBkaWd1bmFrYW4gZGVuZ2FuXG4iCi0jfiAiICAgIGBzZXQgLW8nLiBUYW5wYSBvcHNpLCBhdGF1IGRlbmdhbiBvcHNpIC1wLCBzZWJ1YWggZGFmdGFyIGRhcmkgIgorI34gIiAgICBgc2V0IC1vJy4gVGFucGEgcGlsaWhhbiwgYXRhdSBkZW5nYW4gcGlsaWhhbiAtcCwgc2VidWFoIGRhZnRhciBkYXJpICIKICN+ICJzZWx1cnVoXG4iCi0jfiAiICAgIG9wc2kgeWFuZyBiaXNhIGRpc2V0IGRpdGFtcGlsa2FuLCB0YW5wYSBzZWJ1YWggaW5kaWthc2kgYXBha2FoIHNhbGFoICIKLSN+ICJzYXR1IGF0YXVcbiIKKyN+ICIgICAgcGlsaWhhbiB5YW5nIGJpc2EgZGlzZXQgZGl0YW1waWxrYW4sIHRhbnBhIHNlYnVhaCBpbmRpa2FzaSBhcGFrYWggIgorI34gInNhbGFoIHNhdHUgYXRhdVxuIgogI34gIiAgICBidWthbiBzZXRpYXAgZGFyaSB2YXJpYWJlbCBkaXNldC4iCiAKICN+IG1zZ2lkICIiCkBAIC02MTQ5LDExICs2Mjg2LDExIEBACiAjfiAic3BlY2lmaWNhdGlvbnMuIgogI34gbXNnc3RyICIiCiAjfiAiVW50dWsgc2V0aWFwIE5BTUEsIHNwZXNpZmlrYXNpa2FuIGJhZ2FpbWFuYSBhcmd1bWVuIGFrYW4gZGlzZWxlc2Fpa2FuLlxuIgotI34gIiAgICBKaWthIG9wc2kgLXAgZGliZXJpa2FuLCBhdGF1IHRpZGFrIGFkYSBvcHNpIHlhbmcgZGliZXJpa2FuLCAiCisjfiAiICAgIEppa2EgcGlsaWhhbiAtcCBkaWJlcmlrYW4sIGF0YXUgdGlkYWsgYWRhIHBpbGloYW4geWFuZyBkaWJlcmlrYW4sICIKICN+ICJjb21wbGV0aW9uXG4iCiAjfiAiICAgIHNwZXNpZmlrYXNpIHlhbmcgdGVsYWggYWRhIGRpdGFtcGlsa2FuIGRhbGFtIHNlYnVhaCBjYXJhIHlhbmcgIgogI34gIm1lbWJvbGVoa2FuIG1lcmVrYSB1bnR1a1xuIgotI34gIiAgICBkaWd1bmFrYW4gc2ViYWdhaSBtYXN1a2FuLiBPcHNpIC1yIG1lbmdoYXB1cyBzZWJ1YWggc3Blc2lmaWthc2kgIgorI34gIiAgICBkaWd1bmFrYW4gc2ViYWdhaSBtYXN1a2FuLiBQaWxpaGFuIC1yIG1lbmdoYXB1cyBzZWJ1YWggc3Blc2lmaWthc2kgIgogI34gImNvbXBsZXRpb24gdW50dWtcbiIKICN+ICIgICAgc2V0aWFwIE5BTUEsIGF0YXUgamlrYSB0aWRhayBhZGEgTkFNQSB5YW5nIGRpYmVyaWthbiwgdW50dWsgc2VtdWEgIgogI34gInNwZXNpZmlrYXNpIGNvbXBsZXRpb24uIgpkaWZmIC0tZ2l0IGEvcG8vamEuZ21vIGIvcG8vamEuZ21vCmluZGV4IDZiMjlmZWIuLjdkZWY0ZDcgMTAwNjQ0Ci0tLSBhL3BvL2phLmdtbworKysgYi9wby9qYS5nbW8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG8vamEucG8gYi9wby9qYS5wbwppbmRleCAxNTU0M2MwLi4xOGRlYzIzIDEwMDY0NAotLS0gYS9wby9qYS5wbworKysgYi9wby9qYS5wbwpAQCAtNiw3ICs2LDcgQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogR05VIGJhc2ggMi4wXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTAyLTE5IDE0OjUzLTA1MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogMjAwMC0wMy0yMSAxOTozMCswOTAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBLeW9pY2hpIE96YWtpIDxrQGFmcm9tYW5pYS5vcmc+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogSmFwYW5lc2UgPGphQGxpLm9yZz5cbiIKQEAgLTE4LDUwICsxOCw1NSBAQAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgIiIKIAotIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAorIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiIgogCi0jOiBhcnJheWZ1bmMuYzo0NzkKKyM6IGFycmF5ZnVuYy5jOjQ4MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXNzb2NpYXRpdmUgYXJyYXkga2V5IgogbXNnc3RyICIlYyVjOiCwraSkpaql16W3peel8yIKIAotIzogYXJyYXlmdW5jLmM6NDgxCisjOiBhcnJheWZ1bmMuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gdG8gbm9uLW51bWVyaWMgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYXJyYXlmdW5jLmM6NTE3CisjOiBhcnJheWZ1bmMuYzo1MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBtdXN0IHVzZSBzdWJzY3JpcHQgd2hlbiBhc3NpZ25pbmcgYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKIAotIzogYmFzaGhpc3QuYzozNzkKKyM6IGJhc2hoaXN0LmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY3JlYXRlOiAlcyIKIG1zZ3N0ciAiJXM6ICVzIKTyuu7ArqTHpK2k3qS7pPMiCiAKLSM6IGJhc2hsaW5lLmM6MzQxMworIzogYmFzaGxpbmUuYzozNDU3CiBtc2dpZCAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IGJhc2hsaW5lLmM6MzQ5MQorIzogYmFzaGxpbmUuYzozNTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IGBcIiciCiBtc2dzdHIgIiIKIAotIzogYmFzaGxpbmUuYzozNTIwCisjOiBiYXNobGluZS5jOjM1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2xvc2luZyBgJWMnIGluICVzIgogbXNnc3RyICIiCiAKLSM6IGJhc2hsaW5lLmM6MzU1NAorIzogYmFzaGxpbmUuYzozNjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGlucy9hbGlhcy5kZWY6MTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJXMnOiBpbnZhbGlkIGFsaWFzIG5hbWUiCittc2dzdHIgIiVjJWM6ILCtpKSlqqXXpbel56XzIgorCiAjOiBidWlsdGlucy9iaW5kLmRlZjoxMjAgYnVpbHRpbnMvYmluZC5kZWY6MTIzCiBtc2dpZCAibGluZSBlZGl0aW5nIG5vdCBlbmFibGVkIgogbXNnc3RyICIiCkBAIC0xMTIsNiArMTE3LDIxIEBACiAiICAgIFdpdGhvdXQgRVhQUiwgcmV0dXJucyAiCiBtc2dzdHIgIiIKIAorIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzUKK21zZ2lkICIiCisiLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCisiICAgICIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNgorbXNnaWQgIiIKKyI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKKyIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgorIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGlucy9jZC5kZWY6MjE1CiBtc2dpZCAiSE9NRSBub3Qgc2V0IgogbXNnc3RyICIiCkBAIC0xMjUsNyArMTQ1LDcgQEAKIG1zZ2lkICJsaW5lICVkOiAiCiBtc2dzdHIgIqW5pe2lw6XIICUzZDogIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjAKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEzOSBlcnJvci5jOjI2MQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogIgogbXNnc3RyICK98aStuf6k38PmIgpAQCAtMTM1LDExICsxNTUsMTEgQEAKIG1zZ2lkICIlczogdXNhZ2U6ICIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyMgorIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgIrD6v/SkrMK/pLmkrqTepLkiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5MyBzaGVsbC5jOjc3NAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgogbXNnc3RyICKlqqXXpbel56XzpMukz7D6v/SkrMmszdc6IC0iCkBAIC0xNTQsNyArMTc0LDcgQEAKIG1zZ2lkICIlczogbm90IGZvdW5kIgogbXNnc3RyICIlczogpbOl3qXzpcmkrLirpMSkq6TqpN6ku6TzIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3ODcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc5NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlYyVjOiCwraSkpaql16W3peel8yIKQEAgLTE3OSw3ICsxOTksNyBAQAogbXNnaWQgImludmFsaWQgaGV4IG51bWJlciIKIG1zZ3N0ciAisK2kpKW3pbClyqXryNa55iIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU1CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTYKICMsIGZ1enp5CiBtc2dpZCAiaW52YWxpZCBudW1iZXIiCiBtc2dzdHIgIrCtpKSlt6Wwpcql68jWueYiCkBAIC0xOTQsNyArMjE0LDcgQEAKIG1zZ2lkICJgJXMnOiBub3QgYSBwaWQgb3IgdmFsaWQgam9iIHNwZWMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjY0IGVycm9yLmM6NDUzCisjOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IHZhcmlhYmxlIgogbXNnc3RyICIlczogxsmk37n+pN+kzqTfpM7K0b/0IgpAQCAtMjY5LDI2ICsyODksMjYgQEAKIG1zZ2lkICIlczogYW1iaWd1b3VzIGpvYiBzcGVjIgogbXNnc3RyICIlczogpKKkpKTepKSkyqXqpcClpKXspa+lyCIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjI3MAorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjI3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhY3Rpb24gbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDMwIGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2MTUKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MTMKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo0NDkgYnVpbHRpbnMvY29tcGxldGUuZGVmOjY0NAorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjg1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm8gY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NjcKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTYKIG1zZ2lkICJ3YXJuaW5nOiAtRiBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY2OQorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY5OAogbXNnaWQgIndhcm5pbmc6IC1DIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Nzg2CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODI2CiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAiIgogCkBAIC0yOTYsMjEgKzMxNiwyMSBAQAogbXNnaWQgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNTMKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2MAogbXNnaWQgImNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjUgZXhlY3V0ZV9jbWQuYzo0ODE4CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzIgZXhlY3V0ZV9jbWQuYzo0OTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkb25seSBmdW5jdGlvbiIKIG1zZ3N0ciAiJXM6IMbJpN+5/qTfpM6k36TOtNi/9CIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDYxCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiQlczogpLOkzqTopKaky7vYxOqkx6StpN6ku6TzIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiIgpAQCAtMzM5LDggKzM1OSw4IEBACiBtc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgogbXNnc3RyICIlczogJXMgpPK67sCupMekraTepLuk8yIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDY3NQotIzogc2hlbGwuYzoxNDM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0CisjOiBzaGVsbC5jOjE0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczogpM+lx6Wjpeylr6XIpeqkx6S5IgpAQCAtMzU1LDcgKzM3NSw4IEBACiBtc2dpZCAiJXM6IGZpbGUgaXMgdG9vIGxhcmdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGV4ZWN1dGVfY21kLmM6NDc0NSBzaGVsbC5jOjE0NDkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAzIGV4ZWN1dGVfY21kLmM6NDg2NAorIzogc2hlbGwuYzoxNDYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIG1zZ3N0ciAiJXM6IKXQpaSlyqXqpdWloaWkpeuk8rzCudSkx6StpN6ku6TzIgpAQCAtMzg0LDE2ICs0MDUsMTYgQEAKIG1zZ2lkICJUaGVyZSBhcmUgcnVubmluZyBqb2JzLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjIKICMsIGZ1enp5CiBtc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKIG1zZ3N0ciAiJXM6IKWzpd6l86XJpKy4q6TEpKuk6qTepLuk8yIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM0MQorIzogYnVpbHRpbnMvZmMuZGVmOjM0OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzYyCisjOiBidWlsdGlucy9mYy5kZWY6MzcwCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKIG1zZ3N0ciAiJXM6ICVzIKTyuu7ArqTHpK2k3qS7pPMiCkBAIC00ODMsMTIgKzUwNCwxMiBAQAogbXNnaWQgIm5vIG90aGVyIG9wdGlvbnMgYWxsb3dlZCB3aXRoIGAteCciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MTk3CisjOiBidWlsdGlucy9raWxsLmRlZjoyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFyZ3VtZW50cyBtdXN0IGJlIHByb2Nlc3Mgb3Igam9iIElEcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyNjAKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MwogIywgZnV6enkKIG1zZ2lkICJVbmtub3duIGVycm9yIgogbXNnc3RyICLMpMPOpM6lqKXpobwgJWQiCkBAIC00OTcsNTYgKzUxOCw2MSBAQAogbXNnaWQgImV4cHJlc3Npb24gZXhwZWN0ZWQiCiBtc2dzdHIgIsm9uL2k8rT8wtSkt6TGpN6kuSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQxIGJ1aWx0aW5zL3JlYWQuZGVmOjI3MgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGFuIGluZGV4ZWQgYXJyYXkiCittc2dzdHIgIiVzOiDFuLOrpLWk7KTGpKSkyqSkytG/9CIKKworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTcgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcjogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU4IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY2IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwNAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKIG1zZ3N0ciAiJWMlYzogsK2kpKWqpdelt6XnpfMiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiBtc2dzdHIgIiVjJWM6ILCtpKSlqqXXpbel56XzIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgY2FsbGJhY2sgcXVhbnR1bSIKIG1zZ3N0ciAisK2kpKW3pbClyqXryNa55iIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzE4CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKICMsIGZ1enp5CiBtc2dpZCAiZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZSIKIG1zZ3N0ciAiJXM6IMW4s6uktaTspMakpKTKpKTK0b/0IgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM0NwogbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNjcKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU0NAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTcxCisjOiBidWlsdGlucy9wcmludGYuZGVmOjU3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAlczogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTAKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzU3CiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAiIgogCkBAIC02MzgsMTIgKzY2NCwxMiBAQAogIiAgICBUaGUgYGRpcnMnIGJ1aWx0aW4gZGlzcGxheXMgdGhlIGRpcmVjdG9yeSBzdGFjay4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcmVhZC5kZWY6MjQ4CisjOiBidWlsdGlucy9yZWFkLmRlZjoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgdGltZW91dCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU3NAorIzogYnVpbHRpbnMvcmVhZC5kZWY6NTg4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJyZWFkIGVycm9yOiAlZDogJXMiCiBtc2dzdHIgIqXRpaSl16WopemhvDogJXMiCkBAIC02ODEsMTEgKzcwNywxMSBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICJzaGlmdCBbbl0iCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNTQKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMTkKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgc2hlbGwgb3B0aW9uIG5hbWUiCiBtc2dzdHIgIiIKQEAgLTc3Nyw4MSArODAzLDgxIEBACiBtc2dpZCAiYCVjJzogaW52YWxpZCBzeW1ib2xpYyBtb2RlIGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBlcnJvci5jOjg5IGVycm9yLmM6MzIwIGVycm9yLmM6MzIyIGVycm9yLmM6MzI0CisjOiBlcnJvci5jOjkwIGVycm9yLmM6MzIxIGVycm9yLmM6MzIzIGVycm9yLmM6MzI1CiBtc2dpZCAiIGxpbmUgIgogbXNnc3RyICIiCiAKLSM6IGVycm9yLmM6MTY0CisjOiBlcnJvci5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJsYXN0IGNvbW1hbmQ6ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogZXJyb3IuYzoxNzIKKyM6IGVycm9yLmM6MTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nLi4uIgogbXNnc3RyICIiCiAKLSM6IGVycm9yLmM6NDA1CisjOiBlcnJvci5jOjQwNgogIywgZnV6enkKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQgZXJyb3IiCiBtc2dzdHIgIsykw86kzqWopemhvCAlZCIKIAotIzogZXJyb3IuYzo0MDYKKyM6IGVycm9yLmM6NDA3CiAjLCBmdXp6eQogbXNnaWQgImJhZCBjb21tYW5kIHR5cGUiCiBtc2dzdHIgInByaW50X2NvbW1hbmQ6ILCtpKSls6XepfOlyaW/paSl1yBgJWQnIgogCi0jOiBlcnJvci5jOjQwNworIzogZXJyb3IuYzo0MDgKICMsIGZ1enp5CiBtc2dpZCAiYmFkIGNvbm5lY3RvciIKIG1zZ3N0ciAisK2kpLz1xc+ktyBgJWQnIgogCi0jOiBlcnJvci5jOjQwOAorIzogZXJyb3IuYzo0MDkKICMsIGZ1enp5CiBtc2dpZCAiYmFkIGp1bXAiCiBtc2dzdHIgIrCtpKQganVtcCAlZCIKIAotIzogZXJyb3IuYzo0NDYKKyM6IGVycm9yLmM6NDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmJvdW5kIHZhcmlhYmxlIgogbXNnc3RyICIlczogxbizq6S1pOykxqSkpMqkpMrRv/QiCiAKICM6IGV2YWwuYzoxODEKICMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnaWQgIgd0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCiBtc2dzdHIgIiVjpM/G/s7PwtSkwaSrpOmlv6WkpeCloqWmpcikt6TepLekvzogvKvGsKXtpbCloqWmpchcbiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTEKKyM6IGV4ZWN1dGVfY21kLmM6NDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzoxMTEyCisjOiBleGVjdXRlX2NtZC5jOjExNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVElNRUZPUk1BVDogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MjAxMQorIzogZXhlY3V0ZV9jbWQuYzoyMDc1CiAjLCBmdXp6eQogbXNnaWQgInBpcGUgZXJyb3IiCiBtc2dzdHIgIqXRpaSl16WopemhvDogJXMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDM2MworIzogZXhlY3V0ZV9jbWQuYzo0NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSBgLycgaW4gY29tbWFuZCBuYW1lcyIKIG1zZ3N0ciAiJXM6IMCpuMI6ICBgLycgpPKls6XepfOlycy+pMu1rb3SpMekraTepLuk8yIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDU0CisjOiBleGVjdXRlX2NtZC5jOjQ1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIlczogpbOl3qXzpcmkrLirpMSkq6TqpN6ku6TzIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ3MDgKKyM6IGV4ZWN1dGVfY21kLmM6NDgyNwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCiBtc2dzdHIgIiVzOiCkz6XHpaOl7KWvpcil6qTHpLkiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDg1NworIzogZXhlY3V0ZV9jbWQuYzo0OTc2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIGZkICVkIHRvIGZkICVkIgogbXNnc3RyICJmZCAlZCCk8iBmZCAwIKTLyqPAvaTHpK2k3qS7pPM6ICVzIgpAQCAtODk4LDI5ICs5MjQsMjkgQEAKIG1zZ2lkICJtaXNzaW5nIGApJyIKIG1zZ3N0ciAiYCknIKSspKKk6qTepLuk8yIKIAotIzogZXhwci5jOjg5NyBleHByLmM6MTE3NQorIzogZXhwci5jOjg5NyBleHByLmM6MTE3NgogIywgZnV6enkKIG1zZ2lkICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCiBtc2dzdHIgIqW3pfOlv6XDpa+luSClqKXpobw6ILT8wtSkt6TGpMqkpKXVpaGlpKXrpM69qs67IgogCi0jOiBleHByLmM6MTE3NworIzogZXhwci5jOjExNzgKIG1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTIwMQorIzogZXhwci5jOjEyMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMlcyVzOiAlcyAoZXJyb3IgdG9rZW4gaXMgXCIlc1wiKSIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTI1OQorIzogZXhwci5jOjEyNjAKIG1zZ2lkICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTI3OQorIzogZXhwci5jOjEyODAKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgIqXZobyluaTOw82ky6TPwuekraS5pK6k3qS5IgogCi0jOiBleHByLmM6MTMyOAorIzogZXhwci5jOjEzMjkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCiBtc2dzdHIgIiVzOiC72L/0pM7Jvbi9pPK0/MLUIgpAQCAtOTMwLDcgKzk1Niw3IEBACiBtc2dpZCAiZ2V0Y3dkOiBjYW5ub3QgYWNjZXNzIHBhcmVudCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiZ2V0d2Q6IL7lsMylx6Wjpeylr6XIpeqky6Wipa+lu6W5pMekraTepLuk8yIKIAotIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ1NTkKKyM6IGlucHV0LmM6OTQgc3Vic3QuYzo0ODU3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIG1zZ3N0ciAiZmQgJWQgpPIgZmQgMCCky8qjwL2kx6StpN6ku6TzOiAlcyIKQEAgLTk4Myw3ICsxMDA5LDcgQEAKIG1zZ2lkICJEb25lIgogbXNnc3RyICK9qs67IgogCi0jOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIyCisjOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIzCiBtc2dpZCAiU3RvcHBlZCIKIG1zZ3N0ciAixOS73yIKIApAQCAtMTAyMCw3MiArMTA0Niw3NiBAQAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE3NzEKKyM6IGpvYnMuYzoxNzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyMDk5IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMDQgbm9qb2JzLmM6NTg1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0OiBwaWQgJWxkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgc2hlbGwiCiBtc2dzdHIgIsLUtaE6IHBpZCAlZCCks6TOpbelp6XrpM670qXXpe2lu6W5pMekz6SipOqk3qS7pPMiCiAKLSM6IGpvYnMuYzoyMzI2CisjOiBqb2JzLmM6MjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyNTk4CisjOiBqb2JzLmM6MjYwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyODIwCisjOiBqb2JzLmM6MjgyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogpbil56XWpM+9qs67pLek3qS3pL8iCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6MjgzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzQ5MgorIzogam9icy5jOjMwNTkKK21zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCittc2dzdHIgIiIKKworIzogam9icy5jOjM1MDgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBsaW5lICVkOiAiCiBtc2dzdHIgIqW5pe2lw6XIICUzZDogIgogCi0jOiBqb2JzLmM6MzUwNiBub2pvYnMuYzo4MTQKKyM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKGNvcmUgZHVtcGVkKSIKIG1zZ3N0ciAiICils6WipcCl86XXKSIKIAotIzogam9icy5jOjM1MTggam9icy5jOjM1MzEKKyM6IGpvYnMuYzozNTM0IGpvYnMuYzozNTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIih3ZCBub3c6ICVzKVxuIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNTYzCisjOiBqb2JzLmM6MzU3OQogIywgZnV6enkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIGZhaWxlZCIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JzOiBnZXRwZ3JwILy6x9Q6ICVzIgogCi0jOiBqb2JzLmM6MzYyMworIzogam9icy5jOjM2MzkKICMsIGZ1enp5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgogbXNnc3RyICJpbml0aWFsaXplX2pvYnM6IKXppaSl8yBkaXNjaXBsaW5lOiAlcyIKIAotIzogam9icy5jOjM2MzMKKyM6IGpvYnMuYzozNjQ5CiAjLCBmdXp6eQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiBtc2dzdHIgImluaXRpYWxpemVfam9iczogZ2V0cGdycCC8usfUOiAlcyIKIAotIzogam9icy5jOjM2NjEKKyM6IGpvYnMuYzozNjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjY2CisjOiBqb2JzLmM6MzY4MgogbXNnaWQgIm5vIGpvYiBjb250cm9sIGluIHRoaXMgc2hlbGwiCiBtc2dzdHIgIqSzpM6lt6Wnpeuky6TPpbil56XWwKm45qSspKKk6qTepLuk8yIKIApAQCAtMTE3Niw2ICsxMjA2LDI2IEBACiBtc2dpZCAibmV0d29yayBvcGVyYXRpb25zIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIiIKIAorIzogbG9jYWxlLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICIiCisKICM6IG1haWxjaGVjay5jOjQzMwogbXNnaWQgIllvdSBoYXZlIG1haWwgaW4gJF8iCiBtc2dzdHIgIqXhobyl66SsICRfIKTLpKKk6qTepLkiCkBAIC0xMTg5LDEzNyArMTIzOSwxMzcgQEAKIG1zZ2lkICJUaGUgbWFpbCBpbiAlcyBoYXMgYmVlbiByZWFkXG4iCiBtc2dzdHIgIiVzIKTOpeGhvKXrpM+0+6TLxsmk3qTspMak3qS5XG4iCiAKLSM6IG1ha2VfY21kLmM6MzIyCisjOiBtYWtlX2NtZC5jOjMyMwogIywgZnV6enkKIG1zZ2lkICJzeW50YXggZXJyb3I6IGFyaXRobWV0aWMgZXhwcmVzc2lvbiByZXF1aXJlZCIKIG1zZ3N0ciAiyb24vaTLpbel86W/pcOlr6W5pail6aG8IgogCi0jOiBtYWtlX2NtZC5jOjMyNAorIzogbWFrZV9jbWQuYzozMjUKICMsIGZ1enp5CiBtc2dpZCAic3ludGF4IGVycm9yOiBgOycgdW5leHBlY3RlZCIKIG1zZ3N0ciAipbel86W/pcOlr6W5IKWopemhvDogtPzC1KS3pMakyqSkpdWloaWkpeukzr2qzrsiCiAKLSM6IG1ha2VfY21kLmM6MzI1CisjOiBtYWtlX2NtZC5jOjMyNgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yOiBgKCglcykpJyIKIG1zZ3N0ciAipbel86W/pcOlr6W5pail6aG8IgogCi0jOiBtYWtlX2NtZC5jOjU2NworIzogbWFrZV9jbWQuYzo1NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9oZXJlX2RvY3VtZW50OiBiYWQgaW5zdHJ1Y3Rpb24gdHlwZSAlZCIKIG1zZ3N0ciAibWFrZV9oZXJlX2RvY3VtZW50OiCwraSku9i8qKW/paSl1yAlZCIKIAotIzogbWFrZV9jbWQuYzo2NTEKKyM6IG1ha2VfY21kLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlcmUtZG9jdW1lbnQgYXQgbGluZSAlZCBkZWxpbWl0ZWQgYnkgZW5kLW9mLWZpbGUgKHdhbnRlZCBgJXMnKSIKIG1zZ3N0ciAiIgogCi0jOiBtYWtlX2NtZC5jOjc0NgorIzogbWFrZV9jbWQuYzo3NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueToyOTg2IHBhcnNlLnk6MzIxOAorIzogcGFyc2UueTozMTMzIHBhcnNlLnk6MzM2OQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCVjJyIKIG1zZ3N0ciAitPzC1KS3pMakyqSkpdWloaWkpeukzr2qzrsoRU9GKaSsYCVjJ6TyuKvJ1aSxpOuk3qSopMvIr8C4IgogCi0jOiBwYXJzZS55OjM3MjIKKyM6IHBhcnNlLnk6Mzk1MQogIywgZnV6enkKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBgXV0nIgogbXNnc3RyICK0/MLUpLekxqTKpKSl1aWhpaSl66TOvarOuyhFT0YppKxgJWMnpPK4q8nVpLGk66TepKiky8ivwLgiCiAKLSM6IHBhcnNlLnk6MzcyNworIzogcGFyc2UueTozOTU2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICK0/MLUpLekxqTKpKQgdG9rZW4gYCVzJyCkzqSipL+k6qTLpbel86W/pcOlr6W5pail6aG8IgogCi0jOiBwYXJzZS55OjM3MzEKKyM6IHBhcnNlLnk6Mzk2MAogIywgZnV6enkKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiyb24vaTLpbel86W/pcOlr6W5pail6aG8IgogCi0jOiBwYXJzZS55OjM4MDkKKyM6IHBhcnNlLnk6NDAzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGV4cGVjdGVkIGApJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM4MTMKKyM6IHBhcnNlLnk6NDA0MgogIywgZnV6enkKIG1zZ2lkICJleHBlY3RlZCBgKSciCiBtc2dzdHIgImApJyCk8rT8wtQiCiAKLSM6IHBhcnNlLnk6Mzg0MQorIzogcGFyc2UueTo0MDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM4NDUKKyM6IHBhcnNlLnk6NDA3NAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozODg1CisjOiBwYXJzZS55OjQxMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozODg5CisjOiBwYXJzZS55OjQxMjQKIG1zZ2lkICJjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozOTA2CisjOiBwYXJzZS55OjQxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM5MTAKKyM6IHBhcnNlLnk6NDE1MAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzkyMQorIzogcGFyc2UueTo0MTYxCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlYycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAiYDonIKTyvvK376TOyb24vaTOpL+k4bT8wtSkt6TGpN6kuSIKIAotIzogcGFyc2UueTozOTI0CisjOiBwYXJzZS55OjQxNjQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJgOicgpPK+8rfvpM7Jvbi9pM6kv6ThtPzC1KS3pMak3qS5IgogCi0jOiBwYXJzZS55OjM5MjgKKyM6IHBhcnNlLnk6NDE2OAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJgOicgpPK+8rfvpM7Jvbi9pM6kv6ThtPzC1KS3pMak3qS5IgogCi0jOiBwYXJzZS55OjUxOTUKKyM6IHBhcnNlLnk6NTQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgIrT8wtSkt6TGpMqkpCB0b2tlbiBgJXMnIKTOpKKkv6TqpMult6Xzpb+lw6WvpbmlqKXpobwiCiAKLSM6IHBhcnNlLnk6NTIxMworIzogcGFyc2UueTo1NDc3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgogbXNnc3RyICK0/MLUpLekxqTKpKQgdG9rZW4gYCVzJyCkzqSipL+k6qTLpbel86W/pcOlr6W5pail6aG8IgogCi0jOiBwYXJzZS55OjUyMjMKKyM6IHBhcnNlLnk6NTQ4NwogbXNnaWQgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAipbel86W/pcOlr6W5IKWopemhvDogtPzC1KS3pMakyqSkpdWloaWkpeukzr2qzrsiCiAKLSM6IHBhcnNlLnk6NTIyMworIzogcGFyc2UueTo1NDg3CiBtc2dpZCAic3ludGF4IGVycm9yIgogbXNnc3RyICKlt6Xzpb+lw6WvpbmlqKXpobwiCiAKLSM6IHBhcnNlLnk6NTI4NQorIzogcGFyc2UueTo1NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICKlt6Wnpeukq6Tpw6a90KS5pOukzqTLIFwiJXNcIiCk8rvIpKSkyqS1pKQuXG4iCiAKLSM6IHBhcnNlLnk6NTQ0NworIzogcGFyc2UueTo1NzExCiAjLCBmdXp6eQogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGApJyIKIG1zZ3N0ciAitPzC1KS3pMakyqSkpdWloaWkpeukzr2qzrsoRU9GKaSsYCVjJ6TyuKvJ1aSxpOuk3qSopMvIr8C4IgogCi0jOiBwY29tcGxldGUuYzoxMDE4CisjOiBwY29tcGxldGUuYzoxMDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRpb246IGZ1bmN0aW9uIGAlcycgbm90IGZvdW5kIgogbXNnc3RyICIiCkBAIC0xMzI5LDcyICsxMzc5LDkxIEBACiBtc2dpZCAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzoyODUKKyM6IHByaW50X2NtZC5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmludF9jb21tYW5kOiBiYWQgY29ubmVjdG9yIGAlZCciCiBtc2dzdHIgInByaW50X2NvbW1hbmQ6ILCtpKTA3MKzIGAlZCciCiAKLSM6IHByaW50X2NtZC5jOjEzNDgKKyM6IHByaW50X2NtZC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiIKKworIzogcHJpbnRfY21kLmM6MzY4Cittc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCittc2dzdHIgIiIKKworIzogcHJpbnRfY21kLmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzoxNDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjEwNQorIzogcmVkaXIuYzoxMTAKIG1zZ2lkICJmaWxlIGRlc2NyaXB0b3Igb3V0IG9mIHJhbmdlIgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6MTQ4CisjOiByZWRpci5jOjE2NgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIG1zZ3N0ciAiJXM6IKSipKSk3qSkpMql6qXApaSl7KWvpcgiCiAKLSM6IHJlZGlyLmM6MTUyCisjOiByZWRpci5jOjE3MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIG1zZ3N0ciAiJXM6IMK4ut+kuaTrpdWloaWkpeuk8r7lvfGkraTHpK2k3qS7pPMiCiAKLSM6IHJlZGlyLmM6MTU3CisjOiByZWRpci5jOjE3NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiVzOiDAqbjCOiAgYC8nIKTypbOl3qXzpcnMvqTLta290qTHpK2k3qS7pPMiCiAKLSM6IHJlZGlyLmM6MTYyCisjOiByZWRpci5jOjE4MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgogbXNnc3RyICKl16XtpbuluaTOwuXG/qTLpdGlpKXXpPK67sCupMekraTepLuk8zogJXMiCiAKLSM6IHJlZGlyLmM6NTE3CisjOiByZWRpci5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gZmQgdG8gdmFyaWFibGUiCittc2dzdHIgIiVzOiCl6qW5pcik8sfbzvOl4aXzpdChvKTLs+Sk6sX2pMak6aTspN6ku6TzIgorCisjOiByZWRpci5jOjU0NAogbXNnaWQgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjEwMjMKKyM6IHJlZGlyLmM6MTEwMQogIywgZnV6enkKIG1zZ2lkICJyZWRpcmVjdGlvbiBlcnJvcjogY2Fubm90IGR1cGxpY2F0ZSBmZCIKIG1zZ3N0ciAipeqlwKWkpeylr6W3peel86WopemhvCIKIAotIzogc2hlbGwuYzozMjgKKyM6IHNoZWxsLmM6MzMyCiBtc2dpZCAiY291bGQgbm90IGZpbmQgL3RtcCwgcGxlYXNlIGNyZWF0ZSEiCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzozMzIKKyM6IHNoZWxsLmM6MzM2CiBtc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzo4NzYKKyM6IHNoZWxsLmM6ODg0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJWMlYzogsK2kpKWqpdelt6XnpfMiCiAKLSM6IHNoZWxsLmM6MTYzOAorIzogc2hlbGwuYzoxNjUxCiBtc2dpZCAiSSBoYXZlIG5vIG5hbWUhIgogbXNnc3RyICK75KTPzL7BsKSspKKk6qTepLuk8yEiCiAKLSM6IHNoZWxsLmM6MTc3OAorIzogc2hlbGwuYzoxNzkzCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgIkdOVSAlcywgpdChvKW4peel8yAlc1xuIgogCi0jOiBzaGVsbC5jOjE3NzkKKyM6IHNoZWxsLmM6MTc5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKQEAgLTE0MDMsMzg3ICsxNDcyLDQwOCBAQAogIrvIzdHK/cuhOlx0JXMgW0dOVSDEuaSkpaql16W3peel810gW6Wqpdelt6XnpfNdIC4uLlxuIgogIlx0JXMgW0dOVSDEuaSkpaql16W3peel810gW6Wqpdelt6XnpfNdIKW5pa+l6qXXpcil1aWhpaSl6yAuLi5cbiIKIAotIzogc2hlbGwuYzoxNzgxCisjOiBzaGVsbC5jOjE3OTYKIG1zZ2lkICJHTlUgbG9uZyBvcHRpb25zOlxuIgogbXNnc3RyICJHTlUgxLmkpKWqpdelt6XnpfM6XG4iCiAKLSM6IHNoZWxsLmM6MTc4NQorIzogc2hlbGwuYzoxODAwCiBtc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKIG1zZ3N0ciAipbelp6XrIKWqpdelt6XnpfM6XG4iCiAKLSM6IHNoZWxsLmM6MTc4NgorIzogc2hlbGwuYzoxODAxCiAjLCBmdXp6eQogbXNnaWQgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKIG1zZ3N0ciAiXHQtaXJzRCDL9KTPIKWzpd6l86XJXHRcdCjByqSopM6k3ylcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCiBtc2dzdHIgIlx0LSVzIMv0pM8gLW8gpaql16W3peel81xuIgogCi0jOiBzaGVsbC5jOjE4MDcKKyM6IHNoZWxsLmM6MTgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIqW3pael66Wqpdelt6XnpfOkzr7cutmky6TEpKSkxqTPIGAlcyAtYyBcImhlbHAgc2V0XCInpMjG/s7PLlxuIgogCi0jOiBzaGVsbC5jOjE4MDgKKyM6IHNoZWxsLmM6MTgyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBoZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgogbXNnc3RyICLByKTfuf6k36Wzpd6l86XJpMukxKSkpMakzyBgJXMgLWMgaGVscCekyMb+zs8gLlxuIgogCi0jOiBzaGVsbC5jOjE4MDkKKyM6IHNoZWxsLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgdGhlIGBiYXNoYnVnJyBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgogbXNnc3RyICIiCiAKLSM6IHNpZy5jOjU4MworIzogc2lnLmM6NjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInNpZ3Byb2NtYXNrOiAlZDogaW52YWxpZCBvcGVyYXRpb24iCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjQ3CisjOiBzaWdsaXN0LmM6NDgKIG1zZ2lkICJCb2d1cyBzaWduYWwiCiBtc2dzdHIgIrCtpKSlt6Wwpcql6yIKIAotIzogc2lnbGlzdC5jOjUwCisjOiBzaWdsaXN0LmM6NTEKIG1zZ2lkICJIYW5ndXAiCiBtc2dzdHIgIsTku98iCiAKLSM6IHNpZ2xpc3QuYzo1NAorIzogc2lnbGlzdC5jOjU1CiBtc2dpZCAiSW50ZXJydXB0IgogbXNnc3RyICKz5KTquf6k3yIKIAotIzogc2lnbGlzdC5jOjU4CisjOiBzaWdsaXN0LmM6NTkKIG1zZ2lkICJRdWl0IgogbXNnc3RyICK9qs67IgogCi0jOiBzaWdsaXN0LmM6NjIKKyM6IHNpZ2xpc3QuYzo2MwogbXNnaWQgIklsbGVnYWwgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIrCtpKS72LyoIgogCi0jOiBzaWdsaXN0LmM6NjYKKyM6IHNpZ2xpc3QuYzo2NwogbXNnaWQgIkJQVCB0cmFjZS90cmFwIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo3NAorIzogc2lnbGlzdC5jOjc1CiBtc2dpZCAiQUJPUlQgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIrvYvKikzsPmu98iCiAKLSM6IHNpZ2xpc3QuYzo3OAorIzogc2lnbGlzdC5jOjc5CiBtc2dpZCAiRU1UIGluc3RydWN0aW9uIgogbXNnc3RyICJFTVQgu9i8qCIKIAotIzogc2lnbGlzdC5jOjgyCisjOiBzaWdsaXN0LmM6ODMKIG1zZ2lkICJGbG9hdGluZyBwb2ludCBleGNlcHRpb24iCiBtc2dzdHIgIsnixrDFwKTOzuOzsCIKIAotIzogc2lnbGlzdC5jOjg2CisjOiBzaWdsaXN0LmM6ODcKIG1zZ2lkICJLaWxsZWQiCiBtc2dzdHIgIrumpLek3qS3pL8iCiAKLSM6IHNpZ2xpc3QuYzo5MAorIzogc2lnbGlzdC5jOjkxCiBtc2dpZCAiQnVzIGVycm9yIgogbXNnc3RyICKl0KW5pail6aG8IgogCi0jOiBzaWdsaXN0LmM6OTQKKyM6IHNpZ2xpc3QuYzo5NQogbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKIG1zZ3N0ciAipbulsKXhpfOlxqG8pbel56XzpdWlqaXrpcgiCiAKLSM6IHNpZ2xpc3QuYzo5OAorIzogc2lnbGlzdC5jOjk5CiBtc2dpZCAiQmFkIHN5c3RlbSBjYWxsIgogbXNnc3RyICKwraSkpbeluaXGpeCls6G8pesiCiAKLSM6IHNpZ2xpc3QuYzoxMDIKKyM6IHNpZ2xpc3QuYzoxMDMKIG1zZ2lkICJCcm9rZW4gcGlwZSIKIG1zZ3N0ciAipdGlpKXXpKzA2qTspN6kt6S/IgogCi0jOiBzaWdsaXN0LmM6MTA2CisjOiBzaWdsaXN0LmM6MTA3CiBtc2dpZCAiQWxhcm0gY2xvY2siCiBtc2dzdHIgIqWipemhvKXgu/631yIKIAotIzogc2lnbGlzdC5jOjExMAorIzogc2lnbGlzdC5jOjExMQogIywgZnV6enkKIG1zZ2lkICJUZXJtaW5hdGVkIgogbXNnc3RyICK9qs67pLek3qS3pL8iCiAKLSM6IHNpZ2xpc3QuYzoxMTQKKyM6IHNpZ2xpc3QuYzoxMTUKIG1zZ2lkICJVcmdlbnQgSU8gY29uZGl0aW9uIgogbXNnc3RyICK13qSupM4gSU8gvvXC1iIKIAotIzogc2lnbGlzdC5jOjExOAorIzogc2lnbGlzdC5jOjExOQogbXNnaWQgIlN0b3BwZWQgKHNpZ25hbCkiCiBtc2dzdHIgIsTku98gKKW3pbClyqXrKSIKIAotIzogc2lnbGlzdC5jOjEyNgorIzogc2lnbGlzdC5jOjEyNwogbXNnaWQgIkNvbnRpbnVlIgogbXNnc3RyICLCs7nUIgogCi0jOiBzaWdsaXN0LmM6MTM0CisjOiBzaWdsaXN0LmM6MTM1CiBtc2dpZCAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKIG1zZ3N0ciAiu9Kkzr2qzrvL9KTPxOS73yAiCiAKLSM6IHNpZ2xpc3QuYzoxMzgKKyM6IHNpZ2xpc3QuYzoxMzkKIG1zZ2lkICJTdG9wcGVkICh0dHkgaW5wdXQpIgogbXNnc3RyICLE5LvfICh0dHkgxv7OzykiCiAKLSM6IHNpZ2xpc3QuYzoxNDIKKyM6IHNpZ2xpc3QuYzoxNDMKIG1zZ2lkICJTdG9wcGVkICh0dHkgb3V0cHV0KSIKIG1zZ3N0ciAixOS73yAodHR5IL3Qzs8pIgogCi0jOiBzaWdsaXN0LmM6MTQ2CisjOiBzaWdsaXN0LmM6MTQ3CiBtc2dpZCAiSS9PIHJlYWR5IgogbXNnc3RyICJJL08gzdGw1aSspMekraTGpKSk3qS5IgogCi0jOiBzaWdsaXN0LmM6MTUwCisjOiBzaWdsaXN0LmM6MTUxCiBtc2dpZCAiQ1BVIGxpbWl0IgogbXNnc3RyICJDUFUguMLF2SIKIAotIzogc2lnbGlzdC5jOjE1NAorIzogc2lnbGlzdC5jOjE1NQogbXNnaWQgIkZpbGUgbGltaXQiCiBtc2dzdHIgIqXVpaGlpKXruMLF2SIKIAotIzogc2lnbGlzdC5jOjE1OAorIzogc2lnbGlzdC5jOjE1OQogbXNnaWQgIkFsYXJtICh2aXJ0dWFsKSIKIG1zZ3N0ciAit9nK8yAosr7B2ykiCiAKLSM6IHNpZ2xpc3QuYzoxNjIKKyM6IHNpZ2xpc3QuYzoxNjMKIG1zZ2lkICJBbGFybSAocHJvZmlsZSkiCiBtc2dzdHIgIrfZyvMgKKXXpe2l1aWhpaSl6ykiCiAKLSM6IHNpZ2xpc3QuYzoxNjYKKyM6IHNpZ2xpc3QuYzoxNjcKIG1zZ2lkICJXaW5kb3cgY2hhbmdlZCIKIG1zZ3N0ciAiweukrMrRubmktaTspN6kt6S/IgogCi0jOiBzaWdsaXN0LmM6MTcwCisjOiBzaWdsaXN0LmM6MTcxCiBtc2dpZCAiUmVjb3JkIGxvY2siCiBtc2dzdHIgIrWtz7+kzqXtpcOlryIKIAotIzogc2lnbGlzdC5jOjE3NAorIzogc2lnbGlzdC5jOjE3NQogbXNnaWQgIlVzZXIgc2lnbmFsIDEiCiBtc2dzdHIgIqXmobyltqW3pbClyqXrIDEiCiAKLSM6IHNpZ2xpc3QuYzoxNzgKKyM6IHNpZ2xpc3QuYzoxNzkKIG1zZ2lkICJVc2VyIHNpZ25hbCAyIgogbXNnc3RyICKl5qG8pbalt6Wwpcql6yAyIgogCi0jOiBzaWdsaXN0LmM6MTgyCisjOiBzaWdsaXN0LmM6MTgzCiBtc2dpZCAiSEZUIGlucHV0IGRhdGEgcGVuZGluZyIKIG1zZ3N0ciAiSEZUIMykt+ikzsb+zs+lx6G8pb8iCiAKLSM6IHNpZ2xpc3QuYzoxODYKKyM6IHNpZ2xpc3QuYzoxODcKIG1zZ2lkICJwb3dlciBmYWlsdXJlIGltbWluZW50IgogbXNnc3RyICLFxbi7uM6+46TOtO24sSIKIAotIzogc2lnbGlzdC5jOjE5MAorIzogc2lnbGlzdC5jOjE5MQogbXNnaWQgInN5c3RlbSBjcmFzaCBpbW1pbmVudCIKIG1zZ3N0ciAipbeluaXGpeClr6XppcOlt6XlpM607bixIgogCi0jOiBzaWdsaXN0LmM6MTk0CisjOiBzaWdsaXN0LmM6MTk1CiBtc2dpZCAibWlncmF0ZSBwcm9jZXNzIHRvIGFub3RoZXIgQ1BVIgogbXNnc3RyICKl16XtpbuluaTysOOkpkNQVaTLsNzGsCIKIAotIzogc2lnbGlzdC5jOjE5OAorIzogc2lnbGlzdC5jOjE5OQogbXNnaWQgInByb2dyYW1taW5nIGVycm9yIgogbXNnc3RyICKl16XtpbCl6aXfpfOlsKWopemhvCIKIAotIzogc2lnbGlzdC5jOjIwMgorIzogc2lnbGlzdC5jOjIwMwogbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgZ3JhbnRlZCIKIG1zZ3N0ciAiSFRGIG1vbml0b3Kl4qG8pcmkrM2/pKik6aTspN6kt6S/IgogCi0jOiBzaWdsaXN0LmM6MjA2CisjOiBzaWdsaXN0LmM6MjA3CiBtc2dpZCAiSEZUIG1vbml0b3IgbW9kZSByZXRyYWN0ZWQiCiBtc2dzdHIgIkhGVCBtb25pdG9ypeKhvKXJpKzDpaTvpOyk3qS3pL8iCiAKLSM6IHNpZ2xpc3QuYzoyMTAKKyM6IHNpZ2xpc3QuYzoyMTEKIG1zZ2lkICJIRlQgc291bmQgc2VxdWVuY2UgaGFzIGNvbXBsZXRlZCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjE0CisjOiBzaWdsaXN0LmM6MjE1CiBtc2dpZCAiSW5mb3JtYXRpb24gcmVxdWVzdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjIyCisjOiBzaWdsaXN0LmM6MjIzCiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyIKIG1zZ3N0ciAizKTDzqTOpbelsKXKpesgIyIKIAotIzogc2lnbGlzdC5jOjIyNAorIzogc2lnbGlzdC5jOjIyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjJWQiCiBtc2dzdHIgIsykw86kzqW3pbClyqXrICMlZCIKIAotIzogc3Vic3QuYzoxMTgxIHN1YnN0LmM6MTMwMgorIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTQ1NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgogbXNnc3RyICKwraSkwuXG/jogYCVzJyCkrCAlcyCky6TPpKKk6qTepLuk8yIKIAotIzogc3Vic3QuYzoyNDU4CisjOiBzdWJzdC5jOjI3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gbGlzdCB0byBhcnJheSBtZW1iZXIiCiBtc2dzdHIgIiVzOiCl6qW5pcik8sfbzvOl4aXzpdChvKTLs+Sk6sX2pMak6aTspN6ku6TzIgogCi0jOiBzdWJzdC5jOjQ0NTYgc3Vic3QuYzo0NDcyCisjOiBzdWJzdC5jOjQ3NTQgc3Vic3QuYzo0NzcwCiAjLCBmdXp6eQogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICKl16XtpbuluaTOwuXG/qTLpdGlpKXXpPK67sCupMekraTepLuk8zogJXMiCiAKLSM6IHN1YnN0LmM6NDUwNAorIzogc3Vic3QuYzo0ODAyCiAjLCBmdXp6eQogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAipdel7aW7pbmkzsLlxv6ky7vSpPK67sCupMekraTepLuk8zogJXMiCiAKLSM6IHN1YnN0LmM6NDU0OQorIzogc3Vic3QuYzo0ODQ3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogbXNnc3RyICJuYW1lZCBwaXBlICVzIKTyICVzIKTYs6uksaTepLuk8zogJXMiCiAKLSM6IHN1YnN0LmM6NDU1MQorIzogc3Vic3QuYzo0ODQ5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciB3cml0aW5nIgogbXNnc3RyICJuYW1lZCBwaXBlICVzIKTyICVzIKTYs6uksaTepLuk8zogJXMiCiAKLSM6IHN1YnN0LmM6NDU2OQorIzogc3Vic3QuYzo0ODY3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgIm5hbWVkIHBpcGUgJXMgpPIgZmQgJWQgpM6kv6ThpMvKo8C9pLmk66SzpMikz6THpK2k3qS7pPM6ICVzIgogCi0jOiBzdWJzdC5jOjQ3NjUKKyM6IHN1YnN0LmM6NTA2MwogIywgZnV6enkKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiwuXN/aWzpd6l86XJpMul0aWkpdek8rruwK6kx6StpN6ku6TzOiAlcyIKIAotIzogc3Vic3QuYzo0Nzk5CisjOiBzdWJzdC5jOjUwOTcKICMsIGZ1enp5CiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICLC5c39pbOl3qXzpcmky7vSpPK67sCupMekraTepLuk8zogJXMiCiAKLSM6IHN1YnN0LmM6NDgxNgorIzogc3Vic3QuYzo1MTE0CiAjLCBmdXp6eQogbXNnaWQgImNvbW1hbmRfc3Vic3RpdHV0ZTogY2Fubm90IGR1cGxpY2F0ZSBwaXBlIGFzIGZkIDEiCiBtc2dzdHIgImNvbW1hbmRfc3Vic3RpdHV0ZTogpdGlpKXXpPIgZmQgMSCkyKS3pMbKo8C9pMekraTepLuk8zogJXMiCiAKLSM6IHN1YnN0LmM6NTMxOAorIzogc3Vic3QuYzo1NjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXJhbWV0ZXIgbnVsbCBvciBub3Qgc2V0IgogbXNnc3RyICIlczogpdGl6aXhobylv6Sspcyl68v0pM+lu6XDpciktaTspMakpKTepLuk8yIKIAotIzogc3Vic3QuYzo1NjA4CisjOiBzdWJzdC5jOjU5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjY2NjAKKyM6IHN1YnN0LmM6Njk2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiJXM6ILCtpKTC5c39IgogCi0jOiBzdWJzdC5jOjY3NDAKKyM6IHN1YnN0LmM6NzA0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIkJXM6IGNhbm5vdCBhc3NpZ24gaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiQlczogpLOkzqTopKaky7vYxOqkx6StpN6ku6TzIgogCi0jOiBzdWJzdC5jOjc0OTkKKyM6IHN1YnN0LmM6NzM3NAorbXNnaWQgIiIKKyJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKKyJzdWJzdGl0dXRpb24iCittc2dzdHIgIiIKKworIzogc3Vic3QuYzo3ODM5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgogbXNnc3RyICKwraSkwuXG/jogYCVzJyCkrCAlcyCky6TPpKKk6qTepLuk8yIKIAotIzogc3Vic3QuYzo4Mzc1CisjOiBzdWJzdC5jOjg3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICIiCiAKLSM6IHRlc3QuYzoxNDUKKyM6IHRlc3QuYzoxNDYKIG1zZ2lkICJhcmd1bWVudCBleHBlY3RlZCIKIG1zZ3N0ciAisPq/9KTytPzC1CIKIAotIzogdGVzdC5jOjE1NAorIzogdGVzdC5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW50ZWdlciBleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICIlczogu9i/9KTOyb24vaTytPzC1CIKIAotIzogdGVzdC5jOjI2MgorIzogdGVzdC5jOjI2MwogbXNnaWQgImApJyBleHBlY3RlZCIKIG1zZ3N0ciAiYCknIKTytPzC1CIKIAotIzogdGVzdC5jOjI2NAorIzogdGVzdC5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICJgKScsIKTytPzC1CwgxsCkv6TOpM8gJXMiCiAKLSM6IHRlc3QuYzoyNzkgdGVzdC5jOjY4OCB0ZXN0LmM6NjkxCisjOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTMgdGVzdC5jOjY5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiIKIAotIzogdGVzdC5jOjQ0NCB0ZXN0LmM6NzMxCisjOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiB0ZXN0LmM6ODA2CisjOiB0ZXN0LmM6ODExCiBtc2dpZCAibWlzc2luZyBgXSciCiBtc2dzdHIgImBdJ6SsyLSksaTGpN6kuSIKIAotIzogdHJhcC5jOjIwMQorIzogdHJhcC5jOjIwMwogIywgZnV6enkKIG1zZ2lkICJpbnZhbGlkIHNpZ25hbCBudW1iZXIiCiBtc2dzdHIgIrCtpKSlt6Wwpcql68jWueYiCiAKLSM6IHRyYXAuYzozMjQKKyM6IHRyYXAuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVuX3BlbmRpbmdfdHJhcHM6IGJhZCB2YWx1ZSBpbiB0cmFwX2xpc3RbJWRdOiAlcCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFwLmM6MzI4CisjOiB0cmFwLmM6MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgogbXNnc3RyICIiCiAKLSM6IHRyYXAuYzozNzIKKyM6IHRyYXAuYzozODAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKIG1zZ3N0ciAidHJhcF9oYW5kbGVyOiCwraSkpbelsKXKpesgJWQiCiAKLSM6IHZhcmlhYmxlcy5jOjM1OAorIzogdmFyaWFibGVzLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjczNgorIzogdmFyaWFibGVzLmM6NzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjE4OTgKKyM6IHZhcmlhYmxlcy5jOjE5MTUKIG1zZ2lkICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzEyNworIzogdmFyaWFibGVzLmM6MzE1OQogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMzQ0IHZhcmlhYmxlcy5jOjMzNTMKKyM6IHZhcmlhYmxlcy5jOjMzNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKK21zZ3N0ciAiJXM6IKXRpeml4aG8pb+krKXMpevL9KTPpbulw6XIpLWk7KTGpKSk3qS7pPMiCisKKyM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNTkKKyM6IHZhcmlhYmxlcy5jOjMzOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6Mzc5NAorIzogdmFyaWFibGVzLmM6MzgzNQogbXNnaWQgInBvcF92YXJfY29udGV4dDogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgZnVuY3Rpb24gY29udGV4dCIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozODA3CisjOiB2YXJpYWJsZXMuYzozODQ4CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBubyBnbG9iYWxfdmFyaWFibGVzIGNvbnRleHQiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6Mzg4MQorIzogdmFyaWFibGVzLmM6MzkyMgogbXNnaWQgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgogbXNnc3RyICIiCiAKKyM6IHZhcmlhYmxlcy5jOjQ2NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogY2Fubm90IG9wZW4gYXMgRklMRSIKK21zZ3N0ciAiJXM6ICVzIKTyuu7ArqTHpK2k3qS7pPMiCisKKyM6IHZhcmlhYmxlcy5jOjQ2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiIKKwogIzogdmVyc2lvbi5jOjQ2CiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIG1zZ3N0ciAiIgpAQCAtMTc5NCw2MCArMTg4NCw1MiBAQAogImh0bWw+XG4iCiBtc2dzdHIgIiIKIAotIzogdmVyc2lvbi5jOjg2CisjOiB2ZXJzaW9uLmM6ODYgdmVyc2lvbjIuYzo4MwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMgKCVzKVxuIgogbXNnc3RyICJHTlUgJXMsIKXQobyluKXnpfMgJXNcbiIKIAotIzogdmVyc2lvbi5jOjkxCisjOiB2ZXJzaW9uLmM6OTEgdmVyc2lvbjIuYzo4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiB2ZXJzaW9uLmM6OTIKKyM6IHZlcnNpb24uYzo5MiB2ZXJzaW9uMi5jOjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuXG4iCiBtc2dzdHIgIiIKIAotIzogeG1hbGxvYy5jOjkyCisjOiB2ZXJzaW9uMi5jOjg2CiAjLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKIG1zZ3N0ciAiIgogCi0jOiB4bWFsbG9jLmM6OTQKKyM6IHZlcnNpb24yLmM6ODcKICMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKK21zZ2lkICIiCisiTGljZW5zZSBHUEx2Mis6IEdOVSBHUEwgdmVyc2lvbiAyIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgorImh0bWw+XG4iCiBtc2dzdHIgIiIKIAotIzogeG1hbGxvYy5jOjExNAorIzogeG1hbGxvYy5jOjkxCiAjLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKIG1zZ3N0ciAiIgogCi0jOiB4bWFsbG9jLmM6MTE2CisjOiB4bWFsbG9jLmM6OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorbXNnc3RyICIlczogJXMgpPK67sCupMekraTepLuk8yIKKworIzogeG1hbGxvYy5jOjE2MwogIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgogbXNnc3RyICIiCiAKLSM6IHhtYWxsb2MuYzoxNTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICIiCi0KLSM6IHhtYWxsb2MuYzoxNTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgIiIKLQotIzogeG1hbGxvYy5jOjE3NAotIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgIiIKLQotIzogeG1hbGxvYy5jOjE3NgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgIiIKKyM6IHhtYWxsb2MuYzoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKK21zZ3N0ciAiJXM6ICVzIKTyuu7ArqTHpK2k3qS7pPMiCiAKICM6IGJ1aWx0aW5zLmM6NDMKIG1zZ2lkICJhbGlhcyBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uIF0iCkBAIC0xOTc3LDcgKzIwNTksNyBAQAogCiAjOiBidWlsdGlucy5jOjExNwogIywgZnV6enkKLW1zZ2lkICJoZWxwIFstZHNdIFtwYXR0ZXJuIC4uLl0iCittc2dpZCAiaGVscCBbLWRtc10gW3BhdHRlcm4gLi4uXSIKIG1zZ3N0ciAiaGVscCBbpdGlv6G8pfMgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMjEKQEAgLTIwMTIsOCArMjA5NCw4IEBACiAKICM6IGJ1aWx0aW5zLmM6MTM2CiBtc2dpZCAiIgotInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1wIHByb21wdF0gWy10ICIKLSJ0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCisicmVhZCBbLWVyc10gWy1hIGFycmF5XSBbLWQgZGVsaW1dIFstaSB0ZXh0XSBbLW4gbmNoYXJzXSBbLU4gbmNoYXJzXSBbLXAgIgorInByb21wdF0gWy10IHRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjEzOApAQCAtMjE5NSw5ICsyMjc3LDkgQEAKIAogIzogYnVpbHRpbnMuYzoyMjkKIG1zZ2lkICIiCi0iY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLVcgIgotIndvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TIHN1ZmZpeF0gIgotIltuYW1lIC4uLl0iCisiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstREVdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLSIKKyJXIHdvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TICIKKyJzdWZmaXhdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoyMzMKQEAgLTIyMDgsNyArMjI5MCw3IEBACiAKICM6IGJ1aWx0aW5zLmM6MjM3CiAjLCBmdXp6eQotbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gW25hbWUgLi4uXSIKK21zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFstREVdIFtuYW1lIC4uLl0iCiBtc2dzdHIgInR5cGUgWy1hcHRdIMy+wbAgW8y+wbAgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoyNDAKQEAgLTI5MzEsNyArMzAxMywxMSBAQAogIiAgICAgIC1lXHRcdHVzZSBSZWFkbGluZSB0byBvYnRhaW4gdGhlIGxpbmUgaW4gYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKICIgICAgICAtaSB0ZXh0XHRVc2UgVEVYVCBhcyB0aGUgaW5pdGlhbCB0ZXh0IGZvciBSZWFkbGluZVxuIgogIiAgICAgIC1uIG5jaGFyc1x0cmV0dXJuIGFmdGVyIHJlYWRpbmcgTkNIQVJTIGNoYXJhY3RlcnMgcmF0aGVyIHRoYW4gd2FpdGluZ1xuIgotIiAgICBcdFx0Zm9yIGEgbmV3bGluZVxuIgorIiAgICBcdFx0Zm9yIGEgbmV3bGluZSwgYnV0IGhvbm9yIGEgZGVsaW1pdGVyIGlmIGZld2VyIHRoYW4gTkNIQVJTXG4iCisiICAgIFx0XHRjaGFyYWN0ZXJzIGFyZSByZWFkIGJlZm9yZSB0aGUgZGVsaW1pdGVyXG4iCisiICAgICAgLU4gbmNoYXJzXHRyZXR1cm4gb25seSBhZnRlciByZWFkaW5nIGV4YWN0bHkgTkNIQVJTIGNoYXJhY3RlcnMsICIKKyJ1bmxlc3NcbiIKKyIgICAgXHRcdEVPRiBpcyBlbmNvdW50ZXJlZCBvciByZWFkIHRpbWVzIG91dCwgaWdub3JpbmcgYW55IGRlbGltaXRlclxuIgogIiAgICAgIC1wIHByb21wdFx0b3V0cHV0IHRoZSBzdHJpbmcgUFJPTVBUIHdpdGhvdXQgYSB0cmFpbGluZyBuZXdsaW5lIGJlZm9yZVxuIgogIiAgICBcdFx0YXR0ZW1wdGluZyB0byByZWFkXG4iCiAiICAgICAgLXJcdFx0ZG8gbm90IGFsbG93IGJhY2tzbGFzaGVzIHRvIGVzY2FwZSBhbnkgY2hhcmFjdGVyc1xuIgpAQCAtMjk1MSw3ICszMDM3LDcgQEAKICIgICAgb3IgYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IgaXMgc3VwcGxpZWQgYXMgdGhlIGFyZ3VtZW50IHRvIC11LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEwMDYKKyM6IGJ1aWx0aW5zLmM6MTAwOQogbXNnaWQgIiIKICJSZXR1cm4gZnJvbSBhIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTI5NjMsNyArMzA0OSw3IEBACiAiICAgIFJldHVybnMgTiwgb3IgZmFpbHVyZSBpZiB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uIG9yIHNjcmlwdC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMDE5CisjOiBidWlsdGlucy5jOjEwMjIKIG1zZ2lkICIiCiAiU2V0IG9yIHVuc2V0IHZhbHVlcyBvZiBzaGVsbCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzA0NSw3ICszMTMxLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTAxCisjOiBidWlsdGlucy5jOjExMDQKIG1zZ2lkICIiCiAiVW5zZXQgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzIG9mIHNoZWxsIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuIgogIiAgICBcbiIKQEAgLTMwNjUsNyArMzE1MSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSBOQU1FIGlzIHJlYWQtb25seS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTIxCisjOiBidWlsdGlucy5jOjExMjQKIG1zZ2lkICIiCiAiU2V0IGV4cG9ydCBhdHRyaWJ1dGUgZm9yIHNoZWxsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0zMDg0LDcgKzMxNzAsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTQwCisjOiBidWlsdGlucy5jOjExNDMKIG1zZ2lkICIiCiAiTWFyayBzaGVsbCB2YXJpYWJsZXMgYXMgdW5jaGFuZ2VhYmxlLlxuIgogIiAgICBcbiIKQEAgLTMxMDQsNyArMzE5MCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNjEKKyM6IGJ1aWx0aW5zLmM6MTE2NAogbXNnaWQgIiIKICJTaGlmdCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzExNSw3ICszMjAxLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOIGlzIG5lZ2F0aXZlIG9yIGdyZWF0ZXIgdGhhbiAkIy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTczIGJ1aWx0aW5zLmM6MTE4OAorIzogYnVpbHRpbnMuYzoxMTc2IGJ1aWx0aW5zLmM6MTE5MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZyb20gYSBmaWxlIGluIHRoZSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTMxMjksNyArMzIxNSw3IEBACiAiICAgIEZJTEVOQU1FIGNhbm5vdCBiZSByZWFkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEyMDQKKyM6IGJ1aWx0aW5zLmM6MTIwNwogbXNnaWQgIiIKICJTdXNwZW5kIHNoZWxsIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC0zMTQzLDcgKzMyMjksNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjIwCisjOiBidWlsdGlucy5jOjEyMjMKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC0zMjIwLDcgKzMzMDYsNyBAQAogIiAgICBmYWxzZSBvciBhbiBpbnZhbGlkIGFyZ3VtZW50IGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEyOTYKKyM6IGJ1aWx0aW5zLmM6MTI5OQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTMyMjgsNyArMzMxNCw3IEBACiAiICAgIGJlIGEgbGl0ZXJhbCBgXScsIHRvIG1hdGNoIHRoZSBvcGVuaW5nIGBbJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzA1CisjOiBidWlsdGlucy5jOjEzMDgKIG1zZ2lkICIiCiAiRGlzcGxheSBwcm9jZXNzIHRpbWVzLlxuIgogIiAgICBcbiIKQEAgLTMyNDAsNyArMzMyNiw3IEBACiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzE3CisjOiBidWlsdGlucy5jOjEzMjAKIG1zZ2lkICIiCiAiVHJhcCBzaWduYWxzIGFuZCBvdGhlciBldmVudHMuXG4iCiAiICAgIFxuIgpAQCAtMzI3Niw3ICszMzYyLDcgQEAKICJnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzQ5CisjOiBidWlsdGlucy5jOjEzNTIKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kIHR5cGUuXG4iCiAiICAgIFxuIgpAQCAtMzMwNiw3ICszMzkyLDcgQEAKICJmb3VuZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzgwCisjOiBidWlsdGlucy5jOjEzODMKIG1zZ2lkICIiCiAiTW9kaWZ5IHNoZWxsIHJlc291cmNlIGxpbWl0cy5cbiIKICIgICAgXG4iCkBAIC0zMzUwLDcgKzM0MzYsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDI1CisjOiBidWlsdGlucy5jOjE0MjgKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCiAiICAgIFxuIgpAQCAtMzM2OCw3ICszNDU0LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBNT0RFIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ0NQorIzogYnVpbHRpbnMuYzoxNDQ4CiBtc2dpZCAiIgogIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtMzM4NSw3ICszNDcxLDcgQEAKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ2MworIzogYnVpbHRpbnMuYzoxNDY2CiBtc2dpZCAiIgogIldhaXQgZm9yIHByb2Nlc3MgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTMzOTksNyArMzQ4NSw3IEBACiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NzgKKyM6IGJ1aWx0aW5zLmM6MTQ4MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhIGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMzQxMiw3ICszNDk4LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5MgorIzogYnVpbHRpbnMuYzoxNDk1CiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCiAiICAgIFxuIgpAQCAtMzQyOSw3ICszNTE1LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTUxMAorIzogYnVpbHRpbnMuYzoxNTEzCiBtc2dpZCAiIgogIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0zNDQ5LDcgKzM1MzUsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTMxCisjOiBidWlsdGlucy5jOjE1MzQKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzQ2NSw3ICszNTUxLDcgQEAKICIgICAgVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlIHJldHVybiBzdGF0dXMgb2YgUElQRUxJTkUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU0OAorIzogYnVpbHRpbnMuYzoxNTUxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gcGF0dGVybiBtYXRjaGluZy5cbiIKICIgICAgXG4iCkBAIC0zNDc2LDcgKzM1NjIsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTYwCisjOiBidWlsdGlucy5jOjE1NjMKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBjb25kaXRpb25hbC5cbiIKICIgICAgXG4iCkBAIC0zNDk3LDcgKzM1ODMsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTc3CisjOiBidWlsdGlucy5jOjE1ODAKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKICIgICAgXG4iCkBAIC0zNTA4LDcgKzM1OTQsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTg5CisjOiBidWlsdGlucy5jOjE1OTIKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLlxuIgogIiAgICBcbiIKQEAgLTM1MTksNyArMzYwNSw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MDEKKyM6IGJ1aWx0aW5zLmM6MTYwNAogbXNnaWQgIiIKICJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKICIgICAgXG4iCkBAIC0zNTMyLDcgKzM2MTgsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MTUKKyM6IGJ1aWx0aW5zLmM6MTYxOAogbXNnaWQgIiIKICJEZWZpbmUgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzU0Niw3ICszNjMyLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIHJlYWRvbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MjkKKyM6IGJ1aWx0aW5zLmM6MTYzMgogbXNnaWQgIiIKICJHcm91cCBjb21tYW5kcyBhcyBhIHVuaXQuXG4iCiAiICAgIFxuIgpAQCAtMzU1Nyw3ICszNjQzLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY0MQorIzogYnVpbHRpbnMuYzoxNjQ0CiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0zNTcxLDcgKzM2NTcsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIHJlc3VtZWQgam9iLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NTYKKyM6IGJ1aWx0aW5zLmM6MTY1OQogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtMzU4Miw3ICszNjY4LDcgQEAKICIgICAgUmV0dXJucyAxIGlmIEVYUFJFU1NJT04gZXZhbHVhdGVzIHRvIDA7IHJldHVybnMgMCBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY2OAorIzogYnVpbHRpbnMuYzoxNjcxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29uZGl0aW9uYWwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0zNjEwLDcgKzM2OTYsNyBAQAogIiAgICAwIG9yIDEgZGVwZW5kaW5nIG9uIHZhbHVlIG9mIEVYUFJFU1NJT04uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY5NAorIzogYnVpbHRpbnMuYzoxNjk3CiBtc2dpZCAiIgogIkNvbW1vbiBzaGVsbCB2YXJpYWJsZSBuYW1lcyBhbmQgdXNhZ2UuXG4iCiAiICAgIFxuIgpAQCAtMzY2NCw3ICszNzUwLDcgQEAKICIgICAgXHRcdGNvbW1hbmRzIHNob3VsZCBiZSBzYXZlZCBvbiB0aGUgaGlzdG9yeSBsaXN0LlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTc1MQorIzogYnVpbHRpbnMuYzoxNzU0CiBtc2dpZCAiIgogIkFkZCBkaXJlY3RvcmllcyB0byBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zNjk1LDcgKzM3ODEsNyBAQAogIiAgICBjaGFuZ2UgZmFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTc4NQorIzogYnVpbHRpbnMuYzoxNzg4CiBtc2dpZCAiIgogIlJlbW92ZSBkaXJlY3RvcmllcyBmcm9tIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM3MjIsNyArMzgwOCw3IEBACiAiICAgIGNoYW5nZSBmYWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODE1CisjOiBidWlsdGlucy5jOjE4MTgKIG1zZ2lkICIiCiAiRGlzcGxheSBkaXJlY3Rvcnkgc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzc1MSw3ICszODM3LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg0NAorIzogYnVpbHRpbnMuYzoxODQ3CiBtc2dpZCAiIgogIlNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zNzcyLDcgKzM4NTgsNyBAQAogIiAgICBnaXZlbiBvciBPUFROQU1FIGlzIGRpc2FibGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4NjUKKyM6IGJ1aWx0aW5zLmM6MTg2OAogbXNnaWQgIiIKICJGb3JtYXRzIGFuZCBwcmludHMgQVJHVU1FTlRTIHVuZGVyIGNvbnRyb2wgb2YgdGhlIEZPUk1BVC5cbiIKICIgICAgXG4iCkBAIC0zODAyLDcgKzM4ODgsNyBAQAogIiAgICBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg5MgorIzogYnVpbHRpbnMuYzoxODk1CiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTM4MTYsMTUgKzM5MDIsMjAgQEAKICIgICAgICAtcFx0cHJpbnQgZXhpc3RpbmcgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9ucyBpbiBhIHJldXNhYmxlIGZvcm1hdFxuIgogIiAgICAgIC1yXHRyZW1vdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZm9yIGVhY2ggTkFNRSwgb3IsIGlmIG5vXG4iCiAiICAgIFx0TkFNRXMgYXJlIHN1cHBsaWVkLCBhbGwgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uc1xuIgorIiAgICAgIC1EXHRhcHBseSB0aGUgY29tcGxldGlvbnMgYW5kIGFjdGlvbnMgYXMgdGhlIGRlZmF1bHQgZm9yIGNvbW1hbmRzXG4iCisiICAgIFx0d2l0aG91dCBhbnkgc3BlY2lmaWMgY29tcGxldGlvbiBkZWZpbmVkXG4iCisiICAgICAgLUVcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyB0byBcImVtcHR5XCIgY29tbWFuZHMgLS1cbiIKKyIgICAgXHRjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhIGJsYW5rIGxpbmVcbiIKICIgICAgXG4iCiAiICAgIFdoZW4gY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQsIHRoZSBhY3Rpb25zIGFyZSBhcHBsaWVkIGluIHRoZSBvcmRlciB0aGVcbiIKLSIgICAgdXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuXG4iCisiICAgIHVwcGVyY2FzZS1sZXR0ZXIgb3B0aW9ucyBhcmUgbGlzdGVkIGFib3ZlLiAgVGhlIC1EIG9wdGlvbiB0YWtlc1xuIgorIiAgICBwcmVjZWRlbmNlIG92ZXIgLUUuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTkxNQorIzogYnVpbHRpbnMuYzoxOTIzCiBtc2dpZCAiIgogIkRpc3BsYXkgcG9zc2libGUgY29tcGxldGlvbnMgZGVwZW5kaW5nIG9uIHRoZSBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTM4MzcsNyArMzkyOCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5MzAKKyM6IGJ1aWx0aW5zLmM6MTkzOAogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzg1MCw2ICszOTQxLDggQEAKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgIFx0LW8gb3B0aW9uXHRTZXQgY29tcGxldGlvbiBvcHRpb24gT1BUSU9OIGZvciBlYWNoIE5BTUVcbiIKKyIgICAgXHQtRFx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZGVmYXVsdFwiIGNvbW1hbmQgY29tcGxldGlvblxuIgorIiAgICBcdC1FXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJlbXB0eVwiIGNvbW1hbmQgY29tcGxldGlvblxuIgogIiAgICBcbiIKICIgICAgVXNpbmcgYCtvJyBpbnN0ZWFkIG9mIGAtbycgdHVybnMgb2ZmIHRoZSBzcGVjaWZpZWQgb3B0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM4NjYsMTUgKzM5NTksMTUgQEAKICIgICAgaGF2ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBkZWZpbmVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5NTgKKyM6IGJ1aWx0aW5zLmM6MTk2OAogbXNnaWQgIiIKLSJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCisiUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgotIiAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGFycmF5IHZhcmlhYmxlIEFSUkFZLCBvciAiCi0iZnJvbVxuIgotIiAgICBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSBNQVBGSUxFICIKLSJpc1xuIgotIiAgICB0aGUgZGVmYXVsdCBBUlJBWS5cbiIKKyIgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBpbmRleGVkIGFycmF5IHZhcmlhYmxlICIKKyJBUlJBWSwgb3JcbiIKKyIgICAgZnJvbSBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSAiCisiTUFQRklMRVxuIgorIiAgICBpcyB0aGUgZGVmYXVsdCBBUlJBWS5cbiIKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgICAgLW4gY291bnRcdENvcHkgYXQgbW9zdCBDT1VOVCBsaW5lcy4gIElmIENPVU5UIGlzIDAsIGFsbCBsaW5lcyBhcmUgIgpAQCAtMzkwMSwxMCArMzk5NCwxMiBAQAogIiAgICBhc3NpZ25pbmcgdG8gaXQuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBBUlJBWSBpcyByZWFkb25seS4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkgIgorIm9yXG4iCisiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5OTAKKyM6IGJ1aWx0aW5zLmM6MjAwMQogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gYSBmaWxlIGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgpkaWZmIC0tZ2l0IGEvcG8vbHQuZ21vIGIvcG8vbHQuZ21vCmluZGV4IDNiMzM2MGMuLmEzYmUwZmEgMTAwNjQ0Ci0tLSBhL3BvL2x0LmdtbworKysgYi9wby9sdC5nbW8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG8vbHQucG8gYi9wby9sdC5wbwppbmRleCBiNzgzYjgxLi5kMDAwMGVjIDEwMDY0NAotLS0gYS9wby9sdC5wbworKysgYi9wby9sdC5wbwpAQCAtMSw3NCArMSw3OSBAQAotIyB0cmFuc2xhdGlvbiBvZiBiYXNoLTQuMC1wcmUxLnBvIHRvIExpdGh1YW5pYW4KKyMgdHJhbnNsYXRpb24gb2YgYmFzaC00LjAucG8gdG8gTGl0aHVhbmlhbgogIyBDb3B5cmlnaHQgKEMpIDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBiYXNoIHBhY2thZ2UuCiAjCi0jIEdpbnRhdXRhcyBNaWxpYXVza2FzIDxnaW50YXNAYWtsLmx0PiwgMjAwOC4KKyMgR2ludGF1dGFzIE1pbGlhdXNrYXMgPGdpbnRhc0Bha2wubHQ+LCAyMDA5LgogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaC00LjAtcHJlMVxuIgorIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaC00LjBcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMDItMTkgMTQ6NTMtMDUwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMDktMDItMTMgMTY6MjgrMDIwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTEyLTMwIDA4OjI1LTA1MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDA5LTAzLTI1IDE2OjQ5KzAyMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IEdpbnRhdXRhcyBNaWxpYXVza2FzIDxnaW50YXNAYWtsLmx0PlxuIgogIkxhbmd1YWdlLVRlYW06IExpdGh1YW5pYW4gPGtvbXBfbHRAa29uZmVyZW5jaWpvcy5sdD5cbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgogIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgogIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKICJYLUdlbmVyYXRvcjogS0JhYmVsIDEuMTEuNFxuIgotIlBsdXJhbC1Gb3JtczogIG5wbHVyYWxzPTM7IHBsdXJhbD0obiUxMD09MSAmJiBuJTEwMCE9MTEgPyAwIDogbiUxMD49MiAmJiAobiUiCisiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0zOyBwbHVyYWw9KG4lMTA9PTEgJiYgbiUxMDAhPTExID8gMCA6IG4lMTA+PTIgJiYgKG4lIgogIjEwMDwxMCB8fCBuJTEwMD49MjApID8gMSA6IDIpO1xuIgogCiAjOiBhcnJheWZ1bmMuYzo1MAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgImJsb2dhcyBtYXN5dm8gaW5kZWtzYXMiCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzQKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKIAotIzogYXJyYXlmdW5jLmM6NDc5CisjOiBhcnJheWZ1bmMuYzo0ODAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFzc29jaWF0aXZlIGFycmF5IGtleSIKIG1zZ3N0ciAiJXM6IG5ldGFpc3lrbGluZ2FzIHZlaWtzbW8gcGF2YWRpbmltYXMiCiAKLSM6IGFycmF5ZnVuYy5jOjQ4MQorIzogYXJyYXlmdW5jLmM6NDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIHRvIG5vbi1udW1lcmljIGluZGV4IgogbXNnc3RyICIlczogbmVwYXZ5a28gcHJpc2tpcnRpIHByaWUgbmVza2FpdGluaW8gaW5kZWtzbyIKIAotIzogYXJyYXlmdW5jLmM6NTE3CisjOiBhcnJheWZ1bmMuYzo1MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBtdXN0IHVzZSBzdWJzY3JpcHQgd2hlbiBhc3NpZ25pbmcgYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKIAotIzogYmFzaGhpc3QuYzozNzkKKyM6IGJhc2hoaXN0LmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY3JlYXRlOiAlcyIKIG1zZ3N0ciAiJXM6IG5lcGF2eWtvIHN1a3VydGk6ICVzIgogCi0jOiBiYXNobGluZS5jOjM0MTMKKyM6IGJhc2hsaW5lLmM6MzQ1NwogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogbmVwYXZ5a28gcmFzdGkga2V5bWFwbyBrb21hbmRhaSIKIAotIzogYmFzaGxpbmUuYzozNDkxCisjOiBiYXNobGluZS5jOjM1NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpcnN0IG5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlciBpcyBub3QgYFwiJyIKIG1zZ3N0ciAiJXM6IHBpcm1hcyBuZSB0YXJwbyBzaW1ib2xpcyBuxJdyYSDigJ5cIuKAnCIKIAotIzogYmFzaGxpbmUuYzozNTIwCisjOiBiYXNobGluZS5jOjM1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2xvc2luZyBgJWMnIGluICVzIgogbXNnc3RyICJuxJdyYSB1xb5kYXJhbsSNaW9qbyDigJ4lY+KAnCAlcyIKIAotIzogYmFzaGxpbmUuYzozNTU0CisjOiBiYXNobGluZS5jOjM2MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG1pc3NpbmcgY29sb24gc2VwYXJhdG9yIgogbXNnc3RyICIlczogdHLFq2tzdGEgZHZpdGHFoWtpbyBza2lydHVrbyIKIAorIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogaW52YWxpZCBhbGlhcyBuYW1lIgorbXNnc3RyICLigJ4lc+KAnDogbmV0YWlzeWtsaW5nYXMga2V5bWFwJ28gcGF2YWRpbmltYXMiCisKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjEyMCBidWlsdGlucy9iaW5kLmRlZjoxMjMKIG1zZ2lkICJsaW5lIGVkaXRpbmcgbm90IGVuYWJsZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZWlsdXTEl3MgcmVkYWdhdmltYXMgbmXEr2dhbGludGFzIgogCiAjOiBidWlsdGlucy9iaW5kLmRlZjoyMDYKICMsIGMtZm9ybWF0CkBAIC0xMTYsNiArMTIxLDIxIEBACiAiICAgIFdpdGhvdXQgRVhQUiwgcmV0dXJucyAiCiBtc2dzdHIgIkdyxIXFvmluYSBlc2Ftb3MgcHJvY2Vkxatyb3Mga29udGVrc3TEhS4iCiAKKyM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM1Cittc2dpZCAiIgorIi4gIFdpdGggRVhQUiwgcmV0dXJuc1xuIgorIiAgICAiCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzYKK21zZ2lkICIiCisiOyB0aGlzIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIHRvXG4iCisiICAgIHByb3ZpZGUgYSBzdGFjayB0cmFjZS5cbiIKKyIgICAgXG4iCisiICAgIFRoZSB2YWx1ZSBvZiBFWFBSIGluZGljYXRlcyBob3cgbWFueSBjYWxsIGZyYW1lcyB0byBnbyBiYWNrIGJlZm9yZSB0aGVcbiIKKyIgICAgY3VycmVudCBvbmU7IHRoZSB0b3AgZnJhbWUgaXMgZnJhbWUgMC4iCittc2dzdHIgIiIKKwogIzogYnVpbHRpbnMvY2QuZGVmOjIxNQogbXNnaWQgIkhPTUUgbm90IHNldCIKIG1zZ3N0ciAiSE9NRSBuZW51c3RhdHl0YXMiCkBAIC0xMjcsOSArMTQ3LDkgQEAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJsaW5lICVkOiAiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZWlsdXTElyAlZDogIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjAKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEzOSBlcnJvci5jOjI2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAiCiBtc2dzdHIgIsSvc3DEl2ppbWFzOiAiCkBAIC0xMzksMTEgKzE1OSwxMSBAQAogbXNnaWQgIiVzOiB1c2FnZTogIgogbXNnc3RyICIlczogbmF1ZG9qaW1hczogIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyMgorIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgInBlciBkYXVnIGFyZ3VtZW50xbMiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5MyBzaGVsbC5jOjc3NAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIiVzOiBwYXJhbWV0cnVpIHJlaWtpYSBhcmd1bWVudG8iCkBAIC0xNTgsNyArMTc4LDcgQEAKIG1zZ2lkICIlczogbm90IGZvdW5kIgogbXNnc3RyICIlczogbmVyYXN0YSIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjE0IHNoZWxsLmM6Nzg3CisjOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlczogbmVnYWxpbWFzIHBhcmFtZXRyYXMiCkBAIC0xODEsNyArMjAxLDcgQEAKIG1zZ2lkICJpbnZhbGlkIGhleCBudW1iZXIiCiBtc2dzdHIgIm5ldGFpc3lrbGluZ2FzIMWhZcWhaW9saWt0YWluaXMgc2thacSNaXVzIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTUKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NgogbXNnaWQgImludmFsaWQgbnVtYmVyIgogbXNnc3RyICJuZXRhaXN5a2xpbmdhcyBza2FpxI1pdXMiCiAKQEAgLTE5NSw3ICsyMTUsNyBAQAogbXNnaWQgImAlcyc6IG5vdCBhIHBpZCBvciB2YWxpZCBqb2Igc3BlYyIKIG1zZ3N0ciAi4oCeJXPigJw6IG5lIHBpZCdhcyBhciB0YWlzeWtsaW5nYSBkYXJibyBzcGVjaWZpa2FjaWphIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTMKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI2NCBlcnJvci5jOjQ1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgdmFyaWFibGUiCiBtc2dzdHIgIiVzOiBraW50YW1hc2lzIHRpayBza2FpdHltdWkiCkBAIC0yNjcsMjYgKzI4NywyNiBAQAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgam9iIHNwZWMiCiBtc2dzdHIgIiVzOiBkdmlwcmFzbWlzIGRhcmJvIGFwcmHFoXltYXMiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjoyNzAKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjoyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYWN0aW9uIG5hbWUiCiBtc2dzdHIgIiVzOiBuZXRhaXN5a2xpbmdhcyB2ZWlrc21vIHBhdmFkaW5pbWFzIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDMwIGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2MTUKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MTMKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo0NDkgYnVpbHRpbnMvY29tcGxldGUuZGVmOjY0NAorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjg1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm8gY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczogbsSXcmEgYmFpZ2ltbyBzcGVjaWZpa2FjaWpvcyIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY2NworIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY5NgogbXNnaWQgIndhcm5pbmc6IC1GIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCIKIG1zZ3N0ciAixK9zcMSXamltYXM6IHBhcmFtZXRyYXMgLUYgZ2FsaSBuZXZlaWt0aSB0YWlwLCBrYWlwIHRpa2l0xJdzIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjY5CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk4CiBtc2dpZCAid2FybmluZzogLUMgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgogbXNnc3RyICLEr3NwxJdqaW1hczogcGFyYW1ldHJhcyAtQyBnYWxpIG5ldmVpa3RpIHRhaXAsIGthaXAgdGlraXTEl3MiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo3ODYKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MjYKIG1zZ2lkICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgogbXNnc3RyICIiCiAKQEAgLTI5NCwyMSArMzE0LDIxIEBACiBtc2dpZCAiY2FuIG9ubHkgYmUgdXNlZCBpbiBhIGZ1bmN0aW9uIgogbXNnc3RyICJnYWxpbWEgbmF1ZG90aSB0aWsgZnVua2Npam9qZSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzUzCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCiBtc2dzdHIgIm5lZ2FsaW1hIG5hdWRvdGkg4oCeLWbigJwgZnVua2Npam9tcyBrdXJ0aSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzY1IGV4ZWN1dGVfY21kLmM6NDgxOAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVzOiBmdW5rY2lqYSB0aWsgc2thaXR5bXVpIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjEKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIlczogbmVnYWxpbWEgdG9raXUgYsWrZHUgc3VuYWlraW50aSBtYXN5dsWzIGtpbnRhbcWzasWzIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiIgpAQCAtMzM3LDggKzM1Nyw4IEBACiBtc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgogbXNnc3RyICIlczogbmVwYXZ5a28gacWhdHJpbnRpOiAlcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDY3NQotIzogc2hlbGwuYzoxNDM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0CisjOiBzaGVsbC5jOjE0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczogYXBsYW5rYXMiCkBAIC0zNTMsNyArMzczLDggQEAKIG1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCiBtc2dzdHIgIiVzOiBmYWlsYXMgcGVyIGRpZGVsaXMiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGV4ZWN1dGVfY21kLmM6NDc0NSBzaGVsbC5jOjE0NDkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAzIGV4ZWN1dGVfY21kLmM6NDg2NAorIzogc2hlbGwuYzoxNDYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIG1zZ3N0ciAiJXM6IG5lZ2FsaW1hIHZ5a2R5dGkgZHZlamV0YWluacWzIGZhaWzFsyIKQEAgLTM4MiwxNSArNDAzLDE1IEBACiBtc2dpZCAiVGhlcmUgYXJlIHJ1bm5pbmcgam9icy5cbiIKIG1zZ3N0ciAiWXJhIHZlaWtpYW7EjWnFsyBkYXJixbMuXG4iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjIKIG1zZ2lkICJubyBjb21tYW5kIGZvdW5kIgogbXNnc3RyICJrb21hbmTFsyBuZXJhc3RhIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzQxCisjOiBidWlsdGlucy9mYy5kZWY6MzQ5CiBtc2dpZCAiaGlzdG9yeSBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICJpc3Rvcmlqb3Mgc3BlY2lmaWthY2lqYSIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM2MgorIzogYnVpbHRpbnMvZmMuZGVmOjM3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKIG1zZ3N0ciAiJXM6IG5lcGF2eWtvIGF0dmVydGkgbGFpa2lub2pvIGZhaWxvOiAlcyIKQEAgLTQ5MiwxMiArNTEzLDEyIEBACiBtc2dpZCAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JyIKIG1zZ3N0ciAic3Ug4oCeLXjigJwgbmVsZWlkxb5pYW1hIG5hdWRvdGkga2l0xbMgcGFyYW1ldHLFsyIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MTk3CisjOiBidWlsdGlucy9raWxsLmRlZjoyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFyZ3VtZW50cyBtdXN0IGJlIHByb2Nlc3Mgb3Igam9iIElEcyIKIG1zZ3N0ciAiJXM6IGFyZ3VtZW50YWkgdHVyaSBixat0aSBwcm9jZXPFsyBhcmJhIGRhcmLFsyBJRCIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjYwCisjOiBidWlsdGlucy9raWxsLmRlZjoyNjMKIG1zZ2lkICJVbmtub3duIGVycm9yIgogbXNnc3RyICJOZcW+aW5vbWEga2xhaWRhIgogCkBAIC01MDUsNTYgKzUyNiw2MSBAQAogbXNnaWQgImV4cHJlc3Npb24gZXhwZWN0ZWQiCiBtc2dzdHIgInRpa8SXdGFzaSBpxaFyYWnFoWtvcyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQxIGJ1aWx0aW5zL3JlYWQuZGVmOjI3MgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGFuIGluZGV4ZWQgYXJyYXkiCittc2dzdHIgIiVzOiBuZSBtYXN5dm8ga2ludGFtYXNpcyIKKworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXM6IG5ldGFpc3lrbGluZ2EgZmFpbG8gZGVza3JpcHRvcmlhdXMgc3BlY2lmaWthY2lqYSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU3IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgogbXNnc3RyICIlZDogbmV0YWlzeWtsaW5nYXMgZmFpbG8gZGVza3JpcHRvcml1czogJXMiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1OCBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCiBtc2dzdHIgIiVzOiBuZXNhbWFzIHBhcmFtZXRyYXMiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiBtc2dzdHIgIiVzOiBuZXNhbWFzIHBhcmFtZXRyYXMiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogbXNnc3RyICIlczogbmV0YWlzeWtsaW5nYXMgdmVpa3NtbyBwYXZhZGluaW1hcyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzE4CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKICMsIGZ1enp5CiBtc2dpZCAiZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZSIKIG1zZ3N0ciAiJXM6IG5lIG1hc3l2byBraW50YW1hc2lzIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM0NwogbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNjcKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAi4oCeJXPigJw6IHRyxatrc3RhIGZvcm1hdG8gc2ltYm9saW8iCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTQ0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIuKAniVj4oCcOiBuZXRhaXN5a2xpbmdhcyBmb3JtYXRvIHNpbWJvbGlzIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU3MQorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogJXM6ICVzIgogbXNnc3RyICLEr3NwxJdqaW1hczogJXM6ICVzIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjc1MAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTcKIG1zZ2lkICJtaXNzaW5nIGhleCBkaWdpdCBmb3IgXFx4IgogbXNnc3RyICJ0csWra3N0YSDFoWXFoWlvbGlrdGFpbmlvIHNrYWl0bWVucyBpxaFyYWnFoWtvamUgXFx4IgogCkBAIC02NDUsMTIgKzY3MSwxMiBAQAogIiAgICBUaGUgYGRpcnMnIGJ1aWx0aW4gZGlzcGxheXMgdGhlIGRpcmVjdG9yeSBzdGFjay4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcmVhZC5kZWY6MjQ4CisjOiBidWlsdGlucy9yZWFkLmRlZjoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgdGltZW91dCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczoga2xhaWRpbmdhIGxhaWtvIHJpYm9zICh0aW1lb3V0KSBzcGVjaWZpa2FjaWphIgogCi0jOiBidWlsdGlucy9yZWFkLmRlZjo1NzQKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkIGVycm9yOiAlZDogJXMiCiBtc2dzdHIgInNrYWl0eW1vIGtsYWlkYTogJWQ6ICVzIgpAQCAtNjg3LDExICs3MTMsMTEgQEAKIG1zZ2lkICJzaGlmdCBjb3VudCIKIG1zZ3N0ciAicG9zdMWrbWnFsyBza2FpxI1pdXMiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNTQKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICJuZWdhbGltYSBhcGxpbmtvcyBudW9zdGF0b3MgdmllbnUgbWV0dSDEr2p1bmd0aSBpciBpxaFqdW5ndGkiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMTkKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgc2hlbGwgb3B0aW9uIG5hbWUiCiBtc2dzdHIgIiVzOiBuZXRhaXN5a2xpbmdhcyBhcGxpbmtvcyBudW9zdGF0b3MgcGF2YWRpbmltYXMiCkBAIC03NjAsNyArNzg2LDcgQEAKIAogIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTMKIG1zZ2lkICJsaW1pdCIKLW1zZ3N0ciAiIgorbXNnc3RyICJyaWJhIgogCiAjOiBidWlsdGlucy91bGltaXQuZGVmOjQ2NSBidWlsdGlucy91bGltaXQuZGVmOjc2NQogIywgYy1mb3JtYXQKQEAgLTc4MSw3NyArODA3LDc3IEBACiBtc2dpZCAiYCVjJzogaW52YWxpZCBzeW1ib2xpYyBtb2RlIGNoYXJhY3RlciIKIG1zZ3N0ciAi4oCeJWPigJw6IG5ldGFpc3lrbGluZ2FzIHNpbWJvbGluxJdzIHZlaWtzZW5vcyBzaW1ib2xpcyIKIAotIzogZXJyb3IuYzo4OSBlcnJvci5jOjMyMCBlcnJvci5jOjMyMiBlcnJvci5jOjMyNAorIzogZXJyb3IuYzo5MCBlcnJvci5jOjMyMSBlcnJvci5jOjMyMyBlcnJvci5jOjMyNQogbXNnaWQgIiBsaW5lICIKLW1zZ3N0ciAiIgorbXNnc3RyICIgZWlsdXTElyAiCiAKLSM6IGVycm9yLmM6MTY0CisjOiBlcnJvci5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJsYXN0IGNvbW1hbmQ6ICVzXG4iCiBtc2dzdHIgInBhc2t1dGluxJcga29tYW5kYTogJXNcbiIKIAotIzogZXJyb3IuYzoxNzIKKyM6IGVycm9yLmM6MTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nLi4uIgogbXNnc3RyICJOdXRyYXVraWFtYS4uLiIKIAotIzogZXJyb3IuYzo0MDUKKyM6IGVycm9yLmM6NDA2CiBtc2dpZCAidW5rbm93biBjb21tYW5kIGVycm9yIgogbXNnc3RyICJuZcW+aW5vbWEga29tYW5kb3Mga2xhaWRhIgogCi0jOiBlcnJvci5jOjQwNgorIzogZXJyb3IuYzo0MDcKIG1zZ2lkICJiYWQgY29tbWFuZCB0eXBlIgogbXNnc3RyICJibG9nYXMga29tYW5kb3MgdGlwYXMiCiAKLSM6IGVycm9yLmM6NDA3CisjOiBlcnJvci5jOjQwOAogbXNnaWQgImJhZCBjb25uZWN0b3IiCiBtc2dzdHIgImJsb2dhcyBqdW5ndHVrYXMiCiAKLSM6IGVycm9yLmM6NDA4CisjOiBlcnJvci5jOjQwOQogbXNnaWQgImJhZCBqdW1wIgogbXNnc3RyICJibG9nYXMgxaF1b2xpcyIKIAotIzogZXJyb3IuYzo0NDYKKyM6IGVycm9yLmM6NDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmJvdW5kIHZhcmlhYmxlIgogbXNnc3RyICIlczogbmVwcmlza2lydGFzIGtpbnRhbWFzaXMiCiAKICM6IGV2YWwuYzoxODEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCi1tc2dzdHIgIlxhbGF1a2lhbnQgxK92ZWRpbW8gYmFpZ8SXc2kgbGFpa2FzOiBhdXRvbWF0acWha2FpIGF0c2lqdW5ndGFcbiIKK21zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnc3RyICIHbGF1a2lhbnQgxK92ZWRpbW8gYmFpZ8SXc2kgbGFpa2FzOiBhdXRvbWF0acWha2FpIGF0c2lqdW5ndGFcbiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTEKKyM6IGV4ZWN1dGVfY21kLmM6NDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiBtc2dzdHIgIm5lcGF2eWtvIHBlcmFkcmVzdW90aSBzdGFuZGFydGluaW8gxK92ZWRpbW8gacWhIC9kZXYvbnVsbDogJXMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MTExMgorIzogZXhlY3V0ZV9jbWQuYzoxMTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiVElNRUZPUk1BVDog4oCeJWPigJw6IG5ldGFpc3lrbGluZ2FzIGZvcm1hdG8gc2ltYm9saXMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MjAxMQorIzogZXhlY3V0ZV9jbWQuYzoyMDc1CiAjLCBmdXp6eQogbXNnaWQgInBpcGUgZXJyb3IiCiBtc2dzdHIgInJhxaF5bW8ga2xhaWRhOiAlcyIKIAotIzogZXhlY3V0ZV9jbWQuYzo0MzYzCisjOiBleGVjdXRlX2NtZC5jOjQ0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IGAvJyBpbiBjb21tYW5kIG5hbWVzIgogbXNnc3RyICIlczogYXByaWJvdGE6IG5lZ2FsaW1hIG5hdWRvdGkg4oCeL+KAnCBrb21hbmTFsyBwYXZhZGluaW11b3NlIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ0NTQKKyM6IGV4ZWN1dGVfY21kLmM6NDU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBrb21hbmRhIG5lcmFzdGEiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDcwOAorIzogZXhlY3V0ZV9jbWQuYzo0ODI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogYmFkIGludGVycHJldGVyIgogbXNnc3RyICIlczogJXM6IGJsb2dhcyBpbnRlcnByZXRhdG9yaXVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ4NTcKKyM6IGV4ZWN1dGVfY21kLmM6NDk3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIGZkICVkIHRvIGZkICVkIgogbXNnc3RyICJuZXBhdnlrbyBkdWJsaWt1b3RpIGZkICVkIMSvIGZkICVkIgpAQCAtODk3LDM3ICs5MjMsMzcgQEAKIG1zZ2lkICJtaXNzaW5nIGApJyIKIG1zZ3N0ciAiVHLFq2tzdGEg4oCeKeKAnCIKIAotIzogZXhwci5jOjg5NyBleHByLmM6MTE3NQorIzogZXhwci5jOjg5NyBleHByLmM6MTE3NgogbXNnaWQgInN5bnRheCBlcnJvcjogb3BlcmFuZCBleHBlY3RlZCIKIG1zZ3N0ciAic2ludGFrc8SXcyBrbGFpZGE6IHRpa8SXdGFzaSBvcGVyYW5kbyIKIAotIzogZXhwci5jOjExNzcKKyM6IGV4cHIuYzoxMTc4CiBtc2dpZCAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCiBtc2dzdHIgInNpbnRha3PEl3Mga2xhaWRhOiBuZXRhaXN5a2xpbmdhcyBhcml0bWV0aW5pcyBvcGVyYXRvcml1cyIKIAotIzogZXhwci5jOjEyMDEKKyM6IGV4cHIuYzoxMjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzJXMlczogJXMgKGVycm9yIHRva2VuIGlzIFwiJXNcIikiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjEyNTkKKyM6IGV4cHIuYzoxMjYwCiBtc2dpZCAiaW52YWxpZCBhcml0aG1ldGljIGJhc2UiCiBtc2dzdHIgIm5ldGFpc3lrbGluZ2FzIGFyaXRtZXRpbmlzIHBhZ3JpbmRhcyIKIAotIzogZXhwci5jOjEyNzkKKyM6IGV4cHIuYzoxMjgwCiBtc2dpZCAidmFsdWUgdG9vIGdyZWF0IGZvciBiYXNlIgogbXNnc3RyICJwZXIgZGlkZWzElyBwYWdyaW5kbyByZWlrxaFtxJciCiAKLSM6IGV4cHIuYzoxMzI4Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGV4cHIuYzoxMzI5CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCi1tc2dzdHIgIiVzOiB0aWvEl3Rhc2kgc2thaXRpbsSXcyBpxaFyYWnFoWtvcyIKK21zZ3N0ciAiJXM6IGnFoXJhacWha29zIGtsYWlkYVxuIgogCiAjOiBnZW5lcmFsLmM6NjEKIG1zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgogbXNnc3RyICJnZXRjd2Q6IG5lcGF2eWtvIHBhc2lla3RpIGF1a8WhdGVzbmnFsyBhcGxhbmvFsyIKIAotIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ1NTkKKyM6IGlucHV0LmM6OTQgc3Vic3QuYzo0ODU3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIG1zZ3N0ciAibmVwYXZ5a28gZHVibGlrdW90aSBmZCAlZCDEryBmZCAlZCIKQEAgLTk3NCwxMyArMTAwMCwxMyBAQAogIzogam9icy5jOjE0MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2lnbmFsICVkIgotbXNnc3RyICIiCittc2dzdHIgIlNpZ25hbGFzICVkIgogCiAjOiBqb2JzLmM6MTQzMCBqb2JzLmM6MTQ1NQogbXNnaWQgIkRvbmUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiQXRsaWt0YSIKIAotIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMgorIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMwogbXNnaWQgIlN0b3BwZWQiCiBtc2dzdHIgIiIKIApAQCAtOTk2LDcgKzEwMjIsNyBAQAogIzogam9icy5jOjE0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uZSglZCkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiQXRsaWt0YSglZCkiCiAKICM6IGpvYnMuYzoxNDU5CiAjLCBjLWZvcm1hdApAQCAtMTAwNSw3ICsxMDMxLDcgQEAKIAogIzogam9icy5jOjE0NjIKIG1zZ2lkICJVbmtub3duIHN0YXR1cyIKLW1zZ3N0ciAiIgorbXNnc3RyICJOZcW+aW5vbWEgYsWrc2VuYSIKIAogIzogam9icy5jOjE1NDkKICMsIGMtZm9ybWF0CkBAIC0xMDE3LDY5ICsxMDQzLDczIEBACiBtc2dpZCAiICAod2Q6ICVzKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTc3MQorIzogam9icy5jOjE3NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hpbGQgc2V0cGdpZCAoJWxkIHRvICVsZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjIwOTkgbm9qb2JzLmM6NTg1CisjOiBqb2JzLmM6MjEwNCBub2pvYnMuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgogbXNnc3RyICJ3YWl0OiBwaWQgJWxkIG7El3JhIMWhaW9zIGFwbGlua29zIGR1a3RlcmluaXMgcHJvY2VzYXMiCiAKLSM6IGpvYnMuYzoyMzI2CisjOiBqb2JzLmM6MjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgogbXNnc3RyICJ3YWl0X2ZvcjogbsSXcmEgcHJvY2VzbyAlbGQgxK9yYcWhbyIKIAotIzogam9icy5jOjI1OTgKKyM6IGpvYnMuYzoyNjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yX2pvYjogam9iICVkIGlzIHN0b3BwZWQiCiBtc2dzdHIgIndhaXRfZm9yX2pvYjogZGFyYmFzICVkIHlyYSBzdXN0YWJkeXRhcyIKIAotIzogam9icy5jOjI4MjAKKyM6IGpvYnMuYzoyODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgaGFzIHRlcm1pbmF0ZWQiCiBtc2dzdHIgIiVzOiBkYXJiYXMgdcW+c2liYWlnxJciCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6MjgzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKIG1zZ3N0ciAiJXM6IGRhcmJhcyAlZCBqYXUgZm9uZSIKIAotIzogam9icy5jOjM0OTIKKyM6IGpvYnMuYzozMDU5Cittc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgorbXNnc3RyICIiCisKKyM6IGpvYnMuYzozNTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBsaW5lICVkOiAiCiBtc2dzdHIgIiVzOiAlZCBlaWx1dMSXOiAiCiAKLSM6IGpvYnMuYzozNTA2IG5vam9icy5jOjgxNAorIzogam9icy5jOjM1MjIgbm9qb2JzLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAoY29yZSBkdW1wZWQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNTE4IGpvYnMuYzozNTMxCisjOiBqb2JzLmM6MzUzNCBqb2JzLmM6MzU0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIod2Qgbm93OiAlcylcbiIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzU2MworIzogam9icy5jOjM1NzkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzYyMworIzogam9icy5jOjM2MzkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5lIGRpc2NpcGxpbmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2MzMKKyM6IGpvYnMuYzozNjQ5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzY2MQorIzogam9icy5jOjM2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2NjYKKyM6IGpvYnMuYzozNjgyCiBtc2dpZCAibm8gam9iIGNvbnRyb2wgaW4gdGhpcyBzaGVsbCIKIG1zZ3N0ciAixaFpb2plIGFwbGlua29qZSBuxJdyYSBkYXJixbMgdmFsZHltbyIKIApAQCAtMTE3MSw2ICsxMjAxLDI2IEBACiBtc2dpZCAibmV0d29yayBvcGVyYXRpb25zIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgInRpbmtsbyBvcGVyYWNpam9zIG5lcGFsYWlrb21vcyIKIAorIzogbG9jYWxlLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IG5lcGF2eWtvIGnFoXNraXJ0aSAlbHUgYmFpdMWzIgorCisjOiBsb2NhbGUuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IG5lcGF2eWtvIGnFoXNraXJ0aSAlbHUgYmFpdMWzIgorCiAjOiBtYWlsY2hlY2suYzo0MzMKIG1zZ2lkICJZb3UgaGF2ZSBtYWlsIGluICRfIgogbXNnc3RyICJUdXJpdGUgbGFpxaFrxbMgJF8iCkBAIC0xMTg0LDEzMSArMTIzNCwxMzEgQEAKIG1zZ2lkICJUaGUgbWFpbCBpbiAlcyBoYXMgYmVlbiByZWFkXG4iCiBtc2dzdHIgIlBhxaF0YXMgJXMgcGVyc2thaXR5dGFzXG4iCiAKLSM6IG1ha2VfY21kLmM6MzIyCisjOiBtYWtlX2NtZC5jOjMyMwogbXNnaWQgInN5bnRheCBlcnJvcjogYXJpdGhtZXRpYyBleHByZXNzaW9uIHJlcXVpcmVkIgogbXNnc3RyICJzaW50YWtzxJdzIGtsYWlkYTogcmVpa2lhIGFyaXRtZXRpbsSXcyBpxaFyYWnFoWtvcyIKIAotIzogbWFrZV9jbWQuYzozMjQKKyM6IG1ha2VfY21kLmM6MzI1CiBtc2dpZCAic3ludGF4IGVycm9yOiBgOycgdW5leHBlY3RlZCIKIG1zZ3N0ciAic2ludGFrc8SXcyBrbGFpZGE6IG5ldGlrxJd0YXMg4oCeO+KAnCIKIAotIzogbWFrZV9jbWQuYzozMjUKKyM6IG1ha2VfY21kLmM6MzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvcjogYCgoJXMpKSciCiBtc2dzdHIgInNpbnRha3PEl3Mga2xhaWRhOiDigJ4oKCVzKSnigJwiCiAKLSM6IG1ha2VfY21kLmM6NTY3CisjOiBtYWtlX2NtZC5jOjU3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWtlX2hlcmVfZG9jdW1lbnQ6IGJhZCBpbnN0cnVjdGlvbiB0eXBlICVkIgogbXNnc3RyICJtYWtlX2hlcmVfZG9jdW1lbnQ6IGJsb2dhcyBpbnN0cnVrY2lqb3MgdGlwYXMgJWQiCiAKLSM6IG1ha2VfY21kLmM6NjUxCisjOiBtYWtlX2NtZC5jOjY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJoZXJlLWRvY3VtZW50IGF0IGxpbmUgJWQgZGVsaW1pdGVkIGJ5IGVuZC1vZi1maWxlICh3YW50ZWQgYCVzJykiCiBtc2dzdHIgIiIKIAotIzogbWFrZV9jbWQuYzo3NDYKKyM6IG1ha2VfY21kLmM6NzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlIgogbXNnc3RyICJtYWtlX3JlZGlyZWN0aW9uOiBudWtyZWlwaW1vIGluc3RydWtjaWphIOKAniVk4oCcIHXFviByaWLFsyIKIAotIzogcGFyc2UueToyOTg2IHBhcnNlLnk6MzIxOAorIzogcGFyc2UueTozMTMzIHBhcnNlLnk6MzM2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgJWMnIgogbXNnc3RyICJuZXRpa8SXdGEgZmFpbG8gcGFiYWlnYSBpZcWha2FudCBhdGl0aW5rYW1vIOKAniVj4oCcIgogCi0jOiBwYXJzZS55OjM3MjIKKyM6IHBhcnNlLnk6Mzk1MQogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIGBdXSciCiBtc2dzdHIgIm5ldGlrxJd0YSBmYWlsbyBwYWJhaWdhIGllxaFrYW50IOKAnl1d4oCcIgogCi0jOiBwYXJzZS55OjM3MjcKKyM6IHBhcnNlLnk6Mzk1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICJzaW50YWtzxJdzIGtsYWlkYSBzxIVseWdvcyBpxaFyYWnFoWtvamU6IG5ldGlrxJd0YSBsZWtzZW1hIOKAniVz4oCcIgogCi0jOiBwYXJzZS55OjM3MzEKKyM6IHBhcnNlLnk6Mzk2MAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICJzaW50YWtzxJdzIGtsYWlkYSBzxIVseWdvcyBpxaFyYWnFoWtvamUiCiAKLSM6IHBhcnNlLnk6MzgwOQorIzogcGFyc2UueTo0MDM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgogbXNnc3RyICJuZXRpa8SXdGEgbGVrc2VtYSDigJ4lc+KAnCwgdGlrxJd0YXNpIOKAninigJwiCiAKLSM6IHBhcnNlLnk6MzgxMworIzogcGFyc2UueTo0MDQyCiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICJ0aWvEl3Rhc2kg4oCeKeKAnCIKIAotIzogcGFyc2UueTozODQxCisjOiBwYXJzZS55OjQwNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJuZXRpa8SXdGFzIGFyZ3VtZW50YXMg4oCeJXPigJwgc8SFbHlnb3MgdW5hcmluaWFtIG9wZXJhdG9yaXVpIgogCi0jOiBwYXJzZS55OjM4NDUKKyM6IHBhcnNlLnk6NDA3NAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIm5ldGlrxJd0YXMgYXJndW1lbnRhcyBzxIVseWdvcyB1bmFyaW5pYW0gb3BlcmF0b3JpdWkiCiAKLSM6IHBhcnNlLnk6Mzg4NQorIzogcGFyc2UueTo0MTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICJuZXRpa8SXdGEgbGVrc2VtYSDigJ4lc+KAnCwgdGlrxJd0YXNpIHPEhWx5Z2luaW8gYmluYXJpbmlvIG9wZXJhdG9yaWF1cyIKIAotIzogcGFyc2UueTozODg5CisjOiBwYXJzZS55OjQxMjQKIG1zZ2lkICJjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgInRpa8SXdGFzaSBzxIVseWdvcyBiaW5hcmluaW8gb3BlcmF0b3JpYXVzIgogCi0jOiBwYXJzZS55OjM5MDYKKyM6IHBhcnNlLnk6NDE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJuZXRpa8SXdGFzIGFyZ3VtZW50YXMg4oCeJXPigJwgc8SFbHlnb3MgYmluYXJpbmlhbSBvcGVyYXRvcml1aSIKIAotIzogcGFyc2UueTozOTEwCisjOiBwYXJzZS55OjQxNTAKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAibmV0aWvEl3RhcyBhcmd1bWVudGFzIHPEhWx5Z29zIGJpbmFyaW5pYW0gb3BlcmF0b3JpdWkiCiAKLSM6IHBhcnNlLnk6MzkyMQorIzogcGFyc2UueTo0MTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJuZXRpa8SXdGEgbGVrc2VtYSDigJ4lY+KAnCBzxIVseWdvcyBrb21hbmRvamUiCiAKLSM6IHBhcnNlLnk6MzkyNAorIzogcGFyc2UueTo0MTY0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJuZXRpa8SXdGEgbGVrc2VtYSDigJ4lc+KAnCBzxIVseWdvcyBrb21hbmRvamUiCiAKLSM6IHBhcnNlLnk6MzkyOAorIzogcGFyc2UueTo0MTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gJWQgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAibmV0aWvEl3RhIGxla3NlbWEgJWQgc8SFbHlnb3Mga29tYW5kb2plIgogCi0jOiBwYXJzZS55OjUxOTUKKyM6IHBhcnNlLnk6NTQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgInNpbnRha3PEl3Mga2xhaWRhIHByaWUgbmV0aWvEl3RvcyBsZWtzZW1vczog4oCeJXPigJwiCiAKLSM6IHBhcnNlLnk6NTIxMworIzogcGFyc2UueTo1NDc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCiBtc2dzdHIgInNpbnRha3PEl3Mga2xhaWRhIHByaWUg4oCeJXPigJwiCiAKLSM6IHBhcnNlLnk6NTIyMworIzogcGFyc2UueTo1NDg3CiBtc2dpZCAic3ludGF4IGVycm9yOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICJzaW50YWtzxJdzIGtsYWlkYTogbmV0aWvEl3RhIGZhaWxvIHBhYmFpZ2EiCiAKLSM6IHBhcnNlLnk6NTIyMworIzogcGFyc2UueTo1NDg3CiBtc2dpZCAic3ludGF4IGVycm9yIgogbXNnc3RyICJzaW50YWtzxJdzIGtsYWlkYSIKIAotIzogcGFyc2UueTo1Mjg1CisjOiBwYXJzZS55OjU1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIFwiJXNcIiB0byBsZWF2ZSB0aGUgc2hlbGwuXG4iCiBtc2dzdHIgIk5hdWRva2l0ZSDigJ4lc+KAnCwgamVpIG5vcml0ZSBpxaFlaXRpIGnFoSBhcC5cbiIKIAotIzogcGFyc2UueTo1NDQ3CisjOiBwYXJzZS55OjU3MTEKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgKSciCiBtc2dzdHIgIm5ldGlrxJd0YSBmYWlsbyBwYWJhaWdhIGllxaFrYW50IGF0aXRpbmthbW8g4oCeKeKAnCIKIAotIzogcGNvbXBsZXRlLmM6MTAxOAorIzogcGNvbXBsZXRlLmM6MTAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0aW9uOiBmdW5jdGlvbiBgJXMnIG5vdCBmb3VuZCIKIG1zZ3N0ciAiY29tcGxldGlvbjogZnVua2NpamEg4oCeJXPigJwgbmVyYXN0YSIKQEAgLTEzMTgsNzEgKzEzNjgsOTAgQEAKIG1zZ2lkICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogbXNnc3RyICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogCi0jOiBwcmludF9jbWQuYzoyODUKKyM6IHByaW50X2NtZC5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmludF9jb21tYW5kOiBiYWQgY29ubmVjdG9yIGAlZCciCiBtc2dzdHIgInByaW50X2NvbW1hbmQ6IGJsb2dhcyBqdW5ndHVrYXMgwqDigJ4lZOKAnCIKIAotIzogcHJpbnRfY21kLmM6MTM0OAorIzogcHJpbnRfY21kLmM6MzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiVkOiBuZXRhaXN5a2xpbmdhcyBmYWlsbyBkZXNrcmlwdG9yaXVzOiAlcyIKKworIzogcHJpbnRfY21kLmM6MzY4Cittc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCittc2dzdHIgIiIKKworIzogcHJpbnRfY21kLmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzoxNDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiY3ByaW50Zjog4oCeJWPigJw6IG5ldGFpc3lrbGluZ2FzIGZvcm1hdG8gc2ltYm9saXMiCiAKLSM6IHJlZGlyLmM6MTA1CisjOiByZWRpci5jOjExMAogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgImZhaWxvIGRlc2tyaXB0b3JpdXMgdcW+IHJpYsWzIgogCi0jOiByZWRpci5jOjE0OAorIzogcmVkaXIuYzoxNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIG1zZ3N0ciAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIAotIzogcmVkaXIuYzoxNTIKKyM6IHJlZGlyLmM6MTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCiBtc2dzdHIgIiVzOiBuZWdhbGltYSBwZXJyYcWheXRpIGVnemlzdHVvamFuxI1pbyBmYWlsbyIKIAotIzogcmVkaXIuYzoxNTcKKyM6IHJlZGlyLmM6MTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3QgcmVkaXJlY3Qgb3V0cHV0IgogbXNnc3RyICIlczogYXByaWJvdGE6IG5lZ2FsaW1hIHBlcmFkcmVzdW90aSBpxaF2ZWRpbW8iCiAKLSM6IHJlZGlyLmM6MTYyCisjOiByZWRpci5jOjE4MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgogbXNnc3RyICJuZXBhdnlrbyBzdWt1cnRpIGxhaWtpbm8gZmFpbG8g4oCeaGVyZeKAnCBkb2t1bWVudHVpOiAlcyIKIAotIzogcmVkaXIuYzo1MTcKKyM6IHJlZGlyLmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKK21zZ3N0ciAiJXM6IG5lZ2FsaW1hIHByaXNraXJ0aSBzxIVyYcWhbyBtYXN5dm8gZWxlbWVudHVpIgorCisjOiByZWRpci5jOjU0NAogbXNnaWQgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKIG1zZ3N0ciAiL2Rldi8odGNwfHVkcCkvc2VydmVyaXMvcHJpZXZhZGFzIG5lcGFsYWlrb21hIGJlIHRpbmtsbyIKIAotIzogcmVkaXIuYzoxMDIzCisjOiByZWRpci5jOjExMDEKIG1zZ2lkICJyZWRpcmVjdGlvbiBlcnJvcjogY2Fubm90IGR1cGxpY2F0ZSBmZCIKIG1zZ3N0ciAibnVrcmVpcGltbyBrbGFpZGE6IG5lcGF2eWtvIGR1Ymxpa3VvdGkgZmQiCiAKLSM6IHNoZWxsLmM6MzI4CisjOiBzaGVsbC5jOjMzMgogbXNnaWQgImNvdWxkIG5vdCBmaW5kIC90bXAsIHBsZWFzZSBjcmVhdGUhIgogbXNnc3RyICJuZXBhdnlrbyByYXN0aSAvdG1wLCBzdWt1cmtpdGUgxaHEryBhcGxhbmvEhSEiCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzNgogbXNnaWQgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICIvdG1wIHR1cmkgYsWrdGkgdGFpc3lrbGluZ2FzIGFwbGFua28gcGF2YWRpbmltYXMiCiAKLSM6IHNoZWxsLmM6ODc2CisjOiBzaGVsbC5jOjg4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJWMlYzogbmV0YWlzeWtsaW5nYXMgcGFyYW1ldHJhcyIKIAotIzogc2hlbGwuYzoxNjM4CisjOiBzaGVsbC5jOjE2NTEKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgIk5ldHVyaXUgdmFyZG8hIgogCi0jOiBzaGVsbC5jOjE3NzgKKyM6IHNoZWxsLmM6MTc5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiR05VIGJhc2gsIHZlcnNpamEgJXMtKCVzKVxuIgogCi0jOiBzaGVsbC5jOjE3NzkKKyM6IHNoZWxsLmM6MTc5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKQEAgLTEzOTEsNDU2ICsxNDYwLDQ3MyBAQAogIk5hdWRvamltYXM6XHQlcyBbR05VIGlsZ2FzIHBhcmFtZXRyYXNdIFtwYXJhbWV0cmFzXSAuLi5cbiIKICJcdCVzIFtHTlUgaWxnYXMgcGFyYW1ldHJhc10gW3BhcmFtZXRyYXNdIHNjZW5hcmlqYXVzLWZhaWxhcyAuLi5cbiIKIAotIzogc2hlbGwuYzoxNzgxCisjOiBzaGVsbC5jOjE3OTYKIG1zZ2lkICJHTlUgbG9uZyBvcHRpb25zOlxuIgogbXNnc3RyICJHTlUgaWxnaSBwYXJhbWV0cmFpOlxuIgogCi0jOiBzaGVsbC5jOjE3ODUKKyM6IHNoZWxsLmM6MTgwMAogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgIkFwbGlua29zIHBhcmFtZXRyYWk6XG4iCiAKLSM6IHNoZWxsLmM6MTc4NgorIzogc2hlbGwuYzoxODAxCiBtc2dpZCAiXHQtaXJzRCBvciAtYyBjb21tYW5kIG9yIC1PIHNob3B0X29wdGlvblx0XHQoaW52b2NhdGlvbiBvbmx5KVxuIgogbXNnc3RyICIiCiAiXHQtaXJzRCBhcmJhIC1jIGtvbWFuZGEgYXJiYSAtTyBzaG9wdF9udXN0YXR5bWFzXHRcdCh0aWsgacWha3ZpZXRpbXVpKVxuIgogCi0jOiBzaGVsbC5jOjE4MDEKKyM6IHNoZWxsLmM6MTgxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJcdC0lcyBvciAtbyBvcHRpb25cbiIKIG1zZ3N0ciAiXHQtJXMgYXJiYSAtbyBudXN0YXR5bWFzXG4iCiAKLSM6IHNoZWxsLmM6MTgwNworIzogc2hlbGwuYzoxODIyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIiIKICJCYW5keWtpdGUg4oCeJXMgLS1oZWxw4oCcIGFyYmEg4oCeJXMgLS11c2FnZeKAnCwgamVpIG5vcml0ZSBnYXV0aSBkYXVnaWF1ICIKICJpbmZvcm1hY2lqb3MuXG4iCiAKLSM6IHNoZWxsLmM6MTgwOAorIzogc2hlbGwuYzoxODIzCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBoZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgogbXNnc3RyICJCYW5keWtpdGUg4oCebGRkIC0taGVscOKAnCwgamVpIG5vcml0ZSBkYXVnaWF1IGluZm9ybWFjaWpvcy4iCiAKLSM6IHNoZWxsLmM6MTgwOQorIzogc2hlbGwuYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIk5hdWRva2l0ZSBrb21hbmTEhSDigJ5iYXNoYnVn4oCcIGtsYWlkb21zIHByYW5lxaF0aS5cbiIKIAotIzogc2lnLmM6NTgzCisjOiBzaWcuYzo2MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAic2lncHJvY21hc2s6ICVkOiBuZXRhaXN5a2xpbmdhIG9wZXJhY2lqYSIKIAotIzogc2lnbGlzdC5jOjQ3CisjOiBzaWdsaXN0LmM6NDgKIG1zZ2lkICJCb2d1cyBzaWduYWwiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjUwCisjOiBzaWdsaXN0LmM6NTEKIG1zZ2lkICJIYW5ndXAiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjU0CisjOiBzaWdsaXN0LmM6NTUKIG1zZ2lkICJJbnRlcnJ1cHQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjU4CisjOiBzaWdsaXN0LmM6NTkKIG1zZ2lkICJRdWl0IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo2MgorIzogc2lnbGlzdC5jOjYzCiBtc2dpZCAiSWxsZWdhbCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NjYKKyM6IHNpZ2xpc3QuYzo2NwogbXNnaWQgIkJQVCB0cmFjZS90cmFwIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo3NAorIzogc2lnbGlzdC5jOjc1CiBtc2dpZCAiQUJPUlQgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIkFCT1JUIGluc3RydWtjaWphIgogCi0jOiBzaWdsaXN0LmM6NzgKKyM6IHNpZ2xpc3QuYzo3OQogbXNnaWQgIkVNVCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6ODIKKyM6IHNpZ2xpc3QuYzo4MwogbXNnaWQgIkZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiIKIG1zZ3N0ciAiU2xhbmthdXMga2FibGVsaW8ga2xhaWRhIgogCi0jOiBzaWdsaXN0LmM6ODYKKyM6IHNpZ2xpc3QuYzo4NwogbXNnaWQgIktpbGxlZCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6OTAKKyM6IHNpZ2xpc3QuYzo5MQogIywgZnV6enkKIG1zZ2lkICJCdXMgZXJyb3IiCiBtc2dzdHIgInNpbnRha3PEl3Mga2xhaWRhIgogCi0jOiBzaWdsaXN0LmM6OTQKKyM6IHNpZ2xpc3QuYzo5NQogbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKIG1zZ3N0ciAiU2VnbWVudGFjaWpvcyBrbGFpZGEiCiAKLSM6IHNpZ2xpc3QuYzo5OAorIzogc2lnbGlzdC5jOjk5CiBtc2dpZCAiQmFkIHN5c3RlbSBjYWxsIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxMDIKKyM6IHNpZ2xpc3QuYzoxMDMKIG1zZ2lkICJCcm9rZW4gcGlwZSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTA2CisjOiBzaWdsaXN0LmM6MTA3CiBtc2dpZCAiQWxhcm0gY2xvY2siCiBtc2dzdHIgIsW9YWRpbnR1dmFzIgogCi0jOiBzaWdsaXN0LmM6MTEwCisjOiBzaWdsaXN0LmM6MTExCiBtc2dpZCAiVGVybWluYXRlZCIKIG1zZ3N0ciAiTnV0cmF1a3RhIgogCi0jOiBzaWdsaXN0LmM6MTE0CisjOiBzaWdsaXN0LmM6MTE1CiBtc2dpZCAiVXJnZW50IElPIGNvbmRpdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTE4CisjOiBzaWdsaXN0LmM6MTE5CiBtc2dpZCAiU3RvcHBlZCAoc2lnbmFsKSIKIG1zZ3N0ciAiU3VzdGFiZHl0YSAoc2lnbmFsYXMpIgogCi0jOiBzaWdsaXN0LmM6MTI2CisjOiBzaWdsaXN0LmM6MTI3CiBtc2dpZCAiQ29udGludWUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiVMSZc3RpIgogCi0jOiBzaWdsaXN0LmM6MTM0CisjOiBzaWdsaXN0LmM6MTM1CiBtc2dpZCAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTM4CisjOiBzaWdsaXN0LmM6MTM5CiBtc2dpZCAiU3RvcHBlZCAodHR5IGlucHV0KSIKIG1zZ3N0ciAiU3VzdGFiZHl0YSAodHR5IMSvdmVkaW1hcykiCiAKLSM6IHNpZ2xpc3QuYzoxNDIKKyM6IHNpZ2xpc3QuYzoxNDMKIG1zZ2lkICJTdG9wcGVkICh0dHkgb3V0cHV0KSIKIG1zZ3N0ciAiU3VzdGFiZHl0YSAodHR5IGnFoXZlZGltYXMpIgogCi0jOiBzaWdsaXN0LmM6MTQ2CisjOiBzaWdsaXN0LmM6MTQ3CiBtc2dpZCAiSS9PIHJlYWR5IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNTAKKyM6IHNpZ2xpc3QuYzoxNTEKIG1zZ2lkICJDUFUgbGltaXQiCiBtc2dzdHIgIkNQVSByaWJhIgogCi0jOiBzaWdsaXN0LmM6MTU0CisjOiBzaWdsaXN0LmM6MTU1CiBtc2dpZCAiRmlsZSBsaW1pdCIKIG1zZ3N0ciAiRmFpbMWzIHJpYmEiCiAKLSM6IHNpZ2xpc3QuYzoxNTgKKyM6IHNpZ2xpc3QuYzoxNTkKIG1zZ2lkICJBbGFybSAodmlydHVhbCkiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE2MgorIzogc2lnbGlzdC5jOjE2MwogbXNnaWQgIkFsYXJtIChwcm9maWxlKSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTY2CisjOiBzaWdsaXN0LmM6MTY3CiBtc2dpZCAiV2luZG93IGNoYW5nZWQiCiBtc2dzdHIgIkxhbmdhcyBwYWtlaXN0YXMiCiAKLSM6IHNpZ2xpc3QuYzoxNzAKKyM6IHNpZ2xpc3QuYzoxNzEKIG1zZ2lkICJSZWNvcmQgbG9jayIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTc0CisjOiBzaWdsaXN0LmM6MTc1CiBtc2dpZCAiVXNlciBzaWduYWwgMSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTc4CisjOiBzaWdsaXN0LmM6MTc5CiBtc2dpZCAiVXNlciBzaWduYWwgMiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTgyCisjOiBzaWdsaXN0LmM6MTgzCiBtc2dpZCAiSEZUIGlucHV0IGRhdGEgcGVuZGluZyIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTg2CisjOiBzaWdsaXN0LmM6MTg3CiBtc2dpZCAicG93ZXIgZmFpbHVyZSBpbW1pbmVudCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTkwCisjOiBzaWdsaXN0LmM6MTkxCiBtc2dpZCAic3lzdGVtIGNyYXNoIGltbWluZW50IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxOTQKKyM6IHNpZ2xpc3QuYzoxOTUKIG1zZ2lkICJtaWdyYXRlIHByb2Nlc3MgdG8gYW5vdGhlciBDUFUiCiBtc2dzdHIgInByb2Nlc28gbWlncmF2aW1hcyDEryBraXTEhSBDUFUiCiAKLSM6IHNpZ2xpc3QuYzoxOTgKKyM6IHNpZ2xpc3QuYzoxOTkKIG1zZ2lkICJwcm9ncmFtbWluZyBlcnJvciIKLW1zZ3N0ciAiIgorbXNnc3RyICJwcm9ncmFtYXZpbW8ga2xhaWRhIgogCi0jOiBzaWdsaXN0LmM6MjAyCisjOiBzaWdsaXN0LmM6MjAzCiBtc2dpZCAiSEZUIG1vbml0b3IgbW9kZSBncmFudGVkIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMDYKKyM6IHNpZ2xpc3QuYzoyMDcKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIHJldHJhY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjEwCisjOiBzaWdsaXN0LmM6MjExCiBtc2dpZCAiSEZUIHNvdW5kIHNlcXVlbmNlIGhhcyBjb21wbGV0ZWQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjIxNAorIzogc2lnbGlzdC5jOjIxNQogbXNnaWQgIkluZm9ybWF0aW9uIHJlcXVlc3QiCi1tc2dzdHIgIiIKK21zZ3N0ciAiSW5mb3JtYWNpam9zIHXFvmtsYXVzYSIKIAotIzogc2lnbGlzdC5jOjIyMgorIzogc2lnbGlzdC5jOjIyMwogbXNnaWQgIlVua25vd24gU2lnbmFsICMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiTmXFvmlub21hcyBzaWduYWxhcyAjIgogCi0jOiBzaWdsaXN0LmM6MjI0CisjOiBzaWdsaXN0LmM6MjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJOZcW+aW5vbWFzIHNpZ25hbGFzICMlZCIKIAotIzogc3Vic3QuYzoxMTgxIHN1YnN0LmM6MTMwMgorIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTQ1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIGAlcycgaW4gJXMiCiBtc2dzdHIgImJsb2dhcyBrZWl0aW55czogdHLFq2tzdGEg4oCeJXPigJwgJXMiCiAKLSM6IHN1YnN0LmM6MjQ1OAorIzogc3Vic3QuYzoyNzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogbXNnc3RyICIlczogbmVnYWxpbWEgcHJpc2tpcnRpIHPEhXJhxaFvIG1hc3l2byBlbGVtZW50dWkiCiAKLSM6IHN1YnN0LmM6NDQ1NiBzdWJzdC5jOjQ0NzIKKyM6IHN1YnN0LmM6NDc1NCBzdWJzdC5jOjQ3NzAKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ1MDQKKyM6IHN1YnN0LmM6NDgwMgogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ1NDkKKyM6IHN1YnN0LmM6NDg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDU1MQorIzogc3Vic3QuYzo0ODQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo0NTY5CisjOiBzdWJzdC5jOjQ4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBuYW1lZCBwaXBlICVzIGFzIGZkICVkIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDc2NQorIzogc3Vic3QuYzo1MDYzCiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo0Nzk5CisjOiBzdWJzdC5jOjUwOTcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo0ODE2CisjOiBzdWJzdC5jOjUxMTQKIG1zZ2lkICJjb21tYW5kX3N1YnN0aXR1dGU6IGNhbm5vdCBkdXBsaWNhdGUgcGlwZSBhcyBmZCAxIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NTMxOAorIzogc3Vic3QuYzo1NjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXJhbWV0ZXIgbnVsbCBvciBub3Qgc2V0IgogbXNnc3RyICIlczogcGFyYW1ldHJhcyB0dcWhxI1pYXMgYXJiYSBuZW51c3RhdHl0YXMiCiAKLSM6IHN1YnN0LmM6NTYwOAorIzogc3Vic3QuYzo1OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiBtc2dzdHIgIiVzOiBwb3Nla2lvIGnFoXJhacWha2EgPCAwIgogCi0jOiBzdWJzdC5jOjY2NjAKKyM6IHN1YnN0LmM6Njk2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiJXM6IGJsb2dhcyBrZWl0aW55cyIKIAotIzogc3Vic3QuYzo2NzQwCisjOiBzdWJzdC5jOjcwNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IG5lZ2FsaW1hIHRva2l1IGLFq2R1IHByaXNraXJ0aSIKIAotIzogc3Vic3QuYzo3NDk5CisjOiBzdWJzdC5jOjczNzQKK21zZ2lkICIiCisiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyAiCisic3Vic3RpdHV0aW9uIgorbXNnc3RyICIiCisKKyM6IHN1YnN0LmM6NzgzOQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBcImBcIiBpbiAlcyIKIG1zZ3N0ciAiYmxvZ2FzIGtlaXRpbnlzOiB0csWra3N0YSDigJ4lc+KAnCAlcyIKIAotIzogc3Vic3QuYzo4Mzc1CisjOiBzdWJzdC5jOjg3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICJuxJdyYSBhdGl0aWttZW7FszogJXMiCiAKLSM6IHRlc3QuYzoxNDUKKyM6IHRlc3QuYzoxNDYKIG1zZ2lkICJhcmd1bWVudCBleHBlY3RlZCIKIG1zZ3N0ciAidGlrxJd0YXNpIGFyZ3VtZW50byIKIAotIzogdGVzdC5jOjE1NAorIzogdGVzdC5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW50ZWdlciBleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICIlczogdGlrxJd0YXNpIHNrYWl0aW7El3MgacWhcmFpxaFrb3MiCiAKLSM6IHRlc3QuYzoyNjIKKyM6IHRlc3QuYzoyNjMKIG1zZ2lkICJgKScgZXhwZWN0ZWQiCiBtc2dzdHIgInRpa8SXdGFzaSDigJ4p4oCcIgogCi0jOiB0ZXN0LmM6MjY0CisjOiB0ZXN0LmM6MjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImApJyBleHBlY3RlZCwgZm91bmQgJXMiCiBtc2dzdHIgInRpa8SXdGFzaSDigJ4p4oCcLCByYXN0YSAlcyIKIAotIzogdGVzdC5jOjI3OSB0ZXN0LmM6Njg4IHRlc3QuYzo2OTEKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5MyB0ZXN0LmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IHRpa8SXdGFzaSB1bmFyaW5pbyBvcGVyYXRvcmlhdXMiCiAKLSM6IHRlc3QuYzo0NDQgdGVzdC5jOjczMQorIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiB0aWvEl3Rhc2kgYmluYXJpbmlvIG9wZXJhdG9yaWF1cyIKIAotIzogdGVzdC5jOjgwNgorIzogdGVzdC5jOjgxMQogbXNnaWQgIm1pc3NpbmcgYF0nIgogbXNnc3RyICJ0csWra3N0YSDigJ5d4oCcIgogCi0jOiB0cmFwLmM6MjAxCisjOiB0cmFwLmM6MjAzCiBtc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgogbXNnc3RyICJuZXRhaXN5a2xpbmdhcyBzaWduYWxvIG51bWVyaXMiCiAKLSM6IHRyYXAuYzozMjQKKyM6IHRyYXAuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVuX3BlbmRpbmdfdHJhcHM6IGJhZCB2YWx1ZSBpbiB0cmFwX2xpc3RbJWRdOiAlcCIKIG1zZ3N0ciAicnVuX3BlbmRpbmdfdHJhcHM6IGJsb2dhIHRyYXBfbGlzdFslZF0gcmVpa8WhbcSXOiAlcCIKIAotIzogdHJhcC5jOjMyOAorIzogdHJhcC5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicnVuX3BlbmRpbmdfdHJhcHM6IHNpZ25hbCBoYW5kbGVyIGlzIFNJR19ERkwsIHJlc2VuZGluZyAlZCAoJXMpIHRvIG15c2VsZiIKIG1zZ3N0ciAicnVuX3BlbmRpbmdfdHJhcHM6IHNpZ25hbG8gZG9yb2tsxJcgeXJhIFNJR19ERkwsIHNpdW7EjWlhbWFzICVkICglcykgc2F1IgogCi0jOiB0cmFwLmM6MzcyCisjOiB0cmFwLmM6MzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKIG1zZ3N0ciAidHJhcF9oYW5kbGVyOiBibG9nYXMgc2lnbmFsYXMgJWQiCiAKLSM6IHZhcmlhYmxlcy5jOjM1OAorIzogdmFyaWFibGVzLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnIgogbXNnc3RyICJrbGFpZGEgaW1wb3J0dW9qYW50IGZ1bmtjaWpvcyBhcGlicsSXxb5pbcSFIOKAniVz4oCcIgogCi0jOiB2YXJpYWJsZXMuYzo3MzYKKyM6IHZhcmlhYmxlcy5jOjc0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGVsbCBsZXZlbCAoJWQpIHRvbyBoaWdoLCByZXNldHRpbmcgdG8gMSIKIG1zZ3N0ciAiYXBsaW5rb3MgbHlnbXVvICglZCkgcGVyIGF1a8WhdGFzLCBudXN0YXRvbWEgxK8gMSIKIAotIzogdmFyaWFibGVzLmM6MTg5OAorIzogdmFyaWFibGVzLmM6MTkxNQogbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMTI3CisjOiB2YXJpYWJsZXMuYzozMTU5CiBtc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNDQgdmFyaWFibGVzLmM6MzM1MworIzogdmFyaWFibGVzLmM6MzM3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG51bGwgZXhwb3J0c3RyIgorbXNnc3RyICIlczogcGFyYW1ldHJhcyB0dcWhxI1pYXMgYXJiYSBuZW51c3RhdHl0YXMiCisKKyM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICJuZXRhaXN5a2xpbmdhcyBzaW1ib2xpcyAlZCAlcyBleHBvcnRzdHInZSIKIAotIzogdmFyaWFibGVzLmM6MzM1OQorIzogdmFyaWFibGVzLmM6MzM5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBgPScgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAiJXMgZXhwb3J0c3RyJ2UgdHLFq2tzdGEg4oCePeKAnCIKIAotIzogdmFyaWFibGVzLmM6Mzc5NAorIzogdmFyaWFibGVzLmM6MzgzNQogbXNnaWQgInBvcF92YXJfY29udGV4dDogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgZnVuY3Rpb24gY29udGV4dCIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozODA3CisjOiB2YXJpYWJsZXMuYzozODQ4CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBubyBnbG9iYWxfdmFyaWFibGVzIGNvbnRleHQiCiBtc2dzdHIgInBvcF92YXJfY29udGV4dDogbsSXcmEgZ2xvYmFsX3ZhcmlhYmxlcyBrb250ZWtzdG8iCiAKLSM6IHZhcmlhYmxlcy5jOjM4ODEKKyM6IHZhcmlhYmxlcy5jOjM5MjIKIG1zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKIG1zZ3N0ciAiIgogCisjOiB2YXJpYWJsZXMuYzo0Njc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCittc2dzdHIgIiVzOiBuZXBhdnlrbyBhdHZlcnRpOiAlcyIKKworIzogdmFyaWFibGVzLmM6NDY4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiVkOiBuZXRhaXN5a2xpbmdhcyBmYWlsbyBkZXNrcmlwdG9yaXVzOiAlcyIKKwogIzogdmVyc2lvbi5jOjQ2Ci0jLCBmdXp6eQogbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCi1tc2dzdHIgIkF1dG9yaW7El3MgdGVpc8SXcyAoQykgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCittc2dzdHIgIkF1dG9yaW7El3MgdGVpc8SXcyAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCiAKICM6IHZlcnNpb24uYzo0NwogbXNnaWQgIiIKICJMaWNlbnNlIEdQTHYzKzogR05VIEdQTCB2ZXJzaW9uIDMgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCiAiaHRtbD5cbiIKIG1zZ3N0ciAiIgorIkxpY2VuY2lqYSBHUEx2Mys6IEdOVSBHUEwgdmVyc2lqYSAzIGFyYmEgbmF1amVzbsSXIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy8iCisiZ3BsLmh0bWw+XG4iCiAKLSM6IHZlcnNpb24uYzo4NgorIzogdmVyc2lvbi5jOjg2IHZlcnNpb24yLmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMgKCVzKVxuIgotbXNnc3RyICIiCittc2dzdHIgIkdOVSBiYXNoLCB2ZXJzaWphICVzICglcylcbiIKIAotIzogdmVyc2lvbi5jOjkxCisjOiB2ZXJzaW9uLmM6OTEgdmVyc2lvbjIuYzo4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC5cbiIKIG1zZ3N0ciAiIgorIlRhaSB5cmEgbGFpc3ZhIHByb2dyYW1pbsSXIMSvcmFuZ2E7IGrFq3MgZXNhdGUgbGFpc3ZhcyBrZWlzdGkgaXIgcGxhdGludGkgasSFLlxuIgogCi0jOiB2ZXJzaW9uLmM6OTIKKyM6IHZlcnNpb24uYzo5MiB2ZXJzaW9uMi5jOjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiTsSXcmEgSk9LSU9TIEdBUkFOVElKT1MsIGtpZWsgdGlrIHTEhSBsZWlkxb5pYSDEr3N0YXR5bWFzLlxuIgogCi0jOiB4bWFsbG9jLmM6OTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjOiB2ZXJzaW9uMi5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCittc2dzdHIgIkF1dG9yaW7El3MgdGVpc8SXcyAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCisKKyM6IHZlcnNpb24yLmM6ODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMaWNlbnNlIEdQTHYyKzogR05VIEdQTCB2ZXJzaW9uIDIgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiaHRtbD5cbiIKK21zZ3N0ciAiIgorIkxpY2VuY2lqYSBHUEx2Mys6IEdOVSBHUEwgdmVyc2lqYSAzIGFyYmEgbmF1amVzbsSXIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy8iCisiZ3BsLmh0bWw+XG4iCisKKyM6IHhtYWxsb2MuYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgogbXNnc3RyICJ4bWFsbG9jOiBuZXBhdnlrbyBpxaFza2lydGkgJWx1IGJhaXTFsyAoJWx1IGJhaXTFsyBpxaFza2lydGEpIgogCi0jOiB4bWFsbG9jLmM6OTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKKyM6IHhtYWxsb2MuYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCiBtc2dzdHIgInhtYWxsb2M6IG5lcGF2eWtvIGnFoXNraXJ0aSAlbHUgYmFpdMWzIgogCi0jOiB4bWFsbG9jLmM6MTE0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICJ4cmVhbGxvYzogbmVwYXZ5a28gacWhc2tpcnRpICVsdSBiYWl0xbMgKGnFoXNraXJ0YSAlbHUgYmFpdMWzKSIKLQotIzogeG1hbGxvYy5jOjExNgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKLW1zZ3N0ciAieHJlYWxsb2M6IG5lcGF2eWtvIGnFoXNraXJ0aSAlbHUgYmFpdMWzIgotCi0jOiB4bWFsbG9jLmM6MTUwCi0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyM6IHhtYWxsb2MuYzoxNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiBtc2dzdHIgInhtYWxsb2M6ICVzOiVkOiBuZXBhdnlrbyBpxaFza2lydGkgJWx1IGJhaXTFsyAoacWhc2tpcnRhICVsdSBiYWl0xbMpIgogCi0jOiB4bWFsbG9jLmM6MTUyCi0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorIzogeG1hbGxvYy5jOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgogbXNnc3RyICJ4bWFsbG9jOiAlczolZDogbmVwYXZ5a28gacWhc2tpcnRpICVsdSBiYWl0xbMiCiAKLSM6IHhtYWxsb2MuYzoxNzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IG5lcGF2eWtvIGnFoXNraXJ0aSAlbHUgYmFpdMWzIChpxaFza2lydGEgJWx1IGJhaXTFsykiCi0KLSM6IHhtYWxsb2MuYzoxNzYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IG5lcGF2eWtvIGnFoXNraXJ0aSAlbHUgYmFpdMWzIgotCiAjOiBidWlsdGlucy5jOjQzCiBtc2dpZCAiYWxpYXMgWy1wXSBbbmFtZVs9dmFsdWVdIC4uLiBdIgotbXNnc3RyICIiCittc2dzdHIgImFsaWFzIFstcF0gW3BhdmFkaW5pbWFzWz1yZWlrxaFtxJddIC4uLiBdIgogCiAjOiBidWlsdGlucy5jOjQ3CiBtc2dpZCAidW5hbGlhcyBbLWFdIG5hbWUgW25hbWUgLi4uXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ1bmFsaWFzIFstYV0gcGF2YWRpbmltYXMgW3BhdmFkaW5pbWFzIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6NTEKIG1zZ2lkICIiCkBAIC0xODUwLDkxICsxOTM2LDkyIEBACiAKICM6IGJ1aWx0aW5zLmM6NTQKIG1zZ2lkICJicmVhayBbbl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiYnJlYWsgW25dIgogCiAjOiBidWlsdGlucy5jOjU2CiBtc2dpZCAiY29udGludWUgW25dIgotbXNnc3RyICIiCittc2dzdHIgImNvbnRpbnVlIFtuXSIKIAogIzogYnVpbHRpbnMuYzo1OAogbXNnaWQgImJ1aWx0aW4gW3NoZWxsLWJ1aWx0aW4gW2FyZyAuLi5dXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJidWlsdGluIFthcGxpbmtvcy1rb21hbmRhIFthcmcgLi4uXV0iCiAKICM6IGJ1aWx0aW5zLmM6NjEKIG1zZ2lkICJjYWxsZXIgW2V4cHJdIgotbXNnc3RyICIiCittc2dzdHIgImNhbGxlciBbacWhcmFpxaFrYV0iCiAKICM6IGJ1aWx0aW5zLmM6NjQKIG1zZ2lkICJjZCBbLUx8LVBdIFtkaXJdIgotbXNnc3RyICIiCittc2dzdHIgImNkIFstTHwtUF0gW2FwbGFua2FzXSIKIAogIzogYnVpbHRpbnMuYzo2NgogbXNnaWQgInB3ZCBbLUxQXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJwd2QgWy1MUF0iCiAKICM6IGJ1aWx0aW5zLmM6NjgKIG1zZ2lkICI6IgotbXNnc3RyICIiCittc2dzdHIgIjoiCiAKICM6IGJ1aWx0aW5zLmM6NzAKIG1zZ2lkICJ0cnVlIgotbXNnc3RyICIiCittc2dzdHIgInRydWUiCiAKICM6IGJ1aWx0aW5zLmM6NzIKIG1zZ2lkICJmYWxzZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJmYWxzZSIKIAogIzogYnVpbHRpbnMuYzo3NAogbXNnaWQgImNvbW1hbmQgWy1wVnZdIGNvbW1hbmQgW2FyZyAuLi5dIgotbXNnc3RyICIiCittc2dzdHIgImNvbW1hbmQgWy1wVnZdIGtvbWFuZGEgW2FyZyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjc2CiBtc2dpZCAiZGVjbGFyZSBbLWFBZkZpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgotbXNnc3RyICIiCittc2dzdHIgImRlY2xhcmUgWy1hQWZGaWxydHV4XSBbLXBdIFtwYXZhZGluaW1hc1s9cmVpa8WhbcSXXSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjc4CiBtc2dpZCAidHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJ0eXBlc2V0IFstYUFmRmlscnR1eF0gWy1wXSBwYXZhZGluaW1hc1s9cmVpa8WhbcSXXSAuLi4iCiAKICM6IGJ1aWx0aW5zLmM6ODAKIG1zZ2lkICJsb2NhbCBbb3B0aW9uXSBuYW1lWz12YWx1ZV0gLi4uIgotbXNnc3RyICIiCittc2dzdHIgImxvY2FsIFtvcHRpb25dIHBhdmFkaW5pbWFzWz1yZWlrxaFtxJddIC4uLiIKIAogIzogYnVpbHRpbnMuYzo4MwogbXNnaWQgImVjaG8gWy1uZUVdIFthcmcgLi4uXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJlY2hvIFstbmVFXSBbYXJnIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6ODcKIG1zZ2lkICJlY2hvIFstbl0gW2FyZyAuLi5dIgotbXNnc3RyICIiCittc2dzdHIgImVjaG8gWy1uXSBbYXJnIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6OTAKIG1zZ2lkICJlbmFibGUgWy1hXSBbLWRucHNdIFstZiBmaWxlbmFtZV0gW25hbWUgLi4uXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJlbmFibGUgWy1hXSBbLWRucHNdIFstZiBmYWlsb3BhdmFkaW5pbWFzXSBbcGF2YWRpbmltYXMgLi4uXSIKIAogIzogYnVpbHRpbnMuYzo5MgogbXNnaWQgImV2YWwgW2FyZyAuLi5dIgotbXNnc3RyICIiCittc2dzdHIgImV2YWwgW2FyZyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjk0CiBtc2dpZCAiZ2V0b3B0cyBvcHRzdHJpbmcgbmFtZSBbYXJnXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJnZXRvcHRzIG9wdHNla29zIHBhdmFkaW5pbWFzIFthcmddIgogCiAjOiBidWlsdGlucy5jOjk2CiBtc2dpZCAiZXhlYyBbLWNsXSBbLWEgbmFtZV0gW2NvbW1hbmQgW2FyZ3VtZW50cyAuLi5dXSBbcmVkaXJlY3Rpb24gLi4uXSIKIG1zZ3N0ciAiIgorImV4ZWMgWy1jbF0gWy1hIHBhdmFkaW5pbWFzXSBba29tYW5kYSBbYXJndW1lbnRhaSAuLi5dXSBbbnVrcmVpcGltYXMgLi4uXSIKIAogIzogYnVpbHRpbnMuYzo5OAogbXNnaWQgImV4aXQgW25dIgotbXNnc3RyICIiCittc2dzdHIgImV4aXQgW25dIgogCiAjOiBidWlsdGlucy5jOjEwMAogbXNnaWQgImxvZ291dCBbbl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAibG9nb3V0IFtuXSIKIAogIzogYnVpbHRpbnMuYzoxMDMKIG1zZ2lkICJmYyBbLWUgZW5hbWVdIFstbG5yXSBbZmlyc3RdIFtsYXN0XSBvciBmYyAtcyBbcGF0PXJlcF0gW2NvbW1hbmRdIgotbXNnc3RyICIiCittc2dzdHIgImZjIFstZSBldmFyZGFzXSBbLWxucl0gW3Bpcm1dIFtwYXNrXSBhcmJhIGZjIC1zIFtwYXQ9cmVwXSBba29tYW5kYV0iCiAKICM6IGJ1aWx0aW5zLmM6MTA3CiBtc2dpZCAiZmcgW2pvYl9zcGVjXSIKQEAgLTE5NDksOCArMjAzNiw5IEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxMTcKLW1zZ2lkICJoZWxwIFstZHNdIFtwYXR0ZXJuIC4uLl0iCi1tc2dzdHIgIiIKKyMsIGZ1enp5Cittc2dpZCAiaGVscCBbLWRtc10gW3BhdHRlcm4gLi4uXSIKK21zZ3N0ciAiZWNobyBbLW5dIFthcmcgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMjEKIG1zZ2lkICIiCkBAIC0xOTcxLDEwMyArMjA1OSwxMDIgQEAKICJraWxsIFstcyBzaWdzcGVjIHwgLW4gc2lnbnVtIHwgLXNpZ3NwZWNdIHBpZCB8IGpvYnNwZWMgLi4uIG9yIGtpbGwgLWwgIgogIltzaWdzcGVjXSIKIG1zZ3N0ciAiIgorImtpbGwgWy1zIHNpZ3NwZWMgfCAtbiBzaWdudW0gfCAtc2lnc3BlY10gcGlkIHwgZGFyYm9zcGVjIC4uLiBhcmJhIGtpbGwgLWwgIgorIltzaWdzcGVjXSIKIAogIzogYnVpbHRpbnMuYzoxMzQKIG1zZ2lkICJsZXQgYXJnIFthcmcgLi4uXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJsZXQgYXJnIFthcmcgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMzYKIG1zZ2lkICIiCi0icmVhZCBbLWVyc10gWy1hIGFycmF5XSBbLWQgZGVsaW1dIFstaSB0ZXh0XSBbLW4gbmNoYXJzXSBbLXAgcHJvbXB0XSBbLXQgIgotInRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXSIKKyJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstTiBuY2hhcnNdIFstcCAiCisicHJvbXB0XSBbLXQgdGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MTM4CiBtc2dpZCAicmV0dXJuIFtuXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJyZXR1cm4gW25dIgogCiAjOiBidWlsdGlucy5jOjE0MAogbXNnaWQgInNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbYXJnIC4uLl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAic2V0IFstLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gbnVzdGF0eW1hc10gW2FyZyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjE0MgogbXNnaWQgInVuc2V0IFstZl0gWy12XSBbbmFtZSAuLi5dIgotbXNnc3RyICIiCittc2dzdHIgInVuc2V0IFstZl0gWy12XSBbcGF2YWRpbmltYXMgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxNDQKIG1zZ2lkICJleHBvcnQgWy1mbl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIGV4cG9ydCAtcCIKLW1zZ3N0ciAiIgorbXNnc3RyICJleHBvcnQgWy1mbl0gW3BhdmFkaW5pbWFzWz12ZXJ0xJddIC4uLl0gYXJiYSBleHBvcnQgLXAiCiAKICM6IGJ1aWx0aW5zLmM6MTQ2CiBtc2dpZCAicmVhZG9ubHkgWy1hZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgotbXNnc3RyICIiCittc2dzdHIgInJlYWRvbmx5IFstYWZdIFtwYXZhZGluaW1hc1s9dmVydMSXXSAuLi5dIGFyYmEgcmVhZG9ubHkgLXAiCiAKICM6IGJ1aWx0aW5zLmM6MTQ4Ci0jLCBmdXp6eQogbXNnaWQgInNoaWZ0IFtuXSIKLW1zZ3N0ciAicG9zdMWrbWnFsyBza2FpxI1pdXMiCittc2dzdHIgInNoaWZ0IFtuXSIKIAogIzogYnVpbHRpbnMuYzoxNTAKLSMsIGZ1enp5CiBtc2dpZCAic291cmNlIGZpbGVuYW1lIFthcmd1bWVudHNdIgotbXNnc3RyICJyZWlraWEgZmFpbG8gcGF2YWRpbmltbyBhcmd1bWVudG8iCittc2dzdHIgInNvdXJjZSBmYWlsb3BhdmFkaW5pbWFzIFthcmd1bWVudGFpXSIKIAogIzogYnVpbHRpbnMuYzoxNTIKLSMsIGZ1enp5CiBtc2dpZCAiLiBmaWxlbmFtZSBbYXJndW1lbnRzXSIKLW1zZ3N0ciAicmVpa2lhIGZhaWxvIHBhdmFkaW5pbW8gYXJndW1lbnRvIgorbXNnc3RyICIuIGZhaWxvcGF2YWRpbmltYXMgW2FyZ3VtZW50YWldIgogCiAjOiBidWlsdGlucy5jOjE1NQogbXNnaWQgInN1c3BlbmQgWy1mXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJzdXNwZW5kIFstZl0iCiAKICM6IGJ1aWx0aW5zLmM6MTU4CiBtc2dpZCAidGVzdCBbZXhwcl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAidGVzdCBbacWhcmtdIgogCiAjOiBidWlsdGlucy5jOjE2MAogbXNnaWQgIlsgYXJnLi4uIF0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiWyBhcmcuLi4gXSIKIAogIzogYnVpbHRpbnMuYzoxNjIKIG1zZ2lkICJ0aW1lcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJ0aW1lcyIKIAogIzogYnVpbHRpbnMuYzoxNjQKIG1zZ2lkICJ0cmFwIFstbHBdIFtbYXJnXSBzaWduYWxfc3BlYyAuLi5dIgotbXNnc3RyICIiCittc2dzdHIgInRyYXAgWy1scF0gW1thcmddIHNpZ25hbG9fc3BlYyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjE2NgogbXNnaWQgInR5cGUgWy1hZnB0UF0gbmFtZSBbbmFtZSAuLi5dIgotbXNnc3RyICIiCittc2dzdHIgInR5cGUgWy1hZnB0UF0gcGF2YWRpbmltYXMgW3BhdmFkaW5pbWFzIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTY5CiBtc2dpZCAidWxpbWl0IFstU0hhY2RlZmlsbW5wcXJzdHV2eF0gW2xpbWl0XSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ1bGltaXQgWy1TSGFjZGVmaWxtbnBxcnN0dXZ4XSBbcmliYV0iCiAKICM6IGJ1aWx0aW5zLmM6MTcyCiBtc2dpZCAidW1hc2sgWy1wXSBbLVNdIFttb2RlXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ1bWFzayBbLXBdIFstU10gW3Jlxb5pbWFzXSIKIAogIzogYnVpbHRpbnMuYzoxNzUKIG1zZ2lkICJ3YWl0IFtpZF0iCi1tc2dzdHIgIiIKK21zZ3N0ciAid2FpdCBbaWRdIgogCiAjOiBidWlsdGlucy5jOjE3OQogbXNnaWQgIndhaXQgW3BpZF0iCi1tc2dzdHIgIiIKK21zZ3N0ciAid2FpdCBbcGlkXSIKIAogIzogYnVpbHRpbnMuYzoxODIKIG1zZ2lkICJmb3IgTkFNRSBbaW4gV09SRFMgLi4uIF0gOyBkbyBDT01NQU5EUzsgZG9uZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJmb3IgUEFWQURJTklNQVMgW2luIMW9T0TFvUlBSSAuLi4gXSA7IGRvIEtPTUFORE9TOyBkb25lIgogCiAjOiBidWlsdGlucy5jOjE4NAogbXNnaWQgImZvciAoKCBleHAxOyBleHAyOyBleHAzICkpOyBkbyBDT01NQU5EUzsgZG9uZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJmb3IgKCggacWhcmsxOyBpxaFyazI7IGnFoXJrMyApKTsgZG8gS09NQU5ET1M7IGRvbmUiCiAKICM6IGJ1aWx0aW5zLmM6MTg2CiBtc2dpZCAic2VsZWN0IE5BTUUgW2luIFdPUkRTIC4uLiA7XSBkbyBDT01NQU5EUzsgZG9uZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJzZWxlY3QgUEFWQURJTklNQVMgW2luIMW9T0TFvUlBSSAuLi4gO10gZG8gS09NQU5ET1M7IGRvbmUiCiAKICM6IGJ1aWx0aW5zLmM6MTg4CiBtc2dpZCAidGltZSBbLXBdIHBpcGVsaW5lIgpAQCAtMjA4MiwxNCArMjE2OSwxNiBAQAogImlmIENPTU1BTkRTOyB0aGVuIENPTU1BTkRTOyBbIGVsaWYgQ09NTUFORFM7IHRoZW4gQ09NTUFORFM7IF0uLi4gWyBlbHNlICIKICJDT01NQU5EUzsgXSBmaSIKIG1zZ3N0ciAiIgorImlmIEtPTUFORE9TOyB0aGVuIEtPTUFORE9TOyBbIGVsaWYgS09NQU5ET1M7IHRoZW4gS09NQU5ET1M7IF0uLi4gWyBlbHNlICIKKyJLT01BTkRPUzsgXSBmaSIKIAogIzogYnVpbHRpbnMuYzoxOTQKIG1zZ2lkICJ3aGlsZSBDT01NQU5EUzsgZG8gQ09NTUFORFM7IGRvbmUiCi1tc2dzdHIgIiIKK21zZ3N0ciAid2hpbGUgS09NQU5ET1M7IGRvIEtPTUFORE9TOyBkb25lIgogCiAjOiBidWlsdGlucy5jOjE5NgogbXNnaWQgInVudGlsIENPTU1BTkRTOyBkbyBDT01NQU5EUzsgZG9uZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ1bnRpbCBLT01BTkRPUzsgZG8gS09NQU5ET1M7IGRvbmUiCiAKICM6IGJ1aWx0aW5zLmM6MTk4CiBtc2dpZCAiY29wcm9jIFtOQU1FXSBjb21tYW5kIFtyZWRpcmVjdGlvbnNdIgpAQCAtMjA5NywxNSArMjE4NiwxNSBAQAogCiAjOiBidWlsdGlucy5jOjIwMAogbXNnaWQgImZ1bmN0aW9uIG5hbWUgeyBDT01NQU5EUyA7IH0gb3IgbmFtZSAoKSB7IENPTU1BTkRTIDsgfSIKLW1zZ3N0ciAiIgorbXNnc3RyICJmdW5rY2lqb3MgcGF2YWRpbmltYXMgeyBLT01BTkRPUyA7IH0gYXJiYSBuYW1lICgpIHsgS09NQU5ET1MgOyB9IgogCiAjOiBidWlsdGlucy5jOjIwMgogbXNnaWQgInsgQ09NTUFORFMgOyB9IgotbXNnc3RyICIiCittc2dzdHIgInsgS09NQU5ET1MgOyB9IgogCiAjOiBidWlsdGlucy5jOjIwNAogbXNnaWQgImpvYl9zcGVjIFsmXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJkYXJib19zcGVjIFsmXSIKIAogIzogYnVpbHRpbnMuYzoyMDYKIG1zZ2lkICIoKCBleHByZXNzaW9uICkpIgpAQCAtMjExNywzMyArMjIwNiwzMyBAQAogCiAjOiBidWlsdGlucy5jOjIxMAogbXNnaWQgInZhcmlhYmxlcyAtIE5hbWVzIGFuZCBtZWFuaW5ncyBvZiBzb21lIHNoZWxsIHZhcmlhYmxlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJraW50YW1pZWppIOKAkyBLYWkga3VyacWzIGFwbGlua29zIGtpbnRhbcWzasWzIHBhdmFkaW5pbWFpIGlyIHJlaWvFoW3El3MiCiAKICM6IGJ1aWx0aW5zLmM6MjEzCiBtc2dpZCAicHVzaGQgWy1uXSBbK04gfCAtTiB8IGRpcl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAicHVzaGQgWy1uXSBbK04gfCAtTiB8IGRpcl0iCiAKICM6IGJ1aWx0aW5zLmM6MjE3CiBtc2dpZCAicG9wZCBbLW5dIFsrTiB8IC1OXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJwb3BkIFstbl0gWytOIHwgLU5dIgogCiAjOiBidWlsdGlucy5jOjIyMQogbXNnaWQgImRpcnMgWy1jbHB2XSBbK05dIFstTl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZGlycyBbLWNscHZdIFsrTl0gWy1OXSIKIAogIzogYnVpbHRpbnMuYzoyMjQKIG1zZ2lkICJzaG9wdCBbLXBxc3VdIFstb10gW29wdG5hbWUgLi4uXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJzaG9wdCBbLXBxc3VdIFstb10gW29wdHZhcmRhcyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjIyNgogbXNnaWQgInByaW50ZiBbLXYgdmFyXSBmb3JtYXQgW2FyZ3VtZW50c10iCi1tc2dzdHIgIiIKK21zZ3N0ciAicHJpbnRmIFstdiBraW50XSBmb3JtYXRhcyBbYXJndW1lbnRhaV0iCiAKICM6IGJ1aWx0aW5zLmM6MjI5CiBtc2dpZCAiIgotImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy1XICIKLSJ3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyBzdWZmaXhdICIKLSJbbmFtZSAuLi5dIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy0iCisiVyB3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyAiCisic3VmZml4XSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MjMzCkBAIC0yMTUzLDggKzIyNDIsOSBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MjM3Ci1tc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbbmFtZSAuLi5dIgotbXNnc3RyICIiCisjLCBmdXp6eQorbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gWy1ERV0gW25hbWUgLi4uXSIKK21zZ3N0ciAic2hvcHQgWy1wcXN1XSBbLW9dIFtvcHR2YXJkYXMgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoyNDAKIG1zZ2lkICIiCkBAIC0yOTE1LDcgKzMwMDUsMTEgQEAKICIgICAgICAtZVx0XHR1c2UgUmVhZGxpbmUgdG8gb2J0YWluIHRoZSBsaW5lIGluIGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCiAiICAgICAgLWkgdGV4dFx0VXNlIFRFWFQgYXMgdGhlIGluaXRpYWwgdGV4dCBmb3IgUmVhZGxpbmVcbiIKICIgICAgICAtbiBuY2hhcnNcdHJldHVybiBhZnRlciByZWFkaW5nIE5DSEFSUyBjaGFyYWN0ZXJzIHJhdGhlciB0aGFuIHdhaXRpbmdcbiIKLSIgICAgXHRcdGZvciBhIG5ld2xpbmVcbiIKKyIgICAgXHRcdGZvciBhIG5ld2xpbmUsIGJ1dCBob25vciBhIGRlbGltaXRlciBpZiBmZXdlciB0aGFuIE5DSEFSU1xuIgorIiAgICBcdFx0Y2hhcmFjdGVycyBhcmUgcmVhZCBiZWZvcmUgdGhlIGRlbGltaXRlclxuIgorIiAgICAgIC1OIG5jaGFyc1x0cmV0dXJuIG9ubHkgYWZ0ZXIgcmVhZGluZyBleGFjdGx5IE5DSEFSUyBjaGFyYWN0ZXJzLCAiCisidW5sZXNzXG4iCisiICAgIFx0XHRFT0YgaXMgZW5jb3VudGVyZWQgb3IgcmVhZCB0aW1lcyBvdXQsIGlnbm9yaW5nIGFueSBkZWxpbWl0ZXJcbiIKICIgICAgICAtcCBwcm9tcHRcdG91dHB1dCB0aGUgc3RyaW5nIFBST01QVCB3aXRob3V0IGEgdHJhaWxpbmcgbmV3bGluZSBiZWZvcmVcbiIKICIgICAgXHRcdGF0dGVtcHRpbmcgdG8gcmVhZFxuIgogIiAgICAgIC1yXHRcdGRvIG5vdCBhbGxvdyBiYWNrc2xhc2hlcyB0byBlc2NhcGUgYW55IGNoYXJhY3RlcnNcbiIKQEAgLTI5MzUsNyArMzAyOSw3IEBACiAiICAgIG9yIGFuIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIGlzIHN1cHBsaWVkIGFzIHRoZSBhcmd1bWVudCB0byAtdS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMDA2CisjOiBidWlsdGlucy5jOjEwMDkKIG1zZ2lkICIiCiAiUmV0dXJuIGZyb20gYSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0yOTQ3LDcgKzMwNDEsNyBAQAogIiAgICBSZXR1cm5zIE4sIG9yIGZhaWx1cmUgaWYgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbiBvciBzY3JpcHQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTAxOQorIzogYnVpbHRpbnMuYzoxMDIyCiBtc2dpZCAiIgogIlNldCBvciB1bnNldCB2YWx1ZXMgb2Ygc2hlbGwgb3B0aW9ucyBhbmQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTMwMjksNyArMzEyMyw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTEwMQorIzogYnVpbHRpbnMuYzoxMTA0CiBtc2dpZCAiIgogIlVuc2V0IHZhbHVlcyBhbmQgYXR0cmlidXRlcyBvZiBzaGVsbCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zMDQ5LDcgKzMxNDMsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgTkFNRSBpcyByZWFkLW9ubHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTEyMQorIzogYnVpbHRpbnMuYzoxMTI0CiBtc2dpZCAiIgogIlNldCBleHBvcnQgYXR0cmlidXRlIGZvciBzaGVsbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMzA2OCw3ICszMTYyLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE0MAorIzogYnVpbHRpbnMuYzoxMTQzCiBtc2dpZCAiIgogIk1hcmsgc2hlbGwgdmFyaWFibGVzIGFzIHVuY2hhbmdlYWJsZS5cbiIKICIgICAgXG4iCkBAIC0zMDg4LDcgKzMxODIsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTYxCisjOiBidWlsdGlucy5jOjExNjQKIG1zZ2lkICIiCiAiU2hpZnQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTMwOTksNyArMzE5Myw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTiBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gJCMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE3MyBidWlsdGlucy5jOjExODgKKyM6IGJ1aWx0aW5zLmM6MTE3NiBidWlsdGlucy5jOjExOTEKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCkBAIC0zMTE4LDcgKzMyMTIsNyBAQAogIiAgICBKZWkgbnVyb2R5dGEgQVJHVU1FTlTFsiwgamllIHRhbXBhIHBvemljaW5pYWlzIHBhcmFtZXRyYWlzIGnFoWt2aWV0dXNcbiIKICIgICAgRkFJTMSELiIKIAotIzogYnVpbHRpbnMuYzoxMjA0CisjOiBidWlsdGlucy5jOjEyMDcKIG1zZ2lkICIiCiAiU3VzcGVuZCBzaGVsbCBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzEzMiw3ICszMjI2LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTIyMAorIzogYnVpbHRpbnMuYzoxMjIzCiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtMzIwOSw3ICszMzAzLDcgQEAKICIgICAgZmFsc2Ugb3IgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjk2CisjOiBidWlsdGlucy5jOjEyOTkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC0zMjE3LDcgKzMzMTEsNyBAQAogIiAgICBiZSBhIGxpdGVyYWwgYF0nLCB0byBtYXRjaCB0aGUgb3BlbmluZyBgWycuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTMwNQorIzogYnVpbHRpbnMuYzoxMzA4CiBtc2dpZCAiIgogIkRpc3BsYXkgcHJvY2VzcyB0aW1lcy5cbiIKICIgICAgXG4iCkBAIC0zMjI5LDcgKzMzMjMsNyBAQAogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTMxNworIzogYnVpbHRpbnMuYzoxMzIwCiBtc2dpZCAiIgogIlRyYXAgc2lnbmFscyBhbmQgb3RoZXIgZXZlbnRzLlxuIgogIiAgICBcbiIKQEAgLTMyNjUsNyArMzM1OSw3IEBACiAiZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTM0OQorIzogYnVpbHRpbnMuYzoxMzUyCiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZCB0eXBlLlxuIgogIiAgICBcbiIKQEAgLTMyOTUsNyArMzM4OSw3IEBACiAiZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MAorIzogYnVpbHRpbnMuYzoxMzgzCiBtc2dpZCAiIgogIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCiAiICAgIFxuIgpAQCAtMzMzOSw3ICszNDMzLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQyNQorIzogYnVpbHRpbnMuYzoxNDI4CiBtc2dpZCAiIgogIkRpc3BsYXkgb3Igc2V0IGZpbGUgbW9kZSBtYXNrLlxuIgogIiAgICBcbiIKQEAgLTMzNTcsNyArMzQ1MSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTU9ERSBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NDUKKyM6IGJ1aWx0aW5zLmM6MTQ0OAogbXNnaWQgIiIKICJXYWl0IGZvciBqb2IgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTMzNzQsNyArMzQ2OCw3IEBACiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NjMKKyM6IGJ1aWx0aW5zLmM6MTQ2NgogbXNnaWQgIiIKICJXYWl0IGZvciBwcm9jZXNzIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC0zMzg4LDcgKzM0ODIsNyBAQAogIiAgICBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDc4CisjOiBidWlsdGlucy5jOjE0ODEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTM0MDEsNyArMzQ5NSw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0OTIKKyM6IGJ1aWx0aW5zLmM6MTQ5NQogbXNnaWQgIiIKICJBcml0aG1ldGljIGZvciBsb29wLlxuIgogIiAgICBcbiIKQEAgLTM0MTgsNyArMzUxMiw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1MTAKKyM6IGJ1aWx0aW5zLmM6MTUxMwogbXNnaWQgIiIKICJTZWxlY3Qgd29yZHMgZnJvbSBhIGxpc3QgYW5kIGV4ZWN1dGUgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMzQzOCw3ICszNTMyLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTUzMQorIzogYnVpbHRpbnMuYzoxNTM0CiBtc2dpZCAiIgogIlJlcG9ydCB0aW1lIGNvbnN1bWVkIGJ5IHBpcGVsaW5lJ3MgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM0NTQsNyArMzU0OCw3IEBACiAiICAgIFRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSByZXR1cm4gc3RhdHVzIG9mIFBJUEVMSU5FLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1NDgKKyM6IGJ1aWx0aW5zLmM6MTU1MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIHBhdHRlcm4gbWF0Y2hpbmcuXG4iCiAiICAgIFxuIgpAQCAtMzQ2NSw3ICszNTU5LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU2MAorIzogYnVpbHRpbnMuYzoxNTYzCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gY29uZGl0aW9uYWwuXG4iCiAiICAgIFxuIgpAQCAtMzQ4Niw3ICszNTgwLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU3NworIzogYnVpbHRpbnMuYzoxNTgwCiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IHN1Y2NlZWRzLlxuIgpAQCAtMzUwMCw3ICszNTk0LDcgQEAKICJJxaFza2xlaXN0aSBpciB2eWtkeXRpIEtPTUFOREFTIHRvbCwga29sIGdhbHV0aW7ElyBrb21hbmRhIGnFoVxuIgogIiAgICDigJ53aGlsZeKAnCBrb21hbmTFsyBncsSFxb5pbmEga2xhaWRvcyBrb2TEhSAwLiIKIAotIzogYnVpbHRpbnMuYzoxNTg5CisjOiBidWlsdGlucy5jOjE1OTIKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3QgZG9lcyBub3Qgc3VjY2VlZC5cbiIKQEAgLTM1MTQsNyArMzYwOCw3IEBACiAiScWhc2tsZWlzdGkgaXIgdnlrZHl0aSBLT01BTkRBUyB0b2wsIGtvbCBnYWx1dGluxJcga29tYW5kYSBpxaFcbiIKICIgICAg4oCedW50aWzigJwga29tYW5kxbMgZ3LEhcW+aW5hIGtsYWlkb3Mga29kxIUsIG5lbHlnxbMgMC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYwMQorIzogYnVpbHRpbnMuYzoxNjA0CiBtc2dpZCAiIgogIkNyZWF0ZSBhIGNvcHJvY2VzcyBuYW1lZCBOQU1FLlxuIgogIiAgICBcbiIKQEAgLTM1MjcsNyArMzYyMSw3IEBACiAiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYxNQorIzogYnVpbHRpbnMuYzoxNjE4CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNTQxLDcgKzM2MzUsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgcmVhZG9ubHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYyOQorIzogYnVpbHRpbnMuYzoxNjMyCiAjLCBmdXp6eQogbXNnaWQgIiIKICJHcm91cCBjb21tYW5kcyBhcyBhIHVuaXQuXG4iCkBAIC0zNTU1LDcgKzM2NDksNyBAQAogIlZ5a2R5dGkgZWlsxJkga29tYW5kxbMgZ3J1cMSXamUuICBUYWkgeXJhIHZpZW5hcyBpxaEgYsWrZMWzIG51a3JlaXB0aVxuIgogIiAgICB2aXNvcyBlaWzEl3Mga29tYW5kxbMgxK92ZWRpbcSFL2nFoXZlZGltxIUuIgogCi0jOiBidWlsdGlucy5jOjE2NDEKKyM6IGJ1aWx0aW5zLmM6MTY0NAogbXNnaWQgIiIKICJSZXN1bWUgam9iIGluIGZvcmVncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMzU2OSw3ICszNjYzLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSByZXN1bWVkIGpvYi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjU2CisjOiBidWlsdGlucy5jOjE2NTkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTM1ODAsNyArMzY3NCw3IEBACiAiICAgIFJldHVybnMgMSBpZiBFWFBSRVNTSU9OIGV2YWx1YXRlcyB0byAwOyByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NjgKKyM6IGJ1aWx0aW5zLmM6MTY3MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbmRpdGlvbmFsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMzYwOCw3ICszNzAyLDcgQEAKICIgICAgMCBvciAxIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBFWFBSRVNTSU9OLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2OTQKKyM6IGJ1aWx0aW5zLmM6MTY5NwogbXNnaWQgIiIKICJDb21tb24gc2hlbGwgdmFyaWFibGUgbmFtZXMgYW5kIHVzYWdlLlxuIgogIiAgICBcbiIKQEAgLTM2NjIsNyArMzc1Niw3IEBACiAiICAgIFx0XHRjb21tYW5kcyBzaG91bGQgYmUgc2F2ZWQgb24gdGhlIGhpc3RvcnkgbGlzdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE3NTEKKyM6IGJ1aWx0aW5zLmM6MTc1NAogbXNnaWQgIiIKICJBZGQgZGlyZWN0b3JpZXMgdG8gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzY5Myw3ICszNzg3LDcgQEAKICIgICAgY2hhbmdlIGZhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE3ODUKKyM6IGJ1aWx0aW5zLmM6MTc4OAogbXNnaWQgIiIKICJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zNzIwLDcgKzM4MTQsNyBAQAogIiAgICBjaGFuZ2UgZmFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTgxNQorIzogYnVpbHRpbnMuYzoxODE4CiBtc2dpZCAiIgogIkRpc3BsYXkgZGlyZWN0b3J5IHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM3NDksNyArMzg0Myw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4NDQKKyM6IGJ1aWx0aW5zLmM6MTg0NwogbXNnaWQgIiIKICJTZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzc3MCw3ICszODY0LDcgQEAKICIgICAgZ2l2ZW4gb3IgT1BUTkFNRSBpcyBkaXNhYmxlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODY1CisjOiBidWlsdGlucy5jOjE4NjgKICMsIGZ1enp5CiBtc2dpZCAiIgogIkZvcm1hdHMgYW5kIHByaW50cyBBUkdVTUVOVFMgdW5kZXIgY29udHJvbCBvZiB0aGUgRk9STUFULlxuIgpAQCAtMzgxMiw3ICszOTA2LDcgQEAKICIgICAgSmVpIHBhdGVpa3RhcyBwYXJhbWV0cmFzIC12LCBpxaF2ZWRpbWFzIMSvcmHFoW9tYXMgxK8gYXBsaW5rb3Mga2ludGFtxIVqxK9cbiIKICIgICAgS0lOVCwgdcW+dW90IHNwYXVzZGludXMgxK8gc3RhbmRhcnRpbsSvIGnFoXZlZGltxIUuIgogCi0jOiBidWlsdGlucy5jOjE4OTIKKyM6IGJ1aWx0aW5zLmM6MTg5NQogbXNnaWQgIiIKICJTcGVjaWZ5IGhvdyBhcmd1bWVudHMgYXJlIHRvIGJlIGNvbXBsZXRlZCBieSBSZWFkbGluZS5cbiIKICIgICAgXG4iCkBAIC0zODI2LDE1ICszOTIwLDIwIEBACiAiICAgICAgLXBcdHByaW50IGV4aXN0aW5nIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnMgaW4gYSByZXVzYWJsZSBmb3JtYXRcbiIKICIgICAgICAtclx0cmVtb3ZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGZvciBlYWNoIE5BTUUsIG9yLCBpZiBub1xuIgogIiAgICBcdE5BTUVzIGFyZSBzdXBwbGllZCwgYWxsIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnNcbiIKKyIgICAgICAtRFx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIGFzIHRoZSBkZWZhdWx0IGZvciBjb21tYW5kc1xuIgorIiAgICBcdHdpdGhvdXQgYW55IHNwZWNpZmljIGNvbXBsZXRpb24gZGVmaW5lZFxuIgorIiAgICAgIC1FXHRhcHBseSB0aGUgY29tcGxldGlvbnMgYW5kIGFjdGlvbnMgdG8gXCJlbXB0eVwiIGNvbW1hbmRzIC0tXG4iCisiICAgIFx0Y29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYSBibGFuayBsaW5lXG4iCiAiICAgIFxuIgogIiAgICBXaGVuIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkLCB0aGUgYWN0aW9ucyBhcmUgYXBwbGllZCBpbiB0aGUgb3JkZXIgdGhlXG4iCi0iICAgIHVwcGVyY2FzZS1sZXR0ZXIgb3B0aW9ucyBhcmUgbGlzdGVkIGFib3ZlLlxuIgorIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS4gIFRoZSAtRCBvcHRpb24gdGFrZXNcbiIKKyIgICAgcHJlY2VkZW5jZSBvdmVyIC1FLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5MTUKKyM6IGJ1aWx0aW5zLmM6MTkyMwogIywgZnV6enkKIG1zZ2lkICIiCiAiRGlzcGxheSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMuXG4iCkBAIC0zODUyLDcgKzM5NTEsNyBAQAogIiAgICBKZWkgcGF0ZWlrdGFzIG5lYsWrdGluYXNpcyDFvU9Exb1JTyBhcmd1bWVudGFzLCBpxaF2ZWRhbWkgxK9yYcWhYWksXG4iCiAiICAgIGF0aXRpbmthbnR5cyDFvU9ExK4uIgogCi0jOiBidWlsdGlucy5jOjE5MzAKKyM6IGJ1aWx0aW5zLmM6MTkzOAogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzg2NSw2ICszOTY0LDggQEAKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgIFx0LW8gb3B0aW9uXHRTZXQgY29tcGxldGlvbiBvcHRpb24gT1BUSU9OIGZvciBlYWNoIE5BTUVcbiIKKyIgICAgXHQtRFx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZGVmYXVsdFwiIGNvbW1hbmQgY29tcGxldGlvblxuIgorIiAgICBcdC1FXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJlbXB0eVwiIGNvbW1hbmQgY29tcGxldGlvblxuIgogIiAgICBcbiIKICIgICAgVXNpbmcgYCtvJyBpbnN0ZWFkIG9mIGAtbycgdHVybnMgb2ZmIHRoZSBzcGVjaWZpZWQgb3B0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM4ODEsMTUgKzM5ODIsMTUgQEAKICIgICAgaGF2ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBkZWZpbmVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5NTgKKyM6IGJ1aWx0aW5zLmM6MTk2OAogbXNnaWQgIiIKLSJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCisiUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgotIiAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGFycmF5IHZhcmlhYmxlIEFSUkFZLCBvciAiCi0iZnJvbVxuIgotIiAgICBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSBNQVBGSUxFICIKLSJpc1xuIgotIiAgICB0aGUgZGVmYXVsdCBBUlJBWS5cbiIKKyIgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBpbmRleGVkIGFycmF5IHZhcmlhYmxlICIKKyJBUlJBWSwgb3JcbiIKKyIgICAgZnJvbSBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSAiCisiTUFQRklMRVxuIgorIiAgICBpcyB0aGUgZGVmYXVsdCBBUlJBWS5cbiIKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgICAgLW4gY291bnRcdENvcHkgYXQgbW9zdCBDT1VOVCBsaW5lcy4gIElmIENPVU5UIGlzIDAsIGFsbCBsaW5lcyBhcmUgIgpAQCAtMzkxNiwxNiArNDAxNywyNyBAQAogIiAgICBhc3NpZ25pbmcgdG8gaXQuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBBUlJBWSBpcyByZWFkb25seS4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkgIgorIm9yXG4iCisiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5OTAKKyM6IGJ1aWx0aW5zLmM6MjAwMQogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gYSBmaWxlIGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgogIiAgICBBIHN5bm9ueW0gZm9yIGBtYXBmaWxlJy4iCiBtc2dzdHIgIiIKIAorI34gbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorI34gbXNnc3RyICJ4cmVhbGxvYzogbmVwYXZ5a28gacWhc2tpcnRpICVsdSBiYWl0xbMgKGnFoXNraXJ0YSAlbHUgYmFpdMWzKSIKKworI34gbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorI34gbXNnc3RyICJ4cmVhbGxvYzogbmVwYXZ5a28gacWhc2tpcnRpICVsdSBiYWl0xbMiCisKKyN+IG1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjfiBtc2dzdHIgInhyZWFsbG9jOiAlczolZDogbmVwYXZ5a28gacWhc2tpcnRpICVsdSBiYWl0xbMgKGnFoXNraXJ0YSAlbHUgYmFpdMWzKSIKKwogI34gbXNnaWQgIiAiCiAjfiBtc2dzdHIgIiAiCiAKZGlmZiAtLWdpdCBhL3BvL25sLmdtbyBiL3BvL25sLmdtbwppbmRleCBjNTZiNDc2Li45ZmY4YjI1IDEwMDY0NAotLS0gYS9wby9ubC5nbW8KKysrIGIvcG8vbmwuZ21vCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3BvL25sLnBvIGIvcG8vbmwucG8KaW5kZXggNmMzOTYwNi4uNDhiMzgyZiAxMDA2NDQKLS0tIGEvcG8vbmwucG8KKysrIGIvcG8vbmwucG8KQEAgLTEsNSArMSw1IEBACi0jIER1dGNoIHRyYW5zbGF0aW9ucyBmb3IgYmFzaC00LjAtcHJlMS4KLSMgQ29weXJpZ2h0IChDKSAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBEdXRjaCB0cmFuc2xhdGlvbnMgZm9yIGJhc2gKKyMgQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgYmFzaCBwYWNrYWdlLgogIwogIyBEZSB2ZXJ0YWxpbmcgdmFuIGRlIHJ1aW0gNzAgbGFhdHN0ZSBodWxwdGVrc3RlbiAoNjUlKSBpbiBkaXQgYmVzdGFuZApAQCAtMjAsMTMgKzIwLDE0IEBACiAjIEVyaWNrIEJyYW5kZXJob3JzdCA8YnJhbmRlcmhAaWFlaHYubmw+LCAxOTk2LgogIyBKdWxpZSBWZXJtZWVyc2NoIDxqdWxpZUBsYW1iZGExLmJlPiwgMjAwNC4KICMgQmVubm8gU2NodWxlbmJlcmcgPGJlbm5vQHZlcnRhYWx0Lm5sPiwgMjAwNiwgMjAwOC4KKyMgRXJ3aW4gUG9lemUgPGVyd2luLnBvZXplQGdtYWlsLmNvbT4sIDIwMDkuCiBtc2dpZCAiIgogbXNnc3RyICIiCi0iUHJvamVjdC1JZC1WZXJzaW9uOiBiYXNoLTQuMC1wcmUxXG4iCisiUHJvamVjdC1JZC1WZXJzaW9uOiBiYXNoLTQuMFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0wMi0xOSAxNDo1My0wNTAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAwOC0wOS0yMSAxOTo1OCswMjAwXG4iCi0iTGFzdC1UcmFuc2xhdG9yOiBCZW5ubyBTY2h1bGVuYmVyZyA8YmVubm9AdmVydGFhbHQubmw+XG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMTItMzAgMDg6MjUtMDUwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMDktMTItMDMgMTU6MTUrMDEwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogRXJ3aW4gUG9lemUgPGVyd2luLnBvZXplQGdtYWlsLmNvbT5cbiIKICJMYW5ndWFnZS1UZWFtOiBEdXRjaCA8dmVydGFsaW5nQHZyaWpzY2hyaWZ0Lm9yZz5cbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgogIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgpAQCAtMzgsNTQgKzM5LDU5IEBACiBtc2dpZCAiYmFkIGFycmF5IHN1YnNjcmlwdCIKIG1zZ3N0ciAib25nZWxkaWdlIGFycmF5LWluZGV4IgogCi0jOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc0CisjOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBpbmRleGVkIHRvIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIlczoga2FuIGdlw69uZGV4ZWVyZCBhcnJheSBuaWV0IG9temV0dGVuIG5hYXIgYXNzb2NpYXRpZWYgYXJyYXkiCiAKLSM6IGFycmF5ZnVuYy5jOjQ3OQorIzogYXJyYXlmdW5jLmM6NDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFzc29jaWF0aXZlIGFycmF5IGtleSIKIG1zZ3N0ciAiJXM6IG9uZ2VsZGlnZSBzbGV1dGVsIHZvb3IgYXNzb2NpYXRpZWYgYXJyYXkiCiAKLSM6IGFycmF5ZnVuYy5jOjQ4MQorIzogYXJyYXlmdW5jLmM6NDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIHRvIG5vbi1udW1lcmljIGluZGV4IgogbXNnc3RyICIlczogbmlldC1udW1lcmlla2UgaW5kZXggaXMgbmlldCBtb2dlbGlqayIKIAotIzogYXJyYXlmdW5jLmM6NTE3CisjOiBhcnJheWZ1bmMuYzo1MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBtdXN0IHVzZSBzdWJzY3JpcHQgd2hlbiBhc3NpZ25pbmcgYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiVzOiAlczogZWVuIGluZGV4IGlzIG5vZGlnIGJpaiB0b2VrZW5uaW5nIGFhbiBhc3NvY2lhdGllZiBhcnJheSIKIAotIzogYmFzaGhpc3QuYzozNzkKKyM6IGJhc2hoaXN0LmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY3JlYXRlOiAlcyIKIG1zZ3N0ciAiS2FuICVzIG5pZXQgYWFubWFrZW46ICVzIgogCi0jOiBiYXNobGluZS5jOjM0MTMKKyM6IGJhc2hsaW5lLmM6MzQ1NwogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiIgogImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQoKToga2FuIHZvb3Igb3BkcmFjaHQgZ2VlbiB0b2V0c2Vua2FhcnQgdmluZGVuIgogCi0jOiBiYXNobGluZS5jOjM0OTEKKyM6IGJhc2hsaW5lLmM6MzU0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgogbXNnc3RyICIlczogZWVyc3RlIHRla2VuIGRhdCBnZWVuIHdpdHJ1aW10ZSBpcyBpcyBuaWV0ICdcIiciCiAKLSM6IGJhc2hsaW5lLmM6MzUyMAorIzogYmFzaGxpbmUuYzozNTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKIG1zZ3N0ciAiZ2VlbiBzbHVpdC0nJWMnIGluICVzIgogCi0jOiBiYXNobGluZS5jOjM1NTQKKyM6IGJhc2hsaW5lLmM6MzYwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCiBtc2dzdHIgIiVzOiBvbnRicmVrZW5kIHNjaGVpZGluZ3N0ZWtlbiAoZHViYmVsZSBwdW50KSIKIAorIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogaW52YWxpZCBhbGlhcyBuYW1lIgorbXNnc3RyICInJXMnOiBvbmdlbGRpZ2UgbmFhbSB2b29yIHRvZXRzZW5rYWFydCIKKwogIzogYnVpbHRpbnMvYmluZC5kZWY6MTIwIGJ1aWx0aW5zL2JpbmQuZGVmOjEyMwogbXNnaWQgImxpbmUgZWRpdGluZyBub3QgZW5hYmxlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJiZXdlcmtlbiB2YW4gcmVnZWxzIG5pZXQgaW5nZXNjaGFrZWxkIgogCiAjOiBidWlsdGlucy9iaW5kLmRlZjoyMDYKICMsIGMtZm9ybWF0CkBAIC0xMjYsMTIgKzEzMiwyOSBAQAogbXNnc3RyICJoZWVmdCBhbGxlZW4gYmV0ZWtlbmlzIGluIGVlbiAnZm9yJy0sICd3aGlsZSctIG9mICd1bnRpbCctbHVzIgogCiAjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzMwotIywgZnV6enkKIG1zZ2lkICIiCiAiUmV0dXJucyB0aGUgY29udGV4dCBvZiB0aGUgY3VycmVudCBzdWJyb3V0aW5lIGNhbGwuXG4iCiAiICAgIFxuIgogIiAgICBXaXRob3V0IEVYUFIsIHJldHVybnMgIgotbXNnc3RyICJHZWVmdCBkZSBjb250ZXh0IHZhbiBkZSBodWlkaWdlIGZ1bmN0aWUtYWFucm9lcC4iCittc2dzdHIgIiIKKyJHZWVmdCBkZSBjb250ZXh0IHZhbiBkZSBodWlkaWdlIGZ1bmN0aWUtYWFucm9lcC5cbiIKKyIgICAgXG4iCisiICAgIFpvbmRlciBFWFBSLCByZXN1bHRlZXJ0ICIKKworIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzUKK21zZ2lkICIiCisiLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCisiICAgICIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNgorbXNnaWQgIiIKKyI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKKyIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgorIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKK21zZ3N0ciAiIgogCiAjOiBidWlsdGlucy9jZC5kZWY6MjE1CiBtc2dpZCAiSE9NRSBub3Qgc2V0IgpAQCAtMTQ2LDcgKzE2OSw3IEBACiBtc2dpZCAibGluZSAlZDogIgogbXNnc3RyICJyZWdlbCAlZDogIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjAKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEzOSBlcnJvci5jOjI2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAiCiBtc2dzdHIgIndhYXJzY2h1d2luZzogIgpAQCAtMTU0LDEzICsxNzcsMTMgQEAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdXNhZ2U6ICIKLW1zZ3N0ciAiJXM6IEdlYnJ1aWs6ICAiCittc2dzdHIgIiVzOiBnZWJydWlrOiAiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODIyCisjOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyNwogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKIG1zZ3N0ciAidGUgdmVlbCBhcmd1bWVudGVuIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTMgc2hlbGwuYzo3NzQKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5OSBzaGVsbC5jOjc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgogbXNnc3RyICIlczogb3B0aWUgdmVyZWlzdCBlZW4gYXJndW1lbnQiCkBAIC0xNzUsNyArMTk4LDcgQEAKIG1zZ2lkICIlczogbm90IGZvdW5kIgogbXNnc3RyICIlczogbmlldCBnZXZvbmRlbiIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjE0IHNoZWxsLmM6Nzg3CisjOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlczogb25nZWxkaWdlIG9wdGllIgpAQCAtMTk4LDcgKzIyMSw3IEBACiBtc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgogbXNnc3RyICJvbmdlbGRpZyBoZXhhZGVjaW1hYWwgZ2V0YWwiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NQorIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU2CiBtc2dpZCAiaW52YWxpZCBudW1iZXIiCiBtc2dzdHIgIm9uZ2VsZGlnIGdldGFsIgogCkBAIC0yMTIsNyArMjM1LDcgQEAKIG1zZ2lkICJgJXMnOiBub3QgYSBwaWQgb3IgdmFsaWQgam9iIHNwZWMiCiBtc2dzdHIgIiclcyc6IGlzIGdlZW4gUElEIGVuIGdlZW4gZ2VsZGlnZSB0YWFrYWFuZHVpZGluZyIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjY0IGVycm9yLmM6NDUzCisjOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IHZhcmlhYmxlIgogbXNnc3RyICIlczogaXMgZWVuIGFsbGVlbi1sZXplbiB2YXJpYWJlbGUiCkBAIC0yNjcsMTIgKzI5MCwxMiBAQAogIzogYnVpbHRpbnMvY29tbW9uLmM6MzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlczogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiSW5zdGVsbGVuIHRlcm1pbmFsYXR0cmlidXRlbiBpcyBtaXNsdWt0OiAlcyIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIGdldHRpbmcgdGVybWluYWwgYXR0cmlidXRlczogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiT3BoYWxlbiB0ZXJtaW5hbGF0dHJpYnV0ZW4gaXMgbWlzbHVrdDogJXMiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjU2MwogIywgYy1mb3JtYXQKQEAgLTI4NCwyNiArMzA3LDI2IEBACiBtc2dpZCAiJXM6IGFtYmlndW91cyBqb2Igc3BlYyIKIG1zZ3N0ciAiJXM6IHRhYWthYW5kdWlkaW5nIGlzIG5pZXQgZWVuZHVpZGlnIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6MjcwCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Mjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFjdGlvbiBuYW1lIgogbXNnc3RyICIlczogb25nZWxkaWdlIGFjdGllbmFhbSIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjQzMCBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjE1Ci0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODEzCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDQ5IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NDQKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXM6IGlzIGdlZW4gY29tcGxldGVyaW5ncy1hYW5kdWlkaW5nIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjY3CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk2CiBtc2dpZCAid2FybmluZzogLUYgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgogbXNnc3RyICJ3YWFyc2NodXdpbmc6IG9wdGllIC1GIGZ1bmN0aW9uZWVydCBtb2dlbGlqayBuaWV0IHpvYWxzIHZlcndhY2h0IgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjY5CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk4CiBtc2dpZCAid2FybmluZzogLUMgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgogbXNnc3RyICJ3YWFyc2NodXdpbmc6IG9wdGllIC1DIGZ1bmN0aW9uZWVydCBtb2dlbGlqayBuaWV0IHpvYWxzIHZlcndhY2h0IgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Nzg2CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODI2CiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAiZXIgd29yZHQgbW9tZW50ZWVsIGdlZW4gY29tcGxldGVyaW5nc2Z1bmN0aWUgdWl0Z2V2b2VyZCIKIApAQCAtMzExLDIxICszMzQsMjEgQEAKIG1zZ2lkICJjYW4gb25seSBiZSB1c2VkIGluIGEgZnVuY3Rpb24iCiBtc2dzdHIgImthbiBhbGxlZW4gd29yZGVuIGdlYnJ1aWt0IGJpbm5lbiBlZW4gZnVuY3RpZSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzUzCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCiBtc2dzdHIgIictZicga2FuIG5pZXQgZ2VicnVpa3Qgd29yZGVuIG9tIGVlbiBmdW5jdGllIHRlIGRlZmluacOrcmVuIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjUgZXhlY3V0ZV9jbWQuYzo0ODE4CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzIgZXhlY3V0ZV9jbWQuYzo0OTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkb25seSBmdW5jdGlvbiIKIG1zZ3N0ciAiJXM6IGlzIGVlbiBhbGxlZW4tbGV6ZW4gZnVuY3RpZSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDYxCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBkZXN0cm95IGFycmF5IHZhcmlhYmxlcyBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJXM6IGthbiBhcnJheS12YXJpYWJlbGVuIG5pZXQgb3AgZGV6ZSBtYW5pZXIgdmVyd2lqZGVyZW4iCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBhc3NvY2lhdGl2ZSB0byBpbmRleGVkIGFycmF5IgogbXNnc3RyICIlczoga2FuIGFzc29jaWF0aWVmIGFycmF5IG5pZXQgb216ZXR0ZW4gbmFhciBnZcOvbmRleGVlcmQgYXJyYXkiCkBAIC0zNTQsOCArMzc3LDggQEAKIG1zZ2lkICIlczogY2Fubm90IGRlbGV0ZTogJXMiCiBtc2dzdHIgIkthbiAlcyBuaWV0IHZlcndpamRlcmVuOiAlcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDY3NQotIzogc2hlbGwuYzoxNDM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0CisjOiBzaGVsbC5jOjE0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczogaXMgZWVuIG1hcCIKQEAgLTM3MCw3ICszOTMsOCBAQAogbXNnaWQgIiVzOiBmaWxlIGlzIHRvbyBsYXJnZSIKIG1zZ3N0ciAiJXM6IGJlc3RhbmQgaXMgdGUgZ3Jvb3QiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGV4ZWN1dGVfY21kLmM6NDc0NSBzaGVsbC5jOjE0NDkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAzIGV4ZWN1dGVfY21kLmM6NDg2NAorIzogc2hlbGwuYzoxNDYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIG1zZ3N0ciAiJXM6IGthbiBlZW4gYmluYWlyIGJlc3RhbmQgbmlldCB1aXR2b2VyZW4iCkBAIC0zOTksMTUgKzQyMywxNSBAQAogbXNnaWQgIlRoZXJlIGFyZSBydW5uaW5nIGpvYnMuXG4iCiBtc2dzdHIgIkVyIHppam4gbm9nIGRyYWFpZW5kZSB0YWtlbi5cbiIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjI2MQorIzogYnVpbHRpbnMvZmMuZGVmOjI2MgogbXNnaWQgIm5vIGNvbW1hbmQgZm91bmQiCiBtc2dzdHIgImdlZW4gb3BkcmFjaHQgZ2V2b25kZW4iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKIG1zZ2lkICJoaXN0b3J5IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgImdlc2NoaWVkZW5pc2FhbmR1aWRpbmciCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNjIKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCiBtc2dzdHIgIkthbiB0aWpkZWxpamsgYmVzdGFuZCAnJXMnIG5pZXQgb3BlbmVuOiAlcyIKQEAgLTUwOSwxMiArNTMzLDEyIEBACiBtc2dpZCAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JyIKIG1zZ3N0ciAiYmlqICcteCcgemlqbiBnZWVuIGFuZGVyZSBvcHRpZXMgdG9lZ2VzdGFhbiIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MTk3CisjOiBidWlsdGlucy9raWxsLmRlZjoyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFyZ3VtZW50cyBtdXN0IGJlIHByb2Nlc3Mgb3Igam9iIElEcyIKIG1zZ3N0ciAiJXM6IGFyZ3VtZW50ZW4gbW9ldGVuIHByb2Nlcy1JRHMgb2YgdGFhay1JRHMgemlqbiIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjYwCisjOiBidWlsdGlucy9raWxsLmRlZjoyNjMKIG1zZ2lkICJVbmtub3duIGVycm9yIgogbXNnc3RyICJPbmJla2VuZGUgZm91dCIKIApAQCAtNTIyLDU3ICs1NDYsNjIgQEAKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICJ1aXRkcnVra2luZyB3ZXJkIHZlcndhY2h0IgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDEgYnVpbHRpbnMvcmVhZC5kZWY6MjcyCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYW4gaW5kZXhlZCBhcnJheSIKK21zZ3N0ciAiJXM6IGlzIGdlZW4gYXJyYXktdmFyaWFiZWxlIgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczogb25nZWxkaWdlIGFhbmR1aWRpbmcgdmFuIGJlc3RhbmRzZGVzY3JpcHRvciIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU3IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgogbXNnc3RyICIlZDogb25nZWxkaWdlIGJlc3RhbmRzZGVzY3JpcHRvcjogJXMiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1OCBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKIG1zZ3N0ciAiJXM6IG9uZ2VsZGlnIHJlZ2VsYWFudGFsIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiBtc2dzdHIgIiVzOiBvbmdlbGRpZyBhcnJheS1iZWdpbiIKIAogIyBRdWFudHVtIGlzIGVlbiBob2V2ZWVsaGVpZCByZWdlbHMsIGVlbiBnZXRhbC4KICMgQ2FsbGJhY2sgaXMgZGUgYWFuIHRlIHJvZXBlbiBmdW5jdGllLCBtYWFyIG9ubm9kaWcgaW4gZGUgdmVydGFsaW5nLgotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjg2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgY2FsbGJhY2sgcXVhbnR1bSIKIG1zZ3N0ciAiJXM6IG9uZ2VsZGlnZSBob2V2ZWVsaGVpZCIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzE4CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKIG1zZ2lkICJlbXB0eSBhcnJheSB2YXJpYWJsZSBuYW1lIgogbXNnc3RyICJsZWdlIG5hYW0gdmFuIGFycmF5LXZhcmlhYmVsZSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzM5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNDcKIG1zZ2lkICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgogbXNnc3RyICJvbmRlcnN0ZXVuaW5nIHZhbiBhcnJheXZhcmlhYmVsZW4gaXMgdmVyZWlzdCIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNjcKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiJyVzJzogb250YnJla2VuZCBvcG1hYWt0ZWtlbiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NDQKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiJyVjJzogb25nZWxkaWcgb3BtYWFrdGVrZW4iCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTcxCisjOiBidWlsdGlucy9wcmludGYuZGVmOjU3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAlczogJXMiCiBtc2dzdHIgIndhYXJzY2h1d2luZzogJXM6ICVzIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjc1MAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTcKIG1zZ2lkICJtaXNzaW5nIGhleCBkaWdpdCBmb3IgXFx4IgogbXNnc3RyICJvbnRicmVrZW5kIGhleGFkZWNpbWFhbCBjaWpmZXIgYmlqIFxceCIKIApAQCAtNzEyLDEyICs3NDEsMTIgQEAKICJcbiIKICIgICAgRGUgb3BkcmFjaHQgJ2RpcnMnIHRvb250IGRlIGh1aWRpZ2UgbWFwcGVuc3RhcGVsLiIKIAotIzogYnVpbHRpbnMvcmVhZC5kZWY6MjQ4CisjOiBidWlsdGlucy9yZWFkLmRlZjoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgdGltZW91dCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczogb25nZWxkaWdlIGFhbmR1aWRpbmcgdmFuIHRpamRzbGltaWV0IgogCi0jOiBidWlsdGlucy9yZWFkLmRlZjo1NzQKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkIGVycm9yOiAlZDogJXMiCiBtc2dzdHIgImxlZXNmb3V0OiAlZDogJXMiCkBAIC03NTYsMTEgKzc4NSwxMSBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICJzaGlmdC1hYW50YWwiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNTQKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICJrYW4gc2hlbGwtb3B0aWVzIG5pZXQgdGVnZWxpamsgaW5zY2hha2VsZW4gZW4gdWl0c2NoYWtlbGVuIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MzE5CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgogbXNnc3RyICIlczogb25nZWxkaWdlIHNoZWxsLW9wdGllbmFhbSIKQEAgLTg1MCw3NiArODc5LDc2IEBACiBtc2dpZCAiYCVjJzogaW52YWxpZCBzeW1ib2xpYyBtb2RlIGNoYXJhY3RlciIKIG1zZ3N0ciAiJyVjJzogb25nZWxkaWcgdGVrZW4gaW4gc3ltYm9saXNjaGUgbW9kdXMiCiAKLSM6IGVycm9yLmM6ODkgZXJyb3IuYzozMjAgZXJyb3IuYzozMjIgZXJyb3IuYzozMjQKKyM6IGVycm9yLmM6OTAgZXJyb3IuYzozMjEgZXJyb3IuYzozMjMgZXJyb3IuYzozMjUKIG1zZ2lkICIgbGluZSAiCiBtc2dzdHIgIiByZWdlbCAiCiAKLSM6IGVycm9yLmM6MTY0CisjOiBlcnJvci5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJsYXN0IGNvbW1hbmQ6ICVzXG4iCiBtc2dzdHIgImxhYXRzdGUgb3BkcmFjaHQ6ICVzXG4iCiAKLSM6IGVycm9yLmM6MTcyCisjOiBlcnJvci5jOjE3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZy4uLiIKIG1zZ3N0ciAiQWZicmVrZW4uLi4iCiAKLSM6IGVycm9yLmM6NDA1CisjOiBlcnJvci5jOjQwNgogbXNnaWQgInVua25vd24gY29tbWFuZCBlcnJvciIKIG1zZ3N0ciAib25iZWtlbmRlIG9wZHJhY2h0Zm91dCIKIAotIzogZXJyb3IuYzo0MDYKKyM6IGVycm9yLmM6NDA3CiBtc2dpZCAiYmFkIGNvbW1hbmQgdHlwZSIKIG1zZ3N0ciAib25nZWxkaWcgb3BkcmFjaHR0eXBlIgogCi0jOiBlcnJvci5jOjQwNworIzogZXJyb3IuYzo0MDgKIG1zZ2lkICJiYWQgY29ubmVjdG9yIgogbXNnc3RyICJvbmdlbGRpZ2UgdmVyYmluZGVyIgogCi0jOiBlcnJvci5jOjQwOAorIzogZXJyb3IuYzo0MDkKIG1zZ2lkICJiYWQganVtcCIKIG1zZ3N0ciAib25nZWxkaWdlIHNwcm9uZyIKIAotIzogZXJyb3IuYzo0NDYKKyM6IGVycm9yLmM6NDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmJvdW5kIHZhcmlhYmxlIgogbXNnc3RyICIlczogb25nZWJvbmRlbiB2YXJpYWJlbGUiCiAKICM6IGV2YWwuYzoxODEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCi1tc2dzdHIgIlxhd2FjaHRlbiBvcCBpbnZvZXIgZHV1cmRlIHRlIGxhbmcgLS0gYXV0b21hdGlzY2ggYWZnZW1lbGRcbiIKK21zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnc3RyICIHd2FjaHRlbiBvcCBpbnZvZXIgZHV1cmRlIHRlIGxhbmcgLS0gYXV0b21hdGlzY2ggYWZnZW1lbGRcbiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTEKKyM6IGV4ZWN1dGVfY21kLmM6NDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiBtc2dzdHIgImthbiBzdGFuZGFhcmRpbnZvZXIgbmlldCBvbWxlaWRlbiB2YW5hZiAvZGV2L251bGw6ICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjExMTIKKyM6IGV4ZWN1dGVfY21kLmM6MTE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJUSU1FRk9STUFUOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIlRJTUVGT1JNQVQ6ICclYyc6IG9uZ2VsZGlnIG9wbWFha3Rla2VuIgogCi0jOiBleGVjdXRlX2NtZC5jOjIwMTEKKyM6IGV4ZWN1dGVfY21kLmM6MjA3NQogbXNnaWQgInBpcGUgZXJyb3IiCiBtc2dzdHIgInBpanBmb3V0IgogCi0jOiBleGVjdXRlX2NtZC5jOjQzNjMKKyM6IGV4ZWN1dGVfY21kLmM6NDQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCiBtc2dzdHIgIiVzOiBiZXBlcmt0ZSBtb2R1czogJy8nIGluIG9wZHJhY2h0bmFtZW4gaXMgbmlldCB0b2VnZXN0YWFuIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ0NTQKKyM6IGV4ZWN1dGVfY21kLmM6NDU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBvcGRyYWNodCBuaWV0IGdldm9uZGVuIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ3MDgKKyM6IGV4ZWN1dGVfY21kLmM6NDgyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGJhZCBpbnRlcnByZXRlciIKIG1zZ3N0ciAiJXM6ICVzOiBvbmdlbGRpZ2UgaW50ZXJwcmV0ZXIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDg1NworIzogZXhlY3V0ZV9jbWQuYzo0OTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCiBtc2dzdHIgImthbiBiZXN0YW5kc2Rlc2NyaXB0b3IgJWQgbmlldCBkdXBsaWNlcmVuIG5hYXIgYmVzdGFuZHNkZXNjcmlwdG9yICVkIgpAQCAtOTY0LDI4ICs5OTMsMjggQEAKIG1zZ2lkICJtaXNzaW5nIGApJyIKIG1zZ3N0ciAib250YnJla2VuZCAnKSciCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzUKKyM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKIG1zZ2lkICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCiBtc2dzdHIgInN5bnRheGZvdXQ6IG9wZXJhdG9yIHZlcndhY2h0IgogCi0jOiBleHByLmM6MTE3NworIzogZXhwci5jOjExNzgKIG1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKIG1zZ3N0ciAic3ludGF4Zm91dDogb25nZWxkaWdlIHJla2Vua3VuZGlnZSBvcGVyYXRvciIKIAotIzogZXhwci5jOjEyMDEKKyM6IGV4cHIuYzoxMjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzJXMlczogJXMgKGVycm9yIHRva2VuIGlzIFwiJXNcIikiCiBtc2dzdHIgIiVzJXMlczogJXMgKGhldCBvbmp1aXN0ZSBzeW1ib29sIGlzIFwiJXNcIikiCiAKLSM6IGV4cHIuYzoxMjU5CisjOiBleHByLmM6MTI2MAogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogbXNnc3RyICJvbmdlbGRpZ2UgcmVrZW5rdW5kaWdlIGJhc2lzIgogCi0jOiBleHByLmM6MTI3OQorIzogZXhwci5jOjEyODAKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgIndhYXJkZSBpcyB0ZSBncm9vdCB2b29yIGJhc2lzIgogCi0jOiBleHByLmM6MTMyOAorIzogZXhwci5jOjEzMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKIG1zZ3N0ciAiJXM6IGV4cHJlc3NpZWZvdXRcbiIKQEAgLTk5NCw3ICsxMDIzLDcgQEAKIG1zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgogbXNnc3RyICJnZXR3ZCgpOiBrYW4gZ2VlbiBnZWVuIHRvZWdhbmcgdmVya3JpamdlbiB0b3QgYm92ZW5saWdnZW5kZSBtYXBwZW4iCiAKLSM6IGlucHV0LmM6OTQgc3Vic3QuYzo0NTU5CisjOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDg1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIG1zZ3N0ciAia2FuICdub2RlbGF5Jy1tb2R1cyBuaWV0IHVpdHNjaGFrZWxlbiB2b29yIGJlc3RhbmRzZGVzY3JpcHRvciAlZCIKQEAgLTEwNTAsNyArMTA3OSw3IEBACiBtc2dpZCAiRG9uZSIKIG1zZ3N0ciAiS2xhYXIiCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjIKKyM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKIG1zZ2lkICJTdG9wcGVkIgogbXNnc3RyICJHZXBhdXplZXJkIgogCkBAIC0xMDg3LDY5ICsxMTE2LDczIEBACiBtc2dpZCAiICAod2Q6ICVzKSIKIG1zZ3N0ciAiICAod2Vya21hcDogJXMpIgogCi0jOiBqb2JzLmM6MTc3MQorIzogam9icy5jOjE3NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hpbGQgc2V0cGdpZCAoJWxkIHRvICVsZCkiCiBtc2dzdHIgImluc3RlbGxlbiB2YW4gcHJvY2VzZ3JvZXAgJTIkbGQgdmFuIGRvY2h0ZXIgJTEkbGQiCiAKLSM6IGpvYnMuYzoyMDk5IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMDQgbm9qb2JzLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbCIKIG1zZ3N0ciAid2FpdCgpOiBQSUQgJWxkIGlzIGdlZW4gZG9jaHRlcnByb2NlcyB2YW4gZGV6ZSBzaGVsbCIKIAotIzogam9icy5jOjIzMjYKKyM6IGpvYnMuYzoyMzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yOiBObyByZWNvcmQgb2YgcHJvY2VzcyAlbGQiCiBtc2dzdHIgIndhaXRfZm9yKCk6IHByb2NlcyAlbGQgaXMgbmVyZ2VucyBnZXJlZ2lzdHJlZXJkIgogCi0jOiBqb2JzLmM6MjU5OAorIzogam9icy5jOjI2MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKIG1zZ3N0ciAid2FpdF9mb3Jfam9iKCk6IHRhYWsgJWQgaXMgZ2VwYXV6ZWVyZCIKIAotIzogam9icy5jOjI4MjAKKyM6IGpvYnMuYzoyODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgaGFzIHRlcm1pbmF0ZWQiCiBtc2dzdHIgIiVzOiB0YWFrIGlzIGFmZ2VzbG90ZW4iCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6MjgzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKIG1zZ3N0ciAiJXM6IHRhYWsgJWQgZHJhYWl0IGFsIG9wIGRlIGFjaHRlcmdyb25kIgogCi0jOiBqb2JzLmM6MzQ5MgorIzogam9icy5jOjMwNTkKK21zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCittc2dzdHIgIiIKKworIzogam9icy5jOjM1MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGxpbmUgJWQ6ICIKIG1zZ3N0ciAiJXM6IHJlZ2VsICVkOiAiCiAKLSM6IGpvYnMuYzozNTA2IG5vam9icy5jOjgxNAorIzogam9icy5jOjM1MjIgbm9qb2JzLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAoY29yZSBkdW1wZWQpIgogbXNnc3RyICIgKGdlaGV1Z2VuZHVtcCBnZW1hYWt0KSIKIAotIzogam9icy5jOjM1MTggam9icy5jOjM1MzEKKyM6IGpvYnMuYzozNTM0IGpvYnMuYzozNTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIih3ZCBub3c6ICVzKVxuIgogbXNnc3RyICIod2Vya21hcCBpcyBudTogJXMpXG4iCiAKLSM6IGpvYnMuYzozNTYzCisjOiBqb2JzLmM6MzU3OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwKCkgaXMgbWlzbHVrdCIKIAotIzogam9icy5jOjM2MjMKKyM6IGpvYnMuYzozNjM5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgogbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaWpucHJvdG9jb2wiCiAKLSM6IGpvYnMuYzozNjMzCisjOiBqb2JzLmM6MzY0OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiBtc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQoKSIKIAotIzogam9icy5jOjM2NjEKKyM6IGpvYnMuYzozNjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgogbXNnc3RyICJrYW4gcHJvY2VzZ3JvZXAgKCVkKSB2YW4gdGVybWluYWwgbmlldCBpbnN0ZWxsZW4iCiAKLSM6IGpvYnMuYzozNjY2CisjOiBqb2JzLmM6MzY4MgogbXNnaWQgIm5vIGpvYiBjb250cm9sIGluIHRoaXMgc2hlbGwiCiBtc2dzdHIgImVyIGlzIGdlZW4gdGFha2Jlc3R1cmluZyBpbiBkZXplIHNoZWxsIgogCkBAIC0xMjQxLDYgKzEyNzQsMjYgQEAKIG1zZ2lkICJuZXR3b3JrIG9wZXJhdGlvbnMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAibmV0d2Vya29wZXJhdGllcyB3b3JkZW4gbmlldCBvbmRlcnN0ZXVuZCIKIAorIzogbG9jYWxlLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICJ4cmVhbGxvYygpOiAlczolZDoga2FuICVsdSBieXRlcyBuaWV0IG9wbmlldXcgcmVzZXJ2ZXJlbiIKKworIzogbG9jYWxlLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKK21zZ3N0ciAieHJlYWxsb2MoKTogJXM6JWQ6IGthbiAlbHUgYnl0ZXMgbmlldCBvcG5pZXV3IHJlc2VydmVyZW4iCisKICM6IG1haWxjaGVjay5jOjQzMwogbXNnaWQgIllvdSBoYXZlIG1haWwgaW4gJF8iCiBtc2dzdHIgIlUgaGVidCBwb3N0IGluICRfIgpAQCAtMTI1NCwxMzQgKzEzMDcsMTM0IEBACiBtc2dpZCAiVGhlIG1haWwgaW4gJXMgaGFzIGJlZW4gcmVhZFxuIgogbXNnc3RyICJEZSBwb3N0IGluICVzIGlzIGdlbGV6ZW4uXG4iCiAKLSM6IG1ha2VfY21kLmM6MzIyCisjOiBtYWtlX2NtZC5jOjMyMwogbXNnaWQgInN5bnRheCBlcnJvcjogYXJpdGhtZXRpYyBleHByZXNzaW9uIHJlcXVpcmVkIgogbXNnc3RyICJzeW50YXhmb3V0OiBlZW4gcmVrZW5rdW5kaWdlIHVpdGRydWtraW5nIGlzIHZlcmVpc3QiCiAKLSM6IG1ha2VfY21kLmM6MzI0CisjOiBtYWtlX2NtZC5jOjMyNQogbXNnaWQgInN5bnRheCBlcnJvcjogYDsnIHVuZXhwZWN0ZWQiCiBtc2dzdHIgInN5bnRheGZvdXQ6IG9udmVyd2FjaHRlICc7JyIKIAotIzogbWFrZV9jbWQuYzozMjUKKyM6IG1ha2VfY21kLmM6MzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvcjogYCgoJXMpKSciCiBtc2dzdHIgInN5bnRheGZvdXQ6ICcoKCVzKSknIgogCi0jOiBtYWtlX2NtZC5jOjU2NworIzogbWFrZV9jbWQuYzo1NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9oZXJlX2RvY3VtZW50OiBiYWQgaW5zdHJ1Y3Rpb24gdHlwZSAlZCIKIG1zZ3N0ciAibWFrZV9oZXJlX2RvY3VtZW50KCk6IG9uZ2VsZGlnIGluc3RydWN0aWV0eXBlICVkIgogCi0jOiBtYWtlX2NtZC5jOjY1MQorIzogbWFrZV9jbWQuYzo2NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVyZS1kb2N1bWVudCBhdCBsaW5lICVkIGRlbGltaXRlZCBieSBlbmQtb2YtZmlsZSAod2FudGVkIGAlcycpIgogbXNnc3RyICIiCiAicmVnZWwgJWQgdmFuIFwiaGllclwiLWRvY3VtZW50IGVpbmRpZ3QgbWV0IGVpbmRlIHZhbiBiZXN0YW5kICh2ZXJ3YWNodHRlICclIgogInMnKSIKIAotIzogbWFrZV9jbWQuYzo3NDYKKyM6IG1ha2VfY21kLmM6NzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlIgogbXNnc3RyICJtYWtlX3JlZGlyZWN0aW9uKCk6IG9tbGVpZGluZ3NpbnN0cnVjdGllICclZCcgdmFsdCBidWl0ZW4gYmVyZWlrIgogCi0jOiBwYXJzZS55OjI5ODYgcGFyc2UueTozMjE4CisjOiBwYXJzZS55OjMxMzMgcGFyc2UueTozMzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGAlYyciCiBtc2dzdHIgIm9udmVyd2FjaHQgYmVzdGFuZHNlaW5kZSB0aWpkZW5zIHpvZWtlbiBuYWFyIGJpanBhc3NlbmRlICclYyciCiAKLSM6IHBhcnNlLnk6MzcyMgorIzogcGFyc2UueTozOTUxCiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAib252ZXJ3YWNodCBiZXN0YW5kc2VpbmRlIHRpamRlbnMgem9la2VuIG5hYXIgJ11dJyIKIAotIzogcGFyc2UueTozNzI3CisjOiBwYXJzZS55OjM5NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAic3ludGF4Zm91dCBpbiBjb25kaXRpb25lbGUgZXhwcmVzc2llOiBvbnZlcndhY2h0IHN5bWJvb2wgJyVzJyIKIAotIzogcGFyc2UueTozNzMxCisjOiBwYXJzZS55OjM5NjAKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAic3ludGF4Zm91dCBpbiBjb25kaXRpb25lbGUgZXhwcmVzc2llIgogCi0jOiBwYXJzZS55OjM4MDkKKyM6IHBhcnNlLnk6NDAzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGV4cGVjdGVkIGApJyIKIG1zZ3N0ciAib252ZXJ3YWNodCBzeW1ib29sICclcyc7ICcpJyB3ZXJkIHZlcndhY2h0IgogCi0jOiBwYXJzZS55OjM4MTMKKyM6IHBhcnNlLnk6NDA0MgogbXNnaWQgImV4cGVjdGVkIGApJyIKIG1zZ3N0ciAiJyknIHdlcmQgdmVyd2FjaHQiCiAKLSM6IHBhcnNlLnk6Mzg0MQorIzogcGFyc2UueTo0MDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAib252ZXJ3YWNodCBhcmd1bWVudCAnJXMnIGJpaiBlZW56aWpkaWdlIGNvbmRpdGlvbmVsZSBvcGVyYXRvciIKIAotIzogcGFyc2UueTozODQ1CisjOiBwYXJzZS55OjQwNzQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJvbnZlcndhY2h0IGFyZ3VtZW50IGJpaiBlZW56aWpkaWdlIGNvbmRpdGlvbmVsZSBvcGVyYXRvciIKIAotIzogcGFyc2UueTozODg1CisjOiBwYXJzZS55OjQxMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiIKICJvbnZlcndhY2h0IHN5bWJvb2wgJyVzJzsgdHdlZXppamRpZ2UgY29uZGl0aW9uZWxlIG9wZXJhdG9yIHdlcmQgdmVyd2FjaHQiCiAKLSM6IHBhcnNlLnk6Mzg4OQorIzogcGFyc2UueTo0MTI0CiBtc2dpZCAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICJ0d2VlemlqZGlnZSBjb25kaXRpb25lbGUgb3BlcmF0b3Igd2VyZCB2ZXJ3YWNodCIKIAotIzogcGFyc2UueTozOTA2CisjOiBwYXJzZS55OjQxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAib252ZXJ3YWNodCBhcmd1bWVudCAnJXMnIGJpaiB0d2VlemlqZGlnZSBjb25kaXRpb25lbGUgb3BlcmF0b3IiCiAKLSM6IHBhcnNlLnk6MzkxMAorIzogcGFyc2UueTo0MTUwCiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIm9udmVyd2FjaHQgYXJndW1lbnQgYmlqIHR3ZWV6aWpkaWdlIGNvbmRpdGlvbmVsZSBvcGVyYXRvciIKIAotIzogcGFyc2UueTozOTIxCisjOiBwYXJzZS55OjQxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIm9udmVyd2FjaHQgc3ltYm9vbCAnJWMnIGluIGNvbmRpdGlvbmVsZSBvcGRyYWNodCIKIAotIzogcGFyc2UueTozOTI0CisjOiBwYXJzZS55OjQxNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIm9udmVyd2FjaHQgc3ltYm9vbCAnJXMnIGluIGNvbmRpdGlvbmVsZSBvcGRyYWNodCIKIAotIzogcGFyc2UueTozOTI4CisjOiBwYXJzZS55OjQxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJvbnZlcndhY2h0IHN5bWJvb2wgJWQgaW4gY29uZGl0aW9uZWxlIG9wZHJhY2h0IgogCi0jOiBwYXJzZS55OjUxOTUKKyM6IHBhcnNlLnk6NTQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgInN5bnRheGZvdXQgbmFiaWogb252ZXJ3YWNodCBzeW1ib29sICclcyciCiAKLSM6IHBhcnNlLnk6NTIxMworIzogcGFyc2UueTo1NDc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCiBtc2dzdHIgInN5bnRheGZvdXQgbmFiaWogJyVzJyIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgInN5bnRheGZvdXQ6IG9udmVyd2FjaHQgYmVzdGFuZHNlaW5kZSIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgInN5bnRheGZvdXQiCiAKLSM6IHBhcnNlLnk6NTI4NQorIzogcGFyc2UueTo1NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICJHZWJydWlrIFwiJXNcIiBvbSBkZSBzaGVsbCB0ZSB2ZXJsYXRlbi5cbiIKIAotIzogcGFyc2UueTo1NDQ3CisjOiBwYXJzZS55OjU3MTEKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgKSciCiBtc2dzdHIgIm9udmVyd2FjaHQgYmVzdGFuZHNlaW5kZSB0aWpkZW5zIHpvZWtlbiBuYWFyIGJpanBhc3NlbmRlICcpJyIKIAotIzogcGNvbXBsZXRlLmM6MTAxOAorIzogcGNvbXBsZXRlLmM6MTAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0aW9uOiBmdW5jdGlvbiBgJXMnIG5vdCBmb3VuZCIKIG1zZ3N0ciAiY29tcGxldGlvbigpOiBmdW5jdGllICclcycgbmlldCBnZXZvbmRlbiIKQEAgLTEzOTEsNzEgKzE0NDQsOTAgQEAKIG1zZ2lkICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogbXNnc3RyICJwcm9nY29tcF9pbnNlcnQoKTogJXM6IGxlZ2UgQ09NUFNQRUMiCiAKLSM6IHByaW50X2NtZC5jOjI4NQorIzogcHJpbnRfY21kLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAicHJpbnRfY29tbWFuZCgpOiBvbmdlbGRpZ2UgdmVyYmluZGVyICclZCciCiAKLSM6IHByaW50X2NtZC5jOjEzNDgKKyM6IHByaW50X2NtZC5jOjM2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlX3NldDogJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICIlZDogb25nZWxkaWdlIGJlc3RhbmRzZGVzY3JpcHRvcjogJXMiCisKKyM6IHByaW50X2NtZC5jOjM2OAorbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgorbXNnc3RyICIiCisKKyM6IHByaW50X2NtZC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCittc2dzdHIgIiIKKworIzogcHJpbnRfY21kLmM6MTQ2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjcHJpbnRmOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgImNwcmludGYoKTogJyVjJzogb25nZWxkaWcgb3BtYWFrdGVrZW4iCiAKLSM6IHJlZGlyLmM6MTA1CisjOiByZWRpci5jOjExMAogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgImJlc3RhbmRzZGVzY3JpcHRvciB2YWx0IGJ1aXRlbiBiZXJlaWsiCiAKLSM6IHJlZGlyLmM6MTQ4CisjOiByZWRpci5jOjE2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYW1iaWd1b3VzIHJlZGlyZWN0IgogbXNnc3RyICIlczogb21sZWlkaW5nIGlzIG5pZXQgZWVuZHVpZGlnIgogCi0jOiByZWRpci5jOjE1MgorIzogcmVkaXIuYzoxNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIG1zZ3N0ciAiJXM6IGthbiBiZXN0YWFuZCBiZXN0YW5kIG5pZXQgb3ZlcnNjaHJpanZlbiIKIAotIzogcmVkaXIuYzoxNTcKKyM6IHJlZGlyLmM6MTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3QgcmVkaXJlY3Qgb3V0cHV0IgogbXNnc3RyICIlczogYmVwZXJrdGUgbW9kdXM6IG9tbGVpZGVuIHZhbiB1aXR2b2VyIGlzIG5pZXQgdG9lZ2VzdGFhbiIKIAotIzogcmVkaXIuYzoxNjIKKyM6IHJlZGlyLmM6MTgwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKIG1zZ3N0ciAia2FuIGdlZW4gdGlqZGVsaWprIGJlc3RhbmQgbWFrZW4gdm9vciBcImhpZXJcIi1kb2N1bWVudDogJXMiCiAKLSM6IHJlZGlyLmM6NTE3CisjOiByZWRpci5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gZmQgdG8gdmFyaWFibGUiCittc2dzdHIgIiVzOiBrYW4gZ2VlbiBsaWpzdCB0b2V3aWp6ZW4gYWFuIGVlbiBhcnJheS1lbGVtZW50IgorCisjOiByZWRpci5jOjU0NAogbXNnaWQgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKIG1zZ3N0ciAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IGlzIG5pZXQgbW9nZWxpamsgem9uZGVyIG5ldHdlcmsiCiAKLSM6IHJlZGlyLmM6MTAyMworIzogcmVkaXIuYzoxMTAxCiBtc2dpZCAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCiBtc2dzdHIgIm9tbGVpZGluZ3Nmb3V0OiBrYW4gYmVzdGFuZHNkZXNjcmlwdG9yIG5pZXQgZHVwbGljZXJlbiIKIAotIzogc2hlbGwuYzozMjgKKyM6IHNoZWxsLmM6MzMyCiBtc2dpZCAiY291bGQgbm90IGZpbmQgL3RtcCwgcGxlYXNlIGNyZWF0ZSEiCiBtc2dzdHIgIkthbiAvdG1wIG5pZXQgdmluZGVuOyBtYWFrIGRlemUgYWFuISIKIAotIzogc2hlbGwuYzozMzIKKyM6IHNoZWxsLmM6MzM2CiBtc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCiBtc2dzdHIgIi90bXAgZGllbnQgZWVuIGdlbGRpZ2UgbWFwbmFhbSB0ZSB6aWpuIgogCi0jOiBzaGVsbC5jOjg3NgorIzogc2hlbGwuYzo4ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWMlYzogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVjJWM6IG9uZ2VsZGlnZSBvcHRpZSIKIAotIzogc2hlbGwuYzoxNjM4CisjOiBzaGVsbC5jOjE2NTEKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgIklrIGhlYiBnZWVuIG5hYW0hIgogCi0jOiBzaGVsbC5jOjE3NzgKKyM6IHNoZWxsLmM6MTc5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgIkdOVSBiYXNoLCB2ZXJzaWUgJXMtKCVzKVxuIgogCi0jOiBzaGVsbC5jOjE3NzkKKyM6IHNoZWxsLmM6MTc5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKQEAgLTE0NjQsMzMzICsxNTM2LDMzOSBAQAogIkdlYnJ1aWs6ICAlcyBbb3B0aWVzXVxuIgogIiAgICAgICAgICAlcyBbb3B0aWVzXSBzY3JpcHRiZXN0YW5kLi4uXG4iCiAKLSM6IHNoZWxsLmM6MTc4MQorIzogc2hlbGwuYzoxNzk2CiBtc2dpZCAiR05VIGxvbmcgb3B0aW9uczpcbiIKIG1zZ3N0ciAiTGFuZ2Ugb3B0aWVzOlxuIgogCi0jOiBzaGVsbC5jOjE3ODUKKyM6IHNoZWxsLmM6MTgwMAogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgIktvcnRlIG9wdGllczpcbiIKIAotIzogc2hlbGwuYzoxNzg2CisjOiBzaGVsbC5jOjE4MDEKIG1zZ2lkICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCiBtc2dzdHIgIlx0LWlyc0QsICBvZiAtYyBvcGRyYWNodCwgIG9mIC1PIHNob3B0LW9wdGllICAgIChlbmtlbCBiaWogYWFucm9lcClcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCiBtc2dzdHIgIlx0LSVzLCAgb2YgLW8gb3B0aWUgICAgKHZlcmFuZGVyYmFhciB2aWEgJ3NldCcpXG4iCiAKLSM6IHNoZWxsLmM6MTgwNworIzogc2hlbGwuYzoxODIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIFwiaGVscCBzZXRcIicgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgb3B0aW9ucy5cbiIKIG1zZ3N0ciAiVHlwICclcyAtYyBcImhlbHAgc2V0XCInIHZvb3IgbWVlciBpbmZvcm1hdGllIG92ZXIgc2hlbGwtb3B0aWVzLlxuIgogCi0jOiBzaGVsbC5jOjE4MDgKKyM6IHNoZWxsLmM6MTgyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBoZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgogbXNnc3RyICIiCiAiVHlwICclcyAtYyBoZWxwJyB2b29yIG1lZXIgaW5mb3JtYXRpZSBvdmVyIGluZ2Vib3V3ZGUgc2hlbGwtZnVuY3RpZXMuXG4iCiAKLSM6IHNoZWxsLmM6MTgwOQorIzogc2hlbGwuYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIkdlYnJ1aWsgZGUgb3BkcmFjaHQgJ2Jhc2hidWcnIG9tIGZvdXRlbiBpbiBiYXNoIHRlIHJhcHBvcnRlcmVuLlxuIgogCi0jOiBzaWcuYzo1ODMKKyM6IHNpZy5jOjYyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzaWdwcm9jbWFzazogJWQ6IGludmFsaWQgb3BlcmF0aW9uIgogbXNnc3RyICJzaWdwcm9jbWFzaygpOiAlZDogb25nZWxkaWdlIG9wZXJhdGllIgogCi0jOiBzaWdsaXN0LmM6NDcKKyM6IHNpZ2xpc3QuYzo0OAogbXNnaWQgIkJvZ3VzIHNpZ25hbCIKIG1zZ3N0ciAiTmlldC1iZXN0YWFuZCBzaWduYWFsIgogCiAjIFZyb2VnZXIgZ2luZyBkaXQgb3ZlciBoZXQgYWZzbHVpdGVuIHZhbiBlZW4gbW9kZW12ZXJiaW5kaW5nLAogIyB0ZWdlbndvb3JkaWcgb3ZlciBoZXQgYWZzbHVpdGVuIHZhbiBlZW4gcHNldWRvdGVybWluYWwuCi0jOiBzaWdsaXN0LmM6NTAKKyM6IHNpZ2xpc3QuYzo1MQogbXNnaWQgIkhhbmd1cCIKIG1zZ3N0ciAiT3BnZWhhbmdlbiIKIAotIzogc2lnbGlzdC5jOjU0CisjOiBzaWdsaXN0LmM6NTUKIG1zZ2lkICJJbnRlcnJ1cHQiCiBtc2dzdHIgIk9uZGVyYnJva2VuIgogCi0jOiBzaWdsaXN0LmM6NTgKKyM6IHNpZ2xpc3QuYzo1OQogbXNnaWQgIlF1aXQiCiBtc2dzdHIgIkFmc2x1aXRlbiIKIAotIzogc2lnbGlzdC5jOjYyCisjOiBzaWdsaXN0LmM6NjMKIG1zZ2lkICJJbGxlZ2FsIGluc3RydWN0aW9uIgogbXNnc3RyICJPbmdlbGRpZ2UgaW5zdHJ1Y3RpZSIKIAotIzogc2lnbGlzdC5jOjY2CisjOiBzaWdsaXN0LmM6NjcKIG1zZ2lkICJCUFQgdHJhY2UvdHJhcCIKIG1zZ3N0ciAiVHJhY2Vlci9icmVla3B1bnQtaW5zdHJ1Y3RpZSIKIAotIzogc2lnbGlzdC5jOjc0CisjOiBzaWdsaXN0LmM6NzUKIG1zZ2lkICJBQk9SVCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiQUJPUlQtaW5zdHJ1Y3RpZSIKIAotIzogc2lnbGlzdC5jOjc4CisjOiBzaWdsaXN0LmM6NzkKIG1zZ2lkICJFTVQgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIkVNVC1pbnN0cnVjdGllIgogCi0jOiBzaWdsaXN0LmM6ODIKKyM6IHNpZ2xpc3QuYzo4MwogbXNnaWQgIkZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiIKIG1zZ3N0ciAiRHJpanZlbmRlLWtvbW1hLWJlcmVrZW5pbmdzZm91dCIKIAotIzogc2lnbGlzdC5jOjg2CisjOiBzaWdsaXN0LmM6ODcKIG1zZ2lkICJLaWxsZWQiCiBtc2dzdHIgIkdlw6tsaW1pbmVlcmQiCiAKLSM6IHNpZ2xpc3QuYzo5MAorIzogc2lnbGlzdC5jOjkxCiBtc2dpZCAiQnVzIGVycm9yIgogbXNnc3RyICJCdXNmb3V0IgogCi0jOiBzaWdsaXN0LmM6OTQKKyM6IHNpZ2xpc3QuYzo5NQogbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKIG1zZ3N0ciAiU2VnbWVudGF0aWVmb3V0IgogCi0jOiBzaWdsaXN0LmM6OTgKKyM6IHNpZ2xpc3QuYzo5OQogbXNnaWQgIkJhZCBzeXN0ZW0gY2FsbCIKIG1zZ3N0ciAiT25qdWlzdGUgc3lzdGVlbWFhbnJvZXAiCiAKLSM6IHNpZ2xpc3QuYzoxMDIKKyM6IHNpZ2xpc3QuYzoxMDMKIG1zZ2lkICJCcm9rZW4gcGlwZSIKIG1zZ3N0ciAiR2Vicm9rZW4gcGlqcCIKIAotIzogc2lnbGlzdC5jOjEwNgorIzogc2lnbGlzdC5jOjEwNwogbXNnaWQgIkFsYXJtIGNsb2NrIgogbXNnc3RyICJBbGFybWtsb2siCiAKLSM6IHNpZ2xpc3QuYzoxMTAKKyM6IHNpZ2xpc3QuYzoxMTEKIG1zZ2lkICJUZXJtaW5hdGVkIgogbXNnc3RyICJBZmdlc2xvdGVuIgogCi0jOiBzaWdsaXN0LmM6MTE0CisjOiBzaWdsaXN0LmM6MTE1CiBtc2dpZCAiVXJnZW50IElPIGNvbmRpdGlvbiIKIG1zZ3N0ciAiU3BvZWRlaXNlbmRlIEkvTy10b2VzdGFuZCIKIAotIzogc2lnbGlzdC5jOjExOAorIzogc2lnbGlzdC5jOjExOQogbXNnaWQgIlN0b3BwZWQgKHNpZ25hbCkiCiBtc2dzdHIgIkdlcGF1emVlcmQgKHNpZ25hYWwpIgogCi0jOiBzaWdsaXN0LmM6MTI2CisjOiBzaWdsaXN0LmM6MTI3CiBtc2dpZCAiQ29udGludWUiCiBtc2dzdHIgIkRvb3JnYWFuIgogCi0jOiBzaWdsaXN0LmM6MTM0CisjOiBzaWdsaXN0LmM6MTM1CiBtc2dpZCAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKIG1zZ3N0ciAiRG9jaHRlciBpcyBnZcOrbGltaW5lZXJkIG9mIGdlc3RvcHQiCiAKLSM6IHNpZ2xpc3QuYzoxMzgKKyM6IHNpZ2xpc3QuYzoxMzkKIG1zZ2lkICJTdG9wcGVkICh0dHkgaW5wdXQpIgogbXNnc3RyICJHZXBhdXplZXJkICh0dHktaW52b2VyKSIKIAotIzogc2lnbGlzdC5jOjE0MgorIzogc2lnbGlzdC5jOjE0MwogbXNnaWQgIlN0b3BwZWQgKHR0eSBvdXRwdXQpIgogbXNnc3RyICJHZXBhdXplZXJkICh0dHktdWl0dm9lcikiCiAKLSM6IHNpZ2xpc3QuYzoxNDYKKyM6IHNpZ2xpc3QuYzoxNDcKIG1zZ2lkICJJL08gcmVhZHkiCiBtc2dzdHIgIkkvTyBpcyBtb2dlbGlqayIKIAotIzogc2lnbGlzdC5jOjE1MAorIzogc2lnbGlzdC5jOjE1MQogbXNnaWQgIkNQVSBsaW1pdCIKIG1zZ3N0ciAiQ1BVLWxpbWlldCIKIAotIzogc2lnbGlzdC5jOjE1NAorIzogc2lnbGlzdC5jOjE1NQogbXNnaWQgIkZpbGUgbGltaXQiCiBtc2dzdHIgIkJlc3RhbmRzbGltaWV0IgogCi0jOiBzaWdsaXN0LmM6MTU4CisjOiBzaWdsaXN0LmM6MTU5CiBtc2dpZCAiQWxhcm0gKHZpcnR1YWwpIgogbXNnc3RyICJBbGFybSAodmlydHVlZWwpIgogCi0jOiBzaWdsaXN0LmM6MTYyCisjOiBzaWdsaXN0LmM6MTYzCiBtc2dpZCAiQWxhcm0gKHByb2ZpbGUpIgogbXNnc3RyICJBbGFybSAocHJvZmllbCkiCiAKLSM6IHNpZ2xpc3QuYzoxNjYKKyM6IHNpZ2xpc3QuYzoxNjcKIG1zZ2lkICJXaW5kb3cgY2hhbmdlZCIKIG1zZ3N0ciAiVmVuc3RlciBpcyB2ZXJhbmRlcmQiCiAKLSM6IHNpZ2xpc3QuYzoxNzAKKyM6IHNpZ2xpc3QuYzoxNzEKIG1zZ2lkICJSZWNvcmQgbG9jayIKIG1zZ3N0ciAiUmVjb3JkdmVyZ3JlbmRlbGluZyIKIAotIzogc2lnbGlzdC5jOjE3NAorIzogc2lnbGlzdC5jOjE3NQogbXNnaWQgIlVzZXIgc2lnbmFsIDEiCiBtc2dzdHIgIkdlYnJ1aWtlcnNzaWduYWFsIDEiCiAKLSM6IHNpZ2xpc3QuYzoxNzgKKyM6IHNpZ2xpc3QuYzoxNzkKIG1zZ2lkICJVc2VyIHNpZ25hbCAyIgogbXNnc3RyICJHZWJydWlrZXJzc2lnbmFhbCAyIgogCi0jOiBzaWdsaXN0LmM6MTgyCisjOiBzaWdsaXN0LmM6MTgzCiBtc2dpZCAiSEZUIGlucHV0IGRhdGEgcGVuZGluZyIKIG1zZ3N0ciAiSEZULWludm9lcmdlZ2V2ZW5zIHN0YWFuIHRlIHdhY2h0ZW4iCiAKLSM6IHNpZ2xpc3QuYzoxODYKKyM6IHNpZ2xpc3QuYzoxODcKIG1zZ2lkICJwb3dlciBmYWlsdXJlIGltbWluZW50IgogbXNnc3RyICJzdHJvb21zdG9yaW5nIGRyZWlndCIKIAotIzogc2lnbGlzdC5jOjE5MAorIzogc2lnbGlzdC5jOjE5MQogbXNnaWQgInN5c3RlbSBjcmFzaCBpbW1pbmVudCIKIG1zZ3N0ciAic3lzdGVlbWNyYXNoIGRyZWlndCIKIAotIzogc2lnbGlzdC5jOjE5NAorIzogc2lnbGlzdC5jOjE5NQogbXNnaWQgIm1pZ3JhdGUgcHJvY2VzcyB0byBhbm90aGVyIENQVSIKIG1zZ3N0ciAicHJvY2VzIG5hYXIgYW5kZXJlIHByb2Nlc3NvciB2ZXJwbGFhdHNlbiIKIAotIzogc2lnbGlzdC5jOjE5OAorIzogc2lnbGlzdC5jOjE5OQogbXNnaWQgInByb2dyYW1taW5nIGVycm9yIgogbXNnc3RyICJwcm9ncmFtbWVlcmZvdXQiCiAKLSM6IHNpZ2xpc3QuYzoyMDIKKyM6IHNpZ2xpc3QuYzoyMDMKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIGdyYW50ZWQiCiBtc2dzdHIgIkhGVC1tb25pdG9ybW9kdXMgaXMgZ2VnZXZlbiIKIAotIzogc2lnbGlzdC5jOjIwNgorIzogc2lnbGlzdC5jOjIwNwogbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgcmV0cmFjdGVkIgogbXNnc3RyICJIRlQtbW9uaXRvcm1vZHVzIGlzIGhlcnJvZXBlbiIKIAotIzogc2lnbGlzdC5jOjIxMAorIzogc2lnbGlzdC5jOjIxMQogbXNnaWQgIkhGVCBzb3VuZCBzZXF1ZW5jZSBoYXMgY29tcGxldGVkIgogbXNnc3RyICJIRlQtZ2VsdWlkc3NlcXVlbnRpZSBpcyBhZmdlc3BlZWxkIgogCi0jOiBzaWdsaXN0LmM6MjE0CisjOiBzaWdsaXN0LmM6MjE1CiBtc2dpZCAiSW5mb3JtYXRpb24gcmVxdWVzdCIKIG1zZ3N0ciAiVmVyem9layBvbSBpbmZvcm1hdGllIgogCi0jOiBzaWdsaXN0LmM6MjIyCisjOiBzaWdsaXN0LmM6MjIzCiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyIKIG1zZ3N0ciAiT25iZWtlbmQgc2lnbmFhbG51bW1lciIKIAotIzogc2lnbGlzdC5jOjIyNAorIzogc2lnbGlzdC5jOjIyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjJWQiCiBtc2dzdHIgIk9uYmVrZW5kIHNpZ25hYWwgIyVkIgogCi0jOiBzdWJzdC5jOjExODEgc3Vic3QuYzoxMzAyCisjOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKIG1zZ3N0ciAib25nZWxkaWdlIHZlcnZhbmdpbmc6IGdlZW4gc2x1aXQtJyVzJyBpbiAlcyIKIAotIzogc3Vic3QuYzoyNDU4CisjOiBzdWJzdC5jOjI3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gbGlzdCB0byBhcnJheSBtZW1iZXIiCiBtc2dzdHIgIiVzOiBrYW4gZ2VlbiBsaWpzdCB0b2V3aWp6ZW4gYWFuIGVlbiBhcnJheS1lbGVtZW50IgogCi0jOiBzdWJzdC5jOjQ0NTYgc3Vic3QuYzo0NDcyCisjOiBzdWJzdC5jOjQ3NTQgc3Vic3QuYzo0NzcwCiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImthbiBnZWVuIHBpanAgbWFrZW4gdm9vciBwcm9jZXN2ZXJ2YW5naW5nIgogCi0jOiBzdWJzdC5jOjQ1MDQKKyM6IHN1YnN0LmM6NDgwMgogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAia2FuIGdlZW4gZG9jaHRlcnByb2NlcyBtYWtlbiB2b29yIHByb2Nlc3ZlcnZhbmdpbmciCiAKLSM6IHN1YnN0LmM6NDU0OQorIzogc3Vic3QuYzo0ODQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHJlYWRpbmciCiBtc2dzdHIgImthbiBwaWpwIGdlbmFhbWQgJXMgbmlldCBvcGVuZW4gb20gdGUgbGV6ZW4iCiAKLSM6IHN1YnN0LmM6NDU1MQorIzogc3Vic3QuYzo0ODQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgImthbiBwaWpwIGdlbmFhbWQgJXMgbmlldCBvcGVuZW4gb20gdGUgc2NocmlqdmVuIgogCi0jOiBzdWJzdC5jOjQ1NjkKKyM6IHN1YnN0LmM6NDg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgImthbiBwaWpwIGdlbmFhbWQgJXMgbmlldCBkdXBsaWNlcmVuIGFscyBiZXN0YW5kc2Rlc2NyaXB0b3IgJWQiCiAKLSM6IHN1YnN0LmM6NDc2NQorIzogc3Vic3QuYzo1MDYzCiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImthbiBnZWVuIHBpanAgbWFrZW4gdm9vciBvcGRyYWNodHZlcnZhbmdpbmciCiAKLSM6IHN1YnN0LmM6NDc5OQorIzogc3Vic3QuYzo1MDk3CiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJrYW4gZ2VlbiBkb2NodGVycHJvY2VzIG1ha2VuIHZvb3Igb3BkcmFjaHR2ZXJ2YW5naW5nIgogCi0jOiBzdWJzdC5jOjQ4MTYKKyM6IHN1YnN0LmM6NTExNAogbXNnaWQgImNvbW1hbmRfc3Vic3RpdHV0ZTogY2Fubm90IGR1cGxpY2F0ZSBwaXBlIGFzIGZkIDEiCiBtc2dzdHIgIiIKICJjb21tYW5kX3N1YnN0aXR1dGUoKToga2FuIHBpanAgbmlldCBkdXBsaWNlcmVuIGFscyBiZXN0YW5kc2Rlc2NyaXB0b3IgMSIKIAotIzogc3Vic3QuYzo1MzE4CisjOiBzdWJzdC5jOjU2MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCiBtc2dzdHIgIiVzOiBsZWdlIHBhcmFtZXRlciwgb2YgbmlldCBpbmdlc3RlbGQiCiAKLSM6IHN1YnN0LmM6NTYwOAorIzogc3Vic3QuYzo1OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiBtc2dzdHIgIiVzOiByZXN1bHRhYXQgdmFuIGRlZWx0ZWtlbnJlZWtzIGlzIGtsZWluZXIgZGFuIG51bCIKIAotIzogc3Vic3QuYzo2NjYwCisjOiBzdWJzdC5jOjY5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiVzOiBvbmdlbGRpZ2UgdmVydmFuZ2luZyIKIAotIzogc3Vic3QuYzo2NzQwCisjOiBzdWJzdC5jOjcwNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IGthbiBuaWV0IG9wIGRlemUgbWFuaWVyIHRvZXdpanplbiIKIAotIzogc3Vic3QuYzo3NDk5CisjOiBzdWJzdC5jOjczNzQKK21zZ2lkICIiCisiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyAiCisic3Vic3RpdHV0aW9uIgorbXNnc3RyICIiCisKKyM6IHN1YnN0LmM6NzgzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgogbXNnc3RyICJvbmdlbGRpZ2UgdmVydmFuZ2luZzogZ2VlbiBhZnNsdWl0ZW5kZSAnYCcgaW4gJXMiCiAKLSM6IHN1YnN0LmM6ODM3NQorIzogc3Vic3QuYzo4NzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoOiAlcyIKIG1zZ3N0ciAiZ2VlbiBvdmVyZWVua29tc3Q6ICVzIgogCi0jOiB0ZXN0LmM6MTQ1CisjOiB0ZXN0LmM6MTQ2CiBtc2dpZCAiYXJndW1lbnQgZXhwZWN0ZWQiCiBtc2dzdHIgImFyZ3VtZW50IHdlcmQgdmVyd2FjaHQiCiAKLSM6IHRlc3QuYzoxNTQKKyM6IHRlc3QuYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludGVnZXIgZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IGVlbiBnZWhlZWwtZ2V0YWx1aXRkcnVra2luZyB3ZXJkIHZlcndhY2h0IgogCi0jOiB0ZXN0LmM6MjYyCisjOiB0ZXN0LmM6MjYzCiBtc2dpZCAiYCknIGV4cGVjdGVkIgogbXNnc3RyICInKScgd2VyZCB2ZXJ3YWNodCIKIAotIzogdGVzdC5jOjI2NAorIzogdGVzdC5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICInKScgd2VyZCB2ZXJ3YWNodDsgJXMgZ2V2b25kZW4iCiAKLSM6IHRlc3QuYzoyNzkgdGVzdC5jOjY4OCB0ZXN0LmM6NjkxCisjOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTMgdGVzdC5jOjY5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgImVlbnppamRpZ2Ugb3BlcmF0b3Igd2VyZCB2ZXJ3YWNodCwgJXMgZ2V2b25kZW4iCiAKLSM6IHRlc3QuYzo0NDQgdGVzdC5jOjczMQorIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgInR3ZWV6aWpkaWdlIG9wZXJhdG9yIHdlcmQgdmVyd2FjaHQsICVzIGdldm9uZGVuIgogCi0jOiB0ZXN0LmM6ODA2CisjOiB0ZXN0LmM6ODExCiBtc2dpZCAibWlzc2luZyBgXSciCiBtc2dzdHIgIm9udGJyZWtlbmRlICddJyIKIAotIzogdHJhcC5jOjIwMQorIzogdHJhcC5jOjIwMwogbXNnaWQgImludmFsaWQgc2lnbmFsIG51bWJlciIKIG1zZ3N0ciAib25nZWxkaWcgc2lnbmFhbG51bW1lciIKIAotIzogdHJhcC5jOjMyNAorIzogdHJhcC5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogbXNnc3RyICJydW5fcGVuZGluZ190cmFwcygpOiBvbmdlbGRpZ2Ugd2FhcmRlIGluIHRyYXBfbGlzdFslZF06ICVwIgogCi0jOiB0cmFwLmM6MzI4CisjOiB0cmFwLmM6MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgpAQCAtMTc5OCw1OCArMTg3Niw3MiBAQAogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWFsdmVyd2Vya2VyIGlzIFNJR19ERkwsIGhlcnplbmRlbiB2YW4gJWQgKCVzKSBhYW4gIgogIm1lemVsZi4uLiIKIAotIzogdHJhcC5jOjM3MgorIzogdHJhcC5jOjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFwX2hhbmRsZXI6IGJhZCBzaWduYWwgJWQiCiBtc2dzdHIgInRyYXBfaGFuZGxlcigpOiBvbmdlbGRpZyBzaWduYWFsICVkIgogCi0jOiB2YXJpYWJsZXMuYzozNTgKKyM6IHZhcmlhYmxlcy5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBpbXBvcnRpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbiBmb3IgYCVzJyIKIG1zZ3N0ciAiZm91dCB0aWpkZW5zIGltcG9ydGVyZW4gdmFuIGZ1bmN0aWVkZWZpbml0aWUgdm9vciAnJXMnIgogCi0jOiB2YXJpYWJsZXMuYzo3MzYKKyM6IHZhcmlhYmxlcy5jOjc0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGVsbCBsZXZlbCAoJWQpIHRvbyBoaWdoLCByZXNldHRpbmcgdG8gMSIKIG1zZ3N0ciAic2hlbGwtbml2ZWF1IGlzIHRlIGhvb2cgKCVkKTsgdGVydWdnZXpldCBvcCAxIgogCi0jOiB2YXJpYWJsZXMuYzoxODk4CisjOiB2YXJpYWJsZXMuYzoxOTE1CiBtc2dpZCAibWFrZV9sb2NhbF92YXJpYWJsZTogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICIiCiAibWFrZV9sb2NhbF92YXJpYWJsZSgpOiBlciBpcyBnZWVuIGZ1bmN0aWVjb250ZXh0IGluIGh1aWRpZ2UgZ2VsZGlnaGVpZHNiZXJlaWsiCiAKLSM6IHZhcmlhYmxlcy5jOjMxMjcKKyM6IHZhcmlhYmxlcy5jOjMxNTkKIG1zZ2lkICJhbGxfbG9jYWxfdmFyaWFibGVzOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIiIKICJhbGxfbG9jYWxfdmFyaWFibGVzKCk6IGVyIGlzIGdlZW4gZnVuY3RpZWNvbnRleHQgaW4gaHVpZGlnZSBnZWxkaWdoZWlkc2JlcmVpayIKIAotIzogdmFyaWFibGVzLmM6MzM0NCB2YXJpYWJsZXMuYzozMzUzCisjOiB2YXJpYWJsZXMuYzozMzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKK21zZ3N0ciAiIgorCisjOiB2YXJpYWJsZXMuYzozMzgxIHZhcmlhYmxlcy5jOjMzOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAib25nZWxkaWcgdGVrZW4gJyVkJyBpbiBleHBvcnQtdGVrZW5yZWVrcyB2b29yICVzIgogCi0jOiB2YXJpYWJsZXMuYzozMzU5CisjOiB2YXJpYWJsZXMuYzozMzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICJnZWVuICc9JyBpbiBleHBvcnQtdGVrZW5yZWVrcyB2b29yICVzIgogCi0jOiB2YXJpYWJsZXMuYzozNzk0CisjOiB2YXJpYWJsZXMuYzozODM1CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSBmdW5jdGlvbiBjb250ZXh0IgogbXNnc3RyICJwb3BfdmFyX2NvbnRleHQoKTogdG9wIHZhbiAnc2hlbGxfdmFyaWFibGVzJyBpcyBnZWVuIGZ1bmN0aWVjb250ZXh0IgogCi0jOiB2YXJpYWJsZXMuYzozODA3CisjOiB2YXJpYWJsZXMuYzozODQ4CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBubyBnbG9iYWxfdmFyaWFibGVzIGNvbnRleHQiCiBtc2dzdHIgInBvcF92YXJfY29udGV4dCgpOiBlciBpcyBnZWVuICdnbG9iYWxfdmFyaWFibGVzJy1jb250ZXh0IgogCi0jOiB2YXJpYWJsZXMuYzozODgxCisjOiB2YXJpYWJsZXMuYzozOTIyCiBtc2dpZCAicG9wX3Njb3BlOiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgc2NvcGUiCiBtc2dzdHIgIiIKICJwb3Bfc2NvcGUoKTogdG9wIHZhbiAnc2hlbGxfdmFyaWFibGVzJyBpcyBnZWVuIHRpamRlbGlqayBnZWxkaWdoZWlkc2JlcmVpayIKIAorIzogdmFyaWFibGVzLmM6NDY3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIgorbXNnc3RyICJLYW4gJXMgbmlldCBvcGVuZW46ICVzIgorCisjOiB2YXJpYWJsZXMuYzo0NjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGludmFsaWQgdmFsdWUgZm9yIHRyYWNlIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiJWQ6IG9uZ2VsZGlnZSBiZXN0YW5kc2Rlc2NyaXB0b3I6ICVzIgorCiAjOiB2ZXJzaW9uLmM6NDYKLSMsIGZ1enp5CiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKLW1zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKK21zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIAogIzogdmVyc2lvbi5jOjQ3CiBtc2dpZCAiIgpAQCAtMTg1OSw2NiArMTk1MSw1NyBAQAogIkRlIGxpY2VudGllIGlzIEdQTHYzKzogR05VIEdQTCB2ZXJzaWUgMyBvZiBsYXRlci5cbiIKICJaaWUgaHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWwgdm9vciBkZSB2b2xsZWRpZ2UgdGVrc3QuXG4iCiAKLSM6IHZlcnNpb24uYzo4NgorIzogdmVyc2lvbi5jOjg2IHZlcnNpb24yLmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMgKCVzKVxuIgogbXNnc3RyICJHTlUgYmFzaCwgdmVyc2llICVzICglcylcbiIKIAotIzogdmVyc2lvbi5jOjkxCisjOiB2ZXJzaW9uLmM6OTEgdmVyc2lvbjIuYzo4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC5cbiIKIG1zZ3N0ciAiIgogIkRpdCBpcyB2cmlqZSBzb2Z0d2FyZTsgdSBtYWcgaGV0IHZyaWplbGlqayB3aWp6aWdlbiBlbiB2ZXJkZXIgdmVyc3ByZWlkZW4uXG4iCiAKLSM6IHZlcnNpb24uYzo5MgorIzogdmVyc2lvbi5jOjkyIHZlcnNpb24yLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKIG1zZ3N0ciAiRXIgaXMgR0VFTiBHQVJBTlRJRSwgdm9vciB6b3ZlciBkZSB3ZXQgZGl0IHRvZXN0YWF0LlxuIgogCi0jOiB4bWFsbG9jLmM6OTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjOiB2ZXJzaW9uMi5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCittc2dzdHIgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCisKKyM6IHZlcnNpb24yLmM6ODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMaWNlbnNlIEdQTHYyKzogR05VIEdQTCB2ZXJzaW9uIDIgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiaHRtbD5cbiIKK21zZ3N0ciAiIgorIkRlIGxpY2VudGllIGlzIEdQTHYzKzogR05VIEdQTCB2ZXJzaWUgMyBvZiBsYXRlci5cbiIKKyJaaWUgaHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWwgdm9vciBkZSB2b2xsZWRpZ2UgdGVrc3QuXG4iCisKKyM6IHhtYWxsb2MuYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgogbXNnc3RyICJ4bWFsbG9jKCk6IGthbiBnZWVuICVsdSBieXRlcyByZXNlcnZlcmVuICglbHUgYnl0ZXMgZ2VyZXNlcnZlZXJkKSIKIAotIzogeG1hbGxvYy5jOjk0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCisjOiB4bWFsbG9jLmM6OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgogbXNnc3RyICJ4bWFsbG9jKCk6IGthbiBnZWVuICVsdSBieXRlcyByZXNlcnZlcmVuIgogCi0jOiB4bWFsbG9jLmM6MTE0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICIiCi0ieHJlYWxsb2MoKToga2FuICVsdSBieXRlcyBuaWV0IG9wbmlldXcgcmVzZXJ2ZXJlbiAoJWx1IGJ5dGVzIGdlcmVzZXJ2ZWVyZCkiCi0KLSM6IHhtYWxsb2MuYzoxMTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhyZWFsbG9jKCk6IGthbiAlbHUgYnl0ZXMgbmlldCBvcG5pZXV3IHJlc2VydmVyZW4iCi0KLSM6IHhtYWxsb2MuYzoxNTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorIzogeG1hbGxvYy5jOjE2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKIG1zZ3N0ciAiIgogInhtYWxsb2MoKTogJXM6JWQ6IGthbiBnZWVuICVsdSBieXRlcyByZXNlcnZlcmVuICglbHUgYnl0ZXMgZ2VyZXNlcnZlZXJkKSIKIAotIzogeG1hbGxvYy5jOjE1MgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKKyM6IHhtYWxsb2MuYzoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKIG1zZ3N0ciAieG1hbGxvYygpOiAlczolZDoga2FuIGdlZW4gJWx1IGJ5dGVzIHJlc2VydmVyZW4iCiAKLSM6IHhtYWxsb2MuYzoxNzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICIiCi0ieHJlYWxsb2MoKTogJXM6JWQ6IGthbiAlbHUgYnl0ZXMgbmlldCBvcG5pZXV3IHJlc2VydmVyZW4gKCVsdSBieXRlcyAiCi0iZ2VyZXNlcnZlZXJkKSIKLQotIzogeG1hbGxvYy5jOjE3NgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhyZWFsbG9jKCk6ICVzOiVkOiBrYW4gJWx1IGJ5dGVzIG5pZXQgb3BuaWV1dyByZXNlcnZlcmVuIgotCiAjOiBidWlsdGlucy5jOjQzCiBtc2dpZCAiYWxpYXMgWy1wXSBbbmFtZVs9dmFsdWVdIC4uLiBdIgogbXNnc3RyICJhbGlhcyBbLXBdIFtOQUFNWz1XQUFSREVdIC4uLiBdIgpAQCAtMjAzOSw3ICsyMTIyLDggQEAKIG1zZ3N0ciAiaGFzaCBbLWxyXSBbLXAgUEFETkFBTV0gWy1kdF0gW05BQU0uLi5dIgogCiAjOiBidWlsdGlucy5jOjExNwotbXNnaWQgImhlbHAgWy1kc10gW3BhdHRlcm4gLi4uXSIKKyMsIGZ1enp5Cittc2dpZCAiaGVscCBbLWRtc10gW3BhdHRlcm4gLi4uXSIKIG1zZ3N0ciAiaGVscCBbLWRzXSBbUEFUUk9PTi4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTIxCkBAIC0yMDczLDkgKzIxNTcsMTAgQEAKIG1zZ3N0ciAibGV0IEFSR1VNRU5ULi4uIgogCiAjOiBidWlsdGlucy5jOjEzNgorIywgZnV6enkKIG1zZ2lkICIiCi0icmVhZCBbLWVyc10gWy1hIGFycmF5XSBbLWQgZGVsaW1dIFstaSB0ZXh0XSBbLW4gbmNoYXJzXSBbLXAgcHJvbXB0XSBbLXQgIgotInRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXSIKKyJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstTiBuY2hhcnNdIFstcCAiCisicHJvbXB0XSBbLXQgdGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCiAicmVhZCBbLWVyc10gWy1hIEFSUkFZXSBbLWQgU0NIRUlESU5HU1RFS0VOXSBbLWkgVEVLU1RdIFstbiBBQU5UQUxfVEVLRU5TXVxuIgogIiAgICAgICAgICAgWy1wIFBST01QVF0gWy10IFRJSkRTTElNSUVUXSBbLXUgQkVTVEFORFNERVNDUklQVE9SXSBbTkFBTS4uLl0iCkBAIC0yMTkxLDcgKzIyNzYsNyBAQAogCiAjOiBidWlsdGlucy5jOjE5OAogbXNnaWQgImNvcHJvYyBbTkFNRV0gY29tbWFuZCBbcmVkaXJlY3Rpb25zXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJjb3Byb2MgW05BQU1dIG9wZHJhY2h0IFt2ZXJ3aWp6aW5nZW5dIgogCiAjOiBidWlsdGlucy5jOjIwMAogbXNnaWQgImZ1bmN0aW9uIG5hbWUgeyBDT01NQU5EUyA7IH0gb3IgbmFtZSAoKSB7IENPTU1BTkRTIDsgfSIKQEAgLTIyMzgsMTAgKzIzMjMsMTEgQEAKIG1zZ3N0ciAicHJpbnRmIFstdiBWQVJJQUJFTEVdIE9QTUFBSyBbQVJHVU1FTlRFTl0iCiAKICM6IGJ1aWx0aW5zLmM6MjI5CisjLCBmdXp6eQogbXNnaWQgIiIKLSJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1vIG9wdGlvbl0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstVyAiCi0id29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgc3VmZml4XSAiCi0iW25hbWUgLi4uXSIKKyJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1ERV0gWy1vIG9wdGlvbl0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstIgorIlcgd29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgIgorInN1ZmZpeF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgogImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8gT1BUSUVdIFstQSBBQ1RJRV0gWy1HIFBBVFJPT05dXG4iCiAiICAgICAgICAgICAgICAgICAgIFstVyBXT09SREVOTElKU1RdIFstRiBGVU5DVElFXSBbLUMgT1BEUkFDSFRdXG4iCkBAIC0yMjU3LDcgKzIzNDMsOCBAQAogIiAgICAgICAgICAgICAgICAgWy1YIEZJTFRFUlBBVFJPT05dIFstUCBQUkVGSVhdIFstUyBTVUZGSVhdICBbV09PUkRdIgogCiAjOiBidWlsdGlucy5jOjIzNwotbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gW25hbWUgLi4uXSIKKyMsIGZ1enp5Cittc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbLURFXSBbbmFtZSAuLi5dIgogbXNnc3RyICJjb21wb3B0IFstb3wrbyBPUFRJRV0gW05BQU0uLi5dIgogCiAjOiBidWlsdGlucy5jOjI0MApAQCAtMjI2OSwxMiArMjM1NiwxMSBAQAogIiAgICAgICAgICAgICAgICAgWy1DIEZVTkNUSUVdIFstYyBIT0VWRUVMSEVJRF0gW0FSUkFZXSIKIAogIzogYnVpbHRpbnMuYzoyNDIKLSMsIGZ1enp5CiBtc2dpZCAiIgogInJlYWRhcnJheSBbLW4gY291bnRdIFstTyBvcmlnaW5dIFstcyBjb3VudF0gWy10XSBbLXUgZmRdIFstQyBjYWxsYmFja10gWy1jICIKICJxdWFudHVtXSBbYXJyYXldIgogbXNnc3RyICIiCi0ibWFwZmlsZSBbLW4gQUFOVEFMXSBbLU8gQkVHSU5dIFstcyBBQU5UQUxdIFstdF0gWy11IEJFU1RBTkRTREVTQ1JJUFRPUl1cbiIKKyJyZWFkYXJyYXkgWy1uIEFBTlRBTF0gWy1PIEJFR0lOXSBbLXMgQUFOVEFMXSBbLXRdIFstdSBCRVNUQU5EU0RFU0NSSVBUT1JdXG4iCiAiICAgICAgICAgICAgICAgICBbLUMgRlVOQ1RJRV0gWy1jIEhPRVZFRUxIRUlEXSBbQVJSQVldIgogCiAjOiBidWlsdGlucy5jOjI1NApAQCAtMzQ5Niw3ICszNTgyLDExIEBACiAiICAgICAgLWVcdFx0dXNlIFJlYWRsaW5lIHRvIG9idGFpbiB0aGUgbGluZSBpbiBhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgogIiAgICAgIC1pIHRleHRcdFVzZSBURVhUIGFzIHRoZSBpbml0aWFsIHRleHQgZm9yIFJlYWRsaW5lXG4iCiAiICAgICAgLW4gbmNoYXJzXHRyZXR1cm4gYWZ0ZXIgcmVhZGluZyBOQ0hBUlMgY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3YWl0aW5nXG4iCi0iICAgIFx0XHRmb3IgYSBuZXdsaW5lXG4iCisiICAgIFx0XHRmb3IgYSBuZXdsaW5lLCBidXQgaG9ub3IgYSBkZWxpbWl0ZXIgaWYgZmV3ZXIgdGhhbiBOQ0hBUlNcbiIKKyIgICAgXHRcdGNoYXJhY3RlcnMgYXJlIHJlYWQgYmVmb3JlIHRoZSBkZWxpbWl0ZXJcbiIKKyIgICAgICAtTiBuY2hhcnNcdHJldHVybiBvbmx5IGFmdGVyIHJlYWRpbmcgZXhhY3RseSBOQ0hBUlMgY2hhcmFjdGVycywgIgorInVubGVzc1xuIgorIiAgICBcdFx0RU9GIGlzIGVuY291bnRlcmVkIG9yIHJlYWQgdGltZXMgb3V0LCBpZ25vcmluZyBhbnkgZGVsaW1pdGVyXG4iCiAiICAgICAgLXAgcHJvbXB0XHRvdXRwdXQgdGhlIHN0cmluZyBQUk9NUFQgd2l0aG91dCBhIHRyYWlsaW5nIG5ld2xpbmUgYmVmb3JlXG4iCiAiICAgIFx0XHRhdHRlbXB0aW5nIHRvIHJlYWRcbiIKICIgICAgICAtclx0XHRkbyBub3QgYWxsb3cgYmFja3NsYXNoZXMgdG8gZXNjYXBlIGFueSBjaGFyYWN0ZXJzXG4iCkBAIC0zNTMwLDMyICszNjIwLDMyIEBACiAiICAgIHppam4sIHdvcmR0IGRlIGdlbGV6ZW4gcmVnZWwgb3BnZXNsYWdlbiBpbiBkZSB2YXJpYWJlbGUgUkVQTFkuXG4iCiAiXG4iCiAiICAgIE9wdGllczpcbiIKLSIgICAgICAtYSBBUlJBWSAgIGRlIGdlbGV6ZW4gd29vcmRlbiB0b2VrZW5uZW4gYWFuIGRlIG9wZWVudm9sZ2VuZGUgcG9zaXRpZXNcbiIKLSIgICAgICAgICAgICAgICAgICAgdmFuIGhldCBnZW5vZW1kZSBhcnJheSwgYmVnaW5uZW5kIGJpaiBpbmRleCBudWxcbiIKLSIgICAgICAtZCBURUtFTiAgIGRvb3JnYWFuIG1ldCBsZXplbiB0b3QgVEVLRU4gZ2VsZXplbiB3b3JkdCAoaS5wLnYuIExGLSIKKyIgICAgICAtYSBBUlJBWVx0ZGUgZ2VsZXplbiB3b29yZGVuIHRvZWtlbm5lbiBhYW4gZGUgb3BlZW52b2xnZW5kZSBwb3NpdGllc1xuIgorIiAgICAgIFx0XHR2YW4gaGV0IGdlbm9lbWRlIGFycmF5LCBiZWdpbm5lbmQgYmlqIGluZGV4IG51bFxuIgorIiAgICAgIC1kIFRFS0VOXHRkb29yZ2FhbiBtZXQgbGV6ZW4gdG90IFRFS0VOIGdlbGV6ZW4gd29yZHQgKGkucC52LiBMRi0iCiAidGVrZW4pXG4iCi0iICAgICAgLWUgICAgICAgICBpbiBlZW4gaW50ZXJhY3RpZXZlIHNoZWxsICdyZWFkbGluZScgZ2VicnVpa2VuIG9tIGRlIHJlZ2VsXG4iCi0iICAgICAgICAgICAgICAgICAgIGluIHRlIGxlemVuXG4iCi0iICAgICAgLWkgVEVLU1QgICBkb29yICdyZWFkbGluZScgdGUgZ2VicnVpa2VuIGJlZ2ludGVrc3RcbiIKLSIgICAgICAtbiBBQU5UQUwgIHN0b3BwZW4gbmEgZGl0IGFhbnRhbCB0ZWtlbnMgZ2VsZXplbiB0ZSBoZWJiZW4gKGkucC52LiB0b3RcbiIKLSIgICAgICAgICAgICAgICAgICAgZWViIExGLXRla2VuKVxuIgotIiAgICAgIC1wIFBST01UICAgZGV6ZSB0ZWtlbnJlZWtzIHRvbmVuIGFscyBwcm9tcHQgKHpvbmRlciBhZnNsdWl0ZW5kZSAiCisiICAgICAgLWVcdFx0aW4gZWVuIGludGVyYWN0aWV2ZSBzaGVsbCAncmVhZGxpbmUnIGdlYnJ1aWtlbiBvbSBkZSByZWdlbFxuIgorIiAgICAgICAgIFx0XHRpbiB0ZSBsZXplblxuIgorIiAgICAgIC1pIFRFS1NUXHRkb29yICdyZWFkbGluZScgdGUgZ2VicnVpa2VuIGJlZ2ludGVrc3RcbiIKKyIgICAgICAtbiBBQU5UQUxcdHN0b3BwZW4gbmEgZGl0IGFhbnRhbCB0ZWtlbnMgZ2VsZXplbiB0ZSBoZWJiZW4gKGkucC52LiB0b3RcbiIKKyIgICAgICAgICBcdFx0ZWVuIExGLXRla2VuKVxuIgorIiAgICAgIC1wIFBST01QVFx0ZGV6ZSB0ZWtlbnJlZWtzIHRvbmVuIGFscyBwcm9tcHQgKHpvbmRlciBhZnNsdWl0ZW5kZSAiCiAibmlldXdlXG4iCi0iICAgICAgICAgICAgICAgICAgIHJlZ2VsKSBhbHZvcmVucyB0ZSBiZWdpbm5lbiBtZXQgbGV6ZW5cbiIKLSIgICAgICAtciAgICAgICAgIGJhY2tzbGFzaC1jb2RlcyBuaWV0IG9temV0dGVuIG5hYXIgaHVuIGJldGVrZW5pc1xuIgotIiAgICAgIC1zICAgICAgICAgaW52b2VyIGRpZSB2YW4gZWVuIHRlcm1pbmFsIGtvbXQgbmlldCBlY2hvw6tuXG4iCi0iICAgICAgLXQgQUFOVEFMICBuYSBkaXQgYWFudGFsIHNlY29uZGVuIHN0b3BwZW4gbWV0IHdhY2h0ZW4gb3AgaW52b2VyIGVuXG4iCi0iICAgICAgICAgICAgICAgICAgIGFmc2x1aXRlbiBtZXQgZWVuIGNvZGUgZ3JvdGVyIGRhbiAxMjg7IGRlIHdhYXJkZSB2YW4gZGVcbiIKLSIgICAgICAgICAgICAgICAgICAgdmFyaWFiZWxlIFRNT1VUIGlzIGRlIHN0YW5kYWFyZHdhYXJkZSB2b29yIGhldCBhYW50YWwgdGVcbiIKLSIgICAgICAgICAgICAgICAgICAgd2FjaHRlbiBzZWNvbmRlbjsgaGV0IGFhbnRhbCBtYWcgZHJpanZlbmRlcHVudGdldGFsIHppam5cbiIKLSIgICAgICAtdSBCU0RTICAgIHZhbiBkZXplIGJlc3RhbmRzZGVzY3JpcHRvciBsZXplbiBpLnAudi4gdmFuICIKKyIgICAgICAgICBcdFx0cmVnZWwpIGFsdm9yZW5zIHRlIGJlZ2lubmVuIG1ldCBsZXplblxuIgorIiAgICAgIC1yXHRcdGJhY2tzbGFzaC1jb2RlcyBuaWV0IG9temV0dGVuIG5hYXIgaHVuIGJldGVrZW5pc1xuIgorIiAgICAgIC1zXHRcdGludm9lciBkaWUgdmFuIGVlbiB0ZXJtaW5hbCBrb210IG5pZXQgZWNob8OrblxuIgorIiAgICAgIC10IEFBTlRBTFx0bmEgZGl0IGFhbnRhbCBzZWNvbmRlbiBzdG9wcGVuIG1ldCB3YWNodGVuIG9wIGludm9lciBlblxuIgorIiAgICAgICAgIFx0XHRhZnNsdWl0ZW4gbWV0IGVlbiBjb2RlIGdyb3RlciBkYW4gMTI4OyBkZSB3YWFyZGUgdmFuIGRlXG4iCisiICAgICAgICAgXHRcdHZhcmlhYmVsZSBUTU9VVCBpcyBkZSBzdGFuZGFhcmR3YWFyZGUgdm9vciBoZXQgYWFudGFsIHRlXG4iCisiICAgICAgICAgXHRcdHdhY2h0ZW4gc2Vjb25kZW47IGhldCBhYW50YWwgbWFnIGRyaWp2ZW5kZXB1bnRnZXRhbCB6aWpuXG4iCisiICAgICAgLXUgQlNEU1x0XHR2YW4gZGV6ZSBiZXN0YW5kc2Rlc2NyaXB0b3IgbGV6ZW4gaS5wLnYuIHZhbiAiCiAic3RhbmRhYXJkaW52b2VyXG4iCi0iXG4iCisiICAgIFxuIgogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAsIHRlbnppaiBlaW5kZS12YW4tYmVzdGFuZCAoRU9GKSBiZXJlaWt0IHdlcmQsXG4iCiAiICAgIGRlIHRpamRzbGltaWV0IG92ZXJzY2hyZWRlbiB3ZXJkLCBvZiBlZW4gb25nZWxkaWdlIGJlc3RhbmRzZGVzY3JpcHRvclxuIgogIiAgICBhbHMgYXJndW1lbnQgdmFuICctdScgZ2VnZXZlbiB3ZXJkLiIKIAotIzogYnVpbHRpbnMuYzoxMDA2CisjOiBidWlsdGlucy5jOjEwMDkKIG1zZ2lkICIiCiAiUmV0dXJuIGZyb20gYSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNTc1LDggKzM2NjUsOCBAQAogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIE4sIG9mIDEgYWxzIGRlIHNoZWxsIGdlZW4gZnVuY3RpZSBvZiBzY3JpcHQgYWFuIGhldFxuIgogIiAgICB1aXR2b2VyZW4gaXMuIgogCi0jIFZvb3IgZGUgZHVpZGVsaWpraGVpZCBpcyBkZSB0ZWpzdHZvbGdvcmRlIHZlcmFuZGVyZC4KLSM6IGJ1aWx0aW5zLmM6MTAxOQorIyBWb29yIGRlIGR1aWRlbGlqa2hlaWQgaXMgZGUgdGVrc3R2b2xnb3JkZSB2ZXJhbmRlcmQuCisjOiBidWlsdGlucy5jOjEwMjIKIG1zZ2lkICIiCiAiU2V0IG9yIHVuc2V0IHZhbHVlcyBvZiBzaGVsbCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzc1Niw3ICszODQ2LDcgQEAKICJcbiIKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwLCB0ZW56aWogZWVuIG9uZ2VsZGlnZSBvcHRpZSBnZWdldmVuIHdlcmQuIgogCi0jOiBidWlsdGlucy5jOjExMDEKKyM6IGJ1aWx0aW5zLmM6MTEwNAogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzc5MCw3ICszODgwLDcgQEAKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwLCB0ZW56aWogZWVuIG9uZ2VsZGlnZSBvcHRpZSBnZWdldmVuIHdlcmQgb2YgZWVuXG4iCiAiICAgIE5BQU0gYWxsZWVuLWxlemVuIGlzLiIKIAotIzogYnVpbHRpbnMuYzoxMTIxCisjOiBidWlsdGlucy5jOjExMjQKIG1zZ2lkICIiCiAiU2V0IGV4cG9ydCBhdHRyaWJ1dGUgZm9yIHNoZWxsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0zODIzLDcgKzM5MTMsNyBAQAogIlxuIgogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAsIHRlbnppaiBlZW4gb25nZWxkaWdlIG9wdGllIG9mIE5BQU0gZ2VnZXZlbiB3ZXJkLiIKIAotIzogYnVpbHRpbnMuYzoxMTQwCisjOiBidWlsdGlucy5jOjExNDMKIG1zZ2lkICIiCiAiTWFyayBzaGVsbCB2YXJpYWJsZXMgYXMgdW5jaGFuZ2VhYmxlLlxuIgogIiAgICBcbiIKQEAgLTM4NTksNyArMzk0OSw3IEBACiAiXG4iCiAiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCwgdGVuemlqIGVlbiBvbmdlbGRpZ2Ugb3B0aWUgb2YgTkFBTSBnZWdldmVuIHdlcmQuIgogCi0jOiBidWlsdGlucy5jOjExNjEKKyM6IGJ1aWx0aW5zLmM6MTE2NAogbXNnaWQgIiIKICJTaGlmdCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzg3Niw3ICszOTY2LDcgQEAKICJcbiIKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwIHRlbnppaiBOIG5lZ2F0aWVmIGlzIG9mIGdyb3RlciBkYW4gJCMuIgogCi0jOiBidWlsdGlucy5jOjExNzMgYnVpbHRpbnMuYzoxMTg4CisjOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzkwMSw3ICszOTkxLDcgQEAKICJnZWdldmVuXG4iCiAiICAgIGJlc3RhbmQsIG9mIDEgYWxzIGRpdCBiZXN0YW5kIG5pZXQgZ2VsZXplbiBrYW4gd29yZGVuLiIKIAotIzogYnVpbHRpbnMuYzoxMjA0CisjOiBidWlsdGlucy5jOjEyMDcKIG1zZ2lkICIiCiAiU3VzcGVuZCBzaGVsbCBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzkyNiw3ICs0MDE2LDcgQEAKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwIHRlbnppaiB0YWFrYmVoZWVyIHVpdGdlc2NoYWtlbGQgaXMgb2YgZXIgZWVuIGZvdXRcbiIKICIgICAgb3B0cmVlZHQuIgogCi0jOiBidWlsdGlucy5jOjEyMjAKKyM6IGJ1aWx0aW5zLmM6MTIyMwogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTQwNjUsNyArNDE1NSw3IEBACiAiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCBhbHMgRVhQUkVTU0lFIHdhYXIgaXMsIDEgYWxzIEVYUFJFU1NJRSBvbndhYXIgaXMsXG4iCiAiICAgIGVuIDIgYWxzIGVlbiBvbmdlbGRpZyBhcmd1bWVudCBnZWdldmVuIHdlcmQuIgogCi0jOiBidWlsdGlucy5jOjEyOTYKKyM6IGJ1aWx0aW5zLmM6MTI5OQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTQwNzcsNyArNDE2Nyw3IEBACiAiICAgIERpdCBpcyBlZW4gc3lub25pZW0gdm9vciBkZSBpbmdlYm91d2RlIGZ1bmN0aWUgJ3Rlc3QnLCBiZWhhbHZlIGRhdFxuIgogIiAgICBoZXQgbGFhdHN0ZSBhcmd1bWVudCBlZW4gJ10nIG1vZXQgemlqbiwgaG9yZW5kIGJpaiBkZSBiZWdpbi0nWycuIgogCi0jOiBidWlsdGlucy5jOjEzMDUKKyM6IGJ1aWx0aW5zLmM6MTMwOAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtNDA5Niw3ICs0MTg2LDcgQEAKICJcbiIKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyBhbHRpamQgMC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTMxNworIzogYnVpbHRpbnMuYzoxMzIwCiBtc2dpZCAiIgogIlRyYXAgc2lnbmFscyBhbmQgb3RoZXIgZXZlbnRzLlxuIgogIiAgICBcbiIKQEAgLTQxNzYsNyArNDI2Niw3IEBACiAiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCwgdGVuemlqIGVlbiBvbmdlbGRpZ2Ugb3B0aWUgb2YgU0lHTkFBTEFBTkRVSURJTkdcbiIKICIgICAgZ2VnZXZlbiB3ZXJkLiIKIAotIzogYnVpbHRpbnMuYzoxMzQ5CisjOiBidWlsdGlucy5jOjEzNTIKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kIHR5cGUuXG4iCiAiICAgIFxuIgpAQCAtNDIyOCw3ICs0MzE4LDcgQEAKICIgICAgICAgICAgICBhbHMgZGUgbmFhbSBvbmJla2VuZCBpc1xcIFxuIgogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAgYWxzIGVsa2UgTkFBTSBnZXZvbmRlbiB3ZXJkLCBhbmRlcnMgMS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MAorIzogYnVpbHRpbnMuYzoxMzgzCiBtc2dpZCAiIgogIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCiAiICAgIFxuIgpAQCAtNDMxNSw3ICs0NDA1LDcgQEAKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwLCB0ZW56aWogZWVuIG9uZ2VsZGlnZSBvcHRpZSBnZWdldmVuIHdlcmQgb2YgZWVuXG4iCiAiICAgIGZvdXQgb3B0cmVlZHQuIgogCi0jOiBidWlsdGlucy5jOjE0MjUKKyM6IGJ1aWx0aW5zLmM6MTQyOAogbXNnaWQgIiIKICJEaXNwbGF5IG9yIHNldCBmaWxlIG1vZGUgbWFzay5cbiIKICIgICAgXG4iCkBAIC00MzUxLDcgKzQ0NDEsNyBAQAogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAsIHRlbnppaiBNT0RVUyBvbmdlbGRpZyBpcyBvZiBlZW4gb25nZWxkaWdlIG9wdGllXG4iCiAiICAgIGdlZ2V2ZW4gd2VyZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ0NQorIzogYnVpbHRpbnMuYzoxNDQ4CiBtc2dpZCAiIgogIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtNDM4MCw3ICs0NDcwLDcgQEAKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyBkaWUgdmFuIElELCAxIGFscyBJRCBvbmdlbGRpZyBzaSwgb2YgMiBhbHMgZWVuXG4iCiAiICAgIG9uZ2VsZGlnZSBvcHRpZSBnZWdldmVuIHdlcmQuIgogCi0jOiBidWlsdGlucy5jOjE0NjMKKyM6IGJ1aWx0aW5zLmM6MTQ2NgogbXNnaWQgIiIKICJXYWl0IGZvciBwcm9jZXNzIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC00NDA0LDcgKzQ0OTQsNyBAQAogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIGRpZSB2YW4gSUQsIDEgYWxzIElEIG9uZ2VsZGlnIHNpLCBvZiAyIGFscyBlZW5cbiIKICIgICAgb25nZWxkaWdlIG9wdGllIGdlZ2V2ZW4gd2VyZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ3OAorIzogYnVpbHRpbnMuYzoxNDgxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZm9yIGVhY2ggbWVtYmVyIGluIGEgbGlzdC5cbiIKICIgICAgXG4iCkBAIC00NDI0LDcgKzQ1MTQsNyBAQAogIiAgICBkYXQgZWxlbWVudCBlbiB3b3JkZW4gZGUgT1BEUkFDSFRFTiB1aXRnZXZvZXJkLiBcbiIKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyBkaWUgdmFuIGRlIGxhYXRzdCB1aXRnZXZvZXJkZSBvcGRyYWNodC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5MgorIzogYnVpbHRpbnMuYzoxNDk1CiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCiAiICAgIFxuIgpAQCAtNDQ1MSw3ICs0NTQxLDcgQEAKICJcbiIKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyBkaWUgdmFuIGRlIGxhYXRzdCB1aXRnZXZvZXJkZSBvcGRyYWNodC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTUxMAorIzogYnVpbHRpbnMuYzoxNTEzCiBtc2dpZCAiIgogIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC00NDg4LDcgKzQ1NzgsNyBAQAogIlxuIgogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIGRpZSB2YW4gZGUgbGFhdHN0IHVpdGdldm9lcmRlIG9wZHJhY2h0LiIKIAotIzogYnVpbHRpbnMuYzoxNTMxCisjOiBidWlsdGlucy5jOjE1MzQKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtNDUxNSw3ICs0NjA1LDcgQEAKICIgICAgb3ZlcmRyYWFnYmFyZSBzdGFuZGFhcmRvcG1hYWsuXG4iCiAiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgZGllIHZhbiBkZSBQSUpQTElKTi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU0OAorIzogYnVpbHRpbnMuYzoxNTUxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gcGF0dGVybiBtYXRjaGluZy5cbiIKICIgICAgXG4iCkBAIC00NTMzLDcgKzQ2MjMsNyBAQAogIlxuIgogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIGRpZSB2YW4gZGUgbGFhdHN0IHVpdGdldm9lcmRlIG9wZHJhY2h0LiIKIAotIzogYnVpbHRpbnMuYzoxNTYwCisjOiBidWlsdGlucy5jOjE1NjMKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBjb25kaXRpb25hbC5cbiIKICIgICAgXG4iCkBAIC00NTY4LDcgKzQ2NTgsNyBAQAogInVpdGdldm9lcmRlXG4iCiAiICAgIGRlZWxvcGRyYWNodCwgb2YgbnVsIGFscyBnZWVuIGVua2VsZSAnaWYnIG9mICdlbGlmJyBudWwgb3BsZXZlcmRlLiIKIAotIzogYnVpbHRpbnMuYzoxNTc3CisjOiBidWlsdGlucy5jOjE1ODAKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKICIgICAgXG4iCkBAIC00NTg1LDcgKzQ2NzUsNyBAQAogIlxuIgogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIGRpZSB2YW4gZGUgbGFhdHN0IHVpdGdldm9lcmRlIG9wZHJhY2h0LiIKIAotIzogYnVpbHRpbnMuYzoxNTg5CisjOiBidWlsdGlucy5jOjE1OTIKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLlxuIgogIiAgICBcbiIKQEAgLTQ2MDIsNyArNDY5Miw3IEBACiAiXG4iCiAiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgZGllIHZhbiBkZSBsYWF0c3QgdWl0Z2V2b2VyZGUgb3BkcmFjaHQuIgogCi0jOiBidWlsdGlucy5jOjE2MDEKKyM6IGJ1aWx0aW5zLmM6MTYwNAogbXNnaWQgIiIKICJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKICIgICAgXG4iCkBAIC00NjE0LDggKzQ3MDQsMTggQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCisiRWVuIGNvLXByb2NlcyBhYW5tYWtlbiBnZW5hYW1kIE5BQU0uXG4iCisiICAgIFxuIgorIiAgICBPUERSQUNIVCBhc3luY2hyb29uIHVpdHZvZXJlbiwgbWV0IGRlIHN0YW5kYWFyZGludm9lciBlbiAtdWl0dm9lciB2YW5cbiIKKyIgICAgZGUgb3BkcmFjaHQgdmlhIGVlbiBwaXBlIHZlcmJvbmRlbiBtZXQgYmVzdGFuZHN2ZXJ3aWp6aWdlbiB0b2VnZXdlemVuXG4iCisiICAgIGFhbiBpbmRpY2VzIDAgZW4gMSB2YW4gZWVuIGFycmF5LXZhcmlhYmVsZSBOQUFNIGluIGRlIHVpdHZvZXJlbmRlICIKKyJzaGVsbC5cbiIKKyIgICAgRGUgc3RhbmRhYXJkLU5BQU0gaXMgXCJDT1BST0NcIi5cbiIKKyIgICAgXG4iCisiICAgIEFmc2x1aXRzdGF0dXM6XG4iCisiICAgIEdlZWZ0IGRlIGFmc2x1aXR3YWFyZGUgdmFuIE9QRFJBQ0hULiIKIAotIzogYnVpbHRpbnMuYzoxNjE1CisjOiBidWlsdGlucy5jOjE2MTgKIG1zZ2lkICIiCiAiRGVmaW5lIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTQ2MzcsNyArNDczNyw3IEBACiAiXG4iCiAiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCwgdGVuemlqIE5BQU0gb252ZXJhbmRlcmJhYXIgaXMuIgogCi0jOiBidWlsdGlucy5jOjE2MjkKKyM6IGJ1aWx0aW5zLmM6MTYzMgogbXNnaWQgIiIKICJHcm91cCBjb21tYW5kcyBhcyBhIHVuaXQuXG4iCiAiICAgIFxuIgpAQCAtNDY1NCw3ICs0NzU0LDcgQEAKICJcbiIKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyBkaWUgdmFuIGRlIGxhYXRzdCB1aXRnZXZvZXJkZSBvcGRyYWNodC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY0MQorIzogYnVpbHRpbnMuYzoxNjQ0CiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC00Njc4LDcgKzQ3NzgsNyBAQAogIlxuIgogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIGRpZSB2YW4gZGUgaGVydmF0dGUgdGFhay4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY1NgorIzogYnVpbHRpbnMuYzoxNjU5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC00Njk1LDcgKzQ3OTUsNyBAQAogIlxuIgogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDEgYWxzIGRlIEVYUFJFU1NJRSB0b3QgMCBldmFsdWVlcnQ7IGFuZGVycyAwLiIKIAotIzogYnVpbHRpbnMuYzoxNjY4CisjOiBidWlsdGlucy5jOjE2NzEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb25kaXRpb25hbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTQ3NTEsNyArNDg1MSw3IEBACiAiXG4iCiAiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCBvZiAxLCBhZmhhbmtlbGlqayB2YW4gRVhQUkVTU0lFLiIKIAotIzogYnVpbHRpbnMuYzoxNjk0CisjOiBidWlsdGlucy5jOjE2OTcKIG1zZ2lkICIiCiAiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKICIgICAgXG4iCkBAIC00ODY1LDcgKzQ5NjUsNyBAQAogImhldFxuIgogIiAgICAgICAgICAgICAgICAgICAgZ2VzY2hpZWRlbmlzY29tbWVudGFhcnRla2VuLCBnZXdvb25saWprICcjJ1xuIgogCi0jOiBidWlsdGlucy5jOjE3NTEKKyM6IGJ1aWx0aW5zLmM6MTc1NAogbXNnaWQgIiIKICJBZGQgZGlyZWN0b3JpZXMgdG8gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtNDkxOSw3ICs1MDE5LDcgQEAKICIgICAgbWFwd2lqemlnaW5nIG1pc2x1a3RlLiAgICBEZSBvcGRyYWNodCAnZGlycycgZ2VlZnQgZGUgaHVpZGlnZSAiCiAibWFwcGVuc3RhcGVsIHdlZXIuIgogCi0jOiBidWlsdGlucy5jOjE3ODUKKyM6IGJ1aWx0aW5zLmM6MTc4OAogbXNnaWQgIiIKICJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC00OTY4LDcgKzUwNjgsNyBAQAogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAsIHRlbnppaiBlZW4gb25nZWxkaWcgYXJndW1lbnQgZ2VnZXZlbiB3ZXJkIG9mIGRlXG4iCiAiICAgIG1hcHdpanppZ2luZyBtaXNsdWt0ZS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTgxNQorIzogYnVpbHRpbnMuYzoxODE4CiBtc2dpZCAiIgogIkRpc3BsYXkgZGlyZWN0b3J5IHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTUwMTksNyArNTExOSw3IEBACiAiZWVuXG4iCiAiICAgIGZvdXQgb3B0cmVlZHQuIgogCi0jOiBidWlsdGlucy5jOjE4NDQKKyM6IGJ1aWx0aW5zLmM6MTg0NwogbXNnaWQgIiIKICJTZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNTA2Miw3ICs1MTYyLDcgQEAKICJvcHRpZVxuIgogIiAgICBnZWdldmVuIHdlcmQuIgogCi0jOiBidWlsdGlucy5jOjE4NjUKKyM6IGJ1aWx0aW5zLmM6MTg2OAogbXNnaWQgIiIKICJGb3JtYXRzIGFuZCBwcmludHMgQVJHVU1FTlRTIHVuZGVyIGNvbnRyb2wgb2YgdGhlIEZPUk1BVC5cbiIKICIgICAgXG4iCkBAIC01MTE0LDcgKzUyMTQsOCBAQAogImVlblxuIgogIiAgICBmb3V0IG9wdHJlZWR0LiIKIAotIzogYnVpbHRpbnMuYzoxODkyCisjOiBidWlsdGlucy5jOjE4OTUKKyMsIGZ1enp5CiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTUxMjgsOSArNTIyOSwxNCBAQAogIiAgICAgIC1wXHRwcmludCBleGlzdGluZyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zIGluIGEgcmV1c2FibGUgZm9ybWF0XG4iCiAiICAgICAgLXJcdHJlbW92ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm9cbiIKICIgICAgXHROQU1FcyBhcmUgc3VwcGxpZWQsIGFsbCBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zXG4iCisiICAgICAgLURcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyBhcyB0aGUgZGVmYXVsdCBmb3IgY29tbWFuZHNcbiIKKyIgICAgXHR3aXRob3V0IGFueSBzcGVjaWZpYyBjb21wbGV0aW9uIGRlZmluZWRcbiIKKyIgICAgICAtRVx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIHRvIFwiZW1wdHlcIiBjb21tYW5kcyAtLVxuIgorIiAgICBcdGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZVxuIgogIiAgICBcbiIKICIgICAgV2hlbiBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgdGhlIGFjdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZVxuIgotIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS5cbiIKKyIgICAgdXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuICBUaGUgLUQgb3B0aW9uIHRha2VzXG4iCisiICAgIHByZWNlZGVuY2Ugb3ZlciAtRS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCkBAIC01MTU0LDcgKzUyNjAsNyBAQAogImVlblxuIgogIiAgICBmb3V0IG9wdHJlZWR0LiIKIAotIzogYnVpbHRpbnMuYzoxOTE1CisjOiBidWlsdGlucy5jOjE5MjMKIG1zZ2lkICIiCiAiRGlzcGxheSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNTE3Niw3ICs1MjgyLDggQEAKICJlZW5cbiIKICIgICAgZm91dCBvcHRyZWVkdC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkzMAorIzogYnVpbHRpbnMuYzoxOTM4CisjLCBmdXp6eQogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNTE4OSw2ICs1Mjk2LDggQEAKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgIFx0LW8gb3B0aW9uXHRTZXQgY29tcGxldGlvbiBvcHRpb24gT1BUSU9OIGZvciBlYWNoIE5BTUVcbiIKKyIgICAgXHQtRFx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZGVmYXVsdFwiIGNvbW1hbmQgY29tcGxldGlvblxuIgorIiAgICBcdC1FXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJlbXB0eVwiIGNvbW1hbmQgY29tcGxldGlvblxuIgogIiAgICBcbiIKICIgICAgVXNpbmcgYCtvJyBpbnN0ZWFkIG9mIGAtbycgdHVybnMgb2ZmIHRoZSBzcGVjaWZpZWQgb3B0aW9uLlxuIgogIiAgICBcbiIKQEAgLTUyMjgsMTYgKzUzMzcsMTYgQEAKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwLCB0ZW56aWogZWVuIG9uZ2VsZGlnZSBvcHRpZSBnZWdldmVuIHdlcmQgb2Ygdm9vclxuIgogIiAgICBOQUFNIGlzIGdlZW4gY29tcGxldGVyaW5nc3Zvb3JzY2hyaWZ0IGdlZGVmaW5pZWVyZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTk1OAorIzogYnVpbHRpbnMuYzoxOTY4CiAjLCBmdXp6eQogbXNnaWQgIiIKLSJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCisiUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgotIiAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGFycmF5IHZhcmlhYmxlIEFSUkFZLCBvciAiCi0iZnJvbVxuIgotIiAgICBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSBNQVBGSUxFICIKLSJpc1xuIgotIiAgICB0aGUgZGVmYXVsdCBBUlJBWS5cbiIKKyIgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBpbmRleGVkIGFycmF5IHZhcmlhYmxlICIKKyJBUlJBWSwgb3JcbiIKKyIgICAgZnJvbSBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSAiCisiTUFQRklMRVxuIgorIiAgICBpcyB0aGUgZGVmYXVsdCBBUlJBWS5cbiIKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgICAgLW4gY291bnRcdENvcHkgYXQgbW9zdCBDT1VOVCBsaW5lcy4gIElmIENPVU5UIGlzIDAsIGFsbCBsaW5lcyBhcmUgIgpAQCAtNTI2NCwyOCArNTM3MywzMSBAQAogIiAgICBhc3NpZ25pbmcgdG8gaXQuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBBUlJBWSBpcyByZWFkb25seS4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkgIgorIm9yXG4iCisiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKIG1zZ3N0ciAiIgogIlJlZ2VscyBpbmxlemVuIGluIGVlbiBhcnJheS12YXJpYWJlbGUuXG4iCiAiICAgIFxuIgogIiAgICBMZWVzdCByZWdlbHMgdmFuIHN0YW5kYWFyZGludm9lciBpbiBpbiB0aGUgYXJyYXktdmFyaWFiZWxlIEFSUkFZLlxuIgogIiAgICBEZSB2YXJpYWJlbGUgTUFQRklMRSB3b3JkdCBnZWJydWlrdCBhbHMgZ2VlbiBBUlJBWSBnZWdldmVuIGlzLiAgICBcbiIKICIgIE9wdGllczpcbiIKLSIgICAgLW4gQUFOVEFMICAgIG1heGltYWFsIGRpdCBhYW50YWwgcmVnZWxzIGtvcGnDq3JlbiAoMCA9IGFsbGVzKVxuIgotIiAgICAtTyBCRUdJTiAgICAgbWV0IHRvZWtlbm5lbiBiZWdpbm5lbiBiaWogZGV6ZSBpbmRleCAoc3RhbmRhYXJkIDApXG4iCi0iICAgIC1zIEFBTlRBTCAgICBkaXQgYWFudGFsIHJlZ2VscyBvdmVyc2xhYW5cbiIKLSIgICAgLXQgICAgICAgICAgIG5pZXV3ZXJlZ2VsdGVrZW4gYWFuIGVpbmQgdmFuIGVsa2UgZ2VsZXplbiByZWdlbCAiCi0idmVyd2lqZGVyZW5cbiIKLSIgICAgLXUgQkVTLkRFUy4gIHVpdCBkZXplIGJlc3RhbmRzZGVzY3JpcHRvciBsZXplbiBpLnAudi4gdWl0ICIKKyIgICAgLW4gQUFOVEFMXHRtYXhpbWFhbCBkaXQgYWFudGFsIHJlZ2VscyBrb3Bpw6tyZW4gKDAgPSBhbGxlcylcbiIKKyIgICAgLU8gQkVHSU5cdG1ldCB0b2VrZW5uZW4gYmVnaW5uZW4gYmlqIGRlemUgaW5kZXggKHN0YW5kYWFyZCAwKVxuIgorIiAgICAtcyBBQU5UQUxcdGRpdCBhYW50YWwgcmVnZWxzIG92ZXJzbGFhblxuIgorIiAgICAtdCBcdFx0bmlldXdlcmVnZWx0ZWtlbiBhYW4gZWluZCB2YW4gZWxrZSBnZWxlemVuIHJlZ2VsIHZlcndpamRlcmVuXG4iCisiICAgIC11IEJFUy5ERVMuXHR1aXQgZGV6ZSBiZXN0YW5kc2Rlc2NyaXB0b3IgbGV6ZW4gaS5wLnYuIHVpdCAiCiAic3RhbmRhYXJkaW52b2VyXG4iCi0iICAgIC1DIEZVTkNUSUUgICBkZXplIGZ1bmN0aWUgZXZhbHVlcmVuIG5hIGVsa2UgSE9FVkVFTEhFSUQgcmVnZWxzXG4iCi0iICAgIC1jIEhPRVZFRUxIRUlEICBoZXQgYWFudGFsIHRlIGxlemVuIHJlZ2VscyB2b29yIGVsa2UgYWFucm9lcCB2YW4gIgorIiAgICAtQyBGVU5DVElFXHRkZXplIGZ1bmN0aWUgZXZhbHVlcmVuIG5hIGVsa2UgSE9FVkVFTEhFSUQgcmVnZWxzXG4iCisiICAgIC1jIEhPRVZFRUxIRUlEXHRoZXQgYWFudGFsIHRlIGxlemVuIHJlZ2VscyB2b29yIGVsa2UgYWFucm9lcCB2YW4gIgogIkZVTkNUSUVcbiIKICJuICBBcmd1bWVudDpcbiIKLSIgICAgQVJSQVkgICAgICAgIG5hYW0gdmFuIGFycmF5LXZhcmlhYmVsZSB3YWFyaW4gcmVnZWxzIGluZ2VsZXplbiBtb2V0ZW4gIgotIndvcmRlblxuIgorIiAgICBBUlJBWVx0XHRuYWFtIHZhbiBhcnJheS12YXJpYWJlbGUgd2FhcmluIHJlZ2VscyBpbmdlbGV6ZW4gbW9ldGVuIHdvcmRlblxuIgogIiAgICBcbiIKLSIgICAgQWxzICctQycgZ2VnZXZlbiBpcyB6b25kZXIgJy1jJywgaXMgZGUgc3RhbmRhYXJkSE9FVkVFTEhFSUQgNTAwMC5cbiIKKyIgICAgQWxzICctQycgZ2VnZXZlbiBpcyB6b25kZXIgJy1jJywgaXMgZGUgc3RhbmRhYXJkLUhPRVZFRUxIRUlEIDUwMDAuIEFsc1xuIgorIiAgICBGVU5DVElFIGlzIGdlZXZhbHVlZXJkIHdvcmR0IGhpZXJhYW4gZGUgaW5kZXggdmFuIGhldCB2b2xnZW5kZSBhcnJheS0iCisiZWxlbWVudFxuIgorIiAgICB0b2VnZWtlbmQgYWxzIGVlbiBhZGRpdGlvbmVlbCBhcmd1bWVudC5cbiIKICIgICAgXG4iCiAiICAgIEFscyBnZWVuIGV4cGxpY2lldCBCRUdJTiBnZWdldmVuIGlzLCB3b3JkdCBoZXQgYXJyYXkgZ2V3aXN0IGFsdm9yZW5zXG4iCiAiICAgIG1ldCB0b2VrZW5uZW4gdGUgYmVnaW5uZW4uXG4iCkBAIC01MjkzLDEyICs1NDA1LDI3IEBACiAiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCwgdGVuemlqIEFSUkFZIGFsbGVlbi1sZXplbiBpcyBvZiBlZW4gb25nZWxkaWdlXG4iCiAiICAgIG9wdGllIGdlZ2V2ZW4gd2VyZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTk5MAorIzogYnVpbHRpbnMuYzoyMDAxCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCiAiICAgIEEgc3lub255bSBmb3IgYG1hcGZpbGUnLiIKIG1zZ3N0ciAiIgorIlJlZ2VscyB1aXQgZWVuIGJlc3RhbmQgbGV6ZW4gbmFhciBlZW4gYXJyYXktdmFyYWJlbGUuXG4iCisiICAgIFxuIgorIiAgICBFZW4gc3lub25pZW0gdm9vciBgbWFwZmlsZScuIgorCisjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjfiBtc2dzdHIgIiIKKyN+ICJ4cmVhbGxvYygpOiBrYW4gJWx1IGJ5dGVzIG5pZXQgb3BuaWV1dyByZXNlcnZlcmVuICglbHUgYnl0ZXMgZ2VyZXNlcnZlZXJkKSIKKworI34gbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorI34gbXNnc3RyICJ4cmVhbGxvYygpOiBrYW4gJWx1IGJ5dGVzIG5pZXQgb3BuaWV1dyByZXNlcnZlcmVuIgorCisjfiBtc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorI34gbXNnc3RyICIiCisjfiAieHJlYWxsb2MoKTogJXM6JWQ6IGthbiAlbHUgYnl0ZXMgbmlldCBvcG5pZXV3IHJlc2VydmVyZW4gKCVsdSBieXRlcyAiCisjfiAiZ2VyZXNlcnZlZXJkKSIKIAogI34gbXNnaWQgIiVzOiBpbnZhbGlkIG51bWJlciIKICN+IG1zZ3N0ciAiJXM6IG9uZ2VsZGlnIGdldGFsIgpkaWZmIC0tZ2l0IGEvcG8vcGwuZ21vIGIvcG8vcGwuZ21vCmluZGV4IDY0ZWRiNDQuLjY1MDFkMWMgMTAwNjQ0Ci0tLSBhL3BvL3BsLmdtbworKysgYi9wby9wbC5nbW8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG8vcGwucG8gYi9wby9wbC5wbwppbmRleCA4YTg4ZmYzLi45OGYwYTI5IDEwMDY0NAotLS0gYS9wby9wbC5wbworKysgYi9wby9wbC5wbwpAQCAtNyw3ICs3LDcgQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaCAzLjJcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMDItMTkgMTQ6NTMtMDUwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTEyLTMwIDA4OjI1LTA1MDBcbiIKICJQTy1SZXZpc2lvbi1EYXRlOiAyMDA3LTExLTMwIDA4OjQ5KzAxMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IEFuZHJ6ZWogTS4gS3J6eXN6dG9mb3dpY3ogPGFua3J5QG1pZi5wZy5nZGEucGw+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogUG9saXNoIDx0cmFuc2xhdGlvbi10ZWFtLXBsQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKQEAgLTE5LDUyICsxOSw1OCBAQAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgIm5pZXByYXdpZLNvd3kgaW5kZWtzIHRhYmxpY3kiCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzQKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKIAotIzogYXJyYXlmdW5jLmM6NDc5CisjOiBhcnJheWZ1bmMuYzo0ODAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFzc29jaWF0aXZlIGFycmF5IGtleSIKIG1zZ3N0ciAiJXM6IG5pZXByYXdpZLNvd2EgbmF6d2EgYWtjamkiCiAKLSM6IGFycmF5ZnVuYy5jOjQ4MQorIzogYXJyYXlmdW5jLmM6NDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIHRvIG5vbi1udW1lcmljIGluZGV4IgogbXNnc3RyICIlczogbmllIG1vv25hIHByenlwaXNh5iBkbyBuaWVudW1lcnljem5lZ28gaW5kZWtzdSIKIAotIzogYXJyYXlmdW5jLmM6NTE3CisjOiBhcnJheWZ1bmMuYzo1MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBtdXN0IHVzZSBzdWJzY3JpcHQgd2hlbiBhc3NpZ25pbmcgYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKIAotIzogYmFzaGhpc3QuYzozNzkKKyM6IGJhc2hoaXN0LmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY3JlYXRlOiAlcyIKIG1zZ3N0ciAiJXM6IG5pZSBtb79uYSB1dHdvcnp55jogJXMiCiAKICMgPz8/Ci0jOiBiYXNobGluZS5jOjM0MTMKKyM6IGJhc2hsaW5lLmM6MzQ1NwogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiIgogImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IG5pZSBtb79uYSB6bmFsZbzmIG1hcHkga2xhd2lzenkgZGxhIHBvbGVjZW5pYSIKIAotIzogYmFzaGxpbmUuYzozNDkxCisjOiBiYXNobGluZS5jOjM1NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpcnN0IG5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlciBpcyBub3QgYFwiJyIKIG1zZ3N0ciAiJXM6IHBpZXJ3c3p5bSBkcnVrb3dhbG55bSB6bmFraWVtIG5pZSBqZXN0IGBcIiciCiAKLSM6IGJhc2hsaW5lLmM6MzUyMAorIzogYmFzaGxpbmUuYzozNTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKIG1zZ3N0ciAiYnJhayB6YW15a2FqsWNlZ28gYCVjJyB3ICVzIgogCi0jOiBiYXNobGluZS5jOjM1NTQKKyM6IGJhc2hsaW5lLmM6MzYwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCiBtc2dzdHIgIiVzOiBicmFrIHNlcGFydWqxY2VnbyBkd3Vrcm9wa2EiCiAKKyMgPz8/CisjOiBidWlsdGlucy9hbGlhcy5kZWY6MTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJXMnOiBpbnZhbGlkIGFsaWFzIG5hbWUiCittc2dzdHIgImAlcyc6IG5pZXByYXdpZLNvd2EgbmF6d2EgbWFweSBrbGF3aXN6eSIKKwogIzogYnVpbHRpbnMvYmluZC5kZWY6MTIwIGJ1aWx0aW5zL2JpbmQuZGVmOjEyMwogbXNnaWQgImxpbmUgZWRpdGluZyBub3QgZW5hYmxlZCIKIG1zZ3N0ciAiIgpAQCAtMTE4LDYgKzEyNCwyMSBAQAogIiAgICBXaXRob3V0IEVYUFIsIHJldHVybnMgIgogbXNnc3RyICJXcmFjYSBkbyBrb250ZWtzdHUgd3l3b7NhbmlhIGJpZb+xY2VnbyBwb2Rwcm9ncmFtdSIKIAorIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzUKK21zZ2lkICIiCisiLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCisiICAgICIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNgorbXNnaWQgIiIKKyI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKKyIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgorIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGlucy9jZC5kZWY6MjE1CiBtc2dpZCAiSE9NRSBub3Qgc2V0IgogbXNnc3RyICJOaWUgdXN0YXdpb25vIEhPTUUiCkBAIC0xMzEsNyArMTUyLDcgQEAKIG1zZ2lkICJsaW5lICVkOiAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTM5IGVycm9yLmM6MjYwCisjOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICIKIG1zZ3N0ciAiJXM6IHV3YWdhOiAiCkBAIC0xNDEsMTEgKzE2MiwxMSBAQAogbXNnaWQgIiVzOiB1c2FnZTogIgogbXNnc3RyICIlczogdXdhZ2E6ICIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjIKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODI3CiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICJ6YSBkdb9vIGFyZ3VtZW5083ciCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5MyBzaGVsbC5jOjc3NAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIiVzOiBvcGNqYSB3eW1hZ2EgYXJndW1lbnR1IgpAQCAtMTYwLDcgKzE4MSw3IEBACiBtc2dpZCAiJXM6IG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IG5pZSB6bmFsZXppb25vIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3ODcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVzOiBuaWVwcmF3aWSzb3dhIG9wY2phIgpAQCAtMTg1LDcgKzIwNiw3IEBACiBtc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgogbXNnc3RyICJuaWVwcmF3aWSzb3dhIGxpY3piYSIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU1CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTYKIG1zZ2lkICJpbnZhbGlkIG51bWJlciIKIG1zZ3N0ciAibmllcHJhd2lks293YSBsaWN6YmEiCiAKQEAgLTE5OSw3ICsyMjAsNyBAQAogbXNnaWQgImAlcyc6IG5vdCBhIHBpZCBvciB2YWxpZCBqb2Igc3BlYyIKIG1zZ3N0ciAiYCVzJzogbmllIGplc3QgdG8gbnIgUElEIGFuaSBwcmF3aWSzb3dlIG9rcmW2bGVuaWUgemFkYW5pYSIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjY0IGVycm9yLmM6NDUzCisjOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IHZhcmlhYmxlIgogbXNnc3RyICIlczogem1pZW5uYSB0eWxrbyBkbyBvZGN6eXR1IgpAQCAtMjcxLDI2ICsyOTIsMjYgQEAKIG1zZ2lkICIlczogYW1iaWd1b3VzIGpvYiBzcGVjIgogbXNnc3RyICIlczogbmllamVkbm96bmFjem5lIG9rcmW2bGVuaWUgemFkYW5pYSIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjI3MAorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjI3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhY3Rpb24gbmFtZSIKIG1zZ3N0ciAiJXM6IG5pZXByYXdpZLNvd2EgbmF6d2EgYWtjamkiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo0MzAgYnVpbHRpbnMvY29tcGxldGUuZGVmOjYxNQotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjgxMworIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjQ0OSBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjQ0CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBubyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiVzOiBicmFrIGRlZmluaWNqaSBkbGEgdXp1cGWzbmllbmlhIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjY3CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk2CiBtc2dpZCAid2FybmluZzogLUYgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgogbXNnc3RyICJ1d2FnYTogb3BjamEgLUYgbW+/ZSBkemlhs2HmIGluYWN6ZWogbmm/IG9jemVraXdhbm8iCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NjkKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTgKIG1zZ2lkICJ3YXJuaW5nOiAtQyBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCiBtc2dzdHIgInV3YWdhOiBvcGNqYSAtQyBtb79lIGR6aWGzYeYgaW5hY3plaiBuab8gb2N6ZWtpd2FubyIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjc4NgorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjgyNgogbXNnaWQgIm5vdCBjdXJyZW50bHkgZXhlY3V0aW5nIGNvbXBsZXRpb24gZnVuY3Rpb24iCiBtc2dzdHIgIiIKIApAQCAtMjk4LDIxICszMTksMjEgQEAKIG1zZ2lkICJjYW4gb25seSBiZSB1c2VkIGluIGEgZnVuY3Rpb24iCiBtc2dzdHIgIm1vv25hIHW/eXdh5iB0eWxrbyB3IGZ1bmtjamkiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM1MworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzYwCiBtc2dpZCAiY2Fubm90IHVzZSBgLWYnIHRvIG1ha2UgZnVuY3Rpb25zIgogbXNnc3RyICJuaWUgbW+/bmEgdb95d2HmIGAtZicgZG8gdHdvcnplbmlhIGZ1bmtjamkiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NSBleGVjdXRlX2NtZC5jOjQ4MTgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3MiBleGVjdXRlX2NtZC5jOjQ5MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IGZ1bmN0aW9uIgogbXNnc3RyICIlczogZnVua2NqYSB0eWxrbyBkbyBvZGN6eXR1IgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjEKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIlczogbmllIG1vv25hIHcgdGVuIHNwb3PzYiB1bmljZXN0d2nmIHptaWVubmVqIHRhYmxpY293ZWoiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBhc3NvY2lhdGl2ZSB0byBpbmRleGVkIGFycmF5IgogbXNnc3RyICIiCkBAIC0zNDEsOCArMzYyLDggQEAKIG1zZ2lkICIlczogY2Fubm90IGRlbGV0ZTogJXMiCiBtc2dzdHIgIiVzOiBuaWUgbW+/bmEgdXN1brHmOiAlcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDY3NQotIzogc2hlbGwuYzoxNDM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0CisjOiBzaGVsbC5jOjE0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczogamVzdCBrYXRhbG9naWVtIgpAQCAtMzU3LDcgKzM3OCw4IEBACiBtc2dpZCAiJXM6IGZpbGUgaXMgdG9vIGxhcmdlIgogbXNnc3RyICIlczogcGxpayBqZXN0IHphIGR1v3kiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGV4ZWN1dGVfY21kLmM6NDc0NSBzaGVsbC5jOjE0NDkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAzIGV4ZWN1dGVfY21kLmM6NDg2NAorIzogc2hlbGwuYzoxNDYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIG1zZ3N0ciAiJXM6IG5pZSBtb79uYSB1cnVjaG9taeYgcGxpa3UgYmluYXJuZWdvIgpAQCAtMzg2LDE1ICs0MDgsMTUgQEAKIG1zZ2lkICJUaGVyZSBhcmUgcnVubmluZyBqb2JzLlxuIgogbXNnc3RyICJJc3RuaWVqsSB6YXRyenltYW5lIHphZGFuaWEuXG4iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjIKIG1zZ2lkICJubyBjb21tYW5kIGZvdW5kIgogbXNnc3RyICJuaWUgem5hbGV6aW9ubyBwb2xlY2VuaWEiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKIG1zZ2lkICJoaXN0b3J5IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgInNwZWN5ZmlrYWNqYSBoaXN0b3JpaSIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM2MgorIzogYnVpbHRpbnMvZmMuZGVmOjM3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKIG1zZ3N0ciAiJXM6IG5pZSB1ZGGzbyBzaeogb3R3b3J6eeYgcGxpa3UgdHltY3phc293ZWdvOiAlcyIKQEAgLTQ5NiwxMiArNTE4LDEyIEBACiBtc2dpZCAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JyIKIG1zZ3N0ciAibmllIG1vv25hIHW/eXdh5iBpbm55Y2ggb3BjamkgcHJ6eSBgLXgnIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoxOTcKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogbXNnc3RyICIlczogYXJndW1lbnRhbWkgbXVzerEgYnnmIG51bWVyeSBwcm9jZXPzdyBsdWIgemFkYfEiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MAorIzogYnVpbHRpbnMva2lsbC5kZWY6MjYzCiBtc2dpZCAiVW5rbm93biBlcnJvciIKIG1zZ3N0ciAiTmllem5hbnkgYrOxZCIKIApAQCAtNTA5LDU2ICs1MzEsNjEgQEAKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICJzcG9kemlld2FubyBzaeogd3lyYb9lbmlhIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDEgYnVpbHRpbnMvcmVhZC5kZWY6MjcyCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYW4gaW5kZXhlZCBhcnJheSIKK21zZ3N0ciAiJXM6IG5pZSBqZXN0IHptaWVubrEgdGFibGljb3exIgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczogbmllcHJhd2lks293byBva3JltmxvbnkgZGVza3J5cHRvciBwbGlrdSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU3IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgogbXNnc3RyICIlZDogbmllcHJhd2lks293eSBkZXNrcnlwdG9yIHBsaWt1OiAlcyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU4IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY2IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwNAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKIG1zZ3N0ciAiJXM6IG5pZXByYXdpZLNvd2Egb3BjamEiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiBtc2dzdHIgIiVzOiBuaWVwcmF3aWSzb3dhIG9wY2phIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgY2FsbGJhY2sgcXVhbnR1bSIKIG1zZ3N0ciAiJXM6IG5pZXByYXdpZLNvd2EgbmF6d2EgYWtjamkiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMxOAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzI2CiAjLCBmdXp6eQogbXNnaWQgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCiBtc2dzdHIgIiVzOiBuaWUgamVzdCB6bWllbm6xIHRhYmxpY293sSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzM5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNDcKIG1zZ2lkICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6MzY3CisjOiBidWlsdGlucy9wcmludGYuZGVmOjM3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBtaXNzaW5nIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgImAlcyc6IGJyYWsgem5ha3UgZm9ybWF0dWqxY2VnbyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NDQKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiYCVjJzogbmllcHJhd2lks293eSB6bmFrIGZvcm1hdHVqsWN5IgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU3MQorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKIG1zZ3N0ciAiJXM6IHV3YWdhOiAiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzUwCisjOiBidWlsdGlucy9wcmludGYuZGVmOjc1NwogbXNnaWQgIm1pc3NpbmcgaGV4IGRpZ2l0IGZvciBcXHgiCiBtc2dzdHIgImJyYWsgY3lmcnkgc3plc25hc3Rrb3dlaiBkbGEgXFx4IgogCkBAIC03MDQsMTIgKzczMSwxMiBAQAogIiAgICBcbiIKICIgICAgWmF3YXJ0b7bmIHN0b3N1IGthdGFsb2fzdyBtb79uYSB6b2JhY3p55iB6YSBwb21vY7EgcG9sZWNlbmlhIGBkaXJzJy4iCiAKLSM6IGJ1aWx0aW5zL3JlYWQuZGVmOjI0OAorIzogYnVpbHRpbnMvcmVhZC5kZWY6MjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHRpbWVvdXQgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXM6IG5pZXByYXdpZLNvd28gb2tyZbZsb255IHRpbWVvdXQiCiAKLSM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU3NAorIzogYnVpbHRpbnMvcmVhZC5kZWY6NTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWQgZXJyb3I6ICVkOiAlcyIKIG1zZ3N0ciAiYrOxZCBvZGN6eXR1OiAlZDogJXMiCkBAIC03NDksMTEgKzc3NiwxMSBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICJsaWN6bmlrIHByemVzdW5p6mNpYSIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI1NAorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI2MAogbXNnaWQgImNhbm5vdCBzZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMgc2ltdWx0YW5lb3VzbHkiCiBtc2dzdHIgIm5pZSBtb79uYSBvcGNqaSBwb3ezb2tpIGplZG5vY3pltm5pZSB1c3Rhd2nmIGkgdW5pZXdhv25p5iIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMxOQorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBzaGVsbCBvcHRpb24gbmFtZSIKIG1zZ3N0ciAiJXM6IG5pZXByYXdpZLNvd2EgbmF6d2Egb3BjamkgcG93s29raSIKQEAgLTg0Myw3NyArODcwLDc3IEBACiBtc2dpZCAiYCVjJzogaW52YWxpZCBzeW1ib2xpYyBtb2RlIGNoYXJhY3RlciIKIG1zZ3N0ciAiYCVjJzogbmllcHJhd2lks293eSB6bmFrIHRyeWJ1IHN5bWJvbGljem5lZ28iCiAKLSM6IGVycm9yLmM6ODkgZXJyb3IuYzozMjAgZXJyb3IuYzozMjIgZXJyb3IuYzozMjQKKyM6IGVycm9yLmM6OTAgZXJyb3IuYzozMjEgZXJyb3IuYzozMjMgZXJyb3IuYzozMjUKIG1zZ2lkICIgbGluZSAiCiBtc2dzdHIgIiIKIAotIzogZXJyb3IuYzoxNjQKKyM6IGVycm9yLmM6MTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImxhc3QgY29tbWFuZDogJXNcbiIKIG1zZ3N0ciAib3N0YXRuaWUgcG9sZWNlbmllOiAlc1xuIgogCi0jOiBlcnJvci5jOjE3MgorIzogZXJyb3IuYzoxNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcuLi4iCiBtc2dzdHIgIlByemVyeXdhbmllLi4uIgogCi0jOiBlcnJvci5jOjQwNQorIzogZXJyb3IuYzo0MDYKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQgZXJyb3IiCiBtc2dzdHIgIm5pZXpuYW55IGKzsWQgcG9sZWNlbmlhIgogCi0jOiBlcnJvci5jOjQwNgorIzogZXJyb3IuYzo0MDcKIG1zZ2lkICJiYWQgY29tbWFuZCB0eXBlIgogbXNnc3RyICJ6s3kgcm9kemFqIHBvbGVjZW5pYSIKIAotIzogZXJyb3IuYzo0MDcKKyM6IGVycm9yLmM6NDA4CiBtc2dpZCAiYmFkIGNvbm5lY3RvciIKIG1zZ3N0ciAierN5ILOxY3puaWsiCiAKLSM6IGVycm9yLmM6NDA4CisjOiBlcnJvci5jOjQwOQogbXNnaWQgImJhZCBqdW1wIgogbXNnc3RyICJ6s3kgc2tvayIKIAotIzogZXJyb3IuYzo0NDYKKyM6IGVycm9yLmM6NDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmJvdW5kIHZhcmlhYmxlIgogbXNnc3RyICIlczogbmlldXN0YXdpb25hIHptaWVubmEiCiAKICM6IGV2YWwuYzoxODEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCi1tc2dzdHIgIlxhcHJ6ZWtyb2N6b255IGN6YXMgb2N6ZWtpd2FuaWEgbmEgZGFuZSB3ZWq2Y2lvd2U6IGF1dG8td3lsb2dvd2FuaWVcbiIKK21zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnc3RyICIHcHJ6ZWtyb2N6b255IGN6YXMgb2N6ZWtpd2FuaWEgbmEgZGFuZSB3ZWq2Y2lvd2U6IGF1dG8td3lsb2dvd2FuaWVcbiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTEKKyM6IGV4ZWN1dGVfY21kLmM6NDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiBtc2dzdHIgIm5pZSBtb79uYSBwcnpla2llcm93YeYgc3RhbmRhcmRvd2VnbyB3ZWq2Y2lhIHogL2Rldi9udWxsOiAlcyIKIAotIzogZXhlY3V0ZV9jbWQuYzoxMTEyCisjOiBleGVjdXRlX2NtZC5jOjExNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVElNRUZPUk1BVDogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJUSU1FRk9STUFUOiBgJWMnOiBuaWVwcmF3aWSzb3d5IHpuYWsgZm9ybWF0dWqxY3kiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MjAxMQorIzogZXhlY3V0ZV9jbWQuYzoyMDc1CiAjLCBmdXp6eQogbXNnaWQgInBpcGUgZXJyb3IiCiBtc2dzdHIgImKzsWQgemFwaXN1OiAlcyIKIAotIzogZXhlY3V0ZV9jbWQuYzo0MzYzCisjOiBleGVjdXRlX2NtZC5jOjQ0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IGAvJyBpbiBjb21tYW5kIG5hbWVzIgogbXNnc3RyICIlczogb2dyYW5pY3pvbnk6IG5pZSBtb79uYSBwb2Rhd2HmIGAvJyB3IG5hendhY2ggcG9sZWNl8SIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDU0CisjOiBleGVjdXRlX2NtZC5jOjQ1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIlczogbmllIHpuYWxlemlvbm8gcG9sZWNlbmlhIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ3MDgKKyM6IGV4ZWN1dGVfY21kLmM6NDgyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGJhZCBpbnRlcnByZXRlciIKIG1zZ3N0ciAiJXM6ICVzOiB6s3kgaW50ZXJwcmV0ZXIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDg1NworIzogZXhlY3V0ZV9jbWQuYzo0OTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCiBtc2dzdHIgIm5pZSBtb79uYSBza29waW93YeYgZGVza3J5cHRvcmEgcGxpa3UgJWQgZG8gJWQiCkBAIC05NjAsMjggKzk4NywyOCBAQAogbXNnaWQgIm1pc3NpbmcgYCknIgogbXNnc3RyICJicmFrdWqxY3kgYCknIgogCi0jOiBleHByLmM6ODk3IGV4cHIuYzoxMTc1CisjOiBleHByLmM6ODk3IGV4cHIuYzoxMTc2CiBtc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogbXNnc3RyICJis7FkIHNrs2Fkbmk6IHNwb2R6aWV3YW55IGFyZ3VtZW50IgogCi0jOiBleHByLmM6MTE3NworIzogZXhwci5jOjExNzgKIG1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKIG1zZ3N0ciAiYrOxZCBza7NhZG5pOiBuaWVwcmF3aWSzb3d5IG9wZXJhdG9yIGFyeXRtZXR5Y3pueSIKIAotIzogZXhwci5jOjEyMDEKKyM6IGV4cHIuYzoxMjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzJXMlczogJXMgKGVycm9yIHRva2VuIGlzIFwiJXNcIikiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjEyNTkKKyM6IGV4cHIuYzoxMjYwCiBtc2dpZCAiaW52YWxpZCBhcml0aG1ldGljIGJhc2UiCiBtc2dzdHIgIm5pZXByYXdpZLNvd2EgcG9kc3Rhd2EgYXJ5dG1ldHljem5hIgogCi0jOiBleHByLmM6MTI3OQorIzogZXhwci5jOjEyODAKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgIndhcnRvtuYgemEgZHW/YSBuYSBwb2RzdGF36iIKIAotIzogZXhwci5jOjEzMjgKKyM6IGV4cHIuYzoxMzI5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogZXhwcmVzc2lvbiBlcnJvclxuIgogbXNnc3RyICIlczogb2N6ZWtpd2FubyB3eXJhv2VuaWEgY2Gza293aXRlZ28iCkBAIC05OTAsNyArMTAxNyw3IEBACiBtc2dpZCAiZ2V0Y3dkOiBjYW5ub3QgYWNjZXNzIHBhcmVudCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiZ2V0Y3dkOiBuaWVtb79saXd5IGRvc3TqcCBkbyBrYXRhbG9n83cgbmFkcnrqZG55Y2giCiAKLSM6IGlucHV0LmM6OTQgc3Vic3QuYzo0NTU5CisjOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDg1NwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc2V0IG5vZGVsYXkgbW9kZSBmb3IgZmQgJWQiCiBtc2dzdHIgIm5pZSBtb79uYSB3ebOxY3p55iB0cnlidSBuaWVibG9rdWqxY2VnbyBkbGEgZGVza3J5cHRvcmEgJWQiCkBAIC0xMDQ0LDcgKzEwNzEsNyBAQAogbXNnaWQgIkRvbmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMgorIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMwogbXNnaWQgIlN0b3BwZWQiCiBtc2dzdHIgIiIKIApAQCAtMTA4MSw2OSArMTEwOCw3MyBAQAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE3NzEKKyM6IGpvYnMuYzoxNzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyMDk5IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMDQgbm9qb2JzLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbCIKIG1zZ3N0ciAid2FpdDogUElEICVsZCBuaWUgamVzdCBwb3RvbWtpZW0gdGVqIHBvd7Nva2kiCiAKLSM6IGpvYnMuYzoyMzI2CisjOiBqb2JzLmM6MjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgogbXNnc3RyICJ3YWl0X2ZvcjogQnJhayByZWtvcmR1IGRsYSBwcm9jZXN1ICVsZCIKIAotIzogam9icy5jOjI1OTgKKyM6IGpvYnMuYzoyNjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yX2pvYjogam9iICVkIGlzIHN0b3BwZWQiCiBtc2dzdHIgIndhaXRfZm9yX2pvYjogemFkYW5pZSAlZCBqZXN0IHphdHJ6eW1hbmUiCiAKLSM6IGpvYnMuYzoyODIwCisjOiBqb2JzLmM6MjgyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogemFkYW5pZSB6b3N0YbNvIHByemVyd2FuZSIKIAotIzogam9icy5jOjI4MjkKKyM6IGpvYnMuYzoyODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgJWQgYWxyZWFkeSBpbiBiYWNrZ3JvdW5kIgogbXNnc3RyICIlczogemFkYW5pZSAlZCBqdb8gcHJhY3VqZSB3IHRsZSIKIAotIzogam9icy5jOjM0OTIKKyM6IGpvYnMuYzozMDU5Cittc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgorbXNnc3RyICIiCisKKyM6IGpvYnMuYzozNTA4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogbGluZSAlZDogIgogbXNnc3RyICIlczogdXdhZ2E6ICIKIAotIzogam9icy5jOjM1MDYgbm9qb2JzLmM6ODE0CisjOiBqb2JzLmM6MzUyMiBub2pvYnMuYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIChjb3JlIGR1bXBlZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM1MTggam9icy5jOjM1MzEKKyM6IGpvYnMuYzozNTM0IGpvYnMuYzozNTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIih3ZCBub3c6ICVzKVxuIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNTYzCisjOiBqb2JzLmM6MzU3OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjIzCisjOiBqb2JzLmM6MzYzOQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzYzMworIzogam9icy5jOjM2NDkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjYxCisjOiBqb2JzLmM6MzY3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzY2NgorIzogam9icy5jOjM2ODIKIG1zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgogbXNnc3RyICJ3IHRlaiBwb3ezb2NlIG5pZSBtYSBrb250cm9saSB6YWRh8SIKIApAQCAtMTIzNyw2ICsxMjY4LDI2IEBACiBtc2dpZCAibmV0d29yayBvcGVyYXRpb25zIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIm9wZXJhY2plIHNpZWNpb3dlIG5pZSBzsSB3c3BpZXJhbmUiCiAKKyM6IGxvY2FsZS5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBsb2NhbGUuYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjI0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKK21zZ3N0ciAieHJlYWxsb2M6ICVzOiVkOiBuaWUgbW+/bmEgcHJ6eWR6aWVsaeYgJWx1IGJhanTzdyIKKworIzogbG9jYWxlLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKK21zZ3N0ciAieHJlYWxsb2M6ICVzOiVkOiBuaWUgbW+/bmEgcHJ6eWR6aWVsaeYgJWx1IGJhanTzdyIKKwogIzogbWFpbGNoZWNrLmM6NDMzCiBtc2dpZCAiWW91IGhhdmUgbWFpbCBpbiAkXyIKIG1zZ3N0ciAiTWFzeiBwb2N6dOogdyAkXyIKQEAgLTEyNTAsMTMxICsxMzAxLDEzMSBAQAogbXNnaWQgIlRoZSBtYWlsIGluICVzIGhhcyBiZWVuIHJlYWRcbiIKIG1zZ3N0ciAiUG9jenRhIHcgJXMgamVzdCBwcnplY3p5dGFuYVxuIgogCi0jOiBtYWtlX2NtZC5jOjMyMgorIzogbWFrZV9jbWQuYzozMjMKIG1zZ2lkICJzeW50YXggZXJyb3I6IGFyaXRobWV0aWMgZXhwcmVzc2lvbiByZXF1aXJlZCIKIG1zZ3N0ciAiYrOxZCBza7NhZG5pOiBvY3pla2l3YW5vIHd5cmG/ZW5pYSBhcnl0bWV0eWN6bmVnbyIKIAotIzogbWFrZV9jbWQuYzozMjQKKyM6IG1ha2VfY21kLmM6MzI1CiBtc2dpZCAic3ludGF4IGVycm9yOiBgOycgdW5leHBlY3RlZCIKIG1zZ3N0ciAiYrOxZCBza7NhZG5pOiBvY3pla2l3YW55IGA7JyIKIAotIzogbWFrZV9jbWQuYzozMjUKKyM6IG1ha2VfY21kLmM6MzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvcjogYCgoJXMpKSciCiBtc2dzdHIgImKzsWQgc2uzYWRuaTogYCgoJXMpKSciCiAKLSM6IG1ha2VfY21kLmM6NTY3CisjOiBtYWtlX2NtZC5jOjU3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWtlX2hlcmVfZG9jdW1lbnQ6IGJhZCBpbnN0cnVjdGlvbiB0eXBlICVkIgogbXNnc3RyICJtYWtlX2hlcmVfZG9jdW1lbnQ6IHqzeSByb2R6YWogaW5zdHJ1a2NqaSAlZCIKIAotIzogbWFrZV9jbWQuYzo2NTEKKyM6IG1ha2VfY21kLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlcmUtZG9jdW1lbnQgYXQgbGluZSAlZCBkZWxpbWl0ZWQgYnkgZW5kLW9mLWZpbGUgKHdhbnRlZCBgJXMnKSIKIG1zZ3N0ciAiIgogCi0jOiBtYWtlX2NtZC5jOjc0NgorIzogbWFrZV9jbWQuYzo3NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIm1ha2VfcmVkaXJlY3Rpb246IGluc3RydWtjamEgcHJ6ZWtpZXJvd2FuaWEgYCVkJyBwb3phIHpha3Jlc2VtIgogCi0jOiBwYXJzZS55OjI5ODYgcGFyc2UueTozMjE4CisjOiBwYXJzZS55OjMxMzMgcGFyc2UueTozMzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGAlYyciCiBtc2dzdHIgIm5pZW9jemVraXdhbnkgRU9GIHBvZGN6YXMgcG9zenVraXdhbmlhIHBhc3VqsWNlZ28gYCVjJyIKIAotIzogcGFyc2UueTozNzIyCisjOiBwYXJzZS55OjM5NTEKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBgXV0nIgogbXNnc3RyICJuaWVvY3pla2l3YW55IEVPRiBwb2RjemFzIHBvc3p1a2l3YW5pYSBgXV0nIgogCi0jOiBwYXJzZS55OjM3MjcKKyM6IHBhcnNlLnk6Mzk1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICJis7FkIHNrs2FkbmkgdyB3eXJhv2VuaXUgd2FydW5rb3d5bTogbmllb2N6ZWtpd2FueSB6bmFjem5payBgJXMnIgogCi0jOiBwYXJzZS55OjM3MzEKKyM6IHBhcnNlLnk6Mzk2MAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICJis7FkIHNrs2FkbmkgdyB3eXJhv2VuaXUgd2FydW5rb3d5bSIKIAotIzogcGFyc2UueTozODA5CisjOiBwYXJzZS55OjQwMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCiBtc2dzdHIgIm5pZW9jemVraXdhbnkgem5hY3puaWsgYCVzJywgb2N6ZWtpd2FubyBgKSciCiAKLSM6IHBhcnNlLnk6MzgxMworIzogcGFyc2UueTo0MDQyCiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICJvY3pla2l3YW5vIGApJyIKIAotIzogcGFyc2UueTozODQxCisjOiBwYXJzZS55OjQwNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJuaWVvY3pla2l3YW55IGFyZ3VtZW50IGAlcycgamVkbm9hcmd1bWVudG93ZWdvIG9wZXJhdG9yYSB3YXJ1bmtvd2VnbyIKIAotIzogcGFyc2UueTozODQ1CisjOiBwYXJzZS55OjQwNzQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJuaWVvY3pla2l3YW55IGFyZ3VtZW50IGplZG5vYXJndW1lbnRvd2VnbyBvcGVyYXRvcmEgd2FydW5rb3dlZ28iCiAKLSM6IHBhcnNlLnk6Mzg4NQorIzogcGFyc2UueTo0MTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICJuaWVvY3pla2l3YW55IGFyZ3VtZW50IGAlcycsIG9jemVraXdhbm8gZHd1YXJnLiBvcGVyYXRvcmEgd2FydW5rb3dlZ28iCiAKLSM6IHBhcnNlLnk6Mzg4OQorIzogcGFyc2UueTo0MTI0CiBtc2dpZCAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICJvY3pla2l3YW5vIGR3dWFyZ3VtZW50b3dlZ28gb3BlcmF0b3JhIHdhcnVua293ZWdvIgogCi0jOiBwYXJzZS55OjM5MDYKKyM6IHBhcnNlLnk6NDE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJuaWVvY3pla2l3YW55IGFyZ3VtZW50IGAlcycgZHd1YXJndW1lbnRvd2VnbyBvcGVyYXRvcmEgd2FydW5rb3dlZ28iCiAKLSM6IHBhcnNlLnk6MzkxMAorIzogcGFyc2UueTo0MTUwCiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIm5pZW9jemVraXdhbnkgYXJndW1lbnQgZHd1YXJndW1lbnRvd2VnbyBvcGVyYXRvcmEgd2FydW5rb3dlZ28iCiAKLSM6IHBhcnNlLnk6MzkyMQorIzogcGFyc2UueTo0MTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJuaWVvY3pla2l3YW55IHpuYWN6bmlrIGAlYycgdyBwb2xlY2VuaXUgd2FydW5rb3d5bSIKIAotIzogcGFyc2UueTozOTI0CisjOiBwYXJzZS55OjQxNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIm5pZW9jemVraXdhbnkgem5hY3puaWsgYCVzJyB3IHBvbGVjZW5pdSB3YXJ1bmtvd3ltIgogCi0jOiBwYXJzZS55OjM5MjgKKyM6IHBhcnNlLnk6NDE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuICVkIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIm5pZW9jemVraXdhbnkgem5hY3puaWsgJWQgdyBwb2xlY2VuaXUgd2FydW5rb3d5bSIKIAotIzogcGFyc2UueTo1MTk1CisjOiBwYXJzZS55OjU0NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICJis7FkIHNrs2FkbmkgcHJ6eSBuaWVvY3pla2l3YW55bSB6bmFjem5pa3UgYCVzJyIKIAotIzogcGFyc2UueTo1MjEzCisjOiBwYXJzZS55OjU0NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgYCVzJyIKIG1zZ3N0ciAiYrOxZCBza7NhZG5pIHByenkgYCVzJyIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgImKzsWQgc2uzYWRuaTogbmllb2N6ZWtpd2FueSBrb25pZWMgcGxpa3UiCiAKLSM6IHBhcnNlLnk6NTIyMworIzogcGFyc2UueTo1NDg3CiBtc2dpZCAic3ludGF4IGVycm9yIgogbXNnc3RyICJis7FkIHNrs2FkbmkiCiAKLSM6IHBhcnNlLnk6NTI4NQorIzogcGFyc2UueTo1NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICJVv3lqIFwiJXNcIiwgYWJ5IG9wdbZjaeYgdOogcG93s29r6i5cbiIKIAotIzogcGFyc2UueTo1NDQ3CisjOiBwYXJzZS55OjU3MTEKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgKSciCiBtc2dzdHIgIm5pZW9jemVraXdhbnkgRU9GIHBvZGN6YXMgcG9zenVraXdhbmlhIHBhc3VqsWNlZ28gYCknIgogCi0jOiBwY29tcGxldGUuYzoxMDE4CisjOiBwY29tcGxldGUuYzoxMDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRpb246IGZ1bmN0aW9uIGAlcycgbm90IGZvdW5kIgogbXNnc3RyICJ1enVwZbNuaWVuaWU6IG5pZSB6bmFsZXppb25vIGZ1bmtjamkgYCVzJyIKQEAgLTEzODQsNzEgKzE0MzUsOTAgQEAKIG1zZ2lkICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogbXNnc3RyICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogCi0jOiBwcmludF9jbWQuYzoyODUKKyM6IHByaW50X2NtZC5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmludF9jb21tYW5kOiBiYWQgY29ubmVjdG9yIGAlZCciCiBtc2dzdHIgInByaW50X2NvbW1hbmQ6IHqzeSCzsWN6bmlrIGAlZCciCiAKLSM6IHByaW50X2NtZC5jOjEzNDgKKyM6IHByaW50X2NtZC5jOjM2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlX3NldDogJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICIlZDogbmllcHJhd2lks293eSBkZXNrcnlwdG9yIHBsaWt1OiAlcyIKKworIzogcHJpbnRfY21kLmM6MzY4Cittc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCittc2dzdHIgIiIKKworIzogcHJpbnRfY21kLmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzoxNDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiY3ByaW50ZjogYCVjJzogbmllcHJhd2lks293eSB6bmFrIGZvcm1hdHVqsWN5IgogCi0jOiByZWRpci5jOjEwNQorIzogcmVkaXIuYzoxMTAKIG1zZ2lkICJmaWxlIGRlc2NyaXB0b3Igb3V0IG9mIHJhbmdlIgogbXNnc3RyICJkZXNrcnlwdG9yIHBsaWt1IHBvemEgemFrcmVzZW0iCiAKLSM6IHJlZGlyLmM6MTQ4CisjOiByZWRpci5jOjE2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYW1iaWd1b3VzIHJlZGlyZWN0IgogbXNnc3RyICIlczogbmllb2plZG5vem5hY3puZSBwcnpla2llcm93YW5pZSIKIAotIzogcmVkaXIuYzoxNTIKKyM6IHJlZGlyLmM6MTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCiBtc2dzdHIgIiVzOiBuaWUgbW+/bmEgbmFkcGlzYeYgaXN0bmllarFjZWdvIHBsaWt1IgogCi0jOiByZWRpci5jOjE1NworIzogcmVkaXIuYzoxNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiVzOiBvZ3Jhbmljem9ueTogbmllIG1vv25hIHByemVraWVyb3dh5iB3eWq2Y2lhIgogCi0jOiByZWRpci5jOjE2MgorIzogcmVkaXIuYzoxODAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKIG1zZ3N0ciAibmllIG1vv25hIHV0d29yennmIHBsaWt1IHR5bWN6YXNvd2VnbyBkbGEgZG9rdW1lbnR1IG1pZWpzY293ZWdvOiAlcyIKIAotIzogcmVkaXIuYzo1MTcKKyM6IHJlZGlyLmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKK21zZ3N0ciAiJXM6IG5pZSBtb79uYSBwcnp5cGlzYeYgbGlzdHkgZG8gZWxlbWVudHUgdGFibGljeSIKKworIzogcmVkaXIuYzo1NDQKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiBtc2dzdHIgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBuaWUgc7Egd3NwaWVyYW5lIGJleiBzaWVjaSIKIAotIzogcmVkaXIuYzoxMDIzCisjOiByZWRpci5jOjExMDEKIG1zZ2lkICJyZWRpcmVjdGlvbiBlcnJvcjogY2Fubm90IGR1cGxpY2F0ZSBmZCIKIG1zZ3N0ciAiYrOxZCBwcnpla2llcm93YW5pYTogbmllIG1vv25hIHBvd2llbGnmIGRlc2tyeXB0b3JhIHBsaWt1IgogCi0jOiBzaGVsbC5jOjMyOAorIzogc2hlbGwuYzozMzIKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIG1zZ3N0ciAibmllIG1vv25hIHpuYWxlvOYgL3RtcCwgcHJvc3rqIG8gdXR3b3J6ZW5pZSEiCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzNgogbXNnaWQgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICIvdG1wIG11c2kgYnnmIHByYXdpZLNvd7EgbmF6d7Ega2F0YWxvZ3UiCiAKLSM6IHNoZWxsLmM6ODc2CisjOiBzaGVsbC5jOjg4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJWMlYzogbmllcHJhd2lks293YSBvcGNqYSIKIAotIzogc2hlbGwuYzoxNjM4CisjOiBzaGVsbC5jOjE2NTEKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgIk5pZSBtYW0gbmF6d3khIgogCi0jOiBzaGVsbC5jOjE3NzgKKyM6IHNoZWxsLmM6MTc5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzoxNzc5CisjOiBzaGVsbC5jOjE3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCkBAIC0xNDU3LDMzNSArMTUyNywzNDEgQEAKICJVv3ljaWU6XHQlcyBbZLN1Z2Egb3BjamEgR05VXSBbb3BjamFdIC4uLlxuIgogIlx0JXMgW2SzdWdhIG9wY2phIEdOVV0gW29wY2phXSBwbGlrLXNrcnlwdHUgLi4uXG4iCiAKLSM6IHNoZWxsLmM6MTc4MQorIzogc2hlbGwuYzoxNzk2CiBtc2dpZCAiR05VIGxvbmcgb3B0aW9uczpcbiIKIG1zZ3N0ciAiRLN1Z2llIG9wY2plIEdOVTpcbiIKIAotIzogc2hlbGwuYzoxNzg1CisjOiBzaGVsbC5jOjE4MDAKIG1zZ2lkICJTaGVsbCBvcHRpb25zOlxuIgogbXNnc3RyICJPcGNqZSBwb3ezb2tpOlxuIgogCi0jOiBzaGVsbC5jOjE3ODYKKyM6IHNoZWxsLmM6MTgwMQogbXNnaWQgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKIG1zZ3N0ciAiXHQtaXJzRCBsdWIgLWMgcG9sZWNlbmllIGx1YiAtTyBzaG9wdF9vcHRpb25cdFx0KHR5bGtvIHd5d2+zYW5pZSlcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCiBtc2dzdHIgIlx0LSVzIGx1YiAtbyBvcGNqYVxuIgogCi0jOiBzaGVsbC5jOjE4MDcKKyM6IHNoZWxsLmM6MTgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIiIKICJBYnkgdXp5c2th5iB3aepjZWogaW5mb3JtYWNqaSBvIG9wY2phY2ggcG93s29raSwgbmFwaXN6IGAlcyAtYyBcImhlbHAgc2V0IgogIlwiJy5cbiIKIAotIzogc2hlbGwuYzoxODA4CisjOiBzaGVsbC5jOjE4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKIG1zZ3N0ciAiIgogIkFieSB1enlza2HmIHdp6mNlaiBpbmZvcm1hY2ppIG8gcG9sZWNlbmlhY2ggd2V3bup0cnpueWNoIHBvd7Nva2ksXG4iCiAibmFwaXN6IGAlcyAtYyBoZWxwJy5cbiIKIAotIzogc2hlbGwuYzoxODA5CisjOiBzaGVsbC5jOjE4MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIHRoZSBgYmFzaGJ1ZycgY29tbWFuZCB0byByZXBvcnQgYnVncy5cbiIKIG1zZ3N0ciAiRG8gemezYXN6YW5pYSBis+pk83cgbmFsZb95IHW/eXdh5iBwb2xlY2VuaWEgYGJhc2hidWcnLlxuIgogCi0jOiBzaWcuYzo1ODMKKyM6IHNpZy5jOjYyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzaWdwcm9jbWFzazogJWQ6IGludmFsaWQgb3BlcmF0aW9uIgogbXNnc3RyICJzaWdwcm9jbWFzazogJWQ6IG5pZXByYXdpZLNvd2Egb3BlcmFjamEiCiAKLSM6IHNpZ2xpc3QuYzo0NworIzogc2lnbGlzdC5jOjQ4CiBtc2dpZCAiQm9ndXMgc2lnbmFsIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo1MAorIzogc2lnbGlzdC5jOjUxCiBtc2dpZCAiSGFuZ3VwIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo1NAorIzogc2lnbGlzdC5jOjU1CiBtc2dpZCAiSW50ZXJydXB0IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo1OAorIzogc2lnbGlzdC5jOjU5CiBtc2dpZCAiUXVpdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NjIKKyM6IHNpZ2xpc3QuYzo2MwogbXNnaWQgIklsbGVnYWwgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjY2CisjOiBzaWdsaXN0LmM6NjcKIG1zZ2lkICJCUFQgdHJhY2UvdHJhcCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NzQKKyM6IHNpZ2xpc3QuYzo3NQogbXNnaWQgIkFCT1JUIGluc3RydWN0aW9uIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo3OAorIzogc2lnbGlzdC5jOjc5CiBtc2dpZCAiRU1UIGluc3RydWN0aW9uIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo4MgorIzogc2lnbGlzdC5jOjgzCiBtc2dpZCAiRmxvYXRpbmcgcG9pbnQgZXhjZXB0aW9uIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo4NgorIzogc2lnbGlzdC5jOjg3CiBtc2dpZCAiS2lsbGVkIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo5MAorIzogc2lnbGlzdC5jOjkxCiAjLCBmdXp6eQogbXNnaWQgIkJ1cyBlcnJvciIKIG1zZ3N0ciAiYrOxZCBza7NhZG5pIgogCi0jOiBzaWdsaXN0LmM6OTQKKyM6IHNpZ2xpc3QuYzo5NQogbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6OTgKKyM6IHNpZ2xpc3QuYzo5OQogbXNnaWQgIkJhZCBzeXN0ZW0gY2FsbCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTAyCisjOiBzaWdsaXN0LmM6MTAzCiBtc2dpZCAiQnJva2VuIHBpcGUiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjEwNgorIzogc2lnbGlzdC5jOjEwNwogbXNnaWQgIkFsYXJtIGNsb2NrIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxMTAKKyM6IHNpZ2xpc3QuYzoxMTEKICMsIGZ1enp5CiBtc2dpZCAiVGVybWluYXRlZCIKIG1zZ3N0ciAib2dyYW5pY3pvbnkiCiAKLSM6IHNpZ2xpc3QuYzoxMTQKKyM6IHNpZ2xpc3QuYzoxMTUKIG1zZ2lkICJVcmdlbnQgSU8gY29uZGl0aW9uIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxMTgKKyM6IHNpZ2xpc3QuYzoxMTkKIG1zZ2lkICJTdG9wcGVkIChzaWduYWwpIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxMjYKKyM6IHNpZ2xpc3QuYzoxMjcKIG1zZ2lkICJDb250aW51ZSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTM0CisjOiBzaWdsaXN0LmM6MTM1CiBtc2dpZCAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTM4CisjOiBzaWdsaXN0LmM6MTM5CiBtc2dpZCAiU3RvcHBlZCAodHR5IGlucHV0KSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTQyCisjOiBzaWdsaXN0LmM6MTQzCiBtc2dpZCAiU3RvcHBlZCAodHR5IG91dHB1dCkiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE0NgorIzogc2lnbGlzdC5jOjE0NwogbXNnaWQgIkkvTyByZWFkeSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTUwCisjOiBzaWdsaXN0LmM6MTUxCiBtc2dpZCAiQ1BVIGxpbWl0IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNTQKKyM6IHNpZ2xpc3QuYzoxNTUKIG1zZ2lkICJGaWxlIGxpbWl0IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNTgKKyM6IHNpZ2xpc3QuYzoxNTkKIG1zZ2lkICJBbGFybSAodmlydHVhbCkiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE2MgorIzogc2lnbGlzdC5jOjE2MwogbXNnaWQgIkFsYXJtIChwcm9maWxlKSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTY2CisjOiBzaWdsaXN0LmM6MTY3CiBtc2dpZCAiV2luZG93IGNoYW5nZWQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE3MAorIzogc2lnbGlzdC5jOjE3MQogbXNnaWQgIlJlY29yZCBsb2NrIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNzQKKyM6IHNpZ2xpc3QuYzoxNzUKIG1zZ2lkICJVc2VyIHNpZ25hbCAxIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNzgKKyM6IHNpZ2xpc3QuYzoxNzkKIG1zZ2lkICJVc2VyIHNpZ25hbCAyIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxODIKKyM6IHNpZ2xpc3QuYzoxODMKIG1zZ2lkICJIRlQgaW5wdXQgZGF0YSBwZW5kaW5nIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxODYKKyM6IHNpZ2xpc3QuYzoxODcKIG1zZ2lkICJwb3dlciBmYWlsdXJlIGltbWluZW50IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxOTAKKyM6IHNpZ2xpc3QuYzoxOTEKIG1zZ2lkICJzeXN0ZW0gY3Jhc2ggaW1taW5lbnQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE5NAorIzogc2lnbGlzdC5jOjE5NQogbXNnaWQgIm1pZ3JhdGUgcHJvY2VzcyB0byBhbm90aGVyIENQVSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTk4CisjOiBzaWdsaXN0LmM6MTk5CiBtc2dpZCAicHJvZ3JhbW1pbmcgZXJyb3IiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjIwMgorIzogc2lnbGlzdC5jOjIwMwogbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgZ3JhbnRlZCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjA2CisjOiBzaWdsaXN0LmM6MjA3CiBtc2dpZCAiSEZUIG1vbml0b3IgbW9kZSByZXRyYWN0ZWQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjIxMAorIzogc2lnbGlzdC5jOjIxMQogbXNnaWQgIkhGVCBzb3VuZCBzZXF1ZW5jZSBoYXMgY29tcGxldGVkIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMTQKKyM6IHNpZ2xpc3QuYzoyMTUKIG1zZ2lkICJJbmZvcm1hdGlvbiByZXF1ZXN0IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMjIKKyM6IHNpZ2xpc3QuYzoyMjMKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMjQKKyM6IHNpZ2xpc3QuYzoyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyVkIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6MTE4MSBzdWJzdC5jOjEzMDIKKyM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgogbXNnc3RyICJ6s2UgcG9kc3Rhd2llbmllOiBicmFrIHphbXlrYWqxY2VnbyBgJXMnIHcgJXMiCiAKLSM6IHN1YnN0LmM6MjQ1OAorIzogc3Vic3QuYzoyNzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogbXNnc3RyICIlczogbmllIG1vv25hIHByenlwaXNh5iBsaXN0eSBkbyBlbGVtZW50dSB0YWJsaWN5IgogCi0jOiBzdWJzdC5jOjQ0NTYgc3Vic3QuYzo0NDcyCisjOiBzdWJzdC5jOjQ3NTQgc3Vic3QuYzo0NzcwCiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIm5pZSBtb79uYSB1dHdvcnp55iBwb3Rva3UgZGxhIHBvZHN0YXdpZW5pYSBwcm9jZXN1IgogCi0jOiBzdWJzdC5jOjQ1MDQKKyM6IHN1YnN0LmM6NDgwMgogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAibmllIG1vv25hIHV0d29yennmIHByb2Nlc3UgcG90b21uZWdvIGRsYSBwb2RzdGF3aWVuaWEgcHJvY2VzdSIKIAotIzogc3Vic3QuYzo0NTQ5CisjOiBzdWJzdC5jOjQ4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAibmllIG1vv25hIG90d29yennmIG5hendhbmVnbyBwb3Rva3UgJXMgZG8gb2Rjenl0dSIKIAotIzogc3Vic3QuYzo0NTUxCisjOiBzdWJzdC5jOjQ4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAibmllIG1vv25hIG90d29yennmIG5hendhbmVnbyBwb3Rva3UgJXMgZG8gemFwaXN1IgogCi0jOiBzdWJzdC5jOjQ1NjkKKyM6IHN1YnN0LmM6NDg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgIm5pZSBtb79uYSBwb3dpZWxp5iBuYXp3YW5lZ28gcG90b2t1ICVzIGpha28gZGVza3J5cHRvciAlZCIKIAotIzogc3Vic3QuYzo0NzY1CisjOiBzdWJzdC5jOjUwNjMKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAibmllIG1vv25hIHV0d29yennmIHBvdG9rdSBkbGEgcG9kc3Rhd2llbmlhIHBvbGVjZW5pYSIKIAotIzogc3Vic3QuYzo0Nzk5CisjOiBzdWJzdC5jOjUwOTcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIm5pZSBtb79uYSB1dHdvcnp55iBwcm9jZXN1IHBvdG9tbmVnbyBkbGEgcG9kc3Rhd2llbmlhIHBvbGVjZW5pYSIKIAotIzogc3Vic3QuYzo0ODE2CisjOiBzdWJzdC5jOjUxMTQKIG1zZ2lkICJjb21tYW5kX3N1YnN0aXR1dGU6IGNhbm5vdCBkdXBsaWNhdGUgcGlwZSBhcyBmZCAxIgogbXNnc3RyICJjb21tYW5kX3N1YnN0aXR1dGU6IG5pZSBtb79uYSBwb3dpZWxp5iBwb3Rva3UgamFrbyBkZXNrcnlwdG9yYSAxIgogCi0jOiBzdWJzdC5jOjUzMTgKKyM6IHN1YnN0LmM6NTYxNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGFyYW1ldGVyIG51bGwgb3Igbm90IHNldCIKIG1zZ3N0ciAiJXM6IHBhcmFtZXRyIHB1c3R5IGx1YiBuaWV1c3Rhd2lvbnkiCiAKLSM6IHN1YnN0LmM6NTYwOAorIzogc3Vic3QuYzo1OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiBtc2dzdHIgIiVzOiB3eXJhv2VuaWUgZGxhIHBvZLNh8WN1Y2hhIDwgMCIKIAotIzogc3Vic3QuYzo2NjYwCisjOiBzdWJzdC5jOjY5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiVzOiB6s2UgcG9kc3Rhd2llbmllIgogCi0jOiBzdWJzdC5jOjY3NDAKKyM6IHN1YnN0LmM6NzA0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIkJXM6IGNhbm5vdCBhc3NpZ24gaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiQlczogbmllIG1vv25hIHByenlwaXN5d2HmIHcgdGVuIHNwb3PzYiIKIAotIzogc3Vic3QuYzo3NDk5CisjOiBzdWJzdC5jOjczNzQKK21zZ2lkICIiCisiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyAiCisic3Vic3RpdHV0aW9uIgorbXNnc3RyICIiCisKKyM6IHN1YnN0LmM6NzgzOQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBcImBcIiBpbiAlcyIKIG1zZ3N0ciAierNlIHBvZHN0YXdpZW5pZTogYnJhayB6YW15a2FqsWNlZ28gYCVzJyB3ICVzIgogCi0jOiBzdWJzdC5jOjgzNzUKKyM6IHN1YnN0LmM6ODcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaDogJXMiCiBtc2dzdHIgImJyYWsgcGFzdWqxY2VnbzogJXMiCiAKLSM6IHRlc3QuYzoxNDUKKyM6IHRlc3QuYzoxNDYKIG1zZ2lkICJhcmd1bWVudCBleHBlY3RlZCIKIG1zZ3N0ciAib2N6ZWtpd2FubyBhcmd1bWVudHUiCiAKLSM6IHRlc3QuYzoxNTQKKyM6IHRlc3QuYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludGVnZXIgZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IG9jemVraXdhbm8gd3lyYb9lbmlhIGNhs2tvd2l0ZWdvIgogCi0jOiB0ZXN0LmM6MjYyCisjOiB0ZXN0LmM6MjYzCiBtc2dpZCAiYCknIGV4cGVjdGVkIgogbXNnc3RyICJvY3pla2l3YW5vIGApJyIKIAotIzogdGVzdC5jOjI2NAorIzogdGVzdC5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICJvY3pla2l3YW5vIGApJywgem5hbGV6aW9ubyAlcyIKIAotIzogdGVzdC5jOjI3OSB0ZXN0LmM6Njg4IHRlc3QuYzo2OTEKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5MyB0ZXN0LmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IG9jemVraXdhbm8gb3BlcmF0b3JhIGplZG5vYXJndW1lbnRvd2VnbyIKIAotIzogdGVzdC5jOjQ0NCB0ZXN0LmM6NzMxCisjOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IG9jemVraXdhbm8gb3BlcmF0b3JhIGR3dWFyZ3VtZW50b3dlZ28iCiAKLSM6IHRlc3QuYzo4MDYKKyM6IHRlc3QuYzo4MTEKIG1zZ2lkICJtaXNzaW5nIGBdJyIKIG1zZ3N0ciAiYnJha3VqsWN5IGBdJyIKIAotIzogdHJhcC5jOjIwMQorIzogdHJhcC5jOjIwMwogbXNnaWQgImludmFsaWQgc2lnbmFsIG51bWJlciIKIG1zZ3N0ciAibmllcHJhd2lks293eSBudW1lciBzeWduYbN1IgogCi0jOiB0cmFwLmM6MzI0CisjOiB0cmFwLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bl9wZW5kaW5nX3RyYXBzOiBiYWQgdmFsdWUgaW4gdHJhcF9saXN0WyVkXTogJXAiCiBtc2dzdHIgInJ1bl9wZW5kaW5nX3RyYXBzOiB6s2Egd2FydG+25iB0cmFwX2xpc3RbJWRdOiAlcCIKIAotIzogdHJhcC5jOjMyOAorIzogdHJhcC5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicnVuX3BlbmRpbmdfdHJhcHM6IHNpZ25hbCBoYW5kbGVyIGlzIFNJR19ERkwsIHJlc2VuZGluZyAlZCAoJXMpIHRvIG15c2VsZiIKQEAgLTE3OTMsNTIgKzE4NjksNjcgQEAKICJydW5fcGVuZGluZ190cmFwczogb2Jzs3VnYSBzeWduYbN1IGplc3QgdXN0YXdpb25hIG5hIFNJR19ERkwsIHd5c3mzYWqxYyAlZCAoJSIKICJzKSBkbyBzaWViaWUiCiAKLSM6IHRyYXAuYzozNzIKKyM6IHRyYXAuYzozODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhcF9oYW5kbGVyOiBiYWQgc2lnbmFsICVkIgogbXNnc3RyICJ0cmFwX2hhbmRsZXI6IHqzeSBzeWduYbMgJWQiCiAKLSM6IHZhcmlhYmxlcy5jOjM1OAorIzogdmFyaWFibGVzLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnIgogbXNnc3RyICJis7FkIGltcG9ydHUgZGVmaW5pY2ppIGZ1bmtjamkgZGxhIGAlcyciCiAKLSM6IHZhcmlhYmxlcy5jOjczNgorIzogdmFyaWFibGVzLmM6NzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICJwb3ppb20gcG93s29raSAoJWQpIGplc3QgemEgZHW/eSwgdXN0YXdpb25vIG5hIDEiCiAKLSM6IHZhcmlhYmxlcy5jOjE4OTgKKyM6IHZhcmlhYmxlcy5jOjE5MTUKIG1zZ2lkICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIm1ha2VfbG9jYWxfdmFyaWFibGU6IGJyYWsga29udGVrc3R1IGZ1bmtjamkgdyBiaWW/sWN5bSB6YWtyZXNpZSIKIAotIzogdmFyaWFibGVzLmM6MzEyNworIzogdmFyaWFibGVzLmM6MzE1OQogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiYWxsX2xvY2FsX3ZhcmlhYmxlczogYnJhayBrb250ZWtzdHUgZnVua2NqaSB3IGJpZb+xY3ltIHpha3Jlc2llIgogCi0jOiB2YXJpYWJsZXMuYzozMzQ0IHZhcmlhYmxlcy5jOjMzNTMKKyM6IHZhcmlhYmxlcy5jOjMzNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKK21zZ3N0ciAiJXM6IHBhcmFtZXRyIHB1c3R5IGx1YiBuaWV1c3Rhd2lvbnkiCisKKyM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICJuaWVwcmF3aWSzb3d5IHpuYWsgJWQgdyBleHBvcnRzdHIgZGxhICVzIgogCi0jOiB2YXJpYWJsZXMuYzozMzU5CisjOiB2YXJpYWJsZXMuYzozMzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICJicmFrIGA9JyB3IGV4cG9ydHN0ciBkbGEgJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjM3OTQKKyM6IHZhcmlhYmxlcy5jOjM4MzUKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiBtc2dzdHIgInBvcF92YXJfY29udGV4dDogbmFns/N3ZWsgc2hlbGxfdmFyaWFibGVzIHBvemEga29udGVrc3RlbSBmdW5rY2ppIgogCi0jOiB2YXJpYWJsZXMuYzozODA3CisjOiB2YXJpYWJsZXMuYzozODQ4CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBubyBnbG9iYWxfdmFyaWFibGVzIGNvbnRleHQiCiBtc2dzdHIgInBvcF92YXJfY29udGV4dDogYnJhayBrb250ZWtzdHUgZ2xvYmFsX3ZhcmlhYmxlcyIKIAotIzogdmFyaWFibGVzLmM6Mzg4MQorIzogdmFyaWFibGVzLmM6MzkyMgogbXNnaWQgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgogbXNnc3RyICIiCiAicG9wX3Njb3BlOiBuYWez83dlayBzaGVsbF92YXJpYWJsZXMgcG96YSB6YWtyZXNlbSB0eW1jemFzb3dlZ28gtnJvZG93aXNrYSIKIAorIzogdmFyaWFibGVzLmM6NDY3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIgorbXNnc3RyICIlczogbmllIG1vv25hIG90d29yennmOiAlcyIKKworIzogdmFyaWFibGVzLmM6NDY4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiVkOiBuaWVwcmF3aWSzb3d5IGRlc2tyeXB0b3IgcGxpa3U6ICVzIgorCiAjOiB2ZXJzaW9uLmM6NDYKICMsIGZ1enp5CiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKQEAgLTE4NTAsNjIgKzE5NDEsNTMgQEAKICJodG1sPlxuIgogbXNnc3RyICIiCiAKLSM6IHZlcnNpb24uYzo4NgorIzogdmVyc2lvbi5jOjg2IHZlcnNpb24yLmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMgKCVzKVxuIgogbXNnc3RyICIiCiAKLSM6IHZlcnNpb24uYzo5MQorIzogdmVyc2lvbi5jOjkxIHZlcnNpb24yLmM6ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgYXJlIGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuXG4iCiBtc2dzdHIgIiIKIAotIzogdmVyc2lvbi5jOjkyCisjOiB2ZXJzaW9uLmM6OTIgdmVyc2lvbjIuYzo4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGVyZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3LlxuIgogbXNnc3RyICIiCiAKLSM6IHhtYWxsb2MuYzo5MgorIzogdmVyc2lvbjIuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgorbXNnc3RyICJDb3B5cmlnaHQgKEMpIDIwMDYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCisKKyM6IHZlcnNpb24yLmM6ODcKICMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCittc2dpZCAiIgorIkxpY2Vuc2UgR1BMdjIrOiBHTlUgR1BMIHZlcnNpb24gMiBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKKyJodG1sPlxuIgorbXNnc3RyICIiCisKKyM6IHhtYWxsb2MuYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgogbXNnc3RyICJ4bWFsbG9jOiBuaWUgbW+/bmEgcHJ6eWR6aWVsaeYgJWx1IGJhanTzdyAocHJ6eWR6aWVsb25vICVsdSkiCiAKLSM6IHhtYWxsb2MuYzo5NAotIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorIzogeG1hbGxvYy5jOjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKIG1zZ3N0ciAieG1hbGxvYzogbmllIG1vv25hIHByenlkemllbGnmICVsdSBiYWp083ciCiAKLSM6IHhtYWxsb2MuYzoxMTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgInhyZWFsbG9jOiBuaWUgbW+/bmEgcG9ub3duaWUgcHJ6eWR6aWVsaeYgJWx1IGJhanTzdyAocHJ6eWR6aWVsb25vICVsdSkiCi0KLSM6IHhtYWxsb2MuYzoxMTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhyZWFsbG9jOiBuaWUgbW+/bmEgcHJ6eWR6aWVsaeYgJWx1IGJhanTzdyIKLQotIzogeG1hbGxvYy5jOjE1MAotIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjOiB4bWFsbG9jLmM6MTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgogbXNnc3RyICJ4bWFsbG9jOiAlczolZDogbmllIG1vv25hIHByenlkemllbGnmICVsdSBiYWp083cgKHByenlkemllbG9ubyAlbHUpIgogCi0jOiB4bWFsbG9jLmM6MTUyCi0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorIzogeG1hbGxvYy5jOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgogbXNnc3RyICJ4bWFsbG9jOiAlczolZDogbmllIG1vv25hIHByenlkemllbGnmICVsdSBiYWp083ciCiAKLSM6IHhtYWxsb2MuYzoxNzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICIiCi0ieHJlYWxsb2M6ICVzOiVkOiBuaWUgbW+/bmEgcG9ub3duaWUgcHJ6eWR6aWVsaeYgJWx1IGJhanTzdyAocHJ6eWR6aWVsb25vICVsdSkiCi0KLSM6IHhtYWxsb2MuYzoxNzYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IG5pZSBtb79uYSBwcnp5ZHppZWxp5iAlbHUgYmFqdPN3IgotCiAjOiBidWlsdGlucy5jOjQzCiBtc2dpZCAiYWxpYXMgWy1wXSBbbmFtZVs9dmFsdWVdIC4uLiBdIgogbXNnc3RyICIiCkBAIC0yMDIxLDcgKzIxMDMsNyBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MTE3Ci1tc2dpZCAiaGVscCBbLWRzXSBbcGF0dGVybiAuLi5dIgorbXNnaWQgImhlbHAgWy1kbXNdIFtwYXR0ZXJuIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxMjEKQEAgLTIwNTAsOCArMjEzMiw4IEBACiAKICM6IGJ1aWx0aW5zLmM6MTM2CiBtc2dpZCAiIgotInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1wIHByb21wdF0gWy10ICIKLSJ0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCisicmVhZCBbLWVyc10gWy1hIGFycmF5XSBbLWQgZGVsaW1dIFstaSB0ZXh0XSBbLW4gbmNoYXJzXSBbLU4gbmNoYXJzXSBbLXAgIgorInByb21wdF0gWy10IHRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjEzOApAQCAtMjIxNSw5ICsyMjk3LDkgQEAKIAogIzogYnVpbHRpbnMuYzoyMjkKIG1zZ2lkICIiCi0iY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLVcgIgotIndvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TIHN1ZmZpeF0gIgotIltuYW1lIC4uLl0iCisiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstREVdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLSIKKyJXIHdvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TICIKKyJzdWZmaXhdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoyMzMKQEAgLTIyMjcsNyArMjMwOSw3IEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoyMzcKLW1zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFtuYW1lIC4uLl0iCittc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbLURFXSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MjQwCkBAIC0zMTY5LDcgKzMyNTEsMTEgQEAKICIgICAgICAtZVx0XHR1c2UgUmVhZGxpbmUgdG8gb2J0YWluIHRoZSBsaW5lIGluIGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCiAiICAgICAgLWkgdGV4dFx0VXNlIFRFWFQgYXMgdGhlIGluaXRpYWwgdGV4dCBmb3IgUmVhZGxpbmVcbiIKICIgICAgICAtbiBuY2hhcnNcdHJldHVybiBhZnRlciByZWFkaW5nIE5DSEFSUyBjaGFyYWN0ZXJzIHJhdGhlciB0aGFuIHdhaXRpbmdcbiIKLSIgICAgXHRcdGZvciBhIG5ld2xpbmVcbiIKKyIgICAgXHRcdGZvciBhIG5ld2xpbmUsIGJ1dCBob25vciBhIGRlbGltaXRlciBpZiBmZXdlciB0aGFuIE5DSEFSU1xuIgorIiAgICBcdFx0Y2hhcmFjdGVycyBhcmUgcmVhZCBiZWZvcmUgdGhlIGRlbGltaXRlclxuIgorIiAgICAgIC1OIG5jaGFyc1x0cmV0dXJuIG9ubHkgYWZ0ZXIgcmVhZGluZyBleGFjdGx5IE5DSEFSUyBjaGFyYWN0ZXJzLCAiCisidW5sZXNzXG4iCisiICAgIFx0XHRFT0YgaXMgZW5jb3VudGVyZWQgb3IgcmVhZCB0aW1lcyBvdXQsIGlnbm9yaW5nIGFueSBkZWxpbWl0ZXJcbiIKICIgICAgICAtcCBwcm9tcHRcdG91dHB1dCB0aGUgc3RyaW5nIFBST01QVCB3aXRob3V0IGEgdHJhaWxpbmcgbmV3bGluZSBiZWZvcmVcbiIKICIgICAgXHRcdGF0dGVtcHRpbmcgdG8gcmVhZFxuIgogIiAgICAgIC1yXHRcdGRvIG5vdCBhbGxvdyBiYWNrc2xhc2hlcyB0byBlc2NhcGUgYW55IGNoYXJhY3RlcnNcbiIKQEAgLTMyMTMsNyArMzI5OSw3IEBACiAiZGVza3J5cHRvclxuIgogIiAgICBwbGlrdS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTAwNgorIzogYnVpbHRpbnMuYzoxMDA5CiBtc2dpZCAiIgogIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzIyNSw3ICszMzExLDcgQEAKICIgICAgUmV0dXJucyBOLCBvciBmYWlsdXJlIGlmIHRoZSBzaGVsbCBpcyBub3QgZXhlY3V0aW5nIGEgZnVuY3Rpb24gb3Igc2NyaXB0LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEwMTkKKyM6IGJ1aWx0aW5zLmM6MTAyMgogIywgZnV6enkKIG1zZ2lkICIiCiAiU2V0IG9yIHVuc2V0IHZhbHVlcyBvZiBzaGVsbCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCkBAIC0zMzkzLDcgKzM0NzksNyBAQAogIiAgICBwb3p5Y3lqbnltaSBpIHOxIG9uZSBwcnp5cGlzYW5lLCBrb2xlam5vLCBkbyAkMSwgJDIsIC4uICRuLiBHZHkgbmllXG4iCiAiICAgIHpvc3RhbrEgcG9kYW5lIL9hZG5lIGFyZ3VtZW50eSwgd3lwaXN5d2FuZSBzsSB3c3p5c3RraWUgem1pZW5uZSBwb3ezb2tpLiIKIAotIzogYnVpbHRpbnMuYzoxMTAxCisjOiBidWlsdGlucy5jOjExMDQKIG1zZ2lkICIiCiAiVW5zZXQgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzIG9mIHNoZWxsIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuIgogIiAgICBcbiIKQEAgLTM0MTMsNyArMzQ5OSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSBOQU1FIGlzIHJlYWQtb25seS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTIxCisjOiBidWlsdGlucy5jOjExMjQKIG1zZ2lkICIiCiAiU2V0IGV4cG9ydCBhdHRyaWJ1dGUgZm9yIHNoZWxsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0zNDMyLDcgKzM1MTgsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTQwCisjOiBidWlsdGlucy5jOjExNDMKIG1zZ2lkICIiCiAiTWFyayBzaGVsbCB2YXJpYWJsZXMgYXMgdW5jaGFuZ2VhYmxlLlxuIgogIiAgICBcbiIKQEAgLTM0NTIsNyArMzUzOCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNjEKKyM6IGJ1aWx0aW5zLmM6MTE2NAogbXNnaWQgIiIKICJTaGlmdCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzQ2Myw3ICszNTQ5LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOIGlzIG5lZ2F0aXZlIG9yIGdyZWF0ZXIgdGhhbiAkIy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTczIGJ1aWx0aW5zLmM6MTE4OAorIzogYnVpbHRpbnMuYzoxMTc2IGJ1aWx0aW5zLmM6MTE5MQogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmcm9tIGEgZmlsZSBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKQEAgLTM0ODIsNyArMzU2OCw3IEBACiAiICAgIHcgJFBBVEguIEpltmxpIHBvZGFuZSB6b3N0YW6xIGpha2lla29sd2llayBBUkdVTUVOVFMsIHN0YWqxIHNp6lxuIgogIiAgICBwYXJhbWV0cmFtaSBwb3p5Y3lqbnltaSBwb2RjemFzIHVydWNob21pZW5pYSBGSUxFTkFNRS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTIwNAorIzogYnVpbHRpbnMuYzoxMjA3CiBtc2dpZCAiIgogIlN1c3BlbmQgc2hlbGwgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM0OTYsNyArMzU4Miw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEyMjAKKyM6IGJ1aWx0aW5zLmM6MTIyMwogIywgZnV6enkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKQEAgLTM2NTEsNyArMzczNyw3IEBACiAiICAgIHLzd255LCBuaWVy83dueSwgbW5pZWpzenkgbmm/LCBtbmllanN6eSBsdWIgcvN3bnksIHdp6mtzenkgbmm/IGx1YlxuIgogIiAgICB3aeprc3p5IGx1YiBy83dueSBhcmcyLiIKIAotIzogYnVpbHRpbnMuYzoxMjk2CisjOiBidWlsdGlucy5jOjEyOTkKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCkBAIC0zNjYyLDcgKzM3NDgsNyBAQAogIkplc3QgdG8gc3lub25pbSBkbGEgd2J1ZG93YW5lZ28gcG9sZWNlbmlhIFwidGVzdFwiLCBhbGUgd3ltYWdharFjeSwgYnlcbiIKICIgICAgb3N0YXRuaW0gYXJndW1lbnRlbSBiebMgYF0nIHBhc3VqsWN5IGRvIHBvY3qxdGtvd2VnbyBgWycuIgogCi0jOiBidWlsdGlucy5jOjEzMDUKKyM6IGJ1aWx0aW5zLmM6MTMwOAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtMzY3NCw3ICszNzYwLDcgQEAKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzMTcKKyM6IGJ1aWx0aW5zLmM6MTMyMAogIywgZnV6enkKIG1zZ2lkICIiCiAiVHJhcCBzaWduYWxzIGFuZCBvdGhlciBldmVudHMuXG4iCkBAIC0zNzMwLDcgKzM4MTYsNyBAQAogIiAgICBuYXp3IHN5Z25hs/N3IHdyYXogeiBvZHBvd2lhZGFqsWN5bWkgaW0gbnVtZXJhbWkuIE5hbGW/eSB6YXV3Yb955iwgv2VcbiIKICIgICAgc3lnbmGzIG1vv25hIHd5c7Nh5iBkbyBwb3ezb2tpIHBvbGVjZW5pZW0gXCJraWxsIC1zaWduYWwgJCRcIi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTM0OQorIzogYnVpbHRpbnMuYzoxMzUyCiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZCB0eXBlLlxuIgogIiAgICBcbiIKQEAgLTM3NjAsNyArMzg0Niw3IEBACiAiZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MAorIzogYnVpbHRpbnMuYzoxMzgzCiAjLCBmdXp6eQogbXNnaWQgIiIKICJNb2RpZnkgc2hlbGwgcmVzb3VyY2UgbGltaXRzLlxuIgpAQCAtMzg0MSw3ICszOTI3LDcgQEAKICIgICAgLXAsIGt083JlIGplc3QgdyBqZWRub3N0a2FjaCA1MTItYmFqdG93eWNoIG9yYXogLXUsIGt083JlIGplc3RcbiIKICIgICAgYmV6d3ltaWFyb3exIGxpY3pisSBwcm9jZXPzdy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQyNQorIzogYnVpbHRpbnMuYzoxNDI4CiBtc2dpZCAiIgogIkRpc3BsYXkgb3Igc2V0IGZpbGUgbW9kZSBtYXNrLlxuIgogIiAgICBcbiIKQEAgLTM4NTksNyArMzk0NSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTU9ERSBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NDUKKyM6IGJ1aWx0aW5zLmM6MTQ0OAogbXNnaWQgIiIKICJXYWl0IGZvciBqb2IgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTM4NzYsNyArMzk2Miw3IEBACiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NjMKKyM6IGJ1aWx0aW5zLmM6MTQ2NgogIywgZnV6enkKIG1zZ2lkICIiCiAiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCkBAIC0zODk2LDcgKzM5ODIsNyBAQAogIiAgICBwcm9jZXN1IGx1YiBzcGVjeWZpa2FjarEgemFkYW5pYTsgZ2R5IGplc3Qgc3BlY3lmaWthY2qxIHphZGFuaWEsXG4iCiAiICAgIG9jemVraXdhbmllIGRvdHljenkgd3N6eXN0a2ljaCBwcm9jZXPzdyB3IHBvdG9rdSB6YWRhbmlhLiIKIAotIzogYnVpbHRpbnMuYzoxNDc4CisjOiBidWlsdGlucy5jOjE0ODEKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZm9yIGVhY2ggbWVtYmVyIGluIGEgbGlzdC5cbiIKQEAgLTM5MTUsNyArNDAwMSw3IEBACiAiICAgIERsYSBrYb9kZWdvIGVsZW1lbnR1IFdPUkRTLCBOQU1FIGplc3QgdXN0YXdpYW5lIG5hIHRlbiBlbGVtZW50XG4iCiAiICAgIGkgdXJ1Y2hhbWlhbmUgc7EgQ09NTUFORFMuIgogCi0jOiBidWlsdGlucy5jOjE0OTIKKyM6IGJ1aWx0aW5zLmM6MTQ5NQogIywgZnV6enkKIG1zZ2lkICIiCiAiQXJpdGhtZXRpYyBmb3IgbG9vcC5cbiIKQEAgLTM5NDEsNyArNDAyNyw3IEBACiAiICAgIEVYUDEsIEVYUDIgaSBFWFAzIHOxIHd5cmG/ZW5pYW1pIGFyeXRtZXR5Y3pueW1pLiBKZbZsaSBrdPNyZbYgeiB3eXJhv2XxXG4iCiAiICAgIHpvc3RhbmllIHBvbWluaep0ZSwgemFjaG93YW5pZSBqZXN0IHRha2llLCBqYWJ5IG1pYbNvIG9ubyB3YXJ0b7bmIDEuIgogCi0jOiBidWlsdGlucy5jOjE1MTAKKyM6IGJ1aWx0aW5zLmM6MTUxMwogIywgZnV6enkKIG1zZ2lkICIiCiAiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgpAQCAtMzk3NCw3ICs0MDYwLDcgQEAKICIgICAgd2llcnN6IGplc3QgemFjaG93eXdhbnkgdyB6bWllbm5laiBSRVBMWS4gUG8ga2G/ZHltIHd5Ym9yemUgdXJ1Y2hhbWlhbmVcbiIKICIgICAgc7EgcG9sZWNlbmlhIENPTU1BTkRTIGG/IGRvIHBvbGVjZW5pYSBicmVhay4iCiAKLSM6IGJ1aWx0aW5zLmM6MTUzMQorIzogYnVpbHRpbnMuYzoxNTM0CiAjLCBmdXp6eQogbXNnaWQgIiIKICJSZXBvcnQgdGltZSBjb25zdW1lZCBieSBwaXBlbGluZSdzIGV4ZWN1dGlvbi5cbiIKQEAgLTQwMDEsNyArNDA4Nyw3IEBACiAiICAgIHBvZHN1bW93YW5pYSBjemFz83cgdyBuaWVjbyBpbm5laiBwb3N0YWNpLiBVv3l3YW5hIGplc3Qgd3RlZHkgd2FydG+25lxuIgogIiAgICB6bWllbm5laiBUSU1FRk9STUFUIGpha28gZm9ybWF0IGRhbnljaCB3eWq2Y2lvd3ljaC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU0OAorIzogYnVpbHRpbnMuYzoxNTUxCiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIHBhdHRlcm4gbWF0Y2hpbmcuXG4iCkBAIC00MDE2LDcgKzQxMDIsNyBAQAogInBhc3VqZVxuIgogIiAgICBkbyB3em9yY2EgUEFUVEVSTi4gWm5hayBgfCcgc7N1v3kgZG8gcm96ZHppZWxhbmlhIHdpZWx1IHd6b3Jj83cuIgogCi0jOiBidWlsdGlucy5jOjE1NjAKKyM6IGJ1aWx0aW5zLmM6MTU2MwogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBjb25kaXRpb25hbC5cbiIKQEAgLTQwNDcsNyArNDEzMyw3IEBACiAiICAgIHVydWNob21pb25lZ28gcG9sZWNlbmlhIGx1YiB6ZXJvLCBnZHkgv2FkZW4gemUgc3ByYXdkemFueWNoIHdhcnVua/N3XG4iCiAiICAgIG5pZSBiebMgcHJhd2R6aXd5LiIKIAotIzogYnVpbHRpbnMuYzoxNTc3CisjOiBidWlsdGlucy5jOjE1ODAKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3Qgc3VjY2VlZHMuXG4iCkBAIC00MDYxLDcgKzQxNDcsNyBAQAogIlJvendpamFuaWUgaSB1cnVjaGFtaWFuaWUgcG9sZWNl8SBDT01NQU5EUyB0YWsgZLN1Z28sIGRvcPNraSBvc3RhdG5pZVxuIgogIiAgICBwb2xlY2VuaWUgdyBgd2hpbGUnIENPTU1BTkRTIGtv8WN6eSBzaeogeiBrb2RlbSB6ZXJvLiIKIAotIzogYnVpbHRpbnMuYzoxNTg5CisjOiBidWlsdGlucy5jOjE1OTIKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3QgZG9lcyBub3Qgc3VjY2VlZC5cbiIKQEAgLTQwNzUsNyArNDE2MSw3IEBACiAiUm96d2lqYW5pZSBpIHVydWNoYW1pYW5pZSBwb2xlY2XxIENPTU1BTkRTIHRhayBks3VnbywgZG9w82tpIG9zdGF0bmllXG4iCiAiICAgIHBvbGVjZW5pZSB3IGB1bnRpbCcgQ09NTUFORFMga2/xY3p5IHNp6iB6IGtvZGVtIG5pZXplcm93eW0uIgogCi0jOiBidWlsdGlucy5jOjE2MDEKKyM6IGJ1aWx0aW5zLmM6MTYwNAogbXNnaWQgIiIKICJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKICIgICAgXG4iCkBAIC00MDg4LDcgKzQxNzQsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MTUKKyM6IGJ1aWx0aW5zLmM6MTYxOAogbXNnaWQgIiIKICJEZWZpbmUgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtNDEwMiw3ICs0MTg4LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIHJlYWRvbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MjkKKyM6IGJ1aWx0aW5zLmM6MTYzMgogIywgZnV6enkKIG1zZ2lkICIiCiAiR3JvdXAgY29tbWFuZHMgYXMgYSB1bml0LlxuIgpAQCAtNDExNiw3ICs0MjAyLDcgQEAKICJVcnVjaG9taWVuaWUgemJpb3J1IHBvbGVjZfEgamFrbyBncnVweS4gVyB0ZW4gc3Bvc/NiIG1vv25hIHByemVraWVyb3dh5lxuIgogIiAgICBjYbN5IHpiafNyIHBvbGVjZfEuIgogCi0jOiBidWlsdGlucy5jOjE2NDEKKyM6IGJ1aWx0aW5zLmM6MTY0NAogIywgZnV6enkKIG1zZ2lkICIiCiAiUmVzdW1lIGpvYiBpbiBmb3JlZ3JvdW5kLlxuIgpAQCAtNDEzNyw3ICs0MjIzLDcgQEAKICJkbGFcbiIKICIgICAgYGJnJy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY1NgorIzogYnVpbHRpbnMuYzoxNjU5CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb24uXG4iCkBAIC00MTUxLDcgKzQyMzcsNyBAQAogIk9ibGljemVuaWUgd3lyYb9lbmlhIEVYUFJFU1NJT04gemdvZG5pZSB6IHphc2FkYW1pIG9ibGljemFuaWEgd3lyYb9l8VxuIgogIiAgICBhcnl0bWV0eWN6bnljaC4gUvN3bm93Yb9uZSBcImxldCBFWFBSRVNTSU9OXCIuIgogCi0jOiBidWlsdGlucy5jOjE2NjgKKyM6IGJ1aWx0aW5zLmM6MTY3MQogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb25kaXRpb25hbCBjb21tYW5kLlxuIgpAQCAtNDIwMCw3ICs0Mjg2LDcgQEAKICIgICAgd3pvcmNhLiBPcGVyYXRvcnkgJiYgaSB8fCBuaWUgb3BsaWN6YWqxIEVYUFIyLCBqZbZsaSBvYmxpY3plbmllIEVYUFIxXG4iCiAiICAgIHd5c3RhcmN6YSBkbyBva3JltmxlbmlhIHdhcnRvtmNpIHd5cmG/ZW5pYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY5NAorIzogYnVpbHRpbnMuYzoxNjk3CiBtc2dpZCAiIgogIkNvbW1vbiBzaGVsbCB2YXJpYWJsZSBuYW1lcyBhbmQgdXNhZ2UuXG4iCiAiICAgIFxuIgpAQCAtNDI1NCw3ICs0MzQwLDcgQEAKICIgICAgXHRcdGNvbW1hbmRzIHNob3VsZCBiZSBzYXZlZCBvbiB0aGUgaGlzdG9yeSBsaXN0LlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTc1MQorIzogYnVpbHRpbnMuYzoxNzU0CiAjLCBmdXp6eQogbXNnaWQgIiIKICJBZGQgZGlyZWN0b3JpZXMgdG8gc3RhY2suXG4iCkBAIC00MzAzLDcgKzQzODksNyBAQAogIiAgICBcbiIKICIgICAgWmF3YXJ0b7bmIHN0b3N1IGthdGFsb2fzdyBtb79uYSB6b2JhY3p55iB6YSBwb21vY7EgcG9sZWNlbmlhIGBkaXJzJy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTc4NQorIzogYnVpbHRpbnMuYzoxNzg4CiAjLCBmdXp6eQogbXNnaWQgIiIKICJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKQEAgLTQzNDcsNyArNDQzMyw3IEBACiAiICAgIFxuIgogIiAgICBaYXdhcnRvtuYgc3Rvc3Uga2F0YWxvZ/N3IG1vv25hIHpvYmFjennmIHphIHBvbW9jsSBwb2xlY2VuaWEgYGRpcnMnLiIKIAotIzogYnVpbHRpbnMuYzoxODE1CisjOiBidWlsdGlucy5jOjE4MTgKICMsIGZ1enp5CiBtc2dpZCAiIgogIkRpc3BsYXkgZGlyZWN0b3J5IHN0YWNrLlxuIgpAQCAtNDM5Niw3ICs0NDgyLDcgQEAKICIgICAgLU5cdFd5cGlzYW5pZSBOLXRlaiBwb3p5Y2ppIGxpY3qxYyBvZCBwcmF3ZWogc3Ryb255IGxpc3R5IHd5cGlzeXdhbmVqXG4iCiAiICAgIFx0cHJ6ZXogZGlycyB3eXdvs2FuZSBiZXogb3BjamksIHBvY3qxd3N6eSBvZCB6ZXJhLiIKIAotIzogYnVpbHRpbnMuYzoxODQ0CisjOiBidWlsdGlucy5jOjE4NDcKIG1zZ2lkICIiCiAiU2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTQ0MTcsNyArNDUwMyw3IEBACiAiICAgIGdpdmVuIG9yIE9QVE5BTUUgaXMgZGlzYWJsZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg2NQorIzogYnVpbHRpbnMuYzoxODY4CiBtc2dpZCAiIgogIkZvcm1hdHMgYW5kIHByaW50cyBBUkdVTUVOVFMgdW5kZXIgY29udHJvbCBvZiB0aGUgRk9STUFULlxuIgogIiAgICBcbiIKQEAgLTQ0NDcsNyArNDUzMyw3IEBACiAiICAgIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODkyCisjOiBidWlsdGlucy5jOjE4OTUKIG1zZ2lkICIiCiAiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCiAiICAgIFxuIgpAQCAtNDQ2MSwxNSArNDU0NywyMCBAQAogIiAgICAgIC1wXHRwcmludCBleGlzdGluZyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zIGluIGEgcmV1c2FibGUgZm9ybWF0XG4iCiAiICAgICAgLXJcdHJlbW92ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm9cbiIKICIgICAgXHROQU1FcyBhcmUgc3VwcGxpZWQsIGFsbCBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zXG4iCisiICAgICAgLURcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyBhcyB0aGUgZGVmYXVsdCBmb3IgY29tbWFuZHNcbiIKKyIgICAgXHR3aXRob3V0IGFueSBzcGVjaWZpYyBjb21wbGV0aW9uIGRlZmluZWRcbiIKKyIgICAgICAtRVx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIHRvIFwiZW1wdHlcIiBjb21tYW5kcyAtLVxuIgorIiAgICBcdGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZVxuIgogIiAgICBcbiIKICIgICAgV2hlbiBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgdGhlIGFjdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZVxuIgotIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS5cbiIKKyIgICAgdXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuICBUaGUgLUQgb3B0aW9uIHRha2VzXG4iCisiICAgIHByZWNlZGVuY2Ugb3ZlciAtRS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTE1CisjOiBidWlsdGlucy5jOjE5MjMKICMsIGZ1enp5CiBtc2dpZCAiIgogIkRpc3BsYXkgcG9zc2libGUgY29tcGxldGlvbnMgZGVwZW5kaW5nIG9uIHRoZSBvcHRpb25zLlxuIgpAQCAtNDQ4Nyw3ICs0NTc4LDcgQEAKICIgICAgR2R5IHBvZGFueSBqZXN0IG9wY2pvbmFsbnkgYXJndW1lbnQgV09SRCwgZ2VuZXJvd2FuZSBzsSB1enVwZbNuaWVuaWFcbiIKICIgICAgcGFzdWqxY2UgZG8gV09SRC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkzMAorIzogYnVpbHRpbnMuYzoxOTM4CiBtc2dpZCAiIgogIk1vZGlmeSBvciBkaXNwbGF5IGNvbXBsZXRpb24gb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC00NTAwLDYgKzQ1OTEsOCBAQAogIiAgICBcbiIKICIgICAgT3B0aW9uczpcbiIKICIgICAgXHQtbyBvcHRpb25cdFNldCBjb21wbGV0aW9uIG9wdGlvbiBPUFRJT04gZm9yIGVhY2ggTkFNRVxuIgorIiAgICBcdC1EXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJkZWZhdWx0XCIgY29tbWFuZCBjb21wbGV0aW9uXG4iCisiICAgIFx0LUVcdFx0Q2hhbmdlIG9wdGlvbnMgZm9yIHRoZSBcImVtcHR5XCIgY29tbWFuZCBjb21wbGV0aW9uXG4iCiAiICAgIFxuIgogIiAgICBVc2luZyBgK28nIGluc3RlYWQgb2YgYC1vJyB0dXJucyBvZmYgdGhlIHNwZWNpZmllZCBvcHRpb24uXG4iCiAiICAgIFxuIgpAQCAtNDUxNiwxNSArNDYwOSwxNSBAQAogIiAgICBoYXZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGRlZmluZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTk1OAorIzogYnVpbHRpbnMuYzoxOTY4CiBtc2dpZCAiIgotIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKKyJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCi0iICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgYXJyYXkgdmFyaWFibGUgQVJSQVksIG9yICIKLSJmcm9tXG4iCi0iICAgIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlIE1BUEZJTEUgIgotImlzXG4iCi0iICAgIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgorIiAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUgIgorIkFSUkFZLCBvclxuIgorIiAgICBmcm9tIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlICIKKyJNQVBGSUxFXG4iCisiICAgIGlzIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgogIiAgICBcbiIKICIgICAgT3B0aW9uczpcbiIKICIgICAgICAtbiBjb3VudFx0Q29weSBhdCBtb3N0IENPVU5UIGxpbmVzLiAgSWYgQ09VTlQgaXMgMCwgYWxsIGxpbmVzIGFyZSAiCkBAIC00NTUxLDE2ICs0NjQ0LDMwIEBACiAiICAgIGFzc2lnbmluZyB0byBpdC5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIEFSUkFZIGlzIHJlYWRvbmx5LiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBBUlJBWSBpcyByZWFkb25seSAiCisib3JcbiIKKyIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTk5MAorIzogYnVpbHRpbnMuYzoyMDAxCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCiAiICAgIEEgc3lub255bSBmb3IgYG1hcGZpbGUnLiIKIG1zZ3N0ciAiIgogCisjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjfiBtc2dzdHIgIiIKKyN+ICJ4cmVhbGxvYzogbmllIG1vv25hIHBvbm93bmllIHByenlkemllbGnmICVsdSBiYWp083cgKHByenlkemllbG9ubyAlbHUpIgorCisjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCisjfiBtc2dzdHIgInhyZWFsbG9jOiBuaWUgbW+/bmEgcHJ6eWR6aWVsaeYgJWx1IGJhanTzdyIKKworI34gbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyN+IG1zZ3N0ciAiIgorI34gInhyZWFsbG9jOiAlczolZDogbmllIG1vv25hIHBvbm93bmllIHByenlkemllbGnmICVsdSBiYWp083cgKHByenlkemllbG9ubyAlIgorI34gImx1KSIKKwogI34gbXNnaWQgIiAiCiAjfiBtc2dzdHIgIiAiCiAKZGlmZiAtLWdpdCBhL3BvL3B0X0JSLmdtbyBiL3BvL3B0X0JSLmdtbwppbmRleCA3ZjdjZWVhLi45YWM5YzQzIDEwMDY0NAotLS0gYS9wby9wdF9CUi5nbW8KKysrIGIvcG8vcHRfQlIuZ21vCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3BvL3B0X0JSLnBvIGIvcG8vcHRfQlIucG8KaW5kZXggYjdmZjNjZi4uZTdlNDJjZiAxMDA2NDQKLS0tIGEvcG8vcHRfQlIucG8KKysrIGIvcG8vcHRfQlIucG8KQEAgLTYsNyArNiw3IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IGJhc2ggMi4wXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTAyLTE5IDE0OjUzLTA1MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogMjAwMi0wNS0wOCAxMzo1MEdNVCAtM1xuIgogIkxhc3QtVHJhbnNsYXRvcjogSGFsbGV5IFBhY2hlY28gZGUgT2xpdmVpcmEgPGhhbGxleXBvQGlnLmNvbS5icj5cbiIKICJMYW5ndWFnZS1UZWFtOiBCcmF6aWxpYW4gUG9ydHVndWVzZSA8bGRwLWJyQGJhemFyLmNvbmVjdGl2YS5jb20uYnI+XG4iCkBAIC0xOSw1MCArMTksNTUgQEAKIG1zZ2lkICJiYWQgYXJyYXkgc3Vic2NyaXB0IgogbXNnc3RyICLtbmRpY2UgZGEgbWF0cml6IChhcnJheSkgaW5jb3JyZXRvIgogCi0jOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc0CisjOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBpbmRleGVkIHRvIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIiCiAKLSM6IGFycmF5ZnVuYy5jOjQ3OQorIzogYXJyYXlmdW5jLmM6NDgwCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhc3NvY2lhdGl2ZSBhcnJheSBrZXkiCiBtc2dzdHIgIiVjJWM6IG9w5+NvIGluY29ycmV0YSIKIAotIzogYXJyYXlmdW5jLmM6NDgxCisjOiBhcnJheWZ1bmMuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gdG8gbm9uLW51bWVyaWMgaW5kZXgiCiBtc2dzdHIgIiVzOiBpbXBvc3PtdmVsIGF0cmlidWlyIGEg7W5kaWNlIG7jbyBudW3pcmljbyIKIAotIzogYXJyYXlmdW5jLmM6NTE3CisjOiBhcnJheWZ1bmMuYzo1MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBtdXN0IHVzZSBzdWJzY3JpcHQgd2hlbiBhc3NpZ25pbmcgYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKIAotIzogYmFzaGhpc3QuYzozNzkKKyM6IGJhc2hoaXN0LmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY3JlYXRlOiAlcyIKIG1zZ3N0ciAiJXM6IGltcG9zc+12ZWwgY3JpYXI6ICVzIgogCi0jOiBiYXNobGluZS5jOjM0MTMKKyM6IGJhc2hsaW5lLmM6MzQ1NwogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBiYXNobGluZS5jOjM0OTEKKyM6IGJhc2hsaW5lLmM6MzU0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgogbXNnc3RyICIiCiAKLSM6IGJhc2hsaW5lLmM6MzUyMAorIzogYmFzaGxpbmUuYzozNTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBiYXNobGluZS5jOjM1NTQKKyM6IGJhc2hsaW5lLmM6MzYwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCiBtc2dzdHIgIiIKIAorIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogaW52YWxpZCBhbGlhcyBuYW1lIgorbXNnc3RyICIlYyVjOiBvcOfjbyBpbmNvcnJldGEiCisKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjEyMCBidWlsdGlucy9iaW5kLmRlZjoxMjMKIG1zZ2lkICJsaW5lIGVkaXRpbmcgbm90IGVuYWJsZWQiCiBtc2dzdHIgIiIKQEAgLTExMyw2ICsxMTgsMjEgQEAKICIgICAgV2l0aG91dCBFWFBSLCByZXR1cm5zICIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNQorbXNnaWQgIiIKKyIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKKyIgICAgIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM2Cittc2dpZCAiIgorIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgorIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCisiICAgIFxuIgorIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCisiICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgorbXNnc3RyICIiCisKICM6IGJ1aWx0aW5zL2NkLmRlZjoyMTUKIG1zZ2lkICJIT01FIG5vdCBzZXQiCiBtc2dzdHIgIiIKQEAgLTEyNiw3ICsxNDYsNyBAQAogbXNnaWQgImxpbmUgJWQ6ICIKIG1zZ3N0ciAiZW5jYWl4ZSAoc2xvdCkgJTNkOiAiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEzOSBlcnJvci5jOjI2MAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTM5IGVycm9yLmM6MjYxCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAiCiBtc2dzdHIgImVzY3JldmVuZG8iCkBAIC0xMzYsMTEgKzE1NiwxMSBAQAogbXNnaWQgIiVzOiB1c2FnZTogIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODIyCisjOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyNwogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKIG1zZ3N0ciAibvptZXJvIGV4Y2Vzc2l2byBkZSBhcmd1bWVudG9zIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTMgc2hlbGwuYzo3NzQKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5OSBzaGVsbC5jOjc4MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIKIG1zZ3N0ciAiYSBvcOfjbyByZXF1ZXIgdW0gYXJndW1lbnRvOiAtIgpAQCAtMTU1LDcgKzE3NSw3IEBACiBtc2dpZCAiJXM6IG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IGNvbWFuZG8gbuNvIGVuY29udHJhZG8iCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc4NworIzogYnVpbHRpbnMvY29tbW9uLmM6MjE0IHNoZWxsLmM6Nzk1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVjJWM6IG9w5+NvIGluY29ycmV0YSIKQEAgLTE4MCw3ICsyMDAsNyBAQAogbXNnaWQgImludmFsaWQgaGV4IG51bWJlciIKIG1zZ3N0ciAibvptZXJvIGRvIHNpbmFsIGluY29ycmV0byIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU1CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTYKICMsIGZ1enp5CiBtc2dpZCAiaW52YWxpZCBudW1iZXIiCiBtc2dzdHIgIm76bWVybyBkbyBzaW5hbCBpbmNvcnJldG8iCkBAIC0xOTUsNyArMjE1LDcgQEAKIG1zZ2lkICJgJXMnOiBub3QgYSBwaWQgb3IgdmFsaWQgam9iIHNwZWMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjY0IGVycm9yLmM6NDUzCisjOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IHZhcmlhYmxlIgogbXNnc3RyICIlczogYSB2YXJp4XZlbCBwZXJtaXRlIHNvbWVudGUgbGVpdHVyYSIKQEAgLTI3MCwyNiArMjkwLDI2IEBACiBtc2dpZCAiJXM6IGFtYmlndW91cyBqb2Igc3BlYyIKIG1zZ3N0ciAiJXM6IFJlZGlyZWNpb25hbWVudG8gYW1i7Wd1byIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjI3MAorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjI3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhY3Rpb24gbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDMwIGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2MTUKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MTMKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo0NDkgYnVpbHRpbnMvY29tcGxldGUuZGVmOjY0NAorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjg1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm8gY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NjcKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTYKIG1zZ2lkICJ3YXJuaW5nOiAtRiBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY2OQorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY5OAogbXNnaWQgIndhcm5pbmc6IC1DIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Nzg2CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODI2CiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAiIgogCkBAIC0yOTgsMjEgKzMxOCwyMSBAQAogbXNnaWQgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKIG1zZ3N0ciAic29tZW50ZSBwb2RlIHNlciB1c2FkbyBkZW50cm8gZGUgZnVu5/VlczsgZmF6IGNvbSBxdWUgbyBlc2NvcG8gdmlz7XZlbCIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzUzCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzY1IGV4ZWN1dGVfY21kLmM6NDgxOAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVzOiBmdW7n428gc29tZW50ZSBwYXJhIGxlaXR1cmEiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2MQorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDY4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IGltcG9zc+12ZWwgYXRyaWJ1aXIgZGVzdGEgbWFuZWlyYSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDY4CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGFzc29jaWF0aXZlIHRvIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIiIKQEAgLTM0MSw4ICszNjEsOCBAQAogbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKIG1zZ3N0ciAiJXM6IGltcG9zc+12ZWwgY3JpYXI6ICVzIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Njc1Ci0jOiBzaGVsbC5jOjE0MzkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM0IGJ1aWx0aW5zL2hhc2guZGVmOjE2OSBleGVjdXRlX2NtZC5jOjQ3OTQKKyM6IHNoZWxsLmM6MTQ1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaXMgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzOiDpIHVtIGRpcmV083JpbyIKQEAgLTM1Nyw3ICszNzcsOCBAQAogbXNnaWQgIiVzOiBmaWxlIGlzIHRvbyBsYXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBleGVjdXRlX2NtZC5jOjQ3NDUgc2hlbGwuYzoxNDQ5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBidWlsdGlucy9ldmFsZmlsZS5jOjIwMyBleGVjdXRlX2NtZC5jOjQ4NjQKKyM6IHNoZWxsLmM6MTQ2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGUgYmluYXJ5IGZpbGUiCiBtc2dzdHIgIiVzOiBpbXBvc3PtdmVsIGV4ZWN1dGFyIG8gYXJxdWl2byBiaW7hcmlvIgpAQCAtMzg2LDE2ICs0MDcsMTYgQEAKIG1zZ2lkICJUaGVyZSBhcmUgcnVubmluZyBqb2JzLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjIKICMsIGZ1enp5CiBtc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKIG1zZ3N0ciAiJXM6IGNvbWFuZG8gbuNvIGVuY29udHJhZG8iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKIG1zZ2lkICJoaXN0b3J5IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM2MgorIzogYnVpbHRpbnMvZmMuZGVmOjM3MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCiBtc2dzdHIgIiVzOiBpbXBvc3PtdmVsIGNyaWFyOiAlcyIKQEAgLTQ4NSwxMiArNTA2LDEyIEBACiBtc2dpZCAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoxOTcKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MAorIzogYnVpbHRpbnMva2lsbC5kZWY6MjYzCiAjLCBmdXp6eQogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgIkVycm8gZGVzY29uaGVjaWRvICVkIgpAQCAtNDk5LDU2ICs1MjAsNjEgQEAKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICJlc3BlcmFkbyB1bWEgZXhwcmVzc+NvIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDEgYnVpbHRpbnMvcmVhZC5kZWY6MjcyCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYW4gaW5kZXhlZCBhcnJheSIKK21zZ3N0ciAiJXM6IHZhcmnhdmVsIG7jbyB2aW5jdWxhZGEiCisKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU3IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1OCBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCiBtc2dzdHIgIiVjJWM6IG9w5+NvIGluY29ycmV0YSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFycmF5IG9yaWdpbiIKIG1zZ3N0ciAiJWMlYzogb3Dn428gaW5jb3JyZXRhIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgY2FsbGJhY2sgcXVhbnR1bSIKIG1zZ3N0ciAibvptZXJvIGRvIHNpbmFsIGluY29ycmV0byIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzE4CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKICMsIGZ1enp5CiBtc2dpZCAiZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZSIKIG1zZ3N0ciAiJXM6IHZhcmnhdmVsIG7jbyB2aW5jdWxhZGEiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzOQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CiBtc2dpZCAiYXJyYXkgdmFyaWFibGUgc3VwcG9ydCByZXF1aXJlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjM2NworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTQ0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzEKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjc1MAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTcKIG1zZ2lkICJtaXNzaW5nIGhleCBkaWdpdCBmb3IgXFx4IgogbXNnc3RyICIiCiAKQEAgLTY0MSwxMiArNjY3LDEyIEBACiAiICAgIFRoZSBgZGlycycgYnVpbHRpbiBkaXNwbGF5cyB0aGUgZGlyZWN0b3J5IHN0YWNrLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9yZWFkLmRlZjoyNDgKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCB0aW1lb3V0IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcmVhZC5kZWY6NTc0CisjOiBidWlsdGlucy9yZWFkLmRlZjo1ODgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInJlYWQgZXJyb3I6ICVkOiAlcyIKIG1zZ3N0ciAiZXJybyBkZSBgcGlwZSc6ICVzIgpAQCAtNjg1LDExICs3MTEsMTEgQEAKIG1zZ2lkICJzaGlmdCBjb3VudCIKIG1zZ3N0ciAic2hpZnQgW25dIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MjU0CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MjYwCiBtc2dpZCAiY2Fubm90IHNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucyBzaW11bHRhbmVvdXNseSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MzE5CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgogbXNnc3RyICIiCkBAIC03ODIsODMgKzgwOCw4MyBAQAogbXNnaWQgImAlYyc6IGludmFsaWQgc3ltYm9saWMgbW9kZSBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogZXJyb3IuYzo4OSBlcnJvci5jOjMyMCBlcnJvci5jOjMyMiBlcnJvci5jOjMyNAorIzogZXJyb3IuYzo5MCBlcnJvci5jOjMyMSBlcnJvci5jOjMyMyBlcnJvci5jOjMyNQogbXNnaWQgIiBsaW5lICIKIG1zZ3N0ciAiIgogCi0jOiBlcnJvci5jOjE2NAorIzogZXJyb3IuYzoxNjUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImxhc3QgY29tbWFuZDogJXNcbiIKIG1zZ3N0ciAiYHInLCBvIPpsdGltbyBjb21hbmRvIHNlamEgZXhlY3V0YWRvIG5vdmFtZW50ZS4iCiAKLSM6IGVycm9yLmM6MTcyCisjOiBlcnJvci5jOjE3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZy4uLiIKIG1zZ3N0ciAiIgogCi0jOiBlcnJvci5jOjQwNQorIzogZXJyb3IuYzo0MDYKICMsIGZ1enp5CiBtc2dpZCAidW5rbm93biBjb21tYW5kIGVycm9yIgogbXNnc3RyICJFcnJvIGRlc2NvbmhlY2lkbyAlZCIKIAotIzogZXJyb3IuYzo0MDYKKyM6IGVycm9yLmM6NDA3CiAjLCBmdXp6eQogbXNnaWQgImJhZCBjb21tYW5kIHR5cGUiCiBtc2dzdHIgInVzYWRvIGNvbW8gbm9tZSBkZSB1bSBjb21hbmRvLiIKIAotIzogZXJyb3IuYzo0MDcKKyM6IGVycm9yLmM6NDA4CiAjLCBmdXp6eQogbXNnaWQgImJhZCBjb25uZWN0b3IiCiBtc2dzdHIgImNvbmVjdG9yIGluY29ycmV0byBgJWQnIgogCi0jOiBlcnJvci5jOjQwOAorIzogZXJyb3IuYzo0MDkKICMsIGZ1enp5CiBtc2dpZCAiYmFkIGp1bXAiCiBtc2dzdHIgIkRlc3ZpbyBpbmNvcnJldG8gJWQiCiAKLSM6IGVycm9yLmM6NDQ2CisjOiBlcnJvci5jOjQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5ib3VuZCB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6IHZhcmnhdmVsIG7jbyB2aW5jdWxhZGEiCiAKICM6IGV2YWwuYzoxODEKICMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnaWQgIgd0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCiBtc2dzdHIgIiIKICIlY3RlbXBvIGxpbWl0ZSBkZSBlc3BlcmEgZXhjZWRpZG8gYWd1YXJkYW5kbyBlbnRyYWRhOlxuIgogImZpbSBhdXRvbeF0aWNvIGRhIHNlc3Pjb1xuIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5MQorIzogZXhlY3V0ZV9jbWQuYzo0OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlZGlyZWN0IHN0YW5kYXJkIGlucHV0IGZyb20gL2Rldi9udWxsOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBleGVjdXRlX2NtZC5jOjExMTIKKyM6IGV4ZWN1dGVfY21kLmM6MTE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJUSU1FRk9STUFUOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzoyMDExCisjOiBleGVjdXRlX2NtZC5jOjIwNzUKICMsIGZ1enp5CiBtc2dpZCAicGlwZSBlcnJvciIKIG1zZ3N0ciAiZXJybyBkZSBgcGlwZSc6ICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjQzNjMKKyM6IGV4ZWN1dGVfY21kLmM6NDQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCiBtc2dzdHIgIiVzOiByZXN0cmnn4286IG7jbyDpIHBlcm1pdGlkbyBlc3BlY2lmaWNhciBgLycgZW0gbm9tZXMgZGUgY29tYW5kb3MiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDQ1NAorIzogZXhlY3V0ZV9jbWQuYzo0NTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjb21tYW5kIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IGNvbWFuZG8gbuNvIGVuY29udHJhZG8iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDcwOAorIzogZXhlY3V0ZV9jbWQuYzo0ODI3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGJhZCBpbnRlcnByZXRlciIKIG1zZ3N0ciAiJXM6IOkgdW0gZGlyZXTzcmlvIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ4NTcKKyM6IGV4ZWN1dGVfY21kLmM6NDk3NgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKIG1zZ3N0ciAiaW1wb3Nz7XZlbCBkdXBsaWNhciBmZCAoZGVzY3JpdG9yIGRlIGFycXVpdm8pICVkIHBhcmEgZmQgMDogJXMiCkBAIC05MDUsMjkgKzkzMSwyOSBAQAogbXNnaWQgIm1pc3NpbmcgYCknIgogbXNnc3RyICJmYWx0YW5kbyBgKSciCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzUKKyM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKICMsIGZ1enp5CiBtc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogbXNnc3RyICJlcnJvIGRlIHNpbnRheGU6IGZpbSBwcmVtYXR1cm8gZG8gYXJxdWl2byIKIAotIzogZXhwci5jOjExNzcKKyM6IGV4cHIuYzoxMTc4CiBtc2dpZCAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjEyMDEKKyM6IGV4cHIuYzoxMjAyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgogbXNnc3RyICIlczogJXM6ICVzIChlcnJvOiBvIGB0b2tlbicg6SBcIiVzXCIpXG4iCiAKLSM6IGV4cHIuYzoxMjU5CisjOiBleHByLmM6MTI2MAogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMjc5CisjOiBleHByLmM6MTI4MAogbXNnaWQgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKIG1zZ3N0ciAidmFsb3IgbXVpdG8gZ3JhbmRlIHBhcmEgZXN0YSBiYXNlIGRlIG51bWVyYefjbyIKIAotIzogZXhwci5jOjEzMjgKKyM6IGV4cHIuYzoxMzI5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogZXhwcmVzc2lvbiBlcnJvclxuIgogbXNnc3RyICIlczogZXNwZXJhZG8gZXhwcmVzc+NvIGRlIG76bWVybyBpbnRlaXJvIgpAQCAtOTM3LDcgKzk2Myw3IEBACiBtc2dpZCAiZ2V0Y3dkOiBjYW5ub3QgYWNjZXNzIHBhcmVudCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiZ2V0d2Q6IGltcG9zc+12ZWwgYWNlc3NhciBvcyBkaXJldPNyaW9zIHBhaXMgKGFudGVyaW9yZXMpIgogCi0jOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDU1OQorIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgogbXNnc3RyICJpbXBvc3PtdmVsIGR1cGxpY2FyIGZkIChkZXNjcml0b3IgZGUgYXJxdWl2bykgJWQgcGFyYSBmZCAwOiAlcyIKQEAgLTk5NCw3ICsxMDIwLDcgQEAKIG1zZ2lkICJEb25lIgogbXNnc3RyICJDb25jbHXtZG8iCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjIKKyM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKIG1zZ2lkICJTdG9wcGVkIgogbXNnc3RyICJQYXJhZG8iCiAKQEAgLTEwMzEsNzIgKzEwNTcsNzYgQEAKIG1zZ2lkICIgICh3ZDogJXMpIgogbXNnc3RyICIod2QgYWdvcmE6ICVzKVxuIgogCi0jOiBqb2JzLmM6MTc3MQorIzogam9icy5jOjE3NzYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICJgc2V0cGdpZCcgZmlsaG8gKCVkIHBhcmEgJWQpIGVycm8gJWQ6ICVzXG4iCiAKLSM6IGpvYnMuYzoyMDk5IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMDQgbm9qb2JzLmM6NTg1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0OiBwaWQgJWxkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgc2hlbGwiCiBtc2dzdHIgIndhaXQ6IG8gcGlkICVkIG7jbyDpIHVtIGZpbGhvIGRlc3RlIGBzaGVsbCciCiAKLSM6IGpvYnMuYzoyMzI2CisjOiBqb2JzLmM6MjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyNTk4CisjOiBqb2JzLmM6MjYwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyODIwCisjOiBqb2JzLmM6MjgyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogbyB0cmFiYWxobyB0ZXJtaW5vdSIKIAotIzogam9icy5jOjI4MjkKKyM6IGpvYnMuYzoyODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgJWQgYWxyZWFkeSBpbiBiYWNrZ3JvdW5kIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNDkyCisjOiBqb2JzLmM6MzA1OQorbXNnaWQgIndhaXRjaGxkOiB0dXJuaW5nIG9uIFdOT0hBTkcgdG8gYXZvaWQgaW5kZWZpbml0ZSBibG9jayIKK21zZ3N0ciAiIgorCisjOiBqb2JzLmM6MzUwOAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGxpbmUgJWQ6ICIKIG1zZ3N0ciAiZW5jYWl4ZSAoc2xvdCkgJTNkOiAiCiAKLSM6IGpvYnMuYzozNTA2IG5vam9icy5jOjgxNAorIzogam9icy5jOjM1MjIgbm9qb2JzLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAoY29yZSBkdW1wZWQpIgogbXNnc3RyICIgKGltYWdlbSBkbyBu+mNsZW8gZ3JhdmFkYSkiCiAKLSM6IGpvYnMuYzozNTE4IGpvYnMuYzozNTMxCisjOiBqb2JzLmM6MzUzNCBqb2JzLmM6MzU0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIod2Qgbm93OiAlcylcbiIKIG1zZ3N0ciAiKHdkIGFnb3JhOiAlcylcbiIKIAotIzogam9icy5jOjM1NjMKKyM6IGpvYnMuYzozNTc5CiAjLCBmdXp6eQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYnM6IGdldHBncnAgZmFsaG91OiAlcyIKIAotIzogam9icy5jOjM2MjMKKyM6IGpvYnMuYzozNjM5CiAjLCBmdXp6eQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JzOiBkaXNjaXBsaW5hIGRhIGxpbmhhOiAlcyIKIAotIzogam9icy5jOjM2MzMKKyM6IGpvYnMuYzozNjQ5CiAjLCBmdXp6eQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiBtc2dzdHIgImluaXRpYWxpemVfam9iczogZ2V0cGdycCBmYWxob3U6ICVzIgogCi0jOiBqb2JzLmM6MzY2MQorIzogam9icy5jOjM2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2NjYKKyM6IGpvYnMuYzozNjgyCiBtc2dpZCAibm8gam9iIGNvbnRyb2wgaW4gdGhpcyBzaGVsbCIKIG1zZ3N0ciAibmVuaHVtIGNvbnRyb2xlIGRlIHRyYWJhbGhvIG5lc3RhIGBzaGVsbCciCiAKQEAgLTExODcsNiArMTIxNywyNiBAQAogbXNnaWQgIm5ldHdvcmsgb3BlcmF0aW9ucyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICIiCiAKKyM6IGxvY2FsZS5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBsb2NhbGUuYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjI0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKK21zZ3N0ciAieHJlYWxsb2M6IGltcG9zc+12ZWwgcmVhbG9jYXIgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxvY2Fkb3MpIgorCisjOiBsb2NhbGUuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICJ4cmVhbGxvYzogaW1wb3Nz7XZlbCByZWFsb2NhciAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbG9jYWRvcykiCisKICM6IG1haWxjaGVjay5jOjQzMwogbXNnaWQgIllvdSBoYXZlIG1haWwgaW4gJF8iCiBtc2dzdHIgIlZvY+ogdGVtIG1lbnNhZ2VtIGRlIGNvcnJlaW8gZW0gJF8iCkBAIC0xMjAwLDEzOCArMTI1MCwxMzggQEAKIG1zZ2lkICJUaGUgbWFpbCBpbiAlcyBoYXMgYmVlbiByZWFkXG4iCiBtc2dzdHIgIkFzIG1lbnNhZ2VucyBkZSBjb3JyZWlvIGVtICVzIGZvcmFtIGxpZGFzXG4iCiAKLSM6IG1ha2VfY21kLmM6MzIyCisjOiBtYWtlX2NtZC5jOjMyMwogIywgZnV6enkKIG1zZ2lkICJzeW50YXggZXJyb3I6IGFyaXRobWV0aWMgZXhwcmVzc2lvbiByZXF1aXJlZCIKIG1zZ3N0ciAiZXJybyBkZSBzaW50YXhlIG5hIGV4cHJlc3PjbyIKIAotIzogbWFrZV9jbWQuYzozMjQKKyM6IG1ha2VfY21kLmM6MzI1CiAjLCBmdXp6eQogbXNnaWQgInN5bnRheCBlcnJvcjogYDsnIHVuZXhwZWN0ZWQiCiBtc2dzdHIgImVycm8gZGUgc2ludGF4ZTogZmltIHByZW1hdHVybyBkbyBhcnF1aXZvIgogCi0jOiBtYWtlX2NtZC5jOjMyNQorIzogbWFrZV9jbWQuYzozMjYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvcjogYCgoJXMpKSciCiBtc2dzdHIgImVycm8gZGUgc2ludGF4ZSIKIAotIzogbWFrZV9jbWQuYzo1NjcKKyM6IG1ha2VfY21kLmM6NTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfaGVyZV9kb2N1bWVudDogYmFkIGluc3RydWN0aW9uIHR5cGUgJWQiCiBtc2dzdHIgIm1ha2VfaGVyZV9kb2N1bWVudDogbyB0aXBvIGRhIGluc3RydefjbyBlc3ThIGluY29ycmV0byAlZCIKIAotIzogbWFrZV9jbWQuYzo2NTEKKyM6IG1ha2VfY21kLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlcmUtZG9jdW1lbnQgYXQgbGluZSAlZCBkZWxpbWl0ZWQgYnkgZW5kLW9mLWZpbGUgKHdhbnRlZCBgJXMnKSIKIG1zZ3N0ciAiIgogCi0jOiBtYWtlX2NtZC5jOjc0NgorIzogbWFrZV9jbWQuYzo3NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueToyOTg2IHBhcnNlLnk6MzIxOAorIzogcGFyc2UueTozMTMzIHBhcnNlLnk6MzM2OQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCVjJyIKIG1zZ3N0ciAiZW5jb250cmFkbyBFT0YgbuNvIGVzcGVyYWRvIGVucXVhbnRvIHByb2N1cmF2YSBwb3IgYCVjJyIKIAotIzogcGFyc2UueTozNzIyCisjOiBwYXJzZS55OjM5NTEKICMsIGZ1enp5CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAiZW5jb250cmFkbyBFT0YgbuNvIGVzcGVyYWRvIGVucXVhbnRvIHByb2N1cmF2YSBwb3IgYCVjJyIKIAotIzogcGFyc2UueTozNzI3CisjOiBwYXJzZS55OjM5NTYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uOiB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgImVycm8gZGUgc2ludGF4ZSBwcvN4aW1vIGRvIGB0b2tlbicgbuNvIGVzcGVyYWRvIGAlcyciCiAKLSM6IHBhcnNlLnk6MzczMQorIzogcGFyc2UueTozOTYwCiAjLCBmdXp6eQogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICJlcnJvIGRlIHNpbnRheGUgbmEgZXhwcmVzc+NvIgogCi0jOiBwYXJzZS55OjM4MDkKKyM6IHBhcnNlLnk6NDAzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGV4cGVjdGVkIGApJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM4MTMKKyM6IHBhcnNlLnk6NDA0MgogIywgZnV6enkKIG1zZ2lkICJleHBlY3RlZCBgKSciCiBtc2dzdHIgImVzcGVyYWRvIGApJyIKIAotIzogcGFyc2UueTozODQxCisjOiBwYXJzZS55OjQwNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6Mzg0NQorIzogcGFyc2UueTo0MDc0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM4ODUKKyM6IHBhcnNlLnk6NDEyMAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBlc3BlcmFkbyBvcGVyYWRvciBiaW7hcmlvIgogCi0jOiBwYXJzZS55OjM4ODkKKyM6IHBhcnNlLnk6NDEyNAogIywgZnV6enkKIG1zZ2lkICJjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBlc3BlcmFkbyBvcGVyYWRvciBiaW7hcmlvIgogCi0jOiBwYXJzZS55OjM5MDYKKyM6IHBhcnNlLnk6NDE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzkxMAorIzogcGFyc2UueTo0MTUwCiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozOTIxCisjOiBwYXJzZS55OjQxNjEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJgOicgZXNwZXJhZG8gcGFyYSBleHByZXNz428gY29uZGljaW9uYWwiCiAKLSM6IHBhcnNlLnk6MzkyNAorIzogcGFyc2UueTo0MTY0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAiYDonIGVzcGVyYWRvIHBhcmEgZXhwcmVzc+NvIGNvbmRpY2lvbmFsIgogCi0jOiBwYXJzZS55OjM5MjgKKyM6IHBhcnNlLnk6NDE2OAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJgOicgZXNwZXJhZG8gcGFyYSBleHByZXNz428gY29uZGljaW9uYWwiCiAKLSM6IHBhcnNlLnk6NTE5NQorIzogcGFyc2UueTo1NDU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiZXJybyBkZSBzaW50YXhlIHBy83hpbW8gZG8gYHRva2VuJyBu428gZXNwZXJhZG8gYCVzJyIKIAotIzogcGFyc2UueTo1MjEzCisjOiBwYXJzZS55OjU0NzcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCiBtc2dzdHIgImVycm8gZGUgc2ludGF4ZSBwcvN4aW1vIGRvIGB0b2tlbicgbuNvIGVzcGVyYWRvIGAlcyciCiAKLSM6IHBhcnNlLnk6NTIyMworIzogcGFyc2UueTo1NDg3CiBtc2dpZCAic3ludGF4IGVycm9yOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICJlcnJvIGRlIHNpbnRheGU6IGZpbSBwcmVtYXR1cm8gZG8gYXJxdWl2byIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgImVycm8gZGUgc2ludGF4ZSIKIAotIzogcGFyc2UueTo1Mjg1CisjOiBwYXJzZS55OjU1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIFwiJXNcIiB0byBsZWF2ZSB0aGUgc2hlbGwuXG4iCiBtc2dzdHIgIlVzZSBcIiVzXCIgcGFyYSBzYWlyIGRhIGBzaGVsbCcuXG4iCiAKLSM6IHBhcnNlLnk6NTQ0NworIzogcGFyc2UueTo1NzExCiAjLCBmdXp6eQogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGApJyIKIG1zZ3N0ciAiZW5jb250cmFkbyBFT0YgbuNvIGVzcGVyYWRvIGVucXVhbnRvIHByb2N1cmF2YSBwb3IgYCVjJyIKIAotIzogcGNvbXBsZXRlLmM6MTAxOAorIzogcGNvbXBsZXRlLmM6MTAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0aW9uOiBmdW5jdGlvbiBgJXMnIG5vdCBmb3VuZCIKIG1zZ3N0ciAiIgpAQCAtMTM0MSw3MiArMTM5MSw5MSBAQAogbXNnaWQgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiBtc2dzdHIgIiIKIAotIzogcHJpbnRfY21kLmM6Mjg1CisjOiBwcmludF9jbWQuYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJpbnRfY29tbWFuZDogYmFkIGNvbm5lY3RvciBgJWQnIgogbXNnc3RyICJwcmludF9jb21tYW5kOiBjb25lY3RvciBpbmNvcnJldG8gYCVkJyIKIAotIzogcHJpbnRfY21kLmM6MTM0OAorIzogcHJpbnRfY21kLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzozNjgKK21zZ2lkICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgorbXNnc3RyICIiCisKKyM6IHByaW50X2NtZC5jOjE0NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3ByaW50ZjogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6MTA1CisjOiByZWRpci5jOjExMAogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxNDgKKyM6IHJlZGlyLmM6MTY2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogYW1iaWd1b3VzIHJlZGlyZWN0IgogbXNnc3RyICIlczogUmVkaXJlY2lvbmFtZW50byBhbWLtZ3VvIgogCi0jOiByZWRpci5jOjE1MgorIzogcmVkaXIuYzoxNzAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCiBtc2dzdHIgIiVzOiBJbXBvc3PtdmVsIHNvYnJlc2NyZXZlciBhcnF1aXZvIGV4aXN0ZW50ZSIKIAotIzogcmVkaXIuYzoxNTcKKyM6IHJlZGlyLmM6MTc1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHJlZGlyZWN0IG91dHB1dCIKIG1zZ3N0ciAiJXM6IHJlc3RyaefjbzogbuNvIOkgcGVybWl0aWRvIGVzcGVjaWZpY2FyIGAvJyBlbSBub21lcyBkZSBjb21hbmRvcyIKIAotIzogcmVkaXIuYzoxNjIKKyM6IHJlZGlyLmM6MTgwCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIHRlbXAgZmlsZSBmb3IgaGVyZS1kb2N1bWVudDogJXMiCiBtc2dzdHIgImltcG9zc+12ZWwgY3JpYXIgYHBpcGUnIHBhcmEgYSBzdWJzdGl0dWnn428gZG8gcHJvY2Vzc286ICVzIgogCi0jOiByZWRpci5jOjUxNworIzogcmVkaXIuYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgorbXNnc3RyICIlczogaW1wb3Nz7XZlbCBhdHJpYnVpciB1bWEgbGlzdGEgYSB1bSBtZW1icm8gZGUgdW1hIG1hdHJpeiAoYXJyYXkpIgorCisjOiByZWRpci5jOjU0NAogbXNnaWQgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjEwMjMKKyM6IHJlZGlyLmM6MTEwMQogIywgZnV6enkKIG1zZ2lkICJyZWRpcmVjdGlvbiBlcnJvcjogY2Fubm90IGR1cGxpY2F0ZSBmZCIKIG1zZ3N0ciAiZXJybyBkZSByZWRpcmVjaW9uYW1lbnRvIgogCi0jOiBzaGVsbC5jOjMyOAorIzogc2hlbGwuYzozMzIKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjMzMgorIzogc2hlbGwuYzozMzYKIG1zZ2lkICIvdG1wIG11c3QgYmUgYSB2YWxpZCBkaXJlY3RvcnkgbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjg3NgorIzogc2hlbGwuYzo4ODQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVjJWM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlYyVjOiBvcOfjbyBpbmNvcnJldGEiCiAKLSM6IHNoZWxsLmM6MTYzOAorIzogc2hlbGwuYzoxNjUxCiBtc2dpZCAiSSBoYXZlIG5vIG5hbWUhIgogbXNnc3RyICJFdSBu428gdGVuaG8gbm9tZSEiCiAKLSM6IHNoZWxsLmM6MTc3OAorIzogc2hlbGwuYzoxNzkzCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgIkdOVSAlcywgdmVyc+NvICVzXG4iCiAKLSM6IHNoZWxsLmM6MTc3OQorIzogc2hlbGwuYzoxNzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJVc2FnZTpcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIC4uLlxuIgpAQCAtMTQxNSwzOTUgKzE0ODQsNDE2IEBACiAiVXRpbGl6YefjbzpcdCVzIFtvcOfjby1sb25nYS1HTlVdIFtvcOfjb10gLi4uXG4iCiAiXHQlcyBbb3Dn428tbG9uZ2EtR05VXSBbb3Dn429dIGFycXVpdm8tZGUtc2NyaXB0IC4uLlxuIgogCi0jOiBzaGVsbC5jOjE3ODEKKyM6IHNoZWxsLmM6MTc5NgogbXNnaWQgIkdOVSBsb25nIG9wdGlvbnM6XG4iCiBtc2dzdHIgIm9w5/Vlcy1sb25nYXMtR05VOlxuIgogCi0jOiBzaGVsbC5jOjE3ODUKKyM6IHNoZWxsLmM6MTgwMAogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgIk9w5/VlcyBkYSBgc2hlbGwnOlxuIgogCi0jOiBzaGVsbC5jOjE3ODYKKyM6IHNoZWxsLmM6MTgwMQogIywgZnV6enkKIG1zZ2lkICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCiBtc2dzdHIgIlx0LWlyc0Qgb3UgLWMgY29tYW5kb1x0XHQoc29tZW50ZSBwYXJhIGNoYW1hZGEpXG4iCiAKLSM6IHNoZWxsLmM6MTgwMQorIzogc2hlbGwuYzoxODE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgogbXNnc3RyICJcdC0lcyBvdSAtbyBvcOfjb1xuIgogCi0jOiBzaGVsbC5jOjE4MDcKKyM6IHNoZWxsLmM6MTgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIiIKICJEaWdpdGUgYCVzIC1jIFwiaGVscCBzZXRcIicgcGFyYSBtYWlzIGluZm9ybWHn9WVzIHNvYnJlIGFzIG9w5/VlcyBkYSAiCiAiYHNoZWxsJy5cbiIKIAotIzogc2hlbGwuYzoxODA4CisjOiBzaGVsbC5jOjE4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKIG1zZ3N0ciAiIgogIkRpZ2l0ZSBgJXMgLWMgaGVscCcgcGFyYSBtYWlzIGluZm9ybWHn9WVzIHNvYnJlIG9zIGNvbWFuZG9zIGludGVybm9zIGRvICIKICJgc2hlbGwnLlxuIgogCi0jOiBzaGVsbC5jOjE4MDkKKyM6IHNoZWxsLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgdGhlIGBiYXNoYnVnJyBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgogbXNnc3RyICIiCiAKLSM6IHNpZy5jOjU4MworIzogc2lnLmM6NjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInNpZ3Byb2NtYXNrOiAlZDogaW52YWxpZCBvcGVyYXRpb24iCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjQ3CisjOiBzaWdsaXN0LmM6NDgKIG1zZ2lkICJCb2d1cyBzaWduYWwiCiBtc2dzdHIgIlNpbmFsIGZhbHNvIgogCi0jOiBzaWdsaXN0LmM6NTAKKyM6IHNpZ2xpc3QuYzo1MQogbXNnaWQgIkhhbmd1cCIKIG1zZ3N0ciAiSGFuZ3VwIgogCi0jOiBzaWdsaXN0LmM6NTQKKyM6IHNpZ2xpc3QuYzo1NQogbXNnaWQgIkludGVycnVwdCIKIG1zZ3N0ciAiSW50ZXJyb21wZXIiCiAKLSM6IHNpZ2xpc3QuYzo1OAorIzogc2lnbGlzdC5jOjU5CiBtc2dpZCAiUXVpdCIKIG1zZ3N0ciAiU2FpciIKIAotIzogc2lnbGlzdC5jOjYyCisjOiBzaWdsaXN0LmM6NjMKIG1zZ2lkICJJbGxlZ2FsIGluc3RydWN0aW9uIgogbXNnc3RyICJJbnN0cnXn428gaWxlZ2FsIgogCi0jOiBzaWdsaXN0LmM6NjYKKyM6IHNpZ2xpc3QuYzo2NwogbXNnaWQgIkJQVCB0cmFjZS90cmFwIgogbXNnc3RyICJCUFQgUmFzdHJlYW1lbnRvL0NhcHR1cmEgKEJQVCB0cmFjZS90cmFwKSIKIAotIzogc2lnbGlzdC5jOjc0CisjOiBzaWdsaXN0LmM6NzUKIG1zZ2lkICJBQk9SVCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiSW5zdHJ15+NvIEFCT1JUIgogCi0jOiBzaWdsaXN0LmM6NzgKKyM6IHNpZ2xpc3QuYzo3OQogbXNnaWQgIkVNVCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiSW5zdHJ15+NvIEVNVCIKIAotIzogc2lnbGlzdC5jOjgyCisjOiBzaWdsaXN0LmM6ODMKIG1zZ2lkICJGbG9hdGluZyBwb2ludCBleGNlcHRpb24iCiBtc2dzdHIgIkV4Y2Xn428gZGUgcG9udG8gZmx1dHVhbnRlIgogCi0jOiBzaWdsaXN0LmM6ODYKKyM6IHNpZ2xpc3QuYzo4NwogbXNnaWQgIktpbGxlZCIKIG1zZ3N0ciAiTW9ydG8gKEtpbGxlZCkiCiAKLSM6IHNpZ2xpc3QuYzo5MAorIzogc2lnbGlzdC5jOjkxCiBtc2dpZCAiQnVzIGVycm9yIgogbXNnc3RyICJFcnJvIGRvIGJhcnJhbWVudG8iCiAKLSM6IHNpZ2xpc3QuYzo5NAorIzogc2lnbGlzdC5jOjk1CiBtc2dpZCAiU2VnbWVudGF0aW9uIGZhdWx0IgogbXNnc3RyICJGYWxoYSBkZSBzZWdtZW50YefjbyIKIAotIzogc2lnbGlzdC5jOjk4CisjOiBzaWdsaXN0LmM6OTkKIG1zZ2lkICJCYWQgc3lzdGVtIGNhbGwiCiBtc2dzdHIgIkNoYW1hZGEgaW5jb3JyZXRhIGRvIHNpc3RlbWEiCiAKLSM6IHNpZ2xpc3QuYzoxMDIKKyM6IHNpZ2xpc3QuYzoxMDMKIG1zZ2lkICJCcm9rZW4gcGlwZSIKIG1zZ3N0ciAiYFBpcGUnIHBhcnRpZG8gKEVzY3JpdGEgc2VtIGxlaXR1cmEpIgogCi0jOiBzaWdsaXN0LmM6MTA2CisjOiBzaWdsaXN0LmM6MTA3CiBtc2dpZCAiQWxhcm0gY2xvY2siCiBtc2dzdHIgIlJlbPNnaW8gZGUgYWxhcm1lIgogCi0jOiBzaWdsaXN0LmM6MTEwCisjOiBzaWdsaXN0LmM6MTExCiAjLCBmdXp6eQogbXNnaWQgIlRlcm1pbmF0ZWQiCiBtc2dzdHIgImV4aWJpZGEuIgogCi0jOiBzaWdsaXN0LmM6MTE0CisjOiBzaWdsaXN0LmM6MTE1CiBtc2dpZCAiVXJnZW50IElPIGNvbmRpdGlvbiIKIG1zZ3N0ciAiQ29uZGnn428gdXJnZW50ZSBkZSBFbnRyYWRhL1Nh7WRhIgogCi0jOiBzaWdsaXN0LmM6MTE4CisjOiBzaWdsaXN0LmM6MTE5CiBtc2dpZCAiU3RvcHBlZCAoc2lnbmFsKSIKIG1zZ3N0ciAiUGFyYWRvIChzaW5hbCkiCiAKLSM6IHNpZ2xpc3QuYzoxMjYKKyM6IHNpZ2xpc3QuYzoxMjcKIG1zZ2lkICJDb250aW51ZSIKIG1zZ3N0ciAiQ29udGludWFyIgogCi0jOiBzaWdsaXN0LmM6MTM0CisjOiBzaWdsaXN0LmM6MTM1CiBtc2dpZCAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKIG1zZ3N0ciAiUHJvY2Vzc28gZmlsaG8gcGFyYWRvIG91IHRlcm1pbmFkbyIKIAotIzogc2lnbGlzdC5jOjEzOAorIzogc2lnbGlzdC5jOjEzOQogbXNnaWQgIlN0b3BwZWQgKHR0eSBpbnB1dCkiCiBtc2dzdHIgIlBhcmFkbyAoZW50cmFkYSB0dHkpIgogCi0jOiBzaWdsaXN0LmM6MTQyCisjOiBzaWdsaXN0LmM6MTQzCiBtc2dpZCAiU3RvcHBlZCAodHR5IG91dHB1dCkiCiBtc2dzdHIgIlBhcmFkbyAoc2HtZGEgdHR5KSIKIAotIzogc2lnbGlzdC5jOjE0NgorIzogc2lnbGlzdC5jOjE0NwogbXNnaWQgIkkvTyByZWFkeSIKIG1zZ3N0ciAiRW50cmFkYS9TYe1kYSBwcm9udGEiCiAKLSM6IHNpZ2xpc3QuYzoxNTAKKyM6IHNpZ2xpc3QuYzoxNTEKIG1zZ2lkICJDUFUgbGltaXQiCiBtc2dzdHIgIlRlbXBvIGxpbWl0ZSBkZSBDUFUgZXhjZWRpZG8iCiAKLSM6IHNpZ2xpc3QuYzoxNTQKKyM6IHNpZ2xpc3QuYzoxNTUKIG1zZ2lkICJGaWxlIGxpbWl0IgogbXNnc3RyICJUYW1hbmhvIGxpbWl0ZSBkbyBhcnF1aXZvIGV4Y2VkaWRvIgogCi0jOiBzaWdsaXN0LmM6MTU4CisjOiBzaWdsaXN0LmM6MTU5CiBtc2dpZCAiQWxhcm0gKHZpcnR1YWwpIgogbXNnc3RyICJBbGFybWUgdmlydHVhbCBkZSB0ZW1wbyIKIAotIzogc2lnbGlzdC5jOjE2MgorIzogc2lnbGlzdC5jOjE2MwogbXNnaWQgIkFsYXJtIChwcm9maWxlKSIKIG1zZ3N0ciAiQWxhcm1lIChwcm9maWxlKSIKIAotIzogc2lnbGlzdC5jOjE2NgorIzogc2lnbGlzdC5jOjE2NwogbXNnaWQgIldpbmRvdyBjaGFuZ2VkIgogbXNnc3RyICJKYW5lbGEgbXVkYWRhIgogCi0jOiBzaWdsaXN0LmM6MTcwCisjOiBzaWdsaXN0LmM6MTcxCiBtc2dpZCAiUmVjb3JkIGxvY2siCiBtc2dzdHIgIlJlZ2lzdHJvIGJsb3F1ZWFkbyAobG9jaykiCiAKLSM6IHNpZ2xpc3QuYzoxNzQKKyM6IHNpZ2xpc3QuYzoxNzUKIG1zZ2lkICJVc2VyIHNpZ25hbCAxIgogbXNnc3RyICJTaW5hbCAxIGRlZmluaWRvIHBlbG8gdXN14XJpbyIKIAotIzogc2lnbGlzdC5jOjE3OAorIzogc2lnbGlzdC5jOjE3OQogbXNnaWQgIlVzZXIgc2lnbmFsIDIiCiBtc2dzdHIgIlNpbmFsIDIgZGVmaW5pZG8gcGVsbyB1c3XhcmlvIgogCi0jOiBzaWdsaXN0LmM6MTgyCisjOiBzaWdsaXN0LmM6MTgzCiBtc2dpZCAiSEZUIGlucHV0IGRhdGEgcGVuZGluZyIKIG1zZ3N0ciAiZW50cmFkYSBkZSBkYWRvcyBIRlQgcGVuZGVudGUiCiAKLSM6IHNpZ2xpc3QuYzoxODYKKyM6IHNpZ2xpc3QuYzoxODcKIG1zZ2lkICJwb3dlciBmYWlsdXJlIGltbWluZW50IgogbXNnc3RyICJmYWxoYSBpbWluZW50ZSBkZSBlbmVyZ2lhIgogCi0jOiBzaWdsaXN0LmM6MTkwCisjOiBzaWdsaXN0LmM6MTkxCiBtc2dpZCAic3lzdGVtIGNyYXNoIGltbWluZW50IgogbXNnc3RyICJmYWxoYSBpbWluZW50ZSBkbyBzaXN0ZW1hIgogCi0jOiBzaWdsaXN0LmM6MTk0CisjOiBzaWdsaXN0LmM6MTk1CiBtc2dpZCAibWlncmF0ZSBwcm9jZXNzIHRvIGFub3RoZXIgQ1BVIgogbXNnc3RyICJtaWdyYXIgbyBwcm9jZXNzbyBwYXJhIG91dHJhIENQVSIKIAotIzogc2lnbGlzdC5jOjE5OAorIzogc2lnbGlzdC5jOjE5OQogbXNnaWQgInByb2dyYW1taW5nIGVycm9yIgogbXNnc3RyICJlcnJvIGRlIHByb2dyYW1h5+NvIgogCi0jOiBzaWdsaXN0LmM6MjAyCisjOiBzaWdsaXN0LmM6MjAzCiBtc2dpZCAiSEZUIG1vbml0b3IgbW9kZSBncmFudGVkIgogbXNnc3RyICJtb2RvIG1vbml0b3IgSEZUIGF1dG9yaXphZG8iCiAKLSM6IHNpZ2xpc3QuYzoyMDYKKyM6IHNpZ2xpc3QuYzoyMDcKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIHJldHJhY3RlZCIKIG1zZ3N0ciAibW9kbyBtb25pdG9yIEhGVCByZXNjaW5kaWRvIgogCi0jOiBzaWdsaXN0LmM6MjEwCisjOiBzaWdsaXN0LmM6MjExCiBtc2dpZCAiSEZUIHNvdW5kIHNlcXVlbmNlIGhhcyBjb21wbGV0ZWQiCiBtc2dzdHIgImEgc2Vx/OpuY2lhIGRlIHNvbSBIRlQgZm9pIGNvbXBsZXRhZGEiCiAKLSM6IHNpZ2xpc3QuYzoyMTQKKyM6IHNpZ2xpc3QuYzoyMTUKIG1zZ2lkICJJbmZvcm1hdGlvbiByZXF1ZXN0IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMjIKKyM6IHNpZ2xpc3QuYzoyMjMKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjIgogbXNnc3RyICJTaW5hbCBkZXNjb25oZWNpZG8gIyIKIAotIzogc2lnbGlzdC5jOjIyNAorIzogc2lnbGlzdC5jOjIyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjJWQiCiBtc2dzdHIgIlNpbmFsIGRlc2NvbmhlY2lkbyAjJWQiCiAKLSM6IHN1YnN0LmM6MTE4MSBzdWJzdC5jOjEzMDIKKyM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE0NTQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKIG1zZ3N0ciAic3Vic3RpdHVp5+NvIGluY29ycmV0YTogbmVuaHVtIGAlcycgZW0gJXMiCiAKLSM6IHN1YnN0LmM6MjQ1OAorIzogc3Vic3QuYzoyNzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogbXNnc3RyICIlczogaW1wb3Nz7XZlbCBhdHJpYnVpciB1bWEgbGlzdGEgYSB1bSBtZW1icm8gZGUgdW1hIG1hdHJpeiAoYXJyYXkpIgogCi0jOiBzdWJzdC5jOjQ0NTYgc3Vic3QuYzo0NDcyCisjOiBzdWJzdC5jOjQ3NTQgc3Vic3QuYzo0NzcwCiAjLCBmdXp6eQogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJpbXBvc3PtdmVsIGNyaWFyIGBwaXBlJyBwYXJhIGEgc3Vic3RpdHVp5+NvIGRvIHByb2Nlc3NvOiAlcyIKIAotIzogc3Vic3QuYzo0NTA0CisjOiBzdWJzdC5jOjQ4MDIKICMsIGZ1enp5CiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJpbXBvc3PtdmVsIGNyaWFyIHVtIHByb2Nlc3NvIGZpbGhvIHBhcmEgYSBzdWJzdGl0dWnn428gZG8gcHJvY2Vzc286ICVzIgogCi0jOiBzdWJzdC5jOjQ1NDkKKyM6IHN1YnN0LmM6NDg0NwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAiaW1wb3Nz7XZlbCBhYnJpciBvIGBuYW1lZCBwaXBlJyAlcyBwYXJhICVzOiAlcyIKIAotIzogc3Vic3QuYzo0NTUxCisjOiBzdWJzdC5jOjQ4NDkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgImltcG9zc+12ZWwgYWJyaXIgbyBgbmFtZWQgcGlwZScgJXMgcGFyYSAlczogJXMiCiAKLSM6IHN1YnN0LmM6NDU2OQorIzogc3Vic3QuYzo0ODY3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgIiIKICJpbXBvc3PtdmVsIGR1cGxpY2FyIG8gYG5hbWVkIHBpcGUnICVzXG4iCiAiY29tbyBkZXNjcml0b3IgZGUgYXJxdWl2byAoZmQpICVkOiAlcyIKIAotIzogc3Vic3QuYzo0NzY1CisjOiBzdWJzdC5jOjUwNjMKICMsIGZ1enp5CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImltcG9zc+12ZWwgY29uc3RydWlyIGBwaXBlcycgcGFyYSBzdWJzdGl0dWnn428gZG8gY29tYW5kbzogJXMiCiAKLSM6IHN1YnN0LmM6NDc5OQorIzogc3Vic3QuYzo1MDk3CiAjLCBmdXp6eQogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiaW1wb3Nz7XZlbCBjcmlhciB1bSBwcm9jZXNzbyBmaWxobyBwYXJhIHN1YnN0aXR1aefjbyBkbyBjb21hbmRvOiAlcyIKIAotIzogc3Vic3QuYzo0ODE2CisjOiBzdWJzdC5jOjUxMTQKICMsIGZ1enp5CiBtc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIG1zZ3N0ciAiIgogImNvbW1hbmRfc3Vic3RpdHV0ZTogaW1wb3Nz7XZlbCBkdXBsaWNhciBvIGBwaXBlJyBjb21vXG4iCiAiZGVzY3JpdG9yIGRlIGFycXVpdm8gKGZkKSAxOiAlcyIKIAotIzogc3Vic3QuYzo1MzE4CisjOiBzdWJzdC5jOjU2MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCiBtc2dzdHIgIiVzOiBwYXLibWV0cm8gbnVsbyBvdSBu428gaW5pY2lhbGl6YWRvIgogCi0jOiBzdWJzdC5jOjU2MDgKKyM6IHN1YnN0LmM6NTkwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogc3Vic3RyaW5nIGV4cHJlc3Npb24gPCAwIgogbXNnc3RyICIlczogZXhwcmVzc+NvIGRlIHN1YnN0cmluZyA8IDAiCiAKLSM6IHN1YnN0LmM6NjY2MAorIzogc3Vic3QuYzo2OTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIlczogc3Vic3RpdHVp5+NvIGluY29ycmV0YSIKIAotIzogc3Vic3QuYzo2NzQwCisjOiBzdWJzdC5jOjcwNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IGltcG9zc+12ZWwgYXRyaWJ1aXIgZGVzdGEgbWFuZWlyYSIKIAotIzogc3Vic3QuYzo3NDk5CisjOiBzdWJzdC5jOjczNzQKK21zZ2lkICIiCisiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyAiCisic3Vic3RpdHV0aW9uIgorbXNnc3RyICIiCisKKyM6IHN1YnN0LmM6NzgzOQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBcImBcIiBpbiAlcyIKIG1zZ3N0ciAic3Vic3RpdHVp5+NvIGluY29ycmV0YTogbmVuaHVtIGAlcycgZW0gJXMiCiAKLSM6IHN1YnN0LmM6ODM3NQorIzogc3Vic3QuYzo4NzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiB0ZXN0LmM6MTQ1CisjOiB0ZXN0LmM6MTQ2CiBtc2dpZCAiYXJndW1lbnQgZXhwZWN0ZWQiCiBtc2dzdHIgImVzcGVyYWRvIGFyZ3VtZW50byIKIAotIzogdGVzdC5jOjE1NAorIzogdGVzdC5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW50ZWdlciBleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICIlczogZXNwZXJhZG8gZXhwcmVzc+NvIGRlIG76bWVybyBpbnRlaXJvIgogCi0jOiB0ZXN0LmM6MjYyCisjOiB0ZXN0LmM6MjYzCiBtc2dpZCAiYCknIGV4cGVjdGVkIgogbXNnc3RyICJlc3BlcmFkbyBgKSciCiAKLSM6IHRlc3QuYzoyNjQKKyM6IHRlc3QuYzoyNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCknIGV4cGVjdGVkLCBmb3VuZCAlcyIKIG1zZ3N0ciAiZXNwZXJhZG8gYCknLCBlbmNvbnRyYWRvICVzIgogCi0jOiB0ZXN0LmM6Mjc5IHRlc3QuYzo2ODggdGVzdC5jOjY5MQorIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogZXNwZXJhZG8gb3BlcmFkb3IgdW7hcmlvIgogCi0jOiB0ZXN0LmM6NDQ0IHRlc3QuYzo3MzEKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjczNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogZXNwZXJhZG8gb3BlcmFkb3IgYmlu4XJpbyIKIAotIzogdGVzdC5jOjgwNgorIzogdGVzdC5jOjgxMQogbXNnaWQgIm1pc3NpbmcgYF0nIgogbXNnc3RyICJmYWx0YW5kbyBgXSciCiAKLSM6IHRyYXAuYzoyMDEKKyM6IHRyYXAuYzoyMDMKICMsIGZ1enp5CiBtc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgogbXNnc3RyICJu+m1lcm8gZG8gc2luYWwgaW5jb3JyZXRvIgogCi0jOiB0cmFwLmM6MzI0CisjOiB0cmFwLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bl9wZW5kaW5nX3RyYXBzOiBiYWQgdmFsdWUgaW4gdHJhcF9saXN0WyVkXTogJXAiCiBtc2dzdHIgIiIKIAotIzogdHJhcC5jOjMyOAorIzogdHJhcC5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicnVuX3BlbmRpbmdfdHJhcHM6IHNpZ25hbCBoYW5kbGVyIGlzIFNJR19ERkwsIHJlc2VuZGluZyAlZCAoJXMpIHRvIG15c2VsZiIKIG1zZ3N0ciAiIgogCi0jOiB0cmFwLmM6MzcyCisjOiB0cmFwLmM6MzgwCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ0cmFwX2hhbmRsZXI6IGJhZCBzaWduYWwgJWQiCiBtc2dzdHIgInRyYXBfaGFuZGxlcjogU2luYWwgaW5jb3JyZXRvICVkIgogCi0jOiB2YXJpYWJsZXMuYzozNTgKKyM6IHZhcmlhYmxlcy5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBpbXBvcnRpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbiBmb3IgYCVzJyIKIG1zZ3N0ciAiZXJybyBhbyBpbXBvcnRhciBhIGRlZmluaefjbyBkYSBmdW7n428gcGFyYSBgJXMnIgogCi0jOiB2YXJpYWJsZXMuYzo3MzYKKyM6IHZhcmlhYmxlcy5jOjc0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGVsbCBsZXZlbCAoJWQpIHRvbyBoaWdoLCByZXNldHRpbmcgdG8gMSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzoxODk4CisjOiB2YXJpYWJsZXMuYzoxOTE1CiBtc2dpZCAibWFrZV9sb2NhbF92YXJpYWJsZTogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjMxMjcKKyM6IHZhcmlhYmxlcy5jOjMxNTkKIG1zZ2lkICJhbGxfbG9jYWxfdmFyaWFibGVzOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzM0NCB2YXJpYWJsZXMuYzozMzUzCisjOiB2YXJpYWJsZXMuYzozMzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCittc2dzdHIgIiVzOiBwYXLibWV0cm8gbnVsbyBvdSBu428gaW5pY2lhbGl6YWRvIgorCisjOiB2YXJpYWJsZXMuYzozMzgxIHZhcmlhYmxlcy5jOjMzOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMzU5CisjOiB2YXJpYWJsZXMuYzozMzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM3OTQKKyM6IHZhcmlhYmxlcy5jOjM4MzUKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzgwNworIzogdmFyaWFibGVzLmM6Mzg0OAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM4ODEKKyM6IHZhcmlhYmxlcy5jOjM5MjIKIG1zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKIG1zZ3N0ciAiIgogCisjOiB2YXJpYWJsZXMuYzo0Njc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCittc2dzdHIgIiVzOiBpbXBvc3PtdmVsIGNyaWFyOiAlcyIKKworIzogdmFyaWFibGVzLmM6NDY4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGludmFsaWQgdmFsdWUgZm9yIHRyYWNlIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiIgorCiAjOiB2ZXJzaW9uLmM6NDYKIG1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgogbXNnc3RyICIiCkBAIC0xODE0LDYwICsxOTA0LDUyIEBACiAiaHRtbD5cbiIKIG1zZ3N0ciAiIgogCi0jOiB2ZXJzaW9uLmM6ODYKKyM6IHZlcnNpb24uYzo4NiB2ZXJzaW9uMi5jOjgzCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcyAoJXMpXG4iCiBtc2dzdHIgIkdOVSAlcywgdmVyc+NvICVzXG4iCiAKLSM6IHZlcnNpb24uYzo5MQorIzogdmVyc2lvbi5jOjkxIHZlcnNpb24yLmM6ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgYXJlIGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuXG4iCiBtc2dzdHIgIiIKIAotIzogdmVyc2lvbi5jOjkyCisjOiB2ZXJzaW9uLmM6OTIgdmVyc2lvbjIuYzo4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGVyZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3LlxuIgogbXNnc3RyICIiCiAKLSM6IHhtYWxsb2MuYzo5MgorIzogdmVyc2lvbjIuYzo4NgogIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAieG1hbGxvYzogaW1wb3Nz7XZlbCBhbG9jYXIgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxvY2Fkb3MpIgorbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKK21zZ3N0ciAiIgogCi0jOiB4bWFsbG9jLmM6OTQKLSMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhtYWxsb2M6IGltcG9zc+12ZWwgYWxvY2FyICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsb2NhZG9zKSIKLQotIzogeG1hbGxvYy5jOjExNAorIzogdmVyc2lvbjIuYzo4NwogIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAieHJlYWxsb2M6IGltcG9zc+12ZWwgcmVhbG9jYXIgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxvY2Fkb3MpIgorbXNnaWQgIiIKKyJMaWNlbnNlIEdQTHYyKzogR05VIEdQTCB2ZXJzaW9uIDIgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiaHRtbD5cbiIKK21zZ3N0ciAiIgogCi0jOiB4bWFsbG9jLmM6MTE2CisjOiB4bWFsbG9jLmM6OTEKICMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICJ4cmVhbGxvYzogaW1wb3Nz7XZlbCByZWFsb2NhciAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbG9jYWRvcykiCi0KLSM6IHhtYWxsb2MuYzoxNTAKLSMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKK21zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiBtc2dzdHIgInhtYWxsb2M6IGltcG9zc+12ZWwgYWxvY2FyICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsb2NhZG9zKSIKIAotIzogeG1hbGxvYy5jOjE1MgorIzogeG1hbGxvYy5jOjkzCiAjLCBmdXp6eSwgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKK21zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKIG1zZ3N0ciAieG1hbGxvYzogaW1wb3Nz7XZlbCBhbG9jYXIgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxvY2Fkb3MpIgogCi0jOiB4bWFsbG9jLmM6MTc0CisjOiB4bWFsbG9jLmM6MTYzCiAjLCBmdXp6eSwgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgInhyZWFsbG9jOiBpbXBvc3PtdmVsIHJlYWxvY2FyICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsb2NhZG9zKSIKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorbXNnc3RyICJ4bWFsbG9jOiBpbXBvc3PtdmVsIGFsb2NhciAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbG9jYWRvcykiCiAKLSM6IHhtYWxsb2MuYzoxNzYKKyM6IHhtYWxsb2MuYzoxNjUKICMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKLW1zZ3N0ciAieHJlYWxsb2M6IGltcG9zc+12ZWwgcmVhbG9jYXIgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxvY2Fkb3MpIgorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKK21zZ3N0ciAieG1hbGxvYzogaW1wb3Nz7XZlbCBhbG9jYXIgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxvY2Fkb3MpIgogCiAjOiBidWlsdGlucy5jOjQzCiBtc2dpZCAiYWxpYXMgWy1wXSBbbmFtZVs9dmFsdWVdIC4uLiBdIgpAQCAtMjAwMiw3ICsyMDg0LDcgQEAKIAogIzogYnVpbHRpbnMuYzoxMTcKICMsIGZ1enp5Ci1tc2dpZCAiaGVscCBbLWRzXSBbcGF0dGVybiAuLi5dIgorbXNnaWQgImhlbHAgWy1kbXNdIFtwYXR0ZXJuIC4uLl0iCiBtc2dzdHIgImhlbHAgW1BBRFLDTyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjEyMQpAQCAtMjAzNiw4ICsyMTE4LDggQEAKIAogIzogYnVpbHRpbnMuYzoxMzYKIG1zZ2lkICIiCi0icmVhZCBbLWVyc10gWy1hIGFycmF5XSBbLWQgZGVsaW1dIFstaSB0ZXh0XSBbLW4gbmNoYXJzXSBbLXAgcHJvbXB0XSBbLXQgIgotInRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXSIKKyJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstTiBuY2hhcnNdIFstcCAiCisicHJvbXB0XSBbLXQgdGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MTM4CkBAIC0yMjIxLDkgKzIzMDMsOSBAQAogCiAjOiBidWlsdGlucy5jOjIyOQogbXNnaWQgIiIKLSJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1vIG9wdGlvbl0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstVyAiCi0id29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgc3VmZml4XSAiCi0iW25hbWUgLi4uXSIKKyJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1ERV0gWy1vIG9wdGlvbl0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstIgorIlcgd29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgIgorInN1ZmZpeF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjIzMwpAQCAtMjIzNCw3ICsyMzE2LDcgQEAKIAogIzogYnVpbHRpbnMuYzoyMzcKICMsIGZ1enp5Ci1tc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbbmFtZSAuLi5dIgorbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gWy1ERV0gW25hbWUgLi4uXSIKIG1zZ3N0ciAidHlwZSBbLWFwdF0gTk9NRSBbTk9NRSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjI0MApAQCAtMjk2Myw3ICszMDQ1LDExIEBACiAiICAgICAgLWVcdFx0dXNlIFJlYWRsaW5lIHRvIG9idGFpbiB0aGUgbGluZSBpbiBhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgogIiAgICAgIC1pIHRleHRcdFVzZSBURVhUIGFzIHRoZSBpbml0aWFsIHRleHQgZm9yIFJlYWRsaW5lXG4iCiAiICAgICAgLW4gbmNoYXJzXHRyZXR1cm4gYWZ0ZXIgcmVhZGluZyBOQ0hBUlMgY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3YWl0aW5nXG4iCi0iICAgIFx0XHRmb3IgYSBuZXdsaW5lXG4iCisiICAgIFx0XHRmb3IgYSBuZXdsaW5lLCBidXQgaG9ub3IgYSBkZWxpbWl0ZXIgaWYgZmV3ZXIgdGhhbiBOQ0hBUlNcbiIKKyIgICAgXHRcdGNoYXJhY3RlcnMgYXJlIHJlYWQgYmVmb3JlIHRoZSBkZWxpbWl0ZXJcbiIKKyIgICAgICAtTiBuY2hhcnNcdHJldHVybiBvbmx5IGFmdGVyIHJlYWRpbmcgZXhhY3RseSBOQ0hBUlMgY2hhcmFjdGVycywgIgorInVubGVzc1xuIgorIiAgICBcdFx0RU9GIGlzIGVuY291bnRlcmVkIG9yIHJlYWQgdGltZXMgb3V0LCBpZ25vcmluZyBhbnkgZGVsaW1pdGVyXG4iCiAiICAgICAgLXAgcHJvbXB0XHRvdXRwdXQgdGhlIHN0cmluZyBQUk9NUFQgd2l0aG91dCBhIHRyYWlsaW5nIG5ld2xpbmUgYmVmb3JlXG4iCiAiICAgIFx0XHRhdHRlbXB0aW5nIHRvIHJlYWRcbiIKICIgICAgICAtclx0XHRkbyBub3QgYWxsb3cgYmFja3NsYXNoZXMgdG8gZXNjYXBlIGFueSBjaGFyYWN0ZXJzXG4iCkBAIC0yOTgzLDcgKzMwNjksNyBAQAogIiAgICBvciBhbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBpcyBzdXBwbGllZCBhcyB0aGUgYXJndW1lbnQgdG8gLXUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTAwNgorIzogYnVpbHRpbnMuYzoxMDA5CiBtc2dpZCAiIgogIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMjk5NSw3ICszMDgxLDcgQEAKICIgICAgUmV0dXJucyBOLCBvciBmYWlsdXJlIGlmIHRoZSBzaGVsbCBpcyBub3QgZXhlY3V0aW5nIGEgZnVuY3Rpb24gb3Igc2NyaXB0LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEwMTkKKyM6IGJ1aWx0aW5zLmM6MTAyMgogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zMDc3LDcgKzMxNjMsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMDEKKyM6IGJ1aWx0aW5zLmM6MTEwNAogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzA5Nyw3ICszMTgzLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIE5BTUUgaXMgcmVhZC1vbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMjEKKyM6IGJ1aWx0aW5zLmM6MTEyNAogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTMxMTYsNyArMzIwMiw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNDAKKyM6IGJ1aWx0aW5zLmM6MTE0MwogbXNnaWQgIiIKICJNYXJrIHNoZWxsIHZhcmlhYmxlcyBhcyB1bmNoYW5nZWFibGUuXG4iCiAiICAgIFxuIgpAQCAtMzEzNiw3ICszMjIyLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE2MQorIzogYnVpbHRpbnMuYzoxMTY0CiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zMTQ3LDcgKzMyMzMsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE4gaXMgbmVnYXRpdmUgb3IgZ3JlYXRlciB0aGFuICQjLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNzMgYnVpbHRpbnMuYzoxMTg4CisjOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzE2MSw3ICszMjQ3LDcgQEAKICIgICAgRklMRU5BTUUgY2Fubm90IGJlIHJlYWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTIwNAorIzogYnVpbHRpbnMuYzoxMjA3CiBtc2dpZCAiIgogIlN1c3BlbmQgc2hlbGwgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTMxNzUsNyArMzI2MSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEyMjAKKyM6IGJ1aWx0aW5zLmM6MTIyMwogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTMyNTIsNyArMzMzOCw3IEBACiAiICAgIGZhbHNlIG9yIGFuIGludmFsaWQgYXJndW1lbnQgaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTI5NgorIzogYnVpbHRpbnMuYzoxMjk5CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgpAQCAtMzI2MSw3ICszMzQ3LDcgQEAKICIgICAgYmUgYSBsaXRlcmFsIGBdJywgdG8gbWF0Y2ggdGhlIG9wZW5pbmcgYFsnLiIKIG1zZ3N0ciAiYXJndW1lbnRvIGRldmUgc2VyIG8gbGl0ZXJhbCBgXScsIHBhcmEgZmVjaGFyIG8gYFsnIGRlIGFiZXJ0dXJhLiIKIAotIzogYnVpbHRpbnMuYzoxMzA1CisjOiBidWlsdGlucy5jOjEzMDgKIG1zZ2lkICIiCiAiRGlzcGxheSBwcm9jZXNzIHRpbWVzLlxuIgogIiAgICBcbiIKQEAgLTMyNzMsNyArMzM1OSw3IEBACiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzE3CisjOiBidWlsdGlucy5jOjEzMjAKIG1zZ2lkICIiCiAiVHJhcCBzaWduYWxzIGFuZCBvdGhlciBldmVudHMuXG4iCiAiICAgIFxuIgpAQCAtMzMwOSw3ICszMzk1LDcgQEAKICJnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzQ5CisjOiBidWlsdGlucy5jOjEzNTIKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kIHR5cGUuXG4iCiAiICAgIFxuIgpAQCAtMzMzOSw3ICszNDI1LDcgQEAKICJmb3VuZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzgwCisjOiBidWlsdGlucy5jOjEzODMKIG1zZ2lkICIiCiAiTW9kaWZ5IHNoZWxsIHJlc291cmNlIGxpbWl0cy5cbiIKICIgICAgXG4iCkBAIC0zMzgzLDcgKzM0NjksNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDI1CisjOiBidWlsdGlucy5jOjE0MjgKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCiAiICAgIFxuIgpAQCAtMzQwMSw3ICszNDg3LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBNT0RFIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ0NQorIzogYnVpbHRpbnMuYzoxNDQ4CiBtc2dpZCAiIgogIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtMzQxOCw3ICszNTA0LDcgQEAKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ2MworIzogYnVpbHRpbnMuYzoxNDY2CiBtc2dpZCAiIgogIldhaXQgZm9yIHByb2Nlc3MgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTM0MzIsNyArMzUxOCw3IEBACiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NzgKKyM6IGJ1aWx0aW5zLmM6MTQ4MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhIGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMzQ0NSw3ICszNTMxLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5MgorIzogYnVpbHRpbnMuYzoxNDk1CiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCiAiICAgIFxuIgpAQCAtMzQ2Miw3ICszNTQ4LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTUxMAorIzogYnVpbHRpbnMuYzoxNTEzCiBtc2dpZCAiIgogIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0zNDgyLDcgKzM1NjgsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTMxCisjOiBidWlsdGlucy5jOjE1MzQKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzQ5OCw3ICszNTg0LDcgQEAKICIgICAgVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlIHJldHVybiBzdGF0dXMgb2YgUElQRUxJTkUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU0OAorIzogYnVpbHRpbnMuYzoxNTUxCiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIHBhdHRlcm4gbWF0Y2hpbmcuXG4iCkBAIC0zNTExLDcgKzM1OTcsNyBAQAogbXNnc3RyICIiCiAiRXhlY3V0YXIgc2VsZXRpdmFtZW50ZSBDT01BTkRPUyB0b21hbmRvIHBvciBiYXNlIGEgY29ycmVzcG9uZOpuY2lhIGVudHJlIgogCi0jOiBidWlsdGlucy5jOjE1NjAKKyM6IGJ1aWx0aW5zLmM6MTU2MwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIGNvbmRpdGlvbmFsLlxuIgogIiAgICBcbiIKQEAgLTM1MzIsNyArMzYxOCw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1NzcKKyM6IGJ1aWx0aW5zLmM6MTU4MAogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKQEAgLTM1NDQsNyArMzYzMCw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiRXhwYW5kZSBlIGV4ZWN1dGEgQ09NQU5ET1MgZW5xdWFudG8gbyBjb21hbmRvIGZpbmFsIG5vcyIKIAotIzogYnVpbHRpbnMuYzoxNTg5CisjOiBidWlsdGlucy5jOjE1OTIKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3QgZG9lcyBub3Qgc3VjY2VlZC5cbiIKQEAgLTM1NTYsNyArMzY0Miw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiRXhwYW5kZSBlIGV4ZWN1dGEgQ09NQU5ET1MgZW5xdWFudG8gbyBjb21hbmRvIGZpbmFsIG5vcyIKIAotIzogYnVpbHRpbnMuYzoxNjAxCisjOiBidWlsdGlucy5jOjE2MDQKIG1zZ2lkICIiCiAiQ3JlYXRlIGEgY29wcm9jZXNzIG5hbWVkIE5BTUUuXG4iCiAiICAgIFxuIgpAQCAtMzU2OSw3ICszNjU1LDcgQEAKICIgICAgUmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgQ09NTUFORC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjE1CisjOiBidWlsdGlucy5jOjE2MTgKIG1zZ2lkICIiCiAiRGVmaW5lIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM1ODMsNyArMzY2OSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyByZWFkb25seS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjI5CisjOiBidWlsdGlucy5jOjE2MzIKICMsIGZ1enp5CiBtc2dpZCAiIgogIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKQEAgLTM1OTUsNyArMzY4MSw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiRXhlY3V0YSB1bSBjb25qdW50byBkZSBjb21hbmRvcyBhZ3J1cGFuZG8tb3MuICBFc3RhIOkgdW1hIGZvcm1hIGRlIgogCi0jOiBidWlsdGlucy5jOjE2NDEKKyM6IGJ1aWx0aW5zLmM6MTY0NAogbXNnaWQgIiIKICJSZXN1bWUgam9iIGluIGZvcmVncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMzYwOSw3ICszNjk1LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSByZXN1bWVkIGpvYi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjU2CisjOiBidWlsdGlucy5jOjE2NTkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTM2MjAsNyArMzcwNiw3IEBACiAiICAgIFJldHVybnMgMSBpZiBFWFBSRVNTSU9OIGV2YWx1YXRlcyB0byAwOyByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NjgKKyM6IGJ1aWx0aW5zLmM6MTY3MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbmRpdGlvbmFsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMzY0OCw3ICszNzM0LDcgQEAKICIgICAgMCBvciAxIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBFWFBSRVNTSU9OLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2OTQKKyM6IGJ1aWx0aW5zLmM6MTY5NwogbXNnaWQgIiIKICJDb21tb24gc2hlbGwgdmFyaWFibGUgbmFtZXMgYW5kIHVzYWdlLlxuIgogIiAgICBcbiIKQEAgLTM3MDIsNyArMzc4OCw3IEBACiAiICAgIFx0XHRjb21tYW5kcyBzaG91bGQgYmUgc2F2ZWQgb24gdGhlIGhpc3RvcnkgbGlzdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE3NTEKKyM6IGJ1aWx0aW5zLmM6MTc1NAogbXNnaWQgIiIKICJBZGQgZGlyZWN0b3JpZXMgdG8gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzczMyw3ICszODE5LDcgQEAKICIgICAgY2hhbmdlIGZhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE3ODUKKyM6IGJ1aWx0aW5zLmM6MTc4OAogbXNnaWQgIiIKICJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zNzYwLDcgKzM4NDYsNyBAQAogIiAgICBjaGFuZ2UgZmFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTgxNQorIzogYnVpbHRpbnMuYzoxODE4CiBtc2dpZCAiIgogIkRpc3BsYXkgZGlyZWN0b3J5IHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM3ODksNyArMzg3NSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4NDQKKyM6IGJ1aWx0aW5zLmM6MTg0NwogbXNnaWQgIiIKICJTZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzgxMCw3ICszODk2LDcgQEAKICIgICAgZ2l2ZW4gb3IgT1BUTkFNRSBpcyBkaXNhYmxlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODY1CisjOiBidWlsdGlucy5jOjE4NjgKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCiAiICAgIFxuIgpAQCAtMzg0MCw3ICszOTI2LDcgQEAKICIgICAgZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4OTIKKyM6IGJ1aWx0aW5zLmM6MTg5NQogbXNnaWQgIiIKICJTcGVjaWZ5IGhvdyBhcmd1bWVudHMgYXJlIHRvIGJlIGNvbXBsZXRlZCBieSBSZWFkbGluZS5cbiIKICIgICAgXG4iCkBAIC0zODU0LDE1ICszOTQwLDIwIEBACiAiICAgICAgLXBcdHByaW50IGV4aXN0aW5nIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnMgaW4gYSByZXVzYWJsZSBmb3JtYXRcbiIKICIgICAgICAtclx0cmVtb3ZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGZvciBlYWNoIE5BTUUsIG9yLCBpZiBub1xuIgogIiAgICBcdE5BTUVzIGFyZSBzdXBwbGllZCwgYWxsIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnNcbiIKKyIgICAgICAtRFx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIGFzIHRoZSBkZWZhdWx0IGZvciBjb21tYW5kc1xuIgorIiAgICBcdHdpdGhvdXQgYW55IHNwZWNpZmljIGNvbXBsZXRpb24gZGVmaW5lZFxuIgorIiAgICAgIC1FXHRhcHBseSB0aGUgY29tcGxldGlvbnMgYW5kIGFjdGlvbnMgdG8gXCJlbXB0eVwiIGNvbW1hbmRzIC0tXG4iCisiICAgIFx0Y29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYSBibGFuayBsaW5lXG4iCiAiICAgIFxuIgogIiAgICBXaGVuIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkLCB0aGUgYWN0aW9ucyBhcmUgYXBwbGllZCBpbiB0aGUgb3JkZXIgdGhlXG4iCi0iICAgIHVwcGVyY2FzZS1sZXR0ZXIgb3B0aW9ucyBhcmUgbGlzdGVkIGFib3ZlLlxuIgorIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS4gIFRoZSAtRCBvcHRpb24gdGFrZXNcbiIKKyIgICAgcHJlY2VkZW5jZSBvdmVyIC1FLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5MTUKKyM6IGJ1aWx0aW5zLmM6MTkyMwogbXNnaWQgIiIKICJEaXNwbGF5IHBvc3NpYmxlIGNvbXBsZXRpb25zIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zODc1LDcgKzM5NjYsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTMwCisjOiBidWlsdGlucy5jOjE5MzgKIG1zZ2lkICIiCiAiTW9kaWZ5IG9yIGRpc3BsYXkgY29tcGxldGlvbiBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTM4ODgsNiArMzk3OSw4IEBACiAiICAgIFxuIgogIiAgICBPcHRpb25zOlxuIgogIiAgICBcdC1vIG9wdGlvblx0U2V0IGNvbXBsZXRpb24gb3B0aW9uIE9QVElPTiBmb3IgZWFjaCBOQU1FXG4iCisiICAgIFx0LURcdFx0Q2hhbmdlIG9wdGlvbnMgZm9yIHRoZSBcImRlZmF1bHRcIiBjb21tYW5kIGNvbXBsZXRpb25cbiIKKyIgICAgXHQtRVx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZW1wdHlcIiBjb21tYW5kIGNvbXBsZXRpb25cbiIKICIgICAgXG4iCiAiICAgIFVzaW5nIGArbycgaW5zdGVhZCBvZiBgLW8nIHR1cm5zIG9mZiB0aGUgc3BlY2lmaWVkIG9wdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zOTA0LDE1ICszOTk3LDE1IEBACiAiICAgIGhhdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZGVmaW5lZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTU4CisjOiBidWlsdGlucy5jOjE5NjgKIG1zZ2lkICIiCi0iUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgorIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKLSIgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBhcnJheSB2YXJpYWJsZSBBUlJBWSwgb3IgIgotImZyb21cbiIKLSIgICAgZmlsZSBkZXNjcmlwdG9yIEZEIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaWFibGUgTUFQRklMRSAiCi0iaXNcbiIKLSIgICAgdGhlIGRlZmF1bHQgQVJSQVkuXG4iCisiICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgaW5kZXhlZCBhcnJheSB2YXJpYWJsZSAiCisiQVJSQVksIG9yXG4iCisiICAgIGZyb20gZmlsZSBkZXNjcmlwdG9yIEZEIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaWFibGUgIgorIk1BUEZJTEVcbiIKKyIgICAgaXMgdGhlIGRlZmF1bHQgQVJSQVkuXG4iCiAiICAgIFxuIgogIiAgICBPcHRpb25zOlxuIgogIiAgICAgIC1uIGNvdW50XHRDb3B5IGF0IG1vc3QgQ09VTlQgbGluZXMuICBJZiBDT1VOVCBpcyAwLCBhbGwgbGluZXMgYXJlICIKQEAgLTM5MzksMTYgKzQwMzIsMjkgQEAKICIgICAgYXNzaWduaW5nIHRvIGl0LlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIEFSUkFZIGlzIHJlYWRvbmx5ICIKKyJvclxuIgorIiAgICBub3QgYW4gaW5kZXhlZCBhcnJheS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTkwCisjOiBidWlsdGlucy5jOjIwMDEKIG1zZ2lkICIiCiAiUmVhZCBsaW5lcyBmcm9tIGEgZmlsZSBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKICIgICAgQSBzeW5vbnltIGZvciBgbWFwZmlsZScuIgogbXNnc3RyICIiCiAKKyN+IG1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyN+IG1zZ3N0ciAieHJlYWxsb2M6IGltcG9zc+12ZWwgcmVhbG9jYXIgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxvY2Fkb3MpIgorCisjLCBmdXp6eQorI34gbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorI34gbXNnc3RyICJ4cmVhbGxvYzogaW1wb3Nz7XZlbCByZWFsb2NhciAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbG9jYWRvcykiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorI34gbXNnc3RyICJ4cmVhbGxvYzogaW1wb3Nz7XZlbCByZWFsb2NhciAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbG9jYWRvcykiCisKICN+IG1zZ2lkICJEaXNwbGF5IHRoZSBsaXN0IG9mIGN1cnJlbnRseSByZW1lbWJlcmVkIGRpcmVjdG9yaWVzLiAgRGlyZWN0b3JpZXMiCiAjfiBtc2dzdHIgIkV4aWJlIGEgbGlzdGEgYXR1YWwgZGUgZGlyZXTzcmlvcyBtZW1vcml6YWRvcy4gT3MgZGlyZXTzcmlvcyBz428iCiAKZGlmZiAtLWdpdCBhL3BvL3JvLmdtbyBiL3BvL3JvLmdtbwppbmRleCA0YmJmNjQ1Li5kM2M3MDBjIDEwMDY0NAotLS0gYS9wby9yby5nbW8KKysrIGIvcG8vcm8uZ21vCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3BvL3JvLnBvIGIvcG8vcm8ucG8KaW5kZXggMjgyMzUwMC4uYjU1NGZiNyAxMDA2NDQKLS0tIGEvcG8vcm8ucG8KKysrIGIvcG8vcm8ucG8KQEAgLTYsNyArNiw3IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IGJhc2ggMi4wXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTAyLTE5IDE0OjUzLTA1MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogMTk5Ny0wOC0xNyAxODo0MiswMzAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBFdWdlbiBIb2FuY2EgPGV1Z2VuaEB1cmJhbi1ncmFmeC5ybz5cbiIKICJMYW5ndWFnZS1UZWFtOiBSb21hbmlhbiA8dHJhbnNsYXRpb24tdGVhbS1yb0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCkBAIC0xOCw1MCArMTgsNTUgQEAKIG1zZ2lkICJiYWQgYXJyYXkgc3Vic2NyaXB0IgogbXNnc3RyICJpbmNsdXppdW5lIGdyZbppdOMg7m4gaW50ZXJ2YWwiCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzQKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKIAotIzogYXJyYXlmdW5jLmM6NDc5CisjOiBhcnJheWZ1bmMuYzo0ODAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFzc29jaWF0aXZlIGFycmF5IGtleSIKIG1zZ3N0ciAiJWMlYzogb3D+aXVuZSBpbnZhbGlk4yIKIAotIzogYXJyYXlmdW5jLmM6NDgxCisjOiBhcnJheWZ1bmMuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gdG8gbm9uLW51bWVyaWMgaW5kZXgiCiBtc2dzdHIgIiVzOiBudSBzZSBwb2F0ZSBhdHJpYnVpIGPjdHJlIGluZGV4IG5lLW51bWVyaWMiCiAKLSM6IGFycmF5ZnVuYy5jOjUxNworIzogYXJyYXlmdW5jLmM6NTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIiCiAKLSM6IGJhc2hoaXN0LmM6Mzc5CisjOiBiYXNoaGlzdC5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiBtc2dzdHIgIiVzOiBudSBzLWEgcHV0dXQgY3JlYTogJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzQxMworIzogYmFzaGxpbmUuYzozNDU3CiBtc2dpZCAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IGJhc2hsaW5lLmM6MzQ5MQorIzogYmFzaGxpbmUuYzozNTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IGBcIiciCiBtc2dzdHIgIiIKIAotIzogYmFzaGxpbmUuYzozNTIwCisjOiBiYXNobGluZS5jOjM1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2xvc2luZyBgJWMnIGluICVzIgogbXNnc3RyICIiCiAKLSM6IGJhc2hsaW5lLmM6MzU1NAorIzogYmFzaGxpbmUuYzozNjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGlucy9hbGlhcy5kZWY6MTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJXMnOiBpbnZhbGlkIGFsaWFzIG5hbWUiCittc2dzdHIgIiVjJWM6IG9w/ml1bmUgaW52YWxpZOMiCisKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjEyMCBidWlsdGlucy9iaW5kLmRlZjoxMjMKIG1zZ2lkICJsaW5lIGVkaXRpbmcgbm90IGVuYWJsZWQiCiBtc2dzdHIgIiIKQEAgLTExMiw2ICsxMTcsMjEgQEAKICIgICAgV2l0aG91dCBFWFBSLCByZXR1cm5zICIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNQorbXNnaWQgIiIKKyIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKKyIgICAgIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM2Cittc2dpZCAiIgorIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgorIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCisiICAgIFxuIgorIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCisiICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgorbXNnc3RyICIiCisKICM6IGJ1aWx0aW5zL2NkLmRlZjoyMTUKIG1zZ2lkICJIT01FIG5vdCBzZXQiCiBtc2dzdHIgIiIKQEAgLTEyNSw3ICsxNDUsNyBAQAogbXNnaWQgImxpbmUgJWQ6ICIKIG1zZ3N0ciAic2xvdCAlM2Q6ICIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTM5IGVycm9yLmM6MjYwCisjOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICIKIG1zZ3N0ciAi7m4gc2NyaWVyZSIKQEAgLTEzNSwxMSArMTU1LDExIEBACiBtc2dpZCAiJXM6IHVzYWdlOiAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjIKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODI3CiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICJwcmVhIG11bP5pIHBhcmFtZXRyaSIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDkzIHNoZWxsLmM6Nzc0CisjOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTkgc2hlbGwuYzo3ODIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIm9w/ml1bmVhIG5lY2VzaXTjIHVuIHBhcmFtZXRydTogLSIKQEAgLTE1NCw3ICsxNzQsNyBAQAogbXNnaWQgIiVzOiBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBjb21hbmTjIG5lZ+NzaXTjIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3ODcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc5NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlYyVjOiBvcP5pdW5lIGludmFsaWTjIgpAQCAtMTc5LDcgKzE5OSw3IEBACiBtc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgogbXNnc3RyICJudW3jciBkZSBzZW1uYWwgaW52YWxpZCIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU1CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTYKICMsIGZ1enp5CiBtc2dpZCAiaW52YWxpZCBudW1iZXIiCiBtc2dzdHIgIm51beNyIGRlIHNlbW5hbCBpbnZhbGlkIgpAQCAtMTk0LDcgKzIxNCw3IEBACiBtc2dpZCAiYCVzJzogbm90IGEgcGlkIG9yIHZhbGlkIGpvYiBzcGVjIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI2NCBlcnJvci5jOjQ1MworIzogYnVpbHRpbnMvY29tbW9uLmM6MjY0IGVycm9yLmM6NDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkb25seSB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6IHZhcmlhYmls4yBkb2FyIO5uIGNpdGlyZSIKQEAgLTI2OSwyNiArMjg5LDI2IEBACiBtc2dpZCAiJXM6IGFtYmlndW91cyBqb2Igc3BlYyIKIG1zZ3N0ciAiJXM6IFJlZGlyZWN0YXJlIGFtYmlndeMiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjoyNzAKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjoyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYWN0aW9uIG5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjQzMCBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjE1Ci0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODEzCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDQ5IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NDQKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjY3CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk2CiBtc2dpZCAid2FybmluZzogLUYgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NjkKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTgKIG1zZ2lkICJ3YXJuaW5nOiAtQyBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjc4NgorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjgyNgogbXNnaWQgIm5vdCBjdXJyZW50bHkgZXhlY3V0aW5nIGNvbXBsZXRpb24gZnVuY3Rpb24iCiBtc2dzdHIgIiIKIApAQCAtMjk3LDIxICszMTcsMjEgQEAKIG1zZ2lkICJjYW4gb25seSBiZSB1c2VkIGluIGEgZnVuY3Rpb24iCiBtc2dzdHIgInBvYXRlIGZpIGZvbG9zaXQgZG9hciDubnRyLW8gZnVuY/5pZSwgumkgZmFjZSBjYSB2YXJpYWJpbGEgTlVNRSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzUzCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzY1IGV4ZWN1dGVfY21kLmM6NDgxOAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVzOiBmdW5j/mllIGRvYXIg7m4gY2l0aXJlIChyZWFkb25seSkiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2MQorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDY4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IG51IHNlIHBvYXRlIGFzaWduYSDubiBhY2VzdCBtb2QiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBhc3NvY2lhdGl2ZSB0byBpbmRleGVkIGFycmF5IgogbXNnc3RyICIiCkBAIC0zNDAsOCArMzYwLDggQEAKIG1zZ2lkICIlczogY2Fubm90IGRlbGV0ZTogJXMiCiBtc2dzdHIgIiVzOiBudSBzLWEgcHV0dXQgY3JlYTogJXMiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM0IGJ1aWx0aW5zL2hhc2guZGVmOjE2OSBleGVjdXRlX2NtZC5jOjQ2NzUKLSM6IHNoZWxsLmM6MTQzOQorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDc5NAorIzogc2hlbGwuYzoxNDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpcyBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXM6IGVzdGUgZGlyZWN0b3IiCkBAIC0zNTYsNyArMzc2LDggQEAKIG1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgZXhlY3V0ZV9jbWQuYzo0NzQ1IHNoZWxsLmM6MTQ0OQorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDMgZXhlY3V0ZV9jbWQuYzo0ODY0CisjOiBzaGVsbC5jOjE0NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlIgogbXNnc3RyICIlczogbnUgc2UgcG9hdGUgZXhlY3V0YSBmabppZXJ1bCBiaW5hciIKQEAgLTM4NSwxNiArNDA2LDE2IEBACiBtc2dpZCAiVGhlcmUgYXJlIHJ1bm5pbmcgam9icy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MjYxCisjOiBidWlsdGlucy9mYy5kZWY6MjYyCiAjLCBmdXp6eQogbXNnaWQgIm5vIGNvbW1hbmQgZm91bmQiCiBtc2dzdHIgIiVzOiBjb21hbmTjIG5lZ+NzaXTjIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzQxCisjOiBidWlsdGlucy9mYy5kZWY6MzQ5CiBtc2dpZCAiaGlzdG9yeSBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNjIKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiB0ZW1wIGZpbGU6ICVzIgogbXNnc3RyICIlczogbnUgcy1hIHB1dHV0IGNyZWE6ICVzIgpAQCAtNDg0LDEyICs1MDUsMTIgQEAKIG1zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjE5NworIzogYnVpbHRpbnMva2lsbC5kZWY6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhcmd1bWVudHMgbXVzdCBiZSBwcm9jZXNzIG9yIGpvYiBJRHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjYwCisjOiBidWlsdGlucy9raWxsLmRlZjoyNjMKICMsIGZ1enp5CiBtc2dpZCAiVW5rbm93biBlcnJvciIKIG1zZ3N0ciAiRXJvYXJlIG5lY3Vub3NjdXTjICVkIgpAQCAtNDk4LDU2ICs1MTksNjEgQEAKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICJzZSBhunRlYXB04yBleHByZXNpZSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQxIGJ1aWx0aW5zL3JlYWQuZGVmOjI3MgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGFuIGluZGV4ZWQgYXJyYXkiCittc2dzdHIgIiVzOiB2YXJpYWJpbOMgZuNy4yBsaW1pdOMiCisKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU3IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1OCBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCiBtc2dzdHIgIiVjJWM6IG9w/ml1bmUgaW52YWxpZOMiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiBtc2dzdHIgIiVjJWM6IG9w/ml1bmUgaW52YWxpZOMiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogbXNnc3RyICJudW3jciBkZSBzZW1uYWwgaW52YWxpZCIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzE4CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKICMsIGZ1enp5CiBtc2dpZCAiZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZSIKIG1zZ3N0ciAiJXM6IHZhcmlhYmls4yBm43LjIGxpbWl04yIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzM5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNDcKIG1zZ2lkICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6MzY3CisjOiBidWlsdGlucy9wcmludGYuZGVmOjM3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBtaXNzaW5nIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NDQKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU3MQorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogJXM6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzUwCisjOiBidWlsdGlucy9wcmludGYuZGVmOjc1NwogbXNnaWQgIm1pc3NpbmcgaGV4IGRpZ2l0IGZvciBcXHgiCiBtc2dzdHIgIiIKIApAQCAtNjM5LDEyICs2NjUsMTIgQEAKICIgICAgVGhlIGBkaXJzJyBidWlsdGluIGRpc3BsYXlzIHRoZSBkaXJlY3Rvcnkgc3RhY2suIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3JlYWQuZGVmOjI0OAorIzogYnVpbHRpbnMvcmVhZC5kZWY6MjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHRpbWVvdXQgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9yZWFkLmRlZjo1NzQKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU4OAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAicmVhZCBlcnJvcjogJWQ6ICVzIgogbXNnc3RyICJlcm9hcmUgZGUgbGVn43R1cuMgKHBpcGUpOiAlcyIKQEAgLTY4MywxMSArNzA5LDExIEBACiBtc2dpZCAic2hpZnQgY291bnQiCiBtc2dzdHIgInNoaWZ0IFtuXSIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI1NAorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI2MAogbXNnaWQgImNhbm5vdCBzZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMgc2ltdWx0YW5lb3VzbHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMxOQorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBzaGVsbCBvcHRpb24gbmFtZSIKIG1zZ3N0ciAiIgpAQCAtNzgwLDgxICs4MDYsODEgQEAKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIHN5bWJvbGljIG1vZGUgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGVycm9yLmM6ODkgZXJyb3IuYzozMjAgZXJyb3IuYzozMjIgZXJyb3IuYzozMjQKKyM6IGVycm9yLmM6OTAgZXJyb3IuYzozMjEgZXJyb3IuYzozMjMgZXJyb3IuYzozMjUKIG1zZ2lkICIgbGluZSAiCiBtc2dzdHIgIiIKIAotIzogZXJyb3IuYzoxNjQKKyM6IGVycm9yLmM6MTY1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJsYXN0IGNvbW1hbmQ6ICVzXG4iCiBtc2dzdHIgInVsdGltYSBjb21hbmTjLiIKIAotIzogZXJyb3IuYzoxNzIKKyM6IGVycm9yLmM6MTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nLi4uIgogbXNnc3RyICIiCiAKLSM6IGVycm9yLmM6NDA1CisjOiBlcnJvci5jOjQwNgogIywgZnV6enkKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQgZXJyb3IiCiBtc2dzdHIgIkVyb2FyZSBuZWN1bm9zY3V04yAlZCIKIAotIzogZXJyb3IuYzo0MDYKKyM6IGVycm9yLmM6NDA3CiAjLCBmdXp6eQogbXNnaWQgImJhZCBjb21tYW5kIHR5cGUiCiBtc2dzdHIgIrppIG51bWUgZGUgY29tYW5k4y4iCiAKLSM6IGVycm9yLmM6NDA3CisjOiBlcnJvci5jOjQwOAogIywgZnV6enkKIG1zZ2lkICJiYWQgY29ubmVjdG9yIgogbXNnc3RyICJjb25lY3RvciBncmW6aXQgYCVkJyIKIAotIzogZXJyb3IuYzo0MDgKKyM6IGVycm9yLmM6NDA5CiAjLCBmdXp6eQogbXNnaWQgImJhZCBqdW1wIgogbXNnc3RyICJTYWx0IGludmFsaWQgJWQiCiAKLSM6IGVycm9yLmM6NDQ2CisjOiBlcnJvci5jOjQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5ib3VuZCB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6IHZhcmlhYmls4yBm43LjIGxpbWl04yIKIAogIzogZXZhbC5jOjE4MQogIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCittc2dpZCAiB3RpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKIG1zZ3N0ciAiJWNhIGV4cGlyYXQgYbp0ZXB04m5kIGludHJvZHVjZXJlIGRlIGRhdGU6IGF1dG8tbG9nb3V0XG4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDkxCisjOiBleGVjdXRlX2NtZC5jOjQ5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MTExMgorIzogZXhlY3V0ZV9jbWQuYzoxMTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBleGVjdXRlX2NtZC5jOjIwMTEKKyM6IGV4ZWN1dGVfY21kLmM6MjA3NQogIywgZnV6enkKIG1zZ2lkICJwaXBlIGVycm9yIgogbXNnc3RyICJlcm9hcmUgZGUgbGVn43R1cuMgKHBpcGUpOiAlcyIKIAotIzogZXhlY3V0ZV9jbWQuYzo0MzYzCisjOiBleGVjdXRlX2NtZC5jOjQ0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IGAvJyBpbiBjb21tYW5kIG5hbWVzIgogbXNnc3RyICIlczogbGltaXRhdDogbnUgc2UgcG9hdGUgc3BlY2lmaWNhIGAvJyDubiBudW1lbGUgY29tZW56aWxvciIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDU0CisjOiBleGVjdXRlX2NtZC5jOjQ1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIlczogY29tYW5k4yBuZWfjc2l04yIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NzA4CisjOiBleGVjdXRlX2NtZC5jOjQ4MjcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogYmFkIGludGVycHJldGVyIgogbXNnc3RyICIlczogZXN0ZSBkaXJlY3RvciIKIAotIzogZXhlY3V0ZV9jbWQuYzo0ODU3CisjOiBleGVjdXRlX2NtZC5jOjQ5NzYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCiBtc2dzdHIgIm51IHNlIHBvYXRlIGR1cGxpY2EgZmQgJWQg7m4gZmQgMDogJXMiCkBAIC05MDEsMjkgKzkyNywyOSBAQAogbXNnaWQgIm1pc3NpbmcgYCknIgogbXNnc3RyICJgKScgbGlwc+MiCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzUKKyM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKICMsIGZ1enp5CiBtc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogbXNnc3RyICJlcm9hcmUgZGUgc2ludGF44zogc2bicrppdCBkZSBmabppZXIgbmVhunRlcHRhdCIKIAotIzogZXhwci5jOjExNzcKKyM6IGV4cHIuYzoxMTc4CiBtc2dpZCAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjEyMDEKKyM6IGV4cHIuYzoxMjAyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgogbXNnc3RyICIlczogJXM6ICVzIChpZGVudGlmaWNhdG9ydWwgZXJvcmlpIGVzdGUgXCIlc1wiKVxuIgogCi0jOiBleHByLmM6MTI1OQorIzogZXhwci5jOjEyNjAKIG1zZ2lkICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTI3OQorIzogZXhwci5jOjEyODAKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgInZhbG9hcmUgcHJlYSBtYXJlIHBlbnRydSBiYXrjIgogCi0jOiBleHByLmM6MTMyOAorIzogZXhwci5jOjEzMjkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCiBtc2dzdHIgImVyb2FyZSBkZSByZWRpcmVjdGFyZSIKQEAgLTkzMyw3ICs5NTksNyBAQAogbXNnaWQgImdldGN3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQgZGlyZWN0b3JpZXMiCiBtc2dzdHIgImdldHdkOiBudSBzLWF1IHB1dHV0IGFjY2VzYSBkaXJlY3RvYXJlbGUgcONyaW50ZSIKIAotIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ1NTkKKyM6IGlucHV0LmM6OTQgc3Vic3QuYzo0ODU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgogbXNnc3RyICIiCkBAIC05ODcsNyArMTAxMyw3IEBACiBtc2dpZCAiRG9uZSIKIG1zZ3N0ciAiRmluYWxpemF0IgogCi0jOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIyCisjOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIzCiBtc2dpZCAiU3RvcHBlZCIKIG1zZ3N0ciAiU3RvcGF0IgogCkBAIC0xMDI0LDcyICsxMDUwLDc2IEBACiBtc2dpZCAiICAod2Q6ICVzKSIKIG1zZ3N0ciAiKHdkIGFjdHVhbDogJXMpXG4iCiAKLSM6IGpvYnMuYzoxNzcxCisjOiBqb2JzLmM6MTc3NgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2hpbGQgc2V0cGdpZCAoJWxkIHRvICVsZCkiCiBtc2dzdHIgInNldHBnaWQgY29waWwgKGRlIGxhICVkIGxhICVkKSBhIO5udOJsbml0IG8gZXJvYXJlICVkOiAlc1xuIgogCi0jOiBqb2JzLmM6MjA5OSBub2pvYnMuYzo1ODUKKyM6IGpvYnMuYzoyMTA0IG5vam9icy5jOjU4NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgogbXNnc3RyICJhunRlcHRh/mk6IHBpZC11bCAlZCBudSBlc3RlIHJlenVsdGF0KGNoaWxkKSBhbCBhY2VzdHVpIHNoZWxsIgogCi0jOiBqb2JzLmM6MjMyNgorIzogam9icy5jOjIzMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjU5OAorIzogam9icy5jOjI2MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjgyMAorIzogam9icy5jOjI4MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiBoYXMgdGVybWluYXRlZCIKIG1zZ3N0ciAiJXM6IGpvYnVsIGEgZm9zdCB0ZXJtaW5hdCIKIAotIzogam9icy5jOjI4MjkKKyM6IGpvYnMuYzoyODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgJWQgYWxyZWFkeSBpbiBiYWNrZ3JvdW5kIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNDkyCisjOiBqb2JzLmM6MzA1OQorbXNnaWQgIndhaXRjaGxkOiB0dXJuaW5nIG9uIFdOT0hBTkcgdG8gYXZvaWQgaW5kZWZpbml0ZSBibG9jayIKK21zZ3N0ciAiIgorCisjOiBqb2JzLmM6MzUwOAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGxpbmUgJWQ6ICIKIG1zZ3N0ciAic2xvdCAlM2Q6ICIKIAotIzogam9icy5jOjM1MDYgbm9qb2JzLmM6ODE0CisjOiBqb2JzLmM6MzUyMiBub2pvYnMuYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIChjb3JlIGR1bXBlZCkiCiBtc2dzdHIgIiAoY29yZSBkdW1wZWQpIgogCi0jOiBqb2JzLmM6MzUxOCBqb2JzLmM6MzUzMQorIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHdkIG5vdzogJXMpXG4iCiBtc2dzdHIgIih3ZCBhY3R1YWw6ICVzKVxuIgogCi0jOiBqb2JzLmM6MzU2MworIzogam9icy5jOjM1NzkKICMsIGZ1enp5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBmYWlsZWQiCiBtc2dzdHIgImluaXRpYWxpemVfam9iczogZ2V0cGdycCBlunVhdDogJXMiCiAKLSM6IGpvYnMuYzozNjIzCisjOiBqb2JzLmM6MzYzOQogIywgZnV6enkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5lIGRpc2NpcGxpbmUiCiBtc2dzdHIgImluaXRpYWxpemVfam9iczogZGlzY2lwbGlu4yBsaW5pZTogJXMiCiAKLSM6IGpvYnMuYzozNjMzCisjOiBqb2JzLmM6MzY0OQogIywgZnV6enkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYnM6IGdldHBncnAgZbp1YXQ6ICVzIgogCi0jOiBqb2JzLmM6MzY2MQorIzogam9icy5jOjM2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2NjYKKyM6IGpvYnMuYzozNjgyCiBtc2dpZCAibm8gam9iIGNvbnRyb2wgaW4gdGhpcyBzaGVsbCIKIG1zZ3N0ciAibmljaSB1biBjb250cm9sIGRlIGpvYiDubiBhY2VzdCBzaGVsbCIKIApAQCAtMTE3OSw2ICsxMjA5LDI2IEBACiBtc2dpZCAibmV0d29yayBvcGVyYXRpb25zIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIiIKIAorIzogbG9jYWxlLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICJ4cmVhbGxvYzogbnUgcG90IHJlYWxvY2EgJWx1IG9jdGX+aSAoJWx1IG9jdGX+aSBhbG9jYf5pKSIKKworIzogbG9jYWxlLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKK21zZ3N0ciAieHJlYWxsb2M6IG51IHBvdCByZWFsb2NhICVsdSBvY3Rl/mkgKCVsdSBvY3Rl/mkgYWxvY2H+aSkiCisKICM6IG1haWxjaGVjay5jOjQzMwogbXNnaWQgIllvdSBoYXZlIG1haWwgaW4gJF8iCiBtc2dzdHIgIkF2Zf5pIG1haWwg7m4gJF8iCkBAIC0xMTkyLDEzOCArMTI0MiwxMzggQEAKIG1zZ2lkICJUaGUgbWFpbCBpbiAlcyBoYXMgYmVlbiByZWFkXG4iCiBtc2dzdHIgIk1haWx1bCBkaW4gJXMgYSBmb3N0IGNpdGl0XG4iCiAKLSM6IG1ha2VfY21kLmM6MzIyCisjOiBtYWtlX2NtZC5jOjMyMwogIywgZnV6enkKIG1zZ2lkICJzeW50YXggZXJyb3I6IGFyaXRobWV0aWMgZXhwcmVzc2lvbiByZXF1aXJlZCIKIG1zZ3N0ciAiZXJvYXJlIGRlIHNpbnRheOMg7m4gZXhwcmVzaWUgIgogCi0jOiBtYWtlX2NtZC5jOjMyNAorIzogbWFrZV9jbWQuYzozMjUKICMsIGZ1enp5CiBtc2dpZCAic3ludGF4IGVycm9yOiBgOycgdW5leHBlY3RlZCIKIG1zZ3N0ciAiZXJvYXJlIGRlIHNpbnRheOM6IHNm4nK6aXQgZGUgZmm6aWVyIG5lYbp0ZXB0YXQiCiAKLSM6IG1ha2VfY21kLmM6MzI1CisjOiBtYWtlX2NtZC5jOjMyNgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yOiBgKCglcykpJyIKIG1zZ3N0ciAiZXJvYXJlIGRlIHNpbnRheOMiCiAKLSM6IG1ha2VfY21kLmM6NTY3CisjOiBtYWtlX2NtZC5jOjU3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWtlX2hlcmVfZG9jdW1lbnQ6IGJhZCBpbnN0cnVjdGlvbiB0eXBlICVkIgogbXNnc3RyICJtYWtlX2hlcmVfZG9jdW1lbnQ6IHRpcCBkZSBpbnN0cnVj/ml1bmUgZ3Jluml0ICVkIgogCi0jOiBtYWtlX2NtZC5jOjY1MQorIzogbWFrZV9jbWQuYzo2NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVyZS1kb2N1bWVudCBhdCBsaW5lICVkIGRlbGltaXRlZCBieSBlbmQtb2YtZmlsZSAod2FudGVkIGAlcycpIgogbXNnc3RyICIiCiAKLSM6IG1ha2VfY21kLmM6NzQ2CisjOiBtYWtlX2NtZC5jOjc1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWtlX3JlZGlyZWN0aW9uOiByZWRpcmVjdGlvbiBpbnN0cnVjdGlvbiBgJWQnIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjI5ODYgcGFyc2UueTozMjE4CisjOiBwYXJzZS55OjMxMzMgcGFyc2UueTozMzY5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgJWMnIgogbXNnc3RyICJFT0YgYnJ1c2Mg7m4gY+N1dGFyZSBkdXDjIGAlYyciCiAKLSM6IHBhcnNlLnk6MzcyMgorIzogcGFyc2UueTozOTUxCiAjLCBmdXp6eQogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIGBdXSciCiBtc2dzdHIgIkVPRiBicnVzYyDubiBj43V0YXJlIGR1cOMgYCVjJyIKIAotIzogcGFyc2UueTozNzI3CisjOiBwYXJzZS55OjM5NTYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uOiB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgImVyb2FyZSBkZSBzaW50YXjjIG5lYbp0ZXB0YXTjIGzibmfjIGAlcyciCiAKLSM6IHBhcnNlLnk6MzczMQorIzogcGFyc2UueTozOTYwCiAjLCBmdXp6eQogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICJlcm9hcmUgZGUgc2ludGF44yDubiBleHByZXNpZSAiCiAKLSM6IHBhcnNlLnk6MzgwOQorIzogcGFyc2UueTo0MDM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzgxMworIzogcGFyc2UueTo0MDQyCiAjLCBmdXp6eQogbXNnaWQgImV4cGVjdGVkIGApJyIKIG1zZ3N0ciAic2UgYbp0ZWFwdOMgYCknIgogCi0jOiBwYXJzZS55OjM4NDEKKyM6IHBhcnNlLnk6NDA3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozODQ1CisjOiBwYXJzZS55OjQwNzQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6Mzg4NQorIzogcGFyc2UueTo0MTIwCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IHNlIGG6dGVhcHTjIG9wZXJhdG9yIGJpbmFyIgogCi0jOiBwYXJzZS55OjM4ODkKKyM6IHBhcnNlLnk6NDEyNAogIywgZnV6enkKIG1zZ2lkICJjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBzZSBhunRlYXB04yBvcGVyYXRvciBiaW5hciIKIAotIzogcGFyc2UueTozOTA2CisjOiBwYXJzZS55OjQxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM5MTAKKyM6IHBhcnNlLnk6NDE1MAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzkyMQorIzogcGFyc2UueTo0MTYxCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlYycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAiYDonIGG6dGVwdGF0IGR1cOMgZXhwcmVzaWUgY29uZGn+aW9uYWzjIgogCi0jOiBwYXJzZS55OjM5MjQKKyM6IHBhcnNlLnk6NDE2NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgImA6JyBhunRlcHRhdCBkdXDjIGV4cHJlc2llIGNvbmRp/mlvbmFs4yIKIAotIzogcGFyc2UueTozOTI4CisjOiBwYXJzZS55OjQxNjgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gJWQgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAiYDonIGG6dGVwdGF0IGR1cOMgZXhwcmVzaWUgY29uZGn+aW9uYWzjIgogCi0jOiBwYXJzZS55OjUxOTUKKyM6IHBhcnNlLnk6NTQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgImVyb2FyZSBkZSBzaW50YXjjIG5lYbp0ZXB0YXTjIGzibmfjIGAlcyciCiAKLSM6IHBhcnNlLnk6NTIxMworIzogcGFyc2UueTo1NDc3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgogbXNnc3RyICJlcm9hcmUgZGUgc2ludGF44yBuZWG6dGVwdGF04yBs4m5n4yBgJXMnIgogCi0jOiBwYXJzZS55OjUyMjMKKyM6IHBhcnNlLnk6NTQ4NwogbXNnaWQgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAiZXJvYXJlIGRlIHNpbnRheOM6IHNm4nK6aXQgZGUgZmm6aWVyIG5lYbp0ZXB0YXQiCiAKLSM6IHBhcnNlLnk6NTIyMworIzogcGFyc2UueTo1NDg3CiBtc2dpZCAic3ludGF4IGVycm9yIgogbXNnc3RyICJlcm9hcmUgZGUgc2ludGF44yIKIAotIzogcGFyc2UueTo1Mjg1CisjOiBwYXJzZS55OjU1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIFwiJXNcIiB0byBsZWF2ZSB0aGUgc2hlbGwuXG4iCiBtc2dzdHIgIkZvbG9zaf5pIFwiJXNcIiBwZW50cnUgYSBw43Ljc2kgc2hlbGx1bC5cbiIKIAotIzogcGFyc2UueTo1NDQ3CisjOiBwYXJzZS55OjU3MTEKICMsIGZ1enp5CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgogbXNnc3RyICJFT0YgYnJ1c2Mg7m4gY+N1dGFyZSBkdXDjIGAlYyciCiAKLSM6IHBjb21wbGV0ZS5jOjEwMTgKKyM6IHBjb21wbGV0ZS5jOjEwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgIiIKQEAgLTEzMzMsNzIgKzEzODMsOTEgQEAKIG1zZ2lkICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjI4NQorIzogcHJpbnRfY21kLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAicHJpbnRfY29tbWFuZDogY29uZWN0b3IgZ3Jluml0ciBgJWQnIgogCi0jOiBwcmludF9jbWQuYzoxMzQ4CisjOiBwcmludF9jbWQuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlX3NldDogJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICIiCisKKyM6IHByaW50X2NtZC5jOjM2OAorbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgorbXNnc3RyICIiCisKKyM6IHByaW50X2NtZC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCittc2dzdHIgIiIKKworIzogcHJpbnRfY21kLmM6MTQ2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjcHJpbnRmOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxMDUKKyM6IHJlZGlyLmM6MTEwCiBtc2dpZCAiZmlsZSBkZXNjcmlwdG9yIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjE0OAorIzogcmVkaXIuYzoxNjYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QiCiBtc2dzdHIgIiVzOiBSZWRpcmVjdGFyZSBhbWJpZ3XjIgogCi0jOiByZWRpci5jOjE1MgorIzogcmVkaXIuYzoxNzAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCiBtc2dzdHIgIiVzOiBudSBzZSBwb2F0ZSBhY2Nlc2EoY2xvYmJlcikgZmm6aWVydWwgZXhpc3RlbnQiCiAKLSM6IHJlZGlyLmM6MTU3CisjOiByZWRpci5jOjE3NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiVzOiBsaW1pdGF0OiBudSBzZSBwb2F0ZSBzcGVjaWZpY2EgYC8nIO5uIG51bWVsZSBjb21lbnppbG9yIgogCi0jOiByZWRpci5jOjE2MgorIzogcmVkaXIuYzoxODAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKIG1zZ3N0ciAibnUgcG90IGZhY2UgbGVn43R1cuMgKHBpcGUpIHBlbnRydSBzdWJzdGl0df5pYSBwcm9jZXN1bHVpOiAlcyIKIAotIzogcmVkaXIuYzo1MTcKKyM6IHJlZGlyLmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKK21zZ3N0ciAiJXM6IG51IHBvdCBhc2lnbmEgbGlzdOMgbWVtYnJ1bHVpIGludGVydmFsdWx1aSIKKworIzogcmVkaXIuYzo1NDQKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxMDIzCisjOiByZWRpci5jOjExMDEKICMsIGZ1enp5CiBtc2dpZCAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCiBtc2dzdHIgImVyb2FyZSBkZSByZWRpcmVjdGFyZSIKIAotIzogc2hlbGwuYzozMjgKKyM6IHNoZWxsLmM6MzMyCiBtc2dpZCAiY291bGQgbm90IGZpbmQgL3RtcCwgcGxlYXNlIGNyZWF0ZSEiCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzozMzIKKyM6IHNoZWxsLmM6MzM2CiBtc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzo4NzYKKyM6IHNoZWxsLmM6ODg0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJWMlYzogb3D+aXVuZSBpbnZhbGlk4yIKIAotIzogc2hlbGwuYzoxNjM4CisjOiBzaGVsbC5jOjE2NTEKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgIk51IGFtIG5pY2kgdW4gbnVtZSEiCiAKLSM6IHNoZWxsLmM6MTc3OAorIzogc2hlbGwuYzoxNzkzCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgIkdOVSAlcywgdmVyc2l1bmVhICVzXG4iCiAKLSM6IHNoZWxsLmM6MTc3OQorIzogc2hlbGwuYzoxNzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJVc2FnZTpcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIC4uLlxuIgpAQCAtMTQwNywzOTAgKzE0NzYsNDExIEBACiAiRm9sb3NpcmU6XHQlcyBbR05VIG9w/ml1bmUgbHVuZ+NdIFtvcP5pdW5lXSAuLi5cbiIKICJcdCVzIFtHTlUgb3D+aXVuZSBsdW5n410gW29w/ml1bmVdIGZpumllciBzY3JpcHQgLi4uXG4iCiAKLSM6IHNoZWxsLmM6MTc4MQorIzogc2hlbGwuYzoxNzk2CiBtc2dpZCAiR05VIGxvbmcgb3B0aW9uczpcbiIKIG1zZ3N0ciAib3D+aXVuaSBsdW5naSBHTlU6XG4iCiAKLSM6IHNoZWxsLmM6MTc4NQorIzogc2hlbGwuYzoxODAwCiBtc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKIG1zZ3N0ciAiT3D+aXVuaSBhbGUgc2hlbGwtdWx1aTpcbiIKIAotIzogc2hlbGwuYzoxNzg2CisjOiBzaGVsbC5jOjE4MDEKICMsIGZ1enp5CiBtc2dpZCAiXHQtaXJzRCBvciAtYyBjb21tYW5kIG9yIC1PIHNob3B0X29wdGlvblx0XHQoaW52b2NhdGlvbiBvbmx5KVxuIgogbXNnc3RyICJcdC1pcnNEIHNhdSAtYyBjb21hbmTjXHRcdChkb2FyIGludm9jYf5pZSlcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCiBtc2dzdHIgIlx0LSVzIHNhdSAtbyBvcP5pdW5lXG4iCiAKLSM6IHNoZWxsLmM6MTgwNworIzogc2hlbGwuYzoxODIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIFwiaGVscCBzZXRcIicgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgb3B0aW9ucy5cbiIKIG1zZ3N0ciAiIgogIkFw43Nh/mkgYCVzIC1jIFwic2V0LWFqdXRvclwiJyBwZW50cnUgbWFpIG11bHRlIGluZm9ybWH+aWkgZGVzcHJlIG9w/ml1bmlsZSAiCiAic2hlbGwtdWx1aS5cbiIKIAotIzogc2hlbGwuYzoxODA4CisjOiBzaGVsbC5jOjE4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKIG1zZ3N0ciAiIgogIkFw43Nh/mkgYCVzIC1jIGFqdXRvcicgcGVudHJ1IG1haSBtdWx0ZSBpbmZvcm1h/mlpIGRlc3ByZSBjb21lbnppbGUgaW50ZXJuZSAiCiAiYWxlIHNoZWxsLXVsdWkuXG4iCiAKLSM6IHNoZWxsLmM6MTgwOQorIzogc2hlbGwuYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIiIKIAotIzogc2lnLmM6NTgzCisjOiBzaWcuYzo2MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NDcKKyM6IHNpZ2xpc3QuYzo0OAogbXNnaWQgIkJvZ3VzIHNpZ25hbCIKIG1zZ3N0ciAiU2VtbmFsIGZhbHMiCiAKLSM6IHNpZ2xpc3QuYzo1MAorIzogc2lnbGlzdC5jOjUxCiBtc2dpZCAiSGFuZ3VwIgogbXNnc3RyICJEZWNvbmVjdGFyZSIKIAotIzogc2lnbGlzdC5jOjU0CisjOiBzaWdsaXN0LmM6NTUKIG1zZ2lkICJJbnRlcnJ1cHQiCiBtc2dzdHIgIs5udHJlcnVwZXJlIgogCi0jOiBzaWdsaXN0LmM6NTgKKyM6IHNpZ2xpc3QuYzo1OQogbXNnaWQgIlF1aXQiCiBtc2dzdHIgIlDjcuNzaXJlIgogCi0jOiBzaWdsaXN0LmM6NjIKKyM6IHNpZ2xpc3QuYzo2MwogbXNnaWQgIklsbGVnYWwgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIkluc3RydWP+aXVuZSBpbGVnYWzjIgogCi0jOiBzaWdsaXN0LmM6NjYKKyM6IHNpZ2xpc3QuYzo2NwogbXNnaWQgIkJQVCB0cmFjZS90cmFwIgogbXNnc3RyICJCUFQgdHJhY2UvdHJhcCIKIAotIzogc2lnbGlzdC5jOjc0CisjOiBzaWdsaXN0LmM6NzUKIG1zZ2lkICJBQk9SVCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiaW5zdHJ1Y/5pdW5lIEFCT1JUIgogCi0jOiBzaWdsaXN0LmM6NzgKKyM6IHNpZ2xpc3QuYzo3OQogbXNnaWQgIkVNVCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiaW5zdHJ1Y/5pdW5lIEVNVCIKIAotIzogc2lnbGlzdC5jOjgyCisjOiBzaWdsaXN0LmM6ODMKIG1zZ2lkICJGbG9hdGluZyBwb2ludCBleGNlcHRpb24iCiBtc2dzdHIgIkV4Y2Vw/mllIHZpcmd1bOMgbW9iaWzjIgogCi0jOiBzaWdsaXN0LmM6ODYKKyM6IHNpZ2xpc3QuYzo4NwogbXNnaWQgIktpbGxlZCIKIG1zZ3N0ciAiVGVybWluYXQoa2lsbGVkKSIKIAotIzogc2lnbGlzdC5jOjkwCisjOiBzaWdsaXN0LmM6OTEKIG1zZ2lkICJCdXMgZXJyb3IiCiBtc2dzdHIgIkVyb2FyZSBkZSBidXMiCiAKLSM6IHNpZ2xpc3QuYzo5NAorIzogc2lnbGlzdC5jOjk1CiBtc2dpZCAiU2VnbWVudGF0aW9uIGZhdWx0IgogbXNnc3RyICJFcm9hcmUgZGUgc2VnbWVudGFyZSAoU2VnbWVudGF0aW9uIGZhdWx0KSIKIAotIzogc2lnbGlzdC5jOjk4CisjOiBzaWdsaXN0LmM6OTkKIG1zZ2lkICJCYWQgc3lzdGVtIGNhbGwiCiBtc2dzdHIgIkFwZWxhcmUgc2lzdGVtIGludmFsaWTjIgogCi0jOiBzaWdsaXN0LmM6MTAyCisjOiBzaWdsaXN0LmM6MTAzCiBtc2dpZCAiQnJva2VuIHBpcGUiCiBtc2dzdHIgIkxlZ+N0dXLjKHBpcGUpIO5udHJlcnVwdOMiCiAKLSM6IHNpZ2xpc3QuYzoxMDYKKyM6IHNpZ2xpc3QuYzoxMDcKIG1zZ2lkICJBbGFybSBjbG9jayIKIG1zZ3N0ciAiQ2VhcyBhbGFybeMiCiAKLSM6IHNpZ2xpc3QuYzoxMTAKKyM6IHNpZ2xpc3QuYzoxMTEKIG1zZ2lkICJUZXJtaW5hdGVkIgogbXNnc3RyICJUZXJtaW5hdCIKIAotIzogc2lnbGlzdC5jOjExNAorIzogc2lnbGlzdC5jOjExNQogbXNnaWQgIlVyZ2VudCBJTyBjb25kaXRpb24iCiBtc2dzdHIgIkNvbmRp/mllIElPIHVyZ2VudOMiCiAKLSM6IHNpZ2xpc3QuYzoxMTgKKyM6IHNpZ2xpc3QuYzoxMTkKIG1zZ2lkICJTdG9wcGVkIChzaWduYWwpIgogbXNnc3RyICJPcHJpdCAoc2VtbmFsKSIKIAotIzogc2lnbGlzdC5jOjEyNgorIzogc2lnbGlzdC5jOjEyNwogbXNnaWQgIkNvbnRpbnVlIgogbXNnc3RyICJDb250aW51YXJlIgogCi0jOiBzaWdsaXN0LmM6MTM0CisjOiBzaWdsaXN0LmM6MTM1CiBtc2dpZCAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKIG1zZ3N0ciAiU3VjY2Vzb3IgbW9ydCBzYXUgb3ByaXQiCiAKLSM6IHNpZ2xpc3QuYzoxMzgKKyM6IHNpZ2xpc3QuYzoxMzkKIG1zZ2lkICJTdG9wcGVkICh0dHkgaW5wdXQpIgogbXNnc3RyICJPcHJpdCAodHR5IGlucHV0KSIKIAotIzogc2lnbGlzdC5jOjE0MgorIzogc2lnbGlzdC5jOjE0MwogbXNnaWQgIlN0b3BwZWQgKHR0eSBvdXRwdXQpIgogbXNnc3RyICJPcHJpdCAodHR5IG91dHB1dCkiCiAKLSM6IHNpZ2xpc3QuYzoxNDYKKyM6IHNpZ2xpc3QuYzoxNDcKIG1zZ2lkICJJL08gcmVhZHkiCiBtc2dzdHIgIkkvTyBwcmVn43RpdCIKIAotIzogc2lnbGlzdC5jOjE1MAorIzogc2lnbGlzdC5jOjE1MQogbXNnaWQgIkNQVSBsaW1pdCIKIG1zZ3N0ciAibGltaXTjIENQVSIKIAotIzogc2lnbGlzdC5jOjE1NAorIzogc2lnbGlzdC5jOjE1NQogbXNnaWQgIkZpbGUgbGltaXQiCiBtc2dzdHIgImxpbWl04yBmabppZXIiCiAKLSM6IHNpZ2xpc3QuYzoxNTgKKyM6IHNpZ2xpc3QuYzoxNTkKIG1zZ2lkICJBbGFybSAodmlydHVhbCkiCiBtc2dzdHIgIkFsYXJt4yAodmlydHVhbCkiCiAKLSM6IHNpZ2xpc3QuYzoxNjIKKyM6IHNpZ2xpc3QuYzoxNjMKIG1zZ2lkICJBbGFybSAocHJvZmlsZSkiCiBtc2dzdHIgIkFsYXJt4yAocHJvZmlsKSIKIAotIzogc2lnbGlzdC5jOjE2NgorIzogc2lnbGlzdC5jOjE2NwogbXNnaWQgIldpbmRvdyBjaGFuZ2VkIgogbXNnc3RyICJGZXJlYXN0cuMgc2NoaW1iYXTjIgogCi0jOiBzaWdsaXN0LmM6MTcwCisjOiBzaWdsaXN0LmM6MTcxCiBtc2dpZCAiUmVjb3JkIGxvY2siCiBtc2dzdHIgIlJl/mluZXJlIChsb2NrKSDubnJlZ2lzdHJhcmUiCiAKLSM6IHNpZ2xpc3QuYzoxNzQKKyM6IHNpZ2xpc3QuYzoxNzUKIG1zZ2lkICJVc2VyIHNpZ25hbCAxIgogbXNnc3RyICJTZW1uYWwgdXRpbGl6YXRvciAxIgogCi0jOiBzaWdsaXN0LmM6MTc4CisjOiBzaWdsaXN0LmM6MTc5CiBtc2dpZCAiVXNlciBzaWduYWwgMiIKIG1zZ3N0ciAiU2VtbmFsIHV0aWxpemF0b3IgMiIKIAotIzogc2lnbGlzdC5jOjE4MgorIzogc2lnbGlzdC5jOjE4MwogbXNnaWQgIkhGVCBpbnB1dCBkYXRhIHBlbmRpbmciCiBtc2dzdHIgIkRhdGUgZGUgaW50cmFyZSBIRlQg7m4gY3VycyBkZSByZXpvbHZhcmUocGVuZGluZykiCiAKLSM6IHNpZ2xpc3QuYzoxODYKKyM6IHNpZ2xpc3QuYzoxODcKIG1zZ2lkICJwb3dlciBmYWlsdXJlIGltbWluZW50IgogbXNnc3RyICJwcm9ibGVtZSBlbGVjdHJpY2UgaW1pbmVudGUiCiAKLSM6IHNpZ2xpc3QuYzoxOTAKKyM6IHNpZ2xpc3QuYzoxOTEKIG1zZ2lkICJzeXN0ZW0gY3Jhc2ggaW1taW5lbnQiCiBtc2dzdHIgImNyYXNoIGRlIHNpc3RlbSBpbWluZW50IgogCi0jOiBzaWdsaXN0LmM6MTk0CisjOiBzaWdsaXN0LmM6MTk1CiBtc2dpZCAibWlncmF0ZSBwcm9jZXNzIHRvIGFub3RoZXIgQ1BVIgogbXNnc3RyICJtaWdyYXJlIHByb2NlcyBzcHJlIGFsdCBDUFUiCiAKLSM6IHNpZ2xpc3QuYzoxOTgKKyM6IHNpZ2xpc3QuYzoxOTkKIG1zZ2lkICJwcm9ncmFtbWluZyBlcnJvciIKIG1zZ3N0ciAiZXJvYXJlIGRlIHByb2dyYW1hcmUiCiAKLSM6IHNpZ2xpc3QuYzoyMDIKKyM6IHNpZ2xpc3QuYzoyMDMKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIGdyYW50ZWQiCiBtc2dzdHIgIm1vZCBtb25pdG9yIEhGVCBhY29yZGF0IgogCi0jOiBzaWdsaXN0LmM6MjA2CisjOiBzaWdsaXN0LmM6MjA3CiBtc2dpZCAiSEZUIG1vbml0b3IgbW9kZSByZXRyYWN0ZWQiCiBtc2dzdHIgIm1vZCBtb25pdG9yIEhGVCByZXRyYXMiCiAKLSM6IHNpZ2xpc3QuYzoyMTAKKyM6IHNpZ2xpc3QuYzoyMTEKIG1zZ2lkICJIRlQgc291bmQgc2VxdWVuY2UgaGFzIGNvbXBsZXRlZCIKIG1zZ3N0ciAic2VjdmVu/uMgZGUgc3VuZXQgSEZUIGNvbXBsZXRhdOMiCiAKLSM6IHNpZ2xpc3QuYzoyMTQKKyM6IHNpZ2xpc3QuYzoyMTUKIG1zZ2lkICJJbmZvcm1hdGlvbiByZXF1ZXN0IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMjIKKyM6IHNpZ2xpc3QuYzoyMjMKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjIgogbXNnc3RyICJTZW1uYWwgTmVjdW5vc2N1dCAjIgogCi0jOiBzaWdsaXN0LmM6MjI0CisjOiBzaWdsaXN0LmM6MjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKIG1zZ3N0ciAiU2VtbmFsIE5lY3Vub3NjdXQgIyVkIgogCi0jOiBzdWJzdC5jOjExODEgc3Vic3QuYzoxMzAyCisjOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNDU0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIGAlcycgaW4gJXMiCiBtc2dzdHIgInN1YnN0aXR1/mllIGludmFsaWTjOiBudSBleGlzdOMgJyVzJyDubiAlcyIKIAotIzogc3Vic3QuYzoyNDU4CisjOiBzdWJzdC5jOjI3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gbGlzdCB0byBhcnJheSBtZW1iZXIiCiBtc2dzdHIgIiVzOiBudSBwb3QgYXNpZ25hIGxpc3TjIG1lbWJydWx1aSBpbnRlcnZhbHVsdWkiCiAKLSM6IHN1YnN0LmM6NDQ1NiBzdWJzdC5jOjQ0NzIKKyM6IHN1YnN0LmM6NDc1NCBzdWJzdC5jOjQ3NzAKICMsIGZ1enp5CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIm51IHBvdCBmYWNlIGxlZ+N0dXLjIChwaXBlKSBwZW50cnUgc3Vic3RpdHX+aWEgcHJvY2VzdWx1aTogJXMiCiAKLSM6IHN1YnN0LmM6NDUwNAorIzogc3Vic3QuYzo0ODAyCiAjLCBmdXp6eQogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAibnUgcG90IGNyZWEgdW4gcHJvY2VzIGNvcGlsIHBlbnRydSBzdWJzdGl0dWlyZWEgcHJvY2VzdWx1aTogJXMiCiAKLSM6IHN1YnN0LmM6NDU0OQorIzogc3Vic3QuYzo0ODQ3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogbXNnc3RyICJudSBwb3QgZGVzY2hpZGUgbGVn43R1cmEgbnVtaXTjICVzIHBlbnRydSAlczogJXMiCiAKLSM6IHN1YnN0LmM6NDU1MQorIzogc3Vic3QuYzo0ODQ5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciB3cml0aW5nIgogbXNnc3RyICJudSBwb3QgZGVzY2hpZGUgbGVn43R1cmEgbnVtaXTjICVzIHBlbnRydSAlczogJXMiCiAKLSM6IHN1YnN0LmM6NDU2OQorIzogc3Vic3QuYzo0ODY3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgIm51IHNlIHBvYXRlIGR1cGxpY2EgbGVn43R1cmEgbnVtaXTjICVzIGNhIGZkICVkOiAlcyAiCiAKLSM6IHN1YnN0LmM6NDc2NQorIzogc3Vic3QuYzo1MDYzCiAjLCBmdXp6eQogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJudSBwb3QgZmFjZSBsZWfjdHVyaShwaXBlcykgcGVudHJ1IHN1YnN0aXR1/mlhIGRlIGNvbWVuemk6ICVzIgogCi0jOiBzdWJzdC5jOjQ3OTkKKyM6IHN1YnN0LmM6NTA5NwogIywgZnV6enkKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIm51IHBvdCBjcmVhIHVuIGNvcGlsIHBlbnRydSBzdWJzdGl0df5pYSBkZSBjb21lbnppOiAlcyIKIAotIzogc3Vic3QuYzo0ODE2CisjOiBzdWJzdC5jOjUxMTQKICMsIGZ1enp5CiBtc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIG1zZ3N0ciAiY29tbWFuZF9zdWJzdGl0dXRlOiBudSBzZSBwb2F0ZSBkdXBsaWNhIGxlZ+N0dXJhIChwaXBlKSBjYSBmZCAxOiAlcyIKIAotIzogc3Vic3QuYzo1MzE4CisjOiBzdWJzdC5jOjU2MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCiBtc2dzdHIgIiVzOiBwYXJhbWV0cnUgbnVsbCBzYXUgbmVzZXRhdCIKIAotIzogc3Vic3QuYzo1NjA4CisjOiBzdWJzdC5jOjU5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKIG1zZ3N0ciAiJXM6IGV4cHJlc2llIHN1YrppciA8IDAiCiAKLSM6IHN1YnN0LmM6NjY2MAorIzogc3Vic3QuYzo2OTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIlczogc3Vic3RpdHX+aWUgaW52YWxpZOMiCiAKLSM6IHN1YnN0LmM6Njc0MAorIzogc3Vic3QuYzo3MDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJCVzOiBudSBzZSBwb2F0ZSBhc2lnbmEg7m4gYWNlc3QgbW9kIgogCi0jOiBzdWJzdC5jOjc0OTkKKyM6IHN1YnN0LmM6NzM3NAorbXNnaWQgIiIKKyJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKKyJzdWJzdGl0dXRpb24iCittc2dzdHIgIiIKKworIzogc3Vic3QuYzo3ODM5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgogbXNnc3RyICJzdWJzdGl0df5pZSBpbnZhbGlk4zogbnUgZXhpc3TjICcpJyBkZSBmaW5hbCDubiAlcyIKIAotIzogc3Vic3QuYzo4Mzc1CisjOiBzdWJzdC5jOjg3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICIiCiAKLSM6IHRlc3QuYzoxNDUKKyM6IHRlc3QuYzoxNDYKIG1zZ2lkICJhcmd1bWVudCBleHBlY3RlZCIKIG1zZ3N0ciAic2UgYbp0ZWFwdOMgcGFyYW1ldHJ1IgogCi0jOiB0ZXN0LmM6MTU0CisjOiB0ZXN0LmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnRlZ2VyIGV4cHJlc3Npb24gZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBzZSBhunRlYXB04yBleHByZXNpZSDubnRyZWFn4yAoaW50ZWdlcikiCiAKLSM6IHRlc3QuYzoyNjIKKyM6IHRlc3QuYzoyNjMKIG1zZ2lkICJgKScgZXhwZWN0ZWQiCiBtc2dzdHIgInNlIGG6dGVhcHTjIGApJyIKIAotIzogdGVzdC5jOjI2NAorIzogdGVzdC5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICJzZSBhunRlYXB04yBgKScsIHMtYSBwcmltaXQgJXMiCiAKLSM6IHRlc3QuYzoyNzkgdGVzdC5jOjY4OCB0ZXN0LmM6NjkxCisjOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTMgdGVzdC5jOjY5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBzZSBhunRlYXB04yBvcGVyYXRvciB1bmFyIgogCi0jOiB0ZXN0LmM6NDQ0IHRlc3QuYzo3MzEKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjczNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogc2UgYbp0ZWFwdOMgb3BlcmF0b3IgYmluYXIiCiAKLSM6IHRlc3QuYzo4MDYKKyM6IHRlc3QuYzo4MTEKIG1zZ2lkICJtaXNzaW5nIGBdJyIKIG1zZ3N0ciAibGlwc2W6dGUgJ10nIgogCi0jOiB0cmFwLmM6MjAxCisjOiB0cmFwLmM6MjAzCiAjLCBmdXp6eQogbXNnaWQgImludmFsaWQgc2lnbmFsIG51bWJlciIKIG1zZ3N0ciAibnVt43IgZGUgc2VtbmFsIGludmFsaWQiCiAKLSM6IHRyYXAuYzozMjQKKyM6IHRyYXAuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVuX3BlbmRpbmdfdHJhcHM6IGJhZCB2YWx1ZSBpbiB0cmFwX2xpc3RbJWRdOiAlcCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFwLmM6MzI4CisjOiB0cmFwLmM6MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgogbXNnc3RyICIiCiAKLSM6IHRyYXAuYzozNzIKKyM6IHRyYXAuYzozODAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKIG1zZ3N0ciAidHJhcF9oYW5kbGVyOiBTZW1uYWwgaW52YWxpZCAlZCIKIAotIzogdmFyaWFibGVzLmM6MzU4CisjOiB2YXJpYWJsZXMuYzozNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIGAlcyciCiBtc2dzdHIgImVyb2FyZSDubiBpbXBvcnRhcmVhIGRlZmluaf5pZWkgZnVuY/5pZWkgcGVudHJ1ICclcyciCiAKLSM6IHZhcmlhYmxlcy5jOjczNgorIzogdmFyaWFibGVzLmM6NzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjE4OTgKKyM6IHZhcmlhYmxlcy5jOjE5MTUKIG1zZ2lkICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzEyNworIzogdmFyaWFibGVzLmM6MzE1OQogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMzQ0IHZhcmlhYmxlcy5jOjMzNTMKKyM6IHZhcmlhYmxlcy5jOjMzNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKK21zZ3N0ciAiJXM6IHBhcmFtZXRydSBudWxsIHNhdSBuZXNldGF0IgorCisjOiB2YXJpYWJsZXMuYzozMzgxIHZhcmlhYmxlcy5jOjMzOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMzU5CisjOiB2YXJpYWJsZXMuYzozMzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM3OTQKKyM6IHZhcmlhYmxlcy5jOjM4MzUKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzgwNworIzogdmFyaWFibGVzLmM6Mzg0OAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM4ODEKKyM6IHZhcmlhYmxlcy5jOjM5MjIKIG1zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKIG1zZ3N0ciAiIgogCisjOiB2YXJpYWJsZXMuYzo0Njc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCittc2dzdHIgIiVzOiBudSBzLWEgcHV0dXQgY3JlYTogJXMiCisKKyM6IHZhcmlhYmxlcy5jOjQ2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiIKKwogIzogdmVyc2lvbi5jOjQ2CiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIG1zZ3N0ciAiIgpAQCAtMTgwMSw2MCArMTg5MSw1MiBAQAogImh0bWw+XG4iCiBtc2dzdHIgIiIKIAotIzogdmVyc2lvbi5jOjg2CisjOiB2ZXJzaW9uLmM6ODYgdmVyc2lvbjIuYzo4MwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMgKCVzKVxuIgogbXNnc3RyICJHTlUgJXMsIHZlcnNpdW5lYSAlc1xuIgogCi0jOiB2ZXJzaW9uLmM6OTEKKyM6IHZlcnNpb24uYzo5MSB2ZXJzaW9uMi5jOjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmlidXRlIGl0LlxuIgogbXNnc3RyICIiCiAKLSM6IHZlcnNpb24uYzo5MgorIzogdmVyc2lvbi5jOjkyIHZlcnNpb24yLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKIG1zZ3N0ciAiIgogCi0jOiB4bWFsbG9jLmM6OTIKKyM6IHZlcnNpb24yLmM6ODYKICMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgInhtYWxsb2M6IG51IHBvdCBhbG9jYSAlbHUgb2N0Zf5pICglbHUgb2N0Zf5pIGFsb2Nh/mkpIgorbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKK21zZ3N0ciAiIgogCi0jOiB4bWFsbG9jLmM6OTQKLSMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhtYWxsb2M6IG51IHBvdCBhbG9jYSAlbHUgb2N0Zf5pICglbHUgb2N0Zf5pIGFsb2Nh/mkpIgotCi0jOiB4bWFsbG9jLmM6MTE0CisjOiB2ZXJzaW9uMi5jOjg3CiAjLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICJ4cmVhbGxvYzogbnUgcG90IHJlYWxvY2EgJWx1IG9jdGX+aSAoJWx1IG9jdGX+aSBhbG9jYf5pKSIKK21zZ2lkICIiCisiTGljZW5zZSBHUEx2Mis6IEdOVSBHUEwgdmVyc2lvbiAyIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgorImh0bWw+XG4iCittc2dzdHIgIiIKIAotIzogeG1hbGxvYy5jOjExNgorIzogeG1hbGxvYy5jOjkxCiAjLCBmdXp6eSwgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKLW1zZ3N0ciAieHJlYWxsb2M6IG51IHBvdCByZWFsb2NhICVsdSBvY3Rl/mkgKCVsdSBvY3Rl/mkgYWxvY2H+aSkiCi0KLSM6IHhtYWxsb2MuYzoxNTAKLSMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKK21zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiBtc2dzdHIgInhtYWxsb2M6IG51IHBvdCBhbG9jYSAlbHUgb2N0Zf5pICglbHUgb2N0Zf5pIGFsb2Nh/mkpIgogCi0jOiB4bWFsbG9jLmM6MTUyCisjOiB4bWFsbG9jLmM6OTMKICMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgogbXNnc3RyICJ4bWFsbG9jOiBudSBwb3QgYWxvY2EgJWx1IG9jdGX+aSAoJWx1IG9jdGX+aSBhbG9jYf5pKSIKIAotIzogeG1hbGxvYy5jOjE3NAorIzogeG1hbGxvYy5jOjE2MwogIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICJ4cmVhbGxvYzogbnUgcG90IHJlYWxvY2EgJWx1IG9jdGX+aSAoJWx1IG9jdGX+aSBhbG9jYf5pKSIKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorbXNnc3RyICJ4bWFsbG9jOiBudSBwb3QgYWxvY2EgJWx1IG9jdGX+aSAoJWx1IG9jdGX+aSBhbG9jYf5pKSIKIAotIzogeG1hbGxvYy5jOjE3NgorIzogeG1hbGxvYy5jOjE2NQogIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICJ4cmVhbGxvYzogbnUgcG90IHJlYWxvY2EgJWx1IG9jdGX+aSAoJWx1IG9jdGX+aSBhbG9jYf5pKSIKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCittc2dzdHIgInhtYWxsb2M6IG51IHBvdCBhbG9jYSAlbHUgb2N0Zf5pICglbHUgb2N0Zf5pIGFsb2Nh/mkpIgogCiAjOiBidWlsdGlucy5jOjQzCiBtc2dpZCAiYWxpYXMgWy1wXSBbbmFtZVs9dmFsdWVdIC4uLiBdIgpAQCAtMTk4OCw3ICsyMDcwLDcgQEAKIAogIzogYnVpbHRpbnMuYzoxMTcKICMsIGZ1enp5Ci1tc2dpZCAiaGVscCBbLWRzXSBbcGF0dGVybiAuLi5dIgorbXNnaWQgImhlbHAgWy1kbXNdIFtwYXR0ZXJuIC4uLl0iCiBtc2dzdHIgImhlbHAgW3RpcGFyIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTIxCkBAIC0yMDIyLDggKzIxMDQsOCBAQAogCiAjOiBidWlsdGlucy5jOjEzNgogbXNnaWQgIiIKLSJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstcCBwcm9tcHRdIFstdCAiCi0idGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgorInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKKyJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxMzgKQEAgLTIyMDYsOSArMjI4OCw5IEBACiAKICM6IGJ1aWx0aW5zLmM6MjI5CiBtc2dpZCAiIgotImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy1XICIKLSJ3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyBzdWZmaXhdICIKLSJbbmFtZSAuLi5dIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy0iCisiVyB3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyAiCisic3VmZml4XSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MjMzCkBAIC0yMjE5LDcgKzIzMDEsNyBAQAogCiAjOiBidWlsdGlucy5jOjIzNwogIywgZnV6enkKLW1zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFtuYW1lIC4uLl0iCittc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbLURFXSBbbmFtZSAuLi5dIgogbXNnc3RyICJ0eXBlIFstYXB0XSBudW1lIFtudW1lIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MjQwCkBAIC0yOTQyLDcgKzMwMjQsMTEgQEAKICIgICAgICAtZVx0XHR1c2UgUmVhZGxpbmUgdG8gb2J0YWluIHRoZSBsaW5lIGluIGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCiAiICAgICAgLWkgdGV4dFx0VXNlIFRFWFQgYXMgdGhlIGluaXRpYWwgdGV4dCBmb3IgUmVhZGxpbmVcbiIKICIgICAgICAtbiBuY2hhcnNcdHJldHVybiBhZnRlciByZWFkaW5nIE5DSEFSUyBjaGFyYWN0ZXJzIHJhdGhlciB0aGFuIHdhaXRpbmdcbiIKLSIgICAgXHRcdGZvciBhIG5ld2xpbmVcbiIKKyIgICAgXHRcdGZvciBhIG5ld2xpbmUsIGJ1dCBob25vciBhIGRlbGltaXRlciBpZiBmZXdlciB0aGFuIE5DSEFSU1xuIgorIiAgICBcdFx0Y2hhcmFjdGVycyBhcmUgcmVhZCBiZWZvcmUgdGhlIGRlbGltaXRlclxuIgorIiAgICAgIC1OIG5jaGFyc1x0cmV0dXJuIG9ubHkgYWZ0ZXIgcmVhZGluZyBleGFjdGx5IE5DSEFSUyBjaGFyYWN0ZXJzLCAiCisidW5sZXNzXG4iCisiICAgIFx0XHRFT0YgaXMgZW5jb3VudGVyZWQgb3IgcmVhZCB0aW1lcyBvdXQsIGlnbm9yaW5nIGFueSBkZWxpbWl0ZXJcbiIKICIgICAgICAtcCBwcm9tcHRcdG91dHB1dCB0aGUgc3RyaW5nIFBST01QVCB3aXRob3V0IGEgdHJhaWxpbmcgbmV3bGluZSBiZWZvcmVcbiIKICIgICAgXHRcdGF0dGVtcHRpbmcgdG8gcmVhZFxuIgogIiAgICAgIC1yXHRcdGRvIG5vdCBhbGxvdyBiYWNrc2xhc2hlcyB0byBlc2NhcGUgYW55IGNoYXJhY3RlcnNcbiIKQEAgLTI5NjIsNyArMzA0OCw3IEBACiAiICAgIG9yIGFuIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIGlzIHN1cHBsaWVkIGFzIHRoZSBhcmd1bWVudCB0byAtdS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMDA2CisjOiBidWlsdGlucy5jOjEwMDkKIG1zZ2lkICIiCiAiUmV0dXJuIGZyb20gYSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0yOTc0LDcgKzMwNjAsNyBAQAogIiAgICBSZXR1cm5zIE4sIG9yIGZhaWx1cmUgaWYgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbiBvciBzY3JpcHQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTAxOQorIzogYnVpbHRpbnMuYzoxMDIyCiBtc2dpZCAiIgogIlNldCBvciB1bnNldCB2YWx1ZXMgb2Ygc2hlbGwgb3B0aW9ucyBhbmQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTMwNTYsNyArMzE0Miw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTEwMQorIzogYnVpbHRpbnMuYzoxMTA0CiBtc2dpZCAiIgogIlVuc2V0IHZhbHVlcyBhbmQgYXR0cmlidXRlcyBvZiBzaGVsbCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zMDc2LDcgKzMxNjIsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgTkFNRSBpcyByZWFkLW9ubHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTEyMQorIzogYnVpbHRpbnMuYzoxMTI0CiBtc2dpZCAiIgogIlNldCBleHBvcnQgYXR0cmlidXRlIGZvciBzaGVsbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMzA5NSw3ICszMTgxLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE0MAorIzogYnVpbHRpbnMuYzoxMTQzCiBtc2dpZCAiIgogIk1hcmsgc2hlbGwgdmFyaWFibGVzIGFzIHVuY2hhbmdlYWJsZS5cbiIKICIgICAgXG4iCkBAIC0zMTE1LDcgKzMyMDEsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTYxCisjOiBidWlsdGlucy5jOjExNjQKIG1zZ2lkICIiCiAiU2hpZnQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTMxMjYsNyArMzIxMiw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTiBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gJCMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE3MyBidWlsdGlucy5jOjExODgKKyM6IGJ1aWx0aW5zLmM6MTE3NiBidWlsdGlucy5jOjExOTEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmcm9tIGEgZmlsZSBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zMTQwLDcgKzMyMjYsNyBAQAogIiAgICBGSUxFTkFNRSBjYW5ub3QgYmUgcmVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjA0CisjOiBidWlsdGlucy5jOjEyMDcKIG1zZ2lkICIiCiAiU3VzcGVuZCBzaGVsbCBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzE1NCw3ICszMjQwLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTIyMAorIzogYnVpbHRpbnMuYzoxMjIzCiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtMzIzMSw3ICszMzE3LDcgQEAKICIgICAgZmFsc2Ugb3IgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjk2CisjOiBidWlsdGlucy5jOjEyOTkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC0zMjM5LDcgKzMzMjUsNyBAQAogIiAgICBiZSBhIGxpdGVyYWwgYF0nLCB0byBtYXRjaCB0aGUgb3BlbmluZyBgWycuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTMwNQorIzogYnVpbHRpbnMuYzoxMzA4CiBtc2dpZCAiIgogIkRpc3BsYXkgcHJvY2VzcyB0aW1lcy5cbiIKICIgICAgXG4iCkBAIC0zMjUxLDcgKzMzMzcsNyBAQAogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTMxNworIzogYnVpbHRpbnMuYzoxMzIwCiBtc2dpZCAiIgogIlRyYXAgc2lnbmFscyBhbmQgb3RoZXIgZXZlbnRzLlxuIgogIiAgICBcbiIKQEAgLTMyODcsNyArMzM3Myw3IEBACiAiZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTM0OQorIzogYnVpbHRpbnMuYzoxMzUyCiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZCB0eXBlLlxuIgogIiAgICBcbiIKQEAgLTMzMTcsNyArMzQwMyw3IEBACiAiZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MAorIzogYnVpbHRpbnMuYzoxMzgzCiBtc2dpZCAiIgogIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCiAiICAgIFxuIgpAQCAtMzM2MSw3ICszNDQ3LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQyNQorIzogYnVpbHRpbnMuYzoxNDI4CiBtc2dpZCAiIgogIkRpc3BsYXkgb3Igc2V0IGZpbGUgbW9kZSBtYXNrLlxuIgogIiAgICBcbiIKQEAgLTMzNzksNyArMzQ2NSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTU9ERSBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NDUKKyM6IGJ1aWx0aW5zLmM6MTQ0OAogbXNnaWQgIiIKICJXYWl0IGZvciBqb2IgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTMzOTYsNyArMzQ4Miw3IEBACiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NjMKKyM6IGJ1aWx0aW5zLmM6MTQ2NgogbXNnaWQgIiIKICJXYWl0IGZvciBwcm9jZXNzIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC0zNDEwLDcgKzM0OTYsNyBAQAogIiAgICBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDc4CisjOiBidWlsdGlucy5jOjE0ODEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTM0MjMsNyArMzUwOSw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0OTIKKyM6IGJ1aWx0aW5zLmM6MTQ5NQogbXNnaWQgIiIKICJBcml0aG1ldGljIGZvciBsb29wLlxuIgogIiAgICBcbiIKQEAgLTM0NDAsNyArMzUyNiw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1MTAKKyM6IGJ1aWx0aW5zLmM6MTUxMwogbXNnaWQgIiIKICJTZWxlY3Qgd29yZHMgZnJvbSBhIGxpc3QgYW5kIGV4ZWN1dGUgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMzQ2MCw3ICszNTQ2LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTUzMQorIzogYnVpbHRpbnMuYzoxNTM0CiBtc2dpZCAiIgogIlJlcG9ydCB0aW1lIGNvbnN1bWVkIGJ5IHBpcGVsaW5lJ3MgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM0NzYsNyArMzU2Miw3IEBACiAiICAgIFRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSByZXR1cm4gc3RhdHVzIG9mIFBJUEVMSU5FLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1NDgKKyM6IGJ1aWx0aW5zLmM6MTU1MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIHBhdHRlcm4gbWF0Y2hpbmcuXG4iCiAiICAgIFxuIgpAQCAtMzQ4Nyw3ICszNTczLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU2MAorIzogYnVpbHRpbnMuYzoxNTYzCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gY29uZGl0aW9uYWwuXG4iCiAiICAgIFxuIgpAQCAtMzUwOCw3ICszNTk0LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU3NworIzogYnVpbHRpbnMuYzoxNTgwCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3Qgc3VjY2VlZHMuXG4iCiAiICAgIFxuIgpAQCAtMzUxOSw3ICszNjA1LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU4OQorIzogYnVpbHRpbnMuYzoxNTkyCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3QgZG9lcyBub3Qgc3VjY2VlZC5cbiIKICIgICAgXG4iCkBAIC0zNTMwLDcgKzM2MTYsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjAxCisjOiBidWlsdGlucy5jOjE2MDQKIG1zZ2lkICIiCiAiQ3JlYXRlIGEgY29wcm9jZXNzIG5hbWVkIE5BTUUuXG4iCiAiICAgIFxuIgpAQCAtMzU0Myw3ICszNjI5LDcgQEAKICIgICAgUmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgQ09NTUFORC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjE1CisjOiBidWlsdGlucy5jOjE2MTgKIG1zZ2lkICIiCiAiRGVmaW5lIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM1NTcsNyArMzY0Myw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyByZWFkb25seS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjI5CisjOiBidWlsdGlucy5jOjE2MzIKIG1zZ2lkICIiCiAiR3JvdXAgY29tbWFuZHMgYXMgYSB1bml0LlxuIgogIiAgICBcbiIKQEAgLTM1NjgsNyArMzY1NCw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NDEKKyM6IGJ1aWx0aW5zLmM6MTY0NAogbXNnaWQgIiIKICJSZXN1bWUgam9iIGluIGZvcmVncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMzU4Miw3ICszNjY4LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSByZXN1bWVkIGpvYi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjU2CisjOiBidWlsdGlucy5jOjE2NTkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTM1OTMsNyArMzY3OSw3IEBACiAiICAgIFJldHVybnMgMSBpZiBFWFBSRVNTSU9OIGV2YWx1YXRlcyB0byAwOyByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NjgKKyM6IGJ1aWx0aW5zLmM6MTY3MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbmRpdGlvbmFsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMzYyMSw3ICszNzA3LDcgQEAKICIgICAgMCBvciAxIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBFWFBSRVNTSU9OLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2OTQKKyM6IGJ1aWx0aW5zLmM6MTY5NwogbXNnaWQgIiIKICJDb21tb24gc2hlbGwgdmFyaWFibGUgbmFtZXMgYW5kIHVzYWdlLlxuIgogIiAgICBcbiIKQEAgLTM2NzUsNyArMzc2MSw3IEBACiAiICAgIFx0XHRjb21tYW5kcyBzaG91bGQgYmUgc2F2ZWQgb24gdGhlIGhpc3RvcnkgbGlzdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE3NTEKKyM6IGJ1aWx0aW5zLmM6MTc1NAogbXNnaWQgIiIKICJBZGQgZGlyZWN0b3JpZXMgdG8gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzcwNiw3ICszNzkyLDcgQEAKICIgICAgY2hhbmdlIGZhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE3ODUKKyM6IGJ1aWx0aW5zLmM6MTc4OAogbXNnaWQgIiIKICJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zNzMzLDcgKzM4MTksNyBAQAogIiAgICBjaGFuZ2UgZmFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTgxNQorIzogYnVpbHRpbnMuYzoxODE4CiBtc2dpZCAiIgogIkRpc3BsYXkgZGlyZWN0b3J5IHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM3NjIsNyArMzg0OCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4NDQKKyM6IGJ1aWx0aW5zLmM6MTg0NwogbXNnaWQgIiIKICJTZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzc4Myw3ICszODY5LDcgQEAKICIgICAgZ2l2ZW4gb3IgT1BUTkFNRSBpcyBkaXNhYmxlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODY1CisjOiBidWlsdGlucy5jOjE4NjgKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCiAiICAgIFxuIgpAQCAtMzgxMyw3ICszODk5LDcgQEAKICIgICAgZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4OTIKKyM6IGJ1aWx0aW5zLmM6MTg5NQogbXNnaWQgIiIKICJTcGVjaWZ5IGhvdyBhcmd1bWVudHMgYXJlIHRvIGJlIGNvbXBsZXRlZCBieSBSZWFkbGluZS5cbiIKICIgICAgXG4iCkBAIC0zODI3LDE1ICszOTEzLDIwIEBACiAiICAgICAgLXBcdHByaW50IGV4aXN0aW5nIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnMgaW4gYSByZXVzYWJsZSBmb3JtYXRcbiIKICIgICAgICAtclx0cmVtb3ZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGZvciBlYWNoIE5BTUUsIG9yLCBpZiBub1xuIgogIiAgICBcdE5BTUVzIGFyZSBzdXBwbGllZCwgYWxsIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnNcbiIKKyIgICAgICAtRFx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIGFzIHRoZSBkZWZhdWx0IGZvciBjb21tYW5kc1xuIgorIiAgICBcdHdpdGhvdXQgYW55IHNwZWNpZmljIGNvbXBsZXRpb24gZGVmaW5lZFxuIgorIiAgICAgIC1FXHRhcHBseSB0aGUgY29tcGxldGlvbnMgYW5kIGFjdGlvbnMgdG8gXCJlbXB0eVwiIGNvbW1hbmRzIC0tXG4iCisiICAgIFx0Y29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYSBibGFuayBsaW5lXG4iCiAiICAgIFxuIgogIiAgICBXaGVuIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkLCB0aGUgYWN0aW9ucyBhcmUgYXBwbGllZCBpbiB0aGUgb3JkZXIgdGhlXG4iCi0iICAgIHVwcGVyY2FzZS1sZXR0ZXIgb3B0aW9ucyBhcmUgbGlzdGVkIGFib3ZlLlxuIgorIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS4gIFRoZSAtRCBvcHRpb24gdGFrZXNcbiIKKyIgICAgcHJlY2VkZW5jZSBvdmVyIC1FLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5MTUKKyM6IGJ1aWx0aW5zLmM6MTkyMwogbXNnaWQgIiIKICJEaXNwbGF5IHBvc3NpYmxlIGNvbXBsZXRpb25zIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zODQ4LDcgKzM5MzksNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTMwCisjOiBidWlsdGlucy5jOjE5MzgKIG1zZ2lkICIiCiAiTW9kaWZ5IG9yIGRpc3BsYXkgY29tcGxldGlvbiBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTM4NjEsNiArMzk1Miw4IEBACiAiICAgIFxuIgogIiAgICBPcHRpb25zOlxuIgogIiAgICBcdC1vIG9wdGlvblx0U2V0IGNvbXBsZXRpb24gb3B0aW9uIE9QVElPTiBmb3IgZWFjaCBOQU1FXG4iCisiICAgIFx0LURcdFx0Q2hhbmdlIG9wdGlvbnMgZm9yIHRoZSBcImRlZmF1bHRcIiBjb21tYW5kIGNvbXBsZXRpb25cbiIKKyIgICAgXHQtRVx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZW1wdHlcIiBjb21tYW5kIGNvbXBsZXRpb25cbiIKICIgICAgXG4iCiAiICAgIFVzaW5nIGArbycgaW5zdGVhZCBvZiBgLW8nIHR1cm5zIG9mZiB0aGUgc3BlY2lmaWVkIG9wdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zODc3LDE1ICszOTcwLDE1IEBACiAiICAgIGhhdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZGVmaW5lZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTU4CisjOiBidWlsdGlucy5jOjE5NjgKIG1zZ2lkICIiCi0iUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgorIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKLSIgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBhcnJheSB2YXJpYWJsZSBBUlJBWSwgb3IgIgotImZyb21cbiIKLSIgICAgZmlsZSBkZXNjcmlwdG9yIEZEIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaWFibGUgTUFQRklMRSAiCi0iaXNcbiIKLSIgICAgdGhlIGRlZmF1bHQgQVJSQVkuXG4iCisiICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgaW5kZXhlZCBhcnJheSB2YXJpYWJsZSAiCisiQVJSQVksIG9yXG4iCisiICAgIGZyb20gZmlsZSBkZXNjcmlwdG9yIEZEIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaWFibGUgIgorIk1BUEZJTEVcbiIKKyIgICAgaXMgdGhlIGRlZmF1bHQgQVJSQVkuXG4iCiAiICAgIFxuIgogIiAgICBPcHRpb25zOlxuIgogIiAgICAgIC1uIGNvdW50XHRDb3B5IGF0IG1vc3QgQ09VTlQgbGluZXMuICBJZiBDT1VOVCBpcyAwLCBhbGwgbGluZXMgYXJlICIKQEAgLTM5MTIsMTYgKzQwMDUsMjkgQEAKICIgICAgYXNzaWduaW5nIHRvIGl0LlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIEFSUkFZIGlzIHJlYWRvbmx5ICIKKyJvclxuIgorIiAgICBub3QgYW4gaW5kZXhlZCBhcnJheS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTkwCisjOiBidWlsdGlucy5jOjIwMDEKIG1zZ2lkICIiCiAiUmVhZCBsaW5lcyBmcm9tIGEgZmlsZSBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKICIgICAgQSBzeW5vbnltIGZvciBgbWFwZmlsZScuIgogbXNnc3RyICIiCiAKKyN+IG1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyN+IG1zZ3N0ciAieHJlYWxsb2M6IG51IHBvdCByZWFsb2NhICVsdSBvY3Rl/mkgKCVsdSBvY3Rl/mkgYWxvY2H+aSkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCisjfiBtc2dzdHIgInhyZWFsbG9jOiBudSBwb3QgcmVhbG9jYSAlbHUgb2N0Zf5pICglbHUgb2N0Zf5pIGFsb2Nh/mkpIgorCisjLCBmdXp6eQorI34gbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyN+IG1zZ3N0ciAieHJlYWxsb2M6IG51IHBvdCByZWFsb2NhICVsdSBvY3Rl/mkgKCVsdSBvY3Rl/mkgYWxvY2H+aSkiCisKICN+IG1zZ2lkICJNaXNzaW5nIGB9JyIKICN+IG1zZ3N0ciAiYH0nIGxpcHPjIgogCmRpZmYgLS1naXQgYS9wby9ydS5nbW8gYi9wby9ydS5nbW8KaW5kZXggNTBlYTdlMi4uYjVhZWNjZiAxMDA2NDQKLS0tIGEvcG8vcnUuZ21vCisrKyBiL3BvL3J1LmdtbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9wby9ydS5wbyBiL3BvL3J1LnBvCmluZGV4IDA0ZThkMjkuLjQ4OTYzNWIgMTAwNjQ0Ci0tLSBhL3BvL3J1LnBvCisrKyBiL3BvL3J1LnBvCkBAIC04LDcgKzgsNyBAQAogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBHTlUgYmFzaCAzLjEtcmVsZWFzZVxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0wMi0xOSAxNDo1My0wNTAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMTItMzAgMDg6MjUtMDUwMFxuIgogIlBPLVJldmlzaW9uLURhdGU6IDIwMDYtMDEtMDUgMjE6MjgrMDMwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogRXZnZW5peSBEdXNoaXN0b3YgPGR1c2hpc3RvdkBtYWlsLnJ1PlxuIgogIkxhbmd1YWdlLVRlYW06IFJ1c3NpYW4gPHJ1QGxpLm9yZz5cbiIKQEAgLTIyLDUwICsyMiw1NSBAQAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgIs7F0NLB18nM2M7ZyiDJzsTFy9MgzcHT08nXwSIKIAotIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAorIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiIgogCi0jOiBhcnJheWZ1bmMuYzo0NzkKKyM6IGFycmF5ZnVuYy5jOjQ4MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXNzb2NpYXRpdmUgYXJyYXkga2V5IgogbXNnc3RyICIlczogzsXEz9DV09TJzc/FIMnN0SDP0MPJySIKIAotIzogYXJyYXlmdW5jLmM6NDgxCisjOiBhcnJheWZ1bmMuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gdG8gbm9uLW51bWVyaWMgaW5kZXgiCiBtc2dzdHIgIiVzOyDOxSDNz8fVINDSydDJ08HU2CDOxSDeydPMz9fPyiDJzsTFy9MiCiAKLSM6IGFycmF5ZnVuYy5jOjUxNworIzogYXJyYXlmdW5jLmM6NTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIiCiAKLSM6IGJhc2hoaXN0LmM6Mzc5CisjOiBiYXNoaGlzdC5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiBtc2dzdHIgIiVzOiDOxSDNz8fVINPP2sTB1Ng6ICVzIgogCi0jOiBiYXNobGluZS5jOjM0MTMKKyM6IGJhc2hsaW5lLmM6MzQ1NwogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBiYXNobGluZS5jOjM0OTEKKyM6IGJhc2hsaW5lLmM6MzU0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgogbXNnc3RyICIlczog0MXS19nKIM7F0NLPwsXM2M7ZyiDTyc3Xz8wgzsUgYFwiJyIKIAotIzogYmFzaGxpbmUuYzozNTIwCisjOiBiYXNobGluZS5jOjM1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2xvc2luZyBgJWMnIGluICVzIgogbXNnc3RyICLOxdQg2sHL0tnXwcDdxcfPIGAlYycg1yAlcyIKIAotIzogYmFzaGxpbmUuYzozNTU0CisjOiBiYXNobGluZS5jOjM2MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG1pc3NpbmcgY29sb24gc2VwYXJhdG9yIgogbXNnc3RyICIlczog0NLP0NXdxc4g0sHaxMXMydTFzNggxNfPxdTP3snFIgogCisjOiBidWlsdGlucy9hbGlhcy5kZWY6MTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJXMnOiBpbnZhbGlkIGFsaWFzIG5hbWUiCittc2dzdHIgIiVzOiDOxcTP0NXT1MnNz8Ugyc3RIM/Qw8nJIgorCiAjOiBidWlsdGlucy9iaW5kLmRlZjoxMjAgYnVpbHRpbnMvYmluZC5kZWY6MTIzCiBtc2dpZCAibGluZSBlZGl0aW5nIG5vdCBlbmFibGVkIgogbXNnc3RyICIiCkBAIC0xMTUsNiArMTIwLDIxIEBACiAiICAgIFdpdGhvdXQgRVhQUiwgcmV0dXJucyAiCiBtc2dzdHIgIiIKIAorIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzUKK21zZ2lkICIiCisiLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCisiICAgICIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNgorbXNnaWQgIiIKKyI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKKyIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgorIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGlucy9jZC5kZWY6MjE1CiBtc2dpZCAiSE9NRSBub3Qgc2V0IgogbXNnc3RyICLQxdLFzcXOzsHRIEhPTUUgzsUg1dPUwc7P18zFzsEiCkBAIC0xMjgsNyArMTQ4LDcgQEAKIG1zZ2lkICJsaW5lICVkOiAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTM5IGVycm9yLmM6MjYwCisjOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICIKIG1zZ3N0ciAiJXM6INDSxcTV0NLF1sTFzsnFOiIKQEAgLTEzOCwxMSArMTU4LDExIEBACiBtc2dpZCAiJXM6IHVzYWdlOiAiCiBtc2dzdHIgIiVzOiDQ0sXE1dDSxdbExc7JxToiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODIyCisjOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyNwogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKIG1zZ3N0ciAi08zJ28vPzSDNzs/HzyDB0sfVzcXO1M/XIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTMgc2hlbGwuYzo3NzQKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5OSBzaGVsbC5jOjc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgogbXNnc3RyICIlczogz9DDydEg1NLFwtXF1CDB0sfVzcXO1MEiCkBAIC0xNTcsNyArMTc3LDcgQEAKIG1zZ2lkICIlczogbm90IGZvdW5kIgogbXNnc3RyICIlczogzsUgzsHKxMXOIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3ODcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVzOiDOxdDSwdfJzNjOwdEgz9DDydEiCkBAIC0xODIsNyArMjAyLDcgQEAKIG1zZ2lkICJpbnZhbGlkIGhleCBudW1iZXIiCiBtc2dzdHIgIs7FxM/Q1dPUyc3PxSDeydPMzyIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU1CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTYKIG1zZ2lkICJpbnZhbGlkIG51bWJlciIKIG1zZ3N0ciAizsXEz9DV09TJzc/FIN7J08zPIgogCkBAIC0xOTYsNyArMjE2LDcgQEAKIG1zZ2lkICJgJXMnOiBub3QgYSBwaWQgb3IgdmFsaWQgam9iIHNwZWMiCiBtc2dzdHIgImAlcyc6IM7FIMnExc7UycbJy8HUz9IgINDSz8PF09PBIMnMySDQ0sHXyczYzs/FIMnN0SDawcTB3skiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI2NCBlcnJvci5jOjQ1MworIzogYnVpbHRpbnMvY29tbW9uLmM6MjY0IGVycm9yLmM6NDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkb25seSB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6IMTP09TV0M7B0SDUz8zYy88gzsEg3tTFzsnFINDF0sXNxc7OwdEiCkBAIC0yNjgsMjYgKzI4OCwyNiBAQAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgam9iIHNwZWMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjI3MAorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjI3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhY3Rpb24gbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDMwIGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2MTUKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MTMKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo0NDkgYnVpbHRpbnMvY29tcGxldGUuZGVmOjY0NAorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjg1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm8gY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NjcKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTYKIG1zZ2lkICJ3YXJuaW5nOiAtRiBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY2OQorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY5OAogbXNnaWQgIndhcm5pbmc6IC1DIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Nzg2CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODI2CiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAiIgogCkBAIC0yOTUsMjEgKzMxNSwyMSBAQAogbXNnaWQgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKIG1zZ3N0ciAizc/WxdQgwtnU2CDJ09DPzNjaz9fBzsEg1M/M2MvPINcgxtXOy8PJySIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzUzCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzY1IGV4ZWN1dGVfY21kLmM6NDgxOAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVzOiDEz9PU1dDOwdEg1M/M2MvPIM7BIN7Uxc7JxSDG1c7Lw8nRIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjEKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIlczogzsUgzc/H1SDVxMHMydTYINDF0sXNxc7O1cAtzcHT08nXINTBy8nNINPQz9PPws/NIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiIgpAQCAtMzM4LDggKzM1OCw4IEBACiBtc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgogbXNnc3RyICIlczogzsUgzc/H1SDVxMHMydTYOiAgJXMiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM0IGJ1aWx0aW5zL2hhc2guZGVmOjE2OSBleGVjdXRlX2NtZC5jOjQ2NzUKLSM6IHNoZWxsLmM6MTQzOQorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDc5NAorIzogc2hlbGwuYzoxNDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpcyBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXM6INHXzNHF1NPRIMTJ0sXL1M/SycXKIgpAQCAtMzU0LDcgKzM3NCw4IEBACiBtc2dpZCAiJXM6IGZpbGUgaXMgdG9vIGxhcmdlIgogbXNnc3RyICIlczog08zJ28vPzSDCz8zY28/KIMbByswiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGV4ZWN1dGVfY21kLmM6NDc0NSBzaGVsbC5jOjE0NDkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAzIGV4ZWN1dGVfY21kLmM6NDg2NAorIzogc2hlbGwuYzoxNDYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIG1zZ3N0ciAiJXM6IM7FIM3Px9Ug2sHQ1dPUydTYIMLJzsHSztnKIMbByswiCkBAIC0zODQsMTUgKzQwNSwxNSBAQAogbXNnaWQgIlRoZXJlIGFyZSBydW5uaW5nIGpvYnMuXG4iCiBtc2dzdHIgIuXT1Ngg0NLJz9PUwc7P18zFzs7ZxSDawcTB3skuXG4iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjIKIG1zZ2lkICJubyBjb21tYW5kIGZvdW5kIgogbXNnc3RyICLOxSDOwdvFzCDUwcvVwCDLz83BzsTVIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzQxCisjOiBidWlsdGlucy9mYy5kZWY6MzQ5CiBtc2dpZCAiaGlzdG9yeSBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNjIKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCiBtc2dzdHIgIiVzOiDOxSDNz8fVIM/Uy9LZ1Ngg19LFzcXOztnKIMbBysw6ICVzIgpAQCAtNDgzLDEyICs1MDQsMTIgQEAKIG1zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjE5NworIzogYnVpbHRpbnMva2lsbC5kZWY6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhcmd1bWVudHMgbXVzdCBiZSBwcm9jZXNzIG9yIGpvYiBJRHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjYwCisjOiBidWlsdGlucy9raWxsLmRlZjoyNjMKIG1zZ2lkICJVbmtub3duIGVycm9yIgogbXNnc3RyICLuxcna18XT1M7B0SDP28nCy8EiCiAKQEAgLTQ5Niw1NiArNTE3LDYxIEBACiBtc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiz9bJxMHMz9PYINfZ0sHWxc7JxSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQxIGJ1aWx0aW5zL3JlYWQuZGVmOjI3MgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGFuIGluZGV4ZWQgYXJyYXkiCittc2dzdHIgIiVzOiDOxSDQxdLFzcXOzsHRLc3B09PJ1yIKKworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXM6IM7FxM/Q1dPUyc3PxSDP0MnTwc7JxSDGwcrMz9fPx88gxMXTy9LJ0NTP0sEiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NyBidWlsdGlucy9yZWFkLmRlZjoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yOiAlcyIKIG1zZ3N0ciAiJWQ6IM7FxM/Q1dPUyc3ZyiDExdPL0snQ1M/SIMbByszBOiAlcyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU4IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY2IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwNAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKIG1zZ3N0ciAiJXM6IM7F0NLB18nM2M7B0SDP0MPJ0SIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFycmF5IG9yaWdpbiIKIG1zZ3N0ciAiJXM6IM7F0NLB18nM2M7B0SDP0MPJ0SIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjg2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGNhbGxiYWNrIHF1YW50dW0iCiBtc2dzdHIgIiVzOiDOxcTP0NXT1MnNz8Ug3snTzM8iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMxOAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzI2CiAjLCBmdXp6eQogbXNnaWQgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCiBtc2dzdHIgIiVzOiDOxSDQxdLFzcXOzsHRLc3B09PJ1yIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzM5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNDcKIG1zZ2lkICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6MzY3CisjOiBidWlsdGlucy9wcmludGYuZGVmOjM3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBtaXNzaW5nIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgImAlcyc6INDSz9DV3cXOINPJzdfPzCDGz9LNwdTJ0s/Xwc7J0SIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NDQKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiJWMnOiDOxcTP0NXT1MnN2cog08nN18/MIMbP0s3B1MnSz9fBzsnRIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU3MQorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKIG1zZ3N0ciAiJXM6INDSxcTV0NLF1sTFzsnFOiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTAKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzU3CiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAiIgogCkBAIC02MzUsMTIgKzY2MSwxMiBAQAogIiAgICBUaGUgYGRpcnMnIGJ1aWx0aW4gZGlzcGxheXMgdGhlIGRpcmVjdG9yeSBzdGFjay4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcmVhZC5kZWY6MjQ4CisjOiBidWlsdGlucy9yZWFkLmRlZjoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgdGltZW91dCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU3NAorIzogYnVpbHRpbnMvcmVhZC5kZWY6NTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWQgZXJyb3I6ICVkOiAlcyIKIG1zZ3N0ciAiz9vJwsvBIN7Uxc7J0TogJWQ6ICVzIgpAQCAtNjc3LDExICs3MDMsMTEgQEAKIG1zZ2lkICJzaGlmdCBjb3VudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MjU0CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MjYwCiBtc2dpZCAiY2Fubm90IHNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucyBzaW11bHRhbmVvdXNseSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MzE5CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgogbXNnc3RyICIlczogzsXEz9DV09TJzc/FIMnN0SDP0MPJySDPws/Mz97LySIKQEAgLTc3MSw3NyArNzk3LDc3IEBACiBtc2dpZCAiYCVjJzogaW52YWxpZCBzeW1ib2xpYyBtb2RlIGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBlcnJvci5jOjg5IGVycm9yLmM6MzIwIGVycm9yLmM6MzIyIGVycm9yLmM6MzI0CisjOiBlcnJvci5jOjkwIGVycm9yLmM6MzIxIGVycm9yLmM6MzIzIGVycm9yLmM6MzI1CiBtc2dpZCAiIGxpbmUgIgogbXNnc3RyICIiCiAKLSM6IGVycm9yLmM6MTY0CisjOiBlcnJvci5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJsYXN0IGNvbW1hbmQ6ICVzXG4iCiBtc2dzdHIgItDP08zFxM7R0SDLz83BzsTBOiAlc1xuIgogCi0jOiBlcnJvci5jOjE3MgorIzogZXJyb3IuYzoxNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcuLi4iCiBtc2dzdHIgIvrB18XS28HAINLBws/U1S4uLiIKIAotIzogZXJyb3IuYzo0MDUKKyM6IGVycm9yLmM6NDA2CiBtc2dpZCAidW5rbm93biBjb21tYW5kIGVycm9yIgogbXNnc3RyICLOxcna18XT1M7B0SDP28nCy8Egy8/Nwc7E2SIKIAotIzogZXJyb3IuYzo0MDYKKyM6IGVycm9yLmM6NDA3CiBtc2dpZCAiYmFkIGNvbW1hbmQgdHlwZSIKIG1zZ3N0ciAiIgogCi0jOiBlcnJvci5jOjQwNworIzogZXJyb3IuYzo0MDgKIG1zZ2lkICJiYWQgY29ubmVjdG9yIgogbXNnc3RyICIiCiAKLSM6IGVycm9yLmM6NDA4CisjOiBlcnJvci5jOjQwOQogbXNnaWQgImJhZCBqdW1wIgogbXNnc3RyICIiCiAKLSM6IGVycm9yLmM6NDQ2CisjOiBlcnJvci5jOjQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5ib3VuZCB2YXJpYWJsZSIKIG1zZ3N0ciAiIgogCiAjOiBldmFsLmM6MTgxCiAjLCBjLWZvcm1hdAotbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnaWQgIgd0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTEKKyM6IGV4ZWN1dGVfY21kLmM6NDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzoxMTEyCisjOiBleGVjdXRlX2NtZC5jOjExNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVElNRUZPUk1BVDogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MjAxMQorIzogZXhlY3V0ZV9jbWQuYzoyMDc1CiAjLCBmdXp6eQogbXNnaWQgInBpcGUgZXJyb3IiCiBtc2dzdHIgIs/bycLLwSDawdDJ08k6ICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjQzNjMKKyM6IGV4ZWN1dGVfY21kLmM6NDQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDU0CisjOiBleGVjdXRlX2NtZC5jOjQ1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIlczogy8/Nwc7EwSDOxSDOwcrExc7BIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ3MDgKKyM6IGV4ZWN1dGVfY21kLmM6NDgyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGJhZCBpbnRlcnByZXRlciIKIG1zZ3N0ciAiJXM6ICVzOiDQzM/Iz8ogyc7UxdLQ0sXUwdTP0iIKIAotIzogZXhlY3V0ZV9jbWQuYzo0ODU3CisjOiBleGVjdXRlX2NtZC5jOjQ5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKIG1zZ3N0ciAizsUgzc/H1SDE1cLMydLP18HU2CBmZCAlZCDXIGZkICVkIgpAQCAtODg2LDI4ICs5MTIsMjggQEAKIG1zZ2lkICJtaXNzaW5nIGApJyIKIG1zZ3N0ciAi0NLP0NXdxc4gYCknIgogCi0jOiBleHByLmM6ODk3IGV4cHIuYzoxMTc1CisjOiBleHByLmM6ODk3IGV4cHIuYzoxMTc2CiBtc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogbXNnc3RyICLP28nCy8Eg08nO1MHL08nTwTogz9bJxMHF1NPRIM/QxdLBzsQiCiAKLSM6IGV4cHIuYzoxMTc3CisjOiBleHByLmM6MTE3OAogbXNnaWQgInN5bnRheCBlcnJvcjogaW52YWxpZCBhcml0aG1ldGljIG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMjAxCisjOiBleHByLmM6MTIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMjU5CisjOiBleHByLmM6MTI2MAogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMjc5CisjOiBleHByLmM6MTI4MAogbXNnaWQgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTMyOAorIzogZXhwci5jOjEzMjkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCiBtc2dzdHIgIs/WycTBzM/T2CDX2dLB1sXOycUiCkBAIC05MTYsNyArOTQyLDcgQEAKIG1zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgogbXNnc3RyICIiCiAKLSM6IGlucHV0LmM6OTQgc3Vic3QuYzo0NTU5CisjOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDg1NwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc2V0IG5vZGVsYXkgbW9kZSBmb3IgZmQgJWQiCiBtc2dzdHIgIs7FIM3Px9UgxNXCzMnSz9fB1NggZmQgJWQg1yBmZCAlZCIKQEAgLTk2OSw3ICs5OTUsNyBAQAogbXNnaWQgIkRvbmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMgorIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMwogbXNnaWQgIlN0b3BwZWQiCiBtc2dzdHIgIiIKIApAQCAtMTAwNiw2OSArMTAzMiw3MyBAQAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE3NzEKKyM6IGpvYnMuYzoxNzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyMDk5IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMDQgbm9qb2JzLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjMyNgorIzogam9icy5jOjIzMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjU5OAorIzogam9icy5jOjI2MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjgyMAorIzogam9icy5jOjI4MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiBoYXMgdGVybWluYXRlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjgyOQorIzogam9icy5jOjI4MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM0OTIKKyM6IGpvYnMuYzozMDU5Cittc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgorbXNnc3RyICIiCisKKyM6IGpvYnMuYzozNTA4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogbGluZSAlZDogIgogbXNnc3RyICIlczog0NLFxNXQ0sXWxMXOycU6IgogCi0jOiBqb2JzLmM6MzUwNiBub2pvYnMuYzo4MTQKKyM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKGNvcmUgZHVtcGVkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzUxOCBqb2JzLmM6MzUzMQorIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHdkIG5vdzogJXMpXG4iCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM1NjMKKyM6IGpvYnMuYzozNTc5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2MjMKKyM6IGpvYnMuYzozNjM5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjMzCisjOiBqb2JzLmM6MzY0OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2NjEKKyM6IGpvYnMuYzozNjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjY2CisjOiBqb2JzLmM6MzY4MgogbXNnaWQgIm5vIGpvYiBjb250cm9sIGluIHRoaXMgc2hlbGwiCiBtc2dzdHIgIiIKIApAQCAtMTE1OSw2ICsxMTg5LDI2IEBACiBtc2dpZCAibmV0d29yayBvcGVyYXRpb25zIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIiIKIAorIzogbG9jYWxlLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICIiCisKICM6IG1haWxjaGVjay5jOjQzMwogbXNnaWQgIllvdSBoYXZlIG1haWwgaW4gJF8iCiBtc2dzdHIgIvUg18HTIMXT1Ngg0M/e1MEg1yAkXyIKQEAgLTExNzIsMTMxICsxMjIyLDEzMSBAQAogbXNnaWQgIlRoZSBtYWlsIGluICVzIGhhcyBiZWVuIHJlYWRcbiIKIG1zZ3N0ciAi8M/e1MEg1yAlcyDC2czBINDSz97J1MHOwVxuIgogCi0jOiBtYWtlX2NtZC5jOjMyMgorIzogbWFrZV9jbWQuYzozMjMKIG1zZ2lkICJzeW50YXggZXJyb3I6IGFyaXRobWV0aWMgZXhwcmVzc2lvbiByZXF1aXJlZCIKIG1zZ3N0ciAiIgogCi0jOiBtYWtlX2NtZC5jOjMyNAorIzogbWFrZV9jbWQuYzozMjUKIG1zZ2lkICJzeW50YXggZXJyb3I6IGA7JyB1bmV4cGVjdGVkIgogbXNnc3RyICLP28nCy8Eg08nO1MHL08nTwTogYDsnIM7FIM/WycTBxdTT0SIKIAotIzogbWFrZV9jbWQuYzozMjUKKyM6IG1ha2VfY21kLmM6MzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvcjogYCgoJXMpKSciCiBtc2dzdHIgIs/bycLLwSDTyc7UwcvTydPBOiBgKCglcykpJyIKIAotIzogbWFrZV9jbWQuYzo1NjcKKyM6IG1ha2VfY21kLmM6NTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfaGVyZV9kb2N1bWVudDogYmFkIGluc3RydWN0aW9uIHR5cGUgJWQiCiBtc2dzdHIgIiIKIAotIzogbWFrZV9jbWQuYzo2NTEKKyM6IG1ha2VfY21kLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlcmUtZG9jdW1lbnQgYXQgbGluZSAlZCBkZWxpbWl0ZWQgYnkgZW5kLW9mLWZpbGUgKHdhbnRlZCBgJXMnKSIKIG1zZ3N0ciAiIgogCi0jOiBtYWtlX2NtZC5jOjc0NgorIzogbWFrZV9jbWQuYzo3NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueToyOTg2IHBhcnNlLnk6MzIxOAorIzogcGFyc2UueTozMTMzIHBhcnNlLnk6MzM2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgJWMnIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzcyMgorIzogcGFyc2UueTozOTUxCiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM3MjcKKyM6IHBhcnNlLnk6Mzk1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzczMQorIzogcGFyc2UueTozOTYwCiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozODA5CisjOiBwYXJzZS55OjQwMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozODEzCisjOiBwYXJzZS55OjQwNDIKIG1zZ2lkICJleHBlY3RlZCBgKSciCiBtc2dzdHIgIs/WycTBzNPRIGApJyIKIAotIzogcGFyc2UueTozODQxCisjOiBwYXJzZS55OjQwNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6Mzg0NQorIzogcGFyc2UueTo0MDc0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM4ODUKKyM6IHBhcnNlLnk6NDEyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM4ODkKKyM6IHBhcnNlLnk6NDEyNAogbXNnaWQgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM5MDYKKyM6IHBhcnNlLnk6NDE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzkxMAorIzogcGFyc2UueTo0MTUwCiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozOTIxCisjOiBwYXJzZS55OjQxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozOTI0CisjOiBwYXJzZS55OjQxNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozOTI4CisjOiBwYXJzZS55OjQxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NTE5NQorIzogcGFyc2UueTo1NDU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjUyMTMKKyM6IHBhcnNlLnk6NTQ3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgogbXNnc3RyICLP28nCy8Eg08nO1MHL08nTwSDPy8/MzyBgJXMnIgogCi0jOiBwYXJzZS55OjUyMjMKKyM6IHBhcnNlLnk6NTQ4NwogbXNnaWQgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAiz9vJwsvBINPJztTBy9PJ08E6IM7Fz9bJxMHOztnKIMvPzsXDIMbByszBIgogCi0jOiBwYXJzZS55OjUyMjMKKyM6IHBhcnNlLnk6NTQ4NwogbXNnaWQgInN5bnRheCBlcnJvciIKIG1zZ3N0ciAiz9vJwsvBINPJztTBy9PJ08EiCiAKLSM6IHBhcnNlLnk6NTI4NQorIzogcGFyc2UueTo1NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICLp09DPzNja1crUxSBcIiVzXCIsIN7Uz8LZINrB18XS28nU2NPRINLBws/U1SDTICDPws/Mz97Lz8ouXG4iCiAKLSM6IHBhcnNlLnk6NTQ0NworIzogcGFyc2UueTo1NzExCiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgogbXNnc3RyICIiCiAKLSM6IHBjb21wbGV0ZS5jOjEwMTgKKyM6IHBjb21wbGV0ZS5jOjEwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgIiIKQEAgLTEzMDYsNzEgKzEzNTYsOTAgQEAKIG1zZ2lkICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjI4NQorIzogcHJpbnRfY21kLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzoxMzQ4CisjOiBwcmludF9jbWQuYzozNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiJWQ6IM7FxM/Q1dPUyc3ZyiDExdPL0snQ1M/SIMbByszBOiAlcyIKKworIzogcHJpbnRfY21kLmM6MzY4Cittc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCittc2dzdHIgIiIKKworIzogcHJpbnRfY21kLmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzoxNDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjEwNQorIzogcmVkaXIuYzoxMTAKIG1zZ2lkICJmaWxlIGRlc2NyaXB0b3Igb3V0IG9mIHJhbmdlIgogbXNnc3RyICLGwcrMz9fZyiDExdPL0snQ1M/SINrBINDSxcTFzMHNySDEz9DV09TJzc/HzyDEycHQwdrPzsEiCiAKLSM6IHJlZGlyLmM6MTQ4CisjOiByZWRpci5jOjE2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYW1iaWd1b3VzIHJlZGlyZWN0IgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6MTUyCisjOiByZWRpci5jOjE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlIgogbXNnc3RyICIlczogzsUgzc/H1SDQxdLF0MnTwdTYINXWxSDT1d3F09TX1cDdycogxsHKzCIKIAotIzogcmVkaXIuYzoxNTcKKyM6IHJlZGlyLmM6MTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3QgcmVkaXJlY3Qgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6MTYyCisjOiByZWRpci5jOjE4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIHRlbXAgZmlsZSBmb3IgaGVyZS1kb2N1bWVudDogJXMiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzo1MTcKKyM6IHJlZGlyLmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKK21zZ3N0ciAiJXM6IM7FINDF0sXNxc7OwdEtzcHT08nXIgorCisjOiByZWRpci5jOjU0NAogbXNnaWQgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjEwMjMKKyM6IHJlZGlyLmM6MTEwMQogbXNnaWQgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgogbXNnc3RyICLP28nCy8Eg0MXSxc7B0NLB18zFzsnROiDOxSDNz8fVIMTVwszJ0s/XwdTYIGZkIgogCi0jOiBzaGVsbC5jOjMyOAorIzogc2hlbGwuYzozMzIKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIG1zZ3N0ciAizsUgzc/H1SDOwcrUySAvdG1wLCDQz9bBzNXK09TBINPP2sTBytTFISIKIAotIzogc2hlbGwuYzozMzIKKyM6IHNoZWxsLmM6MzM2CiBtc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCiBtc2dzdHIgIi90bXAgxM/M1s7BIMLZ1NggxMXK09TXydTFzNjO2c0gyc3FzsXNIMTJ0sXL1M/SyckiCiAKLSM6IHNoZWxsLmM6ODc2CisjOiBzaGVsbC5jOjg4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJWMlYzogzsXEz9DV09TJzcHRIM/Qw8nRIgogCi0jOiBzaGVsbC5jOjE2MzgKKyM6IHNoZWxsLmM6MTY1MQogbXNnaWQgIkkgaGF2ZSBubyBuYW1lISIKIG1zZ3N0ciAi9SDNxc7RIM7F1CDJzcXOySEiCiAKLSM6IHNoZWxsLmM6MTc3OAorIzogc2hlbGwuYzoxNzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkdOVSBiYXNoLCB2ZXJzaW9uICVzLSglcylcbiIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjE3NzkKKyM6IHNoZWxsLmM6MTc5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKQEAgLTEzODAsMzgwICsxNDQ5LDQwMSBAQAogIiVzIFvEzMnOztnFIM/Qw8nJIMEtzNEgYEdOVSddIFvP0MPJyV0gLi4uXG4iCiAiXHQlcyBbxMzJzs7ZxSDP0MPJySDBLczRIGBHTlUnXSBbz9DDycldIMbBysxf089f08vSydDUz80uLi5cbiIKIAotIzogc2hlbGwuYzoxNzgxCisjOiBzaGVsbC5jOjE3OTYKIG1zZ2lkICJHTlUgbG9uZyBvcHRpb25zOlxuIgogbXNnc3RyICLkzMnOztnFIM/Qw8nJINcg09TFzMUgR05VOlxuIgogCi0jOiBzaGVsbC5jOjE3ODUKKyM6IHNoZWxsLmM6MTgwMAogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgIu/Qw8nJIM/Cz8zP3svJOlxuIgogCi0jOiBzaGVsbC5jOjE3ODYKKyM6IHNoZWxsLmM6MTgwMQogbXNnaWQgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjE4MDEKKyM6IHNoZWxsLmM6MTgxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJcdC0lcyBvciAtbyBvcHRpb25cbiIKIG1zZ3N0ciAiXHQtJXMgyczJIM/Qw8nRIC1vXG4iCiAKLSM6IHNoZWxsLmM6MTgwNworIzogc2hlbGwuYzoxODIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIFwiaGVscCBzZXRcIicgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgb3B0aW9ucy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjE4MDgKKyM6IHNoZWxsLmM6MTgyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBoZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MTgwOQorIzogc2hlbGwuYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIiIKIAotIzogc2lnLmM6NTgzCisjOiBzaWcuYzo2MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NDcKKyM6IHNpZ2xpc3QuYzo0OAogbXNnaWQgIkJvZ3VzIHNpZ25hbCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NTAKKyM6IHNpZ2xpc3QuYzo1MQogbXNnaWQgIkhhbmd1cCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NTQKKyM6IHNpZ2xpc3QuYzo1NQogbXNnaWQgIkludGVycnVwdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NTgKKyM6IHNpZ2xpc3QuYzo1OQogbXNnaWQgIlF1aXQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjYyCisjOiBzaWdsaXN0LmM6NjMKIG1zZ2lkICJJbGxlZ2FsIGluc3RydWN0aW9uIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo2NgorIzogc2lnbGlzdC5jOjY3CiBtc2dpZCAiQlBUIHRyYWNlL3RyYXAiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjc0CisjOiBzaWdsaXN0LmM6NzUKIG1zZ2lkICJBQk9SVCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NzgKKyM6IHNpZ2xpc3QuYzo3OQogbXNnaWQgIkVNVCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6ODIKKyM6IHNpZ2xpc3QuYzo4MwogbXNnaWQgIkZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6ODYKKyM6IHNpZ2xpc3QuYzo4NwogbXNnaWQgIktpbGxlZCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6OTAKKyM6IHNpZ2xpc3QuYzo5MQogIywgZnV6enkKIG1zZ2lkICJCdXMgZXJyb3IiCiBtc2dzdHIgIs/bycLLwSDTyc7UwcvTydPBIgogCi0jOiBzaWdsaXN0LmM6OTQKKyM6IHNpZ2xpc3QuYzo5NQogbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6OTgKKyM6IHNpZ2xpc3QuYzo5OQogbXNnaWQgIkJhZCBzeXN0ZW0gY2FsbCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTAyCisjOiBzaWdsaXN0LmM6MTAzCiBtc2dpZCAiQnJva2VuIHBpcGUiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjEwNgorIzogc2lnbGlzdC5jOjEwNwogbXNnaWQgIkFsYXJtIGNsb2NrIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxMTAKKyM6IHNpZ2xpc3QuYzoxMTEKIG1zZ2lkICJUZXJtaW5hdGVkIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxMTQKKyM6IHNpZ2xpc3QuYzoxMTUKIG1zZ2lkICJVcmdlbnQgSU8gY29uZGl0aW9uIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxMTgKKyM6IHNpZ2xpc3QuYzoxMTkKIG1zZ2lkICJTdG9wcGVkIChzaWduYWwpIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxMjYKKyM6IHNpZ2xpc3QuYzoxMjcKIG1zZ2lkICJDb250aW51ZSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTM0CisjOiBzaWdsaXN0LmM6MTM1CiBtc2dpZCAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTM4CisjOiBzaWdsaXN0LmM6MTM5CiBtc2dpZCAiU3RvcHBlZCAodHR5IGlucHV0KSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTQyCisjOiBzaWdsaXN0LmM6MTQzCiBtc2dpZCAiU3RvcHBlZCAodHR5IG91dHB1dCkiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE0NgorIzogc2lnbGlzdC5jOjE0NwogbXNnaWQgIkkvTyByZWFkeSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTUwCisjOiBzaWdsaXN0LmM6MTUxCiBtc2dpZCAiQ1BVIGxpbWl0IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNTQKKyM6IHNpZ2xpc3QuYzoxNTUKIG1zZ2lkICJGaWxlIGxpbWl0IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNTgKKyM6IHNpZ2xpc3QuYzoxNTkKIG1zZ2lkICJBbGFybSAodmlydHVhbCkiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE2MgorIzogc2lnbGlzdC5jOjE2MwogbXNnaWQgIkFsYXJtIChwcm9maWxlKSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTY2CisjOiBzaWdsaXN0LmM6MTY3CiBtc2dpZCAiV2luZG93IGNoYW5nZWQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE3MAorIzogc2lnbGlzdC5jOjE3MQogbXNnaWQgIlJlY29yZCBsb2NrIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNzQKKyM6IHNpZ2xpc3QuYzoxNzUKIG1zZ2lkICJVc2VyIHNpZ25hbCAxIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNzgKKyM6IHNpZ2xpc3QuYzoxNzkKIG1zZ2lkICJVc2VyIHNpZ25hbCAyIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxODIKKyM6IHNpZ2xpc3QuYzoxODMKIG1zZ2lkICJIRlQgaW5wdXQgZGF0YSBwZW5kaW5nIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxODYKKyM6IHNpZ2xpc3QuYzoxODcKIG1zZ2lkICJwb3dlciBmYWlsdXJlIGltbWluZW50IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxOTAKKyM6IHNpZ2xpc3QuYzoxOTEKIG1zZ2lkICJzeXN0ZW0gY3Jhc2ggaW1taW5lbnQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE5NAorIzogc2lnbGlzdC5jOjE5NQogbXNnaWQgIm1pZ3JhdGUgcHJvY2VzcyB0byBhbm90aGVyIENQVSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTk4CisjOiBzaWdsaXN0LmM6MTk5CiBtc2dpZCAicHJvZ3JhbW1pbmcgZXJyb3IiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjIwMgorIzogc2lnbGlzdC5jOjIwMwogbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgZ3JhbnRlZCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjA2CisjOiBzaWdsaXN0LmM6MjA3CiBtc2dpZCAiSEZUIG1vbml0b3IgbW9kZSByZXRyYWN0ZWQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjIxMAorIzogc2lnbGlzdC5jOjIxMQogbXNnaWQgIkhGVCBzb3VuZCBzZXF1ZW5jZSBoYXMgY29tcGxldGVkIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMTQKKyM6IHNpZ2xpc3QuYzoyMTUKIG1zZ2lkICJJbmZvcm1hdGlvbiByZXF1ZXN0IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMjIKKyM6IHNpZ2xpc3QuYzoyMjMKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMjQKKyM6IHNpZ2xpc3QuYzoyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyVkIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6MTE4MSBzdWJzdC5jOjEzMDIKKyM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6MjQ1OAorIzogc3Vic3QuYzoyNzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDQ1NiBzdWJzdC5jOjQ0NzIKKyM6IHN1YnN0LmM6NDc1NCBzdWJzdC5jOjQ3NzAKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ1MDQKKyM6IHN1YnN0LmM6NDgwMgogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ1NDkKKyM6IHN1YnN0LmM6NDg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogbXNnc3RyICLOxSDNz8fVIM/Uy9LZ1Nggyc3Fzs7PyiDLwc7BzCAlcyDEzNEg3tTFzsnRIgogCi0jOiBzdWJzdC5jOjQ1NTEKKyM6IHN1YnN0LmM6NDg0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciB3cml0aW5nIgogbXNnc3RyICLOxSDNz8fVIM/Uy9LZ1Nggyc3Fzs7PyiDLwc7BzCAlcyDEzNEg2sHQydPJIgogCi0jOiBzdWJzdC5jOjQ1NjkKKyM6IHN1YnN0LmM6NDg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo0NzY1CisjOiBzdWJzdC5jOjUwNjMKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ3OTkKKyM6IHN1YnN0LmM6NTA5NwogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ4MTYKKyM6IHN1YnN0LmM6NTExNAogbXNnaWQgImNvbW1hbmRfc3Vic3RpdHV0ZTogY2Fubm90IGR1cGxpY2F0ZSBwaXBlIGFzIGZkIDEiCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo1MzE4CisjOiBzdWJzdC5jOjU2MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCiBtc2dzdHIgIiVzOiDQwdLBzcXU0iBudWxsIMnMySDOxSDV09TBzs/XzMXOIgogCi0jOiBzdWJzdC5jOjU2MDgKKyM6IHN1YnN0LmM6NTkwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogc3Vic3RyaW5nIGV4cHJlc3Npb24gPCAwIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NjY2MAorIzogc3Vic3QuYzo2OTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6Njc0MAorIzogc3Vic3QuYzo3MDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjc0OTkKKyM6IHN1YnN0LmM6NzM3NAorbXNnaWQgIiIKKyJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKKyJzdWJzdGl0dXRpb24iCittc2dzdHIgIiIKKworIzogc3Vic3QuYzo3ODM5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgogbXNnc3RyICLOxdQg2sHL0tnXwcDdxcfPIGAlYycg1yAlcyIKIAotIzogc3Vic3QuYzo4Mzc1CisjOiBzdWJzdC5jOjg3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICLOxdQg08/X0MHExc7J0SDTOiAlcyIKIAotIzogdGVzdC5jOjE0NQorIzogdGVzdC5jOjE0NgogbXNnaWQgImFyZ3VtZW50IGV4cGVjdGVkIgogbXNnc3RyICLQ0sXE0M/MwcfBxdTT0SDe1M8gwtXExdQgydPQz8zY2s/Xwc4gwdLH1c3FztQiCiAKLSM6IHRlc3QuYzoxNTQKKyM6IHRlc3QuYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludGVnZXIgZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiB0ZXN0LmM6MjYyCisjOiB0ZXN0LmM6MjYzCiBtc2dpZCAiYCknIGV4cGVjdGVkIgogbXNnc3RyICLP1snEwcXU09EgYCknICIKIAotIzogdGVzdC5jOjI2NAorIzogdGVzdC5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICLP1snEwczT0SBgKScsIM7BysTFziAlcyIKIAotIzogdGVzdC5jOjI3OSB0ZXN0LmM6Njg4IHRlc3QuYzo2OTEKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5MyB0ZXN0LmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IM/WycTBxdTT0SDJ09DPzNjaz9fBzsnFINXOwdLOz8fPIM/QxdLB1M/SwSIKIAotIzogdGVzdC5jOjQ0NCB0ZXN0LmM6NzMxCisjOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IM/WycTBxdTT0SDJ09DPzNjaz9fBzsnFIMLJzsHSzs/HzyDP0MXSwdTP0sEiCiAKLSM6IHRlc3QuYzo4MDYKKyM6IHRlc3QuYzo4MTEKIG1zZ2lkICJtaXNzaW5nIGBdJyIKIG1zZ3N0ciAi0NLP0NXdxc4gYF0nIgogCi0jOiB0cmFwLmM6MjAxCisjOiB0cmFwLmM6MjAzCiBtc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgogbXNnc3RyICLOxcTP0NXT1MnN2cogzs/NxdIg08nHzsHMwSIKIAotIzogdHJhcC5jOjMyNAorIzogdHJhcC5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogbXNnc3RyICIiCiAKLSM6IHRyYXAuYzozMjgKKyM6IHRyYXAuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCiBtc2dzdHIgIiIKIAotIzogdHJhcC5jOjM3MgorIzogdHJhcC5jOjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFwX2hhbmRsZXI6IGJhZCBzaWduYWwgJWQiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzU4CisjOiB2YXJpYWJsZXMuYzozNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIGAlcyciCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6NzM2CisjOiB2YXJpYWJsZXMuYzo3NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MTg5OAorIzogdmFyaWFibGVzLmM6MTkxNQogbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMTI3CisjOiB2YXJpYWJsZXMuYzozMTU5CiBtc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNDQgdmFyaWFibGVzLmM6MzM1MworIzogdmFyaWFibGVzLmM6MzM3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG51bGwgZXhwb3J0c3RyIgorbXNnc3RyICIlczog0MHSwc3F1NIgbnVsbCDJzMkgzsUg1dPUwc7P18zFziIKKworIzogdmFyaWFibGVzLmM6MzM4MSB2YXJpYWJsZXMuYzozMzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY2hhcmFjdGVyICVkIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzM1OQorIzogdmFyaWFibGVzLmM6MzM5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBgPScgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozNzk0CisjOiB2YXJpYWJsZXMuYzozODM1CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSBmdW5jdGlvbiBjb250ZXh0IgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM4MDcKKyM6IHZhcmlhYmxlcy5jOjM4NDgKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IG5vIGdsb2JhbF92YXJpYWJsZXMgY29udGV4dCIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozODgxCisjOiB2YXJpYWJsZXMuYzozOTIyCiBtc2dpZCAicG9wX3Njb3BlOiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgc2NvcGUiCiBtc2dzdHIgIiIKIAorIzogdmFyaWFibGVzLmM6NDY3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIgorbXNnc3RyICIlczogzsUgzc/H1SDP1MvS2dTYOiAlcyIKKworIzogdmFyaWFibGVzLmM6NDY4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiVkOiDOxcTP0NXT1MnN2cogxMXTy9LJ0NTP0iDGwcrMwTogJXMiCisKICM6IHZlcnNpb24uYzo0NgogbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCiBtc2dzdHIgIiIKQEAgLTE3NjQsNjAgKzE4NTQsNTIgQEAKICJodG1sPlxuIgogbXNnc3RyICIiCiAKLSM6IHZlcnNpb24uYzo4NgorIzogdmVyc2lvbi5jOjg2IHZlcnNpb24yLmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMgKCVzKVxuIgogbXNnc3RyICIiCiAKLSM6IHZlcnNpb24uYzo5MQorIzogdmVyc2lvbi5jOjkxIHZlcnNpb24yLmM6ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgYXJlIGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuXG4iCiBtc2dzdHIgIiIKIAotIzogdmVyc2lvbi5jOjkyCisjOiB2ZXJzaW9uLmM6OTIgdmVyc2lvbjIuYzo4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGVyZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3LlxuIgogbXNnc3RyICIiCiAKLSM6IHhtYWxsb2MuYzo5MgorIzogdmVyc2lvbjIuYzo4NgogIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCiBtc2dzdHIgIiIKIAotIzogeG1hbGxvYy5jOjk0CisjOiB2ZXJzaW9uMi5jOjg3CiAjLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCittc2dpZCAiIgorIkxpY2Vuc2UgR1BMdjIrOiBHTlUgR1BMIHZlcnNpb24gMiBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKKyJodG1sPlxuIgogbXNnc3RyICIiCiAKLSM6IHhtYWxsb2MuYzoxMTQKKyM6IHhtYWxsb2MuYzo5MQogIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKK21zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiBtc2dzdHIgIiIKIAotIzogeG1hbGxvYy5jOjExNgorIzogeG1hbGxvYy5jOjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKK21zZ3N0ciAiJXM6IM7FIM3Px9Ug08/axMHU2DogJXMiCisKKyM6IHhtYWxsb2MuYzoxNjMKICMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCittc2dpZCAiJXM6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKIG1zZ3N0ciAiIgogCi0jOiB4bWFsbG9jLmM6MTUwCi0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAiIgotCi0jOiB4bWFsbG9jLmM6MTUyCi0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICIiCi0KLSM6IHhtYWxsb2MuYzoxNzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICIiCi0KLSM6IHhtYWxsb2MuYzoxNzYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICIiCisjOiB4bWFsbG9jLmM6MTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCittc2dzdHIgIiVzOiDOxSDNz8fVINPP2sTB1Ng6ICVzIgogCiAjOiBidWlsdGlucy5jOjQzCiBtc2dpZCAiYWxpYXMgWy1wXSBbbmFtZVs9dmFsdWVdIC4uLiBdIgpAQCAtMTkzNCw3ICsyMDE2LDcgQEAKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjExNwotbXNnaWQgImhlbHAgWy1kc10gW3BhdHRlcm4gLi4uXSIKK21zZ2lkICJoZWxwIFstZG1zXSBbcGF0dGVybiAuLi5dIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MTIxCkBAIC0xOTYzLDggKzIwNDUsOCBAQAogCiAjOiBidWlsdGlucy5jOjEzNgogbXNnaWQgIiIKLSJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstcCBwcm9tcHRdIFstdCAiCi0idGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgorInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKKyJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxMzgKQEAgLTIxMjcsOSArMjIwOSw5IEBACiAKICM6IGJ1aWx0aW5zLmM6MjI5CiBtc2dpZCAiIgotImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy1XICIKLSJ3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyBzdWZmaXhdICIKLSJbbmFtZSAuLi5dIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy0iCisiVyB3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyAiCisic3VmZml4XSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MjMzCkBAIC0yMTM5LDcgKzIyMjEsNyBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MjM3Ci1tc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbbmFtZSAuLi5dIgorbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gWy1ERV0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjI0MApAQCAtMjg2Myw3ICsyOTQ1LDExIEBACiAiICAgICAgLWVcdFx0dXNlIFJlYWRsaW5lIHRvIG9idGFpbiB0aGUgbGluZSBpbiBhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgogIiAgICAgIC1pIHRleHRcdFVzZSBURVhUIGFzIHRoZSBpbml0aWFsIHRleHQgZm9yIFJlYWRsaW5lXG4iCiAiICAgICAgLW4gbmNoYXJzXHRyZXR1cm4gYWZ0ZXIgcmVhZGluZyBOQ0hBUlMgY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3YWl0aW5nXG4iCi0iICAgIFx0XHRmb3IgYSBuZXdsaW5lXG4iCisiICAgIFx0XHRmb3IgYSBuZXdsaW5lLCBidXQgaG9ub3IgYSBkZWxpbWl0ZXIgaWYgZmV3ZXIgdGhhbiBOQ0hBUlNcbiIKKyIgICAgXHRcdGNoYXJhY3RlcnMgYXJlIHJlYWQgYmVmb3JlIHRoZSBkZWxpbWl0ZXJcbiIKKyIgICAgICAtTiBuY2hhcnNcdHJldHVybiBvbmx5IGFmdGVyIHJlYWRpbmcgZXhhY3RseSBOQ0hBUlMgY2hhcmFjdGVycywgIgorInVubGVzc1xuIgorIiAgICBcdFx0RU9GIGlzIGVuY291bnRlcmVkIG9yIHJlYWQgdGltZXMgb3V0LCBpZ25vcmluZyBhbnkgZGVsaW1pdGVyXG4iCiAiICAgICAgLXAgcHJvbXB0XHRvdXRwdXQgdGhlIHN0cmluZyBQUk9NUFQgd2l0aG91dCBhIHRyYWlsaW5nIG5ld2xpbmUgYmVmb3JlXG4iCiAiICAgIFx0XHRhdHRlbXB0aW5nIHRvIHJlYWRcbiIKICIgICAgICAtclx0XHRkbyBub3QgYWxsb3cgYmFja3NsYXNoZXMgdG8gZXNjYXBlIGFueSBjaGFyYWN0ZXJzXG4iCkBAIC0yODgzLDcgKzI5NjksNyBAQAogIiAgICBvciBhbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBpcyBzdXBwbGllZCBhcyB0aGUgYXJndW1lbnQgdG8gLXUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTAwNgorIzogYnVpbHRpbnMuYzoxMDA5CiBtc2dpZCAiIgogIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMjg5NSw3ICsyOTgxLDcgQEAKICIgICAgUmV0dXJucyBOLCBvciBmYWlsdXJlIGlmIHRoZSBzaGVsbCBpcyBub3QgZXhlY3V0aW5nIGEgZnVuY3Rpb24gb3Igc2NyaXB0LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEwMTkKKyM6IGJ1aWx0aW5zLmM6MTAyMgogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0yOTc3LDcgKzMwNjMsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMDEKKyM6IGJ1aWx0aW5zLmM6MTEwNAogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMjk5Nyw3ICszMDgzLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIE5BTUUgaXMgcmVhZC1vbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMjEKKyM6IGJ1aWx0aW5zLmM6MTEyNAogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTMwMTYsNyArMzEwMiw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNDAKKyM6IGJ1aWx0aW5zLmM6MTE0MwogbXNnaWQgIiIKICJNYXJrIHNoZWxsIHZhcmlhYmxlcyBhcyB1bmNoYW5nZWFibGUuXG4iCiAiICAgIFxuIgpAQCAtMzAzNiw3ICszMTIyLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE2MQorIzogYnVpbHRpbnMuYzoxMTY0CiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zMDQ3LDcgKzMxMzMsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE4gaXMgbmVnYXRpdmUgb3IgZ3JlYXRlciB0aGFuICQjLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNzMgYnVpbHRpbnMuYzoxMTg4CisjOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzA2MSw3ICszMTQ3LDcgQEAKICIgICAgRklMRU5BTUUgY2Fubm90IGJlIHJlYWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTIwNAorIzogYnVpbHRpbnMuYzoxMjA3CiBtc2dpZCAiIgogIlN1c3BlbmQgc2hlbGwgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTMwNzUsNyArMzE2MSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEyMjAKKyM6IGJ1aWx0aW5zLmM6MTIyMwogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTMxNTIsNyArMzIzOCw3IEBACiAiICAgIGZhbHNlIG9yIGFuIGludmFsaWQgYXJndW1lbnQgaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTI5NgorIzogYnVpbHRpbnMuYzoxMjk5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtMzE2MCw3ICszMjQ2LDcgQEAKICIgICAgYmUgYSBsaXRlcmFsIGBdJywgdG8gbWF0Y2ggdGhlIG9wZW5pbmcgYFsnLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzMDUKKyM6IGJ1aWx0aW5zLmM6MTMwOAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtMzE3Miw3ICszMjU4LDcgQEAKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzMTcKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJUcmFwIHNpZ25hbHMgYW5kIG90aGVyIGV2ZW50cy5cbiIKICIgICAgXG4iCkBAIC0zMjA4LDcgKzMyOTQsNyBAQAogImdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzNDkKKyM6IGJ1aWx0aW5zLmM6MTM1MgogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmQgdHlwZS5cbiIKICIgICAgXG4iCkBAIC0zMjM4LDcgKzMzMjQsNyBAQAogImZvdW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzODAKKyM6IGJ1aWx0aW5zLmM6MTM4MwogbXNnaWQgIiIKICJNb2RpZnkgc2hlbGwgcmVzb3VyY2UgbGltaXRzLlxuIgogIiAgICBcbiIKQEAgLTMyODIsNyArMzM2OCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0MjUKKyM6IGJ1aWx0aW5zLmM6MTQyOAogbXNnaWQgIiIKICJEaXNwbGF5IG9yIHNldCBmaWxlIG1vZGUgbWFzay5cbiIKICIgICAgXG4iCkBAIC0zMzAwLDcgKzMzODYsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE1PREUgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDQ1CisjOiBidWlsdGlucy5jOjE0NDgKIG1zZ2lkICIiCiAiV2FpdCBmb3Igam9iIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC0zMzE3LDcgKzM0MDMsNyBAQAogIiAgICBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDYzCisjOiBidWlsdGlucy5jOjE0NjYKIG1zZ2lkICIiCiAiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtMzMzMSw3ICszNDE3LDcgQEAKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ3OAorIzogYnVpbHRpbnMuYzoxNDgxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZm9yIGVhY2ggbWVtYmVyIGluIGEgbGlzdC5cbiIKICIgICAgXG4iCkBAIC0zMzQ0LDcgKzM0MzAsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDkyCisjOiBidWlsdGlucy5jOjE0OTUKIG1zZ2lkICIiCiAiQXJpdGhtZXRpYyBmb3IgbG9vcC5cbiIKICIgICAgXG4iCkBAIC0zMzYxLDcgKzM0NDcsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTEwCisjOiBidWlsdGlucy5jOjE1MTMKIG1zZ2lkICIiCiAiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTMzODEsNyArMzQ2Nyw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1MzEKKyM6IGJ1aWx0aW5zLmM6MTUzNAogbXNnaWQgIiIKICJSZXBvcnQgdGltZSBjb25zdW1lZCBieSBwaXBlbGluZSdzIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC0zMzk3LDcgKzM0ODMsNyBAQAogIiAgICBUaGUgcmV0dXJuIHN0YXR1cyBpcyB0aGUgcmV0dXJuIHN0YXR1cyBvZiBQSVBFTElORS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTQ4CisjOiBidWlsdGlucy5jOjE1NTEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBwYXR0ZXJuIG1hdGNoaW5nLlxuIgogIiAgICBcbiIKQEAgLTM0MDgsNyArMzQ5NCw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1NjAKKyM6IGJ1aWx0aW5zLmM6MTU2MwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIGNvbmRpdGlvbmFsLlxuIgogIiAgICBcbiIKQEAgLTM0MjksNyArMzUxNSw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1NzcKKyM6IGJ1aWx0aW5zLmM6MTU4MAogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IHN1Y2NlZWRzLlxuIgogIiAgICBcbiIKQEAgLTM0NDAsNyArMzUyNiw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1ODkKKyM6IGJ1aWx0aW5zLmM6MTU5MgogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IGRvZXMgbm90IHN1Y2NlZWQuXG4iCiAiICAgIFxuIgpAQCAtMzQ1MSw3ICszNTM3LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYwMQorIzogYnVpbHRpbnMuYzoxNjA0CiBtc2dpZCAiIgogIkNyZWF0ZSBhIGNvcHJvY2VzcyBuYW1lZCBOQU1FLlxuIgogIiAgICBcbiIKQEAgLTM0NjQsNyArMzU1MCw3IEBACiAiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYxNQorIzogYnVpbHRpbnMuYzoxNjE4CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNDc4LDcgKzM1NjQsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgcmVhZG9ubHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYyOQorIzogYnVpbHRpbnMuYzoxNjMyCiBtc2dpZCAiIgogIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKICIgICAgXG4iCkBAIC0zNDg5LDcgKzM1NzUsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjQxCisjOiBidWlsdGlucy5jOjE2NDQKIG1zZ2lkICIiCiAiUmVzdW1lIGpvYiBpbiBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTM1MDMsNyArMzU4OSw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgcmVzdW1lZCBqb2IuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY1NgorIzogYnVpbHRpbnMuYzoxNjU5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC0zNTE0LDcgKzM2MDAsNyBAQAogIiAgICBSZXR1cm5zIDEgaWYgRVhQUkVTU0lPTiBldmFsdWF0ZXMgdG8gMDsgcmV0dXJucyAwIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjY4CisjOiBidWlsdGlucy5jOjE2NzEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb25kaXRpb25hbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTM1NDIsNyArMzYyOCw3IEBACiAiICAgIDAgb3IgMSBkZXBlbmRpbmcgb24gdmFsdWUgb2YgRVhQUkVTU0lPTi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjk0CisjOiBidWlsdGlucy5jOjE2OTcKIG1zZ2lkICIiCiAiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKICIgICAgXG4iCkBAIC0zNTk2LDcgKzM2ODIsNyBAQAogIiAgICBcdFx0Y29tbWFuZHMgc2hvdWxkIGJlIHNhdmVkIG9uIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNzUxCisjOiBidWlsdGlucy5jOjE3NTQKIG1zZ2lkICIiCiAiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM2MjcsNyArMzcxMyw3IEBACiAiICAgIGNoYW5nZSBmYWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNzg1CisjOiBidWlsdGlucy5jOjE3ODgKIG1zZ2lkICIiCiAiUmVtb3ZlIGRpcmVjdG9yaWVzIGZyb20gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzY1NCw3ICszNzQwLDcgQEAKICIgICAgY2hhbmdlIGZhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4MTUKKyM6IGJ1aWx0aW5zLmM6MTgxOAogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zNjgzLDcgKzM3NjksNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODQ0CisjOiBidWlsdGlucy5jOjE4NDcKIG1zZ2lkICIiCiAiU2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTM3MDQsNyArMzc5MCw3IEBACiAiICAgIGdpdmVuIG9yIE9QVE5BTUUgaXMgZGlzYWJsZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg2NQorIzogYnVpbHRpbnMuYzoxODY4CiBtc2dpZCAiIgogIkZvcm1hdHMgYW5kIHByaW50cyBBUkdVTUVOVFMgdW5kZXIgY29udHJvbCBvZiB0aGUgRk9STUFULlxuIgogIiAgICBcbiIKQEAgLTM3MzQsNyArMzgyMCw3IEBACiAiICAgIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODkyCisjOiBidWlsdGlucy5jOjE4OTUKIG1zZ2lkICIiCiAiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCiAiICAgIFxuIgpAQCAtMzc0OCwxNSArMzgzNCwyMCBAQAogIiAgICAgIC1wXHRwcmludCBleGlzdGluZyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zIGluIGEgcmV1c2FibGUgZm9ybWF0XG4iCiAiICAgICAgLXJcdHJlbW92ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm9cbiIKICIgICAgXHROQU1FcyBhcmUgc3VwcGxpZWQsIGFsbCBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zXG4iCisiICAgICAgLURcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyBhcyB0aGUgZGVmYXVsdCBmb3IgY29tbWFuZHNcbiIKKyIgICAgXHR3aXRob3V0IGFueSBzcGVjaWZpYyBjb21wbGV0aW9uIGRlZmluZWRcbiIKKyIgICAgICAtRVx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIHRvIFwiZW1wdHlcIiBjb21tYW5kcyAtLVxuIgorIiAgICBcdGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZVxuIgogIiAgICBcbiIKICIgICAgV2hlbiBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgdGhlIGFjdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZVxuIgotIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS5cbiIKKyIgICAgdXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuICBUaGUgLUQgb3B0aW9uIHRha2VzXG4iCisiICAgIHByZWNlZGVuY2Ugb3ZlciAtRS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTE1CisjOiBidWlsdGlucy5jOjE5MjMKICMsIGZ1enp5CiBtc2dpZCAiIgogIkRpc3BsYXkgcG9zc2libGUgY29tcGxldGlvbnMgZGVwZW5kaW5nIG9uIHRoZSBvcHRpb25zLlxuIgpAQCAtMzc3NSw3ICszODY2LDcgQEAKICIgICAg5dPMySDOxc/C0drB1MXM2M7ZyiDB0sfVzcXO1CDz7O/37yDC2cwgydPQz8zY2s/Xwc4sINTPIMLVxNXUICIKICLTx8XOxdLJ0s/Xwc7ZINTPzNjLzyDTz9fQwcTFzsnRINMg8+zv9+8uIgogCi0jOiBidWlsdGlucy5jOjE5MzAKKyM6IGJ1aWx0aW5zLmM6MTkzOAogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzc4OCw2ICszODc5LDggQEAKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgIFx0LW8gb3B0aW9uXHRTZXQgY29tcGxldGlvbiBvcHRpb24gT1BUSU9OIGZvciBlYWNoIE5BTUVcbiIKKyIgICAgXHQtRFx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZGVmYXVsdFwiIGNvbW1hbmQgY29tcGxldGlvblxuIgorIiAgICBcdC1FXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJlbXB0eVwiIGNvbW1hbmQgY29tcGxldGlvblxuIgogIiAgICBcbiIKICIgICAgVXNpbmcgYCtvJyBpbnN0ZWFkIG9mIGAtbycgdHVybnMgb2ZmIHRoZSBzcGVjaWZpZWQgb3B0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM4MDQsMTUgKzM4OTcsMTUgQEAKICIgICAgaGF2ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBkZWZpbmVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5NTgKKyM6IGJ1aWx0aW5zLmM6MTk2OAogbXNnaWQgIiIKLSJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCisiUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgotIiAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGFycmF5IHZhcmlhYmxlIEFSUkFZLCBvciAiCi0iZnJvbVxuIgotIiAgICBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSBNQVBGSUxFICIKLSJpc1xuIgotIiAgICB0aGUgZGVmYXVsdCBBUlJBWS5cbiIKKyIgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBpbmRleGVkIGFycmF5IHZhcmlhYmxlICIKKyJBUlJBWSwgb3JcbiIKKyIgICAgZnJvbSBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSAiCisiTUFQRklMRVxuIgorIiAgICBpcyB0aGUgZGVmYXVsdCBBUlJBWS5cbiIKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgICAgLW4gY291bnRcdENvcHkgYXQgbW9zdCBDT1VOVCBsaW5lcy4gIElmIENPVU5UIGlzIDAsIGFsbCBsaW5lcyBhcmUgIgpAQCAtMzgzOSwxMCArMzkzMiwxMiBAQAogIiAgICBhc3NpZ25pbmcgdG8gaXQuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBBUlJBWSBpcyByZWFkb25seS4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkgIgorIm9yXG4iCisiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5OTAKKyM6IGJ1aWx0aW5zLmM6MjAwMQogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gYSBmaWxlIGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgpkaWZmIC0tZ2l0IGEvcG8vc2suZ21vIGIvcG8vc2suZ21vCmluZGV4IDdjOGVmZDIuLjA2Yjc5OGYgMTAwNjQ0Ci0tLSBhL3BvL3NrLmdtbworKysgYi9wby9zay5nbW8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG8vc2sucG8gYi9wby9zay5wbwppbmRleCBmZjcyYTg3Li5kYmEzMDYxIDEwMDY0NAotLS0gYS9wby9zay5wbworKysgYi9wby9zay5wbwpAQCAtNSwxMCArNSwxMCBAQAogIwogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaCA0LjAtcHJlMVxuIgorIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaCA0LjBcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMDItMTkgMTQ6NTMtMDUwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMDktMDItMDcgMTU6MTErMDEwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTEyLTMwIDA4OjI1LTA1MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDA5LTAzLTE5IDEzOjA5KzAxMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IEl2YW4gTWFzw6FyIDxoZWxpeDg0QGNlbnRydW0uc2s+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogU2xvdmFrIDxzay1pMThuQGxpc3RzLmxpbnV4LnNrPlxuIgogIk1JTUUtVmVyc2lvbjogMS4wXG4iCkBAIC0yMCw1NCArMjAsNTkgQEAKIG1zZ2lkICJiYWQgYXJyYXkgc3Vic2NyaXB0IgogbXNnc3RyICJjaHlibsO9IGluZGV4IHBvxL5hIgogCi0jOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc0CisjOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBpbmRleGVkIHRvIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIlczogbmllIGplIG1vxb5uw6kgcHJldmllc8WlIGluZGV4b3ZhbsOpIHBvbGUgbmEgYXNvY2lhdMOtdm5lIgogCi0jOiBhcnJheWZ1bmMuYzo0NzkKKyM6IGFycmF5ZnVuYy5jOjQ4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhc3NvY2lhdGl2ZSBhcnJheSBrZXkiCiBtc2dzdHIgIiVzOiBuZXBsYXRuw70ga8S+w7rEjSBhc29jaWF0w612bmVobyBwb8S+YSIKIAotIzogYXJyYXlmdW5jLmM6NDgxCisjOiBhcnJheWZ1bmMuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gdG8gbm9uLW51bWVyaWMgaW5kZXgiCiBtc2dzdHIgIiVzOiBuaWUgamUgbW/Fvm7DqSBwcmlyYWRpxaUgbmVudW1lcmlja8OpbXUgaW5kZXh1IgogCi0jOiBhcnJheWZ1bmMuYzo1MTcKKyM6IGFycmF5ZnVuYy5jOjUxOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IG11c3QgdXNlIHN1YnNjcmlwdCB3aGVuIGFzc2lnbmluZyBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiJXM6ICVzOiBwcmkgcHJpcmHEj292YW7DrSBhc29jaWF0w612bmVtdSBwb8S+dSBqZSBwb3RyZWJuw6kgcG91xb5pxaUgaW5kZXgiCiAKLSM6IGJhc2hoaXN0LmM6Mzc5CisjOiBiYXNoaGlzdC5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiBtc2dzdHIgIiVzOiBuaWUgamUgbW/Fvm7DqSB2eXR2b3JpxaU6ICVzIgogCi0jOiBiYXNobGluZS5jOjM0MTMKKyM6IGJhc2hsaW5lLmM6MzQ1NwogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiIgogImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IG5pZSBqZSBtb8W+bsOpIG7DoWpzxaUga2zDoXZlc292w7ogbWFwdSBwcmUgcHLDrWtheiIKIAotIzogYmFzaGxpbmUuYzozNDkxCisjOiBiYXNobGluZS5jOjM1NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpcnN0IG5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlciBpcyBub3QgYFwiJyIKIG1zZ3N0ciAiJXM6IHBydsO9IHpuYWsgKG9rcmVtIGJpZWx5Y2ggem5ha292KSBuaWUgamUg4oCeXCLigJwiCiAKLSM6IGJhc2hsaW5lLmM6MzUyMAorIzogYmFzaGxpbmUuYzozNTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKIG1zZ3N0ciAiY2jDvWJhIHphdHbDoXJhasO6Y2Eg4oCeJWPigJwgdiAlcyIKIAotIzogYmFzaGxpbmUuYzozNTU0CisjOiBiYXNobGluZS5jOjM2MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG1pc3NpbmcgY29sb24gc2VwYXJhdG9yIgogbXNnc3RyICIlczogY2jDvWJhIG9kZGXEvm92YcSNIGR2b2pib2RrYSIKIAorIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogaW52YWxpZCBhbGlhcyBuYW1lIgorbXNnc3RyICLigJ4lc+KAnDogbmVwbGF0bsO9IG7DoXpvdiBrbMOhdmVzb3ZlaiBtYXB5IgorCiAjOiBidWlsdGlucy9iaW5kLmRlZjoxMjAgYnVpbHRpbnMvYmluZC5kZWY6MTIzCiBtc2dpZCAibGluZSBlZGl0aW5nIG5vdCBlbmFibGVkIgotbXNnc3RyICIiCittc2dzdHIgIsO6cHJhdnkgcmlhZGthIG5pZSBzw7ogemFwbnV0w6kiCiAKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjIwNgogIywgYy1mb3JtYXQKQEAgLTEwOCwxMiArMTEzLDI5IEBACiBtc2dzdHIgImTDoXZhIHpteXNlbCBpYmEgdiBjeWtsZSDigJ5mb3LigJwsIOKAnndoaWxl4oCcIGFsZWJvIOKAnnVudGls4oCcIgogCiAjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzMwotIywgZnV6enkKIG1zZ2lkICIiCiAiUmV0dXJucyB0aGUgY29udGV4dCBvZiB0aGUgY3VycmVudCBzdWJyb3V0aW5lIGNhbGwuXG4iCiAiICAgIFxuIgogIiAgICBXaXRob3V0IEVYUFIsIHJldHVybnMgIgotbXNnc3RyICJWcmFjaWEga29udGV4dCBha3R1w6FsbmVobyB2b2xhbmlhIHBvZHByb2NlZMO6cnkuIgorbXNnc3RyICIiCisiVnJhY2lhIGtvbnRleHQgYWt0dcOhbG5laG8gdm9sYW5pYSBwb2Rwcm9jZWTDunJ5LlxuIgorIiAgICBcbiIKKyIgICAgQmV6IEVYUFIsIHZyYWNpYSAiCisKKyM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM1Cittc2dpZCAiIgorIi4gIFdpdGggRVhQUiwgcmV0dXJuc1xuIgorIiAgICAiCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzYKK21zZ2lkICIiCisiOyB0aGlzIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIHRvXG4iCisiICAgIHByb3ZpZGUgYSBzdGFjayB0cmFjZS5cbiIKKyIgICAgXG4iCisiICAgIFRoZSB2YWx1ZSBvZiBFWFBSIGluZGljYXRlcyBob3cgbWFueSBjYWxsIGZyYW1lcyB0byBnbyBiYWNrIGJlZm9yZSB0aGVcbiIKKyIgICAgY3VycmVudCBvbmU7IHRoZSB0b3AgZnJhbWUgaXMgZnJhbWUgMC4iCittc2dzdHIgIiIKIAogIzogYnVpbHRpbnMvY2QuZGVmOjIxNQogbXNnaWQgIkhPTUUgbm90IHNldCIKQEAgLTEyOCw3ICsxNTAsNyBAQAogbXNnaWQgImxpbmUgJWQ6ICIKIG1zZ3N0ciAicmlhZG9rICVkOiAiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEzOSBlcnJvci5jOjI2MAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTM5IGVycm9yLmM6MjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICIKIG1zZ3N0ciAidXBvem9ybmVuaWU6ICIKQEAgLTEzOCwxMSArMTYwLDExIEBACiBtc2dpZCAiJXM6IHVzYWdlOiAiCiBtc2dzdHIgIiVzOiBwb3XFvml0aWUgIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyMgorIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgInByw61sacWhIHZlxL5hIGFyZ3VtZW50b3YiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5MyBzaGVsbC5jOjc3NAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIiVzOiB2b8S+YmEgdnnFvmFkdWplIGFyZ3VtZW50IgpAQCAtMTU3LDcgKzE3OSw3IEBACiBtc2dpZCAiJXM6IG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IG5lbsOhamRlbsOpIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3ODcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVzOiBuZXBsYXRuw6Egdm/EvmJhIgpAQCAtMTgwLDcgKzIwMiw3IEBACiBtc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgogbXNnc3RyICJuZXBsYXRuw6kgxaFlc3Ruw6FzdGtvdsOpIMSNw61zbG8iCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NQorIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU2CiBtc2dpZCAiaW52YWxpZCBudW1iZXIiCiBtc2dzdHIgIm5lcGxhdG7DqSDEjcOtc2xvIgogCkBAIC0xOTQsNyArMjE2LDcgQEAKIG1zZ2lkICJgJXMnOiBub3QgYSBwaWQgb3IgdmFsaWQgam9iIHNwZWMiCiBtc2dzdHIgIuKAniVz4oCcOiBuaWUgamUgcGlkIGFuaSBwbGF0bsO9IMWhcGVjaWZpa8OhdG9yIMO6bG9oeSIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjY0IGVycm9yLmM6NDUzCisjOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IHZhcmlhYmxlIgogbXNnc3RyICIlczogcHJlbWVubsOhIGxlbiBuYSDEjcOtdGFuaWUiCkBAIC0yNDksMTIgKzI3MSwxMiBAQAogIzogYnVpbHRpbnMvY29tbW9uLmM6MzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlczogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiY2h5YmEgcHJpIG5hc3Rhdm92YW7DrSBhdHJpYsO6dG92IHRlcm1pbsOhbHU6ICVzIgogCiAjOiBidWlsdGlucy9jb21tb24uYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgZ2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJjaHliYSBwcmkgemlzxaVvdmFuw60gYXRyaWLDunRvdiB0ZXJtaW7DoWx1OiAlcyIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6NTYzCiAjLCBjLWZvcm1hdApAQCAtMjY2LDI2ICsyODgsMjYgQEAKIG1zZ2lkICIlczogYW1iaWd1b3VzIGpvYiBzcGVjIgogbXNnc3RyICIlczogbmVqZWRub3puYcSNbsOpIHVyxI1lbmllIMO6bG9oeSIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjI3MAorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjI3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhY3Rpb24gbmFtZSIKIG1zZ3N0ciAiJXM6IG5lcGxhdG7DvSBuw6F6b3YgYWtjaWUiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo0MzAgYnVpbHRpbnMvY29tcGxldGUuZGVmOjYxNQotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjgxMworIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjQ0OSBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjQ0CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBubyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiVzOiBjaMO9YmEgxaFwZWNpZmlrw6FjaWEgZG9rb27EjW92YW5pYSIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY2NworIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY5NgogbXNnaWQgIndhcm5pbmc6IC1GIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCIKIG1zZ3N0ciAidXBvem9ybmVuaWU6IHZvxL5iYSAtRiBuZW11c8OtIGZ1bmdvdmHFpSB0YWsgYWtvIG/EjWFrw6F2YXRlIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjY5CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk4CiBtc2dpZCAid2FybmluZzogLUMgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgogbXNnc3RyICJ1cG96b3JuZW5pZTogdm/EvmJhIC1DIG5lbXVzw60gZnVuZ292YcWlIHRhayBha28gb8SNYWvDoXZhdGUiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo3ODYKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MjYKIG1zZ2lkICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgogbXNnc3RyICJtb21lbnTDoWxuZSBzYSBuZXZ5a29uw6F2YSBmdW5rY2lhIGRvcGzFiG92YW5pYSIKIApAQCAtMjkzLDIxICszMTUsMjEgQEAKIG1zZ2lkICJjYW4gb25seSBiZSB1c2VkIGluIGEgZnVuY3Rpb24iCiBtc2dzdHIgImplIG1vxb5uw6kgcG91xb5pxaUgaWJhIHZvIGZ1bmtjaWkiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM1MworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzYwCiBtc2dpZCAiY2Fubm90IHVzZSBgLWYnIHRvIG1ha2UgZnVuY3Rpb25zIgogbXNnc3RyICJuaWUgamUgbW/Fvm7DqSBwb3XFvmnFpSDigJ4tZuKAnCBwcmUgdHZvcmJ1IGZ1bmtjacOtIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjUgZXhlY3V0ZV9jbWQuYzo0ODE4CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzIgZXhlY3V0ZV9jbWQuYzo0OTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkb25seSBmdW5jdGlvbiIKIG1zZ3N0ciAiJXM6IGZ1bmtjaWEgaWJhIG5hIMSNw610YW5pZSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDYxCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBkZXN0cm95IGFycmF5IHZhcmlhYmxlcyBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJXM6IG5pZSBqZSBtb8W+bsOpIHRha3RvIHJvYmnFpSBkZcWhdHJ1a2NpdSBwcmVtZW5uw71jaCBwb2zDrSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDY4CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGFzc29jaWF0aXZlIHRvIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIiVzOiBuaWUgamUgbW/Fvm7DqSBwcmV2aWVzxaUgYXNvY2lhdMOtdm5lIHBvbGUgbmEgaW5kZXhvdmFuw6kiCkBAIC0zMzYsOCArMzU4LDggQEAKIG1zZ2lkICIlczogY2Fubm90IGRlbGV0ZTogJXMiCiBtc2dzdHIgIiVzOiBuaWUgamUgbW/Fvm7DqSB6bWF6YcWlOiAlcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDY3NQotIzogc2hlbGwuYzoxNDM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0CisjOiBzaGVsbC5jOjE0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczogamUgYWRyZXPDoXIiCkBAIC0zNTIsNyArMzc0LDggQEAKIG1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCiBtc2dzdHIgIiVzOiBzw7pib3IgamUgcHLDrWxpxaEgdmXEvmvDvSIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgZXhlY3V0ZV9jbWQuYzo0NzQ1IHNoZWxsLmM6MTQ0OQorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDMgZXhlY3V0ZV9jbWQuYzo0ODY0CisjOiBzaGVsbC5jOjE0NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlIgogbXNnc3RyICIlczogbmllIGplIG1vxb5uw6kgdnlrb25hxaUgYmluw6Fybnkgc8O6Ym9yIgpAQCAtMzgxLDE1ICs0MDQsMTUgQEAKIG1zZ2lkICJUaGVyZSBhcmUgcnVubmluZyBqb2JzLlxuIgogbXNnc3RyICJFeGlzdHVqw7ogYmXFvmlhY2Ugw7psb2h5LlxuIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MjYxCisjOiBidWlsdGlucy9mYy5kZWY6MjYyCiBtc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKIG1zZ3N0ciAicHLDoWtheiBuZW7DoWpkZW7DvSIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM0MQorIzogYnVpbHRpbnMvZmMuZGVmOjM0OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAixaFwZWNpZmlrw6FjaWEgaGlzdMOzcmllIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzYyCisjOiBidWlsdGlucy9mYy5kZWY6MzcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiB0ZW1wIGZpbGU6ICVzIgogbXNnc3RyICIlczogbmllIGplIG1vxb5uw6kgb3R2b3JpxaUgb2RrbGFkYWPDrSBzw7pib3I6ICVzIgpAQCAtNDkxLDEyICs1MTQsMTIgQEAKIG1zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgogbXNnc3RyICJpbsOpIHZvxL5ieSBwcsOtcHVzdG7DqSBzIOKAni144oCcIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoxOTcKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogbXNnc3RyICIlczogYXJndW1lbnR5IG11c2lhIGJ5xaUgSUQgcHJvY2Vzb3YgYWxlYm8gw7psb2giCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MAorIzogYnVpbHRpbnMva2lsbC5kZWY6MjYzCiBtc2dpZCAiVW5rbm93biBlcnJvciIKIG1zZ3N0ciAiTmV6bsOhbWEgY2h5YmEiCiAKQEAgLTUwNCw1NSArNTI3LDYwIEBACiBtc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAib8SNYWvDoXZhbCBzYSB2w71yYXoiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0MSBidWlsdGlucy9yZWFkLmRlZjoyNzIKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgorbXNnc3RyICIlczogbmllIGplIHByZW1lbm7DoSBwb8S+YSIKKworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXM6IG5lcGxhdG7DoSDFoXBlY2lmaWvDoWNpYSBwb3Bpc292YcSNYSBzw7pib3J1IgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTcgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcjogJXMiCiBtc2dzdHIgIiVkOiBuZXBsYXRuw70gcG9waXNvdmHEjSBzw7pib3J1OiAlcyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU4IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY2IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW5lIGNvdW50IgogbXNnc3RyICIlczogbmVwbGF0bsO9IHBvxI1ldCByaWFka292IgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiBtc2dzdHIgIiVzOiBuZXBsYXRuw70gemHEjWlhdG9rIHBvxL5hIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogbXNnc3RyICIlczogbmVwbGF0bsOpIGt2YW50dW0gc3DDpHRuw6lobyB2b2xhbmlhIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMTgKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMyNgogbXNnaWQgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCiBtc2dzdHIgIm7DoXpvdiBwcsOhemRuZWogcHJlbWVubmVqIHBvxL5hIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM0NwogbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCiBtc2dzdHIgInZ5xb5hZHVqZSBzYSBwb2Rwb3JhIHByZW1lbm5laiBwb8S+YSIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNjcKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAi4oCeJXPigJw6IGNow71iYSBmb3Jtw6F0b3ZhY8OtIHpuYWsiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTQ0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIuKAniVj4oCcOiBuZXBsYXRuw70gZm9ybcOhdG92YWPDrSB6bmFrIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU3MQorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogJXM6ICVzIgogbXNnc3RyICJ1cG96b3JuZW5pZTogJXM6ICVzIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjc1MAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTcKIG1zZ2lkICJtaXNzaW5nIGhleCBkaWdpdCBmb3IgXFx4IgogbXNnc3RyICJjaMO9YmEgaGV4YWRlY2ltw6FsbmEgxI3DrXNsaWNhIHYgXFx4IgogCkBAIC02OTcsMTIgKzcyNSwxMiBAQAogIiAgICBcbiIKICIgICAgWsOhc29ibsOtayBhZHJlc8Ohcm92IG3DtMW+ZXRlIHpvYnJhemnFpSB2c3RhdmFuw71tIHByw61rYXpvbSDigJ5kaXJz4oCcLiIKIAotIzogYnVpbHRpbnMvcmVhZC5kZWY6MjQ4CisjOiBidWlsdGlucy9yZWFkLmRlZjoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgdGltZW91dCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczogbmVwbGF0bsOhIMWhcGVjaWZpa8OhY2lhIGV4cGlyw6FjaWUgKHRpbWVvdXQpIgogCi0jOiBidWlsdGlucy9yZWFkLmRlZjo1NzQKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkIGVycm9yOiAlZDogJXMiCiBtc2dzdHIgImNoeWJhIHByaSDEjcOtdGFuw606ICVkOiAlcyIKQEAgLTc0MSwxMSArNzY5LDExIEBACiBtc2dpZCAic2hpZnQgY291bnQiCiBtc2dzdHIgInBvc3VuIG8iCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNTQKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICJuaWUgamUgbW/Fvm7DqSB6w6Fyb3ZlxYggbmFzdGF2acWlIGFqIHpydcWhacWlIHZvxL5ieSBzaGVsbHUiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMTkKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgc2hlbGwgb3B0aW9uIG5hbWUiCiBtc2dzdHIgIiVzOiBuZXBsYXRuw70gbsOhem92IHZvxL5ieSBzaGVsbHUiCkBAIC04MzUsNzYgKzg2Myw3NiBAQAogbXNnaWQgImAlYyc6IGludmFsaWQgc3ltYm9saWMgbW9kZSBjaGFyYWN0ZXIiCiBtc2dzdHIgIuKAniVj4oCcOiBuZXBsYXRuw70gem5hayBzeW1ib2xpY2vDqWhvIHJlxb5pbXUiCiAKLSM6IGVycm9yLmM6ODkgZXJyb3IuYzozMjAgZXJyb3IuYzozMjIgZXJyb3IuYzozMjQKKyM6IGVycm9yLmM6OTAgZXJyb3IuYzozMjEgZXJyb3IuYzozMjMgZXJyb3IuYzozMjUKIG1zZ2lkICIgbGluZSAiCiBtc2dzdHIgIiByaWFkb2sgIgogCi0jOiBlcnJvci5jOjE2NAorIzogZXJyb3IuYzoxNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAibGFzdCBjb21tYW5kOiAlc1xuIgogbXNnc3RyICJwb3NsZWRuw70gcHLDrWthejogJXNcbiIKIAotIzogZXJyb3IuYzoxNzIKKyM6IGVycm9yLmM6MTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nLi4uIgogbXNnc3RyICJSdcWhw60gc2EuLi4iCiAKLSM6IGVycm9yLmM6NDA1CisjOiBlcnJvci5jOjQwNgogbXNnaWQgInVua25vd24gY29tbWFuZCBlcnJvciIKIG1zZ3N0ciAiY2h5YmEgbmV6bsOhbWVobyBwcsOta2F6dSIKIAotIzogZXJyb3IuYzo0MDYKKyM6IGVycm9yLmM6NDA3CiBtc2dpZCAiYmFkIGNvbW1hbmQgdHlwZSIKIG1zZ3N0ciAiY2h5Ym7DvSB0eXAgcHLDrWthenUiCiAKLSM6IGVycm9yLmM6NDA3CisjOiBlcnJvci5jOjQwOAogbXNnaWQgImJhZCBjb25uZWN0b3IiCiBtc2dzdHIgImNoeWJuw70ga29uZWt0b3IiCiAKLSM6IGVycm9yLmM6NDA4CisjOiBlcnJvci5jOjQwOQogbXNnaWQgImJhZCBqdW1wIgogbXNnc3RyICJjaHlibsO9IHNrb2siCiAKLSM6IGVycm9yLmM6NDQ2CisjOiBlcnJvci5jOjQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5ib3VuZCB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6IG5ldmlhemFuw6EgcHJlbWVubsOhIgogCiAjOiBldmFsLmM6MTgxCiAjLCBjLWZvcm1hdAotbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgotbXNnc3RyICJcYcSNYXMgdnlwcsWhYWwgcHJpIMSNYWthbsOtIG5hIHZzdHVwOiBhdXRvbWF0aWNrw6kgb2RobMOhc2VuaWVcbiIKK21zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnc3RyICIHxI1hcyB2eXByxaFhbCBwcmkgxI1ha2Fuw60gbmEgdnN0dXA6IGF1dG9tYXRpY2vDqSBvZGhsw6FzZW5pZVxuIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5MQorIzogZXhlY3V0ZV9jbWQuYzo0OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlZGlyZWN0IHN0YW5kYXJkIGlucHV0IGZyb20gL2Rldi9udWxsOiAlcyIKIG1zZ3N0ciAibmllIGplIG1vxb5uw6kgcHJlc21lcm92YcWlIMWhdGFuZGFyZG7DvSB2c3R1cCB6IC9kZXYvbnVsbDogJXMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MTExMgorIzogZXhlY3V0ZV9jbWQuYzoxMTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiVElNRUZPUk1BVDog4oCeJWPigJw6IG5lcGxhdG7DvSBmb3Jtw6F0b3bDoWPDrSB6bmFrIgogCi0jOiBleGVjdXRlX2NtZC5jOjIwMTEKKyM6IGV4ZWN1dGVfY21kLmM6MjA3NQogbXNnaWQgInBpcGUgZXJyb3IiCiBtc2dzdHIgImNoeWJhIHLDunJ5IgogCi0jOiBleGVjdXRlX2NtZC5jOjQzNjMKKyM6IGV4ZWN1dGVfY21kLmM6NDQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCiBtc2dzdHIgIiVzOiBvYm1lZHplbsOpOiBuaWUgamVtb8W+bsOpIHV2aWVzxaUg4oCeL+KAnCB2IG7DoXp2b2NoIHByw61rYXpvdiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDU0CisjOiBleGVjdXRlX2NtZC5jOjQ1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIlczogcHLDrWtheiBuZW7DoWpkZW7DvSIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NzA4CisjOiBleGVjdXRlX2NtZC5jOjQ4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCiBtc2dzdHIgIiVzOiAlczogY2h5Ym7DvSBpbnRlcnByZXRlciIKIAotIzogZXhlY3V0ZV9jbWQuYzo0ODU3CisjOiBleGVjdXRlX2NtZC5jOjQ5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKIG1zZ3N0ciAibmllIGplIG1vxb5uw6kgZHVwbGlrb3ZhxaUgZmQgJWQgbmEgZmQgJWQiCkBAIC05NDksMjggKzk3NywyOCBAQAogbXNnaWQgIm1pc3NpbmcgYCknIgogbXNnc3RyICJjaMO9YmEg4oCeKeKAnCIKIAotIzogZXhwci5jOjg5NyBleHByLmM6MTE3NQorIzogZXhwci5jOjg5NyBleHByLmM6MTE3NgogbXNnaWQgInN5bnRheCBlcnJvcjogb3BlcmFuZCBleHBlY3RlZCIKIG1zZ3N0ciAiY2h5YmEgc3ludGF4ZTogb8SNYWvDoXZhIHNhIG9wZXJhbmQiCiAKLSM6IGV4cHIuYzoxMTc3CisjOiBleHByLmM6MTE3OAogbXNnaWQgInN5bnRheCBlcnJvcjogaW52YWxpZCBhcml0aG1ldGljIG9wZXJhdG9yIgogbXNnc3RyICJjaHliYSBzeW50YXhlOiBuZXBsYXRuw70gYXJpdG1ldGlja8O9IG9wZXLDoXRvciIKIAotIzogZXhwci5jOjEyMDEKKyM6IGV4cHIuYzoxMjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzJXMlczogJXMgKGVycm9yIHRva2VuIGlzIFwiJXNcIikiCiBtc2dzdHIgIiVzJXMlczogJXMgKGNoeWJuw70gdG9rZW4gamUg4oCeJXPigJ0pIgogCi0jOiBleHByLmM6MTI1OQorIzogZXhwci5jOjEyNjAKIG1zZ2lkICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKIG1zZ3N0ciAibmVwbGF0bsO9IGFyaXRtZXRpY2vDvSB6w6FrbGFkIgogCi0jOiBleHByLmM6MTI3OQorIzogZXhwci5jOjEyODAKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgImhvZG5vdGEgamUgYWtvIHrDoWtsYWQgcHLDrWxpxaEgdmXEvmvDoSIKIAotIzogZXhwci5jOjEzMjgKKyM6IGV4cHIuYzoxMzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCiBtc2dzdHIgIiVzOiBjaHliYSB2w71yYXp1XG4iCkBAIC05NzksNyArMTAwNyw3IEBACiBtc2dpZCAiZ2V0Y3dkOiBjYW5ub3QgYWNjZXNzIHBhcmVudCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiZ2V0Y3dkOiBuaWUgamUgbW/Fvm7DqSBwcmlzdHVwb3ZhxaUgayByb2RpxI1vdnNrw71tIGFkcmVzw6Fyb20iCiAKLSM6IGlucHV0LmM6OTQgc3Vic3QuYzo0NTU5CisjOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDg1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIG1zZ3N0ciAibmllIGogZW1vxb5uw6kgcmVzZXRvdmHFpSBub2RlbGF5IHJlxb5pbSBmZCAlZCIKQEAgLTEwMzIsNyArMTA2MCw3IEBACiBtc2dpZCAiRG9uZSIKIG1zZ3N0ciAiSG90b3ZvIgogCi0jOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIyCisjOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIzCiBtc2dpZCAiU3RvcHBlZCIKIG1zZ3N0ciAiWmFzdGF2ZW7DqSIKIApAQCAtMTA2OSw2OSArMTA5Nyw3MyBAQAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIiAgKHdkOiAlcykiCiAKLSM6IGpvYnMuYzoxNzcxCisjOiBqb2JzLmM6MTc3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGlsZCBzZXRwZ2lkICglbGQgdG8gJWxkKSIKIG1zZ3N0ciAic2V0cGdpZCBkZXRza8OpaG8gcHJvY2VzdSAoJWxkIHRvICVsZCkiCiAKLSM6IGpvYnMuYzoyMDk5IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMDQgbm9qb2JzLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbCIKIG1zZ3N0ciAid2FpdDogcGlkICVsZCBuaWUgamUgZGllxaVhIHRvaHRvIHNoZWxsdSIKIAotIzogam9icy5jOjIzMjYKKyM6IGpvYnMuYzoyMzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yOiBObyByZWNvcmQgb2YgcHJvY2VzcyAlbGQiCiBtc2dzdHIgIndhaXRfZm9yOiBOZWV4aXN0dWplIHrDoXpuYW0gbyBwcm9jZXNlICVsZCIKIAotIzogam9icy5jOjI1OTgKKyM6IGpvYnMuYzoyNjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yX2pvYjogam9iICVkIGlzIHN0b3BwZWQiCiBtc2dzdHIgIndhaXRfZm9yX2pvYjogw7psb2hhICVkIGplIHphc3RhdmVuw6EiCiAKLSM6IGpvYnMuYzoyODIwCisjOiBqb2JzLmM6MjgyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogw7psb2hhIHNrb27EjWlsYSIKIAotIzogam9icy5jOjI4MjkKKyM6IGpvYnMuYzoyODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgJWQgYWxyZWFkeSBpbiBiYWNrZ3JvdW5kIgogbXNnc3RyICIlczogw7psb2hhICVkIHXFviBqZSB2IHBvemFkw60iCiAKLSM6IGpvYnMuYzozNDkyCisjOiBqb2JzLmM6MzA1OQorbXNnaWQgIndhaXRjaGxkOiB0dXJuaW5nIG9uIFdOT0hBTkcgdG8gYXZvaWQgaW5kZWZpbml0ZSBibG9jayIKK21zZ3N0ciAiIgorCisjOiBqb2JzLmM6MzUwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbGluZSAlZDogIgogbXNnc3RyICIlczogcmlhZG9rICVkOiAiCiAKLSM6IGpvYnMuYzozNTA2IG5vam9icy5jOjgxNAorIzogam9icy5jOjM1MjIgbm9qb2JzLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAoY29yZSBkdW1wZWQpIgogbXNnc3RyICIgKGJvbCB1bG/FvmVuw70gdsO9cGlzIHBhbcOkdGUpIgogCi0jOiBqb2JzLmM6MzUxOCBqb2JzLmM6MzUzMQorIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHdkIG5vdzogJXMpXG4iCiBtc2dzdHIgIih3ZCB0ZXJhejogJXMpXG4iCiAKLSM6IGpvYnMuYzozNTYzCisjOiBqb2JzLmM6MzU3OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBmdW5rY2lhIGdldHBncnAgemx5aGFsYSIKIAotIzogam9icy5jOjM2MjMKKyM6IGpvYnMuYzozNjM5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgogbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiByaWFka292w70gc3lzdMOpbSIKIAotIzogam9icy5jOjM2MzMKKyM6IGpvYnMuYzozNjQ5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKIAotIzogam9icy5jOjM2NjEKKyM6IGpvYnMuYzozNjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgogbXNnc3RyICJuaWUgamUgbW/Fvm7DqSBuYXN0YXZpxaUgc2t1cGludSBwcm9jZXN1IHRlcm1pbsOhbHUgKCVkKSIKIAotIzogam9icy5jOjM2NjYKKyM6IGpvYnMuYzozNjgyCiBtc2dpZCAibm8gam9iIGNvbnRyb2wgaW4gdGhpcyBzaGVsbCIKIG1zZ3N0ciAidiB0b210byBzaGVsbGkgbmllIGplIHJpYWRlbmllIMO6bG9oIgogCkBAIC0xMjIzLDYgKzEyNTUsMjYgQEAKIG1zZ2lkICJuZXR3b3JrIG9wZXJhdGlvbnMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAic2llxaVvdsOpIG9wZXLDoWNpZSBuaWUgc8O6IHBvZHBvcm92YW7DqSIKIAorIzogbG9jYWxlLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IG5pZSBqZSBtb8W+bsOpIGFsb2tvdmHFpSAlbHUgYmFqdG92IgorCisjOiBsb2NhbGUuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IG5pZSBqZSBtb8W+bsOpIGFsb2tvdmHFpSAlbHUgYmFqdG92IgorCiAjOiBtYWlsY2hlY2suYzo0MzMKIG1zZ2lkICJZb3UgaGF2ZSBtYWlsIGluICRfIgogbXNnc3RyICJNw6F0ZSBwb8WhdHUgdiBzw7pib3JlICRfIgpAQCAtMTIzNiwxMzIgKzEyODgsMTMyIEBACiBtc2dpZCAiVGhlIG1haWwgaW4gJXMgaGFzIGJlZW4gcmVhZFxuIgogbXNnc3RyICJQb8WhdGEgdiBzw7pib3JlICVzIGJvbGEgcHJlxI3DrXRhbsOhXG4iCiAKLSM6IG1ha2VfY21kLmM6MzIyCisjOiBtYWtlX2NtZC5jOjMyMwogbXNnaWQgInN5bnRheCBlcnJvcjogYXJpdGhtZXRpYyBleHByZXNzaW9uIHJlcXVpcmVkIgogbXNnc3RyICJjaHliYSBzeW50YXhlOiB2ecW+YWR1amUgc2EgYXJpdG1ldGlja8O9IHbDvXJheiIKIAotIzogbWFrZV9jbWQuYzozMjQKKyM6IG1ha2VfY21kLmM6MzI1CiBtc2dpZCAic3ludGF4IGVycm9yOiBgOycgdW5leHBlY3RlZCIKIG1zZ3N0ciAiY2h5YmEgc3ludGF4ZTogbmVvxI1ha8OhdmFuw6Eg4oCeO+KAnCIKIAotIzogbWFrZV9jbWQuYzozMjUKKyM6IG1ha2VfY21kLmM6MzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvcjogYCgoJXMpKSciCiBtc2dzdHIgImNoeWJhIHN5bnRheGU6IOKAnigoJXMpKeKAnCIKIAotIzogbWFrZV9jbWQuYzo1NjcKKyM6IG1ha2VfY21kLmM6NTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfaGVyZV9kb2N1bWVudDogYmFkIGluc3RydWN0aW9uIHR5cGUgJWQiCiBtc2dzdHIgIm1ha2VfaGVyZV9kb2N1bWVudDogY2h5Ym7DvSB0eXAgaW7FoXRydWtjaWUgJWQiCiAKLSM6IG1ha2VfY21kLmM6NjUxCisjOiBtYWtlX2NtZC5jOjY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJoZXJlLWRvY3VtZW50IGF0IGxpbmUgJWQgZGVsaW1pdGVkIGJ5IGVuZC1vZi1maWxlICh3YW50ZWQgYCVzJykiCiBtc2dzdHIgIiIKICJoZXJlLWRvY3VtZW50IG5hIHJpYWRrdSAlZCBvZGRlbGVuw70gem5ha29tIGtvbmNhIHJpYWRrdSAob8SNYWvDoXZhbG8gc2Eg4oCeJXPigJ0pIgogCi0jOiBtYWtlX2NtZC5jOjc0NgorIzogbWFrZV9jbWQuYzo3NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIm1ha2VfcmVkaXJlY3Rpb246IGluxaF0cnVrY2lhIHByZXNtZXJvdmFuaWEg4oCeJWTigJwgbWltbyByb3pzYWh1IgogCi0jOiBwYXJzZS55OjI5ODYgcGFyc2UueTozMjE4CisjOiBwYXJzZS55OjMxMzMgcGFyc2UueTozMzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGAlYyciCiBtc2dzdHIgIm5lb8SNYWvDoXZhbsO9IGtvbmllYyBzw7pib3J1IHBvxI1hcyBoxL5hZGFuaWEgem9kcG92ZWRhasO6Y2VobyDigJ4lY+KAnCIKIAotIzogcGFyc2UueTozNzIyCisjOiBwYXJzZS55OjM5NTEKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBgXV0nIgogbXNnc3RyICJuZW/EjWFrw6F2YW7DvSBrb25pZWMgc8O6Ym9ydSBwb8SNYXMgaMS+YWRhbmlhIOKAnl1d4oCcIgogCi0jOiBwYXJzZS55OjM3MjcKKyM6IHBhcnNlLnk6Mzk1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICJjaHliYSBzeW50YXhlIHYgcG9kbWllbmXEjW5vbSBwcsOta2F6ZTogbmVvxI1ha8OhdmFuw70gdG9rZW4g4oCeJXPigJwiCiAKLSM6IHBhcnNlLnk6MzczMQorIzogcGFyc2UueTozOTYwCiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgImNoeWJhIHN5bnRheGUgdiBwb2RtaWVuZcSNbm9tIHByw61rYXplIgogCi0jOiBwYXJzZS55OjM4MDkKKyM6IHBhcnNlLnk6NDAzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGV4cGVjdGVkIGApJyIKIG1zZ3N0ciAibmVvxI1ha8OhdmFuw70gdG9rZW4g4oCeJXPigJwsIG/EjWFrw6F2YWxvIHNhIGApJyIKIAotIzogcGFyc2UueTozODEzCisjOiBwYXJzZS55OjQwNDIKIG1zZ2lkICJleHBlY3RlZCBgKSciCiBtc2dzdHIgIm/EjWFrw6F2YWxvIHNhIGApJyIKIAotIzogcGFyc2UueTozODQxCisjOiBwYXJzZS55OjQwNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJuZW/EjWFrw6F2YW7DvSBhcmd1bWVudCDigJ4lc+KAnCBwb2RtaWVuZcSNbsOpaG8gdW7DoXJuZWhvIG9wZXLDoXRvcmEiCiAKLSM6IHBhcnNlLnk6Mzg0NQorIzogcGFyc2UueTo0MDc0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAibmVvxI1ha8OhdmFuw70gYXJndW1lbnQgcG9kbWllbmXEjW7DqWhvIHVuw6FybmVobyBvcGVyw6F0b3JhIgogCi0jOiBwYXJzZS55OjM4ODUKKyM6IHBhcnNlLnk6NDEyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAibmVvxI1ha8OhdmFuw70gdG9rZW4g4oCeJXPigJwsIG/EjWFrw6F2YSBzYSBwb2RtaWVuZcSNbsO9IGJpbsOhcm55IG9wZXLDoXRvciIKIAotIzogcGFyc2UueTozODg5CisjOiBwYXJzZS55OjQxMjQKIG1zZ2lkICJjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIm/EjWFrw6F2YSBzYSBwb2RtaWVuZcSNbsO9IGJpbsOhcm55IG9wZXLDoXRvciIKIAotIzogcGFyc2UueTozOTA2CisjOiBwYXJzZS55OjQxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAibmVvxI1ha8OhdmFuw70gYXJndW1lbnQg4oCeJXPigJwgdiBwb2RtaWVuZcSNbm9tIGJpbsOhcm5vbSBvcGVyw6F0b3JlIgogCi0jOiBwYXJzZS55OjM5MTAKKyM6IHBhcnNlLnk6NDE1MAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJuZW/EjWFrw6F2YW7DvSBhcmd1bWVudCB2IHBvZG1pZW5lxI1ub20gYmluw6Fybm9tIG9wZXLDoXRvcmUiCiAKLSM6IHBhcnNlLnk6MzkyMQorIzogcGFyc2UueTo0MTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJuZW/EjWFrw6F2YW7DvSB0b2tlbiDigJ4lY+KAnCB2IHBvZG1pZW5lxI1ub20gcHLDrWthemUiCiAKLSM6IHBhcnNlLnk6MzkyNAorIzogcGFyc2UueTo0MTY0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJuZW/EjWFrw6F2YW7DvSB0b2tlbiDigJ4lc+KAnCB2IHBvZG1pZW5lxI1ub20gcHLDrWthemUiCiAKLSM6IHBhcnNlLnk6MzkyOAorIzogcGFyc2UueTo0MTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gJWQgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAibmVvxI1ha8OhdmFuw70gdG9rZW4gJWQgdiBwb2RtaWVuZcSNbm9tIHByw61rYXplIgogCi0jOiBwYXJzZS55OjUxOTUKKyM6IHBhcnNlLnk6NTQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgImNoeWJhIHN5bnRheGUgbmXEj2FsZWtvIG5lb8SNYWvDoXZhbsOpaG8gdG9rZW51IOKAniVz4oCcIgogCi0jOiBwYXJzZS55OjUyMTMKKyM6IHBhcnNlLnk6NTQ3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgogbXNnc3RyICJjaHliYSBzeW50YXhlIG5lxI9hbGVrbyDigJ4lc+KAnCIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgImNoeWJhIHN5bnRheGU6IG5lb8SNYWvDoXZhbsO9IGtvbmllYyBzw7pib3J1IgogCi0jOiBwYXJzZS55OjUyMjMKKyM6IHBhcnNlLnk6NTQ4NwogbXNnaWQgInN5bnRheCBlcnJvciIKIG1zZ3N0ciAiY2h5YmEgc3ludGF4ZSIKIAotIzogcGFyc2UueTo1Mjg1CisjOiBwYXJzZS55OjU1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIFwiJXNcIiB0byBsZWF2ZSB0aGUgc2hlbGwuXG4iCiBtc2dzdHIgIk5hIG9wdXN0ZW5pZSBzaGVsbHUgcG91xb5pdGUg4oCeJXPigJwuXG4iCiAKLSM6IHBhcnNlLnk6NTQ0NworIzogcGFyc2UueTo1NzExCiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgogbXNnc3RyICJuZW/EjWFrw6F2YW7DvSBrb25pZWMgc8O6Ym9ydSBwb8SNYXMgaMS+YWRhbmlhIHpvZHBvdmVkYWrDumNlaG8g4oCeKeKAnCIKIAotIzogcGNvbXBsZXRlLmM6MTAxOAorIzogcGNvbXBsZXRlLmM6MTAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0aW9uOiBmdW5jdGlvbiBgJXMnIG5vdCBmb3VuZCIKIG1zZ3N0ciAiZG9rb27EjW92YW5pZTogZnVua2NpYSDigJ4lc+KAnCBuZWJvbGEgbsOhamRlbsOhIgpAQCAtMTM3MSw3MSArMTQyMyw5MCBAQAogbXNnaWQgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiBtc2dzdHIgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiAKLSM6IHByaW50X2NtZC5jOjI4NQorIzogcHJpbnRfY21kLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAicHJpbnRfY29tbWFuZDogY2h5Ym7DvSBrb25la3RvciBgJWQnIgogCi0jOiBwcmludF9jbWQuYzoxMzQ4CisjOiBwcmludF9jbWQuYzozNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiJWQ6IG5lcGxhdG7DvSBwb3Bpc292YcSNIHPDumJvcnU6ICVzIgorCisjOiBwcmludF9jbWQuYzozNjgKK21zZ2lkICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgorbXNnc3RyICIiCisKKyM6IHByaW50X2NtZC5jOjE0NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3ByaW50ZjogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJjcHJpbnRmOiDigJ4lY+KAnDogbmVwbGF0bsO9IGZvcm3DoXRvdmFjw60gem5hayIKIAotIzogcmVkaXIuYzoxMDUKKyM6IHJlZGlyLmM6MTEwCiBtc2dpZCAiZmlsZSBkZXNjcmlwdG9yIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAicG9waXNvdmHEjSBzw7pib3J1IG1pbW8gcm96c2FodSIKIAotIzogcmVkaXIuYzoxNDgKKyM6IHJlZGlyLmM6MTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QiCiBtc2dzdHIgIiVzOiBuZWplZG5vem5hxI1uw6kgcHJlc21lcm92YW5pZSIKIAotIzogcmVkaXIuYzoxNTIKKyM6IHJlZGlyLmM6MTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCiBtc2dzdHIgIiVzOiBuaWUgamUgbW/Fvm7DqSBwcmVww61zYcWlIGV4aXN0dWrDumNpIHPDumJvciIKIAotIzogcmVkaXIuYzoxNTcKKyM6IHJlZGlyLmM6MTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3QgcmVkaXJlY3Qgb3V0cHV0IgogbXNnc3RyICIlczogb21iZWR6ZW7DqTogbmllIGplIG1vxb5uw6kgcHJlc21lcm92YcWlIHbDvXN0dXAiCiAKLSM6IHJlZGlyLmM6MTYyCisjOiByZWRpci5jOjE4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIHRlbXAgZmlsZSBmb3IgaGVyZS1kb2N1bWVudDogJXMiCiBtc2dzdHIgIm5pZSBqZSBtb8W+bsOpIHZ5dHZvcmnFpSBvZGtsYWRhY8OtIHPDumJvciBwcmUgaGVyZS1kb2N1bWVudDogJXMiCiAKLSM6IHJlZGlyLmM6NTE3CisjOiByZWRpci5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gZmQgdG8gdmFyaWFibGUiCittc2dzdHIgIiVzOiBuaWUgamUgbW/Fvm7DqSBwcmlyYWRpxaUgem96bmFtIHBvbG/FvmtlIHBvxL5hIgorCisjOiByZWRpci5jOjU0NAogbXNnaWQgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKIG1zZ3N0ciAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IG5pZSBqZSBwb2Rwb3JvdmFuw70gYmV6IHBvZHBvcnkgc2lldMOtIgogCi0jOiByZWRpci5jOjEwMjMKKyM6IHJlZGlyLmM6MTEwMQogbXNnaWQgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgogbXNnc3RyICJjaHliYSBwcmVzbWVyb3ZhbmlhOiBuaWUgamUgbW/Fvm7DqSBkdXBsaWtvdmHFpSBmZCIKIAotIzogc2hlbGwuYzozMjgKKyM6IHNoZWxsLmM6MzMyCiBtc2dpZCAiY291bGQgbm90IGZpbmQgL3RtcCwgcGxlYXNlIGNyZWF0ZSEiCiBtc2dzdHIgIm5lbmHFoWllbCBzYSAvdG1wLCB2eXR2b3J0ZSBobyBwcm9zw61tISIKIAotIzogc2hlbGwuYzozMzIKKyM6IHNoZWxsLmM6MzM2CiBtc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCiBtc2dzdHIgIi90bXAgbXVzw60gYnnFpSBwbGF0bsO9IG7DoXpvdiBhZHJlc8OhcmEiCiAKLSM6IHNoZWxsLmM6ODc2CisjOiBzaGVsbC5jOjg4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJWMlYzogbmVwbGF0bsOhIHZvxL5iYSIKIAotIzogc2hlbGwuYzoxNjM4CisjOiBzaGVsbC5jOjE2NTEKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgIk5lbcOhbSBtZW5vISIKIAotIzogc2hlbGwuYzoxNzc4CisjOiBzaGVsbC5jOjE3OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgogbXNnc3RyICJHTlUgYmFzaCwgdmVyemlhICVzLSglcylcbiIKIAotIzogc2hlbGwuYzoxNzc5CisjOiBzaGVsbC5jOjE3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCkBAIC0xNDQ0LDM4NyArMTUxNSw0MDcgQEAKICJQb3XFvml0aWU6XHQlcyBbR05VIGRsaMOhIHZvxL5iYV0gW3ZvxL5iYV0gLi4uXG4iCiAiXHQlcyBbR05VIGRsaMOhIHZvxL5iYV0gW3ZvxL5iYV0gc8O6Ym9yLXNrcmlwdHUgLi4uXG4iCiAKLSM6IHNoZWxsLmM6MTc4MQorIzogc2hlbGwuYzoxNzk2CiBtc2dpZCAiR05VIGxvbmcgb3B0aW9uczpcbiIKIG1zZ3N0ciAiR05VIGRsaMOpIHZvxL5ieTpcbiIKIAotIzogc2hlbGwuYzoxNzg1CisjOiBzaGVsbC5jOjE4MDAKIG1zZ2lkICJTaGVsbCBvcHRpb25zOlxuIgogbXNnc3RyICJWb8S+Ynkgc2hlbGx1OlxuIgogCi0jOiBzaGVsbC5jOjE3ODYKKyM6IHNoZWxsLmM6MTgwMQogbXNnaWQgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKIG1zZ3N0ciAiXHQtaXJzRCBhbGVibyAtYyBwcsOta2F6IGFsZWJvIC1PIGtyw6F0a2Ffdm/EvmJhXHRcdChpYmEgdnl2b2xhbmllKVxuIgogCi0jOiBzaGVsbC5jOjE4MDEKKyM6IHNoZWxsLmM6MTgxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJcdC0lcyBvciAtbyBvcHRpb25cbiIKIG1zZ3N0ciAiXHQtJXMgYWxlYm8gLW8gdm/EvmJhXG4iCiAKLSM6IHNoZWxsLmM6MTgwNworIzogc2hlbGwuYzoxODIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIFwiaGVscCBzZXRcIicgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgb3B0aW9ucy5cbiIKIG1zZ3N0ciAiIgogIk5hcMOtc2Fuw61tIOKAniVzIC1jIFwiaGVscCBzZXRcIuKAnCB6w61za2F0ZSB2aWFjIGluZm9ybcOhY2nDrSBvIHZvxL5iw6FjaCBzaGVsbHUuXG4iCiAKLSM6IHNoZWxsLmM6MTgwOAorIzogc2hlbGwuYzoxODIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIGhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIGJ1aWx0aW4gY29tbWFuZHMuXG4iCiBtc2dzdHIgIiIKICJOYXDDrXNhbsOtbSDigJ4lcyAtYyBoZWxw4oCcIHrDrXNrYXRlIHZpYWMgaW5mb3Jtw6FjacOtIG8gdnN0YXZhbsO9Y2ggcHLDrWthem9jaCAiCiAiKGJ1aWx0aW5zKSBzaGVsbHUuXG4iCiAKLSM6IHNoZWxsLmM6MTgwOQorIzogc2hlbGwuYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIk5hIG9obGFzb3ZhbmllIGNow71iIHBvdcW+aXRlIHByw61rYXog4oCeYmFzaGJ1Z+KAnC5cbiIKIAotIzogc2lnLmM6NTgzCisjOiBzaWcuYzo2MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAic2lncHJvY21hc2s6ICVkOiBuZXBsYXRuw6Egb3BlcsOhY2lhIgogCi0jOiBzaWdsaXN0LmM6NDcKKyM6IHNpZ2xpc3QuYzo0OAogbXNnaWQgIkJvZ3VzIHNpZ25hbCIKIG1zZ3N0ciAiTmVwbGF0bsO9IHNpZ27DoWwiCiAKLSM6IHNpZ2xpc3QuYzo1MAorIzogc2lnbGlzdC5jOjUxCiBtc2dpZCAiSGFuZ3VwIgogbXNnc3RyICJaYXZlc2VuaWUiCiAKLSM6IHNpZ2xpc3QuYzo1NAorIzogc2lnbGlzdC5jOjU1CiBtc2dpZCAiSW50ZXJydXB0IgogbXNnc3RyICJQcmVydcWhZW5pZSIKIAotIzogc2lnbGlzdC5jOjU4CisjOiBzaWdsaXN0LmM6NTkKIG1zZ2lkICJRdWl0IgogbXNnc3RyICJVa29uxI1lbmllIgogCi0jOiBzaWdsaXN0LmM6NjIKKyM6IHNpZ2xpc3QuYzo2MwogbXNnaWQgIklsbGVnYWwgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIk5lcGxhdG7DoSBpbsWhdHJ1a2NpYSIKIAotIzogc2lnbGlzdC5jOjY2CisjOiBzaWdsaXN0LmM6NjcKIG1zZ2lkICJCUFQgdHJhY2UvdHJhcCIKIG1zZ3N0ciAiQlBUIHRyYWNlL3RyYXAiCiAKLSM6IHNpZ2xpc3QuYzo3NAorIzogc2lnbGlzdC5jOjc1CiBtc2dpZCAiQUJPUlQgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgImluxaF0cnVrY2lhIEFCT1JUIgogCi0jOiBzaWdsaXN0LmM6NzgKKyM6IHNpZ2xpc3QuYzo3OQogbXNnaWQgIkVNVCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiaW7FoXRydWtjaWEgRU1UIgogCi0jOiBzaWdsaXN0LmM6ODIKKyM6IHNpZ2xpc3QuYzo4MwogbXNnaWQgIkZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiIKIG1zZ3N0ciAiVsO9bmlta2EgcHJpIG9wZXLDoWNpaSBzIHBsw6F2YWrDumNvdSBkZXNhdGlubm91IMSNaWFya291IgogCi0jOiBzaWdsaXN0LmM6ODYKKyM6IHNpZ2xpc3QuYzo4NwogbXNnaWQgIktpbGxlZCIKIG1zZ3N0ciAiWmFiaXTDvSIKIAotIzogc2lnbGlzdC5jOjkwCisjOiBzaWdsaXN0LmM6OTEKIG1zZ2lkICJCdXMgZXJyb3IiCiBtc2dzdHIgImNoeWJhIHpiZXJuaWNlIgogCi0jOiBzaWdsaXN0LmM6OTQKKyM6IHNpZ2xpc3QuYzo5NQogbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKIG1zZ3N0ciAiQ2h5YmEgc2VnbWVudMOhY2llIgogCi0jOiBzaWdsaXN0LmM6OTgKKyM6IHNpZ2xpc3QuYzo5OQogbXNnaWQgIkJhZCBzeXN0ZW0gY2FsbCIKIG1zZ3N0ciAiQ2h5Ym7DqSBzeXN0w6ltb3bDqSB2b2xhbmllIgogCi0jOiBzaWdsaXN0LmM6MTAyCisjOiBzaWdsaXN0LmM6MTAzCiBtc2dpZCAiQnJva2VuIHBpcGUiCiBtc2dzdHIgIlByZXJ1xaFlbsOhIHLDunJhIgogCi0jOiBzaWdsaXN0LmM6MTA2CisjOiBzaWdsaXN0LmM6MTA3CiBtc2dpZCAiQWxhcm0gY2xvY2siCiBtc2dzdHIgIkJ1ZMOtayIKIAotIzogc2lnbGlzdC5jOjExMAorIzogc2lnbGlzdC5jOjExMQogbXNnaWQgIlRlcm1pbmF0ZWQiCiBtc2dzdHIgIlVrb27EjWVuw6kiCiAKLSM6IHNpZ2xpc3QuYzoxMTQKKyM6IHNpZ2xpc3QuYzoxMTUKIG1zZ2lkICJVcmdlbnQgSU8gY29uZGl0aW9uIgogbXNnc3RyICJOYWxpZWhhdsO9IHN0YXYgVi9WIgogCi0jOiBzaWdsaXN0LmM6MTE4CisjOiBzaWdsaXN0LmM6MTE5CiBtc2dpZCAiU3RvcHBlZCAoc2lnbmFsKSIKIG1zZ3N0ciAiWmFzdGF2ZW7DqSAoc2lnbsOhbCkiCiAKLSM6IHNpZ2xpc3QuYzoxMjYKKyM6IHNpZ2xpc3QuYzoxMjcKIG1zZ2lkICJDb250aW51ZSIKIG1zZ3N0ciAiUG9rcmHEjW92YcWlIgogCi0jOiBzaWdsaXN0LmM6MTM0CisjOiBzaWdsaXN0LmM6MTM1CiBtc2dpZCAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKIG1zZ3N0ciAiWmFzdGF2ZW5pZSBhbGVibyB6YWJpdGllIGRldHNrw6lobyBwcm9jZXN1IgogCi0jOiBzaWdsaXN0LmM6MTM4CisjOiBzaWdsaXN0LmM6MTM5CiBtc2dpZCAiU3RvcHBlZCAodHR5IGlucHV0KSIKIG1zZ3N0ciAiWmFzdGF2ZW7DqSAodnN0dXAgeiB0dHkpIgogCi0jOiBzaWdsaXN0LmM6MTQyCisjOiBzaWdsaXN0LmM6MTQzCiBtc2dpZCAiU3RvcHBlZCAodHR5IG91dHB1dCkiCiBtc2dzdHIgIlphc3RhdmVuw6kgKHbDvXN0dXAgbmEgdHR5KSIKIAotIzogc2lnbGlzdC5jOjE0NgorIzogc2lnbGlzdC5jOjE0NwogbXNnaWQgIkkvTyByZWFkeSIKIG1zZ3N0ciAiVi9WIHByaXByYXZlbsO9IgogCi0jOiBzaWdsaXN0LmM6MTUwCisjOiBzaWdsaXN0LmM6MTUxCiBtc2dpZCAiQ1BVIGxpbWl0IgogbXNnc3RyICJvYm1lZHplbmllIENQVSIKIAotIzogc2lnbGlzdC5jOjE1NAorIzogc2lnbGlzdC5jOjE1NQogbXNnaWQgIkZpbGUgbGltaXQiCiBtc2dzdHIgIm9ibWVkemVuaWUgc8O6Ym9yb3YiCiAKLSM6IHNpZ2xpc3QuYzoxNTgKKyM6IHNpZ2xpc3QuYzoxNTkKIG1zZ2lkICJBbGFybSAodmlydHVhbCkiCiBtc2dzdHIgIkJ1ZMOtayAodmlydHXDoWxueSkiCiAKLSM6IHNpZ2xpc3QuYzoxNjIKKyM6IHNpZ2xpc3QuYzoxNjMKIG1zZ2lkICJBbGFybSAocHJvZmlsZSkiCiBtc2dzdHIgIkJ1ZMOtayAocHJvZmlsKSIKIAotIzogc2lnbGlzdC5jOjE2NgorIzogc2lnbGlzdC5jOjE2NwogbXNnaWQgIldpbmRvdyBjaGFuZ2VkIgogbXNnc3RyICJPa25vIHNhIHptZW5pbG8iCiAKLSM6IHNpZ2xpc3QuYzoxNzAKKyM6IHNpZ2xpc3QuYzoxNzEKIG1zZ2lkICJSZWNvcmQgbG9jayIKIG1zZ3N0ciAiWsOhbW9rIHrDoXpuYW11IgogCi0jOiBzaWdsaXN0LmM6MTc0CisjOiBzaWdsaXN0LmM6MTc1CiBtc2dpZCAiVXNlciBzaWduYWwgMSIKIG1zZ3N0ciAiUG91xb7DrXZhdGXEvnNrw70gc2lnbsOhbCAxIgogCi0jOiBzaWdsaXN0LmM6MTc4CisjOiBzaWdsaXN0LmM6MTc5CiBtc2dpZCAiVXNlciBzaWduYWwgMiIKIG1zZ3N0ciAiUG91xb7DrXZhdGXEvnNrw70gc2lnbsOhbCAyIgogCi0jOiBzaWdsaXN0LmM6MTgyCisjOiBzaWdsaXN0LmM6MTgzCiBtc2dpZCAiSEZUIGlucHV0IGRhdGEgcGVuZGluZyIKIG1zZ3N0ciAixI1ha8OhIHNhIG5hIHZzdHVwbsOpIMO6ZGFqZSBIRlQiCiAKLSM6IHNpZ2xpc3QuYzoxODYKKyM6IHNpZ2xpc3QuYzoxODcKIG1zZ2lkICJwb3dlciBmYWlsdXJlIGltbWluZW50IgogbXNnc3RyICJuYXN0YW5lIHbDvXBhZG9rIG5hcMOhamFuaWEiCiAKLSM6IHNpZ2xpc3QuYzoxOTAKKyM6IHNpZ2xpc3QuYzoxOTEKIG1zZ2lkICJzeXN0ZW0gY3Jhc2ggaW1taW5lbnQiCiBtc2dzdHIgIm5hc3RhbmUgaGF2w6FyaWEgc3lzdMOpbXUiCiAKLSM6IHNpZ2xpc3QuYzoxOTQKKyM6IHNpZ2xpc3QuYzoxOTUKIG1zZ2lkICJtaWdyYXRlIHByb2Nlc3MgdG8gYW5vdGhlciBDUFUiCiBtc2dzdHIgInByZXN1bsO6xaUgcHJvY2VzIG5hIGluw70gQ1BVIgogCi0jOiBzaWdsaXN0LmM6MTk4CisjOiBzaWdsaXN0LmM6MTk5CiBtc2dpZCAicHJvZ3JhbW1pbmcgZXJyb3IiCiBtc2dzdHIgImNoeWJhIHByb2dyYW1vdmFuaWEiCiAKLSM6IHNpZ2xpc3QuYzoyMDIKKyM6IHNpZ2xpc3QuYzoyMDMKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIGdyYW50ZWQiCiBtc2dzdHIgInVkZWxlbsO9IHJlxb5pbSBtb25pdG9ydSBIRlQiCiAKLSM6IHNpZ2xpc3QuYzoyMDYKKyM6IHNpZ2xpc3QuYzoyMDcKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIHJldHJhY3RlZCIKIG1zZ3N0ciAic3RpYWhudXTDvSByZcW+aW0gbW9uaXRvcnUgSEZUIgogCi0jOiBzaWdsaXN0LmM6MjEwCisjOiBzaWdsaXN0LmM6MjExCiBtc2dpZCAiSEZUIHNvdW5kIHNlcXVlbmNlIGhhcyBjb21wbGV0ZWQiCiBtc2dzdHIgImRva29uxI1pbGEgc2EgenZ1a292w6Egc2VrdmVuY2lhIEhGVCIKIAotIzogc2lnbGlzdC5jOjIxNAorIzogc2lnbGlzdC5jOjIxNQogbXNnaWQgIkluZm9ybWF0aW9uIHJlcXVlc3QiCiBtc2dzdHIgIsW9aWFkb3PFpSBvIGluZm9ybcOhY2llIgogCi0jOiBzaWdsaXN0LmM6MjIyCisjOiBzaWdsaXN0LmM6MjIzCiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyIKIG1zZ3N0ciAiTmV6bsOhbWUgxI3DrXNsbyBzaWduw6FsdSIKIAotIzogc2lnbGlzdC5jOjIyNAorIzogc2lnbGlzdC5jOjIyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjJWQiCiBtc2dzdHIgIk5lem7DoW15IHNpZ27DoWwgIyVkIgogCi0jOiBzdWJzdC5jOjExODEgc3Vic3QuYzoxMzAyCisjOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKIG1zZ3N0ciAiY2h5Ym7DoSBzdWJzdGl0w7pjaWE6IGNow71iYSDigJ4lc+KAnCB2ICVzIgogCi0jOiBzdWJzdC5jOjI0NTgKKyM6IHN1YnN0LmM6MjczNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKIG1zZ3N0ciAiJXM6IG5pZSBqZSBtb8W+bsOpIHByaXJhZGnFpSB6b3puYW0gcG9sb8W+a2UgcG/EvmEiCiAKLSM6IHN1YnN0LmM6NDQ1NiBzdWJzdC5jOjQ0NzIKKyM6IHN1YnN0LmM6NDc1NCBzdWJzdC5jOjQ3NzAKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAibmllIGplIG1vxb5uw6kgdnl0dm9yacWlIHLDunJ1IHByZSBzdWJzdGl0w7pjaXUgcHJvY2Vzb3YiCiAKLSM6IHN1YnN0LmM6NDUwNAorIzogc3Vic3QuYzo0ODAyCiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJuaWUgamUgbW/Fvm7DqSB2eXR2b3JpxaUgcG90b21rYSBwcmUgc3Vic3RpdMO6Y2l1IHByb2Nlc292IgogCi0jOiBzdWJzdC5jOjQ1NDkKKyM6IHN1YnN0LmM6NDg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogbXNnc3RyICJuaWUgamUgbW/Fvm7DqSBvdHZvcmnFpSBwb21lbm92YW7DuiByw7pydSAlcyBuYSDEjcOtdGFuaWUiCiAKLSM6IHN1YnN0LmM6NDU1MQorIzogc3Vic3QuYzo0ODQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgIm5pZSBqZSBtb8W+bsOpIG90dm9yacWlIHBvbWVub3ZhbsO6IHLDunJ1ICVzIG5hIHrDoXBpcyIKIAotIzogc3Vic3QuYzo0NTY5CisjOiBzdWJzdC5jOjQ4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBuYW1lZCBwaXBlICVzIGFzIGZkICVkIgogbXNnc3RyICJuaWUgamUgbW/Fvm7DqSBkdXBsaWtvdmHFpSBwb21lbm92YW7DuiByw7pydSAlcyBha28gZmQgJWQiCiAKLSM6IHN1YnN0LmM6NDc2NQorIzogc3Vic3QuYzo1MDYzCiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIm5pZSBqZSBtb8W+bsOpIHZ5dHZvcmnFpSByw7pydSBwcmUgc3Vic3RpdMO6Y2l1IHByw61rYXpvdiIKIAotIzogc3Vic3QuYzo0Nzk5CisjOiBzdWJzdC5jOjUwOTcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIm5pZSBqZSBtb8W+bsOpIHZ5dHZvcmnFpSBwb3RvbWthIHByZSBzdWJzdGl0w7pjaXUgcHLDrWthem92IgogCi0jOiBzdWJzdC5jOjQ4MTYKKyM6IHN1YnN0LmM6NTExNAogbXNnaWQgImNvbW1hbmRfc3Vic3RpdHV0ZTogY2Fubm90IGR1cGxpY2F0ZSBwaXBlIGFzIGZkIDEiCiBtc2dzdHIgImNvbW1hbmRfc3Vic3RpdHV0ZTogbmllIGplIG1vxb5uw6kgZHVwbGlrb3ZhxaUgcsO6cnUgYWtvIGZkIDEiCiAKLSM6IHN1YnN0LmM6NTMxOAorIzogc3Vic3QuYzo1NjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXJhbWV0ZXIgbnVsbCBvciBub3Qgc2V0IgogbXNnc3RyICIlczogcGFyYW1ldGVyIGplIG51bGwgYWxlYm8gbmVuYXN0YXZlbsO9IgogCi0jOiBzdWJzdC5jOjU2MDgKKyM6IHN1YnN0LmM6NTkwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogc3Vic3RyaW5nIGV4cHJlc3Npb24gPCAwIgogbXNnc3RyICIlczogdsO9cmF6IHBvZHJlxaVhemNhIDwgMCIKIAotIzogc3Vic3QuYzo2NjYwCisjOiBzdWJzdC5jOjY5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiVzOiBjaHlibsOhIHN1YnN0aXTDumNpYSIKIAotIzogc3Vic3QuYzo2NzQwCisjOiBzdWJzdC5jOjcwNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IG5pZSBqZSBtb8W+bsOpIHZ5a29uYcWlIHByaXJhZGVuaWUgdGFrw71tdG8gc3DDtHNvYm9tIgogCi0jOiBzdWJzdC5jOjc0OTkKKyM6IHN1YnN0LmM6NzM3NAorbXNnaWQgIiIKKyJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKKyJzdWJzdGl0dXRpb24iCittc2dzdHIgIiIKKworIzogc3Vic3QuYzo3ODM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCiBtc2dzdHIgImNoeWJuw6Egc3Vic3RpdMO6Y2lhOiA6IHYgcmXFpWF6Y2kgJXMgY2jDvWJhIHV6YXR2w6FyYWrDumNpIOKAnmDigJ0iCiAKLSM6IHN1YnN0LmM6ODM3NQorIzogc3Vic3QuYzo4NzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoOiAlcyIKIG1zZ3N0ciAiYmV6IHpob2R5OiAlcyIKIAotIzogdGVzdC5jOjE0NQorIzogdGVzdC5jOjE0NgogbXNnaWQgImFyZ3VtZW50IGV4cGVjdGVkIgogbXNnc3RyICJvxI1ha8OhdmFsIHNhIGFyZ3VtZW50IgogCi0jOiB0ZXN0LmM6MTU0CisjOiB0ZXN0LmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnRlZ2VyIGV4cHJlc3Npb24gZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBvxI1ha8OhdmFsIHNhIGNlbG/EjcOtc2VsbsO9IHbDvXJheiIKIAotIzogdGVzdC5jOjI2MgorIzogdGVzdC5jOjI2MwogbXNnaWQgImApJyBleHBlY3RlZCIKIG1zZ3N0ciAib8SNYWvDoXZhbGEgc2Eg4oCeKeKAnCIKIAotIzogdGVzdC5jOjI2NAorIzogdGVzdC5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICJvxI1ha8OhdmFsYSBzYSDigJ4p4oCcLCBib2xvIG7DoWpkZW7DqSAlcyIKIAotIzogdGVzdC5jOjI3OSB0ZXN0LmM6Njg4IHRlc3QuYzo2OTEKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5MyB0ZXN0LmM6Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IG/EjWFrw6F2YWwgc2EgdW7DoXJueSBvcGVyw6F0b3IiCiAKLSM6IHRlc3QuYzo0NDQgdGVzdC5jOjczMQorIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBvxI1ha8OhdmFsIHNhIGJpbsOhcm55IG9wZXLDoXRvciIKIAotIzogdGVzdC5jOjgwNgorIzogdGVzdC5jOjgxMQogbXNnaWQgIm1pc3NpbmcgYF0nIgogbXNnc3RyICJjaMO9YmEg4oCeXeKAnCIKIAotIzogdHJhcC5jOjIwMQorIzogdHJhcC5jOjIwMwogbXNnaWQgImludmFsaWQgc2lnbmFsIG51bWJlciIKIG1zZ3N0ciAibmVwbGF0bsOpIMSNw61zbG8gc2lnbsOhbHUiCiAKLSM6IHRyYXAuYzozMjQKKyM6IHRyYXAuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVuX3BlbmRpbmdfdHJhcHM6IGJhZCB2YWx1ZSBpbiB0cmFwX2xpc3RbJWRdOiAlcCIKIG1zZ3N0ciAicnVuX3BlbmRpbmdfdHJhcHM6IGNoeWJuw6EgaG9kbm90YSB2IHRyYXBfbGlzdFslZF06ICVwIgogCi0jOiB0cmFwLmM6MzI4CisjOiB0cmFwLmM6MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgogbXNnc3RyICIiCiAicnVuX3BlbmRpbmdfdHJhcHM6IG9ic2x1aGEgc2lnbsOhbHUgamUgU0lHX0RGTCwgem5vdnUgcG9zaWVsYW0gJWQgKCVzKSBzZWJlIgogCi0jOiB0cmFwLmM6MzcyCisjOiB0cmFwLmM6MzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKIG1zZ3N0ciAidHJhcF9oYW5kbGVyOiBjaHlibsO9IHNpZ27DoWwgJWQiCiAKLSM6IHZhcmlhYmxlcy5jOjM1OAorIzogdmFyaWFibGVzLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnIgogbXNnc3RyICJjaHliYSBwcmkgaW1wb3J0ZSBkZWZpbsOtY2llIGZ1bmtjaWUg4oCeJXPigJwiCiAKLSM6IHZhcmlhYmxlcy5jOjczNgorIzogdmFyaWFibGVzLmM6NzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICLDunJvdmXFiCBzaGVsbHUgKCVkKSBqZSBwcsOtbGnFoSB2eXNva8OhLCBuYXN0YXZ1amVtIHNww6TFpSBuYSAxIgogCi0jOiB2YXJpYWJsZXMuYzoxODk4CisjOiB2YXJpYWJsZXMuYzoxOTE1CiBtc2dpZCAibWFrZV9sb2NhbF92YXJpYWJsZTogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiB2IGFrdHXDoWxub20gcm96c2FodSBzYSBuZW5hY2jDoWR6YSBrb250ZXh0IGZ1bmtjaWUiCiAKLSM6IHZhcmlhYmxlcy5jOjMxMjcKKyM6IHZhcmlhYmxlcy5jOjMxNTkKIG1zZ2lkICJhbGxfbG9jYWxfdmFyaWFibGVzOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgImFsbF9sb2NhbF92YXJpYWJsZXM6IHYgYWt0dcOhbG5vbSByb3pzYWh1IHNhIG5lbmFjaMOhZHphIGtvbnRleHQgZnVua2NpZSIKIAotIzogdmFyaWFibGVzLmM6MzM0NCB2YXJpYWJsZXMuYzozMzUzCisjOiB2YXJpYWJsZXMuYzozMzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCittc2dzdHIgIiVzOiBwYXJhbWV0ZXIgamUgbnVsbCBhbGVibyBuZW5hc3RhdmVuw70iCisKKyM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICJuZXBsYXRuw70gem5hayAlZCB2IGV4cG9ydHN0ciAlcyIKIAotIzogdmFyaWFibGVzLmM6MzM1OQorIzogdmFyaWFibGVzLmM6MzM5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBgPScgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAixb5pYWRuZSDigJ494oCcIHYgZXhwb3J0c3RyICVzIgogCi0jOiB2YXJpYWJsZXMuYzozNzk0CisjOiB2YXJpYWJsZXMuYzozODM1CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSBmdW5jdGlvbiBjb250ZXh0IgogbXNnc3RyICJwb3BfdmFyX2NvbnRleHQ6IGhsYXZpxI1rYSBzaGVsbF92YXJpYWJsZXMgbmllIGplIGtvbnRleHQgZnVua2NpZSIKIAotIzogdmFyaWFibGVzLmM6MzgwNworIzogdmFyaWFibGVzLmM6Mzg0OAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogbXNnc3RyICJwb3BfdmFyX2NvbnRleHQ6IGNow71iYSBrb250ZXh0IGdsb2JhbF92YXJpYWJsZXMiCiAKLSM6IHZhcmlhYmxlcy5jOjM4ODEKKyM6IHZhcmlhYmxlcy5jOjM5MjIKIG1zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKIG1zZ3N0ciAicG9wX3Njb3BlOiBobGF2acSNa2Egc2hlbGxfdmFyaWFibGVzIG5pZSBqZSBkb8SNYXNuw70gcm96c2FoIHByb3N0cmVkaWEiCiAKKyM6IHZhcmlhYmxlcy5jOjQ2NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogY2Fubm90IG9wZW4gYXMgRklMRSIKK21zZ3N0ciAiJXM6IG5pZSBqZSBtb8W+bsOpIG90dm9yacWlOiAlcyIKKworIzogdmFyaWFibGVzLmM6NDY4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiVkOiBuZXBsYXRuw70gcG9waXNvdmHEjSBzw7pib3J1OiAlcyIKKwogIzogdmVyc2lvbi5jOjQ2Ci0jLCBmdXp6eQogbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCi1tc2dzdHIgIkNvcHlyaWdodCAoQykgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCittc2dzdHIgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCiAKICM6IHZlcnNpb24uYzo0NwogbXNnaWQgIiIKQEAgLTE4MzQsNjUgKzE5MjUsNTggQEAKICJMaWNlbmNpYSBHUEx2Mys6IEdOVSBHUEwgdmVyemllIDMgYWxlYm8gbm92xaFpYSBodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgogImh0bWxcbiIKIAotIzogdmVyc2lvbi5jOjg2CisjOiB2ZXJzaW9uLmM6ODYgdmVyc2lvbjIuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcyAoJXMpXG4iCiBtc2dzdHIgIkdOVSBiYXNoLCB2ZXJ6aWEgJXMgKCVzKVxuIgogCi0jOiB2ZXJzaW9uLmM6OTEKKyM6IHZlcnNpb24uYzo5MSB2ZXJzaW9uMi5jOjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmlidXRlIGl0LlxuIgogbXNnc3RyICJUb3RvIGplIHNsb2JvZG7DvSBzb2Z0dsOpcjsgbcO0xb5ldGUgaG8gc2xvYm9kbmUgbWVuacWlIGEgxaHDrXJpxaUuXG4iCiAKLSM6IHZlcnNpb24uYzo5MgorIzogdmVyc2lvbi5jOjkyIHZlcnNpb24yLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKIG1zZ3N0ciAiIgogIk5pZSBzw7ogcG9za3l0b3ZhbsOpIMW9SUFETkUgWsOBUlVLWSB2IHJvenNhaHUgYWvDvSBwb3ZvxL51amVcbiIKICJhcGxpa292YXRlxL5uw6kgcHLDoXZvLlxuIgogCi0jOiB4bWFsbG9jLmM6OTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjOiB2ZXJzaW9uMi5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCittc2dzdHIgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCisKKyM6IHZlcnNpb24yLmM6ODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMaWNlbnNlIEdQTHYyKzogR05VIEdQTCB2ZXJzaW9uIDIgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiaHRtbD5cbiIKK21zZ3N0ciAiIgorIkxpY2VuY2lhIEdQTHYzKzogR05VIEdQTCB2ZXJ6aWUgMyBhbGVibyBub3bFoWlhIGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiaHRtbFxuIgorCisjOiB4bWFsbG9jLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKIG1zZ3N0ciAieG1hbGxvYzogbmllIGplIG1vxb5uw6kgYWxva292YcWlICVsdSBiYWp0b3YgKCVsdSBiYWp0b3YgYWxva292YW7DvWNoKSIKIAotIzogeG1hbGxvYy5jOjk0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCisjOiB4bWFsbG9jLmM6OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgogbXNnc3RyICJ4bWFsbG9jOiBuaWUgamUgbW/Fvm7DqSBhbG9rb3ZhxaUgJWx1IGJhanRvdiIKIAotIzogeG1hbGxvYy5jOjExNAotIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAieHJlYWxsb2M6IG5pZSBqZSBtb8W+bsOpIHJlYWxva292YcWlICVsdSBiYWp0b3YgKCVsdSBiYWp0b3YgYWxva292YW7DvWNoKSIKLQotIzogeG1hbGxvYy5jOjExNgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKLW1zZ3N0ciAieHJlYWxsb2M6IG5pZSBqZSBtb8W+bsOpIGFsb2tvdmHFpSAlbHUgYmFqdG92IgotCi0jOiB4bWFsbG9jLmM6MTUwCi0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyM6IHhtYWxsb2MuYzoxNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiBtc2dzdHIgIiIKICJ4bWFsbG9jOiAlczolZDogbmllIGplIG1vxb5uw6kgYWxva292YcWlICVsdSBiYWp0b3YgKCVsdSBiYWp0b3YgYWxva292YW7DvWNoKSIKIAotIzogeG1hbGxvYy5jOjE1MgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKKyM6IHhtYWxsb2MuYzoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKIG1zZ3N0ciAieG1hbGxvYzogJXM6JWQ6IG5pZSBqZSBtb8W+bsOpIGFsb2tvdmHFpSAlbHUgYmFqdG92IgogCi0jOiB4bWFsbG9jLmM6MTc0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAiIgotInhyZWFsbG9jOiAlczolZDogbmllIGplIG1vxb5uw6kgcmVhbG9rb3ZhxaUgJWx1IGJhanRvdiAoJWx1IGJhanRvdiBhbG9rb3ZhbsO9Y2gpIgotCi0jOiB4bWFsbG9jLmM6MTc2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKLW1zZ3N0ciAieHJlYWxsb2M6ICVzOiVkOiBuaWUgamUgbW/Fvm7DqSBhbG9rb3ZhxaUgJWx1IGJhanRvdiIKLQogIzogYnVpbHRpbnMuYzo0MwogbXNnaWQgImFsaWFzIFstcF0gW25hbWVbPXZhbHVlXSAuLi4gXSIKIG1zZ3N0ciAiYWxpYXMgWy1wXSBbbsOhem92Wz1ob2Rub3RhXSAuLi4gXSIKQEAgLTIwMTIsNyArMjA5Niw4IEBACiBtc2dzdHIgImhhc2ggWy1scl0gWy1wIGNlc3RhXSBbLWR0XSBbbsOhem92IC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTE3Ci1tc2dpZCAiaGVscCBbLWRzXSBbcGF0dGVybiAuLi5dIgorIywgZnV6enkKK21zZ2lkICJoZWxwIFstZG1zXSBbcGF0dGVybiAuLi5dIgogbXNnc3RyICJoZWxwIFstZHNdIFt2em9yIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTIxCkBAIC0yMDQ0LDkgKzIxMjksMTAgQEAKIG1zZ3N0ciAibGV0IGFyZyBbYXJnIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTM2CisjLCBmdXp6eQogbXNnaWQgIiIKLSJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstcCBwcm9tcHRdIFstdCAiCi0idGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgorInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKKyJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKICJyZWFkIFstZXJzXSBbLWEgcG9sZV0gWy1kIG9kZGXEvm92YcSNXSBbLWkgdGV4dF0gWy1uIG56bmFrb3ZdIFstcCB2w716dmFdIFstdCAiCiAiemRyxb5hZG5pZV0gWy11IGZkXSBbbsOhem92IC4uLl0iCkBAIC0yMTYxLDcgKzIyNDcsNyBAQAogCiAjOiBidWlsdGlucy5jOjE5OAogbXNnaWQgImNvcHJvYyBbTkFNRV0gY29tbWFuZCBbcmVkaXJlY3Rpb25zXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJjb3Byb2MgW07DgVpPVl0gcHLDrWtheiBbcHJlc21lcm92YW5pYV0iCiAKICM6IGJ1aWx0aW5zLmM6MjAwCiBtc2dpZCAiZnVuY3Rpb24gbmFtZSB7IENPTU1BTkRTIDsgfSBvciBuYW1lICgpIHsgQ09NTUFORFMgOyB9IgpAQCAtMjIwOSwxMCArMjI5NSwxMSBAQAogbXNnc3RyICJwcmludGYgWy12IHZhcl0gZm9ybcOhdCBbYXJndW1lbnR5XSIKIAogIzogYnVpbHRpbnMuYzoyMjkKKyMsIGZ1enp5CiBtc2dpZCAiIgotImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy1XICIKLSJ3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyBzdWZmaXhdICIKLSJbbmFtZSAuLi5dIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy0iCisiVyB3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyAiCisic3VmZml4XSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCiAiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstbyB2b8S+YmFdIFstQSBvcGVyw6FjaWFdIFstRyBnbG9iX3Z6b3JdIFstVyAiCiAiem96bmFtX3Nsb3ZdICBbLUYgZnVua2NpYV0gWy1DIHByw61rYXpdIFstWCB2em9yX2ZpbHRyYV0gWy1QIHByZWRwb25hXSBbLVMgIgpAQCAtMjIyOCw3ICsyMzE1LDggQEAKICJwcsOtcG9uYV0gW3Nsb3ZvXSIKIAogIzogYnVpbHRpbnMuYzoyMzcKLW1zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFtuYW1lIC4uLl0iCisjLCBmdXp6eQorbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gWy1ERV0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiY29tcG9wdCBbLW98K28gdm/EvmJhXSBbbsOhem92IC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MjQwCkBAIC0yMjQwLDEzICsyMzI4LDEyIEBACiAiWy1jIGt2YW50dW1dIFtwb2xlXSIKIAogIzogYnVpbHRpbnMuYzoyNDIKLSMsIGZ1enp5CiBtc2dpZCAiIgogInJlYWRhcnJheSBbLW4gY291bnRdIFstTyBvcmlnaW5dIFstcyBjb3VudF0gWy10XSBbLXUgZmRdIFstQyBjYWxsYmFja10gWy1jICIKICJxdWFudHVtXSBbYXJyYXldIgogbXNnc3RyICIiCi0ibWFwZmlsZSBbLW4gcG/EjWV0XSBbLU8gemHEjWlhdG9rXSBbLXMgcG/EjWV0XSBbLXRdIFstdSBmZF0gWy1DIHNww6R0bsOpX3ZvbGFuaWVdICIKLSJbLWMga3ZhbnR1bV0gW3BvbGVdIgorInJlYWRhcnJheSBbLW4gcG/EjWV0XSBbLU8gemHEjWlhdG9rXSBbLXMgcG/EjWV0XSBbLXRdIFstdSBmZF0gWy1DICIKKyJzcMOkdG7DqV92b2xhbmllXSBbLWMga3ZhbnR1bV0gW3BvbGVdIgogCiAjOiBidWlsdGlucy5jOjI1NAogbXNnaWQgIiIKQEAgLTM0OTMsNyArMzU4MCwxMSBAQAogIiAgICAgIC1lXHRcdHVzZSBSZWFkbGluZSB0byBvYnRhaW4gdGhlIGxpbmUgaW4gYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKICIgICAgICAtaSB0ZXh0XHRVc2UgVEVYVCBhcyB0aGUgaW5pdGlhbCB0ZXh0IGZvciBSZWFkbGluZVxuIgogIiAgICAgIC1uIG5jaGFyc1x0cmV0dXJuIGFmdGVyIHJlYWRpbmcgTkNIQVJTIGNoYXJhY3RlcnMgcmF0aGVyIHRoYW4gd2FpdGluZ1xuIgotIiAgICBcdFx0Zm9yIGEgbmV3bGluZVxuIgorIiAgICBcdFx0Zm9yIGEgbmV3bGluZSwgYnV0IGhvbm9yIGEgZGVsaW1pdGVyIGlmIGZld2VyIHRoYW4gTkNIQVJTXG4iCisiICAgIFx0XHRjaGFyYWN0ZXJzIGFyZSByZWFkIGJlZm9yZSB0aGUgZGVsaW1pdGVyXG4iCisiICAgICAgLU4gbmNoYXJzXHRyZXR1cm4gb25seSBhZnRlciByZWFkaW5nIGV4YWN0bHkgTkNIQVJTIGNoYXJhY3RlcnMsICIKKyJ1bmxlc3NcbiIKKyIgICAgXHRcdEVPRiBpcyBlbmNvdW50ZXJlZCBvciByZWFkIHRpbWVzIG91dCwgaWdub3JpbmcgYW55IGRlbGltaXRlclxuIgogIiAgICAgIC1wIHByb21wdFx0b3V0cHV0IHRoZSBzdHJpbmcgUFJPTVBUIHdpdGhvdXQgYSB0cmFpbGluZyBuZXdsaW5lIGJlZm9yZVxuIgogIiAgICBcdFx0YXR0ZW1wdGluZyB0byByZWFkXG4iCiAiICAgICAgLXJcdFx0ZG8gbm90IGFsbG93IGJhY2tzbGFzaGVzIHRvIGVzY2FwZSBhbnkgY2hhcmFjdGVyc1xuIgpAQCAtMzUxNCw5ICszNjA1LDkgQEAKIG1zZ3N0ciAiIgogIk5hxI3DrXRhxaUgcmlhZG9rIHpvIMWhdGFuZGFyZG7DqWhvIHZzdHVwdSBhIHJvemRlbGnFpSBobyBkbyBwb2zDrS5cbiIKICIgICAgXG4iCi0iICAgIFpvIMWhdGFuZGFyZG7DqWhvIHZzdHVwdSBzYSBuYcSNw610YSBqZWRlbiByaWFkb2suIFJpYWRvayBzYSByb3pkZWzDrSBkb1xuIgotIiAgICBwb2zDrSBha28gcHJpIGRlbGVuw60gbmEgc2xvdsOhIGEgcHJ2w6kgc2xvdm8gc2EgcHJpcmFkw60gcHJ2w6ltdSBOw4FaVlUsICIKLSJkcnVow6lcbiIKKyIgICAgWm8gxaF0YW5kYXJkbsOpaG8gdnN0dXB1IChhbGVibyB6IHBvcGlzb3ZhxI1hIEZEIGFrIGplIHV2ZWRlbsOhIHZvxL5iYSAtdSlcbiIKKyIgICAgc2EgbmHEjcOtdGEgamVkZW4gcmlhZG9rLiBSaWFkb2sgc2Egcm96ZGVsw60gZG8gcG9sw60gYWtvIHByaSBkZWxlbsOtIFxuIgorIiAgICBuYSBzbG92w6EgYSBwcnbDqSBzbG92byBzYSBwcmlyYWTDrSBwcnbDqW11IE7DgVpWVSwgZHJ1aMOpXG4iCiAiICAgIHNsb3ZvIGRydWjDqW11IE7DgVpWVSBhdMSPLiBhxb4genZ5xaFuw6kgc2xvdsOhIHNhIHByaXJhZGlhIHBvc2xlZG7DqW11XG4iCiAiICAgIE7DgVpWVS4gSWJhIHpuYWt5LCBrdG9yw6kgc2EgbmFjaMOhZHphasO6IHYgJElGUyBzYSBwb3Zhxb51asO6IHphXG4iCiAiICAgIG9kZGXEvm92YcSNZSBzbG92LlxuIgpAQCAtMzUzMCw2ICszNjIxLDcgQEAKICIgICAgIC1kXHRwb2tyYcSNb3ZhbmllIMSNw610YW5pYSBhxb4ga8O9bSBzYSBuZXZ5c2t5dG5lIHBydsO9IHpuYWsgem5hayBERUxJTVxuIgogIiAgICBuYW1pZXN0byB6bmFrdSBub3bDqWhvIHJpYWRrYS5cbiIKICIgICAgIC1lIGEgc2hlbGwgamUgaW50ZXJha3TDrXZueSwgbmEgbmHEjcOtdGFuaWUgcmlhZGthIHNhIHBvdcW+aWplIHJlYWRsaW5lLlxuIgorIiAgICAgIC1pIHRleHRcdHBvdcW+aWplIFRFWFQgYWtvIHBydm90bsO9IHRleHQgcHJlIFJlYWRsaW5lXG4iCiAiICAgICAtbiB6bmFrb3ZcdMSNw610YW5pZSB2c3R1cHUgc2tvbsSNw60gcG8gbmHEjcOtdGFuw60gWk5BS09WIHpuYWtvdi5cbiIKICIgICAgIC1wXHR2w716dmFcdHByZWQgcG9rdXNvbSBvIMSNw610YW5pZSB2eXDDrcWhZSByZcWlYXplYyBWw51aVkEgYmV6IGtvbmNvdsOpaG9cbiIKICIgICAgICAgXHR6bmFrdSBub3bDqWhvIHJpYWRrYS5cbiIKQEAgLTM1NDcsNyArMzYzOSw3IEBACiAiICAgIFZyw6F0aSAwIGFrIHNhIG5lbmFyYXrDrSBwcmkgxI3DrXRhbsOtIG5ha29uaWVjIHPDumJvcnUsIG5ldnlwcsWhw60gxI1hcyBuYVxuIgogIiAgICDEjcOtdGFuaWUgYSBha28gYXJndW1lbnQgLXUgbmVib2wgamUgemFkYW7DvSBuZXBsYXRuw70gcG9waXNvdmHEjS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTAwNgorIzogYnVpbHRpbnMuYzoxMDA5CiBtc2dpZCAiIgogIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzU2OCw3ICszNjYwLDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIE4gYWxlYm8gemx5aMOhIGFrIHNoZWxsIG5ldnlrb27DoXZhIGZ1bmtjaXUgxI1pIHNrcmlwdC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTAxOQorIzogYnVpbHRpbnMuYzoxMDIyCiBtc2dpZCAiIgogIlNldCBvciB1bnNldCB2YWx1ZXMgb2Ygc2hlbGwgb3B0aW9ucyBhbmQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTM3MzQsNyArMzgyNiw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSAwIGFrIG5lYm9sYSB6YWRhbsOhIG5lcGxhdG7DoSB2b8S+YmEuIgogCi0jOiBidWlsdGlucy5jOjExMDEKKyM6IGJ1aWx0aW5zLmM6MTEwNAogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzc3MSw3ICszODYzLDcgQEAKICIgICAgVnLDoXRpIDAgYWsgc2EgbmVzdGFsbywgxb5lIGplIE7DgVpPViBpYmEgbmEgxI3DrXRhbmllIGEgbmVib2xhIHphZGFuw6FcbiIKICIgICAgbmVwbGF0bsOhIHZvxL5iYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTEyMQorIzogYnVpbHRpbnMuYzoxMTI0CiBtc2dpZCAiIgogIlNldCBleHBvcnQgYXR0cmlidXRlIGZvciBzaGVsbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMzgwNiw3ICszODk4LDcgQEAKICIgICAgVnLDoXRpIDAgYWsgc2EgbmVzdGFsbywgxb5lIGplIE7DgVpPViBuZXBsYXRuw70gYSBuZWJvbGEgemFkYW7DoVxuIgogIiAgICBuZXBsYXRuw6Egdm/EvmJhLiIKIAotIzogYnVpbHRpbnMuYzoxMTQwCisjOiBidWlsdGlucy5jOjExNDMKIG1zZ2lkICIiCiAiTWFyayBzaGVsbCB2YXJpYWJsZXMgYXMgdW5jaGFuZ2VhYmxlLlxuIgogIiAgICBcbiIKQEAgLTM4NDQsNyArMzkzNiw3IEBACiAiICAgIFZyw6F0aSAwIGFrIHNhIG5lc3RhbG8sIMW+ZSBqZSBOw4FaT1YgbmVwbGF0bsO9IGEgbmVib2xhIHphZGFuw6FcbiIKICIgICAgbmVwbGF0bsOhIHZvxL5iYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTE2MQorIzogYnVpbHRpbnMuYzoxMTY0CiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zODYyLDcgKzM5NTQsNyBAQAogIiAgICBOw6F2cmF0b3bDoSBob2Rub3RhOlxuIgogIiAgICBWcsOhdGkgMCBhayBzYSBuZXN0YWxvLCDFvmUgamUgTiB6w6Fwb3Juw6kgYWxlYm8gdsOkxI3FoWllIGFrbyAkIy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTE3MyBidWlsdGlucy5jOjExODgKKyM6IGJ1aWx0aW5zLmM6MTE3NiBidWlsdGlucy5jOjExOTEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmcm9tIGEgZmlsZSBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zODg2LDcgKzM5NzgsNyBAQAogIiAgICBWcsOhdGkgbsOhdnJhdG92w7ogaG9kbm90dSBwb3NsZWRuw6lobyBwcsOta2F6dSB2IFPDmkJPUmU7IHpseWjDoSBhayBuaWUgamVcbiIKICIgICAgbW/Fvm7DqSBTw5pCT1IgbmHEjcOtdGHFpS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTIwNAorIzogYnVpbHRpbnMuYzoxMjA3CiBtc2dpZCAiIgogIlN1c3BlbmQgc2hlbGwgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM5MTAsNyArNDAwMiw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSAwIGFrIHNhIG5lc3RhbG8sIMW+ZSBqZSB2eXBudXTDqSByaWFkZW5pZSDDumxvaCBhIG5ldnlza3l0bGEgc2EgY2h5YmEuIgogCi0jOiBidWlsdGlucy5jOjEyMjAKKyM6IGJ1aWx0aW5zLmM6MTIyMwogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTQwNjIsNyArNDE1NCw3IEBACiAiICAgIFZyw6F0aSAwIGFrIFbDnVIgdnlob2Rub3TDrSBha28gcHJhdmRpdsO9OyB6bHlow6EgYWtvIHNhIFbDnVIgdnlob2Rub3TDrVxuIgogIiAgICBha28gbmVwcmF2ZGl2w70gYWxlYm8gamUgemFkYW7DvSBuZXBsYXRuw70gYXJndW1lbnQuIgogCi0jOiBidWlsdGlucy5jOjEyOTYKKyM6IGJ1aWx0aW5zLmM6MTI5OQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTQwNzQsNyArNDE2Niw3IEBACiAiICAgIFRvdG8gamUgc3lub255bXVtIHZzYXRhdmFuZWogZnVua2NpZSDigJ50ZXN04oCcLCBhbGUgcG9zbGVkbsO9XG4iCiAiICAgIGFyZ3VtZW50IG11c8OtIGJ5xaUgbGl0ZXLDoWwg4oCeXeKAnCwga3RvcsO9IHV6YXR2w6FyYSBvdHbDoXJhasO6Y3Ug4oCeW+KAnC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTMwNQorIzogYnVpbHRpbnMuYzoxMzA4CiBtc2dpZCAiIgogIkRpc3BsYXkgcHJvY2VzcyB0aW1lcy5cbiIKICIgICAgXG4iCkBAIC00MDkzLDcgKzQxODUsNyBAQAogIiAgICBOw6F2cmF0b3bDoSBob2Rub3RhOlxuIgogIiAgICBWxb5keSB2csOhdGkgMC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTMxNworIzogYnVpbHRpbnMuYzoxMzIwCiBtc2dpZCAiIgogIlRyYXAgc2lnbmFscyBhbmQgb3RoZXIgZXZlbnRzLlxuIgogIiAgICBcbiIKQEAgLTQxNTksNyArNDI1MSw3IEBACiAiICAgIFZyw6F0aSAwIGFrIHNhIG5lc3RhbG8sIMW+ZSBqZSBTSUdTUEVDIG5lcGxhdG7DvSBhIG5lYm9sYSB6YWRhbsOhXG4iCiAiICAgIG5lcGxhdG7DoSB2b8S+YmEuIgogCi0jOiBidWlsdGlucy5jOjEzNDkKKyM6IGJ1aWx0aW5zLmM6MTM1MgogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmQgdHlwZS5cbiIKICIgICAgXG4iCkBAIC00MjE0LDcgKzQzMDYsNyBAQAogIiAgICBOw6F2cmF0b3bDoSBob2Rub3RhOlxuIgogIiAgICBWcsOhdGkgMCBhayBib2xpIG7DoWpkZW7DqSB2xaFldGt5IE7DgVpWWTsgemx5aMOhIGFrIG5pZS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MAorIzogYnVpbHRpbnMuYzoxMzgzCiBtc2dpZCAiIgogIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCiAiICAgIFxuIgpAQCAtNDI5OCw3ICs0MzkwLDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIDAgYWsgbmVib2xhIHphZGFuw6EgbmVwbGF0bsOhIHZvxL5iYSBhIG5ldnlza3l0bGEgc2EgY2h5YmEuIgogCi0jOiBidWlsdGlucy5jOjE0MjUKKyM6IGJ1aWx0aW5zLmM6MTQyOAogbXNnaWQgIiIKICJEaXNwbGF5IG9yIHNldCBmaWxlIG1vZGUgbWFzay5cbiIKICIgICAgXG4iCkBAIC00MzMyLDcgKzQ0MjQsNyBAQAogIiAgICBWcsOhdGkgMCBhayBzYSBuZXN0YWxvLCDFvmUgamUgUkXFvUlNIG5lcGxhdG7DvSBhIG5lYm9sYSB6YWRhbsOhXG4iCiAiICAgIG5lcGxhdG7DoSB2b8S+YmEuIgogCi0jOiBidWlsdGlucy5jOjE0NDUKKyM6IGJ1aWx0aW5zLmM6MTQ0OAogbXNnaWQgIiIKICJXYWl0IGZvciBqb2IgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTQzNjAsNyArNDQ1Miw3IEBACiAiICAgIFZyw6F0aSBzdGF2IElEOyB6bHlow6EgYWsgamUgSUQgbmVwbGF0bsO9IGFsZWJvIGJvbGEgemFkYW7DoVxuIgogIiAgICBuZXBsYXRuw6Egdm/EvmJhLiIKIAotIzogYnVpbHRpbnMuYzoxNDYzCisjOiBidWlsdGlucy5jOjE0NjYKIG1zZ2lkICIiCiAiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtNDM4NCw3ICs0NDc2LDcgQEAKICIgICAgVnLDoXRpIHN0YXYgSUQ7IHpseWjDoSBhayBqZSBJRCBuZXBsYXRuw70gYWxlYm8gYm9sYSB6YWRhbsOhIG5lcGxhdG7DoVxuIgogIiAgICB2b8S+YmEuIgogCi0jOiBidWlsdGlucy5jOjE0NzgKKyM6IGJ1aWx0aW5zLmM6MTQ4MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhIGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtNDQwNiw3ICs0NDk4LDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIG7DoXZyYXRvdsO6IGhvZG5vdHUgcG9zbGVkbsOpaG8gdnlrb25hbsOpaG8gcHLDrWthenUuIgogCi0jOiBidWlsdGlucy5jOjE0OTIKKyM6IGJ1aWx0aW5zLmM6MTQ5NQogbXNnaWQgIiIKICJBcml0aG1ldGljIGZvciBsb29wLlxuIgogIiAgICBcbiIKQEAgLTQ0MzYsNyArNDUyOCw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSBuw6F2cmF0b3bDuiBob2Rub3R1IHBvc2xlZG7DqWhvIHZ5a29uYW7DqWhvIHByw61rYXp1LiIKIAotIzogYnVpbHRpbnMuYzoxNTEwCisjOiBidWlsdGlucy5jOjE1MTMKIG1zZ2lkICIiCiAiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTQ0NzEsNyArNDU2Myw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSBuw6F2cmF0b3bDuiBob2Rub3R1IHBvc2xlZG7DqWhvIHZ5a29uYW7DqWhvIHByw61rYXp1LiIKIAotIzogYnVpbHRpbnMuYzoxNTMxCisjOiBidWlsdGlucy5jOjE1MzQKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtNDQ5OSw3ICs0NTkxLDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YSBqZSBuw6F2cmF0b3bDoSBob2Rub3RhIFLDmlJZLiIKIAotIzogYnVpbHRpbnMuYzoxNTQ4CisjOiBidWlsdGlucy5jOjE1NTEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBwYXR0ZXJuIG1hdGNoaW5nLlxuIgogIiAgICBcbiIKQEAgLTQ1MTcsNyArNDYwOSw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSBuw6F2cmF0b3bDuiBob2Rub3R1IHBvc2xlZG7DqWhvIHZ5a29uYW7DqWhvIHByw61rYXp1LiIKIAotIzogYnVpbHRpbnMuYzoxNTYwCisjOiBidWlsdGlucy5jOjE1NjMKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBjb25kaXRpb25hbC5cbiIKICIgICAgXG4iCkBAIC00NTU0LDcgKzQ2NDYsNyBAQAogIiAgICBOw6F2cmF0b3bDoSBob2Rub3RhOlxuIgogIiAgICBWcsOhdGkgbsOhdnJhdG92w7ogaG9kbm90dSBwb3NsZWRuw6lobyB2eWtvbmFuw6lobyBwcsOta2F6dS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU3NworIzogYnVpbHRpbnMuYzoxNTgwCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3Qgc3VjY2VlZHMuXG4iCiAiICAgIFxuIgpAQCAtNDU3Miw3ICs0NjY0LDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIG7DoXZyYXRvdsO6IGhvZG5vdHUgcG9zbGVkbsOpaG8gdnlrb25hbsOpaG8gcHLDrWthenUuIgogCi0jOiBidWlsdGlucy5jOjE1ODkKKyM6IGJ1aWx0aW5zLmM6MTU5MgogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IGRvZXMgbm90IHN1Y2NlZWQuXG4iCiAiICAgIFxuIgpAQCAtNDU5MCw3ICs0NjgyLDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIG7DoXZyYXRvdsO6IGhvZG5vdHUgcG9zbGVkbsOpaG8gdnlrb25hbsOpaG8gcHLDrWthenUuIgogCi0jOiBidWlsdGlucy5jOjE2MDEKKyM6IGJ1aWx0aW5zLmM6MTYwNAogbXNnaWQgIiIKICJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKICIgICAgXG4iCkBAIC00NjAyLDggKzQ2OTQsMTcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCisiVnl0dm9yacWlIGtvcHJvY2VzIHMgbsOhenZvbSBOw4FaT1YuXG4iCisiICAgIFxuIgorIiAgICBWeWtvbsOhIFBSw41LQVogYXN5bmNocsOzbm5lLCBwcmnEjW9tIMWhdGFuZGFyZG7DvSB2w71zdHVwIGEgdnN0dXAgcHLDrWthenVcbiIKKyIgICAgc3BvasOtIHLDunJvdSBzIHBvcHNpb3ZhxI1taSBzw7pib3JvdiBwcmlyYWRlbsO9bSBpbmRleG9tIHBvxL5hIDAgYSAxXG4iCisiICAgIHByZW1lbm5laiBwb8S+YSBOw4FaT1YgdiBzcMO6xaF0YWrDumNvbSBzaGVsbGkuXG4iCisiICAgIMWgdGFuZGFyZG7DvSBOw4FaT1YgamUg4oCeQ09QUk9D4oCcLlxuIgorIiAgICBcbiIKKyIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKKyIgICAgVnLDoXRpIG7DoXZyYXRvdsO6IGhvZG5vdHUgUFLDjUtBWnUuIgogCi0jOiBidWlsdGlucy5jOjE2MTUKKyM6IGJ1aWx0aW5zLmM6MTYxOAogbXNnaWQgIiIKICJEZWZpbmUgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtNDYyOCw3ICs0NzI5LDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIDAgYWsgc2EgbmVzdGFsbywgxb5lIGplIE7DgVpPViBpYmEgbmEgxI3DrXRhbmllLiIKIAotIzogYnVpbHRpbnMuYzoxNjI5CisjOiBidWlsdGlucy5jOjE2MzIKIG1zZ2lkICIiCiAiR3JvdXAgY29tbWFuZHMgYXMgYSB1bml0LlxuIgogIiAgICBcbiIKQEAgLTQ2NDYsNyArNDc0Nyw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSBuw6F2cmF0b3bDuiBob2Rub3R1IHBvc2xlZG7DqWhvIHZ5a29uYW7DqWhvIHByw61rYXp1LiIKIAotIzogYnVpbHRpbnMuYzoxNjQxCisjOiBidWlsdGlucy5jOjE2NDQKIG1zZ2lkICIiCiAiUmVzdW1lIGpvYiBpbiBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTQ2NzAsNyArNDc3MSw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSBuw6F2cmF0b3bDuiBob2Rub3R1IG9ibm92ZW5laiDDumxvaHkuIgogCi0jOiBidWlsdGlucy5jOjE2NTYKKyM6IGJ1aWx0aW5zLmM6MTY1OQogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtNDY4OCw3ICs0Nzg5LDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIDEgYWsgc2EgVsOdUkFaIHZ5aG9kbm90w60gbmEgMDsgaW5hayB2csOhdGkgMC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY2OAorIzogYnVpbHRpbnMuYzoxNjcxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29uZGl0aW9uYWwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC00NzM2LDcgKzQ4MzcsNyBAQAogIiAgICBOw6F2cmF0b3bDoSBob2Rub3RhOlxuIgogIiAgICBWcsOhdGkgMCBhbGVibyAxIHYgesOhdmlzbG9zdGkgbmEgaG9kbm90ZSBWw51SQVp1LiIKIAotIzogYnVpbHRpbnMuYzoxNjk0CisjOiBidWlsdGlucy5jOjE2OTcKIG1zZ2lkICIiCiAiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKICIgICAgXG4iCkBAIC00ODQwLDcgKzQ5NDEsNyBAQAogIiAgICBISVNUSUdOT1JFXHRCb2Rrb8SNaWFya2FtaSBvZGRlbGVuw70gem96bmFtIHZ6b3JpZWssIGt0b3LDqVxuIgogIiAgICBcdFx0c2EgcG91xb7DrXZhasO6IG5hIHJvemhvZG92YW5pZSwgxI1pIHNhIHByw61rYXogdWxvxb7DrSBkbyBoaXN0w7NyaWUuXG4iCiAKLSM6IGJ1aWx0aW5zLmM6MTc1MQorIzogYnVpbHRpbnMuYzoxNzU0CiBtc2dpZCAiIgogIkFkZCBkaXJlY3RvcmllcyB0byBzdGFjay5cbiIKICIgICAgXG4iCkBAIC00ODk2LDcgKzQ5OTcsNyBAQAogIiAgICBWcsOhdGkgMCBhayBuZWJvbCB6YWRhbsO9IG5lcGxhdG7DvSBhcmd1bWVudCBhIG5ldnlza3l0bGEgc2FcbiIKICIgICAgY2h5YmEgcHJpIHptZW5lIGFkcmVzw6FyYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTc4NQorIzogYnVpbHRpbnMuYzoxNzg4CiBtc2dpZCAiIgogIlJlbW92ZSBkaXJlY3RvcmllcyBmcm9tIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTQ5NDYsNyArNTA0Nyw3IEBACiAiICAgIFZyw6F0aSAwIGFrIG5lYm9sIHphZGFuw70gbmVwbGF0bsO9IGFyZ3VtZW50IGEgbmV2eXNreXRsYSBzYVxuIgogIiAgICBjaHliYSBwcmkgem1lbmUgYWRyZXPDoXJhLiIKIAotIzogYnVpbHRpbnMuYzoxODE1CisjOiBidWlsdGlucy5jOjE4MTgKIG1zZ2lkICIiCiAiRGlzcGxheSBkaXJlY3Rvcnkgc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtNDk5Nyw3ICs1MDk4LDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIDAgYWsgbmVib2wgemFkYW7DvSBuZXBsYXRuw70gYXJndW1lbnQgYSBuZXZ5c2t5dGxhIHNhIGNoeWJhLiIKIAotIzogYnVpbHRpbnMuYzoxODQ0CisjOiBidWlsdGlucy5jOjE4NDcKIG1zZ2lkICIiCiAiU2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTUwMzUsNyArNTEzNiw3IEBACiAiICAgIFZyw6F0aSAwIGFrIGplIE9QVE5BTUUgemFwbnV0w6k7IHpseWjDoSBhayBib2xhIHphZGFuw6FcbiIKICIgICAgbmVwbGF0bsOhIHZvxL5iYSBhbGVibyBPUFROQU1FIGplIHZ5cG51dMOpLiIKIAotIzogYnVpbHRpbnMuYzoxODY1CisjOiBidWlsdGlucy5jOjE4NjgKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCiAiICAgIFxuIgpAQCAtNTA4NCw3ICs1MTg1LDggQEAKICIgICAgVnLDoXRpIDAgYWsgbmVib2xhIHphZGFuw6EgbmVwbGF0bsOhIHZvxL5iYSBhIG5ldnlza3l0bGEgc2EgY2h5YmEgcHJpXG4iCiAiICAgIHrDoXBpc2UgxI1pIHByaXJhZGVuw60uIgogCi0jOiBidWlsdGlucy5jOjE4OTIKKyM6IGJ1aWx0aW5zLmM6MTg5NQorIywgZnV6enkKIG1zZ2lkICIiCiAiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCiAiICAgIFxuIgpAQCAtNTA5OCw5ICs1MjAwLDE0IEBACiAiICAgICAgLXBcdHByaW50IGV4aXN0aW5nIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnMgaW4gYSByZXVzYWJsZSBmb3JtYXRcbiIKICIgICAgICAtclx0cmVtb3ZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGZvciBlYWNoIE5BTUUsIG9yLCBpZiBub1xuIgogIiAgICBcdE5BTUVzIGFyZSBzdXBwbGllZCwgYWxsIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnNcbiIKKyIgICAgICAtRFx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIGFzIHRoZSBkZWZhdWx0IGZvciBjb21tYW5kc1xuIgorIiAgICBcdHdpdGhvdXQgYW55IHNwZWNpZmljIGNvbXBsZXRpb24gZGVmaW5lZFxuIgorIiAgICAgIC1FXHRhcHBseSB0aGUgY29tcGxldGlvbnMgYW5kIGFjdGlvbnMgdG8gXCJlbXB0eVwiIGNvbW1hbmRzIC0tXG4iCisiICAgIFx0Y29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYSBibGFuayBsaW5lXG4iCiAiICAgIFxuIgogIiAgICBXaGVuIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkLCB0aGUgYWN0aW9ucyBhcmUgYXBwbGllZCBpbiB0aGUgb3JkZXIgdGhlXG4iCi0iICAgIHVwcGVyY2FzZS1sZXR0ZXIgb3B0aW9ucyBhcmUgbGlzdGVkIGFib3ZlLlxuIgorIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS4gIFRoZSAtRCBvcHRpb24gdGFrZXNcbiIKKyIgICAgcHJlY2VkZW5jZSBvdmVyIC1FLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKQEAgLTUxMjMsNyArNTIzMCw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSAwIGFrIG5lYm9sYSB6YWRhbsOhIG5lcGxhdG7DoSB2b8S+YmEgYSBuZXZ5c2t5dGxhIHNhIGNoeWJhLiIKIAotIzogYnVpbHRpbnMuYzoxOTE1CisjOiBidWlsdGlucy5jOjE5MjMKIG1zZ2lkICIiCiAiRGlzcGxheSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNTE0Myw3ICs1MjUwLDggQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIDAgYWsgbmVib2xhIHphZGFuw6EgbmVwbGF0bsOhIHZvxL5iYSBhIG5ldnlza3l0bGEgc2EgY2h5YmEuIgogCi0jOiBidWlsdGlucy5jOjE5MzAKKyM6IGJ1aWx0aW5zLmM6MTkzOAorIywgZnV6enkKIG1zZ2lkICIiCiAiTW9kaWZ5IG9yIGRpc3BsYXkgY29tcGxldGlvbiBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTUxNTYsNiArNTI2NCw4IEBACiAiICAgIFxuIgogIiAgICBPcHRpb25zOlxuIgogIiAgICBcdC1vIG9wdGlvblx0U2V0IGNvbXBsZXRpb24gb3B0aW9uIE9QVElPTiBmb3IgZWFjaCBOQU1FXG4iCisiICAgIFx0LURcdFx0Q2hhbmdlIG9wdGlvbnMgZm9yIHRoZSBcImRlZmF1bHRcIiBjb21tYW5kIGNvbXBsZXRpb25cbiIKKyIgICAgXHQtRVx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZW1wdHlcIiBjb21tYW5kIGNvbXBsZXRpb25cbiIKICIgICAgXG4iCiAiICAgIFVzaW5nIGArbycgaW5zdGVhZCBvZiBgLW8nIHR1cm5zIG9mZiB0aGUgc3BlY2lmaWVkIG9wdGlvbi5cbiIKICIgICAgXG4iCkBAIC01MTk1LDE2ICs1MzA1LDE2IEBACiAiICAgIFZyw6F0aSAwIGFrIG5lYm9sYSB6YWRhbsOhIG5lcGxhdG7DoSB2b8S+YmEgYSBOw4FaT1YgbmVtw6EgZGVmaW5vdmFuw7pcbiIKICIgICAgxaFwZWNpZmlrw6FjaXUgZG9wxLrFiGFuaWEuIgogCi0jOiBidWlsdGlucy5jOjE5NTgKKyM6IGJ1aWx0aW5zLmM6MTk2OAogIywgZnV6enkKIG1zZ2lkICIiCi0iUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgorIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKLSIgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBhcnJheSB2YXJpYWJsZSBBUlJBWSwgb3IgIgotImZyb21cbiIKLSIgICAgZmlsZSBkZXNjcmlwdG9yIEZEIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaWFibGUgTUFQRklMRSAiCi0iaXNcbiIKLSIgICAgdGhlIGRlZmF1bHQgQVJSQVkuXG4iCisiICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgaW5kZXhlZCBhcnJheSB2YXJpYWJsZSAiCisiQVJSQVksIG9yXG4iCisiICAgIGZyb20gZmlsZSBkZXNjcmlwdG9yIEZEIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaWFibGUgIgorIk1BUEZJTEVcbiIKKyIgICAgaXMgdGhlIGRlZmF1bHQgQVJSQVkuXG4iCiAiICAgIFxuIgogIiAgICBPcHRpb25zOlxuIgogIiAgICAgIC1uIGNvdW50XHRDb3B5IGF0IG1vc3QgQ09VTlQgbGluZXMuICBJZiBDT1VOVCBpcyAwLCBhbGwgbGluZXMgYXJlICIKQEAgLTUyMzEsMTMgKzUzNDEsMTUgQEAKICIgICAgYXNzaWduaW5nIHRvIGl0LlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIEFSUkFZIGlzIHJlYWRvbmx5ICIKKyJvclxuIgorIiAgICBub3QgYW4gaW5kZXhlZCBhcnJheS4iCiBtc2dzdHIgIiIKICJOYcSNw610YcWlIHJpYWRreSB6byBzw7pib3J1IGRvIHByZW1lbm5laiBwb8S+YS5cbiIKICIgICAgXG4iCiAiICAgIE5hxI3DrXRhIHJpYWRreSB6byDFoXRhbmRhcmRuw6lobyB2c3R1cHUgZG8gcHJlbWVubmVqIHBvxL5hIFBPTEUgYWxlYm8gelxuIgotIiAgICBwb3Bpc292YcSNYSBzw7pib3J1IEZEIGFrIGplIHphZGFuw6Egdm/EvmJhIC11LiDFoHRhbmRhcmRuw6kgcG9sZSBqZSBwcmVtZW5uw6FcbiIKLSIgICAgTUFQRklMRVxuIgorIiAgICBwb3Bpc292YcSNYSBzw7pib3J1IEZEIGFrIGplIHphZGFuw6Egdm/EvmJhIC11LiDFoHRhbmRhcmRuw6kgUE9MRSBqZSBwcmVtZW5uw6FcbiIKKyIgICAgTUFQRklMRS5cbiIKICIgICAgXG4iCiAiICAgIFZvxL5ieTpcbiIKICIgICAgICAtbiBwb8SNZXRcdFNrb3DDrXJvdmHFpSBuYWp2aWFjIFBPxIxFVCByaWFka292LiBBayBqZSBQT8SMRVIgMCwgdsWhZXRreSAiCkBAIC01MjQ2LDcgKzUzNTgsNyBAQAogIiAgICAgIFx0XHRQcmVkdm9sZW7DvSBpbmRleCBqZSAwLlxuIgogIiAgICAgIC1zIHBvxI1ldFx0SWdub3JvdmHFpSBwcnbDvWNoIHByZcSNw610YW7DvWNoIFBPxIxFVCByaWFka292LlxuIgogIiAgICAgIC10XHRcdE9kc3Ryw6FuacWlIHpuYWsgbm92w6lobyByaWFka2EgeiBrb25jYSBrYcW+ZMOpaG8gbmHEjcOtdGFuw6lobyByaWFka2EuXG4iCi0iICAgICAgLXUgZmRcdFx0TmHEjcOtdGHFpSByaWFka3kgeiBwb3Bpc292YcSNYSBGRCBuYW1pZXN0IMWhdGFuZGFyZG7DqWhvIHZzdHVwdS5cbiIKKyIgICAgICAtdSBmZFx0XHROYcSNw610YcWlIHJpYWRreSB6IHBvcGlzb3ZhxI1hIEZEIG5hbWllc3RvIMWhdGFuZGFyZG7DqWhvIHZzdHVwdS5cbiIKICIgICAgICAtQyBjYWxsYmFja1x0Vnlob2Rub3RpxaUgQ0FMTEJBQ0sgcG8gcHJlxI3DrXRhbsOtIGthxb5kw71jaCBRVUFOVFVNICIKICJyaWFka292LlxuIgogIiAgICAgIC1jIHF1YW50dW1cdFVyxI11amUgcG/EjWV0IHJpYWRrb3YsIGt0b3LDqSBzYSBtYWrDuiBwcmXEjcOtdGHFpSBwcmVkIGthxb5kw71tXG4iCkBAIC01MjU2LDYgKzUzNjgsOCBAQAogIiAgICAgIEFSUkFZXHRcdE7DoXpvdiBwcmVtZW5uZWogcG/EvmEsIGthbSBzYSBtYWrDuiB1bG/FvmnFpSDDumRhamUuXG4iCiAiICAgIFxuIgogIiAgICBBayB1dmVkaWV0ZSAtQyBiZXogLWMsIHByZWR2b2xlbsOhIGhvZG5vdGEgcXVhbnR1bSBqZSA1MDAwLlxuIgorIiAgICBQcmkgdnlob2Rub3RlbsOtIENBTExCQUNLIHNhIGRvZMOhIGluZGV4IMSPYWzFoWllaG8gcGV2a3UgcG/EvmEsXG4iCisiICAgIGt0b3LDvSBzYSBtw6EgcHJpcmFkacWlIGFrbyDEj2FsxaHDrSBhcmd1bWVudC5cbiIKICIgICAgXG4iCiAiICAgIEFrIG5pZSBqZSB6YWRhbsO9IFpBxIxJQVRPSyBleHBsaWNpdG5lLCBtYXBmaWxlIFBPTEUgdnnEjWlzdMOtIHByZWR0w71tLFxuIgogIiAgICBuZcW+IGhvIHphxI1uZSBwbG5pxaUuXG4iCkBAIC01MjYzLDEyICs1Mzc3LDI3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSAwIGFrIG5lYm9sYSB6YWRhbsOhIG5lcGxhdG7DoSB2b8S+YmEgYSBQT0xFIG5pZSBqZSBsZW4gbmEgxI3DrXRhbmllLiIKIAotIzogYnVpbHRpbnMuYzoxOTkwCisjOiBidWlsdGlucy5jOjIwMDEKIG1zZ2lkICIiCiAiUmVhZCBsaW5lcyBmcm9tIGEgZmlsZSBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKICIgICAgQSBzeW5vbnltIGZvciBgbWFwZmlsZScuIgogbXNnc3RyICIiCisiTmHEjcOtdGHFpSByaWFka3kgem8gc8O6Ym9ydSBkbyBwcmVtZW5uZWogcG/EvmEuXG4iCisiICAgIFxuIgorIiAgICBTeW5vbnltdW0gayDigJ5tYXBmaWxl4oCcLiIKKworI34gbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorI34gbXNnc3RyICIiCisjfiAieHJlYWxsb2M6IG5pZSBqZSBtb8W+bsOpIHJlYWxva292YcWlICVsdSBiYWp0b3YgKCVsdSBiYWp0b3YgYWxva292YW7DvWNoKSIKKworI34gbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorI34gbXNnc3RyICJ4cmVhbGxvYzogbmllIGplIG1vxb5uw6kgYWxva292YcWlICVsdSBiYWp0b3YiCisKKyN+IG1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjfiBtc2dzdHIgIiIKKyN+ICJ4cmVhbGxvYzogJXM6JWQ6IG5pZSBqZSBtb8W+bsOpIHJlYWxva292YcWlICVsdSBiYWp0b3YgKCVsdSBiYWp0b3YgIgorI34gImFsb2tvdmFuw71jaCkiCiAKICN+IG1zZ2lkICIgIgogI34gbXNnc3RyICIgIgpkaWZmIC0tZ2l0IGEvcG8vc3YuZ21vIGIvcG8vc3YuZ21vCmluZGV4IDJjMDAzYjguLmI1YmZjZWYgMTAwNjQ0Ci0tLSBhL3BvL3N2LmdtbworKysgYi9wby9zdi5nbW8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG8vc3YucG8gYi9wby9zdi5wbwppbmRleCA4N2Y0MGUxLi5mMjNmMjUwIDEwMDY0NAotLS0gYS9wby9zdi5wbworKysgYi9wby9zdi5wbwpAQCAtMSwxNiArMSwxNiBAQAogIyBTd2VkaXNoIHRyYW5zbGF0aW9uIG9mIGJhc2gKLSMgQ29weXJpZ2h0IMKpIDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCDCqSAyMDA4LCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgYmFzaCBwYWNrYWdlLgotIyBHw7ZyYW4gVWRkZWJvcmcgPGdvZXJhbkB1ZGRlYm9yZy5zZT4sIDIwMDguCisjIEfDtnJhbiBVZGRlYm9yZyA8Z29lcmFuQHVkZGVib3JnLnNlPiwgMjAwOCwgMjAwOS4KICMKLSMgJFJldmlzaW9uOiAxLjMgJAorIyAkUmV2aXNpb246IDEuNiAkCiAjCiBtc2dpZCAiIgogbXNnc3RyICIiCi0iUHJvamVjdC1JZC1WZXJzaW9uOiBiYXNoIDQuMC1wcmUxXG4iCisiUHJvamVjdC1JZC1WZXJzaW9uOiBiYXNoIDQuMFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0wMi0xOSAxNDo1My0wNTAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAwOC0wOS0xNSAxMzowOSswMjAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMTItMzAgMDg6MjUtMDUwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMDktMDMtMjUgMTk6MzUrMDEwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogR8O2cmFuIFVkZGVib3JnIDxnb2VyYW5AdWRkZWJvcmcuc2U+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogU3dlZGlzaCA8dHAtc3ZAbGlzdG9yLnRwLXN2LnNlPlxuIgogIk1JTUUtVmVyc2lvbjogMS4wXG4iCkBAIC0yMiw1NSArMjIsNjAgQEAKIG1zZ2lkICJiYWQgYXJyYXkgc3Vic2NyaXB0IgogbXNnc3RyICJmZWxha3RpZ3QgdmVrdG9yaW5kZXgiCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzQKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiVzOiBkZXQgZ8OlciBpbnRlIGF0dCBrb252ZXJ0ZXJhIGVuIGluZGV4ZXJhZCB2ZWt0b3IgdGlsbCBhc3NvY2lhdGl2IgogCi0jOiBhcnJheWZ1bmMuYzo0NzkKKyM6IGFycmF5ZnVuYy5jOjQ4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhc3NvY2lhdGl2ZSBhcnJheSBrZXkiCiBtc2dzdHIgIiVzOiBvZ2lsdGlnIG55Y2tlbCB0aWxsIGFzc29jaWF0aXYgdmVrdG9yIgogCi0jOiBhcnJheWZ1bmMuYzo0ODEKKyM6IGFycmF5ZnVuYy5jOjQ4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiB0byBub24tbnVtZXJpYyBpbmRleCIKIG1zZ3N0ciAiJXM6IGRldCBnw6VyIGludGUgYXR0IHRpbGxkZWxhIHRpbGwgaWNrZW51bWVyaXNrYSBpbmRleCIKIAotIzogYXJyYXlmdW5jLmM6NTE3CisjOiBhcnJheWZ1bmMuYzo1MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBtdXN0IHVzZSBzdWJzY3JpcHQgd2hlbiBhc3NpZ25pbmcgYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiVzOiAlczogbcOlc3RlIGFudsOkbmRhIGluZGV4IHZpZCB0aWxsZGVsbmluZyBhdiBhc3NvY2lhdGl2IHZla3RvciIKIAotIzogYmFzaGhpc3QuYzozNzkKKyM6IGJhc2hoaXN0LmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY3JlYXRlOiAlcyIKIG1zZ3N0ciAiJXM6IGRldCBnw6VyIGludGUgYXR0IHNrYXBhOiAlcyIKIAotIzogYmFzaGxpbmUuYzozNDEzCisjOiBiYXNobGluZS5jOjM0NTcKIG1zZ2lkICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBjYW5ub3QgZmluZCBrZXltYXAgZm9yIGNvbW1hbmQiCiBtc2dzdHIgIiIKICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBkZXQgZ8OlciBpbnRlIGF0dCBoaXR0YSBlbiB0YW5nZW50YmluZG5pbmcgZsO2ciAiCiAia29tbWFuZG90IgogCi0jOiBiYXNobGluZS5jOjM0OTEKKyM6IGJhc2hsaW5lLmM6MzU0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgogbXNnc3RyICIlczogZsO2cnN0YSBpY2tlYmxhbmthIHRlY2tuZXQgw6RyIGludGUgJ1wiJyIKIAotIzogYmFzaGxpbmUuYzozNTIwCisjOiBiYXNobGluZS5jOjM1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2xvc2luZyBgJWMnIGluICVzIgogbXNnc3RyICJpbmdlbiBhdnNsdXRhbmRlIFwiJWNcIiBpICVzIgogCi0jOiBiYXNobGluZS5jOjM1NTQKKyM6IGJhc2hsaW5lLmM6MzYwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCiBtc2dzdHIgIiVzOiBrb2xvbnNlcGFyYXRvciBzYWtuYXMiCiAKKyM6IGJ1aWx0aW5zL2FsaWFzLmRlZjoxMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImAlcyc6IGludmFsaWQgYWxpYXMgbmFtZSIKK21zZ3N0ciAiXCIlc1wiOiBvZ2lsdGlndCB0YW5nZW50YmluZG5pbmdzbmFtbiIKKwogIzogYnVpbHRpbnMvYmluZC5kZWY6MTIwIGJ1aWx0aW5zL2JpbmQuZGVmOjEyMwogbXNnaWQgImxpbmUgZWRpdGluZyBub3QgZW5hYmxlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJyYWRyZWRpZ2VyaW5nIMOkciBpbnRlIGFrdGl2ZXJhdCIKIAogIzogYnVpbHRpbnMvYmluZC5kZWY6MjA2CiAjLCBjLWZvcm1hdApAQCAtMTE2LDYgKzEyMSwyNCBAQAogIiAgICBcbiIKICIgICAgV2l0aG91dCBFWFBSLCByZXR1cm5zICIKIG1zZ3N0ciAiIgorIlJldHVybmVyYSBrb250ZXh0ZW4gZsO2ciBkZXQgYWt0dWVsbGEgc3VicnV0aW5hbnJvcGV0LlxuIgorIiAgICBcbiIKKyIgICAgVXRhbiBVVFRSLCByZXR1cm5lcmFyICIKKworIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzUKK21zZ2lkICIiCisiLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCisiICAgICIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNgorbXNnaWQgIiIKKyI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKKyIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgorIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKK21zZ3N0ciAiIgogCiAjOiBidWlsdGlucy9jZC5kZWY6MjE1CiBtc2dpZCAiSE9NRSBub3Qgc2V0IgpAQCAtMTMwLDcgKzE1Myw3IEBACiBtc2dpZCAibGluZSAlZDogIgogbXNnc3RyICJyYWQgJWQ6ICIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTM5IGVycm9yLmM6MjYwCisjOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogIgogbXNnc3RyICJ2YXJuaW5nOiAiCkBAIC0xNDAsMTEgKzE2MywxMSBAQAogbXNnaWQgIiVzOiB1c2FnZTogIgogbXNnc3RyICIlczogYW52w6RuZG5pbmc6ICIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjIKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODI3CiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICJmw7ZyIG3DpW5nYSBhcmd1bWVudCIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDkzIHNoZWxsLmM6Nzc0CisjOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTkgc2hlbGwuYzo3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIKIG1zZ3N0ciAiJXM6IGZsYWdnYW4ga3LDpHZlciBldHQgYXJndW1lbnQiCkBAIC0xNTksNyArMTgyLDcgQEAKIG1zZ2lkICIlczogbm90IGZvdW5kIgogbXNnc3RyICIlczogZmlubnMgaW50ZSIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjE0IHNoZWxsLmM6Nzg3CisjOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlczogb2dpbHRpZyBmbGFnZ2EiCkBAIC0xODIsNyArMjA1LDcgQEAKIG1zZ2lkICJpbnZhbGlkIGhleCBudW1iZXIiCiBtc2dzdHIgIm9naWx0aWd0IGhleGFkZWNpbWFsdCB0YWwiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NQorIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU2CiBtc2dpZCAiaW52YWxpZCBudW1iZXIiCiBtc2dzdHIgIm9naWx0aWd0IHRhbCIKIApAQCAtMTk2LDcgKzIxOSw3IEBACiBtc2dpZCAiYCVzJzogbm90IGEgcGlkIG9yIHZhbGlkIGpvYiBzcGVjIgogbXNnc3RyICJcIiVzXCI6IGludGUgZW4gcGlkIGVsbGVyIGdpbHRpZyBqb2Jic3BlY2lmaWthdGlvbiIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjY0IGVycm9yLmM6NDUzCisjOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IHZhcmlhYmxlIgogbXNnc3RyICIlczogZW5kYXN0IGzDpHNiYXIgdmFyaWFiZWwiCkBAIC0yNTEsMTIgKzI3NCwxMiBAQAogIzogYnVpbHRpbnMvY29tbW9uLmM6MzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlczogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZmVsIG7DpHIgdGVybWluYWxhdHRyaWJ1dCBzdMOkbGxkZXMgaW46ICVzIgogCiAjOiBidWlsdGlucy9jb21tb24uYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgZ2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJmZWwgbsOkciB0ZXJtaW5hbGF0dHJpYnV0IGjDpG10YWRlczogJXMiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjU2MwogIywgYy1mb3JtYXQKQEAgLTI2OCwyNiArMjkxLDI2IEBACiBtc2dpZCAiJXM6IGFtYmlndW91cyBqb2Igc3BlYyIKIG1zZ3N0ciAiJXM6IHR2ZXR5ZGlnIGpvYmJzcGVjaWZpa2F0aW9uIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6MjcwCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Mjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFjdGlvbiBuYW1lIgogbXNnc3RyICIlczogb2dpbHRpZ3Qgw6V0Z8OkcmRzbmFtbiIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjQzMCBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjE1Ci0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODEzCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDQ5IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NDQKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXM6IGluZ2VuIGtvbXBsZXR0ZXJpbmdzc3BlY2lmaWthdGlvbiIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY2NworIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY5NgogbXNnaWQgIndhcm5pbmc6IC1GIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCIKIG1zZ3N0ciAidmFybmluZzogZmxhZ2dhbiAtRiBmdW5nZXJhciBrYW5za2UgaW50ZSBzb20gZHUgdsOkbnRhciBkaWciCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NjkKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTgKIG1zZ2lkICJ3YXJuaW5nOiAtQyBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCiBtc2dzdHIgInZhcm5pbmc6IGZsYWdnYW4gLUMgZnVuZ2VyYXIga2Fuc2tlIGludGUgc29tIGR1IHbDpG50YXIgZGlnIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Nzg2CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODI2CiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAia8O2ciBpbnRlIGVuIGtvbXBsZXR0ZXJpbmdzZnVua3Rpb24iCiAKQEAgLTI5NSwyMSArMzE4LDIxIEBACiBtc2dpZCAiY2FuIG9ubHkgYmUgdXNlZCBpbiBhIGZ1bmN0aW9uIgogbXNnc3RyICJrYW4gZW5kYXN0IGFudsOkbmRhcyBpIGVuIGZ1bmt0aW9uIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNTMKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2MAogbXNnaWQgImNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucyIKIG1zZ3N0ciAiZGV0IGfDpXIgaW50ZSBhdHQgYW52w6RuZGEgXCItZlwiIGbDtnIgYXR0IGfDtnJhIGZ1bmt0aW9uZXIiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NSBleGVjdXRlX2NtZC5jOjQ4MTgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3MiBleGVjdXRlX2NtZC5jOjQ5MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IGZ1bmN0aW9uIgogbXNnc3RyICIlczogZW5kYXN0IGzDpHNiYXIgZnVua3Rpb24iCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2MQorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiVzOiBkZXQgZ8OlciBpbnRlIGF0dCBmw7Zyc3TDtnJhIHZla3RvcnZhcmlhYmxlciBww6UgZGV0dGEgc8OkdHQiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBhc3NvY2lhdGl2ZSB0byBpbmRleGVkIGFycmF5IgogbXNnc3RyICIlczogZGV0IGfDpXIgaW50ZSBhdHQga29udmVydGVyYSBlbiBhc3NvY2lhdGl2IHZla3RvciB0aWxsIGluZGV4ZXJhZCIKQEAgLTMzOCw4ICszNjEsOCBAQAogbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKIG1zZ3N0ciAiJXM6IGthbiBpbnRlIHRhIGJvcnQ6ICVzIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Njc1Ci0jOiBzaGVsbC5jOjE0MzkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM0IGJ1aWx0aW5zL2hhc2guZGVmOjE2OSBleGVjdXRlX2NtZC5jOjQ3OTQKKyM6IHNoZWxsLmM6MTQ1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaXMgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzOiDDpHIgZW4ga2F0YWxvZyIKQEAgLTM1NCwxMCArMzc3LDExIEBACiBtc2dpZCAiJXM6IGZpbGUgaXMgdG9vIGxhcmdlIgogbXNnc3RyICIlczogZmlsZW4gw6RyIGbDtnIgc3RvciIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgZXhlY3V0ZV9jbWQuYzo0NzQ1IHNoZWxsLmM6MTQ0OQorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDMgZXhlY3V0ZV9jbWQuYzo0ODY0CisjOiBzaGVsbC5jOjE0NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlIgotbXNnc3RyICIlczogZGV0IGvDpXIgaW50ZSBhdHQga8O2cmEgYmluw6RyIGZpbCIKK21zZ3N0ciAiJXM6IGRldCBnw6VyIGludGUgYXR0IGvDtnJhIGJpbsOkciBmaWwiCiAKICM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjIxMgogIywgYy1mb3JtYXQKQEAgLTM4MywxNSArNDA3LDE1IEBACiBtc2dpZCAiVGhlcmUgYXJlIHJ1bm5pbmcgam9icy5cbiIKIG1zZ3N0ciAiRGV0IGZpbm5zIGvDtnJhbmRlIGpvYmIuXG4iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjIKIG1zZ2lkICJubyBjb21tYW5kIGZvdW5kIgogbXNnc3RyICJoaXR0YXIgaW5nZXQga29tbWFuZG8iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKIG1zZ2lkICJoaXN0b3J5IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgImhpc3Rvcmllc3BlY2lmaWthdGlvbiIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM2MgorIzogYnVpbHRpbnMvZmMuZGVmOjM3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKIG1zZ3N0ciAiJXM6IGRldCBnw6VyIGludGUgYXR0IMO2cHBuYSB0ZW1wb3LDpHJmaWw6ICVzIgpAQCAtNDkxLDEyICs1MTUsMTIgQEAKIG1zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgogbXNnc3RyICJpbmdhIGFuZHJhIGZsYWdnb3Igw6RyIHRpbGzDpXRuYSBtZWQgXCIteFwiIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoxOTcKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogbXNnc3RyICIlczogYXJndW1lbnQgbcOlc3RlIHZhcmEgcHJvY2Vzc2VyIGVsbGVyIGpvYi1pZDpuIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyNjAKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MwogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgIk9rw6RudCBmZWwiCiAKQEAgLTUwNCw1NSArNTI4LDYwIEBACiBtc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAidXR0cnljayBmw7ZydsOkbnRhZGVzIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDEgYnVpbHRpbnMvcmVhZC5kZWY6MjcyCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYW4gaW5kZXhlZCBhcnJheSIKK21zZ3N0ciAiJXM6IGludGUgZW4gdmVrdG9ydmFyaWFiZWwiCisKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiVzOiBvZ2lsdGlnIGZpbGlkZW50aWZpZXJhcnNwZWNpZmlrYXRpb24iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NyBidWlsdGlucy9yZWFkLmRlZjoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yOiAlcyIKIG1zZ3N0ciAiJWQ6IG9naWx0aWcgZmlsYmVza3JpdmFyZTogJXMiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1OCBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKIG1zZ3N0ciAiJXM6IG9naWx0aWd0IHJhZGFudGFsIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiBtc2dzdHIgIiVzOiBvZ2lsdGlnIHZla3RvcnN0YXJ0IgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogbXNnc3RyICIlczogb2dpbHRpZ3Qgw6V0ZXJhbnJvcHNrdmFudGEiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMxOAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzI2CiBtc2dpZCAiZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZSIKIG1zZ3N0ciAidG9tdCB2ZWt0b3J2YXJpYWJlbG5hbW4iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzOQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CiBtc2dpZCAiYXJyYXkgdmFyaWFibGUgc3VwcG9ydCByZXF1aXJlZCIKIG1zZ3N0ciAic3TDtmQgZsO2ciB2ZWt0b3J2YXJpYWJsZXIga3LDpHZzIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjM2NworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJcIiVzXCI6IGZvcm1hdGVyaW5nc3RlY2tlbiBzYWtuYXMiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTQ0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIlwiJWNcIjogb2dpbHRpZ3QgZm9ybWF0ZXJpbmdzdGVja2VuIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU3MQorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogJXM6ICVzIgogbXNnc3RyICJ2YXJuaW5nOiAlczogJXMiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzUwCisjOiBidWlsdGlucy9wcmludGYuZGVmOjc1NwogbXNnaWQgIm1pc3NpbmcgaGV4IGRpZ2l0IGZvciBcXHgiCiBtc2dzdHIgImhleGFkZWNpbWFsIHNpZmZyYSBzYWtuYXMgZsO2ciBcXHgiCiAKQEAgLTY5OCwxMiArNzI3LDEyIEBACiAiICAgIFxuIgogIiAgICBEZW4gaW5ieWdnZGEgXCJkaXJzXCIgdmlzYXIga2F0YWxvZ3N0YWNrZW4uIgogCi0jOiBidWlsdGlucy9yZWFkLmRlZjoyNDgKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCB0aW1lb3V0IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiVzOiBvZ2lsdGlnIHRpZHNncsOkbnNzcGVjaWZpa2F0aW9uIgogCi0jOiBidWlsdGlucy9yZWFkLmRlZjo1NzQKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkIGVycm9yOiAlZDogJXMiCiBtc2dzdHIgImzDpHNmZWw6ICVkOiAlcyIKQEAgLTc0MSwxMSArNzcwLDExIEBACiBtc2dpZCAic2hpZnQgY291bnQiCiBtc2dzdHIgInNraWZ0YW50YWwiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNTQKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICJkZXQgZ8OlciBpbnRlIGF0dCBzw6R0dGEgb2NoIHRhIGJvcnQgc2thbGZsYWdnb3Igc2FtdGlkaWd0IgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MzE5CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgogbXNnc3RyICIlczogb2dpbHRpZ3Qgc2thbGZsYWdnc25hbW4iCkBAIC04MzUsNzYgKzg2NCw3NiBAQAogbXNnaWQgImAlYyc6IGludmFsaWQgc3ltYm9saWMgbW9kZSBjaGFyYWN0ZXIiCiBtc2dzdHIgIlwiJWNcIjogb2dpbHRpZ3QgdGVja2VuIGbDtnIgc3ltYm9saXNrdCBsw6RnZSIKIAotIzogZXJyb3IuYzo4OSBlcnJvci5jOjMyMCBlcnJvci5jOjMyMiBlcnJvci5jOjMyNAorIzogZXJyb3IuYzo5MCBlcnJvci5jOjMyMSBlcnJvci5jOjMyMyBlcnJvci5jOjMyNQogbXNnaWQgIiBsaW5lICIKIG1zZ3N0ciAiIHJhZCAiCiAKLSM6IGVycm9yLmM6MTY0CisjOiBlcnJvci5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJsYXN0IGNvbW1hbmQ6ICVzXG4iCiBtc2dzdHIgInNlbmFzdGUga29tbWFuZG86ICVzXG4iCiAKLSM6IGVycm9yLmM6MTcyCisjOiBlcnJvci5jOjE3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZy4uLiIKIG1zZ3N0ciAiQXZicnl0ZXIuLi4iCiAKLSM6IGVycm9yLmM6NDA1CisjOiBlcnJvci5jOjQwNgogbXNnaWQgInVua25vd24gY29tbWFuZCBlcnJvciIKIG1zZ3N0ciAib2vDpG50IGtvbW1hbmRvZmVsIgogCi0jOiBlcnJvci5jOjQwNgorIzogZXJyb3IuYzo0MDcKIG1zZ2lkICJiYWQgY29tbWFuZCB0eXBlIgogbXNnc3RyICJmZWxha3RpZyBrb21tYW5kb3R5cCIKIAotIzogZXJyb3IuYzo0MDcKKyM6IGVycm9yLmM6NDA4CiBtc2dpZCAiYmFkIGNvbm5lY3RvciIKIG1zZ3N0ciAiZmVsYWt0aWcgYW5zbHV0bmluZyIKIAotIzogZXJyb3IuYzo0MDgKKyM6IGVycm9yLmM6NDA5CiBtc2dpZCAiYmFkIGp1bXAiCiBtc2dzdHIgImZlbGFrdGlndCBob3BwIgogCi0jOiBlcnJvci5jOjQ0NgorIzogZXJyb3IuYzo0NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYm91bmQgdmFyaWFibGUiCiBtc2dzdHIgIiVzOiBvYnVuZGVuIHZhcmlhYmVsIgogCiAjOiBldmFsLmM6MTgxCiAjLCBjLWZvcm1hdAotbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgotbXNnc3RyICJcYXRpZGVuIGdpY2sgdXQgaSB2w6RudGFuIHDDpSBpbmRhdGE6IGF1dG9tYXRpc2sgdXRsb2dnbmluZ1xuIgorbXNnaWQgIgd0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCittc2dzdHIgIgd0aWRlbiBnaWNrIHV0IGkgdsOkbnRhbiBww6UgaW5kYXRhOiBhdXRvbWF0aXNrIHV0bG9nZ25pbmdcbiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTEKKyM6IGV4ZWN1dGVfY21kLmM6NDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiBtc2dzdHIgImRldCBnw6VyIGludGUgYXR0IG9tZGlyZWdlcmEgc3RhbmRhcmQgaW4gZnLDpW4gL2Rldi9udWxsOiAlcyIKIAotIzogZXhlY3V0ZV9jbWQuYzoxMTEyCisjOiBleGVjdXRlX2NtZC5jOjExNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVElNRUZPUk1BVDogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJUSU1FRk9STUFUOiBcIiVjXCI6IG9naWx0aWd0IGZvcm1hdGVyaW5nc3RlY2tlbiIKIAotIzogZXhlY3V0ZV9jbWQuYzoyMDExCisjOiBleGVjdXRlX2NtZC5jOjIwNzUKIG1zZ2lkICJwaXBlIGVycm9yIgogbXNnc3RyICJyw7ZyZmVsIgogCi0jOiBleGVjdXRlX2NtZC5jOjQzNjMKKyM6IGV4ZWN1dGVfY21kLmM6NDQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCiBtc2dzdHIgIiVzOiBiZWdyw6Ruc2F0OiBkZXQgZ8OlciBpbnRlIGF0dCBhbmdlIFwiL1wiIGkga29tbWFuZG9uYW1uIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ0NTQKKyM6IGV4ZWN1dGVfY21kLmM6NDU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBrb21tYW5kb3QgZmlubnMgaW50ZSIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NzA4CisjOiBleGVjdXRlX2NtZC5jOjQ4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCiBtc2dzdHIgIiVzOiAlczogZmVsYWt0aWcgdG9sayIKIAotIzogZXhlY3V0ZV9jbWQuYzo0ODU3CisjOiBleGVjdXRlX2NtZC5jOjQ5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKIG1zZ3N0ciAiZGV0IGfDpXIgaW50ZSBhdHQgZHVwbGljZXJhIGZiICVkIHRpbGwgZmIgJWQiCkBAIC05NDksMjggKzk3OCwyOCBAQAogbXNnaWQgIm1pc3NpbmcgYCknIgogbXNnc3RyICJcIilcIiBzYWtuYXMiCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzUKKyM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKIG1zZ2lkICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCiBtc2dzdHIgInN5bnRheGZlbDogZW4gb3BlcmFuZCBmw7ZydsOkbnRhZGVzIgogCi0jOiBleHByLmM6MTE3NworIzogZXhwci5jOjExNzgKIG1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKIG1zZ3N0ciAic3ludGF4ZmVsOiBvZ2lsdGlnIGFyaXRtZXRpc2sgb3BlcmF0b3IiCiAKLSM6IGV4cHIuYzoxMjAxCisjOiBleHByLmM6MTIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgogbXNnc3RyICIlcyVzJXM6ICVzIChmZWxzeW1ib2wgw6RyIFwiJXNcIikiCiAKLSM6IGV4cHIuYzoxMjU5CisjOiBleHByLmM6MTI2MAogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogbXNnc3RyICJvZ2lsdGlnIGFyaXRtZXRpc2sgYmFzIgogCi0jOiBleHByLmM6MTI3OQorIzogZXhwci5jOjEyODAKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgInbDpHJkZXQgw6RyIGbDtnIgc3RvcnQgZsO2ciBiYXNlbiIKIAotIzogZXhwci5jOjEzMjgKKyM6IGV4cHIuYzoxMzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCiBtc2dzdHIgIiVzOiB1dHRyeWNrc2ZlbFxuIgpAQCAtOTc5LDcgKzEwMDgsNyBAQAogbXNnaWQgImdldGN3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQgZGlyZWN0b3JpZXMiCiBtc2dzdHIgImdldGN3ZDogZGV0IGfDpXIgaW50ZSBhdHQga29tbWEgw6V0IGbDtnLDpGxkcmFrYXRhbG9nZW4iCiAKLSM6IGlucHV0LmM6OTQgc3Vic3QuYzo0NTU5CisjOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDg1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIG1zZ3N0ciAiZGV0IGfDpXIgaW50ZSBhdHQgw6V0ZXJzdMOkbGxhIGbDtnJkcsO2am5pbmdzZnJpdHQgbMOkZ2UgZsO2ciBmYiAlZCIKQEAgLTEwMzMsNyArMTA2Miw3IEBACiBtc2dpZCAiRG9uZSIKIG1zZ3N0ciAiS2xhcnQiCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjIKKyM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKIG1zZ2lkICJTdG9wcGVkIgogbXNnc3RyICJTdG9wcGF0IgogCkBAIC0xMDcwLDY5ICsxMDk5LDczIEBACiBtc2dpZCAiICAod2Q6ICVzKSIKIG1zZ3N0ciAiICAoYWs6ICVzKSIKIAotIzogam9icy5jOjE3NzEKKyM6IGpvYnMuYzoxNzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICJiYXJucyBzZXRwZ2lkICglbGQgdGlsbCAlbGQpIgogCi0jOiBqb2JzLmM6MjA5OSBub2pvYnMuYzo1ODUKKyM6IGpvYnMuYzoyMTA0IG5vam9icy5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0OiBwaWQgJWxkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgc2hlbGwiCiBtc2dzdHIgIndhaXQ6IHBpZCAlbGQgw6RyIGludGUgZXR0IGJhcm4gdGlsbCBkZXR0YSBza2FsIgogCi0jOiBqb2JzLmM6MjMyNgorIzogam9icy5jOjIzMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIG1zZ3N0ciAid2FpdF9mb3I6IEluZ2VuIHVwcGdpZnQgb20gcHJvY2VzcyAlbGQiCiAKLSM6IGpvYnMuYzoyNTk4CisjOiBqb2JzLmM6MjYwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogbXNnc3RyICJ3YWl0X2Zvcl9qb2I6IGpvYmIgJWQgw6RyIHN0b3BwYXQiCiAKLSM6IGpvYnMuYzoyODIwCisjOiBqb2JzLmM6MjgyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogam9iYmV0IGhhciBhdnNsdXRhdCIKIAotIzogam9icy5jOjI4MjkKKyM6IGpvYnMuYzoyODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgJWQgYWxyZWFkeSBpbiBiYWNrZ3JvdW5kIgogbXNnc3RyICIlczogam9iYiAlZCDDpHIgcmVkYW4gaSBiYWtncnVuZGVuIgogCi0jOiBqb2JzLmM6MzQ5MgorIzogam9icy5jOjMwNTkKK21zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCittc2dzdHIgIiIKKworIzogam9icy5jOjM1MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGxpbmUgJWQ6ICIKIG1zZ3N0ciAiJXM6IHJhZCAlZDogIgogCi0jOiBqb2JzLmM6MzUwNiBub2pvYnMuYzo4MTQKKyM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKGNvcmUgZHVtcGVkKSIKIG1zZ3N0ciAiIChtaW5uZXN1dHNrcmlmdCBza2FwYWQpIgogCi0jOiBqb2JzLmM6MzUxOCBqb2JzLmM6MzUzMQorIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHdkIG5vdzogJXMpXG4iCiBtc2dzdHIgIihhayBudTogJXMpXG4iCiAKLSM6IGpvYnMuYzozNTYzCisjOiBqb2JzLmM6MzU3OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIG1pc3NseWNrYWRlcyIKIAotIzogam9icy5jOjM2MjMKKyM6IGpvYnMuYzozNjM5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgogbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5qZWRpc2NpcGxpbiIKIAotIzogam9icy5jOjM2MzMKKyM6IGpvYnMuYzozNjQ5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKIAotIzogam9icy5jOjM2NjEKKyM6IGpvYnMuYzozNjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgogbXNnc3RyICJkZXQgZ8OlciBpbnRlIGF0dCBzw6R0dGEgdGVybWluYWxwcm9jZXNzZ3J1cHAgKCVkKSIKIAotIzogam9icy5jOjM2NjYKKyM6IGpvYnMuYzozNjgyCiBtc2dpZCAibm8gam9iIGNvbnRyb2wgaW4gdGhpcyBzaGVsbCIKIG1zZ3N0ciAiaW5nZW4gam9iYnN0eXJuaW5nIGkgZGV0dGEgc2thbCIKIApAQCAtMTIyNCw2ICsxMjU3LDI2IEBACiBtc2dpZCAibmV0d29yayBvcGVyYXRpb25zIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIm7DpHR2ZXJrc29wZXJhdGlvbmVyIHN0w7ZkcyBpbnRlIgogCisjOiBsb2NhbGUuYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2NhbGUuYzoyNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCittc2dzdHIgInhyZWFsbG9jOiAlczogJWQ6IGthbiBpbnRlIGFsbG9rZXJhICVsdSBieXRlIgorCisjOiBsb2NhbGUuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICJ4cmVhbGxvYzogJXM6ICVkOiBrYW4gaW50ZSBhbGxva2VyYSAlbHUgYnl0ZSIKKwogIzogbWFpbGNoZWNrLmM6NDMzCiBtc2dpZCAiWW91IGhhdmUgbWFpbCBpbiAkXyIKIG1zZ3N0ciAiRHUgaGFyIHBvc3QgaSAkXyIKQEAgLTEyMzcsMTMyICsxMjkwLDEzMiBAQAogbXNnaWQgIlRoZSBtYWlsIGluICVzIGhhcyBiZWVuIHJlYWRcbiIKIG1zZ3N0ciAiUG9zdGVuIGkgJXMgaGFyIGzDpHN0c1xuIgogCi0jOiBtYWtlX2NtZC5jOjMyMgorIzogbWFrZV9jbWQuYzozMjMKIG1zZ2lkICJzeW50YXggZXJyb3I6IGFyaXRobWV0aWMgZXhwcmVzc2lvbiByZXF1aXJlZCIKIG1zZ3N0ciAic3ludGF4ZmVsOiBhcml0bWV0aXNrdCB1dHRyeWNrIGtyw6R2cyIKIAotIzogbWFrZV9jbWQuYzozMjQKKyM6IG1ha2VfY21kLmM6MzI1CiBtc2dpZCAic3ludGF4IGVycm9yOiBgOycgdW5leHBlY3RlZCIKIG1zZ3N0ciAic3ludGF4ZmVsOiBvdsOkbnRhdCBcIjtcIiIKIAotIzogbWFrZV9jbWQuYzozMjUKKyM6IG1ha2VfY21kLmM6MzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvcjogYCgoJXMpKSciCiBtc2dzdHIgInN5bnRheGZlbDogXCIoKCVzKSlcIiIKIAotIzogbWFrZV9jbWQuYzo1NjcKKyM6IG1ha2VfY21kLmM6NTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfaGVyZV9kb2N1bWVudDogYmFkIGluc3RydWN0aW9uIHR5cGUgJWQiCiBtc2dzdHIgIm1ha2VfaGVyZV9kb2N1bWVudDogZmVsYWt0aWcgaW5zdHJ1a3Rpb25zdHlwICVkIgogCi0jOiBtYWtlX2NtZC5jOjY1MQorIzogbWFrZV9jbWQuYzo2NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVyZS1kb2N1bWVudCBhdCBsaW5lICVkIGRlbGltaXRlZCBieSBlbmQtb2YtZmlsZSAod2FudGVkIGAlcycpIgogbXNnc3RyICJow6RyLWRva3VtZW50IHDDpSByYWQgJWQgYXZncsOkbnNhcyBhdiBmaWxzbHV0ICh2aWxsZSBoYSBcIiVzXCIpIgogCi0jOiBtYWtlX2NtZC5jOjc0NgorIzogbWFrZV9jbWQuYzo3NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIiIKICJtYWtlX3JlZGlyZWN0aW9uOiBvbWRpcmlnZXJpbmdzaW5zdHJ1a3Rpb24gXCIlZFwiIHV0YW5mw7ZyIGdpbHRpZ3QgaW50ZXJ2YWxsIgogCi0jOiBwYXJzZS55OjI5ODYgcGFyc2UueTozMjE4CisjOiBwYXJzZS55OjMxMzMgcGFyc2UueTozMzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGAlYyciCiBtc2dzdHIgIm92w6RudGF0IGZpbHNsdXQgdmlkIHPDtmtuaW5nIGVmdGVyIG1hdGNoYW5kZSBcIiVjXCIiCiAKLSM6IHBhcnNlLnk6MzcyMgorIzogcGFyc2UueTozOTUxCiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAib3bDpG50YXQgZmlsc2x1dCB2aWQgc8O2a25pbmcgZWZ0ZXIgXCJdXVwiIgogCi0jOiBwYXJzZS55OjM3MjcKKyM6IHBhcnNlLnk6Mzk1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICJzeW50YXhmZWwgaSB2aWxsa29ybGlndCB1dHRyeWNrOiBvdsOkbnRhZCBzeW1ib2wgXCIlc1wiIgogCi0jOiBwYXJzZS55OjM3MzEKKyM6IHBhcnNlLnk6Mzk2MAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICJzeW50YXhmZWwgaSB2aWxsa29ybGlndCB1dHRyeWNrIgogCi0jOiBwYXJzZS55OjM4MDkKKyM6IHBhcnNlLnk6NDAzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGV4cGVjdGVkIGApJyIKIG1zZ3N0ciAib3bDpG50YWQgc3ltYm9sIFwiJXNcIiwgXCIpXCIgZsO2cnbDpG50YWRlcyIKIAotIzogcGFyc2UueTozODEzCisjOiBwYXJzZS55OjQwNDIKIG1zZ2lkICJleHBlY3RlZCBgKSciCiBtc2dzdHIgIlwiKVwiIGbDtnJ2w6RudGFkZXMiCiAKLSM6IHBhcnNlLnk6Mzg0MQorIzogcGFyc2UueTo0MDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAib3bDpG50YXQgYXJndW1lbnQgXCIlc1wiIHRpbGwgdmlsbGtvcmxpZyB1bsOkciBvcGVyYXRvciIKIAotIzogcGFyc2UueTozODQ1CisjOiBwYXJzZS55OjQwNzQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJvdsOkbnRhdCBhcmd1bWVudCB0aWxsIHZpbGxrb3JsaWcgdW7DpHIgb3BlcmF0b3IiCiAKLSM6IHBhcnNlLnk6Mzg4NQorIzogcGFyc2UueTo0MTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICJvdsOkbnRhZCBzeW1ib2wgXCIlc1wiLCB2aWxsa29ybGlnIGJpbsOkciBvcGVyYXRvciBmw7ZydsOkbnRhZGVzIgogCi0jOiBwYXJzZS55OjM4ODkKKyM6IHBhcnNlLnk6NDEyNAogbXNnaWQgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAidmlsbGtvcmxpZyBiaW7DpHIgb3BlcmF0byBmw7ZydsOkbnRhZGVzIgogCi0jOiBwYXJzZS55OjM5MDYKKyM6IHBhcnNlLnk6NDE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJvdsOkbnRhdCBhcmd1bWVudCBcIiVzXCIgdGlsbCB2aWxsa29ybGlnIGJpbsOkciBvcGVyYXRvciIKIAotIzogcGFyc2UueTozOTEwCisjOiBwYXJzZS55OjQxNTAKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAib3bDpG50YXQgYXJndW1lbnQgdGlsbCB2aWxsa29ybGlnIGJpbsOkciBvcGVyYXRvciIKIAotIzogcGFyc2UueTozOTIxCisjOiBwYXJzZS55OjQxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIm92w6RudGFkIHN5bWJvbCBcIiVjXCIgaSB2aWxsa29ybGlndCBrb21tYW5kbyIKIAotIzogcGFyc2UueTozOTI0CisjOiBwYXJzZS55OjQxNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIm92w6RudGFkIHN5bWJvbCBcIiVzXCIgaSB2aWxsa29ybGlndCBrb21tYW5kbyIKIAotIzogcGFyc2UueTozOTI4CisjOiBwYXJzZS55OjQxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJvdsOkbnRhZCBzeW1ib2wgJWQgaSB2aWxsa29ybGlndCBrb21tYW5kbyIKIAotIzogcGFyc2UueTo1MTk1CisjOiBwYXJzZS55OjU0NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICJzeW50YXhmZWwgbsOkciBkZW4gb3bDpG50YWRlIHN5bWJvbGVuIFwiJXNcIiIKIAotIzogcGFyc2UueTo1MjEzCisjOiBwYXJzZS55OjU0NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgYCVzJyIKIG1zZ3N0ciAic3ludGF4ZmVsIG7DpHJhIFwiJXNcIiIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgInN5bnRheGZlbDogb3bDpG50YXQgZmlsc2x1dCIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgInN5bnRheGZlbCIKIAotIzogcGFyc2UueTo1Mjg1CisjOiBwYXJzZS55OjU1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIFwiJXNcIiB0byBsZWF2ZSB0aGUgc2hlbGwuXG4iCiBtc2dzdHIgIkFudsOkbmQgXCIlc1wiIGbDpHIgYXR0IGzDpG1uYSBza2FsZXQuXG4iCiAKLSM6IHBhcnNlLnk6NTQ0NworIzogcGFyc2UueTo1NzExCiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgogbXNnc3RyICJvdsOkbnRhdCBmaWxzbHV0IG7DpHIgbWF0Y2hhbmRlIFwiKVwiIHPDtmt0ZXMiCiAKLSM6IHBjb21wbGV0ZS5jOjEwMTgKKyM6IHBjb21wbGV0ZS5jOjEwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgImtvbXBsZXR0ZXJpbmc6IGZ1bmt0aW9uIFwiJXNcIiBmaW5ucyBpbnRlIgpAQCAtMTM3Miw3MSArMTQyNSw5MCBAQAogbXNnaWQgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiBtc2dzdHIgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiAKLSM6IHByaW50X2NtZC5jOjI4NQorIzogcHJpbnRfY21kLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAicHJpbnRfY29tbWFuZDogZmVsYWt0aWcgYW5zbHV0bmluZyBcIiVkXCIiCiAKLSM6IHByaW50X2NtZC5jOjEzNDgKKyM6IHByaW50X2NtZC5jOjM2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlX3NldDogJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICIlZDogb2dpbHRpZyBmaWxiZXNrcml2YXJlOiAlcyIKKworIzogcHJpbnRfY21kLmM6MzY4Cittc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCittc2dzdHIgIiIKKworIzogcHJpbnRfY21kLmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzoxNDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiY3ByaW50ZjogXCIlY1wiOiBvZ2lsdGlndCBmb3JtYXRlcmluZ3N0ZWNrZW4iCiAKLSM6IHJlZGlyLmM6MTA1CisjOiByZWRpci5jOjExMAogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgImZpbGJlc2tyaXZhcmUgdXRhbmbDtnIgZ2lsdGlndCBpbnRlcnZhbGwiCiAKLSM6IHJlZGlyLmM6MTQ4CisjOiByZWRpci5jOjE2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYW1iaWd1b3VzIHJlZGlyZWN0IgogbXNnc3RyICIlczogdHZldHlkaWcgb21kaXJpZ2VyaW5nIgogCi0jOiByZWRpci5jOjE1MgorIzogcmVkaXIuYzoxNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIG1zZ3N0ciAiJXM6IGJlZ3LDpG5zYWQ6IGRldCBnw6VyIGludGUgYXR0IHNrcml2YSDDtnZlciBlbiBleGlzdGVyYW5kZSBmaWwiCiAKLSM6IHJlZGlyLmM6MTU3CisjOiByZWRpci5jOjE3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHJlZGlyZWN0IG91dHB1dCIKIG1zZ3N0ciAiJXM6IGJlZ3LDpG5zYWQ6IGRldCBnw6VyIGludGUgYXR0IG9tZGlyaWdlcmEgdXRkYXRhIgogCi0jOiByZWRpci5jOjE2MgorIzogcmVkaXIuYzoxODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgogbXNnc3RyICJkZXQgZ8OlciBpbnRlIGF0dCBza2FwYSB0ZW1wb3LDpHJmaWwgZsO2ciBow6RyLWRva3VtZW50OiAlcyIKIAotIzogcmVkaXIuYzo1MTcKKyM6IHJlZGlyLmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKK21zZ3N0ciAiJXM6IGRldCBnw6VyIGludGUgYXR0IHRpbGxkZWxhIGxpc3RvciB0aWxsIHZla3Rvcm1lZGxlbW1hciIKKworIzogcmVkaXIuYzo1NDQKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiBtc2dzdHIgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBzdMO2ZHMgaW50ZSB1dGFuIG7DpHR2ZXJrc2Z1bmt0aW9uIgogCi0jOiByZWRpci5jOjEwMjMKKyM6IHJlZGlyLmM6MTEwMQogbXNnaWQgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgogbXNnc3RyICJvbWRpcmlnZXJpbmdzZmVsOiBkZXQgZ8OlciBpbnRlIGF0dCBkdXBsaWNlcmEgZmIiCiAKLSM6IHNoZWxsLmM6MzI4CisjOiBzaGVsbC5jOjMzMgogbXNnaWQgImNvdWxkIG5vdCBmaW5kIC90bXAsIHBsZWFzZSBjcmVhdGUhIgogbXNnc3RyICJoaXR0YWRlIGludGUgL3RtcCwgdmFyIGdvZCBza2FwYSEiCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzNgogbXNnaWQgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICIvdG1wIG3DpXN0ZSB2YXJhIGV0dCBnaWx0aWd0IGthdGFsb2duYW1uIgogCi0jOiBzaGVsbC5jOjg3NgorIzogc2hlbGwuYzo4ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWMlYzogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVjJWM6IG9naWx0aWcgZmxhZ2dhIgogCi0jOiBzaGVsbC5jOjE2MzgKKyM6IHNoZWxsLmM6MTY1MQogbXNnaWQgIkkgaGF2ZSBubyBuYW1lISIKIG1zZ3N0ciAiSmFnIGhhciBpbmdldCBuYW1uISIKIAotIzogc2hlbGwuYzoxNzc4CisjOiBzaGVsbC5jOjE3OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgogbXNnc3RyICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiAKLSM6IHNoZWxsLmM6MTc3OQorIzogc2hlbGwuYzoxNzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJVc2FnZTpcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIC4uLlxuIgpAQCAtMTQ0NSwzMzEgKzE1MTcsMzM3IEBACiAiQW52w6RuZG5pbmc6XHQlcyBbR05VIGzDpW5nIGZsYWdnYV0gW2ZsYWdnYV0gLi4uXG4iCiAiXHRcdCVzIFtHTlUgbMOlbmcgZmxhZ2dhXSBbZmxhZ2dhXSBza3JpcHRmaWwgLi4uXG4iCiAKLSM6IHNoZWxsLmM6MTc4MQorIzogc2hlbGwuYzoxNzk2CiBtc2dpZCAiR05VIGxvbmcgb3B0aW9uczpcbiIKIG1zZ3N0ciAiR05VIGzDpW5nYSBmbGFnZ29yOlxuIgogCi0jOiBzaGVsbC5jOjE3ODUKKyM6IHNoZWxsLmM6MTgwMAogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgIlNrYWxmbGFnZ29yOlxuIgogCi0jOiBzaGVsbC5jOjE3ODYKKyM6IHNoZWxsLmM6MTgwMQogbXNnaWQgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKIG1zZ3N0ciAiXHQtaXJzRCBlbGxlciAtYyBrb21tYW5kbyBlbGxlciAtTyBzaG9wdF9mbGFnZ2FcdFx0KGJhcmEgdXBwc3RhcnQpXG4iCiAKLSM6IHNoZWxsLmM6MTgwMQorIzogc2hlbGwuYzoxODE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgogbXNnc3RyICJcdC0lcyBlbGxlciAtbyBmbGFnZ2FcbiIKIAotIzogc2hlbGwuYzoxODA3CisjOiBzaGVsbC5jOjE4MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgXCJoZWxwIHNldFwiJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBvcHRpb25zLlxuIgogbXNnc3RyICJTa3JpdiBcIiVzIC1jICdoZWxwIHNldCdcIiBmw7ZyIG1lciBpbmZvcm1hdGlvbiBvbSBza2FsZmxhZ2dvci5cbiIKIAotIzogc2hlbGwuYzoxODA4CisjOiBzaGVsbC5jOjE4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKIG1zZ3N0ciAiU2tyaXYgXCIlcyAtYyBoZWxwXCIgZsO2ciBtZXIgaW5mb3JtYXRpb24gb20gaW5ieWdnZGEgc2thbGtvbW1hbmRvbi5cbiIKIAotIzogc2hlbGwuYzoxODA5CisjOiBzaGVsbC5jOjE4MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIHRoZSBgYmFzaGJ1ZycgY29tbWFuZCB0byByZXBvcnQgYnVncy5cbiIKIG1zZ3N0ciAiIgogIkFudsOkbmQga29tbWFuZG90IFwiYmFzaGJ1Z1wiIGbDtnIgYXR0IHJhcHBvcnRlcmEgZmVsLlxuIgogIlNraWNrYSBzeW5wdW5rdGVyIHDDpSDDtnZlcnPDpHR0bmluZ2VuIHRpbGwgPHRwLXN2QGxpc3Rvci50cC1zdi5zZT4uXG4iCiAKLSM6IHNpZy5jOjU4MworIzogc2lnLmM6NjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInNpZ3Byb2NtYXNrOiAlZDogaW52YWxpZCBvcGVyYXRpb24iCiBtc2dzdHIgInNpZ3Byb2NtYXNrOiAlZDogb2dpbHRpZyBvcGVyYXRpb24iCiAKLSM6IHNpZ2xpc3QuYzo0NworIzogc2lnbGlzdC5jOjQ4CiBtc2dpZCAiQm9ndXMgc2lnbmFsIgogbXNnc3RyICJGZWxhdGtpZyBzaWduYWwiCiAKLSM6IHNpZ2xpc3QuYzo1MAorIzogc2lnbGlzdC5jOjUxCiBtc2dpZCAiSGFuZ3VwIgogbXNnc3RyICJBdnJpbmdkIgogCi0jOiBzaWdsaXN0LmM6NTQKKyM6IHNpZ2xpc3QuYzo1NQogbXNnaWQgIkludGVycnVwdCIKIG1zZ3N0ciAiQXZicnV0ZW4iCiAKLSM6IHNpZ2xpc3QuYzo1OAorIzogc2lnbGlzdC5jOjU5CiBtc2dpZCAiUXVpdCIKIG1zZ3N0ciAiTMOkbW5hZCIKIAotIzogc2lnbGlzdC5jOjYyCisjOiBzaWdsaXN0LmM6NjMKIG1zZ2lkICJJbGxlZ2FsIGluc3RydWN0aW9uIgogbXNnc3RyICJPdGlsbMOldGVuIGluc3RydWt0aW9uIgogCi0jOiBzaWdsaXN0LmM6NjYKKyM6IHNpZ2xpc3QuYzo2NwogbXNnaWQgIkJQVCB0cmFjZS90cmFwIgogbXNnc3RyICJCcnl0cHVua3Qvc3DDpXJuaW5nc2bDpGxsYSIKIAotIzogc2lnbGlzdC5jOjc0CisjOiBzaWdsaXN0LmM6NzUKIG1zZ2lkICJBQk9SVCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiQUJPUlQtaW5zdHJ1a3Rpb24iCiAKLSM6IHNpZ2xpc3QuYzo3OAorIzogc2lnbGlzdC5jOjc5CiBtc2dpZCAiRU1UIGluc3RydWN0aW9uIgogbXNnc3RyICJFbXVsYXRvcmbDpGxsYSIKIAotIzogc2lnbGlzdC5jOjgyCisjOiBzaWdsaXN0LmM6ODMKIG1zZ2lkICJGbG9hdGluZyBwb2ludCBleGNlcHRpb24iCiBtc2dzdHIgIkZseXR0YWxzZmVsIgogCi0jOiBzaWdsaXN0LmM6ODYKKyM6IHNpZ2xpc3QuYzo4NwogbXNnaWQgIktpbGxlZCIKIG1zZ3N0ciAiRMO2ZGFkIgogCi0jOiBzaWdsaXN0LmM6OTAKKyM6IHNpZ2xpc3QuYzo5MQogbXNnaWQgIkJ1cyBlcnJvciIKIG1zZ3N0ciAiQnVzc2ZlbCIKIAotIzogc2lnbGlzdC5jOjk0CisjOiBzaWdsaXN0LmM6OTUKIG1zZ2lkICJTZWdtZW50YXRpb24gZmF1bHQiCiBtc2dzdHIgIlNlZ21lbnRlcmluZ3NmZWwiCiAKLSM6IHNpZ2xpc3QuYzo5OAorIzogc2lnbGlzdC5jOjk5CiBtc2dpZCAiQmFkIHN5c3RlbSBjYWxsIgogbXNnc3RyICJGZWxha3RpZ3Qgc3lzdGVtYW5yb3AiCiAKLSM6IHNpZ2xpc3QuYzoxMDIKKyM6IHNpZ2xpc3QuYzoxMDMKIG1zZ2lkICJCcm9rZW4gcGlwZSIKIG1zZ3N0ciAiQnJ1dGV0IHLDtnIiCiAKLSM6IHNpZ2xpc3QuYzoxMDYKKyM6IHNpZ2xpc3QuYzoxMDcKIG1zZ2lkICJBbGFybSBjbG9jayIKIG1zZ3N0ciAiQWxhcm1rbG9ja2EiCiAKLSM6IHNpZ2xpc3QuYzoxMTAKKyM6IHNpZ2xpc3QuYzoxMTEKIG1zZ2lkICJUZXJtaW5hdGVkIgogbXNnc3RyICJBdnNsdXRhdCIKIAotIzogc2lnbGlzdC5jOjExNAorIzogc2lnbGlzdC5jOjExNQogbXNnaWQgIlVyZ2VudCBJTyBjb25kaXRpb24iCiBtc2dzdHIgIlZpa3RpZ3QgSS9PLXRpbGxzdMOlbmQiCiAKLSM6IHNpZ2xpc3QuYzoxMTgKKyM6IHNpZ2xpc3QuYzoxMTkKIG1zZ2lkICJTdG9wcGVkIChzaWduYWwpIgogbXNnc3RyICJTdG9wcGFkIChzaWduYWwpIgogCi0jOiBzaWdsaXN0LmM6MTI2CisjOiBzaWdsaXN0LmM6MTI3CiBtc2dpZCAiQ29udGludWUiCiBtc2dzdHIgIsOFdGVydXBwdGFnZW4iCiAKLSM6IHNpZ2xpc3QuYzoxMzQKKyM6IHNpZ2xpc3QuYzoxMzUKIG1zZ2lkICJDaGlsZCBkZWF0aCBvciBzdG9wIgogbXNnc3RyICJCYXJuIGTDtnR0IGVsbGVyIHN0b3BwYXQiCiAKLSM6IHNpZ2xpc3QuYzoxMzgKKyM6IHNpZ2xpc3QuYzoxMzkKIG1zZ2lkICJTdG9wcGVkICh0dHkgaW5wdXQpIgogbXNnc3RyICJTdG9wcGFkICh0ZXJtaW5hbGzDpHNuaW5nKSIKIAotIzogc2lnbGlzdC5jOjE0MgorIzogc2lnbGlzdC5jOjE0MwogbXNnaWQgIlN0b3BwZWQgKHR0eSBvdXRwdXQpIgogbXNnc3RyICJTdG9wcGFkICh0ZXJtaW5hbHNrcml2bmluZykiCiAKLSM6IHNpZ2xpc3QuYzoxNDYKKyM6IHNpZ2xpc3QuYzoxNDcKIG1zZ2lkICJJL08gcmVhZHkiCiBtc2dzdHIgIkkvTyBtw7ZqbGlndCIKIAotIzogc2lnbGlzdC5jOjE1MAorIzogc2lnbGlzdC5jOjE1MQogbXNnaWQgIkNQVSBsaW1pdCIKIG1zZ3N0ciAiQ1BVLWdyw6RucyIKIAotIzogc2lnbGlzdC5jOjE1NAorIzogc2lnbGlzdC5jOjE1NQogbXNnaWQgIkZpbGUgbGltaXQiCiBtc2dzdHIgIkZpbGdyw6RucyIKIAotIzogc2lnbGlzdC5jOjE1OAorIzogc2lnbGlzdC5jOjE1OQogbXNnaWQgIkFsYXJtICh2aXJ0dWFsKSIKIG1zZ3N0ciAiQWxhcm0gKHZpcnR1ZWxsIHRpZCkiCiAKLSM6IHNpZ2xpc3QuYzoxNjIKKyM6IHNpZ2xpc3QuYzoxNjMKIG1zZ2lkICJBbGFybSAocHJvZmlsZSkiCiBtc2dzdHIgIkFsYXJtIChwcm9maWxlcmluZykiCiAKLSM6IHNpZ2xpc3QuYzoxNjYKKyM6IHNpZ2xpc3QuYzoxNjcKIG1zZ2lkICJXaW5kb3cgY2hhbmdlZCIKIG1zZ3N0ciAiw4RuZHJhdCBmw7Zuc3RlciIKIAotIzogc2lnbGlzdC5jOjE3MAorIzogc2lnbGlzdC5jOjE3MQogbXNnaWQgIlJlY29yZCBsb2NrIgogbXNnc3RyICJQb3N0bMOlcyIKIAotIzogc2lnbGlzdC5jOjE3NAorIzogc2lnbGlzdC5jOjE3NQogbXNnaWQgIlVzZXIgc2lnbmFsIDEiCiBtc2dzdHIgIkFudsOkbmRhcnNpZ25hbCAxIgogCi0jOiBzaWdsaXN0LmM6MTc4CisjOiBzaWdsaXN0LmM6MTc5CiBtc2dpZCAiVXNlciBzaWduYWwgMiIKIG1zZ3N0ciAiQW52w6RuZGFyc2lnbmFsIDIiCiAKLSM6IHNpZ2xpc3QuYzoxODIKKyM6IHNpZ2xpc3QuYzoxODMKIG1zZ2lkICJIRlQgaW5wdXQgZGF0YSBwZW5kaW5nIgogbXNnc3RyICJIRlQtaW5kYXRhIHbDpG50YXIiCiAKLSM6IHNpZ2xpc3QuYzoxODYKKyM6IHNpZ2xpc3QuYzoxODcKIG1zZ2lkICJwb3dlciBmYWlsdXJlIGltbWluZW50IgogbXNnc3RyICJzdHLDtm1hdmJyb3R0IG9tZWRlbGJhcnQgZsO2cmVzdMOlZW5kZSIKIAotIzogc2lnbGlzdC5jOjE5MAorIzogc2lnbGlzdC5jOjE5MQogbXNnaWQgInN5c3RlbSBjcmFzaCBpbW1pbmVudCIKIG1zZ3N0ciAic3lzdGVta3Jhc2ggb21lZGVsYmFydCBmw7ZyZXN0w6VlbmRlIgogCi0jOiBzaWdsaXN0LmM6MTk0CisjOiBzaWdsaXN0LmM6MTk1CiBtc2dpZCAibWlncmF0ZSBwcm9jZXNzIHRvIGFub3RoZXIgQ1BVIgogbXNnc3RyICJtaWdyZXJhIHByb2Nlc3MgdGlsbCBlbiBhbm5hbiBDUFUiCiAKLSM6IHNpZ2xpc3QuYzoxOTgKKyM6IHNpZ2xpc3QuYzoxOTkKIG1zZ2lkICJwcm9ncmFtbWluZyBlcnJvciIKIG1zZ3N0ciAicHJvZ3JhbW1lcmluZ3NmZWwiCiAKLSM6IHNpZ2xpc3QuYzoyMDIKKyM6IHNpZ2xpc3QuYzoyMDMKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIGdyYW50ZWQiCiBtc2dzdHIgIkhGVC3DtnZlcnZha25pbmdzbMOkZ2UgZ2l2ZXQiCiAKLSM6IHNpZ2xpc3QuYzoyMDYKKyM6IHNpZ2xpc3QuYzoyMDcKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIHJldHJhY3RlZCIKIG1zZ3N0ciAiSEZULcO2dmVyYWthcmUgYm9ydHRhZ2VuIgogCi0jOiBzaWdsaXN0LmM6MjEwCisjOiBzaWdsaXN0LmM6MjExCiBtc2dpZCAiSEZUIHNvdW5kIHNlcXVlbmNlIGhhcyBjb21wbGV0ZWQiCiBtc2dzdHIgIkhGVC1sanVkc2VrZXZlbnMgaGFyIGF2c2x1dGF0IgogCi0jOiBzaWdsaXN0LmM6MjE0CisjOiBzaWdsaXN0LmM6MjE1CiBtc2dpZCAiSW5mb3JtYXRpb24gcmVxdWVzdCIKIG1zZ3N0ciAiSW5mb3JtYXRpb25zYmVnw6RyYW4iCiAKLSM6IHNpZ2xpc3QuYzoyMjIKKyM6IHNpZ2xpc3QuYzoyMjMKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjIgogbXNnc3RyICJPa8OkbmQgc2lnbmFsIG5yICIKIAotIzogc2lnbGlzdC5jOjIyNAorIzogc2lnbGlzdC5jOjIyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjJWQiCiBtc2dzdHIgIk9rw6RuZCBzaWduYWwgbnIgJWQiCiAKLSM6IHN1YnN0LmM6MTE4MSBzdWJzdC5jOjEzMDIKKyM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgogbXNnc3RyICJmZWxha3RpZyBzdWJzdGl0dXRpb246IGluZ2VuIGF2c2x1dGFuZGUgXCIlc1wiIGkgJXMiCiAKLSM6IHN1YnN0LmM6MjQ1OAorIzogc3Vic3QuYzoyNzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogbXNnc3RyICIlczogZGV0IGfDpXIgaW50ZSBhdHQgdGlsbGRlbGEgbGlzdG9yIHRpbGwgdmVrdG9ybWVkbGVtbWFyIgogCi0jOiBzdWJzdC5jOjQ0NTYgc3Vic3QuYzo0NDcyCisjOiBzdWJzdC5jOjQ3NTQgc3Vic3QuYzo0NzcwCiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImRldCBnw6VyIGludGUgYXR0IHNrYXBhIHLDtnIgZsO2ciBwcm9jZXNzdWJzdGl0dXRpb24iCiAKLSM6IHN1YnN0LmM6NDUwNAorIzogc3Vic3QuYzo0ODAyCiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJkZXQgZ8OlciBpbnRlIGF0dCBza2FwYSBiYXJuIGbDtnIgcHJvY2Vzc3Vic3RpdHV0aW9uIgogCi0jOiBzdWJzdC5jOjQ1NDkKKyM6IHN1YnN0LmM6NDg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogbXNnc3RyICJkZXQgZ8OlciBpbnRlIGF0dCDDtnBwbmEgbmFtbmdpdmV0IHLDtnIgJXMgZsO2ciBsw6RzbmluZyIKIAotIzogc3Vic3QuYzo0NTUxCisjOiBzdWJzdC5jOjQ4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAiZGV0IGfDpXIgaW50ZSBhdHQgw7ZwcG5hIG5hbW5naXZldCByw7ZyICVzIGbDtnIgc2tyaXZuaW5nIgogCi0jOiBzdWJzdC5jOjQ1NjkKKyM6IHN1YnN0LmM6NDg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgImRldCBnw6VyIGludGUgYXR0IGR1cGxpY2VyYSBuYW1uZ2l2ZXQgcsO2ciAlcyBzb20gZmIgJWQiCiAKLSM6IHN1YnN0LmM6NDc2NQorIzogc3Vic3QuYzo1MDYzCiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImRldCBnw6VyIGludGUgYXR0IHNrYXBhIHLDtnIgZsO2ciBrb21tYW5kb3N1YnN0aXR1dGlvbiIKIAotIzogc3Vic3QuYzo0Nzk5CisjOiBzdWJzdC5jOjUwOTcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImRldCBnw6VyIGludGUgYXR0IHNrYXBhIGJhcm4gZsO2ciBrb21tYW5kb3N1YnN0aXR1dGlvbiIKIAotIzogc3Vic3QuYzo0ODE2CisjOiBzdWJzdC5jOjUxMTQKIG1zZ2lkICJjb21tYW5kX3N1YnN0aXR1dGU6IGNhbm5vdCBkdXBsaWNhdGUgcGlwZSBhcyBmZCAxIgogbXNnc3RyICJjb21tYW5kX3N1YnN0aXR1dGU6IGRldCBnw6VyIGludGUgYXR0IGR1cGxpY2VyYSByw7ZyIHNvbSBmYiAxIgogCi0jOiBzdWJzdC5jOjUzMTgKKyM6IHN1YnN0LmM6NTYxNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGFyYW1ldGVyIG51bGwgb3Igbm90IHNldCIKIG1zZ3N0ciAiJXM6IHBhcmFtZXRlcm4gdG9tIGVsbGVyIGludGUgc2F0dCIKIAotIzogc3Vic3QuYzo1NjA4CisjOiBzdWJzdC5jOjU5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKIG1zZ3N0ciAiJXM6IGRlbHN0csOkbmd1dHRyeWNrIDwgMCIKIAotIzogc3Vic3QuYzo2NjYwCisjOiBzdWJzdC5jOjY5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiVzOiBmZWxha3RpZyBzdWJzdGl0dXRpb24iCiAKLSM6IHN1YnN0LmM6Njc0MAorIzogc3Vic3QuYzo3MDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJCVzOiBkZXQgZ8OlciBpbnRlIGF0dCB0aWxsZGVsYSBww6UgZGV0dGEgc8OkdHQiCiAKLSM6IHN1YnN0LmM6NzQ5OQorIzogc3Vic3QuYzo3Mzc0Cittc2dpZCAiIgorImZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGUgc2hlbGwgd2lsbCBmb3JjZSBldmFsdWF0aW9uIGFzIGFuIGFyaXRobWV0aWMgIgorInN1YnN0aXR1dGlvbiIKK21zZ3N0ciAiIgorCisjOiBzdWJzdC5jOjc4MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBcImBcIiBpbiAlcyIKIG1zZ3N0ciAiZmVsYWt0aWcgZXJzw6R0dG5pbmc6IGluZ2VuIGF2c2x1dGFuZGUgXCJgXCIgaSAlcyIKIAotIzogc3Vic3QuYzo4Mzc1CisjOiBzdWJzdC5jOjg3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICJpbmdlbiBtYXRjaDogJXMiCiAKLSM6IHRlc3QuYzoxNDUKKyM6IHRlc3QuYzoxNDYKIG1zZ2lkICJhcmd1bWVudCBleHBlY3RlZCIKIG1zZ3N0ciAiYXJndW1lbnQgZsO2cnbDpG50YWRlcyIKIAotIzogdGVzdC5jOjE1NAorIzogdGVzdC5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW50ZWdlciBleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICIlczogaGVsdGFsc3V0dHJ5Y2sgZsO2cnbDpG50YWRlcyIKIAotIzogdGVzdC5jOjI2MgorIzogdGVzdC5jOjI2MwogbXNnaWQgImApJyBleHBlY3RlZCIKIG1zZ3N0ciAiXCIpXCIgZsO2cnbDpG50YWRlcyIKIAotIzogdGVzdC5jOjI2NAorIzogdGVzdC5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICJcIilcIiBmw7ZydsOkbnRhZGVzLCBmYW5uICVzIgogCi0jOiB0ZXN0LmM6Mjc5IHRlc3QuYzo2ODggdGVzdC5jOjY5MQorIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogdW7DpHIgb3BlcmF0b3IgZsO2cnbDpG50YWRlcyIKIAotIzogdGVzdC5jOjQ0NCB0ZXN0LmM6NzMxCisjOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IGJpbsOkciBvcGVyYXRvciBmw7ZydsOkbnRhZGVzIgogCi0jOiB0ZXN0LmM6ODA2CisjOiB0ZXN0LmM6ODExCiBtc2dpZCAibWlzc2luZyBgXSciCiBtc2dzdHIgIlwiXVwiIHNha25hcyIKIAotIzogdHJhcC5jOjIwMQorIzogdHJhcC5jOjIwMwogbXNnaWQgImludmFsaWQgc2lnbmFsIG51bWJlciIKIG1zZ3N0ciAib2dpbHRpZ3Qgc2lnbmFsbnVtbWVyIgogCi0jOiB0cmFwLmM6MzI0CisjOiB0cmFwLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bl9wZW5kaW5nX3RyYXBzOiBiYWQgdmFsdWUgaW4gdHJhcF9saXN0WyVkXTogJXAiCiBtc2dzdHIgInJ1bl9wZW5kaW5nX3RyYXBzOiBmZWxha3RpZ3QgdsOkcmRlIGkgdHJhcF9saXN0WyVkXTogJXAiCiAKLSM6IHRyYXAuYzozMjgKKyM6IHRyYXAuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCkBAIC0xNzc3LDU3ICsxODU1LDcxIEBACiAicnVuX3BlbmRpbmdfdHJhcHM6IHNpZ25hbGhhbnRlcmFyZSDDpHIgU0lHX0RGTCwgc2tpY2thciBvbSAlZCAoJXMpIHRpbGwgbWlnICIKICJzasOkbHYiCiAKLSM6IHRyYXAuYzozNzIKKyM6IHRyYXAuYzozODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhcF9oYW5kbGVyOiBiYWQgc2lnbmFsICVkIgogbXNnc3RyICJ0cmFwX2hhbmRsZXI6IGZlbGFrdGlnIHNpZ25hbCAlZCIKIAotIzogdmFyaWFibGVzLmM6MzU4CisjOiB2YXJpYWJsZXMuYzozNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIGAlcyciCiBtc2dzdHIgImZlbCB2aWQgaW1wb3J0IGF2IGZ1bmt0aW9uc2RlZmluaXRpb24gZsO2ciBcIiVzXCIiCiAKLSM6IHZhcmlhYmxlcy5jOjczNgorIzogdmFyaWFibGVzLmM6NzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICJza2Fsbml2w6UgKCVkKSBmw7ZyIGjDtmcsIMOldGVyc3TDpGxsZXIgdGlsbCAxIgogCi0jOiB2YXJpYWJsZXMuYzoxODk4CisjOiB2YXJpYWJsZXMuYzoxOTE1CiBtc2dpZCAibWFrZV9sb2NhbF92YXJpYWJsZTogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBpbmdlbiBmdW5rdGlvbnNrb250ZXh0IGkgYWt0dWVsbHQgc2FtbWFuaGFuZyIKIAotIzogdmFyaWFibGVzLmM6MzEyNworIzogdmFyaWFibGVzLmM6MzE1OQogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiYWxsX2xvY2FsX3ZhcmlhYmxlczogaW5nZW4gZnVua3Rpb25za29udGV4dCBpIGFrdHVlbGx0IHNhbW1hbmhhbmciCiAKLSM6IHZhcmlhYmxlcy5jOjMzNDQgdmFyaWFibGVzLmM6MzM1MworIzogdmFyaWFibGVzLmM6MzM3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG51bGwgZXhwb3J0c3RyIgorbXNnc3RyICIlczogcGFyYW1ldGVybiB0b20gZWxsZXIgaW50ZSBzYXR0IgorCisjOiB2YXJpYWJsZXMuYzozMzgxIHZhcmlhYmxlcy5jOjMzOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAib2dpbHRpZ3QgdGVja2VuICVkIGkgZXhwb3J0c3RyIGbDtnIgJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNTkKKyM6IHZhcmlhYmxlcy5jOjMzOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgImluZ2V0IFwiPVwiIGkgZXhwb3J0c3RyIGbDtnIgJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjM3OTQKKyM6IHZhcmlhYmxlcy5jOjM4MzUKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiBtc2dzdHIgIiIKICJwb3BfdmFyX2NvbnRleHQ6IGh1dnVkZXQgcMOlIHNoZWxsX3ZhcmlhYmxlcyDDpHIgaW50ZSBlbiBmdW5rdGlvbnNrb250ZXh0IgogCi0jOiB2YXJpYWJsZXMuYzozODA3CisjOiB2YXJpYWJsZXMuYzozODQ4CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBubyBnbG9iYWxfdmFyaWFibGVzIGNvbnRleHQiCiBtc2dzdHIgInBvcF92YXJfY29udGV4dDogaW5nZW4ga29udGV4dCBnbG9iYWxfdmFyaWFibGVzIgogCi0jOiB2YXJpYWJsZXMuYzozODgxCisjOiB2YXJpYWJsZXMuYzozOTIyCiBtc2dpZCAicG9wX3Njb3BlOiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgc2NvcGUiCiBtc2dzdHIgIiIKICJwb3Bfc2NvcGU6IGh1dnVkZXQgcMOlIHNoZWxsX3ZhcmlhYmxlcyDDpHIgaW50ZSBlbiB0ZW1wb3LDpHIgb21naXZuaW5nc3LDpGNrdmlkZCIKIAorIzogdmFyaWFibGVzLmM6NDY3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIgorbXNnc3RyICIlczogZGV0IGfDpXIgaW50ZSBhdHQgw7ZwcG5hOiAlcyIKKworIzogdmFyaWFibGVzLmM6NDY4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiVkOiBvZ2lsdGlnIGZpbGJlc2tyaXZhcmU6ICVzIgorCiAjOiB2ZXJzaW9uLmM6NDYKLSMsIGZ1enp5CiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKLW1zZ3N0ciAiQ29weXJpZ2h0IMKpIDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgorbXNnc3RyICJDb3B5cmlnaHQgwqkgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCiAKICM6IHZlcnNpb24uYzo0NwogbXNnaWQgIiIKQEAgLTE4MzcsNjIgKzE5MjksNTYgQEAKICJMaWNlbnMgR1BMdjMrOiBHTlUgR1BMIHZlcnNpb24gMyBlbGxlciBzZW5hcmUgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCiAiaHRtbD5cbiIKIAotIzogdmVyc2lvbi5jOjg2CisjOiB2ZXJzaW9uLmM6ODYgdmVyc2lvbjIuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcyAoJXMpXG4iCiBtc2dzdHIgIkdOVSBiYXNoLCB2ZXJzaW9uICVzICglcylcbiIKIAotIzogdmVyc2lvbi5jOjkxCisjOiB2ZXJzaW9uLmM6OTEgdmVyc2lvbjIuYzo4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC5cbiIKIG1zZ3N0ciAiIgogIkRldHRhIMOkciBmcmkgcHJvZ3JhbXZhcmEsIGRldCBmw6VyIGZyaXR0IMOkbmRyYSBvY2ggdmlkYXJlZGlzdHJpYnVlcmEgZGVuLlxuIgogCi0jOiB2ZXJzaW9uLmM6OTIKKyM6IHZlcnNpb24uYzo5MiB2ZXJzaW9uMi5jOjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuXG4iCiBtc2dzdHIgIkRldCBmaW5ucyBJTkdFTiBHQVJBTlRJLCBzw6UgbMOlbmd0IGxhZ2VuIHRpbGzDpXRlci5cbiIKIAotIzogeG1hbGxvYy5jOjkyCi0jLCBjLWZvcm1hdAotbXNnaWQgInhtYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorIzogdmVyc2lvbjIuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgorbXNnc3RyICJDb3B5cmlnaHQgwqkgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCisKKyM6IHZlcnNpb24yLmM6ODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMaWNlbnNlIEdQTHYyKzogR05VIEdQTCB2ZXJzaW9uIDIgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiaHRtbD5cbiIKK21zZ3N0ciAiIgorIkxpY2VucyBHUEx2Mys6IEdOVSBHUEwgdmVyc2lvbiAzIGVsbGVyIHNlbmFyZSA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKKyJodG1sPlxuIgorCisjOiB4bWFsbG9jLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKIG1zZ3N0ciAieG1hbGxvYzoga2FuIGludGUgYWxsb2tlcmEgJWx1IGJ5dGUgKCVsdSBieXRlIGFsbG9rZXJhZGUpIgogCi0jOiB4bWFsbG9jLmM6OTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKKyM6IHhtYWxsb2MuYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCiBtc2dzdHIgInhtYWxsb2M6IGthbiBpbnRlIGFsbG9rZXJhICVsdSBieXRlIgogCi0jOiB4bWFsbG9jLmM6MTE0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICJ4cmVhbGxvYzoga2FuIGludGUgcmVhbGxva2VyYSAlbHUgYnl0ZSAoJWx1IGJ5dGUgYWxsb2tlcmFkZSkiCi0KLSM6IHhtYWxsb2MuYzoxMTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhyZWFsbG9jOiBrYW4gaW50ZSBhbGxva2VyYSAlbHUgYnl0ZSIKLQotIzogeG1hbGxvYy5jOjE1MAotIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjOiB4bWFsbG9jLmM6MTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgogbXNnc3RyICJ4bWFsbG9jOiAlczogJWQ6IGthbiBpbnRlIGFsbG9rZXJhICVsdSBieXRlICglbHUgYnl0ZSBhbGxva2VyYWRlKSIKIAotIzogeG1hbGxvYy5jOjE1MgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKKyM6IHhtYWxsb2MuYzoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKIG1zZ3N0ciAieG1hbGxvYzogJXM6ICVkOiBrYW4gaW50ZSBhbGxva2VyYSAlbHUgYnl0ZSIKIAotIzogeG1hbGxvYy5jOjE3NAotIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgInhyZWFsbG9jOiAlczogJWQ6IGthbiBpbnRlIGFyZWFsbG9rZXJhICVsdSBieXRlICglbHUgYnl0ZSBhbGxva2VyYWRlKSIKLQotIzogeG1hbGxvYy5jOjE3NgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhyZWFsbG9jOiAlczogJWQ6IGthbiBpbnRlIGFsbG9rZXJhICVsdSBieXRlIgotCiAjOiBidWlsdGlucy5jOjQzCiBtc2dpZCAiYWxpYXMgWy1wXSBbbmFtZVs9dmFsdWVdIC4uLiBdIgogbXNnc3RyICJhbGlhcyBbLXBdIFtuYW1uWz12w6RyZGVdIC4uLiBdIgpAQCAtMjAxMiw3ICsyMDk4LDggQEAKIG1zZ3N0ciAiaGFzaCBbLWxyXSBbLXAgc8O2a3bDpGddIFstZHRdIFtuYW1uIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTE3Ci1tc2dpZCAiaGVscCBbLWRzXSBbcGF0dGVybiAuLi5dIgorIywgZnV6enkKK21zZ2lkICJoZWxwIFstZG1zXSBbcGF0dGVybiAuLi5dIgogbXNnc3RyICJoZWxwIFstZHNdIFttw7Zuc3RlciAuLi5dIgogCiAjOiBidWlsdGlucy5jOjEyMQpAQCAtMjA0NCw5ICsyMTMxLDEwIEBACiBtc2dzdHIgImxldCBhcmcgW2FyZyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjEzNgorIywgZnV6enkKIG1zZ2lkICIiCi0icmVhZCBbLWVyc10gWy1hIGFycmF5XSBbLWQgZGVsaW1dIFstaSB0ZXh0XSBbLW4gbmNoYXJzXSBbLXAgcHJvbXB0XSBbLXQgIgotInRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXSIKKyJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstTiBuY2hhcnNdIFstcCAiCisicHJvbXB0XSBbLXQgdGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCiAicmVhZCBbLWVyc10gWy1hIHZla3Rvcl0gWy1kIGF2Z3JdIFstaSB0ZXh0XSBbLW4gbnRrbl0gWy1wIHByb21wdF0gWy10ICIKICJ0aWRncsOkbnNdIFstdSBmYl0gW25hbW4gLi4uXSIKQEAgLTIxNjEsNyArMjI0OSw3IEBACiAKICM6IGJ1aWx0aW5zLmM6MTk4CiBtc2dpZCAiY29wcm9jIFtOQU1FXSBjb21tYW5kIFtyZWRpcmVjdGlvbnNdIgotbXNnc3RyICIiCittc2dzdHIgImNvcHJvYyBbTkFNTl0ga29tbWFuZG8gW29tZGlyaWdlcmluZ2FyXSIKIAogIzogYnVpbHRpbnMuYzoyMDAKIG1zZ2lkICJmdW5jdGlvbiBuYW1lIHsgQ09NTUFORFMgOyB9IG9yIG5hbWUgKCkgeyBDT01NQU5EUyA7IH0iCkBAIC0yMjA4LDEwICsyMjk2LDExIEBACiBtc2dzdHIgInByaW50ZiBbLXYgdmFyXSBmb3JtYXQgW2FyZ3VtZW50XSIKIAogIzogYnVpbHRpbnMuYzoyMjkKKyMsIGZ1enp5CiBtc2dpZCAiIgotImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy1XICIKLSJ3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyBzdWZmaXhdICIKLSJbbmFtZSAuLi5dIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy0iCisiVyB3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyAiCisic3VmZml4XSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCiAiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstbyBmbGFnZ2FdIFstQSDDpXRnw6RyZF0gWy1HIGdsb2JtbnN0XSBbLVcgIgogIm9yZGxpc3RhXSAgWy1GIGZ1bmt0aW9uXSBbLUMga29tbWFuZG9dIFstWCBmaWx0ZXJtbnN0XSBbLVAgcHJlZml4XSBbLVMgIgpAQCAtMjIyNyw3ICsyMzE2LDggQEAKICJzdWZmaXhdIFtvcmRdIgogCiAjOiBidWlsdGlucy5jOjIzNwotbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gW25hbWUgLi4uXSIKKyMsIGZ1enp5Cittc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbLURFXSBbbmFtZSAuLi5dIgogbXNnc3RyICJjb21wb3B0IFstb3wrbyBmbGFnZ2FdIFtuYW1uIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MjQwCkBAIC0yMjM5LDEyICsyMzI5LDExIEBACiAia3ZhbnRhXSBbdmVrdG9yXSIKIAogIzogYnVpbHRpbnMuYzoyNDIKLSMsIGZ1enp5CiBtc2dpZCAiIgogInJlYWRhcnJheSBbLW4gY291bnRdIFstTyBvcmlnaW5dIFstcyBjb3VudF0gWy10XSBbLXUgZmRdIFstQyBjYWxsYmFja10gWy1jICIKICJxdWFudHVtXSBbYXJyYXldIgogbXNnc3RyICIiCi0ibWFwZmlsZSBbLW4gYW50YWxdIFstTyBzdGFydF0gWy1zIGFudGFsXSBbLXRdIFstdSBmYl0gWy1DIMOldGVyYW5yb3BdIFstYyAiCisicmVhZGFycmF5IFstbiBhbnRhbF0gWy1PIHN0YXJ0XSBbLXMgYW50YWxdIFstdF0gWy11IGZiXSBbLUMgw6V0ZXJhbnJvcF0gWy1jICIKICJrdmFudGFdIFt2ZWt0b3JdIgogCiAjOiBidWlsdGlucy5jOjI1NApAQCAtMzUxOSw3ICszNjA4LDExIEBACiAiICAgICAgLWVcdFx0dXNlIFJlYWRsaW5lIHRvIG9idGFpbiB0aGUgbGluZSBpbiBhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgogIiAgICAgIC1pIHRleHRcdFVzZSBURVhUIGFzIHRoZSBpbml0aWFsIHRleHQgZm9yIFJlYWRsaW5lXG4iCiAiICAgICAgLW4gbmNoYXJzXHRyZXR1cm4gYWZ0ZXIgcmVhZGluZyBOQ0hBUlMgY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3YWl0aW5nXG4iCi0iICAgIFx0XHRmb3IgYSBuZXdsaW5lXG4iCisiICAgIFx0XHRmb3IgYSBuZXdsaW5lLCBidXQgaG9ub3IgYSBkZWxpbWl0ZXIgaWYgZmV3ZXIgdGhhbiBOQ0hBUlNcbiIKKyIgICAgXHRcdGNoYXJhY3RlcnMgYXJlIHJlYWQgYmVmb3JlIHRoZSBkZWxpbWl0ZXJcbiIKKyIgICAgICAtTiBuY2hhcnNcdHJldHVybiBvbmx5IGFmdGVyIHJlYWRpbmcgZXhhY3RseSBOQ0hBUlMgY2hhcmFjdGVycywgIgorInVubGVzc1xuIgorIiAgICBcdFx0RU9GIGlzIGVuY291bnRlcmVkIG9yIHJlYWQgdGltZXMgb3V0LCBpZ25vcmluZyBhbnkgZGVsaW1pdGVyXG4iCiAiICAgICAgLXAgcHJvbXB0XHRvdXRwdXQgdGhlIHN0cmluZyBQUk9NUFQgd2l0aG91dCBhIHRyYWlsaW5nIG5ld2xpbmUgYmVmb3JlXG4iCiAiICAgIFx0XHRhdHRlbXB0aW5nIHRvIHJlYWRcbiIKICIgICAgICAtclx0XHRkbyBub3QgYWxsb3cgYmFja3NsYXNoZXMgdG8gZXNjYXBlIGFueSBjaGFyYWN0ZXJzXG4iCkBAIC0zNTY4LDE0ICszNjYxLDE2IEBACiAiICAgICAgLXQgdGlkZ3LDpG5zXHRzbHV0YSB2w6RudGEgb2NoIHJldHVybmVyYSBtaXNzbHlja2FuZGUgb20gaW50ZSBlblxuIgogIiAgICBcdFx0a29tcGxldHQgcmFkIGzDpHN0cyBpbm9tIFRJRFNHUsOETlMgc2VrdW5kZXIuICBWw6RyZGV0IHDDpSB2YXJpYWJlbG5cbiIKICIgICAgXHRcdFRNT1VUIMOkciBzdGFuZGFyZHbDpHJkZXQgcMOlIHRpZHNncsOkbnNlbi4gIFRJRFNHUsOETlMga2FuIHZhcmEgZXR0XG4iCi0iICAgIFx0XHRicsOla3RhbC4gIFNsdXRzdGF0dXMgw6RyIHN0w7ZycmUgw6RuIDEyOCBvbSB0aWRzZ3LDpG5zZW4gw7Z2ZXJza3JpZHNcbiIKKyIgICAgXHRcdGJyw6VrdGFsLiAgT20gVElEU0dSw4ROUyDDpHIgMCByZXR1cm5lcmFyIHJlYWQgbHlja2FkIHN0YXR1cyBiYXJhXG4iCisiXHRcdG9tIGRldCBmaW5ucyBpbmRhdGEgdGlsbGfDpG5nbGlndCBww6UgZGVuIGFuZ2l2bmEgZmlsYmVza3JpdmFyZW4uXG4iCisiICAgICAgICAgICAgICAgIFNsdXRzdGF0dXMgw6RyIHN0w7ZycmUgw6RuIDEyOCBvbSB0aWRzZ3LDpG5zZW4gw7Z2ZXJza3JpZHNcbiIKICIgICAgICAtdSBmYlx0XHRsw6RzIGZyw6VuIGZpbGJlc2tyaXZhcmUgRkIgaXN0w6RsbGV0IGbDtnIgc3RhbmRhcmQgaW5cbiIKICIgICAgXG4iCiAiICAgIFNsdXRzdGF0dXM6XG4iCiAiICAgIFJldHVya29kZW4gw6RyIG5vbGwgb20gaW50ZSBmaWxzbHV0IG7DpXMsIGzDpHNuaW5nZW5zIHRpZHNncsOkbnMgw7Z2ZXJza3JpZHNcbiIKICIgICAgZWxsZXIgZW4gb2dpbHRpZyBmaWxiZXNrcml2YXJlIGdlcyBzb20gYXJndW1lbnQgdGlsbCAtdS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTAwNgorIzogYnVpbHRpbnMuYzoxMDA5CiBtc2dpZCAiIgogIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzU5Niw3ICszNjkxLDcgQEAKICIgICAgUmV0dXJuZXJhciBOLCBlbGxlciBtaXNzbHlja2FuZGUgb20gc2thbGV0IGludGUga8O2ciBlbiBmdW5rdGlvbiBlbGxlclxuIgogIiAgICBza3JpcHQuIgogCi0jOiBidWlsdGlucy5jOjEwMTkKKyM6IGJ1aWx0aW5zLmM6MTAyMgogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zNzYyLDcgKzM4NTcsNyBAQAogIiAgICBTbHV0c3RhdHVzOlxuIgogIiAgICBSZXR1cm5lcmFyIGZyYW1nw6VuZyBvbSBpbnRlIGVuIG9naWx0aWcgZmxhZ2dhIGdlcy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTEwMQorIzogYnVpbHRpbnMuYzoxMTA0CiBtc2dpZCAiIgogIlVuc2V0IHZhbHVlcyBhbmQgYXR0cmlidXRlcyBvZiBzaGVsbCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zNzk4LDcgKzM4OTMsNyBAQAogIiAgICBSZXR1cm5lcmFyIGZyYW1nw6VuZyBvbSBpbnRlIGVuIG9naWx0aWcgZmxhZ2dhIGdlcyBlbGxlciBOQU1OIGVuZGFzdCDDpHJcbiIKICIgICAgbMOkc2JhcnQuIgogCi0jOiBidWlsdGlucy5jOjExMjEKKyM6IGJ1aWx0aW5zLmM6MTEyNAogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTM4MzEsNyArMzkyNiw3IEBACiAiICAgIFNsdXRzdGF0dXM6XG4iCiAiICAgIFJldHVybmVyYXIgZnJhbWfDpW5nIG9tIGludGUgZW4gb2dpbHRpZyBmbGFnZ2EgZ2VzIGVsbGVyIE5BTU4gw6RyIG9naWx0aWd0LiIKIAotIzogYnVpbHRpbnMuYzoxMTQwCisjOiBidWlsdGlucy5jOjExNDMKIG1zZ2lkICIiCiAiTWFyayBzaGVsbCB2YXJpYWJsZXMgYXMgdW5jaGFuZ2VhYmxlLlxuIgogIiAgICBcbiIKQEAgLTM4NjcsNyArMzk2Miw3IEBACiAiICAgIFNsdXRzdGF0dXM6XG4iCiAiICAgIFJldHVybmVyYXIgZnJhbWfDpW5nIG9tIGludGUgZW4gb2dpbHRpZyBmbGFnZ2EgZ2VzIGVsbGVyIE5BTU4gw6RyIG9naWx0aWd0LiIKIAotIzogYnVpbHRpbnMuYzoxMTYxCisjOiBidWlsdGlucy5jOjExNjQKIG1zZ2lkICIiCiAiU2hpZnQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTM4ODYsNyArMzk4MSw3IEBACiAiICAgIFNsdXRzdGF0dXM6XG4iCiAiICAgIFJldHVybmVyYXIgZnJhbWfDpW5nIG9tIGludGUgTiDDpHIgbmVnYXRpdnQgZWxsZXIgc3TDtnJyZSDDpG4gJCMuIgogCi0jOiBidWlsdGlucy5jOjExNzMgYnVpbHRpbnMuYzoxMTg4CisjOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzkxMCw3ICs0MDA1LDcgQEAKICIgICAgUmV0dXJuZXJhciBzdGF0dXMgcMOlIGRldCBzaXN0YSBrb21tYW5kb3Qgc29tIGvDtnJzIGkgRklMTkFNTiwgbWlzc2x5Y2thc1xuIgogIiAgICBvbSBGSUxOQU1OIGludGUga2FuIGzDpHNhcy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTIwNAorIzogYnVpbHRpbnMuYzoxMjA3CiBtc2dpZCAiIgogIlN1c3BlbmQgc2hlbGwgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM5MzYsNyArNDAzMSw3IEBACiAiZmVsXG4iCiAiICAgIGludHLDpGZmYXIuIgogCi0jOiBidWlsdGlucy5jOjEyMjAKKyM6IGJ1aWx0aW5zLmM6MTIyMwogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTQwODQsNyArNDE3OSw3IEBACiAiICAgIFJldHVybmVyYXIgZnJhbWfDpW5nIG9tIFVUVFIgYmVyw6RrbmFzIHRpbGwgc2FudC4gIE1pc3NseWNrYXMgaWZhbGwgVVRUUlxuIgogIiAgICBiZXLDpGtuYXMgdGlsbCBmYWxza3QgZWxsZXIgZXR0IG9naWx0aWd0IGFyZ3VtZW50IGdlcy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTI5NgorIzogYnVpbHRpbnMuYzoxMjk5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtNDA5Nyw3ICs0MTkyLDcgQEAKICJhcmd1bWVudGV0XG4iCiAiICAgIG3DpXN0ZSB2YXJhIGVuIGJva3N0YXZsaWcgXCJdXCIsIGbDtnIgYXR0IG1hdGNoYSBkZW4gaW5sZWRhbmRlIFwiW1wiLiIKIAotIzogYnVpbHRpbnMuYzoxMzA1CisjOiBidWlsdGlucy5jOjEzMDgKIG1zZ2lkICIiCiAiRGlzcGxheSBwcm9jZXNzIHRpbWVzLlxuIgogIiAgICBcbiIKQEAgLTQxMTcsNyArNDIxMiw3IEBACiAiICAgIFNsdXRzdGF0dXM6XG4iCiAiICAgIEx5Y2thcyBhbGx0aWQuIgogCi0jOiBidWlsdGlucy5jOjEzMTcKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJUcmFwIHNpZ25hbHMgYW5kIG90aGVyIGV2ZW50cy5cbiIKICIgICAgXG4iCkBAIC00MTgzLDcgKzQyNzgsNyBAQAogImZsYWdnYVxuIgogIiAgICBnZXMuIgogCi0jOiBidWlsdGlucy5jOjEzNDkKKyM6IGJ1aWx0aW5zLmM6MTM1MgogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmQgdHlwZS5cbiIKICIgICAgXG4iCkBAIC00MjQwLDcgKzQzMzUsNyBAQAogIiAgICBTbHV0c3RhdHVzOlxuIgogIiAgICBSZXR1cm5lcmFyIGZyYW1nw6VuZyBvbSBhbGxhIE5BTU5lbiBmaW5ucywgbWlzc2x5Y2thcyBvbSBuw6Vnb3QgaW50ZSBmaW5ucy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MAorIzogYnVpbHRpbnMuYzoxMzgzCiBtc2dpZCAiIgogIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCiAiICAgIFxuIgpAQCAtNDMyOCw3ICs0NDIzLDcgQEAKICIgICAgUmV0dXJuZXJhciBmcmFtZ8Olbmcgb20gaW50ZSBlbiBvZ2lsdGlnIGZsYWdnYSBhbmdlcyBlbGxlciBldHQgZmVsICIKICJpbnRyw6RmZmFyLiIKIAotIzogYnVpbHRpbnMuYzoxNDI1CisjOiBidWlsdGlucy5jOjE0MjgKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCiAiICAgIFxuIgpAQCAtNDM2NCw3ICs0NDU5LDcgQEAKICJmbGFnZ2FcbiIKICIgICAgZ2VzLiIKIAotIzogYnVpbHRpbnMuYzoxNDQ1CisjOiBidWlsdGlucy5jOjE0NDgKIG1zZ2lkICIiCiAiV2FpdCBmb3Igam9iIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC00MzkzLDcgKzQ0ODgsNyBAQAogIm9naWx0aWdcbiIKICIgICAgZmxhZ2dhIGdlcy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ2MworIzogYnVpbHRpbnMuYzoxNDY2CiBtc2dpZCAiIgogIldhaXQgZm9yIHByb2Nlc3MgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTQ0MTksNyArNDUxNCw3IEBACiAib2dpbHRpZ1xuIgogIiAgICBmbGFnZ2EgZ2VzLiIKIAotIzogYnVpbHRpbnMuYzoxNDc4CisjOiBidWlsdGlucy5jOjE0ODEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTQ0NDIsNyArNDUzNyw3IEBACiAiICAgIFNsdXRzdGF0dXM6XG4iCiAiICAgIFJldHVybmVyYXIgc3RhdHVzIGbDtnIgZGV0IHNpc3QgZXhla3ZlcmFkZSBrb21tYW5kb3QuIgogCi0jOiBidWlsdGlucy5jOjE0OTIKKyM6IGJ1aWx0aW5zLmM6MTQ5NQogbXNnaWQgIiIKICJBcml0aG1ldGljIGZvciBsb29wLlxuIgogIiAgICBcbiIKQEAgLTQ0NzIsNyArNDU2Nyw3IEBACiAiICAgIFNsdXRzdGF0dXM6XG4iCiAiICAgIFJldHVybmVyYXIgc3RhdHVzZW4gZnLDpW4gZGV0IHNpc3QgZXhla3ZlcmFkZSBrb21tYW5kb3QuIgogCi0jOiBidWlsdGlucy5jOjE1MTAKKyM6IGJ1aWx0aW5zLmM6MTUxMwogbXNnaWQgIiIKICJTZWxlY3Qgd29yZHMgZnJvbSBhIGxpc3QgYW5kIGV4ZWN1dGUgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtNDUwNyw3ICs0NjAyLDcgQEAKICIgICAgU2x1dHRhdHVzOlxuIgogIiAgICBSZXR1cm5lcmFyIHN0YXR1c2VuIGZyw6VuIGRldCBzaXN0IGV4ZWt2ZXJhZGUga29tbWFuZG90LiIKIAotIzogYnVpbHRpbnMuYzoxNTMxCisjOiBidWlsdGlucy5jOjE1MzQKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtNDUzNiw3ICs0NjMxLDcgQEAKICIgICAgU2x1dHN0YXR1czpcbiIKICIgICAgUmV0dXJzdGF0dXNlbiDDpHIgcmV0dXJzdGF0dXNlbiBmcsOlbiBSw5ZSLiIKIAotIzogYnVpbHRpbnMuYzoxNTQ4CisjOiBidWlsdGlucy5jOjE1NTEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBwYXR0ZXJuIG1hdGNoaW5nLlxuIgogIiAgICBcbiIKQEAgLTQ1NTQsNyArNDY0OSw3IEBACiAiICAgIFNsdXRzdGF0dXM6XG4iCiAiICAgIFJldHVybmVyYXIgc3RhdHVzZW4gZnLDpW4gZGV0IHNpc3QgZXhla3ZlcmFkZSBrb21tYW5kb3QuIgogCi0jOiBidWlsdGlucy5jOjE1NjAKKyM6IGJ1aWx0aW5zLmM6MTU2MwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIGNvbmRpdGlvbmFsLlxuIgogIiAgICBcbiIKQEAgLTQ1OTAsNyArNDY4NSw3IEBACiAiICAgIFNsdXRzdGF0dXM6XG4iCiAiICAgIFJldHVybmVyYXIgc3RhdHVzIGZyw6VuIGRldCBzaXN0IGV4ZWt2ZXJhZGUga29tbWFuZG90LiIKIAotIzogYnVpbHRpbnMuYzoxNTc3CisjOiBidWlsdGlucy5jOjE1ODAKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKICIgICAgXG4iCkBAIC00NjA4LDcgKzQ3MDMsNyBAQAogIiAgICBTbHV0c3RhdHVzOlxuIgogIiAgICBSZXR1cm5lcmFyIHN0YXR1c2VuIGZyw6VuIGRldCBzaXN0IGV4ZWt2ZXJhZGUga29tbWFuZG90LiIKIAotIzogYnVpbHRpbnMuYzoxNTg5CisjOiBidWlsdGlucy5jOjE1OTIKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLlxuIgogIiAgICBcbiIKQEAgLTQ2MjYsNyArNDcyMSw3IEBACiAiICAgIFNsdXRzdGF0dXM6XG4iCiAiICAgIFJldHVybmVyYXIgc3RhdHVzZW4gZnLDpW4gZGV0IHNpc3QgZXhla3ZlcmFkZSBrb21tYW5kb3QuIgogCi0jOiBidWlsdGlucy5jOjE2MDEKKyM6IGJ1aWx0aW5zLmM6MTYwNAogbXNnaWQgIiIKICJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKICIgICAgXG4iCkBAIC00NjM4LDggKzQ3MzMsMTcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCisiU2thcGEgZW4ga29wcm9jZXNzIG1lZCBuYW1uZXQgTkFNTi5cbiIKKyIgICAgXG4iCisiICAgIEvDtnIgS09NTUFORE8gYXN5bmtyb250LCBtZWQgc3RhbmRhcmQgdXQgb2NoIHN0YW5kYXJkIGluIGbDtnIga29tbWFuZG90XG4iCisiICAgIGFuc2x1dGEgdmlhIGV0dCByw7ZyIHRpbGwgZmlsZGVza3JpcHRvcmVyIHRpbGxkZWxhZGUgaW5kZXhlbiAwIG9jaCAxIGlcbiIKKyIgICAgZW4gdmVrdG9ydmFyaWFiZWwgTkFNTiBpIHNrYWxldCBzb20ga8O2ci4gIFN0YW5kYXJkdsOkcmRlIHDDpSBOQU1OIMOkclxuIgorIiAgICBcIkNPUFJPQ1wiLlxuIgorIiAgICBcbiIKKyIgICAgU2x1dHN0YXR1czpcbiIKKyIgICAgUmV0dXJuZXJhciBzdGF0dXNlbiBmcsOlbiBLT01NQU5ETy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYxNQorIzogYnVpbHRpbnMuYzoxNjE4CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC00NjYyLDcgKzQ3NjYsNyBAQAogIiAgICBTbHV0c3RhdHVzOlxuIgogIiAgICBSZXR1cm5lcmFyIGZyYW1nw6VuZyBvbSBpbnRlIE5BTU4gZW5kYXN0IMOkciBsw6RzYmFydC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYyOQorIzogYnVpbHRpbnMuYzoxNjMyCiBtc2dpZCAiIgogIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKICIgICAgXG4iCkBAIC00NjgwLDcgKzQ3ODQsNyBAQAogIiAgICBTbHV0c3RhdHVzOlxuIgogIiAgICBSZXR1cm5lcmFyIHN0dXR1c2VuIGZyw6VuIGRldCBzaXN0IGV4ZWt2ZXJhZGUga29tbWFuZG90LiIKIAotIzogYnVpbHRpbnMuYzoxNjQxCisjOiBidWlsdGlucy5jOjE2NDQKIG1zZ2lkICIiCiAiUmVzdW1lIGpvYiBpbiBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTQ3MDQsNyArNDgwOCw3IEBACiAiICAgIFNsdXRzdGF0dXM6XG4iCiAiICAgIFJldHVybmVyYXIgc3RhdHVzZW4gcMOlIGRldCDDpXRlcnVwcHRhZ25hIGpvYmJldC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY1NgorIzogYnVpbHRpbnMuYzoxNjU5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC00NzIyLDcgKzQ4MjYsNyBAQAogIiAgICBTbHV0c3RhdHVzOlxuIgogIiAgICBSZXR1cm5lcmFyIDEgb20gVVRUUllDSyBiZXLDpGtuYXMgdGlsbCAwLCByZXR1cm5lcmFyIDAgYW5uYXJzLiIKIAotIzogYnVpbHRpbnMuYzoxNjY4CisjOiBidWlsdGlucy5jOjE2NzEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb25kaXRpb25hbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTQ3NzUsNyArNDg3OSw3IEBACiAiICAgIFNsdXRzdGF0dXM6XG4iCiAiICAgIDAgZWxsZXIgMSBiZXJvZW5kZSBww6UgdsOkcmRldCBhdiBVVFRSWUNLLiIKIAotIzogYnVpbHRpbnMuYzoxNjk0CisjOiBidWlsdGlucy5jOjE2OTcKIG1zZ2lkICIiCiAiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKICIgICAgXG4iCkBAIC00ODgwLDcgKzQ5ODQsNyBAQAogIiAgICBISVNUSUdOT1JFXHRFbiBrb2xvbnNlcGFyZXJhZCBsaXN0YSBhdiBtw7Zuc3RlciBzb20gYW52w6RuZHMgZsO2ciBhdHRcbiIKICIgICAgXHRcdGJlc3TDpG1tYSB2aWxrYSBrb21tYW5kb24gc29tIHNrYWxsIHNwYXJhcyBpIGhpc3RvcmllbGlzdGFuLlxuIgogCi0jOiBidWlsdGlucy5jOjE3NTEKKyM6IGJ1aWx0aW5zLmM6MTc1NAogbXNnaWQgIiIKICJBZGQgZGlyZWN0b3JpZXMgdG8gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtNDkzOCw3ICs1MDQyLDcgQEAKICIgICAgUmV0dXJuZXJhciBmcmFtZ8Olbmcgb20gaW50ZSBldHQgb2dpbHRpZ3QgYXJndW1lbnQgZ2VzIGVsbGVyIGJ5dGV0IGF2XG4iCiAiICAgIGthdGFsb2cgbWlzc2x5Y2thcy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTc4NQorIzogYnVpbHRpbnMuYzoxNzg4CiBtc2dpZCAiIgogIlJlbW92ZSBkaXJlY3RvcmllcyBmcm9tIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTQ5ODgsNyArNTA5Miw3IEBACiAiICAgIFJldHVybmVyYXIgZnJhbWfDpW5nIG9tIGludGUgZXR0IG9naWx0aWd0IGFyZ3VtZW50IGdlcyBlbGxlciBieXRldCBhdlxuIgogIiAgICBrYXRhbG9nIG1pc3NseWNrYXMuIgogCi0jOiBidWlsdGlucy5jOjE4MTUKKyM6IGJ1aWx0aW5zLmM6MTgxOAogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC01MDQxLDcgKzUxNDUsNyBAQAogIiAgICBSZXR1cm5lcmFyIGZyYW1nw6VuZyBvbSBpbnRlIGVuIG9naWx0aWcgZmxhZ2dhIGdlcyBlbGxlciBldHQgZmVsICIKICJpbnRyw6RmZmFyLiIKIAotIzogYnVpbHRpbnMuYzoxODQ0CisjOiBidWlsdGlucy5jOjE4NDcKIG1zZ2lkICIiCiAiU2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTUwNzcsNyArNTE4MSw3IEBACiAiICAgIFJldHVybmVyYXIgZnJhbWfDpW5nIG9tIEZMR05BTU4gw6RyIGFrdGl2ZXJhdCwgbWlzc2x5Y2thcyBvbSBlbiBvZ2lsdGlnXG4iCiAiICAgIGZsYWdnYSBnZXMgZWxsZXIgRkxHTkFNTiDDpHIgYXZha3RpdmVyYXQuIgogCi0jOiBidWlsdGlucy5jOjE4NjUKKyM6IGJ1aWx0aW5zLmM6MTg2OAogbXNnaWQgIiIKICJGb3JtYXRzIGFuZCBwcmludHMgQVJHVU1FTlRTIHVuZGVyIGNvbnRyb2wgb2YgdGhlIEZPUk1BVC5cbiIKICIgICAgXG4iCkBAIC01MTMwLDcgKzUyMzQsOCBAQAogIiAgICBSZXR1cm5lcmFyIGZyYW1nw6VuZyBvbSBpbnRlIGVuIG9naWx0aWcgZmxhZ2dhIGdlcyBlbGxlciBldHQgc2tyaXYtXG4iCiAiICAgIGVsbGVyIHRpbGxkZWxuaW5nc2ZlbCBpbnRyw6RmZmFyLiIKIAotIzogYnVpbHRpbnMuYzoxODkyCisjOiBidWlsdGlucy5jOjE4OTUKKyMsIGZ1enp5CiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTUxNDQsOSArNTI0OSwxNCBAQAogIiAgICAgIC1wXHRwcmludCBleGlzdGluZyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zIGluIGEgcmV1c2FibGUgZm9ybWF0XG4iCiAiICAgICAgLXJcdHJlbW92ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm9cbiIKICIgICAgXHROQU1FcyBhcmUgc3VwcGxpZWQsIGFsbCBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zXG4iCisiICAgICAgLURcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyBhcyB0aGUgZGVmYXVsdCBmb3IgY29tbWFuZHNcbiIKKyIgICAgXHR3aXRob3V0IGFueSBzcGVjaWZpYyBjb21wbGV0aW9uIGRlZmluZWRcbiIKKyIgICAgICAtRVx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIHRvIFwiZW1wdHlcIiBjb21tYW5kcyAtLVxuIgorIiAgICBcdGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZVxuIgogIiAgICBcbiIKICIgICAgV2hlbiBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgdGhlIGFjdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZVxuIgotIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS5cbiIKKyIgICAgdXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuICBUaGUgLUQgb3B0aW9uIHRha2VzXG4iCisiICAgIHByZWNlZGVuY2Ugb3ZlciAtRS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCkBAIC01MTcwLDcgKzUyODAsNyBAQAogIiAgICBSZXR1cm5lcmFyIGZyYW1nw6VuZyBvbSBpbnRlIGVuIG9naWx0aWcgZmxhZ2dhIGdlcyBlbGxlciBldHQgZmVsICIKICJpbnRyw6RmZmFyLiIKIAotIzogYnVpbHRpbnMuYzoxOTE1CisjOiBidWlsdGlucy5jOjE5MjMKIG1zZ2lkICIiCiAiRGlzcGxheSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNTE5Miw3ICs1MzAyLDggQEAKICIgICAgUmV0dXJuZXJhciBmcmFtZ8Olbmcgb20gaW50ZSBlbiBvZ2lsdGlnIGZsYWdnYSBnZXMgZWxsZXIgZXR0IGZlbCAiCiAiaW50csOkZmZhci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkzMAorIzogYnVpbHRpbnMuYzoxOTM4CisjLCBmdXp6eQogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNTIwNSw2ICs1MzE2LDggQEAKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgIFx0LW8gb3B0aW9uXHRTZXQgY29tcGxldGlvbiBvcHRpb24gT1BUSU9OIGZvciBlYWNoIE5BTUVcbiIKKyIgICAgXHQtRFx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZGVmYXVsdFwiIGNvbW1hbmQgY29tcGxldGlvblxuIgorIiAgICBcdC1FXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJlbXB0eVwiIGNvbW1hbmQgY29tcGxldGlvblxuIgogIiAgICBcbiIKICIgICAgVXNpbmcgYCtvJyBpbnN0ZWFkIG9mIGAtbycgdHVybnMgb2ZmIHRoZSBzcGVjaWZpZWQgb3B0aW9uLlxuIgogIiAgICBcbiIKQEAgLTUyNDcsMTYgKzUzNjAsMTYgQEAKICIgICAgUmV0dXJuZXJhciBmcmFtZ8Olbmcgb20gaW50ZSBlbiBvZ2lsdGlnIGZsYWdnYSBnZXMgZWxsZXIgTkFNTiBpbnRlIGhhclxuIgogIiAgICBuw6Vnb24ga29tcGxldHRlcmluZ3NzcGVjaWZpa2FhdGlvbiBkZWZpbmllcmFkLiIKIAotIzogYnVpbHRpbnMuYzoxOTU4CisjOiBidWlsdGlucy5jOjE5NjgKICMsIGZ1enp5CiBtc2dpZCAiIgotIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKKyJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCi0iICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgYXJyYXkgdmFyaWFibGUgQVJSQVksIG9yICIKLSJmcm9tXG4iCi0iICAgIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlIE1BUEZJTEUgIgotImlzXG4iCi0iICAgIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgorIiAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUgIgorIkFSUkFZLCBvclxuIgorIiAgICBmcm9tIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlICIKKyJNQVBGSUxFXG4iCisiICAgIGlzIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgogIiAgICBcbiIKICIgICAgT3B0aW9uczpcbiIKICIgICAgICAtbiBjb3VudFx0Q29weSBhdCBtb3N0IENPVU5UIGxpbmVzLiAgSWYgQ09VTlQgaXMgMCwgYWxsIGxpbmVzIGFyZSAiCkBAIC01MjgzLDkgKzUzOTYsMTEgQEAKICIgICAgYXNzaWduaW5nIHRvIGl0LlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIEFSUkFZIGlzIHJlYWRvbmx5ICIKKyJvclxuIgorIiAgICBub3QgYW4gaW5kZXhlZCBhcnJheS4iCiBtc2dzdHIgIiIKLSJMw6RzIHJhZGVyIGbDpW4gZW4gZmlsIHRpbGwgZW4gdmVrdG9ydmFyaWFiZWwuXG4iCisiTMOkcyByYWRlciBmcsOlbiBzdGFuZGFyZCBpbiB0aWxsIGVuIHZla3RvcnZhcmlhYmVsLlxuIgogIiAgICBcbiIKICIgICAgTMOkcyByYWRlciBmcsOlbiBzdGFuZGFyZCBpbiB0aWxsIHZla3RvcnZhcmlhYmVsbiBWRUtUT1IsIGVsbGVyIGZyw6VuXG4iCiAiICAgIGZpbGJlc2tyaXZhcmVuIEZCIG9tIGZsYWdnYW4gLXUgZ2VzLiAgVmFyaWFiZWxuIE1BUEZJTEUgw6RyIHN0YW5kYXJkXG4iCkBAIC01MzA2LDcgKzU0MjEsOCBAQAogIiAgICBBcmd1bWVudDpcbiIKICIgICAgICBWRUtUT1JcdFx0TmFtbiBww6UgdmVrdG9ydmFyaWFiZWwgYXR0IGFudsOkbmRhIGbDtnIgZmlsZGF0YS5cbiIKICIgICAgXG4iCi0iICAgIE9tIC1DIGdlcyB1dGFuIC1jIMOkciBzdGFuZGFyZGt2YW50YSA1MDAwLlxuIgorIiAgICBPbSAtQyBnZXMgdXRhbiAtYyDDpHIgc3RhbmRhcmRrdmFudGEgNTAwMC4gIE7DpHIgw4VURVJBTlJPUCBldmFsdWVyYXMgZsOlclxuIgorIiAgICBkZW4gaW5kZXhldCBww6UgbsOkc3RhIHZla3RvcmVsZW1lbnQgc29tIGV0dCBleHRyYSBhcmd1bWVudC5cbiIKICIgICAgXG4iCiAiICAgIE9tIGRldCBpbnRlIGdlcyBuw6Vnb24gc3BlY2lmaWNlcmFkIHN0YXJ0IGtvbW1lciBtYXBmaWxlIG5vbGxzdMOkbGxhICIKICJWRUtUT1JcbiIKQEAgLTUzMTYsOSArNTQzMiwyMiBAQAogIiAgICBSZXR1cm5lcmFyIGZyYW1nw6VuZyBvbSBpbnRlIGVuIG9naWx0aWcgZmxhZ2dhIGdlcyBlbGxlciBWRUtUT1Igw6RyXG4iCiAiICAgIG9mw7Zyw6RuZGVybGlnLiIKIAotIzogYnVpbHRpbnMuYzoxOTkwCisjOiBidWlsdGlucy5jOjIwMDEKIG1zZ2lkICIiCiAiUmVhZCBsaW5lcyBmcm9tIGEgZmlsZSBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKICIgICAgQSBzeW5vbnltIGZvciBgbWFwZmlsZScuIgogbXNnc3RyICIiCisiTMOkcyByYWRlciBmcsOlbiBlbiBmaWwgdGlsbCBlbiB2ZWt0b3J2YXJpYWJlbC5cbiIKKyIgICAgXG4iCisiICAgIEVuIHN5bm9ueW0gdGlsbCBcIm1hcGZpbGVcIi4iCisKKyN+IG1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyN+IG1zZ3N0ciAieHJlYWxsb2M6IGthbiBpbnRlIHJlYWxsb2tlcmEgJWx1IGJ5dGUgKCVsdSBieXRlIGFsbG9rZXJhZGUpIgorCisjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCisjfiBtc2dzdHIgInhyZWFsbG9jOiBrYW4gaW50ZSBhbGxva2VyYSAlbHUgYnl0ZSIKKworI34gbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyN+IG1zZ3N0ciAiIgorI34gInhyZWFsbG9jOiAlczogJWQ6IGthbiBpbnRlIGFyZWFsbG9rZXJhICVsdSBieXRlICglbHUgYnl0ZSBhbGxva2VyYWRlKSIKZGlmZiAtLWdpdCBhL3BvL3RyLmdtbyBiL3BvL3RyLmdtbwppbmRleCA3OTg0MDc4Li5mM2IwMjViIDEwMDY0NAotLS0gYS9wby90ci5nbW8KKysrIGIvcG8vdHIuZ21vCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3BvL3RyLnBvIGIvcG8vdHIucG8KaW5kZXggNzRiYzMwZC4uZDE5MjE4MiAxMDA2NDQKLS0tIGEvcG8vdHIucG8KKysrIGIvcG8vdHIucG8KQEAgLTYsNyArNiw3IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IGJhc2ggMy4yXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTAyLTE5IDE0OjUzLTA1MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogMjAwNi0xMC0zMCAyMDowMCswMjAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBOaWxnw7xuIEJlbG1hIEJ1Z8O8bmVyIDxuaWxndW5AYnVndW5lci5uYW1lLnRyPlxuIgogIkxhbmd1YWdlLVRlYW06IFR1cmtpc2ggPGdudS10ci11MTJhQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKQEAgLTIwLDUwICsyMCw1NSBAQAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgImhhdGFsxLEgZGl6aSBpbmRpc2kiCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzQKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKIAotIzogYXJyYXlmdW5jLmM6NDc5CisjOiBhcnJheWZ1bmMuYzo0ODAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFzc29jaWF0aXZlIGFycmF5IGtleSIKIG1zZ3N0ciAiJXM6IGV5bGVtIGFkxLEgZ2XDp2Vyc2l6IgogCi0jOiBhcnJheWZ1bmMuYzo0ODEKKyM6IGFycmF5ZnVuYy5jOjQ4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiB0byBub24tbnVtZXJpYyBpbmRleCIKIG1zZ3N0ciAiJXM6IHNhecSxc2FsIG9sbWF5YW4gaW5kaXNlIGF0YW1hIHlhcMSxbGFtYXoiCiAKLSM6IGFycmF5ZnVuYy5jOjUxNworIzogYXJyYXlmdW5jLmM6NTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIiCiAKLSM6IGJhc2hoaXN0LmM6Mzc5CisjOiBiYXNoaGlzdC5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiBtc2dzdHIgIiVzOiBvbHXFn3R1cnVsYW3EsXlvcjogJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzQxMworIzogYmFzaGxpbmUuYzozNDU3CiBtc2dpZCAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgogbXNnc3RyICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBrb211dCBpw6dpbiBrxLFzYXlvbCBidWx1bmFtxLF5b3IiCiAKLSM6IGJhc2hsaW5lLmM6MzQ5MQorIzogYmFzaGxpbmUuYzozNTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IGBcIiciCiBtc2dzdHIgIiVzOiBib8WfbHVrIG9sbWF5YW4gaWxrIGthcmFrdGVyIGBcIicgZGXEn2lsIgogCi0jOiBiYXNobGluZS5jOjM1MjAKKyM6IGJhc2hsaW5lLmM6MzU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjbG9zaW5nIGAlYycgaW4gJXMiCiBtc2dzdHIgIiUyJHMgacOnaW5kZSBrYXBhdGFuIGAlMSRjJyB5b2siCiAKLSM6IGJhc2hsaW5lLmM6MzU1NAorIzogYmFzaGxpbmUuYzozNjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKIG1zZ3N0ciAiJXM6IGlraW5va3RhIGltaSBla3NpayIKIAorIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogaW52YWxpZCBhbGlhcyBuYW1lIgorbXNnc3RyICJgJXMnOiBrxLFzYXlvbCBpc21pIGdlw6dlcnNpeiIKKwogIzogYnVpbHRpbnMvYmluZC5kZWY6MTIwIGJ1aWx0aW5zL2JpbmQuZGVmOjEyMwogbXNnaWQgImxpbmUgZWRpdGluZyBub3QgZW5hYmxlZCIKIG1zZ3N0ciAiIgpAQCAtMTE0LDYgKzExOSwyMSBAQAogIiAgICBXaXRob3V0IEVYUFIsIHJldHVybnMgIgogbXNnc3RyICJHZcOnZXJsaSBhbHR5b3JkYW0gw6dhxJ9yxLFzxLFuxLFuIGJhxJ9sYW3EsSBkw7ZuZXIuIgogCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNQorbXNnaWQgIiIKKyIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKKyIgICAgIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM2Cittc2dpZCAiIgorIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgorIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCisiICAgIFxuIgorIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCisiICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgorbXNnc3RyICIiCisKICM6IGJ1aWx0aW5zL2NkLmRlZjoyMTUKIG1zZ2lkICJIT01FIG5vdCBzZXQiCiBtc2dzdHIgIkhPTUUgYXRhbm1hbcSxxZ8iCkBAIC0xMjcsNyArMTQ3LDcgQEAKIG1zZ2lkICJsaW5lICVkOiAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTM5IGVycm9yLmM6MjYwCisjOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICIKIG1zZ3N0ciAiJXM6IHV5YXLEsTogIgpAQCAtMTM3LDExICsxNTcsMTEgQEAKIG1zZ2lkICIlczogdXNhZ2U6ICIKIG1zZ3N0ciAiJXM6IHV5YXLEsTogIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyMgorIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgIsOnb2sgZmF6bGEgYXJnw7xtYW4iCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5MyBzaGVsbC5jOjc3NAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIiVzOiBzZcOnZW5layBiaXIgYXJnw7xtYW4gZ2VyZWt0aXJpciIKQEAgLTE1Niw3ICsxNzYsNyBAQAogbXNnaWQgIiVzOiBub3QgZm91bmQiCiBtc2dzdHIgIiVzOnlvayIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjE0IHNoZWxsLmM6Nzg3CisjOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlczogc2XDp2VuZWsgZ2XDp2Vyc2l6IgpAQCAtMTgxLDcgKzIwMSw3IEBACiBtc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgogbXNnc3RyICJnZcOnZXJzaXogc2F5xLEiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NQorIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU2CiBtc2dpZCAiaW52YWxpZCBudW1iZXIiCiBtc2dzdHIgImdlw6dlcnNpeiBzYXnEsSIKIApAQCAtMTk1LDcgKzIxNSw3IEBACiBtc2dpZCAiYCVzJzogbm90IGEgcGlkIG9yIHZhbGlkIGpvYiBzcGVjIgogbXNnc3RyICJgJXMnOiBnZcOnZXJsaSBiaXIgacWfIGJlbGlydGltaSB2ZXlhIHPDvHJlw6cgbnVtYXJhc8SxIGRlxJ9pbCIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjY0IGVycm9yLmM6NDUzCisjOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IHZhcmlhYmxlIgogbXNnc3RyICIlczogc2FsdCBva3VudXIgZGXEn2nFn2tlbiIKQEAgLTI2NywyNiArMjg3LDI2IEBACiBtc2dpZCAiJXM6IGFtYmlndW91cyBqb2Igc3BlYyIKIG1zZ3N0ciAiJXM6IGnFnyBiZWxpcnRpbWkgYmVsaXJzaXoiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjoyNzAKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjoyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYWN0aW9uIG5hbWUiCiBtc2dzdHIgIiVzOiBleWxlbSBhZMSxIGdlw6dlcnNpeiIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjQzMCBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjE1Ci0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODEzCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDQ5IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NDQKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXM6IHRhbWFtbGFtYSBiZWxpcnRpbWkgeW9rIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjY3CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk2CiBtc2dpZCAid2FybmluZzogLUYgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgogbXNnc3RyICJ1eWFyxLE6IC1GIHNlw6dlbmXEn2kgdW1kdcSfdW51eiBnaWJpIMOnYWzEscWfbWF5YWJpbGlyIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjY5CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk4CiBtc2dpZCAid2FybmluZzogLUMgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgogbXNnc3RyICJ1eWFyxLE6IC1DIHNlw6dlbmXEn2kgdW1kdcSfdW51eiBnaWJpIMOnYWzEscWfbWF5YWJpbGlyIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Nzg2CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODI2CiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAiIgogCkBAIC0yOTQsMjEgKzMxNCwyMSBAQAogbXNnaWQgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKIG1zZ3N0ciAic2FkZWNlIGJpciBpxZ9sZXZkZSBrdWxsYW7EsWxhYmlsaXIiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM1MworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzYwCiBtc2dpZCAiY2Fubm90IHVzZSBgLWYnIHRvIG1ha2UgZnVuY3Rpb25zIgogbXNnc3RyICJpxZ9sZXYgeWFwbWFrIGnDp2luIGAtZicga3VsbGFuxLFsYW1heiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzY1IGV4ZWN1dGVfY21kLmM6NDgxOAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVzOiBzYWx0IG9rdW51ciBpxZ9sZXYiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2MQorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiVzOiBkaXppIGRlxJ9pxZ9rZW5sZXJpIGJ1IHlvbGxhIGlwdGFsIGVkaWxlbWV6IgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiIgpAQCAtMzM3LDggKzM1Nyw4IEBACiBtc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgogbXNnc3RyICIlczogc2lsaW5lbWl5b3I6ICVzIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Njc1Ci0jOiBzaGVsbC5jOjE0MzkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM0IGJ1aWx0aW5zL2hhc2guZGVmOjE2OSBleGVjdXRlX2NtZC5jOjQ3OTQKKyM6IHNoZWxsLmM6MTQ1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaXMgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzOiBiaXIgZGl6aW4iCkBAIC0zNTMsNyArMzczLDggQEAKIG1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCiBtc2dzdHIgIiVzOiBkb3N5YSDDp29rIGLDvHnDvGsiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGV4ZWN1dGVfY21kLmM6NDc0NSBzaGVsbC5jOjE0NDkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAzIGV4ZWN1dGVfY21kLmM6NDg2NAorIzogc2hlbGwuYzoxNDYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIG1zZ3N0ciAiJXM6IGlraWxpIGRvc3lhIMOnYWzEscWfdMSxcsSxbGFtxLF5b3IiCkBAIC0zODIsMTUgKzQwMywxNSBAQAogbXNnaWQgIlRoZXJlIGFyZSBydW5uaW5nIGpvYnMuXG4iCiBtc2dzdHIgIkR1cm11xZ8gacWfbGVyIHZhci5cbiIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjI2MQorIzogYnVpbHRpbnMvZmMuZGVmOjI2MgogbXNnaWQgIm5vIGNvbW1hbmQgZm91bmQiCiBtc2dzdHIgImtvbXV0IHlvayIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM0MQorIzogYnVpbHRpbnMvZmMuZGVmOjM0OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiZ2XDp21pxZ8gYmVsaXJ0aW1pIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzYyCisjOiBidWlsdGlucy9mYy5kZWY6MzcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiB0ZW1wIGZpbGU6ICVzIgogbXNnc3RyICIlczogZ2XDp2ljaSBkb3N5YSBhw6fEsWxhbcSxeW9yOiAlcyIKQEAgLTQ5MCwxMiArNTExLDEyIEBACiBtc2dpZCAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JyIKIG1zZ3N0ciAiYC14JyBpbGUgYmHFn2thIHNlw6dlbmVrIGt1bGxhbsSxbGFtYXoiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjE5NworIzogYnVpbHRpbnMva2lsbC5kZWY6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhcmd1bWVudHMgbXVzdCBiZSBwcm9jZXNzIG9yIGpvYiBJRHMiCiBtc2dzdHIgIiVzOiBhcmfDvG1hbmxhciBzw7xyZcOnIHZleWEgacWfIGtpbWxpa2xlcmkgb2xtYWzEsSIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjYwCisjOiBidWlsdGlucy9raWxsLmRlZjoyNjMKIG1zZ2lkICJVbmtub3duIGVycm9yIgogbXNnc3RyICJCaWxpbm1leWVuIGhhdGEiCiAKQEAgLTUwMyw1NiArNTI0LDYxIEBACiBtc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiaWZhZGUgYmVrbGVuaXlvcmR1IgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDEgYnVpbHRpbnMvcmVhZC5kZWY6MjcyCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYW4gaW5kZXhlZCBhcnJheSIKK21zZ3N0ciAiJXM6IGJpciBkaXppIGRlxJ9pxZ9rZW5pIGRlxJ9pbCIKKworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXM6IGRvc3lhIHRhbsSxdMSxY8SxIGJlbGlydGltaSBnZcOnZXJzaXoiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NyBidWlsdGlucy9yZWFkLmRlZjoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yOiAlcyIKIG1zZ3N0ciAiJWQ6IGRvc3lhIHRhbsSxdMSxY8SxIGdlw6dlcnNpejogJXMiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1OCBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCiBtc2dzdHIgIiVzOiBzZcOnZW5layBnZcOnZXJzaXoiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiBtc2dzdHIgIiVzOiBzZcOnZW5layBnZcOnZXJzaXoiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogbXNnc3RyICIlczogZXlsZW0gYWTEsSBnZcOnZXJzaXoiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMxOAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzI2CiAjLCBmdXp6eQogbXNnaWQgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCiBtc2dzdHIgIiVzOiBiaXIgZGl6aSBkZcSfacWfa2VuaSBkZcSfaWwiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzOQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CiBtc2dpZCAiYXJyYXkgdmFyaWFibGUgc3VwcG9ydCByZXF1aXJlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjM2NworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJgJXMnOiBiacOnaW0ga2FyYWt0ZXJpIGVrc2lrIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU0NAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJgJWMnOiBiacOnaW0ga2FyYWt0ZXJpIGdlw6dlcnNpeiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzEKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTc4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAlczogJXMiCiBtc2dzdHIgIiVzOiB1eWFyxLE6ICIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTAKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzU3CiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAiXFx4IGnDp2luIG9uYWx0xLFsxLFrIHJha2FtIGVrc2lrIgogCkBAIC02OTUsMTIgKzcyMSwxMiBAQAogIiAgICAgICAgICBlbmdlbGxlciwgYsO2eWxlY2Ugc2FkZWNlIHnEscSfxLF0IGRlxJ9pxZ90aXJpbG1pxZ8gb2x1ci4gXG4iCiAiICAgIERpemluIHnEscSfxLF0xLFuxLEgYGRpcnMnIGtvbXV0dXlsYSBnw7ZyZWJpbGlyc2luaXouIgogCi0jOiBidWlsdGlucy9yZWFkLmRlZjoyNDgKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCB0aW1lb3V0IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiVzOiB6YW1hbmHFn8SxbcSxIGJlbGlydGltaSBnZcOnZXJzaXoiCiAKLSM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU3NAorIzogYnVpbHRpbnMvcmVhZC5kZWY6NTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWQgZXJyb3I6ICVkOiAlcyIKIG1zZ3N0ciAib2t1bWEgaGF0YXPEsTogJWQ6ICVzIgpAQCAtNzM3LDExICs3NjMsMTEgQEAKIG1zZ2lkICJzaGlmdCBjb3VudCIKIG1zZ3N0ciAic2hpZnQgc2F5xLFzxLEiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNTQKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICJrYWJ1ayBzZcOnZW5la2xlcmkgYXluxLEgYW5kYSBoZW0gYXRhbsSxcCBoZW0gZGUgaXB0YWwgZWRpbGVtZXoiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMTkKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgc2hlbGwgb3B0aW9uIG5hbWUiCiBtc2dzdHIgIiVzOiBrYWJ1ayBzZcOnZW5layBpc21pIGdlw6dlcnNpeiIKQEAgLTgzMSw3NyArODU3LDc3IEBACiBtc2dpZCAiYCVjJzogaW52YWxpZCBzeW1ib2xpYyBtb2RlIGNoYXJhY3RlciIKIG1zZ3N0ciAiYCVjJzogc2ltZ2VzZWwga2lwIGthcmFrdGVyaSBnZcOnZXJzaXoiCiAKLSM6IGVycm9yLmM6ODkgZXJyb3IuYzozMjAgZXJyb3IuYzozMjIgZXJyb3IuYzozMjQKKyM6IGVycm9yLmM6OTAgZXJyb3IuYzozMjEgZXJyb3IuYzozMjMgZXJyb3IuYzozMjUKIG1zZ2lkICIgbGluZSAiCiBtc2dzdHIgIiIKIAotIzogZXJyb3IuYzoxNjQKKyM6IGVycm9yLmM6MTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImxhc3QgY29tbWFuZDogJXNcbiIKIG1zZ3N0ciAic29uIGtvbXV0OiAlc1xuIgogCi0jOiBlcnJvci5jOjE3MgorIzogZXJyb3IuYzoxNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcuLi4iCiBtc2dzdHIgIsOHxLFrxLFsxLF5b3IuLi4iCiAKLSM6IGVycm9yLmM6NDA1CisjOiBlcnJvci5jOjQwNgogbXNnaWQgInVua25vd24gY29tbWFuZCBlcnJvciIKIG1zZ3N0ciAiYmlsaW5tZXllbiBrb211dCBoYXRhc8SxIgogCi0jOiBlcnJvci5jOjQwNgorIzogZXJyb3IuYzo0MDcKIG1zZ2lkICJiYWQgY29tbWFuZCB0eXBlIgogbXNnc3RyICJoYXRhbMSxIGtvbXV0IHTDvHLDvCIKIAotIzogZXJyb3IuYzo0MDcKKyM6IGVycm9yLmM6NDA4CiBtc2dpZCAiYmFkIGNvbm5lY3RvciIKIG1zZ3N0ciAiaGF0YWzEsSBiYcSfbGFudMSxIgogCi0jOiBlcnJvci5jOjQwOAorIzogZXJyb3IuYzo0MDkKIG1zZ2lkICJiYWQganVtcCIKIG1zZ3N0ciAiaGF0YWzEsSBzxLHDp3JhbWEiCiAKLSM6IGVycm9yLmM6NDQ2CisjOiBlcnJvci5jOjQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5ib3VuZCB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6IGJhxJ9sYW5tYW3EscWfIGRlxJ9pxZ9rZW4iCiAKICM6IGV2YWwuYzoxODEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCi1tc2dzdHIgIlxhZ2lyZGkgYmVrbGVya2VuIHphbWFuYcWfxLFtxLE6IGF1dG8tbG9nb3V0XG4iCittc2dpZCAiB3RpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKK21zZ3N0ciAiB2dpcmRpIGJla2xlcmtlbiB6YW1hbmHFn8SxbcSxOiBhdXRvLWxvZ291dFxuIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5MQorIzogZXhlY3V0ZV9jbWQuYzo0OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlZGlyZWN0IHN0YW5kYXJkIGlucHV0IGZyb20gL2Rldi9udWxsOiAlcyIKIG1zZ3N0ciAiL2Rldi9udWxsJ2RhbiBzdGFuZGFydCBnaXJkaXllIHnDtm5sZW5kaXJtZSB5YXDEsWxhbWF6OiAlcyIKIAotIzogZXhlY3V0ZV9jbWQuYzoxMTEyCisjOiBleGVjdXRlX2NtZC5jOjExNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVElNRUZPUk1BVDogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJUSU1FRk9STUFUOiBgJWMnOiBiacOnaW0ga2FyYWt0ZXJpIGdlw6dlcnNpeiIKIAotIzogZXhlY3V0ZV9jbWQuYzoyMDExCisjOiBleGVjdXRlX2NtZC5jOjIwNzUKICMsIGZ1enp5CiBtc2dpZCAicGlwZSBlcnJvciIKIG1zZ3N0ciAieWF6bWEgaGF0YXPEsTogJXMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDM2MworIzogZXhlY3V0ZV9jbWQuYzo0NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSBgLycgaW4gY29tbWFuZCBuYW1lcyIKIG1zZ3N0ciAiJXM6IGvEsXPEsXRsxLE6IGtvbXV0IGFkxLFuZGEgYC8nIGt1bGxhbmFtYXpzxLFuxLF6IgogCi0jOiBleGVjdXRlX2NtZC5jOjQ0NTQKKyM6IGV4ZWN1dGVfY21kLmM6NDU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBrb211dCB5b2siCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDcwOAorIzogZXhlY3V0ZV9jbWQuYzo0ODI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogYmFkIGludGVycHJldGVyIgogbXNnc3RyICIlczogJXM6IGhhdGFsxLEgeW9ydW1sYXnEsWPEsSIKIAotIzogZXhlY3V0ZV9jbWQuYzo0ODU3CisjOiBleGVjdXRlX2NtZC5jOjQ5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKIG1zZ3N0ciAiZmQgJWQsIGZkICVkIG9sYXJhayB5aW5lbGVuZW1peW9yIgpAQCAtOTQ2LDI4ICs5NzIsMjggQEAKIG1zZ2lkICJtaXNzaW5nIGApJyIKIG1zZ3N0ciAiZWtzaWsgYCknIgogCi0jOiBleHByLmM6ODk3IGV4cHIuYzoxMTc1CisjOiBleHByLmM6ODk3IGV4cHIuYzoxMTc2CiBtc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogbXNnc3RyICJzw7Z6ZGl6aW1pIGhhdGFzxLE6IHRlcmltIHVtdWx1eW9yZHUiCiAKLSM6IGV4cHIuYzoxMTc3CisjOiBleHByLmM6MTE3OAogbXNnaWQgInN5bnRheCBlcnJvcjogaW52YWxpZCBhcml0aG1ldGljIG9wZXJhdG9yIgogbXNnc3RyICJzw7Z6ZGl6aW1pIGhhdGFzxLE6IGdlw6dlcnNpeiBhcml0bWV0aWsgacWfbGVjaSIKIAotIzogZXhwci5jOjEyMDEKKyM6IGV4cHIuYzoxMjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzJXMlczogJXMgKGVycm9yIHRva2VuIGlzIFwiJXNcIikiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjEyNTkKKyM6IGV4cHIuYzoxMjYwCiBtc2dpZCAiaW52YWxpZCBhcml0aG1ldGljIGJhc2UiCiBtc2dzdHIgImdlw6dlcnNpeiBzYXnEsSB0YWJhbsSxIgogCi0jOiBleHByLmM6MTI3OQorIzogZXhwci5jOjEyODAKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgImRlxJ9lciB0YWJhbiBpw6dpbiBmYXpsYSBiw7x5w7xrIgogCi0jOiBleHByLmM6MTMyOAorIzogZXhwci5jOjEzMjkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCiBtc2dzdHIgIiVzOiB0YW1zYXnEsSBpZmFkZXNpIGJla2xlbml5b3JkdSIKQEAgLTk3Niw3ICsxMDAyLDcgQEAKIG1zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgogbXNnc3RyICJnZXRjd2Q6IMO8c3QgZGl6aW5sZXJlIGVyacWfaWxlbWl5b3IiCiAKLSM6IGlucHV0LmM6OTQgc3Vic3QuYzo0NTU5CisjOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDg1NwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc2V0IG5vZGVsYXkgbW9kZSBmb3IgZmQgJWQiCiBtc2dzdHIgImZkICVkIGnDp2luIGdlY2lrdGlybWVtZSBraXBpIHPEsWbEsXJsYW5hbcSxeW9yIgpAQCAtMTAzMCw3ICsxMDU2LDcgQEAKIG1zZ2lkICJEb25lIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjIKKyM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKIG1zZ2lkICJTdG9wcGVkIgogbXNnc3RyICIiCiAKQEAgLTEwNjcsNjkgKzEwOTMsNzMgQEAKIG1zZ2lkICIgICh3ZDogJXMpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNzcxCisjOiBqb2JzLmM6MTc3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGlsZCBzZXRwZ2lkICglbGQgdG8gJWxkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjA5OSBub2pvYnMuYzo1ODUKKyM6IGpvYnMuYzoyMTA0IG5vam9icy5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0OiBwaWQgJWxkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgc2hlbGwiCiBtc2dzdHIgIndhaXQ6IHBpZCAlbGQgYnUga2FidcSfdW4gYmlyIGFsdCBzw7xyZWNpbmUgYWl0IGRlxJ9pbCIKIAotIzogam9icy5jOjIzMjYKKyM6IGpvYnMuYzoyMzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yOiBObyByZWNvcmQgb2YgcHJvY2VzcyAlbGQiCiBtc2dzdHIgIndhaXRfZm9yOiBzw7xyZcOnICVsZCBpw6dpbiBrYXnEsXQgeW9rIgogCi0jOiBqb2JzLmM6MjU5OAorIzogam9icy5jOjI2MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKIG1zZ3N0ciAid2FpdF9mb3Jfam9iOiBpxZ8gJWQgZHVyZHUiCiAKLSM6IGpvYnMuYzoyODIwCisjOiBqb2JzLmM6MjgyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogacWfIHNvbmxhbm3EscWfIgogCi0jOiBqb2JzLmM6MjgyOQorIzogam9icy5jOjI4MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiBtc2dzdHIgIiVzOiBpxZ8gJWQgemF0ZW4gYXJ0YWxhbmRhIgogCi0jOiBqb2JzLmM6MzQ5MgorIzogam9icy5jOjMwNTkKK21zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCittc2dzdHIgIiIKKworIzogam9icy5jOjM1MDgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBsaW5lICVkOiAiCiBtc2dzdHIgIiVzOiB1eWFyxLE6ICIKIAotIzogam9icy5jOjM1MDYgbm9qb2JzLmM6ODE0CisjOiBqb2JzLmM6MzUyMiBub2pvYnMuYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIChjb3JlIGR1bXBlZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM1MTggam9icy5jOjM1MzEKKyM6IGpvYnMuYzozNTM0IGpvYnMuYzozNTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIih3ZCBub3c6ICVzKVxuIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNTYzCisjOiBqb2JzLmM6MzU3OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjIzCisjOiBqb2JzLmM6MzYzOQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzYzMworIzogam9icy5jOjM2NDkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjYxCisjOiBqb2JzLmM6MzY3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzY2NgorIzogam9icy5jOjM2ODIKIG1zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgogbXNnc3RyICJidSBrYWJ1a3RhIGnFnyBkZW5ldGltaSB5b2siCiAKQEAgLTEyMjIsNiArMTI1MiwyNiBAQAogbXNnaWQgIm5ldHdvcmsgb3BlcmF0aW9ucyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICJkZXN0ZWtsZW5tZXllbiBhxJ8gacWfbGVtbGVyaSIKIAorIzogbG9jYWxlLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6ICVsdSBiYXl0IHllbmlkZW4gYXlyxLFsYW3EsXlvciIKKworIzogbG9jYWxlLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKK21zZ3N0ciAieHJlYWxsb2M6ICVzOiVkOiAlbHUgYmF5dCB5ZW5pZGVuIGF5csSxbGFtxLF5b3IiCisKICM6IG1haWxjaGVjay5jOjQzMwogbXNnaWQgIllvdSBoYXZlIG1haWwgaW4gJF8iCiBtc2dzdHIgIiRfJ2RlIHBvc3RhbsSxeiB2YXIiCkBAIC0xMjM1LDEzMSArMTI4NSwxMzEgQEAKIG1zZ2lkICJUaGUgbWFpbCBpbiAlcyBoYXMgYmVlbiByZWFkXG4iCiBtc2dzdHIgIiVzJ2Rla2kgcG9zdGEgb2t1bmR1XG4iCiAKLSM6IG1ha2VfY21kLmM6MzIyCisjOiBtYWtlX2NtZC5jOjMyMwogbXNnaWQgInN5bnRheCBlcnJvcjogYXJpdGhtZXRpYyBleHByZXNzaW9uIHJlcXVpcmVkIgogbXNnc3RyICJzw7Z6ZGl6aW1pIGhhdGFzxLE6IGFyaXRtZXRpayBpZmFkZXNpIGdlcmVrbGkiCiAKLSM6IG1ha2VfY21kLmM6MzI0CisjOiBtYWtlX2NtZC5jOjMyNQogbXNnaWQgInN5bnRheCBlcnJvcjogYDsnIHVuZXhwZWN0ZWQiCiBtc2dzdHIgInPDtnpkaXppbWkgaGF0YXPEsTogYDsnIGJla2xlbm1peW9yZHUiCiAKLSM6IG1ha2VfY21kLmM6MzI1CisjOiBtYWtlX2NtZC5jOjMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGAoKCVzKSknIgogbXNnc3RyICJzw7Z6ZGl6aW1pIGhhdGFzxLE6IGAoKCVzKSknIgogCi0jOiBtYWtlX2NtZC5jOjU2NworIzogbWFrZV9jbWQuYzo1NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9oZXJlX2RvY3VtZW50OiBiYWQgaW5zdHJ1Y3Rpb24gdHlwZSAlZCIKIG1zZ3N0ciAibWFrZV9oZXJlX2RvY3VtZW50OiBoYXRhbMSxIHnDtm5lcmdlIHTDvHLDvCAlZCIKIAotIzogbWFrZV9jbWQuYzo2NTEKKyM6IG1ha2VfY21kLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlcmUtZG9jdW1lbnQgYXQgbGluZSAlZCBkZWxpbWl0ZWQgYnkgZW5kLW9mLWZpbGUgKHdhbnRlZCBgJXMnKSIKIG1zZ3N0ciAiIgogCi0jOiBtYWtlX2NtZC5jOjc0NgorIzogbWFrZV9jbWQuYzo3NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIm1ha2VfcmVkaXJlY3Rpb246IHnDtm5sZW5kaXJtZSB5w7ZuZXJnZXNpIGAlZCcgYXJhbMSxayBkxLHFn8SxbmRhIgogCi0jOiBwYXJzZS55OjI5ODYgcGFyc2UueTozMjE4CisjOiBwYXJzZS55OjMxMzMgcGFyc2UueTozMzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGAlYyciCiBtc2dzdHIgImAlYycgacOnaW4gZcWfbGXFn21lIGFyYW7EsXJrZW4gYmVrbGVubWVkaWsgZG9zeWEgc29udSIKIAotIzogcGFyc2UueTozNzIyCisjOiBwYXJzZS55OjM5NTEKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBgXV0nIgogbXNnc3RyICJgXV0nIGFyYW7EsXJrZW4gYmVrbGVubWVkaWsgZG9zeWEgc29udSIKIAotIzogcGFyc2UueTozNzI3CisjOiBwYXJzZS55OjM5NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAia2/Fn3VsbHUgaWZhZGVkZSBzw7Z6ZGl6aW1pIGhhdGFzxLE6IGJla2xlbm1lZGlrIGRpemdlY2lrIGAlcyciCiAKLSM6IHBhcnNlLnk6MzczMQorIzogcGFyc2UueTozOTYwCiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgImtvxZ91bGx1IGlmYWRlZGUgc8O2emRpemltaSBoYXRhc8SxIgogCi0jOiBwYXJzZS55OjM4MDkKKyM6IHBhcnNlLnk6NDAzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGV4cGVjdGVkIGApJyIKIG1zZ3N0ciAiYmVrbGVubWVkaWsgZGl6Z2VjaWsgYCVzJywgYCknIHVtdWx1eW9yZHUiCiAKLSM6IHBhcnNlLnk6MzgxMworIzogcGFyc2UueTo0MDQyCiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICJgKScgdW11bHV5b3JkdSIKIAotIzogcGFyc2UueTozODQxCisjOiBwYXJzZS55OjQwNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJrb8WfdWxsdSB0ZWsgdGVyaW1saSBpxZ9sZWNlIGJla2xlbm1lZGlrIGFyZ8O8bWFuIGAlcyciCiAKLSM6IHBhcnNlLnk6Mzg0NQorIzogcGFyc2UueTo0MDc0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAia2/Fn3VsbHUgdGVrIHRlcmltbGkgacWfbGVjZSBiZWtsZW5tZWRpayBhcmfDvG1hbiIKIAotIzogcGFyc2UueTozODg1CisjOiBwYXJzZS55OjQxMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgImJla2xlbm1lZGlrIGRpemdlY2lrIGAlcycsIGtvxZ91bGx1IGlraSB0ZXJpbWxpIGnFn2xlw6cgdW11bHV5b3JkdSIKIAotIzogcGFyc2UueTozODg5CisjOiBwYXJzZS55OjQxMjQKIG1zZ2lkICJjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgImtvxZ91bGx1IGlraSB0ZXJpbWxpIGnFn2xlw6cgdW11bHV5b3JkdSIKIAotIzogcGFyc2UueTozOTA2CisjOiBwYXJzZS55OjQxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAia2/Fn3VsbHUgaWtpIHRlcmltbGkgacWfbGVjZSBiZWtsZW5tZWRpayBhcmfDvG1hbiBgJXMnIgogCi0jOiBwYXJzZS55OjM5MTAKKyM6IHBhcnNlLnk6NDE1MAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJrb8WfdWxsdSBpa2kgdGVyaW1saSBpxZ9sZWNlIGJla2xlbm1lZGlrIGFyZ8O8bWFuIgogCi0jOiBwYXJzZS55OjM5MjEKKyM6IHBhcnNlLnk6NDE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlYycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAia2/Fn3VsbHUga29tdXR0YSBiZWtsZW5tZXllbiBkaXpnZWNpayBgJWMnIgogCi0jOiBwYXJzZS55OjM5MjQKKyM6IHBhcnNlLnk6NDE2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAia2/Fn3VsbHUga29tdXR0YSBiZWtsZW5tZXllbiBkaXpnZWNpayBgJXMnIgogCi0jOiBwYXJzZS55OjM5MjgKKyM6IHBhcnNlLnk6NDE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuICVkIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgImtvxZ91bGx1IGtvbXV0dGEgYmVrbGVubWV5ZW4gZGl6Z2VjaWsgJWQiCiAKLSM6IHBhcnNlLnk6NTE5NQorIzogcGFyc2UueTo1NDU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiYmVrbGVubWV5ZW4gZGl6Z2VjaWsgYCVzJyB5YWvEsW7EsW5kYSBzw7Z6ZGl6aW1pIGhhdGFzxLEiCiAKLSM6IHBhcnNlLnk6NTIxMworIzogcGFyc2UueTo1NDc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCiBtc2dzdHIgImAlcycgeWFrxLFuxLFuZGEgc8O2emRpemltaSBoYXRhc8SxIgogCi0jOiBwYXJzZS55OjUyMjMKKyM6IHBhcnNlLnk6NTQ4NwogbXNnaWQgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAic8O2emRpemltaSBoYXRhc8SxOiBiZWtsZW5tZXllbiBkb3N5YSBzb251IgogCi0jOiBwYXJzZS55OjUyMjMKKyM6IHBhcnNlLnk6NTQ4NwogbXNnaWQgInN5bnRheCBlcnJvciIKIG1zZ3N0ciAic8O2emRpemltaSBoYXRhc8SxIgogCi0jOiBwYXJzZS55OjUyODUKKyM6IHBhcnNlLnk6NTU0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgXCIlc1wiIHRvIGxlYXZlIHRoZSBzaGVsbC5cbiIKIG1zZ3N0ciAiS2FidcSfdSBixLFyYWttYWsgacOnaW4gXCIlc1wiIGt1bGxhbsSxbi5cbiIKIAotIzogcGFyc2UueTo1NDQ3CisjOiBwYXJzZS55OjU3MTEKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgKSciCiBtc2dzdHIgImApJyBpw6dpbiBlxZ9sZcWfbWUgYXJhbsSxcmtlbiBiZWtsZW5tZWRpayBkb3N5YSBzb251IgogCi0jOiBwY29tcGxldGUuYzoxMDE4CisjOiBwY29tcGxldGUuYzoxMDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRpb246IGZ1bmN0aW9uIGAlcycgbm90IGZvdW5kIgogbXNnc3RyICJjb21wbGV0aW9uOiBgJXMnIGnFn2xldmkgeW9rIgpAQCAtMTM2OSw3MSArMTQxOSw5MCBAQAogbXNnaWQgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiBtc2dzdHIgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiAKLSM6IHByaW50X2NtZC5jOjI4NQorIzogcHJpbnRfY21kLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAicHJpbnRfY29tbWFuZDogaGF0YWzEsSBiYcSfbGF5xLFjxLEgYCVkJyIKIAotIzogcHJpbnRfY21kLmM6MTM0OAorIzogcHJpbnRfY21kLmM6MzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiVkOiBkb3N5YSB0YW7EsXTEsWPEsSBnZcOnZXJzaXo6ICVzIgorCisjOiBwcmludF9jbWQuYzozNjgKK21zZ2lkICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgorbXNnc3RyICIiCisKKyM6IHByaW50X2NtZC5jOjE0NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3ByaW50ZjogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJjcHJpbnRmOiBgJWMnOiBnZcOnZXJzaXogYmnDp2ltIGthcmFrdGVyaSIKIAotIzogcmVkaXIuYzoxMDUKKyM6IHJlZGlyLmM6MTEwCiBtc2dpZCAiZmlsZSBkZXNjcmlwdG9yIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAiZG9zeWEgdGFuxLF0xLFjxLEgYXJhbMSxayBkxLHFn8SxbmRhIgogCi0jOiByZWRpci5jOjE0OAorIzogcmVkaXIuYzoxNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIG1zZ3N0ciAiJXM6IGJlbGlyc2l6IHnDtm5sZW5kaXJtZSIKIAotIzogcmVkaXIuYzoxNTIKKyM6IHJlZGlyLmM6MTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCiBtc2dzdHIgIiVzOiBtZXZjdXQgZG9zeWFuxLFuIMO8emVyaW5lIHlhesSxbGFtxLF5b3IiCiAKLSM6IHJlZGlyLmM6MTU3CisjOiByZWRpci5jOjE3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHJlZGlyZWN0IG91dHB1dCIKIG1zZ3N0ciAiJXM6IGvEsXPEsXRsxLE6IMOnxLFrdMSxIHnDtm5sZW5kaXJpbGVtaXlvciIKIAotIzogcmVkaXIuYzoxNjIKKyM6IHJlZGlyLmM6MTgwCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIHRlbXAgZmlsZSBmb3IgaGVyZS1kb2N1bWVudDogJXMiCiBtc2dzdHIgImJlbGdlIGnDp2luIGdlw6dpY2kgZG9zeWEgb2x1xZ90dXJ1bGFtxLF5b3I6ICVzIgogCi0jOiByZWRpci5jOjUxNworIzogcmVkaXIuYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgorbXNnc3RyICIlczogZGl6aSDDvHllc2luZSBsaXN0ZSBhdGFuYW1heiIKKworIzogcmVkaXIuYzo1NDQKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiBtc2dzdHIgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBhxJ8gb2xtYWtzxLF6xLFuIGRlc3Rla2xlbm1peW9yIgogCi0jOiByZWRpci5jOjEwMjMKKyM6IHJlZGlyLmM6MTEwMQogbXNnaWQgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgogbXNnc3RyICJ5w7ZubGVuZGlybWUgaGF0YXPEsTogZmQgeWluZWxlbmVtaXlvciIKIAotIzogc2hlbGwuYzozMjgKKyM6IHNoZWxsLmM6MzMyCiBtc2dpZCAiY291bGQgbm90IGZpbmQgL3RtcCwgcGxlYXNlIGNyZWF0ZSEiCiBtc2dzdHIgIi90bXAgYnVsdW5hbWFkxLEsIGzDvHRmZW4gb2x1xZ90dXJ1biEiCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzNgogbXNnaWQgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICIvdG1wIGdlw6dlcmxpIGJpciBkaXppbmluIGFkxLEgb2xtYWzEsWTEsXIiCiAKLSM6IHNoZWxsLmM6ODc2CisjOiBzaGVsbC5jOjg4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJWMlYzogZ2XDp2Vyc2l6IHNlw6dlbmVrIgogCi0jOiBzaGVsbC5jOjE2MzgKKyM6IHNoZWxsLmM6MTY1MQogbXNnaWQgIkkgaGF2ZSBubyBuYW1lISIKIG1zZ3N0ciAiSGnDpyBpc21pbSB5b2shIgogCi0jOiBzaGVsbC5jOjE3NzgKKyM6IHNoZWxsLmM6MTc5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzoxNzc5CisjOiBzaGVsbC5jOjE3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCkBAIC0xNDQyLDM4OCArMTUxMSw0MDkgQEAKICJLdWxsYW7EsW06XHQlcyBbR05VIHV6dW4gc2XDp2VuZcSfaV0gW3Nlw6dlbmVrXSAuLi5cbiIKICJcdCVzIFtHTlUgdXp1biBzZcOnZW5lxJ9pXSBbc2XDp2VuZWtdIGJldGlrLWRvc3lhc8SxIC4uLlxuIgogCi0jOiBzaGVsbC5jOjE3ODEKKyM6IHNoZWxsLmM6MTc5NgogbXNnaWQgIkdOVSBsb25nIG9wdGlvbnM6XG4iCiBtc2dzdHIgIkdOVSB1enVuIHNlw6dlbmVrbGVyaTpcbiIKIAotIzogc2hlbGwuYzoxNzg1CisjOiBzaGVsbC5jOjE4MDAKIG1zZ2lkICJTaGVsbCBvcHRpb25zOlxuIgogbXNnc3RyICJLYWJ1ayBzZcOnZW5la2xlcmk6XG4iCiAKLSM6IHNoZWxsLmM6MTc4NgorIzogc2hlbGwuYzoxODAxCiBtc2dpZCAiXHQtaXJzRCBvciAtYyBjb21tYW5kIG9yIC1PIHNob3B0X29wdGlvblx0XHQoaW52b2NhdGlvbiBvbmx5KVxuIgogbXNnc3RyICJcdC1pcnNEIHZleWEgLWMgS09NVVQgdmV5YSAtTyBzaG9wdF9zZcOnZW5lxJ9pXHQoc2FkZWNlIMOnYcSfcsSxIGnDp2luKVxuIgogCi0jOiBzaGVsbC5jOjE4MDEKKyM6IHNoZWxsLmM6MTgxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJcdC0lcyBvciAtbyBvcHRpb25cbiIKIG1zZ3N0ciAiXHQtJXMgeWEgZGEgLW8gc2XDp2VuZcSfaVxuIgogCi0jOiBzaGVsbC5jOjE4MDcKKyM6IHNoZWxsLmM6MTgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIiIKICJLYWJ1ayBzZcOnZW5la2xlcml5bGUgaWxnaWxpIGRhaGEgZmF6bGEgYmlsZ2kgacOnaW4gYCVzIC1jIFwiaGVscCBzZXRcIicgIgogInlhesSxbi5cbiIKIAotIzogc2hlbGwuYzoxODA4CisjOiBzaGVsbC5jOjE4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKIG1zZ3N0ciAiIgogIkthYnVrIHllcmxlxZ9payBrb211dGxhcsSxeWxhIGlsZ2lsaSBiaWxnaSBhbG1hayBpw6dpbiBgJXMgLWMgaGVscCcgeWF6xLFuLlxuIgogCi0jOiBzaGVsbC5jOjE4MDkKKyM6IHNoZWxsLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgdGhlIGBiYXNoYnVnJyBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgogbXNnc3RyICIiCiAiWWF6xLFsxLFtIGhhdGFsYXLEsW7EsSByYXBvcmxhbWFrIGnDp2luIGBiYXNoYnVnJyBrb211dHVudSBrdWxsYW7EsW7EsXouXG4iCiAiw4dldmlyaSBoYXRhbGFyxLFuxLEgaXNlIDxnbnUtdHJAYmVsZ2VsZXIub3JnPiBhZHJlc2luZSBiaWxkaXJpbml6LlxuIgogCi0jOiBzaWcuYzo1ODMKKyM6IHNpZy5jOjYyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzaWdwcm9jbWFzazogJWQ6IGludmFsaWQgb3BlcmF0aW9uIgogbXNnc3RyICJzaWdwcm9jbWFzazogJWQ6IGdlw6dlcnNpeiBpxZ9sZW0iCiAKLSM6IHNpZ2xpc3QuYzo0NworIzogc2lnbGlzdC5jOjQ4CiBtc2dpZCAiQm9ndXMgc2lnbmFsIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo1MAorIzogc2lnbGlzdC5jOjUxCiBtc2dpZCAiSGFuZ3VwIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo1NAorIzogc2lnbGlzdC5jOjU1CiBtc2dpZCAiSW50ZXJydXB0IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo1OAorIzogc2lnbGlzdC5jOjU5CiBtc2dpZCAiUXVpdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NjIKKyM6IHNpZ2xpc3QuYzo2MwogbXNnaWQgIklsbGVnYWwgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjY2CisjOiBzaWdsaXN0LmM6NjcKIG1zZ2lkICJCUFQgdHJhY2UvdHJhcCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NzQKKyM6IHNpZ2xpc3QuYzo3NQogbXNnaWQgIkFCT1JUIGluc3RydWN0aW9uIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo3OAorIzogc2lnbGlzdC5jOjc5CiBtc2dpZCAiRU1UIGluc3RydWN0aW9uIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo4MgorIzogc2lnbGlzdC5jOjgzCiBtc2dpZCAiRmxvYXRpbmcgcG9pbnQgZXhjZXB0aW9uIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo4NgorIzogc2lnbGlzdC5jOjg3CiBtc2dpZCAiS2lsbGVkIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo5MAorIzogc2lnbGlzdC5jOjkxCiAjLCBmdXp6eQogbXNnaWQgIkJ1cyBlcnJvciIKIG1zZ3N0ciAic8O2emRpemltaSBoYXRhc8SxIgogCi0jOiBzaWdsaXN0LmM6OTQKKyM6IHNpZ2xpc3QuYzo5NQogbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6OTgKKyM6IHNpZ2xpc3QuYzo5OQogbXNnaWQgIkJhZCBzeXN0ZW0gY2FsbCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTAyCisjOiBzaWdsaXN0LmM6MTAzCiBtc2dpZCAiQnJva2VuIHBpcGUiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjEwNgorIzogc2lnbGlzdC5jOjEwNwogbXNnaWQgIkFsYXJtIGNsb2NrIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxMTAKKyM6IHNpZ2xpc3QuYzoxMTEKICMsIGZ1enp5CiBtc2dpZCAiVGVybWluYXRlZCIKIG1zZ3N0ciAia8Sxc8SxdGzEsSIKIAotIzogc2lnbGlzdC5jOjExNAorIzogc2lnbGlzdC5jOjExNQogbXNnaWQgIlVyZ2VudCBJTyBjb25kaXRpb24iCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjExOAorIzogc2lnbGlzdC5jOjExOQogbXNnaWQgIlN0b3BwZWQgKHNpZ25hbCkiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjEyNgorIzogc2lnbGlzdC5jOjEyNwogbXNnaWQgIkNvbnRpbnVlIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxMzQKKyM6IHNpZ2xpc3QuYzoxMzUKIG1zZ2lkICJDaGlsZCBkZWF0aCBvciBzdG9wIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxMzgKKyM6IHNpZ2xpc3QuYzoxMzkKIG1zZ2lkICJTdG9wcGVkICh0dHkgaW5wdXQpIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNDIKKyM6IHNpZ2xpc3QuYzoxNDMKIG1zZ2lkICJTdG9wcGVkICh0dHkgb3V0cHV0KSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTQ2CisjOiBzaWdsaXN0LmM6MTQ3CiBtc2dpZCAiSS9PIHJlYWR5IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNTAKKyM6IHNpZ2xpc3QuYzoxNTEKIG1zZ2lkICJDUFUgbGltaXQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE1NAorIzogc2lnbGlzdC5jOjE1NQogbXNnaWQgIkZpbGUgbGltaXQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE1OAorIzogc2lnbGlzdC5jOjE1OQogbXNnaWQgIkFsYXJtICh2aXJ0dWFsKSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTYyCisjOiBzaWdsaXN0LmM6MTYzCiBtc2dpZCAiQWxhcm0gKHByb2ZpbGUpIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNjYKKyM6IHNpZ2xpc3QuYzoxNjcKIG1zZ2lkICJXaW5kb3cgY2hhbmdlZCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTcwCisjOiBzaWdsaXN0LmM6MTcxCiBtc2dpZCAiUmVjb3JkIGxvY2siCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE3NAorIzogc2lnbGlzdC5jOjE3NQogbXNnaWQgIlVzZXIgc2lnbmFsIDEiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE3OAorIzogc2lnbGlzdC5jOjE3OQogbXNnaWQgIlVzZXIgc2lnbmFsIDIiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE4MgorIzogc2lnbGlzdC5jOjE4MwogbXNnaWQgIkhGVCBpbnB1dCBkYXRhIHBlbmRpbmciCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE4NgorIzogc2lnbGlzdC5jOjE4NwogbXNnaWQgInBvd2VyIGZhaWx1cmUgaW1taW5lbnQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE5MAorIzogc2lnbGlzdC5jOjE5MQogbXNnaWQgInN5c3RlbSBjcmFzaCBpbW1pbmVudCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTk0CisjOiBzaWdsaXN0LmM6MTk1CiBtc2dpZCAibWlncmF0ZSBwcm9jZXNzIHRvIGFub3RoZXIgQ1BVIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxOTgKKyM6IHNpZ2xpc3QuYzoxOTkKIG1zZ2lkICJwcm9ncmFtbWluZyBlcnJvciIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjAyCisjOiBzaWdsaXN0LmM6MjAzCiBtc2dpZCAiSEZUIG1vbml0b3IgbW9kZSBncmFudGVkIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMDYKKyM6IHNpZ2xpc3QuYzoyMDcKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIHJldHJhY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjEwCisjOiBzaWdsaXN0LmM6MjExCiBtc2dpZCAiSEZUIHNvdW5kIHNlcXVlbmNlIGhhcyBjb21wbGV0ZWQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjIxNAorIzogc2lnbGlzdC5jOjIxNQogbXNnaWQgIkluZm9ybWF0aW9uIHJlcXVlc3QiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjIyMgorIzogc2lnbGlzdC5jOjIyMwogbXNnaWQgIlVua25vd24gU2lnbmFsICMiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjIyNAorIzogc2lnbGlzdC5jOjIyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjJWQiCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzoxMTgxIHN1YnN0LmM6MTMwMgorIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTQ1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIGAlcycgaW4gJXMiCiBtc2dzdHIgImhhdGFsxLEgaWthbWU6ICUyJHMgacOnaW5kZSBrYXBhdGFuIGAlMSRzJyB5b2siCiAKLSM6IHN1YnN0LmM6MjQ1OAorIzogc3Vic3QuYzoyNzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogbXNnc3RyICIlczogZGl6aSDDvHllc2luZSBsaXN0ZSBhdGFuYW1heiIKIAotIzogc3Vic3QuYzo0NDU2IHN1YnN0LmM6NDQ3MgorIzogc3Vic3QuYzo0NzU0IHN1YnN0LmM6NDc3MAogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJzw7xyZcOnIGlrYW1lc2kgacOnaW4gYm9ydWxhbWEgeWFwxLFsYW3EsXlvciIKIAotIzogc3Vic3QuYzo0NTA0CisjOiBzdWJzdC5jOjQ4MDIKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgInPDvHJlw6cgaWthbWVzaSBpw6dpbiBhbHQgc8O8cmXDpyB5YXDEsWxhbcSxeW9yIgogCi0jOiBzdWJzdC5jOjQ1NDkKKyM6IHN1YnN0LmM6NDg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogbXNnc3RyICJpc2ltbGkgYm9ydSAlcyBva3VtYWsgacOnaW4gYcOnxLFsYW3EsXlvciIKIAotIzogc3Vic3QuYzo0NTUxCisjOiBzdWJzdC5jOjQ4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAiaXNpbWxpIGJvcnUgJXMgeWF6bWFrIGnDp2luIGHDp8SxbGFtxLF5b3IiCiAKLSM6IHN1YnN0LmM6NDU2OQorIzogc3Vic3QuYzo0ODY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgbmFtZWQgcGlwZSAlcyBhcyBmZCAlZCIKIG1zZ3N0ciAiaXNpbWxpIGJvcnUgJXMgZmQgJWQgb2xhcmFrIHlpbmVsZW5lbWl5b3IiCiAKLSM6IHN1YnN0LmM6NDc2NQorIzogc3Vic3QuYzo1MDYzCiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImtvbXV0IGlrYW1lc2kgacOnaW4gYm9ydSB5YXDEsWxhbcSxeW9yIgogCi0jOiBzdWJzdC5jOjQ3OTkKKyM6IHN1YnN0LmM6NTA5NwogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAia29tdXQgaWthbWVzaSBpw6dpbiBhbHQgc8O8cmXDpyB5YXDEsWxhbcSxeW9yIgogCi0jOiBzdWJzdC5jOjQ4MTYKKyM6IHN1YnN0LmM6NTExNAogbXNnaWQgImNvbW1hbmRfc3Vic3RpdHV0ZTogY2Fubm90IGR1cGxpY2F0ZSBwaXBlIGFzIGZkIDEiCiBtc2dzdHIgImNvbW1hbmRfc3Vic3RpdHV0ZTogYm9ydSBmZCAxIG9sYXJhayB5aW5lbGVuZW1peW9yIgogCi0jOiBzdWJzdC5jOjUzMTgKKyM6IHN1YnN0LmM6NTYxNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGFyYW1ldGVyIG51bGwgb3Igbm90IHNldCIKIG1zZ3N0ciAiJXM6IHBhcmFtZXRyZSBib8WfIHlhIGRhIGRlxJ9lciBhdGFubWFtxLHFnyIKIAotIzogc3Vic3QuYzo1NjA4CisjOiBzdWJzdC5jOjU5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKIG1zZ3N0ciAiJXM6IGFsdGRpemdlIGlmYWRlc2kgPCAwIgogCi0jOiBzdWJzdC5jOjY2NjAKKyM6IHN1YnN0LmM6Njk2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiJXM6IGhhdGFsxLEgaWthbWUiCiAKLSM6IHN1YnN0LmM6Njc0MAorIzogc3Vic3QuYzo3MDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJCVzOiBidSB5b2xsYSBhdGFtYSB5YXDEsWxtYXoiCiAKLSM6IHN1YnN0LmM6NzQ5OQorIzogc3Vic3QuYzo3Mzc0Cittc2dpZCAiIgorImZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGUgc2hlbGwgd2lsbCBmb3JjZSBldmFsdWF0aW9uIGFzIGFuIGFyaXRobWV0aWMgIgorInN1YnN0aXR1dGlvbiIKK21zZ3N0ciAiIgorCisjOiBzdWJzdC5jOjc4MzkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCiBtc2dzdHIgImhhdGFsxLEgaWthbWU6ICUyJHMgacOnaW5kZSBrYXBhdGFuIGAlMSRzJyB5b2siCiAKLSM6IHN1YnN0LmM6ODM3NQorIzogc3Vic3QuYzo4NzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoOiAlcyIKIG1zZ3N0ciAiZcWfbGXFn21lIHlvazogJXMiCiAKLSM6IHRlc3QuYzoxNDUKKyM6IHRlc3QuYzoxNDYKIG1zZ2lkICJhcmd1bWVudCBleHBlY3RlZCIKIG1zZ3N0ciAiYXJnw7xtYW4gYmVrbGVuaXlvcmR1IgogCi0jOiB0ZXN0LmM6MTU0CisjOiB0ZXN0LmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnRlZ2VyIGV4cHJlc3Npb24gZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiB0YW1zYXnEsSBpZmFkZXNpIGJla2xlbml5b3JkdSIKIAotIzogdGVzdC5jOjI2MgorIzogdGVzdC5jOjI2MwogbXNnaWQgImApJyBleHBlY3RlZCIKIG1zZ3N0ciAiYCknIGJla2xlbml5b3JkdSIKIAotIzogdGVzdC5jOjI2NAorIzogdGVzdC5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICJgKScgYmVrbGVuaXlvcmR1LCAlcyBidWx1bmR1IgogCi0jOiB0ZXN0LmM6Mjc5IHRlc3QuYzo2ODggdGVzdC5jOjY5MQorIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogdGVrIHRlcmltbGkgacWfbGVjaSBiZWtsZW5peW9yZHUiCiAKLSM6IHRlc3QuYzo0NDQgdGVzdC5jOjczMQorIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBpa2kgdGVyaW1saSBpxZ9sZWNpIGJla2xlbml5b3JkdSIKIAotIzogdGVzdC5jOjgwNgorIzogdGVzdC5jOjgxMQogbXNnaWQgIm1pc3NpbmcgYF0nIgogbXNnc3RyICJla3NpayBgXSciCiAKLSM6IHRyYXAuYzoyMDEKKyM6IHRyYXAuYzoyMDMKIG1zZ2lkICJpbnZhbGlkIHNpZ25hbCBudW1iZXIiCiBtc2dzdHIgImdlw6dlcnNpeiBzaW55YWwgbnVtYXJhc8SxIgogCi0jOiB0cmFwLmM6MzI0CisjOiB0cmFwLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bl9wZW5kaW5nX3RyYXBzOiBiYWQgdmFsdWUgaW4gdHJhcF9saXN0WyVkXTogJXAiCiBtc2dzdHIgInJ1bl9wZW5kaW5nX3RyYXBzOnRyYXBfbGlzdFslZF0gacOnaW5kZSBoYXRhbMSxIGRlxJ9lcjogJXAiCiAKLSM6IHRyYXAuYzozMjgKKyM6IHRyYXAuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCiBtc2dzdHIgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lueWFsIHlha2FsYXnEsWPEsSBTSUdfREZMJ2Rpciwga2VuZGltZSAlZCAoJXMpIGfDtm5kZXJlcmVrIgogCi0jOiB0cmFwLmM6MzcyCisjOiB0cmFwLmM6MzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKIG1zZ3N0ciAidHJhcF9oYW5kbGVyOmhhdGFsxLEgc2lueWFsICVkIgogCi0jOiB2YXJpYWJsZXMuYzozNTgKKyM6IHZhcmlhYmxlcy5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBpbXBvcnRpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbiBmb3IgYCVzJyIKIG1zZ3N0ciAiYCVzJ25pbiBpxZ9sZXYgdGFuxLFtxLFuxLFuIGnDp2VyaSBha3RhcsSxbG1hc8SxbmRhIGhhdGEiCiAKLSM6IHZhcmlhYmxlcy5jOjczNgorIzogdmFyaWFibGVzLmM6NzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICJrYWJ1ayBkw7x6ZXlpICglZCkgw6dvayB5w7xrc2VrLCAxIHlhcMSxbMSxeW9yIgogCi0jOiB2YXJpYWJsZXMuYzoxODk4CisjOiB2YXJpYWJsZXMuYzoxOTE1CiBtc2dpZCAibWFrZV9sb2NhbF92YXJpYWJsZTogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBnZcOnZXJsaSBldGtpIGFsYW7EsW5kYSBoacOnIGnFn2xldiBiYcSfbGFtxLEgeW9rIgogCi0jOiB2YXJpYWJsZXMuYzozMTI3CisjOiB2YXJpYWJsZXMuYzozMTU5CiBtc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICJhbGxfbG9jYWxfdmFyaWFibGVzOiBnZcOnZXJsaSBldGtpIGFsYW7EsW5kYSBoacOnIGnFn2xldiBiYcSfbGFtxLEgeW9rIgogCi0jOiB2YXJpYWJsZXMuYzozMzQ0IHZhcmlhYmxlcy5jOjMzNTMKKyM6IHZhcmlhYmxlcy5jOjMzNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKK21zZ3N0ciAiJXM6IHBhcmFtZXRyZSBib8WfIHlhIGRhIGRlxJ9lciBhdGFubWFtxLHFnyIKKworIzogdmFyaWFibGVzLmM6MzM4MSB2YXJpYWJsZXMuYzozMzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY2hhcmFjdGVyICVkIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIiUyJHMgacOnaW4gZXhwb3J0c3RyIGnDp2luZGUgZ2XDp2Vyc2l6IGthcmFrdGVyICUxJGQiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNTkKKyM6IHZhcmlhYmxlcy5jOjMzOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIiVzIGnDp2luIGV4cG9ydHN0ciBpw6dpbmRlIGA9JyB5b2siCiAKLSM6IHZhcmlhYmxlcy5jOjM3OTQKKyM6IHZhcmlhYmxlcy5jOjM4MzUKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiBtc2dzdHIgInBvcF92YXJfY29udGV4dDoga2FidWsgZGXEn2nFn2tlbmxlcmluaW4gYmHFn8SxIGJpciBpxZ9sZXYgYmHEn2xhbcSxIGRlxJ9pbCIKIAotIzogdmFyaWFibGVzLmM6MzgwNworIzogdmFyaWFibGVzLmM6Mzg0OAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogbXNnc3RyICJwb3BfdmFyX2NvbnRleHQ6IGdlbmVsIGRlxJ9pxZ9rZW5sZXIgYmHEn2xhbcSxIHlvayIKIAotIzogdmFyaWFibGVzLmM6Mzg4MQorIzogdmFyaWFibGVzLmM6MzkyMgogbXNnaWQgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgogbXNnc3RyICIiCiAicG9wX3Njb3BlOiBrYWJ1ayBkZcSfacWfa2VubGVyaW5pbiBiYcWfxLEgYmlyIGdlw6dpY2kgb3J0YW0gZXRraSBhbGFuxLEgZGXEn2lsIgogCisjOiB2YXJpYWJsZXMuYzo0Njc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlcyIKKworIzogdmFyaWFibGVzLmM6NDY4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiVkOiBkb3N5YSB0YW7EsXTEsWPEsSBnZcOnZXJzaXo6ICVzIgorCiAjOiB2ZXJzaW9uLmM6NDYKICMsIGZ1enp5CiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKQEAgLTE4MzUsNjEgKzE5MjUsNTMgQEAKICJodG1sPlxuIgogbXNnc3RyICIiCiAKLSM6IHZlcnNpb24uYzo4NgorIzogdmVyc2lvbi5jOjg2IHZlcnNpb24yLmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMgKCVzKVxuIgogbXNnc3RyICIiCiAKLSM6IHZlcnNpb24uYzo5MQorIzogdmVyc2lvbi5jOjkxIHZlcnNpb24yLmM6ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgYXJlIGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuXG4iCiBtc2dzdHIgIiIKIAotIzogdmVyc2lvbi5jOjkyCisjOiB2ZXJzaW9uLmM6OTIgdmVyc2lvbjIuYzo4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGVyZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3LlxuIgogbXNnc3RyICIiCiAKLSM6IHhtYWxsb2MuYzo5MgorIzogdmVyc2lvbjIuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgorbXNnc3RyICJDb3B5cmlnaHQgwqkgMjAwNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKKworIzogdmVyc2lvbjIuYzo4NwogIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKK21zZ2lkICIiCisiTGljZW5zZSBHUEx2Mis6IEdOVSBHUEwgdmVyc2lvbiAyIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgorImh0bWw+XG4iCittc2dzdHIgIiIKKworIzogeG1hbGxvYy5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiBtc2dzdHIgInhtYWxsb2M6ICVsdSBiYXl0IGF5csSxbGFtxLF5b3IgKCVsdSBiYXl0IGF5csSxbGTEsSkiCiAKLSM6IHhtYWxsb2MuYzo5NAotIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorIzogeG1hbGxvYy5jOjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKIG1zZ3N0ciAieG1hbGxvYzogJWx1IGJheXQgYXlyxLFsYW3EsXlvciIKIAotIzogeG1hbGxvYy5jOjExNAotIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAieHJlYWxsb2M6ICVsdSBiYXl0IHllbmlkZW4gYXlyxLFsYW3EsXlvciAoJWx1IGJheXQgYXlyxLFsZMSxKSIKLQotIzogeG1hbGxvYy5jOjExNgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKLW1zZ3N0ciAieHJlYWxsb2M6ICVsdSBiYXl0IHllbmlkZW4gYXlyxLFsYW3EsXlvciIKLQotIzogeG1hbGxvYy5jOjE1MAotIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjOiB4bWFsbG9jLmM6MTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgogbXNnc3RyICJ4bWFsbG9jOiAlczolZDogJWx1IGJheXQgYXlyxLFsYW3EsXlvciAoJWx1IGJheXQgYXlyxLFsZMSxKSIKIAotIzogeG1hbGxvYy5jOjE1MgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKKyM6IHhtYWxsb2MuYzoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKIG1zZ3N0ciAieG1hbGxvYzogJXM6JWQ6ICVsdSBiYXl0IGF5csSxbGFtxLF5b3IiCiAKLSM6IHhtYWxsb2MuYzoxNzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6ICVsdSBiYXl0IHllbmlkZW4gYXlyxLFsYW3EsXlvciAoJWx1IGJheXQgYXlyxLFsZMSxKSIKLQotIzogeG1hbGxvYy5jOjE3NgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhyZWFsbG9jOiAlczolZDogJWx1IGJheXQgeWVuaWRlbiBheXLEsWxhbcSxeW9yIgotCiAjOiBidWlsdGlucy5jOjQzCiBtc2dpZCAiYWxpYXMgWy1wXSBbbmFtZVs9dmFsdWVdIC4uLiBdIgogbXNnc3RyICIiCkBAIC0yMDA1LDcgKzIwODcsNyBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MTE3Ci1tc2dpZCAiaGVscCBbLWRzXSBbcGF0dGVybiAuLi5dIgorbXNnaWQgImhlbHAgWy1kbXNdIFtwYXR0ZXJuIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxMjEKQEAgLTIwMzQsOCArMjExNiw4IEBACiAKICM6IGJ1aWx0aW5zLmM6MTM2CiBtc2dpZCAiIgotInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1wIHByb21wdF0gWy10ICIKLSJ0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCisicmVhZCBbLWVyc10gWy1hIGFycmF5XSBbLWQgZGVsaW1dIFstaSB0ZXh0XSBbLW4gbmNoYXJzXSBbLU4gbmNoYXJzXSBbLXAgIgorInByb21wdF0gWy10IHRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjEzOApAQCAtMjE5OSw5ICsyMjgxLDkgQEAKIAogIzogYnVpbHRpbnMuYzoyMjkKIG1zZ2lkICIiCi0iY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLVcgIgotIndvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TIHN1ZmZpeF0gIgotIltuYW1lIC4uLl0iCisiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstREVdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLSIKKyJXIHdvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TICIKKyJzdWZmaXhdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoyMzMKQEAgLTIyMTEsNyArMjI5Myw3IEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoyMzcKLW1zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFtuYW1lIC4uLl0iCittc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbLURFXSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MjQwCkBAIC0zMjY0LDcgKzMzNDYsMTEgQEAKICIgICAgICAtZVx0XHR1c2UgUmVhZGxpbmUgdG8gb2J0YWluIHRoZSBsaW5lIGluIGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCiAiICAgICAgLWkgdGV4dFx0VXNlIFRFWFQgYXMgdGhlIGluaXRpYWwgdGV4dCBmb3IgUmVhZGxpbmVcbiIKICIgICAgICAtbiBuY2hhcnNcdHJldHVybiBhZnRlciByZWFkaW5nIE5DSEFSUyBjaGFyYWN0ZXJzIHJhdGhlciB0aGFuIHdhaXRpbmdcbiIKLSIgICAgXHRcdGZvciBhIG5ld2xpbmVcbiIKKyIgICAgXHRcdGZvciBhIG5ld2xpbmUsIGJ1dCBob25vciBhIGRlbGltaXRlciBpZiBmZXdlciB0aGFuIE5DSEFSU1xuIgorIiAgICBcdFx0Y2hhcmFjdGVycyBhcmUgcmVhZCBiZWZvcmUgdGhlIGRlbGltaXRlclxuIgorIiAgICAgIC1OIG5jaGFyc1x0cmV0dXJuIG9ubHkgYWZ0ZXIgcmVhZGluZyBleGFjdGx5IE5DSEFSUyBjaGFyYWN0ZXJzLCAiCisidW5sZXNzXG4iCisiICAgIFx0XHRFT0YgaXMgZW5jb3VudGVyZWQgb3IgcmVhZCB0aW1lcyBvdXQsIGlnbm9yaW5nIGFueSBkZWxpbWl0ZXJcbiIKICIgICAgICAtcCBwcm9tcHRcdG91dHB1dCB0aGUgc3RyaW5nIFBST01QVCB3aXRob3V0IGEgdHJhaWxpbmcgbmV3bGluZSBiZWZvcmVcbiIKICIgICAgXHRcdGF0dGVtcHRpbmcgdG8gcmVhZFxuIgogIiAgICAgIC1yXHRcdGRvIG5vdCBhbGxvdyBiYWNrc2xhc2hlcyB0byBlc2NhcGUgYW55IGNoYXJhY3RlcnNcbiIKQEAgLTMzMjgsNyArMzQxNCw3IEBACiAiICAgIG9rdW1hIHphbWFuYcWfxLFtxLFuYSBkw7zFn21lZGlrw6dlIHlhIGRhIC11IHNlw6dlbmXEn2kgaWxlIHNhxJ9sYW5hblxuIgogIiAgICBEb1NZYVRhTsSxVMSxY8SxIGdlw6dlcnNpeiBvbG1hZMSxa8OnYSBkw7Zuw7zFnyBkdXJ1bXUgc8SxZsSxcmTEsXIuIgogCi0jOiBidWlsdGlucy5jOjEwMDYKKyM6IGJ1aWx0aW5zLmM6MTAwOQogbXNnaWQgIiIKICJSZXR1cm4gZnJvbSBhIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTMzNDAsNyArMzQyNiw3IEBACiAiICAgIFJldHVybnMgTiwgb3IgZmFpbHVyZSBpZiB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uIG9yIHNjcmlwdC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMDE5CisjOiBidWlsdGlucy5jOjEwMjIKICMsIGZ1enp5CiBtc2dpZCAiIgogIlNldCBvciB1bnNldCB2YWx1ZXMgb2Ygc2hlbGwgb3B0aW9ucyBhbmQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgpAQCAtMzUxMyw3ICszNTk5LDcgQEAKICIgICAgYXRhbsSxci4gw5Z6ZWwgcGFyYW1ldHJlICMgaXNlIE4nZSBheWFybGFuxLFyLiBIacOnIGFyZ8O8bWFuIHZlcmlsbWV6c2UsXG4iCiAiICAgIHTDvG0ga2FidWsgZGXEn2nFn2tlbmxlcmkgYmFzxLFsxLFyLiIKIAotIzogYnVpbHRpbnMuYzoxMTAxCisjOiBidWlsdGlucy5jOjExMDQKIG1zZ2lkICIiCiAiVW5zZXQgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzIG9mIHNoZWxsIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuIgogIiAgICBcbiIKQEAgLTM1MzMsNyArMzYxOSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSBOQU1FIGlzIHJlYWQtb25seS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTIxCisjOiBidWlsdGlucy5jOjExMjQKIG1zZ2lkICIiCiAiU2V0IGV4cG9ydCBhdHRyaWJ1dGUgZm9yIHNoZWxsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0zNTUyLDcgKzM2MzgsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTQwCisjOiBidWlsdGlucy5jOjExNDMKIG1zZ2lkICIiCiAiTWFyayBzaGVsbCB2YXJpYWJsZXMgYXMgdW5jaGFuZ2VhYmxlLlxuIgogIiAgICBcbiIKQEAgLTM1NzIsNyArMzY1OCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNjEKKyM6IGJ1aWx0aW5zLmM6MTE2NAogbXNnaWQgIiIKICJTaGlmdCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzU4Myw3ICszNjY5LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOIGlzIG5lZ2F0aXZlIG9yIGdyZWF0ZXIgdGhhbiAkIy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTczIGJ1aWx0aW5zLmM6MTE4OAorIzogYnVpbHRpbnMuYzoxMTc2IGJ1aWx0aW5zLmM6MTE5MQogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmcm9tIGEgZmlsZSBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKQEAgLTM2MTEsNyArMzY5Nyw3IEBACiAicGFyYW1ldHJlbGVyXG4iCiAiICAgIGRlxJ9pxZ90aXJpbG1lei4iCiAKLSM6IGJ1aWx0aW5zLmM6MTIwNAorIzogYnVpbHRpbnMuYzoxMjA3CiBtc2dpZCAiIgogIlN1c3BlbmQgc2hlbGwgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM2MjUsNyArMzcxMSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEyMjAKKyM6IGJ1aWx0aW5zLmM6MTIyMwogIywgZnV6enkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKQEAgLTM3NzksNyArMzg2NSw3IEBACiAiICAgIGvDvMOnw7xrbMO8aywgYsO8ecO8a2zDvGssIGvDvMOnw7xrbMO8ayB2ZXlhIGXFn2l0bGlrLCBiw7x5w7xrbMO8ayB2ZXlhIGXFn2l0bGlrIHZhcnNhXG4iCiAiICAgIGlmYWRlbmluIHNvbnVjdSBkb8SfcnVkdXIuIgogCi0jOiBidWlsdGlucy5jOjEyOTYKKyM6IGJ1aWx0aW5zLmM6MTI5OQogIywgZnV6enkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKQEAgLTM3OTEsNyArMzg3Nyw3IEBACiAiICAgdGVzdCB5ZXJsZcWfacSfaSBpbGUgYXluxLFkxLFyLCBmYWthdCBzb24gYXJnw7xtYW4gYcOnYW4gYFsnIGlsZSBlxZ9sZcWfZW5cbiIKICIgICBrYXBhdGFuIGBdJyBvbG1hayB6b3J1bmRhZMSxci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTMwNQorIzogYnVpbHRpbnMuYzoxMzA4CiBtc2dpZCAiIgogIkRpc3BsYXkgcHJvY2VzcyB0aW1lcy5cbiIKICIgICAgXG4iCkBAIC0zODAzLDcgKzM4ODksNyBAQAogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTMxNworIzogYnVpbHRpbnMuYzoxMzIwCiAjLCBmdXp6eQogbXNnaWQgIiIKICJUcmFwIHNpZ25hbHMgYW5kIG90aGVyIGV2ZW50cy5cbiIKQEAgLTM4NTYsNyArMzk0Miw3IEBACiAiICAgIG51bWFyYWxhcsSxICBpbGUgIGJpcmxpa3RlICBsaXN0ZWxlbWVzaW5pICBzYcSfbGFyLiAgS2FidcSfYSAgYmlyICBzaW55YWxcbiIKICIgICAgZ8O2bmRlcm1layBpc3RlcnNlbml6IFwia2lsbCAtU8SwR05BTCAkJFwiIHPDtnpkaXppbWluaSBrdWxsYW5hYmlsaXJzaW5pei4iCiAKLSM6IGJ1aWx0aW5zLmM6MTM0OQorIzogYnVpbHRpbnMuYzoxMzUyCiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZCB0eXBlLlxuIgogIiAgICBcbiIKQEAgLTM4ODYsNyArMzk3Miw3IEBACiAiZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MAorIzogYnVpbHRpbnMuYzoxMzgzCiAjLCBmdXp6eQogbXNnaWQgIiIKICJNb2RpZnkgc2hlbGwgcmVzb3VyY2UgbGltaXRzLlxuIgpAQCAtMzk2Myw3ICs0MDQ5LDcgQEAKICIgICAgacOnaW4gNTEyIGJheXRsxLFrIGJsb2sgc2F5xLFzxLEgb2xhcmFrLCAgLW4gIHZlICAtdSAgacOnaW4gYmlyaW1zaXosICBrYWxhblxuIgogIiAgICBzZcOnZW5la2xlciBpw6dpbiAxMDI0IGJheXRsxLFrIGJsb2sgc2F5xLFzxLEgb2xhcmFrIGJlbGlydGlsbWVsaWRpci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQyNQorIzogYnVpbHRpbnMuYzoxNDI4CiBtc2dpZCAiIgogIkRpc3BsYXkgb3Igc2V0IGZpbGUgbW9kZSBtYXNrLlxuIgogIiAgICBcbiIKQEAgLTM5ODEsNyArNDA2Nyw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTU9ERSBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NDUKKyM6IGJ1aWx0aW5zLmM6MTQ0OAogbXNnaWQgIiIKICJXYWl0IGZvciBqb2IgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTM5OTgsNyArNDA4NCw3IEBACiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NjMKKyM6IGJ1aWx0aW5zLmM6MTQ2NgogIywgZnV6enkKIG1zZ2lkICIiCiAiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCkBAIC00MDE5LDcgKzQxMDUsNyBAQAogIiAgICBiZWxpcnRpbWkgZGUgb2xhYmlsaXI7IGJpciBpxZ8gYmVsaXJ0aW1pIHZlcmlsaXJzZSBpxZ9pblxuIgogIiAgICBib3J1aGF0dMSxbmRha2kgdMO8bSBzw7xyZcOnbGVyIGnDp2luIGJla2xlbmlyLiIKIAotIzogYnVpbHRpbnMuYzoxNDc4CisjOiBidWlsdGlucy5jOjE0ODEKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZm9yIGVhY2ggbWVtYmVyIGluIGEgbGlzdC5cbiIKQEAgLTQwMzgsNyArNDEyNCw3IEBACiAiICAgIHlva3NhLCBgaW4gXCIkQFwiJyBiZWxpcnRpbG1pxZ8gZ2liaSBrw7xtZXlpIG9sdcWfdHVyYW4gaGVyIHBhcmFtZXRyZVxuIgogIiAgICBpw6dpbiBLT01VVGxhciBiaXJlciBrZXJlIMOnYWzEscWfdMSxcsSxbMSxci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5MgorIzogYnVpbHRpbnMuYzoxNDk1CiAjLCBmdXp6eQogbXNnaWQgIiIKICJBcml0aG1ldGljIGZvciBsb29wLlxuIgpAQCAtNDA2NSw3ICs0MTUxLDcgQEAKICIgICAgxLBGQURFMSwgxLBGQURFMiB2ZSDEsEZBREUzIGFyaXRtZXRpayBpZmFkZWxlcmRpci4gVmVyaWxtZXllbiBoZXJcbiIKICIgICAgaWZhZGUgacOnaW4gMSB2ZXJpbG1pxZ8gZ2liaSBpxZ9sZW0geWFwxLFsxLFyLiIKIAotIzogYnVpbHRpbnMuYzoxNTEwCisjOiBidWlsdGlucy5jOjE1MTMKICMsIGZ1enp5CiBtc2dpZCAiIgogIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKQEAgLTQxMDUsNyArNDE5MSw3IEBACiAiICAgIGRlxJ9pxZ9rZW5pbmRlIHR1dHVsdXIuIEhlciBzZcOnaW1kZW4gc29ucmEgYmlyIGJyZWFrIGtvbXV0dSBpbGVcbiIKICIgICAgc29ubGFuZMSxcsSxbMSxbmNheWEga2FkYXIga29tdXRsYXIgw6dhbMSxxZ90xLFyxLFsxLFyLiIKIAotIzogYnVpbHRpbnMuYzoxNTMxCisjOiBidWlsdGlucy5jOjE1MzQKICMsIGZ1enp5CiBtc2dpZCAiIgogIlJlcG9ydCB0aW1lIGNvbnN1bWVkIGJ5IHBpcGVsaW5lJ3MgZXhlY3V0aW9uLlxuIgpAQCAtNDEyOSw3ICs0MjE1LDcgQEAKICIgICAgaXN0YXRpc3Rpa2xlcmluaW4gIGJpcmF6IGZhcmtsxLEgYmlyIGJpw6dpbWRlIGJhc8SxbG1hc8SxbsSxIHNhxJ9sYXI7ICDDp8Sxa3TEsVxuIgogIiAgICBiacOnaW1pIG9sYXJhayBUSU1FRk9STUFUIGRlxJ9pxZ9rZW5pbmluIGRlxJ9lcmluaSBrdWxsYW7EsXIuIgogCi0jOiBidWlsdGlucy5jOjE1NDgKKyM6IGJ1aWx0aW5zLmM6MTU1MQogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBwYXR0ZXJuIG1hdGNoaW5nLlxuIgpAQCAtNDE0NCw3ICs0MjMwLDcgQEAKICIgICAgU8OWWmPDvGsgaWxlIGXFn2xlxZ9lbiBpbGsgS0FMSVAnYSBrYXLFn8SxIGTDvMWfZW4gS09NVVRsYXLEsSDDp2FsxLHFn3TEsXLEsXIuXG4iCiAiICAgIGB8JyDDp29rIHNhecSxZGEga2FsxLFixLEgYXnEsXJtYWsgacOnaW4ga3VsbGFuxLFsxLFyLiIKIAotIzogYnVpbHRpbnMuYzoxNTYwCisjOiBidWlsdGlucy5jOjE1NjMKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gY29uZGl0aW9uYWwuXG4iCkBAIC00MTc5LDcgKzQyNjUsNyBAQAogIiAgICDDp8Sxa8SxxZ8gZHVydW11ZHVyLiAgQmlyIGtvbXV0IMOnYWzEscWfdMSxcsSxbG1hbcSxxZ9zYSAgdmUgaGnDp2JpciBrb8WfdWxcbiIKICIgICAgZG/En3J1IHNvbnXDpyB2ZXJtZW1pxZ9zZSBzxLFmxLFyIGTDtm5lci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU3NworIzogYnVpbHRpbnMuYzoxNTgwCiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IHN1Y2NlZWRzLlxuIgpAQCAtNDE5NCw3ICs0MjgwLDcgQEAKICIgICAgYHdoaWxlIEtPTVVUbGFyOyBsaXN0ZXNpbmluIMOnxLFrxLHFnyBkdXJ1bXUgc8SxZsSxciBvbGR1xJ91IHPDvHJlY2VcbiIKICIgICAgYGRvIEtPTVVUbGFyOycgbGlzdGVzaSDDp2FsxLHFn3TEsXLEsWzEsXIuIgogCi0jOiBidWlsdGlucy5jOjE1ODkKKyM6IGJ1aWx0aW5zLmM6MTU5MgogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLlxuIgpAQCAtNDIwOSw3ICs0Mjk1LDcgQEAKICIgICAgYHVudGlsIEtPTVVUbGFyOyBsaXN0ZXNpbmluIMOnxLFrxLHFnyBkdXJ1bXUgc8SxZsSxcmRhbiBmYXJrbMSxIG9sZHXEn3Ugc8O8cmVjZVxuIgogIiAgICBgZG8gS09NVVRsYXI7JyBsaXN0ZXNpIMOnYWzEscWfdMSxcsSxbMSxci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYwMQorIzogYnVpbHRpbnMuYzoxNjA0CiBtc2dpZCAiIgogIkNyZWF0ZSBhIGNvcHJvY2VzcyBuYW1lZCBOQU1FLlxuIgogIiAgICBcbiIKQEAgLTQyMjIsNyArNDMwOCw3IEBACiAiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYxNQorIzogYnVpbHRpbnMuYzoxNjE4CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC00MjM2LDcgKzQzMjIsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgcmVhZG9ubHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYyOQorIzogYnVpbHRpbnMuYzoxNjMyCiAjLCBmdXp6eQogbXNnaWQgIiIKICJHcm91cCBjb21tYW5kcyBhcyBhIHVuaXQuXG4iCkBAIC00MjUxLDcgKzQzMzcsNyBAQAogIiAgICBLT01VVGxhciBiaXIgZ3J1cCBvbGFyYWsgw6dhbMSxxZ90xLFyxLFsxLFyLiBCdSwgYmlyIGtvbXV0IGvDvG1lc2luaSBiaXJcbiIKICIgICAgecO2bmxlbmRpcm1lZGUga3VsbGFubWFuxLFuIHRlayB5b2x1ZHVyLiIKIAotIzogYnVpbHRpbnMuYzoxNjQxCisjOiBidWlsdGlucy5jOjE2NDQKICMsIGZ1enp5CiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKQEAgLTQyNzIsNyArNDM1OCw3IEBACiAiICAgIMSwxZ5fQkVMxLBSVMSwTcSwJ25kZW4gc29ucmEgYmlyICYgZ2VsbWVzaSBpxZ9pbiBgYmcnIGtvbXV0dW51bmEgYXJnw7xtYW5cbiIKICIgICAgb2xhcmFrIGt1bGxhbsSxbG3EscWfIGdpYmkgYXJ0YWxhbmEgeWVybGXFn3RpcmlsbWVzaW5lIHNlYmVwIG9sdXIuIgogCi0jOiBidWlsdGlucy5jOjE2NTYKKyM6IGJ1aWx0aW5zLmM6MTY1OQogIywgZnV6enkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgpAQCAtNDI4Nyw3ICs0MzczLDcgQEAKICIgICAgVmVyaWxlbiBhcml0bWV0aWsgxLBGQURFIGFyaXRtZXRpayBkZcSfZXJsZW5kaXJtZSBrdXJhbGxhcsSxbmEgZ8O2cmVcbiIKICIgICAgZGXEn2VybGVuZGlyaWxpci4gXCJsZXQgxLBGQURFXCIgaWxlIGXFn2RlxJ9lcmRpci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY2OAorIzogYnVpbHRpbnMuYzoxNjcxCiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbmRpdGlvbmFsIGNvbW1hbmQuXG4iCkBAIC00MzMwLDcgKzQ0MTYsNyBAQAogIiAgIG9sYXJhayBlbGUgYWzEsW7EsXIgdmUga2FsxLFwIGXFn2xlxZ90aXJtZXNpIHV5Z3VsYW7EsXIuICYmIHZlIHx8IGnFn2xlw6dsZXJpXG4iCiAiICAgZcSfZXIgaWxrIGlmYWRlIHNvbnXDpyBpw6dpbiBiZWxpcmxleWljaSBpc2UgaWtpbmNpc2luZSBiYWttYXpsYXIuIgogCi0jOiBidWlsdGlucy5jOjE2OTQKKyM6IGJ1aWx0aW5zLmM6MTY5NwogIywgZnV6enkKIG1zZ2lkICIiCiAiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKQEAgLTQ0NTEsNyArNDUzNyw3IEBACiAiICAgICAgICAgICAgICAgICAgICAgICBnZXJla3RpxJ9pbmUga2FyYXIgdmVybWVrIGnDp2luIGt1bGxhbsSxbGFuIGthbMSxcGxhcsSxblxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgaWtpbm9rdGEgaW1pIGF5cmHDp2zEsSBsaXN0ZXNpLlxuIgogCi0jOiBidWlsdGlucy5jOjE3NTEKKyM6IGJ1aWx0aW5zLmM6MTc1NAogIywgZnV6enkKIG1zZ2lkICIiCiAiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgpAQCAtNDUwMyw3ICs0NTg5LDcgQEAKICJcbiIKICIgICAgRGl6aW4gecSxxJ/EsXTEsW7EsSBgZGlycycga29tdXR1eWxhIGfDtnJlYmlsaXJzaW5pei4iCiAKLSM6IGJ1aWx0aW5zLmM6MTc4NQorIzogYnVpbHRpbnMuYzoxNzg4CiAjLCBmdXp6eQogbXNnaWQgIiIKICJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKQEAgLTQ1NDQsNyArNDYzMCw3IEBACiAiICAgICAgICAgIGVuZ2VsbGVyLCBiw7Z5bGVjZSBzYWRlY2UgecSxxJ/EsXQgZGXEn2nFn3RpcmlsbWnFnyBvbHVyLiBcbiIKICIgICAgRGl6aW4gecSxxJ/EsXTEsW7EsSBgZGlycycga29tdXR1eWxhIGfDtnJlYmlsaXJzaW5pei4iCiAKLSM6IGJ1aWx0aW5zLmM6MTgxNQorIzogYnVpbHRpbnMuYzoxODE4CiAjLCBmdXp6eQogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKQEAgLTQ1OTAsNyArNDY3Niw3IEBACiAiICAgIC1OICAgZGlycyBzZcOnZW5la3NpeiDDp2HEn3LEsWxkxLHEn8SxbmRhIGfDtnN0ZXJkacSfaSBsaXN0ZW5pbiBzYcSfxLFuZGFuXG4iCiAiICAgICAgICAgc8SxZsSxcmxhIGJhxZ9sYXlhcmFrIHNhecSxbGFuIE4naW5jaSBnaXJkaXlpIGfDtnN0ZXJpci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg0NAorIzogYnVpbHRpbnMuYzoxODQ3CiBtc2dpZCAiIgogIlNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC00NjExLDcgKzQ2OTcsNyBAQAogIiAgICBnaXZlbiBvciBPUFROQU1FIGlzIGRpc2FibGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4NjUKKyM6IGJ1aWx0aW5zLmM6MTg2OAogIywgZnV6enkKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCkBAIC00NjUzLDcgKzQ3MzksNyBAQAogIiAgICBiacOnaW1kZSDDp8Sxa3TEsWxhbWFzxLFuxLEgc2HEn2xhci4gLXYgc2XDp2VuZcSfaSDDp8Sxa3TEsW7EsW4gc3RhbmRhcnQgw6fEsWt0xLF5YVxuIgogIiAgICBiYXPEsWxtYXPEsSB5ZXJpbmUgREXEnsSwxZ5LRU5lIGF0YW5tYXPEsW7EsSBzYcSfbGFyLiAiCiAKLSM6IGJ1aWx0aW5zLmM6MTg5MgorIzogYnVpbHRpbnMuYzoxODk1CiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTQ2NjcsMTUgKzQ3NTMsMjAgQEAKICIgICAgICAtcFx0cHJpbnQgZXhpc3RpbmcgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9ucyBpbiBhIHJldXNhYmxlIGZvcm1hdFxuIgogIiAgICAgIC1yXHRyZW1vdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZm9yIGVhY2ggTkFNRSwgb3IsIGlmIG5vXG4iCiAiICAgIFx0TkFNRXMgYXJlIHN1cHBsaWVkLCBhbGwgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uc1xuIgorIiAgICAgIC1EXHRhcHBseSB0aGUgY29tcGxldGlvbnMgYW5kIGFjdGlvbnMgYXMgdGhlIGRlZmF1bHQgZm9yIGNvbW1hbmRzXG4iCisiICAgIFx0d2l0aG91dCBhbnkgc3BlY2lmaWMgY29tcGxldGlvbiBkZWZpbmVkXG4iCisiICAgICAgLUVcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyB0byBcImVtcHR5XCIgY29tbWFuZHMgLS1cbiIKKyIgICAgXHRjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhIGJsYW5rIGxpbmVcbiIKICIgICAgXG4iCiAiICAgIFdoZW4gY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQsIHRoZSBhY3Rpb25zIGFyZSBhcHBsaWVkIGluIHRoZSBvcmRlciB0aGVcbiIKLSIgICAgdXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuXG4iCisiICAgIHVwcGVyY2FzZS1sZXR0ZXIgb3B0aW9ucyBhcmUgbGlzdGVkIGFib3ZlLiAgVGhlIC1EIG9wdGlvbiB0YWtlc1xuIgorIiAgICBwcmVjZWRlbmNlIG92ZXIgLUUuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTkxNQorIzogYnVpbHRpbnMuYzoxOTIzCiAjLCBmdXp6eQogbXNnaWQgIiIKICJEaXNwbGF5IHBvc3NpYmxlIGNvbXBsZXRpb25zIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucy5cbiIKQEAgLTQ2OTUsNyArNDc4Niw3IEBACiAiICAgIGFtYWPEsXlsYSB0YXNhcmxhbm3EscWfdMSxci4gxLBzdGXEn2UgYmHEn2zEsSBTw5ZaQ8OcSyBhcmfDvG1hbsSxIHNhxJ9sYW5kxLHEn8SxXG4iCiAiICAgIHRha2RpcmRlIGXFn2xlxZ9tZWxlcmRlbiBzYWRlY2UgU8OWWkPDnEsgaWxlIGXFn2xlxZ9lbmxlciDDvHJldGlsaXIuIgogCi0jOiBidWlsdGlucy5jOjE5MzAKKyM6IGJ1aWx0aW5zLmM6MTkzOAogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNDcwOCw2ICs0Nzk5LDggQEAKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgIFx0LW8gb3B0aW9uXHRTZXQgY29tcGxldGlvbiBvcHRpb24gT1BUSU9OIGZvciBlYWNoIE5BTUVcbiIKKyIgICAgXHQtRFx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZGVmYXVsdFwiIGNvbW1hbmQgY29tcGxldGlvblxuIgorIiAgICBcdC1FXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJlbXB0eVwiIGNvbW1hbmQgY29tcGxldGlvblxuIgogIiAgICBcbiIKICIgICAgVXNpbmcgYCtvJyBpbnN0ZWFkIG9mIGAtbycgdHVybnMgb2ZmIHRoZSBzcGVjaWZpZWQgb3B0aW9uLlxuIgogIiAgICBcbiIKQEAgLTQ3MjQsMTUgKzQ4MTcsMTUgQEAKICIgICAgaGF2ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBkZWZpbmVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5NTgKKyM6IGJ1aWx0aW5zLmM6MTk2OAogbXNnaWQgIiIKLSJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCisiUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgotIiAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGFycmF5IHZhcmlhYmxlIEFSUkFZLCBvciAiCi0iZnJvbVxuIgotIiAgICBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSBNQVBGSUxFICIKLSJpc1xuIgotIiAgICB0aGUgZGVmYXVsdCBBUlJBWS5cbiIKKyIgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBpbmRleGVkIGFycmF5IHZhcmlhYmxlICIKKyJBUlJBWSwgb3JcbiIKKyIgICAgZnJvbSBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSAiCisiTUFQRklMRVxuIgorIiAgICBpcyB0aGUgZGVmYXVsdCBBUlJBWS5cbiIKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgICAgLW4gY291bnRcdENvcHkgYXQgbW9zdCBDT1VOVCBsaW5lcy4gIElmIENPVU5UIGlzIDAsIGFsbCBsaW5lcyBhcmUgIgpAQCAtNDc1OSwxNiArNDg1MiwyNyBAQAogIiAgICBhc3NpZ25pbmcgdG8gaXQuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBBUlJBWSBpcyByZWFkb25seS4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkgIgorIm9yXG4iCisiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5OTAKKyM6IGJ1aWx0aW5zLmM6MjAwMQogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gYSBmaWxlIGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgogIiAgICBBIHN5bm9ueW0gZm9yIGBtYXBmaWxlJy4iCiBtc2dzdHIgIiIKIAorI34gbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorI34gbXNnc3RyICJ4cmVhbGxvYzogJWx1IGJheXQgeWVuaWRlbiBheXLEsWxhbcSxeW9yICglbHUgYmF5dCBheXLEsWxkxLEpIgorCisjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCisjfiBtc2dzdHIgInhyZWFsbG9jOiAlbHUgYmF5dCB5ZW5pZGVuIGF5csSxbGFtxLF5b3IiCisKKyN+IG1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjfiBtc2dzdHIgInhyZWFsbG9jOiAlczolZDogJWx1IGJheXQgeWVuaWRlbiBheXLEsWxhbcSxeW9yICglbHUgYmF5dCBheXLEsWxkxLEpIgorCiAjfiBtc2dpZCAiICIKICN+IG1zZ3N0ciAiICIKIApkaWZmIC0tZ2l0IGEvcG8vdmkuZ21vIGIvcG8vdmkuZ21vCmluZGV4IDI0MTFhYjQuLmViMDJkMDAgMTAwNjQ0Ci0tLSBhL3BvL3ZpLmdtbworKysgYi9wby92aS5nbW8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG8vdmkucG8gYi9wby92aS5wbwppbmRleCA2YjVmY2IxLi5iZWI1OWQ4IDEwMDY0NAotLS0gYS9wby92aS5wbworKysgYi9wby92aS5wbwpAQCAtMSw3NCArMSw3OSBAQAogIyBWaWV0bmFtZXNlIHRyYW5zbGF0aW9uIGZvciBCQVNIIChCb3VybmUgQWdhaW4gU0hlbGwpLgotIyBDb3B5cmlnaHQgwqkgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IMKpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBiYXNoIHBhY2thZ2UuCi0jIENseXRpZSBTaWRkYWxsIDxjbHl0aWVAcml2ZXJsYW5kLm5ldC5hdT4sIDIwMDguCisjIENseXRpZSBTaWRkYWxsIDxjbHl0aWVAcml2ZXJsYW5kLm5ldC5hdT4sIDIwMDgtMjAwOS4KICMKIG1zZ2lkICIiCiBtc2dzdHIgIiIKLSJQcm9qZWN0LUlkLVZlcnNpb246IGJhc2ggNC4wLXByZTFcbiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IGJhc2ggNC4wXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTAyLTE5IDE0OjUzLTA1MDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDA4LTA5LTA4IDE3OjI2KzA5MzBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwOS0wOS0xOSAyMToxNyswOTMwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBDbHl0aWUgU2lkZGFsbCA8Y2x5dGllQHJpdmVybGFuZC5uZXQuYXU+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogVmlldG5hbWVzZSA8dmktVk5AZ29vZ2xlZ3JvdXBzLmNvbT5cbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgogIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgogIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKICJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTE7IHBsdXJhbD0wO1xuIgotIlgtR2VuZXJhdG9yOiBMb2NGYWN0b3J5RWRpdG9yIDEuN2IzXG4iCisiWC1HZW5lcmF0b3I6IExvY0ZhY3RvcnlFZGl0b3IgMS44XG4iCiAKICM6IGFycmF5ZnVuYy5jOjUwCiBtc2dpZCAiYmFkIGFycmF5IHN1YnNjcmlwdCIKIG1zZ3N0ciAic2FpIG3huqNuZyBpbiB0aOG6pXAiCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzQKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgY2h1eeG7g24gxJHhu5VpIG3huqNuZyB0aGVvIHPhu5EgbcWpIHNhbmcgbeG6o25nIGvhur90IGjhu6NwIgogCi0jOiBhcnJheWZ1bmMuYzo0NzkKKyM6IGFycmF5ZnVuYy5jOjQ4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhc3NvY2lhdGl2ZSBhcnJheSBrZXkiCiBtc2dzdHIgIiVzOiBraG/DoSBtw6BuZyBr4bq/dCBo4bujcCBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogYXJyYXlmdW5jLmM6NDgxCisjOiBhcnJheWZ1bmMuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gdG8gbm9uLW51bWVyaWMgaW5kZXgiCiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgY+G6pXAgcGjDoXQgY2hvIGNo4buJIHPhu5Ega2jDtG5nIHRodeG7mWMgc+G7kSIKIAotIzogYXJyYXlmdW5jLmM6NTE3CisjOiBhcnJheWZ1bmMuYzo1MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBtdXN0IHVzZSBzdWJzY3JpcHQgd2hlbiBhc3NpZ25pbmcgYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiVzOiAlczogcGjhuqNpIHPhu60gZOG7pW5nIGNo4buvIHRo4bqlcCBraGkgZ8OhbiBt4bqjbmcga+G6v3QgaOG7o3AiCiAKLSM6IGJhc2hoaXN0LmM6Mzc5CisjOiBiYXNoaGlzdC5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgdOG6oW8gJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzQxMworIzogYmFzaGxpbmUuYzozNDU3CiBtc2dpZCAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgogbXNnc3RyICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBraMO0bmcgdMOsbSB0aOG6pXkgc8ahIMSR4buTIHBow61tIGNobyBjw6J1IGzhu4duaCIKIAotIzogYmFzaGxpbmUuYzozNDkxCisjOiBiYXNobGluZS5jOjM1NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpcnN0IG5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlciBpcyBub3QgYFwiJyIKIG1zZ3N0ciAiIgogIiVzOiBrw70gdOG7sSBraMOhYyBraG/huqNuZyB0cuG6r25nIMSR4bqndSB0acOqbiBraMO0bmcgcGjhuqNpIGzDoCBk4bqldSBz4buVIGNow6lvIG5nxrDhu6NjIMKrIC8gwrsiCiAKLSM6IGJhc2hsaW5lLmM6MzUyMAorIzogYmFzaGxpbmUuYzozNTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKIG1zZ3N0ciAidGhp4bq/dSDCqyAlYyDCuyDEkcOzbmcgdHJvbmcgJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzU1NAorIzogYmFzaGxpbmUuYzozNjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKIG1zZ3N0ciAiJXM6IHRoaeG6v3UgZOG6pXUgaGFpIGNo4bqlbSDEkeG7i25oIGdp4bubaSIKIAorIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogaW52YWxpZCBhbGlhcyBuYW1lIgorbXNnc3RyICLCqyAlcyDCuzogdMOqbiBzxqEgxJHhu5MgcGjDrW0ga2jDtG5nIGjhu6NwIGzhu4ciCisKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjEyMCBidWlsdGlucy9iaW5kLmRlZjoxMjMKIG1zZ2lkICJsaW5lIGVkaXRpbmcgbm90IGVuYWJsZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiY2jGsGEgYuG6rXQgc+G7rWEgxJHhu5VpIGTDsm5nIgogCiAjOiBidWlsdGlucy9iaW5kLmRlZjoyMDYKICMsIGMtZm9ybWF0CkBAIC0xMTgsNiArMTIzLDI0IEBACiAiICAgIFxuIgogIiAgICBXaXRob3V0IEVYUFIsIHJldHVybnMgIgogbXNnc3RyICIiCisiVHLhuqMgbOG6oWkgbmfhu68gY+G6o25oIGPhu6dhIGzhu51pIGfhu41pIHRoxrDhu51uZyB0csOsbmggY29uIGhp4buHbiB0aOG7nWkuXG4iCisiXG4iCisiICAgIEtow7RuZyBjw7MgQlRI4buwQyB0aMOsIHRyw6AgbOG6oWkgIgorCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNQorbXNnaWQgIiIKKyIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKKyIgICAgIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM2Cittc2dpZCAiIgorIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgorIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCisiICAgIFxuIgorIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCisiICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgorbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zL2NkLmRlZjoyMTUKIG1zZ2lkICJIT01FIG5vdCBzZXQiCkBAIC0xMzIsNyArMTU1LDcgQEAKIG1zZ2lkICJsaW5lICVkOiAiCiBtc2dzdHIgImTDsm5nICVkOiIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTM5IGVycm9yLmM6MjYwCisjOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogIgogbXNnc3RyICJj4bqjbmggYsOhbyA6IgpAQCAtMTQyLDExICsxNjUsMTEgQEAKIG1zZ2lkICIlczogdXNhZ2U6ICIKIG1zZ3N0ciAiJXM6IHPhu60gZOG7pW5nOiIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjIKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODI3CiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICJxdcOhIG5oaeG7gXUgxJHhu5FpIHPhu5EiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5MyBzaGVsbC5jOjc3NAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIiVzOiB0w7l5IGNo4buNbiBj4bqnbiB0aGnhur90IG3hu5l0IMSR4buRaSBz4buRIgpAQCAtMTYxLDcgKzE4NCw3IEBACiBtc2dpZCAiJXM6IG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IGtow7RuZyB0w6xtIHRo4bqleSIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjE0IHNoZWxsLmM6Nzg3CisjOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlczogdMO5eSBjaOG7jW4ga2jDtG5nIGjhu6NwIGzhu4ciCkBAIC0xODQsNyArMjA3LDcgQEAKIG1zZ2lkICJpbnZhbGlkIGhleCBudW1iZXIiCiBtc2dzdHIgInPhu5EgdGjhuq1wIGzhu6VjIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTUKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NgogbXNnaWQgImludmFsaWQgbnVtYmVyIgogbXNnc3RyICJz4buRIGtow7RuZyBo4bujcCBs4buHIgogCkBAIC0xOTgsNyArMjIxLDcgQEAKIG1zZ2lkICJgJXMnOiBub3QgYSBwaWQgb3IgdmFsaWQgam9iIHNwZWMiCiBtc2dzdHIgIsKrICVzIMK7OiBraMO0bmcgcGjhuqNpIMSR4bq3YyB04bqjIGjhu6NwIGzhu4cgY2hvIFBJRCBob+G6t2MgY8O0bmcgdmnhu4djIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTMKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI2NCBlcnJvci5jOjQ1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgdmFyaWFibGUiCiBtc2dzdHIgIiVzOiBiaeG6v24gY2jhu4kgxJHhu41jIgpAQCAtMjUzLDEyICsyNzYsMTIgQEAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVzIgotbXNnc3RyICIiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG6t3QgY8OhYyB0aHXhu5ljIHTDrW5oIHbhu4EgdGhp4bq/dCBi4buLIGN14buRaTogJXMiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBnZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVzIgotbXNnc3RyICIiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBs4bqleSBjw6FjIHRodeG7mWMgdMOtbmggduG7gSB0aGnhur90IGLhu4sgY3Xhu5FpOiAlcyIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6NTYzCiAjLCBjLWZvcm1hdApAQCAtMjcwLDI2ICsyOTMsMjYgQEAKIG1zZ2lkICIlczogYW1iaWd1b3VzIGpvYiBzcGVjIgogbXNnc3RyICIlczogxJHhurdjIHThuqMgY8O0bmcgdmnhu4djIG3GoSBo4buTIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6MjcwCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Mjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFjdGlvbiBuYW1lIgogbXNnc3RyICIlczogdMOqbiBow6BuaCB2aSBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjQzMCBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjE1Ci0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODEzCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDQ5IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2NDQKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXM6IGtow7RuZyBjw7MgxJHhurdjIHThuqMgxJFp4buBbiBu4buRdCIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY2NworIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY5NgogbXNnaWQgIndhcm5pbmc6IC1GIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCIKIG1zZ3N0ciAiY+G6o25oIGLDoW86IHTDuXkgY2jhu41uIMKrIC1GIMK7IGPDsyBs4bq9IGtow7RuZyBob+G6oXQgxJHhu5luZyBuaMawIG1vbmcgxJHhu6NpIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjY5CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk4CiBtc2dpZCAid2FybmluZzogLUMgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgogbXNnc3RyICJj4bqjbmggYsOhbzogdMO5eSBjaOG7jW4gwqsgLUMgwrsgY8OzIGzhur0ga2jDtG5nIGhv4bqhdCDEkeG7mW5nIG5oxrAgbW9uZyDEkeG7o2kiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo3ODYKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MjYKIG1zZ2lkICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgogbXNnc3RyICJoaeG7h24gdGjhu51pIGtow7RuZyB0aOG7sWMgdGhpIGNo4bupYyBuxINuZyDEkWnhu4FuIG7hu5F0IgogCkBAIC0yOTcsMjEgKzMyMCwyMSBAQAogbXNnaWQgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKIG1zZ3N0ciAiY2jhu4kgY8OzIHRo4buDIMSRxrDhu6NjIGTDuW5nIHRyb25nIG3hu5l0IGjDoG0iCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM1MworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzYwCiBtc2dpZCAiY2Fubm90IHVzZSBgLWYnIHRvIG1ha2UgZnVuY3Rpb25zIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZMO5bmcgwqsgLWYgwrsgxJHhu4MgdOG6oW8gaMOgbSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzY1IGV4ZWN1dGVfY21kLmM6NDgxOAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVzOiBow6BtIGNo4buJIMSR4buNYyIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDYxCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBkZXN0cm95IGFycmF5IHZhcmlhYmxlcyBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBwaMOhIGjhu6d5IGJp4bq/biBt4bqjbmcgYuG6sW5nIGPDoWNoIG7DoHkiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBhc3NvY2lhdGl2ZSB0byBpbmRleGVkIGFycmF5IgogbXNnc3RyICIlczoga2jDtG5nIHRo4buDIGNodXnhu4NuIMSR4buVaSBt4bqjbmcga+G6v3QgaOG7o3Agc2FuZyBt4bqjbmcgdGhlbyBz4buRIG3FqSIKQEAgLTM0MCw4ICszNjMsOCBAQAogbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKIG1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyB4b8OhOiAlcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDY3NQotIzogc2hlbGwuYzoxNDM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0CisjOiBzaGVsbC5jOjE0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczogbMOgIHRoxrAgbeG7pWMiCkBAIC0zNTYsNyArMzc5LDggQEAKIG1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCiBtc2dzdHIgIiVzOiB04bqtcCB0aW4gcXXDoSBs4bubbiIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgZXhlY3V0ZV9jbWQuYzo0NzQ1IHNoZWxsLmM6MTQ0OQorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDMgZXhlY3V0ZV9jbWQuYzo0ODY0CisjOiBzaGVsbC5jOjE0NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlIgogbXNnc3RyICIlczoga2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gdOG6rXAgdGluIG5o4buLIHBow6JuIgpAQCAtMzg1LDE1ICs0MDksMTUgQEAKIG1zZ2lkICJUaGVyZSBhcmUgcnVubmluZyBqb2JzLlxuIgogbXNnc3RyICJW4bqrbiBjw7MgY8O0bmcgdmnhu4djIMSRYW5nIGNo4bqheS5cbiIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjI2MQorIzogYnVpbHRpbnMvZmMuZGVmOjI2MgogbXNnaWQgIm5vIGNvbW1hbmQgZm91bmQiCiBtc2dzdHIgImtow7RuZyB0w6xtIHRo4bqleSBs4buHbmgiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDEKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKIG1zZ2lkICJoaXN0b3J5IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIsSR4bq3YyB04bqjIGzhu4tjaCBz4butIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzYyCisjOiBidWlsdGlucy9mYy5kZWY6MzcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiB0ZW1wIGZpbGU6ICVzIgogbXNnc3RyICIlczoga2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIHThuqFtIHRo4budaTogJXMiCkBAIC00OTQsMTIgKzUxOCwxMiBAQAogbXNnaWQgIm5vIG90aGVyIG9wdGlvbnMgYWxsb3dlZCB3aXRoIGAteCciCiBtc2dzdHIgImtow7RuZyBjaG8gcGjDqXAgZMO5bmcgdMO5eSBjaOG7jW4gdGjDqm0gduG7m2kgwqsgLXggwrsiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjE5NworIzogYnVpbHRpbnMva2lsbC5kZWY6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhcmd1bWVudHMgbXVzdCBiZSBwcm9jZXNzIG9yIGpvYiBJRHMiCiBtc2dzdHIgIiVzOiDEkeG7kWkgc+G7kSBwaOG6o2kgbMOgIG3DoyBz4buRIGPhu6dhIHRp4bq/biB0csOsbmggKFBJRCkgaG/hurdjIGPDtG5nIHZp4buHYyIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjYwCisjOiBidWlsdGlucy9raWxsLmRlZjoyNjMKIG1zZ2lkICJVbmtub3duIGVycm9yIgogbXNnc3RyICJM4buXaSBraMO0bmcgcsO1IgogCkBAIC01MDcsNTUgKzUzMSw2MCBAQAogbXNnaWQgImV4cHJlc3Npb24gZXhwZWN0ZWQiCiBtc2dzdHIgIsSR4bujaSBiaeG7g3UgdGjhu6ljIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDEgYnVpbHRpbnMvcmVhZC5kZWY6MjcyCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYW4gaW5kZXhlZCBhcnJheSIKK21zZ3N0ciAiJXM6IGtow7RuZyBwaOG6o2kgYmnhur9uIG3huqNuZyIKKworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXM6IHNhaSB4w6FjIMSR4buLbmggYuG7mSBtw7QgdOG6oyB04bqtcCB0aW4iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NyBidWlsdGlucy9yZWFkLmRlZjoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yOiAlcyIKIG1zZ3N0ciAiJWQ6IGLhu5kgbcO0IHThuqMgdOG6rXAgdGluIGtow7RuZyBo4bujcCBs4buHOiAlcyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU4IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY2IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW5lIGNvdW50IgogbXNnc3RyICIlczogc2FpIMSR4bq/bSBkw7JuZyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXJyYXkgb3JpZ2luIgogbXNnc3RyICIlczogZ+G7kWMgbeG6o25nIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogbXNnc3RyICIlczogbMaw4bujbmcgZ+G7jWkgbmfGsOG7o2Mga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMxOAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzI2CiBtc2dpZCAiZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZSIKIG1zZ3N0ciAiJXM6IHTDqm4gYmnhur9uIG3huqNuZyB24bqrbiB0cuG7kW5nIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM0NwogbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCiBtc2dzdHIgImPhuqduIHRoaeG6v3QgaOG7lyB0cuG7oyBiaeG6v24gbeG6o25nIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjM2NworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICLCqyAlcyDCuzogdGhp4bq/dSBrw70gdOG7sSDEkeG7i25oIGThuqFuZyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NDQKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiwqsgJWMgwrs6IGvDvSB04buxIMSR4buLbmggZOG6oW5nIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU3MQorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogJXM6ICVzIgogbXNnc3RyICJj4bqjbmggYsOhbyA6ICVzOiAlcyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTAKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzU3CiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAidGhp4bq/dSBjaOG7ryBz4buRIHRo4bqtcCBwaMOibiBjaG8gXFx4IgogCkBAIC03MDYsMTIgKzczNSwxMiBAQAogIlxuIgogIlx0ROG7sW5nIHPhurVuIMKrIGRpcnMgwrsgc+G6vSBoaeG7g24gdGjhu4sgxJHhu5FuZyB0aMawIG3hu6VjLiIKIAotIzogYnVpbHRpbnMvcmVhZC5kZWY6MjQ4CisjOiBidWlsdGlucy9yZWFkLmRlZjoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgdGltZW91dCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczogc2FpIHjDoWMgxJHhu4tuaCBxdcOhIGjhuqFuIgogCi0jOiBidWlsdGlucy9yZWFkLmRlZjo1NzQKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkIGVycm9yOiAlZDogJXMiCiBtc2dzdHIgImzhu5dpIMSR4buNYzogJWQ6ICVzIgpAQCAtNzQ5LDExICs3NzgsMTEgQEAKIG1zZ2lkICJzaGlmdCBjb3VudCIKIG1zZ3N0ciAixJHhur9tIGThu51pIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MjU0CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MjYwCiBtc2dpZCAiY2Fubm90IHNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucyBzaW11bHRhbmVvdXNseSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buTbmcgdGjhu51pIMSR4bq3dCB2w6AgaOG7p3kgxJHhurd0IGPDoWMgdMO5eSBjaOG7jW4gdHLDrG5oIGJhbyIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMxOQorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBzaGVsbCBvcHRpb24gbmFtZSIKIG1zZ3N0ciAiJXM6IHTDqm4gdMO5eSBjaOG7jW4gdHLDrG5oIGJhbyBraMO0bmcgaOG7o3AgbOG7hyIKQEAgLTg0Myw3NiArODcyLDc2IEBACiBtc2dpZCAiYCVjJzogaW52YWxpZCBzeW1ib2xpYyBtb2RlIGNoYXJhY3RlciIKIG1zZ3N0ciAiwqsgJWMgwrs6IGvDvSB04buxIGNo4bq/IMSR4buZIHTGsOG7o25nIHRyxrBuZyBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogZXJyb3IuYzo4OSBlcnJvci5jOjMyMCBlcnJvci5jOjMyMiBlcnJvci5jOjMyNAorIzogZXJyb3IuYzo5MCBlcnJvci5jOjMyMSBlcnJvci5jOjMyMyBlcnJvci5jOjMyNQogbXNnaWQgIiBsaW5lICIKIG1zZ3N0ciAiZMOybmciCiAKLSM6IGVycm9yLmM6MTY0CisjOiBlcnJvci5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJsYXN0IGNvbW1hbmQ6ICVzXG4iCiBtc2dzdHIgImPDonUgbOG7h25oIGN14buRaSBjw7luZzogJXNcbiIKIAotIzogZXJyb3IuYzoxNzIKKyM6IGVycm9yLmM6MTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nLi4uIgogbXNnc3RyICJI4buneSBi4buPLi4uIgogCi0jOiBlcnJvci5jOjQwNQorIzogZXJyb3IuYzo0MDYKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQgZXJyb3IiCiBtc2dzdHIgImzhu5dpIGzhu4duaCBraMO0bmcgcsO1IgogCi0jOiBlcnJvci5jOjQwNgorIzogZXJyb3IuYzo0MDcKIG1zZ2lkICJiYWQgY29tbWFuZCB0eXBlIgogbXNnc3RyICJraeG7g3UgbOG7h25oIHNhaSIKIAotIzogZXJyb3IuYzo0MDcKKyM6IGVycm9yLmM6NDA4CiBtc2dpZCAiYmFkIGNvbm5lY3RvciIKIG1zZ3N0ciAiYuG7mSBr4bq/dCBu4buRaSBzYWkiCiAKLSM6IGVycm9yLmM6NDA4CisjOiBlcnJvci5jOjQwOQogbXNnaWQgImJhZCBqdW1wIgogbXNnc3RyICJzYWkgbmjhuqN5IgogCi0jOiBlcnJvci5jOjQ0NgorIzogZXJyb3IuYzo0NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYm91bmQgdmFyaWFibGUiCiBtc2dzdHIgIiVzOiBiaeG6v24gY2jGsGEgdOG7lSBo4bujcCIKIAogIzogZXZhbC5jOjE4MQogIywgYy1mb3JtYXQKLW1zZ2lkICJcYXRpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKK21zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgogbXNnc3RyICJcdHF1w6EgaOG6oW4gdHJvbmcga2hpIMSR4bujaSBk4buvIGxp4buHdSBuaOG6rXAgbsOqbiB04buxIMSR4buZbmcgxJHEg25nIHh14bqldFxuIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5MQorIzogZXhlY3V0ZV9jbWQuYzo0OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlZGlyZWN0IHN0YW5kYXJkIGlucHV0IGZyb20gL2Rldi9udWxsOiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGNodXnhu4NuIGjGsOG7m25nIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4gdOG7qyDCqyAvZGV2L251bGwgwrs6ICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjExMTIKKyM6IGV4ZWN1dGVfY21kLmM6MTE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJUSU1FRk9STUFUOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIsSQ4buKTkggROG6oE5HIFRI4bucSSBHSUFOOiDCqyAlYyDCuzoga8O9IHThu7EgxJHhu4tuaCBk4bqhbmcga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IGV4ZWN1dGVfY21kLmM6MjAxMQorIzogZXhlY3V0ZV9jbWQuYzoyMDc1CiBtc2dpZCAicGlwZSBlcnJvciIKIG1zZ3N0ciAibOG7l2kg4buRbmcgZOG6q24iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDM2MworIzogZXhlY3V0ZV9jbWQuYzo0NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSBgLycgaW4gY29tbWFuZCBuYW1lcyIKIG1zZ3N0ciAiJXM6IGLhu4sgaOG6oW4gY2jhur86IGtow7RuZyB0aOG7gyBnaGkgcsO1IGThuqV1IHPhu5UgY2jDqW8gwqsgLyDCuyB0cm9uZyB0w6puIGPDonUgbOG7h25oIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ0NTQKKyM6IGV4ZWN1dGVfY21kLmM6NDU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBraMO0bmcgdMOsbSB0aOG6pXkgbOG7h25oIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ3MDgKKyM6IGV4ZWN1dGVfY21kLmM6NDgyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGJhZCBpbnRlcnByZXRlciIKIG1zZ3N0ciAiJXM6ICVzOiBi4buZIHRow7RuZyBk4buLY2ggc2FpIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ4NTcKKyM6IGV4ZWN1dGVfY21kLmM6NDk3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIGZkICVkIHRvIGZkICVkIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbmjDom4gxJHDtGkgZmQgJWQgdOG7m2kgZmQgJWQiCkBAIC05NTcsMjggKzk4NiwyOCBAQAogbXNnaWQgIm1pc3NpbmcgYCknIgogbXNnc3RyICJ0aGnhur91IGThuqV1IG5nb+G6t2MgxJHDs25nIMKrICkgwrsiCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzUKKyM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKIG1zZ2lkICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCiBtc2dzdHIgImzhu5dpIGPDuiBwaMOhcDogxJHhu6NpIHRvw6FuIGjhuqFuZyIKIAotIzogZXhwci5jOjExNzcKKyM6IGV4cHIuYzoxMTc4CiBtc2dpZCAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCiBtc2dzdHIgImzhu5dpIGPDuiBwaMOhcDogdG/DoW4gdOG7rSBz4buRIGjhu41jIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBleHByLmM6MTIwMQorIzogZXhwci5jOjEyMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMlcyVzOiAlcyAoZXJyb3IgdG9rZW4gaXMgXCIlc1wiKSIKIG1zZ3N0ciAiJXMlcyVzOiAlcyAoaGnhu4d1IGLDoGkgbOG7l2kgbMOgIMKrICVzIMK7KSIKIAotIzogZXhwci5jOjEyNTkKKyM6IGV4cHIuYzoxMjYwCiBtc2dpZCAiaW52YWxpZCBhcml0aG1ldGljIGJhc2UiCiBtc2dzdHIgImPGoSBz4buRIChz4buRIGjhu41jKSBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogZXhwci5jOjEyNzkKKyM6IGV4cHIuYzoxMjgwCiBtc2dpZCAidmFsdWUgdG9vIGdyZWF0IGZvciBiYXNlIgogbXNnc3RyICJjxqEgc+G7kSBjw7MgZ2nDoSB0cuG7iyBxdcOhIGzhu5tuIgogCi0jOiBleHByLmM6MTMyOAorIzogZXhwci5jOjEzMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKIG1zZ3N0ciAiJXM6IGzhu5dpIGJp4buDdSB0aOG7qWNcbiIKQEAgLTk4Nyw3ICsxMDE2LDcgQEAKIG1zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgogbXNnc3RyICJnZXRjd2Q6IGtow7RuZyB0aOG7gyB0cnV5IGPhuq1wIHRoxrAgbeG7pWMgY+G6pXAgdHLDqm4iCiAKLSM6IGlucHV0LmM6OTQgc3Vic3QuYzo0NTU5CisjOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDg1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4bq3dCBs4bqhaSBjaOG6vyDEkeG7mSBub2RlbGF5IChraMO0bmcgaG/Do24pIGNobyBmZCAlZCIKQEAgLTEwNDEsNyArMTA3MCw3IEBACiBtc2dpZCAiRG9uZSIKIG1zZ3N0ciAiSG/DoG4gdOG6pXQiCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjIKKyM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKIG1zZ2lkICJTdG9wcGVkIgogbXNnc3RyICJC4buLIGThu6tuZyIKIApAQCAtMTA3OCw3MCArMTEwNyw3NCBAQAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIiAgKHdkOiAlcykiCiAKLSM6IGpvYnMuYzoxNzcxCisjOiBqb2JzLmM6MTc3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGlsZCBzZXRwZ2lkICglbGQgdG8gJWxkKSIKIG1zZ3N0ciAic2V0cGdpZCB0aeG6v24gdHLDrG5oIGNvbiAoJWxkIHRow6BuaCAlbGQpIgogCi0jOiBqb2JzLmM6MjA5OSBub2pvYnMuYzo1ODUKKyM6IGpvYnMuYzoyMTA0IG5vam9icy5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0OiBwaWQgJWxkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgc2hlbGwiCiBtc2dzdHIgIndhaXQ6IHBpZCAlbGQga2jDtG5nIHBo4bqjaSBsw6AgdGnhur9uIHRyw6xuaCBjb24gY+G7p2EgdHLDrG5oIGJhbyBuw6B5IgogCi0jOiBqb2JzLmM6MjMyNgorIzogam9icy5jOjIzMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIG1zZ3N0ciAid2FpdF9mb3I6IEtow7RuZyBjw7MgbeG7pWMgZ2hpIHbhu4EgdGnhur9uIHRyw6xuaCAlbGQiCiAKLSM6IGpvYnMuYzoyNTk4CisjOiBqb2JzLmM6MjYwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogbXNnc3RyICJ3YWl0X2Zvcl9qb2I6IGPDtG5nIHZp4buHYyAlZCBi4buLIGThu6tuZyBjaOG6oXkiCiAKLSM6IGpvYnMuYzoyODIwCisjOiBqb2JzLmM6MjgyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogY8O0bmcgdmnhu4djIGLhu4sgY2jhuqVtIGThu6l0IgogCi0jOiBqb2JzLmM6MjgyOQorIzogam9icy5jOjI4MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiBtc2dzdHIgIiVzOiBjw7RuZyB2aeG7h2MgJWQgxJHDoyBjaOG6oXkgdHJvbmcgbuG7gW4iCiAKLSM6IGpvYnMuYzozNDkyCisjOiBqb2JzLmM6MzA1OQorbXNnaWQgIndhaXRjaGxkOiB0dXJuaW5nIG9uIFdOT0hBTkcgdG8gYXZvaWQgaW5kZWZpbml0ZSBibG9jayIKK21zZ3N0ciAiIgorCisjOiBqb2JzLmM6MzUwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbGluZSAlZDogIgogbXNnc3RyICIlczogZMOybmcgJWQ6IgogCi0jOiBqb2JzLmM6MzUwNiBub2pvYnMuYzo4MTQKKyM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKGNvcmUgZHVtcGVkKSIKIG1zZ3N0ciAiIChsw7VpIGLhu4sgxJHhu5UpIgogCi0jOiBqb2JzLmM6MzUxOCBqb2JzLmM6MzUzMQorIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHdkIG5vdzogJXMpXG4iCiBtc2dzdHIgIih3ZCBiw6J5IGdp4budOiAlcylcbiIKIAotIzogam9icy5jOjM1NjMKKyM6IGpvYnMuYzozNTc5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBmYWlsZWQiCiBtc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgYuG7iyBs4buXaSIKIAotIzogam9icy5jOjM2MjMKKyM6IGpvYnMuYzozNjM5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgogbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBr4bu3IGx14bqtdCBkw7JuZyIKIAogIyBOZ2jEqWEgY2jhu68gOiBk4burbmcgZOG7i2NoCi0jOiBqb2JzLmM6MzYzMworIzogam9icy5jOjM2NDkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogCi0jOiBqb2JzLmM6MzY2MQorIzogam9icy5jOjM2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG6t3QgbmjDs20gdGnhur9uIHRyw6xuaCBjdeG7kWkgY8O5bmcgKCVkKSIKIAotIzogam9icy5jOjM2NjYKKyM6IGpvYnMuYzozNjgyCiBtc2dpZCAibm8gam9iIGNvbnRyb2wgaW4gdGhpcyBzaGVsbCIKIG1zZ3N0ciAia2jDtG5nIGPDsyDEkWnhu4F1IGtoaeG7g24gY8O0bmcgdmnhu4djIHRyb25nIHRyw6xuaCBiYW8gbsOgeSIKIApAQCAtMTIzNSw2ICsxMjY4LDI2IEBACiBtc2dpZCAibmV0d29yayBvcGVyYXRpb25zIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgImtow7RuZyBo4buXIHRy4bujIHRoYW8gdMOhYyBt4bqhbmciCiAKKyM6IGxvY2FsZS5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBsb2NhbGUuYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjI0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKK21zZ3N0ciAieHJlYWxsb2M6ICVzOiVkOiBraMO0bmcgdGjhu4MgY+G6pXAgcGjDoXQgJWx1IGJ5dGUiCisKKyM6IGxvY2FsZS5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgInhyZWFsbG9jOiAlczolZDoga2jDtG5nIHRo4buDIGPhuqVwIHBow6F0ICVsdSBieXRlIgorCiAjOiBtYWlsY2hlY2suYzo0MzMKIG1zZ2lkICJZb3UgaGF2ZSBtYWlsIGluICRfIgogbXNnc3RyICJC4bqhbiBjw7MgdGjGsCB0cm9uZyAkXyIKQEAgLTEyNDgsMTMzICsxMzAxLDEzMyBAQAogbXNnaWQgIlRoZSBtYWlsIGluICVzIGhhcyBiZWVuIHJlYWRcbiIKIG1zZ3N0ciAiVGjGsCB0w61uIHRyb25nICVzIMSRw6MgxJHGsOG7o2MgxJHhu41jXG4iCiAKLSM6IG1ha2VfY21kLmM6MzIyCisjOiBtYWtlX2NtZC5jOjMyMwogbXNnaWQgInN5bnRheCBlcnJvcjogYXJpdGhtZXRpYyBleHByZXNzaW9uIHJlcXVpcmVkIgogbXNnc3RyICJs4buXaSBjw7ogcGjDoXA6IGPhuqduIHRoaeG6v3QgYmnhu4N1IHRo4bupYyBz4buRIGjhu41jIgogCi0jOiBtYWtlX2NtZC5jOjMyNAorIzogbWFrZV9jbWQuYzozMjUKIG1zZ2lkICJzeW50YXggZXJyb3I6IGA7JyB1bmV4cGVjdGVkIgogbXNnc3RyICJs4buXaSBjw7ogcGjDoXA6IGThuqV1IGNo4bqlbSBwaOG6qXkgwqsgOyDCuyBi4bqldCB0aMaw4budbmciCiAKLSM6IG1ha2VfY21kLmM6MzI1CisjOiBtYWtlX2NtZC5jOjMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGAoKCVzKSknIgogbXNnc3RyICJs4buXaSBjw7ogcGjDoXA6IGAoKCVzKSknIgogCi0jOiBtYWtlX2NtZC5jOjU2NworIzogbWFrZV9jbWQuYzo1NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9oZXJlX2RvY3VtZW50OiBiYWQgaW5zdHJ1Y3Rpb24gdHlwZSAlZCIKIG1zZ3N0ciAibWFrZV9oZXJlX2RvY3VtZW50OiBraeG7g3UgY2jhu4kgZOG6q24gc2FpICVkIgogCi0jOiBtYWtlX2NtZC5jOjY1MQorIzogbWFrZV9jbWQuYzo2NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVyZS1kb2N1bWVudCBhdCBsaW5lICVkIGRlbGltaXRlZCBieSBlbmQtb2YtZmlsZSAod2FudGVkIGAlcycpIgogbXNnc3RyICIiCiAidMOgaSBsaeG7h3UgbsOgeSDhu58gZMOybmcgJWQgxJHhu4tuaCBnaeG7m2kgYuG6sW5nIGvhur90IHRow7pjIHThuq1wIHRpbiAobW9uZyDEkeG7o2kgwqsgJXMgwrspIgogCi0jOiBtYWtlX2NtZC5jOjc0NgorIzogbWFrZV9jbWQuYzo3NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIm1ha2VfcmVkaXJlY3Rpb246IGNo4buJIGThuqtuIGNodXnhu4NuIGjGsOG7m25nIMKrICVkIMK7IOG7nyBuZ2/huqFpIHBo4bqhbSB2aSIKIAotIzogcGFyc2UueToyOTg2IHBhcnNlLnk6MzIxOAorIzogcGFyc2UueTozMTMzIHBhcnNlLnk6MzM2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgJWMnIgogbXNnc3RyICJn4bq3cCBr4bq/dCB0aMO6YyB04bqtcCB0aW4gYuG6pXQgdGjGsOG7nW5nIHRyb25nIGtoaSB0w6xtIMKrICVjIMK7IHTGsMahbmcg4bupbmciCiAKLSM6IHBhcnNlLnk6MzcyMgorIzogcGFyc2UueTozOTUxCiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAiZ+G6t3Aga+G6v3QgdGjDumMgdOG6rXAgdGluIGLhuqV0IHRoxrDhu51uZyB0cm9uZyBraGkgdMOsbSDCqyBdXSDCuyIKIAotIzogcGFyc2UueTozNzI3CisjOiBwYXJzZS55OjM5NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kgY8O6IHBow6FwIHRyb25nIGJp4buDdSB0aOG7qWMgxJFp4buBdSBraeG7h246IGhp4buHdSBiw6BpIGLhuqV0IHRoxrDhu51uZyDCqyAlcyDCuyIKIAotIzogcGFyc2UueTozNzMxCisjOiBwYXJzZS55OjM5NjAKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kgY8O6IHBow6FwIHRyb25nIGJp4buDdSB0aOG7qWMgxJFp4buBdSBraeG7h24iCiAKLSM6IHBhcnNlLnk6MzgwOQorIzogcGFyc2UueTo0MDM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgogbXNnc3RyICJn4bq3cCBoaeG7h3UgYsOgaSBi4bqldCB0aMaw4budbmcgwqsgJXMgwrssIGPDsm4gbW9uZyDEkeG7o2kgZOG6pXUgbmdv4bq3YyDEkcOzbmcgwqsgKSDCuyIKIAotIzogcGFyc2UueTozODEzCisjOiBwYXJzZS55OjQwNDIKIG1zZ2lkICJleHBlY3RlZCBgKSciCiBtc2dzdHIgIsSR4bujaSBk4bqldSDEkcOzbmcgbmdv4bq3YyDCqyApIMK7IgogCi0jOiBwYXJzZS55OjM4NDEKKyM6IHBhcnNlLnk6NDA3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIsSR4buRaSBz4buRIGLhuqV0IHRoxrDhu51uZyDCqyAlcyDCuyB04bubaSB0b8OhbiB04butIG5ndXnDqm4gcGjDom4gxJFp4buBdSBraeG7h24iCiAKLSM6IHBhcnNlLnk6Mzg0NQorIzogcGFyc2UueTo0MDc0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAixJHhu5FpIHPhu5EgYuG6pXQgdGjGsOG7nW5nIHThu5tpIHRvw6FuIHThu60gbmd1ecOqbiBwaMOibiDEkWnhu4F1IGtp4buHbiIKIAotIzogcGFyc2UueTozODg1CisjOiBwYXJzZS55OjQxMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgImhp4buHdSBiw6BpIGLhuqV0IHRoxrDhu51uZyDCqyAlcyDCuyBjw7JuIMSR4bujaSB0b8OhbiB04butIG5o4buLIHBow6JuIMSRaeG7gXUga2nhu4duIgogCi0jOiBwYXJzZS55OjM4ODkKKyM6IHBhcnNlLnk6NDEyNAogbXNnaWQgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAixJHhu6NpIHRvw6FuIHThu60gbmjhu4sgcGjDom4gxJFp4buBdSBraeG7h24iCiAKLSM6IHBhcnNlLnk6MzkwNgorIzogcGFyc2UueTo0MTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIsSR4buRaSBz4buRIGLhuqV0IHRoxrDhu51uZyDCqyAlcyDCuyB04bubaSB0b8OhbiB04butIG5o4buLIHBow6JuIMSRaeG7gXUga2nhu4duIgogCi0jOiBwYXJzZS55OjM5MTAKKyM6IHBhcnNlLnk6NDE1MAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICLEkeG7kWkgc+G7kSBi4bqldCB0aMaw4budbmcgdOG7m2kgdG/DoW4gdOG7rSBuaOG7iyBwaMOibiDEkWnhu4F1IGtp4buHbiIKIAotIzogcGFyc2UueTozOTIxCisjOiBwYXJzZS55OjQxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgImfhurdwIGhp4buHdSBiw6BpIGLhuqV0IHRoxrDhu51uZyDCqyAlYyDCuyB0cm9uZyBjw6J1IGzhu4duaCDEkWnhu4F1IGtp4buHbiIKIAotIzogcGFyc2UueTozOTI0CisjOiBwYXJzZS55OjQxNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgImfhurdwIGhp4buHdSBiw6BpIGLhuqV0IHRoxrDhu51uZyDCqyAlcyDCuyB0cm9uZyBjw6J1IGzhu4duaCDEkWnhu4F1IGtp4buHbiIKIAotIzogcGFyc2UueTozOTI4CisjOiBwYXJzZS55OjQxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJn4bq3cCBoaeG7h3UgYsOgaSBi4bqldCB0aMaw4budbmcgwqsgJWQgwrsgdHJvbmcgY8OidSBs4buHbmggxJFp4buBdSBraeG7h24iCiAKLSM6IHBhcnNlLnk6NTE5NQorIzogcGFyc2UueTo1NDU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kgY8O6IHBow6FwIOG7nyBn4bqnbiBoaeG7h3UgYsOgaSBi4bqldCB0aMaw4budbmcgwqsgJXMgwrsiCiAKLSM6IHBhcnNlLnk6NTIxMworIzogcGFyc2UueTo1NDc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCiBtc2dzdHIgImfhurdwIGzhu5dpIGPDuiBwaMOhcCBn4bqnbiDCqyAlcyDCuyIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgImzhu5dpIGPDuiBwaMOhcDoga+G6v3QgdGjDumMgdOG6rXAgdGluIGLhuqV0IHRoxrDhu51uZyIKIAotIzogcGFyc2UueTo1MjIzCisjOiBwYXJzZS55OjU0ODcKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgImzhu5dpIGPDuiBwaMOhcCIKIAotIzogcGFyc2UueTo1Mjg1CisjOiBwYXJzZS55OjU1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIFwiJXNcIiB0byBsZWF2ZSB0aGUgc2hlbGwuXG4iCiBtc2dzdHIgIkTDuW5nIMKrICVzIMK7IMSR4buDIHLhu51pIHRyw6xuaCBiYW8uXG4iCiAKLSM6IHBhcnNlLnk6NTQ0NworIzogcGFyc2UueTo1NzExCiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgogbXNnc3RyICIiCiAiZ+G6t3Aga+G6v3QgdGjDumMgdOG6rXAgdGluIGLhuqV0IHRoxrDhu51uZyB0cm9uZyBraGkgdMOsbSBk4bqldSBuZ2/hurdjIMSRw7NuZyDCqyApIMK7IHTGsMahbmcg4bupbmciCiAKLSM6IHBjb21wbGV0ZS5jOjEwMTgKKyM6IHBjb21wbGV0ZS5jOjEwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgImNvbXBsZXRpb246IGtow7RuZyB0w6xtIHRo4bqleSBow6BtIMKrICVzIMK7IgpAQCAtMTM4NCw3MiArMTQzNyw5MSBAQAogbXNnaWQgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiBtc2dzdHIgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiAKLSM6IHByaW50X2NtZC5jOjI4NQorIzogcHJpbnRfY21kLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAicHJpbnRfY29tbWFuZDogYuG7mSBr4bq/dCBu4buRaSBzYWkgwqsgJWQgwrsiCiAKLSM6IHByaW50X2NtZC5jOjEzNDgKKyM6IHByaW50X2NtZC5jOjM2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlX3NldDogJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICIlZDogYuG7mSBtw7QgdOG6oyB04bqtcCB0aW4ga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgorCisjOiBwcmludF9jbWQuYzozNjgKK21zZ2lkICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgorbXNnc3RyICIiCisKKyM6IHByaW50X2NtZC5jOjE0NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3ByaW50ZjogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJjcHJpbnRmOiDCqyAlYyDCuzoga8O9IHThu7EgxJHhu4tuaCBk4bqhbmcga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IHJlZGlyLmM6MTA1CisjOiByZWRpci5jOjExMAogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgImLhu5kgbcO0IHThuqMgdOG6rXAgdGluIOG7nyBuZ2/huqFpIHBo4bqhbSB2aSIKIAotIzogcmVkaXIuYzoxNDgKKyM6IHJlZGlyLmM6MTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QiCiBtc2dzdHIgIiVzOiBs4budaSBjaHV54buDbiBoxrDhu5tuZyBtxqEgaOG7kyIKIAotIzogcmVkaXIuYzoxNTIKKyM6IHJlZGlyLmM6MTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgZ2hpIMSRw6ggbMOqbiB04bqtcCB0aW4gxJHDoyBjw7MiCiAKLSM6IHJlZGlyLmM6MTU3CisjOiByZWRpci5jOjE3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHJlZGlyZWN0IG91dHB1dCIKIG1zZ3N0ciAiJXM6IGLhu4sgaOG6oW4gY2jhur86IGtow7RuZyB0aOG7gyBjaHV54buDbiBoxrDhu5tuZyBr4bq/dCB4deG6pXQiCiAKLSM6IHJlZGlyLmM6MTYyCisjOiByZWRpci5jOjE4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIHRlbXAgZmlsZSBmb3IgaGVyZS1kb2N1bWVudDogJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyB04bqtcCB0aW4gdOG6oW0gdGjhu51pIGNobyB0w6BpIGxp4buHdSBuw6B5OiAlcyIKIAotIzogcmVkaXIuYzo1MTcKKyM6IHJlZGlyLmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKK21zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBnw6FuIGRhbmggc8OhY2ggY2hvIGLhu5kgcGjhuq1uIGPhu6dhIG3huqNuZyIKKworIzogcmVkaXIuYzo1NDQKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiBtc2dzdHIgIiIKICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6Mga2hpIGtow7RuZyBjw7MgY2jhu6ljIG7Eg25nIGNo4bqheSBt4bqhbmciCiAKLSM6IHJlZGlyLmM6MTAyMworIzogcmVkaXIuYzoxMTAxCiBtc2dpZCAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCiBtc2dzdHIgImfhurdwIGzhu5dpIGNodXnhu4NuIGjGsOG7m25nIG7Dqm4ga2jDtG5nIHRo4buDIG5ow6JuIMSRw7RpIGZkIgogCi0jOiBzaGVsbC5jOjMyOAorIzogc2hlbGwuYzozMzIKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIG1zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IMKrIC90bXAgwrssIGjDo3kgdOG6oW8uIgogCi0jOiBzaGVsbC5jOjMzMgorIzogc2hlbGwuYzozMzYKIG1zZ2lkICIvdG1wIG11c3QgYmUgYSB2YWxpZCBkaXJlY3RvcnkgbmFtZSIKIG1zZ3N0ciAiwqsgL3RtcCDCuyBwaOG6o2kgbMOgIHTDqm4gdGjGsCBt4bulYyBo4bujcCBs4buHIgogCi0jOiBzaGVsbC5jOjg3NgorIzogc2hlbGwuYzo4ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWMlYzogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVjJWM6IHTDuXkgY2jhu41uIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBzaGVsbC5jOjE2MzgKKyM6IHNoZWxsLmM6MTY1MQogbXNnaWQgIkkgaGF2ZSBubyBuYW1lISIKIG1zZ3N0ciAiS2jDtG5nIGPDsyB0w6puLiIKIAotIzogc2hlbGwuYzoxNzc4CisjOiBzaGVsbC5jOjE3OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgogbXNnc3RyICJiYXNoIGPhu6dhIEdOVSwgcGhpw6puIGLhuqNuICVzLSglcylcbiIKIAotIzogc2hlbGwuYzoxNzc5CisjOiBzaGVsbC5jOjE3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCkBAIC0xNDU4LDMzMyArMTUzMCwzMzkgQEAKICJT4butIGThu6VuZzpcdCVzIFt0w7l5IGNo4buNbiBHTlUgZMOgaV0gW3TDuXkgY2jhu41uXSAuLi5cbiIKICJcdCVzIFt0w7l5IGNo4buNbiBHTlUgZMOgaV0gW3TDuXkgY2jhu41uXSB04bqtcC10aW4tdsSDbi1s4buHbmggLi4uXG4iCiAKLSM6IHNoZWxsLmM6MTc4MQorIzogc2hlbGwuYzoxNzk2CiBtc2dpZCAiR05VIGxvbmcgb3B0aW9uczpcbiIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gR05VIGTDoGk6XG4iCiAKLSM6IHNoZWxsLmM6MTc4NQorIzogc2hlbGwuYzoxODAwCiBtc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gdHLDrG5oIGJhbyA6XG4iCiAKLSM6IHNoZWxsLmM6MTc4NgorIzogc2hlbGwuYzoxODAxCiBtc2dpZCAiXHQtaXJzRCBvciAtYyBjb21tYW5kIG9yIC1PIHNob3B0X29wdGlvblx0XHQoaW52b2NhdGlvbiBvbmx5KVxuIgogbXNnc3RyICJcdC1pcnNEIGhv4bq3YyAtYyBs4buHbmggb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChjaOG7iSBjdeG7mWMgZ+G7jWkpXG4iCiAKLSM6IHNoZWxsLmM6MTgwMQorIzogc2hlbGwuYzoxODE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgogbXNnc3RyICJcdC0lcyBob+G6t2MgLW8gdMO5eSBjaOG7jW5cbiIKIAotIzogc2hlbGwuYzoxODA3CisjOiBzaGVsbC5jOjE4MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgXCJoZWxwIHNldFwiJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBvcHRpb25zLlxuIgogbXNnc3RyICIiCiAiR8O1IGPDonUgbOG7h25oIHRy4bujIGdpw7pwIMKrICVzIC1jIFwiaGVscCBzZXRcIiDCuyDEkeG7gyB4ZW0gdGjDqm0gdGjDtG5nIHRpbiB24buBIGPDoWMgdMO5eSAiCiAiY2jhu41uIHRyw6xuaCBiYW8uXG4iCiAKLSM6IHNoZWxsLmM6MTgwOAorIzogc2hlbGwuYzoxODIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIGhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIGJ1aWx0aW4gY29tbWFuZHMuXG4iCiBtc2dzdHIgIiIKICJHw7UgY8OidSBs4buHbmggdHLhu6MgZ2nDunAgwqsgJXMgLWMgaGVscCDCuyDEkeG7gyB4ZW0gdGjDqm0gdGjDtG5nIHRpbiB24buBIGPDoWMgY8OidSBs4buHbmggIgogInRyw6xuaCBiYW8gZOG7sW5nIHPhurVuLlxuIgogCi0jOiBzaGVsbC5jOjE4MDkKKyM6IHNoZWxsLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgdGhlIGBiYXNoYnVnJyBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgogbXNnc3RyICJEw7luZyBs4buHbmggwqsgYmFzaGJ1ZyDCuyDEkeG7gyB0aMO0bmcgYsOhbyBs4buXaS5cbiIKIAotIzogc2lnLmM6NTgzCisjOiBzaWcuYzo2MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAic2lncHJvY21hc2s6ICVkOiB0aGFvIHTDoWMga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IHNpZ2xpc3QuYzo0NworIzogc2lnbGlzdC5jOjQ4CiBtc2dpZCAiQm9ndXMgc2lnbmFsIgogbXNnc3RyICJUw61uIGhp4buHdSBnaeG6oyIKIAotIzogc2lnbGlzdC5jOjUwCisjOiBzaWdsaXN0LmM6NTEKIG1zZ2lkICJIYW5ndXAiCiBtc2dzdHIgIlRyZW8gbcOheSIKIAotIzogc2lnbGlzdC5jOjU0CisjOiBzaWdsaXN0LmM6NTUKIG1zZ2lkICJJbnRlcnJ1cHQiCiBtc2dzdHIgIkdpw6FuIMSRb+G6oW4iCiAKLSM6IHNpZ2xpc3QuYzo1OAorIzogc2lnbGlzdC5jOjU5CiBtc2dpZCAiUXVpdCIKIG1zZ3N0ciAiVGhvw6F0IgogCi0jOiBzaWdsaXN0LmM6NjIKKyM6IHNpZ2xpc3QuYzo2MwogbXNnaWQgIklsbGVnYWwgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIkPDonUgbOG7h25oIGtow7RuZyDEkcaw4bujYyBwaMOpcCIKIAotIzogc2lnbGlzdC5jOjY2CisjOiBzaWdsaXN0LmM6NjcKIG1zZ2lkICJCUFQgdHJhY2UvdHJhcCIKIG1zZ3N0ciAiVGhlbyB24bq/dC/EkeG6t3QgYuG6q3kgQlBUIgogCi0jOiBzaWdsaXN0LmM6NzQKKyM6IHNpZ2xpc3QuYzo3NQogbXNnaWQgIkFCT1JUIGluc3RydWN0aW9uIgogbXNnc3RyICJDw6J1IGzhu4duaCBI4bumWSBC4buOIgogCi0jOiBzaWdsaXN0LmM6NzgKKyM6IHNpZ2xpc3QuYzo3OQogbXNnaWQgIkVNVCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiQ8OidSBs4buHbmggRU1UIgogCi0jOiBzaWdsaXN0LmM6ODIKKyM6IHNpZ2xpc3QuYzo4MwogbXNnaWQgIkZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiIKIG1zZ3N0ciAiTmdv4bqhaSBs4buHIGNo4bqlbSDEkeG7mW5nIgogCi0jOiBzaWdsaXN0LmM6ODYKKyM6IHNpZ2xpc3QuYzo4NwogbXNnaWQgIktpbGxlZCIKIG1zZ3N0ciAiQuG7iyBnaeG6v3QiCiAKLSM6IHNpZ2xpc3QuYzo5MAorIzogc2lnbGlzdC5jOjkxCiBtc2dpZCAiQnVzIGVycm9yIgogbXNnc3RyICJs4buXaSBt4bqhY2ggbuG7kWkiCiAKLSM6IHNpZ2xpc3QuYzo5NAorIzogc2lnbGlzdC5jOjk1CiBtc2dpZCAiU2VnbWVudGF0aW9uIGZhdWx0IgogbXNnc3RyICJM4buXaSBjaGlhIHJhIHThu6tuZyDEkW/huqFuIgogCi0jOiBzaWdsaXN0LmM6OTgKKyM6IHNpZ2xpc3QuYzo5OQogbXNnaWQgIkJhZCBzeXN0ZW0gY2FsbCIKIG1zZ3N0ciAiU2FpIGfhu41pIGjhu4cgdGjhu5FuZyIKIAotIzogc2lnbGlzdC5jOjEwMgorIzogc2lnbGlzdC5jOjEwMwogbXNnaWQgIkJyb2tlbiBwaXBlIgogbXNnc3RyICLhu5BuZyBk4bqrbiBi4buLIGjhu49uZyIKIAotIzogc2lnbGlzdC5jOjEwNgorIzogc2lnbGlzdC5jOjEwNwogbXNnaWQgIkFsYXJtIGNsb2NrIgogbXNnc3RyICLEkOG7k25nIGjhu5MgYsOhbyB0aOG7qWMiCiAKLSM6IHNpZ2xpc3QuYzoxMTAKKyM6IHNpZ2xpc3QuYzoxMTEKIG1zZ2lkICJUZXJtaW5hdGVkIgogbXNnc3RyICJC4buLIGNo4bqlbSBk4bupdCIKIAotIzogc2lnbGlzdC5jOjExNAorIzogc2lnbGlzdC5jOjExNQogbXNnaWQgIlVyZ2VudCBJTyBjb25kaXRpb24iCiBtc2dzdHIgIsSQaeG7gXUga2nhu4duIFZSIGfhuqVwIgogCi0jOiBzaWdsaXN0LmM6MTE4CisjOiBzaWdsaXN0LmM6MTE5CiBtc2dpZCAiU3RvcHBlZCAoc2lnbmFsKSIKIG1zZ3N0ciAiQuG7iyBk4burbmcgKHTDrW4gaGnhu4d1KSIKIAotIzogc2lnbGlzdC5jOjEyNgorIzogc2lnbGlzdC5jOjEyNwogbXNnaWQgIkNvbnRpbnVlIgogbXNnc3RyICJUaeG6v3AgdOG7pWMiCiAKLSM6IHNpZ2xpc3QuYzoxMzQKKyM6IHNpZ2xpc3QuYzoxMzUKIG1zZ2lkICJDaGlsZCBkZWF0aCBvciBzdG9wIgogbXNnc3RyICJUaeG6v24gdHLDrG5oIGNvbiDEkcOjIGdp4bq/dCBob+G6t2MgZOG7q25nIgogCi0jOiBzaWdsaXN0LmM6MTM4CisjOiBzaWdsaXN0LmM6MTM5CiBtc2dpZCAiU3RvcHBlZCAodHR5IGlucHV0KSIKIG1zZ3N0ciAiQuG7iyBk4burbmcgKHR0eSBuaOG6rXApIgogCi0jOiBzaWdsaXN0LmM6MTQyCisjOiBzaWdsaXN0LmM6MTQzCiBtc2dpZCAiU3RvcHBlZCAodHR5IG91dHB1dCkiCiBtc2dzdHIgIkLhu4sgZOG7q25nICh0dHkgeHXhuqV0KSIKIAotIzogc2lnbGlzdC5jOjE0NgorIzogc2lnbGlzdC5jOjE0NwogbXNnaWQgIkkvTyByZWFkeSIKIG1zZ3N0ciAiVi9SIHPhurVuIHPDoG5nIgogCi0jOiBzaWdsaXN0LmM6MTUwCisjOiBzaWdsaXN0LmM6MTUxCiBtc2dpZCAiQ1BVIGxpbWl0IgogbXNnc3RyICJHaeG7m2kgaOG6oW4gQ1BVIgogCi0jOiBzaWdsaXN0LmM6MTU0CisjOiBzaWdsaXN0LmM6MTU1CiBtc2dpZCAiRmlsZSBsaW1pdCIKIG1zZ3N0ciAiR2nhu5tpIGjhuqFuIHThuq1wIHRpbiIKIAotIzogc2lnbGlzdC5jOjE1OAorIzogc2lnbGlzdC5jOjE1OQogbXNnaWQgIkFsYXJtICh2aXJ0dWFsKSIKIG1zZ3N0ciAiQsOhbyDEkeG7mW5nICjhuqNvKSIKIAotIzogc2lnbGlzdC5jOjE2MgorIzogc2lnbGlzdC5jOjE2MwogbXNnaWQgIkFsYXJtIChwcm9maWxlKSIKIG1zZ3N0ciAiQsOhbyDEkeG7mW5nICho4buTIHPGoSkiCiAKLSM6IHNpZ2xpc3QuYzoxNjYKKyM6IHNpZ2xpc3QuYzoxNjcKIG1zZ2lkICJXaW5kb3cgY2hhbmdlZCIKIG1zZ3N0ciAiQ+G7rWEgc+G7lSBi4buLIHRoYXkgxJHhu5VpIgogCi0jOiBzaWdsaXN0LmM6MTcwCisjOiBzaWdsaXN0LmM6MTcxCiBtc2dpZCAiUmVjb3JkIGxvY2siCiBtc2dzdHIgIk3hu6VjIGdoaSBi4buLIGtob8OhIgogCi0jOiBzaWdsaXN0LmM6MTc0CisjOiBzaWdsaXN0LmM6MTc1CiBtc2dpZCAiVXNlciBzaWduYWwgMSIKIG1zZ3N0ciAiVMOtbiBoaeG7h3UgbmfGsOG7nWkgZMO5bmcgMSIKIAotIzogc2lnbGlzdC5jOjE3OAorIzogc2lnbGlzdC5jOjE3OQogbXNnaWQgIlVzZXIgc2lnbmFsIDIiCiBtc2dzdHIgIlTDrW4gaGnhu4d1IG5nxrDhu51pIGTDuW5nIDIiCiAKLSM6IHNpZ2xpc3QuYzoxODIKKyM6IHNpZ2xpc3QuYzoxODMKIG1zZ2lkICJIRlQgaW5wdXQgZGF0YSBwZW5kaW5nIgogbXNnc3RyICJE4buvIGxp4buHdSBuaOG6rXAgSEZUIGLhu4sgaG/Do24iCiAKLSM6IHNpZ2xpc3QuYzoxODYKKyM6IHNpZ2xpc3QuYzoxODcKIG1zZ2lkICJwb3dlciBmYWlsdXJlIGltbWluZW50IgogbXNnc3RyICJz4bqvcCBi4buLIGPDunAgxJFp4buHbiDEkeG7mXQgbmfhu5l0IgogCi0jOiBzaWdsaXN0LmM6MTkwCisjOiBzaWdsaXN0LmM6MTkxCiBtc2dpZCAic3lzdGVtIGNyYXNoIGltbWluZW50IgogbXNnc3RyICJo4buHIHRo4buRbmcgc+G6r3Agc+G7pXAgxJHhu5UiCiAKLSM6IHNpZ2xpc3QuYzoxOTQKKyM6IHNpZ2xpc3QuYzoxOTUKIG1zZ2lkICJtaWdyYXRlIHByb2Nlc3MgdG8gYW5vdGhlciBDUFUiCiBtc2dzdHIgImNodXnhu4NuIHRp4bq/biB0csOsbmggc2FuZyBDUFUga2jDoWMiCiAKLSM6IHNpZ2xpc3QuYzoxOTgKKyM6IHNpZ2xpc3QuYzoxOTkKIG1zZ2lkICJwcm9ncmFtbWluZyBlcnJvciIKIG1zZ3N0ciAibOG7l2kgbOG6rXAgdHLDrG5oIgogCi0jOiBzaWdsaXN0LmM6MjAyCisjOiBzaWdsaXN0LmM6MjAzCiBtc2dpZCAiSEZUIG1vbml0b3IgbW9kZSBncmFudGVkIgogbXNnc3RyICJDw7MgY2jhur8gxJHhu5kgbcOgbiBow6xuaCBIRlQiCiAKLSM6IHNpZ2xpc3QuYzoyMDYKKyM6IHNpZ2xpc3QuYzoyMDcKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIHJldHJhY3RlZCIKIG1zZ3N0ciAiS2jDtG5nIGPDsyBjaOG6vyDEkeG7mSBtw6BuIGjDrG5oIEhGVCIKIAotIzogc2lnbGlzdC5jOjIxMAorIzogc2lnbGlzdC5jOjIxMQogbXNnaWQgIkhGVCBzb3VuZCBzZXF1ZW5jZSBoYXMgY29tcGxldGVkIgogbXNnc3RyICLEkMOjIGhvw6BuIHRow6BuaCBjaHXhu5dpIMOibSB0aGFuaCBIRlQiCiAKLSM6IHNpZ2xpc3QuYzoyMTQKKyM6IHNpZ2xpc3QuYzoyMTUKIG1zZ2lkICJJbmZvcm1hdGlvbiByZXF1ZXN0IgogbXNnc3RyICJ5w6p1IGPhuqd1IHRow7RuZyB0aW4iCiAKLSM6IHNpZ2xpc3QuYzoyMjIKKyM6IHNpZ2xpc3QuYzoyMjMKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjIgogbXNnc3RyICJLaMO0bmcgcsO1IHTDrW4gaGnhu4d1ICMiCiAKLSM6IHNpZ2xpc3QuYzoyMjQKKyM6IHNpZ2xpc3QuYzoyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyVkIgogbXNnc3RyICJLaMO0bmcgcsO1IHTDrW4gaGnhu4d1ICMlZCIKIAotIzogc3Vic3QuYzoxMTgxIHN1YnN0LmM6MTMwMgorIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTQ1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIGAlcycgaW4gJXMiCiBtc2dzdHIgInNhaSB0aGF5IHRo4bq/OiBraMO0bmcgY8OzIMKrICVzIMK7IMSRw7NuZyB0cm9uZyAlcyIKIAotIzogc3Vic3QuYzoyNDU4CisjOiBzdWJzdC5jOjI3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gbGlzdCB0byBhcnJheSBtZW1iZXIiCiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgZ8OhbiBkYW5oIHPDoWNoIGNobyBi4buZIHBo4bqtbiBj4bunYSBt4bqjbmciCiAKLSM6IHN1YnN0LmM6NDQ1NiBzdWJzdC5jOjQ0NzIKKyM6IHN1YnN0LmM6NDc1NCBzdWJzdC5jOjQ3NzAKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIOG7kW5nIGThuqtuIMSR4buDIHRoYXkgdGjhur8gdGnhur9uIHRyw6xuaCIKIAotIzogc3Vic3QuYzo0NTA0CisjOiBzdWJzdC5jOjQ4MDIKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyB0aeG6v24gdHLDrG5oIGNvbiDEkeG7gyB0aGF5IHRo4bq/IHRp4bq/biB0csOsbmgiCiAKLSM6IHN1YnN0LmM6NDU0OQorIzogc3Vic3QuYzo0ODQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHJlYWRpbmciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIOG7kW5nIGThuqtuIMSR4bq3dCB0w6puICVzIMSR4buDIMSR4buNYyIKIAotIzogc3Vic3QuYzo0NTUxCisjOiBzdWJzdC5jOjQ4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58g4buRbmcgZOG6q24gxJHhurd0IHTDqm4gJXMgxJHhu4MgZ2hpIgogCi0jOiBzdWJzdC5jOjQ1NjkKKyM6IHN1YnN0LmM6NDg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBuaMOibiDEkcO0aSDhu5FuZyBk4bqrbiDEkeG6t3QgdMOqbiAlcyB0aMOgbmggZmQgJWQiCiAKLSM6IHN1YnN0LmM6NDc2NQorIzogc3Vic3QuYzo1MDYzCiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyDhu5FuZyBk4bqrbiDEkeG7gyB0aGF5IHRo4bq/IGzhu4duaCIKIAotIzogc3Vic3QuYzo0Nzk5CisjOiBzdWJzdC5jOjUwOTcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyB0aeG6v24gdHLDrG5oIGNvbiDEkeG7gyB0aGF5IHRo4bq/IGzhu4duaCIKIAotIzogc3Vic3QuYzo0ODE2CisjOiBzdWJzdC5jOjUxMTQKIG1zZ2lkICJjb21tYW5kX3N1YnN0aXR1dGU6IGNhbm5vdCBkdXBsaWNhdGUgcGlwZSBhcyBmZCAxIgogbXNnc3RyICJjb21tYW5kX3N1YnN0aXR1dGU6IGtow7RuZyB0aOG7gyBuaMOibiDEkcO0aSDhu5FuZyBk4bqrbiB0aMOgbmggZmQgMSIKIAotIzogc3Vic3QuYzo1MzE4CisjOiBzdWJzdC5jOjU2MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCiBtc2dzdHIgIiVzOiB0aGFtIHPhu5EgdsO0IGdpw6EgdHLhu4sgaG/hurdjIGNoxrBhIMSRxrDhu6NjIMSR4bq3dCIKIAotIzogc3Vic3QuYzo1NjA4CisjOiBzdWJzdC5jOjU5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKIG1zZ3N0ciAiJXM6IGJp4buDdSB0aOG7qWMgY2h14buXaSBwaOG7pSA8IDAiCiAKLSM6IHN1YnN0LmM6NjY2MAorIzogc3Vic3QuYzo2OTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIlczogc2FpIHRoYXkgdGjhur8iCiAKLSM6IHN1YnN0LmM6Njc0MAorIzogc3Vic3QuYzo3MDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJCVzOiBraMO0bmcgdGjhu4MgZ8OhbiBi4bqxbmcgY8OhY2ggbsOgeSIKIAotIzogc3Vic3QuYzo3NDk5CisjOiBzdWJzdC5jOjczNzQKK21zZ2lkICIiCisiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyAiCisic3Vic3RpdHV0aW9uIgorbXNnc3RyICIiCisKKyM6IHN1YnN0LmM6NzgzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgogbXNnc3RyICJzYWkgdGhheSB0aOG6vzoga2jDtG5nIGPDsyDCqyBgIMK7IMSRw7NuZyB0cm9uZyAlcyIKIAotIzogc3Vic3QuYzo4Mzc1CisjOiBzdWJzdC5jOjg3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICJraMO0bmcga2jhu5twOiAlcyIKIAotIzogdGVzdC5jOjE0NQorIzogdGVzdC5jOjE0NgogbXNnaWQgImFyZ3VtZW50IGV4cGVjdGVkIgogbXNnc3RyICJtb25nIMSR4bujaSDEkeG7kWkgc+G7kSIKIAotIzogdGVzdC5jOjE1NAorIzogdGVzdC5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW50ZWdlciBleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICIlczogxJHhu6NpIGJp4buDdSB0aOG7qWMgc+G7kSBuZ3V5w6puIgogCi0jOiB0ZXN0LmM6MjYyCisjOiB0ZXN0LmM6MjYzCiBtc2dpZCAiYCknIGV4cGVjdGVkIgogbXNnc3RyICLEkeG7o2kgZOG6pXUgbmdv4bq3YyDEkcOzbmcgwqsgKSDCuyIKIAotIzogdGVzdC5jOjI2NAorIzogdGVzdC5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICLEkeG7o2kgZOG6pXUgbmdv4bq3YyDEkcOzbmcgwqsgKSDCuywgY8OybiB0w6xtICVzIgogCi0jOiB0ZXN0LmM6Mjc5IHRlc3QuYzo2ODggdGVzdC5jOjY5MQorIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogxJHhu6NpIHRvw6FuIHThu60gbmd1ecOqbiBwaMOibiIKIAotIzogdGVzdC5jOjQ0NCB0ZXN0LmM6NzMxCisjOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IMSR4bujaSB0b8OhbiB04butIG5o4buLIHBow6JuIgogCi0jOiB0ZXN0LmM6ODA2CisjOiB0ZXN0LmM6ODExCiBtc2dpZCAibWlzc2luZyBgXSciCiBtc2dzdHIgInRoaeG6v3UgZOG6pXUgbmdv4bq3YyB24bulIMSRw7NuZyDCqyBdIMK7IgogCi0jOiB0cmFwLmM6MjAxCisjOiB0cmFwLmM6MjAzCiBtc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgogbXNnc3RyICJz4buRIHRo4bupIHThu7EgdMOtbiBoaeG7h3Uga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IHRyYXAuYzozMjQKKyM6IHRyYXAuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVuX3BlbmRpbmdfdHJhcHM6IGJhZCB2YWx1ZSBpbiB0cmFwX2xpc3RbJWRdOiAlcCIKIG1zZ3N0ciAicnVuX3BlbmRpbmdfdHJhcHM6IGdpw6EgdHLhu4sgc2FpIHRyb25nIGRhbmggc8OhY2ggdHJhcF9saXN0WyVkXTogJXAiCiAKLSM6IHRyYXAuYzozMjgKKyM6IHRyYXAuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCkBAIC0xNzkyLDYwICsxODcwLDc0IEBACiAicnVuX3BlbmRpbmdfdHJhcHM6IGLhu5kgeOG7rSBsw70gdMOtbiBoaeG7h3UgbMOgIFNJR19ERkwsIMSRYW5nIGfhu61pIGzhuqFpICVkICglcykgY2hvICIKICJtw6xuaCIKIAotIzogdHJhcC5jOjM3MgorIzogdHJhcC5jOjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFwX2hhbmRsZXI6IGJhZCBzaWduYWwgJWQiCiBtc2dzdHIgInRyYXBfaGFuZGxlcjogdMOtbiBoaeG7h3Ugc2FpICVkIgogCi0jOiB2YXJpYWJsZXMuYzozNTgKKyM6IHZhcmlhYmxlcy5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBpbXBvcnRpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbiBmb3IgYCVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIG5o4bqtcCBs4budaSB4w6FjIMSR4buLbmggaMOgbSBjaG8gwqsgJXMgwrsiCiAKLSM6IHZhcmlhYmxlcy5jOjczNgorIzogdmFyaWFibGVzLmM6NzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICJj4bqlcCB0csOsbmggYmFvICglZCkgcXXDoSBjYW8gbsOqbiDEkeG6t3QgbOG6oWkgdGjDoG5oIDEiCiAKLSM6IHZhcmlhYmxlcy5jOjE4OTgKKyM6IHZhcmlhYmxlcy5jOjE5MTUKIG1zZ2lkICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIm1ha2VfbG9jYWxfdmFyaWFibGU6IGtow7RuZyBjw7Mgbmfhu68gY+G6o25oIGjDoG0g4bufIHBo4bqhbSB2aSBoaeG7h24gdGjhu51pIgogCi0jOiB2YXJpYWJsZXMuYzozMTI3CisjOiB2YXJpYWJsZXMuYzozMTU5CiBtc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICJhbGxfbG9jYWxfdmFyaWFibGVzOiBraMO0bmcgY8OzIG5n4buvIGPhuqNuaCBow6BtIOG7nyBwaOG6oW0gdmkgaGnhu4duIHRo4budaSIKIAotIzogdmFyaWFibGVzLmM6MzM0NCB2YXJpYWJsZXMuYzozMzUzCisjOiB2YXJpYWJsZXMuYzozMzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCittc2dzdHIgIiVzOiB0aGFtIHPhu5EgdsO0IGdpw6EgdHLhu4sgaG/hurdjIGNoxrBhIMSRxrDhu6NjIMSR4bq3dCIKKworIzogdmFyaWFibGVzLmM6MzM4MSB2YXJpYWJsZXMuYzozMzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY2hhcmFjdGVyICVkIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgInNhaSBrw70gdOG7sSAlZCB0cm9uZyBjaHXhu5dpIGV4cG9ydHN0ciBjaG8gJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNTkKKyM6IHZhcmlhYmxlcy5jOjMzOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgImtow7RuZyBjw7MgZOG6pXUgYuG6sW5nIMKrID0gwrsgdHJvbmcgY2h14buXaSBleHBvcnRzdHIgY2hvICVzIgogCi0jOiB2YXJpYWJsZXMuYzozNzk0CisjOiB2YXJpYWJsZXMuYzozODM1CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSBmdW5jdGlvbiBjb250ZXh0IgogbXNnc3RyICIiCiAicG9wX3Zhcl9jb250ZXh0OiDEkeG6p3UgY+G7p2Egc2hlbGxfdmFyaWFibGVzIChjw6FjIGJp4bq/biB0csOsbmggYmFvKSBraMO0bmcgcGjhuqNpIGzDoCAiCiAibmfhu68gY+G6o25oIGjDoG0iCiAKLSM6IHZhcmlhYmxlcy5jOjM4MDcKKyM6IHZhcmlhYmxlcy5jOjM4NDgKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IG5vIGdsb2JhbF92YXJpYWJsZXMgY29udGV4dCIKIG1zZ3N0ciAiIgogInBvcF92YXJfY29udGV4dDoga2jDtG5nIGPDsyBuZ+G7ryBj4bqjbmggZ2xvYmFsX3ZhcmlhYmxlcyAoY8OhYyBiaeG6v24gdG/DoG4gY+G7pWMpIgogCi0jOiB2YXJpYWJsZXMuYzozODgxCisjOiB2YXJpYWJsZXMuYzozOTIyCiBtc2dpZCAicG9wX3Njb3BlOiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgc2NvcGUiCiBtc2dzdHIgIiIKICJwb3Bfc2NvcGU6IMSR4bqndSBj4bunYSBzaGVsbF92YXJpYWJsZXMgKGPDoWMgYmnhur9uIHRyw6xuaCBiYW8pIGtow7RuZyBwaOG6o2kgbMOgIHBo4bqhbSAiCiAidmkgbcO0aSB0csaw4budbmcgdOG6oW0gdGjhu51pIgogCisjOiB2YXJpYWJsZXMuYzo0Njc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCittc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgbeG7nyA6ICVzIgorCisjOiB2YXJpYWJsZXMuYzo0NjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGludmFsaWQgdmFsdWUgZm9yIHRyYWNlIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiJWQ6IGLhu5kgbcO0IHThuqMgdOG6rXAgdGluIGtow7RuZyBo4bujcCBs4buHOiAlcyIKKwogIzogdmVyc2lvbi5jOjQ2Ci0jLCBmdXp6eQogbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCi1tc2dzdHIgIlTDoWMgcXV54buBbiDCqSBuxINtIDIwMDggY+G7p2EgVOG7lSBjaOG7qWMgUGjhuqduIG3hu4FtIFThu7EgZG8uIgorbXNnc3RyICJUw6FjIHF1eeG7gW4gwqkgbsSDbSAyMDA5IGPhu6dhIFThu5UgY2jhu6ljIFBo4bqnbiBt4buBbSBU4buxIGRvLiIKIAogIzogdmVyc2lvbi5jOjQ3CiBtc2dpZCAiIgpAQCAtMTg1NSw2MiArMTk0Nyw1NSBAQAogIkdp4bqleSBwaMOpcCBHUEx2Mys6IEdp4bqleSBQaMOpcCBDw7RuZyBD4buZbmcgR05VIHBoacOqbiBi4bqjbiAzIGhheSBzYXUgPGh0dHA6Ly9nbnUuIgogIm9yZy9saWNlbnNlcy9ncGwuaHRtbD5cbiIKIAotIzogdmVyc2lvbi5jOjg2CisjOiB2ZXJzaW9uLmM6ODYgdmVyc2lvbjIuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcyAoJXMpXG4iCiBtc2dzdHIgImJhc2ggY+G7p2EgR05VLCBwaGnDqm4gYuG6o24gJXMgKCVzKVxuIgogCi0jOiB2ZXJzaW9uLmM6OTEKKyM6IHZlcnNpb24uYzo5MSB2ZXJzaW9uMi5jOjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmlidXRlIGl0LlxuIgogbXNnc3RyICLEkMOieSBsw6AgcGjhuqduIG3hu4FtIHThu7EgZG8gdGjDrCBi4bqhbiBjw7MgcXV54buBbiBz4butYSDEkeG7lWkgdsOgIHBow6F0IGjDoG5oIGzhuqFpIG7Dsy5cbiIKIAotIzogdmVyc2lvbi5jOjkyCisjOiB2ZXJzaW9uLmM6OTIgdmVyc2lvbjIuYzo4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGVyZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3LlxuIgogbXNnc3RyICJLSMOUTkcgQuG6ok8gxJDhuqJNIEfDjCBD4bqiLCB24bubaSDEkWnhu4F1IGtp4buHbiDEkcaw4bujYyBwaMOhcCBsdeG6rXQgY2hvIHBow6lwLlxuIgogCi0jOiB4bWFsbG9jLmM6OTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjOiB2ZXJzaW9uMi5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCittc2dzdHIgIlTDoWMgcXV54buBbiDCqSBuxINtIDIwMDkgY+G7p2EgVOG7lSBjaOG7qWMgUGjhuqduIG3hu4FtIFThu7EgZG8uIgorCisjOiB2ZXJzaW9uMi5jOjg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiTGljZW5zZSBHUEx2Mis6IEdOVSBHUEwgdmVyc2lvbiAyIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgorImh0bWw+XG4iCittc2dzdHIgIiIKKyJHaeG6pXkgcGjDqXAgR1BMdjMrOiBHaeG6pXkgUGjDqXAgQ8O0bmcgQ+G7mW5nIEdOVSBwaGnDqm4gYuG6o24gMyBoYXkgc2F1IDxodHRwOi8vZ251LiIKKyJvcmcvbGljZW5zZXMvZ3BsLmh0bWw+XG4iCisKKyM6IHhtYWxsb2MuYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgogbXNnc3RyICJ4bWFsbG9jOiBraMO0bmcgdGjhu4MgY+G6pXAgcGjDoXQgJWx1IGJ5dGUgKCVsdSBieXRlIMSRw6MgY+G6pXAgcGjDoXQpIgogCi0jOiB4bWFsbG9jLmM6OTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKKyM6IHhtYWxsb2MuYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCiBtc2dzdHIgInhtYWxsb2M6IGtow7RuZyB0aOG7gyBj4bqlcCBwaMOhdCAlbHUgYnl0ZSIKIAotIzogeG1hbGxvYy5jOjExNAotIywgYy1mb3JtYXQKLW1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAieHJlYWxsb2M6IGtow7RuZyB0aOG7gyBj4bqlcCBwaMOhdCBs4bqhaSAlbHUgYnl0ZSAoJWx1IGJ5dGUgxJHDoyBj4bqlcCBwaMOhdCkiCi0KLSM6IHhtYWxsb2MuYzoxMTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhyZWFsbG9jOiBraMO0bmcgdGjhu4MgY+G6pXAgcGjDoXQgJWx1IGJ5dGUiCi0KLSM6IHhtYWxsb2MuYzoxNTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorIzogeG1hbGxvYy5jOjE2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKIG1zZ3N0ciAieG1hbGxvYzogJXM6JWQ6IGtow7RuZyB0aOG7gyBj4bqlcCBwaMOhdCAlbHUgYnl0ZSAoJWx1IGJ5dGUgxJHDoyBj4bqlcCBwaMOhdCkiCiAKLSM6IHhtYWxsb2MuYzoxNTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCisjOiB4bWFsbG9jLmM6MTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCiBtc2dzdHIgInhtYWxsb2M6ICVzOiVkOiBraMO0bmcgdGjhu4MgY+G6pXAgcGjDoXQgJWx1IGJ5dGUiCiAKLSM6IHhtYWxsb2MuYzoxNzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICIiCi0ieHJlYWxsb2M6ICVzOiVkOiBraMO0bmcgdGjhu4MgY+G6pXAgcGjDoXQgbOG6oWkgJWx1IGJ5dGUgKCVsdSBieXRlIMSRw6MgY+G6pXAgcGjDoXQpIgotCi0jOiB4bWFsbG9jLmM6MTc2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKLW1zZ3N0ciAieHJlYWxsb2M6ICVzOiVkOiBraMO0bmcgdGjhu4MgY+G6pXAgcGjDoXQgJWx1IGJ5dGUiCi0KICM6IGJ1aWx0aW5zLmM6NDMKIG1zZ2lkICJhbGlhcyBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uIF0iCiBtc2dzdHIgImFsaWFzIFstcF0gW3TDqm5bPWdpw6EtdHLhu4tdIC4uLiBdIgpAQCAtMjAzMiw3ICsyMTE3LDggQEAKIG1zZ3N0ciAiaGFzaCBbLWxyXSBbLXAgxJHGsOG7nW5nX2ThuqtuXSBbLWR0XSBbdMOqbiAuLi5dIgogCiAjOiBidWlsdGlucy5jOjExNwotbXNnaWQgImhlbHAgWy1kc10gW3BhdHRlcm4gLi4uXSIKKyMsIGZ1enp5Cittc2dpZCAiaGVscCBbLWRtc10gW3BhdHRlcm4gLi4uXSIKIG1zZ3N0ciAiaGVscCBbLWRzXSBbbeG6q3UgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMjEKQEAgLTIwNzIsOSArMjE1OCwxMCBAQAogbXNnc3RyICJsZXQgxJHhu5FpX3Phu5EgW8SR4buRaV9z4buRIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTM2CisjLCBmdXp6eQogbXNnaWQgIiIKLSJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstcCBwcm9tcHRdIFstdCAiCi0idGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgorInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKKyJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKICJyZWFkIFstZXJzXSBbLWEgbeG6o25nXSBbLWQgZ2nhu5tpX2jhuqFuXSBbLWkgdsSDbl9i4bqjbl0gWy1uIHPhu5Ffa8O9X3Thu7FdIFstcCBuaOG6r2NdIFstdCAiCiAidGjhu51pX2jhuqFuXSBbLXUgZmRdIFt0w6puIC4uLl0iCkBAIC0yMTk2LDcgKzIyODMsNyBAQAogCiAjOiBidWlsdGlucy5jOjE5OAogbXNnaWQgImNvcHJvYyBbTkFNRV0gY29tbWFuZCBbcmVkaXJlY3Rpb25zXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJjb3Byb2MgW1TDik5dIGNvbW1hbmQgW8SR4buLbmggduG7iyBs4bqhaV0iCiAKICM6IGJ1aWx0aW5zLmM6MjAwCiBtc2dpZCAiZnVuY3Rpb24gbmFtZSB7IENPTU1BTkRTIDsgfSBvciBuYW1lICgpIHsgQ09NTUFORFMgOyB9IgpAQCAtMjIwNyw3ICsyMjk0LDcgQEAKIAogIzogYnVpbHRpbnMuYzoyMDIKIG1zZ2lkICJ7IENPTU1BTkRTIDsgfSIKLW1zZ3N0ciAieyBM4buGTkggOyB9IgorbXNnc3RyICJ7IGPDoWNfQ8OCVV9M4buGTkggOyB9IgogCiAjOiBidWlsdGlucy5jOjIwNAogbXNnaWQgImpvYl9zcGVjIFsmXSIKQEAgLTIyNDYsMTAgKzIzMzMsMTEgQEAKIG1zZ3N0ciAicHJpbnRmIFstdiBiaeG6v25dIMSR4buLbmhfZOG6oW5nIFvEkeG7kWlfc+G7kV0iCiAKICM6IGJ1aWx0aW5zLmM6MjI5CisjLCBmdXp6eQogbXNnaWQgIiIKLSJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1vIG9wdGlvbl0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstVyAiCi0id29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgc3VmZml4XSAiCi0iW25hbWUgLi4uXSIKKyJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1ERV0gWy1vIG9wdGlvbl0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstIgorIlcgd29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgIgorInN1ZmZpeF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgogImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8gdMO5eV9jaOG7jW5dIFstQSBow6BuaF/EkeG7mW5nXSBbLUcgbeG6q3VfZ2xvYl0gWy0iCiAiVyBkYW5oX3PDoWNoX3Thu6tdICBbLUYgaMOgbV0gWy1DIGzhu4duaF0gWy1YIG3huqt1X2zhu41jXSBbLVAgdGnhu4FuX3Thu5FdIFstUyBo4bqtdV904buRXSAiCkBAIC0yMjY0LDcgKzIzNTIsOCBAQAogImRhbmhfc8OhY2hfdOG7q10gIFstRiBow6BtXSBbLUMgbOG7h25oXSBbLVggbeG6q3VfbOG7jWNdIFstUCB0aeG7gW5fdOG7kV0gWy1TIGjhuq11X3Thu5FdIFt04burXSIKIAogIzogYnVpbHRpbnMuYzoyMzcKLW1zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFtuYW1lIC4uLl0iCisjLCBmdXp6eQorbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gWy1ERV0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiY29tcG9wdCBbLW98K28gdMO5eV9jaOG7jW5dIFt0w6puIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MjQwCkBAIC0yMjc2LDEyICsyMzY1LDExIEBACiAiW23huqNuZ10iCiAKICM6IGJ1aWx0aW5zLmM6MjQyCi0jLCBmdXp6eQogbXNnaWQgIiIKICJyZWFkYXJyYXkgWy1uIGNvdW50XSBbLU8gb3JpZ2luXSBbLXMgY291bnRdIFstdF0gWy11IGZkXSBbLUMgY2FsbGJhY2tdIFstYyAiCiAicXVhbnR1bV0gW2FycmF5XSIKIG1zZ3N0ciAiIgotIm1hcGZpbGUgWy1uIMSR4bq/bV0gWy1PIGfhu5FjXSBbLXMgxJHhur9tXSBbLXRdIFstdSBmZF0gWy1DIGfhu41pX25nxrDhu6NjXSBbLWMgbMaw4bujbmddICIKKyJyZWFkYXJyYXkgWy1uIMSR4bq/bV0gWy1PIGfhu5FjXSBbLXMgxJHhur9tXSBbLXRdIFstdSBmZF0gWy1DIGfhu41pX25nxrDhu6NjXSBbLWMgbMaw4bujbmddICIKICJbbeG6o25nXSIKIAogIzogYnVpbHRpbnMuYzoyNTQKQEAgLTM1NDksNyArMzYzNywxMSBAQAogIiAgICAgIC1lXHRcdHVzZSBSZWFkbGluZSB0byBvYnRhaW4gdGhlIGxpbmUgaW4gYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKICIgICAgICAtaSB0ZXh0XHRVc2UgVEVYVCBhcyB0aGUgaW5pdGlhbCB0ZXh0IGZvciBSZWFkbGluZVxuIgogIiAgICAgIC1uIG5jaGFyc1x0cmV0dXJuIGFmdGVyIHJlYWRpbmcgTkNIQVJTIGNoYXJhY3RlcnMgcmF0aGVyIHRoYW4gd2FpdGluZ1xuIgotIiAgICBcdFx0Zm9yIGEgbmV3bGluZVxuIgorIiAgICBcdFx0Zm9yIGEgbmV3bGluZSwgYnV0IGhvbm9yIGEgZGVsaW1pdGVyIGlmIGZld2VyIHRoYW4gTkNIQVJTXG4iCisiICAgIFx0XHRjaGFyYWN0ZXJzIGFyZSByZWFkIGJlZm9yZSB0aGUgZGVsaW1pdGVyXG4iCisiICAgICAgLU4gbmNoYXJzXHRyZXR1cm4gb25seSBhZnRlciByZWFkaW5nIGV4YWN0bHkgTkNIQVJTIGNoYXJhY3RlcnMsICIKKyJ1bmxlc3NcbiIKKyIgICAgXHRcdEVPRiBpcyBlbmNvdW50ZXJlZCBvciByZWFkIHRpbWVzIG91dCwgaWdub3JpbmcgYW55IGRlbGltaXRlclxuIgogIiAgICAgIC1wIHByb21wdFx0b3V0cHV0IHRoZSBzdHJpbmcgUFJPTVBUIHdpdGhvdXQgYSB0cmFpbGluZyBuZXdsaW5lIGJlZm9yZVxuIgogIiAgICBcdFx0YXR0ZW1wdGluZyB0byByZWFkXG4iCiAiICAgICAgLXJcdFx0ZG8gbm90IGFsbG93IGJhY2tzbGFzaGVzIHRvIGVzY2FwZSBhbnkgY2hhcmFjdGVyc1xuIgpAQCAtMzU5OCw2ICszNjkwLDggQEAKICJcdFx0XHRu4bq/dSBjaMawYSDEkeG7jWMgbeG7mXQgZMOybmcgZOG7ryBsaeG7h3Ugbmjhuq1wIGhvw6BuIHRvw6BuIHRyb25nIHPhu5EgZ2nhuqV5IG7DoHkuXG4iCiAiXHRcdFx0R2nDoSB0cuG7iyBj4bunYSBiaeG6v24gVE1PVVQgbMOgIHRo4budaSBo4bqhbiBt4bq3YyDEkeG7i25oLlxuIgogIlx0XHRcdFRo4budaSBo4bqhbiBuw6B5IGPDsyB0aOG7gyBsw6AgbeG7mXQgc+G7kSB0aHXhu5ljIHBow6JuIHPhu5EuXG4iCisiXHRcdFx0TuG6v3UgVEjhu5xJX0jhuqBOIGzDoCAwIHRow6wgdmnhu4djIMSR4buNYyB0cuG6oyBs4bqhaSB0aMOgbmggY8O0bmcgY2jhu4kgbuG6v3VcbiIKKyJcdFx0XHRk4buvIGxp4buHdSBuaOG6rXAgc+G6tW4gc8OgbmcgdHLDqm4gYuG7mSBtw7QgdOG6oyB04bqtcCB0aW4gxJHGsGEgcmEuXG4iCiAiXHRcdFx0VHLhuqFuZyB0aMOhaSB0aG/DoXQgbOG7m24gaMahbiAxMjggbuG6v3Ugdsaw4bujdCBxdcOhIHRo4budaSBo4bqhbiBuw6B5LlxuIgogIlx0XHQtdSBmZFx0xJHhu41jIHThu6sgYuG7mSBtw7QgdOG6oyB04bqtcCB0aW4gRkQgdGhheSBjaG8gxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpblxuIgogIlxuIgpAQCAtMzYwNiw3ICszNzAwLDcgQEAKICJcdGtow7RuZyBxdcOhIHRo4budaSBraGkgxJHhu41jLCB2w6Aga2jDtG5nIMSRxrBhIHJhIGLhu5kgbcO0IHThuqMgdOG6rXAgdGluIHNhaVxuIgogIlx0bMOgbSDEkeG7kWkgc+G7kSB04bubaSDCqyAtdSDCuy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTAwNgorIzogYnVpbHRpbnMuYzoxMDA5CiBtc2dpZCAiIgogIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzYyOCw3ICszNzIyLDcgQEAKICJcdFRy4bqjIGzhuqFpIE4sIGhv4bq3YyBi4buLIGzhu5dpIG7hur91IHRyw6xuaCBiYW8ga2jDtG5nIMSRYW5nIGNo4bqheVxuIgogIlx0XHRt4buZdCBjaOG7qWMgbsSDbmcgaGF5IHbEg24gbOG7h25oLiIKIAotIzogYnVpbHRpbnMuYzoxMDE5CisjOiBidWlsdGlucy5jOjEwMjIKIG1zZ2lkICIiCiAiU2V0IG9yIHVuc2V0IHZhbHVlcyBvZiBzaGVsbCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzc5MSw3ICszODg1LDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0VHLhuqMgbOG6oWkgdGjDoG5oIGPDtG5nIG7hur91IGtow7RuZyBn4bq3cCB0w7l5IGNo4buNbiBzYWkuIgogCi0jOiBidWlsdGlucy5jOjExMDEKKyM6IGJ1aWx0aW5zLmM6MTEwNAogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzgyNCw3ICszOTE4LDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0VHLhuqMgbOG6oWkgdGjDoG5oIGPDtG5nIG7hur91IGtow7RuZyDEkcawYSByYSB0w7l5IGNo4buNbiBzYWksIHbDoCBUw4pOIGtow7RuZyBjaOG7iSDEkeG7jWMuIgogCi0jOiBidWlsdGlucy5jOjExMjEKKyM6IGJ1aWx0aW5zLmM6MTEyNAogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTM4NTgsNyArMzk1Miw3IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqjIGzhuqFpIHRow6BuaCBjw7RuZyBu4bq/dSBraMO0bmcgxJHGsGEgcmEgdMO5eSBjaOG7jW4gc2FpIGhheSBUw4pOIHNhaSwiCiAKLSM6IGJ1aWx0aW5zLmM6MTE0MAorIzogYnVpbHRpbnMuYzoxMTQzCiBtc2dpZCAiIgogIk1hcmsgc2hlbGwgdmFyaWFibGVzIGFzIHVuY2hhbmdlYWJsZS5cbiIKICIgICAgXG4iCkBAIC0zODk0LDcgKzM5ODgsNyBAQAogIlx0VHLhuqFuZyB0aMOhaSB0aG/DoXQ6XG4iCiAiXHRUcuG6oyBs4bqhaSB0aMOgbmggY8O0bmcgbuG6v3Uga2jDtG5nIMSRxrBhIHJhIHTDuXkgY2jhu41uIHNhaSBoYXkgVMOKTiBzYWkuIgogCi0jOiBidWlsdGlucy5jOjExNjEKKyM6IGJ1aWx0aW5zLmM6MTE2NAogbXNnaWQgIiIKICJTaGlmdCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzkxMiw3ICs0MDA2LDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0VHLhuqMgbOG6oWkgdGjDoG5oIGPDtG5nIG7hur91IE4ga2jDtG5nIMOibSBoYXkgbOG7m24gaMahbiAkIy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTE3MyBidWlsdGlucy5jOjExODgKKyM6IGJ1aWx0aW5zLmM6MTE3NiBidWlsdGlucy5jOjExOTEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmcm9tIGEgZmlsZSBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zOTM5LDcgKzQwMzMsNyBAQAogIlTDik5fVOG6rFBfVElOO1xuIgogIlx0a2jDtG5nIHRow6BuaCBjw7RuZyBu4bq/dSBraMO0bmcgdGjhu4MgxJHhu41jIFTDik5fVOG6rFBfVElOLiIKIAotIzogYnVpbHRpbnMuYzoxMjA0CisjOiBidWlsdGlucy5jOjEyMDcKIG1zZ2lkICIiCiAiU3VzcGVuZCBzaGVsbCBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzk2NCw3ICs0MDU4LDcgQEAKICJcdFRy4bqjIGzhuqFpIHRow6BuaCBjw7RuZyBu4bq/dSBjaOG7qWMgbsSDbmcgxJFp4buBdSBraGnhu4NuIGPDtG5nIHZp4buHYyDEkcOjIMSRxrDhu6NjIGLhuq10LCB2w6AgIgogImtow7RuZyBn4bq3cCBs4buXaS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTIyMAorIzogYnVpbHRpbnMuYzoxMjIzCiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtNDExOSw3ICs0MjEzLDcgQEAKICJcdFRy4bqjIGzhuqFpIHRow6BuaCBjw7RuZyBu4bq/dSBCX1RI4buoQyDEkeG7i25oIGdpw6EgdGjDoG5oIMSQw7puZztcbiIKICJcdGtow7RuZyB0aMOgbmggY8O0bmcgbuG6v3UgQl9USOG7qEMgxJHhu4tuaCBnacOhIHRow6BuaCBTYWkgaGF5IMSRxrBhIHJhIMSR4buRaSBz4buRIHNhaS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTI5NgorIzogYnVpbHRpbnMuYzoxMjk5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtNDEzMiw3ICs0MjI2LDcgQEAKICJcdG5oxrBuZyDEkeG7kWkgc+G7kSBjdeG7kWkgY8O5bmcgcGjhuqNpIGzDoCBt4buZdCDCqyBdIMK7IG5naMSpYSBjaOG7ryxcbiIKICJcdMSR4buVIHTGsMahbmcg4bupbmcgduG7m2kgwqsgWyDCuyBt4bufLiIKIAotIzogYnVpbHRpbnMuYzoxMzA1CisjOiBidWlsdGlucy5jOjEzMDgKIG1zZ2lkICIiCiAiRGlzcGxheSBwcm9jZXNzIHRpbWVzLlxuIgogIiAgICBcbiIKQEAgLTQxNTEsNyArNDI0NSw3IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdEzDumMgbsOgbyBjxaluZyB0aMOgbmggY8O0bmcuIgogCi0jOiBidWlsdGlucy5jOjEzMTcKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJUcmFwIHNpZ25hbHMgYW5kIG90aGVyIGV2ZW50cy5cbiIKICIgICAgXG4iCkBAIC00MjIxLDcgKzQzMTUsNyBAQAogIlx0VHLhuqMgbOG6oWkgdGjDoG5oIGPDtG5nIG7hur91IGtow7RuZyDEkcawYSByYSDEkOG6tkNfVOG6ol9Uw41OX0hJ4buGVSBzYWlcbiIKICJcdGhheSB0w7l5IGNo4buNbiBzYWkuIgogCi0jOiBidWlsdGlucy5jOjEzNDkKKyM6IGJ1aWx0aW5zLmM6MTM1MgogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmQgdHlwZS5cbiIKICIgICAgXG4iCkBAIC00MjgwLDcgKzQzNzQsNyBAQAogIlx0VHLDoW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqjIGzhuqFpIHRow6BuaCBjw7RuZyBu4bq/dSB0w6xtIHRo4bqleSB04bqldCBj4bqjIGPDoWMgVMOKTjsga2jDtG5nIHRow6wgYuG7iyBs4buXaS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MAorIzogYnVpbHRpbnMuYzoxMzgzCiBtc2dpZCAiIgogIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCiAiICAgIFxuIgpAQCAtNDM2OCw3ICs0NDYyLDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0VHLhuqMgbOG6oWkgdGjDoG5oIGPDtG5nIG7hur91IGtow7RuZyDEkcawYSByYSB0w7l5IGNo4buNbiBzYWkgaGF5IGfhurdwIGzhu5dpLiIKIAotIzogYnVpbHRpbnMuYzoxNDI1CisjOiBidWlsdGlucy5jOjE0MjgKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCiAiICAgIFxuIgpAQCAtNDQwMyw3ICs0NDk3LDcgQEAKICJcdFRyw6FuZyB0aMOhaSB0aG/DoXQ6XG4iCiAiXHRUcuG6oyBs4bqhaSB0aMOgbmggY8O0bmcgbuG6v3Uga2jDtG5nIGPDsyBDSOG6vl/EkOG7mCBzYWkgaGF5IHTDuXkgY2jhu41uIHNhaS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ0NQorIzogYnVpbHRpbnMuYzoxNDQ4CiBtc2dpZCAiIgogIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtNDQzMiw3ICs0NTI2LDcgQEAKICJcdFRy4bqjIGzhuqFpIHRy4bqhbmcgdGjDoWkgY+G7p2EgSUQ7IGtow7RuZyB0aMOgbmggY8O0bmcgbuG6v3UgSUQgc2FpXG4iCiAiXHRcdGhv4bq3YyDEkcawYSByYSB0w7l5IGNo4buNbiBzYWkuIgogCi0jOiBidWlsdGlucy5jOjE0NjMKKyM6IGJ1aWx0aW5zLmM6MTQ2NgogbXNnaWQgIiIKICJXYWl0IGZvciBwcm9jZXNzIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC00NDU5LDcgKzQ1NTMsNyBAQAogIlx0a2jDtG5nIHRow6BuaCBjw7RuZyBu4bq/dSBJRCBzYWksXG4iCiAiXHRob+G6t2MgbuG6v3UgxJHGsGEgcmEgdMO5eSBjaOG7jW4gc2FpLiIKIAotIzogYnVpbHRpbnMuYzoxNDc4CisjOiBidWlsdGlucy5jOjE0ODEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTQ0ODMsNyArNDU3Nyw3IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqjIGzhuqFpIHRy4bqhbmcgdGjDoWkgY+G7p2EgY8OidSBs4buHbmggY3Xhu5FpIGPDuW5nIMSRxrDhu6NjIGNo4bqheS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5MgorIzogYnVpbHRpbnMuYzoxNDk1CiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCiAiICAgIFxuIgpAQCAtNDUxMiw3ICs0NjA2LDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0VHLhuqMgbOG6oWkgdHLhuqFuZyB0aMOhaSBj4bunYSBjw6J1IGzhu4duaCBjdeG7kWkgY8O5bmcgxJHGsOG7o2MgY2jhuqF5LiIKIAotIzogYnVpbHRpbnMuYzoxNTEwCisjOiBidWlsdGlucy5jOjE1MTMKIG1zZ2lkICIiCiAiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTQ1NTEsNyArNDY0NSw3IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqjIGzhuqFpIHRy4bqhbmcgdGjDoWkgY+G7p2EgY8OidSBs4buHbmggY3Xhu5FpIGPDuW5nIMSRxrDhu6NjIGNo4bqheS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTUzMQorIzogYnVpbHRpbnMuYzoxNTM0CiBtc2dpZCAiIgogIlJlcG9ydCB0aW1lIGNvbnN1bWVkIGJ5IHBpcGVsaW5lJ3MgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTQ1ODIsNyArNDY3Niw3IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqhbmcgdGjDoWkgdHLhuqMgbGFpIGzDoCB0cuG6oW5nIHRow6FpIHRy4bqjIGzhuqFpIGPhu6dhIFBJUEVMSU5FLiIKIAotIzogYnVpbHRpbnMuYzoxNTQ4CisjOiBidWlsdGlucy5jOjE1NTEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBwYXR0ZXJuIG1hdGNoaW5nLlxuIgogIiAgICBcbiIKQEAgLTQ2MDEsNyArNDY5NSw3IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqjIGzhuqFpIHRy4bqhbmcgdGjDoWkgY+G7p2EgY8OidSBs4buHbmggY3Xhu5FpIGPDuW5nIMSRxrDhu6NjIGNo4bqheS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU2MAorIzogYnVpbHRpbnMuYzoxNTYzCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gY29uZGl0aW9uYWwuXG4iCiAiICAgIFxuIgpAQCAtNDYzOCw3ICs0NzMyLDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0VHLhuqMgbOG6oWkgdHLhuqFuZyB0aMOhaSBj4bunYSBjw6J1IGzhu4duaCBjdeG7kWkgY8O5bmcgxJHGsOG7o2MgY2jhuqF5LiIKIAotIzogYnVpbHRpbnMuYzoxNTc3CisjOiBidWlsdGlucy5jOjE1ODAKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKICIgICAgXG4iCkBAIC00NjU3LDcgKzQ3NTEsNyBAQAogIlx0VHLhuqFuZyB0aMOhaSB0aG/DoXQ6XG4iCiAiXHRUcuG6oyBs4bqhaSB0cuG6oW5nIHRow6FpIGPhu6dhIGPDonUgbOG7h25oIGN14buRaSBjw7luZyDEkcaw4bujYyBjaOG6oXkuIgogCi0jOiBidWlsdGlucy5jOjE1ODkKKyM6IGJ1aWx0aW5zLmM6MTU5MgogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IGRvZXMgbm90IHN1Y2NlZWQuXG4iCiAiICAgIFxuIgpAQCAtNDY3Niw3ICs0NzcwLDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0VHLhuqMgbOG6oWkgdHLhuqFuZyB0aMOhaSBj4bunYSBjw6J1IGzhu4duaCBjdeG7kWkgY8O5bmcgxJHGsOG7o2MgY2jhuqF5LiIKIAotIzogYnVpbHRpbnMuYzoxNjAxCisjOiBidWlsdGlucy5jOjE2MDQKIG1zZ2lkICIiCiAiQ3JlYXRlIGEgY29wcm9jZXNzIG5hbWVkIE5BTUUuXG4iCiAiICAgIFxuIgpAQCAtNDY4OCw4ICs0NzgyLDE4IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKIG1zZ3N0ciAiIgorIlThuqFvIG3hu5l0IHRp4bq/biB0csOsbmggxJHhu5NuZyBjaOG6oXkgY8OzIHTDqm4gVMOKTi5cbiIKKyJcbiIKKyJcdFRo4buxYyBoaeG7h24gY8OidSBM4buGTkggbeG7mXQgY8OhY2gga2jDtG5nIMSR4buTbmcgYuG7mSwgY8OzIMSR4bqndSB2w6AgdGnDqnUgY2h14bqpblxuIgorIlx0dsOgIMSR4bqndSByYSB0acOqdSBjaHXhuqluIGPhu6dhIGPDonUgbOG7h25oIG7DoHkgxJHGsOG7o2Mga+G6v3QgbuG7kWkgdGjDtG5nIHF1YSBt4buZdCDhu5FuZyBk4bqrblxuIgorIlx0dOG7m2kgY8OhYyBi4buZIG3DtCB04bqjIHThuq1wIHRpbiDEkcaw4bujYyBnw6FuIGNobyBjaOG7iSBz4buRIDAgdsOgIDEgY+G7p2EgbeG7mXQgYmnhur9uIG3huqNuZyBUw4pOXG4iCisiXHR0cm9uZyB0csOsbmggYmFvIMSRYW5nIGNo4bqheS5cbiIKKyJcdFTDqm4gbeG6t2MgxJHhu4tuaCBsw6AgwqsgQ09QUk9DIMK7LlxuIgorIlxuIgorIlx0VHLhuqFuZyB0aMOhaSB0aG/DoXQ6XG4iCisiXHRUcuG6oyBs4bqhaSB0cuG6oW5nIHRow6FpIHRob8OhdCBj4bunYSBjw6J1IEzhu4ZOSC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYxNQorIzogYnVpbHRpbnMuYzoxNjE4CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC00NzEzLDcgKzQ4MTcsNyBAQAogIlx0VHLDoW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqjIGzhuqFpIHRow6BuaCBjw7RuZyBu4bq/dSBUw4pOIGtow7RuZyBwaOG6o2kgY2jhu4kgxJHhu41jLiIKIAotIzogYnVpbHRpbnMuYzoxNjI5CisjOiBidWlsdGlucy5jOjE2MzIKIG1zZ2lkICIiCiAiR3JvdXAgY29tbWFuZHMgYXMgYSB1bml0LlxuIgogIiAgICBcbiIKQEAgLTQ3MzIsNyArNDgzNiw3IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqjIGzhuqFpIHRy4bqhbmcgdGjDoWkgY+G7p2EgY8OidSBs4buHbmggY3Xhu5FpIGPDuW5nIMSRxrDhu6NjIGNo4bqheS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY0MQorIzogYnVpbHRpbnMuYzoxNjQ0CiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC00NzU3LDcgKzQ4NjEsNyBAQAogIlx0VHLhuqFuZyB0aMOhaSB0aG/DoXQ6XG4iCiAiXHRUcuG6oyBs4bqhaSB0cuG6oW5nIHRow6FpIGPhu6dhIGPDtG5nIHZp4buHYyDEkcOjIHRp4bq/cCB04bulYyBs4bqhaS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY1NgorIzogYnVpbHRpbnMuYzoxNjU5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC00Nzc1LDcgKzQ4NzksNyBAQAogIlx0VHLhuqFuZyB0aMOhaSB0aG/DoXQ6XG4iCiAiXHRUcuG6oyBs4bqhaSAxIG7hur91IEJJ4buCVV9USOG7qEMgdMOtbmggbMOgIDA7IGtow7RuZyB0aMOsIHRy4bqjIGzhuqFpIDAuIgogCi0jOiBidWlsdGlucy5jOjE2NjgKKyM6IGJ1aWx0aW5zLmM6MTY3MQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbmRpdGlvbmFsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtNDgxNiw3ICs0OTIwLDggQEAKICIgICAgXHRCX1RI4buoQzEgfHwgQl9USOG7qEMyXG4iCiAiXHTEkMO6bmcgbuG6v3UgbeG7mXQgY+G7p2EgQl9USOG7qEMxIHbDoCBCX1RI4buoQzIgbMOgIMSRw7puZzsga2jDtG5nIHRow6wgc2FpXG4iCiAiICAgIFxuIgotIktoaSBkw7luZyB0b8OhbiB04burIMKrID09IMK7IHbDoCDCqyAhPSDCuywgY2h14buXaSBiw6puIHBo4bqjaSB0b8OhbiB04butIMSRxrDhu6NjIGTDuW5nIGzDoG0gbeG6q3UsXG4iCisiS2hpIGTDuW5nIHRvw6FuIHThu6sgwqsgPT0gwrsgdsOgIMKrICE9IMK7LCBjaHXhu5dpIGLDqm4gcGjhuqNpIHRvw6FuIHThu60gxJHGsOG7o2MgZMO5bmcgbMOgbSAiCisibeG6q3UsXG4iCiAiXHR2w6AgdGjhu7FjIGhp4buHbiBjaOG7qWMgbsSDbmcga2jhu5twIG3huqt1LlxuIgogIlRvw6FuIHThu60gwqsgJiYgwrsgdsOgIMKrIHx8IMK7IGtow7RuZyB0w61uaCBCX1RI4buoQzIgbuG6v3UgQl9USOG7qEMxIGzDoCDEkeG7p1xuIgogIlx0xJHhu4MgdMOtbmggZ2nDoSB0cuG7iyBj4bunYSBiaeG7g3UgdGjhu6ljLlxuIgpAQCAtNDgyNCw3ICs0OTI5LDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0MCBoYXkgMSBwaOG7pSB0aHXhu5ljIHbDoG8gZ2nDoSB0cuG7iyBj4bunYSBCSeG7glVfVEjhu6hDLiIKIAotIzogYnVpbHRpbnMuYzoxNjk0CisjOiBidWlsdGlucy5jOjE2OTcKIG1zZ2lkICIiCiAiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKICIgICAgXG4iCkBAIC00OTMwLDcgKzUwMzUsNyBAQAogIlx0xJHGsOG7o2Mgw7luZyDEkeG7gyBxdXnhur90IMSR4buLbmggbmjhu69uZyBjw6J1IGzhu4duaCBuw6BvIG7Dqm4gxJHGsOG7o2MgbMawdVxuIgogIlx0dsOgbyBkYW5oIHPDoWNoIGzhu4tjaCBz4butLlxuIgogCi0jOiBidWlsdGlucy5jOjE3NTEKKyM6IGJ1aWx0aW5zLmM6MTc1NAogbXNnaWQgIiIKICJBZGQgZGlyZWN0b3JpZXMgdG8gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtNDk4NCw3ICs1MDg5LDcgQEAKICJcdFRy4bqjIGzhuqFpIHRow6BuaCBjw7RuZyBu4bq/dSBraMO0bmcgxJHGsGEgcmEgxJHhu5FpIHPhu5Egc2FpLFxuIgogIlx0Y8Wpbmcga2jDtG5nIHNhaSBjaHV54buDbiDEkeG7lWkgdGjGsCBt4bulYy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTc4NQorIzogYnVpbHRpbnMuYzoxNzg4CiBtc2dpZCAiIgogIlJlbW92ZSBkaXJlY3RvcmllcyBmcm9tIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTUwMzcsNyArNTE0Miw3IEBACiAiXHRUcuG6oyBs4bqhaSB0aMOgbmggY8O0bmcgbuG6v3Uga2jDtG5nIMSRxrBhIHJhIMSR4buRaSBz4buRIHNhaSxcbiIKICJcdGPFqW5nIGtow7RuZyBzYWkgY2h1eeG7g24gxJHhu5VpIHRoxrAgbeG7pWMuIgogCi0jOiBidWlsdGlucy5jOjE4MTUKKyM6IGJ1aWx0aW5zLmM6MTgxOAogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC01MDkzLDcgKzUxOTgsNyBAQAogIlx0VHLhuqFuZyB0aMOhaSB0aG/DoXQ6XG4iCiAiXHRUcuG6oyBs4bqhaSB0aMOgbmggY8O0bmcgbuG6v3Uga2jDtG5nIMSRxrBhIHJhIHTDuXkgY2jhu41uIHNhaSBoYXkgZ+G6t3AgbOG7l2kuIgogCi0jOiBidWlsdGlucy5jOjE4NDQKKyM6IGJ1aWx0aW5zLmM6MTg0NwogbXNnaWQgIiIKICJTZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNTEzMCw3ICs1MjM1LDcgQEAKICJcdFRy4bqjIGzhuqFpIHRow6BuaCBjw7RuZyBu4bq/dSBUw4pOX1TDmVlfQ0jhu4xOIMSRxrDhu6NjIGLhuq10O1xuIgogIlx0a2jDtG5nIHRow6BuaCBjw7RuZyBu4bq/dSDEkcawYSByYSB0w7l5IGNo4buNbiBzYWkgaGF5IFTDik5fVMOZWV9DSOG7jE4gYuG7iyB04bqvdC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg2NQorIzogYnVpbHRpbnMuYzoxODY4CiBtc2dpZCAiIgogIkZvcm1hdHMgYW5kIHByaW50cyBBUkdVTUVOVFMgdW5kZXIgY29udHJvbCBvZiB0aGUgRk9STUFULlxuIgogIiAgICBcbiIKQEAgLTUxODEsNyArNTI4Niw4IEBACiAiXHRUcuG6oyBs4bqhaSB0aMOgbmggY8O0bmcgbuG6v3Uga2jDtG5nIMSRxrBhIHJhIHTDuXkgY2jhu41uIHNhaSBoYXkgZ+G6t3AgbOG7l2kga2nhu4N1IGdoaSBoYXkgIgogImfDoW4uIgogCi0jOiBidWlsdGlucy5jOjE4OTIKKyM6IGJ1aWx0aW5zLmM6MTg5NQorIywgZnV6enkKIG1zZ2lkICIiCiAiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCiAiICAgIFxuIgpAQCAtNTE5NSw5ICs1MzAxLDE0IEBACiAiICAgICAgLXBcdHByaW50IGV4aXN0aW5nIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnMgaW4gYSByZXVzYWJsZSBmb3JtYXRcbiIKICIgICAgICAtclx0cmVtb3ZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGZvciBlYWNoIE5BTUUsIG9yLCBpZiBub1xuIgogIiAgICBcdE5BTUVzIGFyZSBzdXBwbGllZCwgYWxsIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnNcbiIKKyIgICAgICAtRFx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIGFzIHRoZSBkZWZhdWx0IGZvciBjb21tYW5kc1xuIgorIiAgICBcdHdpdGhvdXQgYW55IHNwZWNpZmljIGNvbXBsZXRpb24gZGVmaW5lZFxuIgorIiAgICAgIC1FXHRhcHBseSB0aGUgY29tcGxldGlvbnMgYW5kIGFjdGlvbnMgdG8gXCJlbXB0eVwiIGNvbW1hbmRzIC0tXG4iCisiICAgIFx0Y29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYSBibGFuayBsaW5lXG4iCiAiICAgIFxuIgogIiAgICBXaGVuIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkLCB0aGUgYWN0aW9ucyBhcmUgYXBwbGllZCBpbiB0aGUgb3JkZXIgdGhlXG4iCi0iICAgIHVwcGVyY2FzZS1sZXR0ZXIgb3B0aW9ucyBhcmUgbGlzdGVkIGFib3ZlLlxuIgorIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS4gIFRoZSAtRCBvcHRpb24gdGFrZXNcbiIKKyIgICAgcHJlY2VkZW5jZSBvdmVyIC1FLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKQEAgLTUyMjAsNyArNTMzMSw3IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqjIGzhuqFpIHRow6BuaCBjw7RuZyBu4bq/dSBraMO0bmcgxJHGsGEgcmEgdMO5eSBjaOG7jW4gc2FpIGhheSBn4bq3cCBs4buXaS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkxNQorIzogYnVpbHRpbnMuYzoxOTIzCiBtc2dpZCAiIgogIkRpc3BsYXkgcG9zc2libGUgY29tcGxldGlvbnMgZGVwZW5kaW5nIG9uIHRoZSBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTUyNDIsNyArNTM1Myw4IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqjIGzhuqFpIHRow6BuaCBjw7RuZyBu4bq/dSBraMO0bmcgxJHGsGEgcmEgdMO5eSBjaOG7jW4gc2FpIGhheSBn4bq3cCBs4buXaS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkzMAorIzogYnVpbHRpbnMuYzoxOTM4CisjLCBmdXp6eQogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNTI1NSw2ICs1MzY3LDggQEAKICIgICAgXG4iCiAiICAgIE9wdGlvbnM6XG4iCiAiICAgIFx0LW8gb3B0aW9uXHRTZXQgY29tcGxldGlvbiBvcHRpb24gT1BUSU9OIGZvciBlYWNoIE5BTUVcbiIKKyIgICAgXHQtRFx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZGVmYXVsdFwiIGNvbW1hbmQgY29tcGxldGlvblxuIgorIiAgICBcdC1FXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJlbXB0eVwiIGNvbW1hbmQgY29tcGxldGlvblxuIgogIiAgICBcbiIKICIgICAgVXNpbmcgYCtvJyBpbnN0ZWFkIG9mIGAtbycgdHVybnMgb2ZmIHRoZSBzcGVjaWZpZWQgb3B0aW9uLlxuIgogIiAgICBcbiIKQEAgLTUyOTQsMTYgKzU0MDgsMTYgQEAKICJcdFRy4bqjIGzhuqFpIHRow6BuaCBjw7RuZyBu4bq/dSBraMO0bmcgxJHGsGEgcmEgdMO5eSBjaOG7jW4gc2FpLFxuIgogIlx0dsOgIFTDik4gY8OzIG3hu5l0IMSR4bq3YyB04bqjIMSRaeG7gW4gbuG7kXQgxJHGsOG7o2MgeMOhYyDEkeG7i25oLiIKIAotIzogYnVpbHRpbnMuYzoxOTU4CisjOiBidWlsdGlucy5jOjE5NjgKICMsIGZ1enp5CiBtc2dpZCAiIgotIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKKyJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCi0iICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgYXJyYXkgdmFyaWFibGUgQVJSQVksIG9yICIKLSJmcm9tXG4iCi0iICAgIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlIE1BUEZJTEUgIgotImlzXG4iCi0iICAgIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgorIiAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUgIgorIkFSUkFZLCBvclxuIgorIiAgICBmcm9tIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlICIKKyJNQVBGSUxFXG4iCisiICAgIGlzIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgogIiAgICBcbiIKICIgICAgT3B0aW9uczpcbiIKICIgICAgICAtbiBjb3VudFx0Q29weSBhdCBtb3N0IENPVU5UIGxpbmVzLiAgSWYgQ09VTlQgaXMgMCwgYWxsIGxpbmVzIGFyZSAiCkBAIC01MzMwLDkgKzU0NDQsMTEgQEAKICIgICAgYXNzaWduaW5nIHRvIGl0LlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIEFSUkFZIGlzIHJlYWRvbmx5ICIKKyJvclxuIgorIiAgICBub3QgYW4gaW5kZXhlZCBhcnJheS4iCiBtc2dzdHIgIiIKLSLEkOG7jWMgY8OhYyBkw7JuZyB04burIG3hu5l0IHThuq1wIHRpbiB2w6BvIG3hu5l0IGJp4bq/biBt4bqjbmcuXG4iCisixJDhu41jIGPDoWMgZMOybmcgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIHbDoG8gbeG7mXQgYmnhur9uIG3huqNuZy5cbiIKICJcbiIKICJcdMSQ4buNYyBjw6FjIGTDsm5nIHThu6sgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiB2w6BvIGJp4bq/biBt4bqjbmcgTeG6ok5HLFxuIgogIlx0aG/hurdjIHThu6sgYuG7mSBtw7QgdOG6oyB04bqtcCB0aW4gRkQgbuG6v3UgxJHGsGEgcmEgdMO5eSBjaOG7jW4gwqsgLXUgwrsuXG4iCkBAIC01MzUyLDYgKzU0NjgsOCBAQAogIlx0TeG6ok5HXHR0w6puIGJp4bq/biBt4bqjZyBj4bqnbiBkw7luZyBjaG8gZOG7ryBsaeG7h3UgdOG6rXAgdGluLlxuIgogIlxuIgogIlx0TuG6v3UgxJHGsGEgcmEgwqsgLUMgwrsgbcOgIGtow7RuZyBjw7MgwqsgLWMgwrsgdGjDrCBsxrDhu6NuZyBt4bq3YyDEkeG7i25oIGzDoCA1MDAwLlxuIgorIlx0S2hpIMaw4bubYyBsxrDhu6NuZyBs4budaSBH4buMSV9OR8av4buiQyB0aMOsIG7DsyBuaOG6rW4gY2jhu4kgc+G7kSBj4bunYSBwaOG6p24gdOG7rSBt4bqjbmdcbiIKKyJcdGvhur8gdGnhur9wIMSRxrDhu6NjIGfDoW4gZMaw4bubaSBk4bqhbmcgbeG7mXQgxJHhu5FpIHPhu5EgYuG7lSBzdW5nLlxuIgogIlxuIgogIlx0S2jDtG5nIMSRxrBhIHJhIG3hu5l0IEfhu5BDIGThu6l0IGtob8OhdCB0aMOsIG1hcGZpbGUgKHThuq1wIHRpbiBzxqEgxJHhu5MpXG4iCiAiXHRcdHPhur0geG/DoSBz4bqhY2ggTeG6ok5HIHRyxrDhu5tjIGtoaSBnw6FuIGNobyBuw7MuXG4iCkBAIC01MzYwLDkgKzU0NzgsMjIgQEAKICJcdFRy4bqjIGzhuqFpIHRow6BuaCBjw7RuZyBu4bq/dSBraMO0bmcgxJHGsGEgcmEgdMO5eSBjaOG7jW4gc2FpIHbDoCBN4bqiTkcga2jDtG5nIHBo4bqjaSBjaOG7iSAiCiAixJHhu41jLiIKIAotIzogYnVpbHRpbnMuYzoxOTkwCisjOiBidWlsdGlucy5jOjIwMDEKIG1zZ2lkICIiCiAiUmVhZCBsaW5lcyBmcm9tIGEgZmlsZSBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKICIgICAgQSBzeW5vbnltIGZvciBgbWFwZmlsZScuIgogbXNnc3RyICIiCisixJDhu41jIGPDoWMgZMOybmcgdOG7qyBt4buZdCB04bqtcCB0aW4gdsOgbyBt4buZdCBiaeG6v24gbeG6o25nLlxuIgorIlxuIgorIlx0xJDhu5NuZyBuZ2jEqWEgduG7m2kgwqsgbWFwZmlsZSDCuy4iCisKKyN+IG1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyN+IG1zZ3N0ciAieHJlYWxsb2M6IGtow7RuZyB0aOG7gyBj4bqlcCBwaMOhdCBs4bqhaSAlbHUgYnl0ZSAoJWx1IGJ5dGUgxJHDoyBj4bqlcCBwaMOhdCkiCisKKyN+IG1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKKyN+IG1zZ3N0ciAieHJlYWxsb2M6IGtow7RuZyB0aOG7gyBj4bqlcCBwaMOhdCAlbHUgYnl0ZSIKKworI34gbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyN+IG1zZ3N0ciAiIgorI34gInhyZWFsbG9jOiAlczolZDoga2jDtG5nIHRo4buDIGPhuqVwIHBow6F0IGzhuqFpICVsdSBieXRlICglbHUgYnl0ZSDEkcOjIGPhuqVwIHBow6F0KSIKZGlmZiAtLWdpdCBhL3BvL3poX1RXLmdtbyBiL3BvL3poX1RXLmdtbwppbmRleCBjNDBmZTEwLi5jM2NhNjc1IDEwMDY0NAotLS0gYS9wby96aF9UVy5nbW8KKysrIGIvcG8vemhfVFcuZ21vCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3BvL3poX1RXLnBvIGIvcG8vemhfVFcucG8KaW5kZXggNDE0NGI2My4uN2E1ZDMyYiAxMDA2NDQKLS0tIGEvcG8vemhfVFcucG8KKysrIGIvcG8vemhfVFcucG8KQEAgLTcsNyArNyw3IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IGJhc2gtMy4yXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTAyLTE5IDE0OjUzLTA1MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogMjAwOC0wOC0yMCAyMDoxMiswODAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBaaS1Zb3UgRGFpICA8aW9wcG9vc3RlckBnbWFpbC5jb20+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogQ2hpbmVzZSAodHJhZGl0aW9uYWwpICA8emgtbDEwbkBsaW51eC5vcmcudHc+XG4iCkBAIC0yMCw1MCArMjAsNTUgQEAKIG1zZ2lkICJiYWQgYXJyYXkgc3Vic2NyaXB0IgogbXNnc3RyICIiCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzQKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKIAotIzogYXJyYXlmdW5jLmM6NDc5CisjOiBhcnJheWZ1bmMuYzo0ODAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFzc29jaWF0aXZlIGFycmF5IGtleSIKIG1zZ3N0ciAiJXPvvJrnhKHmlYjnmoTlip/og73lkI3nqLEiCiAKLSM6IGFycmF5ZnVuYy5jOjQ4MQorIzogYXJyYXlmdW5jLmM6NDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIHRvIG5vbi1udW1lcmljIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGFycmF5ZnVuYy5jOjUxNworIzogYXJyYXlmdW5jLmM6NTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIiCiAKLSM6IGJhc2hoaXN0LmM6Mzc5CisjOiBiYXNoaGlzdC5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiBtc2dzdHIgIiIKIAotIzogYmFzaGxpbmUuYzozNDEzCisjOiBiYXNobGluZS5jOjM0NTcKIG1zZ2lkICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBjYW5ub3QgZmluZCBrZXltYXAgZm9yIGNvbW1hbmQiCiBtc2dzdHIgIiIKIAotIzogYmFzaGxpbmUuYzozNDkxCisjOiBiYXNobGluZS5jOjM1NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpcnN0IG5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlciBpcyBub3QgYFwiJyIKIG1zZ3N0ciAiIgogCi0jOiBiYXNobGluZS5jOjM1MjAKKyM6IGJhc2hsaW5lLmM6MzU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjbG9zaW5nIGAlYycgaW4gJXMiCiBtc2dzdHIgIiIKIAotIzogYmFzaGxpbmUuYzozNTU0CisjOiBiYXNobGluZS5jOjM2MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG1pc3NpbmcgY29sb24gc2VwYXJhdG9yIgogbXNnc3RyICIiCiAKKyM6IGJ1aWx0aW5zL2FsaWFzLmRlZjoxMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImAlcyc6IGludmFsaWQgYWxpYXMgbmFtZSIKK21zZ3N0ciAiJXPvvJrnhKHmlYjnmoTlip/og73lkI3nqLEiCisKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjEyMCBidWlsdGlucy9iaW5kLmRlZjoxMjMKIG1zZ2lkICJsaW5lIGVkaXRpbmcgbm90IGVuYWJsZWQiCiBtc2dzdHIgIiIKQEAgLTExMyw2ICsxMTgsMjEgQEAKICIgICAgV2l0aG91dCBFWFBSLCByZXR1cm5zICIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNQorbXNnaWQgIiIKKyIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKKyIgICAgIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM2Cittc2dpZCAiIgorIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgorIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCisiICAgIFxuIgorIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCisiICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgorbXNnc3RyICIiCisKICM6IGJ1aWx0aW5zL2NkLmRlZjoyMTUKIG1zZ2lkICJIT01FIG5vdCBzZXQiCiBtc2dzdHIgIkhPTUUg5rKS5pyJ6Kit572uIgpAQCAtMTI2LDcgKzE0Niw3IEBACiBtc2dpZCAibGluZSAlZDogIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEzOSBlcnJvci5jOjI2MAorIzogYnVpbHRpbnMvY29tbW9uLmM6MTM5IGVycm9yLmM6MjYxCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAiCiBtc2dzdHIgIiVz77ya6K2m5ZGK77yaIgpAQCAtMTM2LDExICsxNTYsMTEgQEAKIG1zZ2lkICIlczogdXNhZ2U6ICIKIG1zZ3N0ciAiJXPvvJrorablkYrvvJoiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODIyCisjOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyNwogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKIG1zZ3N0ciAi5aSq5aSa5byV5pW4IgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTMgc2hlbGwuYzo3NzQKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5OSBzaGVsbC5jOjc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgogbXNnc3RyICIlc++8mumBuOmghemcgOimgeS4gOWAi+W8leaVuCIKQEAgLTE1NSw3ICsxNzUsNyBAQAogbXNnaWQgIiVzOiBub3QgZm91bmQiCiBtc2dzdHIgIiVz77ya5rKS5pyJ5om+5YiwIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3ODcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVz77ya54Sh5pWI6YG46aCFIgpAQCAtMTgwLDcgKzIwMCw3IEBACiBtc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgogbXNnc3RyICIlc++8mueEoeaViOeahOiZn+eivCIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU1CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTYKIG1zZ2lkICJpbnZhbGlkIG51bWJlciIKIG1zZ3N0ciAiIgogCkBAIC0xOTQsNyArMjE0LDcgQEAKIG1zZ2lkICJgJXMnOiBub3QgYSBwaWQgb3IgdmFsaWQgam9iIHNwZWMiCiBtc2dzdHIgImAlcyfvvJrkuI3mmK/kuIDlgIsgcGlkIOaIluacieaViOeahOW3peS9nOimj+agvCIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjY0IGVycm9yLmM6NDUzCisjOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IHZhcmlhYmxlIgogbXNnc3RyICIlc++8muWPquiugOiuiuaVuCIKQEAgLTI2NiwyNiArMjg2LDI2IEBACiBtc2dpZCAiJXM6IGFtYmlndW91cyBqb2Igc3BlYyIKIG1zZ3N0ciAiJXPvvJrlkKvns4rnmoTlt6XkvZzopo/moLwiCiAKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjoyNzAKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjoyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYWN0aW9uIG5hbWUiCiBtc2dzdHIgIiVz77ya54Sh5pWI55qE5Yqf6IO95ZCN56ixIgogCi0jOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6NDMwIGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2MTUKLSM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MTMKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo0NDkgYnVpbHRpbnMvY29tcGxldGUuZGVmOjY0NAorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjg1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm8gY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlc++8muaykuacieWujOaIkOeahOimj+agvCIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY2NworIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY5NgogbXNnaWQgIndhcm5pbmc6IC1GIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCIKIG1zZ3N0ciAi6K2m5ZGK77yaIC1GIOmBuOmgheWPr+iDveeEoeazleaMiemgkOacn+W3peS9nCIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY2OQorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY5OAogbXNnaWQgIndhcm5pbmc6IC1DIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCIKIG1zZ3N0ciAi6K2m5ZGK77yaIC1DIOmBuOmgheWPr+iDveeEoeazleaMiemgkOacn+W3peS9nCIKIAotIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjc4NgorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjgyNgogbXNnaWQgIm5vdCBjdXJyZW50bHkgZXhlY3V0aW5nIGNvbXBsZXRpb24gZnVuY3Rpb24iCiBtc2dzdHIgIiIKIApAQCAtMjkzLDIxICszMTMsMjEgQEAKIG1zZ2lkICJjYW4gb25seSBiZSB1c2VkIGluIGEgZnVuY3Rpb24iCiBtc2dzdHIgIuWPquiDveeUqOWcqOS4gOWAi+WHveaVuCIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzUzCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzY1IGV4ZWN1dGVfY21kLmM6NDgxOAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVz77ya5Y+q6K6A5Ye95pW4IgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjEKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBhc3NvY2lhdGl2ZSB0byBpbmRleGVkIGFycmF5IgogbXNnc3RyICIiCkBAIC0zMzYsOCArMzU2LDggQEAKIG1zZ2lkICIlczogY2Fubm90IGRlbGV0ZTogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDY3NQotIzogc2hlbGwuYzoxNDM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0CisjOiBzaGVsbC5jOjE0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIiCkBAIC0zNTIsNyArMzcyLDggQEAKIG1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgZXhlY3V0ZV9jbWQuYzo0NzQ1IHNoZWxsLmM6MTQ0OQorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDMgZXhlY3V0ZV9jbWQuYzo0ODY0CisjOiBzaGVsbC5jOjE0NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlIgogbXNnc3RyICIiCkBAIC0zODEsMTUgKzQwMiwxNSBAQAogbXNnaWQgIlRoZXJlIGFyZSBydW5uaW5nIGpvYnMuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjI2MQorIzogYnVpbHRpbnMvZmMuZGVmOjI2MgogbXNnaWQgIm5vIGNvbW1hbmQgZm91bmQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM0MQorIzogYnVpbHRpbnMvZmMuZGVmOjM0OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzYyCisjOiBidWlsdGlucy9mYy5kZWY6MzcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiB0ZW1wIGZpbGU6ICVzIgogbXNnc3RyICIiCkBAIC00NzgsMTIgKzQ5OSwxMiBAQAogbXNnaWQgIm5vIG90aGVyIG9wdGlvbnMgYWxsb3dlZCB3aXRoIGAteCciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MTk3CisjOiBidWlsdGlucy9raWxsLmRlZjoyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFyZ3VtZW50cyBtdXN0IGJlIHByb2Nlc3Mgb3Igam9iIElEcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyNjAKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MwogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgIiIKIApAQCAtNDkxLDU1ICs1MTIsNjAgQEAKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0MSBidWlsdGlucy9yZWFkLmRlZjoyNzIKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE2NQogIywgYy1mb3JtYXQKLW1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKK21zZ2lkICIlczogbm90IGFuIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTcgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CisjLCBjLWZvcm1hdAogbXNnaWQgIiVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcjogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU4IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY2IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwNAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKIG1zZ3N0ciAiJXPvvJrnhKHmlYjpgbjpoIUiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiBtc2dzdHIgIiVz77ya54Sh5pWI6YG46aCFIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgY2FsbGJhY2sgcXVhbnR1bSIKIG1zZ3N0ciAiJXPvvJrnhKHmlYjnmoTlip/og73lkI3nqLEiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMxOAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzI2CiBtc2dpZCAiZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM0NwogbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNjcKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU0NAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTcxCisjOiBidWlsdGlucy9wcmludGYuZGVmOjU3OAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogJXM6ICVzIgogbXNnc3RyICIlc++8muitpuWRiu+8miIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTAKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzU3CiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAiIgogCkBAIC02MjksMTIgKzY1NSwxMiBAQAogIiAgICBUaGUgYGRpcnMnIGJ1aWx0aW4gZGlzcGxheXMgdGhlIGRpcmVjdG9yeSBzdGFjay4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcmVhZC5kZWY6MjQ4CisjOiBidWlsdGlucy9yZWFkLmRlZjoyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgdGltZW91dCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU3NAorIzogYnVpbHRpbnMvcmVhZC5kZWY6NTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWQgZXJyb3I6ICVkOiAlcyIKIG1zZ3N0ciAiIgpAQCAtNjcxLDExICs2OTcsMTEgQEAKIG1zZ2lkICJzaGlmdCBjb3VudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MjU0CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MjYwCiBtc2dpZCAiY2Fubm90IHNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucyBzaW11bHRhbmVvdXNseSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MzE5CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgogbXNnc3RyICIiCkBAIC03NjUsNzcgKzc5MSw3NyBAQAogbXNnaWQgImAlYyc6IGludmFsaWQgc3ltYm9saWMgbW9kZSBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogZXJyb3IuYzo4OSBlcnJvci5jOjMyMCBlcnJvci5jOjMyMiBlcnJvci5jOjMyNAorIzogZXJyb3IuYzo5MCBlcnJvci5jOjMyMSBlcnJvci5jOjMyMyBlcnJvci5jOjMyNQogbXNnaWQgIiBsaW5lICIKIG1zZ3N0ciAiIgogCi0jOiBlcnJvci5jOjE2NAorIzogZXJyb3IuYzoxNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAibGFzdCBjb21tYW5kOiAlc1xuIgogbXNnc3RyICLmnIDlvoznmoTlkb3ku6TvvJogJXNcbiIKIAotIzogZXJyb3IuYzoxNzIKKyM6IGVycm9yLmM6MTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nLi4uIgogbXNnc3RyICIiCiAKLSM6IGVycm9yLmM6NDA1CisjOiBlcnJvci5jOjQwNgogbXNnaWQgInVua25vd24gY29tbWFuZCBlcnJvciIKIG1zZ3N0ciAi5pyq55+l5ZG95Luk6Yyv6KqkIgogCi0jOiBlcnJvci5jOjQwNgorIzogZXJyb3IuYzo0MDcKIG1zZ2lkICJiYWQgY29tbWFuZCB0eXBlIgogbXNnc3RyICLlo57nmoTlkb3ku6TpoZ7lnosiCiAKLSM6IGVycm9yLmM6NDA3CisjOiBlcnJvci5jOjQwOAogbXNnaWQgImJhZCBjb25uZWN0b3IiCiBtc2dzdHIgIuWjnueahOmAo+aOpeWZqCIKIAotIzogZXJyb3IuYzo0MDgKKyM6IGVycm9yLmM6NDA5CiBtc2dpZCAiYmFkIGp1bXAiCiBtc2dzdHIgIiIKIAotIzogZXJyb3IuYzo0NDYKKyM6IGVycm9yLmM6NDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmJvdW5kIHZhcmlhYmxlIgogbXNnc3RyICIiCiAKICM6IGV2YWwuYzoxODEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCittc2dpZCAiB3RpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKIG1zZ3N0ciAiIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5MQorIzogZXhlY3V0ZV9jbWQuYzo0OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlZGlyZWN0IHN0YW5kYXJkIGlucHV0IGZyb20gL2Rldi9udWxsOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBleGVjdXRlX2NtZC5jOjExMTIKKyM6IGV4ZWN1dGVfY21kLmM6MTE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJUSU1FRk9STUFUOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzoyMDExCisjOiBleGVjdXRlX2NtZC5jOjIwNzUKICMsIGZ1enp5CiBtc2dpZCAicGlwZSBlcnJvciIKIG1zZ3N0ciAi5a+r5YWl6Yyv6Kqk77yaICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjQzNjMKKyM6IGV4ZWN1dGVfY21kLmM6NDQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDU0CisjOiBleGVjdXRlX2NtZC5jOjQ1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIlc++8muWRveS7pOaJvuS4jeWIsCIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NzA4CisjOiBleGVjdXRlX2NtZC5jOjQ4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0ODU3CisjOiBleGVjdXRlX2NtZC5jOjQ5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKIG1zZ3N0ciAiIgpAQCAtODgwLDI4ICs5MDYsMjggQEAKIG1zZ2lkICJtaXNzaW5nIGApJyIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6ODk3IGV4cHIuYzoxMTc1CisjOiBleHByLmM6ODk3IGV4cHIuYzoxMTc2CiBtc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMTc3CisjOiBleHByLmM6MTE3OAogbXNnaWQgInN5bnRheCBlcnJvcjogaW52YWxpZCBhcml0aG1ldGljIG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMjAxCisjOiBleHByLmM6MTIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMjU5CisjOiBleHByLmM6MTI2MAogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMjc5CisjOiBleHByLmM6MTI4MAogbXNnaWQgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTMyOAorIzogZXhwci5jOjEzMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKIG1zZ3N0ciAiIgpAQCAtOTEwLDcgKzkzNiw3IEBACiBtc2dpZCAiZ2V0Y3dkOiBjYW5ub3QgYWNjZXNzIHBhcmVudCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiIgogCi0jOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDU1OQorIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc2V0IG5vZGVsYXkgbW9kZSBmb3IgZmQgJWQiCiBtc2dzdHIgIiIKQEAgLTk2Myw3ICs5ODksNyBAQAogbXNnaWQgIkRvbmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMgorIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMwogbXNnaWQgIlN0b3BwZWQiCiBtc2dzdHIgIiIKIApAQCAtMTAwMCw2OSArMTAyNiw3MyBAQAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE3NzEKKyM6IGpvYnMuYzoxNzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyMDk5IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMDQgbm9qb2JzLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjMyNgorIzogam9icy5jOjIzMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjU5OAorIzogam9icy5jOjI2MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjgyMAorIzogam9icy5jOjI4MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiBoYXMgdGVybWluYXRlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjgyOQorIzogam9icy5jOjI4MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM0OTIKKyM6IGpvYnMuYzozMDU5Cittc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgorbXNnc3RyICIiCisKKyM6IGpvYnMuYzozNTA4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogbGluZSAlZDogIgogbXNnc3RyICIlc++8muitpuWRiu+8miIKIAotIzogam9icy5jOjM1MDYgbm9qb2JzLmM6ODE0CisjOiBqb2JzLmM6MzUyMiBub2pvYnMuYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIChjb3JlIGR1bXBlZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM1MTggam9icy5jOjM1MzEKKyM6IGpvYnMuYzozNTM0IGpvYnMuYzozNTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIih3ZCBub3c6ICVzKVxuIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNTYzCisjOiBqb2JzLmM6MzU3OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjIzCisjOiBqb2JzLmM6MzYzOQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzYzMworIzogam9icy5jOjM2NDkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjYxCisjOiBqb2JzLmM6MzY3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzY2NgorIzogam9icy5jOjM2ODIKIG1zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgogbXNnc3RyICIiCiAKQEAgLTExNTMsNiArMTE4MywyNiBAQAogbXNnaWQgIm5ldHdvcmsgb3BlcmF0aW9ucyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICLkuI3mlK/mjIHntrLot6/mk43kvZwiCiAKKyM6IGxvY2FsZS5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBsb2NhbGUuYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKK21zZ3N0ciAiIgorCiAjOiBtYWlsY2hlY2suYzo0MzMKIG1zZ2lkICJZb3UgaGF2ZSBtYWlsIGluICRfIgogbXNnc3RyICLmgqjmnInpg7Xku7blnKggJF8iCkBAIC0xMTY2LDEzMSArMTIxNiwxMzEgQEAKIG1zZ2lkICJUaGUgbWFpbCBpbiAlcyBoYXMgYmVlbiByZWFkXG4iCiBtc2dzdHIgIumDteS7tuWcqCAlcyDlt7LplrHoroBcbiIKIAotIzogbWFrZV9jbWQuYzozMjIKKyM6IG1ha2VfY21kLmM6MzIzCiBtc2dpZCAic3ludGF4IGVycm9yOiBhcml0aG1ldGljIGV4cHJlc3Npb24gcmVxdWlyZWQiCiBtc2dzdHIgIuiqnuazlemMr+iqpO+8muW/hemgiOeul+ihk+ihqOmBlCIKIAotIzogbWFrZV9jbWQuYzozMjQKKyM6IG1ha2VfY21kLmM6MzI1CiBtc2dpZCAic3ludGF4IGVycm9yOiBgOycgdW5leHBlY3RlZCIKIG1zZ3N0ciAi6Kqe5rOV6Yyv6Kqk77yaIGA7JyDmhI/lpJYiCiAKLSM6IG1ha2VfY21kLmM6MzI1CisjOiBtYWtlX2NtZC5jOjMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGAoKCVzKSknIgogbXNnc3RyICLoqp7ms5XpjK/oqqTvvJogYCgoJXMpKSciCiAKLSM6IG1ha2VfY21kLmM6NTY3CisjOiBtYWtlX2NtZC5jOjU3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWtlX2hlcmVfZG9jdW1lbnQ6IGJhZCBpbnN0cnVjdGlvbiB0eXBlICVkIgogbXNnc3RyICJtYWtlX2hlcmVfZG9jdW1lbnTvvJrlo57nmoTmjIfnpLrpoZ7lnosgJWQiCiAKLSM6IG1ha2VfY21kLmM6NjUxCisjOiBtYWtlX2NtZC5jOjY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJoZXJlLWRvY3VtZW50IGF0IGxpbmUgJWQgZGVsaW1pdGVkIGJ5IGVuZC1vZi1maWxlICh3YW50ZWQgYCVzJykiCiBtc2dzdHIgIiIKIAotIzogbWFrZV9jbWQuYzo3NDYKKyM6IG1ha2VfY21kLmM6NzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlIgogbXNnc3RyICJtYWtlX3JlZGlyZWN0aW9u77ya6YeN5paw5bCO5ZCR5oyH56S6IGAlZCcg6LaF5Ye656+E5ZyNIgogCi0jOiBwYXJzZS55OjI5ODYgcGFyc2UueTozMjE4CisjOiBwYXJzZS55OjMxMzMgcGFyc2UueTozMzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGAlYyciCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozNzIyCisjOiBwYXJzZS55OjM5NTEKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBgXV0nIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzcyNworIzogcGFyc2UueTozOTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uOiB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozNzMxCisjOiBwYXJzZS55OjM5NjAKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAi6Kqe5rOV6Yyv6Kqk77yM5Zyo5pyJ5qKd5Lu255qE6KGo6YGUIgogCi0jOiBwYXJzZS55OjM4MDkKKyM6IHBhcnNlLnk6NDAzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGV4cGVjdGVkIGApJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM4MTMKKyM6IHBhcnNlLnk6NDA0MgogbXNnaWQgImV4cGVjdGVkIGApJyIKIG1zZ3N0ciAi6aCQ5pyfIGApJyIKIAotIzogcGFyc2UueTozODQxCisjOiBwYXJzZS55OjQwNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6Mzg0NQorIzogcGFyc2UueTo0MDc0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM4ODUKKyM6IHBhcnNlLnk6NDEyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM4ODkKKyM6IHBhcnNlLnk6NDEyNAogbXNnaWQgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM5MDYKKyM6IHBhcnNlLnk6NDE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzkxMAorIzogcGFyc2UueTo0MTUwCiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozOTIxCisjOiBwYXJzZS55OjQxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozOTI0CisjOiBwYXJzZS55OjQxNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozOTI4CisjOiBwYXJzZS55OjQxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NTE5NQorIzogcGFyc2UueTo1NDU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjUyMTMKKyM6IHBhcnNlLnk6NTQ3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NTIyMworIzogcGFyc2UueTo1NDg3CiBtc2dpZCAic3ludGF4IGVycm9yOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NTIyMworIzogcGFyc2UueTo1NDg3CiBtc2dpZCAic3ludGF4IGVycm9yIgogbXNnc3RyICLoqp7ms5XpjK/oqqQiCiAKLSM6IHBhcnNlLnk6NTI4NQorIzogcGFyc2UueTo1NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NTQ0NworIzogcGFyc2UueTo1NzExCiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgogbXNnc3RyICIiCiAKLSM6IHBjb21wbGV0ZS5jOjEwMTgKKyM6IHBjb21wbGV0ZS5jOjEwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgIiIKQEAgLTEzMDAsNzEgKzEzNTAsOTAgQEAKIG1zZ2lkICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjI4NQorIzogcHJpbnRfY21kLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzoxMzQ4CisjOiBwcmludF9jbWQuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlX3NldDogJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICIiCisKKyM6IHByaW50X2NtZC5jOjM2OAorbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgorbXNnc3RyICIiCisKKyM6IHByaW50X2NtZC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCittc2dzdHIgIiIKKworIzogcHJpbnRfY21kLmM6MTQ2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjcHJpbnRmOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxMDUKKyM6IHJlZGlyLmM6MTEwCiBtc2dpZCAiZmlsZSBkZXNjcmlwdG9yIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjE0OAorIzogcmVkaXIuYzoxNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjE1MgorIzogcmVkaXIuYzoxNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjE1NworIzogcmVkaXIuYzoxNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxNjIKKyM6IHJlZGlyLmM6MTgwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjUxNworIzogcmVkaXIuYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgorbXNnc3RyICIlc++8muWPquiugOiuiuaVuCIKKworIzogcmVkaXIuYzo1NDQKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxMDIzCisjOiByZWRpci5jOjExMDEKIG1zZ2lkICJyZWRpcmVjdGlvbiBlcnJvcjogY2Fubm90IGR1cGxpY2F0ZSBmZCIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjMyOAorIzogc2hlbGwuYzozMzIKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjMzMgorIzogc2hlbGwuYzozMzYKIG1zZ2lkICIvdG1wIG11c3QgYmUgYSB2YWxpZCBkaXJlY3RvcnkgbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjg3NgorIzogc2hlbGwuYzo4ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWMlYzogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVjJWPvvJrnhKHmlYjpgbjpoIUiCiAKLSM6IHNoZWxsLmM6MTYzOAorIzogc2hlbGwuYzoxNjUxCiBtc2dpZCAiSSBoYXZlIG5vIG5hbWUhIgogbXNnc3RyICLmiJHmspLmnInlkI3lrZfvvIEiCiAKLSM6IHNoZWxsLmM6MTc3OAorIzogc2hlbGwuYzoxNzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkdOVSBiYXNoLCB2ZXJzaW9uICVzLSglcylcbiIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjE3NzkKKyM6IHNoZWxsLmM6MTc5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKQEAgLTEzNzMsMzgxICsxNDQyLDQwMiBAQAogIueUqOazle+8mlx0JXMgW0dOVSDplbfpgbjpoIVdIFvpgbjpoIVdIC4uLlxuIgogIlx0JXMgW0dOVSDplbfpgbjpoIVdIFvpgbjpoIVdIHNjcmlwdC1maWxlIC4uLlxuIgogCi0jOiBzaGVsbC5jOjE3ODEKKyM6IHNoZWxsLmM6MTc5NgogbXNnaWQgIkdOVSBsb25nIG9wdGlvbnM6XG4iCiBtc2dzdHIgIkdOVSDplbfpgbjpoIXvvJpcbiIKIAotIzogc2hlbGwuYzoxNzg1CisjOiBzaGVsbC5jOjE4MDAKIG1zZ2lkICJTaGVsbCBvcHRpb25zOlxuIgogbXNnc3RyICJTaGVsbCDpgbjpoIXvvJpcbiIKIAotIzogc2hlbGwuYzoxNzg2CisjOiBzaGVsbC5jOjE4MDEKIG1zZ2lkICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCiBtc2dzdHIgIlx0LWlyc0Qg5oiWIC1jIOWRveS7pOaIliAtTyBzaG9wdF9vcHRpb25cdFx0KOWPquacieW8leeUqClcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCiBtc2dzdHIgIlx0LSVzIG9yIC1vIOmBuOmghVxuIgogCi0jOiBzaGVsbC5jOjE4MDcKKyM6IHNoZWxsLmM6MTgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIui8uOWFpSBgJXMgLWMgXCJoZWxwIHNldFwiJyDmm7TlpJroqIrmga/pl5zmlrwgc2hlbGwg6YG46aCF44CCXG4iCiAKLSM6IHNoZWxsLmM6MTgwOAorIzogc2hlbGwuYzoxODIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIGhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIGJ1aWx0aW4gY29tbWFuZHMuXG4iCiBtc2dzdHIgIui8uOWFpSBgJXMgLWMgaGVscCcg5pu05aSa6KiK5oGv6Zec5pa85YWn5bu6IHNoZWxsIOWRveS7pOOAglxuIgogCi0jOiBzaGVsbC5jOjE4MDkKKyM6IHNoZWxsLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgdGhlIGBiYXNoYnVnJyBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgogbXNnc3RyICLkvb/nlKggYGJhc2hidWcnIOWRveS7pOWgseWRiuiHreifsuOAglxuIgogCi0jOiBzaWcuYzo1ODMKKyM6IHNpZy5jOjYyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzaWdwcm9jbWFzazogJWQ6IGludmFsaWQgb3BlcmF0aW9uIgogbXNnc3RyICJzaWdwcm9jbWFza++8miAlZO+8mueEoeaViOaTjeS9nCIKIAotIzogc2lnbGlzdC5jOjQ3CisjOiBzaWdsaXN0LmM6NDgKIG1zZ2lkICJCb2d1cyBzaWduYWwiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjUwCisjOiBzaWdsaXN0LmM6NTEKIG1zZ2lkICJIYW5ndXAiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjU0CisjOiBzaWdsaXN0LmM6NTUKIG1zZ2lkICJJbnRlcnJ1cHQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjU4CisjOiBzaWdsaXN0LmM6NTkKIG1zZ2lkICJRdWl0IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo2MgorIzogc2lnbGlzdC5jOjYzCiBtc2dpZCAiSWxsZWdhbCBpbnN0cnVjdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6NjYKKyM6IHNpZ2xpc3QuYzo2NwogbXNnaWQgIkJQVCB0cmFjZS90cmFwIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo3NAorIzogc2lnbGlzdC5jOjc1CiBtc2dpZCAiQUJPUlQgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjc4CisjOiBzaWdsaXN0LmM6NzkKIG1zZ2lkICJFTVQgaW5zdHJ1Y3Rpb24iCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjgyCisjOiBzaWdsaXN0LmM6ODMKIG1zZ2lkICJGbG9hdGluZyBwb2ludCBleGNlcHRpb24iCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjg2CisjOiBzaWdsaXN0LmM6ODcKIG1zZ2lkICJLaWxsZWQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjkwCisjOiBzaWdsaXN0LmM6OTEKICMsIGZ1enp5CiBtc2dpZCAiQnVzIGVycm9yIgogbXNnc3RyICLoqp7ms5XpjK/oqqQiCiAKLSM6IHNpZ2xpc3QuYzo5NAorIzogc2lnbGlzdC5jOjk1CiBtc2dpZCAiU2VnbWVudGF0aW9uIGZhdWx0IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzo5OAorIzogc2lnbGlzdC5jOjk5CiBtc2dpZCAiQmFkIHN5c3RlbSBjYWxsIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxMDIKKyM6IHNpZ2xpc3QuYzoxMDMKIG1zZ2lkICJCcm9rZW4gcGlwZSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTA2CisjOiBzaWdsaXN0LmM6MTA3CiBtc2dpZCAiQWxhcm0gY2xvY2siCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjExMAorIzogc2lnbGlzdC5jOjExMQogIywgZnV6enkKIG1zZ2lkICJUZXJtaW5hdGVkIgogbXNnc3RyICLmnInpmZDnmoQiCiAKLSM6IHNpZ2xpc3QuYzoxMTQKKyM6IHNpZ2xpc3QuYzoxMTUKIG1zZ2lkICJVcmdlbnQgSU8gY29uZGl0aW9uIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxMTgKKyM6IHNpZ2xpc3QuYzoxMTkKIG1zZ2lkICJTdG9wcGVkIChzaWduYWwpIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxMjYKKyM6IHNpZ2xpc3QuYzoxMjcKIG1zZ2lkICJDb250aW51ZSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTM0CisjOiBzaWdsaXN0LmM6MTM1CiBtc2dpZCAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTM4CisjOiBzaWdsaXN0LmM6MTM5CiBtc2dpZCAiU3RvcHBlZCAodHR5IGlucHV0KSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTQyCisjOiBzaWdsaXN0LmM6MTQzCiBtc2dpZCAiU3RvcHBlZCAodHR5IG91dHB1dCkiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE0NgorIzogc2lnbGlzdC5jOjE0NwogbXNnaWQgIkkvTyByZWFkeSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTUwCisjOiBzaWdsaXN0LmM6MTUxCiBtc2dpZCAiQ1BVIGxpbWl0IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNTQKKyM6IHNpZ2xpc3QuYzoxNTUKIG1zZ2lkICJGaWxlIGxpbWl0IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNTgKKyM6IHNpZ2xpc3QuYzoxNTkKIG1zZ2lkICJBbGFybSAodmlydHVhbCkiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE2MgorIzogc2lnbGlzdC5jOjE2MwogbXNnaWQgIkFsYXJtIChwcm9maWxlKSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTY2CisjOiBzaWdsaXN0LmM6MTY3CiBtc2dpZCAiV2luZG93IGNoYW5nZWQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE3MAorIzogc2lnbGlzdC5jOjE3MQogbXNnaWQgIlJlY29yZCBsb2NrIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNzQKKyM6IHNpZ2xpc3QuYzoxNzUKIG1zZ2lkICJVc2VyIHNpZ25hbCAxIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxNzgKKyM6IHNpZ2xpc3QuYzoxNzkKIG1zZ2lkICJVc2VyIHNpZ25hbCAyIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxODIKKyM6IHNpZ2xpc3QuYzoxODMKIG1zZ2lkICJIRlQgaW5wdXQgZGF0YSBwZW5kaW5nIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxODYKKyM6IHNpZ2xpc3QuYzoxODcKIG1zZ2lkICJwb3dlciBmYWlsdXJlIGltbWluZW50IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoxOTAKKyM6IHNpZ2xpc3QuYzoxOTEKIG1zZ2lkICJzeXN0ZW0gY3Jhc2ggaW1taW5lbnQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjE5NAorIzogc2lnbGlzdC5jOjE5NQogbXNnaWQgIm1pZ3JhdGUgcHJvY2VzcyB0byBhbm90aGVyIENQVSIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MTk4CisjOiBzaWdsaXN0LmM6MTk5CiBtc2dpZCAicHJvZ3JhbW1pbmcgZXJyb3IiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjIwMgorIzogc2lnbGlzdC5jOjIwMwogbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgZ3JhbnRlZCIKIG1zZ3N0ciAiIgogCi0jOiBzaWdsaXN0LmM6MjA2CisjOiBzaWdsaXN0LmM6MjA3CiBtc2dpZCAiSEZUIG1vbml0b3IgbW9kZSByZXRyYWN0ZWQiCiBtc2dzdHIgIiIKIAotIzogc2lnbGlzdC5jOjIxMAorIzogc2lnbGlzdC5jOjIxMQogbXNnaWQgIkhGVCBzb3VuZCBzZXF1ZW5jZSBoYXMgY29tcGxldGVkIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMTQKKyM6IHNpZ2xpc3QuYzoyMTUKIG1zZ2lkICJJbmZvcm1hdGlvbiByZXF1ZXN0IgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMjIKKyM6IHNpZ2xpc3QuYzoyMjMKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjIgogbXNnc3RyICIiCiAKLSM6IHNpZ2xpc3QuYzoyMjQKKyM6IHNpZ2xpc3QuYzoyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyVkIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6MTE4MSBzdWJzdC5jOjEzMDIKKyM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6MjQ1OAorIzogc3Vic3QuYzoyNzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDQ1NiBzdWJzdC5jOjQ0NzIKKyM6IHN1YnN0LmM6NDc1NCBzdWJzdC5jOjQ3NzAKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ1MDQKKyM6IHN1YnN0LmM6NDgwMgogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ1NDkKKyM6IHN1YnN0LmM6NDg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDU1MQorIzogc3Vic3QuYzo0ODQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo0NTY5CisjOiBzdWJzdC5jOjQ4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBuYW1lZCBwaXBlICVzIGFzIGZkICVkIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDc2NQorIzogc3Vic3QuYzo1MDYzCiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo0Nzk5CisjOiBzdWJzdC5jOjUwOTcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo0ODE2CisjOiBzdWJzdC5jOjUxMTQKIG1zZ2lkICJjb21tYW5kX3N1YnN0aXR1dGU6IGNhbm5vdCBkdXBsaWNhdGUgcGlwZSBhcyBmZCAxIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NTMxOAorIzogc3Vic3QuYzo1NjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXJhbWV0ZXIgbnVsbCBvciBub3Qgc2V0IgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NTYwOAorIzogc3Vic3QuYzo1OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo2NjYwCisjOiBzdWJzdC5jOjY5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo2NzQwCisjOiBzdWJzdC5jOjcwNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NzQ5OQorIzogc3Vic3QuYzo3Mzc0Cittc2dpZCAiIgorImZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGUgc2hlbGwgd2lsbCBmb3JjZSBldmFsdWF0aW9uIGFzIGFuIGFyaXRobWV0aWMgIgorInN1YnN0aXR1dGlvbiIKK21zZ3N0ciAiIgorCisjOiBzdWJzdC5jOjc4MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBcImBcIiBpbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjgzNzUKKyM6IHN1YnN0LmM6ODcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaDogJXMiCiBtc2dzdHIgIiIKIAotIzogdGVzdC5jOjE0NQorIzogdGVzdC5jOjE0NgogbXNnaWQgImFyZ3VtZW50IGV4cGVjdGVkIgogbXNnc3RyICIiCiAKLSM6IHRlc3QuYzoxNTQKKyM6IHRlc3QuYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludGVnZXIgZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiB0ZXN0LmM6MjYyCisjOiB0ZXN0LmM6MjYzCiBtc2dpZCAiYCknIGV4cGVjdGVkIgogbXNnc3RyICIiCiAKLSM6IHRlc3QuYzoyNjQKKyM6IHRlc3QuYzoyNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCknIGV4cGVjdGVkLCBmb3VuZCAlcyIKIG1zZ3N0ciAiIgogCi0jOiB0ZXN0LmM6Mjc5IHRlc3QuYzo2ODggdGVzdC5jOjY5MQorIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIiCiAKLSM6IHRlc3QuYzo0NDQgdGVzdC5jOjczMQorIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiIKIAotIzogdGVzdC5jOjgwNgorIzogdGVzdC5jOjgxMQogbXNnaWQgIm1pc3NpbmcgYF0nIgogbXNnc3RyICIiCiAKLSM6IHRyYXAuYzoyMDEKKyM6IHRyYXAuYzoyMDMKIG1zZ2lkICJpbnZhbGlkIHNpZ25hbCBudW1iZXIiCiBtc2dzdHIgIueEoeaViOS/oeiZn+aVuCIKIAotIzogdHJhcC5jOjMyNAorIzogdHJhcC5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogbXNnc3RyICIiCiAKLSM6IHRyYXAuYzozMjgKKyM6IHRyYXAuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCiBtc2dzdHIgInJ1bl9wZW5kaW5nX3RyYXBz77yaIOS/oeiZn+iZleeQhuaYryBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCiAKLSM6IHRyYXAuYzozNzIKKyM6IHRyYXAuYzozODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhcF9oYW5kbGVyOiBiYWQgc2lnbmFsICVkIgogbXNnc3RyICJ0cmFwX2hhbmRsZXLvvJrlo57nmoTkv6HomZ8gJWQiCiAKLSM6IHZhcmlhYmxlcy5jOjM1OAorIzogdmFyaWFibGVzLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnIgogbXNnc3RyICLpjK/oqqTvvIzovLjlhaXnmoTlh73mlbjlrprnvqnngrogYCVzJyIKIAotIzogdmFyaWFibGVzLmM6NzM2CisjOiB2YXJpYWJsZXMuYzo3NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MTg5OAorIzogdmFyaWFibGVzLmM6MTkxNQogbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMTI3CisjOiB2YXJpYWJsZXMuYzozMTU5CiBtc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNDQgdmFyaWFibGVzLmM6MzM1MworIzogdmFyaWFibGVzLmM6MzM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCittc2dzdHIgIiIKKworIzogdmFyaWFibGVzLmM6MzM4MSB2YXJpYWJsZXMuYzozMzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY2hhcmFjdGVyICVkIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzM1OQorIzogdmFyaWFibGVzLmM6MzM5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBgPScgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozNzk0CisjOiB2YXJpYWJsZXMuYzozODM1CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSBmdW5jdGlvbiBjb250ZXh0IgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM4MDcKKyM6IHZhcmlhYmxlcy5jOjM4NDgKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IG5vIGdsb2JhbF92YXJpYWJsZXMgY29udGV4dCIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozODgxCisjOiB2YXJpYWJsZXMuYzozOTIyCiBtc2dpZCAicG9wX3Njb3BlOiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgc2NvcGUiCiBtc2dzdHIgIiIKIAorIzogdmFyaWFibGVzLmM6NDY3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIgorbXNnc3RyICIlc++8muS4jeiDveiugOWPlu+8miAlcyIKKworIzogdmFyaWFibGVzLmM6NDY4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGludmFsaWQgdmFsdWUgZm9yIHRyYWNlIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiIgorCiAjOiB2ZXJzaW9uLmM6NDYKIG1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgogbXNnc3RyICIiCkBAIC0xNzU4LDU5ICsxODQ4LDUxIEBACiAiaHRtbD5cbiIKIG1zZ3N0ciAiIgogCi0jOiB2ZXJzaW9uLmM6ODYKKyM6IHZlcnNpb24uYzo4NiB2ZXJzaW9uMi5jOjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkdOVSBiYXNoLCB2ZXJzaW9uICVzICglcylcbiIKIG1zZ3N0ciAiIgogCi0jOiB2ZXJzaW9uLmM6OTEKKyM6IHZlcnNpb24uYzo5MSB2ZXJzaW9uMi5jOjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmlidXRlIGl0LlxuIgogbXNnc3RyICIiCiAKLSM6IHZlcnNpb24uYzo5MgorIzogdmVyc2lvbi5jOjkyIHZlcnNpb24yLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKIG1zZ3N0ciAiIgogCi0jOiB4bWFsbG9jLmM6OTIKKyM6IHZlcnNpb24yLmM6ODYKICMsIGMtZm9ybWF0Ci1tc2dpZCAieG1hbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCittc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgogbXNnc3RyICIiCiAKLSM6IHhtYWxsb2MuYzo5NAorIzogdmVyc2lvbjIuYzo4NwogIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorbXNnaWQgIiIKKyJMaWNlbnNlIEdQTHYyKzogR05VIEdQTCB2ZXJzaW9uIDIgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiaHRtbD5cbiIKIG1zZ3N0ciAiIgogCi0jOiB4bWFsbG9jLmM6MTE0CisjOiB4bWFsbG9jLmM6OTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCittc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgogbXNnc3RyICIiCiAKLSM6IHhtYWxsb2MuYzoxMTYKKyM6IHhtYWxsb2MuYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCittc2dzdHIgIiVz77ya5LiN6IO96K6A5Y+W77yaICVzIgorCisjOiB4bWFsbG9jLmM6MTYzCiAjLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiBtc2dzdHIgIiIKIAotIzogeG1hbGxvYy5jOjE1MAorIzogeG1hbGxvYy5jOjE2NQogIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgIiIKLQotIzogeG1hbGxvYy5jOjE1MgotIywgYy1mb3JtYXQKLW1zZ2lkICJ4bWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKLW1zZ3N0ciAiIgotCi0jOiB4bWFsbG9jLmM6MTc0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAiIgotCi0jOiB4bWFsbG9jLmM6MTc2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzo0MwpAQCAtMTkyOCw3ICsyMDEwLDcgQEAKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjExNwotbXNnaWQgImhlbHAgWy1kc10gW3BhdHRlcm4gLi4uXSIKK21zZ2lkICJoZWxwIFstZG1zXSBbcGF0dGVybiAuLi5dIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MTIxCkBAIC0xOTU3LDggKzIwMzksOCBAQAogCiAjOiBidWlsdGlucy5jOjEzNgogbXNnaWQgIiIKLSJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstcCBwcm9tcHRdIFstdCAiCi0idGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgorInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKKyJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxMzgKQEAgLTIxMTgsOSArMjIwMCw5IEBACiAKICM6IGJ1aWx0aW5zLmM6MjI5CiBtc2dpZCAiIgotImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy1XICIKLSJ3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyBzdWZmaXhdICIKLSJbbmFtZSAuLi5dIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy0iCisiVyB3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyAiCisic3VmZml4XSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MjMzCkBAIC0yMTMwLDcgKzIyMTIsNyBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MjM3Ci1tc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbbmFtZSAuLi5dIgorbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gWy1ERV0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjI0MApAQCAtMjg1Nyw3ICsyOTM5LDExIEBACiAiICAgICAgLWVcdFx0dXNlIFJlYWRsaW5lIHRvIG9idGFpbiB0aGUgbGluZSBpbiBhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgogIiAgICAgIC1pIHRleHRcdFVzZSBURVhUIGFzIHRoZSBpbml0aWFsIHRleHQgZm9yIFJlYWRsaW5lXG4iCiAiICAgICAgLW4gbmNoYXJzXHRyZXR1cm4gYWZ0ZXIgcmVhZGluZyBOQ0hBUlMgY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3YWl0aW5nXG4iCi0iICAgIFx0XHRmb3IgYSBuZXdsaW5lXG4iCisiICAgIFx0XHRmb3IgYSBuZXdsaW5lLCBidXQgaG9ub3IgYSBkZWxpbWl0ZXIgaWYgZmV3ZXIgdGhhbiBOQ0hBUlNcbiIKKyIgICAgXHRcdGNoYXJhY3RlcnMgYXJlIHJlYWQgYmVmb3JlIHRoZSBkZWxpbWl0ZXJcbiIKKyIgICAgICAtTiBuY2hhcnNcdHJldHVybiBvbmx5IGFmdGVyIHJlYWRpbmcgZXhhY3RseSBOQ0hBUlMgY2hhcmFjdGVycywgIgorInVubGVzc1xuIgorIiAgICBcdFx0RU9GIGlzIGVuY291bnRlcmVkIG9yIHJlYWQgdGltZXMgb3V0LCBpZ25vcmluZyBhbnkgZGVsaW1pdGVyXG4iCiAiICAgICAgLXAgcHJvbXB0XHRvdXRwdXQgdGhlIHN0cmluZyBQUk9NUFQgd2l0aG91dCBhIHRyYWlsaW5nIG5ld2xpbmUgYmVmb3JlXG4iCiAiICAgIFx0XHRhdHRlbXB0aW5nIHRvIHJlYWRcbiIKICIgICAgICAtclx0XHRkbyBub3QgYWxsb3cgYmFja3NsYXNoZXMgdG8gZXNjYXBlIGFueSBjaGFyYWN0ZXJzXG4iCkBAIC0yODc3LDcgKzI5NjMsNyBAQAogIiAgICBvciBhbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBpcyBzdXBwbGllZCBhcyB0aGUgYXJndW1lbnQgdG8gLXUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTAwNgorIzogYnVpbHRpbnMuYzoxMDA5CiBtc2dpZCAiIgogIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMjg4OSw3ICsyOTc1LDcgQEAKICIgICAgUmV0dXJucyBOLCBvciBmYWlsdXJlIGlmIHRoZSBzaGVsbCBpcyBub3QgZXhlY3V0aW5nIGEgZnVuY3Rpb24gb3Igc2NyaXB0LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEwMTkKKyM6IGJ1aWx0aW5zLmM6MTAyMgogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0yOTcxLDcgKzMwNTcsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMDEKKyM6IGJ1aWx0aW5zLmM6MTEwNAogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMjk5MSw3ICszMDc3LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIE5BTUUgaXMgcmVhZC1vbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMjEKKyM6IGJ1aWx0aW5zLmM6MTEyNAogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTMwMTAsNyArMzA5Niw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNDAKKyM6IGJ1aWx0aW5zLmM6MTE0MwogbXNnaWQgIiIKICJNYXJrIHNoZWxsIHZhcmlhYmxlcyBhcyB1bmNoYW5nZWFibGUuXG4iCiAiICAgIFxuIgpAQCAtMzAzMCw3ICszMTE2LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE2MQorIzogYnVpbHRpbnMuYzoxMTY0CiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zMDQxLDcgKzMxMjcsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE4gaXMgbmVnYXRpdmUgb3IgZ3JlYXRlciB0aGFuICQjLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNzMgYnVpbHRpbnMuYzoxMTg4CisjOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzA1NSw3ICszMTQxLDcgQEAKICIgICAgRklMRU5BTUUgY2Fubm90IGJlIHJlYWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTIwNAorIzogYnVpbHRpbnMuYzoxMjA3CiBtc2dpZCAiIgogIlN1c3BlbmQgc2hlbGwgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTMwNjksNyArMzE1NSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEyMjAKKyM6IGJ1aWx0aW5zLmM6MTIyMwogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTMxNDYsNyArMzIzMiw3IEBACiAiICAgIGZhbHNlIG9yIGFuIGludmFsaWQgYXJndW1lbnQgaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTI5NgorIzogYnVpbHRpbnMuYzoxMjk5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtMzE1NCw3ICszMjQwLDcgQEAKICIgICAgYmUgYSBsaXRlcmFsIGBdJywgdG8gbWF0Y2ggdGhlIG9wZW5pbmcgYFsnLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzMDUKKyM6IGJ1aWx0aW5zLmM6MTMwOAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtMzE2Niw3ICszMjUyLDcgQEAKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzMTcKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJUcmFwIHNpZ25hbHMgYW5kIG90aGVyIGV2ZW50cy5cbiIKICIgICAgXG4iCkBAIC0zMjAyLDcgKzMyODgsNyBAQAogImdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzNDkKKyM6IGJ1aWx0aW5zLmM6MTM1MgogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmQgdHlwZS5cbiIKICIgICAgXG4iCkBAIC0zMjMyLDcgKzMzMTgsNyBAQAogImZvdW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzODAKKyM6IGJ1aWx0aW5zLmM6MTM4MwogbXNnaWQgIiIKICJNb2RpZnkgc2hlbGwgcmVzb3VyY2UgbGltaXRzLlxuIgogIiAgICBcbiIKQEAgLTMyNzYsNyArMzM2Miw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0MjUKKyM6IGJ1aWx0aW5zLmM6MTQyOAogbXNnaWQgIiIKICJEaXNwbGF5IG9yIHNldCBmaWxlIG1vZGUgbWFzay5cbiIKICIgICAgXG4iCkBAIC0zMjk0LDcgKzMzODAsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE1PREUgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDQ1CisjOiBidWlsdGlucy5jOjE0NDgKIG1zZ2lkICIiCiAiV2FpdCBmb3Igam9iIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC0zMzExLDcgKzMzOTcsNyBAQAogIiAgICBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDYzCisjOiBidWlsdGlucy5jOjE0NjYKIG1zZ2lkICIiCiAiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtMzMyNSw3ICszNDExLDcgQEAKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ3OAorIzogYnVpbHRpbnMuYzoxNDgxCiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZm9yIGVhY2ggbWVtYmVyIGluIGEgbGlzdC5cbiIKICIgICAgXG4iCkBAIC0zMzM4LDcgKzM0MjQsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDkyCisjOiBidWlsdGlucy5jOjE0OTUKIG1zZ2lkICIiCiAiQXJpdGhtZXRpYyBmb3IgbG9vcC5cbiIKICIgICAgXG4iCkBAIC0zMzU1LDcgKzM0NDEsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTEwCisjOiBidWlsdGlucy5jOjE1MTMKIG1zZ2lkICIiCiAiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTMzNzUsNyArMzQ2MSw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1MzEKKyM6IGJ1aWx0aW5zLmM6MTUzNAogbXNnaWQgIiIKICJSZXBvcnQgdGltZSBjb25zdW1lZCBieSBwaXBlbGluZSdzIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC0zMzkxLDcgKzM0NzcsNyBAQAogIiAgICBUaGUgcmV0dXJuIHN0YXR1cyBpcyB0aGUgcmV0dXJuIHN0YXR1cyBvZiBQSVBFTElORS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTQ4CisjOiBidWlsdGlucy5jOjE1NTEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBwYXR0ZXJuIG1hdGNoaW5nLlxuIgogIiAgICBcbiIKQEAgLTM0MDIsNyArMzQ4OCw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1NjAKKyM6IGJ1aWx0aW5zLmM6MTU2MwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIGNvbmRpdGlvbmFsLlxuIgogIiAgICBcbiIKQEAgLTM0MjMsNyArMzUwOSw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1NzcKKyM6IGJ1aWx0aW5zLmM6MTU4MAogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IHN1Y2NlZWRzLlxuIgogIiAgICBcbiIKQEAgLTM0MzQsNyArMzUyMCw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1ODkKKyM6IGJ1aWx0aW5zLmM6MTU5MgogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IGRvZXMgbm90IHN1Y2NlZWQuXG4iCiAiICAgIFxuIgpAQCAtMzQ0NSw3ICszNTMxLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYwMQorIzogYnVpbHRpbnMuYzoxNjA0CiBtc2dpZCAiIgogIkNyZWF0ZSBhIGNvcHJvY2VzcyBuYW1lZCBOQU1FLlxuIgogIiAgICBcbiIKQEAgLTM0NTgsNyArMzU0NCw3IEBACiAiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYxNQorIzogYnVpbHRpbnMuYzoxNjE4CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNDcyLDcgKzM1NTgsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgcmVhZG9ubHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYyOQorIzogYnVpbHRpbnMuYzoxNjMyCiBtc2dpZCAiIgogIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKICIgICAgXG4iCkBAIC0zNDgzLDcgKzM1NjksNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjQxCisjOiBidWlsdGlucy5jOjE2NDQKIG1zZ2lkICIiCiAiUmVzdW1lIGpvYiBpbiBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTM0OTcsNyArMzU4Myw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgcmVzdW1lZCBqb2IuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY1NgorIzogYnVpbHRpbnMuYzoxNjU5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC0zNTA4LDcgKzM1OTQsNyBAQAogIiAgICBSZXR1cm5zIDEgaWYgRVhQUkVTU0lPTiBldmFsdWF0ZXMgdG8gMDsgcmV0dXJucyAwIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjY4CisjOiBidWlsdGlucy5jOjE2NzEKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb25kaXRpb25hbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTM1MzYsNyArMzYyMiw3IEBACiAiICAgIDAgb3IgMSBkZXBlbmRpbmcgb24gdmFsdWUgb2YgRVhQUkVTU0lPTi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjk0CisjOiBidWlsdGlucy5jOjE2OTcKIG1zZ2lkICIiCiAiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKICIgICAgXG4iCkBAIC0zNTkwLDcgKzM2NzYsNyBAQAogIiAgICBcdFx0Y29tbWFuZHMgc2hvdWxkIGJlIHNhdmVkIG9uIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNzUxCisjOiBidWlsdGlucy5jOjE3NTQKIG1zZ2lkICIiCiAiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM2MjEsNyArMzcwNyw3IEBACiAiICAgIGNoYW5nZSBmYWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNzg1CisjOiBidWlsdGlucy5jOjE3ODgKIG1zZ2lkICIiCiAiUmVtb3ZlIGRpcmVjdG9yaWVzIGZyb20gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzY0OCw3ICszNzM0LDcgQEAKICIgICAgY2hhbmdlIGZhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4MTUKKyM6IGJ1aWx0aW5zLmM6MTgxOAogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zNjc3LDcgKzM3NjMsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODQ0CisjOiBidWlsdGlucy5jOjE4NDcKIG1zZ2lkICIiCiAiU2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTM2OTgsNyArMzc4NCw3IEBACiAiICAgIGdpdmVuIG9yIE9QVE5BTUUgaXMgZGlzYWJsZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg2NQorIzogYnVpbHRpbnMuYzoxODY4CiBtc2dpZCAiIgogIkZvcm1hdHMgYW5kIHByaW50cyBBUkdVTUVOVFMgdW5kZXIgY29udHJvbCBvZiB0aGUgRk9STUFULlxuIgogIiAgICBcbiIKQEAgLTM3MjgsNyArMzgxNCw3IEBACiAiICAgIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODkyCisjOiBidWlsdGlucy5jOjE4OTUKIG1zZ2lkICIiCiAiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCiAiICAgIFxuIgpAQCAtMzc0MiwxNSArMzgyOCwyMCBAQAogIiAgICAgIC1wXHRwcmludCBleGlzdGluZyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zIGluIGEgcmV1c2FibGUgZm9ybWF0XG4iCiAiICAgICAgLXJcdHJlbW92ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm9cbiIKICIgICAgXHROQU1FcyBhcmUgc3VwcGxpZWQsIGFsbCBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zXG4iCisiICAgICAgLURcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyBhcyB0aGUgZGVmYXVsdCBmb3IgY29tbWFuZHNcbiIKKyIgICAgXHR3aXRob3V0IGFueSBzcGVjaWZpYyBjb21wbGV0aW9uIGRlZmluZWRcbiIKKyIgICAgICAtRVx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIHRvIFwiZW1wdHlcIiBjb21tYW5kcyAtLVxuIgorIiAgICBcdGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZVxuIgogIiAgICBcbiIKICIgICAgV2hlbiBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgdGhlIGFjdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZVxuIgotIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS5cbiIKKyIgICAgdXBwZXJjYXNlLWxldHRlciBvcHRpb25zIGFyZSBsaXN0ZWQgYWJvdmUuICBUaGUgLUQgb3B0aW9uIHRha2VzXG4iCisiICAgIHByZWNlZGVuY2Ugb3ZlciAtRS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTE1CisjOiBidWlsdGlucy5jOjE5MjMKIG1zZ2lkICIiCiAiRGlzcGxheSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzc2Myw3ICszODU0LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTkzMAorIzogYnVpbHRpbnMuYzoxOTM4CiBtc2dpZCAiIgogIk1vZGlmeSBvciBkaXNwbGF5IGNvbXBsZXRpb24gb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zNzc2LDYgKzM4NjcsOCBAQAogIiAgICBcbiIKICIgICAgT3B0aW9uczpcbiIKICIgICAgXHQtbyBvcHRpb25cdFNldCBjb21wbGV0aW9uIG9wdGlvbiBPUFRJT04gZm9yIGVhY2ggTkFNRVxuIgorIiAgICBcdC1EXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJkZWZhdWx0XCIgY29tbWFuZCBjb21wbGV0aW9uXG4iCisiICAgIFx0LUVcdFx0Q2hhbmdlIG9wdGlvbnMgZm9yIHRoZSBcImVtcHR5XCIgY29tbWFuZCBjb21wbGV0aW9uXG4iCiAiICAgIFxuIgogIiAgICBVc2luZyBgK28nIGluc3RlYWQgb2YgYC1vJyB0dXJucyBvZmYgdGhlIHNwZWNpZmllZCBvcHRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzc5MiwxNSArMzg4NSwxNSBAQAogIiAgICBoYXZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGRlZmluZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTk1OAorIzogYnVpbHRpbnMuYzoxOTY4CiBtc2dpZCAiIgotIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKKyJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCi0iICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgYXJyYXkgdmFyaWFibGUgQVJSQVksIG9yICIKLSJmcm9tXG4iCi0iICAgIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlIE1BUEZJTEUgIgotImlzXG4iCi0iICAgIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgorIiAgICBSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUgIgorIkFSUkFZLCBvclxuIgorIiAgICBmcm9tIGZpbGUgZGVzY3JpcHRvciBGRCBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIHZhcmlhYmxlICIKKyJNQVBGSUxFXG4iCisiICAgIGlzIHRoZSBkZWZhdWx0IEFSUkFZLlxuIgogIiAgICBcbiIKICIgICAgT3B0aW9uczpcbiIKICIgICAgICAtbiBjb3VudFx0Q29weSBhdCBtb3N0IENPVU5UIGxpbmVzLiAgSWYgQ09VTlQgaXMgMCwgYWxsIGxpbmVzIGFyZSAiCkBAIC0zODI3LDEwICszOTIwLDEyIEBACiAiICAgIGFzc2lnbmluZyB0byBpdC5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIEFSUkFZIGlzIHJlYWRvbmx5LiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBBUlJBWSBpcyByZWFkb25seSAiCisib3JcbiIKKyIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTk5MAorIzogYnVpbHRpbnMuYzoyMDAxCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCmRpZmYgLS1naXQgYS9wcmludF9jbWQuYyBiL3ByaW50X2NtZC5jCmluZGV4IDI4NWQ4ZmYuLjlhNDFkY2IgMTAwNjQ0Ci0tLSBhL3ByaW50X2NtZC5jCisrKyBiL3ByaW50X2NtZC5jCkBAIC0xMDgsNiArMTA4LDExIEBACiBpbnQgdGhlX3ByaW50ZWRfY29tbWFuZF9zaXplID0gMDsKIGludCBjb21tYW5kX3N0cmluZ19pbmRleCA9IDA7CiAKK2ludCB4dHJhY2VfZmQgPSAtMTsKK0ZJTEUgKnh0cmFjZV9mcCA9IDA7CisKKyNkZWZpbmUgQ0hFQ0tfWFRSQUNFX0ZQCXh0cmFjZV9mcCA9ICh4dHJhY2VfZnAgPyB4dHJhY2VfZnAgOiBzdGRlcnIpCisKIC8qIE5vbi16ZXJvIG1lYW5zIHRoZSBzdHVmZiBiZWluZyBwcmludGVkIGlzIGluc2lkZSBvZiBhIGZ1bmN0aW9uIGRlZi4gKi8KIHN0YXRpYyBpbnQgaW5zaWRlX2Z1bmN0aW9uX2RlZjsKIHN0YXRpYyBpbnQgc2tpcF90aGlzX2luZGVudDsKQEAgLTM0OCw2ICszNTMsNTcgQEAKICAgX3ByaW50X3dvcmRfbGlzdCAobGlzdCwgc2VwYXJhdG9yLCB4cHJpbnRmKTsKIH0KIAordm9pZAoreHRyYWNlX3NldCAoZmQsIGZwKQorICAgICBpbnQgZmQ7CisgICAgIEZJTEUgKmZwOworeworICBpZiAoZmQgPj0gMCAmJiBzaF92YWxpZGZkIChmZCkgPT0gMCkKKyAgICB7CisgICAgICBpbnRlcm5hbF9lcnJvciAoXygieHRyYWNlX3NldDogJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIiksIGZkKTsKKyAgICAgIHJldHVybjsKKyAgICB9CisgIGlmIChmcCA9PSAwKQorICAgIHsKKyAgICAgIGludGVybmFsX2Vycm9yIChfKCJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIpKTsKKyAgICAgIHJldHVybjsKKyAgICB9CisgIGlmIChmZCA+PSAwICYmIGZpbGVubyAoZnApICE9IGZkKQorICAgIGludGVybmFsX3dhcm5pbmcgKF8oInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIpLCBmZCwgZmlsZW5vIChmcCkpOworICAKKyAgeHRyYWNlX2ZkID0gZmQ7CisgIHh0cmFjZV9mcCA9IGZwOworfQorCit2b2lkCit4dHJhY2VfaW5pdCAoKQoreworICB4dHJhY2Vfc2V0ICgtMSwgc3RkZXJyKTsKK30KKwordm9pZAoreHRyYWNlX3Jlc2V0ICgpCit7CisgIGlmICh4dHJhY2VfZmQgPj0gMCAmJiB4dHJhY2VfZnApCisgICAgeworICAgICAgZmZsdXNoICh4dHJhY2VfZnApOworICAgICAgZmNsb3NlICh4dHJhY2VfZnApOworICAgIH0KKyAgZWxzZSBpZiAoeHRyYWNlX2ZkID49IDApCisgICAgY2xvc2UgKHh0cmFjZV9mZCk7CisKKyAgeHRyYWNlX2ZkID0gLTE7CisgIHh0cmFjZV9mcCA9IHN0ZGVycjsKK30KKwordm9pZAoreHRyYWNlX2ZkY2hrIChmZCkKKyAgICAgaW50IGZkOworeworICBpZiAoZmQgPT0geHRyYWNlX2ZkKQorICAgIHh0cmFjZV9yZXNldCAoKTsKK30KKwogLyogUmV0dXJuIGEgc3RyaW5nIGRlbm90aW5nIHdoYXQgb3VyIGluZGlyZWN0aW9uIGxldmVsIGlzLiAqLwogCiBjaGFyICoKQEAgLTQwOSw4ICs0NjUsMTAgQEAKIHsKICAgY2hhciAqbnZhbDsKIAorICBDSEVDS19YVFJBQ0VfRlA7CisKICAgaWYgKHhmbGFncykKLSAgICBmcHJpbnRmIChzdGRlcnIsICIlcyIsIGluZGlyZWN0aW9uX2xldmVsX3N0cmluZyAoKSk7CisgICAgZnByaW50ZiAoeHRyYWNlX2ZwLCAiJXMiLCBpbmRpcmVjdGlvbl9sZXZlbF9zdHJpbmcgKCkpOwogCiAgIC8qIFZBTFVFIHNob3VsZCBub3QgYmUgTlVMTCB3aGVuIHRoaXMgaXMgY2FsbGVkLiAqLwogICBpZiAoKnZhbHVlID09ICdcMCcgfHwgYXNzaWduX2xpc3QpCkBAIC00MjMsMTQgKzQ4MSwxNCBAQAogICAgIG52YWwgPSB2YWx1ZTsKIAogICBpZiAoYXNzaWduX2xpc3QpCi0gICAgZnByaW50ZiAoc3RkZXJyLCAiJXM9KCVzKVxuIiwgbmFtZSwgbnZhbCk7CisgICAgZnByaW50ZiAoeHRyYWNlX2ZwLCAiJXM9KCVzKVxuIiwgbmFtZSwgbnZhbCk7CiAgIGVsc2UKLSAgICBmcHJpbnRmIChzdGRlcnIsICIlcz0lc1xuIiwgbmFtZSwgbnZhbCk7CisgICAgZnByaW50ZiAoeHRyYWNlX2ZwLCAiJXM9JXNcbiIsIG5hbWUsIG52YWwpOwogCiAgIGlmIChudmFsICE9IHZhbHVlKQogICAgIEZSRUUgKG52YWwpOwogCi0gIGZmbHVzaCAoc3RkZXJyKTsKKyAgZmZsdXNoICh4dHJhY2VfZnApOwogfQogCiAvKiBBIGZ1bmN0aW9uIHRvIHByaW50IHRoZSB3b3JkcyBvZiBhIHNpbXBsZSBjb21tYW5kIHdoZW4gc2V0IC14IGlzIG9uLiAqLwpAQCAtNDQyLDMwICs1MDAsMzMgQEAKICAgV09SRF9MSVNUICp3OwogICBjaGFyICp0LCAqeDsKIAorICBDSEVDS19YVFJBQ0VfRlA7CisKICAgaWYgKHh0ZmxhZ3MpCi0gICAgZnByaW50ZiAoc3RkZXJyLCAiJXMiLCBpbmRpcmVjdGlvbl9sZXZlbF9zdHJpbmcgKCkpOworICAgIGZwcmludGYgKHh0cmFjZV9mcCwgIiVzIiwgaW5kaXJlY3Rpb25fbGV2ZWxfc3RyaW5nICgpKTsKIAogICBmb3IgKHcgPSBsaXN0OyB3OyB3ID0gdy0+bmV4dCkKICAgICB7CiAgICAgICB0ID0gdy0+d29yZC0+d29yZDsKICAgICAgIGlmICh0ID09IDAgfHwgKnQgPT0gJ1wwJykKLQlmcHJpbnRmIChzdGRlcnIsICInJyVzIiwgdy0+bmV4dCA/ICIgIiA6ICIiKTsKKwlmcHJpbnRmICh4dHJhY2VfZnAsICInJyVzIiwgdy0+bmV4dCA/ICIgIiA6ICIiKTsKICAgICAgIGVsc2UgaWYgKHNoX2NvbnRhaW5zX3NoZWxsX21ldGFzICh0KSkKIAl7CiAJICB4ID0gc2hfc2luZ2xlX3F1b3RlICh0KTsKLQkgIGZwcmludGYgKHN0ZGVyciwgIiVzJXMiLCB4LCB3LT5uZXh0ID8gIiAiIDogIiIpOworCSAgZnByaW50ZiAoeHRyYWNlX2ZwLCAiJXMlcyIsIHgsIHctPm5leHQgPyAiICIgOiAiIik7CiAJICBmcmVlICh4KTsKIAl9CiAgICAgICBlbHNlIGlmIChhbnNpY19zaG91bGRxdW90ZSAodCkpCiAJewogCSAgeCA9IGFuc2ljX3F1b3RlICh0LCAwLCAoaW50ICopMCk7Ci0JICBmcHJpbnRmIChzdGRlcnIsICIlcyVzIiwgeCwgdy0+bmV4dCA/ICIgIiA6ICIiKTsKKwkgIGZwcmludGYgKHh0cmFjZV9mcCwgIiVzJXMiLCB4LCB3LT5uZXh0ID8gIiAiIDogIiIpOwogCSAgZnJlZSAoeCk7CiAJfQogICAgICAgZWxzZQotCWZwcmludGYgKHN0ZGVyciwgIiVzJXMiLCB0LCB3LT5uZXh0ID8gIiAiIDogIiIpOworCWZwcmludGYgKHh0cmFjZV9mcCwgIiVzJXMiLCB0LCB3LT5uZXh0ID8gIiAiIDogIiIpOwogICAgIH0KLSAgZnByaW50ZiAoc3RkZXJyLCAiXG4iKTsKKyAgZnByaW50ZiAoeHRyYWNlX2ZwLCAiXG4iKTsKKyAgZmZsdXNoICh4dHJhY2VfZnApOwogfQogCiBzdGF0aWMgdm9pZApAQCAtNDg4LDggKzU0OSw5IEBACiB4dHJhY2VfcHJpbnRfZm9yX2NvbW1hbmRfaGVhZCAoZm9yX2NvbW1hbmQpCiAgICAgIEZPUl9DT00gKmZvcl9jb21tYW5kOwogewotICBmcHJpbnRmIChzdGRlcnIsICIlcyIsIGluZGlyZWN0aW9uX2xldmVsX3N0cmluZyAoKSk7Ci0gIGZwcmludGYgKHN0ZGVyciwgImZvciAlcyBpbiAiLCBmb3JfY29tbWFuZC0+bmFtZS0+d29yZCk7CisgIENIRUNLX1hUUkFDRV9GUDsKKyAgZnByaW50ZiAoeHRyYWNlX2ZwLCAiJXMiLCBpbmRpcmVjdGlvbl9sZXZlbF9zdHJpbmcgKCkpOworICBmcHJpbnRmICh4dHJhY2VfZnAsICJmb3IgJXMgaW4gIiwgZm9yX2NvbW1hbmQtPm5hbWUtPndvcmQpOwogICB4dHJhY2VfcHJpbnRfd29yZF9saXN0IChmb3JfY29tbWFuZC0+bWFwX2xpc3QsIDApOwogfQogCkBAIC01NDIsOCArNjA0LDkgQEAKIHh0cmFjZV9wcmludF9zZWxlY3RfY29tbWFuZF9oZWFkIChzZWxlY3RfY29tbWFuZCkKICAgICAgU0VMRUNUX0NPTSAqc2VsZWN0X2NvbW1hbmQ7CiB7Ci0gIGZwcmludGYgKHN0ZGVyciwgIiVzIiwgaW5kaXJlY3Rpb25fbGV2ZWxfc3RyaW5nICgpKTsKLSAgZnByaW50ZiAoc3RkZXJyLCAic2VsZWN0ICVzIGluICIsIHNlbGVjdF9jb21tYW5kLT5uYW1lLT53b3JkKTsKKyAgQ0hFQ0tfWFRSQUNFX0ZQOworICBmcHJpbnRmICh4dHJhY2VfZnAsICIlcyIsIGluZGlyZWN0aW9uX2xldmVsX3N0cmluZyAoKSk7CisgIGZwcmludGYgKHh0cmFjZV9mcCwgInNlbGVjdCAlcyBpbiAiLCBzZWxlY3RfY29tbWFuZC0+bmFtZS0+d29yZCk7CiAgIHh0cmFjZV9wcmludF93b3JkX2xpc3QgKHNlbGVjdF9jb21tYW5kLT5tYXBfbGlzdCwgMCk7CiB9CiAKQEAgLTYxMSw4ICs2NzQsOSBAQAogeHRyYWNlX3ByaW50X2Nhc2VfY29tbWFuZF9oZWFkIChjYXNlX2NvbW1hbmQpCiAgICAgIENBU0VfQ09NICpjYXNlX2NvbW1hbmQ7CiB7Ci0gIGZwcmludGYgKHN0ZGVyciwgIiVzIiwgaW5kaXJlY3Rpb25fbGV2ZWxfc3RyaW5nICgpKTsKLSAgZnByaW50ZiAoc3RkZXJyLCAiY2FzZSAlcyBpblxuIiwgY2FzZV9jb21tYW5kLT53b3JkLT53b3JkKTsKKyAgQ0hFQ0tfWFRSQUNFX0ZQOworICBmcHJpbnRmICh4dHJhY2VfZnAsICIlcyIsIGluZGlyZWN0aW9uX2xldmVsX3N0cmluZyAoKSk7CisgIGZwcmludGYgKHh0cmFjZV9mcCwgImNhc2UgJXMgaW5cbiIsIGNhc2VfY29tbWFuZC0+d29yZC0+d29yZCk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC03OTAsMjUgKzg1NCwyOCBAQAogICAgICBXT1JEX0RFU0MgKm9wOwogICAgICBjaGFyICphcmcxLCAqYXJnMjsKIHsKKyAgQ0hFQ0tfWFRSQUNFX0ZQOwogICBjb21tYW5kX3N0cmluZ19pbmRleCA9IDA7Ci0gIGZwcmludGYgKHN0ZGVyciwgIiVzIiwgaW5kaXJlY3Rpb25fbGV2ZWxfc3RyaW5nICgpKTsKLSAgZnByaW50ZiAoc3RkZXJyLCAiW1sgIik7CisgIGZwcmludGYgKHh0cmFjZV9mcCwgIiVzIiwgaW5kaXJlY3Rpb25fbGV2ZWxfc3RyaW5nICgpKTsKKyAgZnByaW50ZiAoeHRyYWNlX2ZwLCAiW1sgIik7CiAgIGlmIChpbnZlcnQpCi0gICAgZnByaW50ZiAoc3RkZXJyLCAiISAiKTsKKyAgICBmcHJpbnRmICh4dHJhY2VfZnAsICIhICIpOwogCiAgIGlmICh0eXBlID09IENPTkRfVU5BUlkpCiAgICAgewotICAgICAgZnByaW50ZiAoc3RkZXJyLCAiJXMgIiwgb3AtPndvcmQpOwotICAgICAgZnByaW50ZiAoc3RkZXJyLCAiJXMiLCAoYXJnMSAmJiAqYXJnMSkgPyBhcmcxIDogIicnIik7CisgICAgICBmcHJpbnRmICh4dHJhY2VfZnAsICIlcyAiLCBvcC0+d29yZCk7CisgICAgICBmcHJpbnRmICh4dHJhY2VfZnAsICIlcyIsIChhcmcxICYmICphcmcxKSA/IGFyZzEgOiAiJyciKTsKICAgICB9CiAgIGVsc2UgaWYgKHR5cGUgPT0gQ09ORF9CSU5BUlkpCiAgICAgewotICAgICAgZnByaW50ZiAoc3RkZXJyLCAiJXMiLCAoYXJnMSAmJiAqYXJnMSkgPyBhcmcxIDogIicnIik7Ci0gICAgICBmcHJpbnRmIChzdGRlcnIsICIgJXMgIiwgb3AtPndvcmQpOwotICAgICAgZnByaW50ZiAoc3RkZXJyLCAiJXMiLCAoYXJnMiAmJiAqYXJnMikgPyBhcmcyIDogIicnIik7CisgICAgICBmcHJpbnRmICh4dHJhY2VfZnAsICIlcyIsIChhcmcxICYmICphcmcxKSA/IGFyZzEgOiAiJyciKTsKKyAgICAgIGZwcmludGYgKHh0cmFjZV9mcCwgIiAlcyAiLCBvcC0+d29yZCk7CisgICAgICBmcHJpbnRmICh4dHJhY2VfZnAsICIlcyIsIChhcmcyICYmICphcmcyKSA/IGFyZzIgOiAiJyciKTsKICAgICB9CiAKLSAgZnByaW50ZiAoc3RkZXJyLCAiIF1dXG4iKTsKKyAgZnByaW50ZiAoeHRyYWNlX2ZwLCAiIF1dXG4iKTsKKworICBmZmx1c2ggKHh0cmFjZV9mcCk7CiB9CSAgCiAjZW5kaWYgLyogQ09ORF9DT01NQU5EICovCiAKQEAgLTgyMCwxMSArODg3LDE0IEBACiB7CiAgIFdPUkRfTElTVCAqdzsKIAotICBmcHJpbnRmIChzdGRlcnIsICIlcyIsIGluZGlyZWN0aW9uX2xldmVsX3N0cmluZyAoKSk7Ci0gIGZwcmludGYgKHN0ZGVyciwgIigoICIpOworICBDSEVDS19YVFJBQ0VfRlA7CisgIGZwcmludGYgKHh0cmFjZV9mcCwgIiVzIiwgaW5kaXJlY3Rpb25fbGV2ZWxfc3RyaW5nICgpKTsKKyAgZnByaW50ZiAoeHRyYWNlX2ZwLCAiKCggIik7CiAgIGZvciAodyA9IGxpc3Q7IHc7IHcgPSB3LT5uZXh0KQotICAgIGZwcmludGYgKHN0ZGVyciwgIiVzJXMiLCB3LT53b3JkLT53b3JkLCB3LT5uZXh0ID8gIiAiIDogIiIpOwotICBmcHJpbnRmIChzdGRlcnIsICIgKSlcbiIpOworICAgIGZwcmludGYgKHh0cmFjZV9mcCwgIiVzJXMiLCB3LT53b3JkLT53b3JkLCB3LT5uZXh0ID8gIiAiIDogIiIpOworICBmcHJpbnRmICh4dHJhY2VfZnAsICIgKSlcbiIpOworCisgIGZmbHVzaCAoeHRyYWNlX2ZwKTsKIH0KICNlbmRpZgogCkBAIC05MTgsNyArOTg4LDcgQEAKIAkgIGVsc2UKIAkgICAgaGR0YWlsID0gaGVyZWRvY3MgPSBuZXdyZWRpcjsKIAl9Ci0gICAgICBlbHNlIGlmIChyZWRpcmVjdHMtPmluc3RydWN0aW9uID09IHJfZHVwbGljYXRpbmdfb3V0cHV0X3dvcmQgJiYgcmVkaXJlY3RzLT5yZWRpcmVjdG9yID09IDEpCisgICAgICBlbHNlIGlmIChyZWRpcmVjdHMtPmluc3RydWN0aW9uID09IHJfZHVwbGljYXRpbmdfb3V0cHV0X3dvcmQgJiYgcmVkaXJlY3RzLT5yZWRpcmVjdG9yLmRlc3QgPT0gMSkKIAl7CiAJICAvKiBUZW1wb3JhcmlseSB0cmFuc2xhdGUgaXQgYXMgdGhlIGV4ZWN1dGlvbiBjb2RlIGRvZXMuICovCiAJICByZWRpcmVjdHMtPmluc3RydWN0aW9uID0gcl9lcnJfYW5kX291dDsKQEAgLTk1NCw4ICsxMDI0LDEwIEBACiAgIGtpbGxfbGVhZGluZyA9IHJlZGlyZWN0LT5pbnN0cnVjdGlvbiA9PSByX2RlYmxhbmtfcmVhZGluZ191bnRpbDsKIAogICAvKiBIZXJlIGRvYyBoZWFkZXIgKi8KLSAgaWYgKHJlZGlyZWN0LT5yZWRpcmVjdG9yICE9IDApCi0gICAgY3ByaW50ZiAoIiVkIiwgcmVkaXJlY3QtPnJlZGlyZWN0b3IpOworICBpZiAocmVkaXJlY3QtPnJmbGFncyAmIFJFRElSX1ZBUkFTU0lHTikKKyAgICBjcHJpbnRmICgieyVzfSIsIHJlZGlyZWN0LT5yZWRpcmVjdG9yLmZpbGVuYW1lLT53b3JkKTsKKyAgZWxzZSBpZiAocmVkaXJlY3QtPnJlZGlyZWN0b3IuZGVzdCAhPSAwKQorICAgIGNwcmludGYgKCIlZCIsIHJlZGlyZWN0LT5yZWRpcmVjdG9yLmRlc3QpOwogCiAgIC8qIElmIHRoZSBoZXJlIGRvY3VtZW50IGRlbGltaXRlciBpcyBxdW90ZWQsIHNpbmdsZS1xdW90ZSBpdC4gKi8KICAgaWYgKHJlZGlyZWN0LT5yZWRpcmVjdGVlLmZpbGVuYW1lLT5mbGFncyAmIFdfUVVPVEVEKQpAQCAtOTgxLDM3ICsxMDUzLDYxIEBACiAgICAgIFJFRElSRUNUICpyZWRpcmVjdDsKIHsKICAgaW50IGtpbGxfbGVhZGluZywgcmVkaXJlY3RvciwgcmVkaXJfZmQ7Ci0gIFdPUkRfREVTQyAqcmVkaXJlY3RlZTsKKyAgV09SRF9ERVNDICpyZWRpcmVjdGVlLCAqcmVkaXJfd29yZDsKIAogICBraWxsX2xlYWRpbmcgPSAwOwogICByZWRpcmVjdGVlID0gcmVkaXJlY3QtPnJlZGlyZWN0ZWUuZmlsZW5hbWU7Ci0gIHJlZGlyZWN0b3IgPSByZWRpcmVjdC0+cmVkaXJlY3RvcjsKICAgcmVkaXJfZmQgPSByZWRpcmVjdC0+cmVkaXJlY3RlZS5kZXN0OwogCisgIHJlZGlyX3dvcmQgPSByZWRpcmVjdC0+cmVkaXJlY3Rvci5maWxlbmFtZTsKKyAgcmVkaXJlY3RvciA9IHJlZGlyZWN0LT5yZWRpcmVjdG9yLmRlc3Q7CisKICAgc3dpdGNoIChyZWRpcmVjdC0+aW5zdHJ1Y3Rpb24pCiAgICAgewotICAgIGNhc2Ugcl9vdXRwdXRfZGlyZWN0aW9uOgotICAgICAgaWYgKHJlZGlyZWN0b3IgIT0gMSkKLQljcHJpbnRmICgiJWQiLCByZWRpcmVjdG9yKTsKLSAgICAgIGNwcmludGYgKCI+ICVzIiwgcmVkaXJlY3RlZS0+d29yZCk7Ci0gICAgICBicmVhazsKLQogICAgIGNhc2Ugcl9pbnB1dF9kaXJlY3Rpb246Ci0gICAgICBpZiAocmVkaXJlY3RvciAhPSAwKQorICAgICAgaWYgKHJlZGlyZWN0LT5yZmxhZ3MgJiBSRURJUl9WQVJBU1NJR04pCisJY3ByaW50ZiAoInslc30iLCByZWRpcl93b3JkLT53b3JkKTsKKyAgICAgIGVsc2UgaWYgKHJlZGlyZWN0b3IgIT0gMCkKIAljcHJpbnRmICgiJWQiLCByZWRpcmVjdG9yKTsKICAgICAgIGNwcmludGYgKCI8ICVzIiwgcmVkaXJlY3RlZS0+d29yZCk7CiAgICAgICBicmVhazsKIAorICAgIGNhc2Ugcl9vdXRwdXRfZGlyZWN0aW9uOgorICAgICAgaWYgKHJlZGlyZWN0LT5yZmxhZ3MgJiBSRURJUl9WQVJBU1NJR04pCisJY3ByaW50ZiAoInslc30iLCByZWRpcl93b3JkLT53b3JkKTsKKyAgICAgIGVsc2UgaWYgKHJlZGlyZWN0b3IgIT0gMSkKKwljcHJpbnRmICgiJWQiLCByZWRpcmVjdG9yKTsKKyAgICAgIGNwcmludGYgKCI+ICVzIiwgcmVkaXJlY3RlZS0+d29yZCk7CisgICAgICBicmVhazsKKwogICAgIGNhc2Ugcl9pbnB1dGFfZGlyZWN0aW9uOgkvKiBSZWRpcmVjdGlvbiBjcmVhdGVkIGJ5IHRoZSBzaGVsbC4gKi8KICAgICAgIGNwcmludGYgKCImIik7CiAgICAgICBicmVhazsKIAorICAgIGNhc2Ugcl9vdXRwdXRfZm9yY2U6CisgICAgICBpZiAocmVkaXJlY3QtPnJmbGFncyAmIFJFRElSX1ZBUkFTU0lHTikKKwljcHJpbnRmICgieyVzfSIsIHJlZGlyX3dvcmQtPndvcmQpOworICAgICAgZWxzZSBpZiAocmVkaXJlY3RvciAhPSAxKQorCWNwcmludGYgKCIlZCIsIHJlZGlyZWN0b3IpOworICAgICAgY3ByaW50ZiAoIj58JXMiLCByZWRpcmVjdGVlLT53b3JkKTsKKyAgICAgIGJyZWFrOworCiAgICAgY2FzZSByX2FwcGVuZGluZ190bzoKLSAgICAgIGlmIChyZWRpcmVjdG9yICE9IDEpCisgICAgICBpZiAocmVkaXJlY3QtPnJmbGFncyAmIFJFRElSX1ZBUkFTU0lHTikKKwljcHJpbnRmICgieyVzfSIsIHJlZGlyX3dvcmQtPndvcmQpOworICAgICAgZWxzZSBpZiAocmVkaXJlY3RvciAhPSAxKQogCWNwcmludGYgKCIlZCIsIHJlZGlyZWN0b3IpOwogICAgICAgY3ByaW50ZiAoIj4+ICVzIiwgcmVkaXJlY3RlZS0+d29yZCk7CiAgICAgICBicmVhazsKIAorICAgIGNhc2Ugcl9pbnB1dF9vdXRwdXQ6CisgICAgICBpZiAocmVkaXJlY3QtPnJmbGFncyAmIFJFRElSX1ZBUkFTU0lHTikKKwljcHJpbnRmICgieyVzfSIsIHJlZGlyX3dvcmQtPndvcmQpOworICAgICAgZWxzZSBpZiAocmVkaXJlY3RvciAhPSAxKQorCWNwcmludGYgKCIlZCIsIHJlZGlyZWN0b3IpOworICAgICAgY3ByaW50ZiAoIjw+ICVzIiwgcmVkaXJlY3RlZS0+d29yZCk7CisgICAgICBicmVhazsKKwogICAgIGNhc2Ugcl9kZWJsYW5rX3JlYWRpbmdfdW50aWw6CiAgICAgY2FzZSByX3JlYWRpbmdfdW50aWw6CiAgICAgICBwcmludF9oZXJlZG9jX2hlYWRlciAocmVkaXJlY3QpOwpAQCAtMTAyMCw3ICsxMTE2LDkgQEAKICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSByX3JlYWRpbmdfc3RyaW5nOgotICAgICAgaWYgKHJlZGlyZWN0b3IgIT0gMCkKKyAgICAgIGlmIChyZWRpcmVjdC0+cmZsYWdzICYgUkVESVJfVkFSQVNTSUdOKQorCWNwcmludGYgKCJ7JXN9IiwgcmVkaXJfd29yZC0+d29yZCk7CisgICAgICBlbHNlIGlmIChyZWRpcmVjdG9yICE9IDApCiAJY3ByaW50ZiAoIiVkIiwgcmVkaXJlY3Rvcik7CiAgICAgICBpZiAoYW5zaWNfc2hvdWxkcXVvdGUgKHJlZGlyZWN0LT5yZWRpcmVjdGVlLmZpbGVuYW1lLT53b3JkKSkKIAl7CkBAIC0xMDM0LDM5ICsxMTMyLDY2IEBACiAgICAgICBicmVhazsKIAogICAgIGNhc2Ugcl9kdXBsaWNhdGluZ19pbnB1dDoKLSAgICAgIGNwcmludGYgKCIlZDwmJWQiLCByZWRpcmVjdG9yLCByZWRpcl9mZCk7CisgICAgICBpZiAocmVkaXJlY3QtPnJmbGFncyAmIFJFRElSX1ZBUkFTU0lHTikKKwljcHJpbnRmICgieyVzfTwmJWQiLCByZWRpcl93b3JkLT53b3JkLCByZWRpcl9mZCk7CisgICAgICBlbHNlCisJY3ByaW50ZiAoIiVkPCYlZCIsIHJlZGlyZWN0b3IsIHJlZGlyX2ZkKTsKICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSByX2R1cGxpY2F0aW5nX291dHB1dDoKLSAgICAgIGNwcmludGYgKCIlZD4mJWQiLCByZWRpcmVjdG9yLCByZWRpcl9mZCk7CisgICAgICBpZiAocmVkaXJlY3QtPnJmbGFncyAmIFJFRElSX1ZBUkFTU0lHTikKKwljcHJpbnRmICgieyVzfT4mJWQiLCByZWRpcl93b3JkLT53b3JkLCByZWRpcl9mZCk7CisgICAgICBlbHNlCisJY3ByaW50ZiAoIiVkPiYlZCIsIHJlZGlyZWN0b3IsIHJlZGlyX2ZkKTsKICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSByX2R1cGxpY2F0aW5nX2lucHV0X3dvcmQ6Ci0gICAgICBjcHJpbnRmICgiJWQ8JiVzIiwgcmVkaXJlY3RvciwgcmVkaXJlY3RlZS0+d29yZCk7CisgICAgICBpZiAocmVkaXJlY3QtPnJmbGFncyAmIFJFRElSX1ZBUkFTU0lHTikKKwljcHJpbnRmICgieyVzfTwmJXMiLCByZWRpcl93b3JkLT53b3JkLCByZWRpcmVjdGVlLT53b3JkKTsKKyAgICAgIGVsc2UKKwljcHJpbnRmICgiJWQ8JiVzIiwgcmVkaXJlY3RvciwgcmVkaXJlY3RlZS0+d29yZCk7CiAgICAgICBicmVhazsKIAogICAgIGNhc2Ugcl9kdXBsaWNhdGluZ19vdXRwdXRfd29yZDoKLSAgICAgIGNwcmludGYgKCIlZD4mJXMiLCByZWRpcmVjdG9yLCByZWRpcmVjdGVlLT53b3JkKTsKKyAgICAgIGlmIChyZWRpcmVjdC0+cmZsYWdzICYgUkVESVJfVkFSQVNTSUdOKQorCWNwcmludGYgKCJ7JXN9PiYlcyIsIHJlZGlyX3dvcmQtPndvcmQsIHJlZGlyZWN0ZWUtPndvcmQpOworICAgICAgZWxzZQorCWNwcmludGYgKCIlZD4mJXMiLCByZWRpcmVjdG9yLCByZWRpcmVjdGVlLT53b3JkKTsKICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSByX21vdmVfaW5wdXQ6Ci0gICAgICBjcHJpbnRmICgiJWQ8JiVkLSIsIHJlZGlyZWN0b3IsIHJlZGlyX2ZkKTsKKyAgICAgIGlmIChyZWRpcmVjdC0+cmZsYWdzICYgUkVESVJfVkFSQVNTSUdOKQorCWNwcmludGYgKCJ7JXN9PCYlZC0iLCByZWRpcl93b3JkLT53b3JkLCByZWRpcl9mZCk7CisgICAgICBlbHNlCisJY3ByaW50ZiAoIiVkPCYlZC0iLCByZWRpcmVjdG9yLCByZWRpcl9mZCk7CiAgICAgICBicmVhazsKIAogICAgIGNhc2Ugcl9tb3ZlX291dHB1dDoKLSAgICAgIGNwcmludGYgKCIlZD4mJWQtIiwgcmVkaXJlY3RvciwgcmVkaXJfZmQpOworICAgICAgaWYgKHJlZGlyZWN0LT5yZmxhZ3MgJiBSRURJUl9WQVJBU1NJR04pCisJY3ByaW50ZiAoInslc30+JiVkLSIsIHJlZGlyX3dvcmQtPndvcmQsIHJlZGlyX2ZkKTsKKyAgICAgIGVsc2UKKwljcHJpbnRmICgiJWQ+JiVkLSIsIHJlZGlyZWN0b3IsIHJlZGlyX2ZkKTsKICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSByX21vdmVfaW5wdXRfd29yZDoKLSAgICAgIGNwcmludGYgKCIlZDwmJXMtIiwgcmVkaXJlY3RvciwgcmVkaXJlY3RlZS0+d29yZCk7CisgICAgICBpZiAocmVkaXJlY3QtPnJmbGFncyAmIFJFRElSX1ZBUkFTU0lHTikKKwljcHJpbnRmICgieyVzfTwmJXMtIiwgcmVkaXJfd29yZC0+d29yZCwgcmVkaXJlY3RlZS0+d29yZCk7CisgICAgICBlbHNlCisJY3ByaW50ZiAoIiVkPCYlcy0iLCByZWRpcmVjdG9yLCByZWRpcmVjdGVlLT53b3JkKTsKICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSByX21vdmVfb3V0cHV0X3dvcmQ6Ci0gICAgICBjcHJpbnRmICgiJWQ+JiVzLSIsIHJlZGlyZWN0b3IsIHJlZGlyZWN0ZWUtPndvcmQpOworICAgICAgaWYgKHJlZGlyZWN0LT5yZmxhZ3MgJiBSRURJUl9WQVJBU1NJR04pCisJY3ByaW50ZiAoInslc30+JiVzLSIsIHJlZGlyX3dvcmQtPndvcmQsIHJlZGlyZWN0ZWUtPndvcmQpOworICAgICAgZWxzZQorCWNwcmludGYgKCIlZD4mJXMtIiwgcmVkaXJlY3RvciwgcmVkaXJlY3RlZS0+d29yZCk7CiAgICAgICBicmVhazsKIAogICAgIGNhc2Ugcl9jbG9zZV90aGlzOgotICAgICAgY3ByaW50ZiAoIiVkPiYtIiwgcmVkaXJlY3Rvcik7CisgICAgICBpZiAocmVkaXJlY3QtPnJmbGFncyAmIFJFRElSX1ZBUkFTU0lHTikKKwljcHJpbnRmICgieyVzfT4mLSIsIHJlZGlyX3dvcmQtPndvcmQpOworICAgICAgZWxzZQorCWNwcmludGYgKCIlZD4mLSIsIHJlZGlyZWN0b3IpOwogICAgICAgYnJlYWs7CiAKICAgICBjYXNlIHJfZXJyX2FuZF9vdXQ6CkBAIC0xMDc2LDE4ICsxMjAxLDYgQEAKICAgICBjYXNlIHJfYXBwZW5kX2Vycl9hbmRfb3V0OgogICAgICAgY3ByaW50ZiAoIiY+PiVzIiwgcmVkaXJlY3RlZS0+d29yZCk7CiAgICAgICBicmVhazsKLQotICAgIGNhc2Ugcl9pbnB1dF9vdXRwdXQ6Ci0gICAgICBpZiAocmVkaXJlY3RvciAhPSAxKQotCWNwcmludGYgKCIlZCIsIHJlZGlyZWN0b3IpOwotICAgICAgY3ByaW50ZiAoIjw+ICVzIiwgcmVkaXJlY3RlZS0+d29yZCk7Ci0gICAgICBicmVhazsKLQotICAgIGNhc2Ugcl9vdXRwdXRfZm9yY2U6Ci0gICAgICBpZiAocmVkaXJlY3RvciAhPSAxKQotCWNwcmludGYgKCIlZCIsIHJlZGlyZWN0b3IpOwotICAgICAgY3ByaW50ZiAoIj58JXMiLCByZWRpcmVjdGVlLT53b3JkKTsKLSAgICAgIGJyZWFrOwogICAgIH0KIH0KIApAQCAtMTI2OSw3ICsxMzgyLDcgQEAKIHsKICAgaWYgKGNvbW1hbmRfc3RyaW5nX2luZGV4ID4gMCAmJgogICAgICAgICh0aGVfcHJpbnRlZF9jb21tYW5kW2NvbW1hbmRfc3RyaW5nX2luZGV4IC0gMV0gPT0gJyYnIHx8Ci0gICAgICAgIHRoZV9wcmludGVkX2NvbW1hbmRbY29tbWFuZF9zdHJpbmdfaW5kZXggLSAxXSA9PSAnXG4nKSkKKwl0aGVfcHJpbnRlZF9jb21tYW5kW2NvbW1hbmRfc3RyaW5nX2luZGV4IC0gMV0gPT0gJ1xuJykpCiAgICAgcmV0dXJuOwogICBjcHJpbnRmICgiOyIpOwogfQpAQCAtMTMzNCw3ICsxNDQ3LDcgQEAKIAkJICBhcmdwID0gaW50YnVmOwogCQl9CiAJICAgICAgZWxzZQotCSAgICAgICAgYXJncCA9IGludHRvc3RyIChkaWdpdF9hcmcsIGludGJ1Ziwgc2l6ZW9mIChpbnRidWYpKTsKKwkJYXJncCA9IGludHRvc3RyIChkaWdpdF9hcmcsIGludGJ1Ziwgc2l6ZW9mIChpbnRidWYpKTsKIAkgICAgICBhcmdfbGVuID0gc3RybGVuIChhcmdwKTsKIAkgICAgICBicmVhazsKIApkaWZmIC0tZ2l0IGEvcmVkaXIuYyBiL3JlZGlyLmMKaW5kZXggMTgyODkxNy4uYzdhNjlmNyAxMDA2NDQKLS0tIGEvcmVkaXIuYworKysgYi9yZWRpci5jCkBAIC04Miw2ICs4Miw5IEBACiBzdGF0aWMgaW50IG5vY2xvYmJlcl9vcGVuIF9fUCgoY2hhciAqLCBpbnQsIGludCwgZW51bSByX2luc3RydWN0aW9uKSk7CiBzdGF0aWMgaW50IHJlZGlyX29wZW4gX19QKChjaGFyICosIGludCwgaW50LCBlbnVtIHJfaW5zdHJ1Y3Rpb24pKTsKIAorc3RhdGljIGludCByZWRpcl92YXJhc3NpZ24gX19QKChSRURJUkVDVCAqLCBpbnQpKTsKK3N0YXRpYyBpbnQgcmVkaXJfdmFydmFsdWUgX19QKChSRURJUkVDVCAqKSk7CisKIC8qIFNwYXJlIHJlZGlyZWN0b3IgdXNlZCB3aGVuIHRyYW5zbGF0aW5nIFtOXT4mV09SRFstXSBvciBbTl08JldPUkRbLV0gdG8KICAgIGEgbmV3IHJlZGlyZWN0aW9uIGFuZCB3aGVuIGNyZWF0aW5nIHRoZSByZWRpcmVjdGlvbiB1bmRvIGxpc3QuICovCiBzdGF0aWMgUkVESVJFQ1RFRSByZDsKQEAgLTk5LDEzICsxMDIsMTUgQEAKICAgaW50IG9mbGFnczsKIAogICBhbGxvY25hbWUgPSAwOwotICBpZiAodGVtcC0+cmVkaXJlY3RvciA8IDApCisgIGlmICh0ZW1wLT5yZmxhZ3MgJiBSRURJUl9WQVJBU1NJR04pCisgICAgZmlsZW5hbWUgPSBzYXZlc3RyaW5nICh0ZW1wLT5yZWRpcmVjdG9yLmZpbGVuYW1lLT53b3JkKTsKKyAgZWxzZSBpZiAodGVtcC0+cmVkaXJlY3Rvci5kZXN0IDwgMCkKICAgICAvKiBUaGlzIGNhbiBoYXBwZW4gd2hlbiByZWFkX3Rva2VuX3dvcmQgZW5jb3VudGVycyBvdmVyZmxvdywgbGlrZSBpbgogICAgICAgIGV4ZWMgNDI5NDk2NzI5Nz54ICovCiAgICAgZmlsZW5hbWUgPSBfKCJmaWxlIGRlc2NyaXB0b3Igb3V0IG9mIHJhbmdlIik7CiAjaWZkZWYgRUJBREYKICAgLyogVGhpcyBlcnJvciBjYW4gbmV2ZXIgaW52b2x2ZSBOT0NMT0JCRVIgKi8KLSAgZWxzZSBpZiAoZXJyb3IgIT0gTk9DTE9CQkVSX1JFRElSRUNUICYmIHRlbXAtPnJlZGlyZWN0b3IgPj0gMCAmJiBlcnJvciA9PSBFQkFERikKKyAgZWxzZSBpZiAoZXJyb3IgIT0gTk9DTE9CQkVSX1JFRElSRUNUICYmIHRlbXAtPnJlZGlyZWN0b3IuZGVzdCA+PSAwICYmIGVycm9yID09IEVCQURGKQogICAgIHsKICAgICAgIC8qIElmIHdlJ3JlIGRlYWxpbmcgd2l0aCB0d28gZmlsZSBkZXNjcmlwdG9ycywgd2UgaGF2ZSB0byBndWVzcyBhYm91dAogICAgICAgICAgd2hpY2ggb25lIGlzIGludmFsaWQ7IGluIHRoZSBjYXNlcyBvZiByX3tkdXBsaWNhdGluZyxtb3ZlfV9pbnB1dCBhbmQKQEAgLTExOCwxNCArMTIzLDI3IEBACiAgICAgICAgIGNhc2Ugcl9tb3ZlX291dHB1dDoKIAkgIGZpbGVuYW1lID0gYWxsb2NuYW1lID0gaXRvcyAodGVtcC0+cmVkaXJlY3RlZS5kZXN0KTsKIAkgIGJyZWFrOworCWNhc2Ugcl9kdXBsaWNhdGluZ19pbnB1dF93b3JkOgorCSAgaWYgKHRlbXAtPnJlZGlyZWN0b3IuZGVzdCA9PSAwKQkvKiBHdWVzcyAqLworCSAgICBmaWxlbmFtZSA9IHRlbXAtPnJlZGlyZWN0ZWUuZmlsZW5hbWUtPndvcmQ7CS8qIFhYWCAqLworCSAgZWxzZQorCSAgICBmaWxlbmFtZSA9IGFsbG9jbmFtZSA9IGl0b3MgKHRlbXAtPnJlZGlyZWN0b3IuZGVzdCk7CisJICBicmVhazsKKwljYXNlIHJfZHVwbGljYXRpbmdfb3V0cHV0X3dvcmQ6CisJICBpZiAodGVtcC0+cmVkaXJlY3Rvci5kZXN0ID09IDEpCS8qIEd1ZXNzICovCisJICAgIGZpbGVuYW1lID0gdGVtcC0+cmVkaXJlY3RlZS5maWxlbmFtZS0+d29yZDsJLyogWFhYICovCisJICBlbHNlCisJICAgIGZpbGVuYW1lID0gYWxsb2NuYW1lID0gaXRvcyAodGVtcC0+cmVkaXJlY3Rvci5kZXN0KTsKKwkgIGJyZWFrOwogCWRlZmF1bHQ6Ci0JICBmaWxlbmFtZSA9IGFsbG9jbmFtZSA9IGl0b3MgKHRlbXAtPnJlZGlyZWN0b3IpOworCSAgZmlsZW5hbWUgPSBhbGxvY25hbWUgPSBpdG9zICh0ZW1wLT5yZWRpcmVjdG9yLmRlc3QpOwogCSAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9CiAjZW5kaWYKICAgZWxzZSBpZiAoZXhwYW5kYWJsZV9yZWRpcmVjdGlvbl9maWxlbmFtZSAodGVtcCkpCiAgICAgeworZXhwYW5kYWJsZV9maWxlbmFtZToKICAgICAgIGlmIChwb3NpeGx5X2NvcnJlY3QgJiYgaW50ZXJhY3RpdmVfc2hlbGwgPT0gMCkKIAl7CiAJICBvZmxhZ3MgPSB0ZW1wLT5yZWRpcmVjdGVlLmZpbGVuYW1lLT5mbGFnczsKQEAgLTE2Miw2ICsxODAsMTAgQEAKICAgICAgIGludGVybmFsX2Vycm9yIChfKCJjYW5ub3QgY3JlYXRlIHRlbXAgZmlsZSBmb3IgaGVyZS1kb2N1bWVudDogJXMiKSwgc3RyZXJyb3IgKGhlcmVkb2NfZXJybm8pKTsKICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBCQURWQVJfUkVESVJFQ1Q6CisgICAgICBpbnRlcm5hbF9lcnJvciAoXygiJXM6IGNhbm5vdCBhc3NpZ24gZmQgdG8gdmFyaWFibGUiKSwgZmlsZW5hbWUpOworICAgICAgYnJlYWs7CisKICAgICBkZWZhdWx0OgogICAgICAgaW50ZXJuYWxfZXJyb3IgKCIlczogJXMiLCBmaWxlbmFtZSwgc3RyZXJyb3IgKGVycm9yKSk7CiAgICAgICBicmVhazsKQEAgLTI3NSw3ICsyOTcsOSBAQAogICBjaGFyICpoZXJlc3RyOwogICBpbnQgaGVyZWxlbiwgbiwgZTsKIAorICBleHBhbmRpbmdfcmVkaXIgPSAxOwogICBoZXJlc3RyID0gZXhwYW5kX3N0cmluZ190b19zdHJpbmcgKHJlZGlyZWN0ZWUtPndvcmQsIDApOworICBleHBhbmRpbmdfcmVkaXIgPSAwOwogICBoZXJlbGVuID0gU1RSTEVOIChoZXJlc3RyKTsKIAogICBuID0gd3JpdGUgKGZkLCBoZXJlc3RyLCBoZXJlbGVuKTsKQEAgLTMyNyw3ICszNTEsMTAgQEAKIAlyZXR1cm4gMDsKICAgICB9CiAKKyAgZXhwYW5kaW5nX3JlZGlyID0gMTsKICAgdGxpc3QgPSBleHBhbmRfc3RyaW5nIChyZWRpcmVjdGVlLT53b3JkLCBRX0hFUkVfRE9DVU1FTlQpOworICBleHBhbmRpbmdfcmVkaXIgPSAwOworCiAgIGlmICh0bGlzdCkKICAgICB7CiAgICAgICAvKiBUcnkgdXNpbmcgYnVmZmVyZWQgSS9PIChzdGRpbykgYW5kIHdyaXRpbmcgYSB3b3JkCkBAIC02NDQsMTAgKzY3MSwxMSBAQAogICBjaGFyICpyZWRpcmVjdGVlX3dvcmQ7CiAgIGVudW0gcl9pbnN0cnVjdGlvbiByaTsKICAgUkVESVJFQ1QgKm5ld19yZWRpcmVjdDsKKyAgUkVESVJFQ1RFRSBzZDsKIAogICByZWRpcmVjdGVlID0gcmVkaXJlY3QtPnJlZGlyZWN0ZWUuZmlsZW5hbWU7CiAgIHJlZGlyX2ZkID0gcmVkaXJlY3QtPnJlZGlyZWN0ZWUuZGVzdDsKLSAgcmVkaXJlY3RvciA9IHJlZGlyZWN0LT5yZWRpcmVjdG9yOworICByZWRpcmVjdG9yID0gcmVkaXJlY3QtPnJlZGlyZWN0b3IuZGVzdDsKICAgcmkgPSByZWRpcmVjdC0+aW5zdHJ1Y3Rpb247CiAKICAgaWYgKHJlZGlyZWN0LT5mbGFncyAmIFJYX0lOVEVSTkFMKQpAQCAtNjU1LDggKzY4Myw5IEBACiAKICAgaWYgKFRSQU5TTEFURV9SRURJUkVDVCAocmkpKQogICAgIHsKLSAgICAgIC8qIFdlIGhhdmUgW05dPiZXT1JEWy1dIG9yIFtOXTwmV09SRFstXS4gIEV4cGFuZCBXT1JELCB0aGVuIHRyYW5zbGF0ZQotCSB0aGUgcmVkaXJlY3Rpb24gaW50byBhIG5ldyBvbmUgYW5kIGNvbnRpbnVlLiAqLworICAgICAgLyogV2UgaGF2ZSBbTl0+JldPUkRbLV0gb3IgW05dPCZXT1JEWy1dIChvciB7Vn0+JldPUkRbLV0gb3Ige1Z9PCZXT1JELSkuCisgICAgICAgICBhbmQgV09SRCwgdGhlbiB0cmFuc2xhdGUgdGhlIHJlZGlyZWN0aW9uIGludG8gYSBuZXcgb25lIGFuZCAKKwkgY29udGludWUuICovCiAgICAgICByZWRpcmVjdGVlX3dvcmQgPSByZWRpcmVjdGlvbl9leHBhbmQgKHJlZGlyZWN0ZWUpOwogCiAgICAgICAvKiBYWFggLSB3aGF0IHRvIGRvIHdpdGggW05dPCYkdy0gd2hlcmUgdyBpcyB1bnNldCBvciBudWxsPyAga3NoOTMKQEAgLTY2NSwxMSArNjk0LDEzIEBACiAJcmV0dXJuIChBTUJJR1VPVVNfUkVESVJFQ1QpOwogICAgICAgZWxzZSBpZiAocmVkaXJlY3RlZV93b3JkWzBdID09ICctJyAmJiByZWRpcmVjdGVlX3dvcmRbMV0gPT0gJ1wwJykKIAl7CisJICBzZCA9IHJlZGlyZWN0LT5yZWRpcmVjdG9yOwogCSAgcmQuZGVzdCA9IDA7Ci0JICBuZXdfcmVkaXJlY3QgPSBtYWtlX3JlZGlyZWN0aW9uIChyZWRpcmVjdG9yLCByX2Nsb3NlX3RoaXMsIHJkKTsKKwkgIG5ld19yZWRpcmVjdCA9IG1ha2VfcmVkaXJlY3Rpb24gKHNkLCByX2Nsb3NlX3RoaXMsIHJkLCAwKTsKIAl9CiAgICAgICBlbHNlIGlmIChhbGxfZGlnaXRzIChyZWRpcmVjdGVlX3dvcmQpKQogCXsKKwkgIHNkID0gcmVkaXJlY3QtPnJlZGlyZWN0b3I7CiAJICBpZiAobGVnYWxfbnVtYmVyIChyZWRpcmVjdGVlX3dvcmQsICZsZmQpICYmIChpbnQpbGZkID09IGxmZCkKIAkgICAgcmQuZGVzdCA9IGxmZDsKIAkgIGVsc2UKQEAgLTY3NywyMyArNzA4LDI0IEBACiAJICBzd2l0Y2ggKHJpKQogCSAgICB7CiAJICAgIGNhc2Ugcl9kdXBsaWNhdGluZ19pbnB1dF93b3JkOgotCSAgICAgIG5ld19yZWRpcmVjdCA9IG1ha2VfcmVkaXJlY3Rpb24gKHJlZGlyZWN0b3IsIHJfZHVwbGljYXRpbmdfaW5wdXQsIHJkKTsKKwkgICAgICBuZXdfcmVkaXJlY3QgPSBtYWtlX3JlZGlyZWN0aW9uIChzZCwgcl9kdXBsaWNhdGluZ19pbnB1dCwgcmQsIDApOwogCSAgICAgIGJyZWFrOwogCSAgICBjYXNlIHJfZHVwbGljYXRpbmdfb3V0cHV0X3dvcmQ6Ci0JICAgICAgbmV3X3JlZGlyZWN0ID0gbWFrZV9yZWRpcmVjdGlvbiAocmVkaXJlY3Rvciwgcl9kdXBsaWNhdGluZ19vdXRwdXQsIHJkKTsKKwkgICAgICBuZXdfcmVkaXJlY3QgPSBtYWtlX3JlZGlyZWN0aW9uIChzZCwgcl9kdXBsaWNhdGluZ19vdXRwdXQsIHJkLCAwKTsKIAkgICAgICBicmVhazsKIAkgICAgY2FzZSByX21vdmVfaW5wdXRfd29yZDoKLQkgICAgICBuZXdfcmVkaXJlY3QgPSBtYWtlX3JlZGlyZWN0aW9uIChyZWRpcmVjdG9yLCByX21vdmVfaW5wdXQsIHJkKTsKKwkgICAgICBuZXdfcmVkaXJlY3QgPSBtYWtlX3JlZGlyZWN0aW9uIChzZCwgcl9tb3ZlX2lucHV0LCByZCwgMCk7CiAJICAgICAgYnJlYWs7CiAJICAgIGNhc2Ugcl9tb3ZlX291dHB1dF93b3JkOgotCSAgICAgIG5ld19yZWRpcmVjdCA9IG1ha2VfcmVkaXJlY3Rpb24gKHJlZGlyZWN0b3IsIHJfbW92ZV9vdXRwdXQsIHJkKTsKKwkgICAgICBuZXdfcmVkaXJlY3QgPSBtYWtlX3JlZGlyZWN0aW9uIChzZCwgcl9tb3ZlX291dHB1dCwgcmQsIDApOwogCSAgICAgIGJyZWFrOwogCSAgICB9CiAJfQotICAgICAgZWxzZSBpZiAocmkgPT0gcl9kdXBsaWNhdGluZ19vdXRwdXRfd29yZCAmJiByZWRpcmVjdG9yID09IDEpCisgICAgICBlbHNlIGlmIChyaSA9PSByX2R1cGxpY2F0aW5nX291dHB1dF93b3JkICYmIChyZWRpcmVjdC0+cmZsYWdzICYgUkVESVJfVkFSQVNTSUdOKSA9PSAwICYmIHJlZGlyZWN0b3IgPT0gMSkKIAl7CisJICBzZCA9IHJlZGlyZWN0LT5yZWRpcmVjdG9yOwogCSAgcmQuZmlsZW5hbWUgPSBtYWtlX2JhcmVfd29yZCAocmVkaXJlY3RlZV93b3JkKTsKLQkgIG5ld19yZWRpcmVjdCA9IG1ha2VfcmVkaXJlY3Rpb24gKDEsIHJfZXJyX2FuZF9vdXQsIHJkKTsKKwkgIG5ld19yZWRpcmVjdCA9IG1ha2VfcmVkaXJlY3Rpb24gKHNkLCByX2Vycl9hbmRfb3V0LCByZCwgMCk7CiAJfQogICAgICAgZWxzZQogCXsKQEAgLTcyNSw3ICs3NTcsNyBAQAogCXJlZGlyZWN0ZWUgPSBuZXdfcmVkaXJlY3QtPnJlZGlyZWN0ZWUuZmlsZW5hbWU7CiAKICAgICAgIHJlZGlyX2ZkID0gbmV3X3JlZGlyZWN0LT5yZWRpcmVjdGVlLmRlc3Q7Ci0gICAgICByZWRpcmVjdG9yID0gbmV3X3JlZGlyZWN0LT5yZWRpcmVjdG9yOworICAgICAgcmVkaXJlY3RvciA9IG5ld19yZWRpcmVjdC0+cmVkaXJlY3Rvci5kZXN0OwogICAgICAgcmkgPSBuZXdfcmVkaXJlY3QtPmluc3RydWN0aW9uOwogCiAgICAgICAvKiBPdmVyd3JpdGUgdGhlIGZsYWdzIGVsZW1lbnQgb2YgdGhlIG9sZCByZWRpcmVjdCB3aXRoIHRoZSBuZXcgdmFsdWUuICovCkBAIC03NzQsNiArODA2LDkgQEAKIAogICAgICAgaWYgKGZsYWdzICYgUlhfQUNUSVZFKQogCXsKKwkgIGlmIChyZWRpcmVjdC0+cmZsYWdzICYgUkVESVJfVkFSQVNTSUdOKQorCSAgICByZWRpcmVjdG9yID0gZmNudGwgKGZkLCBGX0RVUEZELCBTSEVMTF9GRF9CQVNFKTsJCS8qIFhYWCB0cnkgdGhpcyBmb3Igbm93ICovCisKIAkgIGlmIChmbGFncyAmIFJYX1VORE9BQkxFKQogCSAgICB7CiAJICAgICAgLyogT25seSBzZXR1cCB0byB1bmRvIGl0IGlmIHRoZSB0aGluZyB0byB1bmRvIGlzIGFjdGl2ZS4gKi8KQEAgLTgwMSw3ICs4MzYsMTYgQEAKIAkgICAgICBmcHVyZ2UgKHN0ZGVycik7CiAJICAgIH0KIAotCSAgaWYgKChmZCAhPSByZWRpcmVjdG9yKSAmJiAoZHVwMiAoZmQsIHJlZGlyZWN0b3IpIDwgMCkpCisJICBpZiAocmVkaXJlY3QtPnJmbGFncyAmIFJFRElSX1ZBUkFTU0lHTikKKwkgICAgeworCSAgICAgIGlmICgociA9IHJlZGlyX3ZhcmFzc2lnbiAocmVkaXJlY3QsIHJlZGlyZWN0b3IpKSA8IDApCisJCXsKKwkJICBjbG9zZSAocmVkaXJlY3Rvcik7CisJCSAgY2xvc2UgKGZkKTsKKwkJICByZXR1cm4gKHIpOwkvKiBYWFggKi8KKwkJfQorCSAgICB9CisJICBlbHNlIGlmICgoZmQgIT0gcmVkaXJlY3RvcikgJiYgKGR1cDIgKGZkLCByZWRpcmVjdG9yKSA8IDApKQogCSAgICByZXR1cm4gKGVycm5vKTsKIAogI2lmIGRlZmluZWQgKEJVRkZFUkVEX0lOUFVUKQpAQCAtODM3LDcgKzg4MSw3IEBACiAJfQogCiAgICAgICAvKiBJZiB3ZSBhcmUgaGFja2luZyBib3RoIHN0ZG91dCBhbmQgc3RkZXJyLCBkbyB0aGUgc3RkZXJyCi0JIHJlZGlyZWN0aW9uIGhlcmUuICovCisJIHJlZGlyZWN0aW9uIGhlcmUuICBYWFggLSBoYW5kbGUge3Zhcn0gaGVyZT8gKi8KICAgICAgIGlmIChyaSA9PSByX2Vycl9hbmRfb3V0IHx8IHJpID09IHJfYXBwZW5kX2Vycl9hbmRfb3V0KQogCXsKIAkgIGlmIChmbGFncyAmIFJYX0FDVElWRSkKQEAgLTg2NSw2ICs5MDksOSBAQAogCSAgICAgIHJldHVybiAoSEVSRURPQ19SRURJUkVDVCk7CiAJICAgIH0KIAorCSAgaWYgKHJlZGlyZWN0LT5yZmxhZ3MgJiBSRURJUl9WQVJBU1NJR04pCisJICAgIHJlZGlyZWN0b3IgPSBmY250bCAoZmQsIEZfRFVQRkQsIFNIRUxMX0ZEX0JBU0UpOwkJLyogWFhYIHRyeSB0aGlzIGZvciBub3cgKi8KKwogCSAgaWYgKGZsYWdzICYgUlhfQUNUSVZFKQogCSAgICB7CiAJICAgICAgaWYgKGZsYWdzICYgUlhfVU5ET0FCTEUpCkBAIC04NzksNyArOTI2LDE2IEBACiAjaWYgZGVmaW5lZCAoQlVGRkVSRURfSU5QVVQpCiAJICAgICAgY2hlY2tfYmFzaF9pbnB1dCAocmVkaXJlY3Rvcik7CiAjZW5kaWYKLQkgICAgICBpZiAoZmQgIT0gcmVkaXJlY3RvciAmJiBkdXAyIChmZCwgcmVkaXJlY3RvcikgPCAwKQorCSAgICAgIGlmIChyZWRpcmVjdC0+cmZsYWdzICYgUkVESVJfVkFSQVNTSUdOKQorCQl7CisJCSAgaWYgKChyID0gcmVkaXJfdmFyYXNzaWduIChyZWRpcmVjdCwgcmVkaXJlY3RvcikpIDwgMCkKKwkJICAgIHsKKwkJICAgICAgY2xvc2UgKHJlZGlyZWN0b3IpOworCQkgICAgICBjbG9zZSAoZmQpOworCQkgICAgICByZXR1cm4gKHIpOwkvKiBYWFggKi8KKwkJICAgIH0KKwkJfQorCSAgICAgIGVsc2UgaWYgKGZkICE9IHJlZGlyZWN0b3IgJiYgZHVwMiAoZmQsIHJlZGlyZWN0b3IpIDwgMCkKIAkJewogCQkgIHIgPSBlcnJubzsKIAkJICBjbG9zZSAoZmQpOwpAQCAtOTA3LDYgKzk2Myw5IEBACiAgICAgY2FzZSByX2R1cGxpY2F0aW5nX291dHB1dDoKICAgICBjYXNlIHJfbW92ZV9pbnB1dDoKICAgICBjYXNlIHJfbW92ZV9vdXRwdXQ6CisgICAgICBpZiAoKGZsYWdzICYgUlhfQUNUSVZFKSAmJiAocmVkaXJlY3QtPnJmbGFncyAmIFJFRElSX1ZBUkFTU0lHTikpCisJcmVkaXJlY3RvciA9IGZjbnRsIChyZWRpcl9mZCwgRl9EVVBGRCwgU0hFTExfRkRfQkFTRSk7CQkvKiBYWFggdHJ5IHRoaXMgZm9yIG5vdyAqLworCiAgICAgICBpZiAoKGZsYWdzICYgUlhfQUNUSVZFKSAmJiAocmVkaXJfZmQgIT0gcmVkaXJlY3RvcikpCiAJewogCSAgaWYgKGZsYWdzICYgUlhfVU5ET0FCTEUpCkBAIC05MjAsOCArOTc5LDE2IEBACiAjaWYgZGVmaW5lZCAoQlVGRkVSRURfSU5QVVQpCiAJICBjaGVja19iYXNoX2lucHV0IChyZWRpcmVjdG9yKTsKICNlbmRpZgorCSAgaWYgKHJlZGlyZWN0LT5yZmxhZ3MgJiBSRURJUl9WQVJBU1NJR04pCisJICAgIHsKKwkgICAgICBpZiAoKHIgPSByZWRpcl92YXJhc3NpZ24gKHJlZGlyZWN0LCByZWRpcmVjdG9yKSkgPCAwKQorCQl7CisJCSAgY2xvc2UgKHJlZGlyZWN0b3IpOworCQkgIHJldHVybiAocik7CS8qIFhYWCAqLworCQl9CisJICAgIH0KIAkgIC8qIFRoaXMgaXMgY29ycmVjdC4gIDI+JjEgbWVhbnMgZHVwMiAoMSwgMik7ICovCi0JICBpZiAoZHVwMiAocmVkaXJfZmQsIHJlZGlyZWN0b3IpIDwgMCkKKwkgIGVsc2UgaWYgKGR1cDIgKHJlZGlyX2ZkLCByZWRpcmVjdG9yKSA8IDApCiAJICAgIHJldHVybiAoZXJybm8pOwogCiAjaWYgZGVmaW5lZCAoQlVGRkVSRURfSU5QVVQpCkBAIC05NTksNiArMTAyNiw4IEBACiAJICAvKiBkdXAtYW5kLWNsb3NlIHJlZGlyZWN0aW9uICovCiAJICBpZiAocmkgPT0gcl9tb3ZlX2lucHV0IHx8IHJpID09IHJfbW92ZV9vdXRwdXQpCiAJICAgIHsKKwkgICAgICB4dHJhY2VfZmRjaGsgKHJlZGlyX2ZkKTsKKwogCSAgICAgIGNsb3NlIChyZWRpcl9mZCk7CiAjaWYgZGVmaW5lZCAoQ09QUk9DRVNTX1NVUFBPUlQpCiAJICAgICAgY29wcm9jX2ZkY2hrIChyZWRpcl9mZCk7CS8qIFhYWCAtIGxvc2VzIGNvcHJvYyBmZHMgKi8KQEAgLTk3MCwxMiArMTAzOSwyMCBAQAogICAgIGNhc2Ugcl9jbG9zZV90aGlzOgogICAgICAgaWYgKGZsYWdzICYgUlhfQUNUSVZFKQogCXsKKwkgIGlmIChyZWRpcmVjdC0+cmZsYWdzICYgUkVESVJfVkFSQVNTSUdOKQorCSAgICB7CisJICAgICAgcmVkaXJlY3RvciA9IHJlZGlyX3ZhcnZhbHVlIChyZWRpcmVjdCk7CisJICAgICAgaWYgKHJlZGlyZWN0b3IgPCAwKQorCQlyZXR1cm4gQU1CSUdVT1VTX1JFRElSRUNUOworCSAgICB9CisKIAkgIGlmICgoZmxhZ3MgJiBSWF9VTkRPQUJMRSkgJiYgKGZjbnRsIChyZWRpcmVjdG9yLCBGX0dFVEZELCAwKSAhPSAtMSkpCiAJICAgIGFkZF91bmRvX3JlZGlyZWN0IChyZWRpcmVjdG9yLCByaSwgLTEpOwogCiAjaWYgZGVmaW5lZCAoQ09QUk9DRVNTX1NVUFBPUlQpCiAJICBjb3Byb2NfZmRjaGsgKHJlZGlyZWN0b3IpOwogI2VuZGlmCisJICB4dHJhY2VfZmRjaGsgKHJlZGlyZWN0b3IpOwogCiAjaWYgZGVmaW5lZCAoQlVGRkVSRURfSU5QVVQpCiAJICBjaGVja19iYXNoX2lucHV0IChyZWRpcmVjdG9yKTsKQEAgLTEwMTMsNiArMTA5MCw3IEBACiB7CiAgIGludCBuZXdfZmQsIGNsZXhlY19mbGFnOwogICBSRURJUkVDVCAqbmV3X3JlZGlyZWN0LCAqY2xvc2VyLCAqZHVtbXlfcmVkaXJlY3Q7CisgIFJFRElSRUNURUUgc2Q7CiAKICAgbmV3X2ZkID0gZmNudGwgKGZkLCBGX0RVUEZELCAoZmRiYXNlIDwgU0hFTExfRkRfQkFTRSkgPyBTSEVMTF9GRF9CQVNFIDogZmRiYXNlKzEpOwogICBpZiAobmV3X2ZkIDwgMCkKQEAgLTEwMjYsMTYgKzExMDQsMTggQEAKIAogICBjbGV4ZWNfZmxhZyA9IGZjbnRsIChmZCwgRl9HRVRGRCwgMCk7CiAKKyAgc2QuZGVzdCA9IG5ld19mZDsKICAgcmQuZGVzdCA9IDA7Ci0gIGNsb3NlciA9IG1ha2VfcmVkaXJlY3Rpb24gKG5ld19mZCwgcl9jbG9zZV90aGlzLCByZCk7CisgIGNsb3NlciA9IG1ha2VfcmVkaXJlY3Rpb24gKHNkLCByX2Nsb3NlX3RoaXMsIHJkLCAwKTsKICAgY2xvc2VyLT5mbGFncyB8PSBSWF9JTlRFUk5BTDsKICAgZHVtbXlfcmVkaXJlY3QgPSBjb3B5X3JlZGlyZWN0cyAoY2xvc2VyKTsKIAorICBzZC5kZXN0ID0gZmQ7CiAgIHJkLmRlc3QgPSBuZXdfZmQ7CiAgIGlmIChmZCA9PSAwKQotICAgIG5ld19yZWRpcmVjdCA9IG1ha2VfcmVkaXJlY3Rpb24gKGZkLCByX2R1cGxpY2F0aW5nX2lucHV0LCByZCk7CisgICAgbmV3X3JlZGlyZWN0ID0gbWFrZV9yZWRpcmVjdGlvbiAoc2QsIHJfZHVwbGljYXRpbmdfaW5wdXQsIHJkLCAwKTsKICAgZWxzZQotICAgIG5ld19yZWRpcmVjdCA9IG1ha2VfcmVkaXJlY3Rpb24gKGZkLCByX2R1cGxpY2F0aW5nX291dHB1dCwgcmQpOworICAgIG5ld19yZWRpcmVjdCA9IG1ha2VfcmVkaXJlY3Rpb24gKHNkLCByX2R1cGxpY2F0aW5nX291dHB1dCwgcmQsIDApOwogICBuZXdfcmVkaXJlY3QtPmZsYWdzIHw9IFJYX0lOVEVSTkFMOwogICBpZiAoY2xleGVjX2ZsYWcgPT0gMCAmJiBmZCA+PSAzICYmIG5ld19mZCA+PSBTSEVMTF9GRF9CQVNFKQogICAgIG5ld19yZWRpcmVjdC0+ZmxhZ3MgfD0gUlhfU0FWQ0xFWEVDOwpAQCAtMTA1OCw4ICsxMTM4LDkgQEAKICAgICAgdG8gc2F2ZSBvdGhlcnMuICovCiAgIGlmIChmZCA+PSBTSEVMTF9GRF9CQVNFICYmIHJpICE9IHJfY2xvc2VfdGhpcyAmJiBjbGV4ZWNfZmxhZykKICAgICB7CisgICAgICBzZC5kZXN0ID0gZmQ7CiAgICAgICByZC5kZXN0ID0gbmV3X2ZkOwotICAgICAgbmV3X3JlZGlyZWN0ID0gbWFrZV9yZWRpcmVjdGlvbiAoZmQsIHJfZHVwbGljYXRpbmdfb3V0cHV0LCByZCk7CisgICAgICBuZXdfcmVkaXJlY3QgPSBtYWtlX3JlZGlyZWN0aW9uIChzZCwgcl9kdXBsaWNhdGluZ19vdXRwdXQsIHJkLCAwKTsKICAgICAgIG5ld19yZWRpcmVjdC0+ZmxhZ3MgfD0gUlhfSU5URVJOQUw7CiAKICAgICAgIGFkZF9leGVjX3JlZGlyZWN0IChuZXdfcmVkaXJlY3QpOwpAQCAtMTA4OCw5ICsxMTY5LDExIEBACiAgICAgIGludCBmZDsKIHsKICAgUkVESVJFQ1QgKmNsb3NlcjsKKyAgUkVESVJFQ1RFRSBzZDsKIAorICBzZC5kZXN0ID0gZmQ7CiAgIHJkLmRlc3QgPSAwOwotICBjbG9zZXIgPSBtYWtlX3JlZGlyZWN0aW9uIChmZCwgcl9jbG9zZV90aGlzLCByZCk7CisgIGNsb3NlciA9IG1ha2VfcmVkaXJlY3Rpb24gKHNkLCByX2Nsb3NlX3RoaXMsIHJkLCAwKTsKICAgY2xvc2VyLT5mbGFncyB8PSBSWF9JTlRFUk5BTDsKICAgY2xvc2VyLT5uZXh0ID0gcmVkaXJlY3Rpb25fdW5kb19saXN0OwogICByZWRpcmVjdGlvbl91bmRvX2xpc3QgPSBjbG9zZXI7CkBAIC0xMTQ2LDYgKzEyMjksNDkgQEAKICAgaW50IG47CiAKICAgZm9yIChuID0gMCwgcnAgPSByZWRpcnM7IHJwOyBycCA9IHJwLT5uZXh0KQotICAgIG4gKz0gc3RkaW5fcmVkaXJlY3Rpb24gKHJwLT5pbnN0cnVjdGlvbiwgcnAtPnJlZGlyZWN0b3IpOworICAgIGlmICgocnAtPnJmbGFncyAmIFJFRElSX1ZBUkFTU0lHTikgPT0gMCkKKyAgICAgIG4gKz0gc3RkaW5fcmVkaXJlY3Rpb24gKHJwLT5pbnN0cnVjdGlvbiwgcnAtPnJlZGlyZWN0b3IuZGVzdCk7CiAgIHJldHVybiBuOwogfQorCisvKiBUaGVzZSBkb24ndCB5ZXQgaGFuZGxlIGFycmF5IHJlZmVyZW5jZXMgKi8KK3N0YXRpYyBpbnQKK3JlZGlyX3ZhcmFzc2lnbiAocmVkaXIsIGZkKQorICAgICBSRURJUkVDVCAqcmVkaXI7CisgICAgIGludCBmZDsKK3sKKyAgV09SRF9ERVNDICp3OworICBTSEVMTF9WQVIgKnY7CisKKyAgdyA9IHJlZGlyLT5yZWRpcmVjdG9yLmZpbGVuYW1lOworICB2ID0gYmluZF92YXJfdG9faW50ICh3LT53b3JkLCBmZCk7CisgIGlmICh2ID09IDAgfHwgcmVhZG9ubHlfcCAodikgfHwgbm9hc3NpZ25fcCAodikpCisgICAgcmV0dXJuIEJBRFZBUl9SRURJUkVDVDsKKworICByZXR1cm4gMDsKK30KKworc3RhdGljIGludAorcmVkaXJfdmFydmFsdWUgKHJlZGlyKQorICAgICBSRURJUkVDVCAqcmVkaXI7Cit7CisgIFNIRUxMX1ZBUiAqdjsKKyAgY2hhciAqdmFsOworICBpbnRtYXhfdCB2bWF4OworICBpbnQgaTsKKworICAvKiBYWFggLSBoYW5kbGUgc2V0IC11IGhlcmU/ICovCisgIHYgPSBmaW5kX3ZhcmlhYmxlIChyZWRpci0+cmVkaXJlY3Rvci5maWxlbmFtZS0+d29yZCk7CisgIGlmICh2ID09IDAgfHwgaW52aXNpYmxlX3AgKHYpKQorICAgIHJldHVybiAtMTsKKworICB2YWwgPSBnZXRfdmFyaWFibGVfdmFsdWUgKHYpOworICBpZiAodmFsID09IDAgfHwgKnZhbCA9PSAwKQorICAgIHJldHVybiAtMTsKKworICBpZiAobGVnYWxfbnVtYmVyICh2YWwsICZ2bWF4KSA8IDApCisgICAgcmV0dXJuIC0xOworCisgIGkgPSB2bWF4OwkvKiBpbnRlZ2VyIHRydW5jYXRpb24gKi8KKyAgcmV0dXJuIGk7Cit9CmRpZmYgLS1naXQgYS9zaGVsbC5jIGIvc2hlbGwuYwppbmRleCBiMjhlM2I0Li44ZGFkYjBiIDEwMDY0NAotLS0gYS9zaGVsbC5jCisrKyBiL3NoZWxsLmMKQEAgLTI1Niw3ICsyNTYsOSBAQAogI2VuZGlmCiAgIHsgInZlcmJvc2UiLCBJbnQsICZlY2hvX2lucHV0X2F0X3JlYWQsIChjaGFyICoqKTB4MCB9LAogICB7ICJ2ZXJzaW9uIiwgSW50LCAmZG9fdmVyc2lvbiwgKGNoYXIgKiopMHgwIH0sCisjaWYgZGVmaW5lZCAoV09SREVYUF9PUFRJT04pCiAgIHsgIndvcmRleHAiLCBJbnQsICZ3b3JkZXhwX29ubHksIChjaGFyICoqKTB4MCB9LAorI2VuZGlmCiAgIHsgKGNoYXIgKikweDAsIEludCwgKGludCAqKTB4MCwgKGNoYXIgKiopMHgwIH0KIH07CiAKQEAgLTMwNCw3ICszMDYsOSBAQAogc3RhdGljIGludCBvcGVuX3NoZWxsX3NjcmlwdCBfX1AoKGNoYXIgKikpOwogc3RhdGljIHZvaWQgc2V0X2Jhc2hfaW5wdXQgX19QKCh2b2lkKSk7CiBzdGF0aWMgaW50IHJ1bl9vbmVfY29tbWFuZCBfX1AoKGNoYXIgKikpOworI2lmIGRlZmluZWQgKFdPUkRFWFBfT1BUSU9OKQogc3RhdGljIGludCBydW5fd29yZGV4cCBfX1AoKGNoYXIgKikpOworI2VuZGlmCiAKIHN0YXRpYyBpbnQgdWlkZ2V0IF9fUCgodm9pZCkpOwogCkBAIC0zNzQsNiArMzc4LDggQEAKICAgaWYgKGNvZGUpCiAgICAgZXhpdCAoMik7CiAKKyAgeHRyYWNlX2luaXQgKCk7CisKICNpZiBkZWZpbmVkIChVU0lOR19CQVNIX01BTExPQykgJiYgZGVmaW5lZCAoREVCVUcpICYmICFkZWZpbmVkIChESVNBQkxFX01BTExPQ19XUkFQUEVSUykKICMgIGlmIDEKICAgbWFsbG9jX3NldF9yZWdpc3RlciAoMSk7CkBAIC00NzEsNyArNDc3LDcgQEAKICAgICAgIGxvZ2luX3NoZWxsID0gLWxvZ2luX3NoZWxsOwogICAgIH0KIAotICBzZXRfbG9naW5fc2hlbGwgKGxvZ2luX3NoZWxsICE9IDApOworICBzZXRfbG9naW5fc2hlbGwgKCJsb2dpbl9zaGVsbCIsIGxvZ2luX3NoZWxsICE9IDApOwogCiAgIGlmIChkdW1wX3BvX3N0cmluZ3MpCiAgICAgZHVtcF90cmFuc2xhdGFibGVfc3RyaW5ncyA9IDE7CkBAIC01NzIsNyArNTc4LDcgQEAKIAogICAgICAgLyogcnVubmluZ191bmRlcl9lbWFjcyA9PSAyIGZvciBgZXRlcm0nICovCiAgICAgICBydW5uaW5nX3VuZGVyX2VtYWNzID0gKGVtYWNzICE9IDApIHx8ICh0ZXJtICYmIFNUUkVRTiAodGVybSwgImVtYWNzIiwgNSkpOwotICAgICAgcnVubmluZ191bmRlcl9lbWFjcyArPSB0ZXJtICYmIFNUUkVRTiAodGVybSwgImV0ZXJtIiwgNSkgJiYgc3Ryc3RyIChlbWFjcywgInRlcm0iKTsKKyAgICAgIHJ1bm5pbmdfdW5kZXJfZW1hY3MgKz0gdGVybSAmJiBTVFJFUU4gKHRlcm0sICJldGVybSIsIDUpICYmIGVtYWNzICYmIHN0cnN0ciAoZW1hY3MsICJ0ZXJtIik7CiAKICAgICAgIGlmIChydW5uaW5nX3VuZGVyX2VtYWNzKQogCWdudV9lcnJvcl9mb3JtYXQgPSAxOwpAQCAtNjYwLDEyICs2NjYsMTQgQEAKICAgICBtYXliZV9tYWtlX3Jlc3RyaWN0ZWQgKHNoZWxsX25hbWUpOwogI2VuZGlmIC8qIFJFU1RSSUNURURfU0hFTEwgKi8KIAorI2lmIGRlZmluZWQgKFdPUkRFWFBfT1BUSU9OKQogICBpZiAod29yZGV4cF9vbmx5KQogICAgIHsKICAgICAgIHN0YXJ0dXBfc3RhdGUgPSAzOwogICAgICAgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPSBydW5fd29yZGV4cCAoYXJndlthcmdfaW5kZXhdKTsKICAgICAgIGV4aXRfc2hlbGwgKGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlKTsKICAgICB9CisjZW5kaWYKIAogICBpZiAoY29tbWFuZF9leGVjdXRpb25fc3RyaW5nKQogICAgIHsKQEAgLTg5Miw2ICs5MDAsOSBAQAogZXhpdF9zaGVsbCAocykKICAgICAgaW50IHM7CiB7CisgIGZmbHVzaCAoc3Rkb3V0KTsJCS8qIFhYWCAqLworICBmZmx1c2ggKHN0ZGVycik7CisKICAgLyogRG8gdHJhcFswXSBpZiBkZWZpbmVkLiAgQWxsb3cgaXQgdG8gb3ZlcnJpZGUgdGhlIGV4aXQgc3RhdHVzCiAgICAgIHBhc3NlZCB0byB1cy4gKi8KICAgaWYgKHNpZ25hbF9pc190cmFwcGVkICgwKSkKQEAgLTExOTcsNiArMTIwOCw3IEBACiAgIGN1cnJlbnRfdXNlci5lZ2lkID0gY3VycmVudF91c2VyLmdpZDsKIH0KIAorI2lmIGRlZmluZWQgKFdPUkRFWFBfT1BUSU9OKQogc3RhdGljIGludAogcnVuX3dvcmRleHAgKHdvcmRzKQogICAgICBjaGFyICp3b3JkczsKQEAgLTEyNjgsNiArMTI4MCw3IEBACiAKICAgcmV0dXJuICgwKTsKIH0KKyNlbmRpZgogCiAjaWYgZGVmaW5lZCAoT05FU0hPVCkKIC8qIFJ1biBvbmUgY29tbWFuZCwgZ2l2ZW4gYXMgdGhlIGFyZ3VtZW50IHRvIHRoZSAtYyBvcHRpb24uICBUZWxsCkBAIC0xNzEwLDggKzE3MjMsMTAgQEAKICAgICAgcHJpdmlsZWdlZCBvciByZXN0cmljdGVkIG1vZGUgb3IgaWYgdGhlIHNoZWxsIGlzIHJ1bm5pbmcgc2V0dWlkLiAqLwogI2lmIGRlZmluZWQgKFJFU1RSSUNURURfU0hFTEwpCiAgIGluaXRpYWxpemVfc2hlbGxfb3B0aW9ucyAocHJpdmlsZWdlZF9tb2RlfHxyZXN0cmljdGVkfHxydW5uaW5nX3NldHVpZCk7CisgIGluaXRpYWxpemVfYmFzaG9wdHMgKHByaXZpbGVnZWRfbW9kZXx8cmVzdHJpY3RlZHx8cnVubmluZ19zZXR1aWQpOwogI2Vsc2UKICAgaW5pdGlhbGl6ZV9zaGVsbF9vcHRpb25zIChwcml2aWxlZ2VkX21vZGV8fHJ1bm5pbmdfc2V0dWlkKTsKKyAgaW5pdGlhbGl6ZV9iYXNob3B0cyAocHJpdmlsZWdlZF9tb2RlfHxydW5uaW5nX3NldHVpZCk7CiAjZW5kaWYKIH0KIApAQCAtMTc5MCwxMiArMTgwNSwxMiBAQAogICAgICAgc2V0X29wdHMgPSBzYXZlc3RyaW5nIChzaGVsbF9idWlsdGluc1tpXS5zaG9ydF9kb2MpOwogICBpZiAoc2V0X29wdHMpCiAgICAgewotICAgICAgcyA9IHhzdHJjaHIgKHNldF9vcHRzLCAnWycpOworICAgICAgcyA9IHN0cmNociAoc2V0X29wdHMsICdbJyk7CiAgICAgICBpZiAocyA9PSAwKQogCXMgPSBzZXRfb3B0czsKICAgICAgIHdoaWxlICgqKytzID09ICctJykKIAk7Ci0gICAgICB0ID0geHN0cmNociAocywgJ10nKTsKKyAgICAgIHQgPSBzdHJjaHIgKHMsICddJyk7CiAgICAgICBpZiAodCkKIAkqdCA9ICdcMCc7CiAgICAgICBmcHJpbnRmIChmcCwgXygiXHQtJXMgb3IgLW8gb3B0aW9uXG4iKSwgcyk7CmRpZmYgLS1naXQgYS9zaGVsbC5oIGIvc2hlbGwuaAppbmRleCBiYzM4OTAzLi41ZWIwY2FhIDEwMDY0NAotLS0gYS9zaGVsbC5oCisrKyBiL3NoZWxsLmgKQEAgLTU2LDYgKzU2LDggQEAKICNkZWZpbmUgRVhfQkFEVVNBR0UJMgogCiAvKiBTcGVjaWFsIGV4aXQgc3RhdHVzZXMgdXNlZCBieSB0aGUgc2hlbGwsIGludGVybmFsbHkgYW5kIGV4dGVybmFsbHkuICovCisjZGVmaW5lIEVYX1JFVFJZRkFJTAkxMjQKKyNkZWZpbmUgRVhfV0VYUENPTVNVQgkxMjUKICNkZWZpbmUgRVhfQklOQVJZX0ZJTEUJMTI2CiAjZGVmaW5lIEVYX05PRVhFQwkxMjYKICNkZWZpbmUgRVhfTk9JTlBVVAkxMjYKQEAgLTg5LDYgKzkxLDcgQEAKIGV4dGVybiBpbnQgZXhlY3V0aW5nLCBsb2dpbl9zaGVsbDsKIGV4dGVybiBpbnQgaW50ZXJhY3RpdmUsIGludGVyYWN0aXZlX3NoZWxsOwogZXh0ZXJuIGludCBzdGFydHVwX3N0YXRlOworZXh0ZXJuIGludCBzdWJzaGVsbF9lbnZpcm9ubWVudDsKIGV4dGVybiBpbnQgc2hlbGxfY29tcGF0aWJpbGl0eV9sZXZlbDsKIAogLyogU3RydWN0dXJlIHRvIHBhc3MgYXJvdW5kIHRoYXQgaG9sZHMgYSBiaXRtYXAgb2YgZmlsZSBkZXNjcmlwdG9ycwpkaWZmIC0tZ2l0IGEvc2lnLmMgYi9zaWcuYwppbmRleCBlODc2YTJiLi5hMjE3Yjg5IDEwMDY0NAotLS0gYS9zaWcuYworKysgYi9zaWcuYwpAQCAtNTI2LDcgKzUyNiw3IEBACiAjZW5kaWYgLyogSElTVE9SWSAqLwogCiAjaWYgZGVmaW5lZCAoSk9CX0NPTlRST0wpCi0gIGlmIChpbnRlcmFjdGl2ZSAmJiBzaWcgPT0gU0lHSFVQKQorICBpZiAoc2lnID09IFNJR0hVUCAmJiAoaW50ZXJhY3RpdmUgfHwgKHN1YnNoZWxsX2Vudmlyb25tZW50ICYgKFNVQlNIRUxMX0NPTVNVQnxTVUJTSEVMTF9QUk9DU1VCKSkpKQogICAgIGhhbmd1cF9hbGxfam9icyAoKTsKICAgZW5kX2pvYl9jb250cm9sICgpOwogI2VuZGlmIC8qIEpPQl9DT05UUk9MICovCkBAIC01NjEsNiArNTYxLDcgQEAKICAgaWYgKGludGVycnVwdF9pbW1lZGlhdGVseSkKICAgICB7CiAgICAgICBpbnRlcnJ1cHRfaW1tZWRpYXRlbHkgPSAwOworICAgICAgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPSAxMjggKyBzaWc7CiAgICAgICB0aHJvd190b190b3BfbGV2ZWwgKCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9zaWdsaXN0LmMgYi9zaWdsaXN0LmMKaW5kZXggMjdlYjI2YS4uMGU1MWI4MyAxMDA2NDQKLS0tIGEvc2lnbGlzdC5jCisrKyBiL3NpZ2xpc3QuYwpAQCAtMzIsNiArMzIsNyBAQAogIyAgaW5jbHVkZSAidHJhcC5oIgogI2VuZGlmCiAKKyNpbmNsdWRlICJiYXNoaW50bC5oIgogI2luY2x1ZGUgInhtYWxsb2MuaCIKIAogY2hhciAqc3lzX3NpZ2xpc3RbTlNJR107CmRpZmYgLS1naXQgYS9zdHJpbmdsaWIuYyBiL3N0cmluZ2xpYi5jCmluZGV4IDA5ODY2ZDUuLjBhNjEyY2EgMTAwNjQ0Ci0tLSBhL3N0cmluZ2xpYi5jCisrKyBiL3N0cmluZ2xpYi5jCkBAIC0xMjUsNyArMTI1LDcgQEAKICAgIG5vdCBpbmNsdWRpbmcgRU5ELiAqLwogY2hhciAqCiBzdWJzdHJpbmcgKHN0cmluZywgc3RhcnQsIGVuZCkKLSAgICAgY2hhciAqc3RyaW5nOworICAgICBjb25zdCBjaGFyICpzdHJpbmc7CiAgICAgIGludCBzdGFydCwgZW5kOwogewogICByZWdpc3RlciBpbnQgbGVuOwpkaWZmIC0tZ2l0IGEvc3Vic3QuYyBiL3N1YnN0LmMKaW5kZXggNzhmMjE3Yy4uODFhMzI1NiAxMDA2NDQKLS0tIGEvc3Vic3QuYworKysgYi9zdWJzdC5jCkBAIC04Niw2ICs4Niw3IEBACiAvKiBGbGFncyBmb3IgdGhlIGBwZmxhZ3MnIGFyZ3VtZW50IHRvIHBhcmFtX2V4cGFuZCgpICovCiAjZGVmaW5lIFBGX05PQ09NU1VCCTB4MDEJLyogRG8gbm90IHBlcmZvcm0gY29tbWFuZCBzdWJzdGl0dXRpb24gKi8KICNkZWZpbmUgUEZfSUdOVU5CT1VORAkweDAyCS8qIGlnbm9yZSB1bmJvdW5kIHZhcnMgZXZlbiBpZiAtdSBzZXQgKi8KKyNkZWZpbmUgUEZfTk9TUExJVDIJMHgwNAkvKiBzYW1lIGFzIFdfTk9TUExJVDIgKi8KIAogLyogVGhlc2UgZGVmcyBtYWtlIGl0IGVhc2llciB0byB1c2UgdGhlIGVkaXRvci4gKi8KICNkZWZpbmUgTEJSQUNFCQkneycKQEAgLTkzLDYgKzk0LDExIEBACiAjZGVmaW5lIExQQVJFTgkJJygnCiAjZGVmaW5lIFJQQVJFTgkJJyknCiAKKyNpZiBkZWZpbmVkIChIQU5ETEVfTVVMVElCWVRFKQorI2RlZmluZSBXTFBBUkVOCQlMJygnCisjZGVmaW5lIFdSUEFSRU4JCUwnKScKKyNlbmRpZgorCiAvKiBFdmFsdWF0ZXMgdG8gMSBpZiBDIGlzIG9uZSBvZiB0aGUgc2hlbGwncyBzcGVjaWFsIHBhcmFtZXRlcnMgd2hvc2UgbGVuZ3RoCiAgICBjYW4gYmUgdGFrZW4sIGJ1dCBpcyBhbHNvIG9uZSBvZiB0aGUgc3BlY2lhbCBleHBhbnNpb24gY2hhcmFjdGVycy4gKi8KICNkZWZpbmUgVkFMSURfU1BFQ0lBTF9MRU5HVEhfUEFSQU0oYykgXApAQCAtMTM0LDEyICsxNDAsMjAgQEAKIHVuc2lnbmVkIGNoYXIgaWZzX2ZpcnN0YzsKICNlbmRpZgogCisvKiBTZW50aW5lbCB0byB0ZWxsIHdoZW4gd2UgYXJlIHBlcmZvcm1pbmcgdmFyaWFibGUgYXNzaWdubWVudHMgcHJlY2VkaW5nIGEKKyAgIGNvbW1hbmQgbmFtZSBhbmQgcHV0dGluZyB0aGVtIGludG8gdGhlIGVudmlyb25tZW50LiAgVXNlZCB0byBtYWtlIHN1cmUKKyAgIHdlIHVzZSB0aGUgdGVtcG9yYXJ5IGVudmlyb25tZW50IHdoZW4gbG9va2luZyB1cCB2YXJpYWJsZSB2YWx1ZXMuICovCiBpbnQgYXNzaWduaW5nX2luX2Vudmlyb25tZW50OwogCisvKiBVc2VkIHRvIGhvbGQgYSBsaXN0IG9mIHZhcmlhYmxlIGFzc2lnbm1lbnRzIHByZWNlZGluZyBhIGNvbW1hbmQuICBHbG9iYWwKKyAgIHNvIHRoZSBTSUdDSExEIGhhbmRsZXIgaW4gam9icy5jIGNhbiB1bndpbmQtcHJvdGVjdCBpdCB3aGVuIGl0IHJ1bnMgYQorICAgU0lHQ0hMRCB0cmFwIGFuZCBzbyBpdCBjYW4gYmUgc2F2ZWQgYW5kIHJlc3RvcmVkIGJ5IHRoZSB0cmFwIGhhbmRsZXJzLiAqLworV09SRF9MSVNUICpzdWJzdF9hc3NpZ25fdmFybGlzdCA9IChXT1JEX0xJU1QgKilOVUxMOworCiAvKiBFeHRlcm4gZnVuY3Rpb25zIGFuZCB2YXJpYWJsZXMgZnJvbSBkaWZmZXJlbnQgZmlsZXMuICovCiBleHRlcm4gaW50IGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlLCBsYXN0X2NvbW1hbmRfZXhpdF9zaWduYWw7Ci1leHRlcm4gaW50IHN1YnNoZWxsX2Vudmlyb25tZW50OwotZXh0ZXJuIGludCBzdWJzaGVsbF9sZXZlbCwgcGFyc2VfYW5kX2V4ZWN1dGVfbGV2ZWw7CitleHRlcm4gaW50IHN1YnNoZWxsX2Vudmlyb25tZW50LCBsaW5lX251bWJlcjsKK2V4dGVybiBpbnQgc3Vic2hlbGxfbGV2ZWwsIHBhcnNlX2FuZF9leGVjdXRlX2xldmVsLCBzb3VyY2VsZXZlbDsKIGV4dGVybiBpbnQgZW9mX2VuY291bnRlcmVkOwogZXh0ZXJuIGludCByZXR1cm5fY2F0Y2hfZmxhZywgcmV0dXJuX2NhdGNoX3ZhbHVlOwogZXh0ZXJuIHBpZF90IGRvbGxhcl9kb2xsYXJfcGlkOwpAQCAtMTgzLDExICsxOTcsNiBAQAogICAgJCogb24gJElGUywgcHJpbWFyaWx5IHdoZW4gZG9pbmcgYXNzaWdubWVudCBzdGF0ZW1lbnRzLiAqLwogc3RhdGljIGludCBleHBhbmRfbm9fc3BsaXRfZG9sbGFyX3N0YXIgPSAwOwogCi0vKiBVc2VkIHRvIGhvbGQgYSBsaXN0IG9mIHZhcmlhYmxlIGFzc2lnbm1lbnRzIHByZWNlZGluZyBhIGNvbW1hbmQuICBHbG9iYWwKLSAgIHNvIHRoZSBTSUdDSExEIGhhbmRsZXIgaW4gam9icy5jIGNhbiB1bndpbmQtcHJvdGVjdCBpdCB3aGVuIGl0IHJ1bnMgYQotICAgU0lHQ0hMRCB0cmFwLiAqLwotV09SRF9MSVNUICpzdWJzdF9hc3NpZ25fdmFybGlzdCA9IChXT1JEX0xJU1QgKilOVUxMOwotCiAvKiBBIFdPUkRfTElTVCBvZiB3b3JkcyB0byBiZSBleHBhbmRlZCBieSBleHBhbmRfd29yZF9saXN0X2ludGVybmFsLAogICAgd2l0aG91dCBhbnkgbGVhZGluZyB2YXJpYWJsZSBhc3NpZ25tZW50cy4gKi8KIHN0YXRpYyBXT1JEX0xJU1QgKmdhcmdsaXN0ID0gKFdPUkRfTElTVCAqKU5VTEw7CkBAIC0yODUsNyArMjk0LDcgQEAKIHN0YXRpYyBjaGFyICpwb3NfcGFyYW1zX2Nhc2Vtb2QgX19QKChjaGFyICosIGNoYXIgKiwgaW50LCBpbnQpKTsKIHN0YXRpYyBjaGFyICpwYXJhbWV0ZXJfYnJhY2VfY2FzZW1vZCBfX1AoKGNoYXIgKiwgY2hhciAqLCBpbnQsIGNoYXIgKiwgaW50KSk7CiAKLXN0YXRpYyBXT1JEX0RFU0MgKnBhcmFtZXRlcl9icmFjZV9leHBhbmQgX19QKChjaGFyICosIGludCAqLCBpbnQsIGludCAqLCBpbnQgKikpOworc3RhdGljIFdPUkRfREVTQyAqcGFyYW1ldGVyX2JyYWNlX2V4cGFuZCBfX1AoKGNoYXIgKiwgaW50ICosIGludCwgaW50LCBpbnQgKiwgaW50ICopKTsKIHN0YXRpYyBXT1JEX0RFU0MgKnBhcmFtX2V4cGFuZCBfX1AoKGNoYXIgKiwgaW50ICosIGludCwgaW50ICosIGludCAqLCBpbnQgKiwgaW50ICosIGludCkpOwogCiBzdGF0aWMgV09SRF9MSVNUICpleHBhbmRfd29yZF9pbnRlcm5hbCBfX1AoKFdPUkRfREVTQyAqLCBpbnQsIGludCwgaW50ICosIGludCAqKSk7CkBAIC0zMTEsNiArMzIwLDEzNSBAQAogLyoJCQkJCQkJCSAgICAqLwogLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogCisjaWYgZGVmaW5lZCAoREVCVUcpCit2b2lkCitkdW1wX3dvcmRfZmxhZ3MgKGZsYWdzKQorICAgICBpbnQgZmxhZ3M7Cit7CisgIGludCBmOworCisgIGYgPSBmbGFnczsKKyAgZnByaW50ZiAoc3RkZXJyLCAiJWQgLT4gIiwgZik7CisgIGlmIChmICYgV19BU1NJR05BU1NPQykKKyAgICB7CisgICAgICBmICY9IH5XX0FTU0lHTkFTU09DOworICAgICAgZnByaW50ZiAoc3RkZXJyLCAiV19BU1NJR05BU1NPQyVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19IQVNDVExFU0MpCisgICAgeworICAgICAgZiAmPSB+V19IQVNDVExFU0M7CisgICAgICBmcHJpbnRmIChzdGRlcnIsICJXX0hBU0NUTEVTQyVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19OT1BST0NTVUIpCisgICAgeworICAgICAgZiAmPSB+V19OT1BST0NTVUI7CisgICAgICBmcHJpbnRmIChzdGRlcnIsICJXX05PUFJPQ1NVQiVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19EUVVPVEUpCisgICAgeworICAgICAgZiAmPSB+V19EUVVPVEU7CisgICAgICBmcHJpbnRmIChzdGRlcnIsICJXX0RRVU9URSVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19IQVNRVU9URUROVUxMKQorICAgIHsKKyAgICAgIGYgJj0gfldfSEFTUVVPVEVETlVMTDsKKyAgICAgIGZwcmludGYgKHN0ZGVyciwgIldfSEFTUVVPVEVETlVMTCVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19BU1NJR05BUkcpCisgICAgeworICAgICAgZiAmPSB+V19BU1NJR05BUkc7CisgICAgICBmcHJpbnRmIChzdGRlcnIsICJXX0FTU0lHTkFSRyVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19BU1NOQkxUSU4pCisgICAgeworICAgICAgZiAmPSB+V19BU1NOQkxUSU47CisgICAgICBmcHJpbnRmIChzdGRlcnIsICJXX0FTU05CTFRJTiVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19DT01QQVNTSUdOKQorICAgIHsKKyAgICAgIGYgJj0gfldfQ09NUEFTU0lHTjsKKyAgICAgIGZwcmludGYgKHN0ZGVyciwgIldfQ09NUEFTU0lHTiVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19OT0VYUEFORCkKKyAgICB7CisgICAgICBmICY9IH5XX05PRVhQQU5EOworICAgICAgZnByaW50ZiAoc3RkZXJyLCAiV19OT0VYUEFORCVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19JVElMREUpCisgICAgeworICAgICAgZiAmPSB+V19JVElMREU7CisgICAgICBmcHJpbnRmIChzdGRlcnIsICJXX0lUSUxERSVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19OT1RJTERFKQorICAgIHsKKyAgICAgIGYgJj0gfldfTk9USUxERTsKKyAgICAgIGZwcmludGYgKHN0ZGVyciwgIldfTk9USUxERSVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19BU1NJR05SSFMpCisgICAgeworICAgICAgZiAmPSB+V19BU1NJR05SSFM7CisgICAgICBmcHJpbnRmIChzdGRlcnIsICJXX0FTU0lHTlJIUyVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19OT0NPTVNVQikKKyAgICB7CisgICAgICBmICY9IH5XX05PQ09NU1VCOworICAgICAgZnByaW50ZiAoc3RkZXJyLCAiV19OT0NPTVNVQiVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19ET0xMQVJTVEFSKQorICAgIHsKKyAgICAgIGYgJj0gfldfRE9MTEFSU1RBUjsKKyAgICAgIGZwcmludGYgKHN0ZGVyciwgIldfRE9MTEFSU1RBUiVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19ET0xMQVJBVCkKKyAgICB7CisgICAgICBmICY9IH5XX0RPTExBUkFUOworICAgICAgZnByaW50ZiAoc3RkZXJyLCAiV19ET0xMQVJBVCVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19USUxERUVYUCkKKyAgICB7CisgICAgICBmICY9IH5XX1RJTERFRVhQOworICAgICAgZnByaW50ZiAoc3RkZXJyLCAiV19USUxERUVYUCVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19OT1NQTElUMikKKyAgICB7CisgICAgICBmICY9IH5XX05PU1BMSVQyOworICAgICAgZnByaW50ZiAoc3RkZXJyLCAiV19OT1NQTElUMiVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19OT0dMT0IpCisgICAgeworICAgICAgZiAmPSB+V19OT0dMT0I7CisgICAgICBmcHJpbnRmIChzdGRlcnIsICJXX05PR0xPQiVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19OT1NQTElUKQorICAgIHsKKyAgICAgIGYgJj0gfldfTk9TUExJVDsKKyAgICAgIGZwcmludGYgKHN0ZGVyciwgIldfTk9TUExJVCVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19HTE9CRVhQKQorICAgIHsKKyAgICAgIGYgJj0gfldfR0xPQkVYUDsKKyAgICAgIGZwcmludGYgKHN0ZGVyciwgIldfR0xPQkVYUCVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19BU1NJR05NRU5UKQorICAgIHsKKyAgICAgIGYgJj0gfldfQVNTSUdOTUVOVDsKKyAgICAgIGZwcmludGYgKHN0ZGVyciwgIldfQVNTSUdOTUVOVCVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19RVU9URUQpCisgICAgeworICAgICAgZiAmPSB+V19RVU9URUQ7CisgICAgICBmcHJpbnRmIChzdGRlcnIsICJXX1FVT1RFRCVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGlmIChmICYgV19IQVNET0xMQVIpCisgICAgeworICAgICAgZiAmPSB+V19IQVNET0xMQVI7CisgICAgICBmcHJpbnRmIChzdGRlcnIsICJXX0hBU0RPTExBUiVzIiwgZiA/ICJ8IiA6ICIiKTsKKyAgICB9CisgIGZwcmludGYgKHN0ZGVyciwgIlxuIik7CisgIGZmbHVzaCAoc3RkZXJyKTsKK30KKyNlbmRpZgorCiAjaWZkZWYgSU5DTFVERV9VTlVTRUQKIHN0YXRpYyBjaGFyICoKIHF1b3RlZF9zdWJzdHJpbmcgKHN0cmluZywgc3RhcnQsIGVuZCkKQEAgLTU4NSw3ICs3MjMsNyBAQAogCXsKIAkgIGludCBuaTsKIAkgIC8qIElmIHRoaXMgaXMgYW4gYXJyYXkgc3Vic2NyaXB0LCBza2lwIG92ZXIgaXQgYW5kIGNvbnRpbnVlLiAqLwotCSAgbmkgPSBza2lwc3Vic2NyaXB0IChzdHJpbmcsIGkpOworCSAgbmkgPSBza2lwc3Vic2NyaXB0IChzdHJpbmcsIGksIDApOwogCSAgaWYgKHN0cmluZ1tuaV0gPT0gJ10nKQogCSAgICBpID0gbmk7CiAJfQpAQCAtODk5LDcgKzEwMzcsNyBAQAogICAgICBjaGFyICpjaGFybGlzdDsKICAgICAgaW50IGZsYWdzOwogewotICByZWdpc3RlciBpbnQgaSA9ICpzaW5kZXg7CisgIHJlZ2lzdGVyIGludCBpOwogI2lmIGRlZmluZWQgKEhBTkRMRV9NVUxUSUJZVEUpCiAgIHNpemVfdCBjbGVuOwogICB3Y2hhcl90ICp3Y2hhcmxpc3Q7CkBAIC05OTIsMTQgKzExMzAsMTQgQEAKIC8qIEV4dHJhY3QgdGhlICQoIGNvbnN0cnVjdCBpbiBTVFJJTkcsIGFuZCByZXR1cm4gYSBuZXcgc3RyaW5nLgogICAgU3RhcnQgZXh0cmFjdGluZyBhdCAoU0lOREVYKSBhcyBpZiB3ZSBoYWQganVzdCBzZWVuICIkKCIuCiAgICBNYWtlIChTSU5ERVgpIGdldCB0aGUgcG9zaXRpb24gb2YgdGhlIG1hdGNoaW5nICIpIi4gKQotICAgWEZMQUdTIGlzIGFkZGl0aW9uYWwgZmxhZ3MgdG8gcGFzcyB0byBvdGhlciBleHRyYWN0aW9uIGZ1bmN0aW9ucywgKi8KKyAgIFhGTEFHUyBpcyBhZGRpdGlvbmFsIGZsYWdzIHRvIHBhc3MgdG8gb3RoZXIgZXh0cmFjdGlvbiBmdW5jdGlvbnMuICovCiBjaGFyICoKIGV4dHJhY3RfY29tbWFuZF9zdWJzdCAoc3RyaW5nLCBzaW5kZXgsIHhmbGFncykKICAgICAgY2hhciAqc3RyaW5nOwogICAgICBpbnQgKnNpbmRleDsKICAgICAgaW50IHhmbGFnczsKIHsKLSAgaWYgKHN0cmluZ1sqc2luZGV4XSA9PSAnKCcpCS8qKSovCisgIGlmIChzdHJpbmdbKnNpbmRleF0gPT0gTFBBUkVOKQogICAgIHJldHVybiAoZXh0cmFjdF9kZWxpbWl0ZWRfc3RyaW5nIChzdHJpbmcsIHNpbmRleCwgIiQoIiwgIigiLCAiKSIsIHhmbGFnc3xTWF9DT01NQU5EKSk7IC8qKSovCiAgIGVsc2UKICAgICB7CkBAIC0xMTExLDcgKzEyNDksNyBAQAogCX0KIAogICAgICAgLyogTm90IGV4YWN0bHkgcmlnaHQgeWV0OyBzaG91bGQgaGFuZGxlIHNoZWxsIG1ldGFjaGFyYWN0ZXJzIGFuZAotCSBtdWx0aWJ5dGUgY2hhcmFjdGVycywgdG9vLiAqLworCSBtdWx0aWJ5dGUgY2hhcmFjdGVycywgdG9vLiAgU2VlIENPTU1FTlRfQkVHSU4gZGVmaW5lIGluIHBhcnNlLnkgKi8KICAgICAgIGlmICgoZmxhZ3MgJiBTWF9DT01NQU5EKSAmJiBjID09ICcjJyAmJiAoaSA9PSAwIHx8IHN0cmluZ1tpIC0gMV0gPT0gJ1xuJyB8fCBzaGVsbGJsYW5rIChzdHJpbmdbaSAtIDFdKSkpCiAJewogICAgICAgICAgIGluX2NvbW1lbnQgPSAxOwpAQCAtMTEyNiw2ICsxMjY0LDE4IEBACiAJICBjb250aW51ZTsKIAl9CiAKKyNpZiAwCisgICAgICAvKiBQcm9jZXNzIGEgbmVzdGVkIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBidXQgb25seSBpZiB3ZSdyZSBwYXJzaW5nIGEKKwkgY29tbWFuZCBzdWJzdGl0dXRpb24uICBYWFggLSBmb3IgYmFzaC00LjIgKi8KKyAgICAgIGlmICgoZmxhZ3MgJiBTWF9DT01NQU5EKSAmJiBzdHJpbmdbaV0gPT0gJyQnICYmIHN0cmluZ1tpKzFdID09IExQQVJFTikKKyAgICAgICAgeworICAgICAgICAgIHNpID0gaSArIDI7CisgICAgICAgICAgdCA9IGV4dHJhY3RfY29tbWFuZF9zdWJzdCAoc3RyaW5nLCAmc2ksIGZsYWdzKTsKKyAgICAgICAgICBpID0gc2kgKyAxOworICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisjZW5kaWYKKwogICAgICAgLyogUHJvY2VzcyBhIG5lc3RlZCBPUEVORVIuICovCiAgICAgICBpZiAoU1RSRVFOIChzdHJpbmcgKyBpLCBvcGVuZXIsIGxlbl9vcGVuZXIpKQogCXsKQEAgLTEzNzcsNyArMTUyNywxMCBAQAogI2RlZmluZSBDUV9SRVRVUk4oeCkgZG8geyBub19sb25nam1wX29uX2ZhdGFsX2Vycm9yID0gMDsgcmV0dXJuICh4KTsgfSB3aGlsZSAoMCkKIAogLyogVGhpcyBmdW5jdGlvbiBhc3N1bWVzIHNbaV0gPT0gb3BlbjsgcmV0dXJucyB3aXRoIHNbcmV0XSA9PSBjbG9zZTsgdXNlZCB0bwotICAgcGFyc2UgYXJyYXkgc3Vic2NyaXB0cy4gIEZMQUdTIGN1cnJlbnRseSB1bnVzZWQuICovCisgICBwYXJzZSBhcnJheSBzdWJzY3JpcHRzLiAgRkxBR1MgJiAxIG1lYW5zIHRvIG5vdCBhdHRlbXB0IHRvIHNraXAgb3ZlcgorICAgbWF0Y2hlZCBwYWlycyBvZiBxdW90ZXMgb3IgYmFja3F1b3Rlcywgb3Igc2tpcCB3b3JkIGV4cGFuc2lvbnM7IGl0IGlzCisgICBpbnRlbmRlZCB0byBiZSB1c2VkIGFmdGVyIGV4cGFuc2lvbiBoYXMgYmVlbiBwZXJmb3JtZWQgYW5kIGR1cmluZyBmaW5hbAorICAgYXNzaWdubWVudCBwYXJzaW5nIChzZWUgYXJyYXlmdW5jLmM6YXNzaWduX2NvbXBvdW5kX2FycmF5X2xpc3QoKSkuICovCiBzdGF0aWMgaW50CiBza2lwX21hdGNoZWRfcGFpciAoc3RyaW5nLCBzdGFydCwgb3BlbiwgY2xvc2UsIGZsYWdzKQogICAgICBjb25zdCBjaGFyICpzdHJpbmc7CkBAIC0xNDE4LDEzICsxNTcxLDEzIEBACiAJICBBRFZBTkNFX0NIQVIgKHN0cmluZywgc2xlbiwgaSk7CiAJICBjb250aW51ZTsKIAl9Ci0gICAgICBlbHNlIGlmIChjID09ICdgJykKKyAgICAgIGVsc2UgaWYgKChmbGFncyAmIDEpID09IDAgJiYgYyA9PSAnYCcpCiAJewogCSAgYmFja3EgPSAxOwogCSAgaSsrOwogCSAgY29udGludWU7CiAJfQotICAgICAgZWxzZSBpZiAoYyA9PSBvcGVuKQorICAgICAgZWxzZSBpZiAoKGZsYWdzICYgMSkgPT0gMCAmJiBjID09IG9wZW4pCiAJewogCSAgY291bnQrKzsKIAkgIGkrKzsKQEAgLTE0MzgsMTMgKzE1OTEsMTMgQEAKIAkgIGkrKzsKIAkgIGNvbnRpbnVlOwogCX0KLSAgICAgIGVsc2UgaWYgKGMgPT0gJ1wnJyB8fCBjID09ICciJykKKyAgICAgIGVsc2UgaWYgKChmbGFncyAmIDEpID09IDAgJiYgKGMgPT0gJ1wnJyB8fCBjID09ICciJykpCiAJewogCSAgaSA9IChjID09ICdcJycpID8gc2tpcF9zaW5nbGVfcXVvdGVkIChzcywgc2xlbiwgKytpKQogCQkJICA6IHNraXBfZG91YmxlX3F1b3RlZCAoc3MsIHNsZW4sICsraSk7CiAJICAvKiBubyBpbmNyZW1lbnQsIHRoZSBza2lwIGZ1bmN0aW9ucyBpbmNyZW1lbnQgcGFzdCB0aGUgY2xvc2luZyBxdW90ZS4gKi8KIAl9Ci0gICAgICBlbHNlIGlmIChjID09ICckJyAmJiAoc3RyaW5nW2krMV0gPT0gTFBBUkVOIHx8IHN0cmluZ1tpKzFdID09IExCUkFDRSkpCisgICAgICBlbHNlIGlmICgoZmxhZ3MmMSkgPT0gMCAmJiBjID09ICckJyAmJiAoc3RyaW5nW2krMV0gPT0gTFBBUkVOIHx8IHN0cmluZ1tpKzFdID09IExCUkFDRSkpCiAJewogCSAgc2kgPSBpICsgMjsKIAkgIGlmIChzdHJpbmdbc2ldID09ICdcMCcpCkBAIC0xNDY5LDExICsxNjIyLDExIEBACiAKICNpZiBkZWZpbmVkIChBUlJBWV9WQVJTKQogaW50Ci1za2lwc3Vic2NyaXB0IChzdHJpbmcsIHN0YXJ0KQorc2tpcHN1YnNjcmlwdCAoc3RyaW5nLCBzdGFydCwgZmxhZ3MpCiAgICAgIGNvbnN0IGNoYXIgKnN0cmluZzsKLSAgICAgaW50IHN0YXJ0OworICAgICBpbnQgc3RhcnQsIGZsYWdzOwogewotICByZXR1cm4gKHNraXBfbWF0Y2hlZF9wYWlyIChzdHJpbmcsIHN0YXJ0LCAnWycsICddJywgMCkpOworICByZXR1cm4gKHNraXBfbWF0Y2hlZF9wYWlyIChzdHJpbmcsIHN0YXJ0LCAnWycsICddJywgZmxhZ3MpKTsKIH0KICNlbmRpZgogCkBAIC0xNDkwLDcgKzE2NDMsNyBAQAogICAgICBjaGFyICpkZWxpbXM7CiAgICAgIGludCBmbGFnczsKIHsKLSAgaW50IGksIHBhc3NfbmV4dCwgYmFja3EsIHNpLCBjLCBpbnZlcnQ7CisgIGludCBpLCBwYXNzX25leHQsIGJhY2txLCBzaSwgYywgaW52ZXJ0LCBza2lwcXVvdGUsIHNraXBjbWQ7CiAgIHNpemVfdCBzbGVuOwogICBjaGFyICp0ZW1wOwogICBERUNMQVJFX01CU1RBVEU7CkBAIC0xNDk5LDExICsxNjUyLDE3IEBACiAgIGlmIChmbGFncyAmIFNEX05PSk1QKQogICAgIG5vX2xvbmdqbXBfb25fZmF0YWxfZXJyb3IgPSAxOwogICBpbnZlcnQgPSAoZmxhZ3MgJiBTRF9JTlZFUlQpOworICBza2lwY21kID0gKGZsYWdzICYgU0RfTk9TS0lQQ01EKSA9PSAwOwogCiAgIGkgPSBzdGFydDsKICAgcGFzc19uZXh0ID0gYmFja3EgPSAwOwogICB3aGlsZSAoYyA9IHN0cmluZ1tpXSkKICAgICB7CisgICAgICAvKiBJZiB0aGlzIGlzIG5vbi16ZXJvLCB3ZSBzaG91bGQgbm90IGxldCBxdW90ZSBjaGFyYWN0ZXJzIGJlIGRlbGltaXRlcnMKKwkgYW5kIHRoZSBjdXJyZW50IGNoYXJhY3RlciBpcyBhIHNpbmdsZSBvciBkb3VibGUgcXVvdGUuICBXZSBzaG91bGQgbm90CisJIHRlc3Qgd2hldGhlciBvciBub3QgaXQncyBhIGRlbGltaXRlciB1bnRpbCBhZnRlciB3ZSBza2lwIHNpbmdsZS0gb3IKKwkgZG91YmxlLXF1b3RlZCBzdHJpbmdzLiAqLworICAgICAgc2tpcHF1b3RlID0gKChmbGFncyAmIFNEX05PUVVPVEVERUxJTSkgJiYgKGMgPT0gJ1wnJyB8fCBjID09JyInKSk7CiAgICAgICBpZiAocGFzc19uZXh0KQogCXsKIAkgIHBhc3NfbmV4dCA9IDA7CkBAIC0xNTMxLDcgKzE2OTAsNyBAQAogCSAgaSsrOwogCSAgY29udGludWU7CiAJfQotICAgICAgZWxzZSBpZiAoaW52ZXJ0ID09IDAgJiYgbWVtYmVyIChjLCBkZWxpbXMpKQorICAgICAgZWxzZSBpZiAoc2tpcHF1b3RlID09IDAgJiYgaW52ZXJ0ID09IDAgJiYgbWVtYmVyIChjLCBkZWxpbXMpKQogCWJyZWFrOwogICAgICAgZWxzZSBpZiAoYyA9PSAnXCcnIHx8IGMgPT0gJyInKQogCXsKQEAgLTE1MzksNyArMTY5OCw3IEBACiAJCQkgIDogc2tpcF9kb3VibGVfcXVvdGVkIChzdHJpbmcsIHNsZW4sICsraSk7CiAJICAvKiBubyBpbmNyZW1lbnQsIHRoZSBza2lwIGZ1bmN0aW9ucyBpbmNyZW1lbnQgcGFzdCB0aGUgY2xvc2luZyBxdW90ZS4gKi8KIAl9Ci0gICAgICBlbHNlIGlmIChjID09ICckJyAmJiAoc3RyaW5nW2krMV0gPT0gTFBBUkVOIHx8IHN0cmluZ1tpKzFdID09IExCUkFDRSkpCisgICAgICBlbHNlIGlmIChjID09ICckJyAmJiAoKHNraXBjbWQgJiYgc3RyaW5nW2krMV0gPT0gTFBBUkVOKSB8fCBzdHJpbmdbaSsxXSA9PSBMQlJBQ0UpKQogCXsKIAkgIHNpID0gaSArIDI7CiAJICBpZiAoc3RyaW5nW3NpXSA9PSAnXDAnKQpAQCAtMTU1NSw3ICsxNzE0LDIxIEBACiAJICBpKys7CiAJICBjb250aW51ZTsKIAl9Ci0gICAgICBlbHNlIGlmIChpbnZlcnQgJiYgKG1lbWJlciAoYywgZGVsaW1zKSA9PSAwKSkKKyNpZiBkZWZpbmVkIChQUk9DRVNTX1NVQlNUSVRVVElPTikKKyAgICAgIGVsc2UgaWYgKHNraXBjbWQgJiYgKGMgPT0gJzwnIHx8IGMgPT0gJz4nKSAmJiBzdHJpbmdbaSsxXSA9PSBMUEFSRU4pCisJeworCSAgc2kgPSBpICsgMjsKKwkgIGlmIChzdHJpbmdbc2ldID09ICdcMCcpCisJICAgIENRX1JFVFVSTihzaSk7CisJICB0ZW1wID0gZXh0cmFjdF9wcm9jZXNzX3N1YnN0IChzdHJpbmcsIChjID09ICc8JykgPyAiPCgiIDogIj4oIiwgJnNpKTsKKwkgIGkgPSBzaTsKKwkgIGlmIChzdHJpbmdbaV0gPT0gJ1wwJykKKwkgICAgYnJlYWs7CisJICBpKys7CisJICBjb250aW51ZTsKKwl9CisjZW5kaWYgLyogUFJPQ0VTU19TVUJTVElUVVRJT04gKi8KKyAgICAgIGVsc2UgaWYgKChza2lwcXVvdGUgfHwgaW52ZXJ0KSAmJiAobWVtYmVyIChjLCBkZWxpbXMpID09IDApKQogCWJyZWFrOwogICAgICAgZWxzZQogCUFEVkFOQ0VfQ0hBUiAoc3RyaW5nLCBzbGVuLCBpKTsKQEAgLTE2NzMsMTQgKzE4NDYsMTQgQEAKICAgIHRoZSBpbmRleCBvZiB0aGUgd29yZCBjb250YWluaW5nIFNFTlRJTkVMLiAgTm9uLXdoaXRlc3BhY2UgY2hhcnMgaW4KICAgIERFTElNUyBkZWxpbWl0IHNlcGFyYXRlIGZpZWxkcy4gKi8KIFdPUkRfTElTVCAqCi1zcGxpdF9hdF9kZWxpbXMgKHN0cmluZywgc2xlbiwgZGVsaW1zLCBzZW50aW5lbCwgbndwLCBjd3ApCitzcGxpdF9hdF9kZWxpbXMgKHN0cmluZywgc2xlbiwgZGVsaW1zLCBzZW50aW5lbCwgZmxhZ3MsIG53cCwgY3dwKQogICAgICBjaGFyICpzdHJpbmc7CiAgICAgIGludCBzbGVuOwogICAgICBjaGFyICpkZWxpbXM7Ci0gICAgIGludCBzZW50aW5lbDsKKyAgICAgaW50IHNlbnRpbmVsLCBmbGFnczsKICAgICAgaW50ICpud3AsICpjd3A7CiB7Ci0gIGludCB0cywgdGUsIGksIG53LCBjdywgaWZzX3NwbGl0OworICBpbnQgdHMsIHRlLCBpLCBudywgY3csIGlmc19zcGxpdCwgZGZsYWdzOwogICBjaGFyICp0b2tlbiwgKmQsICpkMjsKICAgV09SRF9MSVNUICpyZXQsICp0bDsKIApAQCAtMTczNyw3ICsxOTEwLDcgQEAKIAogICByZXQgPSAoV09SRF9MSVNUICopTlVMTDsKIAotICAvKiBSZW1vdmUgc2VxdWVuY2VzIG9mIHdoaXRzcGFjZSBjaGFyYWN0ZXJzIGF0IHRoZSBzdGFydCBvZiB0aGUgc3RyaW5nLCBhcworICAvKiBSZW1vdmUgc2VxdWVuY2VzIG9mIHdoaXRlc3BhY2UgY2hhcmFjdGVycyBhdCB0aGUgc3RhcnQgb2YgdGhlIHN0cmluZywgYXMKICAgICAgbG9uZyBhcyB0aG9zZSBjaGFyYWN0ZXJzIGFyZSBkZWxpbWl0ZXJzLiAqLwogICBmb3IgKGkgPSAwOyBtZW1iZXIgKHN0cmluZ1tpXSwgZCkgJiYgc3BjdGFibmwgKHN0cmluZ1tpXSk7IGkrKykKICAgICA7CkBAIC0xNzQ3LDkgKzE5MjAsMTAgQEAKICAgdHMgPSBpOwogICBudyA9IDA7CiAgIGN3ID0gLTE7CisgIGRmbGFncyA9IGZsYWdzfFNEX05PSk1QOwogICB3aGlsZSAoMSkKICAgICB7Ci0gICAgICB0ZSA9IHNraXBfdG9fZGVsaW0gKHN0cmluZywgdHMsIGQsIFNEX05PSk1QKTsKKyAgICAgIHRlID0gc2tpcF90b19kZWxpbSAoc3RyaW5nLCB0cywgZCwgZGZsYWdzKTsKIAogICAgICAgLyogSWYgd2UgaGF2ZSBhIG5vbi13aGl0ZXNwYWNlIGRlbGltaXRlciBjaGFyYWN0ZXIsIHVzZSBpdCB0byBtYWtlIGEKIAkgc2VwYXJhdGUgZmllbGQuICBUaGlzIGlzIGp1c3QgYWJvdXQgd2hhdCAkSUZTIHNwbGl0dGluZyBkb2VzIGFuZApAQCAtMTgwNyw5ICsxOTgxLDEwIEBACiAKICAgLyogU3BlY2lhbCBjYXNlIGZvciBTRU5USU5FTCBhdCB0aGUgZW5kIG9mIFNUUklORy4gIElmIHdlIGhhdmVuJ3QgZm91bmQKICAgICAgdGhlIHdvcmQgY29udGFpbmluZyBTRU5USU5FTCB5ZXQsIGFuZCB0aGUgaW5kZXggd2UncmUgbG9va2luZyBmb3IgaXMgYXQKLSAgICAgdGhlIGVuZCBvZiBTVFJJTkcsIGFkZCBhbiBhZGRpdGlvbmFsIG51bGwgYXJndW1lbnQgYW5kIHNldCB0aGUgY3VycmVudAotICAgICB3b3JkIHBvaW50ZXIgdG8gdGhhdC4gKi8KLSAgaWYgKGN3cCAmJiBjdyA9PSAtMSAmJiBzZW50aW5lbCA+PSBzbGVuKQorICAgICB0aGUgZW5kIG9mIFNUUklORyAob3IgcGFzdCB0aGUgZW5kIG9mIHRoZSBwcmV2aW91c2x5LWZvdW5kIHRva2VuLAorICAgICBwb3NzaWJsZSBpZiB0aGUgZW5kIG9mIHRoZSBsaW5lIGlzIGNvbXBvc2VkIHNvbGVseSBvZiBJRlMgd2hpdGVzcGFjZSkKKyAgICAgYWRkIGFuIGFkZGl0aW9uYWwgbnVsbCBhcmd1bWVudCBhbmQgc2V0IHRoZSBjdXJyZW50IHdvcmQgcG9pbnRlciB0byB0aGF0LiAqLworICBpZiAoY3dwICYmIGN3ID09IC0xICYmIChzZW50aW5lbCA+PSBzbGVuIHx8IHNlbnRpbmVsID49IHRlKSkKICAgICB7CiAgICAgICBpZiAod2hpdGVzcGFjZSAoc3RyaW5nW3NlbnRpbmVsIC0gMV0pKQogCXsKQEAgLTIwNTgsNyArMjIzMyw3IEBACiAjaWYgMAogICB0bGlzdCA9ICgocXVvdGVkICYgKFFfSEVSRV9ET0NVTUVOVHxRX0RPVUJMRV9RVU9URVMpKSB8fCAoaWZzICYmICppZnMgPT0gMCkpCiAjZWxzZQotICB0bGlzdCA9IChxdW90ZWQgJiAoUV9IRVJFX0RPQ1VNRU5UfFFfRE9VQkxFX1FVT1RFUykpCisgIHRsaXN0ID0gKHF1b3RlZCAmIChRX0hFUkVfRE9DVU1FTlR8UV9ET1VCTEVfUVVPVEVTfFFfUEFUUVVPVEUpKQogI2VuZGlmCiAJCT8gcXVvdGVfbGlzdCAobGlzdCkKIAkJOiBsaXN0X3F1b3RlX2VzY2FwZXMgKGxpc3QpOwpAQCAtMjUyNiw3ICsyNzAxLDYgQEAKIAl9CiAgICAgICBlbHNlCiAjZW5kaWYKLQogICAgICAgaWYgKGV4cGFuZCAmJiB0ZW1wWzBdKQogCXZhbHVlID0gZXhwYW5kX3N0cmluZ19pZl9uZWNlc3NhcnkgKHRlbXAsIDAsIGV4cGFuZF9zdHJpbmdfYXNzaWdubWVudCk7CiAgICAgICBlbHNlCkBAIC0yNTU0LDcgKzI3MjgsNyBAQAogICAgIGFmbGFncyB8PSBBU1NfQVBQRU5EOwogCiAjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKLSAgaWYgKHQgPSB4c3RyY2hyIChuYW1lLCAnWycpKQkvKl0qLworICBpZiAodCA9IG1ic2NociAobmFtZSwgJ1snKSkJLypdKi8KICAgICB7CiAgICAgICBpZiAoYXNzaWduX2xpc3QpCiAJewpAQCAtMjczOSw3ICsyOTEzLDcgQEAKICAgICAgIHNhdmUgPSBwYXJhbXMgPSB0OwogICAgIH0KIAotICBmb3IgKGkgPSAxOyBwYXJhbXMgJiYgaSA8IHN0YXJ0OyBpKyspCisgIGZvciAoaSA9IHN0YXJ0ID8gMSA6IDA7IHBhcmFtcyAmJiBpIDwgc3RhcnQ7IGkrKykKICAgICBwYXJhbXMgPSBwYXJhbXMtPm5leHQ7CiAgIGlmIChwYXJhbXMgPT0gMCkKICAgICByZXR1cm4gKChjaGFyICopTlVMTCk7CkBAIC0yOTE1LDYgKzMwODksNyBAQAogICBpZiAody0+d29yZCA9PSAwIHx8IHctPndvcmRbMF0gPT0gJ1wwJykKICAgICByZXR1cm4gKChjaGFyICopTlVMTCk7CiAKKyAgdy0+ZmxhZ3MgfD0gV19OT1NQTElUMjsKICAgbCA9IGNhbGxfZXhwYW5kX3dvcmRfaW50ZXJuYWwgKHcsIDAsIDAsIChpbnQgKikwLCAoaW50ICopMCk7CiAgIGlmIChsKQogICAgIHsKQEAgLTM3ODcsMTEgKzM5NjIsMTEgQEAKICAgLyogWFhYIC0gY2hlY2sgdGhpcyBsYXRlciBpZiBJIGV2ZXIgaW1wbGVtZW50IGAqKicgd2l0aCBzcGVjaWFsIG1lYW5pbmcsCiAgICAgIHNpbmNlIHRoaXMgd2lsbCBwb3RlbnRpYWxseSByZXN1bHQgaW4gYCoqJyBhdCB0aGUgYmVnaW5uaW5nIG9yIGVuZCAqLwogICBsZW4gPSBTVFJMRU4gKHBhdCk7Ci0gIGlmIChwYXRbMF0gIT0gJyonIHx8IChwYXRbMF0gPT0gJyonICYmIHBhdFsxXSA9PSAnKCcgJiYgZXh0ZW5kZWRfZ2xvYikgfHwgcGF0W2xlbiAtIDFdICE9ICcqJykJLyopKi8KKyAgaWYgKHBhdFswXSAhPSAnKicgfHwgKHBhdFswXSA9PSAnKicgJiYgcGF0WzFdID09IExQQVJFTiAmJiBleHRlbmRlZF9nbG9iKSB8fCBwYXRbbGVuIC0gMV0gIT0gJyonKQogICAgIHsKICAgICAgIHAgPSBucGF0ID0gKGNoYXIgKil4bWFsbG9jIChsZW4gKyAzKTsKICAgICAgIHAxID0gcGF0OwotICAgICAgaWYgKCpwMSAhPSAnKicgfHwgKCpwMSA9PSAnKicgJiYgcDFbMV0gPT0gJygnICYmIGV4dGVuZGVkX2dsb2IpKQkvKikqLworICAgICAgaWYgKCpwMSAhPSAnKicgfHwgKCpwMSA9PSAnKicgJiYgcDFbMV0gPT0gTFBBUkVOICYmIGV4dGVuZGVkX2dsb2IpKQogCSpwKysgPSAnKic7CiAgICAgICB3aGlsZSAoKnAxKQogCSpwKysgPSAqcDErKzsKQEAgLTM5MzEsMTEgKzQxMDYsMTEgQEAKICAgLyogWFhYIC0gY2hlY2sgdGhpcyBsYXRlciBpZiBJIGV2ZXIgaW1wbGVtZW50IGAqKicgd2l0aCBzcGVjaWFsIG1lYW5pbmcsCiAgICAgIHNpbmNlIHRoaXMgd2lsbCBwb3RlbnRpYWxseSByZXN1bHQgaW4gYCoqJyBhdCB0aGUgYmVnaW5uaW5nIG9yIGVuZCAqLwogICBsZW4gPSB3Y3NsZW4gKHdwYXQpOwotICBpZiAod3BhdFswXSAhPSBMJyonIHx8ICh3cGF0WzBdID09IEwnKicgJiYgd3BhdFsxXSA9PSBMJygnICYmIGV4dGVuZGVkX2dsb2IpIHx8IHdwYXRbbGVuIC0gMV0gIT0gTCcqJykJLyopKi8KKyAgaWYgKHdwYXRbMF0gIT0gTCcqJyB8fCAod3BhdFswXSA9PSBMJyonICYmIHdwYXRbMV0gPT0gV0xQQVJFTiAmJiBleHRlbmRlZF9nbG9iKSB8fCB3cGF0W2xlbiAtIDFdICE9IEwnKicpCiAgICAgewogICAgICAgd3AgPSBud3BhdCA9ICh3Y2hhcl90ICopeG1hbGxvYyAoKGxlbiArIDMpICogc2l6ZW9mICh3Y2hhcl90KSk7CiAgICAgICB3cDEgPSB3cGF0OwotICAgICAgaWYgKCp3cDEgIT0gTCcqJyB8fCAoKndwMSA9PSAnKicgJiYgd3AxWzFdID09ICcoJyAmJiBleHRlbmRlZF9nbG9iKSkJLyopKi8KKyAgICAgIGlmICgqd3AxICE9IEwnKicgfHwgKCp3cDEgPT0gJyonICYmIHdwMVsxXSA9PSBXTFBBUkVOICYmIGV4dGVuZGVkX2dsb2IpKQogCSp3cCsrID0gTCcqJzsKICAgICAgIHdoaWxlICgqd3AxICE9IEwnXDAnKQogCSp3cCsrID0gKndwMSsrOwpAQCAtNDMxMyw2ICs0NDg4LDEyIEBACiAgIFdPUkRfTElTVCAqcmVzdWx0OwogCiAgIGV4cGFuZF9ub19zcGxpdF9kb2xsYXJfc3RhciA9IDE7CisjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkKKyAgaWYgKGlmc19maXJzdGNbMF0gPT0gMCkKKyNlbHNlCisgIGlmIChpZnNfZmlyc3RjID09IDApCisjZW5kaWYKKyAgICB3b3JkLT5mbGFncyB8PSBXX05PU1BMSVQ7CiAgIHJlc3VsdCA9IGNhbGxfZXhwYW5kX3dvcmRfaW50ZXJuYWwgKHdvcmQsIHF1b3RlZCwgMCwgKGludCAqKU5VTEwsIChpbnQgKilOVUxMKTsKICAgZXhwYW5kX25vX3NwbGl0X2RvbGxhcl9zdGFyID0gMDsKIApAQCAtNDMyMCwxMyArNDUwMSwyNyBAQAogfQogCiAvKiBQZXJmb3JtIHNoZWxsIGV4cGFuc2lvbnMgb24gV09SRCwgYnV0IGRvIG5vdCBwZXJmb3JtIHdvcmQgc3BsaXR0aW5nIG9yCi0gICBxdW90ZSByZW1vdmFsIG9uIHRoZSByZXN1bHQuICovCisgICBxdW90ZSByZW1vdmFsIG9uIHRoZSByZXN1bHQuICBWaXJ0dWFsbHkgaWRlbnRpY2FsIHRvIGV4cGFuZF93b3JkX3Vuc3BsaXQ7CisgICBjb3VsZCBiZSBjb21iaW5lZCBpZiBpbXBsZW1lbnRhdGlvbnMgZG9uJ3QgZGl2ZXJnZS4gKi8KIFdPUkRfTElTVCAqCiBleHBhbmRfd29yZF9sZWF2ZV9xdW90ZWQgKHdvcmQsIHF1b3RlZCkKICAgICAgV09SRF9ERVNDICp3b3JkOwogICAgICBpbnQgcXVvdGVkOwogewotICByZXR1cm4gKGNhbGxfZXhwYW5kX3dvcmRfaW50ZXJuYWwgKHdvcmQsIHF1b3RlZCwgMCwgKGludCAqKU5VTEwsIChpbnQgKilOVUxMKSk7CisgIFdPUkRfTElTVCAqcmVzdWx0OworCisgIGV4cGFuZF9ub19zcGxpdF9kb2xsYXJfc3RhciA9IDE7CisjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkKKyAgaWYgKGlmc19maXJzdGNbMF0gPT0gMCkKKyNlbHNlCisgIGlmIChpZnNfZmlyc3RjID09IDApCisjZW5kaWYKKyAgICB3b3JkLT5mbGFncyB8PSBXX05PU1BMSVQ7CisgIHdvcmQtPmZsYWdzIHw9IFdfTk9TUExJVDI7CisgIHJlc3VsdCA9IGNhbGxfZXhwYW5kX3dvcmRfaW50ZXJuYWwgKHdvcmQsIHF1b3RlZCwgMCwgKGludCAqKU5VTEwsIChpbnQgKilOVUxMKTsKKyAgZXhwYW5kX25vX3NwbGl0X2RvbGxhcl9zdGFyID0gMDsKKworICByZXR1cm4gcmVzdWx0OwogfQogCiAjaWYgZGVmaW5lZCAoUFJPQ0VTU19TVUJTVElUVVRJT04pCkBAIC00ODQzLDcgKzUwMzgsNyBAQAogCiAgIGlmICh3b3JkZXhwX29ubHkgJiYgcmVhZF9idXRfZG9udF9leGVjdXRlKQogICAgIHsKLSAgICAgIGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlID0gMTI1OworICAgICAgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPSBFWF9XRVhQQ09NU1VCOwogICAgICAganVtcF90b190b3BfbGV2ZWwgKEVYSVRQUk9HKTsKICAgICB9CiAKQEAgLTQ4NjAsNyArNTA1NSw3IEBACiAgICAgbWF5YmVfbWFrZV9leHBvcnRfZW52ICgpOwkvKiBYWFggKi8KIAogICAvKiBGbGFncyB0byBwYXNzIHRvIHBhcnNlX2FuZF9leGVjdXRlKCkgKi8KLSAgcGZsYWdzID0gaW50ZXJhY3RpdmUgPyBTRVZBTF9SRVNFVExJTkUgOiAwOworICBwZmxhZ3MgPSAoaW50ZXJhY3RpdmUgJiYgc291cmNlbGV2ZWwgPT0gMCkgPyBTRVZBTF9SRVNFVExJTkUgOiAwOwogCiAgIC8qIFBpcGUgdGhlIG91dHB1dCBvZiBleGVjdXRpbmcgU1RSSU5HIGludG8gdGhlIGN1cnJlbnQgc2hlbGwuICovCiAgIGlmIChwaXBlIChmaWxkZXMpIDwgMCkKQEAgLTUwNTgsNiArNTI1Myw3IEBACiAgICAgewogICAgICAgYyA9ICotLXQ7CiAgICAgICAqdCA9ICdcMCc7CisgICAgICBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZSA9IEVYRUNVVElPTl9GQUlMVVJFOwogICAgICAgZXJyX3VuYm91bmR2YXIgKHMpOwogICAgICAgKnQgPSBjOwogICAgICAgcmV0dXJuICgtMSk7CkBAIC01MTY4LDcgKzUzNjQsNyBAQAogI2lmIGRlZmluZWQgKEFSUkFZX1ZBUlMpCiAgIGVsc2UgaWYgKHZhbGlkX2FycmF5X3JlZmVyZW5jZSAobmFtZSkpCiAgICAgewotICAgICAgdGVtcDEgPSB4c3RyY2hyIChuYW1lLCAnWycpOworICAgICAgdGVtcDEgPSBtYnNjaHIgKG5hbWUsICdbJyk7CiAgICAgICBpZiAodGVtcDEgJiYgdGVtcDFbMV0gPT0gJ0AnICYmIHRlbXAxWzJdID09ICddJykKIAl7CiAJICBpZiAoKHF1b3RlZCAmIChRX0hFUkVfRE9DVU1FTlR8UV9ET1VCTEVfUVVPVEVTKSkgJiYgcXVvdGVkX2RvbGxhcl9hdHApCkBAIC02MDA4LDcgKzYyMDQsMTMgQEAKIAlicmVhazsKIAogICAgICAgaWYgKHMgPT0gZSkKLQllKyssIHN0cisrOwkJLyogYXZvaWQgaW5maW5pdGUgcmVjdXJzaW9uIG9uIHplcm8tbGVuZ3RoIG1hdGNoICovCisJeworCSAgLyogT24gYSB6ZXJvLWxlbmd0aCBtYXRjaCwgbWFrZSBzdXJlIHdlIGNvcHkgb25lIGNoYXJhY3Rlciwgc2luY2UKKwkgICAgIHdlIGluY3JlbWVudCBvbmUgY2hhcmFjdGVyIHRvIGF2b2lkIGluZmluaXRlIHJlY3Vyc2lvbi4gKi8KKwkgIFJFU0laRV9NQUxMT0NFRF9CVUZGRVIgKHJldCwgcnB0ciwgMSwgcnNpemUsIDY0KTsKKwkgIHJldFtycHRyKytdID0gKnN0cisrOworCSAgZSsrOwkJLyogYXZvaWQgaW5maW5pdGUgcmVjdXJzaW9uIG9uIHplcm8tbGVuZ3RoIG1hdGNoICovCisJfQogICAgIH0KIAogICAvKiBOb3cgY29weSB0aGUgdW5tYXRjaGVkIHBvcnRpb24gb2YgdGhlIGlucHV0IHN0cmluZyAqLwpAQCAtNjM3NSw5ICs2NTc3LDkgQEAKICAgaSA9IGNvdW50ID0gMDsKICAgd2hpbGUgKGkgPCBsZW4pCiAgICAgewotICAgICAgaWYgKHNbaV0gPT0gJygnKQorICAgICAgaWYgKHNbaV0gPT0gTFBBUkVOKQogCWNvdW50Kys7Ci0gICAgICBlbHNlIGlmIChzW2ldID09ICcpJykKKyAgICAgIGVsc2UgaWYgKHNbaV0gPT0gUlBBUkVOKQogCXsKIAkgIGNvdW50LS07CiAJICBpZiAoY291bnQgPCAwKQpAQCAtNjQxNyw5ICs2NjE5LDkgQEAKIAogLyogJHtbI11bIV1uYW1lW1s6XVteW15dXVssWyxdXSNbI10lWyVdLT0/K1t3b3JkXVs6ZTFbOmUyXV1dfSAqLwogc3RhdGljIFdPUkRfREVTQyAqCi1wYXJhbWV0ZXJfYnJhY2VfZXhwYW5kIChzdHJpbmcsIGluZGV4cCwgcXVvdGVkLCBxdW90ZWRfZG9sbGFyX2F0cCwgY29udGFpbnNfZG9sbGFyX2F0KQorcGFyYW1ldGVyX2JyYWNlX2V4cGFuZCAoc3RyaW5nLCBpbmRleHAsIHF1b3RlZCwgcGZsYWdzLCBxdW90ZWRfZG9sbGFyX2F0cCwgY29udGFpbnNfZG9sbGFyX2F0KQogICAgICBjaGFyICpzdHJpbmc7Ci0gICAgIGludCAqaW5kZXhwLCBxdW90ZWQsICpxdW90ZWRfZG9sbGFyX2F0cCwgKmNvbnRhaW5zX2RvbGxhcl9hdDsKKyAgICAgaW50ICppbmRleHAsIHF1b3RlZCwgKnF1b3RlZF9kb2xsYXJfYXRwLCAqY29udGFpbnNfZG9sbGFyX2F0LCBwZmxhZ3M7CiB7CiAgIGludCBjaGVja19udWxsbmVzcywgdmFyX2lzX3NldCwgdmFyX2lzX251bGwsIHZhcl9pc19zcGVjaWFsOwogICBpbnQgd2FudF9zdWJzdHJpbmcsIHdhbnRfaW5kaXIsIHdhbnRfcGF0c3ViLCB3YW50X2Nhc2Vtb2Q7CkBAIC02NjU5LDcgKzY4NjEsNyBAQAogICBpZiAod2FudF9pbmRpcikKICAgICB0ZGVzYyA9IHBhcmFtZXRlcl9icmFjZV9leHBhbmRfaW5kaXIgKG5hbWUgKyAxLCB2YXJfaXNfc3BlY2lhbCwgcXVvdGVkLCBxdW90ZWRfZG9sbGFyX2F0cCwgY29udGFpbnNfZG9sbGFyX2F0KTsKICAgZWxzZQotICAgIHRkZXNjID0gcGFyYW1ldGVyX2JyYWNlX2V4cGFuZF93b3JkIChuYW1lLCB2YXJfaXNfc3BlY2lhbCwgcXVvdGVkLCBQRl9JR05VTkJPVU5EKTsKKyAgICB0ZGVzYyA9IHBhcmFtZXRlcl9icmFjZV9leHBhbmRfd29yZCAobmFtZSwgdmFyX2lzX3NwZWNpYWwsIHF1b3RlZCwgUEZfSUdOVU5CT1VORHwocGZsYWdzJlBGX05PU1BMSVQyKSk7CiAKICAgaWYgKHRkZXNjKQogICAgIHsKQEAgLTY5MjksOCArNzEzMSw4IEBACiAJICB1ZXJyb3JbMF0gPSAnJCc7CiAJICB1ZXJyb3JbMV0gPSBjOwogCSAgdWVycm9yWzJdID0gJ1wwJzsKLQkgIGVycl91bmJvdW5kdmFyICh1ZXJyb3IpOwogCSAgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPSBFWEVDVVRJT05fRkFJTFVSRTsKKwkgIGVycl91bmJvdW5kdmFyICh1ZXJyb3IpOwogCSAgcmV0dXJuIChpbnRlcmFjdGl2ZV9zaGVsbCA/ICZleHBhbmRfd2Rlc2NfZXJyb3IgOiAmZXhwYW5kX3dkZXNjX2ZhdGFsKTsKIAl9CiAgICAgICBpZiAodGVtcDEpCkBAIC02OTc3LDggKzcxNzksOCBAQAogCSAgICAgIHVlcnJvclswXSA9ICckJzsKIAkgICAgICB1ZXJyb3JbMV0gPSBjOwogCSAgICAgIHVlcnJvclsyXSA9ICdcMCc7Ci0JICAgICAgZXJyX3VuYm91bmR2YXIgKHVlcnJvcik7CiAJICAgICAgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPSBFWEVDVVRJT05fRkFJTFVSRTsKKwkgICAgICBlcnJfdW5ib3VuZHZhciAodWVycm9yKTsKIAkgICAgICByZXR1cm4gKGludGVyYWN0aXZlX3NoZWxsID8gJmV4cGFuZF93ZGVzY19lcnJvciA6ICZleHBhbmRfd2Rlc2NfZmF0YWwpOwogCSAgICB9CiAJfQpAQCAtNzAxNSwxNCArNzIxNywxNCBAQAogCSBldmVuIGlmIGl0J3MgcXVvdGVkLiAqLwogICAgICAgaWYgKChxdW90ZWQgJiAoUV9IRVJFX0RPQ1VNRU5UfFFfRE9VQkxFX1FVT1RFUykpICYmIGxpc3QgPT0gMCkKIAl0ZW1wID0gKGNoYXIgKilOVUxMOwotICAgICAgZWxzZSBpZiAocXVvdGVkICYgKFFfSEVSRV9ET0NVTUVOVHxRX0RPVUJMRV9RVU9URVMpKQorICAgICAgZWxzZSBpZiAocXVvdGVkICYgKFFfSEVSRV9ET0NVTUVOVHxRX0RPVUJMRV9RVU9URVN8UV9QQVRRVU9URSkpCiAJewogCSAgLyogSWYgd2UgaGF2ZSAiJCoiIHdlIHdhbnQgdG8gbWFrZSBhIHN0cmluZyBvZiB0aGUgcG9zaXRpb25hbAogCSAgICAgcGFyYW1ldGVycywgc2VwYXJhdGVkIGJ5IHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgJElGUywgYW5kCiAJICAgICBxdW90ZSB0aGUgd2hvbGUgc3RyaW5nLCBpbmNsdWRpbmcgdGhlIHNlcGFyYXRvcnMuICBJZiBJRlMKIAkgICAgIGlzIHVuc2V0LCB0aGUgcGFyYW1ldGVycyBhcmUgc2VwYXJhdGVkIGJ5ICcgJzsgaWYgJElGUyBpcwogCSAgICAgbnVsbCwgdGhlIHBhcmFtZXRlcnMgYXJlIGNvbmNhdGVuYXRlZC4gKi8KLQkgIHRlbXAgPSAocXVvdGVkICYgUV9ET1VCTEVfUVVPVEVTKSA/IHN0cmluZ19saXN0X2RvbGxhcl9zdGFyIChsaXN0KSA6IHN0cmluZ19saXN0IChsaXN0KTsKKwkgIHRlbXAgPSAocXVvdGVkICYgKFFfRE9VQkxFX1FVT1RFU3xRX1BBVFFVT1RFKSkgPyBzdHJpbmdfbGlzdF9kb2xsYXJfc3RhciAobGlzdCkgOiBzdHJpbmdfbGlzdCAobGlzdCk7CiAJICB0ZW1wMSA9IHF1b3RlX3N0cmluZyAodGVtcCk7CiAJICBpZiAoKnRlbXAgPT0gMCkKIAkgICAgdGZsYWcgfD0gV19IQVNRVU9URUROVUxMOwpAQCAtNzA4NywxMSArNzI4OSwxNyBAQAogCSBzdHJpbmcgbWlnaHQgbmVlZCBpdCAoY29uc2lkZXIgIlwiJEBcIiIpLCBidXQgd2UgbmVlZCBzb21lCiAJIHdheSB0byBzaWduYWwgdGhhdCB0aGUgZmluYWwgc3BsaXQgb24gdGhlIGZpcnN0IGNoYXJhY3RlcgogCSBvZiAkSUZTIHNob3VsZCBiZSBkb25lLCBldmVuIHRob3VnaCBRVU9URUQgaXMgMS4gKi8KKyAgICAgIC8qIFhYWCAtIHNob3VsZCB0aGlzIHRlc3QgaW5jbHVkZSBRX1BBVFFVT1RFPyAqLwogICAgICAgaWYgKHF1b3RlZF9kb2xsYXJfYXRfcCAmJiAocXVvdGVkICYgKFFfSEVSRV9ET0NVTUVOVHxRX0RPVUJMRV9RVU9URVMpKSkKIAkqcXVvdGVkX2RvbGxhcl9hdF9wID0gMTsKICAgICAgIGlmIChjb250YWluc19kb2xsYXJfYXQpCiAJKmNvbnRhaW5zX2RvbGxhcl9hdCA9IDE7CiAKKyNpZiAwCisgICAgICBpZiAocGZsYWdzICYgUEZfTk9TUExJVDIpCisJdGVtcCA9IHN0cmluZ19saXN0X2ludGVybmFsIChxdW90ZWQgPyBxdW90ZV9saXN0IChsaXN0KSA6IGxpc3QsICIgIik7CisgICAgICBlbHNlCisjZW5kaWYKICAgICAgIC8qIFdlIHdhbnQgdG8gc2VwYXJhdGUgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyB3aXRoIHRoZSBmaXJzdAogCSBjaGFyYWN0ZXIgb2YgJElGUyBpbiBjYXNlICRJRlMgaXMgc29tZXRoaW5nIG90aGVyIHRoYW4gYSBzcGFjZS4KIAkgV2UgYWxzbyB3YW50IHRvIG1ha2Ugc3VyZSB0aGF0IHNwbGl0dGluZyBpcyBkb25lIG5vIG1hdHRlciB3aGF0IC0tCkBAIC03MTAzLDcgKzczMTEsNyBAQAogICAgICAgYnJlYWs7CiAKICAgICBjYXNlIExCUkFDRToKLSAgICAgIHRkZXNjID0gcGFyYW1ldGVyX2JyYWNlX2V4cGFuZCAoc3RyaW5nLCAmemluZGV4LCBxdW90ZWQsCisgICAgICB0ZGVzYyA9IHBhcmFtZXRlcl9icmFjZV9leHBhbmQgKHN0cmluZywgJnppbmRleCwgcXVvdGVkLCBwZmxhZ3MsCiAJCQkJICAgICAgcXVvdGVkX2RvbGxhcl9hdF9wLAogCQkJCSAgICAgIGNvbnRhaW5zX2RvbGxhcl9hdCk7CiAKQEAgLTcxNjIsNiArNzM3MCw5IEBACiAJICBpZiAoY2hrX2FyaXRoc3ViICh0ZW1wMiwgdF9pbmRleCkgPT0gMCkKIAkgICAgewogCSAgICAgIGZyZWUgKHRlbXAyKTsKKyNpZiAwCisJICAgICAgaW50ZXJuYWxfd2FybmluZyAoXygiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyBzdWJzdGl0dXRpb24iKSk7CisjZW5kaWYKIAkgICAgICBnb3RvIGNvbXN1YjsKIAkgICAgfQogCkBAIC03MjgwLDcgKzc0OTEsMTAgQEAKIAogdW5ib3VuZF92YXJpYWJsZToKICAgICAgIGlmICh1bmJvdW5kX3ZhcnNfaXNfZXJyb3IpCi0JZXJyX3VuYm91bmR2YXIgKHRlbXAxKTsKKwl7CisJICBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZSA9IEVYRUNVVElPTl9GQUlMVVJFOworCSAgZXJyX3VuYm91bmR2YXIgKHRlbXAxKTsKKwl9CiAgICAgICBlbHNlCiAJewogCSAgZnJlZSAodGVtcDEpOwpAQCAtNzM3OCw2ICs3NTkyLDcgQEAKICAgaW50IGhhZF9xdW90ZWRfbnVsbDsKICAgaW50IGhhc19kb2xsYXJfYXQ7CiAgIGludCB0ZmxhZzsKKyAgaW50IHBmbGFnczsJCQkvKiBmbGFncyBwYXNzZWQgdG8gcGFyYW1fZXhwYW5kICovCiAKICAgaW50IGFzc2lnbm9mZjsJCS8qIElmIGFzc2lnbm1lbnQsIG9mZnNldCBvZiBgPScgKi8KIApAQCAtNzQ4Nyw3ICs3NzAyLDcgQEAKIAkgICAgIGV2ZW4gaW4gUE9TSVggbW9kZS4gKi8JCiAJICBpZiAod29yZC0+ZmxhZ3MgJiAoV19BU1NJR05SSFN8V19OT1RJTERFKSkKIAkgICAgewotCSAgICAgIGlmIChpc2V4cCA9PSAwICYmIGlzaWZzIChjKSkKKwkgICAgICBpZiAoaXNleHAgPT0gMCAmJiAod29yZC0+ZmxhZ3MgJiAoV19OT1NQTElUfFdfTk9TUExJVDIpKSA9PSAwICYmIGlzaWZzIChjKSkKIAkJZ290byBhZGRfaWZzX2NoYXJhY3RlcjsKIAkgICAgICBlbHNlCiAJCWdvdG8gYWRkX2NoYXJhY3RlcjsKQEAgLTc1MDcsNyArNzcyMiw3IEBACiAJCSAgIHN0cmluZ1tzaW5kZXgrMV0gPT0gJ34nKQogCSAgICB3b3JkLT5mbGFncyB8PSBXX0lUSUxERTsKICNlbmRpZgotCSAgaWYgKGlzZXhwID09IDAgJiYgaXNpZnMgKGMpKQorCSAgaWYgKGlzZXhwID09IDAgJiYgKHdvcmQtPmZsYWdzICYgKFdfTk9TUExJVHxXX05PU1BMSVQyKSkgPT0gMCAmJiBpc2lmcyAoYykpCiAJICAgIGdvdG8gYWRkX2lmc19jaGFyYWN0ZXI7CiAJICBlbHNlCiAJICAgIGdvdG8gYWRkX2NoYXJhY3RlcjsKQEAgLTc1MTUsNyArNzczMCw3IEBACiAJY2FzZSAnOic6CiAJICBpZiAod29yZC0+ZmxhZ3MgJiBXX05PVElMREUpCiAJICAgIHsKLQkgICAgICBpZiAoaXNleHAgPT0gMCAmJiBpc2lmcyAoYykpCisJICAgICAgaWYgKGlzZXhwID09IDAgJiYgKHdvcmQtPmZsYWdzICYgKFdfTk9TUExJVHxXX05PU1BMSVQyKSkgPT0gMCAmJiBpc2lmcyAoYykpCiAJCWdvdG8gYWRkX2lmc19jaGFyYWN0ZXI7CiAJICAgICAgZWxzZQogCQlnb3RvIGFkZF9jaGFyYWN0ZXI7CkBAIC03NTI1LDcgKzc3NDAsNyBAQAogCSAgICAgIHN0cmluZ1tzaW5kZXgrMV0gPT0gJ34nKQogCSAgICB3b3JkLT5mbGFncyB8PSBXX0lUSUxERTsKIAotCSAgaWYgKGlzZXhwID09IDAgJiYgaXNpZnMgKGMpKQorCSAgaWYgKGlzZXhwID09IDAgJiYgKHdvcmQtPmZsYWdzICYgKFdfTk9TUExJVHxXX05PU1BMSVQyKSkgPT0gMCAmJiBpc2lmcyAoYykpCiAJICAgIGdvdG8gYWRkX2lmc19jaGFyYWN0ZXI7CiAJICBlbHNlCiAJICAgIGdvdG8gYWRkX2NoYXJhY3RlcjsKQEAgLTc1MzksNyArNzc1NCw3IEBACiAJICAgICAgKHF1b3RlZCAmIChRX0RPVUJMRV9RVU9URVN8UV9IRVJFX0RPQ1VNRU5UKSkpCiAJICAgIHsKIAkgICAgICB3b3JkLT5mbGFncyAmPSB+V19JVElMREU7Ci0JICAgICAgaWYgKGlzZXhwID09IDAgJiYgaXNpZnMgKGMpICYmIChxdW90ZWQgJiAoUV9ET1VCTEVfUVVPVEVTfFFfSEVSRV9ET0NVTUVOVCkpID09IDApCisJICAgICAgaWYgKGlzZXhwID09IDAgJiYgKHdvcmQtPmZsYWdzICYgKFdfTk9TUExJVHxXX05PU1BMSVQyKSkgPT0gMCAmJiBpc2lmcyAoYykgJiYgKHF1b3RlZCAmIChRX0RPVUJMRV9RVU9URVN8UV9IRVJFX0RPQ1VNRU5UKSkgPT0gMCkKIAkJZ290byBhZGRfaWZzX2NoYXJhY3RlcjsKIAkgICAgICBlbHNlCiAJCWdvdG8gYWRkX2NoYXJhY3RlcjsKQEAgLTc1ODEsMTAgKzc3OTYsMTIgQEAKIAkgICAgKmV4cGFuZGVkX3NvbWV0aGluZyA9IDE7CiAKIAkgIGhhc19kb2xsYXJfYXQgPSAwOworCSAgcGZsYWdzID0gKHdvcmQtPmZsYWdzICYgV19OT0NPTVNVQikgPyBQRl9OT0NPTVNVQiA6IDA7CisJICBpZiAod29yZC0+ZmxhZ3MgJiBXX05PU1BMSVQyKQorCSAgICBwZmxhZ3MgfD0gUEZfTk9TUExJVDI7CiAJICB0d29yZCA9IHBhcmFtX2V4cGFuZCAoc3RyaW5nLCAmc2luZGV4LCBxdW90ZWQsIGV4cGFuZGVkX3NvbWV0aGluZywKIAkJCSAgICAgICAmaGFzX2RvbGxhcl9hdCwgJnF1b3RlZF9kb2xsYXJfYXQsCi0JCQkgICAgICAgJmhhZF9xdW90ZWRfbnVsbCwKLQkJCSAgICAgICAod29yZC0+ZmxhZ3MgJiBXX05PQ09NU1VCKSA/IFBGX05PQ09NU1VCIDogMCk7CisJCQkgICAgICAgJmhhZF9xdW90ZWRfbnVsbCwgcGZsYWdzKTsKIAogCSAgaWYgKHR3b3JkID09ICZleHBhbmRfd2Rlc2NfZXJyb3IgfHwgdHdvcmQgPT0gJmV4cGFuZF93ZGVzY19mYXRhbCkKIAkgICAgewpAQCAtNzc3OSw2ICs3OTk2LDExIEBACiAJICAgIHsKIAkgICAgICBpZiAobGlzdC0+bmV4dCkKIAkJeworI2lmIDAKKwkJICBpZiAocXVvdGVkX2RvbGxhcl9hdCAmJiB3b3JkLT5mbGFncyAmIFdfTk9TUExJVDIpCisJCSAgICB0ZW1wID0gc3RyaW5nX2xpc3RfaW50ZXJuYWwgKHF1b3RlX2xpc3QgKGxpc3QpLCAiICIpOworCQkgIGVsc2UKKyNlbmRpZgogCQkgIC8qIFRlc3RpbmcgcXVvdGVkX2RvbGxhcl9hdCBtYWtlcyBzdXJlIHRoYXQgIiRAIiBpcwogCQkgICAgIHNwbGl0IGNvcnJlY3RseSB3aGVuICRJRlMgZG9lcyBub3QgY29udGFpbiBhIHNwYWNlLiAqLwogCQkgIHRlbXAgPSBxdW90ZWRfZG9sbGFyX2F0CkBAIC04Mjk3LDcgKzg1MTksNyBAQAogewogICByZWdpc3RlciBXT1JEX0xJU1QgKnZwLCAqbHA7CiAKLSAgaWYgKCF0bGlzdCkKKyAgaWYgKHRsaXN0ID09IDApCiAgICAgcmV0dXJuICgoV09SRF9MSVNUICopTlVMTCk7CiAKICAgaWYgKHN1YnN0X2Fzc2lnbl92YXJsaXN0KQpAQCAtODU0OSwxNCArODc3MSwyMSBAQAogICAgIHsKICAgICAgIG5leHQgPSB0bGlzdC0+bmV4dDsKIAorICAgICAgaWYgKCh0bGlzdC0+d29yZC0+ZmxhZ3MgJiAoV19DT01QQVNTSUdOfFdfQVNTSUdOQVJHKSkgPT0gKFdfQ09NUEFTU0lHTnxXX0FTU0lHTkFSRykpCisgICAgICAgIHsKKy8qaXRyYWNlKCJicmFjZV9leHBhbmRfd29yZF9saXN0OiAlczogV19DT01QQVNTSUdOfFdfQVNTSUdOQVJHIiwgdGxpc3QtPndvcmQtPndvcmQpOyovCisJICBQUkVQRU5EX0xJU1QgKHRsaXN0LCBvdXRwdXRfbGlzdCk7CisJICBjb250aW51ZTsKKyAgICAgICAgfQorICAgICAgICAgIAogICAgICAgLyogT25seSBkbyBicmFjZSBleHBhbnNpb24gaWYgdGhlIHdvcmQgaGFzIGEgYnJhY2UgY2hhcmFjdGVyLiAgSWYKIAkgbm90LCBqdXN0IGFkZCB0aGUgd29yZCBsaXN0IGVsZW1lbnQgdG8gQlJBQ0VTIGFuZCBjb250aW51ZS4gIEluCiAJIHRoZSBjb21tb24gY2FzZSwgYXQgbGVhc3Qgd2hlbiBydW5uaW5nIHNoZWxsIHNjcmlwdHMsIHRoaXMgd2lsbAotCSBkZWdlbmVyYXRlIHRvIGEgYnVuY2ggb2YgY2FsbHMgdG8gYHhzdHJjaHInLCBhbmQgdGhlbiB3aGF0IGlzCisJIGRlZ2VuZXJhdGUgdG8gYSBidW5jaCBvZiBjYWxscyB0byBgbWJzY2hyJywgYW5kIHRoZW4gd2hhdCBpcwogCSBiYXNpY2FsbHkgYSByZXZlcnNhbCBvZiBUTElTVCBpbnRvIEJSQUNFUywgd2hpY2ggaXMgY29ycmVjdGVkCiAJIGJ5IGEgY2FsbCB0byBSRVZFUlNFX0xJU1QgKCkgb24gQlJBQ0VTIHdoZW4gdGhlIGVuZCBvZiBUTElTVAogCSBpcyByZWFjaGVkLiAqLwotICAgICAgaWYgKHhzdHJjaHIgKHRsaXN0LT53b3JkLT53b3JkLCBMQlJBQ0UpKQorICAgICAgaWYgKG1ic2NociAodGxpc3QtPndvcmQtPndvcmQsIExCUkFDRSkpCiAJewogCSAgZXhwYW5zaW9ucyA9IGJyYWNlX2V4cGFuZCAodGxpc3QtPndvcmQtPndvcmQpOwogCmRpZmYgLS1naXQgYS9zdWJzdC5oIGIvc3Vic3QuaAppbmRleCBiMDE0OWNjLi43NjI4OTM5IDEwMDY0NAotLS0gYS9zdWJzdC5oCisrKyBiL3N1YnN0LmgKQEAgLTUyLDYgKzUyLDcgQEAKICNkZWZpbmUgU1hfTk9DVExFU0MJMHgxMAkvKiBkb24ndCBob25vciBDVExFU0MgcXVvdGluZyAqLwogI2RlZmluZSBTWF9OT0VTQ0NUTE5VTAkweDIwCS8qIGRvbid0IGxldCBDVExFU0MgcXVvdGUgQ1RMTlVMICovCiAjZGVmaW5lIFNYX05PTE9OR0pNUAkweDQwCS8qIGRvbid0IGxvbmdqbXAgb24gZmF0YWwgZXJyb3IgKi8KKyNkZWZpbmUgU1hfQVJJVEhTVUIJMHg4MAkvKiBleHRyYWN0aW5nICQoKCAuLi4gKSkgKGN1cnJlbnRseSB1bnVzZWQpICovCiAKIC8qIFJlbW92ZSBiYWNrc2xhc2hlcyB3aGljaCBhcmUgcXVvdGluZyBiYWNrcXVvdGVzIGZyb20gU1RSSU5HLiAgTW9kaWZpZXMKICAgIFNUUklORywgYW5kIHJldHVybnMgYSBwb2ludGVyIHRvIGl0LiAqLwpAQCAtMjY2LDEzICsyNjcsMTUgQEAKIC8qIEZsYWdzIGZvciBza2lwX3RvX2RlbGltICovCiAjZGVmaW5lIFNEX05PSk1QCTB4MDEJLyogZG9uJ3QgbG9uZ2ptcCBvbiBmYXRhbCBlcnJvci4gKi8KICNkZWZpbmUgU0RfSU5WRVJUCTB4MDIJLyogbG9vayBmb3IgY2hhcnMgTk9UIGluIHBhc3NlZCBzZXQgKi8KKyNkZWZpbmUgU0RfTk9RVU9URURFTElNCTB4MDQJLyogZG9uJ3QgbGV0IHNpbmdsZSBvciBkb3VibGUgcXVvdGVzIGFjdCBhcyBkZWxpbWl0ZXJzICovCisjZGVmaW5lIFNEX05PU0tJUENNRAkweDA4CS8qIGRvbid0IHNraXAgb3ZlciAkKCwgPCgsIG9yID4oIGNvbW1hbmQvcHJvY2VzcyBzdWJzdGl0dXRpb24gKi8KIAogZXh0ZXJuIGludCBza2lwX3RvX2RlbGltIF9fUCgoY2hhciAqLCBpbnQsIGNoYXIgKiwgaW50KSk7CiAKICNpZiBkZWZpbmVkIChSRUFETElORSkKIGV4dGVybiBpbnQgY2hhcl9pc19xdW90ZWQgX19QKChjaGFyICosIGludCkpOwogZXh0ZXJuIGludCB1bmNsb3NlZF9wYWlyIF9fUCgoY2hhciAqLCBpbnQsIGNoYXIgKikpOwotZXh0ZXJuIFdPUkRfTElTVCAqc3BsaXRfYXRfZGVsaW1zIF9fUCgoY2hhciAqLCBpbnQsIGNoYXIgKiwgaW50LCBpbnQgKiwgaW50ICopKTsKK2V4dGVybiBXT1JEX0xJU1QgKnNwbGl0X2F0X2RlbGltcyBfX1AoKGNoYXIgKiwgaW50LCBjaGFyICosIGludCwgaW50LCBpbnQgKiwgaW50ICopKTsKICNlbmRpZgogCiAvKiBWYXJpYWJsZXMgdXNlZCB0byBrZWVwIHRyYWNrIG9mIHRoZSBjaGFyYWN0ZXJzIGluIElGUy4gKi8KZGlmZiAtLWdpdCBhL3N1cHBvcnQvU1lNTElOS1MgYi9zdXBwb3J0L1NZTUxJTktTCmluZGV4IDExOWFjYmQuLjA2YmJlZDcgMTAwNjQ0Ci0tLSBhL3N1cHBvcnQvU1lNTElOS1MKKysrIGIvc3VwcG9ydC9TWU1MSU5LUwpAQCAtOSw2ICs5LDcgQEAKIGxpYi9yZWFkbGluZS9hbnNpX3N0ZGxpYi5oCS4uLy4uL2luY2x1ZGUvYW5zaV9zdGRsaWIuaAogbGliL3JlYWRsaW5lL3Bvc2l4ZGlyLmgJCS4uLy4uL2luY2x1ZGUvcG9zaXhkaXIuaAogbGliL3JlYWRsaW5lL3Bvc2l4am1wLmgJCS4uLy4uL2luY2x1ZGUvcG9zaXhqbXAuaAorbGliL3JlYWRsaW5lL3Bvc2l4c2VsZWN0LmgJLi4vLi4vaW5jbHVkZS9wb3NpeHNlbGVjdC5oCiBsaWIvcmVhZGxpbmUvcG9zaXhzdGF0LmgJLi4vLi4vaW5jbHVkZS9wb3NpeHN0YXQuaAogI2xpYi9yZWFkbGluZS9ybHN0ZGMuaAkJLi4vLi4vaW5jbHVkZS9zdGRjLmgKICNsaWIvcmVhZGxpbmUveG1hbGxvYy5jCQkuLi9tYWxsb2MveG1hbGxvYy5jCmRpZmYgLS1naXQgYS9zdXBwb3J0L2Jhc2hidWcuc2ggYi9zdXBwb3J0L2Jhc2hidWcuc2gKaW5kZXggYjAwYTU1Yi4uN2IzNmQ0MCAxMDA2NDQKLS0tIGEvc3VwcG9ydC9iYXNoYnVnLnNoCisrKyBiL3N1cHBvcnQvYmFzaGJ1Zy5zaApAQCAtODQsNyArODQsNyBAQAogQmFzaGJ1ZyB3aWxsIHN0YXJ0IHVwIHlvdXIgZWRpdG9yIChhcyBkZWZpbmVkIGJ5IHRoZSBzaGVsbCdzCiBFRElUT1IgZW52aXJvbm1lbnQgdmFyaWFibGUpIHdpdGggYSBwcmVmb3JtYXR0ZWQgYnVnIHJlcG9ydAogdGVtcGxhdGUgZm9yIHlvdSB0byBmaWxsIGluLiBUaGUgcmVwb3J0IHdpbGwgYmUgbWFpbGVkIHRvIHRoZQotYmFzaCBtYWludGFpbmVycyBieSBkZWZhdWx0LiBTZWUgdGhlIG1hbnVhbCBmb3IgZGV0YWlscy4KK2J1Zy1iYXNoIG1haWxpbmcgbGlzdCBieSBkZWZhdWx0LiBTZWUgdGhlIG1hbnVhbCBmb3IgZGV0YWlscy4KIAogSWYgeW91IGludm9rZSBiYXNoYnVnIGJ5IGFjY2lkZW50LCBqdXN0IHF1aXQgeW91ciBlZGl0b3Igd2l0aG91dAogc2F2aW5nIGFueSBjaGFuZ2VzIHRvIHRoZSB0ZW1wbGF0ZSwgYW5kIG5vIGJ1ZyByZXBvcnQgd2lsbCBiZSBzZW50LgpAQCAtMjU3LDcgKzI1Nyw3IEBACiAJZXhpdAogZmkKIAotZWNobyAkbiAiU2VuZCBidWcgcmVwb3J0PyBbeS9uXSAkYyIKK2VjaG8gJG4gIlNlbmQgYnVnIHJlcG9ydCB0byAke0JVR0FERFJ9PyBbeS9uXSAkYyIKIHJlYWQgYW5zCiBjYXNlICIkYW5zIiBpbgogW05uXSopCWV4aXQgMCA7OwpkaWZmIC0tZ2l0IGEvc3VwcG9ydC9jb25maWcuc3ViIGIvc3VwcG9ydC9jb25maWcuc3ViCmluZGV4IDg2NTljYTMuLmQwNzI2N2UgMTAwNjQ0Ci0tLSBhL3N1cHBvcnQvY29uZmlnLnN1YgorKysgYi9zdXBwb3J0L2NvbmZpZy5zdWIKQEAgLTgwNyw2ICs4MDcsOSBAQAogCW5wMSkKIAkJYmFzaWNfbWFjaGluZT1ucDEtZ291bGQKIAkJOzsKKwluc2UtdGFuZGVtKQorCQliYXNpY19tYWNoaW5lPW5zZS10YW5kZW0KKwkJOzsKIAluc3ItdGFuZGVtKQogCQliYXNpY19tYWNoaW5lPW5zci10YW5kZW0KIAkJOzsKZGlmZiAtLWdpdCBhL3N1cHBvcnQvbWtzaWduYW1lcy5jIGIvc3VwcG9ydC9ta3NpZ25hbWVzLmMKaW5kZXggYTMwODMxMC4uNTYxODg3OSAxMDA2NDQKLS0tIGEvc3VwcG9ydC9ta3NpZ25hbWVzLmMKKysrIGIvc3VwcG9ydC9ta3NpZ25hbWVzLmMKQEAgLTUyLDcgKzUyLDcgQEAKIAogICBmcHJpbnRmIChzdHJlYW0sICIvKiBUaGlzIGZpbGUgd2FzIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBieSAlcy5cbiIsCiAJICAgcHJvZ25hbWUpOwotICBmcHJpbnRmIChzdHJlYW0sICIgICBEbyBub3QgZWRpdC4gIEVkaXQgc3VwcG9ydC9zaWduYW1lcy5jIGluc3RlYWQuICovXG5cbiIpOworICBmcHJpbnRmIChzdHJlYW0sICIgICBEbyBub3QgZWRpdC4gIEVkaXQgc3VwcG9ydC9ta3NpZ25hbWVzLmMgaW5zdGVhZC4gKi9cblxuIik7CiAgIGZwcmludGYgKHN0cmVhbSwKIAkgICAiLyogQSB0cmFuc2xhdGlvbiBsaXN0IHNvIHdlIGNhbiBiZSBwb2xpdGUgdG8gb3VyIHVzZXJzLiAqL1xuIik7CiAjaWYgZGVmaW5lZCAoQ1JPU1NfQ09NUElMSU5HKQpkaWZmIC0tZ2l0IGEvc3VwcG9ydC9zaG9iai1jb25mIGIvc3VwcG9ydC9zaG9iai1jb25mCmluZGV4IGJjYzlkYzcuLjVhNjNlODAgMTAwNzU1Ci0tLSBhL3N1cHBvcnQvc2hvYmotY29uZgorKysgYi9zdXBwb3J0L3Nob2JqLWNvbmYKQEAgLTY0LDcgKzY0LDcgQEAKIAllc2FjCiBkb25lCiAKLWNhc2UgIiR7aG9zdF9vc30tJHtTSE9CSl9DQ30iIGluCitjYXNlICIke2hvc3Rfb3N9LSR7U0hPQkpfQ0N9LSR7aG9zdF92ZW5kb3J9IiBpbgogc3Vub3M0Ki0qZ2NjKikKIAlTSE9CSl9DRkxBR1M9LWZwaWMKIAlTSE9CSl9MRD0vdXNyL2Jpbi9sZApAQCAtMTA4LDggKzEwOCw4IEBACiAJU0hMSUJfTElCVkVSU0lPTj0nJChTSExJQl9MSUJTVUZGKS4kKFNITElCX01BSk9SKScKIAk7OwogCi0jIEFsbCB2ZXJzaW9ucyBvZiBMaW51eCBvciB0aGUgc2VtaS1teXRoaWNhbCBHTlUgSHVyZC4KLWxpbnV4Ki0qfGdudSotKnxrKmJzZCotZ251LSopCisjIEFsbCB2ZXJzaW9ucyBvZiBMaW51eCAoaW5jbHVkaW5nIEdlbnRvby9GcmVlQlNEKSBvciB0aGUgc2VtaS1teXRoaWNhbCBHTlUgSHVyZC4KK2xpbnV4Ki0qfGdudSotKnxrKmJzZCotZ251LSp8ZnJlZWJzZCotZ2VudG9vKQogCVNIT0JKX0NGTEFHUz0tZlBJQwogCVNIT0JKX0xEPScke0NDfScKIAlTSE9CSl9MREZMQUdTPSctc2hhcmVkIC1XbCwtc29uYW1lLCRAJwpAQCAtMTI4LDcgKzEyOCw3IEBACiAJOzsKIAogIyBGcmVlQlNELTMueCBFTEYKLWZyZWVic2RbMy05XSp8ZnJlZWJzZGVsZlszLTldKnxmcmVlYnNkYW91dFszLTldKnxkcmFnb25mbHkqKQorZnJlZWJzZDMqfGZyZWVic2Rhb3V0KikKIAlTSE9CSl9DRkxBR1M9LWZQSUMKIAlTSE9CSl9MRD0nJHtDQ30nCiAKQEAgLTE0NSw2ICsxNDUsMTcgQEAKIAlmaQogCTs7CiAKKyMgRnJlZUJTRC00LnggYW5kIGxhdGVyIGhhdmUgb25seSBFTEYKK2ZyZWVic2RbNC05XSp8ZnJlZWJzZGVsZip8ZHJhZ29uZmx5KikKKwlTSE9CSl9DRkxBR1M9LWZQSUMKKwlTSE9CSl9MRD0nJHtDQ30nCisKKwlTSE9CSl9MREZMQUdTPSctc2hhcmVkIC1XbCwtc29uYW1lLCRAJworCVNITElCX1hMREZMQUdTPSctV2wsLXJwYXRoLCQobGliZGlyKScKKworCVNITElCX0xJQlZFUlNJT049JyQoU0hMSUJfTElCU1VGRikuJChTSExJQl9NQUpPUiknCisJOzsKKwogIyBEYXJ3aW4vTWFjT1MgWAogZGFyd2luWzg5XSp8ZGFyd2luMTAqKQogCVNIT0JKX1NUQVRVUz1zdXBwb3J0ZWQKZGlmZiAtLWdpdCBhL3Rlc3QuYyBiL3Rlc3QuYwppbmRleCBhZDYzNGY5Li4xODA5NDBjIDEwMDY0NAotLS0gYS90ZXN0LmMKKysrIGIvdGVzdC5jCkBAIC02NSw4ICs2NSw5IEBACiAjZW5kaWYKIAogI2lmICFkZWZpbmVkIChTVFJFUSkKLSMgIGRlZmluZSBTVFJFUShhLCBiKSAoKGEpWzBdID09IChiKVswXSAmJiBzdHJjbXAgKGEsIGIpID09IDApCisjICBkZWZpbmUgU1RSRVEoYSwgYikgKChhKVswXSA9PSAoYilbMF0gJiYgc3RyY21wICgoYSksIChiKSkgPT0gMCkKICNlbmRpZiAvKiAhU1RSRVEgKi8KKyNkZWZpbmUgU1RSQ09MTEVRKGEsIGIpICgoYSlbMF0gPT0gKGIpWzBdICYmIHN0cmNvbGwgKChhKSwgKGIpKSA9PSAwKQogCiAjaWYgIWRlZmluZWQgKFJfT0spCiAjZGVmaW5lIFJfT0sgNApAQCAtMzc1LDEyICszNzYsMTYgQEAKIAogICBpZiAob3BbMF0gPT0gJz0nICYmIChvcFsxXSA9PSAnXDAnIHx8IChvcFsxXSA9PSAnPScgJiYgb3BbMl0gPT0gJ1wwJykpKQogICAgIHJldHVybiAocGF0bWF0Y2ggPyBwYXRjb21wIChhcmcxLCBhcmcyLCBFUSkgOiBTVFJFUSAoYXJnMSwgYXJnMikpOwotCiAgIGVsc2UgaWYgKChvcFswXSA9PSAnPicgfHwgb3BbMF0gPT0gJzwnKSAmJiBvcFsxXSA9PSAnXDAnKQotICAgIHJldHVybiAoKG9wWzBdID09ICc+JykgPyAoc3RyY21wIChhcmcxLCBhcmcyKSA+IDApIDogKHN0cmNtcCAoYXJnMSwgYXJnMikgPCAwKSk7Ci0KKyAgICB7CisgICAgICBpZiAoc2hlbGxfY29tcGF0aWJpbGl0eV9sZXZlbCA+IDQwICYmIGZsYWdzICYgVEVTVF9MT0NBTEUpCisJcmV0dXJuICgob3BbMF0gPT0gJz4nKSA/IChzdHJjb2xsIChhcmcxLCBhcmcyKSA+IDApIDogKHN0cmNvbGwgKGFyZzEsIGFyZzIpIDwgMCkpOworICAgICAgZWxzZQorCXJldHVybiAoKG9wWzBdID09ICc+JykgPyAoc3RyY21wIChhcmcxLCBhcmcyKSA+IDApIDogKHN0cmNtcCAoYXJnMSwgYXJnMikgPCAwKSk7CisgICAgfQogICBlbHNlIGlmIChvcFswXSA9PSAnIScgJiYgb3BbMV0gPT0gJz0nICYmIG9wWzJdID09ICdcMCcpCiAgICAgcmV0dXJuIChwYXRtYXRjaCA/IHBhdGNvbXAgKGFyZzEsIGFyZzIsIE5FKSA6IChTVFJFUSAoYXJnMSwgYXJnMikgPT0gMCkpOworICAgIAogCiAgIGVsc2UgaWYgKG9wWzJdID09ICd0JykKICAgICB7CmRpZmYgLS1naXQgYS90ZXN0LmggYi90ZXN0LmgKaW5kZXggOTE4OGI1Yi4uNjI2ZWRjNCAxMDA2NDQKLS0tIGEvdGVzdC5oCisrKyBiL3Rlc3QuaApAQCAtMjYsNiArMjYsNyBAQAogLyogVmFsdWVzIGZvciB0aGUgZmxhZ3MgYXJndW1lbnQgdG8gYmluYXJ5X3Rlc3QgKi8KICNkZWZpbmUgVEVTVF9QQVRNQVRDSAkweDAxCiAjZGVmaW5lIFRFU1RfQVJJVEhFWFAJMHgwMgorI2RlZmluZSBURVNUX0xPQ0FMRQkweDA0CiAKIGV4dGVybiBpbnQgdGVzdF91bm9wIF9fUCgoY2hhciAqKSk7CiBleHRlcm4gaW50IHRlc3RfYmlub3AgX19QKChjaGFyICopKTsKZGlmZiAtLWdpdCBhL3Rlc3RzL2FsaWFzLnJpZ2h0IGIvdGVzdHMvYWxpYXMucmlnaHQKaW5kZXggNTMxMTFiZS4uYTM3MDgwYyAxMDA2NDQKLS0tIGEvdGVzdHMvYWxpYXMucmlnaHQKKysrIGIvdGVzdHMvYWxpYXMucmlnaHQKQEAgLTIsMyArMiwxMSBAQAogYWxpYXM6IDAKIC4vYWxpYXMudGVzdHM6IGxpbmUgMjU6IHFmb286IGNvbW1hbmQgbm90IGZvdW5kCiBxdXV4CitiYXIKK3ZhbHVlCitiYXIKK3ZhbHVlCitPSworT0sKK09LCitPSwpkaWZmIC0tZ2l0IGEvdGVzdHMvYWxpYXMudGVzdHMgYi90ZXN0cy9hbGlhcy50ZXN0cwppbmRleCA5Y2ZlYzE2Li5hOTdkNWZmIDEwMDY0NAotLS0gYS90ZXN0cy9hbGlhcy50ZXN0cworKysgYi90ZXN0cy9hbGlhcy50ZXN0cwpAQCAtMzUsMyArMzUsNSBAQAogZm9vIGJhcgogCiB1bmFsaWFzIGZvbyBiYXIgYmF6CisKKyR7VEhJU19TSH0gLi9hbGlhczEuc3ViCmRpZmYgLS1naXQgYS90ZXN0cy9hcnJheS5yaWdodCBiL3Rlc3RzL2FycmF5LnJpZ2h0CmluZGV4IGY5YzdlZWUuLmZkYzA3OTMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2FycmF5LnJpZ2h0CisrKyBiL3Rlc3RzL2FycmF5LnJpZ2h0CkBAIC0yNSwxMyArMjUsMTMgQEAKIGhlbGxvIHdvcmxkCiAxMQogMwotYmRlZiBoZWxsbyB3b3JsZCB0ZXN0IGV4cHJlc3Npb24KLS4vYXJyYXkudGVzdHM6IGxpbmUgNzQ6IHJlYWRvbmx5OiBgYVs1XSc6IG5vdCBhIHZhbGlkIGlkZW50aWZpZXIKLWRlY2xhcmUgLWFyIGE9JyhbMV09IiIgWzJdPSJiZGVmIiBbNV09ImhlbGxvIHdvcmxkIiBbNl09InRlc3QgZXhwcmVzc2lvbiIpJworYmRlZiBoZWxsbyB3b3JsZCB0ZXN0IGV4cHJlc3Npb24gdGVzdCAyCisuL2FycmF5LnRlc3RzOiBsaW5lIDc2OiByZWFkb25seTogYGFbNV0nOiBub3QgYSB2YWxpZCBpZGVudGlmaWVyCitkZWNsYXJlIC1hciBhPScoWzFdPSIiIFsyXT0iYmRlZiIgWzVdPSJoZWxsbyB3b3JsZCIgWzZdPSJ0ZXN0IGV4cHJlc3Npb24iIFsxNV09InRlc3QgMiIpJwogZGVjbGFyZSAtYXIgYz0nKCknCi1kZWNsYXJlIC1hciBhPScoWzFdPSIiIFsyXT0iYmRlZiIgWzVdPSJoZWxsbyB3b3JsZCIgWzZdPSJ0ZXN0IGV4cHJlc3Npb24iKScKK2RlY2xhcmUgLWFyIGE9JyhbMV09IiIgWzJdPSJiZGVmIiBbNV09ImhlbGxvIHdvcmxkIiBbNl09InRlc3QgZXhwcmVzc2lvbiIgWzE1XT0idGVzdCAyIiknCiBkZWNsYXJlIC1hciBjPScoKScKLXJlYWRvbmx5IC1hIGE9JyhbMV09IiIgWzJdPSJiZGVmIiBbNV09ImhlbGxvIHdvcmxkIiBbNl09InRlc3QgZXhwcmVzc2lvbiIpJworcmVhZG9ubHkgLWEgYT0nKFsxXT0iIiBbMl09ImJkZWYiIFs1XT0iaGVsbG8gd29ybGQiIFs2XT0idGVzdCBleHByZXNzaW9uIiBbMTVdPSJ0ZXN0IDIiKScKIHJlYWRvbmx5IC1hIGM9JygpJwogYSB0ZXN0CiBkZWNsYXJlIC1hIEJBU0hfQVJHQz0nKCknCkBAIC00MCwzNiArNDAsMzYgQEAKIGRlY2xhcmUgLWEgQkFTSF9TT1VSQ0U9JyhbMF09Ii4vYXJyYXkudGVzdHMiKScKIGRlY2xhcmUgLWEgRElSU1RBQ0s9JygpJwogZGVjbGFyZSAtYSBGVU5DTkFNRT0nKFswXT0ibWFpbiIpJwotZGVjbGFyZSAtYXIgYT0nKFsxXT0iIiBbMl09ImJkZWYiIFs1XT0iaGVsbG8gd29ybGQiIFs2XT0idGVzdCBleHByZXNzaW9uIiknCitkZWNsYXJlIC1hciBhPScoWzFdPSIiIFsyXT0iYmRlZiIgWzVdPSJoZWxsbyB3b3JsZCIgWzZdPSJ0ZXN0IGV4cHJlc3Npb24iIFsxNV09InRlc3QgMiIpJwogZGVjbGFyZSAtYSBiPScoWzBdPSJ0aGlzIiBbMV09ImlzIiBbMl09ImEiIFszXT0idGVzdCIgWzRdPSIiIFs1XT0iL2V0Yy9wYXNzd2QiKScKIGRlY2xhcmUgLWFyIGM9JygpJwogZGVjbGFyZSAtYSBkPScoWzFdPSIiIFsyXT0iYmRlZiIgWzVdPSJoZWxsbyB3b3JsZCIgWzZdPSJ0ZXN0IiBbOV09Im5pbnRoIGVsZW1lbnQiKScKIGRlY2xhcmUgLWEgZT0nKFswXT0idGVzdCIpJwogZGVjbGFyZSAtYSBmPScoWzBdPSIiIFsxXT0iYmRlZiIgWzJdPSJoZWxsbyB3b3JsZCIgWzNdPSJ0ZXN0IiBbNF09Im5pbnRoIGVsZW1lbnQiKScKLS4vYXJyYXkudGVzdHM6IGxpbmUgOTg6IGE6IHJlYWRvbmx5IHZhcmlhYmxlCi0uL2FycmF5LnRlc3RzOiBsaW5lIDEwMDogYltdOiBiYWQgYXJyYXkgc3Vic2NyaXB0Ci0uL2FycmF5LnRlc3RzOiBsaW5lIDEwMTogYlsqXTogYmFkIGFycmF5IHN1YnNjcmlwdAotLi9hcnJheS50ZXN0czogbGluZSAxMDI6ICR7YlsgICBdfTogYmFkIHN1YnN0aXR1dGlvbgotLi9hcnJheS50ZXN0czogbGluZSAxMDQ6IGNbLTJdOiBiYWQgYXJyYXkgc3Vic2NyaXB0Ci0uL2FycmF5LnRlc3RzOiBsaW5lIDEwNTogYzogYmFkIGFycmF5IHN1YnNjcmlwdAorLi9hcnJheS50ZXN0czogbGluZSAxMDA6IGE6IHJlYWRvbmx5IHZhcmlhYmxlCisuL2FycmF5LnRlc3RzOiBsaW5lIDEwMjogYltdOiBiYWQgYXJyYXkgc3Vic2NyaXB0CisuL2FycmF5LnRlc3RzOiBsaW5lIDEwMzogYlsqXTogYmFkIGFycmF5IHN1YnNjcmlwdAorLi9hcnJheS50ZXN0czogbGluZSAxMDQ6ICR7YlsgICBdfTogYmFkIHN1YnN0aXR1dGlvbgorLi9hcnJheS50ZXN0czogbGluZSAxMDY6IGNbLTJdOiBiYWQgYXJyYXkgc3Vic2NyaXB0CisuL2FycmF5LnRlc3RzOiBsaW5lIDEwNzogYzogYmFkIGFycmF5IHN1YnNjcmlwdAogCi0uL2FycmF5LnRlc3RzOiBsaW5lIDEwNzogZFs3XTogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlcgotLi9hcnJheS50ZXN0czogbGluZSAxMDk6IFtdPWFiY2RlOiBiYWQgYXJyYXkgc3Vic2NyaXB0Ci0uL2FycmF5LnRlc3RzOiBsaW5lIDEwOTogWypdPWxhc3Q6IGNhbm5vdCBhc3NpZ24gdG8gbm9uLW51bWVyaWMgaW5kZXgKLS4vYXJyYXkudGVzdHM6IGxpbmUgMTA5OiBbLTY1XT1uZWdhdGl2ZTogYmFkIGFycmF5IHN1YnNjcmlwdAorLi9hcnJheS50ZXN0czogbGluZSAxMDk6IGRbN106IGNhbm5vdCBhc3NpZ24gbGlzdCB0byBhcnJheSBtZW1iZXIKKy4vYXJyYXkudGVzdHM6IGxpbmUgMTExOiBbXT1hYmNkZTogYmFkIGFycmF5IHN1YnNjcmlwdAorLi9hcnJheS50ZXN0czogbGluZSAxMTE6IFsqXT1sYXN0OiBjYW5ub3QgYXNzaWduIHRvIG5vbi1udW1lcmljIGluZGV4CisuL2FycmF5LnRlc3RzOiBsaW5lIDExMTogWy02NV09bmVnYXRpdmU6IGJhZCBhcnJheSBzdWJzY3JpcHQKIGRlY2xhcmUgLWEgQkFTSF9BUkdDPScoKScKIGRlY2xhcmUgLWEgQkFTSF9BUkdWPScoKScKIGRlY2xhcmUgLWEgQkFTSF9MSU5FTk89JyhbMF09IjAiKScKIGRlY2xhcmUgLWEgQkFTSF9TT1VSQ0U9JyhbMF09Ii4vYXJyYXkudGVzdHMiKScKIGRlY2xhcmUgLWEgRElSU1RBQ0s9JygpJwogZGVjbGFyZSAtYSBGVU5DTkFNRT0nKFswXT0ibWFpbiIpJwotZGVjbGFyZSAtYXIgYT0nKFsxXT0iIiBbMl09ImJkZWYiIFs1XT0iaGVsbG8gd29ybGQiIFs2XT0idGVzdCBleHByZXNzaW9uIiknCitkZWNsYXJlIC1hciBhPScoWzFdPSIiIFsyXT0iYmRlZiIgWzVdPSJoZWxsbyB3b3JsZCIgWzZdPSJ0ZXN0IGV4cHJlc3Npb24iIFsxNV09InRlc3QgMiIpJwogZGVjbGFyZSAtYSBiPScoWzBdPSJ0aGlzIiBbMV09ImlzIiBbMl09ImEiIFszXT0idGVzdCIgWzRdPSIiIFs1XT0iL2V0Yy9wYXNzd2QiKScKIGRlY2xhcmUgLWFyIGM9JygpJwogZGVjbGFyZSAtYSBkPScoWzFdPSJ0ZXN0IHRlc3QiKScKIGRlY2xhcmUgLWEgZj0nKFswXT0iIiBbMV09ImJkZWYiIFsyXT0iaGVsbG8gd29ybGQiIFszXT0idGVzdCIgWzRdPSJuaW50aCBlbGVtZW50IiknCi0uL2FycmF5LnRlc3RzOiBsaW5lIDExNzogdW5zZXQ6IHBzMTogbm90IGFuIGFycmF5IHZhcmlhYmxlCi0uL2FycmF5LnRlc3RzOiBsaW5lIDEyMTogZGVjbGFyZTogYzogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5CisuL2FycmF5LnRlc3RzOiBsaW5lIDExOTogdW5zZXQ6IHBzMTogbm90IGFuIGFycmF5IHZhcmlhYmxlCisuL2FycmF5LnRlc3RzOiBsaW5lIDEyMzogZGVjbGFyZTogYzogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5CiB0aGlzIG9mCiB0aGlzIGlzIGEgdGVzdCBvZiByZWFkIHVzaW5nIGFycmF5cwogdGhpcyB0ZXN0CkBAIC04MCw3ICs4MCw3IEBACiBkZWNsYXJlIC1hIEJBU0hfU09VUkNFPScoWzBdPSIuL2FycmF5LnRlc3RzIiknCiBkZWNsYXJlIC1hIERJUlNUQUNLPScoKScKIGRlY2xhcmUgLWEgRlVOQ05BTUU9JyhbMF09Im1haW4iKScKLWRlY2xhcmUgLWFyIGE9JyhbMV09IiIgWzJdPSJiZGVmIiBbNV09ImhlbGxvIHdvcmxkIiBbNl09InRlc3QgZXhwcmVzc2lvbiIpJworZGVjbGFyZSAtYXIgYT0nKFsxXT0iIiBbMl09ImJkZWYiIFs1XT0iaGVsbG8gd29ybGQiIFs2XT0idGVzdCBleHByZXNzaW9uIiBbMTVdPSJ0ZXN0IDIiKScKIGRlY2xhcmUgLWEgYj0nKFswXT0idGhpcyIgWzFdPSJpcyIgWzJdPSJhIiBbM109InRlc3QiIFs0XT0iIiBbNV09Ii9ldGMvcGFzc3dkIiknCiBkZWNsYXJlIC1hciBjPScoKScKIGRlY2xhcmUgLWEgZD0nKFsxXT0idGVzdCB0ZXN0IiknCkBAIC0xMjcsNyArMTI3LDcgQEAKIDYgNyA5IDUKIGxlbmd0aCA9IDMKIHZhbHVlID0gbmV3MSBuZXcyIG5ldzMKLS4vYXJyYXkudGVzdHM6IGxpbmUgMjM3OiBuYXJyYXk6IHVuYm91bmQgdmFyaWFibGUKKy4vYXJyYXkudGVzdHM6IGxpbmUgMjM5OiBuYXJyYXk6IHVuYm91bmQgdmFyaWFibGUKIC4vYXJyYXkxLnN1YjogbGluZSAxOiBzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAoJwogLi9hcnJheTEuc3ViOiBsaW5lIDE6IGBwcmludGYgIiVzXG4iIC1hIGE9KGEgJ2IgIGMnKScKIC4vYXJyYXkyLnN1YjogbGluZSAxOiBzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAoJwpAQCAtMTUyLDEwICsxNTIsMTAgQEAKIDEyIDE0IDE2IDE4IDIwCiA0NDE0NzU4OTk5MjAyCiBhYWEgYmJiCi0uL2FycmF5LnRlc3RzOiBsaW5lIDI4Nzogc3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgPD4nCi0uL2FycmF5LnRlc3RzOiBsaW5lIDI4NzogYG1ldGFzPSggPD4gPCA+ICEgKScKLS4vYXJyYXkudGVzdHM6IGxpbmUgMjg4OiBzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGA8PicKLS4vYXJyYXkudGVzdHM6IGxpbmUgMjg4OiBgbWV0YXM9KCBbMV09PD4gWzJdPTwgWzNdPT4gWzRdPSEgKScKKy4vYXJyYXkudGVzdHM6IGxpbmUgMjg5OiBzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGA8PicKKy4vYXJyYXkudGVzdHM6IGxpbmUgMjg5OiBgbWV0YXM9KCA8PiA8ID4gISApJworLi9hcnJheS50ZXN0czogbGluZSAyOTA6IHN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYDw+JworLi9hcnJheS50ZXN0czogbGluZSAyOTA6IGBtZXRhcz0oIFsxXT08PiBbMl09PCBbM109PiBbNF09ISApJwogYWJjIDMKIGNhc2UgNAogYWJjIGNhc2UgaWYgdGhlbiBlbHNlIDUKZGlmZiAtLWdpdCBhL3Rlc3RzL2FycmF5LnRlc3RzIGIvdGVzdHMvYXJyYXkudGVzdHMKaW5kZXggMWFjNjE0Yi4uNDM1YWMxNSAxMDA2NDQKLS0tIGEvdGVzdHMvYXJyYXkudGVzdHMKKysrIGIvdGVzdHMvYXJyYXkudGVzdHMKQEAgLTY5LDYgKzY5LDggQEAKIGVjaG8gJHsjYVtAXX0KIAogYVs0KzUvMl09InRlc3QgZXhwcmVzc2lvbiIKK2RlY2xhcmUgYVsiNyArIDgiXT0idGVzdCAyIgorYVs3ICsgOF09InRlc3QgMiIKIGVjaG8gJHthW0BdfQogCiByZWFkb25seSBhWzVdCmRpZmYgLS1naXQgYS90ZXN0cy9hc3NvYy5yaWdodCBiL3Rlc3RzL2Fzc29jLnJpZ2h0CmluZGV4IGVjMWQ0NmQuLjg2MTU1MTkgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2Fzc29jLnJpZ2h0CisrKyBiL3Rlc3RzL2Fzc29jLnJpZ2h0CkBAIC02LDE4ICs2LDE4IEBACiBkZWNsYXJlIC1BIGZsdWZmPScoW2Jhcl09InR3byIgW2Zvb109Im9uZSIgKScKIGRlY2xhcmUgLUEgZmx1ZmY9JyhbYmFyXT0idHdvIiBbZm9vXT0ib25lIiApJwogZGVjbGFyZSAtQSBmbHVmZj0nKFtiYXJdPSJ0d28iICknCi1kZWNsYXJlIC1BIGZsdWZmPScoW2Jhcl09Im5ld3ZhbCIgKScKLS4vYXNzb2MudGVzdHM6IGxpbmUgMjQ6IGNoYWZmOiBmb3VyOiBtdXN0IHVzZSBzdWJzY3JpcHQgd2hlbiBhc3NpZ25pbmcgYXNzb2NpYXRpdmUgYXJyYXkKK2RlY2xhcmUgLUEgZmx1ZmY9JyhbYmFyXT0ibmV3dmFsIiBbcXV4XT0iYXNzaWduZWQiICknCisuL2Fzc29jLnRlc3RzOiBsaW5lIDI2OiBjaGFmZjogZm91cjogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5CiBkZWNsYXJlIC1BIEJBU0hfQUxJQVNFUz0nKCknCiBkZWNsYXJlIC1BIEJBU0hfQ01EUz0nKCknCiBkZWNsYXJlIC1BaSBjaGFmZj0nKFtvbmVdPSIxMCIgW3plcm9dPSI1IiApJwotZGVjbGFyZSAtQXIgd2FzdGU9JyhbdmVyc2lvbl09IjQuMC1kZXZlbCIgW3NvdXJjZV09Ii4vYXNzb2MudGVzdHMiIFtsaW5lbm9dPSIyNiIgW3BpZF09IjQyMTM0IiApJworZGVjbGFyZSAtQXIgd2FzdGU9JyhbdmVyc2lvbl09IjQuMC1kZXZlbCIgW3NvdXJjZV09Ii4vYXNzb2MudGVzdHMiIFtsaW5lbm9dPSIyOCIgW3BpZF09IjQyMTM0IiApJwogZGVjbGFyZSAtQSB3aGVhdD0nKFtvbmVdPSJhIiBbemVyb109IjAiIFt0d29dPSJiIiBbdGhyZWVdPSJjIiApJwotZGVjbGFyZSAtQSBjaGFmZj0nKFtvbmVdPSIxMCIgW2hlbGxvIHdvcmxkXT0iZmxpcCIgW3plcm9dPSI1IiApJwotLi9hc3NvYy50ZXN0czogbGluZSAzNjogdW5zZXQ6IHdhc3RlOiBjYW5ub3QgdW5zZXQ6IHJlYWRvbmx5IHZhcmlhYmxlCi0uL2Fzc29jLnRlc3RzOiBsaW5lIDM3OiBjaGFmZlsqXTogYmFkIGFycmF5IHN1YnNjcmlwdAotLi9hc3NvYy50ZXN0czogbGluZSAzODogWypdPTEyOiBpbnZhbGlkIGFzc29jaWF0aXZlIGFycmF5IGtleQotZGVjbGFyZSAtQSBjaGFmZj0nKFtvbmVdPSJhIiBbaGVsbG8gd29ybGRdPSJmbGlwIiApJworZGVjbGFyZSAtQSBjaGFmZj0nKFtvbmVdPSIxMCIgWyJoZWxsbyB3b3JsZCJdPSJmbGlwIiBbemVyb109IjUiICknCisuL2Fzc29jLnRlc3RzOiBsaW5lIDM4OiB1bnNldDogd2FzdGU6IGNhbm5vdCB1bnNldDogcmVhZG9ubHkgdmFyaWFibGUKKy4vYXNzb2MudGVzdHM6IGxpbmUgMzk6IGNoYWZmWypdOiBiYWQgYXJyYXkgc3Vic2NyaXB0CisuL2Fzc29jLnRlc3RzOiBsaW5lIDQwOiBbKl09MTI6IGludmFsaWQgYXNzb2NpYXRpdmUgYXJyYXkga2V5CitkZWNsYXJlIC1BIGNoYWZmPScoW29uZV09ImEiIFsiaGVsbG8gd29ybGQiXT0iZmxpcCIgKScKIGZsaXAKIGFyZ3ZbMV0gPSA8YT4KIGFyZ3ZbMl0gPSA8ZmxpcD4KQEAgLTMxLDE0ICszMSwxNCBAQAogYXJndlszXSA9IDxtdWx0aXBsZT4KIGFyZ3ZbNF0gPSA8d29yZHM+CiBhcmd2WzFdID0gPGEgZmxpcCBtdWx0aXBsZSB3b3Jkcz4KLS4vYXNzb2MudGVzdHM6IGxpbmUgNTU6IGRlY2xhcmU6IGNoYWZmOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkKLS4vYXNzb2MudGVzdHM6IGxpbmUgNTc6IGNoYWZmWypdOiBiYWQgYXJyYXkgc3Vic2NyaXB0Ci0uL2Fzc29jLnRlc3RzOiBsaW5lIDU4OiBbKl09MTI6IGludmFsaWQgYXNzb2NpYXRpdmUgYXJyYXkga2V5Ci1kZWNsYXJlIC1BIHdoZWF0PScoW3NpeF09IjYiIFtmb28gYmFyXT0icXV4IHFpeCIgKScKKy4vYXNzb2MudGVzdHM6IGxpbmUgNTc6IGRlY2xhcmU6IGNoYWZmOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkKKy4vYXNzb2MudGVzdHM6IGxpbmUgNTk6IGNoYWZmWypdOiBiYWQgYXJyYXkgc3Vic2NyaXB0CisuL2Fzc29jLnRlc3RzOiBsaW5lIDYwOiBbKl09MTI6IGludmFsaWQgYXNzb2NpYXRpdmUgYXJyYXkga2V5CitkZWNsYXJlIC1BIHdoZWF0PScoW3NpeF09IjYiIFsiZm9vIGJhciJdPSJxdXggcWl4IiApJwogYXJndlsxXSA9IDxxdXg+CiBhcmd2WzJdID0gPHFpeD4KIGFyZ3ZbMV0gPSA8cXV4IHFpeD4KLWRlY2xhcmUgLUEgd2hlYXQ9Jyhbc2l4XT0iNiIgW2ZvbyBiYXJdPSJxdXggcWl4IiApJworZGVjbGFyZSAtQSB3aGVhdD0nKFtzaXhdPSI2IiBbImZvbyBiYXIiXT0icXV4IHFpeCIgKScKIGFyZ3ZbMV0gPSA8Mj4KIGFyZ3ZbMV0gPSA8Nz4KIGFyZ3ZbMV0gPSA8cXV4PgpAQCAtNzUsNiArNzUsNyBAQAogXHVzci9sb2NhbC9iaW4gLiBcYmluIFxzYmluIFx1c3Ivc2JpbiBcdXNyL2JpbiBcYmluIFx1c3IvdWNiCiBcdXNyXGxvY2FsXGJpbiAuIFxiaW4gXHNiaW4gXHVzclxzYmluIFx1c3JcYmluIFxiaW4gXHVzclx1Y2IKIFx1c3JcbG9jYWxcYmluIC4gXGJpbiBcc2JpbiBcdXNyXHNiaW4gXHVzclxiaW4gXGJpbiBcdXNyXHVjYgorKFthXT0xKQogCiBxdXggZm9vCiAvdXNyL2xvY2FsL2Jpbi9xdXggL3Vzci9zYmluL2ZvbwpAQCAtMTAyLDcgKzEwMyw3IEBACiBvdXRzaWRlOiBvdXRzaWRlCiBkZWNsYXJlIC1BIEJBU0hfQUxJQVNFUz0nKCknCiBkZWNsYXJlIC1BIEJBU0hfQ01EUz0nKCknCi1kZWNsYXJlIC1BIGFmb289Jyhbc2l4XT0ic2l4IiBbZm9vIGJhcl09ImZvbyBxdXV4IiApJworZGVjbGFyZSAtQSBhZm9vPScoW3NpeF09InNpeCIgWyJmb28gYmFyIl09ImZvbyBxdXV4IiApJwogYXJndlsxXSA9IDxpbnNpZGU6PgogYXJndlsyXSA9IDxzaXg+CiBhcmd2WzNdID0gPGZvbyBxdXV4PgpAQCAtMTMyLDMgKzEzMyw1NyBAQAogYXJndlsyXSA9IDw+CiBhcmd2WzNdID0gPEJBUlE+CiBhcmd2WzRdID0gPD4KK2FiYworZGVmCitkZWYKKy4vYXNzb2M1LnN1YjogbGluZSAxMzogZGVjbGFyZTogYG15YXJyYXlbZm9vW2Jhcl09YmxlaCc6IG5vdCBhIHZhbGlkIGlkZW50aWZpZXIKK2FiYyBkZWYgYmxlaAorbXlhcnJheT0oWyJhXWEiXT0iYWJjIiBbIl0iXT0iZGVmIiBbImFdPXRlc3QxOyNhIl09IjEyMyIgW2Zvb109ImJsZWgiICkKKworMTIzCitteWFycmF5PShbImFdYSJdPSJhYmMiIFsiYV09dGVzdDI7I2EiXT0iZGVmIiBbIl0iXT0iZGVmIiBbImFdPXRlc3QxOyNhIl09IjEyMyIgW2Zvb109ImJsZWgiICkKK2JhciJiaWUKK2RvbGwKK2RlY2xhcmUgLUEgZm9vPScoWyJiYXJcImJpZSJdPSJkb2xsIiApJworYmFyImJpZQorZG9sbAorZGVjbGFyZSAtQSBmb289JyhbImJhclwiYmllIl09ImRvbGwiICknCitiYXIiYmllCitkb2xsCitkZWNsYXJlIC1BIGZvbz0nKFsiYmFyXCJiaWUiXT0iZG9sbCIgKScKK2JhciJiaWUKK2RvbGwKK2RlY2xhcmUgLUEgZm9vPScoWyJiYXJcImJpZSJdPSJkb2xsIiApJworYmFyImJpZQorZG9sbAorZGVjbGFyZSAtQSBmb289JyhbImJhclwiYmllIl09ImRvbGwiICknCitiYXInYmllCitkb2xsCitkZWNsYXJlIC1BIGZvbz0nKFsiYmFyJ1wnJ2JpZSJdPSJkb2xsIiApJworYmFyJ2JpZQorZG9sbAorZGVjbGFyZSAtQSBmb289JyhbImJhcidcJydiaWUiXT0iZG9sbCIgKScKK2JhcidiaWUKK2RvbGwKK2RlY2xhcmUgLUEgZm9vPScoWyJiYXInXCcnYmllIl09ImRvbGwiICknCitiYXInYmllCitkb2xsCitkZWNsYXJlIC1BIGZvbz0nKFsiYmFyJ1wnJ2JpZSJdPSJkb2xsIiApJworYmFyJ2JpZQorZG9sbAorZGVjbGFyZSAtQSBmb289JyhbImJhcidcJydiaWUiXT0iZG9sbCIgKScKK2JhciRiaWUKK2RvbGwKK2RlY2xhcmUgLUEgZm9vPScoWyJiYXJcJGJpZSJdPSJkb2xsIiApJworYmFyW2JpZQorZG9sbAorZGVjbGFyZSAtQSBmb289JyhbImJhcltiaWUiXT0iZG9sbCIgKScKK2JhcmBiaWUKK2RvbGwKK2RlY2xhcmUgLUEgZm9vPScoWyJiYXJcYGJpZSJdPSJkb2xsIiApJworYmFyXF1iaWUKK2RvbGwKK2RlY2xhcmUgLUEgZm9vPScoWyJiYXJcXF1iaWUiXT0iZG9sbCIgKScKK2JhciR7Zm9vfWJpZQorZG9sbAorZGVjbGFyZSAtQSBmb289JyhbImJhclwke2Zvb31iaWUiXT0iZG9sbCIgKScKZGlmZiAtLWdpdCBhL3Rlc3RzL2Fzc29jLnRlc3RzIGIvdGVzdHMvYXNzb2MudGVzdHMKaW5kZXggNzZkODZmZS4uOGI2ZmQ1NSAxMDA2NDQKLS0tIGEvdGVzdHMvYXNzb2MudGVzdHMKKysrIGIvdGVzdHMvYXNzb2MudGVzdHMKQEAgLTEyLDYgKzEyLDggQEAKIGRlY2xhcmUgLXAgZmx1ZmYKIAogZmx1ZmZbYmFyXT1uZXd2YWwKK2RlY2xhcmUgZmx1ZmZbcXV4XT1hc3NpZ25lZAorCiBkZWNsYXJlIC1wIGZsdWZmCiAKIHVuc2V0IGZsdWZmCkBAIC0xNjQsNiArMTY2LDEzIEBACiB6ZWNobyAiJHt4cGF0aFtAXS8vXC8vXFx9IgogemVjaG8gIiR7eHBhdGhbQF0vL1tcL10vXFx9IgogCisjIHRlc3QgYXNzaWdubWVudCB0byBrZXkgIjAiCit1bnNldCBUCitkZWNsYXJlIC1BIFQKK1Q9JyhbYV09MSknCitlY2hvICIke1RbQF19IgordW5zZXQgVAorCiAke1RISVNfU0h9IC4vYXNzb2MxLnN1YgogCiAke1RISVNfU0h9IC4vYXNzb2MyLnN1YgpAQCAtMTcxLDMgKzE4MCw3IEBACiAke1RISVNfU0h9IC4vYXNzb2MzLnN1YgogCiAke1RISVNfU0h9IC4vYXNzb2M0LnN1YgorCiske1RISVNfU0h9IC4vYXNzb2M1LnN1YgorCiske1RISVNfU0h9IC4vYXNzb2M2LnN1YgpkaWZmIC0tZ2l0IGEvdGVzdHMvYnJhY2VzLnJpZ2h0IGIvdGVzdHMvYnJhY2VzLnJpZ2h0CmluZGV4IDUzNjlhN2UuLmEwMmJmYzYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2JyYWNlcy5yaWdodAorKysgYi90ZXN0cy9icmFjZXMucmlnaHQKQEAgLTUyLDExICs1MiwxNCBAQAogMTAgOCA2IDQgMgogMSAzIDUgNyA5IDExIDEzIDE1IDE3IDE5CiAxCi0wMTAwIDAwOTUgMDA5MCAwMDg1IDAwODAgMDA3NSAwMDcwIDAwNjUgMDA2MCAwMDU1IDAwNTAgMDA0NSAwMDQwIDAwMzUgMDAzMCAwMDI1IDAwMjAgMDAxNSAwMDEwIDAwMDUgMDAwMAotMDAxMDAgMDAwOTUgMDAwOTAgMDAwODUgMDAwODAgMDAwNzUgMDAwNzAgMDAwNjUgMDAwNjAgMDAwNTUgMDAwNTAgMDAwNDUgMDAwNDAgMDAwMzUgMDAwMzAgMDAwMjUgMDAwMjAgMDAwMTUgMDAwMTAgMDAwMDUgMDAwMDAKKzEwMCA5NSA5MCA4NSA4MCA3NSA3MCA2NSA2MCA1NSA1MCA0NSA0MCAzNSAzMCAyNSAyMCAxNSAxMCA1IDAKKzEwMCA5NSA5MCA4NSA4MCA3NSA3MCA2NSA2MCA1NSA1MCA0NSA0MCAzNSAzMCAyNSAyMCAxNSAxMCA1IDAKIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IHkgegogYSBjIGUgZyBpIGsgbSBvIHEgcyB1IHcgeQogeiB4IHYgdCByIHAgbiBsIGogaCBmIGQgYgorMTAgOCA2IDQgMiAwCisxMCA4IDYgNCAyIDAKKy01MCAtNDUgLTQwIC0zNSAtMzAgLTI1IC0yMCAtMTUgLTEwIC01IDAKIHsxLi4xMC5mfQogezEuLmZmfQogezEuLjEwLi5mZn0KZGlmZiAtLWdpdCBhL3Rlc3RzL2JyYWNlcy50ZXN0cyBiL3Rlc3RzL2JyYWNlcy50ZXN0cwppbmRleCAyNWIwN2I2Li5jMmIxNTNlIDEwMDY0NAotLS0gYS90ZXN0cy9icmFjZXMudGVzdHMKKysrIGIvdGVzdHMvYnJhY2VzLnRlc3RzCkBAIC05NCw2ICs5NCwxMSBAQAogZWNobyB7YS4uei4uMn0KIGVjaG8ge3ouLmEuLi0yfQogCisjIHVud2FudGVkIHplcm8tcGFkZGluZyAtLSBmaXhlZCBwb3N0LWJhc2gtNC4wCitlY2hvIHsxMC4uMC4uMn0KK2VjaG8gezEwLi4wLi4tMn0KK2VjaG8gey01MC4uLTAuLjV9CisKICMgYmFkCiBlY2hvIHsxLi4xMC5mfQogZWNobyB7MS4uZmZ9CmRpZmYgLS1naXQgYS90ZXN0cy9jYXNlLnJpZ2h0IGIvdGVzdHMvY2FzZS5yaWdodAppbmRleCBiODJhZDlhLi5kNTc5MjUzIDEwMDY0NAotLS0gYS90ZXN0cy9jYXNlLnJpZ2h0CisrKyBiL3Rlc3RzL2Nhc2UucmlnaHQKQEAgLTMsMyArMyw0IEBACiBhbmQgaGVyZQogcmV0ZXN0CiBhbmQgbWF0Y2gKK25vIG1vcmUgY2xhdXNlcwpkaWZmIC0tZ2l0IGEvdGVzdHMvY2FzZS50ZXN0cyBiL3Rlc3RzL2Nhc2UudGVzdHMKaW5kZXggZDg1ZGMzZS4uN2M1MDE2NSAxMDA2NDQKLS0tIGEvdGVzdHMvY2FzZS50ZXN0cworKysgYi90ZXN0cy9jYXNlLnRlc3RzCkBAIC0xMiwzICsxMiw3IEBACiAqYmFyKQllY2hvIGFuZCBtYXRjaCA7OyYKIHF1eCkJZWNobyBidXQgbm90IHRoaXMgOzsKIGVzYWMKKworY2FzZSBhIGluCithKQllY2hvIG5vIG1vcmUgY2xhdXNlczsmCitlc2FjCmRpZmYgLS1naXQgYS90ZXN0cy9jb21zdWItZW9mLnJpZ2h0IGIvdGVzdHMvY29tc3ViLWVvZi5yaWdodAppbmRleCA0ZmM5YWUyLi40NTJhOWM1IDEwMDY0NAotLS0gYS90ZXN0cy9jb21zdWItZW9mLnJpZ2h0CisrKyBiL3Rlc3RzL2NvbXN1Yi1lb2YucmlnaHQKQEAgLTUsMyArNSw5IEBACiBoaQogLi9jb21zdWItZW9mMy5zdWI6IGxpbmUgMTogdW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknCiAuL2NvbXN1Yi1lb2YzLnN1YjogbGluZSA1OiBzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUKKy4vY29tc3ViLWVvZjQuc3ViOiBsaW5lIDY6IHdhcm5pbmc6IGhlcmUtZG9jdW1lbnQgYXQgbGluZSA0IGRlbGltaXRlZCBieSBlbmQtb2YtZmlsZSAod2FudGVkIGBFT0YnKQorY29udGVudHMKKy4vY29tc3ViLWVvZjUuc3ViOiBsaW5lIDg6IHdhcm5pbmc6IGhlcmUtZG9jdW1lbnQgYXQgbGluZSA2IGRlbGltaXRlZCBieSBlbmQtb2YtZmlsZSAod2FudGVkIGApJykKK2hpCisuL2NvbXN1Yi1lb2Y1LnN1YjogbGluZSAxMzogd2FybmluZzogaGVyZS1kb2N1bWVudCBhdCBsaW5lIDExIGRlbGltaXRlZCBieSBlbmQtb2YtZmlsZSAod2FudGVkIGBFT0YnKQoraGkKZGlmZiAtLWdpdCBhL3Rlc3RzL2NvbXN1Yi1lb2YudGVzdHMgYi90ZXN0cy9jb21zdWItZW9mLnRlc3RzCmluZGV4IDBiMGVhZDkuLmY5NmFlZWUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NvbXN1Yi1lb2YudGVzdHMKKysrIGIvdGVzdHMvY29tc3ViLWVvZi50ZXN0cwpAQCAtNSwzICs1LDcgQEAKICR7VEhJU19TSH0gLi9jb21zdWItZW9mMi5zdWIKIAogJHtUSElTX1NIfSAuL2NvbXN1Yi1lb2YzLnN1YgorCiske1RISVNfU0h9IC4vY29tc3ViLWVvZjQuc3ViCisKKyR7VEhJU19TSH0gLi9jb21zdWItZW9mNS5zdWIKZGlmZiAtLWdpdCBhL3Rlc3RzL2NvbXN1Yi1wb3NpeC50ZXN0cyBiL3Rlc3RzL2NvbXN1Yi1wb3NpeC50ZXN0cwppbmRleCA2YjU5MGRmLi5kNDVjYmYyIDEwMDY0NAotLS0gYS90ZXN0cy9jb21zdWItcG9zaXgudGVzdHMKKysrIGIvdGVzdHMvY29tc3ViLXBvc2l4LnRlc3RzCkBAIC0yMDIsMyArMjAyLDYgQEAKIDogJChlY2hvIGZvbykiCiAiCiAKKyMgZml4ZWQgYWZ0ZXIgYmFzaC00LjAgcmVsZWFzZWQKKzogJChjYXNlIGEgaW4gYSkgZWNobyA7OyAjIGNvbW1lbnQKK2VzYWMpCmRpZmYgLS1naXQgYS90ZXN0cy9jb21zdWIucmlnaHQgYi90ZXN0cy9jb21zdWIucmlnaHQKaW5kZXggYTRhZWQyZi4uOTg5NDUyOSAxMDA2NDQKLS0tIGEvdGVzdHMvY29tc3ViLnJpZ2h0CisrKyBiL3Rlc3RzL2NvbXN1Yi5yaWdodApAQCAtMTksMyArMTksMTEgQEAKIGFyZ3ZbMV0gPSA8Zm9vXF5KYmFyPgogYXJndlsxXSA9IDxmb29iYXI+CiBhcmd2WzFdID0gPGZvb1xeSmJhcj4KKyNlc2FjCithCitvayAxCitvayAyCitvayAzCitvayA0CitvayA1CitvayA2CmRpZmYgLS1naXQgYS90ZXN0cy9jb21zdWIudGVzdHMgYi90ZXN0cy9jb21zdWIudGVzdHMKaW5kZXggZDQ4MWRjMy4uNDkzYmJkYSAxMDA2NDQKLS0tIGEvdGVzdHMvY29tc3ViLnRlc3RzCisrKyBiL3Rlc3RzL2NvbXN1Yi50ZXN0cwpAQCAtNDAsMyArNDAsNSBAQAogCiBlY2hvICQocmVjaG8gJ2Zvb1wKIGJhcicpCisKKyR7VEhJU19TSH0gLi9jb21zdWIxLnN1YgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGJnLXN1cHBvcnQucmlnaHQgYi90ZXN0cy9kYmctc3VwcG9ydC5yaWdodAppbmRleCA2M2E4NmYyLi5jNGExNjA5IDEwMDY0NAotLS0gYS90ZXN0cy9kYmctc3VwcG9ydC5yaWdodAorKysgYi90ZXN0cy9kYmctc3VwcG9ydC5yaWdodApAQCAtMzUxLDMgKzM1MSwyMSBAQAogZGVidWcgbGluZW5vOiAxMzMgbWFpbgogZGVidWcgbGluZW5vOiAxMzIgbWFpbgogZGVidWcgbGluZW5vOiAxMzMgbWFpbgorZGVidWcgbGluZW5vOiAxMzcgbWFpbgorbWFpbjogY2FsbGluZyBmMQorZjE6IGNhbGxpbmcgZjIKK2YyOiBjYWxsaW5nIGYzCitmMzogY2FsbGluZyBjYWxsc3RhY2sKK2RlZXAgNgorMCB6CisxIDMKKzIgeQorMyAyCis0IHgKKzUgMQorRlVOQ05BTUUgc3RhY2s6IGYzIGYyIGYxIG1haW4KKzI2IGYyIC4vZGJnLXN1cHBvcnQzLnN1YgorZjM6IHJldHVybmluZworZjI6IHJldHVybiBmcm9tIGYzCitmMTogcmV0dXJuIGZyb20gZjIKK21haW46IGYxIHJldHVybnMKZGlmZiAtLWdpdCBhL3Rlc3RzL2RiZy1zdXBwb3J0LnRlc3RzIGIvdGVzdHMvZGJnLXN1cHBvcnQudGVzdHMKaW5kZXggNTE3NTkxYy4uYWQwNmQwMSAxMDA3NTUKLS0tIGEvdGVzdHMvZGJnLXN1cHBvcnQudGVzdHMKKysrIGIvdGVzdHMvZGJnLXN1cHBvcnQudGVzdHMKQEAgLTEzMyw2ICsxMzMsOSBAQAogICAgICgoeD1pK2opKQogICBkb25lCiBkb25lCisKKyR7VEhJU19TSH0gLi9kYmctc3VwcG9ydDMuc3ViCisKICM7OzsgTG9jYWwgVmFyaWFibGVzOiAqKioKICM7OzsgbW9kZTpzaGVsbC1zY3JpcHQgKioqCiAjOzs7IGV2YWw6IChzaC1zZXQtc2hlbGwgImJhc2giKSAqKioKZGlmZiAtLWdpdCBhL3Rlc3RzL2RvbGxhci1hdC1zdGFyIGIvdGVzdHMvZG9sbGFyLWF0LXN0YXIKaW5kZXggMTA0NjdhZS4uNTRlNDk5ZCAxMDA3NTUKLS0tIGEvdGVzdHMvZG9sbGFyLWF0LXN0YXIKKysrIGIvdGVzdHMvZG9sbGFyLWF0LXN0YXIKQEAgLTIyNyw0ICsyMjcsMTIgQEAKICMgZGVmYXVsdCBhbmQgdGhlIGFycmF5IGNvbnRhaW5zIG51bGwgZWxlbWVudHMKICR7VEhJU19TSH0gLi9kb2xsYXItc3RhcjMuc3ViCiAKKyMgdGVzdCBmb3Igc2V0IC11IGFuZCBleHBhbnNpb25zIG9mICRAIHdoZW4gdGhlcmUgYXJlIG5vIHBvc2l0aW9uYWwgcGFyYW1ldGVycworJHtUSElTX1NIfSAuL2RvbGxhci1hdDMuc3ViCisjIHRlc3QgZm9yIHNldCAtdSBhbmQgZXhwYW5zaW9ucyBvZiAkKiB3aGVuIHRoZXJlIGFyZSBubyBwb3NpdGlvbmFsIHBhcmFtZXRlcnMKKyR7VEhJU19TSH0gLi9kb2xsYXItc3RhcjQuc3ViCisKKyMgdGVzdHMgZm9yIGV4cGFuc2lvbnMgb2YgJCogd2hlbiBJRlMgaXMgbnVsbAorJHtUSElTX1NIfSAuL2RvbGxhci1zdGFyNS5zdWIKKwogZXhpdCAwCmRpZmYgLS1naXQgYS90ZXN0cy9kb2xsYXIucmlnaHQgYi90ZXN0cy9kb2xsYXIucmlnaHQKaW5kZXggNjg2NDFjZi4uMTNkYjhlMiAxMDA2NDQKLS0tIGEvdGVzdHMvZG9sbGFyLnJpZ2h0CisrKyBiL3Rlc3RzL2RvbGxhci5yaWdodApAQCAtMTQ5LDMgKzE0OSwyMCBAQAogYXJndlsyXSA9IDw+CiBhcmd2WzNdID0gPGFycT4KIGFyZ3ZbNF0gPSA8PgorMAorYmFyCisKK2FmdGVyIDEKKworYWZ0ZXIgMgorMAorYmFyCisKK2FmdGVyIDEKKworYWZ0ZXIgMgorYSBiCithYgorY2QKK29rIDEKK29rIDIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4ZWMucmlnaHQgYi90ZXN0cy9leGVjLnJpZ2h0CmluZGV4IDhmOTc0YWUuLjg2YTA5OWMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2V4ZWMucmlnaHQKKysrIGIvdGVzdHMvZXhlYy5yaWdodApAQCAtMTYsMTcgKzE2LDE3IEBACiAxMjYKIC4vZXhlY3NjcmlwdDogbGluZSA0NjogLjogLzogaXMgYSBkaXJlY3RvcnkKIDEKLTEyNworMTI2CiAwCiB0aGlzIGlzIGJhc2hlbnYKIC4vZXhlYzMuc3ViOiBsaW5lIDM6IC90bXAvYmFzaC1ub3R0aGVyZTogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogLi9leGVjMy5zdWI6IGxpbmUgMzogZXhlYzogL3RtcC9iYXNoLW5vdHRoZXJlOiBjYW5ub3QgZXhlY3V0ZTogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogMTI2Ci0uL2V4ZWNzY3JpcHQ6IGxpbmUgNjg6IG5vdHRoZXJlOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CisuL2V4ZWNzY3JpcHQ6IGxpbmUgNzA6IG5vdHRoZXJlOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAxMjcKLS4vZXhlY3NjcmlwdDogbGluZSA3MTogbm90dGhlcmU6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKKy4vZXhlY3NjcmlwdDogbGluZSA3Mzogbm90dGhlcmU6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKIDEyNwotLi9leGVjc2NyaXB0OiBsaW5lIDc0OiBub3R0aGVyZTogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQorLi9leGVjc2NyaXB0OiBsaW5lIDc2OiBub3R0aGVyZTogY29tbWFuZCBub3QgZm91bmQKIDEyNwogdGhpcyBpcyBzaAogdGhpcyBpcyBzaApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhlY3NjcmlwdCBiL3Rlc3RzL2V4ZWNzY3JpcHQKaW5kZXggNWUxMWUyMy4uMzYyOWM1NyAxMDA2NDQKLS0tIGEvdGVzdHMvZXhlY3NjcmlwdAorKysgYi90ZXN0cy9leGVjc2NyaXB0CkBAIC00OCw2ICs0OCw4IEBACiAKICMgdHJ5IHNvdXJjaW5nIGEgYmluYXJ5IGZpbGUgLS0gcG9zdC0yLjA0IHZlcnNpb25zIGRvbid0IGRvIHRoZSBiaW5hcnkgZmlsZQogIyBjaGVjaywgYW5kIHdpbGwgcHJvYmFibHkgZmFpbCB3aXRoIGBjb21tYW5kIG5vdCBmb3VuZCcsIG9yIHN0YXR1cyAxMjcKKyMgYmFzaC00LjEgYW5kIGxhdGVyIGNoZWNrIGZvciAyNTYgTlVMIGNoYXJhY3RlcnMgYW5kIGZhaWwgYXMgYmluYXJ5IGZpbGVzCisjIGlmIHRoZXJlIGFyZSBtb3JlIHRoYW4gdGhhdCwgaXQncyBwcm9iYWJseSBiaW5hcnkKIC4gJHtUSElTX1NIfSAyPi9kZXYvbnVsbAogZWNobyAkPwogCmRpZmYgLS1naXQgYS90ZXN0cy9leHAucmlnaHQgYi90ZXN0cy9leHAucmlnaHQKaW5kZXggZmFhZmFkMi4uZDQ2YTJhMSAxMDA2NDQKLS0tIGEvdGVzdHMvZXhwLnJpZ2h0CisrKyBiL3Rlc3RzL2V4cC5yaWdodApAQCAtMTYyLDMgKzE2Miw3IEBACiAwLm5ldAogMC5uZXQKIDAubmV0CitncmFwaAoreWVzCithCithCmRpZmYgLS1naXQgYS90ZXN0cy9leHAudGVzdHMgYi90ZXN0cy9leHAudGVzdHMKaW5kZXggNDJmYmY3Mi4uMWY0YTM1YiAxMDA2NDQKLS0tIGEvdGVzdHMvZXhwLnRlc3RzCisrKyBiL3Rlc3RzL2V4cC50ZXN0cwpAQCAtMzgyLDMgKzM4Miw1IEBACiAke1RISVNfU0h9IC4vZXhwMS5zdWIKIAogJHtUSElTX1NIfSAuL2V4cDIuc3ViCisKKyR7VEhJU19TSH0gLi9leHAzLnN1YgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXh0Z2xvYi50ZXN0cyBiL3Rlc3RzL2V4dGdsb2IudGVzdHMKaW5kZXggZWIyNmQ1NS4uZjljMTdjNyAxMDA2NDQKLS0tIGEvdGVzdHMvZXh0Z2xvYi50ZXN0cworKysgYi90ZXN0cy9leHRnbG9iLnRlc3RzCkBAIC0xOTMsNyArMTkzLDggQEAKIAogTVlESVI9JFBXRCAgICAgICMgc2F2ZSB3aGVyZSB3ZSBhcmUKIAotVEVTVERJUj0vdG1wL2VnbG9iLXRlc3QtJCQKKzogJHtUTVBESVI6PS92YXIvdG1wfQorVEVTVERJUj0kVE1QRElSL2VnbG9iLXRlc3QtJCQKIG1rZGlyICRURVNURElSCiBidWlsdGluIGNkICRURVNURElSIHx8IHsgZWNobyAkMDogY2Fubm90IGNkIHRvICRURVNURElSID4mMiA7IGV4aXQgMTsgfQogcm0gLXJmICoKZGlmZiAtLWdpdCBhL3Rlc3RzL2Z1bmMucmlnaHQgYi90ZXN0cy9mdW5jLnJpZ2h0CmluZGV4IDFiZDEyZTEuLmRhOGI0NWMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2Z1bmMucmlnaHQKKysrIGIvdGVzdHMvZnVuYy5yaWdodApAQCAtMTM2LDYgKzEzNiwxMSBAQAogZnVuYy1hCiBmdW5jLWIKIGZ1bmMtYworZm9vLWJhcgorZm9vLWJhciAoKSAKK3sgCisgICAgOgorfQogZXhwZWN0IDUgMTAKIDUgMTAKIGV4cGVjdCAyMApkaWZmIC0tZ2l0IGEvdGVzdHMvZnVuYzIuc3ViIGIvdGVzdHMvZnVuYzIuc3ViCmluZGV4IDJmOWQ1Y2UuLjQxYTM4NDQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2Z1bmMyLnN1YgorKysgYi90ZXN0cy9mdW5jMi5zdWIKQEAgLTE1LDMgKzE1LDEzIEBACiBmdW5jYQogZnVuY2IKIGZ1bmNjCisKKyMgd2hlbiBub3QgaW4gcG9zaXggbW9kZSwgYmFzaCBhbGxvd3Mgbm9uLWlkZW50aWZpZXJzIGFzIGZ1bmN0aW9uIG5hbWVzCitzZXQgK28gcG9zaXgKK2Zvby1iYXIoKQoreworCTo7Cit9CisKK2RlY2xhcmUgLUYgZm9vLWJhcgorZGVjbGFyZSAtZiBmb28tYmFyCmRpZmYgLS1naXQgYS90ZXN0cy9nbG9iLnJpZ2h0IGIvdGVzdHMvZ2xvYi5yaWdodAppbmRleCA0NmFjNGQzLi4wNGEwZmQ1IDEwMDY0NAotLS0gYS90ZXN0cy9nbG9iLnJpZ2h0CisrKyBiL3Rlc3RzL2dsb2IucmlnaHQKQEAgLTEzLDcgKzEzLDcgQEAKIGFyZ3ZbM10gPSA8YWJkPgogYXJndls0XSA9IDxhYmU+CiB0bXAvbDEgdG1wL2wyIHRtcC8qNCB0bXAvbDMKLS4vZ2xvYi10ZXN0OiBsaW5lIDQ0OiBubyBtYXRjaDogdG1wLyo0CisuL2dsb2IudGVzdHM6IGxpbmUgNDQ6IG5vIG1hdGNoOiB0bXAvKjQKIGFyZ3ZbMV0gPSA8YmRpci8+CiBhcmd2WzFdID0gPCo+CiBhcmd2WzFdID0gPGEqPgpkaWZmIC0tZ2l0IGEvdGVzdHMvaGVyZWRvYy5yaWdodCBiL3Rlc3RzL2hlcmVkb2MucmlnaHQKaW5kZXggMmE3YmY2Yi4uYjg3NTRkZSAxMDA2NDQKLS0tIGEvdGVzdHMvaGVyZWRvYy5yaWdodAorKysgYi90ZXN0cy9oZXJlZG9jLnJpZ2h0CkBAIC01OCw2ICs1OCw3IEBACiAKIGJhcgogcXV4Ci0uL2hlcmVkb2MudGVzdHM6IGxpbmUgOTY6IHdhcm5pbmc6IGhlcmUtZG9jdW1lbnQgYXQgbGluZSA5NCBkZWxpbWl0ZWQgYnkgZW5kLW9mLWZpbGUgKHdhbnRlZCBgRU9GJykKK2NvbXN1YiBoZXJlLXN0cmluZworLi9oZXJlZG9jLnRlc3RzOiBsaW5lIDEwMDogd2FybmluZzogaGVyZS1kb2N1bWVudCBhdCBsaW5lIDk4IGRlbGltaXRlZCBieSBlbmQtb2YtZmlsZSAod2FudGVkIGBFT0YnKQogaGkKIHRoZXJlCmRpZmYgLS1naXQgYS90ZXN0cy9oZXJlZG9jLnRlc3RzIGIvdGVzdHMvaGVyZWRvYy50ZXN0cwppbmRleCBhYzY0MmUwLi43OWJmNGNlIDEwMDY0NAotLS0gYS90ZXN0cy9oZXJlZG9jLnRlc3RzCisrKyBiL3Rlc3RzL2hlcmVkb2MudGVzdHMKQEAgLTg4LDYgKzg4LDEwIEBACiAKICR7VEhJU19TSH0gLi9oZXJlZG9jMS5zdWIKIAorZWNobyAkKAorCWNhdCA8PDwgImNvbXN1YiBoZXJlLXN0cmluZyIKKykKKwogIyBjaGVjayB0aGF0IGVuZCBvZiBmaWxlIGRlbGltaXRzIGEgaGVyZS1kb2N1bWVudAogIyBUSElTIE1VU1QgQkUgTEFTVCEKIApkaWZmIC0tZ2l0IGEvdGVzdHMvaGlzdG9yeS5yaWdodCBiL3Rlc3RzL2hpc3RvcnkucmlnaHQKaW5kZXggMTI4YjBkZS4uY2I1OGY5OCAxMDA2NDQKLS0tIGEvdGVzdHMvaGlzdG9yeS5yaWdodAorKysgYi90ZXN0cy9oaXN0b3J5LnJpZ2h0CkBAIC0xNDAsMyArMTQwLDcgQEAKIG9uZQogdHdvCiB0aHJlZQorNC4xCitlY2hvICR7QkFTSF9WRVJTSU9OJVwuKn0KKzQuMQorCSBlY2hvICR7QkFTSF9WRVJTSU9OJVwuKn0KZGlmZiAtLWdpdCBhL3Rlc3RzL2hpc3RvcnkudGVzdHMgYi90ZXN0cy9oaXN0b3J5LnRlc3RzCmluZGV4IDdjYTc1NTguLjY4ODA5NWQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2hpc3RvcnkudGVzdHMKKysrIGIvdGVzdHMvaGlzdG9yeS50ZXN0cwpAQCAtMTA5LDMgKzEwOSw1IEBACiBlY2hvICQ/CiAKICR7VEhJU19TSH0gLi9oaXN0b3J5MS5zdWIKKworJHtUSElTX1NIfSAuL2hpc3RvcnkyLnN1YgpkaWZmIC0tZ2l0IGEvdGVzdHMvam9icy5yaWdodCBiL3Rlc3RzL2pvYnMucmlnaHQKaW5kZXggMGE2ZmNlOS4uYTRjOGE3YyAxMDA2NDQKLS0tIGEvdGVzdHMvam9icy5yaWdodAorKysgYi90ZXN0cy9qb2JzLnJpZ2h0CkBAIC03Miw4ICs3Miw4IEBACiBbMV0gICBSdW5uaW5nICAgICAgICAgICAgICAgICBzbGVlcCAzMDAgJgogWzJdLSAgUnVubmluZyAgICAgICAgICAgICAgICAgc2xlZXAgMzUwICYKIFszXSsgIFJ1bm5pbmcgICAgICAgICAgICAgICAgIHNsZWVwIDQwMCAmCi0uL2pvYnMudGVzdHM6IGxpbmUgMTI3OiBraWxsOiAlNDogbm8gc3VjaCBqb2IKLS4vam9icy50ZXN0czogbGluZSAxMjk6IGpvYnM6ICU0OiBubyBzdWNoIGpvYgorLi9qb2JzLnRlc3RzOiBsaW5lIDEyODoga2lsbDogJTQ6IG5vIHN1Y2ggam9iCisuL2pvYnMudGVzdHM6IGxpbmUgMTMwOiBqb2JzOiAlNDogbm8gc3VjaCBqb2IKIGN1cnJlbnQgam9iOgogWzNdKyAgUnVubmluZyAgICAgICAgICAgICAgICAgc2xlZXAgNDAwICYKIHByZXZpb3VzIGpvYjoKZGlmZiAtLWdpdCBhL3Rlc3RzL2pvYnMudGVzdHMgYi90ZXN0cy9qb2JzLnRlc3RzCmluZGV4IDU4NjZiMGMuLmUyYWNiYTUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2pvYnMudGVzdHMKKysrIGIvdGVzdHMvam9icy50ZXN0cwpAQCAtMTE1LDYgKzExNSw3IEBACiBlY2hvICQ/IC0tICR7UElQRVNUQVRVU1tAXX0gLS0gJHtQSVBFU1RBVFVTWzBdfSAtICR7UElQRVNUQVRVU1sxXX0gLSAke1BJUEVTVEFUVVNbMl19CiAKIHNsZWVwIDMwMCAmCitzbGVlcDMwMHBpZD0kIQogc2xlZXAgMzUwICYKIHNsZWVwIDQwMCAmCiAKQEAgLTE2OCw2ICsxNjksNyBAQAogZXhlYyAyPi9kZXYvbnVsbAogCiBlY2hvIGtpbGxpbmcuLi4KK2tpbGwgLW4gOSAkc2xlZXAzMDBwaWQKIGtpbGwgLW4gOSAlMiAlMwogd2FpdAkjIG1ha2Ugc3VyZSB3ZSByZWFwIHRoZSBwcm9jZXNzZXMgd2hpbGUgc3RkZXJyIGlzIHN0aWxsIHJlZGlyZWN0ZWQKIGVjaG8gZG9uZQpkaWZmIC0tZ2l0IGEvdGVzdHMvbmV3LWV4cC5yaWdodCBiL3Rlc3RzL25ldy1leHAucmlnaHQKaW5kZXggNzc1ZDNlMi4uYzg2YzU0NiAxMDA2NDQKLS0tIGEvdGVzdHMvbmV3LWV4cC5yaWdodAorKysgYi90ZXN0cy9uZXctZXhwLnJpZ2h0CkBAIC01MDQsNiArNTA0LDggQEAKIC0tYmxhaAogbGFoCiBsYWgKK2FiY2RlIGFiY2ZnIGFiY2hpCitmb29kZSBmb29mZyBmb29oaQogYXJndlsxXSA9IDw+CiBhcmd2WzFdID0gPCs+CiBhcmd2WzFdID0gPCtePz4KQEAgLTUzNyw0ICs1MzksNCBAQAogfQogYXJndlsxXSA9IDwvPgogYXJndlsxXSA9IDwvPgotLi9uZXctZXhwLnRlc3RzOiBsaW5lIDU2ODogQUJYRDogcGFyYW1ldGVyIHVuc2V0CisuL25ldy1leHAudGVzdHM6IGxpbmUgNTc2OiBBQlhEOiBwYXJhbWV0ZXIgdW5zZXQKZGlmZiAtLWdpdCBhL3Rlc3RzL25ldy1leHAudGVzdHMgYi90ZXN0cy9uZXctZXhwLnRlc3RzCmluZGV4IDNhMDU4MWYuLjhjNDNiNjYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL25ldy1leHAudGVzdHMKKysrIGIvdGVzdHMvbmV3LWV4cC50ZXN0cwpAQCAtNTUzLDYgKzU1MywxNCBAQAogZWNobyAke3ZhcltAXSMjP30KIGVjaG8gJHt2YXIjIz99CiAKK3Vuc2V0IHZhcgordmFyPShhYmNkZSBhYmNmZyBhYmNoaSkKKworIyBwcm9ibGVtcyB3aXRoIGFuY2hvcmluZyBwYXR0ZXJuIHJlcGxhY2VtZW50cworZWNobyAke3ZhclsqXS8vI2FiYy9mb299CitlY2hvICR7dmFyWypdLyNhYmMvZm9vfQordW5zZXQgdmFyCisKICR7VEhJU19TSH0gLi9uZXctZXhwNi5zdWIKIAogJHtUSElTX1NIfSAuL25ldy1leHA3LnN1YgpkaWZmIC0tZ2l0IGEvdGVzdHMvbnF1b3RlLnJpZ2h0IGIvdGVzdHMvbnF1b3RlLnJpZ2h0CmluZGV4IDZkOTM2ZDUuLjI2N2YwZTcgMTAwNjQ0Ci0tLSBhL3Rlc3RzL25xdW90ZS5yaWdodAorKysgYi90ZXN0cy9ucXVvdGUucmlnaHQKQEAgLTM1LDMgKzM1LDYgQEAKIDtmb28KIGFyZ3ZbMV0gPSA8Xkk+CiBhcmd2WzFdID0gPCdBXklCJz4KK2hlbGxvJyB3b3JsZAoraGVsbG8gd29ybGQhCitoZWxsbycgd29ybGQhCmRpZmYgLS1naXQgYS90ZXN0cy9ucXVvdGUudGVzdHMgYi90ZXN0cy9ucXVvdGUudGVzdHMKaW5kZXggNjJkOTBiOS4uNzIwYzNlMSAxMDA2NDQKLS0tIGEvdGVzdHMvbnF1b3RlLnRlc3RzCisrKyBiL3Rlc3RzL25xdW90ZS50ZXN0cwpAQCAtMTE0LDMgKzExNCw1IEBACiB1bnNldCBteXRhYgogcmVjaG8gIiR7bXl0YWI6LSQnXHQnfSIKIHJlY2hvICIkKCBhcmdzICQnQVx0QicgKSIKKworJHtUSElTX1NIfSAuL25xdW90ZTEuc3ViCmRpZmYgLS1naXQgYS90ZXN0cy9wcmludGYudGVzdHMgYi90ZXN0cy9wcmludGYudGVzdHMKaW5kZXggODA5NjZkNy4uM2RkNTI0OCAxMDA2NDQKLS0tIGEvdGVzdHMvcHJpbnRmLnRlc3RzCisrKyBiL3Rlc3RzL3ByaW50Zi50ZXN0cwpAQCAtMzA3LDMgKzMwNyw1IEBACiBzaG9wdCAtcyBudWxsZ2xvYiBleHRnbG9iCiBlY2hvICJ4JChwcmludGYgIiViIiBAKGh1Z28pKXgiCiBwcmludGYgLXYgdmFyICIlYiIgQChodWdvKTsgZWNobyAieCR7dmFyfXgiCisKKyR7VEhJU19TSH0gLi9wcmludGYyLnN1YgpkaWZmIC0tZ2l0IGEvdGVzdHMvcmVkaXI4LnN1YiBiL3Rlc3RzL3JlZGlyOC5zdWIKaW5kZXggNzk5MGE0YS4uNWY5NzJhMSAxMDA2NDQKLS0tIGEvdGVzdHMvcmVkaXI4LnN1YgorKysgYi90ZXN0cy9yZWRpcjguc3ViCkBAIC0xLDMgKzEsNCBAQAorY2QgJHtUTVBESVI6PS92YXIvdG1wfQogcm0gLWYgdQogCiAke1RISVNfU0h9IC1jICdleGVjIDEwPiYxOyBlY2hvIGZkIDEwID4mMTAnIDEwPnUKZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bi1nbG9iLXRlc3QgYi90ZXN0cy9ydW4tZ2xvYi10ZXN0CmluZGV4IDY1OTExMmEuLjdhMTIzNDMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3J1bi1nbG9iLXRlc3QKKysrIGIvdGVzdHMvcnVuLWdsb2ItdGVzdApAQCAtMSw0ICsxLDQgQEAKIFBBVEg9JFBBVEg6YHB3ZGAKIGV4cG9ydCBQQVRICi0ke1RISVNfU0h9IC4vZ2xvYi10ZXN0IDI+JjEgfCBncmVwIC12ICdeZXhwZWN0JyA+IC90bXAveHgKKyR7VEhJU19TSH0gLi9nbG9iLnRlc3RzIDI+JjEgfCBncmVwIC12ICdeZXhwZWN0JyA+IC90bXAveHgKIGRpZmYgL3RtcC94eCBnbG9iLnJpZ2h0ICYmIHJtIC1mIC90bXAveHgKZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bi10cmFwIGIvdGVzdHMvcnVuLXRyYXAKaW5kZXggYjQ0ODQ0My4uMTRmNjg3NCAxMDA2NDQKLS0tIGEvdGVzdHMvcnVuLXRyYXAKKysrIGIvdGVzdHMvcnVuLXRyYXAKQEAgLTEsNiArMSw2IEBACi1lY2hvICJ3YXJuaW5nOiBVTklYIHZlcnNpb25zIG51bWJlciBzaWduYWxzIGRpZmZlcmVudGx5LiAgSWYgb3V0cHV0IGRpZmZlcmluZyIgPiYyCi1lY2hvICJ3YXJuaW5nOiBvbmx5IGluIGxpbmUgbnVtYmVycyBpcyBwcm9kdWNlZCwgcGxlYXNlIGRvIG5vdCBjb25zaWRlciB0aGlzIiA+JjIKLWVjaG8gIndhcm5pbmc6IGEgdGVzdCBmYWlsdXJlLiIgPiYyCitlY2hvICJ3YXJuaW5nOiBVTklYIHZlcnNpb25zIG51bWJlciBzaWduYWxzIGFuZCBzY2hlZHVsZSBwcm9jZXNzZXMgZGlmZmVyZW50bHkuIiA+JjIKK2VjaG8gIndhcm5pbmc6IElmIG91dHB1dCBkaWZmZXJpbmcgb25seSBpbiBsaW5lIG51bWJlcnMgaXMgcHJvZHVjZWQsIHBsZWFzZSIgPiYyCitlY2hvICJ3YXJuaW5nOiBkbyBub3QgY29uc2lkZXIgdGhpcyBhIHRlc3QgZmFpbHVyZS4iID4mMgogCiAke1RISVNfU0h9IC4vdHJhcC50ZXN0cyA+IC90bXAveHggMj4mMQogZGlmZiAvdG1wL3h4IHRyYXAucmlnaHQgJiYgcm0gLWYgL3RtcC94eApkaWZmIC0tZ2l0IGEvdGVzdHMvc2V0LXgucmlnaHQgYi90ZXN0cy9zZXQteC5yaWdodAppbmRleCBmYzU1YmQ4Li5hNDFhMzgyIDEwMDY0NAotLS0gYS90ZXN0cy9zZXQteC5yaWdodAorKysgYi90ZXN0cy9zZXQteC5yaWdodApAQCAtMjYsMyArMjYsMzEgQEAKICsgeD1pCiArIGNhc2UgeCBpbgogKyB4PWkKKysgc2V0ICt4CisxCisyCiszCis0CisrIGZvciBmIGluIGEgYiBjIGQgZQorKyBlY2hvIGEKK2EKKysgZm9yIGYgaW4gYSBiIGMgZCBlCisrIGVjaG8gYgorYgorKyBmb3IgZiBpbiBhIGIgYyBkIGUKKysgZWNobyBjCitjCisrIGZvciBmIGluIGEgYiBjIGQgZQorKyBlY2hvIGQKK2QKKysgZm9yIGYgaW4gYSBiIGMgZCBlCisrIGVjaG8gZQorZQorKyBzZXQgK3gKK1RSQUNFRklMRToKKysgZWNobyAxCisrIGVjaG8gMgorKyBlY2hvIDMKKysgZWNobyA0CisrIHVuc2V0IEJBU0hfWFRSQUNFRkQKKz09PT09CmRpZmYgLS1naXQgYS90ZXN0cy9zZXQteC50ZXN0cyBiL3Rlc3RzL3NldC14LnRlc3RzCmluZGV4IDMyM2I3NzIuLjY0OGYwYTkgMTAwNzU1Ci0tLSBhL3Rlc3RzL3NldC14LnRlc3RzCisrKyBiL3Rlc3RzL3NldC14LnRlc3RzCkBAIC0xNCw4ICsxNCw3IEBACiAgMCkgeD1pIDs7CiAgKikgeD1pIDs7CiBlc2FjCitzZXQgK3gKIAotIzs7OyBMb2NhbCBWYXJpYWJsZXM6ICoqKgotIzs7OyBtb2RlOnNoZWxsLXNjcmlwdCAqKioKLSM7OzsgZXZhbDogKHNoLXNldC1zaGVsbCAiYmFzaCIpICoqKgotIzs7OyBFbmQ6ICoqKgorIyB0ZXN0IEJBU0hfWFRSQUNFRkQKKyR7VEhJU19TSH0gLi9zZXQteDEuc3ViCmRpZmYgLS1naXQgYS90ZXN0cy9zaG9wdC5yaWdodCBiL3Rlc3RzL3Nob3B0LnJpZ2h0CmluZGV4IDYzOTNiYmEuLjdiYWNjMGUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3Nob3B0LnJpZ2h0CisrKyBiL3Rlc3RzL3Nob3B0LnJpZ2h0CkBAIC0xMCw2ICsxMCw3IEBACiBzaG9wdCAtcyBjbWRoaXN0CiBzaG9wdCAtdSBjb21wYXQzMQogc2hvcHQgLXUgY29tcGF0MzIKK3Nob3B0IC11IGNvbXBhdDQwCiBzaG9wdCAtdSBkaXJzcGVsbAogc2hvcHQgLXUgZG90Z2xvYgogc2hvcHQgLXUgZXhlY2ZhaWwKQEAgLTYzLDYgKzY0LDcgQEAKIHNob3B0IC11IGNoZWNrd2luc2l6ZQogc2hvcHQgLXUgY29tcGF0MzEKIHNob3B0IC11IGNvbXBhdDMyCitzaG9wdCAtdSBjb21wYXQ0MAogc2hvcHQgLXUgZGlyc3BlbGwKIHNob3B0IC11IGRvdGdsb2IKIHNob3B0IC11IGV4ZWNmYWlsCkBAIC05Myw2ICs5NSw3IEBACiBjaGVja3dpbnNpemUgICAJb2ZmCiBjb21wYXQzMSAgICAgICAJb2ZmCiBjb21wYXQzMiAgICAgICAJb2ZmCitjb21wYXQ0MCAgICAgICAJb2ZmCiBkaXJzcGVsbCAgICAgICAJb2ZmCiBkb3RnbG9iICAgICAgICAJb2ZmCiBleGVjZmFpbCAgICAgICAJb2ZmCmRpZmYgLS1naXQgYS90ZXN0cy90cmFwLnJpZ2h0IGIvdGVzdHMvdHJhcC5yaWdodAppbmRleCA2ZTM1N2Q5Li5jODQxN2FjIDEwMDY0NAotLS0gYS90ZXN0cy90cmFwLnJpZ2h0CisrKyBiL3Rlc3RzL3RyYXAucmlnaHQKQEAgLTYzLDYgKzYzLDE5IEBACiBiZWZvcmUgZmFsc2UgaW4gdHJhcDJhLnN1YgogYWZ0ZXIgZmFsc2UgaW4gdHJhcDJhLnN1YgogY29tbWFuZCBzdWJzdGl0dXRpb24KKytbNl0gZWNobyAxCisxCisrWzddIGVjaG8gMgorMgorK1s4XSBlY2hvIDMKKytbOF0gY2F0CisrWzhdIGZhbHNlCisrK1s4XSBlY2hvIHRyYXA6IDgKK3RyYXA6IDgKKytbOV0gZWNobyA0Cis0CitjYXVnaHQgYSBjaGlsZCBkZWF0aAorY2F1Z2h0IGEgY2hpbGQgZGVhdGgKIGNhdWdodCBhIGNoaWxkIGRlYXRoCiB0cmFwIC0tICdlY2hvIGNhdWdodCBhIGNoaWxkIGRlYXRoJyBTSUdDSExECiB0cmFwIC0tICdlY2hvIGV4aXRpbmcnIEVYSVQKZGlmZiAtLWdpdCBhL3Rlc3RzL3RyYXAudGVzdHMgYi90ZXN0cy90cmFwLnRlc3RzCmluZGV4IDgzNDk3YTMuLmRlZDFkNzAgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3RyYXAudGVzdHMKKysrIGIvdGVzdHMvdHJhcC50ZXN0cwpAQCAtNjYsNiArNjYsOCBAQAogIyB0ZXN0IEVSUiB0cmFwCiAuL3RyYXAyLnN1YgogCiske1RISVNfU0h9IC4vdHJhcDMuc3ViCisKICMKICMgc2hvdyB0aGF0IHNldHRpbmcgYSB0cmFwIG9uIFNJR0NITEQgaXMgbm90IGRpc2FzdHJvdXMuCiAjCkBAIC04OCwzICs5MCw0IEBACiAKIHRyYXAgLSBTSUdDSExECiB3YWl0CisKZGlmZiAtLWdpdCBhL3Rlc3RzL3R5cGUucmlnaHQgYi90ZXN0cy90eXBlLnJpZ2h0CmluZGV4IDE4MjA4ZDEuLmE2MjgyMzEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3R5cGUucmlnaHQKKysrIGIvdGVzdHMvdHlwZS5yaWdodApAQCAtNjEsMyArNjEsMjIgQEAKIHsgCiAgICAgZWNobyAkKDx4MSkKIH0KK2ZvbyBpcyBhIGZ1bmN0aW9uCitmb28gKCkgCit7IAorICAgIGVjaG87CisgICAgY2F0ICA8PEVORAorYmFyCitFTkQKKworICAgIGNhdCAgPDxFT0YKK3F1eAorRU9GCisKK30KKworYmFyCitxdXgKKworYmFyCitxdXgKZGlmZiAtLWdpdCBhL3Rlc3RzL3R5cGUudGVzdHMgYi90ZXN0cy90eXBlLnRlc3RzCmluZGV4IDZhM2U4MDcuLjZjYWEyNDMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3R5cGUudGVzdHMKKysrIGIvdGVzdHMvdHlwZS50ZXN0cwpAQCAtODksMyArODksNSBAQAogdHlwZSBmIHwgY2F0IC12CiAKICR7VEhJU19TSH0gdHlwZTEuc3ViCisKKyR7VEhJU19TSH0gdHlwZTIuc3ViCmRpZmYgLS1naXQgYS90cmFwLmMgYi90cmFwLmMKaW5kZXggOTQwZGNmZC4uMjdhOGFjYSAxMDA2NDQKLS0tIGEvdHJhcC5jCisrKyBiL3RyYXAuYwpAQCAtNzIsNiArNzIsNyBAQAogCiBzdGF0aWMgaW50IF9ydW5fdHJhcF9pbnRlcm5hbCBfX1AoKGludCwgY2hhciAqKSk7CiAKK3N0YXRpYyB2b2lkIGZyZWVfdHJhcF9zdHJpbmcgX19QKChpbnQpKTsKIHN0YXRpYyB2b2lkIHJlc2V0X3NpZ25hbCBfX1AoKGludCkpOwogc3RhdGljIHZvaWQgcmVzdG9yZV9zaWduYWwgX19QKChpbnQpKTsKIHN0YXRpYyB2b2lkIHJlc2V0X29yX3Jlc3RvcmVfc2lnbmFsX2hhbmRsZXJzIF9fUCgoc2hfcmVzZXRzaWdfZnVuY190ICopKTsKQEAgLTg1LDYgKzg2LDcgQEAKIGV4dGVybiBwcm9jZW52X3Qgd2FpdF9pbnRyX2J1ZjsKIGV4dGVybiBpbnQgcmV0dXJuX2NhdGNoX2ZsYWcsIHJldHVybl9jYXRjaF92YWx1ZTsKIGV4dGVybiBpbnQgc3Vic2hlbGxfbGV2ZWw7CitleHRlcm4gV09SRF9MSVNUICpzdWJzdF9hc3NpZ25fdmFybGlzdDsKIAogLyogVGhlIGxpc3Qgb2YgdGhpbmdzIHRvIGRvIG9yaWdpbmFsbHksIGJlZm9yZSB3ZSBzdGFydGVkIHRyYXBwaW5nLiAqLwogU2lnSGFuZGxlciAqb3JpZ2luYWxfc2lnbmFsc1tOU0lHXTsKQEAgLTI2Miw2ICsyNjQsNyBAQAogewogICByZWdpc3RlciBpbnQgc2lnOwogICBpbnQgb2xkX2V4aXRfdmFsdWUsICp0b2tlbl9zdGF0ZTsKKyAgV09SRF9MSVNUICpzYXZlX3N1YnN0X3Zhcmxpc3Q7CiAKICAgaWYgKGNhdGNoX2ZsYWcgPT0gMCkJCS8qIHNpbXBsZSBvcHRpbWl6YXRpb24gKi8KICAgICByZXR1cm47CkBAIC0zMzIsOSArMzM1LDE0IEBACiAJICBlbHNlCiAJICAgIHsKIAkgICAgICB0b2tlbl9zdGF0ZSA9IHNhdmVfdG9rZW5fc3RhdGUgKCk7CisJICAgICAgc2F2ZV9zdWJzdF92YXJsaXN0ID0gc3Vic3RfYXNzaWduX3Zhcmxpc3Q7CisJICAgICAgc3Vic3RfYXNzaWduX3Zhcmxpc3QgPSAwOworCiAJICAgICAgcGFyc2VfYW5kX2V4ZWN1dGUgKHNhdmVzdHJpbmcgKHRyYXBfbGlzdFtzaWddKSwgInRyYXAiLCBTRVZBTF9OT05JTlR8U0VWQUxfTk9ISVNUfFNFVkFMX1JFU0VUTElORSk7CiAJICAgICAgcmVzdG9yZV90b2tlbl9zdGF0ZSAodG9rZW5fc3RhdGUpOwogCSAgICAgIGZyZWUgKHRva2VuX3N0YXRlKTsKKworCSAgICAgIHN1YnN0X2Fzc2lnbl92YXJsaXN0ID0gc2F2ZV9zdWJzdF92YXJsaXN0OwogCSAgICB9CiAKIAkgIHBlbmRpbmdfdHJhcHNbc2lnXSA9IDA7CkBAIC01ODIsNyArNTkwLDcgQEAKICAgICAgaW50IHNpZzsKIHsKICAgLyogSWYgd2UgYXJlbid0IHN1cmUgdGhlIG9mIHRoZSBvcmlnaW5hbCB2YWx1ZSwgdGhlbiBnZXQgaXQuICovCi0gIGlmIChvcmlnaW5hbF9zaWduYWxzW3NpZ10gPT0gKFNpZ0hhbmRsZXIgKilJTVBPU1NJQkxFX1RSQVBfSEFORExFUikKKyAgaWYgKHNpZyA+IDAgJiYgc2lnIDwgTlNJRyAmJiBvcmlnaW5hbF9zaWduYWxzW3NpZ10gPT0gKFNpZ0hhbmRsZXIgKilJTVBPU1NJQkxFX1RSQVBfSEFORExFUikKICAgICBHRVRPUklHU0lHIChzaWcpOwogfQogCkBAIC03MjgsNiArNzM2LDcgQEAKICAgaW50IHRyYXBfZXhpdF92YWx1ZSwgKnRva2VuX3N0YXRlOwogICBpbnQgc2F2ZV9yZXR1cm5fY2F0Y2hfZmxhZywgZnVuY3Rpb25fY29kZSwgZmxhZ3M7CiAgIHByb2NlbnZfdCBzYXZlX3JldHVybl9jYXRjaDsKKyAgV09SRF9MSVNUICpzYXZlX3N1YnN0X3Zhcmxpc3Q7CiAKICAgdHJhcF9leGl0X3ZhbHVlID0gZnVuY3Rpb25fY29kZSA9IDA7CiAgIC8qIFJ1biB0aGUgdHJhcCBvbmx5IGlmIFNJRyBpcyB0cmFwcGVkIGFuZCBub3QgaWdub3JlZCwgYW5kIHdlIGFyZSBub3QKQEAgLTc0NSw2ICs3NTQsOCBAQAogICAgICAgdHJhcF9zYXZlZF9leGl0X3ZhbHVlID0gbGFzdF9jb21tYW5kX2V4aXRfdmFsdWU7CiAKICAgICAgIHRva2VuX3N0YXRlID0gc2F2ZV90b2tlbl9zdGF0ZSAoKTsKKyAgICAgIHNhdmVfc3Vic3RfdmFybGlzdCA9IHN1YnN0X2Fzc2lnbl92YXJsaXN0OworICAgICAgc3Vic3RfYXNzaWduX3Zhcmxpc3QgPSAwOwogCiAgICAgICAvKiBJZiB3ZSdyZSBpbiBhIGZ1bmN0aW9uLCBtYWtlIHN1cmUgcmV0dXJuIGxvbmdqbXBzIGNvbWUgaGVyZSwgdG9vLiAqLwogICAgICAgc2F2ZV9yZXR1cm5fY2F0Y2hfZmxhZyA9IHJldHVybl9jYXRjaF9mbGFnOwpAQCAtNzYzLDYgKzc3NCw4IEBACiAgICAgICByZXN0b3JlX3Rva2VuX3N0YXRlICh0b2tlbl9zdGF0ZSk7CiAgICAgICBmcmVlICh0b2tlbl9zdGF0ZSk7CiAKKyAgICAgIHN1YnN0X2Fzc2lnbl92YXJsaXN0ID0gc2F2ZV9zdWJzdF92YXJsaXN0OworCiAgICAgICB0cmFwX2V4aXRfdmFsdWUgPSBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZTsKICAgICAgIGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlID0gdHJhcF9zYXZlZF9leGl0X3ZhbHVlOwogICAgICAgcnVubmluZ190cmFwID0gMDsKQEAgLTg3NywyMCArODkwLDI4IEBACiAKICNpZmRlZiBJTkNMVURFX1VOVVNFRAogLyogRnJlZSBhbGwgdGhlIGFsbG9jYXRlZCBzdHJpbmdzIGluIHRoZSBsaXN0IG9mIHRyYXBzIGFuZCByZXNldCB0aGUgdHJhcAotICAgdmFsdWVzIHRvIHRoZSBkZWZhdWx0LiAqLworICAgdmFsdWVzIHRvIHRoZSBkZWZhdWx0LiAgSW50ZW5kZWQgdG8gYmUgY2FsbGVkIGZyb20gc3Vic2hlbGxzIHRoYXQgd2FudAorICAgdG8gY29tcGxldGUgd29yayBkb25lIGJ5IHJlc2V0X3NpZ25hbF9oYW5kbGVycyB1cG9uIGV4ZWN1dGlvbiBvZiBhCisgICBzdWJzZXF1ZW50IGB0cmFwJyBjb21tYW5kIHRoYXQgY2hhbmdlcyBhIHNpZ25hbCdzIGRpc3Bvc2l0aW9uLiAqLwogdm9pZAogZnJlZV90cmFwX3N0cmluZ3MgKCkKIHsKICAgcmVnaXN0ZXIgaW50IGk7CiAKICAgZm9yIChpID0gMDsgaSA8IEJBU0hfTlNJRzsgaSsrKQotICAgIHsKLSAgICAgIGZyZWVfdHJhcF9jb21tYW5kIChpKTsKLSAgICAgIHRyYXBfbGlzdFtpXSA9IChjaGFyICopREVGQVVMVF9TSUc7Ci0gICAgICBzaWdtb2Rlc1tpXSAmPSB+U0lHX1RSQVBQRUQ7Ci0gICAgfQorICAgIGZyZWVfdHJhcF9zdHJpbmcgKGkpOwogICB0cmFwX2xpc3RbREVCVUdfVFJBUF0gPSB0cmFwX2xpc3RbRVhJVF9UUkFQXSA9IHRyYXBfbGlzdFtFUlJPUl9UUkFQXSA9IHRyYXBfbGlzdFtSRVRVUk5fVFJBUF0gPSAoY2hhciAqKU5VTEw7CiB9CisKKy8qIEZyZWUgYSB0cmFwIGNvbW1hbmQgc3RyaW5nIGFzc29jaWF0ZWQgd2l0aCBTSUcgd2l0aG91dCBjaGFuZ2luZyBzaWduYWwKKyAgIGRpc3Bvc2l0aW9uLiAgSW50ZW5kZWQgdG8gYmUgY2FsbGVkIGZyb20gZnJlZV90cmFwX3N0cmluZ3MoKSAgKi8KK3N0YXRpYyB2b2lkCitmcmVlX3RyYXBfc3RyaW5nIChzaWcpCisgICAgIGludCBzaWc7Cit7CisgIGNoYW5nZV9zaWduYWwgKHNpZywgKGNoYXIgKilERUZBVUxUX1NJRyk7CisgIHNpZ21vZGVzW3NpZ10gJj0gflNJR19UUkFQUEVEOworfQogI2VuZGlmCiAKIC8qIFJlc2V0IHRoZSBoYW5kbGVyIGZvciBTSUcgdG8gdGhlIG9yaWdpbmFsIHZhbHVlLiAqLwpkaWZmIC0tZ2l0IGEvdmFyaWFibGVzLmMgYi92YXJpYWJsZXMuYwppbmRleCA2NTcxMDFiLi5kMWRhOGY2IDEwMDY0NAotLS0gYS92YXJpYWJsZXMuYworKysgYi92YXJpYWJsZXMuYwpAQCAtNDQsNiArNDQsOCBAQAogI2luY2x1ZGUgImJhc2hhbnNpLmgiCiAjaW5jbHVkZSAiYmFzaGludGwuaCIKIAorI2RlZmluZSBORUVEX1hUUkFDRV9TRVRfREVDTAorCiAjaW5jbHVkZSAic2hlbGwuaCIKICNpbmNsdWRlICJmbGFncy5oIgogI2luY2x1ZGUgImV4ZWN1dGVfY21kLmgiCkBAIC0yMjEsOSArMjIzLDExIEBACiBzdGF0aWMgU0hFTExfVkFSICpidWlsZF9oYXNoY21kIF9fUCgoU0hFTExfVkFSICopKTsKIHN0YXRpYyBTSEVMTF9WQVIgKmdldF9oYXNoY21kIF9fUCgoU0hFTExfVkFSICopKTsKIHN0YXRpYyBTSEVMTF9WQVIgKmFzc2lnbl9oYXNoY21kIF9fUCgoU0hFTExfVkFSICosICBjaGFyICosIGFycmF5aW5kX3QsIGNoYXIgKikpOworIyAgaWYgZGVmaW5lZCAoQUxJQVMpCiBzdGF0aWMgU0hFTExfVkFSICpidWlsZF9hbGlhc3ZhciBfX1AoKFNIRUxMX1ZBUiAqKSk7CiBzdGF0aWMgU0hFTExfVkFSICpnZXRfYWxpYXN2YXIgX19QKChTSEVMTF9WQVIgKikpOwogc3RhdGljIFNIRUxMX1ZBUiAqYXNzaWduX2FsaWFzdmFyIF9fUCgoU0hFTExfVkFSICosICBjaGFyICosIGFycmF5aW5kX3QsIGNoYXIgKikpOworIyAgZW5kaWYKICNlbmRpZgogCiBzdGF0aWMgU0hFTExfVkFSICpnZXRfZnVuY25hbWUgX19QKChTSEVMTF9WQVIgKikpOwpAQCAtODc1LDcgKzg3OSw3IEBACiAgIHZ2ID0gbWFrZV9uZXdfYXJyYXlfdmFyaWFibGUgKCJCQVNIX1ZFUlNJTkZPIik7CiAgIGF2ID0gYXJyYXlfY2VsbCAodnYpOwogICBzdHJjcHkgKGQsIGRpc3RfdmVyc2lvbik7Ci0gIHMgPSB4c3RyY2hyIChkLCAnLicpOworICBzID0gc3RyY2hyIChkLCAnLicpOwogICBpZiAocykKICAgICAqcysrID0gJ1wwJzsKICAgYXJyYXlfaW5zZXJ0IChhdiwgMCwgZCk7CkBAIC0xNTU2LDYgKzE1NjAsNyBAQAogICByZXR1cm4gKGJ1aWxkX2hhc2hjbWQgKHNlbGYpKTsKIH0KIAorI2lmIGRlZmluZWQgKEFMSUFTKQogc3RhdGljIFNIRUxMX1ZBUiAqCiBidWlsZF9hbGlhc3ZhciAoc2VsZikKICAgICAgU0hFTExfVkFSICpzZWxmOwpAQCAtMTYwOCw2ICsxNjEzLDggQEAKICAgYWRkX2FsaWFzIChrZXksIHZhbHVlKTsKICAgcmV0dXJuIChidWlsZF9hbGlhc3ZhciAoc2VsZikpOwogfQorI2VuZGlmIC8qIEFMSUFTICovCisKICNlbmRpZiAvKiBBUlJBWV9WQVJTICovCiAKIC8qIElmIEFSUkFZX1ZBUlMgaXMgbm90IGRlZmluZWQsIHRoaXMganVzdCByZXR1cm5zIHRoZSBuYW1lIG9mIGFueQpAQCAtMTcwMyw3ICsxNzEwLDkgQEAKICAgdiA9IGluaXRfZHluYW1pY19hcnJheV92YXIgKCJCQVNIX0xJTkVOTyIsIGdldF9zZWxmLCBudWxsX2FycmF5X2Fzc2lnbiwgYXR0X25vYXNzaWdufGF0dF9ub3Vuc2V0KTsKIAogICB2ID0gaW5pdF9keW5hbWljX2Fzc29jX3ZhciAoIkJBU0hfQ01EUyIsIGdldF9oYXNoY21kLCBhc3NpZ25faGFzaGNtZCwgYXR0X25vZnJlZSk7CisjICBpZiBkZWZpbmVkIChBTElBUykKICAgdiA9IGluaXRfZHluYW1pY19hc3NvY192YXIgKCJCQVNIX0FMSUFTRVMiLCBnZXRfYWxpYXN2YXIsIGFzc2lnbl9hbGlhc3ZhciwgYXR0X25vZnJlZSk7CisjICBlbmRpZgogI2VuZGlmCiAKICAgdiA9IGluaXRfZnVuY25hbWVfdmFyICgpOwpAQCAtMjE4Myw3ICsyMTkyLDEyIEBACiAgICAgewogICAgICAgSU5WQUxJREFURV9FWFBPUlRTVFIgKGVudHJ5KTsKICAgICAgIG5ld3ZhbCA9IChhZmxhZ3MgJiBBU1NfQVBQRU5EKSA/IG1ha2VfdmFyaWFibGVfdmFsdWUgKGVudHJ5LCB2YWx1ZSwgYWZsYWdzKSA6IHZhbHVlOwotICAgICAgZW50cnkgPSAoKihlbnRyeS0+YXNzaWduX2Z1bmMpKSAoZW50cnksIG5ld3ZhbCwgLTEsIDApOworICAgICAgaWYgKGFzc29jX3AgKGVudHJ5KSkKKwllbnRyeSA9ICgqKGVudHJ5LT5hc3NpZ25fZnVuYykpIChlbnRyeSwgbmV3dmFsLCAtMSwgc2F2ZXN0cmluZyAoIjAiKSk7CisgICAgICBlbHNlIGlmIChhcnJheV9wIChlbnRyeSkpCisJZW50cnkgPSAoKihlbnRyeS0+YXNzaWduX2Z1bmMpKSAoZW50cnksIG5ld3ZhbCwgMCwgMCk7CisgICAgICBlbHNlCisJZW50cnkgPSAoKihlbnRyeS0+YXNzaWduX2Z1bmMpKSAoZW50cnksIG5ld3ZhbCwgLTEsIDApOwogICAgICAgaWYgKG5ld3ZhbCAhPSB2YWx1ZSkKIAlmcmVlIChuZXd2YWwpOwogICAgICAgcmV0dXJuIChlbnRyeSk7CkBAIC0zMzU3LDYgKzMzNzEsMTEgQEAKICAgY2hhciAqczsKIAogICBzID0gdi0+ZXhwb3J0c3RyOworICBpZiAocyA9PSAwKQorICAgIHsKKyAgICAgIGludGVybmFsX2Vycm9yIChfKCIlcyBoYXMgbnVsbCBleHBvcnRzdHIiKSwgdi0+bmFtZSk7CisgICAgICByZXR1cm4gKDApOworICAgIH0KICAgaWYgKGxlZ2FsX3ZhcmlhYmxlX3N0YXJ0ZXIgKCh1bnNpZ25lZCBjaGFyKSpzKSA9PSAwKQogICAgIHsKICAgICAgIGludGVybmFsX2Vycm9yIChfKCJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIiksICpzLCB2LT5uYW1lKTsKQEAgLTM2MDksNyArMzYyOCw3IEBACiAJfQogICAgICAgZXhwb3J0X2VudltleHBvcnRfZW52X2luZGV4ID0gMF0gPSAoY2hhciAqKU5VTEw7CiAKLSAgICAgIC8qIE1ha2UgYSBkdW1teSB2YXJpYWJsZSBjb250ZXh0IGZyb20gdGhlICB0ZW1wb3JhcnlfZW52LCBzdGljayBpdCBvbgorICAgICAgLyogTWFrZSBhIGR1bW15IHZhcmlhYmxlIGNvbnRleHQgZnJvbSB0aGUgdGVtcG9yYXJ5X2Vudiwgc3RpY2sgaXQgb24KIAkgdGhlIGZyb250IG9mIHNoZWxsX3ZhcmlhYmxlcywgY2FsbCBtYWtlX3Zhcl9leHBvcnRfYXJyYXkgb24gdGhlCiAJIHdob2xlIHRoaW5nIHRvIGZsYXR0ZW4gaXQsIGFuZCBjb252ZXJ0IHRoZSBsaXN0IG9mIFNIRUxMX1ZBUiAqcwogCSB0byB0aGUgZm9ybSBuZWVkZWQgYnkgdGhlIGVudmlyb25tZW50LiAqLwpAQCAtNDA3Niw2ICs0MDk1LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgbmFtZV9hbmRfZnVuY3Rpb24gc3BlY2lhbF92YXJzW10gPSB7CisgIHsgIkJBU0hfWFRSQUNFRkQiLCBzdl94dHJhY2VmZCB9LAorCiAjaWYgZGVmaW5lZCAoUkVBRExJTkUpCiAjICBpZiBkZWZpbmVkIChTVFJJQ1RfUE9TSVgpCiAgIHsgIkNPTFVNTlMiLCBzdl93aW5zaXplIH0sCkBAIC00NjI3LDMgKzQ2NDgsMzggQEAKICAgc2V0X3BpcGVzdGF0dXNfYXJyYXkgKHYsIDEpOwogI2VuZGlmCiB9CisKK3ZvaWQKK3N2X3h0cmFjZWZkIChuYW1lKQorICAgICBjaGFyICpuYW1lOworeworICBTSEVMTF9WQVIgKnY7CisgIGNoYXIgKnQsICplOworICBpbnQgZmQ7CisgIEZJTEUgKmZwOworCisgIHYgPSBmaW5kX3ZhcmlhYmxlIChuYW1lKTsKKyAgaWYgKHYgPT0gMCkKKyAgICB7CisgICAgICB4dHJhY2VfcmVzZXQgKCk7CisgICAgICByZXR1cm47CisgICAgfQorCisgIHQgPSB2YWx1ZV9jZWxsICh2KTsKKyAgaWYgKHQgPT0gMCB8fCAqdCA9PSAwKQorICAgIHh0cmFjZV9yZXNldCAoKTsKKyAgZWxzZQorICAgIHsKKyAgICAgIGZkID0gKGludClzdHJ0b2wgKHQsICZlLCAxMCk7CisgICAgICBpZiAoZSAhPSB0ICYmICplID09ICdcMCcgJiYgc2hfdmFsaWRmZCAoZmQpKQorCXsKKwkgIGZwID0gZmRvcGVuIChmZCwgInciKTsKKwkgIGlmIChmcCA9PSAwKQorCSAgICBpbnRlcm5hbF9lcnJvciAoXygiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIiksIG5hbWUsIHZhbHVlX2NlbGwgKHYpKTsKKwkgIGVsc2UKKwkgICAgeHRyYWNlX3NldCAoZmQsIGZwKTsKKwl9CisgICAgICBlbHNlCisJaW50ZXJuYWxfZXJyb3IgKF8oIiVzOiAlczogaW52YWxpZCB2YWx1ZSBmb3IgdHJhY2UgZmlsZSBkZXNjcmlwdG9yIiksIG5hbWUsIHZhbHVlX2NlbGwgKHYpKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS92YXJpYWJsZXMuaCBiL3ZhcmlhYmxlcy5oCmluZGV4IGRiYzgxZmIuLmVjMWJmZGMgMTAwNjQ0Ci0tLSBhL3ZhcmlhYmxlcy5oCisrKyBiL3ZhcmlhYmxlcy5oCkBAIC0zNTYsNiArMzU2LDcgQEAKIGV4dGVybiB2b2lkIHN2X29wdGluZCBfX1AoKGNoYXIgKikpOwogZXh0ZXJuIHZvaWQgc3Zfb3B0ZXJyIF9fUCgoY2hhciAqKSk7CiBleHRlcm4gdm9pZCBzdl9sb2NhbGUgX19QKChjaGFyICopKTsKK2V4dGVybiB2b2lkIHN2X3h0cmFjZWZkIF9fUCgoY2hhciAqKSk7CiAKICNpZiBkZWZpbmVkIChSRUFETElORSkKIGV4dGVybiB2b2lkIHN2X2NvbXBfd29yZGJyZWFrcyBfX1AoKGNoYXIgKikpOwpkaWZmIC0tZ2l0IGEveG1hbGxvYy5jIGIveG1hbGxvYy5jCmluZGV4IDU4YzMzN2UuLjIzNDRkMmQgMTAwNjQ0Ci0tLSBhL3htYWxsb2MuYworKysgYi94bWFsbG9jLmMKQEAgLTYyLDE4ICs2MiwzOCBAQAogLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogCiAjaWYgZGVmaW5lZCAoSEFWRV9TQlJLKQorI2RlZmluZSBGSU5EQlJLKCkgXAorZG8geyBcCisgIGlmIChicmtmb3VuZCA9PSAwKSBcCisgICAgeyBcCisgICAgICBsYnJlYWsgPSAoUFRSX1Qpc2JyayAoMCk7IFwKKyAgICAgIGJya2ZvdW5kKys7IFwKKyAgICB9IFwKK30gd2hpbGUgKDApCisKIHN0YXRpYyBzaXplX3QKIGZpbmRicmsgKCkKIHsKLSAgaWYgKGJya2ZvdW5kID09IDApCi0gICAgewotICAgICAgbGJyZWFrID0gKFBUUl9UKXNicmsgKDApOwotICAgICAgYnJrZm91bmQrKzsKLSAgICB9CisgIEZJTkRCUksoKTsKICAgcmV0dXJuIChjaGFyICopc2JyayAoMCkgLSAoY2hhciAqKWxicmVhazsKIH0KKyNlbHNlCisjZGVmaW5lIEZJTkRCUksoKQogI2VuZGlmCiAKK3N0YXRpYyB2b2lkCithbGxvY2VyciAoZnVuYywgYnl0ZXMpCisgICAgIGNvbnN0IGNoYXIgKmZ1bmM7CisgICAgIHNpemVfdCBieXRlczsKK3sKKyNpZiBkZWZpbmVkIChIQVZFX1NCUkspCisgICAgICBhbGxvY2F0ZWQgPSBmaW5kYnJrICgpOworICAgICAgZmF0YWxfZXJyb3IgKF8oIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIpLCBmdW5jLCAodW5zaWduZWQgbG9uZylieXRlcywgKHVuc2lnbmVkIGxvbmcpYWxsb2NhdGVkKTsKKyNlbHNlCisgICAgICBmYXRhbF9lcnJvciAoXygiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiKSwgZnVuYywgKHVuc2lnbmVkIGxvbmcpYnl0ZXMpOworI2VuZGlmIC8qICFIQVZFX1NCUksgKi8KK30KKwogLyogUmV0dXJuIGEgcG9pbnRlciB0byBmcmVlKClhYmxlIGJsb2NrIG9mIG1lbW9yeSBsYXJnZSBlbm91Z2gKICAgIHRvIGhvbGQgQllURVMgbnVtYmVyIG9mIGJ5dGVzLiAgSWYgdGhlIG1lbW9yeSBjYW5ub3QgYmUgYWxsb2NhdGVkLAogICAgcHJpbnQgYW4gZXJyb3IgbWVzc2FnZSBhbmQgYWJvcnQuICovCkBAIC04MywxNyArMTAzLDE2IEBACiB7CiAgIFBUUl9UIHRlbXA7CiAKKyNpZiBkZWZpbmVkIChERUJVRykKKyAgaWYgKGJ5dGVzID09IDApCisgICAgaW50ZXJuYWxfd2FybmluZygieG1hbGxvYzogc2l6ZSBhcmd1bWVudCBpcyAwIik7CisjZW5kaWYKKworICBGSU5EQlJLKCk7CiAgIHRlbXAgPSBtYWxsb2MgKGJ5dGVzKTsKIAogICBpZiAodGVtcCA9PSAwKQotICAgIHsKLSNpZiBkZWZpbmVkIChIQVZFX1NCUkspCi0gICAgICBhbGxvY2F0ZWQgPSBmaW5kYnJrICgpOwotICAgICAgZmF0YWxfZXJyb3IgKF8oInhtYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIiksICh1bnNpZ25lZCBsb25nKWJ5dGVzLCAodW5zaWduZWQgbG9uZylhbGxvY2F0ZWQpOwotI2Vsc2UKLSAgICAgIGZhdGFsX2Vycm9yIChfKCJ4bWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIiksICh1bnNpZ25lZCBsb25nKWJ5dGVzKTsKLSNlbmRpZiAvKiAhSEFWRV9TQlJLICovCi0gICAgfQorICAgIGFsbG9jZXJyICgieG1hbGxvYyIsIGJ5dGVzKTsKIAogICByZXR1cm4gKHRlbXApOwogfQpAQCAtMTA1LDE3ICsxMjQsMTYgQEAKIHsKICAgUFRSX1QgdGVtcDsKIAorI2lmIGRlZmluZWQgKERFQlVHKQorICBpZiAoYnl0ZXMgPT0gMCkKKyAgICBpbnRlcm5hbF93YXJuaW5nKCJ4cmVhbGxvYzogc2l6ZSBhcmd1bWVudCBpcyAwIik7CisjZW5kaWYKKworICBGSU5EQlJLKCk7CiAgIHRlbXAgPSBwb2ludGVyID8gcmVhbGxvYyAocG9pbnRlciwgYnl0ZXMpIDogbWFsbG9jIChieXRlcyk7CiAKICAgaWYgKHRlbXAgPT0gMCkKLSAgICB7Ci0jaWYgZGVmaW5lZCAoSEFWRV9TQlJLKQotICAgICAgYWxsb2NhdGVkID0gZmluZGJyayAoKTsKLSAgICAgIGZhdGFsX2Vycm9yIChfKCJ4cmVhbGxvYzogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIpLCAodW5zaWduZWQgbG9uZylieXRlcywgKHVuc2lnbmVkIGxvbmcpYWxsb2NhdGVkKTsKLSNlbHNlCi0gICAgICBmYXRhbF9lcnJvciAoXygieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiKSwgKHVuc2lnbmVkIGxvbmcpYnl0ZXMpOwotI2VuZGlmIC8qICFIQVZFX1NCUksgKi8KLSAgICB9CisgICAgYWxsb2NlcnIgKCJ4cmVhbGxvYyIsIGJ5dGVzKTsKIAogICByZXR1cm4gKHRlbXApOwogfQpAQCAtMTMzLDYgKzE1MSwyMSBAQAogI2lmZGVmIFVTSU5HX0JBU0hfTUFMTE9DCiAjaW5jbHVkZSA8bWFsbG9jL3NobWFsbG9jLmg+CiAKK3N0YXRpYyB2b2lkCitzaF9hbGxvY2VyciAoZnVuYywgYnl0ZXMsIGZpbGUsIGxpbmUpCisgICAgIGNvbnN0IGNoYXIgKmZ1bmM7CisgICAgIHNpemVfdCBieXRlczsKKyAgICAgY2hhciAqZmlsZTsKKyAgICAgaW50IGxpbmU7Cit7CisjaWYgZGVmaW5lZCAoSEFWRV9TQlJLKQorICAgICAgYWxsb2NhdGVkID0gZmluZGJyayAoKTsKKyAgICAgIGZhdGFsX2Vycm9yIChfKCIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIiksIGZ1bmMsIGZpbGUsIGxpbmUsICh1bnNpZ25lZCBsb25nKWJ5dGVzLCAodW5zaWduZWQgbG9uZylhbGxvY2F0ZWQpOworI2Vsc2UKKyAgICAgIGZhdGFsX2Vycm9yIChfKCIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiKSwgZnVuYywgZmlsZSwgbGluZSwgKHVuc2lnbmVkIGxvbmcpYnl0ZXMpOworI2VuZGlmIC8qICFIQVZFX1NCUksgKi8KK30KKwogUFRSX1QKIHNoX3htYWxsb2MgKGJ5dGVzLCBmaWxlLCBsaW5lKQogICAgICBzaXplX3QgYnl0ZXM7CkBAIC0xNDEsMTcgKzE3NCwxNiBAQAogewogICBQVFJfVCB0ZW1wOwogCisjaWYgZGVmaW5lZCAoREVCVUcpCisgIGlmIChieXRlcyA9PSAwKQorICAgIGludGVybmFsX3dhcm5pbmcoInhtYWxsb2M6ICVzOiVkOiBzaXplIGFyZ3VtZW50IGlzIDAiLCBmaWxlLCBsaW5lKTsKKyNlbmRpZgorCisgIEZJTkRCUksoKTsKICAgdGVtcCA9IHNoX21hbGxvYyAoYnl0ZXMsIGZpbGUsIGxpbmUpOwogCiAgIGlmICh0ZW1wID09IDApCi0gICAgewotI2lmIGRlZmluZWQgKEhBVkVfU0JSSykKLSAgICAgIGFsbG9jYXRlZCA9IGZpbmRicmsgKCk7Ci0gICAgICBmYXRhbF9lcnJvciAoXygieG1hbGxvYzogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIiksIGZpbGUsIGxpbmUsICh1bnNpZ25lZCBsb25nKWJ5dGVzLCAodW5zaWduZWQgbG9uZylhbGxvY2F0ZWQpOwotI2Vsc2UKLSAgICAgIGZhdGFsX2Vycm9yIChfKCJ4bWFsbG9jOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIpLCBmaWxlLCBsaW5lLCAodW5zaWduZWQgbG9uZylieXRlcyk7Ci0jZW5kaWYgLyogIUhBVkVfU0JSSyAqLwotICAgIH0KKyAgICBzaF9hbGxvY2VyciAoInhtYWxsb2MiLCBieXRlcywgZmlsZSwgbGluZSk7CiAKICAgcmV0dXJuICh0ZW1wKTsKIH0KQEAgLTE2NSwxNyArMTk3LDE2IEBACiB7CiAgIFBUUl9UIHRlbXA7CiAKKyNpZiBkZWZpbmVkIChERUJVRykKKyAgaWYgKGJ5dGVzID09IDApCisgICAgaW50ZXJuYWxfd2FybmluZygieHJlYWxsb2M6ICVzOiVkOiBzaXplIGFyZ3VtZW50IGlzIDAiLCBmaWxlLCBsaW5lKTsKKyNlbmRpZgorCisgIEZJTkRCUksoKTsKICAgdGVtcCA9IHBvaW50ZXIgPyBzaF9yZWFsbG9jIChwb2ludGVyLCBieXRlcywgZmlsZSwgbGluZSkgOiBzaF9tYWxsb2MgKGJ5dGVzLCBmaWxlLCBsaW5lKTsKIAogICBpZiAodGVtcCA9PSAwKQotICAgIHsKLSNpZiBkZWZpbmVkIChIQVZFX1NCUkspCi0gICAgICBhbGxvY2F0ZWQgPSBmaW5kYnJrICgpOwotICAgICAgZmF0YWxfZXJyb3IgKF8oInhyZWFsbG9jOiAlczolZDogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIpLCBmaWxlLCBsaW5lLCAodW5zaWduZWQgbG9uZylieXRlcywgKHVuc2lnbmVkIGxvbmcpYWxsb2NhdGVkKTsKLSNlbHNlCi0gICAgICBmYXRhbF9lcnJvciAoXygieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIiksIGZpbGUsIGxpbmUsICh1bnNpZ25lZCBsb25nKWJ5dGVzKTsKLSNlbmRpZiAvKiAhSEFWRV9TQlJLICovCi0gICAgfQorICAgIHNoX2FsbG9jZXJyICgieHJlYWxsb2MiLCBieXRlcywgZmlsZSwgbGluZSk7CiAKICAgcmV0dXJuICh0ZW1wKTsKIH0KZGlmZiAtLWdpdCBhL3kudGFiLmMgYi95LnRhYi5jCmluZGV4IDdmYmQ4NmUuLmQ3MDI1NTQgMTAwNjQ0Ci0tLSBhL3kudGFiLmMKKysrIGIveS50YWIuYwpAQCAtOTAsMjcgKzkwLDI4IEBACiAgICAgIFRJTUVPUFQgPSAyNzksCiAgICAgIFdPUkQgPSAyODAsCiAgICAgIEFTU0lHTk1FTlRfV09SRCA9IDI4MSwKLSAgICAgTlVNQkVSID0gMjgyLAotICAgICBBUklUSF9DTUQgPSAyODMsCi0gICAgIEFSSVRIX0ZPUl9FWFBSUyA9IDI4NCwKLSAgICAgQ09ORF9DTUQgPSAyODUsCi0gICAgIEFORF9BTkQgPSAyODYsCi0gICAgIE9SX09SID0gMjg3LAotICAgICBHUkVBVEVSX0dSRUFURVIgPSAyODgsCi0gICAgIExFU1NfTEVTUyA9IDI4OSwKLSAgICAgTEVTU19BTkQgPSAyOTAsCi0gICAgIExFU1NfTEVTU19MRVNTID0gMjkxLAotICAgICBHUkVBVEVSX0FORCA9IDI5MiwKLSAgICAgU0VNSV9TRU1JID0gMjkzLAotICAgICBTRU1JX0FORCA9IDI5NCwKLSAgICAgU0VNSV9TRU1JX0FORCA9IDI5NSwKLSAgICAgTEVTU19MRVNTX01JTlVTID0gMjk2LAotICAgICBBTkRfR1JFQVRFUiA9IDI5NywKLSAgICAgQU5EX0dSRUFURVJfR1JFQVRFUiA9IDI5OCwKLSAgICAgTEVTU19HUkVBVEVSID0gMjk5LAotICAgICBHUkVBVEVSX0JBUiA9IDMwMCwKLSAgICAgQkFSX0FORCA9IDMwMSwKLSAgICAgeWFjY19FT0YgPSAzMDIKKyAgICAgUkVESVJfV09SRCA9IDI4MiwKKyAgICAgTlVNQkVSID0gMjgzLAorICAgICBBUklUSF9DTUQgPSAyODQsCisgICAgIEFSSVRIX0ZPUl9FWFBSUyA9IDI4NSwKKyAgICAgQ09ORF9DTUQgPSAyODYsCisgICAgIEFORF9BTkQgPSAyODcsCisgICAgIE9SX09SID0gMjg4LAorICAgICBHUkVBVEVSX0dSRUFURVIgPSAyODksCisgICAgIExFU1NfTEVTUyA9IDI5MCwKKyAgICAgTEVTU19BTkQgPSAyOTEsCisgICAgIExFU1NfTEVTU19MRVNTID0gMjkyLAorICAgICBHUkVBVEVSX0FORCA9IDI5MywKKyAgICAgU0VNSV9TRU1JID0gMjk0LAorICAgICBTRU1JX0FORCA9IDI5NSwKKyAgICAgU0VNSV9TRU1JX0FORCA9IDI5NiwKKyAgICAgTEVTU19MRVNTX01JTlVTID0gMjk3LAorICAgICBBTkRfR1JFQVRFUiA9IDI5OCwKKyAgICAgQU5EX0dSRUFURVJfR1JFQVRFUiA9IDI5OSwKKyAgICAgTEVTU19HUkVBVEVSID0gMzAwLAorICAgICBHUkVBVEVSX0JBUiA9IDMwMSwKKyAgICAgQkFSX0FORCA9IDMwMiwKKyAgICAgeWFjY19FT0YgPSAzMDMKICAgIH07CiAjZW5kaWYKIC8qIFRva2Vucy4gICovCkBAIC0xMzgsMjcgKzEzOSwyOCBAQAogI2RlZmluZSBUSU1FT1BUIDI3OQogI2RlZmluZSBXT1JEIDI4MAogI2RlZmluZSBBU1NJR05NRU5UX1dPUkQgMjgxCi0jZGVmaW5lIE5VTUJFUiAyODIKLSNkZWZpbmUgQVJJVEhfQ01EIDI4MwotI2RlZmluZSBBUklUSF9GT1JfRVhQUlMgMjg0Ci0jZGVmaW5lIENPTkRfQ01EIDI4NQotI2RlZmluZSBBTkRfQU5EIDI4NgotI2RlZmluZSBPUl9PUiAyODcKLSNkZWZpbmUgR1JFQVRFUl9HUkVBVEVSIDI4OAotI2RlZmluZSBMRVNTX0xFU1MgMjg5Ci0jZGVmaW5lIExFU1NfQU5EIDI5MAotI2RlZmluZSBMRVNTX0xFU1NfTEVTUyAyOTEKLSNkZWZpbmUgR1JFQVRFUl9BTkQgMjkyCi0jZGVmaW5lIFNFTUlfU0VNSSAyOTMKLSNkZWZpbmUgU0VNSV9BTkQgMjk0Ci0jZGVmaW5lIFNFTUlfU0VNSV9BTkQgMjk1Ci0jZGVmaW5lIExFU1NfTEVTU19NSU5VUyAyOTYKLSNkZWZpbmUgQU5EX0dSRUFURVIgMjk3Ci0jZGVmaW5lIEFORF9HUkVBVEVSX0dSRUFURVIgMjk4Ci0jZGVmaW5lIExFU1NfR1JFQVRFUiAyOTkKLSNkZWZpbmUgR1JFQVRFUl9CQVIgMzAwCi0jZGVmaW5lIEJBUl9BTkQgMzAxCi0jZGVmaW5lIHlhY2NfRU9GIDMwMgorI2RlZmluZSBSRURJUl9XT1JEIDI4MgorI2RlZmluZSBOVU1CRVIgMjgzCisjZGVmaW5lIEFSSVRIX0NNRCAyODQKKyNkZWZpbmUgQVJJVEhfRk9SX0VYUFJTIDI4NQorI2RlZmluZSBDT05EX0NNRCAyODYKKyNkZWZpbmUgQU5EX0FORCAyODcKKyNkZWZpbmUgT1JfT1IgMjg4CisjZGVmaW5lIEdSRUFURVJfR1JFQVRFUiAyODkKKyNkZWZpbmUgTEVTU19MRVNTIDI5MAorI2RlZmluZSBMRVNTX0FORCAyOTEKKyNkZWZpbmUgTEVTU19MRVNTX0xFU1MgMjkyCisjZGVmaW5lIEdSRUFURVJfQU5EIDI5MworI2RlZmluZSBTRU1JX1NFTUkgMjk0CisjZGVmaW5lIFNFTUlfQU5EIDI5NQorI2RlZmluZSBTRU1JX1NFTUlfQU5EIDI5NgorI2RlZmluZSBMRVNTX0xFU1NfTUlOVVMgMjk3CisjZGVmaW5lIEFORF9HUkVBVEVSIDI5OAorI2RlZmluZSBBTkRfR1JFQVRFUl9HUkVBVEVSIDI5OQorI2RlZmluZSBMRVNTX0dSRUFURVIgMzAwCisjZGVmaW5lIEdSRUFURVJfQkFSIDMwMQorI2RlZmluZSBCQVJfQU5EIDMwMgorI2RlZmluZSB5YWNjX0VPRiAzMDMKIAogCiAKQEAgLTI2NSw2ICsyNjcsNyBAQAogZXh0ZXJuIGludCBzb3VyY2VsZXZlbCwgcGFyc2VfYW5kX2V4ZWN1dGVfbGV2ZWw7CiBleHRlcm4gaW50IHBvc2l4bHlfY29ycmVjdDsKIGV4dGVybiBpbnQgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWU7CitleHRlcm4gcGlkX3QgbGFzdF9jb21tYW5kX3N1YnN0X3BpZDsKIGV4dGVybiBjaGFyICpzaGVsbF9uYW1lLCAqY3VycmVudF9ob3N0X25hbWU7CiBleHRlcm4gY2hhciAqZGlzdF92ZXJzaW9uOwogZXh0ZXJuIGludCBwYXRjaF9sZXZlbDsKQEAgLTM5MywxMCArMzk2LDYgQEAKICAgIHF1b3Rlcy4gKi8KIGludCBleHRlbmRlZF9xdW90ZSA9IDE7CiAKLS8qIFRoZSBkZWNvZGVkIHByb21wdCBzdHJpbmcuICBVc2VkIGlmIFJFQURMSU5FIGlzIG5vdCBkZWZpbmVkIG9yIGlmCi0gICBlZGl0aW5nIGlzIHR1cm5lZCBvZmYuICBBbmFsb2dvdXMgdG8gY3VycmVudF9yZWFkbGluZV9wcm9tcHQuICovCi1zdGF0aWMgY2hhciAqY3VycmVudF9kZWNvZGVkX3Byb21wdDsKLQogLyogVGhlIG51bWJlciBvZiBsaW5lcyByZWFkIGZyb20gaW5wdXQgd2hpbGUgY3JlYXRpbmcgdGhlIGN1cnJlbnQgY29tbWFuZC4gKi8KIGludCBjdXJyZW50X2NvbW1hbmRfbGluZV9jb3VudDsKIApAQCAtNDA2LDYgKzQwNSw5IEBACiAvKiBUaGUgdG9rZW4gY3VycmVudGx5IGJlaW5nIHJlYWQuICovCiBpbnQgY3VycmVudF90b2tlbjsKIAorLyogVGhlIGN1cnJlbnQgcGFyc2VyIHN0YXRlLiAqLworaW50IHBhcnNlcl9zdGF0ZTsKKwogLyogVmFyaWFibGVzIHRvIG1hbmFnZSB0aGUgdGFzayBvZiByZWFkaW5nIGhlcmUgZG9jdW1lbnRzLCBiZWNhdXNlIHdlIG5lZWQgdG8KICAgIGRlZmVyIHRoZSByZWFkaW5nIHVudGlsIGFmdGVyIGEgY29tcGxldGUgY29tbWFuZCBoYXMgYmVlbiBjb2xsZWN0ZWQuICovCiBzdGF0aWMgUkVESVJFQ1QgKnJlZGlyX3N0YWNrWzEwXTsKQEAgLTQzMCw4ICs0MzIsOSBAQAogLyogVGhlIGxpbmUgbnVtYmVyIGluIGEgc2NyaXB0IGF0IHdoaWNoIGFuIGFyaXRobWV0aWMgZm9yIGNvbW1hbmQgc3RhcnRzLiAqLwogc3RhdGljIGludCBhcml0aF9mb3JfbGluZW5vOwogCi0vKiBUaGUgY3VycmVudCBwYXJzZXIgc3RhdGUuICovCi1zdGF0aWMgaW50IHBhcnNlcl9zdGF0ZTsKKy8qIFRoZSBkZWNvZGVkIHByb21wdCBzdHJpbmcuICBVc2VkIGlmIFJFQURMSU5FIGlzIG5vdCBkZWZpbmVkIG9yIGlmCisgICBlZGl0aW5nIGlzIHR1cm5lZCBvZmYuICBBbmFsb2dvdXMgdG8gY3VycmVudF9yZWFkbGluZV9wcm9tcHQuICovCitzdGF0aWMgY2hhciAqY3VycmVudF9kZWNvZGVkX3Byb21wdDsKIAogLyogVGhlIGxhc3QgcmVhZCB0b2tlbiwgb3IgTlVMTC4gIHJlYWRfdG9rZW4gKCkgdXNlcyB0aGlzIGZvciBjb250ZXh0CiAgICBjaGVja2luZy4gKi8KQEAgLTQ0Myw2ICs0NDYsOCBAQAogLyogVGhlIHRva2VuIHJlYWQgcHJpb3IgdG8gdG9rZW5fYmVmb3JlX3RoYXQuICovCiBzdGF0aWMgaW50IHR3b190b2tlbnNfYWdvOwogCitzdGF0aWMgaW50IGdsb2JhbF9leHRnbG9iOworCiAvKiBUaGUgbGluZSBudW1iZXIgaW4gYSBzY3JpcHQgd2hlcmUgdGhlIHdvcmQgaW4gYSBgY2FzZSBXT1JEJywgYHNlbGVjdCBXT1JEJwogICAgb3IgYGZvciBXT1JEJyBiZWdpbnMuICBUaGlzIGlzIGEgbmVzdGVkIGNvbW1hbmQgbWF4aW11bSwgc2luY2UgdGhlIGFycmF5CiAgICBpbmRleCBpcyBkZWNyZW1lbnRlZCBhZnRlciBhIGNhc2UsIHNlbGVjdCwgb3IgZm9yIGNvbW1hbmQgaXMgcGFyc2VkLiAqLwpAQCAtNDU3LDYgKzQ2Miw3IEBACiBzdGF0aWMgaW50IHRva2VuX3RvX3JlYWQ7CiBzdGF0aWMgV09SRF9ERVNDICp3b3JkX2Rlc2NfdG9fcmVhZDsKIAorc3RhdGljIFJFRElSRUNURUUgc291cmNlOwogc3RhdGljIFJFRElSRUNURUUgcmVkaXI7CiAKIApAQCAtNDgwLDcgKzQ4Niw3IEBACiAKICNpZiAhIGRlZmluZWQgWVlTVFlQRSAmJiAhIGRlZmluZWQgWVlTVFlQRV9JU19ERUNMQVJFRAogdHlwZWRlZiB1bmlvbiBZWVNUWVBFCi0jbGluZSAzMTYgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMzIwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKIHsKICAgV09SRF9ERVNDICp3b3JkOwkJLyogdGhlIHdvcmQgdGhhdCB3ZSByZWFkLiAqLwogICBpbnQgbnVtYmVyOwkJCS8qIHRoZSBudW1iZXIgdGhhdCB3ZSByZWFkLiAqLwpAQCAtNDkxLDcgKzQ5Nyw3IEBACiAgIFBBVFRFUk5fTElTVCAqcGF0dGVybjsKIH0KIC8qIExpbmUgMTg3IG9mIHlhY2MuYy4gICovCi0jbGluZSA0OTUgInkudGFiLmMiCisjbGluZSA1MDEgInkudGFiLmMiCiAJWVlTVFlQRTsKICMgZGVmaW5lIHl5c3R5cGUgWVlTVFlQRSAvKiBvYnNvbGVzY2VudDsgd2lsbCBiZSB3aXRoZHJhd24gKi8KICMgZGVmaW5lIFlZU1RZUEVfSVNfREVDTEFSRUQgMQpAQCAtNTA0LDcgKzUxMCw3IEBACiAKIAogLyogTGluZSAyMTYgb2YgeWFjYy5jLiAgKi8KLSNsaW5lIDUwOCAieS50YWIuYyIKKyNsaW5lIDUxNCAieS50YWIuYyIKIAogI2lmZGVmIHNob3J0CiAjIHVuZGVmIHNob3J0CkBAIC03MTcsMjIgKzcyMywyMiBAQAogI2VuZGlmCiAKIC8qIFlZRklOQUwgLS0gU3RhdGUgbnVtYmVyIG9mIHRoZSB0ZXJtaW5hdGlvbiBzdGF0ZS4gICovCi0jZGVmaW5lIFlZRklOQUwgIDEwMgorI2RlZmluZSBZWUZJTkFMICAxMTMKIC8qIFlZTEFTVCAtLSBMYXN0IGluZGV4IGluIFlZVEFCTEUuICAqLwotI2RlZmluZSBZWUxBU1QgICA3MjgKKyNkZWZpbmUgWVlMQVNUICAgNzYwCiAKIC8qIFlZTlRPS0VOUyAtLSBOdW1iZXIgb2YgdGVybWluYWxzLiAgKi8KLSNkZWZpbmUgWVlOVE9LRU5TICA1OQorI2RlZmluZSBZWU5UT0tFTlMgIDYwCiAvKiBZWU5OVFMgLS0gTnVtYmVyIG9mIG5vbnRlcm1pbmFscy4gICovCiAjZGVmaW5lIFlZTk5UUyAgMzgKIC8qIFlZTlJVTEVTIC0tIE51bWJlciBvZiBydWxlcy4gICovCi0jZGVmaW5lIFlZTlJVTEVTICAxNTMKKyNkZWZpbmUgWVlOUlVMRVMgIDE2NwogLyogWVlOUlVMRVMgLS0gTnVtYmVyIG9mIHN0YXRlcy4gICovCi0jZGVmaW5lIFlZTlNUQVRFUyAgMzE5CisjZGVmaW5lIFlZTlNUQVRFUyAgMzQ0CiAKIC8qIFlZVFJBTlNMQVRFKFlZTEVYKSAtLSBCaXNvbiBzeW1ib2wgbnVtYmVyIGNvcnJlc3BvbmRpbmcgdG8gWVlMRVguICAqLwogI2RlZmluZSBZWVVOREVGVE9LICAyCi0jZGVmaW5lIFlZTUFYVVRPSyAgIDMwMgorI2RlZmluZSBZWU1BWFVUT0sgICAzMDMKIAogI2RlZmluZSBZWVRSQU5TTEFURShZWVgpCQkJCQkJXAogICAoKHVuc2lnbmVkIGludCkgKFlZWCkgPD0gWVlNQVhVVE9LID8geXl0cmFuc2xhdGVbWVlYXSA6IFlZVU5ERUZUT0spCkBAIC03NDEsMTggKzc0NywxOCBAQAogc3RhdGljIGNvbnN0IHl5dHlwZV91aW50OCB5eXRyYW5zbGF0ZVtdID0KIHsKICAgICAgICAwLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLAotICAgICAgNDksICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCisgICAgICA1MCwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwKICAgICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLAotICAgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICA0NywgICAgIDIsCi0gICAgICA1NywgICAgNTgsICAgICAyLCAgICAgMiwgICAgIDIsICAgIDU0LCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwKLSAgICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgIDQ4LAotICAgICAgNTMsICAgICAyLCAgICA1MiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCisgICAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgIDQ4LCAgICAgMiwKKyAgICAgIDU4LCAgICA1OSwgICAgIDIsICAgICAyLCAgICAgMiwgICAgNTUsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLAorICAgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgNDksCisgICAgICA1NCwgICAgIDIsICAgIDUzLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwKICAgICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLAogICAgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCiAgICAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwKICAgICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLAogICAgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCi0gICAgICAgMiwgICAgIDIsICAgICAyLCAgICA1NSwgICAgNTEsICAgIDU2LCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwKKyAgICAgICAyLCAgICAgMiwgICAgIDIsICAgIDU2LCAgICA1MiwgICAgNTcsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLAogICAgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCiAgICAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwKICAgICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLApAQCAtNzcwLDcgKzc3Niw3IEBACiAgICAgICAxNSwgICAgMTYsICAgIDE3LCAgICAxOCwgICAgMTksICAgIDIwLCAgICAyMSwgICAgMjIsICAgIDIzLCAgICAyNCwKICAgICAgIDI1LCAgICAyNiwgICAgMjcsICAgIDI4LCAgICAyOSwgICAgMzAsICAgIDMxLCAgICAzMiwgICAgMzMsICAgIDM0LAogICAgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAgIDM5LCAgICA0MCwgICAgNDEsICAgIDQyLCAgICA0MywgICAgNDQsCi0gICAgICA0NSwgICAgNDYsICAgIDUwCisgICAgICA0NSwgICAgNDYsICAgIDQ3LCAgICA1MQogfTsKIAogI2lmIFlZREVCVUcKQEAgLTc3OSwxMTAgKzc4NSwxMTggQEAKIHN0YXRpYyBjb25zdCB5eXR5cGVfdWludDE2IHl5cHJoc1tdID0KIHsKICAgICAgICAwLCAgICAgMCwgICAgIDMsICAgICA2LCAgICAgOCwgICAgMTEsICAgIDEzLCAgICAxNSwgICAgMTgsICAgIDIxLAotICAgICAgMjQsICAgIDI4LCAgICAzMiwgICAgMzUsICAgIDM5LCAgICA0MiwgICAgNDYsICAgIDQ5LCAgICA1MywgICAgNTYsCi0gICAgICA2MCwgICAgNjMsICAgIDY3LCAgICA3MCwgICAgNzQsICAgIDc3LCAgICA4MSwgICAgODQsICAgIDg4LCAgICA5MSwKLSAgICAgIDk1LCAgICA5OCwgICAxMDIsICAgMTA1LCAgIDEwOCwgICAxMTIsICAgMTE1LCAgIDExOCwgICAxMjIsICAgMTI0LAotICAgICAxMjYsICAgMTI4LCAgIDEzMCwgICAxMzMsICAgMTM1LCAgIDEzOCwgICAxNDAsICAgMTQyLCAgIDE0NSwgICAxNDcsCi0gICAgIDE0OSwgICAxNTEsICAgMTUzLCAgIDE1OSwgICAxNjUsICAgMTY3LCAgIDE2OSwgICAxNzEsICAgMTczLCAgIDE3NSwKLSAgICAgMTc3LCAgIDE3OSwgICAxODYsICAgMTkzLCAgIDIwMSwgICAyMDksICAgMjIwLCAgIDIzMSwgICAyNDEsICAgMjUxLAotICAgICAyNTksICAgMjY3LCAgIDI3MywgICAyNzksICAgMjg2LCAgIDI5MywgICAzMDEsICAgMzA5LCAgIDMyMCwgICAzMzEsCi0gICAgIDMzOCwgICAzNDYsICAgMzUzLCAgIDM1OSwgICAzNjYsICAgMzcxLCAgIDM3MywgICAzNzYsICAgMzgwLCAgIDM4MywKLSAgICAgMzg3LCAgIDM5MSwgICAzOTYsICAgMzk5LCAgIDQwNSwgICA0MTMsICAgNDIwLCAgIDQyNCwgICA0MjYsICAgNDMwLAotICAgICA0MzUsICAgNDQyLCAgIDQ0OCwgICA0NTAsICAgNDUzLCAgIDQ1OCwgICA0NjMsICAgNDY5LCAgIDQ3NSwgICA0NzgsCi0gICAgIDQ4MiwgICA0ODUsICAgNDg5LCAgIDQ5MiwgICA0OTYsICAgNDk4LCAgIDUwMiwgICA1MDUsICAgNTA3LCAgIDUxMCwKLSAgICAgNTE0LCAgIDUxOCwgICA1MjIsICAgNTI3LCAgIDUzMiwgICA1MzcsICAgNTQyLCAgIDU0NywgICA1NDksICAgNTUxLAotICAgICA1NTMsICAgNTU1LCAgIDU1NywgICA1NTksICAgNTYwLCAgIDU2MywgICA1NjUsICAgNTY4LCAgIDU3MSwgICA1NzYsCi0gICAgIDU4MSwgICA1ODUsICAgNTg5LCAgIDU5MSwgICA1OTMsICAgNTk2LCAgIDU5OSwgICA2MDMsICAgNjA3LCAgIDYxMCwKLSAgICAgNjE1LCAgIDYyMCwgICA2MjIsICAgNjI0CisgICAgICAyNCwgICAgMjgsICAgIDMyLCAgICAzNiwgICAgNDAsICAgIDQzLCAgICA0NywgICAgNTEsICAgIDU0LCAgICA1OCwKKyAgICAgIDYyLCAgICA2NSwgICAgNjksICAgIDczLCAgICA3NiwgICAgODAsICAgIDg0LCAgICA4NywgICAgOTEsICAgIDk1LAorICAgICAgOTgsICAgMTAyLCAgIDEwNiwgICAxMDksICAgMTEzLCAgIDExNywgICAxMjAsICAgMTI0LCAgIDEyOCwgICAxMzEsCisgICAgIDEzNSwgICAxMzksICAgMTQyLCAgIDE0NiwgICAxNTAsICAgMTUzLCAgIDE1NywgICAxNjEsICAgMTY0LCAgIDE2OCwKKyAgICAgMTcyLCAgIDE3NSwgICAxNzgsICAgMTgwLCAgIDE4MiwgICAxODQsICAgMTg2LCAgIDE4OSwgICAxOTEsICAgMTk0LAorICAgICAxOTYsICAgMTk4LCAgIDIwMSwgICAyMDMsICAgMjA1LCAgIDIwNywgICAyMDksICAgMjE1LCAgIDIyMSwgICAyMjMsCisgICAgIDIyNSwgICAyMjcsICAgMjI5LCAgIDIzMSwgICAyMzMsICAgMjM1LCAgIDI0MiwgICAyNDksICAgMjU3LCAgIDI2NSwKKyAgICAgMjc2LCAgIDI4NywgICAyOTcsICAgMzA3LCAgIDMxNSwgICAzMjMsICAgMzI5LCAgIDMzNSwgICAzNDIsICAgMzQ5LAorICAgICAzNTcsICAgMzY1LCAgIDM3NiwgICAzODcsICAgMzk0LCAgIDQwMiwgICA0MDksICAgNDE1LCAgIDQyMiwgICA0MjcsCisgICAgIDQyOSwgICA0MzIsICAgNDM2LCAgIDQzOSwgICA0NDMsICAgNDQ3LCAgIDQ1MiwgICA0NTUsICAgNDYxLCAgIDQ2OSwKKyAgICAgNDc2LCAgIDQ4MCwgICA0ODIsICAgNDg2LCAgIDQ5MSwgICA0OTgsICAgNTA0LCAgIDUwNiwgICA1MDksICAgNTE0LAorICAgICA1MTksICAgNTI1LCAgIDUzMSwgICA1MzQsICAgNTM4LCAgIDU0MSwgICA1NDUsICAgNTQ4LCAgIDU1MiwgICA1NTQsCisgICAgIDU1OCwgICA1NjEsICAgNTYzLCAgIDU2NiwgICA1NzAsICAgNTc0LCAgIDU3OCwgICA1ODMsICAgNTg4LCAgIDU5MywKKyAgICAgNTk4LCAgIDYwMywgICA2MDUsICAgNjA3LCAgIDYwOSwgICA2MTEsICAgNjEzLCAgIDYxNSwgICA2MTYsICAgNjE5LAorICAgICA2MjEsICAgNjI0LCAgIDYyNywgICA2MzIsICAgNjM3LCAgIDY0MSwgICA2NDUsICAgNjQ3LCAgIDY0OSwgICA2NTIsCisgICAgIDY1NSwgICA2NTksICAgNjYzLCAgIDY2NiwgICA2NzEsICAgNjc2LCAgIDY3OCwgICA2ODAKIH07CiAKIC8qIFlZUkhTIC0tIEEgYC0xJy1zZXBhcmF0ZWQgbGlzdCBvZiB0aGUgcnVsZXMnIFJIUy4gICovCiBzdGF0aWMgY29uc3QgeXl0eXBlX2ludDggeXlyaHNbXSA9CiB7Ci0gICAgICA2MCwgICAgIDAsICAgIC0xLCAgICA5MiwgICAgODksICAgIC0xLCAgICA0OSwgICAgLTEsICAgICAxLCAgICA0OSwKLSAgICAgIC0xLCAgICA1MCwgICAgLTEsICAgIDI1LCAgICAtMSwgICAgNjEsICAgIDI1LCAgICAtMSwgICAgNTIsICAgIDI1LAotICAgICAgLTEsICAgIDUzLCAgICAyNSwgICAgLTEsICAgIDI3LCAgICA1MiwgICAgMjUsICAgIC0xLCAgICAyNywgICAgNTMsCi0gICAgICAyNSwgICAgLTEsICAgIDMzLCAgICAyNSwgICAgLTEsICAgIDI3LCAgICAzMywgICAgMjUsICAgIC0xLCAgICAzNCwKLSAgICAgIDI1LCAgICAtMSwgICAgMjcsICAgIDM0LCAgICAyNSwgICAgLTEsICAgIDM2LCAgICAyNSwgICAgLTEsICAgIDI3LAotICAgICAgMzYsICAgIDI1LCAgICAtMSwgICAgMzUsICAgIDI3LCAgICAtMSwgICAgMjcsICAgIDM1LCAgICAyNywgICAgLTEsCi0gICAgICAzNywgICAgMjcsICAgIC0xLCAgICAyNywgICAgMzcsICAgIDI3LCAgICAtMSwgICAgMzUsICAgIDI1LCAgICAtMSwKLSAgICAgIDI3LCAgICAzNSwgICAgMjUsICAgIC0xLCAgICAzNywgICAgMjUsICAgIC0xLCAgICAyNywgICAgMzcsICAgIDI1LAotICAgICAgLTEsICAgIDQxLCAgICAyNSwgICAgLTEsICAgIDI3LCAgICA0MSwgICAgMjUsICAgIC0xLCAgICAzNywgICAgNTQsCi0gICAgICAtMSwgICAgMjcsICAgIDM3LCAgICA1NCwgICAgLTEsICAgIDM1LCAgICA1NCwgICAgLTEsICAgIDI3LCAgICAzNSwKLSAgICAgIDU0LCAgICAtMSwgICAgNDIsICAgIDI1LCAgICAtMSwgICAgNDMsICAgIDI1LCAgICAtMSwgICAgMjcsICAgIDQ0LAotICAgICAgMjUsICAgIC0xLCAgICA0NCwgICAgMjUsICAgIC0xLCAgICA0NSwgICAgMjUsICAgIC0xLCAgICAyNywgICAgNDUsCi0gICAgICAyNSwgICAgLTEsICAgIDI1LCAgICAtMSwgICAgMjYsICAgIC0xLCAgICA2MiwgICAgLTEsICAgIDYyLCAgICAtMSwKLSAgICAgIDY0LCAgICA2MiwgICAgLTEsICAgIDYzLCAgICAtMSwgICAgNjUsICAgIDYzLCAgICAtMSwgICAgNjUsICAgIC0xLAotICAgICAgNjcsICAgIC0xLCAgICA2NywgICAgNjQsICAgIC0xLCAgICA3MiwgICAgLTEsICAgIDc1LCAgICAtMSwgICAgNjgsCi0gICAgICAtMSwgICAgNzEsICAgIC0xLCAgICAxMiwgICAgODYsICAgIDE0LCAgICA4NiwgICAgMTUsICAgIC0xLCAgICAxMywKLSAgICAgIDg2LCAgICAxNCwgICAgODYsICAgIDE1LCAgICAtMSwgICAgNzAsICAgIC0xLCAgICA3NiwgICAgLTEsICAgIDc0LAotICAgICAgLTEsICAgIDc3LCAgICAtMSwgICAgNzgsICAgIC0xLCAgICA3OSwgICAgLTEsICAgIDY5LCAgICAtMSwgICAgMTAsCi0gICAgICAyNSwgICAgOTEsICAgIDE0LCAgICA4NiwgICAgMTUsICAgIC0xLCAgICAxMCwgICAgMjUsICAgIDkxLCAgICA1NSwKLSAgICAgIDg2LCAgICA1NiwgICAgLTEsICAgIDEwLCAgICAyNSwgICAgNDgsICAgIDkxLCAgICAxNCwgICAgODYsICAgIDE1LAotICAgICAgLTEsICAgIDEwLCAgICAyNSwgICAgNDgsICAgIDkxLCAgICA1NSwgICAgODYsICAgIDU2LCAgICAtMSwgICAgMTAsCi0gICAgICAyNSwgICAgOTEsICAgIDIxLCAgICA2MSwgICAgOTAsICAgIDkxLCAgICAxNCwgICAgODYsICAgIDE1LCAgICAtMSwKLSAgICAgIDEwLCAgICAyNSwgICAgOTEsICAgIDIxLCAgICA2MSwgICAgOTAsICAgIDkxLCAgICA1NSwgICAgODYsICAgIDU2LAotICAgICAgLTEsICAgIDEwLCAgICAyNSwgICAgOTEsICAgIDIxLCAgICA5MCwgICAgOTEsICAgIDE0LCAgICA4NiwgICAgMTUsCi0gICAgICAtMSwgICAgMTAsICAgIDI1LCAgICA5MSwgICAgMjEsICAgIDkwLCAgICA5MSwgICAgNTUsICAgIDg2LCAgICA1NiwKLSAgICAgIC0xLCAgICAxMCwgICAgMjksICAgIDkwLCAgICA5MSwgICAgMTQsICAgIDg2LCAgICAxNSwgICAgLTEsICAgIDEwLAotICAgICAgMjksICAgIDkwLCAgICA5MSwgICAgNTUsICAgIDg2LCAgICA1NiwgICAgLTEsICAgIDEwLCAgICAyOSwgICAgMTQsCi0gICAgICA4NiwgICAgMTUsICAgIC0xLCAgICAxMCwgICAgMjksICAgIDU1LCAgICA4NiwgICAgNTYsICAgIC0xLCAgICAxMSwKLSAgICAgIDI1LCAgICA5MSwgICAgMTQsICAgIDg1LCAgICAxNSwgICAgLTEsICAgIDExLCAgICAyNSwgICAgOTEsICAgIDU1LAotICAgICAgODUsICAgIDU2LCAgICAtMSwgICAgMTEsICAgIDI1LCAgICA0OCwgICAgOTEsICAgIDE0LCAgICA4NSwgICAgMTUsCi0gICAgICAtMSwgICAgMTEsICAgIDI1LCAgICA0OCwgICAgOTEsICAgIDU1LCAgICA4NSwgICAgNTYsICAgIC0xLCAgICAxMSwKLSAgICAgIDI1LCAgICA5MSwgICAgMjEsICAgIDYxLCAgICA5MCwgICAgOTEsICAgIDE0LCAgICA4NSwgICAgMTUsICAgIC0xLAotICAgICAgMTEsICAgIDI1LCAgICA5MSwgICAgMjEsICAgIDYxLCAgICA5MCwgICAgOTEsICAgIDU1LCAgICA4NSwgICAgNTYsCi0gICAgICAtMSwgICAgIDgsICAgIDI1LCAgICA5MSwgICAgMjEsICAgIDkxLCAgICAgOSwgICAgLTEsICAgICA4LCAgICAyNSwKLSAgICAgIDkxLCAgICAyMSwgICAgODMsICAgIDkxLCAgICAgOSwgICAgLTEsICAgICA4LCAgICAyNSwgICAgOTEsICAgIDIxLAotICAgICAgODEsICAgICA5LCAgICAtMSwgICAgMjUsICAgIDU3LCAgICA1OCwgICAgOTEsICAgIDczLCAgICAtMSwgICAgMTYsCi0gICAgICAyNSwgICAgNTcsICAgIDU4LCAgICA5MSwgICAgNzMsICAgIC0xLCAgICAxNiwgICAgMjUsICAgIDkxLCAgICA3MywKLSAgICAgIC0xLCAgICA2NywgICAgLTEsICAgIDY3LCAgICA2NCwgICAgLTEsICAgIDU3LCAgICA4NiwgICAgNTgsICAgIC0xLAotICAgICAgMTcsICAgIDY3LCAgICAtMSwgICAgMTcsICAgIDY3LCAgICA2NCwgICAgLTEsICAgIDE3LCAgICAyNSwgICAgNjcsCi0gICAgICAtMSwgICAgMTcsICAgIDI1LCAgICA2NywgICAgNjQsICAgIC0xLCAgICAxNywgICAgNjUsICAgIC0xLCAgICAgMywKLSAgICAgIDg2LCAgICAgNCwgICAgODYsICAgICA3LCAgICAtMSwgICAgIDMsICAgIDg2LCAgICAgNCwgICAgODYsICAgICA1LAotICAgICAgODYsICAgICA3LCAgICAtMSwgICAgIDMsICAgIDg2LCAgICAgNCwgICAgODYsICAgIDgwLCAgICAgNywgICAgLTEsCi0gICAgICA1NSwgICAgODYsICAgIDU2LCAgICAtMSwgICAgMjgsICAgIC0xLCAgICAxOCwgICAgMzAsICAgIDE5LCAgICAtMSwKLSAgICAgICA2LCAgICA4NiwgICAgIDQsICAgIDg2LCAgICAtMSwgICAgIDYsICAgIDg2LCAgICAgNCwgICAgODYsICAgICA1LAotICAgICAgODYsICAgIC0xLCAgICAgNiwgICAgODYsICAgICA0LCAgICA4NiwgICAgODAsICAgIC0xLCAgICA4MiwgICAgLTEsCi0gICAgICA4MywgICAgODIsICAgIC0xLCAgICA5MSwgICAgODQsICAgIDU4LCAgICA4NiwgICAgLTEsICAgIDkxLCAgICA4NCwKLSAgICAgIDU4LCAgICA5MSwgICAgLTEsICAgIDkxLCAgICA1NywgICAgODQsICAgIDU4LCAgICA4NiwgICAgLTEsICAgIDkxLAotICAgICAgNTcsICAgIDg0LCAgICA1OCwgICAgOTEsICAgIC0xLCAgICA4MiwgICAgMzgsICAgIC0xLCAgICA4MywgICAgODIsCi0gICAgICAzOCwgICAgLTEsICAgIDgyLCAgICAzOSwgICAgLTEsICAgIDgzLCAgICA4MiwgICAgMzksICAgIC0xLCAgICA4MiwKLSAgICAgIDQwLCAgICAtMSwgICAgODMsICAgIDgyLCAgICA0MCwgICAgLTEsICAgIDI1LCAgICAtMSwgICAgODQsICAgIDUxLAotICAgICAgMjUsICAgIC0xLCAgICA5MSwgICAgODcsICAgIC0xLCAgICA4NSwgICAgLTEsICAgIDkxLCAgICA4OCwgICAgLTEsCi0gICAgICA4OCwgICAgNDksICAgIDkxLCAgICAtMSwgICAgODgsICAgIDQ3LCAgICA5MSwgICAgLTEsICAgIDg4LCAgICA0OCwKLSAgICAgIDkxLCAgICAtMSwgICAgODgsICAgIDMxLCAgICA5MSwgICAgODgsICAgIC0xLCAgICA4OCwgICAgMzIsICAgIDkxLAotICAgICAgODgsICAgIC0xLCAgICA4OCwgICAgNDcsICAgIDkxLCAgICA4OCwgICAgLTEsICAgIDg4LCAgICA0OCwgICAgOTEsCi0gICAgICA4OCwgICAgLTEsICAgIDg4LCAgICA0OSwgICAgOTEsICAgIDg4LCAgICAtMSwgICAgOTQsICAgIC0xLCAgICA0OSwKLSAgICAgIC0xLCAgICA1MCwgICAgLTEsICAgIDQ5LCAgICAtMSwgICAgNDgsICAgIC0xLCAgICA1MCwgICAgLTEsICAgIC0xLAotICAgICAgOTEsICAgIDQ5LCAgICAtMSwgICAgOTMsICAgIC0xLCAgICA5MywgICAgNDcsICAgIC0xLCAgICA5MywgICAgNDgsCi0gICAgICAtMSwgICAgOTMsICAgIDMxLCAgICA5MSwgICAgOTMsICAgIC0xLCAgICA5MywgICAgMzIsICAgIDkxLCAgICA5MywKLSAgICAgIC0xLCAgICA5MywgICAgNDcsICAgIDkzLCAgICAtMSwgICAgOTMsICAgIDQ4LCAgICA5MywgICAgLTEsICAgIDk0LAotICAgICAgLTEsICAgIDk1LCAgICAtMSwgICAgMjIsICAgIDk1LCAgICAtMSwgICAgOTYsICAgIDk1LCAgICAtMSwgICAgOTYsCi0gICAgICAyMiwgICAgOTUsICAgIC0xLCAgICAyMiwgICAgOTYsICAgIDk1LCAgICAtMSwgICAgOTYsICAgIDkwLCAgICAtMSwKLSAgICAgIDk1LCAgICA1MSwgICAgOTEsICAgIDk1LCAgICAtMSwgICAgOTUsICAgIDQ2LCAgICA5MSwgICAgOTUsICAgIC0xLAotICAgICAgNjYsICAgIC0xLCAgICAyMywgICAgLTEsICAgIDIzLCAgICAyNCwgICAgLTEKKyAgICAgIDYxLCAgICAgMCwgICAgLTEsICAgIDkzLCAgICA5MCwgICAgLTEsICAgIDUwLCAgICAtMSwgICAgIDEsICAgIDUwLAorICAgICAgLTEsICAgIDUxLCAgICAtMSwgICAgMjUsICAgIC0xLCAgICA2MiwgICAgMjUsICAgIC0xLCAgICA1MywgICAgMjUsCisgICAgICAtMSwgICAgNTQsICAgIDI1LCAgICAtMSwgICAgMjgsICAgIDUzLCAgICAyNSwgICAgLTEsICAgIDI4LCAgICA1NCwKKyAgICAgIDI1LCAgICAtMSwgICAgMjcsICAgIDUzLCAgICAyNSwgICAgLTEsICAgIDI3LCAgICA1NCwgICAgMjUsICAgIC0xLAorICAgICAgMzQsICAgIDI1LCAgICAtMSwgICAgMjgsICAgIDM0LCAgICAyNSwgICAgLTEsICAgIDI3LCAgICAzNCwgICAgMjUsCisgICAgICAtMSwgICAgNDYsICAgIDI1LCAgICAtMSwgICAgMjgsICAgIDQ2LCAgICAyNSwgICAgLTEsICAgIDI3LCAgICA0NiwKKyAgICAgIDI1LCAgICAtMSwgICAgNDUsICAgIDI1LCAgICAtMSwgICAgMjgsICAgIDQ1LCAgICAyNSwgICAgLTEsICAgIDI3LAorICAgICAgNDUsICAgIDI1LCAgICAtMSwgICAgMzUsICAgIDI1LCAgICAtMSwgICAgMjgsICAgIDM1LCAgICAyNSwgICAgLTEsCisgICAgICAyNywgICAgMzUsICAgIDI1LCAgICAtMSwgICAgNDIsICAgIDI1LCAgICAtMSwgICAgMjgsICAgIDQyLCAgICAyNSwKKyAgICAgIC0xLCAgICAyNywgICAgNDIsICAgIDI1LCAgICAtMSwgICAgMzcsICAgIDI1LCAgICAtMSwgICAgMjgsICAgIDM3LAorICAgICAgMjUsICAgIC0xLCAgICAyNywgICAgMzcsICAgIDI1LCAgICAtMSwgICAgMzYsICAgIDI4LCAgICAtMSwgICAgMjgsCisgICAgICAzNiwgICAgMjgsICAgIC0xLCAgICAyNywgICAgMzYsICAgIDI4LCAgICAtMSwgICAgMzgsICAgIDI4LCAgICAtMSwKKyAgICAgIDI4LCAgICAzOCwgICAgMjgsICAgIC0xLCAgICAyNywgICAgMzgsICAgIDI4LCAgICAtMSwgICAgMzYsICAgIDI1LAorICAgICAgLTEsICAgIDI4LCAgICAzNiwgICAgMjUsICAgIC0xLCAgICAyNywgICAgMzYsICAgIDI1LCAgICAtMSwgICAgMzgsCisgICAgICAyNSwgICAgLTEsICAgIDI4LCAgICAzOCwgICAgMjUsICAgIC0xLCAgICAyNywgICAgMzgsICAgIDI1LCAgICAtMSwKKyAgICAgIDM4LCAgICA1NSwgICAgLTEsICAgIDI4LCAgICAzOCwgICAgNTUsICAgIC0xLCAgICAyNywgICAgMzgsICAgIDU1LAorICAgICAgLTEsICAgIDM2LCAgICA1NSwgICAgLTEsICAgIDI4LCAgICAzNiwgICAgNTUsICAgIC0xLCAgICAyNywgICAgMzYsCisgICAgICA1NSwgICAgLTEsICAgIDQzLCAgICAyNSwgICAgLTEsICAgIDQ0LCAgICAyNSwgICAgLTEsICAgIDI1LCAgICAtMSwKKyAgICAgIDI2LCAgICAtMSwgICAgNjMsICAgIC0xLCAgICA2MywgICAgLTEsICAgIDY1LCAgICA2MywgICAgLTEsICAgIDY0LAorICAgICAgLTEsICAgIDY2LCAgICA2NCwgICAgLTEsICAgIDY2LCAgICAtMSwgICAgNjgsICAgIC0xLCAgICA2OCwgICAgNjUsCisgICAgICAtMSwgICAgNzMsICAgIC0xLCAgICA3NiwgICAgLTEsICAgIDY5LCAgICAtMSwgICAgNzIsICAgIC0xLCAgICAxMiwKKyAgICAgIDg3LCAgICAxNCwgICAgODcsICAgIDE1LCAgICAtMSwgICAgMTMsICAgIDg3LCAgICAxNCwgICAgODcsICAgIDE1LAorICAgICAgLTEsICAgIDcxLCAgICAtMSwgICAgNzcsICAgIC0xLCAgICA3NSwgICAgLTEsICAgIDc4LCAgICAtMSwgICAgNzksCisgICAgICAtMSwgICAgODAsICAgIC0xLCAgICA3MCwgICAgLTEsICAgIDEwLCAgICAyNSwgICAgOTIsICAgIDE0LCAgICA4NywKKyAgICAgIDE1LCAgICAtMSwgICAgMTAsICAgIDI1LCAgICA5MiwgICAgNTYsICAgIDg3LCAgICA1NywgICAgLTEsICAgIDEwLAorICAgICAgMjUsICAgIDQ5LCAgICA5MiwgICAgMTQsICAgIDg3LCAgICAxNSwgICAgLTEsICAgIDEwLCAgICAyNSwgICAgNDksCisgICAgICA5MiwgICAgNTYsICAgIDg3LCAgICA1NywgICAgLTEsICAgIDEwLCAgICAyNSwgICAgOTIsICAgIDIxLCAgICA2MiwKKyAgICAgIDkxLCAgICA5MiwgICAgMTQsICAgIDg3LCAgICAxNSwgICAgLTEsICAgIDEwLCAgICAyNSwgICAgOTIsICAgIDIxLAorICAgICAgNjIsICAgIDkxLCAgICA5MiwgICAgNTYsICAgIDg3LCAgICA1NywgICAgLTEsICAgIDEwLCAgICAyNSwgICAgOTIsCisgICAgICAyMSwgICAgOTEsICAgIDkyLCAgICAxNCwgICAgODcsICAgIDE1LCAgICAtMSwgICAgMTAsICAgIDI1LCAgICA5MiwKKyAgICAgIDIxLCAgICA5MSwgICAgOTIsICAgIDU2LCAgICA4NywgICAgNTcsICAgIC0xLCAgICAxMCwgICAgMzAsICAgIDkxLAorICAgICAgOTIsICAgIDE0LCAgICA4NywgICAgMTUsICAgIC0xLCAgICAxMCwgICAgMzAsICAgIDkxLCAgICA5MiwgICAgNTYsCisgICAgICA4NywgICAgNTcsICAgIC0xLCAgICAxMCwgICAgMzAsICAgIDE0LCAgICA4NywgICAgMTUsICAgIC0xLCAgICAxMCwKKyAgICAgIDMwLCAgICA1NiwgICAgODcsICAgIDU3LCAgICAtMSwgICAgMTEsICAgIDI1LCAgICA5MiwgICAgMTQsICAgIDg2LAorICAgICAgMTUsICAgIC0xLCAgICAxMSwgICAgMjUsICAgIDkyLCAgICA1NiwgICAgODYsICAgIDU3LCAgICAtMSwgICAgMTEsCisgICAgICAyNSwgICAgNDksICAgIDkyLCAgICAxNCwgICAgODYsICAgIDE1LCAgICAtMSwgICAgMTEsICAgIDI1LCAgICA0OSwKKyAgICAgIDkyLCAgICA1NiwgICAgODYsICAgIDU3LCAgICAtMSwgICAgMTEsICAgIDI1LCAgICA5MiwgICAgMjEsICAgIDYyLAorICAgICAgOTEsICAgIDkyLCAgICAxNCwgICAgODYsICAgIDE1LCAgICAtMSwgICAgMTEsICAgIDI1LCAgICA5MiwgICAgMjEsCisgICAgICA2MiwgICAgOTEsICAgIDkyLCAgICA1NiwgICAgODYsICAgIDU3LCAgICAtMSwgICAgIDgsICAgIDI1LCAgICA5MiwKKyAgICAgIDIxLCAgICA5MiwgICAgIDksICAgIC0xLCAgICAgOCwgICAgMjUsICAgIDkyLCAgICAyMSwgICAgODQsICAgIDkyLAorICAgICAgIDksICAgIC0xLCAgICAgOCwgICAgMjUsICAgIDkyLCAgICAyMSwgICAgODIsICAgICA5LCAgICAtMSwgICAgMjUsCisgICAgICA1OCwgICAgNTksICAgIDkyLCAgICA3NCwgICAgLTEsICAgIDE2LCAgICAyNSwgICAgNTgsICAgIDU5LCAgICA5MiwKKyAgICAgIDc0LCAgICAtMSwgICAgMTYsICAgIDI1LCAgICA5MiwgICAgNzQsICAgIC0xLCAgICA2OCwgICAgLTEsICAgIDY4LAorICAgICAgNjUsICAgIC0xLCAgICA1OCwgICAgODcsICAgIDU5LCAgICAtMSwgICAgMTcsICAgIDY4LCAgICAtMSwgICAgMTcsCisgICAgICA2OCwgICAgNjUsICAgIC0xLCAgICAxNywgICAgMjUsICAgIDY4LCAgICAtMSwgICAgMTcsICAgIDI1LCAgICA2OCwKKyAgICAgIDY1LCAgICAtMSwgICAgMTcsICAgIDY2LCAgICAtMSwgICAgIDMsICAgIDg3LCAgICAgNCwgICAgODcsICAgICA3LAorICAgICAgLTEsICAgICAzLCAgICA4NywgICAgIDQsICAgIDg3LCAgICAgNSwgICAgODcsICAgICA3LCAgICAtMSwgICAgIDMsCisgICAgICA4NywgICAgIDQsICAgIDg3LCAgICA4MSwgICAgIDcsICAgIC0xLCAgICA1NiwgICAgODcsICAgIDU3LCAgICAtMSwKKyAgICAgIDI5LCAgICAtMSwgICAgMTgsICAgIDMxLCAgICAxOSwgICAgLTEsICAgICA2LCAgICA4NywgICAgIDQsICAgIDg3LAorICAgICAgLTEsICAgICA2LCAgICA4NywgICAgIDQsICAgIDg3LCAgICAgNSwgICAgODcsICAgIC0xLCAgICAgNiwgICAgODcsCisgICAgICAgNCwgICAgODcsICAgIDgxLCAgICAtMSwgICAgODMsICAgIC0xLCAgICA4NCwgICAgODMsICAgIC0xLCAgICA5MiwKKyAgICAgIDg1LCAgICA1OSwgICAgODcsICAgIC0xLCAgICA5MiwgICAgODUsICAgIDU5LCAgICA5MiwgICAgLTEsICAgIDkyLAorICAgICAgNTgsICAgIDg1LCAgICA1OSwgICAgODcsICAgIC0xLCAgICA5MiwgICAgNTgsICAgIDg1LCAgICA1OSwgICAgOTIsCisgICAgICAtMSwgICAgODMsICAgIDM5LCAgICAtMSwgICAgODQsICAgIDgzLCAgICAzOSwgICAgLTEsICAgIDgzLCAgICA0MCwKKyAgICAgIC0xLCAgICA4NCwgICAgODMsICAgIDQwLCAgICAtMSwgICAgODMsICAgIDQxLCAgICAtMSwgICAgODQsICAgIDgzLAorICAgICAgNDEsICAgIC0xLCAgICAyNSwgICAgLTEsICAgIDg1LCAgICA1MiwgICAgMjUsICAgIC0xLCAgICA5MiwgICAgODgsCisgICAgICAtMSwgICAgODYsICAgIC0xLCAgICA5MiwgICAgODksICAgIC0xLCAgICA4OSwgICAgNTAsICAgIDkyLCAgICAtMSwKKyAgICAgIDg5LCAgICA0OCwgICAgOTIsICAgIC0xLCAgICA4OSwgICAgNDksICAgIDkyLCAgICAtMSwgICAgODksICAgIDMyLAorICAgICAgOTIsICAgIDg5LCAgICAtMSwgICAgODksICAgIDMzLCAgICA5MiwgICAgODksICAgIC0xLCAgICA4OSwgICAgNDgsCisgICAgICA5MiwgICAgODksICAgIC0xLCAgICA4OSwgICAgNDksICAgIDkyLCAgICA4OSwgICAgLTEsICAgIDg5LCAgICA1MCwKKyAgICAgIDkyLCAgICA4OSwgICAgLTEsICAgIDk1LCAgICAtMSwgICAgNTAsICAgIC0xLCAgICA1MSwgICAgLTEsICAgIDUwLAorICAgICAgLTEsICAgIDQ5LCAgICAtMSwgICAgNTEsICAgIC0xLCAgICAtMSwgICAgOTIsICAgIDUwLCAgICAtMSwgICAgOTQsCisgICAgICAtMSwgICAgOTQsICAgIDQ4LCAgICAtMSwgICAgOTQsICAgIDQ5LCAgICAtMSwgICAgOTQsICAgIDMyLCAgICA5MiwKKyAgICAgIDk0LCAgICAtMSwgICAgOTQsICAgIDMzLCAgICA5MiwgICAgOTQsICAgIC0xLCAgICA5NCwgICAgNDgsICAgIDk0LAorICAgICAgLTEsICAgIDk0LCAgICA0OSwgICAgOTQsICAgIC0xLCAgICA5NSwgICAgLTEsICAgIDk2LCAgICAtMSwgICAgMjIsCisgICAgICA5NiwgICAgLTEsICAgIDk3LCAgICA5NiwgICAgLTEsICAgIDk3LCAgICAyMiwgICAgOTYsICAgIC0xLCAgICAyMiwKKyAgICAgIDk3LCAgICA5NiwgICAgLTEsICAgIDk3LCAgICA5MSwgICAgLTEsICAgIDk2LCAgICA1MiwgICAgOTIsICAgIDk2LAorICAgICAgLTEsICAgIDk2LCAgICA0NywgICAgOTIsICAgIDk2LCAgICAtMSwgICAgNjcsICAgIC0xLCAgICAyMywgICAgLTEsCisgICAgICAyMywgICAgMjQsICAgIC0xCiB9OwogCiAvKiBZWVJMSU5FW1lZTl0gLS0gc291cmNlIGxpbmUgd2hlcmUgcnVsZSBudW1iZXIgWVlOIHdhcyBkZWZpbmVkLiAgKi8KIHN0YXRpYyBjb25zdCB5eXR5cGVfdWludDE2IHl5cmxpbmVbXSA9CiB7Ci0gICAgICAgMCwgICAzNjksICAgMzY5LCAgIDM4MCwgICAzODksICAgNDA0LCAgIDQxNCwgICA0MTYsICAgNDIwLCAgIDQyNSwKLSAgICAgNDMwLCAgIDQzNSwgICA0NDAsICAgNDQ1LCAgIDQ1MCwgICA0NTYsICAgNDYyLCAgIDQ2NywgICA0NzIsICAgNDc3LAotICAgICA0ODIsICAgNDg3LCAgIDQ5MiwgICA0OTcsICAgNTAyLCAgIDUwNywgICA1MTIsICAgNTE5LCAgIDUyNiwgICA1MzEsCi0gICAgIDUzNiwgICA1NDEsICAgNTQ2LCAgIDU1MSwgICA1NTYsICAgNTYxLCAgIDU2NiwgICA1NzEsICAgNTc4LCAgIDU4MCwKLSAgICAgNTgyLCAgIDU4NiwgICA1OTAsICAgNjAxLCAgIDYwMywgICA2MDcsICAgNjA5LCAgIDYxMSwgICA2MjcsICAgNjI5LAotICAgICA2MzMsICAgNjM1LCAgIDYzNywgICA2MzksICAgNjQxLCAgIDY0MywgICA2NDUsICAgNjQ3LCAgIDY0OSwgICA2NTEsCi0gICAgIDY1MywgICA2NTcsICAgNjYyLCAgIDY2NywgICA2NzIsICAgNjc3LCAgIDY4MiwgICA2ODcsICAgNjkyLCAgIDY5OSwKLSAgICAgNzA0LCAgIDcwOSwgICA3MTQsICAgNzIxLCAgIDcyNiwgICA3MzEsICAgNzM2LCAgIDc0MSwgICA3NDYsICAgNzUzLAotICAgICA3NTgsICAgNzYzLCAgIDc3MCwgICA3NzMsICAgNzc2LCAgIDc4MCwgICA3ODIsICAgODEzLCAgIDgyMCwgICA4MjUsCi0gICAgIDg0MiwgICA4NDcsICAgODY0LCAgIDg3MSwgICA4NzMsICAgODc1LCAgIDg4MCwgICA4ODQsICAgODg4LCAgIDg5MiwKLSAgICAgODk0LCAgIDg5NiwgICA5MDAsICAgOTAxLCAgIDkwNSwgICA5MDcsICAgOTA5LCAgIDkxMSwgICA5MTUsICAgOTE3LAotICAgICA5MTksICAgOTIxLCAgIDkyMywgICA5MjUsICAgOTI5LCAgIDkzMSwgICA5NDAsICAgOTQ4LCAgIDk0OSwgICA5NTUsCi0gICAgIDk1NiwgICA5NjMsICAgOTY3LCAgIDk2OSwgICA5NzEsICAgOTc4LCAgIDk4MCwgICA5ODIsICAgOTg2LCAgIDk4NywKLSAgICAgOTkwLCAgIDk5MiwgICA5OTQsICAgOTk4LCAgIDk5OSwgIDEwMDgsICAxMDIxLCAgMTAzNywgIDEwNTIsICAxMDU0LAotICAgIDEwNTYsICAxMDYzLCAgMTA2NiwgIDEwNzAsICAxMDcyLCAgMTA3OCwgIDEwODQsICAxMDkwLCAgMTA5NiwgIDExMTYsCi0gICAgMTExOCwgIDExNDAsICAxMTQ0LCAgMTE0NgorICAgICAgIDAsICAgMzczLCAgIDM3MywgICAzODQsICAgMzkzLCAgIDQwOCwgICA0MTgsICAgNDIwLCAgIDQyNCwgICA0MzAsCisgICAgIDQzNiwgICA0NDIsICAgNDQ4LCAgIDQ1NCwgICA0NjAsICAgNDY2LCAgIDQ3MiwgICA0NzgsICAgNDg0LCAgIDQ5MCwKKyAgICAgNDk2LCAgIDUwMiwgICA1MDgsICAgNTE0LCAgIDUyMSwgICA1MjgsICAgNTM1LCAgIDU0MiwgICA1NDksICAgNTU2LAorICAgICA1NjIsICAgNTY4LCAgIDU3NCwgICA1ODAsICAgNTg2LCAgIDU5MiwgICA1OTgsICAgNjA0LCAgIDYxMCwgICA2MTYsCisgICAgIDYyMiwgICA2MjgsICAgNjM0LCAgIDY0MCwgICA2NDYsICAgNjUyLCAgIDY1OCwgICA2NjQsICAgNjcwLCAgIDY3NiwKKyAgICAgNjgyLCAgIDY4OCwgICA2OTYsICAgNjk4LCAgIDcwMCwgICA3MDQsICAgNzA4LCAgIDcxOSwgICA3MjEsICAgNzI1LAorICAgICA3MjcsICAgNzI5LCAgIDc0NSwgICA3NDcsICAgNzUxLCAgIDc1MywgICA3NTUsICAgNzU3LCAgIDc1OSwgICA3NjEsCisgICAgIDc2MywgICA3NjUsICAgNzY3LCAgIDc2OSwgICA3NzEsICAgNzc1LCAgIDc4MCwgICA3ODUsICAgNzkwLCAgIDc5NSwKKyAgICAgODAwLCAgIDgwNSwgICA4MTAsICAgODE3LCAgIDgyMiwgICA4MjcsICAgODMyLCAgIDgzOSwgICA4NDQsICAgODQ5LAorICAgICA4NTQsICAgODU5LCAgIDg2NCwgICA4NzEsICAgODc2LCAgIDg4MSwgICA4ODgsICAgODkxLCAgIDg5NCwgICA4OTgsCisgICAgIDkwMCwgICA5MzEsICAgOTM4LCAgIDk0MywgICA5NjAsICAgOTY1LCAgIDk4MiwgICA5ODksICAgOTkxLCAgIDk5MywKKyAgICAgOTk4LCAgMTAwMiwgIDEwMDYsICAxMDEwLCAgMTAxMiwgIDEwMTQsICAxMDE4LCAgMTAxOSwgIDEwMjMsICAxMDI1LAorICAgIDEwMjcsICAxMDI5LCAgMTAzMywgIDEwMzUsICAxMDM3LCAgMTAzOSwgIDEwNDEsICAxMDQzLCAgMTA0NywgIDEwNDksCisgICAgMTA1OCwgIDEwNjYsICAxMDY3LCAgMTA3MywgIDEwNzQsICAxMDgxLCAgMTA4NSwgIDEwODcsICAxMDg5LCAgMTA5NiwKKyAgICAxMDk4LCAgMTEwMCwgIDExMDQsICAxMTA1LCAgMTEwOCwgIDExMTAsICAxMTEyLCAgMTExNiwgIDExMTcsICAxMTI2LAorICAgIDExMzksICAxMTU1LCAgMTE3MCwgIDExNzIsICAxMTc0LCAgMTE4MSwgIDExODQsICAxMTg4LCAgMTE5MCwgIDExOTYsCisgICAgMTIwMiwgIDEyMDgsICAxMjE0LCAgMTIzNCwgIDEyMzYsICAxMjU5LCAgMTI2MywgIDEyNjUKIH07CiAjZW5kaWYKIApAQCAtODk0LDggKzkwOCw4IEBACiAgICIkZW5kIiwgImVycm9yIiwgIiR1bmRlZmluZWQiLCAiSUYiLCAiVEhFTiIsICJFTFNFIiwgIkVMSUYiLCAiRkkiLAogICAiQ0FTRSIsICJFU0FDIiwgIkZPUiIsICJTRUxFQ1QiLCAiV0hJTEUiLCAiVU5USUwiLCAiRE8iLCAiRE9ORSIsCiAgICJGVU5DVElPTiIsICJDT1BST0MiLCAiQ09ORF9TVEFSVCIsICJDT05EX0VORCIsICJDT05EX0VSUk9SIiwgIklOIiwKLSAgIkJBTkciLCAiVElNRSIsICJUSU1FT1BUIiwgIldPUkQiLCAiQVNTSUdOTUVOVF9XT1JEIiwgIk5VTUJFUiIsCi0gICJBUklUSF9DTUQiLCAiQVJJVEhfRk9SX0VYUFJTIiwgIkNPTkRfQ01EIiwgIkFORF9BTkQiLCAiT1JfT1IiLAorICAiQkFORyIsICJUSU1FIiwgIlRJTUVPUFQiLCAiV09SRCIsICJBU1NJR05NRU5UX1dPUkQiLCAiUkVESVJfV09SRCIsCisgICJOVU1CRVIiLCAiQVJJVEhfQ01EIiwgIkFSSVRIX0ZPUl9FWFBSUyIsICJDT05EX0NNRCIsICJBTkRfQU5EIiwgIk9SX09SIiwKICAgIkdSRUFURVJfR1JFQVRFUiIsICJMRVNTX0xFU1MiLCAiTEVTU19BTkQiLCAiTEVTU19MRVNTX0xFU1MiLAogICAiR1JFQVRFUl9BTkQiLCAiU0VNSV9TRU1JIiwgIlNFTUlfQU5EIiwgIlNFTUlfU0VNSV9BTkQiLAogICAiTEVTU19MRVNTX01JTlVTIiwgIkFORF9HUkVBVEVSIiwgIkFORF9HUkVBVEVSX0dSRUFURVIiLCAiTEVTU19HUkVBVEVSIiwKQEAgLTkyMiw1MSArOTM2LDUzIEBACiAgICAgIDI2NSwgICAyNjYsICAgMjY3LCAgIDI2OCwgICAyNjksICAgMjcwLCAgIDI3MSwgICAyNzIsICAgMjczLCAgIDI3NCwKICAgICAgMjc1LCAgIDI3NiwgICAyNzcsICAgMjc4LCAgIDI3OSwgICAyODAsICAgMjgxLCAgIDI4MiwgICAyODMsICAgMjg0LAogICAgICAyODUsICAgMjg2LCAgIDI4NywgICAyODgsICAgMjg5LCAgIDI5MCwgICAyOTEsICAgMjkyLCAgIDI5MywgICAyOTQsCi0gICAgIDI5NSwgICAyOTYsICAgMjk3LCAgIDI5OCwgICAyOTksICAgMzAwLCAgIDMwMSwgICAgMzgsICAgIDU5LCAgICAxMCwKLSAgICAgMzAyLCAgIDEyNCwgICAgNjIsICAgIDYwLCAgICA0NSwgICAxMjMsICAgMTI1LCAgICA0MCwgICAgNDEKKyAgICAgMjk1LCAgIDI5NiwgICAyOTcsICAgMjk4LCAgIDI5OSwgICAzMDAsICAgMzAxLCAgIDMwMiwgICAgMzgsICAgIDU5LAorICAgICAgMTAsICAgMzAzLCAgIDEyNCwgICAgNjIsICAgIDYwLCAgICA0NSwgICAxMjMsICAgMTI1LCAgICA0MCwgICAgNDEKIH07CiAjIGVuZGlmCiAKIC8qIFlZUjFbWVlOXSAtLSBTeW1ib2wgbnVtYmVyIG9mIHN5bWJvbCB0aGF0IHJ1bGUgWVlOIGRlcml2ZXMuICAqLwogc3RhdGljIGNvbnN0IHl5dHlwZV91aW50OCB5eXIxW10gPQogewotICAgICAgIDAsICAgIDU5LCAgICA2MCwgICAgNjAsICAgIDYwLCAgICA2MCwgICAgNjEsICAgIDYxLCAgICA2MiwgICAgNjIsCi0gICAgICA2MiwgICAgNjIsICAgIDYyLCAgICA2MiwgICAgNjIsICAgIDYyLCAgICA2MiwgICAgNjIsICAgIDYyLCAgICA2MiwKLSAgICAgIDYyLCAgICA2MiwgICAgNjIsICAgIDYyLCAgICA2MiwgICAgNjIsICAgIDYyLCAgICA2MiwgICAgNjIsICAgIDYyLAotICAgICAgNjIsICAgIDYyLCAgICA2MiwgICAgNjIsICAgIDYyLCAgICA2MiwgICAgNjIsICAgIDYyLCAgICA2MywgICAgNjMsCi0gICAgICA2MywgICAgNjQsICAgIDY0LCAgICA2NSwgICAgNjUsICAgIDY2LCAgICA2NiwgICAgNjYsICAgIDY2LCAgICA2NiwKLSAgICAgIDY3LCAgICA2NywgICAgNjcsICAgIDY3LCAgICA2NywgICAgNjcsICAgIDY3LCAgICA2NywgICAgNjcsICAgIDY3LAotICAgICAgNjcsICAgIDY4LCAgICA2OCwgICAgNjgsICAgIDY4LCAgICA2OCwgICAgNjgsICAgIDY4LCAgICA2OCwgICAgNjksCi0gICAgICA2OSwgICAgNjksICAgIDY5LCAgICA3MCwgICAgNzAsICAgIDcwLCAgICA3MCwgICAgNzAsICAgIDcwLCAgICA3MSwKLSAgICAgIDcxLCAgICA3MSwgICAgNzIsICAgIDcyLCAgICA3MiwgICAgNzMsICAgIDczLCAgICA3NCwgICAgNzUsICAgIDc1LAotICAgICAgNzUsICAgIDc1LCAgICA3NSwgICAgNzYsICAgIDc2LCAgICA3NiwgICAgNzcsICAgIDc4LCAgICA3OSwgICAgODAsCi0gICAgICA4MCwgICAgODAsICAgIDgxLCAgICA4MSwgICAgODIsICAgIDgyLCAgICA4MiwgICAgODIsICAgIDgzLCAgICA4MywKLSAgICAgIDgzLCAgICA4MywgICAgODMsICAgIDgzLCAgICA4NCwgICAgODQsICAgIDg1LCAgICA4NiwgICAgODYsICAgIDg3LAotICAgICAgODcsICAgIDg3LCAgICA4OCwgICAgODgsICAgIDg4LCAgICA4OCwgICAgODgsICAgIDg4LCAgICA4OSwgICAgODksCi0gICAgICA5MCwgICAgOTAsICAgIDkwLCAgICA5MSwgICAgOTEsICAgIDkyLCAgICA5MiwgICAgOTIsICAgIDkzLCAgICA5MywKLSAgICAgIDkzLCAgICA5MywgICAgOTMsICAgIDk0LCAgICA5NCwgICAgOTQsICAgIDk0LCAgICA5NCwgICAgOTQsICAgIDk1LAotICAgICAgOTUsICAgIDk1LCAgICA5NiwgICAgOTYKKyAgICAgICAwLCAgICA2MCwgICAgNjEsICAgIDYxLCAgICA2MSwgICAgNjEsICAgIDYyLCAgICA2MiwgICAgNjMsICAgIDYzLAorICAgICAgNjMsICAgIDYzLCAgICA2MywgICAgNjMsICAgIDYzLCAgICA2MywgICAgNjMsICAgIDYzLCAgICA2MywgICAgNjMsCisgICAgICA2MywgICAgNjMsICAgIDYzLCAgICA2MywgICAgNjMsICAgIDYzLCAgICA2MywgICAgNjMsICAgIDYzLCAgICA2MywKKyAgICAgIDYzLCAgICA2MywgICAgNjMsICAgIDYzLCAgICA2MywgICAgNjMsICAgIDYzLCAgICA2MywgICAgNjMsICAgIDYzLAorICAgICAgNjMsICAgIDYzLCAgICA2MywgICAgNjMsICAgIDYzLCAgICA2MywgICAgNjMsICAgIDYzLCAgICA2MywgICAgNjMsCisgICAgICA2MywgICAgNjMsICAgIDY0LCAgICA2NCwgICAgNjQsICAgIDY1LCAgICA2NSwgICAgNjYsICAgIDY2LCAgICA2NywKKyAgICAgIDY3LCAgICA2NywgICAgNjcsICAgIDY3LCAgICA2OCwgICAgNjgsICAgIDY4LCAgICA2OCwgICAgNjgsICAgIDY4LAorICAgICAgNjgsICAgIDY4LCAgICA2OCwgICAgNjgsICAgIDY4LCAgICA2OSwgICAgNjksICAgIDY5LCAgICA2OSwgICAgNjksCisgICAgICA2OSwgICAgNjksICAgIDY5LCAgICA3MCwgICAgNzAsICAgIDcwLCAgICA3MCwgICAgNzEsICAgIDcxLCAgICA3MSwKKyAgICAgIDcxLCAgICA3MSwgICAgNzEsICAgIDcyLCAgICA3MiwgICAgNzIsICAgIDczLCAgICA3MywgICAgNzMsICAgIDc0LAorICAgICAgNzQsICAgIDc1LCAgICA3NiwgICAgNzYsICAgIDc2LCAgICA3NiwgICAgNzYsICAgIDc3LCAgICA3NywgICAgNzcsCisgICAgICA3OCwgICAgNzksICAgIDgwLCAgICA4MSwgICAgODEsICAgIDgxLCAgICA4MiwgICAgODIsICAgIDgzLCAgICA4MywKKyAgICAgIDgzLCAgICA4MywgICAgODQsICAgIDg0LCAgICA4NCwgICAgODQsICAgIDg0LCAgICA4NCwgICAgODUsICAgIDg1LAorICAgICAgODYsICAgIDg3LCAgICA4NywgICAgODgsICAgIDg4LCAgICA4OCwgICAgODksICAgIDg5LCAgICA4OSwgICAgODksCisgICAgICA4OSwgICAgODksICAgIDkwLCAgICA5MCwgICAgOTEsICAgIDkxLCAgICA5MSwgICAgOTIsICAgIDkyLCAgICA5MywKKyAgICAgIDkzLCAgICA5MywgICAgOTQsICAgIDk0LCAgICA5NCwgICAgOTQsICAgIDk0LCAgICA5NSwgICAgOTUsICAgIDk1LAorICAgICAgOTUsICAgIDk1LCAgICA5NSwgICAgOTYsICAgIDk2LCAgICA5NiwgICAgOTcsICAgIDk3CiB9OwogCiAvKiBZWVIyW1lZTl0gLS0gTnVtYmVyIG9mIHN5bWJvbHMgY29tcG9zaW5nIHJpZ2h0IGhhbmQgc2lkZSBvZiBydWxlIFlZTi4gICovCiBzdGF0aWMgY29uc3QgeXl0eXBlX3VpbnQ4IHl5cjJbXSA9CiB7CiAgICAgICAgMCwgICAgIDIsICAgICAyLCAgICAgMSwgICAgIDIsICAgICAxLCAgICAgMSwgICAgIDIsICAgICAyLCAgICAgMiwKLSAgICAgICAzLCAgICAgMywgICAgIDIsICAgICAzLCAgICAgMiwgICAgIDMsICAgICAyLCAgICAgMywgICAgIDIsICAgICAzLAotICAgICAgIDIsICAgICAzLCAgICAgMiwgICAgIDMsICAgICAyLCAgICAgMywgICAgIDIsICAgICAzLCAgICAgMiwgICAgIDMsCi0gICAgICAgMiwgICAgIDMsICAgICAyLCAgICAgMiwgICAgIDMsICAgICAyLCAgICAgMiwgICAgIDMsICAgICAxLCAgICAgMSwKLSAgICAgICAxLCAgICAgMSwgICAgIDIsICAgICAxLCAgICAgMiwgICAgIDEsICAgICAxLCAgICAgMiwgICAgIDEsICAgICAxLAotICAgICAgIDEsICAgICAxLCAgICAgNSwgICAgIDUsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsCi0gICAgICAgMSwgICAgIDYsICAgICA2LCAgICAgNywgICAgIDcsICAgIDEwLCAgICAxMCwgICAgIDksICAgICA5LCAgICAgNywKLSAgICAgICA3LCAgICAgNSwgICAgIDUsICAgICA2LCAgICAgNiwgICAgIDcsICAgICA3LCAgICAxMCwgICAgMTAsICAgICA2LAotICAgICAgIDcsICAgICA2LCAgICAgNSwgICAgIDYsICAgICA0LCAgICAgMSwgICAgIDIsICAgICAzLCAgICAgMiwgICAgIDMsCi0gICAgICAgMywgICAgIDQsICAgICAyLCAgICAgNSwgICAgIDcsICAgICA2LCAgICAgMywgICAgIDEsICAgICAzLCAgICAgNCwKLSAgICAgICA2LCAgICAgNSwgICAgIDEsICAgICAyLCAgICAgNCwgICAgIDQsICAgICA1LCAgICAgNSwgICAgIDIsICAgICAzLAotICAgICAgIDIsICAgICAzLCAgICAgMiwgICAgIDMsICAgICAxLCAgICAgMywgICAgIDIsICAgICAxLCAgICAgMiwgICAgIDMsCi0gICAgICAgMywgICAgIDMsICAgICA0LCAgICAgNCwgICAgIDQsICAgICA0LCAgICAgNCwgICAgIDEsICAgICAxLCAgICAgMSwKLSAgICAgICAxLCAgICAgMSwgICAgIDEsICAgICAwLCAgICAgMiwgICAgIDEsICAgICAyLCAgICAgMiwgICAgIDQsICAgICA0LAotICAgICAgIDMsICAgICAzLCAgICAgMSwgICAgIDEsICAgICAyLCAgICAgMiwgICAgIDMsICAgICAzLCAgICAgMiwgICAgIDQsCi0gICAgICAgNCwgICAgIDEsICAgICAxLCAgICAgMgorICAgICAgIDMsICAgICAzLCAgICAgMywgICAgIDMsICAgICAyLCAgICAgMywgICAgIDMsICAgICAyLCAgICAgMywgICAgIDMsCisgICAgICAgMiwgICAgIDMsICAgICAzLCAgICAgMiwgICAgIDMsICAgICAzLCAgICAgMiwgICAgIDMsICAgICAzLCAgICAgMiwKKyAgICAgICAzLCAgICAgMywgICAgIDIsICAgICAzLCAgICAgMywgICAgIDIsICAgICAzLCAgICAgMywgICAgIDIsICAgICAzLAorICAgICAgIDMsICAgICAyLCAgICAgMywgICAgIDMsICAgICAyLCAgICAgMywgICAgIDMsICAgICAyLCAgICAgMywgICAgIDMsCisgICAgICAgMiwgICAgIDIsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMiwgICAgIDEsICAgICAyLCAgICAgMSwKKyAgICAgICAxLCAgICAgMiwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICA1LCAgICAgNSwgICAgIDEsICAgICAxLAorICAgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgNiwgICAgIDYsICAgICA3LCAgICAgNywgICAgMTAsCisgICAgICAxMCwgICAgIDksICAgICA5LCAgICAgNywgICAgIDcsICAgICA1LCAgICAgNSwgICAgIDYsICAgICA2LCAgICAgNywKKyAgICAgICA3LCAgICAxMCwgICAgMTAsICAgICA2LCAgICAgNywgICAgIDYsICAgICA1LCAgICAgNiwgICAgIDQsICAgICAxLAorICAgICAgIDIsICAgICAzLCAgICAgMiwgICAgIDMsICAgICAzLCAgICAgNCwgICAgIDIsICAgICA1LCAgICAgNywgICAgIDYsCisgICAgICAgMywgICAgIDEsICAgICAzLCAgICAgNCwgICAgIDYsICAgICA1LCAgICAgMSwgICAgIDIsICAgICA0LCAgICAgNCwKKyAgICAgICA1LCAgICAgNSwgICAgIDIsICAgICAzLCAgICAgMiwgICAgIDMsICAgICAyLCAgICAgMywgICAgIDEsICAgICAzLAorICAgICAgIDIsICAgICAxLCAgICAgMiwgICAgIDMsICAgICAzLCAgICAgMywgICAgIDQsICAgICA0LCAgICAgNCwgICAgIDQsCisgICAgICAgNCwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDAsICAgICAyLCAgICAgMSwKKyAgICAgICAyLCAgICAgMiwgICAgIDQsICAgICA0LCAgICAgMywgICAgIDMsICAgICAxLCAgICAgMSwgICAgIDIsICAgICAyLAorICAgICAgIDMsICAgICAzLCAgICAgMiwgICAgIDQsICAgICA0LCAgICAgMSwgICAgIDEsICAgICAyCiB9OwogCiAvKiBZWURFRkFDVFtTVEFURS1OQU1FXSAtLSBEZWZhdWx0IHJ1bGUgdG8gcmVkdWNlIHdpdGggaW4gc3RhdGUKQEAgLTk3NCw5NSArOTkwLDEwMSBAQAogICAgbWVhbnMgdGhlIGRlZmF1bHQgaXMgYW4gZXJyb3IuICAqLwogc3RhdGljIGNvbnN0IHl5dHlwZV91aW50OCB5eWRlZmFjdFtdID0KIHsKLSAgICAgICAwLCAgICAgMCwgICAxMzMsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTMzLCAgIDEzMywgICAgIDAsICAgICAwLAotICAgICAgIDAsICAgICAwLCAgIDE1MiwgICAgMzgsICAgIDM5LCAgICAgMCwgICAgOTcsICAgICAwLCAgICAgMCwgICAgIDAsCi0gICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDMsICAgICA1LCAgICAgMCwKLSAgICAgICAwLCAgIDEzMywgICAxMzMsICAgICAwLCAgICA0MCwgICAgNDMsICAgIDQ1LCAgIDE1MSwgICAgNDYsICAgIDUwLAotICAgICAgNjAsICAgIDU0LCAgICA1MSwgICAgNDgsICAgIDU2LCAgICA0OSwgICAgNTUsICAgIDU3LCAgICA1OCwgICAgNTksCi0gICAgICAgMCwgICAxMzUsICAgMTQyLCAgIDE0MywgICAgIDAsICAgICA0LCAgIDExNywgICAgIDAsICAgICAwLCAgIDEzMywKLSAgICAgMTMzLCAgICAgMCwgICAxMzMsICAgICAwLCAgICAgMCwgICAxMzMsICAgIDM4LCAgICA5MiwgICAgODgsICAgICAwLAotICAgICAxNDQsICAgICAwLCAgIDE1MywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCi0gICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTIsICAgIDE0LCAgICAyMiwgICAgMTgsICAgIDMwLCAgICAxNiwKLSAgICAgIDI0LCAgICAyMCwgICAgMjgsICAgIDI2LCAgICAzMiwgICAgMzMsICAgIDM1LCAgICAzNiwgICAgIDgsICAgICA5LAotICAgICAgIDAsICAgICAwLCAgICAgMSwgICAgMzgsICAgIDQ0LCAgICA0MSwgICAgNDcsICAgMTI4LCAgIDEyOSwgICAgIDIsCi0gICAgIDEzMywgICAxMzMsICAgMTM2LCAgIDEzNywgICAxMzMsICAgMTMzLCAgICAgMCwgICAxMzEsICAgMTMwLCAgIDEzMiwKLSAgICAgMTQ4LCAgIDE0NSwgICAxMzMsICAgMTM0LCAgIDExNiwgICAxMTgsICAgMTI3LCAgICAgMCwgICAxMzMsICAgICAwLAotICAgICAxMzMsICAgMTMzLCAgIDEzMywgICAxMzMsICAgICAwLCAgIDEzMywgICAxMzMsICAgICAwLCAgICAgMCwgICAgOTAsCi0gICAgICA4OSwgICAgOTgsICAgMTQ3LCAgIDEzMywgICAgMTMsICAgIDE1LCAgICAyMywgICAgMTksICAgIDMxLCAgICAxNywKLSAgICAgIDI1LCAgICAyMSwgICAgMjksICAgIDI3LCAgICAzNCwgICAgMzcsICAgIDEwLCAgICAxMSwgICAgOTYsICAgIDg3LAotICAgICAgNDIsICAgICAwLCAgICAgMCwgICAxNDAsICAgMTQxLCAgICAgMCwgICAgIDAsICAgMTQ2LCAgICAgMCwgICAxMzMsCi0gICAgIDEzMywgICAxMzMsICAgMTMzLCAgIDEzMywgICAxMzMsICAgICAwLCAgIDEzMywgICAgIDAsICAgMTMzLCAgICAgMCwKLSAgICAgICAwLCAgICAgMCwgICAgIDAsICAgMTMzLCAgICAgMCwgICAxMzMsICAgICAwLCAgICAgMCwgICAxMzMsICAgIDg1LAotICAgICAgODQsICAgIDkxLCAgICAgMCwgICAxMzgsICAgMTM5LCAgICAgMCwgICAgIDAsICAgMTUwLCAgIDE0OSwgICAxMzMsCi0gICAgIDEzMywgICAgOTMsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTIwLCAgIDEyMSwgICAxMTksICAgICAwLCAgIDEwMiwKLSAgICAgMTMzLCAgICAgMCwgICAxMzMsICAgMTMzLCAgICAgMCwgICAgIDYsICAgICAwLCAgIDEzMywgICAgIDAsICAgIDcxLAotICAgICAgNzIsICAgMTMzLCAgIDEzMywgICAxMzMsICAgMTMzLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNTIsCi0gICAgICA1MywgICAgIDAsICAgIDg2LCAgICA4MiwgICAgIDAsICAgICAwLCAgICA5NSwgICAxMjIsICAgMTIzLCAgIDEyNCwKLSAgICAgMTI1LCAgIDEyNiwgICAgODEsICAgMTA4LCAgIDExMCwgICAxMTIsICAgMTAzLCAgICAgMCwgICAgNzksICAgMTE0LAotICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDYxLCAgICAgNywgICAxMzMsICAgICAwLCAgICA2MiwgICAgIDAsCi0gICAgICAgMCwgICAgIDAsICAgICAwLCAgICA3MywgICAgIDAsICAgMTMzLCAgICA3NCwgICAgODMsICAgIDk0LCAgIDEzMywKLSAgICAgMTMzLCAgIDEzMywgICAxMzMsICAgMTA5LCAgIDExMSwgICAxMTMsICAgIDgwLCAgICAgMCwgICAgIDAsICAgMTMzLAotICAgICAgNjMsICAgIDY0LCAgICAgMCwgICAxMzMsICAgMTMzLCAgICA2OSwgICAgNzAsICAgIDc1LCAgICA3NiwgICAgIDAsCi0gICAgICA5OSwgICAgIDAsICAgICAwLCAgICAgMCwgICAxMzMsICAgMTE1LCAgIDEwNCwgICAxMDUsICAgMTMzLCAgIDEzMywKLSAgICAgICAwLCAgICAgMCwgICAxMzMsICAgMTMzLCAgIDEzMywgICAxMDEsICAgMTA2LCAgIDEwNywgICAgIDAsICAgICAwLAotICAgICAgNjcsICAgIDY4LCAgICAgMCwgICAgIDAsICAgMTAwLCAgICA2NSwgICAgNjYsICAgIDc3LCAgICA3OAorICAgICAgIDAsICAgICAwLCAgIDE0NywgICAgIDAsICAgICAwLCAgICAgMCwgICAxNDcsICAgMTQ3LCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgMTY2LCAgICA1MiwgICAgNTMsICAgICAwLCAgICAgMCwgICAxMTEsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDMsICAgICA1LAorICAgICAgIDAsICAgICAwLCAgIDE0NywgICAxNDcsICAgICAwLCAgICA1NCwgICAgNTcsICAgIDU5LCAgIDE2NSwgICAgNjAsCisgICAgICA2NCwgICAgNzQsICAgIDY4LCAgICA2NSwgICAgNjIsICAgIDcwLCAgICA2MywgICAgNjksICAgIDcxLCAgICA3MiwKKyAgICAgIDczLCAgICAgMCwgICAxNDksICAgMTU2LCAgIDE1NywgICAgIDAsICAgICA0LCAgIDEzMSwgICAgIDAsICAgICAwLAorICAgICAxNDcsICAgMTQ3LCAgICAgMCwgICAxNDcsICAgICAwLCAgICAgMCwgICAxNDcsICAgIDUyLCAgIDEwNiwgICAxMDIsCisgICAgICAgMCwgICAxNTgsICAgICAwLCAgIDE2NywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxNCwgICAgMjMsICAgIDM4LCAgICAzMiwgICAgNDcsCisgICAgICAyOSwgICAgNDEsICAgIDM1LCAgICA0NCwgICAgMjYsICAgIDUwLCAgICA1MSwgICAgMjAsICAgIDE3LCAgICAgOCwKKyAgICAgICA5LCAgICAgMCwgICAgIDAsICAgICAxLCAgICA1MiwgICAgNTgsICAgIDU1LCAgICA2MSwgICAxNDIsICAgMTQzLAorICAgICAgIDIsICAgMTQ3LCAgIDE0NywgICAxNTAsICAgMTUxLCAgIDE0NywgICAxNDcsICAgICAwLCAgIDE0NSwgICAxNDQsCisgICAgIDE0NiwgICAxNjIsICAgMTU5LCAgIDE0NywgICAxNDgsICAgMTMwLCAgIDEzMiwgICAxNDEsICAgICAwLCAgIDE0NywKKyAgICAgICAwLCAgIDE0NywgICAxNDcsICAgMTQ3LCAgIDE0NywgICAgIDAsICAgMTQ3LCAgIDE0NywgICAgIDAsICAgICAwLAorICAgICAxMDQsICAgMTAzLCAgIDExMiwgICAxNjEsICAgMTQ3LCAgICAxNiwgICAgMjUsICAgIDQwLCAgICAzNCwgICAgNDksCisgICAgICAzMSwgICAgNDMsICAgIDM3LCAgICA0NiwgICAgMjgsICAgIDIyLCAgICAxOSwgICAgMTIsICAgIDEzLCAgICAxNSwKKyAgICAgIDI0LCAgICAzOSwgICAgMzMsICAgIDQ4LCAgICAzMCwgICAgNDIsICAgIDM2LCAgICA0NSwgICAgMjcsICAgIDIxLAorICAgICAgMTgsICAgIDEwLCAgICAxMSwgICAxMTAsICAgMTAxLCAgICA1NiwgICAgIDAsICAgICAwLCAgIDE1NCwgICAxNTUsCisgICAgICAgMCwgICAgIDAsICAgMTYwLCAgICAgMCwgICAxNDcsICAgMTQ3LCAgIDE0NywgICAxNDcsICAgMTQ3LCAgIDE0NywKKyAgICAgICAwLCAgIDE0NywgICAgIDAsICAgMTQ3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxNDcsICAgICAwLAorICAgICAxNDcsICAgICAwLCAgICAgMCwgICAxNDcsICAgIDk5LCAgICA5OCwgICAxMDUsICAgICAwLCAgIDE1MiwgICAxNTMsCisgICAgICAgMCwgICAgIDAsICAgMTY0LCAgIDE2MywgICAxNDcsICAgMTQ3LCAgIDEwNywgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgMTM0LCAgIDEzNSwgICAxMzMsICAgICAwLCAgIDExNiwgICAxNDcsICAgICAwLCAgIDE0NywgICAxNDcsICAgICAwLAorICAgICAgIDYsICAgICAwLCAgIDE0NywgICAgIDAsICAgIDg1LCAgICA4NiwgICAxNDcsICAgMTQ3LCAgIDE0NywgICAxNDcsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNjYsICAgIDY3LCAgICAgMCwgICAxMDAsICAgIDk2LCAgICAgMCwKKyAgICAgICAwLCAgIDEwOSwgICAxMzYsICAgMTM3LCAgIDEzOCwgICAxMzksICAgMTQwLCAgICA5NSwgICAxMjIsICAgMTI0LAorICAgICAxMjYsICAgMTE3LCAgICAgMCwgICAgOTMsICAgMTI4LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNzUsCisgICAgICAgNywgICAxNDcsICAgICAwLCAgICA3NiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDg3LCAgICAgMCwKKyAgICAgMTQ3LCAgICA4OCwgICAgOTcsICAgMTA4LCAgIDE0NywgICAxNDcsICAgMTQ3LCAgIDE0NywgICAxMjMsICAgMTI1LAorICAgICAxMjcsICAgIDk0LCAgICAgMCwgICAgIDAsICAgMTQ3LCAgICA3NywgICAgNzgsICAgICAwLCAgIDE0NywgICAxNDcsCisgICAgICA4MywgICAgODQsICAgIDg5LCAgICA5MCwgICAgIDAsICAgMTEzLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDE0NywKKyAgICAgMTI5LCAgIDExOCwgICAxMTksICAgMTQ3LCAgIDE0NywgICAgIDAsICAgICAwLCAgIDE0NywgICAxNDcsICAgMTQ3LAorICAgICAxMTUsICAgMTIwLCAgIDEyMSwgICAgIDAsICAgICAwLCAgICA4MSwgICAgODIsICAgICAwLCAgICAgMCwgICAxMTQsCisgICAgICA3OSwgICAgODAsICAgIDkxLCAgICA5MgogfTsKIAogLyogWVlERUZHT1RPW05URVJNLU5VTV0uICAqLwogc3RhdGljIGNvbnN0IHl5dHlwZV9pbnQxNiB5eWRlZmdvdG9bXSA9CiB7Ci0gICAgICAtMSwgICAgMzMsICAgMjE2LCAgICAzNCwgICAgMzUsICAgMTA2LCAgICAzNiwgICAgMzcsICAgIDM4LCAgICAzOSwKLSAgICAgIDQwLCAgICA0MSwgICAgNDIsICAgIDQzLCAgIDE5MCwgICAgNDQsICAgIDQ1LCAgICA0NiwgICAgNDcsICAgIDQ4LAotICAgICAgNDksICAgMjAyLCAgIDIwOCwgICAyMDksICAgMjEwLCAgIDI1MSwgICAgNTYsICAgIDU3LCAgIDEyNCwgICAxMjUsCi0gICAgIDEwOSwgICAxMjAsICAgIDU4LCAgICA1MCwgICAxNjMsICAgMTI2LCAgICA1MywgICAgNTQKKyAgICAgIC0xLCAgICAzNCwgICAyNDEsICAgIDM1LCAgICAzNiwgICAxMTcsICAgIDM3LCAgICAzOCwgICAgMzksICAgIDQwLAorICAgICAgNDEsICAgIDQyLCAgICA0MywgICAgNDQsICAgMjE1LCAgICA0NSwgICAgNDYsICAgIDQ3LCAgICA0OCwgICAgNDksCisgICAgICA1MCwgICAyMjcsICAgMjMzLCAgIDIzNCwgICAyMzUsICAgMjc2LCAgICA1NywgICAgNTgsICAgMTM1LCAgIDEzNiwKKyAgICAgMTIwLCAgIDEzMSwgICAgNTksICAgIDUxLCAgIDE4OCwgICAxMzcsICAgIDU0LCAgICA1NQogfTsKIAogLyogWVlQQUNUW1NUQVRFLU5VTV0gLS0gSW5kZXggaW4gWVlUQUJMRSBvZiB0aGUgcG9ydGlvbiBkZXNjcmliaW5nCiAgICBTVEFURS1OVU0uICAqLwotI2RlZmluZSBZWVBBQ1RfTklORiAtMTg4CisjZGVmaW5lIFlZUEFDVF9OSU5GIC0yMTIKIHN0YXRpYyBjb25zdCB5eXR5cGVfaW50MTYgeXlwYWN0W10gPQogewotICAgICAyOTMsICAgLTI2LCAgLTE4OCwgICAgIDcsICAgIDQxLCAgICA0MywgIC0xODgsICAtMTg4LCAgICA0NiwgICA2MjksCi0gICAgIC0xNywgICA0ODUsICAgIDExLCAgICAyMywgIC0xODgsICAgNjc1LCAgLTE4OCwgICAgNjUsICAgIDY4LCAgICA5NiwKLSAgICAgIDc3LCAgIDExOSwgICAgOTIsICAgMTI0LCAgIDEyNywgICAxNDAsICAgMTQzLCAgLTE4OCwgIC0xODgsICAgMTQ5LAotICAgICAxNTQsICAtMTg4LCAgLTE4OCwgICAgOTgsICAtMTg4LCAgLTE4OCwgICA2NjIsICAtMTg4LCAgIDIwOCwgIC0xODgsCi0gICAgLTE4OCwgIC0xODgsICAtMTg4LCAgLTE4OCwgIC0xODgsICAtMTg4LCAgLTE4OCwgIC0xODgsICAtMTg4LCAgLTE4OCwKLSAgICAgIDI0LCAgICAxMiwgIC0xODgsICAgLTM2LCAgIDM0MSwgIC0xODgsICAtMTg4LCAgIDE3NywgICAzODksICAtMTg4LAotICAgICAxNDIsICAgICA4LCAgIDE0NywgICAxNjksICAgMTg1LCAgIDE0OCwgICAyMDAsICAgNjYyLCAgIDIwOCwgICAxODEsCi0gICAgIC0zNiwgICA1ODEsICAtMTg4LCAgIDE0NiwgICAxODQsICAgMTg5LCAgIDEzMCwgICAxOTIsICAgMTM1LCAgIDE5NywKLSAgICAgMTk4LCAgIDIwMiwgICAyMDcsICAgMjA5LCAgLTE4OCwgIC0xODgsICAtMTg4LCAgLTE4OCwgIC0xODgsICAtMTg4LAotICAgIC0xODgsICAtMTg4LCAgLTE4OCwgIC0xODgsICAtMTg4LCAgLTE4OCwgIC0xODgsICAtMTg4LCAgLTE4OCwgIC0xODgsCi0gICAgIDE4MCwgICAxNjcsICAtMTg4LCAgLTE4OCwgIC0xODgsICAtMTg4LCAgIDIwOCwgIC0xODgsICAtMTg4LCAgLTE4OCwKLSAgICAtMTg4LCAgLTE4OCwgICA0MzcsICAgNDM3LCAgLTE4OCwgIC0xODgsICAgNTgxLCAgLTE4OCwgIC0xODgsICAtMTg4LAotICAgIC0xODgsICAgLTM2LCAgLTE4OCwgIC0xODgsICAtMTg4LCAgIDIyNywgIC0xODgsICAgLTEyLCAgLTE4OCwgICAgMjAsCi0gICAgLTE4OCwgIC0xODgsICAtMTg4LCAgLTE4OCwgICAxMjIsICAtMTg4LCAgLTE4OCwgICAxNzksICAgIDM3LCAgIDIwOCwKLSAgICAgMjA4LCAgLTE4OCwgICAtMzYsICAtMTg4LCAgLTE4OCwgIC0xODgsICAtMTg4LCAgLTE4OCwgIC0xODgsICAtMTg4LAotICAgIC0xODgsICAtMTg4LCAgLTE4OCwgIC0xODgsICAtMTg4LCAgLTE4OCwgIC0xODgsICAtMTg4LCAgLTE4OCwgIC0xODgsCi0gICAgLTE4OCwgICAzODksICAgMzg5LCAgICA1MywgICAgNTMsICAgNTMzLCAgIDUzMywgICAtMzYsICAgMjI0LCAgLTE4OCwKLSAgICAtMTg4LCAgLTE4OCwgIC0xODgsICAtMTg4LCAgLTE4OCwgICAgNDAsICAtMTg4LCAgIDE3MSwgIC0xODgsICAgMjMzLAotICAgICAxOTAsICAgIDQ4LCAgICA3MywgIC0xODgsICAgMjQ3LCAgLTE4OCwgICAyMzksICAgMjY3LCAgLTE4OCwgICAyMDgsCi0gICAgLTE4OCwgICAyMDgsICAgIDM3LCAgLTE4OCwgIC0xODgsICAgNDM3LCAgIDQzNywgICAtMzYsICAgLTM2LCAgLTE4OCwKLSAgICAtMTg4LCAgLTE4OCwgICAyNzYsICAgMzg5LCAgIDM4OSwgICAzODksICAgMzg5LCAgIDM4OSwgICAyNzUsICAgMjI2LAotICAgIC0xODgsICAgIDQyLCAgLTE4OCwgIC0xODgsICAgMjcwLCAgLTE4OCwgICAyMzEsICAtMTg4LCAgIDIzMCwgIC0xODgsCi0gICAgLTE4OCwgIC0xODgsICAtMTg4LCAgLTE4OCwgIC0xODgsICAgMjcyLCAgIDM4OSwgICAyMzEsICAgMjM0LCAgLTE4OCwKLSAgICAtMTg4LCAgICAzNywgICAyMDgsICAtMTg4LCAgIDI4MiwgICAyODcsICAtMTg4LCAgLTE4OCwgIC0xODgsICAgIDc2LAotICAgICAgNzYsICAgIDc2LCAgLTE4OCwgIC0xODgsICAtMTg4LCAgLTE4OCwgICAyMjksICAgIDYzLCAgLTE4OCwgIC0xODgsCi0gICAgIDI3NCwgICAtMjcsICAgMjgwLCAgIDI0MSwgIC0xODgsICAtMTg4LCAgLTE4OCwgICAgOTksICAtMTg4LCAgIDI4NSwKLSAgICAgMjQ2LCAgIDI5MiwgICAyNTIsICAtMTg4LCAgIDIyNywgIC0xODgsICAtMTg4LCAgLTE4OCwgIC0xODgsICAtMTg4LAotICAgIC0xODgsICAtMTg4LCAgLTE4OCwgIC0xODgsICAtMTg4LCAgLTE4OCwgIC0xODgsICAgLTIyLCAgIDI4OCwgIC0xODgsCi0gICAgLTE4OCwgIC0xODgsICAgMTMxLCAgLTE4OCwgIC0xODgsICAtMTg4LCAgLTE4OCwgIC0xODgsICAtMTg4LCAgIDEzMywKLSAgICAgMTI5LCAgIDM4OSwgICAzODksICAgMzg5LCAgLTE4OCwgIC0xODgsICAtMTg4LCAgIDM4OSwgIC0xODgsICAtMTg4LAotICAgICAyOTcsICAgMjU4LCAgLTE4OCwgIC0xODgsICAtMTg4LCAgLTE4OCwgIC0xODgsICAgMzg5LCAgIDMwMiwgICAyNjYsCi0gICAgLTE4OCwgIC0xODgsICAgMzA4LCAgIDI2OCwgIC0xODgsICAtMTg4LCAgLTE4OCwgIC0xODgsICAtMTg4CisgICAgIDMxOCwgICAtNDAsICAtMjEyLCAgICAxMSwgICAgMTAsICAgIDMyLCAgLTIxMiwgIC0yMTIsICAgIDM0LCAgIDY2MSwKKyAgICAgIDM5LCAgIDUxNCwgICAgNTIsICAgIDIxLCAgLTIxMiwgICAyNTUsICAgNzA2LCAgLTIxMiwgICAgNjUsICAgIDc5LAorICAgICAgNDcsICAgIDk4LCAgICA1NSwgICAxMzMsICAgMTM0LCAgIDEzOSwgICAxNTEsICAgMTUyLCAgLTIxMiwgIC0yMTIsCisgICAgIDE1NiwgICAxNTcsICAtMjEyLCAgLTIxMiwgICAxNDIsICAtMjEyLCAgLTIxMiwgICAyMzIsICAtMjEyLCAgIDY5MywKKyAgICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLAorICAgIC0yMTIsICAgIDQ5LCAgIDIxMywgIC0yMTIsICAgLTI4LCAgIDM2NywgIC0yMTIsICAtMjEyLCAgIDE1MCwgICA0MTYsCisgICAgLTIxMiwgICAxMzUsICAgIC0zLCAgIDEzNywgICAxODQsICAgMTk0LCAgIDE1OCwgICAgMzEsICAgMjMyLCAgIDY5MywKKyAgICAgMTkxLCAgIC0yOCwgICA2MTIsICAtMjEyLCAgIDE2NiwgICAxOTksICAgMjAyLCAgICA2OSwgICAyMDksICAgMTI4LAorICAgICAyMTAsICAgMjE0LCAgIDIxOCwgICAyMTksICAgMjI1LCAgIDIyNywgICAyNDcsICAgMTY1LCAgIDI0OCwgICAxODEsCisgICAgIDI1NiwgICAyNTcsICAgMjU4LCAgIDI1OSwgICAyNjIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwKKyAgICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLAorICAgIC0yMTIsICAgMjM3LCAgIDIzNiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAgNjkzLCAgLTIxMiwgIC0yMTIsCisgICAgLTIxMiwgIC0yMTIsICAtMjEyLCAgIDQ2NSwgICA0NjUsICAtMjEyLCAgLTIxMiwgICA2MTIsICAtMjEyLCAgLTIxMiwKKyAgICAtMjEyLCAgLTIxMiwgICAtMjgsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAgMjA1LCAgLTIxMiwgICAtMTMsICAtMjEyLAorICAgICAxMTYsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgIDExNywgIC0yMTIsICAtMjEyLCAgIDI0MCwgICAgNTMsCisgICAgIDY5MywgICA2OTMsICAtMjEyLCAgIC0yOCwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwKKyAgICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLAorICAgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsCisgICAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgIDQxNiwgICA0MTYsICAgIDc1LCAgICA3NSwKKyAgICAgNTYzLCAgIDU2MywgICAtMjgsICAgIDE1LCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLAorICAgICAgNzIsICAtMjEyLCAgIDEyMCwgIC0yMTIsICAgMjgxLCAgIDI0OSwgICAxMDUsICAgMTE4LCAgLTIxMiwgICAyNzksCisgICAgLTIxMiwgICAyOTAsICAgMjkyLCAgLTIxMiwgICA2OTMsICAtMjEyLCAgIDY5MywgICAgNTMsICAtMjEyLCAgLTIxMiwKKyAgICAgNDY1LCAgIDQ2NSwgICAtMjgsICAgLTI4LCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgIDMwMywgICA0MTYsICAgNDE2LAorICAgICA0MTYsICAgNDE2LCAgIDQxNiwgICAzMDIsICAgMTc0LCAgLTIxMiwgICAgIDAsICAtMjEyLCAgLTIxMiwgICAyOTcsCisgICAgLTIxMiwgICAxNzksICAtMjEyLCAgIDI2MywgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwKKyAgICAgMjk5LCAgIDQxNiwgICAxNzksICAgMjY1LCAgLTIxMiwgIC0yMTIsICAgIDUzLCAgIDY5MywgIC0yMTIsICAgMzA4LAorICAgICAzMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAgIDgwLCAgICA4MCwgICAgODAsICAtMjEyLCAgLTIxMiwgIC0yMTIsCisgICAgLTIxMiwgICAyMjQsICAgIDQzLCAgLTIxMiwgIC0yMTIsICAgMzAwLCAgICAzMywgICAzMDksICAgMjcwLCAgLTIxMiwKKyAgICAtMjEyLCAgLTIxMiwgICAxMjksICAtMjEyLCAgIDMxNywgICAyNzYsICAgMzIyLCAgIDI4MiwgIC0yMTIsICAgMjA1LAorICAgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsCisgICAgLTIxMiwgIC0yMTIsICAgIDQ2LCAgIDMxMywgIC0yMTIsICAtMjEyLCAgLTIxMiwgICAxNDksICAtMjEyLCAgLTIxMiwKKyAgICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgIDE2MSwgICAxMTUsICAgNDE2LCAgIDQxNiwgICA0MTYsICAtMjEyLAorICAgIC0yMTIsICAtMjEyLCAgIDQxNiwgIC0yMTIsICAtMjEyLCAgIDMyNywgICAyOTEsICAtMjEyLCAgLTIxMiwgIC0yMTIsCisgICAgLTIxMiwgIC0yMTIsICAgNDE2LCAgIDMzNCwgICAyOTMsICAtMjEyLCAgLTIxMiwgICAzMzYsICAgMzAxLCAgLTIxMiwKKyAgICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyCiB9OwogCiAvKiBZWVBHT1RPW05URVJNLU5VTV0uICAqLwogc3RhdGljIGNvbnN0IHl5dHlwZV9pbnQxNiB5eXBnb3RvW10gPQogewotICAgIC0xODgsICAtMTg4LCAgIDE0MSwgICAtMzAsICAgLTI1LCAgIC02MiwgICAzMjIsICAtMTg4LCAgICAtNSwgIC0xODgsCi0gICAgLTE4OCwgIC0xODgsICAtMTg4LCAgLTE4OCwgIC0xODUsICAtMTg4LCAgLTE4OCwgIC0xODgsICAtMTg4LCAgLTE4OCwKLSAgICAtMTg4LCAgICA0OSwgIC0xODgsICAgMTIzLCAgLTE4OCwgICAgODIsICAtMTcxLCAgICAtNiwgIC0xODgsICAtMTg3LAotICAgIC0xODgsICAgLTU4LCAgIC0zMiwgIC0xODgsICAgICA1LCAgICAgMiwgICAgMTAsICAgMzI5CisgICAgLTIxMiwgIC0yMTIsICAgMTQ4LCAgIC0zNiwgICAgIDEsICAgLTYyLCAgIDM1MCwgIC0yMTIsICAgIC01LCAgLTIxMiwKKyAgICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMSwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLAorICAgIC0yMTIsICAgIDUwLCAgLTIxMiwgICAxMzEsICAtMjEyLCAgICA5MiwgIC0xOTQsICAgIC02LCAgLTIxMiwgIC0yMDAsCisgICAgLTIxMiwgICAtNDUsICAgLTQ4LCAgLTIxMiwgICAgIDUsICAgICAyLCAgICAxMiwgICAzNjIKIH07CiAKIC8qIFlZVEFCTEVbWVlQQUNUW1NUQVRFLU5VTV1dLiAgV2hhdCB0byBkbyBpbiBzdGF0ZSBTVEFURS1OVU0uICBJZgpAQCAtMTA3MiwxNTYgKzEwOTQsMTY0IEBACiAjZGVmaW5lIFlZVEFCTEVfTklORiAtMQogc3RhdGljIGNvbnN0IHl5dHlwZV91aW50MTYgeXl0YWJsZVtdID0KIHsKLSAgICAgIDYzLCAgICA2NCwgICAgNTIsICAgMTMyLCAgICA2OCwgICAgNTEsICAgMTQwLCAgIDIzMywgICAxMDUsICAgMTc0LAotICAgICAxMTQsICAgMTA0LCAgIDIyNSwgICAgNjksICAgMjI4LCAgIDExNSwgICAyMzcsICAgMjM4LCAgIDIzOSwgICAyNDAsCi0gICAgIDI0MSwgICAgNzAsICAgMTMwLCAgICA1NSwgICAyNzgsICAgMTAwLCAgIDEwMSwgICAxMjcsICAgMTI5LCAgIDI3OCwKLSAgICAgMTM0LCAgIDI3OSwgICAgNTksICAgMTM4LCAgIDE3NiwgICAgNzIsICAgMjk0LCAgIDEyMywgICAxMDUsICAgMjY0LAotICAgICAgIDIsICAgMTc3LCAgIDEwNCwgICAxMTAsICAgMTExLCAgICAgMywgICAyNjcsICAgICA0LCAgICAgNSwgICAgIDYsCi0gICAgICAgNywgICAyNDgsICAgMjYxLCAgIDI2MiwgICAyMTIsICAgIDEwLCAgIDExNywgICAxMTgsICAgMTE5LCAgIDExMiwKLSAgICAgMTEzLCAgIDEzOSwgICAyMjEsICAgMTMxLCAgIDEyMSwgICAgMTYsICAgIDYwLCAgIDI0OSwgICAgNjIsICAgMTIzLAotICAgICAgNjEsICAgIDY1LCAgIDI3NiwgICAxMDcsICAgMTA4LCAgIDE3OCwgICAxNjAsICAgMTkxLCAgIDE2MSwgICAxNjIsCi0gICAgICA3MywgICAxNDIsICAgMTY1LCAgIDE2NiwgICAxMTAsICAgMTExLCAgIDEyMywgICAyMjMsICAgMjQ5LCAgIDEyMywKLSAgICAgIDg0LCAgIDEyMywgICAgMzEsICAgIDg1LCAgICAzMiwgICAyMTMsICAgMTc1LCAgIDEyMywgICAxMDIsICAgMjUwLAotICAgICAxODEsICAgMTgyLCAgICA4OSwgICAyMjIsICAgMjM5LCAgIDI0MCwgICAyNDEsICAgMTY5LCAgIDE3MCwgICAxMDUsCi0gICAgIDE2MCwgICAxOTIsICAgMTIzLCAgIDI4MywgICAgNTIsICAgIDUyLCAgIDE2OCwgICAgOTMsICAgMTY0LCAgIDIxNywKLSAgICAgMjUwLCAgICA4NiwgICAxMjMsICAgIDg3LCAgIDE3OSwgICAxODAsICAgMTY3LCAgIDIzMiwgICAyMjQsICAgMTg2LAotICAgICAxODcsICAgMzEyLCAgIDMxMywgICAxODksICAgMzA0LCAgIDIwMCwgICAxODMsICAgMjAzLCAgIDIwNCwgICAyMDUsCi0gICAgIDIwNiwgICAyMDcsICAgMjExLCAgIDE4NCwgICAgOTAsICAgMjk4LCAgICA5MSwgICAzMDIsICAgMTIzLCAgICA5NCwKLSAgICAgIDg4LCAgIDIyNiwgICAgOTUsICAgMjI2LCAgIDI4NCwgICAxNDYsICAgMjMxLCAgIDE0NywgICAyNTYsICAgMTA1LAotICAgICAxNTAsICAgMTYwLCAgIDE1MSwgICAgNTIsICAgIDUyLCAgICA5NiwgICAxOTMsICAgMTk0LCAgICA5NywgICAyNjUsCi0gICAgIDIxNCwgICAxMjMsICAgMjE4LCAgICA5MiwgICAgOTgsICAgMTk3LCAgIDE5OCwgICAxODUsICAgMjQ3LCAgICA5OSwKLSAgICAgMTIzLCAgIDEyMiwgICAxMjMsICAgMTM1LCAgIDE0OCwgICAyNTcsICAgMjk5LCAgIDE4OSwgICAzMDMsICAgMTUyLAotICAgICAxMjgsICAgMjI2LCAgIDIyNiwgICAyMzQsICAgMjM1LCAgIDEzMywgICAyMTUsICAgIDUyLCAgICA1MiwgICAxMzYsCi0gICAgIDE0MSwgICAxNjQsICAgMTYwLCAgICAgMiwgICAxNDMsICAgMTM3LCAgIDI1MiwgICAyNTMsICAgICAzLCAgIDE0NCwKLSAgICAgICA0LCAgICAgNSwgICAgIDYsICAgICA3LCAgIDE0NSwgICAyNTksICAgMjYwLCAgIDE0OSwgICAgMTAsICAgMTE3LAotICAgICAxMTgsICAgMTE5LCAgIDE1MywgICAxNTQsICAgMjgyLCAgIDE1OSwgICAxODksICAgMTU1LCAgICAxNiwgICAxOTksCi0gICAgIDIwMCwgICAyMDEsICAgMTU2LCAgIDI4OSwgICAxNTcsICAgIDE1LCAgIDE1OCwgICAxODgsICAgMjkxLCAgIDI5MiwKLSAgICAgMjkzLCAgICAxNywgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgMjIwLCAgIDI5NywgICAyMTksICAgIDIyLAotICAgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgMjI5LCAgICAzMSwgICAyNTUsICAgIDMyLCAgIDE2OSwgICAxNzAsCi0gICAgICAyOSwgICAgMzAsICAgMzA3LCAgIDI5MCwgICAyNDMsICAgMjQ0LCAgIDI0NSwgICAyNzMsICAgMjc0LCAgIDI3NSwKLSAgICAgMjI2LCAgIDIyNiwgICAyMTUsICAgMjk2LCAgIDE3MSwgICAxNzIsICAgMTczLCAgIDMwMCwgICAzMDEsICAgMTE3LAotICAgICAxMTgsICAgMTE5LCAgIDIzMCwgICAyMzYsICAgMjQyLCAgIDI1NCwgICAyNTgsICAgMjYzLCAgIDMwNiwgICAyNjgsCi0gICAgIDI2NiwgICAyNjksICAgMzA4LCAgIDMwOSwgICAgIDEsICAgMjgwLCAgICAgMiwgICAyODEsICAgMzE0LCAgIDI0OSwKLSAgICAgMjg1LCAgICAgMywgICAyODYsICAgICA0LCAgICAgNSwgICAgIDYsICAgICA3LCAgIDI4NywgICAyODgsICAgICA4LAotICAgICAgIDksICAgIDEwLCAgIDMxMCwgICAyOTUsICAgMzExLCAgICAxMSwgICAgMTIsICAgMzE1LCAgICAxMywgICAgMTQsCi0gICAgICAxNSwgICAgMTYsICAgMzE2LCAgIDMxNywgICAzMTgsICAgMjI3LCAgICAxNywgICAgMTgsICAgIDE5LCAgICAyMCwKLSAgICAgIDIxLCAgICA2NywgICAyNzcsICAgMjQ2LCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgMzA1LAotICAgICAgNzEsICAgICAwLCAgICAyNywgICAgMjgsICAgICAyLCAgICAyOSwgICAgMzAsICAgICAwLCAgICAzMSwgICAgIDMsCi0gICAgICAzMiwgICAgIDQsICAgICA1LCAgICAgNiwgICAgIDcsICAgICAwLCAgICAgMCwgICAgIDgsICAgICA5LCAgICAxMCwKLSAgICAgICAwLCAgICAgMCwgICAgIDAsICAgMTE2LCAgICAgMCwgICAgIDAsICAgIDEzLCAgICAxNCwgICAgMTUsICAgIDE2LAotICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDE3LCAgICAxOCwgICAgMTksICAgIDIwLCAgICAyMSwgICAgIDAsCi0gICAgICAgMCwgICAgIDAsICAgIDIyLCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwgICAgIDAsICAgICAwLCAgIDExNywKLSAgICAgMTE4LCAgIDExOSwgICAgIDIsICAgIDI5LCAgICAzMCwgICAgIDAsICAgIDMxLCAgICAgMywgICAgMzIsICAgICA0LAotICAgICAgIDUsICAgICA2LCAgICAgNywgICAgIDAsICAgICAwLCAgICAgOCwgICAgIDksICAgIDEwLCAgICAgMCwgICAgIDAsCi0gICAgICAgMCwgICAgMTEsICAgIDEyLCAgICAgMCwgICAgMTMsICAgIDE0LCAgICAxNSwgICAgMTYsICAgICAwLCAgICAgMCwKLSAgICAgICAwLCAgICAgMCwgICAgMTcsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAgMCwgICAgIDAsICAgICAwLAotICAgICAgMjIsICAgIDIzLCAgICAyNCwgICAgMjUsICAgIDI2LCAgICAgMCwgICAgIDAsICAgICAwLCAgIDEyMywgICAgIDAsCi0gICAgICAgMiwgICAgMjksICAgIDMwLCAgICAgMCwgICAgMzEsICAgICAzLCAgICAzMiwgICAgIDQsICAgICA1LCAgICAgNiwKLSAgICAgICA3LCAgICAgMCwgICAgIDAsICAgICA4LCAgICAgOSwgICAgMTAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDExLAotICAgICAgMTIsICAgICAwLCAgICAxMywgICAgMTQsICAgIDE1LCAgICAxNiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCi0gICAgICAxNywgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDIyLCAgICAyMywKLSAgICAgIDI0LCAgICAyNSwgICAgMjYsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDIsICAgIDI5LAotICAgICAgMzAsICAgICAwLCAgICAzMSwgICAgIDMsICAgIDMyLCAgICAgNCwgICAgIDUsICAgICA2LCAgICAgNywgICAgIDAsCi0gICAgICAgMCwgICAgIDgsICAgICA5LCAgICAxMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDEyLCAgICAgMCwKLSAgICAgIDEzLCAgICAxNCwgICAgMTUsICAgIDE2LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTcsICAgIDE4LAotICAgICAgMTksICAgIDIwLCAgICAyMSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjIsICAgIDIzLCAgICAyNCwgICAgMjUsCi0gICAgICAyNiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMiwgICAgMjksICAgIDMwLCAgICAgMCwKLSAgICAgIDMxLCAgICAgMywgICAgMzIsICAgICA0LCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgMCwgICAgIDAsICAgICA4LAorICAgICAgNjQsICAgIDY1LCAgICA1MywgICAxMTYsICAgIDY5LCAgICA1MiwgICAyNTgsICAgMTUxLCAgIDE5OSwgICAyNzMsCisgICAgICA1NiwgICAxNDEsICAgMTM4LCAgIDE0MCwgICAyNTAsICAgMTQ1LCAgIDI1MywgICAxNDMsICAgMTQ5LCAgIDEyNSwKKyAgICAgMjI0LCAgIDIyNSwgICAyMjYsICAgIDcxLCAgIDEyNiwgICAyNzQsICAgMTExLCAgIDExMiwgICAyNjIsICAgMjYzLAorICAgICAyNjQsICAgMjY1LCAgIDI2NiwgICAxMTYsICAgICAyLCAgICA2MSwgICAgNjAsICAgMTM0LCAgIDExNSwgICAgIDMsCisgICAgICA2MiwgICAgIDQsICAgICA1LCAgICAgNiwgICAgIDcsICAgMjkyLCAgIDEyOCwgICAxMjksICAgMTMwLCAgICAxMCwKKyAgICAgMTM0LCAgIDI4OSwgICAzMDEsICAgMTQyLCAgIDI4NiwgICAyODcsICAgICAyLCAgICA2MywgICAyNzUsICAgIDY2LAorICAgICAgMTcsICAgICAzLCAgIDE1MCwgICAgIDQsICAgICA1LCAgICAgNiwgICAgIDcsICAgMTMyLCAgIDI3NCwgICAxMTUsCisgICAgICA3MCwgICAgMTAsICAgIDk3LCAgIDE4NiwgICAxODcsICAgIDk4LCAgICA3MywgICAxOTAsICAgMTkxLCAgICA3NCwKKyAgICAgMTAxLCAgIDE4NSwgICAgMTcsICAgMTAyLCAgIDE1MywgICAzMDMsICAgMjM3LCAgICAzMiwgICAyMTYsICAgIDMzLAorICAgICAgOTUsICAgMjAwLCAgIDMwNCwgICAxMzQsICAgMTU3LCAgIDIwNiwgICAyMDcsICAgMTU4LCAgIDMwMywgICAxMTgsCisgICAgIDExOSwgICAyNzUsICAgIDk5LCAgIDEzNCwgICAgOTYsICAgMzE5LCAgIDIxNywgICAxMjEsICAgMTIyLCAgICAzMiwKKyAgICAgMTAzLCAgICAzMywgICAxOTQsICAgMTk1LCAgIDExNiwgICAxODUsICAgMjY0LCAgIDI2NSwgICAyNjYsICAgMjQ2LAorICAgICAzMjksICAgMjI1LCAgIDEzNCwgICAxMDAsICAgMTU5LCAgICA1MywgICAgNTMsICAgMTkzLCAgIDIzOCwgICAxODksCisgICAgIDIwMSwgICAyMDgsICAgMjQ4LCAgIDMzNywgICAzMzgsICAgMjA0LCAgIDIwNSwgICAyMDIsICAgMjA5LCAgIDE5MiwKKyAgICAgMjExLCAgIDIxMiwgICAxMTMsICAgMzA4LCAgIDIxNCwgICAyNDAsICAgMjI4LCAgIDIyOSwgICAyMzAsICAgMjMxLAorICAgICAyMzIsICAgMjM2LCAgIDI1NywgICAxNjEsICAgMTMzLCAgIDEzNCwgICAxNjIsICAgMjQyLCAgIDEwNCwgICAxMDUsCisgICAgIDI1MSwgICAyNDcsICAgMjUxLCAgIDMyMywgICAxMDYsICAgMjU2LCAgIDEzNCwgICAxMzQsICAgMTM0LCAgIDEyOCwKKyAgICAgMTI5LCAgIDEzMCwgICAyMDMsICAgMjEwLCAgIDI0OSwgICAzMjcsICAgMTA3LCAgIDEwOCwgICAxMTYsICAgMTM0LAorICAgICAxODUsICAgMTA5LCAgIDExMCwgICAxNjMsICAgMTM5LCAgIDMwOSwgICAxNDQsICAgMjcyLCAgICA1MywgICAgNTMsCisgICAgIDE3MSwgICAyMTgsICAgMjE5LCAgIDE3MiwgICAyODIsICAgMjM5LCAgIDI4MSwgICAyNDMsICAgMTQ2LCAgIDEzNCwKKyAgICAgMjUxLCAgIDI1MSwgICAyMjIsICAgMjIzLCAgIDI4MCwgICAzMjQsICAgMTc1LCAgIDI5MCwgICAxNDcsICAgMTc2LAorICAgICAxNTIsICAgMTM0LCAgIDIxNCwgICAyNjgsICAgMjY5LCAgIDI3MCwgICAxNDgsICAgMzI4LCAgIDI1OSwgICAyNjAsCisgICAgIDE3MywgICAxODUsICAgIDUzLCAgICA1MywgICAxNTUsICAgMTU0LCAgIDE4OSwgICAxNTYsICAgMTI4LCAgIDEyOSwKKyAgICAgMTMwLCAgIDI3NywgICAyNzgsICAgMzA3LCAgIDE2MCwgICAxNjQsICAgMTc3LCAgIDE5NCwgICAxOTUsICAgMTY1LAorICAgICAyODQsICAgMjg1LCAgIDMxNCwgICAxNjYsICAgMTY3LCAgIDEyMSwgICAxMjIsICAgMzE2LCAgIDMxNywgICAzMTgsCisgICAgIDE2OCwgICAyMTQsICAgMTY5LCAgIDE5NiwgICAxOTcsICAgMTk4LCAgIDMyMiwgICAxMTQsICAgIDE0LCAgICAxNSwKKyAgICAgIDE2LCAgIDEyMywgICAxMjQsICAgMjk4LCAgIDI5OSwgICAzMDAsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLAorICAgICAgMjIsICAgMzMyLCAgIDE3MCwgICAxNzQsICAgIDIzLCAgICAyNCwgICAgMjUsICAgIDI2LCAgICAyNywgICAyNTEsCisgICAgIDI1MSwgICAxNzgsICAgMTc5LCAgIDE4MCwgICAxODEsICAgIDMwLCAgICAzMSwgICAxODIsICAgMzE1LCAgICA3NSwKKyAgICAgIDc2LCAgICA3NywgICAgNzgsICAgIDc5LCAgIDE4MywgICAxODQsICAgMjQ0LCAgICA4MCwgICAzMjEsICAgMjEzLAorICAgICAgODEsICAgIDgyLCAgIDMyNSwgICAzMjYsICAgMjQwLCAgIDI1NCwgICAyNDUsICAgMjU1LCAgICA4MywgICAgODQsCisgICAgIDI2MSwgICAyNjcsICAgMjc5LCAgIDMzMSwgICAyODgsICAgMjkzLCAgIDI5NCwgICAzMzMsICAgMzM0LCAgICAgMSwKKyAgICAgMjgzLCAgICAgMiwgICAyOTEsICAgMzM5LCAgIDMwNSwgICAyNzQsICAgICAzLCAgIDMwNiwgICAgIDQsICAgICA1LAorICAgICAgIDYsICAgICA3LCAgIDMxMCwgICAzMTEsICAgICA4LCAgICAgOSwgICAgMTAsICAgMzEyLCAgIDMyMCwgICAzMTMsCisgICAgICAxMSwgICAgMTIsICAgMzM1LCAgICAxMywgICAgMTQsICAgIDE1LCAgICAxNiwgICAgMTcsICAgMzM2LCAgIDM0MCwKKyAgICAgMzQxLCAgIDM0MiwgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIyLCAgIDI1MiwgICAzNDMsICAgIDY4LAorICAgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgIDI3LCAgIDMzMCwgICAyNzEsICAgMzAyLCAgICAyOCwgICAgMjksCisgICAgICAgMiwgICAgMzAsICAgIDMxLCAgICA3MiwgICAgMzIsICAgICAzLCAgICAzMywgICAgIDQsICAgICA1LCAgICAgNiwKKyAgICAgICA3LCAgICAgMCwgICAgIDAsICAgICA4LCAgICAgOSwgICAgMTAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTI3LAorICAgICAgIDAsICAgICAwLCAgICAxMywgICAgMTQsICAgIDE1LCAgICAxNiwgICAgMTcsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAyMywKKyAgICAgIDI0LCAgICAyNSwgICAgMjYsICAgIDI3LCAgICAgMCwgICAgIDAsICAgMTI4LCAgIDEyOSwgICAxMzAsICAgICAyLAorICAgICAgMzAsICAgIDMxLCAgICAgMCwgICAgMzIsICAgICAzLCAgICAzMywgICAgIDQsICAgICA1LCAgICAgNiwgICAgIDcsCisgICAgICAgMCwgICAgIDAsICAgICA4LCAgICAgOSwgICAgMTAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDExLCAgICAxMiwKKyAgICAgICAwLCAgICAxMywgICAgMTQsICAgIDE1LCAgICAxNiwgICAgMTcsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAyMywgICAgMjQsCisgICAgICAyNSwgICAgMjYsICAgIDI3LCAgICAgMCwgICAgIDAsICAgICAwLCAgIDEzNCwgICAgIDAsICAgICAyLCAgICAzMCwKKyAgICAgIDMxLCAgICAgMCwgICAgMzIsICAgICAzLCAgICAzMywgICAgIDQsICAgICA1LCAgICAgNiwgICAgIDcsICAgICAwLAorICAgICAgIDAsICAgICA4LCAgICAgOSwgICAgMTAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDExLCAgICAxMiwgICAgIDAsCisgICAgICAxMywgICAgMTQsICAgIDE1LCAgICAxNiwgICAgMTcsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxOCwKKyAgICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAyMywgICAgMjQsICAgIDI1LAorICAgICAgMjYsICAgIDI3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAyLCAgICAzMCwgICAgMzEsCisgICAgICAgMCwgICAgMzIsICAgICAzLCAgICAzMywgICAgIDQsICAgICA1LCAgICAgNiwgICAgIDcsICAgICAwLCAgICAgMCwKKyAgICAgICA4LCAgICAgOSwgICAgMTAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxMiwgICAgIDAsICAgIDEzLAorICAgICAgMTQsICAgIDE1LCAgICAxNiwgICAgMTcsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxOCwgICAgMTksCisgICAgICAyMCwgICAgMjEsICAgIDIyLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwKKyAgICAgIDI3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAyLCAgICAzMCwgICAgMzEsICAgICAwLAorICAgICAgMzIsICAgICAzLCAgICAzMywgICAgIDQsICAgICA1LCAgICAgNiwgICAgIDcsICAgICAwLCAgICAgMCwgICAgIDgsCiAgICAgICAgOSwgICAgMTAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDEzLCAgICAxNCwKLSAgICAgIDE1LCAgICAxNiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDE3LCAgICAxOCwgICAgMTksICAgIDIwLAotICAgICAgMjEsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDIyLCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwgICAgIDAsCi0gICAgICAgMCwgICAgIDAsICAgMTIzLCAgICAgMCwgICAgIDIsICAgIDI5LCAgICAzMCwgICAgIDAsICAgIDMxLCAgICAgMywKLSAgICAgIDMyLCAgICAgNCwgICAgIDUsICAgICA2LCAgICAgNywgICAgIDAsICAgICAwLCAgICAgOCwgICAgIDksICAgIDEwLAotICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTMsICAgIDE0LCAgICAxNSwgICAgMTYsCi0gICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTcsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAgMCwKLSAgICAgICAwLCAgICAgMCwgICAgMjIsICAgIDIzLCAgICAyNCwgICAgMjUsICAgIDI2LCAgICAgMCwgICAgIDAsICAgICAwLAotICAgICAgIDAsICAgICAwLCAgICAgMiwgICAgMjksICAgIDMwLCAgICAgMCwgICAgMzEsICAgICAzLCAgICAzMiwgICAgIDQsCi0gICAgICAgNSwgICAgIDYsICAgICA3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTAsICAgICAwLCAgICAgMCwKLSAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA2NiwgICAgMTQsICAgIDE1LCAgICAxNiwgICAgIDAsICAgICAwLAotICAgICAgIDAsICAgICAwLCAgICAxNywgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgICAwLCAgICAgMCwgICAgIDAsCi0gICAgICAyMiwgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKLSAgICAgICAwLCAgICAyOSwgICAgMzAsICAgICAwLCAgICAzMSwgICAgIDAsICAgIDMyLCAgIDEwMywgICAgMTQsICAgIDE1LAotICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxNywgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsCi0gICAgICAgMCwgICAgIDAsICAgICAwLCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgIDc0LCAgICA3NSwKLSAgICAgIDc2LCAgICA3NywgICAgNzgsICAgICAwLCAgICAyOSwgICAgMzAsICAgIDc5LCAgICAgMCwgICAgIDAsICAgIDgwLAotICAgICAgODEsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDgyLCAgICA4MworICAgICAgMTUsICAgIDE2LCAgICAxNywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDE4LCAgICAxOSwgICAgMjAsCisgICAgICAyMSwgICAgMjIsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDIzLCAgICAyNCwgICAgMjUsICAgIDI2LCAgICAyNywKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgMTM0LCAgICAgMCwgICAgIDIsICAgIDMwLCAgICAzMSwgICAgIDAsICAgIDMyLAorICAgICAgIDMsICAgIDMzLCAgICAgNCwgICAgIDUsICAgICA2LCAgICAgNywgICAgIDAsICAgICAwLCAgICAgOCwgICAgIDksCisgICAgICAxMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTMsICAgIDE0LCAgICAxNSwKKyAgICAgIDE2LCAgICAxNywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLAorICAgICAgMjIsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDIzLCAgICAyNCwgICAgMjUsICAgIDI2LCAgICAyNywgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDIsICAgIDMwLCAgICAzMSwgICAgIDAsICAgIDMyLCAgICAgMywKKyAgICAgIDMzLCAgICAgNCwgICAgIDUsICAgICA2LCAgICAgNywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDEwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNjcsICAgIDE0LCAgICAxNSwgICAgMTYsCisgICAgICAxNywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgIDIzLCAgICAyNCwgICAgMjUsICAgIDI2LCAgICAyNywgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDMwLCAgICAzMSwgICAgIDAsICAgIDMyLCAgICAgMCwgICAgMzMsCisgICAgICAxNSwgICAgMTYsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTgsICAgIDE5LCAgICAyMCwKKyAgICAgIDIxLCAgICAyMiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgIDI3LAorICAgICAgODUsICAgIDg2LCAgICA4NywgICAgODgsICAgIDg5LCAgICAgMCwgICAgMzAsICAgIDMxLCAgICA5MCwgICAgIDAsCisgICAgICAgMCwgICAgOTEsICAgIDkyLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA5MywKKyAgICAgIDk0CiB9OwogCiBzdGF0aWMgY29uc3QgeXl0eXBlX2ludDE2IHl5Y2hlY2tbXSA9CiB7Ci0gICAgICAgNiwgICAgIDcsICAgICAwLCAgICA2MSwgICAgIDksICAgICAwLCAgICA2OCwgICAxOTIsICAgIDM4LCAgICAyMSwKLSAgICAgIDQ2LCAgICAzNiwgICAxODMsICAgIDMwLCAgIDE4NSwgICAgNTEsICAgMjAzLCAgIDIwNCwgICAyMDUsICAgMjA2LAotICAgICAyMDcsICAgIDExLCAgICAxNCwgICAgNDksICAgIDUxLCAgICAzMSwgICAgMzIsICAgIDU5LCAgICA2MCwgICAgNTEsCi0gICAgICA2MiwgICAgNTgsICAgIDI1LCAgICA2NSwgICAgMTQsICAgIDI0LCAgICA1OCwgICAgNDksICAgIDY4LCAgIDIyNiwKLSAgICAgICAzLCAgICAyMSwgICAgNjcsICAgIDMxLCAgICAzMiwgICAgIDgsICAgMjMxLCAgICAxMCwgICAgMTEsICAgIDEyLAotICAgICAgMTMsICAgICA5LCAgIDIyMywgICAyMjQsICAgIDE0LCAgICAxOCwgICAgNDgsICAgIDQ5LCAgICA1MCwgICAgNDcsCi0gICAgICA0OCwgICAgNjYsICAgIDE0LCAgICA1NSwgICAgNTQsICAgIDI4LCAgICAyNSwgICAgMjUsICAgIDI1LCAgICA0OSwKLSAgICAgIDI5LCAgICAyNSwgICAgIDksICAgIDQ5LCAgICA1MCwgICAgNTUsICAgMTA2LCAgIDEzOSwgICAxMTAsICAgMTExLAotICAgICAgNTcsICAgIDcxLCAgIDExNCwgICAxMTUsICAgIDMxLCAgICAzMiwgICAgNDksICAgIDE0LCAgICAyNSwgICAgNDksCi0gICAgICAyNSwgICAgNDksICAgIDU1LCAgICAyNSwgICAgNTcsICAgIDU1LCAgIDEyOCwgICAgNDksICAgICAwLCAgICA1NywKLSAgICAgMTMyLCAgIDEzMywgICAgMjUsICAgIDU1LCAgIDI5MSwgICAyOTIsICAgMjkzLCAgICAzMSwgICAgMzIsICAgMTM5LAotICAgICAxNDAsICAgMTQzLCAgICA0OSwgICAgMTQsICAgMTEyLCAgIDExMywgICAxMjIsICAgIDI1LCAgIDExMywgICAxNzcsCi0gICAgICA1NywgICAgMjUsICAgIDQ5LCAgICAyNywgICAxMzAsICAgMTMxLCAgIDExNiwgICAxODksICAgIDU1LCAgIDEzNSwKLSAgICAgMTM2LCAgIDMwMiwgICAzMDMsICAgMTM4LCAgICAgNSwgICAgIDYsICAgIDE0LCAgIDE2OSwgICAxNzAsICAgMTcxLAotICAgICAxNzIsICAgMTczLCAgIDE3NCwgICAgMjEsICAgIDI1LCAgICAxNCwgICAgMjcsICAgIDE0LCAgICA0OSwgICAgMjUsCi0gICAgICA1NCwgICAxODMsICAgIDI1LCAgIDE4NSwgICAgNTUsICAgIDI1LCAgIDE4OCwgICAgMjcsICAgMjE2LCAgIDE4OSwKLSAgICAgIDI1LCAgIDE5MSwgICAgMjcsICAgMTYxLCAgIDE2MiwgICAgMjUsICAgMTYxLCAgIDE2MiwgICAgMjUsICAgMjI3LAotICAgICAxNzYsICAgIDQ5LCAgIDE3OCwgICAgNTQsICAgIDI1LCAgIDE2NSwgICAxNjYsICAgIDU1LCAgIDIxMCwgICAgMjUsCi0gICAgICA0OSwgICAgIDQsICAgIDQ5LCAgICAxNCwgICAgNTQsICAgMjE3LCAgICA1NSwgICAxOTIsICAgIDU1LCAgICA1NCwKLSAgICAgIDQ4LCAgIDIyMywgICAyMjQsICAgMTk5LCAgIDIwMCwgICAgNDgsICAgIDI1LCAgIDE5NSwgICAxOTYsICAgIDE0LAotICAgICAgMTksICAgMTk2LCAgIDIzMiwgICAgIDMsICAgIDU4LCAgICA1NywgICAyMTIsICAgMjEzLCAgICAgOCwgICAgMjUsCi0gICAgICAxMCwgICAgMTEsICAgIDEyLCAgICAxMywgICAgMjUsICAgMjIxLCAgIDIyMiwgICAgMjUsICAgIDE4LCAgICA0OCwKLSAgICAgIDQ5LCAgICA1MCwgICAgMjUsICAgIDI1LCAgIDI1NiwgICAgNTgsICAgMjMxLCAgICAyNSwgICAgMjgsICAgICA1LAotICAgICAgIDYsICAgICA3LCAgICAyNSwgICAyNjUsICAgIDI1LCAgICAyNywgICAgNTYsICAgIDU4LCAgIDI3MCwgICAyNzEsCi0gICAgIDI3MiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIDM3LCAgICA1NiwgICAyNzksICAgIDE1LCAgICA0MSwKLSAgICAgIDQyLCAgICA0MywgICAgNDQsICAgIDQ1LCAgICAxNSwgICAgNTUsICAgIDI1LCAgICA1NywgICAgMzEsICAgIDMyLAotICAgICAgNTIsICAgIDUzLCAgIDI5NCwgICAyNjksICAgIDM4LCAgICAzOSwgICAgNDAsICAgIDM4LCAgICAzOSwgICAgNDAsCi0gICAgIDMwMiwgICAzMDMsICAgIDI1LCAgIDI3OSwgICAgNDcsICAgIDQ4LCAgICA0OSwgICAyODMsICAgMjg0LCAgICA0OCwKLSAgICAgIDQ5LCAgICA1MCwgICAgMTUsICAgICA3LCAgICAgOSwgICAgMTUsICAgIDU2LCAgICAxNSwgICAyOTQsICAgICA3LAotICAgICAgNTYsICAgICA0LCAgIDI5OCwgICAyOTksICAgICAxLCAgICAxNSwgICAgIDMsICAgIDU2LCAgIDMwNCwgICAgMjUsCi0gICAgICAxNSwgICAgIDgsICAgIDU2LCAgICAxMCwgICAgMTEsICAgIDEyLCAgICAxMywgICAgMTUsICAgIDU2LCAgICAxNiwKLSAgICAgIDE3LCAgICAxOCwgICAgMTUsICAgIDI1LCAgICA1NiwgICAgMjIsICAgIDIzLCAgICAxNSwgICAgMjUsICAgIDI2LAotICAgICAgMjcsICAgIDI4LCAgICA1NiwgICAgMTUsICAgIDU2LCAgIDE4NCwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsCi0gICAgICAzNywgICAgIDksICAgMjUwLCAgIDIxMCwgICAgNDEsICAgIDQyLCAgICA0MywgICAgNDQsICAgIDQ1LCAgIDI5MCwKLSAgICAgIDExLCAgICAtMSwgICAgNDksICAgIDUwLCAgICAgMywgICAgNTIsICAgIDUzLCAgICAtMSwgICAgNTUsICAgICA4LAotICAgICAgNTcsICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLCAgICAtMSwgICAgLTEsICAgIDE2LCAgICAxNywgICAgMTgsCi0gICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAyMiwgICAgLTEsICAgIC0xLCAgICAyNSwgICAgMjYsICAgIDI3LCAgICAyOCwKLSAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsICAgIC0xLAotICAgICAgLTEsICAgIC0xLCAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgNDUsICAgIC0xLCAgICAtMSwgICAgNDgsCi0gICAgICA0OSwgICAgNTAsICAgICAzLCAgICA1MiwgICAgNTMsICAgIC0xLCAgICA1NSwgICAgIDgsICAgIDU3LCAgICAxMCwKLSAgICAgIDExLCAgICAxMiwgICAgMTMsICAgIC0xLCAgICAtMSwgICAgMTYsICAgIDE3LCAgICAxOCwgICAgLTEsICAgIC0xLAotICAgICAgLTEsICAgIDIyLCAgICAyMywgICAgLTEsICAgIDI1LCAgICAyNiwgICAgMjcsICAgIDI4LCAgICAtMSwgICAgLTEsCi0gICAgICAtMSwgICAgLTEsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywgICAgLTEsICAgIC0xLCAgICAtMSwKLSAgICAgIDQxLCAgICA0MiwgICAgNDMsICAgIDQ0LCAgICA0NSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDksICAgIC0xLAotICAgICAgIDMsICAgIDUyLCAgICA1MywgICAgLTEsICAgIDU1LCAgICAgOCwgICAgNTcsICAgIDEwLCAgICAxMSwgICAgMTIsCisgICAgICAgNiwgICAgIDcsICAgICAwLCAgICAzOSwgICAgIDksICAgICAwLCAgIDIxNywgICAgNjksICAgIDIxLCAgICAgOSwKKyAgICAgIDUwLCAgICAxNCwgICAgNjAsICAgIDYxLCAgIDIwOCwgICAgNjMsICAgMjEwLCAgICA2MiwgICAgNjYsICAgIDQ3LAorICAgICAgIDUsICAgICA2LCAgICAgNywgICAgMTEsICAgIDUyLCAgICAyNSwgICAgMzIsICAgIDMzLCAgIDIyOCwgICAyMjksCisgICAgIDIzMCwgICAyMzEsICAgMjMyLCAgICA2OSwgICAgIDMsICAgIDI1LCAgICAyNSwgICAgNTAsICAgIDM3LCAgICAgOCwKKyAgICAgIDMwLCAgICAxMCwgICAgMTEsICAgIDEyLCAgICAxMywgICAyNTYsICAgIDQ5LCAgICA1MCwgICAgNTEsICAgIDE4LAorICAgICAgNTAsICAgMjUxLCAgICAgOSwgICAgNTYsICAgMjQ4LCAgIDI0OSwgICAgIDMsICAgIDI1LCAgICA1OCwgICAgMjUsCisgICAgICAyOSwgICAgIDgsICAgIDY3LCAgICAxMCwgICAgMTEsICAgIDEyLCAgICAxMywgICAgNTUsICAgIDI1LCAgICA2OCwKKyAgICAgIDMxLCAgICAxOCwgICAgMjUsICAgMTIxLCAgIDEyMiwgICAgMjgsICAgIDI0LCAgIDEyNSwgICAxMjYsICAgIDU4LAorICAgICAgMjUsICAgMTE3LCAgICAyOSwgICAgMjgsICAgIDcyLCAgICA1MiwgICAgMTQsICAgIDU2LCAgIDE1MCwgICAgNTgsCisgICAgICAyNSwgICAxMzksICAgIDU5LCAgICA1MCwgICAgMjUsICAgMTQzLCAgIDE0NCwgICAgMjgsICAgIDUyLCAgICA1MCwKKyAgICAgIDUxLCAgICA1OCwgICAgNTUsICAgIDUwLCAgICAyNSwgICAgNTksICAgMTU0LCAgICAzMiwgICAgMzMsICAgIDU2LAorICAgICAgNTUsICAgIDU4LCAgICAzMiwgICAgMzMsICAgMTUwLCAgIDE1MSwgICAzMTYsICAgMzE3LCAgIDMxOCwgICAgMTQsCisgICAgICAgNSwgICAgIDYsICAgIDUwLCAgICAyNSwgICAgNTUsICAgMTIzLCAgIDEyNCwgICAxMzMsICAgIDU2LCAgIDEyNCwKKyAgICAgIDE0LCAgICAxNCwgICAgMTQsICAgMzI3LCAgIDMyOCwgICAxNDEsICAgMTQyLCAgICAyMSwgICAgMjEsICAgMTI3LAorICAgICAxNDYsICAgMTQ3LCAgICAgMCwgICAgMTQsICAgMTQ5LCAgICAyNSwgICAxOTQsICAgMTk1LCAgIDE5NiwgICAxOTcsCisgICAgIDE5OCwgICAxOTksICAgMjE0LCAgICAyNSwgICAgIDQsICAgIDUwLCAgICAyOCwgICAyMDIsICAgIDI1LCAgICAyNSwKKyAgICAgMjA4LCAgICA1NiwgICAyMTAsICAgIDE0LCAgICAyNSwgICAyMTMsICAgIDUwLCAgICA1MCwgICAgNTAsICAgIDQ5LAorICAgICAgNTAsICAgIDUxLCAgICA1NiwgICAgNTYsICAgIDU2LCAgICAxNCwgICAgMjUsICAgIDI1LCAgIDIxNCwgICAgNTAsCisgICAgIDIxNiwgICAgMjUsICAgIDI1LCAgICA1NSwgICAgNDksICAgIDU2LCAgICA0OSwgICAyMzUsICAgMTg2LCAgIDE4NywKKyAgICAgIDI1LCAgIDE4NiwgICAxODcsICAgIDI4LCAgIDI0MiwgICAyMDEsICAgMjQxLCAgIDIwMywgICAgMTQsICAgIDUwLAorICAgICAyNDgsICAgMjQ5LCAgIDE5MCwgICAxOTEsICAgIDI1LCAgICA1NiwgICAgMjUsICAgMjUyLCAgICAxNCwgICAgMjgsCisgICAgICAxOSwgICAgNTAsICAgMjE3LCAgICAzOSwgICAgNDAsICAgIDQxLCAgICA1OCwgICAgNTYsICAgMjI0LCAgIDIyNSwKKyAgICAgIDU1LCAgIDI1NywgICAyMjAsICAgMjIxLCAgICAyNSwgICAgNTksICAgMjIxLCAgICAyNSwgICAgNDksICAgIDUwLAorICAgICAgNTEsICAgMjM3LCAgIDIzOCwgICAyODEsICAgIDI1LCAgICAyNSwgICAgNTUsICAgIDMyLCAgICAzMywgICAgMjUsCisgICAgIDI0NiwgICAyNDcsICAgMjkwLCAgICAyNSwgICAgMjUsICAgIDMyLCAgICAzMywgICAyOTUsICAgMjk2LCAgIDI5NywKKyAgICAgIDI1LCAgIDI1NiwgICAgMjUsICAgIDQ4LCAgICA0OSwgICAgNTAsICAgMzA0LCAgICAyNSwgICAgMjYsICAgIDI3LAorICAgICAgMjgsICAgIDQ4LCAgICA0OSwgICAgMzksICAgIDQwLCAgICA0MSwgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsCisgICAgICAzOCwgICAzMTksICAgIDI1LCAgICAyNSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgNDUsICAgIDQ2LCAgIDMyNywKKyAgICAgMzI4LCAgICAyNSwgICAgMjUsICAgIDI1LCAgICAyNSwgICAgNTMsICAgIDU0LCAgICAyNSwgICAyOTQsICAgIDM0LAorICAgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAgIDU3LCAgICA1OSwgICAgMTUsICAgIDQyLCAgIDMwNCwgICAgNTksCisgICAgICA0NSwgICAgNDYsICAgMzA4LCAgIDMwOSwgICAgMjUsICAgIDE1LCAgICA1NywgICAgMTUsICAgIDUzLCAgICA1NCwKKyAgICAgICA3LCAgICAgOSwgICAgMTUsICAgMzE5LCAgICAxNSwgICAgIDcsICAgICA0LCAgIDMyMywgICAzMjQsICAgICAxLAorICAgICAgNTcsICAgICAzLCAgICA1NywgICAzMjksICAgIDE1LCAgICAyNSwgICAgIDgsICAgIDU3LCAgICAxMCwgICAgMTEsCisgICAgICAxMiwgICAgMTMsICAgIDE1LCAgICA1NywgICAgMTYsICAgIDE3LCAgICAxOCwgICAgMTUsICAgIDI1LCAgICA1NywKKyAgICAgIDIyLCAgICAyMywgICAgMTUsICAgIDI1LCAgICAyNiwgICAgMjcsICAgIDI4LCAgICAyOSwgICAgNTcsICAgIDE1LAorICAgICAgNTcsICAgIDE1LCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAgMjA5LCAgICA1NywgICAgIDksCisgICAgICA0MiwgICAgNDMsICAgIDQ0LCAgICA0NSwgICAgNDYsICAgMzE1LCAgIDIzNSwgICAyNzUsICAgIDUwLCAgICA1MSwKKyAgICAgICAzLCAgICA1MywgICAgNTQsICAgIDExLCAgICA1NiwgICAgIDgsICAgIDU4LCAgICAxMCwgICAgMTEsICAgIDEyLAogICAgICAgMTMsICAgIC0xLCAgICAtMSwgICAgMTYsICAgIDE3LCAgICAxOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMjIsCi0gICAgICAyMywgICAgLTEsICAgIDI1LCAgICAyNiwgICAgMjcsICAgIDI4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKLSAgICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDEsICAgIDQyLAotICAgICAgNDMsICAgIDQ0LCAgICA0NSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAgMywgICAgNTIsCi0gICAgICA1MywgICAgLTEsICAgIDU1LCAgICAgOCwgICAgNTcsICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLCAgICAtMSwKLSAgICAgIC0xLCAgICAxNiwgICAgMTcsICAgIDE4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMjMsICAgIC0xLAotICAgICAgMjUsICAgIDI2LCAgICAyNywgICAgMjgsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAzMywgICAgMzQsCi0gICAgICAzNSwgICAgMzYsICAgIDM3LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwKLSAgICAgIDQ1LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgICAzLCAgICA1MiwgICAgNTMsICAgIC0xLAotICAgICAgNTUsICAgICA4LCAgICA1NywgICAgMTAsICAgIDExLCAgICAxMiwgICAgMTMsICAgIC0xLCAgICAtMSwgICAgMTYsCisgICAgICAtMSwgICAgLTEsICAgIDI1LCAgICAyNiwgICAgMjcsICAgIDI4LCAgICAyOSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDQyLAorICAgICAgNDMsICAgIDQ0LCAgICA0NSwgICAgNDYsICAgIC0xLCAgICAtMSwgICAgNDksICAgIDUwLCAgICA1MSwgICAgIDMsCisgICAgICA1MywgICAgNTQsICAgIC0xLCAgICA1NiwgICAgIDgsICAgIDU4LCAgICAxMCwgICAgMTEsICAgIDEyLCAgICAxMywKKyAgICAgIC0xLCAgICAtMSwgICAgMTYsICAgIDE3LCAgICAxOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMjIsICAgIDIzLAorICAgICAgLTEsICAgIDI1LCAgICAyNiwgICAgMjcsICAgIDI4LCAgICAyOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDQyLCAgICA0MywKKyAgICAgIDQ0LCAgICA0NSwgICAgNDYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDUwLCAgICAtMSwgICAgIDMsICAgIDUzLAorICAgICAgNTQsICAgIC0xLCAgICA1NiwgICAgIDgsICAgIDU4LCAgICAxMCwgICAgMTEsICAgIDEyLCAgICAxMywgICAgLTEsCisgICAgICAtMSwgICAgMTYsICAgIDE3LCAgICAxOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMjIsICAgIDIzLCAgICAtMSwKKyAgICAgIDI1LCAgICAyNiwgICAgMjcsICAgIDI4LCAgICAyOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDM0LAorICAgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDQyLCAgICA0MywgICAgNDQsCisgICAgICA0NSwgICAgNDYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgIDMsICAgIDUzLCAgICA1NCwKKyAgICAgIC0xLCAgICA1NiwgICAgIDgsICAgIDU4LCAgICAxMCwgICAgMTEsICAgIDEyLCAgICAxMywgICAgLTEsICAgIC0xLAorICAgICAgMTYsICAgIDE3LCAgICAxOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDIzLCAgICAtMSwgICAgMjUsCisgICAgICAyNiwgICAgMjcsICAgIDI4LCAgICAyOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDM0LCAgICAzNSwKKyAgICAgIDM2LCAgICAzNywgICAgMzgsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDQyLCAgICA0MywgICAgNDQsICAgIDQ1LAorICAgICAgNDYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgIDMsICAgIDUzLCAgICA1NCwgICAgLTEsCisgICAgICA1NiwgICAgIDgsICAgIDU4LCAgICAxMCwgICAgMTEsICAgIDEyLCAgICAxMywgICAgLTEsICAgIC0xLCAgICAxNiwKICAgICAgIDE3LCAgICAxOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMjUsICAgIDI2LAotICAgICAgMjcsICAgIDI4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsCi0gICAgICAzNywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDEsICAgIDQyLCAgICA0MywgICAgNDQsICAgIDQ1LCAgICAtMSwKLSAgICAgIC0xLCAgICAtMSwgICAgNDksICAgIC0xLCAgICAgMywgICAgNTIsICAgIDUzLCAgICAtMSwgICAgNTUsICAgICA4LAotICAgICAgNTcsICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLCAgICAtMSwgICAgLTEsICAgIDE2LCAgICAxNywgICAgMTgsCisgICAgICAyNywgICAgMjgsICAgIDI5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzQsICAgIDM1LCAgICAzNiwKKyAgICAgIDM3LCAgICAzOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgNDUsICAgIDQ2LAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNTAsICAgIC0xLCAgICAgMywgICAgNTMsICAgIDU0LCAgICAtMSwgICAgNTYsCisgICAgICAgOCwgICAgNTgsICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLCAgICAtMSwgICAgLTEsICAgIDE2LCAgICAxNywKKyAgICAgIDE4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAyNSwgICAgMjYsICAgIDI3LAorICAgICAgMjgsICAgIDI5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsCisgICAgICAzOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgNDUsICAgIDQ2LCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAgMywgICAgNTMsICAgIDU0LCAgICAtMSwgICAgNTYsICAgICA4LAorICAgICAgNTgsICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTgsCiAgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAyNSwgICAgMjYsICAgIDI3LCAgICAyOCwKLSAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsICAgIC0xLAotICAgICAgLTEsICAgIC0xLCAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgNDUsICAgIC0xLCAgICAtMSwgICAgLTEsCi0gICAgICAtMSwgICAgLTEsICAgICAzLCAgICA1MiwgICAgNTMsICAgIC0xLCAgICA1NSwgICAgIDgsICAgIDU3LCAgICAxMCwKLSAgICAgIDExLCAgICAxMiwgICAgMTMsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAxOCwgICAgLTEsICAgIC0xLAotICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDI1LCAgICAyNiwgICAgMjcsICAgIDI4LCAgICAtMSwgICAgLTEsCi0gICAgICAtMSwgICAgLTEsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywgICAgLTEsICAgIC0xLCAgICAtMSwKLSAgICAgIDQxLCAgICA0MiwgICAgNDMsICAgIDQ0LCAgICA0NSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAotICAgICAgLTEsICAgIDUyLCAgICA1MywgICAgLTEsICAgIDU1LCAgICAtMSwgICAgNTcsICAgIDI1LCAgICAyNiwgICAgMjcsCi0gICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywKLSAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDQxLCAgICA0MiwgICAgNDMsICAgIDQ0LCAgICA0NSwgICAgMzMsICAgIDM0LAotICAgICAgMzUsICAgIDM2LCAgICAzNywgICAgLTEsICAgIDUyLCAgICA1MywgICAgNDEsICAgIC0xLCAgICAtMSwgICAgNDQsCi0gICAgICA0NSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNTIsICAgIDUzCisgICAgICAyOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIDM3LCAgICAzOCwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDQyLCAgICA0MywgICAgNDQsICAgIDQ1LCAgICA0NiwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDUzLCAgICA1NCwgICAgLTEsICAgIDU2LCAgICAtMSwgICAgNTgsCisgICAgICAyNywgICAgMjgsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzQsICAgIDM1LCAgICAzNiwKKyAgICAgIDM3LCAgICAzOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgNDUsICAgIDQ2LAorICAgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LCAgICAtMSwgICAgNTMsICAgIDU0LCAgICA0MiwgICAgLTEsCisgICAgICAtMSwgICAgNDUsICAgIDQ2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA1MywKKyAgICAgIDU0CiB9OwogCiAvKiBZWVNUT1NbU1RBVEUtTlVNXSAtLSBUaGUgKGludGVybmFsIG51bWJlciBvZiB0aGUpIGFjY2Vzc2luZwpAQCAtMTIyOSwzNyArMTI1OSw0MCBAQAogc3RhdGljIGNvbnN0IHl5dHlwZV91aW50OCB5eXN0b3NbXSA9CiB7CiAgICAgICAgMCwgICAgIDEsICAgICAzLCAgICAgOCwgICAgMTAsICAgIDExLCAgICAxMiwgICAgMTMsICAgIDE2LCAgICAxNywKLSAgICAgIDE4LCAgICAyMiwgICAgMjMsICAgIDI1LCAgICAyNiwgICAgMjcsICAgIDI4LCAgICAzMywgICAgMzQsICAgIDM1LAotICAgICAgMzYsICAgIDM3LCAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgNDUsICAgIDQ5LCAgICA1MCwgICAgNTIsCi0gICAgICA1MywgICAgNTUsICAgIDU3LCAgICA2MCwgICAgNjIsICAgIDYzLCAgICA2NSwgICAgNjYsICAgIDY3LCAgICA2OCwKLSAgICAgIDY5LCAgICA3MCwgICAgNzEsICAgIDcyLCAgICA3NCwgICAgNzUsICAgIDc2LCAgICA3NywgICAgNzgsICAgIDc5LAotICAgICAgOTIsICAgIDkzLCAgICA5NCwgICAgOTUsICAgIDk2LCAgICA0OSwgICAgODUsICAgIDg2LCAgICA5MSwgICAgMjUsCi0gICAgICAyNSwgICAgMjksICAgIDI1LCAgICA4NiwgICAgODYsICAgIDI1LCAgICAyNSwgICAgNjUsICAgIDY3LCAgICAzMCwKLSAgICAgIDk1LCAgICA5NiwgICAgMjQsICAgIDU3LCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDQxLAotICAgICAgNDQsICAgIDQ1LCAgICA1MiwgICAgNTMsICAgIDI1LCAgICAyNSwgICAgMjUsICAgIDI3LCAgICA1NCwgICAgMjUsCi0gICAgICAyNSwgICAgMjcsICAgIDU0LCAgICAyNSwgICAgMjUsICAgIDI1LCAgICAyNSwgICAgMjUsICAgIDI1LCAgICAyNSwKLSAgICAgIDg2LCAgICA4NiwgICAgIDAsICAgIDI1LCAgICA2MywgICAgNjIsICAgIDY0LCAgICA0OSwgICAgNTAsICAgIDg5LAotICAgICAgMzEsICAgIDMyLCAgICA0NywgICAgNDgsICAgIDQ2LCAgICA1MSwgICAgMjIsICAgIDQ4LCAgICA0OSwgICAgNTAsCi0gICAgICA5MCwgICAgOTUsICAgICA0LCAgICA0OSwgICAgODcsICAgIDg4LCAgICA5NCwgICAgOTEsICAgIDQ4LCAgICA5MSwKLSAgICAgIDE0LCAgICA1NSwgICAgOTAsICAgIDQ4LCAgICA5MSwgICAgMTQsICAgIDE0LCAgICA1NywgICAgOTEsICAgIDY3LAotICAgICAgNjQsICAgIDE5LCAgICA5NSwgICAgNTgsICAgIDI1LCAgICAyNSwgICAgMjUsICAgIDI3LCAgICA1NCwgICAgMjUsCi0gICAgICAyNSwgICAgMjcsICAgIDU0LCAgICAyNSwgICAgMjUsICAgIDI1LCAgICAyNSwgICAgMjUsICAgIDU2LCAgICA1OCwKLSAgICAgIDYyLCAgICA5MSwgICAgOTEsICAgIDkzLCAgICA5MywgICAgOTEsICAgIDkxLCAgICA5NSwgICAgODYsICAgIDMxLAotICAgICAgMzIsICAgIDQ3LCAgICA0OCwgICAgNDksICAgIDIxLCAgICA5MSwgICAgMTQsICAgIDIxLCAgICA1NSwgICAgODYsCi0gICAgICA4NiwgICAgOTEsICAgIDkxLCAgICAxNCwgICAgMjEsICAgIDU1LCAgICA4NiwgICAgODYsICAgIDU4LCAgICA2NywKLSAgICAgIDczLCAgICA2NCwgICAgOTEsICAgIDkzLCAgICA5MywgICAgNDcsICAgIDQ4LCAgICA5NSwgICAgOTUsICAgICA1LAotICAgICAgIDYsICAgICA3LCAgICA4MCwgICAgOTEsICAgIDkxLCAgICA5MSwgICAgOTEsICAgIDkxLCAgICA4MSwgICAgODIsCi0gICAgICA4MywgICAgOTEsICAgIDE0LCAgICA1NSwgICAgODYsICAgIDI1LCAgICA2MSwgICAgOTAsICAgIDg2LCAgICAxNSwKLSAgICAgIDU2LCAgICAxNCwgICAgNTUsICAgIDE0LCAgICA1NSwgICAgODUsICAgIDkxLCAgICA2MSwgICAgODUsICAgIDE1LAotICAgICAgMTUsICAgIDkxLCAgICA2NCwgICAgNzMsICAgIDg2LCAgICA4NiwgICAgIDcsICAgIDg4LCAgICA4OCwgICAgODgsCi0gICAgICA4OCwgICAgODgsICAgICA5LCAgICAzOCwgICAgMzksICAgIDQwLCAgICA4MiwgICAgOTEsICAgICA5LCAgICAyNSwKLSAgICAgIDU3LCAgICA4NCwgICAgODYsICAgIDg2LCAgICAxNSwgICAgMjUsICAgIDkwLCAgICA5MSwgICAgNTYsICAgIDg2LAotICAgICAgODYsICAgIDg1LCAgICA4NSwgICAgMTUsICAgIDg4LCAgICA5MCwgICAgNTYsICAgIDczLCAgICAgNywgICAgIDQsCi0gICAgICA0NywgICAgNDgsICAgIDQ5LCAgICAzOCwgICAgMzksICAgIDQwLCAgICAgOSwgICAgODQsICAgIDUxLCAgICA1OCwKLSAgICAgIDE1LCAgICA1NiwgICAgOTEsICAgIDE0LCAgICA1NSwgICAgMTUsICAgIDU2LCAgICAxNSwgICAgNTYsICAgIDkxLAotICAgICAgODYsICAgIDkxLCAgICA5MSwgICAgOTEsICAgIDU4LCAgICAyNSwgICAgODYsICAgIDkxLCAgICAxNCwgICAgNTUsCi0gICAgICA4NiwgICAgODYsICAgIDE0LCAgICA1NSwgICAgIDUsICAgIDgwLCAgICA4NiwgICAgOTEsICAgIDg2LCAgICA4NiwKLSAgICAgIDE1LCAgICA1NiwgICAgODUsICAgIDg1LCAgICA4NiwgICAgMTUsICAgIDU2LCAgICAxNSwgICAgNTYKKyAgICAgIDE4LCAgICAyMiwgICAgMjMsICAgIDI1LCAgICAyNiwgICAgMjcsICAgIDI4LCAgICAyOSwgICAgMzQsICAgIDM1LAorICAgICAgMzYsICAgIDM3LCAgICAzOCwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgNDUsICAgIDQ2LCAgICA1MCwgICAgNTEsCisgICAgICA1MywgICAgNTQsICAgIDU2LCAgICA1OCwgICAgNjEsICAgIDYzLCAgICA2NCwgICAgNjYsICAgIDY3LCAgICA2OCwKKyAgICAgIDY5LCAgICA3MCwgICAgNzEsICAgIDcyLCAgICA3MywgICAgNzUsICAgIDc2LCAgICA3NywgICAgNzgsICAgIDc5LAorICAgICAgODAsICAgIDkzLCAgICA5NCwgICAgOTUsICAgIDk2LCAgICA5NywgICAgNTAsICAgIDg2LCAgICA4NywgICAgOTIsCisgICAgICAyNSwgICAgMjUsICAgIDMwLCAgICAyNSwgICAgODcsICAgIDg3LCAgICAyNSwgICAgMjUsICAgIDY2LCAgICA2OCwKKyAgICAgIDMxLCAgICA5NiwgICAgOTcsICAgIDI0LCAgICA1OCwgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LAorICAgICAgNDIsICAgIDQ1LCAgICA0NiwgICAgNTMsICAgIDU0LCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsCisgICAgICA0MiwgICAgNDUsICAgIDQ2LCAgICA1MywgICAgNTQsICAgIDI1LCAgICAyNSwgICAgMjUsICAgIDI4LCAgICA1NSwKKyAgICAgIDI1LCAgICAyNSwgICAgMjgsICAgIDU1LCAgICAyNSwgICAgMjUsICAgIDI1LCAgICAyNSwgICAgMjUsICAgIDI1LAorICAgICAgMjUsICAgIDg3LCAgICA4NywgICAgIDAsICAgIDI1LCAgICA2NCwgICAgNjMsICAgIDY1LCAgICA1MCwgICAgNTEsCisgICAgICA5MCwgICAgMzIsICAgIDMzLCAgICA0OCwgICAgNDksICAgIDQ3LCAgICA1MiwgICAgMjIsICAgIDQ5LCAgICA1MCwKKyAgICAgIDUxLCAgICA5MSwgICAgOTYsICAgICA0LCAgICA1MCwgICAgODgsICAgIDg5LCAgICA5NSwgICAgOTIsICAgIDQ5LAorICAgICAgOTIsICAgIDE0LCAgICA1NiwgICAgOTEsICAgIDQ5LCAgICA5MiwgICAgMTQsICAgIDE0LCAgICA1OCwgICAgOTIsCisgICAgICA2OCwgICAgNjUsICAgIDE5LCAgICA5NiwgICAgNTksICAgIDI1LCAgICAyNSwgICAgMjUsICAgIDI4LCAgICA1NSwKKyAgICAgIDI1LCAgICAyNSwgICAgMjgsICAgIDU1LCAgICAyNSwgICAgMjUsICAgIDI1LCAgICAyNSwgICAgMjUsICAgIDI1LAorICAgICAgMjUsICAgIDI1LCAgICAyOCwgICAgNTUsICAgIDI1LCAgICAyNSwgICAgMjgsICAgIDU1LCAgICAyNSwgICAgMjUsCisgICAgICAyNSwgICAgMjUsICAgIDI1LCAgICA1NywgICAgNTksICAgIDYzLCAgICA5MiwgICAgOTIsICAgIDk0LCAgICA5NCwKKyAgICAgIDkyLCAgICA5MiwgICAgOTYsICAgIDg3LCAgICAzMiwgICAgMzMsICAgIDQ4LCAgICA0OSwgICAgNTAsICAgIDIxLAorICAgICAgOTIsICAgIDE0LCAgICAyMSwgICAgNTYsICAgIDg3LCAgICA4NywgICAgOTIsICAgIDkyLCAgICAxNCwgICAgMjEsCisgICAgICA1NiwgICAgODcsICAgIDg3LCAgICA1OSwgICAgNjgsICAgIDc0LCAgICA2NSwgICAgOTIsICAgIDk0LCAgICA5NCwKKyAgICAgIDQ4LCAgICA0OSwgICAgOTYsICAgIDk2LCAgICAgNSwgICAgIDYsICAgICA3LCAgICA4MSwgICAgOTIsICAgIDkyLAorICAgICAgOTIsICAgIDkyLCAgICA5MiwgICAgODIsICAgIDgzLCAgICA4NCwgICAgOTIsICAgIDE0LCAgICA1NiwgICAgODcsCisgICAgICAyNSwgICAgNjIsICAgIDkxLCAgICA4NywgICAgMTUsICAgIDU3LCAgICAxNCwgICAgNTYsICAgIDE0LCAgICA1NiwKKyAgICAgIDg2LCAgICA5MiwgICAgNjIsICAgIDg2LCAgICAxNSwgICAgMTUsICAgIDkyLCAgICA2NSwgICAgNzQsICAgIDg3LAorICAgICAgODcsICAgICA3LCAgICA4OSwgICAgODksICAgIDg5LCAgICA4OSwgICAgODksICAgICA5LCAgICAzOSwgICAgNDAsCisgICAgICA0MSwgICAgODMsICAgIDkyLCAgICAgOSwgICAgMjUsICAgIDU4LCAgICA4NSwgICAgODcsICAgIDg3LCAgICAxNSwKKyAgICAgIDI1LCAgICA5MSwgICAgOTIsICAgIDU3LCAgICA4NywgICAgODcsICAgIDg2LCAgICA4NiwgICAgMTUsICAgIDg5LAorICAgICAgOTEsICAgIDU3LCAgICA3NCwgICAgIDcsICAgICA0LCAgICA0OCwgICAgNDksICAgIDUwLCAgICAzOSwgICAgNDAsCisgICAgICA0MSwgICAgIDksICAgIDg1LCAgICA1MiwgICAgNTksICAgIDE1LCAgICA1NywgICAgOTIsICAgIDE0LCAgICA1NiwKKyAgICAgIDE1LCAgICA1NywgICAgMTUsICAgIDU3LCAgICA5MiwgICAgODcsICAgIDkyLCAgICA5MiwgICAgOTIsICAgIDU5LAorICAgICAgMjUsICAgIDg3LCAgICA5MiwgICAgMTQsICAgIDU2LCAgICA4NywgICAgODcsICAgIDE0LCAgICA1NiwgICAgIDUsCisgICAgICA4MSwgICAgODcsICAgIDkyLCAgICA4NywgICAgODcsICAgIDE1LCAgICA1NywgICAgODYsICAgIDg2LCAgICA4NywKKyAgICAgIDE1LCAgICA1NywgICAgMTUsICAgIDU3CiB9OwogCiAjZGVmaW5lIHl5ZXJyb2sJCSh5eWVycnN0YXR1cyA9IDApCkBAIC0yMDc0LDcgKzIxMDcsNyBAQAogICBzd2l0Y2ggKHl5bikKICAgICB7CiAgICAgICAgIGNhc2UgMjoKLSNsaW5lIDM3MCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSAzNzQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgLyogQ2FzZSBvZiByZWd1bGFyIGNvbW1hbmQuICBEaXNjYXJkIHRoZSBlcnJvcgogCQkJICAgICBzYWZldHkgbmV0LGFuZCByZXR1cm4gdGhlIGNvbW1hbmQganVzdCBwYXJzZWQuICovCkBAIC0yMDg4LDcgKzIxMjEsNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgMzoKLSNsaW5lIDM4MSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSAzODUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgLyogQ2FzZSBvZiByZWd1bGFyIGNvbW1hbmQsIGJ1dCBub3QgYSB2ZXJ5CiAJCQkgICAgIGludGVyZXN0aW5nIG9uZS4gIFJldHVybiBhIE5VTEwgY29tbWFuZC4gKi8KQEAgLTIxMDAsNyArMjEzMyw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSA0OgotI2xpbmUgMzkwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDM5NCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICAvKiBFcnJvciBkdXJpbmcgcGFyc2luZy4gIFJldHVybiBOVUxMIGNvbW1hbmQuICovCiAJCQkgIGdsb2JhbF9jb21tYW5kID0gKENPTU1BTkQgKilOVUxMOwpAQCAtMjExOCw3ICsyMTUxLDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDU6Ci0jbGluZSA0MDUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNDA5ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIC8qIENhc2Ugb2YgRU9GIHNlZW4gYnkgaXRzZWxmLiAgRG8gaWdub3JlZW9mIG9yCiAJCQkgICAgIG5vdC4gKi8KQEAgLTIxMjksMjg1ICsyMTYyLDQ0MSBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgNjoKLSNsaW5lIDQxNSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA0MTkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLndvcmRfbGlzdCkgPSBtYWtlX3dvcmRfbGlzdCAoKHl5dnNwWygxKSAtICgxKV0ud29yZCksIChXT1JEX0xJU1QgKilOVUxMKTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgNzoKLSNsaW5lIDQxNyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA0MjEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLndvcmRfbGlzdCkgPSBtYWtlX3dvcmRfbGlzdCAoKHl5dnNwWygyKSAtICgyKV0ud29yZCksICh5eXZzcFsoMSkgLSAoMildLndvcmRfbGlzdCkpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSA4OgotI2xpbmUgNDIxICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDQyNSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeworCQkJICBzb3VyY2UuZGVzdCA9IDE7CiAJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygyKSAtICgyKV0ud29yZCk7Ci0JCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uICgxLCByX291dHB1dF9kaXJlY3Rpb24sIHJlZGlyKTsKKwkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9vdXRwdXRfZGlyZWN0aW9uLCByZWRpciwgMCk7CiAJCQl9CiAgICAgYnJlYWs7CiAKICAgY2FzZSA5OgotI2xpbmUgNDI2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDQzMSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeworCQkJICBzb3VyY2UuZGVzdCA9IDA7CiAJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygyKSAtICgyKV0ud29yZCk7Ci0JCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uICgwLCByX2lucHV0X2RpcmVjdGlvbiwgcmVkaXIpOworCQkJICAoeXl2YWwucmVkaXJlY3QpID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX2lucHV0X2RpcmVjdGlvbiwgcmVkaXIsIDApOwogCQkJfQogICAgIGJyZWFrOwogCiAgIGNhc2UgMTA6Ci0jbGluZSA0MzEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNDM3ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CisJCQkgIHNvdXJjZS5kZXN0ID0gKHl5dnNwWygxKSAtICgzKV0ubnVtYmVyKTsKIAkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDMpIC0gKDMpXS53b3JkKTsKLQkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKCh5eXZzcFsoMSkgLSAoMyldLm51bWJlciksIHJfb3V0cHV0X2RpcmVjdGlvbiwgcmVkaXIpOworCQkJICAoeXl2YWwucmVkaXJlY3QpID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX291dHB1dF9kaXJlY3Rpb24sIHJlZGlyLCAwKTsKIAkJCX0KICAgICBicmVhazsKIAogICBjYXNlIDExOgotI2xpbmUgNDM2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDQ0MyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeworCQkJICBzb3VyY2UuZGVzdCA9ICh5eXZzcFsoMSkgLSAoMyldLm51bWJlcik7CiAJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygzKSAtICgzKV0ud29yZCk7Ci0JCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uICgoeXl2c3BbKDEpIC0gKDMpXS5udW1iZXIpLCByX2lucHV0X2RpcmVjdGlvbiwgcmVkaXIpOworCQkJICAoeXl2YWwucmVkaXJlY3QpID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX2lucHV0X2RpcmVjdGlvbiwgcmVkaXIsIDApOwogCQkJfQogICAgIGJyZWFrOwogCiAgIGNhc2UgMTI6Ci0jbGluZSA0NDEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNDQ5ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7Ci0JCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygyKSAtICgyKV0ud29yZCk7Ci0JCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uICgxLCByX2FwcGVuZGluZ190bywgcmVkaXIpOworCQkJICBzb3VyY2UuZmlsZW5hbWUgPSAoeXl2c3BbKDEpIC0gKDMpXS53b3JkKTsKKwkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDMpIC0gKDMpXS53b3JkKTsKKwkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9vdXRwdXRfZGlyZWN0aW9uLCByZWRpciwgUkVESVJfVkFSQVNTSUdOKTsKIAkJCX0KICAgICBicmVhazsKIAogICBjYXNlIDEzOgotI2xpbmUgNDQ2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDQ1NSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeworCQkJICBzb3VyY2UuZmlsZW5hbWUgPSAoeXl2c3BbKDEpIC0gKDMpXS53b3JkKTsKIAkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDMpIC0gKDMpXS53b3JkKTsKLQkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKCh5eXZzcFsoMSkgLSAoMyldLm51bWJlciksIHJfYXBwZW5kaW5nX3RvLCByZWRpcik7CisJCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfaW5wdXRfZGlyZWN0aW9uLCByZWRpciwgUkVESVJfVkFSQVNTSUdOKTsKIAkJCX0KICAgICBicmVhazsKIAogICBjYXNlIDE0OgotI2xpbmUgNDUxICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDQ2MSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeworCQkJICBzb3VyY2UuZGVzdCA9IDE7CiAJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygyKSAtICgyKV0ud29yZCk7Ci0JCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uICgwLCByX3JlYWRpbmdfdW50aWwsIHJlZGlyKTsKLQkJCSAgcmVkaXJfc3RhY2tbbmVlZF9oZXJlX2RvYysrXSA9ICh5eXZhbC5yZWRpcmVjdCk7CisJCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfYXBwZW5kaW5nX3RvLCByZWRpciwgMCk7CiAJCQl9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAxNToKLSNsaW5lIDQ1NyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA0NjcgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKKwkJCSAgc291cmNlLmRlc3QgPSAoeXl2c3BbKDEpIC0gKDMpXS5udW1iZXIpOwogCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMykgLSAoMyldLndvcmQpOwotCQkJICAoeXl2YWwucmVkaXJlY3QpID0gbWFrZV9yZWRpcmVjdGlvbiAoKHl5dnNwWygxKSAtICgzKV0ubnVtYmVyKSwgcl9yZWFkaW5nX3VudGlsLCByZWRpcik7Ci0JCQkgIHJlZGlyX3N0YWNrW25lZWRfaGVyZV9kb2MrK10gPSAoeXl2YWwucmVkaXJlY3QpOworCQkJICAoeXl2YWwucmVkaXJlY3QpID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX2FwcGVuZGluZ190bywgcmVkaXIsIDApOwogCQkJfQogICAgIGJyZWFrOwogCiAgIGNhc2UgMTY6Ci0jbGluZSA0NjMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNDczICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7Ci0JCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygyKSAtICgyKV0ud29yZCk7Ci0JCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uICgwLCByX3JlYWRpbmdfc3RyaW5nLCByZWRpcik7CisJCQkgIHNvdXJjZS5maWxlbmFtZSA9ICh5eXZzcFsoMSkgLSAoMyldLndvcmQpOworCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMykgLSAoMyldLndvcmQpOworCQkJICAoeXl2YWwucmVkaXJlY3QpID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX2FwcGVuZGluZ190bywgcmVkaXIsIFJFRElSX1ZBUkFTU0lHTik7CiAJCQl9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAxNzoKLSNsaW5lIDQ2OCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA0NzkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKLQkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDMpIC0gKDMpXS53b3JkKTsKLQkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKCh5eXZzcFsoMSkgLSAoMyldLm51bWJlciksIHJfcmVhZGluZ19zdHJpbmcsIHJlZGlyKTsKKwkJCSAgc291cmNlLmRlc3QgPSAxOworCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMikgLSAoMildLndvcmQpOworCQkJICAoeXl2YWwucmVkaXJlY3QpID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX291dHB1dF9mb3JjZSwgcmVkaXIsIDApOwogCQkJfQogICAgIGJyZWFrOwogCiAgIGNhc2UgMTg6Ci0jbGluZSA0NzMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNDg1ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7Ci0JCQkgIHJlZGlyLmRlc3QgPSAoeXl2c3BbKDIpIC0gKDIpXS5udW1iZXIpOwotCQkJICAoeXl2YWwucmVkaXJlY3QpID0gbWFrZV9yZWRpcmVjdGlvbiAoMCwgcl9kdXBsaWNhdGluZ19pbnB1dCwgcmVkaXIpOworCQkJICBzb3VyY2UuZGVzdCA9ICh5eXZzcFsoMSkgLSAoMyldLm51bWJlcik7CisJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygzKSAtICgzKV0ud29yZCk7CisJCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfb3V0cHV0X2ZvcmNlLCByZWRpciwgMCk7CiAJCQl9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAxOToKLSNsaW5lIDQ3OCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA0OTEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKLQkJCSAgcmVkaXIuZGVzdCA9ICh5eXZzcFsoMykgLSAoMyldLm51bWJlcik7Ci0JCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uICgoeXl2c3BbKDEpIC0gKDMpXS5udW1iZXIpLCByX2R1cGxpY2F0aW5nX2lucHV0LCByZWRpcik7CisJCQkgIHNvdXJjZS5maWxlbmFtZSA9ICh5eXZzcFsoMSkgLSAoMyldLndvcmQpOworCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMykgLSAoMyldLndvcmQpOworCQkJICAoeXl2YWwucmVkaXJlY3QpID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX291dHB1dF9mb3JjZSwgcmVkaXIsIFJFRElSX1ZBUkFTU0lHTik7CiAJCQl9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAyMDoKLSNsaW5lIDQ4MyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA0OTcgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKLQkJCSAgcmVkaXIuZGVzdCA9ICh5eXZzcFsoMikgLSAoMildLm51bWJlcik7Ci0JCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uICgxLCByX2R1cGxpY2F0aW5nX291dHB1dCwgcmVkaXIpOworCQkJICBzb3VyY2UuZGVzdCA9IDA7CisJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygyKSAtICgyKV0ud29yZCk7CisJCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfaW5wdXRfb3V0cHV0LCByZWRpciwgMCk7CiAJCQl9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAyMToKLSNsaW5lIDQ4OCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA1MDMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKLQkJCSAgcmVkaXIuZGVzdCA9ICh5eXZzcFsoMykgLSAoMyldLm51bWJlcik7Ci0JCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uICgoeXl2c3BbKDEpIC0gKDMpXS5udW1iZXIpLCByX2R1cGxpY2F0aW5nX291dHB1dCwgcmVkaXIpOworCQkJICBzb3VyY2UuZGVzdCA9ICh5eXZzcFsoMSkgLSAoMyldLm51bWJlcik7CisJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygzKSAtICgzKV0ud29yZCk7CisJCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfaW5wdXRfb3V0cHV0LCByZWRpciwgMCk7CiAJCQl9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAyMjoKLSNsaW5lIDQ5MyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA1MDkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKLQkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDIpIC0gKDIpXS53b3JkKTsKLQkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKDAsIHJfZHVwbGljYXRpbmdfaW5wdXRfd29yZCwgcmVkaXIpOworCQkJICBzb3VyY2UuZmlsZW5hbWUgPSAoeXl2c3BbKDEpIC0gKDMpXS53b3JkKTsKKwkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDMpIC0gKDMpXS53b3JkKTsKKwkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9pbnB1dF9vdXRwdXQsIHJlZGlyLCBSRURJUl9WQVJBU1NJR04pOwogCQkJfQogICAgIGJyZWFrOwogCiAgIGNhc2UgMjM6Ci0jbGluZSA0OTggIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNTE1ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7Ci0JCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygzKSAtICgzKV0ud29yZCk7Ci0JCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uICgoeXl2c3BbKDEpIC0gKDMpXS5udW1iZXIpLCByX2R1cGxpY2F0aW5nX2lucHV0X3dvcmQsIHJlZGlyKTsKKwkJCSAgc291cmNlLmRlc3QgPSAwOworCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMikgLSAoMildLndvcmQpOworCQkJICAoeXl2YWwucmVkaXJlY3QpID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX3JlYWRpbmdfdW50aWwsIHJlZGlyLCAwKTsKKwkJCSAgcmVkaXJfc3RhY2tbbmVlZF9oZXJlX2RvYysrXSA9ICh5eXZhbC5yZWRpcmVjdCk7CiAJCQl9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAyNDoKLSNsaW5lIDUwMyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA1MjIgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKLQkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDIpIC0gKDIpXS53b3JkKTsKLQkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKDEsIHJfZHVwbGljYXRpbmdfb3V0cHV0X3dvcmQsIHJlZGlyKTsKKwkJCSAgc291cmNlLmRlc3QgPSAoeXl2c3BbKDEpIC0gKDMpXS5udW1iZXIpOworCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMykgLSAoMyldLndvcmQpOworCQkJICAoeXl2YWwucmVkaXJlY3QpID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX3JlYWRpbmdfdW50aWwsIHJlZGlyLCAwKTsKKwkJCSAgcmVkaXJfc3RhY2tbbmVlZF9oZXJlX2RvYysrXSA9ICh5eXZhbC5yZWRpcmVjdCk7CiAJCQl9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAyNToKLSNsaW5lIDUwOCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA1MjkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKKwkJCSAgc291cmNlLmZpbGVuYW1lID0gKHl5dnNwWygxKSAtICgzKV0ud29yZCk7CiAJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygzKSAtICgzKV0ud29yZCk7Ci0JCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uICgoeXl2c3BbKDEpIC0gKDMpXS5udW1iZXIpLCByX2R1cGxpY2F0aW5nX291dHB1dF93b3JkLCByZWRpcik7CisJCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfcmVhZGluZ191bnRpbCwgcmVkaXIsIFJFRElSX1ZBUkFTU0lHTik7CisJCQkgIHJlZGlyX3N0YWNrW25lZWRfaGVyZV9kb2MrK10gPSAoeXl2YWwucmVkaXJlY3QpOwogCQkJfQogICAgIGJyZWFrOwogCiAgIGNhc2UgMjY6Ci0jbGluZSA1MTMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNTM2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CisJCQkgIHNvdXJjZS5kZXN0ID0gMDsKIAkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDIpIC0gKDIpXS53b3JkKTsKLQkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24KLQkJCSAgICAoMCwgcl9kZWJsYW5rX3JlYWRpbmdfdW50aWwsIHJlZGlyKTsKKwkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9kZWJsYW5rX3JlYWRpbmdfdW50aWwsIHJlZGlyLCAwKTsKIAkJCSAgcmVkaXJfc3RhY2tbbmVlZF9oZXJlX2RvYysrXSA9ICh5eXZhbC5yZWRpcmVjdCk7CiAJCQl9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAyNzoKLSNsaW5lIDUyMCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA1NDMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKKwkJCSAgc291cmNlLmRlc3QgPSAoeXl2c3BbKDEpIC0gKDMpXS5udW1iZXIpOwogCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMykgLSAoMyldLndvcmQpOwotCQkJICAoeXl2YWwucmVkaXJlY3QpID0gbWFrZV9yZWRpcmVjdGlvbgotCQkJICAgICgoeXl2c3BbKDEpIC0gKDMpXS5udW1iZXIpLCByX2RlYmxhbmtfcmVhZGluZ191bnRpbCwgcmVkaXIpOworCQkJICAoeXl2YWwucmVkaXJlY3QpID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX2RlYmxhbmtfcmVhZGluZ191bnRpbCwgcmVkaXIsIDApOwogCQkJICByZWRpcl9zdGFja1tuZWVkX2hlcmVfZG9jKytdID0gKHl5dmFsLnJlZGlyZWN0KTsKIAkJCX0KICAgICBicmVhazsKIAogICBjYXNlIDI4OgotI2xpbmUgNTI3ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDU1MCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewotCQkJICByZWRpci5kZXN0ID0gMDsKLQkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKDEsIHJfY2xvc2VfdGhpcywgcmVkaXIpOworCQkJICBzb3VyY2UuZmlsZW5hbWUgPSAoeXl2c3BbKDEpIC0gKDMpXS53b3JkKTsKKwkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDMpIC0gKDMpXS53b3JkKTsKKwkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9kZWJsYW5rX3JlYWRpbmdfdW50aWwsIHJlZGlyLCBSRURJUl9WQVJBU1NJR04pOworCQkJICByZWRpcl9zdGFja1tuZWVkX2hlcmVfZG9jKytdID0gKHl5dmFsLnJlZGlyZWN0KTsKIAkJCX0KICAgICBicmVhazsKIAogICBjYXNlIDI5OgotI2xpbmUgNTMyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDU1NyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewotCQkJICByZWRpci5kZXN0ID0gMDsKLQkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKCh5eXZzcFsoMSkgLSAoMyldLm51bWJlciksIHJfY2xvc2VfdGhpcywgcmVkaXIpOworCQkJICBzb3VyY2UuZGVzdCA9IDA7CisJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygyKSAtICgyKV0ud29yZCk7CisJCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfcmVhZGluZ19zdHJpbmcsIHJlZGlyLCAwKTsKIAkJCX0KICAgICBicmVhazsKIAogICBjYXNlIDMwOgotI2xpbmUgNTM3ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDU2MyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewotCQkJICByZWRpci5kZXN0ID0gMDsKLQkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKDAsIHJfY2xvc2VfdGhpcywgcmVkaXIpOworCQkJICBzb3VyY2UuZGVzdCA9ICh5eXZzcFsoMSkgLSAoMyldLm51bWJlcik7CisJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygzKSAtICgzKV0ud29yZCk7CisJCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfcmVhZGluZ19zdHJpbmcsIHJlZGlyLCAwKTsKIAkJCX0KICAgICBicmVhazsKIAogICBjYXNlIDMxOgotI2xpbmUgNTQyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDU2OSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewotCQkJICByZWRpci5kZXN0ID0gMDsKLQkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKCh5eXZzcFsoMSkgLSAoMyldLm51bWJlciksIHJfY2xvc2VfdGhpcywgcmVkaXIpOworCQkJICBzb3VyY2UuZmlsZW5hbWUgPSAoeXl2c3BbKDEpIC0gKDMpXS53b3JkKTsKKwkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDMpIC0gKDMpXS53b3JkKTsKKwkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9yZWFkaW5nX3N0cmluZywgcmVkaXIsIFJFRElSX1ZBUkFTU0lHTik7CiAJCQl9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAzMjoKLSNsaW5lIDU0NyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA1NzUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKLQkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDIpIC0gKDIpXS53b3JkKTsKLQkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKDEsIHJfZXJyX2FuZF9vdXQsIHJlZGlyKTsKKwkJCSAgc291cmNlLmRlc3QgPSAwOworCQkJICByZWRpci5kZXN0ID0gKHl5dnNwWygyKSAtICgyKV0ubnVtYmVyKTsKKwkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9kdXBsaWNhdGluZ19pbnB1dCwgcmVkaXIsIDApOwogCQkJfQogICAgIGJyZWFrOwogCiAgIGNhc2UgMzM6Ci0jbGluZSA1NTIgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNTgxICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7Ci0JCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygyKSAtICgyKV0ud29yZCk7Ci0JCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uICgxLCByX2FwcGVuZF9lcnJfYW5kX291dCwgcmVkaXIpOworCQkJICBzb3VyY2UuZGVzdCA9ICh5eXZzcFsoMSkgLSAoMyldLm51bWJlcik7CisJCQkgIHJlZGlyLmRlc3QgPSAoeXl2c3BbKDMpIC0gKDMpXS5udW1iZXIpOworCQkJICAoeXl2YWwucmVkaXJlY3QpID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX2R1cGxpY2F0aW5nX2lucHV0LCByZWRpciwgMCk7CiAJCQl9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAzNDoKLSNsaW5lIDU1NyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA1ODcgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKLQkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDMpIC0gKDMpXS53b3JkKTsKLQkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKCh5eXZzcFsoMSkgLSAoMyldLm51bWJlciksIHJfaW5wdXRfb3V0cHV0LCByZWRpcik7CisJCQkgIHNvdXJjZS5maWxlbmFtZSA9ICh5eXZzcFsoMSkgLSAoMyldLndvcmQpOworCQkJICByZWRpci5kZXN0ID0gKHl5dnNwWygzKSAtICgzKV0ubnVtYmVyKTsKKwkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9kdXBsaWNhdGluZ19pbnB1dCwgcmVkaXIsIFJFRElSX1ZBUkFTU0lHTik7CiAJCQl9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAzNToKLSNsaW5lIDU2MiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA1OTMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKLQkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDIpIC0gKDIpXS53b3JkKTsKLQkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKDAsIHJfaW5wdXRfb3V0cHV0LCByZWRpcik7CisJCQkgIHNvdXJjZS5kZXN0ID0gMTsKKwkJCSAgcmVkaXIuZGVzdCA9ICh5eXZzcFsoMikgLSAoMildLm51bWJlcik7CisJCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfZHVwbGljYXRpbmdfb3V0cHV0LCByZWRpciwgMCk7CiAJCQl9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAzNjoKLSNsaW5lIDU2NyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA1OTkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKLQkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDIpIC0gKDIpXS53b3JkKTsKLQkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKDEsIHJfb3V0cHV0X2ZvcmNlLCByZWRpcik7CisJCQkgIHNvdXJjZS5kZXN0ID0gKHl5dnNwWygxKSAtICgzKV0ubnVtYmVyKTsKKwkJCSAgcmVkaXIuZGVzdCA9ICh5eXZzcFsoMykgLSAoMyldLm51bWJlcik7CisJCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfZHVwbGljYXRpbmdfb3V0cHV0LCByZWRpciwgMCk7CiAJCQl9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAzNzoKLSNsaW5lIDU3MiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA2MDUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKLQkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDMpIC0gKDMpXS53b3JkKTsKLQkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKCh5eXZzcFsoMSkgLSAoMyldLm51bWJlciksIHJfb3V0cHV0X2ZvcmNlLCByZWRpcik7CisJCQkgIHNvdXJjZS5maWxlbmFtZSA9ICh5eXZzcFsoMSkgLSAoMyldLndvcmQpOworCQkJICByZWRpci5kZXN0ID0gKHl5dnNwWygzKSAtICgzKV0ubnVtYmVyKTsKKwkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9kdXBsaWNhdGluZ19vdXRwdXQsIHJlZGlyLCBSRURJUl9WQVJBU1NJR04pOwogCQkJfQogICAgIGJyZWFrOwogCiAgIGNhc2UgMzg6Ci0jbGluZSA1NzkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgotICAgIHsgKHl5dmFsLmVsZW1lbnQpLndvcmQgPSAoeXl2c3BbKDEpIC0gKDEpXS53b3JkKTsgKHl5dmFsLmVsZW1lbnQpLnJlZGlyZWN0ID0gMDsgfQorI2xpbmUgNjExICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgICB7CisJCQkgIHNvdXJjZS5kZXN0ID0gMDsKKwkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDIpIC0gKDIpXS53b3JkKTsKKwkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9kdXBsaWNhdGluZ19pbnB1dF93b3JkLCByZWRpciwgMCk7CisJCQl9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAzOToKLSNsaW5lIDU4MSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCi0gICAgeyAoeXl2YWwuZWxlbWVudCkud29yZCA9ICh5eXZzcFsoMSkgLSAoMSldLndvcmQpOyAoeXl2YWwuZWxlbWVudCkucmVkaXJlY3QgPSAwOyB9CisjbGluZSA2MTcgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICAgIHsKKwkJCSAgc291cmNlLmRlc3QgPSAoeXl2c3BbKDEpIC0gKDMpXS5udW1iZXIpOworCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMykgLSAoMyldLndvcmQpOworCQkJICAoeXl2YWwucmVkaXJlY3QpID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX2R1cGxpY2F0aW5nX2lucHV0X3dvcmQsIHJlZGlyLCAwKTsKKwkJCX0KICAgICBicmVhazsKIAogICBjYXNlIDQwOgotI2xpbmUgNTgzICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKLSAgICB7ICh5eXZhbC5lbGVtZW50KS5yZWRpcmVjdCA9ICh5eXZzcFsoMSkgLSAoMSldLnJlZGlyZWN0KTsgKHl5dmFsLmVsZW1lbnQpLndvcmQgPSAwOyB9CisjbGluZSA2MjMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICAgIHsKKwkJCSAgc291cmNlLmZpbGVuYW1lID0gKHl5dnNwWygxKSAtICgzKV0ud29yZCk7CisJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygzKSAtICgzKV0ud29yZCk7CisJCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfZHVwbGljYXRpbmdfaW5wdXRfd29yZCwgcmVkaXIsIFJFRElSX1ZBUkFTU0lHTik7CisJCQl9CiAgICAgYnJlYWs7CiAKICAgY2FzZSA0MToKLSNsaW5lIDU4NyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA2MjkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICAgIHsKKwkJCSAgc291cmNlLmRlc3QgPSAxOworCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMikgLSAoMildLndvcmQpOworCQkJICAoeXl2YWwucmVkaXJlY3QpID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX2R1cGxpY2F0aW5nX291dHB1dF93b3JkLCByZWRpciwgMCk7CisJCQl9CisgICAgYnJlYWs7CisKKyAgY2FzZSA0MjoKKyNsaW5lIDYzNSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgICAgeworCQkJICBzb3VyY2UuZGVzdCA9ICh5eXZzcFsoMSkgLSAoMyldLm51bWJlcik7CisJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygzKSAtICgzKV0ud29yZCk7CisJCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfZHVwbGljYXRpbmdfb3V0cHV0X3dvcmQsIHJlZGlyLCAwKTsKKwkJCX0KKyAgICBicmVhazsKKworICBjYXNlIDQzOgorI2xpbmUgNjQxICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgICB7CisJCQkgIHNvdXJjZS5maWxlbmFtZSA9ICh5eXZzcFsoMSkgLSAoMyldLndvcmQpOworCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMykgLSAoMyldLndvcmQpOworCQkJICAoeXl2YWwucmVkaXJlY3QpID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX2R1cGxpY2F0aW5nX291dHB1dF93b3JkLCByZWRpciwgUkVESVJfVkFSQVNTSUdOKTsKKwkJCX0KKyAgICBicmVhazsKKworICBjYXNlIDQ0OgorI2xpbmUgNjQ3ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgICB7CisJCQkgIHNvdXJjZS5kZXN0ID0gMTsKKwkJCSAgcmVkaXIuZGVzdCA9IDA7CisJCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfY2xvc2VfdGhpcywgcmVkaXIsIDApOworCQkJfQorICAgIGJyZWFrOworCisgIGNhc2UgNDU6CisjbGluZSA2NTMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICAgIHsKKwkJCSAgc291cmNlLmRlc3QgPSAoeXl2c3BbKDEpIC0gKDMpXS5udW1iZXIpOworCQkJICByZWRpci5kZXN0ID0gMDsKKwkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9IG1ha2VfcmVkaXJlY3Rpb24gKHNvdXJjZSwgcl9jbG9zZV90aGlzLCByZWRpciwgMCk7CisJCQl9CisgICAgYnJlYWs7CisKKyAgY2FzZSA0NjoKKyNsaW5lIDY1OSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgICAgeworCQkJICBzb3VyY2UuZmlsZW5hbWUgPSAoeXl2c3BbKDEpIC0gKDMpXS53b3JkKTsKKwkJCSAgcmVkaXIuZGVzdCA9IDA7CisJCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfY2xvc2VfdGhpcywgcmVkaXIsIFJFRElSX1ZBUkFTU0lHTik7CisJCQl9CisgICAgYnJlYWs7CisKKyAgY2FzZSA0NzoKKyNsaW5lIDY2NSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgICAgeworCQkJICBzb3VyY2UuZGVzdCA9IDA7CisJCQkgIHJlZGlyLmRlc3QgPSAwOworCQkJICAoeXl2YWwucmVkaXJlY3QpID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX2Nsb3NlX3RoaXMsIHJlZGlyLCAwKTsKKwkJCX0KKyAgICBicmVhazsKKworICBjYXNlIDQ4OgorI2xpbmUgNjcxICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgICB7CisJCQkgIHNvdXJjZS5kZXN0ID0gKHl5dnNwWygxKSAtICgzKV0ubnVtYmVyKTsKKwkJCSAgcmVkaXIuZGVzdCA9IDA7CisJCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfY2xvc2VfdGhpcywgcmVkaXIsIDApOworCQkJfQorICAgIGJyZWFrOworCisgIGNhc2UgNDk6CisjbGluZSA2NzcgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICAgIHsKKwkJCSAgc291cmNlLmZpbGVuYW1lID0gKHl5dnNwWygxKSAtICgzKV0ud29yZCk7CisJCQkgIHJlZGlyLmRlc3QgPSAwOworCQkJICAoeXl2YWwucmVkaXJlY3QpID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX2Nsb3NlX3RoaXMsIHJlZGlyLCBSRURJUl9WQVJBU1NJR04pOworCQkJfQorICAgIGJyZWFrOworCisgIGNhc2UgNTA6CisjbGluZSA2ODMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICAgIHsKKwkJCSAgc291cmNlLmRlc3QgPSAxOworCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMikgLSAoMildLndvcmQpOworCQkJICAoeXl2YWwucmVkaXJlY3QpID0gbWFrZV9yZWRpcmVjdGlvbiAoc291cmNlLCByX2Vycl9hbmRfb3V0LCByZWRpciwgMCk7CisJCQl9CisgICAgYnJlYWs7CisKKyAgY2FzZSA1MToKKyNsaW5lIDY4OSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgICAgeworCQkJICBzb3VyY2UuZGVzdCA9IDE7CisJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygyKSAtICgyKV0ud29yZCk7CisJCQkgICh5eXZhbC5yZWRpcmVjdCkgPSBtYWtlX3JlZGlyZWN0aW9uIChzb3VyY2UsIHJfYXBwZW5kX2Vycl9hbmRfb3V0LCByZWRpciwgMCk7CisJCQl9CisgICAgYnJlYWs7CisKKyAgY2FzZSA1MjoKKyNsaW5lIDY5NyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgICAgeyAoeXl2YWwuZWxlbWVudCkud29yZCA9ICh5eXZzcFsoMSkgLSAoMSldLndvcmQpOyAoeXl2YWwuZWxlbWVudCkucmVkaXJlY3QgPSAwOyB9CisgICAgYnJlYWs7CisKKyAgY2FzZSA1MzoKKyNsaW5lIDY5OSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgICAgeyAoeXl2YWwuZWxlbWVudCkud29yZCA9ICh5eXZzcFsoMSkgLSAoMSldLndvcmQpOyAoeXl2YWwuZWxlbWVudCkucmVkaXJlY3QgPSAwOyB9CisgICAgYnJlYWs7CisKKyAgY2FzZSA1NDoKKyNsaW5lIDcwMSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgICAgeyAoeXl2YWwuZWxlbWVudCkucmVkaXJlY3QgPSAoeXl2c3BbKDEpIC0gKDEpXS5yZWRpcmVjdCk7ICh5eXZhbC5lbGVtZW50KS53b3JkID0gMDsgfQorICAgIGJyZWFrOworCisgIGNhc2UgNTU6CisjbGluZSA3MDUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgKHl5dmFsLnJlZGlyZWN0KSA9ICh5eXZzcFsoMSkgLSAoMSldLnJlZGlyZWN0KTsKIAkJCX0KICAgICBicmVhazsKIAotICBjYXNlIDQyOgotI2xpbmUgNTkxICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSA1NjoKKyNsaW5lIDcwOSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICByZWdpc3RlciBSRURJUkVDVCAqdDsKIApAQCAtMjQxOCwyOCArMjYwNywyOCBAQAogCQkJfQogICAgIGJyZWFrOwogCi0gIGNhc2UgNDM6Ci0jbGluZSA2MDIgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDU3OgorI2xpbmUgNzIwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9IG1ha2Vfc2ltcGxlX2NvbW1hbmQgKCh5eXZzcFsoMSkgLSAoMSldLmVsZW1lbnQpLCAoQ09NTUFORCAqKU5VTEwpOyB9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSA0NDoKLSNsaW5lIDYwNCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgNTg6CisjbGluZSA3MjIgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9zaW1wbGVfY29tbWFuZCAoKHl5dnNwWygyKSAtICgyKV0uZWxlbWVudCksICh5eXZzcFsoMSkgLSAoMildLmNvbW1hbmQpKTsgfQogICAgIGJyZWFrOwogCi0gIGNhc2UgNDU6Ci0jbGluZSA2MDggIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDU5OgorI2xpbmUgNzI2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9IGNsZWFuX3NpbXBsZV9jb21tYW5kICgoeXl2c3BbKDEpIC0gKDEpXS5jb21tYW5kKSk7IH0KICAgICBicmVhazsKIAotICBjYXNlIDQ2OgotI2xpbmUgNjEwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSA2MDoKKyNsaW5lIDcyOCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSAoeXl2c3BbKDEpIC0gKDEpXS5jb21tYW5kKTsgfQogICAgIGJyZWFrOwogCi0gIGNhc2UgNDc6Ci0jbGluZSA2MTIgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDYxOgorI2xpbmUgNzMwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIENPTU1BTkQgKnRjOwogCkBAIC0yNDU3LDI2MSArMjY0NiwyNjEgQEAKIAkJCX0KICAgICBicmVhazsKIAotICBjYXNlIDQ4OgotI2xpbmUgNjI4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKLSAgICB7ICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOyB9Ci0gICAgYnJlYWs7Ci0KLSAgY2FzZSA0OToKLSNsaW5lIDYzMCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCi0gICAgeyAoeXl2YWwuY29tbWFuZCkgPSAoeXl2c3BbKDEpIC0gKDEpXS5jb21tYW5kKTsgfQotICAgIGJyZWFrOwotCi0gIGNhc2UgNTA6Ci0jbGluZSA2MzQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgotICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gKHl5dnNwWygxKSAtICgxKV0uY29tbWFuZCk7IH0KLSAgICBicmVhazsKLQotICBjYXNlIDUxOgotI2xpbmUgNjM2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKLSAgICB7ICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOyB9Ci0gICAgYnJlYWs7Ci0KLSAgY2FzZSA1MjoKLSNsaW5lIDYzOCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCi0gICAgeyAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX3doaWxlX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNSldLmNvbW1hbmQpLCAoeXl2c3BbKDQpIC0gKDUpXS5jb21tYW5kKSk7IH0KLSAgICBicmVhazsKLQotICBjYXNlIDUzOgotI2xpbmUgNjQwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKLSAgICB7ICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfdW50aWxfY29tbWFuZCAoKHl5dnNwWygyKSAtICg1KV0uY29tbWFuZCksICh5eXZzcFsoNCkgLSAoNSldLmNvbW1hbmQpKTsgfQotICAgIGJyZWFrOwotCi0gIGNhc2UgNTQ6Ci0jbGluZSA2NDIgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgotICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gKHl5dnNwWygxKSAtICgxKV0uY29tbWFuZCk7IH0KLSAgICBicmVhazsKLQotICBjYXNlIDU1OgotI2xpbmUgNjQ0ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKLSAgICB7ICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOyB9Ci0gICAgYnJlYWs7Ci0KLSAgY2FzZSA1NjoKLSNsaW5lIDY0NiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCi0gICAgeyAoeXl2YWwuY29tbWFuZCkgPSAoeXl2c3BbKDEpIC0gKDEpXS5jb21tYW5kKTsgfQotICAgIGJyZWFrOwotCi0gIGNhc2UgNTc6Ci0jbGluZSA2NDggIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgotICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gKHl5dnNwWygxKSAtICgxKV0uY29tbWFuZCk7IH0KLSAgICBicmVhazsKLQotICBjYXNlIDU4OgotI2xpbmUgNjUwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKLSAgICB7ICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOyB9Ci0gICAgYnJlYWs7Ci0KLSAgY2FzZSA1OToKLSNsaW5lIDY1MiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCi0gICAgeyAoeXl2YWwuY29tbWFuZCkgPSAoeXl2c3BbKDEpIC0gKDEpXS5jb21tYW5kKTsgfQotICAgIGJyZWFrOwotCi0gIGNhc2UgNjA6Ci0jbGluZSA2NTQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgotICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gKHl5dnNwWygxKSAtICgxKV0uY29tbWFuZCk7IH0KLSAgICBicmVhazsKLQotICBjYXNlIDYxOgotI2xpbmUgNjU4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKLSAgICB7Ci0JCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfZm9yX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNildLndvcmQpLCBhZGRfc3RyaW5nX3RvX2xpc3QgKCJcIiRAXCIiLCAoV09SRF9MSVNUICopTlVMTCksICh5eXZzcFsoNSkgLSAoNildLmNvbW1hbmQpLCB3b3JkX2xpbmVub1t3b3JkX3RvcF0pOwotCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOwotCQkJfQotICAgIGJyZWFrOwotCiAgIGNhc2UgNjI6Ci0jbGluZSA2NjMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgotICAgIHsKLQkJCSAgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9mb3JfY29tbWFuZCAoKHl5dnNwWygyKSAtICg2KV0ud29yZCksIGFkZF9zdHJpbmdfdG9fbGlzdCAoIlwiJEBcIiIsIChXT1JEX0xJU1QgKilOVUxMKSwgKHl5dnNwWyg1KSAtICg2KV0uY29tbWFuZCksIHdvcmRfbGluZW5vW3dvcmRfdG9wXSk7Ci0JCQkgIGlmICh3b3JkX3RvcCA+IDApIHdvcmRfdG9wLS07Ci0JCQl9CisjbGluZSA3NDYgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gKHl5dnNwWygxKSAtICgxKV0uY29tbWFuZCk7IH0KICAgICBicmVhazsKIAogICBjYXNlIDYzOgotI2xpbmUgNjY4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKLSAgICB7Ci0JCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfZm9yX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNyldLndvcmQpLCBhZGRfc3RyaW5nX3RvX2xpc3QgKCJcIiRAXCIiLCAoV09SRF9MSVNUICopTlVMTCksICh5eXZzcFsoNikgLSAoNyldLmNvbW1hbmQpLCB3b3JkX2xpbmVub1t3b3JkX3RvcF0pOwotCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOwotCQkJfQorI2xpbmUgNzQ4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgICB7ICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSA2NDoKLSNsaW5lIDY3MyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCi0gICAgewotCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2Zvcl9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDcpXS53b3JkKSwgYWRkX3N0cmluZ190b19saXN0ICgiXCIkQFwiIiwgKFdPUkRfTElTVCAqKU5VTEwpLCAoeXl2c3BbKDYpIC0gKDcpXS5jb21tYW5kKSwgd29yZF9saW5lbm9bd29yZF90b3BdKTsKLQkJCSAgaWYgKHdvcmRfdG9wID4gMCkgd29yZF90b3AtLTsKLQkJCX0KKyNsaW5lIDc1MiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgICAgeyAoeXl2YWwuY29tbWFuZCkgPSAoeXl2c3BbKDEpIC0gKDEpXS5jb21tYW5kKTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgNjU6Ci0jbGluZSA2NzggIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgotICAgIHsKLQkJCSAgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9mb3JfY29tbWFuZCAoKHl5dnNwWygyKSAtICgxMCldLndvcmQpLCBSRVZFUlNFX0xJU1QgKCh5eXZzcFsoNSkgLSAoMTApXS53b3JkX2xpc3QpLCBXT1JEX0xJU1QgKiksICh5eXZzcFsoOSkgLSAoMTApXS5jb21tYW5kKSwgd29yZF9saW5lbm9bd29yZF90b3BdKTsKLQkJCSAgaWYgKHdvcmRfdG9wID4gMCkgd29yZF90b3AtLTsKLQkJCX0KKyNsaW5lIDc1NCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgICAgeyAoeXl2YWwuY29tbWFuZCkgPSAoeXl2c3BbKDEpIC0gKDEpXS5jb21tYW5kKTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgNjY6Ci0jbGluZSA2ODMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgotICAgIHsKLQkJCSAgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9mb3JfY29tbWFuZCAoKHl5dnNwWygyKSAtICgxMCldLndvcmQpLCBSRVZFUlNFX0xJU1QgKCh5eXZzcFsoNSkgLSAoMTApXS53b3JkX2xpc3QpLCBXT1JEX0xJU1QgKiksICh5eXZzcFsoOSkgLSAoMTApXS5jb21tYW5kKSwgd29yZF9saW5lbm9bd29yZF90b3BdKTsKLQkJCSAgaWYgKHdvcmRfdG9wID4gMCkgd29yZF90b3AtLTsKLQkJCX0KKyNsaW5lIDc1NiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgICAgeyAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX3doaWxlX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNSldLmNvbW1hbmQpLCAoeXl2c3BbKDQpIC0gKDUpXS5jb21tYW5kKSk7IH0KICAgICBicmVhazsKIAogICBjYXNlIDY3OgotI2xpbmUgNjg4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKLSAgICB7Ci0JCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfZm9yX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoOSldLndvcmQpLCAoV09SRF9MSVNUICopTlVMTCwgKHl5dnNwWyg4KSAtICg5KV0uY29tbWFuZCksIHdvcmRfbGluZW5vW3dvcmRfdG9wXSk7Ci0JCQkgIGlmICh3b3JkX3RvcCA+IDApIHdvcmRfdG9wLS07Ci0JCQl9CisjbGluZSA3NTggIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV91bnRpbF9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDUpXS5jb21tYW5kKSwgKHl5dnNwWyg0KSAtICg1KV0uY29tbWFuZCkpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSA2ODoKLSNsaW5lIDY5MyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCi0gICAgewotCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2Zvcl9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDkpXS53b3JkKSwgKFdPUkRfTElTVCAqKU5VTEwsICh5eXZzcFsoOCkgLSAoOSldLmNvbW1hbmQpLCB3b3JkX2xpbmVub1t3b3JkX3RvcF0pOwotCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOwotCQkJfQorI2xpbmUgNzYwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgICB7ICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSA2OToKLSNsaW5lIDcwMCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCi0gICAgewotCQkJCSAgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9hcml0aF9mb3JfY29tbWFuZCAoKHl5dnNwWygyKSAtICg3KV0ud29yZF9saXN0KSwgKHl5dnNwWyg2KSAtICg3KV0uY29tbWFuZCksIGFyaXRoX2Zvcl9saW5lbm8pOwotCQkJCSAgaWYgKHdvcmRfdG9wID4gMCkgd29yZF90b3AtLTsKLQkJCQl9CisjbGluZSA3NjIgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gKHl5dnNwWygxKSAtICgxKV0uY29tbWFuZCk7IH0KICAgICBicmVhazsKIAogICBjYXNlIDcwOgotI2xpbmUgNzA1ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKLSAgICB7Ci0JCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2FyaXRoX2Zvcl9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDcpXS53b3JkX2xpc3QpLCAoeXl2c3BbKDYpIC0gKDcpXS5jb21tYW5kKSwgYXJpdGhfZm9yX2xpbmVubyk7Ci0JCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOwotCQkJCX0KKyNsaW5lIDc2NCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgICAgeyAoeXl2YWwuY29tbWFuZCkgPSAoeXl2c3BbKDEpIC0gKDEpXS5jb21tYW5kKTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgNzE6Ci0jbGluZSA3MTAgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgotICAgIHsKLQkJCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfYXJpdGhfZm9yX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNSldLndvcmRfbGlzdCksICh5eXZzcFsoNCkgLSAoNSldLmNvbW1hbmQpLCBhcml0aF9mb3JfbGluZW5vKTsKLQkJCQkgIGlmICh3b3JkX3RvcCA+IDApIHdvcmRfdG9wLS07Ci0JCQkJfQorI2xpbmUgNzY2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgICB7ICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSA3MjoKLSNsaW5lIDcxNSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCi0gICAgewotCQkJCSAgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9hcml0aF9mb3JfY29tbWFuZCAoKHl5dnNwWygyKSAtICg1KV0ud29yZF9saXN0KSwgKHl5dnNwWyg0KSAtICg1KV0uY29tbWFuZCksIGFyaXRoX2Zvcl9saW5lbm8pOwotCQkJCSAgaWYgKHdvcmRfdG9wID4gMCkgd29yZF90b3AtLTsKLQkJCQl9CisjbGluZSA3NjggIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gKHl5dnNwWygxKSAtICgxKV0uY29tbWFuZCk7IH0KICAgICBicmVhazsKIAogICBjYXNlIDczOgotI2xpbmUgNzIyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKLSAgICB7Ci0JCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2Vfc2VsZWN0X2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNildLndvcmQpLCBhZGRfc3RyaW5nX3RvX2xpc3QgKCJcIiRAXCIiLCAoV09SRF9MSVNUICopTlVMTCksICh5eXZzcFsoNSkgLSAoNildLmNvbW1hbmQpLCB3b3JkX2xpbmVub1t3b3JkX3RvcF0pOwotCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOwotCQkJfQorI2xpbmUgNzcwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgICB7ICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSA3NDoKLSNsaW5lIDcyNyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCi0gICAgewotCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX3NlbGVjdF9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDYpXS53b3JkKSwgYWRkX3N0cmluZ190b19saXN0ICgiXCIkQFwiIiwgKFdPUkRfTElTVCAqKU5VTEwpLCAoeXl2c3BbKDUpIC0gKDYpXS5jb21tYW5kKSwgd29yZF9saW5lbm9bd29yZF90b3BdKTsKLQkJCSAgaWYgKHdvcmRfdG9wID4gMCkgd29yZF90b3AtLTsKLQkJCX0KKyNsaW5lIDc3MiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgICAgeyAoeXl2YWwuY29tbWFuZCkgPSAoeXl2c3BbKDEpIC0gKDEpXS5jb21tYW5kKTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgNzU6Ci0jbGluZSA3MzIgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNzc2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7Ci0JCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2Vfc2VsZWN0X2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNyldLndvcmQpLCBhZGRfc3RyaW5nX3RvX2xpc3QgKCJcIiRAXCIiLCAoV09SRF9MSVNUICopTlVMTCksICh5eXZzcFsoNikgLSAoNyldLmNvbW1hbmQpLCB3b3JkX2xpbmVub1t3b3JkX3RvcF0pOworCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2Zvcl9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDYpXS53b3JkKSwgYWRkX3N0cmluZ190b19saXN0ICgiXCIkQFwiIiwgKFdPUkRfTElTVCAqKU5VTEwpLCAoeXl2c3BbKDUpIC0gKDYpXS5jb21tYW5kKSwgd29yZF9saW5lbm9bd29yZF90b3BdKTsKIAkJCSAgaWYgKHdvcmRfdG9wID4gMCkgd29yZF90b3AtLTsKIAkJCX0KICAgICBicmVhazsKIAogICBjYXNlIDc2OgotI2xpbmUgNzM3ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDc4MSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgICAgeworCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2Zvcl9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDYpXS53b3JkKSwgYWRkX3N0cmluZ190b19saXN0ICgiXCIkQFwiIiwgKFdPUkRfTElTVCAqKU5VTEwpLCAoeXl2c3BbKDUpIC0gKDYpXS5jb21tYW5kKSwgd29yZF9saW5lbm9bd29yZF90b3BdKTsKKwkJCSAgaWYgKHdvcmRfdG9wID4gMCkgd29yZF90b3AtLTsKKwkJCX0KKyAgICBicmVhazsKKworICBjYXNlIDc3OgorI2xpbmUgNzg2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgICB7CisJCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfZm9yX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNyldLndvcmQpLCBhZGRfc3RyaW5nX3RvX2xpc3QgKCJcIiRAXCIiLCAoV09SRF9MSVNUICopTlVMTCksICh5eXZzcFsoNikgLSAoNyldLmNvbW1hbmQpLCB3b3JkX2xpbmVub1t3b3JkX3RvcF0pOworCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOworCQkJfQorICAgIGJyZWFrOworCisgIGNhc2UgNzg6CisjbGluZSA3OTEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICAgIHsKKwkJCSAgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9mb3JfY29tbWFuZCAoKHl5dnNwWygyKSAtICg3KV0ud29yZCksIGFkZF9zdHJpbmdfdG9fbGlzdCAoIlwiJEBcIiIsIChXT1JEX0xJU1QgKilOVUxMKSwgKHl5dnNwWyg2KSAtICg3KV0uY29tbWFuZCksIHdvcmRfbGluZW5vW3dvcmRfdG9wXSk7CisJCQkgIGlmICh3b3JkX3RvcCA+IDApIHdvcmRfdG9wLS07CisJCQl9CisgICAgYnJlYWs7CisKKyAgY2FzZSA3OToKKyNsaW5lIDc5NiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgICAgeworCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2Zvcl9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDEwKV0ud29yZCksIFJFVkVSU0VfTElTVCAoKHl5dnNwWyg1KSAtICgxMCldLndvcmRfbGlzdCksIFdPUkRfTElTVCAqKSwgKHl5dnNwWyg5KSAtICgxMCldLmNvbW1hbmQpLCB3b3JkX2xpbmVub1t3b3JkX3RvcF0pOworCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOworCQkJfQorICAgIGJyZWFrOworCisgIGNhc2UgODA6CisjbGluZSA4MDEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICAgIHsKKwkJCSAgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9mb3JfY29tbWFuZCAoKHl5dnNwWygyKSAtICgxMCldLndvcmQpLCBSRVZFUlNFX0xJU1QgKCh5eXZzcFsoNSkgLSAoMTApXS53b3JkX2xpc3QpLCBXT1JEX0xJU1QgKiksICh5eXZzcFsoOSkgLSAoMTApXS5jb21tYW5kKSwgd29yZF9saW5lbm9bd29yZF90b3BdKTsKKwkJCSAgaWYgKHdvcmRfdG9wID4gMCkgd29yZF90b3AtLTsKKwkJCX0KKyAgICBicmVhazsKKworICBjYXNlIDgxOgorI2xpbmUgODA2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgICB7CisJCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfZm9yX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoOSldLndvcmQpLCAoV09SRF9MSVNUICopTlVMTCwgKHl5dnNwWyg4KSAtICg5KV0uY29tbWFuZCksIHdvcmRfbGluZW5vW3dvcmRfdG9wXSk7CisJCQkgIGlmICh3b3JkX3RvcCA+IDApIHdvcmRfdG9wLS07CisJCQl9CisgICAgYnJlYWs7CisKKyAgY2FzZSA4MjoKKyNsaW5lIDgxMSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgICAgeworCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2Zvcl9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDkpXS53b3JkKSwgKFdPUkRfTElTVCAqKU5VTEwsICh5eXZzcFsoOCkgLSAoOSldLmNvbW1hbmQpLCB3b3JkX2xpbmVub1t3b3JkX3RvcF0pOworCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOworCQkJfQorICAgIGJyZWFrOworCisgIGNhc2UgODM6CisjbGluZSA4MTggIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICAgIHsKKwkJCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfYXJpdGhfZm9yX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNyldLndvcmRfbGlzdCksICh5eXZzcFsoNikgLSAoNyldLmNvbW1hbmQpLCBhcml0aF9mb3JfbGluZW5vKTsKKwkJCQkgIGlmICh3b3JkX3RvcCA+IDApIHdvcmRfdG9wLS07CisJCQkJfQorICAgIGJyZWFrOworCisgIGNhc2UgODQ6CisjbGluZSA4MjMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICAgIHsKKwkJCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfYXJpdGhfZm9yX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNyldLndvcmRfbGlzdCksICh5eXZzcFsoNikgLSAoNyldLmNvbW1hbmQpLCBhcml0aF9mb3JfbGluZW5vKTsKKwkJCQkgIGlmICh3b3JkX3RvcCA+IDApIHdvcmRfdG9wLS07CisJCQkJfQorICAgIGJyZWFrOworCisgIGNhc2UgODU6CisjbGluZSA4MjggIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICAgIHsKKwkJCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfYXJpdGhfZm9yX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNSldLndvcmRfbGlzdCksICh5eXZzcFsoNCkgLSAoNSldLmNvbW1hbmQpLCBhcml0aF9mb3JfbGluZW5vKTsKKwkJCQkgIGlmICh3b3JkX3RvcCA+IDApIHdvcmRfdG9wLS07CisJCQkJfQorICAgIGJyZWFrOworCisgIGNhc2UgODY6CisjbGluZSA4MzMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICAgIHsKKwkJCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfYXJpdGhfZm9yX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNSldLndvcmRfbGlzdCksICh5eXZzcFsoNCkgLSAoNSldLmNvbW1hbmQpLCBhcml0aF9mb3JfbGluZW5vKTsKKwkJCQkgIGlmICh3b3JkX3RvcCA+IDApIHdvcmRfdG9wLS07CisJCQkJfQorICAgIGJyZWFrOworCisgIGNhc2UgODc6CisjbGluZSA4NDAgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICAgIHsKKwkJCSAgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9zZWxlY3RfY29tbWFuZCAoKHl5dnNwWygyKSAtICg2KV0ud29yZCksIGFkZF9zdHJpbmdfdG9fbGlzdCAoIlwiJEBcIiIsIChXT1JEX0xJU1QgKilOVUxMKSwgKHl5dnNwWyg1KSAtICg2KV0uY29tbWFuZCksIHdvcmRfbGluZW5vW3dvcmRfdG9wXSk7CisJCQkgIGlmICh3b3JkX3RvcCA+IDApIHdvcmRfdG9wLS07CisJCQl9CisgICAgYnJlYWs7CisKKyAgY2FzZSA4ODoKKyNsaW5lIDg0NSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgICAgeworCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX3NlbGVjdF9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDYpXS53b3JkKSwgYWRkX3N0cmluZ190b19saXN0ICgiXCIkQFwiIiwgKFdPUkRfTElTVCAqKU5VTEwpLCAoeXl2c3BbKDUpIC0gKDYpXS5jb21tYW5kKSwgd29yZF9saW5lbm9bd29yZF90b3BdKTsKKwkJCSAgaWYgKHdvcmRfdG9wID4gMCkgd29yZF90b3AtLTsKKwkJCX0KKyAgICBicmVhazsKKworICBjYXNlIDg5OgorI2xpbmUgODUwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2Vfc2VsZWN0X2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNyldLndvcmQpLCBhZGRfc3RyaW5nX3RvX2xpc3QgKCJcIiRAXCIiLCAoV09SRF9MSVNUICopTlVMTCksICh5eXZzcFsoNikgLSAoNyldLmNvbW1hbmQpLCB3b3JkX2xpbmVub1t3b3JkX3RvcF0pOwogCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOwogCQkJfQogICAgIGJyZWFrOwogCi0gIGNhc2UgNzc6Ci0jbGluZSA3NDIgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDkwOgorI2xpbmUgODU1ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgICB7CisJCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2Vfc2VsZWN0X2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNyldLndvcmQpLCBhZGRfc3RyaW5nX3RvX2xpc3QgKCJcIiRAXCIiLCAoV09SRF9MSVNUICopTlVMTCksICh5eXZzcFsoNikgLSAoNyldLmNvbW1hbmQpLCB3b3JkX2xpbmVub1t3b3JkX3RvcF0pOworCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOworCQkJfQorICAgIGJyZWFrOworCisgIGNhc2UgOTE6CisjbGluZSA4NjAgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9zZWxlY3RfY29tbWFuZCAoKHl5dnNwWygyKSAtICgxMCldLndvcmQpLCBSRVZFUlNFX0xJU1QgKCh5eXZzcFsoNSkgLSAoMTApXS53b3JkX2xpc3QpLCBXT1JEX0xJU1QgKiksICh5eXZzcFsoOSkgLSAoMTApXS5jb21tYW5kKSwgd29yZF9saW5lbm9bd29yZF90b3BdKTsKIAkJCSAgaWYgKHdvcmRfdG9wID4gMCkgd29yZF90b3AtLTsKIAkJCX0KICAgICBicmVhazsKIAotICBjYXNlIDc4OgotI2xpbmUgNzQ3ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSA5MjoKKyNsaW5lIDg2NSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX3NlbGVjdF9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDEwKV0ud29yZCksIFJFVkVSU0VfTElTVCAoKHl5dnNwWyg1KSAtICgxMCldLndvcmRfbGlzdCksIFdPUkRfTElTVCAqKSwgKHl5dnNwWyg5KSAtICgxMCldLmNvbW1hbmQpLCB3b3JkX2xpbmVub1t3b3JkX3RvcF0pOwogCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOwogCQkJfQogICAgIGJyZWFrOwogCi0gIGNhc2UgNzk6Ci0jbGluZSA3NTQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDkzOgorI2xpbmUgODcyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfY2FzZV9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDYpXS53b3JkKSwgKFBBVFRFUk5fTElTVCAqKU5VTEwsIHdvcmRfbGluZW5vW3dvcmRfdG9wXSk7CiAJCQkgIGlmICh3b3JkX3RvcCA+IDApIHdvcmRfdG9wLS07CiAJCQl9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSA4MDoKLSNsaW5lIDc1OSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgOTQ6CisjbGluZSA4NzcgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9jYXNlX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNyldLndvcmQpLCAoeXl2c3BbKDUpIC0gKDcpXS5wYXR0ZXJuKSwgd29yZF9saW5lbm9bd29yZF90b3BdKTsKIAkJCSAgaWYgKHdvcmRfdG9wID4gMCkgd29yZF90b3AtLTsKIAkJCX0KICAgICBicmVhazsKIAotICBjYXNlIDgxOgotI2xpbmUgNzY0ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSA5NToKKyNsaW5lIDg4MiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2Nhc2VfY29tbWFuZCAoKHl5dnNwWygyKSAtICg2KV0ud29yZCksICh5eXZzcFsoNSkgLSAoNildLnBhdHRlcm4pLCB3b3JkX2xpbmVub1t3b3JkX3RvcF0pOwogCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOwogCQkJfQogICAgIGJyZWFrOwogCi0gIGNhc2UgODI6Ci0jbGluZSA3NzEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDk2OgorI2xpbmUgODg5ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfZnVuY3Rpb25fZGVmICgoeXl2c3BbKDEpIC0gKDUpXS53b3JkKSwgKHl5dnNwWyg1KSAtICg1KV0uY29tbWFuZCksIGZ1bmN0aW9uX2RzdGFydCwgZnVuY3Rpb25fYnN0YXJ0KTsgfQogICAgIGJyZWFrOwogCi0gIGNhc2UgODM6Ci0jbGluZSA3NzQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDk3OgorI2xpbmUgODkyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfZnVuY3Rpb25fZGVmICgoeXl2c3BbKDIpIC0gKDYpXS53b3JkKSwgKHl5dnNwWyg2KSAtICg2KV0uY29tbWFuZCksIGZ1bmN0aW9uX2RzdGFydCwgZnVuY3Rpb25fYnN0YXJ0KTsgfQogICAgIGJyZWFrOwogCi0gIGNhc2UgODQ6Ci0jbGluZSA3NzcgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDk4OgorI2xpbmUgODk1ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfZnVuY3Rpb25fZGVmICgoeXl2c3BbKDIpIC0gKDQpXS53b3JkKSwgKHl5dnNwWyg0KSAtICg0KV0uY29tbWFuZCksIGZ1bmN0aW9uX2RzdGFydCwgZnVuY3Rpb25fYnN0YXJ0KTsgfQogICAgIGJyZWFrOwogCi0gIGNhc2UgODU6Ci0jbGluZSA3ODEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDk5OgorI2xpbmUgODk5ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOyB9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSA4NjoKLSNsaW5lIDc4MyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTAwOgorI2xpbmUgOTAxICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIENPTU1BTkQgKnRjOwogCkBAIC0yNzQyLDI0ICsyOTMxLDI0IEBACiAJCQl9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSA4NzoKLSNsaW5lIDgxNCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTAxOgorI2xpbmUgOTMyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2Vfc3Vic2hlbGxfY29tbWFuZCAoKHl5dnNwWygyKSAtICgzKV0uY29tbWFuZCkpOwogCQkJICAoeXl2YWwuY29tbWFuZCktPmZsYWdzIHw9IENNRF9XQU5UX1NVQlNIRUxMOwogCQkJfQogICAgIGJyZWFrOwogCi0gIGNhc2UgODg6Ci0jbGluZSA4MjEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDEwMjoKKyNsaW5lIDkzOSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2NvcHJvY19jb21tYW5kICgiQ09QUk9DIiwgKHl5dnNwWygyKSAtICgyKV0uY29tbWFuZCkpOwogCQkJICAoeXl2YWwuY29tbWFuZCktPmZsYWdzIHw9IENNRF9XQU5UX1NVQlNIRUxMfENNRF9DT1BST0NfU1VCU0hFTEw7CiAJCQl9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSA4OToKLSNsaW5lIDgyNiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTAzOgorI2xpbmUgOTQ0ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIENPTU1BTkQgKnRjOwogCkBAIC0yNzc4LDE2ICsyOTY3LDE2IEBACiAJCQl9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSA5MDoKLSNsaW5lIDg0MyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTA0OgorI2xpbmUgOTYxICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfY29wcm9jX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoMyldLndvcmQpLT53b3JkLCAoeXl2c3BbKDMpIC0gKDMpXS5jb21tYW5kKSk7CiAJCQkgICh5eXZhbC5jb21tYW5kKS0+ZmxhZ3MgfD0gQ01EX1dBTlRfU1VCU0hFTEx8Q01EX0NPUFJPQ19TVUJTSEVMTDsKIAkJCX0KICAgICBicmVhazsKIAotICBjYXNlIDkxOgotI2xpbmUgODQ4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxMDU6CisjbGluZSA5NjYgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgQ09NTUFORCAqdGM7CiAKQEAgLTI4MDYsMTI2ICsyOTk1LDEyNiBAQAogCQkJfQogICAgIGJyZWFrOwogCi0gIGNhc2UgOTI6Ci0jbGluZSA4NjUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDEwNjoKKyNsaW5lIDk4MyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2NvcHJvY19jb21tYW5kICgiQ09QUk9DIiwgY2xlYW5fc2ltcGxlX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoMildLmNvbW1hbmQpKSk7CiAJCQkgICh5eXZhbC5jb21tYW5kKS0+ZmxhZ3MgfD0gQ01EX1dBTlRfU1VCU0hFTEx8Q01EX0NPUFJPQ19TVUJTSEVMTDsKIAkJCX0KICAgICBicmVhazsKIAotICBjYXNlIDkzOgotI2xpbmUgODcyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxMDc6CisjbGluZSA5OTAgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9pZl9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDUpXS5jb21tYW5kKSwgKHl5dnNwWyg0KSAtICg1KV0uY29tbWFuZCksIChDT01NQU5EICopTlVMTCk7IH0KICAgICBicmVhazsKIAotICBjYXNlIDk0OgotI2xpbmUgODc0ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxMDg6CisjbGluZSA5OTIgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9pZl9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDcpXS5jb21tYW5kKSwgKHl5dnNwWyg0KSAtICg3KV0uY29tbWFuZCksICh5eXZzcFsoNikgLSAoNyldLmNvbW1hbmQpKTsgfQogICAgIGJyZWFrOwogCi0gIGNhc2UgOTU6Ci0jbGluZSA4NzYgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDEwOToKKyNsaW5lIDk5NCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2lmX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNildLmNvbW1hbmQpLCAoeXl2c3BbKDQpIC0gKDYpXS5jb21tYW5kKSwgKHl5dnNwWyg1KSAtICg2KV0uY29tbWFuZCkpOyB9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSA5NjoKLSNsaW5lIDg4MSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTEwOgorI2xpbmUgOTk5ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfZ3JvdXBfY29tbWFuZCAoKHl5dnNwWygyKSAtICgzKV0uY29tbWFuZCkpOyB9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSA5NzoKLSNsaW5lIDg4NSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTExOgorI2xpbmUgMTAwMyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2FyaXRoX2NvbW1hbmQgKCh5eXZzcFsoMSkgLSAoMSldLndvcmRfbGlzdCkpOyB9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSA5ODoKLSNsaW5lIDg4OSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTEyOgorI2xpbmUgMTAwNyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSAoeXl2c3BbKDIpIC0gKDMpXS5jb21tYW5kKTsgfQogICAgIGJyZWFrOwogCi0gIGNhc2UgOTk6Ci0jbGluZSA4OTMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDExMzoKKyNsaW5lIDEwMTEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9pZl9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDQpXS5jb21tYW5kKSwgKHl5dnNwWyg0KSAtICg0KV0uY29tbWFuZCksIChDT01NQU5EICopTlVMTCk7IH0KICAgICBicmVhazsKIAotICBjYXNlIDEwMDoKLSNsaW5lIDg5NSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTE0OgorI2xpbmUgMTAxMyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2lmX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNildLmNvbW1hbmQpLCAoeXl2c3BbKDQpIC0gKDYpXS5jb21tYW5kKSwgKHl5dnNwWyg2KSAtICg2KV0uY29tbWFuZCkpOyB9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSAxMDE6Ci0jbGluZSA4OTcgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDExNToKKyNsaW5lIDEwMTUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9pZl9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDUpXS5jb21tYW5kKSwgKHl5dnNwWyg0KSAtICg1KV0uY29tbWFuZCksICh5eXZzcFsoNSkgLSAoNSldLmNvbW1hbmQpKTsgfQogICAgIGJyZWFrOwogCi0gIGNhc2UgMTAzOgotI2xpbmUgOTAyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxMTc6CisjbGluZSAxMDIwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZzcFsoMikgLSAoMildLnBhdHRlcm4pLT5uZXh0ID0gKHl5dnNwWygxKSAtICgyKV0ucGF0dGVybik7ICh5eXZhbC5wYXR0ZXJuKSA9ICh5eXZzcFsoMikgLSAoMildLnBhdHRlcm4pOyB9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSAxMDQ6Ci0jbGluZSA5MDYgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDExODoKKyNsaW5lIDEwMjQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLnBhdHRlcm4pID0gbWFrZV9wYXR0ZXJuX2xpc3QgKCh5eXZzcFsoMikgLSAoNCldLndvcmRfbGlzdCksICh5eXZzcFsoNCkgLSAoNCldLmNvbW1hbmQpKTsgfQogICAgIGJyZWFrOwogCi0gIGNhc2UgMTA1OgotI2xpbmUgOTA4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxMTk6CisjbGluZSAxMDI2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5wYXR0ZXJuKSA9IG1ha2VfcGF0dGVybl9saXN0ICgoeXl2c3BbKDIpIC0gKDQpXS53b3JkX2xpc3QpLCAoQ09NTUFORCAqKU5VTEwpOyB9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSAxMDY6Ci0jbGluZSA5MTAgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDEyMDoKKyNsaW5lIDEwMjggIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLnBhdHRlcm4pID0gbWFrZV9wYXR0ZXJuX2xpc3QgKCh5eXZzcFsoMykgLSAoNSldLndvcmRfbGlzdCksICh5eXZzcFsoNSkgLSAoNSldLmNvbW1hbmQpKTsgfQogICAgIGJyZWFrOwogCi0gIGNhc2UgMTA3OgotI2xpbmUgOTEyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxMjE6CisjbGluZSAxMDMwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5wYXR0ZXJuKSA9IG1ha2VfcGF0dGVybl9saXN0ICgoeXl2c3BbKDMpIC0gKDUpXS53b3JkX2xpc3QpLCAoQ09NTUFORCAqKU5VTEwpOyB9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSAxMDg6Ci0jbGluZSA5MTYgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDEyMjoKKyNsaW5lIDEwMzQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLnBhdHRlcm4pID0gKHl5dnNwWygxKSAtICgyKV0ucGF0dGVybik7IH0KICAgICBicmVhazsKIAotICBjYXNlIDEwOToKLSNsaW5lIDkxOCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTIzOgorI2xpbmUgMTAzNiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2c3BbKDIpIC0gKDMpXS5wYXR0ZXJuKS0+bmV4dCA9ICh5eXZzcFsoMSkgLSAoMyldLnBhdHRlcm4pOyAoeXl2YWwucGF0dGVybikgPSAoeXl2c3BbKDIpIC0gKDMpXS5wYXR0ZXJuKTsgfQogICAgIGJyZWFrOwogCi0gIGNhc2UgMTEwOgotI2xpbmUgOTIwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxMjQ6CisjbGluZSAxMDM4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZzcFsoMSkgLSAoMildLnBhdHRlcm4pLT5mbGFncyB8PSBDQVNFUEFUX0ZBTExUSFJPVUdIOyAoeXl2YWwucGF0dGVybikgPSAoeXl2c3BbKDEpIC0gKDIpXS5wYXR0ZXJuKTsgfQogICAgIGJyZWFrOwogCi0gIGNhc2UgMTExOgotI2xpbmUgOTIyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxMjU6CisjbGluZSAxMDQwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZzcFsoMikgLSAoMyldLnBhdHRlcm4pLT5mbGFncyB8PSBDQVNFUEFUX0ZBTExUSFJPVUdIOyAoeXl2c3BbKDIpIC0gKDMpXS5wYXR0ZXJuKS0+bmV4dCA9ICh5eXZzcFsoMSkgLSAoMyldLnBhdHRlcm4pOyAoeXl2YWwucGF0dGVybikgPSAoeXl2c3BbKDIpIC0gKDMpXS5wYXR0ZXJuKTsgfQogICAgIGJyZWFrOwogCi0gIGNhc2UgMTEyOgotI2xpbmUgOTI0ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxMjY6CisjbGluZSAxMDQyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZzcFsoMSkgLSAoMildLnBhdHRlcm4pLT5mbGFncyB8PSBDQVNFUEFUX1RFU1RORVhUOyAoeXl2YWwucGF0dGVybikgPSAoeXl2c3BbKDEpIC0gKDIpXS5wYXR0ZXJuKTsgfQogICAgIGJyZWFrOwogCi0gIGNhc2UgMTEzOgotI2xpbmUgOTI2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxMjc6CisjbGluZSAxMDQ0ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZzcFsoMikgLSAoMyldLnBhdHRlcm4pLT5mbGFncyB8PSBDQVNFUEFUX1RFU1RORVhUOyAoeXl2c3BbKDIpIC0gKDMpXS5wYXR0ZXJuKS0+bmV4dCA9ICh5eXZzcFsoMSkgLSAoMyldLnBhdHRlcm4pOyAoeXl2YWwucGF0dGVybikgPSAoeXl2c3BbKDIpIC0gKDMpXS5wYXR0ZXJuKTsgfQogICAgIGJyZWFrOwogCi0gIGNhc2UgMTE0OgotI2xpbmUgOTMwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxMjg6CisjbGluZSAxMDQ4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC53b3JkX2xpc3QpID0gbWFrZV93b3JkX2xpc3QgKCh5eXZzcFsoMSkgLSAoMSldLndvcmQpLCAoV09SRF9MSVNUICopTlVMTCk7IH0KICAgICBicmVhazsKIAotICBjYXNlIDExNToKLSNsaW5lIDkzMiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTI5OgorI2xpbmUgMTA1MCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwud29yZF9saXN0KSA9IG1ha2Vfd29yZF9saXN0ICgoeXl2c3BbKDMpIC0gKDMpXS53b3JkKSwgKHl5dnNwWygxKSAtICgzKV0ud29yZF9saXN0KSk7IH0KICAgICBicmVhazsKIAotICBjYXNlIDExNjoKLSNsaW5lIDk0MSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTMwOgorI2xpbmUgMTA1OSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICAoeXl2YWwuY29tbWFuZCkgPSAoeXl2c3BbKDIpIC0gKDIpXS5jb21tYW5kKTsKIAkJCSAgaWYgKG5lZWRfaGVyZV9kb2MpCkBAIC0yOTMzLDE1ICszMTIyLDE1IEBACiAJCQkgfQogICAgIGJyZWFrOwogCi0gIGNhc2UgMTE4OgotI2xpbmUgOTUwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxMzI6CisjbGluZSAxMDY4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMikgLSAoMildLmNvbW1hbmQpOwogCQkJfQogICAgIGJyZWFrOwogCi0gIGNhc2UgMTIwOgotI2xpbmUgOTU3ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxMzQ6CisjbGluZSAxMDc1ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIGlmICgoeXl2c3BbKDEpIC0gKDMpXS5jb21tYW5kKS0+dHlwZSA9PSBjbV9jb25uZWN0aW9uKQogCQkJICAgICh5eXZhbC5jb21tYW5kKSA9IGNvbm5lY3RfYXN5bmNfbGlzdCAoKHl5dnNwWygxKSAtICgzKV0uY29tbWFuZCksIChDT01NQU5EICopTlVMTCwgJyYnKTsKQEAgLTI5NTAsMTggKzMxMzksMTggQEAKIAkJCX0KICAgICBicmVhazsKIAotICBjYXNlIDEyMjoKLSNsaW5lIDk2OCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTM2OgorI2xpbmUgMTA4NiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSBjb21tYW5kX2Nvbm5lY3QgKCh5eXZzcFsoMSkgLSAoNCldLmNvbW1hbmQpLCAoeXl2c3BbKDQpIC0gKDQpXS5jb21tYW5kKSwgQU5EX0FORCk7IH0KICAgICBicmVhazsKIAotICBjYXNlIDEyMzoKLSNsaW5lIDk3MCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTM3OgorI2xpbmUgMTA4OCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSBjb21tYW5kX2Nvbm5lY3QgKCh5eXZzcFsoMSkgLSAoNCldLmNvbW1hbmQpLCAoeXl2c3BbKDQpIC0gKDQpXS5jb21tYW5kKSwgT1JfT1IpOyB9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSAxMjQ6Ci0jbGluZSA5NzIgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDEzODoKKyNsaW5lIDEwOTAgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgaWYgKCh5eXZzcFsoMSkgLSAoNCldLmNvbW1hbmQpLT50eXBlID09IGNtX2Nvbm5lY3Rpb24pCiAJCQkgICAgKHl5dmFsLmNvbW1hbmQpID0gY29ubmVjdF9hc3luY19saXN0ICgoeXl2c3BbKDEpIC0gKDQpXS5jb21tYW5kKSwgKHl5dnNwWyg0KSAtICg0KV0uY29tbWFuZCksICcmJyk7CkBAIC0yOTcwLDM4ICszMTU5LDM4IEBACiAJCQl9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSAxMjU6Ci0jbGluZSA5NzkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDEzOToKKyNsaW5lIDEwOTcgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gY29tbWFuZF9jb25uZWN0ICgoeXl2c3BbKDEpIC0gKDQpXS5jb21tYW5kKSwgKHl5dnNwWyg0KSAtICg0KV0uY29tbWFuZCksICc7Jyk7IH0KICAgICBicmVhazsKIAotICBjYXNlIDEyNjoKLSNsaW5lIDk4MSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTQwOgorI2xpbmUgMTA5OSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSBjb21tYW5kX2Nvbm5lY3QgKCh5eXZzcFsoMSkgLSAoNCldLmNvbW1hbmQpLCAoeXl2c3BbKDQpIC0gKDQpXS5jb21tYW5kKSwgJzsnKTsgfQogICAgIGJyZWFrOwogCi0gIGNhc2UgMTI3OgotI2xpbmUgOTgzICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxNDE6CisjbGluZSAxMTAxICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOyB9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSAxMzA6Ci0jbGluZSA5OTEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDE0NDoKKyNsaW5lIDExMDkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLm51bWJlcikgPSAnXG4nOyB9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSAxMzE6Ci0jbGluZSA5OTMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDE0NToKKyNsaW5lIDExMTEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLm51bWJlcikgPSAnOyc7IH0KICAgICBicmVhazsKIAotICBjYXNlIDEzMjoKLSNsaW5lIDk5NSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTQ2OgorI2xpbmUgMTExMyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwubnVtYmVyKSA9IHlhY2NfRU9GOyB9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSAxMzU6Ci0jbGluZSAxMDA5ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxNDk6CisjbGluZSAxMTI3ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOwogCQkJICBpZiAobmVlZF9oZXJlX2RvYykKQEAgLTMwMTYsOCArMzIwNSw4IEBACiAJCQl9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSAxMzY6Ci0jbGluZSAxMDIyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxNTA6CisjbGluZSAxMTQwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIGlmICgoeXl2c3BbKDEpIC0gKDIpXS5jb21tYW5kKS0+dHlwZSA9PSBjbV9jb25uZWN0aW9uKQogCQkJICAgICh5eXZhbC5jb21tYW5kKSA9IGNvbm5lY3RfYXN5bmNfbGlzdCAoKHl5dnNwWygxKSAtICgyKV0uY29tbWFuZCksIChDT01NQU5EICopTlVMTCwgJyYnKTsKQEAgLTMwMzUsOCArMzIyNCw4IEBACiAJCQl9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSAxMzc6Ci0jbGluZSAxMDM4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxNTE6CisjbGluZSAxMTU2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMildLmNvbW1hbmQpOwogCQkJICBpZiAobmVlZF9oZXJlX2RvYykKQEAgLTMwNTEsMTggKzMyNDAsMTggQEAKIAkJCX0KICAgICBicmVhazsKIAotICBjYXNlIDEzODoKLSNsaW5lIDEwNTMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDE1MjoKKyNsaW5lIDExNzEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gY29tbWFuZF9jb25uZWN0ICgoeXl2c3BbKDEpIC0gKDQpXS5jb21tYW5kKSwgKHl5dnNwWyg0KSAtICg0KV0uY29tbWFuZCksIEFORF9BTkQpOyB9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSAxMzk6Ci0jbGluZSAxMDU1ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxNTM6CisjbGluZSAxMTczICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9IGNvbW1hbmRfY29ubmVjdCAoKHl5dnNwWygxKSAtICg0KV0uY29tbWFuZCksICh5eXZzcFsoNCkgLSAoNCldLmNvbW1hbmQpLCBPUl9PUik7IH0KICAgICBicmVhazsKIAotICBjYXNlIDE0MDoKLSNsaW5lIDEwNTcgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDE1NDoKKyNsaW5lIDExNzUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgaWYgKCh5eXZzcFsoMSkgLSAoMyldLmNvbW1hbmQpLT50eXBlID09IGNtX2Nvbm5lY3Rpb24pCiAJCQkgICAgKHl5dmFsLmNvbW1hbmQpID0gY29ubmVjdF9hc3luY19saXN0ICgoeXl2c3BbKDEpIC0gKDMpXS5jb21tYW5kKSwgKHl5dnNwWygzKSAtICgzKV0uY29tbWFuZCksICcmJyk7CkBAIC0zMDcxLDIzICszMjYwLDIzIEBACiAJCQl9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSAxNDE6Ci0jbGluZSAxMDY0ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxNTU6CisjbGluZSAxMTgyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9IGNvbW1hbmRfY29ubmVjdCAoKHl5dnNwWygxKSAtICgzKV0uY29tbWFuZCksICh5eXZzcFsoMykgLSAoMyldLmNvbW1hbmQpLCAnOycpOyB9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSAxNDI6Ci0jbGluZSAxMDY3ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxNTY6CisjbGluZSAxMTg1ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOyB9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSAxNDM6Ci0jbGluZSAxMDcxICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxNTc6CisjbGluZSAxMTg5ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOyB9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSAxNDQ6Ci0jbGluZSAxMDczICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxNTg6CisjbGluZSAxMTkxICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIGlmICgoeXl2c3BbKDIpIC0gKDIpXS5jb21tYW5kKSkKIAkJCSAgICAoeXl2c3BbKDIpIC0gKDIpXS5jb21tYW5kKS0+ZmxhZ3MgfD0gQ01EX0lOVkVSVF9SRVRVUk47CkBAIC0zMDk1LDggKzMyODQsOCBAQAogCQkJfQogICAgIGJyZWFrOwogCi0gIGNhc2UgMTQ1OgotI2xpbmUgMTA3OSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTU5OgorI2xpbmUgMTE5NyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBpZiAoKHl5dnNwWygyKSAtICgyKV0uY29tbWFuZCkpCiAJCQkgICAgKHl5dnNwWygyKSAtICgyKV0uY29tbWFuZCktPmZsYWdzIHw9ICh5eXZzcFsoMSkgLSAoMildLm51bWJlcik7CkBAIC0zMTA0LDggKzMyOTMsOCBAQAogCQkJfQogICAgIGJyZWFrOwogCi0gIGNhc2UgMTQ2OgotI2xpbmUgMTA4NSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTYwOgorI2xpbmUgMTIwMyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBpZiAoKHl5dnNwWygzKSAtICgzKV0uY29tbWFuZCkpCiAJCQkgICAgKHl5dnNwWygzKSAtICgzKV0uY29tbWFuZCktPmZsYWdzIHw9ICh5eXZzcFsoMSkgLSAoMyldLm51bWJlcil8Q01EX0lOVkVSVF9SRVRVUk47CkBAIC0zMTEzLDggKzMzMDIsOCBAQAogCQkJfQogICAgIGJyZWFrOwogCi0gIGNhc2UgMTQ3OgotI2xpbmUgMTA5MSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTYxOgorI2xpbmUgMTIwOSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBpZiAoKHl5dnNwWygzKSAtICgzKV0uY29tbWFuZCkpCiAJCQkgICAgKHl5dnNwWygzKSAtICgzKV0uY29tbWFuZCktPmZsYWdzIHw9ICh5eXZzcFsoMikgLSAoMyldLm51bWJlcil8Q01EX0lOVkVSVF9SRVRVUk47CkBAIC0zMTIyLDggKzMzMTEsOCBAQAogCQkJfQogICAgIGJyZWFrOwogCi0gIGNhc2UgMTQ4OgotI2xpbmUgMTA5NyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTYyOgorI2xpbmUgMTIxNSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBFTEVNRU5UIHg7CiAKQEAgLTMxNDIsMjIgKzMzMzEsMjMgQEAKIAkJCX0KICAgICBicmVhazsKIAotICBjYXNlIDE0OToKLSNsaW5lIDExMTcgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDE2MzoKKyNsaW5lIDEyMzUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gY29tbWFuZF9jb25uZWN0ICgoeXl2c3BbKDEpIC0gKDQpXS5jb21tYW5kKSwgKHl5dnNwWyg0KSAtICg0KV0uY29tbWFuZCksICd8Jyk7IH0KICAgICBicmVhazsKIAotICBjYXNlIDE1MDoKLSNsaW5lIDExMTkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDE2NDoKKyNsaW5lIDEyMzcgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgLyogTWFrZSBjbWQxIHwmIGNtZDIgZXF1aXZhbGVudCB0byBjbWQxIDI+JjEgfCBjbWQyICovCiAJCQkgIENPTU1BTkQgKnRjOwotCQkJICBSRURJUkVDVEVFIHJkOworCQkJICBSRURJUkVDVEVFIHJkLCBzZDsKIAkJCSAgUkVESVJFQ1QgKnI7CiAKLQkJCSAgdGMgPSAoeXl2c3BbKDEpIC0gKDQpXS5jb21tYW5kKTsKKwkJCSAgdGMgPSAoeXl2c3BbKDEpIC0gKDQpXS5jb21tYW5kKS0+dHlwZSA9PSBjbV9zaW1wbGUgPyAoQ09NTUFORCAqKSh5eXZzcFsoMSkgLSAoNCldLmNvbW1hbmQpLT52YWx1ZS5TaW1wbGUgOiAoeXl2c3BbKDEpIC0gKDQpXS5jb21tYW5kKTsKKwkJCSAgc2QuZGVzdCA9IDI7CiAJCQkgIHJkLmRlc3QgPSAxOwotCQkJICByID0gbWFrZV9yZWRpcmVjdGlvbiAoMiwgcl9kdXBsaWNhdGluZ19vdXRwdXQsIHJkKTsKKwkJCSAgciA9IG1ha2VfcmVkaXJlY3Rpb24gKHNkLCByX2R1cGxpY2F0aW5nX291dHB1dCwgcmQsIDApOwogCQkJICBpZiAodGMtPnJlZGlyZWN0cykKIAkJCSAgICB7CiAJCQkgICAgICByZWdpc3RlciBSRURJUkVDVCAqdDsKQEAgLTMxNzIsMjQgKzMzNjIsMjQgQEAKIAkJCX0KICAgICBicmVhazsKIAotICBjYXNlIDE1MToKLSNsaW5lIDExNDEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDE2NToKKyNsaW5lIDEyNjAgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gKHl5dnNwWygxKSAtICgxKV0uY29tbWFuZCk7IH0KICAgICBicmVhazsKIAotICBjYXNlIDE1MjoKLSNsaW5lIDExNDUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDE2NjoKKyNsaW5lIDEyNjQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLm51bWJlcikgPSBDTURfVElNRV9QSVBFTElORTsgfQogICAgIGJyZWFrOwogCi0gIGNhc2UgMTUzOgotI2xpbmUgMTE0NyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTY3OgorI2xpbmUgMTI2NiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwubnVtYmVyKSA9IENNRF9USU1FX1BJUEVMSU5FfENNRF9USU1FX1BPU0lYOyB9CiAgICAgYnJlYWs7CiAKIAogLyogTGluZSAxMjY3IG9mIHlhY2MuYy4gICovCi0jbGluZSAzMTkzICJ5LnRhYi5jIgorI2xpbmUgMzM4MyAieS50YWIuYyIKICAgICAgIGRlZmF1bHQ6IGJyZWFrOwogICAgIH0KICAgWVlfU1lNQk9MX1BSSU5UICgiLT4gJCQgPSIsIHl5cjFbeXluXSwgJnl5dmFsLCAmeXlsb2MpOwpAQCAtMzQwMyw3ICszNTkzLDcgQEAKIH0KIAogCi0jbGluZSAxMTQ5ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDEyNjggIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogCiAKIC8qIEluaXRpYWwgc2l6ZSB0byBhbGxvY2F0ZSBmb3IgdG9rZW5zLCBhbmQgdGhlCkBAIC0zODczLDEwICs0MDYzLDExIEBACiB7CiAgIGludCAqcmV0OwogCi0gIHJldCA9IChpbnQgKil4bWFsbG9jICgzICogc2l6ZW9mIChpbnQpKTsKKyAgcmV0ID0gKGludCAqKXhtYWxsb2MgKDQgKiBzaXplb2YgKGludCkpOwogICByZXRbMF0gPSBsYXN0X3JlYWRfdG9rZW47CiAgIHJldFsxXSA9IHRva2VuX2JlZm9yZV90aGF0OwogICByZXRbMl0gPSB0d29fdG9rZW5zX2FnbzsKKyAgcmV0WzNdID0gY3VycmVudF90b2tlbjsKICAgcmV0dXJuIHJldDsKIH0KIApAQCAtMzg4OSw2ICs0MDgwLDcgQEAKICAgbGFzdF9yZWFkX3Rva2VuID0gdHNbMF07CiAgIHRva2VuX2JlZm9yZV90aGF0ID0gdHNbMV07CiAgIHR3b190b2tlbnNfYWdvID0gdHNbMl07CisgIGN1cnJlbnRfdG9rZW4gPSB0c1szXTsKIH0KIAogLyoKQEAgLTQwNDIsNyArNDIzNCw3IEBACiB7CiAgIHN0YXRpYyBjaGFyICpsaW5lX2J1ZmZlciA9IChjaGFyICopTlVMTDsKICAgc3RhdGljIGludCBidWZmZXJfc2l6ZSA9IDA7Ci0gIGludCBpbmR4ID0gMCwgYywgcGVla2MsIHBhc3NfbmV4dDsKKyAgaW50IGluZHgsIGMsIHBlZWtjLCBwYXNzX25leHQ7CiAKICNpZiBkZWZpbmVkIChSRUFETElORSkKICAgaWYgKG5vX2xpbmVfZWRpdGluZyAmJiBTSE9VTERfUFJPTVBUICgpKQpAQCAtNDA1MSw3ICs0MjQzLDcgQEAKICNlbmRpZgogICAgIHByaW50X3Byb21wdCAoKTsKIAotICBwYXNzX25leHQgPSAwOworICBwYXNzX25leHQgPSBpbmR4ID0gMDsKICAgd2hpbGUgKDEpCiAgICAgewogICAgICAgLyogQWxsb3cgaW1tZWRpYXRlIGV4aXQgaWYgaW50ZXJydXB0ZWQgZHVyaW5nIGlucHV0LiAqLwpAQCAtNDEzNSw3ICs0MzI3LDcgQEAKICAgICBwcm9tcHRfYWdhaW4gKCk7CiAgIHJldCA9IHJlYWRfYV9saW5lIChyZW1vdmVfcXVvdGVkX25ld2xpbmUpOwogI2lmIGRlZmluZWQgKEhJU1RPUlkpCi0gIGlmIChyZW1lbWJlcl9vbl9oaXN0b3J5ICYmIChwYXJzZXJfc3RhdGUgJiBQU1RfSEVSRURPQykpCisgIGlmIChyZXQgJiYgcmVtZW1iZXJfb25faGlzdG9yeSAmJiAocGFyc2VyX3N0YXRlICYgUFNUX0hFUkVET0MpKQogICAgIHsKICAgICAgIC8qIFRvIG1ha2UgYWRkaW5nIHRoZSB0aGUgaGVyZS1kb2N1bWVudCBib2R5IHJpZ2h0LCB3ZSBuZWVkIHRvIHJlbHkKIAkgb24gaGlzdG9yeV9kZWxpbWl0aW5nX2NoYXJzKCkgcmV0dXJuaW5nIFxuIGZvciB0aGUgZmlyc3QgbGluZSBvZgpAQCAtNDQ5MSw2ICs0NjgzLDcgQEAKICAgICAgYmVjYXVzZSB3ZSBoYXZlIGZ1bGx5IGNvbnN1bWVkIHRoZSByZXN1bHQgb2YgdGhlIGxhc3QgYWxpYXMgZXhwYW5zaW9uLgogICAgICBEbyBpdCB0cmFuc3BhcmVudGx5OyBqdXN0IHJldHVybiB0aGUgbmV4dCBjaGFyYWN0ZXIgb2YgdGhlIHN0cmluZyBwb3BwZWQKICAgICAgdG8uICovCitwb3BfYWxpYXM6CiAgIGlmICghdWMgJiYgKHB1c2hlZF9zdHJpbmdfbGlzdCAhPSAoU1RSSU5HX1NBVkVSICopTlVMTCkpCiAgICAgewogICAgICAgcG9wX3N0cmluZyAoKTsKQEAgLTQ1MDUsNiArNDY5OCwxNyBAQAogCWlmIChTSE9VTERfUFJPTVBUICgpKQogCSAgcHJvbXB0X2FnYWluICgpOwogCWxpbmVfbnVtYmVyKys7CisJLyogWFhYIC0gd2hhdCBkbyB3ZSBkbyBoZXJlIGlmIHdlJ3JlIGV4cGFuZGluZyBhbiBhbGlhcyB3aG9zZSBkZWZpbml0aW9uCisJICAgZW5kcyB3aXRoIGEgbmV3bGluZT8gIFJlY2FsbCB0aGF0IHdlIGluaGliaXQgdGhlIGFwcGVuZGluZyBvZiBhCisJICAgc3BhY2UgaW4gbWtfYWxleHBhbnNpb24oKSBpZiBuZXdsaW5lIGlzIHRoZSBsYXN0IGNoYXJhY3Rlci4gKi8KKyNpZiAwCS8qIFhYWCAtIGJhc2gtNC4yIChqb25hdGhhbkBjbGFnZ2V0dC5vcmcpICovCisJaWYgKGV4cGFuZGluZ19hbGlhcyAoKSAmJiBzaGVsbF9pbnB1dF9saW5lW3NoZWxsX2lucHV0X2xpbmVfaW5kZXgrMV0gPT0gJ1wwJykKKwkgIHsKKwkgICAgdWMgPSAwOworCSAgICBnb3RvIHBvcF9hbGlhczsKKwkgIH0KKyNlbmRpZgorCSAgCiAJZ290byByZXN0YXJ0X3JlYWQ7CiAgICAgfQogCkBAIC00NjUyLDcgKzQ4NTYsNyBAQAogc3RhdGljIGludCBvcGVuX2JyYWNlX2NvdW50OwogCiAjZGVmaW5lIGNvbW1hbmRfdG9rZW5fcG9zaXRpb24odG9rZW4pIFwKLSAgKCgodG9rZW4pID09IEFTU0lHTk1FTlRfV09SRCkgfHwgXAorICAoKCh0b2tlbikgPT0gQVNTSUdOTUVOVF9XT1JEKSB8fCAocGFyc2VyX3N0YXRlJlBTVF9SRURJUkxJU1QpIHx8IFwKICAgICgodG9rZW4pICE9IFNFTUlfU0VNSSAmJiAodG9rZW4pICE9IFNFTUlfQU5EICYmICh0b2tlbikgIT0gU0VNSV9TRU1JX0FORCAmJiByZXNlcnZlZF93b3JkX2FjY2VwdGFibGUodG9rZW4pKSkKIAogI2RlZmluZSBhc3NpZ25tZW50X2FjY2VwdGFibGUodG9rZW4pIFwKQEAgLTQ3MTUsNyArNDkxOSwxMSBAQAogICBsID0gc3RybGVuIChzKTsKICAgciA9IHhtYWxsb2MgKGwgKyAyKTsKICAgc3RyY3B5IChyLCBzKTsKKyNpZiAwCQkvKiBYWFggLSBiYXNoLTQuMiAqLworICBpZiAocltsIC0xXSAhPSAnICcgJiYgcltsIC0xXSAhPSAnXG4nKQorI2Vsc2UKICAgaWYgKHJbbCAtMV0gIT0gJyAnKQorI2VuZGlmCiAgICAgcltsKytdID0gJyAnOwogICByW2xdID0gJ1wwJzsKICAgcmV0dXJuIHI7CkBAIC00OTA5LDYgKzUxMTcsMTIgQEAKICAgZHN0YWNrLmRlbGltaXRlcl9kZXB0aCA9IDA7CS8qIE5vIGRlbGltaXRlcnMgZm91bmQgc28gZmFyLiAqLwogICBvcGVuX2JyYWNlX2NvdW50ID0gMDsKIAorI2lmIGRlZmluZWQgKEVYVEVOREVEX0dMT0IpCisgIC8qIFJlc2V0IHRvIGdsb2JhbCB2YWx1ZSBvZiBleHRlbmRlZCBnbG9iICovCisgIGlmIChwYXJzZXJfc3RhdGUgJiBQU1RfRVhUUEFUKQorICAgIGV4dGVuZGVkX2dsb2IgPSBnbG9iYWxfZXh0Z2xvYjsKKyNlbmRpZgorCiAgIHBhcnNlcl9zdGF0ZSA9IDA7CiAKICNpZiBkZWZpbmVkIChBTElBUykgfHwgZGVmaW5lZCAoRFBBUkVOX0FSSVRITUVUSUMpCkBAIC00OTI2LDYgKzUxNDAsNyBAQAogICBGUkVFICh3b3JkX2Rlc2NfdG9fcmVhZCk7CiAgIHdvcmRfZGVzY190b19yZWFkID0gKFdPUkRfREVTQyAqKU5VTEw7CiAKKyAgY3VycmVudF90b2tlbiA9ICdcbic7CQkvKiBYWFggKi8KICAgbGFzdF9yZWFkX3Rva2VuID0gJ1xuJzsKICAgdG9rZW5fdG9fcmVhZCA9ICdcbic7CiB9CkBAIC01MTczLDYgKzUzODgsNyBAQAogI2RlZmluZSBQX0RRVU9URQkweDA0CiAjZGVmaW5lIFBfQ09NTUFORAkweDA4CS8qIHBhcnNpbmcgYSBjb21tYW5kLCBzbyBsb29rIGZvciBjb21tZW50cyAqLwogI2RlZmluZSBQX0JBQ0tRVU9URQkweDEwCS8qIHBhcnNpbmcgYSBiYWNrcXVvdGVkIGNvbW1hbmQgc3Vic3RpdHV0aW9uICovCisjZGVmaW5lIFBfQVJSQVlTVUIJMHgyMAkvKiBwYXJzaW5nIGEgWy4uLl0gYXJyYXkgc3Vic2NyaXB0IGZvciBhc3NpZ25tZW50ICovCiAKIC8qIExleGljYWwgc3RhdGUgd2hpbGUgcGFyc2luZyBhIGdyb3VwaW5nIGNvbnN0cnVjdCBvciAkKC4uLikuICovCiAjZGVmaW5lIExFWF9XQVNET0wJMHgwMDEKQEAgLTUxODUsNiArNTQwMSw3IEBACiAjZGVmaW5lIExFWF9JTkhFUkVET0MJMHgwODAKICNkZWZpbmUgTEVYX0hFUkVERUxJTQkweDEwMAkJLyogcmVhZGluZyBoZXJlLWRvYyBkZWxpbWl0ZXIgKi8KICNkZWZpbmUgTEVYX1NUUklQRE9DCTB4MjAwCQkvKiA8PC0gc3RyaXAgdGFicyBmcm9tIGhlcmUgZG9jIGRlbGltICovCisjZGVmaW5lIExFWF9JTldPUkQJMHg0MDAKIAogI2RlZmluZSBDT01TVUJfTUVUQShjaCkJCSgoY2gpID09ICc7JyB8fCAoY2gpID09ICcmJyB8fCAoY2gpID09ICd8JykKIApAQCAtNTIyMCw3ICs1NDM3LDcgQEAKICAgY2hhciAqcmV0LCAqbmVzdHJldCwgKnR0cmFuczsKICAgaW50IHJldGluZCwgcmV0c2l6ZSwgcmZsYWdzOwogCi0vKiBpdHJhY2UoInBhcnNlX21hdGNoZWRfcGFpcjogb3BlbiA9ICVjIGNsb3NlID0gJWMgZmxhZ3MgPSAlZCIsIG9wZW4sIGNsb3NlLCBmbGFncyk7ICovCisvKml0cmFjZSgicGFyc2VfbWF0Y2hlZF9wYWlyWyVkXTogb3BlbiA9ICVjIGNsb3NlID0gJWMgZmxhZ3MgPSAlZCIsIGxpbmVfbnVtYmVyLCBvcGVuLCBjbG9zZSwgZmxhZ3MpOyovCiAgIGNvdW50ID0gMTsKICAgdGZsYWdzID0gMDsKIApAQCAtNTM4Nyw2ICs1NjA0LDggQEAKIAkgICAgICBBUFBFTkRfTkVTVFJFVCAoKTsKIAkgICAgICBGUkVFIChuZXN0cmV0KTsKIAkgICAgfQorCSAgZWxzZSBpZiAoKGZsYWdzICYgUF9BUlJBWVNVQikgJiYgKHRmbGFncyAmIExFWF9XQVNET0wpICYmIChjaCA9PSAnKCcgfHwgY2ggPT0gJ3snIHx8IGNoID09ICdbJykpCS8qICkgfSBdICovCisJICAgIGdvdG8gcGFyc2VfZG9sbGFyX3dvcmQ7CiAJfQogICAgICAgLyogUGFyc2UgYW4gb2xkLXN0eWxlIGNvbW1hbmQgc3Vic3RpdHV0aW9uIHdpdGhpbiBkb3VibGUgcXVvdGVzIGFzIGEKIAkgc2luZ2xlIHdvcmQuICovCkBAIC01NDAzLDYgKzU2MjIsNyBAQAogICAgICAgZWxzZSBpZiBNQlRFU1Qob3BlbiAhPSAnYCcgJiYgKHRmbGFncyAmIExFWF9XQVNET0wpICYmIChjaCA9PSAnKCcgfHwgY2ggPT0gJ3snIHx8IGNoID09ICdbJykpCS8qICkgfSBdICovCiAJLyogY2hlY2sgZm9yICQoKSwgJFtdLCBvciAke30gaW5zaWRlIHF1b3RlZCBzdHJpbmcuICovCiAJeworcGFyc2VfZG9sbGFyX3dvcmQ6CiAJICBpZiAob3BlbiA9PSBjaCkJLyogdW5kbyBwcmV2aW91cyBpbmNyZW1lbnQgKi8KIAkgICAgY291bnQtLTsKIAkgIGlmIChjaCA9PSAnKCcpCQkvKiApICovCkBAIC01NDI2LDYgKzU2NDYsNyBAQAogICByZXRbcmV0aW5kXSA9ICdcMCc7CiAgIGlmIChsZW5wKQogICAgICpsZW5wID0gcmV0aW5kOworLyppdHJhY2UoInBhcnNlX21hdGNoZWRfcGFpclslZF06IHJldHVybmluZyAlcyIsIGxpbmVfbnVtYmVyLCByZXQpOyovCiAgIHJldHVybiByZXQ7CiB9CiAKQEAgLTU0MzcsNyArNTY1OCw3IEBACiAgICAgIGludCBvcGVuLCBjbG9zZTsKICAgICAgaW50ICpsZW5wLCBmbGFnczsKIHsKLSAgaW50IGNvdW50LCBjaCwgcGVla2MsIHRmbGFncywgbGV4X3J3bGVuLCBsZXhfZmlyc3RpbmQ7CisgIGludCBjb3VudCwgY2gsIHBlZWtjLCB0ZmxhZ3MsIGxleF9yd2xlbiwgbGV4X3dsZW4sIGxleF9maXJzdGluZDsKICAgaW50IG5lc3RsZW4sIHR0cmFuc2xlbiwgc3RhcnRfbGluZW5vOwogICBjaGFyICpyZXQsICpuZXN0cmV0LCAqdHRyYW5zLCAqaGVyZWRlbGltOwogICBpbnQgcmV0aW5kLCByZXRzaXplLCByZmxhZ3MsIGhkbGVuOwpAQCAtNTQ1OCw3ICs1Njc5LDcgQEAKICAgcmV0aW5kID0gMDsKIAogICBzdGFydF9saW5lbm8gPSBsaW5lX251bWJlcjsKLSAgbGV4X3J3bGVuID0gMDsKKyAgbGV4X3J3bGVuID0gbGV4X3dsZW4gPSAwOwogCiAgIGhlcmVkZWxpbSA9IDA7CiAgIGxleF9maXJzdGluZCA9IC0xOwpAQCAtNTUwMSw2ICs1NzIyLDggQEAKIAkJewogCQkgIHRmbGFncyAmPSB+KExFWF9TVFJJUERPQ3xMRVhfSU5IRVJFRE9DKTsKIC8qaXRyYWNlKCJwYXJzZV9jb21zdWI6JWQ6IGZvdW5kIGhlcmUgZG9jIGVuZCBgJXMnIiwgbGluZV9udW1iZXIsIHJldCArIHRpbmQpOyovCisJCSAgZnJlZSAoaGVyZWRlbGltKTsKKwkJICBoZXJlZGVsaW0gPSAwOwogCQkgIGxleF9maXJzdGluZCA9IC0xOwogCQl9CiAJICAgICAgZWxzZQpAQCAtNTUxMiw2ICs1NzM1LDI1IEBACiAgICAgICBpZiAoY2ggPT0gJ1xuJyAmJiBTSE9VTERfUFJPTVBUICgpKQogCXByb21wdF9hZ2FpbiAoKTsKIAorICAgICAgLyogWFhYIC0tIHBvc3NpYmx5IGFsbG93IGhlcmUgZG9jIHRvIGJlIGRlbGltaXRlZCBieSBlbmRpbmcgcmlnaHQKKwkgcGFyZW4uICovCisgICAgICBpZiAoKHRmbGFncyAmIExFWF9JTkhFUkVET0MpICYmIGNoID09IGNsb3NlICYmIGNvdW50ID09IDEpCisJeworCSAgaW50IHRpbmQ7CisvKml0cmFjZSgicGFyc2VfY29tc3ViOiBpbiBoZXJlIGRvYywgY2ggPT0gY2xvc2UsIHJldGluZCAtIGZpcnN0aW5kID0gJWQgaGRsZW4gPSAlZCByZXRpbmQgPSAlZCIsIHJldGluZC1sZXhfZmlyc3RpbmQsIGhkbGVuLCByZXRpbmQpOyovCisJICB0aW5kID0gbGV4X2ZpcnN0aW5kOworCSAgd2hpbGUgKCh0ZmxhZ3MgJiBMRVhfU1RSSVBET0MpICYmIHJldFt0aW5kXSA9PSAnXHQnKQorCSAgICB0aW5kKys7CisJICBpZiAocmV0aW5kLXRpbmQgPT0gaGRsZW4gJiYgU1RSRVFOIChyZXQgKyB0aW5kLCBoZXJlZGVsaW0sIGhkbGVuKSkKKwkgICAgeworCSAgICAgIHRmbGFncyAmPSB+KExFWF9TVFJJUERPQ3xMRVhfSU5IRVJFRE9DKTsKKy8qaXRyYWNlKCJwYXJzZV9jb21zdWI6JWQ6IGZvdW5kIGhlcmUgZG9jIGVuZCBgJXMnIiwgbGluZV9udW1iZXIsIHJldCArIHRpbmQpOyovCisJICAgICAgZnJlZSAoaGVyZWRlbGltKTsKKwkgICAgICBoZXJlZGVsaW0gPSAwOworCSAgICAgIGxleF9maXJzdGluZCA9IC0xOworCSAgICB9CisJfQorCiAgICAgICAvKiBEb24ndCBib3RoZXIgY291bnRpbmcgcGFyZW5zIG9yIGRvaW5nIGFueXRoaW5nIGVsc2UgaWYgaW4gYSBjb21tZW50ICovCiAgICAgICBpZiAodGZsYWdzICYgKExFWF9JTkNPTU1FTlR8TEVYX0lOSEVSRURPQykpCiAJewpAQCAtNTUyMCwxMSArNTc2Miw1NCBAQAogCSAgcmV0W3JldGluZCsrXSA9IGNoOwogCiAJICBpZiAoKHRmbGFncyAmIExFWF9JTkNPTU1FTlQpICYmIGNoID09ICdcbicpCit7CisvKml0cmFjZSgicGFyc2VfY29tc3ViOiVkOiBsZXhfaW5jb21tZW50IC0+IDAgY2ggPSBgJWMnIiwgbGluZV9udW1iZXIsIGNoKTsqLwogCSAgICB0ZmxhZ3MgJj0gfkxFWF9JTkNPTU1FTlQ7Cit9CiAKIAkgIGNvbnRpbnVlOwogCX0KIAorICAgICAgaWYgKHRmbGFncyAmIExFWF9QQVNTTkVYVCkJCS8qIGxhc3QgY2hhciB3YXMgYmFja3NsYXNoICovCisJeworLyppdHJhY2UoInBhcnNlX2NvbXN1YjolZDogbGV4X3Bhc3NuZXh0IC0+IDAgY2ggPSBgJWMnICglZCkiLCBsaW5lX251bWJlciwgY2gsIF9fTElORV9fKTsqLworCSAgdGZsYWdzICY9IH5MRVhfUEFTU05FWFQ7CisJICBpZiAocWMgIT0gJ1wnJyAmJiBjaCA9PSAnXG4nKQkvKiBkb3VibGUtcXVvdGVkIFw8bmV3bGluZT4gZGlzYXBwZWFycy4gKi8KKwkgICAgeworCSAgICAgIGlmIChyZXRpbmQgPiAwKQorCQlyZXRpbmQtLTsJLyogc3dhbGxvdyBwcmV2aW91c2x5LWFkZGVkIGJhY2tzbGFzaCAqLworCSAgICAgIGNvbnRpbnVlOworCSAgICB9CisKKwkgIFJFU0laRV9NQUxMT0NFRF9CVUZGRVIgKHJldCwgcmV0aW5kLCAyLCByZXRzaXplLCA2NCk7CisJICBpZiBNQlRFU1QoY2ggPT0gQ1RMRVNDIHx8IGNoID09IENUTE5VTCkKKwkgICAgcmV0W3JldGluZCsrXSA9IENUTEVTQzsKKwkgIHJldFtyZXRpbmQrK10gPSBjaDsKKwkgIGNvbnRpbnVlOworCX0KKworICAgICAgLyogSWYgdGhpcyBpcyBhIHNoZWxsIGJyZWFrIGNoYXJhY3Rlciwgd2UgYXJlIG5vdCBpbiBhIHdvcmQuICBJZiBub3QsCisJIHdlIGVpdGhlciBzdGFydCBvciBjb250aW51ZSBhIHdvcmQuICovCisgICAgICBpZiBNQlRFU1Qoc2hlbGxicmVhayAoY2gpKQorCXsKKwkgIHRmbGFncyAmPSB+TEVYX0lOV09SRDsKKy8qaXRyYWNlKCJwYXJzZV9jb21zdWI6JWQ6IGxleF9pbndvcmQgLT4gMCBjaCA9IGAlYycgKCVkKSIsIGxpbmVfbnVtYmVyLCBjaCwgX19MSU5FX18pOyovCisJfQorICAgICAgZWxzZQorCXsKKwkgIGlmICh0ZmxhZ3MgJiBMRVhfSU5XT1JEKQorCSAgICB7CisJICAgICAgbGV4X3dsZW4rKzsKKy8qaXRyYWNlKCJwYXJzZV9jb21zdWI6JWQ6IGxleF9pbndvcmQgPT0gMSBjaCA9IGAlYycgbGV4X3dsZW4gPSAlZCAoJWQpIiwgbGluZV9udW1iZXIsIGNoLCBsZXhfd2xlbiwgX19MSU5FX18pOyovCisJICAgIH0JICAgICAgCisJICBlbHNlCisJICAgIHsKKy8qaXRyYWNlKCJwYXJzZV9jb21zdWI6JWQ6IGxleF9pbndvcmQgLT4gMSBjaCA9IGAlYycgKCVkKSIsIGxpbmVfbnVtYmVyLCBjaCwgX19MSU5FX18pOyovCisJICAgICAgdGZsYWdzIHw9IExFWF9JTldPUkQ7CisJICAgICAgbGV4X3dsZW4gPSAwOworCSAgICB9CisJfQorCiAgICAgICAvKiBTa2lwIHdoaXRlc3BhY2UgKi8KICAgICAgIGlmIE1CVEVTVChzaGVsbGJsYW5rIChjaCkgJiYgbGV4X3J3bGVuID09IDApCiAgICAgICAgIHsKQEAgLTU1NDUsMTMgKzU4MzAsMjQgQEAKIAl7CiAJICBpZiAobGV4X2ZpcnN0aW5kID09IC0xICYmIHNoZWxsYnJlYWsgKGNoKSA9PSAwKQogCSAgICBsZXhfZmlyc3RpbmQgPSByZXRpbmQ7CisjaWYgMAorCSAgZWxzZSBpZiAoaGVyZWRlbGltICYmICh0ZmxhZ3MgJiBMRVhfUEFTU05FWFQpID09IDAgJiYgY2ggPT0gJ1xuJykKKwkgICAgeworCSAgICAgIHRmbGFncyB8PSBMRVhfSU5IRVJFRE9DOworCSAgICAgIHRmbGFncyAmPSB+TEVYX0hFUkVERUxJTTsKKwkgICAgICBsZXhfZmlyc3RpbmQgPSByZXRpbmQgKyAxOworCSAgICB9CisjZW5kaWYKIAkgIGVsc2UgaWYgKGxleF9maXJzdGluZCA+PSAwICYmICh0ZmxhZ3MgJiBMRVhfUEFTU05FWFQpID09IDAgJiYgc2hlbGxicmVhayAoY2gpKQogCSAgICB7Ci0JICAgICAgbmVzdHJldCA9IHN1YnN0cmluZyAocmV0LCBsZXhfZmlyc3RpbmQsIHJldGluZCk7Ci0JICAgICAgaGVyZWRlbGltID0gc3RyaW5nX3F1b3RlX3JlbW92YWwgKG5lc3RyZXQsIDApOwotCSAgICAgIGZyZWUgKG5lc3RyZXQpOwotCSAgICAgIGhkbGVuID0gU1RSTEVOKGhlcmVkZWxpbSk7CisJICAgICAgaWYgKGhlcmVkZWxpbSA9PSAwKQorCQl7CisJCSAgbmVzdHJldCA9IHN1YnN0cmluZyAocmV0LCBsZXhfZmlyc3RpbmQsIHJldGluZCk7CisJCSAgaGVyZWRlbGltID0gc3RyaW5nX3F1b3RlX3JlbW92YWwgKG5lc3RyZXQsIDApOworCQkgIGZyZWUgKG5lc3RyZXQpOworCQkgIGhkbGVuID0gU1RSTEVOKGhlcmVkZWxpbSk7CiAvKml0cmFjZSgicGFyc2VfY29tc3ViOiVkOiBmb3VuZCBoZXJlIGRvYyBkZWxpbWl0ZXIgYCVzJyAoJWQpIiwgbGluZV9udW1iZXIsIGhlcmVkZWxpbSwgaGRsZW4pOyovCisJCX0KIAkgICAgICBpZiAoY2ggPT0gJ1xuJykKIAkJewogCQkgIHRmbGFncyB8PSBMRVhfSU5IRVJFRE9DOwpAQCAtNTU2NCw3ICs1ODYwLDcgQEAKIAl9CiAKICAgICAgIC8qIE1ldGEtY2hhcmFjdGVycyB0aGF0IGNhbiBpbnRyb2R1Y2UgYSByZXNlcnZlZCB3b3JkLiAgTm90IHBlcmZlY3QgeWV0LiAqLwotICAgICAgaWYgTUJURVNUKCh0ZmxhZ3MgJiBMRVhfUkVTV0RPSykgPT0gMCAmJiAodGZsYWdzICYgTEVYX0NLQ0FTRSkgJiYgKHRmbGFncyAmIExFWF9JTkNPTU1FTlQpID09IDAgJiYgc2hlbGxtZXRhKGNoKSkKKyAgICAgIGlmIE1CVEVTVCgodGZsYWdzICYgTEVYX1JFU1dET0spID09IDAgJiYgKHRmbGFncyAmIExFWF9DS0NBU0UpICYmICh0ZmxhZ3MgJiBMRVhfSU5DT01NRU5UKSA9PSAwICYmIChzaGVsbG1ldGEoY2gpIHx8IGNoID09ICdcbicpKQogCXsKIAkgIC8qIEFkZCB0aGlzIGNoYXJhY3Rlci4gKi8KIAkgIFJFU0laRV9NQUxMT0NFRF9CVUZGRVIgKHJldCwgcmV0aW5kLCAxLCByZXRzaXplLCA2NCk7CkBAIC01NTc0LDcgKzU4NzAsNyBAQAogCSAgICB7CiAJICAgICAgUkVTSVpFX01BTExPQ0VEX0JVRkZFUiAocmV0LCByZXRpbmQsIDEsIHJldHNpemUsIDY0KTsKIAkgICAgICByZXRbcmV0aW5kKytdID0gcGVla2M7Ci0vKml0cmFjZSgicGFyc2VfY29tc3ViOiVkOiBzZXQgbGV4X3Jlc3dvcmRvayA9IDEsIGNoID0gYCVjJyIsIGxpbmVfbnVtYmVyLCBjaCk7ICovCisvKml0cmFjZSgicGFyc2VfY29tc3ViOiVkOiBzZXQgbGV4X3Jlc3dvcmRvayA9IDEsIGNoID0gYCVjJyIsIGxpbmVfbnVtYmVyLCBjaCk7Ki8KIAkgICAgICB0ZmxhZ3MgfD0gTEVYX1JFU1dET0s7CiAJICAgICAgbGV4X3J3bGVuID0gMDsKIAkgICAgICBjb250aW51ZTsKQEAgLTU1ODIsOCArNTg3OCw4IEBACiAJICBlbHNlIGlmIChjaCA9PSAnXG4nIHx8IENPTVNVQl9NRVRBKGNoKSkKIAkgICAgewogCSAgICAgIHNoZWxsX3VuZ2V0YyAocGVla2MpOwotCSAgICAgIHRmbGFncyB8PSBMRVhfUkVTV0RPSzsKIC8qaXRyYWNlKCJwYXJzZV9jb21zdWI6JWQ6IHNldCBsZXhfcmVzd29yZG9rID0gMSwgY2ggPSBgJWMnIiwgbGluZV9udW1iZXIsIGNoKTsqLworCSAgICAgIHRmbGFncyB8PSBMRVhfUkVTV0RPSzsKIAkgICAgICBsZXhfcndsZW4gPSAwOwogCSAgICAgIGNvbnRpbnVlOwogCSAgICB9CkBAIC01NjEzLDIyICs1OTA5LDM1IEBACiAJICAgICAgaWYgKFNUUkVRTiAocmV0ICsgcmV0aW5kIC0gNCwgImNhc2UiLCA0KSkKIHsKIAkJdGZsYWdzIHw9IExFWF9JTkNBU0U7Ci0vKml0cmFjZSgicGFyc2VfY29tc3ViOiVkOiBmb3VuZCBgY2FzZScsIGxleF9pbmNhc2UgLT4gMSIsIGxpbmVfbnVtYmVyKTsqLworLyppdHJhY2UoInBhcnNlX2NvbXN1YjolZDogZm91bmQgYGNhc2UnLCBsZXhfaW5jYXNlIC0+IDEgbGV4X3Jlc3dkb2sgLT4gMCIsIGxpbmVfbnVtYmVyKTsqLwogfQogCSAgICAgIGVsc2UgaWYgKFNUUkVRTiAocmV0ICsgcmV0aW5kIC0gNCwgImVzYWMiLCA0KSkKIHsKIAkJdGZsYWdzICY9IH5MRVhfSU5DQVNFOwotLyppdHJhY2UoInBhcnNlX2NvbXN1YjolZDogZm91bmQgYGVzYWMnLCBsZXhfaW5jYXNlIC0+IDAiLCBsaW5lX251bWJlcik7Ki8KKy8qaXRyYWNlKCJwYXJzZV9jb21zdWI6JWQ6IGZvdW5kIGBlc2FjJywgbGV4X2luY2FzZSAtPiAwIGxleF9yZXN3ZG9rIC0+IDAiLCBsaW5lX251bWJlcik7Ki8KIH0JICAgICAgICAKIAkgICAgICB0ZmxhZ3MgJj0gfkxFWF9SRVNXRE9LOwogCSAgICB9Ci0JICBlbHNlIGlmIChzaGVsbGJyZWFrIChjaCkgPT0gMCkKKwkgIGVsc2UgaWYgTUJURVNUKCh0ZmxhZ3MgJiBMRVhfQ0tDT01NRU5UKSAmJiBjaCA9PSAnIycgJiYgKGxleF9yd2xlbiA9PSAwIHx8ICgodGZsYWdzICYgTEVYX0lOV09SRCkgJiYgbGV4X3dsZW4gPT0gMCkpKQorCSAgICA7CS8qIGRvbid0IG1vZGlmeSBMRVhfUkVTV0RPSyBpZiB3ZSdyZSBzdGFydGluZyBhIGNvbW1lbnQgKi8KKwkgIGVsc2UgaWYgTUJURVNUKCh0ZmxhZ3MgJiBMRVhfSU5DQVNFKSAmJiBjaCAhPSAnXG4nKQorCSAgICAvKiBJZiB3ZSBjYW4gcmVhZCBhIHJlc2VydmVkIHdvcmQgYW5kIHdlJ3JlIGluIGNhc2UsIHdlJ3JlIGF0IHRoZQorCSAgICAgICBwb2ludCB3aGVyZSB3ZSBjYW4gcmVhZCBhIG5ldyBwYXR0ZXJuIGxpc3Qgb3IgYW4gZXNhYy4gIFdlCisJICAgICAgIGhhbmRsZSB0aGUgZXNhYyBjYXNlIGFib3ZlLiAgSWYgd2UgcmVhZCBhIG5ld2xpbmUsIHdlIHdhbnQgdG8KKwkgICAgICAgbGVhdmUgTEVYX1JFU1dET0sgYWxvbmUuICBJZiB3ZSByZWFkIGFueXRoaW5nIGVsc2UsIHdlIHdhbnQgdG8KKwkgICAgICAgdHVybiBvZmYgTEVYX1JFU1dET0ssIHNpbmNlIHdlJ3JlIGdvaW5nIHRvIHJlYWQgYSBwYXR0ZXJuIGxpc3QuICovCiB7Ci0JICAgICAgdGZsYWdzICY9IH5MRVhfUkVTV0RPSzsKKwkgICAgdGZsYWdzICY9IH5MRVhfUkVTV0RPSzsKKy8qaXRyYWNlKCJwYXJzZV9jb21zdWI6JWQ6IGxleF9pbmNhc2UgPT0gMSBmb3VuZCBgJWMnLCBsZXhfcmVzd29yZG9rIC0+IDAiLCBsaW5lX251bWJlciwgY2gpOyovCit9CisJICBlbHNlIGlmIE1CVEVTVChzaGVsbGJyZWFrIChjaCkgPT0gMCkKK3sKKwkgICAgdGZsYWdzICY9IH5MRVhfUkVTV0RPSzsKIC8qaXRyYWNlKCJwYXJzZV9jb21zdWI6JWQ6IGZvdW5kIGAlYycsIGxleF9yZXN3b3Jkb2sgLT4gMCIsIGxpbmVfbnVtYmVyLCBjaCk7Ki8KIH0KIAl9CiAKKyAgICAgIC8qIE1pZ2h0IGJlIHRoZSBzdGFydCBvZiBhIGhlcmUtZG9jIGRlbGltaXRlciAqLwogICAgICAgaWYgTUJURVNUKCh0ZmxhZ3MgJiBMRVhfSU5DT01NRU5UKSA9PSAwICYmICh0ZmxhZ3MgJiBMRVhfQ0tDQVNFKSAmJiBjaCA9PSAnPCcpCiAJewogCSAgLyogQWRkIHRoaXMgY2hhcmFjdGVyLiAqLwpAQCAtNTY1MiwzNiArNTk2MSwyMyBAQAogCQl9CiAJICAgICAgZWxzZQogCQlzaGVsbF91bmdldGMgKHBlZWtjKTsKLQkgICAgICB0ZmxhZ3MgfD0gTEVYX0hFUkVERUxJTTsKLQkgICAgICBsZXhfZmlyc3RpbmQgPSAtMTsKKwkgICAgICBpZiAocGVla2MgIT0gJzwnKQorCQl7CisJCSAgdGZsYWdzIHw9IExFWF9IRVJFREVMSU07CisJCSAgbGV4X2ZpcnN0aW5kID0gLTE7CisJCX0KIAkgICAgICBjb250aW51ZTsKIAkgICAgfQogCSAgZWxzZQotCSAgICBjaCA9IHBlZWtjOwkJLyogZmFsbCB0aHJvdWdoIGFuZCBjb250aW51ZSBYWFggLSB0aGlzIHNraXBzIGNvbW1lbnRzIGlmIHBlZWtjID09ICcjJyAqLworCSAgICBjaCA9IHBlZWtjOwkJLyogZmFsbCB0aHJvdWdoIGFuZCBjb250aW51ZSBYWFggKi8KIAl9Ci0gICAgICAvKiBOb3QgZXhhY3RseSByaWdodCB5ZXQsIHNob3VsZCBoYW5kbGUgc2hlbGwgbWV0YWNoYXJhY3RlcnMsIHRvby4gIElmCi0JIGFueSBjaGFuZ2VzIGFyZSBtYWRlIHRvIHRoaXMgdGVzdCwgbWFrZSBhbmFsb2dvdXMgY2hhbmdlcyB0byBzdWJzdC5jOgotCSBleHRyYWN0X2RlbGltaXRlZF9zdHJpbmcoKS4gKi8KLSAgICAgIGVsc2UgaWYgTUJURVNUKCh0ZmxhZ3MgJiBMRVhfQ0tDT01NRU5UKSAmJiAodGZsYWdzICYgTEVYX0lOQ09NTUVOVCkgPT0gMCAmJiBjaCA9PSAnIycgJiYgKHJldGluZCA9PSAwIHx8IHJldFtyZXRpbmQtMV0gPT0gJ1xuJyB8fCBzaGVsbGJsYW5rIChyZXRbcmV0aW5kIC0gMV0pKSkKKyAgICAgIGVsc2UgaWYgTUJURVNUKCh0ZmxhZ3MgJiBMRVhfQ0tDT01NRU5UKSAmJiAodGZsYWdzICYgTEVYX0lOQ09NTUVOVCkgPT0gMCAmJiBjaCA9PSAnIycgJiYgKCgodGZsYWdzICYgTEVYX1JFU1dET0spICYmIGxleF9yd2xlbiA9PSAwKSB8fCAoKHRmbGFncyAmIExFWF9JTldPUkQpICYmIGxleF93bGVuID09IDApKSkKK3sKKy8qaXRyYWNlKCJwYXJzZV9jb21zdWI6JWQ6IGxleF9pbmNvbW1lbnQgLT4gMSAoJWQpIiwgbGluZV9udW1iZXIsIF9fTElORV9fKTsqLwogCXRmbGFncyB8PSBMRVhfSU5DT01NRU5UOworfQogCi0gICAgICBpZiAodGZsYWdzICYgTEVYX1BBU1NORVhUKQkJLyogbGFzdCBjaGFyIHdhcyBiYWNrc2xhc2ggKi8KLQl7Ci0JICB0ZmxhZ3MgJj0gfkxFWF9QQVNTTkVYVDsKLQkgIGlmIChxYyAhPSAnXCcnICYmIGNoID09ICdcbicpCS8qIGRvdWJsZS1xdW90ZWQgXDxuZXdsaW5lPiBkaXNhcHBlYXJzLiAqLwotCSAgICB7Ci0JICAgICAgaWYgKHJldGluZCA+IDApCi0JCXJldGluZC0tOwkvKiBzd2FsbG93IHByZXZpb3VzbHktYWRkZWQgYmFja3NsYXNoICovCi0JICAgICAgY29udGludWU7Ci0JICAgIH0KLQotCSAgUkVTSVpFX01BTExPQ0VEX0JVRkZFUiAocmV0LCByZXRpbmQsIDIsIHJldHNpemUsIDY0KTsKLQkgIGlmIE1CVEVTVChjaCA9PSBDVExFU0MgfHwgY2ggPT0gQ1RMTlVMKQotCSAgICByZXRbcmV0aW5kKytdID0gQ1RMRVNDOwotCSAgcmV0W3JldGluZCsrXSA9IGNoOwotCSAgY29udGludWU7Ci0JfQotICAgICAgZWxzZSBpZiBNQlRFU1QoY2ggPT0gQ1RMRVNDIHx8IGNoID09IENUTE5VTCkJLyogc3BlY2lhbCBzaGVsbCBlc2NhcGVzICovCisgICAgICBpZiBNQlRFU1QoY2ggPT0gQ1RMRVNDIHx8IGNoID09IENUTE5VTCkJLyogc3BlY2lhbCBzaGVsbCBlc2NhcGVzICovCiAJewogCSAgUkVTSVpFX01BTExPQ0VEX0JVRkZFUiAocmV0LCByZXRpbmQsIDIsIHJldHNpemUsIDY0KTsKIAkgIHJldFtyZXRpbmQrK10gPSBDVExFU0M7CkBAIC01Njk4LDcgKzU5OTQsMTAgQEAKIC8qaXRyYWNlKCJwYXJzZV9jb21zdWI6JWQ6IGZvdW5kIGNsb3NlOiBjb3VudCA9ICVkIiwgbGluZV9udW1iZXIsIGNvdW50KTsqLwogfQogICAgICAgZWxzZSBpZiBNQlRFU1QoKChmbGFncyAmIFBfRklSU1RDTE9TRSkgPT0gMCkgJiYgKHRmbGFncyAmIExFWF9JTkNBU0UpID09IDAgJiYgY2ggPT0gb3BlbikJLyogbmVzdGVkIGJlZ2luICovCit7CiAJY291bnQrKzsKKy8qaXRyYWNlKCJwYXJzZV9jb21zdWI6JWQ6IGZvdW5kIG9wZW46IGNvdW50ID0gJWQiLCBsaW5lX251bWJlciwgY291bnQpOyovCit9CiAKICAgICAgIC8qIEFkZCB0aGlzIGNoYXJhY3Rlci4gKi8KICAgICAgIFJFU0laRV9NQUxMT0NFRF9CVUZGRVIgKHJldCwgcmV0aW5kLCAxLCByZXRzaXplLCA2NCk7CkBAIC02MTE0LDcgKzY0MTMsMTMgQEAKICAgICAgIC8qIGJpbm9wICovCiAgICAgICB0b2sgPSByZWFkX3Rva2VuIChSRUFEKTsKICAgICAgIGlmICh0b2sgPT0gV09SRCAmJiB0ZXN0X2Jpbm9wICh5eWx2YWwud29yZC0+d29yZCkpCi0Jb3AgPSB5eWx2YWwud29yZDsKKwl7CisJICBvcCA9IHl5bHZhbC53b3JkOworCSAgaWYgKG9wLT53b3JkWzBdID09ICc9JyAmJiAob3AtPndvcmRbMV0gPT0gJ1wwJyB8fCAob3AtPndvcmRbMV0gPT0gJz0nICYmIG9wLT53b3JkWzJdID09ICdcMCcpKSkKKwkgICAgcGFyc2VyX3N0YXRlIHw9IFBTVF9FWFRQQVQ7CisJICBlbHNlIGlmIChvcC0+d29yZFswXSA9PSAnIScgJiYgb3AtPndvcmRbMV0gPT0gJz0nICYmIG9wLT53b3JkWzJdID09ICdcMCcpCisJICAgIHBhcnNlcl9zdGF0ZSB8PSBQU1RfRVhUUEFUOworCX0KICNpZiBkZWZpbmVkIChDT05EX1JFR0VYUCkKICAgICAgIGVsc2UgaWYgKHRvayA9PSBXT1JEICYmIFNUUkVRICh5eWx2YWwud29yZC0+d29yZCwgIj1+IikpCiAJewpAQCAtNjE1MCw4ICs2NDU1LDEzIEBACiAJfQogCiAgICAgICAvKiByaHMgKi8KKyAgICAgIGlmIChwYXJzZXJfc3RhdGUgJiBQU1RfRVhUUEFUKQorCWV4dGVuZGVkX2dsb2IgPSAxOwogICAgICAgdG9rID0gcmVhZF90b2tlbiAoUkVBRCk7Ci0gICAgICBwYXJzZXJfc3RhdGUgJj0gflBTVF9SRUdFWFA7CisgICAgICBpZiAocGFyc2VyX3N0YXRlICYgUFNUX0VYVFBBVCkKKwlleHRlbmRlZF9nbG9iID0gZ2xvYmFsX2V4dGdsb2I7CisgICAgICBwYXJzZXJfc3RhdGUgJj0gfihQU1RfUkVHRVhQfFBTVF9FWFRQQVQpOworCiAgICAgICBpZiAodG9rID09IFdPUkQpCiAJewogCSAgdHJpZ2h0ID0gbWFrZV9jb25kX25vZGUgKENPTkRfVEVSTSwgeXlsdmFsLndvcmQsIChDT05EX0NPTSAqKU5VTEwsIChDT05EX0NPTSAqKU5VTEwpOwpAQCAtNjE5Niw2ICs2NTA2LDcgQEAKIHsKICAgQ09ORF9DT00gKmNleHA7CiAKKyAgZ2xvYmFsX2V4dGdsb2IgPSBleHRlbmRlZF9nbG9iOwogICBjZXhwID0gY29uZF9leHByICgpOwogICByZXR1cm4gKG1ha2VfY29uZF9jb21tYW5kIChjZXhwKSk7CiB9CkBAIC02NTA2LDcgKzY4MTcsNyBAQAogCQkgICAgICgodG9rZW5faW5kZXggPiAwICYmIGFzc2lnbm1lbnRfYWNjZXB0YWJsZSAobGFzdF9yZWFkX3Rva2VuKSAmJiB0b2tlbl9pc19pZGVudCAodG9rZW4sIHRva2VuX2luZGV4KSkgfHwKIAkJICAgICAgKHRva2VuX2luZGV4ID09IDAgJiYgKHBhcnNlcl9zdGF0ZSZQU1RfQ09NUEFTU0lHTikpKSkKICAgICAgICAgewotCSAgdHRvayA9IHBhcnNlX21hdGNoZWRfcGFpciAoY2QsICdbJywgJ10nLCAmdHRva2xlbiwgMCk7CisJICB0dG9rID0gcGFyc2VfbWF0Y2hlZF9wYWlyIChjZCwgJ1snLCAnXScsICZ0dG9rbGVuLCBQX0FSUkFZU1VCKTsKIAkgIGlmICh0dG9rID09ICZtYXRjaGVkX3BhaXJfZXJyb3IpCiAJICAgIHJldHVybiAtMTsJCS8qIEJhaWwgaW1tZWRpYXRlbHkuICovCiAJICBSRVNJWkVfTUFMTE9DRURfQlVGRkVSICh0b2tlbiwgdG9rZW5faW5kZXgsIHR0b2tsZW4gKyAyLApAQCAtNjY2OCw2ICs2OTc5LDE5IEBACiAKICAgeXlsdmFsLndvcmQgPSB0aGVfd29yZDsKIAorICBpZiAodG9rZW5bMF0gPT0gJ3snICYmIHRva2VuW3Rva2VuX2luZGV4LTFdID09ICd9JyAmJgorICAgICAgKGNoYXJhY3RlciA9PSAnPCcgfHwgY2hhcmFjdGVyID09ICc+JykpCisgICAgeworICAgICAgLyogY2FuIHVzZSB0b2tlbjsgYWxyZWFkeSBjb3BpZWQgdG8gdGhlX3dvcmQgKi8KKyAgICAgIHRva2VuW3Rva2VuX2luZGV4LTFdID0gJ1wwJzsKKyAgICAgIGlmIChsZWdhbF9pZGVudGlmaWVyICh0b2tlbisxKSkKKwl7CisJICBzdHJjcHkgKHRoZV93b3JkLT53b3JkLCB0b2tlbisxKTsKKy8qaXRyYWNlKCJyZWFkX3Rva2VuX3dvcmQ6IHJldHVybmluZyBSRURJUl9XT1JEIGZvciAlcyIsIHRoZV93b3JkLT53b3JkKTsqLworCSAgcmV0dXJuIChSRURJUl9XT1JEKTsKKwl9CisgICAgfQorCiAgIHJlc3VsdCA9ICgodGhlX3dvcmQtPmZsYWdzICYgKFdfQVNTSUdOTUVOVHxXX05PU1BMSVQpKSA9PSAoV19BU1NJR05NRU5UfFdfTk9TUExJVCkpCiAJCT8gQVNTSUdOTUVOVF9XT1JEIDogV09SRDsKIApAQCAtNjcwNyw2ICs3MDMxLDcgQEAKICAgICBjYXNlICd9JzoJCS8qIFhYWCAqLwogICAgIGNhc2UgQU5EX0FORDoKICAgICBjYXNlIEJBTkc6CisgICAgY2FzZSBCQVJfQU5EOgogICAgIGNhc2UgRE86CiAgICAgY2FzZSBET05FOgogICAgIGNhc2UgRUxJRjoKQEAgLTY4NTcsNyArNzE4Miw3IEBACiB7CiAgIGNoYXIgKnRlbXBfcHJvbXB0OwogCi0gIGlmIChpbnRlcmFjdGl2ZSA9PSAwIHx8IGV4cGFuZGluZ19hbGlhcygpKQkvKiBYWFggKi8KKyAgaWYgKGludGVyYWN0aXZlID09IDAgfHwgZXhwYW5kaW5nX2FsaWFzICgpKQkvKiBYWFggKi8KICAgICByZXR1cm47CiAKICAgcHMxX3Byb21wdCA9IGdldF9zdHJpbmdfdmFsdWUgKCJQUzEiKTsKQEAgLTY5NTMsNyArNzI3OCw3IEBACiAgIFdPUkRfTElTVCAqbGlzdDsKICAgY2hhciAqcmVzdWx0LCAqdDsKICAgc3RydWN0IGRzdGFjayBzYXZlX2RzdGFjazsKLSAgaW50IGxhc3RfZXhpdF92YWx1ZTsKKyAgaW50IGxhc3RfZXhpdF92YWx1ZSwgbGFzdF9jb21zdWJfcGlkOwogI2lmIGRlZmluZWQgKFBST01QVF9TVFJJTkdfREVDT0RFKQogICBpbnQgcmVzdWx0X3NpemUsIHJlc3VsdF9pbmRleDsKICAgaW50IGMsIG4sIGk7CkBAIC03MTQwLDYgKzc0NjUsMTMgQEAKIAkJICB9CiAJCXRfc3RyaW5nW3RsZW5dID0gJ1wwJzsKIAorI2lmIGRlZmluZWQgKE1BQ09TWCkKKwkJLyogQ29udmVydCBmcm9tICJmcyIgZm9ybWF0IHRvICJpbnB1dCIgZm9ybWF0ICovCisJCXRlbXAgPSBmbnhfZnJvbWZzICh0X3N0cmluZywgc3RybGVuICh0X3N0cmluZykpOworCQlpZiAodGVtcCAhPSB0X3N0cmluZykKKwkJICBzdHJjcHkgKHRfc3RyaW5nLCB0ZW1wKTsKKyNlbmRpZgorCiAjZGVmaW5lIFJPT1RfUEFUSCh4KQkoKHgpWzBdID09ICcvJyAmJiAoeClbMV0gPT0gMCkKICNkZWZpbmUgRE9VQkxFX1NMQVNIX1JPT1QoeCkJKCh4KVswXSA9PSAnLycgJiYgKHgpWzFdID09ICcvJyAmJiAoeClbMl0gPT0gMCkKIAkJLyogQWJicmV2aWF0ZSBcVyBhcyB+IGlmICRQV0QgPT0gJEhPTUUgKi8KQEAgLTcyOTQsMTEgKzc2MjYsMTMgQEAKICAgaWYgKHByb21wdHZhcnMgfHwgcG9zaXhseV9jb3JyZWN0KQogICAgIHsKICAgICAgIGxhc3RfZXhpdF92YWx1ZSA9IGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlOworICAgICAgbGFzdF9jb21zdWJfcGlkID0gbGFzdF9jb21tYW5kX3N1YnN0X3BpZDsKICAgICAgIGxpc3QgPSBleHBhbmRfcHJvbXB0X3N0cmluZyAocmVzdWx0LCBRX0RPVUJMRV9RVU9URVMsIDApOwogICAgICAgZnJlZSAocmVzdWx0KTsKICAgICAgIHJlc3VsdCA9IHN0cmluZ19saXN0IChsaXN0KTsKICAgICAgIGRpc3Bvc2Vfd29yZHMgKGxpc3QpOwogICAgICAgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPSBsYXN0X2V4aXRfdmFsdWU7CisgICAgICBsYXN0X2NvbW1hbmRfc3Vic3RfcGlkID0gbGFzdF9jb21zdWJfcGlkOwogICAgIH0KICAgZWxzZQogICAgIHsKQEAgLTc0NDEsNyArNzc3NSw3IEBACiAgICAgICBwYXJzZXJfZXJyb3IgKGxpbmVfbnVtYmVyLCAiJXMiLCBtZXNzYWdlKTsKICAgICAgIGlmIChpbnRlcmFjdGl2ZSAmJiBFT0ZfUmVhY2hlZCkKIAlFT0ZfUmVhY2hlZCA9IDA7Ci0gICAgICBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZSA9IEVYX1VTQUdFOworICAgICAgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPSBwYXJzZV9hbmRfZXhlY3V0ZV9sZXZlbCA/IEVYX0JBRFNZTlRBWCA6IEVYX0JBRFVTQUdFOwogICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNzQ1Niw3ICs3NzkwLDcgQEAKICAgICAgIGlmIChpbnRlcmFjdGl2ZSA9PSAwKQogCXByaW50X29mZmVuZGluZ19saW5lICgpOwogCi0gICAgICBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZSA9IEVYX1VTQUdFOworICAgICAgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPSBwYXJzZV9hbmRfZXhlY3V0ZV9sZXZlbCA/IEVYX0JBRFNZTlRBWCA6IEVYX0JBRFVTQUdFOwogICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNzQ4Nyw3ICs3ODIxLDcgQEAKIAlFT0ZfUmVhY2hlZCA9IDA7CiAgICAgfQogCi0gIGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlID0gRVhfVVNBR0U7CisgIGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlID0gcGFyc2VfYW5kX2V4ZWN1dGVfbGV2ZWwgPyBFWF9CQURTWU5UQVggOiBFWF9CQURVU0FHRTsKIH0KIAogLyogPz8/IE5lZWRlZCBmdW5jdGlvbi4gPz8/IFdlIGhhdmUgdG8gYmUgYWJsZSB0byBkaXNjYXJkIHRoZSBjb25zdHJ1Y3RzCmRpZmYgLS1naXQgYS95LnRhYi5oIGIveS50YWIuaAppbmRleCA1NTJkN2FkLi4xM2U4NTUwIDEwMDY0NAotLS0gYS95LnRhYi5oCisrKyBiL3kudGFiLmgKQEAgLTYzLDI3ICs2MywyOCBAQAogICAgICBUSU1FT1BUID0gMjc5LAogICAgICBXT1JEID0gMjgwLAogICAgICBBU1NJR05NRU5UX1dPUkQgPSAyODEsCi0gICAgIE5VTUJFUiA9IDI4MiwKLSAgICAgQVJJVEhfQ01EID0gMjgzLAotICAgICBBUklUSF9GT1JfRVhQUlMgPSAyODQsCi0gICAgIENPTkRfQ01EID0gMjg1LAotICAgICBBTkRfQU5EID0gMjg2LAotICAgICBPUl9PUiA9IDI4NywKLSAgICAgR1JFQVRFUl9HUkVBVEVSID0gMjg4LAotICAgICBMRVNTX0xFU1MgPSAyODksCi0gICAgIExFU1NfQU5EID0gMjkwLAotICAgICBMRVNTX0xFU1NfTEVTUyA9IDI5MSwKLSAgICAgR1JFQVRFUl9BTkQgPSAyOTIsCi0gICAgIFNFTUlfU0VNSSA9IDI5MywKLSAgICAgU0VNSV9BTkQgPSAyOTQsCi0gICAgIFNFTUlfU0VNSV9BTkQgPSAyOTUsCi0gICAgIExFU1NfTEVTU19NSU5VUyA9IDI5NiwKLSAgICAgQU5EX0dSRUFURVIgPSAyOTcsCi0gICAgIEFORF9HUkVBVEVSX0dSRUFURVIgPSAyOTgsCi0gICAgIExFU1NfR1JFQVRFUiA9IDI5OSwKLSAgICAgR1JFQVRFUl9CQVIgPSAzMDAsCi0gICAgIEJBUl9BTkQgPSAzMDEsCi0gICAgIHlhY2NfRU9GID0gMzAyCisgICAgIFJFRElSX1dPUkQgPSAyODIsCisgICAgIE5VTUJFUiA9IDI4MywKKyAgICAgQVJJVEhfQ01EID0gMjg0LAorICAgICBBUklUSF9GT1JfRVhQUlMgPSAyODUsCisgICAgIENPTkRfQ01EID0gMjg2LAorICAgICBBTkRfQU5EID0gMjg3LAorICAgICBPUl9PUiA9IDI4OCwKKyAgICAgR1JFQVRFUl9HUkVBVEVSID0gMjg5LAorICAgICBMRVNTX0xFU1MgPSAyOTAsCisgICAgIExFU1NfQU5EID0gMjkxLAorICAgICBMRVNTX0xFU1NfTEVTUyA9IDI5MiwKKyAgICAgR1JFQVRFUl9BTkQgPSAyOTMsCisgICAgIFNFTUlfU0VNSSA9IDI5NCwKKyAgICAgU0VNSV9BTkQgPSAyOTUsCisgICAgIFNFTUlfU0VNSV9BTkQgPSAyOTYsCisgICAgIExFU1NfTEVTU19NSU5VUyA9IDI5NywKKyAgICAgQU5EX0dSRUFURVIgPSAyOTgsCisgICAgIEFORF9HUkVBVEVSX0dSRUFURVIgPSAyOTksCisgICAgIExFU1NfR1JFQVRFUiA9IDMwMCwKKyAgICAgR1JFQVRFUl9CQVIgPSAzMDEsCisgICAgIEJBUl9BTkQgPSAzMDIsCisgICAgIHlhY2NfRU9GID0gMzAzCiAgICB9OwogI2VuZGlmCiAvKiBUb2tlbnMuICAqLwpAQCAtMTExLDM0ICsxMTIsMzUgQEAKICNkZWZpbmUgVElNRU9QVCAyNzkKICNkZWZpbmUgV09SRCAyODAKICNkZWZpbmUgQVNTSUdOTUVOVF9XT1JEIDI4MQotI2RlZmluZSBOVU1CRVIgMjgyCi0jZGVmaW5lIEFSSVRIX0NNRCAyODMKLSNkZWZpbmUgQVJJVEhfRk9SX0VYUFJTIDI4NAotI2RlZmluZSBDT05EX0NNRCAyODUKLSNkZWZpbmUgQU5EX0FORCAyODYKLSNkZWZpbmUgT1JfT1IgMjg3Ci0jZGVmaW5lIEdSRUFURVJfR1JFQVRFUiAyODgKLSNkZWZpbmUgTEVTU19MRVNTIDI4OQotI2RlZmluZSBMRVNTX0FORCAyOTAKLSNkZWZpbmUgTEVTU19MRVNTX0xFU1MgMjkxCi0jZGVmaW5lIEdSRUFURVJfQU5EIDI5MgotI2RlZmluZSBTRU1JX1NFTUkgMjkzCi0jZGVmaW5lIFNFTUlfQU5EIDI5NAotI2RlZmluZSBTRU1JX1NFTUlfQU5EIDI5NQotI2RlZmluZSBMRVNTX0xFU1NfTUlOVVMgMjk2Ci0jZGVmaW5lIEFORF9HUkVBVEVSIDI5NwotI2RlZmluZSBBTkRfR1JFQVRFUl9HUkVBVEVSIDI5OAotI2RlZmluZSBMRVNTX0dSRUFURVIgMjk5Ci0jZGVmaW5lIEdSRUFURVJfQkFSIDMwMAotI2RlZmluZSBCQVJfQU5EIDMwMQotI2RlZmluZSB5YWNjX0VPRiAzMDIKKyNkZWZpbmUgUkVESVJfV09SRCAyODIKKyNkZWZpbmUgTlVNQkVSIDI4MworI2RlZmluZSBBUklUSF9DTUQgMjg0CisjZGVmaW5lIEFSSVRIX0ZPUl9FWFBSUyAyODUKKyNkZWZpbmUgQ09ORF9DTUQgMjg2CisjZGVmaW5lIEFORF9BTkQgMjg3CisjZGVmaW5lIE9SX09SIDI4OAorI2RlZmluZSBHUkVBVEVSX0dSRUFURVIgMjg5CisjZGVmaW5lIExFU1NfTEVTUyAyOTAKKyNkZWZpbmUgTEVTU19BTkQgMjkxCisjZGVmaW5lIExFU1NfTEVTU19MRVNTIDI5MgorI2RlZmluZSBHUkVBVEVSX0FORCAyOTMKKyNkZWZpbmUgU0VNSV9TRU1JIDI5NAorI2RlZmluZSBTRU1JX0FORCAyOTUKKyNkZWZpbmUgU0VNSV9TRU1JX0FORCAyOTYKKyNkZWZpbmUgTEVTU19MRVNTX01JTlVTIDI5NworI2RlZmluZSBBTkRfR1JFQVRFUiAyOTgKKyNkZWZpbmUgQU5EX0dSRUFURVJfR1JFQVRFUiAyOTkKKyNkZWZpbmUgTEVTU19HUkVBVEVSIDMwMAorI2RlZmluZSBHUkVBVEVSX0JBUiAzMDEKKyNkZWZpbmUgQkFSX0FORCAzMDIKKyNkZWZpbmUgeWFjY19FT0YgMzAzCiAKIAogCiAKICNpZiAhIGRlZmluZWQgWVlTVFlQRSAmJiAhIGRlZmluZWQgWVlTVFlQRV9JU19ERUNMQVJFRAogdHlwZWRlZiB1bmlvbiBZWVNUWVBFCi0jbGluZSAzMTYgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMzIwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKIHsKICAgV09SRF9ERVNDICp3b3JkOwkJLyogdGhlIHdvcmQgdGhhdCB3ZSByZWFkLiAqLwogICBpbnQgbnVtYmVyOwkJCS8qIHRoZSBudW1iZXIgdGhhdCB3ZSByZWFkLiAqLwpAQCAtMTQ5LDcgKzE1MSw3IEBACiAgIFBBVFRFUk5fTElTVCAqcGF0dGVybjsKIH0KIC8qIExpbmUgMTQ4OSBvZiB5YWNjLmMuICAqLwotI2xpbmUgMTUzICJ5LnRhYi5oIgorI2xpbmUgMTU1ICJ5LnRhYi5oIgogCVlZU1RZUEU7CiAjIGRlZmluZSB5eXN0eXBlIFlZU1RZUEUgLyogb2Jzb2xlc2NlbnQ7IHdpbGwgYmUgd2l0aGRyYXduICovCiAjIGRlZmluZSBZWVNUWVBFX0lTX0RFQ0xBUkVEIDEK